sse.md (VI4SD_AVX2): Removed.
authorJakub Jelinek <jakub@redhat.com>
Fri, 28 Oct 2011 10:28:40 +0000 (12:28 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Fri, 28 Oct 2011 10:28:40 +0000 (12:28 +0200)
commitee3b466d6584e531f0739a5d51ee7c8fc8af6bb5
tree19e42a84a5ec5ece294d2fbe5d30e7f1d07038e9
parentef6f874e5c574ba301d2498150e5432ec89668b6
sse.md (VI4SD_AVX2): Removed.

* config/i386/sse.md (VI4SD_AVX2): Removed.
(VI48_AVX2, VI128_128, VI48_128, VI48_256): New mode iterators.
(vashl<mode>3): Use VI12_128 iterator instead of VI124_128.
Add another expander using VI48_128 iterator for
TARGET_AVX2 || TARGET_XOP and another using VI48_256 iterator
for TARGET_AVX2.
(vlshr<mode>3): Likewise.  Change register_operand predicate to
nonimmediate_operand on last operand in the VI12_128 expander.
(vashr<mode>3): Use VI128_128 iterator instead of VI124_128.
(vashrv4si3, vashrv8si3): New expanders.
(avx2_ashrvv8si, avx2_ashrvv4si, avx2_<lshift>vv8si,
avx2_<lshift>vv2di): Removed.
(avx2_ashrv<mode>): New insn with VI4_AVX2 iterator.
(avx2_<lshift>v<mode>): Macroize using VI48_AVX2
iterator.  Simplify pattern.

* gcc.dg/vshift-1.c: New test.
* gcc.dg/vshift-2.c: New test.
* gcc.target/i386/xop-vshift-1.c: New test.
* gcc.target/i386/xop-vshift-2.c: New test.
* gcc.target/i386/avx2-vshift-1.c: New test.

From-SVN: r180609
gcc/ChangeLog
gcc/config/i386/sse.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/vshift-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vshift-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx2-vshift-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/xop-vshift-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/xop-vshift-2.c [new file with mode: 0644]