i386.md (*push<mode>2): Use "o" constraint instead of "m" for operand 0.
authorUros Bizjak <uros@gcc.gnu.org>
Fri, 5 Aug 2011 15:30:07 +0000 (17:30 +0200)
committerUros Bizjak <uros@gcc.gnu.org>
Fri, 5 Aug 2011 15:30:07 +0000 (17:30 +0200)
commit24911a5088aa3e48ff4e0cf0f731957b9cbfc28f
treec42c020dc1284f9710e2c45fe2f26893925e43da
parent8f05249cf12d0448270f9b4b5bad982e55c967ad
i386.md (*push<mode>2): Use "o" constraint instead of "m" for operand 0.

* config/i386/i386.md (*push<mode>2): Use "o" constraint instead
of "m" for operand 0.  Add type and mode attribute.
(*pushxf_nointeger"): Use "<" constraint for operand 0.
(*pushdf_rex64): New pattern, split out of *pushdf.  Use "m"
constraint instead of "o" for opreand 1.
(*pushdf): Disable for TARGET_64BIT.  Correct mode attribute.

* config/i386/predicates.md (lea_address_operand): Rename from
no_seg_address_operand.
* config/i386/i386.md (*lea_1): Update operand 1 predicate for rename.
(*lea_1_zext): Ditto.
(*lea_2): Ditto.
(*lea_2_zext): Ditto.

* config/i386/i386.c (ix86_print_operand_address): Handle SUBREGs of
parts.base and parts.index.
* config/i386/predicates.md (aligned_operand): Ditto.
(cmpxchg8b_pic_memory_operand): Ditto.

From-SVN: r177456
gcc/ChangeLog
gcc/config/i386/i386.c
gcc/config/i386/i386.md
gcc/config/i386/predicates.md