gcc.c-torture/compile/20020604-1.c ICEs if compiled with -O3 -fomit-frame-pointer -mcpu=5485.
Here is a reduced testcase min.c. unsigned int foo (unsigned int n) { float c[8192]; unsigned int i; unsigned int d = 0; union { float r; unsigned int i; } e; for (i = 0; i < n; i++) { e.r = c[i]; d = e.i; } return d; } I get: $ ./cc1 -quiet -O3 -fomit-frame-pointer -mcpu=5485 min.c min.c: In function 'foo': min.c:17: error: insn does not satisfy its constraints: (insn 42 73 43 5 min.c:13 (set (mem/s/c:SF (plus:SI (reg/f:SI 15 %sp) (reg:SI 2 %d2)) [0 e.r+0 S4 A16]) (mem/s:SF (post_inc:SI (reg:SI 8 %a0 [orig:55 ivtmp.30 ] [55])) [3 c S4 A16])) 46 {movsf_cf_hard} (expr_list:REG_INC (reg:SI 8 %a0 [orig:55 ivtmp.30 ] [55]) (nil))) min.c:17: internal compiler error: in reload_cse_simplify_operands, at postreload.c:396 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. A quick analysis shows that the following appears in min.c.172r.greg. (insn 42 73 43 5 min.c:13 (set (mem/s/c:SF (plus:SI (reg/f:SI 15 %sp) (reg:SI 2 %d2)) [0 e.r+0 S4 A16]) (mem/s:SF (post_inc:SI (reg:SI 8 %a0 [orig:55 ivtmp.30 ] [55])) [3 c S4 A16])) 46 {movsf_cf_hard} (expr_list:REG_INC (reg:SI 8 %a0 [orig:55 ivtmp.30 ] [55]) (nil))) Notice that SET_SRC has an address of the form SP + D2, which is invalid on ColdFire. -- Summary: gcc.c-torture/compile/20020604-1.c ICEs Product: gcc Version: 4.3.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: kazu at gcc dot gnu dot org GCC target triplet: m68k-elf http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32423