avx512f-vfixupimmpd-2.c: Fix the test cases for VFIXUPIMM* intrinsics.
authorWei Xiao <wei3.xiao@intel.com>
Thu, 17 Jan 2019 10:01:07 +0000 (10:01 +0000)
committerXuepeng Guo <xguo@gcc.gnu.org>
Thu, 17 Jan 2019 10:01:07 +0000 (10:01 +0000)
gcc/testsuite/ChangeLog
2019-01-17  Wei Xiao  <wei3.xiao@intel.com>

* gcc.target/i386/avx512f-vfixupimmpd-2.c: Fix the test cases for
VFIXUPIMM* intrinsics.
* gcc.target/i386/avx512f-vfixupimmps-2.c: Ditto.
* gcc.target/i386/avx512f-vfixupimmsd-2.c: Ditto.
* gcc.target/i386/avx512f-vfixupimmss-2.c: Ditto.

From-SVN: r268014

gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/avx512f-vfixupimmpd-2.c
gcc/testsuite/gcc.target/i386/avx512f-vfixupimmps-2.c
gcc/testsuite/gcc.target/i386/avx512f-vfixupimmsd-2.c
gcc/testsuite/gcc.target/i386/avx512f-vfixupimmss-2.c

index f65833a1742d93cf8ca0dca2f39becce812dbf99..7eeb89acd63fd13e447ebc9676d94edadba8e717 100644 (file)
@@ -2,7 +2,6 @@
 
        PR target/88794
        Revert:
-
        2018-11-06  Wei Xiao  <wei3.xiao@intel.com>
 
        * config/i386/avx512fintrin.h: Update VFIXUPIMM* intrinsics.
index 60b308bc234e79b6fab5dcd6090cfe37b9b5701d..5425e8261a1499bcd45c991db37f64c6575a6999 100644 (file)
@@ -1,3 +1,11 @@
+2019-01-17  Wei Xiao  <wei3.xiao@intel.com>
+
+       * gcc.target/i386/avx512f-vfixupimmpd-2.c: Fix the test cases for
+       VFIXUPIMM* intrinsics.
+       * gcc.target/i386/avx512f-vfixupimmps-2.c: Ditto.
+       * gcc.target/i386/avx512f-vfixupimmsd-2.c: Ditto.
+       * gcc.target/i386/avx512f-vfixupimmss-2.c: Ditto.
+
 2019-01-17  Wei Xiao  <wei3.xiao@intel.com>
 
        PR target/88794
index 7ce980632db6fbf6847ab7aeaab936059bcb67a7..98b5ed1c1c7f3781131f4fa677c9839e55d760a0 100644 (file)
 
 
 static void
