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

Uros Bizjak <ubizjak at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #24918|0                           |1
        is obsolete|                            |
             Status|UNCONFIRMED                 |ASSIGNED
   Last reconfirmed|                            |2011.08.07 12:53:50
         AssignedTo|unassigned at gcc dot       |ubizjak at gmail dot com
                   |gnu.org                     |
     Ever Confirmed|0                           |1

--- Comment #29 from Uros Bizjak <ubizjak at gmail dot com> 2011-08-07 12:53:50 UTC ---
Created attachment 24938
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=24938
WIP patch that exploits addr32.

New version of patch for testing. Survives bootstrap + regtest on
x86_64-pc-linux-gnu.

2011-08-07  Uros Bizjak  <ubizjak@gmail.com>

    PR target/49781
    * config/i386/i386.c (ix86_decompose_address): Allow zero-extended
    SImode addresses.
    (ix86_print_operand_address): Handle zero-extended addresses.
    (memory_address_length): Add length of addr32 prefix for
    zero-extended addresses.
    (ix86_secondary_reload): Handle moves to/from double-word general
    registers from/to zero-extended addresses.
    * config/i386/predicates.md (lea_address_operand): Reject
    zero-extended operands.


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