[Bug rtl-optimization/23523] code size regression on x86
dann at godzilla dot ics dot uci dot edu
gcc-bugzilla@gcc.gnu.org
Thu Aug 25 06:02:00 GMT 2005
------- 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
More information about the Gcc-bugs
mailing list