The test-case to be attached "works" with 4.0.2. For revision 106478 of "Fri Nov 4 03:11:30 UTC 2005", I get /tmp/st18.c: In function âfâ: /tmp/st18.c:73: error: insn does not satisfy its constraints: (insn:QI 84 518 85 9 (set (cc0) (mem:QI (plus:SI (sign_extend:SI (reg:HI 10 r10)) (reg:SI 1 r1)) [0 S1 A8])) 3 {tstqi} (nil) (nil)) /tmp/st18.c:73: internal compiler error: in reload_cse_simplify_operands, at postreload.c:393
It looks like reload trips over its confusion from reloading this insn: (insn:QI 84 83 85 9 (set (cc0) (mem:QI (plus:SI (sign_extend:SI (mem:HI (post_inc:SI (reg/f:SI 12 r12 [orig:58 ivtmp.158 ] [58])) [2 S2 A8])) (reg/v/f:SI 16 srp [orig:68 c0 ] [68])) [0 S1 A8])) 3 {tstqi} (nil) (expr_list:REG_INC (reg/f:SI 12 r12 [orig:58 ivtmp.158 ] [58]) (nil))) where (reg:SI 16), "srp" is not valid in an address. -- Summary: [4.1 regression] global-alloc (reload) trips over own confusion for unexpected addressing modes Product: gcc Version: 4.1.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: middle-end AssignedTo: hp at gcc dot gnu dot org ReportedBy: hp at gcc dot gnu dot org GCC host triplet: x86_64-unknown-linux-gnu GCC target triplet: cris-axis-elf http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24750