-CALC (double *r, double src, long long tbl)
+CALC (double *r, double dest, double src, long long tbl)
 {
   switch (tbl & 0xf)
     {
     case 0:
-      *r = src;
+      *r = dest;
       break;
     case 1:
       *r = src;
@@ -81,7 +81,7 @@ TEST (void)
 
 
   float vals[2] = { -10, 10 };
-  int controls[8] = {0x11111111, 0x77777777, 0x77777777, 0x88888888,
+  int controls[8] = {0, 0x11111111, 0x77777777, 0x88888888,
     0x99999999, 0xaaaaaaaa, 0xbbbbbbbb, 0xcccccccc};
 
   MASK_TYPE mask = MASK_VALUE;
@@ -96,7 +96,7 @@ TEST (void)
          res2.a[j] = DEFAULT_VALUE;
          res3.a[j] = DEFAULT_VALUE;
 
-         CALC (&res_ref[j], s1.a[j], s2.a[j]);
+         CALC (&res_ref[j], res1.a[j], s1.a[j], s2.a[j]);
        }
 
       res1.x = INTRINSIC (_fixupimm_pd) (res1.x, s1.x, s2.x, 0);
index ffd899eaa507e0029773b35dbed2ea3b36e9cb13..e5a917f121cc7d88013b3cfe77a225a3d042ada1 100644 (file)
 #include "float.h"
 
 static void
-CALC (float *r, float src, int tbl)
+CALC (float *r, float dest, float src, int tbl)
 {
   switch (tbl & 0xf)
     {
     case 0:
-      *r = src;
+      *r = dest;
       break;
     case 1:
       *r = src;
@@ -81,8 +81,8 @@ TEST (void)
 
 
   float vals[2] = { -10, 10 };
-  int controls[16] = { 0x11111111,
-    0x77777777, 0x88888888, 0x99999999,
+  int controls[16] = { 0,
+    0x11111111, 0x88888888, 0x99999999,
     0xaaaaaaaa, 0xbbbbbbbb, 0xcccccccc,
     0x77777777, 0x88888888, 0x99999999,
     0xaaaaaaaa, 0xbbbbbbbb, 0xcccccccc,
@@ -101,7 +101,7 @@ TEST (void)
          res2.a[j] = DEFAULT_VALUE;
          res3.a[j] = DEFAULT_VALUE;
 
-         CALC (&res_ref[j], s1.a[j], s2.a[j]);
+         CALC (&res_ref[j], res1.a[j], s1.a[j], s2.a[j]);
        }
 
       res1.x = INTRINSIC (_fixupimm_ps) (res1.x, s1.x, s2.x, 0);
index 62c8d4eff14a8d5f3503d041daf3a10a0a916a46..d3cd28cbeef50b3bf26a25da446ca5c7881abb20 100644 (file)
 #include "avx512f-mask-type.h"
 
 void
-compute_fixupimmpd (double *r, double src, long long tbl)
+compute_fixupimmpd (double *r, double dest, double src, long long tbl)
 {
   switch (tbl & 0xf)
     {
     case 0:
-      *r = src;
+      *r = dest;
       break;
     case 1:
       *r = src;
@@ -76,7 +76,7 @@ avx512f_test (void)
   int i, j;
 
   float vals[2] = { -10, 10 };
-  int controls[10] = { 0x11111111,
+  int controls[10] = { 0,
     0x77777777, 0x88888888, 0x99999999,
     0xaaaaaaaa, 0xbbbbbbbb, 0xcccccccc,
     0xdddddddd, 0xeeeeeeee, 0xffffffff
@@ -98,7 +98,7 @@ avx512f_test (void)
       for (j = 0; j < 10; j++)
        {
          s2.a[0] = controls[j];
-         compute_fixupimmpd (&res_ref[0], s1.a[0], s2.a[0]);
+         compute_fixupimmpd (&res_ref[0], res1.a[0], s1.a[0], s2.a[0]);
 
          res1.x = _mm_fixupimm_sd (res1.x, s1.x, s2.x, 0);
          res2.x = _mm_mask_fixupimm_sd (res2.x, mask, s1.x, s2.x, 0);
index 26f45a09497852ae9d69e823e8e1fae49ea0ab9e..7364cc5b9a951926f119aec6d1327fea3da4dd7a 100644 (file)
 #include "avx512f-mask-type.h"
 
 void
-compute_fixupimmps (float *r, float src, int tbl)
+compute_fixupimmps (float *r, float dest, float src, int tbl)
 {
   switch (tbl & 0xf)
     {
     case 0:
-      *r = src;
+      *r = dest;
       break;
     case 1:
       *r = src;
@@ -76,7 +76,7 @@ avx512f_test (void)
   int i, j, k;
 
   float vals[2] = { -10, 10 };
-  int controls[10] = { 0x11111111,
+  int controls[10] = { 0,
     0x77777777, 0x88888888, 0x99999999,
     0xaaaaaaaa, 0xbbbbbbbb, 0xcccccccc,
     0xdddddddd, 0xeeeeeeee, 0xffffffff
@@ -99,7 +99,7 @@ avx512f_test (void)
       for (j = 0; j < 10; j++)
        {
          s2.a[0] = controls[j];
-         compute_fixupimmps (&res_ref[0], s1.a[0], s2.a[0]);
+         compute_fixupimmps (&res_ref[0], res1.a[0], s1.a[0], s2.a[0]);
 
          res1.x = _mm_fixupimm_ss (res1.x, s1.x, s2.x, 0);
          res2.x = _mm_mask_fixupimm_ss (res2.x, mask, s1.x, s2.x, 0);