ICE in reload_cse_simplify_operands in thumb-1 mode

Bug #629671 reported by Loïc Minier
16
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Linaro GCC
Fix Released
Low
Julian Brown
4.4
Fix Released
Low
Julian Brown
4.5
Fix Released
Low
Julian Brown
Linaro GCC Tracking
Fix Released
Undecided
Unassigned
gcc-4.4 (Ubuntu)
Fix Released
Medium
Unassigned
gcc-4.5 (Ubuntu)
Fix Released
Medium
Unassigned

Bug Description

Hi

as reported by Mariano Alvira <email address hidden> on linaro-dev:

$ arm-linux-gnueabi-gcc-4.5 -Os -march=armv4t -c -o tests.o tests.c
tests.c: In function 'bad':
tests.c:17:1: error: insn does not satisfy its constraints:
(insn 22 14 16 2 tests.c:14 (set (reg/f:SI 3 r3 [144])
        (reg/f:SI 13 sp)) 168 {*thumb1_movsi_insn_osize} (nil))
tests.c:17:1: internal compiler error: in reload_cse_simplify_operands, at postreload.c:396
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.5/README.Bugs> for instructions.

(same with gcc-4.4)

this passes with -marm or with -march=armv6t2, but not with armv4t, armv5t, or armv6

attaching test case tests.c

Bye,

Tags: 46merge ice

Related branches

Revision history for this message
Loïc Minier (lool) wrote :
Revision history for this message
Loïc Minier (lool) wrote :

Reproducible with hrw's gcc-4.5-arm-linux-gnueabi 4.5.1-2ubuntu2, gcc-4.4-arm-linux-gnueabi 4.4.4-8ubuntu1hrw1, and with Ubuntu's gcc-4.5 4.5.1-2ubuntu2 (has Linaro 4.5-2010.08-1) natively.

Changed in gcc-linaro:
importance: Undecided → Low
status: New → Confirmed
Revision history for this message
Loïc Minier (lool) wrote :

I'm putting that as Confirmed since two people see the bug and as Low since it's apparently Thumb-1 only.

Revision history for this message
Michael Hope (michaelh1) wrote :

Problem does not exist in gcc-linaro-4.5-2010.09-1 or gcc-linaro-4.4-2010.09-1.

Tracked it down a bit further. The insn that fails to match is introduced by debian/patches/armel-hilo-union-class.diff which is a fix for gfortran.dg/vector_subscript_1.f90.

Next step is to see if vector_subscript_1.f90 fails in upstream and, if not, revert the patch.

Matthias Klose (doko)
Changed in gcc-4.4 (Ubuntu):
importance: Undecided → High
status: New → Confirmed
importance: High → Medium
Changed in gcc-4.5 (Ubuntu):
importance: Undecided → Medium
status: New → Confirmed
Michael Hope (michaelh1)
tags: added: ice
Revision history for this message
Julian Brown (julian-codesourcery) wrote :
Revision history for this message
Julian Brown (julian-codesourcery) wrote :

The above-mentioned patch is not yet present on the Linaro 4.5 branch.

Revision history for this message
Michael Hope (michaelh1) wrote :

Thank you. Could you please backport it to Linaro GCC 4.5. I'll decide what to do about 4.4.

Michael Hope (michaelh1)
Changed in gcc-linaro:
milestone: none → 4.5-2010.12-0
Revision history for this message
Michael Hope (michaelh1) wrote :

Julian, could you please backport this to Linaro GCC 4.4 as well?

Revision history for this message
Levak (levak92) wrote :

Confirmed with gcc-4.5
What I have to do to fix it ?

Revision history for this message
Michael Hope (michaelh1) wrote :

Hi Levak. It depends on what you want to do. I believe that the gcc-4.5 package that comes with Maverick has this bug, but the gcc that comes with Natty does not. Send me an email at michael.hope at linaro.org and we can talk further.

Revision history for this message
Julian Brown (julian-codesourcery) wrote :

I'm testing the backport to Linaro GCC 4.4.

Revision history for this message
Matthias Klose (doko) wrote :

fixed in 4.5.1-12ubuntu1 (Ubuntu natty)

Changed in gcc-4.5 (Ubuntu):
status: Confirmed → Fix Released
Revision history for this message
Matthias Klose (doko) wrote :

Fixed in gcc-4.4 4.4.5-10ubuntu1 (Ubuntu natty)

Changed in gcc-4.4 (Ubuntu):
status: Confirmed → Fix Released
Revision history for this message
Andrew Stubbs (ams-codesourcery) wrote :

Adding tracking for upstream submission ...

Related: lp:gcc-linaro/4.5,revno=99433

Changed in gcc-linaro-tracking:
milestone: none → 4.7.0
Revision history for this message
Andrew Stubbs (ams-codesourcery) wrote :

Oh, apparently this is a backport that didn't get labelled in the changelog. Marking as upstream.

Changed in gcc-linaro-tracking:
milestone: 4.7.0 → 4.6.0
status: New → Fix Committed
tags: added: 46merge
Changed in gcc-linaro-tracking:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Related blueprints

Bug attachments

Remote bug watches

Bug watches keep track of this bug in other bug trackers.