http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53961
--- Comment #21 from uros at gcc dot gnu.org 2012-08-02 16:24:35 UTC ---
Author: uros
Date: Thu Aug  2 16:24:25 2012
New Revision: 190089

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=190089
Log:
    Backport from mainline
    2012-07-24  Uros Bizjak  <ubiz...@gmail.com>

    PR target/53961
    * config/i386/i386.c (ix86_legitimate_address_p): Move check for
    negative constant address for TARGET_X32 ...
    (ix86_decompose_address): ... here.  Reject constant addresses
    that don't satisfy x86_64_immediate_operand predicate.

    2012-07-23  Uros Bizjak  <ubiz...@gmail.com>

    PR target/53961
    * config/i386/i386.md (*lea): Add asserts to detect invalid addresses.
    * config/i386/i386.c (ix86_print_operand_address): Ditto.
    (ix86_decompose_address): Allow (zero_extend:DI (subreg:SI (...)))
    addresses.  Prevent zero extensions of CONST_INT operands.

    2012-07-22  Uros Bizjak  <ubiz...@gmail.com>

    PR target/53961
    * config/i386/i386.md (*lea): New insn pattern.
    (*lea_1): Remove.
    (*lea<mode>_2): Ditto.
    (*lea_{3,4,5,6}_zext): Ditto.
    * config/i386/predicates.md (lea_address_operand): Do not reject
    zero-extended address operands.
    * config/i386/constraints.md (j): Remove address constraint.
    * config/i386/i386.c (ix86_decompose_address): Allow SImode subreg
    of an address.
    (ix86_print_operand_address): Handle SImode subreg of an address.
    (ix86_avoid_lea_for_addr): Reject zero-extended addresses for now.


Modified:
    branches/gcc-4_7-branch/gcc/ChangeLog
    branches/gcc-4_7-branch/gcc/config/i386/constraints.md
    branches/gcc-4_7-branch/gcc/config/i386/i386.c
    branches/gcc-4_7-branch/gcc/config/i386/i386.md
    branches/gcc-4_7-branch/gcc/config/i386/predicates.md

Reply via email to