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 target/49781] [x32] Unnecessary lea in x32 mode


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49781

--- Comment #30 from Uros Bizjak <ubizjak at gmail dot com> 2011-08-07 13:09:23 UTC ---
(In reply to comment #29)
> Created attachment 24938 [details]
> WIP patch that exploits addr32.

BTW: This patch also fixes following FAIL in [1]:

FAIL: gcc.target/i386/pr39543-3.c (test for excess errors)

and exposes interesting problem in combine in 

FAIL: gcc.target/i386/pr43766.c scan-assembler-not lea[lq]?[ \\t]

where combine converts zero_extended address on-the-fly to an address involving
and.  We can also recognize this as a valid address.

Trying 9 -> 10:
Failed to match this instruction:
(prefetch (and:DI (subreg:DI (plus:SI (ashift:SI (reg/v:SI 63 [ i ])
                    (const_int 2 [0x2]))
                (subreg:SI (reg/v/f:DI 62 [ a ]) 0)) 0)
        (const_int 4294967295 [0xffffffff]))
    (const_int 0 [0])
    (const_int 3 [0x3]))

[1] http://gcc.gnu.org/ml/gcc-testresults/2011-08/msg00601.html


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