OSDN Git Service

Replace 0x1 with 0x0 in AVX vec_extract_lo_* patterns.
authorhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 14 Jun 2010 17:44:29 +0000 (17:44 +0000)
committerhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 14 Jun 2010 17:44:29 +0000 (17:44 +0000)
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@160756 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/i386/sse.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/avx-vextractf128-256-3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx-vextractf128-256-4.c [new file with mode: 0644]

index 8dc51e6..206b848 100644 (file)
@@ -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
index d154f07..7625906 100644 (file)
          (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")
                     (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")
                     (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")
index 4492f0d..6a2a8e8 100644 (file)
@@ -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 (file)
index 0000000..b7d4a37
--- /dev/null
@@ -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 (file)
index 0000000..973fa58
--- /dev/null
@@ -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"