[Bug rtl-optimization/55093] [4.8 Regression] [x32] -maddress-mode=long failed
hjl.tools at gmail dot com
gcc-bugzilla@gcc.gnu.org
Mon Oct 29 00:11:00 GMT 2012
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55093
H.J. Lu <hjl.tools at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #28541|0 |1
is obsolete| |
--- Comment #4 from H.J. Lu <hjl.tools at gmail dot com> 2012-10-29 00:10:37 UTC ---
Created attachment 28552
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=28552
A smaller testcase
LRA failed to handle
(insn 34 32 35 4 (parallel [
(set (reg:SI 79)
(plus:SI (subreg:SI (reg/f:DI 16 argp) 0)
(const_int 4 [0x4])))
(clobber (reg:CC 17 flags))
]) x.ii:63 247 {*addsi_1}
(expr_list:REG_UNUSED (reg:CC 17 flags)
(expr_list:REG_EQUIV (plus:SI (subreg:SI (reg/f:DI 16 argp) 0)
(const_int 4 [0x4]))
(nil))))
The old reload eliminates argp:
(insn 34 49 35 4 (parallel [
(set (reg:SI 4 si [79])
(plus:SI (reg:SI 4 si [79])
(const_int 20 [0x14])))
(clobber (reg:CC 17 flags))
]) x.ii:63 247 {*addsi_1}
(expr_list:REG_EQUIV (plus:SI (subreg:SI (plus:DI (reg/f:DI 7 sp)
(const_int 16 [0x10])) 0)
(const_int 4 [0x4]))
(nil)))
while LRA keeps:
(insn 34 32 35 4 (parallel [
(set (reg:SI 4 si [79])
(plus:SI (reg:SI 16 argp)
(const_int 20 [0x14])))
(clobber (reg:CC 17 flags))
]) x.ii:63 247 {*addsi_1}
(expr_list:REG_UNUSED (reg:CC 17 flags)
(expr_list:REG_EQUIV (plus:SI (subreg:SI (reg/f:DI 16 argp) 0)
(const_int 4 [0x4]))
(nil))))
More information about the Gcc-bugs
mailing list