------- Comment #1 from pinskia at gcc dot gnu dot org 2005-10-07 19:58 ------- Confirmed, a regression from 4.0.0.
I think this is a target bug as you had: (set (mem:DF (plus:SI (reg/f:SI 7 sp) (const_int 8 [0x8])) [0 S8 A32]) (const_double:DF -858993460 [0xcccccccc] 2.00000000000000011102230246251565404236316680908e-1 [0x0.ccccccccccccdp-2])) before loop-invariant but after, you have: (insn 21 16 17 0 (set (reg:DF 64) + (const_double:DF -858993460 [0xcccccccc] 2.00000000000000011102230246251565404236316680908e-1 [0x0.ccccccccccccdp-2])) -1 (nil) + (nil)) Unless -fmove-loop-invariants is not calling emit_move_insn which might be the issue. -- pinskia at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Component|rtl-optimization |target Ever Confirmed|0 |1 Keywords| |ice-on-valid-code Known to fail| |4.1.0 Known to work| |4.0.0 Last reconfirmed|0000-00-00 00:00:00 |2005-10-07 19:58:56 date| | Summary|ICE: in extract_insn, at |[4.1 Regression] ICE: in |recog.c:2084 with -O -fgcse |extract_insn, at |-fmove-loop-invariants - |recog.c:2084 with -O -fgcse |mtune=pentiumpro |-fmove-loop-invariants - | |mtune=pentiumpro Target Milestone|--- |4.1.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24265