]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR target/63428 (vshuf-v4di.c miscompilation)
authorJakub Jelinek <jakub@redhat.com>
Wed, 1 Oct 2014 20:47:29 +0000 (22:47 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Wed, 1 Oct 2014 20:47:29 +0000 (22:47 +0200)
PR target/63428
* config/i386/i386.c (expand_vec_perm_pshufb): Fix up rperm[0]
argument to avx2_permv2ti.

* gcc.dg/torture/vshuf-4.inc: Move test 122 from EXPTESTS
to test 24 in TESTS.

From-SVN: r215781

gcc/ChangeLog
gcc/config/i386/i386.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/torture/vshuf-4.inc

index 7112e15d926850e6a34fb19e96a299f7503624e3..23bfb747424c113aba89f4a518d222e30f8bdac1 100644 (file)
@@ -1,3 +1,9 @@
+2014-10-01  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/63428
+       * config/i386/i386.c (expand_vec_perm_pshufb): Fix up rperm[0]
+       argument to avx2_permv2ti.
+
 2014-10-01  Uros Bizjak  <ubizjak@gmail.com>
 
        Backport from mainline
index 4ad76bd7fcca307faedf9249cee5d03cc26b0385..568e574f0d4741649beb95308a9950a5f6ceca8c 100644 (file)
@@ -38811,8 +38811,8 @@ expand_vec_perm_pshufb (struct expand_vec_perm_d *d)
              op0 = gen_lowpart (V4DImode, d->op0);
              op1 = gen_lowpart (V4DImode, d->op1);
              rperm[0]
-               = GEN_INT (((d->perm[0] & (nelt / 2)) ? 1 : 0)
-                          || ((d->perm[nelt / 2] & (nelt / 2)) ? 2 : 0));
+               = GEN_INT ((d->perm[0] / (nelt / 2))
+                          | ((d->perm[nelt / 2] / (nelt / 2)) * 16));
              emit_insn (gen_avx2_permv2ti (target, op0, op1, rperm[0]));
              return true;
            }
index e06517d20eabdd0e207f6a65f7f54a38b1f16fad..6398f2f2f678d77f32ce30c5d4127e253d32c950 100644 (file)
@@ -1,3 +1,9 @@
+2014-10-01  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/63428
+       * gcc.dg/torture/vshuf-4.inc: Move test 122 from EXPTESTS
+       to test 24 in TESTS.
+
 2014-10-01  Uros Bizjak  <ubizjak@gmail.com>
 
        Backport from mainline
index c50fa8e9dd573b82597bf4930b6f2f8545dede52..d0cb7387ca36c8b5de4e458c6dae4a1abd12e5d4 100644 (file)
@@ -23,7 +23,8 @@ T (19,        3, 2, 1, 0) \
 T (20, 0, 4, 1, 5) \
 T (21, 2, 6, 3, 7) \
 T (22, 1, 2, 3, 0) \
-T (23, 2, 1, 0, 3)
+T (23, 2, 1, 0, 3) \
+T (24, 2, 5, 6, 3)
 #define EXPTESTS \
 T (116,        1, 2, 4, 3) \
 T (117,        7, 3, 3, 0) \
@@ -31,7 +32,6 @@ T (118,       5, 3, 2, 7) \
 T (119,        0, 3, 5, 6) \
 T (120,        0, 0, 1, 5) \
 T (121,        4, 6, 2, 1) \
-T (122,        2, 5, 6, 3) \
 T (123,        4, 6, 3, 2) \
 T (124,        4, 7, 5, 6) \
 T (125,        0, 4, 2, 4) \