* config/i386/constraints.md (Ya): New internal constraint.
authoruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 4 Mar 2012 18:54:26 +0000 (18:54 +0000)
committeruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 4 Mar 2012 18:54:26 +0000 (18:54 +0000)
commitad7970974060d7c5d0c64569471f3bdc63f4f4b6
treea9b085983c2d89253ef49e8584d287926a4f06a1
parent370eb9fa3715c10e3af0426832f00d0055d96314
* config/i386/constraints.md (Ya): New internal constraint.
* config/i386/i386.md (zero_extendsidi2): Remove expansion.
(*zero_extendsidi2_rex64): Add x,x alternative.
(*zero_extendsidi2): Ditto.  Add o,0 alternative.
Remove flags reg clobber.  Adjust corresponding splits.
(zero_extend<mode>si2): Macroize expander from zero_extendhisi2 and
zero_extendqisi2 expanders using SWI12 mode iterator.
(zero_extend<mode>si2_and): Macroize insn from
zero_extendhisi2_and and zero_extendqisi2_and.  Merge corresponding
splitters.
(*zero_extend<mode>si2):  Macroize insn from
*zero_extendhisi2_movzbl and *zero_extendqisi2_movzbl.
(*zero_extend*2_movzbl_and): Remove insn patterns.
(zero_extendqihi2_and): Merge corresponding splitter.
(*zero_extendqihi2): Rename from *zero_extendqihi2_movzbl.
(*zero_extend*2_movzbl_and): Remove insn patterns.
(*anddi_1): Split TYPE_IMOVX instructions.
(*andsi_1): Use Ya for alternative 2.  Split TYPE_IMOVX instructions.
(*andhi_1): Ditto.
(and->zext splitter): Add splitter pattern.
(zero extend with andsi3 splitter): Adjust zero_extend pattern.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@184891 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/i386/constraints.md
gcc/config/i386/i386.md