------- Additional Comments From dann at godzilla dot ics dot uci dot edu 2005-08-25 05:43 ------- The issue is the peephole2 pass in 4.1. Before it the insn looks like:
(insn:HI 36 34 37 0 (set (mem/i:SI (symbol_ref:SI ("waiting_for_initial_map") [flags 0x40] <var_decl 0xb7b71898 waiting_for_initial_map>) [7 waiting_for_initial_map+0 S4 A32]) (const_int 0 [0x0])) 34 {*movsi_1} (nil) (nil)) and after: (insn 58 34 59 0 (parallel [ (set (reg:SI 2 cx) (const_int 0 [0x0])) (clobber (reg:CC 17 flags)) ]) -1 (nil) (expr_list:REG_UNUSED (reg:CC 17 flags) (nil))) (insn 59 58 37 0 (set (mem/i:SI (symbol_ref:SI ("waiting_for_initial_map") [flags 0x40] <var_decl 0xb7b71898 waiting_for_initial_map>) [7 waiting_for_initial_map+0 S4 A32]) (reg:SI 2 cx)) -1 (nil) (expr_list:REG_DEAD (reg:SI 2 cx) (nil))) 4.0 uses "ax" instead of "cx". %eax is free at that point, so it is strange that it's not used in 4.1 -- What |Removed |Added ---------------------------------------------------------------------------- BugsThisDependsOn|18427 | OtherBugsDependingO| |23153 nThis| | Keywords|ra | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23523