forked from OSchip/llvm-project
[X86] Remove masking from avx512vbmi2 concat and shift by immediate builtins. Use select builtins instead.
llvm-svn: 334577
This commit is contained in:
parent
3829d258ee
commit
2527c378c6
|
@ -1238,15 +1238,15 @@ TARGET_BUILTIN(__builtin_ia32_vpermi2varhi128, "V8sV8sV8sV8s", "nc", "avx512vl,a
|
||||||
TARGET_BUILTIN(__builtin_ia32_vpermi2varhi256, "V16sV16sV16sV16s", "nc", "avx512vl,avx512bw")
|
TARGET_BUILTIN(__builtin_ia32_vpermi2varhi256, "V16sV16sV16sV16s", "nc", "avx512vl,avx512bw")
|
||||||
TARGET_BUILTIN(__builtin_ia32_vpermi2varhi512, "V32sV32sV32sV32s", "nc", "avx512bw")
|
TARGET_BUILTIN(__builtin_ia32_vpermi2varhi512, "V32sV32sV32sV32s", "nc", "avx512bw")
|
||||||
|
|
||||||
TARGET_BUILTIN(__builtin_ia32_vpshldd128_mask, "V4iV4iV4iIiV4iUc", "nc", "avx512vl,avx512vbmi2")
|
TARGET_BUILTIN(__builtin_ia32_vpshldd128, "V4iV4iV4iIi", "nc", "avx512vl,avx512vbmi2")
|
||||||
TARGET_BUILTIN(__builtin_ia32_vpshldd256_mask, "V8iV8iV8iIiV8iUc", "nc", "avx512vl,avx512vbmi2")
|
TARGET_BUILTIN(__builtin_ia32_vpshldd256, "V8iV8iV8iIi", "nc", "avx512vl,avx512vbmi2")
|
||||||
TARGET_BUILTIN(__builtin_ia32_vpshldd512_mask, "V16iV16iV16iIiV16iUs", "nc", "avx512vbmi2")
|
TARGET_BUILTIN(__builtin_ia32_vpshldd512, "V16iV16iV16iIi", "nc", "avx512vbmi2")
|
||||||
TARGET_BUILTIN(__builtin_ia32_vpshldq128_mask, "V2LLiV2LLiV2LLiIiV2LLiUc", "nc", "avx512vl,avx512vbmi2")
|
TARGET_BUILTIN(__builtin_ia32_vpshldq128, "V2LLiV2LLiV2LLiIi", "nc", "avx512vl,avx512vbmi2")
|
||||||
TARGET_BUILTIN(__builtin_ia32_vpshldq256_mask, "V4LLiV4LLiV4LLiIiV4LLiUc", "nc", "avx512vl,avx512vbmi2")
|
TARGET_BUILTIN(__builtin_ia32_vpshldq256, "V4LLiV4LLiV4LLiIi", "nc", "avx512vl,avx512vbmi2")
|
||||||
TARGET_BUILTIN(__builtin_ia32_vpshldq512_mask, "V8LLiV8LLiV8LLiIiV8LLiUc", "nc", "avx512vbmi2")
|
TARGET_BUILTIN(__builtin_ia32_vpshldq512, "V8LLiV8LLiV8LLiIi", "nc", "avx512vbmi2")
|
||||||
TARGET_BUILTIN(__builtin_ia32_vpshldw128_mask, "V8sV8sV8sIiV8sUc", "nc", "avx512vl,avx512vbmi2")
|
TARGET_BUILTIN(__builtin_ia32_vpshldw128, "V8sV8sV8sIi", "nc", "avx512vl,avx512vbmi2")
|
||||||
TARGET_BUILTIN(__builtin_ia32_vpshldw256_mask, "V16sV16sV16sIiV16sUs", "nc", "avx512vl,avx512vbmi2")
|
TARGET_BUILTIN(__builtin_ia32_vpshldw256, "V16sV16sV16sIi", "nc", "avx512vl,avx512vbmi2")
|
||||||
TARGET_BUILTIN(__builtin_ia32_vpshldw512_mask, "V32sV32sV32sIiV32sUi", "nc", "avx512vbmi2")
|
TARGET_BUILTIN(__builtin_ia32_vpshldw512, "V32sV32sV32sIi", "nc", "avx512vbmi2")
|
||||||
|
|
||||||
TARGET_BUILTIN(__builtin_ia32_vpshldvd128_mask, "V4iV4iV4iV4iUc", "nc", "avx512vl,avx512vbmi2")
|
TARGET_BUILTIN(__builtin_ia32_vpshldvd128_mask, "V4iV4iV4iV4iUc", "nc", "avx512vl,avx512vbmi2")
|
||||||
TARGET_BUILTIN(__builtin_ia32_vpshldvd256_mask, "V8iV8iV8iV8iUc", "nc", "avx512vl,avx512vbmi2")
|
TARGET_BUILTIN(__builtin_ia32_vpshldvd256_mask, "V8iV8iV8iV8iUc", "nc", "avx512vl,avx512vbmi2")
|
||||||
|
@ -1286,15 +1286,15 @@ TARGET_BUILTIN(__builtin_ia32_vpshrdvw128_maskz, "V8sV8sV8sV8sUc", "nc", "avx512
|
||||||
TARGET_BUILTIN(__builtin_ia32_vpshrdvw256_maskz, "V16sV16sV16sV16sUs", "nc", "avx512vl,avx512vbmi2")
|
TARGET_BUILTIN(__builtin_ia32_vpshrdvw256_maskz, "V16sV16sV16sV16sUs", "nc", "avx512vl,avx512vbmi2")
|
||||||
TARGET_BUILTIN(__builtin_ia32_vpshrdvw512_maskz, "V32sV32sV32sV32sUi", "nc", "avx512vbmi2")
|
TARGET_BUILTIN(__builtin_ia32_vpshrdvw512_maskz, "V32sV32sV32sV32sUi", "nc", "avx512vbmi2")
|
||||||
|
|
||||||
TARGET_BUILTIN(__builtin_ia32_vpshrdd128_mask, "V4iV4iV4iIiV4iUc", "nc", "avx512vl,avx512vbmi2")
|
TARGET_BUILTIN(__builtin_ia32_vpshrdd128, "V4iV4iV4iIi", "nc", "avx512vl,avx512vbmi2")
|
||||||
TARGET_BUILTIN(__builtin_ia32_vpshrdd256_mask, "V8iV8iV8iIiV8iUc", "nc", "avx512vl,avx512vbmi2")
|
TARGET_BUILTIN(__builtin_ia32_vpshrdd256, "V8iV8iV8iIi", "nc", "avx512vl,avx512vbmi2")
|
||||||
TARGET_BUILTIN(__builtin_ia32_vpshrdd512_mask, "V16iV16iV16iIiV16iUs", "nc", "avx512vbmi2")
|
TARGET_BUILTIN(__builtin_ia32_vpshrdd512, "V16iV16iV16iIi", "nc", "avx512vbmi2")
|
||||||
TARGET_BUILTIN(__builtin_ia32_vpshrdq128_mask, "V2LLiV2LLiV2LLiIiV2LLiUc", "nc", "avx512vl,avx512vbmi2")
|
TARGET_BUILTIN(__builtin_ia32_vpshrdq128, "V2LLiV2LLiV2LLiIi", "nc", "avx512vl,avx512vbmi2")
|
||||||
TARGET_BUILTIN(__builtin_ia32_vpshrdq256_mask, "V4LLiV4LLiV4LLiIiV4LLiUc", "nc", "avx512vl,avx512vbmi2")
|
TARGET_BUILTIN(__builtin_ia32_vpshrdq256, "V4LLiV4LLiV4LLiIi", "nc", "avx512vl,avx512vbmi2")
|
||||||
TARGET_BUILTIN(__builtin_ia32_vpshrdq512_mask, "V8LLiV8LLiV8LLiIiV8LLiUc", "nc", "avx512vbmi2")
|
TARGET_BUILTIN(__builtin_ia32_vpshrdq512, "V8LLiV8LLiV8LLiIi", "nc", "avx512vbmi2")
|
||||||
TARGET_BUILTIN(__builtin_ia32_vpshrdw128_mask, "V8sV8sV8sIiV8sUc", "nc", "avx512vl,avx512vbmi2")
|
TARGET_BUILTIN(__builtin_ia32_vpshrdw128, "V8sV8sV8sIi", "nc", "avx512vl,avx512vbmi2")
|
||||||
TARGET_BUILTIN(__builtin_ia32_vpshrdw256_mask, "V16sV16sV16sIiV16sUs", "nc", "avx512vl,avx512vbmi2")
|
TARGET_BUILTIN(__builtin_ia32_vpshrdw256, "V16sV16sV16sIi", "nc", "avx512vl,avx512vbmi2")
|
||||||
TARGET_BUILTIN(__builtin_ia32_vpshrdw512_mask, "V32sV32sV32sIiV32sUi", "nc", "avx512vbmi2")
|
TARGET_BUILTIN(__builtin_ia32_vpshrdw512, "V32sV32sV32sIi", "nc", "avx512vbmi2")
|
||||||
|
|
||||||
TARGET_BUILTIN(__builtin_ia32_pmovswb512_mask, "V32cV32sV32cUi", "nc", "avx512bw")
|
TARGET_BUILTIN(__builtin_ia32_pmovswb512_mask, "V32cV32sV32cUi", "nc", "avx512bw")
|
||||||
TARGET_BUILTIN(__builtin_ia32_pmovuswb512_mask, "V32cV32sV32cUi", "nc", "avx512bw")
|
TARGET_BUILTIN(__builtin_ia32_pmovuswb512_mask, "V32cV32sV32cUi", "nc", "avx512bw")
|
||||||
|
|
|
@ -142,131 +142,89 @@ _mm512_maskz_expandloadu_epi8(__mmask64 __U, void const *__P)
|
||||||
__U);
|
__U);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define _mm512_shldi_epi64(A, B, I) \
|
||||||
|
(__m512i)__builtin_ia32_vpshldq512((__v8di)(__m512i)(A), \
|
||||||
|
(__v8di)(__m512i)(B), (int)(I))
|
||||||
|
|
||||||
#define _mm512_mask_shldi_epi64(S, U, A, B, I) \
|
#define _mm512_mask_shldi_epi64(S, U, A, B, I) \
|
||||||
(__m512i)__builtin_ia32_vpshldq512_mask((__v8di)(__m512i)(A), \
|
(__m512i)__builtin_ia32_selectq_512((__mmask8)(U), \
|
||||||
(__v8di)(__m512i)(B), \
|
(__v8di)_mm512_shldi_epi64((A), (B), (I)), \
|
||||||
(int)(I), \
|
(__v8di)(__m512i)(S))
|
||||||
(__v8di)(__m512i)(S), \
|
|
||||||
(__mmask8)(U))
|
|
||||||
|
|
||||||
#define _mm512_maskz_shldi_epi64(U, A, B, I) \
|
#define _mm512_maskz_shldi_epi64(U, A, B, I) \
|
||||||
(__m512i)__builtin_ia32_vpshldq512_mask((__v8di)(__m512i)(A), \
|
(__m512i)__builtin_ia32_selectq_512((__mmask8)(U), \
|
||||||
(__v8di)(__m512i)(B), \
|
(__v8di)_mm512_shldi_epi64((A), (B), (I)), \
|
||||||
(int)(I), \
|
(__v8di)_mm512_setzero_si512())
|
||||||
(__v8di)_mm512_setzero_si512(), \
|
|
||||||
(__mmask8)(U))
|
|
||||||
|
|
||||||
#define _mm512_shldi_epi64(A, B, I) \
|
|
||||||
(__m512i)__builtin_ia32_vpshldq512_mask((__v8di)(__m512i)(A), \
|
|
||||||
(__v8di)(__m512i)(B), \
|
|
||||||
(int)(I), \
|
|
||||||
(__v8di)_mm512_undefined_epi32(), \
|
|
||||||
(__mmask8)-1)
|
|
||||||
|
|
||||||
#define _mm512_mask_shldi_epi32(S, U, A, B, I) \
|
|
||||||
(__m512i)__builtin_ia32_vpshldd512_mask((__v16si)(__m512i)(A), \
|
|
||||||
(__v16si)(__m512i)(B), \
|
|
||||||
(int)(I), \
|
|
||||||
(__v16si)(__m512i)(S), \
|
|
||||||
(__mmask16)(U))
|
|
||||||
|
|
||||||
#define _mm512_maskz_shldi_epi32(U, A, B, I) \
|
|
||||||
(__m512i)__builtin_ia32_vpshldd512_mask((__v16si)(__m512i)(A), \
|
|
||||||
(__v16si)(__m512i)(B), \
|
|
||||||
(int)(I), \
|
|
||||||
(__v16si)_mm512_setzero_si512(), \
|
|
||||||
(__mmask16)(U))
|
|
||||||
|
|
||||||
#define _mm512_shldi_epi32(A, B, I) \
|
#define _mm512_shldi_epi32(A, B, I) \
|
||||||
(__m512i)__builtin_ia32_vpshldd512_mask((__v16si)(__m512i)(A), \
|
(__m512i)__builtin_ia32_vpshldd512((__v16si)(__m512i)(A), \
|
||||||
(__v16si)(__m512i)(B), \
|
(__v16si)(__m512i)(B), (int)(I))
|
||||||
(int)(I), \
|
|
||||||
(__v16si)_mm512_undefined_epi32(), \
|
|
||||||
(__mmask16)-1)
|
|
||||||
|
|
||||||
#define _mm512_mask_shldi_epi16(S, U, A, B, I) \
|
#define _mm512_mask_shldi_epi32(S, U, A, B, I) \
|
||||||
(__m512i)__builtin_ia32_vpshldw512_mask((__v32hi)(__m512i)(A), \
|
(__m512i)__builtin_ia32_selectd_512((__mmask16)(U), \
|
||||||
(__v32hi)(__m512i)(B), \
|
(__v16si)_mm512_shldi_epi32((A), (B), (I)), \
|
||||||
(int)(I), \
|
(__v16si)(__m512i)(S))
|
||||||
(__v32hi)(__m512i)(S), \
|
|
||||||
(__mmask32)(U))
|
|
||||||
|
|
||||||
#define _mm512_maskz_shldi_epi16(U, A, B, I) \
|
#define _mm512_maskz_shldi_epi32(U, A, B, I) \
|
||||||
(__m512i)__builtin_ia32_vpshldw512_mask((__v32hi)(__m512i)(A), \
|
(__m512i)__builtin_ia32_selectd_512((__mmask16)(U), \
|
||||||
(__v32hi)(__m512i)(B), \
|
(__v16si)_mm512_shldi_epi32((A), (B), (I)), \
|
||||||
(int)(I), \
|
(__v16si)_mm512_setzero_si512())
|
||||||
(__v32hi)_mm512_setzero_si512(), \
|
|
||||||
(__mmask32)(U))
|
|
||||||
|
|
||||||
#define _mm512_shldi_epi16(A, B, I) \
|
#define _mm512_shldi_epi16(A, B, I) \
|
||||||
(__m512i)__builtin_ia32_vpshldw512_mask((__v32hi)(__m512i)(A), \
|
(__m512i)__builtin_ia32_vpshldw512((__v32hi)(__m512i)(A), \
|
||||||
(__v32hi)(__m512i)(B), \
|
(__v32hi)(__m512i)(B), (int)(I))
|
||||||
(int)(I), \
|
|
||||||
(__v32hi)_mm512_undefined_epi32(), \
|
|
||||||
(__mmask32)-1)
|
|
||||||
|
|
||||||
#define _mm512_mask_shrdi_epi64(S, U, A, B, I) \
|
#define _mm512_mask_shldi_epi16(S, U, A, B, I) \
|
||||||
(__m512i)__builtin_ia32_vpshrdq512_mask((__v8di)(__m512i)(A), \
|
(__m512i)__builtin_ia32_selectw_512((__mmask32)(U), \
|
||||||
(__v8di)(__m512i)(B), \
|
(__v32hi)_mm512_shldi_epi16((A), (B), (I)), \
|
||||||
(int)(I), \
|
(__v32hi)(__m512i)(S))
|
||||||
(__v8di)(__m512i)(S), \
|
|
||||||
(__mmask8)(U))
|
|
||||||
|
|
||||||
#define _mm512_maskz_shrdi_epi64(U, A, B, I) \
|
#define _mm512_maskz_shldi_epi16(U, A, B, I) \
|
||||||
(__m512i)__builtin_ia32_vpshrdq512_mask((__v8di)(__m512i)(A), \
|
(__m512i)__builtin_ia32_selectw_512((__mmask32)(U), \
|
||||||
(__v8di)(__m512i)(B), \
|
(__v32hi)_mm512_shldi_epi16((A), (B), (I)), \
|
||||||
(int)(I), \
|
(__v32hi)_mm512_setzero_si512())
|
||||||
(__v8di)_mm512_setzero_si512(), \
|
|
||||||
(__mmask8)(U))
|
|
||||||
|
|
||||||
#define _mm512_shrdi_epi64(A, B, I) \
|
#define _mm512_shrdi_epi64(A, B, I) \
|
||||||
(__m512i)__builtin_ia32_vpshrdq512_mask((__v8di)(__m512i)(A), \
|
(__m512i)__builtin_ia32_vpshrdq512((__v8di)(__m512i)(A), \
|
||||||
(__v8di)(__m512i)(B), \
|
(__v8di)(__m512i)(B), (int)(I))
|
||||||
(int)(I), \
|
|
||||||
(__v8di)_mm512_undefined_epi32(), \
|
|
||||||
(__mmask8)-1)
|
|
||||||
|
|
||||||
#define _mm512_mask_shrdi_epi32(S, U, A, B, I) \
|
#define _mm512_mask_shrdi_epi64(S, U, A, B, I) \
|
||||||
(__m512i)__builtin_ia32_vpshrdd512_mask((__v16si)(__m512i)(A), \
|
(__m512i)__builtin_ia32_selectq_512((__mmask8)(U), \
|
||||||
(__v16si)(__m512i)(B), \
|
(__v8di)_mm512_shrdi_epi64((A), (B), (I)), \
|
||||||
(int)(I), \
|
(__v8di)(__m512i)(S))
|
||||||
(__v16si)(__m512i)(S), \
|
|
||||||
(__mmask16)(U))
|
|
||||||
|
|
||||||
#define _mm512_maskz_shrdi_epi32(U, A, B, I) \
|
#define _mm512_maskz_shrdi_epi64(U, A, B, I) \
|
||||||
(__m512i)__builtin_ia32_vpshrdd512_mask((__v16si)(__m512i)(A), \
|
(__m512i)__builtin_ia32_selectq_512((__mmask8)(U), \
|
||||||
(__v16si)(__m512i)(B), \
|
(__v8di)_mm512_shrdi_epi64((A), (B), (I)), \
|
||||||
(int)(I), \
|
(__v8di)_mm512_setzero_si512())
|
||||||
(__v16si)_mm512_setzero_si512(), \
|
|
||||||
(__mmask16)(U))
|
|
||||||
|
|
||||||
#define _mm512_shrdi_epi32(A, B, I) \
|
#define _mm512_shrdi_epi32(A, B, I) \
|
||||||
(__m512i)__builtin_ia32_vpshrdd512_mask((__v16si)(__m512i)(A), \
|
(__m512i)__builtin_ia32_vpshrdd512((__v16si)(__m512i)(A), \
|
||||||
(__v16si)(__m512i)(B), \
|
(__v16si)(__m512i)(B), (int)(I))
|
||||||
(int)(I), \
|
|
||||||
(__v16si)_mm512_undefined_epi32(), \
|
|
||||||
(__mmask16)-1)
|
|
||||||
|
|
||||||
#define _mm512_mask_shrdi_epi16(S, U, A, B, I) \
|
#define _mm512_mask_shrdi_epi32(S, U, A, B, I) \
|
||||||
(__m512i)__builtin_ia32_vpshrdw512_mask((__v32hi)(__m512i)(A), \
|
(__m512i)__builtin_ia32_selectd_512((__mmask16)(U), \
|
||||||
(__v32hi)(__m512i)(B), \
|
(__v16si)_mm512_shrdi_epi32((A), (B), (I)), \
|
||||||
(int)(I), \
|
(__v16si)(__m512i)(S))
|
||||||
(__v32hi)(__m512i)(S), \
|
|
||||||
(__mmask32)(U))
|
|
||||||
|
|
||||||
#define _mm512_maskz_shrdi_epi16(U, A, B, I) \
|
#define _mm512_maskz_shrdi_epi32(U, A, B, I) \
|
||||||
(__m512i)__builtin_ia32_vpshrdw512_mask((__v32hi)(__m512i)(A), \
|
(__m512i)__builtin_ia32_selectd_512((__mmask16)(U), \
|
||||||
(__v32hi)(__m512i)(B), \
|
(__v16si)_mm512_shrdi_epi32((A), (B), (I)), \
|
||||||
(int)(I), \
|
(__v16si)_mm512_setzero_si512())
|
||||||
(__v32hi)_mm512_setzero_si512(), \
|
|
||||||
(__mmask32)(U))
|
|
||||||
|
|
||||||
#define _mm512_shrdi_epi16(A, B, I) \
|
#define _mm512_shrdi_epi16(A, B, I) \
|
||||||
(__m512i)__builtin_ia32_vpshrdw512_mask((__v32hi)(__m512i)(A), \
|
(__m512i)__builtin_ia32_vpshrdw512((__v32hi)(__m512i)(A), \
|
||||||
(__v32hi)(__m512i)(B), \
|
(__v32hi)(__m512i)(B), (int)(I))
|
||||||
(int)(I), \
|
|
||||||
(__v32hi)_mm512_undefined_epi32(), \
|
#define _mm512_mask_shrdi_epi16(S, U, A, B, I) \
|
||||||
(__mmask32)-1)
|
(__m512i)__builtin_ia32_selectw_512((__mmask32)(U), \
|
||||||
|
(__v32hi)_mm512_shrdi_epi16((A), (B), (I)), \
|
||||||
|
(__v32hi)(__m512i)(S))
|
||||||
|
|
||||||
|
#define _mm512_maskz_shrdi_epi16(U, A, B, I) \
|
||||||
|
(__m512i)__builtin_ia32_selectw_512((__mmask32)(U), \
|
||||||
|
(__v32hi)_mm512_shrdi_epi16((A), (B), (I)), \
|
||||||
|
(__v32hi)_mm512_setzero_si512())
|
||||||
|
|
||||||
static __inline__ __m512i __DEFAULT_FN_ATTRS
|
static __inline__ __m512i __DEFAULT_FN_ATTRS
|
||||||
_mm512_mask_shldv_epi64(__m512i __S, __mmask8 __U, __m512i __A, __m512i __B)
|
_mm512_mask_shldv_epi64(__m512i __S, __mmask8 __U, __m512i __A, __m512i __B)
|
||||||
|
|
|
@ -251,257 +251,173 @@ _mm256_maskz_expandloadu_epi8(__mmask32 __U, void const *__P)
|
||||||
__U);
|
__U);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define _mm256_shldi_epi64(A, B, I) \
|
||||||
|
(__m256i)__builtin_ia32_vpshldq256((__v4di)(__m256i)(A), \
|
||||||
|
(__v4di)(__m256i)(B), (int)(I))
|
||||||
|
|
||||||
#define _mm256_mask_shldi_epi64(S, U, A, B, I) \
|
#define _mm256_mask_shldi_epi64(S, U, A, B, I) \
|
||||||
(__m256i)__builtin_ia32_vpshldq256_mask((__v4di)(__m256i)(A), \
|
(__m256i)__builtin_ia32_selectq_256((__mmask8)(U), \
|
||||||
(__v4di)(__m256i)(B), \
|
(__v4di)_mm256_shldi_epi64((A), (B), (I)), \
|
||||||
(int)(I), \
|
(__v4di)(__m256i)(S))
|
||||||
(__v4di)(__m256i)(S), \
|
|
||||||
(__mmask8)(U))
|
|
||||||
|
|
||||||
#define _mm256_maskz_shldi_epi64(U, A, B, I) \
|
#define _mm256_maskz_shldi_epi64(U, A, B, I) \
|
||||||
(__m256i)__builtin_ia32_vpshldq256_mask((__v4di)(__m256i)(A), \
|
(__m256i)__builtin_ia32_selectq_256((__mmask8)(U), \
|
||||||
(__v4di)(__m256i)(B), \
|
(__v4di)_mm256_shldi_epi64((A), (B), (I)), \
|
||||||
(int)(I), \
|
(__v4di)_mm256_setzero_si256())
|
||||||
(__v4di)_mm256_setzero_si256(), \
|
|
||||||
(__mmask8)(U))
|
|
||||||
|
|
||||||
#define _mm256_shldi_epi64(A, B, I) \
|
|
||||||
(__m256i)__builtin_ia32_vpshldq256_mask((__v4di)(__m256i)(A), \
|
|
||||||
(__v4di)(__m256i)(B), \
|
|
||||||
(int)(I), \
|
|
||||||
(__v4di)_mm256_undefined_si256(), \
|
|
||||||
(__mmask8)-1)
|
|
||||||
|
|
||||||
#define _mm_mask_shldi_epi64(S, U, A, B, I) \
|
|
||||||
(__m128i)__builtin_ia32_vpshldq128_mask((__v2di)(__m128i)(A), \
|
|
||||||
(__v2di)(__m128i)(B), \
|
|
||||||
(int)(I), \
|
|
||||||
(__v2di)(__m128i)(S), \
|
|
||||||
(__mmask8)(U))
|
|
||||||
|
|
||||||
#define _mm_maskz_shldi_epi64(U, A, B, I) \
|
|
||||||
(__m128i)__builtin_ia32_vpshldq128_mask((__v2di)(__m128i)(A), \
|
|
||||||
(__v2di)(__m128i)(B), \
|
|
||||||
(int)(I), \
|
|
||||||
(__v2di)_mm_setzero_si128(), \
|
|
||||||
(__mmask8)(U))
|
|
||||||
|
|
||||||
#define _mm_shldi_epi64(A, B, I) \
|
#define _mm_shldi_epi64(A, B, I) \
|
||||||
(__m128i)__builtin_ia32_vpshldq128_mask((__v2di)(__m128i)(A), \
|
(__m128i)__builtin_ia32_vpshldq128((__v2di)(__m128i)(A), \
|
||||||
(__v2di)(__m128i)(B), \
|
(__v2di)(__m128i)(B), (int)(I))
|
||||||
(int)(I), \
|
|
||||||
(__v2di)_mm_undefined_si128(), \
|
|
||||||
(__mmask8)-1)
|
|
||||||
|
|
||||||
#define _mm256_mask_shldi_epi32(S, U, A, B, I) \
|
#define _mm_mask_shldi_epi64(S, U, A, B, I) \
|
||||||
(__m256i)__builtin_ia32_vpshldd256_mask((__v8si)(__m256i)(A), \
|
(__m128i)__builtin_ia32_selectq_128((__mmask8)(U), \
|
||||||
(__v8si)(__m256i)(B), \
|
(__v2di)_mm_shldi_epi64((A), (B), (I)), \
|
||||||
(int)(I), \
|
(__v2di)(__m128i)(S))
|
||||||
(__v8si)(__m256i)(S), \
|
|
||||||
(__mmask8)(U))
|
|
||||||
|
|
||||||
#define _mm256_maskz_shldi_epi32(U, A, B, I) \
|
#define _mm_maskz_shldi_epi64(U, A, B, I) \
|
||||||
(__m256i)__builtin_ia32_vpshldd256_mask((__v8si)(__m256i)(A), \
|
(__m128i)__builtin_ia32_selectq_128((__mmask8)(U), \
|
||||||
(__v8si)(__m256i)(B), \
|
(__v2di)_mm_shldi_epi64((A), (B), (I)), \
|
||||||
(int)(I), \
|
(__v2di)_mm_setzero_si128())
|
||||||
(__v8si)_mm256_setzero_si256(), \
|
|
||||||
(__mmask8)(U))
|
|
||||||
|
|
||||||
#define _mm256_shldi_epi32(A, B, I) \
|
#define _mm256_shldi_epi32(A, B, I) \
|
||||||
(__m256i)__builtin_ia32_vpshldd256_mask((__v8si)(__m256i)(A), \
|
(__m256i)__builtin_ia32_vpshldd256((__v8si)(__m256i)(A), \
|
||||||
(__v8si)(__m256i)(B), \
|
(__v8si)(__m256i)(B), (int)(I))
|
||||||
(int)(I), \
|
|
||||||
(__v8si)_mm256_undefined_si256(), \
|
|
||||||
(__mmask8)-1)
|
|
||||||
|
|
||||||
#define _mm_mask_shldi_epi32(S, U, A, B, I) \
|
#define _mm256_mask_shldi_epi32(S, U, A, B, I) \
|
||||||
(__m128i)__builtin_ia32_vpshldd128_mask((__v4si)(__m128i)(A), \
|
(__m256i)__builtin_ia32_selectd_256((__mmask8)(U), \
|
||||||
(__v4si)(__m128i)(B), \
|
(__v8si)_mm256_shldi_epi32((A), (B), (I)), \
|
||||||
(int)(I), \
|
(__v8si)(__m256i)(S))
|
||||||
(__v4si)(__m128i)(S), \
|
|
||||||
(__mmask8)(U))
|
|
||||||
|
|
||||||
#define _mm_maskz_shldi_epi32(U, A, B, I) \
|
#define _mm256_maskz_shldi_epi32(U, A, B, I) \
|
||||||
(__m128i)__builtin_ia32_vpshldd128_mask((__v4si)(__m128i)(A), \
|
(__m256i)__builtin_ia32_selectd_256((__mmask8)(U), \
|
||||||
(__v4si)(__m128i)(B), \
|
(__v8si)_mm256_shldi_epi32((A), (B), (I)), \
|
||||||
(int)(I), \
|
(__v8si)_mm256_setzero_si256())
|
||||||
(__v4si)_mm_setzero_si128(), \
|
|
||||||
(__mmask8)(U))
|
|
||||||
|
|
||||||
#define _mm_shldi_epi32(A, B, I) \
|
#define _mm_shldi_epi32(A, B, I) \
|
||||||
(__m128i)__builtin_ia32_vpshldd128_mask((__v4si)(__m128i)(A), \
|
(__m128i)__builtin_ia32_vpshldd128((__v4si)(__m128i)(A), \
|
||||||
(__v4si)(__m128i)(B), \
|
(__v4si)(__m128i)(B), (int)(I))
|
||||||
(int)(I), \
|
|
||||||
(__v4si)_mm_undefined_si128(), \
|
|
||||||
(__mmask8)-1)
|
|
||||||
|
|
||||||
#define _mm256_mask_shldi_epi16(S, U, A, B, I) \
|
#define _mm_mask_shldi_epi32(S, U, A, B, I) \
|
||||||
(__m256i)__builtin_ia32_vpshldw256_mask((__v16hi)(__m256i)(A), \
|
(__m128i)__builtin_ia32_selectd_128((__mmask8)(U), \
|
||||||
(__v16hi)(__m256i)(B), \
|
(__v4si)_mm_shldi_epi32((A), (B), (I)), \
|
||||||
(int)(I), \
|
(__v4si)(__m128i)(S))
|
||||||
(__v16hi)(__m256i)(S), \
|
|
||||||
(__mmask16)(U))
|
|
||||||
|
|
||||||
#define _mm256_maskz_shldi_epi16(U, A, B, I) \
|
#define _mm_maskz_shldi_epi32(U, A, B, I) \
|
||||||
(__m256i)__builtin_ia32_vpshldw256_mask((__v16hi)(__m256i)(A), \
|
(__m128i)__builtin_ia32_selectd_128((__mmask8)(U), \
|
||||||
(__v16hi)(__m256i)(B), \
|
(__v4si)_mm_shldi_epi32((A), (B), (I)), \
|
||||||
(int)(I), \
|
(__v4si)_mm_setzero_si128())
|
||||||
(__v16hi)_mm256_setzero_si256(), \
|
|
||||||
(__mmask16)(U))
|
|
||||||
|
|
||||||
#define _mm256_shldi_epi16(A, B, I) \
|
#define _mm256_shldi_epi16(A, B, I) \
|
||||||
(__m256i)__builtin_ia32_vpshldw256_mask((__v16hi)(__m256i)(A), \
|
(__m256i)__builtin_ia32_vpshldw256((__v16hi)(__m256i)(A), \
|
||||||
(__v16hi)(__m256i)(B), \
|
(__v16hi)(__m256i)(B), (int)(I))
|
||||||
(int)(I), \
|
|
||||||
(__v16hi)_mm256_undefined_si256(), \
|
|
||||||
(__mmask16)-1)
|
|
||||||
|
|
||||||
#define _mm_mask_shldi_epi16(S, U, A, B, I) \
|
#define _mm256_mask_shldi_epi16(S, U, A, B, I) \
|
||||||
(__m128i)__builtin_ia32_vpshldw128_mask((__v8hi)(__m128i)(A), \
|
(__m256i)__builtin_ia32_selectw_256((__mmask16)(U), \
|
||||||
(__v8hi)(__m128i)(B), \
|
(__v16hi)_mm256_shldi_epi16((A), (B), (I)), \
|
||||||
(int)(I), \
|
(__v16hi)(__m256i)(S))
|
||||||
(__v8hi)(__m128i)(S), \
|
|
||||||
(__mmask8)(U))
|
|
||||||
|
|
||||||
#define _mm_maskz_shldi_epi16(U, A, B, I) \
|
#define _mm256_maskz_shldi_epi16(U, A, B, I) \
|
||||||
(__m128i)__builtin_ia32_vpshldw128_mask((__v8hi)(__m128i)(A), \
|
(__m256i)__builtin_ia32_selectw_256((__mmask16)(U), \
|
||||||
(__v8hi)(__m128i)(B), \
|
(__v16hi)_mm256_shldi_epi16((A), (B), (I)), \
|
||||||
(int)(I), \
|
(__v16hi)_mm256_setzero_si256())
|
||||||
(__v8hi)_mm_setzero_si128(), \
|
|
||||||
(__mmask8)(U))
|
|
||||||
|
|
||||||
#define _mm_shldi_epi16(A, B, I) \
|
#define _mm_shldi_epi16(A, B, I) \
|
||||||
(__m128i)__builtin_ia32_vpshldw128_mask((__v8hi)(__m128i)(A), \
|
(__m128i)__builtin_ia32_vpshldw128((__v8hi)(__m128i)(A), \
|
||||||
(__v8hi)(__m128i)(B), \
|
(__v8hi)(__m128i)(B), (int)(I))
|
||||||
(int)(I), \
|
|
||||||
(__v8hi)_mm_undefined_si128(), \
|
|
||||||
(__mmask8)-1)
|
|
||||||
|
|
||||||
#define _mm256_mask_shrdi_epi64(S, U, A, B, I) \
|
#define _mm_mask_shldi_epi16(S, U, A, B, I) \
|
||||||
(__m256i)__builtin_ia32_vpshrdq256_mask((__v4di)(__m256i)(A), \
|
(__m128i)__builtin_ia32_selectw_128((__mmask8)(U), \
|
||||||
(__v4di)(__m256i)(B), \
|
(__v8hi)_mm_shldi_epi16((A), (B), (I)), \
|
||||||
(int)(I), \
|
(__v8hi)(__m128i)(S))
|
||||||
(__v4di)(__m256i)(S), \
|
|
||||||
(__mmask8)(U))
|
|
||||||
|
|
||||||
#define _mm256_maskz_shrdi_epi64(U, A, B, I) \
|
#define _mm_maskz_shldi_epi16(U, A, B, I) \
|
||||||
(__m256i)__builtin_ia32_vpshrdq256_mask((__v4di)(__m256i)(A), \
|
(__m128i)__builtin_ia32_selectw_128((__mmask8)(U), \
|
||||||
(__v4di)(__m256i)(B), \
|
(__v8hi)_mm_shldi_epi16((A), (B), (I)), \
|
||||||
(int)(I), \
|
(__v8hi)_mm_setzero_si128())
|
||||||
(__v4di)_mm256_setzero_si256(), \
|
|
||||||
(__mmask8)(U))
|
|
||||||
|
|
||||||
#define _mm256_shrdi_epi64(A, B, I) \
|
#define _mm256_shrdi_epi64(A, B, I) \
|
||||||
(__m256i)__builtin_ia32_vpshrdq256_mask((__v4di)(__m256i)(A), \
|
(__m256i)__builtin_ia32_vpshrdq256((__v4di)(__m256i)(A), \
|
||||||
(__v4di)(__m256i)(B), \
|
(__v4di)(__m256i)(B), (int)(I))
|
||||||
(int)(I), \
|
|
||||||
(__v4di)_mm256_undefined_si256(), \
|
|
||||||
(__mmask8)-1)
|
|
||||||
|
|
||||||
#define _mm_mask_shrdi_epi64(S, U, A, B, I) \
|
#define _mm256_mask_shrdi_epi64(S, U, A, B, I) \
|
||||||
(__m128i)__builtin_ia32_vpshrdq128_mask((__v2di)(__m128i)(A), \
|
(__m256i)__builtin_ia32_selectq_256((__mmask8)(U), \
|
||||||
(__v2di)(__m128i)(B), \
|
(__v4di)_mm256_shrdi_epi64((A), (B), (I)), \
|
||||||
(int)(I), \
|
(__v4di)(__m256i)(S))
|
||||||
(__v2di)(__m128i)(S), \
|
|
||||||
(__mmask8)(U))
|
|
||||||
|
|
||||||
#define _mm_maskz_shrdi_epi64(U, A, B, I) \
|
#define _mm256_maskz_shrdi_epi64(U, A, B, I) \
|
||||||
(__m128i)__builtin_ia32_vpshrdq128_mask((__v2di)(__m128i)(A), \
|
(__m256i)__builtin_ia32_selectq_256((__mmask8)(U), \
|
||||||
(__v2di)(__m128i)(B), \
|
(__v4di)_mm256_shrdi_epi64((A), (B), (I)), \
|
||||||
(int)(I), \
|
(__v4di)_mm256_setzero_si256())
|
||||||
(__v2di)_mm_setzero_si128(), \
|
|
||||||
(__mmask8)(U))
|
|
||||||
|
|
||||||
#define _mm_shrdi_epi64(A, B, I) \
|
#define _mm_shrdi_epi64(A, B, I) \
|
||||||
(__m128i)__builtin_ia32_vpshrdq128_mask((__v2di)(__m128i)(A), \
|
(__m128i)__builtin_ia32_vpshrdq128((__v2di)(__m128i)(A), \
|
||||||
(__v2di)(__m128i)(B), \
|
(__v2di)(__m128i)(B), (int)(I))
|
||||||
(int)(I), \
|
|
||||||
(__v2di)_mm_undefined_si128(), \
|
|
||||||
(__mmask8)-1)
|
|
||||||
|
|
||||||
#define _mm256_mask_shrdi_epi32(S, U, A, B, I) \
|
#define _mm_mask_shrdi_epi64(S, U, A, B, I) \
|
||||||
(__m256i)__builtin_ia32_vpshrdd256_mask((__v8si)(__m256i)(A), \
|
(__m128i)__builtin_ia32_selectq_128((__mmask8)(U), \
|
||||||
(__v8si)(__m256i)(B), \
|
(__v2di)_mm_shrdi_epi64((A), (B), (I)), \
|
||||||
(int)(I), \
|
(__v2di)(__m128i)(S))
|
||||||
(__v8si)(__m256i)(S), \
|
|
||||||
(__mmask8)(U))
|
|
||||||
|
|
||||||
#define _mm256_maskz_shrdi_epi32(U, A, B, I) \
|
#define _mm_maskz_shrdi_epi64(U, A, B, I) \
|
||||||
(__m256i)__builtin_ia32_vpshrdd256_mask((__v8si)(__m256i)(A), \
|
(__m128i)__builtin_ia32_selectq_128((__mmask8)(U), \
|
||||||
(__v8si)(__m256i)(B), \
|
(__v2di)_mm_shrdi_epi64((A), (B), (I)), \
|
||||||
(int)(I), \
|
(__v2di)_mm_setzero_si128())
|
||||||
(__v8si)_mm256_setzero_si256(), \
|
|
||||||
(__mmask8)(U))
|
|
||||||
|
|
||||||
#define _mm256_shrdi_epi32(A, B, I) \
|
#define _mm256_shrdi_epi32(A, B, I) \
|
||||||
(__m256i)__builtin_ia32_vpshrdd256_mask((__v8si)(__m256i)(A), \
|
(__m256i)__builtin_ia32_vpshrdd256((__v8si)(__m256i)(A), \
|
||||||
(__v8si)(__m256i)(B), \
|
(__v8si)(__m256i)(B), (int)(I))
|
||||||
(int)(I), \
|
|
||||||
(__v8si)_mm256_undefined_si256(), \
|
|
||||||
(__mmask8)-1)
|
|
||||||
|
|
||||||
#define _mm_mask_shrdi_epi32(S, U, A, B, I) \
|
#define _mm256_mask_shrdi_epi32(S, U, A, B, I) \
|
||||||
(__m128i)__builtin_ia32_vpshrdd128_mask((__v4si)(__m128i)(A), \
|
(__m256i)__builtin_ia32_selectd_256((__mmask8)(U), \
|
||||||
(__v4si)(__m128i)(B), \
|
(__v8si)_mm256_shrdi_epi32((A), (B), (I)), \
|
||||||
(int)(I), \
|
(__v8si)(__m256i)(S))
|
||||||
(__v4si)(__m128i)(S), \
|
|
||||||
(__mmask8)(U))
|
|
||||||
|
|
||||||
#define _mm_maskz_shrdi_epi32(U, A, B, I) \
|
#define _mm256_maskz_shrdi_epi32(U, A, B, I) \
|
||||||
(__m128i)__builtin_ia32_vpshrdd128_mask((__v4si)(__m128i)(A), \
|
(__m256i)__builtin_ia32_selectd_256((__mmask8)(U), \
|
||||||
(__v4si)(__m128i)(B), \
|
(__v8si)_mm256_shrdi_epi32((A), (B), (I)), \
|
||||||
(int)(I), \
|
(__v8si)_mm256_setzero_si256())
|
||||||
(__v4si)_mm_setzero_si128(), \
|
|
||||||
(__mmask8)(U))
|
|
||||||
|
|
||||||
#define _mm_shrdi_epi32(A, B, I) \
|
#define _mm_shrdi_epi32(A, B, I) \
|
||||||
(__m128i)__builtin_ia32_vpshrdd128_mask((__v4si)(__m128i)(A), \
|
(__m128i)__builtin_ia32_vpshrdd128((__v4si)(__m128i)(A), \
|
||||||
(__v4si)(__m128i)(B), \
|
(__v4si)(__m128i)(B), (int)(I))
|
||||||
(int)(I), \
|
|
||||||
(__v4si)_mm_undefined_si128(), \
|
|
||||||
(__mmask8)-1)
|
|
||||||
|
|
||||||
#define _mm256_mask_shrdi_epi16(S, U, A, B, I) \
|
#define _mm_mask_shrdi_epi32(S, U, A, B, I) \
|
||||||
(__m256i)__builtin_ia32_vpshrdw256_mask((__v16hi)(__m256i)(A), \
|
(__m128i)__builtin_ia32_selectd_128((__mmask8)(U), \
|
||||||
(__v16hi)(__m256i)(B), \
|
(__v4si)_mm_shrdi_epi32((A), (B), (I)), \
|
||||||
(int)(I), \
|
(__v4si)(__m128i)(S))
|
||||||
(__v16hi)(__m256i)(S), \
|
|
||||||
(__mmask16)(U))
|
|
||||||
|
|
||||||
#define _mm256_maskz_shrdi_epi16(U, A, B, I) \
|
#define _mm_maskz_shrdi_epi32(U, A, B, I) \
|
||||||
(__m256i)__builtin_ia32_vpshrdw256_mask((__v16hi)(__m256i)(A), \
|
(__m128i)__builtin_ia32_selectd_128((__mmask8)(U), \
|
||||||
(__v16hi)(__m256i)(B), \
|
(__v4si)_mm_shrdi_epi32((A), (B), (I)), \
|
||||||
(int)(I), \
|
(__v4si)_mm_setzero_si128())
|
||||||
(__v16hi)_mm256_setzero_si256(), \
|
|
||||||
(__mmask16)(U))
|
|
||||||
|
|
||||||
#define _mm256_shrdi_epi16(A, B, I) \
|
#define _mm256_shrdi_epi16(A, B, I) \
|
||||||
(__m256i)__builtin_ia32_vpshrdw256_mask((__v16hi)(__m256i)(A), \
|
(__m256i)__builtin_ia32_vpshrdw256((__v16hi)(__m256i)(A), \
|
||||||
(__v16hi)(__m256i)(B), \
|
(__v16hi)(__m256i)(B), (int)(I))
|
||||||
(int)(I), \
|
|
||||||
(__v16hi)_mm256_undefined_si256(), \
|
|
||||||
(__mmask16)-1)
|
|
||||||
|
|
||||||
#define _mm_mask_shrdi_epi16(S, U, A, B, I) \
|
#define _mm256_mask_shrdi_epi16(S, U, A, B, I) \
|
||||||
(__m128i)__builtin_ia32_vpshrdw128_mask((__v8hi)(__m128i)(A), \
|
(__m256i)__builtin_ia32_selectw_256((__mmask16)(U), \
|
||||||
(__v8hi)(__m128i)(B), \
|
(__v16hi)_mm256_shrdi_epi16((A), (B), (I)), \
|
||||||
(int)(I), \
|
(__v16hi)(__m256i)(S))
|
||||||
(__v8hi)(__m128i)(S), \
|
|
||||||
(__mmask8)(U))
|
|
||||||
|
|
||||||
#define _mm_maskz_shrdi_epi16(U, A, B, I) \
|
#define _mm256_maskz_shrdi_epi16(U, A, B, I) \
|
||||||
(__m128i)__builtin_ia32_vpshrdw128_mask((__v8hi)(__m128i)(A), \
|
(__m256i)__builtin_ia32_selectw_256((__mmask16)(U), \
|
||||||
(__v8hi)(__m128i)(B), \
|
(__v16hi)_mm256_shrdi_epi16((A), (B), (I)), \
|
||||||
(int)(I), \
|
(__v16hi)_mm256_setzero_si256())
|
||||||
(__v8hi)_mm_setzero_si128(), \
|
|
||||||
(__mmask8)(U))
|
|
||||||
|
|
||||||
#define _mm_shrdi_epi16(A, B, I) \
|
#define _mm_shrdi_epi16(A, B, I) \
|
||||||
(__m128i)__builtin_ia32_vpshrdw128_mask((__v8hi)(__m128i)(A), \
|
(__m128i)__builtin_ia32_vpshrdw128((__v8hi)(__m128i)(A), \
|
||||||
(__v8hi)(__m128i)(B), \
|
(__v8hi)(__m128i)(B), (int)(I))
|
||||||
(int)(I), \
|
|
||||||
(__v8hi)_mm_undefined_si128(), \
|
#define _mm_mask_shrdi_epi16(S, U, A, B, I) \
|
||||||
(__mmask8)-1)
|
(__m128i)__builtin_ia32_selectw_128((__mmask8)(U), \
|
||||||
|
(__v8hi)_mm_shrdi_epi16((A), (B), (I)), \
|
||||||
|
(__v8hi)(__m128i)(S))
|
||||||
|
|
||||||
|
#define _mm_maskz_shrdi_epi16(U, A, B, I) \
|
||||||
|
(__m128i)__builtin_ia32_selectw_128((__mmask8)(U), \
|
||||||
|
(__v8hi)_mm_shrdi_epi16((A), (B), (I)), \
|
||||||
|
(__v8hi)_mm_setzero_si128())
|
||||||
|
|
||||||
static __inline__ __m256i __DEFAULT_FN_ATTRS
|
static __inline__ __m256i __DEFAULT_FN_ATTRS
|
||||||
_mm256_mask_shldv_epi64(__m256i __S, __mmask8 __U, __m256i __A, __m256i __B)
|
_mm256_mask_shldv_epi64(__m256i __S, __mmask8 __U, __m256i __A, __m256i __B)
|
||||||
|
|
|
@ -2841,24 +2841,24 @@ bool Sema::CheckX86BuiltinFunctionCall(unsigned BuiltinID, CallExpr *TheCall) {
|
||||||
case X86::BI__builtin_ia32_dbpsadbw128:
|
case X86::BI__builtin_ia32_dbpsadbw128:
|
||||||
case X86::BI__builtin_ia32_dbpsadbw256:
|
case X86::BI__builtin_ia32_dbpsadbw256:
|
||||||
case X86::BI__builtin_ia32_dbpsadbw512:
|
case X86::BI__builtin_ia32_dbpsadbw512:
|
||||||
case X86::BI__builtin_ia32_vpshldd128_mask:
|
case X86::BI__builtin_ia32_vpshldd128:
|
||||||
case X86::BI__builtin_ia32_vpshldd256_mask:
|
case X86::BI__builtin_ia32_vpshldd256:
|
||||||
case X86::BI__builtin_ia32_vpshldd512_mask:
|
case X86::BI__builtin_ia32_vpshldd512:
|
||||||
case X86::BI__builtin_ia32_vpshldq128_mask:
|
case X86::BI__builtin_ia32_vpshldq128:
|
||||||
case X86::BI__builtin_ia32_vpshldq256_mask:
|
case X86::BI__builtin_ia32_vpshldq256:
|
||||||
case X86::BI__builtin_ia32_vpshldq512_mask:
|
case X86::BI__builtin_ia32_vpshldq512:
|
||||||
case X86::BI__builtin_ia32_vpshldw128_mask:
|
case X86::BI__builtin_ia32_vpshldw128:
|
||||||
case X86::BI__builtin_ia32_vpshldw256_mask:
|
case X86::BI__builtin_ia32_vpshldw256:
|
||||||
case X86::BI__builtin_ia32_vpshldw512_mask:
|
case X86::BI__builtin_ia32_vpshldw512:
|
||||||
case X86::BI__builtin_ia32_vpshrdd128_mask:
|
case X86::BI__builtin_ia32_vpshrdd128:
|
||||||
case X86::BI__builtin_ia32_vpshrdd256_mask:
|
case X86::BI__builtin_ia32_vpshrdd256:
|
||||||
case X86::BI__builtin_ia32_vpshrdd512_mask:
|
case X86::BI__builtin_ia32_vpshrdd512:
|
||||||
case X86::BI__builtin_ia32_vpshrdq128_mask:
|
case X86::BI__builtin_ia32_vpshrdq128:
|
||||||
case X86::BI__builtin_ia32_vpshrdq256_mask:
|
case X86::BI__builtin_ia32_vpshrdq256:
|
||||||
case X86::BI__builtin_ia32_vpshrdq512_mask:
|
case X86::BI__builtin_ia32_vpshrdq512:
|
||||||
case X86::BI__builtin_ia32_vpshrdw128_mask:
|
case X86::BI__builtin_ia32_vpshrdw128:
|
||||||
case X86::BI__builtin_ia32_vpshrdw256_mask:
|
case X86::BI__builtin_ia32_vpshrdw256:
|
||||||
case X86::BI__builtin_ia32_vpshrdw512_mask:
|
case X86::BI__builtin_ia32_vpshrdw512:
|
||||||
i = 2; l = 0; u = 255;
|
i = 2; l = 0; u = 255;
|
||||||
break;
|
break;
|
||||||
case X86::BI__builtin_ia32_fixupimmpd512_mask:
|
case X86::BI__builtin_ia32_fixupimmpd512_mask:
|
||||||
|
|
|
@ -88,109 +88,121 @@ __m512i test_mm512_maskz_expandloadu_epi8(__mmask64 __U, void const* __P) {
|
||||||
|
|
||||||
__m512i test_mm512_mask_shldi_epi64(__m512i __S, __mmask8 __U, __m512i __A, __m512i __B) {
|
__m512i test_mm512_mask_shldi_epi64(__m512i __S, __mmask8 __U, __m512i __A, __m512i __B) {
|
||||||
// CHECK-LABEL: @test_mm512_mask_shldi_epi64
|
// CHECK-LABEL: @test_mm512_mask_shldi_epi64
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshld.q.512
|
// CHECK: @llvm.x86.avx512.vpshld.q.512
|
||||||
|
// CHECK: select <8 x i1> %{{.*}}, <8 x i64> %{{.*}}, <8 x i64> %{{.*}}
|
||||||
return _mm512_mask_shldi_epi64(__S, __U, __A, __B, 127);
|
return _mm512_mask_shldi_epi64(__S, __U, __A, __B, 127);
|
||||||
}
|
}
|
||||||
|
|
||||||
__m512i test_mm512_maskz_shldi_epi64(__mmask8 __U, __m512i __A, __m512i __B) {
|
__m512i test_mm512_maskz_shldi_epi64(__mmask8 __U, __m512i __A, __m512i __B) {
|
||||||
// CHECK-LABEL: @test_mm512_maskz_shldi_epi64
|
// CHECK-LABEL: @test_mm512_maskz_shldi_epi64
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshld.q.512
|
// CHECK: @llvm.x86.avx512.vpshld.q.512
|
||||||
|
// CHECK: select <8 x i1> %{{.*}}, <8 x i64> %{{.*}}, <8 x i64> %{{.*}}
|
||||||
return _mm512_maskz_shldi_epi64(__U, __A, __B, 63);
|
return _mm512_maskz_shldi_epi64(__U, __A, __B, 63);
|
||||||
}
|
}
|
||||||
|
|
||||||
__m512i test_mm512_shldi_epi64(__m512i __A, __m512i __B) {
|
__m512i test_mm512_shldi_epi64(__m512i __A, __m512i __B) {
|
||||||
// CHECK-LABEL: @test_mm512_shldi_epi64
|
// CHECK-LABEL: @test_mm512_shldi_epi64
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshld.q.512
|
// CHECK: @llvm.x86.avx512.vpshld.q.512
|
||||||
return _mm512_shldi_epi64(__A, __B, 31);
|
return _mm512_shldi_epi64(__A, __B, 31);
|
||||||
}
|
}
|
||||||
|
|
||||||
__m512i test_mm512_mask_shldi_epi32(__m512i __S, __mmask16 __U, __m512i __A, __m512i __B) {
|
__m512i test_mm512_mask_shldi_epi32(__m512i __S, __mmask16 __U, __m512i __A, __m512i __B) {
|
||||||
// CHECK-LABEL: @test_mm512_mask_shldi_epi32
|
// CHECK-LABEL: @test_mm512_mask_shldi_epi32
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshld.d.512
|
// CHECK: @llvm.x86.avx512.vpshld.d.512
|
||||||
|
// CHECK: select <16 x i1> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}}
|
||||||
return _mm512_mask_shldi_epi32(__S, __U, __A, __B, 127);
|
return _mm512_mask_shldi_epi32(__S, __U, __A, __B, 127);
|
||||||
}
|
}
|
||||||
|
|
||||||
__m512i test_mm512_maskz_shldi_epi32(__mmask16 __U, __m512i __A, __m512i __B) {
|
__m512i test_mm512_maskz_shldi_epi32(__mmask16 __U, __m512i __A, __m512i __B) {
|
||||||
// CHECK-LABEL: @test_mm512_maskz_shldi_epi32
|
// CHECK-LABEL: @test_mm512_maskz_shldi_epi32
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshld.d.512
|
// CHECK: @llvm.x86.avx512.vpshld.d.512
|
||||||
|
// CHECK: select <16 x i1> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}}
|
||||||
return _mm512_maskz_shldi_epi32(__U, __A, __B, 63);
|
return _mm512_maskz_shldi_epi32(__U, __A, __B, 63);
|
||||||
}
|
}
|
||||||
|
|
||||||
__m512i test_mm512_shldi_epi32(__m512i __A, __m512i __B) {
|
__m512i test_mm512_shldi_epi32(__m512i __A, __m512i __B) {
|
||||||
// CHECK-LABEL: @test_mm512_shldi_epi32
|
// CHECK-LABEL: @test_mm512_shldi_epi32
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshld.d.512
|
// CHECK: @llvm.x86.avx512.vpshld.d.512
|
||||||
return _mm512_shldi_epi32(__A, __B, 31);
|
return _mm512_shldi_epi32(__A, __B, 31);
|
||||||
}
|
}
|
||||||
|
|
||||||
__m512i test_mm512_mask_shldi_epi16(__m512i __S, __mmask32 __U, __m512i __A, __m512i __B) {
|
__m512i test_mm512_mask_shldi_epi16(__m512i __S, __mmask32 __U, __m512i __A, __m512i __B) {
|
||||||
// CHECK-LABEL: @test_mm512_mask_shldi_epi16
|
// CHECK-LABEL: @test_mm512_mask_shldi_epi16
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshld.w.512
|
// CHECK: @llvm.x86.avx512.vpshld.w.512
|
||||||
|
// CHECK: select <32 x i1> %{{.*}}, <32 x i16> %{{.*}}, <32 x i16> %{{.*}}
|
||||||
return _mm512_mask_shldi_epi16(__S, __U, __A, __B, 127);
|
return _mm512_mask_shldi_epi16(__S, __U, __A, __B, 127);
|
||||||
}
|
}
|
||||||
|
|
||||||
__m512i test_mm512_maskz_shldi_epi16(__mmask32 __U, __m512i __A, __m512i __B) {
|
__m512i test_mm512_maskz_shldi_epi16(__mmask32 __U, __m512i __A, __m512i __B) {
|
||||||
// CHECK-LABEL: @test_mm512_maskz_shldi_epi16
|
// CHECK-LABEL: @test_mm512_maskz_shldi_epi16
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshld.w.512
|
// CHECK: @llvm.x86.avx512.vpshld.w.512
|
||||||
|
// CHECK: select <32 x i1> %{{.*}}, <32 x i16> %{{.*}}, <32 x i16> %{{.*}}
|
||||||
return _mm512_maskz_shldi_epi16(__U, __A, __B, 63);
|
return _mm512_maskz_shldi_epi16(__U, __A, __B, 63);
|
||||||
}
|
}
|
||||||
|
|
||||||
__m512i test_mm512_shldi_epi16(__m512i __A, __m512i __B) {
|
__m512i test_mm512_shldi_epi16(__m512i __A, __m512i __B) {
|
||||||
// CHECK-LABEL: @test_mm512_shldi_epi16
|
// CHECK-LABEL: @test_mm512_shldi_epi16
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshld.w.512
|
// CHECK: @llvm.x86.avx512.vpshld.w.512
|
||||||
return _mm512_shldi_epi16(__A, __B, 31);
|
return _mm512_shldi_epi16(__A, __B, 31);
|
||||||
}
|
}
|
||||||
|
|
||||||
__m512i test_mm512_mask_shrdi_epi64(__m512i __S, __mmask8 __U, __m512i __A, __m512i __B) {
|
__m512i test_mm512_mask_shrdi_epi64(__m512i __S, __mmask8 __U, __m512i __A, __m512i __B) {
|
||||||
// CHECK-LABEL: @test_mm512_mask_shrdi_epi64
|
// CHECK-LABEL: @test_mm512_mask_shrdi_epi64
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshrd.q.512
|
// CHECK: @llvm.x86.avx512.vpshrd.q.512
|
||||||
|
// CHECK: select <8 x i1> %{{.*}}, <8 x i64> %{{.*}}, <8 x i64> %{{.*}}
|
||||||
return _mm512_mask_shrdi_epi64(__S, __U, __A, __B, 127);
|
return _mm512_mask_shrdi_epi64(__S, __U, __A, __B, 127);
|
||||||
}
|
}
|
||||||
|
|
||||||
__m512i test_mm512_maskz_shrdi_epi64(__mmask8 __U, __m512i __A, __m512i __B) {
|
__m512i test_mm512_maskz_shrdi_epi64(__mmask8 __U, __m512i __A, __m512i __B) {
|
||||||
// CHECK-LABEL: @test_mm512_maskz_shrdi_epi64
|
// CHECK-LABEL: @test_mm512_maskz_shrdi_epi64
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshrd.q.512
|
// CHECK: @llvm.x86.avx512.vpshrd.q.512
|
||||||
|
// CHECK: select <8 x i1> %{{.*}}, <8 x i64> %{{.*}}, <8 x i64> %{{.*}}
|
||||||
return _mm512_maskz_shrdi_epi64(__U, __A, __B, 63);
|
return _mm512_maskz_shrdi_epi64(__U, __A, __B, 63);
|
||||||
}
|
}
|
||||||
|
|
||||||
__m512i test_mm512_shrdi_epi64(__m512i __A, __m512i __B) {
|
__m512i test_mm512_shrdi_epi64(__m512i __A, __m512i __B) {
|
||||||
// CHECK-LABEL: @test_mm512_shrdi_epi64
|
// CHECK-LABEL: @test_mm512_shrdi_epi64
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshrd.q.512
|
// CHECK: @llvm.x86.avx512.vpshrd.q.512
|
||||||
return _mm512_shrdi_epi64(__A, __B, 31);
|
return _mm512_shrdi_epi64(__A, __B, 31);
|
||||||
}
|
}
|
||||||
|
|
||||||
__m512i test_mm512_mask_shrdi_epi32(__m512i __S, __mmask16 __U, __m512i __A, __m512i __B) {
|
__m512i test_mm512_mask_shrdi_epi32(__m512i __S, __mmask16 __U, __m512i __A, __m512i __B) {
|
||||||
// CHECK-LABEL: @test_mm512_mask_shrdi_epi32
|
// CHECK-LABEL: @test_mm512_mask_shrdi_epi32
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshrd.d.512
|
// CHECK: @llvm.x86.avx512.vpshrd.d.512
|
||||||
|
// CHECK: select <16 x i1> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}}
|
||||||
return _mm512_mask_shrdi_epi32(__S, __U, __A, __B, 127);
|
return _mm512_mask_shrdi_epi32(__S, __U, __A, __B, 127);
|
||||||
}
|
}
|
||||||
|
|
||||||
__m512i test_mm512_maskz_shrdi_epi32(__mmask16 __U, __m512i __A, __m512i __B) {
|
__m512i test_mm512_maskz_shrdi_epi32(__mmask16 __U, __m512i __A, __m512i __B) {
|
||||||
// CHECK-LABEL: @test_mm512_maskz_shrdi_epi32
|
// CHECK-LABEL: @test_mm512_maskz_shrdi_epi32
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshrd.d.512
|
// CHECK: @llvm.x86.avx512.vpshrd.d.512
|
||||||
|
// CHECK: select <16 x i1> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}}
|
||||||
return _mm512_maskz_shrdi_epi32(__U, __A, __B, 63);
|
return _mm512_maskz_shrdi_epi32(__U, __A, __B, 63);
|
||||||
}
|
}
|
||||||
|
|
||||||
__m512i test_mm512_shrdi_epi32(__m512i __A, __m512i __B) {
|
__m512i test_mm512_shrdi_epi32(__m512i __A, __m512i __B) {
|
||||||
// CHECK-LABEL: @test_mm512_shrdi_epi32
|
// CHECK-LABEL: @test_mm512_shrdi_epi32
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshrd.d.512
|
// CHECK: @llvm.x86.avx512.vpshrd.d.512
|
||||||
return _mm512_shrdi_epi32(__A, __B, 31);
|
return _mm512_shrdi_epi32(__A, __B, 31);
|
||||||
}
|
}
|
||||||
|
|
||||||
__m512i test_mm512_mask_shrdi_epi16(__m512i __S, __mmask32 __U, __m512i __A, __m512i __B) {
|
__m512i test_mm512_mask_shrdi_epi16(__m512i __S, __mmask32 __U, __m512i __A, __m512i __B) {
|
||||||
// CHECK-LABEL: @test_mm512_mask_shrdi_epi16
|
// CHECK-LABEL: @test_mm512_mask_shrdi_epi16
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshrd.w.512
|
// CHECK: @llvm.x86.avx512.vpshrd.w.512
|
||||||
|
// CHECK: select <32 x i1> %{{.*}}, <32 x i16> %{{.*}}, <32 x i16> %{{.*}}
|
||||||
return _mm512_mask_shrdi_epi16(__S, __U, __A, __B, 127);
|
return _mm512_mask_shrdi_epi16(__S, __U, __A, __B, 127);
|
||||||
}
|
}
|
||||||
|
|
||||||
__m512i test_mm512_maskz_shrdi_epi16(__mmask32 __U, __m512i __A, __m512i __B) {
|
__m512i test_mm512_maskz_shrdi_epi16(__mmask32 __U, __m512i __A, __m512i __B) {
|
||||||
// CHECK-LABEL: @test_mm512_maskz_shrdi_epi16
|
// CHECK-LABEL: @test_mm512_maskz_shrdi_epi16
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshrd.w.512
|
// CHECK: @llvm.x86.avx512.vpshrd.w.512
|
||||||
|
// CHECK: select <32 x i1> %{{.*}}, <32 x i16> %{{.*}}, <32 x i16> %{{.*}}
|
||||||
return _mm512_maskz_shrdi_epi16(__U, __A, __B, 63);
|
return _mm512_maskz_shrdi_epi16(__U, __A, __B, 63);
|
||||||
}
|
}
|
||||||
|
|
||||||
__m512i test_mm512_shrdi_epi16(__m512i __A, __m512i __B) {
|
__m512i test_mm512_shrdi_epi16(__m512i __A, __m512i __B) {
|
||||||
// CHECK-LABEL: @test_mm512_shrdi_epi16
|
// CHECK-LABEL: @test_mm512_shrdi_epi16
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshrd.w.512
|
// CHECK: @llvm.x86.avx512.vpshrd.w.512
|
||||||
return _mm512_shrdi_epi16(__A, __B, 31);
|
return _mm512_shrdi_epi16(__A, __B, 31);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -172,217 +172,241 @@ __m256i test_mm256_maskz_expandloadu_epi8(__mmask32 __U, void const* __P) {
|
||||||
|
|
||||||
__m256i test_mm256_mask_shldi_epi64(__m256i __S, __mmask8 __U, __m256i __A, __m256i __B) {
|
__m256i test_mm256_mask_shldi_epi64(__m256i __S, __mmask8 __U, __m256i __A, __m256i __B) {
|
||||||
// CHECK-LABEL: @test_mm256_mask_shldi_epi64
|
// CHECK-LABEL: @test_mm256_mask_shldi_epi64
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshld.q.256
|
// CHECK: @llvm.x86.avx512.vpshld.q.256
|
||||||
|
// CHECK: select <4 x i1> %{{.*}}, <4 x i64> %{{.*}}, <4 x i64> %{{.*}}
|
||||||
return _mm256_mask_shldi_epi64(__S, __U, __A, __B, 127);
|
return _mm256_mask_shldi_epi64(__S, __U, __A, __B, 127);
|
||||||
}
|
}
|
||||||
|
|
||||||
__m256i test_mm256_maskz_shldi_epi64(__mmask8 __U, __m256i __A, __m256i __B) {
|
__m256i test_mm256_maskz_shldi_epi64(__mmask8 __U, __m256i __A, __m256i __B) {
|
||||||
// CHECK-LABEL: @test_mm256_maskz_shldi_epi64
|
// CHECK-LABEL: @test_mm256_maskz_shldi_epi64
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshld.q.256
|
// CHECK: @llvm.x86.avx512.vpshld.q.256
|
||||||
|
// CHECK: select <4 x i1> %{{.*}}, <4 x i64> %{{.*}}, <4 x i64> %{{.*}}
|
||||||
return _mm256_maskz_shldi_epi64(__U, __A, __B, 63);
|
return _mm256_maskz_shldi_epi64(__U, __A, __B, 63);
|
||||||
}
|
}
|
||||||
|
|
||||||
__m256i test_mm256_shldi_epi64(__m256i __A, __m256i __B) {
|
__m256i test_mm256_shldi_epi64(__m256i __A, __m256i __B) {
|
||||||
// CHECK-LABEL: @test_mm256_shldi_epi64
|
// CHECK-LABEL: @test_mm256_shldi_epi64
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshld.q.256
|
// CHECK: @llvm.x86.avx512.vpshld.q.256
|
||||||
return _mm256_shldi_epi64(__A, __B, 31);
|
return _mm256_shldi_epi64(__A, __B, 31);
|
||||||
}
|
}
|
||||||
|
|
||||||
__m128i test_mm_mask_shldi_epi64(__m128i __S, __mmask8 __U, __m128i __A, __m128i __B) {
|
__m128i test_mm_mask_shldi_epi64(__m128i __S, __mmask8 __U, __m128i __A, __m128i __B) {
|
||||||
// CHECK-LABEL: @test_mm_mask_shldi_epi64
|
// CHECK-LABEL: @test_mm_mask_shldi_epi64
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshld.q.128
|
// CHECK: @llvm.x86.avx512.vpshld.q.128
|
||||||
|
// CHECK: select <2 x i1> %{{.*}}, <2 x i64> %{{.*}}, <2 x i64> %{{.*}}
|
||||||
return _mm_mask_shldi_epi64(__S, __U, __A, __B, 127);
|
return _mm_mask_shldi_epi64(__S, __U, __A, __B, 127);
|
||||||
}
|
}
|
||||||
|
|
||||||
__m128i test_mm_maskz_shldi_epi64(__mmask8 __U, __m128i __A, __m128i __B) {
|
__m128i test_mm_maskz_shldi_epi64(__mmask8 __U, __m128i __A, __m128i __B) {
|
||||||
// CHECK-LABEL: @test_mm_maskz_shldi_epi64
|
// CHECK-LABEL: @test_mm_maskz_shldi_epi64
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshld.q.128
|
// CHECK: @llvm.x86.avx512.vpshld.q.128
|
||||||
|
// CHECK: select <2 x i1> %{{.*}}, <2 x i64> %{{.*}}, <2 x i64> %{{.*}}
|
||||||
return _mm_maskz_shldi_epi64(__U, __A, __B, 63);
|
return _mm_maskz_shldi_epi64(__U, __A, __B, 63);
|
||||||
}
|
}
|
||||||
|
|
||||||
__m128i test_mm_shldi_epi64(__m128i __A, __m128i __B) {
|
__m128i test_mm_shldi_epi64(__m128i __A, __m128i __B) {
|
||||||
// CHECK-LABEL: @test_mm_shldi_epi64
|
// CHECK-LABEL: @test_mm_shldi_epi64
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshld.q.128
|
// CHECK: @llvm.x86.avx512.vpshld.q.128
|
||||||
return _mm_shldi_epi64(__A, __B, 31);
|
return _mm_shldi_epi64(__A, __B, 31);
|
||||||
}
|
}
|
||||||
|
|
||||||
__m256i test_mm256_mask_shldi_epi32(__m256i __S, __mmask8 __U, __m256i __A, __m256i __B) {
|
__m256i test_mm256_mask_shldi_epi32(__m256i __S, __mmask8 __U, __m256i __A, __m256i __B) {
|
||||||
// CHECK-LABEL: @test_mm256_mask_shldi_epi32
|
// CHECK-LABEL: @test_mm256_mask_shldi_epi32
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshld.d.256
|
// CHECK: @llvm.x86.avx512.vpshld.d.256
|
||||||
|
// CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}
|
||||||
return _mm256_mask_shldi_epi32(__S, __U, __A, __B, 127);
|
return _mm256_mask_shldi_epi32(__S, __U, __A, __B, 127);
|
||||||
}
|
}
|
||||||
|
|
||||||
__m256i test_mm256_maskz_shldi_epi32(__mmask8 __U, __m256i __A, __m256i __B) {
|
__m256i test_mm256_maskz_shldi_epi32(__mmask8 __U, __m256i __A, __m256i __B) {
|
||||||
// CHECK-LABEL: @test_mm256_maskz_shldi_epi32
|
// CHECK-LABEL: @test_mm256_maskz_shldi_epi32
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshld.d.256
|
// CHECK: @llvm.x86.avx512.vpshld.d.256
|
||||||
|
// CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}
|
||||||
return _mm256_maskz_shldi_epi32(__U, __A, __B, 63);
|
return _mm256_maskz_shldi_epi32(__U, __A, __B, 63);
|
||||||
}
|
}
|
||||||
|
|
||||||
__m256i test_mm256_shldi_epi32(__m256i __A, __m256i __B) {
|
__m256i test_mm256_shldi_epi32(__m256i __A, __m256i __B) {
|
||||||
// CHECK-LABEL: @test_mm256_shldi_epi32
|
// CHECK-LABEL: @test_mm256_shldi_epi32
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshld.d.256
|
// CHECK: @llvm.x86.avx512.vpshld.d.256
|
||||||
return _mm256_shldi_epi32(__A, __B, 31);
|
return _mm256_shldi_epi32(__A, __B, 31);
|
||||||
}
|
}
|
||||||
|
|
||||||
__m128i test_mm_mask_shldi_epi32(__m128i __S, __mmask8 __U, __m128i __A, __m128i __B) {
|
__m128i test_mm_mask_shldi_epi32(__m128i __S, __mmask8 __U, __m128i __A, __m128i __B) {
|
||||||
// CHECK-LABEL: @test_mm_mask_shldi_epi32
|
// CHECK-LABEL: @test_mm_mask_shldi_epi32
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshld.d.128
|
// CHECK: @llvm.x86.avx512.vpshld.d.128
|
||||||
|
// CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}
|
||||||
return _mm_mask_shldi_epi32(__S, __U, __A, __B, 127);
|
return _mm_mask_shldi_epi32(__S, __U, __A, __B, 127);
|
||||||
}
|
}
|
||||||
|
|
||||||
__m128i test_mm_maskz_shldi_epi32(__mmask8 __U, __m128i __A, __m128i __B) {
|
__m128i test_mm_maskz_shldi_epi32(__mmask8 __U, __m128i __A, __m128i __B) {
|
||||||
// CHECK-LABEL: @test_mm_maskz_shldi_epi32
|
// CHECK-LABEL: @test_mm_maskz_shldi_epi32
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshld.d.128
|
// CHECK: @llvm.x86.avx512.vpshld.d.128
|
||||||
|
// CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}
|
||||||
return _mm_maskz_shldi_epi32(__U, __A, __B, 63);
|
return _mm_maskz_shldi_epi32(__U, __A, __B, 63);
|
||||||
}
|
}
|
||||||
|
|
||||||
__m128i test_mm_shldi_epi32(__m128i __A, __m128i __B) {
|
__m128i test_mm_shldi_epi32(__m128i __A, __m128i __B) {
|
||||||
// CHECK-LABEL: @test_mm_shldi_epi32
|
// CHECK-LABEL: @test_mm_shldi_epi32
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshld.d.128
|
// CHECK: @llvm.x86.avx512.vpshld.d.128
|
||||||
return _mm_shldi_epi32(__A, __B, 31);
|
return _mm_shldi_epi32(__A, __B, 31);
|
||||||
}
|
}
|
||||||
|
|
||||||
__m256i test_mm256_mask_shldi_epi16(__m256i __S, __mmask16 __U, __m256i __A, __m256i __B) {
|
__m256i test_mm256_mask_shldi_epi16(__m256i __S, __mmask16 __U, __m256i __A, __m256i __B) {
|
||||||
// CHECK-LABEL: @test_mm256_mask_shldi_epi16
|
// CHECK-LABEL: @test_mm256_mask_shldi_epi16
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshld.w.256
|
// CHECK: @llvm.x86.avx512.vpshld.w.256
|
||||||
|
// CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
|
||||||
return _mm256_mask_shldi_epi16(__S, __U, __A, __B, 127);
|
return _mm256_mask_shldi_epi16(__S, __U, __A, __B, 127);
|
||||||
}
|
}
|
||||||
|
|
||||||
__m256i test_mm256_maskz_shldi_epi16(__mmask16 __U, __m256i __A, __m256i __B) {
|
__m256i test_mm256_maskz_shldi_epi16(__mmask16 __U, __m256i __A, __m256i __B) {
|
||||||
// CHECK-LABEL: @test_mm256_maskz_shldi_epi16
|
// CHECK-LABEL: @test_mm256_maskz_shldi_epi16
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshld.w.256
|
// CHECK: @llvm.x86.avx512.vpshld.w.256
|
||||||
|
// CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
|
||||||
return _mm256_maskz_shldi_epi16(__U, __A, __B, 63);
|
return _mm256_maskz_shldi_epi16(__U, __A, __B, 63);
|
||||||
}
|
}
|
||||||
|
|
||||||
__m256i test_mm256_shldi_epi16(__m256i __A, __m256i __B) {
|
__m256i test_mm256_shldi_epi16(__m256i __A, __m256i __B) {
|
||||||
// CHECK-LABEL: @test_mm256_shldi_epi16
|
// CHECK-LABEL: @test_mm256_shldi_epi16
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshld.w.256
|
// CHECK: @llvm.x86.avx512.vpshld.w.256
|
||||||
return _mm256_shldi_epi16(__A, __B, 31);
|
return _mm256_shldi_epi16(__A, __B, 31);
|
||||||
}
|
}
|
||||||
|
|
||||||
__m128i test_mm_mask_shldi_epi16(__m128i __S, __mmask8 __U, __m128i __A, __m128i __B) {
|
__m128i test_mm_mask_shldi_epi16(__m128i __S, __mmask8 __U, __m128i __A, __m128i __B) {
|
||||||
// CHECK-LABEL: @test_mm_mask_shldi_epi16
|
// CHECK-LABEL: @test_mm_mask_shldi_epi16
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshld.w.128
|
// CHECK: @llvm.x86.avx512.vpshld.w.128
|
||||||
|
// CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
|
||||||
return _mm_mask_shldi_epi16(__S, __U, __A, __B, 127);
|
return _mm_mask_shldi_epi16(__S, __U, __A, __B, 127);
|
||||||
}
|
}
|
||||||
|
|
||||||
__m128i test_mm_maskz_shldi_epi16(__mmask8 __U, __m128i __A, __m128i __B) {
|
__m128i test_mm_maskz_shldi_epi16(__mmask8 __U, __m128i __A, __m128i __B) {
|
||||||
// CHECK-LABEL: @test_mm_maskz_shldi_epi16
|
// CHECK-LABEL: @test_mm_maskz_shldi_epi16
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshld.w.128
|
// CHECK: @llvm.x86.avx512.vpshld.w.128
|
||||||
|
// CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
|
||||||
return _mm_maskz_shldi_epi16(__U, __A, __B, 63);
|
return _mm_maskz_shldi_epi16(__U, __A, __B, 63);
|
||||||
}
|
}
|
||||||
|
|
||||||
__m128i test_mm_shldi_epi16(__m128i __A, __m128i __B) {
|
__m128i test_mm_shldi_epi16(__m128i __A, __m128i __B) {
|
||||||
// CHECK-LABEL: @test_mm_shldi_epi16
|
// CHECK-LABEL: @test_mm_shldi_epi16
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshld.w.128
|
// CHECK: @llvm.x86.avx512.vpshld.w.128
|
||||||
return _mm_shldi_epi16(__A, __B, 31);
|
return _mm_shldi_epi16(__A, __B, 31);
|
||||||
}
|
}
|
||||||
|
|
||||||
__m256i test_mm256_mask_shrdi_epi64(__m256i __S, __mmask8 __U, __m256i __A, __m256i __B) {
|
__m256i test_mm256_mask_shrdi_epi64(__m256i __S, __mmask8 __U, __m256i __A, __m256i __B) {
|
||||||
// CHECK-LABEL: @test_mm256_mask_shrdi_epi64
|
// CHECK-LABEL: @test_mm256_mask_shrdi_epi64
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshrd.q.256
|
// CHECK: @llvm.x86.avx512.vpshrd.q.256
|
||||||
|
// CHECK: select <4 x i1> %{{.*}}, <4 x i64> %{{.*}}, <4 x i64> %{{.*}}
|
||||||
return _mm256_mask_shrdi_epi64(__S, __U, __A, __B, 127);
|
return _mm256_mask_shrdi_epi64(__S, __U, __A, __B, 127);
|
||||||
}
|
}
|
||||||
|
|
||||||
__m256i test_mm256_maskz_shrdi_epi64(__mmask8 __U, __m256i __A, __m256i __B) {
|
__m256i test_mm256_maskz_shrdi_epi64(__mmask8 __U, __m256i __A, __m256i __B) {
|
||||||
// CHECK-LABEL: @test_mm256_maskz_shrdi_epi64
|
// CHECK-LABEL: @test_mm256_maskz_shrdi_epi64
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshrd.q.256
|
// CHECK: @llvm.x86.avx512.vpshrd.q.256
|
||||||
|
// CHECK: select <4 x i1> %{{.*}}, <4 x i64> %{{.*}}, <4 x i64> %{{.*}}
|
||||||
return _mm256_maskz_shrdi_epi64(__U, __A, __B, 63);
|
return _mm256_maskz_shrdi_epi64(__U, __A, __B, 63);
|
||||||
}
|
}
|
||||||
|
|
||||||
__m256i test_mm256_shrdi_epi64(__m256i __A, __m256i __B) {
|
__m256i test_mm256_shrdi_epi64(__m256i __A, __m256i __B) {
|
||||||
// CHECK-LABEL: @test_mm256_shrdi_epi64
|
// CHECK-LABEL: @test_mm256_shrdi_epi64
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshrd.q.256
|
// CHECK: @llvm.x86.avx512.vpshrd.q.256
|
||||||
return _mm256_shrdi_epi64(__A, __B, 31);
|
return _mm256_shrdi_epi64(__A, __B, 31);
|
||||||
}
|
}
|
||||||
|
|
||||||
__m128i test_mm_mask_shrdi_epi64(__m128i __S, __mmask8 __U, __m128i __A, __m128i __B) {
|
__m128i test_mm_mask_shrdi_epi64(__m128i __S, __mmask8 __U, __m128i __A, __m128i __B) {
|
||||||
// CHECK-LABEL: @test_mm_mask_shrdi_epi64
|
// CHECK-LABEL: @test_mm_mask_shrdi_epi64
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshrd.q.128
|
// CHECK: @llvm.x86.avx512.vpshrd.q.128
|
||||||
|
// CHECK: select <2 x i1> %{{.*}}, <2 x i64> %{{.*}}, <2 x i64> %{{.*}}
|
||||||
return _mm_mask_shrdi_epi64(__S, __U, __A, __B, 127);
|
return _mm_mask_shrdi_epi64(__S, __U, __A, __B, 127);
|
||||||
}
|
}
|
||||||
|
|
||||||
__m128i test_mm_maskz_shrdi_epi64(__mmask8 __U, __m128i __A, __m128i __B) {
|
__m128i test_mm_maskz_shrdi_epi64(__mmask8 __U, __m128i __A, __m128i __B) {
|
||||||
// CHECK-LABEL: @test_mm_maskz_shrdi_epi64
|
// CHECK-LABEL: @test_mm_maskz_shrdi_epi64
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshrd.q.128
|
// CHECK: @llvm.x86.avx512.vpshrd.q.128
|
||||||
|
// CHECK: select <2 x i1> %{{.*}}, <2 x i64> %{{.*}}, <2 x i64> %{{.*}}
|
||||||
return _mm_maskz_shrdi_epi64(__U, __A, __B, 63);
|
return _mm_maskz_shrdi_epi64(__U, __A, __B, 63);
|
||||||
}
|
}
|
||||||
|
|
||||||
__m128i test_mm_shrdi_epi64(__m128i __A, __m128i __B) {
|
__m128i test_mm_shrdi_epi64(__m128i __A, __m128i __B) {
|
||||||
// CHECK-LABEL: @test_mm_shrdi_epi64
|
// CHECK-LABEL: @test_mm_shrdi_epi64
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshrd.q.128
|
// CHECK: @llvm.x86.avx512.vpshrd.q.128
|
||||||
return _mm_shrdi_epi64(__A, __B, 31);
|
return _mm_shrdi_epi64(__A, __B, 31);
|
||||||
}
|
}
|
||||||
|
|
||||||
__m256i test_mm256_mask_shrdi_epi32(__m256i __S, __mmask8 __U, __m256i __A, __m256i __B) {
|
__m256i test_mm256_mask_shrdi_epi32(__m256i __S, __mmask8 __U, __m256i __A, __m256i __B) {
|
||||||
// CHECK-LABEL: @test_mm256_mask_shrdi_epi32
|
// CHECK-LABEL: @test_mm256_mask_shrdi_epi32
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshrd.d.256
|
// CHECK: @llvm.x86.avx512.vpshrd.d.256
|
||||||
|
// CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}
|
||||||
return _mm256_mask_shrdi_epi32(__S, __U, __A, __B, 127);
|
return _mm256_mask_shrdi_epi32(__S, __U, __A, __B, 127);
|
||||||
}
|
}
|
||||||
|
|
||||||
__m256i test_mm256_maskz_shrdi_epi32(__mmask8 __U, __m256i __A, __m256i __B) {
|
__m256i test_mm256_maskz_shrdi_epi32(__mmask8 __U, __m256i __A, __m256i __B) {
|
||||||
// CHECK-LABEL: @test_mm256_maskz_shrdi_epi32
|
// CHECK-LABEL: @test_mm256_maskz_shrdi_epi32
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshrd.d.256
|
// CHECK: @llvm.x86.avx512.vpshrd.d.256
|
||||||
|
// CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}
|
||||||
return _mm256_maskz_shrdi_epi32(__U, __A, __B, 63);
|
return _mm256_maskz_shrdi_epi32(__U, __A, __B, 63);
|
||||||
}
|
}
|
||||||
|
|
||||||
__m256i test_mm256_shrdi_epi32(__m256i __A, __m256i __B) {
|
__m256i test_mm256_shrdi_epi32(__m256i __A, __m256i __B) {
|
||||||
// CHECK-LABEL: @test_mm256_shrdi_epi32
|
// CHECK-LABEL: @test_mm256_shrdi_epi32
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshrd.d.256
|
// CHECK: @llvm.x86.avx512.vpshrd.d.256
|
||||||
return _mm256_shrdi_epi32(__A, __B, 31);
|
return _mm256_shrdi_epi32(__A, __B, 31);
|
||||||
}
|
}
|
||||||
|
|
||||||
__m128i test_mm_mask_shrdi_epi32(__m128i __S, __mmask8 __U, __m128i __A, __m128i __B) {
|
__m128i test_mm_mask_shrdi_epi32(__m128i __S, __mmask8 __U, __m128i __A, __m128i __B) {
|
||||||
// CHECK-LABEL: @test_mm_mask_shrdi_epi32
|
// CHECK-LABEL: @test_mm_mask_shrdi_epi32
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshrd.d.128
|
// CHECK: @llvm.x86.avx512.vpshrd.d.128
|
||||||
|
// CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}
|
||||||
return _mm_mask_shrdi_epi32(__S, __U, __A, __B, 127);
|
return _mm_mask_shrdi_epi32(__S, __U, __A, __B, 127);
|
||||||
}
|
}
|
||||||
|
|
||||||
__m128i test_mm_maskz_shrdi_epi32(__mmask8 __U, __m128i __A, __m128i __B) {
|
__m128i test_mm_maskz_shrdi_epi32(__mmask8 __U, __m128i __A, __m128i __B) {
|
||||||
// CHECK-LABEL: @test_mm_maskz_shrdi_epi32
|
// CHECK-LABEL: @test_mm_maskz_shrdi_epi32
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshrd.d.128
|
// CHECK: @llvm.x86.avx512.vpshrd.d.128
|
||||||
|
// CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}
|
||||||
return _mm_maskz_shrdi_epi32(__U, __A, __B, 63);
|
return _mm_maskz_shrdi_epi32(__U, __A, __B, 63);
|
||||||
}
|
}
|
||||||
|
|
||||||
__m128i test_mm_shrdi_epi32(__m128i __A, __m128i __B) {
|
__m128i test_mm_shrdi_epi32(__m128i __A, __m128i __B) {
|
||||||
// CHECK-LABEL: @test_mm_shrdi_epi32
|
// CHECK-LABEL: @test_mm_shrdi_epi32
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshrd.d.128
|
// CHECK: @llvm.x86.avx512.vpshrd.d.128
|
||||||
return _mm_shrdi_epi32(__A, __B, 31);
|
return _mm_shrdi_epi32(__A, __B, 31);
|
||||||
}
|
}
|
||||||
|
|
||||||
__m256i test_mm256_mask_shrdi_epi16(__m256i __S, __mmask16 __U, __m256i __A, __m256i __B) {
|
__m256i test_mm256_mask_shrdi_epi16(__m256i __S, __mmask16 __U, __m256i __A, __m256i __B) {
|
||||||
// CHECK-LABEL: @test_mm256_mask_shrdi_epi16
|
// CHECK-LABEL: @test_mm256_mask_shrdi_epi16
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshrd.w.256
|
// CHECK: @llvm.x86.avx512.vpshrd.w.256
|
||||||
|
// CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
|
||||||
return _mm256_mask_shrdi_epi16(__S, __U, __A, __B, 127);
|
return _mm256_mask_shrdi_epi16(__S, __U, __A, __B, 127);
|
||||||
}
|
}
|
||||||
|
|
||||||
__m256i test_mm256_maskz_shrdi_epi16(__mmask16 __U, __m256i __A, __m256i __B) {
|
__m256i test_mm256_maskz_shrdi_epi16(__mmask16 __U, __m256i __A, __m256i __B) {
|
||||||
// CHECK-LABEL: @test_mm256_maskz_shrdi_epi16
|
// CHECK-LABEL: @test_mm256_maskz_shrdi_epi16
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshrd.w.256
|
// CHECK: @llvm.x86.avx512.vpshrd.w.256
|
||||||
|
// CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
|
||||||
return _mm256_maskz_shrdi_epi16(__U, __A, __B, 63);
|
return _mm256_maskz_shrdi_epi16(__U, __A, __B, 63);
|
||||||
}
|
}
|
||||||
|
|
||||||
__m256i test_mm256_shrdi_epi16(__m256i __A, __m256i __B) {
|
__m256i test_mm256_shrdi_epi16(__m256i __A, __m256i __B) {
|
||||||
// CHECK-LABEL: @test_mm256_shrdi_epi16
|
// CHECK-LABEL: @test_mm256_shrdi_epi16
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshrd.w.256
|
// CHECK: @llvm.x86.avx512.vpshrd.w.256
|
||||||
return _mm256_shrdi_epi16(__A, __B, 31);
|
return _mm256_shrdi_epi16(__A, __B, 31);
|
||||||
}
|
}
|
||||||
|
|
||||||
__m128i test_mm_mask_shrdi_epi16(__m128i __S, __mmask8 __U, __m128i __A, __m128i __B) {
|
__m128i test_mm_mask_shrdi_epi16(__m128i __S, __mmask8 __U, __m128i __A, __m128i __B) {
|
||||||
// CHECK-LABEL: @test_mm_mask_shrdi_epi16
|
// CHECK-LABEL: @test_mm_mask_shrdi_epi16
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshrd.w.128
|
// CHECK: @llvm.x86.avx512.vpshrd.w.128
|
||||||
|
// CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
|
||||||
return _mm_mask_shrdi_epi16(__S, __U, __A, __B, 127);
|
return _mm_mask_shrdi_epi16(__S, __U, __A, __B, 127);
|
||||||
}
|
}
|
||||||
|
|
||||||
__m128i test_mm_maskz_shrdi_epi16(__mmask8 __U, __m128i __A, __m128i __B) {
|
__m128i test_mm_maskz_shrdi_epi16(__mmask8 __U, __m128i __A, __m128i __B) {
|
||||||
// CHECK-LABEL: @test_mm_maskz_shrdi_epi16
|
// CHECK-LABEL: @test_mm_maskz_shrdi_epi16
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshrd.w.128
|
// CHECK: @llvm.x86.avx512.vpshrd.w.128
|
||||||
|
// CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
|
||||||
return _mm_maskz_shrdi_epi16(__U, __A, __B, 63);
|
return _mm_maskz_shrdi_epi16(__U, __A, __B, 63);
|
||||||
}
|
}
|
||||||
|
|
||||||
__m128i test_mm_shrdi_epi16(__m128i __A, __m128i __B) {
|
__m128i test_mm_shrdi_epi16(__m128i __A, __m128i __B) {
|
||||||
// CHECK-LABEL: @test_mm_shrdi_epi16
|
// CHECK-LABEL: @test_mm_shrdi_epi16
|
||||||
// CHECK: @llvm.x86.avx512.mask.vpshrd.w.128
|
// CHECK: @llvm.x86.avx512.vpshrd.w.128
|
||||||
return _mm_shrdi_epi16(__A, __B, 31);
|
return _mm_shrdi_epi16(__A, __B, 31);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -93,74 +93,74 @@ __m512 _mm512_mask_prefetch_i32gather_ps_2(__m512i index, __mmask16 mask, int co
|
||||||
return __builtin_ia32_gatherpfdps(mask, index, addr, 1, 1); // expected-error {{argument should be a value from 2 to 3}}
|
return __builtin_ia32_gatherpfdps(mask, index, addr, 1, 1); // expected-error {{argument should be a value from 2 to 3}}
|
||||||
}
|
}
|
||||||
|
|
||||||
__m512i test_mm512_mask_shldi_epi64(__m512i __S, __mmask8 __U, __m512i __A, __m512i __B) {
|
__m512i test_mm512_shldi_epi64(__m512i __A, __m512i __B) {
|
||||||
return __builtin_ia32_vpshldq512_mask(__A, __B, 1024, __S, __U); // expected-error {{argument should be a value from 0 to 255}}
|
return __builtin_ia32_vpshldq512(__A, __B, 1024); // expected-error {{argument should be a value from 0 to 255}}
|
||||||
}
|
}
|
||||||
|
|
||||||
__m512i test_mm512_mask_shldi_epi32(__m512i __S, __mmask16 __U, __m512i __A, __m512i __B) {
|
__m512i test_mm512_shldi_epi32(__m512i __A, __m512i __B) {
|
||||||
return __builtin_ia32_vpshldd512_mask(__A, __B, 1024, __S, __U); // expected-error {{argument should be a value from 0 to 255}}
|
return __builtin_ia32_vpshldd512(__A, __B, 1024); // expected-error {{argument should be a value from 0 to 255}}
|
||||||
}
|
}
|
||||||
|
|
||||||
__m512i test_mm512_mask_shldi_epi16(__m512i __S, __mmask32 __U, __m512i __A, __m512i __B) {
|
__m512i test_mm512_shldi_epi16(__m512i __A, __m512i __B) {
|
||||||
return __builtin_ia32_vpshldw512_mask(__A, __B, 1024, __S, __U); // expected-error {{argument should be a value from 0 to 255}}
|
return __builtin_ia32_vpshldw512(__A, __B, 1024); // expected-error {{argument should be a value from 0 to 255}}
|
||||||
}
|
}
|
||||||
|
|
||||||
__m512i test_mm512_mask_shrdi_epi64(__m512i __S, __mmask8 __U, __m512i __A, __m512i __B) {
|
__m512i test_mm512_shrdi_epi64(__m512i __A, __m512i __B) {
|
||||||
return __builtin_ia32_vpshrdq512_mask(__A, __B, 1024, __S, __U); // expected-error {{argument should be a value from 0 to 255}}
|
return __builtin_ia32_vpshrdq512(__A, __B, 1024); // expected-error {{argument should be a value from 0 to 255}}
|
||||||
}
|
}
|
||||||
|
|
||||||
__m512i test_mm512_mask_shrdi_epi32(__m512i __S, __mmask16 __U, __m512i __A, __m512i __B) {
|
__m512i test_mm512_shrdi_epi32(__m512i __A, __m512i __B) {
|
||||||
return __builtin_ia32_vpshrdd512_mask(__A, __B, 1024, __S, __U); // expected-error {{argument should be a value from 0 to 255}}
|
return __builtin_ia32_vpshrdd512(__A, __B, 1024); // expected-error {{argument should be a value from 0 to 255}}
|
||||||
}
|
}
|
||||||
|
|
||||||
__m512i test_mm512_mask_shrdi_epi16(__m512i __S, __mmask32 __U, __m512i __A, __m512i __B) {
|
__m512i test_mm512_shrdi_epi16(__m512i __A, __m512i __B) {
|
||||||
return __builtin_ia32_vpshrdw512_mask(__A, __B, 1024, __S, __U); // expected-error {{argument should be a value from 0 to 255}}
|
return __builtin_ia32_vpshrdw512(__A, __B, 1024); // expected-error {{argument should be a value from 0 to 255}}
|
||||||
}
|
}
|
||||||
|
|
||||||
__m256i test_mm256_mask_shldi_epi64(__m256i __S, __mmask8 __U, __m256i __A, __m256i __B) {
|
__m256i test_mm256_shldi_epi64(__m256i __A, __m256i __B) {
|
||||||
return __builtin_ia32_vpshldq256_mask(__A, __B, 1024, __S, __U); // expected-error {{argument should be a value from 0 to 255}}
|
return __builtin_ia32_vpshldq256(__A, __B, 1024); // expected-error {{argument should be a value from 0 to 255}}
|
||||||
}
|
}
|
||||||
|
|
||||||
__m128i test_mm128_mask_shldi_epi64(__m128i __S, __mmask8 __U, __m128i __A, __m128i __B) {
|
__m128i test_mm128_shldi_epi64( __m128i __A, __m128i __B) {
|
||||||
return __builtin_ia32_vpshldq128_mask(__A, __B, 1024, __S, __U); // expected-error {{argument should be a value from 0 to 255}}
|
return __builtin_ia32_vpshldq128(__A, __B, 1024); // expected-error {{argument should be a value from 0 to 255}}
|
||||||
}
|
}
|
||||||
|
|
||||||
__m256i test_mm256_mask_shldi_epi32(__m256i __S, __mmask8 __U, __m256i __A, __m256i __B) {
|
__m256i test_mm256_shldi_epi32(__m256i __A, __m256i __B) {
|
||||||
return __builtin_ia32_vpshldd256_mask(__A, __B, 1024, __S, __U); // expected-error {{argument should be a value from 0 to 255}}
|
return __builtin_ia32_vpshldd256(__A, __B, 1024); // expected-error {{argument should be a value from 0 to 255}}
|
||||||
}
|
}
|
||||||
|
|
||||||
__m128i test_mm128_mask_shldi_epi32(__m128i __S, __mmask8 __U, __m128i __A, __m128i __B) {
|
__m128i test_mm128_shldi_epi32(__m128i __A, __m128i __B) {
|
||||||
return __builtin_ia32_vpshldd128_mask(__A, __B, 1024, __S, __U); // expected-error {{argument should be a value from 0 to 255}}
|
return __builtin_ia32_vpshldd128(__A, __B, 1024); // expected-error {{argument should be a value from 0 to 255}}
|
||||||
}
|
}
|
||||||
|
|
||||||
__m256i test_mm256_mask_shldi_epi16(__m256i __S, __mmask16 __U, __m256i __A, __m256i __B) {
|
__m256i test_mm256_shldi_epi16( __m256i __A, __m256i __B) {
|
||||||
return __builtin_ia32_vpshldw256_mask(__A, __B, 1024, __S, __U); // expected-error {{argument should be a value from 0 to 255}}
|
return __builtin_ia32_vpshldw256(__A, __B, 1024); // expected-error {{argument should be a value from 0 to 255}}
|
||||||
}
|
}
|
||||||
|
|
||||||
__m128i test_mm128_mask_shldi_epi16(__m128i __S, __mmask8 __U, __m128i __A, __m128i __B) {
|
__m128i test_mm128_shldi_epi16(__m128i __A, __m128i __B) {
|
||||||
return __builtin_ia32_vpshldw128_mask(__A, __B, 1024, __S, __U); // expected-error {{argument should be a value from 0 to 255}}
|
return __builtin_ia32_vpshldw128(__A, __B, 1024); // expected-error {{argument should be a value from 0 to 255}}
|
||||||
}
|
}
|
||||||
|
|
||||||
__m256i test_mm256_mask_shrdi_epi64(__m256i __S, __mmask8 __U, __m256i __A, __m256i __B) {
|
__m256i test_mm256_shrdi_epi64(__m256i __A, __m256i __B) {
|
||||||
return __builtin_ia32_vpshrdq256_mask(__A, __B, 1024, __S, __U); // expected-error {{argument should be a value from 0 to 255}}
|
return __builtin_ia32_vpshrdq256(__A, __B, 1024); // expected-error {{argument should be a value from 0 to 255}}
|
||||||
}
|
}
|
||||||
|
|
||||||
__m128i test_mm128_mask_shrdi_epi64(__m128i __S, __mmask8 __U, __m128i __A, __m128i __B) {
|
__m128i test_mm128_shrdi_epi64(__m128i __A, __m128i __B) {
|
||||||
return __builtin_ia32_vpshrdq128_mask(__A, __B, 1024, __S, __U); // expected-error {{argument should be a value from 0 to 255}}
|
return __builtin_ia32_vpshrdq128(__A, __B, 1024); // expected-error {{argument should be a value from 0 to 255}}
|
||||||
}
|
}
|
||||||
|
|
||||||
__m256i test_mm256_mask_shrdi_epi32(__m256i __S, __mmask8 __U, __m256i __A, __m256i __B) {
|
__m256i test_mm256_shrdi_epi32(__m256i __A, __m256i __B) {
|
||||||
return __builtin_ia32_vpshrdd256_mask(__A, __B, 1024, __S, __U); // expected-error {{argument should be a value from 0 to 255}}
|
return __builtin_ia32_vpshrdd256(__A, __B, 1024); // expected-error {{argument should be a value from 0 to 255}}
|
||||||
}
|
}
|
||||||
|
|
||||||
__m128i test_mm128_mask_shrdi_epi32(__m128i __S, __mmask8 __U, __m128i __A, __m128i __B) {
|
__m128i test_mm128_shrdi_epi32(__m128i __A, __m128i __B) {
|
||||||
return __builtin_ia32_vpshrdd128_mask(__A, __B, 1024, __S, __U); // expected-error {{argument should be a value from 0 to 255}}
|
return __builtin_ia32_vpshrdd128(__A, __B, 1024); // expected-error {{argument should be a value from 0 to 255}}
|
||||||
}
|
}
|
||||||
|
|
||||||
__m256i test_mm256_mask_shrdi_epi16(__m256i __S, __mmask16 __U, __m256i __A, __m256i __B) {
|
__m256i test_mm256_shrdi_epi16(__m256i __A, __m256i __B) {
|
||||||
return __builtin_ia32_vpshrdw256_mask(__A, __B, 1024, __S, __U); // expected-error {{argument should be a value from 0 to 255}}
|
return __builtin_ia32_vpshrdw256(__A, __B, 1024); // expected-error {{argument should be a value from 0 to 255}}
|
||||||
}
|
}
|
||||||
|
|
||||||
__m128i test_mm128_mask_shrdi_epi16(__m128i __S, __mmask8 __U, __m128i __A, __m128i __B) {
|
__m128i test_mm128_shrdi_epi16(__m128i __A, __m128i __B) {
|
||||||
return __builtin_ia32_vpshrdw128_mask(__A, __B, 1024, __S, __U); // expected-error {{argument should be a value from 0 to 255}}
|
return __builtin_ia32_vpshrdw128(__A, __B, 1024); // expected-error {{argument should be a value from 0 to 255}}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue