Commit 4271e5cb by Uros Bizjak Committed by Uros Bizjak

re PR target/76342 (AVX512: _mm512_undefined_epi32() intrinsic missing…

re PR target/76342 (AVX512: _mm512_undefined_epi32() intrinsic missing (incorrectly named _mm512_undefined_si512))

	PR target/76342
	* config/i386/avx512fintrin.h (_mm512_undefined_epi32):
	Renamed from _mm512_undefined_si512.
	(_mm_undefined_si512): New definition.

testsuite/ChangeLog:

	PR target/76342
	* gcc.target/i386/pr76342.c: New test.

From-SVN: r239453
parent deea3a21
2016-08-14 Uros Bizjak <ubizjak@gmail.com>
PR target/76342
* config/i386/avx512fintrin.h (_mm512_undefined_epi32):
Renamed from _mm512_undefined_si512.
(_mm_undefined_si512): New definition.
2016-08-13 Richard Biener <rguenther@suse.de> 2016-08-13 Richard Biener <rguenther@suse.de>
* tree-ssa-forwprop.c (pass_forwprop::execute): Propagate * tree-ssa-forwprop.c (pass_forwprop::execute): Propagate
......
...@@ -270,9 +270,8 @@ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) ...@@ -270,9 +270,8 @@ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_broadcastb_epi8 (__m128i __A) _mm512_broadcastb_epi8 (__m128i __A)
{ {
return (__m512i) __builtin_ia32_pbroadcastb512_mask ((__v16qi) __A, return (__m512i) __builtin_ia32_pbroadcastb512_mask ((__v16qi) __A,
(__v64qi)_mm512_undefined_si512(), (__v64qi)_mm512_undefined_epi32(),
(__mmask64) - (__mmask64) -1);
1);
} }
extern __inline __m512i extern __inline __m512i
...@@ -318,8 +317,8 @@ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) ...@@ -318,8 +317,8 @@ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_broadcastw_epi16 (__m128i __A) _mm512_broadcastw_epi16 (__m128i __A)
{ {
return (__m512i) __builtin_ia32_pbroadcastw512_mask ((__v8hi) __A, return (__m512i) __builtin_ia32_pbroadcastw512_mask ((__v8hi) __A,
(__v32hi)_mm512_undefined_si512(), (__v32hi)_mm512_undefined_epi32(),
(__mmask32)-1); (__mmask32) -1);
} }
extern __inline __m512i extern __inline __m512i
......
...@@ -72,9 +72,8 @@ _mm512_broadcast_i64x2 (__m128i __A) ...@@ -72,9 +72,8 @@ _mm512_broadcast_i64x2 (__m128i __A)
{ {
return (__m512i) __builtin_ia32_broadcasti64x2_512_mask ((__v2di) return (__m512i) __builtin_ia32_broadcasti64x2_512_mask ((__v2di)
__A, __A,
_mm512_undefined_si512(), _mm512_undefined_epi32(),
(__mmask8) - (__mmask8) -1);
1);
} }
extern __inline __m512i extern __inline __m512i
...@@ -133,9 +132,8 @@ _mm512_broadcast_i32x2 (__m128i __A) ...@@ -133,9 +132,8 @@ _mm512_broadcast_i32x2 (__m128i __A)
{ {
return (__m512i) __builtin_ia32_broadcasti32x2_512_mask ((__v4si) return (__m512i) __builtin_ia32_broadcasti32x2_512_mask ((__v4si)
__A, __A,
(__v16si)_mm512_undefined_si512(), (__v16si)_mm512_undefined_epi32(),
(__mmask16) (__mmask16) -1);
-1);
} }
extern __inline __m512i extern __inline __m512i
...@@ -194,9 +192,8 @@ _mm512_broadcast_i32x8 (__m256i __A) ...@@ -194,9 +192,8 @@ _mm512_broadcast_i32x8 (__m256i __A)
{ {
return (__m512i) __builtin_ia32_broadcasti32x8_512_mask ((__v8si) return (__m512i) __builtin_ia32_broadcasti32x8_512_mask ((__v8si)
__A, __A,
(__v16si)_mm512_undefined_si512(), (__v16si)_mm512_undefined_epi32(),
(__mmask16) (__mmask16) -1);
-1);
} }
extern __inline __m512i extern __inline __m512i
......
...@@ -130,12 +130,14 @@ _mm512_undefined_pd (void) ...@@ -130,12 +130,14 @@ _mm512_undefined_pd (void)
extern __inline __m512i extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_undefined_si512 (void) _mm512_undefined_epi32 (void)
{ {
__m512i __Y = __Y; __m512i __Y = __Y;
return __Y; return __Y;
} }
#define _mm512_undefined_si512 _mm512_undefined_epi32
extern __inline __m512i extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_set1_epi8 (char __A) _mm512_set1_epi8 (char __A)
...@@ -549,7 +551,7 @@ _mm512_sllv_epi32 (__m512i __X, __m512i __Y) ...@@ -549,7 +551,7 @@ _mm512_sllv_epi32 (__m512i __X, __m512i __Y)
return (__m512i) __builtin_ia32_psllv16si_mask ((__v16si) __X, return (__m512i) __builtin_ia32_psllv16si_mask ((__v16si) __X,
(__v16si) __Y, (__v16si) __Y,
(__v16si) (__v16si)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask16) -1); (__mmask16) -1);
} }
...@@ -581,7 +583,7 @@ _mm512_srav_epi32 (__m512i __X, __m512i __Y) ...@@ -581,7 +583,7 @@ _mm512_srav_epi32 (__m512i __X, __m512i __Y)
return (__m512i) __builtin_ia32_psrav16si_mask ((__v16si) __X, return (__m512i) __builtin_ia32_psrav16si_mask ((__v16si) __X,
(__v16si) __Y, (__v16si) __Y,
(__v16si) (__v16si)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask16) -1); (__mmask16) -1);
} }
...@@ -613,7 +615,7 @@ _mm512_srlv_epi32 (__m512i __X, __m512i __Y) ...@@ -613,7 +615,7 @@ _mm512_srlv_epi32 (__m512i __X, __m512i __Y)
return (__m512i) __builtin_ia32_psrlv16si_mask ((__v16si) __X, return (__m512i) __builtin_ia32_psrlv16si_mask ((__v16si) __X,
(__v16si) __Y, (__v16si) __Y,
(__v16si) (__v16si)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask16) -1); (__mmask16) -1);
} }
...@@ -733,7 +735,7 @@ _mm512_srav_epi64 (__m512i __X, __m512i __Y) ...@@ -733,7 +735,7 @@ _mm512_srav_epi64 (__m512i __X, __m512i __Y)
return (__m512i) __builtin_ia32_psrav8di_mask ((__v8di) __X, return (__m512i) __builtin_ia32_psrav8di_mask ((__v8di) __X,
(__v8di) __Y, (__v8di) __Y,
(__v8di) (__v8di)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask8) -1); (__mmask8) -1);
} }
...@@ -765,7 +767,7 @@ _mm512_srlv_epi64 (__m512i __X, __m512i __Y) ...@@ -765,7 +767,7 @@ _mm512_srlv_epi64 (__m512i __X, __m512i __Y)
return (__m512i) __builtin_ia32_psrlv8di_mask ((__v8di) __X, return (__m512i) __builtin_ia32_psrlv8di_mask ((__v8di) __X,
(__v8di) __Y, (__v8di) __Y,
(__v8di) (__v8di)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask8) -1); (__mmask8) -1);
} }
...@@ -825,7 +827,7 @@ _mm512_mul_epi32 (__m512i __X, __m512i __Y) ...@@ -825,7 +827,7 @@ _mm512_mul_epi32 (__m512i __X, __m512i __Y)
return (__m512i) __builtin_ia32_pmuldq512_mask ((__v16si) __X, return (__m512i) __builtin_ia32_pmuldq512_mask ((__v16si) __X,
(__v16si) __Y, (__v16si) __Y,
(__v8di) (__v8di)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask8) -1); (__mmask8) -1);
} }
...@@ -884,7 +886,7 @@ _mm512_mul_epu32 (__m512i __X, __m512i __Y) ...@@ -884,7 +886,7 @@ _mm512_mul_epu32 (__m512i __X, __m512i __Y)
return (__m512i) __builtin_ia32_pmuludq512_mask ((__v16si) __X, return (__m512i) __builtin_ia32_pmuludq512_mask ((__v16si) __X,
(__v16si) __Y, (__v16si) __Y,
(__v8di) (__v8di)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask8) -1); (__mmask8) -1);
} }
...@@ -915,7 +917,7 @@ _mm512_slli_epi64 (__m512i __A, unsigned int __B) ...@@ -915,7 +917,7 @@ _mm512_slli_epi64 (__m512i __A, unsigned int __B)
{ {
return (__m512i) __builtin_ia32_psllqi512_mask ((__v8di) __A, __B, return (__m512i) __builtin_ia32_psllqi512_mask ((__v8di) __A, __B,
(__v8di) (__v8di)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask8) -1); (__mmask8) -1);
} }
...@@ -941,7 +943,7 @@ _mm512_maskz_slli_epi64 (__mmask8 __U, __m512i __A, unsigned int __B) ...@@ -941,7 +943,7 @@ _mm512_maskz_slli_epi64 (__mmask8 __U, __m512i __A, unsigned int __B)
#else #else
#define _mm512_slli_epi64(X, C) \ #define _mm512_slli_epi64(X, C) \
((__m512i) __builtin_ia32_psllqi512_mask ((__v8di)(__m512i)(X), (int)(C),\ ((__m512i) __builtin_ia32_psllqi512_mask ((__v8di)(__m512i)(X), (int)(C),\
(__v8di)(__m512i)_mm512_undefined_si512 (),\ (__v8di)(__m512i)_mm512_undefined_epi32 (),\
(__mmask8)-1)) (__mmask8)-1))
#define _mm512_mask_slli_epi64(W, U, X, C) \ #define _mm512_mask_slli_epi64(W, U, X, C) \
...@@ -962,7 +964,7 @@ _mm512_sll_epi64 (__m512i __A, __m128i __B) ...@@ -962,7 +964,7 @@ _mm512_sll_epi64 (__m512i __A, __m128i __B)
return (__m512i) __builtin_ia32_psllq512_mask ((__v8di) __A, return (__m512i) __builtin_ia32_psllq512_mask ((__v8di) __A,
(__v2di) __B, (__v2di) __B,
(__v8di) (__v8di)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask8) -1); (__mmask8) -1);
} }
...@@ -994,7 +996,7 @@ _mm512_srli_epi64 (__m512i __A, unsigned int __B) ...@@ -994,7 +996,7 @@ _mm512_srli_epi64 (__m512i __A, unsigned int __B)
{ {
return (__m512i) __builtin_ia32_psrlqi512_mask ((__v8di) __A, __B, return (__m512i) __builtin_ia32_psrlqi512_mask ((__v8di) __A, __B,
(__v8di) (__v8di)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask8) -1); (__mmask8) -1);
} }
...@@ -1020,7 +1022,7 @@ _mm512_maskz_srli_epi64 (__mmask8 __U, __m512i __A, unsigned int __B) ...@@ -1020,7 +1022,7 @@ _mm512_maskz_srli_epi64 (__mmask8 __U, __m512i __A, unsigned int __B)
#else #else
#define _mm512_srli_epi64(X, C) \ #define _mm512_srli_epi64(X, C) \
((__m512i) __builtin_ia32_psrlqi512_mask ((__v8di)(__m512i)(X), (int)(C),\ ((__m512i) __builtin_ia32_psrlqi512_mask ((__v8di)(__m512i)(X), (int)(C),\
(__v8di)(__m512i)_mm512_undefined_si512 (),\ (__v8di)(__m512i)_mm512_undefined_epi32 (),\
(__mmask8)-1)) (__mmask8)-1))
#define _mm512_mask_srli_epi64(W, U, X, C) \ #define _mm512_mask_srli_epi64(W, U, X, C) \
...@@ -1041,7 +1043,7 @@ _mm512_srl_epi64 (__m512i __A, __m128i __B) ...@@ -1041,7 +1043,7 @@ _mm512_srl_epi64 (__m512i __A, __m128i __B)
return (__m512i) __builtin_ia32_psrlq512_mask ((__v8di) __A, return (__m512i) __builtin_ia32_psrlq512_mask ((__v8di) __A,
(__v2di) __B, (__v2di) __B,
(__v8di) (__v8di)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask8) -1); (__mmask8) -1);
} }
...@@ -1073,7 +1075,7 @@ _mm512_srai_epi64 (__m512i __A, unsigned int __B) ...@@ -1073,7 +1075,7 @@ _mm512_srai_epi64 (__m512i __A, unsigned int __B)
{ {
return (__m512i) __builtin_ia32_psraqi512_mask ((__v8di) __A, __B, return (__m512i) __builtin_ia32_psraqi512_mask ((__v8di) __A, __B,
(__v8di) (__v8di)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask8) -1); (__mmask8) -1);
} }
...@@ -1099,7 +1101,7 @@ _mm512_maskz_srai_epi64 (__mmask8 __U, __m512i __A, unsigned int __B) ...@@ -1099,7 +1101,7 @@ _mm512_maskz_srai_epi64 (__mmask8 __U, __m512i __A, unsigned int __B)
#else #else
#define _mm512_srai_epi64(X, C) \ #define _mm512_srai_epi64(X, C) \
((__m512i) __builtin_ia32_psraqi512_mask ((__v8di)(__m512i)(X), (int)(C),\ ((__m512i) __builtin_ia32_psraqi512_mask ((__v8di)(__m512i)(X), (int)(C),\
(__v8di)(__m512i)_mm512_undefined_si512 (),\ (__v8di)(__m512i)_mm512_undefined_epi32 (),\
(__mmask8)-1)) (__mmask8)-1))
#define _mm512_mask_srai_epi64(W, U, X, C) \ #define _mm512_mask_srai_epi64(W, U, X, C) \
...@@ -1120,7 +1122,7 @@ _mm512_sra_epi64 (__m512i __A, __m128i __B) ...@@ -1120,7 +1122,7 @@ _mm512_sra_epi64 (__m512i __A, __m128i __B)
return (__m512i) __builtin_ia32_psraq512_mask ((__v8di) __A, return (__m512i) __builtin_ia32_psraq512_mask ((__v8di) __A,
(__v2di) __B, (__v2di) __B,
(__v8di) (__v8di)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask8) -1); (__mmask8) -1);
} }
...@@ -1152,7 +1154,7 @@ _mm512_slli_epi32 (__m512i __A, unsigned int __B) ...@@ -1152,7 +1154,7 @@ _mm512_slli_epi32 (__m512i __A, unsigned int __B)
{ {
return (__m512i) __builtin_ia32_pslldi512_mask ((__v16si) __A, __B, return (__m512i) __builtin_ia32_pslldi512_mask ((__v16si) __A, __B,
(__v16si) (__v16si)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask16) -1); (__mmask16) -1);
} }
...@@ -1178,7 +1180,7 @@ _mm512_maskz_slli_epi32 (__mmask16 __U, __m512i __A, unsigned int __B) ...@@ -1178,7 +1180,7 @@ _mm512_maskz_slli_epi32 (__mmask16 __U, __m512i __A, unsigned int __B)
#else #else
#define _mm512_slli_epi32(X, C) \ #define _mm512_slli_epi32(X, C) \
((__m512i) __builtin_ia32_pslldi512_mask ((__v16si)(__m512i)(X), (int)(C),\ ((__m512i) __builtin_ia32_pslldi512_mask ((__v16si)(__m512i)(X), (int)(C),\
(__v16si)(__m512i)_mm512_undefined_si512 (),\ (__v16si)(__m512i)_mm512_undefined_epi32 (),\
(__mmask16)-1)) (__mmask16)-1))
#define _mm512_mask_slli_epi32(W, U, X, C) \ #define _mm512_mask_slli_epi32(W, U, X, C) \
...@@ -1199,7 +1201,7 @@ _mm512_sll_epi32 (__m512i __A, __m128i __B) ...@@ -1199,7 +1201,7 @@ _mm512_sll_epi32 (__m512i __A, __m128i __B)
return (__m512i) __builtin_ia32_pslld512_mask ((__v16si) __A, return (__m512i) __builtin_ia32_pslld512_mask ((__v16si) __A,
(__v4si) __B, (__v4si) __B,
(__v16si) (__v16si)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask16) -1); (__mmask16) -1);
} }
...@@ -1231,7 +1233,7 @@ _mm512_srli_epi32 (__m512i __A, unsigned int __B) ...@@ -1231,7 +1233,7 @@ _mm512_srli_epi32 (__m512i __A, unsigned int __B)
{ {
return (__m512i) __builtin_ia32_psrldi512_mask ((__v16si) __A, __B, return (__m512i) __builtin_ia32_psrldi512_mask ((__v16si) __A, __B,
(__v16si) (__v16si)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask16) -1); (__mmask16) -1);
} }
...@@ -1257,7 +1259,7 @@ _mm512_maskz_srli_epi32 (__mmask16 __U, __m512i __A, unsigned int __B) ...@@ -1257,7 +1259,7 @@ _mm512_maskz_srli_epi32 (__mmask16 __U, __m512i __A, unsigned int __B)
#else #else
#define _mm512_srli_epi32(X, C) \ #define _mm512_srli_epi32(X, C) \
((__m512i) __builtin_ia32_psrldi512_mask ((__v16si)(__m512i)(X), (int)(C),\ ((__m512i) __builtin_ia32_psrldi512_mask ((__v16si)(__m512i)(X), (int)(C),\
(__v16si)(__m512i)_mm512_undefined_si512 (),\ (__v16si)(__m512i)_mm512_undefined_epi32 (),\
(__mmask16)-1)) (__mmask16)-1))
#define _mm512_mask_srli_epi32(W, U, X, C) \ #define _mm512_mask_srli_epi32(W, U, X, C) \
...@@ -1278,7 +1280,7 @@ _mm512_srl_epi32 (__m512i __A, __m128i __B) ...@@ -1278,7 +1280,7 @@ _mm512_srl_epi32 (__m512i __A, __m128i __B)
return (__m512i) __builtin_ia32_psrld512_mask ((__v16si) __A, return (__m512i) __builtin_ia32_psrld512_mask ((__v16si) __A,
(__v4si) __B, (__v4si) __B,
(__v16si) (__v16si)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask16) -1); (__mmask16) -1);
} }
...@@ -1310,7 +1312,7 @@ _mm512_srai_epi32 (__m512i __A, unsigned int __B) ...@@ -1310,7 +1312,7 @@ _mm512_srai_epi32 (__m512i __A, unsigned int __B)
{ {
return (__m512i) __builtin_ia32_psradi512_mask ((__v16si) __A, __B, return (__m512i) __builtin_ia32_psradi512_mask ((__v16si) __A, __B,
(__v16si) (__v16si)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask16) -1); (__mmask16) -1);
} }
...@@ -1336,7 +1338,7 @@ _mm512_maskz_srai_epi32 (__mmask16 __U, __m512i __A, unsigned int __B) ...@@ -1336,7 +1338,7 @@ _mm512_maskz_srai_epi32 (__mmask16 __U, __m512i __A, unsigned int __B)
#else #else
#define _mm512_srai_epi32(X, C) \ #define _mm512_srai_epi32(X, C) \
((__m512i) __builtin_ia32_psradi512_mask ((__v16si)(__m512i)(X), (int)(C),\ ((__m512i) __builtin_ia32_psradi512_mask ((__v16si)(__m512i)(X), (int)(C),\
(__v16si)(__m512i)_mm512_undefined_si512 (),\ (__v16si)(__m512i)_mm512_undefined_epi32 (),\
(__mmask16)-1)) (__mmask16)-1))
#define _mm512_mask_srai_epi32(W, U, X, C) \ #define _mm512_mask_srai_epi32(W, U, X, C) \
...@@ -1357,7 +1359,7 @@ _mm512_sra_epi32 (__m512i __A, __m128i __B) ...@@ -1357,7 +1359,7 @@ _mm512_sra_epi32 (__m512i __A, __m128i __B)
return (__m512i) __builtin_ia32_psrad512_mask ((__v16si) __A, return (__m512i) __builtin_ia32_psrad512_mask ((__v16si) __A,
(__v4si) __B, (__v4si) __B,
(__v16si) (__v16si)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask16) -1); (__mmask16) -1);
} }
...@@ -1778,7 +1780,7 @@ _mm512_cvtepi8_epi32 (__m128i __A) ...@@ -1778,7 +1780,7 @@ _mm512_cvtepi8_epi32 (__m128i __A)
{ {
return (__m512i) __builtin_ia32_pmovsxbd512_mask ((__v16qi) __A, return (__m512i) __builtin_ia32_pmovsxbd512_mask ((__v16qi) __A,
(__v16si) (__v16si)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask16) -1); (__mmask16) -1);
} }
...@@ -1807,7 +1809,7 @@ _mm512_cvtepi8_epi64 (__m128i __A) ...@@ -1807,7 +1809,7 @@ _mm512_cvtepi8_epi64 (__m128i __A)
{ {
return (__m512i) __builtin_ia32_pmovsxbq512_mask ((__v16qi) __A, return (__m512i) __builtin_ia32_pmovsxbq512_mask ((__v16qi) __A,
(__v8di) (__v8di)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask8) -1); (__mmask8) -1);
} }
...@@ -1836,7 +1838,7 @@ _mm512_cvtepi16_epi32 (__m256i __A) ...@@ -1836,7 +1838,7 @@ _mm512_cvtepi16_epi32 (__m256i __A)
{ {
return (__m512i) __builtin_ia32_pmovsxwd512_mask ((__v16hi) __A, return (__m512i) __builtin_ia32_pmovsxwd512_mask ((__v16hi) __A,
(__v16si) (__v16si)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask16) -1); (__mmask16) -1);
} }
...@@ -1865,7 +1867,7 @@ _mm512_cvtepi16_epi64 (__m128i __A) ...@@ -1865,7 +1867,7 @@ _mm512_cvtepi16_epi64 (__m128i __A)
{ {
return (__m512i) __builtin_ia32_pmovsxwq512_mask ((__v8hi) __A, return (__m512i) __builtin_ia32_pmovsxwq512_mask ((__v8hi) __A,
(__v8di) (__v8di)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask8) -1); (__mmask8) -1);
} }
...@@ -1894,7 +1896,7 @@ _mm512_cvtepi32_epi64 (__m256i __X) ...@@ -1894,7 +1896,7 @@ _mm512_cvtepi32_epi64 (__m256i __X)
{ {
return (__m512i) __builtin_ia32_pmovsxdq512_mask ((__v8si) __X, return (__m512i) __builtin_ia32_pmovsxdq512_mask ((__v8si) __X,
(__v8di) (__v8di)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask8) -1); (__mmask8) -1);
} }
...@@ -1923,7 +1925,7 @@ _mm512_cvtepu8_epi32 (__m128i __A) ...@@ -1923,7 +1925,7 @@ _mm512_cvtepu8_epi32 (__m128i __A)
{ {
return (__m512i) __builtin_ia32_pmovzxbd512_mask ((__v16qi) __A, return (__m512i) __builtin_ia32_pmovzxbd512_mask ((__v16qi) __A,
(__v16si) (__v16si)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask16) -1); (__mmask16) -1);
} }
...@@ -1952,7 +1954,7 @@ _mm512_cvtepu8_epi64 (__m128i __A) ...@@ -1952,7 +1954,7 @@ _mm512_cvtepu8_epi64 (__m128i __A)
{ {
return (__m512i) __builtin_ia32_pmovzxbq512_mask ((__v16qi) __A, return (__m512i) __builtin_ia32_pmovzxbq512_mask ((__v16qi) __A,
(__v8di) (__v8di)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask8) -1); (__mmask8) -1);
} }
...@@ -1981,7 +1983,7 @@ _mm512_cvtepu16_epi32 (__m256i __A) ...@@ -1981,7 +1983,7 @@ _mm512_cvtepu16_epi32 (__m256i __A)
{ {
return (__m512i) __builtin_ia32_pmovzxwd512_mask ((__v16hi) __A, return (__m512i) __builtin_ia32_pmovzxwd512_mask ((__v16hi) __A,
(__v16si) (__v16si)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask16) -1); (__mmask16) -1);
} }
...@@ -2010,7 +2012,7 @@ _mm512_cvtepu16_epi64 (__m128i __A) ...@@ -2010,7 +2012,7 @@ _mm512_cvtepu16_epi64 (__m128i __A)
{ {
return (__m512i) __builtin_ia32_pmovzxwq512_mask ((__v8hi) __A, return (__m512i) __builtin_ia32_pmovzxwq512_mask ((__v8hi) __A,
(__v8di) (__v8di)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask8) -1); (__mmask8) -1);
} }
...@@ -2039,7 +2041,7 @@ _mm512_cvtepu32_epi64 (__m256i __X) ...@@ -2039,7 +2041,7 @@ _mm512_cvtepu32_epi64 (__m256i __X)
{ {
return (__m512i) __builtin_ia32_pmovzxdq512_mask ((__v8si) __X, return (__m512i) __builtin_ia32_pmovzxdq512_mask ((__v8si) __X,
(__v8di) (__v8di)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask8) -1); (__mmask8) -1);
} }
...@@ -3407,7 +3409,7 @@ _mm512_abs_epi64 (__m512i __A) ...@@ -3407,7 +3409,7 @@ _mm512_abs_epi64 (__m512i __A)
{ {
return (__m512i) __builtin_ia32_pabsq512_mask ((__v8di) __A, return (__m512i) __builtin_ia32_pabsq512_mask ((__v8di) __A,
(__v8di) (__v8di)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask8) -1); (__mmask8) -1);
} }
...@@ -3436,7 +3438,7 @@ _mm512_abs_epi32 (__m512i __A) ...@@ -3436,7 +3438,7 @@ _mm512_abs_epi32 (__m512i __A)
{ {
return (__m512i) __builtin_ia32_pabsd512_mask ((__v16si) __A, return (__m512i) __builtin_ia32_pabsd512_mask ((__v16si) __A,
(__v16si) (__v16si)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask16) -1); (__mmask16) -1);
} }
...@@ -3521,7 +3523,7 @@ _mm512_broadcastd_epi32 (__m128i __A) ...@@ -3521,7 +3523,7 @@ _mm512_broadcastd_epi32 (__m128i __A)
{ {
return (__m512i) __builtin_ia32_pbroadcastd512 ((__v4si) __A, return (__m512i) __builtin_ia32_pbroadcastd512 ((__v4si) __A,
(__v16si) (__v16si)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask16) -1); (__mmask16) -1);
} }
...@@ -3549,7 +3551,7 @@ _mm512_set1_epi32 (int __A) ...@@ -3549,7 +3551,7 @@ _mm512_set1_epi32 (int __A)
{ {
return (__m512i) __builtin_ia32_pbroadcastd512_gpr_mask (__A, return (__m512i) __builtin_ia32_pbroadcastd512_gpr_mask (__A,
(__v16si) (__v16si)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask16)(-1)); (__mmask16)(-1));
} }
...@@ -3577,7 +3579,7 @@ _mm512_broadcastq_epi64 (__m128i __A) ...@@ -3577,7 +3579,7 @@ _mm512_broadcastq_epi64 (__m128i __A)
{ {
return (__m512i) __builtin_ia32_pbroadcastq512 ((__v2di) __A, return (__m512i) __builtin_ia32_pbroadcastq512 ((__v2di) __A,
(__v8di) (__v8di)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask8) -1); (__mmask8) -1);
} }
...@@ -3605,7 +3607,7 @@ _mm512_set1_epi64 (long long __A) ...@@ -3605,7 +3607,7 @@ _mm512_set1_epi64 (long long __A)
{ {
return (__m512i) __builtin_ia32_pbroadcastq512_gpr_mask (__A, return (__m512i) __builtin_ia32_pbroadcastq512_gpr_mask (__A,
(__v8di) (__v8di)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask8)(-1)); (__mmask8)(-1));
} }
...@@ -3662,7 +3664,7 @@ _mm512_broadcast_i32x4 (__m128i __A) ...@@ -3662,7 +3664,7 @@ _mm512_broadcast_i32x4 (__m128i __A)
{ {
return (__m512i) __builtin_ia32_broadcasti32x4_512 ((__v4si) __A, return (__m512i) __builtin_ia32_broadcasti32x4_512 ((__v4si) __A,
(__v16si) (__v16si)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask16) -1); (__mmask16) -1);
} }
...@@ -3720,7 +3722,7 @@ _mm512_broadcast_i64x4 (__m256i __A) ...@@ -3720,7 +3722,7 @@ _mm512_broadcast_i64x4 (__m256i __A)
{ {
return (__m512i) __builtin_ia32_broadcasti64x4_512 ((__v4di) __A, return (__m512i) __builtin_ia32_broadcasti64x4_512 ((__v4di) __A,
(__v8di) (__v8di)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask8) -1); (__mmask8) -1);
} }
...@@ -3841,7 +3843,7 @@ _mm512_shuffle_epi32 (__m512i __A, _MM_PERM_ENUM __mask) ...@@ -3841,7 +3843,7 @@ _mm512_shuffle_epi32 (__m512i __A, _MM_PERM_ENUM __mask)
return (__m512i) __builtin_ia32_pshufd512_mask ((__v16si) __A, return (__m512i) __builtin_ia32_pshufd512_mask ((__v16si) __A,
__mask, __mask,
(__v16si) (__v16si)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask16) -1); (__mmask16) -1);
} }
...@@ -3874,7 +3876,7 @@ _mm512_shuffle_i64x2 (__m512i __A, __m512i __B, const int __imm) ...@@ -3874,7 +3876,7 @@ _mm512_shuffle_i64x2 (__m512i __A, __m512i __B, const int __imm)
return (__m512i) __builtin_ia32_shuf_i64x2_mask ((__v8di) __A, return (__m512i) __builtin_ia32_shuf_i64x2_mask ((__v8di) __A,
(__v8di) __B, __imm, (__v8di) __B, __imm,
(__v8di) (__v8di)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask8) -1); (__mmask8) -1);
} }
...@@ -3909,7 +3911,7 @@ _mm512_shuffle_i32x4 (__m512i __A, __m512i __B, const int __imm) ...@@ -3909,7 +3911,7 @@ _mm512_shuffle_i32x4 (__m512i __A, __m512i __B, const int __imm)
(__v16si) __B, (__v16si) __B,
__imm, __imm,
(__v16si) (__v16si)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask16) -1); (__mmask16) -1);
} }
...@@ -4009,7 +4011,7 @@ _mm512_maskz_shuffle_f32x4 (__mmask16 __U, __m512 __A, __m512 __B, ...@@ -4009,7 +4011,7 @@ _mm512_maskz_shuffle_f32x4 (__mmask16 __U, __m512 __A, __m512 __B,
#else #else
#define _mm512_shuffle_epi32(X, C) \ #define _mm512_shuffle_epi32(X, C) \
((__m512i) __builtin_ia32_pshufd512_mask ((__v16si)(__m512i)(X), (int)(C),\ ((__m512i) __builtin_ia32_pshufd512_mask ((__v16si)(__m512i)(X), (int)(C),\
(__v16si)(__m512i)_mm512_undefined_si512 (),\ (__v16si)(__m512i)_mm512_undefined_epi32 (),\
(__mmask16)-1)) (__mmask16)-1))
#define _mm512_mask_shuffle_epi32(W, U, X, C) \ #define _mm512_mask_shuffle_epi32(W, U, X, C) \
...@@ -4025,7 +4027,7 @@ _mm512_maskz_shuffle_f32x4 (__mmask16 __U, __m512 __A, __m512 __B, ...@@ -4025,7 +4027,7 @@ _mm512_maskz_shuffle_f32x4 (__mmask16 __U, __m512 __A, __m512 __B,
#define _mm512_shuffle_i64x2(X, Y, C) \ #define _mm512_shuffle_i64x2(X, Y, C) \
((__m512i) __builtin_ia32_shuf_i64x2_mask ((__v8di)(__m512i)(X), \ ((__m512i) __builtin_ia32_shuf_i64x2_mask ((__v8di)(__m512i)(X), \
(__v8di)(__m512i)(Y), (int)(C),\ (__v8di)(__m512i)(Y), (int)(C),\
(__v8di)(__m512i)_mm512_undefined_si512 (),\ (__v8di)(__m512i)_mm512_undefined_epi32 (),\
(__mmask8)-1)) (__mmask8)-1))
#define _mm512_mask_shuffle_i64x2(W, U, X, Y, C) \ #define _mm512_mask_shuffle_i64x2(W, U, X, Y, C) \
...@@ -4043,7 +4045,7 @@ _mm512_maskz_shuffle_f32x4 (__mmask16 __U, __m512 __A, __m512 __B, ...@@ -4043,7 +4045,7 @@ _mm512_maskz_shuffle_f32x4 (__mmask16 __U, __m512 __A, __m512 __B,
#define _mm512_shuffle_i32x4(X, Y, C) \ #define _mm512_shuffle_i32x4(X, Y, C) \
((__m512i) __builtin_ia32_shuf_i32x4_mask ((__v16si)(__m512i)(X), \ ((__m512i) __builtin_ia32_shuf_i32x4_mask ((__v16si)(__m512i)(X), \
(__v16si)(__m512i)(Y), (int)(C),\ (__v16si)(__m512i)(Y), (int)(C),\
(__v16si)(__m512i)_mm512_undefined_si512 (),\ (__v16si)(__m512i)_mm512_undefined_epi32 (),\
(__mmask16)-1)) (__mmask16)-1))
#define _mm512_mask_shuffle_i32x4(W, U, X, Y, C) \ #define _mm512_mask_shuffle_i32x4(W, U, X, Y, C) \
...@@ -4102,7 +4104,7 @@ _mm512_rolv_epi32 (__m512i __A, __m512i __B) ...@@ -4102,7 +4104,7 @@ _mm512_rolv_epi32 (__m512i __A, __m512i __B)
return (__m512i) __builtin_ia32_prolvd512_mask ((__v16si) __A, return (__m512i) __builtin_ia32_prolvd512_mask ((__v16si) __A,
(__v16si) __B, (__v16si) __B,
(__v16si) (__v16si)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask16) -1); (__mmask16) -1);
} }
...@@ -4134,7 +4136,7 @@ _mm512_rorv_epi32 (__m512i __A, __m512i __B) ...@@ -4134,7 +4136,7 @@ _mm512_rorv_epi32 (__m512i __A, __m512i __B)
return (__m512i) __builtin_ia32_prorvd512_mask ((__v16si) __A, return (__m512i) __builtin_ia32_prorvd512_mask ((__v16si) __A,
(__v16si) __B, (__v16si) __B,
(__v16si) (__v16si)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask16) -1); (__mmask16) -1);
} }
...@@ -4166,7 +4168,7 @@ _mm512_rolv_epi64 (__m512i __A, __m512i __B) ...@@ -4166,7 +4168,7 @@ _mm512_rolv_epi64 (__m512i __A, __m512i __B)
return (__m512i) __builtin_ia32_prolvq512_mask ((__v8di) __A, return (__m512i) __builtin_ia32_prolvq512_mask ((__v8di) __A,
(__v8di) __B, (__v8di) __B,
(__v8di) (__v8di)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask8) -1); (__mmask8) -1);
} }
...@@ -4198,7 +4200,7 @@ _mm512_rorv_epi64 (__m512i __A, __m512i __B) ...@@ -4198,7 +4200,7 @@ _mm512_rorv_epi64 (__m512i __A, __m512i __B)
return (__m512i) __builtin_ia32_prorvq512_mask ((__v8di) __A, return (__m512i) __builtin_ia32_prorvq512_mask ((__v8di) __A,
(__v8di) __B, (__v8di) __B,
(__v8di) (__v8di)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask8) -1); (__mmask8) -1);
} }
...@@ -4390,7 +4392,7 @@ _mm512_cvtt_roundps_epi32 (__m512 __A, const int __R) ...@@ -4390,7 +4392,7 @@ _mm512_cvtt_roundps_epi32 (__m512 __A, const int __R)
{ {
return (__m512i) __builtin_ia32_cvttps2dq512_mask ((__v16sf) __A, return (__m512i) __builtin_ia32_cvttps2dq512_mask ((__v16sf) __A,
(__v16si) (__v16si)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask16) -1, __R); (__mmask16) -1, __R);
} }
...@@ -4420,7 +4422,7 @@ _mm512_cvtt_roundps_epu32 (__m512 __A, const int __R) ...@@ -4420,7 +4422,7 @@ _mm512_cvtt_roundps_epu32 (__m512 __A, const int __R)
{ {
return (__m512i) __builtin_ia32_cvttps2udq512_mask ((__v16sf) __A, return (__m512i) __builtin_ia32_cvttps2udq512_mask ((__v16sf) __A,
(__v16si) (__v16si)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask16) -1, __R); (__mmask16) -1, __R);
} }
...@@ -4445,7 +4447,7 @@ _mm512_maskz_cvtt_roundps_epu32 (__mmask16 __U, __m512 __A, const int __R) ...@@ -4445,7 +4447,7 @@ _mm512_maskz_cvtt_roundps_epu32 (__mmask16 __U, __m512 __A, const int __R)
} }
#else #else
#define _mm512_cvtt_roundps_epi32(A, B) \ #define _mm512_cvtt_roundps_epi32(A, B) \
((__m512i)__builtin_ia32_cvttps2dq512_mask(A, (__v16si)_mm512_undefined_si512 (), -1, B)) ((__m512i)__builtin_ia32_cvttps2dq512_mask(A, (__v16si)_mm512_undefined_epi32 (), -1, B))
#define _mm512_mask_cvtt_roundps_epi32(W, U, A, B) \ #define _mm512_mask_cvtt_roundps_epi32(W, U, A, B) \
((__m512i)__builtin_ia32_cvttps2dq512_mask(A, (__v16si)(W), U, B)) ((__m512i)__builtin_ia32_cvttps2dq512_mask(A, (__v16si)(W), U, B))
...@@ -4454,7 +4456,7 @@ _mm512_maskz_cvtt_roundps_epu32 (__mmask16 __U, __m512 __A, const int __R) ...@@ -4454,7 +4456,7 @@ _mm512_maskz_cvtt_roundps_epu32 (__mmask16 __U, __m512 __A, const int __R)
((__m512i)__builtin_ia32_cvttps2dq512_mask(A, (__v16si)_mm512_setzero_si512 (), U, B)) ((__m512i)__builtin_ia32_cvttps2dq512_mask(A, (__v16si)_mm512_setzero_si512 (), U, B))
#define _mm512_cvtt_roundps_epu32(A, B) \ #define _mm512_cvtt_roundps_epu32(A, B) \
((__m512i)__builtin_ia32_cvttps2udq512_mask(A, (__v16si)_mm512_undefined_si512 (), -1, B)) ((__m512i)__builtin_ia32_cvttps2udq512_mask(A, (__v16si)_mm512_undefined_epi32 (), -1, B))
#define _mm512_mask_cvtt_roundps_epu32(W, U, A, B) \ #define _mm512_mask_cvtt_roundps_epu32(W, U, A, B) \
((__m512i)__builtin_ia32_cvttps2udq512_mask(A, (__v16si)(W), U, B)) ((__m512i)__builtin_ia32_cvttps2udq512_mask(A, (__v16si)(W), U, B))
...@@ -4470,7 +4472,7 @@ _mm512_cvt_roundps_epi32 (__m512 __A, const int __R) ...@@ -4470,7 +4472,7 @@ _mm512_cvt_roundps_epi32 (__m512 __A, const int __R)
{ {
return (__m512i) __builtin_ia32_cvtps2dq512_mask ((__v16sf) __A, return (__m512i) __builtin_ia32_cvtps2dq512_mask ((__v16sf) __A,
(__v16si) (__v16si)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask16) -1, __R); (__mmask16) -1, __R);
} }
...@@ -4500,7 +4502,7 @@ _mm512_cvt_roundps_epu32 (__m512 __A, const int __R) ...@@ -4500,7 +4502,7 @@ _mm512_cvt_roundps_epu32 (__m512 __A, const int __R)
{ {
return (__m512i) __builtin_ia32_cvtps2udq512_mask ((__v16sf) __A, return (__m512i) __builtin_ia32_cvtps2udq512_mask ((__v16sf) __A,
(__v16si) (__v16si)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask16) -1, __R); (__mmask16) -1, __R);
} }
...@@ -4525,7 +4527,7 @@ _mm512_maskz_cvt_roundps_epu32 (__mmask16 __U, __m512 __A, const int __R) ...@@ -4525,7 +4527,7 @@ _mm512_maskz_cvt_roundps_epu32 (__mmask16 __U, __m512 __A, const int __R)
} }
#else #else
#define _mm512_cvt_roundps_epi32(A, B) \ #define _mm512_cvt_roundps_epi32(A, B) \
((__m512i)__builtin_ia32_cvtps2dq512_mask(A, (__v16si)_mm512_undefined_si512 (), -1, B)) ((__m512i)__builtin_ia32_cvtps2dq512_mask(A, (__v16si)_mm512_undefined_epi32 (), -1, B))
#define _mm512_mask_cvt_roundps_epi32(W, U, A, B) \ #define _mm512_mask_cvt_roundps_epi32(W, U, A, B) \
((__m512i)__builtin_ia32_cvtps2dq512_mask(A, (__v16si)(W), U, B)) ((__m512i)__builtin_ia32_cvtps2dq512_mask(A, (__v16si)(W), U, B))
...@@ -4534,7 +4536,7 @@ _mm512_maskz_cvt_roundps_epu32 (__mmask16 __U, __m512 __A, const int __R) ...@@ -4534,7 +4536,7 @@ _mm512_maskz_cvt_roundps_epu32 (__mmask16 __U, __m512 __A, const int __R)
((__m512i)__builtin_ia32_cvtps2dq512_mask(A, (__v16si)_mm512_setzero_si512 (), U, B)) ((__m512i)__builtin_ia32_cvtps2dq512_mask(A, (__v16si)_mm512_setzero_si512 (), U, B))
#define _mm512_cvt_roundps_epu32(A, B) \ #define _mm512_cvt_roundps_epu32(A, B) \
((__m512i)__builtin_ia32_cvtps2udq512_mask(A, (__v16si)_mm512_undefined_si512 (), -1, B)) ((__m512i)__builtin_ia32_cvtps2udq512_mask(A, (__v16si)_mm512_undefined_epi32 (), -1, B))
#define _mm512_mask_cvt_roundps_epu32(W, U, A, B) \ #define _mm512_mask_cvt_roundps_epu32(W, U, A, B) \
((__m512i)__builtin_ia32_cvtps2udq512_mask(A, (__v16si)(W), U, B)) ((__m512i)__builtin_ia32_cvtps2udq512_mask(A, (__v16si)(W), U, B))
...@@ -5555,7 +5557,7 @@ _mm512_inserti64x4 (__m512i __A, __m256i __B, const int __imm) ...@@ -5555,7 +5557,7 @@ _mm512_inserti64x4 (__m512i __A, __m256i __B, const int __imm)
(__v4di) __B, (__v4di) __B,
__imm, __imm,
(__v8di) (__v8di)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask8) -1); (__mmask8) -1);
} }
...@@ -5650,7 +5652,7 @@ _mm512_maskz_insertf64x4 (__mmask8 __U, __m512d __A, __m256d __B, ...@@ -5650,7 +5652,7 @@ _mm512_maskz_insertf64x4 (__mmask8 __U, __m512d __A, __m256d __B,
#define _mm512_inserti64x4(X, Y, C) \ #define _mm512_inserti64x4(X, Y, C) \
((__m512i) __builtin_ia32_inserti64x4_mask ((__v8di)(__m512i) (X), \ ((__m512i) __builtin_ia32_inserti64x4_mask ((__v8di)(__m512i) (X), \
(__v4di)(__m256i) (Y), (int) (C), \ (__v4di)(__m256i) (Y), (int) (C), \
(__v8di)(__m512i)_mm512_undefined_si512 (), \ (__v8di)(__m512i)_mm512_undefined_epi32 (), \
(__mmask8)-1)) (__mmask8)-1))
#define _mm512_mask_inserti64x4(W, U, X, Y, C) \ #define _mm512_mask_inserti64x4(W, U, X, Y, C) \
...@@ -6176,7 +6178,7 @@ _mm512_permutex_epi64 (__m512i __X, const int __I) ...@@ -6176,7 +6178,7 @@ _mm512_permutex_epi64 (__m512i __X, const int __I)
{ {
return (__m512i) __builtin_ia32_permdi512_mask ((__v8di) __X, __I, return (__m512i) __builtin_ia32_permdi512_mask ((__v8di) __X, __I,
(__v8di) (__v8di)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask8) (-1)); (__mmask8) (-1));
} }
...@@ -6247,7 +6249,7 @@ _mm512_maskz_permutex_pd (__mmask8 __U, __m512d __X, const int __M) ...@@ -6247,7 +6249,7 @@ _mm512_maskz_permutex_pd (__mmask8 __U, __m512d __X, const int __M)
((__m512i) __builtin_ia32_permdi512_mask ((__v8di)(__m512i)(X), \ ((__m512i) __builtin_ia32_permdi512_mask ((__v8di)(__m512i)(X), \
(int)(I), \ (int)(I), \
(__v8di)(__m512i) \ (__v8di)(__m512i) \
(_mm512_undefined_si512 ()),\ (_mm512_undefined_epi32 ()),\
(__mmask8)(-1))) (__mmask8)(-1)))
#define _mm512_maskz_permutex_epi64(M, X, I) \ #define _mm512_maskz_permutex_epi64(M, X, I) \
...@@ -6282,7 +6284,7 @@ _mm512_permutexvar_epi64 (__m512i __X, __m512i __Y) ...@@ -6282,7 +6284,7 @@ _mm512_permutexvar_epi64 (__m512i __X, __m512i __Y)
return (__m512i) __builtin_ia32_permvardi512_mask ((__v8di) __Y, return (__m512i) __builtin_ia32_permvardi512_mask ((__v8di) __Y,
(__v8di) __X, (__v8di) __X,
(__v8di) (__v8di)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask8) -1); (__mmask8) -1);
} }
...@@ -6315,7 +6317,7 @@ _mm512_permutexvar_epi32 (__m512i __X, __m512i __Y) ...@@ -6315,7 +6317,7 @@ _mm512_permutexvar_epi32 (__m512i __X, __m512i __Y)
return (__m512i) __builtin_ia32_permvarsi512_mask ((__v16si) __Y, return (__m512i) __builtin_ia32_permvarsi512_mask ((__v16si) __Y,
(__v16si) __X, (__v16si) __X,
(__v16si) (__v16si)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask16) -1); (__mmask16) -1);
} }
...@@ -6890,7 +6892,7 @@ _mm512_rol_epi32 (__m512i __A, const int __B) ...@@ -6890,7 +6892,7 @@ _mm512_rol_epi32 (__m512i __A, const int __B)
{ {
return (__m512i) __builtin_ia32_prold512_mask ((__v16si) __A, __B, return (__m512i) __builtin_ia32_prold512_mask ((__v16si) __A, __B,
(__v16si) (__v16si)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask16) -1); (__mmask16) -1);
} }
...@@ -6919,7 +6921,7 @@ _mm512_ror_epi32 (__m512i __A, int __B) ...@@ -6919,7 +6921,7 @@ _mm512_ror_epi32 (__m512i __A, int __B)
{ {
return (__m512i) __builtin_ia32_prord512_mask ((__v16si) __A, __B, return (__m512i) __builtin_ia32_prord512_mask ((__v16si) __A, __B,
(__v16si) (__v16si)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask16) -1); (__mmask16) -1);
} }
...@@ -6948,7 +6950,7 @@ _mm512_rol_epi64 (__m512i __A, const int __B) ...@@ -6948,7 +6950,7 @@ _mm512_rol_epi64 (__m512i __A, const int __B)
{ {
return (__m512i) __builtin_ia32_prolq512_mask ((__v8di) __A, __B, return (__m512i) __builtin_ia32_prolq512_mask ((__v8di) __A, __B,
(__v8di) (__v8di)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask8) -1); (__mmask8) -1);
} }
...@@ -6977,7 +6979,7 @@ _mm512_ror_epi64 (__m512i __A, int __B) ...@@ -6977,7 +6979,7 @@ _mm512_ror_epi64 (__m512i __A, int __B)
{ {
return (__m512i) __builtin_ia32_prorq512_mask ((__v8di) __A, __B, return (__m512i) __builtin_ia32_prorq512_mask ((__v8di) __A, __B,
(__v8di) (__v8di)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask8) -1); (__mmask8) -1);
} }
...@@ -7004,7 +7006,7 @@ _mm512_maskz_ror_epi64 (__mmask8 __U, __m512i __A, int __B) ...@@ -7004,7 +7006,7 @@ _mm512_maskz_ror_epi64 (__mmask8 __U, __m512i __A, int __B)
#define _mm512_rol_epi32(A, B) \ #define _mm512_rol_epi32(A, B) \
((__m512i)__builtin_ia32_prold512_mask ((__v16si)(__m512i)(A), \ ((__m512i)__builtin_ia32_prold512_mask ((__v16si)(__m512i)(A), \
(int)(B), \ (int)(B), \
(__v16si)_mm512_undefined_si512 (), \ (__v16si)_mm512_undefined_epi32 (), \
(__mmask16)(-1))) (__mmask16)(-1)))
#define _mm512_mask_rol_epi32(W, U, A, B) \ #define _mm512_mask_rol_epi32(W, U, A, B) \
((__m512i)__builtin_ia32_prold512_mask ((__v16si)(__m512i)(A), \ ((__m512i)__builtin_ia32_prold512_mask ((__v16si)(__m512i)(A), \
...@@ -7019,7 +7021,7 @@ _mm512_maskz_ror_epi64 (__mmask8 __U, __m512i __A, int __B) ...@@ -7019,7 +7021,7 @@ _mm512_maskz_ror_epi64 (__mmask8 __U, __m512i __A, int __B)
#define _mm512_ror_epi32(A, B) \ #define _mm512_ror_epi32(A, B) \
((__m512i)__builtin_ia32_prord512_mask ((__v16si)(__m512i)(A), \ ((__m512i)__builtin_ia32_prord512_mask ((__v16si)(__m512i)(A), \
(int)(B), \ (int)(B), \
(__v16si)_mm512_undefined_si512 (), \ (__v16si)_mm512_undefined_epi32 (), \
(__mmask16)(-1))) (__mmask16)(-1)))
#define _mm512_mask_ror_epi32(W, U, A, B) \ #define _mm512_mask_ror_epi32(W, U, A, B) \
((__m512i)__builtin_ia32_prord512_mask ((__v16si)(__m512i)(A), \ ((__m512i)__builtin_ia32_prord512_mask ((__v16si)(__m512i)(A), \
...@@ -7034,7 +7036,7 @@ _mm512_maskz_ror_epi64 (__mmask8 __U, __m512i __A, int __B) ...@@ -7034,7 +7036,7 @@ _mm512_maskz_ror_epi64 (__mmask8 __U, __m512i __A, int __B)
#define _mm512_rol_epi64(A, B) \ #define _mm512_rol_epi64(A, B) \
((__m512i)__builtin_ia32_prolq512_mask ((__v8di)(__m512i)(A), \ ((__m512i)__builtin_ia32_prolq512_mask ((__v8di)(__m512i)(A), \
(int)(B), \ (int)(B), \
(__v8di)_mm512_undefined_si512 (), \ (__v8di)_mm512_undefined_epi32 (), \
(__mmask8)(-1))) (__mmask8)(-1)))
#define _mm512_mask_rol_epi64(W, U, A, B) \ #define _mm512_mask_rol_epi64(W, U, A, B) \
((__m512i)__builtin_ia32_prolq512_mask ((__v8di)(__m512i)(A), \ ((__m512i)__builtin_ia32_prolq512_mask ((__v8di)(__m512i)(A), \
...@@ -7050,7 +7052,7 @@ _mm512_maskz_ror_epi64 (__mmask8 __U, __m512i __A, int __B) ...@@ -7050,7 +7052,7 @@ _mm512_maskz_ror_epi64 (__mmask8 __U, __m512i __A, int __B)
#define _mm512_ror_epi64(A, B) \ #define _mm512_ror_epi64(A, B) \
((__m512i)__builtin_ia32_prorq512_mask ((__v8di)(__m512i)(A), \ ((__m512i)__builtin_ia32_prorq512_mask ((__v8di)(__m512i)(A), \
(int)(B), \ (int)(B), \
(__v8di)_mm512_undefined_si512 (), \ (__v8di)_mm512_undefined_epi32 (), \
(__mmask8)(-1))) (__mmask8)(-1)))
#define _mm512_mask_ror_epi64(W, U, A, B) \ #define _mm512_mask_ror_epi64(W, U, A, B) \
((__m512i)__builtin_ia32_prorq512_mask ((__v8di)(__m512i)(A), \ ((__m512i)__builtin_ia32_prorq512_mask ((__v8di)(__m512i)(A), \
...@@ -7133,7 +7135,7 @@ _mm512_andnot_si512 (__m512i __A, __m512i __B) ...@@ -7133,7 +7135,7 @@ _mm512_andnot_si512 (__m512i __A, __m512i __B)
return (__m512i) __builtin_ia32_pandnd512_mask ((__v16si) __A, return (__m512i) __builtin_ia32_pandnd512_mask ((__v16si) __A,
(__v16si) __B, (__v16si) __B,
(__v16si) (__v16si)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask16) -1); (__mmask16) -1);
} }
...@@ -7144,7 +7146,7 @@ _mm512_andnot_epi32 (__m512i __A, __m512i __B) ...@@ -7144,7 +7146,7 @@ _mm512_andnot_epi32 (__m512i __A, __m512i __B)
return (__m512i) __builtin_ia32_pandnd512_mask ((__v16si) __A, return (__m512i) __builtin_ia32_pandnd512_mask ((__v16si) __A,
(__v16si) __B, (__v16si) __B,
(__v16si) (__v16si)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask16) -1); (__mmask16) -1);
} }
...@@ -7176,7 +7178,7 @@ _mm512_andnot_epi64 (__m512i __A, __m512i __B) ...@@ -7176,7 +7178,7 @@ _mm512_andnot_epi64 (__m512i __A, __m512i __B)
return (__m512i) __builtin_ia32_pandnq512_mask ((__v8di) __A, return (__m512i) __builtin_ia32_pandnq512_mask ((__v8di) __A,
(__v8di) __B, (__v8di) __B,
(__v8di) (__v8di)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask8) -1); (__mmask8) -1);
} }
...@@ -7274,7 +7276,7 @@ _mm512_unpackhi_epi32 (__m512i __A, __m512i __B) ...@@ -7274,7 +7276,7 @@ _mm512_unpackhi_epi32 (__m512i __A, __m512i __B)
return (__m512i) __builtin_ia32_punpckhdq512_mask ((__v16si) __A, return (__m512i) __builtin_ia32_punpckhdq512_mask ((__v16si) __A,
(__v16si) __B, (__v16si) __B,
(__v16si) (__v16si)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask16) -1); (__mmask16) -1);
} }
...@@ -7307,7 +7309,7 @@ _mm512_unpackhi_epi64 (__m512i __A, __m512i __B) ...@@ -7307,7 +7309,7 @@ _mm512_unpackhi_epi64 (__m512i __A, __m512i __B)
return (__m512i) __builtin_ia32_punpckhqdq512_mask ((__v8di) __A, return (__m512i) __builtin_ia32_punpckhqdq512_mask ((__v8di) __A,
(__v8di) __B, (__v8di) __B,
(__v8di) (__v8di)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask8) -1); (__mmask8) -1);
} }
...@@ -7339,7 +7341,7 @@ _mm512_unpacklo_epi32 (__m512i __A, __m512i __B) ...@@ -7339,7 +7341,7 @@ _mm512_unpacklo_epi32 (__m512i __A, __m512i __B)
return (__m512i) __builtin_ia32_punpckldq512_mask ((__v16si) __A, return (__m512i) __builtin_ia32_punpckldq512_mask ((__v16si) __A,
(__v16si) __B, (__v16si) __B,
(__v16si) (__v16si)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask16) -1); (__mmask16) -1);
} }
...@@ -7372,7 +7374,7 @@ _mm512_unpacklo_epi64 (__m512i __A, __m512i __B) ...@@ -7372,7 +7374,7 @@ _mm512_unpacklo_epi64 (__m512i __A, __m512i __B)
return (__m512i) __builtin_ia32_punpcklqdq512_mask ((__v8di) __A, return (__m512i) __builtin_ia32_punpcklqdq512_mask ((__v8di) __A,
(__v8di) __B, (__v8di) __B,
(__v8di) (__v8di)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask8) -1); (__mmask8) -1);
} }
...@@ -8511,7 +8513,7 @@ _mm512_alignr_epi32 (__m512i __A, __m512i __B, const int __imm) ...@@ -8511,7 +8513,7 @@ _mm512_alignr_epi32 (__m512i __A, __m512i __B, const int __imm)
return (__m512i) __builtin_ia32_alignd512_mask ((__v16si) __A, return (__m512i) __builtin_ia32_alignd512_mask ((__v16si) __A,
(__v16si) __B, __imm, (__v16si) __B, __imm,
(__v16si) (__v16si)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask16) -1); (__mmask16) -1);
} }
...@@ -8545,7 +8547,7 @@ _mm512_alignr_epi64 (__m512i __A, __m512i __B, const int __imm) ...@@ -8545,7 +8547,7 @@ _mm512_alignr_epi64 (__m512i __A, __m512i __B, const int __imm)
return (__m512i) __builtin_ia32_alignq512_mask ((__v8di) __A, return (__m512i) __builtin_ia32_alignq512_mask ((__v8di) __A,
(__v8di) __B, __imm, (__v8di) __B, __imm,
(__v8di) (__v8di)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask8) -1); (__mmask8) -1);
} }
...@@ -8574,7 +8576,7 @@ _mm512_maskz_alignr_epi64 (__mmask8 __U, __m512i __A, __m512i __B, ...@@ -8574,7 +8576,7 @@ _mm512_maskz_alignr_epi64 (__mmask8 __U, __m512i __A, __m512i __B,
#else #else
#define _mm512_alignr_epi32(X, Y, C) \ #define _mm512_alignr_epi32(X, Y, C) \
((__m512i)__builtin_ia32_alignd512_mask ((__v16si)(__m512i)(X), \ ((__m512i)__builtin_ia32_alignd512_mask ((__v16si)(__m512i)(X), \
(__v16si)(__m512i)(Y), (int)(C), (__v16si)_mm512_undefined_si512 (),\ (__v16si)(__m512i)(Y), (int)(C), (__v16si)_mm512_undefined_epi32 (),\
(__mmask16)-1)) (__mmask16)-1))
#define _mm512_mask_alignr_epi32(W, U, X, Y, C) \ #define _mm512_mask_alignr_epi32(W, U, X, Y, C) \
...@@ -8589,7 +8591,7 @@ _mm512_maskz_alignr_epi64 (__mmask8 __U, __m512i __A, __m512i __B, ...@@ -8589,7 +8591,7 @@ _mm512_maskz_alignr_epi64 (__mmask8 __U, __m512i __A, __m512i __B,
#define _mm512_alignr_epi64(X, Y, C) \ #define _mm512_alignr_epi64(X, Y, C) \
((__m512i)__builtin_ia32_alignq512_mask ((__v8di)(__m512i)(X), \ ((__m512i)__builtin_ia32_alignq512_mask ((__v8di)(__m512i)(X), \
(__v8di)(__m512i)(Y), (int)(C), (__v8di)_mm512_undefined_si512 (), \ (__v8di)(__m512i)(Y), (int)(C), (__v8di)_mm512_undefined_epi32 (), \
(__mmask8)-1)) (__mmask8)-1))
#define _mm512_mask_alignr_epi64(W, U, X, Y, C) \ #define _mm512_mask_alignr_epi64(W, U, X, Y, C) \
...@@ -9305,7 +9307,7 @@ extern __inline __m512i ...@@ -9305,7 +9307,7 @@ extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_i32gather_epi32 (__m512i __index, int const *__addr, int __scale) _mm512_i32gather_epi32 (__m512i __index, int const *__addr, int __scale)
{ {
__m512i v1_old = _mm512_undefined_si512 (); __m512i v1_old = _mm512_undefined_epi32 ();
__mmask16 mask = 0xFFFF; __mmask16 mask = 0xFFFF;
return (__m512i) __builtin_ia32_gathersiv16si ((__v16si) v1_old, return (__m512i) __builtin_ia32_gathersiv16si ((__v16si) v1_old,
...@@ -9329,7 +9331,7 @@ extern __inline __m512i ...@@ -9329,7 +9331,7 @@ extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_i32gather_epi64 (__m256i __index, long long const *__addr, int __scale) _mm512_i32gather_epi64 (__m256i __index, long long const *__addr, int __scale)
{ {
__m512i v1_old = _mm512_undefined_si512 (); __m512i v1_old = _mm512_undefined_epi32 ();
__mmask8 mask = 0xFF; __mmask8 mask = 0xFF;
return (__m512i) __builtin_ia32_gathersiv8di ((__v8di) v1_old, return (__m512i) __builtin_ia32_gathersiv8di ((__v8di) v1_old,
...@@ -9378,7 +9380,7 @@ extern __inline __m512i ...@@ -9378,7 +9380,7 @@ extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_i64gather_epi64 (__m512i __index, long long const *__addr, int __scale) _mm512_i64gather_epi64 (__m512i __index, long long const *__addr, int __scale)
{ {
__m512i v1_old = _mm512_undefined_si512 (); __m512i v1_old = _mm512_undefined_epi32 ();
__mmask8 mask = 0xFF; __mmask8 mask = 0xFF;
return (__m512i) __builtin_ia32_gatherdiv8di ((__v8di) v1_old, return (__m512i) __builtin_ia32_gatherdiv8di ((__v8di) v1_old,
...@@ -9590,7 +9592,7 @@ _mm512_mask_i64scatter_epi64 (long long *__addr, __mmask8 __mask, ...@@ -9590,7 +9592,7 @@ _mm512_mask_i64scatter_epi64 (long long *__addr, __mmask8 __mask,
(__mmask8)MASK, (int)SCALE) (__mmask8)MASK, (int)SCALE)
#define _mm512_i32gather_epi32(INDEX, ADDR, SCALE) \ #define _mm512_i32gather_epi32(INDEX, ADDR, SCALE) \
(__m512i) __builtin_ia32_gathersiv16si ((__v16si)_mm512_undefined_si512 (), \ (__m512i) __builtin_ia32_gathersiv16si ((__v16si)_mm512_undefined_epi32 (), \
(int const *)ADDR, \ (int const *)ADDR, \
(__v16si)(__m512i)INDEX, \ (__v16si)(__m512i)INDEX, \
(__mmask16)0xFFFF, (int)SCALE) (__mmask16)0xFFFF, (int)SCALE)
...@@ -9602,7 +9604,7 @@ _mm512_mask_i64scatter_epi64 (long long *__addr, __mmask8 __mask, ...@@ -9602,7 +9604,7 @@ _mm512_mask_i64scatter_epi64 (long long *__addr, __mmask8 __mask,
(__mmask16)MASK, (int)SCALE) (__mmask16)MASK, (int)SCALE)
#define _mm512_i32gather_epi64(INDEX, ADDR, SCALE) \ #define _mm512_i32gather_epi64(INDEX, ADDR, SCALE) \
(__m512i) __builtin_ia32_gathersiv8di ((__v8di)_mm512_undefined_si512 (), \ (__m512i) __builtin_ia32_gathersiv8di ((__v8di)_mm512_undefined_epi32 (), \
(long long const *)ADDR, \ (long long const *)ADDR, \
(__v8si)(__m256i)INDEX, \ (__v8si)(__m256i)INDEX, \
(__mmask8)0xFF, (int)SCALE) (__mmask8)0xFF, (int)SCALE)
...@@ -9626,7 +9628,7 @@ _mm512_mask_i64scatter_epi64 (long long *__addr, __mmask8 __mask, ...@@ -9626,7 +9628,7 @@ _mm512_mask_i64scatter_epi64 (long long *__addr, __mmask8 __mask,
(__mmask8)MASK, (int)SCALE) (__mmask8)MASK, (int)SCALE)
#define _mm512_i64gather_epi64(INDEX, ADDR, SCALE) \ #define _mm512_i64gather_epi64(INDEX, ADDR, SCALE) \
(__m512i) __builtin_ia32_gatherdiv8di ((__v8di)_mm512_undefined_si512 (), \ (__m512i) __builtin_ia32_gatherdiv8di ((__v8di)_mm512_undefined_epi32 (), \
(long long const *)ADDR, \ (long long const *)ADDR, \
(__v8di)(__m512i)INDEX, \ (__v8di)(__m512i)INDEX, \
(__mmask8)0xFF, (int)SCALE) (__mmask8)0xFF, (int)SCALE)
...@@ -10122,7 +10124,7 @@ _mm512_max_epi64 (__m512i __A, __m512i __B) ...@@ -10122,7 +10124,7 @@ _mm512_max_epi64 (__m512i __A, __m512i __B)
return (__m512i) __builtin_ia32_pmaxsq512_mask ((__v8di) __A, return (__m512i) __builtin_ia32_pmaxsq512_mask ((__v8di) __A,
(__v8di) __B, (__v8di) __B,
(__v8di) (__v8di)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask8) -1); (__mmask8) -1);
} }
...@@ -10153,7 +10155,7 @@ _mm512_min_epi64 (__m512i __A, __m512i __B) ...@@ -10153,7 +10155,7 @@ _mm512_min_epi64 (__m512i __A, __m512i __B)
return (__m512i) __builtin_ia32_pminsq512_mask ((__v8di) __A, return (__m512i) __builtin_ia32_pminsq512_mask ((__v8di) __A,
(__v8di) __B, (__v8di) __B,
(__v8di) (__v8di)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask8) -1); (__mmask8) -1);
} }
...@@ -10184,7 +10186,7 @@ _mm512_max_epu64 (__m512i __A, __m512i __B) ...@@ -10184,7 +10186,7 @@ _mm512_max_epu64 (__m512i __A, __m512i __B)
return (__m512i) __builtin_ia32_pmaxuq512_mask ((__v8di) __A, return (__m512i) __builtin_ia32_pmaxuq512_mask ((__v8di) __A,
(__v8di) __B, (__v8di) __B,
(__v8di) (__v8di)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask8) -1); (__mmask8) -1);
} }
...@@ -10215,7 +10217,7 @@ _mm512_min_epu64 (__m512i __A, __m512i __B) ...@@ -10215,7 +10217,7 @@ _mm512_min_epu64 (__m512i __A, __m512i __B)
return (__m512i) __builtin_ia32_pminuq512_mask ((__v8di) __A, return (__m512i) __builtin_ia32_pminuq512_mask ((__v8di) __A,
(__v8di) __B, (__v8di) __B,
(__v8di) (__v8di)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask8) -1); (__mmask8) -1);
} }
...@@ -10246,7 +10248,7 @@ _mm512_max_epi32 (__m512i __A, __m512i __B) ...@@ -10246,7 +10248,7 @@ _mm512_max_epi32 (__m512i __A, __m512i __B)
return (__m512i) __builtin_ia32_pmaxsd512_mask ((__v16si) __A, return (__m512i) __builtin_ia32_pmaxsd512_mask ((__v16si) __A,
(__v16si) __B, (__v16si) __B,
(__v16si) (__v16si)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask16) -1); (__mmask16) -1);
} }
...@@ -10277,7 +10279,7 @@ _mm512_min_epi32 (__m512i __A, __m512i __B) ...@@ -10277,7 +10279,7 @@ _mm512_min_epi32 (__m512i __A, __m512i __B)
return (__m512i) __builtin_ia32_pminsd512_mask ((__v16si) __A, return (__m512i) __builtin_ia32_pminsd512_mask ((__v16si) __A,
(__v16si) __B, (__v16si) __B,
(__v16si) (__v16si)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask16) -1); (__mmask16) -1);
} }
...@@ -10308,7 +10310,7 @@ _mm512_max_epu32 (__m512i __A, __m512i __B) ...@@ -10308,7 +10310,7 @@ _mm512_max_epu32 (__m512i __A, __m512i __B)
return (__m512i) __builtin_ia32_pmaxud512_mask ((__v16si) __A, return (__m512i) __builtin_ia32_pmaxud512_mask ((__v16si) __A,
(__v16si) __B, (__v16si) __B,
(__v16si) (__v16si)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask16) -1); (__mmask16) -1);
} }
...@@ -10339,7 +10341,7 @@ _mm512_min_epu32 (__m512i __A, __m512i __B) ...@@ -10339,7 +10341,7 @@ _mm512_min_epu32 (__m512i __A, __m512i __B)
return (__m512i) __builtin_ia32_pminud512_mask ((__v16si) __A, return (__m512i) __builtin_ia32_pminud512_mask ((__v16si) __A,
(__v16si) __B, (__v16si) __B,
(__v16si) (__v16si)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask16) -1); (__mmask16) -1);
} }
...@@ -11803,7 +11805,7 @@ _mm512_cvttps_epi32 (__m512 __A) ...@@ -11803,7 +11805,7 @@ _mm512_cvttps_epi32 (__m512 __A)
{ {
return (__m512i) __builtin_ia32_cvttps2dq512_mask ((__v16sf) __A, return (__m512i) __builtin_ia32_cvttps2dq512_mask ((__v16sf) __A,
(__v16si) (__v16si)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask16) -1, (__mmask16) -1,
_MM_FROUND_CUR_DIRECTION); _MM_FROUND_CUR_DIRECTION);
} }
...@@ -11835,7 +11837,7 @@ _mm512_cvttps_epu32 (__m512 __A) ...@@ -11835,7 +11837,7 @@ _mm512_cvttps_epu32 (__m512 __A)
{ {
return (__m512i) __builtin_ia32_cvttps2udq512_mask ((__v16sf) __A, return (__m512i) __builtin_ia32_cvttps2udq512_mask ((__v16sf) __A,
(__v16si) (__v16si)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask16) -1, (__mmask16) -1,
_MM_FROUND_CUR_DIRECTION); _MM_FROUND_CUR_DIRECTION);
} }
...@@ -11867,7 +11869,7 @@ _mm512_cvtps_epi32 (__m512 __A) ...@@ -11867,7 +11869,7 @@ _mm512_cvtps_epi32 (__m512 __A)
{ {
return (__m512i) __builtin_ia32_cvtps2dq512_mask ((__v16sf) __A, return (__m512i) __builtin_ia32_cvtps2dq512_mask ((__v16sf) __A,
(__v16si) (__v16si)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask16) -1, (__mmask16) -1,
_MM_FROUND_CUR_DIRECTION); _MM_FROUND_CUR_DIRECTION);
} }
...@@ -11899,7 +11901,7 @@ _mm512_cvtps_epu32 (__m512 __A) ...@@ -11899,7 +11901,7 @@ _mm512_cvtps_epu32 (__m512 __A)
{ {
return (__m512i) __builtin_ia32_cvtps2udq512_mask ((__v16sf) __A, return (__m512i) __builtin_ia32_cvtps2udq512_mask ((__v16sf) __A,
(__v16si) (__v16si)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask16) -1, (__mmask16) -1,
_MM_FROUND_CUR_DIRECTION); _MM_FROUND_CUR_DIRECTION);
} }
......
...@@ -62,7 +62,7 @@ _mm512_multishift_epi64_epi8 (__m512i __X, __m512i __Y) ...@@ -62,7 +62,7 @@ _mm512_multishift_epi64_epi8 (__m512i __X, __m512i __Y)
return (__m512i) __builtin_ia32_vpmultishiftqb512_mask ((__v64qi) __X, return (__m512i) __builtin_ia32_vpmultishiftqb512_mask ((__v64qi) __X,
(__v64qi) __Y, (__v64qi) __Y,
(__v64qi) (__v64qi)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask64) -1); (__mmask64) -1);
} }
...@@ -73,7 +73,7 @@ _mm512_permutexvar_epi8 (__m512i __A, __m512i __B) ...@@ -73,7 +73,7 @@ _mm512_permutexvar_epi8 (__m512i __A, __m512i __B)
return (__m512i) __builtin_ia32_permvarqi512_mask ((__v64qi) __B, return (__m512i) __builtin_ia32_permvarqi512_mask ((__v64qi) __B,
(__v64qi) __A, (__v64qi) __A,
(__v64qi) (__v64qi)
_mm512_undefined_si512 (), _mm512_undefined_epi32 (),
(__mmask64) -1); (__mmask64) -1);
} }
......
2016-08-14 Uros Bizjak <ubizjak@gmail.com>
PR target/76342
* gcc.target/i386/pr76342.c: New test.
2016-08-12 Jakub Jelinek <jakub@redhat.com> 2016-08-12 Jakub Jelinek <jakub@redhat.com>
PR c/71512 PR c/71512
......
/* PR target/76342 */
/* { dg-do compile } */
/* { dg-options "-mavx512f" } */
#include <immintrin.h>
__m512i
test()
{
return _mm512_undefined_epi32 ();
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment