r243394 - [X86][AVX512VL] add AVX512VL intrinsics 1 out of 4

Asaf Badouh asaf.badouh at intel.com
Tue Jul 28 01:26:15 PDT 2015


Author: abadouh
Date: Tue Jul 28 03:26:14 2015
New Revision: 243394

URL: http://llvm.org/viewvc/llvm-project?rev=243394&view=rev
Log:
[X86][AVX512VL] add AVX512VL intrinsics 1 out of 4


http://reviews.llvm.org/D11526


Modified:
    cfe/trunk/include/clang/Basic/BuiltinsX86.def
    cfe/trunk/lib/Headers/avx512vlintrin.h
    cfe/trunk/test/CodeGen/avx512vl-builtins.c

Modified: cfe/trunk/include/clang/Basic/BuiltinsX86.def
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/BuiltinsX86.def?rev=243394&r1=243393&r2=243394&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/BuiltinsX86.def (original)
+++ cfe/trunk/include/clang/Basic/BuiltinsX86.def Tue Jul 28 03:26:14 2015
@@ -1242,5 +1242,61 @@ BUILTIN(__builtin_ia32_mulsd_mask, "V2dV
 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

Modified: cfe/trunk/lib/Headers/avx512vlintrin.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Headers/avx512vlintrin.h?rev=243394&r1=243393&r2=243394&view=diff
==============================================================================
--- cfe/trunk/lib/Headers/avx512vlintrin.h (original)
+++ cfe/trunk/lib/Headers/avx512vlintrin.h Tue Jul 28 03:26:14 2015
@@ -1977,6 +1977,822 @@ _mm256_mask3_fnmsub_ps(__m256 __A, __m25
                                                      (__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 */

Modified: cfe/trunk/test/CodeGen/avx512vl-builtins.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/avx512vl-builtins.c?rev=243394&r1=243393&r2=243394&view=diff
==============================================================================
--- cfe/trunk/test/CodeGen/avx512vl-builtins.c (original)
+++ cfe/trunk/test/CodeGen/avx512vl-builtins.c Tue Jul 28 03:26:14 2015
@@ -1557,3 +1557,543 @@ __m256 test_mm256_mask3_fnmsub_ps(__m256
   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); 
+}





More information about the cfe-commits mailing list