diff --git a/clang/lib/Headers/avx10_2_512convertintrin.h b/clang/lib/Headers/avx10_2_512convertintrin.h index 516ccc68672d6..ee8cbf28ca41c 100644 --- a/clang/lib/Headers/avx10_2_512convertintrin.h +++ b/clang/lib/Headers/avx10_2_512convertintrin.h @@ -78,20 +78,20 @@ _mm512_maskz_cvtbiasph_bf8(__mmask32 __U, __m512i __A, __m512h __B) { } static __inline__ __m256i __DEFAULT_FN_ATTRS512 -_mm512_cvtbiassph_bf8(__m512i __A, __m512h __B) { +_mm512_cvts_biasph_bf8(__m512i __A, __m512h __B) { return (__m256i)__builtin_ia32_vcvtbiasph2bf8s_512_mask( (__v64qi)__A, (__v32hf)__B, (__v32qi)_mm256_undefined_si256(), (__mmask32)-1); } -static __inline__ __m256i __DEFAULT_FN_ATTRS512 _mm512_mask_cvtbiassph_bf8( +static __inline__ __m256i __DEFAULT_FN_ATTRS512 _mm512_mask_cvts_biasph_bf8( __m256i __W, __mmask32 __U, __m512i __A, __m512h __B) { return (__m256i)__builtin_ia32_vcvtbiasph2bf8s_512_mask( (__v64qi)__A, (__v32hf)__B, (__v32qi)(__m256i)__W, (__mmask32)__U); } static __inline__ __m256i __DEFAULT_FN_ATTRS512 -_mm512_maskz_cvtbiassph_bf8(__mmask32 __U, __m512i __A, __m512h __B) { +_mm512_maskz_cvts_biasph_bf8(__mmask32 __U, __m512i __A, __m512h __B) { return (__m256i)__builtin_ia32_vcvtbiasph2bf8s_512_mask( (__v64qi)__A, (__v32hf)__B, (__v32qi)(__m256i)_mm256_setzero_si256(), (__mmask32)__U); @@ -118,20 +118,20 @@ _mm512_maskz_cvtbiasph_hf8(__mmask32 __U, __m512i __A, __m512h __B) { } static __inline__ __m256i __DEFAULT_FN_ATTRS512 -_mm512_cvtbiassph_hf8(__m512i __A, __m512h __B) { +_mm512_cvts_biasph_hf8(__m512i __A, __m512h __B) { return (__m256i)__builtin_ia32_vcvtbiasph2hf8s_512_mask( (__v64qi)__A, (__v32hf)__B, (__v32qi)_mm256_undefined_si256(), (__mmask32)-1); } -static __inline__ __m256i __DEFAULT_FN_ATTRS512 _mm512_mask_cvtbiassph_hf8( +static __inline__ __m256i __DEFAULT_FN_ATTRS512 _mm512_mask_cvts_biasph_hf8( __m256i __W, __mmask32 __U, __m512i __A, __m512h __B) { return (__m256i)__builtin_ia32_vcvtbiasph2hf8s_512_mask( (__v64qi)__A, (__v32hf)__B, (__v32qi)(__m256i)__W, (__mmask32)__U); } static __inline__ __m256i __DEFAULT_FN_ATTRS512 -_mm512_maskz_cvtbiassph_hf8(__mmask32 __U, __m512i __A, __m512h __B) { +_mm512_maskz_cvts_biasph_hf8(__mmask32 __U, __m512i __A, __m512h __B) { return (__m256i)__builtin_ia32_vcvtbiasph2hf8s_512_mask( (__v64qi)__A, (__v32hf)__B, (__v32qi)(__m256i)_mm256_setzero_si256(), (__mmask32)__U); @@ -157,21 +157,21 @@ _mm512_maskz_cvt2ph_bf8(__mmask64 __U, __m512h __A, __m512h __B) { } static __inline__ __m512i __DEFAULT_FN_ATTRS512 -_mm512_cvts2ph_bf8(__m512h __A, __m512h __B) { +_mm512_cvts_2ph_bf8(__m512h __A, __m512h __B) { return (__m512i)__builtin_ia32_vcvt2ph2bf8s_512((__v32hf)(__A), (__v32hf)(__B)); } static __inline__ __m512i __DEFAULT_FN_ATTRS512 -_mm512_mask_cvts2ph_bf8(__m512i __W, __mmask64 __U, __m512h __A, __m512h __B) { +_mm512_mask_cvts_2ph_bf8(__m512i __W, __mmask64 __U, __m512h __A, __m512h __B) { return (__m512i)__builtin_ia32_selectb_512( - (__mmask64)__U, (__v64qi)_mm512_cvts2ph_bf8(__A, __B), (__v64qi)__W); + (__mmask64)__U, (__v64qi)_mm512_cvts_2ph_bf8(__A, __B), (__v64qi)__W); } static __inline__ __m512i __DEFAULT_FN_ATTRS512 -_mm512_maskz_cvts2ph_bf8(__mmask64 __U, __m512h __A, __m512h __B) { +_mm512_maskz_cvts_2ph_bf8(__mmask64 __U, __m512h __A, __m512h __B) { return (__m512i)__builtin_ia32_selectb_512( - (__mmask64)__U, (__v64qi)_mm512_cvts2ph_bf8(__A, __B), + (__mmask64)__U, (__v64qi)_mm512_cvts_2ph_bf8(__A, __B), (__v64qi)(__m512i)_mm512_setzero_si512()); } @@ -195,21 +195,21 @@ _mm512_maskz_cvt2ph_hf8(__mmask64 __U, __m512h __A, __m512h __B) { } static __inline__ __m512i __DEFAULT_FN_ATTRS512 -_mm512_cvts2ph_hf8(__m512h __A, __m512h __B) { +_mm512_cvts_2ph_hf8(__m512h __A, __m512h __B) { return (__m512i)__builtin_ia32_vcvt2ph2hf8s_512((__v32hf)(__A), (__v32hf)(__B)); } static __inline__ __m512i __DEFAULT_FN_ATTRS512 -_mm512_mask_cvts2ph_hf8(__m512i __W, __mmask64 __U, __m512h __A, __m512h __B) { +_mm512_mask_cvts_2ph_hf8(__m512i __W, __mmask64 __U, __m512h __A, __m512h __B) { return (__m512i)__builtin_ia32_selectb_512( - (__mmask64)__U, (__v64qi)_mm512_cvts2ph_hf8(__A, __B), (__v64qi)__W); + (__mmask64)__U, (__v64qi)_mm512_cvts_2ph_hf8(__A, __B), (__v64qi)__W); } static __inline__ __m512i __DEFAULT_FN_ATTRS512 -_mm512_maskz_cvts2ph_hf8(__mmask64 __U, __m512h __A, __m512h __B) { +_mm512_maskz_cvts_2ph_hf8(__mmask64 __U, __m512h __A, __m512h __B) { return (__m512i)__builtin_ia32_selectb_512( - (__mmask64)__U, (__v64qi)_mm512_cvts2ph_hf8(__A, __B), + (__mmask64)__U, (__v64qi)_mm512_cvts_2ph_hf8(__A, __B), (__v64qi)(__m512i)_mm512_setzero_si512()); } @@ -247,19 +247,20 @@ _mm512_maskz_cvtph_bf8(__mmask32 __U, __m512h __A) { (__v32hf)__A, (__v32qi)(__m256i)_mm256_setzero_si256(), (__mmask32)__U); } -static __inline__ __m256i __DEFAULT_FN_ATTRS512 _mm512_cvtsph_bf8(__m512h __A) { +static __inline__ __m256i __DEFAULT_FN_ATTRS512 +_mm512_cvts_ph_bf8(__m512h __A) { return (__m256i)__builtin_ia32_vcvtph2bf8s_512_mask( (__v32hf)__A, (__v32qi)(__m256i)_mm256_undefined_si256(), (__mmask32)-1); } static __inline__ __m256i __DEFAULT_FN_ATTRS512 -_mm512_mask_cvtsph_bf8(__m256i __W, __mmask32 __U, __m512h __A) { +_mm512_mask_cvts_ph_bf8(__m256i __W, __mmask32 __U, __m512h __A) { return (__m256i)__builtin_ia32_vcvtph2bf8s_512_mask( (__v32hf)__A, (__v32qi)(__m256i)__W, (__mmask32)__U); } static __inline__ __m256i __DEFAULT_FN_ATTRS512 -_mm512_maskz_cvtsph_bf8(__mmask32 __U, __m512h __A) { +_mm512_maskz_cvts_ph_bf8(__mmask32 __U, __m512h __A) { return (__m256i)__builtin_ia32_vcvtph2bf8s_512_mask( (__v32hf)__A, (__v32qi)(__m256i)_mm256_setzero_si256(), (__mmask32)__U); } @@ -281,19 +282,20 @@ _mm512_maskz_cvtph_hf8(__mmask32 __U, __m512h __A) { (__v32hf)__A, (__v32qi)(__m256i)_mm256_setzero_si256(), (__mmask32)__U); } -static __inline__ __m256i __DEFAULT_FN_ATTRS512 _mm512_cvtsph_hf8(__m512h __A) { +static __inline__ __m256i __DEFAULT_FN_ATTRS512 +_mm512_cvts_ph_hf8(__m512h __A) { return (__m256i)__builtin_ia32_vcvtph2hf8s_512_mask( (__v32hf)__A, (__v32qi)(__m256i)_mm256_undefined_si256(), (__mmask32)-1); } static __inline__ __m256i __DEFAULT_FN_ATTRS512 -_mm512_mask_cvtsph_hf8(__m256i __W, __mmask32 __U, __m512h __A) { +_mm512_mask_cvts_ph_hf8(__m256i __W, __mmask32 __U, __m512h __A) { return (__m256i)__builtin_ia32_vcvtph2hf8s_512_mask( (__v32hf)__A, (__v32qi)(__m256i)__W, (__mmask32)__U); } static __inline__ __m256i __DEFAULT_FN_ATTRS512 -_mm512_maskz_cvtsph_hf8(__mmask32 __U, __m512h __A) { +_mm512_maskz_cvts_ph_hf8(__mmask32 __U, __m512h __A) { return (__m256i)__builtin_ia32_vcvtph2hf8s_512_mask( (__v32hf)__A, (__v32qi)(__m256i)_mm256_setzero_si256(), (__mmask32)__U); } diff --git a/clang/lib/Headers/avx10_2_512satcvtdsintrin.h b/clang/lib/Headers/avx10_2_512satcvtdsintrin.h index 5970ab0331444..012a6282b5b18 100644 --- a/clang/lib/Headers/avx10_2_512satcvtdsintrin.h +++ b/clang/lib/Headers/avx10_2_512satcvtdsintrin.h @@ -20,20 +20,21 @@ __min_vector_width__(512))) // 512 bit : Double -> Int -static __inline__ __m256i __DEFAULT_FN_ATTRS _mm512_cvttspd_epi32(__m512d __A) { +static __inline__ __m256i __DEFAULT_FN_ATTRS +_mm512_cvtts_pd_epi32(__m512d __A) { return ((__m256i)__builtin_ia32_vcvttpd2dqs512_round_mask( (__v8df)__A, (__v8si)_mm256_undefined_si256(), (__mmask8)-1, _MM_FROUND_CUR_DIRECTION)); } static __inline__ __m256i __DEFAULT_FN_ATTRS -_mm512_mask_cvttspd_epi32(__m256i __W, __mmask8 __U, __m512d __A) { +_mm512_mask_cvtts_pd_epi32(__m256i __W, __mmask8 __U, __m512d __A) { return ((__m256i)__builtin_ia32_vcvttpd2dqs512_round_mask( (__v8df)__A, (__v8si)__W, __U, _MM_FROUND_CUR_DIRECTION)); } static __inline__ __m256i __DEFAULT_FN_ATTRS -_mm512_maskz_cvttspd_epi32(__mmask8 __U, __m512d __A) { +_mm512_maskz_cvtts_pd_epi32(__mmask8 __U, __m512d __A) { return ((__m256i)__builtin_ia32_vcvttpd2dqs512_round_mask( (__v8df)__A, (__v8si)_mm256_setzero_si256(), __U, _MM_FROUND_CUR_DIRECTION)); @@ -55,20 +56,21 @@ _mm512_maskz_cvttspd_epi32(__mmask8 __U, __m512d __A) { (const int)(__R))) // 512 bit : Double -> uInt -static __inline__ __m256i __DEFAULT_FN_ATTRS _mm512_cvttspd_epu32(__m512d __A) { +static __inline__ __m256i __DEFAULT_FN_ATTRS +_mm512_cvtts_pd_epu32(__m512d __A) { return ((__m256i)__builtin_ia32_vcvttpd2udqs512_round_mask( (__v8df)__A, (__v8si)_mm256_undefined_si256(), (__mmask8)-1, _MM_FROUND_CUR_DIRECTION)); } static __inline__ __m256i __DEFAULT_FN_ATTRS -_mm512_mask_cvttspd_epu32(__m256i __W, __mmask8 __U, __m512d __A) { +_mm512_mask_cvtts_pd_epu32(__m256i __W, __mmask8 __U, __m512d __A) { return ((__m256i)__builtin_ia32_vcvttpd2udqs512_round_mask( (__v8df)__A, (__v8si)__W, __U, _MM_FROUND_CUR_DIRECTION)); } static __inline__ __m256i __DEFAULT_FN_ATTRS -_mm512_maskz_cvttspd_epu32(__mmask8 __U, __m512d __A) { +_mm512_maskz_cvtts_pd_epu32(__mmask8 __U, __m512d __A) { return ((__m256i)__builtin_ia32_vcvttpd2udqs512_round_mask( (__v8df)__A, (__v8si)_mm256_setzero_si256(), __U, _MM_FROUND_CUR_DIRECTION)); @@ -91,18 +93,19 @@ _mm512_maskz_cvttspd_epu32(__mmask8 __U, __m512d __A) { // 512 bit : Double -> Long -static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_cvttspd_epi64(__m512d __A) { +static __inline__ __m512i __DEFAULT_FN_ATTRS +_mm512_cvtts_pd_epi64(__m512d __A) { return ((__m512i)__builtin_ia32_vcvttpd2qqs512_round_mask( (__v8df)__A, (__v8di)_mm512_undefined_epi32(), (__mmask8)-1, _MM_FROUND_CUR_DIRECTION)); } static __inline__ __m512i __DEFAULT_FN_ATTRS -_mm512_mask_cvttspd_epi64(__m512i __W, __mmask8 __U, __m512d __A) { +_mm512_mask_cvtts_pd_epi64(__m512i __W, __mmask8 __U, __m512d __A) { return ((__m512i)__builtin_ia32_vcvttpd2qqs512_round_mask( (__v8df)__A, (__v8di)__W, __U, _MM_FROUND_CUR_DIRECTION)); } static __inline__ __m512i __DEFAULT_FN_ATTRS -_mm512_maskz_cvttspd_epi64(__mmask8 __U, __m512d __A) { +_mm512_maskz_cvtts_pd_epi64(__mmask8 __U, __m512d __A) { return ((__m512i)__builtin_ia32_vcvttpd2qqs512_round_mask( (__v8df)__A, (__v8di)_mm512_setzero_si512(), __U, _MM_FROUND_CUR_DIRECTION)); @@ -125,20 +128,21 @@ _mm512_maskz_cvttspd_epi64(__mmask8 __U, __m512d __A) { // 512 bit : Double -> ULong -static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_cvttspd_epu64(__m512d __A) { +static __inline__ __m512i __DEFAULT_FN_ATTRS +_mm512_cvtts_pd_epu64(__m512d __A) { return ((__m512i)__builtin_ia32_vcvttpd2uqqs512_round_mask( (__v8df)__A, (__v8di)_mm512_undefined_epi32(), (__mmask8)-1, _MM_FROUND_CUR_DIRECTION)); } static __inline__ __m512i __DEFAULT_FN_ATTRS -_mm512_mask_cvttspd_epu64(__m512i __W, __mmask8 __U, __m512d __A) { +_mm512_mask_cvtts_pd_epu64(__m512i __W, __mmask8 __U, __m512d __A) { return ((__m512i)__builtin_ia32_vcvttpd2uqqs512_round_mask( (__v8df)__A, (__v8di)__W, __U, _MM_FROUND_CUR_DIRECTION)); } static __inline__ __m512i __DEFAULT_FN_ATTRS -_mm512_maskz_cvttspd_epu64(__mmask8 __U, __m512d __A) { +_mm512_maskz_cvtts_pd_epu64(__mmask8 __U, __m512d __A) { return ((__m512i)__builtin_ia32_vcvttpd2uqqs512_round_mask( (__v8df)__A, (__v8di)_mm512_setzero_si512(), __U, _MM_FROUND_CUR_DIRECTION)); @@ -160,20 +164,20 @@ _mm512_maskz_cvttspd_epu64(__mmask8 __U, __m512d __A) { (const int)(__R))) // 512 bit: Float -> int -static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_cvttsps_epi32(__m512 __A) { +static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_cvtts_ps_epi32(__m512 __A) { return ((__m512i)__builtin_ia32_vcvttps2dqs512_round_mask( (__v16sf)(__A), (__v16si)_mm512_undefined_epi32(), (__mmask16)-1, _MM_FROUND_CUR_DIRECTION)); } static __inline__ __m512i __DEFAULT_FN_ATTRS -_mm512_mask_cvttsps_epi32(__m512i __W, __mmask16 __U, __m512 __A) { +_mm512_mask_cvtts_ps_epi32(__m512i __W, __mmask16 __U, __m512 __A) { return ((__m512i)__builtin_ia32_vcvttps2dqs512_round_mask( (__v16sf)(__A), (__v16si)(__W), __U, _MM_FROUND_CUR_DIRECTION)); } static __inline__ __m512i __DEFAULT_FN_ATTRS -_mm512_maskz_cvttsps_epi32(__mmask16 __U, __m512 __A) { +_mm512_maskz_cvtts_ps_epi32(__mmask16 __U, __m512 __A) { return ((__m512i)__builtin_ia32_vcvttps2dqs512_round_mask( (__v16sf)(__A), (__v16si)_mm512_setzero_si512(), __U, _MM_FROUND_CUR_DIRECTION)); @@ -195,20 +199,20 @@ _mm512_maskz_cvttsps_epi32(__mmask16 __U, __m512 __A) { (__mmask16)(__U), (const int)(__R))) // 512 bit: Float -> uint -static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_cvttsps_epu32(__m512 __A) { +static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_cvtts_ps_epu32(__m512 __A) { return ((__m512i)__builtin_ia32_vcvttps2udqs512_round_mask( (__v16sf)(__A), (__v16si)_mm512_undefined_epi32(), (__mmask16)-1, _MM_FROUND_CUR_DIRECTION)); } static __inline__ __m512i __DEFAULT_FN_ATTRS -_mm512_mask_cvttsps_epu32(__m512i __W, __mmask16 __U, __m512 __A) { +_mm512_mask_cvtts_ps_epu32(__m512i __W, __mmask16 __U, __m512 __A) { return ((__m512i)__builtin_ia32_vcvttps2udqs512_round_mask( (__v16sf)(__A), (__v16si)(__W), __U, _MM_FROUND_CUR_DIRECTION)); } static __inline__ __m512i __DEFAULT_FN_ATTRS -_mm512_maskz_cvttsps_epu32(__mmask16 __U, __m512 __A) { +_mm512_maskz_cvtts_ps_epu32(__mmask16 __U, __m512 __A) { return ((__m512i)__builtin_ia32_vcvttps2udqs512_round_mask( (__v16sf)(__A), (__v16si)_mm512_setzero_si512(), __U, _MM_FROUND_CUR_DIRECTION)); @@ -230,20 +234,20 @@ _mm512_maskz_cvttsps_epu32(__mmask16 __U, __m512 __A) { (__mmask16)(__U), (const int)(__R))) // 512 bit : float -> long -static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_cvttsps_epi64(__m256 __A) { +static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_cvtts_ps_epi64(__m256 __A) { return ((__m512i)__builtin_ia32_vcvttps2qqs512_round_mask( (__v8sf)__A, (__v8di)_mm512_undefined_epi32(), (__mmask8)-1, _MM_FROUND_CUR_DIRECTION)); } static __inline__ __m512i __DEFAULT_FN_ATTRS -_mm512_mask_cvttsps_epi64(__m512i __W, __mmask8 __U, __m256 __A) { +_mm512_mask_cvtts_ps_epi64(__m512i __W, __mmask8 __U, __m256 __A) { return ((__m512i)__builtin_ia32_vcvttps2qqs512_round_mask( (__v8sf)__A, (__v8di)__W, __U, _MM_FROUND_CUR_DIRECTION)); } static __inline__ __m512i __DEFAULT_FN_ATTRS -_mm512_maskz_cvttsps_epi64(__mmask8 __U, __m256 __A) { +_mm512_maskz_cvtts_ps_epi64(__mmask8 __U, __m256 __A) { return ((__m512i)__builtin_ia32_vcvttps2qqs512_round_mask( (__v8sf)__A, (__v8di)_mm512_setzero_si512(), __U, _MM_FROUND_CUR_DIRECTION)); @@ -265,20 +269,20 @@ _mm512_maskz_cvttsps_epi64(__mmask8 __U, __m256 __A) { (const int)(__R))) // 512 bit : float -> ulong -static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_cvttsps_epu64(__m256 __A) { +static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_cvtts_ps_epu64(__m256 __A) { return ((__m512i)__builtin_ia32_vcvttps2uqqs512_round_mask( (__v8sf)__A, (__v8di)_mm512_undefined_epi32(), (__mmask8)-1, _MM_FROUND_CUR_DIRECTION)); } static __inline__ __m512i __DEFAULT_FN_ATTRS -_mm512_mask_cvttsps_epu64(__m512i __W, __mmask8 __U, __m256 __A) { +_mm512_mask_cvtts_ps_epu64(__m512i __W, __mmask8 __U, __m256 __A) { return ((__m512i)__builtin_ia32_vcvttps2uqqs512_round_mask( (__v8sf)__A, (__v8di)__W, __U, _MM_FROUND_CUR_DIRECTION)); } static __inline__ __m512i __DEFAULT_FN_ATTRS -_mm512_maskz_cvttsps_epu64(__mmask8 __U, __m256 __A) { +_mm512_maskz_cvtts_ps_epu64(__mmask8 __U, __m256 __A) { return ((__m512i)__builtin_ia32_vcvttps2uqqs512_round_mask( (__v8sf)__A, (__v8di)_mm512_setzero_si512(), __U, _MM_FROUND_CUR_DIRECTION)); diff --git a/clang/lib/Headers/avx10_2_512satcvtintrin.h b/clang/lib/Headers/avx10_2_512satcvtintrin.h index 7f41deb5212c5..b58e3db8956d6 100644 --- a/clang/lib/Headers/avx10_2_512satcvtintrin.h +++ b/clang/lib/Headers/avx10_2_512satcvtintrin.h @@ -14,286 +14,286 @@ #ifndef __AVX10_2_512SATCVTINTRIN_H #define __AVX10_2_512SATCVTINTRIN_H -#define _mm512_ipcvtbf16_epi8(A) \ +#define _mm512_ipcvts_bf16_epi8(A) \ ((__m512i)__builtin_ia32_vcvtbf162ibs512((__v32bf)(__m512bh)(A))) -#define _mm512_mask_ipcvtbf16_epi8(W, U, A) \ +#define _mm512_mask_ipcvts_bf16_epi8(W, U, A) \ ((__m512i)__builtin_ia32_selectw_512((__mmask32)(U), \ - (__v32hi)_mm512_ipcvtbf16_epi8(A), \ + (__v32hi)_mm512_ipcvts_bf16_epi8(A), \ (__v32hi)(__m512i)(W))) -#define _mm512_maskz_ipcvtbf16_epi8(U, A) \ +#define _mm512_maskz_ipcvts_bf16_epi8(U, A) \ ((__m512i)__builtin_ia32_selectw_512((__mmask32)(U), \ - (__v32hi)_mm512_ipcvtbf16_epi8(A), \ + (__v32hi)_mm512_ipcvts_bf16_epi8(A), \ (__v32hi)_mm512_setzero_si512())) -#define _mm512_ipcvtbf16_epu8(A) \ +#define _mm512_ipcvts_bf16_epu8(A) \ ((__m512i)__builtin_ia32_vcvtbf162iubs512((__v32bf)(__m512bh)(A))) -#define _mm512_mask_ipcvtbf16_epu8(W, U, A) \ +#define _mm512_mask_ipcvts_bf16_epu8(W, U, A) \ ((__m512i)__builtin_ia32_selectw_512((__mmask32)(U), \ - (__v32hi)_mm512_ipcvtbf16_epu8(A), \ + (__v32hi)_mm512_ipcvts_bf16_epu8(A), \ (__v32hi)(__m512i)(W))) -#define _mm512_maskz_ipcvtbf16_epu8(U, A) \ +#define _mm512_maskz_ipcvts_bf16_epu8(U, A) \ ((__m512i)__builtin_ia32_selectw_512((__mmask32)(U), \ - (__v32hi)_mm512_ipcvtbf16_epu8(A), \ + (__v32hi)_mm512_ipcvts_bf16_epu8(A), \ (__v32hi)_mm512_setzero_si512())) -#define _mm512_ipcvttbf16_epi8(A) \ +#define _mm512_ipcvtts_bf16_epi8(A) \ ((__m512i)__builtin_ia32_vcvttbf162ibs512((__v32bf)(__m512bh)(A))) -#define _mm512_mask_ipcvttbf16_epi8(W, U, A) \ +#define _mm512_mask_ipcvtts_bf16_epi8(W, U, A) \ ((__m512i)__builtin_ia32_selectw_512((__mmask32)(U), \ - (__v32hi)_mm512_ipcvttbf16_epi8(A), \ + (__v32hi)_mm512_ipcvtts_bf16_epi8(A), \ (__v32hi)(__m512i)(W))) -#define _mm512_maskz_ipcvttbf16_epi8(U, A) \ +#define _mm512_maskz_ipcvtts_bf16_epi8(U, A) \ ((__m512i)__builtin_ia32_selectw_512((__mmask32)(U), \ - (__v32hi)_mm512_ipcvttbf16_epi8(A), \ + (__v32hi)_mm512_ipcvtts_bf16_epi8(A), \ (__v32hi)_mm512_setzero_si512())) -#define _mm512_ipcvttbf16_epu8(A) \ +#define _mm512_ipcvtts_bf16_epu8(A) \ ((__m512i)__builtin_ia32_vcvttbf162iubs512((__v32bf)(__m512bh)(A))) -#define _mm512_mask_ipcvttbf16_epu8(W, U, A) \ +#define _mm512_mask_ipcvtts_bf16_epu8(W, U, A) \ ((__m512i)__builtin_ia32_selectw_512((__mmask32)(U), \ - (__v32hi)_mm512_ipcvttbf16_epu8(A), \ + (__v32hi)_mm512_ipcvtts_bf16_epu8(A), \ (__v32hi)(__m512i)(W))) -#define _mm512_maskz_ipcvttbf16_epu8(U, A) \ +#define _mm512_maskz_ipcvtts_bf16_epu8(U, A) \ ((__m512i)__builtin_ia32_selectw_512((__mmask32)(U), \ - (__v32hi)_mm512_ipcvttbf16_epu8(A), \ + (__v32hi)_mm512_ipcvtts_bf16_epu8(A), \ (__v32hi)_mm512_setzero_si512())) -#define _mm512_ipcvtph_epi8(A) \ +#define _mm512_ipcvts_ph_epi8(A) \ ((__m512i)__builtin_ia32_vcvtph2ibs512_mask( \ - (__v32hf)(__m512h)(A), (__v32hu)_mm512_setzero_si512(), (__mmask32)-1, \ + (__v32hf)(__m512h)(A), (__v32hu)_mm512_setzero_si512(), (__mmask32) - 1, \ _MM_FROUND_CUR_DIRECTION)) -#define _mm512_mask_ipcvtph_epi8(W, U, A) \ +#define _mm512_mask_ipcvts_ph_epi8(W, U, A) \ ((__m512i)__builtin_ia32_vcvtph2ibs512_mask((__v32hf)(__m512h)(A), \ (__v32hu)(W), (__mmask32)(U), \ _MM_FROUND_CUR_DIRECTION)) -#define _mm512_maskz_ipcvtph_epi8(U, A) \ +#define _mm512_maskz_ipcvts_ph_epi8(U, A) \ ((__m512i)__builtin_ia32_vcvtph2ibs512_mask( \ (__v32hf)(__m512h)(A), (__v32hu)_mm512_setzero_si512(), (__mmask32)(U), \ _MM_FROUND_CUR_DIRECTION)) -#define _mm512_ipcvt_roundph_epi8(A, R) \ +#define _mm512_ipcvts_roundph_epi8(A, R) \ ((__m512i)__builtin_ia32_vcvtph2ibs512_mask((__v32hf)(__m512h)(A), \ (__v32hu)_mm512_setzero_si512(), \ - (__mmask32)-1, (const int)R)) + (__mmask32) - 1, (const int)R)) -#define _mm512_mask_ipcvt_roundph_epi8(W, U, A, R) \ +#define _mm512_mask_ipcvts_roundph_epi8(W, U, A, R) \ ((__m512i)__builtin_ia32_vcvtph2ibs512_mask( \ (__v32hf)(__m512h)(A), (__v32hu)(W), (__mmask32)(U), (const int)R)) -#define _mm512_maskz_ipcvt_roundph_epi8(U, A, R) \ +#define _mm512_maskz_ipcvts_roundph_epi8(U, A, R) \ ((__m512i)__builtin_ia32_vcvtph2ibs512_mask((__v32hf)(__m512h)(A), \ (__v32hu)_mm512_setzero_si512(), \ (__mmask32)(U), (const int)R)) -#define _mm512_ipcvtph_epu8(A) \ +#define _mm512_ipcvts_ph_epu8(A) \ ((__m512i)__builtin_ia32_vcvtph2iubs512_mask( \ - (__v32hf)(__m512h)(A), (__v32hu)_mm512_setzero_si512(), (__mmask32)-1, \ + (__v32hf)(__m512h)(A), (__v32hu)_mm512_setzero_si512(), (__mmask32) - 1, \ _MM_FROUND_CUR_DIRECTION)) -#define _mm512_mask_ipcvtph_epu8(W, U, A) \ +#define _mm512_mask_ipcvts_ph_epu8(W, U, A) \ ((__m512i)__builtin_ia32_vcvtph2iubs512_mask((__v32hf)(__m512h)(A), \ (__v32hu)(W), (__mmask32)(U), \ _MM_FROUND_CUR_DIRECTION)) -#define _mm512_maskz_ipcvtph_epu8(U, A) \ +#define _mm512_maskz_ipcvts_ph_epu8(U, A) \ ((__m512i)__builtin_ia32_vcvtph2iubs512_mask( \ (__v32hf)(__m512h)(A), (__v32hu)_mm512_setzero_si512(), (__mmask32)(U), \ _MM_FROUND_CUR_DIRECTION)) -#define _mm512_ipcvt_roundph_epu8(A, R) \ +#define _mm512_ipcvts_roundph_epu8(A, R) \ ((__m512i)__builtin_ia32_vcvtph2iubs512_mask( \ - (__v32hf)(__m512h)(A), (__v32hu)_mm512_setzero_si512(), (__mmask32)-1, \ + (__v32hf)(__m512h)(A), (__v32hu)_mm512_setzero_si512(), (__mmask32) - 1, \ (const int)R)) -#define _mm512_mask_ipcvt_roundph_epu8(W, U, A, R) \ +#define _mm512_mask_ipcvts_roundph_epu8(W, U, A, R) \ ((__m512i)__builtin_ia32_vcvtph2iubs512_mask( \ (__v32hf)(__m512h)(A), (__v32hu)(W), (__mmask32)(U), (const int)R)) -#define _mm512_maskz_ipcvt_roundph_epu8(U, A, R) \ +#define _mm512_maskz_ipcvts_roundph_epu8(U, A, R) \ ((__m512i)__builtin_ia32_vcvtph2iubs512_mask( \ (__v32hf)(__m512h)(A), (__v32hu)_mm512_setzero_si512(), (__mmask32)(U), \ (const int)R)) -#define _mm512_ipcvtps_epi8(A) \ +#define _mm512_ipcvts_ps_epi8(A) \ ((__m512i)__builtin_ia32_vcvtps2ibs512_mask( \ - (__v16sf)(__m512)(A), (__v16su)_mm512_setzero_si512(), (__mmask16)-1, \ + (__v16sf)(__m512)(A), (__v16su)_mm512_setzero_si512(), (__mmask16) - 1, \ _MM_FROUND_CUR_DIRECTION)) -#define _mm512_mask_ipcvtps_epi8(W, U, A) \ +#define _mm512_mask_ipcvts_ps_epi8(W, U, A) \ ((__m512i)__builtin_ia32_vcvtps2ibs512_mask((__v16sf)(__m512)(A), \ (__v16su)(W), (__mmask16)(U), \ _MM_FROUND_CUR_DIRECTION)) -#define _mm512_maskz_ipcvtps_epi8(U, A) \ +#define _mm512_maskz_ipcvts_ps_epi8(U, A) \ ((__m512i)__builtin_ia32_vcvtps2ibs512_mask( \ (__v16sf)(__m512)(A), (__v16su)_mm512_setzero_si512(), (__mmask16)(U), \ _MM_FROUND_CUR_DIRECTION)) -#define _mm512_ipcvt_roundps_epi8(A, R) \ +#define _mm512_ipcvts_roundps_epi8(A, R) \ ((__m512i)__builtin_ia32_vcvtps2ibs512_mask((__v16sf)(__m512)(A), \ (__v16su)_mm512_setzero_si512(), \ - (__mmask16)-1, (const int)R)) + (__mmask16) - 1, (const int)R)) -#define _mm512_mask_ipcvt_roundps_epi8(W, U, A, R) \ +#define _mm512_mask_ipcvts_roundps_epi8(W, U, A, R) \ ((__m512i)__builtin_ia32_vcvtps2ibs512_mask( \ (__v16sf)(__m512)(A), (__v16su)(W), (__mmask16)(U), (const int)R)) -#define _mm512_maskz_ipcvt_roundps_epi8(U, A, R) \ +#define _mm512_maskz_ipcvts_roundps_epi8(U, A, R) \ ((__m512i)__builtin_ia32_vcvtps2ibs512_mask((__v16sf)(__m512)(A), \ (__v16su)_mm512_setzero_si512(), \ (__mmask16)(U), (const int)R)) -#define _mm512_ipcvtps_epu8(A) \ +#define _mm512_ipcvts_ps_epu8(A) \ ((__m512i)__builtin_ia32_vcvtps2iubs512_mask( \ - (__v16sf)(__m512)(A), (__v16su)_mm512_setzero_si512(), (__mmask16)-1, \ + (__v16sf)(__m512)(A), (__v16su)_mm512_setzero_si512(), (__mmask16) - 1, \ _MM_FROUND_CUR_DIRECTION)) -#define _mm512_mask_ipcvtps_epu8(W, U, A) \ +#define _mm512_mask_ipcvts_ps_epu8(W, U, A) \ ((__m512i)__builtin_ia32_vcvtps2iubs512_mask((__v16sf)(__m512)(A), \ (__v16su)(W), (__mmask16)(U), \ _MM_FROUND_CUR_DIRECTION)) -#define _mm512_maskz_ipcvtps_epu8(U, A) \ +#define _mm512_maskz_ipcvts_ps_epu8(U, A) \ ((__m512i)__builtin_ia32_vcvtps2iubs512_mask( \ (__v16sf)(__m512)(A), (__v16su)_mm512_setzero_si512(), (__mmask16)(U), \ _MM_FROUND_CUR_DIRECTION)) -#define _mm512_ipcvt_roundps_epu8(A, R) \ +#define _mm512_ipcvts_roundps_epu8(A, R) \ ((__m512i)__builtin_ia32_vcvtps2iubs512_mask( \ - (__v16sf)(__m512)(A), (__v16su)_mm512_setzero_si512(), (__mmask16)-1, \ + (__v16sf)(__m512)(A), (__v16su)_mm512_setzero_si512(), (__mmask16) - 1, \ (const int)R)) -#define _mm512_mask_ipcvt_roundps_epu8(W, U, A, R) \ +#define _mm512_mask_ipcvts_roundps_epu8(W, U, A, R) \ ((__m512i)__builtin_ia32_vcvtps2iubs512_mask( \ (__v16sf)(__m512)(A), (__v16su)(W), (__mmask16)(U), (const int)R)) -#define _mm512_maskz_ipcvt_roundps_epu8(U, A, R) \ +#define _mm512_maskz_ipcvts_roundps_epu8(U, A, R) \ ((__m512i)__builtin_ia32_vcvtps2iubs512_mask( \ (__v16sf)(__m512)(A), (__v16su)_mm512_setzero_si512(), (__mmask16)(U), \ (const int)R)) -#define _mm512_ipcvttph_epi8(A) \ +#define _mm512_ipcvtts_ph_epi8(A) \ ((__m512i)__builtin_ia32_vcvttph2ibs512_mask( \ - (__v32hf)(__m512h)(A), (__v32hu)_mm512_setzero_si512(), (__mmask32)-1, \ + (__v32hf)(__m512h)(A), (__v32hu)_mm512_setzero_si512(), (__mmask32) - 1, \ _MM_FROUND_CUR_DIRECTION)) -#define _mm512_mask_ipcvttph_epi8(W, U, A) \ +#define _mm512_mask_ipcvtts_ph_epi8(W, U, A) \ ((__m512i)__builtin_ia32_vcvttph2ibs512_mask((__v32hf)(__m512h)(A), \ (__v32hu)(W), (__mmask32)(U), \ _MM_FROUND_CUR_DIRECTION)) -#define _mm512_maskz_ipcvttph_epi8(U, A) \ +#define _mm512_maskz_ipcvtts_ph_epi8(U, A) \ ((__m512i)__builtin_ia32_vcvttph2ibs512_mask( \ (__v32hf)(__m512h)(A), (__v32hu)_mm512_setzero_si512(), (__mmask32)(U), \ _MM_FROUND_CUR_DIRECTION)) -#define _mm512_ipcvtt_roundph_epi8(A, S) \ +#define _mm512_ipcvtts_roundph_epi8(A, S) \ ((__m512i)__builtin_ia32_vcvttph2ibs512_mask( \ - (__v32hf)(__m512h)(A), (__v32hu)_mm512_setzero_si512(), (__mmask32)-1, \ + (__v32hf)(__m512h)(A), (__v32hu)_mm512_setzero_si512(), (__mmask32) - 1, \ S)) -#define _mm512_mask_ipcvtt_roundph_epi8(W, U, A, S) \ +#define _mm512_mask_ipcvtts_roundph_epi8(W, U, A, S) \ ((__m512i)__builtin_ia32_vcvttph2ibs512_mask( \ (__v32hf)(__m512h)(A), (__v32hu)(W), (__mmask32)(U), S)) -#define _mm512_maskz_ipcvtt_roundph_epi8(U, A, S) \ +#define _mm512_maskz_ipcvtts_roundph_epi8(U, A, S) \ ((__m512i)__builtin_ia32_vcvttph2ibs512_mask( \ (__v32hf)(__m512h)(A), (__v32hu)_mm512_setzero_si512(), (__mmask32)(U), \ S)) -#define _mm512_ipcvttph_epu8(A) \ +#define _mm512_ipcvtts_ph_epu8(A) \ ((__m512i)__builtin_ia32_vcvttph2iubs512_mask( \ - (__v32hf)(__m512h)(A), (__v32hu)_mm512_setzero_si512(), (__mmask32)-1, \ + (__v32hf)(__m512h)(A), (__v32hu)_mm512_setzero_si512(), (__mmask32) - 1, \ _MM_FROUND_CUR_DIRECTION)) -#define _mm512_mask_ipcvttph_epu8(W, U, A) \ +#define _mm512_mask_ipcvtts_ph_epu8(W, U, A) \ ((__m512i)__builtin_ia32_vcvttph2iubs512_mask((__v32hf)(__m512h)(A), \ (__v32hu)(W), (__mmask32)(U), \ _MM_FROUND_CUR_DIRECTION)) -#define _mm512_maskz_ipcvttph_epu8(U, A) \ +#define _mm512_maskz_ipcvtts_ph_epu8(U, A) \ ((__m512i)__builtin_ia32_vcvttph2iubs512_mask( \ (__v32hf)(__m512h)(A), (__v32hu)_mm512_setzero_si512(), (__mmask32)(U), \ _MM_FROUND_CUR_DIRECTION)) -#define _mm512_ipcvtt_roundph_epu8(A, S) \ +#define _mm512_ipcvtts_roundph_epu8(A, S) \ ((__m512i)__builtin_ia32_vcvttph2iubs512_mask( \ - (__v32hf)(__m512h)(A), (__v32hu)_mm512_setzero_si512(), (__mmask32)-1, \ + (__v32hf)(__m512h)(A), (__v32hu)_mm512_setzero_si512(), (__mmask32) - 1, \ S)) -#define _mm512_mask_ipcvtt_roundph_epu8(W, U, A, S) \ +#define _mm512_mask_ipcvtts_roundph_epu8(W, U, A, S) \ ((__m512i)__builtin_ia32_vcvttph2iubs512_mask( \ (__v32hf)(__m512h)(A), (__v32hu)(W), (__mmask32)(U), S)) -#define _mm512_maskz_ipcvtt_roundph_epu8(U, A, S) \ +#define _mm512_maskz_ipcvtts_roundph_epu8(U, A, S) \ ((__m512i)__builtin_ia32_vcvttph2iubs512_mask( \ (__v32hf)(__m512h)(A), (__v32hu)_mm512_setzero_si512(), (__mmask32)(U), \ S)) -#define _mm512_ipcvttps_epi8(A) \ +#define _mm512_ipcvtts_ps_epi8(A) \ ((__m512i)__builtin_ia32_vcvttps2ibs512_mask( \ - (__v16sf)(__m512h)(A), (__v16su)_mm512_setzero_si512(), (__mmask16)-1, \ + (__v16sf)(__m512h)(A), (__v16su)_mm512_setzero_si512(), (__mmask16) - 1, \ _MM_FROUND_CUR_DIRECTION)) -#define _mm512_mask_ipcvttps_epi8(W, U, A) \ +#define _mm512_mask_ipcvtts_ps_epi8(W, U, A) \ ((__m512i)__builtin_ia32_vcvttps2ibs512_mask((__v16sf)(__m512h)(A), \ (__v16su)(W), (__mmask16)(U), \ _MM_FROUND_CUR_DIRECTION)) -#define _mm512_maskz_ipcvttps_epi8(U, A) \ +#define _mm512_maskz_ipcvtts_ps_epi8(U, A) \ ((__m512i)__builtin_ia32_vcvttps2ibs512_mask( \ (__v16sf)(__m512h)(A), (__v16su)_mm512_setzero_si512(), (__mmask16)(U), \ _MM_FROUND_CUR_DIRECTION)) -#define _mm512_ipcvtt_roundps_epi8(A, S) \ +#define _mm512_ipcvtts_roundps_epi8(A, S) \ ((__m512i)__builtin_ia32_vcvttps2ibs512_mask( \ - (__v16sf)(__m512h)(A), (__v16su)_mm512_setzero_si512(), (__mmask16)-1, \ + (__v16sf)(__m512h)(A), (__v16su)_mm512_setzero_si512(), (__mmask16) - 1, \ S)) -#define _mm512_mask_ipcvtt_roundps_epi8(W, U, A, S) \ +#define _mm512_mask_ipcvtts_roundps_epi8(W, U, A, S) \ ((__m512i)__builtin_ia32_vcvttps2ibs512_mask( \ (__v16sf)(__m512h)(A), (__v16su)(W), (__mmask16)(U), S)) -#define _mm512_maskz_ipcvtt_roundps_epi8(U, A, S) \ +#define _mm512_maskz_ipcvtts_roundps_epi8(U, A, S) \ ((__m512i)__builtin_ia32_vcvttps2ibs512_mask( \ (__v16sf)(__m512h)(A), (__v16su)_mm512_setzero_si512(), (__mmask16)(U), \ S)) -#define _mm512_ipcvttps_epu8(A) \ +#define _mm512_ipcvtts_ps_epu8(A) \ ((__m512i)__builtin_ia32_vcvttps2iubs512_mask( \ - (__v16sf)(__m512h)(A), (__v16su)_mm512_setzero_si512(), (__mmask16)-1, \ + (__v16sf)(__m512h)(A), (__v16su)_mm512_setzero_si512(), (__mmask16) - 1, \ _MM_FROUND_CUR_DIRECTION)) -#define _mm512_mask_ipcvttps_epu8(W, U, A) \ +#define _mm512_mask_ipcvtts_ps_epu8(W, U, A) \ ((__m512i)__builtin_ia32_vcvttps2iubs512_mask((__v16sf)(__m512h)(A), \ (__v16su)(W), (__mmask16)(U), \ _MM_FROUND_CUR_DIRECTION)) -#define _mm512_maskz_ipcvttps_epu8(U, A) \ +#define _mm512_maskz_ipcvtts_ps_epu8(U, A) \ ((__m512i)__builtin_ia32_vcvttps2iubs512_mask( \ (__v16sf)(__m512h)(A), (__v16su)_mm512_setzero_si512(), (__mmask16)(U), \ _MM_FROUND_CUR_DIRECTION)) -#define _mm512_ipcvtt_roundps_epu8(A, S) \ +#define _mm512_ipcvtts_roundps_epu8(A, S) \ ((__m512i)__builtin_ia32_vcvttps2iubs512_mask( \ - (__v16sf)(__m512h)(A), (__v16su)_mm512_setzero_si512(), (__mmask16)-1, \ + (__v16sf)(__m512h)(A), (__v16su)_mm512_setzero_si512(), (__mmask16) - 1, \ S)) -#define _mm512_mask_ipcvtt_roundps_epu8(W, U, A, S) \ +#define _mm512_mask_ipcvtts_roundps_epu8(W, U, A, S) \ ((__m512i)__builtin_ia32_vcvttps2iubs512_mask( \ (__v16sf)(__m512h)(A), (__v16su)(W), (__mmask16)(U), S)) -#define _mm512_maskz_ipcvtt_roundps_epu8(U, A, S) \ +#define _mm512_maskz_ipcvtts_roundps_epu8(U, A, S) \ ((__m512i)__builtin_ia32_vcvttps2iubs512_mask( \ (__v16sf)(__m512h)(A), (__v16su)_mm512_setzero_si512(), (__mmask16)(U), \ S)) diff --git a/clang/lib/Headers/avx10_2convertintrin.h b/clang/lib/Headers/avx10_2convertintrin.h index 07722090c30ee..bd6ff6099d8a7 100644 --- a/clang/lib/Headers/avx10_2convertintrin.h +++ b/clang/lib/Headers/avx10_2convertintrin.h @@ -63,22 +63,8 @@ _mm256_maskz_cvtx2ps_ph(__mmask16 __U, __m256 __A, __m256 __B) { _MM_FROUND_CUR_DIRECTION); } -#define _mm256_cvtx_round2ps_ph(A, B, R) \ - ((__m256h)__builtin_ia32_vcvt2ps2phx256_mask( \ - (__v8sf)(A), (__v8sf)(B), (__v16hf)_mm256_undefined_ph(), \ - (__mmask16)(-1), (const int)(R))) - -#define _mm256_mask_cvtx_round2ps_ph(W, U, A, B, R) \ - ((__m256h)__builtin_ia32_vcvt2ps2phx256_mask( \ - (__v8sf)(A), (__v8sf)(B), (__v16hf)(W), (__mmask16)(U), (const int)(R))) - -#define _mm256_maskz_cvtx_round2ps_ph(U, A, B, R) \ - ((__m256h)__builtin_ia32_vcvt2ps2phx256_mask( \ - (__v8sf)(A), (__v8sf)(B), (__v16hf)(_mm256_setzero_ph()), \ - (__mmask16)(U), (const int)(R))) - -static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_cvtbiasph_bf8(__m128i __A, - __m128h __B) { +static __inline__ __m128i __DEFAULT_FN_ATTRS128 +_mm_cvtbiasph_bf8(__m128i __A, __m128h __B) { return (__m128i)__builtin_ia32_vcvtbiasph2bf8_128_mask( (__v16qi)__A, (__v8hf)__B, (__v16qi)_mm_undefined_si128(), (__mmask8)-1); } @@ -117,39 +103,39 @@ _mm256_maskz_cvtbiasph_bf8(__mmask16 __U, __m256i __A, __m256h __B) { } static __inline__ __m128i __DEFAULT_FN_ATTRS128 -_mm_cvtbiassph_bf8(__m128i __A, __m128h __B) { +_mm_cvts_biasph_bf8(__m128i __A, __m128h __B) { return (__m128i)__builtin_ia32_vcvtbiasph2bf8s_128_mask( (__v16qi)__A, (__v8hf)__B, (__v16qi)_mm_undefined_si128(), (__mmask8)-1); } static __inline__ __m128i __DEFAULT_FN_ATTRS128 -_mm_mask_cvtbiassph_bf8(__m128i __W, __mmask8 __U, __m128i __A, __m128h __B) { +_mm_mask_cvts_biasph_bf8(__m128i __W, __mmask8 __U, __m128i __A, __m128h __B) { return (__m128i)__builtin_ia32_vcvtbiasph2bf8s_128_mask( (__v16qi)__A, (__v8hf)__B, (__v16qi)(__m128i)__W, (__mmask8)__U); } static __inline__ __m128i __DEFAULT_FN_ATTRS128 -_mm_maskz_cvtbiassph_bf8(__mmask8 __U, __m128i __A, __m128h __B) { +_mm_maskz_cvts_biasph_bf8(__mmask8 __U, __m128i __A, __m128h __B) { return (__m128i)__builtin_ia32_vcvtbiasph2bf8s_128_mask( (__v16qi)__A, (__v8hf)__B, (__v16qi)(__m128i)_mm_setzero_si128(), (__mmask8)__U); } static __inline__ __m128i __DEFAULT_FN_ATTRS256 -_mm256_cvtbiassph_bf8(__m256i __A, __m256h __B) { +_mm256_cvts_biasph_bf8(__m256i __A, __m256h __B) { return (__m128i)__builtin_ia32_vcvtbiasph2bf8s_256_mask( (__v32qi)__A, (__v16hf)__B, (__v16qi)(__m128i)_mm_undefined_si128(), (__mmask16)-1); } -static __inline__ __m128i __DEFAULT_FN_ATTRS256 _mm256_mask_cvtbiassph_bf8( +static __inline__ __m128i __DEFAULT_FN_ATTRS256 _mm256_mask_cvts_biasph_bf8( __m128i __W, __mmask16 __U, __m256i __A, __m256h __B) { return (__m128i)__builtin_ia32_vcvtbiasph2bf8s_256_mask( (__v32qi)__A, (__v16hf)__B, (__v16qi)(__m128i)__W, (__mmask16)__U); } static __inline__ __m128i __DEFAULT_FN_ATTRS256 -_mm256_maskz_cvtbiassph_bf8(__mmask16 __U, __m256i __A, __m256h __B) { +_mm256_maskz_cvts_biasph_bf8(__mmask16 __U, __m256i __A, __m256h __B) { return (__m128i)__builtin_ia32_vcvtbiasph2bf8s_256_mask( (__v32qi)__A, (__v16hf)__B, (__v16qi)(__m128i)_mm_setzero_si128(), (__mmask16)__U); @@ -195,39 +181,39 @@ _mm256_maskz_cvtbiasph_hf8(__mmask16 __U, __m256i __A, __m256h __B) { } static __inline__ __m128i __DEFAULT_FN_ATTRS128 -_mm_cvtbiassph_hf8(__m128i __A, __m128h __B) { +_mm_cvts_biasph_hf8(__m128i __A, __m128h __B) { return (__m128i)__builtin_ia32_vcvtbiasph2hf8s_128_mask( (__v16qi)__A, (__v8hf)__B, (__v16qi)_mm_undefined_si128(), (__mmask8)-1); } static __inline__ __m128i __DEFAULT_FN_ATTRS128 -_mm_mask_cvtbiassph_hf8(__m128i __W, __mmask8 __U, __m128i __A, __m128h __B) { +_mm_mask_cvts_biasph_hf8(__m128i __W, __mmask8 __U, __m128i __A, __m128h __B) { return (__m128i)__builtin_ia32_vcvtbiasph2hf8s_128_mask( (__v16qi)__A, (__v8hf)__B, (__v16qi)(__m128i)__W, (__mmask8)__U); } static __inline__ __m128i __DEFAULT_FN_ATTRS128 -_mm_maskz_cvtbiassph_hf8(__mmask8 __U, __m128i __A, __m128h __B) { +_mm_maskz_cvts_biasph_hf8(__mmask8 __U, __m128i __A, __m128h __B) { return (__m128i)__builtin_ia32_vcvtbiasph2hf8s_128_mask( (__v16qi)__A, (__v8hf)__B, (__v16qi)(__m128i)_mm_setzero_si128(), (__mmask8)__U); } static __inline__ __m128i __DEFAULT_FN_ATTRS256 -_mm256_cvtbiassph_hf8(__m256i __A, __m256h __B) { +_mm256_cvts_biasph_hf8(__m256i __A, __m256h __B) { return (__m128i)__builtin_ia32_vcvtbiasph2hf8s_256_mask( (__v32qi)__A, (__v16hf)__B, (__v16qi)(__m128i)_mm_undefined_si128(), (__mmask16)-1); } -static __inline__ __m128i __DEFAULT_FN_ATTRS256 _mm256_mask_cvtbiassph_hf8( +static __inline__ __m128i __DEFAULT_FN_ATTRS256 _mm256_mask_cvts_biasph_hf8( __m128i __W, __mmask16 __U, __m256i __A, __m256h __B) { return (__m128i)__builtin_ia32_vcvtbiasph2hf8s_256_mask( (__v32qi)__A, (__v16hf)__B, (__v16qi)(__m128i)__W, (__mmask16)__U); } static __inline__ __m128i __DEFAULT_FN_ATTRS256 -_mm256_maskz_cvtbiassph_hf8(__mmask16 __U, __m256i __A, __m256h __B) { +_mm256_maskz_cvts_biasph_hf8(__mmask16 __U, __m256i __A, __m256h __B) { return (__m128i)__builtin_ia32_vcvtbiasph2hf8s_256_mask( (__v32qi)__A, (__v16hf)__B, (__v16qi)(__m128i)_mm_setzero_si128(), (__mmask16)__U); @@ -270,40 +256,40 @@ _mm256_maskz_cvt2ph_bf8(__mmask32 __U, __m256h __A, __m256h __B) { (__v32qi)(__m256i)_mm256_setzero_si256()); } -static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_cvts2ph_bf8(__m128h __A, - __m128h __B) { +static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_cvts_2ph_bf8(__m128h __A, + __m128h __B) { return (__m128i)__builtin_ia32_vcvt2ph2bf8s_128((__v8hf)(__A), (__v8hf)(__B)); } static __inline__ __m128i __DEFAULT_FN_ATTRS128 -_mm_mask_cvts2ph_bf8(__m128i __W, __mmask16 __U, __m128h __A, __m128h __B) { +_mm_mask_cvts_2ph_bf8(__m128i __W, __mmask16 __U, __m128h __A, __m128h __B) { return (__m128i)__builtin_ia32_selectb_128( - (__mmask16)__U, (__v16qi)_mm_cvts2ph_bf8(__A, __B), (__v16qi)__W); + (__mmask16)__U, (__v16qi)_mm_cvts_2ph_bf8(__A, __B), (__v16qi)__W); } static __inline__ __m128i __DEFAULT_FN_ATTRS128 -_mm_maskz_cvts2ph_bf8(__mmask16 __U, __m128h __A, __m128h __B) { +_mm_maskz_cvts_2ph_bf8(__mmask16 __U, __m128h __A, __m128h __B) { return (__m128i)__builtin_ia32_selectb_128( - (__mmask16)__U, (__v16qi)_mm_cvts2ph_bf8(__A, __B), + (__mmask16)__U, (__v16qi)_mm_cvts_2ph_bf8(__A, __B), (__v16qi)(__m128i)_mm_setzero_si128()); } static __inline__ __m256i __DEFAULT_FN_ATTRS256 -_mm256_cvts2ph_bf8(__m256h __A, __m256h __B) { +_mm256_cvts_2ph_bf8(__m256h __A, __m256h __B) { return (__m256i)__builtin_ia32_vcvt2ph2bf8s_256((__v16hf)(__A), (__v16hf)(__B)); } static __inline__ __m256i __DEFAULT_FN_ATTRS256 -_mm256_mask_cvts2ph_bf8(__m256i __W, __mmask32 __U, __m256h __A, __m256h __B) { +_mm256_mask_cvts_2ph_bf8(__m256i __W, __mmask32 __U, __m256h __A, __m256h __B) { return (__m256i)__builtin_ia32_selectb_256( - (__mmask32)__U, (__v32qi)_mm256_cvts2ph_bf8(__A, __B), (__v32qi)__W); + (__mmask32)__U, (__v32qi)_mm256_cvts_2ph_bf8(__A, __B), (__v32qi)__W); } static __inline__ __m256i __DEFAULT_FN_ATTRS256 -_mm256_maskz_cvts2ph_bf8(__mmask32 __U, __m256h __A, __m256h __B) { +_mm256_maskz_cvts_2ph_bf8(__mmask32 __U, __m256h __A, __m256h __B) { return (__m256i)__builtin_ia32_selectb_256( - (__mmask32)__U, (__v32qi)_mm256_cvts2ph_bf8(__A, __B), + (__mmask32)__U, (__v32qi)_mm256_cvts_2ph_bf8(__A, __B), (__v32qi)(__m256i)_mm256_setzero_si256()); } @@ -344,40 +330,40 @@ _mm256_maskz_cvt2ph_hf8(__mmask32 __U, __m256h __A, __m256h __B) { (__v32qi)(__m256i)_mm256_setzero_si256()); } -static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_cvts2ph_hf8(__m128h __A, - __m128h __B) { +static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_cvts_2ph_hf8(__m128h __A, + __m128h __B) { return (__m128i)__builtin_ia32_vcvt2ph2hf8s_128((__v8hf)(__A), (__v8hf)(__B)); } static __inline__ __m128i __DEFAULT_FN_ATTRS128 -_mm_mask_cvts2ph_hf8(__m128i __W, __mmask16 __U, __m128h __A, __m128h __B) { +_mm_mask_cvts_2ph_hf8(__m128i __W, __mmask16 __U, __m128h __A, __m128h __B) { return (__m128i)__builtin_ia32_selectb_128( - (__mmask16)__U, (__v16qi)_mm_cvts2ph_hf8(__A, __B), (__v16qi)__W); + (__mmask16)__U, (__v16qi)_mm_cvts_2ph_hf8(__A, __B), (__v16qi)__W); } static __inline__ __m128i __DEFAULT_FN_ATTRS128 -_mm_maskz_cvts2ph_hf8(__mmask16 __U, __m128h __A, __m128h __B) { +_mm_maskz_cvts_2ph_hf8(__mmask16 __U, __m128h __A, __m128h __B) { return (__m128i)__builtin_ia32_selectb_128( - (__mmask16)__U, (__v16qi)_mm_cvts2ph_hf8(__A, __B), + (__mmask16)__U, (__v16qi)_mm_cvts_2ph_hf8(__A, __B), (__v16qi)(__m128i)_mm_setzero_si128()); } static __inline__ __m256i __DEFAULT_FN_ATTRS256 -_mm256_cvts2ph_hf8(__m256h __A, __m256h __B) { +_mm256_cvts_2ph_hf8(__m256h __A, __m256h __B) { return (__m256i)__builtin_ia32_vcvt2ph2hf8s_256((__v16hf)(__A), (__v16hf)(__B)); } static __inline__ __m256i __DEFAULT_FN_ATTRS256 -_mm256_mask_cvts2ph_hf8(__m256i __W, __mmask32 __U, __m256h __A, __m256h __B) { +_mm256_mask_cvts_2ph_hf8(__m256i __W, __mmask32 __U, __m256h __A, __m256h __B) { return (__m256i)__builtin_ia32_selectb_256( - (__mmask32)__U, (__v32qi)_mm256_cvts2ph_hf8(__A, __B), (__v32qi)__W); + (__mmask32)__U, (__v32qi)_mm256_cvts_2ph_hf8(__A, __B), (__v32qi)__W); } static __inline__ __m256i __DEFAULT_FN_ATTRS256 -_mm256_maskz_cvts2ph_hf8(__mmask32 __U, __m256h __A, __m256h __B) { +_mm256_maskz_cvts_2ph_hf8(__mmask32 __U, __m256h __A, __m256h __B) { return (__m256i)__builtin_ia32_selectb_256( - (__mmask32)__U, (__v32qi)_mm256_cvts2ph_hf8(__A, __B), + (__mmask32)__U, (__v32qi)_mm256_cvts_2ph_hf8(__A, __B), (__v32qi)(__m256i)_mm256_setzero_si256()); } @@ -449,36 +435,37 @@ _mm256_maskz_cvtph_bf8(__mmask16 __U, __m256h __A) { (__v16hf)__A, (__v16qi)(__m128i)_mm_setzero_si128(), (__mmask16)__U); } -static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_cvtsph_bf8(__m128h __A) { +static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_cvts_ph_bf8(__m128h __A) { return (__m128i)__builtin_ia32_vcvtph2bf8s_128_mask( (__v8hf)__A, (__v16qi)(__m128i)_mm_undefined_si128(), (__mmask8)-1); } static __inline__ __m128i __DEFAULT_FN_ATTRS128 -_mm_mask_cvtsph_bf8(__m128i __W, __mmask8 __U, __m128h __A) { +_mm_mask_cvts_ph_bf8(__m128i __W, __mmask8 __U, __m128h __A) { return (__m128i)__builtin_ia32_vcvtph2bf8s_128_mask( (__v8hf)__A, (__v16qi)(__m128i)__W, (__mmask8)__U); } static __inline__ __m128i __DEFAULT_FN_ATTRS128 -_mm_maskz_cvtsph_bf8(__mmask8 __U, __m128h __A) { +_mm_maskz_cvts_ph_bf8(__mmask8 __U, __m128h __A) { return (__m128i)__builtin_ia32_vcvtph2bf8s_128_mask( (__v8hf)__A, (__v16qi)(__m128i)_mm_setzero_si128(), (__mmask8)__U); } -static __inline__ __m128i __DEFAULT_FN_ATTRS256 _mm256_cvtsph_bf8(__m256h __A) { +static __inline__ __m128i __DEFAULT_FN_ATTRS256 +_mm256_cvts_ph_bf8(__m256h __A) { return (__m128i)__builtin_ia32_vcvtph2bf8s_256_mask( (__v16hf)__A, (__v16qi)(__m128i)_mm_undefined_si128(), (__mmask16)-1); } static __inline__ __m128i __DEFAULT_FN_ATTRS256 -_mm256_mask_cvtsph_bf8(__m128i __W, __mmask16 __U, __m256h __A) { +_mm256_mask_cvts_ph_bf8(__m128i __W, __mmask16 __U, __m256h __A) { return (__m128i)__builtin_ia32_vcvtph2bf8s_256_mask( (__v16hf)__A, (__v16qi)(__m128i)__W, (__mmask16)__U); } static __inline__ __m128i __DEFAULT_FN_ATTRS256 -_mm256_maskz_cvtsph_bf8(__mmask16 __U, __m256h __A) { +_mm256_maskz_cvts_ph_bf8(__mmask16 __U, __m256h __A) { return (__m128i)__builtin_ia32_vcvtph2bf8s_256_mask( (__v16hf)__A, (__v16qi)(__m128i)_mm_setzero_si128(), (__mmask16)__U); } @@ -517,36 +504,37 @@ _mm256_maskz_cvtph_hf8(__mmask16 __U, __m256h __A) { (__v16hf)__A, (__v16qi)(__m128i)_mm_setzero_si128(), (__mmask16)__U); } -static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_cvtsph_hf8(__m128h __A) { +static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_cvts_ph_hf8(__m128h __A) { return (__m128i)__builtin_ia32_vcvtph2hf8s_128_mask( (__v8hf)__A, (__v16qi)(__m128i)_mm_undefined_si128(), (__mmask8)-1); } static __inline__ __m128i __DEFAULT_FN_ATTRS128 -_mm_mask_cvtsph_hf8(__m128i __W, __mmask8 __U, __m128h __A) { +_mm_mask_cvts_ph_hf8(__m128i __W, __mmask8 __U, __m128h __A) { return (__m128i)__builtin_ia32_vcvtph2hf8s_128_mask( (__v8hf)__A, (__v16qi)(__m128i)__W, (__mmask8)__U); } static __inline__ __m128i __DEFAULT_FN_ATTRS128 -_mm_maskz_cvtsph_hf8(__mmask8 __U, __m128h __A) { +_mm_maskz_cvts_ph_hf8(__mmask8 __U, __m128h __A) { return (__m128i)__builtin_ia32_vcvtph2hf8s_128_mask( (__v8hf)__A, (__v16qi)(__m128i)_mm_setzero_si128(), (__mmask8)__U); } -static __inline__ __m128i __DEFAULT_FN_ATTRS256 _mm256_cvtsph_hf8(__m256h __A) { +static __inline__ __m128i __DEFAULT_FN_ATTRS256 +_mm256_cvts_ph_hf8(__m256h __A) { return (__m128i)__builtin_ia32_vcvtph2hf8s_256_mask( (__v16hf)__A, (__v16qi)(__m128i)_mm_undefined_si128(), (__mmask16)-1); } static __inline__ __m128i __DEFAULT_FN_ATTRS256 -_mm256_mask_cvtsph_hf8(__m128i __W, __mmask16 __U, __m256h __A) { +_mm256_mask_cvts_ph_hf8(__m128i __W, __mmask16 __U, __m256h __A) { return (__m128i)__builtin_ia32_vcvtph2hf8s_256_mask( (__v16hf)__A, (__v16qi)(__m128i)__W, (__mmask16)__U); } static __inline__ __m128i __DEFAULT_FN_ATTRS256 -_mm256_maskz_cvtsph_hf8(__mmask16 __U, __m256h __A) { +_mm256_maskz_cvts_ph_hf8(__mmask16 __U, __m256h __A) { return (__m128i)__builtin_ia32_vcvtph2hf8s_256_mask( (__v16hf)__A, (__v16qi)(__m128i)_mm_setzero_si128(), (__mmask16)__U); } diff --git a/clang/lib/Headers/avx10_2minmaxintrin.h b/clang/lib/Headers/avx10_2minmaxintrin.h index 8164d49d89f1f..a59b74dbc54b3 100644 --- a/clang/lib/Headers/avx10_2minmaxintrin.h +++ b/clang/lib/Headers/avx10_2minmaxintrin.h @@ -80,21 +80,6 @@ (__v4df)(__m256d)(A), (__v4df)(__m256d)(B), (int)(C), \ (__v4df)_mm256_setzero_pd(), (__mmask8)(U), _MM_FROUND_NO_EXC)) -#define _mm256_minmax_round_pd(A, B, C, R) \ - ((__m256d)__builtin_ia32_vminmaxpd256_round_mask( \ - (__v4df)(__m256d)(A), (__v4df)(__m256d)(B), (int)(C), \ - (__v4df)_mm256_undefined_pd(), (__mmask8)-1, (int)(R))) - -#define _mm256_mask_minmax_round_pd(W, U, A, B, C, R) \ - ((__m256d)__builtin_ia32_vminmaxpd256_round_mask( \ - (__v4df)(__m256d)(A), (__v4df)(__m256d)(B), (int)(C), \ - (__v4df)(__m256d)(W), (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_minmax_round_pd(U, A, B, C, R) \ - ((__m256d)__builtin_ia32_vminmaxpd256_round_mask( \ - (__v4df)(__m256d)(A), (__v4df)(__m256d)(B), (int)(C), \ - (__v4df)_mm256_setzero_pd(), (__mmask8)(U), (int)(R))) - #define _mm_minmax_ph(A, B, C) \ ((__m128h)__builtin_ia32_vminmaxph128_mask( \ (__v8hf)(__m128h)(A), (__v8hf)(__m128h)(B), (int)(C), \ @@ -125,21 +110,6 @@ (__v16hf)(__m256h)(A), (__v16hf)(__m256h)(B), (int)(C), \ (__v16hf)_mm256_setzero_ph(), (__mmask16)(U), _MM_FROUND_NO_EXC)) -#define _mm256_minmax_round_ph(A, B, C, R) \ - ((__m256h)__builtin_ia32_vminmaxph256_round_mask( \ - (__v16hf)(__m256h)(A), (__v16hf)(__m256h)(B), (int)(C), \ - (__v16hf)_mm256_undefined_ph(), (__mmask16)-1, (int)(R))) - -#define _mm256_mask_minmax_round_ph(W, U, A, B, C, R) \ - ((__m256h)__builtin_ia32_vminmaxph256_round_mask( \ - (__v16hf)(__m256h)(A), (__v16hf)(__m256h)(B), (C), \ - (__v16hf)(__m256h)(W), (__mmask16)(U), (int)(R))) - -#define _mm256_maskz_minmax_round_ph(U, A, B, C, R) \ - ((__m256h)__builtin_ia32_vminmaxph256_round_mask( \ - (__v16hf)(__m256h)(A), (__v16hf)(__m256h)(B), (int)(C), \ - (__v16hf)_mm256_setzero_ph(), (__mmask16)(U), (int)(R))) - #define _mm_minmax_ps(A, B, C) \ ((__m128)__builtin_ia32_vminmaxps128_mask( \ (__v4sf)(__m128)(A), (__v4sf)(__m128)(B), (int)(C), \ @@ -170,21 +140,6 @@ (__v8sf)(__m256)(A), (__v8sf)(__m256)(B), (int)(C), \ (__v8sf)_mm256_setzero_ps(), (__mmask8)(U), _MM_FROUND_NO_EXC)) -#define _mm256_minmax_round_ps(A, B, C, R) \ - ((__m256)__builtin_ia32_vminmaxps256_round_mask( \ - (__v8sf)(__m256)(A), (__v8sf)(__m256)(B), (int)(C), \ - (__v8sf)_mm256_undefined_ps(), (__mmask8)-1, (int)(R))) - -#define _mm256_mask_minmax_round_ps(W, U, A, B, C, R) \ - ((__m256)__builtin_ia32_vminmaxps256_round_mask( \ - (__v8sf)(__m256)(A), (__v8sf)(__m256)(B), (int)(C), (__v8sf)(__m256)(W), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_minmax_round_ps(U, A, B, C, R) \ - ((__m256)__builtin_ia32_vminmaxps256_round_mask( \ - (__v8sf)(__m256)(A), (__v8sf)(__m256)(B), (int)(C), \ - (__v8sf)_mm256_setzero_ps(), (__mmask8)(U), (int)(R))) - #define _mm_minmax_sd(A, B, C) \ ((__m128d)__builtin_ia32_vminmaxsd_round_mask( \ (__v2df)(__m128d)(A), (__v2df)(__m128d)(B), (int)(C), \ diff --git a/clang/lib/Headers/avx10_2niintrin.h b/clang/lib/Headers/avx10_2niintrin.h index c91a7b57c7527..992be18f7720a 100644 --- a/clang/lib/Headers/avx10_2niintrin.h +++ b/clang/lib/Headers/avx10_2niintrin.h @@ -402,1672 +402,6 @@ static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_dpwuuds_epi32( (__v8si)_mm256_setzero_si256()); } -/* YMM Rounding */ -#define _mm256_add_round_pd(A, B, R) \ - ((__m256d)__builtin_ia32_vaddpd256_round((__v4df)(__m256d)(A), \ - (__v4df)(__m256d)(B), (int)(R))) - -#define _mm256_mask_add_round_pd(W, U, A, B, R) \ - ((__m256d)__builtin_ia32_selectpd_256( \ - (__mmask8)(U), (__v4df)_mm256_add_round_pd((A), (B), (R)), \ - (__v4df)(__m256d)(W))) - -#define _mm256_maskz_add_round_pd(U, A, B, R) \ - ((__m256d)__builtin_ia32_selectpd_256( \ - (__mmask8)(U), (__v4df)_mm256_add_round_pd((A), (B), (R)), \ - (__v4df)_mm256_setzero_pd())) - -#define _mm256_add_round_ph(A, B, R) \ - ((__m256h)__builtin_ia32_vaddph256_round((__v16hf)(__m256h)(A), \ - (__v16hf)(__m256h)(B), (int)(R))) - -#define _mm256_mask_add_round_ph(W, U, A, B, R) \ - ((__m256h)__builtin_ia32_selectph_256( \ - (__mmask16)(U), (__v16hf)_mm256_add_round_ph((A), (B), (R)), \ - (__v16hf)(__m256h)(W))) - -#define _mm256_maskz_add_round_ph(U, A, B, R) \ - ((__m256h)__builtin_ia32_selectph_256( \ - (__mmask16)(U), (__v16hf)_mm256_add_round_ph((A), (B), (R)), \ - (__v16hf)_mm256_setzero_ph())) - -#define _mm256_add_round_ps(A, B, R) \ - ((__m256)__builtin_ia32_vaddps256_round((__v8sf)(__m256)(A), \ - (__v8sf)(__m256)(B), (int)(R))) - -#define _mm256_mask_add_round_ps(W, U, A, B, R) \ - ((__m256)__builtin_ia32_selectps_256( \ - (__mmask8)(U), (__v8sf)_mm256_add_round_ps((A), (B), (R)), \ - (__v8sf)(__m256)(W))) - -#define _mm256_maskz_add_round_ps(U, A, B, R) \ - ((__m256)__builtin_ia32_selectps_256( \ - (__mmask8)(U), (__v8sf)_mm256_add_round_ps((A), (B), (R)), \ - (__v8sf)_mm256_setzero_ps())) - -#define _mm256_cmp_round_pd_mask(A, B, P, R) \ - ((__mmask8)__builtin_ia32_vcmppd256_round_mask( \ - (__v4df)(__m256d)(A), (__v4df)(__m256d)(B), (int)(P), (__mmask8)-1, \ - (int)(R))) - -#define _mm256_mask_cmp_round_pd_mask(U, A, B, P, R) \ - ((__mmask8)__builtin_ia32_vcmppd256_round_mask( \ - (__v4df)(__m256d)(A), (__v4df)(__m256d)(B), (int)(P), (__mmask8)(U), \ - (int)(R))) - -#define _mm256_cmp_round_ph_mask(A, B, P, R) \ - ((__mmask16)__builtin_ia32_vcmpph256_round_mask( \ - (__v16hf)(__m256h)(A), (__v16hf)(__m256h)(B), (int)(P), (__mmask16)-1, \ - (int)(R))) - -#define _mm256_mask_cmp_round_ph_mask(U, A, B, P, R) \ - ((__mmask16)__builtin_ia32_vcmpph256_round_mask( \ - (__v16hf)(__m256h)(A), (__v16hf)(__m256h)(B), (int)(P), (__mmask16)(U), \ - (int)(R))) - -#define _mm256_cmp_round_ps_mask(A, B, P, R) \ - ((__mmask8)__builtin_ia32_vcmpps256_round_mask( \ - (__v8sf)(__m256)(A), (__v8sf)(__m256)(B), (int)(P), (__mmask8)-1, \ - (int)(R))) - -#define _mm256_mask_cmp_round_ps_mask(U, A, B, P, R) \ - ((__mmask8)__builtin_ia32_vcmpps256_round_mask( \ - (__v8sf)(__m256)(A), (__v8sf)(__m256)(B), (int)(P), (__mmask8)(U), \ - (int)(R))) - -#define _mm256_cvt_roundepi32_ph(A, R) \ - ((__m128h)__builtin_ia32_vcvtdq2ph256_round_mask( \ - (__v8si)(A), (__v8hf)_mm_undefined_ph(), (__mmask8)(-1), (int)(R))) - -#define _mm256_mask_cvt_roundepi32_ph(W, U, A, R) \ - ((__m128h)__builtin_ia32_vcvtdq2ph256_round_mask((__v8si)(A), (__v8hf)(W), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_cvt_roundepi32_ph(U, A, R) \ - ((__m128h)__builtin_ia32_vcvtdq2ph256_round_mask( \ - (__v8si)(A), (__v8hf)_mm_setzero_ph(), (__mmask8)(U), (int)(R))) - -#define _mm256_cvt_roundepi32_ps(A, R) \ - ((__m256)__builtin_ia32_vcvtdq2ps256_round_mask((__v8si)(__m256i)(A), \ - (__v8sf)_mm256_setzero_ps(), \ - (__mmask8)-1, (int)(R))) - -#define _mm256_mask_cvt_roundepi32_ps(W, U, A, R) \ - ((__m256)__builtin_ia32_vcvtdq2ps256_round_mask( \ - (__v8si)(__m256i)(A), (__v8sf)(__m256)(W), (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_cvt_roundepi32_ps(U, A, R) \ - ((__m256)__builtin_ia32_vcvtdq2ps256_round_mask((__v8si)(__m256i)(A), \ - (__v8sf)_mm256_setzero_ps(), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_cvt_roundpd_epi32(A, R) \ - ((__m128i)__builtin_ia32_vcvtpd2dq256_round_mask( \ - (__v4df)(__m256d)(A), (__v4si)_mm_setzero_si128(), (__mmask8)-1, \ - (int)(R))) - -#define _mm256_mask_cvt_roundpd_epi32(W, U, A, R) \ - ((__m128i)__builtin_ia32_vcvtpd2dq256_round_mask( \ - (__v4df)(__m256d)(A), (__v4si)(__m128i)(W), (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_cvt_roundpd_epi32(U, A, R) \ - ((__m128i)__builtin_ia32_vcvtpd2dq256_round_mask( \ - (__v4df)(__m256d)(A), (__v4si)_mm_setzero_si128(), (__mmask8)(U), \ - (int)(R))) - -#define _mm256_cvt_roundpd_ph(A, R) \ - ((__m128h)__builtin_ia32_vcvtpd2ph256_round_mask( \ - (__v4df)(A), (__v8hf)_mm_undefined_ph(), (__mmask8)(-1), (int)(R))) - -#define _mm256_mask_cvt_roundpd_ph(W, U, A, R) \ - ((__m128h)__builtin_ia32_vcvtpd2ph256_round_mask((__v4df)(A), (__v8hf)(W), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_cvt_roundpd_ph(U, A, R) \ - ((__m128h)__builtin_ia32_vcvtpd2ph256_round_mask( \ - (__v4df)(A), (__v8hf)_mm_setzero_ph(), (__mmask8)(U), (int)(R))) - -#define _mm256_cvt_roundpd_ps(A, R) \ - ((__m128)__builtin_ia32_vcvtpd2ps256_round_mask( \ - (__v4df)(__m256d)(A), (__v4sf)_mm_setzero_ps(), (__mmask8)-1, (int)(R))) - -#define _mm256_mask_cvt_roundpd_ps(W, U, A, R) \ - ((__m128)__builtin_ia32_vcvtpd2ps256_round_mask( \ - (__v4df)(__m256d)(A), (__v4sf)(__m128)(W), (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_cvt_roundpd_ps(U, A, R) \ - ((__m128)__builtin_ia32_vcvtpd2ps256_round_mask((__v4df)(__m256d)(A), \ - (__v4sf)_mm_setzero_ps(), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_cvt_roundpd_epi64(A, R) \ - ((__m256i)__builtin_ia32_vcvtpd2qq256_round_mask( \ - (__v4df)(__m256d)(A), (__v4di)_mm256_setzero_si256(), (__mmask8)-1, \ - (int)(R))) - -#define _mm256_mask_cvt_roundpd_epi64(W, U, A, R) \ - ((__m256i)__builtin_ia32_vcvtpd2qq256_round_mask( \ - (__v4df)(__m256d)(A), (__v4di)(__m256i)(W), (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_cvt_roundpd_epi64(U, A, R) \ - ((__m256i)__builtin_ia32_vcvtpd2qq256_round_mask( \ - (__v4df)(__m256d)(A), (__v4di)_mm256_setzero_si256(), (__mmask8)(U), \ - (int)(R))) - -#define _mm256_cvt_roundpd_epu32(A, R) \ - ((__m128i)__builtin_ia32_vcvtpd2udq256_round_mask( \ - (__v4df)(__m256d)(A), (__v4su)_mm_setzero_si128(), (__mmask8)-1, \ - (int)(R))) - -#define _mm256_mask_cvt_roundpd_epu32(W, U, A, R) \ - ((__m128i)__builtin_ia32_vcvtpd2udq256_round_mask( \ - (__v4df)(__m256d)(A), (__v4su)(__m128i)(W), (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_cvt_roundpd_epu32(U, A, R) \ - ((__m128i)__builtin_ia32_vcvtpd2udq256_round_mask( \ - (__v4df)(__m256d)(A), (__v4su)_mm_setzero_si128(), (__mmask8)(U), \ - (int)(R))) - -#define _mm256_cvt_roundpd_epu64(A, R) \ - ((__m256i)__builtin_ia32_vcvtpd2uqq256_round_mask( \ - (__v4df)(__m256d)(A), (__v4du)_mm256_setzero_si256(), (__mmask8)-1, \ - (int)(R))) - -#define _mm256_mask_cvt_roundpd_epu64(W, U, A, R) \ - ((__m256i)__builtin_ia32_vcvtpd2uqq256_round_mask( \ - (__v4df)(__m256d)(A), (__v4du)(__m256i)(W), (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_cvt_roundpd_epu64(U, A, R) \ - ((__m256i)__builtin_ia32_vcvtpd2uqq256_round_mask( \ - (__v4df)(__m256d)(A), (__v4du)_mm256_setzero_si256(), (__mmask8)(U), \ - (int)(R))) - -#define _mm256_cvt_roundph_epi32(A, R) \ - ((__m256i)__builtin_ia32_vcvtph2dq256_round_mask( \ - (__v8hf)(A), (__v8si)_mm256_undefined_si256(), (__mmask8)(-1), \ - (int)(R))) - -#define _mm256_mask_cvt_roundph_epi32(W, U, A, R) \ - ((__m256i)__builtin_ia32_vcvtph2dq256_round_mask((__v8hf)(A), (__v8si)(W), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_cvt_roundph_epi32(U, A, R) \ - ((__m256i)__builtin_ia32_vcvtph2dq256_round_mask( \ - (__v8hf)(A), (__v8si)_mm256_setzero_si256(), (__mmask8)(U), (int)(R))) - -#define _mm256_cvt_roundph_pd(A, R) \ - ((__m256d)__builtin_ia32_vcvtph2pd256_round_mask( \ - (__v8hf)(A), (__v4df)_mm256_undefined_pd(), (__mmask8)(-1), (int)(R))) - -#define _mm256_mask_cvt_roundph_pd(W, U, A, R) \ - ((__m256d)__builtin_ia32_vcvtph2pd256_round_mask((__v8hf)(A), (__v4df)(W), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_cvt_roundph_pd(U, A, R) \ - ((__m256d)__builtin_ia32_vcvtph2pd256_round_mask( \ - (__v8hf)(A), (__v4df)_mm256_setzero_pd(), (__mmask8)(U), (int)(R))) - -#define _mm256_cvtx_roundph_ps(A, R) \ - ((__m256)__builtin_ia32_vcvtph2psx256_round_mask( \ - (__v8hf)(A), (__v8sf)_mm256_undefined_ps(), (__mmask8)(-1), (int)(R))) - -#define _mm256_mask_cvtx_roundph_ps(W, U, A, R) \ - ((__m256)__builtin_ia32_vcvtph2psx256_round_mask((__v8hf)(A), (__v8sf)(W), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_cvtx_roundph_ps(U, A, R) \ - ((__m256)__builtin_ia32_vcvtph2psx256_round_mask( \ - (__v8hf)(A), (__v8sf)_mm256_setzero_ps(), (__mmask8)(U), (int)(R))) - -#define _mm256_cvt_roundph_epi64(A, R) \ - ((__m256i)__builtin_ia32_vcvtph2qq256_round_mask( \ - (__v8hf)(A), (__v4di)_mm256_undefined_si256(), (__mmask8)(-1), \ - (int)(R))) - -#define _mm256_mask_cvt_roundph_epi64(W, U, A, R) \ - ((__m256i)__builtin_ia32_vcvtph2qq256_round_mask((__v8hf)(A), (__v4di)(W), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_cvt_roundph_epi64(U, A, R) \ - ((__m256i)__builtin_ia32_vcvtph2qq256_round_mask( \ - (__v8hf)(A), (__v4di)_mm256_setzero_si256(), (__mmask8)(U), (int)(R))) - -#define _mm256_cvt_roundph_epu32(A, R) \ - ((__m256i)__builtin_ia32_vcvtph2udq256_round_mask( \ - (__v8hf)(A), (__v8su)_mm256_undefined_si256(), (__mmask8)(-1), \ - (int)(R))) - -#define _mm256_mask_cvt_roundph_epu32(W, U, A, R) \ - ((__m256i)__builtin_ia32_vcvtph2udq256_round_mask((__v8hf)(A), (__v8su)(W), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_cvt_roundph_epu32(U, A, R) \ - ((__m256i)__builtin_ia32_vcvtph2udq256_round_mask( \ - (__v8hf)(A), (__v8su)_mm256_setzero_si256(), (__mmask8)(U), (int)(R))) - -#define _mm256_cvt_roundph_epu64(A, R) \ - ((__m256i)__builtin_ia32_vcvtph2uqq256_round_mask( \ - (__v8hf)(A), (__v4du)_mm256_undefined_si256(), (__mmask8)(-1), \ - (int)(R))) - -#define _mm256_mask_cvt_roundph_epu64(W, U, A, R) \ - ((__m256i)__builtin_ia32_vcvtph2uqq256_round_mask((__v8hf)(A), (__v4du)(W), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_cvt_roundph_epu64(U, A, R) \ - ((__m256i)__builtin_ia32_vcvtph2uqq256_round_mask( \ - (__v8hf)(A), (__v4du)_mm256_setzero_si256(), (__mmask8)(U), (int)(R))) - -#define _mm256_cvt_roundph_epu16(A, R) \ - ((__m256i)__builtin_ia32_vcvtph2uw256_round_mask( \ - (__v16hf)(A), (__v16hu)_mm256_undefined_si256(), (__mmask16)(-1), \ - (int)(R))) - -#define _mm256_mask_cvt_roundph_epu16(W, U, A, R) \ - ((__m256i)__builtin_ia32_vcvtph2uw256_round_mask((__v16hf)(A), (__v16hu)(W), \ - (__mmask16)(U), (int)(R))) - -#define _mm256_maskz_cvt_roundph_epu16(U, A, R) \ - ((__m256i)__builtin_ia32_vcvtph2uw256_round_mask( \ - (__v16hf)(A), (__v16hu)_mm256_setzero_si256(), (__mmask16)(U), \ - (int)(R))) - -#define _mm256_cvt_roundph_epi16(A, R) \ - ((__m256i)__builtin_ia32_vcvtph2w256_round_mask( \ - (__v16hf)(A), (__v16hi)_mm256_undefined_si256(), (__mmask16)(-1), \ - (int)(R))) - -#define _mm256_mask_cvt_roundph_epi16(W, U, A, R) \ - ((__m256i)__builtin_ia32_vcvtph2w256_round_mask((__v16hf)(A), (__v16hi)(W), \ - (__mmask16)(U), (int)(R))) - -#define _mm256_maskz_cvt_roundph_epi16(U, A, R) \ - ((__m256i)__builtin_ia32_vcvtph2w256_round_mask( \ - (__v16hf)(A), (__v16hi)_mm256_setzero_si256(), (__mmask16)(U), \ - (int)(R))) - -#define _mm256_cvt_roundps_epi32(A, R) \ - ((__m256i)__builtin_ia32_vcvtps2dq256_round_mask( \ - (__v8sf)(__m256)(A), (__v8si)_mm256_setzero_si256(), (__mmask8)-1, \ - (int)(R))) - -#define _mm256_mask_cvt_roundps_epi32(W, U, A, R) \ - ((__m256i)__builtin_ia32_vcvtps2dq256_round_mask( \ - (__v8sf)(__m256)(A), (__v8si)(__m256i)(W), (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_cvt_roundps_epi32(U, A, R) \ - ((__m256i)__builtin_ia32_vcvtps2dq256_round_mask( \ - (__v8sf)(__m256)(A), (__v8si)_mm256_setzero_si256(), (__mmask8)(U), \ - (int)(R))) - -#define _mm256_cvt_roundps_pd(A, R) \ - ((__m256d)__builtin_ia32_vcvtps2pd256_round_mask( \ - (__v4sf)(__m128)(A), (__v4df)_mm256_undefined_pd(), (__mmask8)-1, \ - (int)(R))) - -#define _mm256_mask_cvt_roundps_pd(W, U, A, R) \ - ((__m256d)__builtin_ia32_vcvtps2pd256_round_mask( \ - (__v4sf)(__m128)(A), (__v4df)(__m256d)(W), (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_cvt_roundps_pd(U, A, R) \ - ((__m256d)__builtin_ia32_vcvtps2pd256_round_mask( \ - (__v4sf)(__m128)(A), (__v4df)_mm256_setzero_pd(), (__mmask8)(U), \ - (int)(R))) - -#define _mm256_cvt_roundps_ph(A, I) \ - ((__m128i)__builtin_ia32_vcvtps2ph256_mask((__v8sf)(__m256)(A), (int)(I), \ - (__v8hi)_mm_undefined_si128(), \ - (__mmask8)-1)) - -/* FIXME: We may use these way in future. -#define _mm256_cvt_roundps_ph(A, I) \ - ((__m128i)__builtin_ia32_vcvtps2ph256_round_mask( \ - (__v8sf)(__m256)(A), (int)(I), (__v8hi)_mm_undefined_si128(), \ - (__mmask8)-1)) -#define _mm256_mask_cvt_roundps_ph(U, W, A, I) \ - ((__m128i)__builtin_ia32_vcvtps2ph256_round_mask( \ - (__v8sf)(__m256)(A), (int)(I), (__v8hi)(__m128i)(U), (__mmask8)(W))) -#define _mm256_maskz_cvt_roundps_ph(W, A, I) \ - ((__m128i)__builtin_ia32_vcvtps2ph256_round_mask( \ - (__v8sf)(__m256)(A), (int)(I), (__v8hi)_mm_setzero_si128(), \ - (__mmask8)(W))) */ - -#define _mm256_cvtx_roundps_ph(A, R) \ - ((__m128h)__builtin_ia32_vcvtps2phx256_round_mask( \ - (__v8sf)(A), (__v8hf)_mm_undefined_ph(), (__mmask8)(-1), (int)(R))) - -#define _mm256_mask_cvtx_roundps_ph(W, U, A, R) \ - ((__m128h)__builtin_ia32_vcvtps2phx256_round_mask((__v8sf)(A), (__v8hf)(W), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_cvtx_roundps_ph(U, A, R) \ - ((__m128h)__builtin_ia32_vcvtps2phx256_round_mask( \ - (__v8sf)(A), (__v8hf)_mm_setzero_ph(), (__mmask8)(U), (int)(R))) - -#define _mm256_cvt_roundps_epi64(A, R) \ - ((__m256i)__builtin_ia32_vcvtps2qq256_round_mask( \ - (__v4sf)(__m128)(A), (__v4di)_mm256_setzero_si256(), (__mmask8)-1, \ - (int)(R))) - -#define _mm256_mask_cvt_roundps_epi64(W, U, A, R) \ - ((__m256i)__builtin_ia32_vcvtps2qq256_round_mask( \ - (__v4sf)(__m128)(A), (__v4di)(__m256i)(W), (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_cvt_roundps_epi64(U, A, R) \ - ((__m256i)__builtin_ia32_vcvtps2qq256_round_mask( \ - (__v4sf)(__m128)(A), (__v4di)_mm256_setzero_si256(), (__mmask8)(U), \ - (int)(R))) - -#define _mm256_cvt_roundps_epu32(A, R) \ - ((__m256i)__builtin_ia32_vcvtps2udq256_round_mask( \ - (__v8sf)(__m256)(A), (__v8su)_mm256_setzero_si256(), (__mmask8)-1, \ - (int)(R))) - -#define _mm256_mask_cvt_roundps_epu32(W, U, A, R) \ - ((__m256i)__builtin_ia32_vcvtps2udq256_round_mask( \ - (__v8sf)(__m256)(A), (__v8su)(__m256i)(W), (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_cvt_roundps_epu32(U, A, R) \ - ((__m256i)__builtin_ia32_vcvtps2udq256_round_mask( \ - (__v8sf)(__m256)(A), (__v8su)_mm256_setzero_si256(), (__mmask8)(U), \ - (int)(R))) - -#define _mm256_cvt_roundps_epu64(A, R) \ - ((__m256i)__builtin_ia32_vcvtps2uqq256_round_mask( \ - (__v4sf)(__m128)(A), (__v4du)_mm256_setzero_si256(), (__mmask8)-1, \ - (int)(R))) - -#define _mm256_mask_cvt_roundps_epu64(W, U, A, R) \ - ((__m256i)__builtin_ia32_vcvtps2uqq256_round_mask( \ - (__v4sf)(__m128)(A), (__v4du)(__m256i)(W), (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_cvt_roundps_epu64(U, A, R) \ - ((__m256i)__builtin_ia32_vcvtps2uqq256_round_mask( \ - (__v4sf)(__m128)(A), (__v4du)_mm256_setzero_si256(), (__mmask8)(U), \ - (int)(R))) - -#define _mm256_cvt_roundepi64_pd(A, R) \ - ((__m256d)__builtin_ia32_vcvtqq2pd256_round_mask( \ - (__v4di)(__m256i)(A), (__v4df)_mm256_setzero_pd(), (__mmask8)-1, \ - (int)(R))) - -#define _mm256_mask_cvt_roundepi64_pd(W, U, A, R) \ - ((__m256d)__builtin_ia32_vcvtqq2pd256_round_mask( \ - (__v4di)(__m256i)(A), (__v4df)(__m256d)(W), (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_cvt_roundepi64_pd(U, A, R) \ - ((__m256d)__builtin_ia32_vcvtqq2pd256_round_mask( \ - (__v4di)(__m256i)(A), (__v4df)_mm256_setzero_pd(), (__mmask8)(U), \ - (int)(R))) - -#define _mm256_cvt_roundepi64_ph(A, R) \ - ((__m128h)__builtin_ia32_vcvtqq2ph256_round_mask( \ - (__v4di)(A), (__v8hf)_mm_undefined_ph(), (__mmask8)(-1), (int)(R))) - -#define _mm256_mask_cvt_roundepi64_ph(W, U, A, R) \ - ((__m128h)__builtin_ia32_vcvtqq2ph256_round_mask((__v4di)(A), (__v8hf)(W), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_cvt_roundepi64_ph(U, A, R) \ - ((__m128h)__builtin_ia32_vcvtqq2ph256_round_mask( \ - (__v4di)(A), (__v8hf)_mm_setzero_ph(), (__mmask8)(U), (int)(R))) - -#define _mm256_cvt_roundepi64_ps(A, R) \ - ((__m128)__builtin_ia32_vcvtqq2ps256_round_mask( \ - (__v4di)(__m256i)(A), (__v4sf)_mm_setzero_ps(), (__mmask8)-1, (int)(R))) - -#define _mm256_mask_cvt_roundepi64_ps(W, U, A, R) \ - ((__m128)__builtin_ia32_vcvtqq2ps256_round_mask( \ - (__v4di)(__m256i)(A), (__v4sf)(__m128)(W), (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_cvt_roundepi64_ps(U, A, R) \ - ((__m128)__builtin_ia32_vcvtqq2ps256_round_mask((__v4di)(__m256i)(A), \ - (__v4sf)_mm_setzero_ps(), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_cvtt_roundpd_epi32(A, R) \ - ((__m128i)__builtin_ia32_vcvttpd2dq256_round_mask( \ - (__v4df)(__m256d)(A), (__v4si)_mm_setzero_si128(), (__mmask8)-1, \ - (int)(R))) - -#define _mm256_mask_cvtt_roundpd_epi32(W, U, A, R) \ - ((__m128i)__builtin_ia32_vcvttpd2dq256_round_mask( \ - (__v4df)(__m256d)(A), (__v4si)(__m128i)(W), (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_cvtt_roundpd_epi32(U, A, R) \ - ((__m128i)__builtin_ia32_vcvttpd2dq256_round_mask( \ - (__v4df)(__m256d)(A), (__v4si)_mm_setzero_si128(), (__mmask8)(U), \ - (int)(R))) - -#define _mm256_cvtt_roundpd_epi64(A, R) \ - ((__m256i)__builtin_ia32_vcvttpd2qq256_round_mask( \ - (__v4df)(__m256d)(A), (__v4di)_mm256_setzero_si256(), (__mmask8)-1, \ - (int)(R))) - -#define _mm256_mask_cvtt_roundpd_epi64(W, U, A, R) \ - ((__m256i)__builtin_ia32_vcvttpd2qq256_round_mask( \ - (__v4df)(__m256d)(A), (__v4di)(__m256i)(W), (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_cvtt_roundpd_epi64(U, A, R) \ - ((__m256i)__builtin_ia32_vcvttpd2qq256_round_mask( \ - (__v4df)(__m256d)(A), (__v4di)_mm256_setzero_si256(), (__mmask8)(U), \ - (int)(R))) - -#define _mm256_cvtt_roundpd_epu32(A, R) \ - ((__m128i)__builtin_ia32_vcvttpd2udq256_round_mask( \ - (__v4df)(__m256d)(A), (__v4su)_mm_setzero_si128(), (__mmask8)-1, \ - (int)(R))) - -#define _mm256_mask_cvtt_roundpd_epu32(W, U, A, R) \ - ((__m128i)__builtin_ia32_vcvttpd2udq256_round_mask( \ - (__v4df)(__m256d)(A), (__v4su)(__m128i)(W), (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_cvtt_roundpd_epu32(U, A, R) \ - ((__m128i)__builtin_ia32_vcvttpd2udq256_round_mask( \ - (__v4df)(__m256d)(A), (__v4su)_mm_setzero_si128(), (__mmask8)(U), \ - (int)(R))) - -#define _mm256_cvtt_roundpd_epu64(A, R) \ - ((__m256i)__builtin_ia32_vcvttpd2uqq256_round_mask( \ - (__v4df)(__m256d)(A), (__v4du)_mm256_setzero_si256(), (__mmask8)-1, \ - (int)(R))) - -#define _mm256_mask_cvtt_roundpd_epu64(W, U, A, R) \ - ((__m256i)__builtin_ia32_vcvttpd2uqq256_round_mask( \ - (__v4df)(__m256d)(A), (__v4du)(__m256i)(W), (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_cvtt_roundpd_epu64(U, A, R) \ - ((__m256i)__builtin_ia32_vcvttpd2uqq256_round_mask( \ - (__v4df)(__m256d)(A), (__v4du)_mm256_setzero_si256(), (__mmask8)(U), \ - (int)(R))) - -#define _mm256_cvtt_roundph_epi32(A, R) \ - ((__m256i)__builtin_ia32_vcvttph2dq256_round_mask( \ - (__v8hf)(A), (__v8si)_mm256_undefined_si256(), (__mmask8)(-1), \ - (int)(R))) - -#define _mm256_mask_cvtt_roundph_epi32(W, U, A, R) \ - ((__m256i)__builtin_ia32_vcvttph2dq256_round_mask((__v8hf)(A), (__v8si)(W), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_cvtt_roundph_epi32(U, A, R) \ - ((__m256i)__builtin_ia32_vcvttph2dq256_round_mask( \ - (__v8hf)(A), (__v8si)_mm256_setzero_si256(), (__mmask8)(U), (int)(R))) - -#define _mm256_cvtt_roundph_epi64(A, R) \ - ((__m256i)__builtin_ia32_vcvttph2qq256_round_mask( \ - (__v8hf)(A), (__v4di)_mm256_undefined_si256(), (__mmask8)(-1), \ - (int)(R))) - -#define _mm256_mask_cvtt_roundph_epi64(W, U, A, R) \ - ((__m256i)__builtin_ia32_vcvttph2qq256_round_mask((__v8hf)(A), (__v4di)(W), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_cvtt_roundph_epi64(U, A, R) \ - ((__m256i)__builtin_ia32_vcvttph2qq256_round_mask( \ - (__v8hf)(A), (__v4di)_mm256_setzero_si256(), (__mmask8)(U), (int)(R))) - -#define _mm256_cvtt_roundph_epu32(A, R) \ - ((__m256i)__builtin_ia32_vcvttph2udq256_round_mask( \ - (__v8hf)(A), (__v8su)_mm256_undefined_si256(), (__mmask8)(-1), \ - (int)(R))) - -#define _mm256_mask_cvtt_roundph_epu32(W, U, A, R) \ - ((__m256i)__builtin_ia32_vcvttph2udq256_round_mask((__v8hf)(A), (__v8su)(W), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_cvtt_roundph_epu32(U, A, R) \ - ((__m256i)__builtin_ia32_vcvttph2udq256_round_mask( \ - (__v8hf)(A), (__v8su)_mm256_setzero_si256(), (__mmask8)(U), (int)(R))) - -#define _mm256_cvtt_roundph_epu64(A, R) \ - ((__m256i)__builtin_ia32_vcvttph2uqq256_round_mask( \ - (__v8hf)(A), (__v4du)_mm256_undefined_si256(), (__mmask8)(-1), \ - (int)(R))) - -#define _mm256_mask_cvtt_roundph_epu64(W, U, A, R) \ - ((__m256i)__builtin_ia32_vcvttph2uqq256_round_mask((__v8hf)(A), (__v4du)(W), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_cvtt_roundph_epu64(U, A, R) \ - ((__m256i)__builtin_ia32_vcvttph2uqq256_round_mask( \ - (__v8hf)(A), (__v4du)_mm256_setzero_si256(), (__mmask8)(U), (int)(R))) - -#define _mm256_cvtt_roundph_epu16(A, R) \ - ((__m256i)__builtin_ia32_vcvttph2uw256_round_mask( \ - (__v16hf)(A), (__v16hu)_mm256_undefined_si256(), (__mmask16)(-1), \ - (int)(R))) - -#define _mm256_mask_cvtt_roundph_epu16(W, U, A, R) \ - ((__m256i)__builtin_ia32_vcvttph2uw256_round_mask( \ - (__v16hf)(A), (__v16hu)(W), (__mmask16)(U), (int)(R))) - -#define _mm256_maskz_cvtt_roundph_epu16(U, A, R) \ - ((__m256i)__builtin_ia32_vcvttph2uw256_round_mask( \ - (__v16hf)(A), (__v16hu)_mm256_setzero_si256(), (__mmask16)(U), \ - (int)(R))) - -#define _mm256_cvtt_roundph_epi16(A, R) \ - ((__m256i)__builtin_ia32_vcvttph2w256_round_mask( \ - (__v16hf)(A), (__v16hi)_mm256_undefined_si256(), (__mmask16)(-1), \ - (int)(R))) - -#define _mm256_mask_cvtt_roundph_epi16(W, U, A, R) \ - ((__m256i)__builtin_ia32_vcvttph2w256_round_mask((__v16hf)(A), (__v16hi)(W), \ - (__mmask16)(U), (int)(R))) - -#define _mm256_maskz_cvtt_roundph_epi16(U, A, R) \ - ((__m256i)__builtin_ia32_vcvttph2w256_round_mask( \ - (__v16hf)(A), (__v16hi)_mm256_setzero_si256(), (__mmask16)(U), \ - (int)(R))) - -#define _mm256_cvtt_roundps_epi32(A, R) \ - ((__m256i)__builtin_ia32_vcvttps2dq256_round_mask( \ - (__v8sf)(__m256)(A), (__v8si)_mm256_setzero_si256(), (__mmask8)-1, \ - (int)(R))) - -#define _mm256_mask_cvtt_roundps_epi32(W, U, A, R) \ - ((__m256i)__builtin_ia32_vcvttps2dq256_round_mask( \ - (__v8sf)(__m256)(A), (__v8si)(__m256i)(W), (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_cvtt_roundps_epi32(U, A, R) \ - ((__m256i)__builtin_ia32_vcvttps2dq256_round_mask( \ - (__v8sf)(__m256)(A), (__v8si)_mm256_setzero_si256(), (__mmask8)(U), \ - (int)(R))) - -#define _mm256_cvtt_roundps_epi64(A, R) \ - ((__m256i)__builtin_ia32_vcvttps2qq256_round_mask( \ - (__v4sf)(__m128)(A), (__v4di)_mm256_setzero_si256(), (__mmask8)-1, \ - (int)(R))) - -#define _mm256_mask_cvtt_roundps_epi64(W, U, A, R) \ - ((__m256i)__builtin_ia32_vcvttps2qq256_round_mask( \ - (__v4sf)(__m128)(A), (__v4di)(__m256i)(W), (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_cvtt_roundps_epi64(U, A, R) \ - ((__m256i)__builtin_ia32_vcvttps2qq256_round_mask( \ - (__v4sf)(__m128)(A), (__v4di)_mm256_setzero_si256(), (__mmask8)(U), \ - (int)(R))) - -#define _mm256_cvtt_roundps_epu32(A, R) \ - ((__m256i)__builtin_ia32_vcvttps2udq256_round_mask( \ - (__v8sf)(__m256)(A), (__v8su)_mm256_setzero_si256(), (__mmask8)-1, \ - (int)(R))) - -#define _mm256_mask_cvtt_roundps_epu32(W, U, A, R) \ - ((__m256i)__builtin_ia32_vcvttps2udq256_round_mask( \ - (__v8sf)(__m256)(A), (__v8su)(__m256i)(W), (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_cvtt_roundps_epu32(U, A, R) \ - ((__m256i)__builtin_ia32_vcvttps2udq256_round_mask( \ - (__v8sf)(__m256)(A), (__v8su)_mm256_setzero_si256(), (__mmask8)(U), \ - (int)(R))) - -#define _mm256_cvtt_roundps_epu64(A, R) \ - ((__m256i)__builtin_ia32_vcvttps2uqq256_round_mask( \ - (__v4sf)(__m128)(A), (__v4du)_mm256_setzero_si256(), (__mmask8)-1, \ - (int)(R))) - -#define _mm256_mask_cvtt_roundps_epu64(W, U, A, R) \ - ((__m256i)__builtin_ia32_vcvttps2uqq256_round_mask( \ - (__v4sf)(__m128)(A), (__v4du)(__m256i)(W), (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_cvtt_roundps_epu64(U, A, R) \ - ((__m256i)__builtin_ia32_vcvttps2uqq256_round_mask( \ - (__v4sf)(__m128)(A), (__v4du)_mm256_setzero_si256(), (__mmask8)(U), \ - (int)(R))) - -#define _mm256_cvt_roundepu32_ph(A, R) \ - ((__m128h)__builtin_ia32_vcvtudq2ph256_round_mask( \ - (__v8su)(A), (__v8hf)_mm_undefined_ph(), (__mmask8)(-1), (int)(R))) - -#define _mm256_mask_cvt_roundepu32_ph(W, U, A, R) \ - ((__m128h)__builtin_ia32_vcvtudq2ph256_round_mask((__v8su)(A), (__v8hf)(W), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_cvt_roundepu32_ph(U, A, R) \ - ((__m128h)__builtin_ia32_vcvtudq2ph256_round_mask( \ - (__v8su)(A), (__v8hf)_mm_setzero_ph(), (__mmask8)(U), (int)(R))) - -#define _mm256_cvt_roundepu32_ps(A, R) \ - ((__m256)__builtin_ia32_vcvtudq2ps256_round_mask( \ - (__v8su)(__m256i)(A), (__v8sf)_mm256_setzero_ps(), (__mmask8)-1, \ - (int)(R))) - -#define _mm256_mask_cvt_roundepu32_ps(W, U, A, R) \ - ((__m256)__builtin_ia32_vcvtudq2ps256_round_mask( \ - (__v8su)(__m256i)(A), (__v8sf)(__m256)(W), (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_cvt_roundepu32_ps(U, A, R) \ - ((__m256)__builtin_ia32_vcvtudq2ps256_round_mask( \ - (__v8su)(__m256i)(A), (__v8sf)_mm256_setzero_ps(), (__mmask8)(U), \ - (int)(R))) - -#define _mm256_cvt_roundepu64_pd(A, R) \ - ((__m256d)__builtin_ia32_vcvtuqq2pd256_round_mask( \ - (__v4du)(__m256i)(A), (__v4df)_mm256_setzero_pd(), (__mmask8)-1, \ - (int)(R))) - -#define _mm256_mask_cvt_roundepu64_pd(W, U, A, R) \ - ((__m256d)__builtin_ia32_vcvtuqq2pd256_round_mask( \ - (__v4du)(__m256i)(A), (__v4df)(__m256d)(W), (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_cvt_roundepu64_pd(U, A, R) \ - ((__m256d)__builtin_ia32_vcvtuqq2pd256_round_mask( \ - (__v4du)(__m256i)(A), (__v4df)_mm256_setzero_pd(), (__mmask8)(U), \ - (int)(R))) - -#define _mm256_cvt_roundepu64_ph(A, R) \ - ((__m128h)__builtin_ia32_vcvtuqq2ph256_round_mask( \ - (__v4du)(A), (__v8hf)_mm_undefined_ph(), (__mmask8)(-1), (int)(R))) - -#define _mm256_mask_cvt_roundepu64_ph(W, U, A, R) \ - ((__m128h)__builtin_ia32_vcvtuqq2ph256_round_mask((__v4du)(A), (__v8hf)(W), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_cvt_roundepu64_ph(U, A, R) \ - ((__m128h)__builtin_ia32_vcvtuqq2ph256_round_mask( \ - (__v4du)(A), (__v8hf)_mm_setzero_ph(), (__mmask8)(U), (int)(R))) - -#define _mm256_cvt_roundepu64_ps(A, R) \ - ((__m128)__builtin_ia32_vcvtuqq2ps256_round_mask( \ - (__v4du)(__m256i)(A), (__v4sf)_mm_setzero_ps(), (__mmask8)-1, (int)(R))) - -#define _mm256_mask_cvt_roundepu64_ps(W, U, A, R) \ - ((__m128)__builtin_ia32_vcvtuqq2ps256_round_mask( \ - (__v4du)(__m256i)(A), (__v4sf)(__m128)(W), (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_cvt_roundepu64_ps(U, A, R) \ - ((__m128)__builtin_ia32_vcvtuqq2ps256_round_mask((__v4du)(__m256i)(A), \ - (__v4sf)_mm_setzero_ps(), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_cvt_roundepu16_ph(A, R) \ - ((__m256h)__builtin_ia32_vcvtuw2ph256_round_mask( \ - (__v16hu)(A), (__v16hf)_mm256_undefined_ph(), (__mmask16)(-1), \ - (int)(R))) - -#define _mm256_mask_cvt_roundepu16_ph(W, U, A, R) \ - ((__m256h)__builtin_ia32_vcvtuw2ph256_round_mask((__v16hu)(A), (__v16hf)(W), \ - (__mmask16)(U), (int)(R))) - -#define _mm256_maskz_cvt_roundepu16_ph(U, A, R) \ - ((__m256h)__builtin_ia32_vcvtuw2ph256_round_mask( \ - (__v16hu)(A), (__v16hf)_mm256_setzero_ph(), (__mmask16)(U), (int)(R))) - -#define _mm256_cvt_roundepi16_ph(A, R) \ - ((__m256h)__builtin_ia32_vcvtw2ph256_round_mask( \ - (__v16hi)(A), (__v16hf)_mm256_undefined_ph(), (__mmask16)(-1), \ - (int)(R))) - -#define _mm256_mask_cvt_roundepi16_ph(W, U, A, R) \ - ((__m256h)__builtin_ia32_vcvtw2ph256_round_mask((__v16hi)(A), (__v16hf)(W), \ - (__mmask16)(U), (int)(R))) - -#define _mm256_maskz_cvt_roundepi16_ph(U, A, R) \ - ((__m256h)__builtin_ia32_vcvtw2ph256_round_mask( \ - (__v16hi)(A), (__v16hf)_mm256_setzero_ph(), (__mmask16)(U), (int)(R))) - -#define _mm256_div_round_pd(A, B, R) \ - ((__m256d)__builtin_ia32_vdivpd256_round((__v4df)(__m256d)(A), \ - (__v4df)(__m256d)(B), (int)(R))) - -#define _mm256_mask_div_round_pd(W, U, A, B, R) \ - ((__m256d)__builtin_ia32_selectpd_256( \ - (__mmask8)(U), (__v4df)_mm256_div_round_pd((A), (B), (R)), \ - (__v4df)(__m256d)(W))) - -#define _mm256_maskz_div_round_pd(U, A, B, R) \ - ((__m256d)__builtin_ia32_selectpd_256( \ - (__mmask8)(U), (__v4df)_mm256_div_round_pd((A), (B), (R)), \ - (__v4df)_mm256_setzero_pd())) - -#define _mm256_div_round_ph(A, B, R) \ - ((__m256h)__builtin_ia32_vdivph256_round((__v16hf)(__m256h)(A), \ - (__v16hf)(__m256h)(B), (int)(R))) - -#define _mm256_mask_div_round_ph(W, U, A, B, R) \ - ((__m256h)__builtin_ia32_selectph_256( \ - (__mmask16)(U), (__v16hf)_mm256_div_round_ph((A), (B), (R)), \ - (__v16hf)(__m256h)(W))) - -#define _mm256_maskz_div_round_ph(U, A, B, R) \ - ((__m256h)__builtin_ia32_selectph_256( \ - (__mmask16)(U), (__v16hf)_mm256_div_round_ph((A), (B), (R)), \ - (__v16hf)_mm256_setzero_ph())) - -#define _mm256_div_round_ps(A, B, R) \ - ((__m256)__builtin_ia32_vdivps256_round((__v8sf)(__m256)(A), \ - (__v8sf)(__m256)(B), (int)(R))) - -#define _mm256_mask_div_round_ps(W, U, A, B, R) \ - ((__m256)__builtin_ia32_selectps_256( \ - (__mmask8)(U), (__v8sf)_mm256_div_round_ps((A), (B), (R)), \ - (__v8sf)(__m256)(W))) - -#define _mm256_maskz_div_round_ps(U, A, B, R) \ - ((__m256)__builtin_ia32_selectps_256( \ - (__mmask8)(U), (__v8sf)_mm256_div_round_ps((A), (B), (R)), \ - (__v8sf)_mm256_setzero_ps())) - -#define _mm256_fcmadd_round_pch(A, B, C, R) \ - ((__m256h)__builtin_ia32_vfcmaddcph256_round_mask3( \ - (__v8sf)(__m256h)(A), (__v8sf)(__m256h)(B), (__v8sf)(__m256h)(C), \ - (__mmask8)-1, (int)(R))) - -#define _mm256_mask_fcmadd_round_pch(A, U, B, C, R) \ - ((__m256h)__builtin_ia32_vfcmaddcph256_round_mask( \ - (__v8sf)(__m256h)(A), (__v8sf)(__m256h)(B), (__v8sf)(__m256h)(C), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_mask3_fcmadd_round_pch(A, B, C, U, R) \ - ((__m256h)__builtin_ia32_vfcmaddcph256_round_mask3( \ - (__v8sf)(__m256h)(A), (__v8sf)(__m256h)(B), (__v8sf)(__m256h)(C), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_fcmadd_round_pch(U, A, B, C, R) \ - ((__m256h)__builtin_ia32_vfcmaddcph256_round_maskz( \ - (__v8sf)(__m256h)(A), (__v8sf)(__m256h)(B), (__v8sf)(__m256h)(C), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_cmul_round_pch(A, B, R) \ - ((__m256h)__builtin_ia32_vfcmulcph256_round_mask( \ - (__v8sf)(__m256h)(A), (__v8sf)(__m256h)(B), \ - (__v8sf)(__m256h)_mm256_undefined_ph(), (__mmask8)-1, (int)(R))) - -#define _mm256_mask_cmul_round_pch(W, U, A, B, R) \ - ((__m256h)__builtin_ia32_vfcmulcph256_round_mask( \ - (__v8sf)(__m256h)(A), (__v8sf)(__m256h)(B), (__v8sf)(__m256h)(W), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_cmul_round_pch(U, A, B, R) \ - ((__m256h)__builtin_ia32_vfcmulcph256_round_mask( \ - (__v8sf)(__m256h)(A), (__v8sf)(__m256h)(B), \ - (__v8sf)(__m256h)_mm256_setzero_ph(), (__mmask8)(U), (int)(R))) - -#define _mm256_fixupimm_round_pd(A, B, C, imm, R) \ - ((__m256d)__builtin_ia32_vfixupimmpd256_round_mask( \ - (__v4df)(__m256d)(A), (__v4df)(__m256d)(B), (__v4di)(__m256i)(C), \ - (int)(imm), (__mmask8)-1, (int)(R))) - -#define _mm256_mask_fixupimm_round_pd(A, U, B, C, imm, R) \ - ((__m256d)__builtin_ia32_vfixupimmpd256_round_mask( \ - (__v4df)(__m256d)(A), (__v4df)(__m256d)(B), (__v4di)(__m256i)(C), \ - (int)(imm), (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_fixupimm_round_pd(U, A, B, C, imm, R) \ - ((__m256d)__builtin_ia32_vfixupimmpd256_round_maskz( \ - (__v4df)(__m256d)(A), (__v4df)(__m256d)(B), (__v4di)(__m256i)(C), \ - (int)(imm), (__mmask8)(U), (int)(R))) - -#define _mm256_fixupimm_round_ps(A, B, C, imm, R) \ - ((__m256)__builtin_ia32_vfixupimmps256_round_mask( \ - (__v8sf)(__m256)(A), (__v8sf)(__m256)(B), (__v8si)(__m256i)(C), \ - (int)(imm), (__mmask8)-1, (int)(R))) - -#define _mm256_mask_fixupimm_round_ps(A, U, B, C, imm, R) \ - ((__m256)__builtin_ia32_vfixupimmps256_round_mask( \ - (__v8sf)(__m256)(A), (__v8sf)(__m256)(B), (__v8si)(__m256i)(C), \ - (int)(imm), (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_fixupimm_round_ps(U, A, B, C, imm, R) \ - ((__m256)__builtin_ia32_vfixupimmps256_round_maskz( \ - (__v8sf)(__m256)(A), (__v8sf)(__m256)(B), (__v8si)(__m256i)(C), \ - (int)(imm), (__mmask8)(U), (int)(R))) - -#define _mm256_fmadd_round_pd(A, B, C, R) \ - ((__m256d)__builtin_ia32_vfmaddpd256_round_mask( \ - (__v4df)(__m256d)(A), (__v4df)(__m256d)(B), (__v4df)(__m256d)(C), \ - (__mmask8)-1, (int)(R))) - -#define _mm256_mask_fmadd_round_pd(A, U, B, C, R) \ - ((__m256d)__builtin_ia32_vfmaddpd256_round_mask( \ - (__v4df)(__m256d)(A), (__v4df)(__m256d)(B), (__v4df)(__m256d)(C), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_mask3_fmadd_round_pd(A, B, C, U, R) \ - ((__m256d)__builtin_ia32_vfmaddpd256_round_mask3( \ - (__v4df)(__m256d)(A), (__v4df)(__m256d)(B), (__v4df)(__m256d)(C), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_fmadd_round_pd(U, A, B, C, R) \ - ((__m256d)__builtin_ia32_vfmaddpd256_round_maskz( \ - (__v4df)(__m256d)(A), (__v4df)(__m256d)(B), (__v4df)(__m256d)(C), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_fmsub_round_pd(A, B, C, R) \ - ((__m256d)__builtin_ia32_vfmaddpd256_round_mask( \ - (__v4df)(__m256d)(A), (__v4df)(__m256d)(B), -(__v4df)(__m256d)(C), \ - (__mmask8)-1, (int)(R))) - -#define _mm256_mask_fmsub_round_pd(A, U, B, C, R) \ - ((__m256d)__builtin_ia32_vfmaddpd256_round_mask( \ - (__v4df)(__m256d)(A), (__v4df)(__m256d)(B), -(__v4df)(__m256d)(C), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_fmsub_round_pd(U, A, B, C, R) \ - ((__m256d)__builtin_ia32_vfmaddpd256_round_maskz( \ - (__v4df)(__m256d)(A), (__v4df)(__m256d)(B), -(__v4df)(__m256d)(C), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_fnmadd_round_pd(A, B, C, R) \ - ((__m256d)__builtin_ia32_vfmaddpd256_round_mask( \ - -(__v4df)(__m256d)(A), (__v4df)(__m256d)(B), (__v4df)(__m256d)(C), \ - (__mmask8)-1, (int)(R))) - -#define _mm256_mask3_fnmadd_round_pd(A, B, C, U, R) \ - ((__m256d)__builtin_ia32_vfmaddpd256_round_mask3( \ - -(__v4df)(__m256d)(A), (__v4df)(__m256d)(B), (__v4df)(__m256d)(C), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_fnmadd_round_pd(U, A, B, C, R) \ - ((__m256d)__builtin_ia32_vfmaddpd256_round_maskz( \ - -(__v4df)(__m256d)(A), (__v4df)(__m256d)(B), (__v4df)(__m256d)(C), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_fnmsub_round_pd(A, B, C, R) \ - ((__m256d)__builtin_ia32_vfmaddpd256_round_mask( \ - -(__v4df)(__m256d)(A), (__v4df)(__m256d)(B), -(__v4df)(__m256d)(C), \ - (__mmask8)-1, (int)(R))) - -#define _mm256_maskz_fnmsub_round_pd(U, A, B, C, R) \ - ((__m256d)__builtin_ia32_vfmaddpd256_round_maskz( \ - -(__v4df)(__m256d)(A), (__v4df)(__m256d)(B), -(__v4df)(__m256d)(C), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_fmadd_round_ph(A, B, C, R) \ - ((__m256h)__builtin_ia32_vfmaddph256_round_mask( \ - (__v16hf)(__m256h)(A), (__v16hf)(__m256h)(B), (__v16hf)(__m256h)(C), \ - (__mmask16)-1, (int)(R))) - -#define _mm256_mask_fmadd_round_ph(A, U, B, C, R) \ - ((__m256h)__builtin_ia32_vfmaddph256_round_mask( \ - (__v16hf)(__m256h)(A), (__v16hf)(__m256h)(B), (__v16hf)(__m256h)(C), \ - (__mmask16)(U), (int)(R))) - -#define _mm256_mask3_fmadd_round_ph(A, B, C, U, R) \ - ((__m256h)__builtin_ia32_vfmaddph256_round_mask3( \ - (__v16hf)(__m256h)(A), (__v16hf)(__m256h)(B), (__v16hf)(__m256h)(C), \ - (__mmask16)(U), (int)(R))) - -#define _mm256_maskz_fmadd_round_ph(U, A, B, C, R) \ - ((__m256h)__builtin_ia32_vfmaddph256_round_maskz( \ - (__v16hf)(__m256h)(A), (__v16hf)(__m256h)(B), (__v16hf)(__m256h)(C), \ - (__mmask16)(U), (int)(R))) - -#define _mm256_fmsub_round_ph(A, B, C, R) \ - ((__m256h)__builtin_ia32_vfmaddph256_round_mask( \ - (__v16hf)(__m256h)(A), (__v16hf)(__m256h)(B), -(__v16hf)(__m256h)(C), \ - (__mmask16)-1, (int)(R))) - -#define _mm256_mask_fmsub_round_ph(A, U, B, C, R) \ - ((__m256h)__builtin_ia32_vfmaddph256_round_mask( \ - (__v16hf)(__m256h)(A), (__v16hf)(__m256h)(B), -(__v16hf)(__m256h)(C), \ - (__mmask16)(U), (int)(R))) - -#define _mm256_maskz_fmsub_round_ph(U, A, B, C, R) \ - ((__m256h)__builtin_ia32_vfmaddph256_round_maskz( \ - (__v16hf)(__m256h)(A), (__v16hf)(__m256h)(B), -(__v16hf)(__m256h)(C), \ - (__mmask16)(U), (int)(R))) - -#define _mm256_fnmadd_round_ph(A, B, C, R) \ - ((__m256h)__builtin_ia32_vfmaddph256_round_mask( \ - (__v16hf)(__m256h)(A), -(__v16hf)(__m256h)(B), (__v16hf)(__m256h)(C), \ - (__mmask16)-1, (int)(R))) - -#define _mm256_mask3_fnmadd_round_ph(A, B, C, U, R) \ - ((__m256h)__builtin_ia32_vfmaddph256_round_mask3( \ - -(__v16hf)(__m256h)(A), (__v16hf)(__m256h)(B), (__v16hf)(__m256h)(C), \ - (__mmask16)(U), (int)(R))) - -#define _mm256_maskz_fnmadd_round_ph(U, A, B, C, R) \ - ((__m256h)__builtin_ia32_vfmaddph256_round_maskz( \ - -(__v16hf)(__m256h)(A), (__v16hf)(__m256h)(B), (__v16hf)(__m256h)(C), \ - (__mmask16)(U), (int)(R))) - -#define _mm256_fnmsub_round_ph(A, B, C, R) \ - ((__m256h)__builtin_ia32_vfmaddph256_round_mask( \ - (__v16hf)(__m256h)(A), -(__v16hf)(__m256h)(B), -(__v16hf)(__m256h)(C), \ - (__mmask16)-1, (int)(R))) - -#define _mm256_maskz_fnmsub_round_ph(U, A, B, C, R) \ - ((__m256h)__builtin_ia32_vfmaddph256_round_maskz( \ - -(__v16hf)(__m256h)(A), (__v16hf)(__m256h)(B), -(__v16hf)(__m256h)(C), \ - (__mmask16)(U), (int)(R))) - -#define _mm256_fmadd_round_ps(A, B, C, R) \ - ((__m256)__builtin_ia32_vfmaddps256_round_mask( \ - (__v8sf)(__m256)(A), (__v8sf)(__m256)(B), (__v8sf)(__m256)(C), \ - (__mmask8)-1, (int)(R))) - -#define _mm256_mask_fmadd_round_ps(A, U, B, C, R) \ - ((__m256)__builtin_ia32_vfmaddps256_round_mask( \ - (__v8sf)(__m256)(A), (__v8sf)(__m256)(B), (__v8sf)(__m256)(C), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_mask3_fmadd_round_ps(A, B, C, U, R) \ - ((__m256)__builtin_ia32_vfmaddps256_round_mask3( \ - (__v8sf)(__m256)(A), (__v8sf)(__m256)(B), (__v8sf)(__m256)(C), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_fmadd_round_ps(U, A, B, C, R) \ - ((__m256)__builtin_ia32_vfmaddps256_round_maskz( \ - (__v8sf)(__m256)(A), (__v8sf)(__m256)(B), (__v8sf)(__m256)(C), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_fmsub_round_ps(A, B, C, R) \ - ((__m256)__builtin_ia32_vfmaddps256_round_mask( \ - (__v8sf)(__m256)(A), (__v8sf)(__m256)(B), -(__v8sf)(__m256)(C), \ - (__mmask8)-1, (int)(R))) - -#define _mm256_mask_fmsub_round_ps(A, U, B, C, R) \ - ((__m256)__builtin_ia32_vfmaddps256_round_mask( \ - (__v8sf)(__m256)(A), (__v8sf)(__m256)(B), -(__v8sf)(__m256)(C), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_fmsub_round_ps(U, A, B, C, R) \ - ((__m256)__builtin_ia32_vfmaddps256_round_maskz( \ - (__v8sf)(__m256)(A), (__v8sf)(__m256)(B), -(__v8sf)(__m256)(C), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_fnmadd_round_ps(A, B, C, R) \ - ((__m256)__builtin_ia32_vfmaddps256_round_mask( \ - (__v8sf)(__m256)(A), -(__v8sf)(__m256)(B), (__v8sf)(__m256)(C), \ - (__mmask8)-1, (int)(R))) - -#define _mm256_mask3_fnmadd_round_ps(A, B, C, U, R) \ - ((__m256)__builtin_ia32_vfmaddps256_round_mask3( \ - -(__v8sf)(__m256)(A), (__v8sf)(__m256)(B), (__v8sf)(__m256)(C), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_fnmadd_round_ps(U, A, B, C, R) \ - ((__m256)__builtin_ia32_vfmaddps256_round_maskz( \ - -(__v8sf)(__m256)(A), (__v8sf)(__m256)(B), (__v8sf)(__m256)(C), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_fnmsub_round_ps(A, B, C, R) \ - ((__m256)__builtin_ia32_vfmaddps256_round_mask( \ - (__v8sf)(__m256)(A), -(__v8sf)(__m256)(B), -(__v8sf)(__m256)(C), \ - (__mmask8)-1, (int)(R))) - -#define _mm256_maskz_fnmsub_round_ps(U, A, B, C, R) \ - ((__m256)__builtin_ia32_vfmaddps256_round_maskz( \ - -(__v8sf)(__m256)(A), (__v8sf)(__m256)(B), -(__v8sf)(__m256)(C), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_fmadd_round_pch(A, B, C, R) \ - ((__m256h)__builtin_ia32_vfmaddcph256_round_mask3( \ - (__v8sf)(__m256h)(A), (__v8sf)(__m256h)(B), (__v8sf)(__m256h)(C), \ - (__mmask8)-1, (int)(R))) - -#define _mm256_mask_fmadd_round_pch(A, U, B, C, R) \ - ((__m256h)__builtin_ia32_vfmaddcph256_round_mask( \ - (__v8sf)(__m256h)(A), (__v8sf)(__m256h)(B), (__v8sf)(__m256h)(C), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_mask3_fmadd_round_pch(A, B, C, U, R) \ - ((__m256h)__builtin_ia32_vfmaddcph256_round_mask3( \ - (__v8sf)(__m256h)(A), (__v8sf)(__m256h)(B), (__v8sf)(__m256h)(C), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_fmadd_round_pch(U, A, B, C, R) \ - ((__m256h)__builtin_ia32_vfmaddcph256_round_maskz( \ - (__v8sf)(__m256h)(A), (__v8sf)(__m256h)(B), (__v8sf)(__m256h)(C), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_fmaddsub_round_pd(A, B, C, R) \ - ((__m256d)__builtin_ia32_vfmaddsubpd256_round_mask( \ - (__v4df)(__m256d)(A), (__v4df)(__m256d)(B), (__v4df)(__m256d)(C), \ - (__mmask8)-1, (int)(R))) - -#define _mm256_mask_fmaddsub_round_pd(A, U, B, C, R) \ - ((__m256d)__builtin_ia32_vfmaddsubpd256_round_mask( \ - (__v4df)(__m256d)(A), (__v4df)(__m256d)(B), (__v4df)(__m256d)(C), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_mask3_fmaddsub_round_pd(A, B, C, U, R) \ - ((__m256d)__builtin_ia32_vfmaddsubpd256_round_mask3( \ - (__v4df)(__m256d)(A), (__v4df)(__m256d)(B), (__v4df)(__m256d)(C), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_fmaddsub_round_pd(U, A, B, C, R) \ - ((__m256d)__builtin_ia32_vfmaddsubpd256_round_maskz( \ - (__v4df)(__m256d)(A), (__v4df)(__m256d)(B), (__v4df)(__m256d)(C), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_fmsubadd_round_pd(A, B, C, R) \ - ((__m256d)__builtin_ia32_vfmaddsubpd256_round_mask( \ - (__v4df)(__m256d)(A), (__v4df)(__m256d)(B), -(__v4df)(__m256d)(C), \ - (__mmask8)-1, (int)(R))) - -#define _mm256_mask_fmsubadd_round_pd(A, U, B, C, R) \ - ((__m256d)__builtin_ia32_vfmaddsubpd256_round_mask( \ - (__v4df)(__m256d)(A), (__v4df)(__m256d)(B), -(__v4df)(__m256d)(C), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_fmsubadd_round_pd(U, A, B, C, R) \ - ((__m256d)__builtin_ia32_vfmaddsubpd256_round_maskz( \ - (__v4df)(__m256d)(A), (__v4df)(__m256d)(B), -(__v4df)(__m256d)(C), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_fmaddsub_round_ph(A, B, C, R) \ - ((__m256h)__builtin_ia32_vfmaddsubph256_round_mask( \ - (__v16hf)(__m256h)(A), (__v16hf)(__m256h)(B), (__v16hf)(__m256h)(C), \ - (__mmask16)-1, (int)(R))) - -#define _mm256_mask_fmaddsub_round_ph(A, U, B, C, R) \ - ((__m256h)__builtin_ia32_vfmaddsubph256_round_mask( \ - (__v16hf)(__m256h)(A), (__v16hf)(__m256h)(B), (__v16hf)(__m256h)(C), \ - (__mmask16)(U), (int)(R))) - -#define _mm256_mask3_fmaddsub_round_ph(A, B, C, U, R) \ - ((__m256h)__builtin_ia32_vfmaddsubph256_round_mask3( \ - (__v16hf)(__m256h)(A), (__v16hf)(__m256h)(B), (__v16hf)(__m256h)(C), \ - (__mmask16)(U), (int)(R))) - -#define _mm256_maskz_fmaddsub_round_ph(U, A, B, C, R) \ - ((__m256h)__builtin_ia32_vfmaddsubph256_round_maskz( \ - (__v16hf)(__m256h)(A), (__v16hf)(__m256h)(B), (__v16hf)(__m256h)(C), \ - (__mmask16)(U), (int)(R))) - -#define _mm256_fmsubadd_round_ph(A, B, C, R) \ - ((__m256h)__builtin_ia32_vfmaddsubph256_round_mask( \ - (__v16hf)(__m256h)(A), (__v16hf)(__m256h)(B), -(__v16hf)(__m256h)(C), \ - (__mmask16)-1, (int)(R))) - -#define _mm256_mask_fmsubadd_round_ph(A, U, B, C, R) \ - ((__m256h)__builtin_ia32_vfmaddsubph256_round_mask( \ - (__v16hf)(__m256h)(A), (__v16hf)(__m256h)(B), -(__v16hf)(__m256h)(C), \ - (__mmask16)(U), (int)(R))) - -#define _mm256_maskz_fmsubadd_round_ph(U, A, B, C, R) \ - ((__m256h)__builtin_ia32_vfmaddsubph256_round_maskz( \ - (__v16hf)(__m256h)(A), (__v16hf)(__m256h)(B), -(__v16hf)(__m256h)(C), \ - (__mmask16)(U), (int)(R))) - -#define _mm256_fmaddsub_round_ps(A, B, C, R) \ - ((__m256)__builtin_ia32_vfmaddsubps256_round_mask( \ - (__v8sf)(__m256)(A), (__v8sf)(__m256)(B), (__v8sf)(__m256)(C), \ - (__mmask8)-1, (int)(R))) - -#define _mm256_mask_fmaddsub_round_ps(A, U, B, C, R) \ - ((__m256)__builtin_ia32_vfmaddsubps256_round_mask( \ - (__v8sf)(__m256)(A), (__v8sf)(__m256)(B), (__v8sf)(__m256)(C), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_mask3_fmaddsub_round_ps(A, B, C, U, R) \ - ((__m256)__builtin_ia32_vfmaddsubps256_round_mask3( \ - (__v8sf)(__m256)(A), (__v8sf)(__m256)(B), (__v8sf)(__m256)(C), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_fmaddsub_round_ps(U, A, B, C, R) \ - ((__m256)__builtin_ia32_vfmaddsubps256_round_maskz( \ - (__v8sf)(__m256)(A), (__v8sf)(__m256)(B), (__v8sf)(__m256)(C), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_fmsubadd_round_ps(A, B, C, R) \ - ((__m256)__builtin_ia32_vfmaddsubps256_round_mask( \ - (__v8sf)(__m256)(A), (__v8sf)(__m256)(B), -(__v8sf)(__m256)(C), \ - (__mmask8)-1, (int)(R))) - -#define _mm256_mask_fmsubadd_round_ps(A, U, B, C, R) \ - ((__m256)__builtin_ia32_vfmaddsubps256_round_mask( \ - (__v8sf)(__m256)(A), (__v8sf)(__m256)(B), -(__v8sf)(__m256)(C), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_fmsubadd_round_ps(U, A, B, C, R) \ - ((__m256)__builtin_ia32_vfmaddsubps256_round_maskz( \ - (__v8sf)(__m256)(A), (__v8sf)(__m256)(B), -(__v8sf)(__m256)(C), \ - (__mmask8)(U), (int)(R))) -#define _mm256_mask3_fmsub_round_pd(A, B, C, U, R) \ - ((__m256d)__builtin_ia32_vfmsubpd256_round_mask3( \ - (__v4df)(__m256d)(A), (__v4df)(__m256d)(B), (__v4df)(__m256d)(C), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_mask3_fmsubadd_round_pd(A, B, C, U, R) \ - ((__m256d)__builtin_ia32_vfmsubaddpd256_round_mask3( \ - (__v4df)(__m256d)(A), (__v4df)(__m256d)(B), (__v4df)(__m256d)(C), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_mask_fnmadd_round_pd(A, U, B, C, R) \ - ((__m256d)__builtin_ia32_vfmaddpd256_round_mask( \ - (__v4df)(__m256d)(A), -(__v4df)(__m256d)(B), (__v4df)(__m256d)(C), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_mask_fnmsub_round_pd(A, U, B, C, R) \ - ((__m256d)__builtin_ia32_vfmaddpd256_round_mask( \ - (__v4df)(__m256d)(A), -(__v4df)(__m256d)(B), -(__v4df)(__m256d)(C), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_mask3_fnmsub_round_pd(A, B, C, U, R) \ - ((__m256d)__builtin_ia32_vfmsubpd256_round_mask3( \ - -(__v4df)(__m256d)(A), (__v4df)(__m256d)(B), (__v4df)(__m256d)(C), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_mask3_fmsub_round_ph(A, B, C, U, R) \ - ((__m256h)__builtin_ia32_vfmsubph256_round_mask3( \ - (__v16hf)(__m256h)(A), (__v16hf)(__m256h)(B), (__v16hf)(__m256h)(C), \ - (__mmask16)(U), (int)(R))) - -#define _mm256_mask3_fmsubadd_round_ph(A, B, C, U, R) \ - ((__m256h)__builtin_ia32_vfmsubaddph256_round_mask3( \ - (__v16hf)(__m256h)(A), (__v16hf)(__m256h)(B), (__v16hf)(__m256h)(C), \ - (__mmask16)(U), (int)(R))) - -#define _mm256_mask_fnmadd_round_ph(A, U, B, C, R) \ - ((__m256h)__builtin_ia32_vfmaddph256_round_mask( \ - (__v16hf)(__m256h)(A), -(__v16hf)(__m256h)(B), (__v16hf)(__m256h)(C), \ - (__mmask16)(U), (int)(R))) - -#define _mm256_mask_fnmsub_round_ph(A, U, B, C, R) \ - ((__m256h)__builtin_ia32_vfmaddph256_round_mask( \ - (__v16hf)(__m256h)(A), -(__v16hf)(__m256h)(B), -(__v16hf)(__m256h)(C), \ - (__mmask16)(U), (int)(R))) - -#define _mm256_mask3_fnmsub_round_ph(A, B, C, U, R) \ - ((__m256h)__builtin_ia32_vfmsubph256_round_mask3( \ - -(__v16hf)(__m256h)(A), (__v16hf)(__m256h)(B), (__v16hf)(__m256h)(C), \ - (__mmask16)(U), (int)(R))) - -#define _mm256_mask3_fmsub_round_ps(A, B, C, U, R) \ - ((__m256)__builtin_ia32_vfmsubps256_round_mask3( \ - (__v8sf)(__m256)(A), (__v8sf)(__m256)(B), (__v8sf)(__m256)(C), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_mask3_fmsubadd_round_ps(A, B, C, U, R) \ - ((__m256)__builtin_ia32_vfmsubaddps256_round_mask3( \ - (__v8sf)(__m256)(A), (__v8sf)(__m256)(B), (__v8sf)(__m256)(C), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_mask_fnmadd_round_ps(A, U, B, C, R) \ - ((__m256)__builtin_ia32_vfmaddps256_round_mask( \ - (__v8sf)(__m256)(A), -(__v8sf)(__m256)(B), (__v8sf)(__m256)(C), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_mask_fnmsub_round_ps(A, U, B, C, R) \ - ((__m256)__builtin_ia32_vfmaddps256_round_mask( \ - (__v8sf)(__m256)(A), -(__v8sf)(__m256)(B), -(__v8sf)(__m256)(C), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_mask3_fnmsub_round_ps(A, B, C, U, R) \ - ((__m256)__builtin_ia32_vfmsubps256_round_mask3( \ - -(__v8sf)(__m256)(A), (__v8sf)(__m256)(B), (__v8sf)(__m256)(C), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_mul_round_pch(A, B, R) \ - ((__m256h)__builtin_ia32_vfmulcph256_round_mask( \ - (__v8sf)(__m256h)(A), (__v8sf)(__m256h)(B), \ - (__v8sf)(__m256h)_mm256_undefined_ph(), (__mmask8)-1, (int)(R))) - -#define _mm256_mask_mul_round_pch(W, U, A, B, R) \ - ((__m256h)__builtin_ia32_vfmulcph256_round_mask( \ - (__v8sf)(__m256h)(A), (__v8sf)(__m256h)(B), (__v8sf)(__m256h)(W), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_mul_round_pch(U, A, B, R) \ - ((__m256h)__builtin_ia32_vfmulcph256_round_mask( \ - (__v8sf)(__m256h)(A), (__v8sf)(__m256h)(B), \ - (__v8sf)(__m256h)_mm256_setzero_ph(), (__mmask8)(U), (int)(R))) - -#define _mm256_getexp_round_pd(A, R) \ - ((__m256d)__builtin_ia32_vgetexppd256_round_mask( \ - (__v4df)(__m256d)(A), (__v4df)_mm256_undefined_pd(), (__mmask8)-1, \ - (int)(R))) - -#define _mm256_mask_getexp_round_pd(W, U, A, R) \ - ((__m256d)__builtin_ia32_vgetexppd256_round_mask( \ - (__v4df)(__m256d)(A), (__v4df)(__m256d)(W), (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_getexp_round_pd(U, A, R) \ - ((__m256d)__builtin_ia32_vgetexppd256_round_mask( \ - (__v4df)(__m256d)(A), (__v4df)_mm256_setzero_pd(), (__mmask8)(U), \ - (int)(R))) - -#define _mm256_getexp_round_ph(A, R) \ - ((__m256h)__builtin_ia32_vgetexpph256_round_mask( \ - (__v16hf)(__m256h)(A), (__v16hf)_mm256_undefined_ph(), (__mmask16)-1, \ - (int)(R))) - -#define _mm256_mask_getexp_round_ph(W, U, A, R) \ - ((__m256h)__builtin_ia32_vgetexpph256_round_mask( \ - (__v16hf)(__m256h)(A), (__v16hf)(__m256h)(W), (__mmask16)(U), (int)(R))) - -#define _mm256_maskz_getexp_round_ph(U, A, R) \ - ((__m256h)__builtin_ia32_vgetexpph256_round_mask( \ - (__v16hf)(__m256h)(A), (__v16hf)_mm256_setzero_ph(), (__mmask16)(U), \ - (int)(R))) - -#define _mm256_getexp_round_ps(A, R) \ - ((__m256)__builtin_ia32_vgetexpps256_round_mask( \ - (__v8sf)(__m256)(A), (__v8sf)_mm256_undefined_ps(), (__mmask8)-1, \ - (int)(R))) - -#define _mm256_mask_getexp_round_ps(W, U, A, R) \ - ((__m256)__builtin_ia32_vgetexpps256_round_mask( \ - (__v8sf)(__m256)(A), (__v8sf)(__m256)(W), (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_getexp_round_ps(U, A, R) \ - ((__m256)__builtin_ia32_vgetexpps256_round_mask((__v8sf)(__m256)(A), \ - (__v8sf)_mm256_setzero_ps(), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_getmant_round_pd(A, B, C, R) \ - ((__m256d)__builtin_ia32_vgetmantpd256_round_mask( \ - (__v4df)(__m256d)(A), (int)(((C) << 2) | (B)), \ - (__v4df)_mm256_undefined_pd(), (__mmask8)-1, (int)(R))) - -#define _mm256_mask_getmant_round_pd(W, U, A, B, C, R) \ - ((__m256d)__builtin_ia32_vgetmantpd256_round_mask( \ - (__v4df)(__m256d)(A), (int)(((C) << 2) | (B)), (__v4df)(__m256d)(W), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_getmant_round_pd(U, A, B, C, R) \ - ((__m256d)__builtin_ia32_vgetmantpd256_round_mask( \ - (__v4df)(__m256d)(A), (int)(((C) << 2) | (B)), \ - (__v4df)_mm256_setzero_pd(), (__mmask8)(U), (int)(R))) - -#define _mm256_getmant_round_ph(A, B, C, R) \ - ((__m256h)__builtin_ia32_vgetmantph256_round_mask( \ - (__v16hf)(__m256h)(A), (int)(((C) << 2) | (B)), \ - (__v16hf)_mm256_undefined_ph(), (__mmask16)-1, (int)(R))) - -#define _mm256_mask_getmant_round_ph(W, U, A, B, C, R) \ - ((__m256h)__builtin_ia32_vgetmantph256_round_mask( \ - (__v16hf)(__m256h)(A), (int)(((C) << 2) | (B)), (__v16hf)(__m256h)(W), \ - (__mmask16)(U), (int)(R))) - -#define _mm256_maskz_getmant_round_ph(U, A, B, C, R) \ - ((__m256h)__builtin_ia32_vgetmantph256_round_mask( \ - (__v16hf)(__m256h)(A), (int)(((C) << 2) | (B)), \ - (__v16hf)_mm256_setzero_ph(), (__mmask16)(U), (int)(R))) - -#define _mm256_getmant_round_ps(A, B, C, R) \ - ((__m256)__builtin_ia32_vgetmantps256_round_mask( \ - (__v8sf)(__m256)(A), (int)(((C) << 2) | (B)), \ - (__v8sf)_mm256_undefined_ps(), (__mmask8)-1, (int)(R))) - -#define _mm256_mask_getmant_round_ps(W, U, A, B, C, R) \ - ((__m256)__builtin_ia32_vgetmantps256_round_mask( \ - (__v8sf)(__m256)(A), (int)(((C) << 2) | (B)), (__v8sf)(__m256)(W), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_getmant_round_ps(U, A, B, C, R) \ - ((__m256)__builtin_ia32_vgetmantps256_round_mask( \ - (__v8sf)(__m256)(A), (int)(((C) << 2) | (B)), \ - (__v8sf)_mm256_setzero_ps(), (__mmask8)(U), (int)(R))) - -#define _mm256_max_round_pd(A, B, R) \ - ((__m256d)__builtin_ia32_vmaxpd256_round((__v4df)(__m256d)(A), \ - (__v4df)(__m256d)(B), (int)(R))) - -#define _mm256_mask_max_round_pd(W, U, A, B, R) \ - ((__m256d)__builtin_ia32_selectpd_256( \ - (__mmask8)(U), (__v4df)_mm256_max_round_pd((A), (B), (R)), \ - (__v4df)(__m256d)(W))) - -#define _mm256_maskz_max_round_pd(U, A, B, R) \ - ((__m256d)__builtin_ia32_selectpd_256( \ - (__mmask8)(U), (__v4df)_mm256_max_round_pd((A), (B), (R)), \ - (__v4df)_mm256_setzero_pd())) - -#define _mm256_max_round_ph(A, B, R) \ - ((__m256h)__builtin_ia32_vmaxph256_round((__v16hf)(__m256h)(A), \ - (__v16hf)(__m256h)(B), (int)(R))) - -#define _mm256_mask_max_round_ph(W, U, A, B, R) \ - ((__m256h)__builtin_ia32_selectph_256( \ - (__mmask16)(U), (__v16hf)_mm256_max_round_ph((A), (B), (R)), \ - (__v16hf)(__m256h)(W))) - -#define _mm256_maskz_max_round_ph(U, A, B, R) \ - ((__m256h)__builtin_ia32_selectph_256( \ - (__mmask16)(U), (__v16hf)_mm256_max_round_ph((A), (B), (R)), \ - (__v16hf)_mm256_setzero_ph())) - -#define _mm256_max_round_ps(A, B, R) \ - ((__m256)__builtin_ia32_vmaxps256_round((__v8sf)(__m256)(A), \ - (__v8sf)(__m256)(B), (int)(R))) - -#define _mm256_mask_max_round_ps(W, U, A, B, R) \ - ((__m256)__builtin_ia32_selectps_256( \ - (__mmask8)(U), (__v8sf)_mm256_max_round_ps((A), (B), (R)), \ - (__v8sf)(__m256)(W))) - -#define _mm256_maskz_max_round_ps(U, A, B, R) \ - ((__m256)__builtin_ia32_selectps_256( \ - (__mmask8)(U), (__v8sf)_mm256_max_round_ps((A), (B), (R)), \ - (__v8sf)_mm256_setzero_ps())) - -#define _mm256_min_round_pd(A, B, R) \ - ((__m256d)__builtin_ia32_vminpd256_round((__v4df)(__m256d)(A), \ - (__v4df)(__m256d)(B), (int)(R))) - -#define _mm256_mask_min_round_pd(W, U, A, B, R) \ - ((__m256d)__builtin_ia32_selectpd_256( \ - (__mmask8)(U), (__v4df)_mm256_min_round_pd((A), (B), (R)), \ - (__v4df)(__m256d)(W))) - -#define _mm256_maskz_min_round_pd(U, A, B, R) \ - ((__m256d)__builtin_ia32_selectpd_256( \ - (__mmask8)(U), (__v4df)_mm256_min_round_pd((A), (B), (R)), \ - (__v4df)_mm256_setzero_pd())) - -#define _mm256_min_round_ph(A, B, R) \ - ((__m256h)__builtin_ia32_vminph256_round((__v16hf)(__m256h)(A), \ - (__v16hf)(__m256h)(B), (int)(R))) - -#define _mm256_mask_min_round_ph(W, U, A, B, R) \ - ((__m256h)__builtin_ia32_selectph_256( \ - (__mmask16)(U), (__v16hf)_mm256_min_round_ph((A), (B), (R)), \ - (__v16hf)(__m256h)(W))) - -#define _mm256_maskz_min_round_ph(U, A, B, R) \ - ((__m256h)__builtin_ia32_selectph_256( \ - (__mmask16)(U), (__v16hf)_mm256_min_round_ph((A), (B), (R)), \ - (__v16hf)_mm256_setzero_ph())) - -#define _mm256_min_round_ps(A, B, R) \ - ((__m256)__builtin_ia32_vminps256_round((__v8sf)(__m256)(A), \ - (__v8sf)(__m256)(B), (int)(R))) - -#define _mm256_mask_min_round_ps(W, U, A, B, R) \ - ((__m256)__builtin_ia32_selectps_256( \ - (__mmask8)(U), (__v8sf)_mm256_min_round_ps((A), (B), (R)), \ - (__v8sf)(__m256)(W))) - -#define _mm256_maskz_min_round_ps(U, A, B, R) \ - ((__m256)__builtin_ia32_selectps_256( \ - (__mmask8)(U), (__v8sf)_mm256_min_round_ps((A), (B), (R)), \ - (__v8sf)_mm256_setzero_ps())) - -#define _mm256_mul_round_pd(A, B, R) \ - ((__m256d)__builtin_ia32_vmulpd256_round((__v4df)(__m256d)(A), \ - (__v4df)(__m256d)(B), (int)(R))) - -#define _mm256_mask_mul_round_pd(W, U, A, B, R) \ - ((__m256d)__builtin_ia32_selectpd_256( \ - (__mmask8)(U), (__v4df)_mm256_mul_round_pd((A), (B), (R)), \ - (__v4df)(__m256d)(W))) - -#define _mm256_maskz_mul_round_pd(U, A, B, R) \ - ((__m256d)__builtin_ia32_selectpd_256( \ - (__mmask8)(U), (__v4df)_mm256_mul_round_pd((A), (B), (R)), \ - (__v4df)_mm256_setzero_pd())) - -#define _mm256_mul_round_ph(A, B, R) \ - ((__m256h)__builtin_ia32_vmulph256_round((__v16hf)(__m256h)(A), \ - (__v16hf)(__m256h)(B), (int)(R))) - -#define _mm256_mask_mul_round_ph(W, U, A, B, R) \ - ((__m256h)__builtin_ia32_selectph_256( \ - (__mmask16)(U), (__v16hf)_mm256_mul_round_ph((A), (B), (R)), \ - (__v16hf)(__m256h)(W))) - -#define _mm256_maskz_mul_round_ph(U, A, B, R) \ - ((__m256h)__builtin_ia32_selectph_256( \ - (__mmask16)(U), (__v16hf)_mm256_mul_round_ph((A), (B), (R)), \ - (__v16hf)_mm256_setzero_ph())) - -#define _mm256_mul_round_ps(A, B, R) \ - ((__m256)__builtin_ia32_vmulps256_round((__v8sf)(__m256)(A), \ - (__v8sf)(__m256)(B), (int)(R))) - -#define _mm256_mask_mul_round_ps(W, U, A, B, R) \ - ((__m256)__builtin_ia32_selectps_256( \ - (__mmask8)(U), (__v8sf)_mm256_mul_round_ps((A), (B), (R)), \ - (__v8sf)(__m256)(W))) - -#define _mm256_maskz_mul_round_ps(U, A, B, R) \ - ((__m256)__builtin_ia32_selectps_256( \ - (__mmask8)(U), (__v8sf)_mm256_mul_round_ps((A), (B), (R)), \ - (__v8sf)_mm256_setzero_ps())) - -#define _mm256_range_round_pd(A, B, C, R) \ - ((__m256d)__builtin_ia32_vrangepd256_round_mask( \ - (__v4df)(__m256d)(A), (__v4df)(__m256d)(B), (int)(C), \ - (__v4df)_mm256_setzero_pd(), (__mmask8)-1, (int)(R))) - -#define _mm256_mask_range_round_pd(W, U, A, B, C, R) \ - ((__m256d)__builtin_ia32_vrangepd256_round_mask( \ - (__v4df)(__m256d)(A), (__v4df)(__m256d)(B), (int)(C), \ - (__v4df)(__m256d)(W), (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_range_round_pd(U, A, B, C, R) \ - ((__m256d)__builtin_ia32_vrangepd256_round_mask( \ - (__v4df)(__m256d)(A), (__v4df)(__m256d)(B), (int)(C), \ - (__v4df)_mm256_setzero_pd(), (__mmask8)(U), (int)(R))) - -#define _mm256_range_round_ps(A, B, C, R) \ - ((__m256)__builtin_ia32_vrangeps256_round_mask( \ - (__v8sf)(__m256)(A), (__v8sf)(__m256)(B), (int)(C), \ - (__v8sf)_mm256_setzero_ps(), (__mmask8)-1, (int)(R))) - -#define _mm256_mask_range_round_ps(W, U, A, B, C, R) \ - ((__m256)__builtin_ia32_vrangeps256_round_mask( \ - (__v8sf)(__m256)(A), (__v8sf)(__m256)(B), (int)(C), (__v8sf)(__m256)(W), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_range_round_ps(U, A, B, C, R) \ - ((__m256)__builtin_ia32_vrangeps256_round_mask( \ - (__v8sf)(__m256)(A), (__v8sf)(__m256)(B), (int)(C), \ - (__v8sf)_mm256_setzero_ps(), (__mmask8)(U), (int)(R))) - -#define _mm256_reduce_round_pd(A, B, R) \ - ((__m256d)__builtin_ia32_vreducepd256_round_mask( \ - (__v4df)(__m256d)(A), (int)(B), (__v4df)_mm256_setzero_pd(), \ - (__mmask8)-1, (int)(R))) - -#define _mm256_mask_reduce_round_pd(W, U, A, B, R) \ - ((__m256d)__builtin_ia32_vreducepd256_round_mask( \ - (__v4df)(__m256d)(A), (int)(B), (__v4df)(__m256d)(W), (__mmask8)(U), \ - (int)(R))) - -#define _mm256_maskz_reduce_round_pd(U, A, B, R) \ - ((__m256d)__builtin_ia32_vreducepd256_round_mask( \ - (__v4df)(__m256d)(A), (int)(B), (__v4df)_mm256_setzero_pd(), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_mask_reduce_round_ph(W, U, A, imm, R) \ - ((__m256h)__builtin_ia32_vreduceph256_round_mask( \ - (__v16hf)(__m256h)(A), (int)(imm), (__v16hf)(__m256h)(W), \ - (__mmask16)(U), (int)(R))) - -#define _mm256_maskz_reduce_round_ph(U, A, imm, R) \ - ((__m256h)__builtin_ia32_vreduceph256_round_mask( \ - (__v16hf)(__m256h)(A), (int)(imm), (__v16hf)_mm256_setzero_ph(), \ - (__mmask16)(U), (int)(R))) - -#define _mm256_reduce_round_ph(A, imm, R) \ - ((__m256h)__builtin_ia32_vreduceph256_round_mask( \ - (__v16hf)(__m256h)(A), (int)(imm), (__v16hf)_mm256_undefined_ph(), \ - (__mmask16)-1, (int)(R))) - -#define _mm256_reduce_round_ps(A, B, R) \ - ((__m256)__builtin_ia32_vreduceps256_round_mask( \ - (__v8sf)(__m256)(A), (int)(B), (__v8sf)_mm256_setzero_ps(), \ - (__mmask8)-1, (int)(R))) - -#define _mm256_mask_reduce_round_ps(W, U, A, B, R) \ - ((__m256)__builtin_ia32_vreduceps256_round_mask( \ - (__v8sf)(__m256)(A), (int)(B), (__v8sf)(__m256)(W), (__mmask8)(U), \ - (int)(R))) - -#define _mm256_maskz_reduce_round_ps(U, A, B, R) \ - ((__m256)__builtin_ia32_vreduceps256_round_mask( \ - (__v8sf)(__m256)(A), (int)(B), (__v8sf)_mm256_setzero_ps(), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_roundscale_round_pd(A, imm, R) \ - ((__m256d)__builtin_ia32_vrndscalepd256_round_mask( \ - (__v4df)(__m256d)(A), (int)(imm), (__v4df)_mm256_undefined_pd(), \ - (__mmask8)-1, (int)(R))) - -#define _mm256_mask_roundscale_round_pd(A, B, C, imm, R) \ - ((__m256d)__builtin_ia32_vrndscalepd256_round_mask( \ - (__v4df)(__m256d)(C), (int)(imm), (__v4df)(__m256d)(A), (__mmask8)(B), \ - (int)(R))) - -#define _mm256_maskz_roundscale_round_pd(A, B, imm, R) \ - ((__m256d)__builtin_ia32_vrndscalepd256_round_mask( \ - (__v4df)(__m256d)(B), (int)(imm), (__v4df)_mm256_setzero_pd(), \ - (__mmask8)(A), (int)(R))) - -#define _mm256_roundscale_round_ph(A, imm, R) \ - ((__m256h)__builtin_ia32_vrndscaleph256_round_mask( \ - (__v16hf)(__m256h)(A), (int)(imm), (__v16hf)_mm256_undefined_ph(), \ - (__mmask16)-1, (int)(R))) - -#define _mm256_mask_roundscale_round_ph(A, B, C, imm, R) \ - ((__m256h)__builtin_ia32_vrndscaleph256_round_mask( \ - (__v16hf)(__m256h)(C), (int)(imm), (__v16hf)(__m256h)(A), \ - (__mmask16)(B), (int)(R))) - -#define _mm256_maskz_roundscale_round_ph(A, B, imm, R) \ - ((__m256h)__builtin_ia32_vrndscaleph256_round_mask( \ - (__v16hf)(__m256h)(B), (int)(imm), (__v16hf)_mm256_setzero_ph(), \ - (__mmask16)(A), (int)(R))) - -#define _mm256_roundscale_round_ps(A, imm, R) \ - ((__m256)__builtin_ia32_vrndscaleps256_round_mask( \ - (__v8sf)(__m256)(A), (int)(imm), (__v8sf)_mm256_undefined_ps(), \ - (__mmask8)-1, (int)(R))) - -#define _mm256_mask_roundscale_round_ps(A, B, C, imm, R) \ - ((__m256)__builtin_ia32_vrndscaleps256_round_mask( \ - (__v8sf)(__m256)(C), (int)(imm), (__v8sf)(__m256)(A), (__mmask8)(B), \ - (int)(R))) - -#define _mm256_maskz_roundscale_round_ps(A, B, imm, R) \ - ((__m256)__builtin_ia32_vrndscaleps256_round_mask( \ - (__v8sf)(__m256)(B), (int)(imm), (__v8sf)_mm256_setzero_ps(), \ - (__mmask8)(A), (int)(R))) - -#define _mm256_scalef_round_pd(A, B, R) \ - ((__m256d)__builtin_ia32_vscalefpd256_round_mask( \ - (__v4df)(__m256d)(A), (__v4df)(__m256d)(B), \ - (__v4df)_mm256_undefined_pd(), (__mmask8)-1, (int)(R))) - -#define _mm256_mask_scalef_round_pd(W, U, A, B, R) \ - ((__m256d)__builtin_ia32_vscalefpd256_round_mask( \ - (__v4df)(__m256d)(A), (__v4df)(__m256d)(B), (__v4df)(__m256d)(W), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_scalef_round_pd(U, A, B, R) \ - ((__m256d)__builtin_ia32_vscalefpd256_round_mask( \ - (__v4df)(__m256d)(A), (__v4df)(__m256d)(B), (__v4df)_mm256_setzero_pd(), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_scalef_round_ph(A, B, R) \ - ((__m256h)__builtin_ia32_vscalefph256_round_mask( \ - (__v16hf)(__m256h)(A), (__v16hf)(__m256h)(B), \ - (__v16hf)_mm256_undefined_ph(), (__mmask16)-1, (int)(R))) - -#define _mm256_mask_scalef_round_ph(W, U, A, B, R) \ - ((__m256h)__builtin_ia32_vscalefph256_round_mask( \ - (__v16hf)(__m256h)(A), (__v16hf)(__m256h)(B), (__v16hf)(__m256h)(W), \ - (__mmask16)(U), (int)(R))) - -#define _mm256_maskz_scalef_round_ph(U, A, B, R) \ - ((__m256h)__builtin_ia32_vscalefph256_round_mask( \ - (__v16hf)(__m256h)(A), (__v16hf)(__m256h)(B), \ - (__v16hf)_mm256_setzero_ph(), (__mmask16)(U), (int)(R))) - -#define _mm256_scalef_round_ps(A, B, R) \ - ((__m256)__builtin_ia32_vscalefps256_round_mask( \ - (__v8sf)(__m256)(A), (__v8sf)(__m256)(B), (__v8sf)_mm256_undefined_ps(), \ - (__mmask8)-1, (int)(R))) - -#define _mm256_mask_scalef_round_ps(W, U, A, B, R) \ - ((__m256)__builtin_ia32_vscalefps256_round_mask( \ - (__v8sf)(__m256)(A), (__v8sf)(__m256)(B), (__v8sf)(__m256)(W), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_maskz_scalef_round_ps(U, A, B, R) \ - ((__m256)__builtin_ia32_vscalefps256_round_mask( \ - (__v8sf)(__m256)(A), (__v8sf)(__m256)(B), (__v8sf)_mm256_setzero_ps(), \ - (__mmask8)(U), (int)(R))) - -#define _mm256_sqrt_round_pd(A, R) \ - ((__m256d)__builtin_ia32_vsqrtpd256_round((__v4df)(__m256d)(A), (int)(R))) - -#define _mm256_mask_sqrt_round_pd(W, U, A, R) \ - ((__m256d)__builtin_ia32_selectpd_256( \ - (__mmask8)(U), (__v4df)_mm256_sqrt_round_pd((A), (R)), \ - (__v4df)(__m256d)(W))) - -#define _mm256_maskz_sqrt_round_pd(U, A, R) \ - ((__m256d)__builtin_ia32_selectpd_256( \ - (__mmask8)(U), (__v4df)_mm256_sqrt_round_pd((A), (R)), \ - (__v4df)_mm256_setzero_pd())) - -#define _mm256_sqrt_round_ph(A, R) \ - ((__m256h)__builtin_ia32_vsqrtph256_round((__v16hf)(__m256h)(A), (int)(R))) - -#define _mm256_mask_sqrt_round_ph(W, U, A, R) \ - ((__m256h)__builtin_ia32_selectph_256( \ - (__mmask16)(U), (__v16hf)_mm256_sqrt_round_ph((A), (R)), \ - (__v16hf)(__m256h)(W))) - -#define _mm256_maskz_sqrt_round_ph(U, A, R) \ - ((__m256h)__builtin_ia32_selectph_256( \ - (__mmask16)(U), (__v16hf)_mm256_sqrt_round_ph((A), (R)), \ - (__v16hf)_mm256_setzero_ph())) - -#define _mm256_sqrt_round_ps(A, R) \ - ((__m256)__builtin_ia32_vsqrtps256_round((__v8sf)(__m256)(A), (int)(R))) - -#define _mm256_mask_sqrt_round_ps(W, U, A, R) \ - ((__m256)__builtin_ia32_selectps_256((__mmask8)(U), \ - (__v8sf)_mm256_sqrt_round_ps((A), (R)), \ - (__v8sf)(__m256)(W))) - -#define _mm256_maskz_sqrt_round_ps(U, A, R) \ - ((__m256)__builtin_ia32_selectps_256((__mmask8)(U), \ - (__v8sf)_mm256_sqrt_round_ps((A), (R)), \ - (__v8sf)_mm256_setzero_ps())) - -#define _mm256_sub_round_pd(A, B, R) \ - ((__m256d)__builtin_ia32_vsubpd256_round((__v4df)(__m256d)(A), \ - (__v4df)(__m256d)(B), (int)(R))) - -#define _mm256_mask_sub_round_pd(W, U, A, B, R) \ - ((__m256d)__builtin_ia32_selectpd_256( \ - (__mmask8)(U), (__v4df)_mm256_sub_round_pd((A), (B), (R)), \ - (__v4df)(__m256d)(W))) - -#define _mm256_maskz_sub_round_pd(U, A, B, R) \ - ((__m256d)__builtin_ia32_selectpd_256( \ - (__mmask8)(U), (__v4df)_mm256_sub_round_pd((A), (B), (R)), \ - (__v4df)_mm256_setzero_pd())) - -#define _mm256_sub_round_ph(A, B, R) \ - ((__m256h)__builtin_ia32_vsubph256_round((__v16hf)(__m256h)(A), \ - (__v16hf)(__m256h)(B), (int)(R))) - -#define _mm256_mask_sub_round_ph(W, U, A, B, R) \ - ((__m256h)__builtin_ia32_selectph_256( \ - (__mmask16)(U), (__v16hf)_mm256_sub_round_ph((A), (B), (R)), \ - (__v16hf)(__m256h)(W))) - -#define _mm256_maskz_sub_round_ph(U, A, B, R) \ - ((__m256h)__builtin_ia32_selectph_256( \ - (__mmask16)(U), (__v16hf)_mm256_sub_round_ph((A), (B), (R)), \ - (__v16hf)_mm256_setzero_ph())) - -#define _mm256_sub_round_ps(A, B, R) \ - ((__m256)__builtin_ia32_vsubps256_round((__v8sf)(__m256)(A), \ - (__v8sf)(__m256)(B), (int)(R))) - -#define _mm256_mask_sub_round_ps(W, U, A, B, R) \ - ((__m256)__builtin_ia32_selectps_256( \ - (__mmask8)(U), (__v8sf)_mm256_sub_round_ps((A), (B), (R)), \ - (__v8sf)(__m256)(W))) - -#define _mm256_maskz_sub_round_ps(U, A, B, R) \ - ((__m256)__builtin_ia32_selectps_256( \ - (__mmask8)(U), (__v8sf)_mm256_sub_round_ps((A), (B), (R)), \ - (__v8sf)_mm256_setzero_ps())) - #undef __DEFAULT_FN_ATTRS256 #undef __DEFAULT_FN_ATTRS128 diff --git a/clang/lib/Headers/avx10_2satcvtdsintrin.h b/clang/lib/Headers/avx10_2satcvtdsintrin.h index 59028436311e7..9124287487212 100644 --- a/clang/lib/Headers/avx10_2satcvtdsintrin.h +++ b/clang/lib/Headers/avx10_2satcvtdsintrin.h @@ -71,175 +71,138 @@ #endif /* __x86_64__ */ // 128 Bit : Double -> int -static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_cvttspd_epi32(__m128d __A) { +static __inline__ __m128i __DEFAULT_FN_ATTRS128 +_mm_cvtts_pd_epi32(__m128d __A) { return ((__m128i)__builtin_ia32_vcvttpd2dqs128_mask( (__v2df)__A, (__v4si)(__m128i)_mm_undefined_si128(), (__mmask8)(-1))); } static __inline__ __m128i __DEFAULT_FN_ATTRS128 -_mm_mask_cvttspd_epi32(__m128i __W, __mmask8 __U, __m128d __A) { +_mm_mask_cvtts_pd_epi32(__m128i __W, __mmask8 __U, __m128d __A) { return ((__m128i)__builtin_ia32_vcvttpd2dqs128_mask((__v2df)__A, (__v4si)__W, __U)); } static __inline__ __m128i __DEFAULT_FN_ATTRS128 -_mm_maskz_cvttspd_epi32(__mmask16 __U, __m128d __A) { +_mm_maskz_cvtts_pd_epi32(__mmask16 __U, __m128d __A) { return ((__m128i)__builtin_ia32_vcvttpd2dqs128_mask( (__v2df)__A, (__v4si)(__m128i)_mm_setzero_si128(), __U)); } // 256 Bit : Double -> int static __inline__ __m128i __DEFAULT_FN_ATTRS256 -_mm256_cvttspd_epi32(__m256d __A) { +_mm256_cvtts_pd_epi32(__m256d __A) { return ((__m128i)__builtin_ia32_vcvttpd2dqs256_round_mask( (__v4df)__A, (__v4si)_mm_undefined_si128(), (__mmask8)-1, _MM_FROUND_CUR_DIRECTION)); } static __inline__ __m128i __DEFAULT_FN_ATTRS256 -_mm256_mask_cvttspd_epi32(__m128i __W, __mmask8 __U, __m256d __A) { +_mm256_mask_cvtts_pd_epi32(__m128i __W, __mmask8 __U, __m256d __A) { return ((__m128i)__builtin_ia32_vcvttpd2dqs256_round_mask( (__v4df)__A, (__v4si)__W, __U, _MM_FROUND_CUR_DIRECTION)); } static __inline__ __m128i __DEFAULT_FN_ATTRS256 -_mm256_maskz_cvttspd_epi32(__mmask8 __U, __m256d __A) { +_mm256_maskz_cvtts_pd_epi32(__mmask8 __U, __m256d __A) { return ((__m128i)__builtin_ia32_vcvttpd2dqs256_round_mask( (__v4df)__A, (__v4si)_mm_setzero_si128(), __U, _MM_FROUND_CUR_DIRECTION)); } -#define _mm256_cvtts_roundpd_epi32(__A, __R) \ - ((__m128i)__builtin_ia32_vcvttpd2dqs256_round_mask( \ - (__v4df)(__m256d)__A, (__v4si)(__m128i)_mm_undefined_si128(), \ - (__mmask8) - 1, (int)(__R))) - -#define _mm256_mask_cvtts_roundpd_epi32(__W, __U, __A, __R) \ - ((__m128i)__builtin_ia32_vcvttpd2dqs256_round_mask( \ - (__v4df)(__m256d)__A, (__v4si)(__m128i)__W, (__mmask8)__U, (int)(__R))) - -#define _mm256_maskz_cvtts_roundpd_epi32(__U, __A, __R) \ - ((__m128i)__builtin_ia32_vcvttpd2dqs256_round_mask( \ - (__v4df)(__m256d)__A, (__v4si)(__m128i)_mm_setzero_si128(), \ - (__mmask8)__U, (int)(__R))) - // 128 Bit : Double -> uint -static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_cvttspd_epu32(__m128d __A) { +static __inline__ __m128i __DEFAULT_FN_ATTRS128 +_mm_cvtts_pd_epu32(__m128d __A) { return ((__m128i)__builtin_ia32_vcvttpd2udqs128_mask( (__v2df)__A, (__v4si)(__m128i)_mm_undefined_si128(), (__mmask8)(-1))); } static __inline__ __m128i __DEFAULT_FN_ATTRS128 -_mm_mask_cvttspd_epu32(__m128i __W, __mmask8 __U, __m128d __A) { +_mm_mask_cvtts_pd_epu32(__m128i __W, __mmask8 __U, __m128d __A) { return ((__m128i)__builtin_ia32_vcvttpd2udqs128_mask( (__v2df)__A, (__v4si)(__m128i)__W, (__mmask8)__U)); } static __inline__ __m128i __DEFAULT_FN_ATTRS128 -_mm_maskz_cvttspd_epu32(__mmask8 __U, __m128d __A) { +_mm_maskz_cvtts_pd_epu32(__mmask8 __U, __m128d __A) { return ((__m128i)__builtin_ia32_vcvttpd2udqs128_mask( (__v2df)__A, (__v4si)(__m128i)_mm_setzero_si128(), __U)); } // 256 Bit : Double -> uint static __inline__ __m128i __DEFAULT_FN_ATTRS256 -_mm256_cvttspd_epu32(__m256d __A) { +_mm256_cvtts_pd_epu32(__m256d __A) { return ((__m128i)__builtin_ia32_vcvttpd2udqs256_round_mask( (__v4df)__A, (__v4si)_mm_undefined_si128(), (__mmask8)-1, _MM_FROUND_CUR_DIRECTION)); } static __inline__ __m128i __DEFAULT_FN_ATTRS256 -_mm256_mask_cvttspd_epu32(__m128i __W, __mmask8 __U, __m256d __A) { +_mm256_mask_cvtts_pd_epu32(__m128i __W, __mmask8 __U, __m256d __A) { return ((__m128i)__builtin_ia32_vcvttpd2udqs256_round_mask( (__v4df)__A, (__v4si)__W, __U, _MM_FROUND_CUR_DIRECTION)); } static __inline__ __m128i __DEFAULT_FN_ATTRS256 -_mm256_maskz_cvttspd_epu32(__mmask8 __U, __m256d __A) { +_mm256_maskz_cvtts_pd_epu32(__mmask8 __U, __m256d __A) { return ((__m128i)__builtin_ia32_vcvttpd2udqs256_round_mask( (__v4df)__A, (__v4si)_mm_setzero_si128(), __U, _MM_FROUND_CUR_DIRECTION)); } -#define _mm256_cvtts_roundpd_epu32(__A, __R) \ - ((__m128i)__builtin_ia32_vcvttpd2udqs256_round_mask( \ - (__v4df)(__m256d)__A, (__v4si)(__m128i)_mm_undefined_si128(), \ - (__mmask8) - 1, (int)(__R))) - -#define _mm256_mask_cvtts_roundpd_epu32(__W, __U, __A, __R) \ - ((__m128i)__builtin_ia32_vcvttpd2udqs256_round_mask( \ - (__v4df)(__m256d)__A, (__v4si)(__m128i)__W, (__mmask8)__U, (int)(__R))) - -#define _mm256_maskz_cvtts_roundpd_epu32(__U, __A, __R) \ - ((__m128i)__builtin_ia32_vcvttpd2udqs256_round_mask( \ - (__v4df)(__m256d)__A, (__v4si)(__m128i)_mm_setzero_si128(), \ - (__mmask8)__U, (int)(__R))) - // 128 Bit : Double -> long -static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_cvttspd_epi64(__m128d __A) { +static __inline__ __m128i __DEFAULT_FN_ATTRS128 +_mm_cvtts_pd_epi64(__m128d __A) { return ((__m128i)__builtin_ia32_vcvttpd2qqs128_mask( (__v2df)__A, (__v2di)_mm_undefined_si128(), (__mmask8)-1)); } static __inline__ __m128i __DEFAULT_FN_ATTRS128 -_mm_mask_cvttspd_epi64(__m128i __W, __mmask8 __U, __m128d __A) { +_mm_mask_cvtts_pd_epi64(__m128i __W, __mmask8 __U, __m128d __A) { return ((__m128i)__builtin_ia32_vcvttpd2qqs128_mask((__v2df)__A, (__v2di)__W, (__mmask8)__U)); } static __inline__ __m128i __DEFAULT_FN_ATTRS128 -_mm_maskz_cvttspd_epi64(__mmask8 __U, __m128d __A) { +_mm_maskz_cvtts_pd_epi64(__mmask8 __U, __m128d __A) { return ((__m128i)__builtin_ia32_vcvttpd2qqs128_mask( (__v2df)__A, (__v2di)_mm_setzero_si128(), (__mmask8)__U)); } // 256 Bit : Double -> long static __inline__ __m256i __DEFAULT_FN_ATTRS256 -_mm256_cvttspd_epi64(__m256d __A) { +_mm256_cvtts_pd_epi64(__m256d __A) { return ((__m256i)__builtin_ia32_vcvttpd2qqs256_round_mask( (__v4df)__A, (__v4di)_mm256_undefined_si256(), (__mmask8)-1, _MM_FROUND_CUR_DIRECTION)); } static __inline__ __m256i __DEFAULT_FN_ATTRS256 -_mm256_mask_cvttspd_epi64(__m256i __W, __mmask8 __U, __m256d __A) { +_mm256_mask_cvtts_pd_epi64(__m256i __W, __mmask8 __U, __m256d __A) { return ((__m256i)__builtin_ia32_vcvttpd2qqs256_round_mask( (__v4df)__A, (__v4di)__W, __U, _MM_FROUND_CUR_DIRECTION)); } static __inline__ __m256i __DEFAULT_FN_ATTRS256 -_mm256_maskz_cvttspd_epi64(__mmask8 __U, __m256d __A) { +_mm256_maskz_cvtts_pd_epi64(__mmask8 __U, __m256d __A) { return ((__m256i)__builtin_ia32_vcvttpd2qqs256_round_mask( (__v4df)__A, (__v4di)_mm256_setzero_si256(), __U, _MM_FROUND_CUR_DIRECTION)); } -#define _mm256_cvtts_roundpd_epi64(__A, __R) \ - ((__m256i)__builtin_ia32_vcvttpd2qqs256_round_mask( \ - (__v4df)__A, (__v4di)_mm256_undefined_si256(), (__mmask8) - 1, \ - (int)__R)) - -#define _mm256_mask_cvtts_roundpd_epi64(__W, __U, __A, __R) \ - ((__m256i)__builtin_ia32_vcvttpd2qqs256_round_mask((__v4df)__A, (__v4di)__W, \ - (__mmask8)__U, (int)__R)) - -#define _mm256_maskz_cvtts_roundpd_epi64(__U, __A, __R) \ - ((__m256i)__builtin_ia32_vcvttpd2qqs256_round_mask( \ - (__v4df)__A, (__v4di)_mm256_setzero_si256(), (__mmask8)__U, (int)__R)) - // 128 Bit : Double -> ulong -static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_cvttspd_epu64(__m128d __A) { +static __inline__ __m128i __DEFAULT_FN_ATTRS128 +_mm_cvtts_pd_epu64(__m128d __A) { return ((__m128i)__builtin_ia32_vcvttpd2uqqs128_mask( (__v2df)__A, (__v2di)_mm_undefined_si128(), (__mmask8)-1)); } static __inline__ __m128i __DEFAULT_FN_ATTRS128 -_mm_mask_cvttspd_epu64(__m128i __W, __mmask8 __U, __m128d __A) { +_mm_mask_cvtts_pd_epu64(__m128i __W, __mmask8 __U, __m128d __A) { return ((__m128i)__builtin_ia32_vcvttpd2uqqs128_mask((__v2df)__A, (__v2di)__W, (__mmask8)__U)); } static __inline__ __m128i __DEFAULT_FN_ATTRS128 -_mm_maskz_cvttspd_epu64(__mmask8 __U, __m128d __A) { +_mm_maskz_cvtts_pd_epu64(__mmask8 __U, __m128d __A) { return ((__m128i)__builtin_ia32_vcvttpd2uqqs128_mask( (__v2df)__A, (__v2di)_mm_setzero_si128(), (__mmask8)__U)); } @@ -247,105 +210,78 @@ _mm_maskz_cvttspd_epu64(__mmask8 __U, __m128d __A) { // 256 Bit : Double -> ulong static __inline__ __m256i __DEFAULT_FN_ATTRS256 -_mm256_cvttspd_epu64(__m256d __A) { +_mm256_cvtts_pd_epu64(__m256d __A) { return ((__m256i)__builtin_ia32_vcvttpd2uqqs256_round_mask( (__v4df)__A, (__v4di)_mm256_undefined_si256(), (__mmask8)-1, _MM_FROUND_CUR_DIRECTION)); } static __inline__ __m256i __DEFAULT_FN_ATTRS256 -_mm256_mask_cvttspd_epu64(__m256i __W, __mmask8 __U, __m256d __A) { +_mm256_mask_cvtts_pd_epu64(__m256i __W, __mmask8 __U, __m256d __A) { return ((__m256i)__builtin_ia32_vcvttpd2uqqs256_round_mask( (__v4df)__A, (__v4di)__W, __U, _MM_FROUND_CUR_DIRECTION)); } static __inline__ __m256i __DEFAULT_FN_ATTRS256 -_mm256_maskz_cvttspd_epu64(__mmask8 __U, __m256d __A) { +_mm256_maskz_cvtts_pd_epu64(__mmask8 __U, __m256d __A) { return ((__m256i)__builtin_ia32_vcvttpd2uqqs256_round_mask( (__v4df)__A, (__v4di)_mm256_setzero_si256(), __U, _MM_FROUND_CUR_DIRECTION)); } -#define _mm256_cvtts_roundpd_epu64(__A, __R) \ - ((__m256i)__builtin_ia32_vcvttpd2uqqs256_round_mask( \ - (__v4df)__A, (__v4di)_mm256_undefined_si256(), (__mmask8) - 1, \ - (int)__R)) - -#define _mm256_mask_cvtts_roundpd_epu64(__W, __U, __A, __R) \ - ((__m256i)__builtin_ia32_vcvttpd2uqqs256_round_mask( \ - (__v4df)__A, (__v4di)__W, (__mmask8)__U, (int)__R)) - -#define _mm256_maskz_cvtts_roundpd_epu64(__U, __A, __R) \ - ((__m256i)__builtin_ia32_vcvttpd2uqqs256_round_mask( \ - (__v4df)__A, (__v4di)_mm256_setzero_si256(), (__mmask8)__U, (int)__R)) - // 128 Bit : float -> int -static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_cvttsps_epi32(__m128 __A) { +static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_cvtts_ps_epi32(__m128 __A) { return ((__m128i)__builtin_ia32_vcvttps2dqs128_mask( (__v4sf)__A, (__v4si)(__m128i)_mm_undefined_si128(), (__mmask8)(-1))); } static __inline__ __m128i __DEFAULT_FN_ATTRS128 -_mm_mask_cvttsps_epi32(__m128i __W, __mmask8 __U, __m128 __A) { +_mm_mask_cvtts_ps_epi32(__m128i __W, __mmask8 __U, __m128 __A) { return ((__m128i)__builtin_ia32_vcvttps2dqs128_mask((__v4sf)__A, (__v4si)__W, (__mmask8)__U)); } static __inline__ __m128i __DEFAULT_FN_ATTRS128 -_mm_maskz_cvttsps_epi32(__mmask8 __U, __m128 __A) { +_mm_maskz_cvtts_ps_epi32(__mmask8 __U, __m128 __A) { return ((__m128i)__builtin_ia32_vcvttps2dqs128_mask( (__v4sf)__A, (__v4si)(__m128i)_mm_setzero_si128(), (__mmask8)__U)); } // 256 Bit : float -> int static __inline__ __m256i __DEFAULT_FN_ATTRS256 -_mm256_cvttsps_epi32(__m256 __A) { +_mm256_cvtts_ps_epi32(__m256 __A) { return ((__m256i)__builtin_ia32_vcvttps2dqs256_round_mask( (__v8sf)__A, (__v8si)_mm256_undefined_si256(), (__mmask8)-1, _MM_FROUND_CUR_DIRECTION)); } static __inline__ __m256i __DEFAULT_FN_ATTRS256 -_mm256_mask_cvttsps_epi32(__m256i __W, __mmask8 __U, __m256 __A) { +_mm256_mask_cvtts_ps_epi32(__m256i __W, __mmask8 __U, __m256 __A) { return ((__m256i)__builtin_ia32_vcvttps2dqs256_round_mask( (__v8sf)__A, (__v8si)__W, __U, _MM_FROUND_CUR_DIRECTION)); } static __inline__ __m256i __DEFAULT_FN_ATTRS256 -_mm256_maskz_cvttsps_epi32(__mmask8 __U, __m256 __A) { +_mm256_maskz_cvtts_ps_epi32(__mmask8 __U, __m256 __A) { return ((__m256i)__builtin_ia32_vcvttps2dqs256_round_mask( (__v8sf)__A, (__v8si)_mm256_setzero_si256(), __U, _MM_FROUND_CUR_DIRECTION)); } -#define _mm256_cvtts_roundps_epi32(__A, __R) \ - ((__m256i)__builtin_ia32_vcvttps2dqs256_round_mask( \ - (__v8sf)(__m256)__A, (__v8si)(__m256i)_mm256_undefined_si256(), \ - (__mmask8) - 1, (int)(__R))) - -#define _mm256_mask_cvtts_roundps_epi32(__W, __U, __A, __R) \ - ((__m256i)__builtin_ia32_vcvttps2dqs256_round_mask( \ - (__v8sf)(__m256)__A, (__v8si)(__m256i)__W, (__mmask8)__U, (int)(__R))) - -#define _mm256_maskz_cvtts_roundps_epi32(__U, __A, __R) \ - ((__m256i)__builtin_ia32_vcvttps2dqs256_round_mask( \ - (__v8sf)(__m256)__A, (__v8si)(__m256i)_mm256_setzero_si256(), \ - (__mmask8)__U, (int)(__R))) - // 128 Bit : float -> uint -static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_cvttsps_epu32(__m128 __A) { +static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_cvtts_ps_epu32(__m128 __A) { return ((__m128i)__builtin_ia32_vcvttps2udqs128_mask( (__v4sf)__A, (__v4si)(__m128i)_mm_undefined_si128(), (__mmask8)(-1))); } static __inline__ __m128i __DEFAULT_FN_ATTRS128 -_mm_mask_cvttsps_epu32(__m128i __W, __mmask8 __U, __m128 __A) { +_mm_mask_cvtts_ps_epu32(__m128i __W, __mmask8 __U, __m128 __A) { return ((__m128i)__builtin_ia32_vcvttps2udqs128_mask((__v4sf)__A, (__v4si)__W, (__mmask8)__U)); } static __inline__ __m128i __DEFAULT_FN_ATTRS128 -_mm_maskz_cvttsps_epu32(__mmask8 __U, __m128 __A) { +_mm_maskz_cvtts_ps_epu32(__mmask8 __U, __m128 __A) { return ((__m128i)__builtin_ia32_vcvttps2udqs128_mask( (__v4sf)__A, (__v4si)_mm_setzero_si128(), (__mmask8)__U)); } @@ -353,144 +289,102 @@ _mm_maskz_cvttsps_epu32(__mmask8 __U, __m128 __A) { // 256 Bit : float -> uint static __inline__ __m256i __DEFAULT_FN_ATTRS256 -_mm256_cvttsps_epu32(__m256 __A) { +_mm256_cvtts_ps_epu32(__m256 __A) { return ((__m256i)__builtin_ia32_vcvttps2udqs256_round_mask( (__v8sf)__A, (__v8si)_mm256_undefined_si256(), (__mmask8)-1, _MM_FROUND_CUR_DIRECTION)); } static __inline__ __m256i __DEFAULT_FN_ATTRS256 -_mm256_mask_cvttsps_epu32(__m256i __W, __mmask8 __U, __m256 __A) { +_mm256_mask_cvtts_ps_epu32(__m256i __W, __mmask8 __U, __m256 __A) { return ((__m256i)__builtin_ia32_vcvttps2udqs256_round_mask( (__v8sf)__A, (__v8si)__W, __U, _MM_FROUND_CUR_DIRECTION)); } static __inline__ __m256i __DEFAULT_FN_ATTRS256 -_mm256_maskz_cvttsps_epu32(__mmask8 __U, __m256 __A) { +_mm256_maskz_cvtts_ps_epu32(__mmask8 __U, __m256 __A) { return ((__m256i)__builtin_ia32_vcvttps2udqs256_round_mask( (__v8sf)__A, (__v8si)_mm256_setzero_si256(), __U, _MM_FROUND_CUR_DIRECTION)); } -#define _mm256_cvtts_roundps_epu32(__A, __R) \ - ((__m256i)__builtin_ia32_vcvttps2udqs256_round_mask( \ - (__v8sf)(__m256)__A, (__v8si)(__m256i)_mm256_undefined_si256(), \ - (__mmask8) - 1, (int)(__R))) - -#define _mm256_mask_cvtts_roundps_epu32(__W, __U, __A, __R) \ - ((__m256i)__builtin_ia32_vcvttps2udqs256_round_mask( \ - (__v8sf)(__m256)__A, (__v8si)(__m256i)__W, (__mmask8)__U, (int)(__R))) - -#define _mm256_maskz_cvtts_roundps_epu32(__U, __A, __R) \ - ((__m256i)__builtin_ia32_vcvttps2udqs256_round_mask( \ - (__v8sf)(__m256)__A, (__v8si)(__m256i)_mm256_setzero_si256(), \ - (__mmask8)__U, (int)(__R))) - // 128 bit : float -> long -static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_cvttsps_epi64(__m128 __A) { +static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_cvtts_ps_epi64(__m128 __A) { return ((__m128i)__builtin_ia32_vcvttps2qqs128_mask( (__v4sf)__A, (__v2di)_mm_undefined_si128(), (__mmask8)-1)); } static __inline__ __m128i __DEFAULT_FN_ATTRS128 -_mm_mask_cvttsps_epi64(__m128i __W, __mmask8 __U, __m128 __A) { +_mm_mask_cvtts_ps_epi64(__m128i __W, __mmask8 __U, __m128 __A) { return ((__m128i)__builtin_ia32_vcvttps2qqs128_mask( (__v4sf)__A, (__v2di)(__m128i)__W, (__mmask8)__U)); } static __inline__ __m128i __DEFAULT_FN_ATTRS128 -_mm_maskz_cvttsps_epi64(__mmask8 __U, __m128 __A) { +_mm_maskz_cvtts_ps_epi64(__mmask8 __U, __m128 __A) { return ((__m128i)__builtin_ia32_vcvttps2qqs128_mask( (__v4sf)__A, (__v2di)_mm_setzero_si128(), (__mmask8)__U)); } // 256 bit : float -> long static __inline__ __m256i __DEFAULT_FN_ATTRS256 -_mm256_cvttsps_epi64(__m128 __A) { +_mm256_cvtts_ps_epi64(__m128 __A) { return ((__m256i)__builtin_ia32_vcvttps2qqs256_round_mask( (__v4sf)__A, (__v4di)_mm256_undefined_si256(), (__mmask8)-1, _MM_FROUND_CUR_DIRECTION)); } static __inline__ __m256i __DEFAULT_FN_ATTRS256 -_mm256_mask_cvttsps_epi64(__m256i __W, __mmask8 __U, __m128 __A) { +_mm256_mask_cvtts_ps_epi64(__m256i __W, __mmask8 __U, __m128 __A) { return ((__m256i)__builtin_ia32_vcvttps2qqs256_round_mask( (__v4sf)__A, (__v4di)__W, __U, _MM_FROUND_CUR_DIRECTION)); } static __inline__ __m256i __DEFAULT_FN_ATTRS256 -_mm256_maskz_cvttsps_epi64(__mmask8 __U, __m128 __A) { +_mm256_maskz_cvtts_ps_epi64(__mmask8 __U, __m128 __A) { return ((__m256i)__builtin_ia32_vcvttps2qqs256_round_mask( (__v4sf)__A, (__v4di)_mm256_setzero_si256(), __U, _MM_FROUND_CUR_DIRECTION)); } -#define _mm256_cvtts_roundps_epi64(__A, __R) \ - ((__m256i)__builtin_ia32_vcvttps2qqs256_round_mask( \ - (__v4sf)(__m128)__A, (__v4di)_mm256_undefined_si256(), (__mmask8) - 1, \ - (int)__R)) - -#define _mm256_mask_cvtts_roundps_epi64(__W, __U, __A, __R) \ - ((__m256i)__builtin_ia32_vcvttps2qqs256_round_mask( \ - (__v4sf)(__m128)__A, (__v4di)__W, (__mmask8)__U, (int)__R)) - -#define _mm256_maskz_cvtts_roundps_epi64(__U, __A, __R) \ - ((__m256i)__builtin_ia32_vcvttps2qqs256_round_mask( \ - (__v4sf)(__m128)__A, (__v4di)_mm256_setzero_si256(), (__mmask8)__U, \ - (int)__R)) - // 128 bit : float -> ulong -static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_cvttsps_epu64(__m128 __A) { +static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_cvtts_ps_epu64(__m128 __A) { return ((__m128i)__builtin_ia32_vcvttps2uqqs128_mask( (__v4sf)__A, (__v2di)_mm_undefined_si128(), (__mmask8)-1)); } static __inline__ __m128i __DEFAULT_FN_ATTRS128 -_mm_mask_cvttsps_epu64(__m128i __W, __mmask8 __U, __m128 __A) { +_mm_mask_cvtts_ps_epu64(__m128i __W, __mmask8 __U, __m128 __A) { return ((__m128i)__builtin_ia32_vcvttps2uqqs128_mask( (__v4sf)__A, (__v2di)(__m128i)__W, (__mmask8)__U)); } static __inline__ __m128i __DEFAULT_FN_ATTRS128 -_mm_maskz_cvttsps_epu64(__mmask8 __U, __m128 __A) { +_mm_maskz_cvtts_ps_epu64(__mmask8 __U, __m128 __A) { return ((__m128i)__builtin_ia32_vcvttps2uqqs128_mask( (__v4sf)__A, (__v2di)_mm_setzero_si128(), (__mmask8)__U)); } // 256 bit : float -> ulong static __inline__ __m256i __DEFAULT_FN_ATTRS256 -_mm256_cvttsps_epu64(__m128 __A) { +_mm256_cvtts_ps_epu64(__m128 __A) { return ((__m256i)__builtin_ia32_vcvttps2uqqs256_round_mask( (__v4sf)__A, (__v4di)_mm256_undefined_si256(), (__mmask8)-1, _MM_FROUND_CUR_DIRECTION)); } static __inline__ __m256i __DEFAULT_FN_ATTRS256 -_mm256_mask_cvttsps_epu64(__m256i __W, __mmask8 __U, __m128 __A) { +_mm256_mask_cvtts_ps_epu64(__m256i __W, __mmask8 __U, __m128 __A) { return ((__m256i)__builtin_ia32_vcvttps2uqqs256_round_mask( (__v4sf)__A, (__v4di)__W, __U, _MM_FROUND_CUR_DIRECTION)); } static __inline__ __m256i __DEFAULT_FN_ATTRS256 -_mm256_maskz_cvttsps_epu64(__mmask8 __U, __m128 __A) { +_mm256_maskz_cvtts_ps_epu64(__mmask8 __U, __m128 __A) { return ((__m256i)__builtin_ia32_vcvttps2uqqs256_round_mask( (__v4sf)__A, (__v4di)_mm256_setzero_si256(), __U, _MM_FROUND_CUR_DIRECTION)); } -#define _mm256_cvtts_roundps_epu64(__A, __R) \ - ((__m256i)__builtin_ia32_vcvttps2uqqs256_round_mask( \ - (__v4sf)(__m128)__A, (__v4di)_mm256_undefined_si256(), (__mmask8) - 1, \ - (int)__R)) - -#define _mm256_mask_cvtts_roundps_epu64(__W, __U, __A, __R) \ - ((__m256i)__builtin_ia32_vcvttps2uqqs256_round_mask( \ - (__v4sf)(__m128)__A, (__v4di)__W, (__mmask8)__U, (int)__R)) - -#define _mm256_maskz_cvtts_roundps_epu64(__U, __A, __R) \ - ((__m256i)__builtin_ia32_vcvttps2uqqs256_round_mask( \ - (__v4sf)(__m128)__A, (__v4di)_mm256_setzero_si256(), (__mmask8)__U, \ - (int)__R)) - #undef __DEFAULT_FN_ATTRS128 #undef __DEFAULT_FN_ATTRS256 #endif // __AVX10_2SATCVTDSINTRIN_H diff --git a/clang/lib/Headers/avx10_2satcvtintrin.h b/clang/lib/Headers/avx10_2satcvtintrin.h index d16c60e6382df..cfa5b02fc7d4c 100644 --- a/clang/lib/Headers/avx10_2satcvtintrin.h +++ b/clang/lib/Headers/avx10_2satcvtintrin.h @@ -14,431 +14,319 @@ #ifndef __AVX10_2SATCVTINTRIN_H #define __AVX10_2SATCVTINTRIN_H -#define _mm_ipcvtbf16_epi8(A) \ +#define _mm_ipcvts_bf16_epi8(A) \ ((__m128i)__builtin_ia32_vcvtbf162ibs128((__v8bf)(__m128bh)(A))) -#define _mm_mask_ipcvtbf16_epi8(W, U, A) \ +#define _mm_mask_ipcvts_bf16_epi8(W, U, A) \ ((__m128i)__builtin_ia32_selectw_128( \ - (__mmask8)(U), (__v8hi)_mm_ipcvtbf16_epi8(A), (__v8hi)(__m128i)(W))) + (__mmask8)(U), (__v8hi)_mm_ipcvts_bf16_epi8(A), (__v8hi)(__m128i)(W))) -#define _mm_maskz_ipcvtbf16_epi8(U, A) \ +#define _mm_maskz_ipcvts_bf16_epi8(U, A) \ ((__m128i)__builtin_ia32_selectw_128((__mmask8)(U), \ - (__v8hi)_mm_ipcvtbf16_epi8(A), \ + (__v8hi)_mm_ipcvts_bf16_epi8(A), \ (__v8hi)_mm_setzero_si128())) -#define _mm256_ipcvtbf16_epi8(A) \ +#define _mm256_ipcvts_bf16_epi8(A) \ ((__m256i)__builtin_ia32_vcvtbf162ibs256((__v16bf)(__m256bh)(A))) -#define _mm256_mask_ipcvtbf16_epi8(W, U, A) \ +#define _mm256_mask_ipcvts_bf16_epi8(W, U, A) \ ((__m256i)__builtin_ia32_selectw_256((__mmask16)(U), \ - (__v16hi)_mm256_ipcvtbf16_epi8(A), \ + (__v16hi)_mm256_ipcvts_bf16_epi8(A), \ (__v16hi)(__m256i)(W))) -#define _mm256_maskz_ipcvtbf16_epi8(U, A) \ +#define _mm256_maskz_ipcvts_bf16_epi8(U, A) \ ((__m256i)__builtin_ia32_selectw_256((__mmask16)(U), \ - (__v16hi)_mm256_ipcvtbf16_epi8(A), \ + (__v16hi)_mm256_ipcvts_bf16_epi8(A), \ (__v16hi)_mm256_setzero_si256())) -#define _mm_ipcvtbf16_epu8(A) \ +#define _mm_ipcvts_bf16_epu8(A) \ ((__m128i)__builtin_ia32_vcvtbf162iubs128((__v8bf)(__m128bh)(A))) -#define _mm_mask_ipcvtbf16_epu8(W, U, A) \ +#define _mm_mask_ipcvts_bf16_epu8(W, U, A) \ ((__m128i)__builtin_ia32_selectw_128( \ - (__mmask8)(U), (__v8hi)_mm_ipcvtbf16_epu8(A), (__v8hi)(__m128i)(W))) + (__mmask8)(U), (__v8hi)_mm_ipcvts_bf16_epu8(A), (__v8hi)(__m128i)(W))) -#define _mm_maskz_ipcvtbf16_epu8(U, A) \ +#define _mm_maskz_ipcvts_bf16_epu8(U, A) \ ((__m128i)__builtin_ia32_selectw_128((__mmask8)(U), \ - (__v8hi)_mm_ipcvtbf16_epu8(A), \ + (__v8hi)_mm_ipcvts_bf16_epu8(A), \ (__v8hi)_mm_setzero_si128())) -#define _mm256_ipcvtbf16_epu8(A) \ +#define _mm256_ipcvts_bf16_epu8(A) \ ((__m256i)__builtin_ia32_vcvtbf162iubs256((__v16bf)(__m256bh)(A))) -#define _mm256_mask_ipcvtbf16_epu8(W, U, A) \ +#define _mm256_mask_ipcvts_bf16_epu8(W, U, A) \ ((__m256i)__builtin_ia32_selectw_256((__mmask16)(U), \ - (__v16hi)_mm256_ipcvtbf16_epu8(A), \ + (__v16hi)_mm256_ipcvts_bf16_epu8(A), \ (__v16hi)(__m256i)(W))) -#define _mm256_maskz_ipcvtbf16_epu8(U, A) \ +#define _mm256_maskz_ipcvts_bf16_epu8(U, A) \ ((__m256i)__builtin_ia32_selectw_256((__mmask16)(U), \ - (__v16hi)_mm256_ipcvtbf16_epu8(A), \ + (__v16hi)_mm256_ipcvts_bf16_epu8(A), \ (__v16hi)_mm256_setzero_si256())) -#define _mm_ipcvtph_epi8(A) \ +#define _mm_ipcvts_ph_epi8(A) \ ((__m128i)__builtin_ia32_vcvtph2ibs128_mask( \ (__v8hf)(__m128h)(A), (__v8hu)_mm_setzero_si128(), (__mmask8)-1)) -#define _mm_mask_ipcvtph_epi8(W, U, A) \ +#define _mm_mask_ipcvts_ph_epi8(W, U, A) \ ((__m128i)__builtin_ia32_vcvtph2ibs128_mask((__v8hf)(__m128h)(A), \ (__v8hu)(W), (__mmask8)(U))) -#define _mm_maskz_ipcvtph_epi8(U, A) \ +#define _mm_maskz_ipcvts_ph_epi8(U, A) \ ((__m128i)__builtin_ia32_vcvtph2ibs128_mask( \ (__v8hf)(__m128h)(A), (__v8hu)(_mm_setzero_si128()), (__mmask8)(U))) -#define _mm256_ipcvtph_epi8(A) \ +#define _mm256_ipcvts_ph_epi8(A) \ ((__m256i)__builtin_ia32_vcvtph2ibs256_mask( \ (__v16hf)(__m256h)(A), (__v16hu)_mm256_setzero_si256(), (__mmask16)-1, \ _MM_FROUND_CUR_DIRECTION)) -#define _mm256_mask_ipcvtph_epi8(W, U, A) \ +#define _mm256_mask_ipcvts_ph_epi8(W, U, A) \ ((__m256i)__builtin_ia32_vcvtph2ibs256_mask((__v16hf)(__m256h)(A), \ (__v16hu)(W), (__mmask16)(U), \ _MM_FROUND_CUR_DIRECTION)) -#define _mm256_maskz_ipcvtph_epi8(U, A) \ +#define _mm256_maskz_ipcvts_ph_epi8(U, A) \ ((__m256i)__builtin_ia32_vcvtph2ibs256_mask( \ (__v16hf)(__m256h)(A), (__v16hu)(_mm256_setzero_si256()), \ (__mmask16)(U), _MM_FROUND_CUR_DIRECTION)) -#define _mm256_ipcvt_roundph_epi8(A, R) \ - ((__m256i)__builtin_ia32_vcvtph2ibs256_mask((__v16hf)(__m256h)(A), \ - (__v16hu)_mm256_setzero_si256(), \ - (__mmask16)-1, (const int)R)) - -#define _mm256_mask_ipcvt_roundph_epi8(W, U, A, R) \ - ((__m256i)__builtin_ia32_vcvtph2ibs256_mask( \ - (__v16hf)(__m256h)(A), (__v16hu)(W), (__mmask16)(U), (const int)R)) - -#define _mm256_maskz_ipcvt_roundph_epi8(U, A, R) \ - ((__m256i)__builtin_ia32_vcvtph2ibs256_mask((__v16hf)(__m256h)(A), \ - (__v16hu)_mm256_setzero_si256(), \ - (__mmask16)(U), (const int)R)) - -#define _mm_ipcvtph_epu8(A) \ +#define _mm_ipcvts_ph_epu8(A) \ ((__m128i)__builtin_ia32_vcvtph2iubs128_mask( \ (__v8hf)(__m128h)(A), (__v8hu)_mm_setzero_si128(), (__mmask8)-1)) -#define _mm_mask_ipcvtph_epu8(W, U, A) \ +#define _mm_mask_ipcvts_ph_epu8(W, U, A) \ ((__m128i)__builtin_ia32_vcvtph2iubs128_mask((__v8hf)(__m128h)(A), \ (__v8hu)(W), (__mmask8)(U))) -#define _mm_maskz_ipcvtph_epu8(U, A) \ +#define _mm_maskz_ipcvts_ph_epu8(U, A) \ ((__m128i)__builtin_ia32_vcvtph2iubs128_mask( \ (__v8hf)(__m128h)(A), (__v8hu)(_mm_setzero_si128()), (__mmask8)(U))) -#define _mm256_ipcvtph_epu8(A) \ +#define _mm256_ipcvts_ph_epu8(A) \ ((__m256i)__builtin_ia32_vcvtph2iubs256_mask( \ (__v16hf)(__m256h)(A), (__v16hu)_mm256_setzero_si256(), (__mmask16)-1, \ _MM_FROUND_CUR_DIRECTION)) -#define _mm256_mask_ipcvtph_epu8(W, U, A) \ +#define _mm256_mask_ipcvts_ph_epu8(W, U, A) \ ((__m256i)__builtin_ia32_vcvtph2iubs256_mask((__v16hf)(__m256h)(A), \ (__v16hu)(W), (__mmask16)(U), \ _MM_FROUND_CUR_DIRECTION)) -#define _mm256_maskz_ipcvtph_epu8(U, A) \ +#define _mm256_maskz_ipcvts_ph_epu8(U, A) \ ((__m256i)__builtin_ia32_vcvtph2iubs256_mask( \ (__v16hf)(__m256h)(A), (__v16hu)(_mm256_setzero_si256()), \ (__mmask16)(U), _MM_FROUND_CUR_DIRECTION)) -#define _mm256_ipcvt_roundph_epu8(A, R) \ - ((__m256i)__builtin_ia32_vcvtph2iubs256_mask( \ - (__v16hf)(__m256h)(A), (__v16hu)_mm256_setzero_si256(), (__mmask16)-1, \ - (const int)R)) - -#define _mm256_mask_ipcvt_roundph_epu8(W, U, A, R) \ - ((__m256i)__builtin_ia32_vcvtph2iubs256_mask( \ - (__v16hf)(__m256h)(A), (__v16hu)(W), (__mmask16)(U), (const int)R)) - -#define _mm256_maskz_ipcvt_roundph_epu8(U, A, R) \ - ((__m256i)__builtin_ia32_vcvtph2iubs256_mask( \ - (__v16hf)(__m256h)(A), (__v16hu)_mm256_setzero_si256(), (__mmask16)(U), \ - (const int)R)) - -#define _mm_ipcvtps_epi8(A) \ +#define _mm_ipcvts_ps_epi8(A) \ ((__m128i)__builtin_ia32_vcvtps2ibs128_mask( \ (__v4sf)(__m128)(A), (__v4su)_mm_setzero_si128(), (__mmask8)-1)) -#define _mm_mask_ipcvtps_epi8(W, U, A) \ +#define _mm_mask_ipcvts_ps_epi8(W, U, A) \ ((__m128i)__builtin_ia32_vcvtps2ibs128_mask((__v4sf)(__m128)(A), \ (__v4su)(W), (__mmask8)(U))) -#define _mm_maskz_ipcvtps_epi8(U, A) \ +#define _mm_maskz_ipcvts_ps_epi8(U, A) \ ((__m128i)__builtin_ia32_vcvtps2ibs128_mask( \ (__v4sf)(__m128)(A), (__v4su)(_mm_setzero_si128()), (__mmask8)(U))) -#define _mm256_ipcvtps_epi8(A) \ +#define _mm256_ipcvts_ps_epi8(A) \ ((__m256i)__builtin_ia32_vcvtps2ibs256_mask( \ (__v8sf)(__m256)(A), (__v8su)_mm256_setzero_si256(), (__mmask8)-1, \ _MM_FROUND_CUR_DIRECTION)) -#define _mm256_mask_ipcvtps_epi8(W, U, A) \ +#define _mm256_mask_ipcvts_ps_epi8(W, U, A) \ ((__m256i)__builtin_ia32_vcvtps2ibs256_mask((__v8sf)(__m256)(A), \ (__v8su)(W), (__mmask8)(U), \ _MM_FROUND_CUR_DIRECTION)) -#define _mm256_maskz_ipcvtps_epi8(U, A) \ +#define _mm256_maskz_ipcvts_ps_epi8(U, A) \ ((__m256i)__builtin_ia32_vcvtps2ibs256_mask( \ (__v8sf)(__m256)(A), (__v8su)(_mm256_setzero_si256()), (__mmask8)(U), \ _MM_FROUND_CUR_DIRECTION)) -#define _mm256_ipcvt_roundps_epi8(A, R) \ - ((__m256i)__builtin_ia32_vcvtps2ibs256_mask((__v8sf)(__m256)(A), \ - (__v8su)_mm256_setzero_si256(), \ - (__mmask8)-1, (const int)R)) - -#define _mm256_mask_ipcvt_roundps_epi8(W, U, A, R) \ - ((__m256i)__builtin_ia32_vcvtps2ibs256_mask( \ - (__v8sf)(__m256)(A), (__v8su)(W), (__mmask8)(U), (const int)R)) - -#define _mm256_maskz_ipcvt_roundps_epi8(U, A, R) \ - ((__m256i)__builtin_ia32_vcvtps2ibs256_mask((__v8sf)(__m256)(A), \ - (__v8su)_mm256_setzero_si256(), \ - (__mmask8)(U), (const int)R)) - -#define _mm_ipcvtps_epu8(A) \ +#define _mm_ipcvts_ps_epu8(A) \ ((__m128i)__builtin_ia32_vcvtps2iubs128_mask( \ (__v4sf)(__m128)(A), (__v4su)_mm_setzero_si128(), (__mmask8)-1)) -#define _mm_mask_ipcvtps_epu8(W, U, A) \ +#define _mm_mask_ipcvts_ps_epu8(W, U, A) \ ((__m128i)__builtin_ia32_vcvtps2iubs128_mask((__v4sf)(__m128)(A), \ (__v4su)(W), (__mmask8)(U))) -#define _mm_maskz_ipcvtps_epu8(U, A) \ +#define _mm_maskz_ipcvts_ps_epu8(U, A) \ ((__m128i)__builtin_ia32_vcvtps2iubs128_mask( \ (__v4sf)(__m128)(A), (__v4su)(_mm_setzero_si128()), (__mmask8)(U))) -#define _mm256_ipcvtps_epu8(A) \ +#define _mm256_ipcvts_ps_epu8(A) \ ((__m256i)__builtin_ia32_vcvtps2iubs256_mask( \ (__v8sf)(__m256)(A), (__v8su)_mm256_setzero_si256(), (__mmask8)-1, \ _MM_FROUND_CUR_DIRECTION)) -#define _mm256_mask_ipcvtps_epu8(W, U, A) \ +#define _mm256_mask_ipcvts_ps_epu8(W, U, A) \ ((__m256i)__builtin_ia32_vcvtps2iubs256_mask((__v8sf)(__m256)(A), \ (__v8su)(W), (__mmask8)(U), \ _MM_FROUND_CUR_DIRECTION)) -#define _mm256_maskz_ipcvtps_epu8(U, A) \ +#define _mm256_maskz_ipcvts_ps_epu8(U, A) \ ((__m256i)__builtin_ia32_vcvtps2iubs256_mask( \ (__v8sf)(__m256)(A), (__v8su)(_mm256_setzero_si256()), (__mmask8)(U), \ _MM_FROUND_CUR_DIRECTION)) -#define _mm256_ipcvt_roundps_epu8(A, R) \ - ((__m256i)__builtin_ia32_vcvtps2iubs256_mask((__v8sf)(__m256)(A), \ - (__v8su)_mm256_setzero_si256(), \ - (__mmask8)-1, (const int)R)) - -#define _mm256_mask_ipcvt_roundps_epu8(W, U, A, R) \ - ((__m256i)__builtin_ia32_vcvtps2iubs256_mask( \ - (__v8sf)(__m256)(A), (__v8su)(W), (__mmask8)(U), (const int)R)) - -#define _mm256_maskz_ipcvt_roundps_epu8(U, A, R) \ - ((__m256i)__builtin_ia32_vcvtps2iubs256_mask((__v8sf)(__m256)(A), \ - (__v8su)_mm256_setzero_si256(), \ - (__mmask8)(U), (const int)R)) - -#define _mm_ipcvttbf16_epi8(A) \ +#define _mm_ipcvtts_bf16_epi8(A) \ ((__m128i)__builtin_ia32_vcvttbf162ibs128((__v8bf)(__m128bh)(A))) -#define _mm_mask_ipcvttbf16_epi8(W, U, A) \ +#define _mm_mask_ipcvtts_bf16_epi8(W, U, A) \ ((__m128i)__builtin_ia32_selectw_128( \ - (__mmask8)(U), (__v8hi)_mm_ipcvttbf16_epi8(A), (__v8hi)(__m128i)(W))) + (__mmask8)(U), (__v8hi)_mm_ipcvtts_bf16_epi8(A), (__v8hi)(__m128i)(W))) -#define _mm_maskz_ipcvttbf16_epi8(U, A) \ +#define _mm_maskz_ipcvtts_bf16_epi8(U, A) \ ((__m128i)__builtin_ia32_selectw_128((__mmask8)(U), \ - (__v8hi)_mm_ipcvttbf16_epi8(A), \ + (__v8hi)_mm_ipcvtts_bf16_epi8(A), \ (__v8hi)_mm_setzero_si128())) -#define _mm256_ipcvttbf16_epi8(A) \ +#define _mm256_ipcvtts_bf16_epi8(A) \ ((__m256i)__builtin_ia32_vcvttbf162ibs256((__v16bf)(__m256bh)(A))) -#define _mm256_mask_ipcvttbf16_epi8(W, U, A) \ +#define _mm256_mask_ipcvtts_bf16_epi8(W, U, A) \ ((__m256i)__builtin_ia32_selectw_256((__mmask16)(U), \ - (__v16hi)_mm256_ipcvttbf16_epi8(A), \ + (__v16hi)_mm256_ipcvtts_bf16_epi8(A), \ (__v16hi)(__m256i)(W))) -#define _mm256_maskz_ipcvttbf16_epi8(U, A) \ +#define _mm256_maskz_ipcvtts_bf16_epi8(U, A) \ ((__m256i)__builtin_ia32_selectw_256((__mmask16)(U), \ - (__v16hi)_mm256_ipcvttbf16_epi8(A), \ + (__v16hi)_mm256_ipcvtts_bf16_epi8(A), \ (__v16hi)_mm256_setzero_si256())) -#define _mm_ipcvttbf16_epu8(A) \ +#define _mm_ipcvtts_bf16_epu8(A) \ ((__m128i)__builtin_ia32_vcvttbf162iubs128((__v8bf)(__m128bh)(A))) -#define _mm_mask_ipcvttbf16_epu8(W, U, A) \ +#define _mm_mask_ipcvtts_bf16_epu8(W, U, A) \ ((__m128i)__builtin_ia32_selectw_128( \ - (__mmask8)(U), (__v8hi)_mm_ipcvttbf16_epu8(A), (__v8hi)(__m128i)(W))) + (__mmask8)(U), (__v8hi)_mm_ipcvtts_bf16_epu8(A), (__v8hi)(__m128i)(W))) -#define _mm_maskz_ipcvttbf16_epu8(U, A) \ +#define _mm_maskz_ipcvtts_bf16_epu8(U, A) \ ((__m128i)__builtin_ia32_selectw_128((__mmask8)(U), \ - (__v8hi)_mm_ipcvttbf16_epu8(A), \ + (__v8hi)_mm_ipcvtts_bf16_epu8(A), \ (__v8hi)_mm_setzero_si128())) -#define _mm256_ipcvttbf16_epu8(A) \ +#define _mm256_ipcvtts_bf16_epu8(A) \ ((__m256i)__builtin_ia32_vcvttbf162iubs256((__v16bf)(__m256bh)(A))) -#define _mm256_mask_ipcvttbf16_epu8(W, U, A) \ +#define _mm256_mask_ipcvtts_bf16_epu8(W, U, A) \ ((__m256i)__builtin_ia32_selectw_256((__mmask16)(U), \ - (__v16hi)_mm256_ipcvttbf16_epu8(A), \ + (__v16hi)_mm256_ipcvtts_bf16_epu8(A), \ (__v16hi)(__m256i)(W))) -#define _mm256_maskz_ipcvttbf16_epu8(U, A) \ +#define _mm256_maskz_ipcvtts_bf16_epu8(U, A) \ ((__m256i)__builtin_ia32_selectw_256((__mmask16)(U), \ - (__v16hi)_mm256_ipcvttbf16_epu8(A), \ + (__v16hi)_mm256_ipcvtts_bf16_epu8(A), \ (__v16hi)_mm256_setzero_si256())) -#define _mm_ipcvttph_epi8(A) \ +#define _mm_ipcvtts_ph_epi8(A) \ ((__m128i)__builtin_ia32_vcvttph2ibs128_mask( \ (__v8hf)(__m128h)(A), (__v8hu)_mm_setzero_si128(), (__mmask8)-1)) -#define _mm_mask_ipcvttph_epi8(W, U, A) \ +#define _mm_mask_ipcvtts_ph_epi8(W, U, A) \ ((__m128i)__builtin_ia32_vcvttph2ibs128_mask((__v8hf)(__m128h)(A), \ (__v8hu)(W), (__mmask8)(U))) -#define _mm_maskz_ipcvttph_epi8(U, A) \ +#define _mm_maskz_ipcvtts_ph_epi8(U, A) \ ((__m128i)__builtin_ia32_vcvttph2ibs128_mask( \ (__v8hf)(__m128h)(A), (__v8hu)(_mm_setzero_si128()), (__mmask8)(U))) -#define _mm256_ipcvttph_epi8(A) \ +#define _mm256_ipcvtts_ph_epi8(A) \ ((__m256i)__builtin_ia32_vcvttph2ibs256_mask( \ (__v16hf)(__m256h)(A), (__v16hu)_mm256_setzero_si256(), (__mmask16)-1, \ _MM_FROUND_CUR_DIRECTION)) -#define _mm256_mask_ipcvttph_epi8(W, U, A) \ +#define _mm256_mask_ipcvtts_ph_epi8(W, U, A) \ ((__m256i)__builtin_ia32_vcvttph2ibs256_mask((__v16hf)(__m256h)(A), \ (__v16hu)(W), (__mmask16)(U), \ _MM_FROUND_CUR_DIRECTION)) -#define _mm256_maskz_ipcvttph_epi8(U, A) \ +#define _mm256_maskz_ipcvtts_ph_epi8(U, A) \ ((__m256i)__builtin_ia32_vcvttph2ibs256_mask( \ (__v16hf)(__m256h)(A), (__v16hu)(_mm256_setzero_si256()), \ (__mmask16)(U), _MM_FROUND_CUR_DIRECTION)) -#define _mm256_ipcvtt_roundph_epi8(A, R) \ - ((__m256i)__builtin_ia32_vcvttph2ibs256_mask( \ - (__v16hf)(__m256h)(A), (__v16hu)_mm256_setzero_si256(), (__mmask16)-1, \ - (const int)R)) - -#define _mm256_mask_ipcvtt_roundph_epi8(W, U, A, R) \ - ((__m256i)__builtin_ia32_vcvttph2ibs256_mask( \ - (__v16hf)(__m256h)(A), (__v16hu)(W), (__mmask16)(U), (const int)R)) - -#define _mm256_maskz_ipcvtt_roundph_epi8(U, A, R) \ - ((__m256i)__builtin_ia32_vcvttph2ibs256_mask( \ - (__v16hf)(__m256h)(A), (__v16hu)_mm256_setzero_si256(), (__mmask16)(U), \ - (const int)R)) - -#define _mm_ipcvttph_epu8(A) \ +#define _mm_ipcvtts_ph_epu8(A) \ ((__m128i)__builtin_ia32_vcvttph2iubs128_mask( \ (__v8hf)(__m128h)(A), (__v8hu)_mm_setzero_si128(), (__mmask8)-1)) -#define _mm_mask_ipcvttph_epu8(W, U, A) \ +#define _mm_mask_ipcvtts_ph_epu8(W, U, A) \ ((__m128i)__builtin_ia32_vcvttph2iubs128_mask((__v8hf)(__m128h)(A), \ (__v8hu)(W), (__mmask8)(U))) -#define _mm_maskz_ipcvttph_epu8(U, A) \ +#define _mm_maskz_ipcvtts_ph_epu8(U, A) \ ((__m128i)__builtin_ia32_vcvttph2iubs128_mask( \ (__v8hf)(__m128h)(A), (__v8hu)(_mm_setzero_si128()), (__mmask8)(U))) -#define _mm256_ipcvttph_epu8(A) \ +#define _mm256_ipcvtts_ph_epu8(A) \ ((__m256i)__builtin_ia32_vcvttph2iubs256_mask( \ (__v16hf)(__m256h)(A), (__v16hu)_mm256_setzero_si256(), (__mmask16)-1, \ _MM_FROUND_CUR_DIRECTION)) -#define _mm256_mask_ipcvttph_epu8(W, U, A) \ +#define _mm256_mask_ipcvtts_ph_epu8(W, U, A) \ ((__m256i)__builtin_ia32_vcvttph2iubs256_mask((__v16hf)(__m256h)(A), \ (__v16hu)(W), (__mmask16)(U), \ _MM_FROUND_CUR_DIRECTION)) -#define _mm256_maskz_ipcvttph_epu8(U, A) \ +#define _mm256_maskz_ipcvtts_ph_epu8(U, A) \ ((__m256i)__builtin_ia32_vcvttph2iubs256_mask( \ (__v16hf)(__m256h)(A), (__v16hu)(_mm256_setzero_si256()), \ (__mmask16)(U), _MM_FROUND_CUR_DIRECTION)) -#define _mm256_ipcvtt_roundph_epu8(A, R) \ - ((__m256i)__builtin_ia32_vcvttph2iubs256_mask( \ - (__v16hf)(__m256h)(A), (__v16hu)_mm256_setzero_si256(), (__mmask16)-1, \ - (const int)R)) - -#define _mm256_mask_ipcvtt_roundph_epu8(W, U, A, R) \ - ((__m256i)__builtin_ia32_vcvttph2iubs256_mask( \ - (__v16hf)(__m256h)(A), (__v16hu)(W), (__mmask16)(U), (const int)R)) - -#define _mm256_maskz_ipcvtt_roundph_epu8(U, A, R) \ - ((__m256i)__builtin_ia32_vcvttph2iubs256_mask( \ - (__v16hf)(__m256h)(A), (__v16hu)_mm256_setzero_si256(), (__mmask16)(U), \ - (const int)R)) - -#define _mm_ipcvttps_epi8(A) \ +#define _mm_ipcvtts_ps_epi8(A) \ ((__m128i)__builtin_ia32_vcvttps2ibs128_mask( \ (__v4sf)(__m128)(A), (__v4su)_mm_setzero_si128(), (__mmask8)-1)) -#define _mm_mask_ipcvttps_epi8(W, U, A) \ +#define _mm_mask_ipcvtts_ps_epi8(W, U, A) \ ((__m128i)__builtin_ia32_vcvttps2ibs128_mask((__v4sf)(__m128)(A), \ (__v4su)(W), (__mmask8)(U))) -#define _mm_maskz_ipcvttps_epi8(U, A) \ +#define _mm_maskz_ipcvtts_ps_epi8(U, A) \ ((__m128i)__builtin_ia32_vcvttps2ibs128_mask( \ (__v4sf)(__m128)(A), (__v4su)(_mm_setzero_si128()), (__mmask8)(U))) -#define _mm256_ipcvttps_epi8(A) \ +#define _mm256_ipcvtts_ps_epi8(A) \ ((__m256i)__builtin_ia32_vcvttps2ibs256_mask( \ (__v8sf)(__m256)(A), (__v8su)_mm256_setzero_si256(), (__mmask8)-1, \ _MM_FROUND_CUR_DIRECTION)) -#define _mm256_mask_ipcvttps_epi8(W, U, A) \ +#define _mm256_mask_ipcvtts_ps_epi8(W, U, A) \ ((__m256i)__builtin_ia32_vcvttps2ibs256_mask((__v8sf)(__m256)(A), \ (__v8su)(W), (__mmask8)(U), \ _MM_FROUND_CUR_DIRECTION)) -#define _mm256_maskz_ipcvttps_epi8(U, A) \ +#define _mm256_maskz_ipcvtts_ps_epi8(U, A) \ ((__m256i)__builtin_ia32_vcvttps2ibs256_mask( \ (__v8sf)(__m256)(A), (__v8su)(_mm256_setzero_si256()), (__mmask8)(U), \ _MM_FROUND_CUR_DIRECTION)) -#define _mm256_ipcvtt_roundps_epi8(A, R) \ - ((__m256i)__builtin_ia32_vcvttps2ibs256_mask((__v8sf)(__m256)(A), \ - (__v8su)_mm256_setzero_si256(), \ - (__mmask8)-1, (const int)R)) - -#define _mm256_mask_ipcvtt_roundps_epi8(W, U, A, R) \ - ((__m256i)__builtin_ia32_vcvttps2ibs256_mask( \ - (__v8sf)(__m256)(A), (__v8su)(W), (__mmask8)(U), (const int)R)) - -#define _mm256_maskz_ipcvtt_roundps_epi8(U, A, R) \ - ((__m256i)__builtin_ia32_vcvttps2ibs256_mask((__v8sf)(__m256)(A), \ - (__v8su)_mm256_setzero_si256(), \ - (__mmask8)(U), (const int)R)) - -#define _mm_ipcvttps_epu8(A) \ +#define _mm_ipcvtts_ps_epu8(A) \ ((__m128i)__builtin_ia32_vcvttps2iubs128_mask( \ (__v4sf)(__m128)(A), (__v4su)_mm_setzero_si128(), (__mmask8)-1)) -#define _mm_mask_ipcvttps_epu8(W, U, A) \ +#define _mm_mask_ipcvtts_ps_epu8(W, U, A) \ ((__m128i)__builtin_ia32_vcvttps2iubs128_mask((__v4sf)(__m128)(A), \ (__v4su)(W), (__mmask8)(U))) -#define _mm_maskz_ipcvttps_epu8(U, A) \ +#define _mm_maskz_ipcvtts_ps_epu8(U, A) \ ((__m128i)__builtin_ia32_vcvttps2iubs128_mask( \ (__v4sf)(__m128)(A), (__v4su)(_mm_setzero_si128()), (__mmask8)(U))) -#define _mm256_ipcvttps_epu8(A) \ +#define _mm256_ipcvtts_ps_epu8(A) \ ((__m256i)__builtin_ia32_vcvttps2iubs256_mask( \ (__v8sf)(__m256)(A), (__v8su)_mm256_setzero_si256(), (__mmask8)-1, \ _MM_FROUND_CUR_DIRECTION)) -#define _mm256_mask_ipcvttps_epu8(W, U, A) \ +#define _mm256_mask_ipcvtts_ps_epu8(W, U, A) \ ((__m256i)__builtin_ia32_vcvttps2iubs256_mask((__v8sf)(__m256)(A), \ (__v8su)(W), (__mmask8)(U), \ _MM_FROUND_CUR_DIRECTION)) -#define _mm256_maskz_ipcvttps_epu8(U, A) \ +#define _mm256_maskz_ipcvtts_ps_epu8(U, A) \ ((__m256i)__builtin_ia32_vcvttps2iubs256_mask( \ (__v8sf)(__m256)(A), (__v8su)(_mm256_setzero_si256()), (__mmask8)(U), \ _MM_FROUND_CUR_DIRECTION)) - -#define _mm256_ipcvtt_roundps_epu8(A, R) \ - ((__m256i)__builtin_ia32_vcvttps2iubs256_mask( \ - (__v8sf)(__m256)(A), (__v8su)_mm256_setzero_si256(), (__mmask8)-1, \ - (const int)R)) - -#define _mm256_mask_ipcvtt_roundps_epu8(W, U, A, R) \ - ((__m256i)__builtin_ia32_vcvttps2iubs256_mask( \ - (__v8sf)(__m256)(A), (__v8su)(W), (__mmask8)(U), (const int)R)) - -#define _mm256_maskz_ipcvtt_roundps_epu8(U, A, R) \ - ((__m256i)__builtin_ia32_vcvttps2iubs256_mask( \ - (__v8sf)(__m256)(A), (__v8su)_mm256_setzero_si256(), (__mmask8)(U), \ - (const int)R)) #endif // __AVX10_2SATCVTINTRIN_H diff --git a/clang/test/CodeGen/X86/avx10_2_512convert-builtins.c b/clang/test/CodeGen/X86/avx10_2_512convert-builtins.c index dcf7bbc005a7c..3ac7c2cc8716f 100644 --- a/clang/test/CodeGen/X86/avx10_2_512convert-builtins.c +++ b/clang/test/CodeGen/X86/avx10_2_512convert-builtins.c @@ -59,22 +59,22 @@ __m256i test_mm512_maskz_cvtbiasph_bf8(__mmask32 __U, __m512i __A, __m512h __B) return _mm512_maskz_cvtbiasph_bf8(__U, __A, __B); } -__m256i test_mm512_cvtbiassph_bf8(__m512i __A, __m512h __B) { - // CHECK-LABEL: @test_mm512_cvtbiassph_bf8( +__m256i test_mm512_cvts_biasph_bf8(__m512i __A, __m512h __B) { + // CHECK-LABEL: @test_mm512_cvts_biasph_bf8( // CHECK: call <32 x i8> @llvm.x86.avx10.mask.vcvtbiasph2bf8s512( - return _mm512_cvtbiassph_bf8(__A, __B); + return _mm512_cvts_biasph_bf8(__A, __B); } -__m256i test_mm512_mask_cvtbiassph_bf8(__m256i __W, __mmask32 __U, __m512i __A, __m512h __B) { - // CHECK-LABEL: @test_mm512_mask_cvtbiassph_bf8( +__m256i test_mm512_mask_cvts_biasph_bf8(__m256i __W, __mmask32 __U, __m512i __A, __m512h __B) { + // CHECK-LABEL: @test_mm512_mask_cvts_biasph_bf8( // CHECK: call <32 x i8> @llvm.x86.avx10.mask.vcvtbiasph2bf8s512( - return _mm512_mask_cvtbiassph_bf8(__W, __U, __A, __B); + return _mm512_mask_cvts_biasph_bf8(__W, __U, __A, __B); } -__m256i test_mm512_maskz_cvtbiassph_bf8(__mmask32 __U, __m512i __A, __m512h __B) { - // CHECK-LABEL: @test_mm512_maskz_cvtbiassph_bf8( +__m256i test_mm512_maskz_cvts_biasph_bf8(__mmask32 __U, __m512i __A, __m512h __B) { + // CHECK-LABEL: @test_mm512_maskz_cvts_biasph_bf8( // CHECK: call <32 x i8> @llvm.x86.avx10.mask.vcvtbiasph2bf8s512( - return _mm512_maskz_cvtbiassph_bf8(__U, __A, __B); + return _mm512_maskz_cvts_biasph_bf8(__U, __A, __B); } __m256i test_mm512_cvtbiasph_hf8(__m512i __A, __m512h __B) { @@ -95,22 +95,22 @@ __m256i test_mm512_maskz_cvtbiasph_hf8(__mmask32 __U, __m512i __A, __m512h __B) return _mm512_maskz_cvtbiasph_hf8(__U, __A, __B); } -__m256i test_mm512_cvtbiassph_hf8(__m512i __A, __m512h __B) { - // CHECK-LABEL: @test_mm512_cvtbiassph_hf8( +__m256i test_mm512_cvts_biasph_hf8(__m512i __A, __m512h __B) { + // CHECK-LABEL: @test_mm512_cvts_biasph_hf8( // CHECK: call <32 x i8> @llvm.x86.avx10.mask.vcvtbiasph2hf8s512( - return _mm512_cvtbiassph_hf8(__A, __B); + return _mm512_cvts_biasph_hf8(__A, __B); } -__m256i test_mm512_mask_cvtbiassph_hf8(__m256i __W, __mmask32 __U, __m512i __A, __m512h __B) { - // CHECK-LABEL: @test_mm512_mask_cvtbiassph_hf8( +__m256i test_mm512_mask_cvts_biasph_hf8(__m256i __W, __mmask32 __U, __m512i __A, __m512h __B) { + // CHECK-LABEL: @test_mm512_mask_cvts_biasph_hf8( // CHECK: call <32 x i8> @llvm.x86.avx10.mask.vcvtbiasph2hf8s512( - return _mm512_mask_cvtbiassph_hf8(__W, __U, __A, __B); + return _mm512_mask_cvts_biasph_hf8(__W, __U, __A, __B); } -__m256i test_mm512_maskz_cvtbiassph_hf8(__mmask32 __U, __m512i __A, __m512h __B) { - // CHECK-LABEL: @test_mm512_maskz_cvtbiassph_hf8( +__m256i test_mm512_maskz_cvts_biasph_hf8(__mmask32 __U, __m512i __A, __m512h __B) { + // CHECK-LABEL: @test_mm512_maskz_cvts_biasph_hf8( // CHECK: call <32 x i8> @llvm.x86.avx10.mask.vcvtbiasph2hf8s512( - return _mm512_maskz_cvtbiassph_hf8(__U, __A, __B); + return _mm512_maskz_cvts_biasph_hf8(__U, __A, __B); } __m512i test_mm512_cvt2ph_bf8(__m512h __A, __m512h __B) { @@ -135,26 +135,26 @@ __m512i test_mm512_maskz_cvt2ph_bf8(__mmask32 __U, __m512h __A, __m512h __B) { return _mm512_maskz_cvt2ph_bf8(__U, __A, __B); } -__m512i test_mm512_cvts2ph_bf8(__m512h __A, __m512h __B) { - // CHECK-LABEL: @test_mm512_cvts2ph_bf8( +__m512i test_mm512_cvts_2ph_bf8(__m512h __A, __m512h __B) { + // CHECK-LABEL: @test_mm512_cvts_2ph_bf8( // CHECK: call <64 x i8> @llvm.x86.avx10.vcvt2ph2bf8s512( - return _mm512_cvts2ph_bf8(__A, __B); + return _mm512_cvts_2ph_bf8(__A, __B); } -__m512i test_mm512_mask_cvts2ph_bf8(__m512i __W, __mmask64 __U, __m512h __A, __m512h __B) { - // CHECK-LABEL: @test_mm512_mask_cvts2ph_bf8( +__m512i test_mm512_mask_cvts_2ph_bf8(__m512i __W, __mmask64 __U, __m512h __A, __m512h __B) { + // CHECK-LABEL: @test_mm512_mask_cvts_2ph_bf8( // CHECK: call <64 x i8> @llvm.x86.avx10.vcvt2ph2bf8s512( // CHECK: select <64 x i1> %{{.*}}, <64 x i8> %{{.*}}, <64 x i8> %{{.*}} // CHECK: ret <8 x i64> %{{.*}} - return _mm512_mask_cvts2ph_bf8(__W, __U, __A, __B); + return _mm512_mask_cvts_2ph_bf8(__W, __U, __A, __B); } -__m512i test_mm512_maskz_cvts2ph_bf8(__mmask64 __U, __m512h __A, __m512h __B) { - // CHECK-LABEL: @test_mm512_maskz_cvts2ph_bf8( +__m512i test_mm512_maskz_cvts_2ph_bf8(__mmask64 __U, __m512h __A, __m512h __B) { + // CHECK-LABEL: @test_mm512_maskz_cvts_2ph_bf8( // CHECK: call <64 x i8> @llvm.x86.avx10.vcvt2ph2bf8s512( // CHECK: zeroinitializer // CHECK: select <64 x i1> %{{.*}}, <64 x i8> %{{.*}}, <64 x i8> %{{.*}} - return _mm512_maskz_cvts2ph_bf8(__U, __A, __B); + return _mm512_maskz_cvts_2ph_bf8(__U, __A, __B); } __m512i test_mm512_cvt2ph_hf8(__m512h __A, __m512h __B) { @@ -179,26 +179,26 @@ __m512i test_mm512_maskz_cvt2ph_hf8(__mmask64 __U, __m512h __A, __m512h __B) { return _mm512_maskz_cvt2ph_hf8(__U, __A, __B); } -__m512i test_mm512_cvts2ph_hf8(__m512h __A, __m512h __B) { - // CHECK-LABEL: @test_mm512_cvts2ph_hf8( +__m512i test_mm512_cvts_2ph_hf8(__m512h __A, __m512h __B) { + // CHECK-LABEL: @test_mm512_cvts_2ph_hf8( // CHECK: call <64 x i8> @llvm.x86.avx10.vcvt2ph2hf8s512( - return _mm512_cvts2ph_hf8(__A, __B); + return _mm512_cvts_2ph_hf8(__A, __B); } -__m512i test_mm512_mask_cvts2ph_hf8(__m512i __W, __mmask64 __U, __m512h __A, __m512h __B) { - // CHECK-LABEL: @test_mm512_mask_cvts2ph_hf8( +__m512i test_mm512_mask_cvts_2ph_hf8(__m512i __W, __mmask64 __U, __m512h __A, __m512h __B) { + // CHECK-LABEL: @test_mm512_mask_cvts_2ph_hf8( // CHECK: call <64 x i8> @llvm.x86.avx10.vcvt2ph2hf8s512( // CHECK: select <64 x i1> %{{.*}}, <64 x i8> %{{.*}}, <64 x i8> %{{.*}} // CHECK: ret <8 x i64> %{{.*}} - return _mm512_mask_cvts2ph_hf8(__W, __U, __A, __B); + return _mm512_mask_cvts_2ph_hf8(__W, __U, __A, __B); } -__m512i test_mm512_maskz_cvts2ph_hf8(__mmask64 __U, __m512h __A, __m512h __B) { - // CHECK-LABEL: @test_mm512_maskz_cvts2ph_hf8( +__m512i test_mm512_maskz_cvts_2ph_hf8(__mmask64 __U, __m512h __A, __m512h __B) { + // CHECK-LABEL: @test_mm512_maskz_cvts_2ph_hf8( // CHECK: call <64 x i8> @llvm.x86.avx10.vcvt2ph2hf8s512( // CHECK: zeroinitializer // CHECK: select <64 x i1> %{{.*}}, <64 x i8> %{{.*}}, <64 x i8> %{{.*}} - return _mm512_maskz_cvts2ph_hf8(__U, __A, __B); + return _mm512_maskz_cvts_2ph_hf8(__U, __A, __B); } __m512h test_mm512_cvthf8_ph(__m256i __A) { @@ -237,22 +237,22 @@ __m256i test_mm512_maskz_cvtph_bf8(__mmask32 __A, __m512h __B) { return _mm512_maskz_cvtph_bf8(__A, __B); } -__m256i test_mm512_cvtsph_bf8(__m512h __A) { - // CHECK-LABEL: @test_mm512_cvtsph_bf8( +__m256i test_mm512_cvts_ph_bf8(__m512h __A) { + // CHECK-LABEL: @test_mm512_cvts_ph_bf8( // CHECK: call <32 x i8> @llvm.x86.avx10.mask.vcvtph2bf8s512( - return _mm512_cvtsph_bf8(__A); + return _mm512_cvts_ph_bf8(__A); } -__m256i test_mm512_mask_cvtsph_bf8(__m256i __A, __mmask32 __B, __m512h __C) { - // CHECK-LABEL: @test_mm512_mask_cvtsph_bf8( +__m256i test_mm512_mask_cvts_ph_bf8(__m256i __A, __mmask32 __B, __m512h __C) { + // CHECK-LABEL: @test_mm512_mask_cvts_ph_bf8( // CHECK: call <32 x i8> @llvm.x86.avx10.mask.vcvtph2bf8s512( - return _mm512_mask_cvtsph_bf8(__A, __B, __C); + return _mm512_mask_cvts_ph_bf8(__A, __B, __C); } -__m256i test_mm512_maskz_cvtsph_bf8(__mmask32 __A, __m512h __B) { - // CHECK-LABEL: @test_mm512_maskz_cvtsph_bf8( +__m256i test_mm512_maskz_cvts_ph_bf8(__mmask32 __A, __m512h __B) { + // CHECK-LABEL: @test_mm512_maskz_cvts_ph_bf8( // CHECK: call <32 x i8> @llvm.x86.avx10.mask.vcvtph2bf8s512( - return _mm512_maskz_cvtsph_bf8(__A, __B); + return _mm512_maskz_cvts_ph_bf8(__A, __B); } __m256i test_mm512_cvtph_hf8(__m512h __A) { @@ -273,22 +273,22 @@ __m256i test_mm512_maskz_cvtph_hf8(__mmask32 __A, __m512h __B) { return _mm512_maskz_cvtph_hf8(__A, __B); } -__m256i test_mm512_cvtsph_hf8(__m512h __A) { - // CHECK-LABEL: @test_mm512_cvtsph_hf8( +__m256i test_mm512_cvts_ph_hf8(__m512h __A) { + // CHECK-LABEL: @test_mm512_cvts_ph_hf8( // CHECK: call <32 x i8> @llvm.x86.avx10.mask.vcvtph2hf8s512( - return _mm512_cvtsph_hf8(__A); + return _mm512_cvts_ph_hf8(__A); } -__m256i test_mm512_mask_cvtsph_hf8(__m256i __A, __mmask32 __B, __m512h __C) { - // CHECK-LABEL: @test_mm512_mask_cvtsph_hf8( +__m256i test_mm512_mask_cvts_ph_hf8(__m256i __A, __mmask32 __B, __m512h __C) { + // CHECK-LABEL: @test_mm512_mask_cvts_ph_hf8( // CHECK: call <32 x i8> @llvm.x86.avx10.mask.vcvtph2hf8s512( - return _mm512_mask_cvtsph_hf8(__A, __B, __C); + return _mm512_mask_cvts_ph_hf8(__A, __B, __C); } -__m256i test_mm512_maskz_cvtsph_hf8(__mmask32 __A, __m512h __B) { - // CHECK-LABEL: @test_mm512_maskz_cvtsph_hf8( +__m256i test_mm512_maskz_cvts_ph_hf8(__mmask32 __A, __m512h __B) { + // CHECK-LABEL: @test_mm512_maskz_cvts_ph_hf8( // CHECK: call <32 x i8> @llvm.x86.avx10.mask.vcvtph2hf8s512( - return _mm512_maskz_cvtsph_hf8(__A, __B); + return _mm512_maskz_cvts_ph_hf8(__A, __B); } __m512h test_mm512_cvtbf8_ph(__m256i A) { diff --git a/clang/test/CodeGen/X86/avx10_2_512minmax-error.c b/clang/test/CodeGen/X86/avx10_2_512minmax-error.c index 6db7801eb0040..2ee496d317a5a 100644 --- a/clang/test/CodeGen/X86/avx10_2_512minmax-error.c +++ b/clang/test/CodeGen/X86/avx10_2_512minmax-error.c @@ -113,17 +113,6 @@ __m512 test_mm512_minmax_round_ps(__m512 __A, __m512 __B) { return _mm512_minmax_round_ps(__A, __B, 127, 11); // expected-error {{invalid rounding argument}} } -__m256d test_mm256_minmax_round_pd(__m256d __A, __m256d __B) { - return _mm256_minmax_round_pd(__A, __B, 127, 11); // expected-error {{invalid rounding argument}} -} - -__m256h test_mm256_minmax_round_ph(__m256h __A, __m256h __B) { - return _mm256_minmax_round_ph(__A, __B, 127, 11); // expected-error {{invalid rounding argument}} -} - -__m256 test_mm256_minmax_round_ps(__m256 __A, __m256 __B) { - return _mm256_minmax_round_ps(__A, __B, 127, 11); // expected-error {{invalid rounding argument}} -} __m128d test_mm_minmax_round_sd(__m128d __A, __m128d __B) { return _mm_minmax_round_sd(__A, __B, 127, 11); // expected-error {{invalid rounding argument}} } diff --git a/clang/test/CodeGen/X86/avx10_2_512satcvt-builtins-error.c b/clang/test/CodeGen/X86/avx10_2_512satcvt-builtins-error.c deleted file mode 100755 index 81bf59153e678..0000000000000 --- a/clang/test/CodeGen/X86/avx10_2_512satcvt-builtins-error.c +++ /dev/null @@ -1,198 +0,0 @@ -// RUN: %clang_cc1 %s -flax-vector-conversions=none -ffreestanding -triple=x86_64 -target-feature +avx10.2-512 \ -// RUN: -Wall -Werror -verify -// RUN: %clang_cc1 %s -flax-vector-conversions=none -ffreestanding -triple=i386 -target-feature +avx10.2-512 \ -// RUN: -Wall -Werror -verify - -#include - -__m512i test_mm512_ipcvt_roundph_epi8(__m512h __A) { - return _mm512_ipcvt_roundph_epi8(__A, 22); // expected-error {{invalid rounding argument}} -} - -__m512i test_mm512_mask_ipcvt_roundph_epi8(__m512i __S, __mmask32 __A, __m512h __B) { - return _mm512_mask_ipcvt_roundph_epi8(__S, __A, __B, 22); // expected-error {{invalid rounding argument}} -} - -__m512i test_mm512_maskz_ipcvt_roundph_epi8(__mmask32 __A, __m512h __B) { - return _mm512_maskz_ipcvt_roundph_epi8(__A, __B, 22); // expected-error {{invalid rounding argument}} -} - -__m512i test_mm512_ipcvt_roundph_epu8(__m512h __A) { - return _mm512_ipcvt_roundph_epu8(__A, 22); // expected-error {{invalid rounding argument}} -} - -__m512i test_mm512_mask_ipcvt_roundph_epu8(__m512i __S, __mmask32 __A, __m512h __B) { - return _mm512_mask_ipcvt_roundph_epu8(__S, __A, __B, 22); // expected-error {{invalid rounding argument}} -} - -__m512i test_mm512_maskz_ipcvt_roundph_epu8(__mmask32 __A, __m512h __B) { - return _mm512_maskz_ipcvt_roundph_epu8(__A, __B, 22); // expected-error {{invalid rounding argument}} -} - -__m512i test_mm512_ipcvt_roundps_epi8(__m512 __A) { - return _mm512_ipcvt_roundps_epi8(__A, 22); // expected-error {{invalid rounding argument}} -} - -__m512i test_mm512_mask_ipcvt_roundps_epi8(__m512i __S, __mmask16 __A, __m512 __B) { - return _mm512_mask_ipcvt_roundps_epi8(__S, __A, __B, 22); // expected-error {{invalid rounding argument}} -} - -__m512i test_mm512_maskz_ipcvt_roundps_epi8(__mmask16 __A, __m512 __B) { - return _mm512_maskz_ipcvt_roundps_epi8(__A, __B, 22); // expected-error {{invalid rounding argument}} -} - -__m512i test_mm512_ipcvt_roundps_epu8(__m512 __A) { - return _mm512_ipcvt_roundps_epu8(__A, 22); // expected-error {{invalid rounding argument}} -} - -__m512i test_mm512_mask_ipcvt_roundps_epu8(__m512i __S, __mmask16 __A, __m512 __B) { - return _mm512_mask_ipcvt_roundps_epu8(__S, __A, __B, 22); // expected-error {{invalid rounding argument}} -} - -__m512i test_mm512_maskz_ipcvt_roundps_epu8(__mmask16 __A, __m512 __B) { - return _mm512_maskz_ipcvt_roundps_epu8(__A, __B, 22); // expected-error {{invalid rounding argument}} -} - -__m512i test_mm512_ipcvtt_roundph_epi8(__m512h __A) { - return _mm512_ipcvtt_roundph_epi8(__A, 22); // expected-error {{invalid rounding argument}} -} - -__m512i test_mm512_mask_ipcvtt_roundph_epi8(__m512i __S, __mmask32 __A, __m512h __B) { - return _mm512_mask_ipcvtt_roundph_epi8(__S, __A, __B, 22); // expected-error {{invalid rounding argument}} -} - -__m512i test_mm512_maskz_ipcvtt_roundph_epi8(__mmask32 __A, __m512h __B) { - return _mm512_maskz_ipcvtt_roundph_epi8(__A, __B, 22); // expected-error {{invalid rounding argument}} -} - -__m512i test_mm512_ipcvtt_roundph_epu8(__m512h __A) { - return _mm512_ipcvtt_roundph_epu8(__A, 22); // expected-error {{invalid rounding argument}} -} - -__m512i test_mm512_mask_ipcvtt_roundph_epu8(__m512i __S, __mmask32 __A, __m512h __B) { - return _mm512_mask_ipcvtt_roundph_epu8(__S, __A, __B, 22); // expected-error {{invalid rounding argument}} -} - -__m512i test_mm512_maskz_ipcvtt_roundph_epu8(__mmask32 __A, __m512h __B) { - return _mm512_maskz_ipcvtt_roundph_epu8(__A, __B, 22); // expected-error {{invalid rounding argument}} -} - -__m512i test_mm512_ipcvtt_roundps_epi8(__m512 __A) { - return _mm512_ipcvtt_roundps_epi8(__A, 22); // expected-error {{invalid rounding argument}} -} - -__m512i test_mm512_mask_ipcvtt_roundps_epi8(__m512i __S, __mmask16 __A, __m512 __B) { - return _mm512_mask_ipcvtt_roundps_epi8(__S, __A, __B, 22); // expected-error {{invalid rounding argument}} -} - -__m512i test_mm512_maskz_ipcvtt_roundps_epi8(__mmask16 __A, __m512 __B) { - return _mm512_maskz_ipcvtt_roundps_epi8(__A, __B, 22); // expected-error {{invalid rounding argument}} -} - -__m512i test_mm512_ipcvtt_roundps_epu8(__m512 __A) { - return _mm512_ipcvtt_roundps_epu8(__A, 22); // expected-error {{invalid rounding argument}} -} - -__m512i test_mm512_mask_ipcvtt_roundps_epu8(__m512i __S, __mmask16 __A, __m512 __B) { - return _mm512_mask_ipcvtt_roundps_epu8(__S, __A, __B, 22); // expected-error {{invalid rounding argument}} -} - -__m512i test_mm512_maskz_ipcvtt_roundps_epu8(__mmask16 __A, __m512 __B) { - return _mm512_maskz_ipcvtt_roundps_epu8(__A, __B, 22); // expected-error {{invalid rounding argument}} -} - -__m256i test_mm256_ipcvt_roundph_epi8(__m256h __A) { - return _mm256_ipcvt_roundph_epi8(__A, 22); // expected-error {{invalid rounding argument}} -} - -__m256i test_mm256_mask_ipcvt_roundph_epi8(__m256i __S, __mmask16 __A, __m256h __B) { - return _mm256_mask_ipcvt_roundph_epi8(__S, __A, __B, 22); // expected-error {{invalid rounding argument}} -} - -__m256i test_mm256_maskz_ipcvt_roundph_epi8(__mmask16 __A, __m256h __B) { - return _mm256_maskz_ipcvt_roundph_epi8(__A, __B, 22); // expected-error {{invalid rounding argument}} -} - -__m256i test_mm256_ipcvt_roundph_epu8(__m256h __A) { - return _mm256_ipcvt_roundph_epu8(__A, 22); // expected-error {{invalid rounding argument}} -} - -__m256i test_mm256_mask_ipcvt_roundph_epu8(__m256i __S, __mmask16 __A, __m256h __B) { - return _mm256_mask_ipcvt_roundph_epu8(__S, __A, __B, 22); // expected-error {{invalid rounding argument}} -} - -__m256i test_mm256_maskz_ipcvt_roundph_epu8(__mmask16 __A, __m256h __B) { - return _mm256_maskz_ipcvt_roundph_epu8(__A, __B, 22); // expected-error {{invalid rounding argument}} -} - -__m256i test_mm256_ipcvt_roundps_epi8(__m256 __A) { - return _mm256_ipcvt_roundps_epi8(__A, 22); // expected-error {{invalid rounding argument}} -} - -__m256i test_mm256_mask_ipcvt_roundps_epi8(__m256i __S, __mmask8 __A, __m256 __B) { - return _mm256_mask_ipcvt_roundps_epi8(__S, __A, __B, 22); // expected-error {{invalid rounding argument}} -} - -__m256i test_mm256_maskz_ipcvt_roundps_epi8(__mmask8 __A, __m256 __B) { - return _mm256_maskz_ipcvt_roundps_epi8(__A, __B, 22); // expected-error {{invalid rounding argument}} -} - -__m256i test_mm256_ipcvt_roundps_epu8(__m256 __A) { - return _mm256_ipcvt_roundps_epu8(__A, 22); // expected-error {{invalid rounding argument}} -} - -__m256i test_mm256_mask_ipcvt_roundps_epu8(__m256i __S, __mmask8 __A, __m256 __B) { - return _mm256_mask_ipcvt_roundps_epu8(__S, __A, __B, 22); // expected-error {{invalid rounding argument}} -} - -__m256i test_mm256_maskz_ipcvt_roundps_epu8(__mmask8 __A, __m256 __B) { - return _mm256_maskz_ipcvt_roundps_epu8(__A, __B, 22); // expected-error {{invalid rounding argument}} -} - -__m256i test_mm256_ipcvtt_roundph_epi8(__m256h __A) { - return _mm256_ipcvtt_roundph_epi8(__A, 22); // expected-error {{invalid rounding argument}} -} - -__m256i test_mm256_mask_ipcvtt_roundph_epi8(__m256i __S, __mmask16 __A, __m256h __B) { - return _mm256_mask_ipcvtt_roundph_epi8(__S, __A, __B, 22); // expected-error {{invalid rounding argument}} -} - -__m256i test_mm256_maskz_ipcvtt_roundph_epi8(__mmask16 __A, __m256h __B) { - return _mm256_maskz_ipcvtt_roundph_epi8(__A, __B, 22); // expected-error {{invalid rounding argument}} -} - -__m256i test_mm256_ipcvtt_roundph_epu8(__m256h __A) { - return _mm256_ipcvtt_roundph_epu8(__A, 22); // expected-error {{invalid rounding argument}} -} - -__m256i test_mm256_mask_ipcvtt_roundph_epu8(__m256i __S, __mmask16 __A, __m256h __B) { - return _mm256_mask_ipcvtt_roundph_epu8(__S, __A, __B, 22); // expected-error {{invalid rounding argument}} -} - -__m256i test_mm256_maskz_ipcvtt_roundph_epu8(__mmask16 __A, __m256h __B) { - return _mm256_maskz_ipcvtt_roundph_epu8(__A, __B, 22); // expected-error {{invalid rounding argument}} -} - -__m256i test_mm256_ipcvtt_roundps_epi8(__m256 __A) { - return _mm256_ipcvtt_roundps_epi8(__A, 22); // expected-error {{invalid rounding argument}} -} - -__m256i test_mm256_mask_ipcvtt_roundps_epi8(__m256i __S, __mmask8 __A, __m256 __B) { - return _mm256_mask_ipcvtt_roundps_epi8(__S, __A, __B, 22); // expected-error {{invalid rounding argument}} -} - -__m256i test_mm256_maskz_ipcvtt_roundps_epi8(__mmask8 __A, __m256 __B) { - return _mm256_maskz_ipcvtt_roundps_epi8(__A, __B, 22); // expected-error {{invalid rounding argument}} -} - -__m256i test_mm256_ipcvtt_roundps_epu8(__m256 __A) { - return _mm256_ipcvtt_roundps_epu8(__A, 22); // expected-error {{invalid rounding argument}} -} - -__m256i test_mm256_mask_ipcvtt_roundps_epu8(__m256i __S, __mmask8 __A, __m256 __B) { - return _mm256_mask_ipcvtt_roundps_epu8(__S, __A, __B, 22); // expected-error {{invalid rounding argument}} -} - -__m256i test_mm256_maskz_ipcvtt_roundps_epu8(__mmask8 __A, __m256 __B) { - return _mm256_maskz_ipcvtt_roundps_epu8(__A, __B, 22); // expected-error {{invalid rounding argument}} -} diff --git a/clang/test/CodeGen/X86/avx10_2_512satcvt-builtins.c b/clang/test/CodeGen/X86/avx10_2_512satcvt-builtins.c index 0d3b0c278b44a..0a1c329144398 100755 --- a/clang/test/CodeGen/X86/avx10_2_512satcvt-builtins.c +++ b/clang/test/CodeGen/X86/avx10_2_512satcvt-builtins.c @@ -5,375 +5,375 @@ #include -__m512i test_mm512_ipcvtbf16_epi8(__m512bh __A) { - // CHECK-LABEL: @test_mm512_ipcvtbf16_epi8( +__m512i test_mm512_ipcvts_bf16_epi8(__m512bh __A) { + // CHECK-LABEL: @test_mm512_ipcvts_bf16_epi8( // CHECK: @llvm.x86.avx10.vcvtbf162ibs512 - return _mm512_ipcvtbf16_epi8(__A); + return _mm512_ipcvts_bf16_epi8(__A); } -__m512i test_mm512_mask_ipcvtbf16_epi8(__m512i __S, __mmask32 __A, __m512bh __B) { - // CHECK-LABEL: @test_mm512_mask_ipcvtbf16_epi8( +__m512i test_mm512_mask_ipcvts_bf16_epi8(__m512i __S, __mmask32 __A, __m512bh __B) { + // CHECK-LABEL: @test_mm512_mask_ipcvts_bf16_epi8( // CHECK: @llvm.x86.avx10.vcvtbf162ibs512 // CHECK: select <32 x i1> %{{.*}}, <32 x i16> %{{.*}}, <32 x i16> %{{.*}} - return _mm512_mask_ipcvtbf16_epi8(__S, __A, __B); + return _mm512_mask_ipcvts_bf16_epi8(__S, __A, __B); } -__m512i test_mm512_maskz_ipcvtbf16_epi8(__mmask32 __A, __m512bh __B) { - // CHECK-LABEL: @test_mm512_maskz_ipcvtbf16_epi8 +__m512i test_mm512_maskz_ipcvts_bf16_epi8(__mmask32 __A, __m512bh __B) { + // CHECK-LABEL: @test_mm512_maskz_ipcvts_bf16_epi8 // CHECK: @llvm.x86.avx10.vcvtbf162ibs512 // CHECK: zeroinitializer // CHECK: select <32 x i1> %{{.*}}, <32 x i16> %{{.*}}, <32 x i16> %{{.*}} - return _mm512_maskz_ipcvtbf16_epi8(__A, __B); + return _mm512_maskz_ipcvts_bf16_epi8(__A, __B); } -__m512i test_mm512_ipcvtbf16_epu8(__m512bh __A) { - // CHECK-LABEL: @test_mm512_ipcvtbf16_epu8( +__m512i test_mm512_ipcvts_bf16_epu8(__m512bh __A) { + // CHECK-LABEL: @test_mm512_ipcvts_bf16_epu8( // CHECK: @llvm.x86.avx10.vcvtbf162iubs512 - return _mm512_ipcvtbf16_epu8(__A); + return _mm512_ipcvts_bf16_epu8(__A); } -__m512i test_mm512_mask_ipcvtbf16_epu8(__m512i __S, __mmask32 __A, __m512bh __B) { - // CHECK-LABEL: @test_mm512_mask_ipcvtbf16_epu8( +__m512i test_mm512_mask_ipcvts_bf16_epu8(__m512i __S, __mmask32 __A, __m512bh __B) { + // CHECK-LABEL: @test_mm512_mask_ipcvts_bf16_epu8( // CHECK: @llvm.x86.avx10.vcvtbf162iubs512 // CHECK: select <32 x i1> %{{.*}}, <32 x i16> %{{.*}}, <32 x i16> %{{.*}} - return _mm512_mask_ipcvtbf16_epu8(__S, __A, __B); + return _mm512_mask_ipcvts_bf16_epu8(__S, __A, __B); } -__m512i test_mm512_maskz_ipcvtbf16_epu8(__mmask32 __A, __m512bh __B) { - // CHECK-LABEL: @test_mm512_maskz_ipcvtbf16_epu8 +__m512i test_mm512_maskz_ipcvts_bf16_epu8(__mmask32 __A, __m512bh __B) { + // CHECK-LABEL: @test_mm512_maskz_ipcvts_bf16_epu8 // CHECK: @llvm.x86.avx10.vcvtbf162iubs512 // CHECK: zeroinitializer // CHECK: select <32 x i1> %{{.*}}, <32 x i16> %{{.*}}, <32 x i16> %{{.*}} - return _mm512_maskz_ipcvtbf16_epu8(__A, __B); + return _mm512_maskz_ipcvts_bf16_epu8(__A, __B); } -__m512i test_mm512_ipcvtph_epi8(__m512h __A) { - // CHECK-LABEL: @test_mm512_ipcvtph_epi8( +__m512i test_mm512_ipcvts_ph_epi8(__m512h __A) { + // CHECK-LABEL: @test_mm512_ipcvts_ph_epi8( // CHECK: @llvm.x86.avx10.mask.vcvtph2ibs512 - return _mm512_ipcvtph_epi8(__A); + return _mm512_ipcvts_ph_epi8(__A); } -__m512i test_mm512_mask_ipcvtph_epi8(__m512i __S, __mmask32 __A, __m512h __B) { - // CHECK-LABEL: @test_mm512_mask_ipcvtph_epi8( +__m512i test_mm512_mask_ipcvts_ph_epi8(__m512i __S, __mmask32 __A, __m512h __B) { + // CHECK-LABEL: @test_mm512_mask_ipcvts_ph_epi8( // CHECK: @llvm.x86.avx10.mask.vcvtph2ibs512 - return _mm512_mask_ipcvtph_epi8(__S, __A, __B); + return _mm512_mask_ipcvts_ph_epi8(__S, __A, __B); } -__m512i test_mm512_maskz_ipcvtph_epi8(__mmask32 __A, __m512h __B) { - // CHECK-LABEL: @test_mm512_maskz_ipcvtph_epi8( +__m512i test_mm512_maskz_ipcvts_ph_epi8(__mmask32 __A, __m512h __B) { + // CHECK-LABEL: @test_mm512_maskz_ipcvts_ph_epi8( // CHECK: @llvm.x86.avx10.mask.vcvtph2ibs512 - return _mm512_maskz_ipcvtph_epi8(__A, __B); + return _mm512_maskz_ipcvts_ph_epi8(__A, __B); } -__m512i test_mm512_ipcvt_roundph_epi8(__m512h __A) { - // CHECK-LABEL: @test_mm512_ipcvt_roundph_epi8( +__m512i test_mm512_ipcvts_roundph_epi8(__m512h __A) { + // CHECK-LABEL: @test_mm512_ipcvts_roundph_epi8( // CHECK: @llvm.x86.avx10.mask.vcvtph2ibs512 - return _mm512_ipcvt_roundph_epi8(__A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); + return _mm512_ipcvts_roundph_epi8(__A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); } -__m512i test_mm512_mask_ipcvt_roundph_epi8(__m512i __S, __mmask32 __A, __m512h __B) { - // CHECK-LABEL: @test_mm512_mask_ipcvt_roundph_epi8 +__m512i test_mm512_mask_ipcvts_roundph_epi8(__m512i __S, __mmask32 __A, __m512h __B) { + // CHECK-LABEL: @test_mm512_mask_ipcvts_roundph_epi8 // CHECK: @llvm.x86.avx10.mask.vcvtph2ibs512 - return _mm512_mask_ipcvt_roundph_epi8(__S, __A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); + return _mm512_mask_ipcvts_roundph_epi8(__S, __A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); } -__m512i test_mm512_maskz_ipcvt_roundph_epi8(__mmask32 __A, __m512h __B) { - // CHECK-LABEL: @test_mm512_maskz_ipcvt_roundph_epi8 +__m512i test_mm512_maskz_ipcvts_roundph_epi8(__mmask32 __A, __m512h __B) { + // CHECK-LABEL: @test_mm512_maskz_ipcvts_roundph_epi8 // CHECK: @llvm.x86.avx10.mask.vcvtph2ibs512 - return _mm512_maskz_ipcvt_roundph_epi8(__A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); + return _mm512_maskz_ipcvts_roundph_epi8(__A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); } -__m512i test_mm512_ipcvtph_epu8(__m512h __A) { - // CHECK-LABEL: @test_mm512_ipcvtph_epu8( +__m512i test_mm512_ipcvts_ph_epu8(__m512h __A) { + // CHECK-LABEL: @test_mm512_ipcvts_ph_epu8( // CHECK: @llvm.x86.avx10.mask.vcvtph2iubs512 - return _mm512_ipcvtph_epu8(__A); + return _mm512_ipcvts_ph_epu8(__A); } -__m512i test_mm512_mask_ipcvtph_epu8(__m512i __S, __mmask32 __A, __m512h __B) { - // CHECK-LABEL: @test_mm512_mask_ipcvtph_epu8( +__m512i test_mm512_mask_ipcvts_ph_epu8(__m512i __S, __mmask32 __A, __m512h __B) { + // CHECK-LABEL: @test_mm512_mask_ipcvts_ph_epu8( // CHECK: @llvm.x86.avx10.mask.vcvtph2iubs512 - return _mm512_mask_ipcvtph_epu8(__S, __A, __B); + return _mm512_mask_ipcvts_ph_epu8(__S, __A, __B); } -__m512i test_mm512_maskz_ipcvtph_epu8(__mmask32 __A, __m512h __B) { - // CHECK-LABEL: @test_mm512_maskz_ipcvtph_epu8( +__m512i test_mm512_maskz_ipcvts_ph_epu8(__mmask32 __A, __m512h __B) { + // CHECK-LABEL: @test_mm512_maskz_ipcvts_ph_epu8( // CHECK: @llvm.x86.avx10.mask.vcvtph2iubs512 - return _mm512_maskz_ipcvtph_epu8(__A, __B); + return _mm512_maskz_ipcvts_ph_epu8(__A, __B); } -__m512i test_mm512_ipcvt_roundph_epu8(__m512h __A) { - // CHECK-LABEL: @test_mm512_ipcvt_roundph_epu8( +__m512i test_mm512_ipcvts_roundph_epu8(__m512h __A) { + // CHECK-LABEL: @test_mm512_ipcvts_roundph_epu8( // CHECK: @llvm.x86.avx10.mask.vcvtph2iubs512 - return _mm512_ipcvt_roundph_epu8(__A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); + return _mm512_ipcvts_roundph_epu8(__A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); } -__m512i test_mm512_mask_ipcvt_roundph_epu8(__m512i __S, __mmask32 __A, __m512h __B) { - // CHECK-LABEL: @test_mm512_mask_ipcvt_roundph_epu8 +__m512i test_mm512_mask_ipcvts_roundph_epu8(__m512i __S, __mmask32 __A, __m512h __B) { + // CHECK-LABEL: @test_mm512_mask_ipcvts_roundph_epu8 // CHECK: @llvm.x86.avx10.mask.vcvtph2iubs512 - return _mm512_mask_ipcvt_roundph_epu8(__S, __A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); + return _mm512_mask_ipcvts_roundph_epu8(__S, __A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); } -__m512i test_mm512_maskz_ipcvt_roundph_epu8(__mmask32 __A, __m512h __B) { - // CHECK-LABEL: @test_mm512_maskz_ipcvt_roundph_epu8 +__m512i test_mm512_maskz_ipcvts_roundph_epu8(__mmask32 __A, __m512h __B) { + // CHECK-LABEL: @test_mm512_maskz_ipcvts_roundph_epu8 // CHECK: @llvm.x86.avx10.mask.vcvtph2iubs512 - return _mm512_maskz_ipcvt_roundph_epu8(__A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); + return _mm512_maskz_ipcvts_roundph_epu8(__A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); } -__m512i test_mm512_ipcvtps_epi8(__m512 __A) { - // CHECK-LABEL: @test_mm512_ipcvtps_epi8( +__m512i test_mm512_ipcvts_ps_epi8(__m512 __A) { + // CHECK-LABEL: @test_mm512_ipcvts_ps_epi8( // CHECK: @llvm.x86.avx10.mask.vcvtps2ibs512 - return _mm512_ipcvtps_epi8(__A); + return _mm512_ipcvts_ps_epi8(__A); } -__m512i test_mm512_mask_ipcvtps_epi8(__m512i __S, __mmask16 __A, __m512 __B) { - // CHECK-LABEL: @test_mm512_mask_ipcvtps_epi8( +__m512i test_mm512_mask_ipcvts_ps_epi8(__m512i __S, __mmask16 __A, __m512 __B) { + // CHECK-LABEL: @test_mm512_mask_ipcvts_ps_epi8( // CHECK: @llvm.x86.avx10.mask.vcvtps2ibs512 - return _mm512_mask_ipcvtps_epi8(__S, __A, __B); + return _mm512_mask_ipcvts_ps_epi8(__S, __A, __B); } -__m512i test_mm512_maskz_ipcvtps_epi8(__mmask16 __A, __m512 __B) { - // CHECK-LABEL: @test_mm512_maskz_ipcvtps_epi8( +__m512i test_mm512_maskz_ipcvts_ps_epi8(__mmask16 __A, __m512 __B) { + // CHECK-LABEL: @test_mm512_maskz_ipcvts_ps_epi8( // CHECK: @llvm.x86.avx10.mask.vcvtps2ibs512 - return _mm512_maskz_ipcvtps_epi8(__A, __B); + return _mm512_maskz_ipcvts_ps_epi8(__A, __B); } -__m512i test_mm512_ipcvt_roundps_epi8(__m512 __A) { - // CHECK-LABEL: @test_mm512_ipcvt_roundps_epi8( +__m512i test_mm512_ipcvts_roundps_epi8(__m512 __A) { + // CHECK-LABEL: @test_mm512_ipcvts_roundps_epi8( // CHECK: @llvm.x86.avx10.mask.vcvtps2ibs512 - return _mm512_ipcvt_roundps_epi8(__A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); + return _mm512_ipcvts_roundps_epi8(__A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); } -__m512i test_mm512_mask_ipcvt_roundps_epi8(__m512i __S, __mmask16 __A, __m512 __B) { - // CHECK-LABEL: @test_mm512_mask_ipcvt_roundps_epi8 +__m512i test_mm512_mask_ipcvts_roundps_epi8(__m512i __S, __mmask16 __A, __m512 __B) { + // CHECK-LABEL: @test_mm512_mask_ipcvts_roundps_epi8 // CHECK: @llvm.x86.avx10.mask.vcvtps2ibs512 - return _mm512_mask_ipcvt_roundps_epi8(__S, __A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); + return _mm512_mask_ipcvts_roundps_epi8(__S, __A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); } -__m512i test_mm512_maskz_ipcvt_roundps_epi8(__mmask16 __A, __m512 __B) { - // CHECK-LABEL: @test_mm512_maskz_ipcvt_roundps_epi8 +__m512i test_mm512_maskz_ipcvts_roundps_epi8(__mmask16 __A, __m512 __B) { + // CHECK-LABEL: @test_mm512_maskz_ipcvts_roundps_epi8 // CHECK: @llvm.x86.avx10.mask.vcvtps2ibs512 - return _mm512_maskz_ipcvt_roundps_epi8(__A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); + return _mm512_maskz_ipcvts_roundps_epi8(__A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); } -__m512i test_mm512_ipcvtps_epu8(__m512 __A) { - // CHECK-LABEL: @test_mm512_ipcvtps_epu8( +__m512i test_mm512_ipcvts_ps_epu8(__m512 __A) { + // CHECK-LABEL: @test_mm512_ipcvts_ps_epu8( // CHECK: @llvm.x86.avx10.mask.vcvtps2iubs512 - return _mm512_ipcvtps_epu8(__A); + return _mm512_ipcvts_ps_epu8(__A); } -__m512i test_mm512_mask_ipcvtps_epu8(__m512i __S, __mmask16 __A, __m512 __B) { - // CHECK-LABEL: @test_mm512_mask_ipcvtps_epu8( +__m512i test_mm512_mask_ipcvts_ps_epu8(__m512i __S, __mmask16 __A, __m512 __B) { + // CHECK-LABEL: @test_mm512_mask_ipcvts_ps_epu8( // CHECK: @llvm.x86.avx10.mask.vcvtps2iubs512 - return _mm512_mask_ipcvtps_epu8(__S, __A, __B); + return _mm512_mask_ipcvts_ps_epu8(__S, __A, __B); } -__m512i test_mm512_maskz_ipcvtps_epu8(__mmask16 __A, __m512 __B) { - // CHECK-LABEL: @test_mm512_maskz_ipcvtps_epu8( +__m512i test_mm512_maskz_ipcvts_ps_epu8(__mmask16 __A, __m512 __B) { + // CHECK-LABEL: @test_mm512_maskz_ipcvts_ps_epu8( // CHECK: @llvm.x86.avx10.mask.vcvtps2iubs512 - return _mm512_maskz_ipcvtps_epu8(__A, __B); + return _mm512_maskz_ipcvts_ps_epu8(__A, __B); } -__m512i test_mm512_ipcvt_roundps_epu8(__m512 __A) { - // CHECK-LABEL: @test_mm512_ipcvt_roundps_epu8( +__m512i test_mm512_ipcvts_roundps_epu8(__m512 __A) { + // CHECK-LABEL: @test_mm512_ipcvts_roundps_epu8( // CHECK: @llvm.x86.avx10.mask.vcvtps2iubs512 - return _mm512_ipcvt_roundps_epu8(__A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); + return _mm512_ipcvts_roundps_epu8(__A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); } -__m512i test_mm512_mask_ipcvt_roundps_epu8(__m512i __S, __mmask16 __A, __m512 __B) { - // CHECK-LABEL: @test_mm512_mask_ipcvt_roundps_epu8 +__m512i test_mm512_mask_ipcvts_roundps_epu8(__m512i __S, __mmask16 __A, __m512 __B) { + // CHECK-LABEL: @test_mm512_mask_ipcvts_roundps_epu8 // CHECK: @llvm.x86.avx10.mask.vcvtps2iubs512 - return _mm512_mask_ipcvt_roundps_epu8(__S, __A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); + return _mm512_mask_ipcvts_roundps_epu8(__S, __A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); } -__m512i test_mm512_maskz_ipcvt_roundps_epu8(__mmask16 __A, __m512 __B) { - // CHECK-LABEL: @test_mm512_maskz_ipcvt_roundps_epu8 +__m512i test_mm512_maskz_ipcvts_roundps_epu8(__mmask16 __A, __m512 __B) { + // CHECK-LABEL: @test_mm512_maskz_ipcvts_roundps_epu8 // CHECK: @llvm.x86.avx10.mask.vcvtps2iubs512 - return _mm512_maskz_ipcvt_roundps_epu8(__A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); + return _mm512_maskz_ipcvts_roundps_epu8(__A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); } -__m512i test_mm512_ipcvttbf16_epi8(__m512bh __A) { - // CHECK-LABEL: @test_mm512_ipcvttbf16_epi8( +__m512i test_mm512_ipcvtts_bf16_epi8(__m512bh __A) { + // CHECK-LABEL: @test_mm512_ipcvtts_bf16_epi8( // CHECK: @llvm.x86.avx10.vcvttbf162ibs512( - return _mm512_ipcvttbf16_epi8(__A); + return _mm512_ipcvtts_bf16_epi8(__A); } -__m512i test_mm512_mask_ipcvttbf16_epi8(__m512i __S, __mmask32 __A, __m512bh __B) { - // CHECK-LABEL: @test_mm512_mask_ipcvttbf16_epi8( +__m512i test_mm512_mask_ipcvtts_bf16_epi8(__m512i __S, __mmask32 __A, __m512bh __B) { + // CHECK-LABEL: @test_mm512_mask_ipcvtts_bf16_epi8( // CHECK: @llvm.x86.avx10.vcvttbf162ibs512( // CHECK: select <32 x i1> %{{.*}}, <32 x i16> %{{.*}}, <32 x i16> %{{.*}} - return _mm512_mask_ipcvttbf16_epi8(__S, __A, __B); + return _mm512_mask_ipcvtts_bf16_epi8(__S, __A, __B); } -__m512i test_mm512_maskz_ipcvttbf16_epi8(__mmask32 __A, __m512bh __B) { - // CHECK-LABEL: @test_mm512_maskz_ipcvttbf16_epi8 +__m512i test_mm512_maskz_ipcvtts_bf16_epi8(__mmask32 __A, __m512bh __B) { + // CHECK-LABEL: @test_mm512_maskz_ipcvtts_bf16_epi8 // CHECK: @llvm.x86.avx10.vcvttbf162ibs512( // CHECK: zeroinitializer // CHECK: select <32 x i1> %{{.*}}, <32 x i16> %{{.*}}, <32 x i16> %{{.*}} - return _mm512_maskz_ipcvttbf16_epi8(__A, __B); + return _mm512_maskz_ipcvtts_bf16_epi8(__A, __B); } -__m512i test_mm512_ipcvttbf16_epu8(__m512bh __A) { - // CHECK-LABEL: @test_mm512_ipcvttbf16_epu8( +__m512i test_mm512_ipcvtts_bf16_epu8(__m512bh __A) { + // CHECK-LABEL: @test_mm512_ipcvtts_bf16_epu8( // CHECK: @llvm.x86.avx10.vcvttbf162iubs512( - return _mm512_ipcvttbf16_epu8(__A); + return _mm512_ipcvtts_bf16_epu8(__A); } -__m512i test_mm512_mask_ipcvttbf16_epu8(__m512i __S, __mmask32 __A, __m512bh __B) { - // CHECK-LABEL: @test_mm512_mask_ipcvttbf16_epu8( +__m512i test_mm512_mask_ipcvtts_bf16_epu8(__m512i __S, __mmask32 __A, __m512bh __B) { + // CHECK-LABEL: @test_mm512_mask_ipcvtts_bf16_epu8( // CHECK: @llvm.x86.avx10.vcvttbf162iubs512( // CHECK: select <32 x i1> %{{.*}}, <32 x i16> %{{.*}}, <32 x i16> %{{.*}} - return _mm512_mask_ipcvttbf16_epu8(__S, __A, __B); + return _mm512_mask_ipcvtts_bf16_epu8(__S, __A, __B); } -__m512i test_mm512_maskz_ipcvttbf16_epu8(__mmask32 __A, __m512bh __B) { - // CHECK-LABEL: @test_mm512_maskz_ipcvttbf16_epu8 +__m512i test_mm512_maskz_ipcvtts_bf16_epu8(__mmask32 __A, __m512bh __B) { + // CHECK-LABEL: @test_mm512_maskz_ipcvtts_bf16_epu8 // CHECK: @llvm.x86.avx10.vcvttbf162iubs512( // CHECK: zeroinitializer // CHECK: select <32 x i1> %{{.*}}, <32 x i16> %{{.*}}, <32 x i16> %{{.*}} - return _mm512_maskz_ipcvttbf16_epu8(__A, __B); + return _mm512_maskz_ipcvtts_bf16_epu8(__A, __B); } -__m512i test_mm512_ipcvttph_epi8(__m512h __A) { - // CHECK-LABEL: @test_mm512_ipcvttph_epi8( +__m512i test_mm512_ipcvtts_ph_epi8(__m512h __A) { + // CHECK-LABEL: @test_mm512_ipcvtts_ph_epi8( // CHECK: @llvm.x86.avx10.mask.vcvttph2ibs512 - return _mm512_ipcvttph_epi8(__A); + return _mm512_ipcvtts_ph_epi8(__A); } -__m512i test_mm512_mask_ipcvttph_epi8(__m512i __S, __mmask32 __A, __m512h __B) { - // CHECK-LABEL: @test_mm512_mask_ipcvttph_epi8( +__m512i test_mm512_mask_ipcvtts_ph_epi8(__m512i __S, __mmask32 __A, __m512h __B) { + // CHECK-LABEL: @test_mm512_mask_ipcvtts_ph_epi8( // CHECK: @llvm.x86.avx10.mask.vcvttph2ibs512 - return _mm512_mask_ipcvttph_epi8(__S, __A, __B); + return _mm512_mask_ipcvtts_ph_epi8(__S, __A, __B); } -__m512i test_mm512_maskz_ipcvttph_epi8(__mmask32 __A, __m512h __B) { - // CHECK-LABEL: @test_mm512_maskz_ipcvttph_epi8 +__m512i test_mm512_maskz_ipcvtts_ph_epi8(__mmask32 __A, __m512h __B) { + // CHECK-LABEL: @test_mm512_maskz_ipcvtts_ph_epi8 // CHECK: @llvm.x86.avx10.mask.vcvttph2ibs512 - return _mm512_maskz_ipcvttph_epi8(__A, __B); + return _mm512_maskz_ipcvtts_ph_epi8(__A, __B); } -__m512i test_mm512_ipcvtt_roundph_epi8(__m512h __A) { - // CHECK-LABEL: @test_mm512_ipcvtt_roundph_epi8 +__m512i test_mm512_ipcvtts_roundph_epi8(__m512h __A) { + // CHECK-LABEL: @test_mm512_ipcvtts_roundph_epi8 // CHECK: @llvm.x86.avx10.mask.vcvttph2ibs512 - return _mm512_ipcvtt_roundph_epi8(__A, _MM_FROUND_NO_EXC); + return _mm512_ipcvtts_roundph_epi8(__A, _MM_FROUND_NO_EXC); } -__m512i test_mm512_mask_ipcvtt_roundph_epi8(__m512i __S, __mmask32 __A, __m512h __B) { - // CHECK-LABEL: @test_mm512_mask_ipcvtt_roundph_epi8 +__m512i test_mm512_mask_ipcvtts_roundph_epi8(__m512i __S, __mmask32 __A, __m512h __B) { + // CHECK-LABEL: @test_mm512_mask_ipcvtts_roundph_epi8 // CHECK: @llvm.x86.avx10.mask.vcvttph2ibs512 - return _mm512_mask_ipcvtt_roundph_epi8(__S, __A, __B, _MM_FROUND_NO_EXC); + return _mm512_mask_ipcvtts_roundph_epi8(__S, __A, __B, _MM_FROUND_NO_EXC); } -__m512i test_mm512_maskz_ipcvtt_roundph_epi8(__mmask32 __A, __m512h __B) { - // CHECK-LABEL: @test_mm512_maskz_ipcvtt_roundph_epi8 +__m512i test_mm512_maskz_ipcvtts_roundph_epi8(__mmask32 __A, __m512h __B) { + // CHECK-LABEL: @test_mm512_maskz_ipcvtts_roundph_epi8 // CHECK: @llvm.x86.avx10.mask.vcvttph2ibs512 - return _mm512_maskz_ipcvtt_roundph_epi8(__A, __B, _MM_FROUND_NO_EXC); + return _mm512_maskz_ipcvtts_roundph_epi8(__A, __B, _MM_FROUND_NO_EXC); } -__m512i test_mm512_ipcvttph_epu8(__m512h __A) { - // CHECK-LABEL: @test_mm512_ipcvttph_epu8( +__m512i test_mm512_ipcvtts_ph_epu8(__m512h __A) { + // CHECK-LABEL: @test_mm512_ipcvtts_ph_epu8( // CHECK: @llvm.x86.avx10.mask.vcvttph2iubs512 - return _mm512_ipcvttph_epu8(__A); + return _mm512_ipcvtts_ph_epu8(__A); } -__m512i test_mm512_mask_ipcvttph_epu8(__m512i __S, __mmask32 __A, __m512h __B) { - // CHECK-LABEL: @test_mm512_mask_ipcvttph_epu8( +__m512i test_mm512_mask_ipcvtts_ph_epu8(__m512i __S, __mmask32 __A, __m512h __B) { + // CHECK-LABEL: @test_mm512_mask_ipcvtts_ph_epu8( // CHECK: @llvm.x86.avx10.mask.vcvttph2iubs512 - return _mm512_mask_ipcvttph_epu8(__S, __A, __B); + return _mm512_mask_ipcvtts_ph_epu8(__S, __A, __B); } -__m512i test_mm512_maskz_ipcvttph_epu8(__mmask32 __A, __m512h __B) { - // CHECK-LABEL: @test_mm512_maskz_ipcvttph_epu8 +__m512i test_mm512_maskz_ipcvtts_ph_epu8(__mmask32 __A, __m512h __B) { + // CHECK-LABEL: @test_mm512_maskz_ipcvtts_ph_epu8 // CHECK: @llvm.x86.avx10.mask.vcvttph2iubs512 - return _mm512_maskz_ipcvttph_epu8(__A, __B); + return _mm512_maskz_ipcvtts_ph_epu8(__A, __B); } -__m512i test_mm512_ipcvtt_roundph_epu8(__m512h __A) { - // CHECK-LABEL: @test_mm512_ipcvtt_roundph_epu8 +__m512i test_mm512_ipcvtts_roundph_epu8(__m512h __A) { + // CHECK-LABEL: @test_mm512_ipcvtts_roundph_epu8 // CHECK: @llvm.x86.avx10.mask.vcvttph2iubs512 - return _mm512_ipcvtt_roundph_epu8(__A, _MM_FROUND_NO_EXC); + return _mm512_ipcvtts_roundph_epu8(__A, _MM_FROUND_NO_EXC); } -__m512i test_mm512_mask_ipcvtt_roundph_epu8(__m512i __S, __mmask32 __A, __m512h __B) { - // CHECK-LABEL: @test_mm512_mask_ipcvtt_roundph_epu8 +__m512i test_mm512_mask_ipcvtts_roundph_epu8(__m512i __S, __mmask32 __A, __m512h __B) { + // CHECK-LABEL: @test_mm512_mask_ipcvtts_roundph_epu8 // CHECK: @llvm.x86.avx10.mask.vcvttph2iubs512 - return _mm512_mask_ipcvtt_roundph_epu8(__S, __A, __B, _MM_FROUND_NO_EXC); + return _mm512_mask_ipcvtts_roundph_epu8(__S, __A, __B, _MM_FROUND_NO_EXC); } -__m512i test_mm512_maskz_ipcvtt_roundph_epu8(__mmask32 __A, __m512h __B) { - // CHECK-LABEL: @test_mm512_maskz_ipcvtt_roundph_epu8 +__m512i test_mm512_maskz_ipcvtts_roundph_epu8(__mmask32 __A, __m512h __B) { + // CHECK-LABEL: @test_mm512_maskz_ipcvtts_roundph_epu8 // CHECK: @llvm.x86.avx10.mask.vcvttph2iubs512 - return _mm512_maskz_ipcvtt_roundph_epu8(__A, __B, _MM_FROUND_NO_EXC); + return _mm512_maskz_ipcvtts_roundph_epu8(__A, __B, _MM_FROUND_NO_EXC); } -__m512i test_mm512_ipcvttps_epi8(__m512 __A) { - // CHECK-LABEL: @test_mm512_ipcvttps_epi8( +__m512i test_mm512_ipcvtts_ps_epi8(__m512 __A) { + // CHECK-LABEL: @test_mm512_ipcvtts_ps_epi8( // CHECK: @llvm.x86.avx10.mask.vcvttps2ibs512 - return _mm512_ipcvttps_epi8(__A); + return _mm512_ipcvtts_ps_epi8(__A); } -__m512i test_mm512_mask_ipcvttps_epi8(__m512i __S, __mmask16 __A, __m512 __B) { - // CHECK-LABEL: @test_mm512_mask_ipcvttps_epi8( +__m512i test_mm512_mask_ipcvtts_ps_epi8(__m512i __S, __mmask16 __A, __m512 __B) { + // CHECK-LABEL: @test_mm512_mask_ipcvtts_ps_epi8( // CHECK: @llvm.x86.avx10.mask.vcvttps2ibs512 - return _mm512_mask_ipcvttps_epi8(__S, __A, __B); + return _mm512_mask_ipcvtts_ps_epi8(__S, __A, __B); } -__m512i test_mm512_maskz_ipcvttps_epi8(__mmask16 __A, __m512 __B) { - // CHECK-LABEL: @test_mm512_maskz_ipcvttps_epi8 +__m512i test_mm512_maskz_ipcvtts_ps_epi8(__mmask16 __A, __m512 __B) { + // CHECK-LABEL: @test_mm512_maskz_ipcvtts_ps_epi8 // CHECK: @llvm.x86.avx10.mask.vcvttps2ibs512 - return _mm512_maskz_ipcvttps_epi8(__A, __B); + return _mm512_maskz_ipcvtts_ps_epi8(__A, __B); } -__m512i test_mm512_ipcvtt_roundps_epi8(__m512 __A) { - // CHECK-LABEL: @test_mm512_ipcvtt_roundps_epi8 +__m512i test_mm512_ipcvtts_roundps_epi8(__m512 __A) { + // CHECK-LABEL: @test_mm512_ipcvtts_roundps_epi8 // CHECK: @llvm.x86.avx10.mask.vcvttps2ibs512 - return _mm512_ipcvtt_roundps_epi8(__A, _MM_FROUND_NO_EXC); + return _mm512_ipcvtts_roundps_epi8(__A, _MM_FROUND_NO_EXC); } -__m512i test_mm512_mask_ipcvtt_roundps_epi8(__m512i __S, __mmask16 __A, __m512 __B) { - // CHECK-LABEL: @test_mm512_mask_ipcvtt_roundps_epi8 +__m512i test_mm512_mask_ipcvtts_roundps_epi8(__m512i __S, __mmask16 __A, __m512 __B) { + // CHECK-LABEL: @test_mm512_mask_ipcvtts_roundps_epi8 // CHECK: @llvm.x86.avx10.mask.vcvttps2ibs512 - return _mm512_mask_ipcvtt_roundps_epi8(__S, __A, __B, _MM_FROUND_NO_EXC); + return _mm512_mask_ipcvtts_roundps_epi8(__S, __A, __B, _MM_FROUND_NO_EXC); } -__m512i test_mm512_maskz_ipcvtt_roundps_epi8(__mmask16 __A, __m512 __B) { - // CHECK-LABEL: @test_mm512_maskz_ipcvtt_roundps_epi8 +__m512i test_mm512_maskz_ipcvtts_roundps_epi8(__mmask16 __A, __m512 __B) { + // CHECK-LABEL: @test_mm512_maskz_ipcvtts_roundps_epi8 // CHECK: @llvm.x86.avx10.mask.vcvttps2ibs512 - return _mm512_maskz_ipcvtt_roundps_epi8(__A, __B, _MM_FROUND_NO_EXC); + return _mm512_maskz_ipcvtts_roundps_epi8(__A, __B, _MM_FROUND_NO_EXC); } -__m512i test_mm512_ipcvttps_epu8(__m512 __A) { - // CHECK-LABEL: @test_mm512_ipcvttps_epu8( +__m512i test_mm512_ipcvtts_ps_epu8(__m512 __A) { + // CHECK-LABEL: @test_mm512_ipcvtts_ps_epu8( // CHECK: @llvm.x86.avx10.mask.vcvttps2iubs512 - return _mm512_ipcvttps_epu8(__A); + return _mm512_ipcvtts_ps_epu8(__A); } -__m512i test_mm512_mask_ipcvttps_epu8(__m512i __S, __mmask16 __A, __m512 __B) { - // CHECK-LABEL: @test_mm512_mask_ipcvttps_epu8( +__m512i test_mm512_mask_ipcvtts_ps_epu8(__m512i __S, __mmask16 __A, __m512 __B) { + // CHECK-LABEL: @test_mm512_mask_ipcvtts_ps_epu8( // CHECK: @llvm.x86.avx10.mask.vcvttps2iubs512 - return _mm512_mask_ipcvttps_epu8(__S, __A, __B); + return _mm512_mask_ipcvtts_ps_epu8(__S, __A, __B); } -__m512i test_mm512_maskz_ipcvttps_epu8(__mmask16 __A, __m512 __B) { - // CHECK-LABEL: @test_mm512_maskz_ipcvttps_epu8 +__m512i test_mm512_maskz_ipcvtts_ps_epu8(__mmask16 __A, __m512 __B) { + // CHECK-LABEL: @test_mm512_maskz_ipcvtts_ps_epu8 // CHECK: @llvm.x86.avx10.mask.vcvttps2iubs512 - return _mm512_maskz_ipcvttps_epu8(__A, __B); + return _mm512_maskz_ipcvtts_ps_epu8(__A, __B); } -__m512i test_mm512_ipcvtt_roundps_epu8(__m512 __A) { - // CHECK-LABEL: @test_mm512_ipcvtt_roundps_epu8 +__m512i test_mm512_ipcvtts_roundps_epu8(__m512 __A) { + // CHECK-LABEL: @test_mm512_ipcvtts_roundps_epu8 // CHECK: @llvm.x86.avx10.mask.vcvttps2iubs512 - return _mm512_ipcvtt_roundps_epu8(__A, _MM_FROUND_NO_EXC); + return _mm512_ipcvtts_roundps_epu8(__A, _MM_FROUND_NO_EXC); } -__m512i test_mm512_mask_ipcvtt_roundps_epu8(__m512i __S, __mmask16 __A, __m512 __B) { - // CHECK-LABEL: @test_mm512_mask_ipcvtt_roundps_epu8 +__m512i test_mm512_mask_ipcvtts_roundps_epu8(__m512i __S, __mmask16 __A, __m512 __B) { + // CHECK-LABEL: @test_mm512_mask_ipcvtts_roundps_epu8 // CHECK: @llvm.x86.avx10.mask.vcvttps2iubs512 - return _mm512_mask_ipcvtt_roundps_epu8(__S, __A, __B, _MM_FROUND_NO_EXC); + return _mm512_mask_ipcvtts_roundps_epu8(__S, __A, __B, _MM_FROUND_NO_EXC); } -__m512i test_mm512_maskz_ipcvtt_roundps_epu8(__mmask16 __A, __m512 __B) { - // CHECK-LABEL: @test_mm512_maskz_ipcvtt_roundps_epu8 +__m512i test_mm512_maskz_ipcvtts_roundps_epu8(__mmask16 __A, __m512 __B) { + // CHECK-LABEL: @test_mm512_maskz_ipcvtts_roundps_epu8 // CHECK: @llvm.x86.avx10.mask.vcvttps2iubs512 - return _mm512_maskz_ipcvtt_roundps_epu8(__A, __B, _MM_FROUND_NO_EXC); + return _mm512_maskz_ipcvtts_roundps_epu8(__A, __B, _MM_FROUND_NO_EXC); } diff --git a/clang/test/CodeGen/X86/avx10_2_512satcvtds-builtins-x64.c b/clang/test/CodeGen/X86/avx10_2_512satcvtds-builtins-x64.c index 8c8959a03d7bd..1aaa6544d1f9c 100644 --- a/clang/test/CodeGen/X86/avx10_2_512satcvtds-builtins-x64.c +++ b/clang/test/CodeGen/X86/avx10_2_512satcvtds-builtins-x64.c @@ -3,58 +3,58 @@ #include #include -long long test_mm_cvttssd_si64(__m128d __A) { - // CHECK-LABEL: @test_mm_cvttssd_si64( +long long test_mm_cvtts_sd_si64(__m128d __A) { + // CHECK-LABEL: @test_mm_cvtts_sd_si64( // CHECK: @llvm.x86.avx10.vcvttsd2sis64(<2 x double> return _mm_cvtts_roundsd_si64(__A, _MM_FROUND_NO_EXC); } -long long test_mm_cvttssd_i64(__m128d __A) { - // CHECK-LABEL: @test_mm_cvttssd_i64( +long long test_mm_cvtts_sd_i64(__m128d __A) { + // CHECK-LABEL: @test_mm_cvtts_sd_i64( // CHECK: @llvm.x86.avx10.vcvttsd2sis64(<2 x double> return _mm_cvtts_roundsd_i64(__A, _MM_FROUND_NO_EXC); } -unsigned long long test_mm_cvttssd_u64(__m128d __A) { - // CHECK-LABEL: @test_mm_cvttssd_u64( +unsigned long long test_mm_cvtts_sd_u64(__m128d __A) { + // CHECK-LABEL: @test_mm_cvtts_sd_u64( // CHECK: @llvm.x86.avx10.vcvttsd2usis64(<2 x double> return _mm_cvtts_roundsd_u64(__A, _MM_FROUND_NO_EXC); } -float test_mm_cvttsss_i64(__m128 __A) { - // CHECK-LABEL: @test_mm_cvttsss_i64( +float test_mm_cvtts_ss_i64(__m128 __A) { + // CHECK-LABEL: @test_mm_cvtts_ss_i64( // CHECK: @llvm.x86.avx10.vcvttss2sis64(<4 x float> return _mm_cvtts_roundss_i64(__A, _MM_FROUND_NO_EXC); } -long long test_mm_cvttsss_si64(__m128 __A) { - // CHECK-LABEL: @test_mm_cvttsss_si64( +long long test_mm_cvtts_ss_si64(__m128 __A) { + // CHECK-LABEL: @test_mm_cvtts_ss_si64( // CHECK: @llvm.x86.avx10.vcvttss2sis64(<4 x float> return _mm_cvtts_roundss_si64(__A, _MM_FROUND_NO_EXC); } -unsigned long long test_mm_cvttsss_u64(__m128 __A) { - // CHECK-LABEL: @test_mm_cvttsss_u64( +unsigned long long test_mm_cvtts_ss_u64(__m128 __A) { + // CHECK-LABEL: @test_mm_cvtts_ss_u64( // CHECK: @llvm.x86.avx10.vcvttss2usis64(<4 x float> return _mm_cvtts_roundss_u64(__A, _MM_FROUND_NO_EXC); } -__m512i test_mm512_cvttspd_epi64(__m512d A) { - // CHECK-LABEL: test_mm512_cvttspd_epi64 +__m512i test_mm512_cvtts_pd_epi64(__m512d A) { + // CHECK-LABEL: test_mm512_cvtts_pd_epi64 // CHECK: @llvm.x86.avx10.mask.vcvttpd2qqs.round.512(<8 x double> - return _mm512_cvttspd_epi64(A); + return _mm512_cvtts_pd_epi64(A); } -__m512i test_mm512_mask_cvttspd_epi64(__m512i W, __mmask8 U, __m512d A) { - // CHECK-LABEL: test_mm512_mask_cvttspd_epi64 +__m512i test_mm512_mask_cvtts_pd_epi64(__m512i W, __mmask8 U, __m512d A) { + // CHECK-LABEL: test_mm512_mask_cvtts_pd_epi64 // CHECK: @llvm.x86.avx10.mask.vcvttpd2qqs.round.512(<8 x double> - return _mm512_mask_cvttspd_epi64(W, U, A); + return _mm512_mask_cvtts_pd_epi64(W, U, A); } -__m512i test_mm512_maskz_cvttspd_epi64(__mmask8 U, __m512d A) { - // CHECK-LABEL: test_mm512_maskz_cvttspd_epi64 +__m512i test_mm512_maskz_cvtts_pd_epi64(__mmask8 U, __m512d A) { + // CHECK-LABEL: test_mm512_maskz_cvtts_pd_epi64 // CHECK: @llvm.x86.avx10.mask.vcvttpd2qqs.round.512(<8 x double> - return _mm512_maskz_cvttspd_epi64(U, A); + return _mm512_maskz_cvtts_pd_epi64(U, A); } __m512i test_mm512_cvtts_roundpd_epi64(__m512d A) { @@ -75,22 +75,22 @@ __m512i test_mm512_maskz_cvtts_roundpd_epi64(__mmask8 U, __m512d A) { return _mm512_maskz_cvtts_roundpd_epi64(U, A, _MM_FROUND_NO_EXC); } -__m512i test_mm512_cvttspd_epu64(__m512d A) { - // CHECK-LABEL: test_mm512_cvttspd_epu64 +__m512i test_mm512_cvtts_pd_epu64(__m512d A) { + // CHECK-LABEL: test_mm512_cvtts_pd_epu64 // CHECK: @llvm.x86.avx10.mask.vcvttpd2uqqs.round.512(<8 x double> - return _mm512_cvttspd_epu64(A); + return _mm512_cvtts_pd_epu64(A); } -__m512i test_mm512_mask_cvttspd_epu64(__m512i W, __mmask8 U, __m512d A) { - // CHECK-LABEL: test_mm512_mask_cvttspd_epu64 +__m512i test_mm512_mask_cvtts_pd_epu64(__m512i W, __mmask8 U, __m512d A) { + // CHECK-LABEL: test_mm512_mask_cvtts_pd_epu64 // CHECK: @llvm.x86.avx10.mask.vcvttpd2uqqs.round.512(<8 x double> - return _mm512_mask_cvttspd_epu64(W, U, A); + return _mm512_mask_cvtts_pd_epu64(W, U, A); } -__m512i test_mm512_maskz_cvttspd_epu64(__mmask8 U, __m512d A) { - // CHECK-LABEL: test_mm512_maskz_cvttspd_epu64 +__m512i test_mm512_maskz_cvtts_pd_epu64(__mmask8 U, __m512d A) { + // CHECK-LABEL: test_mm512_maskz_cvtts_pd_epu64 // CHECK: @llvm.x86.avx10.mask.vcvttpd2uqqs.round.512(<8 x double> - return _mm512_maskz_cvttspd_epu64(U, A); + return _mm512_maskz_cvtts_pd_epu64(U, A); } __m512i test_mm512_cvtts_roundpd_epu64(__m512d A) { @@ -111,22 +111,22 @@ __m512i test_mm512_maskz_cvtts_roundpd_epu64(__mmask8 U, __m512d A) { return _mm512_maskz_cvtts_roundpd_epu64(U, A, _MM_FROUND_NO_EXC); } -__m512i test_mm512_cvttsps_epi64(__m256 A) { - // CHECK-LABEL: test_mm512_cvttsps_epi64 +__m512i test_mm512_cvtts_ps_epi64(__m256 A) { + // CHECK-LABEL: test_mm512_cvtts_ps_epi64 // CHECK: @llvm.x86.avx10.mask.vcvttps2qqs.round.512(<8 x float> - return _mm512_cvttsps_epi64(A); + return _mm512_cvtts_ps_epi64(A); } -__m512i test_mm512_mask_cvttsps_epi64(__m512i W, __mmask8 U, __m256 A) { - // CHECK-LABEL: test_mm512_mask_cvttsps_epi64 +__m512i test_mm512_mask_cvtts_ps_epi64(__m512i W, __mmask8 U, __m256 A) { + // CHECK-LABEL: test_mm512_mask_cvtts_ps_epi64 // CHECK: @llvm.x86.avx10.mask.vcvttps2qqs.round.512(<8 x float> - return _mm512_mask_cvttsps_epi64(W, U, A); + return _mm512_mask_cvtts_ps_epi64(W, U, A); } -__m512i test_mm512_maskz_cvttsps_epi64(__mmask8 U, __m256 A) { - // CHECK-LABEL: test_mm512_maskz_cvttsps_epi64 +__m512i test_mm512_maskz_cvtts_ps_epi64(__mmask8 U, __m256 A) { + // CHECK-LABEL: test_mm512_maskz_cvtts_ps_epi64 // CHECK: @llvm.x86.avx10.mask.vcvttps2qqs.round.512(<8 x float> - return _mm512_maskz_cvttsps_epi64(U, A); + return _mm512_maskz_cvtts_ps_epi64(U, A); } __m512i test_mm512_cvtts_roundps_epi64(__m256 A) { @@ -147,22 +147,22 @@ __m512i test_mm512_maskz_cvtts_roundps_epi64(__mmask8 U, __m256 A) { return _mm512_maskz_cvtts_roundps_epi64(U, A, _MM_FROUND_NO_EXC); } -__m512i test_mm512_cvttsps_epu64(__m256 A) { - // CHECK-LABEL: test_mm512_cvttsps_epu64 +__m512i test_mm512_cvtts_ps_epu64(__m256 A) { + // CHECK-LABEL: test_mm512_cvtts_ps_epu64 // CHECK: @llvm.x86.avx10.mask.vcvttps2uqqs.round.512(<8 x float> - return _mm512_cvttsps_epu64(A); + return _mm512_cvtts_ps_epu64(A); } -__m512i test_mm512_mask_cvttsps_epu64(__m512i W, __mmask8 U, __m256 A) { - // CHECK-LABEL: test_mm512_mask_cvttsps_epu64 +__m512i test_mm512_mask_cvtts_ps_epu64(__m512i W, __mmask8 U, __m256 A) { + // CHECK-LABEL: test_mm512_mask_cvtts_ps_epu64 // CHECK: @llvm.x86.avx10.mask.vcvttps2uqqs.round.512(<8 x float> - return _mm512_mask_cvttsps_epu64(W, U, A); + return _mm512_mask_cvtts_ps_epu64(W, U, A); } -__m512i test_mm512_maskz_cvttsps_epu64(__mmask8 U, __m256 A) { - // CHECK-LABEL: test_mm512_maskz_cvttsps_epu64 +__m512i test_mm512_maskz_cvtts_ps_epu64(__mmask8 U, __m256 A) { + // CHECK-LABEL: test_mm512_maskz_cvtts_ps_epu64 // CHECK: @llvm.x86.avx10.mask.vcvttps2uqqs.round.512(<8 x float> - return _mm512_maskz_cvttsps_epu64(U, A); + return _mm512_maskz_cvtts_ps_epu64(U, A); } __m512i test_mm512_cvtts_roundps_epu64(__m256 A) { diff --git a/clang/test/CodeGen/X86/avx10_2_512satcvtds-builtins.c b/clang/test/CodeGen/X86/avx10_2_512satcvtds-builtins.c index cccee04627d22..c1b6df3cb07f5 100644 --- a/clang/test/CodeGen/X86/avx10_2_512satcvtds-builtins.c +++ b/clang/test/CodeGen/X86/avx10_2_512satcvtds-builtins.c @@ -4,22 +4,22 @@ #include #include -__m256i test_mm512_cvttspd_epi32(__m512d A) { - // CHECK-LABEL: test_mm512_cvttspd_epi32 +__m256i test_mm512_cvtts_pd_epi32(__m512d A) { + // CHECK-LABEL: test_mm512_cvtts_pd_epi32 // CHECK: @llvm.x86.avx10.mask.vcvttpd2dqs.round.512(<8 x double> - return _mm512_cvttspd_epi32(A); + return _mm512_cvtts_pd_epi32(A); } -__m256i test_mm512_mask_cvttspd_epi32(__m256i W, __mmask8 U, __m512d A) { - // CHECK-LABEL: test_mm512_mask_cvttspd_epi32 +__m256i test_mm512_mask_cvtts_pd_epi32(__m256i W, __mmask8 U, __m512d A) { + // CHECK-LABEL: test_mm512_mask_cvtts_pd_epi32 // CHECK: @llvm.x86.avx10.mask.vcvttpd2dqs.round.512(<8 x double> - return _mm512_mask_cvttspd_epi32(W, U, A); + return _mm512_mask_cvtts_pd_epi32(W, U, A); } -__m256i test_mm512_maskz_cvttspd_epi32(__mmask8 U, __m512d A) { - // CHECK-LABEL: test_mm512_maskz_cvttspd_epi32 +__m256i test_mm512_maskz_cvtts_pd_epi32(__mmask8 U, __m512d A) { + // CHECK-LABEL: test_mm512_maskz_cvtts_pd_epi32 // CHECK: @llvm.x86.avx10.mask.vcvttpd2dqs.round.512(<8 x double> - return _mm512_maskz_cvttspd_epi32(U, A); + return _mm512_maskz_cvtts_pd_epi32(U, A); } __m256i test_mm512_cvtts_roundpd_epi32(__m512d A) { @@ -40,22 +40,22 @@ __m256i test_mm512_maskz_cvtts_roundpd_epi32(__mmask8 U, __m512d A) { return _mm512_maskz_cvtts_roundpd_epi32(U, A, _MM_FROUND_NO_EXC); } -__m256i test_mm512_cvttspd_epu32(__m512d A) { - // CHECK-LABEL: test_mm512_cvttspd_epu32 +__m256i test_mm512_cvtts_pd_epu32(__m512d A) { + // CHECK-LABEL: test_mm512_cvtts_pd_epu32 // CHECK: @llvm.x86.avx10.mask.vcvttpd2udqs.round.512(<8 x double> - return _mm512_cvttspd_epu32(A); + return _mm512_cvtts_pd_epu32(A); } -__m256i test_mm512_mask_cvttspd_epu32(__m256i W, __mmask8 U, __m512d A) { - // CHECK-LABEL: test_mm512_mask_cvttspd_epu32 +__m256i test_mm512_mask_cvtts_pd_epu32(__m256i W, __mmask8 U, __m512d A) { + // CHECK-LABEL: test_mm512_mask_cvtts_pd_epu32 // CHECK: @llvm.x86.avx10.mask.vcvttpd2udqs.round.512(<8 x double> - return _mm512_mask_cvttspd_epu32(W, U, A); + return _mm512_mask_cvtts_pd_epu32(W, U, A); } -__m256i test_mm512_maskz_cvttspd_epu32(__mmask8 U, __m512d A) { - // CHECK-LABEL: test_mm512_maskz_cvttspd_epu32 +__m256i test_mm512_maskz_cvtts_pd_epu32(__mmask8 U, __m512d A) { + // CHECK-LABEL: test_mm512_maskz_cvtts_pd_epu32 // CHECK: @llvm.x86.avx10.mask.vcvttpd2udqs.round.512(<8 x double> - return _mm512_maskz_cvttspd_epu32(U, A); + return _mm512_maskz_cvtts_pd_epu32(U, A); } __m256i test_mm512_cvtts_roundpd_epu32(__m512d A) { @@ -76,22 +76,22 @@ __m256i test_mm512_maskz_cvtts_roundpd_epu32(__mmask8 U, __m512d A) { return _mm512_maskz_cvtts_roundpd_epu32(U, A, _MM_FROUND_NO_EXC); } -__m512i test_mm512_cvttsps_epi32(__m512 A) { - // CHECK-LABEL: test_mm512_cvttsps_epi32 +__m512i test_mm512_cvtts_ps_epi32(__m512 A) { + // CHECK-LABEL: test_mm512_cvtts_ps_epi32 // CHECK: @llvm.x86.avx10.mask.vcvttps2dqs.round.512(<16 x float> - return _mm512_cvttsps_epi32(A); + return _mm512_cvtts_ps_epi32(A); } -__m512i test_mm512_mask_cvttsps_epi32(__m512i W, __mmask8 U, __m512 A) { - // CHECK-LABEL: test_mm512_mask_cvttsps_epi32 +__m512i test_mm512_mask_cvtts_ps_epi32(__m512i W, __mmask8 U, __m512 A) { + // CHECK-LABEL: test_mm512_mask_cvtts_ps_epi32 // CHECK: @llvm.x86.avx10.mask.vcvttps2dqs.round.512(<16 x float> - return _mm512_mask_cvttsps_epi32(W, U, A); + return _mm512_mask_cvtts_ps_epi32(W, U, A); } -__m512i test_mm512_maskz_cvttsps_epi32(__mmask8 U, __m512 A) { - // CHECK-LABEL: test_mm512_maskz_cvttsps_epi32 +__m512i test_mm512_maskz_cvtts_ps_epi32(__mmask8 U, __m512 A) { + // CHECK-LABEL: test_mm512_maskz_cvtts_ps_epi32 // CHECK: @llvm.x86.avx10.mask.vcvttps2dqs.round.512(<16 x float> - return _mm512_maskz_cvttsps_epi32(U, A); + return _mm512_maskz_cvtts_ps_epi32(U, A); } __m512i test_mm512_cvtts_roundps_epi32(__m512 A) { @@ -112,22 +112,22 @@ __m512i test_mm512_maskz_cvtts_roundps_epi32(__mmask8 U, __m512 A) { return _mm512_maskz_cvtts_roundps_epi32(U, A, _MM_FROUND_NO_EXC); } -__m512i test_mm512_cvttsps_epu32(__m512 A) { - // CHECK-LABEL: test_mm512_cvttsps_epu32 +__m512i test_mm512_cvtts_ps_epu32(__m512 A) { + // CHECK-LABEL: test_mm512_cvtts_ps_epu32 // CHECK: @llvm.x86.avx10.mask.vcvttps2udqs.round.512(<16 x float> - return _mm512_cvttsps_epu32(A); + return _mm512_cvtts_ps_epu32(A); } -__m512i test_mm512_mask_cvttsps_epu32(__m512i W, __mmask8 U, __m512 A) { - // CHECK-LABEL: test_mm512_mask_cvttsps_epu32 +__m512i test_mm512_mask_cvtts_ps_epu32(__m512i W, __mmask8 U, __m512 A) { + // CHECK-LABEL: test_mm512_mask_cvtts_ps_epu32 // CHECK: @llvm.x86.avx10.mask.vcvttps2udqs.round.512(<16 x float> - return _mm512_mask_cvttsps_epu32(W, U, A); + return _mm512_mask_cvtts_ps_epu32(W, U, A); } -__m512i test_mm512_maskz_cvttsps_epu32(__mmask8 U, __m512 A) { - // CHECK-LABEL: test_mm512_maskz_cvttsps_epu32 +__m512i test_mm512_maskz_cvtts_ps_epu32(__mmask8 U, __m512 A) { + // CHECK-LABEL: test_mm512_maskz_cvtts_ps_epu32 // CHECK: @llvm.x86.avx10.mask.vcvttps2udqs.round.512(<16 x float> - return _mm512_maskz_cvttsps_epu32(U, A); + return _mm512_maskz_cvtts_ps_epu32(U, A); } __m512i test_mm512_cvtts_roundps_epu32(__m512 A) { @@ -148,4 +148,4 @@ __m512i test_mm512_maskz_cvtts_roundps_epu32(__mmask8 U, __m512 A) { } // X64: {{.*}} -// X86: {{.*}} \ No newline at end of file +// X86: {{.*}} diff --git a/clang/test/CodeGen/X86/avx10_2convert-builtins.c b/clang/test/CodeGen/X86/avx10_2convert-builtins.c index 87fc6ffd7bc17..31dd0ecc381ef 100644 --- a/clang/test/CodeGen/X86/avx10_2convert-builtins.c +++ b/clang/test/CodeGen/X86/avx10_2convert-builtins.c @@ -41,24 +41,6 @@ __m256h test_mm256_maskz_cvtx2ps_ph(__mmask16 __U, __m256 __A, __m256 __B) { return _mm256_maskz_cvtx2ps_ph(__U, __A, __B); } -__m256h test_mm256_cvtx_round2ps_ph(__m256 __A, __m256 __B) { - // CHECK-LABEL: @test_mm256_cvtx_round2ps_ph( - // CHECK: call <16 x half> @llvm.x86.avx10.mask.vcvt2ps2phx.256( - return _mm256_cvtx_round2ps_ph(__A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_mask_cvtx_round2ps_ph(__m256h __W, __mmask8 __U, __m256 __A, __m256 __B) { - // CHECK-LABEL: @test_mm256_mask_cvtx_round2ps_ph( - // CHECK: call <16 x half> @llvm.x86.avx10.mask.vcvt2ps2phx.256( - return _mm256_mask_cvtx_round2ps_ph(__W, __U, __A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_maskz_cvtx_round2ps_ph(__mmask8 __U, __m256 __A, __m256 __B) { - // CHECK-LABEL: @test_mm256_maskz_cvtx_round2ps_ph( - // CHECK: call <16 x half> @llvm.x86.avx10.mask.vcvt2ps2phx.256( - return _mm256_maskz_cvtx_round2ps_ph(__U, __A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - __m128i test_mm_cvtbiasph_bf8(__m128i __A, __m128h __B) { // CHECK-LABEL: @test_mm_cvtbiasph_bf8( // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2bf8128( @@ -95,40 +77,40 @@ __m128i test_mm256_maskz_cvtbiasph_bf8(__mmask16 __U, __m256i __A, __m256h __B) return _mm256_maskz_cvtbiasph_bf8(__U, __A, __B); } -__m128i test_mm_cvtbiassph_bf8(__m128i __A, __m128h __B) { - // CHECK-LABEL: @test_mm_cvtbiassph_bf8( +__m128i test_mm_cvts_biasph_bf8(__m128i __A, __m128h __B) { + // CHECK-LABEL: @test_mm_cvts_biasph_bf8( // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2bf8s128( - return _mm_cvtbiassph_bf8(__A, __B); + return _mm_cvts_biasph_bf8(__A, __B); } -__m128i test_mm_mask_cvtbiassph_bf8(__m128i __W, __mmask8 __U, __m128i __A, __m128h __B) { - // CHECK-LABEL: @test_mm_mask_cvtbiassph_bf8( +__m128i test_mm_mask_cvts_biasph_bf8(__m128i __W, __mmask8 __U, __m128i __A, __m128h __B) { + // CHECK-LABEL: @test_mm_mask_cvts_biasph_bf8( // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2bf8s128( - return _mm_mask_cvtbiassph_bf8(__W, __U, __A, __B); + return _mm_mask_cvts_biasph_bf8(__W, __U, __A, __B); } -__m128i test_mm_maskz_cvtbiassph_bf8(__mmask8 __U, __m128i __A, __m128h __B) { - // CHECK-LABEL: @test_mm_maskz_cvtbiassph_bf8( +__m128i test_mm_maskz_cvts_biasph_bf8(__mmask8 __U, __m128i __A, __m128h __B) { + // CHECK-LABEL: @test_mm_maskz_cvts_biasph_bf8( // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2bf8s128( - return _mm_maskz_cvtbiassph_bf8(__U, __A, __B); + return _mm_maskz_cvts_biasph_bf8(__U, __A, __B); } -__m128i test_mm256_cvtbiassph_bf8(__m256i __A, __m256h __B) { - // CHECK-LABEL: @test_mm256_cvtbiassph_bf8( +__m128i test_mm256_cvts_biasph_bf8(__m256i __A, __m256h __B) { + // CHECK-LABEL: @test_mm256_cvts_biasph_bf8( // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2bf8s256( - return _mm256_cvtbiassph_bf8(__A, __B); + return _mm256_cvts_biasph_bf8(__A, __B); } -__m128i test_mm256_mask_cvtbiassph_bf8(__m128i __W, __mmask16 __U, __m256i __A, __m256h __B) { - // CHECK-LABEL: @test_mm256_mask_cvtbiassph_bf8( +__m128i test_mm256_mask_cvts_biasph_bf8(__m128i __W, __mmask16 __U, __m256i __A, __m256h __B) { + // CHECK-LABEL: @test_mm256_mask_cvts_biasph_bf8( // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2bf8s256( - return _mm256_mask_cvtbiassph_bf8(__W, __U, __A, __B); + return _mm256_mask_cvts_biasph_bf8(__W, __U, __A, __B); } -__m128i test_mm256_maskz_cvtbiassph_bf8(__mmask16 __U, __m256i __A, __m256h __B) { - // CHECK-LABEL: @test_mm256_maskz_cvtbiassph_bf8( +__m128i test_mm256_maskz_cvts_biasph_bf8(__mmask16 __U, __m256i __A, __m256h __B) { + // CHECK-LABEL: @test_mm256_maskz_cvts_biasph_bf8( // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2bf8s256( - return _mm256_maskz_cvtbiassph_bf8(__U, __A, __B); + return _mm256_maskz_cvts_biasph_bf8(__U, __A, __B); } __m128i test_mm_cvtbiasph_hf8(__m128i __A, __m128h __B) { @@ -167,40 +149,40 @@ __m128i test_mm256_maskz_cvtbiasph_hf8(__mmask16 __U, __m256i __A, __m256h __B) return _mm256_maskz_cvtbiasph_hf8(__U, __A, __B); } -__m128i test_mm_cvtbiassph_hf8(__m128i __A, __m128h __B) { - // CHECK-LABEL: @test_mm_cvtbiassph_hf8( +__m128i test_mm_cvts_biasph_hf8(__m128i __A, __m128h __B) { + // CHECK-LABEL: @test_mm_cvts_biasph_hf8( // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2hf8s128( - return _mm_cvtbiassph_hf8(__A, __B); + return _mm_cvts_biasph_hf8(__A, __B); } -__m128i test_mm_mask_cvtbiassph_hf8(__m128i __W, __mmask8 __U, __m128i __A, __m128h __B) { - // CHECK-LABEL: @test_mm_mask_cvtbiassph_hf8( +__m128i test_mm_mask_cvts_biasph_hf8(__m128i __W, __mmask8 __U, __m128i __A, __m128h __B) { + // CHECK-LABEL: @test_mm_mask_cvts_biasph_hf8( // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2hf8s128( - return _mm_mask_cvtbiassph_hf8(__W, __U, __A, __B); + return _mm_mask_cvts_biasph_hf8(__W, __U, __A, __B); } -__m128i test_mm_maskz_cvtbiassph_hf8(__mmask8 __U, __m128i __A, __m128h __B) { - // CHECK-LABEL: @test_mm_maskz_cvtbiassph_hf8( +__m128i test_mm_maskz_cvts_biasph_hf8(__mmask8 __U, __m128i __A, __m128h __B) { + // CHECK-LABEL: @test_mm_maskz_cvts_biasph_hf8( // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2hf8s128( - return _mm_maskz_cvtbiassph_hf8(__U, __A, __B); + return _mm_maskz_cvts_biasph_hf8(__U, __A, __B); } -__m128i test_mm256_cvtbiassph_hf8(__m256i __A, __m256h __B) { - // CHECK-LABEL: @test_mm256_cvtbiassph_hf8( +__m128i test_mm256_cvts_biasph_hf8(__m256i __A, __m256h __B) { + // CHECK-LABEL: @test_mm256_cvts_biasph_hf8( // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2hf8s256( - return _mm256_cvtbiassph_hf8(__A, __B); + return _mm256_cvts_biasph_hf8(__A, __B); } -__m128i test_mm256_mask_cvtbiassph_hf8(__m128i __W, __mmask16 __U, __m256i __A, __m256h __B) { - // CHECK-LABEL: @test_mm256_mask_cvtbiassph_hf8( +__m128i test_mm256_mask_cvts_biasph_hf8(__m128i __W, __mmask16 __U, __m256i __A, __m256h __B) { + // CHECK-LABEL: @test_mm256_mask_cvts_biasph_hf8( // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2hf8s256( - return _mm256_mask_cvtbiassph_hf8(__W, __U, __A, __B); + return _mm256_mask_cvts_biasph_hf8(__W, __U, __A, __B); } -__m128i test_mm256_maskz_cvtbiassph_hf8(__mmask16 __U, __m256i __A, __m256h __B) { - // CHECK-LABEL: @test_mm256_maskz_cvtbiassph_hf8( +__m128i test_mm256_maskz_cvts_biasph_hf8(__mmask16 __U, __m256i __A, __m256h __B) { + // CHECK-LABEL: @test_mm256_maskz_cvts_biasph_hf8( // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2hf8s256( - return _mm256_maskz_cvtbiassph_hf8(__U, __A, __B); + return _mm256_maskz_cvts_biasph_hf8(__U, __A, __B); } __m128i test_mm_cvt2ph_bf8(__m128h __A, __m128h __B) { @@ -247,48 +229,48 @@ __m256i test_mm256_maskz_cvt2ph_bf8(__mmask32 __U, __m256h __A, __m256h __B) { return _mm256_maskz_cvt2ph_bf8(__U, __A, __B); } -__m128i test_mm_cvts2ph_bf8(__m128h __A, __m128h __B) { - // CHECK-LABEL: @test_mm_cvts2ph_bf8( +__m128i test_mm_cvts_2ph_bf8(__m128h __A, __m128h __B) { + // CHECK-LABEL: @test_mm_cvts_2ph_bf8( // CHECK: call <16 x i8> @llvm.x86.avx10.vcvt2ph2bf8s128( - return _mm_cvts2ph_bf8(__A, __B); + return _mm_cvts_2ph_bf8(__A, __B); } -__m128i test_mm_mask_cvts2ph_bf8(__m128i __W, __mmask16 __U, __m128h __A, __m128h __B) { - // CHECK-LABEL: @test_mm_mask_cvts2ph_bf8( +__m128i test_mm_mask_cvts_2ph_bf8(__m128i __W, __mmask16 __U, __m128h __A, __m128h __B) { + // CHECK-LABEL: @test_mm_mask_cvts_2ph_bf8( // CHECK: call <16 x i8> @llvm.x86.avx10.vcvt2ph2bf8s128( // CHECK: select <16 x i1> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}} // CHECK: ret <2 x i64> %{{.*}} - return _mm_mask_cvts2ph_bf8(__W, __U, __A, __B); + return _mm_mask_cvts_2ph_bf8(__W, __U, __A, __B); } -__m128i test_mm_maskz_cvts2ph_bf8(__mmask16 __U, __m128h __A, __m128h __B) { - // CHECK-LABEL: @test_mm_maskz_cvts2ph_bf8( +__m128i test_mm_maskz_cvts_2ph_bf8(__mmask16 __U, __m128h __A, __m128h __B) { + // CHECK-LABEL: @test_mm_maskz_cvts_2ph_bf8( // CHECK: call <16 x i8> @llvm.x86.avx10.vcvt2ph2bf8s128( // CHECK: zeroinitializer // CHECK: select <16 x i1> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}} - return _mm_maskz_cvts2ph_bf8(__U, __A, __B); + return _mm_maskz_cvts_2ph_bf8(__U, __A, __B); } -__m256i test_mm256_cvts2ph_bf8(__m256h __A, __m256h __B) { - // CHECK-LABEL: @test_mm256_cvts2ph_bf8( +__m256i test_mm256_cvts_2ph_bf8(__m256h __A, __m256h __B) { + // CHECK-LABEL: @test_mm256_cvts_2ph_bf8( // CHECK: call <32 x i8> @llvm.x86.avx10.vcvt2ph2bf8s256( - return _mm256_cvts2ph_bf8(__A, __B); + return _mm256_cvts_2ph_bf8(__A, __B); } -__m256i test_mm256_mask_cvts2ph_bf8(__m256i __W, __mmask32 __U, __m256h __A, __m256h __B) { - // CHECK-LABEL: @test_mm256_mask_cvts2ph_bf8( +__m256i test_mm256_mask_cvts_2ph_bf8(__m256i __W, __mmask32 __U, __m256h __A, __m256h __B) { + // CHECK-LABEL: @test_mm256_mask_cvts_2ph_bf8( // CHECK: call <32 x i8> @llvm.x86.avx10.vcvt2ph2bf8s256( // CHECK: select <32 x i1> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}} // CHECK: ret <4 x i64> %{{.*}} - return _mm256_mask_cvts2ph_bf8(__W, __U, __A, __B); + return _mm256_mask_cvts_2ph_bf8(__W, __U, __A, __B); } -__m256i test_mm256_maskz_cvts2ph_bf8(__mmask32 __U, __m256h __A, __m256h __B) { - // CHECK-LABEL: @test_mm256_maskz_cvts2ph_bf8( +__m256i test_mm256_maskz_cvts_2ph_bf8(__mmask32 __U, __m256h __A, __m256h __B) { + // CHECK-LABEL: @test_mm256_maskz_cvts_2ph_bf8( // CHECK: call <32 x i8> @llvm.x86.avx10.vcvt2ph2bf8s256( // CHECK: zeroinitializer // CHECK: select <32 x i1> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}} - return _mm256_maskz_cvts2ph_bf8(__U, __A, __B); + return _mm256_maskz_cvts_2ph_bf8(__U, __A, __B); } __m128i test_mm_cvt2ph_hf8(__m128h __A, __m128h __B) { @@ -335,48 +317,48 @@ __m256i test_mm256_maskz_cvt2ph_hf8(__mmask32 __U, __m256h __A, __m256h __B) { return _mm256_maskz_cvt2ph_hf8(__U, __A, __B); } -__m128i test_mm_cvts2ph_hf8(__m128h __A, __m128h __B) { - // CHECK-LABEL: @test_mm_cvts2ph_hf8( +__m128i test_mm_cvts_2ph_hf8(__m128h __A, __m128h __B) { + // CHECK-LABEL: @test_mm_cvts_2ph_hf8( // CHECK: call <16 x i8> @llvm.x86.avx10.vcvt2ph2hf8s128( - return _mm_cvts2ph_hf8(__A, __B); + return _mm_cvts_2ph_hf8(__A, __B); } -__m128i test_mm_mask_cvts2ph_hf8(__m128i __W, __mmask16 __U, __m128h __A, __m128h __B) { - // CHECK-LABEL: @test_mm_mask_cvts2ph_hf8( +__m128i test_mm_mask_cvts_2ph_hf8(__m128i __W, __mmask16 __U, __m128h __A, __m128h __B) { + // CHECK-LABEL: @test_mm_mask_cvts_2ph_hf8( // CHECK: call <16 x i8> @llvm.x86.avx10.vcvt2ph2hf8s128( // CHECK: select <16 x i1> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}} // CHECK: ret <2 x i64> %{{.*}} - return _mm_mask_cvts2ph_hf8(__W, __U, __A, __B); + return _mm_mask_cvts_2ph_hf8(__W, __U, __A, __B); } -__m128i test_mm_maskz_cvts2ph_hf8(__mmask16 __U, __m128h __A, __m128h __B) { - // CHECK-LABEL: @test_mm_maskz_cvts2ph_hf8( +__m128i test_mm_maskz_cvts_2ph_hf8(__mmask16 __U, __m128h __A, __m128h __B) { + // CHECK-LABEL: @test_mm_maskz_cvts_2ph_hf8( // CHECK: call <16 x i8> @llvm.x86.avx10.vcvt2ph2hf8s128( // CHECK: zeroinitializer // CHECK: select <16 x i1> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}} - return _mm_maskz_cvts2ph_hf8(__U, __A, __B); + return _mm_maskz_cvts_2ph_hf8(__U, __A, __B); } -__m256i test_mm256_cvts2ph_hf8(__m256h __A, __m256h __B) { - // CHECK-LABEL: @test_mm256_cvts2ph_hf8( +__m256i test_mm256_cvts_2ph_hf8(__m256h __A, __m256h __B) { + // CHECK-LABEL: @test_mm256_cvts_2ph_hf8( // CHECK: call <32 x i8> @llvm.x86.avx10.vcvt2ph2hf8s256( - return _mm256_cvts2ph_hf8(__A, __B); + return _mm256_cvts_2ph_hf8(__A, __B); } -__m256i test_mm256_mask_cvts2ph_hf8(__m256i __W, __mmask32 __U, __m256h __A, __m256h __B) { - // CHECK-LABEL: @test_mm256_mask_cvts2ph_hf8( +__m256i test_mm256_mask_cvts_2ph_hf8(__m256i __W, __mmask32 __U, __m256h __A, __m256h __B) { + // CHECK-LABEL: @test_mm256_mask_cvts_2ph_hf8( // CHECK: call <32 x i8> @llvm.x86.avx10.vcvt2ph2hf8s256( // CHECK: select <32 x i1> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}} // CHECK: ret <4 x i64> %{{.*}} - return _mm256_mask_cvts2ph_hf8(__W, __U, __A, __B); + return _mm256_mask_cvts_2ph_hf8(__W, __U, __A, __B); } -__m256i test_mm256_maskz_cvts2ph_hf8(__mmask32 __U, __m256h __A, __m256h __B) { - // CHECK-LABEL: @test_mm256_maskz_cvts2ph_hf8( +__m256i test_mm256_maskz_cvts_2ph_hf8(__mmask32 __U, __m256h __A, __m256h __B) { + // CHECK-LABEL: @test_mm256_maskz_cvts_2ph_hf8( // CHECK: call <32 x i8> @llvm.x86.avx10.vcvt2ph2hf8s256( // CHECK: zeroinitializer // CHECK: select <32 x i1> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}} - return _mm256_maskz_cvts2ph_hf8(__U, __A, __B); + return _mm256_maskz_cvts_2ph_hf8(__U, __A, __B); } __m128h test_mm_cvthf8_ph(__m128i __A) { @@ -451,40 +433,40 @@ __m128i test_mm256_maskz_cvtph_bf8(__mmask16 __A, __m256h __B) { return _mm256_maskz_cvtph_bf8(__A, __B); } -__m128i test_mm_cvtsph_bf8(__m128h __A) { - // CHECK-LABEL: @test_mm_cvtsph_bf8( +__m128i test_mm_cvts_ph_bf8(__m128h __A) { + // CHECK-LABEL: @test_mm_cvts_ph_bf8( // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtph2bf8s128( - return _mm_cvtsph_bf8(__A); + return _mm_cvts_ph_bf8(__A); } -__m128i test_mm_mask_cvtsph_bf8(__m128i __A, __mmask8 __B, __m128h __C) { - // CHECK-LABEL: @test_mm_mask_cvtsph_bf8( +__m128i test_mm_mask_cvts_ph_bf8(__m128i __A, __mmask8 __B, __m128h __C) { + // CHECK-LABEL: @test_mm_mask_cvts_ph_bf8( // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtph2bf8s128( - return _mm_mask_cvtsph_bf8(__A, __B, __C); + return _mm_mask_cvts_ph_bf8(__A, __B, __C); } -__m128i test_mm_maskz_cvtsph_bf8(__mmask8 __A, __m128h __B) { - // CHECK-LABEL: @test_mm_maskz_cvtsph_bf8( +__m128i test_mm_maskz_cvts_ph_bf8(__mmask8 __A, __m128h __B) { + // CHECK-LABEL: @test_mm_maskz_cvts_ph_bf8( // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtph2bf8s128( - return _mm_maskz_cvtsph_bf8(__A, __B); + return _mm_maskz_cvts_ph_bf8(__A, __B); } -__m128i test_mm256_cvtsph_bf8(__m256h __A) { - // CHECK-LABEL: @test_mm256_cvtsph_bf8( +__m128i test_mm256_cvts_ph_bf8(__m256h __A) { + // CHECK-LABEL: @test_mm256_cvts_ph_bf8( // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtph2bf8s256( - return _mm256_cvtsph_bf8(__A); + return _mm256_cvts_ph_bf8(__A); } -__m128i test_mm256_mask_cvtsph_bf8(__m128i __A, __mmask16 __B, __m256h __C) { - // CHECK-LABEL: @test_mm256_mask_cvtsph_bf8( +__m128i test_mm256_mask_cvts_ph_bf8(__m128i __A, __mmask16 __B, __m256h __C) { + // CHECK-LABEL: @test_mm256_mask_cvts_ph_bf8( // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtph2bf8s256( - return _mm256_mask_cvtsph_bf8(__A, __B, __C); + return _mm256_mask_cvts_ph_bf8(__A, __B, __C); } -__m128i test_mm256_maskz_cvtsph_bf8(__mmask16 __A, __m256h __B) { - // CHECK-LABEL: @test_mm256_maskz_cvtsph_bf8( +__m128i test_mm256_maskz_cvts_ph_bf8(__mmask16 __A, __m256h __B) { + // CHECK-LABEL: @test_mm256_maskz_cvts_ph_bf8( // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtph2bf8s256( - return _mm256_maskz_cvtsph_bf8(__A, __B); + return _mm256_maskz_cvts_ph_bf8(__A, __B); } __m128i test_mm_cvtph_hf8(__m128h __A) { @@ -523,40 +505,40 @@ __m128i test_mm256_maskz_cvtph_hf8(__mmask16 __A, __m256h __B) { return _mm256_maskz_cvtph_hf8(__A, __B); } -__m128i test_mm_cvtsph_hf8(__m128h __A) { - // CHECK-LABEL: @test_mm_cvtsph_hf8( +__m128i test_mm_cvts_ph_hf8(__m128h __A) { + // CHECK-LABEL: @test_mm_cvts_ph_hf8( // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtph2hf8s128( - return _mm_cvtsph_hf8(__A); + return _mm_cvts_ph_hf8(__A); } -__m128i test_mm_mask_cvtsph_hf8(__m128i __A, __mmask8 __B, __m128h __C) { - // CHECK-LABEL: @test_mm_mask_cvtsph_hf8( +__m128i test_mm_mask_cvts_ph_hf8(__m128i __A, __mmask8 __B, __m128h __C) { + // CHECK-LABEL: @test_mm_mask_cvts_ph_hf8( // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtph2hf8s128( - return _mm_mask_cvtsph_hf8(__A, __B, __C); + return _mm_mask_cvts_ph_hf8(__A, __B, __C); } -__m128i test_mm_maskz_cvtsph_hf8(__mmask8 __A, __m128h __B) { - // CHECK-LABEL: @test_mm_maskz_cvtsph_hf8( +__m128i test_mm_maskz_cvts_ph_hf8(__mmask8 __A, __m128h __B) { + // CHECK-LABEL: @test_mm_maskz_cvts_ph_hf8( // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtph2hf8s128( - return _mm_maskz_cvtsph_hf8(__A, __B); + return _mm_maskz_cvts_ph_hf8(__A, __B); } -__m128i test_mm256_cvtsph_hf8(__m256h __A) { - // CHECK-LABEL: @test_mm256_cvtsph_hf8( +__m128i test_mm256_cvts_ph_hf8(__m256h __A) { + // CHECK-LABEL: @test_mm256_cvts_ph_hf8( // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtph2hf8s256( - return _mm256_cvtsph_hf8(__A); + return _mm256_cvts_ph_hf8(__A); } -__m128i test_mm256_mask_cvtsph_hf8(__m128i __A, __mmask16 __B, __m256h __C) { - // CHECK-LABEL: @test_mm256_mask_cvtsph_hf8( +__m128i test_mm256_mask_cvts_ph_hf8(__m128i __A, __mmask16 __B, __m256h __C) { + // CHECK-LABEL: @test_mm256_mask_cvts_ph_hf8( // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtph2hf8s256( - return _mm256_mask_cvtsph_hf8(__A, __B, __C); + return _mm256_mask_cvts_ph_hf8(__A, __B, __C); } -__m128i test_mm256_maskz_cvtsph_hf8(__mmask16 __A, __m256h __B) { - // CHECK-LABEL: @test_mm256_maskz_cvtsph_hf8( +__m128i test_mm256_maskz_cvts_ph_hf8(__mmask16 __A, __m256h __B) { + // CHECK-LABEL: @test_mm256_maskz_cvts_ph_hf8( // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtph2hf8s256( - return _mm256_maskz_cvtsph_hf8(__A, __B); + return _mm256_maskz_cvts_ph_hf8(__A, __B); } __m256h test_mm256_cvtbf8_ph(__m128i A) { diff --git a/clang/test/CodeGen/X86/avx10_2minmax-builtins.c b/clang/test/CodeGen/X86/avx10_2minmax-builtins.c index 7e21858c71834..f8238f40c15b5 100644 --- a/clang/test/CodeGen/X86/avx10_2minmax-builtins.c +++ b/clang/test/CodeGen/X86/avx10_2minmax-builtins.c @@ -83,24 +83,6 @@ __m256d test_mm256_maskz_minmax_pd(__mmask8 __A, __m256d __B, __m256d __C) { return _mm256_maskz_minmax_pd(__A, __B, __C, 127); } -__m256d test_mm256_minmax_round_pd(__m256d __A, __m256d __B) { - // CHECK-LABEL: @test_mm256_minmax_round_pd( - // CHECK: call <4 x double> @llvm.x86.avx10.mask.vminmaxpd256.round( - return _mm256_minmax_round_pd(__A, __B, 127, _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_mask_minmax_round_pd(__m256d __A, __mmask8 __B, __m256d __C, __m256d __D) { - // CHECK-LABEL: @test_mm256_mask_minmax_round_pd( - // CHECK: call <4 x double> @llvm.x86.avx10.mask.vminmaxpd256.round( - return _mm256_mask_minmax_round_pd(__A, __B, __C, __D, 127, _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_maskz_minmax_round_pd(__mmask8 __A, __m256d __B, __m256d __C) { - // CHECK-LABEL: @test_mm256_maskz_minmax_round_pd( - // CHECK: call <4 x double> @llvm.x86.avx10.mask.vminmaxpd256.round( - return _mm256_maskz_minmax_round_pd(__A, __B, __C, 127, _MM_FROUND_NO_EXC); -} - __m128h test_mm_minmax_ph(__m128h __A, __m128h __B) { // CHECK-LABEL: @test_mm_minmax_ph( // CHECK: call <8 x half> @llvm.x86.avx10.mask.vminmaxph128( @@ -137,24 +119,6 @@ __m256h test_mm256_maskz_minmax_ph(__mmask16 __A, __m256h __B, __m256h __C) { return _mm256_maskz_minmax_ph(__A, __B, __C, 127); } -__m256h test_mm256_minmax_round_ph(__m256h __A, __m256h __B) { - // CHECK-LABEL: @test_mm256_minmax_round_ph( - // CHECK: call <16 x half> @llvm.x86.avx10.mask.vminmaxph256.round( - return _mm256_minmax_round_ph(__A, __B, 127, _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_mask_minmax_round_ph(__m256h __A, __mmask16 __B, __m256h __C, __m256h __D) { - // CHECK-LABEL: @test_mm256_mask_minmax_round_ph( - // CHECK: call <16 x half> @llvm.x86.avx10.mask.vminmaxph256.round( - return _mm256_mask_minmax_round_ph(__A, __B, __C, __D, 127, _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_maskz_minmax_round_ph(__mmask16 __A, __m256h __B, __m256h __C) { - // CHECK-LABEL: @test_mm256_maskz_minmax_round_ph( - // CHECK: call <16 x half> @llvm.x86.avx10.mask.vminmaxph256.round( - return _mm256_maskz_minmax_round_ph(__A, __B, __C, 127, _MM_FROUND_NO_EXC); -} - __m128 test_mm_minmax_ps(__m128 __A, __m128 __B) { // CHECK-LABEL: @test_mm_minmax_ps( // CHECK: call <4 x float> @llvm.x86.avx10.mask.vminmaxps128( @@ -191,24 +155,6 @@ __m256 test_mm256_maskz_minmax_ps(__mmask8 __A, __m256 __B, __m256 __C) { return _mm256_maskz_minmax_ps(__A, __B, __C, 127); } -__m256 test_mm256_minmax_round_ps(__m256 __A, __m256 __B) { - // CHECK-LABEL: @test_mm256_minmax_round_ps( - // CHECK: call <8 x float> @llvm.x86.avx10.mask.vminmaxps256.round( - return _mm256_minmax_round_ps(__A, __B, 127, _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_mask_minmax_round_ps(__m256 __A, __mmask8 __B, __m256 __C, __m256 __D) { - // CHECK-LABEL: @test_mm256_mask_minmax_round_ps( - // CHECK: call <8 x float> @llvm.x86.avx10.mask.vminmaxps256.round( - return _mm256_mask_minmax_round_ps(__A, __B, __C, __D, 127, _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_maskz_minmax_round_ps(__mmask8 __A, __m256 __B, __m256 __C) { - // CHECK-LABEL: @test_mm256_maskz_minmax_round_ps( - // CHECK: call <8 x float> @llvm.x86.avx10.mask.vminmaxps256.round( - return _mm256_maskz_minmax_round_ps(__A, __B, __C, 127, _MM_FROUND_NO_EXC); -} - __m128d test_mm_minmax_sd(__m128d __A, __m128d __B) { // CHECK-LABEL: @test_mm_minmax_sd( // CHECK: call <2 x double> @llvm.x86.avx10.mask.vminmaxsd.round( diff --git a/clang/test/CodeGen/X86/avx10_2ni-builtins.c b/clang/test/CodeGen/X86/avx10_2ni-builtins.c index d06a008c09e71..936be27da61d7 100644 --- a/clang/test/CodeGen/X86/avx10_2ni-builtins.c +++ b/clang/test/CodeGen/X86/avx10_2ni-builtins.c @@ -424,2408 +424,3 @@ __m256i test_mm256_maskz_dpwuuds_epi32(__m256i __A, __mmask8 __B, __m256i __C, _ // CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}} return _mm256_maskz_dpwuuds_epi32(__A, __B, __C, __D); } - -// YMM Rounding -__m256d test_mm256_add_round_pd(__m256d __A, __m256d __B) { -// CHECK-LABEL: @test_mm256_add_round_pd -// CHECK: @llvm.x86.avx10.vaddpd256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 11) - return _mm256_add_round_pd(__A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_mask_add_round_pd(__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) { -// CHECK-LABEL: @test_mm256_mask_add_round_pd -// CHECK: @llvm.x86.avx10.vaddpd256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 10) -// CHECK: select <4 x i1> %{{.*}}, <4 x double> %{{.*}}, <4 x double> %{{.*}} - return _mm256_mask_add_round_pd(__W, __U, __A, __B, _MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_maskz_add_round_pd(__mmask8 __U, __m256d __A, __m256d __B) { -// CHECK-LABEL: @test_mm256_maskz_add_round_pd -// CHECK: @llvm.x86.avx10.vaddpd256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 9) -// CHECK: select <4 x i1> %{{.*}}, <4 x double> %{{.*}}, <4 x double> %{{.*}} - return _mm256_maskz_add_round_pd(__U, __A, __B, _MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_add_round_ph(__m256h __A, __m256h __B) { -// CHECK-LABEL: @test_mm256_add_round_ph -// CHECK: @llvm.x86.avx10.vaddph256(<16 x half> %{{.*}}, <16 x half> %{{.*}}, i32 11) - return _mm256_add_round_ph(__A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_mask_add_round_ph(__m256h __W, __mmask8 __U, __m256h __A, __m256h __B) { -// CHECK-LABEL: @test_mm256_mask_add_round_ph -// CHECK: @llvm.x86.avx10.vaddph256(<16 x half> %{{.*}}, <16 x half> %{{.*}}, i32 10) -// CHECK: select <16 x i1> %{{.*}}, <16 x half> %{{.*}}, <16 x half> %{{.*}} - return _mm256_mask_add_round_ph(__W, __U, __A, __B, _MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_maskz_add_round_ph(__mmask8 __U, __m256h __A, __m256h __B) { -// CHECK-LABEL: @test_mm256_maskz_add_round_ph -// CHECK: @llvm.x86.avx10.vaddph256(<16 x half> %{{.*}}, <16 x half> %{{.*}}, i32 9) -// CHECK: select <16 x i1> %{{.*}}, <16 x half> %{{.*}}, <16 x half> %{{.*}} - return _mm256_maskz_add_round_ph(__U, __A, __B, _MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_add_round_ps(__m256 __A, __m256 __B) { -// CHECK-LABEL: @test_mm256_add_round_ps -// CHECK: @llvm.x86.avx10.vaddps256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 11) - return _mm256_add_round_ps(__A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_mask_add_round_ps(__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) { -// CHECK-LABEL: @test_mm256_mask_add_round_ps -// CHECK: @llvm.x86.avx10.vaddps256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 10) -// CHECK: select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> %{{.*}} - return _mm256_mask_add_round_ps(__W, __U, __A, __B, _MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_maskz_add_round_ps(__mmask8 __U, __m256 __A, __m256 __B) { -// CHECK-LABEL: @test_mm256_maskz_add_round_ps -// CHECK: @llvm.x86.avx10.vaddps256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 9) -// CHECK: select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> %{{.*}} - return _mm256_maskz_add_round_ps(__U, __A, __B, _MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC); -} - -__mmask8 test_mm256_cmp_round_pd_mask(__m256d a, __m256d b) { -// CHECK-LABEL: @test_mm256_cmp_round_pd_mask -// CHECK: fcmp oeq <4 x double> %{{.*}}, %{{.*}} - return _mm256_cmp_round_pd_mask(a, b, _CMP_EQ_OQ, _MM_FROUND_NO_EXC); -} - -__mmask8 test_mm256_mask_cmp_round_pd_mask(__mmask8 m, __m256d a, __m256d b) { -// CHECK-LABEL: @test_mm256_mask_cmp_round_pd_mask -// CHECK: [[CMP:%.*]] = fcmp oeq <4 x double> %{{.*}}, %{{.*}} -// CHECK: and <4 x i1> [[CMP]], {{.*}} - return _mm256_mask_cmp_round_pd_mask(m, a, b, _CMP_EQ_OQ, _MM_FROUND_NO_EXC); -} - -__mmask16 test_mm256_cmp_round_ph_mask(__m256h a, __m256h b) { -// CHECK-LABEL: @test_mm256_cmp_round_ph_mask -// CHECK: fcmp oeq <16 x half> %{{.*}}, %{{.*}} - return _mm256_cmp_round_ph_mask(a, b, _CMP_EQ_OQ, _MM_FROUND_NO_EXC); -} - -__mmask16 test_mm256_mask_cmp_round_ph_mask(__mmask16 m, __m256h a, __m256h b) { -// CHECK-LABEL: @test_mm256_mask_cmp_round_ph_mask -// CHECK: [[CMP:%.*]] = fcmp oeq <16 x half> %{{.*}}, %{{.*}} -// CHECK: and <16 x i1> [[CMP]], {{.*}} - return _mm256_mask_cmp_round_ph_mask(m, a, b, _CMP_EQ_OQ, _MM_FROUND_NO_EXC); -} - -__mmask8 test_mm256_cmp_round_ps_mask(__m256 a, __m256 b) { -// CHECK-LABEL: @test_mm256_cmp_round_ps_mask -// CHECK: fcmp oeq <8 x float> %{{.*}}, %{{.*}} - return _mm256_cmp_round_ps_mask(a, b, _CMP_EQ_OQ, _MM_FROUND_NO_EXC); -} - -__mmask8 test_mm256_mask_cmp_round_ps_mask(__mmask8 m, __m256 a, __m256 b) { -// CHECK-LABEL: @test_mm256_mask_cmp_round_ps_mask -// CHECK: [[CMP:%.*]] = fcmp oeq <8 x float> %{{.*}}, %{{.*}} -// CHECK: and <8 x i1> [[CMP]], {{.*}} - return _mm256_mask_cmp_round_ps_mask(m, a, b, _CMP_EQ_OQ, _MM_FROUND_NO_EXC); -} - -__m128h test_mm256_cvt_roundepi32_ph(__m256i A) { -// CHECK-LABEL: test_mm256_cvt_roundepi32_ph -// CHECK: @llvm.x86.avx512.sitofp.round.v8f16.v8i32(<8 x i32> %{{.*}}, i32 11) - return _mm256_cvt_roundepi32_ph(A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m128h test_mm256_mask_cvt_roundepi32_ph(__m128h A, __mmask8 B, __m256i C) { -// CHECK-LABEL: test_mm256_mask_cvt_roundepi32_ph -// CHECK: @llvm.x86.avx512.sitofp.round.v8f16.v8i32(<8 x i32> %{{.*}}, i32 10) -// CHECK: select <8 x i1> %{{.*}}, <8 x half> %{{.*}}, <8 x half> %{{.*}} - return _mm256_mask_cvt_roundepi32_ph(A, B, C, _MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC); -} - -__m128h test_mm256_maskz_cvt_roundepi32_ph(__mmask8 A, __m256i B) { -// CHECK-LABEL: test_mm256_maskz_cvt_roundepi32_ph -// CHECK: @llvm.x86.avx512.sitofp.round.v8f16.v8i32(<8 x i32> %{{.*}}, i32 9) -// CHECK: select <8 x i1> %{{.*}}, <8 x half> %{{.*}}, <8 x half> %{{.*}} - return _mm256_maskz_cvt_roundepi32_ph(A, B, _MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_cvt_roundepi32_ps(__m256i __A) -{ -// CHECK-LABEL: @test_mm256_cvt_roundepi32_ps -// CHECK: @llvm.x86.avx512.sitofp.round.v8f32.v8i32 - return _mm256_cvt_roundepi32_ps(__A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_mask_cvt_roundepi32_ps(__m256 __W, __mmask8 __U, __m256i __A) -{ -// CHECK-LABEL: @test_mm256_mask_cvt_roundepi32_ps -// CHECK: @llvm.x86.avx512.sitofp.round.v8f32.v8i32 -// CHECK: select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> %{{.*}} - return _mm256_mask_cvt_roundepi32_ps(__W, __U, __A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_maskz_cvt_roundepi32_ps(__mmask8 __U, __m256i __A) -{ -// CHECK-LABEL: @test_mm256_maskz_cvt_roundepi32_ps -// CHECK: @llvm.x86.avx512.sitofp.round.v8f32.v8i32 -// CHECK: select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> %{{.*}} - return _mm256_maskz_cvt_roundepi32_ps(__U, __A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m128i test_mm256_cvt_roundpd_epi32(__m256d A) -{ -// CHECK-LABEL: @test_mm256_cvt_roundpd_epi32 -// CHECK: @llvm.x86.avx10.mask.vcvtpd2dq256 - return _mm256_cvt_roundpd_epi32(A,_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m128i test_mm256_mask_cvt_roundpd_epi32(__m128i W,__mmask8 U,__m256d A) -{ -// CHECK-LABEL: @test_mm256_mask_cvt_roundpd_epi32 -// CHECK: @llvm.x86.avx10.mask.vcvtpd2dq256 - return _mm256_mask_cvt_roundpd_epi32(W, U, A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m128i test_mm256_maskz_cvt_roundpd_epi32(__mmask8 U, __m256d A) -{ -// CHECK-LABEL: @test_mm256_maskz_cvt_roundpd_epi32 -// CHECK: @llvm.x86.avx10.mask.vcvtpd2dq256 - return _mm256_maskz_cvt_roundpd_epi32(U, A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m128h test_mm256_cvt_roundpd_ph(__m256d A) { -// CHECK-LABEL: test_mm256_cvt_roundpd_ph -// CHECK: @llvm.x86.avx10.mask.vcvtpd2ph256 - return _mm256_cvt_roundpd_ph(A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m128h test_mm256_mask_cvt_roundpd_ph(__m128h A, __mmask8 B, __m256d C) { -// CHECK-LABEL: test_mm256_mask_cvt_roundpd_ph -// CHECK: @llvm.x86.avx10.mask.vcvtpd2ph256 - return _mm256_mask_cvt_roundpd_ph(A, B, C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m128h test_mm256_maskz_cvt_roundpd_ph(__mmask8 A, __m256d B) { -// CHECK-LABEL: test_mm256_maskz_cvt_roundpd_ph -// CHECK: @llvm.x86.avx10.mask.vcvtpd2ph256 - return _mm256_maskz_cvt_roundpd_ph(A, B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m128 test_mm256_cvt_roundpd_ps(__m256d A) -{ -// CHECK-LABEL: @test_mm256_cvt_roundpd_ps -// CHECK: @llvm.x86.avx10.mask.vcvtpd2ps256 - return _mm256_cvt_roundpd_ps(A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m128 test_mm256_mask_cvt_roundpd_ps(__m128 W, __mmask8 U,__m256d A) -{ -// CHECK-LABEL: @test_mm256_mask_cvt_roundpd_ps -// CHECK: @llvm.x86.avx10.mask.vcvtpd2ps256 - return _mm256_mask_cvt_roundpd_ps(W, U, A,_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m128 test_mm256_maskz_cvt_roundpd_ps(__mmask8 U, __m256d A) -{ -// CHECK-LABEL: @test_mm256_maskz_cvt_roundpd_ps -// CHECK: @llvm.x86.avx10.mask.vcvtpd2ps256 - return _mm256_maskz_cvt_roundpd_ps(U, A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_cvt_roundpd_epi64(__m256d __A) { -// CHECK-LABEL: @test_mm256_cvt_roundpd_epi64 -// CHECK: @llvm.x86.avx10.mask.vcvtpd2qq256 - return _mm256_cvt_roundpd_epi64(__A, _MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_mask_cvt_roundpd_epi64(__m256i __W, __mmask8 __U, __m256d __A) { -// CHECK-LABEL: @test_mm256_mask_cvt_roundpd_epi64 -// CHECK: @llvm.x86.avx10.mask.vcvtpd2qq256 - return _mm256_mask_cvt_roundpd_epi64(__W, __U, __A, _MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_maskz_cvt_roundpd_epi64(__mmask8 __U, __m256d __A) { -// CHECK-LABEL: @test_mm256_maskz_cvt_roundpd_epi64 -// CHECK: @llvm.x86.avx10.mask.vcvtpd2qq256 - return _mm256_maskz_cvt_roundpd_epi64(__U, __A, _MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC); -} - -__m128i test_mm256_cvt_roundpd_epu32(__m256d A) -{ -// CHECK-LABEL: @test_mm256_cvt_roundpd_epu32 -// CHECK: @llvm.x86.avx10.mask.vcvtpd2udq256 - return _mm256_cvt_roundpd_epu32(A,_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m128i test_mm256_mask_cvt_roundpd_epu32(__m128i W,__mmask8 U,__m256d A) -{ -// CHECK-LABEL: @test_mm256_mask_cvt_roundpd_epu32 -// CHECK: @llvm.x86.avx10.mask.vcvtpd2udq256 - return _mm256_mask_cvt_roundpd_epu32(W, U, A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m128i test_mm256_maskz_cvt_roundpd_epu32(__mmask8 U, __m256d A) -{ -// CHECK-LABEL: @test_mm256_maskz_cvt_roundpd_epu32 -// CHECK: @llvm.x86.avx10.mask.vcvtpd2udq256 - return _mm256_maskz_cvt_roundpd_epu32(U, A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_cvt_roundpd_epu64(__m256d __A) { -// CHECK-LABEL: @test_mm256_cvt_roundpd_epu64 -// CHECK: @llvm.x86.avx10.mask.vcvtpd2uqq256 - return _mm256_cvt_roundpd_epu64(__A, _MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_mask_cvt_roundpd_epu64(__m256i __W, __mmask8 __U, __m256d __A) { -// CHECK-LABEL: @test_mm256_mask_cvt_roundpd_epu64 -// CHECK: @llvm.x86.avx10.mask.vcvtpd2uqq256 - return _mm256_mask_cvt_roundpd_epu64(__W, __U, __A, _MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_maskz_cvt_roundpd_epu64(__mmask8 __U, __m256d __A) { -// CHECK-LABEL: @test_mm256_maskz_cvt_roundpd_epu64 -// CHECK: @llvm.x86.avx10.mask.vcvtpd2uqq256 - return _mm256_maskz_cvt_roundpd_epu64(__U, __A, _MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_cvt_roundph_epi32(__m128h A) { -// CHECK-LABEL: test_mm256_cvt_roundph_epi32 -// CHECK: @llvm.x86.avx10.mask.vcvtph2dq256 - return _mm256_cvt_roundph_epi32(A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_mask_cvt_roundph_epi32(__m256i A, __mmask16 B, __m128h C) { -// CHECK-LABEL: test_mm256_mask_cvt_roundph_epi32 -// CHECK: @llvm.x86.avx10.mask.vcvtph2dq256 - return _mm256_mask_cvt_roundph_epi32(A, B, C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_maskz_cvt_roundph_epi32(__mmask16 A, __m128h B) { -// CHECK-LABEL: test_mm256_maskz_cvt_roundph_epi32 -// CHECK: @llvm.x86.avx10.mask.vcvtph2dq256 - return _mm256_maskz_cvt_roundph_epi32(A, B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_cvt_roundph_pd(__m128h A) { -// CHECK-LABEL: test_mm256_cvt_roundph_pd -// CHECK: @llvm.x86.avx10.mask.vcvtph2pd256 - return _mm256_cvt_roundph_pd(A, _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_mask_cvt_roundph_pd(__m256d A, __mmask8 B, __m128h C) { -// CHECK-LABEL: test_mm256_mask_cvt_roundph_pd -// CHECK: @llvm.x86.avx10.mask.vcvtph2pd256 - return _mm256_mask_cvt_roundph_pd(A, B, C, _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_maskz_cvt_roundph_pd(__mmask8 A, __m128h B) { -// CHECK-LABEL: test_mm256_maskz_cvt_roundph_pd -// CHECK: @llvm.x86.avx10.mask.vcvtph2pd256 - return _mm256_maskz_cvt_roundph_pd(A, B, _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_cvtx_roundph_ps(__m128h A) { -// CHECK-LABEL: test_mm256_cvtx_roundph_ps -// CHECK: @llvm.x86.avx10.mask.vcvtph2psx256 - return _mm256_cvtx_roundph_ps(A, _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_mask_cvtx_roundph_ps(__m256 A, __mmask16 B, __m128h C) { -// CHECK-LABEL: test_mm256_mask_cvtx_roundph_ps -// CHECK: @llvm.x86.avx10.mask.vcvtph2psx256 - return _mm256_mask_cvtx_roundph_ps(A, B, C, _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_maskz_cvtx_roundph_ps(__mmask16 A, __m128h B) { -// CHECK-LABEL: test_mm256_maskz_cvtx_roundph_ps -// CHECK: @llvm.x86.avx10.mask.vcvtph2psx256 - return _mm256_maskz_cvtx_roundph_ps(A, B, _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_cvt_roundph_epi64(__m128h A) { -// CHECK-LABEL: test_mm256_cvt_roundph_epi64 -// CHECK: @llvm.x86.avx10.mask.vcvtph2qq256 - return _mm256_cvt_roundph_epi64(A, _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_mask_cvt_roundph_epi64(__m256i A, __mmask8 B, __m128h C) { -// CHECK-LABEL: test_mm256_mask_cvt_roundph_epi64 -// CHECK: @llvm.x86.avx10.mask.vcvtph2qq256 - return _mm256_mask_cvt_roundph_epi64(A, B, C, _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_maskz_cvt_roundph_epi64(__mmask8 A, __m128h B) { -// CHECK-LABEL: test_mm256_maskz_cvt_roundph_epi64 -// CHECK: @llvm.x86.avx10.mask.vcvtph2qq256 - return _mm256_maskz_cvt_roundph_epi64(A, B, _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_cvt_roundph_epu32(__m128h A) { -// CHECK-LABEL: test_mm256_cvt_roundph_epu32 -// CHECK: @llvm.x86.avx10.mask.vcvtph2udq256 - return _mm256_cvt_roundph_epu32(A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_mask_cvt_roundph_epu32(__m256i A, __mmask16 B, __m128h C) { -// CHECK-LABEL: test_mm256_mask_cvt_roundph_epu32 -// CHECK: @llvm.x86.avx10.mask.vcvtph2udq256 - return _mm256_mask_cvt_roundph_epu32(A, B, C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_maskz_cvt_roundph_epu32(__mmask16 A, __m128h B) { -// CHECK-LABEL: test_mm256_maskz_cvt_roundph_epu32 -// CHECK: @llvm.x86.avx10.mask.vcvtph2udq256 - return _mm256_maskz_cvt_roundph_epu32(A, B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_cvt_roundph_epu64(__m128h A) { -// CHECK-LABEL: test_mm256_cvt_roundph_epu64 -// CHECK: @llvm.x86.avx10.mask.vcvtph2uqq256 - return _mm256_cvt_roundph_epu64(A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_mask_cvt_roundph_epu64(__m256i A, __mmask8 B, __m128h C) { -// CHECK-LABEL: test_mm256_mask_cvt_roundph_epu64 -// CHECK: @llvm.x86.avx10.mask.vcvtph2uqq256 - return _mm256_mask_cvt_roundph_epu64(A, B, C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_maskz_cvt_roundph_epu64(__mmask8 A, __m128h B) { -// CHECK-LABEL: test_mm256_maskz_cvt_roundph_epu64 -// CHECK: @llvm.x86.avx10.mask.vcvtph2uqq256 - return _mm256_maskz_cvt_roundph_epu64(A, B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_cvt_roundph_epu16(__m256h A) { -// CHECK-LABEL: test_mm256_cvt_roundph_epu16 -// CHECK: @llvm.x86.avx10.mask.vcvtph2uw256 - return _mm256_cvt_roundph_epu16(A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_mask_cvt_roundph_epu16(__m256i A, __mmask32 B, __m256h C) { -// CHECK-LABEL: test_mm256_mask_cvt_roundph_epu16 -// CHECK: @llvm.x86.avx10.mask.vcvtph2uw256 - return _mm256_mask_cvt_roundph_epu16(A, B, C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_maskz_cvt_roundph_epu16(__mmask32 A, __m256h B) { -// CHECK-LABEL: test_mm256_maskz_cvt_roundph_epu16 -// CHECK: @llvm.x86.avx10.mask.vcvtph2uw256 - return _mm256_maskz_cvt_roundph_epu16(A, B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_cvt_roundph_epi16(__m256h A) { -// CHECK-LABEL: test_mm256_cvt_roundph_epi16 -// CHECK: @llvm.x86.avx10.mask.vcvtph2w256 - return _mm256_cvt_roundph_epi16(A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_mask_cvt_roundph_epi16(__m256i A, __mmask32 B, __m256h C) { -// CHECK-LABEL: test_mm256_mask_cvt_roundph_epi16 -// CHECK: @llvm.x86.avx10.mask.vcvtph2w256 - return _mm256_mask_cvt_roundph_epi16(A, B, C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_maskz_cvt_roundph_epi16(__mmask32 A, __m256h B) { -// CHECK-LABEL: test_mm256_maskz_cvt_roundph_epi16 -// CHECK: @llvm.x86.avx10.mask.vcvtph2w256 - return _mm256_maskz_cvt_roundph_epi16(A, B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_cvt_roundps_epi32(__m256 __A) -{ -// CHECK-LABEL: @test_mm256_cvt_roundps_epi32 -// CHECK: @llvm.x86.avx10.mask.vcvtps2dq256 - return _mm256_cvt_roundps_epi32(__A,_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_mask_cvt_roundps_epi32(__m256i __W,__mmask16 __U,__m256 __A) -{ -// CHECK-LABEL: @test_mm256_mask_cvt_roundps_epi32 -// CHECK: @llvm.x86.avx10.mask.vcvtps2dq256 - return _mm256_mask_cvt_roundps_epi32(__W,__U,__A,_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_maskz_cvt_roundps_epi32(__mmask16 __U, __m256 __A) -{ -// CHECK-LABEL: @test_mm256_maskz_cvt_roundps_epi32 -// CHECK: @llvm.x86.avx10.mask.vcvtps2dq256 - return _mm256_maskz_cvt_roundps_epi32(__U,__A,_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_cvt_roundps_pd(__m128 __A) { -// CHECK-LABEL: @test_mm256_cvt_roundps_pd -// CHECK: @llvm.x86.avx10.mask.vcvtps2pd256 - return _mm256_cvt_roundps_pd(__A, _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_mask_cvt_roundps_pd(__m256d __W, __mmask8 __U, __m128 __A) { -// CHECK-LABEL: @test_mm256_mask_cvt_roundps_pd -// CHECK: @llvm.x86.avx10.mask.vcvtps2pd256 - return _mm256_mask_cvt_roundps_pd(__W, __U, __A, _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_maskz_cvt_roundps_pd(__mmask8 __U, __m128 __A) { -// CHECK-LABEL: @test_mm256_maskz_cvt_roundps_pd -// CHECK: @llvm.x86.avx10.mask.vcvtps2pd256 - return _mm256_maskz_cvt_roundps_pd(__U, __A, _MM_FROUND_NO_EXC); -} - -// FIXME: We may change to @llvm.x86.avx10.mask.vcvtps2ph256 in future. -__m128i test_mm256_cvt_roundps_ph(__m256 __A) -{ - // CHECK-LABEL: @test_mm256_cvt_roundps_ph - // CHECK: @llvm.x86.avx512.mask.vcvtps2ph.256 - return _mm256_cvt_roundps_ph(__A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m128i test_mm256_mask_cvt_roundps_ph(__m128i __W , __mmask16 __U, __m256 __A) -{ - // CHECK-LABEL: @test_mm256_mask_cvt_roundps_ph - // CHECK: @llvm.x86.avx512.mask.vcvtps2ph.256 - return _mm256_mask_cvt_roundps_ph(__W, __U, __A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m128i test_mm256_maskz_cvt_roundps_ph(__mmask16 __U, __m256 __A) -{ - // CHECK-LABEL: @test_mm256_maskz_cvt_roundps_ph - // CHECK: @llvm.x86.avx512.mask.vcvtps2ph.256 - return _mm256_maskz_cvt_roundps_ph(__U, __A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m128h test_mm256_cvtx_roundps_ph(__m256 A) { -// CHECK-LABEL: test_mm256_cvtx_roundps_ph -// CHECK: @llvm.x86.avx10.mask.vcvtps2phx256 - return _mm256_cvtx_roundps_ph(A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m128h test_mm256_mask_cvtx_roundps_ph(__m128h A, __mmask16 B, __m256 C) { -// CHECK-LABEL: test_mm256_mask_cvtx_roundps_ph -// CHECK: @llvm.x86.avx10.mask.vcvtps2phx256 - return _mm256_mask_cvtx_roundps_ph(A, B, C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m128h test_mm256_maskz_cvtx_roundps_ph(__mmask16 A, __m256 B) { -// CHECK-LABEL: test_mm256_maskz_cvtx_roundps_ph -// CHECK: @llvm.x86.avx10.mask.vcvtps2phx256 - return _mm256_maskz_cvtx_roundps_ph(A, B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_cvt_roundps_epi64(__m128 __A) { -// CHECK-LABEL: @test_mm256_cvt_roundps_epi64 -// CHECK: @llvm.x86.avx10.mask.vcvtps2qq256 - return _mm256_cvt_roundps_epi64(__A, _MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_mask_cvt_roundps_epi64(__m256i __W, __mmask8 __U, __m128 __A) { -// CHECK-LABEL: @test_mm256_mask_cvt_roundps_epi64 -// CHECK: @llvm.x86.avx10.mask.vcvtps2qq256 - return _mm256_mask_cvt_roundps_epi64(__W, __U, __A, _MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_maskz_cvt_roundps_epi64(__mmask8 __U, __m128 __A) { -// CHECK-LABEL: @test_mm256_maskz_cvt_roundps_epi64 -// CHECK: @llvm.x86.avx10.mask.vcvtps2qq256 - return _mm256_maskz_cvt_roundps_epi64(__U, __A, _MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_cvt_roundps_epu32(__m256 __A) -{ -// CHECK-LABEL: @test_mm256_cvt_roundps_epu32 -// CHECK: @llvm.x86.avx10.mask.vcvtps2udq256 - return _mm256_cvt_roundps_epu32(__A,_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_mask_cvt_roundps_epu32(__m256i __W,__mmask16 __U,__m256 __A) -{ -// CHECK-LABEL: @test_mm256_mask_cvt_roundps_epu32 -// CHECK: @llvm.x86.avx10.mask.vcvtps2udq256 - return _mm256_mask_cvt_roundps_epu32(__W,__U,__A,_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_maskz_cvt_roundps_epu32(__mmask16 __U,__m256 __A) -{ -// CHECK-LABEL: @test_mm256_maskz_cvt_roundps_epu32 -// CHECK: @llvm.x86.avx10.mask.vcvtps2udq256 - return _mm256_maskz_cvt_roundps_epu32(__U,__A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_cvt_roundps_epu64(__m128 __A) { -// CHECK-LABEL: @test_mm256_cvt_roundps_epu64 -// CHECK: @llvm.x86.avx10.mask.vcvtps2uqq256 - return _mm256_cvt_roundps_epu64(__A, _MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_mask_cvt_roundps_epu64(__m256i __W, __mmask8 __U, __m128 __A) { -// CHECK-LABEL: @test_mm256_mask_cvt_roundps_epu64 -// CHECK: @llvm.x86.avx10.mask.vcvtps2uqq256 - return _mm256_mask_cvt_roundps_epu64(__W, __U, __A, _MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_maskz_cvt_roundps_epu64(__mmask8 __U, __m128 __A) { -// CHECK-LABEL: @test_mm256_maskz_cvt_roundps_epu64 -// CHECK: @llvm.x86.avx10.mask.vcvtps2uqq256 - return _mm256_maskz_cvt_roundps_epu64(__U, __A, _MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC); -} - -__m256d test__mm256_cvt_roundepi64_pd(__m256i __A) { -// CHECK-LABEL: @test__mm256_cvt_roundepi64_pd -// CHECK: @llvm.x86.avx512.sitofp.round.v4f64.v4i64 - return _mm256_cvt_roundepi64_pd(__A, _MM_FROUND_NO_EXC); -} - -__m256d test__mm256_mask_cvt_roundepi64_pd(__m256d __W, __mmask8 __U, __m256i __A) { -// CHECK-LABEL: @test__mm256_mask_cvt_roundepi64_pd -// CHECK: @llvm.x86.avx512.sitofp.round.v4f64.v4i64 - return _mm256_mask_cvt_roundepi64_pd(__W, __U, __A, _MM_FROUND_NO_EXC); -} - -__m256d test__mm256_maskz_cvt_roundepi64_pd(__mmask8 __U, __m256i __A) { -// CHECK-LABEL: @test__mm256_maskz_cvt_roundepi64_pd -// CHECK: @llvm.x86.avx512.sitofp.round.v4f64.v4i64 - return _mm256_maskz_cvt_roundepi64_pd(__U, __A, _MM_FROUND_NO_EXC); -} - -// FIXME: We may change to @llvm.x86.avx10.mask.vcvtqq2ph256 in future. -__m128h test_mm256_cvt_roundepi64_ph(__m256i A) { -// CHECK-LABEL: test_mm256_cvt_roundepi64_ph -// CHECK: @llvm.x86.avx512.sitofp.round.v8f16.v4i64 - return _mm256_cvt_roundepi64_ph(A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m128h test_mm256_mask_cvt_roundepi64_ph(__m128h A, __mmask8 B, __m256i C) { -// CHECK-LABEL: test_mm256_mask_cvt_roundepi64_ph -// CHECK: @llvm.x86.avx512.sitofp.round.v8f16.v4i64 - return _mm256_mask_cvt_roundepi64_ph(A, B, C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m128h test_mm256_maskz_cvt_roundepi64_ph(__mmask8 A, __m256i B) { -// CHECK-LABEL: test_mm256_maskz_cvt_roundepi64_ph -// CHECK: @llvm.x86.avx512.sitofp.round.v8f16.v4i64 - return _mm256_maskz_cvt_roundepi64_ph(A, B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m128 test_mm256_cvt_roundepi64_ps(__m256i __A) { -// CHECK-LABEL: @test_mm256_cvt_roundepi64_ps -// CHECK: @llvm.x86.avx512.sitofp.round.v4f32.v4i64 - return _mm256_cvt_roundepi64_ps(__A, _MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC); -} - -__m128 test_mm256_mask_cvt_roundepi64_ps(__m128 __W, __mmask8 __U, __m256i __A) { -// CHECK-LABEL: @test_mm256_mask_cvt_roundepi64_ps -// CHECK: @llvm.x86.avx512.sitofp.round.v4f32.v4i64 -// CHECK: select <4 x i1> %{{.*}}, <4 x float> %{{.*}}, <4 x float> %{{.*}} - return _mm256_mask_cvt_roundepi64_ps(__W, __U, __A, _MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC); -} - -__m128 test_mm256_maskz_cvt_roundepi64_ps(__mmask8 __U, __m256i __A) { -// CHECK-LABEL: @test_mm256_maskz_cvt_roundepi64_ps -// CHECK: @llvm.x86.avx512.sitofp.round.v4f32.v4i64 -// CHECK: select <4 x i1> %{{.*}}, <4 x float> %{{.*}}, <4 x float> %{{.*}} - return _mm256_maskz_cvt_roundepi64_ps(__U, __A, _MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC); -} - -__m128i test_mm256_cvtt_roundpd_epi32(__m256d A) -{ -// CHECK-LABEL: @test_mm256_cvtt_roundpd_epi32 -// CHECK: @llvm.x86.avx10.mask.vcvttpd2dq256 - return _mm256_cvtt_roundpd_epi32(A,_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m128i test_mm256_mask_cvtt_roundpd_epi32(__m128i W,__mmask8 U,__m256d A) -{ -// CHECK-LABEL: @test_mm256_mask_cvtt_roundpd_epi32 -// CHECK: @llvm.x86.avx10.mask.vcvttpd2dq256 - return _mm256_mask_cvtt_roundpd_epi32(W, U, A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m128i test_mm256_maskz_cvtt_roundpd_epi32(__mmask8 U, __m256d A) -{ -// CHECK-LABEL: @test_mm256_maskz_cvtt_roundpd_epi32 -// CHECK: @llvm.x86.avx10.mask.vcvttpd2dq256 - return _mm256_maskz_cvtt_roundpd_epi32(U, A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_cvtt_roundpd_epi64(__m256d __A) { -// CHECK-LABEL: @test_mm256_cvtt_roundpd_epi64 -// CHECK: @llvm.x86.avx10.mask.vcvttpd2qq256 - return _mm256_cvtt_roundpd_epi64(__A, _MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_mask_cvtt_roundpd_epi64(__m256i __W, __mmask8 __U, __m256d __A) { -// CHECK-LABEL: @test_mm256_mask_cvtt_roundpd_epi64 -// CHECK: @llvm.x86.avx10.mask.vcvttpd2qq256 - return _mm256_mask_cvtt_roundpd_epi64(__W, __U, __A, _MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_maskz_cvtt_roundpd_epi64(__mmask8 __U, __m256d __A) { -// CHECK-LABEL: @test_mm256_maskz_cvtt_roundpd_epi64 -// CHECK: @llvm.x86.avx10.mask.vcvttpd2qq256 - return _mm256_maskz_cvtt_roundpd_epi64(__U, __A, _MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC); -} - -__m128i test_mm256_cvtt_roundpd_epu32(__m256d A) -{ -// CHECK-LABEL: @test_mm256_cvtt_roundpd_epu32 -// CHECK: @llvm.x86.avx10.mask.vcvttpd2udq256 - return _mm256_cvtt_roundpd_epu32(A,_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m128i test_mm256_mask_cvtt_roundpd_epu32(__m128i W,__mmask8 U,__m256d A) -{ -// CHECK-LABEL: @test_mm256_mask_cvtt_roundpd_epu32 -// CHECK: @llvm.x86.avx10.mask.vcvttpd2udq256 - return _mm256_mask_cvtt_roundpd_epu32(W, U, A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m128i test_mm256_maskz_cvtt_roundpd_epu32(__mmask8 U, __m256d A) -{ -// CHECK-LABEL: @test_mm256_maskz_cvtt_roundpd_epu32 -// CHECK: @llvm.x86.avx10.mask.vcvttpd2udq256 - return _mm256_maskz_cvtt_roundpd_epu32(U, A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_cvtt_roundpd_epu64(__m256d __A) { -// CHECK-LABEL: @test_mm256_cvtt_roundpd_epu64 -// CHECK: @llvm.x86.avx10.mask.vcvttpd2uqq256 - return _mm256_cvtt_roundpd_epu64(__A, _MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_mask_cvtt_roundpd_epu64(__m256i __W, __mmask8 __U, __m256d __A) { -// CHECK-LABEL: @test_mm256_mask_cvtt_roundpd_epu64 -// CHECK: @llvm.x86.avx10.mask.vcvttpd2uqq256 - return _mm256_mask_cvtt_roundpd_epu64(__W, __U, __A, _MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_maskz_cvtt_roundpd_epu64(__mmask8 __U, __m256d __A) { -// CHECK-LABEL: @test_mm256_maskz_cvtt_roundpd_epu64 -// CHECK: @llvm.x86.avx10.mask.vcvttpd2uqq256 - return _mm256_maskz_cvtt_roundpd_epu64(__U, __A, _MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_cvtt_roundph_epi32(__m128h A) { -// CHECK-LABEL: test_mm256_cvtt_roundph_epi32 -// CHECK: @llvm.x86.avx10.mask.vcvttph2dq256 - return _mm256_cvtt_roundph_epi32(A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_mask_cvtt_roundph_epi32(__m256i A, __mmask16 B, __m128h C) { -// CHECK-LABEL: test_mm256_mask_cvtt_roundph_epi32 -// CHECK: @llvm.x86.avx10.mask.vcvttph2dq256 - return _mm256_mask_cvtt_roundph_epi32(A, B, C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_maskz_cvtt_roundph_epi32(__mmask16 A, __m128h B) { -// CHECK-LABEL: test_mm256_maskz_cvtt_roundph_epi32 -// CHECK: @llvm.x86.avx10.mask.vcvttph2dq256 - return _mm256_maskz_cvtt_roundph_epi32(A, B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_cvtt_roundph_epi64(__m128h A) { -// CHECK-LABEL: test_mm256_cvtt_roundph_epi64 -// CHECK: @llvm.x86.avx10.mask.vcvttph2qq256 - return _mm256_cvtt_roundph_epi64(A, _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_mask_cvtt_roundph_epi64(__m256i A, __mmask8 B, __m128h C) { -// CHECK-LABEL: test_mm256_mask_cvtt_roundph_epi64 -// CHECK: @llvm.x86.avx10.mask.vcvttph2qq256 - return _mm256_mask_cvtt_roundph_epi64(A, B, C, _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_maskz_cvtt_roundph_epi64(__mmask8 A, __m128h B) { -// CHECK-LABEL: test_mm256_maskz_cvtt_roundph_epi64 -// CHECK: @llvm.x86.avx10.mask.vcvttph2qq256 - return _mm256_maskz_cvtt_roundph_epi64(A, B, _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_cvtt_roundph_epu32(__m128h A) { -// CHECK-LABEL: test_mm256_cvtt_roundph_epu32 -// CHECK: @llvm.x86.avx10.mask.vcvttph2udq256 - return _mm256_cvtt_roundph_epu32(A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_mask_cvtt_roundph_epu32(__m256i A, __mmask16 B, __m128h C) { -// CHECK-LABEL: test_mm256_mask_cvtt_roundph_epu32 -// CHECK: @llvm.x86.avx10.mask.vcvttph2udq256 - return _mm256_mask_cvtt_roundph_epu32(A, B, C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_maskz_cvtt_roundph_epu32(__mmask16 A, __m128h B) { -// CHECK-LABEL: test_mm256_maskz_cvtt_roundph_epu32 -// CHECK: @llvm.x86.avx10.mask.vcvttph2udq256 - return _mm256_maskz_cvtt_roundph_epu32(A, B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_cvtt_roundph_epu64(__m128h A) { -// CHECK-LABEL: test_mm256_cvtt_roundph_epu64 -// CHECK: @llvm.x86.avx10.mask.vcvttph2uqq256 - return _mm256_cvtt_roundph_epu64(A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_mask_cvtt_roundph_epu64(__m256i A, __mmask8 B, __m128h C) { -// CHECK-LABEL: test_mm256_mask_cvtt_roundph_epu64 -// CHECK: @llvm.x86.avx10.mask.vcvttph2uqq256 - return _mm256_mask_cvtt_roundph_epu64(A, B, C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_maskz_cvtt_roundph_epu64(__mmask8 A, __m128h B) { -// CHECK-LABEL: test_mm256_maskz_cvtt_roundph_epu64 -// CHECK: @llvm.x86.avx10.mask.vcvttph2uqq256 - return _mm256_maskz_cvtt_roundph_epu64(A, B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_cvtt_roundph_epu16(__m256h A) { -// CHECK-LABEL: test_mm256_cvtt_roundph_epu16 -// CHECK: @llvm.x86.avx10.mask.vcvttph2uw256 - return _mm256_cvtt_roundph_epu16(A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_mask_cvtt_roundph_epu16(__m256i A, __mmask32 B, __m256h C) { -// CHECK-LABEL: test_mm256_mask_cvtt_roundph_epu16 -// CHECK: @llvm.x86.avx10.mask.vcvttph2uw256 - return _mm256_mask_cvtt_roundph_epu16(A, B, C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_maskz_cvtt_roundph_epu16(__mmask32 A, __m256h B) { -// CHECK-LABEL: test_mm256_maskz_cvtt_roundph_epu16 -// CHECK: @llvm.x86.avx10.mask.vcvttph2uw256 - return _mm256_maskz_cvtt_roundph_epu16(A, B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_cvtt_roundph_epi16(__m256h A) { -// CHECK-LABEL: test_mm256_cvtt_roundph_epi16 -// CHECK: @llvm.x86.avx10.mask.vcvttph2w256 - return _mm256_cvtt_roundph_epi16(A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_mask_cvtt_roundph_epi16(__m256i A, __mmask32 B, __m256h C) { -// CHECK-LABEL: test_mm256_mask_cvtt_roundph_epi16 -// CHECK: @llvm.x86.avx10.mask.vcvttph2w256 - return _mm256_mask_cvtt_roundph_epi16(A, B, C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_maskz_cvtt_roundph_epi16(__mmask32 A, __m256h B) { -// CHECK-LABEL: test_mm256_maskz_cvtt_roundph_epi16 -// CHECK: @llvm.x86.avx10.mask.vcvttph2w256 - return _mm256_maskz_cvtt_roundph_epi16(A, B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_cvtt_roundps_epi32(__m256 __A) -{ -// CHECK-LABEL: @test_mm256_cvtt_roundps_epi32 -// CHECK: @llvm.x86.avx10.mask.vcvttps2dq256 - return _mm256_cvtt_roundps_epi32(__A,_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_mask_cvtt_roundps_epi32(__m256i __W,__mmask16 __U,__m256 __A) -{ -// CHECK-LABEL: @test_mm256_mask_cvtt_roundps_epi32 -// CHECK: @llvm.x86.avx10.mask.vcvttps2dq256 - return _mm256_mask_cvtt_roundps_epi32(__W,__U,__A,_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_maskz_cvtt_roundps_epi32(__mmask16 __U, __m256 __A) -{ -// CHECK-LABEL: @test_mm256_maskz_cvtt_roundps_epi32 -// CHECK: @llvm.x86.avx10.mask.vcvttps2dq256 - return _mm256_maskz_cvtt_roundps_epi32(__U,__A,_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_cvtt_roundps_epi64(__m128 __A) { -// CHECK-LABEL: @test_mm256_cvtt_roundps_epi64 -// CHECK: @llvm.x86.avx10.mask.vcvttps2qq256 - return _mm256_cvtt_roundps_epi64(__A, _MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_mask_cvtt_roundps_epi64(__m256i __W, __mmask8 __U, __m128 __A) { -// CHECK-LABEL: @test_mm256_mask_cvtt_roundps_epi64 -// CHECK: @llvm.x86.avx10.mask.vcvttps2qq256 - return _mm256_mask_cvtt_roundps_epi64(__W, __U, __A, _MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_maskz_cvtt_roundps_epi64(__mmask8 __U, __m128 __A) { -// CHECK-LABEL: @test_mm256_maskz_cvtt_roundps_epi64 -// CHECK: @llvm.x86.avx10.mask.vcvttps2qq256 - return _mm256_maskz_cvtt_roundps_epi64(__U, __A, _MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_cvtt_roundps_epu32(__m256 __A) -{ -// CHECK-LABEL: @test_mm256_cvtt_roundps_epu32 -// CHECK: @llvm.x86.avx10.mask.vcvttps2udq256 - return _mm256_cvtt_roundps_epu32(__A,_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_mask_cvtt_roundps_epu32(__m256i __W,__mmask16 __U,__m256 __A) -{ -// CHECK-LABEL: @test_mm256_mask_cvtt_roundps_epu32 -// CHECK: @llvm.x86.avx10.mask.vcvttps2udq256 - return _mm256_mask_cvtt_roundps_epu32(__W,__U,__A,_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_maskz_cvtt_roundps_epu32(__mmask16 __U,__m256 __A) -{ -// CHECK-LABEL: @test_mm256_maskz_cvtt_roundps_epu32 -// CHECK: @llvm.x86.avx10.mask.vcvttps2udq256 - return _mm256_maskz_cvtt_roundps_epu32(__U,__A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_cvtt_roundps_epu64(__m128 __A) { -// CHECK-LABEL: @test_mm256_cvtt_roundps_epu64 -// CHECK: @llvm.x86.avx10.mask.vcvttps2uqq256 - return _mm256_cvtt_roundps_epu64(__A, _MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_mask_cvtt_roundps_epu64(__m256i __W, __mmask8 __U, __m128 __A) { -// CHECK-LABEL: @test_mm256_mask_cvtt_roundps_epu64 -// CHECK: @llvm.x86.avx10.mask.vcvttps2uqq256 - return _mm256_mask_cvtt_roundps_epu64(__W, __U, __A, _MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_maskz_cvtt_roundps_epu64(__mmask8 __U, __m128 __A) { -// CHECK-LABEL: @test_mm256_maskz_cvtt_roundps_epu64 -// CHECK: @llvm.x86.avx10.mask.vcvttps2uqq256 - return _mm256_maskz_cvtt_roundps_epu64(__U, __A, _MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC); -} - -__m128h test_mm256_cvt_roundepu32_ph(__m256i A) { -// CHECK-LABEL: test_mm256_cvt_roundepu32_ph -// CHECK: @llvm.x86.avx512.uitofp.round.v8f16.v8i32(<8 x i32> %{{.*}}, i32 11) - return _mm256_cvt_roundepu32_ph(A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m128h test_mm256_mask_cvt_roundepu32_ph(__m128h A, __mmask8 B, __m256i C) { -// CHECK-LABEL: test_mm256_mask_cvt_roundepu32_ph -// CHECK: @llvm.x86.avx512.uitofp.round.v8f16.v8i32(<8 x i32> %{{.*}}, i32 10) -// CHECK: select <8 x i1> %{{.*}}, <8 x half> %{{.*}}, <8 x half> %{{.*}} - return _mm256_mask_cvt_roundepu32_ph(A, B, C, _MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC); -} - -__m128h test_mm256_maskz_cvt_roundepu32_ph(__mmask8 A, __m256i B) { -// CHECK-LABEL: test_mm256_maskz_cvt_roundepu32_ph -// CHECK: @llvm.x86.avx512.uitofp.round.v8f16.v8i32(<8 x i32> %{{.*}}, i32 9) -// CHECK: select <8 x i1> %{{.*}}, <8 x half> %{{.*}}, <8 x half> %{{.*}} - return _mm256_maskz_cvt_roundepu32_ph(A, B, _MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_cvt_roundepu32_ps(__m256i __A) -{ -// CHECK-LABEL: @test_mm256_cvt_roundepu32_ps -// CHECK: @llvm.x86.avx512.uitofp.round.v8f32.v8i32 - return _mm256_cvt_roundepu32_ps(__A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_mask_cvt_roundepu32_ps(__m256 __W, __mmask8 __U, __m256i __A) -{ -// CHECK-LABEL: @test_mm256_mask_cvt_roundepu32_ps -// CHECK: @llvm.x86.avx512.uitofp.round.v8f32.v8i32 -// CHECK: select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> %{{.*}} - return _mm256_mask_cvt_roundepu32_ps(__W, __U, __A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_maskz_cvt_roundepu32_ps(__mmask8 __U, __m256i __A) -{ -// CHECK-LABEL: @test_mm256_maskz_cvt_roundepu32_ps -// CHECK: @llvm.x86.avx512.uitofp.round.v8f32.v8i32 -// CHECK: select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> %{{.*}} - return _mm256_maskz_cvt_roundepu32_ps(__U, __A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256d test__mm256_cvt_roundepu64_pd(__m256i __A) { -// CHECK-LABEL: @test__mm256_cvt_roundepu64_pd -// CHECK: @llvm.x86.avx512.uitofp.round.v4f64.v4i64 - return _mm256_cvt_roundepu64_pd(__A, _MM_FROUND_NO_EXC); -} - -__m256d test__mm256_mask_cvt_roundepu64_pd(__m256d __W, __mmask8 __U, __m256i __A) { -// CHECK-LABEL: @test__mm256_mask_cvt_roundepu64_pd -// CHECK: @llvm.x86.avx512.uitofp.round.v4f64.v4i64 - return _mm256_mask_cvt_roundepu64_pd(__W, __U, __A, _MM_FROUND_NO_EXC); -} - -__m256d test__mm256_maskz_cvt_roundepu64_pd(__mmask8 __U, __m256i __A) { -// CHECK-LABEL: @test__mm256_maskz_cvt_roundepu64_pd -// CHECK: @llvm.x86.avx512.uitofp.round.v4f64.v4i64 - return _mm256_maskz_cvt_roundepu64_pd(__U, __A, _MM_FROUND_NO_EXC); -} - -// FIXME: We may change to @llvm.x86.avx10.mask.vcvtuqq2ph256 in future. -__m128h test_mm256_cvt_roundepu64_ph(__m256i A) { -// CHECK-LABEL: test_mm256_cvt_roundepu64_ph -// CHECK: @llvm.x86.avx512.uitofp.round.v8f16.v4i64 - return _mm256_cvt_roundepu64_ph(A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m128h test_mm256_mask_cvt_roundepu64_ph(__m128h A, __mmask8 B, __m256i C) { -// CHECK-LABEL: test_mm256_mask_cvt_roundepu64_ph -// CHECK: @llvm.x86.avx512.uitofp.round.v8f16.v4i64 - return _mm256_mask_cvt_roundepu64_ph(A, B, C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m128h test_mm256_maskz_cvt_roundepu64_ph(__mmask8 A, __m256i B) { -// CHECK-LABEL: test_mm256_maskz_cvt_roundepu64_ph -// CHECK: @llvm.x86.avx512.uitofp.round.v8f16.v4i64 - return _mm256_maskz_cvt_roundepu64_ph(A, B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m128 test_mm256_cvt_roundepu64_ps(__m256i __A) { -// CHECK-LABEL: @test_mm256_cvt_roundepu64_ps -// CHECK: @llvm.x86.avx512.uitofp.round.v4f32.v4i64 - return _mm256_cvt_roundepu64_ps(__A, _MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC); -} - -__m128 test_mm256_mask_cvt_roundepu64_ps(__m128 __W, __mmask8 __U, __m256i __A) { -// CHECK-LABEL: @test_mm256_mask_cvt_roundepu64_ps -// CHECK: @llvm.x86.avx512.uitofp.round.v4f32.v4i64 -// CHECK: select <4 x i1> %{{.*}}, <4 x float> %{{.*}}, <4 x float> %{{.*}} - return _mm256_mask_cvt_roundepu64_ps(__W, __U, __A, _MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC); -} - -__m128 test_mm256_maskz_cvt_roundepu64_ps(__mmask8 __U, __m256i __A) { -// CHECK-LABEL: @test_mm256_maskz_cvt_roundepu64_ps -// CHECK: @llvm.x86.avx512.uitofp.round.v4f32.v4i64 -// CHECK: select <4 x i1> %{{.*}}, <4 x float> %{{.*}}, <4 x float> %{{.*}} - return _mm256_maskz_cvt_roundepu64_ps(__U, __A, _MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_cvt_roundepi16_ph(__m256i A) { -// CHECK-LABEL: test_mm256_cvt_roundepi16_ph -// CHECK: @llvm.x86.avx512.sitofp.round.v16f16.v16i16 - return _mm256_cvt_roundepi16_ph(A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_mask_cvt_roundepi16_ph(__m256h A, __mmask16 B, __m256i C) { -// CHECK-LABEL: test_mm256_mask_cvt_roundepi16_ph -// CHECK: @llvm.x86.avx512.sitofp.round.v16f16.v16i16 - return _mm256_mask_cvt_roundepi16_ph(A, B, C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_maskz_cvt_roundepi16_ph(__mmask16 A, __m256i B) { -// CHECK-LABEL: test_mm256_maskz_cvt_roundepi16_ph -// CHECK: @llvm.x86.avx512.sitofp.round.v16f16.v16i16 - return _mm256_maskz_cvt_roundepi16_ph(A, B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_cvt_roundepu16_ph(__m256i A) { -// CHECK-LABEL: test_mm256_cvt_roundepu16_ph -// CHECK: @llvm.x86.avx512.uitofp.round.v16f16.v16i16 - return _mm256_cvt_roundepu16_ph(A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_mask_cvt_roundepu16_ph(__m256h A, __mmask16 B, __m256i C) { -// CHECK-LABEL: test_mm256_mask_cvt_roundepu16_ph -// CHECK: @llvm.x86.avx512.uitofp.round.v16f16.v16i16 - return _mm256_mask_cvt_roundepu16_ph(A, B, C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_maskz_cvt_roundepu16_ph(__mmask16 A, __m256i B) { -// CHECK-LABEL: test_mm256_maskz_cvt_roundepu16_ph -// CHECK: @llvm.x86.avx512.uitofp.round.v16f16.v16i16 - return _mm256_maskz_cvt_roundepu16_ph(A, B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_div_round_pd(__m256d __A, __m256d __B) { -// CHECK-LABEL: @test_mm256_div_round_pd -// CHECK: @llvm.x86.avx10.vdivpd256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 11) - return _mm256_div_round_pd(__A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_mask_div_round_pd(__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) { -// CHECK-LABEL: @test_mm256_mask_div_round_pd -// CHECK: @llvm.x86.avx10.vdivpd256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 10) -// CHECK: select <4 x i1> %{{.*}}, <4 x double> %{{.*}}, <4 x double> %{{.*}} - return _mm256_mask_div_round_pd(__W, __U, __A, __B, _MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_maskz_div_round_pd(__mmask8 __U, __m256d __A, __m256d __B) { -// CHECK-LABEL: @test_mm256_maskz_div_round_pd -// CHECK: @llvm.x86.avx10.vdivpd256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 9) -// CHECK: select <4 x i1> %{{.*}}, <4 x double> %{{.*}}, <4 x double> %{{.*}} - return _mm256_maskz_div_round_pd(__U, __A, __B, _MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_div_round_ph(__m256h __A, __m256h __B) { -// CHECK-LABEL: @test_mm256_div_round_ph -// CHECK: @llvm.x86.avx10.vdivph256(<16 x half> %{{.*}}, <16 x half> %{{.*}}, i32 11) - return _mm256_div_round_ph(__A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_mask_div_round_ph(__m256h __W, __mmask8 __U, __m256h __A, __m256h __B) { -// CHECK-LABEL: @test_mm256_mask_div_round_ph -// CHECK: @llvm.x86.avx10.vdivph256(<16 x half> %{{.*}}, <16 x half> %{{.*}}, i32 10) -// CHECK: select <16 x i1> %{{.*}}, <16 x half> %{{.*}}, <16 x half> %{{.*}} - return _mm256_mask_div_round_ph(__W, __U, __A, __B, _MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_maskz_div_round_ph(__mmask8 __U, __m256h __A, __m256h __B) { -// CHECK-LABEL: @test_mm256_maskz_div_round_ph -// CHECK: @llvm.x86.avx10.vdivph256(<16 x half> %{{.*}}, <16 x half> %{{.*}}, i32 9) -// CHECK: select <16 x i1> %{{.*}}, <16 x half> %{{.*}}, <16 x half> %{{.*}} - return _mm256_maskz_div_round_ph(__U, __A, __B, _MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_div_round_ps(__m256 __A, __m256 __B) { -// CHECK-LABEL: @test_mm256_div_round_ps -// CHECK: @llvm.x86.avx10.vdivps256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 11) - return _mm256_div_round_ps(__A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_mask_div_round_ps(__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) { -// CHECK-LABEL: @test_mm256_mask_div_round_ps -// CHECK: @llvm.x86.avx10.vdivps256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 10) -// CHECK: select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> %{{.*}} - return _mm256_mask_div_round_ps(__W, __U, __A, __B, _MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_maskz_div_round_ps(__mmask8 __U, __m256 __A, __m256 __B) { -// CHECK-LABEL: @test_mm256_maskz_div_round_ps -// CHECK: @llvm.x86.avx10.vdivps256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 9) -// CHECK: select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> %{{.*}} - return _mm256_maskz_div_round_ps(__U, __A, __B, _MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_fcmadd_round_pch(__m256h __A, __m256h __B, __m256h __C) { -// CHECK-LABEL: @test_mm256_fcmadd_round_pch -// CHECK: @llvm.x86.avx10.mask.vfcmaddcph256 - return _mm256_fcmadd_round_pch(__A, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_mask_fcmadd_round_pch(__m256h __A, __mmask8 __U, __m256h __B, __m256h __C) { -// CHECK-LABEL: @test_mm256_mask_fcmadd_round_pch -// CHECK: @llvm.x86.avx10.mask.vfcmaddcph256 -// CHECK: %{{.*}} = select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> %{{.*}} - return _mm256_mask_fcmadd_round_pch(__A, __U, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_mask3_fcmadd_round_pch(__m256h __A, __m256h __B, __m256h __C, __mmask8 __U) { -// CHECK-LABEL: @test_mm256_mask3_fcmadd_round_pch -// CHECK: @llvm.x86.avx10.mask.vfcmaddcph256 -// CHECK-NOT: %{{.*}} = select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> %{{.*}} - return _mm256_mask3_fcmadd_round_pch(__A, __B, __C, __U, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_maskz_fcmadd_round_pch(__mmask8 __U, __m256h __A, __m256h __B, __m256h __C) { -// CHECK-LABEL: @test_mm256_maskz_fcmadd_round_pch -// CHECK: @llvm.x86.avx10.maskz.vfcmaddcph256 - return _mm256_maskz_fcmadd_round_pch(__U, __A, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_cmul_round_pch(__m256h __A, __m256h __B) { -// CHECK-LABEL: @test_mm256_cmul_round_pch -// CHECK: @llvm.x86.avx10.mask.vfcmulcph256 - return _mm256_cmul_round_pch(__A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_mask_cmul_round_pch(__m256h __W, __mmask8 __U, __m256h __A, __m256h __B) { -// CHECK-LABEL: @test_mm256_mask_cmul_round_pch -// CHECK: @llvm.x86.avx10.mask.vfcmulcph256 - return _mm256_mask_cmul_round_pch(__W, __U, __A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_maskz_cmul_round_pch(__mmask8 __U, __m256h __A, __m256h __B) { -// CHECK-LABEL: @test_mm256_maskz_cmul_round_pch -// CHECK: @llvm.x86.avx10.mask.vfcmulcph256 - return _mm256_maskz_cmul_round_pch(__U, __A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_fixupimm_round_pd(__m256d __A, __m256d __B, __m256i __C) { -// CHECK-LABEL: @test_mm256_fixupimm_round_pd -// CHECK: @llvm.x86.avx10.mask.vfixupimmpd256 - return _mm256_fixupimm_round_pd(__A, __B, __C, 5, 8); -} - -__m256d test_mm256_mask_fixupimm_round_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256i __C) { -// CHECK-LABEL: @test_mm256_mask_fixupimm_round_pd -// CHECK: @llvm.x86.avx10.mask.vfixupimmpd256 - return _mm256_mask_fixupimm_round_pd(__A, __U, __B, __C, 5, 8); -} - -__m256d test_mm256_maskz_fixupimm_round_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256i __C) { -// CHECK-LABEL: @test_mm256_maskz_fixupimm_round_pd -// CHECK: @llvm.x86.avx10.maskz.vfixupimmpd256 - return _mm256_maskz_fixupimm_round_pd(__U, __A, __B, __C, 5, 8); -} - -__m256 test_mm256_fixupimm_round_ps(__m256 __A, __m256 __B, __m256i __C) { -// CHECK-LABEL: @test_mm256_fixupimm_round_ps -// CHECK: @llvm.x86.avx10.mask.vfixupimmps256 - return _mm256_fixupimm_round_ps(__A, __B, __C, 5, 8); -} - -__m256 test_mm256_mask_fixupimm_round_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256i __C) { -// CHECK-LABEL: @test_mm256_mask_fixupimm_round_ps -// CHECK: @llvm.x86.avx10.mask.vfixupimmps256 - return _mm256_mask_fixupimm_round_ps(__A, __U, __B, __C, 5, 8); -} - -__m256 test_mm256_maskz_fixupimm_round_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256i __C) { -// CHECK-LABEL: @test_mm256_maskz_fixupimm_round_ps -// CHECK: @llvm.x86.avx10.maskz.vfixupimmps256 - return _mm256_maskz_fixupimm_round_ps(__U, __A, __B, __C, 5, 8); -} - -__m256d test_mm256_fmadd_round_pd(__m256d __A, __m256d __B, __m256d __C) { -// CHECK-LABEL: @test_mm256_fmadd_round_pd -// CHECK: @llvm.x86.avx10.vfmaddpd256 - return _mm256_fmadd_round_pd(__A, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_mask_fmadd_round_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C) { -// CHECK-LABEL: @test_mm256_mask_fmadd_round_pd -// CHECK: @llvm.x86.avx10.vfmaddpd256 -// CHECK: bitcast i8 %{{.*}} to <8 x i1> -// CHECK: select <4 x i1> %{{.*}}, <4 x double> %{{.*}}, <4 x double> %{{.*}} - return _mm256_mask_fmadd_round_pd(__A, __U, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_mask3_fmadd_round_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U) { -// CHECK-LABEL: @test_mm256_mask3_fmadd_round_pd -// CHECK: @llvm.x86.avx10.vfmaddpd256 -// CHECK: bitcast i8 %{{.*}} to <8 x i1> -// CHECK: select <4 x i1> %{{.*}}, <4 x double> %{{.*}}, <4 x double> %{{.*}} - return _mm256_mask3_fmadd_round_pd(__A, __B, __C, __U, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_maskz_fmadd_round_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C) { -// CHECK-LABEL: @test_mm256_maskz_fmadd_round_pd -// CHECK: @llvm.x86.avx10.vfmaddpd256 -// CHECK: bitcast i8 %{{.*}} to <8 x i1> -// CHECK: select <4 x i1> %{{.*}}, <4 x double> %{{.*}}, <4 x double> zeroinitializer - return _mm256_maskz_fmadd_round_pd(__U, __A, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_fmsub_round_pd(__m256d __A, __m256d __B, __m256d __C) { -// CHECK-LABEL: @test_mm256_fmsub_round_pd -// CHECK: fneg <4 x double> -// CHECK: @llvm.x86.avx10.vfmaddpd256 - return _mm256_fmsub_round_pd(__A, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_mask_fmsub_round_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C) { -// CHECK-LABEL: @test_mm256_mask_fmsub_round_pd -// CHECK: fneg <4 x double> -// CHECK: @llvm.x86.avx10.vfmaddpd256 -// CHECK: bitcast i8 %{{.*}} to <8 x i1> -// CHECK: select <4 x i1> %{{.*}}, <4 x double> %{{.*}}, <4 x double> %{{.*}} - return _mm256_mask_fmsub_round_pd(__A, __U, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_maskz_fmsub_round_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C) { -// CHECK-LABEL: @test_mm256_maskz_fmsub_round_pd -// CHECK: fneg <4 x double> -// CHECK: @llvm.x86.avx10.vfmaddpd256 -// CHECK: bitcast i8 %{{.*}} to <8 x i1> -// CHECK: select <4 x i1> %{{.*}}, <4 x double> %{{.*}}, <4 x double> zeroinitializer - return _mm256_maskz_fmsub_round_pd(__U, __A, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_fnmadd_round_pd(__m256d __A, __m256d __B, __m256d __C) { -// CHECK-LABEL: @test_mm256_fnmadd_round_pd -// CHECK: fneg <4 x double> -// CHECK: @llvm.x86.avx10.vfmaddpd256 - return _mm256_fnmadd_round_pd(__A, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_mask3_fnmadd_round_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U) { -// CHECK-LABEL: @test_mm256_mask3_fnmadd_round_pd -// CHECK: fneg <4 x double> -// CHECK: @llvm.x86.avx10.vfmaddpd256 -// CHECK: bitcast i8 %{{.*}} to <8 x i1> -// CHECK: select <4 x i1> %{{.*}}, <4 x double> %{{.*}}, <4 x double> %{{.*}} - return _mm256_mask3_fnmadd_round_pd(__A, __B, __C, __U, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_maskz_fnmadd_round_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C) { -// CHECK-LABEL: @test_mm256_maskz_fnmadd_round_pd -// CHECK: fneg <4 x double> -// CHECK: @llvm.x86.avx10.vfmaddpd256 -// CHECK: bitcast i8 %{{.*}} to <8 x i1> -// CHECK: select <4 x i1> %{{.*}}, <4 x double> %{{.*}}, <4 x double> zeroinitializer - return _mm256_maskz_fnmadd_round_pd(__U, __A, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_fnmsub_round_pd(__m256d __A, __m256d __B, __m256d __C) { -// CHECK-LABEL: @test_mm256_fnmsub_round_pd -// CHECK: fneg <4 x double> -// CHECK: fneg <4 x double> -// CHECK: @llvm.x86.avx10.vfmaddpd256 - return _mm256_fnmsub_round_pd(__A, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_maskz_fnmsub_round_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C) { -// CHECK-LABEL: @test_mm256_maskz_fnmsub_round_pd -// CHECK: fneg <4 x double> -// CHECK: fneg <4 x double> -// CHECK: @llvm.x86.avx10.vfmaddpd256 -// CHECK: bitcast i8 %{{.*}} to <8 x i1> -// CHECK: select <4 x i1> %{{.*}}, <4 x double> %{{.*}}, <4 x double> zeroinitializer - return _mm256_maskz_fnmsub_round_pd(__U, __A, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_fmadd_round_ph(__m256h __A, __m256h __B, __m256h __C) { -// CHECK-LABEL: @test_mm256_fmadd_round_ph -// CHECK: @llvm.x86.avx10.vfmaddph256 - return _mm256_fmadd_round_ph(__A, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_mask_fmadd_round_ph(__m256h __A, __mmask16 __U, __m256h __B, __m256h __C) { -// CHECK-LABEL: @test_mm256_mask_fmadd_round_ph -// CHECK: @llvm.x86.avx10.vfmaddph256 -// CHECK: bitcast i16 %{{.*}} to <16 x i1> -// CHECK: select <16 x i1> %{{.*}}, <16 x half> %{{.*}}, <16 x half> %{{.*}} - return _mm256_mask_fmadd_round_ph(__A, __U, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_mask3_fmadd_round_ph(__m256h __A, __m256h __B, __m256h __C, __mmask16 __U) { -// CHECK-LABEL: @test_mm256_mask3_fmadd_round_ph -// CHECK: @llvm.x86.avx10.vfmaddph256 -// CHECK: bitcast i16 %{{.*}} to <16 x i1> -// CHECK: select <16 x i1> %{{.*}}, <16 x half> %{{.*}}, <16 x half> %{{.*}} - return _mm256_mask3_fmadd_round_ph(__A, __B, __C, __U, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_maskz_fmadd_round_ph(__mmask16 __U, __m256h __A, __m256h __B, __m256h __C) { -// CHECK-LABEL: @test_mm256_maskz_fmadd_round_ph -// CHECK: @llvm.x86.avx10.vfmaddph256 -// CHECK: bitcast i16 %{{.*}} to <16 x i1> -// CHECK: select <16 x i1> %{{.*}}, <16 x half> %{{.*}}, <16 x half> zeroinitializer - return _mm256_maskz_fmadd_round_ph(__U, __A, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_fmsub_round_ph(__m256h __A, __m256h __B, __m256h __C) { -// CHECK-LABEL: @test_mm256_fmsub_round_ph -// CHECK: fneg -// CHECK: @llvm.x86.avx10.vfmaddph256 - return _mm256_fmsub_round_ph(__A, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_mask_fmsub_round_ph(__m256h __A, __mmask16 __U, __m256h __B, __m256h __C) { -// CHECK-LABEL: @test_mm256_mask_fmsub_round_ph -// CHECK: fneg -// CHECK: @llvm.x86.avx10.vfmaddph256 -// CHECK: bitcast i16 %{{.*}} to <16 x i1> -// CHECK: select <16 x i1> %{{.*}}, <16 x half> %{{.*}}, <16 x half> %{{.*}} - return _mm256_mask_fmsub_round_ph(__A, __U, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_maskz_fmsub_round_ph(__mmask16 __U, __m256h __A, __m256h __B, __m256h __C) { -// CHECK-LABEL: @test_mm256_maskz_fmsub_round_ph -// CHECK: fneg -// CHECK: @llvm.x86.avx10.vfmaddph256 -// CHECK: bitcast i16 %{{.*}} to <16 x i1> -// CHECK: select <16 x i1> %{{.*}}, <16 x half> %{{.*}}, <16 x half> zeroinitializer - return _mm256_maskz_fmsub_round_ph(__U, __A, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_fnmadd_round_ph(__m256h __A, __m256h __B, __m256h __C) { -// CHECK-LABEL: @test_mm256_fnmadd_round_ph -// CHECK: fneg -// CHECK: @llvm.x86.avx10.vfmaddph256 - return _mm256_fnmadd_round_ph(__A, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_mask3_fnmadd_round_ph(__m256h __A, __m256h __B, __m256h __C, __mmask16 __U) { -// CHECK-LABEL: @test_mm256_mask3_fnmadd_round_ph -// CHECK: fneg -// CHECK: @llvm.x86.avx10.vfmaddph256 -// CHECK: bitcast i16 %{{.*}} to <16 x i1> -// CHECK: select <16 x i1> %{{.*}}, <16 x half> %{{.*}}, <16 x half> %{{.*}} - return _mm256_mask3_fnmadd_round_ph(__A, __B, __C, __U, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_maskz_fnmadd_round_ph(__mmask16 __U, __m256h __A, __m256h __B, __m256h __C) { -// CHECK-LABEL: @test_mm256_maskz_fnmadd_round_ph -// CHECK: fneg -// CHECK: @llvm.x86.avx10.vfmaddph256 -// CHECK: bitcast i16 %{{.*}} to <16 x i1> -// CHECK: select <16 x i1> %{{.*}}, <16 x half> %{{.*}}, <16 x half> zeroinitializer - return _mm256_maskz_fnmadd_round_ph(__U, __A, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_fnmsub_round_ph(__m256h __A, __m256h __B, __m256h __C) { -// CHECK-LABEL: @test_mm256_fnmsub_round_ph -// CHECK: fneg -// CHECK: fneg -// CHECK: @llvm.x86.avx10.vfmaddph256 - return _mm256_fnmsub_round_ph(__A, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_maskz_fnmsub_round_ph(__mmask16 __U, __m256h __A, __m256h __B, __m256h __C) { -// CHECK-LABEL: @test_mm256_maskz_fnmsub_round_ph -// CHECK: fneg -// CHECK: fneg -// CHECK: @llvm.x86.avx10.vfmaddph256 -// CHECK: bitcast i16 %{{.*}} to <16 x i1> -// CHECK: select <16 x i1> %{{.*}}, <16 x half> %{{.*}}, <16 x half> zeroinitializer - return _mm256_maskz_fnmsub_round_ph(__U, __A, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_fmadd_round_ps(__m256 __A, __m256 __B, __m256 __C) { -// CHECK-LABEL: @test_mm256_fmadd_round_ps -// CHECK: @llvm.x86.avx10.vfmaddps256 - return _mm256_fmadd_round_ps(__A, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_mask_fmadd_round_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256 __C) { -// CHECK-LABEL: @test_mm256_mask_fmadd_round_ps -// CHECK: @llvm.x86.avx10.vfmaddps256 -// CHECK: bitcast i8 %{{.*}} to <8 x i1> -// CHECK: select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> %{{.*}} - return _mm256_mask_fmadd_round_ps(__A, __U, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_mask3_fmadd_round_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U) { -// CHECK-LABEL: @test_mm256_mask3_fmadd_round_ps -// CHECK: @llvm.x86.avx10.vfmaddps256 -// CHECK: bitcast i8 %{{.*}} to <8 x i1> -// CHECK: select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> %{{.*}} - return _mm256_mask3_fmadd_round_ps(__A, __B, __C, __U, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_maskz_fmadd_round_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C) { -// CHECK-LABEL: @test_mm256_maskz_fmadd_round_ps -// CHECK: @llvm.x86.avx10.vfmaddps256 -// CHECK: bitcast i8 %{{.*}} to <8 x i1> -// CHECK: select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> zeroinitializer - return _mm256_maskz_fmadd_round_ps(__U, __A, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_fmsub_round_ps(__m256 __A, __m256 __B, __m256 __C) { -// CHECK-LABEL: @test_mm256_fmsub_round_ps -// CHECK: fneg <8 x float> %{{.*}} -// CHECK: @llvm.x86.avx10.vfmaddps256 - return _mm256_fmsub_round_ps(__A, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_mask_fmsub_round_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256 __C) { -// CHECK-LABEL: @test_mm256_mask_fmsub_round_ps -// CHECK: fneg <8 x float> %{{.*}} -// CHECK: @llvm.x86.avx10.vfmaddps256 -// CHECK: bitcast i8 %{{.*}} to <8 x i1> -// CHECK: select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> %{{.*}} - return _mm256_mask_fmsub_round_ps(__A, __U, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_maskz_fmsub_round_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C) { -// CHECK-LABEL: @test_mm256_maskz_fmsub_round_ps -// CHECK: fneg <8 x float> %{{.*}} -// CHECK: @llvm.x86.avx10.vfmaddps256 -// CHECK: bitcast i8 %{{.*}} to <8 x i1> -// CHECK: select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> zeroinitializer - return _mm256_maskz_fmsub_round_ps(__U, __A, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_fnmadd_round_ps(__m256 __A, __m256 __B, __m256 __C) { -// CHECK-LABEL: @test_mm256_fnmadd_round_ps -// CHECK: fneg <8 x float> %{{.*}} -// CHECK: @llvm.x86.avx10.vfmaddps256 - return _mm256_fnmadd_round_ps(__A, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_mask3_fnmadd_round_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U) { -// CHECK-LABEL: @test_mm256_mask3_fnmadd_round_ps -// CHECK: fneg <8 x float> %{{.*}} -// CHECK: @llvm.x86.avx10.vfmaddps256 -// CHECK: bitcast i8 %{{.*}} to <8 x i1> -// CHECK: select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> %{{.*}} - return _mm256_mask3_fnmadd_round_ps(__A, __B, __C, __U, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_maskz_fnmadd_round_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C) { -// CHECK-LABEL: @test_mm256_maskz_fnmadd_round_ps -// CHECK: fneg <8 x float> %{{.*}} -// CHECK: @llvm.x86.avx10.vfmaddps256 -// CHECK: bitcast i8 %{{.*}} to <8 x i1> -// CHECK: select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> zeroinitializer - return _mm256_maskz_fnmadd_round_ps(__U, __A, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_fnmsub_round_ps(__m256 __A, __m256 __B, __m256 __C) { -// CHECK-LABEL: @test_mm256_fnmsub_round_ps -// CHECK: fneg <8 x float> %{{.*}} -// CHECK: fneg <8 x float> %{{.*}} -// CHECK: @llvm.x86.avx10.vfmaddps256 - return _mm256_fnmsub_round_ps(__A, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_maskz_fnmsub_round_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C) { -// CHECK-LABEL: @test_mm256_maskz_fnmsub_round_ps -// CHECK: fneg <8 x float> %{{.*}} -// CHECK: fneg <8 x float> %{{.*}} -// CHECK: @llvm.x86.avx10.vfmaddps256 -// CHECK: bitcast i8 %{{.*}} to <8 x i1> -// CHECK: select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> zeroinitializer - return _mm256_maskz_fnmsub_round_ps(__U, __A, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_fmadd_round_pch(__m256h __A, __m256h __B, __m256h __C) { -// CHECK-LABEL: @test_mm256_fmadd_round_pch -// CHECK: @llvm.x86.avx10.mask.vfmaddcph256 - return _mm256_fmadd_round_pch(__A, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_mask_fmadd_round_pch(__m256h __A, __mmask8 __U, __m256h __B, __m256h __C) { -// CHECK-LABEL: @test_mm256_mask_fmadd_round_pch -// CHECK: @llvm.x86.avx10.mask.vfmaddcph256 -// CHECK: %{{.*}} = select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> %{{.*}} - return _mm256_mask_fmadd_round_pch(__A, __U, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_mask3_fmadd_round_pch(__m256h __A, __m256h __B, __m256h __C, __mmask8 __U) { -// CHECK-LABEL: @test_mm256_mask3_fmadd_round_pch -// CHECK: @llvm.x86.avx10.mask.vfmaddcph256 -// CHECK-NOT: %{{.*}} = select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> %{{.*}} - return _mm256_mask3_fmadd_round_pch(__A, __B, __C, __U, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_maskz_fmadd_round_pch(__mmask8 __U, __m256h __A, __m256h __B, __m256h __C) { -// CHECK-LABEL: @test_mm256_maskz_fmadd_round_pch -// CHECK: @llvm.x86.avx10.maskz.vfmaddcph256 - return _mm256_maskz_fmadd_round_pch(__U, __A, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_fmaddsub_round_pd(__m256d __A, __m256d __B, __m256d __C) { -// CHECK-LABEL: @test_mm256_fmaddsub_round_pd -// CHECK: @llvm.x86.avx10.vfmaddsubpd256 - return _mm256_fmaddsub_round_pd(__A, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_mask_fmaddsub_round_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C) { -// CHECK-LABEL: @test_mm256_mask_fmaddsub_round_pd -// CHECK: @llvm.x86.avx10.vfmaddsubpd256 -// CHECK: bitcast i8 %{{.*}} to <8 x i1> -// CHECK: select <4 x i1> %{{.*}}, <4 x double> %{{.*}}, <4 x double> %{{.*}} - return _mm256_mask_fmaddsub_round_pd(__A, __U, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_mask3_fmaddsub_round_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U) { -// CHECK-LABEL: @test_mm256_mask3_fmaddsub_round_pd -// CHECK: @llvm.x86.avx10.vfmaddsubpd256 -// CHECK: bitcast i8 %{{.*}} to <8 x i1> -// CHECK: select <4 x i1> %{{.*}}, <4 x double> %{{.*}}, <4 x double> %{{.*}} - return _mm256_mask3_fmaddsub_round_pd(__A, __B, __C, __U, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_maskz_fmaddsub_round_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C) { -// CHECK-LABEL: @test_mm256_maskz_fmaddsub_round_pd -// CHECK: @llvm.x86.avx10.vfmaddsubpd256 -// CHECK: bitcast i8 %{{.*}} to <8 x i1> -// CHECK: select <4 x i1> %{{.*}}, <4 x double> %{{.*}}, <4 x double> zeroinitializer - return _mm256_maskz_fmaddsub_round_pd(__U, __A, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_fmsubadd_round_pd(__m256d __A, __m256d __B, __m256d __C) { -// CHECK-LABEL: @test_mm256_fmsubadd_round_pd -// CHECK: fneg <4 x double> %{{.*}} -// CHECK: @llvm.x86.avx10.vfmaddsubpd256 - return _mm256_fmsubadd_round_pd(__A, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_mask_fmsubadd_round_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C) { -// CHECK-LABEL: @test_mm256_mask_fmsubadd_round_pd -// CHECK: fneg <4 x double> %{{.*}} -// CHECK: @llvm.x86.avx10.vfmaddsubpd256 -// CHECK: bitcast i8 %{{.*}} to <8 x i1> -// CHECK: select <4 x i1> %{{.*}}, <4 x double> %{{.*}}, <4 x double> %{{.*}} - return _mm256_mask_fmsubadd_round_pd(__A, __U, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_maskz_fmsubadd_round_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C) { -// CHECK-LABEL: @test_mm256_maskz_fmsubadd_round_pd -// CHECK: fneg <4 x double> %{{.*}} -// CHECK: @llvm.x86.avx10.vfmaddsubpd256 -// CHECK: bitcast i8 %{{.*}} to <8 x i1> -// CHECK: select <4 x i1> %{{.*}}, <4 x double> %{{.*}}, <4 x double> zeroinitializer - return _mm256_maskz_fmsubadd_round_pd(__U, __A, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_fmaddsub_round_ph(__m256h __A, __m256h __B, __m256h __C) { -// CHECK-LABEL: @test_mm256_fmaddsub_round_ph -// CHECK: @llvm.x86.avx10.vfmaddsubph256 - return _mm256_fmaddsub_round_ph(__A, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_mask_fmaddsub_round_ph(__m256h __A, __mmask16 __U, __m256h __B, __m256h __C) { -// CHECK-LABEL: @test_mm256_mask_fmaddsub_round_ph -// CHECK: @llvm.x86.avx10.vfmaddsubph256 -// CHECK: bitcast i16 %{{.*}} to <16 x i1> -// CHECK: select <16 x i1> %{{.*}}, <16 x half> %{{.*}}, <16 x half> %{{.*}} - return _mm256_mask_fmaddsub_round_ph(__A, __U, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_mask3_fmaddsub_round_ph(__m256h __A, __m256h __B, __m256h __C, __mmask16 __U) { -// CHECK-LABEL: @test_mm256_mask3_fmaddsub_round_ph -// CHECK: @llvm.x86.avx10.vfmaddsubph256 -// CHECK: bitcast i16 %{{.*}} to <16 x i1> -// CHECK: select <16 x i1> %{{.*}}, <16 x half> %{{.*}}, <16 x half> %{{.*}} - return _mm256_mask3_fmaddsub_round_ph(__A, __B, __C, __U, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_maskz_fmaddsub_round_ph(__mmask16 __U, __m256h __A, __m256h __B, __m256h __C) { -// CHECK-LABEL: @test_mm256_maskz_fmaddsub_round_ph -// CHECK: @llvm.x86.avx10.vfmaddsubph256 -// CHECK: bitcast i16 %{{.*}} to <16 x i1> -// CHECK: select <16 x i1> %{{.*}}, <16 x half> %{{.*}}, <16 x half> zeroinitializer - return _mm256_maskz_fmaddsub_round_ph(__U, __A, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_fmsubadd_round_ph(__m256h __A, __m256h __B, __m256h __C) { -// CHECK-LABEL: @test_mm256_fmsubadd_round_ph -// CHECK: fneg -// CHECK: @llvm.x86.avx10.vfmaddsubph256 - return _mm256_fmsubadd_round_ph(__A, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_mask_fmsubadd_round_ph(__m256h __A, __mmask16 __U, __m256h __B, __m256h __C) { -// CHECK-LABEL: @test_mm256_mask_fmsubadd_round_ph -// CHECK: fneg -// CHECK: @llvm.x86.avx10.vfmaddsubph256 -// CHECK: bitcast i16 %{{.*}} to <16 x i1> -// CHECK: select <16 x i1> %{{.*}}, <16 x half> %{{.*}}, <16 x half> %{{.*}} - return _mm256_mask_fmsubadd_round_ph(__A, __U, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_maskz_fmsubadd_round_ph(__mmask16 __U, __m256h __A, __m256h __B, __m256h __C) { -// CHECK-LABEL: @test_mm256_maskz_fmsubadd_round_ph -// CHECK: fneg -// CHECK: @llvm.x86.avx10.vfmaddsubph256 -// CHECK: bitcast i16 %{{.*}} to <16 x i1> -// CHECK: select <16 x i1> %{{.*}}, <16 x half> %{{.*}}, <16 x half> zeroinitializer - return _mm256_maskz_fmsubadd_round_ph(__U, __A, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_fmaddsub_round_ps(__m256 __A, __m256 __B, __m256 __C) { -// CHECK-LABEL: @test_mm256_fmaddsub_round_ps -// CHECK: @llvm.x86.avx10.vfmaddsubps256 - return _mm256_fmaddsub_round_ps(__A, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_mask_fmaddsub_round_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256 __C) { -// CHECK-LABEL: @test_mm256_mask_fmaddsub_round_ps -// CHECK: @llvm.x86.avx10.vfmaddsubps256 -// CHECK: bitcast i8 %{{.*}} to <8 x i1> -// CHECK: select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> %{{.*}} - return _mm256_mask_fmaddsub_round_ps(__A, __U, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_mask3_fmaddsub_round_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U) { -// CHECK-LABEL: @test_mm256_mask3_fmaddsub_round_ps -// CHECK: @llvm.x86.avx10.vfmaddsubps256 -// CHECK: bitcast i8 %{{.*}} to <8 x i1> -// CHECK: select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> %{{.*}} - return _mm256_mask3_fmaddsub_round_ps(__A, __B, __C, __U, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_maskz_fmaddsub_round_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C) { -// CHECK-LABEL: @test_mm256_maskz_fmaddsub_round_ps -// CHECK: @llvm.x86.avx10.vfmaddsubps256 -// CHECK: bitcast i8 %{{.*}} to <8 x i1> -// CHECK: select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> zeroinitializer - return _mm256_maskz_fmaddsub_round_ps(__U, __A, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_fmsubadd_round_ps(__m256 __A, __m256 __B, __m256 __C) { -// CHECK-LABEL: @test_mm256_fmsubadd_round_ps -// CHECK: fneg <8 x float> %{{.*}} -// CHECK: @llvm.x86.avx10.vfmaddsubps256 - return _mm256_fmsubadd_round_ps(__A, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_mask_fmsubadd_round_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256 __C) { -// CHECK-LABEL: @test_mm256_mask_fmsubadd_round_ps -// CHECK: fneg <8 x float> %{{.*}} -// CHECK: @llvm.x86.avx10.vfmaddsubps256 -// CHECK: bitcast i8 %{{.*}} to <8 x i1> -// CHECK: select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> %{{.*}} - return _mm256_mask_fmsubadd_round_ps(__A, __U, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_maskz_fmsubadd_round_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C) { -// CHECK-LABEL: @test_mm256_maskz_fmsubadd_round_ps -// CHECK: fneg <8 x float> %{{.*}} -// CHECK: @llvm.x86.avx10.vfmaddsubps256 -// CHECK: bitcast i8 %{{.*}} to <8 x i1> -// CHECK: select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> zeroinitializer - return _mm256_maskz_fmsubadd_round_ps(__U, __A, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_mask3_fmsub_round_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U) { -// CHECK-LABEL: @test_mm256_mask3_fmsub_round_pd -// CHECK: fneg <4 x double> %{{.*}} -// CHECK: @llvm.x86.avx10.vfmaddpd256 -// CHECK: bitcast i8 %{{.*}} to <8 x i1> -// CHECK: select <4 x i1> %{{.*}}, <4 x double> %{{.*}}, <4 x double> %{{.*}} - return _mm256_mask3_fmsub_round_pd(__A, __B, __C, __U, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_mask3_fmsubadd_round_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U) { -// CHECK-LABEL: @test_mm256_mask3_fmsubadd_round_pd -// CHECK: fneg <4 x double> %{{.*}} -// CHECK: @llvm.x86.avx10.vfmaddsubpd256 -// CHECK: bitcast i8 %{{.*}} to <8 x i1> -// CHECK: select <4 x i1> %{{.*}}, <4 x double> %{{.*}}, <4 x double> %{{.*}} - return _mm256_mask3_fmsubadd_round_pd(__A, __B, __C, __U, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_mask_fnmadd_round_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C) { -// CHECK-LABEL: @test_mm256_mask_fnmadd_round_pd -// CHECK: fneg <4 x double> -// CHECK: @llvm.x86.avx10.vfmaddpd256 -// CHECK: bitcast i8 %{{.*}} to <8 x i1> -// CHECK: select <4 x i1> %{{.*}}, <4 x double> %{{.*}}, <4 x double> %{{.*}} - return _mm256_mask_fnmadd_round_pd(__A, __U, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_mask_fnmsub_round_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C) { -// CHECK-LABEL: @test_mm256_mask_fnmsub_round_pd -// CHECK: fneg <4 x double> -// CHECK: fneg <4 x double> -// CHECK: @llvm.x86.avx10.vfmaddpd256 -// CHECK: bitcast i8 %{{.*}} to <8 x i1> -// CHECK: select <4 x i1> %{{.*}}, <4 x double> %{{.*}}, <4 x double> %{{.*}} - return _mm256_mask_fnmsub_round_pd(__A, __U, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_mask3_fnmsub_round_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U) { -// CHECK-LABEL: @test_mm256_mask3_fnmsub_round_pd -// CHECK: fneg <4 x double> -// CHECK: fneg <4 x double> -// CHECK: @llvm.x86.avx10.vfmaddpd256 -// CHECK: bitcast i8 %{{.*}} to <8 x i1> -// CHECK: select <4 x i1> %{{.*}}, <4 x double> %{{.*}}, <4 x double> %{{.*}} - return _mm256_mask3_fnmsub_round_pd(__A, __B, __C, __U, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_mask3_fmsub_round_ph(__m256h __A, __m256h __B, __m256h __C, __mmask16 __U) { -// CHECK-LABEL: @test_mm256_mask3_fmsub_round_ph -// CHECK: fneg -// CHECK: @llvm.x86.avx10.vfmaddph256 -// CHECK: bitcast i16 %{{.*}} to <16 x i1> -// CHECK: select <16 x i1> %{{.*}}, <16 x half> %{{.*}}, <16 x half> %{{.*}} - return _mm256_mask3_fmsub_round_ph(__A, __B, __C, __U, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_mask3_fmsubadd_round_ph(__m256h __A, __m256h __B, __m256h __C, __mmask16 __U) { -// CHECK-LABEL: @test_mm256_mask3_fmsubadd_round_ph -// CHECK: fneg -// CHECK: @llvm.x86.avx10.vfmaddsubph256 -// CHECK: bitcast i16 %{{.*}} to <16 x i1> -// CHECK: select <16 x i1> %{{.*}}, <16 x half> %{{.*}}, <16 x half> %{{.*}} - return _mm256_mask3_fmsubadd_round_ph(__A, __B, __C, __U, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_mask_fnmadd_round_ph(__m256h __A, __mmask16 __U, __m256h __B, __m256h __C) { -// CHECK-LABEL: @test_mm256_mask_fnmadd_round_ph -// CHECK: fneg -// CHECK: @llvm.x86.avx10.vfmaddph256 -// CHECK: bitcast i16 %{{.*}} to <16 x i1> -// CHECK: select <16 x i1> %{{.*}}, <16 x half> %{{.*}}, <16 x half> %{{.*}} - return _mm256_mask_fnmadd_round_ph(__A, __U, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_mask_fnmsub_round_ph(__m256h __A, __mmask16 __U, __m256h __B, __m256h __C) { -// CHECK-LABEL: @test_mm256_mask_fnmsub_round_ph -// CHECK: fneg -// CHECK: fneg -// CHECK: @llvm.x86.avx10.vfmaddph256 -// CHECK: bitcast i16 %{{.*}} to <16 x i1> -// CHECK: select <16 x i1> %{{.*}}, <16 x half> %{{.*}}, <16 x half> %{{.*}} - return _mm256_mask_fnmsub_round_ph(__A, __U, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_mask3_fnmsub_round_ph(__m256h __A, __m256h __B, __m256h __C, __mmask16 __U) { -// CHECK-LABEL: @test_mm256_mask3_fnmsub_round_ph -// CHECK: fneg -// CHECK: fneg -// CHECK: @llvm.x86.avx10.vfmaddph256 -// CHECK: bitcast i16 %{{.*}} to <16 x i1> -// CHECK: select <16 x i1> %{{.*}}, <16 x half> %{{.*}}, <16 x half> %{{.*}} - return _mm256_mask3_fnmsub_round_ph(__A, __B, __C, __U, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_mask3_fmsub_round_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U) { -// CHECK-LABEL: @test_mm256_mask3_fmsub_round_ps -// CHECK: fneg <8 x float> %{{.*}} -// CHECK: @llvm.x86.avx10.vfmaddps256 -// CHECK: bitcast i8 %{{.*}} to <8 x i1> -// CHECK: select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> %{{.*}} - return _mm256_mask3_fmsub_round_ps(__A, __B, __C, __U, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_mask3_fmsubadd_round_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U) { -// CHECK-LABEL: @test_mm256_mask3_fmsubadd_round_ps -// CHECK: fneg <8 x float> %{{.*}} -// CHECK: @llvm.x86.avx10.vfmaddsubps256 -// CHECK: bitcast i8 %{{.*}} to <8 x i1> -// CHECK: select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> %{{.*}} - return _mm256_mask3_fmsubadd_round_ps(__A, __B, __C, __U, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_mask_fnmadd_round_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256 __C) { -// CHECK-LABEL: @test_mm256_mask_fnmadd_round_ps -// CHECK: fneg <8 x float> %{{.*}} -// CHECK: @llvm.x86.avx10.vfmaddps256 -// CHECK: bitcast i8 %{{.*}} to <8 x i1> -// CHECK: select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> %{{.*}} - return _mm256_mask_fnmadd_round_ps(__A, __U, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_mask_fnmsub_round_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256 __C) { -// CHECK-LABEL: @test_mm256_mask_fnmsub_round_ps -// CHECK: fneg <8 x float> %{{.*}} -// CHECK: fneg <8 x float> %{{.*}} -// CHECK: @llvm.x86.avx10.vfmaddps256 -// CHECK: bitcast i8 %{{.*}} to <8 x i1> -// CHECK: select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> %{{.*}} - return _mm256_mask_fnmsub_round_ps(__A, __U, __B, __C, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_mask3_fnmsub_round_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U) { -// CHECK-LABEL: @test_mm256_mask3_fnmsub_round_ps -// CHECK: fneg <8 x float> %{{.*}} -// CHECK: fneg <8 x float> %{{.*}} -// CHECK: @llvm.x86.avx10.vfmaddps256 -// CHECK: bitcast i8 %{{.*}} to <8 x i1> -// CHECK: select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> %{{.*}} - return _mm256_mask3_fnmsub_round_ps(__A, __B, __C, __U, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_mul_round_pch(__m256h __A, __m256h __B) { -// CHECK-LABEL: @test_mm256_mul_round_pch -// CHECK: @llvm.x86.avx10.mask.vfmulcph256 - return _mm256_mul_round_pch(__A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_mask_mul_round_pch(__m256h __W, __mmask8 __U, __m256h __A, __m256h __B) { -// CHECK-LABEL: @test_mm256_mask_mul_round_pch -// CHECK: @llvm.x86.avx10.mask.vfmulcph256 - return _mm256_mask_mul_round_pch(__W, __U, __A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_maskz_mul_round_pch(__mmask8 __U, __m256h __A, __m256h __B) { -// CHECK-LABEL: @test_mm256_maskz_mul_round_pch -// CHECK: @llvm.x86.avx10.mask.vfmulcph256 - return _mm256_maskz_mul_round_pch(__U, __A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_getexp_round_pd(__m256d __A) { -// CHECK-LABEL: @test_mm256_getexp_round_pd -// CHECK: @llvm.x86.avx10.mask.vgetexppd256 - return _mm256_getexp_round_pd(__A, _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_mask_getexp_round_pd(__m256d __W, __mmask8 __U, __m256d __A) { -// CHECK-LABEL: @test_mm256_mask_getexp_round_pd -// CHECK: @llvm.x86.avx10.mask.vgetexppd256 - return _mm256_mask_getexp_round_pd(__W, __U, __A, _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_maskz_getexp_round_pd(__mmask8 __U, __m256d __A) { -// CHECK-LABEL: @test_mm256_maskz_getexp_round_pd -// CHECK: @llvm.x86.avx10.mask.vgetexppd256 - return _mm256_maskz_getexp_round_pd(__U, __A, _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_getexp_round_ph(__m256h __A) { -// CHECK-LABEL: @test_mm256_getexp_round_ph -// CHECK: @llvm.x86.avx10.mask.vgetexpph256 - return _mm256_getexp_round_ph(__A, _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_mask_getexp_round_ph(__m256h __W, __mmask16 __U, __m256h __A) { -// CHECK-LABEL: @test_mm256_mask_getexp_round_ph -// CHECK: @llvm.x86.avx10.mask.vgetexpph256 - return _mm256_mask_getexp_round_ph(__W, __U, __A, _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_maskz_getexp_round_ph(__mmask16 __U, __m256h __A) { -// CHECK-LABEL: @test_mm256_maskz_getexp_round_ph -// CHECK: @llvm.x86.avx10.mask.vgetexpph256 - return _mm256_maskz_getexp_round_ph(__U, __A, _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_getexp_round_ps(__m256 __A) { -// CHECK-LABEL: @test_mm256_getexp_round_ps -// CHECK: @llvm.x86.avx10.mask.vgetexpps256 - return _mm256_getexp_round_ps(__A, _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_mask_getexp_round_ps(__m256 __W, __mmask8 __U, __m256 __A) { -// CHECK-LABEL: @test_mm256_mask_getexp_round_ps -// CHECK: @llvm.x86.avx10.mask.vgetexpps256 - return _mm256_mask_getexp_round_ps(__W, __U, __A, _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_maskz_getexp_round_ps(__mmask8 __U, __m256 __A) { -// CHECK-LABEL: @test_mm256_maskz_getexp_round_ps -// CHECK: @llvm.x86.avx10.mask.vgetexpps256 - return _mm256_maskz_getexp_round_ps(__U, __A, _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_getmant_round_pd(__m256d __A) { -// CHECK-LABEL: @test_mm256_getmant_round_pd -// CHECK: @llvm.x86.avx10.mask.vgetmantpd256 - return _mm256_getmant_round_pd(__A,_MM_MANT_NORM_p5_2, _MM_MANT_SIGN_nan, _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_mask_getmant_round_pd(__m256d __W, __mmask8 __U, __m256d __A) { -// CHECK-LABEL: @test_mm256_mask_getmant_round_pd -// CHECK: @llvm.x86.avx10.mask.vgetmantpd256 - return _mm256_mask_getmant_round_pd(__W, __U, __A,_MM_MANT_NORM_p5_2, _MM_MANT_SIGN_nan, _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_maskz_getmant_round_pd(__mmask8 __U, __m256d __A) { -// CHECK-LABEL: @test_mm256_maskz_getmant_round_pd -// CHECK: @llvm.x86.avx10.mask.vgetmantpd256 - return _mm256_maskz_getmant_round_pd(__U, __A,_MM_MANT_NORM_p5_2, _MM_MANT_SIGN_nan, _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_getmant_round_ph(__m256h __A) { -// CHECK-LABEL: @test_mm256_getmant_round_ph -// CHECK: @llvm.x86.avx10.mask.vgetmantph256 - return _mm256_getmant_round_ph(__A, _MM_MANT_NORM_p5_2, _MM_MANT_SIGN_nan, _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_mask_getmant_round_ph(__m256h __W, __mmask16 __U, __m256h __A) { -// CHECK-LABEL: @test_mm256_mask_getmant_round_ph -// CHECK: @llvm.x86.avx10.mask.vgetmantph256 - return _mm256_mask_getmant_round_ph(__W, __U, __A, _MM_MANT_NORM_p5_2, _MM_MANT_SIGN_nan, _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_maskz_getmant_round_ph(__mmask16 __U, __m256h __A) { -// CHECK-LABEL: @test_mm256_maskz_getmant_round_ph -// CHECK: @llvm.x86.avx10.mask.vgetmantph256 - return _mm256_maskz_getmant_round_ph(__U, __A, _MM_MANT_NORM_p5_2, _MM_MANT_SIGN_nan, _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_getmant_round_ps(__m256 __A) { -// CHECK-LABEL: @test_mm256_getmant_round_ps -// CHECK: @llvm.x86.avx10.mask.vgetmantps256 - return _mm256_getmant_round_ps(__A,_MM_MANT_NORM_p5_2, _MM_MANT_SIGN_nan, _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_mask_getmant_round_ps(__m256 __W, __mmask8 __U, __m256 __A) { -// CHECK-LABEL: @test_mm256_mask_getmant_round_ps -// CHECK: @llvm.x86.avx10.mask.vgetmantps256 - return _mm256_mask_getmant_round_ps(__W, __U, __A,_MM_MANT_NORM_p5_2, _MM_MANT_SIGN_nan, _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_maskz_getmant_round_ps(__mmask8 __U, __m256 __A) { -// CHECK-LABEL: @test_mm256_maskz_getmant_round_ps -// CHECK: @llvm.x86.avx10.mask.vgetmantps256 - return _mm256_maskz_getmant_round_ps(__U, __A,_MM_MANT_NORM_p5_2, _MM_MANT_SIGN_nan, _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_max_round_pd(__m256d __A, __m256d __B) { -// CHECK-LABEL: @test_mm256_max_round_pd -// CHECK: @llvm.x86.avx10.vmaxpd256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 8) - return _mm256_max_round_pd(__A, __B, _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_mask_max_round_pd(__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) { -// CHECK-LABEL: @test_mm256_mask_max_round_pd -// CHECK: @llvm.x86.avx10.vmaxpd256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 8) -// CHECK: select <4 x i1> %{{.*}}, <4 x double> %{{.*}}, <4 x double> %{{.*}} - return _mm256_mask_max_round_pd(__W, __U, __A, __B, _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_maskz_max_round_pd(__mmask8 __U, __m256d __A, __m256d __B) { -// CHECK-LABEL: @test_mm256_maskz_max_round_pd -// CHECK: @llvm.x86.avx10.vmaxpd256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 8) -// CHECK: select <4 x i1> %{{.*}}, <4 x double> %{{.*}}, <4 x double> %{{.*}} - return _mm256_maskz_max_round_pd(__U, __A, __B, _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_max_round_ph(__m256h __A, __m256h __B) { -// CHECK-LABEL: @test_mm256_max_round_ph -// CHECK: @llvm.x86.avx10.vmaxph256(<16 x half> %{{.*}}, <16 x half> %{{.*}}, i32 8) - return _mm256_max_round_ph(__A, __B, _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_mask_max_round_ph(__m256h __W, __mmask8 __U, __m256h __A, __m256h __B) { -// CHECK-LABEL: @test_mm256_mask_max_round_ph -// CHECK: @llvm.x86.avx10.vmaxph256(<16 x half> %{{.*}}, <16 x half> %{{.*}}, i32 8) -// CHECK: select <16 x i1> %{{.*}}, <16 x half> %{{.*}}, <16 x half> %{{.*}} - return _mm256_mask_max_round_ph(__W, __U, __A, __B, _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_maskz_max_round_ph(__mmask8 __U, __m256h __A, __m256h __B) { -// CHECK-LABEL: @test_mm256_maskz_max_round_ph -// CHECK: @llvm.x86.avx10.vmaxph256(<16 x half> %{{.*}}, <16 x half> %{{.*}}, i32 8) -// CHECK: select <16 x i1> %{{.*}}, <16 x half> %{{.*}}, <16 x half> %{{.*}} - return _mm256_maskz_max_round_ph(__U, __A, __B, _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_max_round_ps(__m256 __A, __m256 __B) { -// CHECK-LABEL: @test_mm256_max_round_ps -// CHECK: @llvm.x86.avx10.vmaxps256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 8) - return _mm256_max_round_ps(__A, __B, _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_mask_max_round_ps(__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) { -// CHECK-LABEL: @test_mm256_mask_max_round_ps -// CHECK: @llvm.x86.avx10.vmaxps256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 8) -// CHECK: select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> %{{.*}} - return _mm256_mask_max_round_ps(__W, __U, __A, __B, _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_maskz_max_round_ps(__mmask8 __U, __m256 __A, __m256 __B) { -// CHECK-LABEL: @test_mm256_maskz_max_round_ps -// CHECK: @llvm.x86.avx10.vmaxps256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 8) -// CHECK: select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> %{{.*}} - return _mm256_maskz_max_round_ps(__U, __A, __B, _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_min_round_pd(__m256d __A, __m256d __B) { -// CHECK-LABEL: @test_mm256_min_round_pd -// CHECK: @llvm.x86.avx10.vminpd256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 8) - return _mm256_min_round_pd(__A, __B, _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_mask_min_round_pd(__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) { -// CHECK-LABEL: @test_mm256_mask_min_round_pd -// CHECK: @llvm.x86.avx10.vminpd256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 8) -// CHECK: select <4 x i1> %{{.*}}, <4 x double> %{{.*}}, <4 x double> %{{.*}} - return _mm256_mask_min_round_pd(__W, __U, __A, __B, _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_maskz_min_round_pd(__mmask8 __U, __m256d __A, __m256d __B) { -// CHECK-LABEL: @test_mm256_maskz_min_round_pd -// CHECK: @llvm.x86.avx10.vminpd256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 8) -// CHECK: select <4 x i1> %{{.*}}, <4 x double> %{{.*}}, <4 x double> %{{.*}} - return _mm256_maskz_min_round_pd(__U, __A, __B, _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_min_round_ph(__m256h __A, __m256h __B) { -// CHECK-LABEL: @test_mm256_min_round_ph -// CHECK: @llvm.x86.avx10.vminph256(<16 x half> %{{.*}}, <16 x half> %{{.*}}, i32 8) - return _mm256_min_round_ph(__A, __B, _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_mask_min_round_ph(__m256h __W, __mmask8 __U, __m256h __A, __m256h __B) { -// CHECK-LABEL: @test_mm256_mask_min_round_ph -// CHECK: @llvm.x86.avx10.vminph256(<16 x half> %{{.*}}, <16 x half> %{{.*}}, i32 8) -// CHECK: select <16 x i1> %{{.*}}, <16 x half> %{{.*}}, <16 x half> %{{.*}} - return _mm256_mask_min_round_ph(__W, __U, __A, __B, _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_maskz_min_round_ph(__mmask8 __U, __m256h __A, __m256h __B) { -// CHECK-LABEL: @test_mm256_maskz_min_round_ph -// CHECK: @llvm.x86.avx10.vminph256(<16 x half> %{{.*}}, <16 x half> %{{.*}}, i32 8) -// CHECK: select <16 x i1> %{{.*}}, <16 x half> %{{.*}}, <16 x half> %{{.*}} - return _mm256_maskz_min_round_ph(__U, __A, __B, _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_min_round_ps(__m256 __A, __m256 __B) { -// CHECK-LABEL: @test_mm256_min_round_ps -// CHECK: @llvm.x86.avx10.vminps256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 8) - return _mm256_min_round_ps(__A, __B, _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_mask_min_round_ps(__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) { -// CHECK-LABEL: @test_mm256_mask_min_round_ps -// CHECK: @llvm.x86.avx10.vminps256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 8) -// CHECK: select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> %{{.*}} - return _mm256_mask_min_round_ps(__W, __U, __A, __B, _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_maskz_min_round_ps(__mmask8 __U, __m256 __A, __m256 __B) { -// CHECK-LABEL: @test_mm256_maskz_min_round_ps -// CHECK: @llvm.x86.avx10.vminps256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 8) -// CHECK: select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> %{{.*}} - return _mm256_maskz_min_round_ps(__U, __A, __B, _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_mul_round_pd(__m256d __A, __m256d __B) { -// CHECK-LABEL: @test_mm256_mul_round_pd -// CHECK: @llvm.x86.avx10.vmulpd256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 11) - return _mm256_mul_round_pd(__A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_mask_mul_round_pd(__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) { -// CHECK-LABEL: @test_mm256_mask_mul_round_pd -// CHECK: @llvm.x86.avx10.vmulpd256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 10) -// CHECK: select <4 x i1> %{{.*}}, <4 x double> %{{.*}}, <4 x double> %{{.*}} - return _mm256_mask_mul_round_pd(__W, __U, __A, __B, _MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_maskz_mul_round_pd(__mmask8 __U, __m256d __A, __m256d __B) { -// CHECK-LABEL: @test_mm256_maskz_mul_round_pd -// CHECK: @llvm.x86.avx10.vmulpd256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 9) -// CHECK: select <4 x i1> %{{.*}}, <4 x double> %{{.*}}, <4 x double> %{{.*}} - return _mm256_maskz_mul_round_pd(__U, __A, __B, _MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_mul_round_ph(__m256h __A, __m256h __B) { -// CHECK-LABEL: @test_mm256_mul_round_ph -// CHECK: @llvm.x86.avx10.vmulph256(<16 x half> %{{.*}}, <16 x half> %{{.*}}, i32 11) - return _mm256_mul_round_ph(__A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_mask_mul_round_ph(__m256h __W, __mmask8 __U, __m256h __A, __m256h __B) { -// CHECK-LABEL: @test_mm256_mask_mul_round_ph -// CHECK: @llvm.x86.avx10.vmulph256(<16 x half> %{{.*}}, <16 x half> %{{.*}}, i32 10) -// CHECK: select <16 x i1> %{{.*}}, <16 x half> %{{.*}}, <16 x half> %{{.*}} - return _mm256_mask_mul_round_ph(__W, __U, __A, __B, _MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_maskz_mul_round_ph(__mmask8 __U, __m256h __A, __m256h __B) { -// CHECK-LABEL: @test_mm256_maskz_mul_round_ph -// CHECK: @llvm.x86.avx10.vmulph256(<16 x half> %{{.*}}, <16 x half> %{{.*}}, i32 9) -// CHECK: select <16 x i1> %{{.*}}, <16 x half> %{{.*}}, <16 x half> %{{.*}} - return _mm256_maskz_mul_round_ph(__U, __A, __B, _MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_mul_round_ps(__m256 __A, __m256 __B) { -// CHECK-LABEL: @test_mm256_mul_round_ps -// CHECK: @llvm.x86.avx10.vmulps256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 11) - return _mm256_mul_round_ps(__A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_mask_mul_round_ps(__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) { -// CHECK-LABEL: @test_mm256_mask_mul_round_ps -// CHECK: @llvm.x86.avx10.vmulps256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 10) -// CHECK: select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> %{{.*}} - return _mm256_mask_mul_round_ps(__W, __U, __A, __B, _MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_maskz_mul_round_ps(__mmask8 __U, __m256 __A, __m256 __B) { -// CHECK-LABEL: @test_mm256_maskz_mul_round_ps -// CHECK: @llvm.x86.avx10.vmulps256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 9) -// CHECK: select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> %{{.*}} - return _mm256_maskz_mul_round_ps(__U, __A, __B, _MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_range_round_pd(__m256d __A, __m256d __B) { -// CHECK-LABEL: @test_mm256_range_round_pd -// CHECK: @llvm.x86.avx10.mask.vrangepd256 - return _mm256_range_round_pd(__A, __B, 4, 8); -} - -__m256d test_mm256_mask_range_round_pd(__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) { -// CHECK-LABEL: @test_mm256_mask_range_round_pd -// CHECK: @llvm.x86.avx10.mask.vrangepd256 - return _mm256_mask_range_round_pd(__W, __U, __A, __B, 4, 8); -} - -__m256d test_mm256_maskz_range_round_pd(__mmask8 __U, __m256d __A, __m256d __B) { -// CHECK-LABEL: @test_mm256_maskz_range_round_pd -// CHECK: @llvm.x86.avx10.mask.vrangepd256 - return _mm256_maskz_range_round_pd(__U, __A, __B, 4, 8); -} - -__m256 test_mm256_range_round_ps(__m256 __A, __m256 __B) { -// CHECK-LABEL: @test_mm256_range_round_ps -// CHECK: @llvm.x86.avx10.mask.vrangeps256 - return _mm256_range_round_ps(__A, __B, 4, 8); -} - -__m256 test_mm256_mask_range_round_ps(__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) { -// CHECK-LABEL: @test_mm256_mask_range_round_ps -// CHECK: @llvm.x86.avx10.mask.vrangeps256 - return _mm256_mask_range_round_ps(__W, __U, __A, __B, 4, 8); -} - -__m256 test_mm256_maskz_range_round_ps(__mmask8 __U, __m256 __A, __m256 __B) { -// CHECK-LABEL: @test_mm256_maskz_range_round_ps -// CHECK: @llvm.x86.avx10.mask.vrangeps256 - return _mm256_maskz_range_round_ps(__U, __A, __B, 4, 8); -} - -__m256d test_mm256_reduce_round_pd(__m256d __A) { -// CHECK-LABEL: @test_mm256_reduce_round_pd -// CHECK: @llvm.x86.avx10.mask.vreducepd256 - return _mm256_reduce_round_pd(__A, 4, 8); -} - -__m256d test_mm256_mask_reduce_round_pd(__m256d __W, __mmask8 __U, __m256d __A) { -// CHECK-LABEL: @test_mm256_mask_reduce_round_pd -// CHECK: @llvm.x86.avx10.mask.vreducepd256 - return _mm256_mask_reduce_round_pd(__W, __U, __A, 4, 8); -} - -__m256d test_mm256_maskz_reduce_round_pd(__mmask8 __U, __m256d __A) { -// CHECK-LABEL: @test_mm256_maskz_reduce_round_pd -// CHECK: @llvm.x86.avx10.mask.vreducepd256 - return _mm256_maskz_reduce_round_pd(__U, __A, 4, 8); -} - -__m256h test_mm256_mask_reduce_round_ph(__m256h __A, __mmask8 __U, __m256h __C) { -// CHECK-LABEL: @test_mm256_mask_reduce_round_ph -// CHECK: @llvm.x86.avx10.mask.vreduceph256 - return _mm256_mask_reduce_round_ph(__A, __U, __C, 3, _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_maskz_reduce_round_ph(__m256h __A, __mmask8 __U) { -// CHECK-LABEL: @test_mm256_maskz_reduce_round_ph -// CHECK: @llvm.x86.avx10.mask.vreduceph256 - return _mm256_maskz_reduce_round_ph(__U, __A, 3, _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_reduce_round_ph(__m256h __A) { -// CHECK-LABEL: @test_mm256_reduce_round_ph -// CHECK: @llvm.x86.avx10.mask.vreduceph256 - return _mm256_reduce_round_ph(__A, 3, _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_reduce_round_ps(__m256 __A) { -// CHECK-LABEL: @test_mm256_reduce_round_ps -// CHECK: @llvm.x86.avx10.mask.vreduceps256 - return _mm256_reduce_round_ps(__A, 4, 8); -} - -__m256 test_mm256_mask_reduce_round_ps(__m256 __W, __mmask8 __U, __m256 __A) { -// CHECK-LABEL: @test_mm256_mask_reduce_round_ps -// CHECK: @llvm.x86.avx10.mask.vreduceps256 - return _mm256_mask_reduce_round_ps(__W, __U, __A, 4, 8); -} - -__m256 test_mm256_maskz_reduce_round_ps(__mmask8 __U, __m256 __A) { -// CHECK-LABEL: @test_mm256_maskz_reduce_round_ps -// CHECK: @llvm.x86.avx10.mask.vreduceps256 - return _mm256_maskz_reduce_round_ps(__U, __A, 4, 8); -} - -__m256d test_mm256_roundscale_round_pd(__m256d __A) -{ -// CHECK-LABEL: @test_mm256_roundscale_round_pd -// CHECK: @llvm.x86.avx10.mask.vrndscalepd256 - return _mm256_roundscale_round_pd(__A,_MM_FROUND_TO_ZERO,_MM_FROUND_NO_EXC); -} - -__m256d test_mm256_mask_roundscale_round_pd(__m256d __A,__mmask8 __U,__m256d __C) -{ -// CHECK-LABEL: @test_mm256_mask_roundscale_round_pd -// CHECK: @llvm.x86.avx10.mask.vrndscalepd256 - return _mm256_mask_roundscale_round_pd(__A,__U,__C,_MM_FROUND_TO_ZERO,_MM_FROUND_NO_EXC); -} - -__m256d test_mm256_maskz_roundscale_round_pd(__m256d __A,__mmask8 __U) -{ -// CHECK-LABEL: @test_mm256_maskz_roundscale_round_pd -// CHECK: @llvm.x86.avx10.mask.vrndscalepd256 - return _mm256_maskz_roundscale_round_pd(__U,__A,_MM_FROUND_TO_ZERO,_MM_FROUND_NO_EXC); -} - -__m256h test_mm256_mask_roundscale_round_ph(__m256h __A, __mmask8 __U, __m256h __C) { -// CHECK-LABEL: @test_mm256_mask_roundscale_round_ph -// CHECK: @llvm.x86.avx10.mask.vrndscaleph256 - return _mm256_mask_roundscale_round_ph(__A, __U, __C, 3, _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_maskz_roundscale_round_ph(__m256h __A, __mmask8 __U) { -// CHECK-LABEL: @test_mm256_maskz_roundscale_round_ph -// CHECK: @llvm.x86.avx10.mask.vrndscaleph256 - return _mm256_maskz_roundscale_round_ph(__U, __A, 3, _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_roundscale_round_ph(__m256h __A) { -// CHECK-LABEL: @test_mm256_roundscale_round_ph -// CHECK: @llvm.x86.avx10.mask.vrndscaleph256 - return _mm256_roundscale_round_ph(__A, 3, _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_roundscale_round_ps(__m256 __A) -{ -// CHECK-LABEL: @test_mm256_roundscale_round_ps -// CHECK: @llvm.x86.avx10.mask.vrndscaleps256 - return _mm256_roundscale_round_ps(__A,_MM_FROUND_TO_ZERO,_MM_FROUND_NO_EXC); -} - -__m256 test_mm256_mask_roundscale_round_ps(__m256 __A,__mmask8 __U,__m256 __C) -{ -// CHECK-LABEL: @test_mm256_mask_roundscale_round_ps -// CHECK: @llvm.x86.avx10.mask.vrndscaleps256 - return _mm256_mask_roundscale_round_ps(__A,__U,__C,_MM_FROUND_TO_ZERO,_MM_FROUND_NO_EXC); -} - -__m256 test_mm256_maskz_roundscale_round_ps(__m256 __A,__mmask8 __U) -{ -// CHECK-LABEL: @test_mm256_maskz_roundscale_round_ps -// CHECK: @llvm.x86.avx10.mask.vrndscaleps256 - return _mm256_maskz_roundscale_round_ps(__U,__A,_MM_FROUND_TO_ZERO,_MM_FROUND_NO_EXC); -} - -__m256d test_mm256_scalef_round_pd(__m256d __A, __m256d __B) { -// CHECK-LABEL: @test_mm256_scalef_round_pd -// CHECK: @llvm.x86.avx10.mask.vscalefpd256 - return _mm256_scalef_round_pd(__A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_mask_scalef_round_pd(__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) { -// CHECK-LABEL: @test_mm256_mask_scalef_round_pd -// CHECK: @llvm.x86.avx10.mask.vscalefpd256 - return _mm256_mask_scalef_round_pd(__W, __U, __A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_maskz_scalef_round_pd(__mmask8 __U, __m256d __A, __m256d __B) { -// CHECK-LABEL: @test_mm256_maskz_scalef_round_pd -// CHECK: @llvm.x86.avx10.mask.vscalefpd256 - return _mm256_maskz_scalef_round_pd(__U, __A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_scalef_round_ph(__m256h __A, __m256h __B) { -// CHECK-LABEL: @test_mm256_scalef_round_ph -// CHECK: @llvm.x86.avx10.mask.vscalefph256 - return _mm256_scalef_round_ph(__A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_mask_scalef_round_ph(__m256h __W, __mmask16 __U, __m256h __A, __m256h __B) { -// CHECK-LABEL: @test_mm256_mask_scalef_round_ph -// CHECK: @llvm.x86.avx10.mask.vscalefph256 - return _mm256_mask_scalef_round_ph(__W, __U, __A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_maskz_scalef_round_ph(__mmask16 __U, __m256h __A, __m256h __B) { -// CHECK-LABEL: @test_mm256_maskz_scalef_round_ph -// CHECK: @llvm.x86.avx10.mask.vscalefph256 - return _mm256_maskz_scalef_round_ph(__U, __A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_scalef_round_ps(__m256 __A, __m256 __B) { -// CHECK-LABEL: @test_mm256_scalef_round_ps -// CHECK: @llvm.x86.avx10.mask.vscalefps256 - return _mm256_scalef_round_ps(__A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_mask_scalef_round_ps(__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) { -// CHECK-LABEL: @test_mm256_mask_scalef_round_ps -// CHECK: @llvm.x86.avx10.mask.vscalefps256 - return _mm256_mask_scalef_round_ps(__W, __U, __A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_maskz_scalef_round_ps(__mmask8 __U, __m256 __A, __m256 __B) { -// CHECK-LABEL: @test_mm256_maskz_scalef_round_ps -// CHECK: @llvm.x86.avx10.mask.vscalefps256 - return _mm256_maskz_scalef_round_ps(__U, __A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_sqrt_round_pd(__m256d __A) -{ -// CHECK-LABEL: @test_mm256_sqrt_round_pd -// CHECK: call <4 x double> @llvm.x86.avx10.vsqrtpd256(<4 x double> %{{.*}}, i32 11) - return _mm256_sqrt_round_pd(__A,_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_mask_sqrt_round_pd(__m256d __W,__mmask8 __U,__m256d __A) -{ -// CHECK-LABEL: @test_mm256_mask_sqrt_round_pd -// CHECK: call <4 x double> @llvm.x86.avx10.vsqrtpd256(<4 x double> %{{.*}}, i32 11) -// CHECK: bitcast i8 %{{.*}} to <8 x i1> -// CHECK: select <4 x i1> %{{.*}}, <4 x double> %{{.*}}, <4 x double> %{{.*}} - return _mm256_mask_sqrt_round_pd(__W,__U,__A,_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_maskz_sqrt_round_pd(__mmask8 __U,__m256d __A) -{ -// CHECK-LABEL: @test_mm256_maskz_sqrt_round_pd -// CHECK: call <4 x double> @llvm.x86.avx10.vsqrtpd256(<4 x double> %{{.*}}, i32 11) -// CHECK: bitcast i8 %{{.*}} to <8 x i1> -// CHECK: select <4 x i1> %{{.*}}, <4 x double> %{{.*}}, <4 x double> {{.*}} - return _mm256_maskz_sqrt_round_pd(__U,__A,_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_sqrt_round_ph(__m256h __A) { -// CHECK-LABEL: @test_mm256_sqrt_round_ph -// CHECK: call <16 x half> @llvm.x86.avx10.vsqrtph256(<16 x half> %{{.*}}, i32 11) - return _mm256_sqrt_round_ph(__A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_mask_sqrt_round_ph(__m256h __W, __mmask16 __U, __m256h __A) { -// CHECK-LABEL: @test_mm256_mask_sqrt_round_ph -// CHECK: call <16 x half> @llvm.x86.avx10.vsqrtph256(<16 x half> %{{.*}}, i32 11) -// CHECK: bitcast i16 %{{.*}} to <16 x i1> -// CHECK: select <16 x i1> %{{.*}}, <16 x half> %{{.*}}, <16 x half> %{{.*}} - return _mm256_mask_sqrt_round_ph(__W, __U, __A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_maskz_sqrt_round_ph(__mmask16 __U, __m256h __A) { -// CHECK-LABEL: @test_mm256_maskz_sqrt_round_ph -// CHECK: call <16 x half> @llvm.x86.avx10.vsqrtph256(<16 x half> %{{.*}}, i32 11) -// CHECK: bitcast i16 %{{.*}} to <16 x i1> -// CHECK: select <16 x i1> %{{.*}}, <16 x half> %{{.*}}, <16 x half> {{.*}} - return _mm256_maskz_sqrt_round_ph(__U, __A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_sqrt_round_ps(__m256 __A) -{ -// CHECK-LABEL: @test_mm256_sqrt_round_ps -// CHECK: call <8 x float> @llvm.x86.avx10.vsqrtps256(<8 x float> %{{.*}}, i32 11) - return _mm256_sqrt_round_ps(__A,_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_mask_sqrt_round_ps(__m256 __W,__mmask8 __U,__m256 __A) -{ -// CHECK-LABEL: @test_mm256_mask_sqrt_round_ps -// CHECK: call <8 x float> @llvm.x86.avx10.vsqrtps256(<8 x float> %{{.*}}, i32 11) -// CHECK: bitcast i8 %{{.*}} to <8 x i1> -// CHECK: select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> %{{.*}} - return _mm256_mask_sqrt_round_ps(__W,__U,__A,_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_maskz_sqrt_round_ps(__mmask8 __U,__m256 __A) -{ -// CHECK-LABEL: @test_mm256_maskz_sqrt_round_ps -// CHECK: call <8 x float> @llvm.x86.avx10.vsqrtps256(<8 x float> %{{.*}}, i32 11) -// CHECK: bitcast i8 %{{.*}} to <8 x i1> -// CHECK: select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> {{.*}} - return _mm256_maskz_sqrt_round_ps(__U,__A,_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_sub_round_pd(__m256d __A, __m256d __B) { -// CHECK-LABEL: @test_mm256_sub_round_pd -// CHECK: @llvm.x86.avx10.vsubpd256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 11) - return _mm256_sub_round_pd(__A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_mask_sub_round_pd(__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) { -// CHECK-LABEL: @test_mm256_mask_sub_round_pd -// CHECK: @llvm.x86.avx10.vsubpd256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 10) -// CHECK: select <4 x i1> %{{.*}}, <4 x double> %{{.*}}, <4 x double> %{{.*}} - return _mm256_mask_sub_round_pd(__W, __U, __A, __B, _MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC); -} - -__m256d test_mm256_maskz_sub_round_pd(__mmask8 __U, __m256d __A, __m256d __B) { -// CHECK-LABEL: @test_mm256_maskz_sub_round_pd -// CHECK: @llvm.x86.avx10.vsubpd256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 9) -// CHECK: select <4 x i1> %{{.*}}, <4 x double> %{{.*}}, <4 x double> %{{.*}} - return _mm256_maskz_sub_round_pd(__U, __A, __B, _MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_sub_round_ph(__m256h __A, __m256h __B) { -// CHECK-LABEL: @test_mm256_sub_round_ph -// CHECK: @llvm.x86.avx10.vsubph256(<16 x half> %{{.*}}, <16 x half> %{{.*}}, i32 11) - return _mm256_sub_round_ph(__A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_mask_sub_round_ph(__m256h __W, __mmask8 __U, __m256h __A, __m256h __B) { -// CHECK-LABEL: @test_mm256_mask_sub_round_ph -// CHECK: @llvm.x86.avx10.vsubph256(<16 x half> %{{.*}}, <16 x half> %{{.*}}, i32 10) -// CHECK: select <16 x i1> %{{.*}}, <16 x half> %{{.*}}, <16 x half> %{{.*}} - return _mm256_mask_sub_round_ph(__W, __U, __A, __B, _MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC); -} - -__m256h test_mm256_maskz_sub_round_ph(__mmask8 __U, __m256h __A, __m256h __B) { -// CHECK-LABEL: @test_mm256_maskz_sub_round_ph -// CHECK: @llvm.x86.avx10.vsubph256(<16 x half> %{{.*}}, <16 x half> %{{.*}}, i32 9) -// CHECK: select <16 x i1> %{{.*}}, <16 x half> %{{.*}}, <16 x half> %{{.*}} - return _mm256_maskz_sub_round_ph(__U, __A, __B, _MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_sub_round_ps(__m256 __A, __m256 __B) { -// CHECK-LABEL: @test_mm256_sub_round_ps -// CHECK: @llvm.x86.avx10.vsubps256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 11) - return _mm256_sub_round_ps(__A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_mask_sub_round_ps(__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) { -// CHECK-LABEL: @test_mm256_mask_sub_round_ps -// CHECK: @llvm.x86.avx10.vsubps256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 10) -// CHECK: select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> %{{.*}} - return _mm256_mask_sub_round_ps(__W, __U, __A, __B, _MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC); -} - -__m256 test_mm256_maskz_sub_round_ps(__mmask8 __U, __m256 __A, __m256 __B) { -// CHECK-LABEL: @test_mm256_maskz_sub_round_ps -// CHECK: @llvm.x86.avx10.vsubps256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 9) -// CHECK: select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> %{{.*}} - return _mm256_maskz_sub_round_ps(__U, __A, __B, _MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC); -} diff --git a/clang/test/CodeGen/X86/avx10_2satcvt-builtins.c b/clang/test/CodeGen/X86/avx10_2satcvt-builtins.c index 7c5fc087b9da4..7f30befefffe9 100644 --- a/clang/test/CodeGen/X86/avx10_2satcvt-builtins.c +++ b/clang/test/CodeGen/X86/avx10_2satcvt-builtins.c @@ -5,599 +5,457 @@ #include -__m128i test_mm_ipcvtbf16_epi8(__m128bh __A) { - // CHECK-LABEL: @test_mm_ipcvtbf16_epi8( +__m128i test_mm_ipcvts_bf16_epi8(__m128bh __A) { + // CHECK-LABEL: @test_mm_ipcvts_bf16_epi8( // CHECK: @llvm.x86.avx10.vcvtbf162ibs128 - return _mm_ipcvtbf16_epi8(__A); + return _mm_ipcvts_bf16_epi8(__A); } -__m128i test_mm_mask_ipcvtbf16_epi8(__m128i __S, __mmask8 __A, __m128bh __B) { - // CHECK-LABEL: @test_mm_mask_ipcvtbf16_epi8( +__m128i test_mm_mask_ipcvts_bf16_epi8(__m128i __S, __mmask8 __A, __m128bh __B) { + // CHECK-LABEL: @test_mm_mask_ipcvts_bf16_epi8( // CHECK: @llvm.x86.avx10.vcvtbf162ibs128 // CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}} - return _mm_mask_ipcvtbf16_epi8(__S, __A, __B); + return _mm_mask_ipcvts_bf16_epi8(__S, __A, __B); } -__m128i test_mm_maskz_ipcvtbf16_epi8(__mmask8 __A, __m128bh __B) { - // CHECK-LABEL: @test_mm_maskz_ipcvtbf16_epi8( +__m128i test_mm_maskz_ipcvts_bf16_epi8(__mmask8 __A, __m128bh __B) { + // CHECK-LABEL: @test_mm_maskz_ipcvts_bf16_epi8( // CHECK: @llvm.x86.avx10.vcvtbf162ibs128 // CHECK: zeroinitializer // CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}} - return _mm_maskz_ipcvtbf16_epi8(__A, __B); + return _mm_maskz_ipcvts_bf16_epi8(__A, __B); } -__m256i test_mm256_ipcvtbf16_epi8(__m256bh __A) { - // CHECK-LABEL: @test_mm256_ipcvtbf16_epi8( +__m256i test_mm256_ipcvts_bf16_epi8(__m256bh __A) { + // CHECK-LABEL: @test_mm256_ipcvts_bf16_epi8( // CHECK: @llvm.x86.avx10.vcvtbf162ibs256 - return _mm256_ipcvtbf16_epi8(__A); + return _mm256_ipcvts_bf16_epi8(__A); } -__m256i test_mm256_mask_ipcvtbf16_epi8(__m256i __S, __mmask16 __A, __m256bh __B) { - // CHECK-LABEL: @test_mm256_mask_ipcvtbf16_epi8( +__m256i test_mm256_mask_ipcvts_bf16_epi8(__m256i __S, __mmask16 __A, __m256bh __B) { + // CHECK-LABEL: @test_mm256_mask_ipcvts_bf16_epi8( // CHECK: @llvm.x86.avx10.vcvtbf162ibs256 // CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}} - return _mm256_mask_ipcvtbf16_epi8(__S, __A, __B); + return _mm256_mask_ipcvts_bf16_epi8(__S, __A, __B); } -__m256i test_mm256_maskz_ipcvtbf16_epi8(__mmask16 __A, __m256bh __B) { - // CHECK-LABEL: @test_mm256_maskz_ipcvtbf16_epi8( +__m256i test_mm256_maskz_ipcvts_bf16_epi8(__mmask16 __A, __m256bh __B) { + // CHECK-LABEL: @test_mm256_maskz_ipcvts_bf16_epi8( // CHECK: @llvm.x86.avx10.vcvtbf162ibs256 // CHECK: zeroinitializer // CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}} - return _mm256_maskz_ipcvtbf16_epi8(__A, __B); + return _mm256_maskz_ipcvts_bf16_epi8(__A, __B); } -__m128i test_mm_ipcvtbf16_epu8(__m128bh __A) { - // CHECK-LABEL: @test_mm_ipcvtbf16_epu8( +__m128i test_mm_ipcvts_bf16_epu8(__m128bh __A) { + // CHECK-LABEL: @test_mm_ipcvts_bf16_epu8( // CHECK: @llvm.x86.avx10.vcvtbf162iubs128 - return _mm_ipcvtbf16_epu8(__A); + return _mm_ipcvts_bf16_epu8(__A); } -__m128i test_mm_mask_ipcvtbf16_epu8(__m128i __S, __mmask8 __A, __m128bh __B) { - // CHECK-LABEL: @test_mm_mask_ipcvtbf16_epu8( +__m128i test_mm_mask_ipcvts_bf16_epu8(__m128i __S, __mmask8 __A, __m128bh __B) { + // CHECK-LABEL: @test_mm_mask_ipcvts_bf16_epu8( // CHECK: @llvm.x86.avx10.vcvtbf162iubs128 // CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}} - return _mm_mask_ipcvtbf16_epu8(__S, __A, __B); + return _mm_mask_ipcvts_bf16_epu8(__S, __A, __B); } -__m128i test_mm_maskz_ipcvtbf16_epu8(__mmask8 __A, __m128bh __B) { - // CHECK-LABEL: @test_mm_maskz_ipcvtbf16_epu8( +__m128i test_mm_maskz_ipcvts_bf16_epu8(__mmask8 __A, __m128bh __B) { + // CHECK-LABEL: @test_mm_maskz_ipcvts_bf16_epu8( // CHECK: @llvm.x86.avx10.vcvtbf162iubs128 // CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}} - return _mm_maskz_ipcvtbf16_epu8(__A, __B); + return _mm_maskz_ipcvts_bf16_epu8(__A, __B); } -__m256i test_mm256_ipcvtbf16_epu8(__m256bh __A) { - // CHECK-LABEL: @test_mm256_ipcvtbf16_epu8( +__m256i test_mm256_ipcvts_bf16_epu8(__m256bh __A) { + // CHECK-LABEL: @test_mm256_ipcvts_bf16_epu8( // CHECK: @llvm.x86.avx10.vcvtbf162iubs256 - return _mm256_ipcvtbf16_epu8(__A); + return _mm256_ipcvts_bf16_epu8(__A); } -__m256i test_mm256_mask_ipcvtbf16_epu8(__m256i __S, __mmask16 __A, __m256bh __B) { - // CHECK-LABEL: @test_mm256_mask_ipcvtbf16_epu8( +__m256i test_mm256_mask_ipcvts_bf16_epu8(__m256i __S, __mmask16 __A, __m256bh __B) { + // CHECK-LABEL: @test_mm256_mask_ipcvts_bf16_epu8( // CHECK: @llvm.x86.avx10.vcvtbf162iubs256 // CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}} - return _mm256_mask_ipcvtbf16_epu8(__S, __A, __B); + return _mm256_mask_ipcvts_bf16_epu8(__S, __A, __B); } -__m256i test_mm256_maskz_ipcvtbf16_epu8(__mmask16 __A, __m256bh __B) { - // CHECK-LABEL: @test_mm256_maskz_ipcvtbf16_epu8( +__m256i test_mm256_maskz_ipcvts_bf16_epu8(__mmask16 __A, __m256bh __B) { + // CHECK-LABEL: @test_mm256_maskz_ipcvts_bf16_epu8( // CHECK: @llvm.x86.avx10.vcvtbf162iubs256 // CHECK: zeroinitializer // CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}} - return _mm256_maskz_ipcvtbf16_epu8(__A, __B); + return _mm256_maskz_ipcvts_bf16_epu8(__A, __B); } -__m128i test_mm_ipcvtph_epi8(__m128h __A) { - // CHECK-LABEL: @test_mm_ipcvtph_epi8( +__m128i test_mm_ipcvts_ph_epi8(__m128h __A) { + // CHECK-LABEL: @test_mm_ipcvts_ph_epi8( // CHECK: @llvm.x86.avx10.mask.vcvtph2ibs128 - return _mm_ipcvtph_epi8(__A); + return _mm_ipcvts_ph_epi8(__A); } -__m128i test_mm_mask_ipcvtph_epi8(__m128i __S, __mmask8 __A, __m128h __B) { - // CHECK-LABEL: @test_mm_mask_ipcvtph_epi8( +__m128i test_mm_mask_ipcvts_ph_epi8(__m128i __S, __mmask8 __A, __m128h __B) { + // CHECK-LABEL: @test_mm_mask_ipcvts_ph_epi8( // CHECK: @llvm.x86.avx10.mask.vcvtph2ibs128 - return _mm_mask_ipcvtph_epi8(__S, __A, __B); + return _mm_mask_ipcvts_ph_epi8(__S, __A, __B); } -__m128i test_mm_maskz_ipcvtph_epi8(__mmask8 __A, __m128h __B) { - // CHECK-LABEL: @test_mm_maskz_ipcvtph_epi8( +__m128i test_mm_maskz_ipcvts_ph_epi8(__mmask8 __A, __m128h __B) { + // CHECK-LABEL: @test_mm_maskz_ipcvts_ph_epi8( // CHECK: @llvm.x86.avx10.mask.vcvtph2ibs128 - return _mm_maskz_ipcvtph_epi8(__A, __B); + return _mm_maskz_ipcvts_ph_epi8(__A, __B); } -__m256i test_mm256_ipcvtph_epi8(__m256h __A) { - // CHECK-LABEL: @test_mm256_ipcvtph_epi8( +__m256i test_mm256_ipcvts_ph_epi8(__m256h __A) { + // CHECK-LABEL: @test_mm256_ipcvts_ph_epi8( // CHECK: @llvm.x86.avx10.mask.vcvtph2ibs256 - return _mm256_ipcvtph_epi8(__A); + return _mm256_ipcvts_ph_epi8(__A); } -__m256i test_mm256_mask_ipcvtph_epi8(__m256i __S, __mmask16 __A, __m256h __B) { - // CHECK-LABEL: @test_mm256_mask_ipcvtph_epi8( +__m256i test_mm256_mask_ipcvts_ph_epi8(__m256i __S, __mmask16 __A, __m256h __B) { + // CHECK-LABEL: @test_mm256_mask_ipcvts_ph_epi8( // CHECK: @llvm.x86.avx10.mask.vcvtph2ibs256 - return _mm256_mask_ipcvtph_epi8(__S, __A, __B); + return _mm256_mask_ipcvts_ph_epi8(__S, __A, __B); } -__m256i test_mm256_maskz_ipcvtph_epi8(__mmask16 __A, __m256h __B) { - // CHECK-LABEL: @test_mm256_maskz_ipcvtph_epi8( +__m256i test_mm256_maskz_ipcvts_ph_epi8(__mmask16 __A, __m256h __B) { + // CHECK-LABEL: @test_mm256_maskz_ipcvts_ph_epi8( // CHECK: @llvm.x86.avx10.mask.vcvtph2ibs256 - return _mm256_maskz_ipcvtph_epi8(__A, __B); + return _mm256_maskz_ipcvts_ph_epi8(__A, __B); } -__m256i test_mm256_ipcvt_roundph_epi8(__m256h __A) { - // CHECK-LABEL: @test_mm256_ipcvt_roundph_epi8( - // CHECK: @llvm.x86.avx10.mask.vcvtph2ibs256 - return _mm256_ipcvt_roundph_epi8(__A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_mask_ipcvt_roundph_epi8(__m256i __S, __mmask16 __A, __m256h __B) { - // CHECK-LABEL: @test_mm256_mask_ipcvt_roundph_epi8( - // CHECK: @llvm.x86.avx10.mask.vcvtph2ibs256 - return _mm256_mask_ipcvt_roundph_epi8(__S, __A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} -__m256i test_mm256_maskz_ipcvt_roundph_epi8(__mmask16 __A, __m256h __B) { - // CHECK-LABEL: @test_mm256_maskz_ipcvt_roundph_epi8( - // CHECK: @llvm.x86.avx10.mask.vcvtph2ibs256 - return _mm256_maskz_ipcvt_roundph_epi8(__A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m128i test_mm_ipcvtph_epu8(__m128h __A) { - // CHECK-LABEL: @test_mm_ipcvtph_epu8( +__m128i test_mm_ipcvts_ph_epu8(__m128h __A) { + // CHECK-LABEL: @test_mm_ipcvts_ph_epu8( // CHECK: @llvm.x86.avx10.mask.vcvtph2iubs128 - return _mm_ipcvtph_epu8(__A); + return _mm_ipcvts_ph_epu8(__A); } -__m128i test_mm_mask_ipcvtph_epu8(__m128i __S, __mmask8 __A, __m128h __B) { - // CHECK-LABEL: @test_mm_mask_ipcvtph_epu8( +__m128i test_mm_mask_ipcvts_ph_epu8(__m128i __S, __mmask8 __A, __m128h __B) { + // CHECK-LABEL: @test_mm_mask_ipcvts_ph_epu8( // CHECK: @llvm.x86.avx10.mask.vcvtph2iubs128 - return _mm_mask_ipcvtph_epu8(__S, __A, __B); + return _mm_mask_ipcvts_ph_epu8(__S, __A, __B); } -__m128i test_mm_maskz_ipcvtph_epu8(__mmask8 __A, __m128h __B) { - // CHECK-LABEL: @test_mm_maskz_ipcvtph_epu8( +__m128i test_mm_maskz_ipcvts_ph_epu8(__mmask8 __A, __m128h __B) { + // CHECK-LABEL: @test_mm_maskz_ipcvts_ph_epu8( // CHECK: @llvm.x86.avx10.mask.vcvtph2iubs128 - return _mm_maskz_ipcvtph_epu8(__A, __B); -} - -__m256i test_mm256_ipcvtph_epu8(__m256h __A) { - // CHECK-LABEL: @test_mm256_ipcvtph_epu8( - // CHECK: @llvm.x86.avx10.mask.vcvtph2iubs256 - return _mm256_ipcvtph_epu8(__A); + return _mm_maskz_ipcvts_ph_epu8(__A, __B); } -__m256i test_mm256_mask_ipcvtph_epu8(__m256i __S, __mmask16 __A, __m256h __B) { - // CHECK-LABEL: @test_mm256_mask_ipcvtph_epu8( +__m256i test_mm256_ipcvts_ph_epu8(__m256h __A) { + // CHECK-LABEL: @test_mm256_ipcvts_ph_epu8( // CHECK: @llvm.x86.avx10.mask.vcvtph2iubs256 - return _mm256_mask_ipcvtph_epu8(__S, __A, __B); + return _mm256_ipcvts_ph_epu8(__A); } -__m256i test_mm256_maskz_ipcvtph_epu8(__mmask16 __A, __m256h __B) { - // CHECK-LABEL: @test_mm256_maskz_ipcvtph_epu8( +__m256i test_mm256_mask_ipcvts_ph_epu8(__m256i __S, __mmask16 __A, __m256h __B) { + // CHECK-LABEL: @test_mm256_mask_ipcvts_ph_epu8( // CHECK: @llvm.x86.avx10.mask.vcvtph2iubs256 - return _mm256_maskz_ipcvtph_epu8(__A, __B); + return _mm256_mask_ipcvts_ph_epu8(__S, __A, __B); } -__m256i test_mm256_ipcvt_roundph_epu8(__m256h __A) { - // CHECK-LABEL: @test_mm256_ipcvt_roundph_epu8( +__m256i test_mm256_maskz_ipcvts_ph_epu8(__mmask16 __A, __m256h __B) { + // CHECK-LABEL: @test_mm256_maskz_ipcvts_ph_epu8( // CHECK: @llvm.x86.avx10.mask.vcvtph2iubs256 - return _mm256_ipcvt_roundph_epu8(__A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); + return _mm256_maskz_ipcvts_ph_epu8(__A, __B); } -__m256i test_mm256_mask_ipcvt_roundph_epu8(__m256i __S, __mmask16 __A, __m256h __B) { - // CHECK-LABEL: @test_mm256_mask_ipcvt_roundph_epu8( - // CHECK: @llvm.x86.avx10.mask.vcvtph2iubs256 - return _mm256_mask_ipcvt_roundph_epu8(__S, __A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} -__m256i test_mm256_maskz_ipcvt_roundph_epu8(__mmask16 __A, __m256h __B) { - // CHECK-LABEL: @test_mm256_maskz_ipcvt_roundph_epu8( - // CHECK: @llvm.x86.avx10.mask.vcvtph2iubs256 - return _mm256_maskz_ipcvt_roundph_epu8(__A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m128i test_mm_ipcvtps_epi8(__m128 __A) { - // CHECK-LABEL: @test_mm_ipcvtps_epi8( +__m128i test_mm_ipcvts_ps_epi8(__m128 __A) { + // CHECK-LABEL: @test_mm_ipcvts_ps_epi8( // CHECK: @llvm.x86.avx10.mask.vcvtps2ibs128 - return _mm_ipcvtps_epi8(__A); + return _mm_ipcvts_ps_epi8(__A); } -__m128i test_mm_mask_ipcvtps_epi8(__m128i __S, __mmask8 __A, __m128 __B) { - // CHECK-LABEL: @test_mm_mask_ipcvtps_epi8( +__m128i test_mm_mask_ipcvts_ps_epi8(__m128i __S, __mmask8 __A, __m128 __B) { + // CHECK-LABEL: @test_mm_mask_ipcvts_ps_epi8( // CHECK: @llvm.x86.avx10.mask.vcvtps2ibs128 - return _mm_mask_ipcvtps_epi8(__S, __A, __B); + return _mm_mask_ipcvts_ps_epi8(__S, __A, __B); } -__m128i test_mm_maskz_ipcvtps_epi8(__mmask8 __A, __m128 __B) { - // CHECK-LABEL: @test_mm_maskz_ipcvtps_epi8( +__m128i test_mm_maskz_ipcvts_ps_epi8(__mmask8 __A, __m128 __B) { + // CHECK-LABEL: @test_mm_maskz_ipcvts_ps_epi8( // CHECK: @llvm.x86.avx10.mask.vcvtps2ibs128 - return _mm_maskz_ipcvtps_epi8(__A, __B); + return _mm_maskz_ipcvts_ps_epi8(__A, __B); } -__m256i test_mm256_ipcvtps_epi8(__m256 __A) { - // CHECK-LABEL: @test_mm256_ipcvtps_epi8( +__m256i test_mm256_ipcvts_ps_epi8(__m256 __A) { + // CHECK-LABEL: @test_mm256_ipcvts_ps_epi8( // CHECK: @llvm.x86.avx10.mask.vcvtps2ibs256 - return _mm256_ipcvtps_epi8(__A); + return _mm256_ipcvts_ps_epi8(__A); } -__m256i test_mm256_mask_ipcvtps_epi8(__m256i __S, __mmask8 __A, __m256 __B) { - // CHECK-LABEL: @test_mm256_mask_ipcvtps_epi8( +__m256i test_mm256_mask_ipcvts_ps_epi8(__m256i __S, __mmask8 __A, __m256 __B) { + // CHECK-LABEL: @test_mm256_mask_ipcvts_ps_epi8( // CHECK: @llvm.x86.avx10.mask.vcvtps2ibs256 - return _mm256_mask_ipcvtps_epi8(__S, __A, __B); + return _mm256_mask_ipcvts_ps_epi8(__S, __A, __B); } -__m256i test_mm256_maskz_ipcvtps_epi8(__mmask8 __A, __m256 __B) { - // CHECK-LABEL: @test_mm256_maskz_ipcvtps_epi8( +__m256i test_mm256_maskz_ipcvts_ps_epi8(__mmask8 __A, __m256 __B) { + // CHECK-LABEL: @test_mm256_maskz_ipcvts_ps_epi8( // CHECK: @llvm.x86.avx10.mask.vcvtps2ibs256 - return _mm256_maskz_ipcvtps_epi8(__A, __B); + return _mm256_maskz_ipcvts_ps_epi8(__A, __B); } -__m256i test_mm256_ipcvt_roundps_epi8(__m256 __A) { - // CHECK-LABEL: @test_mm256_ipcvt_roundps_epi8( - // CHECK: @llvm.x86.avx10.mask.vcvtps2ibs256 - return _mm256_ipcvt_roundps_epi8(__A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_mask_ipcvt_roundps_epi8(__m256i __S, __mmask8 __A, __m256 __B) { - // CHECK-LABEL: @test_mm256_mask_ipcvt_roundps_epi8( - // CHECK: @llvm.x86.avx10.mask.vcvtps2ibs256 - return _mm256_mask_ipcvt_roundps_epi8(__S, __A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_maskz_ipcvt_roundps_epi8(__mmask8 __A, __m256 __B) { - // CHECK-LABEL: @test_mm256_maskz_ipcvt_roundps_epi8( - // CHECK: @llvm.x86.avx10.mask.vcvtps2ibs256 - return _mm256_maskz_ipcvt_roundps_epi8(__A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m128i test_mm_ipcvtps_epu8(__m128 __A) { - // CHECK-LABEL: @test_mm_ipcvtps_epu8( +__m128i test_mm_ipcvts_ps_epu8(__m128 __A) { + // CHECK-LABEL: @test_mm_ipcvts_ps_epu8( // CHECK: @llvm.x86.avx10.mask.vcvtps2iubs128 - return _mm_ipcvtps_epu8(__A); + return _mm_ipcvts_ps_epu8(__A); } -__m128i test_mm_mask_ipcvtps_epu8(__m128i __S, __mmask8 __A, __m128 __B) { - // CHECK-LABEL: @test_mm_mask_ipcvtps_epu8( +__m128i test_mm_mask_ipcvts_ps_epu8(__m128i __S, __mmask8 __A, __m128 __B) { + // CHECK-LABEL: @test_mm_mask_ipcvts_ps_epu8( // CHECK: @llvm.x86.avx10.mask.vcvtps2iubs128 - return _mm_mask_ipcvtps_epu8(__S, __A, __B); + return _mm_mask_ipcvts_ps_epu8(__S, __A, __B); } -__m128i test_mm_maskz_ipcvtps_epu8(__mmask8 __A, __m128 __B) { - // CHECK-LABEL: @test_mm_maskz_ipcvtps_epu8( +__m128i test_mm_maskz_ipcvts_ps_epu8(__mmask8 __A, __m128 __B) { + // CHECK-LABEL: @test_mm_maskz_ipcvts_ps_epu8( // CHECK: @llvm.x86.avx10.mask.vcvtps2iubs128 - return _mm_maskz_ipcvtps_epu8(__A, __B); + return _mm_maskz_ipcvts_ps_epu8(__A, __B); } -__m256i test_mm256_ipcvtps_epu8(__m256 __A) { - // CHECK-LABEL: @test_mm256_ipcvtps_epu8( +__m256i test_mm256_ipcvts_ps_epu8(__m256 __A) { + // CHECK-LABEL: @test_mm256_ipcvts_ps_epu8( // CHECK: @llvm.x86.avx10.mask.vcvtps2iubs256 - return _mm256_ipcvtps_epu8(__A); + return _mm256_ipcvts_ps_epu8(__A); } -__m256i test_mm256_mask_ipcvtps_epu8(__m256i __S, __mmask8 __A, __m256 __B) { - // CHECK-LABEL: @test_mm256_mask_ipcvtps_epu8( +__m256i test_mm256_mask_ipcvts_ps_epu8(__m256i __S, __mmask8 __A, __m256 __B) { + // CHECK-LABEL: @test_mm256_mask_ipcvts_ps_epu8( // CHECK: @llvm.x86.avx10.mask.vcvtps2iubs256 - return _mm256_mask_ipcvtps_epu8(__S, __A, __B); + return _mm256_mask_ipcvts_ps_epu8(__S, __A, __B); } -__m256i test_mm256_maskz_ipcvtps_epu8(__mmask8 __A, __m256 __B) { - // CHECK-LABEL: @test_mm256_maskz_ipcvtps_epu8( +__m256i test_mm256_maskz_ipcvts_ps_epu8(__mmask8 __A, __m256 __B) { + // CHECK-LABEL: @test_mm256_maskz_ipcvts_ps_epu8( // CHECK: @llvm.x86.avx10.mask.vcvtps2iubs256 - return _mm256_maskz_ipcvtps_epu8(__A, __B); + return _mm256_maskz_ipcvts_ps_epu8(__A, __B); } -__m256i test_mm256_ipcvt_roundps_epu8(__m256 __A) { - // CHECK-LABEL: @test_mm256_ipcvt_roundps_epu8( - // CHECK: @llvm.x86.avx10.mask.vcvtps2iubs256 - return _mm256_ipcvt_roundps_epu8(__A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_mask_ipcvt_roundps_epu8(__m256i __S, __mmask8 __A, __m256 __B) { - // CHECK-LABEL: @test_mm256_mask_ipcvt_roundps_epu8( - // CHECK: @llvm.x86.avx10.mask.vcvtps2iubs256 - return _mm256_mask_ipcvt_roundps_epu8(__S, __A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_maskz_ipcvt_roundps_epu8(__mmask8 __A, __m256 __B) { - // CHECK-LABEL: @test_mm256_maskz_ipcvt_roundps_epu8( - // CHECK: @llvm.x86.avx10.mask.vcvtps2iubs256 - return _mm256_maskz_ipcvt_roundps_epu8(__A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -} - -__m128i test_mm_ipcvttbf16_epi8(__m128bh __A) { - // CHECK-LABEL: @test_mm_ipcvttbf16_epi8( +__m128i test_mm_ipcvtts_bf16_epi8(__m128bh __A) { + // CHECK-LABEL: @test_mm_ipcvtts_bf16_epi8( // CHECK: @llvm.x86.avx10.vcvttbf162ibs128 - return _mm_ipcvttbf16_epi8(__A); + return _mm_ipcvtts_bf16_epi8(__A); } -__m128i test_mm_mask_ipcvttbf16_epi8(__m128i __S, __mmask8 __A, __m128bh __B) { - // CHECK-LABEL: @test_mm_mask_ipcvttbf16_epi8( +__m128i test_mm_mask_ipcvtts_bf16_epi8(__m128i __S, __mmask8 __A, __m128bh __B) { + // CHECK-LABEL: @test_mm_mask_ipcvtts_bf16_epi8( // CHECK: @llvm.x86.avx10.vcvttbf162ibs128 // CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}} - return _mm_mask_ipcvttbf16_epi8(__S, __A, __B); + return _mm_mask_ipcvtts_bf16_epi8(__S, __A, __B); } -__m128i test_mm_maskz_ipcvttbf16_epi8(__mmask8 __A, __m128bh __B) { - // CHECK-LABEL: @test_mm_maskz_ipcvttbf16_epi8( +__m128i test_mm_maskz_ipcvtts_bf16_epi8(__mmask8 __A, __m128bh __B) { + // CHECK-LABEL: @test_mm_maskz_ipcvtts_bf16_epi8( // CHECK: @llvm.x86.avx10.vcvttbf162ibs128 // CHECK: zeroinitializer // CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}} - return _mm_maskz_ipcvttbf16_epi8(__A, __B); + return _mm_maskz_ipcvtts_bf16_epi8(__A, __B); } -__m256i test_mm256_ipcvttbf16_epi8(__m256bh __A) { - // CHECK-LABEL: @test_mm256_ipcvttbf16_epi8( +__m256i test_mm256_ipcvtts_bf16_epi8(__m256bh __A) { + // CHECK-LABEL: @test_mm256_ipcvtts_bf16_epi8( // CHECK: @llvm.x86.avx10.vcvttbf162ibs256 - return _mm256_ipcvttbf16_epi8(__A); + return _mm256_ipcvtts_bf16_epi8(__A); } -__m256i test_mm256_mask_ipcvttbf16_epi8(__m256i __S, __mmask16 __A, __m256bh __B) { - // CHECK-LABEL: @test_mm256_mask_ipcvttbf16_epi8( +__m256i test_mm256_mask_ipcvtts_bf16_epi8(__m256i __S, __mmask16 __A, __m256bh __B) { + // CHECK-LABEL: @test_mm256_mask_ipcvtts_bf16_epi8( // CHECK: @llvm.x86.avx10.vcvttbf162ibs256 // CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}} - return _mm256_mask_ipcvttbf16_epi8(__S, __A, __B); + return _mm256_mask_ipcvtts_bf16_epi8(__S, __A, __B); } -__m256i test_mm256_maskz_ipcvttbf16_epi8(__mmask16 __A, __m256bh __B) { - // CHECK-LABEL: @test_mm256_maskz_ipcvttbf16_epi8( +__m256i test_mm256_maskz_ipcvtts_bf16_epi8(__mmask16 __A, __m256bh __B) { + // CHECK-LABEL: @test_mm256_maskz_ipcvtts_bf16_epi8( // CHECK: @llvm.x86.avx10.vcvttbf162ibs256 // CHECK: zeroinitializer // CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}} - return _mm256_maskz_ipcvttbf16_epi8(__A, __B); + return _mm256_maskz_ipcvtts_bf16_epi8(__A, __B); } -__m128i test_mm_ipcvttbf16_epu8(__m128bh __A) { - // CHECK-LABEL: @test_mm_ipcvttbf16_epu8( +__m128i test_mm_ipcvtts_bf16_epu8(__m128bh __A) { + // CHECK-LABEL: @test_mm_ipcvtts_bf16_epu8( // CHECK: @llvm.x86.avx10.vcvttbf162iubs128 - return _mm_ipcvttbf16_epu8(__A); + return _mm_ipcvtts_bf16_epu8(__A); } -__m128i test_mm_mask_ipcvttbf16_epu8(__m128i __S, __mmask8 __A, __m128bh __B) { - // CHECK-LABEL: @test_mm_mask_ipcvttbf16_epu8( +__m128i test_mm_mask_ipcvtts_bf16_epu8(__m128i __S, __mmask8 __A, __m128bh __B) { + // CHECK-LABEL: @test_mm_mask_ipcvtts_bf16_epu8( // CHECK: @llvm.x86.avx10.vcvttbf162iubs128 // CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}} - return _mm_mask_ipcvttbf16_epu8(__S, __A, __B); + return _mm_mask_ipcvtts_bf16_epu8(__S, __A, __B); } -__m128i test_mm_maskz_ipcvttbf16_epu8(__mmask8 __A, __m128bh __B) { - // CHECK-LABEL: @test_mm_maskz_ipcvttbf16_epu8( +__m128i test_mm_maskz_ipcvtts_bf16_epu8(__mmask8 __A, __m128bh __B) { + // CHECK-LABEL: @test_mm_maskz_ipcvtts_bf16_epu8( // CHECK: @llvm.x86.avx10.vcvttbf162iubs128 // CHECK: zeroinitializer // CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}} - return _mm_maskz_ipcvttbf16_epu8(__A, __B); + return _mm_maskz_ipcvtts_bf16_epu8(__A, __B); } -__m256i test_mm256_ipcvttbf16_epu8(__m256bh __A) { - // CHECK-LABEL: @test_mm256_ipcvttbf16_epu8( +__m256i test_mm256_ipcvtts_bf16_epu8(__m256bh __A) { + // CHECK-LABEL: @test_mm256_ipcvtts_bf16_epu8( // CHECK: @llvm.x86.avx10.vcvttbf162iubs256 - return _mm256_ipcvttbf16_epu8(__A); + return _mm256_ipcvtts_bf16_epu8(__A); } -__m256i test_mm256_mask_ipcvttbf16_epu8(__m256i __S, __mmask16 __A, __m256bh __B) { - // CHECK-LABEL: @test_mm256_mask_ipcvttbf16_epu8( +__m256i test_mm256_mask_ipcvtts_bf16_epu8(__m256i __S, __mmask16 __A, __m256bh __B) { + // CHECK-LABEL: @test_mm256_mask_ipcvtts_bf16_epu8( // CHECK: @llvm.x86.avx10.vcvttbf162iubs256 // CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}} - return _mm256_mask_ipcvttbf16_epu8(__S, __A, __B); + return _mm256_mask_ipcvtts_bf16_epu8(__S, __A, __B); } -__m256i test_mm256_maskz_ipcvttbf16_epu8(__mmask16 __A, __m256bh __B) { - // CHECK-LABEL: @test_mm256_maskz_ipcvttbf16_epu8( +__m256i test_mm256_maskz_ipcvtts_bf16_epu8(__mmask16 __A, __m256bh __B) { + // CHECK-LABEL: @test_mm256_maskz_ipcvtts_bf16_epu8( // CHECK: @llvm.x86.avx10.vcvttbf162iubs256 // CHECK: zeroinitializer // CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}} - return _mm256_maskz_ipcvttbf16_epu8(__A, __B); + return _mm256_maskz_ipcvtts_bf16_epu8(__A, __B); } -__m128i test_mm_ipcvttph_epi8(__m128h __A) { - // CHECK-LABEL: @test_mm_ipcvttph_epi8( +__m128i test_mm_ipcvtts_ph_epi8(__m128h __A) { + // CHECK-LABEL: @test_mm_ipcvtts_ph_epi8( // CHECK: @llvm.x86.avx10.mask.vcvttph2ibs128 - return _mm_ipcvttph_epi8(__A); + return _mm_ipcvtts_ph_epi8(__A); } -__m128i test_mm_mask_ipcvttph_epi8(__m128i __S, __mmask8 __A, __m128h __B) { - // CHECK-LABEL: @test_mm_mask_ipcvttph_epi8( +__m128i test_mm_mask_ipcvtts_ph_epi8(__m128i __S, __mmask8 __A, __m128h __B) { + // CHECK-LABEL: @test_mm_mask_ipcvtts_ph_epi8( // CHECK: @llvm.x86.avx10.mask.vcvttph2ibs128 - return _mm_mask_ipcvttph_epi8(__S, __A, __B); + return _mm_mask_ipcvtts_ph_epi8(__S, __A, __B); } -__m128i test_mm_maskz_ipcvttph_epi8(__mmask8 __A, __m128h __B) { - // CHECK-LABEL: @test_mm_maskz_ipcvttph_epi8( +__m128i test_mm_maskz_ipcvtts_ph_epi8(__mmask8 __A, __m128h __B) { + // CHECK-LABEL: @test_mm_maskz_ipcvtts_ph_epi8( // CHECK: @llvm.x86.avx10.mask.vcvttph2ibs128 - return _mm_maskz_ipcvttph_epi8(__A, __B); -} - -__m256i test_mm256_ipcvttph_epi8(__m256h __A) { - // CHECK-LABEL: @test_mm256_ipcvttph_epi8( - // CHECK: @llvm.x86.avx10.mask.vcvttph2ibs256 - return _mm256_ipcvttph_epi8(__A); -} - -__m256i test_mm256_mask_ipcvttph_epi8(__m256i __S, __mmask16 __A, __m256h __B) { - // CHECK-LABEL: @test_mm256_mask_ipcvttph_epi8( - // CHECK: @llvm.x86.avx10.mask.vcvttph2ibs256 - return _mm256_mask_ipcvttph_epi8(__S, __A, __B); + return _mm_maskz_ipcvtts_ph_epi8(__A, __B); } -__m256i test_mm256_maskz_ipcvttph_epi8(__mmask16 __A, __m256h __B) { - // CHECK-LABEL: @test_mm256_maskz_ipcvttph_epi8( +__m256i test_mm256_ipcvtts_ph_epi8(__m256h __A) { + // CHECK-LABEL: @test_mm256_ipcvtts_ph_epi8( // CHECK: @llvm.x86.avx10.mask.vcvttph2ibs256 - return _mm256_maskz_ipcvttph_epi8(__A, __B); + return _mm256_ipcvtts_ph_epi8(__A); } -__m256i test_mm256_ipcvtt_roundph_epi8(__m256h __A) { - // CHECK-LABEL: @test_mm256_ipcvtt_roundph_epi8( +__m256i test_mm256_mask_ipcvtts_ph_epi8(__m256i __S, __mmask16 __A, __m256h __B) { + // CHECK-LABEL: @test_mm256_mask_ipcvtts_ph_epi8( // CHECK: @llvm.x86.avx10.mask.vcvttph2ibs256 - return _mm256_ipcvtt_roundph_epi8(__A, _MM_FROUND_NO_EXC); + return _mm256_mask_ipcvtts_ph_epi8(__S, __A, __B); } -__m256i test_mm256_mask_ipcvtt_roundph_epi8(__m256i __S, __mmask16 __A, __m256h __B) { - // CHECK-LABEL: @test_mm256_mask_ipcvtt_roundph_epi8( +__m256i test_mm256_maskz_ipcvtts_ph_epi8(__mmask16 __A, __m256h __B) { + // CHECK-LABEL: @test_mm256_maskz_ipcvtts_ph_epi8( // CHECK: @llvm.x86.avx10.mask.vcvttph2ibs256 - return _mm256_mask_ipcvtt_roundph_epi8(__S, __A, __B, _MM_FROUND_NO_EXC); + return _mm256_maskz_ipcvtts_ph_epi8(__A, __B); } -__m256i test_mm256_maskz_ipcvtt_roundph_epi8(__mmask16 __A, __m256h __B) { - // CHECK-LABEL: @test_mm256_maskz_ipcvtt_roundph_epi8( - // CHECK: @llvm.x86.avx10.mask.vcvttph2ibs256 - return _mm256_maskz_ipcvtt_roundph_epi8(__A, __B, _MM_FROUND_NO_EXC); -} - -__m128i test_mm_ipcvttph_epu8(__m128h __A) { - // CHECK-LABEL: @test_mm_ipcvttph_epu8( +__m128i test_mm_ipcvtts_ph_epu8(__m128h __A) { + // CHECK-LABEL: @test_mm_ipcvtts_ph_epu8( // CHECK: @llvm.x86.avx10.mask.vcvttph2iubs128 - return _mm_ipcvttph_epu8(__A); + return _mm_ipcvtts_ph_epu8(__A); } -__m128i test_mm_mask_ipcvttph_epu8(__m128i __S, __mmask8 __A, __m128h __B) { - // CHECK-LABEL: @test_mm_mask_ipcvttph_epu8( +__m128i test_mm_mask_ipcvtts_ph_epu8(__m128i __S, __mmask8 __A, __m128h __B) { + // CHECK-LABEL: @test_mm_mask_ipcvtts_ph_epu8( // CHECK: @llvm.x86.avx10.mask.vcvttph2iubs128 - return _mm_mask_ipcvttph_epu8(__S, __A, __B); + return _mm_mask_ipcvtts_ph_epu8(__S, __A, __B); } -__m128i test_mm_maskz_ipcvttph_epu8(__mmask8 __A, __m128h __B) { - // CHECK-LABEL: @test_mm_maskz_ipcvttph_epu8( +__m128i test_mm_maskz_ipcvtts_ph_epu8(__mmask8 __A, __m128h __B) { + // CHECK-LABEL: @test_mm_maskz_ipcvtts_ph_epu8( // CHECK: @llvm.x86.avx10.mask.vcvttph2iubs128 - return _mm_maskz_ipcvttph_epu8(__A, __B); -} - -__m256i test_mm256_ipcvttph_epu8(__m256h __A) { - // CHECK-LABEL: @test_mm256_ipcvttph_epu8( - // CHECK: @llvm.x86.avx10.mask.vcvttph2iubs256 - return _mm256_ipcvttph_epu8(__A); -} - -__m256i test_mm256_mask_ipcvttph_epu8(__m256i __S, __mmask16 __A, __m256h __B) { - // CHECK-LABEL: @test_mm256_mask_ipcvttph_epu8( - // CHECK: @llvm.x86.avx10.mask.vcvttph2iubs256 - return _mm256_mask_ipcvttph_epu8(__S, __A, __B); + return _mm_maskz_ipcvtts_ph_epu8(__A, __B); } -__m256i test_mm256_maskz_ipcvttph_epu8(__mmask16 __A, __m256h __B) { - // CHECK-LABEL: @test_mm256_maskz_ipcvttph_epu8( +__m256i test_mm256_ipcvtts_ph_epu8(__m256h __A) { + // CHECK-LABEL: @test_mm256_ipcvtts_ph_epu8( // CHECK: @llvm.x86.avx10.mask.vcvttph2iubs256 - return _mm256_maskz_ipcvttph_epu8(__A, __B); + return _mm256_ipcvtts_ph_epu8(__A); } -__m256i test_mm256_ipcvtt_roundph_epu8(__m256h __A) { - // CHECK-LABEL: @test_mm256_ipcvtt_roundph_epu8( +__m256i test_mm256_mask_ipcvtts_ph_epu8(__m256i __S, __mmask16 __A, __m256h __B) { + // CHECK-LABEL: @test_mm256_mask_ipcvtts_ph_epu8( // CHECK: @llvm.x86.avx10.mask.vcvttph2iubs256 - return _mm256_ipcvtt_roundph_epu8(__A, _MM_FROUND_NO_EXC); + return _mm256_mask_ipcvtts_ph_epu8(__S, __A, __B); } -__m256i test_mm256_mask_ipcvtt_roundph_epu8(__m256i __S, __mmask16 __A, __m256h __B) { - // CHECK-LABEL: @test_mm256_mask_ipcvtt_roundph_epu8( +__m256i test_mm256_maskz_ipcvtts_ph_epu8(__mmask16 __A, __m256h __B) { + // CHECK-LABEL: @test_mm256_maskz_ipcvtts_ph_epu8( // CHECK: @llvm.x86.avx10.mask.vcvttph2iubs256 - return _mm256_mask_ipcvtt_roundph_epu8(__S, __A, __B, _MM_FROUND_NO_EXC); + return _mm256_maskz_ipcvtts_ph_epu8(__A, __B); } -__m256i test_mm256_maskz_ipcvtt_roundph_epu8(__mmask16 __A, __m256h __B) { - // CHECK-LABEL: @test_mm256_maskz_ipcvtt_roundph_epu8( - // CHECK: @llvm.x86.avx10.mask.vcvttph2iubs256 - return _mm256_maskz_ipcvtt_roundph_epu8(__A, __B, _MM_FROUND_NO_EXC); -} - -__m128i test_mm_ipcvttps_epi8(__m128 __A) { - // CHECK-LABEL: @test_mm_ipcvttps_epi8( +__m128i test_mm_ipcvtts_ps_epi8(__m128 __A) { + // CHECK-LABEL: @test_mm_ipcvtts_ps_epi8( // CHECK: @llvm.x86.avx10.mask.vcvttps2ibs128 - return _mm_ipcvttps_epi8(__A); + return _mm_ipcvtts_ps_epi8(__A); } -__m128i test_mm_mask_ipcvttps_epi8(__m128i __S, __mmask8 __A, __m128 __B) { - // CHECK-LABEL: @test_mm_mask_ipcvttps_epi8( +__m128i test_mm_mask_ipcvtts_ps_epi8(__m128i __S, __mmask8 __A, __m128 __B) { + // CHECK-LABEL: @test_mm_mask_ipcvtts_ps_epi8( // CHECK: @llvm.x86.avx10.mask.vcvttps2ibs128 - return _mm_mask_ipcvttps_epi8(__S, __A, __B); + return _mm_mask_ipcvtts_ps_epi8(__S, __A, __B); } -__m128i test_mm_maskz_ipcvttps_epi8(__mmask8 __A, __m128 __B) { - // CHECK-LABEL: @test_mm_maskz_ipcvttps_epi8( +__m128i test_mm_maskz_ipcvtts_ps_epi8(__mmask8 __A, __m128 __B) { + // CHECK-LABEL: @test_mm_maskz_ipcvtts_ps_epi8( // CHECK: @llvm.x86.avx10.mask.vcvttps2ibs128 - return _mm_maskz_ipcvttps_epi8(__A, __B); + return _mm_maskz_ipcvtts_ps_epi8(__A, __B); } -__m256i test_mm256_ipcvttps_epi8(__m256 __A) { - // CHECK-LABEL: @test_mm256_ipcvttps_epi8( +__m256i test_mm256_ipcvtts_ps_epi8(__m256 __A) { + // CHECK-LABEL: @test_mm256_ipcvtts_ps_epi8( // CHECK: @llvm.x86.avx10.mask.vcvttps2ibs256 - return _mm256_ipcvttps_epi8(__A); + return _mm256_ipcvtts_ps_epi8(__A); } -__m256i test_mm256_mask_ipcvttps_epi8(__m256i __S, __mmask8 __A, __m256 __B) { - // CHECK-LABEL: @test_mm256_mask_ipcvttps_epi8( +__m256i test_mm256_mask_ipcvtts_ps_epi8(__m256i __S, __mmask8 __A, __m256 __B) { + // CHECK-LABEL: @test_mm256_mask_ipcvtts_ps_epi8( // CHECK: @llvm.x86.avx10.mask.vcvttps2ibs256 - return _mm256_mask_ipcvttps_epi8(__S, __A, __B); + return _mm256_mask_ipcvtts_ps_epi8(__S, __A, __B); } -__m256i test_mm256_maskz_ipcvttps_epi8(__mmask8 __A, __m256 __B) { - // CHECK-LABEL: @test_mm256_maskz_ipcvttps_epi8( +__m256i test_mm256_maskz_ipcvtts_ps_epi8(__mmask8 __A, __m256 __B) { + // CHECK-LABEL: @test_mm256_maskz_ipcvtts_ps_epi8( // CHECK: @llvm.x86.avx10.mask.vcvttps2ibs256 - return _mm256_maskz_ipcvttps_epi8(__A, __B); + return _mm256_maskz_ipcvtts_ps_epi8(__A, __B); } -__m256i test_mm256_ipcvtt_roundps_epi8(__m256 __A) { - // CHECK-LABEL: @test_mm256_ipcvtt_roundps_epi8( - // CHECK: @llvm.x86.avx10.mask.vcvttps2ibs256 - return _mm256_ipcvtt_roundps_epi8(__A, _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_mask_ipcvtt_roundps_epi8(__m256i __S, __mmask8 __A, __m256 __B) { - // CHECK-LABEL: @test_mm256_mask_ipcvtt_roundps_epi8( - // CHECK: @llvm.x86.avx10.mask.vcvttps2ibs256 - return _mm256_mask_ipcvtt_roundps_epi8(__S, __A, __B, _MM_FROUND_NO_EXC); -} - -__m256i test_mm256_maskz_ipcvtt_roundps_epi8(__mmask8 __A, __m256 __B) { - // CHECK-LABEL: @test_mm256_maskz_ipcvtt_roundps_epi8( - // CHECK: @llvm.x86.avx10.mask.vcvttps2ibs256 - return _mm256_maskz_ipcvtt_roundps_epi8(__A, __B, _MM_FROUND_NO_EXC); -} - -__m128i test_mm_ipcvttps_epu8(__m128 __A) { - // CHECK-LABEL: @test_mm_ipcvttps_epu8( +__m128i test_mm_ipcvtts_ps_epu8(__m128 __A) { + // CHECK-LABEL: @test_mm_ipcvtts_ps_epu8( // CHECK: @llvm.x86.avx10.mask.vcvttps2iubs128 - return _mm_ipcvttps_epu8(__A); + return _mm_ipcvtts_ps_epu8(__A); } -__m128i test_mm_mask_ipcvttps_epu8(__m128i __S, __mmask8 __A, __m128 __B) { - // CHECK-LABEL: @test_mm_mask_ipcvttps_epu8( +__m128i test_mm_mask_ipcvtts_ps_epu8(__m128i __S, __mmask8 __A, __m128 __B) { + // CHECK-LABEL: @test_mm_mask_ipcvtts_ps_epu8( // CHECK: @llvm.x86.avx10.mask.vcvttps2iubs128 - return _mm_mask_ipcvttps_epu8(__S, __A, __B); + return _mm_mask_ipcvtts_ps_epu8(__S, __A, __B); } -__m128i test_mm_maskz_ipcvttps_epu8(__mmask8 __A, __m128 __B) { - // CHECK-LABEL: @test_mm_maskz_ipcvttps_epu8( +__m128i test_mm_maskz_ipcvtts_ps_epu8(__mmask8 __A, __m128 __B) { + // CHECK-LABEL: @test_mm_maskz_ipcvtts_ps_epu8( // CHECK: @llvm.x86.avx10.mask.vcvttps2iubs128 - return _mm_maskz_ipcvttps_epu8(__A, __B); -} - -__m256i test_mm256_ipcvttps_epu8(__m256 __A) { - // CHECK-LABEL: @test_mm256_ipcvttps_epu8( - // CHECK: @llvm.x86.avx10.mask.vcvttps2iubs256 - return _mm256_ipcvttps_epu8(__A); -} - -__m256i test_mm256_mask_ipcvttps_epu8(__m256i __S, __mmask8 __A, __m256 __B) { - // CHECK-LABEL: @test_mm256_mask_ipcvttps_epu8( - // CHECK: @llvm.x86.avx10.mask.vcvttps2iubs256 - return _mm256_mask_ipcvttps_epu8(__S, __A, __B); -} - -__m256i test_mm256_maskz_ipcvttps_epu8(__mmask8 __A, __m256 __B) { - // CHECK-LABEL: @test_mm256_maskz_ipcvttps_epu8( - // CHECK: @llvm.x86.avx10.mask.vcvttps2iubs256 - return _mm256_maskz_ipcvttps_epu8(__A, __B); + return _mm_maskz_ipcvtts_ps_epu8(__A, __B); } -__m256i test_mm256_ipcvtt_roundps_epu8(__m256 __A) { - // CHECK-LABEL: @test_mm256_ipcvtt_roundps_epu8( +__m256i test_mm256_ipcvtts_ps_epu8(__m256 __A) { + // CHECK-LABEL: @test_mm256_ipcvtts_ps_epu8( // CHECK: @llvm.x86.avx10.mask.vcvttps2iubs256 - return _mm256_ipcvtt_roundps_epu8(__A, _MM_FROUND_NO_EXC); + return _mm256_ipcvtts_ps_epu8(__A); } -__m256i test_mm256_mask_ipcvtt_roundps_epu8(__m256i __S, __mmask8 __A, __m256 __B) { - // CHECK-LABEL: @test_mm256_mask_ipcvtt_roundps_epu8( +__m256i test_mm256_mask_ipcvtts_ps_epu8(__m256i __S, __mmask8 __A, __m256 __B) { + // CHECK-LABEL: @test_mm256_mask_ipcvtts_ps_epu8( // CHECK: @llvm.x86.avx10.mask.vcvttps2iubs256 - return _mm256_mask_ipcvtt_roundps_epu8(__S, __A, __B, _MM_FROUND_NO_EXC); + return _mm256_mask_ipcvtts_ps_epu8(__S, __A, __B); } -__m256i test_mm256_maskz_ipcvtt_roundps_epu8(__mmask8 __A, __m256 __B) { - // CHECK-LABEL: @test_mm256_maskz_ipcvtt_roundps_epu8( +__m256i test_mm256_maskz_ipcvtts_ps_epu8(__mmask8 __A, __m256 __B) { + // CHECK-LABEL: @test_mm256_maskz_ipcvtts_ps_epu8( // CHECK: @llvm.x86.avx10.mask.vcvttps2iubs256 - return _mm256_maskz_ipcvtt_roundps_epu8(__A, __B, _MM_FROUND_NO_EXC); + return _mm256_maskz_ipcvtts_ps_epu8(__A, __B); } diff --git a/clang/test/CodeGen/X86/avx10_2satcvtds-builtins-errors.c b/clang/test/CodeGen/X86/avx10_2satcvtds-builtins-errors.c deleted file mode 100644 index f32dfba60132d..0000000000000 --- a/clang/test/CodeGen/X86/avx10_2satcvtds-builtins-errors.c +++ /dev/null @@ -1,57 +0,0 @@ -// RUN: %clang_cc1 -flax-vector-conversions=none -ffreestanding %s -triple=i386-unknown-unknown -target-feature +avx10.2-256 -Wall -Werror -verify - -unsigned long long test_mm_cvttssd(unsigned long long __A) { - return _mm_cvttssd(__A); // expected-error {{call to undeclared function '_mm_cvttssd'}} -} - -unsigned long long test_mm_cvttsss(unsigned long long __A) { - return _mm_cvttsss(__A); // expected-error {{call to undeclared function '_mm_cvttsss'}} -} - -#include -#include - -__m128i test_mm256_cvtts_roundpd_epi32(__m256d A) { - return _mm256_cvtts_roundpd_epi32(A, 22); // expected-error {{invalid rounding argument}} -} -__m128i test_mm256_mask_cvtts_roundpd_epi32(__m128i W, __mmask8 U, __m256d A) { - return _mm256_mask_cvtts_roundpd_epi32(W, U, A, 22); // expected-error {{invalid rounding argument}} -} - -__m128i test_mm256_maskz_cvtts_roundpd_epi32(__mmask8 U, __m256d A) { - return _mm256_maskz_cvtts_roundpd_epi32(U, A, 22); // expected-error {{invalid rounding argument}} -} - -__m128i test_mm256_cvtts_roundpd_epu32(__m256d A) { - return _mm256_cvtts_roundpd_epu32(A, 22); // expected-error {{invalid rounding argument}} -} -__m128i test_mm256_mask_cvtts_roundpd_epu32(__m128i W, __mmask8 U, __m256d A) { - return _mm256_mask_cvtts_roundpd_epu32(W, U, A, 22); // expected-error {{invalid rounding argument}} -} - -__m128i test_mm256_maskz_cvtts_roundpd_epu32(__mmask8 U, __m256d A) { - return _mm256_maskz_cvtts_roundpd_epu32(U, A, 22); // expected-error {{invalid rounding argument}} -} - -__m256i test_mm256_cvtts_roundps_epi32(__m256 A) { - return _mm256_cvtts_roundps_epi32(A, 22); // expected-error {{invalid rounding argument}} -} -__m256i test_mm256_mask_cvtts_roundps_epi32(__m256i W, __mmask8 U, __m256 A) { - return _mm256_mask_cvtts_roundps_epi32(W, U, A, 22); // expected-error {{invalid rounding argument}} -} - -__m256i test_mm256_maskz_cvtts_roundps_epi32(__mmask8 U, __m256 A) { - return _mm256_maskz_cvtts_roundps_epi32(U, A, 22); // expected-error {{invalid rounding argument}} -} - -__m256i test_mm256_cvtts_roundps_epu32(__m256 A) { - return _mm256_cvtts_roundps_epu32(A, 22); // expected-error {{invalid rounding argument}} -} - -__m256i test_mm256_mask_cvtts_roundps_epu32(__m256i W, __mmask8 U, __m256 A) { - return _mm256_mask_cvtts_roundps_epu32(W, U, A, 22); // expected-error {{invalid rounding argument}} -} - -__m256i test_mm256_maskz_cvtts_roundps_epu32(__mmask8 U, __m256 A) { - return _mm256_maskz_cvtts_roundps_epu32(U, A, 22); // expected-error {{invalid rounding argument}} -} diff --git a/clang/test/CodeGen/X86/avx10_2satcvtds-builtins-x64.c b/clang/test/CodeGen/X86/avx10_2satcvtds-builtins-x64.c index 00384731a51f7..fe6755cc05ae1 100644 --- a/clang/test/CodeGen/X86/avx10_2satcvtds-builtins-x64.c +++ b/clang/test/CodeGen/X86/avx10_2satcvtds-builtins-x64.c @@ -5,258 +5,186 @@ // scalar -int test_mm_cvttssd_i32(__m128d __A) { - // CHECK-LABEL: @test_mm_cvttssd_i32 +int test_mm_cvtts_sd_i32(__m128d __A) { + // CHECK-LABEL: @test_mm_cvtts_sd_i32 // CHECK: @llvm.x86.avx10.vcvttsd2sis return _mm_cvtts_roundsd_i32(__A, _MM_FROUND_NO_EXC); } -int test_mm_cvttssd_si32(__m128d __A) { - // CHECK-LABEL: @test_mm_cvttssd_si32( +int test_mm_cvtts_sd_si32(__m128d __A) { + // CHECK-LABEL: @test_mm_cvtts_sd_si32( // CHECK: @llvm.x86.avx10.vcvttsd2sis(<2 x double> return _mm_cvtts_roundsd_si32(__A, _MM_FROUND_NO_EXC); } -unsigned test_mm_cvttssd_u32(__m128d __A) { - // CHECK-LABEL: @test_mm_cvttssd_u32( +unsigned test_mm_cvtts_sd_u32(__m128d __A) { + // CHECK-LABEL: @test_mm_cvtts_sd_u32( // CHECK: @llvm.x86.avx10.vcvttsd2usis(<2 x double> return _mm_cvtts_roundsd_u32(__A, _MM_FROUND_NO_EXC); } -int test_mm_cvttsss_i32(__m128 __A) { - // CHECK-LABEL: @test_mm_cvttsss_i32( +int test_mm_cvtts_ss_i32(__m128 __A) { + // CHECK-LABEL: @test_mm_cvtts_ss_i32( // CHECK: @llvm.x86.avx10.vcvttss2sis(<4 x float> return _mm_cvtts_roundss_i32(__A, _MM_FROUND_NO_EXC); } -int test_mm_cvttsss_si32(__m128 __A) { - // CHECK-LABEL: @test_mm_cvttsss_si32( +int test_mm_cvtts_ss_si32(__m128 __A) { + // CHECK-LABEL: @test_mm_cvtts_ss_si32( // CHECK: @llvm.x86.avx10.vcvttss2sis(<4 x float> return _mm_cvtts_roundss_si32(__A, _MM_FROUND_NO_EXC); } -unsigned test_mm_cvttsss_u32(__m128 __A) { - // CHECK-LABEL: @test_mm_cvttsss_u32( +unsigned test_mm_cvtts_ss_u32(__m128 __A) { + // CHECK-LABEL: @test_mm_cvtts_ss_u32( // CHECK: @llvm.x86.avx10.vcvttss2usis(<4 x float> return _mm_cvtts_roundss_u32(__A, _MM_FROUND_NO_EXC); } // vector // 128 bit -__m128i test_mm_cvttspd_epi64(__m128d A){ - // CHECK-LABEL: @test_mm_cvttspd_epi64 +__m128i test_mm_cvtts_pd_epi64(__m128d A){ + // CHECK-LABEL: @test_mm_cvtts_pd_epi64 // CHECK: @llvm.x86.avx10.mask.vcvttpd2qqs.128(<2 x double> - return _mm_cvttspd_epi64(A); + return _mm_cvtts_pd_epi64(A); } -__m128i test_mm_mask_cvttspd_epi64(__m128i W, __mmask8 U, __m128d A){ - // CHECK-LABEL: @test_mm_mask_cvttspd_epi64 +__m128i test_mm_mask_cvtts_pd_epi64(__m128i W, __mmask8 U, __m128d A){ + // CHECK-LABEL: @test_mm_mask_cvtts_pd_epi64 // CHECK: @llvm.x86.avx10.mask.vcvttpd2qqs.128(<2 x double> - return _mm_mask_cvttspd_epi64(W, U, A); + return _mm_mask_cvtts_pd_epi64(W, U, A); } -__m128i test_mm_maskz_cvttspd_epi64(__mmask8 U,__m128d A){ - // CHECK-LABEL: @test_mm_maskz_cvttspd_epi64 +__m128i test_mm_maskz_cvtts_pd_epi64(__mmask8 U,__m128d A){ + // CHECK-LABEL: @test_mm_maskz_cvtts_pd_epi64 // CHECK: @llvm.x86.avx10.mask.vcvttpd2qqs.128(<2 x double> - return _mm_maskz_cvttspd_epi64(U, A); + return _mm_maskz_cvtts_pd_epi64(U, A); } -__m128i test_mm_cvttspd_epu64(__m128d A){ - // CHECK-LABEL: @test_mm_cvttspd_epu64 +__m128i test_mm_cvtts_pd_epu64(__m128d A){ + // CHECK-LABEL: @test_mm_cvtts_pd_epu64 // CHECK: @llvm.x86.avx10.mask.vcvttpd2uqqs.128(<2 x double> - return _mm_cvttspd_epu64(A); + return _mm_cvtts_pd_epu64(A); } -__m128i test_mm_mask_cvttspd_epu64(__m128i W, __mmask8 U, __m128d A){ - // CHECK-LABEL: @test_mm_mask_cvttspd_epu64 +__m128i test_mm_mask_cvtts_pd_epu64(__m128i W, __mmask8 U, __m128d A){ + // CHECK-LABEL: @test_mm_mask_cvtts_pd_epu64 // CHECK: @llvm.x86.avx10.mask.vcvttpd2uqqs.128(<2 x double> - return _mm_mask_cvttspd_epu64(W, U, A); + return _mm_mask_cvtts_pd_epu64(W, U, A); } -__m128i test_mm_maskz_cvttspd_epu64(__mmask8 U,__m128d A){ - // CHECK-LABEL: @test_mm_maskz_cvttspd_epu64 +__m128i test_mm_maskz_cvtts_pd_epu64(__mmask8 U,__m128d A){ + // CHECK-LABEL: @test_mm_maskz_cvtts_pd_epu64 // CHECK: @llvm.x86.avx10.mask.vcvttpd2uqqs.128(<2 x double> - return _mm_maskz_cvttspd_epu64(U, A); + return _mm_maskz_cvtts_pd_epu64(U, A); } // 256 bit -__m256i test_mm256_cvttspd_epi64(__m256d A){ -// CHECK-LABEL: @test_mm256_cvttspd_epi64 +__m256i test_mm256_cvtts_pd_epi64(__m256d A){ +// CHECK-LABEL: @test_mm256_cvtts_pd_epi64 // CHECK: @llvm.x86.avx10.mask.vcvttpd2qqs.round.256(<4 x double> - return _mm256_cvttspd_epi64(A); + return _mm256_cvtts_pd_epi64(A); } -__m256i test_mm256_mask_cvttspd_epi64(__m256i W,__mmask8 U, __m256d A){ -// CHECK-LABEL: @test_mm256_mask_cvttspd_epi64 +__m256i test_mm256_mask_cvtts_pd_epi64(__m256i W,__mmask8 U, __m256d A){ +// CHECK-LABEL: @test_mm256_mask_cvtts_pd_epi64 // CHECK: @llvm.x86.avx10.mask.vcvttpd2qqs.round.256(<4 x double> - return _mm256_mask_cvttspd_epi64(W,U, A); + return _mm256_mask_cvtts_pd_epi64(W,U, A); } -__m256i test_mm256_maskz_cvttspd_epi64(__mmask8 U, __m256d A){ -// CHECK-LABEL: @test_mm256_maskz_cvttspd_epi64 +__m256i test_mm256_maskz_cvtts_pd_epi64(__mmask8 U, __m256d A){ +// CHECK-LABEL: @test_mm256_maskz_cvtts_pd_epi64 // CHECK: @llvm.x86.avx10.mask.vcvttpd2qqs.round.256(<4 x double> - return _mm256_maskz_cvttspd_epi64(U, A); + return _mm256_maskz_cvtts_pd_epi64(U, A); } -__m256i test_mm256_cvtts_roundpd_epi64(__m256d A){ -// CHECK-LABEL: @test_mm256_cvtts_roundpd_epi64 -// CHECK: @llvm.x86.avx10.mask.vcvttpd2qqs.round.256(<4 x double> - return _mm256_cvtts_roundpd_epi64(A,_MM_FROUND_NEARBYINT ); -} - -__m256i test_mm256_mask_cvtts_roundpd_epi64(__m256i W,__mmask8 U, __m256d A){ -// CHECK-LABEL: @test_mm256_mask_cvtts_roundpd_epi64 -// CHECK: @llvm.x86.avx10.mask.vcvttpd2qqs.round.256(<4 x double> - return _mm256_mask_cvtts_roundpd_epi64(W,U,A,_MM_FROUND_NEARBYINT ); -} - -__m256i test_mm256_maskz_cvtts_roundpd_epi64(__mmask8 U, __m256d A){ -// CHECK-LABEL: @test_mm256_maskz_cvtts_roundpd_epi64 -// CHECK: @llvm.x86.avx10.mask.vcvttpd2qqs.round.256(<4 x double> - return _mm256_maskz_cvtts_roundpd_epi64(U,A,_MM_FROUND_NEARBYINT ); -} - -__m256i test_mm256_cvttspd_epu64(__m256d A){ -// CHECK-LABEL: @test_mm256_cvttspd_epu64 -// CHECK: @llvm.x86.avx10.mask.vcvttpd2uqqs.round.256(<4 x double> - return _mm256_cvttspd_epu64(A); -} - -__m256i test_mm256_mask_cvttspd_epu64(__m256i W,__mmask8 U, __m256d A){ -// CHECK-LABEL: @test_mm256_mask_cvttspd_epu64 -// CHECK: @llvm.x86.avx10.mask.vcvttpd2uqqs.round.256(<4 x double> - return _mm256_mask_cvttspd_epu64(W,U, A); -} - -__m256i test_mm256_maskz_cvttspd_epu64(__mmask8 U, __m256d A){ -// CHECK-LABEL: @test_mm256_maskz_cvttspd_epu64 -// CHECK: @llvm.x86.avx10.mask.vcvttpd2uqqs.round.256(<4 x double> - return _mm256_maskz_cvttspd_epu64(U, A); -} - -__m256i test_mm256_cvtts_roundpd_epu64(__m256d A){ -// CHECK-LABEL: @test_mm256_cvtts_roundpd_epu64 +__m256i test_mm256_cvtts_pd_epu64(__m256d A){ +// CHECK-LABEL: @test_mm256_cvtts_pd_epu64 // CHECK: @llvm.x86.avx10.mask.vcvttpd2uqqs.round.256(<4 x double> - return _mm256_cvtts_roundpd_epu64(A,_MM_FROUND_NEARBYINT ); + return _mm256_cvtts_pd_epu64(A); } -__m256i test_mm256_mask_cvtts_roundpd_epu64(__m256i W,__mmask8 U, __m256d A){ -// CHECK-LABEL: @test_mm256_mask_cvtts_roundpd_epu64 +__m256i test_mm256_mask_cvtts_pd_epu64(__m256i W,__mmask8 U, __m256d A){ +// CHECK-LABEL: @test_mm256_mask_cvtts_pd_epu64 // CHECK: @llvm.x86.avx10.mask.vcvttpd2uqqs.round.256(<4 x double> - return _mm256_mask_cvtts_roundpd_epu64(W,U,A,_MM_FROUND_NEARBYINT ); + return _mm256_mask_cvtts_pd_epu64(W,U, A); } -__m256i test_mm256_maskz_cvtts_roundpd_epu64(__mmask8 U, __m256d A){ -// CHECK-LABEL: @test_mm256_maskz_cvtts_roundpd_epu64 +__m256i test_mm256_maskz_cvtts_pd_epu64(__mmask8 U, __m256d A){ +// CHECK-LABEL: @test_mm256_maskz_cvtts_pd_epu64 // CHECK: @llvm.x86.avx10.mask.vcvttpd2uqqs.round.256(<4 x double> - return _mm256_maskz_cvtts_roundpd_epu64(U,A,_MM_FROUND_NEARBYINT ); + return _mm256_maskz_cvtts_pd_epu64(U, A); } // 128 bit -__m128i test_mm_cvttsps_epi64(__m128 A){ - // CHECK-LABEL: @test_mm_cvttsps_epi64 +__m128i test_mm_cvtts_ps_epi64(__m128 A){ + // CHECK-LABEL: @test_mm_cvtts_ps_epi64 // CHECK: @llvm.x86.avx10.mask.vcvttps2qqs.128(<4 x float> - return _mm_cvttsps_epi64(A); + return _mm_cvtts_ps_epi64(A); } -__m128i test_mm_mask_cvttsps_epi64(__m128i W, __mmask8 U, __m128 A){ - // CHECK-LABEL: @test_mm_mask_cvttsps_epi64 +__m128i test_mm_mask_cvtts_ps_epi64(__m128i W, __mmask8 U, __m128 A){ + // CHECK-LABEL: @test_mm_mask_cvtts_ps_epi64 // CHECK: @llvm.x86.avx10.mask.vcvttps2qqs.128(<4 x float> - return _mm_mask_cvttsps_epi64(W, U, A); + return _mm_mask_cvtts_ps_epi64(W, U, A); } -__m128i test_mm_maskz_cvttsps_epi64(__mmask8 U,__m128 A){ - // CHECK-LABEL: @test_mm_maskz_cvttsps_epi64 +__m128i test_mm_maskz_cvtts_ps_epi64(__mmask8 U,__m128 A){ + // CHECK-LABEL: @test_mm_maskz_cvtts_ps_epi64 // CHECK: @llvm.x86.avx10.mask.vcvttps2qqs.128(<4 x float> - return _mm_maskz_cvttsps_epi64(U, A); + return _mm_maskz_cvtts_ps_epi64(U, A); } -__m128i test_mm_cvttsps_epu64(__m128 A){ - // CHECK-LABEL: @test_mm_cvttsps_epu64 +__m128i test_mm_cvtts_ps_epu64(__m128 A){ + // CHECK-LABEL: @test_mm_cvtts_ps_epu64 // CHECK: @llvm.x86.avx10.mask.vcvttps2uqqs.128(<4 x float> - return _mm_cvttsps_epu64(A); + return _mm_cvtts_ps_epu64(A); } -__m128i test_mm_mask_cvttsps_epu64(__m128i W, __mmask8 U, __m128 A){ - // CHECK-LABEL: @test_mm_mask_cvttsps_epu64 +__m128i test_mm_mask_cvtts_ps_epu64(__m128i W, __mmask8 U, __m128 A){ + // CHECK-LABEL: @test_mm_mask_cvtts_ps_epu64 // CHECK: @llvm.x86.avx10.mask.vcvttps2uqqs.128(<4 x float> - return _mm_mask_cvttsps_epu64(W, U, A); + return _mm_mask_cvtts_ps_epu64(W, U, A); } -__m128i test_mm_maskz_cvttsps_epu64(__mmask8 U,__m128 A){ - // CHECK-LABEL: @test_mm_maskz_cvttsps_epu64 +__m128i test_mm_maskz_cvtts_ps_epu64(__mmask8 U,__m128 A){ + // CHECK-LABEL: @test_mm_maskz_cvtts_ps_epu64 // CHECK: @llvm.x86.avx10.mask.vcvttps2uqqs.128(<4 x float> - return _mm_maskz_cvttsps_epu64(U, A); + return _mm_maskz_cvtts_ps_epu64(U, A); } -__m256i test_mm256_cvttsps_epi64(__m128 A){ -// CHECK-LABEL: @test_mm256_cvttsps_epi64 +__m256i test_mm256_cvtts_ps_epi64(__m128 A){ +// CHECK-LABEL: @test_mm256_cvtts_ps_epi64 // CHECK: @llvm.x86.avx10.mask.vcvttps2qqs.round.256(<4 x float> - return _mm256_cvttsps_epi64(A); + return _mm256_cvtts_ps_epi64(A); } -__m256i test_mm256_mask_cvttsps_epi64(__m256i W,__mmask8 U, __m128 A){ -// CHECK-LABEL: @test_mm256_mask_cvttsps_epi64 +__m256i test_mm256_mask_cvtts_ps_epi64(__m256i W,__mmask8 U, __m128 A){ +// CHECK-LABEL: @test_mm256_mask_cvtts_ps_epi64 // CHECK: @llvm.x86.avx10.mask.vcvttps2qqs.round.256(<4 x float> - return _mm256_mask_cvttsps_epi64(W,U, A); + return _mm256_mask_cvtts_ps_epi64(W,U, A); } -__m256i test_mm256_maskz_cvttsps_epi64(__mmask8 U, __m128 A){ -// CHECK-LABEL: @test_mm256_maskz_cvttsps_epi64 +__m256i test_mm256_maskz_cvtts_ps_epi64(__mmask8 U, __m128 A){ +// CHECK-LABEL: @test_mm256_maskz_cvtts_ps_epi64 // CHECK: @llvm.x86.avx10.mask.vcvttps2qqs.round.256(<4 x float> - return _mm256_maskz_cvttsps_epi64(U, A); -} - -__m256i test_mm256_cvtts_roundps_epi64(__m128 A){ -// CHECK-LABEL: @test_mm256_cvtts_roundps_epi64 -// CHECK: @llvm.x86.avx10.mask.vcvttps2qqs.round.256(<4 x float> - return _mm256_cvtts_roundps_epi64(A, _MM_FROUND_NEARBYINT ); -} - -__m256i test_mm256_mask_cvtts_roundps_epi64(__m256i W,__mmask8 U, __m128 A){ -// CHECK-LABEL: @test_mm256_mask_cvtts_roundps_epi64 -// CHECK: @llvm.x86.avx10.mask.vcvttps2qqs.round.256(<4 x float> - return _mm256_mask_cvtts_roundps_epi64(W,U,A,_MM_FROUND_NEARBYINT ); -} - -__m256i test_mm256_maskz_cvtts_roundps_epi64(__mmask8 U, __m128 A){ -// CHECK-LABEL: @test_mm256_maskz_cvtts_roundps_epi64 -// CHECK: @llvm.x86.avx10.mask.vcvttps2qqs.round.256(<4 x float> - return _mm256_maskz_cvtts_roundps_epi64(U,A,_MM_FROUND_NEARBYINT ); -} - -__m256i test_mm256_cvttsps_epu64(__m128 A){ -// CHECK-LABEL: @test_mm256_cvttsps_epu64 -// CHECK: @llvm.x86.avx10.mask.vcvttps2uqqs.round.256(<4 x float> - return _mm256_cvttsps_epu64(A); -} - -__m256i test_mm256_mask_cvttsps_epu64(__m256i W,__mmask8 U, __m128 A){ -// CHECK-LABEL: @test_mm256_mask_cvttsps_epu64 -// CHECK: @llvm.x86.avx10.mask.vcvttps2uqqs.round.256(<4 x float> - return _mm256_mask_cvttsps_epu64(W,U, A); -} - -__m256i test_mm256_maskz_cvttsps_epu64(__mmask8 U, __m128 A){ -// CHECK-LABEL: @test_mm256_maskz_cvttsps_epu64 -// CHECK: @llvm.x86.avx10.mask.vcvttps2uqqs.round.256(<4 x float> - return _mm256_maskz_cvttsps_epu64(U, A); + return _mm256_maskz_cvtts_ps_epi64(U, A); } -__m256i test_mm256_cvtts_roundps_epu64(__m128 A){ -// CHECK-LABEL: @test_mm256_cvtts_roundps_epu64 +__m256i test_mm256_cvtts_ps_epu64(__m128 A){ +// CHECK-LABEL: @test_mm256_cvtts_ps_epu64 // CHECK: @llvm.x86.avx10.mask.vcvttps2uqqs.round.256(<4 x float> - return _mm256_cvtts_roundps_epu64(A, _MM_FROUND_NEARBYINT ); + return _mm256_cvtts_ps_epu64(A); } -__m256i test_mm256_mask_cvtts_roundps_epu64(__m256i W,__mmask8 U, __m128 A){ -// CHECK-LABEL: @test_mm256_mask_cvtts_roundps_epu64 +__m256i test_mm256_mask_cvtts_ps_epu64(__m256i W,__mmask8 U, __m128 A){ +// CHECK-LABEL: @test_mm256_mask_cvtts_ps_epu64 // CHECK: @llvm.x86.avx10.mask.vcvttps2uqqs.round.256(<4 x float> - return _mm256_mask_cvtts_roundps_epu64(W,U,A,_MM_FROUND_NEARBYINT ); + return _mm256_mask_cvtts_ps_epu64(W,U, A); } -__m256i test_mm256_maskz_cvtts_roundps_epu64(__mmask8 U, __m128 A){ -// CHECK-LABEL: @test_mm256_maskz_cvtts_roundps_epu64 +__m256i test_mm256_maskz_cvtts_ps_epu64(__mmask8 U, __m128 A){ +// CHECK-LABEL: @test_mm256_maskz_cvtts_ps_epu64 // CHECK: @llvm.x86.avx10.mask.vcvttps2uqqs.round.256(<4 x float> - return _mm256_maskz_cvtts_roundps_epu64(U,A,_MM_FROUND_NEARBYINT ); + return _mm256_maskz_cvtts_ps_epu64(U, A); } diff --git a/clang/test/CodeGen/X86/avx10_2satcvtds-builtins.c b/clang/test/CodeGen/X86/avx10_2satcvtds-builtins.c index bb90f6a086fa2..b91af7073a55a 100644 --- a/clang/test/CodeGen/X86/avx10_2satcvtds-builtins.c +++ b/clang/test/CodeGen/X86/avx10_2satcvtds-builtins.c @@ -1,225 +1,150 @@ -// RUN: %clang_cc1 -flax-vector-conversions=none -ffreestanding %s -triple=i386 -target-feature +avx10.2-256 -emit-llvm -o - | FileCheck %s --check-prefixes=CHECK,X86 -// RUN: %clang_cc1 -flax-vector-conversions=none -ffreestanding %s -triple=x86_64 -target-feature +avx10.2-256 -emit-llvm -o - | FileCheck %s --check-prefixes=CHECK,X64 +// RUN: %clang_cc1 -flax-vector-conversions=none -ffreestanding %s -triple=i386 -target-feature +avx10.2-256 -emit-llvm -o - | FileCheck %s --check-prefixes=CHECK +// RUN: %clang_cc1 -flax-vector-conversions=none -ffreestanding %s -triple=x86_64 -target-feature +avx10.2-256 -emit-llvm -o - | FileCheck %s --check-prefixes=CHECK #include #include -__m128i test_mm_cvttspd_epi32(__m128d A){ -// CHECK-LABEL: @test_mm_cvttspd_epi32 +__m128i test_mm_cvtts_pd_epi32(__m128d A){ +// CHECK-LABEL: @test_mm_cvtts_pd_epi32 // CHECK: @llvm.x86.avx10.mask.vcvttpd2dqs.128(<2 x double> - return _mm_cvttspd_epi32(A); + return _mm_cvtts_pd_epi32(A); } -__m128i test_mm_mask_cvttspd_epi32(__m128i W, __mmask8 U, __m128d A){ -// CHECK-LABEL: @test_mm_mask_cvttspd_epi32 +__m128i test_mm_mask_cvtts_pd_epi32(__m128i W, __mmask8 U, __m128d A){ +// CHECK-LABEL: @test_mm_mask_cvtts_pd_epi32 // CHECK: @llvm.x86.avx10.mask.vcvttpd2dqs.128(<2 x double> - return _mm_mask_cvttspd_epi32(W,U,A); + return _mm_mask_cvtts_pd_epi32(W,U,A); } -__m128i test_mm_maskz_cvttspd_epi32( __mmask8 U, __m128d A){ -// CHECK-LABEL: @test_mm_maskz_cvttspd_epi32( +__m128i test_mm_maskz_cvtts_pd_epi32( __mmask8 U, __m128d A){ +// CHECK-LABEL: @test_mm_maskz_cvtts_pd_epi32( // CHECK: @llvm.x86.avx10.mask.vcvttpd2dqs.128(<2 x double> - return _mm_maskz_cvttspd_epi32(U,A); + return _mm_maskz_cvtts_pd_epi32(U,A); } -__m128i test_mm256_cvttspd_epi32(__m256d A){ -// CHECK-LABEL: @test_mm256_cvttspd_epi32 +__m128i test_mm256_cvtts_pd_epi32(__m256d A){ +// CHECK-LABEL: @test_mm256_cvtts_pd_epi32 // CHECK: @llvm.x86.avx10.mask.vcvttpd2dqs.round.256(<4 x double> - return _mm256_cvttspd_epi32(A); + return _mm256_cvtts_pd_epi32(A); } -__m128i test_mm256_mask_cvttspd_epi32(__m128i W,__mmask8 U, __m256d A){ -// CHECK-LABEL: @test_mm256_mask_cvttspd_epi32 +__m128i test_mm256_mask_cvtts_pd_epi32(__m128i W,__mmask8 U, __m256d A){ +// CHECK-LABEL: @test_mm256_mask_cvtts_pd_epi32 // CHECK: @llvm.x86.avx10.mask.vcvttpd2dqs.round.256(<4 x double> - return _mm256_mask_cvttspd_epi32(W,U,A); + return _mm256_mask_cvtts_pd_epi32(W,U,A); } -__m128i test_mm256_maskz_cvttspd_epi32(__mmask8 U, __m256d A){ -// CHECK-LABEL: @test_mm256_maskz_cvttspd_epi32 +__m128i test_mm256_maskz_cvtts_pd_epi32(__mmask8 U, __m256d A){ +// CHECK-LABEL: @test_mm256_maskz_cvtts_pd_epi32 // CHECK: @llvm.x86.avx10.mask.vcvttpd2dqs.round.256(<4 x double> - return _mm256_maskz_cvttspd_epi32(U,A); + return _mm256_maskz_cvtts_pd_epi32(U,A); } -__m128i test_mm256_cvtts_roundpd_epi32(__m256d A){ -// CHECK-LABEL: @test_mm256_cvtts_roundpd_epi32 -// CHECK: @llvm.x86.avx10.mask.vcvttpd2dqs.round.256(<4 x double> - return _mm256_cvtts_roundpd_epi32(A, _MM_FROUND_NEARBYINT); -} - -__m128i test_mm256_mask_cvtts_roundpd_epi32(__m128i W,__mmask8 U, __m256d A){ -// CHECK-LABEL: @test_mm256_mask_cvtts_roundpd_epi32 -// CHECK: @llvm.x86.avx10.mask.vcvttpd2dqs.round.256(<4 x double> - return _mm256_mask_cvtts_roundpd_epi32(W,U,A,_MM_FROUND_NEARBYINT); -} - -__m128i test_mm256_maskz_cvtts_roundpd_epi32(__mmask8 U, __m256d A){ -// CHECK-LABEL: @test_mm256_maskz_cvtts_roundpd_epi32 -// CHECK: @llvm.x86.avx10.mask.vcvttpd2dqs.round.256(<4 x double> - return _mm256_maskz_cvtts_roundpd_epi32(U,A,_MM_FROUND_NEARBYINT); -} - -__m128i test_mm_cvttspd_epu32(__m128d A){ -// CHECK-LABEL: @test_mm_cvttspd_epu32 +__m128i test_mm_cvtts_pd_epu32(__m128d A){ +// CHECK-LABEL: @test_mm_cvtts_pd_epu32 // CHECK: @llvm.x86.avx10.mask.vcvttpd2udqs.128(<2 x double> - return _mm_cvttspd_epu32(A); + return _mm_cvtts_pd_epu32(A); } -__m128i test_mm_mask_cvttspd_epu32(__m128i W, __mmask8 U, __m128d A){ -// CHECK-LABEL: @test_mm_mask_cvttspd_epu32 +__m128i test_mm_mask_cvtts_pd_epu32(__m128i W, __mmask8 U, __m128d A){ +// CHECK-LABEL: @test_mm_mask_cvtts_pd_epu32 // CHECK: @llvm.x86.avx10.mask.vcvttpd2udqs.128(<2 x double> - return _mm_mask_cvttspd_epu32(W,U,A); + return _mm_mask_cvtts_pd_epu32(W,U,A); } -__m128i test_mm_maskz_cvttspd_epu32( __mmask8 U, __m128d A){ -// CHECK-LABEL: @test_mm_maskz_cvttspd_epu32 +__m128i test_mm_maskz_cvtts_pd_epu32( __mmask8 U, __m128d A){ +// CHECK-LABEL: @test_mm_maskz_cvtts_pd_epu32 // CHECK: @llvm.x86.avx10.mask.vcvttpd2udqs.128(<2 x double> - return _mm_maskz_cvttspd_epu32(U,A); + return _mm_maskz_cvtts_pd_epu32(U,A); } -__m128i test_mm256_cvttspd_epu32(__m256d A){ -// CHECK-LABEL: @test_mm256_cvttspd_epu32 +__m128i test_mm256_cvtts_pd_epu32(__m256d A){ +// CHECK-LABEL: @test_mm256_cvtts_pd_epu32 // CHECK: @llvm.x86.avx10.mask.vcvttpd2udqs.round.256(<4 x double> - return _mm256_cvttspd_epu32(A); + return _mm256_cvtts_pd_epu32(A); } -__m128i test_mm256_mask_cvttspd_epu32(__m128i W,__mmask8 U, __m256d A){ -// CHECK-LABEL: @test_mm256_mask_cvttspd_epu32 +__m128i test_mm256_mask_cvtts_pd_epu32(__m128i W,__mmask8 U, __m256d A){ +// CHECK-LABEL: @test_mm256_mask_cvtts_pd_epu32 // CHECK: @llvm.x86.avx10.mask.vcvttpd2udqs.round.256(<4 x double> - return _mm256_mask_cvttspd_epu32(W,U,A); + return _mm256_mask_cvtts_pd_epu32(W,U,A); } -__m128i test_mm256_maskz_cvttspd_epu32(__mmask8 U, __m256d A){ -// CHECK-LABEL: @test_mm256_maskz_cvttspd_epu32 +__m128i test_mm256_maskz_cvtts_pd_epu32(__mmask8 U, __m256d A){ +// CHECK-LABEL: @test_mm256_maskz_cvtts_pd_epu32 // CHECK: @llvm.x86.avx10.mask.vcvttpd2udqs.round.256(<4 x double> - return _mm256_maskz_cvttspd_epu32(U,A); + return _mm256_maskz_cvtts_pd_epu32(U,A); } -__m128i test_mm256_cvtts_roundpd_epu32(__m256d A){ -// CHECK-LABEL: @test_mm256_cvtts_roundpd_epu32 -// CHECK: @llvm.x86.avx10.mask.vcvttpd2udqs.round.256(<4 x double> - return _mm256_cvtts_roundpd_epu32(A, _MM_FROUND_NEARBYINT); -} - -__m128i test_mm256_mask_cvtts_roundpd_epu32(__m128i W,__mmask8 U, __m256d A){ -// CHECK-LABEL: @test_mm256_mask_cvtts_roundpd_epu32 -// CHECK: @llvm.x86.avx10.mask.vcvttpd2udqs.round.256(<4 x double> - return _mm256_mask_cvtts_roundpd_epu32(W,U,A,_MM_FROUND_NEARBYINT); -} - -__m128i test_mm256_maskz_cvtts_roundpd_epu32(__mmask8 U, __m256d A){ -// CHECK-LABEL: @test_mm256_maskz_cvtts_roundpd_epu32 -// CHECK: @llvm.x86.avx10.mask.vcvttpd2udqs.round.256(<4 x double> - return _mm256_maskz_cvtts_roundpd_epu32(U,A,_MM_FROUND_NEARBYINT); -} - -__m128i test_mm_cvttsps_epi32(__m128 A){ -// CHECK-LABEL: @test_mm_cvttsps_epi32 +__m128i test_mm_cvtts_ps_epi32(__m128 A){ +// CHECK-LABEL: @test_mm_cvtts_ps_epi32 // CHECK: @llvm.x86.avx10.mask.vcvttps2dqs.128(<4 x float> - return _mm_cvttsps_epi32(A); + return _mm_cvtts_ps_epi32(A); } -__m128i test_mm_mask_cvttsps_epi32(__m128i W, __mmask8 U, __m128 A){ -// CHECK-LABEL: @test_mm_mask_cvttsps_epi32 +__m128i test_mm_mask_cvtts_ps_epi32(__m128i W, __mmask8 U, __m128 A){ +// CHECK-LABEL: @test_mm_mask_cvtts_ps_epi32 // CHECK: @llvm.x86.avx10.mask.vcvttps2dqs.128(<4 x float> - return _mm_mask_cvttsps_epi32(W,U,A); + return _mm_mask_cvtts_ps_epi32(W,U,A); } -__m128i test_mm_maskz_cvttsps_epi32( __mmask8 U, __m128 A){ -// CHECK-LABEL: @test_mm_maskz_cvttsps_epi32 +__m128i test_mm_maskz_cvtts_ps_epi32( __mmask8 U, __m128 A){ +// CHECK-LABEL: @test_mm_maskz_cvtts_ps_epi32 // CHECK: @llvm.x86.avx10.mask.vcvttps2dqs.128(<4 x float> - return _mm_maskz_cvttsps_epi32(U,A); + return _mm_maskz_cvtts_ps_epi32(U,A); } -__m256i test_mm256_cvttsps_epi32(__m256 A){ -// CHECK-LABEL: @test_mm256_cvttsps_epi32 +__m256i test_mm256_cvtts_ps_epi32(__m256 A){ +// CHECK-LABEL: @test_mm256_cvtts_ps_epi32 // CHECK: @llvm.x86.avx10.mask.vcvttps2dqs.round.256(<8 x float> - return _mm256_cvttsps_epi32(A); + return _mm256_cvtts_ps_epi32(A); } -__m256i test_mm256_mask_cvttsps_epi32(__m256i W,__mmask8 U, __m256 A){ -// CHECK-LABEL: @test_mm256_mask_cvttsps_epi32 +__m256i test_mm256_mask_cvtts_ps_epi32(__m256i W,__mmask8 U, __m256 A){ +// CHECK-LABEL: @test_mm256_mask_cvtts_ps_epi32 // CHECK: @llvm.x86.avx10.mask.vcvttps2dqs.round.256(<8 x float> - return _mm256_mask_cvttsps_epi32(W,U,A); + return _mm256_mask_cvtts_ps_epi32(W,U,A); } -__m256i test_mm256_maskz_cvttsps_epi32(__mmask8 U, __m256 A){ -// CHECK-LABEL: @test_mm256_maskz_cvttsps_epi32 +__m256i test_mm256_maskz_cvtts_ps_epi32(__mmask8 U, __m256 A){ +// CHECK-LABEL: @test_mm256_maskz_cvtts_ps_epi32 // CHECK: @llvm.x86.avx10.mask.vcvttps2dqs.round.256(<8 x float> - return _mm256_maskz_cvttsps_epi32(U,A); + return _mm256_maskz_cvtts_ps_epi32(U,A); } -__m256i test_mm256_cvtts_roundps_epi32(__m256 A){ -// CHECK-LABEL: @test_mm256_cvtts_roundps_epi32 -// CHECK: @llvm.x86.avx10.mask.vcvttps2dqs.round.256(<8 x float> - return _mm256_cvtts_roundps_epi32(A, _MM_FROUND_NEARBYINT); -} - -__m256i test_mm256_mask_cvtts_roundps_epi32(__m256i W,__mmask8 U, __m256 A){ -// CHECK-LABEL: @test_mm256_mask_cvtts_roundps_epi32 -// CHECK: @llvm.x86.avx10.mask.vcvttps2dqs.round.256(<8 x float> - return _mm256_mask_cvtts_roundps_epi32(W,U,A,_MM_FROUND_NEARBYINT); -} - -__m256i test_mm256_maskz_cvtts_roundps_epi32(__mmask8 U, __m256 A){ -// CHECK-LABEL: @test_mm256_maskz_cvtts_roundps_epi32 -// CHECK: @llvm.x86.avx10.mask.vcvttps2dqs.round.256(<8 x float> - return _mm256_maskz_cvtts_roundps_epi32(U,A,_MM_FROUND_NEARBYINT); -} - -__m128i test_mm_cvttsps_epu32(__m128 A){ -// CHECK-LABEL: @test_mm_cvttsps_epu32 +__m128i test_mm_cvtts_ps_epu32(__m128 A){ +// CHECK-LABEL: @test_mm_cvtts_ps_epu32 // CHECK: @llvm.x86.avx10.mask.vcvttps2udqs.128(<4 x float> - return _mm_cvttsps_epu32(A); + return _mm_cvtts_ps_epu32(A); } -__m128i test_mm_mask_cvttsps_epu32(__m128i W, __mmask8 U, __m128 A){ -// CHECK-LABEL: @test_mm_mask_cvttsps_epu32 +__m128i test_mm_mask_cvtts_ps_epu32(__m128i W, __mmask8 U, __m128 A){ +// CHECK-LABEL: @test_mm_mask_cvtts_ps_epu32 // CHECK: @llvm.x86.avx10.mask.vcvttps2udqs.128(<4 x float> - return _mm_mask_cvttsps_epu32(W,U,A); + return _mm_mask_cvtts_ps_epu32(W,U,A); } -__m128i test_mm_maskz_cvttsps_epu32( __mmask8 U, __m128 A){ -// CHECK-LABEL: @test_mm_maskz_cvttsps_epu32 +__m128i test_mm_maskz_cvtts_ps_epu32( __mmask8 U, __m128 A){ +// CHECK-LABEL: @test_mm_maskz_cvtts_ps_epu32 // CHECK: @llvm.x86.avx10.mask.vcvttps2udqs.128(<4 x float> - return _mm_maskz_cvttsps_epu32(U,A); -} - -__m256i test_mm256_cvttsps_epu32(__m256 A){ -// CHECK-LABEL: @test_mm256_cvttsps_epu32 -// CHECK: @llvm.x86.avx10.mask.vcvttps2udqs.round.256(<8 x float> - return _mm256_cvttsps_epu32(A); -} - -__m256i test_mm256_mask_cvttsps_epu32(__m256i W,__mmask8 U, __m256 A){ -// CHECK-LABEL: @test_mm256_mask_cvttsps_epu32 -// CHECK: @llvm.x86.avx10.mask.vcvttps2udqs.round.256(<8 x float> - return _mm256_mask_cvttsps_epu32(W,U,A); + return _mm_maskz_cvtts_ps_epu32(U,A); } -__m256i test_mm256_maskz_cvttsps_epu32(__mmask8 U, __m256 A){ -// CHECK-LABEL: @test_mm256_maskz_cvttsps_epu32 +__m256i test_mm256_cvtts_ps_epu32(__m256 A){ +// CHECK-LABEL: @test_mm256_cvtts_ps_epu32 // CHECK: @llvm.x86.avx10.mask.vcvttps2udqs.round.256(<8 x float> - return _mm256_maskz_cvttsps_epu32(U,A); + return _mm256_cvtts_ps_epu32(A); } -__m256i test_mm256_cvtts_roundps_epu32(__m256 A){ -// CHECK-LABEL: @test_mm256_cvtts_roundps_epu32 +__m256i test_mm256_mask_cvtts_ps_epu32(__m256i W,__mmask8 U, __m256 A){ +// CHECK-LABEL: @test_mm256_mask_cvtts_ps_epu32 // CHECK: @llvm.x86.avx10.mask.vcvttps2udqs.round.256(<8 x float> - return _mm256_cvtts_roundps_epu32(A, _MM_FROUND_NEARBYINT); + return _mm256_mask_cvtts_ps_epu32(W,U,A); } -__m256i test_mm256_mask_cvtts_roundps_epu32(__m256i W,__mmask8 U, __m256 A){ -// CHECK-LABEL: @test_mm256_mask_cvtts_roundps_epu32 +__m256i test_mm256_maskz_cvtts_ps_epu32(__mmask8 U, __m256 A){ +// CHECK-LABEL: @test_mm256_maskz_cvtts_ps_epu32 // CHECK: @llvm.x86.avx10.mask.vcvttps2udqs.round.256(<8 x float> - return _mm256_mask_cvtts_roundps_epu32(W,U,A,_MM_FROUND_NEARBYINT); + return _mm256_maskz_cvtts_ps_epu32(U,A); } - -__m256i test_mm256_maskz_cvtts_roundps_epu32(__mmask8 U, __m256 A){ -// CHECK-LABEL: @test_mm256_maskz_cvtts_roundps_epu32 -// CHECK: @llvm.x86.avx10.mask.vcvttps2udqs.round.256(<8 x float> - return _mm256_maskz_cvtts_roundps_epu32(U,A,_MM_FROUND_NEARBYINT); -} - -// X64: {{.*}} -// X86: {{.*}}