aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hongjiu.lu@intel.com>2010-06-14 17:44:29 +0000
committerH.J. Lu <hjl@gcc.gnu.org>2010-06-14 10:44:29 -0700
commit808081b47f28975725f1a648cb92632a7a399be5 (patch)
treecd688933e8309aa7ab9aea9d1e7277d85fb8ca7d
parentaa4936945e79262bad9152c984cadb387d342fb6 (diff)
downloadgcc-808081b47f28975725f1a648cb92632a7a399be5.zip
gcc-808081b47f28975725f1a648cb92632a7a399be5.tar.gz
gcc-808081b47f28975725f1a648cb92632a7a399be5.tar.bz2
Replace 0x1 with 0x0 in AVX vec_extract_lo_* patterns.
gcc/ 2010-06-14 H.J. Lu <hongjiu.lu@intel.com> PR target/44534 * config/i386/sse.md (vec_extract_lo_<mode>): Replace 0x1 with 0x0. (vec_extract_lo_v16hi): Likewise. (vec_extract_lo_v32qi): Likewise. gcc/testsuite/ 2010-06-14 H.J. Lu <hongjiu.lu@intel.com> PR target/44534 * gcc.target/i386/avx-vextractf128-256-3.c: New. * gcc.target/i386/avx-vextractf128-256-4.c: Likewise. From-SVN: r160756
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/config/i386/sse.md6
-rw-r--r--gcc/testsuite/ChangeLog6
-rw-r--r--gcc/testsuite/gcc.target/i386/avx-vextractf128-256-3.c7
-rw-r--r--gcc/testsuite/gcc.target/i386/avx-vextractf128-256-4.c7
5 files changed, 31 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8dc51e6..206b848 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2010-06-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/44534
+ * config/i386/sse.md (vec_extract_lo_<mode>): Replace 0x1 with
+ 0x0.
+ (vec_extract_lo_v16hi): Likewise.
+ (vec_extract_lo_v32qi): Likewise.
+
2010-06-14 Jakub Jelinek <jakub@redhat.com>
PR bootstrap/44426
diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md
index d154f07..7625906 100644
--- a/gcc/config/i386/sse.md
+++ b/gcc/config/i386/sse.md
@@ -4213,7 +4213,7 @@
(parallel [(const_int 0) (const_int 1)
(const_int 2) (const_int 3)])))]
"TARGET_AVX"
- "vextractf128\t{$0x1, %1, %0|%0, %1, 0x1}"
+ "vextractf128\t{$0x0, %1, %0|%0, %1, 0x0}"
[(set_attr "type" "sselog")
(set_attr "prefix_extra" "1")
(set_attr "length_immediate" "1")
@@ -4245,7 +4245,7 @@
(const_int 4) (const_int 5)
(const_int 6) (const_int 7)])))]
"TARGET_AVX"
- "vextractf128\t{$0x1, %1, %0|%0, %1, 0x1}"
+ "vextractf128\t{$0x0, %1, %0|%0, %1, 0x0}"
[(set_attr "type" "sselog")
(set_attr "prefix_extra" "1")
(set_attr "length_immediate" "1")
@@ -4283,7 +4283,7 @@
(const_int 12) (const_int 13)
(const_int 14) (const_int 15)])))]
"TARGET_AVX"
- "vextractf128\t{$0x1, %1, %0|%0, %1, 0x1}"
+ "vextractf128\t{$0x0, %1, %0|%0, %1, 0x0}"
[(set_attr "type" "sselog")
(set_attr "prefix_extra" "1")
(set_attr "length_immediate" "1")
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 4492f0d..6a2a8e8 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2010-06-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/44534
+ * gcc.target/i386/avx-vextractf128-256-3.c: New.
+ * gcc.target/i386/avx-vextractf128-256-4.c: Likewise.
+
2010-06-14 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/44508
diff --git a/gcc/testsuite/gcc.target/i386/avx-vextractf128-256-3.c b/gcc/testsuite/gcc.target/i386/avx-vextractf128-256-3.c
new file mode 100644
index 0000000..b7d4a37
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/avx-vextractf128-256-3.c
@@ -0,0 +1,7 @@
+/* { dg-do run } */
+/* { dg-require-effective-target avx } */
+/* { dg-options "-O2 -mavx" } */
+
+#define OFFSET 0
+
+#include "avx-vextractf128-256-1.c"
diff --git a/gcc/testsuite/gcc.target/i386/avx-vextractf128-256-4.c b/gcc/testsuite/gcc.target/i386/avx-vextractf128-256-4.c
new file mode 100644
index 0000000..973fa58
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/avx-vextractf128-256-4.c
@@ -0,0 +1,7 @@
+/* { dg-do run } */
+/* { dg-require-effective-target avx } */
+/* { dg-options "-O2 -mavx" } */
+
+#define OFFSET 0
+
+#include "avx-vextractf128-256-2.c"