------- Additional Comments From steven at gcc dot gnu dot org 2005-04-10 17:39 ------- The offending insn is created by emit_move_insn in loop.c, here: 2354 start_sequence (); 2355 emit_move_insn (m->insert_temp ? newreg : m->set_dest, 2356 m->set_src); 2357 seq = get_insns (); 2358 end_sequence (); (gdb) p debug_rtx_list (seq, 10) (insn 45 0 46 (set (reg:DI 69) (mem/u/c:DI (const:DI (unspec:DI [ (symbol_ref:DI ("bar") [flags 0x40] <var_decl 0x2a95a2f000 bar>) ] 2)) [0 S8 A8])) -1 (nil) (nil)) (insn 46 45 0 (set (reg/f:DI 67) (plus:DI (reg:DI 69) (const_int 2147483648 [0x80000000]))) -1 (nil) (expr_list:REG_EQUAL (const:DI (plus:DI (symbol_ref:DI ("bar") [flags 0x40] <var_decl 0x2a95a2f000 bar>) (const_int 2147483648 [0x80000000]))) (nil)))
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20928