summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorkyukhin <kyukhin@138bc75d-0d04-0410-961f-82ee72b054a4>2014-02-17 11:26:08 +0000
committerkyukhin <kyukhin@138bc75d-0d04-0410-961f-82ee72b054a4>2014-02-17 11:26:08 +0000
commit389b04c1383e280dd59325590d1490b84336eeb8 (patch)
treef15b117d08f9ba0be2d1db711f4d1d2a88c2cec7 /gcc
parente3c3251184978d35fc4ad7ad53067890ec8af374 (diff)
downloadgcc-389b04c1383e280dd59325590d1490b84336eeb8.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207821 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog11
-rw-r--r--gcc/config/i386/avx512fintrin.h24
-rw-r--r--gcc/testsuite/ChangeLog8
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512f-vpermd-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512f-vpermpd-2.c4
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512f-vpermps-2.c4
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512f-vpermq-var-2.c2
7 files changed, 37 insertions, 18 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a448f37cb72..f05956d62ab 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/config/i386/avx512fintrin.h b/gcc/config/i386/avx512fintrin.h
index d53a40d17cb..b3a4f3a41ff 100644
--- a/gcc/config/i386/avx512fintrin.h
+++ b/gcc/config/i386/avx512fintrin.h
@@ -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);
}
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 442d6936a29..a4d88770747 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -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
diff --git a/gcc/testsuite/gcc.target/i386/avx512f-vpermd-2.c b/gcc/testsuite/gcc.target/i386/avx512f-vpermd-2.c
index db5fd09e7d3..1c494e3d1d5 100644
--- a/gcc/testsuite/gcc.target/i386/avx512f-vpermd-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx512f-vpermd-2.c
@@ -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;
diff --git a/gcc/testsuite/gcc.target/i386/avx512f-vpermpd-2.c b/gcc/testsuite/gcc.target/i386/avx512f-vpermpd-2.c
index 3d168beba58..00d171b790d 100644
--- a/gcc/testsuite/gcc.target/i386/avx512f-vpermpd-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx512f-vpermpd-2.c
@@ -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 ();
diff --git a/gcc/testsuite/gcc.target/i386/avx512f-vpermps-2.c b/gcc/testsuite/gcc.target/i386/avx512f-vpermps-2.c
index 618294868bc..53081c48e9c 100644
--- a/gcc/testsuite/gcc.target/i386/avx512f-vpermps-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx512f-vpermps-2.c
@@ -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 ();
diff --git a/gcc/testsuite/gcc.target/i386/avx512f-vpermq-var-2.c b/gcc/testsuite/gcc.target/i386/avx512f-vpermq-var-2.c
index 2733e175b56..ff330a571b7 100644
--- a/gcc/testsuite/gcc.target/i386/avx512f-vpermq-var-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx512f-vpermq-var-2.c
@@ -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;