]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
avx512fintrin.h (_mm512_maskz_permutexvar_epi64): Swap arguments order in builtin.
authorKirill Yukhin <kirill.yukhin@intel.com>
Mon, 17 Feb 2014 11:26:08 +0000 (11:26 +0000)
committerKirill Yukhin <kyukhin@gcc.gnu.org>
Mon, 17 Feb 2014 11:26:08 +0000 (11:26 +0000)
gcc/
* config/i386/avx512fintrin.h (_mm512_maskz_permutexvar_epi64): Swap
arguments order in builtin.
(_mm512_permutexvar_epi64): Ditto.
(_mm512_mask_permutexvar_epi64): Ditto
(_mm512_maskz_permutexvar_epi32): Ditto
(_mm512_permutexvar_epi32): Ditto
(_mm512_mask_permutexvar_epi32): Ditto

gcc/testsuite/
* gcc.target/i386/avx512f-vpermd-2.c: Fix reference calculations.
* gcc.target/i386/avx512f-vpermpd-2.c: Ditto.
* gcc.target/i386/avx512f-vpermps-2.c: Ditto.
* gcc.target/i386/avx512f-vpermq-var-2.c: Ditto.

Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
From-SVN: r207821

gcc/ChangeLog
gcc/config/i386/avx512fintrin.h
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/avx512f-vpermd-2.c
gcc/testsuite/gcc.target/i386/avx512f-vpermpd-2.c
gcc/testsuite/gcc.target/i386/avx512f-vpermps-2.c
gcc/testsuite/gcc.target/i386/avx512f-vpermq-var-2.c

index a448f37cb72fb02ee8afb4229473ef6ba12390b7..f05956d62ab016ebfdc34239a1576a3dc9d0818b 100644 (file)
@@ -1,3 +1,14 @@
+2014-02-17  Kirill Yukhin  <kirill.yukhin@intel.com>
+           Ilya Tocar  <ilya.tocar@intel.com>
+
+       * config/i386/avx512fintrin.h (_mm512_maskz_permutexvar_epi64): Swap
+       arguments order in builtin.
+       (_mm512_permutexvar_epi64): Ditto.
+       (_mm512_mask_permutexvar_epi64): Ditto
+       (_mm512_maskz_permutexvar_epi32): Ditto
+       (_mm512_permutexvar_epi32): Ditto
+       (_mm512_mask_permutexvar_epi32): Ditto
+
 2014-02-16  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
 
        * config/rs6000/altivec.md (p8_vmrgew): Handle little endian
index d53a40d17cbc2949e5a03f18a73c0595670167bb..b3a4f3a41ffc6549b9982cfd1b3caaa4fca6751a 100644 (file)
@@ -6148,8 +6148,8 @@ extern __inline __m512i
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 _mm512_maskz_permutexvar_epi64 (__mmask8 __M, __m512i __X, __m512i __Y)
 {
-  return (__m512i) __builtin_ia32_permvardi512_mask ((__v8di) __X,
-                                                    (__v8di) __Y,
+  return (__m512i) __builtin_ia32_permvardi512_mask ((__v8di) __Y,
+                                                    (__v8di) __X,
                                                     (__v8di)
                                                     _mm512_setzero_si512 (),
                                                     __M);
@@ -6159,8 +6159,8 @@ extern __inline __m512i
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 _mm512_permutexvar_epi64 (__m512i __X, __m512i __Y)
 {
-  return (__m512i) __builtin_ia32_permvardi512_mask ((__v8di) __X,
-                                                    (__v8di) __Y,
+  return (__m512i) __builtin_ia32_permvardi512_mask ((__v8di) __Y,
+                                                    (__v8di) __X,
                                                     (__v8di)
                                                     _mm512_setzero_si512 (),
                                                     (__mmask8) -1);
@@ -6171,8 +6171,8 @@ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 _mm512_mask_permutexvar_epi64 (__m512i __W, __mmask8 __M, __m512i __X,
                               __m512i __Y)
 {
-  return (__m512i) __builtin_ia32_permvardi512_mask ((__v8di) __X,
-                                                    (__v8di) __Y,
+  return (__m512i) __builtin_ia32_permvardi512_mask ((__v8di) __Y,
+                                                    (__v8di) __X,
                                                     (__v8di) __W,
                                                     __M);
 }
@@ -6181,8 +6181,8 @@ extern __inline __m512i
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 _mm512_maskz_permutexvar_epi32 (__mmask16 __M, __m512i __X, __m512i __Y)
 {
-  return (__m512i) __builtin_ia32_permvarsi512_mask ((__v16si) __X,
-                                                    (__v16si) __Y,
+  return (__m512i) __builtin_ia32_permvarsi512_mask ((__v16si) __Y,
+                                                    (__v16si) __X,
                                                     (__v16si)
                                                     _mm512_setzero_si512 (),
                                                     __M);
@@ -6192,8 +6192,8 @@ extern __inline __m512i
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 _mm512_permutexvar_epi32 (__m512i __X, __m512i __Y)
 {
-  return (__m512i) __builtin_ia32_permvarsi512_mask ((__v16si) __X,
-                                                    (__v16si) __Y,
+  return (__m512i) __builtin_ia32_permvarsi512_mask ((__v16si) __Y,
+                                                    (__v16si) __X,
                                                     (__v16si)
                                                     _mm512_setzero_si512 (),
                                                     (__mmask16) -1);
@@ -6204,8 +6204,8 @@ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 _mm512_mask_permutexvar_epi32 (__m512i __W, __mmask16 __M, __m512i __X,
                               __m512i __Y)
 {
-  return (__m512i) __builtin_ia32_permvarsi512_mask ((__v16si) __X,
-                                                    (__v16si) __Y,
+  return (__m512i) __builtin_ia32_permvarsi512_mask ((__v16si) __Y,
+                                                    (__v16si) __X,
                                                     (__v16si) __W,
                                                     __M);
 }
index 442d6936a298bdc2ec8525c1b897c49ed28aa3e8..a4d887707471476d22ede012f26f24cdcc2b9937 100644 (file)
@@ -1,3 +1,11 @@
+2014-02-17  Kirill Yukhin  <kirill.yukhin@intel.com>
+           Ilya Tocar  <ilya.tocar@intel.com>
+
+       * gcc.target/i386/avx512f-vpermd-2.c: Fix reference calculations.
+       * gcc.target/i386/avx512f-vpermpd-2.c: Ditto.
+       * gcc.target/i386/avx512f-vpermps-2.c: Ditto.
+       * gcc.target/i386/avx512f-vpermq-var-2.c: Ditto.
+
 2014-02-16  Richard Sandiford  <rdsandiford@googlemail.com>
 
        * lib/target-supports.exp
index db5fd09e7d3f8483153e2e225775cc7a2be8356c..1c494e3d1d5a64d703d461e0f6d4e2d9da4b1516 100644 (file)
@@ -11,7 +11,7 @@
 #include "avx512f-mask-type.h"
 
 static void
-CALC (int *src1, int *mask, int *dst)
+CALC (int *mask, int *src1, int *dst)
 {
   int i;
 
index 3d168beba5838727e507e097d36a26d0bfa37d35..00d171b790d39a2f52ece3ad023ec2b63e8b41c7 100644 (file)
@@ -10,7 +10,7 @@
 #include "avx512f-mask-type.h"
 
 static void
-CALC (double *s1, long long *mask, double *r)
+CALC (long long *mask, double *s1, double *r)
 {
   int i;
 
@@ -41,7 +41,7 @@ TEST (void)
   res2.x = INTRINSIC (_mask_permutexvar_pd) (res2.x, mask, src2.x, src1.x);
   res3.x = INTRINSIC (_maskz_permutexvar_pd) (mask, src2.x, src1.x);
 
-  CALC (src1.a, src2.a, res_ref);
+  CALC (src2.a, src1.a, res_ref);
 
   if (UNION_CHECK (AVX512F_LEN, d) (res1, res_ref))
     abort ();
index 618294868bcd8eaacd131962ba2389173f670bf5..53081c48e9c843752a5e57ed4a2d8afce93792e5 100644 (file)
@@ -10,7 +10,7 @@
 #include "avx512f-mask-type.h"
 
 static void
-CALC (float *s1, int *mask, float *r)
+CALC (int *mask, float *s1, float *r)
 {
   int i;
 
@@ -41,7 +41,7 @@ TEST (void)
   res2.x = INTRINSIC (_mask_permutexvar_ps) (res2.x, mask, src2.x, src1.x);
   res3.x = INTRINSIC (_maskz_permutexvar_ps) (mask, src2.x, src1.x);
 
-  CALC (src1.a, src2.a, res_ref);
+  CALC (src2.a, src1.a, res_ref);
 
   if (UNION_CHECK (AVX512F_LEN, ) (res1, res_ref))
     abort ();
index 2733e175b5673fa5e4f2d80f8264d0834b3bd16f..ff330a571b7d82862f523721413f77d1f87719a8 100644 (file)
@@ -11,7 +11,7 @@
 #include "avx512f-mask-type.h"
 
 static void
-CALC (long long *src1, long long *mask, long long *dst)
+CALC (long long *mask, long long *src1, long long *dst)
 {
   int i;