From c1fb9d5a9d3adff79d97b7604ef81271c2f9fa74 Mon Sep 17 00:00:00 2001 From: Asaf Badouh Date: Tue, 28 Jul 2015 08:26:14 +0000 Subject: [PATCH] [X86][AVX512VL] add AVX512VL intrinsics 1 out of 4 http://reviews.llvm.org/D11526 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243394 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/clang/Basic/BuiltinsX86.def | 56 ++ lib/Headers/avx512vlintrin.h | 816 ++++++++++++++++++++++++++++ test/CodeGen/avx512vl-builtins.c | 540 ++++++++++++++++++ 3 files changed, 1412 insertions(+) diff --git a/include/clang/Basic/BuiltinsX86.def b/include/clang/Basic/BuiltinsX86.def index 12218b513d..5b72f708fa 100644 --- a/include/clang/Basic/BuiltinsX86.def +++ b/include/clang/Basic/BuiltinsX86.def @@ -1242,5 +1242,61 @@ BUILTIN(__builtin_ia32_mulsd_mask, "V2dV2dV2dV2dUcIi", "") BUILTIN(__builtin_ia32_subsd_mask, "V2dV2dV2dV2dUcIi", "") BUILTIN(__builtin_ia32_maxsd_mask, "V2dV2dV2dV2dUcIi", "") BUILTIN(__builtin_ia32_minsd_mask, "V2dV2dV2dV2dUcIi", "") +BUILTIN(__builtin_ia32_addpd128_mask, "V2dV2dV2dV2dUc", "") +BUILTIN(__builtin_ia32_addpd256_mask, "V4dV4dV4dV4dUc", "") +BUILTIN(__builtin_ia32_addps128_mask, "V4fV4fV4fV4fUc", "") +BUILTIN(__builtin_ia32_addps256_mask, "V8fV8fV8fV8fUc", "") +BUILTIN(__builtin_ia32_blendmd_128_mask, "V4iV4iV4iUc", "") +BUILTIN(__builtin_ia32_blendmd_256_mask, "V8iV8iV8iUc", "") +BUILTIN(__builtin_ia32_blendmpd_128_mask, "V2dV2dV2dUc", "") +BUILTIN(__builtin_ia32_blendmpd_256_mask, "V4dV4dV4dUc", "") +BUILTIN(__builtin_ia32_blendmps_128_mask, "V4fV4fV4fUc", "") +BUILTIN(__builtin_ia32_blendmps_256_mask, "V8fV8fV8fUc", "") +BUILTIN(__builtin_ia32_blendmq_128_mask, "V2LLiV2LLiV2LLiUc", "") +BUILTIN(__builtin_ia32_blendmq_256_mask, "V4LLiV4LLiV4LLiUc", "") +BUILTIN(__builtin_ia32_compressdf128_mask, "V2dV2dV2dUc", "") +BUILTIN(__builtin_ia32_compressdf256_mask, "V4dV4dV4dUc", "") +BUILTIN(__builtin_ia32_compressdi128_mask, "V2LLiV2LLiV2LLiUc", "") +BUILTIN(__builtin_ia32_compressdi256_mask, "V4LLiV4LLiV4LLiUc", "") +BUILTIN(__builtin_ia32_compresssf128_mask, "V4fV4fV4fUc", "") +BUILTIN(__builtin_ia32_compresssf256_mask, "V8fV8fV8fUc", "") +BUILTIN(__builtin_ia32_compresssi128_mask, "V4iV4iV4iUc", "") +BUILTIN(__builtin_ia32_compresssi256_mask, "V8iV8iV8iUc", "") +BUILTIN(__builtin_ia32_compressstoredf128_mask, "vV2d*V2dUc", "") +BUILTIN(__builtin_ia32_compressstoredf256_mask, "vV4d*V4dUc", "") +BUILTIN(__builtin_ia32_compressstoredi128_mask, "vV2LLi*V2LLiUc", "") +BUILTIN(__builtin_ia32_compressstoredi256_mask, "vV4LLi*V4LLiUc", "") +BUILTIN(__builtin_ia32_compressstoresf128_mask, "vV4f*V4fUc", "") +BUILTIN(__builtin_ia32_compressstoresf256_mask, "vV8f*V8fUc", "") +BUILTIN(__builtin_ia32_compressstoresi128_mask, "vV4i*V4iUc", "") +BUILTIN(__builtin_ia32_compressstoresi256_mask, "vV8i*V8iUc", "") +BUILTIN(__builtin_ia32_cvtdq2pd128_mask, "V2dV4iV2dUc", "") +BUILTIN(__builtin_ia32_cvtdq2pd256_mask, "V4dV4iV4dUc", "") +BUILTIN(__builtin_ia32_cvtdq2ps128_mask, "V4fV4iV4fUc", "") +BUILTIN(__builtin_ia32_cvtdq2ps256_mask, "V8fV8iV8fUc", "") +BUILTIN(__builtin_ia32_cvtpd2dq128_mask, "V4iV2dV4iUc", "") +BUILTIN(__builtin_ia32_cvtpd2dq256_mask, "V4iV4dV4iUc", "") +BUILTIN(__builtin_ia32_cvtpd2ps_mask, "V4fV2dV4fUc", "") +BUILTIN(__builtin_ia32_cvtpd2ps256_mask, "V4fV4dV4fUc", "") +BUILTIN(__builtin_ia32_cvtpd2udq128_mask, "V4iV2dV4iUc", "") +BUILTIN(__builtin_ia32_cvtpd2udq256_mask, "V4iV4dV4iUc", "") +BUILTIN(__builtin_ia32_cvtps2dq128_mask, "V4iV4fV4iUc", "") +BUILTIN(__builtin_ia32_cvtps2dq256_mask, "V8iV8fV8iUc", "") +BUILTIN(__builtin_ia32_cvtps2pd128_mask, "V2dV4fV2dUc", "") +BUILTIN(__builtin_ia32_cvtps2pd256_mask, "V4dV4fV4dUc", "") +BUILTIN(__builtin_ia32_cvtps2udq128_mask, "V4iV4fV4iUc", "") +BUILTIN(__builtin_ia32_cvtps2udq256_mask, "V8iV8fV8iUc", "") +BUILTIN(__builtin_ia32_cvttpd2dq128_mask, "V4iV2dV4iUc", "") +BUILTIN(__builtin_ia32_cvttpd2dq256_mask, "V4iV4dV4iUc", "") +BUILTIN(__builtin_ia32_cvttpd2udq128_mask, "V4iV2dV4iUc", "") +BUILTIN(__builtin_ia32_cvttpd2udq256_mask, "V4iV4dV4iUc", "") +BUILTIN(__builtin_ia32_cvttps2dq128_mask, "V4iV4fV4iUc", "") +BUILTIN(__builtin_ia32_cvttps2dq256_mask, "V8iV8fV8iUc", "") +BUILTIN(__builtin_ia32_cvttps2udq128_mask, "V4iV4fV4iUc", "") +BUILTIN(__builtin_ia32_cvttps2udq256_mask, "V8iV8fV8iUc", "") +BUILTIN(__builtin_ia32_cvtudq2pd128_mask, "V2dV4iV2dUc", "") +BUILTIN(__builtin_ia32_cvtudq2pd256_mask, "V4dV4iV4dUc", "") +BUILTIN(__builtin_ia32_cvtudq2ps128_mask, "V4fV4iV4fUc", "") +BUILTIN(__builtin_ia32_cvtudq2ps256_mask, "V8fV8iV8fUc", "") #undef BUILTIN diff --git a/lib/Headers/avx512vlintrin.h b/lib/Headers/avx512vlintrin.h index 73f46d101a..f3201acb0a 100644 --- a/lib/Headers/avx512vlintrin.h +++ b/lib/Headers/avx512vlintrin.h @@ -1977,6 +1977,822 @@ _mm256_mask3_fnmsub_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U) (__mmask8) __U); } +static __inline__ __m128d __DEFAULT_FN_ATTRS +_mm_mask_add_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) { + return (__m128d) __builtin_ia32_addpd128_mask ((__v2df) __A, + (__v2df) __B, + (__v2df) __W, + (__mmask8) __U); +} + +static __inline__ __m128d __DEFAULT_FN_ATTRS +_mm_maskz_add_pd (__mmask8 __U, __m128d __A, __m128d __B) { + return (__m128d) __builtin_ia32_addpd128_mask ((__v2df) __A, + (__v2df) __B, + (__v2df) + _mm_setzero_pd (), + (__mmask8) __U); +} + +static __inline__ __m256d __DEFAULT_FN_ATTRS +_mm256_mask_add_pd (__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) { + return (__m256d) __builtin_ia32_addpd256_mask ((__v4df) __A, + (__v4df) __B, + (__v4df) __W, + (__mmask8) __U); +} + +static __inline__ __m256d __DEFAULT_FN_ATTRS +_mm256_maskz_add_pd (__mmask8 __U, __m256d __A, __m256d __B) { + return (__m256d) __builtin_ia32_addpd256_mask ((__v4df) __A, + (__v4df) __B, + (__v4df) + _mm256_setzero_pd (), + (__mmask8) __U); +} + +static __inline__ __m128 __DEFAULT_FN_ATTRS +_mm_mask_add_ps (__m128 __W, __mmask16 __U, __m128 __A, __m128 __B) { + return (__m128) __builtin_ia32_addps128_mask ((__v4sf) __A, + (__v4sf) __B, + (__v4sf) __W, + (__mmask8) __U); +} + +static __inline__ __m128 __DEFAULT_FN_ATTRS +_mm_maskz_add_ps (__mmask16 __U, __m128 __A, __m128 __B) { + return (__m128) __builtin_ia32_addps128_mask ((__v4sf) __A, + (__v4sf) __B, + (__v4sf) + _mm_setzero_ps (), + (__mmask8) __U); +} + +static __inline__ __m256 __DEFAULT_FN_ATTRS +_mm256_mask_add_ps (__m256 __W, __mmask16 __U, __m256 __A, __m256 __B) { + return (__m256) __builtin_ia32_addps256_mask ((__v8sf) __A, + (__v8sf) __B, + (__v8sf) __W, + (__mmask8) __U); +} + +static __inline__ __m256 __DEFAULT_FN_ATTRS +_mm256_maskz_add_ps (__mmask16 __U, __m256 __A, __m256 __B) { + return (__m256) __builtin_ia32_addps256_mask ((__v8sf) __A, + (__v8sf) __B, + (__v8sf) + _mm256_setzero_ps (), + (__mmask8) __U); +} + +static __inline__ __m128i __DEFAULT_FN_ATTRS +_mm_mask_blend_epi32 (__mmask8 __U, __m128i __A, __m128i __W) { + return (__m128i) __builtin_ia32_blendmd_128_mask ((__v4si) __A, + (__v4si) __W, + (__mmask8) __U); +} + +static __inline__ __m256i __DEFAULT_FN_ATTRS +_mm256_mask_blend_epi32 (__mmask8 __U, __m256i __A, __m256i __W) { + return (__m256i) __builtin_ia32_blendmd_256_mask ((__v8si) __A, + (__v8si) __W, + (__mmask8) __U); +} + +static __inline__ __m128d __DEFAULT_FN_ATTRS +_mm_mask_blend_pd (__mmask8 __U, __m128d __A, __m128d __W) { + return (__m128d) __builtin_ia32_blendmpd_128_mask ((__v2df) __A, + (__v2df) __W, + (__mmask8) __U); +} + +static __inline__ __m256d __DEFAULT_FN_ATTRS +_mm256_mask_blend_pd (__mmask8 __U, __m256d __A, __m256d __W) { + return (__m256d) __builtin_ia32_blendmpd_256_mask ((__v4df) __A, + (__v4df) __W, + (__mmask8) __U); +} + +static __inline__ __m128 __DEFAULT_FN_ATTRS +_mm_mask_blend_ps (__mmask8 __U, __m128 __A, __m128 __W) { + return (__m128) __builtin_ia32_blendmps_128_mask ((__v4sf) __A, + (__v4sf) __W, + (__mmask8) __U); +} + +static __inline__ __m256 __DEFAULT_FN_ATTRS +_mm256_mask_blend_ps (__mmask8 __U, __m256 __A, __m256 __W) { + return (__m256) __builtin_ia32_blendmps_256_mask ((__v8sf) __A, + (__v8sf) __W, + (__mmask8) __U); +} + +static __inline__ __m128i __DEFAULT_FN_ATTRS +_mm_mask_blend_epi64 (__mmask8 __U, __m128i __A, __m128i __W) { + return (__m128i) __builtin_ia32_blendmq_128_mask ((__v2di) __A, + (__v2di) __W, + (__mmask8) __U); +} + +static __inline__ __m256i __DEFAULT_FN_ATTRS +_mm256_mask_blend_epi64 (__mmask8 __U, __m256i __A, __m256i __W) { + return (__m256i) __builtin_ia32_blendmq_256_mask ((__v4di) __A, + (__v4di) __W, + (__mmask8) __U); +} + +static __inline__ __m128d __DEFAULT_FN_ATTRS +_mm_mask_compress_pd (__m128d __W, __mmask8 __U, __m128d __A) { + return (__m128d) __builtin_ia32_compressdf128_mask ((__v2df) __A, + (__v2df) __W, + (__mmask8) __U); +} + +static __inline__ __m128d __DEFAULT_FN_ATTRS +_mm_maskz_compress_pd (__mmask8 __U, __m128d __A) { + return (__m128d) __builtin_ia32_compressdf128_mask ((__v2df) __A, + (__v2df) + _mm_setzero_pd (), + (__mmask8) __U); +} + +static __inline__ __m256d __DEFAULT_FN_ATTRS +_mm256_mask_compress_pd (__m256d __W, __mmask8 __U, __m256d __A) { + return (__m256d) __builtin_ia32_compressdf256_mask ((__v4df) __A, + (__v4df) __W, + (__mmask8) __U); +} + +static __inline__ __m256d __DEFAULT_FN_ATTRS +_mm256_maskz_compress_pd (__mmask8 __U, __m256d __A) { + return (__m256d) __builtin_ia32_compressdf256_mask ((__v4df) __A, + (__v4df) + _mm256_setzero_pd (), + (__mmask8) __U); +} + +static __inline__ __m128i __DEFAULT_FN_ATTRS +_mm_mask_compress_epi64 (__m128i __W, __mmask8 __U, __m128i __A) { + return (__m128i) __builtin_ia32_compressdi128_mask ((__v2di) __A, + (__v2di) __W, + (__mmask8) __U); +} + +static __inline__ __m128i __DEFAULT_FN_ATTRS +_mm_maskz_compress_epi64 (__mmask8 __U, __m128i __A) { + return (__m128i) __builtin_ia32_compressdi128_mask ((__v2di) __A, + (__v2di) + _mm_setzero_si128 (), + (__mmask8) __U); +} + +static __inline__ __m256i __DEFAULT_FN_ATTRS +_mm256_mask_compress_epi64 (__m256i __W, __mmask8 __U, __m256i __A) { + return (__m256i) __builtin_ia32_compressdi256_mask ((__v4di) __A, + (__v4di) __W, + (__mmask8) __U); +} + +static __inline__ __m256i __DEFAULT_FN_ATTRS +_mm256_maskz_compress_epi64 (__mmask8 __U, __m256i __A) { + return (__m256i) __builtin_ia32_compressdi256_mask ((__v4di) __A, + (__v4di) + _mm256_setzero_si256 (), + (__mmask8) __U); +} + +static __inline__ __m128 __DEFAULT_FN_ATTRS +_mm_mask_compress_ps (__m128 __W, __mmask8 __U, __m128 __A) { + return (__m128) __builtin_ia32_compresssf128_mask ((__v4sf) __A, + (__v4sf) __W, + (__mmask8) __U); +} + +static __inline__ __m128 __DEFAULT_FN_ATTRS +_mm_maskz_compress_ps (__mmask8 __U, __m128 __A) { + return (__m128) __builtin_ia32_compresssf128_mask ((__v4sf) __A, + (__v4sf) + _mm_setzero_ps (), + (__mmask8) __U); +} + +static __inline__ __m256 __DEFAULT_FN_ATTRS +_mm256_mask_compress_ps (__m256 __W, __mmask8 __U, __m256 __A) { + return (__m256) __builtin_ia32_compresssf256_mask ((__v8sf) __A, + (__v8sf) __W, + (__mmask8) __U); +} + +static __inline__ __m256 __DEFAULT_FN_ATTRS +_mm256_maskz_compress_ps (__mmask8 __U, __m256 __A) { + return (__m256) __builtin_ia32_compresssf256_mask ((__v8sf) __A, + (__v8sf) + _mm256_setzero_ps (), + (__mmask8) __U); +} + +static __inline__ __m128i __DEFAULT_FN_ATTRS +_mm_mask_compress_epi32 (__m128i __W, __mmask8 __U, __m128i __A) { + return (__m128i) __builtin_ia32_compresssi128_mask ((__v4si) __A, + (__v4si) __W, + (__mmask8) __U); +} + +static __inline__ __m128i __DEFAULT_FN_ATTRS +_mm_maskz_compress_epi32 (__mmask8 __U, __m128i __A) { + return (__m128i) __builtin_ia32_compresssi128_mask ((__v4si) __A, + (__v4si) + _mm_setzero_si128 (), + (__mmask8) __U); +} + +static __inline__ __m256i __DEFAULT_FN_ATTRS +_mm256_mask_compress_epi32 (__m256i __W, __mmask8 __U, __m256i __A) { + return (__m256i) __builtin_ia32_compresssi256_mask ((__v8si) __A, + (__v8si) __W, + (__mmask8) __U); +} + +static __inline__ __m256i __DEFAULT_FN_ATTRS +_mm256_maskz_compress_epi32 (__mmask8 __U, __m256i __A) { + return (__m256i) __builtin_ia32_compresssi256_mask ((__v8si) __A, + (__v8si) + _mm256_setzero_si256 (), + (__mmask8) __U); +} + +static __inline__ void __DEFAULT_FN_ATTRS +_mm_mask_compressstoreu_pd (void *__P, __mmask8 __U, __m128d __A) { + __builtin_ia32_compressstoredf128_mask ((__v2df *) __P, + (__v2df) __A, + (__mmask8) __U); +} + +static __inline__ void __DEFAULT_FN_ATTRS +_mm256_mask_compressstoreu_pd (void *__P, __mmask8 __U, __m256d __A) { + __builtin_ia32_compressstoredf256_mask ((__v4df *) __P, + (__v4df) __A, + (__mmask8) __U); +} + +static __inline__ void __DEFAULT_FN_ATTRS +_mm_mask_compressstoreu_epi64 (void *__P, __mmask8 __U, __m128i __A) { + __builtin_ia32_compressstoredi128_mask ((__v2di *) __P, + (__v2di) __A, + (__mmask8) __U); +} + +static __inline__ void __DEFAULT_FN_ATTRS +_mm256_mask_compressstoreu_epi64 (void *__P, __mmask8 __U, __m256i __A) { + __builtin_ia32_compressstoredi256_mask ((__v4di *) __P, + (__v4di) __A, + (__mmask8) __U); +} + +static __inline__ void __DEFAULT_FN_ATTRS +_mm_mask_compressstoreu_ps (void *__P, __mmask8 __U, __m128 __A) { + __builtin_ia32_compressstoresf128_mask ((__v4sf *) __P, + (__v4sf) __A, + (__mmask8) __U); +} + +static __inline__ void __DEFAULT_FN_ATTRS +_mm256_mask_compressstoreu_ps (void *__P, __mmask8 __U, __m256 __A) { + __builtin_ia32_compressstoresf256_mask ((__v8sf *) __P, + (__v8sf) __A, + (__mmask8) __U); +} + +static __inline__ void __DEFAULT_FN_ATTRS +_mm_mask_compressstoreu_epi32 (void *__P, __mmask8 __U, __m128i __A) { + __builtin_ia32_compressstoresi128_mask ((__v4si *) __P, + (__v4si) __A, + (__mmask8) __U); +} + +static __inline__ void __DEFAULT_FN_ATTRS +_mm256_mask_compressstoreu_epi32 (void *__P, __mmask8 __U, __m256i __A) { + __builtin_ia32_compressstoresi256_mask ((__v8si *) __P, + (__v8si) __A, + (__mmask8) __U); +} + +static __inline__ __m128d __DEFAULT_FN_ATTRS +_mm_mask_cvtepi32_pd (__m128d __W, __mmask8 __U, __m128i __A) { + return (__m128d) __builtin_ia32_cvtdq2pd128_mask ((__v4si) __A, + (__v2df) __W, + (__mmask8) __U); +} + +static __inline__ __m128d __DEFAULT_FN_ATTRS +_mm_maskz_cvtepi32_pd (__mmask8 __U, __m128i __A) { + return (__m128d) __builtin_ia32_cvtdq2pd128_mask ((__v4si) __A, + (__v2df) + _mm_setzero_pd (), + (__mmask8) __U); +} + +static __inline__ __m256d __DEFAULT_FN_ATTRS +_mm256_mask_cvtepi32_pd (__m256d __W, __mmask8 __U, __m128i __A) { + return (__m256d) __builtin_ia32_cvtdq2pd256_mask ((__v4si) __A, + (__v4df) __W, + (__mmask8) __U); +} + +static __inline__ __m256d __DEFAULT_FN_ATTRS +_mm256_maskz_cvtepi32_pd (__mmask8 __U, __m128i __A) { + return (__m256d) __builtin_ia32_cvtdq2pd256_mask ((__v4si) __A, + (__v4df) + _mm256_setzero_pd (), + (__mmask8) __U); +} + +static __inline__ __m128 __DEFAULT_FN_ATTRS +_mm_mask_cvtepi32_ps (__m128 __W, __mmask8 __U, __m128i __A) { + return (__m128) __builtin_ia32_cvtdq2ps128_mask ((__v4si) __A, + (__v4sf) __W, + (__mmask8) __U); +} + +static __inline__ __m128 __DEFAULT_FN_ATTRS +_mm_maskz_cvtepi32_ps (__mmask16 __U, __m128i __A) { + return (__m128) __builtin_ia32_cvtdq2ps128_mask ((__v4si) __A, + (__v4sf) + _mm_setzero_ps (), + (__mmask8) __U); +} + +static __inline__ __m256 __DEFAULT_FN_ATTRS +_mm256_mask_cvtepi32_ps (__m256 __W, __mmask8 __U, __m256i __A) { + return (__m256) __builtin_ia32_cvtdq2ps256_mask ((__v8si) __A, + (__v8sf) __W, + (__mmask8) __U); +} + +static __inline__ __m256 __DEFAULT_FN_ATTRS +_mm256_maskz_cvtepi32_ps (__mmask16 __U, __m256i __A) { + return (__m256) __builtin_ia32_cvtdq2ps256_mask ((__v8si) __A, + (__v8sf) + _mm256_setzero_ps (), + (__mmask8) __U); +} + +static __inline__ __m128i __DEFAULT_FN_ATTRS +_mm_mask_cvtpd_epi32 (__m128i __W, __mmask8 __U, __m128d __A) { + return (__m128i) __builtin_ia32_cvtpd2dq128_mask ((__v2df) __A, + (__v4si) __W, + (__mmask8) __U); +} + +static __inline__ __m128i __DEFAULT_FN_ATTRS +_mm_maskz_cvtpd_epi32 (__mmask8 __U, __m128d __A) { + return (__m128i) __builtin_ia32_cvtpd2dq128_mask ((__v2df) __A, + (__v4si) + _mm_setzero_si128 (), + (__mmask8) __U); +} + +static __inline__ __m128i __DEFAULT_FN_ATTRS +_mm256_mask_cvtpd_epi32 (__m128i __W, __mmask8 __U, __m256d __A) { + return (__m128i) __builtin_ia32_cvtpd2dq256_mask ((__v4df) __A, + (__v4si) __W, + (__mmask8) __U); +} + +static __inline__ __m128i __DEFAULT_FN_ATTRS +_mm256_maskz_cvtpd_epi32 (__mmask8 __U, __m256d __A) { + return (__m128i) __builtin_ia32_cvtpd2dq256_mask ((__v4df) __A, + (__v4si) + _mm_setzero_si128 (), + (__mmask8) __U); +} + +static __inline__ __m128 __DEFAULT_FN_ATTRS +_mm_mask_cvtpd_ps (__m128 __W, __mmask8 __U, __m128d __A) { + return (__m128) __builtin_ia32_cvtpd2ps_mask ((__v2df) __A, + (__v4sf) __W, + (__mmask8) __U); +} + +static __inline__ __m128 __DEFAULT_FN_ATTRS +_mm_maskz_cvtpd_ps (__mmask8 __U, __m128d __A) { + return (__m128) __builtin_ia32_cvtpd2ps_mask ((__v2df) __A, + (__v4sf) + _mm_setzero_ps (), + (__mmask8) __U); +} + +static __inline__ __m128 __DEFAULT_FN_ATTRS +_mm256_mask_cvtpd_ps (__m128 __W, __mmask8 __U, __m256d __A) { + return (__m128) __builtin_ia32_cvtpd2ps256_mask ((__v4df) __A, + (__v4sf) __W, + (__mmask8) __U); +} + +static __inline__ __m128 __DEFAULT_FN_ATTRS +_mm256_maskz_cvtpd_ps (__mmask8 __U, __m256d __A) { + return (__m128) __builtin_ia32_cvtpd2ps256_mask ((__v4df) __A, + (__v4sf) + _mm_setzero_ps (), + (__mmask8) __U); +} + +static __inline__ __m128i __DEFAULT_FN_ATTRS +_mm_cvtpd_epu32 (__m128d __A) { + return (__m128i) __builtin_ia32_cvtpd2udq128_mask ((__v2df) __A, + (__v4si) + _mm_setzero_si128 (), + (__mmask8) -1); +} + +static __inline__ __m128i __DEFAULT_FN_ATTRS +_mm_mask_cvtpd_epu32 (__m128i __W, __mmask8 __U, __m128d __A) { + return (__m128i) __builtin_ia32_cvtpd2udq128_mask ((__v2df) __A, + (__v4si) __W, + (__mmask8) __U); +} + +static __inline__ __m128i __DEFAULT_FN_ATTRS +_mm_maskz_cvtpd_epu32 (__mmask8 __U, __m128d __A) { + return (__m128i) __builtin_ia32_cvtpd2udq128_mask ((__v2df) __A, + (__v4si) + _mm_setzero_si128 (), + (__mmask8) __U); +} + +static __inline__ __m128i __DEFAULT_FN_ATTRS +_mm256_cvtpd_epu32 (__m256d __A) { + return (__m128i) __builtin_ia32_cvtpd2udq256_mask ((__v4df) __A, + (__v4si) + _mm_setzero_si128 (), + (__mmask8) -1); +} + +static __inline__ __m128i __DEFAULT_FN_ATTRS +_mm256_mask_cvtpd_epu32 (__m128i __W, __mmask8 __U, __m256d __A) { + return (__m128i) __builtin_ia32_cvtpd2udq256_mask ((__v4df) __A, + (__v4si) __W, + (__mmask8) __U); +} + +static __inline__ __m128i __DEFAULT_FN_ATTRS +_mm256_maskz_cvtpd_epu32 (__mmask8 __U, __m256d __A) { + return (__m128i) __builtin_ia32_cvtpd2udq256_mask ((__v4df) __A, + (__v4si) + _mm_setzero_si128 (), + (__mmask8) __U); +} + +static __inline__ __m128i __DEFAULT_FN_ATTRS +_mm_mask_cvtps_epi32 (__m128i __W, __mmask8 __U, __m128 __A) { + return (__m128i) __builtin_ia32_cvtps2dq128_mask ((__v4sf) __A, + (__v4si) __W, + (__mmask8) __U); +} + +static __inline__ __m128i __DEFAULT_FN_ATTRS +_mm_maskz_cvtps_epi32 (__mmask8 __U, __m128 __A) { + return (__m128i) __builtin_ia32_cvtps2dq128_mask ((__v4sf) __A, + (__v4si) + _mm_setzero_si128 (), + (__mmask8) __U); +} + +static __inline__ __m256i __DEFAULT_FN_ATTRS +_mm256_mask_cvtps_epi32 (__m256i __W, __mmask8 __U, __m256 __A) { + return (__m256i) __builtin_ia32_cvtps2dq256_mask ((__v8sf) __A, + (__v8si) __W, + (__mmask8) __U); +} + +static __inline__ __m256i __DEFAULT_FN_ATTRS +_mm256_maskz_cvtps_epi32 (__mmask8 __U, __m256 __A) { + return (__m256i) __builtin_ia32_cvtps2dq256_mask ((__v8sf) __A, + (__v8si) + _mm256_setzero_si256 (), + (__mmask8) __U); +} + +static __inline__ __m128d __DEFAULT_FN_ATTRS +_mm_mask_cvtps_pd (__m128d __W, __mmask8 __U, __m128 __A) { + return (__m128d) __builtin_ia32_cvtps2pd128_mask ((__v4sf) __A, + (__v2df) __W, + (__mmask8) __U); +} + +static __inline__ __m128d __DEFAULT_FN_ATTRS +_mm_maskz_cvtps_pd (__mmask8 __U, __m128 __A) { + return (__m128d) __builtin_ia32_cvtps2pd128_mask ((__v4sf) __A, + (__v2df) + _mm_setzero_pd (), + (__mmask8) __U); +} + +static __inline__ __m256d __DEFAULT_FN_ATTRS +_mm256_mask_cvtps_pd (__m256d __W, __mmask8 __U, __m128 __A) { + return (__m256d) __builtin_ia32_cvtps2pd256_mask ((__v4sf) __A, + (__v4df) __W, + (__mmask8) __U); +} + +static __inline__ __m256d __DEFAULT_FN_ATTRS +_mm256_maskz_cvtps_pd (__mmask8 __U, __m128 __A) { + return (__m256d) __builtin_ia32_cvtps2pd256_mask ((__v4sf) __A, + (__v4df) + _mm256_setzero_pd (), + (__mmask8) __U); +} + +static __inline__ __m128i __DEFAULT_FN_ATTRS +_mm_cvtps_epu32 (__m128 __A) { + return (__m128i) __builtin_ia32_cvtps2udq128_mask ((__v4sf) __A, + (__v4si) + _mm_setzero_si128 (), + (__mmask8) -1); +} + +static __inline__ __m128i __DEFAULT_FN_ATTRS +_mm_mask_cvtps_epu32 (__m128i __W, __mmask8 __U, __m128 __A) { + return (__m128i) __builtin_ia32_cvtps2udq128_mask ((__v4sf) __A, + (__v4si) __W, + (__mmask8) __U); +} + +static __inline__ __m128i __DEFAULT_FN_ATTRS +_mm_maskz_cvtps_epu32 (__mmask8 __U, __m128 __A) { + return (__m128i) __builtin_ia32_cvtps2udq128_mask ((__v4sf) __A, + (__v4si) + _mm_setzero_si128 (), + (__mmask8) __U); +} + +static __inline__ __m256i __DEFAULT_FN_ATTRS +_mm256_cvtps_epu32 (__m256 __A) { + return (__m256i) __builtin_ia32_cvtps2udq256_mask ((__v8sf) __A, + (__v8si) + _mm256_setzero_si256 (), + (__mmask8) -1); +} + +static __inline__ __m256i __DEFAULT_FN_ATTRS +_mm256_mask_cvtps_epu32 (__m256i __W, __mmask8 __U, __m256 __A) { + return (__m256i) __builtin_ia32_cvtps2udq256_mask ((__v8sf) __A, + (__v8si) __W, + (__mmask8) __U); +} + +static __inline__ __m256i __DEFAULT_FN_ATTRS +_mm256_maskz_cvtps_epu32 (__mmask8 __U, __m256 __A) { + return (__m256i) __builtin_ia32_cvtps2udq256_mask ((__v8sf) __A, + (__v8si) + _mm256_setzero_si256 (), + (__mmask8) __U); +} + +static __inline__ __m128i __DEFAULT_FN_ATTRS +_mm_mask_cvttpd_epi32 (__m128i __W, __mmask8 __U, __m128d __A) { + return (__m128i) __builtin_ia32_cvttpd2dq128_mask ((__v2df) __A, + (__v4si) __W, + (__mmask8) __U); +} + +static __inline__ __m128i __DEFAULT_FN_ATTRS +_mm_maskz_cvttpd_epi32 (__mmask8 __U, __m128d __A) { + return (__m128i) __builtin_ia32_cvttpd2dq128_mask ((__v2df) __A, + (__v4si) + _mm_setzero_si128 (), + (__mmask8) __U); +} + +static __inline__ __m128i __DEFAULT_FN_ATTRS +_mm256_mask_cvttpd_epi32 (__m128i __W, __mmask8 __U, __m256d __A) { + return (__m128i) __builtin_ia32_cvttpd2dq256_mask ((__v4df) __A, + (__v4si) __W, + (__mmask8) __U); +} + +static __inline__ __m128i __DEFAULT_FN_ATTRS +_mm256_maskz_cvttpd_epi32 (__mmask8 __U, __m256d __A) { + return (__m128i) __builtin_ia32_cvttpd2dq256_mask ((__v4df) __A, + (__v4si) + _mm_setzero_si128 (), + (__mmask8) __U); +} + +static __inline__ __m128i __DEFAULT_FN_ATTRS +_mm_cvttpd_epu32 (__m128d __A) { + return (__m128i) __builtin_ia32_cvttpd2udq128_mask ((__v2df) __A, + (__v4si) + _mm_setzero_si128 (), + (__mmask8) -1); +} + +static __inline__ __m128i __DEFAULT_FN_ATTRS +_mm_mask_cvttpd_epu32 (__m128i __W, __mmask8 __U, __m128d __A) { + return (__m128i) __builtin_ia32_cvttpd2udq128_mask ((__v2df) __A, + (__v4si) __W, + (__mmask8) __U); +} + +static __inline__ __m128i __DEFAULT_FN_ATTRS +_mm_maskz_cvttpd_epu32 (__mmask8 __U, __m128d __A) { + return (__m128i) __builtin_ia32_cvttpd2udq128_mask ((__v2df) __A, + (__v4si) + _mm_setzero_si128 (), + (__mmask8) __U); +} + +static __inline__ __m128i __DEFAULT_FN_ATTRS +_mm256_cvttpd_epu32 (__m256d __A) { + return (__m128i) __builtin_ia32_cvttpd2udq256_mask ((__v4df) __A, + (__v4si) + _mm_setzero_si128 (), + (__mmask8) -1); +} + +static __inline__ __m128i __DEFAULT_FN_ATTRS +_mm256_mask_cvttpd_epu32 (__m128i __W, __mmask8 __U, __m256d __A) { + return (__m128i) __builtin_ia32_cvttpd2udq256_mask ((__v4df) __A, + (__v4si) __W, + (__mmask8) __U); +} + +static __inline__ __m128i __DEFAULT_FN_ATTRS +_mm256_maskz_cvttpd_epu32 (__mmask8 __U, __m256d __A) { + return (__m128i) __builtin_ia32_cvttpd2udq256_mask ((__v4df) __A, + (__v4si) + _mm_setzero_si128 (), + (__mmask8) __U); +} + +static __inline__ __m128i __DEFAULT_FN_ATTRS +_mm_mask_cvttps_epi32 (__m128i __W, __mmask8 __U, __m128 __A) { + return (__m128i) __builtin_ia32_cvttps2dq128_mask ((__v4sf) __A, + (__v4si) __W, + (__mmask8) __U); +} + +static __inline__ __m128i __DEFAULT_FN_ATTRS +_mm_maskz_cvttps_epi32 (__mmask8 __U, __m128 __A) { + return (__m128i) __builtin_ia32_cvttps2dq128_mask ((__v4sf) __A, + (__v4si) + _mm_setzero_si128 (), + (__mmask8) __U); +} + +static __inline__ __m256i __DEFAULT_FN_ATTRS +_mm256_mask_cvttps_epi32 (__m256i __W, __mmask8 __U, __m256 __A) { + return (__m256i) __builtin_ia32_cvttps2dq256_mask ((__v8sf) __A, + (__v8si) __W, + (__mmask8) __U); +} + +static __inline__ __m256i __DEFAULT_FN_ATTRS +_mm256_maskz_cvttps_epi32 (__mmask8 __U, __m256 __A) { + return (__m256i) __builtin_ia32_cvttps2dq256_mask ((__v8sf) __A, + (__v8si) + _mm256_setzero_si256 (), + (__mmask8) __U); +} + +static __inline__ __m128i __DEFAULT_FN_ATTRS +_mm_cvttps_epu32 (__m128 __A) { + return (__m128i) __builtin_ia32_cvttps2udq128_mask ((__v4sf) __A, + (__v4si) + _mm_setzero_si128 (), + (__mmask8) -1); +} + +static __inline__ __m128i __DEFAULT_FN_ATTRS +_mm_mask_cvttps_epu32 (__m128i __W, __mmask8 __U, __m128 __A) { + return (__m128i) __builtin_ia32_cvttps2udq128_mask ((__v4sf) __A, + (__v4si) __W, + (__mmask8) __U); +} + +static __inline__ __m128i __DEFAULT_FN_ATTRS +_mm_maskz_cvttps_epu32 (__mmask8 __U, __m128 __A) { + return (__m128i) __builtin_ia32_cvttps2udq128_mask ((__v4sf) __A, + (__v4si) + _mm_setzero_si128 (), + (__mmask8) __U); +} + +static __inline__ __m256i __DEFAULT_FN_ATTRS +_mm256_cvttps_epu32 (__m256 __A) { + return (__m256i) __builtin_ia32_cvttps2udq256_mask ((__v8sf) __A, + (__v8si) + _mm256_setzero_si256 (), + (__mmask8) -1); +} + +static __inline__ __m256i __DEFAULT_FN_ATTRS +_mm256_mask_cvttps_epu32 (__m256i __W, __mmask8 __U, __m256 __A) { + return (__m256i) __builtin_ia32_cvttps2udq256_mask ((__v8sf) __A, + (__v8si) __W, + (__mmask8) __U); +} + +static __inline__ __m256i __DEFAULT_FN_ATTRS +_mm256_maskz_cvttps_epu32 (__mmask8 __U, __m256 __A) { + return (__m256i) __builtin_ia32_cvttps2udq256_mask ((__v8sf) __A, + (__v8si) + _mm256_setzero_si256 (), + (__mmask8) __U); +} + +static __inline__ __m128d __DEFAULT_FN_ATTRS +_mm_cvtepu32_pd (__m128i __A) { + return (__m128d) __builtin_ia32_cvtudq2pd128_mask ((__v4si) __A, + (__v2df) + _mm_setzero_pd (), + (__mmask8) -1); +} + +static __inline__ __m128d __DEFAULT_FN_ATTRS +_mm_mask_cvtepu32_pd (__m128d __W, __mmask8 __U, __m128i __A) { + return (__m128d) __builtin_ia32_cvtudq2pd128_mask ((__v4si) __A, + (__v2df) __W, + (__mmask8) __U); +} + +static __inline__ __m128d __DEFAULT_FN_ATTRS +_mm_maskz_cvtepu32_pd (__mmask8 __U, __m128i __A) { + return (__m128d) __builtin_ia32_cvtudq2pd128_mask ((__v4si) __A, + (__v2df) + _mm_setzero_pd (), + (__mmask8) __U); +} + +static __inline__ __m256d __DEFAULT_FN_ATTRS +_mm256_cvtepu32_pd (__m128i __A) { + return (__m256d) __builtin_ia32_cvtudq2pd256_mask ((__v4si) __A, + (__v4df) + _mm256_setzero_pd (), + (__mmask8) -1); +} + +static __inline__ __m256d __DEFAULT_FN_ATTRS +_mm256_mask_cvtepu32_pd (__m256d __W, __mmask8 __U, __m128i __A) { + return (__m256d) __builtin_ia32_cvtudq2pd256_mask ((__v4si) __A, + (__v4df) __W, + (__mmask8) __U); +} + +static __inline__ __m256d __DEFAULT_FN_ATTRS +_mm256_maskz_cvtepu32_pd (__mmask8 __U, __m128i __A) { + return (__m256d) __builtin_ia32_cvtudq2pd256_mask ((__v4si) __A, + (__v4df) + _mm256_setzero_pd (), + (__mmask8) __U); +} + +static __inline__ __m128 __DEFAULT_FN_ATTRS +_mm_cvtepu32_ps (__m128i __A) { + return (__m128) __builtin_ia32_cvtudq2ps128_mask ((__v4si) __A, + (__v4sf) + _mm_setzero_ps (), + (__mmask8) -1); +} + +static __inline__ __m128 __DEFAULT_FN_ATTRS +_mm_mask_cvtepu32_ps (__m128 __W, __mmask8 __U, __m128i __A) { + return (__m128) __builtin_ia32_cvtudq2ps128_mask ((__v4si) __A, + (__v4sf) __W, + (__mmask8) __U); +} + +static __inline__ __m128 __DEFAULT_FN_ATTRS +_mm_maskz_cvtepu32_ps (__mmask8 __U, __m128i __A) { + return (__m128) __builtin_ia32_cvtudq2ps128_mask ((__v4si) __A, + (__v4sf) + _mm_setzero_ps (), + (__mmask8) __U); +} + +static __inline__ __m256 __DEFAULT_FN_ATTRS +_mm256_cvtepu32_ps (__m256i __A) { + return (__m256) __builtin_ia32_cvtudq2ps256_mask ((__v8si) __A, + (__v8sf) + _mm256_setzero_ps (), + (__mmask8) -1); +} + +static __inline__ __m256 __DEFAULT_FN_ATTRS +_mm256_mask_cvtepu32_ps (__m256 __W, __mmask8 __U, __m256i __A) { + return (__m256) __builtin_ia32_cvtudq2ps256_mask ((__v8si) __A, + (__v8sf) __W, + (__mmask8) __U); +} + +static __inline__ __m256 __DEFAULT_FN_ATTRS +_mm256_maskz_cvtepu32_ps (__mmask8 __U, __m256i __A) { + return (__m256) __builtin_ia32_cvtudq2ps256_mask ((__v8si) __A, + (__v8sf) + _mm256_setzero_ps (), + (__mmask8) __U); +} + #undef __DEFAULT_FN_ATTRS #endif /* __AVX512VLINTRIN_H */ diff --git a/test/CodeGen/avx512vl-builtins.c b/test/CodeGen/avx512vl-builtins.c index 00b0d5d90b..db7474048a 100644 --- a/test/CodeGen/avx512vl-builtins.c +++ b/test/CodeGen/avx512vl-builtins.c @@ -1557,3 +1557,543 @@ __m256 test_mm256_mask3_fnmsub_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 _ return _mm256_mask3_fnmsub_ps(__A, __B, __C, __U); } +__m128d test_mm_mask_add_pd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) { + // CHECK-LABEL: @test_mm_mask_add_pd + // CHECK: @llvm.x86.avx512.mask.add.pd.128 + return _mm_mask_add_pd(__W,__U,__A,__B); +} +__m128d test_mm_maskz_add_pd(__mmask8 __U, __m128d __A, __m128d __B) { + // CHECK-LABEL: @test_mm_maskz_add_pd + // CHECK: @llvm.x86.avx512.mask.add.pd.128 + return _mm_maskz_add_pd(__U,__A,__B); +} +__m256d test_mm256_mask_add_pd(__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) { + // CHECK-LABEL: @test_mm256_mask_add_pd + // CHECK: @llvm.x86.avx512.mask.add.pd.256 + return _mm256_mask_add_pd(__W,__U,__A,__B); +} +__m256d test_mm256_maskz_add_pd(__mmask8 __U, __m256d __A, __m256d __B) { + // CHECK-LABEL: @test_mm256_maskz_add_pd + // CHECK: @llvm.x86.avx512.mask.add.pd.256 + return _mm256_maskz_add_pd(__U,__A,__B); +} +__m128 test_mm_mask_add_ps(__m128 __W, __mmask16 __U, __m128 __A, __m128 __B) { + // CHECK-LABEL: @test_mm_mask_add_ps + // CHECK: @llvm.x86.avx512.mask.add.ps.128 + return _mm_mask_add_ps(__W,__U,__A,__B); +} +__m128 test_mm_maskz_add_ps(__mmask16 __U, __m128 __A, __m128 __B) { + // CHECK-LABEL: @test_mm_maskz_add_ps + // CHECK: @llvm.x86.avx512.mask.add.ps.128 + return _mm_maskz_add_ps(__U,__A,__B); +} +__m256 test_mm256_mask_add_ps(__m256 __W, __mmask16 __U, __m256 __A, __m256 __B) { + // CHECK-LABEL: @test_mm256_mask_add_ps + // CHECK: @llvm.x86.avx512.mask.add.ps.256 + return _mm256_mask_add_ps(__W,__U,__A,__B); +} +__m256 test_mm256_maskz_add_ps(__mmask16 __U, __m256 __A, __m256 __B) { + // CHECK-LABEL: @test_mm256_maskz_add_ps + // CHECK: @llvm.x86.avx512.mask.add.ps.256 + return _mm256_maskz_add_ps(__U,__A,__B); +} +__m128i test_mm_mask_blend_epi32(__mmask8 __U, __m128i __A, __m128i __W) { + // CHECK-LABEL: @test_mm_mask_blend_epi32 + // CHECK: @llvm.x86.avx512.mask.blend.d.128 + return _mm_mask_blend_epi32(__U,__A,__W); +} +__m256i test_mm256_mask_blend_epi32(__mmask8 __U, __m256i __A, __m256i __W) { + // CHECK-LABEL: @test_mm256_mask_blend_epi32 + // CHECK: @llvm.x86.avx512.mask.blend.d.256 + return _mm256_mask_blend_epi32(__U,__A,__W); +} +__m128d test_mm_mask_blend_pd(__mmask8 __U, __m128d __A, __m128d __W) { + // CHECK-LABEL: @test_mm_mask_blend_pd + // CHECK: @llvm.x86.avx512.mask.blend.pd.128 + return _mm_mask_blend_pd(__U,__A,__W); +} +__m256d test_mm256_mask_blend_pd(__mmask8 __U, __m256d __A, __m256d __W) { + // CHECK-LABEL: @test_mm256_mask_blend_pd + // CHECK: @llvm.x86.avx512.mask.blend.pd.256 + return _mm256_mask_blend_pd(__U,__A,__W); +} +__m128 test_mm_mask_blend_ps(__mmask8 __U, __m128 __A, __m128 __W) { + // CHECK-LABEL: @test_mm_mask_blend_ps + // CHECK: @llvm.x86.avx512.mask.blend.ps.128 + return _mm_mask_blend_ps(__U,__A,__W); +} +__m256 test_mm256_mask_blend_ps(__mmask8 __U, __m256 __A, __m256 __W) { + // CHECK-LABEL: @test_mm256_mask_blend_ps + // CHECK: @llvm.x86.avx512.mask.blend.ps.256 + return _mm256_mask_blend_ps(__U,__A,__W); +} +__m128i test_mm_mask_blend_epi64(__mmask8 __U, __m128i __A, __m128i __W) { + // CHECK-LABEL: @test_mm_mask_blend_epi64 + // CHECK: @llvm.x86.avx512.mask.blend.q.128 + return _mm_mask_blend_epi64(__U,__A,__W); +} +__m256i test_mm256_mask_blend_epi64(__mmask8 __U, __m256i __A, __m256i __W) { + // CHECK-LABEL: @test_mm256_mask_blend_epi64 + // CHECK: @llvm.x86.avx512.mask.blend.q.256 + return _mm256_mask_blend_epi64(__U,__A,__W); +} +__m128d test_mm_mask_compress_pd(__m128d __W, __mmask8 __U, __m128d __A) { + // CHECK-LABEL: @test_mm_mask_compress_pd + // CHECK: @llvm.x86.avx512.mask.compress.pd.128 + return _mm_mask_compress_pd(__W,__U,__A); +} +__m128d test_mm_maskz_compress_pd(__mmask8 __U, __m128d __A) { + // CHECK-LABEL: @test_mm_maskz_compress_pd + // CHECK: @llvm.x86.avx512.mask.compress.pd.128 + return _mm_maskz_compress_pd(__U,__A); +} +__m256d test_mm256_mask_compress_pd(__m256d __W, __mmask8 __U, __m256d __A) { + // CHECK-LABEL: @test_mm256_mask_compress_pd + // CHECK: @llvm.x86.avx512.mask.compress.pd.256 + return _mm256_mask_compress_pd(__W,__U,__A); +} +__m256d test_mm256_maskz_compress_pd(__mmask8 __U, __m256d __A) { + // CHECK-LABEL: @test_mm256_maskz_compress_pd + // CHECK: @llvm.x86.avx512.mask.compress.pd.256 + return _mm256_maskz_compress_pd(__U,__A); +} +__m128i test_mm_mask_compress_epi64(__m128i __W, __mmask8 __U, __m128i __A) { + // CHECK-LABEL: @test_mm_mask_compress_epi64 + // CHECK: @llvm.x86.avx512.mask.compress.q.128 + return _mm_mask_compress_epi64(__W,__U,__A); +} +__m128i test_mm_maskz_compress_epi64(__mmask8 __U, __m128i __A) { + // CHECK-LABEL: @test_mm_maskz_compress_epi64 + // CHECK: @llvm.x86.avx512.mask.compress.q.128 + return _mm_maskz_compress_epi64(__U,__A); +} +__m256i test_mm256_mask_compress_epi64(__m256i __W, __mmask8 __U, __m256i __A) { + // CHECK-LABEL: @test_mm256_mask_compress_epi64 + // CHECK: @llvm.x86.avx512.mask.compress.q.256 + return _mm256_mask_compress_epi64(__W,__U,__A); +} +__m256i test_mm256_maskz_compress_epi64(__mmask8 __U, __m256i __A) { + // CHECK-LABEL: @test_mm256_maskz_compress_epi64 + // CHECK: @llvm.x86.avx512.mask.compress.q.256 + return _mm256_maskz_compress_epi64(__U,__A); +} +__m128 test_mm_mask_compress_ps(__m128 __W, __mmask8 __U, __m128 __A) { + // CHECK-LABEL: @test_mm_mask_compress_ps + // CHECK: @llvm.x86.avx512.mask.compress.ps.128 + return _mm_mask_compress_ps(__W,__U,__A); +} +__m128 test_mm_maskz_compress_ps(__mmask8 __U, __m128 __A) { + // CHECK-LABEL: @test_mm_maskz_compress_ps + // CHECK: @llvm.x86.avx512.mask.compress.ps.128 + return _mm_maskz_compress_ps(__U,__A); +} +__m256 test_mm256_mask_compress_ps(__m256 __W, __mmask8 __U, __m256 __A) { + // CHECK-LABEL: @test_mm256_mask_compress_ps + // CHECK: @llvm.x86.avx512.mask.compress.ps.256 + return _mm256_mask_compress_ps(__W,__U,__A); +} +__m256 test_mm256_maskz_compress_ps(__mmask8 __U, __m256 __A) { + // CHECK-LABEL: @test_mm256_maskz_compress_ps + // CHECK: @llvm.x86.avx512.mask.compress.ps.256 + return _mm256_maskz_compress_ps(__U,__A); +} +__m128i test_mm_mask_compress_epi32(__m128i __W, __mmask8 __U, __m128i __A) { + // CHECK-LABEL: @test_mm_mask_compress_epi32 + // CHECK: @llvm.x86.avx512.mask.compress.d.128 + return _mm_mask_compress_epi32(__W,__U,__A); +} +__m128i test_mm_maskz_compress_epi32(__mmask8 __U, __m128i __A) { + // CHECK-LABEL: @test_mm_maskz_compress_epi32 + // CHECK: @llvm.x86.avx512.mask.compress.d.128 + return _mm_maskz_compress_epi32(__U,__A); +} +__m256i test_mm256_mask_compress_epi32(__m256i __W, __mmask8 __U, __m256i __A) { + // CHECK-LABEL: @test_mm256_mask_compress_epi32 + // CHECK: @llvm.x86.avx512.mask.compress.d.256 + return _mm256_mask_compress_epi32(__W,__U,__A); +} +__m256i test_mm256_maskz_compress_epi32(__mmask8 __U, __m256i __A) { + // CHECK-LABEL: @test_mm256_maskz_compress_epi32 + // CHECK: @llvm.x86.avx512.mask.compress.d.256 + return _mm256_maskz_compress_epi32(__U,__A); +} +void test_mm_mask_compressstoreu_pd(void *__P, __mmask8 __U, __m128d __A) { + // CHECK-LABEL: @test_mm_mask_compressstoreu_pd + // CHECK: @llvm.x86.avx512.mask.compress.store.pd.128 + return _mm_mask_compressstoreu_pd(__P,__U,__A); +} +void test_mm256_mask_compressstoreu_pd(void *__P, __mmask8 __U, __m256d __A) { + // CHECK-LABEL: @test_mm256_mask_compressstoreu_pd + // CHECK: @llvm.x86.avx512.mask.compress.store.pd.256 + return _mm256_mask_compressstoreu_pd(__P,__U,__A); +} +void test_mm_mask_compressstoreu_epi64(void *__P, __mmask8 __U, __m128i __A) { + // CHECK-LABEL: @test_mm_mask_compressstoreu_epi64 + // CHECK: @llvm.x86.avx512.mask.compress.store.q.128 + return _mm_mask_compressstoreu_epi64(__P,__U,__A); +} +void test_mm256_mask_compressstoreu_epi64(void *__P, __mmask8 __U, __m256i __A) { + // CHECK-LABEL: @test_mm256_mask_compressstoreu_epi64 + // CHECK: @llvm.x86.avx512.mask.compress.store.q.256 + return _mm256_mask_compressstoreu_epi64(__P,__U,__A); +} +void test_mm_mask_compressstoreu_ps(void *__P, __mmask8 __U, __m128 __A) { + // CHECK-LABEL: @test_mm_mask_compressstoreu_ps + // CHECK: @llvm.x86.avx512.mask.compress.store.ps.128 + return _mm_mask_compressstoreu_ps(__P,__U,__A); +} +void test_mm256_mask_compressstoreu_ps(void *__P, __mmask8 __U, __m256 __A) { + // CHECK-LABEL: @test_mm256_mask_compressstoreu_ps + // CHECK: @llvm.x86.avx512.mask.compress.store.ps.256 + return _mm256_mask_compressstoreu_ps(__P,__U,__A); +} +void test_mm_mask_compressstoreu_epi32(void *__P, __mmask8 __U, __m128i __A) { + // CHECK-LABEL: @test_mm_mask_compressstoreu_epi32 + // CHECK: @llvm.x86.avx512.mask.compress.store.d.128 + return _mm_mask_compressstoreu_epi32(__P,__U,__A); +} +void test_mm256_mask_compressstoreu_epi32(void *__P, __mmask8 __U, __m256i __A) { + // CHECK-LABEL: @test_mm256_mask_compressstoreu_epi32 + // CHECK: @llvm.x86.avx512.mask.compress.store.d.256 + return _mm256_mask_compressstoreu_epi32(__P,__U,__A); +} +__m128d test_mm_mask_cvtepi32_pd(__m128d __W, __mmask8 __U, __m128i __A) { + // CHECK-LABEL: @test_mm_mask_cvtepi32_pd + // CHECK: @llvm.x86.avx512.mask.cvtdq2pd.128 + return _mm_mask_cvtepi32_pd(__W,__U,__A); +} +__m128d test_mm_maskz_cvtepi32_pd(__mmask8 __U, __m128i __A) { + // CHECK-LABEL: @test_mm_maskz_cvtepi32_pd + // CHECK: @llvm.x86.avx512.mask.cvtdq2pd.128 + return _mm_maskz_cvtepi32_pd(__U,__A); +} +__m256d test_mm256_mask_cvtepi32_pd(__m256d __W, __mmask8 __U, __m128i __A) { + // CHECK-LABEL: @test_mm256_mask_cvtepi32_pd + // CHECK: @llvm.x86.avx512.mask.cvtdq2pd.256 + return _mm256_mask_cvtepi32_pd(__W,__U,__A); +} +__m256d test_mm256_maskz_cvtepi32_pd(__mmask8 __U, __m128i __A) { + // CHECK-LABEL: @test_mm256_maskz_cvtepi32_pd + // CHECK: @llvm.x86.avx512.mask.cvtdq2pd.256 + return _mm256_maskz_cvtepi32_pd(__U,__A); +} +__m128 test_mm_mask_cvtepi32_ps(__m128 __W, __mmask8 __U, __m128i __A) { + // CHECK-LABEL: @test_mm_mask_cvtepi32_ps + // CHECK: @llvm.x86.avx512.mask.cvtdq2ps.128 + return _mm_mask_cvtepi32_ps(__W,__U,__A); +} +__m128 test_mm_maskz_cvtepi32_ps(__mmask16 __U, __m128i __A) { + // CHECK-LABEL: @test_mm_maskz_cvtepi32_ps + // CHECK: @llvm.x86.avx512.mask.cvtdq2ps.128 + return _mm_maskz_cvtepi32_ps(__U,__A); +} +__m256 test_mm256_mask_cvtepi32_ps(__m256 __W, __mmask8 __U, __m256i __A) { + // CHECK-LABEL: @test_mm256_mask_cvtepi32_ps + // CHECK: @llvm.x86.avx512.mask.cvtdq2ps.256 + return _mm256_mask_cvtepi32_ps(__W,__U,__A); +} +__m256 test_mm256_maskz_cvtepi32_ps(__mmask16 __U, __m256i __A) { + // CHECK-LABEL: @test_mm256_maskz_cvtepi32_ps + // CHECK: @llvm.x86.avx512.mask.cvtdq2ps.256 + return _mm256_maskz_cvtepi32_ps(__U,__A); +} +__m128i test_mm_mask_cvtpd_epi32(__m128i __W, __mmask8 __U, __m128d __A) { + // CHECK-LABEL: @test_mm_mask_cvtpd_epi32 + // CHECK: @llvm.x86.avx512.mask.cvtpd2dq.128 + return _mm_mask_cvtpd_epi32(__W,__U,__A); +} +__m128i test_mm_maskz_cvtpd_epi32(__mmask8 __U, __m128d __A) { + // CHECK-LABEL: @test_mm_maskz_cvtpd_epi32 + // CHECK: @llvm.x86.avx512.mask.cvtpd2dq.128 + return _mm_maskz_cvtpd_epi32(__U,__A); +} +__m128i test_mm256_mask_cvtpd_epi32(__m128i __W, __mmask8 __U, __m256d __A) { + // CHECK-LABEL: @test_mm256_mask_cvtpd_epi32 + // CHECK: @llvm.x86.avx512.mask.cvtpd2dq.256 + return _mm256_mask_cvtpd_epi32(__W,__U,__A); +} +__m128i test_mm256_maskz_cvtpd_epi32(__mmask8 __U, __m256d __A) { + // CHECK-LABEL: @test_mm256_maskz_cvtpd_epi32 + // CHECK: @llvm.x86.avx512.mask.cvtpd2dq.256 + return _mm256_maskz_cvtpd_epi32(__U,__A); +} +__m128 test_mm_mask_cvtpd_ps(__m128 __W, __mmask8 __U, __m128d __A) { + // CHECK-LABEL: @test_mm_mask_cvtpd_ps + // CHECK: @llvm.x86.avx512.mask.cvtpd2ps + return _mm_mask_cvtpd_ps(__W,__U,__A); +} +__m128 test_mm_maskz_cvtpd_ps(__mmask8 __U, __m128d __A) { + // CHECK-LABEL: @test_mm_maskz_cvtpd_ps + // CHECK: @llvm.x86.avx512.mask.cvtpd2ps + return _mm_maskz_cvtpd_ps(__U,__A); +} +__m128 test_mm256_mask_cvtpd_ps(__m128 __W, __mmask8 __U, __m256d __A) { + // CHECK-LABEL: @test_mm256_mask_cvtpd_ps + // CHECK: @llvm.x86.avx512.mask.cvtpd2ps.256 + return _mm256_mask_cvtpd_ps(__W,__U,__A); +} +__m128 test_mm256_maskz_cvtpd_ps(__mmask8 __U, __m256d __A) { + // CHECK-LABEL: @test_mm256_maskz_cvtpd_ps + // CHECK: @llvm.x86.avx512.mask.cvtpd2ps.256 + return _mm256_maskz_cvtpd_ps(__U,__A); +} +__m128i test_mm_cvtpd_epu32(__m128d __A) { + // CHECK-LABEL: @test_mm_cvtpd_epu32 + // CHECK: @llvm.x86.avx512.mask.cvtpd2udq.128 + return _mm_cvtpd_epu32(__A); +} +__m128i test_mm_mask_cvtpd_epu32(__m128i __W, __mmask8 __U, __m128d __A) { + // CHECK-LABEL: @test_mm_mask_cvtpd_epu32 + // CHECK: @llvm.x86.avx512.mask.cvtpd2udq.128 + return _mm_mask_cvtpd_epu32(__W,__U,__A); +} +__m128i test_mm_maskz_cvtpd_epu32(__mmask8 __U, __m128d __A) { + // CHECK-LABEL: @test_mm_maskz_cvtpd_epu32 + // CHECK: @llvm.x86.avx512.mask.cvtpd2udq.128 + return _mm_maskz_cvtpd_epu32(__U,__A); +} +__m128i test_mm256_cvtpd_epu32(__m256d __A) { + // CHECK-LABEL: @test_mm256_cvtpd_epu32 + // CHECK: @llvm.x86.avx512.mask.cvtpd2udq.256 + return _mm256_cvtpd_epu32(__A); +} +__m128i test_mm256_mask_cvtpd_epu32(__m128i __W, __mmask8 __U, __m256d __A) { + // CHECK-LABEL: @test_mm256_mask_cvtpd_epu32 + // CHECK: @llvm.x86.avx512.mask.cvtpd2udq.256 + return _mm256_mask_cvtpd_epu32(__W,__U,__A); +} +__m128i test_mm256_maskz_cvtpd_epu32(__mmask8 __U, __m256d __A) { + // CHECK-LABEL: @test_mm256_maskz_cvtpd_epu32 + // CHECK: @llvm.x86.avx512.mask.cvtpd2udq.256 + return _mm256_maskz_cvtpd_epu32(__U,__A); +} +__m128i test_mm_mask_cvtps_epi32(__m128i __W, __mmask8 __U, __m128 __A) { + // CHECK-LABEL: @test_mm_mask_cvtps_epi32 + // CHECK: @llvm.x86.avx512.mask.cvtps2dq.128 + return _mm_mask_cvtps_epi32(__W,__U,__A); +} +__m128i test_mm_maskz_cvtps_epi32(__mmask8 __U, __m128 __A) { + // CHECK-LABEL: @test_mm_maskz_cvtps_epi32 + // CHECK: @llvm.x86.avx512.mask.cvtps2dq.128 + return _mm_maskz_cvtps_epi32(__U,__A); +} +__m256i test_mm256_mask_cvtps_epi32(__m256i __W, __mmask8 __U, __m256 __A) { + // CHECK-LABEL: @test_mm256_mask_cvtps_epi32 + // CHECK: @llvm.x86.avx512.mask.cvtps2dq.256 + return _mm256_mask_cvtps_epi32(__W,__U,__A); +} +__m256i test_mm256_maskz_cvtps_epi32(__mmask8 __U, __m256 __A) { + // CHECK-LABEL: @test_mm256_maskz_cvtps_epi32 + // CHECK: @llvm.x86.avx512.mask.cvtps2dq.256 + return _mm256_maskz_cvtps_epi32(__U,__A); +} +__m128d test_mm_mask_cvtps_pd(__m128d __W, __mmask8 __U, __m128 __A) { + // CHECK-LABEL: @test_mm_mask_cvtps_pd + // CHECK: @llvm.x86.avx512.mask.cvtps2pd.128 + return _mm_mask_cvtps_pd(__W,__U,__A); +} +__m128d test_mm_maskz_cvtps_pd(__mmask8 __U, __m128 __A) { + // CHECK-LABEL: @test_mm_maskz_cvtps_pd + // CHECK: @llvm.x86.avx512.mask.cvtps2pd.128 + return _mm_maskz_cvtps_pd(__U,__A); +} +__m256d test_mm256_mask_cvtps_pd(__m256d __W, __mmask8 __U, __m128 __A) { + // CHECK-LABEL: @test_mm256_mask_cvtps_pd + // CHECK: @llvm.x86.avx512.mask.cvtps2pd.256 + return _mm256_mask_cvtps_pd(__W,__U,__A); +} +__m256d test_mm256_maskz_cvtps_pd(__mmask8 __U, __m128 __A) { + // CHECK-LABEL: @test_mm256_maskz_cvtps_pd + // CHECK: @llvm.x86.avx512.mask.cvtps2pd.256 + return _mm256_maskz_cvtps_pd(__U,__A); +} +__m128i test_mm_cvtps_epu32(__m128 __A) { + // CHECK-LABEL: @test_mm_cvtps_epu32 + // CHECK: @llvm.x86.avx512.mask.cvtps2udq.128 + return _mm_cvtps_epu32(__A); +} +__m128i test_mm_mask_cvtps_epu32(__m128i __W, __mmask8 __U, __m128 __A) { + // CHECK-LABEL: @test_mm_mask_cvtps_epu32 + // CHECK: @llvm.x86.avx512.mask.cvtps2udq.128 + return _mm_mask_cvtps_epu32(__W,__U,__A); +} +__m128i test_mm_maskz_cvtps_epu32(__mmask8 __U, __m128 __A) { + // CHECK-LABEL: @test_mm_maskz_cvtps_epu32 + // CHECK: @llvm.x86.avx512.mask.cvtps2udq.128 + return _mm_maskz_cvtps_epu32(__U,__A); +} +__m256i test_mm256_cvtps_epu32(__m256 __A) { + // CHECK-LABEL: @test_mm256_cvtps_epu32 + // CHECK: @llvm.x86.avx512.mask.cvtps2udq.256 + return _mm256_cvtps_epu32(__A); +} +__m256i test_mm256_mask_cvtps_epu32(__m256i __W, __mmask8 __U, __m256 __A) { + // CHECK-LABEL: @test_mm256_mask_cvtps_epu32 + // CHECK: @llvm.x86.avx512.mask.cvtps2udq.256 + return _mm256_mask_cvtps_epu32(__W,__U,__A); +} +__m256i test_mm256_maskz_cvtps_epu32(__mmask8 __U, __m256 __A) { + // CHECK-LABEL: @test_mm256_maskz_cvtps_epu32 + // CHECK: @llvm.x86.avx512.mask.cvtps2udq.256 + return _mm256_maskz_cvtps_epu32(__U,__A); +} +__m128i test_mm_mask_cvttpd_epi32(__m128i __W, __mmask8 __U, __m128d __A) { + // CHECK-LABEL: @test_mm_mask_cvttpd_epi32 + // CHECK: @llvm.x86.avx512.mask.cvttpd2dq.128 + return _mm_mask_cvttpd_epi32(__W,__U,__A); +} +__m128i test_mm_maskz_cvttpd_epi32(__mmask8 __U, __m128d __A) { + // CHECK-LABEL: @test_mm_maskz_cvttpd_epi32 + // CHECK: @llvm.x86.avx512.mask.cvttpd2dq.128 + return _mm_maskz_cvttpd_epi32(__U,__A); +} +__m128i test_mm256_mask_cvttpd_epi32(__m128i __W, __mmask8 __U, __m256d __A) { + // CHECK-LABEL: @test_mm256_mask_cvttpd_epi32 + // CHECK: @llvm.x86.avx512.mask.cvttpd2dq.256 + return _mm256_mask_cvttpd_epi32(__W,__U,__A); +} +__m128i test_mm256_maskz_cvttpd_epi32(__mmask8 __U, __m256d __A) { + // CHECK-LABEL: @test_mm256_maskz_cvttpd_epi32 + // CHECK: @llvm.x86.avx512.mask.cvttpd2dq.256 + return _mm256_maskz_cvttpd_epi32(__U,__A); +} +__m128i test_mm_cvttpd_epu32(__m128d __A) { + // CHECK-LABEL: @test_mm_cvttpd_epu32 + // CHECK: @llvm.x86.avx512.mask.cvttpd2udq.128 + return _mm_cvttpd_epu32(__A); +} +__m128i test_mm_mask_cvttpd_epu32(__m128i __W, __mmask8 __U, __m128d __A) { + // CHECK-LABEL: @test_mm_mask_cvttpd_epu32 + // CHECK: @llvm.x86.avx512.mask.cvttpd2udq.128 + return _mm_mask_cvttpd_epu32(__W,__U,__A); +} +__m128i test_mm_maskz_cvttpd_epu32(__mmask8 __U, __m128d __A) { + // CHECK-LABEL: @test_mm_maskz_cvttpd_epu32 + // CHECK: @llvm.x86.avx512.mask.cvttpd2udq.128 + return _mm_maskz_cvttpd_epu32(__U,__A); +} +__m128i test_mm256_cvttpd_epu32(__m256d __A) { + // CHECK-LABEL: @test_mm256_cvttpd_epu32 + // CHECK: @llvm.x86.avx512.mask.cvttpd2udq.256 + return _mm256_cvttpd_epu32(__A); +} +__m128i test_mm256_mask_cvttpd_epu32(__m128i __W, __mmask8 __U, __m256d __A) { + // CHECK-LABEL: @test_mm256_mask_cvttpd_epu32 + // CHECK: @llvm.x86.avx512.mask.cvttpd2udq.256 + return _mm256_mask_cvttpd_epu32(__W,__U,__A); +} +__m128i test_mm256_maskz_cvttpd_epu32(__mmask8 __U, __m256d __A) { + // CHECK-LABEL: @test_mm256_maskz_cvttpd_epu32 + // CHECK: @llvm.x86.avx512.mask.cvttpd2udq.256 + return _mm256_maskz_cvttpd_epu32(__U,__A); +} +__m128i test_mm_mask_cvttps_epi32(__m128i __W, __mmask8 __U, __m128 __A) { + // CHECK-LABEL: @test_mm_mask_cvttps_epi32 + // CHECK: @llvm.x86.avx512.mask.cvttps2dq.128 + return _mm_mask_cvttps_epi32(__W,__U,__A); +} +__m128i test_mm_maskz_cvttps_epi32(__mmask8 __U, __m128 __A) { + // CHECK-LABEL: @test_mm_maskz_cvttps_epi32 + // CHECK: @llvm.x86.avx512.mask.cvttps2dq.128 + return _mm_maskz_cvttps_epi32(__U,__A); +} +__m256i test_mm256_mask_cvttps_epi32(__m256i __W, __mmask8 __U, __m256 __A) { + // CHECK-LABEL: @test_mm256_mask_cvttps_epi32 + // CHECK: @llvm.x86.avx512.mask.cvttps2dq.256 + return _mm256_mask_cvttps_epi32(__W,__U,__A); +} +__m256i test_mm256_maskz_cvttps_epi32(__mmask8 __U, __m256 __A) { + // CHECK-LABEL: @test_mm256_maskz_cvttps_epi32 + // CHECK: @llvm.x86.avx512.mask.cvttps2dq.256 + return _mm256_maskz_cvttps_epi32(__U,__A); +} +__m128i test_mm_cvttps_epu32(__m128 __A) { + // CHECK-LABEL: @test_mm_cvttps_epu32 + // CHECK: @llvm.x86.avx512.mask.cvttps2udq.128 + return _mm_cvttps_epu32(__A); +} +__m128i test_mm_mask_cvttps_epu32(__m128i __W, __mmask8 __U, __m128 __A) { + // CHECK-LABEL: @test_mm_mask_cvttps_epu32 + // CHECK: @llvm.x86.avx512.mask.cvttps2udq.128 + return _mm_mask_cvttps_epu32(__W,__U,__A); +} +__m128i test_mm_maskz_cvttps_epu32(__mmask8 __U, __m128 __A) { + // CHECK-LABEL: @test_mm_maskz_cvttps_epu32 + // CHECK: @llvm.x86.avx512.mask.cvttps2udq.128 + return _mm_maskz_cvttps_epu32(__U,__A); +} +__m256i test_mm256_cvttps_epu32(__m256 __A) { + // CHECK-LABEL: @test_mm256_cvttps_epu32 + // CHECK: @llvm.x86.avx512.mask.cvttps2udq.256 + return _mm256_cvttps_epu32(__A); +} +__m256i test_mm256_mask_cvttps_epu32(__m256i __W, __mmask8 __U, __m256 __A) { + // CHECK-LABEL: @test_mm256_mask_cvttps_epu32 + // CHECK: @llvm.x86.avx512.mask.cvttps2udq.256 + return _mm256_mask_cvttps_epu32(__W,__U,__A); +} +__m256i test_mm256_maskz_cvttps_epu32(__mmask8 __U, __m256 __A) { + // CHECK-LABEL: @test_mm256_maskz_cvttps_epu32 + // CHECK: @llvm.x86.avx512.mask.cvttps2udq.256 + return _mm256_maskz_cvttps_epu32(__U,__A); +} +__m128d test_mm_cvtepu32_pd(__m128i __A) { + // CHECK-LABEL: @test_mm_cvtepu32_pd + // CHECK: @llvm.x86.avx512.mask.cvtudq2pd.128 + return _mm_cvtepu32_pd(__A); +} +__m128d test_mm_mask_cvtepu32_pd(__m128d __W, __mmask8 __U, __m128i __A) { + // CHECK-LABEL: @test_mm_mask_cvtepu32_pd + // CHECK: @llvm.x86.avx512.mask.cvtudq2pd.128 + return _mm_mask_cvtepu32_pd(__W,__U,__A); +} +__m128d test_mm_maskz_cvtepu32_pd(__mmask8 __U, __m128i __A) { + // CHECK-LABEL: @test_mm_maskz_cvtepu32_pd + // CHECK: @llvm.x86.avx512.mask.cvtudq2pd.128 + return _mm_maskz_cvtepu32_pd(__U,__A); +} +__m256d test_mm256_cvtepu32_pd(__m128i __A) { + // CHECK-LABEL: @test_mm256_cvtepu32_pd + // CHECK: @llvm.x86.avx512.mask.cvtudq2pd.256 + return _mm256_cvtepu32_pd(__A); +} +__m256d test_mm256_mask_cvtepu32_pd(__m256d __W, __mmask8 __U, __m128i __A) { + // CHECK-LABEL: @test_mm256_mask_cvtepu32_pd + // CHECK: @llvm.x86.avx512.mask.cvtudq2pd.256 + return _mm256_mask_cvtepu32_pd(__W,__U,__A); +} +__m256d test_mm256_maskz_cvtepu32_pd(__mmask8 __U, __m128i __A) { + // CHECK-LABEL: @test_mm256_maskz_cvtepu32_pd + // CHECK: @llvm.x86.avx512.mask.cvtudq2pd.256 + return _mm256_maskz_cvtepu32_pd(__U,__A); +} +__m128 test_mm_cvtepu32_ps(__m128i __A) { + // CHECK-LABEL: @test_mm_cvtepu32_ps + // CHECK: @llvm.x86.avx512.mask.cvtudq2ps.128 + return _mm_cvtepu32_ps(__A); +} +__m128 test_mm_mask_cvtepu32_ps(__m128 __W, __mmask8 __U, __m128i __A) { + // CHECK-LABEL: @test_mm_mask_cvtepu32_ps + // CHECK: @llvm.x86.avx512.mask.cvtudq2ps.128 + return _mm_mask_cvtepu32_ps(__W,__U,__A); +} +__m128 test_mm_maskz_cvtepu32_ps(__mmask8 __U, __m128i __A) { + // CHECK-LABEL: @test_mm_maskz_cvtepu32_ps + // CHECK: @llvm.x86.avx512.mask.cvtudq2ps.128 + return _mm_maskz_cvtepu32_ps(__U,__A); +} +__m256 test_mm256_cvtepu32_ps(__m256i __A) { + // CHECK-LABEL: @test_mm256_cvtepu32_ps + // CHECK: @llvm.x86.avx512.mask.cvtudq2ps.256 + return _mm256_cvtepu32_ps(__A); +} +__m256 test_mm256_mask_cvtepu32_ps(__m256 __W, __mmask8 __U, __m256i __A) { + // CHECK-LABEL: @test_mm256_mask_cvtepu32_ps + // CHECK: @llvm.x86.avx512.mask.cvtudq2ps.256 + return _mm256_mask_cvtepu32_ps(__W,__U,__A); +} +__m256 test_mm256_maskz_cvtepu32_ps(__mmask8 __U, __m256i __A) { + // CHECK-LABEL: @test_mm256_maskz_cvtepu32_ps + // CHECK: @llvm.x86.avx512.mask.cvtudq2ps.256 + return _mm256_maskz_cvtepu32_ps(__U,__A); +} -- 2.40.0