#define _mm512_setr_ps(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10,e11,e12,e13,e14,e15) \
_mm512_set_ps(e15,e14,e13,e12,e11,e10,e9,e8,e7,e6,e5,e4,e3,e2,e1,e0)
+extern __inline __m512
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm512_undefined_ps (void)
+{
+ __m512 __Y = __Y;
+ return __Y;
+}
+
+extern __inline __m512d
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm512_undefined_pd (void)
+{
+ __m512d __Y = __Y;
+ return __Y;
+}
+
+extern __inline __m512i
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm512_undefined_si512 (void)
+{
+ __m512i __Y = __Y;
+ return __Y;
+}
+
extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_setzero_ps (void)
return (__m512i) __builtin_ia32_pmulld512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask16) -1);
}
return (__m512i) __builtin_ia32_psllv16si_mask ((__v16si) __X,
(__v16si) __Y,
(__v16si)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask16) -1);
}
return (__m512i) __builtin_ia32_psrav16si_mask ((__v16si) __X,
(__v16si) __Y,
(__v16si)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask16) -1);
}
return (__m512i) __builtin_ia32_psrlv16si_mask ((__v16si) __X,
(__v16si) __Y,
(__v16si)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask16) -1);
}
return (__m512i) __builtin_ia32_paddq512_mask ((__v8di) __A,
(__v8di) __B,
(__v8di)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask8) -1);
}
return (__m512i) __builtin_ia32_psubq512_mask ((__v8di) __A,
(__v8di) __B,
(__v8di)
- _mm512_setzero_pd (),
+ _mm512_undefined_pd (),
(__mmask8) -1);
}
return (__m512i) __builtin_ia32_psllv8di_mask ((__v8di) __X,
(__v8di) __Y,
(__v8di)
- _mm512_setzero_pd (),
+ _mm512_undefined_pd (),
(__mmask8) -1);
}
return (__m512i) __builtin_ia32_psrav8di_mask ((__v8di) __X,
(__v8di) __Y,
(__v8di)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask8) -1);
}
return (__m512i) __builtin_ia32_psrlv8di_mask ((__v8di) __X,
(__v8di) __Y,
(__v8di)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask8) -1);
}
return (__m512i) __builtin_ia32_paddd512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask16) -1);
}
return (__m512i) __builtin_ia32_pmuldq512_mask ((__v16si) __X,
(__v16si) __Y,
(__v8di)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask8) -1);
}
return (__m512i) __builtin_ia32_psubd512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask16) -1);
}
return (__m512i) __builtin_ia32_pmuludq512_mask ((__v16si) __X,
(__v16si) __Y,
(__v8di)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask8) -1);
}
{
return (__m512i) __builtin_ia32_psllqi512_mask ((__v8di) __A, __B,
(__v8di)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask8) -1);
}
#else
#define _mm512_slli_epi64(X, C) \
((__m512i) __builtin_ia32_psllqi512_mask ((__v8di)(__m512i)(X), (int)(C),\
- (__v8di)(__m512i)_mm512_setzero_si512 (),\
+ (__v8di)(__m512i)_mm512_undefined_si512 (),\
(__mmask8)-1))
#define _mm512_mask_slli_epi64(W, U, X, C) \
return (__m512i) __builtin_ia32_psllq512_mask ((__v8di) __A,
(__v2di) __B,
(__v8di)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask8) -1);
}
{
return (__m512i) __builtin_ia32_psrlqi512_mask ((__v8di) __A, __B,
(__v8di)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask8) -1);
}
#else
#define _mm512_srli_epi64(X, C) \
((__m512i) __builtin_ia32_psrlqi512_mask ((__v8di)(__m512i)(X), (int)(C),\
- (__v8di)(__m512i)_mm512_setzero_si512 (),\
+ (__v8di)(__m512i)_mm512_undefined_si512 (),\
(__mmask8)-1))
#define _mm512_mask_srli_epi64(W, U, X, C) \
return (__m512i) __builtin_ia32_psrlq512_mask ((__v8di) __A,
(__v2di) __B,
(__v8di)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask8) -1);
}
{
return (__m512i) __builtin_ia32_psraqi512_mask ((__v8di) __A, __B,
(__v8di)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask8) -1);
}
#else
#define _mm512_srai_epi64(X, C) \
((__m512i) __builtin_ia32_psraqi512_mask ((__v8di)(__m512i)(X), (int)(C),\
- (__v8di)(__m512i)_mm512_setzero_si512 (),\
+ (__v8di)(__m512i)_mm512_undefined_si512 (),\
(__mmask8)-1))
#define _mm512_mask_srai_epi64(W, U, X, C) \
return (__m512i) __builtin_ia32_psraq512_mask ((__v8di) __A,
(__v2di) __B,
(__v8di)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask8) -1);
}
{
return (__m512i) __builtin_ia32_pslldi512_mask ((__v16si) __A, __B,
(__v16si)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask16) -1);
}
#else
#define _mm512_slli_epi32(X, C) \
((__m512i) __builtin_ia32_pslldi512_mask ((__v16si)(__m512i)(X), (int)(C),\
- (__v16si)(__m512i)_mm512_setzero_si512 (),\
+ (__v16si)(__m512i)_mm512_undefined_si512 (),\
(__mmask16)-1))
#define _mm512_mask_slli_epi32(W, U, X, C) \
return (__m512i) __builtin_ia32_pslld512_mask ((__v16si) __A,
(__v4si) __B,
(__v16si)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask16) -1);
}
{
return (__m512i) __builtin_ia32_psrldi512_mask ((__v16si) __A, __B,
(__v16si)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask16) -1);
}
#else
#define _mm512_srli_epi32(X, C) \
((__m512i) __builtin_ia32_psrldi512_mask ((__v16si)(__m512i)(X), (int)(C),\
- (__v16si)(__m512i)_mm512_setzero_si512 (),\
+ (__v16si)(__m512i)_mm512_undefined_si512 (),\
(__mmask16)-1))
#define _mm512_mask_srli_epi32(W, U, X, C) \
return (__m512i) __builtin_ia32_psrld512_mask ((__v16si) __A,
(__v4si) __B,
(__v16si)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask16) -1);
}
{
return (__m512i) __builtin_ia32_psradi512_mask ((__v16si) __A, __B,
(__v16si)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask16) -1);
}
#else
#define _mm512_srai_epi32(X, C) \
((__m512i) __builtin_ia32_psradi512_mask ((__v16si)(__m512i)(X), (int)(C),\
- (__v16si)(__m512i)_mm512_setzero_si512 (),\
+ (__v16si)(__m512i)_mm512_undefined_si512 (),\
(__mmask16)-1))
#define _mm512_mask_srai_epi32(W, U, X, C) \
return (__m512i) __builtin_ia32_psrad512_mask ((__v16si) __A,
(__v4si) __B,
(__v16si)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask16) -1);
}
{
return (__m512d) __builtin_ia32_rcp14pd512_mask ((__v8df) __A,
(__v8df)
- _mm512_setzero_pd (),
+ _mm512_undefined_pd (),
(__mmask8) -1);
}
{
return (__m512) __builtin_ia32_rcp14ps512_mask ((__v16sf) __A,
(__v16sf)
- _mm512_setzero_ps (),
+ _mm512_undefined_ps (),
(__mmask16) -1);
}
{
return (__m512d) __builtin_ia32_rsqrt14pd512_mask ((__v8df) __A,
(__v8df)
- _mm512_setzero_pd (),
+ _mm512_undefined_pd (),
(__mmask8) -1);
}
{
return (__m512) __builtin_ia32_rsqrt14ps512_mask ((__v16sf) __A,
(__v16sf)
- _mm512_setzero_ps (),
+ _mm512_undefined_ps (),
(__mmask16) -1);
}
{
return (__m512d) __builtin_ia32_sqrtpd512_mask ((__v8df) __A,
(__v8df)
- _mm512_setzero_pd (),
+ _mm512_undefined_pd (),
(__mmask8) -1, __R);
}
{
return (__m512) __builtin_ia32_sqrtps512_mask ((__v16sf) __A,
(__v16sf)
- _mm512_setzero_ps (),
+ _mm512_undefined_ps (),
(__mmask16) -1, __R);
}
}
#else
#define _mm512_sqrt_round_pd(A, C) \
- (__m512d)__builtin_ia32_sqrtpd512_mask(A, (__v8df)_mm512_setzero_pd(), -1, C)
+ (__m512d)__builtin_ia32_sqrtpd512_mask(A, (__v8df)_mm512_undefined_pd(), -1, C)
#define _mm512_mask_sqrt_round_pd(W, U, A, C) \
(__m512d)__builtin_ia32_sqrtpd512_mask(A, W, U, C)
(__m512d)__builtin_ia32_sqrtpd512_mask(A, (__v8df)_mm512_setzero_pd(), U, C)
#define _mm512_sqrt_round_ps(A, C) \
- (__m512)__builtin_ia32_sqrtps512_mask(A, (__v16sf)_mm512_setzero_ps(), -1, C)
+ (__m512)__builtin_ia32_sqrtps512_mask(A, (__v16sf)_mm512_undefined_ps(), -1, C)
#define _mm512_mask_sqrt_round_ps(W, U, A, C) \
(__m512)__builtin_ia32_sqrtps512_mask(A, W, U, C)
{
return (__m512i) __builtin_ia32_pmovsxbd512_mask ((__v16qi) __A,
(__v16si)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask16) -1);
}
{
return (__m512i) __builtin_ia32_pmovsxbq512_mask ((__v16qi) __A,
(__v8di)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask8) -1);
}
{
return (__m512i) __builtin_ia32_pmovsxwd512_mask ((__v16hi) __A,
(__v16si)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask16) -1);
}
{
return (__m512i) __builtin_ia32_pmovsxwq512_mask ((__v8hi) __A,
(__v8di)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask8) -1);
}
{
return (__m512i) __builtin_ia32_pmovsxdq512_mask ((__v8si) __X,
(__v8di)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask8) -1);
}
{
return (__m512i) __builtin_ia32_pmovzxbd512_mask ((__v16qi) __A,
(__v16si)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask16) -1);
}
{
return (__m512i) __builtin_ia32_pmovzxbq512_mask ((__v16qi) __A,
(__v8di)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask8) -1);
}
{
return (__m512i) __builtin_ia32_pmovzxwd512_mask ((__v16hi) __A,
(__v16si)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask16) -1);
}
{
return (__m512i) __builtin_ia32_pmovzxwq512_mask ((__v8hi) __A,
(__v8di)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask8) -1);
}
{
return (__m512i) __builtin_ia32_pmovzxdq512_mask ((__v8si) __X,
(__v8di)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask8) -1);
}
return (__m512d) __builtin_ia32_addpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df)
- _mm512_setzero_pd (),
+ _mm512_undefined_pd (),
(__mmask8) -1, __R);
}
return (__m512) __builtin_ia32_addps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf)
- _mm512_setzero_ps (),
+ _mm512_undefined_ps (),
(__mmask16) -1, __R);
}
return (__m512d) __builtin_ia32_subpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df)
- _mm512_setzero_pd (),
+ _mm512_undefined_pd (),
(__mmask8) -1, __R);
}
return (__m512) __builtin_ia32_subps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf)
- _mm512_setzero_ps (),
+ _mm512_undefined_ps (),
(__mmask16) -1, __R);
}
}
#else
#define _mm512_add_round_pd(A, B, C) \
- (__m512d)__builtin_ia32_addpd512_mask(A, B, (__v8df)_mm512_setzero_pd(), -1, C)
+ (__m512d)__builtin_ia32_addpd512_mask(A, B, (__v8df)_mm512_undefined_pd(), -1, C)
#define _mm512_mask_add_round_pd(W, U, A, B, C) \
(__m512d)__builtin_ia32_addpd512_mask(A, B, W, U, C)
(__m512d)__builtin_ia32_addpd512_mask(A, B, (__v8df)_mm512_setzero_pd(), U, C)
#define _mm512_add_round_ps(A, B, C) \
- (__m512)__builtin_ia32_addps512_mask(A, B, (__v16sf)_mm512_setzero_ps(), -1, C)
+ (__m512)__builtin_ia32_addps512_mask(A, B, (__v16sf)_mm512_undefined_ps(), -1, C)
#define _mm512_mask_add_round_ps(W, U, A, B, C) \
(__m512)__builtin_ia32_addps512_mask(A, B, W, U, C)
(__m512)__builtin_ia32_addps512_mask(A, B, (__v16sf)_mm512_setzero_ps(), U, C)
#define _mm512_sub_round_pd(A, B, C) \
- (__m512d)__builtin_ia32_subpd512_mask(A, B, (__v8df)_mm512_setzero_pd(), -1, C)
+ (__m512d)__builtin_ia32_subpd512_mask(A, B, (__v8df)_mm512_undefined_pd(), -1, C)
#define _mm512_mask_sub_round_pd(W, U, A, B, C) \
(__m512d)__builtin_ia32_subpd512_mask(A, B, W, U, C)
(__m512d)__builtin_ia32_subpd512_mask(A, B, (__v8df)_mm512_setzero_pd(), U, C)
#define _mm512_sub_round_ps(A, B, C) \
- (__m512)__builtin_ia32_subps512_mask(A, B, (__v16sf)_mm512_setzero_ps(), -1, C)
+ (__m512)__builtin_ia32_subps512_mask(A, B, (__v16sf)_mm512_undefined_ps(), -1, C)
#define _mm512_mask_sub_round_ps(W, U, A, B, C) \
(__m512)__builtin_ia32_subps512_mask(A, B, W, U, C)
return (__m512d) __builtin_ia32_mulpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df)
- _mm512_setzero_pd (),
+ _mm512_undefined_pd (),
(__mmask8) -1, __R);
}
return (__m512) __builtin_ia32_mulps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf)
- _mm512_setzero_ps (),
+ _mm512_undefined_ps (),
(__mmask16) -1, __R);
}
return (__m512d) __builtin_ia32_divpd512_mask ((__v8df) __M,
(__v8df) __V,
(__v8df)
- _mm512_setzero_pd (),
+ _mm512_undefined_pd (),
(__mmask8) -1, __R);
}
return (__m512) __builtin_ia32_divps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf)
- _mm512_setzero_ps (),
+ _mm512_undefined_ps (),
(__mmask16) -1, __R);
}
#else
#define _mm512_mul_round_pd(A, B, C) \
- (__m512d)__builtin_ia32_mulpd512_mask(A, B, (__v8df)_mm512_setzero_pd(), -1, C)
+ (__m512d)__builtin_ia32_mulpd512_mask(A, B, (__v8df)_mm512_undefined_pd(), -1, C)
#define _mm512_mask_mul_round_pd(W, U, A, B, C) \
(__m512d)__builtin_ia32_mulpd512_mask(A, B, W, U, C)
(__m512d)__builtin_ia32_mulpd512_mask(A, B, (__v8df)_mm512_setzero_pd(), U, C)
#define _mm512_mul_round_ps(A, B, C) \
- (__m512)__builtin_ia32_mulps512_mask(A, B, (__v16sf)_mm512_setzero_ps(), -1, C)
+ (__m512)__builtin_ia32_mulps512_mask(A, B, (__v16sf)_mm512_undefined_ps(), -1, C)
#define _mm512_mask_mul_round_ps(W, U, A, B, C) \
(__m512)__builtin_ia32_mulps512_mask(A, B, W, U, C)
(__m512)__builtin_ia32_mulps512_mask(A, B, (__v16sf)_mm512_setzero_ps(), U, C)
#define _mm512_div_round_pd(A, B, C) \
- (__m512d)__builtin_ia32_divpd512_mask(A, B, (__v8df)_mm512_setzero_pd(), -1, C)
+ (__m512d)__builtin_ia32_divpd512_mask(A, B, (__v8df)_mm512_undefined_pd(), -1, C)
#define _mm512_mask_div_round_pd(W, U, A, B, C) \
(__m512d)__builtin_ia32_divpd512_mask(A, B, W, U, C)
(__m512d)__builtin_ia32_divpd512_mask(A, B, (__v8df)_mm512_setzero_pd(), U, C)
#define _mm512_div_round_ps(A, B, C) \
- (__m512)__builtin_ia32_divps512_mask(A, B, (__v16sf)_mm512_setzero_ps(), -1, C)
+ (__m512)__builtin_ia32_divps512_mask(A, B, (__v16sf)_mm512_undefined_ps(), -1, C)
#define _mm512_mask_div_round_ps(W, U, A, B, C) \
(__m512)__builtin_ia32_divps512_mask(A, B, W, U, C)
return (__m512d) __builtin_ia32_maxpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df)
- _mm512_setzero_pd (),
+ _mm512_undefined_pd (),
(__mmask8) -1, __R);
}
return (__m512) __builtin_ia32_maxps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf)
- _mm512_setzero_ps (),
+ _mm512_undefined_ps (),
(__mmask16) -1, __R);
}
return (__m512d) __builtin_ia32_minpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df)
- _mm512_setzero_pd (),
+ _mm512_undefined_pd (),
(__mmask8) -1, __R);
}
return (__m512) __builtin_ia32_minps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf)
- _mm512_setzero_ps (),
+ _mm512_undefined_ps (),
(__mmask16) -1, __R);
}
}
#else
#define _mm512_max_round_pd(A, B, R) \
- (__m512d)__builtin_ia32_maxpd512_mask(A, B, (__v8df)_mm512_setzero_pd(), -1, R)
+ (__m512d)__builtin_ia32_maxpd512_mask(A, B, (__v8df)_mm512_undefined_pd(), -1, R)
#define _mm512_mask_max_round_pd(W, U, A, B, R) \
(__m512d)__builtin_ia32_maxpd512_mask(A, B, W, U, R)
(__m512d)__builtin_ia32_maxpd512_mask(A, B, (__v8df)_mm512_setzero_pd(), U, R)
#define _mm512_max_round_ps(A, B, R) \
- (__m512)__builtin_ia32_maxps512_mask(A, B, (__v16sf)_mm512_setzero_pd(), -1, R)
+ (__m512)__builtin_ia32_maxps512_mask(A, B, (__v16sf)_mm512_undefined_pd(), -1, R)
#define _mm512_mask_max_round_ps(W, U, A, B, R) \
(__m512)__builtin_ia32_maxps512_mask(A, B, W, U, R)
(__m512)__builtin_ia32_maxps512_mask(A, B, (__v16sf)_mm512_setzero_ps(), U, R)
#define _mm512_min_round_pd(A, B, R) \
- (__m512d)__builtin_ia32_minpd512_mask(A, B, (__v8df)_mm512_setzero_pd(), -1, R)
+ (__m512d)__builtin_ia32_minpd512_mask(A, B, (__v8df)_mm512_undefined_pd(), -1, R)
#define _mm512_mask_min_round_pd(W, U, A, B, R) \
(__m512d)__builtin_ia32_minpd512_mask(A, B, W, U, R)
(__m512d)__builtin_ia32_minpd512_mask(A, B, (__v8df)_mm512_setzero_pd(), U, R)
#define _mm512_min_round_ps(A, B, R) \
- (__m512)__builtin_ia32_minps512_mask(A, B, (__v16sf)_mm512_setzero_ps(), -1, R)
+ (__m512)__builtin_ia32_minps512_mask(A, B, (__v16sf)_mm512_undefined_ps(), -1, R)
#define _mm512_mask_min_round_ps(W, U, A, B, R) \
(__m512)__builtin_ia32_minps512_mask(A, B, W, U, R)
return (__m512d) __builtin_ia32_scalefpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df)
- _mm512_setzero_pd (),
+ _mm512_undefined_pd (),
(__mmask8) -1, __R);
}
return (__m512) __builtin_ia32_scalefps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf)
- _mm512_setzero_ps (),
+ _mm512_undefined_ps (),
(__mmask16) -1, __R);
}
}
#else
#define _mm512_scalef_round_pd(A, B, C) \
- (__m512d)__builtin_ia32_scalefpd512_mask(A, B, (__v8df)_mm512_setzero_pd(), -1, C)
+ (__m512d)__builtin_ia32_scalefpd512_mask(A, B, (__v8df)_mm512_undefined_pd(), -1, C)
#define _mm512_mask_scalef_round_pd(W, U, A, B, C) \
(__m512d)__builtin_ia32_scalefpd512_mask(A, B, W, U, C)
(__m512d)__builtin_ia32_scalefpd512_mask(A, B, (__v8df)_mm512_setzero_pd(), U, C)
#define _mm512_scalef_round_ps(A, B, C) \
- (__m512)__builtin_ia32_scalefps512_mask(A, B, (__v16sf)_mm512_setzero_ps(), -1, C)
+ (__m512)__builtin_ia32_scalefps512_mask(A, B, (__v16sf)_mm512_undefined_ps(), -1, C)
#define _mm512_mask_scalef_round_ps(W, U, A, B, C) \
(__m512)__builtin_ia32_scalefps512_mask(A, B, W, U, C)
{
return (__m512i) __builtin_ia32_pabsq512_mask ((__v8di) __A,
(__v8di)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask8) -1);
}
{
return (__m512i) __builtin_ia32_pabsd512_mask ((__v16si) __A,
(__v16si)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask16) -1);
}
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_broadcastss_ps (__m128 __A)
{
- __v16sf __O;
- return (__m512) __builtin_ia32_broadcastss512 ((__v4sf) __A, __O,
+ return (__m512) __builtin_ia32_broadcastss512 ((__v4sf) __A,
+ (__v16sf)
+ _mm512_undefined_ps (),
(__mmask16) -1);
}
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_broadcastsd_pd (__m128d __A)
{
- __v8df __O;
- return (__m512d) __builtin_ia32_broadcastsd512 ((__v2df) __A, __O,
+ return (__m512d) __builtin_ia32_broadcastsd512 ((__v2df) __A,
+ (__v8df)
+ _mm512_undefined_pd (),
(__mmask8) -1);
}
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_broadcastd_epi32 (__m128i __A)
{
- __v16si __O;
- return (__m512i) __builtin_ia32_pbroadcastd512 ((__v4si) __A, __O,
+ return (__m512i) __builtin_ia32_pbroadcastd512 ((__v4si) __A,
+ (__v16si)
+ _mm512_undefined_si512 (),
(__mmask16) -1);
}
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_set1_epi32 (int __A)
{
- __v16si __O;
- return (__m512i) __builtin_ia32_pbroadcastd512_gpr_mask (__A, __O,
+ return (__m512i) __builtin_ia32_pbroadcastd512_gpr_mask (__A,
+ (__v16si)
+ _mm512_undefined_si512 (),
(__mmask16)(-1));
}
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_broadcastq_epi64 (__m128i __A)
{
- __v8di __O;
- return (__m512i) __builtin_ia32_pbroadcastq512 ((__v2di) __A, __O,
+ return (__m512i) __builtin_ia32_pbroadcastq512 ((__v2di) __A,
+ (__v8di)
+ _mm512_undefined_si512 (),
(__mmask8) -1);
}
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_set1_epi64 (long long __A)
{
- __v8di __O;
#ifdef TARGET_64BIT
- return (__m512i) __builtin_ia32_pbroadcastq512_gpr_mask (__A, __O,
+ return (__m512i) __builtin_ia32_pbroadcastq512_gpr_mask (__A,
+ (__v8di)
+ _mm512_undefined_si512 (),
(__mmask8)(-1));
#else
- return (__m512i) __builtin_ia32_pbroadcastq512_mem_mask (__A, __O,
+ return (__m512i) __builtin_ia32_pbroadcastq512_mem_mask (__A,
+ (__v8di)
+ _mm512_undefined_si512 (),
(__mmask8)(-1));
#endif
}
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_broadcast_f32x4 (__m128 __A)
{
- __v16sf __O;
- return (__m512) __builtin_ia32_broadcastf32x4_512 ((__v4sf) __A, __O,
+ return (__m512) __builtin_ia32_broadcastf32x4_512 ((__v4sf) __A,
+ (__v16sf)
+ _mm512_undefined_ps (),
(__mmask16) -1);
}
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_broadcast_i32x4 (__m128i __A)
{
- __v16si __O;
return (__m512i) __builtin_ia32_broadcasti32x4_512 ((__v4si) __A,
- __O,
+ (__v16si)
+ _mm512_undefined_si512 (),
(__mmask16) -1);
}
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_broadcast_f64x4 (__m256d __A)
{
- __v8df __O;
return (__m512d) __builtin_ia32_broadcastf64x4_512 ((__v4df) __A,
- __O,
+ (__v8df)
+ _mm512_undefined_pd (),
(__mmask8) -1);
}
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_broadcast_i64x4 (__m256i __A)
{
- __v8di __O;
return (__m512i) __builtin_ia32_broadcasti64x4_512 ((__v4di) __A,
- __O,
+ (__v8di)
+ _mm512_undefined_si512 (),
(__mmask8) -1);
}
return (__m512i) __builtin_ia32_pshufd512_mask ((__v16si) __A,
__mask,
(__v16si)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask16) -1);
}
return (__m512i) __builtin_ia32_shuf_i64x2_mask ((__v8di) __A,
(__v8di) __B, __imm,
(__v8di)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask8) -1);
}
(__v16si) __B,
__imm,
(__v16si)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask16) -1);
}
return (__m512d) __builtin_ia32_shuf_f64x2_mask ((__v8df) __A,
(__v8df) __B, __imm,
(__v8df)
- _mm512_setzero_pd (),
+ _mm512_undefined_pd (),
(__mmask8) -1);
}
return (__m512) __builtin_ia32_shuf_f32x4_mask ((__v16sf) __A,
(__v16sf) __B, __imm,
(__v16sf)
- _mm512_setzero_ps (),
+ _mm512_undefined_ps (),
(__mmask16) -1);
}
#else
#define _mm512_shuffle_epi32(X, C) \
((__m512i) __builtin_ia32_pshufd512_mask ((__v16si)(__m512i)(X), (int)(C),\
- (__v16si)(__m512i)_mm512_setzero_si512 (),\
+ (__v16si)(__m512i)_mm512_undefined_si512 (),\
(__mmask16)-1))
#define _mm512_mask_shuffle_epi32(W, U, X, C) \
#define _mm512_shuffle_i64x2(X, Y, C) \
((__m512i) __builtin_ia32_shuf_i64x2_mask ((__v8di)(__m512i)(X), \
(__v8di)(__m512i)(Y), (int)(C),\
- (__v8di)(__m512i)_mm512_setzero_si512 (),\
+ (__v8di)(__m512i)_mm512_undefined_si512 (),\
(__mmask8)-1))
#define _mm512_mask_shuffle_i64x2(W, U, X, Y, C) \
#define _mm512_shuffle_i32x4(X, Y, C) \
((__m512i) __builtin_ia32_shuf_i32x4_mask ((__v16si)(__m512i)(X), \
(__v16si)(__m512i)(Y), (int)(C),\
- (__v16si)(__m512i)_mm512_setzero_si512 (),\
+ (__v16si)(__m512i)_mm512_undefined_si512 (),\
(__mmask16)-1))
#define _mm512_mask_shuffle_i32x4(W, U, X, Y, C) \
#define _mm512_shuffle_f64x2(X, Y, C) \
((__m512d) __builtin_ia32_shuf_f64x2_mask ((__v8df)(__m512d)(X), \
(__v8df)(__m512d)(Y), (int)(C),\
- (__v8df)(__m512d)_mm512_setzero_pd(),\
+ (__v8df)(__m512d)_mm512_undefined_pd(),\
(__mmask8)-1))
#define _mm512_mask_shuffle_f64x2(W, U, X, Y, C) \
#define _mm512_shuffle_f32x4(X, Y, C) \
((__m512) __builtin_ia32_shuf_f32x4_mask ((__v16sf)(__m512)(X), \
(__v16sf)(__m512)(Y), (int)(C),\
- (__v16sf)(__m512)_mm512_setzero_ps(),\
+ (__v16sf)(__m512)_mm512_undefined_ps(),\
(__mmask16)-1))
#define _mm512_mask_shuffle_f32x4(W, U, X, Y, C) \
return (__m512i) __builtin_ia32_prolvd512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask16) -1);
}
return (__m512i) __builtin_ia32_prorvd512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask16) -1);
}
return (__m512i) __builtin_ia32_prolvq512_mask ((__v8di) __A,
(__v8di) __B,
(__v8di)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask8) -1);
}
return (__m512i) __builtin_ia32_prorvq512_mask ((__v8di) __A,
(__v8di) __B,
(__v8di)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask8) -1);
}
{
return (__m256i) __builtin_ia32_cvttpd2dq512_mask ((__v8df) __A,
(__v8si)
- _mm256_setzero_si256 (),
+ _mm256_undefined_si256 (),
(__mmask8) -1, __R);
}
{
return (__m256i) __builtin_ia32_cvttpd2udq512_mask ((__v8df) __A,
(__v8si)
- _mm256_setzero_si256 (),
+ _mm256_undefined_si256 (),
(__mmask8) -1, __R);
}
}
#else
#define _mm512_cvtt_roundpd_epi32(A, B) \
- ((__m256i)__builtin_ia32_cvttpd2dq512_mask(A, (__v8si)_mm256_setzero_si256(), -1, B))
+ ((__m256i)__builtin_ia32_cvttpd2dq512_mask(A, (__v8si)_mm256_undefined_si256(), -1, B))
#define _mm512_mask_cvtt_roundpd_epi32(W, U, A, B) \
((__m256i)__builtin_ia32_cvttpd2dq512_mask(A, (__v8si)(W), U, B))
((__m256i)__builtin_ia32_cvttpd2dq512_mask(A, (__v8si)_mm256_setzero_si256(), U, B))
#define _mm512_cvtt_roundpd_epu32(A, B) \
- ((__m256i)__builtin_ia32_cvttpd2udq512_mask(A, (__v8si)_mm256_setzero_si256(), -1, B))
+ ((__m256i)__builtin_ia32_cvttpd2udq512_mask(A, (__v8si)_mm256_undefined_si256(), -1, B))
#define _mm512_mask_cvtt_roundpd_epu32(W, U, A, B) \
((__m256i)__builtin_ia32_cvttpd2udq512_mask(A, (__v8si)(W), U, B))
{
return (__m256i) __builtin_ia32_cvtpd2dq512_mask ((__v8df) __A,
(__v8si)
- _mm256_setzero_si256 (),
+ _mm256_undefined_si256 (),
(__mmask8) -1, __R);
}
{
return (__m256i) __builtin_ia32_cvtpd2udq512_mask ((__v8df) __A,
(__v8si)
- _mm256_setzero_si256 (),
+ _mm256_undefined_si256 (),
(__mmask8) -1, __R);
}
}
#else
#define _mm512_cvt_roundpd_epi32(A, B) \
- ((__m256i)__builtin_ia32_cvtpd2dq512_mask(A, (__v8si)_mm256_setzero_si256(), -1, B))
+ ((__m256i)__builtin_ia32_cvtpd2dq512_mask(A, (__v8si)_mm256_undefined_si256(), -1, B))
#define _mm512_mask_cvt_roundpd_epi32(W, U, A, B) \
((__m256i)__builtin_ia32_cvtpd2dq512_mask(A, (__v8si)(W), U, B))
((__m256i)__builtin_ia32_cvtpd2dq512_mask(A, (__v8si)_mm256_setzero_si256(), U, B))
#define _mm512_cvt_roundpd_epu32(A, B) \
- ((__m256i)__builtin_ia32_cvtpd2udq512_mask(A, (__v8si)_mm256_setzero_si256(), -1, B))
+ ((__m256i)__builtin_ia32_cvtpd2udq512_mask(A, (__v8si)_mm256_undefined_si256(), -1, B))
#define _mm512_mask_cvt_roundpd_epu32(W, U, A, B) \
((__m256i)__builtin_ia32_cvtpd2udq512_mask(A, (__v8si)(W), U, B))
{
return (__m512i) __builtin_ia32_cvttps2dq512_mask ((__v16sf) __A,
(__v16si)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask16) -1, __R);
}
{
return (__m512i) __builtin_ia32_cvttps2udq512_mask ((__v16sf) __A,
(__v16si)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask16) -1, __R);
}
}
#else
#define _mm512_cvtt_roundps_epi32(A, B) \
- ((__m512i)__builtin_ia32_cvttps2dq512_mask(A, (__v16si)_mm512_setzero_si512 (), -1, B))
+ ((__m512i)__builtin_ia32_cvttps2dq512_mask(A, (__v16si)_mm512_undefined_si512 (), -1, 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)_mm512_setzero_si512 (), U, B))
#define _mm512_cvtt_roundps_epu32(A, B) \
- ((__m512i)__builtin_ia32_cvttps2udq512_mask(A, (__v16si)_mm512_setzero_si512 (), -1, B))
+ ((__m512i)__builtin_ia32_cvttps2udq512_mask(A, (__v16si)_mm512_undefined_si512 (), -1, B))
#define _mm512_mask_cvtt_roundps_epu32(W, U, A, B) \
((__m512i)__builtin_ia32_cvttps2udq512_mask(A, (__v16si)(W), U, B))
{
return (__m512i) __builtin_ia32_cvtps2dq512_mask ((__v16sf) __A,
(__v16si)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask16) -1, __R);
}
{
return (__m512i) __builtin_ia32_cvtps2udq512_mask ((__v16sf) __A,
(__v16si)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask16) -1, __R);
}
}
#else
#define _mm512_cvt_roundps_epi32(A, B) \
- ((__m512i)__builtin_ia32_cvtps2dq512_mask(A, (__v16si)_mm512_setzero_si512 (), -1, B))
+ ((__m512i)__builtin_ia32_cvtps2dq512_mask(A, (__v16si)_mm512_undefined_si512 (), -1, 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)_mm512_setzero_si512 (), U, B))
#define _mm512_cvt_roundps_epu32(A, B) \
- ((__m512i)__builtin_ia32_cvtps2udq512_mask(A, (__v16si)_mm512_setzero_si512 (), -1, B))
+ ((__m512i)__builtin_ia32_cvtps2udq512_mask(A, (__v16si)_mm512_undefined_si512 (), -1, B))
#define _mm512_mask_cvt_roundps_epu32(W, U, A, B) \
((__m512i)__builtin_ia32_cvtps2udq512_mask(A, (__v16si)(W), U, B))
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtepi32_epi8 (__m512i __A)
{
- __v16qi __O;
- return (__m128i) __builtin_ia32_pmovdb512_mask ((__v16si) __A, __O,
+ return (__m128i) __builtin_ia32_pmovdb512_mask ((__v16si) __A,
+ (__v16qi)
+ _mm_undefined_si128 (),
(__mmask16) -1);
}
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtsepi32_epi8 (__m512i __A)
{
- __v16qi __O;
- return (__m128i) __builtin_ia32_pmovsdb512_mask ((__v16si) __A, __O,
+ return (__m128i) __builtin_ia32_pmovsdb512_mask ((__v16si) __A,
+ (__v16qi)
+ _mm_undefined_si128 (),
(__mmask16) -1);
}
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtusepi32_epi8 (__m512i __A)
{
- __v16qi __O;
- return (__m128i) __builtin_ia32_pmovusdb512_mask ((__v16si) __A, __O,
+ return (__m128i) __builtin_ia32_pmovusdb512_mask ((__v16si) __A,
+ (__v16qi)
+ _mm_undefined_si128 (),
(__mmask16) -1);
}
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtepi32_epi16 (__m512i __A)
{
- __v16hi __O;
- return (__m256i) __builtin_ia32_pmovdw512_mask ((__v16si) __A, __O,
+ return (__m256i) __builtin_ia32_pmovdw512_mask ((__v16si) __A,
+ (__v16hi)
+ _mm256_undefined_si256 (),
(__mmask16) -1);
}
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtsepi32_epi16 (__m512i __A)
{
- __v16hi __O;
- return (__m256i) __builtin_ia32_pmovsdw512_mask ((__v16si) __A, __O,
+ return (__m256i) __builtin_ia32_pmovsdw512_mask ((__v16si) __A,
+ (__v16hi)
+ _mm256_undefined_si256 (),
(__mmask16) -1);
}
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtusepi32_epi16 (__m512i __A)
{
- __v16hi __O;
- return (__m256i) __builtin_ia32_pmovusdw512_mask ((__v16si) __A, __O,
+ return (__m256i) __builtin_ia32_pmovusdw512_mask ((__v16si) __A,
+ (__v16hi)
+ _mm256_undefined_si256 (),
(__mmask16) -1);
}
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtepi64_epi32 (__m512i __A)
{
- __v8si __O;
- return (__m256i) __builtin_ia32_pmovqd512_mask ((__v8di) __A, __O,
+ return (__m256i) __builtin_ia32_pmovqd512_mask ((__v8di) __A,
+ (__v8si)
+ _mm256_undefined_si256 (),
(__mmask8) -1);
}
_mm512_cvtsepi64_epi32 (__m512i __A)
{
__v8si __O;
- return (__m256i) __builtin_ia32_pmovsqd512_mask ((__v8di) __A, __O,
+ return (__m256i) __builtin_ia32_pmovsqd512_mask ((__v8di) __A,
+ (__v8si)
+ _mm256_undefined_si256 (),
(__mmask8) -1);
}
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtusepi64_epi32 (__m512i __A)
{
- __v8si __O;
- return (__m256i) __builtin_ia32_pmovusqd512_mask ((__v8di) __A, __O,
+ return (__m256i) __builtin_ia32_pmovusqd512_mask ((__v8di) __A,
+ (__v8si)
+ _mm256_undefined_si256 (),
(__mmask8) -1);
}
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtepi64_epi16 (__m512i __A)
{
- __v8hi __O;
- return (__m128i) __builtin_ia32_pmovqw512_mask ((__v8di) __A, __O,
+ return (__m128i) __builtin_ia32_pmovqw512_mask ((__v8di) __A,
+ (__v8hi)
+ _mm_undefined_si128 (),
(__mmask8) -1);
}
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtsepi64_epi16 (__m512i __A)
{
- __v8hi __O;
- return (__m128i) __builtin_ia32_pmovsqw512_mask ((__v8di) __A, __O,
+ return (__m128i) __builtin_ia32_pmovsqw512_mask ((__v8di) __A,
+ (__v8hi)
+ _mm_undefined_si128 (),
(__mmask8) -1);
}
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtusepi64_epi16 (__m512i __A)
{
- __v8hi __O;
- return (__m128i) __builtin_ia32_pmovusqw512_mask ((__v8di) __A, __O,
+ return (__m128i) __builtin_ia32_pmovusqw512_mask ((__v8di) __A,
+ (__v8hi)
+ _mm_undefined_si128 (),
(__mmask8) -1);
}
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtepi64_epi8 (__m512i __A)
{
- __v16qi __O;
- return (__m128i) __builtin_ia32_pmovqb512_mask ((__v8di) __A, __O,
+ return (__m128i) __builtin_ia32_pmovqb512_mask ((__v8di) __A,
+ (__v16qi)
+ _mm_undefined_si128 (),
(__mmask8) -1);
}
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtsepi64_epi8 (__m512i __A)
{
- __v16qi __O;
- return (__m128i) __builtin_ia32_pmovsqb512_mask ((__v8di) __A, __O,
+ return (__m128i) __builtin_ia32_pmovsqb512_mask ((__v8di) __A,
+ (__v16qi)
+ _mm_undefined_si128 (),
(__mmask8) -1);
}
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtusepi64_epi8 (__m512i __A)
{
- __v16qi __O;
- return (__m128i) __builtin_ia32_pmovusqb512_mask ((__v8di) __A, __O,
+ return (__m128i) __builtin_ia32_pmovusqb512_mask ((__v8di) __A,
+ (__v16qi)
+ _mm_undefined_si128 (),
(__mmask8) -1);
}
{
return (__m512d) __builtin_ia32_cvtdq2pd512_mask ((__v8si) __A,
(__v8df)
- _mm512_setzero_pd (),
+ _mm512_undefined_pd (),
(__mmask8) -1);
}
{
return (__m512d) __builtin_ia32_cvtudq2pd512_mask ((__v8si) __A,
(__v8df)
- _mm512_setzero_pd (),
+ _mm512_undefined_pd (),
(__mmask8) -1);
}
{
return (__m512) __builtin_ia32_cvtdq2ps512_mask ((__v16si) __A,
(__v16sf)
- _mm512_setzero_ps (),
+ _mm512_undefined_ps (),
(__mmask16) -1, __R);
}
{
return (__m512) __builtin_ia32_cvtudq2ps512_mask ((__v16si) __A,
(__v16sf)
- _mm512_setzero_ps (),
+ _mm512_undefined_ps (),
(__mmask16) -1, __R);
}
#else
#define _mm512_cvt_roundepi32_ps(A, B) \
- (__m512)__builtin_ia32_cvtdq2ps512_mask((__v16si)(A), (__v16sf)_mm512_setzero_ps(), -1, B)
+ (__m512)__builtin_ia32_cvtdq2ps512_mask((__v16si)(A), (__v16sf)_mm512_undefined_ps(), -1, B)
#define _mm512_mask_cvt_roundepi32_ps(W, U, A, B) \
(__m512)__builtin_ia32_cvtdq2ps512_mask((__v16si)(A), W, U, B)
(__m512)__builtin_ia32_cvtdq2ps512_mask((__v16si)(A), (__v16sf)_mm512_setzero_ps(), U, B)
#define _mm512_cvt_roundepu32_ps(A, B) \
- (__m512)__builtin_ia32_cvtudq2ps512_mask((__v16si)(A), (__v16sf)_mm512_setzero_ps(), -1, B)
+ (__m512)__builtin_ia32_cvtudq2ps512_mask((__v16si)(A), (__v16sf)_mm512_undefined_ps(), -1, B)
#define _mm512_mask_cvt_roundepu32_ps(W, U, A, B) \
(__m512)__builtin_ia32_cvtudq2ps512_mask((__v16si)(A), W, U, B)
return (__m256d) __builtin_ia32_extractf64x4_mask ((__v8df) __A,
__imm,
(__v4df)
- _mm256_setzero_pd (),
+ _mm256_undefined_pd (),
(__mmask8) -1);
}
return (__m128) __builtin_ia32_extractf32x4_mask ((__v16sf) __A,
__imm,
(__v4sf)
- _mm_setzero_ps (),
+ _mm_undefined_ps (),
(__mmask8) -1);
}
return (__m256i) __builtin_ia32_extracti64x4_mask ((__v8di) __A,
__imm,
(__v4di)
- _mm256_setzero_si256 (),
+ _mm256_undefined_si256 (),
(__mmask8) -1);
}
return (__m128i) __builtin_ia32_extracti32x4_mask ((__v16si) __A,
__imm,
(__v4si)
- _mm_setzero_si128 (),
+ _mm_undefined_si128 (),
(__mmask8) -1);
}
#define _mm512_extractf64x4_pd(X, C) \
((__m256d) __builtin_ia32_extractf64x4_mask ((__v8df)(__m512d) (X), \
(int) (C),\
- (__v4df)(__m256d)_mm256_setzero_pd(),\
+ (__v4df)(__m256d)_mm256_undefined_pd(),\
(__mmask8)-1))
#define _mm512_mask_extractf64x4_pd(W, U, X, C) \
#define _mm512_extractf32x4_ps(X, C) \
((__m128) __builtin_ia32_extractf32x4_mask ((__v16sf)(__m512) (X), \
(int) (C),\
- (__v4sf)(__m128)_mm_setzero_ps(),\
+ (__v4sf)(__m128)_mm_undefined_ps(),\
(__mmask8)-1))
#define _mm512_mask_extractf32x4_ps(W, U, X, C) \
#define _mm512_extracti64x4_epi64(X, C) \
((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (X), \
(int) (C),\
- (__v4di)(__m256i)_mm256_setzero_si256 (),\
+ (__v4di)(__m256i)_mm256_undefined_si256 (),\
(__mmask8)-1))
#define _mm512_mask_extracti64x4_epi64(W, U, X, C) \
#define _mm512_extracti32x4_epi32(X, C) \
((__m128i) __builtin_ia32_extracti32x4_mask ((__v16si)(__m512i) (X), \
(int) (C),\
- (__v4si)(__m128i)_mm_setzero_si128 (),\
+ (__v4si)(__m128i)_mm_undefined_si128 (),\
(__mmask8)-1))
#define _mm512_mask_extracti32x4_epi32(W, U, X, C) \
(__v4di) __B,
__imm,
(__v8di)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask8) -1);
}
(__v4df) __B,
__imm,
(__v8df)
- _mm512_setzero_pd (),
+ _mm512_undefined_pd (),
(__mmask8) -1);
}
#define _mm512_insertf64x4(X, Y, C) \
((__m512d) __builtin_ia32_insertf64x4_mask ((__v8df)(__m512d) (X), \
(__v4df)(__m256d) (Y), (int) (C), \
- (__v8df)(__m512d)_mm512_setzero_pd(), \
+ (__v8df)(__m512d)_mm512_undefined_pd(), \
(__mmask8)-1))
#define _mm512_mask_insertf64x4(W, U, X, Y, C) \
#define _mm512_inserti64x4(X, Y, C) \
((__m512i) __builtin_ia32_inserti64x4_mask ((__v8di)(__m512i) (X), \
(__v4di)(__m256i) (Y), (int) (C), \
- (__v8di)(__m512i)_mm512_setzero_si512 (), \
+ (__v8di)(__m512i)_mm512_undefined_si512 (), \
(__mmask8)-1))
#define _mm512_mask_inserti64x4(W, U, X, Y, C) \
{
return (__m512d) __builtin_ia32_loadupd512_mask ((const __v8df *) __P,
(__v8df)
- _mm512_setzero_pd (),
+ _mm512_undefined_pd (),
(__mmask8) -1);
}
{
return (__m512) __builtin_ia32_loadups512_mask ((const __v16sf *) __P,
(__v16sf)
- _mm512_setzero_ps (),
+ _mm512_undefined_ps (),
(__mmask16) -1);
}
return (__m512d) __builtin_ia32_vpermilvarpd512_mask ((__v8df) __A,
(__v8di) __C,
(__v8df)
- _mm512_setzero_pd (),
+ _mm512_undefined_pd (),
(__mmask8) -1);
}
return (__m512) __builtin_ia32_vpermilvarps512_mask ((__v16sf) __A,
(__v16si) __C,
(__v16sf)
- _mm512_setzero_ps (),
+ _mm512_undefined_ps (),
(__mmask16) -1);
}
{
return (__m512d) __builtin_ia32_vpermilpd512_mask ((__v8df) __X, __C,
(__v8df)
- _mm512_setzero_pd (),
+ _mm512_undefined_pd (),
(__mmask8) -1);
}
{
return (__m512) __builtin_ia32_vpermilps512_mask ((__v16sf) __X, __C,
(__v16sf)
- _mm512_setzero_ps (),
+ _mm512_undefined_ps (),
(__mmask16) -1);
}
#else
#define _mm512_permute_pd(X, C) \
((__m512d) __builtin_ia32_vpermilpd512_mask ((__v8df)(__m512d)(X), (int)(C), \
- (__v8df)(__m512d)(X), \
+ (__v8df)(__m512d)_mm512_undefined_pd(),\
(__mmask8)(-1)))
#define _mm512_mask_permute_pd(W, U, X, C) \
#define _mm512_permute_ps(X, C) \
((__m512) __builtin_ia32_vpermilps512_mask ((__v16sf)(__m512)(X), (int)(C), \
- (__v16sf)(__m512)(X), \
+ (__v16sf)(__m512)_mm512_undefined_ps(),\
(__mmask16)(-1)))
#define _mm512_mask_permute_ps(W, U, X, C) \
{
return (__m512i) __builtin_ia32_permdi512_mask ((__v8di) __X, __I,
(__v8di)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask8) (-1));
}
{
return (__m512d) __builtin_ia32_permdf512_mask ((__v8df) __X, __M,
(__v8df)
- _mm512_setzero_pd (),
+ _mm512_undefined_pd (),
(__mmask8) -1);
}
#else
#define _mm512_permutex_pd(X, M) \
((__m512d) __builtin_ia32_permdf512_mask ((__v8df)(__m512d)(X), (int)(M), \
- (__v8df)(__m512d)(X), (__mmask8)-1))
+ (__v8df)(__m512d)_mm512_undefined_pd(),\
+ (__mmask8)-1))
#define _mm512_mask_permutex_pd(W, U, X, M) \
((__m512d) __builtin_ia32_permdf512_mask ((__v8df)(__m512d)(X), (int)(M), \
#define _mm512_permutex_epi64(X, I) \
((__m512i) __builtin_ia32_permdi512_mask ((__v8di)(__m512i)(X), \
(int)(I), \
- (__v8di)(__m512i)(X), \
+ (__v8di)(__m512i) \
+ (_mm512_undefined_si512 ()),\
(__mmask8)(-1)))
#define _mm512_maskz_permutex_epi64(M, X, I) \
return (__m512i) __builtin_ia32_permvardi512_mask ((__v8di) __Y,
(__v8di) __X,
(__v8di)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask8) -1);
}
return (__m512i) __builtin_ia32_permvarsi512_mask ((__v16si) __Y,
(__v16si) __X,
(__v16si)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask16) -1);
}
return (__m512d) __builtin_ia32_permvardf512_mask ((__v8df) __Y,
(__v8di) __X,
(__v8df)
- _mm512_setzero_pd (),
+ _mm512_undefined_pd (),
(__mmask8) -1);
}
return (__m512) __builtin_ia32_permvarsf512_mask ((__v16sf) __Y,
(__v16si) __X,
(__v16sf)
- _mm512_setzero_ps (),
+ _mm512_undefined_ps (),
(__mmask16) -1);
}
return (__m512) __builtin_ia32_shufps512_mask ((__v16sf) __M,
(__v16sf) __V, __imm,
(__v16sf)
- _mm512_setzero_ps (),
+ _mm512_undefined_ps (),
(__mmask16) -1);
}
return (__m512d) __builtin_ia32_shufpd512_mask ((__v8df) __M,
(__v8df) __V, __imm,
(__v8df)
- _mm512_setzero_pd (),
+ _mm512_undefined_pd (),
(__mmask8) -1);
}
#define _mm512_shuffle_pd(X, Y, C) \
((__m512d)__builtin_ia32_shufpd512_mask ((__v8df)(__m512d)(X), \
(__v8df)(__m512d)(Y), (int)(C),\
- (__v8df)(__m512d)_mm512_setzero_pd(),\
+ (__v8df)(__m512d)_mm512_undefined_pd(),\
(__mmask8)-1))
#define _mm512_mask_shuffle_pd(W, U, X, Y, C) \
#define _mm512_shuffle_ps(X, Y, C) \
((__m512)__builtin_ia32_shufps512_mask ((__v16sf)(__m512)(X), \
(__v16sf)(__m512)(Y), (int)(C),\
- (__v16sf)(__m512)_mm512_setzero_ps(),\
+ (__v16sf)(__m512)_mm512_undefined_ps(),\
(__mmask16)-1))
#define _mm512_mask_shuffle_ps(W, U, X, Y, C) \
{
return (__m512) __builtin_ia32_movshdup512_mask ((__v16sf) __A,
(__v16sf)
- _mm512_setzero_ps (),
+ _mm512_undefined_ps (),
(__mmask16) -1);
}
{
return (__m512) __builtin_ia32_movsldup512_mask ((__v16sf) __A,
(__v16sf)
- _mm512_setzero_ps (),
+ _mm512_undefined_ps (),
(__mmask16) -1);
}
return (__m512i) __builtin_ia32_pord512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask16) -1);
}
return (__m512i) __builtin_ia32_pord512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask16) -1);
}
return (__m512i) __builtin_ia32_porq512_mask ((__v8di) __A,
(__v8di) __B,
(__v8di)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask8) -1);
}
return (__m512i) __builtin_ia32_pxord512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask16) -1);
}
return (__m512i) __builtin_ia32_pxord512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask16) -1);
}
return (__m512i) __builtin_ia32_pxorq512_mask ((__v8di) __A,
(__v8di) __B,
(__v8di)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask8) -1);
}
{
return (__m512i) __builtin_ia32_prold512_mask ((__v16si) __A, __B,
(__v16si)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask16) -1);
}
{
return (__m512i) __builtin_ia32_prord512_mask ((__v16si) __A, __B,
(__v16si)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask16) -1);
}
{
return (__m512i) __builtin_ia32_prolq512_mask ((__v8di) __A, __B,
(__v8di)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask8) -1);
}
{
return (__m512i) __builtin_ia32_prorq512_mask ((__v8di) __A, __B,
(__v8di)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask8) -1);
}
#define _mm512_rol_epi32(A, B) \
((__m512i)__builtin_ia32_prold512_mask ((__v16si)(__m512i)(A), \
(int)(B), \
- (__v16si)_mm512_setzero_si512 (), \
+ (__v16si)_mm512_undefined_si512 (), \
(__mmask16)(-1)))
#define _mm512_mask_rol_epi32(W, U, A, B) \
((__m512i)__builtin_ia32_prold512_mask ((__v16si)(__m512i)(A), \
#define _mm512_ror_epi32(A, B) \
((__m512i)__builtin_ia32_prord512_mask ((__v16si)(__m512i)(A), \
(int)(B), \
- (__v16si)_mm512_setzero_si512 (), \
+ (__v16si)_mm512_undefined_si512 (), \
(__mmask16)(-1)))
#define _mm512_mask_ror_epi32(W, U, A, B) \
((__m512i)__builtin_ia32_prord512_mask ((__v16si)(__m512i)(A), \
#define _mm512_rol_epi64(A, B) \
((__m512i)__builtin_ia32_prolq512_mask ((__v8di)(__m512i)(A), \
(int)(B), \
- (__v8di)_mm512_setzero_si512 (), \
+ (__v8di)_mm512_undefined_si512 (), \
(__mmask8)(-1)))
#define _mm512_mask_rol_epi64(W, U, A, B) \
((__m512i)__builtin_ia32_prolq512_mask ((__v8di)(__m512i)(A), \
#define _mm512_ror_epi64(A, B) \
((__m512i)__builtin_ia32_prorq512_mask ((__v8di)(__m512i)(A), \
(int)(B), \
- (__v8di)_mm512_setzero_si512 (), \
+ (__v8di)_mm512_undefined_si512 (), \
(__mmask8)(-1)))
#define _mm512_mask_ror_epi64(W, U, A, B) \
((__m512i)__builtin_ia32_prorq512_mask ((__v8di)(__m512i)(A), \
return (__m512i) __builtin_ia32_pandd512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask16) -1);
}
return (__m512i) __builtin_ia32_pandd512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask16) -1);
}
return (__m512i) __builtin_ia32_pandq512_mask ((__v8di) __A,
(__v8di) __B,
(__v8di)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask8) -1);
}
return (__m512i) __builtin_ia32_pandnd512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask16) -1);
}
return (__m512i) __builtin_ia32_pandnd512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask16) -1);
}
return (__m512i) __builtin_ia32_pandnq512_mask ((__v8di) __A,
(__v8di) __B,
(__v8di)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask8) -1);
}
return (__m512i) __builtin_ia32_punpckhdq512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask16) -1);
}
return (__m512i) __builtin_ia32_punpckhqdq512_mask ((__v8di) __A,
(__v8di) __B,
(__v8di)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask8) -1);
}
return (__m512i) __builtin_ia32_punpckldq512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask16) -1);
}
return (__m512i) __builtin_ia32_punpcklqdq512_mask ((__v8di) __A,
(__v8di) __B,
(__v8di)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask8) -1);
}
{
return (__m512d) __builtin_ia32_movddup512_mask ((__v8df) __A,
(__v8df)
- _mm512_setzero_pd (),
+ _mm512_undefined_pd (),
(__mmask8) -1);
}
return (__m512d) __builtin_ia32_unpcklpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df)
- _mm512_setzero_pd (),
+ _mm512_undefined_pd (),
(__mmask8) -1);
}
return (__m512d) __builtin_ia32_unpckhpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df)
- _mm512_setzero_pd (),
+ _mm512_undefined_pd (),
(__mmask8) -1);
}
return (__m512) __builtin_ia32_unpckhps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf)
- _mm512_setzero_ps (),
+ _mm512_undefined_ps (),
(__mmask16) -1);
}
{
return (__m512d) __builtin_ia32_cvtps2pd512_mask ((__v8sf) __A,
(__v8df)
- _mm512_setzero_pd (),
+ _mm512_undefined_pd (),
(__mmask8) -1, __R);
}
{
return (__m512) __builtin_ia32_vcvtph2ps512_mask ((__v16hi) __A,
(__v16sf)
- _mm512_setzero_ps (),
+ _mm512_undefined_ps (),
(__mmask16) -1, __R);
}
return (__m256i) __builtin_ia32_vcvtps2ph512_mask ((__v16sf) __A,
__I,
(__v16hi)
- _mm256_setzero_si256 (),
+ _mm256_undefined_si256 (),
-1);
}
return (__m256i) __builtin_ia32_vcvtps2ph512_mask ((__v16sf) __A,
__I,
(__v16hi)
- _mm256_setzero_si256 (),
+ _mm256_undefined_si256 (),
-1);
}
}
#else
#define _mm512_cvt_roundps_pd(A, B) \
- (__m512d)__builtin_ia32_cvtps2pd512_mask(A, (__v8df)_mm512_setzero_pd(), -1, B)
+ (__m512d)__builtin_ia32_cvtps2pd512_mask(A, (__v8df)_mm512_undefined_pd(), -1, B)
#define _mm512_mask_cvt_roundps_pd(W, U, A, B) \
(__m512d)__builtin_ia32_cvtps2pd512_mask(A, (__v8df)(W), U, B)
(__m512d)__builtin_ia32_cvtps2pd512_mask(A, (__v8df)_mm512_setzero_pd(), U, B)
#define _mm512_cvt_roundph_ps(A, B) \
- (__m512)__builtin_ia32_vcvtph2ps512_mask((__v16hi)(A), (__v16sf)_mm512_setzero_ps(), -1, B)
+ (__m512)__builtin_ia32_vcvtph2ps512_mask((__v16hi)(A), (__v16sf)_mm512_undefined_ps(), -1, B)
#define _mm512_mask_cvt_roundph_ps(W, U, A, B) \
(__m512)__builtin_ia32_vcvtph2ps512_mask((__v16hi)(A), (__v16sf)(W), U, B)
#define _mm512_cvt_roundps_ph(A, I) \
((__m256i) __builtin_ia32_vcvtps2ph512_mask ((__v16sf)(__m512) A, (int) (I),\
- (__v16hi)_mm256_setzero_si256 (), -1))
+ (__v16hi)_mm256_undefined_si256 (), -1))
#define _mm512_cvtps_ph(A, I) \
((__m256i) __builtin_ia32_vcvtps2ph512_mask ((__v16sf)(__m512) A, (int) (I),\
- (__v16hi)_mm256_setzero_si256 (), -1))
+ (__v16hi)_mm256_undefined_si256 (), -1))
#define _mm512_mask_cvt_roundps_ph(U, W, A, I) \
((__m256i) __builtin_ia32_vcvtps2ph512_mask ((__v16sf)(__m512) A, (int) (I),\
(__v16hi)(__m256i)(U), (__mmask16) (W)))
{
return (__m256) __builtin_ia32_cvtpd2ps512_mask ((__v8df) __A,
(__v8sf)
- _mm256_setzero_ps (),
+ _mm256_undefined_ps (),
(__mmask8) -1, __R);
}
}
#else
#define _mm512_cvt_roundpd_ps(A, B) \
- (__m256)__builtin_ia32_cvtpd2ps512_mask(A, (__v8sf)_mm256_setzero_ps(), -1, B)
+ (__m256)__builtin_ia32_cvtpd2ps512_mask(A, (__v8sf)_mm256_undefined_ps(), -1, B)
#define _mm512_mask_cvt_roundpd_ps(W, U, A, B) \
(__m256)__builtin_ia32_cvtpd2ps512_mask(A, (__v8sf)(W), U, B)
{
return (__m512) __builtin_ia32_getexpps512_mask ((__v16sf) __A,
(__v16sf)
- _mm512_setzero_ps (),
+ _mm512_undefined_ps (),
(__mmask16) -1, __R);
}
{
return (__m512d) __builtin_ia32_getexppd512_mask ((__v8df) __A,
(__v8df)
- _mm512_setzero_pd (),
+ _mm512_undefined_pd (),
(__mmask8) -1, __R);
}
{
return (__m512d) __builtin_ia32_getmantpd512_mask ((__v8df) __A,
(__C << 2) | __B,
- _mm512_setzero_pd (),
+ _mm512_undefined_pd (),
(__mmask8) -1, __R);
}
{
return (__m512) __builtin_ia32_getmantps512_mask ((__v16sf) __A,
(__C << 2) | __B,
- _mm512_setzero_ps (),
+ _mm512_undefined_ps (),
(__mmask16) -1, __R);
}
#define _mm512_getmant_round_pd(X, B, C, R) \
((__m512d)__builtin_ia32_getmantpd512_mask ((__v8df)(__m512d)(X), \
(int)(((C)<<2) | (B)), \
- (__v8df)(__m512d)_mm512_setzero_pd(), \
+ (__v8df)(__m512d)_mm512_undefined_pd(), \
(__mmask8)-1,\
(R)))
#define _mm512_getmant_round_ps(X, B, C, R) \
((__m512)__builtin_ia32_getmantps512_mask ((__v16sf)(__m512)(X), \
(int)(((C)<<2) | (B)), \
- (__v16sf)(__m512)_mm512_setzero_ps(), \
+ (__v16sf)(__m512)_mm512_undefined_ps(), \
(__mmask16)-1,\
(R)))
#define _mm512_getexp_round_ps(A, R) \
((__m512)__builtin_ia32_getexpps512_mask((__v16sf)(__m512)(A), \
- (__v16sf)_mm512_setzero_ps(), (__mmask16)-1, R))
+ (__v16sf)_mm512_undefined_ps(), (__mmask16)-1, R))
#define _mm512_mask_getexp_round_ps(W, U, A, R) \
((__m512)__builtin_ia32_getexpps512_mask((__v16sf)(__m512)(A), \
#define _mm512_getexp_round_pd(A, R) \
((__m512d)__builtin_ia32_getexppd512_mask((__v8df)(__m512d)(A), \
- (__v8df)_mm512_setzero_pd(), (__mmask8)-1, R))
+ (__v8df)_mm512_undefined_pd(), (__mmask8)-1, R))
#define _mm512_mask_getexp_round_pd(W, U, A, R) \
((__m512d)__builtin_ia32_getexppd512_mask((__v8df)(__m512d)(A), \
_mm512_roundscale_round_ps (__m512 __A, const int __imm, const int __R)
{
return (__m512) __builtin_ia32_rndscaleps_mask ((__v16sf) __A, __imm,
- (__v16sf) __A, -1, __R);
+ (__v16sf)
+ _mm512_undefined_ps (),
+ -1, __R);
}
extern __inline __m512
_mm512_roundscale_round_pd (__m512d __A, const int __imm, const int __R)
{
return (__m512d) __builtin_ia32_rndscalepd_mask ((__v8df) __A, __imm,
- (__v8df) __A, -1, __R);
+ (__v8df)
+ _mm512_undefined_pd (),
+ -1, __R);
}
extern __inline __m512d
#else
#define _mm512_roundscale_round_ps(A, B, R) \
((__m512) __builtin_ia32_rndscaleps_mask ((__v16sf)(__m512)(A), (int)(B),\
- (__v16sf)(__m512)(A), (__mmask16)(-1), R))
+ (__v16sf)_mm512_undefined_ps(), (__mmask16)(-1), R))
#define _mm512_mask_roundscale_round_ps(A, B, C, D, R) \
((__m512) __builtin_ia32_rndscaleps_mask ((__v16sf)(__m512)(C), \
(int)(D), \
(__mmask16)(A), R))
#define _mm512_roundscale_round_pd(A, B, R) \
((__m512d) __builtin_ia32_rndscalepd_mask ((__v8df)(__m512d)(A), (int)(B),\
- (__v8df)(__m512d)(A), (__mmask8)(-1), R))
+ (__v8df)_mm512_undefined_pd(), (__mmask8)(-1), R))
#define _mm512_mask_roundscale_round_pd(A, B, C, D, R) \
((__m512d) __builtin_ia32_rndscalepd_mask ((__v8df)(__m512d)(C), \
(int)(D), \
return (__m512i) __builtin_ia32_alignd512_mask ((__v16si) __A,
(__v16si) __B, __imm,
(__v16si)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask16) -1);
}
return (__m512i) __builtin_ia32_alignq512_mask ((__v8di) __A,
(__v8di) __B, __imm,
(__v8di)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask8) -1);
}
#else
#define _mm512_alignr_epi32(X, Y, C) \
((__m512i)__builtin_ia32_alignd512_mask ((__v16si)(__m512i)(X), \
- (__v16si)(__m512i)(Y), (int)(C), (__v16si)(__m512i)(X), \
+ (__v16si)(__m512i)(Y), (int)(C), (__v16si)_mm512_undefined_si512 (),\
(__mmask16)-1))
#define _mm512_mask_alignr_epi32(W, U, X, Y, C) \
#define _mm512_maskz_alignr_epi32(U, X, Y, C) \
((__m512i)__builtin_ia32_alignd512_mask ((__v16si)(__m512i)(X), \
- (__v16si)(__m512i)(Y), (int)(C), (__v16si)(__m512i)_mm512_setzero_si512 (),\
+ (__v16si)(__m512i)(Y), (int)(C), (__v16si)_mm512_setzero_si512 (),\
(__mmask16)(U)))
#define _mm512_alignr_epi64(X, Y, C) \
((__m512i)__builtin_ia32_alignq512_mask ((__v8di)(__m512i)(X), \
- (__v8di)(__m512i)(Y), (int)(C), (__v8di)(__m512i)(X), (__mmask8)-1))
+ (__v8di)(__m512i)(Y), (int)(C), (__v8di)_mm512_undefined_si512 (), \
+ (__mmask8)-1))
#define _mm512_mask_alignr_epi64(W, U, X, Y, C) \
((__m512i)__builtin_ia32_alignq512_mask ((__v8di)(__m512i)(X), \
#define _mm512_maskz_alignr_epi64(U, X, Y, C) \
((__m512i)__builtin_ia32_alignq512_mask ((__v8di)(__m512i)(X), \
- (__v8di)(__m512i)(Y), (int)(C), (__v8di)(__m512i)_mm512_setzero_si512 (),\
+ (__v8di)(__m512i)(Y), (int)(C), (__v8di)_mm512_setzero_si512 (),\
(__mmask8)(U)))
#endif
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_i32gather_ps (__m512i __index, float const *__addr, int __scale)
{
- __m512 v1_old = _mm512_setzero_ps ();
+ __m512 v1_old = _mm512_undefined_ps ();
__mmask16 mask = 0xFFFF;
return (__m512) __builtin_ia32_gathersiv16sf ((__v16sf) v1_old,
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_i32gather_pd (__m256i __index, double const *__addr, int __scale)
{
- __m512d v1_old = _mm512_setzero_pd ();
+ __m512d v1_old = _mm512_undefined_pd ();
__mmask8 mask = 0xFF;
return (__m512d) __builtin_ia32_gathersiv8df ((__v8df) v1_old,
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_i64gather_ps (__m512i __index, float const *__addr, int __scale)
{
- __m256 v1_old = _mm256_setzero_ps ();
+ __m256 v1_old = _mm256_undefined_ps ();
__mmask8 mask = 0xFF;
return (__m256) __builtin_ia32_gatherdiv16sf ((__v8sf) v1_old,
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_i64gather_pd (__m512i __index, double const *__addr, int __scale)
{
- __m512d v1_old = _mm512_setzero_pd ();
+ __m512d v1_old = _mm512_undefined_pd ();
__mmask8 mask = 0xFF;
return (__m512d) __builtin_ia32_gatherdiv8df ((__v8df) v1_old,
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_i32gather_epi32 (__m512i __index, int const *__addr, int __scale)
{
- __m512i v1_old = _mm512_setzero_si512 ();
+ __m512i v1_old = _mm512_undefined_si512 ();
__mmask16 mask = 0xFFFF;
return (__m512i) __builtin_ia32_gathersiv16si ((__v16si) v1_old,
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_i32gather_epi64 (__m256i __index, long long const *__addr, int __scale)
{
- __m512i v1_old = _mm512_setzero_si512 ();
+ __m512i v1_old = _mm512_undefined_si512 ();
__mmask8 mask = 0xFF;
return (__m512i) __builtin_ia32_gathersiv8di ((__v8di) v1_old,
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_i64gather_epi32 (__m512i __index, int const *__addr, int __scale)
{
- __m256i v1_old = _mm256_setzero_si256 ();
+ __m256i v1_old = _mm256_undefined_si256 ();
__mmask8 mask = 0xFF;
return (__m256i) __builtin_ia32_gatherdiv16si ((__v8si) v1_old,
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_i64gather_epi64 (__m512i __index, long long const *__addr, int __scale)
{
- __m512i v1_old = _mm512_setzero_si512 ();
+ __m512i v1_old = _mm512_undefined_si512 ();
__mmask8 mask = 0xFF;
return (__m512i) __builtin_ia32_gatherdiv8di ((__v8di) v1_old,
}
#else
#define _mm512_i32gather_ps(INDEX, ADDR, SCALE) \
- (__m512) __builtin_ia32_gathersiv16sf ((__v16sf)_mm512_setzero_ps(), \
+ (__m512) __builtin_ia32_gathersiv16sf ((__v16sf)_mm512_undefined_ps(),\
(float const *)ADDR, \
(__v16si)(__m512i)INDEX, \
(__mmask16)0xFFFF, (int)SCALE)
(__mmask16)MASK, (int)SCALE)
#define _mm512_i32gather_pd(INDEX, ADDR, SCALE) \
- (__m512d) __builtin_ia32_gathersiv8df ((__v8df)_mm512_setzero_pd(), \
+ (__m512d) __builtin_ia32_gathersiv8df ((__v8df)_mm512_undefined_pd(), \
(double const *)ADDR, \
(__v8si)(__m256i)INDEX, \
(__mmask8)0xFF, (int)SCALE)
(__mmask8)MASK, (int)SCALE)
#define _mm512_i64gather_ps(INDEX, ADDR, SCALE) \
- (__m256) __builtin_ia32_gatherdiv16sf ((__v8sf)_mm256_setzero_ps(), \
+ (__m256) __builtin_ia32_gatherdiv16sf ((__v8sf)_mm256_undefined_ps(), \
(float const *)ADDR, \
(__v8di)(__m512i)INDEX, \
(__mmask8)0xFF, (int)SCALE)
(__mmask8)MASK, (int)SCALE)
#define _mm512_i64gather_pd(INDEX, ADDR, SCALE) \
- (__m512d) __builtin_ia32_gatherdiv8df ((__v8df)_mm512_setzero_pd(), \
+ (__m512d) __builtin_ia32_gatherdiv8df ((__v8df)_mm512_undefined_pd(), \
(double const *)ADDR, \
(__v8di)(__m512i)INDEX, \
(__mmask8)0xFF, (int)SCALE)
(__mmask8)MASK, (int)SCALE)
#define _mm512_i32gather_epi32(INDEX, ADDR, SCALE) \
- (__m512i) __builtin_ia32_gathersiv16si ((__v16si)_mm512_setzero_si512 (), \
+ (__m512i) __builtin_ia32_gathersiv16si ((__v16si)_mm512_undefined_si512 (), \
(int const *)ADDR, \
(__v16si)(__m512i)INDEX, \
(__mmask16)0xFFFF, (int)SCALE)
(__mmask16)MASK, (int)SCALE)
#define _mm512_i32gather_epi64(INDEX, ADDR, SCALE) \
- (__m512i) __builtin_ia32_gathersiv8di ((__v8di)_mm512_setzero_si512 (), \
+ (__m512i) __builtin_ia32_gathersiv8di ((__v8di)_mm512_undefined_si512 (), \
(long long const *)ADDR, \
(__v8si)(__m256i)INDEX, \
(__mmask8)0xFF, (int)SCALE)
(__mmask8)MASK, (int)SCALE)
#define _mm512_i64gather_epi32(INDEX, ADDR, SCALE) \
- (__m256i) __builtin_ia32_gatherdiv16si ((__v8si)_mm256_setzero_si256(), \
+ (__m256i) __builtin_ia32_gatherdiv16si ((__v8si)_mm256_undefined_si256(), \
(int const *)ADDR, \
(__v8di)(__m512i)INDEX, \
(__mmask8)0xFF, (int)SCALE)
(__mmask8)MASK, (int)SCALE)
#define _mm512_i64gather_epi64(INDEX, ADDR, SCALE) \
- (__m512i) __builtin_ia32_gatherdiv8di ((__v8di)_mm512_setzero_si512 (), \
+ (__m512i) __builtin_ia32_gatherdiv8di ((__v8di)_mm512_undefined_si512 (), \
(long long const *)ADDR, \
(__v8di)(__m512i)INDEX, \
(__mmask8)0xFF, (int)SCALE)
return (__m512i) __builtin_ia32_pmaxsq512_mask ((__v8di) __A,
(__v8di) __B,
(__v8di)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask8) -1);
}
return (__m512i) __builtin_ia32_pminsq512_mask ((__v8di) __A,
(__v8di) __B,
(__v8di)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask8) -1);
}
return (__m512i) __builtin_ia32_pmaxuq512_mask ((__v8di) __A,
(__v8di) __B,
(__v8di)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask8) -1);
}
return (__m512i) __builtin_ia32_pminuq512_mask ((__v8di) __A,
(__v8di) __B,
(__v8di)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask8) -1);
}
return (__m512i) __builtin_ia32_pmaxsd512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask16) -1);
}
return (__m512i) __builtin_ia32_pminsd512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask16) -1);
}
return (__m512i) __builtin_ia32_pmaxud512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask16) -1);
}
return (__m512i) __builtin_ia32_pminud512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask16) -1);
}
return (__m512) __builtin_ia32_unpcklps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf)
- _mm512_setzero_ps (),
+ _mm512_undefined_ps (),
(__mmask16) -1);
}
{
return (__m512d) __builtin_ia32_sqrtpd512_mask ((__v8df) __A,
(__v8df)
- _mm512_setzero_pd (),
+ _mm512_undefined_pd (),
(__mmask8) -1,
_MM_FROUND_CUR_DIRECTION);
}
{
return (__m512) __builtin_ia32_sqrtps512_mask ((__v16sf) __A,
(__v16sf)
- _mm512_setzero_ps (),
+ _mm512_undefined_ps (),
(__mmask16) -1,
_MM_FROUND_CUR_DIRECTION);
}
return (__m512d) __builtin_ia32_addpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df)
- _mm512_setzero_pd (),
+ _mm512_undefined_pd (),
(__mmask8) -1,
_MM_FROUND_CUR_DIRECTION);
}
return (__m512) __builtin_ia32_addps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf)
- _mm512_setzero_ps (),
+ _mm512_undefined_ps (),
(__mmask16) -1,
_MM_FROUND_CUR_DIRECTION);
}
return (__m512d) __builtin_ia32_subpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df)
- _mm512_setzero_pd (),
+ _mm512_undefined_pd (),
(__mmask8) -1,
_MM_FROUND_CUR_DIRECTION);
}
return (__m512) __builtin_ia32_subps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf)
- _mm512_setzero_ps (),
+ _mm512_undefined_ps (),
(__mmask16) -1,
_MM_FROUND_CUR_DIRECTION);
}
return (__m512d) __builtin_ia32_mulpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df)
- _mm512_setzero_pd (),
+ _mm512_undefined_pd (),
(__mmask8) -1,
_MM_FROUND_CUR_DIRECTION);
}
return (__m512) __builtin_ia32_mulps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf)
- _mm512_setzero_ps (),
+ _mm512_undefined_ps (),
(__mmask16) -1,
_MM_FROUND_CUR_DIRECTION);
}
return (__m512d) __builtin_ia32_divpd512_mask ((__v8df) __M,
(__v8df) __V,
(__v8df)
- _mm512_setzero_pd (),
+ _mm512_undefined_pd (),
(__mmask8) -1,
_MM_FROUND_CUR_DIRECTION);
}
return (__m512) __builtin_ia32_divps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf)
- _mm512_setzero_ps (),
+ _mm512_undefined_ps (),
(__mmask16) -1,
_MM_FROUND_CUR_DIRECTION);
}
return (__m512d) __builtin_ia32_maxpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df)
- _mm512_setzero_pd (),
+ _mm512_undefined_pd (),
(__mmask8) -1,
_MM_FROUND_CUR_DIRECTION);
}
return (__m512) __builtin_ia32_maxps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf)
- _mm512_setzero_ps (),
+ _mm512_undefined_ps (),
(__mmask16) -1,
_MM_FROUND_CUR_DIRECTION);
}
return (__m512d) __builtin_ia32_minpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df)
- _mm512_setzero_pd (),
+ _mm512_undefined_pd (),
(__mmask8) -1,
_MM_FROUND_CUR_DIRECTION);
}
return (__m512) __builtin_ia32_minps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf)
- _mm512_setzero_ps (),
+ _mm512_undefined_ps (),
(__mmask16) -1,
_MM_FROUND_CUR_DIRECTION);
}
return (__m512d) __builtin_ia32_scalefpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df)
- _mm512_setzero_pd (),
+ _mm512_undefined_pd (),
(__mmask8) -1,
_MM_FROUND_CUR_DIRECTION);
}
return (__m512) __builtin_ia32_scalefps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf)
- _mm512_setzero_ps (),
+ _mm512_undefined_ps (),
(__mmask16) -1,
_MM_FROUND_CUR_DIRECTION);
}
{
return (__m256i) __builtin_ia32_cvttpd2dq512_mask ((__v8df) __A,
(__v8si)
- _mm256_setzero_si256 (),
+ _mm256_undefined_si256 (),
(__mmask8) -1,
_MM_FROUND_CUR_DIRECTION);
}
{
return (__m256i) __builtin_ia32_cvttpd2udq512_mask ((__v8df) __A,
(__v8si)
- _mm256_setzero_si256 (),
+ _mm256_undefined_si256 (),
(__mmask8) -1,
_MM_FROUND_CUR_DIRECTION);
}
{
return (__m256i) __builtin_ia32_cvtpd2dq512_mask ((__v8df) __A,
(__v8si)
- _mm256_setzero_si256 (),
+ _mm256_undefined_si256 (),
(__mmask8) -1,
_MM_FROUND_CUR_DIRECTION);
}
{
return (__m256i) __builtin_ia32_cvtpd2udq512_mask ((__v8df) __A,
(__v8si)
- _mm256_setzero_si256 (),
+ _mm256_undefined_si256 (),
(__mmask8) -1,
_MM_FROUND_CUR_DIRECTION);
}
{
return (__m512i) __builtin_ia32_cvttps2dq512_mask ((__v16sf) __A,
(__v16si)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask16) -1,
_MM_FROUND_CUR_DIRECTION);
}
{
return (__m512i) __builtin_ia32_cvttps2udq512_mask ((__v16sf) __A,
(__v16si)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask16) -1,
_MM_FROUND_CUR_DIRECTION);
}
{
return (__m512i) __builtin_ia32_cvtps2dq512_mask ((__v16sf) __A,
(__v16si)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask16) -1,
_MM_FROUND_CUR_DIRECTION);
}
{
return (__m512i) __builtin_ia32_cvtps2udq512_mask ((__v16sf) __A,
(__v16si)
- _mm512_setzero_si512 (),
+ _mm512_undefined_si512 (),
(__mmask16) -1,
_MM_FROUND_CUR_DIRECTION);
}
{
return (__m512) __builtin_ia32_cvtdq2ps512_mask ((__v16si) __A,
(__v16sf)
- _mm512_setzero_ps (),
+ _mm512_undefined_ps (),
(__mmask16) -1,
_MM_FROUND_CUR_DIRECTION);
}
{
return (__m512) __builtin_ia32_cvtudq2ps512_mask ((__v16si) __A,
(__v16sf)
- _mm512_setzero_ps (),
+ _mm512_undefined_ps (),
(__mmask16) -1,
_MM_FROUND_CUR_DIRECTION);
}
{
return (__m512d) __builtin_ia32_cvtps2pd512_mask ((__v8sf) __A,
(__v8df)
- _mm512_setzero_pd (),
+ _mm512_undefined_pd (),
(__mmask8) -1,
_MM_FROUND_CUR_DIRECTION);
}
{
return (__m512) __builtin_ia32_vcvtph2ps512_mask ((__v16hi) __A,
(__v16sf)
- _mm512_setzero_ps (),
+ _mm512_undefined_ps (),
(__mmask16) -1,
_MM_FROUND_CUR_DIRECTION);
}
{
return (__m256) __builtin_ia32_cvtpd2ps512_mask ((__v8df) __A,
(__v8sf)
- _mm256_setzero_ps (),
+ _mm256_undefined_ps (),
(__mmask8) -1,
_MM_FROUND_CUR_DIRECTION);
}
{
return (__m512) __builtin_ia32_getexpps512_mask ((__v16sf) __A,
(__v16sf)
- _mm512_setzero_ps (),
+ _mm512_undefined_ps (),
(__mmask16) -1,
_MM_FROUND_CUR_DIRECTION);
}
{
return (__m512d) __builtin_ia32_getexppd512_mask ((__v8df) __A,
(__v8df)
- _mm512_setzero_pd (),
+ _mm512_undefined_pd (),
(__mmask8) -1,
_MM_FROUND_CUR_DIRECTION);
}
{
return (__m512d) __builtin_ia32_getmantpd512_mask ((__v8df) __A,
(__C << 2) | __B,
- _mm512_setzero_pd (),
+ _mm512_undefined_pd (),
(__mmask8) -1,
_MM_FROUND_CUR_DIRECTION);
}
{
return (__m512) __builtin_ia32_getmantps512_mask ((__v16sf) __A,
(__C << 2) | __B,
- _mm512_setzero_ps (),
+ _mm512_undefined_ps (),
(__mmask16) -1,
_MM_FROUND_CUR_DIRECTION);
}
#define _mm512_getmant_pd(X, B, C) \
((__m512d)__builtin_ia32_getmantpd512_mask ((__v8df)(__m512d)(X), \
(int)(((C)<<2) | (B)), \
- (__v8df)(__m512d)_mm512_setzero_pd(), \
+ (__v8df)_mm512_undefined_pd(), \
(__mmask8)-1,\
_MM_FROUND_CUR_DIRECTION))
#define _mm512_maskz_getmant_pd(U, X, B, C) \
((__m512d)__builtin_ia32_getmantpd512_mask ((__v8df)(__m512d)(X), \
(int)(((C)<<2) | (B)), \
- (__v8df)(__m512d)_mm512_setzero_pd(), \
+ (__v8df)_mm512_setzero_pd(), \
(__mmask8)(U),\
_MM_FROUND_CUR_DIRECTION))
#define _mm512_getmant_ps(X, B, C) \
((__m512)__builtin_ia32_getmantps512_mask ((__v16sf)(__m512)(X), \
(int)(((C)<<2) | (B)), \
- (__v16sf)(__m512)_mm512_setzero_ps(), \
+ (__v16sf)_mm512_undefined_ps(), \
(__mmask16)-1,\
_MM_FROUND_CUR_DIRECTION))
#define _mm512_maskz_getmant_ps(U, X, B, C) \
((__m512)__builtin_ia32_getmantps512_mask ((__v16sf)(__m512)(X), \
(int)(((C)<<2) | (B)), \
- (__v16sf)(__m512)_mm512_setzero_ps(), \
+ (__v16sf)_mm512_setzero_ps(), \
(__mmask16)(U),\
_MM_FROUND_CUR_DIRECTION))
#define _mm_getmant_sd(X, Y, C, D) \
#define _mm512_getexp_ps(A) \
((__m512)__builtin_ia32_getexpps512_mask((__v16sf)(__m512)(A), \
- (__v16sf)_mm512_setzero_ps(), (__mmask16)-1, _MM_FROUND_CUR_DIRECTION))
+ (__v16sf)_mm512_undefined_ps(), (__mmask16)-1, _MM_FROUND_CUR_DIRECTION))
#define _mm512_mask_getexp_ps(W, U, A) \
((__m512)__builtin_ia32_getexpps512_mask((__v16sf)(__m512)(A), \
#define _mm512_getexp_pd(A) \
((__m512d)__builtin_ia32_getexppd512_mask((__v8df)(__m512d)(A), \
- (__v8df)_mm512_setzero_pd(), (__mmask8)-1, _MM_FROUND_CUR_DIRECTION))
+ (__v8df)_mm512_undefined_pd(), (__mmask8)-1, _MM_FROUND_CUR_DIRECTION))
#define _mm512_mask_getexp_pd(W, U, A) \
((__m512d)__builtin_ia32_getexppd512_mask((__v8df)(__m512d)(A), \
_mm512_roundscale_ps (__m512 __A, const int __imm)
{
return (__m512) __builtin_ia32_rndscaleps_mask ((__v16sf) __A, __imm,
- (__v16sf) __A, -1,
+ (__v16sf)
+ _mm512_undefined_ps (),
+ -1,
_MM_FROUND_CUR_DIRECTION);
}
_mm512_roundscale_pd (__m512d __A, const int __imm)
{
return (__m512d) __builtin_ia32_rndscalepd_mask ((__v8df) __A, __imm,
- (__v8df) __A, -1,
+ (__v8df)
+ _mm512_undefined_pd (),
+ -1,
_MM_FROUND_CUR_DIRECTION);
}
#else
#define _mm512_roundscale_ps(A, B) \
((__m512) __builtin_ia32_rndscaleps_mask ((__v16sf)(__m512)(A), (int)(B),\
- (__v16sf)(__m512)(A), (__mmask16)(-1), _MM_FROUND_CUR_DIRECTION))
+ (__v16sf)_mm512_undefined_ps(), (__mmask16)(-1), _MM_FROUND_CUR_DIRECTION))
#define _mm512_mask_roundscale_ps(A, B, C, D) \
((__m512) __builtin_ia32_rndscaleps_mask ((__v16sf)(__m512)(C), \
(int)(D), \
(__mmask16)(A), _MM_FROUND_CUR_DIRECTION))
#define _mm512_roundscale_pd(A, B) \
((__m512d) __builtin_ia32_rndscalepd_mask ((__v8df)(__m512d)(A), (int)(B),\
- (__v8df)(__m512d)(A), (__mmask8)(-1), _MM_FROUND_CUR_DIRECTION))
+ (__v8df)_mm512_undefined_pd(), (__mmask8)(-1), _MM_FROUND_CUR_DIRECTION))
#define _mm512_mask_roundscale_pd(A, B, C, D) \
((__m512d) __builtin_ia32_rndscalepd_mask ((__v8df)(__m512d)(C), \
(int)(D), \