------- Additional Comments From steven at gcc dot gnu dot org 2005-04-10 16:08 ------- Double *sigh*. The old loop optimizer introduces the offending insn. From the .loop dump: Insn 26: regno 70 (life 1), move-insn forces 25 savings 1 moved to 56 Hoisted regno 74 r/o from (mem/u/c:DI (const:DI (unspec:DI [ (symbol_ref:DI ("symbol_tab_data") [flags 0x40] <var_decl 0x2a95a36270 symbol_tab_data>) ] 2)) [0 S8 A8]) ... (insn 56 55 51 0 (set (reg/f:DI 70) (plus:DI (reg:DI 73) (const_int 1125899906842624 [0x4000000000000]))) -1 (nil) (expr_list:REG_EQUAL (const:DI (plus:DI (symbol_ref:DI ("symbol_tab_data") [flags 0x40] <var_decl 0x2a95a36270 symbol_tab_data>) (const_int 1125899906842624 [0x4000000000000]))) (nil)))
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20928