This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug rtl-optimization/55093] [4.8 Regression] [x32] -maddress-mode=long failed


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))))


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]