[Bug target/49781] [x32] Unnecessary lea in x32 mode

ubizjak at gmail dot com gcc-bugzilla@gcc.gnu.org
Sun Aug 7 12:54:00 GMT 2011


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.



More information about the Gcc-bugs mailing list