summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/i386/avx-extract-1.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2011-09-16 21:14:36 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2011-09-16 21:14:36 +0200
commit6e2cb3913952ef1b7fd31f4f5b8754f55f689d9a (patch)
tree63520943d260db2da79353c5616960e263cdd8ba /gcc/testsuite/gcc.target/i386/avx-extract-1.c
parent6deb519753e07d167eda75bced5a7987a57f0a03 (diff)
downloadgcc-6e2cb3913952ef1b7fd31f4f5b8754f55f689d9a.tar.gz
sse.md (vec_extract_hi_<mode>, [...]): Use vextracti128 instead of vextractf128 for -mavx2 and integer vectors.
* config/i386/sse.md (vec_extract_hi_<mode>, vec_extract_hi_v16hi, vec_extract_hi_v32qi): Use vextracti128 instead of vextractf128 for -mavx2 and integer vectors. For V4DFmode fix up mode attribute. (VEC_EXTRACT_MODE): For TARGET_AVX add 32-byte vectors. (vec_set_lo_<mode>, vec_set_hi_<mode>): For VI8F_256 modes use V4DF instead of V8SF mode attribute. (avx2_extracti128): Change into define_expand. * config/i386/i386.c (ix86_expand_vector_extract): Handle 32-byte vector modes if TARGET_AVX. * gcc.target/i386/sse2-extract-1.c: New test. * gcc.target/i386/avx-extract-1.c: New test. From-SVN: r178915
Diffstat (limited to 'gcc/testsuite/gcc.target/i386/avx-extract-1.c')
-rw-r--r--gcc/testsuite/gcc.target/i386/avx-extract-1.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.target/i386/avx-extract-1.c b/gcc/testsuite/gcc.target/i386/avx-extract-1.c
new file mode 100644
index 00000000000..2684125f52a
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/avx-extract-1.c
@@ -0,0 +1,5 @@
+/* { dg-do run } */
+/* { dg-options "-O2 -mavx" } */
+/* { dg-require-effective-target avx_runtime } */
+
+#include "sse2-extract-1.c"