[llvm-branch-commits] [clang] [llvm] [X86] Backport new intrinsic and instruction changes in AVX10.2 (PR #133219)
Tom Stellard via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Thu Mar 27 18:49:34 PDT 2025
https://github.com/tstellar updated https://github.com/llvm/llvm-project/pull/133219
>From 74bbc44a73b054e73ccee8db01cc12d436ec08fb Mon Sep 17 00:00:00 2001
From: Phoebe Wang <phoebe.wang at intel.com>
Date: Fri, 21 Mar 2025 04:00:51 +0100
Subject: [PATCH 1/6] [X86][AVX10.2] Use 's_' for saturate-convert intrinsics
(#131592)
- Add '_' after cvt[t]s intrinsics when 's' is for saturation;
- Add 's_' for all ipcvt[t] intrinsics since they are all saturation
ones;
- Move 's' after 'cvt' and add '_' after it for prior `biass`
intrinsics;
This is to solve potential confusion since 's' before a type usually
represents for scalar.
Synced with GCC folks and they will change in the same way.
---
clang/lib/Headers/avx10_2_512convertintrin.h | 46 +-
clang/lib/Headers/avx10_2_512satcvtdsintrin.h | 52 +-
clang/lib/Headers/avx10_2_512satcvtintrin.h | 168 ++---
clang/lib/Headers/avx10_2convertintrin.h | 94 +--
clang/lib/Headers/avx10_2satcvtdsintrin.h | 100 +--
clang/lib/Headers/avx10_2satcvtintrin.h | 272 ++++-----
.../CodeGen/X86/avx10_2_512convert-builtins.c | 108 ++--
.../X86/avx10_2_512satcvt-builtins-error.c | 192 +++---
.../CodeGen/X86/avx10_2_512satcvt-builtins.c | 360 +++++------
.../X86/avx10_2_512satcvtds-builtins-x64.c | 96 +--
.../X86/avx10_2_512satcvtds-builtins.c | 74 +--
.../CodeGen/X86/avx10_2convert-builtins.c | 216 +++----
.../test/CodeGen/X86/avx10_2satcvt-builtins.c | 576 +++++++++---------
.../X86/avx10_2satcvtds-builtins-x64.c | 168 ++---
.../CodeGen/X86/avx10_2satcvtds-builtins.c | 144 ++---
15 files changed, 1339 insertions(+), 1327 deletions(-)
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..a113079446710 100644
--- a/clang/lib/Headers/avx10_2convertintrin.h
+++ b/clang/lib/Headers/avx10_2convertintrin.h
@@ -117,39 +117,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 +195,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 +270,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 +344,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 +449,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 +518,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_2satcvtdsintrin.h b/clang/lib/Headers/avx10_2satcvtdsintrin.h
index 59028436311e7..9dbfed42667ef 100644
--- a/clang/lib/Headers/avx10_2satcvtdsintrin.h
+++ b/clang/lib/Headers/avx10_2satcvtdsintrin.h
@@ -71,39 +71,40 @@
#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));
}
@@ -123,39 +124,40 @@ _mm256_maskz_cvttspd_epi32(__mmask8 __U, __m256d __A) {
(__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));
}
@@ -175,39 +177,40 @@ _mm256_maskz_cvttspd_epu32(__mmask8 __U, __m256d __A) {
(__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));
@@ -227,19 +230,20 @@ _mm256_maskz_cvttspd_epi64(__mmask8 __U, __m256d __A) {
(__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,20 +251,20 @@ _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));
@@ -280,39 +284,39 @@ _mm256_maskz_cvttspd_epu64(__mmask8 __U, __m256d __A) {
(__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));
@@ -333,19 +337,19 @@ _mm256_maskz_cvttsps_epi32(__mmask8 __U, __m256 __A) {
(__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,20 +357,20 @@ _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));
@@ -387,38 +391,38 @@ _mm256_maskz_cvttsps_epu32(__mmask8 __U, __m256 __A) {
(__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));
@@ -439,39 +443,39 @@ _mm256_maskz_cvttsps_epi64(__mmask8 __U, __m128 __A) {
(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));
diff --git a/clang/lib/Headers/avx10_2satcvtintrin.h b/clang/lib/Headers/avx10_2satcvtintrin.h
index d16c60e6382df..f0e6eba4bab81 100644
--- a/clang/lib/Headers/avx10_2satcvtintrin.h
+++ b/clang/lib/Headers/avx10_2satcvtintrin.h
@@ -14,430 +14,430 @@
#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))
+ (__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, \
+ (__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) \
+#define _mm256_ipcvts_roundph_epi8(A, R) \
((__m256i)__builtin_ia32_vcvtph2ibs256_mask((__v16hf)(__m256h)(A), \
(__v16hu)_mm256_setzero_si256(), \
- (__mmask16)-1, (const int)R))
+ (__mmask16) - 1, (const int)R))
-#define _mm256_mask_ipcvt_roundph_epi8(W, U, A, R) \
+#define _mm256_mask_ipcvts_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) \
+#define _mm256_maskz_ipcvts_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))
+ (__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, \
+ (__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) \
+#define _mm256_ipcvts_roundph_epu8(A, R) \
((__m256i)__builtin_ia32_vcvtph2iubs256_mask( \
- (__v16hf)(__m256h)(A), (__v16hu)_mm256_setzero_si256(), (__mmask16)-1, \
+ (__v16hf)(__m256h)(A), (__v16hu)_mm256_setzero_si256(), (__mmask16) - 1, \
(const int)R))
-#define _mm256_mask_ipcvt_roundph_epu8(W, U, A, R) \
+#define _mm256_mask_ipcvts_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) \
+#define _mm256_maskz_ipcvts_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))
+ (__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, \
+ (__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) \
+#define _mm256_ipcvts_roundps_epi8(A, R) \
((__m256i)__builtin_ia32_vcvtps2ibs256_mask((__v8sf)(__m256)(A), \
(__v8su)_mm256_setzero_si256(), \
- (__mmask8)-1, (const int)R))
+ (__mmask8) - 1, (const int)R))
-#define _mm256_mask_ipcvt_roundps_epi8(W, U, A, R) \
+#define _mm256_mask_ipcvts_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) \
+#define _mm256_maskz_ipcvts_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))
+ (__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, \
+ (__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) \
+#define _mm256_ipcvts_roundps_epu8(A, R) \
((__m256i)__builtin_ia32_vcvtps2iubs256_mask((__v8sf)(__m256)(A), \
(__v8su)_mm256_setzero_si256(), \
- (__mmask8)-1, (const int)R))
+ (__mmask8) - 1, (const int)R))
-#define _mm256_mask_ipcvt_roundps_epu8(W, U, A, R) \
+#define _mm256_mask_ipcvts_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) \
+#define _mm256_maskz_ipcvts_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))
+ (__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, \
+ (__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) \
+#define _mm256_ipcvtts_roundph_epi8(A, R) \
((__m256i)__builtin_ia32_vcvttph2ibs256_mask( \
- (__v16hf)(__m256h)(A), (__v16hu)_mm256_setzero_si256(), (__mmask16)-1, \
+ (__v16hf)(__m256h)(A), (__v16hu)_mm256_setzero_si256(), (__mmask16) - 1, \
(const int)R))
-#define _mm256_mask_ipcvtt_roundph_epi8(W, U, A, R) \
+#define _mm256_mask_ipcvtts_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) \
+#define _mm256_maskz_ipcvtts_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))
+ (__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, \
+ (__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) \
+#define _mm256_ipcvtts_roundph_epu8(A, R) \
((__m256i)__builtin_ia32_vcvttph2iubs256_mask( \
- (__v16hf)(__m256h)(A), (__v16hu)_mm256_setzero_si256(), (__mmask16)-1, \
+ (__v16hf)(__m256h)(A), (__v16hu)_mm256_setzero_si256(), (__mmask16) - 1, \
(const int)R))
-#define _mm256_mask_ipcvtt_roundph_epu8(W, U, A, R) \
+#define _mm256_mask_ipcvtts_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) \
+#define _mm256_maskz_ipcvtts_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))
+ (__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, \
+ (__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) \
+#define _mm256_ipcvtts_roundps_epi8(A, R) \
((__m256i)__builtin_ia32_vcvttps2ibs256_mask((__v8sf)(__m256)(A), \
(__v8su)_mm256_setzero_si256(), \
- (__mmask8)-1, (const int)R))
+ (__mmask8) - 1, (const int)R))
-#define _mm256_mask_ipcvtt_roundps_epi8(W, U, A, R) \
+#define _mm256_mask_ipcvtts_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) \
+#define _mm256_maskz_ipcvtts_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))
+ (__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, \
+ (__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) \
+#define _mm256_ipcvtts_roundps_epu8(A, R) \
((__m256i)__builtin_ia32_vcvttps2iubs256_mask( \
- (__v8sf)(__m256)(A), (__v8su)_mm256_setzero_si256(), (__mmask8)-1, \
+ (__v8sf)(__m256)(A), (__v8su)_mm256_setzero_si256(), (__mmask8) - 1, \
(const int)R))
-#define _mm256_mask_ipcvtt_roundps_epu8(W, U, A, R) \
+#define _mm256_mask_ipcvtts_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) \
+#define _mm256_maskz_ipcvtts_roundps_epu8(U, A, R) \
((__m256i)__builtin_ia32_vcvttps2iubs256_mask( \
(__v8sf)(__m256)(A), (__v8su)_mm256_setzero_si256(), (__mmask8)(U), \
(const int)R))
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_512satcvt-builtins-error.c b/clang/test/CodeGen/X86/avx10_2_512satcvt-builtins-error.c
index 81bf59153e678..64a16de3b5f61 100755
--- a/clang/test/CodeGen/X86/avx10_2_512satcvt-builtins-error.c
+++ b/clang/test/CodeGen/X86/avx10_2_512satcvt-builtins-error.c
@@ -5,194 +5,194 @@
#include <immintrin.h>
-__m512i test_mm512_ipcvt_roundph_epi8(__m512h __A) {
- return _mm512_ipcvt_roundph_epi8(__A, 22); // expected-error {{invalid rounding argument}}
+__m512i test_mm512_ipcvts_roundph_epi8(__m512h __A) {
+ return _mm512_ipcvts_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_mask_ipcvts_roundph_epi8(__m512i __S, __mmask32 __A, __m512h __B) {
+ return _mm512_mask_ipcvts_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_maskz_ipcvts_roundph_epi8(__mmask32 __A, __m512h __B) {
+ return _mm512_maskz_ipcvts_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_ipcvts_roundph_epu8(__m512h __A) {
+ return _mm512_ipcvts_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_mask_ipcvts_roundph_epu8(__m512i __S, __mmask32 __A, __m512h __B) {
+ return _mm512_mask_ipcvts_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_maskz_ipcvts_roundph_epu8(__mmask32 __A, __m512h __B) {
+ return _mm512_maskz_ipcvts_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_ipcvts_roundps_epi8(__m512 __A) {
+ return _mm512_ipcvts_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_mask_ipcvts_roundps_epi8(__m512i __S, __mmask16 __A, __m512 __B) {
+ return _mm512_mask_ipcvts_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_maskz_ipcvts_roundps_epi8(__mmask16 __A, __m512 __B) {
+ return _mm512_maskz_ipcvts_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_ipcvts_roundps_epu8(__m512 __A) {
+ return _mm512_ipcvts_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_mask_ipcvts_roundps_epu8(__m512i __S, __mmask16 __A, __m512 __B) {
+ return _mm512_mask_ipcvts_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_maskz_ipcvts_roundps_epu8(__mmask16 __A, __m512 __B) {
+ return _mm512_maskz_ipcvts_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_ipcvtts_roundph_epi8(__m512h __A) {
+ return _mm512_ipcvtts_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_mask_ipcvtts_roundph_epi8(__m512i __S, __mmask32 __A, __m512h __B) {
+ return _mm512_mask_ipcvtts_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_maskz_ipcvtts_roundph_epi8(__mmask32 __A, __m512h __B) {
+ return _mm512_maskz_ipcvtts_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_ipcvtts_roundph_epu8(__m512h __A) {
+ return _mm512_ipcvtts_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_mask_ipcvtts_roundph_epu8(__m512i __S, __mmask32 __A, __m512h __B) {
+ return _mm512_mask_ipcvtts_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_maskz_ipcvtts_roundph_epu8(__mmask32 __A, __m512h __B) {
+ return _mm512_maskz_ipcvtts_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_ipcvtts_roundps_epi8(__m512 __A) {
+ return _mm512_ipcvtts_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_mask_ipcvtts_roundps_epi8(__m512i __S, __mmask16 __A, __m512 __B) {
+ return _mm512_mask_ipcvtts_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_maskz_ipcvtts_roundps_epi8(__mmask16 __A, __m512 __B) {
+ return _mm512_maskz_ipcvtts_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_ipcvtts_roundps_epu8(__m512 __A) {
+ return _mm512_ipcvtts_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_mask_ipcvtts_roundps_epu8(__m512i __S, __mmask16 __A, __m512 __B) {
+ return _mm512_mask_ipcvtts_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}}
+__m512i test_mm512_maskz_ipcvtts_roundps_epu8(__mmask16 __A, __m512 __B) {
+ return _mm512_maskz_ipcvtts_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_ipcvts_roundph_epi8(__m256h __A) {
+ return _mm256_ipcvts_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_mask_ipcvts_roundph_epi8(__m256i __S, __mmask16 __A, __m256h __B) {
+ return _mm256_mask_ipcvts_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_maskz_ipcvts_roundph_epi8(__mmask16 __A, __m256h __B) {
+ return _mm256_maskz_ipcvts_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_ipcvts_roundph_epu8(__m256h __A) {
+ return _mm256_ipcvts_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_mask_ipcvts_roundph_epu8(__m256i __S, __mmask16 __A, __m256h __B) {
+ return _mm256_mask_ipcvts_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_maskz_ipcvts_roundph_epu8(__mmask16 __A, __m256h __B) {
+ return _mm256_maskz_ipcvts_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_ipcvts_roundps_epi8(__m256 __A) {
+ return _mm256_ipcvts_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_mask_ipcvts_roundps_epi8(__m256i __S, __mmask8 __A, __m256 __B) {
+ return _mm256_mask_ipcvts_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_maskz_ipcvts_roundps_epi8(__mmask8 __A, __m256 __B) {
+ return _mm256_maskz_ipcvts_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_ipcvts_roundps_epu8(__m256 __A) {
+ return _mm256_ipcvts_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_mask_ipcvts_roundps_epu8(__m256i __S, __mmask8 __A, __m256 __B) {
+ return _mm256_mask_ipcvts_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_maskz_ipcvts_roundps_epu8(__mmask8 __A, __m256 __B) {
+ return _mm256_maskz_ipcvts_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_ipcvtts_roundph_epi8(__m256h __A) {
+ return _mm256_ipcvtts_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_mask_ipcvtts_roundph_epi8(__m256i __S, __mmask16 __A, __m256h __B) {
+ return _mm256_mask_ipcvtts_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_maskz_ipcvtts_roundph_epi8(__mmask16 __A, __m256h __B) {
+ return _mm256_maskz_ipcvtts_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_ipcvtts_roundph_epu8(__m256h __A) {
+ return _mm256_ipcvtts_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_mask_ipcvtts_roundph_epu8(__m256i __S, __mmask16 __A, __m256h __B) {
+ return _mm256_mask_ipcvtts_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_maskz_ipcvtts_roundph_epu8(__mmask16 __A, __m256h __B) {
+ return _mm256_maskz_ipcvtts_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_ipcvtts_roundps_epi8(__m256 __A) {
+ return _mm256_ipcvtts_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_mask_ipcvtts_roundps_epi8(__m256i __S, __mmask8 __A, __m256 __B) {
+ return _mm256_mask_ipcvtts_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_maskz_ipcvtts_roundps_epi8(__mmask8 __A, __m256 __B) {
+ return _mm256_maskz_ipcvtts_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_ipcvtts_roundps_epu8(__m256 __A) {
+ return _mm256_ipcvtts_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_mask_ipcvtts_roundps_epu8(__m256i __S, __mmask8 __A, __m256 __B) {
+ return _mm256_mask_ipcvtts_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}}
+__m256i test_mm256_maskz_ipcvtts_roundps_epu8(__mmask8 __A, __m256 __B) {
+ return _mm256_maskz_ipcvtts_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 <immintrin.h>
-__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 <immintrin.h>
#include <stddef.h>
-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 <immintrin.h>
#include <stddef.h>
-__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..92ce2ec7e7846 100644
--- a/clang/test/CodeGen/X86/avx10_2convert-builtins.c
+++ b/clang/test/CodeGen/X86/avx10_2convert-builtins.c
@@ -95,40 +95,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 +167,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 +247,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 +335,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 +451,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 +523,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_2satcvt-builtins.c b/clang/test/CodeGen/X86/avx10_2satcvt-builtins.c
index 7c5fc087b9da4..8d0e473fed32a 100644
--- a/clang/test/CodeGen/X86/avx10_2satcvt-builtins.c
+++ b/clang/test/CodeGen/X86/avx10_2satcvt-builtins.c
@@ -5,599 +5,599 @@
#include <immintrin.h>
-__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(
+__m256i test_mm256_ipcvts_roundph_epi8(__m256h __A) {
+ // CHECK-LABEL: @test_mm256_ipcvts_roundph_epi8(
// CHECK: @llvm.x86.avx10.mask.vcvtph2ibs256
- return _mm256_ipcvt_roundph_epi8(__A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC);
+ return _mm256_ipcvts_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(
+__m256i test_mm256_mask_ipcvts_roundph_epi8(__m256i __S, __mmask16 __A, __m256h __B) {
+ // CHECK-LABEL: @test_mm256_mask_ipcvts_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);
+ return _mm256_mask_ipcvts_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(
+__m256i test_mm256_maskz_ipcvts_roundph_epi8(__mmask16 __A, __m256h __B) {
+ // CHECK-LABEL: @test_mm256_maskz_ipcvts_roundph_epi8(
// CHECK: @llvm.x86.avx10.mask.vcvtph2ibs256
- return _mm256_maskz_ipcvt_roundph_epi8(__A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC);
+ return _mm256_maskz_ipcvts_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);
+ return _mm_maskz_ipcvts_ph_epu8(__A, __B);
}
-__m256i test_mm256_ipcvtph_epu8(__m256h __A) {
- // CHECK-LABEL: @test_mm256_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_ipcvtph_epu8(__A);
+ return _mm256_ipcvts_ph_epu8(__A);
}
-__m256i test_mm256_mask_ipcvtph_epu8(__m256i __S, __mmask16 __A, __m256h __B) {
- // CHECK-LABEL: @test_mm256_mask_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_mask_ipcvtph_epu8(__S, __A, __B);
+ return _mm256_mask_ipcvts_ph_epu8(__S, __A, __B);
}
-__m256i test_mm256_maskz_ipcvtph_epu8(__mmask16 __A, __m256h __B) {
- // CHECK-LABEL: @test_mm256_maskz_ipcvtph_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_maskz_ipcvtph_epu8(__A, __B);
+ return _mm256_maskz_ipcvts_ph_epu8(__A, __B);
}
-__m256i test_mm256_ipcvt_roundph_epu8(__m256h __A) {
- // CHECK-LABEL: @test_mm256_ipcvt_roundph_epu8(
+__m256i test_mm256_ipcvts_roundph_epu8(__m256h __A) {
+ // CHECK-LABEL: @test_mm256_ipcvts_roundph_epu8(
// CHECK: @llvm.x86.avx10.mask.vcvtph2iubs256
- return _mm256_ipcvt_roundph_epu8(__A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC);
+ return _mm256_ipcvts_roundph_epu8(__A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC);
}
-__m256i test_mm256_mask_ipcvt_roundph_epu8(__m256i __S, __mmask16 __A, __m256h __B) {
- // CHECK-LABEL: @test_mm256_mask_ipcvt_roundph_epu8(
+__m256i test_mm256_mask_ipcvts_roundph_epu8(__m256i __S, __mmask16 __A, __m256h __B) {
+ // CHECK-LABEL: @test_mm256_mask_ipcvts_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);
+ return _mm256_mask_ipcvts_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(
+__m256i test_mm256_maskz_ipcvts_roundph_epu8(__mmask16 __A, __m256h __B) {
+ // CHECK-LABEL: @test_mm256_maskz_ipcvts_roundph_epu8(
// CHECK: @llvm.x86.avx10.mask.vcvtph2iubs256
- return _mm256_maskz_ipcvt_roundph_epu8(__A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC);
+ return _mm256_maskz_ipcvts_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(
+__m256i test_mm256_ipcvts_roundps_epi8(__m256 __A) {
+ // CHECK-LABEL: @test_mm256_ipcvts_roundps_epi8(
// CHECK: @llvm.x86.avx10.mask.vcvtps2ibs256
- return _mm256_ipcvt_roundps_epi8(__A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC);
+ return _mm256_ipcvts_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(
+__m256i test_mm256_mask_ipcvts_roundps_epi8(__m256i __S, __mmask8 __A, __m256 __B) {
+ // CHECK-LABEL: @test_mm256_mask_ipcvts_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);
+ return _mm256_mask_ipcvts_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(
+__m256i test_mm256_maskz_ipcvts_roundps_epi8(__mmask8 __A, __m256 __B) {
+ // CHECK-LABEL: @test_mm256_maskz_ipcvts_roundps_epi8(
// CHECK: @llvm.x86.avx10.mask.vcvtps2ibs256
- return _mm256_maskz_ipcvt_roundps_epi8(__A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC);
+ return _mm256_maskz_ipcvts_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(
+__m256i test_mm256_ipcvts_roundps_epu8(__m256 __A) {
+ // CHECK-LABEL: @test_mm256_ipcvts_roundps_epu8(
// CHECK: @llvm.x86.avx10.mask.vcvtps2iubs256
- return _mm256_ipcvt_roundps_epu8(__A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC);
+ return _mm256_ipcvts_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(
+__m256i test_mm256_mask_ipcvts_roundps_epu8(__m256i __S, __mmask8 __A, __m256 __B) {
+ // CHECK-LABEL: @test_mm256_mask_ipcvts_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);
+ return _mm256_mask_ipcvts_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(
+__m256i test_mm256_maskz_ipcvts_roundps_epu8(__mmask8 __A, __m256 __B) {
+ // CHECK-LABEL: @test_mm256_maskz_ipcvts_roundps_epu8(
// CHECK: @llvm.x86.avx10.mask.vcvtps2iubs256
- return _mm256_maskz_ipcvt_roundps_epu8(__A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC);
+ return _mm256_maskz_ipcvts_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);
+ return _mm_maskz_ipcvtts_ph_epi8(__A, __B);
}
-__m256i test_mm256_ipcvttph_epi8(__m256h __A) {
- // CHECK-LABEL: @test_mm256_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_ipcvttph_epi8(__A);
+ return _mm256_ipcvtts_ph_epi8(__A);
}
-__m256i test_mm256_mask_ipcvttph_epi8(__m256i __S, __mmask16 __A, __m256h __B) {
- // CHECK-LABEL: @test_mm256_mask_ipcvttph_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_mask_ipcvttph_epi8(__S, __A, __B);
+ return _mm256_mask_ipcvtts_ph_epi8(__S, __A, __B);
}
-__m256i test_mm256_maskz_ipcvttph_epi8(__mmask16 __A, __m256h __B) {
- // CHECK-LABEL: @test_mm256_maskz_ipcvttph_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_maskz_ipcvttph_epi8(__A, __B);
+ return _mm256_maskz_ipcvtts_ph_epi8(__A, __B);
}
-__m256i test_mm256_ipcvtt_roundph_epi8(__m256h __A) {
- // CHECK-LABEL: @test_mm256_ipcvtt_roundph_epi8(
+__m256i test_mm256_ipcvtts_roundph_epi8(__m256h __A) {
+ // CHECK-LABEL: @test_mm256_ipcvtts_roundph_epi8(
// CHECK: @llvm.x86.avx10.mask.vcvttph2ibs256
- return _mm256_ipcvtt_roundph_epi8(__A, _MM_FROUND_NO_EXC);
+ return _mm256_ipcvtts_roundph_epi8(__A, _MM_FROUND_NO_EXC);
}
-__m256i test_mm256_mask_ipcvtt_roundph_epi8(__m256i __S, __mmask16 __A, __m256h __B) {
- // CHECK-LABEL: @test_mm256_mask_ipcvtt_roundph_epi8(
+__m256i test_mm256_mask_ipcvtts_roundph_epi8(__m256i __S, __mmask16 __A, __m256h __B) {
+ // CHECK-LABEL: @test_mm256_mask_ipcvtts_roundph_epi8(
// CHECK: @llvm.x86.avx10.mask.vcvttph2ibs256
- return _mm256_mask_ipcvtt_roundph_epi8(__S, __A, __B, _MM_FROUND_NO_EXC);
+ return _mm256_mask_ipcvtts_roundph_epi8(__S, __A, __B, _MM_FROUND_NO_EXC);
}
-__m256i test_mm256_maskz_ipcvtt_roundph_epi8(__mmask16 __A, __m256h __B) {
- // CHECK-LABEL: @test_mm256_maskz_ipcvtt_roundph_epi8(
+__m256i test_mm256_maskz_ipcvtts_roundph_epi8(__mmask16 __A, __m256h __B) {
+ // CHECK-LABEL: @test_mm256_maskz_ipcvtts_roundph_epi8(
// CHECK: @llvm.x86.avx10.mask.vcvttph2ibs256
- return _mm256_maskz_ipcvtt_roundph_epi8(__A, __B, _MM_FROUND_NO_EXC);
+ return _mm256_maskz_ipcvtts_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);
+ return _mm_maskz_ipcvtts_ph_epu8(__A, __B);
}
-__m256i test_mm256_ipcvttph_epu8(__m256h __A) {
- // CHECK-LABEL: @test_mm256_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_ipcvttph_epu8(__A);
+ return _mm256_ipcvtts_ph_epu8(__A);
}
-__m256i test_mm256_mask_ipcvttph_epu8(__m256i __S, __mmask16 __A, __m256h __B) {
- // CHECK-LABEL: @test_mm256_mask_ipcvttph_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_mask_ipcvttph_epu8(__S, __A, __B);
+ return _mm256_mask_ipcvtts_ph_epu8(__S, __A, __B);
}
-__m256i test_mm256_maskz_ipcvttph_epu8(__mmask16 __A, __m256h __B) {
- // CHECK-LABEL: @test_mm256_maskz_ipcvttph_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_maskz_ipcvttph_epu8(__A, __B);
+ return _mm256_maskz_ipcvtts_ph_epu8(__A, __B);
}
-__m256i test_mm256_ipcvtt_roundph_epu8(__m256h __A) {
- // CHECK-LABEL: @test_mm256_ipcvtt_roundph_epu8(
+__m256i test_mm256_ipcvtts_roundph_epu8(__m256h __A) {
+ // CHECK-LABEL: @test_mm256_ipcvtts_roundph_epu8(
// CHECK: @llvm.x86.avx10.mask.vcvttph2iubs256
- return _mm256_ipcvtt_roundph_epu8(__A, _MM_FROUND_NO_EXC);
+ return _mm256_ipcvtts_roundph_epu8(__A, _MM_FROUND_NO_EXC);
}
-__m256i test_mm256_mask_ipcvtt_roundph_epu8(__m256i __S, __mmask16 __A, __m256h __B) {
- // CHECK-LABEL: @test_mm256_mask_ipcvtt_roundph_epu8(
+__m256i test_mm256_mask_ipcvtts_roundph_epu8(__m256i __S, __mmask16 __A, __m256h __B) {
+ // CHECK-LABEL: @test_mm256_mask_ipcvtts_roundph_epu8(
// CHECK: @llvm.x86.avx10.mask.vcvttph2iubs256
- return _mm256_mask_ipcvtt_roundph_epu8(__S, __A, __B, _MM_FROUND_NO_EXC);
+ return _mm256_mask_ipcvtts_roundph_epu8(__S, __A, __B, _MM_FROUND_NO_EXC);
}
-__m256i test_mm256_maskz_ipcvtt_roundph_epu8(__mmask16 __A, __m256h __B) {
- // CHECK-LABEL: @test_mm256_maskz_ipcvtt_roundph_epu8(
+__m256i test_mm256_maskz_ipcvtts_roundph_epu8(__mmask16 __A, __m256h __B) {
+ // CHECK-LABEL: @test_mm256_maskz_ipcvtts_roundph_epu8(
// CHECK: @llvm.x86.avx10.mask.vcvttph2iubs256
- return _mm256_maskz_ipcvtt_roundph_epu8(__A, __B, _MM_FROUND_NO_EXC);
+ return _mm256_maskz_ipcvtts_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(
+__m256i test_mm256_ipcvtts_roundps_epi8(__m256 __A) {
+ // CHECK-LABEL: @test_mm256_ipcvtts_roundps_epi8(
// CHECK: @llvm.x86.avx10.mask.vcvttps2ibs256
- return _mm256_ipcvtt_roundps_epi8(__A, _MM_FROUND_NO_EXC);
+ return _mm256_ipcvtts_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(
+__m256i test_mm256_mask_ipcvtts_roundps_epi8(__m256i __S, __mmask8 __A, __m256 __B) {
+ // CHECK-LABEL: @test_mm256_mask_ipcvtts_roundps_epi8(
// CHECK: @llvm.x86.avx10.mask.vcvttps2ibs256
- return _mm256_mask_ipcvtt_roundps_epi8(__S, __A, __B, _MM_FROUND_NO_EXC);
+ return _mm256_mask_ipcvtts_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(
+__m256i test_mm256_maskz_ipcvtts_roundps_epi8(__mmask8 __A, __m256 __B) {
+ // CHECK-LABEL: @test_mm256_maskz_ipcvtts_roundps_epi8(
// CHECK: @llvm.x86.avx10.mask.vcvttps2ibs256
- return _mm256_maskz_ipcvtt_roundps_epi8(__A, __B, _MM_FROUND_NO_EXC);
+ return _mm256_maskz_ipcvtts_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);
+ return _mm_maskz_ipcvtts_ps_epu8(__A, __B);
}
-__m256i test_mm256_ipcvttps_epu8(__m256 __A) {
- // CHECK-LABEL: @test_mm256_ipcvttps_epu8(
+__m256i test_mm256_ipcvtts_ps_epu8(__m256 __A) {
+ // CHECK-LABEL: @test_mm256_ipcvtts_ps_epu8(
// CHECK: @llvm.x86.avx10.mask.vcvttps2iubs256
- return _mm256_ipcvttps_epu8(__A);
+ return _mm256_ipcvtts_ps_epu8(__A);
}
-__m256i test_mm256_mask_ipcvttps_epu8(__m256i __S, __mmask8 __A, __m256 __B) {
- // CHECK-LABEL: @test_mm256_mask_ipcvttps_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_ipcvttps_epu8(__S, __A, __B);
+ return _mm256_mask_ipcvtts_ps_epu8(__S, __A, __B);
}
-__m256i test_mm256_maskz_ipcvttps_epu8(__mmask8 __A, __m256 __B) {
- // CHECK-LABEL: @test_mm256_maskz_ipcvttps_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_ipcvttps_epu8(__A, __B);
+ return _mm256_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_roundps_epu8(__m256 __A) {
+ // CHECK-LABEL: @test_mm256_ipcvtts_roundps_epu8(
// CHECK: @llvm.x86.avx10.mask.vcvttps2iubs256
- return _mm256_ipcvtt_roundps_epu8(__A, _MM_FROUND_NO_EXC);
+ return _mm256_ipcvtts_roundps_epu8(__A, _MM_FROUND_NO_EXC);
}
-__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_roundps_epu8(__m256i __S, __mmask8 __A, __m256 __B) {
+ // CHECK-LABEL: @test_mm256_mask_ipcvtts_roundps_epu8(
// CHECK: @llvm.x86.avx10.mask.vcvttps2iubs256
- return _mm256_mask_ipcvtt_roundps_epu8(__S, __A, __B, _MM_FROUND_NO_EXC);
+ return _mm256_mask_ipcvtts_roundps_epu8(__S, __A, __B, _MM_FROUND_NO_EXC);
}
-__m256i test_mm256_maskz_ipcvtt_roundps_epu8(__mmask8 __A, __m256 __B) {
- // CHECK-LABEL: @test_mm256_maskz_ipcvtt_roundps_epu8(
+__m256i test_mm256_maskz_ipcvtts_roundps_epu8(__mmask8 __A, __m256 __B) {
+ // CHECK-LABEL: @test_mm256_maskz_ipcvtts_roundps_epu8(
// CHECK: @llvm.x86.avx10.mask.vcvttps2iubs256
- return _mm256_maskz_ipcvtt_roundps_epu8(__A, __B, _MM_FROUND_NO_EXC);
+ return _mm256_maskz_ipcvtts_roundps_epu8(__A, __B, _MM_FROUND_NO_EXC);
}
diff --git a/clang/test/CodeGen/X86/avx10_2satcvtds-builtins-x64.c b/clang/test/CodeGen/X86/avx10_2satcvtds-builtins-x64.c
index 00384731a51f7..73eeb8484efb8 100644
--- a/clang/test/CodeGen/X86/avx10_2satcvtds-builtins-x64.c
+++ b/clang/test/CodeGen/X86/avx10_2satcvtds-builtins-x64.c
@@ -5,97 +5,97 @@
// 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){
@@ -116,22 +116,22 @@ __m256i test_mm256_maskz_cvtts_roundpd_epi64(__mmask8 U, __m256d A){
return _mm256_maskz_cvtts_roundpd_epi64(U,A,_MM_FROUND_NEARBYINT );
}
-__m256i test_mm256_cvttspd_epu64(__m256d A){
-// CHECK-LABEL: @test_mm256_cvttspd_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_cvttspd_epu64(A);
+ return _mm256_cvtts_pd_epu64(A);
}
-__m256i test_mm256_mask_cvttspd_epu64(__m256i W,__mmask8 U, __m256d A){
-// CHECK-LABEL: @test_mm256_mask_cvttspd_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_cvttspd_epu64(W,U, A);
+ return _mm256_mask_cvtts_pd_epu64(W,U, A);
}
-__m256i test_mm256_maskz_cvttspd_epu64(__mmask8 U, __m256d A){
-// CHECK-LABEL: @test_mm256_maskz_cvttspd_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_cvttspd_epu64(U, A);
+ return _mm256_maskz_cvtts_pd_epu64(U, A);
}
__m256i test_mm256_cvtts_roundpd_epu64(__m256d A){
@@ -153,58 +153,58 @@ __m256i test_mm256_maskz_cvtts_roundpd_epu64(__mmask8 U, __m256d 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);
+ return _mm256_maskz_cvtts_ps_epi64(U, A);
}
__m256i test_mm256_cvtts_roundps_epi64(__m128 A){
@@ -225,22 +225,22 @@ __m256i test_mm256_maskz_cvtts_roundps_epi64(__mmask8 U, __m128 A){
return _mm256_maskz_cvtts_roundps_epi64(U,A,_MM_FROUND_NEARBYINT );
}
-__m256i test_mm256_cvttsps_epu64(__m128 A){
-// CHECK-LABEL: @test_mm256_cvttsps_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_cvttsps_epu64(A);
+ return _mm256_cvtts_ps_epu64(A);
}
-__m256i test_mm256_mask_cvttsps_epu64(__m256i W,__mmask8 U, __m128 A){
-// CHECK-LABEL: @test_mm256_mask_cvttsps_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_cvttsps_epu64(W,U, A);
+ return _mm256_mask_cvtts_ps_epu64(W,U, A);
}
-__m256i test_mm256_maskz_cvttsps_epu64(__mmask8 U, __m128 A){
-// CHECK-LABEL: @test_mm256_maskz_cvttsps_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_cvttsps_epu64(U, A);
+ return _mm256_maskz_cvtts_ps_epu64(U, A);
}
__m256i test_mm256_cvtts_roundps_epu64(__m128 A){
diff --git a/clang/test/CodeGen/X86/avx10_2satcvtds-builtins.c b/clang/test/CodeGen/X86/avx10_2satcvtds-builtins.c
index bb90f6a086fa2..e23a9b8d5cb3c 100644
--- a/clang/test/CodeGen/X86/avx10_2satcvtds-builtins.c
+++ b/clang/test/CodeGen/X86/avx10_2satcvtds-builtins.c
@@ -4,40 +4,40 @@
#include <immintrin.h>
#include <stddef.h>
-__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){
@@ -58,41 +58,41 @@ __m128i test_mm256_maskz_cvtts_roundpd_epi32(__mmask8 U, __m256d A){
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){
@@ -113,40 +113,40 @@ __m128i test_mm256_maskz_cvtts_roundpd_epu32(__mmask8 U, __m256d A){
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){
@@ -167,40 +167,40 @@ __m256i test_mm256_maskz_cvtts_roundps_epi32(__mmask8 U, __m256 A){
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);
+ return _mm_maskz_cvtts_ps_epu32(U,A);
}
-__m256i test_mm256_cvttsps_epu32(__m256 A){
-// CHECK-LABEL: @test_mm256_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_cvttsps_epu32(A);
+ return _mm256_cvtts_ps_epu32(A);
}
-__m256i test_mm256_mask_cvttsps_epu32(__m256i W,__mmask8 U, __m256 A){
-// CHECK-LABEL: @test_mm256_mask_cvttsps_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_mask_cvttsps_epu32(W,U,A);
+ return _mm256_mask_cvtts_ps_epu32(W,U,A);
}
-__m256i test_mm256_maskz_cvttsps_epu32(__mmask8 U, __m256 A){
-// CHECK-LABEL: @test_mm256_maskz_cvttsps_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_maskz_cvttsps_epu32(U,A);
+ return _mm256_maskz_cvtts_ps_epu32(U,A);
}
__m256i test_mm256_cvtts_roundps_epu32(__m256 A){
>From 3cad49742b9e4f951c40d5093da863a6c44f0cf6 Mon Sep 17 00:00:00 2001
From: Phoebe Wang <phoebe.wang at intel.com>
Date: Fri, 21 Mar 2025 13:12:57 +0100
Subject: [PATCH 2/6] Revert "[X86][AVX10.2] Support YMM rounding new
instructions (#101825)" (#132362)
This reverts commit 0dba5381d8c8e4cadc32a067bf2fe5e3486ae53d.
YMM rounding was removed from AVX10 whitepaper. Ref:
https://cdrdv2.intel.com/v1/dl/getContent/784343
The MINMAX and SATURATING CONVERT instructions will be removed as a
follow up.
---
clang/include/clang/Basic/BuiltinsX86.td | 126 -
clang/lib/CodeGen/CGBuiltin.cpp | 120 -
clang/lib/Headers/avx10_2niintrin.h | 1666 -------
clang/lib/Sema/SemaX86.cpp | 139 -
clang/test/CodeGen/X86/avx10_2ni-builtins.c | 2405 ---------
llvm/include/llvm/IR/IntrinsicsX86.td | 436 --
.../X86/Disassembler/X86Disassembler.cpp | 2 +-
llvm/lib/Target/X86/X86InstrAVX10.td | 288 --
llvm/lib/Target/X86/X86InstrAVX512.td | 8 +-
llvm/lib/Target/X86/X86InstrFMA3Info.cpp | 9 +-
llvm/lib/Target/X86/X86IntrinsicsInfo.h | 183 -
llvm/test/CodeGen/X86/avx10_2ni-intrinsics.ll | 4393 -----------------
.../test/MC/Disassembler/X86/avx10_2ni-32.txt | 1778 -------
.../test/MC/Disassembler/X86/avx10_2ni-64.txt | 1778 -------
llvm/test/MC/X86/avx10_2ni-32-intel.s | 1778 -------
llvm/test/MC/X86/avx10_2ni-64-att.s | 1778 -------
16 files changed, 8 insertions(+), 16879 deletions(-)
diff --git a/clang/include/clang/Basic/BuiltinsX86.td b/clang/include/clang/Basic/BuiltinsX86.td
index 572ac7235be02..409902ad68216 100644
--- a/clang/include/clang/Basic/BuiltinsX86.td
+++ b/clang/include/clang/Basic/BuiltinsX86.td
@@ -4558,132 +4558,6 @@ let Features = "avx10.2-512", Attributes = [NoThrow, Const, RequiredVectorWidth<
def mpsadbw512 : X86Builtin<"_Vector<32, short>(_Vector<64, char>, _Vector<64, char>, _Constant char)">;
}
-let Features = "avx10.2-256", Attributes = [NoThrow, RequiredVectorWidth<256>] in {
- def vaddpd256_round : X86Builtin<"_Vector<4, double>(_Vector<4, double>, _Vector<4, double>, _Constant int)">;
- def vaddph256_round : X86Builtin<"_Vector<16, _Float16>(_Vector<16, _Float16>, _Vector<16, _Float16>, _Constant int)">;
- def vaddps256_round : X86Builtin<"_Vector<8, float>(_Vector<8, float>, _Vector<8, float>, _Constant int)">;
- def vcmppd256_round_mask : X86Builtin<"unsigned char(_Vector<4, double>, _Vector<4, double>, _Constant int, unsigned char, _Constant int)">;
- def vcmpph256_round_mask : X86Builtin<"unsigned short(_Vector<16, _Float16>, _Vector<16, _Float16>, _Constant int, unsigned short, _Constant int)">;
- def vcmpps256_round_mask : X86Builtin<"unsigned char(_Vector<8, float>, _Vector<8, float>, _Constant int, unsigned char, _Constant int)">;
- def vcvtdq2ph256_round_mask : X86Builtin<"_Vector<8, _Float16>(_Vector<8, int>, _Vector<8, _Float16>, unsigned char, _Constant int)">;
- def vcvtdq2ps256_round_mask : X86Builtin<"_Vector<8, float>(_Vector<8, int>, _Vector<8, float>, unsigned char, _Constant int)">;
- def vcvtpd2dq256_round_mask : X86Builtin<"_Vector<4, int>(_Vector<4, double>, _Vector<4, int>, unsigned char, _Constant int)">;
- def vcvtpd2ph256_round_mask : X86Builtin<"_Vector<8, _Float16>(_Vector<4, double>, _Vector<8, _Float16>, unsigned char, _Constant int)">;
- def vcvtpd2ps256_round_mask : X86Builtin<"_Vector<4, float>(_Vector<4, double>, _Vector<4, float>, unsigned char, _Constant int)">;
- def vcvtpd2qq256_round_mask : X86Builtin<"_Vector<4, long long int>(_Vector<4, double>, _Vector<4, long long int>, unsigned char, _Constant int)">;
- def vcvtpd2udq256_round_mask : X86Builtin<"_Vector<4, unsigned int>(_Vector<4, double>, _Vector<4, unsigned int>, unsigned char, _Constant int)">;
- def vcvtpd2uqq256_round_mask : X86Builtin<"_Vector<4, unsigned long long int>(_Vector<4, double>, _Vector<4, unsigned long long int>, unsigned char, _Constant int)">;
- def vcvtph2dq256_round_mask : X86Builtin<"_Vector<8, int>(_Vector<8, _Float16>, _Vector<8, int>, unsigned char, _Constant int)">;
- def vcvtph2pd256_round_mask : X86Builtin<"_Vector<4, double>(_Vector<8, _Float16>, _Vector<4, double>, unsigned char, _Constant int)">;
- def vcvtph2psx256_round_mask : X86Builtin<"_Vector<8, float>(_Vector<8, _Float16>, _Vector<8, float>, unsigned char, _Constant int)">;
- def vcvtph2qq256_round_mask : X86Builtin<"_Vector<4, long long int>(_Vector<8, _Float16>, _Vector<4, long long int>, unsigned char, _Constant int)">;
- def vcvtph2udq256_round_mask : X86Builtin<"_Vector<8, unsigned int>(_Vector<8, _Float16>, _Vector<8, unsigned int>, unsigned char, _Constant int)">;
- def vcvtph2uqq256_round_mask : X86Builtin<"_Vector<4, unsigned long long int>(_Vector<8, _Float16>, _Vector<4, unsigned long long int>, unsigned char, _Constant int)">;
- def vcvtph2uw256_round_mask : X86Builtin<"_Vector<16, unsigned short>(_Vector<16, _Float16>, _Vector<16, unsigned short>, unsigned short, _Constant int)">;
- def vcvtph2w256_round_mask : X86Builtin<"_Vector<16, short>(_Vector<16, _Float16>, _Vector<16, short>, unsigned short, _Constant int)">;
- def vcvtps2dq256_round_mask : X86Builtin<"_Vector<8, int>(_Vector<8, float>, _Vector<8, int>, unsigned char, _Constant int)">;
- def vcvtps2pd256_round_mask : X86Builtin<"_Vector<4, double>(_Vector<4, float>, _Vector<4, double>, unsigned char, _Constant int)">;
- def vcvtps2phx256_round_mask : X86Builtin<"_Vector<8, _Float16>(_Vector<8, float>, _Vector<8, _Float16>, unsigned char, _Constant int)">;
- def vcvtps2qq256_round_mask : X86Builtin<"_Vector<4, long long int>(_Vector<4, float>, _Vector<4, long long int>, unsigned char, _Constant int)">;
- def vcvtps2udq256_round_mask : X86Builtin<"_Vector<8, unsigned int>(_Vector<8, float>, _Vector<8, unsigned int>, unsigned char, _Constant int)">;
- def vcvtps2uqq256_round_mask : X86Builtin<"_Vector<4, unsigned long long int>(_Vector<4, float>, _Vector<4, unsigned long long int>, unsigned char, _Constant int)">;
- def vcvtqq2pd256_round_mask : X86Builtin<"_Vector<4, double>(_Vector<4, long long int>, _Vector<4, double>, unsigned char, _Constant int)">;
- def vcvtqq2ph256_round_mask : X86Builtin<"_Vector<8, _Float16>(_Vector<4, long long int>, _Vector<8, _Float16>, unsigned char, _Constant int)">;
- def vcvtqq2ps256_round_mask : X86Builtin<"_Vector<4, float>(_Vector<4, long long int>, _Vector<4, float>, unsigned char, _Constant int)">;
- def vcvttpd2dq256_round_mask : X86Builtin<"_Vector<4, int>(_Vector<4, double>, _Vector<4, int>, unsigned char, _Constant int)">;
- def vcvttpd2qq256_round_mask : X86Builtin<"_Vector<4, long long int>(_Vector<4, double>, _Vector<4, long long int>, unsigned char, _Constant int)">;
- def vcvttpd2udq256_round_mask : X86Builtin<"_Vector<4, unsigned int>(_Vector<4, double>, _Vector<4, unsigned int>, unsigned char, _Constant int)">;
- def vcvttpd2uqq256_round_mask : X86Builtin<"_Vector<4, unsigned long long int>(_Vector<4, double>, _Vector<4, unsigned long long int>, unsigned char, _Constant int)">;
- def vcvttph2dq256_round_mask : X86Builtin<"_Vector<8, int>(_Vector<8, _Float16>, _Vector<8, int>, unsigned char, _Constant int)">;
- def vcvttph2qq256_round_mask : X86Builtin<"_Vector<4, long long int>(_Vector<8, _Float16>, _Vector<4, long long int>, unsigned char, _Constant int)">;
- def vcvttph2udq256_round_mask : X86Builtin<"_Vector<8, unsigned int>(_Vector<8, _Float16>, _Vector<8, unsigned int>, unsigned char, _Constant int)">;
- def vcvttph2uqq256_round_mask : X86Builtin<"_Vector<4, unsigned long long int>(_Vector<8, _Float16>, _Vector<4, unsigned long long int>, unsigned char, _Constant int)">;
- def vcvttph2uw256_round_mask : X86Builtin<"_Vector<16, unsigned short>(_Vector<16, _Float16>, _Vector<16, unsigned short>, unsigned short, _Constant int)">;
- def vcvttph2w256_round_mask : X86Builtin<"_Vector<16, short>(_Vector<16, _Float16>, _Vector<16, short>, unsigned short, _Constant int)">;
- def vcvttps2dq256_round_mask : X86Builtin<"_Vector<8, int>(_Vector<8, float>, _Vector<8, int>, unsigned char, _Constant int)">;
- def vcvttps2qq256_round_mask : X86Builtin<"_Vector<4, long long int>(_Vector<4, float>, _Vector<4, long long int>, unsigned char, _Constant int)">;
- def vcvttps2udq256_round_mask : X86Builtin<"_Vector<8, unsigned int>(_Vector<8, float>, _Vector<8, unsigned int>, unsigned char, _Constant int)">;
- def vcvttps2uqq256_round_mask : X86Builtin<"_Vector<4, unsigned long long int>(_Vector<4, float>, _Vector<4, unsigned long long int>, unsigned char, _Constant int)">;
- def vcvtudq2ph256_round_mask : X86Builtin<"_Vector<8, _Float16>(_Vector<8, unsigned int>, _Vector<8, _Float16>, unsigned char, _Constant int)">;
- def vcvtudq2ps256_round_mask : X86Builtin<"_Vector<8, float>(_Vector<8, unsigned int>, _Vector<8, float>, unsigned char, _Constant int)">;
- def vcvtuqq2pd256_round_mask : X86Builtin<"_Vector<4, double>(_Vector<4, unsigned long long int>, _Vector<4, double>, unsigned char, _Constant int)">;
- def vcvtuqq2ph256_round_mask : X86Builtin<"_Vector<8, _Float16>(_Vector<4, unsigned long long int>, _Vector<8, _Float16>, unsigned char, _Constant int)">;
- def vcvtuqq2ps256_round_mask : X86Builtin<"_Vector<4, float>(_Vector<4, unsigned long long int>, _Vector<4, float>, unsigned char, _Constant int)">;
- def vcvtuw2ph256_round_mask : X86Builtin<"_Vector<16, _Float16>(_Vector<16, unsigned short>, _Vector<16, _Float16>, unsigned short, _Constant int)">;
- def vcvtw2ph256_round_mask : X86Builtin<"_Vector<16, _Float16>(_Vector<16, short>, _Vector<16, _Float16>, unsigned short, _Constant int)">;
- def vdivpd256_round : X86Builtin<"_Vector<4, double>(_Vector<4, double>, _Vector<4, double>, _Constant int)">;
- def vdivph256_round : X86Builtin<"_Vector<16, _Float16>(_Vector<16, _Float16>, _Vector<16, _Float16>, _Constant int)">;
- def vdivps256_round : X86Builtin<"_Vector<8, float>(_Vector<8, float>, _Vector<8, float>, _Constant int)">;
- def vfcmaddcph256_round_mask : X86Builtin<"_Vector<8, float>(_Vector<8, float>, _Vector<8, float>, _Vector<8, float>, unsigned char, _Constant int)">;
- def vfcmaddcph256_round_maskz : X86Builtin<"_Vector<8, float>(_Vector<8, float>, _Vector<8, float>, _Vector<8, float>, unsigned char, _Constant int)">;
- def vfcmaddcph256_round_mask3 : X86Builtin<"_Vector<8, float>(_Vector<8, float>, _Vector<8, float>, _Vector<8, float>, unsigned char, _Constant int)">;
- def vfcmulcph256_round_mask : X86Builtin<"_Vector<8, float>(_Vector<8, float>, _Vector<8, float>, _Vector<8, float>, unsigned char, _Constant int)">;
- def vfixupimmpd256_round_mask : X86Builtin<"_Vector<4, double>(_Vector<4, double>, _Vector<4, double>, _Vector<4, long long int>, _Constant int, unsigned char, _Constant int)">;
- def vfixupimmpd256_round_maskz : X86Builtin<"_Vector<4, double>(_Vector<4, double>, _Vector<4, double>, _Vector<4, long long int>, _Constant int, unsigned char, _Constant int)">;
- def vfixupimmps256_round_mask : X86Builtin<"_Vector<8, float>(_Vector<8, float>, _Vector<8, float>, _Vector<8, int>, _Constant int, unsigned char, _Constant int)">;
- def vfixupimmps256_round_maskz : X86Builtin<"_Vector<8, float>(_Vector<8, float>, _Vector<8, float>, _Vector<8, int>, _Constant int, unsigned char, _Constant int)">;
- def vfmaddpd256_round_mask : X86Builtin<"_Vector<4, double>(_Vector<4, double>, _Vector<4, double>, _Vector<4, double>, unsigned char, _Constant int)">;
- def vfmaddpd256_round_maskz : X86Builtin<"_Vector<4, double>(_Vector<4, double>, _Vector<4, double>, _Vector<4, double>, unsigned char, _Constant int)">;
- def vfmaddpd256_round_mask3 : X86Builtin<"_Vector<4, double>(_Vector<4, double>, _Vector<4, double>, _Vector<4, double>, unsigned char, _Constant int)">;
- def vfmaddph256_round_mask : X86Builtin<"_Vector<16, _Float16>(_Vector<16, _Float16>, _Vector<16, _Float16>, _Vector<16, _Float16>, unsigned short, _Constant int)">;
- def vfmaddph256_round_maskz : X86Builtin<"_Vector<16, _Float16>(_Vector<16, _Float16>, _Vector<16, _Float16>, _Vector<16, _Float16>, unsigned short, _Constant int)">;
- def vfmaddph256_round_mask3 : X86Builtin<"_Vector<16, _Float16>(_Vector<16, _Float16>, _Vector<16, _Float16>, _Vector<16, _Float16>, unsigned short, _Constant int)">;
- def vfmaddps256_round_mask : X86Builtin<"_Vector<8, float>(_Vector<8, float>, _Vector<8, float>, _Vector<8, float>, unsigned char, _Constant int)">;
- def vfmaddps256_round_maskz : X86Builtin<"_Vector<8, float>(_Vector<8, float>, _Vector<8, float>, _Vector<8, float>, unsigned char, _Constant int)">;
- def vfmaddps256_round_mask3 : X86Builtin<"_Vector<8, float>(_Vector<8, float>, _Vector<8, float>, _Vector<8, float>, unsigned char, _Constant int)">;
- def vfmaddcph256_round_mask : X86Builtin<"_Vector<8, float>(_Vector<8, float>, _Vector<8, float>, _Vector<8, float>, unsigned char, _Constant int)">;
- def vfmaddcph256_round_maskz : X86Builtin<"_Vector<8, float>(_Vector<8, float>, _Vector<8, float>, _Vector<8, float>, unsigned char, _Constant int)">;
- def vfmaddcph256_round_mask3 : X86Builtin<"_Vector<8, float>(_Vector<8, float>, _Vector<8, float>, _Vector<8, float>, unsigned char, _Constant int)">;
- def vfmaddsubpd256_round_mask : X86Builtin<"_Vector<4, double>(_Vector<4, double>, _Vector<4, double>, _Vector<4, double>, unsigned char, _Constant int)">;
- def vfmaddsubpd256_round_maskz : X86Builtin<"_Vector<4, double>(_Vector<4, double>, _Vector<4, double>, _Vector<4, double>, unsigned char, _Constant int)">;
- def vfmaddsubpd256_round_mask3 : X86Builtin<"_Vector<4, double>(_Vector<4, double>, _Vector<4, double>, _Vector<4, double>, unsigned char, _Constant int)">;
- def vfmaddsubph256_round_mask : X86Builtin<"_Vector<16, _Float16>(_Vector<16, _Float16>, _Vector<16, _Float16>, _Vector<16, _Float16>, unsigned short, _Constant int)">;
- def vfmaddsubph256_round_maskz : X86Builtin<"_Vector<16, _Float16>(_Vector<16, _Float16>, _Vector<16, _Float16>, _Vector<16, _Float16>, unsigned short, _Constant int)">;
- def vfmaddsubph256_round_mask3 : X86Builtin<"_Vector<16, _Float16>(_Vector<16, _Float16>, _Vector<16, _Float16>, _Vector<16, _Float16>, unsigned short, _Constant int)">;
- def vfmaddsubps256_round_mask : X86Builtin<"_Vector<8, float>(_Vector<8, float>, _Vector<8, float>, _Vector<8, float>, unsigned char, _Constant int)">;
- def vfmaddsubps256_round_maskz : X86Builtin<"_Vector<8, float>(_Vector<8, float>, _Vector<8, float>, _Vector<8, float>, unsigned char, _Constant int)">;
- def vfmaddsubps256_round_mask3 : X86Builtin<"_Vector<8, float>(_Vector<8, float>, _Vector<8, float>, _Vector<8, float>, unsigned char, _Constant int)">;
- def vfmsubpd256_round_mask3 : X86Builtin<"_Vector<4, double>(_Vector<4, double>, _Vector<4, double>, _Vector<4, double>, unsigned char, _Constant int)">;
- def vfmsubph256_round_mask3 : X86Builtin<"_Vector<16, _Float16>(_Vector<16, _Float16>, _Vector<16, _Float16>, _Vector<16, _Float16>, unsigned short, _Constant int)">;
- def vfmsubps256_round_mask3 : X86Builtin<"_Vector<8, float>(_Vector<8, float>, _Vector<8, float>, _Vector<8, float>, unsigned char, _Constant int)">;
- def vfmsubaddpd256_round_mask3 : X86Builtin<"_Vector<4, double>(_Vector<4, double>, _Vector<4, double>, _Vector<4, double>, unsigned char, _Constant int)">;
- def vfmsubaddph256_round_mask3 : X86Builtin<"_Vector<16, _Float16>(_Vector<16, _Float16>, _Vector<16, _Float16>, _Vector<16, _Float16>, unsigned short, _Constant int)">;
- def vfmsubaddps256_round_mask3 : X86Builtin<"_Vector<8, float>(_Vector<8, float>, _Vector<8, float>, _Vector<8, float>, unsigned char, _Constant int)">;
- def vfmulcph256_round_mask : X86Builtin<"_Vector<8, float>(_Vector<8, float>, _Vector<8, float>, _Vector<8, float>, unsigned char, _Constant int)">;
- def vgetexppd256_round_mask : X86Builtin<"_Vector<4, double>(_Vector<4, double>, _Vector<4, double>, unsigned char, _Constant int)">;
- def vgetexpph256_round_mask : X86Builtin<"_Vector<16, _Float16>(_Vector<16, _Float16>, _Vector<16, _Float16>, unsigned short, _Constant int)">;
- def vgetexpps256_round_mask : X86Builtin<"_Vector<8, float>(_Vector<8, float>, _Vector<8, float>, unsigned char, _Constant int)">;
- def vgetmantpd256_round_mask : X86Builtin<"_Vector<4, double>(_Vector<4, double>, _Constant int, _Vector<4, double>, unsigned char, _Constant int)">;
- def vgetmantph256_round_mask : X86Builtin<"_Vector<16, _Float16>(_Vector<16, _Float16>, _Constant int, _Vector<16, _Float16>, unsigned short, _Constant int)">;
- def vgetmantps256_round_mask : X86Builtin<"_Vector<8, float>(_Vector<8, float>, _Constant int, _Vector<8, float>, unsigned char, _Constant int)">;
- def vmaxpd256_round : X86Builtin<"_Vector<4, double>(_Vector<4, double>, _Vector<4, double>, _Constant int)">;
- def vmaxph256_round : X86Builtin<"_Vector<16, _Float16>(_Vector<16, _Float16>, _Vector<16, _Float16>, _Constant int)">;
- def vmaxps256_round : X86Builtin<"_Vector<8, float>(_Vector<8, float>, _Vector<8, float>, _Constant int)">;
- def vminpd256_round : X86Builtin<"_Vector<4, double>(_Vector<4, double>, _Vector<4, double>, _Constant int)">;
- def vminph256_round : X86Builtin<"_Vector<16, _Float16>(_Vector<16, _Float16>, _Vector<16, _Float16>, _Constant int)">;
- def vminps256_round : X86Builtin<"_Vector<8, float>(_Vector<8, float>, _Vector<8, float>, _Constant int)">;
- def vmulpd256_round : X86Builtin<"_Vector<4, double>(_Vector<4, double>, _Vector<4, double>, _Constant int)">;
- def vmulph256_round : X86Builtin<"_Vector<16, _Float16>(_Vector<16, _Float16>, _Vector<16, _Float16>, _Constant int)">;
- def vmulps256_round : X86Builtin<"_Vector<8, float>(_Vector<8, float>, _Vector<8, float>, _Constant int)">;
- def vrangepd256_round_mask : X86Builtin<"_Vector<4, double>(_Vector<4, double>, _Vector<4, double>, _Constant int, _Vector<4, double>, unsigned char, _Constant int)">;
- def vrangeps256_round_mask : X86Builtin<"_Vector<8, float>(_Vector<8, float>, _Vector<8, float>, _Constant int, _Vector<8, float>, unsigned char, _Constant int)">;
- def vreducepd256_round_mask : X86Builtin<"_Vector<4, double>(_Vector<4, double>, _Constant int, _Vector<4, double>, unsigned char, _Constant int)">;
- def vreduceph256_round_mask : X86Builtin<"_Vector<16, _Float16>(_Vector<16, _Float16>, _Constant int, _Vector<16, _Float16>, unsigned short, _Constant int)">;
- def vreduceps256_round_mask : X86Builtin<"_Vector<8, float>(_Vector<8, float>, _Constant int, _Vector<8, float>, unsigned char, _Constant int)">;
- def vrndscalepd256_round_mask : X86Builtin<"_Vector<4, double>(_Vector<4, double>, _Constant int, _Vector<4, double>, unsigned char, _Constant int)">;
- def vrndscaleph256_round_mask : X86Builtin<"_Vector<16, _Float16>(_Vector<16, _Float16>, _Constant int, _Vector<16, _Float16>, unsigned short, _Constant int)">;
- def vrndscaleps256_round_mask : X86Builtin<"_Vector<8, float>(_Vector<8, float>, _Constant int, _Vector<8, float>, unsigned char, _Constant int)">;
- def vscalefpd256_round_mask : X86Builtin<"_Vector<4, double>(_Vector<4, double>, _Vector<4, double>, _Vector<4, double>, unsigned char, _Constant int)">;
- def vscalefph256_round_mask : X86Builtin<"_Vector<16, _Float16>(_Vector<16, _Float16>, _Vector<16, _Float16>, _Vector<16, _Float16>, unsigned short, _Constant int)">;
- def vscalefps256_round_mask : X86Builtin<"_Vector<8, float>(_Vector<8, float>, _Vector<8, float>, _Vector<8, float>, unsigned char, _Constant int)">;
- def vsqrtpd256_round : X86Builtin<"_Vector<4, double>(_Vector<4, double>, _Constant int)">;
- def vsqrtph256_round : X86Builtin<"_Vector<16, _Float16>(_Vector<16, _Float16>, _Constant int)">;
- def vsqrtps256_round : X86Builtin<"_Vector<8, float>(_Vector<8, float>, _Constant int)">;
- def vsubpd256_round : X86Builtin<"_Vector<4, double>(_Vector<4, double>, _Vector<4, double>, _Constant int)">;
- def vsubph256_round : X86Builtin<"_Vector<16, _Float16>(_Vector<16, _Float16>, _Vector<16, _Float16>, _Constant int)">;
- def vsubps256_round : X86Builtin<"_Vector<8, float>(_Vector<8, float>, _Vector<8, float>, _Constant int)">;
-}
-
let Features = "avxvnniint16|avx10.2-256", Attributes = [NoThrow, RequiredVectorWidth<128>] in {
def vpdpwsud128 : X86Builtin<"_Vector<4, int>(_Vector<4, int>, _Vector<4, int>, _Vector<4, int>)">;
}
diff --git a/clang/lib/CodeGen/CGBuiltin.cpp b/clang/lib/CodeGen/CGBuiltin.cpp
index 5237533364294..fd9b6d9e0c860 100644
--- a/clang/lib/CodeGen/CGBuiltin.cpp
+++ b/clang/lib/CodeGen/CGBuiltin.cpp
@@ -14620,54 +14620,6 @@ static Value *EmitX86FMAExpr(CodeGenFunction &CGF, const CallExpr *E,
case clang::X86::BI__builtin_ia32_vfmaddsubpd512_mask3:
IID = llvm::Intrinsic::x86_avx512_vfmaddsub_pd_512;
break;
- case clang::X86::BI__builtin_ia32_vfmsubph256_round_mask3:
- Subtract = true;
- LLVM_FALLTHROUGH;
- case clang::X86::BI__builtin_ia32_vfmaddph256_round_mask:
- case clang::X86::BI__builtin_ia32_vfmaddph256_round_maskz:
- case clang::X86::BI__builtin_ia32_vfmaddph256_round_mask3:
- IID = llvm::Intrinsic::x86_avx10_vfmaddph256;
- break;
- case clang::X86::BI__builtin_ia32_vfmsubaddph256_round_mask3:
- Subtract = true;
- LLVM_FALLTHROUGH;
- case clang::X86::BI__builtin_ia32_vfmaddsubph256_round_mask:
- case clang::X86::BI__builtin_ia32_vfmaddsubph256_round_maskz:
- case clang::X86::BI__builtin_ia32_vfmaddsubph256_round_mask3:
- IID = llvm::Intrinsic::x86_avx10_vfmaddsubph256;
- break;
- case clang::X86::BI__builtin_ia32_vfmsubps256_round_mask3:
- Subtract = true;
- LLVM_FALLTHROUGH;
- case clang::X86::BI__builtin_ia32_vfmaddps256_round_mask:
- case clang::X86::BI__builtin_ia32_vfmaddps256_round_maskz:
- case clang::X86::BI__builtin_ia32_vfmaddps256_round_mask3:
- IID = llvm::Intrinsic::x86_avx10_vfmaddps256;
- break;
- case clang::X86::BI__builtin_ia32_vfmsubpd256_round_mask3:
- Subtract = true;
- LLVM_FALLTHROUGH;
- case clang::X86::BI__builtin_ia32_vfmaddpd256_round_mask:
- case clang::X86::BI__builtin_ia32_vfmaddpd256_round_maskz:
- case clang::X86::BI__builtin_ia32_vfmaddpd256_round_mask3:
- IID = llvm::Intrinsic::x86_avx10_vfmaddpd256;
- break;
- case clang::X86::BI__builtin_ia32_vfmsubaddps256_round_mask3:
- Subtract = true;
- LLVM_FALLTHROUGH;
- case clang::X86::BI__builtin_ia32_vfmaddsubps256_round_mask:
- case clang::X86::BI__builtin_ia32_vfmaddsubps256_round_maskz:
- case clang::X86::BI__builtin_ia32_vfmaddsubps256_round_mask3:
- IID = llvm::Intrinsic::x86_avx10_vfmaddsubps256;
- break;
- case clang::X86::BI__builtin_ia32_vfmsubaddpd256_round_mask3:
- Subtract = true;
- LLVM_FALLTHROUGH;
- case clang::X86::BI__builtin_ia32_vfmaddsubpd256_round_mask:
- case clang::X86::BI__builtin_ia32_vfmaddsubpd256_round_maskz:
- case clang::X86::BI__builtin_ia32_vfmaddsubpd256_round_mask3:
- IID = llvm::Intrinsic::x86_avx10_vfmaddsubpd256;
- break;
}
Value *A = Ops[0];
@@ -14707,12 +14659,6 @@ static Value *EmitX86FMAExpr(CodeGenFunction &CGF, const CallExpr *E,
case clang::X86::BI__builtin_ia32_vfmaddsubph512_mask:
case clang::X86::BI__builtin_ia32_vfmaddsubps512_mask:
case clang::X86::BI__builtin_ia32_vfmaddsubpd512_mask:
- case clang::X86::BI__builtin_ia32_vfmaddph256_round_mask:
- case clang::X86::BI__builtin_ia32_vfmaddps256_round_mask:
- case clang::X86::BI__builtin_ia32_vfmaddpd256_round_mask:
- case clang::X86::BI__builtin_ia32_vfmaddsubph256_round_mask:
- case clang::X86::BI__builtin_ia32_vfmaddsubps256_round_mask:
- case clang::X86::BI__builtin_ia32_vfmaddsubpd256_round_mask:
MaskFalseVal = Ops[0];
break;
case clang::X86::BI__builtin_ia32_vfmaddph512_maskz:
@@ -14721,12 +14667,6 @@ static Value *EmitX86FMAExpr(CodeGenFunction &CGF, const CallExpr *E,
case clang::X86::BI__builtin_ia32_vfmaddsubph512_maskz:
case clang::X86::BI__builtin_ia32_vfmaddsubps512_maskz:
case clang::X86::BI__builtin_ia32_vfmaddsubpd512_maskz:
- case clang::X86::BI__builtin_ia32_vfmaddph256_round_maskz:
- case clang::X86::BI__builtin_ia32_vfmaddps256_round_maskz:
- case clang::X86::BI__builtin_ia32_vfmaddpd256_round_maskz:
- case clang::X86::BI__builtin_ia32_vfmaddsubph256_round_maskz:
- case clang::X86::BI__builtin_ia32_vfmaddsubps256_round_maskz:
- case clang::X86::BI__builtin_ia32_vfmaddsubpd256_round_maskz:
MaskFalseVal = Constant::getNullValue(Ops[0]->getType());
break;
case clang::X86::BI__builtin_ia32_vfmsubph512_mask3:
@@ -14741,18 +14681,6 @@ static Value *EmitX86FMAExpr(CodeGenFunction &CGF, const CallExpr *E,
case clang::X86::BI__builtin_ia32_vfmaddsubps512_mask3:
case clang::X86::BI__builtin_ia32_vfmsubaddpd512_mask3:
case clang::X86::BI__builtin_ia32_vfmaddsubpd512_mask3:
- case clang::X86::BI__builtin_ia32_vfmsubph256_round_mask3:
- case clang::X86::BI__builtin_ia32_vfmaddph256_round_mask3:
- case clang::X86::BI__builtin_ia32_vfmsubps256_round_mask3:
- case clang::X86::BI__builtin_ia32_vfmaddps256_round_mask3:
- case clang::X86::BI__builtin_ia32_vfmsubpd256_round_mask3:
- case clang::X86::BI__builtin_ia32_vfmaddpd256_round_mask3:
- case clang::X86::BI__builtin_ia32_vfmsubaddph256_round_mask3:
- case clang::X86::BI__builtin_ia32_vfmaddsubph256_round_mask3:
- case clang::X86::BI__builtin_ia32_vfmsubaddps256_round_mask3:
- case clang::X86::BI__builtin_ia32_vfmaddsubps256_round_mask3:
- case clang::X86::BI__builtin_ia32_vfmsubaddpd256_round_mask3:
- case clang::X86::BI__builtin_ia32_vfmaddsubpd256_round_mask3:
MaskFalseVal = Ops[2];
break;
}
@@ -15451,12 +15379,6 @@ Value *CodeGenFunction::EmitX86BuiltinExpr(unsigned BuiltinID,
case X86::BI__builtin_ia32_vcvtw2ph512_mask:
case X86::BI__builtin_ia32_vcvtdq2ph512_mask:
case X86::BI__builtin_ia32_vcvtqq2ph512_mask:
- case X86::BI__builtin_ia32_vcvtdq2ph256_round_mask:
- case X86::BI__builtin_ia32_vcvtdq2ps256_round_mask:
- case X86::BI__builtin_ia32_vcvtqq2pd256_round_mask:
- case X86::BI__builtin_ia32_vcvtqq2ph256_round_mask:
- case X86::BI__builtin_ia32_vcvtqq2ps256_round_mask:
- case X86::BI__builtin_ia32_vcvtw2ph256_round_mask:
return EmitX86ConvertIntToFp(*this, E, Ops, /*IsSigned*/ true);
case X86::BI__builtin_ia32_cvtudq2ps512_mask:
case X86::BI__builtin_ia32_cvtuqq2ps512_mask:
@@ -15464,12 +15386,6 @@ Value *CodeGenFunction::EmitX86BuiltinExpr(unsigned BuiltinID,
case X86::BI__builtin_ia32_vcvtuw2ph512_mask:
case X86::BI__builtin_ia32_vcvtudq2ph512_mask:
case X86::BI__builtin_ia32_vcvtuqq2ph512_mask:
- case X86::BI__builtin_ia32_vcvtudq2ph256_round_mask:
- case X86::BI__builtin_ia32_vcvtudq2ps256_round_mask:
- case X86::BI__builtin_ia32_vcvtuqq2pd256_round_mask:
- case X86::BI__builtin_ia32_vcvtuqq2ph256_round_mask:
- case X86::BI__builtin_ia32_vcvtuqq2ps256_round_mask:
- case X86::BI__builtin_ia32_vcvtuw2ph256_round_mask:
return EmitX86ConvertIntToFp(*this, E, Ops, /*IsSigned*/ false);
case X86::BI__builtin_ia32_vfmaddss3:
@@ -15516,18 +15432,6 @@ Value *CodeGenFunction::EmitX86BuiltinExpr(unsigned BuiltinID,
case X86::BI__builtin_ia32_vfmaddpd512_mask3:
case X86::BI__builtin_ia32_vfmsubpd512_mask3:
case X86::BI__builtin_ia32_vfmsubph512_mask3:
- case X86::BI__builtin_ia32_vfmaddph256_round_mask:
- case X86::BI__builtin_ia32_vfmaddph256_round_maskz:
- case X86::BI__builtin_ia32_vfmaddph256_round_mask3:
- case X86::BI__builtin_ia32_vfmaddps256_round_mask:
- case X86::BI__builtin_ia32_vfmaddps256_round_maskz:
- case X86::BI__builtin_ia32_vfmaddps256_round_mask3:
- case X86::BI__builtin_ia32_vfmsubps256_round_mask3:
- case X86::BI__builtin_ia32_vfmaddpd256_round_mask:
- case X86::BI__builtin_ia32_vfmaddpd256_round_maskz:
- case X86::BI__builtin_ia32_vfmaddpd256_round_mask3:
- case X86::BI__builtin_ia32_vfmsubpd256_round_mask3:
- case X86::BI__builtin_ia32_vfmsubph256_round_mask3:
return EmitX86FMAExpr(*this, E, Ops, BuiltinID, /*IsAddSub*/ false);
case X86::BI__builtin_ia32_vfmaddsubph512_mask:
case X86::BI__builtin_ia32_vfmaddsubph512_maskz:
@@ -15541,18 +15445,6 @@ Value *CodeGenFunction::EmitX86BuiltinExpr(unsigned BuiltinID,
case X86::BI__builtin_ia32_vfmaddsubpd512_maskz:
case X86::BI__builtin_ia32_vfmaddsubpd512_mask3:
case X86::BI__builtin_ia32_vfmsubaddpd512_mask3:
- case X86::BI__builtin_ia32_vfmaddsubph256_round_mask:
- case X86::BI__builtin_ia32_vfmaddsubph256_round_maskz:
- case X86::BI__builtin_ia32_vfmaddsubph256_round_mask3:
- case X86::BI__builtin_ia32_vfmsubaddph256_round_mask3:
- case X86::BI__builtin_ia32_vfmaddsubps256_round_mask:
- case X86::BI__builtin_ia32_vfmaddsubps256_round_maskz:
- case X86::BI__builtin_ia32_vfmaddsubps256_round_mask3:
- case X86::BI__builtin_ia32_vfmsubaddps256_round_mask3:
- case X86::BI__builtin_ia32_vfmaddsubpd256_round_mask:
- case X86::BI__builtin_ia32_vfmaddsubpd256_round_maskz:
- case X86::BI__builtin_ia32_vfmaddsubpd256_round_mask3:
- case X86::BI__builtin_ia32_vfmsubaddpd256_round_mask3:
return EmitX86FMAExpr(*this, E, Ops, BuiltinID, /*IsAddSub*/ true);
case X86::BI__builtin_ia32_movdqa32store128_mask:
@@ -17149,9 +17041,6 @@ Value *CodeGenFunction::EmitX86BuiltinExpr(unsigned BuiltinID,
case X86::BI__builtin_ia32_cmppd128_mask:
case X86::BI__builtin_ia32_cmppd256_mask:
case X86::BI__builtin_ia32_cmppd512_mask:
- case X86::BI__builtin_ia32_vcmppd256_round_mask:
- case X86::BI__builtin_ia32_vcmpps256_round_mask:
- case X86::BI__builtin_ia32_vcmpph256_round_mask:
case X86::BI__builtin_ia32_vcmpbf16512_mask:
case X86::BI__builtin_ia32_vcmpbf16256_mask:
case X86::BI__builtin_ia32_vcmpbf16128_mask:
@@ -17726,15 +17615,6 @@ Value *CodeGenFunction::EmitX86BuiltinExpr(unsigned BuiltinID,
Value *Call = Builder.CreateCall(CGM.getIntrinsic(IID), Ops);
return EmitX86Select(*this, Ops[3], Call, Ops[0]);
}
- case X86::BI__builtin_ia32_vfcmaddcph256_round_mask:
- IsConjFMA = true;
- LLVM_FALLTHROUGH;
- case X86::BI__builtin_ia32_vfmaddcph256_round_mask: {
- Intrinsic::ID IID = IsConjFMA ? Intrinsic::x86_avx10_mask_vfcmaddcph256
- : Intrinsic::x86_avx10_mask_vfmaddcph256;
- Value *Call = Builder.CreateCall(CGM.getIntrinsic(IID), Ops);
- return EmitX86Select(*this, Ops[3], Call, Ops[0]);
- }
case X86::BI__builtin_ia32_vfcmaddcsh_round_mask:
IsConjFMA = true;
[[fallthrough]];
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/Sema/SemaX86.cpp b/clang/lib/Sema/SemaX86.cpp
index 392d60f640984..e54a278225f1c 100644
--- a/clang/lib/Sema/SemaX86.cpp
+++ b/clang/lib/Sema/SemaX86.cpp
@@ -62,12 +62,6 @@ bool SemaX86::CheckBuiltinRoundingOrSAE(unsigned BuiltinID, CallExpr *TheCall) {
case X86::BI__builtin_ia32_minps512:
case X86::BI__builtin_ia32_maxph512:
case X86::BI__builtin_ia32_minph512:
- case X86::BI__builtin_ia32_vmaxpd256_round:
- case X86::BI__builtin_ia32_vmaxps256_round:
- case X86::BI__builtin_ia32_vminpd256_round:
- case X86::BI__builtin_ia32_vminps256_round:
- case X86::BI__builtin_ia32_vmaxph256_round:
- case X86::BI__builtin_ia32_vminph256_round:
ArgNum = 2;
break;
case X86::BI__builtin_ia32_vcvtph2pd512_mask:
@@ -94,9 +88,6 @@ bool SemaX86::CheckBuiltinRoundingOrSAE(unsigned BuiltinID, CallExpr *TheCall) {
case X86::BI__builtin_ia32_vcomiss:
case X86::BI__builtin_ia32_vcomish:
case X86::BI__builtin_ia32_vcvtph2ps512_mask:
- case X86::BI__builtin_ia32_vgetexppd256_round_mask:
- case X86::BI__builtin_ia32_vgetexpps256_round_mask:
- case X86::BI__builtin_ia32_vgetexpph256_round_mask:
case X86::BI__builtin_ia32_vcvttph2ibs256_mask:
case X86::BI__builtin_ia32_vcvttph2iubs256_mask:
case X86::BI__builtin_ia32_vcvttps2ibs256_mask:
@@ -109,10 +100,6 @@ bool SemaX86::CheckBuiltinRoundingOrSAE(unsigned BuiltinID, CallExpr *TheCall) {
break;
case X86::BI__builtin_ia32_cmppd512_mask:
case X86::BI__builtin_ia32_cmpps512_mask:
- case X86::BI__builtin_ia32_cmpph512_mask:
- case X86::BI__builtin_ia32_vcmppd256_round_mask:
- case X86::BI__builtin_ia32_vcmpps256_round_mask:
- case X86::BI__builtin_ia32_vcmpph256_round_mask:
case X86::BI__builtin_ia32_cmpsd_mask:
case X86::BI__builtin_ia32_cmpss_mask:
case X86::BI__builtin_ia32_cmpsh_mask:
@@ -125,9 +112,6 @@ bool SemaX86::CheckBuiltinRoundingOrSAE(unsigned BuiltinID, CallExpr *TheCall) {
case X86::BI__builtin_ia32_getmantpd512_mask:
case X86::BI__builtin_ia32_getmantps512_mask:
case X86::BI__builtin_ia32_getmantph512_mask:
- case X86::BI__builtin_ia32_vgetmantpd256_round_mask:
- case X86::BI__builtin_ia32_vgetmantps256_round_mask:
- case X86::BI__builtin_ia32_vgetmantph256_round_mask:
case X86::BI__builtin_ia32_maxsd_round_mask:
case X86::BI__builtin_ia32_maxss_round_mask:
case X86::BI__builtin_ia32_maxsh_round_mask:
@@ -140,22 +124,12 @@ bool SemaX86::CheckBuiltinRoundingOrSAE(unsigned BuiltinID, CallExpr *TheCall) {
case X86::BI__builtin_ia32_rndscalepd_mask:
case X86::BI__builtin_ia32_rndscaleps_mask:
case X86::BI__builtin_ia32_rndscaleph_mask:
- case X86::BI__builtin_ia32_vreducepd256_round_mask:
- case X86::BI__builtin_ia32_vreduceps256_round_mask:
- case X86::BI__builtin_ia32_vreduceph256_round_mask:
- case X86::BI__builtin_ia32_vrndscalepd256_round_mask:
- case X86::BI__builtin_ia32_vrndscaleps256_round_mask:
- case X86::BI__builtin_ia32_vrndscaleph256_round_mask:
ArgNum = 4;
break;
case X86::BI__builtin_ia32_fixupimmpd512_mask:
case X86::BI__builtin_ia32_fixupimmpd512_maskz:
case X86::BI__builtin_ia32_fixupimmps512_mask:
case X86::BI__builtin_ia32_fixupimmps512_maskz:
- case X86::BI__builtin_ia32_vfixupimmpd256_round_mask:
- case X86::BI__builtin_ia32_vfixupimmpd256_round_maskz:
- case X86::BI__builtin_ia32_vfixupimmps256_round_mask:
- case X86::BI__builtin_ia32_vfixupimmps256_round_maskz:
case X86::BI__builtin_ia32_fixupimmsd_mask:
case X86::BI__builtin_ia32_fixupimmsd_maskz:
case X86::BI__builtin_ia32_fixupimmss_mask:
@@ -165,8 +139,6 @@ bool SemaX86::CheckBuiltinRoundingOrSAE(unsigned BuiltinID, CallExpr *TheCall) {
case X86::BI__builtin_ia32_getmantsh_round_mask:
case X86::BI__builtin_ia32_rangepd512_mask:
case X86::BI__builtin_ia32_rangeps512_mask:
- case X86::BI__builtin_ia32_vrangepd256_round_mask:
- case X86::BI__builtin_ia32_vrangeps256_round_mask:
case X86::BI__builtin_ia32_rangesd128_round_mask:
case X86::BI__builtin_ia32_rangess128_round_mask:
case X86::BI__builtin_ia32_reducesd_mask:
@@ -201,9 +173,6 @@ bool SemaX86::CheckBuiltinRoundingOrSAE(unsigned BuiltinID, CallExpr *TheCall) {
case X86::BI__builtin_ia32_sqrtpd512:
case X86::BI__builtin_ia32_sqrtps512:
case X86::BI__builtin_ia32_sqrtph512:
- case X86::BI__builtin_ia32_vsqrtpd256_round:
- case X86::BI__builtin_ia32_vsqrtps256_round:
- case X86::BI__builtin_ia32_vsqrtph256_round:
ArgNum = 1;
HasRC = true;
break;
@@ -219,18 +188,6 @@ bool SemaX86::CheckBuiltinRoundingOrSAE(unsigned BuiltinID, CallExpr *TheCall) {
case X86::BI__builtin_ia32_mulps512:
case X86::BI__builtin_ia32_subpd512:
case X86::BI__builtin_ia32_subps512:
- case X86::BI__builtin_ia32_vaddpd256_round:
- case X86::BI__builtin_ia32_vaddph256_round:
- case X86::BI__builtin_ia32_vaddps256_round:
- case X86::BI__builtin_ia32_vdivpd256_round:
- case X86::BI__builtin_ia32_vdivph256_round:
- case X86::BI__builtin_ia32_vdivps256_round:
- case X86::BI__builtin_ia32_vmulpd256_round:
- case X86::BI__builtin_ia32_vmulph256_round:
- case X86::BI__builtin_ia32_vmulps256_round:
- case X86::BI__builtin_ia32_vsubpd256_round:
- case X86::BI__builtin_ia32_vsubph256_round:
- case X86::BI__builtin_ia32_vsubps256_round:
case X86::BI__builtin_ia32_cvtsi2sd64:
case X86::BI__builtin_ia32_cvtsi2ss32:
case X86::BI__builtin_ia32_cvtsi2ss64:
@@ -273,52 +230,6 @@ bool SemaX86::CheckBuiltinRoundingOrSAE(unsigned BuiltinID, CallExpr *TheCall) {
case X86::BI__builtin_ia32_vcvtph2uqq512_mask:
case X86::BI__builtin_ia32_vcvtqq2ph512_mask:
case X86::BI__builtin_ia32_vcvtuqq2ph512_mask:
- case X86::BI__builtin_ia32_vcvtph2pd256_round_mask:
- case X86::BI__builtin_ia32_vcvtph2psx256_round_mask:
- case X86::BI__builtin_ia32_vcvtps2pd256_round_mask:
- case X86::BI__builtin_ia32_vcvttpd2dq256_round_mask:
- case X86::BI__builtin_ia32_vcvttpd2qq256_round_mask:
- case X86::BI__builtin_ia32_vcvttpd2udq256_round_mask:
- case X86::BI__builtin_ia32_vcvttpd2uqq256_round_mask:
- case X86::BI__builtin_ia32_vcvttps2dq256_round_mask:
- case X86::BI__builtin_ia32_vcvttps2qq256_round_mask:
- case X86::BI__builtin_ia32_vcvttps2udq256_round_mask:
- case X86::BI__builtin_ia32_vcvttps2uqq256_round_mask:
- case X86::BI__builtin_ia32_vcvttph2w256_round_mask:
- case X86::BI__builtin_ia32_vcvttph2uw256_round_mask:
- case X86::BI__builtin_ia32_vcvttph2dq256_round_mask:
- case X86::BI__builtin_ia32_vcvttph2udq256_round_mask:
- case X86::BI__builtin_ia32_vcvttph2qq256_round_mask:
- case X86::BI__builtin_ia32_vcvttph2uqq256_round_mask:
- case X86::BI__builtin_ia32_vcvtdq2ps256_round_mask:
- case X86::BI__builtin_ia32_vcvtudq2ps256_round_mask:
- case X86::BI__builtin_ia32_vcvtpd2ph256_round_mask:
- case X86::BI__builtin_ia32_vcvtps2phx256_round_mask:
- case X86::BI__builtin_ia32_vcvtpd2ps256_round_mask:
- case X86::BI__builtin_ia32_vcvtpd2dq256_round_mask:
- case X86::BI__builtin_ia32_vcvtpd2qq256_round_mask:
- case X86::BI__builtin_ia32_vcvtpd2udq256_round_mask:
- case X86::BI__builtin_ia32_vcvtpd2uqq256_round_mask:
- case X86::BI__builtin_ia32_vcvtps2dq256_round_mask:
- case X86::BI__builtin_ia32_vcvtps2qq256_round_mask:
- case X86::BI__builtin_ia32_vcvtps2udq256_round_mask:
- case X86::BI__builtin_ia32_vcvtps2uqq256_round_mask:
- case X86::BI__builtin_ia32_vcvtqq2pd256_round_mask:
- case X86::BI__builtin_ia32_vcvtqq2ps256_round_mask:
- case X86::BI__builtin_ia32_vcvtuqq2pd256_round_mask:
- case X86::BI__builtin_ia32_vcvtuqq2ps256_round_mask:
- case X86::BI__builtin_ia32_vcvtdq2ph256_round_mask:
- case X86::BI__builtin_ia32_vcvtudq2ph256_round_mask:
- case X86::BI__builtin_ia32_vcvtw2ph256_round_mask:
- case X86::BI__builtin_ia32_vcvtuw2ph256_round_mask:
- case X86::BI__builtin_ia32_vcvtph2w256_round_mask:
- case X86::BI__builtin_ia32_vcvtph2uw256_round_mask:
- case X86::BI__builtin_ia32_vcvtph2dq256_round_mask:
- case X86::BI__builtin_ia32_vcvtph2udq256_round_mask:
- case X86::BI__builtin_ia32_vcvtph2qq256_round_mask:
- case X86::BI__builtin_ia32_vcvtph2uqq256_round_mask:
- case X86::BI__builtin_ia32_vcvtqq2ph256_round_mask:
- case X86::BI__builtin_ia32_vcvtuqq2ph256_round_mask:
case X86::BI__builtin_ia32_vcvtph2ibs256_mask:
case X86::BI__builtin_ia32_vcvtph2iubs256_mask:
case X86::BI__builtin_ia32_vcvtps2ibs256_mask:
@@ -345,9 +256,6 @@ bool SemaX86::CheckBuiltinRoundingOrSAE(unsigned BuiltinID, CallExpr *TheCall) {
case X86::BI__builtin_ia32_scalefph512_mask:
case X86::BI__builtin_ia32_scalefpd512_mask:
case X86::BI__builtin_ia32_scalefps512_mask:
- case X86::BI__builtin_ia32_vscalefph256_round_mask:
- case X86::BI__builtin_ia32_vscalefpd256_round_mask:
- case X86::BI__builtin_ia32_vscalefps256_round_mask:
case X86::BI__builtin_ia32_scalefsd_round_mask:
case X86::BI__builtin_ia32_scalefss_round_mask:
case X86::BI__builtin_ia32_scalefsh_round_mask:
@@ -390,38 +298,6 @@ bool SemaX86::CheckBuiltinRoundingOrSAE(unsigned BuiltinID, CallExpr *TheCall) {
case X86::BI__builtin_ia32_vfmaddsubph512_maskz:
case X86::BI__builtin_ia32_vfmaddsubph512_mask3:
case X86::BI__builtin_ia32_vfmsubaddph512_mask3:
- case X86::BI__builtin_ia32_vfmaddpd256_round_mask:
- case X86::BI__builtin_ia32_vfmaddpd256_round_maskz:
- case X86::BI__builtin_ia32_vfmaddpd256_round_mask3:
- case X86::BI__builtin_ia32_vfmsubpd256_round_mask3:
- case X86::BI__builtin_ia32_vfmaddps256_round_mask:
- case X86::BI__builtin_ia32_vfmaddps256_round_maskz:
- case X86::BI__builtin_ia32_vfmaddps256_round_mask3:
- case X86::BI__builtin_ia32_vfmsubps256_round_mask3:
- case X86::BI__builtin_ia32_vfmaddph256_round_mask:
- case X86::BI__builtin_ia32_vfmaddph256_round_maskz:
- case X86::BI__builtin_ia32_vfmaddph256_round_mask3:
- case X86::BI__builtin_ia32_vfmsubph256_round_mask3:
- case X86::BI__builtin_ia32_vfmaddsubpd256_round_mask:
- case X86::BI__builtin_ia32_vfmaddsubpd256_round_maskz:
- case X86::BI__builtin_ia32_vfmaddsubpd256_round_mask3:
- case X86::BI__builtin_ia32_vfmsubaddpd256_round_mask3:
- case X86::BI__builtin_ia32_vfmaddsubps256_round_mask:
- case X86::BI__builtin_ia32_vfmaddsubps256_round_maskz:
- case X86::BI__builtin_ia32_vfmaddsubps256_round_mask3:
- case X86::BI__builtin_ia32_vfmsubaddps256_round_mask3:
- case X86::BI__builtin_ia32_vfmaddsubph256_round_mask:
- case X86::BI__builtin_ia32_vfmaddsubph256_round_maskz:
- case X86::BI__builtin_ia32_vfmaddsubph256_round_mask3:
- case X86::BI__builtin_ia32_vfmsubaddph256_round_mask3:
- case X86::BI__builtin_ia32_vfmaddcph256_round_mask:
- case X86::BI__builtin_ia32_vfmaddcph256_round_maskz:
- case X86::BI__builtin_ia32_vfmaddcph256_round_mask3:
- case X86::BI__builtin_ia32_vfcmaddcph256_round_mask:
- case X86::BI__builtin_ia32_vfcmaddcph256_round_maskz:
- case X86::BI__builtin_ia32_vfcmaddcph256_round_mask3:
- case X86::BI__builtin_ia32_vfmulcph256_round_mask:
- case X86::BI__builtin_ia32_vfcmulcph256_round_mask:
case X86::BI__builtin_ia32_vfmaddcsh_mask:
case X86::BI__builtin_ia32_vfmaddcsh_round_mask:
case X86::BI__builtin_ia32_vfmaddcsh_round_mask3:
@@ -842,9 +718,6 @@ bool SemaX86::CheckBuiltinFunctionCall(const TargetInfo &TI, unsigned BuiltinID,
case X86::BI__builtin_ia32_getmantph128_mask:
case X86::BI__builtin_ia32_getmantph256_mask:
case X86::BI__builtin_ia32_getmantph512_mask:
- case X86::BI__builtin_ia32_vgetmantpd256_round_mask:
- case X86::BI__builtin_ia32_vgetmantps256_round_mask:
- case X86::BI__builtin_ia32_vgetmantph256_round_mask:
case X86::BI__builtin_ia32_vec_ext_v16qi:
case X86::BI__builtin_ia32_vec_ext_v16hi:
i = 1;
@@ -863,8 +736,6 @@ bool SemaX86::CheckBuiltinFunctionCall(const TargetInfo &TI, unsigned BuiltinID,
case X86::BI__builtin_ia32_rangeps128_mask:
case X86::BI__builtin_ia32_rangeps256_mask:
case X86::BI__builtin_ia32_rangeps512_mask:
- case X86::BI__builtin_ia32_vrangepd256_round_mask:
- case X86::BI__builtin_ia32_vrangeps256_round_mask:
case X86::BI__builtin_ia32_getmantsd_round_mask:
case X86::BI__builtin_ia32_getmantss_round_mask:
case X86::BI__builtin_ia32_getmantsh_round_mask:
@@ -891,10 +762,6 @@ bool SemaX86::CheckBuiltinFunctionCall(const TargetInfo &TI, unsigned BuiltinID,
case X86::BI__builtin_ia32_cmppd256_mask:
case X86::BI__builtin_ia32_cmpps512_mask:
case X86::BI__builtin_ia32_cmppd512_mask:
- case X86::BI__builtin_ia32_cmpph512_mask:
- case X86::BI__builtin_ia32_vcmppd256_round_mask:
- case X86::BI__builtin_ia32_vcmpps256_round_mask:
- case X86::BI__builtin_ia32_vcmpph256_round_mask:
case X86::BI__builtin_ia32_cmpsd_mask:
case X86::BI__builtin_ia32_cmpss_mask:
case X86::BI__builtin_ia32_vec_set_v32qi:
@@ -946,12 +813,6 @@ bool SemaX86::CheckBuiltinFunctionCall(const TargetInfo &TI, unsigned BuiltinID,
case X86::BI__builtin_ia32_vreducebf16128_mask:
case X86::BI__builtin_ia32_vreducebf16256_mask:
case X86::BI__builtin_ia32_vreducebf16512_mask:
- case X86::BI__builtin_ia32_vreducepd256_round_mask:
- case X86::BI__builtin_ia32_vreduceps256_round_mask:
- case X86::BI__builtin_ia32_vreduceph256_round_mask:
- case X86::BI__builtin_ia32_vrndscalepd256_round_mask:
- case X86::BI__builtin_ia32_vrndscaleps256_round_mask:
- case X86::BI__builtin_ia32_vrndscaleph256_round_mask:
case X86::BI__builtin_ia32_prold512:
case X86::BI__builtin_ia32_prolq512:
case X86::BI__builtin_ia32_prold128:
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/llvm/include/llvm/IR/IntrinsicsX86.td b/llvm/include/llvm/IR/IntrinsicsX86.td
index 164d48bff2804..4fcf2ff8f38df 100644
--- a/llvm/include/llvm/IR/IntrinsicsX86.td
+++ b/llvm/include/llvm/IR/IntrinsicsX86.td
@@ -5082,442 +5082,6 @@ let TargetPrefix = "x86" in {
DefaultAttrsIntrinsic<[llvm_v8f32_ty],
[llvm_v8f32_ty, llvm_v8f32_ty, llvm_i32_ty],
[IntrNoMem, ImmArg<ArgIndex<2>>]>;
- def int_x86_avx10_mask_vcmppd256 :
- DefaultAttrsIntrinsic<[llvm_v4i1_ty],
- [llvm_v4f64_ty, llvm_v4f64_ty, llvm_i32_ty, llvm_v4i1_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<2>>, ImmArg<ArgIndex<4>>]>;
- def int_x86_avx10_mask_vcmpph256 :
- DefaultAttrsIntrinsic<[llvm_v16i1_ty],
- [llvm_v16f16_ty, llvm_v16f16_ty, llvm_i32_ty, llvm_v16i1_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<2>>, ImmArg<ArgIndex<4>>]>;
- def int_x86_avx10_mask_vcmpps256 :
- DefaultAttrsIntrinsic<[llvm_v8i1_ty],
- [llvm_v8f32_ty, llvm_v8f32_ty, llvm_i32_ty, llvm_v8i1_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<2>>, ImmArg<ArgIndex<4>>]>;
- def int_x86_avx10_mask_vcvtpd2dq256 :
- ClangBuiltin<"__builtin_ia32_vcvtpd2dq256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v4i32_ty],
- [llvm_v4f64_ty, llvm_v4i32_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
- def int_x86_avx10_mask_vcvtpd2ph256 :
- ClangBuiltin<"__builtin_ia32_vcvtpd2ph256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v8f16_ty],
- [llvm_v4f64_ty, llvm_v8f16_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
- def int_x86_avx10_mask_vcvtpd2ps256 :
- ClangBuiltin<"__builtin_ia32_vcvtpd2ps256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v4f32_ty],
- [llvm_v4f64_ty, llvm_v4f32_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
- def int_x86_avx10_mask_vcvtpd2qq256 :
- ClangBuiltin<"__builtin_ia32_vcvtpd2qq256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v4i64_ty],
- [llvm_v4f64_ty, llvm_v4i64_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
- def int_x86_avx10_mask_vcvtpd2udq256 :
- ClangBuiltin<"__builtin_ia32_vcvtpd2udq256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v4i32_ty],
- [llvm_v4f64_ty, llvm_v4i32_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
- def int_x86_avx10_mask_vcvtpd2uqq256 :
- ClangBuiltin<"__builtin_ia32_vcvtpd2uqq256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v4i64_ty],
- [llvm_v4f64_ty, llvm_v4i64_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
- def int_x86_avx10_mask_vcvtph2dq256 :
- ClangBuiltin<"__builtin_ia32_vcvtph2dq256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v8i32_ty],
- [llvm_v8f16_ty, llvm_v8i32_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
- def int_x86_avx10_mask_vcvtph2pd256 :
- ClangBuiltin<"__builtin_ia32_vcvtph2pd256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v4f64_ty],
- [llvm_v8f16_ty, llvm_v4f64_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
- def int_x86_avx10_mask_vcvtph2psx256 :
- ClangBuiltin<"__builtin_ia32_vcvtph2psx256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v8f32_ty],
- [llvm_v8f16_ty, llvm_v8f32_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
- def int_x86_avx10_mask_vcvtph2qq256 :
- ClangBuiltin<"__builtin_ia32_vcvtph2qq256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v4i64_ty],
- [llvm_v8f16_ty, llvm_v4i64_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
- def int_x86_avx10_mask_vcvtph2udq256 :
- ClangBuiltin<"__builtin_ia32_vcvtph2udq256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v8i32_ty],
- [llvm_v8f16_ty, llvm_v8i32_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
- def int_x86_avx10_mask_vcvtph2uqq256 :
- ClangBuiltin<"__builtin_ia32_vcvtph2uqq256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v4i64_ty],
- [llvm_v8f16_ty, llvm_v4i64_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
- def int_x86_avx10_mask_vcvtph2uw256 :
- ClangBuiltin<"__builtin_ia32_vcvtph2uw256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v16i16_ty],
- [llvm_v16f16_ty, llvm_v16i16_ty, llvm_i16_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
- def int_x86_avx10_mask_vcvtph2w256 :
- ClangBuiltin<"__builtin_ia32_vcvtph2w256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v16i16_ty],
- [llvm_v16f16_ty, llvm_v16i16_ty, llvm_i16_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
- def int_x86_avx10_mask_vcvtps2dq256 :
- ClangBuiltin<"__builtin_ia32_vcvtps2dq256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v8i32_ty],
- [llvm_v8f32_ty, llvm_v8i32_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
- def int_x86_avx10_mask_vcvtps2pd256 :
- ClangBuiltin<"__builtin_ia32_vcvtps2pd256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v4f64_ty],
- [llvm_v4f32_ty, llvm_v4f64_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
- def int_x86_avx10_mask_vcvtps2ph256 :
- ClangBuiltin<"__builtin_ia32_vcvtps2ph256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v8i16_ty],
- [llvm_v8f32_ty, llvm_i32_ty, llvm_v8i16_ty, llvm_i8_ty],
- [IntrNoMem, ImmArg<ArgIndex<1>>]>;
- def int_x86_avx10_mask_vcvtps2phx256 :
- ClangBuiltin<"__builtin_ia32_vcvtps2phx256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v8f16_ty],
- [llvm_v8f32_ty, llvm_v8f16_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
- def int_x86_avx10_mask_vcvtps2qq256 :
- ClangBuiltin<"__builtin_ia32_vcvtps2qq256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v4i64_ty],
- [llvm_v4f32_ty, llvm_v4i64_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
- def int_x86_avx10_mask_vcvtps2udq256 :
- ClangBuiltin<"__builtin_ia32_vcvtps2udq256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v8i32_ty],
- [llvm_v8f32_ty, llvm_v8i32_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
- def int_x86_avx10_mask_vcvtps2uqq256 :
- ClangBuiltin<"__builtin_ia32_vcvtps2uqq256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v4i64_ty],
- [llvm_v4f32_ty, llvm_v4i64_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
- def int_x86_avx10_mask_vcvttpd2dq256 :
- ClangBuiltin<"__builtin_ia32_vcvttpd2dq256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v4i32_ty],
- [llvm_v4f64_ty, llvm_v4i32_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
- def int_x86_avx10_mask_vcvttpd2qq256 :
- ClangBuiltin<"__builtin_ia32_vcvttpd2qq256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v4i64_ty],
- [llvm_v4f64_ty, llvm_v4i64_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
- def int_x86_avx10_mask_vcvttpd2udq256 :
- ClangBuiltin<"__builtin_ia32_vcvttpd2udq256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v4i32_ty],
- [llvm_v4f64_ty, llvm_v4i32_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
- def int_x86_avx10_mask_vcvttpd2uqq256 :
- ClangBuiltin<"__builtin_ia32_vcvttpd2uqq256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v4i64_ty],
- [llvm_v4f64_ty, llvm_v4i64_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
- def int_x86_avx10_mask_vcvttph2dq256 :
- ClangBuiltin<"__builtin_ia32_vcvttph2dq256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v8i32_ty],
- [llvm_v8f16_ty, llvm_v8i32_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
- def int_x86_avx10_mask_vcvttph2qq256 :
- ClangBuiltin<"__builtin_ia32_vcvttph2qq256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v4i64_ty],
- [llvm_v8f16_ty, llvm_v4i64_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
- def int_x86_avx10_mask_vcvttph2udq256 :
- ClangBuiltin<"__builtin_ia32_vcvttph2udq256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v8i32_ty],
- [llvm_v8f16_ty, llvm_v8i32_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
- def int_x86_avx10_mask_vcvttph2uqq256 :
- ClangBuiltin<"__builtin_ia32_vcvttph2uqq256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v4i64_ty],
- [llvm_v8f16_ty, llvm_v4i64_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
- def int_x86_avx10_mask_vcvttph2uw256 :
- ClangBuiltin<"__builtin_ia32_vcvttph2uw256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v16i16_ty],
- [llvm_v16f16_ty, llvm_v16i16_ty, llvm_i16_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
- def int_x86_avx10_mask_vcvttph2w256 :
- ClangBuiltin<"__builtin_ia32_vcvttph2w256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v16i16_ty],
- [llvm_v16f16_ty, llvm_v16i16_ty, llvm_i16_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
- def int_x86_avx10_mask_vcvttps2dq256 :
- ClangBuiltin<"__builtin_ia32_vcvttps2dq256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v8i32_ty],
- [llvm_v8f32_ty, llvm_v8i32_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
- def int_x86_avx10_mask_vcvttps2qq256 :
- ClangBuiltin<"__builtin_ia32_vcvttps2qq256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v4i64_ty],
- [llvm_v4f32_ty, llvm_v4i64_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
- def int_x86_avx10_mask_vcvttps2udq256 :
- ClangBuiltin<"__builtin_ia32_vcvttps2udq256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v8i32_ty],
- [llvm_v8f32_ty, llvm_v8i32_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
- def int_x86_avx10_mask_vcvttps2uqq256 :
- ClangBuiltin<"__builtin_ia32_vcvttps2uqq256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v4i64_ty],
- [llvm_v4f32_ty, llvm_v4i64_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
- def int_x86_avx10_vdivpd256 :
- ClangBuiltin<"__builtin_ia32_vdivpd256_round">,
- DefaultAttrsIntrinsic<[llvm_v4f64_ty],
- [llvm_v4f64_ty, llvm_v4f64_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<2>>]>;
- def int_x86_avx10_vdivph256 :
- ClangBuiltin<"__builtin_ia32_vdivph256_round">,
- DefaultAttrsIntrinsic<[llvm_v16f16_ty],
- [llvm_v16f16_ty, llvm_v16f16_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<2>>]>;
- def int_x86_avx10_vdivps256 :
- ClangBuiltin<"__builtin_ia32_vdivps256_round">,
- DefaultAttrsIntrinsic<[llvm_v8f32_ty],
- [llvm_v8f32_ty, llvm_v8f32_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<2>>]>;
- def int_x86_avx10_mask_vfcmaddcph256 :
- ClangBuiltin<"__builtin_ia32_vfcmaddcph256_round_mask3">,
- DefaultAttrsIntrinsic<[llvm_v8f32_ty],
- [llvm_v8f32_ty, llvm_v8f32_ty, llvm_v8f32_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<4>>]>;
- def int_x86_avx10_maskz_vfcmaddcph256 :
- ClangBuiltin<"__builtin_ia32_vfcmaddcph256_round_maskz">,
- DefaultAttrsIntrinsic<[llvm_v8f32_ty],
- [llvm_v8f32_ty, llvm_v8f32_ty, llvm_v8f32_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<4>>]>;
- def int_x86_avx10_mask_vfcmulcph256 :
- ClangBuiltin<"__builtin_ia32_vfcmulcph256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v8f32_ty],
- [llvm_v8f32_ty, llvm_v8f32_ty, llvm_v8f32_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<4>>]>;
- def int_x86_avx10_mask_vfixupimmpd256 :
- ClangBuiltin<"__builtin_ia32_vfixupimmpd256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v4f64_ty],
- [llvm_v4f64_ty, llvm_v4f64_ty, llvm_v4i64_ty, llvm_i32_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>, ImmArg<ArgIndex<5>>]>;
- def int_x86_avx10_maskz_vfixupimmpd256 :
- ClangBuiltin<"__builtin_ia32_vfixupimmpd256_round_maskz">,
- DefaultAttrsIntrinsic<[llvm_v4f64_ty],
- [llvm_v4f64_ty, llvm_v4f64_ty, llvm_v4i64_ty, llvm_i32_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>, ImmArg<ArgIndex<5>>]>;
- def int_x86_avx10_mask_vfixupimmps256 :
- ClangBuiltin<"__builtin_ia32_vfixupimmps256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v8f32_ty],
- [llvm_v8f32_ty, llvm_v8f32_ty, llvm_v8i32_ty, llvm_i32_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>, ImmArg<ArgIndex<5>>]>;
- def int_x86_avx10_maskz_vfixupimmps256 :
- ClangBuiltin<"__builtin_ia32_vfixupimmps256_round_maskz">,
- DefaultAttrsIntrinsic<[llvm_v8f32_ty],
- [llvm_v8f32_ty, llvm_v8f32_ty, llvm_v8i32_ty, llvm_i32_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>, ImmArg<ArgIndex<5>>]>;
- def int_x86_avx10_vfmaddpd256 :
- DefaultAttrsIntrinsic<[llvm_v4f64_ty],
- [llvm_v4f64_ty, llvm_v4f64_ty, llvm_v4f64_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
- def int_x86_avx10_vfmaddph256 :
- DefaultAttrsIntrinsic<[llvm_v16f16_ty],
- [llvm_v16f16_ty, llvm_v16f16_ty, llvm_v16f16_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
- def int_x86_avx10_vfmaddps256 :
- DefaultAttrsIntrinsic<[llvm_v8f32_ty],
- [llvm_v8f32_ty, llvm_v8f32_ty, llvm_v8f32_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
- def int_x86_avx10_mask_vfmaddcph256 :
- ClangBuiltin<"__builtin_ia32_vfmaddcph256_round_mask3">,
- DefaultAttrsIntrinsic<[llvm_v8f32_ty],
- [llvm_v8f32_ty, llvm_v8f32_ty, llvm_v8f32_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<4>>]>;
- def int_x86_avx10_maskz_vfmaddcph256 :
- ClangBuiltin<"__builtin_ia32_vfmaddcph256_round_maskz">,
- DefaultAttrsIntrinsic<[llvm_v8f32_ty],
- [llvm_v8f32_ty, llvm_v8f32_ty, llvm_v8f32_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<4>>]>;
- def int_x86_avx10_vfmaddsubpd256 :
- ClangBuiltin<"__builtin_ia32_vfmaddsubpd256_round">,
- DefaultAttrsIntrinsic<[llvm_v4f64_ty],
- [llvm_v4f64_ty, llvm_v4f64_ty, llvm_v4f64_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
- def int_x86_avx10_vfmaddsubph256 :
- ClangBuiltin<"__builtin_ia32_vfmaddsubph256_round">,
- DefaultAttrsIntrinsic<[llvm_v16f16_ty],
- [llvm_v16f16_ty, llvm_v16f16_ty, llvm_v16f16_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
- def int_x86_avx10_vfmaddsubps256 :
- ClangBuiltin<"__builtin_ia32_vfmaddsubps256_round">,
- DefaultAttrsIntrinsic<[llvm_v8f32_ty],
- [llvm_v8f32_ty, llvm_v8f32_ty, llvm_v8f32_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
- def int_x86_avx10_mask_vfmulcph256 :
- ClangBuiltin<"__builtin_ia32_vfmulcph256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v8f32_ty],
- [llvm_v8f32_ty, llvm_v8f32_ty, llvm_v8f32_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<4>>]>;
- def int_x86_avx10_mask_vgetexppd256 :
- ClangBuiltin<"__builtin_ia32_vgetexppd256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v4f64_ty],
- [llvm_v4f64_ty, llvm_v4f64_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
- def int_x86_avx10_mask_vgetexpph256 :
- ClangBuiltin<"__builtin_ia32_vgetexpph256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v16f16_ty],
- [llvm_v16f16_ty, llvm_v16f16_ty, llvm_i16_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
- def int_x86_avx10_mask_vgetexpps256 :
- ClangBuiltin<"__builtin_ia32_vgetexpps256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v8f32_ty],
- [llvm_v8f32_ty, llvm_v8f32_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
- def int_x86_avx10_mask_vgetmantpd256 :
- ClangBuiltin<"__builtin_ia32_vgetmantpd256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v4f64_ty],
- [llvm_v4f64_ty, llvm_i32_ty, llvm_v4f64_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<1>>, ImmArg<ArgIndex<4>>]>;
- def int_x86_avx10_mask_vgetmantph256 :
- ClangBuiltin<"__builtin_ia32_vgetmantph256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v16f16_ty],
- [llvm_v16f16_ty, llvm_i32_ty, llvm_v16f16_ty, llvm_i16_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<1>>, ImmArg<ArgIndex<4>>]>;
- def int_x86_avx10_mask_vgetmantps256 :
- ClangBuiltin<"__builtin_ia32_vgetmantps256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v8f32_ty],
- [llvm_v8f32_ty, llvm_i32_ty, llvm_v8f32_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<1>>, ImmArg<ArgIndex<4>>]>;
- def int_x86_avx10_vmaxpd256 :
- ClangBuiltin<"__builtin_ia32_vmaxpd256_round">,
- DefaultAttrsIntrinsic<[llvm_v4f64_ty],
- [llvm_v4f64_ty, llvm_v4f64_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<2>>]>;
- def int_x86_avx10_vmaxph256 :
- ClangBuiltin<"__builtin_ia32_vmaxph256_round">,
- DefaultAttrsIntrinsic<[llvm_v16f16_ty],
- [llvm_v16f16_ty, llvm_v16f16_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<2>>]>;
- def int_x86_avx10_vmaxps256 :
- ClangBuiltin<"__builtin_ia32_vmaxps256_round">,
- DefaultAttrsIntrinsic<[llvm_v8f32_ty],
- [llvm_v8f32_ty, llvm_v8f32_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<2>>]>;
- def int_x86_avx10_vminpd256 :
- ClangBuiltin<"__builtin_ia32_vminpd256_round">,
- DefaultAttrsIntrinsic<[llvm_v4f64_ty],
- [llvm_v4f64_ty, llvm_v4f64_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<2>>]>;
- def int_x86_avx10_vminph256 :
- ClangBuiltin<"__builtin_ia32_vminph256_round">,
- DefaultAttrsIntrinsic<[llvm_v16f16_ty],
- [llvm_v16f16_ty, llvm_v16f16_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<2>>]>;
- def int_x86_avx10_vminps256 :
- ClangBuiltin<"__builtin_ia32_vminps256_round">,
- DefaultAttrsIntrinsic<[llvm_v8f32_ty],
- [llvm_v8f32_ty, llvm_v8f32_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<2>>]>;
- def int_x86_avx10_vmulpd256 :
- ClangBuiltin<"__builtin_ia32_vmulpd256_round">,
- DefaultAttrsIntrinsic<[llvm_v4f64_ty],
- [llvm_v4f64_ty, llvm_v4f64_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<2>>]>;
- def int_x86_avx10_vmulph256 :
- ClangBuiltin<"__builtin_ia32_vmulph256_round">,
- DefaultAttrsIntrinsic<[llvm_v16f16_ty],
- [llvm_v16f16_ty, llvm_v16f16_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<2>>]>;
- def int_x86_avx10_vmulps256 :
- ClangBuiltin<"__builtin_ia32_vmulps256_round">,
- DefaultAttrsIntrinsic<[llvm_v8f32_ty],
- [llvm_v8f32_ty, llvm_v8f32_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<2>>]>;
- def int_x86_avx10_mask_vrangepd256 :
- ClangBuiltin<"__builtin_ia32_vrangepd256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v4f64_ty],
- [llvm_v4f64_ty, llvm_v4f64_ty, llvm_i32_ty, llvm_v4f64_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<2>>, ImmArg<ArgIndex<5>>]>;
- def int_x86_avx10_mask_vrangeps256 :
- ClangBuiltin<"__builtin_ia32_vrangeps256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v8f32_ty],
- [llvm_v8f32_ty, llvm_v8f32_ty, llvm_i32_ty, llvm_v8f32_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<2>>, ImmArg<ArgIndex<5>>]>;
- def int_x86_avx10_mask_vreducepd256 :
- ClangBuiltin<"__builtin_ia32_vreducepd256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v4f64_ty],
- [llvm_v4f64_ty, llvm_i32_ty, llvm_v4f64_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<1>>, ImmArg<ArgIndex<4>>]>;
- def int_x86_avx10_mask_vreduceph256 :
- ClangBuiltin<"__builtin_ia32_vreduceph256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v16f16_ty],
- [llvm_v16f16_ty, llvm_i32_ty, llvm_v16f16_ty, llvm_i16_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<1>>, ImmArg<ArgIndex<4>>]>;
- def int_x86_avx10_mask_vreduceps256 :
- ClangBuiltin<"__builtin_ia32_vreduceps256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v8f32_ty],
- [llvm_v8f32_ty, llvm_i32_ty, llvm_v8f32_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<1>>, ImmArg<ArgIndex<4>>]>;
- def int_x86_avx10_mask_vrndscalepd256 :
- ClangBuiltin<"__builtin_ia32_vrndscalepd256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v4f64_ty],
- [llvm_v4f64_ty, llvm_i32_ty, llvm_v4f64_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<1>>, ImmArg<ArgIndex<4>>]>;
- def int_x86_avx10_mask_vrndscaleph256 :
- ClangBuiltin<"__builtin_ia32_vrndscaleph256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v16f16_ty],
- [llvm_v16f16_ty, llvm_i32_ty, llvm_v16f16_ty, llvm_i16_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<1>>, ImmArg<ArgIndex<4>>]>;
- def int_x86_avx10_mask_vrndscaleps256 :
- ClangBuiltin<"__builtin_ia32_vrndscaleps256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v8f32_ty],
- [llvm_v8f32_ty, llvm_i32_ty, llvm_v8f32_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<1>>, ImmArg<ArgIndex<4>>]>;
- def int_x86_avx10_mask_vscalefpd256 :
- ClangBuiltin<"__builtin_ia32_vscalefpd256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v4f64_ty],
- [llvm_v4f64_ty, llvm_v4f64_ty, llvm_v4f64_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<4>>]>;
- def int_x86_avx10_mask_vscalefph256 :
- ClangBuiltin<"__builtin_ia32_vscalefph256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v16f16_ty],
- [llvm_v16f16_ty, llvm_v16f16_ty, llvm_v16f16_ty, llvm_i16_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<4>>]>;
- def int_x86_avx10_mask_vscalefps256 :
- ClangBuiltin<"__builtin_ia32_vscalefps256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v8f32_ty],
- [llvm_v8f32_ty, llvm_v8f32_ty, llvm_v8f32_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<4>>]>;
- def int_x86_avx10_vsqrtpd256 : ClangBuiltin<"__builtin_ia32_vsqrtpd256_round">,
- DefaultAttrsIntrinsic<[llvm_v4f64_ty],
- [llvm_v4f64_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<1>>]>;
- def int_x86_avx10_vsqrtph256 : ClangBuiltin<"__builtin_ia32_vsqrtph256_round">,
- DefaultAttrsIntrinsic<[llvm_v16f16_ty],
- [llvm_v16f16_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<1>>]>;
- def int_x86_avx10_vsqrtps256 : ClangBuiltin<"__builtin_ia32_vsqrtps256_round">,
- DefaultAttrsIntrinsic<[llvm_v8f32_ty],
- [llvm_v8f32_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<1>>]>;
- def int_x86_avx10_vsubpd256 :
- ClangBuiltin<"__builtin_ia32_vsubpd256_round">,
- DefaultAttrsIntrinsic<[llvm_v4f64_ty],
- [llvm_v4f64_ty, llvm_v4f64_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<2>>]>;
- def int_x86_avx10_vsubph256 :
- ClangBuiltin<"__builtin_ia32_vsubph256_round">,
- DefaultAttrsIntrinsic<[llvm_v16f16_ty],
- [llvm_v16f16_ty, llvm_v16f16_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<2>>]>;
- def int_x86_avx10_vsubps256 :
- ClangBuiltin<"__builtin_ia32_vsubps256_round">,
- DefaultAttrsIntrinsic<[llvm_v8f32_ty],
- [llvm_v8f32_ty, llvm_v8f32_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<2>>]>;
}
// conversion with saturation
diff --git a/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp b/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
index c27177484f55a..4a1f9a77f6a51 100644
--- a/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
+++ b/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
@@ -100,7 +100,7 @@ using namespace llvm::X86Disassembler;
// this information is known, we have narrowed down to a single instruction.
struct ModRMDecision {
uint8_t modrm_type;
- uint32_t instructionIDs;
+ uint16_t instructionIDs;
};
// Specifies which set of ModR/M->instruction tables to look at
diff --git a/llvm/lib/Target/X86/X86InstrAVX10.td b/llvm/lib/Target/X86/X86InstrAVX10.td
index 9bb3e364f7c62..b368a5299f907 100644
--- a/llvm/lib/Target/X86/X86InstrAVX10.td
+++ b/llvm/lib/Target/X86/X86InstrAVX10.td
@@ -52,294 +52,6 @@ defm VMPSADBW : avx512_common_3Op_rm_imm8<0x42, X86Vmpsadbw, "vmpsadbw", SchedWr
HasAVX10_2>,
XS, EVEX_CD8<32, CD8VF>;
-// YMM Rounding
-multiclass avx256_fp_binop_p_round<bits<8> opc, string OpcodeStr, SDNode OpNodeRnd,
- X86SchedWriteSizes sched> {
- defm PHZ256 : avx512_fp_round_packed<opc, OpcodeStr, OpNodeRnd, sched.PH.YMM,
- v16f16x_info>, T_MAP5,PS, EVEX_CD8<16, CD8VF>;
- defm PSZ256 : avx512_fp_round_packed<opc, OpcodeStr, OpNodeRnd, sched.PS.YMM,
- v8f32x_info>, TB, PS, EVEX_CD8<32, CD8VF>;
- defm PDZ256 : avx512_fp_round_packed<opc, OpcodeStr, OpNodeRnd, sched.PD.YMM,
- v4f64x_info>, TB, PD, EVEX_CD8<64, CD8VF>, REX_W;
-}
-
-multiclass avx256_fp_binop_p_sae<bits<8> opc, string OpcodeStr, SDNode OpNodeRnd,
- X86SchedWriteSizes sched> {
- defm PHZ256 : avx512_fp_sae_packed<opc, OpcodeStr, OpNodeRnd, sched.PH.YMM,
- v16f16x_info>, T_MAP5,PS, EVEX_CD8<16, CD8VF>;
- defm PSZ256 : avx512_fp_sae_packed<opc, OpcodeStr, OpNodeRnd, sched.PS.YMM,
- v8f32x_info>, TB, PS, EVEX_CD8<32, CD8VF>;
- defm PDZ256 : avx512_fp_sae_packed<opc, OpcodeStr, OpNodeRnd, sched.PD.YMM,
- v4f64x_info>, TB, PD, EVEX_CD8<64, CD8VF>, REX_W;
-}
-
-multiclass avx256_vcmp_p_sae<X86SchedWriteWidths sched> {
- defm PHZ256 : avx512_vcmp_sae<sched.YMM, v16f16x_info>, AVX512PSIi8Base, EVEX_CD8<16, CD8VF>, TA;
- defm PSZ256 : avx512_vcmp_sae<sched.YMM, v8f32x_info>, AVX512PSIi8Base, EVEX_CD8<32, CD8VF>;
- defm PDZ256 : avx512_vcmp_sae<sched.YMM, v4f64x_info>, AVX512PDIi8Base, EVEX_CD8<64, CD8VF>, REX_W;
-}
-
-multiclass avx256_fixupimm_packed_all<bits<8> opc, string OpcodeStr,
- X86SchedWriteWidths sched> {
- defm PSZ256 : avx512_fixupimm_packed_sae<opc, OpcodeStr, sched.YMM, v8f32x_info,
- v8i32x_info>, EVEX_CD8<32, CD8VF>;
- defm PDZ256 : avx512_fixupimm_packed_sae<opc, OpcodeStr, sched.YMM, v4f64x_info,
- v4i64x_info>, EVEX_CD8<64, CD8VF>, REX_W;
-}
-
-multiclass avx256_vgetexp<bits<8> opc, string OpcodeStr, SDNode OpNodeSAE,
- X86SchedWriteWidths sched> {
- defm PHZ256 : avx512_fp28_p_sae<opc, OpcodeStr#"ph", v16f16x_info, OpNodeSAE,
- sched.YMM>, T_MAP6,PD, EVEX_CD8<16, CD8VF>;
- defm PSZ256 : avx512_fp28_p_sae<opc, OpcodeStr#"ps", v8f32x_info, OpNodeSAE,
- sched.YMM>, T8,PD, EVEX_CD8<32, CD8VF>;
- defm PDZ256 : avx512_fp28_p_sae<opc, OpcodeStr#"pd", v4f64x_info, OpNodeSAE,
- sched.YMM>, T8,PD, EVEX_CD8<64, CD8VF>, REX_W;
-}
-
-multiclass avx256_unary_fp_sae<string OpcodeStr, bits<8> opcPs, bits<8> opcPd,
- SDNode OpNodeSAE, X86SchedWriteWidths sched> {
- defm PHZ256 : avx512_unary_fp_sae_packed_imm<opcPs, OpcodeStr, OpNodeSAE, sched.YMM,
- v16f16x_info>, AVX512PSIi8Base, TA, EVEX_CD8<16, CD8VF>;
- defm PSZ256 : avx512_unary_fp_sae_packed_imm<opcPs, OpcodeStr, OpNodeSAE, sched.YMM,
- v8f32x_info>, AVX512AIi8Base, EVEX_CD8<32, CD8VF>;
- defm PDZ256 : avx512_unary_fp_sae_packed_imm<opcPd, OpcodeStr, OpNodeSAE, sched.YMM,
- v4f64x_info>, AVX512AIi8Base, EVEX_CD8<64, CD8VF>, REX_W;
-}
-
-multiclass avx256_common_fp_sae_packed_imm<bits<8> opc, string OpcodeStr, SDNode OpNodeSAE,
- X86SchedWriteWidths sched> {
- defm PSZ256 : avx512_fp_sae_packed_imm<opc, OpcodeStr#"ps", OpNodeSAE, sched.YMM,
- v8f32x_info>, EVEX_CD8<32, CD8VF>;
- defm PDZ256 : avx512_fp_sae_packed_imm<opc, OpcodeStr#"pd", OpNodeSAE, sched.YMM,
- v4f64x_info>, EVEX_CD8<64, CD8VF>, REX_W;
-}
-
-multiclass avx256_fp_scalef_round<bits<8> opc, string OpcodeStr, SDNode OpNodeRnd,
- X86SchedWriteWidths sched> {
- defm PHZ256 : avx512_fp_round_packed<opc, OpcodeStr, OpNodeRnd, sched.YMM,
- v16f16x_info>, T_MAP6,PD, EVEX_CD8<16, CD8VF>;
- defm PSZ256 : avx512_fp_round_packed<opc, OpcodeStr, OpNodeRnd, sched.YMM,
- v8f32x_info>, T8,PD, EVEX_CD8<32, CD8VF>;
- defm PDZ256 : avx512_fp_round_packed<opc, OpcodeStr, OpNodeRnd, sched.YMM,
- v4f64x_info>, T8,PD, EVEX_CD8<64, CD8VF>, REX_W;
-}
-
-multiclass avx256_sqrt_packed_all_round<bits<8> opc, string OpcodeStr,
- X86SchedWriteSizes sched> {
- defm PHZ256 : avx512_sqrt_packed_round<opc, !strconcat(OpcodeStr, "ph"),
- sched.PH.YMM, v16f16x_info>, T_MAP5,PS, EVEX_CD8<16, CD8VF>;
- defm PSZ256 : avx512_sqrt_packed_round<opc, !strconcat(OpcodeStr, "ps"),
- sched.PS.YMM, v8f32x_info>, TB, PS, EVEX_CD8<32, CD8VF>;
- defm PDZ256 : avx512_sqrt_packed_round<opc, !strconcat(OpcodeStr, "pd"),
- sched.PD.YMM, v4f64x_info>, TB, PD, EVEX_CD8<64, CD8VF>, REX_W;
-}
-
-multiclass avx256_vcvtw_rc<string OpcodeStr, SDNode OpNodeRnd> {
- defm PHZ256 : avx512_vcvt_fp_rc<0x7D, OpcodeStr, v16f16x_info, v16i16x_info, OpNodeRnd,
- SchedWriteCvtPD2DQ.YMM>, EVEX_CD8<16, CD8VF>;
-}
-
-multiclass avx256_cvtdq2fp_rc<bits<8> opc, string OpcodeStr, SDNode OpNodeRnd,
- X86SchedWriteWidths sched> {
- defm PHZ256 : avx512_vcvt_fp_rc<opc, !strconcat(OpcodeStr, "ph"), v8f16x_info,
- v8i32x_info, OpNodeRnd, sched.YMM>, T_MAP5,PS, EVEX_CD8<32, CD8VF>;
- defm PSZ256 : avx512_vcvt_fp_rc<opc, !strconcat(OpcodeStr, "ps"), v8f32x_info,
- v8i32x_info, OpNodeRnd, sched.YMM>, TB, PS, EVEX_CD8<32, CD8VF>;
-}
-
-multiclass avx256_cvtudq2fp_rc<bits<8> opc, string OpcodeStr, SDNode OpNodeRnd,
- X86SchedWriteWidths sched> {
- defm PHZ256 : avx512_vcvt_fp_rc<opc, !strconcat(OpcodeStr, "ph"), v8f16x_info,
- v8i32x_info, OpNodeRnd, sched.YMM>, T_MAP5,XD, EVEX_CD8<32, CD8VF>;
- defm PSZ256 : avx512_vcvt_fp_rc<opc, !strconcat(OpcodeStr, "ps"), v8f32x_info,
- v8i32x_info, OpNodeRnd, sched.YMM>, TB, XD, EVEX_CD8<32, CD8VF>;
-}
-
-multiclass avx256_cvtqq2fp_rc<string OpcodeStr, X86VectorVTInfo _Src> {
- defm PHZ256 : avx512_vcvt_fp_rc<0x5B, !strconcat(OpcodeStr, "ph"), v8f16x_info,
- _Src, X86VSintToFpRnd, SchedWriteCvtDQ2PS.YMM>, T_MAP5,PS;
- defm PSZ256 : avx512_vcvt_fp_rc<0x5B, !strconcat(OpcodeStr, "ps"), v4f32x_info,
- _Src, X86VSintToFpRnd, SchedWriteCvtDQ2PS.YMM>, TB, PS;
- defm PDZ256 : avx512_vcvt_fp_rc<0xE6, !strconcat(OpcodeStr, "pd"), v4f64x_info,
- _Src, X86VSintToFpRnd, SchedWriteCvtDQ2PD.YMM>, TB, XS;
-}
-
-multiclass avx256_cvtuqq2fp_rc<string OpcodeStr, X86VectorVTInfo _Src> {
- defm PHZ256 : avx512_vcvt_fp_rc<0x7A, !strconcat(OpcodeStr, "ph"), v8f16x_info,
- _Src, X86VUintToFpRnd, SchedWriteCvtDQ2PS.YMM>, T_MAP5,XD;
- defm PSZ256 : avx512_vcvt_fp_rc<0x7A, !strconcat(OpcodeStr, "ps"), v4f32x_info,
- _Src, X86VUintToFpRnd, SchedWriteCvtDQ2PS.YMM>, TB, XD;
- defm PDZ256 : avx512_vcvt_fp_rc<0x7A, !strconcat(OpcodeStr, "pd"), v4f64x_info,
- _Src, X86VUintToFpRnd, SchedWriteCvtDQ2PD.YMM>, TB, XS;
-}
-
-multiclass avx256_vcvt_pd2<string OpcodeStr, X86VectorVTInfo _Src> {
- defm PHZ256 : avx512_vcvt_fp_rc<0x5A, !strconcat(OpcodeStr, "ph"), v8f16x_info,
- _Src, X86vfproundRnd, SchedWriteCvtPD2PS.YMM>, T_MAP5,PD;
- defm PSZ256 : avx512_vcvt_fp_rc<0x5A, !strconcat(OpcodeStr, "ps"), v4f32x_info,
- _Src, X86vfproundRnd, SchedWriteCvtPD2PS.YMM>, TB, PD;
- defm DQZ256 : avx512_vcvt_fp_rc<0xE6, !strconcat(OpcodeStr, "dq"), v4i32x_info,
- _Src, X86cvtp2IntRnd, SchedWriteCvtPD2DQ.YMM>, TB, XD;
- defm QQZ256 : avx512_vcvt_fp_rc<0x7B, !strconcat(OpcodeStr, "qq"), v4i64x_info,
- _Src, X86cvtp2IntRnd, SchedWriteCvtPD2DQ.YMM>, TB, PD;
- defm UDQZ256 : avx512_vcvt_fp_rc<0x79, !strconcat(OpcodeStr, "udq"), v4i32x_info,
- _Src, X86cvtp2UIntRnd, SchedWriteCvtPD2DQ.YMM>, TB, PS;
- defm UQQZ256 : avx512_vcvt_fp_rc<0x79, !strconcat(OpcodeStr, "uqq"), v4i64x_info,
- _Src, X86cvtp2UIntRnd, SchedWriteCvtPD2DQ.YMM>, TB, PD;
-}
-
-multiclass avx256_vcvt_ps2<string OpcodeStr> {
- defm PHZ256 : avx512_cvtps2ph_sae<v8i16x_info, v8f32x_info, WriteCvtPS2PHZ>, EVEX_CD8<32, CD8VH>;
- defm PHXZ256 : avx512_vcvt_fp_rc<0x1D, !strconcat(OpcodeStr, "phx"), v8f16x_info, v8f32x_info,
- X86vfproundRnd, SchedWriteCvtPD2PS.YMM>, T_MAP5,PD, EVEX_CD8<32, CD8VF>;
- defm PDZ256 : avx512_vcvt_fp_sae<0x5A, !strconcat(OpcodeStr, "pd"), v4f64x_info, v4f32x_info,
- X86vfpextSAE, SchedWriteCvtPS2PD.YMM>, TB, PS, EVEX_CD8<32, CD8VF>;
- defm DQZ256 : avx512_vcvt_fp_rc<0x5B, !strconcat(OpcodeStr, "dq"), v8i32x_info, v8f32x_info,
- X86cvtp2IntRnd, SchedWriteCvtPS2DQ.YMM>, TB, PD, EVEX_CD8<32, CD8VF>;
- defm QQZ256 : avx512_vcvt_fp_rc<0x7B, !strconcat(OpcodeStr, "qq"), v4i64x_info, v4f32x_info,
- X86cvtp2IntRnd, SchedWriteCvtPS2DQ.YMM>, TB, PD, EVEX_CD8<32, CD8VF>;
- defm UDQZ256 : avx512_vcvt_fp_rc<0x79, !strconcat(OpcodeStr, "udq"), v8i32x_info, v8f32x_info,
- X86cvtp2UIntRnd, SchedWriteCvtPS2DQ.YMM>, TB, PS, EVEX_CD8<32, CD8VF>;
- defm UQQZ256 : avx512_vcvt_fp_rc<0x79, !strconcat(OpcodeStr, "uqq"), v4i64x_info, v4f32x_info,
- X86cvtp2UIntRnd, SchedWriteCvtPS2DQ.YMM>, TB, PD, EVEX_CD8<32, CD8VF>;
-}
-
-multiclass avx256_vcvt_ph2<string OpcodeStr> {
- defm PSZ256 : avx512_cvtph2ps_sae<v8f32x_info, v8i16x_info, WriteCvtPH2PSZ>, EVEX_CD8<32, CD8VH>;
- defm PSXZ256 : avx512_vcvt_fp_sae<0x13, !strconcat(OpcodeStr, "psx"), v8f32x_info, v8f16x_info,
- X86vfpextSAE, SchedWriteCvtPS2PD.YMM>, T_MAP6,PD, EVEX_CD8<16, CD8VH>;
- defm PDZ256 : avx512_vcvt_fp_sae<0x5A, !strconcat(OpcodeStr, "pd"), v4f64x_info, v8f16x_info,
- X86vfpextSAE, SchedWriteCvtPS2PD.YMM>, T_MAP5,PS, EVEX_CD8<16, CD8VQ>;
- defm WZ256 : avx512_vcvt_fp_rc<0x7D, !strconcat(OpcodeStr, "w"), v16i16x_info, v16f16x_info,
- X86cvtp2IntRnd, SchedWriteCvtPD2DQ.YMM>, T_MAP5,PD, EVEX_CD8<16, CD8VF>;
- defm DQZ256 : avx512_vcvt_fp_rc<0x5B, !strconcat(OpcodeStr, "dq"), v8i32x_info, v8f16x_info,
- X86cvtp2IntRnd, SchedWriteCvtPS2DQ.YMM>, T_MAP5,PD, EVEX_CD8<16, CD8VH>;
- defm QQZ256 : avx512_vcvt_fp_rc<0x7B, !strconcat(OpcodeStr, "qq"), v4i64x_info, v8f16x_info,
- X86cvtp2IntRnd, SchedWriteCvtPS2DQ.YMM>, T_MAP5,PD, EVEX_CD8<16, CD8VQ>;
- defm UWZ256 : avx512_vcvt_fp_rc<0x7D, !strconcat(OpcodeStr, "uw"), v16i16x_info, v16f16x_info,
- X86cvtp2UIntRnd, SchedWriteCvtPD2DQ.YMM>, T_MAP5,PS, EVEX_CD8<16, CD8VF>;
- defm UDQZ256 : avx512_vcvt_fp_rc<0x79, !strconcat(OpcodeStr, "udq"), v8i32x_info, v8f16x_info,
- X86cvtp2UIntRnd, SchedWriteCvtPS2DQ.YMM>, T_MAP5,PS, EVEX_CD8<16, CD8VH>;
- defm UQQZ256 : avx512_vcvt_fp_rc<0x79, !strconcat(OpcodeStr, "uqq"), v4i64x_info, v8f16x_info,
- X86cvtp2UIntRnd, SchedWriteCvtPS2DQ.YMM>, T_MAP5,PD, EVEX_CD8<16, CD8VQ>;
-}
-
-multiclass avx256_vcvtt_pd2<string OpcodeStr, X86VectorVTInfo _Src> {
- defm DQZ256 : avx512_vcvt_fp_sae<0xE6, !strconcat(OpcodeStr, "dq"), v4i32x_info,
- _Src, X86cvttp2siSAE, SchedWriteCvtPD2DQ.YMM>, PD;
- defm QQZ256 : avx512_vcvt_fp_sae<0x7A, !strconcat(OpcodeStr, "qq"), v4i64x_info,
- _Src, X86cvttp2siSAE, SchedWriteCvtPD2DQ.YMM>, PD;
- defm UDQZ256 : avx512_vcvt_fp_sae<0x78, !strconcat(OpcodeStr, "udq"), v4i32x_info,
- _Src, X86cvttp2uiSAE, SchedWriteCvtPD2DQ.YMM>, PS;
- defm UQQZ256 : avx512_vcvt_fp_sae<0x78, !strconcat(OpcodeStr, "uqq"), v4i64x_info,
- _Src, X86cvttp2uiSAE, SchedWriteCvtPD2DQ.YMM>, PD;
-}
-
-multiclass avx256_vcvtt_ps2<string OpcodeStr> {
- defm DQZ256 : avx512_vcvt_fp_sae<0x5B, !strconcat(OpcodeStr, "dq"), v8i32x_info, v8f32x_info,
- X86cvttp2siSAE, SchedWriteCvtPS2DQ.YMM>, XS, EVEX_CD8<32, CD8VF>;
- defm QQZ256 : avx512_vcvt_fp_sae<0x7A, !strconcat(OpcodeStr, "qq"), v4i64x_info, v4f32x_info,
- X86cvttp2siSAE, SchedWriteCvtPS2DQ.YMM>, PD, EVEX_CD8<32, CD8VH>;
- defm UDQZ256 : avx512_vcvt_fp_sae<0x78, !strconcat(OpcodeStr, "udq"), v8i32x_info, v8f32x_info,
- X86cvttp2uiSAE, SchedWriteCvtPS2DQ.YMM>, PS, EVEX_CD8<32, CD8VF>;
- defm UQQZ256 : avx512_vcvt_fp_sae<0x78, !strconcat(OpcodeStr, "uqq"), v4i64x_info, v4f32x_info,
- X86cvttp2uiSAE, SchedWriteCvtPS2DQ.YMM>, PD, EVEX_CD8<32, CD8VH>;
-}
-
-multiclass avx256_vcvtt_ph2<string OpcodeStr> {
- defm WZ256 : avx512_vcvt_fp_sae<0x7C, !strconcat(OpcodeStr, "w"), v16i16x_info, v16f16x_info,
- X86cvttp2siSAE, SchedWriteCvtPD2DQ.YMM>, T_MAP5,PD, EVEX_CD8<16, CD8VF>;
- defm DQZ256 : avx512_vcvt_fp_sae<0x5B, !strconcat(OpcodeStr, "dq"), v8i32x_info, v8f16x_info,
- X86cvttp2siSAE, SchedWriteCvtPS2DQ.YMM>, T_MAP5,XS, EVEX_CD8<16, CD8VH>;
- defm QQZ256 : avx512_vcvt_fp_sae<0x7A, !strconcat(OpcodeStr, "qq"), v4i64x_info, v8f16x_info,
- X86cvttp2siSAE, SchedWriteCvtPS2DQ.YMM>, T_MAP5,PD, EVEX_CD8<16, CD8VQ>;
- defm UWZ256 : avx512_vcvt_fp_sae<0x7C, !strconcat(OpcodeStr, "uw"), v16i16x_info, v16f16x_info,
- X86cvttp2uiSAE, SchedWriteCvtPD2DQ.YMM>, T_MAP5,PS, EVEX_CD8<16, CD8VF>;
- defm UDQZ256 : avx512_vcvt_fp_sae<0x78, !strconcat(OpcodeStr, "udq"), v8i32x_info, v8f16x_info,
- X86cvttp2uiSAE, SchedWriteCvtPS2DQ.YMM>, T_MAP5,PS, EVEX_CD8<16, CD8VH>;
- defm UQQZ256 : avx512_vcvt_fp_sae<0x78, !strconcat(OpcodeStr, "uqq"), v4i64x_info, v8f16x_info,
- X86cvttp2uiSAE, SchedWriteCvtPS2DQ.YMM>, T_MAP5,PD, EVEX_CD8<16, CD8VQ>;
-}
-
-multiclass avx256_fma3_132_round<bits<8> opc, string OpcodeStr, SDNode OpNodeRnd> {
- defm PHZ256 : avx512_fma3_132_round<opc, !strconcat(OpcodeStr, "ph"), OpNodeRnd,
- SchedWriteFMA.YMM, v16f16x_info>, T_MAP6,PD, EVEX_CD8<16, CD8VF>;
- defm PSZ256 : avx512_fma3_132_round<opc, !strconcat(OpcodeStr, "ps"), OpNodeRnd,
- SchedWriteFMA.YMM, v8f32x_info>, T8,PD, EVEX_CD8<32, CD8VF>;
- defm PDZ256 : avx512_fma3_132_round<opc, !strconcat(OpcodeStr, "pd"), OpNodeRnd,
- SchedWriteFMA.YMM, v4f64x_info>, T8,PD, EVEX_CD8<64, CD8VF>, REX_W;
-}
-
-multiclass avx256_fma3_213_round<bits<8> opc, string OpcodeStr, SDNode OpNodeRnd> {
- defm PHZ256 : avx512_fma3_213_round<opc, !strconcat(OpcodeStr, "ph"), OpNodeRnd,
- SchedWriteFMA.YMM, v16f16x_info>, T_MAP6,PD, EVEX_CD8<16, CD8VF>;
- defm PSZ256 : avx512_fma3_213_round<opc, !strconcat(OpcodeStr, "ps"), OpNodeRnd,
- SchedWriteFMA.YMM, v8f32x_info>, T8,PD, EVEX_CD8<32, CD8VF>;
- defm PDZ256 : avx512_fma3_213_round<opc, !strconcat(OpcodeStr, "pd"), OpNodeRnd,
- SchedWriteFMA.YMM, v4f64x_info>, T8,PD, EVEX_CD8<64, CD8VF>, REX_W;
-}
-
-multiclass avx256_fma3_231_round<bits<8> opc, string OpcodeStr, SDNode OpNodeRnd> {
- defm PHZ256 : avx512_fma3_231_round<opc, !strconcat(OpcodeStr, "ph"), OpNodeRnd,
- SchedWriteFMA.YMM, v16f16x_info>, T_MAP6,PD, EVEX_CD8<16, CD8VF>;
- defm PSZ256 : avx512_fma3_231_round<opc, !strconcat(OpcodeStr, "ps"), OpNodeRnd,
- SchedWriteFMA.YMM, v8f32x_info>, T8,PD, EVEX_CD8<32, CD8VF>;
- defm PDZ256 : avx512_fma3_231_round<opc, !strconcat(OpcodeStr, "pd"), OpNodeRnd,
- SchedWriteFMA.YMM, v4f64x_info>, T8,PD, EVEX_CD8<64, CD8VF>, REX_W;
-}
-
-multiclass avx256_fma3_round3<bits<8> opc132, bits<8> opc213, bits<8> opc231,
- string OpcodeStr, SDNode OpNodeRnd> {
- defm NAME#132 : avx256_fma3_132_round<opc132, !strconcat(OpcodeStr, "132"), OpNodeRnd>;
- defm NAME#213 : avx256_fma3_213_round<opc213, !strconcat(OpcodeStr, "213"), OpNodeRnd>;
- defm NAME#231 : avx256_fma3_231_round<opc231, !strconcat(OpcodeStr, "231"), OpNodeRnd>;
-}
-
-let Predicates = [HasAVX10_2], hasEVEX_U = 1, OpEnc = EncEVEX in {
- defm VADD : avx256_fp_binop_p_round<0x58, "vadd", X86faddRnd, SchedWriteFAddSizes>;
- defm VMUL : avx256_fp_binop_p_round<0x59, "vmul", X86fmulRnd, SchedWriteFMulSizes>;
- defm VSUB : avx256_fp_binop_p_round<0x5C, "vsub", X86fsubRnd, SchedWriteFAddSizes>;
- defm VDIV : avx256_fp_binop_p_round<0x5E, "vdiv", X86fdivRnd, SchedWriteFDivSizes>;
- defm VMIN : avx256_fp_binop_p_sae<0x5D, "vmin", X86fminSAE, SchedWriteFCmpSizes>;
- defm VMAX : avx256_fp_binop_p_sae<0x5F, "vmax", X86fmaxSAE, SchedWriteFCmpSizes>;
- defm VCMP : avx256_vcmp_p_sae<SchedWriteFCmp>, EVEX, VVVV;
- defm VFIXUPIMM : avx256_fixupimm_packed_all<0x54, "vfixupimm", SchedWriteFAdd>, AVX512AIi8Base, EVEX, VVVV;
- defm VGETEXP : avx256_vgetexp<0x42, "vgetexp", X86fgetexpSAE, SchedWriteFRnd>;
- defm VREDUCE : avx256_unary_fp_sae<"vreduce", 0x56, 0x56, X86VReduceSAE, SchedWriteFRnd>;
- defm VRNDSCALE : avx256_unary_fp_sae<"vrndscale", 0x08, 0x09, X86VRndScaleSAE, SchedWriteFRnd>;
- defm VGETMANT : avx256_unary_fp_sae<"vgetmant", 0x26, 0x26, X86VGetMantSAE, SchedWriteFRnd>;
- defm VRANGE : avx256_common_fp_sae_packed_imm<0x50, "vrange", X86VRangeSAE, SchedWriteFAdd>, AVX512AIi8Base, EVEX, VVVV;
- defm VSCALEF : avx256_fp_scalef_round<0x2C, "vscalef", X86scalefRnd, SchedWriteFAdd>;
- defm VSQRT : avx256_sqrt_packed_all_round<0x51, "vsqrt", SchedWriteFSqrtSizes>;
- defm VCVTW2 : avx256_vcvtw_rc<"vcvtw2ph", X86VSintToFpRnd>, T_MAP5, XS;
- defm VCVTDQ2 : avx256_cvtdq2fp_rc<0x5B, "vcvtdq2", X86VSintToFpRnd, SchedWriteCvtDQ2PS>;
- defm VCVTQQ2 : avx256_cvtqq2fp_rc<"vcvtqq2", v4i64x_info>, EVEX_CD8<64, CD8VF>, REX_W;
- defm VCVTUW2 : avx256_vcvtw_rc<"vcvtuw2ph", X86VUintToFpRnd>, T_MAP5,XD;
- defm VCVTUDQ2 : avx256_cvtudq2fp_rc<0x7A, "vcvtudq2", X86VUintToFpRnd, SchedWriteCvtDQ2PS>;
- defm VCVTUQQ2 : avx256_cvtuqq2fp_rc<"vcvtuqq2", v4i64x_info>, EVEX_CD8<64, CD8VF>, REX_W;
- defm VCVTPD2 : avx256_vcvt_pd2<"vcvtpd2", v4f64x_info>, EVEX_CD8<64, CD8VF>, REX_W;
- defm VCVTPS2 : avx256_vcvt_ps2<"vcvtps2">;
- defm VCVTPH2 : avx256_vcvt_ph2<"vcvtph2">;
- defm VCVTTPD2 : avx256_vcvtt_pd2<"vcvttpd2", v4f64x_info>, EVEX_CD8<64, CD8VF>, TB, REX_W;
- defm VCVTTPS2 : avx256_vcvtt_ps2<"vcvttps2">, TB;
- defm VCVTTPH2 : avx256_vcvtt_ph2<"vcvttph2">;
- defm VFMADD : avx256_fma3_round3<0x98, 0xA8, 0xB8, "vfmadd", X86FmaddRnd>;
- defm VFMSUB : avx256_fma3_round3<0x9A, 0xAA, 0xBA, "vfmsub", X86FmsubRnd>;
- defm VFMADDSUB : avx256_fma3_round3<0x96, 0xA6, 0xB6, "vfmaddsub", X86FmaddsubRnd>;
- defm VFMSUBADD : avx256_fma3_round3<0x97, 0xA7, 0xB7, "vfmsubadd", X86FmsubaddRnd>;
- defm VFNMADD : avx256_fma3_round3<0x9C, 0xAC, 0xBC, "vfnmadd", X86FnmaddRnd>;
- defm VFNMSUB : avx256_fma3_round3<0x9E, 0xAE, 0xBE, "vfnmsub", X86FnmsubRnd>;
- defm VFMULCPHZ256 : avx512_fp_round_packed<0xD6, "vfmulcph", x86vfmulcRnd, SchedWriteFMA.YMM,
- v8f32x_info, "", "@earlyclobber $dst">, T_MAP6,XS, EVEX_CD8<32, CD8VF>;
- defm VFCMULCPHZ256 : avx512_fp_round_packed<0xD6, "vfcmulcph", x86vfcmulcRnd, SchedWriteFMA.YMM,
- v8f32x_info, "", "@earlyclobber $dst">, T_MAP6,XD, EVEX_CD8<32, CD8VF>;
- defm VFMADDCPHZ256 : avx512_cfmaop_round<0x56, "vfmaddcph", x86vfmaddcRnd,
- v8f32x_info>, T_MAP6,XS, EVEX_CD8<32, CD8VF>, Sched<[WriteFMAY]>;
- defm VFCMADDCPHZ256 : avx512_cfmaop_round<0x56, "vfcmaddcph", x86vfcmaddcRnd,
- v8f32x_info>, T_MAP6,XD, EVEX_CD8<32, CD8VF>, Sched<[WriteFMAY]>;
-}
-
//-------------------------------------------------
// AVX10 MINMAX instructions
//-------------------------------------------------
diff --git a/llvm/lib/Target/X86/X86InstrAVX512.td b/llvm/lib/Target/X86/X86InstrAVX512.td
index 9d8c123185a7c..e2f13b72c14d4 100644
--- a/llvm/lib/Target/X86/X86InstrAVX512.td
+++ b/llvm/lib/Target/X86/X86InstrAVX512.td
@@ -7841,7 +7841,7 @@ let Uses = [MXCSR], mayRaiseFPException = 1 in {
}
// Conversion with SAE - suppress all exceptions
multiclass avx512_vcvt_fp_sae<bits<8> opc, string OpcodeStr, X86VectorVTInfo _,
- X86VectorVTInfo _Src, SDPatternOperator OpNodeSAE,
+ X86VectorVTInfo _Src, SDNode OpNodeSAE,
X86FoldableSchedWrite sched> {
let Uses = [MXCSR] in
defm rrb : AVX512_maskable<opc, MRMSrcReg, _, (outs _.RC:$dst),
@@ -12036,7 +12036,8 @@ multiclass avx512_fixupimm_packed<bits<8> opc, string OpcodeStr,
multiclass avx512_fixupimm_packed_sae<bits<8> opc, string OpcodeStr,
X86FoldableSchedWrite sched,
- X86VectorVTInfo _, X86VectorVTInfo TblVT> {
+ X86VectorVTInfo _, X86VectorVTInfo TblVT>
+ : avx512_fixupimm_packed<opc, OpcodeStr, sched, _, TblVT> {
let Constraints = "$src1 = $dst", ExeDomain = _.ExeDomain, Uses = [MXCSR] in {
defm rrib : AVX512_maskable_3src<opc, MRMSrcReg, _, (outs _.RC:$dst),
(ins _.RC:$src2, _.RC:$src3, i32u8imm:$src4),
@@ -12088,8 +12089,7 @@ multiclass avx512_fixupimm_packed_all<X86SchedWriteWidths sched,
AVX512VLVectorVTInfo _Vec,
AVX512VLVectorVTInfo _Tbl> {
let Predicates = [HasAVX512] in
- defm Z : avx512_fixupimm_packed<0x54, "vfixupimm", sched.ZMM, _Vec.info512, _Tbl.info512>,
- avx512_fixupimm_packed_sae<0x54, "vfixupimm", sched.ZMM,
+ defm Z : avx512_fixupimm_packed_sae<0x54, "vfixupimm", sched.ZMM,
_Vec.info512, _Tbl.info512>, AVX512AIi8Base,
EVEX, VVVV, EVEX_V512;
let Predicates = [HasAVX512, HasVLX] in {
diff --git a/llvm/lib/Target/X86/X86InstrFMA3Info.cpp b/llvm/lib/Target/X86/X86InstrFMA3Info.cpp
index 86f6c733bdf75..9947fc24b5b75 100644
--- a/llvm/lib/Target/X86/X86InstrFMA3Info.cpp
+++ b/llvm/lib/Target/X86/X86InstrFMA3Info.cpp
@@ -103,12 +103,9 @@ static const X86InstrFMA3Group Groups[] = {
FMA3GROUP_PACKED_AVX512_WIDTHS(Name, PH, Suf, Attrs) \
FMA3GROUP_PACKED_AVX512_WIDTHS(Name, PS, Suf, Attrs)
-#define FMA3GROUP_PACKED_AVX512_ROUND(Name, Suf, Attrs) \
- FMA3GROUP_MASKED(Name, PDZ256##Suf, Attrs) \
- FMA3GROUP_MASKED(Name, PDZ##Suf, Attrs) \
- FMA3GROUP_MASKED(Name, PHZ256##Suf, Attrs) \
- FMA3GROUP_MASKED(Name, PHZ##Suf, Attrs) \
- FMA3GROUP_MASKED(Name, PSZ256##Suf, Attrs) \
+#define FMA3GROUP_PACKED_AVX512_ROUND(Name, Suf, Attrs) \
+ FMA3GROUP_MASKED(Name, PDZ##Suf, Attrs) \
+ FMA3GROUP_MASKED(Name, PHZ##Suf, Attrs) \
FMA3GROUP_MASKED(Name, PSZ##Suf, Attrs)
#define FMA3GROUP_SCALAR_AVX512_ROUND(Name, Suf, Attrs) \
diff --git a/llvm/lib/Target/X86/X86IntrinsicsInfo.h b/llvm/lib/Target/X86/X86IntrinsicsInfo.h
index 3dccf2fff2352..31c2bfb8f71c2 100644
--- a/llvm/lib/Target/X86/X86IntrinsicsInfo.h
+++ b/llvm/lib/Target/X86/X86IntrinsicsInfo.h
@@ -437,12 +437,6 @@ static const IntrinsicData IntrinsicsWithoutChain[] = {
X86ISD::SCALEF, 0),
X86_INTRINSIC_DATA(avx10_mask_scalef_bf16_512, INTR_TYPE_2OP_MASK,
X86ISD::SCALEF, 0),
- X86_INTRINSIC_DATA(avx10_mask_vcmppd256, CMP_MASK_CC, X86ISD::CMPMM,
- X86ISD::CMPMM_SAE),
- X86_INTRINSIC_DATA(avx10_mask_vcmpph256, CMP_MASK_CC, X86ISD::CMPMM,
- X86ISD::CMPMM_SAE),
- X86_INTRINSIC_DATA(avx10_mask_vcmpps256, CMP_MASK_CC, X86ISD::CMPMM,
- X86ISD::CMPMM_SAE),
X86_INTRINSIC_DATA(avx10_mask_vcvt2ps2phx_128, INTR_TYPE_2OP_MASK,
X86ISD::VFPROUND2, 0),
X86_INTRINSIC_DATA(avx10_mask_vcvt2ps2phx_256, INTR_TYPE_2OP_MASK,
@@ -479,18 +473,6 @@ static const IntrinsicData IntrinsicsWithoutChain[] = {
X86ISD::VCVTHF82PH, 0),
X86_INTRINSIC_DATA(avx10_mask_vcvthf82ph512, INTR_TYPE_1OP_MASK,
X86ISD::VCVTHF82PH, 0),
- X86_INTRINSIC_DATA(avx10_mask_vcvtpd2dq256, INTR_TYPE_1OP_MASK,
- X86ISD::CVTP2SI, X86ISD::CVTP2SI_RND),
- X86_INTRINSIC_DATA(avx10_mask_vcvtpd2ph256, INTR_TYPE_1OP_MASK,
- X86ISD::VFPROUND, X86ISD::VFPROUND_RND),
- X86_INTRINSIC_DATA(avx10_mask_vcvtpd2ps256, INTR_TYPE_1OP_MASK,
- X86ISD::VFPROUND, X86ISD::VFPROUND_RND),
- X86_INTRINSIC_DATA(avx10_mask_vcvtpd2qq256, INTR_TYPE_1OP_MASK,
- X86ISD::CVTP2SI, X86ISD::CVTP2SI_RND),
- X86_INTRINSIC_DATA(avx10_mask_vcvtpd2udq256, INTR_TYPE_1OP_MASK,
- X86ISD::CVTP2UI, X86ISD::CVTP2UI_RND),
- X86_INTRINSIC_DATA(avx10_mask_vcvtpd2uqq256, INTR_TYPE_1OP_MASK,
- X86ISD::CVTP2UI, X86ISD::CVTP2UI_RND),
X86_INTRINSIC_DATA(avx10_mask_vcvtph2bf8128, TRUNCATE_TO_REG,
X86ISD::VCVTPH2BF8, X86ISD::VMCVTPH2BF8),
X86_INTRINSIC_DATA(avx10_mask_vcvtph2bf8256, INTR_TYPE_1OP_MASK,
@@ -503,8 +485,6 @@ static const IntrinsicData IntrinsicsWithoutChain[] = {
X86ISD::VCVTPH2BF8S, 0),
X86_INTRINSIC_DATA(avx10_mask_vcvtph2bf8s512, INTR_TYPE_1OP_MASK,
X86ISD::VCVTPH2BF8S, 0),
- X86_INTRINSIC_DATA(avx10_mask_vcvtph2dq256, INTR_TYPE_1OP_MASK,
- X86ISD::CVTP2SI, X86ISD::CVTP2SI_RND),
X86_INTRINSIC_DATA(avx10_mask_vcvtph2hf8128, TRUNCATE_TO_REG,
X86ISD::VCVTPH2HF8, X86ISD::VMCVTPH2HF8),
X86_INTRINSIC_DATA(avx10_mask_vcvtph2hf8256, INTR_TYPE_1OP_MASK,
@@ -529,22 +509,6 @@ static const IntrinsicData IntrinsicsWithoutChain[] = {
X86ISD::CVTP2IUBS, X86ISD::CVTP2IUBS_RND),
X86_INTRINSIC_DATA(avx10_mask_vcvtph2iubs512, INTR_TYPE_1OP_MASK,
X86ISD::CVTP2IUBS, X86ISD::CVTP2IUBS_RND),
- X86_INTRINSIC_DATA(avx10_mask_vcvtph2pd256, INTR_TYPE_1OP_MASK_SAE,
- ISD::FP_EXTEND, X86ISD::VFPEXT_SAE),
- X86_INTRINSIC_DATA(avx10_mask_vcvtph2psx256, INTR_TYPE_1OP_MASK_SAE,
- ISD::FP_EXTEND, X86ISD::VFPEXT_SAE),
- X86_INTRINSIC_DATA(avx10_mask_vcvtph2qq256, INTR_TYPE_1OP_MASK,
- X86ISD::CVTP2SI, X86ISD::CVTP2SI_RND),
- X86_INTRINSIC_DATA(avx10_mask_vcvtph2udq256, INTR_TYPE_1OP_MASK,
- X86ISD::CVTP2UI, X86ISD::CVTP2UI_RND),
- X86_INTRINSIC_DATA(avx10_mask_vcvtph2uqq256, INTR_TYPE_1OP_MASK,
- X86ISD::CVTP2UI, X86ISD::CVTP2UI_RND),
- X86_INTRINSIC_DATA(avx10_mask_vcvtph2uw256, INTR_TYPE_1OP_MASK,
- X86ISD::CVTP2UI, X86ISD::CVTP2UI_RND),
- X86_INTRINSIC_DATA(avx10_mask_vcvtph2w256, INTR_TYPE_1OP_MASK,
- X86ISD::CVTP2SI, X86ISD::CVTP2SI_RND),
- X86_INTRINSIC_DATA(avx10_mask_vcvtps2dq256, INTR_TYPE_1OP_MASK,
- X86ISD::CVTP2SI, X86ISD::CVTP2SI_RND),
X86_INTRINSIC_DATA(avx10_mask_vcvtps2ibs128, INTR_TYPE_1OP_MASK,
X86ISD::CVTP2IBS, 0),
X86_INTRINSIC_DATA(avx10_mask_vcvtps2ibs256, INTR_TYPE_1OP_MASK,
@@ -557,50 +521,30 @@ static const IntrinsicData IntrinsicsWithoutChain[] = {
X86ISD::CVTP2IUBS, X86ISD::CVTP2IUBS_RND),
X86_INTRINSIC_DATA(avx10_mask_vcvtps2iubs512, INTR_TYPE_1OP_MASK,
X86ISD::CVTP2IUBS, X86ISD::CVTP2IUBS_RND),
- X86_INTRINSIC_DATA(avx10_mask_vcvtps2pd256, INTR_TYPE_1OP_MASK_SAE,
- ISD::FP_EXTEND, X86ISD::VFPEXT_SAE),
- X86_INTRINSIC_DATA(avx10_mask_vcvtps2phx256, INTR_TYPE_1OP_MASK,
- X86ISD::VFPROUND, X86ISD::VFPROUND_RND),
- X86_INTRINSIC_DATA(avx10_mask_vcvtps2qq256, INTR_TYPE_1OP_MASK,
- X86ISD::CVTP2SI, X86ISD::CVTP2SI_RND),
- X86_INTRINSIC_DATA(avx10_mask_vcvtps2udq256, INTR_TYPE_1OP_MASK,
- X86ISD::CVTP2UI, X86ISD::CVTP2UI_RND),
- X86_INTRINSIC_DATA(avx10_mask_vcvtps2uqq256, INTR_TYPE_1OP_MASK,
- X86ISD::CVTP2UI, X86ISD::CVTP2UI_RND),
- X86_INTRINSIC_DATA(avx10_mask_vcvttpd2dq256, INTR_TYPE_1OP_MASK,
- X86ISD::CVTTP2SI, X86ISD::CVTTP2SI_SAE),
X86_INTRINSIC_DATA(avx10_mask_vcvttpd2dqs_128, CVTPD2DQ_MASK,
X86ISD::CVTTP2SIS, X86ISD::MCVTTP2SIS),
X86_INTRINSIC_DATA(avx10_mask_vcvttpd2dqs_round_256, INTR_TYPE_1OP_MASK,
X86ISD::CVTTP2SIS, X86ISD::CVTTP2SIS_SAE),
X86_INTRINSIC_DATA(avx10_mask_vcvttpd2dqs_round_512, INTR_TYPE_1OP_MASK,
X86ISD::CVTTP2SIS, X86ISD::CVTTP2SIS_SAE),
- X86_INTRINSIC_DATA(avx10_mask_vcvttpd2qq256, INTR_TYPE_1OP_MASK,
- X86ISD::CVTTP2SI, X86ISD::CVTTP2SI_SAE),
X86_INTRINSIC_DATA(avx10_mask_vcvttpd2qqs_128, INTR_TYPE_1OP_MASK,
X86ISD::CVTTP2SIS, 0),
X86_INTRINSIC_DATA(avx10_mask_vcvttpd2qqs_round_256, INTR_TYPE_1OP_MASK,
X86ISD::CVTTP2SIS, X86ISD::CVTTP2SIS_SAE),
X86_INTRINSIC_DATA(avx10_mask_vcvttpd2qqs_round_512, INTR_TYPE_1OP_MASK,
X86ISD::CVTTP2SIS, X86ISD::CVTTP2SIS_SAE),
- X86_INTRINSIC_DATA(avx10_mask_vcvttpd2udq256, INTR_TYPE_1OP_MASK,
- X86ISD::CVTTP2UI, X86ISD::CVTTP2UI_SAE),
X86_INTRINSIC_DATA(avx10_mask_vcvttpd2udqs_128, CVTPD2DQ_MASK,
X86ISD::CVTTP2UIS, X86ISD::MCVTTP2SIS),
X86_INTRINSIC_DATA(avx10_mask_vcvttpd2udqs_round_256, INTR_TYPE_1OP_MASK,
X86ISD::CVTTP2UIS, X86ISD::CVTTP2UIS_SAE),
X86_INTRINSIC_DATA(avx10_mask_vcvttpd2udqs_round_512, INTR_TYPE_1OP_MASK,
X86ISD::CVTTP2UIS, X86ISD::CVTTP2UIS_SAE),
- X86_INTRINSIC_DATA(avx10_mask_vcvttpd2uqq256, INTR_TYPE_1OP_MASK,
- X86ISD::CVTTP2UI, X86ISD::CVTTP2UI_SAE),
X86_INTRINSIC_DATA(avx10_mask_vcvttpd2uqqs_128, INTR_TYPE_1OP_MASK,
X86ISD::CVTTP2UIS, 0),
X86_INTRINSIC_DATA(avx10_mask_vcvttpd2uqqs_round_256, INTR_TYPE_1OP_MASK,
X86ISD::CVTTP2UIS, X86ISD::CVTTP2UIS_SAE),
X86_INTRINSIC_DATA(avx10_mask_vcvttpd2uqqs_round_512, INTR_TYPE_1OP_MASK,
X86ISD::CVTTP2UIS, X86ISD::CVTTP2UIS_SAE),
- X86_INTRINSIC_DATA(avx10_mask_vcvttph2dq256, INTR_TYPE_1OP_MASK,
- X86ISD::CVTTP2SI, X86ISD::CVTTP2SI_SAE),
X86_INTRINSIC_DATA(avx10_mask_vcvttph2ibs128, INTR_TYPE_1OP_MASK,
X86ISD::CVTTP2IBS, 0),
X86_INTRINSIC_DATA(avx10_mask_vcvttph2ibs256, INTR_TYPE_1OP_MASK_SAE,
@@ -613,18 +557,6 @@ static const IntrinsicData IntrinsicsWithoutChain[] = {
X86ISD::CVTTP2IUBS, X86ISD::CVTTP2IUBS_SAE),
X86_INTRINSIC_DATA(avx10_mask_vcvttph2iubs512, INTR_TYPE_1OP_MASK_SAE,
X86ISD::CVTTP2IUBS, X86ISD::CVTTP2IUBS_SAE),
- X86_INTRINSIC_DATA(avx10_mask_vcvttph2qq256, INTR_TYPE_1OP_MASK,
- X86ISD::CVTTP2SI, X86ISD::CVTTP2SI_SAE),
- X86_INTRINSIC_DATA(avx10_mask_vcvttph2udq256, INTR_TYPE_1OP_MASK,
- X86ISD::CVTTP2UI, X86ISD::CVTTP2UI_SAE),
- X86_INTRINSIC_DATA(avx10_mask_vcvttph2uqq256, INTR_TYPE_1OP_MASK,
- X86ISD::CVTTP2UI, X86ISD::CVTTP2UI_SAE),
- X86_INTRINSIC_DATA(avx10_mask_vcvttph2uw256, INTR_TYPE_1OP_MASK,
- X86ISD::CVTTP2UI, X86ISD::CVTTP2UI_SAE),
- X86_INTRINSIC_DATA(avx10_mask_vcvttph2w256, INTR_TYPE_1OP_MASK,
- X86ISD::CVTTP2SI, X86ISD::CVTTP2SI_SAE),
- X86_INTRINSIC_DATA(avx10_mask_vcvttps2dq256, INTR_TYPE_1OP_MASK,
- X86ISD::CVTTP2SI, X86ISD::CVTTP2SI_SAE),
X86_INTRINSIC_DATA(avx10_mask_vcvttps2dqs_128, INTR_TYPE_1OP_MASK,
X86ISD::CVTTP2SIS, 0),
X86_INTRINSIC_DATA(avx10_mask_vcvttps2dqs_round_256, INTR_TYPE_1OP_MASK,
@@ -643,54 +575,24 @@ static const IntrinsicData IntrinsicsWithoutChain[] = {
X86ISD::CVTTP2IUBS, X86ISD::CVTTP2IUBS_SAE),
X86_INTRINSIC_DATA(avx10_mask_vcvttps2iubs512, INTR_TYPE_1OP_MASK_SAE,
X86ISD::CVTTP2IUBS, X86ISD::CVTTP2IUBS_SAE),
- X86_INTRINSIC_DATA(avx10_mask_vcvttps2qq256, INTR_TYPE_1OP_MASK,
- X86ISD::CVTTP2SI, X86ISD::CVTTP2SI_SAE),
X86_INTRINSIC_DATA(avx10_mask_vcvttps2qqs_128, INTR_TYPE_1OP_MASK,
X86ISD::CVTTP2SIS, 0),
X86_INTRINSIC_DATA(avx10_mask_vcvttps2qqs_round_256, INTR_TYPE_1OP_MASK,
X86ISD::CVTTP2SIS, X86ISD::CVTTP2SIS_SAE),
X86_INTRINSIC_DATA(avx10_mask_vcvttps2qqs_round_512, INTR_TYPE_1OP_MASK,
X86ISD::CVTTP2SIS, X86ISD::CVTTP2SIS_SAE),
- X86_INTRINSIC_DATA(avx10_mask_vcvttps2udq256, INTR_TYPE_1OP_MASK,
- X86ISD::CVTTP2UI, X86ISD::CVTTP2UI_SAE),
X86_INTRINSIC_DATA(avx10_mask_vcvttps2udqs_128, INTR_TYPE_1OP_MASK,
X86ISD::CVTTP2UIS, 0),
X86_INTRINSIC_DATA(avx10_mask_vcvttps2udqs_round_256, INTR_TYPE_1OP_MASK,
X86ISD::CVTTP2UIS, X86ISD::CVTTP2UIS_SAE),
X86_INTRINSIC_DATA(avx10_mask_vcvttps2udqs_round_512, INTR_TYPE_1OP_MASK,
X86ISD::CVTTP2UIS, X86ISD::CVTTP2UIS_SAE),
- X86_INTRINSIC_DATA(avx10_mask_vcvttps2uqq256, INTR_TYPE_1OP_MASK,
- X86ISD::CVTTP2UI, X86ISD::CVTTP2UI_SAE),
X86_INTRINSIC_DATA(avx10_mask_vcvttps2uqqs_128, INTR_TYPE_1OP_MASK,
X86ISD::CVTTP2UIS, 0),
X86_INTRINSIC_DATA(avx10_mask_vcvttps2uqqs_round_256, INTR_TYPE_1OP_MASK,
X86ISD::CVTTP2UIS, X86ISD::CVTTP2UIS_SAE),
X86_INTRINSIC_DATA(avx10_mask_vcvttps2uqqs_round_512, INTR_TYPE_1OP_MASK,
X86ISD::CVTTP2UIS, X86ISD::CVTTP2UIS_SAE),
- X86_INTRINSIC_DATA(avx10_mask_vfcmaddcph256, CFMA_OP_MASK, X86ISD::VFCMADDC,
- X86ISD::VFCMADDC_RND),
- X86_INTRINSIC_DATA(avx10_mask_vfcmulcph256, INTR_TYPE_2OP_MASK,
- X86ISD::VFCMULC, X86ISD::VFCMULC_RND),
- X86_INTRINSIC_DATA(avx10_mask_vfixupimmpd256, FIXUPIMM, X86ISD::VFIXUPIMM,
- X86ISD::VFIXUPIMM_SAE),
- X86_INTRINSIC_DATA(avx10_mask_vfixupimmps256, FIXUPIMM, X86ISD::VFIXUPIMM,
- X86ISD::VFIXUPIMM_SAE),
- X86_INTRINSIC_DATA(avx10_mask_vfmaddcph256, CFMA_OP_MASK, X86ISD::VFMADDC,
- X86ISD::VFMADDC_RND),
- X86_INTRINSIC_DATA(avx10_mask_vfmulcph256, INTR_TYPE_2OP_MASK,
- X86ISD::VFMULC, X86ISD::VFMULC_RND),
- X86_INTRINSIC_DATA(avx10_mask_vgetexppd256, INTR_TYPE_1OP_MASK_SAE,
- X86ISD::FGETEXP, X86ISD::FGETEXP_SAE),
- X86_INTRINSIC_DATA(avx10_mask_vgetexpph256, INTR_TYPE_1OP_MASK_SAE,
- X86ISD::FGETEXP, X86ISD::FGETEXP_SAE),
- X86_INTRINSIC_DATA(avx10_mask_vgetexpps256, INTR_TYPE_1OP_MASK_SAE,
- X86ISD::FGETEXP, X86ISD::FGETEXP_SAE),
- X86_INTRINSIC_DATA(avx10_mask_vgetmantpd256, INTR_TYPE_2OP_MASK_SAE,
- X86ISD::VGETMANT, X86ISD::VGETMANT_SAE),
- X86_INTRINSIC_DATA(avx10_mask_vgetmantph256, INTR_TYPE_2OP_MASK_SAE,
- X86ISD::VGETMANT, X86ISD::VGETMANT_SAE),
- X86_INTRINSIC_DATA(avx10_mask_vgetmantps256, INTR_TYPE_2OP_MASK_SAE,
- X86ISD::VGETMANT, X86ISD::VGETMANT_SAE),
X86_INTRINSIC_DATA(avx10_mask_vminmaxpd_round, INTR_TYPE_3OP_MASK_SAE,
X86ISD::VMINMAX, X86ISD::VMINMAX_SAE),
X86_INTRINSIC_DATA(avx10_mask_vminmaxpd128, INTR_TYPE_3OP_MASK_SAE,
@@ -715,42 +617,6 @@ static const IntrinsicData IntrinsicsWithoutChain[] = {
X86ISD::VMINMAXS, X86ISD::VMINMAXS_SAE),
X86_INTRINSIC_DATA(avx10_mask_vminmaxss_round, INTR_TYPE_3OP_MASK_SAE,
X86ISD::VMINMAXS, X86ISD::VMINMAXS_SAE),
- X86_INTRINSIC_DATA(avx10_mask_vrangepd256, INTR_TYPE_3OP_MASK_SAE,
- X86ISD::VRANGE, X86ISD::VRANGE_SAE),
- X86_INTRINSIC_DATA(avx10_mask_vrangeps256, INTR_TYPE_3OP_MASK_SAE,
- X86ISD::VRANGE, X86ISD::VRANGE_SAE),
- X86_INTRINSIC_DATA(avx10_mask_vreducepd256, INTR_TYPE_2OP_MASK_SAE,
- X86ISD::VREDUCE, X86ISD::VREDUCE_SAE),
- X86_INTRINSIC_DATA(avx10_mask_vreduceph256, INTR_TYPE_2OP_MASK_SAE,
- X86ISD::VREDUCE, X86ISD::VREDUCE_SAE),
- X86_INTRINSIC_DATA(avx10_mask_vreduceps256, INTR_TYPE_2OP_MASK_SAE,
- X86ISD::VREDUCE, X86ISD::VREDUCE_SAE),
- X86_INTRINSIC_DATA(avx10_mask_vrndscalepd256, INTR_TYPE_2OP_MASK_SAE,
- X86ISD::VRNDSCALE, X86ISD::VRNDSCALE_SAE),
- X86_INTRINSIC_DATA(avx10_mask_vrndscaleph256, INTR_TYPE_2OP_MASK_SAE,
- X86ISD::VRNDSCALE, X86ISD::VRNDSCALE_SAE),
- X86_INTRINSIC_DATA(avx10_mask_vrndscaleps256, INTR_TYPE_2OP_MASK_SAE,
- X86ISD::VRNDSCALE, X86ISD::VRNDSCALE_SAE),
- X86_INTRINSIC_DATA(avx10_mask_vscalefpd256, INTR_TYPE_2OP_MASK,
- X86ISD::SCALEF, X86ISD::SCALEF_RND),
- X86_INTRINSIC_DATA(avx10_mask_vscalefph256, INTR_TYPE_2OP_MASK,
- X86ISD::SCALEF, X86ISD::SCALEF_RND),
- X86_INTRINSIC_DATA(avx10_mask_vscalefps256, INTR_TYPE_2OP_MASK,
- X86ISD::SCALEF, X86ISD::SCALEF_RND),
- X86_INTRINSIC_DATA(avx10_maskz_vfcmaddcph256, CFMA_OP_MASKZ,
- X86ISD::VFCMADDC, X86ISD::VFCMADDC_RND),
- X86_INTRINSIC_DATA(avx10_maskz_vfixupimmpd256, FIXUPIMM_MASKZ,
- X86ISD::VFIXUPIMM, X86ISD::VFIXUPIMM_SAE),
- X86_INTRINSIC_DATA(avx10_maskz_vfixupimmps256, FIXUPIMM_MASKZ,
- X86ISD::VFIXUPIMM, X86ISD::VFIXUPIMM_SAE),
- X86_INTRINSIC_DATA(avx10_maskz_vfmaddcph256, CFMA_OP_MASKZ, X86ISD::VFMADDC,
- X86ISD::VFMADDC_RND),
- X86_INTRINSIC_DATA(avx10_vaddpd256, INTR_TYPE_2OP, ISD::FADD,
- X86ISD::FADD_RND),
- X86_INTRINSIC_DATA(avx10_vaddph256, INTR_TYPE_2OP, ISD::FADD,
- X86ISD::FADD_RND),
- X86_INTRINSIC_DATA(avx10_vaddps256, INTR_TYPE_2OP, ISD::FADD,
- X86ISD::FADD_RND),
X86_INTRINSIC_DATA(avx10_vcomisbf16eq, COMI, X86ISD::COMI, ISD::SETEQ),
X86_INTRINSIC_DATA(avx10_vcomisbf16ge, COMI, X86ISD::COMI, ISD::SETGE),
X86_INTRINSIC_DATA(avx10_vcomisbf16gt, COMI, X86ISD::COMI, ISD::SETGT),
@@ -821,50 +687,14 @@ static const IntrinsicData IntrinsicsWithoutChain[] = {
X86ISD::CVTTS2UIS_SAE),
X86_INTRINSIC_DATA(avx10_vcvttss2usis64, INTR_TYPE_1OP_SAE,
X86ISD::CVTTS2UIS, X86ISD::CVTTS2UIS_SAE),
- X86_INTRINSIC_DATA(avx10_vdivpd256, INTR_TYPE_2OP, ISD::FDIV,
- X86ISD::FDIV_RND),
- X86_INTRINSIC_DATA(avx10_vdivph256, INTR_TYPE_2OP, ISD::FDIV,
- X86ISD::FDIV_RND),
- X86_INTRINSIC_DATA(avx10_vdivps256, INTR_TYPE_2OP, ISD::FDIV,
- X86ISD::FDIV_RND),
X86_INTRINSIC_DATA(avx10_vdpphps_128, INTR_TYPE_3OP, X86ISD::DPFP16PS, 0),
X86_INTRINSIC_DATA(avx10_vdpphps_256, INTR_TYPE_3OP, X86ISD::DPFP16PS, 0),
X86_INTRINSIC_DATA(avx10_vdpphps_512, INTR_TYPE_3OP, X86ISD::DPFP16PS, 0),
- X86_INTRINSIC_DATA(avx10_vfmaddpd256, INTR_TYPE_3OP, ISD::FMA,
- X86ISD::FMADD_RND),
- X86_INTRINSIC_DATA(avx10_vfmaddph256, INTR_TYPE_3OP, ISD::FMA,
- X86ISD::FMADD_RND),
- X86_INTRINSIC_DATA(avx10_vfmaddps256, INTR_TYPE_3OP, ISD::FMA,
- X86ISD::FMADD_RND),
- X86_INTRINSIC_DATA(avx10_vfmaddsubpd256, INTR_TYPE_3OP, X86ISD::FMADDSUB,
- X86ISD::FMADDSUB_RND),
- X86_INTRINSIC_DATA(avx10_vfmaddsubph256, INTR_TYPE_3OP, X86ISD::FMADDSUB,
- X86ISD::FMADDSUB_RND),
- X86_INTRINSIC_DATA(avx10_vfmaddsubps256, INTR_TYPE_3OP, X86ISD::FMADDSUB,
- X86ISD::FMADDSUB_RND),
- X86_INTRINSIC_DATA(avx10_vmaxpd256, INTR_TYPE_2OP_SAE, X86ISD::FMAX,
- X86ISD::FMAX_SAE),
- X86_INTRINSIC_DATA(avx10_vmaxph256, INTR_TYPE_2OP_SAE, X86ISD::FMAX,
- X86ISD::FMAX_SAE),
- X86_INTRINSIC_DATA(avx10_vmaxps256, INTR_TYPE_2OP_SAE, X86ISD::FMAX,
- X86ISD::FMAX_SAE),
X86_INTRINSIC_DATA(avx10_vminmaxbf16128, INTR_TYPE_3OP, X86ISD::VMINMAX, 0),
X86_INTRINSIC_DATA(avx10_vminmaxbf16256, INTR_TYPE_3OP, X86ISD::VMINMAX, 0),
X86_INTRINSIC_DATA(avx10_vminmaxbf16512, INTR_TYPE_3OP, X86ISD::VMINMAX, 0),
- X86_INTRINSIC_DATA(avx10_vminpd256, INTR_TYPE_2OP_SAE, X86ISD::FMIN,
- X86ISD::FMIN_SAE),
- X86_INTRINSIC_DATA(avx10_vminph256, INTR_TYPE_2OP_SAE, X86ISD::FMIN,
- X86ISD::FMIN_SAE),
- X86_INTRINSIC_DATA(avx10_vminps256, INTR_TYPE_2OP_SAE, X86ISD::FMIN,
- X86ISD::FMIN_SAE),
X86_INTRINSIC_DATA(avx10_vmpsadbw_512, INTR_TYPE_3OP_IMM8, X86ISD::MPSADBW,
0),
- X86_INTRINSIC_DATA(avx10_vmulpd256, INTR_TYPE_2OP, ISD::FMUL,
- X86ISD::FMUL_RND),
- X86_INTRINSIC_DATA(avx10_vmulph256, INTR_TYPE_2OP, ISD::FMUL,
- X86ISD::FMUL_RND),
- X86_INTRINSIC_DATA(avx10_vmulps256, INTR_TYPE_2OP, ISD::FMUL,
- X86ISD::FMUL_RND),
X86_INTRINSIC_DATA(avx10_vpdpbssd_512, INTR_TYPE_3OP, X86ISD::VPDPBSSD, 0),
X86_INTRINSIC_DATA(avx10_vpdpbssds_512, INTR_TYPE_3OP, X86ISD::VPDPBSSDS,
0),
@@ -883,19 +713,6 @@ static const IntrinsicData IntrinsicsWithoutChain[] = {
X86_INTRINSIC_DATA(avx10_vpdpwuud_512, INTR_TYPE_3OP, X86ISD::VPDPWUUD, 0),
X86_INTRINSIC_DATA(avx10_vpdpwuuds_512, INTR_TYPE_3OP, X86ISD::VPDPWUUDS,
0),
- X86_INTRINSIC_DATA(avx10_vsqrtpd256, INTR_TYPE_1OP, ISD::FSQRT,
- X86ISD::FSQRT_RND),
- X86_INTRINSIC_DATA(avx10_vsqrtph256, INTR_TYPE_1OP, ISD::FSQRT,
- X86ISD::FSQRT_RND),
- X86_INTRINSIC_DATA(avx10_vsqrtps256, INTR_TYPE_1OP, ISD::FSQRT,
- X86ISD::FSQRT_RND),
- X86_INTRINSIC_DATA(avx10_vsubpd256, INTR_TYPE_2OP, ISD::FSUB,
- X86ISD::FSUB_RND),
- X86_INTRINSIC_DATA(avx10_vsubph256, INTR_TYPE_2OP, ISD::FSUB,
- X86ISD::FSUB_RND),
- X86_INTRINSIC_DATA(avx10_vsubps256, INTR_TYPE_2OP, ISD::FSUB,
- X86ISD::FSUB_RND),
-
X86_INTRINSIC_DATA(avx2_mpsadbw, INTR_TYPE_3OP_IMM8, X86ISD::MPSADBW, 0),
X86_INTRINSIC_DATA(avx2_packssdw, INTR_TYPE_2OP, X86ISD::PACKSS, 0),
X86_INTRINSIC_DATA(avx2_packsswb, INTR_TYPE_2OP, X86ISD::PACKSS, 0),
diff --git a/llvm/test/CodeGen/X86/avx10_2ni-intrinsics.ll b/llvm/test/CodeGen/X86/avx10_2ni-intrinsics.ll
index 31cec891c4cf3..ed5ae01448c59 100644
--- a/llvm/test/CodeGen/X86/avx10_2ni-intrinsics.ll
+++ b/llvm/test/CodeGen/X86/avx10_2ni-intrinsics.ll
@@ -637,4396 +637,3 @@ define { <16 x i16>, <16 x i16>, <16 x i16> } @test_mask_mpsadbw_256(<32 x i8> %
declare <8 x i16> @llvm.x86.sse41.mpsadbw(<16 x i8>, <16 x i8>, i8)
declare <16 x i16> @llvm.x86.avx2.mpsadbw(<32 x i8>, <32 x i8>, i8)
-
-; YMM Rounding
-
-declare <4 x double> @llvm.x86.avx10.vaddpd256(<4 x double>, <4 x double>, i32)
-define <4 x double> @test_int_x86_vaddpd256(<4 x double> %A, <4 x double> %B) nounwind {
-; CHECK-LABEL: test_int_x86_vaddpd256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vaddpd {rz-sae}, %ymm1, %ymm0, %ymm0 # encoding: [0x62,0xf1,0xf9,0x78,0x58,0xc1]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <4 x double> @llvm.x86.avx10.vaddpd256(<4 x double> %A, <4 x double> %B, i32 11)
- ret <4 x double> %ret
-}
-
-define <4 x double> @test_int_x86_mask_vaddpd256(<4 x double> %A, i4 %B, <4 x double> %C, <4 x double> %D) nounwind {
-; X86-LABEL: test_int_x86_mask_vaddpd256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vaddpd {ru-sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0xf1,0x59,0x58,0xc2]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vaddpd256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vaddpd {ru-sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0xf1,0x59,0x58,0xc2]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <4 x double> @llvm.x86.avx10.vaddpd256(<4 x double> %C, <4 x double> %D, i32 10)
- %msk = bitcast i4 %B to <4 x i1>
- %ret = select <4 x i1> %msk, <4 x double> %ret0, <4 x double> %A
- ret <4 x double> %ret
-}
-
-define <4 x double> @test_int_x86_maskz_vaddpd256(i4 %A, <4 x double> %B, <4 x double> %C) nounwind {
-; X86-LABEL: test_int_x86_maskz_vaddpd256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vaddpd {rd-sae}, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0xf9,0xb9,0x58,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vaddpd256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vaddpd {rd-sae}, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0xf9,0xb9,0x58,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <4 x double> @llvm.x86.avx10.vaddpd256(<4 x double> %B, <4 x double> %C, i32 9)
- %msk = bitcast i4 %A to <4 x i1>
- %ret = select <4 x i1> %msk, <4 x double> %ret0, <4 x double> zeroinitializer
- ret <4 x double> %ret
-}
-
-declare <16 x half> @llvm.x86.avx10.vaddph256(<16 x half>, <16 x half>, i32)
-define <16 x half> @test_int_x86_vaddph256(<16 x half> %A, <16 x half> %B) nounwind {
-; CHECK-LABEL: test_int_x86_vaddph256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vaddph {rz-sae}, %ymm1, %ymm0, %ymm0 # encoding: [0x62,0xf5,0x78,0x78,0x58,0xc1]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <16 x half> @llvm.x86.avx10.vaddph256(<16 x half> %A, <16 x half> %B, i32 11)
- ret <16 x half> %ret
-}
-
-define <16 x half> @test_int_x86_mask_vaddph256(<16 x half> %A, i16 %B, <16 x half> %C, <16 x half> %D) nounwind {
-; X86-LABEL: test_int_x86_mask_vaddph256:
-; X86: # %bb.0:
-; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vaddph {ru-sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x70,0x59,0x58,0xc2]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vaddph256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vaddph {ru-sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x70,0x59,0x58,0xc2]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <16 x half> @llvm.x86.avx10.vaddph256(<16 x half> %C, <16 x half> %D, i32 10)
- %msk = bitcast i16 %B to <16 x i1>
- %ret = select <16 x i1> %msk, <16 x half> %ret0, <16 x half> %A
- ret <16 x half> %ret
-}
-
-define <16 x half> @test_int_x86_maskz_vaddph256(i16 %A, <16 x half> %B, <16 x half> %C) nounwind {
-; X86-LABEL: test_int_x86_maskz_vaddph256:
-; X86: # %bb.0:
-; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vaddph {rd-sae}, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x78,0xb9,0x58,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vaddph256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vaddph {rd-sae}, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x78,0xb9,0x58,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <16 x half> @llvm.x86.avx10.vaddph256(<16 x half> %B, <16 x half> %C, i32 9)
- %msk = bitcast i16 %A to <16 x i1>
- %ret = select <16 x i1> %msk, <16 x half> %ret0, <16 x half> zeroinitializer
- ret <16 x half> %ret
-}
-
-declare <8 x float> @llvm.x86.avx10.vaddps256(<8 x float>, <8 x float>, i32)
-define <8 x float> @test_int_x86_vaddps256(<8 x float> %A, <8 x float> %B) nounwind {
-; CHECK-LABEL: test_int_x86_vaddps256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vaddps {rz-sae}, %ymm1, %ymm0, %ymm0 # encoding: [0x62,0xf1,0x78,0x78,0x58,0xc1]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <8 x float> @llvm.x86.avx10.vaddps256(<8 x float> %A, <8 x float> %B, i32 11)
- ret <8 x float> %ret
-}
-
-define <8 x float> @test_int_x86_mask_vaddps256(<8 x float> %A, i8 %B, <8 x float> %C, <8 x float> %D) nounwind {
-; X86-LABEL: test_int_x86_mask_vaddps256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vaddps {ru-sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0x70,0x59,0x58,0xc2]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vaddps256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vaddps {ru-sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0x70,0x59,0x58,0xc2]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <8 x float> @llvm.x86.avx10.vaddps256(<8 x float> %C, <8 x float> %D, i32 10)
- %msk = bitcast i8 %B to <8 x i1>
- %ret = select <8 x i1> %msk, <8 x float> %ret0, <8 x float> %A
- ret <8 x float> %ret
-}
-
-define <8 x float> @test_int_x86_maskz_vaddps256(i8 %A, <8 x float> %B, <8 x float> %C) nounwind {
-; X86-LABEL: test_int_x86_maskz_vaddps256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vaddps {rd-sae}, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0x78,0xb9,0x58,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vaddps256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vaddps {rd-sae}, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0x78,0xb9,0x58,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <8 x float> @llvm.x86.avx10.vaddps256(<8 x float> %B, <8 x float> %C, i32 9)
- %msk = bitcast i8 %A to <8 x i1>
- %ret = select <8 x i1> %msk, <8 x float> %ret0, <8 x float> zeroinitializer
- ret <8 x float> %ret
-}
-
-declare <4 x i1> @llvm.x86.avx10.mask.vcmppd256(<4 x double>, <4 x double>, i32, <4 x i1>, i32)
-define i4 @test_int_x86_vcmppd256(<4 x double> %A, <4 x double> %B, i4 %C) nounwind {
-; CHECK-LABEL: test_int_x86_vcmppd256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vcmppd $0, {sae}, %ymm1, %ymm0, %k0 # encoding: [0x62,0xf1,0xf9,0x18,0xc2,0xc1,0x00]
-; CHECK-NEXT: kmovd %k0, %eax # encoding: [0xc5,0xfb,0x93,0xc0]
-; CHECK-NEXT: # kill: def $al killed $al killed $eax
-; CHECK-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret0 = call <4 x i1> @llvm.x86.avx10.mask.vcmppd256(<4 x double> %A, <4 x double> %B, i32 0, <4 x i1> <i1 1, i1 1, i1 1, i1 1>, i32 8)
- %ret = bitcast <4 x i1> %ret0 to i4
- ret i4 %ret
-}
-
-define i4 @test_int_x86_mask_vcmppd256(<4 x double> %A, <4 x double> %B, i4 %C) nounwind {
-; X86-LABEL: test_int_x86_mask_vcmppd256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcmpeqpd %ymm1, %ymm0, %k0 {%k1} # encoding: [0x62,0xf1,0xfd,0x29,0xc2,0xc1,0x00]
-; X86-NEXT: kmovd %k0, %eax # encoding: [0xc5,0xfb,0x93,0xc0]
-; X86-NEXT: # kill: def $al killed $al killed $eax
-; X86-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vcmppd256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcmpeqpd %ymm1, %ymm0, %k0 {%k1} # encoding: [0x62,0xf1,0xfd,0x29,0xc2,0xc1,0x00]
-; X64-NEXT: kmovd %k0, %eax # encoding: [0xc5,0xfb,0x93,0xc0]
-; X64-NEXT: # kill: def $al killed $al killed $eax
-; X64-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X64-NEXT: retq # encoding: [0xc3]
- %msk = bitcast i4 %C to <4 x i1>
- %ret0 = call <4 x i1> @llvm.x86.avx10.mask.vcmppd256(<4 x double> %A, <4 x double> %B, i32 0, <4 x i1> %msk, i32 4)
- %ret = bitcast <4 x i1> %ret0 to i4
- ret i4 %ret
-}
-
-declare <16 x i1> @llvm.x86.avx10.mask.vcmpph256(<16 x half>, <16 x half>, i32, <16 x i1>, i32)
-define i16 @test_int_x86_vcmpph256(<16 x half> %A, <16 x half> %B, i16 %C) nounwind {
-; CHECK-LABEL: test_int_x86_vcmpph256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vcmpph $0, {sae}, %ymm1, %ymm0, %k0 # encoding: [0x62,0xf3,0x78,0x18,0xc2,0xc1,0x00]
-; CHECK-NEXT: kmovd %k0, %eax # encoding: [0xc5,0xfb,0x93,0xc0]
-; CHECK-NEXT: # kill: def $ax killed $ax killed $eax
-; CHECK-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret0 = call <16 x i1> @llvm.x86.avx10.mask.vcmpph256(<16 x half> %A, <16 x half> %B, i32 0, <16 x i1> <i1 1, i1 1, i1 1, i1 1, i1 1, i1 1, i1 1, i1 1, i1 1, i1 1, i1 1, i1 1, i1 1, i1 1, i1 1, i1 1>, i32 8)
- %ret = bitcast <16 x i1> %ret0 to i16
- ret i16 %ret
-}
-
-define i16 @test_int_x86_mask_vcmpph256(<16 x half> %A, <16 x half> %B, i16 %C) nounwind {
-; X86-LABEL: test_int_x86_mask_vcmpph256:
-; X86: # %bb.0:
-; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcmpeqph %ymm1, %ymm0, %k0 {%k1} # encoding: [0x62,0xf3,0x7c,0x29,0xc2,0xc1,0x00]
-; X86-NEXT: kmovd %k0, %eax # encoding: [0xc5,0xfb,0x93,0xc0]
-; X86-NEXT: # kill: def $ax killed $ax killed $eax
-; X86-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vcmpph256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcmpeqph %ymm1, %ymm0, %k0 {%k1} # encoding: [0x62,0xf3,0x7c,0x29,0xc2,0xc1,0x00]
-; X64-NEXT: kmovd %k0, %eax # encoding: [0xc5,0xfb,0x93,0xc0]
-; X64-NEXT: # kill: def $ax killed $ax killed $eax
-; X64-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X64-NEXT: retq # encoding: [0xc3]
- %msk = bitcast i16 %C to <16 x i1>
- %ret0 = call <16 x i1> @llvm.x86.avx10.mask.vcmpph256(<16 x half> %A, <16 x half> %B, i32 0, <16 x i1> %msk, i32 4)
- %ret = bitcast <16 x i1> %ret0 to i16
- ret i16 %ret
-}
-
-declare <8 x i1> @llvm.x86.avx10.mask.vcmpps256(<8 x float>, <8 x float>, i32, <8 x i1>, i32)
-define i8 @test_int_x86_vcmpps256(<8 x float> %A, <8 x float> %B, i8 %C) nounwind {
-; CHECK-LABEL: test_int_x86_vcmpps256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vcmpps $0, {sae}, %ymm1, %ymm0, %k0 # encoding: [0x62,0xf1,0x78,0x18,0xc2,0xc1,0x00]
-; CHECK-NEXT: kmovd %k0, %eax # encoding: [0xc5,0xfb,0x93,0xc0]
-; CHECK-NEXT: # kill: def $al killed $al killed $eax
-; CHECK-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret0 = call <8 x i1> @llvm.x86.avx10.mask.vcmpps256(<8 x float> %A, <8 x float> %B, i32 0, <8 x i1> <i1 1, i1 1, i1 1, i1 1, i1 1, i1 1, i1 1, i1 1>, i32 8)
- %ret = bitcast <8 x i1> %ret0 to i8
- ret i8 %ret
-}
-
-define i8 @test_int_x86_mask_vcmpps256(<8 x float> %A, <8 x float> %B, i8 %C) nounwind {
-; X86-LABEL: test_int_x86_mask_vcmpps256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcmpeqps %ymm1, %ymm0, %k0 {%k1} # encoding: [0x62,0xf1,0x7c,0x29,0xc2,0xc1,0x00]
-; X86-NEXT: kmovd %k0, %eax # encoding: [0xc5,0xfb,0x93,0xc0]
-; X86-NEXT: # kill: def $al killed $al killed $eax
-; X86-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vcmpps256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcmpeqps %ymm1, %ymm0, %k0 {%k1} # encoding: [0x62,0xf1,0x7c,0x29,0xc2,0xc1,0x00]
-; X64-NEXT: kmovd %k0, %eax # encoding: [0xc5,0xfb,0x93,0xc0]
-; X64-NEXT: # kill: def $al killed $al killed $eax
-; X64-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X64-NEXT: retq # encoding: [0xc3]
- %msk = bitcast i8 %C to <8 x i1>
- %ret0 = call <8 x i1> @llvm.x86.avx10.mask.vcmpps256(<8 x float> %A, <8 x float> %B, i32 0, <8 x i1> %msk, i32 4)
- %ret = bitcast <8 x i1> %ret0 to i8
- ret i8 %ret
-}
-
-declare <8 x half> @llvm.x86.avx512.sitofp.round.v8f16.v8i32(<8 x i32>, i32)
-define <8 x half> @test_int_x86_vcvtdq2ph256(<8 x i32> %A) nounwind {
-; CHECK-LABEL: test_int_x86_vcvtdq2ph256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vcvtdq2ph {rz-sae}, %ymm0, %xmm0 # encoding: [0x62,0xf5,0x78,0x78,0x5b,0xc0]
-; CHECK-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <8 x half> @llvm.x86.avx512.sitofp.round.v8f16.v8i32(<8 x i32> %A, i32 11)
- ret <8 x half> %ret
-}
-
-define <8 x half> @test_int_x86_mask_vcvtdq2ph256(<8 x half> %A, i8 %B, <8 x i32> %C) nounwind {
-; X86-LABEL: test_int_x86_mask_vcvtdq2ph256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtdq2ph {ru-sae}, %ymm1, %xmm0 {%k1} # encoding: [0x62,0xf5,0x78,0x59,0x5b,0xc1]
-; X86-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vcvtdq2ph256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtdq2ph {ru-sae}, %ymm1, %xmm0 {%k1} # encoding: [0x62,0xf5,0x78,0x59,0x5b,0xc1]
-; X64-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <8 x half> @llvm.x86.avx512.sitofp.round.v8f16.v8i32(<8 x i32> %C, i32 10)
- %msk = bitcast i8 %B to <8 x i1>
- %ret = select <8 x i1> %msk, <8 x half> %ret0, <8 x half> %A
- ret <8 x half> %ret
-}
-
-define <8 x half> @test_int_x86_maskz_vcvtdq2ph256(i8 %A, <8 x i32> %B) nounwind {
-; X86-LABEL: test_int_x86_maskz_vcvtdq2ph256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtdq2ph {rd-sae}, %ymm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf5,0x78,0xb9,0x5b,0xc0]
-; X86-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vcvtdq2ph256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtdq2ph {rd-sae}, %ymm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf5,0x78,0xb9,0x5b,0xc0]
-; X64-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <8 x half> @llvm.x86.avx512.sitofp.round.v8f16.v8i32(<8 x i32> %B, i32 9)
- %msk = bitcast i8 %A to <8 x i1>
- %ret = select <8 x i1> %msk, <8 x half> %ret0, <8 x half> zeroinitializer
- ret <8 x half> %ret
-}
-
-declare <8 x float> @llvm.x86.avx512.sitofp.round.v8f32.v8i32(<8 x i32>, i32)
-define <8 x float> @test_int_x86_vcvtdq2ps256(<8 x i32> %A) nounwind {
-; CHECK-LABEL: test_int_x86_vcvtdq2ps256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vcvtdq2ps {rz-sae}, %ymm0, %ymm0 # encoding: [0x62,0xf1,0x78,0x78,0x5b,0xc0]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <8 x float> @llvm.x86.avx512.sitofp.round.v8f32.v8i32(<8 x i32> %A, i32 11)
- ret <8 x float> %ret
-}
-
-define <8 x float> @test_int_x86_mask_vcvtdq2ps256(<8 x float> %A, i8 %B, <8 x i32> %C) nounwind {
-; X86-LABEL: test_int_x86_mask_vcvtdq2ps256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtdq2ps {ru-sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0x78,0x59,0x5b,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vcvtdq2ps256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtdq2ps {ru-sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0x78,0x59,0x5b,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <8 x float> @llvm.x86.avx512.sitofp.round.v8f32.v8i32(<8 x i32> %C, i32 10)
- %msk = bitcast i8 %B to <8 x i1>
- %ret = select <8 x i1> %msk, <8 x float> %ret0, <8 x float> %A
- ret <8 x float> %ret
-}
-
-define <8 x float> @test_int_x86_maskz_vcvtdq2ps256(i8 %A, <8 x i32> %B) nounwind {
-; X86-LABEL: test_int_x86_maskz_vcvtdq2ps256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtdq2ps {rd-sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0x78,0xb9,0x5b,0xc0]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vcvtdq2ps256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtdq2ps {rd-sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0x78,0xb9,0x5b,0xc0]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <8 x float> @llvm.x86.avx512.sitofp.round.v8f32.v8i32(<8 x i32> %B, i32 9)
- %msk = bitcast i8 %A to <8 x i1>
- %ret = select <8 x i1> %msk, <8 x float> %ret0, <8 x float> zeroinitializer
- ret <8 x float> %ret
-}
-
-declare <4 x i32> @llvm.x86.avx10.mask.vcvtpd2dq256(<4 x double>, <4 x i32>, i8, i32)
-define <4 x i32> @test_int_x86_vcvtpd2dq256(<4 x double> %A) nounwind {
-; CHECK-LABEL: test_int_x86_vcvtpd2dq256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vcvtpd2dq {rz-sae}, %ymm0, %xmm0 # encoding: [0x62,0xf1,0xfb,0x78,0xe6,0xc0]
-; CHECK-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <4 x i32> @llvm.x86.avx10.mask.vcvtpd2dq256(<4 x double> %A, <4 x i32> undef, i8 -1, i32 11)
- ret <4 x i32> %ret
-}
-
-define <4 x i32> @test_int_x86_mask_vcvtpd2dq256(<4 x i32> %A, i8 %B, <4 x double> %C) nounwind {
-; X86-LABEL: test_int_x86_mask_vcvtpd2dq256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtpd2dq {ru-sae}, %ymm1, %xmm0 {%k1} # encoding: [0x62,0xf1,0xfb,0x59,0xe6,0xc1]
-; X86-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vcvtpd2dq256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtpd2dq {ru-sae}, %ymm1, %xmm0 {%k1} # encoding: [0x62,0xf1,0xfb,0x59,0xe6,0xc1]
-; X64-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <4 x i32> @llvm.x86.avx10.mask.vcvtpd2dq256(<4 x double> %C, <4 x i32> %A, i8 %B, i32 10)
- ret <4 x i32> %ret
-}
-
-define <4 x i32> @test_int_x86_maskz_vcvtpd2dq256(i8 %A, <4 x double> %B) nounwind {
-; X86-LABEL: test_int_x86_maskz_vcvtpd2dq256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtpd2dq {rd-sae}, %ymm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf1,0xfb,0xb9,0xe6,0xc0]
-; X86-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vcvtpd2dq256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtpd2dq {rd-sae}, %ymm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf1,0xfb,0xb9,0xe6,0xc0]
-; X64-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <4 x i32> @llvm.x86.avx10.mask.vcvtpd2dq256(<4 x double> %B, <4 x i32> zeroinitializer, i8 %A, i32 9)
- ret <4 x i32> %ret
-}
-
-declare <8 x half> @llvm.x86.avx10.mask.vcvtpd2ph256(<4 x double>, <8 x half>, i8, i32)
-define <8 x half> @test_int_x86_vcvtpd2ph256(<4 x double> %A) nounwind {
-; CHECK-LABEL: test_int_x86_vcvtpd2ph256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vcvtpd2ph {rz-sae}, %ymm0, %xmm0 # encoding: [0x62,0xf5,0xf9,0x78,0x5a,0xc0]
-; CHECK-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <8 x half> @llvm.x86.avx10.mask.vcvtpd2ph256(<4 x double> %A, <8 x half> undef, i8 -1, i32 11)
- ret <8 x half> %ret
-}
-
-define <8 x half> @test_int_x86_mask_vcvtpd2ph256(<8 x half> %A, i8 %B, <4 x double> %C) {
-; X86-LABEL: test_int_x86_mask_vcvtpd2ph256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtpd2ph {ru-sae}, %ymm1, %xmm0 {%k1} # encoding: [0x62,0xf5,0xf9,0x59,0x5a,0xc1]
-; X86-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vcvtpd2ph256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtpd2ph {ru-sae}, %ymm1, %xmm0 {%k1} # encoding: [0x62,0xf5,0xf9,0x59,0x5a,0xc1]
-; X64-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <8 x half> @llvm.x86.avx10.mask.vcvtpd2ph256(<4 x double> %C, <8 x half> %A, i8 %B, i32 10)
- ret <8 x half> %ret
-}
-
-define <8 x half> @test_int_x86_maskz_vcvtpd2ph256(i8 %A, <4 x double> %B) nounwind {
-; X86-LABEL: test_int_x86_maskz_vcvtpd2ph256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtpd2ph {rd-sae}, %ymm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf5,0xf9,0xb9,0x5a,0xc0]
-; X86-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vcvtpd2ph256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtpd2ph {rd-sae}, %ymm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf5,0xf9,0xb9,0x5a,0xc0]
-; X64-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <8 x half> @llvm.x86.avx10.mask.vcvtpd2ph256(<4 x double> %B, <8 x half> zeroinitializer, i8 %A, i32 9)
- ret <8 x half> %ret
-}
-
-declare <4 x float> @llvm.x86.avx10.mask.vcvtpd2ps256(<4 x double>, <4 x float>, i8, i32)
-define <4 x float> @test_int_x86_vcvtpd2ps256(<4 x double> %A) nounwind {
-; CHECK-LABEL: test_int_x86_vcvtpd2ps256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vcvtpd2ps {rz-sae}, %ymm0, %xmm0 # encoding: [0x62,0xf1,0xf9,0x78,0x5a,0xc0]
-; CHECK-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <4 x float> @llvm.x86.avx10.mask.vcvtpd2ps256(<4 x double> %A, <4 x float> undef, i8 -1, i32 11)
- ret <4 x float> %ret
-}
-
-define <4 x float> @test_int_x86_mask_vcvtpd2ps256(<4 x float> %A, i8 %B, <4 x double> %C) nounwind {
-; X86-LABEL: test_int_x86_mask_vcvtpd2ps256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtpd2ps {ru-sae}, %ymm1, %xmm0 {%k1} # encoding: [0x62,0xf1,0xf9,0x59,0x5a,0xc1]
-; X86-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vcvtpd2ps256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtpd2ps {ru-sae}, %ymm1, %xmm0 {%k1} # encoding: [0x62,0xf1,0xf9,0x59,0x5a,0xc1]
-; X64-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <4 x float> @llvm.x86.avx10.mask.vcvtpd2ps256(<4 x double> %C, <4 x float> %A, i8 %B, i32 10)
- ret <4 x float> %ret
-}
-
-define <4 x float> @test_int_x86_maskz_vcvtpd2ps256(i8 %A, <4 x double> %B) nounwind {
-; X86-LABEL: test_int_x86_maskz_vcvtpd2ps256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtpd2ps {rd-sae}, %ymm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf1,0xf9,0xb9,0x5a,0xc0]
-; X86-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vcvtpd2ps256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtpd2ps {rd-sae}, %ymm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf1,0xf9,0xb9,0x5a,0xc0]
-; X64-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <4 x float> @llvm.x86.avx10.mask.vcvtpd2ps256(<4 x double> %B, <4 x float> zeroinitializer, i8 %A, i32 9)
- ret <4 x float> %ret
-}
-
-declare <4 x i64> @llvm.x86.avx10.mask.vcvtpd2qq256(<4 x double>, <4 x i64>, i8, i32)
-define <4 x i64> @test_int_x86_vcvtpd2qq256(<4 x double> %A) nounwind {
-; CHECK-LABEL: test_int_x86_vcvtpd2qq256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vcvtpd2qq {rz-sae}, %ymm0, %ymm0 # encoding: [0x62,0xf1,0xf9,0x78,0x7b,0xc0]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <4 x i64> @llvm.x86.avx10.mask.vcvtpd2qq256(<4 x double> %A, <4 x i64> undef, i8 -1, i32 11)
- ret <4 x i64> %ret
-}
-
-define <4 x i64> @test_int_x86_mask_vcvtpd2qq256(<4 x i64> %A, i8 %B, <4 x double> %C) nounwind {
-; X86-LABEL: test_int_x86_mask_vcvtpd2qq256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtpd2qq {ru-sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0xf9,0x59,0x7b,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vcvtpd2qq256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtpd2qq {ru-sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0xf9,0x59,0x7b,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <4 x i64> @llvm.x86.avx10.mask.vcvtpd2qq256(<4 x double> %C, <4 x i64> %A, i8 %B, i32 10)
- ret <4 x i64> %ret
-}
-
-define <4 x i64> @test_int_x86_maskz_vcvtpd2qq256(i8 %A, <4 x double> %B) nounwind {
-; X86-LABEL: test_int_x86_maskz_vcvtpd2qq256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtpd2qq {rd-sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0xf9,0xb9,0x7b,0xc0]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vcvtpd2qq256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtpd2qq {rd-sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0xf9,0xb9,0x7b,0xc0]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <4 x i64> @llvm.x86.avx10.mask.vcvtpd2qq256(<4 x double> %B, <4 x i64> zeroinitializer, i8 %A, i32 9)
- ret <4 x i64> %ret
-}
-
-declare <4 x i32> @llvm.x86.avx10.mask.vcvtpd2udq256(<4 x double>, <4 x i32>, i8, i32)
-define <4 x i32> @test_int_x86_vcvtpd2udq256(<4 x double> %A) nounwind {
-; CHECK-LABEL: test_int_x86_vcvtpd2udq256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vcvtpd2udq {rz-sae}, %ymm0, %xmm0 # encoding: [0x62,0xf1,0xf8,0x78,0x79,0xc0]
-; CHECK-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <4 x i32> @llvm.x86.avx10.mask.vcvtpd2udq256(<4 x double> %A, <4 x i32> undef, i8 -1, i32 11)
- ret <4 x i32> %ret
-}
-
-define <4 x i32> @test_int_x86_mask_vcvtpd2udq256(<4 x i32> %A, i8 %B, <4 x double> %C) nounwind {
-; X86-LABEL: test_int_x86_mask_vcvtpd2udq256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtpd2udq {ru-sae}, %ymm1, %xmm0 {%k1} # encoding: [0x62,0xf1,0xf8,0x59,0x79,0xc1]
-; X86-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vcvtpd2udq256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtpd2udq {ru-sae}, %ymm1, %xmm0 {%k1} # encoding: [0x62,0xf1,0xf8,0x59,0x79,0xc1]
-; X64-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <4 x i32> @llvm.x86.avx10.mask.vcvtpd2udq256(<4 x double> %C, <4 x i32> %A, i8 %B, i32 10)
- ret <4 x i32> %ret
-}
-
-define <4 x i32> @test_int_x86_maskz_vcvtpd2udq256(i8 %A, <4 x double> %B) nounwind {
-; X86-LABEL: test_int_x86_maskz_vcvtpd2udq256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtpd2udq {rd-sae}, %ymm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf1,0xf8,0xb9,0x79,0xc0]
-; X86-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vcvtpd2udq256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtpd2udq {rd-sae}, %ymm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf1,0xf8,0xb9,0x79,0xc0]
-; X64-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <4 x i32> @llvm.x86.avx10.mask.vcvtpd2udq256(<4 x double> %B, <4 x i32> zeroinitializer, i8 %A, i32 9)
- ret <4 x i32> %ret
-}
-
-declare <4 x i64> @llvm.x86.avx10.mask.vcvtpd2uqq256(<4 x double>, <4 x i64>, i8, i32)
-define <4 x i64> @test_int_x86_vcvtpd2uqq256(<4 x double> %A) nounwind {
-; CHECK-LABEL: test_int_x86_vcvtpd2uqq256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vcvtpd2uqq {rz-sae}, %ymm0, %ymm0 # encoding: [0x62,0xf1,0xf9,0x78,0x79,0xc0]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <4 x i64> @llvm.x86.avx10.mask.vcvtpd2uqq256(<4 x double> %A, <4 x i64> undef, i8 -1, i32 11)
- ret <4 x i64> %ret
-}
-
-define <4 x i64> @test_int_x86_mask_vcvtpd2uqq256(<4 x i64> %A, i8 %B, <4 x double> %C) nounwind {
-; X86-LABEL: test_int_x86_mask_vcvtpd2uqq256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtpd2uqq {ru-sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0xf9,0x59,0x79,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vcvtpd2uqq256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtpd2uqq {ru-sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0xf9,0x59,0x79,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <4 x i64> @llvm.x86.avx10.mask.vcvtpd2uqq256(<4 x double> %C, <4 x i64> %A, i8 %B, i32 10)
- ret <4 x i64> %ret
-}
-
-define <4 x i64> @test_int_x86_maskz_vcvtpd2uqq256(i8 %A, <4 x double> %B) nounwind {
-; X86-LABEL: test_int_x86_maskz_vcvtpd2uqq256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtpd2uqq {rd-sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0xf9,0xb9,0x79,0xc0]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vcvtpd2uqq256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtpd2uqq {rd-sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0xf9,0xb9,0x79,0xc0]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <4 x i64> @llvm.x86.avx10.mask.vcvtpd2uqq256(<4 x double> %B, <4 x i64> zeroinitializer, i8 %A, i32 9)
- ret <4 x i64> %ret
-}
-
-declare <8 x i32> @llvm.x86.avx10.mask.vcvtph2dq256(<8 x half>, <8 x i32>, i8, i32)
-define <8 x i32> @test_int_x86_vcvtph2dq256(<8 x half> %A) nounwind {
-; CHECK-LABEL: test_int_x86_vcvtph2dq256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vcvtph2dq {rz-sae}, %xmm0, %ymm0 # encoding: [0x62,0xf5,0x79,0x78,0x5b,0xc0]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <8 x i32> @llvm.x86.avx10.mask.vcvtph2dq256(<8 x half> %A, <8 x i32> undef, i8 -1, i32 11)
- ret <8 x i32> %ret
-}
-
-define <8 x i32> @test_int_x86_mask_vcvtph2dq256(<8 x i32> %A, i8 %B, <8 x half> %C) nounwind {
-; X86-LABEL: test_int_x86_mask_vcvtph2dq256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtph2dq {ru-sae}, %xmm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x79,0x59,0x5b,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vcvtph2dq256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtph2dq {ru-sae}, %xmm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x79,0x59,0x5b,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <8 x i32> @llvm.x86.avx10.mask.vcvtph2dq256(<8 x half> %C, <8 x i32> %A, i8 %B, i32 10)
- ret <8 x i32> %ret
-}
-
-define <8 x i32> @test_int_x86_maskz_vcvtph2dq256(i8 %A, <8 x half> %B) nounwind {
-; X86-LABEL: test_int_x86_maskz_vcvtph2dq256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtph2dq {rd-sae}, %xmm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x79,0xb9,0x5b,0xc0]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vcvtph2dq256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtph2dq {rd-sae}, %xmm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x79,0xb9,0x5b,0xc0]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <8 x i32> @llvm.x86.avx10.mask.vcvtph2dq256(<8 x half> %B, <8 x i32> zeroinitializer, i8 %A, i32 9)
- ret <8 x i32> %ret
-}
-
-declare <4 x double> @llvm.x86.avx10.mask.vcvtph2pd256(<8 x half>, <4 x double>, i8, i32)
-define <4 x double> @test_int_x86_vcvtph2pd256(<8 x half> %A) nounwind {
-; CHECK-LABEL: test_int_x86_vcvtph2pd256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vcvtph2pd {sae}, %xmm0, %ymm0 # encoding: [0x62,0xf5,0x78,0x18,0x5a,0xc0]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <4 x double> @llvm.x86.avx10.mask.vcvtph2pd256(<8 x half> %A, <4 x double> undef, i8 -1, i32 8)
- ret <4 x double> %ret
-}
-
-define <4 x double> @test_int_x86_mask_vcvtph2pd256(<4 x double> %A, i8 %B, <8 x half> %C) nounwind {
-; X86-LABEL: test_int_x86_mask_vcvtph2pd256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtph2pd {sae}, %xmm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x78,0x19,0x5a,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vcvtph2pd256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtph2pd {sae}, %xmm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x78,0x19,0x5a,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <4 x double> @llvm.x86.avx10.mask.vcvtph2pd256(<8 x half> %C, <4 x double> %A, i8 %B, i32 8)
- ret <4 x double> %ret
-}
-
-define <4 x double> @test_int_x86_maskz_vcvtph2pd256(i8 %A, <8 x half> %B) nounwind {
-; X86-LABEL: test_int_x86_maskz_vcvtph2pd256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtph2pd {sae}, %xmm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x78,0x99,0x5a,0xc0]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vcvtph2pd256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtph2pd {sae}, %xmm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x78,0x99,0x5a,0xc0]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <4 x double> @llvm.x86.avx10.mask.vcvtph2pd256(<8 x half> %B, <4 x double> zeroinitializer, i8 %A, i32 8)
- ret <4 x double> %ret
-}
-
-declare <8 x float> @llvm.x86.avx10.mask.vcvtph2psx256(<8 x half>, <8 x float>, i8, i32)
-define <8 x float> @test_int_x86_vcvtph2psx256(<8 x half> %A) nounwind {
-; CHECK-LABEL: test_int_x86_vcvtph2psx256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vcvtph2psx {sae}, %xmm0, %ymm0 # encoding: [0x62,0xf6,0x79,0x18,0x13,0xc0]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <8 x float> @llvm.x86.avx10.mask.vcvtph2psx256(<8 x half> %A, <8 x float> undef, i8 -1, i32 8)
- ret <8 x float> %ret
-}
-
-define <8 x float> @test_int_x86_mask_vcvtph2psx256(<8 x float> %A, i8 %B, <8 x half> %C) nounwind {
-; X86-LABEL: test_int_x86_mask_vcvtph2psx256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtph2psx {sae}, %xmm1, %ymm0 {%k1} # encoding: [0x62,0xf6,0x79,0x19,0x13,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vcvtph2psx256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtph2psx {sae}, %xmm1, %ymm0 {%k1} # encoding: [0x62,0xf6,0x79,0x19,0x13,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <8 x float> @llvm.x86.avx10.mask.vcvtph2psx256(<8 x half> %C, <8 x float> %A, i8 %B, i32 8)
- ret <8 x float> %ret
-}
-
-define <8 x float> @test_int_x86_maskz_vcvtph2psx256(i8 %A, <8 x half> %B) nounwind {
-; X86-LABEL: test_int_x86_maskz_vcvtph2psx256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtph2psx {sae}, %xmm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf6,0x79,0x99,0x13,0xc0]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vcvtph2psx256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtph2psx {sae}, %xmm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf6,0x79,0x99,0x13,0xc0]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <8 x float> @llvm.x86.avx10.mask.vcvtph2psx256(<8 x half> %B, <8 x float> zeroinitializer, i8 %A, i32 8)
- ret <8 x float> %ret
-}
-
-declare <4 x i64> @llvm.x86.avx10.mask.vcvtph2qq256(<8 x half>, <4 x i64>, i8, i32)
-define <4 x i64> @test_int_x86_vcvtph2qq256(<8 x half> %A) nounwind {
-; CHECK-LABEL: test_int_x86_vcvtph2qq256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vcvtph2qq {rz-sae}, %xmm0, %ymm0 # encoding: [0x62,0xf5,0x79,0x78,0x7b,0xc0]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <4 x i64> @llvm.x86.avx10.mask.vcvtph2qq256(<8 x half> %A, <4 x i64> undef, i8 -1, i32 11)
- ret <4 x i64> %ret
-}
-
-define <4 x i64> @test_int_x86_mask_vcvtph2qq256(<4 x i64> %A, i8 %B, <8 x half> %C) nounwind {
-; X86-LABEL: test_int_x86_mask_vcvtph2qq256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtph2qq {ru-sae}, %xmm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x79,0x59,0x7b,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vcvtph2qq256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtph2qq {ru-sae}, %xmm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x79,0x59,0x7b,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <4 x i64> @llvm.x86.avx10.mask.vcvtph2qq256(<8 x half> %C, <4 x i64> %A, i8 %B, i32 10)
- ret <4 x i64> %ret
-}
-
-define <4 x i64> @test_int_x86_maskz_vcvtph2qq256(i8 %A, <8 x half> %B) nounwind {
-; X86-LABEL: test_int_x86_maskz_vcvtph2qq256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtph2qq {rd-sae}, %xmm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x79,0xb9,0x7b,0xc0]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vcvtph2qq256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtph2qq {rd-sae}, %xmm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x79,0xb9,0x7b,0xc0]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <4 x i64> @llvm.x86.avx10.mask.vcvtph2qq256(<8 x half> %B, <4 x i64> zeroinitializer, i8 %A, i32 9)
- ret <4 x i64> %ret
-}
-
-declare <8 x i32> @llvm.x86.avx10.mask.vcvtph2udq256(<8 x half>, <8 x i32>, i8, i32)
-define <8 x i32> @test_int_x86_vcvtph2udq256(<8 x half> %A) nounwind {
-; CHECK-LABEL: test_int_x86_vcvtph2udq256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vcvtph2udq {rz-sae}, %xmm0, %ymm0 # encoding: [0x62,0xf5,0x78,0x78,0x79,0xc0]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <8 x i32> @llvm.x86.avx10.mask.vcvtph2udq256(<8 x half> %A, <8 x i32> undef, i8 -1, i32 11)
- ret <8 x i32> %ret
-}
-
-define <8 x i32> @test_int_x86_mask_vcvtph2udq256(<8 x i32> %A, i8 %B, <8 x half> %C) nounwind {
-; X86-LABEL: test_int_x86_mask_vcvtph2udq256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtph2udq {ru-sae}, %xmm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x78,0x59,0x79,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vcvtph2udq256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtph2udq {ru-sae}, %xmm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x78,0x59,0x79,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <8 x i32> @llvm.x86.avx10.mask.vcvtph2udq256(<8 x half> %C, <8 x i32> %A, i8 %B, i32 10)
- ret <8 x i32> %ret
-}
-
-define <8 x i32> @test_int_x86_maskz_vcvtph2udq256(i8 %A, <8 x half> %B) nounwind {
-; X86-LABEL: test_int_x86_maskz_vcvtph2udq256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtph2udq {rd-sae}, %xmm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x78,0xb9,0x79,0xc0]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vcvtph2udq256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtph2udq {rd-sae}, %xmm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x78,0xb9,0x79,0xc0]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <8 x i32> @llvm.x86.avx10.mask.vcvtph2udq256(<8 x half> %B, <8 x i32> zeroinitializer, i8 %A, i32 9)
- ret <8 x i32> %ret
-}
-
-declare <4 x i64> @llvm.x86.avx10.mask.vcvtph2uqq256(<8 x half>, <4 x i64>, i8, i32)
-define <4 x i64> @test_int_x86_vcvtph2uqq256(<8 x half> %A) nounwind {
-; CHECK-LABEL: test_int_x86_vcvtph2uqq256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vcvtph2uqq {rz-sae}, %xmm0, %ymm0 # encoding: [0x62,0xf5,0x79,0x78,0x79,0xc0]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <4 x i64> @llvm.x86.avx10.mask.vcvtph2uqq256(<8 x half> %A, <4 x i64> undef, i8 -1, i32 11)
- ret <4 x i64> %ret
-}
-
-define <4 x i64> @test_int_x86_mask_vcvtph2uqq256(<4 x i64> %A, i8 %B, <8 x half> %C) nounwind {
-; X86-LABEL: test_int_x86_mask_vcvtph2uqq256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtph2uqq {ru-sae}, %xmm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x79,0x59,0x79,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vcvtph2uqq256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtph2uqq {ru-sae}, %xmm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x79,0x59,0x79,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <4 x i64> @llvm.x86.avx10.mask.vcvtph2uqq256(<8 x half> %C, <4 x i64> %A, i8 %B, i32 10)
- ret <4 x i64> %ret
-}
-
-define <4 x i64> @test_int_x86_maskz_vcvtph2uqq256(i8 %A, <8 x half> %B) nounwind {
-; X86-LABEL: test_int_x86_maskz_vcvtph2uqq256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtph2uqq {rd-sae}, %xmm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x79,0xb9,0x79,0xc0]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vcvtph2uqq256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtph2uqq {rd-sae}, %xmm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x79,0xb9,0x79,0xc0]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <4 x i64> @llvm.x86.avx10.mask.vcvtph2uqq256(<8 x half> %B, <4 x i64> zeroinitializer, i8 %A, i32 9)
- ret <4 x i64> %ret
-}
-
-declare <16 x i16> @llvm.x86.avx10.mask.vcvtph2uw256(<16 x half>, <16 x i16>, i16, i32)
-define <16 x i16> @test_int_x86_vcvtph2uw256(<16 x half> %A) nounwind {
-; CHECK-LABEL: test_int_x86_vcvtph2uw256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vcvtph2uw {rz-sae}, %ymm0, %ymm0 # encoding: [0x62,0xf5,0x78,0x78,0x7d,0xc0]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <16 x i16> @llvm.x86.avx10.mask.vcvtph2uw256(<16 x half> %A, <16 x i16> undef, i16 -1, i32 11)
- ret <16 x i16> %ret
-}
-
-define <16 x i16> @test_int_x86_mask_vcvtph2uw256(<16 x i16> %A, i16 %B, <16 x half> %C) nounwind {
-; X86-LABEL: test_int_x86_mask_vcvtph2uw256:
-; X86: # %bb.0:
-; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtph2uw {ru-sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x78,0x59,0x7d,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vcvtph2uw256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtph2uw {ru-sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x78,0x59,0x7d,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <16 x i16> @llvm.x86.avx10.mask.vcvtph2uw256(<16 x half> %C, <16 x i16> %A, i16 %B, i32 10)
- ret <16 x i16> %ret
-}
-
-define <16 x i16> @test_int_x86_maskz_vcvtph2uw256(i16 %A, <16 x half> %B) nounwind {
-; X86-LABEL: test_int_x86_maskz_vcvtph2uw256:
-; X86: # %bb.0:
-; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtph2uw {rd-sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x78,0xb9,0x7d,0xc0]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vcvtph2uw256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtph2uw {rd-sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x78,0xb9,0x7d,0xc0]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <16 x i16> @llvm.x86.avx10.mask.vcvtph2uw256(<16 x half> %B, <16 x i16> zeroinitializer, i16 %A, i32 9)
- ret <16 x i16> %ret
-}
-
-declare <16 x i16> @llvm.x86.avx10.mask.vcvtph2w256(<16 x half>, <16 x i16>, i16, i32)
-define <16 x i16> @test_int_x86_vcvtph2w256(<16 x half> %A) nounwind {
-; CHECK-LABEL: test_int_x86_vcvtph2w256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vcvtph2w {rz-sae}, %ymm0, %ymm0 # encoding: [0x62,0xf5,0x79,0x78,0x7d,0xc0]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <16 x i16> @llvm.x86.avx10.mask.vcvtph2w256(<16 x half> %A, <16 x i16> undef, i16 -1, i32 11)
- ret <16 x i16> %ret
-}
-
-define <16 x i16> @test_int_x86_mask_vcvtph2w256(<16 x i16> %A, i16 %B, <16 x half> %C) nounwind {
-; X86-LABEL: test_int_x86_mask_vcvtph2w256:
-; X86: # %bb.0:
-; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtph2w {ru-sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x79,0x59,0x7d,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vcvtph2w256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtph2w {ru-sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x79,0x59,0x7d,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <16 x i16> @llvm.x86.avx10.mask.vcvtph2w256(<16 x half> %C, <16 x i16> %A, i16 %B, i32 10)
- ret <16 x i16> %ret
-}
-
-define <16 x i16> @test_int_x86_maskz_vcvtph2w256(i16 %A, <16 x half> %B) nounwind {
-; X86-LABEL: test_int_x86_maskz_vcvtph2w256:
-; X86: # %bb.0:
-; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtph2w {rd-sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x79,0xb9,0x7d,0xc0]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vcvtph2w256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtph2w {rd-sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x79,0xb9,0x7d,0xc0]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <16 x i16> @llvm.x86.avx10.mask.vcvtph2w256(<16 x half> %B, <16 x i16> zeroinitializer, i16 %A, i32 9)
- ret <16 x i16> %ret
-}
-
-declare <8 x i32> @llvm.x86.avx10.mask.vcvtps2dq256(<8 x float>, <8 x i32>, i8, i32)
-define <8 x i32> @test_int_x86_vcvtps2dq256(<8 x float> %a) nounwind {
-; CHECK-LABEL: test_int_x86_vcvtps2dq256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vcvtps2dq {rz-sae}, %ymm0, %ymm0 # encoding: [0x62,0xf1,0x79,0x78,0x5b,0xc0]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <8 x i32> @llvm.x86.avx10.mask.vcvtps2dq256(<8 x float> %a, <8 x i32> undef, i8 -1, i32 11)
- ret <8 x i32> %ret
-}
-
-define <8 x i32> @test_int_x86_mask_vcvtps2dq256(<8 x i32> %a, i8 %b, <8 x float> %c) nounwind {
-; X86-LABEL: test_int_x86_mask_vcvtps2dq256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtps2dq {ru-sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0x79,0x59,0x5b,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vcvtps2dq256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtps2dq {ru-sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0x79,0x59,0x5b,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <8 x i32> @llvm.x86.avx10.mask.vcvtps2dq256(<8 x float> %c, <8 x i32> %a, i8 %b, i32 10)
- ret <8 x i32> %ret
-}
-
-define <8 x i32> @test_int_x86_maskz_vcvtps2dq256(i8 %a, <8 x float> %b) nounwind {
-; X86-LABEL: test_int_x86_maskz_vcvtps2dq256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtps2dq {rd-sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0x79,0xb9,0x5b,0xc0]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vcvtps2dq256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtps2dq {rd-sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0x79,0xb9,0x5b,0xc0]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <8 x i32> @llvm.x86.avx10.mask.vcvtps2dq256(<8 x float> %b, <8 x i32> zeroinitializer, i8 %a, i32 9)
- ret <8 x i32> %ret
-}
-
-declare <4 x double> @llvm.x86.avx10.mask.vcvtps2pd256(<4 x float>, <4 x double>, i8, i32)
-define <4 x double> @test_int_x86_vcvtps2pd256(<4 x float> %a) nounwind {
-; CHECK-LABEL: test_int_x86_vcvtps2pd256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vcvtps2pd {sae}, %xmm0, %ymm0 # encoding: [0x62,0xf1,0x78,0x18,0x5a,0xc0]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <4 x double> @llvm.x86.avx10.mask.vcvtps2pd256(<4 x float> %a, <4 x double> undef, i8 -1, i32 8)
- ret <4 x double> %ret
-}
-
-define <4 x double> @test_int_x86_mask_vcvtps2pd256(<4 x double> %a, i8 %b, <4 x float> %c) nounwind {
-; X86-LABEL: test_int_x86_mask_vcvtps2pd256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtps2pd {sae}, %xmm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0x78,0x19,0x5a,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vcvtps2pd256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtps2pd {sae}, %xmm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0x78,0x19,0x5a,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <4 x double> @llvm.x86.avx10.mask.vcvtps2pd256(<4 x float> %c, <4 x double> %a, i8 %b, i32 8)
- ret <4 x double> %ret
-}
-
-define <4 x double> @test_int_x86_maskz_vcvtps2pd256(i8 %a, <4 x float> %b) nounwind {
-; X86-LABEL: test_int_x86_maskz_vcvtps2pd256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtps2pd {sae}, %xmm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0x78,0x99,0x5a,0xc0]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vcvtps2pd256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtps2pd {sae}, %xmm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0x78,0x99,0x5a,0xc0]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <4 x double> @llvm.x86.avx10.mask.vcvtps2pd256(<4 x float> %b, <4 x double> zeroinitializer, i8 %a, i32 8)
- ret <4 x double> %ret
-}
-
-declare <8 x half> @llvm.x86.avx10.mask.vcvtps2phx256(<8 x float>, <8 x half>, i8, i32)
-define <8 x half> @test_int_x86_vcvtps2phx256(<8 x float> %a) nounwind {
-; CHECK-LABEL: test_int_x86_vcvtps2phx256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vcvtps2phx {rz-sae}, %ymm0, %xmm0 # encoding: [0x62,0xf5,0x79,0x78,0x1d,0xc0]
-; CHECK-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <8 x half> @llvm.x86.avx10.mask.vcvtps2phx256(<8 x float> %a, <8 x half> undef, i8 -1, i32 11)
- ret <8 x half> %ret
-}
-
-define <8 x half> @test_int_x86_mask_vcvtps2phx256(<8 x half> %a, i8 %b, <8 x float> %c) nounwind {
-; X86-LABEL: test_int_x86_mask_vcvtps2phx256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtps2phx {ru-sae}, %ymm1, %xmm0 {%k1} # encoding: [0x62,0xf5,0x79,0x59,0x1d,0xc1]
-; X86-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vcvtps2phx256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtps2phx {ru-sae}, %ymm1, %xmm0 {%k1} # encoding: [0x62,0xf5,0x79,0x59,0x1d,0xc1]
-; X64-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <8 x half> @llvm.x86.avx10.mask.vcvtps2phx256(<8 x float> %c, <8 x half> %a, i8 %b, i32 10)
- ret <8 x half> %ret
-}
-
-define <8 x half> @test_int_x86_maskz_vcvtps2phx256(i8 %a, <8 x float> %b) nounwind {
-; X86-LABEL: test_int_x86_maskz_vcvtps2phx256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtps2phx {rd-sae}, %ymm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf5,0x79,0xb9,0x1d,0xc0]
-; X86-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vcvtps2phx256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtps2phx {rd-sae}, %ymm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf5,0x79,0xb9,0x1d,0xc0]
-; X64-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <8 x half> @llvm.x86.avx10.mask.vcvtps2phx256(<8 x float> %b, <8 x half> zeroinitializer, i8 %a, i32 9)
- ret <8 x half> %ret
-}
-
-declare <4 x i64> @llvm.x86.avx10.mask.vcvtps2qq256(<4 x float>, <4 x i64>, i8, i32)
-define <4 x i64> @test_int_x86_vcvtps2qq256(<4 x float> %a) nounwind {
-; CHECK-LABEL: test_int_x86_vcvtps2qq256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vcvtps2qq {rz-sae}, %xmm0, %ymm0 # encoding: [0x62,0xf1,0x79,0x78,0x7b,0xc0]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <4 x i64> @llvm.x86.avx10.mask.vcvtps2qq256(<4 x float> %a, <4 x i64> undef, i8 -1, i32 11)
- ret <4 x i64> %ret
-}
-
-define <4 x i64> @test_int_x86_mask_vcvtps2qq256(<4 x i64> %a, i8 %b, <4 x float> %c) nounwind {
-; X86-LABEL: test_int_x86_mask_vcvtps2qq256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtps2qq {ru-sae}, %xmm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0x79,0x59,0x7b,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vcvtps2qq256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtps2qq {ru-sae}, %xmm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0x79,0x59,0x7b,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <4 x i64> @llvm.x86.avx10.mask.vcvtps2qq256(<4 x float> %c, <4 x i64> %a, i8 %b, i32 10)
- ret <4 x i64> %ret
-}
-
-define <4 x i64> @test_int_x86_maskz_vcvtps2qq256(i8 %a, <4 x float> %b) nounwind {
-; X86-LABEL: test_int_x86_maskz_vcvtps2qq256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtps2qq {rd-sae}, %xmm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0x79,0xb9,0x7b,0xc0]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vcvtps2qq256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtps2qq {rd-sae}, %xmm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0x79,0xb9,0x7b,0xc0]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <4 x i64> @llvm.x86.avx10.mask.vcvtps2qq256(<4 x float> %b, <4 x i64> zeroinitializer, i8 %a, i32 9)
- ret <4 x i64> %ret
-}
-
-declare <8 x i32> @llvm.x86.avx10.mask.vcvtps2udq256(<8 x float>, <8 x i32>, i8, i32)
-define <8 x i32> @test_int_x86_vcvtps2udq256(<8 x float> %a) nounwind {
-; CHECK-LABEL: test_int_x86_vcvtps2udq256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vcvtps2udq {rz-sae}, %ymm0, %ymm0 # encoding: [0x62,0xf1,0x78,0x78,0x79,0xc0]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <8 x i32> @llvm.x86.avx10.mask.vcvtps2udq256(<8 x float> %a, <8 x i32> undef, i8 -1, i32 11)
- ret <8 x i32> %ret
-}
-
-define <8 x i32> @test_int_x86_mask_vcvtps2udq256(<8 x i32> %a, i8 %b, <8 x float> %c) nounwind {
-; X86-LABEL: test_int_x86_mask_vcvtps2udq256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtps2udq {ru-sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0x78,0x59,0x79,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vcvtps2udq256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtps2udq {ru-sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0x78,0x59,0x79,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <8 x i32> @llvm.x86.avx10.mask.vcvtps2udq256(<8 x float> %c, <8 x i32> %a, i8 %b, i32 10)
- ret <8 x i32> %ret
-}
-
-define <8 x i32> @test_int_x86_maskz_vcvtps2udq256(i8 %a, <8 x float> %b) nounwind {
-; X86-LABEL: test_int_x86_maskz_vcvtps2udq256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtps2udq {rd-sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0x78,0xb9,0x79,0xc0]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vcvtps2udq256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtps2udq {rd-sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0x78,0xb9,0x79,0xc0]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <8 x i32> @llvm.x86.avx10.mask.vcvtps2udq256(<8 x float> %b, <8 x i32> zeroinitializer, i8 %a, i32 9)
- ret <8 x i32> %ret
-}
-
-declare <4 x i64> @llvm.x86.avx10.mask.vcvtps2uqq256(<4 x float>, <4 x i64>, i8, i32)
-define <4 x i64> @test_int_x86_vcvtps2uqq256(<4 x float> %a) nounwind {
-; CHECK-LABEL: test_int_x86_vcvtps2uqq256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vcvtps2uqq {rz-sae}, %xmm0, %ymm0 # encoding: [0x62,0xf1,0x79,0x78,0x79,0xc0]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <4 x i64> @llvm.x86.avx10.mask.vcvtps2uqq256(<4 x float> %a, <4 x i64> undef, i8 -1, i32 11)
- ret <4 x i64> %ret
-}
-
-define <4 x i64> @test_int_x86_mask_vcvtps2uqq256(<4 x i64> %a, i8 %b, <4 x float> %c) nounwind {
-; X86-LABEL: test_int_x86_mask_vcvtps2uqq256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtps2uqq {ru-sae}, %xmm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0x79,0x59,0x79,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vcvtps2uqq256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtps2uqq {ru-sae}, %xmm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0x79,0x59,0x79,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <4 x i64> @llvm.x86.avx10.mask.vcvtps2uqq256(<4 x float> %c, <4 x i64> %a, i8 %b, i32 10)
- ret <4 x i64> %ret
-}
-
-define <4 x i64> @test_int_x86_maskz_vcvtps2uqq256(i8 %a, <4 x float> %b) nounwind {
-; X86-LABEL: test_int_x86_maskz_vcvtps2uqq256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtps2uqq {rd-sae}, %xmm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0x79,0xb9,0x79,0xc0]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vcvtps2uqq256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtps2uqq {rd-sae}, %xmm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0x79,0xb9,0x79,0xc0]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <4 x i64> @llvm.x86.avx10.mask.vcvtps2uqq256(<4 x float> %b, <4 x i64> zeroinitializer, i8 %a, i32 9)
- ret <4 x i64> %ret
-}
-
-declare <4 x double> @llvm.x86.avx512.sitofp.round.v4f64.v4i64(<4 x i64>, i32)
-define <4 x double> @test_int_x86_vcvtqq2pd256(<4 x i64> %a) nounwind {
-; CHECK-LABEL: test_int_x86_vcvtqq2pd256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vcvtqq2pd {rn-sae}, %ymm0, %ymm0 # encoding: [0x62,0xf1,0xfa,0x18,0xe6,0xc0]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <4 x double> @llvm.x86.avx512.sitofp.round.v4f64.v4i64(<4 x i64> %a, i32 8)
- ret <4 x double> %ret
-}
-
-define <4 x double> @test_int_x86_mask_vcvtqq2pd256(<4 x double> %a, i4 %b, <4 x i64> %c) nounwind {
-; X86-LABEL: test_int_x86_mask_vcvtqq2pd256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtqq2pd {rn-sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0xfa,0x19,0xe6,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vcvtqq2pd256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtqq2pd {rn-sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0xfa,0x19,0xe6,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <4 x double> @llvm.x86.avx512.sitofp.round.v4f64.v4i64(<4 x i64> %c, i32 8)
- %msk = bitcast i4 %b to <4 x i1>
- %ret = select <4 x i1> %msk, <4 x double> %ret0, <4 x double> %a
- ret <4 x double> %ret
-}
-
-define <4 x double> @test_int_x86_maskz_vcvtqq2pd256(i4 %a, <4 x i64> %b) nounwind {
-; X86-LABEL: test_int_x86_maskz_vcvtqq2pd256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtqq2pd {rn-sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0xfa,0x99,0xe6,0xc0]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vcvtqq2pd256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtqq2pd {rn-sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0xfa,0x99,0xe6,0xc0]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <4 x double> @llvm.x86.avx512.sitofp.round.v4f64.v4i64(<4 x i64> %b, i32 8)
- %msk = bitcast i4 %a to <4 x i1>
- %ret = select <4 x i1> %msk, <4 x double> %ret0, <4 x double> zeroinitializer
- ret <4 x double> %ret
-}
-
-declare <8 x half> @llvm.x86.avx512.sitofp.round.v8f16.v4i64(<4 x i64>, i32)
-define <8 x half> @test_int_x86_vcvtqq2ph256(<4 x i64> %a) nounwind {
-; CHECK-LABEL: test_int_x86_vcvtqq2ph256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vcvtqq2ph {rn-sae}, %ymm0, %xmm0 # encoding: [0x62,0xf5,0xf8,0x18,0x5b,0xc0]
-; CHECK-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <8 x half> @llvm.x86.avx512.sitofp.round.v8f16.v4i64(<4 x i64> %a, i32 8)
- ret <8 x half> %ret
-}
-
-define <8 x half> @test_int_x86_mask_vcvtqq2ph256(<8 x half> %a, i8 %b, <4 x i64> %c) nounwind {
-; X86-LABEL: test_int_x86_mask_vcvtqq2ph256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtqq2ph {rn-sae}, %ymm1, %xmm0 {%k1} # encoding: [0x62,0xf5,0xf8,0x19,0x5b,0xc1]
-; X86-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vcvtqq2ph256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtqq2ph {rn-sae}, %ymm1, %xmm0 {%k1} # encoding: [0x62,0xf5,0xf8,0x19,0x5b,0xc1]
-; X64-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <8 x half> @llvm.x86.avx512.sitofp.round.v8f16.v4i64(<4 x i64> %c, i32 8)
- %msk = bitcast i8 %b to <8 x i1>
- %ret = select <8 x i1> %msk, <8 x half> %ret0, <8 x half> %a
- ret <8 x half> %ret
-}
-
-define <8 x half> @test_int_x86_maskz_vcvtqq2ph256(i8 %a, <4 x i64> %b) nounwind {
-; X86-LABEL: test_int_x86_maskz_vcvtqq2ph256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtqq2ph {rn-sae}, %ymm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf5,0xf8,0x99,0x5b,0xc0]
-; X86-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vcvtqq2ph256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtqq2ph {rn-sae}, %ymm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf5,0xf8,0x99,0x5b,0xc0]
-; X64-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <8 x half> @llvm.x86.avx512.sitofp.round.v8f16.v4i64(<4 x i64> %b, i32 8)
- %msk = bitcast i8 %a to <8 x i1>
- %ret = select <8 x i1> %msk, <8 x half> %ret0, <8 x half> zeroinitializer
- ret <8 x half> %ret
-}
-
-declare <4 x float> @llvm.x86.avx512.sitofp.round.v4f32.v4i64(<4 x i64>, i32)
-define <4 x float> @test_int_x86_vcvtqq2ps256(<4 x i64> %a) nounwind {
-; CHECK-LABEL: test_int_x86_vcvtqq2ps256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vcvtqq2ps {rn-sae}, %ymm0, %xmm0 # encoding: [0x62,0xf1,0xf8,0x18,0x5b,0xc0]
-; CHECK-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <4 x float> @llvm.x86.avx512.sitofp.round.v4f32.v4i64(<4 x i64> %a, i32 8)
- ret <4 x float> %ret
-}
-
-define <4 x float> @test_int_x86_mask_vcvtqq2ps256(<4 x float> %a, i4 %b, <4 x i64> %c) nounwind {
-; X86-LABEL: test_int_x86_mask_vcvtqq2ps256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtqq2ps {rn-sae}, %ymm1, %xmm0 {%k1} # encoding: [0x62,0xf1,0xf8,0x19,0x5b,0xc1]
-; X86-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vcvtqq2ps256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtqq2ps {rn-sae}, %ymm1, %xmm0 {%k1} # encoding: [0x62,0xf1,0xf8,0x19,0x5b,0xc1]
-; X64-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <4 x float> @llvm.x86.avx512.sitofp.round.v4f32.v4i64(<4 x i64> %c, i32 8)
- %msk = bitcast i4 %b to <4 x i1>
- %ret = select <4 x i1> %msk, <4 x float> %ret0, <4 x float> %a
- ret <4 x float> %ret
-}
-
-define <4 x float> @test_int_x86_maskz_vcvtqq2ps256(i4 %a, <4 x i64> %b) nounwind {
-; X86-LABEL: test_int_x86_maskz_vcvtqq2ps256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtqq2ps {rn-sae}, %ymm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf1,0xf8,0x99,0x5b,0xc0]
-; X86-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vcvtqq2ps256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtqq2ps {rn-sae}, %ymm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf1,0xf8,0x99,0x5b,0xc0]
-; X64-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <4 x float> @llvm.x86.avx512.sitofp.round.v4f32.v4i64(<4 x i64> %b, i32 8)
- %msk = bitcast i4 %a to <4 x i1>
- %ret = select <4 x i1> %msk, <4 x float> %ret0, <4 x float> zeroinitializer
- ret <4 x float> %ret
-}
-
-declare <4 x i32> @llvm.x86.avx10.mask.vcvttpd2dq256(<4 x double>, <4 x i32>, i8, i32)
-define <4 x i32> @test_int_x86_vcvttpd2dq256(<4 x double> %a) nounwind {
-; CHECK-LABEL: test_int_x86_vcvttpd2dq256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vcvttpd2dq {sae}, %ymm0, %xmm0 # encoding: [0x62,0xf1,0xf9,0x18,0xe6,0xc0]
-; CHECK-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <4 x i32> @llvm.x86.avx10.mask.vcvttpd2dq256(<4 x double> %a, <4 x i32> undef, i8 -1, i32 8)
- ret <4 x i32> %ret
-}
-
-define <4 x i32> @test_int_x86_mask_vcvttpd2dq256(<4 x i32> %a, i8 %b, <4 x double> %c) nounwind {
-; X86-LABEL: test_int_x86_mask_vcvttpd2dq256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvttpd2dq {sae}, %ymm1, %xmm0 {%k1} # encoding: [0x62,0xf1,0xf9,0x19,0xe6,0xc1]
-; X86-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vcvttpd2dq256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvttpd2dq {sae}, %ymm1, %xmm0 {%k1} # encoding: [0x62,0xf1,0xf9,0x19,0xe6,0xc1]
-; X64-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <4 x i32> @llvm.x86.avx10.mask.vcvttpd2dq256(<4 x double> %c, <4 x i32> %a, i8 %b, i32 8)
- ret <4 x i32> %ret
-}
-
-define <4 x i32> @test_int_x86_maskz_vcvttpd2dq256(i8 %a, <4 x double> %b) nounwind {
-; X86-LABEL: test_int_x86_maskz_vcvttpd2dq256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvttpd2dq {sae}, %ymm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf1,0xf9,0x99,0xe6,0xc0]
-; X86-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vcvttpd2dq256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvttpd2dq {sae}, %ymm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf1,0xf9,0x99,0xe6,0xc0]
-; X64-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <4 x i32> @llvm.x86.avx10.mask.vcvttpd2dq256(<4 x double> %b, <4 x i32> zeroinitializer, i8 %a, i32 8)
- ret <4 x i32> %ret
-}
-
-declare <4 x i64> @llvm.x86.avx10.mask.vcvttpd2qq256(<4 x double>, <4 x i64>, i8, i32)
-define <4 x i64> @test_int_x86_vcvttpd2qq256(<4 x double> %a) nounwind {
-; CHECK-LABEL: test_int_x86_vcvttpd2qq256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vcvttpd2qq {sae}, %ymm0, %ymm0 # encoding: [0x62,0xf1,0xf9,0x18,0x7a,0xc0]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <4 x i64> @llvm.x86.avx10.mask.vcvttpd2qq256(<4 x double> %a, <4 x i64> undef, i8 -1, i32 8)
- ret <4 x i64> %ret
-}
-
-define <4 x i64> @test_int_x86_mask_vcvttpd2qq256(<4 x i64> %a, i8 %b, <4 x double> %c) nounwind {
-; X86-LABEL: test_int_x86_mask_vcvttpd2qq256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvttpd2qq {sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0xf9,0x19,0x7a,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vcvttpd2qq256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvttpd2qq {sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0xf9,0x19,0x7a,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <4 x i64> @llvm.x86.avx10.mask.vcvttpd2qq256(<4 x double> %c, <4 x i64> %a, i8 %b, i32 8)
- ret <4 x i64> %ret
-}
-
-define <4 x i64> @test_int_x86_maskz_vcvttpd2qq256(i8 %a, <4 x double> %b) nounwind {
-; X86-LABEL: test_int_x86_maskz_vcvttpd2qq256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvttpd2qq {sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0xf9,0x99,0x7a,0xc0]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vcvttpd2qq256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvttpd2qq {sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0xf9,0x99,0x7a,0xc0]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <4 x i64> @llvm.x86.avx10.mask.vcvttpd2qq256(<4 x double> %b, <4 x i64> zeroinitializer, i8 %a, i32 8)
- ret <4 x i64> %ret
-}
-
-declare <4 x i32> @llvm.x86.avx10.mask.vcvttpd2udq256(<4 x double>, <4 x i32>, i8, i32)
-define <4 x i32> @test_int_x86_vcvttpd2udq256(<4 x double> %a) nounwind {
-; CHECK-LABEL: test_int_x86_vcvttpd2udq256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vcvttpd2udq {sae}, %ymm0, %xmm0 # encoding: [0x62,0xf1,0xf8,0x18,0x78,0xc0]
-; CHECK-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <4 x i32> @llvm.x86.avx10.mask.vcvttpd2udq256(<4 x double> %a, <4 x i32> undef, i8 -1, i32 8)
- ret <4 x i32> %ret
-}
-
-define <4 x i32> @test_int_x86_mask_vcvttpd2udq256(<4 x i32> %a, i8 %b, <4 x double> %c) nounwind {
-; X86-LABEL: test_int_x86_mask_vcvttpd2udq256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvttpd2udq {sae}, %ymm1, %xmm0 {%k1} # encoding: [0x62,0xf1,0xf8,0x19,0x78,0xc1]
-; X86-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vcvttpd2udq256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvttpd2udq {sae}, %ymm1, %xmm0 {%k1} # encoding: [0x62,0xf1,0xf8,0x19,0x78,0xc1]
-; X64-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <4 x i32> @llvm.x86.avx10.mask.vcvttpd2udq256(<4 x double> %c, <4 x i32> %a, i8 %b, i32 8)
- ret <4 x i32> %ret
-}
-
-define <4 x i32> @test_int_x86_maskz_vcvttpd2udq256(i8 %a, <4 x double> %b) nounwind {
-; X86-LABEL: test_int_x86_maskz_vcvttpd2udq256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvttpd2udq {sae}, %ymm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf1,0xf8,0x99,0x78,0xc0]
-; X86-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vcvttpd2udq256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvttpd2udq {sae}, %ymm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf1,0xf8,0x99,0x78,0xc0]
-; X64-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <4 x i32> @llvm.x86.avx10.mask.vcvttpd2udq256(<4 x double> %b, <4 x i32> zeroinitializer, i8 %a, i32 8)
- ret <4 x i32> %ret
-}
-
-declare <4 x i64> @llvm.x86.avx10.mask.vcvttpd2uqq256(<4 x double>, <4 x i64>, i8, i32)
-define <4 x i64> @test_int_x86_vcvttpd2uqq256(<4 x double> %a) nounwind {
-; CHECK-LABEL: test_int_x86_vcvttpd2uqq256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vcvttpd2uqq {sae}, %ymm0, %ymm0 # encoding: [0x62,0xf1,0xf9,0x18,0x78,0xc0]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <4 x i64> @llvm.x86.avx10.mask.vcvttpd2uqq256(<4 x double> %a, <4 x i64> undef, i8 -1, i32 8)
- ret <4 x i64> %ret
-}
-
-define <4 x i64> @test_int_x86_mask_vcvttpd2uqq256(<4 x i64> %a, i8 %b, <4 x double> %c) nounwind {
-; X86-LABEL: test_int_x86_mask_vcvttpd2uqq256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvttpd2uqq {sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0xf9,0x19,0x78,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vcvttpd2uqq256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvttpd2uqq {sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0xf9,0x19,0x78,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <4 x i64> @llvm.x86.avx10.mask.vcvttpd2uqq256(<4 x double> %c, <4 x i64> %a, i8 %b, i32 8)
- ret <4 x i64> %ret
-}
-
-define <4 x i64> @test_int_x86_maskz_vcvttpd2uqq256(i8 %a, <4 x double> %b) nounwind {
-; X86-LABEL: test_int_x86_maskz_vcvttpd2uqq256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvttpd2uqq {sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0xf9,0x99,0x78,0xc0]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vcvttpd2uqq256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvttpd2uqq {sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0xf9,0x99,0x78,0xc0]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <4 x i64> @llvm.x86.avx10.mask.vcvttpd2uqq256(<4 x double> %b, <4 x i64> zeroinitializer, i8 %a, i32 8)
- ret <4 x i64> %ret
-}
-
-declare <8 x i32> @llvm.x86.avx10.mask.vcvttph2dq256(<8 x half>, <8 x i32>, i8, i32)
-define <8 x i32> @test_int_x86_vcvttph2dq256(<8 x half> %a) nounwind {
-; CHECK-LABEL: test_int_x86_vcvttph2dq256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vcvttph2dq {sae}, %xmm0, %ymm0 # encoding: [0x62,0xf5,0x7a,0x18,0x5b,0xc0]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <8 x i32> @llvm.x86.avx10.mask.vcvttph2dq256(<8 x half> %a, <8 x i32> undef, i8 -1, i32 8)
- ret <8 x i32> %ret
-}
-
-define <8 x i32> @test_int_x86_mask_vcvttph2dq256(<8 x i32> %a, i8 %b, <8 x half> %c) nounwind {
-; X86-LABEL: test_int_x86_mask_vcvttph2dq256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvttph2dq {sae}, %xmm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x7a,0x19,0x5b,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vcvttph2dq256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvttph2dq {sae}, %xmm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x7a,0x19,0x5b,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <8 x i32> @llvm.x86.avx10.mask.vcvttph2dq256(<8 x half> %c, <8 x i32> %a, i8 %b, i32 8)
- ret <8 x i32> %ret
-}
-
-define <8 x i32> @test_int_x86_maskz_vcvttph2dq256(i8 %a, <8 x half> %b) nounwind {
-; X86-LABEL: test_int_x86_maskz_vcvttph2dq256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvttph2dq {sae}, %xmm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x7a,0x99,0x5b,0xc0]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vcvttph2dq256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvttph2dq {sae}, %xmm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x7a,0x99,0x5b,0xc0]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <8 x i32> @llvm.x86.avx10.mask.vcvttph2dq256(<8 x half> %b, <8 x i32> zeroinitializer, i8 %a, i32 8)
- ret <8 x i32> %ret
-}
-
-declare <4 x i64> @llvm.x86.avx10.mask.vcvttph2qq256(<8 x half>, <4 x i64>, i8, i32)
-define <4 x i64> @test_int_x86_vcvttph2qq256(<8 x half> %a) nounwind {
-; CHECK-LABEL: test_int_x86_vcvttph2qq256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vcvttph2qq {sae}, %xmm0, %ymm0 # encoding: [0x62,0xf5,0x79,0x18,0x7a,0xc0]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <4 x i64> @llvm.x86.avx10.mask.vcvttph2qq256(<8 x half> %a, <4 x i64> undef, i8 -1, i32 8)
- ret <4 x i64> %ret
-}
-
-define <4 x i64> @test_int_x86_mask_vcvttph2qq256(<4 x i64> %a, i8 %b, <8 x half> %c) nounwind {
-; X86-LABEL: test_int_x86_mask_vcvttph2qq256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvttph2qq {sae}, %xmm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x79,0x19,0x7a,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vcvttph2qq256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvttph2qq {sae}, %xmm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x79,0x19,0x7a,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <4 x i64> @llvm.x86.avx10.mask.vcvttph2qq256(<8 x half> %c, <4 x i64> %a, i8 %b, i32 8)
- ret <4 x i64> %ret
-}
-
-define <4 x i64> @test_int_x86_maskz_vcvttph2qq256(i8 %a, <8 x half> %b) nounwind {
-; X86-LABEL: test_int_x86_maskz_vcvttph2qq256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvttph2qq {sae}, %xmm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x79,0x99,0x7a,0xc0]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vcvttph2qq256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvttph2qq {sae}, %xmm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x79,0x99,0x7a,0xc0]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <4 x i64> @llvm.x86.avx10.mask.vcvttph2qq256(<8 x half> %b, <4 x i64> zeroinitializer, i8 %a, i32 8)
- ret <4 x i64> %ret
-}
-
-declare <8 x i32> @llvm.x86.avx10.mask.vcvttph2udq256(<8 x half>, <8 x i32>, i8, i32)
-define <8 x i32> @test_int_x86_vcvttph2udq256(<8 x half> %a) nounwind {
-; CHECK-LABEL: test_int_x86_vcvttph2udq256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vcvttph2udq {sae}, %xmm0, %ymm0 # encoding: [0x62,0xf5,0x78,0x18,0x78,0xc0]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <8 x i32> @llvm.x86.avx10.mask.vcvttph2udq256(<8 x half> %a, <8 x i32> undef, i8 -1, i32 8)
- ret <8 x i32> %ret
-}
-
-define <8 x i32> @test_int_x86_mask_vcvttph2udq256(<8 x i32> %a, i8 %b, <8 x half> %c) nounwind {
-; X86-LABEL: test_int_x86_mask_vcvttph2udq256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvttph2udq {sae}, %xmm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x78,0x19,0x78,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vcvttph2udq256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvttph2udq {sae}, %xmm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x78,0x19,0x78,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <8 x i32> @llvm.x86.avx10.mask.vcvttph2udq256(<8 x half> %c, <8 x i32> %a, i8 %b, i32 8)
- ret <8 x i32> %ret
-}
-
-define <8 x i32> @test_int_x86_maskz_vcvttph2udq256(i8 %a, <8 x half> %b) nounwind {
-; X86-LABEL: test_int_x86_maskz_vcvttph2udq256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvttph2udq {sae}, %xmm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x78,0x99,0x78,0xc0]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vcvttph2udq256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvttph2udq {sae}, %xmm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x78,0x99,0x78,0xc0]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <8 x i32> @llvm.x86.avx10.mask.vcvttph2udq256(<8 x half> %b, <8 x i32> zeroinitializer, i8 %a, i32 8)
- ret <8 x i32> %ret
-}
-
-declare <4 x i64> @llvm.x86.avx10.mask.vcvttph2uqq256(<8 x half>, <4 x i64>, i8, i32)
-define <4 x i64> @test_int_x86_vcvttph2uqq256(<8 x half> %a) nounwind {
-; CHECK-LABEL: test_int_x86_vcvttph2uqq256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vcvttph2uqq {sae}, %xmm0, %ymm0 # encoding: [0x62,0xf5,0x79,0x18,0x78,0xc0]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <4 x i64> @llvm.x86.avx10.mask.vcvttph2uqq256(<8 x half> %a, <4 x i64> undef, i8 -1, i32 8)
- ret <4 x i64> %ret
-}
-
-define <4 x i64> @test_int_x86_mask_vcvttph2uqq256(<4 x i64> %a, i8 %b, <8 x half> %c) nounwind {
-; X86-LABEL: test_int_x86_mask_vcvttph2uqq256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvttph2uqq {sae}, %xmm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x79,0x19,0x78,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vcvttph2uqq256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvttph2uqq {sae}, %xmm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x79,0x19,0x78,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <4 x i64> @llvm.x86.avx10.mask.vcvttph2uqq256(<8 x half> %c, <4 x i64> %a, i8 %b, i32 8)
- ret <4 x i64> %ret
-}
-
-define <4 x i64> @test_int_x86_maskz_vcvttph2uqq256(i8 %a, <8 x half> %b) nounwind {
-; X86-LABEL: test_int_x86_maskz_vcvttph2uqq256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvttph2uqq {sae}, %xmm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x79,0x99,0x78,0xc0]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vcvttph2uqq256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvttph2uqq {sae}, %xmm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x79,0x99,0x78,0xc0]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <4 x i64> @llvm.x86.avx10.mask.vcvttph2uqq256(<8 x half> %b, <4 x i64> zeroinitializer, i8 %a, i32 8)
- ret <4 x i64> %ret
-}
-
-declare <16 x i16> @llvm.x86.avx10.mask.vcvttph2uw256(<16 x half>, <16 x i16>, i16, i32)
-define <16 x i16> @test_int_x86_vcvttph2uw256(<16 x half> %a) nounwind {
-; CHECK-LABEL: test_int_x86_vcvttph2uw256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vcvttph2uw {sae}, %ymm0, %ymm0 # encoding: [0x62,0xf5,0x78,0x18,0x7c,0xc0]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <16 x i16> @llvm.x86.avx10.mask.vcvttph2uw256(<16 x half> %a, <16 x i16> undef, i16 -1, i32 8)
- ret <16 x i16> %ret
-}
-
-define <16 x i16> @test_int_x86_mask_vcvttph2uw256(<16 x i16> %a, i16 %b, <16 x half> %c) nounwind {
-; X86-LABEL: test_int_x86_mask_vcvttph2uw256:
-; X86: # %bb.0:
-; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvttph2uw {sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x78,0x19,0x7c,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vcvttph2uw256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvttph2uw {sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x78,0x19,0x7c,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <16 x i16> @llvm.x86.avx10.mask.vcvttph2uw256(<16 x half> %c, <16 x i16> %a, i16 %b, i32 8)
- ret <16 x i16> %ret
-}
-
-define <16 x i16> @test_int_x86_maskz_vcvttph2uw256(i16 %a, <16 x half> %b) nounwind {
-; X86-LABEL: test_int_x86_maskz_vcvttph2uw256:
-; X86: # %bb.0:
-; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvttph2uw {sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x78,0x99,0x7c,0xc0]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vcvttph2uw256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvttph2uw {sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x78,0x99,0x7c,0xc0]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <16 x i16> @llvm.x86.avx10.mask.vcvttph2uw256(<16 x half> %b, <16 x i16> zeroinitializer, i16 %a, i32 8)
- ret <16 x i16> %ret
-}
-
-declare <16 x i16> @llvm.x86.avx10.mask.vcvttph2w256(<16 x half>, <16 x i16>, i16, i32)
-define <16 x i16> @test_int_x86_vcvttph2w256(<16 x half> %a) nounwind {
-; CHECK-LABEL: test_int_x86_vcvttph2w256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vcvttph2w {sae}, %ymm0, %ymm0 # encoding: [0x62,0xf5,0x79,0x18,0x7c,0xc0]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <16 x i16> @llvm.x86.avx10.mask.vcvttph2w256(<16 x half> %a, <16 x i16> undef, i16 -1, i32 8)
- ret <16 x i16> %ret
-}
-
-define <16 x i16> @test_int_x86_mask_vcvttph2w256(<16 x i16> %a, i16 %b, <16 x half> %c) nounwind {
-; X86-LABEL: test_int_x86_mask_vcvttph2w256:
-; X86: # %bb.0:
-; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvttph2w {sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x79,0x19,0x7c,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vcvttph2w256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvttph2w {sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x79,0x19,0x7c,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <16 x i16> @llvm.x86.avx10.mask.vcvttph2w256(<16 x half> %c, <16 x i16> %a, i16 %b, i32 8)
- ret <16 x i16> %ret
-}
-
-define <16 x i16> @test_int_x86_maskz_vcvttph2w256(i16 %a, <16 x half> %b) nounwind {
-; X86-LABEL: test_int_x86_maskz_vcvttph2w256:
-; X86: # %bb.0:
-; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvttph2w {sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x79,0x99,0x7c,0xc0]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vcvttph2w256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvttph2w {sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x79,0x99,0x7c,0xc0]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <16 x i16> @llvm.x86.avx10.mask.vcvttph2w256(<16 x half> %b, <16 x i16> zeroinitializer, i16 %a, i32 8)
- ret <16 x i16> %ret
-}
-
-declare <8 x i32> @llvm.x86.avx10.mask.vcvttps2dq256(<8 x float>, <8 x i32>, i8, i32)
-define <8 x i32> @test_int_x86_vcvttps2dq256(<8 x float> %a) nounwind {
-; CHECK-LABEL: test_int_x86_vcvttps2dq256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vcvttps2dq {sae}, %ymm0, %ymm0 # encoding: [0x62,0xf1,0x7a,0x18,0x5b,0xc0]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <8 x i32> @llvm.x86.avx10.mask.vcvttps2dq256(<8 x float> %a, <8 x i32> undef, i8 -1, i32 8)
- ret <8 x i32> %ret
-}
-
-define <8 x i32> @test_int_x86_mask_vcvttps2dq256(<8 x i32> %a, i8 %b, <8 x float> %c) nounwind {
-; X86-LABEL: test_int_x86_mask_vcvttps2dq256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvttps2dq {sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0x7a,0x19,0x5b,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vcvttps2dq256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvttps2dq {sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0x7a,0x19,0x5b,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <8 x i32> @llvm.x86.avx10.mask.vcvttps2dq256(<8 x float> %c, <8 x i32> %a, i8 %b, i32 8)
- ret <8 x i32> %ret
-}
-
-define <8 x i32> @test_int_x86_maskz_vcvttps2dq256(i8 %a, <8 x float> %b) nounwind {
-; X86-LABEL: test_int_x86_maskz_vcvttps2dq256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvttps2dq {sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0x7a,0x99,0x5b,0xc0]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vcvttps2dq256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvttps2dq {sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0x7a,0x99,0x5b,0xc0]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <8 x i32> @llvm.x86.avx10.mask.vcvttps2dq256(<8 x float> %b, <8 x i32> zeroinitializer, i8 %a, i32 8)
- ret <8 x i32> %ret
-}
-
-declare <4 x i64> @llvm.x86.avx10.mask.vcvttps2qq256(<4 x float>, <4 x i64>, i8, i32)
-define <4 x i64> @test_int_x86_vcvttps2qq256(<4 x float> %a) nounwind {
-; CHECK-LABEL: test_int_x86_vcvttps2qq256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vcvttps2qq {sae}, %xmm0, %ymm0 # encoding: [0x62,0xf1,0x79,0x18,0x7a,0xc0]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <4 x i64> @llvm.x86.avx10.mask.vcvttps2qq256(<4 x float> %a, <4 x i64> undef, i8 -1, i32 8)
- ret <4 x i64> %ret
-}
-
-define <4 x i64> @test_int_x86_mask_vcvttps2qq256(<4 x i64> %a, i8 %b, <4 x float> %c) nounwind {
-; X86-LABEL: test_int_x86_mask_vcvttps2qq256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvttps2qq {sae}, %xmm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0x79,0x19,0x7a,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vcvttps2qq256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvttps2qq {sae}, %xmm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0x79,0x19,0x7a,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <4 x i64> @llvm.x86.avx10.mask.vcvttps2qq256(<4 x float> %c, <4 x i64> %a, i8 %b, i32 8)
- ret <4 x i64> %ret
-}
-
-define <4 x i64> @test_int_x86_maskz_vcvttps2qq256(i8 %a, <4 x float> %b) nounwind {
-; X86-LABEL: test_int_x86_maskz_vcvttps2qq256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvttps2qq {sae}, %xmm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0x79,0x99,0x7a,0xc0]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vcvttps2qq256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvttps2qq {sae}, %xmm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0x79,0x99,0x7a,0xc0]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <4 x i64> @llvm.x86.avx10.mask.vcvttps2qq256(<4 x float> %b, <4 x i64> zeroinitializer, i8 %a, i32 8)
- ret <4 x i64> %ret
-}
-
-declare <8 x i32> @llvm.x86.avx10.mask.vcvttps2udq256(<8 x float>, <8 x i32>, i8, i32)
-define <8 x i32> @test_int_x86_vcvttps2udq256(<8 x float> %a) nounwind {
-; CHECK-LABEL: test_int_x86_vcvttps2udq256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vcvttps2udq {sae}, %ymm0, %ymm0 # encoding: [0x62,0xf1,0x78,0x18,0x78,0xc0]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <8 x i32> @llvm.x86.avx10.mask.vcvttps2udq256(<8 x float> %a, <8 x i32> undef, i8 -1, i32 8)
- ret <8 x i32> %ret
-}
-
-define <8 x i32> @test_int_x86_mask_vcvttps2udq256(<8 x i32> %a, i8 %b, <8 x float> %c) nounwind {
-; X86-LABEL: test_int_x86_mask_vcvttps2udq256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvttps2udq {sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0x78,0x19,0x78,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vcvttps2udq256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvttps2udq {sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0x78,0x19,0x78,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <8 x i32> @llvm.x86.avx10.mask.vcvttps2udq256(<8 x float> %c, <8 x i32> %a, i8 %b, i32 8)
- ret <8 x i32> %ret
-}
-
-define <8 x i32> @test_int_x86_maskz_vcvttps2udq256(i8 %a, <8 x float> %b) nounwind {
-; X86-LABEL: test_int_x86_maskz_vcvttps2udq256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvttps2udq {sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0x78,0x99,0x78,0xc0]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vcvttps2udq256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvttps2udq {sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0x78,0x99,0x78,0xc0]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <8 x i32> @llvm.x86.avx10.mask.vcvttps2udq256(<8 x float> %b, <8 x i32> zeroinitializer, i8 %a, i32 8)
- ret <8 x i32> %ret
-}
-
-declare <4 x i64> @llvm.x86.avx10.mask.vcvttps2uqq256(<4 x float>, <4 x i64>, i8, i32)
-define <4 x i64> @test_int_x86_vcvttps2uqq256(<4 x float> %a) nounwind {
-; CHECK-LABEL: test_int_x86_vcvttps2uqq256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vcvttps2uqq {sae}, %xmm0, %ymm0 # encoding: [0x62,0xf1,0x79,0x18,0x78,0xc0]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <4 x i64> @llvm.x86.avx10.mask.vcvttps2uqq256(<4 x float> %a, <4 x i64> undef, i8 -1, i32 8)
- ret <4 x i64> %ret
-}
-
-define <4 x i64> @test_int_x86_mask_vcvttps2uqq256(<4 x i64> %a, i8 %b, <4 x float> %c) nounwind {
-; X86-LABEL: test_int_x86_mask_vcvttps2uqq256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvttps2uqq {sae}, %xmm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0x79,0x19,0x78,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vcvttps2uqq256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvttps2uqq {sae}, %xmm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0x79,0x19,0x78,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <4 x i64> @llvm.x86.avx10.mask.vcvttps2uqq256(<4 x float> %c, <4 x i64> %a, i8 %b, i32 8)
- ret <4 x i64> %ret
-}
-
-define <4 x i64> @test_int_x86_maskz_vcvttps2uqq256(i8 %a, <4 x float> %b) nounwind {
-; X86-LABEL: test_int_x86_maskz_vcvttps2uqq256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvttps2uqq {sae}, %xmm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0x79,0x99,0x78,0xc0]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vcvttps2uqq256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvttps2uqq {sae}, %xmm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0x79,0x99,0x78,0xc0]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <4 x i64> @llvm.x86.avx10.mask.vcvttps2uqq256(<4 x float> %b, <4 x i64> zeroinitializer, i8 %a, i32 8)
- ret <4 x i64> %ret
-}
-
-declare <8 x half> @llvm.x86.avx512.uitofp.round.v8f16.v8i32(<8 x i32>, i32)
-define <8 x half> @test_int_x86_vcvtudq2ph256(<8 x i32> %A) nounwind {
-; CHECK-LABEL: test_int_x86_vcvtudq2ph256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vcvtudq2ph {rz-sae}, %ymm0, %xmm0 # encoding: [0x62,0xf5,0x7b,0x78,0x7a,0xc0]
-; CHECK-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <8 x half> @llvm.x86.avx512.uitofp.round.v8f16.v8i32(<8 x i32> %A, i32 11)
- ret <8 x half> %ret
-}
-
-define <8 x half> @test_int_x86_mask_vcvtudq2ph256(<8 x half> %A, i8 %B, <8 x i32> %C) nounwind {
-; X86-LABEL: test_int_x86_mask_vcvtudq2ph256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtudq2ph {ru-sae}, %ymm1, %xmm0 {%k1} # encoding: [0x62,0xf5,0x7b,0x59,0x7a,0xc1]
-; X86-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vcvtudq2ph256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtudq2ph {ru-sae}, %ymm1, %xmm0 {%k1} # encoding: [0x62,0xf5,0x7b,0x59,0x7a,0xc1]
-; X64-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <8 x half> @llvm.x86.avx512.uitofp.round.v8f16.v8i32(<8 x i32> %C, i32 10)
- %msk = bitcast i8 %B to <8 x i1>
- %ret = select <8 x i1> %msk, <8 x half> %ret0, <8 x half> %A
- ret <8 x half> %ret
-}
-
-define <8 x half> @test_int_x86_maskz_vcvtudq2ph256(i8 %A, <8 x i32> %B) nounwind {
-; X86-LABEL: test_int_x86_maskz_vcvtudq2ph256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtudq2ph {rd-sae}, %ymm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf5,0x7b,0xb9,0x7a,0xc0]
-; X86-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vcvtudq2ph256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtudq2ph {rd-sae}, %ymm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf5,0x7b,0xb9,0x7a,0xc0]
-; X64-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <8 x half> @llvm.x86.avx512.uitofp.round.v8f16.v8i32(<8 x i32> %B, i32 9)
- %msk = bitcast i8 %A to <8 x i1>
- %ret = select <8 x i1> %msk, <8 x half> %ret0, <8 x half> zeroinitializer
- ret <8 x half> %ret
-}
-
-declare <8 x float> @llvm.x86.avx512.uitofp.round.v8f32.v8i32(<8 x i32>, i32)
-define <8 x float> @test_int_x86_vcvtudq2ps256(<8 x i32> %A) nounwind {
-; CHECK-LABEL: test_int_x86_vcvtudq2ps256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vcvtudq2ps {rz-sae}, %ymm0, %ymm0 # encoding: [0x62,0xf1,0x7b,0x78,0x7a,0xc0]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <8 x float> @llvm.x86.avx512.uitofp.round.v8f32.v8i32(<8 x i32> %A, i32 11)
- ret <8 x float> %ret
-}
-
-define <8 x float> @test_int_x86_mask_vcvtudq2ps256(<8 x float> %A, i8 %B, <8 x i32> %C) nounwind {
-; X86-LABEL: test_int_x86_mask_vcvtudq2ps256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtudq2ps {ru-sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0x7b,0x59,0x7a,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vcvtudq2ps256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtudq2ps {ru-sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0x7b,0x59,0x7a,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <8 x float> @llvm.x86.avx512.uitofp.round.v8f32.v8i32(<8 x i32> %C, i32 10)
- %msk = bitcast i8 %B to <8 x i1>
- %ret = select <8 x i1> %msk, <8 x float> %ret0, <8 x float> %A
- ret <8 x float> %ret
-}
-
-define <8 x float> @test_int_x86_maskz_vcvtudq2ps256(i8 %A, <8 x i32> %B) nounwind {
-; X86-LABEL: test_int_x86_maskz_vcvtudq2ps256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtudq2ps {rd-sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0x7b,0xb9,0x7a,0xc0]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vcvtudq2ps256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtudq2ps {rd-sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0x7b,0xb9,0x7a,0xc0]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <8 x float> @llvm.x86.avx512.uitofp.round.v8f32.v8i32(<8 x i32> %B, i32 9)
- %msk = bitcast i8 %A to <8 x i1>
- %ret = select <8 x i1> %msk, <8 x float> %ret0, <8 x float> zeroinitializer
- ret <8 x float> %ret
-}
-
-declare <4 x double> @llvm.x86.avx512.uitofp.round.v4f64.v4i64(<4 x i64>, i32)
-define <4 x double> @test_int_x86_vcvtuqq2pd256(<4 x i64> %a) nounwind {
-; CHECK-LABEL: test_int_x86_vcvtuqq2pd256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vcvtuqq2pd {rn-sae}, %ymm0, %ymm0 # encoding: [0x62,0xf1,0xfa,0x18,0x7a,0xc0]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <4 x double> @llvm.x86.avx512.uitofp.round.v4f64.v4i64(<4 x i64> %a, i32 8)
- ret <4 x double> %ret
-}
-
-define <4 x double> @test_int_x86_mask_vcvtuqq2pd256(<4 x double> %a, i4 %b, <4 x i64> %c) nounwind {
-; X86-LABEL: test_int_x86_mask_vcvtuqq2pd256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtuqq2pd {rn-sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0xfa,0x19,0x7a,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vcvtuqq2pd256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtuqq2pd {rn-sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0xfa,0x19,0x7a,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <4 x double> @llvm.x86.avx512.uitofp.round.v4f64.v4i64(<4 x i64> %c, i32 8)
- %msk = bitcast i4 %b to <4 x i1>
- %ret = select <4 x i1> %msk, <4 x double> %ret0, <4 x double> %a
- ret <4 x double> %ret
-}
-
-define <4 x double> @test_int_x86_maskz_vcvtuqq2pd256(i4 %a, <4 x i64> %b) nounwind {
-; X86-LABEL: test_int_x86_maskz_vcvtuqq2pd256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtuqq2pd {rn-sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0xfa,0x99,0x7a,0xc0]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vcvtuqq2pd256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtuqq2pd {rn-sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0xfa,0x99,0x7a,0xc0]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <4 x double> @llvm.x86.avx512.uitofp.round.v4f64.v4i64(<4 x i64> %b, i32 8)
- %msk = bitcast i4 %a to <4 x i1>
- %ret = select <4 x i1> %msk, <4 x double> %ret0, <4 x double> zeroinitializer
- ret <4 x double> %ret
-}
-
-declare <8 x half> @llvm.x86.avx512.uitofp.round.v8f16.v4i64(<4 x i64>, i32)
-define <8 x half> @test_int_x86_vcvtuqq2ph256(<4 x i64> %a) nounwind {
-; CHECK-LABEL: test_int_x86_vcvtuqq2ph256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vcvtuqq2ph {rn-sae}, %ymm0, %xmm0 # encoding: [0x62,0xf5,0xfb,0x18,0x7a,0xc0]
-; CHECK-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <8 x half> @llvm.x86.avx512.uitofp.round.v8f16.v4i64(<4 x i64> %a, i32 8)
- ret <8 x half> %ret
-}
-
-define <8 x half> @test_int_x86_mask_vcvtuqq2ph256(<8 x half> %a, i8 %b, <4 x i64> %c) nounwind {
-; X86-LABEL: test_int_x86_mask_vcvtuqq2ph256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtuqq2ph {rn-sae}, %ymm1, %xmm0 {%k1} # encoding: [0x62,0xf5,0xfb,0x19,0x7a,0xc1]
-; X86-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vcvtuqq2ph256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtuqq2ph {rn-sae}, %ymm1, %xmm0 {%k1} # encoding: [0x62,0xf5,0xfb,0x19,0x7a,0xc1]
-; X64-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <8 x half> @llvm.x86.avx512.uitofp.round.v8f16.v4i64(<4 x i64> %c, i32 8)
- %msk = bitcast i8 %b to <8 x i1>
- %ret = select <8 x i1> %msk, <8 x half> %ret0, <8 x half> %a
- ret <8 x half> %ret
-}
-
-define <8 x half> @test_int_x86_maskz_vcvtuqq2ph256(i8 %a, <4 x i64> %b) nounwind {
-; X86-LABEL: test_int_x86_maskz_vcvtuqq2ph256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtuqq2ph {rn-sae}, %ymm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf5,0xfb,0x99,0x7a,0xc0]
-; X86-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vcvtuqq2ph256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtuqq2ph {rn-sae}, %ymm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf5,0xfb,0x99,0x7a,0xc0]
-; X64-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <8 x half> @llvm.x86.avx512.uitofp.round.v8f16.v4i64(<4 x i64> %b, i32 8)
- %msk = bitcast i8 %a to <8 x i1>
- %ret = select <8 x i1> %msk, <8 x half> %ret0, <8 x half> zeroinitializer
- ret <8 x half> %ret
-}
-
-declare <4 x float> @llvm.x86.avx512.uitofp.round.v4f32.v4i64(<4 x i64>, i32)
-define <4 x float> @test_int_x86_vcvtuqq2ps256(<4 x i64> %a) nounwind {
-; CHECK-LABEL: test_int_x86_vcvtuqq2ps256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vcvtuqq2ps {rn-sae}, %ymm0, %xmm0 # encoding: [0x62,0xf1,0xfb,0x18,0x7a,0xc0]
-; CHECK-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <4 x float> @llvm.x86.avx512.uitofp.round.v4f32.v4i64(<4 x i64> %a, i32 8)
- ret <4 x float> %ret
-}
-
-define <4 x float> @test_int_x86_mask_vcvtuqq2ps256(<4 x float> %a, i4 %b, <4 x i64> %c) nounwind {
-; X86-LABEL: test_int_x86_mask_vcvtuqq2ps256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtuqq2ps {rn-sae}, %ymm1, %xmm0 {%k1} # encoding: [0x62,0xf1,0xfb,0x19,0x7a,0xc1]
-; X86-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vcvtuqq2ps256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtuqq2ps {rn-sae}, %ymm1, %xmm0 {%k1} # encoding: [0x62,0xf1,0xfb,0x19,0x7a,0xc1]
-; X64-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <4 x float> @llvm.x86.avx512.uitofp.round.v4f32.v4i64(<4 x i64> %c, i32 8)
- %msk = bitcast i4 %b to <4 x i1>
- %ret = select <4 x i1> %msk, <4 x float> %ret0, <4 x float> %a
- ret <4 x float> %ret
-}
-
-define <4 x float> @test_int_x86_maskz_vcvtuqq2ps256(i4 %a, <4 x i64> %b) nounwind {
-; X86-LABEL: test_int_x86_maskz_vcvtuqq2ps256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtuqq2ps {rn-sae}, %ymm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf1,0xfb,0x99,0x7a,0xc0]
-; X86-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vcvtuqq2ps256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtuqq2ps {rn-sae}, %ymm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf1,0xfb,0x99,0x7a,0xc0]
-; X64-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <4 x float> @llvm.x86.avx512.uitofp.round.v4f32.v4i64(<4 x i64> %b, i32 8)
- %msk = bitcast i4 %a to <4 x i1>
- %ret = select <4 x i1> %msk, <4 x float> %ret0, <4 x float> zeroinitializer
- ret <4 x float> %ret
-}
-
-declare <16 x half> @llvm.x86.avx512.uitofp.round.v16f16.v16i16(<16 x i16>, i32)
-define <16 x half> @test_int_x86_vcvtuw2ph256(<16 x i16> %a) nounwind {
-; CHECK-LABEL: test_int_x86_vcvtuw2ph256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vcvtuw2ph {rn-sae}, %ymm0, %ymm0 # encoding: [0x62,0xf5,0x7b,0x18,0x7d,0xc0]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <16 x half> @llvm.x86.avx512.uitofp.round.v16f16.v16i16(<16 x i16> %a, i32 8)
- ret <16 x half> %ret
-}
-
-define <16 x half> @test_int_x86_mask_vcvtuw2ph256(<16 x half> %a, i16 %b, <16 x i16> %c) nounwind {
-; X86-LABEL: test_int_x86_mask_vcvtuw2ph256:
-; X86: # %bb.0:
-; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtuw2ph {rn-sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x7b,0x19,0x7d,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vcvtuw2ph256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtuw2ph {rn-sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x7b,0x19,0x7d,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <16 x half> @llvm.x86.avx512.uitofp.round.v16f16.v16i16(<16 x i16> %c, i32 8)
- %msk = bitcast i16 %b to <16 x i1>
- %ret = select <16 x i1> %msk, <16 x half> %ret0, <16 x half> %a
- ret <16 x half> %ret
-}
-
-define <16 x half> @test_int_x86_maskz_vcvtuw2ph256(i16 %a, <16 x i16> %b) nounwind {
-; X86-LABEL: test_int_x86_maskz_vcvtuw2ph256:
-; X86: # %bb.0:
-; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtuw2ph {rn-sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x7b,0x99,0x7d,0xc0]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vcvtuw2ph256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtuw2ph {rn-sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x7b,0x99,0x7d,0xc0]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <16 x half> @llvm.x86.avx512.uitofp.round.v16f16.v16i16(<16 x i16> %b, i32 8)
- %msk = bitcast i16 %a to <16 x i1>
- %ret = select <16 x i1> %msk, <16 x half> %ret0, <16 x half> zeroinitializer
- ret <16 x half> %ret
-}
-
-declare <16 x half> @llvm.x86.avx512.sitofp.round.v16f16.v16i16(<16 x i16>, i32)
-define <16 x half> @test_int_x86_vcvtw2ph256(<16 x i16> %a) nounwind {
-; CHECK-LABEL: test_int_x86_vcvtw2ph256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vcvtw2ph {rn-sae}, %ymm0, %ymm0 # encoding: [0x62,0xf5,0x7a,0x18,0x7d,0xc0]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <16 x half> @llvm.x86.avx512.sitofp.round.v16f16.v16i16(<16 x i16> %a, i32 8)
- ret <16 x half> %ret
-}
-
-define <16 x half> @test_int_x86_mask_vcvtw2ph256(<16 x half> %a, i16 %b, <16 x i16> %c) nounwind {
-; X86-LABEL: test_int_x86_mask_vcvtw2ph256:
-; X86: # %bb.0:
-; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtw2ph {rn-sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x7a,0x19,0x7d,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vcvtw2ph256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtw2ph {rn-sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x7a,0x19,0x7d,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <16 x half> @llvm.x86.avx512.sitofp.round.v16f16.v16i16(<16 x i16> %c, i32 8)
- %msk = bitcast i16 %b to <16 x i1>
- %ret = select <16 x i1> %msk, <16 x half> %ret0, <16 x half> %a
- ret <16 x half> %ret
-}
-
-define <16 x half> @test_int_x86_maskz_vcvtw2ph256(i16 %a, <16 x i16> %b) nounwind {
-; X86-LABEL: test_int_x86_maskz_vcvtw2ph256:
-; X86: # %bb.0:
-; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtw2ph {rn-sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x7a,0x99,0x7d,0xc0]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vcvtw2ph256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtw2ph {rn-sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x7a,0x99,0x7d,0xc0]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <16 x half> @llvm.x86.avx512.sitofp.round.v16f16.v16i16(<16 x i16> %b, i32 8)
- %msk = bitcast i16 %a to <16 x i1>
- %ret = select <16 x i1> %msk, <16 x half> %ret0, <16 x half> zeroinitializer
- ret <16 x half> %ret
-}
-
-declare <4 x double> @llvm.x86.avx10.vdivpd256(<4 x double>, <4 x double>, i32)
-define <4 x double> @test_int_x86_vdivpd256(<4 x double> %A, <4 x double> %B) nounwind {
-; CHECK-LABEL: test_int_x86_vdivpd256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vdivpd {rz-sae}, %ymm1, %ymm0, %ymm0 # encoding: [0x62,0xf1,0xf9,0x78,0x5e,0xc1]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <4 x double> @llvm.x86.avx10.vdivpd256(<4 x double> %A, <4 x double> %B, i32 11)
- ret <4 x double> %ret
-}
-
-define <4 x double> @test_int_x86_mask_vdivpd256(<4 x double> %A, i4 %B, <4 x double> %C, <4 x double> %D) nounwind {
-; X86-LABEL: test_int_x86_mask_vdivpd256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vdivpd {ru-sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0xf1,0x59,0x5e,0xc2]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vdivpd256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vdivpd {ru-sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0xf1,0x59,0x5e,0xc2]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <4 x double> @llvm.x86.avx10.vdivpd256(<4 x double> %C, <4 x double> %D, i32 10)
- %msk = bitcast i4 %B to <4 x i1>
- %ret = select <4 x i1> %msk, <4 x double> %ret0, <4 x double> %A
- ret <4 x double> %ret
-}
-
-define <4 x double> @test_int_x86_maskz_vdivpd256(i4 %A, <4 x double> %B, <4 x double> %C) nounwind {
-; X86-LABEL: test_int_x86_maskz_vdivpd256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vdivpd {rd-sae}, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0xf9,0xb9,0x5e,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vdivpd256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vdivpd {rd-sae}, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0xf9,0xb9,0x5e,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <4 x double> @llvm.x86.avx10.vdivpd256(<4 x double> %B, <4 x double> %C, i32 9)
- %msk = bitcast i4 %A to <4 x i1>
- %ret = select <4 x i1> %msk, <4 x double> %ret0, <4 x double> zeroinitializer
- ret <4 x double> %ret
-}
-
-declare <16 x half> @llvm.x86.avx10.vdivph256(<16 x half>, <16 x half>, i32)
-define <16 x half> @test_int_x86_vdivph256(<16 x half> %A, <16 x half> %B) nounwind {
-; CHECK-LABEL: test_int_x86_vdivph256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vdivph {rz-sae}, %ymm1, %ymm0, %ymm0 # encoding: [0x62,0xf5,0x78,0x78,0x5e,0xc1]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <16 x half> @llvm.x86.avx10.vdivph256(<16 x half> %A, <16 x half> %B, i32 11)
- ret <16 x half> %ret
-}
-
-define <16 x half> @test_int_x86_mask_vdivph256(<16 x half> %A, i16 %B, <16 x half> %C, <16 x half> %D) nounwind {
-; X86-LABEL: test_int_x86_mask_vdivph256:
-; X86: # %bb.0:
-; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vdivph {ru-sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x70,0x59,0x5e,0xc2]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vdivph256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vdivph {ru-sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x70,0x59,0x5e,0xc2]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <16 x half> @llvm.x86.avx10.vdivph256(<16 x half> %C, <16 x half> %D, i32 10)
- %msk = bitcast i16 %B to <16 x i1>
- %ret = select <16 x i1> %msk, <16 x half> %ret0, <16 x half> %A
- ret <16 x half> %ret
-}
-
-define <16 x half> @test_int_x86_maskz_vdivph256(i16 %A, <16 x half> %B, <16 x half> %C) nounwind {
-; X86-LABEL: test_int_x86_maskz_vdivph256:
-; X86: # %bb.0:
-; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vdivph {rd-sae}, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x78,0xb9,0x5e,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vdivph256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vdivph {rd-sae}, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x78,0xb9,0x5e,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <16 x half> @llvm.x86.avx10.vdivph256(<16 x half> %B, <16 x half> %C, i32 9)
- %msk = bitcast i16 %A to <16 x i1>
- %ret = select <16 x i1> %msk, <16 x half> %ret0, <16 x half> zeroinitializer
- ret <16 x half> %ret
-}
-
-declare <8 x float> @llvm.x86.avx10.vdivps256(<8 x float>, <8 x float>, i32)
-define <8 x float> @test_int_x86_vdivps256(<8 x float> %A, <8 x float> %B) nounwind {
-; CHECK-LABEL: test_int_x86_vdivps256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vdivps {rz-sae}, %ymm1, %ymm0, %ymm0 # encoding: [0x62,0xf1,0x78,0x78,0x5e,0xc1]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <8 x float> @llvm.x86.avx10.vdivps256(<8 x float> %A, <8 x float> %B, i32 11)
- ret <8 x float> %ret
-}
-
-define <8 x float> @test_int_x86_mask_vdivps256(<8 x float> %A, i8 %B, <8 x float> %C, <8 x float> %D) nounwind {
-; X86-LABEL: test_int_x86_mask_vdivps256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vdivps {ru-sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0x70,0x59,0x5e,0xc2]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vdivps256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vdivps {ru-sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0x70,0x59,0x5e,0xc2]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <8 x float> @llvm.x86.avx10.vdivps256(<8 x float> %C, <8 x float> %D, i32 10)
- %msk = bitcast i8 %B to <8 x i1>
- %ret = select <8 x i1> %msk, <8 x float> %ret0, <8 x float> %A
- ret <8 x float> %ret
-}
-
-define <8 x float> @test_int_x86_maskz_vdivps256(i8 %A, <8 x float> %B, <8 x float> %C) nounwind {
-; X86-LABEL: test_int_x86_maskz_vdivps256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vdivps {rd-sae}, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0x78,0xb9,0x5e,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vdivps256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vdivps {rd-sae}, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0x78,0xb9,0x5e,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <8 x float> @llvm.x86.avx10.vdivps256(<8 x float> %B, <8 x float> %C, i32 9)
- %msk = bitcast i8 %A to <8 x i1>
- %ret = select <8 x i1> %msk, <8 x float> %ret0, <8 x float> zeroinitializer
- ret <8 x float> %ret
-}
-
-declare <8 x float> @llvm.x86.avx10.mask.vfcmaddcph256(<8 x float>, <8 x float>, <8 x float>, i8, i32)
-define <8 x float> @test_int_x86_vfcmaddcph256(<8 x float> %a, <8 x float> %b, <8 x float> %c) nounwind {
-; CHECK-LABEL: test_int_x86_vfcmaddcph256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vfcmaddcph {rz-sae}, %ymm1, %ymm0, %ymm2 # encoding: [0x62,0xf6,0x7b,0x78,0x56,0xd1]
-; CHECK-NEXT: vmovaps %ymm2, %ymm0 # EVEX TO VEX Compression encoding: [0xc5,0xfc,0x28,0xc2]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <8 x float> @llvm.x86.avx10.mask.vfcmaddcph256(<8 x float> %a, <8 x float> %b, <8 x float> %c, i8 -1, i32 11)
- ret <8 x float> %ret
-}
-
-define <8 x float> @test_int_x86_mask_vfcmaddcph256(<8 x float> %a, i8 %b, <8 x float> %c, <8 x float> %d) nounwind {
-; X86-LABEL: test_int_x86_mask_vfcmaddcph256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vfcmaddcph {ru-sae}, %ymm1, %ymm0, %ymm2 {%k1} # encoding: [0x62,0xf6,0x7b,0x59,0x56,0xd1]
-; X86-NEXT: vmovaps %ymm2, %ymm0 # EVEX TO VEX Compression encoding: [0xc5,0xfc,0x28,0xc2]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vfcmaddcph256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vfcmaddcph {ru-sae}, %ymm1, %ymm0, %ymm2 {%k1} # encoding: [0x62,0xf6,0x7b,0x59,0x56,0xd1]
-; X64-NEXT: vmovaps %ymm2, %ymm0 # EVEX TO VEX Compression encoding: [0xc5,0xfc,0x28,0xc2]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <8 x float> @llvm.x86.avx10.mask.vfcmaddcph256(<8 x float> %a, <8 x float> %c, <8 x float> %d, i8 %b, i32 10)
- ret <8 x float> %ret
-}
-
-declare <8 x float> @llvm.x86.avx10.maskz.vfcmaddcph256(<8 x float>, <8 x float>, <8 x float>, i8, i32)
-define <8 x float> @test_int_x86_maskz_vfcmaddcph256(<8 x float> %a, i8 %b, <8 x float> %c, <8 x float> %d) nounwind {
-; X86-LABEL: test_int_x86_maskz_vfcmaddcph256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vfcmaddcph {rd-sae}, %ymm1, %ymm0, %ymm2 {%k1} {z} # encoding: [0x62,0xf6,0x7b,0xb9,0x56,0xd1]
-; X86-NEXT: vmovaps %ymm2, %ymm0 # EVEX TO VEX Compression encoding: [0xc5,0xfc,0x28,0xc2]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vfcmaddcph256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vfcmaddcph {rd-sae}, %ymm1, %ymm0, %ymm2 {%k1} {z} # encoding: [0x62,0xf6,0x7b,0xb9,0x56,0xd1]
-; X64-NEXT: vmovaps %ymm2, %ymm0 # EVEX TO VEX Compression encoding: [0xc5,0xfc,0x28,0xc2]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <8 x float> @llvm.x86.avx10.maskz.vfcmaddcph256(<8 x float> %a, <8 x float> %c, <8 x float> %d, i8 %b, i32 9)
- ret <8 x float> %ret
-}
-
-declare <8 x float> @llvm.x86.avx10.mask.vfcmulcph256(<8 x float>, <8 x float>, <8 x float>, i8, i32)
-define <8 x float> @test_int_x86_vfcmulcph256(<8 x float> %a, <8 x float> %b, <8 x float> %c) nounwind {
-; CHECK-LABEL: test_int_x86_vfcmulcph256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vfcmulcph {rz-sae}, %ymm1, %ymm0, %ymm2 # encoding: [0x62,0xf6,0x7b,0x78,0xd6,0xd1]
-; CHECK-NEXT: vmovaps %ymm2, %ymm0 # EVEX TO VEX Compression encoding: [0xc5,0xfc,0x28,0xc2]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <8 x float> @llvm.x86.avx10.mask.vfcmulcph256(<8 x float> %a, <8 x float> %b, <8 x float> %c, i8 -1, i32 11)
- ret <8 x float> %ret
-}
-
-define <8 x float> @test_int_x86_mask_vfcmulcph256(<8 x float> %a, i8 %b, <8 x float> %c, <8 x float> %d) nounwind {
-; X86-LABEL: test_int_x86_mask_vfcmulcph256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vfcmulcph {ru-sae}, %ymm1, %ymm0, %ymm2 {%k1} # encoding: [0x62,0xf6,0x7b,0x59,0xd6,0xd1]
-; X86-NEXT: vmovaps %ymm2, %ymm0 # EVEX TO VEX Compression encoding: [0xc5,0xfc,0x28,0xc2]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vfcmulcph256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vfcmulcph {ru-sae}, %ymm1, %ymm0, %ymm2 {%k1} # encoding: [0x62,0xf6,0x7b,0x59,0xd6,0xd1]
-; X64-NEXT: vmovaps %ymm2, %ymm0 # EVEX TO VEX Compression encoding: [0xc5,0xfc,0x28,0xc2]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <8 x float> @llvm.x86.avx10.mask.vfcmulcph256(<8 x float> %a, <8 x float> %c, <8 x float> %d, i8 %b, i32 10)
- ret <8 x float> %ret
-}
-
-define <8 x float> @test_int_x86_maskz_vfcmulcph256(<8 x float> %a, i8 %b, <8 x float> %c, <8 x float> %d) nounwind {
-; X86-LABEL: test_int_x86_maskz_vfcmulcph256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vfcmulcph {rd-sae}, %ymm1, %ymm0, %ymm2 {%k1} {z} # encoding: [0x62,0xf6,0x7b,0xb9,0xd6,0xd1]
-; X86-NEXT: vmovaps %ymm2, %ymm0 # EVEX TO VEX Compression encoding: [0xc5,0xfc,0x28,0xc2]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vfcmulcph256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vfcmulcph {rd-sae}, %ymm1, %ymm0, %ymm2 {%k1} {z} # encoding: [0x62,0xf6,0x7b,0xb9,0xd6,0xd1]
-; X64-NEXT: vmovaps %ymm2, %ymm0 # EVEX TO VEX Compression encoding: [0xc5,0xfc,0x28,0xc2]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <8 x float> @llvm.x86.avx10.mask.vfcmulcph256(<8 x float> %a, <8 x float> %c, <8 x float> zeroinitializer, i8 %b, i32 9)
- ret <8 x float> %ret
-}
-
-declare <4 x double> @llvm.x86.avx10.mask.vfixupimmpd256(<4 x double>, <4 x double>, <4 x i64>, i32, i8, i32)
-define <4 x double> @test_int_x86_vfixupimmpd256(<4 x double> %a, <4 x double> %b, <4 x i64> %c) nounwind {
-; CHECK-LABEL: test_int_x86_vfixupimmpd256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vfixupimmpd $127, {sae}, %ymm2, %ymm1, %ymm0 # encoding: [0x62,0xf3,0xf1,0x18,0x54,0xc2,0x7f]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <4 x double> @llvm.x86.avx10.mask.vfixupimmpd256(<4 x double> %a, <4 x double> %b, <4 x i64> %c, i32 127, i8 -1, i32 8)
- ret <4 x double> %ret
-}
-
-define <4 x double> @test_int_x86_mask_vfixupimmpd256(<4 x double> %a, i8 %b, <4 x double> %c, <4 x i64> %d) nounwind {
-; X86-LABEL: test_int_x86_mask_vfixupimmpd256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vfixupimmpd $127, {sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf3,0xf1,0x19,0x54,0xc2,0x7f]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vfixupimmpd256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vfixupimmpd $127, {sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf3,0xf1,0x19,0x54,0xc2,0x7f]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <4 x double> @llvm.x86.avx10.mask.vfixupimmpd256(<4 x double> %a, <4 x double> %c, <4 x i64> %d, i32 127, i8 %b, i32 8)
- ret <4 x double> %ret
-}
-
-declare <4 x double> @llvm.x86.avx10.maskz.vfixupimmpd256(<4 x double>, <4 x double>, <4 x i64>, i32, i8, i32)
-define <4 x double> @test_int_x86_maskz_vfixupimmpd256(<4 x double> %a, i8 %b, <4 x double> %c, <4 x i64> %d) nounwind {
-; X86-LABEL: test_int_x86_maskz_vfixupimmpd256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vfixupimmpd $127, {sae}, %ymm2, %ymm1, %ymm0 {%k1} {z} # encoding: [0x62,0xf3,0xf1,0x99,0x54,0xc2,0x7f]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vfixupimmpd256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vfixupimmpd $127, {sae}, %ymm2, %ymm1, %ymm0 {%k1} {z} # encoding: [0x62,0xf3,0xf1,0x99,0x54,0xc2,0x7f]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <4 x double> @llvm.x86.avx10.maskz.vfixupimmpd256(<4 x double> %a, <4 x double> %c, <4 x i64> %d, i32 127, i8 %b, i32 8)
- ret <4 x double> %ret
-}
-
-declare <8 x float> @llvm.x86.avx10.mask.vfixupimmps256(<8 x float>, <8 x float>, <8 x i32>, i32, i8, i32)
-define <8 x float> @test_int_x86_vfixupimmps256(<8 x float> %a, <8 x float> %b, <8 x i32> %c) nounwind {
-; CHECK-LABEL: test_int_x86_vfixupimmps256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vfixupimmps $127, {sae}, %ymm2, %ymm1, %ymm0 # encoding: [0x62,0xf3,0x71,0x18,0x54,0xc2,0x7f]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <8 x float> @llvm.x86.avx10.mask.vfixupimmps256(<8 x float> %a, <8 x float> %b, <8 x i32> %c, i32 127, i8 -1, i32 8)
- ret <8 x float> %ret
-}
-
-define <8 x float> @test_int_x86_mask_vfixupimmps256(<8 x float> %a, i8 %b, <8 x float> %c, <8 x i32> %d) nounwind {
-; X86-LABEL: test_int_x86_mask_vfixupimmps256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vfixupimmps $127, {sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf3,0x71,0x19,0x54,0xc2,0x7f]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vfixupimmps256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vfixupimmps $127, {sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf3,0x71,0x19,0x54,0xc2,0x7f]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <8 x float> @llvm.x86.avx10.mask.vfixupimmps256(<8 x float> %a, <8 x float> %c, <8 x i32> %d, i32 127, i8 %b, i32 8)
- ret <8 x float> %ret
-}
-
-declare <8 x float> @llvm.x86.avx10.maskz.vfixupimmps256(<8 x float>, <8 x float>, <8 x i32>, i32, i8, i32)
-define <8 x float> @test_int_x86_maskz_vfixupimmps256(<8 x float> %a, i8 %b, <8 x float> %c, <8 x i32> %d) nounwind {
-; X86-LABEL: test_int_x86_maskz_vfixupimmps256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vfixupimmps $127, {sae}, %ymm2, %ymm1, %ymm0 {%k1} {z} # encoding: [0x62,0xf3,0x71,0x99,0x54,0xc2,0x7f]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vfixupimmps256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vfixupimmps $127, {sae}, %ymm2, %ymm1, %ymm0 {%k1} {z} # encoding: [0x62,0xf3,0x71,0x99,0x54,0xc2,0x7f]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <8 x float> @llvm.x86.avx10.maskz.vfixupimmps256(<8 x float> %a, <8 x float> %c, <8 x i32> %d, i32 127, i8 %b, i32 8)
- ret <8 x float> %ret
-}
-
-declare <4 x double> @llvm.x86.avx10.vfmaddpd256(<4 x double>, <4 x double>, <4 x double>, i32)
-define <4 x double> @test_int_x86_vfmaddpd256(<4 x double> %a, <4 x double> %b, <4 x double> %c) nounwind {
-; CHECK-LABEL: test_int_x86_vfmaddpd256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vfmadd213pd {rz-sae}, %ymm2, %ymm1, %ymm0 # encoding: [0x62,0xf2,0xf1,0x78,0xa8,0xc2]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <4 x double> @llvm.x86.avx10.vfmaddpd256(<4 x double> %a, <4 x double> %b, <4 x double> %c, i32 11)
- ret <4 x double> %ret
-}
-
-define <4 x double> @test_int_x86_mask_vfmaddpd256(<4 x double> %a, i4 %b, <4 x double> %c, <4 x double> %d) nounwind {
-; X86-LABEL: test_int_x86_mask_vfmaddpd256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vfmadd132pd {ru-sae}, %ymm1, %ymm2, %ymm0 {%k1} # encoding: [0x62,0xf2,0xe9,0x59,0x98,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vfmaddpd256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vfmadd132pd {ru-sae}, %ymm1, %ymm2, %ymm0 {%k1} # encoding: [0x62,0xf2,0xe9,0x59,0x98,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <4 x double> @llvm.x86.avx10.vfmaddpd256(<4 x double> %a, <4 x double> %c, <4 x double> %d, i32 10)
- %msk = bitcast i4 %b to <4 x i1>
- %ret = select <4 x i1> %msk, <4 x double> %ret0, <4 x double> %a
- ret <4 x double> %ret
-}
-
-define <4 x double> @test_int_x86_maskz_vfmaddpd256(<4 x double> %a, i4 %b, <4 x double> %c, <4 x double> %d) nounwind {
-; X86-LABEL: test_int_x86_maskz_vfmaddpd256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vfmadd132pd {rd-sae}, %ymm1, %ymm2, %ymm0 {%k1} {z} # encoding: [0x62,0xf2,0xe9,0xb9,0x98,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vfmaddpd256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vfmadd132pd {rd-sae}, %ymm1, %ymm2, %ymm0 {%k1} {z} # encoding: [0x62,0xf2,0xe9,0xb9,0x98,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <4 x double> @llvm.x86.avx10.vfmaddpd256(<4 x double> %a, <4 x double> %c, <4 x double> %d, i32 9)
- %msk = bitcast i4 %b to <4 x i1>
- %ret = select <4 x i1> %msk, <4 x double> %ret0, <4 x double> zeroinitializer
- ret <4 x double> %ret
-}
-
-declare <16 x half> @llvm.x86.avx10.vfmaddph256(<16 x half>, <16 x half>, <16 x half>, i32)
-define <16 x half> @test_int_x86_vfmaddph256(<16 x half> %a, <16 x half> %b, <16 x half> %c) nounwind {
-; CHECK-LABEL: test_int_x86_vfmaddph256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vfmadd213ph {rz-sae}, %ymm2, %ymm1, %ymm0 # encoding: [0x62,0xf6,0x71,0x78,0xa8,0xc2]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <16 x half> @llvm.x86.avx10.vfmaddph256(<16 x half> %a, <16 x half> %b, <16 x half> %c, i32 11)
- ret <16 x half> %ret
-}
-
-define <16 x half> @test_int_x86_mask_vfmaddph256(<16 x half> %a, i16 %b, <16 x half> %c, <16 x half> %d) nounwind {
-; X86-LABEL: test_int_x86_mask_vfmaddph256:
-; X86: # %bb.0:
-; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vfmadd132ph {ru-sae}, %ymm1, %ymm2, %ymm0 {%k1} # encoding: [0x62,0xf6,0x69,0x59,0x98,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vfmaddph256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vfmadd132ph {ru-sae}, %ymm1, %ymm2, %ymm0 {%k1} # encoding: [0x62,0xf6,0x69,0x59,0x98,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <16 x half> @llvm.x86.avx10.vfmaddph256(<16 x half> %a, <16 x half> %c, <16 x half> %d, i32 10)
- %msk = bitcast i16 %b to <16 x i1>
- %ret = select <16 x i1> %msk, <16 x half> %ret0, <16 x half> %a
- ret <16 x half> %ret
-}
-
-define <16 x half> @test_int_x86_maskz_vfmaddph256(<16 x half> %a, i16 %b, <16 x half> %c, <16 x half> %d) nounwind {
-; X86-LABEL: test_int_x86_maskz_vfmaddph256:
-; X86: # %bb.0:
-; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vfmadd132ph {rd-sae}, %ymm1, %ymm2, %ymm0 {%k1} {z} # encoding: [0x62,0xf6,0x69,0xb9,0x98,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vfmaddph256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vfmadd132ph {rd-sae}, %ymm1, %ymm2, %ymm0 {%k1} {z} # encoding: [0x62,0xf6,0x69,0xb9,0x98,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <16 x half> @llvm.x86.avx10.vfmaddph256(<16 x half> %a, <16 x half> %c, <16 x half> %d, i32 9)
- %msk = bitcast i16 %b to <16 x i1>
- %ret = select <16 x i1> %msk, <16 x half> %ret0, <16 x half> zeroinitializer
- ret <16 x half> %ret
-}
-
-declare <8 x float> @llvm.x86.avx10.vfmaddps256(<8 x float>, <8 x float>, <8 x float>, i32)
-define <8 x float> @test_int_x86_vfmaddps256(<8 x float> %a, <8 x float> %b, <8 x float> %c) nounwind {
-; CHECK-LABEL: test_int_x86_vfmaddps256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vfmadd213ps {rz-sae}, %ymm2, %ymm1, %ymm0 # encoding: [0x62,0xf2,0x71,0x78,0xa8,0xc2]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <8 x float> @llvm.x86.avx10.vfmaddps256(<8 x float> %a, <8 x float> %b, <8 x float> %c, i32 11)
- ret <8 x float> %ret
-}
-
-define <8 x float> @test_int_x86_mask_vfmaddps256(<8 x float> %a, i8 %b, <8 x float> %c, <8 x float> %d) nounwind {
-; X86-LABEL: test_int_x86_mask_vfmaddps256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vfmadd132ps {ru-sae}, %ymm1, %ymm2, %ymm0 {%k1} # encoding: [0x62,0xf2,0x69,0x59,0x98,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vfmaddps256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vfmadd132ps {ru-sae}, %ymm1, %ymm2, %ymm0 {%k1} # encoding: [0x62,0xf2,0x69,0x59,0x98,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <8 x float> @llvm.x86.avx10.vfmaddps256(<8 x float> %a, <8 x float> %c, <8 x float> %d, i32 10)
- %msk = bitcast i8 %b to <8 x i1>
- %ret = select <8 x i1> %msk, <8 x float> %ret0, <8 x float> %a
- ret <8 x float> %ret
-}
-
-define <8 x float> @test_int_x86_maskz_vfmaddps256(<8 x float> %a, i8 %b, <8 x float> %c, <8 x float> %d) nounwind {
-; X86-LABEL: test_int_x86_maskz_vfmaddps256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vfmadd132ps {rd-sae}, %ymm1, %ymm2, %ymm0 {%k1} {z} # encoding: [0x62,0xf2,0x69,0xb9,0x98,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vfmaddps256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vfmadd132ps {rd-sae}, %ymm1, %ymm2, %ymm0 {%k1} {z} # encoding: [0x62,0xf2,0x69,0xb9,0x98,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <8 x float> @llvm.x86.avx10.vfmaddps256(<8 x float> %a, <8 x float> %c, <8 x float> %d, i32 9)
- %msk = bitcast i8 %b to <8 x i1>
- %ret = select <8 x i1> %msk, <8 x float> %ret0, <8 x float> zeroinitializer
- ret <8 x float> %ret
-}
-
-declare <8 x float> @llvm.x86.avx10.mask.vfmaddcph256(<8 x float>, <8 x float>, <8 x float>, i8, i32)
-define <8 x float> @test_int_x86_vfmaddcph256(<8 x float> %a, <8 x float> %b, <8 x float> %c) nounwind {
-; CHECK-LABEL: test_int_x86_vfmaddcph256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vfmaddcph {rz-sae}, %ymm1, %ymm0, %ymm2 # encoding: [0x62,0xf6,0x7a,0x78,0x56,0xd1]
-; CHECK-NEXT: vmovaps %ymm2, %ymm0 # EVEX TO VEX Compression encoding: [0xc5,0xfc,0x28,0xc2]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <8 x float> @llvm.x86.avx10.mask.vfmaddcph256(<8 x float> %a, <8 x float> %b, <8 x float> %c, i8 -1, i32 11)
- ret <8 x float> %ret
-}
-
-define <8 x float> @test_int_x86_mask_vfmaddcph256(<8 x float> %a, i8 %b, <8 x float> %c, <8 x float> %d) nounwind {
-; X86-LABEL: test_int_x86_mask_vfmaddcph256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vfmaddcph {ru-sae}, %ymm1, %ymm0, %ymm2 {%k1} # encoding: [0x62,0xf6,0x7a,0x59,0x56,0xd1]
-; X86-NEXT: vmovaps %ymm2, %ymm0 # EVEX TO VEX Compression encoding: [0xc5,0xfc,0x28,0xc2]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vfmaddcph256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vfmaddcph {ru-sae}, %ymm1, %ymm0, %ymm2 {%k1} # encoding: [0x62,0xf6,0x7a,0x59,0x56,0xd1]
-; X64-NEXT: vmovaps %ymm2, %ymm0 # EVEX TO VEX Compression encoding: [0xc5,0xfc,0x28,0xc2]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <8 x float> @llvm.x86.avx10.mask.vfmaddcph256(<8 x float> %a, <8 x float> %c, <8 x float> %d, i8 %b, i32 10)
- ret <8 x float> %ret
-}
-
-declare <8 x float> @llvm.x86.avx10.maskz.vfmaddcph256(<8 x float>, <8 x float>, <8 x float>, i8, i32)
-define <8 x float> @test_int_x86_maskz_vfmaddcph256(<8 x float> %a, i8 %b, <8 x float> %c, <8 x float> %d) nounwind {
-; X86-LABEL: test_int_x86_maskz_vfmaddcph256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vfmaddcph {rd-sae}, %ymm1, %ymm0, %ymm2 {%k1} {z} # encoding: [0x62,0xf6,0x7a,0xb9,0x56,0xd1]
-; X86-NEXT: vmovaps %ymm2, %ymm0 # EVEX TO VEX Compression encoding: [0xc5,0xfc,0x28,0xc2]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vfmaddcph256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vfmaddcph {rd-sae}, %ymm1, %ymm0, %ymm2 {%k1} {z} # encoding: [0x62,0xf6,0x7a,0xb9,0x56,0xd1]
-; X64-NEXT: vmovaps %ymm2, %ymm0 # EVEX TO VEX Compression encoding: [0xc5,0xfc,0x28,0xc2]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <8 x float> @llvm.x86.avx10.maskz.vfmaddcph256(<8 x float> %a, <8 x float> %c, <8 x float> %d, i8 %b, i32 9)
- ret <8 x float> %ret
-}
-
-declare <4 x double> @llvm.x86.avx10.vfmaddsubpd256(<4 x double>, <4 x double>, <4 x double>, i32)
-define <4 x double> @test_int_x86_vfmaddsubpd256(<4 x double> %a, <4 x double> %b, <4 x double> %c) nounwind {
-; CHECK-LABEL: test_int_x86_vfmaddsubpd256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vfmaddsub213pd {rz-sae}, %ymm2, %ymm1, %ymm0 # encoding: [0x62,0xf2,0xf1,0x78,0xa6,0xc2]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <4 x double> @llvm.x86.avx10.vfmaddsubpd256(<4 x double> %a, <4 x double> %b, <4 x double> %c, i32 11)
- ret <4 x double> %ret
-}
-
-define <4 x double> @test_int_x86_mask_vfmaddsubpd256(<4 x double> %a, i4 %b, <4 x double> %c, <4 x double> %d) nounwind {
-; X86-LABEL: test_int_x86_mask_vfmaddsubpd256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vfmaddsub132pd {ru-sae}, %ymm1, %ymm2, %ymm0 {%k1} # encoding: [0x62,0xf2,0xe9,0x59,0x96,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vfmaddsubpd256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vfmaddsub132pd {ru-sae}, %ymm1, %ymm2, %ymm0 {%k1} # encoding: [0x62,0xf2,0xe9,0x59,0x96,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <4 x double> @llvm.x86.avx10.vfmaddsubpd256(<4 x double> %a, <4 x double> %c, <4 x double> %d, i32 10)
- %msk = bitcast i4 %b to <4 x i1>
- %ret = select <4 x i1> %msk, <4 x double> %ret0, <4 x double> %a
- ret <4 x double> %ret
-}
-
-define <4 x double> @test_int_x86_maskz_vfmaddsubpd256(<4 x double> %a, i4 %b, <4 x double> %c, <4 x double> %d) nounwind {
-; X86-LABEL: test_int_x86_maskz_vfmaddsubpd256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vfmaddsub132pd {rd-sae}, %ymm1, %ymm2, %ymm0 {%k1} {z} # encoding: [0x62,0xf2,0xe9,0xb9,0x96,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vfmaddsubpd256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vfmaddsub132pd {rd-sae}, %ymm1, %ymm2, %ymm0 {%k1} {z} # encoding: [0x62,0xf2,0xe9,0xb9,0x96,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <4 x double> @llvm.x86.avx10.vfmaddsubpd256(<4 x double> %a, <4 x double> %c, <4 x double> %d, i32 9)
- %msk = bitcast i4 %b to <4 x i1>
- %ret = select <4 x i1> %msk, <4 x double> %ret0, <4 x double> zeroinitializer
- ret <4 x double> %ret
-}
-
-declare <16 x half> @llvm.x86.avx10.vfmaddsubph256(<16 x half>, <16 x half>, <16 x half>, i32)
-define <16 x half> @test_int_x86_vfmaddsubph256(<16 x half> %a, <16 x half> %b, <16 x half> %c) nounwind {
-; CHECK-LABEL: test_int_x86_vfmaddsubph256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vfmaddsub213ph {rz-sae}, %ymm2, %ymm1, %ymm0 # encoding: [0x62,0xf6,0x71,0x78,0xa6,0xc2]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <16 x half> @llvm.x86.avx10.vfmaddsubph256(<16 x half> %a, <16 x half> %b, <16 x half> %c, i32 11)
- ret <16 x half> %ret
-}
-
-define <16 x half> @test_int_x86_mask_vfmaddsubph256(<16 x half> %a, i16 %b, <16 x half> %c, <16 x half> %d) nounwind {
-; X86-LABEL: test_int_x86_mask_vfmaddsubph256:
-; X86: # %bb.0:
-; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vfmaddsub132ph {ru-sae}, %ymm1, %ymm2, %ymm0 {%k1} # encoding: [0x62,0xf6,0x69,0x59,0x96,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vfmaddsubph256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vfmaddsub132ph {ru-sae}, %ymm1, %ymm2, %ymm0 {%k1} # encoding: [0x62,0xf6,0x69,0x59,0x96,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <16 x half> @llvm.x86.avx10.vfmaddsubph256(<16 x half> %a, <16 x half> %c, <16 x half> %d, i32 10)
- %msk = bitcast i16 %b to <16 x i1>
- %ret = select <16 x i1> %msk, <16 x half> %ret0, <16 x half> %a
- ret <16 x half> %ret
-}
-
-define <16 x half> @test_int_x86_maskz_vfmaddsubph256(<16 x half> %a, i16 %b, <16 x half> %c, <16 x half> %d) nounwind {
-; X86-LABEL: test_int_x86_maskz_vfmaddsubph256:
-; X86: # %bb.0:
-; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vfmaddsub132ph {rd-sae}, %ymm1, %ymm2, %ymm0 {%k1} {z} # encoding: [0x62,0xf6,0x69,0xb9,0x96,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vfmaddsubph256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vfmaddsub132ph {rd-sae}, %ymm1, %ymm2, %ymm0 {%k1} {z} # encoding: [0x62,0xf6,0x69,0xb9,0x96,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <16 x half> @llvm.x86.avx10.vfmaddsubph256(<16 x half> %a, <16 x half> %c, <16 x half> %d, i32 9)
- %msk = bitcast i16 %b to <16 x i1>
- %ret = select <16 x i1> %msk, <16 x half> %ret0, <16 x half> zeroinitializer
- ret <16 x half> %ret
-}
-
-declare <8 x float> @llvm.x86.avx10.vfmaddsubps256(<8 x float>, <8 x float>, <8 x float>, i32)
-define <8 x float> @test_int_x86_vfmaddsubps256(<8 x float> %a, <8 x float> %b, <8 x float> %c) nounwind {
-; CHECK-LABEL: test_int_x86_vfmaddsubps256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vfmaddsub213ps {rz-sae}, %ymm2, %ymm1, %ymm0 # encoding: [0x62,0xf2,0x71,0x78,0xa6,0xc2]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <8 x float> @llvm.x86.avx10.vfmaddsubps256(<8 x float> %a, <8 x float> %b, <8 x float> %c, i32 11)
- ret <8 x float> %ret
-}
-
-define <8 x float> @test_int_x86_mask_vfmaddsubps256(<8 x float> %a, i8 %b, <8 x float> %c, <8 x float> %d) nounwind {
-; X86-LABEL: test_int_x86_mask_vfmaddsubps256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vfmaddsub132ps {ru-sae}, %ymm1, %ymm2, %ymm0 {%k1} # encoding: [0x62,0xf2,0x69,0x59,0x96,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vfmaddsubps256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vfmaddsub132ps {ru-sae}, %ymm1, %ymm2, %ymm0 {%k1} # encoding: [0x62,0xf2,0x69,0x59,0x96,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <8 x float> @llvm.x86.avx10.vfmaddsubps256(<8 x float> %a, <8 x float> %c, <8 x float> %d, i32 10)
- %msk = bitcast i8 %b to <8 x i1>
- %ret = select <8 x i1> %msk, <8 x float> %ret0, <8 x float> %a
- ret <8 x float> %ret
-}
-
-define <8 x float> @test_int_x86_maskz_vfmaddsubps256(<8 x float> %a, i8 %b, <8 x float> %c, <8 x float> %d) nounwind {
-; X86-LABEL: test_int_x86_maskz_vfmaddsubps256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vfmaddsub132ps {rd-sae}, %ymm1, %ymm2, %ymm0 {%k1} {z} # encoding: [0x62,0xf2,0x69,0xb9,0x96,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vfmaddsubps256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vfmaddsub132ps {rd-sae}, %ymm1, %ymm2, %ymm0 {%k1} {z} # encoding: [0x62,0xf2,0x69,0xb9,0x96,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <8 x float> @llvm.x86.avx10.vfmaddsubps256(<8 x float> %a, <8 x float> %c, <8 x float> %d, i32 9)
- %msk = bitcast i8 %b to <8 x i1>
- %ret = select <8 x i1> %msk, <8 x float> %ret0, <8 x float> zeroinitializer
- ret <8 x float> %ret
-}
-
-declare <8 x float> @llvm.x86.avx10.mask.vfmulcph256(<8 x float>, <8 x float>, <8 x float>, i8, i32)
-define <8 x float> @test_int_x86_vfmulcph256(<8 x float> %a, <8 x float> %b, <8 x float> %c) nounwind {
-; CHECK-LABEL: test_int_x86_vfmulcph256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vfmulcph {rz-sae}, %ymm1, %ymm0, %ymm2 # encoding: [0x62,0xf6,0x7a,0x78,0xd6,0xd1]
-; CHECK-NEXT: vmovaps %ymm2, %ymm0 # EVEX TO VEX Compression encoding: [0xc5,0xfc,0x28,0xc2]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <8 x float> @llvm.x86.avx10.mask.vfmulcph256(<8 x float> %a, <8 x float> %b, <8 x float> %c, i8 -1, i32 11)
- ret <8 x float> %ret
-}
-
-define <8 x float> @test_int_x86_mask_vfmulcph256(<8 x float> %a, i8 %b, <8 x float> %c, <8 x float> %d) nounwind {
-; X86-LABEL: test_int_x86_mask_vfmulcph256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vfmulcph {ru-sae}, %ymm1, %ymm0, %ymm2 {%k1} # encoding: [0x62,0xf6,0x7a,0x59,0xd6,0xd1]
-; X86-NEXT: vmovaps %ymm2, %ymm0 # EVEX TO VEX Compression encoding: [0xc5,0xfc,0x28,0xc2]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vfmulcph256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vfmulcph {ru-sae}, %ymm1, %ymm0, %ymm2 {%k1} # encoding: [0x62,0xf6,0x7a,0x59,0xd6,0xd1]
-; X64-NEXT: vmovaps %ymm2, %ymm0 # EVEX TO VEX Compression encoding: [0xc5,0xfc,0x28,0xc2]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <8 x float> @llvm.x86.avx10.mask.vfmulcph256(<8 x float> %a, <8 x float> %c, <8 x float> %d, i8 %b, i32 10)
- ret <8 x float> %ret
-}
-
-define <8 x float> @test_int_x86_maskz_vfmulcph256(<8 x float> %a, i8 %b, <8 x float> %c, <8 x float> %d) nounwind {
-; X86-LABEL: test_int_x86_maskz_vfmulcph256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vfmulcph {rd-sae}, %ymm1, %ymm0, %ymm2 {%k1} {z} # encoding: [0x62,0xf6,0x7a,0xb9,0xd6,0xd1]
-; X86-NEXT: vmovaps %ymm2, %ymm0 # EVEX TO VEX Compression encoding: [0xc5,0xfc,0x28,0xc2]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vfmulcph256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vfmulcph {rd-sae}, %ymm1, %ymm0, %ymm2 {%k1} {z} # encoding: [0x62,0xf6,0x7a,0xb9,0xd6,0xd1]
-; X64-NEXT: vmovaps %ymm2, %ymm0 # EVEX TO VEX Compression encoding: [0xc5,0xfc,0x28,0xc2]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <8 x float> @llvm.x86.avx10.mask.vfmulcph256(<8 x float> %a, <8 x float> %c, <8 x float> zeroinitializer, i8 %b, i32 9)
- ret <8 x float> %ret
-}
-
-declare <4 x double> @llvm.x86.avx10.mask.vgetexppd256(<4 x double>, <4 x double>, i8, i32)
-define <4 x double> @test_int_x86_vgetexppd256(<4 x double> %a) nounwind {
-; CHECK-LABEL: test_int_x86_vgetexppd256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vgetexppd {sae}, %ymm0, %ymm0 # encoding: [0x62,0xf2,0xf9,0x18,0x42,0xc0]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <4 x double> @llvm.x86.avx10.mask.vgetexppd256(<4 x double> %a, <4 x double> undef, i8 -1, i32 8)
- ret <4 x double> %ret
-}
-
-define <4 x double> @test_int_x86_mask_vgetexppd256(<4 x double> %a, i8 %b, <4 x double> %c) nounwind {
-; X86-LABEL: test_int_x86_mask_vgetexppd256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vgetexppd {sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf2,0xf9,0x19,0x42,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vgetexppd256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vgetexppd {sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf2,0xf9,0x19,0x42,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <4 x double> @llvm.x86.avx10.mask.vgetexppd256(<4 x double> %c, <4 x double> %a, i8 %b, i32 8)
- ret <4 x double> %ret
-}
-
-define <4 x double> @test_int_x86_maskz_vgetexppd256(i8 %a, <4 x double> %b) nounwind {
-; X86-LABEL: test_int_x86_maskz_vgetexppd256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vgetexppd {sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf2,0xf9,0x99,0x42,0xc0]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vgetexppd256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vgetexppd {sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf2,0xf9,0x99,0x42,0xc0]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <4 x double> @llvm.x86.avx10.mask.vgetexppd256(<4 x double> %b, <4 x double> zeroinitializer, i8 %a, i32 8)
- ret <4 x double> %ret
-}
-
-declare <16 x half> @llvm.x86.avx10.mask.vgetexpph256(<16 x half>, <16 x half>, i16, i32)
-define <16 x half> @test_int_x86_vgetexpph256(<16 x half> %a) nounwind {
-; CHECK-LABEL: test_int_x86_vgetexpph256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vgetexpph {sae}, %ymm0, %ymm0 # encoding: [0x62,0xf6,0x79,0x18,0x42,0xc0]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <16 x half> @llvm.x86.avx10.mask.vgetexpph256(<16 x half> %a, <16 x half> undef, i16 -1, i32 8)
- ret <16 x half> %ret
-}
-
-define <16 x half> @test_int_x86_mask_vgetexpph256(<16 x half> %a, i16 %b, <16 x half> %c) nounwind {
-; X86-LABEL: test_int_x86_mask_vgetexpph256:
-; X86: # %bb.0:
-; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vgetexpph {sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf6,0x79,0x19,0x42,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vgetexpph256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vgetexpph {sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf6,0x79,0x19,0x42,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <16 x half> @llvm.x86.avx10.mask.vgetexpph256(<16 x half> %c, <16 x half> %a, i16 %b, i32 8)
- ret <16 x half> %ret
-}
-
-define <16 x half> @test_int_x86_maskz_vgetexpph256(i16 %a, <16 x half> %b) nounwind {
-; X86-LABEL: test_int_x86_maskz_vgetexpph256:
-; X86: # %bb.0:
-; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vgetexpph {sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf6,0x79,0x99,0x42,0xc0]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vgetexpph256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vgetexpph {sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf6,0x79,0x99,0x42,0xc0]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <16 x half> @llvm.x86.avx10.mask.vgetexpph256(<16 x half> %b, <16 x half> zeroinitializer, i16 %a, i32 8)
- ret <16 x half> %ret
-}
-
-declare <8 x float> @llvm.x86.avx10.mask.vgetexpps256(<8 x float>, <8 x float>, i8, i32)
-define <8 x float> @test_int_x86_vgetexpps256(<8 x float> %a) nounwind {
-; CHECK-LABEL: test_int_x86_vgetexpps256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vgetexpps {sae}, %ymm0, %ymm0 # encoding: [0x62,0xf2,0x79,0x18,0x42,0xc0]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <8 x float> @llvm.x86.avx10.mask.vgetexpps256(<8 x float> %a, <8 x float> undef, i8 -1, i32 8)
- ret <8 x float> %ret
-}
-
-define <8 x float> @test_int_x86_mask_vgetexpps256(<8 x float> %a, i8 %b, <8 x float> %c) nounwind {
-; X86-LABEL: test_int_x86_mask_vgetexpps256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vgetexpps {sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf2,0x79,0x19,0x42,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vgetexpps256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vgetexpps {sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf2,0x79,0x19,0x42,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <8 x float> @llvm.x86.avx10.mask.vgetexpps256(<8 x float> %c, <8 x float> %a, i8 %b, i32 8)
- ret <8 x float> %ret
-}
-
-define <8 x float> @test_int_x86_maskz_vgetexpps256(i8 %a, <8 x float> %b) nounwind {
-; X86-LABEL: test_int_x86_maskz_vgetexpps256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vgetexpps {sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf2,0x79,0x99,0x42,0xc0]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vgetexpps256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vgetexpps {sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf2,0x79,0x99,0x42,0xc0]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <8 x float> @llvm.x86.avx10.mask.vgetexpps256(<8 x float> %b, <8 x float> zeroinitializer, i8 %a, i32 8)
- ret <8 x float> %ret
-}
-
-declare <4 x double> @llvm.x86.avx10.mask.vgetmantpd256(<4 x double>, i32, <4 x double>, i8, i32)
-define <4 x double> @test_int_x86_vgetmantpd256(<4 x double> %a) nounwind {
-; CHECK-LABEL: test_int_x86_vgetmantpd256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vgetmantpd $127, {sae}, %ymm0, %ymm0 # encoding: [0x62,0xf3,0xf9,0x18,0x26,0xc0,0x7f]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <4 x double> @llvm.x86.avx10.mask.vgetmantpd256(<4 x double> %a, i32 127, <4 x double> undef, i8 -1, i32 8)
- ret <4 x double> %ret
-}
-
-define <4 x double> @test_int_x86_mask_vgetmantpd256(<4 x double> %a, i8 %b, <4 x double> %c) nounwind {
-; X86-LABEL: test_int_x86_mask_vgetmantpd256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vgetmantpd $127, {sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf3,0xf9,0x19,0x26,0xc1,0x7f]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vgetmantpd256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vgetmantpd $127, {sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf3,0xf9,0x19,0x26,0xc1,0x7f]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <4 x double> @llvm.x86.avx10.mask.vgetmantpd256(<4 x double> %c, i32 127, <4 x double> %a, i8 %b, i32 8)
- ret <4 x double> %ret
-}
-
-define <4 x double> @test_int_x86_maskz_vgetmantpd256(i8 %a, <4 x double> %b) nounwind {
-; X86-LABEL: test_int_x86_maskz_vgetmantpd256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vgetmantpd $127, {sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf3,0xf9,0x99,0x26,0xc0,0x7f]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vgetmantpd256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vgetmantpd $127, {sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf3,0xf9,0x99,0x26,0xc0,0x7f]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <4 x double> @llvm.x86.avx10.mask.vgetmantpd256(<4 x double> %b, i32 127, <4 x double> zeroinitializer, i8 %a, i32 8)
- ret <4 x double> %ret
-}
-
-declare <16 x half> @llvm.x86.avx10.mask.vgetmantph256(<16 x half>, i32, <16 x half>, i16, i32)
-define <16 x half> @test_int_x86_vgetmantph256(<16 x half> %a) nounwind {
-; CHECK-LABEL: test_int_x86_vgetmantph256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vgetmantph $127, {sae}, %ymm0, %ymm0 # encoding: [0x62,0xf3,0x78,0x18,0x26,0xc0,0x7f]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <16 x half> @llvm.x86.avx10.mask.vgetmantph256(<16 x half> %a, i32 127, <16 x half> undef, i16 -1, i32 8)
- ret <16 x half> %ret
-}
-
-define <16 x half> @test_int_x86_mask_vgetmantph256(<16 x half> %a, i16 %b, <16 x half> %c) nounwind {
-; X86-LABEL: test_int_x86_mask_vgetmantph256:
-; X86: # %bb.0:
-; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vgetmantph $127, {sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf3,0x78,0x19,0x26,0xc1,0x7f]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vgetmantph256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vgetmantph $127, {sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf3,0x78,0x19,0x26,0xc1,0x7f]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <16 x half> @llvm.x86.avx10.mask.vgetmantph256(<16 x half> %c, i32 127, <16 x half> %a, i16 %b, i32 8)
- ret <16 x half> %ret
-}
-
-define <16 x half> @test_int_x86_maskz_vgetmantph256(i16 %a, <16 x half> %b) nounwind {
-; X86-LABEL: test_int_x86_maskz_vgetmantph256:
-; X86: # %bb.0:
-; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vgetmantph $127, {sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf3,0x78,0x99,0x26,0xc0,0x7f]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vgetmantph256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vgetmantph $127, {sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf3,0x78,0x99,0x26,0xc0,0x7f]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <16 x half> @llvm.x86.avx10.mask.vgetmantph256(<16 x half> %b, i32 127, <16 x half> zeroinitializer, i16 %a, i32 8)
- ret <16 x half> %ret
-}
-
-declare <8 x float> @llvm.x86.avx10.mask.vgetmantps256(<8 x float>, i32, <8 x float>, i8, i32)
-define <8 x float> @test_int_x86_vgetmantps256(<8 x float> %a) nounwind {
-; CHECK-LABEL: test_int_x86_vgetmantps256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vgetmantps $127, {sae}, %ymm0, %ymm0 # encoding: [0x62,0xf3,0x79,0x18,0x26,0xc0,0x7f]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <8 x float> @llvm.x86.avx10.mask.vgetmantps256(<8 x float> %a, i32 127, <8 x float> undef, i8 -1, i32 8)
- ret <8 x float> %ret
-}
-
-define <8 x float> @test_int_x86_mask_vgetmantps256(<8 x float> %a, i8 %b, <8 x float> %c) nounwind {
-; X86-LABEL: test_int_x86_mask_vgetmantps256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vgetmantps $127, {sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf3,0x79,0x19,0x26,0xc1,0x7f]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vgetmantps256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vgetmantps $127, {sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf3,0x79,0x19,0x26,0xc1,0x7f]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <8 x float> @llvm.x86.avx10.mask.vgetmantps256(<8 x float> %c, i32 127, <8 x float> %a, i8 %b, i32 8)
- ret <8 x float> %ret
-}
-
-define <8 x float> @test_int_x86_maskz_vgetmantps256(i8 %a, <8 x float> %b) nounwind {
-; X86-LABEL: test_int_x86_maskz_vgetmantps256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vgetmantps $127, {sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf3,0x79,0x99,0x26,0xc0,0x7f]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vgetmantps256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vgetmantps $127, {sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf3,0x79,0x99,0x26,0xc0,0x7f]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <8 x float> @llvm.x86.avx10.mask.vgetmantps256(<8 x float> %b, i32 127, <8 x float> zeroinitializer, i8 %a, i32 8)
- ret <8 x float> %ret
-}
-
-declare <4 x double> @llvm.x86.avx10.vmaxpd256(<4 x double>, <4 x double>, i32)
-define <4 x double> @test_int_x86_vmaxpd256(<4 x double> %A, <4 x double> %B) nounwind {
-; CHECK-LABEL: test_int_x86_vmaxpd256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vmaxpd {sae}, %ymm1, %ymm0, %ymm0 # encoding: [0x62,0xf1,0xf9,0x18,0x5f,0xc1]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <4 x double> @llvm.x86.avx10.vmaxpd256(<4 x double> %A, <4 x double> %B, i32 8)
- ret <4 x double> %ret
-}
-
-define <4 x double> @test_int_x86_mask_vmaxpd256(<4 x double> %A, i4 %B, <4 x double> %C, <4 x double> %D) nounwind {
-; X86-LABEL: test_int_x86_mask_vmaxpd256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vmaxpd {sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0xf1,0x19,0x5f,0xc2]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vmaxpd256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vmaxpd {sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0xf1,0x19,0x5f,0xc2]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <4 x double> @llvm.x86.avx10.vmaxpd256(<4 x double> %C, <4 x double> %D, i32 8)
- %msk = bitcast i4 %B to <4 x i1>
- %ret = select <4 x i1> %msk, <4 x double> %ret0, <4 x double> %A
- ret <4 x double> %ret
-}
-
-define <4 x double> @test_int_x86_maskz_vmaxpd256(i4 %A, <4 x double> %B, <4 x double> %C) nounwind {
-; X86-LABEL: test_int_x86_maskz_vmaxpd256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vmaxpd {sae}, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0xf9,0x99,0x5f,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vmaxpd256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vmaxpd {sae}, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0xf9,0x99,0x5f,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <4 x double> @llvm.x86.avx10.vmaxpd256(<4 x double> %B, <4 x double> %C, i32 8)
- %msk = bitcast i4 %A to <4 x i1>
- %ret = select <4 x i1> %msk, <4 x double> %ret0, <4 x double> zeroinitializer
- ret <4 x double> %ret
-}
-
-declare <16 x half> @llvm.x86.avx10.vmaxph256(<16 x half>, <16 x half>, i32)
-define <16 x half> @test_int_x86_vmaxph256(<16 x half> %A, <16 x half> %B) nounwind {
-; CHECK-LABEL: test_int_x86_vmaxph256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vmaxph {sae}, %ymm1, %ymm0, %ymm0 # encoding: [0x62,0xf5,0x78,0x18,0x5f,0xc1]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <16 x half> @llvm.x86.avx10.vmaxph256(<16 x half> %A, <16 x half> %B, i32 8)
- ret <16 x half> %ret
-}
-
-define <16 x half> @test_int_x86_mask_vmaxph256(<16 x half> %A, i16 %B, <16 x half> %C, <16 x half> %D) nounwind {
-; X86-LABEL: test_int_x86_mask_vmaxph256:
-; X86: # %bb.0:
-; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vmaxph {sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x70,0x19,0x5f,0xc2]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vmaxph256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vmaxph {sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x70,0x19,0x5f,0xc2]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <16 x half> @llvm.x86.avx10.vmaxph256(<16 x half> %C, <16 x half> %D, i32 8)
- %msk = bitcast i16 %B to <16 x i1>
- %ret = select <16 x i1> %msk, <16 x half> %ret0, <16 x half> %A
- ret <16 x half> %ret
-}
-
-define <16 x half> @test_int_x86_maskz_vmaxph256(i16 %A, <16 x half> %B, <16 x half> %C) nounwind {
-; X86-LABEL: test_int_x86_maskz_vmaxph256:
-; X86: # %bb.0:
-; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vmaxph {sae}, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x78,0x99,0x5f,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vmaxph256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vmaxph {sae}, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x78,0x99,0x5f,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <16 x half> @llvm.x86.avx10.vmaxph256(<16 x half> %B, <16 x half> %C, i32 8)
- %msk = bitcast i16 %A to <16 x i1>
- %ret = select <16 x i1> %msk, <16 x half> %ret0, <16 x half> zeroinitializer
- ret <16 x half> %ret
-}
-
-declare <8 x float> @llvm.x86.avx10.vmaxps256(<8 x float>, <8 x float>, i32)
-define <8 x float> @test_int_x86_vmaxps256(<8 x float> %A, <8 x float> %B) nounwind {
-; CHECK-LABEL: test_int_x86_vmaxps256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vmaxps {sae}, %ymm1, %ymm0, %ymm0 # encoding: [0x62,0xf1,0x78,0x18,0x5f,0xc1]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <8 x float> @llvm.x86.avx10.vmaxps256(<8 x float> %A, <8 x float> %B, i32 8)
- ret <8 x float> %ret
-}
-
-define <8 x float> @test_int_x86_mask_vmaxps256(<8 x float> %A, i8 %B, <8 x float> %C, <8 x float> %D) nounwind {
-; X86-LABEL: test_int_x86_mask_vmaxps256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vmaxps {sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0x70,0x19,0x5f,0xc2]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vmaxps256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vmaxps {sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0x70,0x19,0x5f,0xc2]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <8 x float> @llvm.x86.avx10.vmaxps256(<8 x float> %C, <8 x float> %D, i32 8)
- %msk = bitcast i8 %B to <8 x i1>
- %ret = select <8 x i1> %msk, <8 x float> %ret0, <8 x float> %A
- ret <8 x float> %ret
-}
-
-define <8 x float> @test_int_x86_maskz_vmaxps256(i8 %A, <8 x float> %B, <8 x float> %C) nounwind {
-; X86-LABEL: test_int_x86_maskz_vmaxps256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vmaxps {sae}, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0x78,0x99,0x5f,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vmaxps256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vmaxps {sae}, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0x78,0x99,0x5f,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <8 x float> @llvm.x86.avx10.vmaxps256(<8 x float> %B, <8 x float> %C, i32 8)
- %msk = bitcast i8 %A to <8 x i1>
- %ret = select <8 x i1> %msk, <8 x float> %ret0, <8 x float> zeroinitializer
- ret <8 x float> %ret
-}
-
-declare <4 x double> @llvm.x86.avx10.vminpd256(<4 x double>, <4 x double>, i32)
-define <4 x double> @test_int_x86_vminpd256(<4 x double> %A, <4 x double> %B) nounwind {
-; CHECK-LABEL: test_int_x86_vminpd256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vminpd {sae}, %ymm1, %ymm0, %ymm0 # encoding: [0x62,0xf1,0xf9,0x18,0x5d,0xc1]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <4 x double> @llvm.x86.avx10.vminpd256(<4 x double> %A, <4 x double> %B, i32 8)
- ret <4 x double> %ret
-}
-
-define <4 x double> @test_int_x86_mask_vminpd256(<4 x double> %A, i4 %B, <4 x double> %C, <4 x double> %D) nounwind {
-; X86-LABEL: test_int_x86_mask_vminpd256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vminpd {sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0xf1,0x19,0x5d,0xc2]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vminpd256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vminpd {sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0xf1,0x19,0x5d,0xc2]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <4 x double> @llvm.x86.avx10.vminpd256(<4 x double> %C, <4 x double> %D, i32 8)
- %msk = bitcast i4 %B to <4 x i1>
- %ret = select <4 x i1> %msk, <4 x double> %ret0, <4 x double> %A
- ret <4 x double> %ret
-}
-
-define <4 x double> @test_int_x86_maskz_vminpd256(i4 %A, <4 x double> %B, <4 x double> %C) nounwind {
-; X86-LABEL: test_int_x86_maskz_vminpd256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vminpd {sae}, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0xf9,0x99,0x5d,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vminpd256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vminpd {sae}, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0xf9,0x99,0x5d,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <4 x double> @llvm.x86.avx10.vminpd256(<4 x double> %B, <4 x double> %C, i32 8)
- %msk = bitcast i4 %A to <4 x i1>
- %ret = select <4 x i1> %msk, <4 x double> %ret0, <4 x double> zeroinitializer
- ret <4 x double> %ret
-}
-
-declare <16 x half> @llvm.x86.avx10.vminph256(<16 x half>, <16 x half>, i32)
-define <16 x half> @test_int_x86_vminph256(<16 x half> %A, <16 x half> %B) nounwind {
-; CHECK-LABEL: test_int_x86_vminph256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vminph {sae}, %ymm1, %ymm0, %ymm0 # encoding: [0x62,0xf5,0x78,0x18,0x5d,0xc1]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <16 x half> @llvm.x86.avx10.vminph256(<16 x half> %A, <16 x half> %B, i32 8)
- ret <16 x half> %ret
-}
-
-define <16 x half> @test_int_x86_mask_vminph256(<16 x half> %A, i16 %B, <16 x half> %C, <16 x half> %D) nounwind {
-; X86-LABEL: test_int_x86_mask_vminph256:
-; X86: # %bb.0:
-; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vminph {sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x70,0x19,0x5d,0xc2]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vminph256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vminph {sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x70,0x19,0x5d,0xc2]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <16 x half> @llvm.x86.avx10.vminph256(<16 x half> %C, <16 x half> %D, i32 8)
- %msk = bitcast i16 %B to <16 x i1>
- %ret = select <16 x i1> %msk, <16 x half> %ret0, <16 x half> %A
- ret <16 x half> %ret
-}
-
-define <16 x half> @test_int_x86_maskz_vminph256(i16 %A, <16 x half> %B, <16 x half> %C) nounwind {
-; X86-LABEL: test_int_x86_maskz_vminph256:
-; X86: # %bb.0:
-; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vminph {sae}, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x78,0x99,0x5d,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vminph256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vminph {sae}, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x78,0x99,0x5d,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <16 x half> @llvm.x86.avx10.vminph256(<16 x half> %B, <16 x half> %C, i32 8)
- %msk = bitcast i16 %A to <16 x i1>
- %ret = select <16 x i1> %msk, <16 x half> %ret0, <16 x half> zeroinitializer
- ret <16 x half> %ret
-}
-
-declare <8 x float> @llvm.x86.avx10.vminps256(<8 x float>, <8 x float>, i32)
-define <8 x float> @test_int_x86_vminps256(<8 x float> %A, <8 x float> %B) nounwind {
-; CHECK-LABEL: test_int_x86_vminps256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vminps {sae}, %ymm1, %ymm0, %ymm0 # encoding: [0x62,0xf1,0x78,0x18,0x5d,0xc1]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <8 x float> @llvm.x86.avx10.vminps256(<8 x float> %A, <8 x float> %B, i32 8)
- ret <8 x float> %ret
-}
-
-define <8 x float> @test_int_x86_mask_vminps256(<8 x float> %A, i8 %B, <8 x float> %C, <8 x float> %D) nounwind {
-; X86-LABEL: test_int_x86_mask_vminps256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vminps {sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0x70,0x19,0x5d,0xc2]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vminps256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vminps {sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0x70,0x19,0x5d,0xc2]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <8 x float> @llvm.x86.avx10.vminps256(<8 x float> %C, <8 x float> %D, i32 8)
- %msk = bitcast i8 %B to <8 x i1>
- %ret = select <8 x i1> %msk, <8 x float> %ret0, <8 x float> %A
- ret <8 x float> %ret
-}
-
-define <8 x float> @test_int_x86_maskz_vminps256(i8 %A, <8 x float> %B, <8 x float> %C) nounwind {
-; X86-LABEL: test_int_x86_maskz_vminps256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vminps {sae}, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0x78,0x99,0x5d,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vminps256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vminps {sae}, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0x78,0x99,0x5d,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <8 x float> @llvm.x86.avx10.vminps256(<8 x float> %B, <8 x float> %C, i32 8)
- %msk = bitcast i8 %A to <8 x i1>
- %ret = select <8 x i1> %msk, <8 x float> %ret0, <8 x float> zeroinitializer
- ret <8 x float> %ret
-}
-
-declare <4 x double> @llvm.x86.avx10.vmulpd256(<4 x double>, <4 x double>, i32)
-define <4 x double> @test_int_x86_vmulpd256(<4 x double> %A, <4 x double> %B) nounwind {
-; CHECK-LABEL: test_int_x86_vmulpd256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vmulpd {rz-sae}, %ymm1, %ymm0, %ymm0 # encoding: [0x62,0xf1,0xf9,0x78,0x59,0xc1]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <4 x double> @llvm.x86.avx10.vmulpd256(<4 x double> %A, <4 x double> %B, i32 11)
- ret <4 x double> %ret
-}
-
-define <4 x double> @test_int_x86_mask_vmulpd256(<4 x double> %A, i4 %B, <4 x double> %C, <4 x double> %D) nounwind {
-; X86-LABEL: test_int_x86_mask_vmulpd256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vmulpd {ru-sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0xf1,0x59,0x59,0xc2]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vmulpd256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vmulpd {ru-sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0xf1,0x59,0x59,0xc2]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <4 x double> @llvm.x86.avx10.vmulpd256(<4 x double> %C, <4 x double> %D, i32 10)
- %msk = bitcast i4 %B to <4 x i1>
- %ret = select <4 x i1> %msk, <4 x double> %ret0, <4 x double> %A
- ret <4 x double> %ret
-}
-
-define <4 x double> @test_int_x86_maskz_vmulpd256(i4 %A, <4 x double> %B, <4 x double> %C) nounwind {
-; X86-LABEL: test_int_x86_maskz_vmulpd256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vmulpd {rd-sae}, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0xf9,0xb9,0x59,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vmulpd256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vmulpd {rd-sae}, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0xf9,0xb9,0x59,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <4 x double> @llvm.x86.avx10.vmulpd256(<4 x double> %B, <4 x double> %C, i32 9)
- %msk = bitcast i4 %A to <4 x i1>
- %ret = select <4 x i1> %msk, <4 x double> %ret0, <4 x double> zeroinitializer
- ret <4 x double> %ret
-}
-
-declare <16 x half> @llvm.x86.avx10.vmulph256(<16 x half>, <16 x half>, i32)
-define <16 x half> @test_int_x86_vmulph256(<16 x half> %A, <16 x half> %B) nounwind {
-; CHECK-LABEL: test_int_x86_vmulph256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vmulph {rz-sae}, %ymm1, %ymm0, %ymm0 # encoding: [0x62,0xf5,0x78,0x78,0x59,0xc1]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <16 x half> @llvm.x86.avx10.vmulph256(<16 x half> %A, <16 x half> %B, i32 11)
- ret <16 x half> %ret
-}
-
-define <16 x half> @test_int_x86_mask_vmulph256(<16 x half> %A, i16 %B, <16 x half> %C, <16 x half> %D) nounwind {
-; X86-LABEL: test_int_x86_mask_vmulph256:
-; X86: # %bb.0:
-; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vmulph {ru-sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x70,0x59,0x59,0xc2]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vmulph256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vmulph {ru-sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x70,0x59,0x59,0xc2]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <16 x half> @llvm.x86.avx10.vmulph256(<16 x half> %C, <16 x half> %D, i32 10)
- %msk = bitcast i16 %B to <16 x i1>
- %ret = select <16 x i1> %msk, <16 x half> %ret0, <16 x half> %A
- ret <16 x half> %ret
-}
-
-define <16 x half> @test_int_x86_maskz_vmulph256(i16 %A, <16 x half> %B, <16 x half> %C) nounwind {
-; X86-LABEL: test_int_x86_maskz_vmulph256:
-; X86: # %bb.0:
-; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vmulph {rd-sae}, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x78,0xb9,0x59,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vmulph256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vmulph {rd-sae}, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x78,0xb9,0x59,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <16 x half> @llvm.x86.avx10.vmulph256(<16 x half> %B, <16 x half> %C, i32 9)
- %msk = bitcast i16 %A to <16 x i1>
- %ret = select <16 x i1> %msk, <16 x half> %ret0, <16 x half> zeroinitializer
- ret <16 x half> %ret
-}
-
-declare <8 x float> @llvm.x86.avx10.vmulps256(<8 x float>, <8 x float>, i32)
-define <8 x float> @test_int_x86_vmulps256(<8 x float> %A, <8 x float> %B) nounwind {
-; CHECK-LABEL: test_int_x86_vmulps256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vmulps {rz-sae}, %ymm1, %ymm0, %ymm0 # encoding: [0x62,0xf1,0x78,0x78,0x59,0xc1]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <8 x float> @llvm.x86.avx10.vmulps256(<8 x float> %A, <8 x float> %B, i32 11)
- ret <8 x float> %ret
-}
-
-define <8 x float> @test_int_x86_mask_vmulps256(<8 x float> %A, i8 %B, <8 x float> %C, <8 x float> %D) nounwind {
-; X86-LABEL: test_int_x86_mask_vmulps256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vmulps {ru-sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0x70,0x59,0x59,0xc2]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vmulps256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vmulps {ru-sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0x70,0x59,0x59,0xc2]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <8 x float> @llvm.x86.avx10.vmulps256(<8 x float> %C, <8 x float> %D, i32 10)
- %msk = bitcast i8 %B to <8 x i1>
- %ret = select <8 x i1> %msk, <8 x float> %ret0, <8 x float> %A
- ret <8 x float> %ret
-}
-
-define <8 x float> @test_int_x86_maskz_vmulps256(i8 %A, <8 x float> %B, <8 x float> %C) nounwind {
-; X86-LABEL: test_int_x86_maskz_vmulps256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vmulps {rd-sae}, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0x78,0xb9,0x59,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vmulps256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vmulps {rd-sae}, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0x78,0xb9,0x59,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <8 x float> @llvm.x86.avx10.vmulps256(<8 x float> %B, <8 x float> %C, i32 9)
- %msk = bitcast i8 %A to <8 x i1>
- %ret = select <8 x i1> %msk, <8 x float> %ret0, <8 x float> zeroinitializer
- ret <8 x float> %ret
-}
-
-declare <4 x double> @llvm.x86.avx10.mask.vrangepd256(<4 x double>, <4 x double>, i32, <4 x double>, i8, i32)
-define <4 x double> @test_int_x86_vrangepd256(<4 x double> %a, <4 x double> %b) nounwind {
-; CHECK-LABEL: test_int_x86_vrangepd256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vrangepd $127, {sae}, %ymm1, %ymm0, %ymm0 # encoding: [0x62,0xf3,0xf9,0x18,0x50,0xc1,0x7f]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <4 x double> @llvm.x86.avx10.mask.vrangepd256(<4 x double> %a, <4 x double> %b, i32 127, <4 x double> undef, i8 -1, i32 8)
- ret <4 x double> %ret
-}
-
-define <4 x double> @test_int_x86_mask_vrangepd256(<4 x double> %a, i8 %b, <4 x double> %c, <4 x double> %d) nounwind {
-; X86-LABEL: test_int_x86_mask_vrangepd256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vrangepd $127, {sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf3,0xf1,0x19,0x50,0xc2,0x7f]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vrangepd256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vrangepd $127, {sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf3,0xf1,0x19,0x50,0xc2,0x7f]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <4 x double> @llvm.x86.avx10.mask.vrangepd256(<4 x double> %c, <4 x double> %d, i32 127, <4 x double> %a, i8 %b, i32 8)
- ret <4 x double> %ret
-}
-
-define <4 x double> @test_int_x86_maskz_vrangepd256(i8 %a, <4 x double> %b, <4 x double> %c) nounwind {
-; X86-LABEL: test_int_x86_maskz_vrangepd256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vrangepd $127, {sae}, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf3,0xf9,0x99,0x50,0xc1,0x7f]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vrangepd256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vrangepd $127, {sae}, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf3,0xf9,0x99,0x50,0xc1,0x7f]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <4 x double> @llvm.x86.avx10.mask.vrangepd256(<4 x double> %b, <4 x double> %c, i32 127, <4 x double> zeroinitializer, i8 %a, i32 8)
- ret <4 x double> %ret
-}
-
-declare <8 x float> @llvm.x86.avx10.mask.vrangeps256(<8 x float>, <8 x float>, i32, <8 x float>, i8, i32)
-define <8 x float> @test_int_x86_vrangeps256(<8 x float> %a, <8 x float> %b) nounwind {
-; CHECK-LABEL: test_int_x86_vrangeps256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vrangeps $127, {sae}, %ymm1, %ymm0, %ymm0 # encoding: [0x62,0xf3,0x79,0x18,0x50,0xc1,0x7f]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <8 x float> @llvm.x86.avx10.mask.vrangeps256(<8 x float> %a, <8 x float> %b, i32 127, <8 x float> undef, i8 -1, i32 8)
- ret <8 x float> %ret
-}
-
-define <8 x float> @test_int_x86_mask_vrangeps256(<8 x float> %a, i8 %b, <8 x float> %c, <8 x float> %d) nounwind {
-; X86-LABEL: test_int_x86_mask_vrangeps256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vrangeps $127, {sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf3,0x71,0x19,0x50,0xc2,0x7f]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vrangeps256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vrangeps $127, {sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf3,0x71,0x19,0x50,0xc2,0x7f]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <8 x float> @llvm.x86.avx10.mask.vrangeps256(<8 x float> %c, <8 x float> %d, i32 127, <8 x float> %a, i8 %b, i32 8)
- ret <8 x float> %ret
-}
-
-define <8 x float> @test_int_x86_maskz_vrangeps256(i8 %a, <8 x float> %b, <8 x float> %c) nounwind {
-; X86-LABEL: test_int_x86_maskz_vrangeps256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vrangeps $127, {sae}, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf3,0x79,0x99,0x50,0xc1,0x7f]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vrangeps256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vrangeps $127, {sae}, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf3,0x79,0x99,0x50,0xc1,0x7f]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <8 x float> @llvm.x86.avx10.mask.vrangeps256(<8 x float> %b, <8 x float> %c, i32 127, <8 x float> zeroinitializer, i8 %a, i32 8)
- ret <8 x float> %ret
-}
-
-declare <4 x double> @llvm.x86.avx10.mask.vreducepd256(<4 x double>, i32, <4 x double>, i8, i32)
-define <4 x double> @test_int_x86_vreducepd256(<4 x double> %a) nounwind {
-; CHECK-LABEL: test_int_x86_vreducepd256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vreducepd $127, {sae}, %ymm0, %ymm0 # encoding: [0x62,0xf3,0xf9,0x18,0x56,0xc0,0x7f]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <4 x double> @llvm.x86.avx10.mask.vreducepd256(<4 x double> %a, i32 127, <4 x double> undef, i8 -1, i32 8)
- ret <4 x double> %ret
-}
-
-define <4 x double> @test_int_x86_mask_vreducepd256(<4 x double> %a, i8 %b, <4 x double> %c) nounwind {
-; X86-LABEL: test_int_x86_mask_vreducepd256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vreducepd $127, {sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf3,0xf9,0x19,0x56,0xc1,0x7f]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vreducepd256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vreducepd $127, {sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf3,0xf9,0x19,0x56,0xc1,0x7f]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <4 x double> @llvm.x86.avx10.mask.vreducepd256(<4 x double> %c, i32 127, <4 x double> %a, i8 %b, i32 8)
- ret <4 x double> %ret
-}
-
-define <4 x double> @test_int_x86_maskz_vreducepd256(i8 %a, <4 x double> %b) nounwind {
-; X86-LABEL: test_int_x86_maskz_vreducepd256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vreducepd $127, {sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf3,0xf9,0x99,0x56,0xc0,0x7f]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vreducepd256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vreducepd $127, {sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf3,0xf9,0x99,0x56,0xc0,0x7f]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <4 x double> @llvm.x86.avx10.mask.vreducepd256(<4 x double> %b, i32 127, <4 x double> zeroinitializer, i8 %a, i32 8)
- ret <4 x double> %ret
-}
-
-declare <16 x half> @llvm.x86.avx10.mask.vreduceph256(<16 x half>, i32, <16 x half>, i16, i32)
-define <16 x half> @test_int_x86_vreduceph256(<16 x half> %a) nounwind {
-; CHECK-LABEL: test_int_x86_vreduceph256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vreduceph $127, {sae}, %ymm0, %ymm0 # encoding: [0x62,0xf3,0x78,0x18,0x56,0xc0,0x7f]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <16 x half> @llvm.x86.avx10.mask.vreduceph256(<16 x half> %a, i32 127, <16 x half> undef, i16 -1, i32 8)
- ret <16 x half> %ret
-}
-
-define <16 x half> @test_int_x86_mask_vreduceph256(<16 x half> %a, i16 %b, <16 x half> %c) nounwind {
-; X86-LABEL: test_int_x86_mask_vreduceph256:
-; X86: # %bb.0:
-; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vreduceph $127, {sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf3,0x78,0x19,0x56,0xc1,0x7f]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vreduceph256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vreduceph $127, {sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf3,0x78,0x19,0x56,0xc1,0x7f]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <16 x half> @llvm.x86.avx10.mask.vreduceph256(<16 x half> %c, i32 127, <16 x half> %a, i16 %b, i32 8)
- ret <16 x half> %ret
-}
-
-define <16 x half> @test_int_x86_maskz_vreduceph256(i16 %a, <16 x half> %b) nounwind {
-; X86-LABEL: test_int_x86_maskz_vreduceph256:
-; X86: # %bb.0:
-; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vreduceph $127, {sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf3,0x78,0x99,0x56,0xc0,0x7f]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vreduceph256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vreduceph $127, {sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf3,0x78,0x99,0x56,0xc0,0x7f]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <16 x half> @llvm.x86.avx10.mask.vreduceph256(<16 x half> %b, i32 127, <16 x half> zeroinitializer, i16 %a, i32 8)
- ret <16 x half> %ret
-}
-
-declare <8 x float> @llvm.x86.avx10.mask.vreduceps256(<8 x float>, i32, <8 x float>, i8, i32)
-define <8 x float> @test_int_x86_vreduceps256(<8 x float> %a) nounwind {
-; CHECK-LABEL: test_int_x86_vreduceps256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vreduceps $127, {sae}, %ymm0, %ymm0 # encoding: [0x62,0xf3,0x79,0x18,0x56,0xc0,0x7f]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <8 x float> @llvm.x86.avx10.mask.vreduceps256(<8 x float> %a, i32 127, <8 x float> undef, i8 -1, i32 8)
- ret <8 x float> %ret
-}
-
-define <8 x float> @test_int_x86_mask_vreduceps256(<8 x float> %a, i8 %b, <8 x float> %c) nounwind {
-; X86-LABEL: test_int_x86_mask_vreduceps256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vreduceps $127, {sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf3,0x79,0x19,0x56,0xc1,0x7f]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vreduceps256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vreduceps $127, {sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf3,0x79,0x19,0x56,0xc1,0x7f]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <8 x float> @llvm.x86.avx10.mask.vreduceps256(<8 x float> %c, i32 127, <8 x float> %a, i8 %b, i32 8)
- ret <8 x float> %ret
-}
-
-define <8 x float> @test_int_x86_maskz_vreduceps256(i8 %a, <8 x float> %b) nounwind {
-; X86-LABEL: test_int_x86_maskz_vreduceps256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vreduceps $127, {sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf3,0x79,0x99,0x56,0xc0,0x7f]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vreduceps256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vreduceps $127, {sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf3,0x79,0x99,0x56,0xc0,0x7f]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <8 x float> @llvm.x86.avx10.mask.vreduceps256(<8 x float> %b, i32 127, <8 x float> zeroinitializer, i8 %a, i32 8)
- ret <8 x float> %ret
-}
-
-declare <4 x double> @llvm.x86.avx10.mask.vrndscalepd256(<4 x double>, i32, <4 x double>, i8, i32)
-define <4 x double> @test_int_x86_vrndscalepd256(<4 x double> %a) nounwind {
-; CHECK-LABEL: test_int_x86_vrndscalepd256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vrndscalepd $127, {sae}, %ymm0, %ymm0 # encoding: [0x62,0xf3,0xf9,0x18,0x09,0xc0,0x7f]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <4 x double> @llvm.x86.avx10.mask.vrndscalepd256(<4 x double> %a, i32 127, <4 x double> undef, i8 -1, i32 8)
- ret <4 x double> %ret
-}
-
-define <4 x double> @test_int_x86_mask_vrndscalepd256(<4 x double> %a, i8 %b, <4 x double> %c) nounwind {
-; X86-LABEL: test_int_x86_mask_vrndscalepd256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vrndscalepd $127, {sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf3,0xf9,0x19,0x09,0xc1,0x7f]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vrndscalepd256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vrndscalepd $127, {sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf3,0xf9,0x19,0x09,0xc1,0x7f]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <4 x double> @llvm.x86.avx10.mask.vrndscalepd256(<4 x double> %c, i32 127, <4 x double> %a, i8 %b, i32 8)
- ret <4 x double> %ret
-}
-
-define <4 x double> @test_int_x86_maskz_vrndscalepd256(i8 %a, <4 x double> %b) nounwind {
-; X86-LABEL: test_int_x86_maskz_vrndscalepd256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vrndscalepd $127, {sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf3,0xf9,0x99,0x09,0xc0,0x7f]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vrndscalepd256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vrndscalepd $127, {sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf3,0xf9,0x99,0x09,0xc0,0x7f]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <4 x double> @llvm.x86.avx10.mask.vrndscalepd256(<4 x double> %b, i32 127, <4 x double> zeroinitializer, i8 %a, i32 8)
- ret <4 x double> %ret
-}
-
-declare <16 x half> @llvm.x86.avx10.mask.vrndscaleph256(<16 x half>, i32, <16 x half>, i16, i32)
-define <16 x half> @test_int_x86_vrndscaleph256(<16 x half> %a) nounwind {
-; CHECK-LABEL: test_int_x86_vrndscaleph256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vrndscaleph $127, {sae}, %ymm0, %ymm0 # encoding: [0x62,0xf3,0x78,0x18,0x08,0xc0,0x7f]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <16 x half> @llvm.x86.avx10.mask.vrndscaleph256(<16 x half> %a, i32 127, <16 x half> undef, i16 -1, i32 8)
- ret <16 x half> %ret
-}
-
-define <16 x half> @test_int_x86_mask_vrndscaleph256(<16 x half> %a, i16 %b, <16 x half> %c) nounwind {
-; X86-LABEL: test_int_x86_mask_vrndscaleph256:
-; X86: # %bb.0:
-; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vrndscaleph $127, {sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf3,0x78,0x19,0x08,0xc1,0x7f]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vrndscaleph256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vrndscaleph $127, {sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf3,0x78,0x19,0x08,0xc1,0x7f]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <16 x half> @llvm.x86.avx10.mask.vrndscaleph256(<16 x half> %c, i32 127, <16 x half> %a, i16 %b, i32 8)
- ret <16 x half> %ret
-}
-
-define <16 x half> @test_int_x86_maskz_vrndscaleph256(i16 %a, <16 x half> %b) nounwind {
-; X86-LABEL: test_int_x86_maskz_vrndscaleph256:
-; X86: # %bb.0:
-; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vrndscaleph $127, {sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf3,0x78,0x99,0x08,0xc0,0x7f]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vrndscaleph256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vrndscaleph $127, {sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf3,0x78,0x99,0x08,0xc0,0x7f]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <16 x half> @llvm.x86.avx10.mask.vrndscaleph256(<16 x half> %b, i32 127, <16 x half> zeroinitializer, i16 %a, i32 8)
- ret <16 x half> %ret
-}
-
-declare <8 x float> @llvm.x86.avx10.mask.vrndscaleps256(<8 x float>, i32, <8 x float>, i8, i32)
-define <8 x float> @test_int_x86_vrndscaleps256(<8 x float> %a) nounwind {
-; CHECK-LABEL: test_int_x86_vrndscaleps256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vrndscaleps $127, {sae}, %ymm0, %ymm0 # encoding: [0x62,0xf3,0x79,0x18,0x08,0xc0,0x7f]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <8 x float> @llvm.x86.avx10.mask.vrndscaleps256(<8 x float> %a, i32 127, <8 x float> undef, i8 -1, i32 8)
- ret <8 x float> %ret
-}
-
-define <8 x float> @test_int_x86_mask_vrndscaleps256(<8 x float> %a, i8 %b, <8 x float> %c) nounwind {
-; X86-LABEL: test_int_x86_mask_vrndscaleps256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vrndscaleps $127, {sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf3,0x79,0x19,0x08,0xc1,0x7f]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vrndscaleps256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vrndscaleps $127, {sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf3,0x79,0x19,0x08,0xc1,0x7f]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <8 x float> @llvm.x86.avx10.mask.vrndscaleps256(<8 x float> %c, i32 127, <8 x float> %a, i8 %b, i32 8)
- ret <8 x float> %ret
-}
-
-define <8 x float> @test_int_x86_maskz_vrndscaleps256(i8 %a, <8 x float> %b) nounwind {
-; X86-LABEL: test_int_x86_maskz_vrndscaleps256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vrndscaleps $127, {sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf3,0x79,0x99,0x08,0xc0,0x7f]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vrndscaleps256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vrndscaleps $127, {sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf3,0x79,0x99,0x08,0xc0,0x7f]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <8 x float> @llvm.x86.avx10.mask.vrndscaleps256(<8 x float> %b, i32 127, <8 x float> zeroinitializer, i8 %a, i32 8)
- ret <8 x float> %ret
-}
-
-declare <4 x double> @llvm.x86.avx10.mask.vscalefpd256(<4 x double>, <4 x double>, <4 x double>, i8, i32)
-define <4 x double> @test_int_x86_vscalefpd256(<4 x double> %a, <4 x double> %b) nounwind {
-; CHECK-LABEL: test_int_x86_vscalefpd256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vscalefpd {rz-sae}, %ymm1, %ymm0, %ymm0 # encoding: [0x62,0xf2,0xf9,0x78,0x2c,0xc1]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <4 x double> @llvm.x86.avx10.mask.vscalefpd256(<4 x double> %a, <4 x double> %b, <4 x double> undef, i8 -1, i32 11)
- ret <4 x double> %ret
-}
-
-define <4 x double> @test_int_x86_mask_vscalefpd256(<4 x double> %a, i8 %b, <4 x double> %c, <4 x double> %d) nounwind {
-; X86-LABEL: test_int_x86_mask_vscalefpd256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vscalefpd {ru-sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf2,0xf1,0x59,0x2c,0xc2]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vscalefpd256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vscalefpd {ru-sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf2,0xf1,0x59,0x2c,0xc2]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <4 x double> @llvm.x86.avx10.mask.vscalefpd256(<4 x double> %c, <4 x double> %d, <4 x double> %a, i8 %b, i32 10)
- ret <4 x double> %ret
-}
-
-define <4 x double> @test_int_x86_maskz_vscalefpd256(i8 %a, <4 x double> %b, <4 x double> %c) nounwind {
-; X86-LABEL: test_int_x86_maskz_vscalefpd256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vscalefpd {rd-sae}, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf2,0xf9,0xb9,0x2c,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vscalefpd256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vscalefpd {rd-sae}, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf2,0xf9,0xb9,0x2c,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <4 x double> @llvm.x86.avx10.mask.vscalefpd256(<4 x double> %b, <4 x double> %c, <4 x double> zeroinitializer, i8 %a, i32 9)
- ret <4 x double> %ret
-}
-
-declare <16 x half> @llvm.x86.avx10.mask.vscalefph256(<16 x half>, <16 x half>, <16 x half>, i16, i32)
-define <16 x half> @test_int_x86_vscalefph256(<16 x half> %a, <16 x half> %b) nounwind {
-; CHECK-LABEL: test_int_x86_vscalefph256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vscalefph {rz-sae}, %ymm1, %ymm0, %ymm0 # encoding: [0x62,0xf6,0x79,0x78,0x2c,0xc1]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <16 x half> @llvm.x86.avx10.mask.vscalefph256(<16 x half> %a, <16 x half> %b, <16 x half> undef, i16 -1, i32 11)
- ret <16 x half> %ret
-}
-
-define <16 x half> @test_int_x86_mask_vscalefph256(<16 x half> %a, i16 %b, <16 x half> %c, <16 x half> %d) nounwind {
-; X86-LABEL: test_int_x86_mask_vscalefph256:
-; X86: # %bb.0:
-; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vscalefph {ru-sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf6,0x71,0x59,0x2c,0xc2]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vscalefph256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vscalefph {ru-sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf6,0x71,0x59,0x2c,0xc2]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <16 x half> @llvm.x86.avx10.mask.vscalefph256(<16 x half> %c, <16 x half> %d, <16 x half> %a, i16 %b, i32 10)
- ret <16 x half> %ret
-}
-
-define <16 x half> @test_int_x86_maskz_vscalefph256(i16 %a, <16 x half> %b, <16 x half> %c) nounwind {
-; X86-LABEL: test_int_x86_maskz_vscalefph256:
-; X86: # %bb.0:
-; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vscalefph {rd-sae}, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf6,0x79,0xb9,0x2c,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vscalefph256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vscalefph {rd-sae}, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf6,0x79,0xb9,0x2c,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <16 x half> @llvm.x86.avx10.mask.vscalefph256(<16 x half> %b, <16 x half> %c, <16 x half> zeroinitializer, i16 %a, i32 9)
- ret <16 x half> %ret
-}
-
-declare <8 x float> @llvm.x86.avx10.mask.vscalefps256(<8 x float>, <8 x float>, <8 x float>, i8, i32)
-define <8 x float> @test_int_x86_vscalefps256(<8 x float> %a, <8 x float> %b) nounwind {
-; CHECK-LABEL: test_int_x86_vscalefps256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vscalefps {rz-sae}, %ymm1, %ymm0, %ymm0 # encoding: [0x62,0xf2,0x79,0x78,0x2c,0xc1]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <8 x float> @llvm.x86.avx10.mask.vscalefps256(<8 x float> %a, <8 x float> %b, <8 x float> undef, i8 -1, i32 11)
- ret <8 x float> %ret
-}
-
-define <8 x float> @test_int_x86_mask_vscalefps256(<8 x float> %a, i8 %b, <8 x float> %c, <8 x float> %d) nounwind {
-; X86-LABEL: test_int_x86_mask_vscalefps256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vscalefps {ru-sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf2,0x71,0x59,0x2c,0xc2]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vscalefps256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vscalefps {ru-sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf2,0x71,0x59,0x2c,0xc2]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <8 x float> @llvm.x86.avx10.mask.vscalefps256(<8 x float> %c, <8 x float> %d, <8 x float> %a, i8 %b, i32 10)
- ret <8 x float> %ret
-}
-
-define <8 x float> @test_int_x86_maskz_vscalefps256(i8 %a, <8 x float> %b, <8 x float> %c) nounwind {
-; X86-LABEL: test_int_x86_maskz_vscalefps256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vscalefps {rd-sae}, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf2,0x79,0xb9,0x2c,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vscalefps256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vscalefps {rd-sae}, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf2,0x79,0xb9,0x2c,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret = call <8 x float> @llvm.x86.avx10.mask.vscalefps256(<8 x float> %b, <8 x float> %c, <8 x float> zeroinitializer, i8 %a, i32 9)
- ret <8 x float> %ret
-}
-
-declare <4 x double> @llvm.x86.avx10.vsqrtpd256(<4 x double>, i32)
-define <4 x double> @test_int_x86_vsqrtpd256(<4 x double> %A) nounwind {
-; CHECK-LABEL: test_int_x86_vsqrtpd256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vsqrtpd {rz-sae}, %ymm0, %ymm0 # encoding: [0x62,0xf1,0xf9,0x78,0x51,0xc0]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <4 x double> @llvm.x86.avx10.vsqrtpd256(<4 x double> %A, i32 11)
- ret <4 x double> %ret
-}
-
-define <4 x double> @test_int_x86_mask_vsqrtpd256(<4 x double> %A, i4 %B, <4 x double> %C) nounwind {
-; X86-LABEL: test_int_x86_mask_vsqrtpd256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vsqrtpd {ru-sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0xf9,0x59,0x51,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vsqrtpd256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vsqrtpd {ru-sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0xf9,0x59,0x51,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <4 x double> @llvm.x86.avx10.vsqrtpd256(<4 x double> %C, i32 10)
- %msk = bitcast i4 %B to <4 x i1>
- %ret = select <4 x i1> %msk, <4 x double> %ret0, <4 x double> %A
- ret <4 x double> %ret
-}
-
-define <4 x double> @test_int_x86_maskz_vsqrtpd256(i4 %A, <4 x double> %B) nounwind {
-; X86-LABEL: test_int_x86_maskz_vsqrtpd256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vsqrtpd {rd-sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0xf9,0xb9,0x51,0xc0]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vsqrtpd256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vsqrtpd {rd-sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0xf9,0xb9,0x51,0xc0]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <4 x double> @llvm.x86.avx10.vsqrtpd256(<4 x double> %B, i32 9)
- %msk = bitcast i4 %A to <4 x i1>
- %ret = select <4 x i1> %msk, <4 x double> %ret0, <4 x double> zeroinitializer
- ret <4 x double> %ret
-}
-
-declare <16 x half> @llvm.x86.avx10.vsqrtph256(<16 x half>, i32)
-define <16 x half> @test_int_x86_vsqrtph256(<16 x half> %A) nounwind {
-; CHECK-LABEL: test_int_x86_vsqrtph256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vsqrtph {rz-sae}, %ymm0, %ymm0 # encoding: [0x62,0xf5,0x78,0x78,0x51,0xc0]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <16 x half> @llvm.x86.avx10.vsqrtph256(<16 x half> %A, i32 11)
- ret <16 x half> %ret
-}
-
-define <16 x half> @test_int_x86_mask_vsqrtph256(<16 x half> %A, i16 %B, <16 x half> %C) nounwind {
-; X86-LABEL: test_int_x86_mask_vsqrtph256:
-; X86: # %bb.0:
-; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vsqrtph {ru-sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x78,0x59,0x51,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vsqrtph256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vsqrtph {ru-sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x78,0x59,0x51,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <16 x half> @llvm.x86.avx10.vsqrtph256(<16 x half> %C, i32 10)
- %msk = bitcast i16 %B to <16 x i1>
- %ret = select <16 x i1> %msk, <16 x half> %ret0, <16 x half> %A
- ret <16 x half> %ret
-}
-
-define <16 x half> @test_int_x86_maskz_vsqrtph256(i16 %A, <16 x half> %B) nounwind {
-; X86-LABEL: test_int_x86_maskz_vsqrtph256:
-; X86: # %bb.0:
-; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vsqrtph {rd-sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x78,0xb9,0x51,0xc0]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vsqrtph256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vsqrtph {rd-sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x78,0xb9,0x51,0xc0]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <16 x half> @llvm.x86.avx10.vsqrtph256(<16 x half> %B, i32 9)
- %msk = bitcast i16 %A to <16 x i1>
- %ret = select <16 x i1> %msk, <16 x half> %ret0, <16 x half> zeroinitializer
- ret <16 x half> %ret
-}
-
-declare <8 x float> @llvm.x86.avx10.vsqrtps256(<8 x float>, i32)
-define <8 x float> @test_int_x86_vsqrtps256(<8 x float> %A) nounwind {
-; CHECK-LABEL: test_int_x86_vsqrtps256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vsqrtps {rz-sae}, %ymm0, %ymm0 # encoding: [0x62,0xf1,0x78,0x78,0x51,0xc0]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <8 x float> @llvm.x86.avx10.vsqrtps256(<8 x float> %A, i32 11)
- ret <8 x float> %ret
-}
-
-define <8 x float> @test_int_x86_mask_vsqrtps256(<8 x float> %A, i8 %B, <8 x float> %C) nounwind {
-; X86-LABEL: test_int_x86_mask_vsqrtps256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vsqrtps {ru-sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0x78,0x59,0x51,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vsqrtps256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vsqrtps {ru-sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0x78,0x59,0x51,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <8 x float> @llvm.x86.avx10.vsqrtps256(<8 x float> %C, i32 10)
- %msk = bitcast i8 %B to <8 x i1>
- %ret = select <8 x i1> %msk, <8 x float> %ret0, <8 x float> %A
- ret <8 x float> %ret
-}
-
-define <8 x float> @test_int_x86_maskz_vsqrtps256(i8 %A, <8 x float> %B) nounwind {
-; X86-LABEL: test_int_x86_maskz_vsqrtps256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vsqrtps {rd-sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0x78,0xb9,0x51,0xc0]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vsqrtps256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vsqrtps {rd-sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0x78,0xb9,0x51,0xc0]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <8 x float> @llvm.x86.avx10.vsqrtps256(<8 x float> %B, i32 9)
- %msk = bitcast i8 %A to <8 x i1>
- %ret = select <8 x i1> %msk, <8 x float> %ret0, <8 x float> zeroinitializer
- ret <8 x float> %ret
-}
-
-declare <4 x double> @llvm.x86.avx10.vsubpd256(<4 x double>, <4 x double>, i32)
-define <4 x double> @test_int_x86_vsubpd256(<4 x double> %A, <4 x double> %B) nounwind {
-; CHECK-LABEL: test_int_x86_vsubpd256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vsubpd {rz-sae}, %ymm1, %ymm0, %ymm0 # encoding: [0x62,0xf1,0xf9,0x78,0x5c,0xc1]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <4 x double> @llvm.x86.avx10.vsubpd256(<4 x double> %A, <4 x double> %B, i32 11)
- ret <4 x double> %ret
-}
-
-define <4 x double> @test_int_x86_mask_vsubpd256(<4 x double> %A, i4 %B, <4 x double> %C, <4 x double> %D) nounwind {
-; X86-LABEL: test_int_x86_mask_vsubpd256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vsubpd {ru-sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0xf1,0x59,0x5c,0xc2]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vsubpd256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vsubpd {ru-sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0xf1,0x59,0x5c,0xc2]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <4 x double> @llvm.x86.avx10.vsubpd256(<4 x double> %C, <4 x double> %D, i32 10)
- %msk = bitcast i4 %B to <4 x i1>
- %ret = select <4 x i1> %msk, <4 x double> %ret0, <4 x double> %A
- ret <4 x double> %ret
-}
-
-define <4 x double> @test_int_x86_maskz_vsubpd256(i4 %A, <4 x double> %B, <4 x double> %C) nounwind {
-; X86-LABEL: test_int_x86_maskz_vsubpd256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vsubpd {rd-sae}, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0xf9,0xb9,0x5c,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vsubpd256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vsubpd {rd-sae}, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0xf9,0xb9,0x5c,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <4 x double> @llvm.x86.avx10.vsubpd256(<4 x double> %B, <4 x double> %C, i32 9)
- %msk = bitcast i4 %A to <4 x i1>
- %ret = select <4 x i1> %msk, <4 x double> %ret0, <4 x double> zeroinitializer
- ret <4 x double> %ret
-}
-
-declare <16 x half> @llvm.x86.avx10.vsubph256(<16 x half>, <16 x half>, i32)
-define <16 x half> @test_int_x86_vsubph256(<16 x half> %A, <16 x half> %B) nounwind {
-; CHECK-LABEL: test_int_x86_vsubph256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vsubph {rz-sae}, %ymm1, %ymm0, %ymm0 # encoding: [0x62,0xf5,0x78,0x78,0x5c,0xc1]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <16 x half> @llvm.x86.avx10.vsubph256(<16 x half> %A, <16 x half> %B, i32 11)
- ret <16 x half> %ret
-}
-
-define <16 x half> @test_int_x86_mask_vsubph256(<16 x half> %A, i16 %B, <16 x half> %C, <16 x half> %D) nounwind {
-; X86-LABEL: test_int_x86_mask_vsubph256:
-; X86: # %bb.0:
-; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vsubph {ru-sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x70,0x59,0x5c,0xc2]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vsubph256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vsubph {ru-sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x70,0x59,0x5c,0xc2]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <16 x half> @llvm.x86.avx10.vsubph256(<16 x half> %C, <16 x half> %D, i32 10)
- %msk = bitcast i16 %B to <16 x i1>
- %ret = select <16 x i1> %msk, <16 x half> %ret0, <16 x half> %A
- ret <16 x half> %ret
-}
-
-define <16 x half> @test_int_x86_maskz_vsubph256(i16 %A, <16 x half> %B, <16 x half> %C) nounwind {
-; X86-LABEL: test_int_x86_maskz_vsubph256:
-; X86: # %bb.0:
-; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vsubph {rd-sae}, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x78,0xb9,0x5c,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vsubph256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vsubph {rd-sae}, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x78,0xb9,0x5c,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <16 x half> @llvm.x86.avx10.vsubph256(<16 x half> %B, <16 x half> %C, i32 9)
- %msk = bitcast i16 %A to <16 x i1>
- %ret = select <16 x i1> %msk, <16 x half> %ret0, <16 x half> zeroinitializer
- ret <16 x half> %ret
-}
-
-declare <8 x float> @llvm.x86.avx10.vsubps256(<8 x float>, <8 x float>, i32)
-define <8 x float> @test_int_x86_vsubps256(<8 x float> %A, <8 x float> %B) nounwind {
-; CHECK-LABEL: test_int_x86_vsubps256:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vsubps {rz-sae}, %ymm1, %ymm0, %ymm0 # encoding: [0x62,0xf1,0x78,0x78,0x5c,0xc1]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <8 x float> @llvm.x86.avx10.vsubps256(<8 x float> %A, <8 x float> %B, i32 11)
- ret <8 x float> %ret
-}
-
-define <8 x float> @test_int_x86_mask_vsubps256(<8 x float> %A, i8 %B, <8 x float> %C, <8 x float> %D) nounwind {
-; X86-LABEL: test_int_x86_mask_vsubps256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vsubps {ru-sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0x70,0x59,0x5c,0xc2]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_mask_vsubps256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vsubps {ru-sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf1,0x70,0x59,0x5c,0xc2]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <8 x float> @llvm.x86.avx10.vsubps256(<8 x float> %C, <8 x float> %D, i32 10)
- %msk = bitcast i8 %B to <8 x i1>
- %ret = select <8 x i1> %msk, <8 x float> %ret0, <8 x float> %A
- ret <8 x float> %ret
-}
-
-define <8 x float> @test_int_x86_maskz_vsubps256(i8 %A, <8 x float> %B, <8 x float> %C) nounwind {
-; X86-LABEL: test_int_x86_maskz_vsubps256:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vsubps {rd-sae}, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0x78,0xb9,0x5c,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-;
-; X64-LABEL: test_int_x86_maskz_vsubps256:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vsubps {rd-sae}, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf1,0x78,0xb9,0x5c,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
- %ret0 = call <8 x float> @llvm.x86.avx10.vsubps256(<8 x float> %B, <8 x float> %C, i32 9)
- %msk = bitcast i8 %A to <8 x i1>
- %ret = select <8 x i1> %msk, <8 x float> %ret0, <8 x float> zeroinitializer
- ret <8 x float> %ret
-}
diff --git a/llvm/test/MC/Disassembler/X86/avx10_2ni-32.txt b/llvm/test/MC/Disassembler/X86/avx10_2ni-32.txt
index 912c0799d1316..cecc1edb8cb7a 100644
--- a/llvm/test/MC/Disassembler/X86/avx10_2ni-32.txt
+++ b/llvm/test/MC/Disassembler/X86/avx10_2ni-32.txt
@@ -1520,1781 +1520,3 @@
# ATT: vmpsadbw $123, -8192(%edx), %zmm3, %zmm2 {%k7} {z}
# INTEL: vmpsadbw zmm2 {k7} {z}, zmm3, zmmword ptr [edx - 8192], 123
0x62,0xf3,0x66,0xcf,0x42,0x52,0x80,0x7b
-
-# YMM Rounding
-
-# ATT: vaddpd {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vaddpd ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf1,0xe1,0x18,0x58,0xd4
-
-# ATT: vaddpd {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vaddpd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf1,0xe1,0x3f,0x58,0xd4
-
-# ATT: vaddpd {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vaddpd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf1,0xe1,0xff,0x58,0xd4
-
-# ATT: vaddph {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vaddph ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf5,0x60,0x18,0x58,0xd4
-
-# ATT: vaddph {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vaddph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf5,0x60,0x3f,0x58,0xd4
-
-# ATT: vaddph {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vaddph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf5,0x60,0xff,0x58,0xd4
-
-# ATT: vaddps {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vaddps ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf1,0x60,0x18,0x58,0xd4
-
-# ATT: vaddps {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vaddps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf1,0x60,0x3f,0x58,0xd4
-
-# ATT: vaddps {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vaddps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf1,0x60,0xff,0x58,0xd4
-
-# ATT: vcmppd $123, {sae}, %ymm4, %ymm3, %k5
-# INTEL: vcmppd k5, ymm3, ymm4, {sae}, 123
-0x62,0xf1,0xe1,0x18,0xc2,0xec,0x7b
-
-# ATT: vcmppd $123, {sae}, %ymm4, %ymm3, %k5 {%k7}
-# INTEL: vcmppd k5 {k7}, ymm3, ymm4, {sae}, 123
-0x62,0xf1,0xe1,0x1f,0xc2,0xec,0x7b
-
-# ATT: vcmpph $123, {sae}, %ymm4, %ymm3, %k5
-# INTEL: vcmpph k5, ymm3, ymm4, {sae}, 123
-0x62,0xf3,0x60,0x18,0xc2,0xec,0x7b
-
-# ATT: vcmpph $123, {sae}, %ymm4, %ymm3, %k5 {%k7}
-# INTEL: vcmpph k5 {k7}, ymm3, ymm4, {sae}, 123
-0x62,0xf3,0x60,0x1f,0xc2,0xec,0x7b
-
-# ATT: vcmpps $123, {sae}, %ymm4, %ymm3, %k5
-# INTEL: vcmpps k5, ymm3, ymm4, {sae}, 123
-0x62,0xf1,0x60,0x18,0xc2,0xec,0x7b
-
-# ATT: vcmpps $123, {sae}, %ymm4, %ymm3, %k5 {%k7}
-# INTEL: vcmpps k5 {k7}, ymm3, ymm4, {sae}, 123
-0x62,0xf1,0x60,0x1f,0xc2,0xec,0x7b
-
-# ATT: vcvtdq2ph {rn-sae}, %ymm3, %xmm2
-# INTEL: vcvtdq2ph xmm2, ymm3, {rn-sae}
-0x62,0xf5,0x78,0x18,0x5b,0xd3
-
-# ATT: vcvtdq2ph {rd-sae}, %ymm3, %xmm2 {%k7}
-# INTEL: vcvtdq2ph xmm2 {k7}, ymm3, {rd-sae}
-0x62,0xf5,0x78,0x3f,0x5b,0xd3
-
-# ATT: vcvtdq2ph {rz-sae}, %ymm3, %xmm2 {%k7} {z}
-# INTEL: vcvtdq2ph xmm2 {k7} {z}, ymm3, {rz-sae}
-0x62,0xf5,0x78,0xff,0x5b,0xd3
-
-# ATT: vcvtdq2ps {rn-sae}, %ymm3, %ymm2
-# INTEL: vcvtdq2ps ymm2, ymm3, {rn-sae}
-0x62,0xf1,0x78,0x18,0x5b,0xd3
-
-# ATT: vcvtdq2ps {rd-sae}, %ymm3, %ymm2 {%k7}
-# INTEL: vcvtdq2ps ymm2 {k7}, ymm3, {rd-sae}
-0x62,0xf1,0x78,0x3f,0x5b,0xd3
-
-# ATT: vcvtdq2ps {rz-sae}, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vcvtdq2ps ymm2 {k7} {z}, ymm3, {rz-sae}
-0x62,0xf1,0x78,0xff,0x5b,0xd3
-
-# ATT: vcvtpd2dq {rn-sae}, %ymm3, %xmm2
-# INTEL: vcvtpd2dq xmm2, ymm3, {rn-sae}
-0x62,0xf1,0xfb,0x18,0xe6,0xd3
-
-# ATT: vcvtpd2dq {rd-sae}, %ymm3, %xmm2 {%k7}
-# INTEL: vcvtpd2dq xmm2 {k7}, ymm3, {rd-sae}
-0x62,0xf1,0xfb,0x3f,0xe6,0xd3
-
-# ATT: vcvtpd2dq {rz-sae}, %ymm3, %xmm2 {%k7} {z}
-# INTEL: vcvtpd2dq xmm2 {k7} {z}, ymm3, {rz-sae}
-0x62,0xf1,0xfb,0xff,0xe6,0xd3
-
-# ATT: vcvtpd2ph {rn-sae}, %ymm3, %xmm2
-# INTEL: vcvtpd2ph xmm2, ymm3, {rn-sae}
-0x62,0xf5,0xf9,0x18,0x5a,0xd3
-
-# ATT: vcvtpd2ph {rd-sae}, %ymm3, %xmm2 {%k7}
-# INTEL: vcvtpd2ph xmm2 {k7}, ymm3, {rd-sae}
-0x62,0xf5,0xf9,0x3f,0x5a,0xd3
-
-# ATT: vcvtpd2ph {rz-sae}, %ymm3, %xmm2 {%k7} {z}
-# INTEL: vcvtpd2ph xmm2 {k7} {z}, ymm3, {rz-sae}
-0x62,0xf5,0xf9,0xff,0x5a,0xd3
-
-# ATT: vcvtpd2ps {rn-sae}, %ymm3, %xmm2
-# INTEL: vcvtpd2ps xmm2, ymm3, {rn-sae}
-0x62,0xf1,0xf9,0x18,0x5a,0xd3
-
-# ATT: vcvtpd2ps {rd-sae}, %ymm3, %xmm2 {%k7}
-# INTEL: vcvtpd2ps xmm2 {k7}, ymm3, {rd-sae}
-0x62,0xf1,0xf9,0x3f,0x5a,0xd3
-
-# ATT: vcvtpd2ps {rz-sae}, %ymm3, %xmm2 {%k7} {z}
-# INTEL: vcvtpd2ps xmm2 {k7} {z}, ymm3, {rz-sae}
-0x62,0xf1,0xf9,0xff,0x5a,0xd3
-
-# ATT: vcvtpd2qq {rn-sae}, %ymm3, %ymm2
-# INTEL: vcvtpd2qq ymm2, ymm3, {rn-sae}
-0x62,0xf1,0xf9,0x18,0x7b,0xd3
-
-# ATT: vcvtpd2qq {rd-sae}, %ymm3, %ymm2 {%k7}
-# INTEL: vcvtpd2qq ymm2 {k7}, ymm3, {rd-sae}
-0x62,0xf1,0xf9,0x3f,0x7b,0xd3
-
-# ATT: vcvtpd2qq {rz-sae}, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vcvtpd2qq ymm2 {k7} {z}, ymm3, {rz-sae}
-0x62,0xf1,0xf9,0xff,0x7b,0xd3
-
-# ATT: vcvtpd2udq {rn-sae}, %ymm3, %xmm2
-# INTEL: vcvtpd2udq xmm2, ymm3, {rn-sae}
-0x62,0xf1,0xf8,0x18,0x79,0xd3
-
-# ATT: vcvtpd2udq {rd-sae}, %ymm3, %xmm2 {%k7}
-# INTEL: vcvtpd2udq xmm2 {k7}, ymm3, {rd-sae}
-0x62,0xf1,0xf8,0x3f,0x79,0xd3
-
-# ATT: vcvtpd2udq {rz-sae}, %ymm3, %xmm2 {%k7} {z}
-# INTEL: vcvtpd2udq xmm2 {k7} {z}, ymm3, {rz-sae}
-0x62,0xf1,0xf8,0xff,0x79,0xd3
-
-# ATT: vcvtpd2uqq {rn-sae}, %ymm3, %ymm2
-# INTEL: vcvtpd2uqq ymm2, ymm3, {rn-sae}
-0x62,0xf1,0xf9,0x18,0x79,0xd3
-
-# ATT: vcvtpd2uqq {rd-sae}, %ymm3, %ymm2 {%k7}
-# INTEL: vcvtpd2uqq ymm2 {k7}, ymm3, {rd-sae}
-0x62,0xf1,0xf9,0x3f,0x79,0xd3
-
-# ATT: vcvtpd2uqq {rz-sae}, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vcvtpd2uqq ymm2 {k7} {z}, ymm3, {rz-sae}
-0x62,0xf1,0xf9,0xff,0x79,0xd3
-
-# ATT: vcvtph2dq {rn-sae}, %xmm3, %ymm2
-# INTEL: vcvtph2dq ymm2, xmm3, {rn-sae}
-0x62,0xf5,0x79,0x18,0x5b,0xd3
-
-# ATT: vcvtph2dq {rd-sae}, %xmm3, %ymm2 {%k7}
-# INTEL: vcvtph2dq ymm2 {k7}, xmm3, {rd-sae}
-0x62,0xf5,0x79,0x3f,0x5b,0xd3
-
-# ATT: vcvtph2dq {rz-sae}, %xmm3, %ymm2 {%k7} {z}
-# INTEL: vcvtph2dq ymm2 {k7} {z}, xmm3, {rz-sae}
-0x62,0xf5,0x79,0xff,0x5b,0xd3
-
-# ATT: vcvtph2pd {sae}, %xmm3, %ymm2
-# INTEL: vcvtph2pd ymm2, xmm3, {sae}
-0x62,0xf5,0x78,0x18,0x5a,0xd3
-
-# ATT: vcvtph2pd {sae}, %xmm3, %ymm2 {%k7}
-# INTEL: vcvtph2pd ymm2 {k7}, xmm3, {sae}
-0x62,0xf5,0x78,0x1f,0x5a,0xd3
-
-# ATT: vcvtph2pd {sae}, %xmm3, %ymm2 {%k7} {z}
-# INTEL: vcvtph2pd ymm2 {k7} {z}, xmm3, {sae}
-0x62,0xf5,0x78,0x9f,0x5a,0xd3
-
-# ATT: vcvtph2ps {sae}, %xmm3, %ymm2
-# INTEL: vcvtph2ps ymm2, xmm3, {sae}
-0x62,0xf2,0x79,0x18,0x13,0xd3
-
-# ATT: vcvtph2ps {sae}, %xmm3, %ymm2 {%k7}
-# INTEL: vcvtph2ps ymm2 {k7}, xmm3, {sae}
-0x62,0xf2,0x79,0x1f,0x13,0xd3
-
-# ATT: vcvtph2ps {sae}, %xmm3, %ymm2 {%k7} {z}
-# INTEL: vcvtph2ps ymm2 {k7} {z}, xmm3, {sae}
-0x62,0xf2,0x79,0x9f,0x13,0xd3
-
-# ATT: vcvtph2psx {sae}, %xmm3, %ymm2
-# INTEL: vcvtph2psx ymm2, xmm3, {sae}
-0x62,0xf6,0x79,0x18,0x13,0xd3
-
-# ATT: vcvtph2psx {sae}, %xmm3, %ymm2 {%k7}
-# INTEL: vcvtph2psx ymm2 {k7}, xmm3, {sae}
-0x62,0xf6,0x79,0x1f,0x13,0xd3
-
-# ATT: vcvtph2psx {sae}, %xmm3, %ymm2 {%k7} {z}
-# INTEL: vcvtph2psx ymm2 {k7} {z}, xmm3, {sae}
-0x62,0xf6,0x79,0x9f,0x13,0xd3
-
-# ATT: vcvtph2qq {rn-sae}, %xmm3, %ymm2
-# INTEL: vcvtph2qq ymm2, xmm3, {rn-sae}
-0x62,0xf5,0x79,0x18,0x7b,0xd3
-
-# ATT: vcvtph2qq {rd-sae}, %xmm3, %ymm2 {%k7}
-# INTEL: vcvtph2qq ymm2 {k7}, xmm3, {rd-sae}
-0x62,0xf5,0x79,0x3f,0x7b,0xd3
-
-# ATT: vcvtph2qq {rz-sae}, %xmm3, %ymm2 {%k7} {z}
-# INTEL: vcvtph2qq ymm2 {k7} {z}, xmm3, {rz-sae}
-0x62,0xf5,0x79,0xff,0x7b,0xd3
-
-# ATT: vcvtph2udq {rn-sae}, %xmm3, %ymm2
-# INTEL: vcvtph2udq ymm2, xmm3, {rn-sae}
-0x62,0xf5,0x78,0x18,0x79,0xd3
-
-# ATT: vcvtph2udq {rd-sae}, %xmm3, %ymm2 {%k7}
-# INTEL: vcvtph2udq ymm2 {k7}, xmm3, {rd-sae}
-0x62,0xf5,0x78,0x3f,0x79,0xd3
-
-# ATT: vcvtph2udq {rz-sae}, %xmm3, %ymm2 {%k7} {z}
-# INTEL: vcvtph2udq ymm2 {k7} {z}, xmm3, {rz-sae}
-0x62,0xf5,0x78,0xff,0x79,0xd3
-
-# ATT: vcvtph2uqq {rn-sae}, %xmm3, %ymm2
-# INTEL: vcvtph2uqq ymm2, xmm3, {rn-sae}
-0x62,0xf5,0x79,0x18,0x79,0xd3
-
-# ATT: vcvtph2uqq {rd-sae}, %xmm3, %ymm2 {%k7}
-# INTEL: vcvtph2uqq ymm2 {k7}, xmm3, {rd-sae}
-0x62,0xf5,0x79,0x3f,0x79,0xd3
-
-# ATT: vcvtph2uqq {rz-sae}, %xmm3, %ymm2 {%k7} {z}
-# INTEL: vcvtph2uqq ymm2 {k7} {z}, xmm3, {rz-sae}
-0x62,0xf5,0x79,0xff,0x79,0xd3
-
-# ATT: vcvtph2uw {rn-sae}, %ymm3, %ymm2
-# INTEL: vcvtph2uw ymm2, ymm3, {rn-sae}
-0x62,0xf5,0x78,0x18,0x7d,0xd3
-
-# ATT: vcvtph2uw {rd-sae}, %ymm3, %ymm2 {%k7}
-# INTEL: vcvtph2uw ymm2 {k7}, ymm3, {rd-sae}
-0x62,0xf5,0x78,0x3f,0x7d,0xd3
-
-# ATT: vcvtph2uw {rz-sae}, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vcvtph2uw ymm2 {k7} {z}, ymm3, {rz-sae}
-0x62,0xf5,0x78,0xff,0x7d,0xd3
-
-# ATT: vcvtph2w {rn-sae}, %ymm3, %ymm2
-# INTEL: vcvtph2w ymm2, ymm3, {rn-sae}
-0x62,0xf5,0x79,0x18,0x7d,0xd3
-
-# ATT: vcvtph2w {rd-sae}, %ymm3, %ymm2 {%k7}
-# INTEL: vcvtph2w ymm2 {k7}, ymm3, {rd-sae}
-0x62,0xf5,0x79,0x3f,0x7d,0xd3
-
-# ATT: vcvtph2w {rz-sae}, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vcvtph2w ymm2 {k7} {z}, ymm3, {rz-sae}
-0x62,0xf5,0x79,0xff,0x7d,0xd3
-
-# ATT: vcvtps2dq {rn-sae}, %ymm3, %ymm2
-# INTEL: vcvtps2dq ymm2, ymm3, {rn-sae}
-0x62,0xf1,0x79,0x18,0x5b,0xd3
-
-# ATT: vcvtps2dq {rd-sae}, %ymm3, %ymm2 {%k7}
-# INTEL: vcvtps2dq ymm2 {k7}, ymm3, {rd-sae}
-0x62,0xf1,0x79,0x3f,0x5b,0xd3
-
-# ATT: vcvtps2dq {rz-sae}, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vcvtps2dq ymm2 {k7} {z}, ymm3, {rz-sae}
-0x62,0xf1,0x79,0xff,0x5b,0xd3
-
-# ATT: vcvtps2pd {sae}, %xmm3, %ymm2
-# INTEL: vcvtps2pd ymm2, xmm3, {sae}
-0x62,0xf1,0x78,0x18,0x5a,0xd3
-
-# ATT: vcvtps2pd {sae}, %xmm3, %ymm2 {%k7}
-# INTEL: vcvtps2pd ymm2 {k7}, xmm3, {sae}
-0x62,0xf1,0x78,0x1f,0x5a,0xd3
-
-# ATT: vcvtps2pd {sae}, %xmm3, %ymm2 {%k7} {z}
-# INTEL: vcvtps2pd ymm2 {k7} {z}, xmm3, {sae}
-0x62,0xf1,0x78,0x9f,0x5a,0xd3
-
-# ATT: vcvtps2ph $123, {sae}, %ymm3, %xmm2
-# INTEL: vcvtps2ph xmm2, ymm3, {sae}, 123
-0x62,0xf3,0x79,0x18,0x1d,0xda,0x7b
-
-# ATT: vcvtps2ph $123, {sae}, %ymm3, %xmm2 {%k7}
-# INTEL: vcvtps2ph xmm2 {k7}, ymm3, {sae}, 123
-0x62,0xf3,0x79,0x1f,0x1d,0xda,0x7b
-
-# ATT: vcvtps2ph $123, {sae}, %ymm3, %xmm2 {%k7} {z}
-# INTEL: vcvtps2ph xmm2 {k7} {z}, ymm3, {sae}, 123
-0x62,0xf3,0x79,0x9f,0x1d,0xda,0x7b
-
-# ATT: vcvtps2phx {rn-sae}, %ymm3, %xmm2
-# INTEL: vcvtps2phx xmm2, ymm3, {rn-sae}
-0x62,0xf5,0x79,0x18,0x1d,0xd3
-
-# ATT: vcvtps2phx {rd-sae}, %ymm3, %xmm2 {%k7}
-# INTEL: vcvtps2phx xmm2 {k7}, ymm3, {rd-sae}
-0x62,0xf5,0x79,0x3f,0x1d,0xd3
-
-# ATT: vcvtps2phx {rz-sae}, %ymm3, %xmm2 {%k7} {z}
-# INTEL: vcvtps2phx xmm2 {k7} {z}, ymm3, {rz-sae}
-0x62,0xf5,0x79,0xff,0x1d,0xd3
-
-# ATT: vcvtps2qq {rn-sae}, %xmm3, %ymm2
-# INTEL: vcvtps2qq ymm2, xmm3, {rn-sae}
-0x62,0xf1,0x79,0x18,0x7b,0xd3
-
-# ATT: vcvtps2qq {rd-sae}, %xmm3, %ymm2 {%k7}
-# INTEL: vcvtps2qq ymm2 {k7}, xmm3, {rd-sae}
-0x62,0xf1,0x79,0x3f,0x7b,0xd3
-
-# ATT: vcvtps2qq {rz-sae}, %xmm3, %ymm2 {%k7} {z}
-# INTEL: vcvtps2qq ymm2 {k7} {z}, xmm3, {rz-sae}
-0x62,0xf1,0x79,0xff,0x7b,0xd3
-
-# ATT: vcvtps2udq {rn-sae}, %ymm3, %ymm2
-# INTEL: vcvtps2udq ymm2, ymm3, {rn-sae}
-0x62,0xf1,0x78,0x18,0x79,0xd3
-
-# ATT: vcvtps2udq {rd-sae}, %ymm3, %ymm2 {%k7}
-# INTEL: vcvtps2udq ymm2 {k7}, ymm3, {rd-sae}
-0x62,0xf1,0x78,0x3f,0x79,0xd3
-
-# ATT: vcvtps2udq {rz-sae}, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vcvtps2udq ymm2 {k7} {z}, ymm3, {rz-sae}
-0x62,0xf1,0x78,0xff,0x79,0xd3
-
-# ATT: vcvtps2uqq {rn-sae}, %xmm3, %ymm2
-# INTEL: vcvtps2uqq ymm2, xmm3, {rn-sae}
-0x62,0xf1,0x79,0x18,0x79,0xd3
-
-# ATT: vcvtps2uqq {rd-sae}, %xmm3, %ymm2 {%k7}
-# INTEL: vcvtps2uqq ymm2 {k7}, xmm3, {rd-sae}
-0x62,0xf1,0x79,0x3f,0x79,0xd3
-
-# ATT: vcvtps2uqq {rz-sae}, %xmm3, %ymm2 {%k7} {z}
-# INTEL: vcvtps2uqq ymm2 {k7} {z}, xmm3, {rz-sae}
-0x62,0xf1,0x79,0xff,0x79,0xd3
-
-# ATT: vcvtqq2pd {rn-sae}, %ymm3, %ymm2
-# INTEL: vcvtqq2pd ymm2, ymm3, {rn-sae}
-0x62,0xf1,0xfa,0x18,0xe6,0xd3
-
-# ATT: vcvtqq2pd {rd-sae}, %ymm3, %ymm2 {%k7}
-# INTEL: vcvtqq2pd ymm2 {k7}, ymm3, {rd-sae}
-0x62,0xf1,0xfa,0x3f,0xe6,0xd3
-
-# ATT: vcvtqq2pd {rz-sae}, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vcvtqq2pd ymm2 {k7} {z}, ymm3, {rz-sae}
-0x62,0xf1,0xfa,0xff,0xe6,0xd3
-
-# ATT: vcvtqq2ph {rn-sae}, %ymm3, %xmm2
-# INTEL: vcvtqq2ph xmm2, ymm3, {rn-sae}
-0x62,0xf5,0xf8,0x18,0x5b,0xd3
-
-# ATT: vcvtqq2ph {rd-sae}, %ymm3, %xmm2 {%k7}
-# INTEL: vcvtqq2ph xmm2 {k7}, ymm3, {rd-sae}
-0x62,0xf5,0xf8,0x3f,0x5b,0xd3
-
-# ATT: vcvtqq2ph {rz-sae}, %ymm3, %xmm2 {%k7} {z}
-# INTEL: vcvtqq2ph xmm2 {k7} {z}, ymm3, {rz-sae}
-0x62,0xf5,0xf8,0xff,0x5b,0xd3
-
-# ATT: vcvtqq2ps {rn-sae}, %ymm3, %xmm2
-# INTEL: vcvtqq2ps xmm2, ymm3, {rn-sae}
-0x62,0xf1,0xf8,0x18,0x5b,0xd3
-
-# ATT: vcvtqq2ps {rd-sae}, %ymm3, %xmm2 {%k7}
-# INTEL: vcvtqq2ps xmm2 {k7}, ymm3, {rd-sae}
-0x62,0xf1,0xf8,0x3f,0x5b,0xd3
-
-# ATT: vcvtqq2ps {rz-sae}, %ymm3, %xmm2 {%k7} {z}
-# INTEL: vcvtqq2ps xmm2 {k7} {z}, ymm3, {rz-sae}
-0x62,0xf1,0xf8,0xff,0x5b,0xd3
-
-# ATT: vcvttpd2dq {sae}, %ymm3, %xmm2
-# INTEL: vcvttpd2dq xmm2, ymm3, {sae}
-0x62,0xf1,0xf9,0x18,0xe6,0xd3
-
-# ATT: vcvttpd2dq {sae}, %ymm3, %xmm2 {%k7}
-# INTEL: vcvttpd2dq xmm2 {k7}, ymm3, {sae}
-0x62,0xf1,0xf9,0x1f,0xe6,0xd3
-
-# ATT: vcvttpd2dq {sae}, %ymm3, %xmm2 {%k7} {z}
-# INTEL: vcvttpd2dq xmm2 {k7} {z}, ymm3, {sae}
-0x62,0xf1,0xf9,0x9f,0xe6,0xd3
-
-# ATT: vcvttpd2qq {sae}, %ymm3, %ymm2
-# INTEL: vcvttpd2qq ymm2, ymm3, {sae}
-0x62,0xf1,0xf9,0x18,0x7a,0xd3
-
-# ATT: vcvttpd2qq {sae}, %ymm3, %ymm2 {%k7}
-# INTEL: vcvttpd2qq ymm2 {k7}, ymm3, {sae}
-0x62,0xf1,0xf9,0x1f,0x7a,0xd3
-
-# ATT: vcvttpd2qq {sae}, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vcvttpd2qq ymm2 {k7} {z}, ymm3, {sae}
-0x62,0xf1,0xf9,0x9f,0x7a,0xd3
-
-# ATT: vcvttpd2udq {sae}, %ymm3, %xmm2
-# INTEL: vcvttpd2udq xmm2, ymm3, {sae}
-0x62,0xf1,0xf8,0x18,0x78,0xd3
-
-# ATT: vcvttpd2udq {sae}, %ymm3, %xmm2 {%k7}
-# INTEL: vcvttpd2udq xmm2 {k7}, ymm3, {sae}
-0x62,0xf1,0xf8,0x1f,0x78,0xd3
-
-# ATT: vcvttpd2udq {sae}, %ymm3, %xmm2 {%k7} {z}
-# INTEL: vcvttpd2udq xmm2 {k7} {z}, ymm3, {sae}
-0x62,0xf1,0xf8,0x9f,0x78,0xd3
-
-# ATT: vcvttpd2uqq {sae}, %ymm3, %ymm2
-# INTEL: vcvttpd2uqq ymm2, ymm3, {sae}
-0x62,0xf1,0xf9,0x18,0x78,0xd3
-
-# ATT: vcvttpd2uqq {sae}, %ymm3, %ymm2 {%k7}
-# INTEL: vcvttpd2uqq ymm2 {k7}, ymm3, {sae}
-0x62,0xf1,0xf9,0x1f,0x78,0xd3
-
-# ATT: vcvttpd2uqq {sae}, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vcvttpd2uqq ymm2 {k7} {z}, ymm3, {sae}
-0x62,0xf1,0xf9,0x9f,0x78,0xd3
-
-# ATT: vcvttph2dq {sae}, %xmm3, %ymm2
-# INTEL: vcvttph2dq ymm2, xmm3, {sae}
-0x62,0xf5,0x7a,0x18,0x5b,0xd3
-
-# ATT: vcvttph2dq {sae}, %xmm3, %ymm2 {%k7}
-# INTEL: vcvttph2dq ymm2 {k7}, xmm3, {sae}
-0x62,0xf5,0x7a,0x1f,0x5b,0xd3
-
-# ATT: vcvttph2dq {sae}, %xmm3, %ymm2 {%k7} {z}
-# INTEL: vcvttph2dq ymm2 {k7} {z}, xmm3, {sae}
-0x62,0xf5,0x7a,0x9f,0x5b,0xd3
-
-# ATT: vcvttph2qq {sae}, %xmm3, %ymm2
-# INTEL: vcvttph2qq ymm2, xmm3, {sae}
-0x62,0xf5,0x79,0x18,0x7a,0xd3
-
-# ATT: vcvttph2qq {sae}, %xmm3, %ymm2 {%k7}
-# INTEL: vcvttph2qq ymm2 {k7}, xmm3, {sae}
-0x62,0xf5,0x79,0x1f,0x7a,0xd3
-
-# ATT: vcvttph2qq {sae}, %xmm3, %ymm2 {%k7} {z}
-# INTEL: vcvttph2qq ymm2 {k7} {z}, xmm3, {sae}
-0x62,0xf5,0x79,0x9f,0x7a,0xd3
-
-# ATT: vcvttph2udq {sae}, %xmm3, %ymm2
-# INTEL: vcvttph2udq ymm2, xmm3, {sae}
-0x62,0xf5,0x78,0x18,0x78,0xd3
-
-# ATT: vcvttph2udq {sae}, %xmm3, %ymm2 {%k7}
-# INTEL: vcvttph2udq ymm2 {k7}, xmm3, {sae}
-0x62,0xf5,0x78,0x1f,0x78,0xd3
-
-# ATT: vcvttph2udq {sae}, %xmm3, %ymm2 {%k7} {z}
-# INTEL: vcvttph2udq ymm2 {k7} {z}, xmm3, {sae}
-0x62,0xf5,0x78,0x9f,0x78,0xd3
-
-# ATT: vcvttph2uqq {sae}, %xmm3, %ymm2
-# INTEL: vcvttph2uqq ymm2, xmm3, {sae}
-0x62,0xf5,0x79,0x18,0x78,0xd3
-
-# ATT: vcvttph2uqq {sae}, %xmm3, %ymm2 {%k7}
-# INTEL: vcvttph2uqq ymm2 {k7}, xmm3, {sae}
-0x62,0xf5,0x79,0x1f,0x78,0xd3
-
-# ATT: vcvttph2uqq {sae}, %xmm3, %ymm2 {%k7} {z}
-# INTEL: vcvttph2uqq ymm2 {k7} {z}, xmm3, {sae}
-0x62,0xf5,0x79,0x9f,0x78,0xd3
-
-# ATT: vcvttph2uw {sae}, %ymm3, %ymm2
-# INTEL: vcvttph2uw ymm2, ymm3, {sae}
-0x62,0xf5,0x78,0x18,0x7c,0xd3
-
-# ATT: vcvttph2uw {sae}, %ymm3, %ymm2 {%k7}
-# INTEL: vcvttph2uw ymm2 {k7}, ymm3, {sae}
-0x62,0xf5,0x78,0x1f,0x7c,0xd3
-
-# ATT: vcvttph2uw {sae}, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vcvttph2uw ymm2 {k7} {z}, ymm3, {sae}
-0x62,0xf5,0x78,0x9f,0x7c,0xd3
-
-# ATT: vcvttph2w {sae}, %ymm3, %ymm2
-# INTEL: vcvttph2w ymm2, ymm3, {sae}
-0x62,0xf5,0x79,0x18,0x7c,0xd3
-
-# ATT: vcvttph2w {sae}, %ymm3, %ymm2 {%k7}
-# INTEL: vcvttph2w ymm2 {k7}, ymm3, {sae}
-0x62,0xf5,0x79,0x1f,0x7c,0xd3
-
-# ATT: vcvttph2w {sae}, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vcvttph2w ymm2 {k7} {z}, ymm3, {sae}
-0x62,0xf5,0x79,0x9f,0x7c,0xd3
-
-# ATT: vcvttps2dq {sae}, %ymm3, %ymm2
-# INTEL: vcvttps2dq ymm2, ymm3, {sae}
-0x62,0xf1,0x7a,0x18,0x5b,0xd3
-
-# ATT: vcvttps2dq {sae}, %ymm3, %ymm2 {%k7}
-# INTEL: vcvttps2dq ymm2 {k7}, ymm3, {sae}
-0x62,0xf1,0x7a,0x1f,0x5b,0xd3
-
-# ATT: vcvttps2dq {sae}, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vcvttps2dq ymm2 {k7} {z}, ymm3, {sae}
-0x62,0xf1,0x7a,0x9f,0x5b,0xd3
-
-# ATT: vcvttps2qq {sae}, %xmm3, %ymm2
-# INTEL: vcvttps2qq ymm2, xmm3, {sae}
-0x62,0xf1,0x79,0x18,0x7a,0xd3
-
-# ATT: vcvttps2qq {sae}, %xmm3, %ymm2 {%k7}
-# INTEL: vcvttps2qq ymm2 {k7}, xmm3, {sae}
-0x62,0xf1,0x79,0x1f,0x7a,0xd3
-
-# ATT: vcvttps2qq {sae}, %xmm3, %ymm2 {%k7} {z}
-# INTEL: vcvttps2qq ymm2 {k7} {z}, xmm3, {sae}
-0x62,0xf1,0x79,0x9f,0x7a,0xd3
-
-# ATT: vcvttps2udq {sae}, %ymm3, %ymm2
-# INTEL: vcvttps2udq ymm2, ymm3, {sae}
-0x62,0xf1,0x78,0x18,0x78,0xd3
-
-# ATT: vcvttps2udq {sae}, %ymm3, %ymm2 {%k7}
-# INTEL: vcvttps2udq ymm2 {k7}, ymm3, {sae}
-0x62,0xf1,0x78,0x1f,0x78,0xd3
-
-# ATT: vcvttps2udq {sae}, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vcvttps2udq ymm2 {k7} {z}, ymm3, {sae}
-0x62,0xf1,0x78,0x9f,0x78,0xd3
-
-# ATT: vcvttps2uqq {sae}, %xmm3, %ymm2
-# INTEL: vcvttps2uqq ymm2, xmm3, {sae}
-0x62,0xf1,0x79,0x18,0x78,0xd3
-
-# ATT: vcvttps2uqq {sae}, %xmm3, %ymm2 {%k7}
-# INTEL: vcvttps2uqq ymm2 {k7}, xmm3, {sae}
-0x62,0xf1,0x79,0x1f,0x78,0xd3
-
-# ATT: vcvttps2uqq {sae}, %xmm3, %ymm2 {%k7} {z}
-# INTEL: vcvttps2uqq ymm2 {k7} {z}, xmm3, {sae}
-0x62,0xf1,0x79,0x9f,0x78,0xd3
-
-# ATT: vcvtudq2ph {rn-sae}, %ymm3, %xmm2
-# INTEL: vcvtudq2ph xmm2, ymm3, {rn-sae}
-0x62,0xf5,0x7b,0x18,0x7a,0xd3
-
-# ATT: vcvtudq2ph {rd-sae}, %ymm3, %xmm2 {%k7}
-# INTEL: vcvtudq2ph xmm2 {k7}, ymm3, {rd-sae}
-0x62,0xf5,0x7b,0x3f,0x7a,0xd3
-
-# ATT: vcvtudq2ph {rz-sae}, %ymm3, %xmm2 {%k7} {z}
-# INTEL: vcvtudq2ph xmm2 {k7} {z}, ymm3, {rz-sae}
-0x62,0xf5,0x7b,0xff,0x7a,0xd3
-
-# ATT: vcvtudq2ps {rn-sae}, %ymm3, %ymm2
-# INTEL: vcvtudq2ps ymm2, ymm3, {rn-sae}
-0x62,0xf1,0x7b,0x18,0x7a,0xd3
-
-# ATT: vcvtudq2ps {rd-sae}, %ymm3, %ymm2 {%k7}
-# INTEL: vcvtudq2ps ymm2 {k7}, ymm3, {rd-sae}
-0x62,0xf1,0x7b,0x3f,0x7a,0xd3
-
-# ATT: vcvtudq2ps {rz-sae}, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vcvtudq2ps ymm2 {k7} {z}, ymm3, {rz-sae}
-0x62,0xf1,0x7b,0xff,0x7a,0xd3
-
-# ATT: vcvtuqq2pd {rn-sae}, %ymm3, %ymm2
-# INTEL: vcvtuqq2pd ymm2, ymm3, {rn-sae}
-0x62,0xf1,0xfa,0x18,0x7a,0xd3
-
-# ATT: vcvtuqq2pd {rd-sae}, %ymm3, %ymm2 {%k7}
-# INTEL: vcvtuqq2pd ymm2 {k7}, ymm3, {rd-sae}
-0x62,0xf1,0xfa,0x3f,0x7a,0xd3
-
-# ATT: vcvtuqq2pd {rz-sae}, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vcvtuqq2pd ymm2 {k7} {z}, ymm3, {rz-sae}
-0x62,0xf1,0xfa,0xff,0x7a,0xd3
-
-# ATT: vcvtuqq2ph {rn-sae}, %ymm3, %xmm2
-# INTEL: vcvtuqq2ph xmm2, ymm3, {rn-sae}
-0x62,0xf5,0xfb,0x18,0x7a,0xd3
-
-# ATT: vcvtuqq2ph {rd-sae}, %ymm3, %xmm2 {%k7}
-# INTEL: vcvtuqq2ph xmm2 {k7}, ymm3, {rd-sae}
-0x62,0xf5,0xfb,0x3f,0x7a,0xd3
-
-# ATT: vcvtuqq2ph {rz-sae}, %ymm3, %xmm2 {%k7} {z}
-# INTEL: vcvtuqq2ph xmm2 {k7} {z}, ymm3, {rz-sae}
-0x62,0xf5,0xfb,0xff,0x7a,0xd3
-
-# ATT: vcvtuqq2ps {rn-sae}, %ymm3, %xmm2
-# INTEL: vcvtuqq2ps xmm2, ymm3, {rn-sae}
-0x62,0xf1,0xfb,0x18,0x7a,0xd3
-
-# ATT: vcvtuqq2ps {rd-sae}, %ymm3, %xmm2 {%k7}
-# INTEL: vcvtuqq2ps xmm2 {k7}, ymm3, {rd-sae}
-0x62,0xf1,0xfb,0x3f,0x7a,0xd3
-
-# ATT: vcvtuqq2ps {rz-sae}, %ymm3, %xmm2 {%k7} {z}
-# INTEL: vcvtuqq2ps xmm2 {k7} {z}, ymm3, {rz-sae}
-0x62,0xf1,0xfb,0xff,0x7a,0xd3
-
-# ATT: vcvtuw2ph {rn-sae}, %ymm3, %ymm2
-# INTEL: vcvtuw2ph ymm2, ymm3, {rn-sae}
-0x62,0xf5,0x7b,0x18,0x7d,0xd3
-
-# ATT: vcvtuw2ph {rd-sae}, %ymm3, %ymm2 {%k7}
-# INTEL: vcvtuw2ph ymm2 {k7}, ymm3, {rd-sae}
-0x62,0xf5,0x7b,0x3f,0x7d,0xd3
-
-# ATT: vcvtuw2ph {rz-sae}, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vcvtuw2ph ymm2 {k7} {z}, ymm3, {rz-sae}
-0x62,0xf5,0x7b,0xff,0x7d,0xd3
-
-# ATT: vcvtw2ph {rn-sae}, %ymm3, %ymm2
-# INTEL: vcvtw2ph ymm2, ymm3, {rn-sae}
-0x62,0xf5,0x7a,0x18,0x7d,0xd3
-
-# ATT: vcvtw2ph {rd-sae}, %ymm3, %ymm2 {%k7}
-# INTEL: vcvtw2ph ymm2 {k7}, ymm3, {rd-sae}
-0x62,0xf5,0x7a,0x3f,0x7d,0xd3
-
-# ATT: vcvtw2ph {rz-sae}, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vcvtw2ph ymm2 {k7} {z}, ymm3, {rz-sae}
-0x62,0xf5,0x7a,0xff,0x7d,0xd3
-
-# ATT: vdivpd {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vdivpd ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf1,0xe1,0x18,0x5e,0xd4
-
-# ATT: vdivpd {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vdivpd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf1,0xe1,0x3f,0x5e,0xd4
-
-# ATT: vdivpd {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vdivpd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf1,0xe1,0xff,0x5e,0xd4
-
-# ATT: vdivph {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vdivph ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf5,0x60,0x18,0x5e,0xd4
-
-# ATT: vdivph {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vdivph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf5,0x60,0x3f,0x5e,0xd4
-
-# ATT: vdivph {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vdivph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf5,0x60,0xff,0x5e,0xd4
-
-# ATT: vdivps {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vdivps ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf1,0x60,0x18,0x5e,0xd4
-
-# ATT: vdivps {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vdivps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf1,0x60,0x3f,0x5e,0xd4
-
-# ATT: vdivps {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vdivps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf1,0x60,0xff,0x5e,0xd4
-
-# ATT: vfcmaddcph {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfcmaddcph ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf6,0x63,0x18,0x56,0xd4
-
-# ATT: vfcmaddcph {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfcmaddcph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf6,0x63,0x3f,0x56,0xd4
-
-# ATT: vfcmaddcph {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfcmaddcph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf6,0x63,0xff,0x56,0xd4
-
-# ATT: vfcmulcph {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfcmulcph ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf6,0x63,0x18,0xd6,0xd4
-
-# ATT: vfcmulcph {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfcmulcph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf6,0x63,0x3f,0xd6,0xd4
-
-# ATT: vfcmulcph {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfcmulcph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf6,0x63,0xff,0xd6,0xd4
-
-# ATT: vfixupimmpd $123, {sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfixupimmpd ymm2, ymm3, ymm4, {sae}, 123
-0x62,0xf3,0xe1,0x18,0x54,0xd4,0x7b
-
-# ATT: vfixupimmpd $123, {sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfixupimmpd ymm2 {k7}, ymm3, ymm4, {sae}, 123
-0x62,0xf3,0xe1,0x1f,0x54,0xd4,0x7b
-
-# ATT: vfixupimmpd $123, {sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfixupimmpd ymm2 {k7} {z}, ymm3, ymm4, {sae}, 123
-0x62,0xf3,0xe1,0x9f,0x54,0xd4,0x7b
-
-# ATT: vfixupimmps $123, {sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfixupimmps ymm2, ymm3, ymm4, {sae}, 123
-0x62,0xf3,0x61,0x18,0x54,0xd4,0x7b
-
-# ATT: vfixupimmps $123, {sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfixupimmps ymm2 {k7}, ymm3, ymm4, {sae}, 123
-0x62,0xf3,0x61,0x1f,0x54,0xd4,0x7b
-
-# ATT: vfixupimmps $123, {sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfixupimmps ymm2 {k7} {z}, ymm3, ymm4, {sae}, 123
-0x62,0xf3,0x61,0x9f,0x54,0xd4,0x7b
-
-# ATT: vfmadd132pd {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfmadd132pd ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf2,0xe1,0x18,0x98,0xd4
-
-# ATT: vfmadd132pd {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfmadd132pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf2,0xe1,0x3f,0x98,0xd4
-
-# ATT: vfmadd132pd {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfmadd132pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf2,0xe1,0xff,0x98,0xd4
-
-# ATT: vfmadd132ph {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfmadd132ph ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf6,0x61,0x18,0x98,0xd4
-
-# ATT: vfmadd132ph {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfmadd132ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf6,0x61,0x3f,0x98,0xd4
-
-# ATT: vfmadd132ph {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfmadd132ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf6,0x61,0xff,0x98,0xd4
-
-# ATT: vfmadd132ps {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfmadd132ps ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf2,0x61,0x18,0x98,0xd4
-
-# ATT: vfmadd132ps {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfmadd132ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf2,0x61,0x3f,0x98,0xd4
-
-# ATT: vfmadd132ps {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfmadd132ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf2,0x61,0xff,0x98,0xd4
-
-# ATT: vfmadd213pd {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfmadd213pd ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf2,0xe1,0x18,0xa8,0xd4
-
-# ATT: vfmadd213pd {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfmadd213pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf2,0xe1,0x3f,0xa8,0xd4
-
-# ATT: vfmadd213pd {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfmadd213pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf2,0xe1,0xff,0xa8,0xd4
-
-# ATT: vfmadd213ph {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfmadd213ph ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf6,0x61,0x18,0xa8,0xd4
-
-# ATT: vfmadd213ph {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfmadd213ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf6,0x61,0x3f,0xa8,0xd4
-
-# ATT: vfmadd213ph {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfmadd213ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf6,0x61,0xff,0xa8,0xd4
-
-# ATT: vfmadd213ps {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfmadd213ps ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf2,0x61,0x18,0xa8,0xd4
-
-# ATT: vfmadd213ps {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfmadd213ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf2,0x61,0x3f,0xa8,0xd4
-
-# ATT: vfmadd213ps {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfmadd213ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf2,0x61,0xff,0xa8,0xd4
-
-# ATT: vfmadd231pd {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfmadd231pd ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf2,0xe1,0x18,0xb8,0xd4
-
-# ATT: vfmadd231pd {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfmadd231pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf2,0xe1,0x3f,0xb8,0xd4
-
-# ATT: vfmadd231pd {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfmadd231pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf2,0xe1,0xff,0xb8,0xd4
-
-# ATT: vfmadd231ph {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfmadd231ph ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf6,0x61,0x18,0xb8,0xd4
-
-# ATT: vfmadd231ph {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfmadd231ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf6,0x61,0x3f,0xb8,0xd4
-
-# ATT: vfmadd231ph {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfmadd231ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf6,0x61,0xff,0xb8,0xd4
-
-# ATT: vfmadd231ps {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfmadd231ps ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf2,0x61,0x18,0xb8,0xd4
-
-# ATT: vfmadd231ps {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfmadd231ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf2,0x61,0x3f,0xb8,0xd4
-
-# ATT: vfmadd231ps {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfmadd231ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf2,0x61,0xff,0xb8,0xd4
-
-# ATT: vfmaddcph {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfmaddcph ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf6,0x62,0x18,0x56,0xd4
-
-# ATT: vfmaddcph {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfmaddcph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf6,0x62,0x3f,0x56,0xd4
-
-# ATT: vfmaddcph {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfmaddcph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf6,0x62,0xff,0x56,0xd4
-
-# ATT: vfmaddsub132pd {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfmaddsub132pd ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf2,0xe1,0x18,0x96,0xd4
-
-# ATT: vfmaddsub132pd {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfmaddsub132pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf2,0xe1,0x3f,0x96,0xd4
-
-# ATT: vfmaddsub132pd {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfmaddsub132pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf2,0xe1,0xff,0x96,0xd4
-
-# ATT: vfmaddsub132ph {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfmaddsub132ph ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf6,0x61,0x18,0x96,0xd4
-
-# ATT: vfmaddsub132ph {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfmaddsub132ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf6,0x61,0x3f,0x96,0xd4
-
-# ATT: vfmaddsub132ph {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfmaddsub132ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf6,0x61,0xff,0x96,0xd4
-
-# ATT: vfmaddsub132ps {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfmaddsub132ps ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf2,0x61,0x18,0x96,0xd4
-
-# ATT: vfmaddsub132ps {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfmaddsub132ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf2,0x61,0x3f,0x96,0xd4
-
-# ATT: vfmaddsub132ps {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfmaddsub132ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf2,0x61,0xff,0x96,0xd4
-
-# ATT: vfmaddsub213pd {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfmaddsub213pd ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf2,0xe1,0x18,0xa6,0xd4
-
-# ATT: vfmaddsub213pd {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfmaddsub213pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf2,0xe1,0x3f,0xa6,0xd4
-
-# ATT: vfmaddsub213pd {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfmaddsub213pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf2,0xe1,0xff,0xa6,0xd4
-
-# ATT: vfmaddsub213ph {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfmaddsub213ph ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf6,0x61,0x18,0xa6,0xd4
-
-# ATT: vfmaddsub213ph {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfmaddsub213ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf6,0x61,0x3f,0xa6,0xd4
-
-# ATT: vfmaddsub213ph {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfmaddsub213ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf6,0x61,0xff,0xa6,0xd4
-
-# ATT: vfmaddsub213ps {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfmaddsub213ps ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf2,0x61,0x18,0xa6,0xd4
-
-# ATT: vfmaddsub213ps {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfmaddsub213ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf2,0x61,0x3f,0xa6,0xd4
-
-# ATT: vfmaddsub213ps {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfmaddsub213ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf2,0x61,0xff,0xa6,0xd4
-
-# ATT: vfmaddsub231pd {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfmaddsub231pd ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf2,0xe1,0x18,0xb6,0xd4
-
-# ATT: vfmaddsub231pd {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfmaddsub231pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf2,0xe1,0x3f,0xb6,0xd4
-
-# ATT: vfmaddsub231pd {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfmaddsub231pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf2,0xe1,0xff,0xb6,0xd4
-
-# ATT: vfmaddsub231ph {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfmaddsub231ph ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf6,0x61,0x18,0xb6,0xd4
-
-# ATT: vfmaddsub231ph {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfmaddsub231ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf6,0x61,0x3f,0xb6,0xd4
-
-# ATT: vfmaddsub231ph {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfmaddsub231ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf6,0x61,0xff,0xb6,0xd4
-
-# ATT: vfmaddsub231ps {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfmaddsub231ps ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf2,0x61,0x18,0xb6,0xd4
-
-# ATT: vfmaddsub231ps {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfmaddsub231ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf2,0x61,0x3f,0xb6,0xd4
-
-# ATT: vfmaddsub231ps {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfmaddsub231ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf2,0x61,0xff,0xb6,0xd4
-
-# ATT: vfmsub132pd {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfmsub132pd ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf2,0xe1,0x18,0x9a,0xd4
-
-# ATT: vfmsub132pd {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfmsub132pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf2,0xe1,0x3f,0x9a,0xd4
-
-# ATT: vfmsub132pd {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfmsub132pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf2,0xe1,0xff,0x9a,0xd4
-
-# ATT: vfmsub132ph {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfmsub132ph ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf6,0x61,0x18,0x9a,0xd4
-
-# ATT: vfmsub132ph {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfmsub132ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf6,0x61,0x3f,0x9a,0xd4
-
-# ATT: vfmsub132ph {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfmsub132ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf6,0x61,0xff,0x9a,0xd4
-
-# ATT: vfmsub132ps {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfmsub132ps ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf2,0x61,0x18,0x9a,0xd4
-
-# ATT: vfmsub132ps {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfmsub132ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf2,0x61,0x3f,0x9a,0xd4
-
-# ATT: vfmsub132ps {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfmsub132ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf2,0x61,0xff,0x9a,0xd4
-
-# ATT: vfmsub213pd {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfmsub213pd ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf2,0xe1,0x18,0xaa,0xd4
-
-# ATT: vfmsub213pd {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfmsub213pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf2,0xe1,0x3f,0xaa,0xd4
-
-# ATT: vfmsub213pd {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfmsub213pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf2,0xe1,0xff,0xaa,0xd4
-
-# ATT: vfmsub213ph {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfmsub213ph ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf6,0x61,0x18,0xaa,0xd4
-
-# ATT: vfmsub213ph {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfmsub213ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf6,0x61,0x3f,0xaa,0xd4
-
-# ATT: vfmsub213ph {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfmsub213ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf6,0x61,0xff,0xaa,0xd4
-
-# ATT: vfmsub213ps {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfmsub213ps ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf2,0x61,0x18,0xaa,0xd4
-
-# ATT: vfmsub213ps {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfmsub213ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf2,0x61,0x3f,0xaa,0xd4
-
-# ATT: vfmsub213ps {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfmsub213ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf2,0x61,0xff,0xaa,0xd4
-
-# ATT: vfmsub231pd {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfmsub231pd ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf2,0xe1,0x18,0xba,0xd4
-
-# ATT: vfmsub231pd {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfmsub231pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf2,0xe1,0x3f,0xba,0xd4
-
-# ATT: vfmsub231pd {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfmsub231pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf2,0xe1,0xff,0xba,0xd4
-
-# ATT: vfmsub231ph {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfmsub231ph ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf6,0x61,0x18,0xba,0xd4
-
-# ATT: vfmsub231ph {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfmsub231ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf6,0x61,0x3f,0xba,0xd4
-
-# ATT: vfmsub231ph {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfmsub231ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf6,0x61,0xff,0xba,0xd4
-
-# ATT: vfmsub231ps {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfmsub231ps ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf2,0x61,0x18,0xba,0xd4
-
-# ATT: vfmsub231ps {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfmsub231ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf2,0x61,0x3f,0xba,0xd4
-
-# ATT: vfmsub231ps {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfmsub231ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf2,0x61,0xff,0xba,0xd4
-
-# ATT: vfmsubadd132pd {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfmsubadd132pd ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf2,0xe1,0x18,0x97,0xd4
-
-# ATT: vfmsubadd132pd {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfmsubadd132pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf2,0xe1,0x3f,0x97,0xd4
-
-# ATT: vfmsubadd132pd {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfmsubadd132pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf2,0xe1,0xff,0x97,0xd4
-
-# ATT: vfmsubadd132ph {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfmsubadd132ph ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf6,0x61,0x18,0x97,0xd4
-
-# ATT: vfmsubadd132ph {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfmsubadd132ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf6,0x61,0x3f,0x97,0xd4
-
-# ATT: vfmsubadd132ph {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfmsubadd132ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf6,0x61,0xff,0x97,0xd4
-
-# ATT: vfmsubadd132ps {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfmsubadd132ps ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf2,0x61,0x18,0x97,0xd4
-
-# ATT: vfmsubadd132ps {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfmsubadd132ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf2,0x61,0x3f,0x97,0xd4
-
-# ATT: vfmsubadd132ps {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfmsubadd132ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf2,0x61,0xff,0x97,0xd4
-
-# ATT: vfmsubadd213pd {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfmsubadd213pd ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf2,0xe1,0x18,0xa7,0xd4
-
-# ATT: vfmsubadd213pd {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfmsubadd213pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf2,0xe1,0x3f,0xa7,0xd4
-
-# ATT: vfmsubadd213pd {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfmsubadd213pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf2,0xe1,0xff,0xa7,0xd4
-
-# ATT: vfmsubadd213ph {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfmsubadd213ph ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf6,0x61,0x18,0xa7,0xd4
-
-# ATT: vfmsubadd213ph {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfmsubadd213ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf6,0x61,0x3f,0xa7,0xd4
-
-# ATT: vfmsubadd213ph {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfmsubadd213ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf6,0x61,0xff,0xa7,0xd4
-
-# ATT: vfmsubadd213ps {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfmsubadd213ps ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf2,0x61,0x18,0xa7,0xd4
-
-# ATT: vfmsubadd213ps {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfmsubadd213ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf2,0x61,0x3f,0xa7,0xd4
-
-# ATT: vfmsubadd213ps {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfmsubadd213ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf2,0x61,0xff,0xa7,0xd4
-
-# ATT: vfmsubadd231pd {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfmsubadd231pd ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf2,0xe1,0x18,0xb7,0xd4
-
-# ATT: vfmsubadd231pd {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfmsubadd231pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf2,0xe1,0x3f,0xb7,0xd4
-
-# ATT: vfmsubadd231pd {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfmsubadd231pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf2,0xe1,0xff,0xb7,0xd4
-
-# ATT: vfmsubadd231ph {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfmsubadd231ph ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf6,0x61,0x18,0xb7,0xd4
-
-# ATT: vfmsubadd231ph {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfmsubadd231ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf6,0x61,0x3f,0xb7,0xd4
-
-# ATT: vfmsubadd231ph {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfmsubadd231ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf6,0x61,0xff,0xb7,0xd4
-
-# ATT: vfmsubadd231ps {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfmsubadd231ps ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf2,0x61,0x18,0xb7,0xd4
-
-# ATT: vfmsubadd231ps {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfmsubadd231ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf2,0x61,0x3f,0xb7,0xd4
-
-# ATT: vfmsubadd231ps {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfmsubadd231ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf2,0x61,0xff,0xb7,0xd4
-
-# ATT: vfmulcph {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfmulcph ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf6,0x62,0x18,0xd6,0xd4
-
-# ATT: vfmulcph {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfmulcph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf6,0x62,0x3f,0xd6,0xd4
-
-# ATT: vfmulcph {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfmulcph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf6,0x62,0xff,0xd6,0xd4
-
-# ATT: vfnmadd132pd {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfnmadd132pd ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf2,0xe1,0x18,0x9c,0xd4
-
-# ATT: vfnmadd132pd {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfnmadd132pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf2,0xe1,0x3f,0x9c,0xd4
-
-# ATT: vfnmadd132pd {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfnmadd132pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf2,0xe1,0xff,0x9c,0xd4
-
-# ATT: vfnmadd132ph {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfnmadd132ph ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf6,0x61,0x18,0x9c,0xd4
-
-# ATT: vfnmadd132ph {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfnmadd132ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf6,0x61,0x3f,0x9c,0xd4
-
-# ATT: vfnmadd132ph {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfnmadd132ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf6,0x61,0xff,0x9c,0xd4
-
-# ATT: vfnmadd132ps {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfnmadd132ps ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf2,0x61,0x18,0x9c,0xd4
-
-# ATT: vfnmadd132ps {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfnmadd132ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf2,0x61,0x3f,0x9c,0xd4
-
-# ATT: vfnmadd132ps {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfnmadd132ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf2,0x61,0xff,0x9c,0xd4
-
-# ATT: vfnmadd213pd {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfnmadd213pd ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf2,0xe1,0x18,0xac,0xd4
-
-# ATT: vfnmadd213pd {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfnmadd213pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf2,0xe1,0x3f,0xac,0xd4
-
-# ATT: vfnmadd213pd {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfnmadd213pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf2,0xe1,0xff,0xac,0xd4
-
-# ATT: vfnmadd213ph {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfnmadd213ph ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf6,0x61,0x18,0xac,0xd4
-
-# ATT: vfnmadd213ph {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfnmadd213ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf6,0x61,0x3f,0xac,0xd4
-
-# ATT: vfnmadd213ph {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfnmadd213ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf6,0x61,0xff,0xac,0xd4
-
-# ATT: vfnmadd213ps {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfnmadd213ps ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf2,0x61,0x18,0xac,0xd4
-
-# ATT: vfnmadd213ps {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfnmadd213ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf2,0x61,0x3f,0xac,0xd4
-
-# ATT: vfnmadd213ps {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfnmadd213ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf2,0x61,0xff,0xac,0xd4
-
-# ATT: vfnmadd231pd {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfnmadd231pd ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf2,0xe1,0x18,0xbc,0xd4
-
-# ATT: vfnmadd231pd {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfnmadd231pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf2,0xe1,0x3f,0xbc,0xd4
-
-# ATT: vfnmadd231pd {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfnmadd231pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf2,0xe1,0xff,0xbc,0xd4
-
-# ATT: vfnmadd231ph {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfnmadd231ph ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf6,0x61,0x18,0xbc,0xd4
-
-# ATT: vfnmadd231ph {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfnmadd231ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf6,0x61,0x3f,0xbc,0xd4
-
-# ATT: vfnmadd231ph {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfnmadd231ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf6,0x61,0xff,0xbc,0xd4
-
-# ATT: vfnmadd231ps {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfnmadd231ps ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf2,0x61,0x18,0xbc,0xd4
-
-# ATT: vfnmadd231ps {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfnmadd231ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf2,0x61,0x3f,0xbc,0xd4
-
-# ATT: vfnmadd231ps {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfnmadd231ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf2,0x61,0xff,0xbc,0xd4
-
-# ATT: vfnmsub132pd {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfnmsub132pd ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf2,0xe1,0x18,0x9e,0xd4
-
-# ATT: vfnmsub132pd {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfnmsub132pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf2,0xe1,0x3f,0x9e,0xd4
-
-# ATT: vfnmsub132pd {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfnmsub132pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf2,0xe1,0xff,0x9e,0xd4
-
-# ATT: vfnmsub132ph {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfnmsub132ph ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf6,0x61,0x18,0x9e,0xd4
-
-# ATT: vfnmsub132ph {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfnmsub132ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf6,0x61,0x3f,0x9e,0xd4
-
-# ATT: vfnmsub132ph {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfnmsub132ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf6,0x61,0xff,0x9e,0xd4
-
-# ATT: vfnmsub132ps {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfnmsub132ps ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf2,0x61,0x18,0x9e,0xd4
-
-# ATT: vfnmsub132ps {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfnmsub132ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf2,0x61,0x3f,0x9e,0xd4
-
-# ATT: vfnmsub132ps {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfnmsub132ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf2,0x61,0xff,0x9e,0xd4
-
-# ATT: vfnmsub213pd {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfnmsub213pd ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf2,0xe1,0x18,0xae,0xd4
-
-# ATT: vfnmsub213pd {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfnmsub213pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf2,0xe1,0x3f,0xae,0xd4
-
-# ATT: vfnmsub213pd {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfnmsub213pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf2,0xe1,0xff,0xae,0xd4
-
-# ATT: vfnmsub213ph {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfnmsub213ph ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf6,0x61,0x18,0xae,0xd4
-
-# ATT: vfnmsub213ph {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfnmsub213ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf6,0x61,0x3f,0xae,0xd4
-
-# ATT: vfnmsub213ph {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfnmsub213ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf6,0x61,0xff,0xae,0xd4
-
-# ATT: vfnmsub213ps {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfnmsub213ps ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf2,0x61,0x18,0xae,0xd4
-
-# ATT: vfnmsub213ps {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfnmsub213ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf2,0x61,0x3f,0xae,0xd4
-
-# ATT: vfnmsub213ps {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfnmsub213ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf2,0x61,0xff,0xae,0xd4
-
-# ATT: vfnmsub231pd {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfnmsub231pd ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf2,0xe1,0x18,0xbe,0xd4
-
-# ATT: vfnmsub231pd {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfnmsub231pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf2,0xe1,0x3f,0xbe,0xd4
-
-# ATT: vfnmsub231pd {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfnmsub231pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf2,0xe1,0xff,0xbe,0xd4
-
-# ATT: vfnmsub231ph {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfnmsub231ph ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf6,0x61,0x18,0xbe,0xd4
-
-# ATT: vfnmsub231ph {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfnmsub231ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf6,0x61,0x3f,0xbe,0xd4
-
-# ATT: vfnmsub231ph {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfnmsub231ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf6,0x61,0xff,0xbe,0xd4
-
-# ATT: vfnmsub231ps {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vfnmsub231ps ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf2,0x61,0x18,0xbe,0xd4
-
-# ATT: vfnmsub231ps {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vfnmsub231ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf2,0x61,0x3f,0xbe,0xd4
-
-# ATT: vfnmsub231ps {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vfnmsub231ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf2,0x61,0xff,0xbe,0xd4
-
-# ATT: vgetexppd {sae}, %ymm3, %ymm2
-# INTEL: vgetexppd ymm2, ymm3, {sae}
-0x62,0xf2,0xf9,0x18,0x42,0xd3
-
-# ATT: vgetexppd {sae}, %ymm3, %ymm2 {%k7}
-# INTEL: vgetexppd ymm2 {k7}, ymm3, {sae}
-0x62,0xf2,0xf9,0x1f,0x42,0xd3
-
-# ATT: vgetexppd {sae}, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vgetexppd ymm2 {k7} {z}, ymm3, {sae}
-0x62,0xf2,0xf9,0x9f,0x42,0xd3
-
-# ATT: vgetexpph {sae}, %ymm3, %ymm2
-# INTEL: vgetexpph ymm2, ymm3, {sae}
-0x62,0xf6,0x79,0x18,0x42,0xd3
-
-# ATT: vgetexpph {sae}, %ymm3, %ymm2 {%k7}
-# INTEL: vgetexpph ymm2 {k7}, ymm3, {sae}
-0x62,0xf6,0x79,0x1f,0x42,0xd3
-
-# ATT: vgetexpph {sae}, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vgetexpph ymm2 {k7} {z}, ymm3, {sae}
-0x62,0xf6,0x79,0x9f,0x42,0xd3
-
-# ATT: vgetexpps {sae}, %ymm3, %ymm2
-# INTEL: vgetexpps ymm2, ymm3, {sae}
-0x62,0xf2,0x79,0x18,0x42,0xd3
-
-# ATT: vgetexpps {sae}, %ymm3, %ymm2 {%k7}
-# INTEL: vgetexpps ymm2 {k7}, ymm3, {sae}
-0x62,0xf2,0x79,0x1f,0x42,0xd3
-
-# ATT: vgetexpps {sae}, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vgetexpps ymm2 {k7} {z}, ymm3, {sae}
-0x62,0xf2,0x79,0x9f,0x42,0xd3
-
-# ATT: vgetmantpd $123, {sae}, %ymm3, %ymm2
-# INTEL: vgetmantpd ymm2, ymm3, {sae}, 123
-0x62,0xf3,0xf9,0x18,0x26,0xd3,0x7b
-
-# ATT: vgetmantpd $123, {sae}, %ymm3, %ymm2 {%k7}
-# INTEL: vgetmantpd ymm2 {k7}, ymm3, {sae}, 123
-0x62,0xf3,0xf9,0x1f,0x26,0xd3,0x7b
-
-# ATT: vgetmantpd $123, {sae}, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vgetmantpd ymm2 {k7} {z}, ymm3, {sae}, 123
-0x62,0xf3,0xf9,0x9f,0x26,0xd3,0x7b
-
-# ATT: vgetmantph $123, {sae}, %ymm3, %ymm2
-# INTEL: vgetmantph ymm2, ymm3, {sae}, 123
-0x62,0xf3,0x78,0x18,0x26,0xd3,0x7b
-
-# ATT: vgetmantph $123, {sae}, %ymm3, %ymm2 {%k7}
-# INTEL: vgetmantph ymm2 {k7}, ymm3, {sae}, 123
-0x62,0xf3,0x78,0x1f,0x26,0xd3,0x7b
-
-# ATT: vgetmantph $123, {sae}, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vgetmantph ymm2 {k7} {z}, ymm3, {sae}, 123
-0x62,0xf3,0x78,0x9f,0x26,0xd3,0x7b
-
-# ATT: vgetmantps $123, {sae}, %ymm3, %ymm2
-# INTEL: vgetmantps ymm2, ymm3, {sae}, 123
-0x62,0xf3,0x79,0x18,0x26,0xd3,0x7b
-
-# ATT: vgetmantps $123, {sae}, %ymm3, %ymm2 {%k7}
-# INTEL: vgetmantps ymm2 {k7}, ymm3, {sae}, 123
-0x62,0xf3,0x79,0x1f,0x26,0xd3,0x7b
-
-# ATT: vgetmantps $123, {sae}, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vgetmantps ymm2 {k7} {z}, ymm3, {sae}, 123
-0x62,0xf3,0x79,0x9f,0x26,0xd3,0x7b
-
-# ATT: vmaxpd {sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vmaxpd ymm2, ymm3, ymm4, {sae}
-0x62,0xf1,0xe1,0x18,0x5f,0xd4
-
-# ATT: vmaxpd {sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vmaxpd ymm2 {k7}, ymm3, ymm4, {sae}
-0x62,0xf1,0xe1,0x1f,0x5f,0xd4
-
-# ATT: vmaxpd {sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vmaxpd ymm2 {k7} {z}, ymm3, ymm4, {sae}
-0x62,0xf1,0xe1,0x9f,0x5f,0xd4
-
-# ATT: vmaxph {sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vmaxph ymm2, ymm3, ymm4, {sae}
-0x62,0xf5,0x60,0x18,0x5f,0xd4
-
-# ATT: vmaxph {sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vmaxph ymm2 {k7}, ymm3, ymm4, {sae}
-0x62,0xf5,0x60,0x1f,0x5f,0xd4
-
-# ATT: vmaxph {sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vmaxph ymm2 {k7} {z}, ymm3, ymm4, {sae}
-0x62,0xf5,0x60,0x9f,0x5f,0xd4
-
-# ATT: vmaxps {sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vmaxps ymm2, ymm3, ymm4, {sae}
-0x62,0xf1,0x60,0x18,0x5f,0xd4
-
-# ATT: vmaxps {sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vmaxps ymm2 {k7}, ymm3, ymm4, {sae}
-0x62,0xf1,0x60,0x1f,0x5f,0xd4
-
-# ATT: vmaxps {sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vmaxps ymm2 {k7} {z}, ymm3, ymm4, {sae}
-0x62,0xf1,0x60,0x9f,0x5f,0xd4
-
-# ATT: vminpd {sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vminpd ymm2, ymm3, ymm4, {sae}
-0x62,0xf1,0xe1,0x18,0x5d,0xd4
-
-# ATT: vminpd {sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vminpd ymm2 {k7}, ymm3, ymm4, {sae}
-0x62,0xf1,0xe1,0x1f,0x5d,0xd4
-
-# ATT: vminpd {sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vminpd ymm2 {k7} {z}, ymm3, ymm4, {sae}
-0x62,0xf1,0xe1,0x9f,0x5d,0xd4
-
-# ATT: vminph {sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vminph ymm2, ymm3, ymm4, {sae}
-0x62,0xf5,0x60,0x18,0x5d,0xd4
-
-# ATT: vminph {sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vminph ymm2 {k7}, ymm3, ymm4, {sae}
-0x62,0xf5,0x60,0x1f,0x5d,0xd4
-
-# ATT: vminph {sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vminph ymm2 {k7} {z}, ymm3, ymm4, {sae}
-0x62,0xf5,0x60,0x9f,0x5d,0xd4
-
-# ATT: vminps {sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vminps ymm2, ymm3, ymm4, {sae}
-0x62,0xf1,0x60,0x18,0x5d,0xd4
-
-# ATT: vminps {sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vminps ymm2 {k7}, ymm3, ymm4, {sae}
-0x62,0xf1,0x60,0x1f,0x5d,0xd4
-
-# ATT: vminps {sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vminps ymm2 {k7} {z}, ymm3, ymm4, {sae}
-0x62,0xf1,0x60,0x9f,0x5d,0xd4
-
-# ATT: vmulpd {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vmulpd ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf1,0xe1,0x18,0x59,0xd4
-
-# ATT: vmulpd {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vmulpd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf1,0xe1,0x3f,0x59,0xd4
-
-# ATT: vmulpd {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vmulpd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf1,0xe1,0xff,0x59,0xd4
-
-# ATT: vmulph {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vmulph ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf5,0x60,0x18,0x59,0xd4
-
-# ATT: vmulph {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vmulph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf5,0x60,0x3f,0x59,0xd4
-
-# ATT: vmulph {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vmulph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf5,0x60,0xff,0x59,0xd4
-
-# ATT: vmulps {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vmulps ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf1,0x60,0x18,0x59,0xd4
-
-# ATT: vmulps {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vmulps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf1,0x60,0x3f,0x59,0xd4
-
-# ATT: vmulps {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vmulps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf1,0x60,0xff,0x59,0xd4
-
-# ATT: vrangepd $123, {sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vrangepd ymm2, ymm3, ymm4, {sae}, 123
-0x62,0xf3,0xe1,0x18,0x50,0xd4,0x7b
-
-# ATT: vrangepd $123, {sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vrangepd ymm2 {k7}, ymm3, ymm4, {sae}, 123
-0x62,0xf3,0xe1,0x1f,0x50,0xd4,0x7b
-
-# ATT: vrangepd $123, {sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vrangepd ymm2 {k7} {z}, ymm3, ymm4, {sae}, 123
-0x62,0xf3,0xe1,0x9f,0x50,0xd4,0x7b
-
-# ATT: vrangeps $123, {sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vrangeps ymm2, ymm3, ymm4, {sae}, 123
-0x62,0xf3,0x61,0x18,0x50,0xd4,0x7b
-
-# ATT: vrangeps $123, {sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vrangeps ymm2 {k7}, ymm3, ymm4, {sae}, 123
-0x62,0xf3,0x61,0x1f,0x50,0xd4,0x7b
-
-# ATT: vrangeps $123, {sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vrangeps ymm2 {k7} {z}, ymm3, ymm4, {sae}, 123
-0x62,0xf3,0x61,0x9f,0x50,0xd4,0x7b
-
-# ATT: vreducepd $123, {sae}, %ymm3, %ymm2
-# INTEL: vreducepd ymm2, ymm3, {sae}, 123
-0x62,0xf3,0xf9,0x18,0x56,0xd3,0x7b
-
-# ATT: vreducepd $123, {sae}, %ymm3, %ymm2 {%k7}
-# INTEL: vreducepd ymm2 {k7}, ymm3, {sae}, 123
-0x62,0xf3,0xf9,0x1f,0x56,0xd3,0x7b
-
-# ATT: vreducepd $123, {sae}, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vreducepd ymm2 {k7} {z}, ymm3, {sae}, 123
-0x62,0xf3,0xf9,0x9f,0x56,0xd3,0x7b
-
-# ATT: vreduceph $123, {sae}, %ymm3, %ymm2
-# INTEL: vreduceph ymm2, ymm3, {sae}, 123
-0x62,0xf3,0x78,0x18,0x56,0xd3,0x7b
-
-# ATT: vreduceph $123, {sae}, %ymm3, %ymm2 {%k7}
-# INTEL: vreduceph ymm2 {k7}, ymm3, {sae}, 123
-0x62,0xf3,0x78,0x1f,0x56,0xd3,0x7b
-
-# ATT: vreduceph $123, {sae}, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vreduceph ymm2 {k7} {z}, ymm3, {sae}, 123
-0x62,0xf3,0x78,0x9f,0x56,0xd3,0x7b
-
-# ATT: vreduceps $123, {sae}, %ymm3, %ymm2
-# INTEL: vreduceps ymm2, ymm3, {sae}, 123
-0x62,0xf3,0x79,0x18,0x56,0xd3,0x7b
-
-# ATT: vreduceps $123, {sae}, %ymm3, %ymm2 {%k7}
-# INTEL: vreduceps ymm2 {k7}, ymm3, {sae}, 123
-0x62,0xf3,0x79,0x1f,0x56,0xd3,0x7b
-
-# ATT: vreduceps $123, {sae}, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vreduceps ymm2 {k7} {z}, ymm3, {sae}, 123
-0x62,0xf3,0x79,0x9f,0x56,0xd3,0x7b
-
-# ATT: vrndscalepd $123, {sae}, %ymm3, %ymm2
-# INTEL: vrndscalepd ymm2, ymm3, {sae}, 123
-0x62,0xf3,0xf9,0x18,0x09,0xd3,0x7b
-
-# ATT: vrndscalepd $123, {sae}, %ymm3, %ymm2 {%k7}
-# INTEL: vrndscalepd ymm2 {k7}, ymm3, {sae}, 123
-0x62,0xf3,0xf9,0x1f,0x09,0xd3,0x7b
-
-# ATT: vrndscalepd $123, {sae}, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vrndscalepd ymm2 {k7} {z}, ymm3, {sae}, 123
-0x62,0xf3,0xf9,0x9f,0x09,0xd3,0x7b
-
-# ATT: vrndscaleph $123, {sae}, %ymm3, %ymm2
-# INTEL: vrndscaleph ymm2, ymm3, {sae}, 123
-0x62,0xf3,0x78,0x18,0x08,0xd3,0x7b
-
-# ATT: vrndscaleph $123, {sae}, %ymm3, %ymm2 {%k7}
-# INTEL: vrndscaleph ymm2 {k7}, ymm3, {sae}, 123
-0x62,0xf3,0x78,0x1f,0x08,0xd3,0x7b
-
-# ATT: vrndscaleph $123, {sae}, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vrndscaleph ymm2 {k7} {z}, ymm3, {sae}, 123
-0x62,0xf3,0x78,0x9f,0x08,0xd3,0x7b
-
-# ATT: vrndscaleps $123, {sae}, %ymm3, %ymm2
-# INTEL: vrndscaleps ymm2, ymm3, {sae}, 123
-0x62,0xf3,0x79,0x18,0x08,0xd3,0x7b
-
-# ATT: vrndscaleps $123, {sae}, %ymm3, %ymm2 {%k7}
-# INTEL: vrndscaleps ymm2 {k7}, ymm3, {sae}, 123
-0x62,0xf3,0x79,0x1f,0x08,0xd3,0x7b
-
-# ATT: vrndscaleps $123, {sae}, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vrndscaleps ymm2 {k7} {z}, ymm3, {sae}, 123
-0x62,0xf3,0x79,0x9f,0x08,0xd3,0x7b
-
-# ATT: vscalefpd {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vscalefpd ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf2,0xe1,0x18,0x2c,0xd4
-
-# ATT: vscalefpd {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vscalefpd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf2,0xe1,0x3f,0x2c,0xd4
-
-# ATT: vscalefpd {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vscalefpd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf2,0xe1,0xff,0x2c,0xd4
-
-# ATT: vscalefph {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vscalefph ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf6,0x61,0x18,0x2c,0xd4
-
-# ATT: vscalefph {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vscalefph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf6,0x61,0x3f,0x2c,0xd4
-
-# ATT: vscalefph {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vscalefph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf6,0x61,0xff,0x2c,0xd4
-
-# ATT: vscalefps {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vscalefps ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf2,0x61,0x18,0x2c,0xd4
-
-# ATT: vscalefps {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vscalefps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf2,0x61,0x3f,0x2c,0xd4
-
-# ATT: vscalefps {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vscalefps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf2,0x61,0xff,0x2c,0xd4
-
-# ATT: vsqrtpd {rn-sae}, %ymm3, %ymm2
-# INTEL: vsqrtpd ymm2, ymm3, {rn-sae}
-0x62,0xf1,0xf9,0x18,0x51,0xd3
-
-# ATT: vsqrtpd {rd-sae}, %ymm3, %ymm2 {%k7}
-# INTEL: vsqrtpd ymm2 {k7}, ymm3, {rd-sae}
-0x62,0xf1,0xf9,0x3f,0x51,0xd3
-
-# ATT: vsqrtpd {rz-sae}, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vsqrtpd ymm2 {k7} {z}, ymm3, {rz-sae}
-0x62,0xf1,0xf9,0xff,0x51,0xd3
-
-# ATT: vsqrtph {rn-sae}, %ymm3, %ymm2
-# INTEL: vsqrtph ymm2, ymm3, {rn-sae}
-0x62,0xf5,0x78,0x18,0x51,0xd3
-
-# ATT: vsqrtph {rd-sae}, %ymm3, %ymm2 {%k7}
-# INTEL: vsqrtph ymm2 {k7}, ymm3, {rd-sae}
-0x62,0xf5,0x78,0x3f,0x51,0xd3
-
-# ATT: vsqrtph {rz-sae}, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vsqrtph ymm2 {k7} {z}, ymm3, {rz-sae}
-0x62,0xf5,0x78,0xff,0x51,0xd3
-
-# ATT: vsqrtps {rn-sae}, %ymm3, %ymm2
-# INTEL: vsqrtps ymm2, ymm3, {rn-sae}
-0x62,0xf1,0x78,0x18,0x51,0xd3
-
-# ATT: vsqrtps {rd-sae}, %ymm3, %ymm2 {%k7}
-# INTEL: vsqrtps ymm2 {k7}, ymm3, {rd-sae}
-0x62,0xf1,0x78,0x3f,0x51,0xd3
-
-# ATT: vsqrtps {rz-sae}, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vsqrtps ymm2 {k7} {z}, ymm3, {rz-sae}
-0x62,0xf1,0x78,0xff,0x51,0xd3
-
-# ATT: vsubpd {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vsubpd ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf1,0xe1,0x18,0x5c,0xd4
-
-# ATT: vsubpd {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vsubpd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf1,0xe1,0x3f,0x5c,0xd4
-
-# ATT: vsubpd {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vsubpd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf1,0xe1,0xff,0x5c,0xd4
-
-# ATT: vsubph {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vsubph ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf5,0x60,0x18,0x5c,0xd4
-
-# ATT: vsubph {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vsubph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf5,0x60,0x3f,0x5c,0xd4
-
-# ATT: vsubph {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vsubph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf5,0x60,0xff,0x5c,0xd4
-
-# ATT: vsubps {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vsubps ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf1,0x60,0x18,0x5c,0xd4
-
-# ATT: vsubps {rd-sae}, %ymm4, %ymm3, %ymm2 {%k7}
-# INTEL: vsubps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-0x62,0xf1,0x60,0x3f,0x5c,0xd4
-
-# ATT: vsubps {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vsubps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf1,0x60,0xff,0x5c,0xd4
diff --git a/llvm/test/MC/Disassembler/X86/avx10_2ni-64.txt b/llvm/test/MC/Disassembler/X86/avx10_2ni-64.txt
index b5d25ee7e0c01..c398e82df411a 100644
--- a/llvm/test/MC/Disassembler/X86/avx10_2ni-64.txt
+++ b/llvm/test/MC/Disassembler/X86/avx10_2ni-64.txt
@@ -1520,1781 +1520,3 @@
# ATT: vmpsadbw $123, -8192(%rdx), %zmm23, %zmm22 {%k7} {z}
# INTEL: vmpsadbw zmm22 {k7} {z}, zmm23, zmmword ptr [rdx - 8192], 123
0x62,0xe3,0x46,0xc7,0x42,0x72,0x80,0x7b
-
-# YMM Rounding
-
-# ATT: vaddpd {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vaddpd ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x81,0xc1,0x10,0x58,0xf0
-
-# ATT: vaddpd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vaddpd ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x81,0xc1,0x37,0x58,0xf0
-
-# ATT: vaddpd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vaddpd ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x81,0xc1,0xf7,0x58,0xf0
-
-# ATT: vaddph {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vaddph ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x85,0x40,0x10,0x58,0xf0
-
-# ATT: vaddph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vaddph ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x85,0x40,0x37,0x58,0xf0
-
-# ATT: vaddph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vaddph ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x85,0x40,0xf7,0x58,0xf0
-
-# ATT: vaddps {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vaddps ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x81,0x40,0x10,0x58,0xf0
-
-# ATT: vaddps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vaddps ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x81,0x40,0x37,0x58,0xf0
-
-# ATT: vaddps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vaddps ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x81,0x40,0xf7,0x58,0xf0
-
-# ATT: vcmppd $123, {sae}, %ymm24, %ymm23, %k5
-# INTEL: vcmppd k5, ymm23, ymm24, {sae}, 123
-0x62,0x91,0xc1,0x10,0xc2,0xe8,0x7b
-
-# ATT: vcmppd $123, {sae}, %ymm24, %ymm23, %k5 {%k7}
-# INTEL: vcmppd k5 {k7}, ymm23, ymm24, {sae}, 123
-0x62,0x91,0xc1,0x17,0xc2,0xe8,0x7b
-
-# ATT: vcmpph $123, {sae}, %ymm24, %ymm23, %k5
-# INTEL: vcmpph k5, ymm23, ymm24, {sae}, 123
-0x62,0x93,0x40,0x10,0xc2,0xe8,0x7b
-
-# ATT: vcmpph $123, {sae}, %ymm24, %ymm23, %k5 {%k7}
-# INTEL: vcmpph k5 {k7}, ymm23, ymm24, {sae}, 123
-0x62,0x93,0x40,0x17,0xc2,0xe8,0x7b
-
-# ATT: vcmpps $123, {sae}, %ymm24, %ymm23, %k5
-# INTEL: vcmpps k5, ymm23, ymm24, {sae}, 123
-0x62,0x91,0x40,0x10,0xc2,0xe8,0x7b
-
-# ATT: vcmpps $123, {sae}, %ymm24, %ymm23, %k5 {%k7}
-# INTEL: vcmpps k5 {k7}, ymm23, ymm24, {sae}, 123
-0x62,0x91,0x40,0x17,0xc2,0xe8,0x7b
-
-# ATT: vcvtdq2ph {rn-sae}, %ymm23, %xmm22
-# INTEL: vcvtdq2ph xmm22, ymm23, {rn-sae}
-0x62,0xa5,0x78,0x18,0x5b,0xf7
-
-# ATT: vcvtdq2ph {rd-sae}, %ymm23, %xmm22 {%k7}
-# INTEL: vcvtdq2ph xmm22 {k7}, ymm23, {rd-sae}
-0x62,0xa5,0x78,0x3f,0x5b,0xf7
-
-# ATT: vcvtdq2ph {rz-sae}, %ymm23, %xmm22 {%k7} {z}
-# INTEL: vcvtdq2ph xmm22 {k7} {z}, ymm23, {rz-sae}
-0x62,0xa5,0x78,0xff,0x5b,0xf7
-
-# ATT: vcvtdq2ps {rn-sae}, %ymm23, %ymm22
-# INTEL: vcvtdq2ps ymm22, ymm23, {rn-sae}
-0x62,0xa1,0x78,0x18,0x5b,0xf7
-
-# ATT: vcvtdq2ps {rd-sae}, %ymm23, %ymm22 {%k7}
-# INTEL: vcvtdq2ps ymm22 {k7}, ymm23, {rd-sae}
-0x62,0xa1,0x78,0x3f,0x5b,0xf7
-
-# ATT: vcvtdq2ps {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vcvtdq2ps ymm22 {k7} {z}, ymm23, {rz-sae}
-0x62,0xa1,0x78,0xff,0x5b,0xf7
-
-# ATT: vcvtpd2dq {rn-sae}, %ymm23, %xmm22
-# INTEL: vcvtpd2dq xmm22, ymm23, {rn-sae}
-0x62,0xa1,0xfb,0x18,0xe6,0xf7
-
-# ATT: vcvtpd2dq {rd-sae}, %ymm23, %xmm22 {%k7}
-# INTEL: vcvtpd2dq xmm22 {k7}, ymm23, {rd-sae}
-0x62,0xa1,0xfb,0x3f,0xe6,0xf7
-
-# ATT: vcvtpd2dq {rz-sae}, %ymm23, %xmm22 {%k7} {z}
-# INTEL: vcvtpd2dq xmm22 {k7} {z}, ymm23, {rz-sae}
-0x62,0xa1,0xfb,0xff,0xe6,0xf7
-
-# ATT: vcvtpd2ph {rn-sae}, %ymm23, %xmm22
-# INTEL: vcvtpd2ph xmm22, ymm23, {rn-sae}
-0x62,0xa5,0xf9,0x18,0x5a,0xf7
-
-# ATT: vcvtpd2ph {rd-sae}, %ymm23, %xmm22 {%k7}
-# INTEL: vcvtpd2ph xmm22 {k7}, ymm23, {rd-sae}
-0x62,0xa5,0xf9,0x3f,0x5a,0xf7
-
-# ATT: vcvtpd2ph {rz-sae}, %ymm23, %xmm22 {%k7} {z}
-# INTEL: vcvtpd2ph xmm22 {k7} {z}, ymm23, {rz-sae}
-0x62,0xa5,0xf9,0xff,0x5a,0xf7
-
-# ATT: vcvtpd2ps {rn-sae}, %ymm23, %xmm22
-# INTEL: vcvtpd2ps xmm22, ymm23, {rn-sae}
-0x62,0xa1,0xf9,0x18,0x5a,0xf7
-
-# ATT: vcvtpd2ps {rd-sae}, %ymm23, %xmm22 {%k7}
-# INTEL: vcvtpd2ps xmm22 {k7}, ymm23, {rd-sae}
-0x62,0xa1,0xf9,0x3f,0x5a,0xf7
-
-# ATT: vcvtpd2ps {rz-sae}, %ymm23, %xmm22 {%k7} {z}
-# INTEL: vcvtpd2ps xmm22 {k7} {z}, ymm23, {rz-sae}
-0x62,0xa1,0xf9,0xff,0x5a,0xf7
-
-# ATT: vcvtpd2qq {rn-sae}, %ymm23, %ymm22
-# INTEL: vcvtpd2qq ymm22, ymm23, {rn-sae}
-0x62,0xa1,0xf9,0x18,0x7b,0xf7
-
-# ATT: vcvtpd2qq {rd-sae}, %ymm23, %ymm22 {%k7}
-# INTEL: vcvtpd2qq ymm22 {k7}, ymm23, {rd-sae}
-0x62,0xa1,0xf9,0x3f,0x7b,0xf7
-
-# ATT: vcvtpd2qq {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vcvtpd2qq ymm22 {k7} {z}, ymm23, {rz-sae}
-0x62,0xa1,0xf9,0xff,0x7b,0xf7
-
-# ATT: vcvtpd2udq {rn-sae}, %ymm23, %xmm22
-# INTEL: vcvtpd2udq xmm22, ymm23, {rn-sae}
-0x62,0xa1,0xf8,0x18,0x79,0xf7
-
-# ATT: vcvtpd2udq {rd-sae}, %ymm23, %xmm22 {%k7}
-# INTEL: vcvtpd2udq xmm22 {k7}, ymm23, {rd-sae}
-0x62,0xa1,0xf8,0x3f,0x79,0xf7
-
-# ATT: vcvtpd2udq {rz-sae}, %ymm23, %xmm22 {%k7} {z}
-# INTEL: vcvtpd2udq xmm22 {k7} {z}, ymm23, {rz-sae}
-0x62,0xa1,0xf8,0xff,0x79,0xf7
-
-# ATT: vcvtpd2uqq {rn-sae}, %ymm23, %ymm22
-# INTEL: vcvtpd2uqq ymm22, ymm23, {rn-sae}
-0x62,0xa1,0xf9,0x18,0x79,0xf7
-
-# ATT: vcvtpd2uqq {rd-sae}, %ymm23, %ymm22 {%k7}
-# INTEL: vcvtpd2uqq ymm22 {k7}, ymm23, {rd-sae}
-0x62,0xa1,0xf9,0x3f,0x79,0xf7
-
-# ATT: vcvtpd2uqq {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vcvtpd2uqq ymm22 {k7} {z}, ymm23, {rz-sae}
-0x62,0xa1,0xf9,0xff,0x79,0xf7
-
-# ATT: vcvtph2dq {rn-sae}, %xmm23, %ymm22
-# INTEL: vcvtph2dq ymm22, xmm23, {rn-sae}
-0x62,0xa5,0x79,0x18,0x5b,0xf7
-
-# ATT: vcvtph2dq {rd-sae}, %xmm23, %ymm22 {%k7}
-# INTEL: vcvtph2dq ymm22 {k7}, xmm23, {rd-sae}
-0x62,0xa5,0x79,0x3f,0x5b,0xf7
-
-# ATT: vcvtph2dq {rz-sae}, %xmm23, %ymm22 {%k7} {z}
-# INTEL: vcvtph2dq ymm22 {k7} {z}, xmm23, {rz-sae}
-0x62,0xa5,0x79,0xff,0x5b,0xf7
-
-# ATT: vcvtph2pd {sae}, %xmm23, %ymm22
-# INTEL: vcvtph2pd ymm22, xmm23, {sae}
-0x62,0xa5,0x78,0x18,0x5a,0xf7
-
-# ATT: vcvtph2pd {sae}, %xmm23, %ymm22 {%k7}
-# INTEL: vcvtph2pd ymm22 {k7}, xmm23, {sae}
-0x62,0xa5,0x78,0x1f,0x5a,0xf7
-
-# ATT: vcvtph2pd {sae}, %xmm23, %ymm22 {%k7} {z}
-# INTEL: vcvtph2pd ymm22 {k7} {z}, xmm23, {sae}
-0x62,0xa5,0x78,0x9f,0x5a,0xf7
-
-# ATT: vcvtph2ps {sae}, %xmm23, %ymm22
-# INTEL: vcvtph2ps ymm22, xmm23, {sae}
-0x62,0xa2,0x79,0x18,0x13,0xf7
-
-# ATT: vcvtph2ps {sae}, %xmm23, %ymm22 {%k7}
-# INTEL: vcvtph2ps ymm22 {k7}, xmm23, {sae}
-0x62,0xa2,0x79,0x1f,0x13,0xf7
-
-# ATT: vcvtph2ps {sae}, %xmm23, %ymm22 {%k7} {z}
-# INTEL: vcvtph2ps ymm22 {k7} {z}, xmm23, {sae}
-0x62,0xa2,0x79,0x9f,0x13,0xf7
-
-# ATT: vcvtph2psx {sae}, %xmm23, %ymm22
-# INTEL: vcvtph2psx ymm22, xmm23, {sae}
-0x62,0xa6,0x79,0x18,0x13,0xf7
-
-# ATT: vcvtph2psx {sae}, %xmm23, %ymm22 {%k7}
-# INTEL: vcvtph2psx ymm22 {k7}, xmm23, {sae}
-0x62,0xa6,0x79,0x1f,0x13,0xf7
-
-# ATT: vcvtph2psx {sae}, %xmm23, %ymm22 {%k7} {z}
-# INTEL: vcvtph2psx ymm22 {k7} {z}, xmm23, {sae}
-0x62,0xa6,0x79,0x9f,0x13,0xf7
-
-# ATT: vcvtph2qq {rn-sae}, %xmm23, %ymm22
-# INTEL: vcvtph2qq ymm22, xmm23, {rn-sae}
-0x62,0xa5,0x79,0x18,0x7b,0xf7
-
-# ATT: vcvtph2qq {rd-sae}, %xmm23, %ymm22 {%k7}
-# INTEL: vcvtph2qq ymm22 {k7}, xmm23, {rd-sae}
-0x62,0xa5,0x79,0x3f,0x7b,0xf7
-
-# ATT: vcvtph2qq {rz-sae}, %xmm23, %ymm22 {%k7} {z}
-# INTEL: vcvtph2qq ymm22 {k7} {z}, xmm23, {rz-sae}
-0x62,0xa5,0x79,0xff,0x7b,0xf7
-
-# ATT: vcvtph2udq {rn-sae}, %xmm23, %ymm22
-# INTEL: vcvtph2udq ymm22, xmm23, {rn-sae}
-0x62,0xa5,0x78,0x18,0x79,0xf7
-
-# ATT: vcvtph2udq {rd-sae}, %xmm23, %ymm22 {%k7}
-# INTEL: vcvtph2udq ymm22 {k7}, xmm23, {rd-sae}
-0x62,0xa5,0x78,0x3f,0x79,0xf7
-
-# ATT: vcvtph2udq {rz-sae}, %xmm23, %ymm22 {%k7} {z}
-# INTEL: vcvtph2udq ymm22 {k7} {z}, xmm23, {rz-sae}
-0x62,0xa5,0x78,0xff,0x79,0xf7
-
-# ATT: vcvtph2uqq {rn-sae}, %xmm23, %ymm22
-# INTEL: vcvtph2uqq ymm22, xmm23, {rn-sae}
-0x62,0xa5,0x79,0x18,0x79,0xf7
-
-# ATT: vcvtph2uqq {rd-sae}, %xmm23, %ymm22 {%k7}
-# INTEL: vcvtph2uqq ymm22 {k7}, xmm23, {rd-sae}
-0x62,0xa5,0x79,0x3f,0x79,0xf7
-
-# ATT: vcvtph2uqq {rz-sae}, %xmm23, %ymm22 {%k7} {z}
-# INTEL: vcvtph2uqq ymm22 {k7} {z}, xmm23, {rz-sae}
-0x62,0xa5,0x79,0xff,0x79,0xf7
-
-# ATT: vcvtph2uw {rn-sae}, %ymm23, %ymm22
-# INTEL: vcvtph2uw ymm22, ymm23, {rn-sae}
-0x62,0xa5,0x78,0x18,0x7d,0xf7
-
-# ATT: vcvtph2uw {rd-sae}, %ymm23, %ymm22 {%k7}
-# INTEL: vcvtph2uw ymm22 {k7}, ymm23, {rd-sae}
-0x62,0xa5,0x78,0x3f,0x7d,0xf7
-
-# ATT: vcvtph2uw {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vcvtph2uw ymm22 {k7} {z}, ymm23, {rz-sae}
-0x62,0xa5,0x78,0xff,0x7d,0xf7
-
-# ATT: vcvtph2w {rn-sae}, %ymm23, %ymm22
-# INTEL: vcvtph2w ymm22, ymm23, {rn-sae}
-0x62,0xa5,0x79,0x18,0x7d,0xf7
-
-# ATT: vcvtph2w {rd-sae}, %ymm23, %ymm22 {%k7}
-# INTEL: vcvtph2w ymm22 {k7}, ymm23, {rd-sae}
-0x62,0xa5,0x79,0x3f,0x7d,0xf7
-
-# ATT: vcvtph2w {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vcvtph2w ymm22 {k7} {z}, ymm23, {rz-sae}
-0x62,0xa5,0x79,0xff,0x7d,0xf7
-
-# ATT: vcvtps2dq {rn-sae}, %ymm23, %ymm22
-# INTEL: vcvtps2dq ymm22, ymm23, {rn-sae}
-0x62,0xa1,0x79,0x18,0x5b,0xf7
-
-# ATT: vcvtps2dq {rd-sae}, %ymm23, %ymm22 {%k7}
-# INTEL: vcvtps2dq ymm22 {k7}, ymm23, {rd-sae}
-0x62,0xa1,0x79,0x3f,0x5b,0xf7
-
-# ATT: vcvtps2dq {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vcvtps2dq ymm22 {k7} {z}, ymm23, {rz-sae}
-0x62,0xa1,0x79,0xff,0x5b,0xf7
-
-# ATT: vcvtps2pd {sae}, %xmm23, %ymm22
-# INTEL: vcvtps2pd ymm22, xmm23, {sae}
-0x62,0xa1,0x78,0x18,0x5a,0xf7
-
-# ATT: vcvtps2pd {sae}, %xmm23, %ymm22 {%k7}
-# INTEL: vcvtps2pd ymm22 {k7}, xmm23, {sae}
-0x62,0xa1,0x78,0x1f,0x5a,0xf7
-
-# ATT: vcvtps2pd {sae}, %xmm23, %ymm22 {%k7} {z}
-# INTEL: vcvtps2pd ymm22 {k7} {z}, xmm23, {sae}
-0x62,0xa1,0x78,0x9f,0x5a,0xf7
-
-# ATT: vcvtps2ph $123, {sae}, %ymm23, %xmm22
-# INTEL: vcvtps2ph xmm22, ymm23, {sae}, 123
-0x62,0xa3,0x79,0x18,0x1d,0xfe,0x7b
-
-# ATT: vcvtps2ph $123, {sae}, %ymm23, %xmm22 {%k7}
-# INTEL: vcvtps2ph xmm22 {k7}, ymm23, {sae}, 123
-0x62,0xa3,0x79,0x1f,0x1d,0xfe,0x7b
-
-# ATT: vcvtps2ph $123, {sae}, %ymm23, %xmm22 {%k7} {z}
-# INTEL: vcvtps2ph xmm22 {k7} {z}, ymm23, {sae}, 123
-0x62,0xa3,0x79,0x9f,0x1d,0xfe,0x7b
-
-# ATT: vcvtps2phx {rn-sae}, %ymm23, %xmm22
-# INTEL: vcvtps2phx xmm22, ymm23, {rn-sae}
-0x62,0xa5,0x79,0x18,0x1d,0xf7
-
-# ATT: vcvtps2phx {rd-sae}, %ymm23, %xmm22 {%k7}
-# INTEL: vcvtps2phx xmm22 {k7}, ymm23, {rd-sae}
-0x62,0xa5,0x79,0x3f,0x1d,0xf7
-
-# ATT: vcvtps2phx {rz-sae}, %ymm23, %xmm22 {%k7} {z}
-# INTEL: vcvtps2phx xmm22 {k7} {z}, ymm23, {rz-sae}
-0x62,0xa5,0x79,0xff,0x1d,0xf7
-
-# ATT: vcvtps2qq {rn-sae}, %xmm23, %ymm22
-# INTEL: vcvtps2qq ymm22, xmm23, {rn-sae}
-0x62,0xa1,0x79,0x18,0x7b,0xf7
-
-# ATT: vcvtps2qq {rd-sae}, %xmm23, %ymm22 {%k7}
-# INTEL: vcvtps2qq ymm22 {k7}, xmm23, {rd-sae}
-0x62,0xa1,0x79,0x3f,0x7b,0xf7
-
-# ATT: vcvtps2qq {rz-sae}, %xmm23, %ymm22 {%k7} {z}
-# INTEL: vcvtps2qq ymm22 {k7} {z}, xmm23, {rz-sae}
-0x62,0xa1,0x79,0xff,0x7b,0xf7
-
-# ATT: vcvtps2udq {rn-sae}, %ymm23, %ymm22
-# INTEL: vcvtps2udq ymm22, ymm23, {rn-sae}
-0x62,0xa1,0x78,0x18,0x79,0xf7
-
-# ATT: vcvtps2udq {rd-sae}, %ymm23, %ymm22 {%k7}
-# INTEL: vcvtps2udq ymm22 {k7}, ymm23, {rd-sae}
-0x62,0xa1,0x78,0x3f,0x79,0xf7
-
-# ATT: vcvtps2udq {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vcvtps2udq ymm22 {k7} {z}, ymm23, {rz-sae}
-0x62,0xa1,0x78,0xff,0x79,0xf7
-
-# ATT: vcvtps2uqq {rn-sae}, %xmm23, %ymm22
-# INTEL: vcvtps2uqq ymm22, xmm23, {rn-sae}
-0x62,0xa1,0x79,0x18,0x79,0xf7
-
-# ATT: vcvtps2uqq {rd-sae}, %xmm23, %ymm22 {%k7}
-# INTEL: vcvtps2uqq ymm22 {k7}, xmm23, {rd-sae}
-0x62,0xa1,0x79,0x3f,0x79,0xf7
-
-# ATT: vcvtps2uqq {rz-sae}, %xmm23, %ymm22 {%k7} {z}
-# INTEL: vcvtps2uqq ymm22 {k7} {z}, xmm23, {rz-sae}
-0x62,0xa1,0x79,0xff,0x79,0xf7
-
-# ATT: vcvtqq2pd {rn-sae}, %ymm23, %ymm22
-# INTEL: vcvtqq2pd ymm22, ymm23, {rn-sae}
-0x62,0xa1,0xfa,0x18,0xe6,0xf7
-
-# ATT: vcvtqq2pd {rd-sae}, %ymm23, %ymm22 {%k7}
-# INTEL: vcvtqq2pd ymm22 {k7}, ymm23, {rd-sae}
-0x62,0xa1,0xfa,0x3f,0xe6,0xf7
-
-# ATT: vcvtqq2pd {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vcvtqq2pd ymm22 {k7} {z}, ymm23, {rz-sae}
-0x62,0xa1,0xfa,0xff,0xe6,0xf7
-
-# ATT: vcvtqq2ph {rn-sae}, %ymm23, %xmm22
-# INTEL: vcvtqq2ph xmm22, ymm23, {rn-sae}
-0x62,0xa5,0xf8,0x18,0x5b,0xf7
-
-# ATT: vcvtqq2ph {rd-sae}, %ymm23, %xmm22 {%k7}
-# INTEL: vcvtqq2ph xmm22 {k7}, ymm23, {rd-sae}
-0x62,0xa5,0xf8,0x3f,0x5b,0xf7
-
-# ATT: vcvtqq2ph {rz-sae}, %ymm23, %xmm22 {%k7} {z}
-# INTEL: vcvtqq2ph xmm22 {k7} {z}, ymm23, {rz-sae}
-0x62,0xa5,0xf8,0xff,0x5b,0xf7
-
-# ATT: vcvtqq2ps {rn-sae}, %ymm23, %xmm22
-# INTEL: vcvtqq2ps xmm22, ymm23, {rn-sae}
-0x62,0xa1,0xf8,0x18,0x5b,0xf7
-
-# ATT: vcvtqq2ps {rd-sae}, %ymm23, %xmm22 {%k7}
-# INTEL: vcvtqq2ps xmm22 {k7}, ymm23, {rd-sae}
-0x62,0xa1,0xf8,0x3f,0x5b,0xf7
-
-# ATT: vcvtqq2ps {rz-sae}, %ymm23, %xmm22 {%k7} {z}
-# INTEL: vcvtqq2ps xmm22 {k7} {z}, ymm23, {rz-sae}
-0x62,0xa1,0xf8,0xff,0x5b,0xf7
-
-# ATT: vcvttpd2dq {sae}, %ymm23, %xmm22
-# INTEL: vcvttpd2dq xmm22, ymm23, {sae}
-0x62,0xa1,0xf9,0x18,0xe6,0xf7
-
-# ATT: vcvttpd2dq {sae}, %ymm23, %xmm22 {%k7}
-# INTEL: vcvttpd2dq xmm22 {k7}, ymm23, {sae}
-0x62,0xa1,0xf9,0x1f,0xe6,0xf7
-
-# ATT: vcvttpd2dq {sae}, %ymm23, %xmm22 {%k7} {z}
-# INTEL: vcvttpd2dq xmm22 {k7} {z}, ymm23, {sae}
-0x62,0xa1,0xf9,0x9f,0xe6,0xf7
-
-# ATT: vcvttpd2qq {sae}, %ymm23, %ymm22
-# INTEL: vcvttpd2qq ymm22, ymm23, {sae}
-0x62,0xa1,0xf9,0x18,0x7a,0xf7
-
-# ATT: vcvttpd2qq {sae}, %ymm23, %ymm22 {%k7}
-# INTEL: vcvttpd2qq ymm22 {k7}, ymm23, {sae}
-0x62,0xa1,0xf9,0x1f,0x7a,0xf7
-
-# ATT: vcvttpd2qq {sae}, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vcvttpd2qq ymm22 {k7} {z}, ymm23, {sae}
-0x62,0xa1,0xf9,0x9f,0x7a,0xf7
-
-# ATT: vcvttpd2udq {sae}, %ymm23, %xmm22
-# INTEL: vcvttpd2udq xmm22, ymm23, {sae}
-0x62,0xa1,0xf8,0x18,0x78,0xf7
-
-# ATT: vcvttpd2udq {sae}, %ymm23, %xmm22 {%k7}
-# INTEL: vcvttpd2udq xmm22 {k7}, ymm23, {sae}
-0x62,0xa1,0xf8,0x1f,0x78,0xf7
-
-# ATT: vcvttpd2udq {sae}, %ymm23, %xmm22 {%k7} {z}
-# INTEL: vcvttpd2udq xmm22 {k7} {z}, ymm23, {sae}
-0x62,0xa1,0xf8,0x9f,0x78,0xf7
-
-# ATT: vcvttpd2uqq {sae}, %ymm23, %ymm22
-# INTEL: vcvttpd2uqq ymm22, ymm23, {sae}
-0x62,0xa1,0xf9,0x18,0x78,0xf7
-
-# ATT: vcvttpd2uqq {sae}, %ymm23, %ymm22 {%k7}
-# INTEL: vcvttpd2uqq ymm22 {k7}, ymm23, {sae}
-0x62,0xa1,0xf9,0x1f,0x78,0xf7
-
-# ATT: vcvttpd2uqq {sae}, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vcvttpd2uqq ymm22 {k7} {z}, ymm23, {sae}
-0x62,0xa1,0xf9,0x9f,0x78,0xf7
-
-# ATT: vcvttph2dq {sae}, %xmm23, %ymm22
-# INTEL: vcvttph2dq ymm22, xmm23, {sae}
-0x62,0xa5,0x7a,0x18,0x5b,0xf7
-
-# ATT: vcvttph2dq {sae}, %xmm23, %ymm22 {%k7}
-# INTEL: vcvttph2dq ymm22 {k7}, xmm23, {sae}
-0x62,0xa5,0x7a,0x1f,0x5b,0xf7
-
-# ATT: vcvttph2dq {sae}, %xmm23, %ymm22 {%k7} {z}
-# INTEL: vcvttph2dq ymm22 {k7} {z}, xmm23, {sae}
-0x62,0xa5,0x7a,0x9f,0x5b,0xf7
-
-# ATT: vcvttph2qq {sae}, %xmm23, %ymm22
-# INTEL: vcvttph2qq ymm22, xmm23, {sae}
-0x62,0xa5,0x79,0x18,0x7a,0xf7
-
-# ATT: vcvttph2qq {sae}, %xmm23, %ymm22 {%k7}
-# INTEL: vcvttph2qq ymm22 {k7}, xmm23, {sae}
-0x62,0xa5,0x79,0x1f,0x7a,0xf7
-
-# ATT: vcvttph2qq {sae}, %xmm23, %ymm22 {%k7} {z}
-# INTEL: vcvttph2qq ymm22 {k7} {z}, xmm23, {sae}
-0x62,0xa5,0x79,0x9f,0x7a,0xf7
-
-# ATT: vcvttph2udq {sae}, %xmm23, %ymm22
-# INTEL: vcvttph2udq ymm22, xmm23, {sae}
-0x62,0xa5,0x78,0x18,0x78,0xf7
-
-# ATT: vcvttph2udq {sae}, %xmm23, %ymm22 {%k7}
-# INTEL: vcvttph2udq ymm22 {k7}, xmm23, {sae}
-0x62,0xa5,0x78,0x1f,0x78,0xf7
-
-# ATT: vcvttph2udq {sae}, %xmm23, %ymm22 {%k7} {z}
-# INTEL: vcvttph2udq ymm22 {k7} {z}, xmm23, {sae}
-0x62,0xa5,0x78,0x9f,0x78,0xf7
-
-# ATT: vcvttph2uqq {sae}, %xmm23, %ymm22
-# INTEL: vcvttph2uqq ymm22, xmm23, {sae}
-0x62,0xa5,0x79,0x18,0x78,0xf7
-
-# ATT: vcvttph2uqq {sae}, %xmm23, %ymm22 {%k7}
-# INTEL: vcvttph2uqq ymm22 {k7}, xmm23, {sae}
-0x62,0xa5,0x79,0x1f,0x78,0xf7
-
-# ATT: vcvttph2uqq {sae}, %xmm23, %ymm22 {%k7} {z}
-# INTEL: vcvttph2uqq ymm22 {k7} {z}, xmm23, {sae}
-0x62,0xa5,0x79,0x9f,0x78,0xf7
-
-# ATT: vcvttph2uw {sae}, %ymm23, %ymm22
-# INTEL: vcvttph2uw ymm22, ymm23, {sae}
-0x62,0xa5,0x78,0x18,0x7c,0xf7
-
-# ATT: vcvttph2uw {sae}, %ymm23, %ymm22 {%k7}
-# INTEL: vcvttph2uw ymm22 {k7}, ymm23, {sae}
-0x62,0xa5,0x78,0x1f,0x7c,0xf7
-
-# ATT: vcvttph2uw {sae}, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vcvttph2uw ymm22 {k7} {z}, ymm23, {sae}
-0x62,0xa5,0x78,0x9f,0x7c,0xf7
-
-# ATT: vcvttph2w {sae}, %ymm23, %ymm22
-# INTEL: vcvttph2w ymm22, ymm23, {sae}
-0x62,0xa5,0x79,0x18,0x7c,0xf7
-
-# ATT: vcvttph2w {sae}, %ymm23, %ymm22 {%k7}
-# INTEL: vcvttph2w ymm22 {k7}, ymm23, {sae}
-0x62,0xa5,0x79,0x1f,0x7c,0xf7
-
-# ATT: vcvttph2w {sae}, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vcvttph2w ymm22 {k7} {z}, ymm23, {sae}
-0x62,0xa5,0x79,0x9f,0x7c,0xf7
-
-# ATT: vcvttps2dq {sae}, %ymm23, %ymm22
-# INTEL: vcvttps2dq ymm22, ymm23, {sae}
-0x62,0xa1,0x7a,0x18,0x5b,0xf7
-
-# ATT: vcvttps2dq {sae}, %ymm23, %ymm22 {%k7}
-# INTEL: vcvttps2dq ymm22 {k7}, ymm23, {sae}
-0x62,0xa1,0x7a,0x1f,0x5b,0xf7
-
-# ATT: vcvttps2dq {sae}, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vcvttps2dq ymm22 {k7} {z}, ymm23, {sae}
-0x62,0xa1,0x7a,0x9f,0x5b,0xf7
-
-# ATT: vcvttps2qq {sae}, %xmm23, %ymm22
-# INTEL: vcvttps2qq ymm22, xmm23, {sae}
-0x62,0xa1,0x79,0x18,0x7a,0xf7
-
-# ATT: vcvttps2qq {sae}, %xmm23, %ymm22 {%k7}
-# INTEL: vcvttps2qq ymm22 {k7}, xmm23, {sae}
-0x62,0xa1,0x79,0x1f,0x7a,0xf7
-
-# ATT: vcvttps2qq {sae}, %xmm23, %ymm22 {%k7} {z}
-# INTEL: vcvttps2qq ymm22 {k7} {z}, xmm23, {sae}
-0x62,0xa1,0x79,0x9f,0x7a,0xf7
-
-# ATT: vcvttps2udq {sae}, %ymm23, %ymm22
-# INTEL: vcvttps2udq ymm22, ymm23, {sae}
-0x62,0xa1,0x78,0x18,0x78,0xf7
-
-# ATT: vcvttps2udq {sae}, %ymm23, %ymm22 {%k7}
-# INTEL: vcvttps2udq ymm22 {k7}, ymm23, {sae}
-0x62,0xa1,0x78,0x1f,0x78,0xf7
-
-# ATT: vcvttps2udq {sae}, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vcvttps2udq ymm22 {k7} {z}, ymm23, {sae}
-0x62,0xa1,0x78,0x9f,0x78,0xf7
-
-# ATT: vcvttps2uqq {sae}, %xmm23, %ymm22
-# INTEL: vcvttps2uqq ymm22, xmm23, {sae}
-0x62,0xa1,0x79,0x18,0x78,0xf7
-
-# ATT: vcvttps2uqq {sae}, %xmm23, %ymm22 {%k7}
-# INTEL: vcvttps2uqq ymm22 {k7}, xmm23, {sae}
-0x62,0xa1,0x79,0x1f,0x78,0xf7
-
-# ATT: vcvttps2uqq {sae}, %xmm23, %ymm22 {%k7} {z}
-# INTEL: vcvttps2uqq ymm22 {k7} {z}, xmm23, {sae}
-0x62,0xa1,0x79,0x9f,0x78,0xf7
-
-# ATT: vcvtudq2ph {rn-sae}, %ymm23, %xmm22
-# INTEL: vcvtudq2ph xmm22, ymm23, {rn-sae}
-0x62,0xa5,0x7b,0x18,0x7a,0xf7
-
-# ATT: vcvtudq2ph {rd-sae}, %ymm23, %xmm22 {%k7}
-# INTEL: vcvtudq2ph xmm22 {k7}, ymm23, {rd-sae}
-0x62,0xa5,0x7b,0x3f,0x7a,0xf7
-
-# ATT: vcvtudq2ph {rz-sae}, %ymm23, %xmm22 {%k7} {z}
-# INTEL: vcvtudq2ph xmm22 {k7} {z}, ymm23, {rz-sae}
-0x62,0xa5,0x7b,0xff,0x7a,0xf7
-
-# ATT: vcvtudq2ps {rn-sae}, %ymm23, %ymm22
-# INTEL: vcvtudq2ps ymm22, ymm23, {rn-sae}
-0x62,0xa1,0x7b,0x18,0x7a,0xf7
-
-# ATT: vcvtudq2ps {rd-sae}, %ymm23, %ymm22 {%k7}
-# INTEL: vcvtudq2ps ymm22 {k7}, ymm23, {rd-sae}
-0x62,0xa1,0x7b,0x3f,0x7a,0xf7
-
-# ATT: vcvtudq2ps {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vcvtudq2ps ymm22 {k7} {z}, ymm23, {rz-sae}
-0x62,0xa1,0x7b,0xff,0x7a,0xf7
-
-# ATT: vcvtuqq2pd {rn-sae}, %ymm23, %ymm22
-# INTEL: vcvtuqq2pd ymm22, ymm23, {rn-sae}
-0x62,0xa1,0xfa,0x18,0x7a,0xf7
-
-# ATT: vcvtuqq2pd {rd-sae}, %ymm23, %ymm22 {%k7}
-# INTEL: vcvtuqq2pd ymm22 {k7}, ymm23, {rd-sae}
-0x62,0xa1,0xfa,0x3f,0x7a,0xf7
-
-# ATT: vcvtuqq2pd {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vcvtuqq2pd ymm22 {k7} {z}, ymm23, {rz-sae}
-0x62,0xa1,0xfa,0xff,0x7a,0xf7
-
-# ATT: vcvtuqq2ph {rn-sae}, %ymm23, %xmm22
-# INTEL: vcvtuqq2ph xmm22, ymm23, {rn-sae}
-0x62,0xa5,0xfb,0x18,0x7a,0xf7
-
-# ATT: vcvtuqq2ph {rd-sae}, %ymm23, %xmm22 {%k7}
-# INTEL: vcvtuqq2ph xmm22 {k7}, ymm23, {rd-sae}
-0x62,0xa5,0xfb,0x3f,0x7a,0xf7
-
-# ATT: vcvtuqq2ph {rz-sae}, %ymm23, %xmm22 {%k7} {z}
-# INTEL: vcvtuqq2ph xmm22 {k7} {z}, ymm23, {rz-sae}
-0x62,0xa5,0xfb,0xff,0x7a,0xf7
-
-# ATT: vcvtuqq2ps {rn-sae}, %ymm23, %xmm22
-# INTEL: vcvtuqq2ps xmm22, ymm23, {rn-sae}
-0x62,0xa1,0xfb,0x18,0x7a,0xf7
-
-# ATT: vcvtuqq2ps {rd-sae}, %ymm23, %xmm22 {%k7}
-# INTEL: vcvtuqq2ps xmm22 {k7}, ymm23, {rd-sae}
-0x62,0xa1,0xfb,0x3f,0x7a,0xf7
-
-# ATT: vcvtuqq2ps {rz-sae}, %ymm23, %xmm22 {%k7} {z}
-# INTEL: vcvtuqq2ps xmm22 {k7} {z}, ymm23, {rz-sae}
-0x62,0xa1,0xfb,0xff,0x7a,0xf7
-
-# ATT: vcvtuw2ph {rn-sae}, %ymm23, %ymm22
-# INTEL: vcvtuw2ph ymm22, ymm23, {rn-sae}
-0x62,0xa5,0x7b,0x18,0x7d,0xf7
-
-# ATT: vcvtuw2ph {rd-sae}, %ymm23, %ymm22 {%k7}
-# INTEL: vcvtuw2ph ymm22 {k7}, ymm23, {rd-sae}
-0x62,0xa5,0x7b,0x3f,0x7d,0xf7
-
-# ATT: vcvtuw2ph {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vcvtuw2ph ymm22 {k7} {z}, ymm23, {rz-sae}
-0x62,0xa5,0x7b,0xff,0x7d,0xf7
-
-# ATT: vcvtw2ph {rn-sae}, %ymm23, %ymm22
-# INTEL: vcvtw2ph ymm22, ymm23, {rn-sae}
-0x62,0xa5,0x7a,0x18,0x7d,0xf7
-
-# ATT: vcvtw2ph {rd-sae}, %ymm23, %ymm22 {%k7}
-# INTEL: vcvtw2ph ymm22 {k7}, ymm23, {rd-sae}
-0x62,0xa5,0x7a,0x3f,0x7d,0xf7
-
-# ATT: vcvtw2ph {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vcvtw2ph ymm22 {k7} {z}, ymm23, {rz-sae}
-0x62,0xa5,0x7a,0xff,0x7d,0xf7
-
-# ATT: vdivpd {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vdivpd ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x81,0xc1,0x10,0x5e,0xf0
-
-# ATT: vdivpd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vdivpd ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x81,0xc1,0x37,0x5e,0xf0
-
-# ATT: vdivpd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vdivpd ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x81,0xc1,0xf7,0x5e,0xf0
-
-# ATT: vdivph {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vdivph ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x85,0x40,0x10,0x5e,0xf0
-
-# ATT: vdivph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vdivph ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x85,0x40,0x37,0x5e,0xf0
-
-# ATT: vdivph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vdivph ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x85,0x40,0xf7,0x5e,0xf0
-
-# ATT: vdivps {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vdivps ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x81,0x40,0x10,0x5e,0xf0
-
-# ATT: vdivps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vdivps ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x81,0x40,0x37,0x5e,0xf0
-
-# ATT: vdivps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vdivps ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x81,0x40,0xf7,0x5e,0xf0
-
-# ATT: vfcmaddcph {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfcmaddcph ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x86,0x43,0x10,0x56,0xf0
-
-# ATT: vfcmaddcph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfcmaddcph ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x86,0x43,0x37,0x56,0xf0
-
-# ATT: vfcmaddcph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfcmaddcph ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x86,0x43,0xf7,0x56,0xf0
-
-# ATT: vfcmulcph {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfcmulcph ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x86,0x43,0x10,0xd6,0xf0
-
-# ATT: vfcmulcph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfcmulcph ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x86,0x43,0x37,0xd6,0xf0
-
-# ATT: vfcmulcph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfcmulcph ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x86,0x43,0xf7,0xd6,0xf0
-
-# ATT: vfixupimmpd $123, {sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfixupimmpd ymm22, ymm23, ymm24, {sae}, 123
-0x62,0x83,0xc1,0x10,0x54,0xf0,0x7b
-
-# ATT: vfixupimmpd $123, {sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfixupimmpd ymm22 {k7}, ymm23, ymm24, {sae}, 123
-0x62,0x83,0xc1,0x17,0x54,0xf0,0x7b
-
-# ATT: vfixupimmpd $123, {sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfixupimmpd ymm22 {k7} {z}, ymm23, ymm24, {sae}, 123
-0x62,0x83,0xc1,0x97,0x54,0xf0,0x7b
-
-# ATT: vfixupimmps $123, {sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfixupimmps ymm22, ymm23, ymm24, {sae}, 123
-0x62,0x83,0x41,0x10,0x54,0xf0,0x7b
-
-# ATT: vfixupimmps $123, {sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfixupimmps ymm22 {k7}, ymm23, ymm24, {sae}, 123
-0x62,0x83,0x41,0x17,0x54,0xf0,0x7b
-
-# ATT: vfixupimmps $123, {sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfixupimmps ymm22 {k7} {z}, ymm23, ymm24, {sae}, 123
-0x62,0x83,0x41,0x97,0x54,0xf0,0x7b
-
-# ATT: vfmadd132pd {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfmadd132pd ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x82,0xc1,0x10,0x98,0xf0
-
-# ATT: vfmadd132pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfmadd132pd ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x82,0xc1,0x37,0x98,0xf0
-
-# ATT: vfmadd132pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfmadd132pd ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x82,0xc1,0xf7,0x98,0xf0
-
-# ATT: vfmadd132ph {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfmadd132ph ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x86,0x41,0x10,0x98,0xf0
-
-# ATT: vfmadd132ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfmadd132ph ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x86,0x41,0x37,0x98,0xf0
-
-# ATT: vfmadd132ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfmadd132ph ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x86,0x41,0xf7,0x98,0xf0
-
-# ATT: vfmadd132ps {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfmadd132ps ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x82,0x41,0x10,0x98,0xf0
-
-# ATT: vfmadd132ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfmadd132ps ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x82,0x41,0x37,0x98,0xf0
-
-# ATT: vfmadd132ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfmadd132ps ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x82,0x41,0xf7,0x98,0xf0
-
-# ATT: vfmadd213pd {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfmadd213pd ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x82,0xc1,0x10,0xa8,0xf0
-
-# ATT: vfmadd213pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfmadd213pd ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x82,0xc1,0x37,0xa8,0xf0
-
-# ATT: vfmadd213pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfmadd213pd ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x82,0xc1,0xf7,0xa8,0xf0
-
-# ATT: vfmadd213ph {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfmadd213ph ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x86,0x41,0x10,0xa8,0xf0
-
-# ATT: vfmadd213ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfmadd213ph ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x86,0x41,0x37,0xa8,0xf0
-
-# ATT: vfmadd213ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfmadd213ph ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x86,0x41,0xf7,0xa8,0xf0
-
-# ATT: vfmadd213ps {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfmadd213ps ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x82,0x41,0x10,0xa8,0xf0
-
-# ATT: vfmadd213ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfmadd213ps ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x82,0x41,0x37,0xa8,0xf0
-
-# ATT: vfmadd213ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfmadd213ps ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x82,0x41,0xf7,0xa8,0xf0
-
-# ATT: vfmadd231pd {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfmadd231pd ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x82,0xc1,0x10,0xb8,0xf0
-
-# ATT: vfmadd231pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfmadd231pd ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x82,0xc1,0x37,0xb8,0xf0
-
-# ATT: vfmadd231pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfmadd231pd ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x82,0xc1,0xf7,0xb8,0xf0
-
-# ATT: vfmadd231ph {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfmadd231ph ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x86,0x41,0x10,0xb8,0xf0
-
-# ATT: vfmadd231ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfmadd231ph ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x86,0x41,0x37,0xb8,0xf0
-
-# ATT: vfmadd231ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfmadd231ph ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x86,0x41,0xf7,0xb8,0xf0
-
-# ATT: vfmadd231ps {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfmadd231ps ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x82,0x41,0x10,0xb8,0xf0
-
-# ATT: vfmadd231ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfmadd231ps ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x82,0x41,0x37,0xb8,0xf0
-
-# ATT: vfmadd231ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfmadd231ps ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x82,0x41,0xf7,0xb8,0xf0
-
-# ATT: vfmaddcph {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfmaddcph ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x86,0x42,0x10,0x56,0xf0
-
-# ATT: vfmaddcph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfmaddcph ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x86,0x42,0x37,0x56,0xf0
-
-# ATT: vfmaddcph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfmaddcph ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x86,0x42,0xf7,0x56,0xf0
-
-# ATT: vfmaddsub132pd {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfmaddsub132pd ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x82,0xc1,0x10,0x96,0xf0
-
-# ATT: vfmaddsub132pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfmaddsub132pd ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x82,0xc1,0x37,0x96,0xf0
-
-# ATT: vfmaddsub132pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfmaddsub132pd ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x82,0xc1,0xf7,0x96,0xf0
-
-# ATT: vfmaddsub132ph {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfmaddsub132ph ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x86,0x41,0x10,0x96,0xf0
-
-# ATT: vfmaddsub132ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfmaddsub132ph ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x86,0x41,0x37,0x96,0xf0
-
-# ATT: vfmaddsub132ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfmaddsub132ph ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x86,0x41,0xf7,0x96,0xf0
-
-# ATT: vfmaddsub132ps {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfmaddsub132ps ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x82,0x41,0x10,0x96,0xf0
-
-# ATT: vfmaddsub132ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfmaddsub132ps ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x82,0x41,0x37,0x96,0xf0
-
-# ATT: vfmaddsub132ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfmaddsub132ps ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x82,0x41,0xf7,0x96,0xf0
-
-# ATT: vfmaddsub213pd {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfmaddsub213pd ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x82,0xc1,0x10,0xa6,0xf0
-
-# ATT: vfmaddsub213pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfmaddsub213pd ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x82,0xc1,0x37,0xa6,0xf0
-
-# ATT: vfmaddsub213pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfmaddsub213pd ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x82,0xc1,0xf7,0xa6,0xf0
-
-# ATT: vfmaddsub213ph {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfmaddsub213ph ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x86,0x41,0x10,0xa6,0xf0
-
-# ATT: vfmaddsub213ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfmaddsub213ph ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x86,0x41,0x37,0xa6,0xf0
-
-# ATT: vfmaddsub213ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfmaddsub213ph ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x86,0x41,0xf7,0xa6,0xf0
-
-# ATT: vfmaddsub213ps {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfmaddsub213ps ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x82,0x41,0x10,0xa6,0xf0
-
-# ATT: vfmaddsub213ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfmaddsub213ps ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x82,0x41,0x37,0xa6,0xf0
-
-# ATT: vfmaddsub213ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfmaddsub213ps ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x82,0x41,0xf7,0xa6,0xf0
-
-# ATT: vfmaddsub231pd {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfmaddsub231pd ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x82,0xc1,0x10,0xb6,0xf0
-
-# ATT: vfmaddsub231pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfmaddsub231pd ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x82,0xc1,0x37,0xb6,0xf0
-
-# ATT: vfmaddsub231pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfmaddsub231pd ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x82,0xc1,0xf7,0xb6,0xf0
-
-# ATT: vfmaddsub231ph {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfmaddsub231ph ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x86,0x41,0x10,0xb6,0xf0
-
-# ATT: vfmaddsub231ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfmaddsub231ph ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x86,0x41,0x37,0xb6,0xf0
-
-# ATT: vfmaddsub231ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfmaddsub231ph ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x86,0x41,0xf7,0xb6,0xf0
-
-# ATT: vfmaddsub231ps {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfmaddsub231ps ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x82,0x41,0x10,0xb6,0xf0
-
-# ATT: vfmaddsub231ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfmaddsub231ps ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x82,0x41,0x37,0xb6,0xf0
-
-# ATT: vfmaddsub231ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfmaddsub231ps ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x82,0x41,0xf7,0xb6,0xf0
-
-# ATT: vfmsub132pd {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfmsub132pd ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x82,0xc1,0x10,0x9a,0xf0
-
-# ATT: vfmsub132pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfmsub132pd ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x82,0xc1,0x37,0x9a,0xf0
-
-# ATT: vfmsub132pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfmsub132pd ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x82,0xc1,0xf7,0x9a,0xf0
-
-# ATT: vfmsub132ph {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfmsub132ph ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x86,0x41,0x10,0x9a,0xf0
-
-# ATT: vfmsub132ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfmsub132ph ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x86,0x41,0x37,0x9a,0xf0
-
-# ATT: vfmsub132ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfmsub132ph ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x86,0x41,0xf7,0x9a,0xf0
-
-# ATT: vfmsub132ps {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfmsub132ps ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x82,0x41,0x10,0x9a,0xf0
-
-# ATT: vfmsub132ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfmsub132ps ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x82,0x41,0x37,0x9a,0xf0
-
-# ATT: vfmsub132ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfmsub132ps ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x82,0x41,0xf7,0x9a,0xf0
-
-# ATT: vfmsub213pd {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfmsub213pd ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x82,0xc1,0x10,0xaa,0xf0
-
-# ATT: vfmsub213pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfmsub213pd ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x82,0xc1,0x37,0xaa,0xf0
-
-# ATT: vfmsub213pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfmsub213pd ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x82,0xc1,0xf7,0xaa,0xf0
-
-# ATT: vfmsub213ph {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfmsub213ph ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x86,0x41,0x10,0xaa,0xf0
-
-# ATT: vfmsub213ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfmsub213ph ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x86,0x41,0x37,0xaa,0xf0
-
-# ATT: vfmsub213ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfmsub213ph ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x86,0x41,0xf7,0xaa,0xf0
-
-# ATT: vfmsub213ps {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfmsub213ps ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x82,0x41,0x10,0xaa,0xf0
-
-# ATT: vfmsub213ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfmsub213ps ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x82,0x41,0x37,0xaa,0xf0
-
-# ATT: vfmsub213ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfmsub213ps ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x82,0x41,0xf7,0xaa,0xf0
-
-# ATT: vfmsub231pd {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfmsub231pd ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x82,0xc1,0x10,0xba,0xf0
-
-# ATT: vfmsub231pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfmsub231pd ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x82,0xc1,0x37,0xba,0xf0
-
-# ATT: vfmsub231pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfmsub231pd ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x82,0xc1,0xf7,0xba,0xf0
-
-# ATT: vfmsub231ph {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfmsub231ph ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x86,0x41,0x10,0xba,0xf0
-
-# ATT: vfmsub231ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfmsub231ph ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x86,0x41,0x37,0xba,0xf0
-
-# ATT: vfmsub231ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfmsub231ph ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x86,0x41,0xf7,0xba,0xf0
-
-# ATT: vfmsub231ps {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfmsub231ps ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x82,0x41,0x10,0xba,0xf0
-
-# ATT: vfmsub231ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfmsub231ps ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x82,0x41,0x37,0xba,0xf0
-
-# ATT: vfmsub231ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfmsub231ps ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x82,0x41,0xf7,0xba,0xf0
-
-# ATT: vfmsubadd132pd {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfmsubadd132pd ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x82,0xc1,0x10,0x97,0xf0
-
-# ATT: vfmsubadd132pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfmsubadd132pd ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x82,0xc1,0x37,0x97,0xf0
-
-# ATT: vfmsubadd132pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfmsubadd132pd ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x82,0xc1,0xf7,0x97,0xf0
-
-# ATT: vfmsubadd132ph {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfmsubadd132ph ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x86,0x41,0x10,0x97,0xf0
-
-# ATT: vfmsubadd132ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfmsubadd132ph ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x86,0x41,0x37,0x97,0xf0
-
-# ATT: vfmsubadd132ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfmsubadd132ph ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x86,0x41,0xf7,0x97,0xf0
-
-# ATT: vfmsubadd132ps {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfmsubadd132ps ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x82,0x41,0x10,0x97,0xf0
-
-# ATT: vfmsubadd132ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfmsubadd132ps ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x82,0x41,0x37,0x97,0xf0
-
-# ATT: vfmsubadd132ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfmsubadd132ps ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x82,0x41,0xf7,0x97,0xf0
-
-# ATT: vfmsubadd213pd {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfmsubadd213pd ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x82,0xc1,0x10,0xa7,0xf0
-
-# ATT: vfmsubadd213pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfmsubadd213pd ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x82,0xc1,0x37,0xa7,0xf0
-
-# ATT: vfmsubadd213pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfmsubadd213pd ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x82,0xc1,0xf7,0xa7,0xf0
-
-# ATT: vfmsubadd213ph {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfmsubadd213ph ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x86,0x41,0x10,0xa7,0xf0
-
-# ATT: vfmsubadd213ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfmsubadd213ph ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x86,0x41,0x37,0xa7,0xf0
-
-# ATT: vfmsubadd213ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfmsubadd213ph ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x86,0x41,0xf7,0xa7,0xf0
-
-# ATT: vfmsubadd213ps {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfmsubadd213ps ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x82,0x41,0x10,0xa7,0xf0
-
-# ATT: vfmsubadd213ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfmsubadd213ps ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x82,0x41,0x37,0xa7,0xf0
-
-# ATT: vfmsubadd213ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfmsubadd213ps ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x82,0x41,0xf7,0xa7,0xf0
-
-# ATT: vfmsubadd231pd {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfmsubadd231pd ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x82,0xc1,0x10,0xb7,0xf0
-
-# ATT: vfmsubadd231pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfmsubadd231pd ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x82,0xc1,0x37,0xb7,0xf0
-
-# ATT: vfmsubadd231pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfmsubadd231pd ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x82,0xc1,0xf7,0xb7,0xf0
-
-# ATT: vfmsubadd231ph {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfmsubadd231ph ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x86,0x41,0x10,0xb7,0xf0
-
-# ATT: vfmsubadd231ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfmsubadd231ph ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x86,0x41,0x37,0xb7,0xf0
-
-# ATT: vfmsubadd231ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfmsubadd231ph ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x86,0x41,0xf7,0xb7,0xf0
-
-# ATT: vfmsubadd231ps {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfmsubadd231ps ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x82,0x41,0x10,0xb7,0xf0
-
-# ATT: vfmsubadd231ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfmsubadd231ps ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x82,0x41,0x37,0xb7,0xf0
-
-# ATT: vfmsubadd231ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfmsubadd231ps ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x82,0x41,0xf7,0xb7,0xf0
-
-# ATT: vfmulcph {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfmulcph ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x86,0x42,0x10,0xd6,0xf0
-
-# ATT: vfmulcph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfmulcph ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x86,0x42,0x37,0xd6,0xf0
-
-# ATT: vfmulcph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfmulcph ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x86,0x42,0xf7,0xd6,0xf0
-
-# ATT: vfnmadd132pd {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfnmadd132pd ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x82,0xc1,0x10,0x9c,0xf0
-
-# ATT: vfnmadd132pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfnmadd132pd ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x82,0xc1,0x37,0x9c,0xf0
-
-# ATT: vfnmadd132pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfnmadd132pd ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x82,0xc1,0xf7,0x9c,0xf0
-
-# ATT: vfnmadd132ph {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfnmadd132ph ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x86,0x41,0x10,0x9c,0xf0
-
-# ATT: vfnmadd132ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfnmadd132ph ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x86,0x41,0x37,0x9c,0xf0
-
-# ATT: vfnmadd132ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfnmadd132ph ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x86,0x41,0xf7,0x9c,0xf0
-
-# ATT: vfnmadd132ps {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfnmadd132ps ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x82,0x41,0x10,0x9c,0xf0
-
-# ATT: vfnmadd132ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfnmadd132ps ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x82,0x41,0x37,0x9c,0xf0
-
-# ATT: vfnmadd132ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfnmadd132ps ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x82,0x41,0xf7,0x9c,0xf0
-
-# ATT: vfnmadd213pd {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfnmadd213pd ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x82,0xc1,0x10,0xac,0xf0
-
-# ATT: vfnmadd213pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfnmadd213pd ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x82,0xc1,0x37,0xac,0xf0
-
-# ATT: vfnmadd213pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfnmadd213pd ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x82,0xc1,0xf7,0xac,0xf0
-
-# ATT: vfnmadd213ph {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfnmadd213ph ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x86,0x41,0x10,0xac,0xf0
-
-# ATT: vfnmadd213ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfnmadd213ph ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x86,0x41,0x37,0xac,0xf0
-
-# ATT: vfnmadd213ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfnmadd213ph ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x86,0x41,0xf7,0xac,0xf0
-
-# ATT: vfnmadd213ps {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfnmadd213ps ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x82,0x41,0x10,0xac,0xf0
-
-# ATT: vfnmadd213ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfnmadd213ps ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x82,0x41,0x37,0xac,0xf0
-
-# ATT: vfnmadd213ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfnmadd213ps ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x82,0x41,0xf7,0xac,0xf0
-
-# ATT: vfnmadd231pd {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfnmadd231pd ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x82,0xc1,0x10,0xbc,0xf0
-
-# ATT: vfnmadd231pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfnmadd231pd ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x82,0xc1,0x37,0xbc,0xf0
-
-# ATT: vfnmadd231pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfnmadd231pd ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x82,0xc1,0xf7,0xbc,0xf0
-
-# ATT: vfnmadd231ph {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfnmadd231ph ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x86,0x41,0x10,0xbc,0xf0
-
-# ATT: vfnmadd231ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfnmadd231ph ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x86,0x41,0x37,0xbc,0xf0
-
-# ATT: vfnmadd231ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfnmadd231ph ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x86,0x41,0xf7,0xbc,0xf0
-
-# ATT: vfnmadd231ps {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfnmadd231ps ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x82,0x41,0x10,0xbc,0xf0
-
-# ATT: vfnmadd231ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfnmadd231ps ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x82,0x41,0x37,0xbc,0xf0
-
-# ATT: vfnmadd231ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfnmadd231ps ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x82,0x41,0xf7,0xbc,0xf0
-
-# ATT: vfnmsub132pd {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfnmsub132pd ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x82,0xc1,0x10,0x9e,0xf0
-
-# ATT: vfnmsub132pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfnmsub132pd ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x82,0xc1,0x37,0x9e,0xf0
-
-# ATT: vfnmsub132pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfnmsub132pd ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x82,0xc1,0xf7,0x9e,0xf0
-
-# ATT: vfnmsub132ph {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfnmsub132ph ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x86,0x41,0x10,0x9e,0xf0
-
-# ATT: vfnmsub132ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfnmsub132ph ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x86,0x41,0x37,0x9e,0xf0
-
-# ATT: vfnmsub132ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfnmsub132ph ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x86,0x41,0xf7,0x9e,0xf0
-
-# ATT: vfnmsub132ps {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfnmsub132ps ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x82,0x41,0x10,0x9e,0xf0
-
-# ATT: vfnmsub132ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfnmsub132ps ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x82,0x41,0x37,0x9e,0xf0
-
-# ATT: vfnmsub132ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfnmsub132ps ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x82,0x41,0xf7,0x9e,0xf0
-
-# ATT: vfnmsub213pd {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfnmsub213pd ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x82,0xc1,0x10,0xae,0xf0
-
-# ATT: vfnmsub213pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfnmsub213pd ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x82,0xc1,0x37,0xae,0xf0
-
-# ATT: vfnmsub213pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfnmsub213pd ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x82,0xc1,0xf7,0xae,0xf0
-
-# ATT: vfnmsub213ph {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfnmsub213ph ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x86,0x41,0x10,0xae,0xf0
-
-# ATT: vfnmsub213ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfnmsub213ph ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x86,0x41,0x37,0xae,0xf0
-
-# ATT: vfnmsub213ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfnmsub213ph ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x86,0x41,0xf7,0xae,0xf0
-
-# ATT: vfnmsub213ps {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfnmsub213ps ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x82,0x41,0x10,0xae,0xf0
-
-# ATT: vfnmsub213ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfnmsub213ps ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x82,0x41,0x37,0xae,0xf0
-
-# ATT: vfnmsub213ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfnmsub213ps ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x82,0x41,0xf7,0xae,0xf0
-
-# ATT: vfnmsub231pd {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfnmsub231pd ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x82,0xc1,0x10,0xbe,0xf0
-
-# ATT: vfnmsub231pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfnmsub231pd ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x82,0xc1,0x37,0xbe,0xf0
-
-# ATT: vfnmsub231pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfnmsub231pd ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x82,0xc1,0xf7,0xbe,0xf0
-
-# ATT: vfnmsub231ph {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfnmsub231ph ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x86,0x41,0x10,0xbe,0xf0
-
-# ATT: vfnmsub231ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfnmsub231ph ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x86,0x41,0x37,0xbe,0xf0
-
-# ATT: vfnmsub231ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfnmsub231ph ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x86,0x41,0xf7,0xbe,0xf0
-
-# ATT: vfnmsub231ps {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vfnmsub231ps ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x82,0x41,0x10,0xbe,0xf0
-
-# ATT: vfnmsub231ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vfnmsub231ps ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x82,0x41,0x37,0xbe,0xf0
-
-# ATT: vfnmsub231ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vfnmsub231ps ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x82,0x41,0xf7,0xbe,0xf0
-
-# ATT: vgetexppd {sae}, %ymm23, %ymm22
-# INTEL: vgetexppd ymm22, ymm23, {sae}
-0x62,0xa2,0xf9,0x18,0x42,0xf7
-
-# ATT: vgetexppd {sae}, %ymm23, %ymm22 {%k7}
-# INTEL: vgetexppd ymm22 {k7}, ymm23, {sae}
-0x62,0xa2,0xf9,0x1f,0x42,0xf7
-
-# ATT: vgetexppd {sae}, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vgetexppd ymm22 {k7} {z}, ymm23, {sae}
-0x62,0xa2,0xf9,0x9f,0x42,0xf7
-
-# ATT: vgetexpph {sae}, %ymm23, %ymm22
-# INTEL: vgetexpph ymm22, ymm23, {sae}
-0x62,0xa6,0x79,0x18,0x42,0xf7
-
-# ATT: vgetexpph {sae}, %ymm23, %ymm22 {%k7}
-# INTEL: vgetexpph ymm22 {k7}, ymm23, {sae}
-0x62,0xa6,0x79,0x1f,0x42,0xf7
-
-# ATT: vgetexpph {sae}, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vgetexpph ymm22 {k7} {z}, ymm23, {sae}
-0x62,0xa6,0x79,0x9f,0x42,0xf7
-
-# ATT: vgetexpps {sae}, %ymm23, %ymm22
-# INTEL: vgetexpps ymm22, ymm23, {sae}
-0x62,0xa2,0x79,0x18,0x42,0xf7
-
-# ATT: vgetexpps {sae}, %ymm23, %ymm22 {%k7}
-# INTEL: vgetexpps ymm22 {k7}, ymm23, {sae}
-0x62,0xa2,0x79,0x1f,0x42,0xf7
-
-# ATT: vgetexpps {sae}, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vgetexpps ymm22 {k7} {z}, ymm23, {sae}
-0x62,0xa2,0x79,0x9f,0x42,0xf7
-
-# ATT: vgetmantpd $123, {sae}, %ymm23, %ymm22
-# INTEL: vgetmantpd ymm22, ymm23, {sae}, 123
-0x62,0xa3,0xf9,0x18,0x26,0xf7,0x7b
-
-# ATT: vgetmantpd $123, {sae}, %ymm23, %ymm22 {%k7}
-# INTEL: vgetmantpd ymm22 {k7}, ymm23, {sae}, 123
-0x62,0xa3,0xf9,0x1f,0x26,0xf7,0x7b
-
-# ATT: vgetmantpd $123, {sae}, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vgetmantpd ymm22 {k7} {z}, ymm23, {sae}, 123
-0x62,0xa3,0xf9,0x9f,0x26,0xf7,0x7b
-
-# ATT: vgetmantph $123, {sae}, %ymm23, %ymm22
-# INTEL: vgetmantph ymm22, ymm23, {sae}, 123
-0x62,0xa3,0x78,0x18,0x26,0xf7,0x7b
-
-# ATT: vgetmantph $123, {sae}, %ymm23, %ymm22 {%k7}
-# INTEL: vgetmantph ymm22 {k7}, ymm23, {sae}, 123
-0x62,0xa3,0x78,0x1f,0x26,0xf7,0x7b
-
-# ATT: vgetmantph $123, {sae}, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vgetmantph ymm22 {k7} {z}, ymm23, {sae}, 123
-0x62,0xa3,0x78,0x9f,0x26,0xf7,0x7b
-
-# ATT: vgetmantps $123, {sae}, %ymm23, %ymm22
-# INTEL: vgetmantps ymm22, ymm23, {sae}, 123
-0x62,0xa3,0x79,0x18,0x26,0xf7,0x7b
-
-# ATT: vgetmantps $123, {sae}, %ymm23, %ymm22 {%k7}
-# INTEL: vgetmantps ymm22 {k7}, ymm23, {sae}, 123
-0x62,0xa3,0x79,0x1f,0x26,0xf7,0x7b
-
-# ATT: vgetmantps $123, {sae}, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vgetmantps ymm22 {k7} {z}, ymm23, {sae}, 123
-0x62,0xa3,0x79,0x9f,0x26,0xf7,0x7b
-
-# ATT: vmaxpd {sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vmaxpd ymm22, ymm23, ymm24, {sae}
-0x62,0x81,0xc1,0x10,0x5f,0xf0
-
-# ATT: vmaxpd {sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vmaxpd ymm22 {k7}, ymm23, ymm24, {sae}
-0x62,0x81,0xc1,0x17,0x5f,0xf0
-
-# ATT: vmaxpd {sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vmaxpd ymm22 {k7} {z}, ymm23, ymm24, {sae}
-0x62,0x81,0xc1,0x97,0x5f,0xf0
-
-# ATT: vmaxph {sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vmaxph ymm22, ymm23, ymm24, {sae}
-0x62,0x85,0x40,0x10,0x5f,0xf0
-
-# ATT: vmaxph {sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vmaxph ymm22 {k7}, ymm23, ymm24, {sae}
-0x62,0x85,0x40,0x17,0x5f,0xf0
-
-# ATT: vmaxph {sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vmaxph ymm22 {k7} {z}, ymm23, ymm24, {sae}
-0x62,0x85,0x40,0x97,0x5f,0xf0
-
-# ATT: vmaxps {sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vmaxps ymm22, ymm23, ymm24, {sae}
-0x62,0x81,0x40,0x10,0x5f,0xf0
-
-# ATT: vmaxps {sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vmaxps ymm22 {k7}, ymm23, ymm24, {sae}
-0x62,0x81,0x40,0x17,0x5f,0xf0
-
-# ATT: vmaxps {sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vmaxps ymm22 {k7} {z}, ymm23, ymm24, {sae}
-0x62,0x81,0x40,0x97,0x5f,0xf0
-
-# ATT: vminpd {sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vminpd ymm22, ymm23, ymm24, {sae}
-0x62,0x81,0xc1,0x10,0x5d,0xf0
-
-# ATT: vminpd {sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vminpd ymm22 {k7}, ymm23, ymm24, {sae}
-0x62,0x81,0xc1,0x17,0x5d,0xf0
-
-# ATT: vminpd {sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vminpd ymm22 {k7} {z}, ymm23, ymm24, {sae}
-0x62,0x81,0xc1,0x97,0x5d,0xf0
-
-# ATT: vminph {sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vminph ymm22, ymm23, ymm24, {sae}
-0x62,0x85,0x40,0x10,0x5d,0xf0
-
-# ATT: vminph {sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vminph ymm22 {k7}, ymm23, ymm24, {sae}
-0x62,0x85,0x40,0x17,0x5d,0xf0
-
-# ATT: vminph {sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vminph ymm22 {k7} {z}, ymm23, ymm24, {sae}
-0x62,0x85,0x40,0x97,0x5d,0xf0
-
-# ATT: vminps {sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vminps ymm22, ymm23, ymm24, {sae}
-0x62,0x81,0x40,0x10,0x5d,0xf0
-
-# ATT: vminps {sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vminps ymm22 {k7}, ymm23, ymm24, {sae}
-0x62,0x81,0x40,0x17,0x5d,0xf0
-
-# ATT: vminps {sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vminps ymm22 {k7} {z}, ymm23, ymm24, {sae}
-0x62,0x81,0x40,0x97,0x5d,0xf0
-
-# ATT: vmulpd {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vmulpd ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x81,0xc1,0x10,0x59,0xf0
-
-# ATT: vmulpd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vmulpd ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x81,0xc1,0x37,0x59,0xf0
-
-# ATT: vmulpd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vmulpd ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x81,0xc1,0xf7,0x59,0xf0
-
-# ATT: vmulph {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vmulph ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x85,0x40,0x10,0x59,0xf0
-
-# ATT: vmulph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vmulph ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x85,0x40,0x37,0x59,0xf0
-
-# ATT: vmulph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vmulph ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x85,0x40,0xf7,0x59,0xf0
-
-# ATT: vmulps {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vmulps ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x81,0x40,0x10,0x59,0xf0
-
-# ATT: vmulps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vmulps ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x81,0x40,0x37,0x59,0xf0
-
-# ATT: vmulps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vmulps ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x81,0x40,0xf7,0x59,0xf0
-
-# ATT: vrangepd $123, {sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vrangepd ymm22, ymm23, ymm24, {sae}, 123
-0x62,0x83,0xc1,0x10,0x50,0xf0,0x7b
-
-# ATT: vrangepd $123, {sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vrangepd ymm22 {k7}, ymm23, ymm24, {sae}, 123
-0x62,0x83,0xc1,0x17,0x50,0xf0,0x7b
-
-# ATT: vrangepd $123, {sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vrangepd ymm22 {k7} {z}, ymm23, ymm24, {sae}, 123
-0x62,0x83,0xc1,0x97,0x50,0xf0,0x7b
-
-# ATT: vrangeps $123, {sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vrangeps ymm22, ymm23, ymm24, {sae}, 123
-0x62,0x83,0x41,0x10,0x50,0xf0,0x7b
-
-# ATT: vrangeps $123, {sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vrangeps ymm22 {k7}, ymm23, ymm24, {sae}, 123
-0x62,0x83,0x41,0x17,0x50,0xf0,0x7b
-
-# ATT: vrangeps $123, {sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vrangeps ymm22 {k7} {z}, ymm23, ymm24, {sae}, 123
-0x62,0x83,0x41,0x97,0x50,0xf0,0x7b
-
-# ATT: vreducepd $123, {sae}, %ymm23, %ymm22
-# INTEL: vreducepd ymm22, ymm23, {sae}, 123
-0x62,0xa3,0xf9,0x18,0x56,0xf7,0x7b
-
-# ATT: vreducepd $123, {sae}, %ymm23, %ymm22 {%k7}
-# INTEL: vreducepd ymm22 {k7}, ymm23, {sae}, 123
-0x62,0xa3,0xf9,0x1f,0x56,0xf7,0x7b
-
-# ATT: vreducepd $123, {sae}, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vreducepd ymm22 {k7} {z}, ymm23, {sae}, 123
-0x62,0xa3,0xf9,0x9f,0x56,0xf7,0x7b
-
-# ATT: vreduceph $123, {sae}, %ymm23, %ymm22
-# INTEL: vreduceph ymm22, ymm23, {sae}, 123
-0x62,0xa3,0x78,0x18,0x56,0xf7,0x7b
-
-# ATT: vreduceph $123, {sae}, %ymm23, %ymm22 {%k7}
-# INTEL: vreduceph ymm22 {k7}, ymm23, {sae}, 123
-0x62,0xa3,0x78,0x1f,0x56,0xf7,0x7b
-
-# ATT: vreduceph $123, {sae}, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vreduceph ymm22 {k7} {z}, ymm23, {sae}, 123
-0x62,0xa3,0x78,0x9f,0x56,0xf7,0x7b
-
-# ATT: vreduceps $123, {sae}, %ymm23, %ymm22
-# INTEL: vreduceps ymm22, ymm23, {sae}, 123
-0x62,0xa3,0x79,0x18,0x56,0xf7,0x7b
-
-# ATT: vreduceps $123, {sae}, %ymm23, %ymm22 {%k7}
-# INTEL: vreduceps ymm22 {k7}, ymm23, {sae}, 123
-0x62,0xa3,0x79,0x1f,0x56,0xf7,0x7b
-
-# ATT: vreduceps $123, {sae}, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vreduceps ymm22 {k7} {z}, ymm23, {sae}, 123
-0x62,0xa3,0x79,0x9f,0x56,0xf7,0x7b
-
-# ATT: vrndscalepd $123, {sae}, %ymm23, %ymm22
-# INTEL: vrndscalepd ymm22, ymm23, {sae}, 123
-0x62,0xa3,0xf9,0x18,0x09,0xf7,0x7b
-
-# ATT: vrndscalepd $123, {sae}, %ymm23, %ymm22 {%k7}
-# INTEL: vrndscalepd ymm22 {k7}, ymm23, {sae}, 123
-0x62,0xa3,0xf9,0x1f,0x09,0xf7,0x7b
-
-# ATT: vrndscalepd $123, {sae}, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vrndscalepd ymm22 {k7} {z}, ymm23, {sae}, 123
-0x62,0xa3,0xf9,0x9f,0x09,0xf7,0x7b
-
-# ATT: vrndscaleph $123, {sae}, %ymm23, %ymm22
-# INTEL: vrndscaleph ymm22, ymm23, {sae}, 123
-0x62,0xa3,0x78,0x18,0x08,0xf7,0x7b
-
-# ATT: vrndscaleph $123, {sae}, %ymm23, %ymm22 {%k7}
-# INTEL: vrndscaleph ymm22 {k7}, ymm23, {sae}, 123
-0x62,0xa3,0x78,0x1f,0x08,0xf7,0x7b
-
-# ATT: vrndscaleph $123, {sae}, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vrndscaleph ymm22 {k7} {z}, ymm23, {sae}, 123
-0x62,0xa3,0x78,0x9f,0x08,0xf7,0x7b
-
-# ATT: vrndscaleps $123, {sae}, %ymm23, %ymm22
-# INTEL: vrndscaleps ymm22, ymm23, {sae}, 123
-0x62,0xa3,0x79,0x18,0x08,0xf7,0x7b
-
-# ATT: vrndscaleps $123, {sae}, %ymm23, %ymm22 {%k7}
-# INTEL: vrndscaleps ymm22 {k7}, ymm23, {sae}, 123
-0x62,0xa3,0x79,0x1f,0x08,0xf7,0x7b
-
-# ATT: vrndscaleps $123, {sae}, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vrndscaleps ymm22 {k7} {z}, ymm23, {sae}, 123
-0x62,0xa3,0x79,0x9f,0x08,0xf7,0x7b
-
-# ATT: vscalefpd {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vscalefpd ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x82,0xc1,0x10,0x2c,0xf0
-
-# ATT: vscalefpd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vscalefpd ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x82,0xc1,0x37,0x2c,0xf0
-
-# ATT: vscalefpd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vscalefpd ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x82,0xc1,0xf7,0x2c,0xf0
-
-# ATT: vscalefph {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vscalefph ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x86,0x41,0x10,0x2c,0xf0
-
-# ATT: vscalefph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vscalefph ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x86,0x41,0x37,0x2c,0xf0
-
-# ATT: vscalefph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vscalefph ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x86,0x41,0xf7,0x2c,0xf0
-
-# ATT: vscalefps {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vscalefps ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x82,0x41,0x10,0x2c,0xf0
-
-# ATT: vscalefps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vscalefps ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x82,0x41,0x37,0x2c,0xf0
-
-# ATT: vscalefps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vscalefps ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x82,0x41,0xf7,0x2c,0xf0
-
-# ATT: vsqrtpd {rn-sae}, %ymm23, %ymm22
-# INTEL: vsqrtpd ymm22, ymm23, {rn-sae}
-0x62,0xa1,0xf9,0x18,0x51,0xf7
-
-# ATT: vsqrtpd {rd-sae}, %ymm23, %ymm22 {%k7}
-# INTEL: vsqrtpd ymm22 {k7}, ymm23, {rd-sae}
-0x62,0xa1,0xf9,0x3f,0x51,0xf7
-
-# ATT: vsqrtpd {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vsqrtpd ymm22 {k7} {z}, ymm23, {rz-sae}
-0x62,0xa1,0xf9,0xff,0x51,0xf7
-
-# ATT: vsqrtph {rn-sae}, %ymm23, %ymm22
-# INTEL: vsqrtph ymm22, ymm23, {rn-sae}
-0x62,0xa5,0x78,0x18,0x51,0xf7
-
-# ATT: vsqrtph {rd-sae}, %ymm23, %ymm22 {%k7}
-# INTEL: vsqrtph ymm22 {k7}, ymm23, {rd-sae}
-0x62,0xa5,0x78,0x3f,0x51,0xf7
-
-# ATT: vsqrtph {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vsqrtph ymm22 {k7} {z}, ymm23, {rz-sae}
-0x62,0xa5,0x78,0xff,0x51,0xf7
-
-# ATT: vsqrtps {rn-sae}, %ymm23, %ymm22
-# INTEL: vsqrtps ymm22, ymm23, {rn-sae}
-0x62,0xa1,0x78,0x18,0x51,0xf7
-
-# ATT: vsqrtps {rd-sae}, %ymm23, %ymm22 {%k7}
-# INTEL: vsqrtps ymm22 {k7}, ymm23, {rd-sae}
-0x62,0xa1,0x78,0x3f,0x51,0xf7
-
-# ATT: vsqrtps {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vsqrtps ymm22 {k7} {z}, ymm23, {rz-sae}
-0x62,0xa1,0x78,0xff,0x51,0xf7
-
-# ATT: vsubpd {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vsubpd ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x81,0xc1,0x10,0x5c,0xf0
-
-# ATT: vsubpd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vsubpd ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x81,0xc1,0x37,0x5c,0xf0
-
-# ATT: vsubpd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vsubpd ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x81,0xc1,0xf7,0x5c,0xf0
-
-# ATT: vsubph {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vsubph ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x85,0x40,0x10,0x5c,0xf0
-
-# ATT: vsubph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vsubph ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x85,0x40,0x37,0x5c,0xf0
-
-# ATT: vsubph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vsubph ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x85,0x40,0xf7,0x5c,0xf0
-
-# ATT: vsubps {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vsubps ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x81,0x40,0x10,0x5c,0xf0
-
-# ATT: vsubps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-# INTEL: vsubps ymm22 {k7}, ymm23, ymm24, {rd-sae}
-0x62,0x81,0x40,0x37,0x5c,0xf0
-
-# ATT: vsubps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vsubps ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x81,0x40,0xf7,0x5c,0xf0
diff --git a/llvm/test/MC/X86/avx10_2ni-32-intel.s b/llvm/test/MC/X86/avx10_2ni-32-intel.s
index 123f57411acb0..f869cfa39386b 100644
--- a/llvm/test/MC/X86/avx10_2ni-32-intel.s
+++ b/llvm/test/MC/X86/avx10_2ni-32-intel.s
@@ -1519,1781 +1519,3 @@
// CHECK: vmpsadbw zmm2 {k7} {z}, zmm3, zmmword ptr [edx - 8192], 123
// CHECK: encoding: [0x62,0xf3,0x66,0xcf,0x42,0x52,0x80,0x7b]
vmpsadbw zmm2 {k7} {z}, zmm3, zmmword ptr [edx - 8192], 123
-
-// YMM Rounding
-
-// CHECK: vaddpd ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf1,0xe1,0x18,0x58,0xd4]
- vaddpd ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vaddpd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf1,0xe1,0x3f,0x58,0xd4]
- vaddpd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vaddpd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf1,0xe1,0xff,0x58,0xd4]
- vaddpd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vaddph ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf5,0x60,0x18,0x58,0xd4]
- vaddph ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vaddph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf5,0x60,0x3f,0x58,0xd4]
- vaddph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vaddph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf5,0x60,0xff,0x58,0xd4]
- vaddph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vaddps ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf1,0x60,0x18,0x58,0xd4]
- vaddps ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vaddps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf1,0x60,0x3f,0x58,0xd4]
- vaddps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vaddps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf1,0x60,0xff,0x58,0xd4]
- vaddps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vcmppd k5, ymm3, ymm4, {sae}, 123
-// CHECK: encoding: [0x62,0xf1,0xe1,0x18,0xc2,0xec,0x7b]
- vcmppd k5, ymm3, ymm4, {sae}, 123
-
-// CHECK: vcmppd k5 {k7}, ymm3, ymm4, {sae}, 123
-// CHECK: encoding: [0x62,0xf1,0xe1,0x1f,0xc2,0xec,0x7b]
- vcmppd k5 {k7}, ymm3, ymm4, {sae}, 123
-
-// CHECK: vcmpph k5, ymm3, ymm4, {sae}, 123
-// CHECK: encoding: [0x62,0xf3,0x60,0x18,0xc2,0xec,0x7b]
- vcmpph k5, ymm3, ymm4, {sae}, 123
-
-// CHECK: vcmpph k5 {k7}, ymm3, ymm4, {sae}, 123
-// CHECK: encoding: [0x62,0xf3,0x60,0x1f,0xc2,0xec,0x7b]
- vcmpph k5 {k7}, ymm3, ymm4, {sae}, 123
-
-// CHECK: vcmpps k5, ymm3, ymm4, {sae}, 123
-// CHECK: encoding: [0x62,0xf1,0x60,0x18,0xc2,0xec,0x7b]
- vcmpps k5, ymm3, ymm4, {sae}, 123
-
-// CHECK: vcmpps k5 {k7}, ymm3, ymm4, {sae}, 123
-// CHECK: encoding: [0x62,0xf1,0x60,0x1f,0xc2,0xec,0x7b]
- vcmpps k5 {k7}, ymm3, ymm4, {sae}, 123
-
-// CHECK: vcvtdq2ph xmm2, ymm3, {rn-sae}
-// CHECK: encoding: [0x62,0xf5,0x78,0x18,0x5b,0xd3]
- vcvtdq2ph xmm2, ymm3, {rn-sae}
-
-// CHECK: vcvtdq2ph xmm2 {k7}, ymm3, {rd-sae}
-// CHECK: encoding: [0x62,0xf5,0x78,0x3f,0x5b,0xd3]
- vcvtdq2ph xmm2 {k7}, ymm3, {rd-sae}
-
-// CHECK: vcvtdq2ph xmm2 {k7} {z}, ymm3, {rz-sae}
-// CHECK: encoding: [0x62,0xf5,0x78,0xff,0x5b,0xd3]
- vcvtdq2ph xmm2 {k7} {z}, ymm3, {rz-sae}
-
-// CHECK: vcvtdq2ps ymm2, ymm3, {rn-sae}
-// CHECK: encoding: [0x62,0xf1,0x78,0x18,0x5b,0xd3]
- vcvtdq2ps ymm2, ymm3, {rn-sae}
-
-// CHECK: vcvtdq2ps ymm2 {k7}, ymm3, {rd-sae}
-// CHECK: encoding: [0x62,0xf1,0x78,0x3f,0x5b,0xd3]
- vcvtdq2ps ymm2 {k7}, ymm3, {rd-sae}
-
-// CHECK: vcvtdq2ps ymm2 {k7} {z}, ymm3, {rz-sae}
-// CHECK: encoding: [0x62,0xf1,0x78,0xff,0x5b,0xd3]
- vcvtdq2ps ymm2 {k7} {z}, ymm3, {rz-sae}
-
-// CHECK: vcvtpd2dq xmm2, ymm3, {rn-sae}
-// CHECK: encoding: [0x62,0xf1,0xfb,0x18,0xe6,0xd3]
- vcvtpd2dq xmm2, ymm3, {rn-sae}
-
-// CHECK: vcvtpd2dq xmm2 {k7}, ymm3, {rd-sae}
-// CHECK: encoding: [0x62,0xf1,0xfb,0x3f,0xe6,0xd3]
- vcvtpd2dq xmm2 {k7}, ymm3, {rd-sae}
-
-// CHECK: vcvtpd2dq xmm2 {k7} {z}, ymm3, {rz-sae}
-// CHECK: encoding: [0x62,0xf1,0xfb,0xff,0xe6,0xd3]
- vcvtpd2dq xmm2 {k7} {z}, ymm3, {rz-sae}
-
-// CHECK: vcvtpd2ph xmm2, ymm3, {rn-sae}
-// CHECK: encoding: [0x62,0xf5,0xf9,0x18,0x5a,0xd3]
- vcvtpd2ph xmm2, ymm3, {rn-sae}
-
-// CHECK: vcvtpd2ph xmm2 {k7}, ymm3, {rd-sae}
-// CHECK: encoding: [0x62,0xf5,0xf9,0x3f,0x5a,0xd3]
- vcvtpd2ph xmm2 {k7}, ymm3, {rd-sae}
-
-// CHECK: vcvtpd2ph xmm2 {k7} {z}, ymm3, {rz-sae}
-// CHECK: encoding: [0x62,0xf5,0xf9,0xff,0x5a,0xd3]
- vcvtpd2ph xmm2 {k7} {z}, ymm3, {rz-sae}
-
-// CHECK: vcvtpd2ps xmm2, ymm3, {rn-sae}
-// CHECK: encoding: [0x62,0xf1,0xf9,0x18,0x5a,0xd3]
- vcvtpd2ps xmm2, ymm3, {rn-sae}
-
-// CHECK: vcvtpd2ps xmm2 {k7}, ymm3, {rd-sae}
-// CHECK: encoding: [0x62,0xf1,0xf9,0x3f,0x5a,0xd3]
- vcvtpd2ps xmm2 {k7}, ymm3, {rd-sae}
-
-// CHECK: vcvtpd2ps xmm2 {k7} {z}, ymm3, {rz-sae}
-// CHECK: encoding: [0x62,0xf1,0xf9,0xff,0x5a,0xd3]
- vcvtpd2ps xmm2 {k7} {z}, ymm3, {rz-sae}
-
-// CHECK: vcvtpd2qq ymm2, ymm3, {rn-sae}
-// CHECK: encoding: [0x62,0xf1,0xf9,0x18,0x7b,0xd3]
- vcvtpd2qq ymm2, ymm3, {rn-sae}
-
-// CHECK: vcvtpd2qq ymm2 {k7}, ymm3, {rd-sae}
-// CHECK: encoding: [0x62,0xf1,0xf9,0x3f,0x7b,0xd3]
- vcvtpd2qq ymm2 {k7}, ymm3, {rd-sae}
-
-// CHECK: vcvtpd2qq ymm2 {k7} {z}, ymm3, {rz-sae}
-// CHECK: encoding: [0x62,0xf1,0xf9,0xff,0x7b,0xd3]
- vcvtpd2qq ymm2 {k7} {z}, ymm3, {rz-sae}
-
-// CHECK: vcvtpd2udq xmm2, ymm3, {rn-sae}
-// CHECK: encoding: [0x62,0xf1,0xf8,0x18,0x79,0xd3]
- vcvtpd2udq xmm2, ymm3, {rn-sae}
-
-// CHECK: vcvtpd2udq xmm2 {k7}, ymm3, {rd-sae}
-// CHECK: encoding: [0x62,0xf1,0xf8,0x3f,0x79,0xd3]
- vcvtpd2udq xmm2 {k7}, ymm3, {rd-sae}
-
-// CHECK: vcvtpd2udq xmm2 {k7} {z}, ymm3, {rz-sae}
-// CHECK: encoding: [0x62,0xf1,0xf8,0xff,0x79,0xd3]
- vcvtpd2udq xmm2 {k7} {z}, ymm3, {rz-sae}
-
-// CHECK: vcvtpd2uqq ymm2, ymm3, {rn-sae}
-// CHECK: encoding: [0x62,0xf1,0xf9,0x18,0x79,0xd3]
- vcvtpd2uqq ymm2, ymm3, {rn-sae}
-
-// CHECK: vcvtpd2uqq ymm2 {k7}, ymm3, {rd-sae}
-// CHECK: encoding: [0x62,0xf1,0xf9,0x3f,0x79,0xd3]
- vcvtpd2uqq ymm2 {k7}, ymm3, {rd-sae}
-
-// CHECK: vcvtpd2uqq ymm2 {k7} {z}, ymm3, {rz-sae}
-// CHECK: encoding: [0x62,0xf1,0xf9,0xff,0x79,0xd3]
- vcvtpd2uqq ymm2 {k7} {z}, ymm3, {rz-sae}
-
-// CHECK: vcvtph2dq ymm2, xmm3, {rn-sae}
-// CHECK: encoding: [0x62,0xf5,0x79,0x18,0x5b,0xd3]
- vcvtph2dq ymm2, xmm3, {rn-sae}
-
-// CHECK: vcvtph2dq ymm2 {k7}, xmm3, {rd-sae}
-// CHECK: encoding: [0x62,0xf5,0x79,0x3f,0x5b,0xd3]
- vcvtph2dq ymm2 {k7}, xmm3, {rd-sae}
-
-// CHECK: vcvtph2dq ymm2 {k7} {z}, xmm3, {rz-sae}
-// CHECK: encoding: [0x62,0xf5,0x79,0xff,0x5b,0xd3]
- vcvtph2dq ymm2 {k7} {z}, xmm3, {rz-sae}
-
-// CHECK: vcvtph2pd ymm2, xmm3, {sae}
-// CHECK: encoding: [0x62,0xf5,0x78,0x18,0x5a,0xd3]
- vcvtph2pd ymm2, xmm3, {sae}
-
-// CHECK: vcvtph2pd ymm2 {k7}, xmm3, {sae}
-// CHECK: encoding: [0x62,0xf5,0x78,0x1f,0x5a,0xd3]
- vcvtph2pd ymm2 {k7}, xmm3, {sae}
-
-// CHECK: vcvtph2pd ymm2 {k7} {z}, xmm3, {sae}
-// CHECK: encoding: [0x62,0xf5,0x78,0x9f,0x5a,0xd3]
- vcvtph2pd ymm2 {k7} {z}, xmm3, {sae}
-
-// CHECK: vcvtph2ps ymm2, xmm3, {sae}
-// CHECK: encoding: [0x62,0xf2,0x79,0x18,0x13,0xd3]
- vcvtph2ps ymm2, xmm3, {sae}
-
-// CHECK: vcvtph2ps ymm2 {k7}, xmm3, {sae}
-// CHECK: encoding: [0x62,0xf2,0x79,0x1f,0x13,0xd3]
- vcvtph2ps ymm2 {k7}, xmm3, {sae}
-
-// CHECK: vcvtph2ps ymm2 {k7} {z}, xmm3, {sae}
-// CHECK: encoding: [0x62,0xf2,0x79,0x9f,0x13,0xd3]
- vcvtph2ps ymm2 {k7} {z}, xmm3, {sae}
-
-// CHECK: vcvtph2psx ymm2, xmm3, {sae}
-// CHECK: encoding: [0x62,0xf6,0x79,0x18,0x13,0xd3]
- vcvtph2psx ymm2, xmm3, {sae}
-
-// CHECK: vcvtph2psx ymm2 {k7}, xmm3, {sae}
-// CHECK: encoding: [0x62,0xf6,0x79,0x1f,0x13,0xd3]
- vcvtph2psx ymm2 {k7}, xmm3, {sae}
-
-// CHECK: vcvtph2psx ymm2 {k7} {z}, xmm3, {sae}
-// CHECK: encoding: [0x62,0xf6,0x79,0x9f,0x13,0xd3]
- vcvtph2psx ymm2 {k7} {z}, xmm3, {sae}
-
-// CHECK: vcvtph2qq ymm2, xmm3, {rn-sae}
-// CHECK: encoding: [0x62,0xf5,0x79,0x18,0x7b,0xd3]
- vcvtph2qq ymm2, xmm3, {rn-sae}
-
-// CHECK: vcvtph2qq ymm2 {k7}, xmm3, {rd-sae}
-// CHECK: encoding: [0x62,0xf5,0x79,0x3f,0x7b,0xd3]
- vcvtph2qq ymm2 {k7}, xmm3, {rd-sae}
-
-// CHECK: vcvtph2qq ymm2 {k7} {z}, xmm3, {rz-sae}
-// CHECK: encoding: [0x62,0xf5,0x79,0xff,0x7b,0xd3]
- vcvtph2qq ymm2 {k7} {z}, xmm3, {rz-sae}
-
-// CHECK: vcvtph2udq ymm2, xmm3, {rn-sae}
-// CHECK: encoding: [0x62,0xf5,0x78,0x18,0x79,0xd3]
- vcvtph2udq ymm2, xmm3, {rn-sae}
-
-// CHECK: vcvtph2udq ymm2 {k7}, xmm3, {rd-sae}
-// CHECK: encoding: [0x62,0xf5,0x78,0x3f,0x79,0xd3]
- vcvtph2udq ymm2 {k7}, xmm3, {rd-sae}
-
-// CHECK: vcvtph2udq ymm2 {k7} {z}, xmm3, {rz-sae}
-// CHECK: encoding: [0x62,0xf5,0x78,0xff,0x79,0xd3]
- vcvtph2udq ymm2 {k7} {z}, xmm3, {rz-sae}
-
-// CHECK: vcvtph2uqq ymm2, xmm3, {rn-sae}
-// CHECK: encoding: [0x62,0xf5,0x79,0x18,0x79,0xd3]
- vcvtph2uqq ymm2, xmm3, {rn-sae}
-
-// CHECK: vcvtph2uqq ymm2 {k7}, xmm3, {rd-sae}
-// CHECK: encoding: [0x62,0xf5,0x79,0x3f,0x79,0xd3]
- vcvtph2uqq ymm2 {k7}, xmm3, {rd-sae}
-
-// CHECK: vcvtph2uqq ymm2 {k7} {z}, xmm3, {rz-sae}
-// CHECK: encoding: [0x62,0xf5,0x79,0xff,0x79,0xd3]
- vcvtph2uqq ymm2 {k7} {z}, xmm3, {rz-sae}
-
-// CHECK: vcvtph2uw ymm2, ymm3, {rn-sae}
-// CHECK: encoding: [0x62,0xf5,0x78,0x18,0x7d,0xd3]
- vcvtph2uw ymm2, ymm3, {rn-sae}
-
-// CHECK: vcvtph2uw ymm2 {k7}, ymm3, {rd-sae}
-// CHECK: encoding: [0x62,0xf5,0x78,0x3f,0x7d,0xd3]
- vcvtph2uw ymm2 {k7}, ymm3, {rd-sae}
-
-// CHECK: vcvtph2uw ymm2 {k7} {z}, ymm3, {rz-sae}
-// CHECK: encoding: [0x62,0xf5,0x78,0xff,0x7d,0xd3]
- vcvtph2uw ymm2 {k7} {z}, ymm3, {rz-sae}
-
-// CHECK: vcvtph2w ymm2, ymm3, {rn-sae}
-// CHECK: encoding: [0x62,0xf5,0x79,0x18,0x7d,0xd3]
- vcvtph2w ymm2, ymm3, {rn-sae}
-
-// CHECK: vcvtph2w ymm2 {k7}, ymm3, {rd-sae}
-// CHECK: encoding: [0x62,0xf5,0x79,0x3f,0x7d,0xd3]
- vcvtph2w ymm2 {k7}, ymm3, {rd-sae}
-
-// CHECK: vcvtph2w ymm2 {k7} {z}, ymm3, {rz-sae}
-// CHECK: encoding: [0x62,0xf5,0x79,0xff,0x7d,0xd3]
- vcvtph2w ymm2 {k7} {z}, ymm3, {rz-sae}
-
-// CHECK: vcvtps2dq ymm2, ymm3, {rn-sae}
-// CHECK: encoding: [0x62,0xf1,0x79,0x18,0x5b,0xd3]
- vcvtps2dq ymm2, ymm3, {rn-sae}
-
-// CHECK: vcvtps2dq ymm2 {k7}, ymm3, {rd-sae}
-// CHECK: encoding: [0x62,0xf1,0x79,0x3f,0x5b,0xd3]
- vcvtps2dq ymm2 {k7}, ymm3, {rd-sae}
-
-// CHECK: vcvtps2dq ymm2 {k7} {z}, ymm3, {rz-sae}
-// CHECK: encoding: [0x62,0xf1,0x79,0xff,0x5b,0xd3]
- vcvtps2dq ymm2 {k7} {z}, ymm3, {rz-sae}
-
-// CHECK: vcvtps2pd ymm2, xmm3, {sae}
-// CHECK: encoding: [0x62,0xf1,0x78,0x18,0x5a,0xd3]
- vcvtps2pd ymm2, xmm3, {sae}
-
-// CHECK: vcvtps2pd ymm2 {k7}, xmm3, {sae}
-// CHECK: encoding: [0x62,0xf1,0x78,0x1f,0x5a,0xd3]
- vcvtps2pd ymm2 {k7}, xmm3, {sae}
-
-// CHECK: vcvtps2pd ymm2 {k7} {z}, xmm3, {sae}
-// CHECK: encoding: [0x62,0xf1,0x78,0x9f,0x5a,0xd3]
- vcvtps2pd ymm2 {k7} {z}, xmm3, {sae}
-
-// CHECK: vcvtps2ph xmm2, ymm3, {sae}, 123
-// CHECK: encoding: [0x62,0xf3,0x79,0x18,0x1d,0xda,0x7b]
- vcvtps2ph xmm2, ymm3, {sae}, 123
-
-// CHECK: vcvtps2ph xmm2 {k7}, ymm3, {sae}, 123
-// CHECK: encoding: [0x62,0xf3,0x79,0x1f,0x1d,0xda,0x7b]
- vcvtps2ph xmm2 {k7}, ymm3, {sae}, 123
-
-// CHECK: vcvtps2ph xmm2 {k7} {z}, ymm3, {sae}, 123
-// CHECK: encoding: [0x62,0xf3,0x79,0x9f,0x1d,0xda,0x7b]
- vcvtps2ph xmm2 {k7} {z}, ymm3, {sae}, 123
-
-// CHECK: vcvtps2phx xmm2, ymm3, {rn-sae}
-// CHECK: encoding: [0x62,0xf5,0x79,0x18,0x1d,0xd3]
- vcvtps2phx xmm2, ymm3, {rn-sae}
-
-// CHECK: vcvtps2phx xmm2 {k7}, ymm3, {rd-sae}
-// CHECK: encoding: [0x62,0xf5,0x79,0x3f,0x1d,0xd3]
- vcvtps2phx xmm2 {k7}, ymm3, {rd-sae}
-
-// CHECK: vcvtps2phx xmm2 {k7} {z}, ymm3, {rz-sae}
-// CHECK: encoding: [0x62,0xf5,0x79,0xff,0x1d,0xd3]
- vcvtps2phx xmm2 {k7} {z}, ymm3, {rz-sae}
-
-// CHECK: vcvtps2qq ymm2, xmm3, {rn-sae}
-// CHECK: encoding: [0x62,0xf1,0x79,0x18,0x7b,0xd3]
- vcvtps2qq ymm2, xmm3, {rn-sae}
-
-// CHECK: vcvtps2qq ymm2 {k7}, xmm3, {rd-sae}
-// CHECK: encoding: [0x62,0xf1,0x79,0x3f,0x7b,0xd3]
- vcvtps2qq ymm2 {k7}, xmm3, {rd-sae}
-
-// CHECK: vcvtps2qq ymm2 {k7} {z}, xmm3, {rz-sae}
-// CHECK: encoding: [0x62,0xf1,0x79,0xff,0x7b,0xd3]
- vcvtps2qq ymm2 {k7} {z}, xmm3, {rz-sae}
-
-// CHECK: vcvtps2udq ymm2, ymm3, {rn-sae}
-// CHECK: encoding: [0x62,0xf1,0x78,0x18,0x79,0xd3]
- vcvtps2udq ymm2, ymm3, {rn-sae}
-
-// CHECK: vcvtps2udq ymm2 {k7}, ymm3, {rd-sae}
-// CHECK: encoding: [0x62,0xf1,0x78,0x3f,0x79,0xd3]
- vcvtps2udq ymm2 {k7}, ymm3, {rd-sae}
-
-// CHECK: vcvtps2udq ymm2 {k7} {z}, ymm3, {rz-sae}
-// CHECK: encoding: [0x62,0xf1,0x78,0xff,0x79,0xd3]
- vcvtps2udq ymm2 {k7} {z}, ymm3, {rz-sae}
-
-// CHECK: vcvtps2uqq ymm2, xmm3, {rn-sae}
-// CHECK: encoding: [0x62,0xf1,0x79,0x18,0x79,0xd3]
- vcvtps2uqq ymm2, xmm3, {rn-sae}
-
-// CHECK: vcvtps2uqq ymm2 {k7}, xmm3, {rd-sae}
-// CHECK: encoding: [0x62,0xf1,0x79,0x3f,0x79,0xd3]
- vcvtps2uqq ymm2 {k7}, xmm3, {rd-sae}
-
-// CHECK: vcvtps2uqq ymm2 {k7} {z}, xmm3, {rz-sae}
-// CHECK: encoding: [0x62,0xf1,0x79,0xff,0x79,0xd3]
- vcvtps2uqq ymm2 {k7} {z}, xmm3, {rz-sae}
-
-// CHECK: vcvtqq2pd ymm2, ymm3, {rn-sae}
-// CHECK: encoding: [0x62,0xf1,0xfa,0x18,0xe6,0xd3]
- vcvtqq2pd ymm2, ymm3, {rn-sae}
-
-// CHECK: vcvtqq2pd ymm2 {k7}, ymm3, {rd-sae}
-// CHECK: encoding: [0x62,0xf1,0xfa,0x3f,0xe6,0xd3]
- vcvtqq2pd ymm2 {k7}, ymm3, {rd-sae}
-
-// CHECK: vcvtqq2pd ymm2 {k7} {z}, ymm3, {rz-sae}
-// CHECK: encoding: [0x62,0xf1,0xfa,0xff,0xe6,0xd3]
- vcvtqq2pd ymm2 {k7} {z}, ymm3, {rz-sae}
-
-// CHECK: vcvtqq2ph xmm2, ymm3, {rn-sae}
-// CHECK: encoding: [0x62,0xf5,0xf8,0x18,0x5b,0xd3]
- vcvtqq2ph xmm2, ymm3, {rn-sae}
-
-// CHECK: vcvtqq2ph xmm2 {k7}, ymm3, {rd-sae}
-// CHECK: encoding: [0x62,0xf5,0xf8,0x3f,0x5b,0xd3]
- vcvtqq2ph xmm2 {k7}, ymm3, {rd-sae}
-
-// CHECK: vcvtqq2ph xmm2 {k7} {z}, ymm3, {rz-sae}
-// CHECK: encoding: [0x62,0xf5,0xf8,0xff,0x5b,0xd3]
- vcvtqq2ph xmm2 {k7} {z}, ymm3, {rz-sae}
-
-// CHECK: vcvtqq2ps xmm2, ymm3, {rn-sae}
-// CHECK: encoding: [0x62,0xf1,0xf8,0x18,0x5b,0xd3]
- vcvtqq2ps xmm2, ymm3, {rn-sae}
-
-// CHECK: vcvtqq2ps xmm2 {k7}, ymm3, {rd-sae}
-// CHECK: encoding: [0x62,0xf1,0xf8,0x3f,0x5b,0xd3]
- vcvtqq2ps xmm2 {k7}, ymm3, {rd-sae}
-
-// CHECK: vcvtqq2ps xmm2 {k7} {z}, ymm3, {rz-sae}
-// CHECK: encoding: [0x62,0xf1,0xf8,0xff,0x5b,0xd3]
- vcvtqq2ps xmm2 {k7} {z}, ymm3, {rz-sae}
-
-// CHECK: vcvttpd2dq xmm2, ymm3, {sae}
-// CHECK: encoding: [0x62,0xf1,0xf9,0x18,0xe6,0xd3]
- vcvttpd2dq xmm2, ymm3, {sae}
-
-// CHECK: vcvttpd2dq xmm2 {k7}, ymm3, {sae}
-// CHECK: encoding: [0x62,0xf1,0xf9,0x1f,0xe6,0xd3]
- vcvttpd2dq xmm2 {k7}, ymm3, {sae}
-
-// CHECK: vcvttpd2dq xmm2 {k7} {z}, ymm3, {sae}
-// CHECK: encoding: [0x62,0xf1,0xf9,0x9f,0xe6,0xd3]
- vcvttpd2dq xmm2 {k7} {z}, ymm3, {sae}
-
-// CHECK: vcvttpd2qq ymm2, ymm3, {sae}
-// CHECK: encoding: [0x62,0xf1,0xf9,0x18,0x7a,0xd3]
- vcvttpd2qq ymm2, ymm3, {sae}
-
-// CHECK: vcvttpd2qq ymm2 {k7}, ymm3, {sae}
-// CHECK: encoding: [0x62,0xf1,0xf9,0x1f,0x7a,0xd3]
- vcvttpd2qq ymm2 {k7}, ymm3, {sae}
-
-// CHECK: vcvttpd2qq ymm2 {k7} {z}, ymm3, {sae}
-// CHECK: encoding: [0x62,0xf1,0xf9,0x9f,0x7a,0xd3]
- vcvttpd2qq ymm2 {k7} {z}, ymm3, {sae}
-
-// CHECK: vcvttpd2udq xmm2, ymm3, {sae}
-// CHECK: encoding: [0x62,0xf1,0xf8,0x18,0x78,0xd3]
- vcvttpd2udq xmm2, ymm3, {sae}
-
-// CHECK: vcvttpd2udq xmm2 {k7}, ymm3, {sae}
-// CHECK: encoding: [0x62,0xf1,0xf8,0x1f,0x78,0xd3]
- vcvttpd2udq xmm2 {k7}, ymm3, {sae}
-
-// CHECK: vcvttpd2udq xmm2 {k7} {z}, ymm3, {sae}
-// CHECK: encoding: [0x62,0xf1,0xf8,0x9f,0x78,0xd3]
- vcvttpd2udq xmm2 {k7} {z}, ymm3, {sae}
-
-// CHECK: vcvttpd2uqq ymm2, ymm3, {sae}
-// CHECK: encoding: [0x62,0xf1,0xf9,0x18,0x78,0xd3]
- vcvttpd2uqq ymm2, ymm3, {sae}
-
-// CHECK: vcvttpd2uqq ymm2 {k7}, ymm3, {sae}
-// CHECK: encoding: [0x62,0xf1,0xf9,0x1f,0x78,0xd3]
- vcvttpd2uqq ymm2 {k7}, ymm3, {sae}
-
-// CHECK: vcvttpd2uqq ymm2 {k7} {z}, ymm3, {sae}
-// CHECK: encoding: [0x62,0xf1,0xf9,0x9f,0x78,0xd3]
- vcvttpd2uqq ymm2 {k7} {z}, ymm3, {sae}
-
-// CHECK: vcvttph2dq ymm2, xmm3, {sae}
-// CHECK: encoding: [0x62,0xf5,0x7a,0x18,0x5b,0xd3]
- vcvttph2dq ymm2, xmm3, {sae}
-
-// CHECK: vcvttph2dq ymm2 {k7}, xmm3, {sae}
-// CHECK: encoding: [0x62,0xf5,0x7a,0x1f,0x5b,0xd3]
- vcvttph2dq ymm2 {k7}, xmm3, {sae}
-
-// CHECK: vcvttph2dq ymm2 {k7} {z}, xmm3, {sae}
-// CHECK: encoding: [0x62,0xf5,0x7a,0x9f,0x5b,0xd3]
- vcvttph2dq ymm2 {k7} {z}, xmm3, {sae}
-
-// CHECK: vcvttph2qq ymm2, xmm3, {sae}
-// CHECK: encoding: [0x62,0xf5,0x79,0x18,0x7a,0xd3]
- vcvttph2qq ymm2, xmm3, {sae}
-
-// CHECK: vcvttph2qq ymm2 {k7}, xmm3, {sae}
-// CHECK: encoding: [0x62,0xf5,0x79,0x1f,0x7a,0xd3]
- vcvttph2qq ymm2 {k7}, xmm3, {sae}
-
-// CHECK: vcvttph2qq ymm2 {k7} {z}, xmm3, {sae}
-// CHECK: encoding: [0x62,0xf5,0x79,0x9f,0x7a,0xd3]
- vcvttph2qq ymm2 {k7} {z}, xmm3, {sae}
-
-// CHECK: vcvttph2udq ymm2, xmm3, {sae}
-// CHECK: encoding: [0x62,0xf5,0x78,0x18,0x78,0xd3]
- vcvttph2udq ymm2, xmm3, {sae}
-
-// CHECK: vcvttph2udq ymm2 {k7}, xmm3, {sae}
-// CHECK: encoding: [0x62,0xf5,0x78,0x1f,0x78,0xd3]
- vcvttph2udq ymm2 {k7}, xmm3, {sae}
-
-// CHECK: vcvttph2udq ymm2 {k7} {z}, xmm3, {sae}
-// CHECK: encoding: [0x62,0xf5,0x78,0x9f,0x78,0xd3]
- vcvttph2udq ymm2 {k7} {z}, xmm3, {sae}
-
-// CHECK: vcvttph2uqq ymm2, xmm3, {sae}
-// CHECK: encoding: [0x62,0xf5,0x79,0x18,0x78,0xd3]
- vcvttph2uqq ymm2, xmm3, {sae}
-
-// CHECK: vcvttph2uqq ymm2 {k7}, xmm3, {sae}
-// CHECK: encoding: [0x62,0xf5,0x79,0x1f,0x78,0xd3]
- vcvttph2uqq ymm2 {k7}, xmm3, {sae}
-
-// CHECK: vcvttph2uqq ymm2 {k7} {z}, xmm3, {sae}
-// CHECK: encoding: [0x62,0xf5,0x79,0x9f,0x78,0xd3]
- vcvttph2uqq ymm2 {k7} {z}, xmm3, {sae}
-
-// CHECK: vcvttph2uw ymm2, ymm3, {sae}
-// CHECK: encoding: [0x62,0xf5,0x78,0x18,0x7c,0xd3]
- vcvttph2uw ymm2, ymm3, {sae}
-
-// CHECK: vcvttph2uw ymm2 {k7}, ymm3, {sae}
-// CHECK: encoding: [0x62,0xf5,0x78,0x1f,0x7c,0xd3]
- vcvttph2uw ymm2 {k7}, ymm3, {sae}
-
-// CHECK: vcvttph2uw ymm2 {k7} {z}, ymm3, {sae}
-// CHECK: encoding: [0x62,0xf5,0x78,0x9f,0x7c,0xd3]
- vcvttph2uw ymm2 {k7} {z}, ymm3, {sae}
-
-// CHECK: vcvttph2w ymm2, ymm3, {sae}
-// CHECK: encoding: [0x62,0xf5,0x79,0x18,0x7c,0xd3]
- vcvttph2w ymm2, ymm3, {sae}
-
-// CHECK: vcvttph2w ymm2 {k7}, ymm3, {sae}
-// CHECK: encoding: [0x62,0xf5,0x79,0x1f,0x7c,0xd3]
- vcvttph2w ymm2 {k7}, ymm3, {sae}
-
-// CHECK: vcvttph2w ymm2 {k7} {z}, ymm3, {sae}
-// CHECK: encoding: [0x62,0xf5,0x79,0x9f,0x7c,0xd3]
- vcvttph2w ymm2 {k7} {z}, ymm3, {sae}
-
-// CHECK: vcvttps2dq ymm2, ymm3, {sae}
-// CHECK: encoding: [0x62,0xf1,0x7a,0x18,0x5b,0xd3]
- vcvttps2dq ymm2, ymm3, {sae}
-
-// CHECK: vcvttps2dq ymm2 {k7}, ymm3, {sae}
-// CHECK: encoding: [0x62,0xf1,0x7a,0x1f,0x5b,0xd3]
- vcvttps2dq ymm2 {k7}, ymm3, {sae}
-
-// CHECK: vcvttps2dq ymm2 {k7} {z}, ymm3, {sae}
-// CHECK: encoding: [0x62,0xf1,0x7a,0x9f,0x5b,0xd3]
- vcvttps2dq ymm2 {k7} {z}, ymm3, {sae}
-
-// CHECK: vcvttps2qq ymm2, xmm3, {sae}
-// CHECK: encoding: [0x62,0xf1,0x79,0x18,0x7a,0xd3]
- vcvttps2qq ymm2, xmm3, {sae}
-
-// CHECK: vcvttps2qq ymm2 {k7}, xmm3, {sae}
-// CHECK: encoding: [0x62,0xf1,0x79,0x1f,0x7a,0xd3]
- vcvttps2qq ymm2 {k7}, xmm3, {sae}
-
-// CHECK: vcvttps2qq ymm2 {k7} {z}, xmm3, {sae}
-// CHECK: encoding: [0x62,0xf1,0x79,0x9f,0x7a,0xd3]
- vcvttps2qq ymm2 {k7} {z}, xmm3, {sae}
-
-// CHECK: vcvttps2udq ymm2, ymm3, {sae}
-// CHECK: encoding: [0x62,0xf1,0x78,0x18,0x78,0xd3]
- vcvttps2udq ymm2, ymm3, {sae}
-
-// CHECK: vcvttps2udq ymm2 {k7}, ymm3, {sae}
-// CHECK: encoding: [0x62,0xf1,0x78,0x1f,0x78,0xd3]
- vcvttps2udq ymm2 {k7}, ymm3, {sae}
-
-// CHECK: vcvttps2udq ymm2 {k7} {z}, ymm3, {sae}
-// CHECK: encoding: [0x62,0xf1,0x78,0x9f,0x78,0xd3]
- vcvttps2udq ymm2 {k7} {z}, ymm3, {sae}
-
-// CHECK: vcvttps2uqq ymm2, xmm3, {sae}
-// CHECK: encoding: [0x62,0xf1,0x79,0x18,0x78,0xd3]
- vcvttps2uqq ymm2, xmm3, {sae}
-
-// CHECK: vcvttps2uqq ymm2 {k7}, xmm3, {sae}
-// CHECK: encoding: [0x62,0xf1,0x79,0x1f,0x78,0xd3]
- vcvttps2uqq ymm2 {k7}, xmm3, {sae}
-
-// CHECK: vcvttps2uqq ymm2 {k7} {z}, xmm3, {sae}
-// CHECK: encoding: [0x62,0xf1,0x79,0x9f,0x78,0xd3]
- vcvttps2uqq ymm2 {k7} {z}, xmm3, {sae}
-
-// CHECK: vcvtudq2ph xmm2, ymm3, {rn-sae}
-// CHECK: encoding: [0x62,0xf5,0x7b,0x18,0x7a,0xd3]
- vcvtudq2ph xmm2, ymm3, {rn-sae}
-
-// CHECK: vcvtudq2ph xmm2 {k7}, ymm3, {rd-sae}
-// CHECK: encoding: [0x62,0xf5,0x7b,0x3f,0x7a,0xd3]
- vcvtudq2ph xmm2 {k7}, ymm3, {rd-sae}
-
-// CHECK: vcvtudq2ph xmm2 {k7} {z}, ymm3, {rz-sae}
-// CHECK: encoding: [0x62,0xf5,0x7b,0xff,0x7a,0xd3]
- vcvtudq2ph xmm2 {k7} {z}, ymm3, {rz-sae}
-
-// CHECK: vcvtudq2ps ymm2, ymm3, {rn-sae}
-// CHECK: encoding: [0x62,0xf1,0x7b,0x18,0x7a,0xd3]
- vcvtudq2ps ymm2, ymm3, {rn-sae}
-
-// CHECK: vcvtudq2ps ymm2 {k7}, ymm3, {rd-sae}
-// CHECK: encoding: [0x62,0xf1,0x7b,0x3f,0x7a,0xd3]
- vcvtudq2ps ymm2 {k7}, ymm3, {rd-sae}
-
-// CHECK: vcvtudq2ps ymm2 {k7} {z}, ymm3, {rz-sae}
-// CHECK: encoding: [0x62,0xf1,0x7b,0xff,0x7a,0xd3]
- vcvtudq2ps ymm2 {k7} {z}, ymm3, {rz-sae}
-
-// CHECK: vcvtuqq2pd ymm2, ymm3, {rn-sae}
-// CHECK: encoding: [0x62,0xf1,0xfa,0x18,0x7a,0xd3]
- vcvtuqq2pd ymm2, ymm3, {rn-sae}
-
-// CHECK: vcvtuqq2pd ymm2 {k7}, ymm3, {rd-sae}
-// CHECK: encoding: [0x62,0xf1,0xfa,0x3f,0x7a,0xd3]
- vcvtuqq2pd ymm2 {k7}, ymm3, {rd-sae}
-
-// CHECK: vcvtuqq2pd ymm2 {k7} {z}, ymm3, {rz-sae}
-// CHECK: encoding: [0x62,0xf1,0xfa,0xff,0x7a,0xd3]
- vcvtuqq2pd ymm2 {k7} {z}, ymm3, {rz-sae}
-
-// CHECK: vcvtuqq2ph xmm2, ymm3, {rn-sae}
-// CHECK: encoding: [0x62,0xf5,0xfb,0x18,0x7a,0xd3]
- vcvtuqq2ph xmm2, ymm3, {rn-sae}
-
-// CHECK: vcvtuqq2ph xmm2 {k7}, ymm3, {rd-sae}
-// CHECK: encoding: [0x62,0xf5,0xfb,0x3f,0x7a,0xd3]
- vcvtuqq2ph xmm2 {k7}, ymm3, {rd-sae}
-
-// CHECK: vcvtuqq2ph xmm2 {k7} {z}, ymm3, {rz-sae}
-// CHECK: encoding: [0x62,0xf5,0xfb,0xff,0x7a,0xd3]
- vcvtuqq2ph xmm2 {k7} {z}, ymm3, {rz-sae}
-
-// CHECK: vcvtuqq2ps xmm2, ymm3, {rn-sae}
-// CHECK: encoding: [0x62,0xf1,0xfb,0x18,0x7a,0xd3]
- vcvtuqq2ps xmm2, ymm3, {rn-sae}
-
-// CHECK: vcvtuqq2ps xmm2 {k7}, ymm3, {rd-sae}
-// CHECK: encoding: [0x62,0xf1,0xfb,0x3f,0x7a,0xd3]
- vcvtuqq2ps xmm2 {k7}, ymm3, {rd-sae}
-
-// CHECK: vcvtuqq2ps xmm2 {k7} {z}, ymm3, {rz-sae}
-// CHECK: encoding: [0x62,0xf1,0xfb,0xff,0x7a,0xd3]
- vcvtuqq2ps xmm2 {k7} {z}, ymm3, {rz-sae}
-
-// CHECK: vcvtuw2ph ymm2, ymm3, {rn-sae}
-// CHECK: encoding: [0x62,0xf5,0x7b,0x18,0x7d,0xd3]
- vcvtuw2ph ymm2, ymm3, {rn-sae}
-
-// CHECK: vcvtuw2ph ymm2 {k7}, ymm3, {rd-sae}
-// CHECK: encoding: [0x62,0xf5,0x7b,0x3f,0x7d,0xd3]
- vcvtuw2ph ymm2 {k7}, ymm3, {rd-sae}
-
-// CHECK: vcvtuw2ph ymm2 {k7} {z}, ymm3, {rz-sae}
-// CHECK: encoding: [0x62,0xf5,0x7b,0xff,0x7d,0xd3]
- vcvtuw2ph ymm2 {k7} {z}, ymm3, {rz-sae}
-
-// CHECK: vcvtw2ph ymm2, ymm3, {rn-sae}
-// CHECK: encoding: [0x62,0xf5,0x7a,0x18,0x7d,0xd3]
- vcvtw2ph ymm2, ymm3, {rn-sae}
-
-// CHECK: vcvtw2ph ymm2 {k7}, ymm3, {rd-sae}
-// CHECK: encoding: [0x62,0xf5,0x7a,0x3f,0x7d,0xd3]
- vcvtw2ph ymm2 {k7}, ymm3, {rd-sae}
-
-// CHECK: vcvtw2ph ymm2 {k7} {z}, ymm3, {rz-sae}
-// CHECK: encoding: [0x62,0xf5,0x7a,0xff,0x7d,0xd3]
- vcvtw2ph ymm2 {k7} {z}, ymm3, {rz-sae}
-
-// CHECK: vdivpd ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf1,0xe1,0x18,0x5e,0xd4]
- vdivpd ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vdivpd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf1,0xe1,0x3f,0x5e,0xd4]
- vdivpd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vdivpd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf1,0xe1,0xff,0x5e,0xd4]
- vdivpd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vdivph ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf5,0x60,0x18,0x5e,0xd4]
- vdivph ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vdivph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf5,0x60,0x3f,0x5e,0xd4]
- vdivph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vdivph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf5,0x60,0xff,0x5e,0xd4]
- vdivph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vdivps ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf1,0x60,0x18,0x5e,0xd4]
- vdivps ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vdivps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf1,0x60,0x3f,0x5e,0xd4]
- vdivps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vdivps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf1,0x60,0xff,0x5e,0xd4]
- vdivps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfcmaddcph ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf6,0x63,0x18,0x56,0xd4]
- vfcmaddcph ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfcmaddcph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf6,0x63,0x3f,0x56,0xd4]
- vfcmaddcph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfcmaddcph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf6,0x63,0xff,0x56,0xd4]
- vfcmaddcph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfcmulcph ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf6,0x63,0x18,0xd6,0xd4]
- vfcmulcph ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfcmulcph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf6,0x63,0x3f,0xd6,0xd4]
- vfcmulcph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfcmulcph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf6,0x63,0xff,0xd6,0xd4]
- vfcmulcph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfixupimmpd ymm2, ymm3, ymm4, {sae}, 123
-// CHECK: encoding: [0x62,0xf3,0xe1,0x18,0x54,0xd4,0x7b]
- vfixupimmpd ymm2, ymm3, ymm4, {sae}, 123
-
-// CHECK: vfixupimmpd ymm2 {k7}, ymm3, ymm4, {sae}, 123
-// CHECK: encoding: [0x62,0xf3,0xe1,0x1f,0x54,0xd4,0x7b]
- vfixupimmpd ymm2 {k7}, ymm3, ymm4, {sae}, 123
-
-// CHECK: vfixupimmpd ymm2 {k7} {z}, ymm3, ymm4, {sae}, 123
-// CHECK: encoding: [0x62,0xf3,0xe1,0x9f,0x54,0xd4,0x7b]
- vfixupimmpd ymm2 {k7} {z}, ymm3, ymm4, {sae}, 123
-
-// CHECK: vfixupimmps ymm2, ymm3, ymm4, {sae}, 123
-// CHECK: encoding: [0x62,0xf3,0x61,0x18,0x54,0xd4,0x7b]
- vfixupimmps ymm2, ymm3, ymm4, {sae}, 123
-
-// CHECK: vfixupimmps ymm2 {k7}, ymm3, ymm4, {sae}, 123
-// CHECK: encoding: [0x62,0xf3,0x61,0x1f,0x54,0xd4,0x7b]
- vfixupimmps ymm2 {k7}, ymm3, ymm4, {sae}, 123
-
-// CHECK: vfixupimmps ymm2 {k7} {z}, ymm3, ymm4, {sae}, 123
-// CHECK: encoding: [0x62,0xf3,0x61,0x9f,0x54,0xd4,0x7b]
- vfixupimmps ymm2 {k7} {z}, ymm3, ymm4, {sae}, 123
-
-// CHECK: vfmadd132pd ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0x18,0x98,0xd4]
- vfmadd132pd ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfmadd132pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0x3f,0x98,0xd4]
- vfmadd132pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfmadd132pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0xff,0x98,0xd4]
- vfmadd132pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfmadd132ph ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0x18,0x98,0xd4]
- vfmadd132ph ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfmadd132ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0x3f,0x98,0xd4]
- vfmadd132ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfmadd132ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0xff,0x98,0xd4]
- vfmadd132ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfmadd132ps ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0x18,0x98,0xd4]
- vfmadd132ps ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfmadd132ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0x3f,0x98,0xd4]
- vfmadd132ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfmadd132ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0xff,0x98,0xd4]
- vfmadd132ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfmadd213pd ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0x18,0xa8,0xd4]
- vfmadd213pd ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfmadd213pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0x3f,0xa8,0xd4]
- vfmadd213pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfmadd213pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0xff,0xa8,0xd4]
- vfmadd213pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfmadd213ph ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0x18,0xa8,0xd4]
- vfmadd213ph ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfmadd213ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0x3f,0xa8,0xd4]
- vfmadd213ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfmadd213ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0xff,0xa8,0xd4]
- vfmadd213ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfmadd213ps ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0x18,0xa8,0xd4]
- vfmadd213ps ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfmadd213ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0x3f,0xa8,0xd4]
- vfmadd213ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfmadd213ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0xff,0xa8,0xd4]
- vfmadd213ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfmadd231pd ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0x18,0xb8,0xd4]
- vfmadd231pd ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfmadd231pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0x3f,0xb8,0xd4]
- vfmadd231pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfmadd231pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0xff,0xb8,0xd4]
- vfmadd231pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfmadd231ph ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0x18,0xb8,0xd4]
- vfmadd231ph ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfmadd231ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0x3f,0xb8,0xd4]
- vfmadd231ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfmadd231ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0xff,0xb8,0xd4]
- vfmadd231ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfmadd231ps ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0x18,0xb8,0xd4]
- vfmadd231ps ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfmadd231ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0x3f,0xb8,0xd4]
- vfmadd231ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfmadd231ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0xff,0xb8,0xd4]
- vfmadd231ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfmaddcph ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf6,0x62,0x18,0x56,0xd4]
- vfmaddcph ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfmaddcph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf6,0x62,0x3f,0x56,0xd4]
- vfmaddcph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfmaddcph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf6,0x62,0xff,0x56,0xd4]
- vfmaddcph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfmaddsub132pd ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0x18,0x96,0xd4]
- vfmaddsub132pd ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfmaddsub132pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0x3f,0x96,0xd4]
- vfmaddsub132pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfmaddsub132pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0xff,0x96,0xd4]
- vfmaddsub132pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfmaddsub132ph ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0x18,0x96,0xd4]
- vfmaddsub132ph ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfmaddsub132ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0x3f,0x96,0xd4]
- vfmaddsub132ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfmaddsub132ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0xff,0x96,0xd4]
- vfmaddsub132ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfmaddsub132ps ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0x18,0x96,0xd4]
- vfmaddsub132ps ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfmaddsub132ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0x3f,0x96,0xd4]
- vfmaddsub132ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfmaddsub132ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0xff,0x96,0xd4]
- vfmaddsub132ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfmaddsub213pd ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0x18,0xa6,0xd4]
- vfmaddsub213pd ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfmaddsub213pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0x3f,0xa6,0xd4]
- vfmaddsub213pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfmaddsub213pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0xff,0xa6,0xd4]
- vfmaddsub213pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfmaddsub213ph ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0x18,0xa6,0xd4]
- vfmaddsub213ph ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfmaddsub213ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0x3f,0xa6,0xd4]
- vfmaddsub213ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfmaddsub213ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0xff,0xa6,0xd4]
- vfmaddsub213ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfmaddsub213ps ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0x18,0xa6,0xd4]
- vfmaddsub213ps ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfmaddsub213ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0x3f,0xa6,0xd4]
- vfmaddsub213ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfmaddsub213ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0xff,0xa6,0xd4]
- vfmaddsub213ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfmaddsub231pd ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0x18,0xb6,0xd4]
- vfmaddsub231pd ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfmaddsub231pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0x3f,0xb6,0xd4]
- vfmaddsub231pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfmaddsub231pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0xff,0xb6,0xd4]
- vfmaddsub231pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfmaddsub231ph ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0x18,0xb6,0xd4]
- vfmaddsub231ph ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfmaddsub231ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0x3f,0xb6,0xd4]
- vfmaddsub231ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfmaddsub231ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0xff,0xb6,0xd4]
- vfmaddsub231ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfmaddsub231ps ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0x18,0xb6,0xd4]
- vfmaddsub231ps ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfmaddsub231ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0x3f,0xb6,0xd4]
- vfmaddsub231ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfmaddsub231ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0xff,0xb6,0xd4]
- vfmaddsub231ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfmsub132pd ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0x18,0x9a,0xd4]
- vfmsub132pd ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfmsub132pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0x3f,0x9a,0xd4]
- vfmsub132pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfmsub132pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0xff,0x9a,0xd4]
- vfmsub132pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfmsub132ph ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0x18,0x9a,0xd4]
- vfmsub132ph ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfmsub132ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0x3f,0x9a,0xd4]
- vfmsub132ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfmsub132ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0xff,0x9a,0xd4]
- vfmsub132ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfmsub132ps ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0x18,0x9a,0xd4]
- vfmsub132ps ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfmsub132ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0x3f,0x9a,0xd4]
- vfmsub132ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfmsub132ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0xff,0x9a,0xd4]
- vfmsub132ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfmsub213pd ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0x18,0xaa,0xd4]
- vfmsub213pd ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfmsub213pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0x3f,0xaa,0xd4]
- vfmsub213pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfmsub213pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0xff,0xaa,0xd4]
- vfmsub213pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfmsub213ph ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0x18,0xaa,0xd4]
- vfmsub213ph ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfmsub213ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0x3f,0xaa,0xd4]
- vfmsub213ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfmsub213ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0xff,0xaa,0xd4]
- vfmsub213ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfmsub213ps ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0x18,0xaa,0xd4]
- vfmsub213ps ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfmsub213ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0x3f,0xaa,0xd4]
- vfmsub213ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfmsub213ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0xff,0xaa,0xd4]
- vfmsub213ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfmsub231pd ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0x18,0xba,0xd4]
- vfmsub231pd ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfmsub231pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0x3f,0xba,0xd4]
- vfmsub231pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfmsub231pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0xff,0xba,0xd4]
- vfmsub231pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfmsub231ph ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0x18,0xba,0xd4]
- vfmsub231ph ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfmsub231ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0x3f,0xba,0xd4]
- vfmsub231ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfmsub231ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0xff,0xba,0xd4]
- vfmsub231ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfmsub231ps ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0x18,0xba,0xd4]
- vfmsub231ps ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfmsub231ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0x3f,0xba,0xd4]
- vfmsub231ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfmsub231ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0xff,0xba,0xd4]
- vfmsub231ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfmsubadd132pd ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0x18,0x97,0xd4]
- vfmsubadd132pd ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfmsubadd132pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0x3f,0x97,0xd4]
- vfmsubadd132pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfmsubadd132pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0xff,0x97,0xd4]
- vfmsubadd132pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfmsubadd132ph ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0x18,0x97,0xd4]
- vfmsubadd132ph ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfmsubadd132ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0x3f,0x97,0xd4]
- vfmsubadd132ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfmsubadd132ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0xff,0x97,0xd4]
- vfmsubadd132ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfmsubadd132ps ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0x18,0x97,0xd4]
- vfmsubadd132ps ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfmsubadd132ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0x3f,0x97,0xd4]
- vfmsubadd132ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfmsubadd132ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0xff,0x97,0xd4]
- vfmsubadd132ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfmsubadd213pd ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0x18,0xa7,0xd4]
- vfmsubadd213pd ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfmsubadd213pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0x3f,0xa7,0xd4]
- vfmsubadd213pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfmsubadd213pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0xff,0xa7,0xd4]
- vfmsubadd213pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfmsubadd213ph ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0x18,0xa7,0xd4]
- vfmsubadd213ph ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfmsubadd213ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0x3f,0xa7,0xd4]
- vfmsubadd213ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfmsubadd213ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0xff,0xa7,0xd4]
- vfmsubadd213ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfmsubadd213ps ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0x18,0xa7,0xd4]
- vfmsubadd213ps ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfmsubadd213ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0x3f,0xa7,0xd4]
- vfmsubadd213ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfmsubadd213ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0xff,0xa7,0xd4]
- vfmsubadd213ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfmsubadd231pd ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0x18,0xb7,0xd4]
- vfmsubadd231pd ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfmsubadd231pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0x3f,0xb7,0xd4]
- vfmsubadd231pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfmsubadd231pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0xff,0xb7,0xd4]
- vfmsubadd231pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfmsubadd231ph ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0x18,0xb7,0xd4]
- vfmsubadd231ph ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfmsubadd231ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0x3f,0xb7,0xd4]
- vfmsubadd231ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfmsubadd231ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0xff,0xb7,0xd4]
- vfmsubadd231ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfmsubadd231ps ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0x18,0xb7,0xd4]
- vfmsubadd231ps ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfmsubadd231ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0x3f,0xb7,0xd4]
- vfmsubadd231ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfmsubadd231ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0xff,0xb7,0xd4]
- vfmsubadd231ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfmulcph ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf6,0x62,0x18,0xd6,0xd4]
- vfmulcph ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfmulcph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf6,0x62,0x3f,0xd6,0xd4]
- vfmulcph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfmulcph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf6,0x62,0xff,0xd6,0xd4]
- vfmulcph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfnmadd132pd ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0x18,0x9c,0xd4]
- vfnmadd132pd ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfnmadd132pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0x3f,0x9c,0xd4]
- vfnmadd132pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfnmadd132pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0xff,0x9c,0xd4]
- vfnmadd132pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfnmadd132ph ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0x18,0x9c,0xd4]
- vfnmadd132ph ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfnmadd132ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0x3f,0x9c,0xd4]
- vfnmadd132ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfnmadd132ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0xff,0x9c,0xd4]
- vfnmadd132ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfnmadd132ps ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0x18,0x9c,0xd4]
- vfnmadd132ps ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfnmadd132ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0x3f,0x9c,0xd4]
- vfnmadd132ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfnmadd132ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0xff,0x9c,0xd4]
- vfnmadd132ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfnmadd213pd ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0x18,0xac,0xd4]
- vfnmadd213pd ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfnmadd213pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0x3f,0xac,0xd4]
- vfnmadd213pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfnmadd213pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0xff,0xac,0xd4]
- vfnmadd213pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfnmadd213ph ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0x18,0xac,0xd4]
- vfnmadd213ph ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfnmadd213ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0x3f,0xac,0xd4]
- vfnmadd213ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfnmadd213ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0xff,0xac,0xd4]
- vfnmadd213ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfnmadd213ps ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0x18,0xac,0xd4]
- vfnmadd213ps ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfnmadd213ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0x3f,0xac,0xd4]
- vfnmadd213ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfnmadd213ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0xff,0xac,0xd4]
- vfnmadd213ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfnmadd231pd ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0x18,0xbc,0xd4]
- vfnmadd231pd ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfnmadd231pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0x3f,0xbc,0xd4]
- vfnmadd231pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfnmadd231pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0xff,0xbc,0xd4]
- vfnmadd231pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfnmadd231ph ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0x18,0xbc,0xd4]
- vfnmadd231ph ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfnmadd231ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0x3f,0xbc,0xd4]
- vfnmadd231ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfnmadd231ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0xff,0xbc,0xd4]
- vfnmadd231ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfnmadd231ps ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0x18,0xbc,0xd4]
- vfnmadd231ps ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfnmadd231ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0x3f,0xbc,0xd4]
- vfnmadd231ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfnmadd231ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0xff,0xbc,0xd4]
- vfnmadd231ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfnmsub132pd ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0x18,0x9e,0xd4]
- vfnmsub132pd ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfnmsub132pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0x3f,0x9e,0xd4]
- vfnmsub132pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfnmsub132pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0xff,0x9e,0xd4]
- vfnmsub132pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfnmsub132ph ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0x18,0x9e,0xd4]
- vfnmsub132ph ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfnmsub132ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0x3f,0x9e,0xd4]
- vfnmsub132ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfnmsub132ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0xff,0x9e,0xd4]
- vfnmsub132ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfnmsub132ps ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0x18,0x9e,0xd4]
- vfnmsub132ps ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfnmsub132ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0x3f,0x9e,0xd4]
- vfnmsub132ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfnmsub132ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0xff,0x9e,0xd4]
- vfnmsub132ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfnmsub213pd ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0x18,0xae,0xd4]
- vfnmsub213pd ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfnmsub213pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0x3f,0xae,0xd4]
- vfnmsub213pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfnmsub213pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0xff,0xae,0xd4]
- vfnmsub213pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfnmsub213ph ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0x18,0xae,0xd4]
- vfnmsub213ph ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfnmsub213ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0x3f,0xae,0xd4]
- vfnmsub213ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfnmsub213ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0xff,0xae,0xd4]
- vfnmsub213ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfnmsub213ps ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0x18,0xae,0xd4]
- vfnmsub213ps ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfnmsub213ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0x3f,0xae,0xd4]
- vfnmsub213ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfnmsub213ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0xff,0xae,0xd4]
- vfnmsub213ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfnmsub231pd ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0x18,0xbe,0xd4]
- vfnmsub231pd ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfnmsub231pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0x3f,0xbe,0xd4]
- vfnmsub231pd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfnmsub231pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0xff,0xbe,0xd4]
- vfnmsub231pd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfnmsub231ph ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0x18,0xbe,0xd4]
- vfnmsub231ph ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfnmsub231ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0x3f,0xbe,0xd4]
- vfnmsub231ph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfnmsub231ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0xff,0xbe,0xd4]
- vfnmsub231ph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vfnmsub231ps ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0x18,0xbe,0xd4]
- vfnmsub231ps ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vfnmsub231ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0x3f,0xbe,0xd4]
- vfnmsub231ps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vfnmsub231ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0xff,0xbe,0xd4]
- vfnmsub231ps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vgetexppd ymm2, ymm3, {sae}
-// CHECK: encoding: [0x62,0xf2,0xf9,0x18,0x42,0xd3]
- vgetexppd ymm2, ymm3, {sae}
-
-// CHECK: vgetexppd ymm2 {k7}, ymm3, {sae}
-// CHECK: encoding: [0x62,0xf2,0xf9,0x1f,0x42,0xd3]
- vgetexppd ymm2 {k7}, ymm3, {sae}
-
-// CHECK: vgetexppd ymm2 {k7} {z}, ymm3, {sae}
-// CHECK: encoding: [0x62,0xf2,0xf9,0x9f,0x42,0xd3]
- vgetexppd ymm2 {k7} {z}, ymm3, {sae}
-
-// CHECK: vgetexpph ymm2, ymm3, {sae}
-// CHECK: encoding: [0x62,0xf6,0x79,0x18,0x42,0xd3]
- vgetexpph ymm2, ymm3, {sae}
-
-// CHECK: vgetexpph ymm2 {k7}, ymm3, {sae}
-// CHECK: encoding: [0x62,0xf6,0x79,0x1f,0x42,0xd3]
- vgetexpph ymm2 {k7}, ymm3, {sae}
-
-// CHECK: vgetexpph ymm2 {k7} {z}, ymm3, {sae}
-// CHECK: encoding: [0x62,0xf6,0x79,0x9f,0x42,0xd3]
- vgetexpph ymm2 {k7} {z}, ymm3, {sae}
-
-// CHECK: vgetexpps ymm2, ymm3, {sae}
-// CHECK: encoding: [0x62,0xf2,0x79,0x18,0x42,0xd3]
- vgetexpps ymm2, ymm3, {sae}
-
-// CHECK: vgetexpps ymm2 {k7}, ymm3, {sae}
-// CHECK: encoding: [0x62,0xf2,0x79,0x1f,0x42,0xd3]
- vgetexpps ymm2 {k7}, ymm3, {sae}
-
-// CHECK: vgetexpps ymm2 {k7} {z}, ymm3, {sae}
-// CHECK: encoding: [0x62,0xf2,0x79,0x9f,0x42,0xd3]
- vgetexpps ymm2 {k7} {z}, ymm3, {sae}
-
-// CHECK: vgetmantpd ymm2, ymm3, {sae}, 123
-// CHECK: encoding: [0x62,0xf3,0xf9,0x18,0x26,0xd3,0x7b]
- vgetmantpd ymm2, ymm3, {sae}, 123
-
-// CHECK: vgetmantpd ymm2 {k7}, ymm3, {sae}, 123
-// CHECK: encoding: [0x62,0xf3,0xf9,0x1f,0x26,0xd3,0x7b]
- vgetmantpd ymm2 {k7}, ymm3, {sae}, 123
-
-// CHECK: vgetmantpd ymm2 {k7} {z}, ymm3, {sae}, 123
-// CHECK: encoding: [0x62,0xf3,0xf9,0x9f,0x26,0xd3,0x7b]
- vgetmantpd ymm2 {k7} {z}, ymm3, {sae}, 123
-
-// CHECK: vgetmantph ymm2, ymm3, {sae}, 123
-// CHECK: encoding: [0x62,0xf3,0x78,0x18,0x26,0xd3,0x7b]
- vgetmantph ymm2, ymm3, {sae}, 123
-
-// CHECK: vgetmantph ymm2 {k7}, ymm3, {sae}, 123
-// CHECK: encoding: [0x62,0xf3,0x78,0x1f,0x26,0xd3,0x7b]
- vgetmantph ymm2 {k7}, ymm3, {sae}, 123
-
-// CHECK: vgetmantph ymm2 {k7} {z}, ymm3, {sae}, 123
-// CHECK: encoding: [0x62,0xf3,0x78,0x9f,0x26,0xd3,0x7b]
- vgetmantph ymm2 {k7} {z}, ymm3, {sae}, 123
-
-// CHECK: vgetmantps ymm2, ymm3, {sae}, 123
-// CHECK: encoding: [0x62,0xf3,0x79,0x18,0x26,0xd3,0x7b]
- vgetmantps ymm2, ymm3, {sae}, 123
-
-// CHECK: vgetmantps ymm2 {k7}, ymm3, {sae}, 123
-// CHECK: encoding: [0x62,0xf3,0x79,0x1f,0x26,0xd3,0x7b]
- vgetmantps ymm2 {k7}, ymm3, {sae}, 123
-
-// CHECK: vgetmantps ymm2 {k7} {z}, ymm3, {sae}, 123
-// CHECK: encoding: [0x62,0xf3,0x79,0x9f,0x26,0xd3,0x7b]
- vgetmantps ymm2 {k7} {z}, ymm3, {sae}, 123
-
-// CHECK: vmaxpd ymm2, ymm3, ymm4, {sae}
-// CHECK: encoding: [0x62,0xf1,0xe1,0x18,0x5f,0xd4]
- vmaxpd ymm2, ymm3, ymm4, {sae}
-
-// CHECK: vmaxpd ymm2 {k7}, ymm3, ymm4, {sae}
-// CHECK: encoding: [0x62,0xf1,0xe1,0x1f,0x5f,0xd4]
- vmaxpd ymm2 {k7}, ymm3, ymm4, {sae}
-
-// CHECK: vmaxpd ymm2 {k7} {z}, ymm3, ymm4, {sae}
-// CHECK: encoding: [0x62,0xf1,0xe1,0x9f,0x5f,0xd4]
- vmaxpd ymm2 {k7} {z}, ymm3, ymm4, {sae}
-
-// CHECK: vmaxph ymm2, ymm3, ymm4, {sae}
-// CHECK: encoding: [0x62,0xf5,0x60,0x18,0x5f,0xd4]
- vmaxph ymm2, ymm3, ymm4, {sae}
-
-// CHECK: vmaxph ymm2 {k7}, ymm3, ymm4, {sae}
-// CHECK: encoding: [0x62,0xf5,0x60,0x1f,0x5f,0xd4]
- vmaxph ymm2 {k7}, ymm3, ymm4, {sae}
-
-// CHECK: vmaxph ymm2 {k7} {z}, ymm3, ymm4, {sae}
-// CHECK: encoding: [0x62,0xf5,0x60,0x9f,0x5f,0xd4]
- vmaxph ymm2 {k7} {z}, ymm3, ymm4, {sae}
-
-// CHECK: vmaxps ymm2, ymm3, ymm4, {sae}
-// CHECK: encoding: [0x62,0xf1,0x60,0x18,0x5f,0xd4]
- vmaxps ymm2, ymm3, ymm4, {sae}
-
-// CHECK: vmaxps ymm2 {k7}, ymm3, ymm4, {sae}
-// CHECK: encoding: [0x62,0xf1,0x60,0x1f,0x5f,0xd4]
- vmaxps ymm2 {k7}, ymm3, ymm4, {sae}
-
-// CHECK: vmaxps ymm2 {k7} {z}, ymm3, ymm4, {sae}
-// CHECK: encoding: [0x62,0xf1,0x60,0x9f,0x5f,0xd4]
- vmaxps ymm2 {k7} {z}, ymm3, ymm4, {sae}
-
-// CHECK: vminpd ymm2, ymm3, ymm4, {sae}
-// CHECK: encoding: [0x62,0xf1,0xe1,0x18,0x5d,0xd4]
- vminpd ymm2, ymm3, ymm4, {sae}
-
-// CHECK: vminpd ymm2 {k7}, ymm3, ymm4, {sae}
-// CHECK: encoding: [0x62,0xf1,0xe1,0x1f,0x5d,0xd4]
- vminpd ymm2 {k7}, ymm3, ymm4, {sae}
-
-// CHECK: vminpd ymm2 {k7} {z}, ymm3, ymm4, {sae}
-// CHECK: encoding: [0x62,0xf1,0xe1,0x9f,0x5d,0xd4]
- vminpd ymm2 {k7} {z}, ymm3, ymm4, {sae}
-
-// CHECK: vminph ymm2, ymm3, ymm4, {sae}
-// CHECK: encoding: [0x62,0xf5,0x60,0x18,0x5d,0xd4]
- vminph ymm2, ymm3, ymm4, {sae}
-
-// CHECK: vminph ymm2 {k7}, ymm3, ymm4, {sae}
-// CHECK: encoding: [0x62,0xf5,0x60,0x1f,0x5d,0xd4]
- vminph ymm2 {k7}, ymm3, ymm4, {sae}
-
-// CHECK: vminph ymm2 {k7} {z}, ymm3, ymm4, {sae}
-// CHECK: encoding: [0x62,0xf5,0x60,0x9f,0x5d,0xd4]
- vminph ymm2 {k7} {z}, ymm3, ymm4, {sae}
-
-// CHECK: vminps ymm2, ymm3, ymm4, {sae}
-// CHECK: encoding: [0x62,0xf1,0x60,0x18,0x5d,0xd4]
- vminps ymm2, ymm3, ymm4, {sae}
-
-// CHECK: vminps ymm2 {k7}, ymm3, ymm4, {sae}
-// CHECK: encoding: [0x62,0xf1,0x60,0x1f,0x5d,0xd4]
- vminps ymm2 {k7}, ymm3, ymm4, {sae}
-
-// CHECK: vminps ymm2 {k7} {z}, ymm3, ymm4, {sae}
-// CHECK: encoding: [0x62,0xf1,0x60,0x9f,0x5d,0xd4]
- vminps ymm2 {k7} {z}, ymm3, ymm4, {sae}
-
-// CHECK: vmulpd ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf1,0xe1,0x18,0x59,0xd4]
- vmulpd ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vmulpd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf1,0xe1,0x3f,0x59,0xd4]
- vmulpd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vmulpd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf1,0xe1,0xff,0x59,0xd4]
- vmulpd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vmulph ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf5,0x60,0x18,0x59,0xd4]
- vmulph ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vmulph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf5,0x60,0x3f,0x59,0xd4]
- vmulph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vmulph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf5,0x60,0xff,0x59,0xd4]
- vmulph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vmulps ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf1,0x60,0x18,0x59,0xd4]
- vmulps ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vmulps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf1,0x60,0x3f,0x59,0xd4]
- vmulps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vmulps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf1,0x60,0xff,0x59,0xd4]
- vmulps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vrangepd ymm2, ymm3, ymm4, {sae}, 123
-// CHECK: encoding: [0x62,0xf3,0xe1,0x18,0x50,0xd4,0x7b]
- vrangepd ymm2, ymm3, ymm4, {sae}, 123
-
-// CHECK: vrangepd ymm2 {k7}, ymm3, ymm4, {sae}, 123
-// CHECK: encoding: [0x62,0xf3,0xe1,0x1f,0x50,0xd4,0x7b]
- vrangepd ymm2 {k7}, ymm3, ymm4, {sae}, 123
-
-// CHECK: vrangepd ymm2 {k7} {z}, ymm3, ymm4, {sae}, 123
-// CHECK: encoding: [0x62,0xf3,0xe1,0x9f,0x50,0xd4,0x7b]
- vrangepd ymm2 {k7} {z}, ymm3, ymm4, {sae}, 123
-
-// CHECK: vrangeps ymm2, ymm3, ymm4, {sae}, 123
-// CHECK: encoding: [0x62,0xf3,0x61,0x18,0x50,0xd4,0x7b]
- vrangeps ymm2, ymm3, ymm4, {sae}, 123
-
-// CHECK: vrangeps ymm2 {k7}, ymm3, ymm4, {sae}, 123
-// CHECK: encoding: [0x62,0xf3,0x61,0x1f,0x50,0xd4,0x7b]
- vrangeps ymm2 {k7}, ymm3, ymm4, {sae}, 123
-
-// CHECK: vrangeps ymm2 {k7} {z}, ymm3, ymm4, {sae}, 123
-// CHECK: encoding: [0x62,0xf3,0x61,0x9f,0x50,0xd4,0x7b]
- vrangeps ymm2 {k7} {z}, ymm3, ymm4, {sae}, 123
-
-// CHECK: vreducepd ymm2, ymm3, {sae}, 123
-// CHECK: encoding: [0x62,0xf3,0xf9,0x18,0x56,0xd3,0x7b]
- vreducepd ymm2, ymm3, {sae}, 123
-
-// CHECK: vreducepd ymm2 {k7}, ymm3, {sae}, 123
-// CHECK: encoding: [0x62,0xf3,0xf9,0x1f,0x56,0xd3,0x7b]
- vreducepd ymm2 {k7}, ymm3, {sae}, 123
-
-// CHECK: vreducepd ymm2 {k7} {z}, ymm3, {sae}, 123
-// CHECK: encoding: [0x62,0xf3,0xf9,0x9f,0x56,0xd3,0x7b]
- vreducepd ymm2 {k7} {z}, ymm3, {sae}, 123
-
-// CHECK: vreduceph ymm2, ymm3, {sae}, 123
-// CHECK: encoding: [0x62,0xf3,0x78,0x18,0x56,0xd3,0x7b]
- vreduceph ymm2, ymm3, {sae}, 123
-
-// CHECK: vreduceph ymm2 {k7}, ymm3, {sae}, 123
-// CHECK: encoding: [0x62,0xf3,0x78,0x1f,0x56,0xd3,0x7b]
- vreduceph ymm2 {k7}, ymm3, {sae}, 123
-
-// CHECK: vreduceph ymm2 {k7} {z}, ymm3, {sae}, 123
-// CHECK: encoding: [0x62,0xf3,0x78,0x9f,0x56,0xd3,0x7b]
- vreduceph ymm2 {k7} {z}, ymm3, {sae}, 123
-
-// CHECK: vreduceps ymm2, ymm3, {sae}, 123
-// CHECK: encoding: [0x62,0xf3,0x79,0x18,0x56,0xd3,0x7b]
- vreduceps ymm2, ymm3, {sae}, 123
-
-// CHECK: vreduceps ymm2 {k7}, ymm3, {sae}, 123
-// CHECK: encoding: [0x62,0xf3,0x79,0x1f,0x56,0xd3,0x7b]
- vreduceps ymm2 {k7}, ymm3, {sae}, 123
-
-// CHECK: vreduceps ymm2 {k7} {z}, ymm3, {sae}, 123
-// CHECK: encoding: [0x62,0xf3,0x79,0x9f,0x56,0xd3,0x7b]
- vreduceps ymm2 {k7} {z}, ymm3, {sae}, 123
-
-// CHECK: vrndscalepd ymm2, ymm3, {sae}, 123
-// CHECK: encoding: [0x62,0xf3,0xf9,0x18,0x09,0xd3,0x7b]
- vrndscalepd ymm2, ymm3, {sae}, 123
-
-// CHECK: vrndscalepd ymm2 {k7}, ymm3, {sae}, 123
-// CHECK: encoding: [0x62,0xf3,0xf9,0x1f,0x09,0xd3,0x7b]
- vrndscalepd ymm2 {k7}, ymm3, {sae}, 123
-
-// CHECK: vrndscalepd ymm2 {k7} {z}, ymm3, {sae}, 123
-// CHECK: encoding: [0x62,0xf3,0xf9,0x9f,0x09,0xd3,0x7b]
- vrndscalepd ymm2 {k7} {z}, ymm3, {sae}, 123
-
-// CHECK: vrndscaleph ymm2, ymm3, {sae}, 123
-// CHECK: encoding: [0x62,0xf3,0x78,0x18,0x08,0xd3,0x7b]
- vrndscaleph ymm2, ymm3, {sae}, 123
-
-// CHECK: vrndscaleph ymm2 {k7}, ymm3, {sae}, 123
-// CHECK: encoding: [0x62,0xf3,0x78,0x1f,0x08,0xd3,0x7b]
- vrndscaleph ymm2 {k7}, ymm3, {sae}, 123
-
-// CHECK: vrndscaleph ymm2 {k7} {z}, ymm3, {sae}, 123
-// CHECK: encoding: [0x62,0xf3,0x78,0x9f,0x08,0xd3,0x7b]
- vrndscaleph ymm2 {k7} {z}, ymm3, {sae}, 123
-
-// CHECK: vrndscaleps ymm2, ymm3, {sae}, 123
-// CHECK: encoding: [0x62,0xf3,0x79,0x18,0x08,0xd3,0x7b]
- vrndscaleps ymm2, ymm3, {sae}, 123
-
-// CHECK: vrndscaleps ymm2 {k7}, ymm3, {sae}, 123
-// CHECK: encoding: [0x62,0xf3,0x79,0x1f,0x08,0xd3,0x7b]
- vrndscaleps ymm2 {k7}, ymm3, {sae}, 123
-
-// CHECK: vrndscaleps ymm2 {k7} {z}, ymm3, {sae}, 123
-// CHECK: encoding: [0x62,0xf3,0x79,0x9f,0x08,0xd3,0x7b]
- vrndscaleps ymm2 {k7} {z}, ymm3, {sae}, 123
-
-// CHECK: vscalefpd ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0x18,0x2c,0xd4]
- vscalefpd ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vscalefpd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0x3f,0x2c,0xd4]
- vscalefpd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vscalefpd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf2,0xe1,0xff,0x2c,0xd4]
- vscalefpd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vscalefph ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0x18,0x2c,0xd4]
- vscalefph ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vscalefph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0x3f,0x2c,0xd4]
- vscalefph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vscalefph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf6,0x61,0xff,0x2c,0xd4]
- vscalefph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vscalefps ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0x18,0x2c,0xd4]
- vscalefps ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vscalefps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0x3f,0x2c,0xd4]
- vscalefps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vscalefps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0xff,0x2c,0xd4]
- vscalefps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vsqrtpd ymm2, ymm3, {rn-sae}
-// CHECK: encoding: [0x62,0xf1,0xf9,0x18,0x51,0xd3]
- vsqrtpd ymm2, ymm3, {rn-sae}
-
-// CHECK: vsqrtpd ymm2 {k7}, ymm3, {rd-sae}
-// CHECK: encoding: [0x62,0xf1,0xf9,0x3f,0x51,0xd3]
- vsqrtpd ymm2 {k7}, ymm3, {rd-sae}
-
-// CHECK: vsqrtpd ymm2 {k7} {z}, ymm3, {rz-sae}
-// CHECK: encoding: [0x62,0xf1,0xf9,0xff,0x51,0xd3]
- vsqrtpd ymm2 {k7} {z}, ymm3, {rz-sae}
-
-// CHECK: vsqrtph ymm2, ymm3, {rn-sae}
-// CHECK: encoding: [0x62,0xf5,0x78,0x18,0x51,0xd3]
- vsqrtph ymm2, ymm3, {rn-sae}
-
-// CHECK: vsqrtph ymm2 {k7}, ymm3, {rd-sae}
-// CHECK: encoding: [0x62,0xf5,0x78,0x3f,0x51,0xd3]
- vsqrtph ymm2 {k7}, ymm3, {rd-sae}
-
-// CHECK: vsqrtph ymm2 {k7} {z}, ymm3, {rz-sae}
-// CHECK: encoding: [0x62,0xf5,0x78,0xff,0x51,0xd3]
- vsqrtph ymm2 {k7} {z}, ymm3, {rz-sae}
-
-// CHECK: vsqrtps ymm2, ymm3, {rn-sae}
-// CHECK: encoding: [0x62,0xf1,0x78,0x18,0x51,0xd3]
- vsqrtps ymm2, ymm3, {rn-sae}
-
-// CHECK: vsqrtps ymm2 {k7}, ymm3, {rd-sae}
-// CHECK: encoding: [0x62,0xf1,0x78,0x3f,0x51,0xd3]
- vsqrtps ymm2 {k7}, ymm3, {rd-sae}
-
-// CHECK: vsqrtps ymm2 {k7} {z}, ymm3, {rz-sae}
-// CHECK: encoding: [0x62,0xf1,0x78,0xff,0x51,0xd3]
- vsqrtps ymm2 {k7} {z}, ymm3, {rz-sae}
-
-// CHECK: vsubpd ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf1,0xe1,0x18,0x5c,0xd4]
- vsubpd ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vsubpd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf1,0xe1,0x3f,0x5c,0xd4]
- vsubpd ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vsubpd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf1,0xe1,0xff,0x5c,0xd4]
- vsubpd ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vsubph ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf5,0x60,0x18,0x5c,0xd4]
- vsubph ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vsubph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf5,0x60,0x3f,0x5c,0xd4]
- vsubph ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vsubph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf5,0x60,0xff,0x5c,0xd4]
- vsubph ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
-// CHECK: vsubps ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf1,0x60,0x18,0x5c,0xd4]
- vsubps ymm2, ymm3, ymm4, {rn-sae}
-
-// CHECK: vsubps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-// CHECK: encoding: [0x62,0xf1,0x60,0x3f,0x5c,0xd4]
- vsubps ymm2 {k7}, ymm3, ymm4, {rd-sae}
-
-// CHECK: vsubps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf1,0x60,0xff,0x5c,0xd4]
- vsubps ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
diff --git a/llvm/test/MC/X86/avx10_2ni-64-att.s b/llvm/test/MC/X86/avx10_2ni-64-att.s
index 4fa7c0a918528..2567a1e2ea39d 100644
--- a/llvm/test/MC/X86/avx10_2ni-64-att.s
+++ b/llvm/test/MC/X86/avx10_2ni-64-att.s
@@ -1519,1781 +1519,3 @@
// CHECK: vmpsadbw $123, -8192(%rdx), %zmm23, %zmm22 {%k7} {z}
// CHECK: encoding: [0x62,0xe3,0x46,0xc7,0x42,0x72,0x80,0x7b]
vmpsadbw $123, -8192(%rdx), %zmm23, %zmm22 {%k7} {z}
-
-// YMM Rounding
-
-// CHECK: vaddpd {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x81,0xc1,0x10,0x58,0xf0]
- vaddpd {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vaddpd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x81,0xc1,0x37,0x58,0xf0]
- vaddpd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vaddpd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x81,0xc1,0xf7,0x58,0xf0]
- vaddpd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vaddph {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x85,0x40,0x10,0x58,0xf0]
- vaddph {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vaddph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x85,0x40,0x37,0x58,0xf0]
- vaddph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vaddph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x85,0x40,0xf7,0x58,0xf0]
- vaddph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vaddps {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x81,0x40,0x10,0x58,0xf0]
- vaddps {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vaddps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x81,0x40,0x37,0x58,0xf0]
- vaddps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vaddps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x81,0x40,0xf7,0x58,0xf0]
- vaddps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vcmppd $123, {sae}, %ymm24, %ymm23, %k5
-// CHECK: encoding: [0x62,0x91,0xc1,0x10,0xc2,0xe8,0x7b]
- vcmppd $123, {sae}, %ymm24, %ymm23, %k5
-
-// CHECK: vcmppd $123, {sae}, %ymm24, %ymm23, %k5 {%k7}
-// CHECK: encoding: [0x62,0x91,0xc1,0x17,0xc2,0xe8,0x7b]
- vcmppd $123, {sae}, %ymm24, %ymm23, %k5 {%k7}
-
-// CHECK: vcmpph $123, {sae}, %ymm24, %ymm23, %k5
-// CHECK: encoding: [0x62,0x93,0x40,0x10,0xc2,0xe8,0x7b]
- vcmpph $123, {sae}, %ymm24, %ymm23, %k5
-
-// CHECK: vcmpph $123, {sae}, %ymm24, %ymm23, %k5 {%k7}
-// CHECK: encoding: [0x62,0x93,0x40,0x17,0xc2,0xe8,0x7b]
- vcmpph $123, {sae}, %ymm24, %ymm23, %k5 {%k7}
-
-// CHECK: vcmpps $123, {sae}, %ymm24, %ymm23, %k5
-// CHECK: encoding: [0x62,0x91,0x40,0x10,0xc2,0xe8,0x7b]
- vcmpps $123, {sae}, %ymm24, %ymm23, %k5
-
-// CHECK: vcmpps $123, {sae}, %ymm24, %ymm23, %k5 {%k7}
-// CHECK: encoding: [0x62,0x91,0x40,0x17,0xc2,0xe8,0x7b]
- vcmpps $123, {sae}, %ymm24, %ymm23, %k5 {%k7}
-
-// CHECK: vcvtdq2ph {rn-sae}, %ymm23, %xmm22
-// CHECK: encoding: [0x62,0xa5,0x78,0x18,0x5b,0xf7]
- vcvtdq2ph {rn-sae}, %ymm23, %xmm22
-
-// CHECK: vcvtdq2ph {rd-sae}, %ymm23, %xmm22 {%k7}
-// CHECK: encoding: [0x62,0xa5,0x78,0x3f,0x5b,0xf7]
- vcvtdq2ph {rd-sae}, %ymm23, %xmm22 {%k7}
-
-// CHECK: vcvtdq2ph {rz-sae}, %ymm23, %xmm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa5,0x78,0xff,0x5b,0xf7]
- vcvtdq2ph {rz-sae}, %ymm23, %xmm22 {%k7} {z}
-
-// CHECK: vcvtdq2ps {rn-sae}, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0xa1,0x78,0x18,0x5b,0xf7]
- vcvtdq2ps {rn-sae}, %ymm23, %ymm22
-
-// CHECK: vcvtdq2ps {rd-sae}, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0xa1,0x78,0x3f,0x5b,0xf7]
- vcvtdq2ps {rd-sae}, %ymm23, %ymm22 {%k7}
-
-// CHECK: vcvtdq2ps {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa1,0x78,0xff,0x5b,0xf7]
- vcvtdq2ps {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vcvtpd2dq {rn-sae}, %ymm23, %xmm22
-// CHECK: encoding: [0x62,0xa1,0xfb,0x18,0xe6,0xf7]
- vcvtpd2dq {rn-sae}, %ymm23, %xmm22
-
-// CHECK: vcvtpd2dq {rd-sae}, %ymm23, %xmm22 {%k7}
-// CHECK: encoding: [0x62,0xa1,0xfb,0x3f,0xe6,0xf7]
- vcvtpd2dq {rd-sae}, %ymm23, %xmm22 {%k7}
-
-// CHECK: vcvtpd2dq {rz-sae}, %ymm23, %xmm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa1,0xfb,0xff,0xe6,0xf7]
- vcvtpd2dq {rz-sae}, %ymm23, %xmm22 {%k7} {z}
-
-// CHECK: vcvtpd2ph {rn-sae}, %ymm23, %xmm22
-// CHECK: encoding: [0x62,0xa5,0xf9,0x18,0x5a,0xf7]
- vcvtpd2ph {rn-sae}, %ymm23, %xmm22
-
-// CHECK: vcvtpd2ph {rd-sae}, %ymm23, %xmm22 {%k7}
-// CHECK: encoding: [0x62,0xa5,0xf9,0x3f,0x5a,0xf7]
- vcvtpd2ph {rd-sae}, %ymm23, %xmm22 {%k7}
-
-// CHECK: vcvtpd2ph {rz-sae}, %ymm23, %xmm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa5,0xf9,0xff,0x5a,0xf7]
- vcvtpd2ph {rz-sae}, %ymm23, %xmm22 {%k7} {z}
-
-// CHECK: vcvtpd2ps {rn-sae}, %ymm23, %xmm22
-// CHECK: encoding: [0x62,0xa1,0xf9,0x18,0x5a,0xf7]
- vcvtpd2ps {rn-sae}, %ymm23, %xmm22
-
-// CHECK: vcvtpd2ps {rd-sae}, %ymm23, %xmm22 {%k7}
-// CHECK: encoding: [0x62,0xa1,0xf9,0x3f,0x5a,0xf7]
- vcvtpd2ps {rd-sae}, %ymm23, %xmm22 {%k7}
-
-// CHECK: vcvtpd2ps {rz-sae}, %ymm23, %xmm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa1,0xf9,0xff,0x5a,0xf7]
- vcvtpd2ps {rz-sae}, %ymm23, %xmm22 {%k7} {z}
-
-// CHECK: vcvtpd2qq {rn-sae}, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0xa1,0xf9,0x18,0x7b,0xf7]
- vcvtpd2qq {rn-sae}, %ymm23, %ymm22
-
-// CHECK: vcvtpd2qq {rd-sae}, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0xa1,0xf9,0x3f,0x7b,0xf7]
- vcvtpd2qq {rd-sae}, %ymm23, %ymm22 {%k7}
-
-// CHECK: vcvtpd2qq {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa1,0xf9,0xff,0x7b,0xf7]
- vcvtpd2qq {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vcvtpd2udq {rn-sae}, %ymm23, %xmm22
-// CHECK: encoding: [0x62,0xa1,0xf8,0x18,0x79,0xf7]
- vcvtpd2udq {rn-sae}, %ymm23, %xmm22
-
-// CHECK: vcvtpd2udq {rd-sae}, %ymm23, %xmm22 {%k7}
-// CHECK: encoding: [0x62,0xa1,0xf8,0x3f,0x79,0xf7]
- vcvtpd2udq {rd-sae}, %ymm23, %xmm22 {%k7}
-
-// CHECK: vcvtpd2udq {rz-sae}, %ymm23, %xmm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa1,0xf8,0xff,0x79,0xf7]
- vcvtpd2udq {rz-sae}, %ymm23, %xmm22 {%k7} {z}
-
-// CHECK: vcvtpd2uqq {rn-sae}, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0xa1,0xf9,0x18,0x79,0xf7]
- vcvtpd2uqq {rn-sae}, %ymm23, %ymm22
-
-// CHECK: vcvtpd2uqq {rd-sae}, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0xa1,0xf9,0x3f,0x79,0xf7]
- vcvtpd2uqq {rd-sae}, %ymm23, %ymm22 {%k7}
-
-// CHECK: vcvtpd2uqq {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa1,0xf9,0xff,0x79,0xf7]
- vcvtpd2uqq {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vcvtph2dq {rn-sae}, %xmm23, %ymm22
-// CHECK: encoding: [0x62,0xa5,0x79,0x18,0x5b,0xf7]
- vcvtph2dq {rn-sae}, %xmm23, %ymm22
-
-// CHECK: vcvtph2dq {rd-sae}, %xmm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0xa5,0x79,0x3f,0x5b,0xf7]
- vcvtph2dq {rd-sae}, %xmm23, %ymm22 {%k7}
-
-// CHECK: vcvtph2dq {rz-sae}, %xmm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa5,0x79,0xff,0x5b,0xf7]
- vcvtph2dq {rz-sae}, %xmm23, %ymm22 {%k7} {z}
-
-// CHECK: vcvtph2pd {sae}, %xmm23, %ymm22
-// CHECK: encoding: [0x62,0xa5,0x78,0x18,0x5a,0xf7]
- vcvtph2pd {sae}, %xmm23, %ymm22
-
-// CHECK: vcvtph2pd {sae}, %xmm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0xa5,0x78,0x1f,0x5a,0xf7]
- vcvtph2pd {sae}, %xmm23, %ymm22 {%k7}
-
-// CHECK: vcvtph2pd {sae}, %xmm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa5,0x78,0x9f,0x5a,0xf7]
- vcvtph2pd {sae}, %xmm23, %ymm22 {%k7} {z}
-
-// CHECK: vcvtph2ps {sae}, %xmm23, %ymm22
-// CHECK: encoding: [0x62,0xa2,0x79,0x18,0x13,0xf7]
- vcvtph2ps {sae}, %xmm23, %ymm22
-
-// CHECK: vcvtph2ps {sae}, %xmm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0xa2,0x79,0x1f,0x13,0xf7]
- vcvtph2ps {sae}, %xmm23, %ymm22 {%k7}
-
-// CHECK: vcvtph2ps {sae}, %xmm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa2,0x79,0x9f,0x13,0xf7]
- vcvtph2ps {sae}, %xmm23, %ymm22 {%k7} {z}
-
-// CHECK: vcvtph2psx {sae}, %xmm23, %ymm22
-// CHECK: encoding: [0x62,0xa6,0x79,0x18,0x13,0xf7]
- vcvtph2psx {sae}, %xmm23, %ymm22
-
-// CHECK: vcvtph2psx {sae}, %xmm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0xa6,0x79,0x1f,0x13,0xf7]
- vcvtph2psx {sae}, %xmm23, %ymm22 {%k7}
-
-// CHECK: vcvtph2psx {sae}, %xmm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa6,0x79,0x9f,0x13,0xf7]
- vcvtph2psx {sae}, %xmm23, %ymm22 {%k7} {z}
-
-// CHECK: vcvtph2qq {rn-sae}, %xmm23, %ymm22
-// CHECK: encoding: [0x62,0xa5,0x79,0x18,0x7b,0xf7]
- vcvtph2qq {rn-sae}, %xmm23, %ymm22
-
-// CHECK: vcvtph2qq {rd-sae}, %xmm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0xa5,0x79,0x3f,0x7b,0xf7]
- vcvtph2qq {rd-sae}, %xmm23, %ymm22 {%k7}
-
-// CHECK: vcvtph2qq {rz-sae}, %xmm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa5,0x79,0xff,0x7b,0xf7]
- vcvtph2qq {rz-sae}, %xmm23, %ymm22 {%k7} {z}
-
-// CHECK: vcvtph2udq {rn-sae}, %xmm23, %ymm22
-// CHECK: encoding: [0x62,0xa5,0x78,0x18,0x79,0xf7]
- vcvtph2udq {rn-sae}, %xmm23, %ymm22
-
-// CHECK: vcvtph2udq {rd-sae}, %xmm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0xa5,0x78,0x3f,0x79,0xf7]
- vcvtph2udq {rd-sae}, %xmm23, %ymm22 {%k7}
-
-// CHECK: vcvtph2udq {rz-sae}, %xmm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa5,0x78,0xff,0x79,0xf7]
- vcvtph2udq {rz-sae}, %xmm23, %ymm22 {%k7} {z}
-
-// CHECK: vcvtph2uqq {rn-sae}, %xmm23, %ymm22
-// CHECK: encoding: [0x62,0xa5,0x79,0x18,0x79,0xf7]
- vcvtph2uqq {rn-sae}, %xmm23, %ymm22
-
-// CHECK: vcvtph2uqq {rd-sae}, %xmm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0xa5,0x79,0x3f,0x79,0xf7]
- vcvtph2uqq {rd-sae}, %xmm23, %ymm22 {%k7}
-
-// CHECK: vcvtph2uqq {rz-sae}, %xmm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa5,0x79,0xff,0x79,0xf7]
- vcvtph2uqq {rz-sae}, %xmm23, %ymm22 {%k7} {z}
-
-// CHECK: vcvtph2uw {rn-sae}, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0xa5,0x78,0x18,0x7d,0xf7]
- vcvtph2uw {rn-sae}, %ymm23, %ymm22
-
-// CHECK: vcvtph2uw {rd-sae}, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0xa5,0x78,0x3f,0x7d,0xf7]
- vcvtph2uw {rd-sae}, %ymm23, %ymm22 {%k7}
-
-// CHECK: vcvtph2uw {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa5,0x78,0xff,0x7d,0xf7]
- vcvtph2uw {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vcvtph2w {rn-sae}, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0xa5,0x79,0x18,0x7d,0xf7]
- vcvtph2w {rn-sae}, %ymm23, %ymm22
-
-// CHECK: vcvtph2w {rd-sae}, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0xa5,0x79,0x3f,0x7d,0xf7]
- vcvtph2w {rd-sae}, %ymm23, %ymm22 {%k7}
-
-// CHECK: vcvtph2w {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa5,0x79,0xff,0x7d,0xf7]
- vcvtph2w {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vcvtps2dq {rn-sae}, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0xa1,0x79,0x18,0x5b,0xf7]
- vcvtps2dq {rn-sae}, %ymm23, %ymm22
-
-// CHECK: vcvtps2dq {rd-sae}, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0xa1,0x79,0x3f,0x5b,0xf7]
- vcvtps2dq {rd-sae}, %ymm23, %ymm22 {%k7}
-
-// CHECK: vcvtps2dq {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa1,0x79,0xff,0x5b,0xf7]
- vcvtps2dq {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vcvtps2pd {sae}, %xmm23, %ymm22
-// CHECK: encoding: [0x62,0xa1,0x78,0x18,0x5a,0xf7]
- vcvtps2pd {sae}, %xmm23, %ymm22
-
-// CHECK: vcvtps2pd {sae}, %xmm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0xa1,0x78,0x1f,0x5a,0xf7]
- vcvtps2pd {sae}, %xmm23, %ymm22 {%k7}
-
-// CHECK: vcvtps2pd {sae}, %xmm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa1,0x78,0x9f,0x5a,0xf7]
- vcvtps2pd {sae}, %xmm23, %ymm22 {%k7} {z}
-
-// CHECK: vcvtps2ph $123, {sae}, %ymm23, %xmm22
-// CHECK: encoding: [0x62,0xa3,0x79,0x18,0x1d,0xfe,0x7b]
- vcvtps2ph $123, {sae}, %ymm23, %xmm22
-
-// CHECK: vcvtps2ph $123, {sae}, %ymm23, %xmm22 {%k7}
-// CHECK: encoding: [0x62,0xa3,0x79,0x1f,0x1d,0xfe,0x7b]
- vcvtps2ph $123, {sae}, %ymm23, %xmm22 {%k7}
-
-// CHECK: vcvtps2ph $123, {sae}, %ymm23, %xmm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa3,0x79,0x9f,0x1d,0xfe,0x7b]
- vcvtps2ph $123, {sae}, %ymm23, %xmm22 {%k7} {z}
-
-// CHECK: vcvtps2phx {rn-sae}, %ymm23, %xmm22
-// CHECK: encoding: [0x62,0xa5,0x79,0x18,0x1d,0xf7]
- vcvtps2phx {rn-sae}, %ymm23, %xmm22
-
-// CHECK: vcvtps2phx {rd-sae}, %ymm23, %xmm22 {%k7}
-// CHECK: encoding: [0x62,0xa5,0x79,0x3f,0x1d,0xf7]
- vcvtps2phx {rd-sae}, %ymm23, %xmm22 {%k7}
-
-// CHECK: vcvtps2phx {rz-sae}, %ymm23, %xmm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa5,0x79,0xff,0x1d,0xf7]
- vcvtps2phx {rz-sae}, %ymm23, %xmm22 {%k7} {z}
-
-// CHECK: vcvtps2qq {rn-sae}, %xmm23, %ymm22
-// CHECK: encoding: [0x62,0xa1,0x79,0x18,0x7b,0xf7]
- vcvtps2qq {rn-sae}, %xmm23, %ymm22
-
-// CHECK: vcvtps2qq {rd-sae}, %xmm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0xa1,0x79,0x3f,0x7b,0xf7]
- vcvtps2qq {rd-sae}, %xmm23, %ymm22 {%k7}
-
-// CHECK: vcvtps2qq {rz-sae}, %xmm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa1,0x79,0xff,0x7b,0xf7]
- vcvtps2qq {rz-sae}, %xmm23, %ymm22 {%k7} {z}
-
-// CHECK: vcvtps2udq {rn-sae}, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0xa1,0x78,0x18,0x79,0xf7]
- vcvtps2udq {rn-sae}, %ymm23, %ymm22
-
-// CHECK: vcvtps2udq {rd-sae}, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0xa1,0x78,0x3f,0x79,0xf7]
- vcvtps2udq {rd-sae}, %ymm23, %ymm22 {%k7}
-
-// CHECK: vcvtps2udq {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa1,0x78,0xff,0x79,0xf7]
- vcvtps2udq {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vcvtps2uqq {rn-sae}, %xmm23, %ymm22
-// CHECK: encoding: [0x62,0xa1,0x79,0x18,0x79,0xf7]
- vcvtps2uqq {rn-sae}, %xmm23, %ymm22
-
-// CHECK: vcvtps2uqq {rd-sae}, %xmm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0xa1,0x79,0x3f,0x79,0xf7]
- vcvtps2uqq {rd-sae}, %xmm23, %ymm22 {%k7}
-
-// CHECK: vcvtps2uqq {rz-sae}, %xmm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa1,0x79,0xff,0x79,0xf7]
- vcvtps2uqq {rz-sae}, %xmm23, %ymm22 {%k7} {z}
-
-// CHECK: vcvtqq2pd {rn-sae}, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0xa1,0xfa,0x18,0xe6,0xf7]
- vcvtqq2pd {rn-sae}, %ymm23, %ymm22
-
-// CHECK: vcvtqq2pd {rd-sae}, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0xa1,0xfa,0x3f,0xe6,0xf7]
- vcvtqq2pd {rd-sae}, %ymm23, %ymm22 {%k7}
-
-// CHECK: vcvtqq2pd {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa1,0xfa,0xff,0xe6,0xf7]
- vcvtqq2pd {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vcvtqq2ph {rn-sae}, %ymm23, %xmm22
-// CHECK: encoding: [0x62,0xa5,0xf8,0x18,0x5b,0xf7]
- vcvtqq2ph {rn-sae}, %ymm23, %xmm22
-
-// CHECK: vcvtqq2ph {rd-sae}, %ymm23, %xmm22 {%k7}
-// CHECK: encoding: [0x62,0xa5,0xf8,0x3f,0x5b,0xf7]
- vcvtqq2ph {rd-sae}, %ymm23, %xmm22 {%k7}
-
-// CHECK: vcvtqq2ph {rz-sae}, %ymm23, %xmm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa5,0xf8,0xff,0x5b,0xf7]
- vcvtqq2ph {rz-sae}, %ymm23, %xmm22 {%k7} {z}
-
-// CHECK: vcvtqq2ps {rn-sae}, %ymm23, %xmm22
-// CHECK: encoding: [0x62,0xa1,0xf8,0x18,0x5b,0xf7]
- vcvtqq2ps {rn-sae}, %ymm23, %xmm22
-
-// CHECK: vcvtqq2ps {rd-sae}, %ymm23, %xmm22 {%k7}
-// CHECK: encoding: [0x62,0xa1,0xf8,0x3f,0x5b,0xf7]
- vcvtqq2ps {rd-sae}, %ymm23, %xmm22 {%k7}
-
-// CHECK: vcvtqq2ps {rz-sae}, %ymm23, %xmm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa1,0xf8,0xff,0x5b,0xf7]
- vcvtqq2ps {rz-sae}, %ymm23, %xmm22 {%k7} {z}
-
-// CHECK: vcvttpd2dq {sae}, %ymm23, %xmm22
-// CHECK: encoding: [0x62,0xa1,0xf9,0x18,0xe6,0xf7]
- vcvttpd2dq {sae}, %ymm23, %xmm22
-
-// CHECK: vcvttpd2dq {sae}, %ymm23, %xmm22 {%k7}
-// CHECK: encoding: [0x62,0xa1,0xf9,0x1f,0xe6,0xf7]
- vcvttpd2dq {sae}, %ymm23, %xmm22 {%k7}
-
-// CHECK: vcvttpd2dq {sae}, %ymm23, %xmm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa1,0xf9,0x9f,0xe6,0xf7]
- vcvttpd2dq {sae}, %ymm23, %xmm22 {%k7} {z}
-
-// CHECK: vcvttpd2qq {sae}, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0xa1,0xf9,0x18,0x7a,0xf7]
- vcvttpd2qq {sae}, %ymm23, %ymm22
-
-// CHECK: vcvttpd2qq {sae}, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0xa1,0xf9,0x1f,0x7a,0xf7]
- vcvttpd2qq {sae}, %ymm23, %ymm22 {%k7}
-
-// CHECK: vcvttpd2qq {sae}, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa1,0xf9,0x9f,0x7a,0xf7]
- vcvttpd2qq {sae}, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vcvttpd2udq {sae}, %ymm23, %xmm22
-// CHECK: encoding: [0x62,0xa1,0xf8,0x18,0x78,0xf7]
- vcvttpd2udq {sae}, %ymm23, %xmm22
-
-// CHECK: vcvttpd2udq {sae}, %ymm23, %xmm22 {%k7}
-// CHECK: encoding: [0x62,0xa1,0xf8,0x1f,0x78,0xf7]
- vcvttpd2udq {sae}, %ymm23, %xmm22 {%k7}
-
-// CHECK: vcvttpd2udq {sae}, %ymm23, %xmm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa1,0xf8,0x9f,0x78,0xf7]
- vcvttpd2udq {sae}, %ymm23, %xmm22 {%k7} {z}
-
-// CHECK: vcvttpd2uqq {sae}, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0xa1,0xf9,0x18,0x78,0xf7]
- vcvttpd2uqq {sae}, %ymm23, %ymm22
-
-// CHECK: vcvttpd2uqq {sae}, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0xa1,0xf9,0x1f,0x78,0xf7]
- vcvttpd2uqq {sae}, %ymm23, %ymm22 {%k7}
-
-// CHECK: vcvttpd2uqq {sae}, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa1,0xf9,0x9f,0x78,0xf7]
- vcvttpd2uqq {sae}, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vcvttph2dq {sae}, %xmm23, %ymm22
-// CHECK: encoding: [0x62,0xa5,0x7a,0x18,0x5b,0xf7]
- vcvttph2dq {sae}, %xmm23, %ymm22
-
-// CHECK: vcvttph2dq {sae}, %xmm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0xa5,0x7a,0x1f,0x5b,0xf7]
- vcvttph2dq {sae}, %xmm23, %ymm22 {%k7}
-
-// CHECK: vcvttph2dq {sae}, %xmm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa5,0x7a,0x9f,0x5b,0xf7]
- vcvttph2dq {sae}, %xmm23, %ymm22 {%k7} {z}
-
-// CHECK: vcvttph2qq {sae}, %xmm23, %ymm22
-// CHECK: encoding: [0x62,0xa5,0x79,0x18,0x7a,0xf7]
- vcvttph2qq {sae}, %xmm23, %ymm22
-
-// CHECK: vcvttph2qq {sae}, %xmm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0xa5,0x79,0x1f,0x7a,0xf7]
- vcvttph2qq {sae}, %xmm23, %ymm22 {%k7}
-
-// CHECK: vcvttph2qq {sae}, %xmm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa5,0x79,0x9f,0x7a,0xf7]
- vcvttph2qq {sae}, %xmm23, %ymm22 {%k7} {z}
-
-// CHECK: vcvttph2udq {sae}, %xmm23, %ymm22
-// CHECK: encoding: [0x62,0xa5,0x78,0x18,0x78,0xf7]
- vcvttph2udq {sae}, %xmm23, %ymm22
-
-// CHECK: vcvttph2udq {sae}, %xmm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0xa5,0x78,0x1f,0x78,0xf7]
- vcvttph2udq {sae}, %xmm23, %ymm22 {%k7}
-
-// CHECK: vcvttph2udq {sae}, %xmm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa5,0x78,0x9f,0x78,0xf7]
- vcvttph2udq {sae}, %xmm23, %ymm22 {%k7} {z}
-
-// CHECK: vcvttph2uqq {sae}, %xmm23, %ymm22
-// CHECK: encoding: [0x62,0xa5,0x79,0x18,0x78,0xf7]
- vcvttph2uqq {sae}, %xmm23, %ymm22
-
-// CHECK: vcvttph2uqq {sae}, %xmm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0xa5,0x79,0x1f,0x78,0xf7]
- vcvttph2uqq {sae}, %xmm23, %ymm22 {%k7}
-
-// CHECK: vcvttph2uqq {sae}, %xmm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa5,0x79,0x9f,0x78,0xf7]
- vcvttph2uqq {sae}, %xmm23, %ymm22 {%k7} {z}
-
-// CHECK: vcvttph2uw {sae}, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0xa5,0x78,0x18,0x7c,0xf7]
- vcvttph2uw {sae}, %ymm23, %ymm22
-
-// CHECK: vcvttph2uw {sae}, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0xa5,0x78,0x1f,0x7c,0xf7]
- vcvttph2uw {sae}, %ymm23, %ymm22 {%k7}
-
-// CHECK: vcvttph2uw {sae}, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa5,0x78,0x9f,0x7c,0xf7]
- vcvttph2uw {sae}, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vcvttph2w {sae}, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0xa5,0x79,0x18,0x7c,0xf7]
- vcvttph2w {sae}, %ymm23, %ymm22
-
-// CHECK: vcvttph2w {sae}, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0xa5,0x79,0x1f,0x7c,0xf7]
- vcvttph2w {sae}, %ymm23, %ymm22 {%k7}
-
-// CHECK: vcvttph2w {sae}, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa5,0x79,0x9f,0x7c,0xf7]
- vcvttph2w {sae}, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vcvttps2dq {sae}, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0xa1,0x7a,0x18,0x5b,0xf7]
- vcvttps2dq {sae}, %ymm23, %ymm22
-
-// CHECK: vcvttps2dq {sae}, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0xa1,0x7a,0x1f,0x5b,0xf7]
- vcvttps2dq {sae}, %ymm23, %ymm22 {%k7}
-
-// CHECK: vcvttps2dq {sae}, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa1,0x7a,0x9f,0x5b,0xf7]
- vcvttps2dq {sae}, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vcvttps2qq {sae}, %xmm23, %ymm22
-// CHECK: encoding: [0x62,0xa1,0x79,0x18,0x7a,0xf7]
- vcvttps2qq {sae}, %xmm23, %ymm22
-
-// CHECK: vcvttps2qq {sae}, %xmm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0xa1,0x79,0x1f,0x7a,0xf7]
- vcvttps2qq {sae}, %xmm23, %ymm22 {%k7}
-
-// CHECK: vcvttps2qq {sae}, %xmm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa1,0x79,0x9f,0x7a,0xf7]
- vcvttps2qq {sae}, %xmm23, %ymm22 {%k7} {z}
-
-// CHECK: vcvttps2udq {sae}, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0xa1,0x78,0x18,0x78,0xf7]
- vcvttps2udq {sae}, %ymm23, %ymm22
-
-// CHECK: vcvttps2udq {sae}, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0xa1,0x78,0x1f,0x78,0xf7]
- vcvttps2udq {sae}, %ymm23, %ymm22 {%k7}
-
-// CHECK: vcvttps2udq {sae}, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa1,0x78,0x9f,0x78,0xf7]
- vcvttps2udq {sae}, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vcvttps2uqq {sae}, %xmm23, %ymm22
-// CHECK: encoding: [0x62,0xa1,0x79,0x18,0x78,0xf7]
- vcvttps2uqq {sae}, %xmm23, %ymm22
-
-// CHECK: vcvttps2uqq {sae}, %xmm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0xa1,0x79,0x1f,0x78,0xf7]
- vcvttps2uqq {sae}, %xmm23, %ymm22 {%k7}
-
-// CHECK: vcvttps2uqq {sae}, %xmm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa1,0x79,0x9f,0x78,0xf7]
- vcvttps2uqq {sae}, %xmm23, %ymm22 {%k7} {z}
-
-// CHECK: vcvtudq2ph {rn-sae}, %ymm23, %xmm22
-// CHECK: encoding: [0x62,0xa5,0x7b,0x18,0x7a,0xf7]
- vcvtudq2ph {rn-sae}, %ymm23, %xmm22
-
-// CHECK: vcvtudq2ph {rd-sae}, %ymm23, %xmm22 {%k7}
-// CHECK: encoding: [0x62,0xa5,0x7b,0x3f,0x7a,0xf7]
- vcvtudq2ph {rd-sae}, %ymm23, %xmm22 {%k7}
-
-// CHECK: vcvtudq2ph {rz-sae}, %ymm23, %xmm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa5,0x7b,0xff,0x7a,0xf7]
- vcvtudq2ph {rz-sae}, %ymm23, %xmm22 {%k7} {z}
-
-// CHECK: vcvtudq2ps {rn-sae}, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0xa1,0x7b,0x18,0x7a,0xf7]
- vcvtudq2ps {rn-sae}, %ymm23, %ymm22
-
-// CHECK: vcvtudq2ps {rd-sae}, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0xa1,0x7b,0x3f,0x7a,0xf7]
- vcvtudq2ps {rd-sae}, %ymm23, %ymm22 {%k7}
-
-// CHECK: vcvtudq2ps {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa1,0x7b,0xff,0x7a,0xf7]
- vcvtudq2ps {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vcvtuqq2pd {rn-sae}, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0xa1,0xfa,0x18,0x7a,0xf7]
- vcvtuqq2pd {rn-sae}, %ymm23, %ymm22
-
-// CHECK: vcvtuqq2pd {rd-sae}, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0xa1,0xfa,0x3f,0x7a,0xf7]
- vcvtuqq2pd {rd-sae}, %ymm23, %ymm22 {%k7}
-
-// CHECK: vcvtuqq2pd {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa1,0xfa,0xff,0x7a,0xf7]
- vcvtuqq2pd {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vcvtuqq2ph {rn-sae}, %ymm23, %xmm22
-// CHECK: encoding: [0x62,0xa5,0xfb,0x18,0x7a,0xf7]
- vcvtuqq2ph {rn-sae}, %ymm23, %xmm22
-
-// CHECK: vcvtuqq2ph {rd-sae}, %ymm23, %xmm22 {%k7}
-// CHECK: encoding: [0x62,0xa5,0xfb,0x3f,0x7a,0xf7]
- vcvtuqq2ph {rd-sae}, %ymm23, %xmm22 {%k7}
-
-// CHECK: vcvtuqq2ph {rz-sae}, %ymm23, %xmm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa5,0xfb,0xff,0x7a,0xf7]
- vcvtuqq2ph {rz-sae}, %ymm23, %xmm22 {%k7} {z}
-
-// CHECK: vcvtuqq2ps {rn-sae}, %ymm23, %xmm22
-// CHECK: encoding: [0x62,0xa1,0xfb,0x18,0x7a,0xf7]
- vcvtuqq2ps {rn-sae}, %ymm23, %xmm22
-
-// CHECK: vcvtuqq2ps {rd-sae}, %ymm23, %xmm22 {%k7}
-// CHECK: encoding: [0x62,0xa1,0xfb,0x3f,0x7a,0xf7]
- vcvtuqq2ps {rd-sae}, %ymm23, %xmm22 {%k7}
-
-// CHECK: vcvtuqq2ps {rz-sae}, %ymm23, %xmm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa1,0xfb,0xff,0x7a,0xf7]
- vcvtuqq2ps {rz-sae}, %ymm23, %xmm22 {%k7} {z}
-
-// CHECK: vcvtuw2ph {rn-sae}, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0xa5,0x7b,0x18,0x7d,0xf7]
- vcvtuw2ph {rn-sae}, %ymm23, %ymm22
-
-// CHECK: vcvtuw2ph {rd-sae}, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0xa5,0x7b,0x3f,0x7d,0xf7]
- vcvtuw2ph {rd-sae}, %ymm23, %ymm22 {%k7}
-
-// CHECK: vcvtuw2ph {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa5,0x7b,0xff,0x7d,0xf7]
- vcvtuw2ph {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vcvtw2ph {rn-sae}, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0xa5,0x7a,0x18,0x7d,0xf7]
- vcvtw2ph {rn-sae}, %ymm23, %ymm22
-
-// CHECK: vcvtw2ph {rd-sae}, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0xa5,0x7a,0x3f,0x7d,0xf7]
- vcvtw2ph {rd-sae}, %ymm23, %ymm22 {%k7}
-
-// CHECK: vcvtw2ph {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa5,0x7a,0xff,0x7d,0xf7]
- vcvtw2ph {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vdivpd {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x81,0xc1,0x10,0x5e,0xf0]
- vdivpd {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vdivpd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x81,0xc1,0x37,0x5e,0xf0]
- vdivpd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vdivpd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x81,0xc1,0xf7,0x5e,0xf0]
- vdivpd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vdivph {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x85,0x40,0x10,0x5e,0xf0]
- vdivph {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vdivph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x85,0x40,0x37,0x5e,0xf0]
- vdivph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vdivph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x85,0x40,0xf7,0x5e,0xf0]
- vdivph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vdivps {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x81,0x40,0x10,0x5e,0xf0]
- vdivps {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vdivps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x81,0x40,0x37,0x5e,0xf0]
- vdivps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vdivps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x81,0x40,0xf7,0x5e,0xf0]
- vdivps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfcmaddcph {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x86,0x43,0x10,0x56,0xf0]
- vfcmaddcph {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfcmaddcph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x86,0x43,0x37,0x56,0xf0]
- vfcmaddcph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfcmaddcph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x86,0x43,0xf7,0x56,0xf0]
- vfcmaddcph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfcmulcph {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x86,0x43,0x10,0xd6,0xf0]
- vfcmulcph {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfcmulcph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x86,0x43,0x37,0xd6,0xf0]
- vfcmulcph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfcmulcph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x86,0x43,0xf7,0xd6,0xf0]
- vfcmulcph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfixupimmpd $123, {sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x83,0xc1,0x10,0x54,0xf0,0x7b]
- vfixupimmpd $123, {sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfixupimmpd $123, {sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x83,0xc1,0x17,0x54,0xf0,0x7b]
- vfixupimmpd $123, {sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfixupimmpd $123, {sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x83,0xc1,0x97,0x54,0xf0,0x7b]
- vfixupimmpd $123, {sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfixupimmps $123, {sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x83,0x41,0x10,0x54,0xf0,0x7b]
- vfixupimmps $123, {sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfixupimmps $123, {sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x83,0x41,0x17,0x54,0xf0,0x7b]
- vfixupimmps $123, {sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfixupimmps $123, {sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x83,0x41,0x97,0x54,0xf0,0x7b]
- vfixupimmps $123, {sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfmadd132pd {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x82,0xc1,0x10,0x98,0xf0]
- vfmadd132pd {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfmadd132pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x82,0xc1,0x37,0x98,0xf0]
- vfmadd132pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfmadd132pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x82,0xc1,0xf7,0x98,0xf0]
- vfmadd132pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfmadd132ph {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x86,0x41,0x10,0x98,0xf0]
- vfmadd132ph {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfmadd132ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x86,0x41,0x37,0x98,0xf0]
- vfmadd132ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfmadd132ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x86,0x41,0xf7,0x98,0xf0]
- vfmadd132ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfmadd132ps {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x82,0x41,0x10,0x98,0xf0]
- vfmadd132ps {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfmadd132ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x82,0x41,0x37,0x98,0xf0]
- vfmadd132ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfmadd132ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x82,0x41,0xf7,0x98,0xf0]
- vfmadd132ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfmadd213pd {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x82,0xc1,0x10,0xa8,0xf0]
- vfmadd213pd {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfmadd213pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x82,0xc1,0x37,0xa8,0xf0]
- vfmadd213pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfmadd213pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x82,0xc1,0xf7,0xa8,0xf0]
- vfmadd213pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfmadd213ph {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x86,0x41,0x10,0xa8,0xf0]
- vfmadd213ph {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfmadd213ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x86,0x41,0x37,0xa8,0xf0]
- vfmadd213ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfmadd213ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x86,0x41,0xf7,0xa8,0xf0]
- vfmadd213ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfmadd213ps {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x82,0x41,0x10,0xa8,0xf0]
- vfmadd213ps {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfmadd213ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x82,0x41,0x37,0xa8,0xf0]
- vfmadd213ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfmadd213ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x82,0x41,0xf7,0xa8,0xf0]
- vfmadd213ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfmadd231pd {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x82,0xc1,0x10,0xb8,0xf0]
- vfmadd231pd {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfmadd231pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x82,0xc1,0x37,0xb8,0xf0]
- vfmadd231pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfmadd231pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x82,0xc1,0xf7,0xb8,0xf0]
- vfmadd231pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfmadd231ph {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x86,0x41,0x10,0xb8,0xf0]
- vfmadd231ph {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfmadd231ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x86,0x41,0x37,0xb8,0xf0]
- vfmadd231ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfmadd231ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x86,0x41,0xf7,0xb8,0xf0]
- vfmadd231ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfmadd231ps {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x82,0x41,0x10,0xb8,0xf0]
- vfmadd231ps {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfmadd231ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x82,0x41,0x37,0xb8,0xf0]
- vfmadd231ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfmadd231ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x82,0x41,0xf7,0xb8,0xf0]
- vfmadd231ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfmaddcph {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x86,0x42,0x10,0x56,0xf0]
- vfmaddcph {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfmaddcph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x86,0x42,0x37,0x56,0xf0]
- vfmaddcph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfmaddcph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x86,0x42,0xf7,0x56,0xf0]
- vfmaddcph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfmaddsub132pd {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x82,0xc1,0x10,0x96,0xf0]
- vfmaddsub132pd {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfmaddsub132pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x82,0xc1,0x37,0x96,0xf0]
- vfmaddsub132pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfmaddsub132pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x82,0xc1,0xf7,0x96,0xf0]
- vfmaddsub132pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfmaddsub132ph {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x86,0x41,0x10,0x96,0xf0]
- vfmaddsub132ph {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfmaddsub132ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x86,0x41,0x37,0x96,0xf0]
- vfmaddsub132ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfmaddsub132ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x86,0x41,0xf7,0x96,0xf0]
- vfmaddsub132ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfmaddsub132ps {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x82,0x41,0x10,0x96,0xf0]
- vfmaddsub132ps {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfmaddsub132ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x82,0x41,0x37,0x96,0xf0]
- vfmaddsub132ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfmaddsub132ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x82,0x41,0xf7,0x96,0xf0]
- vfmaddsub132ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfmaddsub213pd {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x82,0xc1,0x10,0xa6,0xf0]
- vfmaddsub213pd {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfmaddsub213pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x82,0xc1,0x37,0xa6,0xf0]
- vfmaddsub213pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfmaddsub213pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x82,0xc1,0xf7,0xa6,0xf0]
- vfmaddsub213pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfmaddsub213ph {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x86,0x41,0x10,0xa6,0xf0]
- vfmaddsub213ph {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfmaddsub213ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x86,0x41,0x37,0xa6,0xf0]
- vfmaddsub213ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfmaddsub213ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x86,0x41,0xf7,0xa6,0xf0]
- vfmaddsub213ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfmaddsub213ps {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x82,0x41,0x10,0xa6,0xf0]
- vfmaddsub213ps {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfmaddsub213ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x82,0x41,0x37,0xa6,0xf0]
- vfmaddsub213ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfmaddsub213ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x82,0x41,0xf7,0xa6,0xf0]
- vfmaddsub213ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfmaddsub231pd {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x82,0xc1,0x10,0xb6,0xf0]
- vfmaddsub231pd {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfmaddsub231pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x82,0xc1,0x37,0xb6,0xf0]
- vfmaddsub231pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfmaddsub231pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x82,0xc1,0xf7,0xb6,0xf0]
- vfmaddsub231pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfmaddsub231ph {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x86,0x41,0x10,0xb6,0xf0]
- vfmaddsub231ph {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfmaddsub231ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x86,0x41,0x37,0xb6,0xf0]
- vfmaddsub231ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfmaddsub231ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x86,0x41,0xf7,0xb6,0xf0]
- vfmaddsub231ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfmaddsub231ps {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x82,0x41,0x10,0xb6,0xf0]
- vfmaddsub231ps {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfmaddsub231ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x82,0x41,0x37,0xb6,0xf0]
- vfmaddsub231ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfmaddsub231ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x82,0x41,0xf7,0xb6,0xf0]
- vfmaddsub231ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfmsub132pd {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x82,0xc1,0x10,0x9a,0xf0]
- vfmsub132pd {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfmsub132pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x82,0xc1,0x37,0x9a,0xf0]
- vfmsub132pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfmsub132pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x82,0xc1,0xf7,0x9a,0xf0]
- vfmsub132pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfmsub132ph {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x86,0x41,0x10,0x9a,0xf0]
- vfmsub132ph {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfmsub132ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x86,0x41,0x37,0x9a,0xf0]
- vfmsub132ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfmsub132ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x86,0x41,0xf7,0x9a,0xf0]
- vfmsub132ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfmsub132ps {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x82,0x41,0x10,0x9a,0xf0]
- vfmsub132ps {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfmsub132ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x82,0x41,0x37,0x9a,0xf0]
- vfmsub132ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfmsub132ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x82,0x41,0xf7,0x9a,0xf0]
- vfmsub132ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfmsub213pd {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x82,0xc1,0x10,0xaa,0xf0]
- vfmsub213pd {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfmsub213pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x82,0xc1,0x37,0xaa,0xf0]
- vfmsub213pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfmsub213pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x82,0xc1,0xf7,0xaa,0xf0]
- vfmsub213pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfmsub213ph {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x86,0x41,0x10,0xaa,0xf0]
- vfmsub213ph {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfmsub213ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x86,0x41,0x37,0xaa,0xf0]
- vfmsub213ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfmsub213ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x86,0x41,0xf7,0xaa,0xf0]
- vfmsub213ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfmsub213ps {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x82,0x41,0x10,0xaa,0xf0]
- vfmsub213ps {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfmsub213ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x82,0x41,0x37,0xaa,0xf0]
- vfmsub213ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfmsub213ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x82,0x41,0xf7,0xaa,0xf0]
- vfmsub213ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfmsub231pd {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x82,0xc1,0x10,0xba,0xf0]
- vfmsub231pd {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfmsub231pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x82,0xc1,0x37,0xba,0xf0]
- vfmsub231pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfmsub231pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x82,0xc1,0xf7,0xba,0xf0]
- vfmsub231pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfmsub231ph {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x86,0x41,0x10,0xba,0xf0]
- vfmsub231ph {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfmsub231ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x86,0x41,0x37,0xba,0xf0]
- vfmsub231ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfmsub231ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x86,0x41,0xf7,0xba,0xf0]
- vfmsub231ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfmsub231ps {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x82,0x41,0x10,0xba,0xf0]
- vfmsub231ps {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfmsub231ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x82,0x41,0x37,0xba,0xf0]
- vfmsub231ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfmsub231ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x82,0x41,0xf7,0xba,0xf0]
- vfmsub231ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfmsubadd132pd {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x82,0xc1,0x10,0x97,0xf0]
- vfmsubadd132pd {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfmsubadd132pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x82,0xc1,0x37,0x97,0xf0]
- vfmsubadd132pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfmsubadd132pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x82,0xc1,0xf7,0x97,0xf0]
- vfmsubadd132pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfmsubadd132ph {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x86,0x41,0x10,0x97,0xf0]
- vfmsubadd132ph {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfmsubadd132ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x86,0x41,0x37,0x97,0xf0]
- vfmsubadd132ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfmsubadd132ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x86,0x41,0xf7,0x97,0xf0]
- vfmsubadd132ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfmsubadd132ps {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x82,0x41,0x10,0x97,0xf0]
- vfmsubadd132ps {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfmsubadd132ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x82,0x41,0x37,0x97,0xf0]
- vfmsubadd132ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfmsubadd132ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x82,0x41,0xf7,0x97,0xf0]
- vfmsubadd132ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfmsubadd213pd {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x82,0xc1,0x10,0xa7,0xf0]
- vfmsubadd213pd {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfmsubadd213pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x82,0xc1,0x37,0xa7,0xf0]
- vfmsubadd213pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfmsubadd213pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x82,0xc1,0xf7,0xa7,0xf0]
- vfmsubadd213pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfmsubadd213ph {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x86,0x41,0x10,0xa7,0xf0]
- vfmsubadd213ph {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfmsubadd213ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x86,0x41,0x37,0xa7,0xf0]
- vfmsubadd213ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfmsubadd213ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x86,0x41,0xf7,0xa7,0xf0]
- vfmsubadd213ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfmsubadd213ps {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x82,0x41,0x10,0xa7,0xf0]
- vfmsubadd213ps {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfmsubadd213ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x82,0x41,0x37,0xa7,0xf0]
- vfmsubadd213ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfmsubadd213ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x82,0x41,0xf7,0xa7,0xf0]
- vfmsubadd213ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfmsubadd231pd {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x82,0xc1,0x10,0xb7,0xf0]
- vfmsubadd231pd {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfmsubadd231pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x82,0xc1,0x37,0xb7,0xf0]
- vfmsubadd231pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfmsubadd231pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x82,0xc1,0xf7,0xb7,0xf0]
- vfmsubadd231pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfmsubadd231ph {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x86,0x41,0x10,0xb7,0xf0]
- vfmsubadd231ph {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfmsubadd231ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x86,0x41,0x37,0xb7,0xf0]
- vfmsubadd231ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfmsubadd231ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x86,0x41,0xf7,0xb7,0xf0]
- vfmsubadd231ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfmsubadd231ps {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x82,0x41,0x10,0xb7,0xf0]
- vfmsubadd231ps {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfmsubadd231ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x82,0x41,0x37,0xb7,0xf0]
- vfmsubadd231ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfmsubadd231ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x82,0x41,0xf7,0xb7,0xf0]
- vfmsubadd231ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfmulcph {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x86,0x42,0x10,0xd6,0xf0]
- vfmulcph {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfmulcph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x86,0x42,0x37,0xd6,0xf0]
- vfmulcph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfmulcph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x86,0x42,0xf7,0xd6,0xf0]
- vfmulcph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfnmadd132pd {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x82,0xc1,0x10,0x9c,0xf0]
- vfnmadd132pd {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfnmadd132pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x82,0xc1,0x37,0x9c,0xf0]
- vfnmadd132pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfnmadd132pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x82,0xc1,0xf7,0x9c,0xf0]
- vfnmadd132pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfnmadd132ph {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x86,0x41,0x10,0x9c,0xf0]
- vfnmadd132ph {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfnmadd132ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x86,0x41,0x37,0x9c,0xf0]
- vfnmadd132ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfnmadd132ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x86,0x41,0xf7,0x9c,0xf0]
- vfnmadd132ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfnmadd132ps {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x82,0x41,0x10,0x9c,0xf0]
- vfnmadd132ps {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfnmadd132ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x82,0x41,0x37,0x9c,0xf0]
- vfnmadd132ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfnmadd132ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x82,0x41,0xf7,0x9c,0xf0]
- vfnmadd132ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfnmadd213pd {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x82,0xc1,0x10,0xac,0xf0]
- vfnmadd213pd {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfnmadd213pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x82,0xc1,0x37,0xac,0xf0]
- vfnmadd213pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfnmadd213pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x82,0xc1,0xf7,0xac,0xf0]
- vfnmadd213pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfnmadd213ph {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x86,0x41,0x10,0xac,0xf0]
- vfnmadd213ph {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfnmadd213ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x86,0x41,0x37,0xac,0xf0]
- vfnmadd213ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfnmadd213ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x86,0x41,0xf7,0xac,0xf0]
- vfnmadd213ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfnmadd213ps {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x82,0x41,0x10,0xac,0xf0]
- vfnmadd213ps {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfnmadd213ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x82,0x41,0x37,0xac,0xf0]
- vfnmadd213ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfnmadd213ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x82,0x41,0xf7,0xac,0xf0]
- vfnmadd213ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfnmadd231pd {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x82,0xc1,0x10,0xbc,0xf0]
- vfnmadd231pd {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfnmadd231pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x82,0xc1,0x37,0xbc,0xf0]
- vfnmadd231pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfnmadd231pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x82,0xc1,0xf7,0xbc,0xf0]
- vfnmadd231pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfnmadd231ph {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x86,0x41,0x10,0xbc,0xf0]
- vfnmadd231ph {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfnmadd231ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x86,0x41,0x37,0xbc,0xf0]
- vfnmadd231ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfnmadd231ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x86,0x41,0xf7,0xbc,0xf0]
- vfnmadd231ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfnmadd231ps {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x82,0x41,0x10,0xbc,0xf0]
- vfnmadd231ps {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfnmadd231ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x82,0x41,0x37,0xbc,0xf0]
- vfnmadd231ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfnmadd231ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x82,0x41,0xf7,0xbc,0xf0]
- vfnmadd231ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfnmsub132pd {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x82,0xc1,0x10,0x9e,0xf0]
- vfnmsub132pd {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfnmsub132pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x82,0xc1,0x37,0x9e,0xf0]
- vfnmsub132pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfnmsub132pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x82,0xc1,0xf7,0x9e,0xf0]
- vfnmsub132pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfnmsub132ph {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x86,0x41,0x10,0x9e,0xf0]
- vfnmsub132ph {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfnmsub132ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x86,0x41,0x37,0x9e,0xf0]
- vfnmsub132ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfnmsub132ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x86,0x41,0xf7,0x9e,0xf0]
- vfnmsub132ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfnmsub132ps {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x82,0x41,0x10,0x9e,0xf0]
- vfnmsub132ps {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfnmsub132ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x82,0x41,0x37,0x9e,0xf0]
- vfnmsub132ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfnmsub132ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x82,0x41,0xf7,0x9e,0xf0]
- vfnmsub132ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfnmsub213pd {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x82,0xc1,0x10,0xae,0xf0]
- vfnmsub213pd {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfnmsub213pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x82,0xc1,0x37,0xae,0xf0]
- vfnmsub213pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfnmsub213pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x82,0xc1,0xf7,0xae,0xf0]
- vfnmsub213pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfnmsub213ph {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x86,0x41,0x10,0xae,0xf0]
- vfnmsub213ph {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfnmsub213ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x86,0x41,0x37,0xae,0xf0]
- vfnmsub213ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfnmsub213ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x86,0x41,0xf7,0xae,0xf0]
- vfnmsub213ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfnmsub213ps {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x82,0x41,0x10,0xae,0xf0]
- vfnmsub213ps {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfnmsub213ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x82,0x41,0x37,0xae,0xf0]
- vfnmsub213ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfnmsub213ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x82,0x41,0xf7,0xae,0xf0]
- vfnmsub213ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfnmsub231pd {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x82,0xc1,0x10,0xbe,0xf0]
- vfnmsub231pd {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfnmsub231pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x82,0xc1,0x37,0xbe,0xf0]
- vfnmsub231pd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfnmsub231pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x82,0xc1,0xf7,0xbe,0xf0]
- vfnmsub231pd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfnmsub231ph {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x86,0x41,0x10,0xbe,0xf0]
- vfnmsub231ph {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfnmsub231ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x86,0x41,0x37,0xbe,0xf0]
- vfnmsub231ph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfnmsub231ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x86,0x41,0xf7,0xbe,0xf0]
- vfnmsub231ph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vfnmsub231ps {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x82,0x41,0x10,0xbe,0xf0]
- vfnmsub231ps {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vfnmsub231ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x82,0x41,0x37,0xbe,0xf0]
- vfnmsub231ps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vfnmsub231ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x82,0x41,0xf7,0xbe,0xf0]
- vfnmsub231ps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vgetexppd {sae}, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0xa2,0xf9,0x18,0x42,0xf7]
- vgetexppd {sae}, %ymm23, %ymm22
-
-// CHECK: vgetexppd {sae}, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0xa2,0xf9,0x1f,0x42,0xf7]
- vgetexppd {sae}, %ymm23, %ymm22 {%k7}
-
-// CHECK: vgetexppd {sae}, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa2,0xf9,0x9f,0x42,0xf7]
- vgetexppd {sae}, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vgetexpph {sae}, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0xa6,0x79,0x18,0x42,0xf7]
- vgetexpph {sae}, %ymm23, %ymm22
-
-// CHECK: vgetexpph {sae}, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0xa6,0x79,0x1f,0x42,0xf7]
- vgetexpph {sae}, %ymm23, %ymm22 {%k7}
-
-// CHECK: vgetexpph {sae}, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa6,0x79,0x9f,0x42,0xf7]
- vgetexpph {sae}, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vgetexpps {sae}, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0xa2,0x79,0x18,0x42,0xf7]
- vgetexpps {sae}, %ymm23, %ymm22
-
-// CHECK: vgetexpps {sae}, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0xa2,0x79,0x1f,0x42,0xf7]
- vgetexpps {sae}, %ymm23, %ymm22 {%k7}
-
-// CHECK: vgetexpps {sae}, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa2,0x79,0x9f,0x42,0xf7]
- vgetexpps {sae}, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vgetmantpd $123, {sae}, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0xa3,0xf9,0x18,0x26,0xf7,0x7b]
- vgetmantpd $123, {sae}, %ymm23, %ymm22
-
-// CHECK: vgetmantpd $123, {sae}, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0xa3,0xf9,0x1f,0x26,0xf7,0x7b]
- vgetmantpd $123, {sae}, %ymm23, %ymm22 {%k7}
-
-// CHECK: vgetmantpd $123, {sae}, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa3,0xf9,0x9f,0x26,0xf7,0x7b]
- vgetmantpd $123, {sae}, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vgetmantph $123, {sae}, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0xa3,0x78,0x18,0x26,0xf7,0x7b]
- vgetmantph $123, {sae}, %ymm23, %ymm22
-
-// CHECK: vgetmantph $123, {sae}, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0xa3,0x78,0x1f,0x26,0xf7,0x7b]
- vgetmantph $123, {sae}, %ymm23, %ymm22 {%k7}
-
-// CHECK: vgetmantph $123, {sae}, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa3,0x78,0x9f,0x26,0xf7,0x7b]
- vgetmantph $123, {sae}, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vgetmantps $123, {sae}, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0xa3,0x79,0x18,0x26,0xf7,0x7b]
- vgetmantps $123, {sae}, %ymm23, %ymm22
-
-// CHECK: vgetmantps $123, {sae}, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0xa3,0x79,0x1f,0x26,0xf7,0x7b]
- vgetmantps $123, {sae}, %ymm23, %ymm22 {%k7}
-
-// CHECK: vgetmantps $123, {sae}, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa3,0x79,0x9f,0x26,0xf7,0x7b]
- vgetmantps $123, {sae}, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vmaxpd {sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x81,0xc1,0x10,0x5f,0xf0]
- vmaxpd {sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vmaxpd {sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x81,0xc1,0x17,0x5f,0xf0]
- vmaxpd {sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vmaxpd {sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x81,0xc1,0x97,0x5f,0xf0]
- vmaxpd {sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vmaxph {sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x85,0x40,0x10,0x5f,0xf0]
- vmaxph {sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vmaxph {sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x85,0x40,0x17,0x5f,0xf0]
- vmaxph {sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vmaxph {sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x85,0x40,0x97,0x5f,0xf0]
- vmaxph {sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vmaxps {sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x81,0x40,0x10,0x5f,0xf0]
- vmaxps {sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vmaxps {sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x81,0x40,0x17,0x5f,0xf0]
- vmaxps {sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vmaxps {sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x81,0x40,0x97,0x5f,0xf0]
- vmaxps {sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vminpd {sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x81,0xc1,0x10,0x5d,0xf0]
- vminpd {sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vminpd {sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x81,0xc1,0x17,0x5d,0xf0]
- vminpd {sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vminpd {sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x81,0xc1,0x97,0x5d,0xf0]
- vminpd {sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vminph {sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x85,0x40,0x10,0x5d,0xf0]
- vminph {sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vminph {sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x85,0x40,0x17,0x5d,0xf0]
- vminph {sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vminph {sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x85,0x40,0x97,0x5d,0xf0]
- vminph {sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vminps {sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x81,0x40,0x10,0x5d,0xf0]
- vminps {sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vminps {sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x81,0x40,0x17,0x5d,0xf0]
- vminps {sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vminps {sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x81,0x40,0x97,0x5d,0xf0]
- vminps {sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vmulpd {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x81,0xc1,0x10,0x59,0xf0]
- vmulpd {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vmulpd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x81,0xc1,0x37,0x59,0xf0]
- vmulpd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vmulpd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x81,0xc1,0xf7,0x59,0xf0]
- vmulpd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vmulph {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x85,0x40,0x10,0x59,0xf0]
- vmulph {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vmulph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x85,0x40,0x37,0x59,0xf0]
- vmulph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vmulph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x85,0x40,0xf7,0x59,0xf0]
- vmulph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vmulps {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x81,0x40,0x10,0x59,0xf0]
- vmulps {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vmulps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x81,0x40,0x37,0x59,0xf0]
- vmulps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vmulps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x81,0x40,0xf7,0x59,0xf0]
- vmulps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vrangepd $123, {sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x83,0xc1,0x10,0x50,0xf0,0x7b]
- vrangepd $123, {sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vrangepd $123, {sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x83,0xc1,0x17,0x50,0xf0,0x7b]
- vrangepd $123, {sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vrangepd $123, {sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x83,0xc1,0x97,0x50,0xf0,0x7b]
- vrangepd $123, {sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vrangeps $123, {sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x83,0x41,0x10,0x50,0xf0,0x7b]
- vrangeps $123, {sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vrangeps $123, {sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x83,0x41,0x17,0x50,0xf0,0x7b]
- vrangeps $123, {sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vrangeps $123, {sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x83,0x41,0x97,0x50,0xf0,0x7b]
- vrangeps $123, {sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vreducepd $123, {sae}, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0xa3,0xf9,0x18,0x56,0xf7,0x7b]
- vreducepd $123, {sae}, %ymm23, %ymm22
-
-// CHECK: vreducepd $123, {sae}, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0xa3,0xf9,0x1f,0x56,0xf7,0x7b]
- vreducepd $123, {sae}, %ymm23, %ymm22 {%k7}
-
-// CHECK: vreducepd $123, {sae}, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa3,0xf9,0x9f,0x56,0xf7,0x7b]
- vreducepd $123, {sae}, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vreduceph $123, {sae}, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0xa3,0x78,0x18,0x56,0xf7,0x7b]
- vreduceph $123, {sae}, %ymm23, %ymm22
-
-// CHECK: vreduceph $123, {sae}, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0xa3,0x78,0x1f,0x56,0xf7,0x7b]
- vreduceph $123, {sae}, %ymm23, %ymm22 {%k7}
-
-// CHECK: vreduceph $123, {sae}, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa3,0x78,0x9f,0x56,0xf7,0x7b]
- vreduceph $123, {sae}, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vreduceps $123, {sae}, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0xa3,0x79,0x18,0x56,0xf7,0x7b]
- vreduceps $123, {sae}, %ymm23, %ymm22
-
-// CHECK: vreduceps $123, {sae}, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0xa3,0x79,0x1f,0x56,0xf7,0x7b]
- vreduceps $123, {sae}, %ymm23, %ymm22 {%k7}
-
-// CHECK: vreduceps $123, {sae}, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa3,0x79,0x9f,0x56,0xf7,0x7b]
- vreduceps $123, {sae}, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vrndscalepd $123, {sae}, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0xa3,0xf9,0x18,0x09,0xf7,0x7b]
- vrndscalepd $123, {sae}, %ymm23, %ymm22
-
-// CHECK: vrndscalepd $123, {sae}, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0xa3,0xf9,0x1f,0x09,0xf7,0x7b]
- vrndscalepd $123, {sae}, %ymm23, %ymm22 {%k7}
-
-// CHECK: vrndscalepd $123, {sae}, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa3,0xf9,0x9f,0x09,0xf7,0x7b]
- vrndscalepd $123, {sae}, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vrndscaleph $123, {sae}, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0xa3,0x78,0x18,0x08,0xf7,0x7b]
- vrndscaleph $123, {sae}, %ymm23, %ymm22
-
-// CHECK: vrndscaleph $123, {sae}, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0xa3,0x78,0x1f,0x08,0xf7,0x7b]
- vrndscaleph $123, {sae}, %ymm23, %ymm22 {%k7}
-
-// CHECK: vrndscaleph $123, {sae}, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa3,0x78,0x9f,0x08,0xf7,0x7b]
- vrndscaleph $123, {sae}, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vrndscaleps $123, {sae}, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0xa3,0x79,0x18,0x08,0xf7,0x7b]
- vrndscaleps $123, {sae}, %ymm23, %ymm22
-
-// CHECK: vrndscaleps $123, {sae}, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0xa3,0x79,0x1f,0x08,0xf7,0x7b]
- vrndscaleps $123, {sae}, %ymm23, %ymm22 {%k7}
-
-// CHECK: vrndscaleps $123, {sae}, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa3,0x79,0x9f,0x08,0xf7,0x7b]
- vrndscaleps $123, {sae}, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vscalefpd {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x82,0xc1,0x10,0x2c,0xf0]
- vscalefpd {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vscalefpd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x82,0xc1,0x37,0x2c,0xf0]
- vscalefpd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vscalefpd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x82,0xc1,0xf7,0x2c,0xf0]
- vscalefpd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vscalefph {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x86,0x41,0x10,0x2c,0xf0]
- vscalefph {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vscalefph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x86,0x41,0x37,0x2c,0xf0]
- vscalefph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vscalefph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x86,0x41,0xf7,0x2c,0xf0]
- vscalefph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vscalefps {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x82,0x41,0x10,0x2c,0xf0]
- vscalefps {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vscalefps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x82,0x41,0x37,0x2c,0xf0]
- vscalefps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vscalefps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x82,0x41,0xf7,0x2c,0xf0]
- vscalefps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vsqrtpd {rn-sae}, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0xa1,0xf9,0x18,0x51,0xf7]
- vsqrtpd {rn-sae}, %ymm23, %ymm22
-
-// CHECK: vsqrtpd {rd-sae}, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0xa1,0xf9,0x3f,0x51,0xf7]
- vsqrtpd {rd-sae}, %ymm23, %ymm22 {%k7}
-
-// CHECK: vsqrtpd {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa1,0xf9,0xff,0x51,0xf7]
- vsqrtpd {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vsqrtph {rn-sae}, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0xa5,0x78,0x18,0x51,0xf7]
- vsqrtph {rn-sae}, %ymm23, %ymm22
-
-// CHECK: vsqrtph {rd-sae}, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0xa5,0x78,0x3f,0x51,0xf7]
- vsqrtph {rd-sae}, %ymm23, %ymm22 {%k7}
-
-// CHECK: vsqrtph {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa5,0x78,0xff,0x51,0xf7]
- vsqrtph {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vsqrtps {rn-sae}, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0xa1,0x78,0x18,0x51,0xf7]
- vsqrtps {rn-sae}, %ymm23, %ymm22
-
-// CHECK: vsqrtps {rd-sae}, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0xa1,0x78,0x3f,0x51,0xf7]
- vsqrtps {rd-sae}, %ymm23, %ymm22 {%k7}
-
-// CHECK: vsqrtps {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa1,0x78,0xff,0x51,0xf7]
- vsqrtps {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vsubpd {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x81,0xc1,0x10,0x5c,0xf0]
- vsubpd {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vsubpd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x81,0xc1,0x37,0x5c,0xf0]
- vsubpd {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vsubpd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x81,0xc1,0xf7,0x5c,0xf0]
- vsubpd {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vsubph {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x85,0x40,0x10,0x5c,0xf0]
- vsubph {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vsubph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x85,0x40,0x37,0x5c,0xf0]
- vsubph {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vsubph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x85,0x40,0xf7,0x5c,0xf0]
- vsubph {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
-// CHECK: vsubps {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x81,0x40,0x10,0x5c,0xf0]
- vsubps {rn-sae}, %ymm24, %ymm23, %ymm22
-
-// CHECK: vsubps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: encoding: [0x62,0x81,0x40,0x37,0x5c,0xf0]
- vsubps {rd-sae}, %ymm24, %ymm23, %ymm22 {%k7}
-
-// CHECK: vsubps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x81,0x40,0xf7,0x5c,0xf0]
- vsubps {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
>From da7083d08a9cb9761771b63733d8e1c6fb59d0c4 Mon Sep 17 00:00:00 2001
From: Phoebe Wang <phoebe.wang at intel.com>
Date: Fri, 21 Mar 2025 15:51:51 +0100
Subject: [PATCH 3/6] [X86][AVX10.2] Remove YMM rounding from VCVT2PS2PHX
(#132397)
Ref: https://cdrdv2.intel.com/v1/dl/getContent/784343
---
clang/include/clang/Basic/BuiltinsX86.td | 2 +-
clang/lib/Headers/avx10_2convertintrin.h | 27 ++--------
clang/lib/Sema/SemaX86.cpp | 1 -
.../CodeGen/X86/avx10_2convert-builtins.c | 18 -------
llvm/include/llvm/IR/IntrinsicsX86.td | 4 +-
llvm/lib/Target/X86/X86InstrAVX10.td | 6 ---
llvm/lib/Target/X86/X86IntrinsicsInfo.h | 2 +-
.../CodeGen/X86/avx10_2convert-intrinsics.ll | 49 ++-----------------
.../MC/Disassembler/X86/avx10.2convert-32.txt | 8 ---
.../MC/Disassembler/X86/avx10.2convert-64.txt | 8 ---
llvm/test/MC/X86/avx10.2convert-32-att.s | 8 ---
llvm/test/MC/X86/avx10.2convert-32-intel.s | 8 ---
llvm/test/MC/X86/avx10.2convert-64-att.s | 8 ---
llvm/test/MC/X86/avx10.2convert-64-intel.s | 8 ---
14 files changed, 13 insertions(+), 144 deletions(-)
diff --git a/clang/include/clang/Basic/BuiltinsX86.td b/clang/include/clang/Basic/BuiltinsX86.td
index 409902ad68216..fda85fddddc06 100644
--- a/clang/include/clang/Basic/BuiltinsX86.td
+++ b/clang/include/clang/Basic/BuiltinsX86.td
@@ -5009,7 +5009,7 @@ let Features = "avx10.2-256", Attributes = [NoThrow, Const, RequiredVectorWidth<
}
let Features = "avx10.2-256", Attributes = [NoThrow, Const, RequiredVectorWidth<256>] in {
- def vcvt2ps2phx256_mask : X86Builtin<"_Vector<16, _Float16>(_Vector<8, float>, _Vector<8, float>, _Vector<16, _Float16>, unsigned short, _Constant int)">;
+ def vcvt2ps2phx256_mask : X86Builtin<"_Vector<16, _Float16>(_Vector<8, float>, _Vector<8, float>, _Vector<16, _Float16>, unsigned short)">;
}
let Features = "avx10.2-512", Attributes = [NoThrow, Const, RequiredVectorWidth<512>] in {
diff --git a/clang/lib/Headers/avx10_2convertintrin.h b/clang/lib/Headers/avx10_2convertintrin.h
index a113079446710..019176018cb7c 100644
--- a/clang/lib/Headers/avx10_2convertintrin.h
+++ b/clang/lib/Headers/avx10_2convertintrin.h
@@ -45,40 +45,23 @@ _mm_maskz_cvtx2ps_ph(__mmask8 __U, __m128 __A, __m128 __B) {
static __inline__ __m256h __DEFAULT_FN_ATTRS256 _mm256_cvtx2ps_ph(__m256 __A,
__m256 __B) {
return (__m256h)__builtin_ia32_vcvt2ps2phx256_mask(
- (__v8sf)__A, (__v8sf)__B, (__v16hf)_mm256_setzero_ph(), (__mmask16)(-1),
- _MM_FROUND_CUR_DIRECTION);
+ (__v8sf)__A, (__v8sf)__B, (__v16hf)_mm256_setzero_ph(), (__mmask16)(-1));
}
static __inline__ __m256h __DEFAULT_FN_ATTRS256
_mm256_mask_cvtx2ps_ph(__m256h __W, __mmask16 __U, __m256 __A, __m256 __B) {
return (__m256h)__builtin_ia32_vcvt2ps2phx256_mask(
- (__v8sf)__A, (__v8sf)__B, (__v16hf)__W, (__mmask16)__U,
- _MM_FROUND_CUR_DIRECTION);
+ (__v8sf)__A, (__v8sf)__B, (__v16hf)__W, (__mmask16)__U);
}
static __inline__ __m256h __DEFAULT_FN_ATTRS256
_mm256_maskz_cvtx2ps_ph(__mmask16 __U, __m256 __A, __m256 __B) {
return (__m256h)__builtin_ia32_vcvt2ps2phx256_mask(
- (__v8sf)__A, (__v8sf)__B, (__v16hf)_mm256_setzero_ph(), (__mmask16)__U,
- _MM_FROUND_CUR_DIRECTION);
+ (__v8sf)__A, (__v8sf)__B, (__v16hf)_mm256_setzero_ph(), (__mmask16)__U);
}
-#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);
}
diff --git a/clang/lib/Sema/SemaX86.cpp b/clang/lib/Sema/SemaX86.cpp
index e54a278225f1c..6a10d3a20b1bd 100644
--- a/clang/lib/Sema/SemaX86.cpp
+++ b/clang/lib/Sema/SemaX86.cpp
@@ -314,7 +314,6 @@ bool SemaX86::CheckBuiltinRoundingOrSAE(unsigned BuiltinID, CallExpr *TheCall) {
case X86::BI__builtin_ia32_vfmulcph512_mask:
case X86::BI__builtin_ia32_vfcmulcsh_mask:
case X86::BI__builtin_ia32_vfcmulcph512_mask:
- case X86::BI__builtin_ia32_vcvt2ps2phx256_mask:
case X86::BI__builtin_ia32_vcvt2ps2phx512_mask:
ArgNum = 4;
HasRC = true;
diff --git a/clang/test/CodeGen/X86/avx10_2convert-builtins.c b/clang/test/CodeGen/X86/avx10_2convert-builtins.c
index 92ce2ec7e7846..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(
diff --git a/llvm/include/llvm/IR/IntrinsicsX86.td b/llvm/include/llvm/IR/IntrinsicsX86.td
index 4fcf2ff8f38df..7bbbb2c451a01 100644
--- a/llvm/include/llvm/IR/IntrinsicsX86.td
+++ b/llvm/include/llvm/IR/IntrinsicsX86.td
@@ -7026,8 +7026,8 @@ def int_x86_avx10_mask_vcvt2ps2phx_128 : ClangBuiltin<"__builtin_ia32_vcvt2ps2ph
DefaultAttrsIntrinsic<[llvm_v8f16_ty], [llvm_v4f32_ty, llvm_v4f32_ty, llvm_v8f16_ty, llvm_i8_ty],
[IntrNoMem]>;
def int_x86_avx10_mask_vcvt2ps2phx_256 : ClangBuiltin<"__builtin_ia32_vcvt2ps2phx256_mask">,
- DefaultAttrsIntrinsic<[llvm_v16f16_ty], [llvm_v8f32_ty, llvm_v8f32_ty, llvm_v16f16_ty, llvm_i16_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<4>>]>;
+ DefaultAttrsIntrinsic<[llvm_v16f16_ty], [llvm_v8f32_ty, llvm_v8f32_ty, llvm_v16f16_ty, llvm_i16_ty],
+ [IntrNoMem]>;
def int_x86_avx10_mask_vcvt2ps2phx_512 : ClangBuiltin<"__builtin_ia32_vcvt2ps2phx512_mask">,
DefaultAttrsIntrinsic<[llvm_v32f16_ty], [llvm_v16f32_ty, llvm_v16f32_ty, llvm_v32f16_ty, llvm_i32_ty, llvm_i32_ty],
[IntrNoMem, ImmArg<ArgIndex<4>>]>;
diff --git a/llvm/lib/Target/X86/X86InstrAVX10.td b/llvm/lib/Target/X86/X86InstrAVX10.td
index b368a5299f907..561b6972a680d 100644
--- a/llvm/lib/Target/X86/X86InstrAVX10.td
+++ b/llvm/lib/Target/X86/X86InstrAVX10.td
@@ -771,12 +771,6 @@ multiclass avx10_cvt2ps2ph<bits<8> opc, string OpcodeStr,
_SrcVTInfo.info128>,
EVEX_V128, EVEX_CD8<32, CD8VF>;
}
-
- let Predicates = [HasAVX10_2], hasEVEX_U = 1 in {
- defm Z256 : avx10_cvt2ps2ph_rc<opc, OpcodeStr, sched.YMM,
- _SrcVTInfo.info256, _DstVTInfo.info256,
- OpNodeRnd>;
- }
}
defm VCVT2PS2PHX : avx10_cvt2ps2ph<0x67, "vcvt2ps2phx",
diff --git a/llvm/lib/Target/X86/X86IntrinsicsInfo.h b/llvm/lib/Target/X86/X86IntrinsicsInfo.h
index 31c2bfb8f71c2..0955284662f44 100644
--- a/llvm/lib/Target/X86/X86IntrinsicsInfo.h
+++ b/llvm/lib/Target/X86/X86IntrinsicsInfo.h
@@ -440,7 +440,7 @@ static const IntrinsicData IntrinsicsWithoutChain[] = {
X86_INTRINSIC_DATA(avx10_mask_vcvt2ps2phx_128, INTR_TYPE_2OP_MASK,
X86ISD::VFPROUND2, 0),
X86_INTRINSIC_DATA(avx10_mask_vcvt2ps2phx_256, INTR_TYPE_2OP_MASK,
- X86ISD::VFPROUND2, X86ISD::VFPROUND2_RND),
+ X86ISD::VFPROUND2, 0),
X86_INTRINSIC_DATA(avx10_mask_vcvt2ps2phx_512, INTR_TYPE_2OP_MASK,
X86ISD::VFPROUND2, X86ISD::VFPROUND2_RND),
X86_INTRINSIC_DATA(avx10_mask_vcvtbiasph2bf8128, TRUNCATE2_TO_REG,
diff --git a/llvm/test/CodeGen/X86/avx10_2convert-intrinsics.ll b/llvm/test/CodeGen/X86/avx10_2convert-intrinsics.ll
index fe2bfb7b44691..90e2146cc2c0b 100644
--- a/llvm/test/CodeGen/X86/avx10_2convert-intrinsics.ll
+++ b/llvm/test/CodeGen/X86/avx10_2convert-intrinsics.ll
@@ -50,7 +50,7 @@ define <16 x half> @test_int_x86_avx10_vcvt2ps2phx256(<8 x float> %A, <8 x float
; CHECK: # %bb.0:
; CHECK-NEXT: vcvt2ps2phx %ymm1, %ymm0, %ymm0 # encoding: [0x62,0xf2,0x7d,0x28,0x67,0xc1]
; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <16 x half> @llvm.x86.avx10.mask.vcvt2ps2phx.256(<8 x float> %A, <8 x float> %B, <16 x half> zeroinitializer, i16 -1, i32 4)
+ %ret = call <16 x half> @llvm.x86.avx10.mask.vcvt2ps2phx.256(<8 x float> %A, <8 x float> %B, <16 x half> zeroinitializer, i16 -1)
ret <16 x half> %ret
}
@@ -66,7 +66,7 @@ define <16 x half> @test_int_x86_avx10_vcvt2ps2phx256_mask(<16 x half> %W, i16 %
; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
; X86-NEXT: vcvt2ps2phx %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf2,0x75,0x29,0x67,0xc2]
; X86-NEXT: retl # encoding: [0xc3]
- %ret = call <16 x half> @llvm.x86.avx10.mask.vcvt2ps2phx.256(<8 x float> %A, <8 x float> %B, <16 x half> %W, i16 %U, i32 4)
+ %ret = call <16 x half> @llvm.x86.avx10.mask.vcvt2ps2phx.256(<8 x float> %A, <8 x float> %B, <16 x half> %W, i16 %U)
ret <16 x half> %ret
}
@@ -82,52 +82,11 @@ define <16 x half> @test_int_x86_avx10_vcvt2ps2phx256_maskz(<16 x half> %W, i16
; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
; X86-NEXT: vcvt2ps2phx %ymm2, %ymm1, %ymm0 {%k1} {z} # encoding: [0x62,0xf2,0x75,0xa9,0x67,0xc2]
; X86-NEXT: retl # encoding: [0xc3]
- %ret = call <16 x half> @llvm.x86.avx10.mask.vcvt2ps2phx.256(<8 x float> %A, <8 x float> %B, <16 x half> zeroinitializer, i16 %U, i32 4)
+ %ret = call <16 x half> @llvm.x86.avx10.mask.vcvt2ps2phx.256(<8 x float> %A, <8 x float> %B, <16 x half> zeroinitializer, i16 %U)
ret <16 x half> %ret
}
-define <16 x half> @test_int_x86_avx10_vcvt2ps2phx256_round(<8 x float> %A, <8 x float> %B) {
-; CHECK-LABEL: test_int_x86_avx10_vcvt2ps2phx256_round:
-; CHECK: # %bb.0:
-; CHECK-NEXT: vcvt2ps2phx {rz-sae}, %ymm1, %ymm0, %ymm0 # encoding: [0x62,0xf2,0x79,0x78,0x67,0xc1]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %ret = call <16 x half> @llvm.x86.avx10.mask.vcvt2ps2phx.256(<8 x float> %A, <8 x float> %B, <16 x half> zeroinitializer, i16 -1, i32 11)
- ret <16 x half> %ret
-}
-
-define <16 x half> @test_int_x86_avx10_vcvt2ps2phx256_round_mask(<16 x half> %W, i16 %U, <8 x float> %A, <8 x float> %B) {
-; X64-LABEL: test_int_x86_avx10_vcvt2ps2phx256_round_mask:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvt2ps2phx {rz-sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf2,0x71,0x79,0x67,0xc2]
-; X64-NEXT: retq # encoding: [0xc3]
-;
-; X86-LABEL: test_int_x86_avx10_vcvt2ps2phx256_round_mask:
-; X86: # %bb.0:
-; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvt2ps2phx {rz-sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf2,0x71,0x79,0x67,0xc2]
-; X86-NEXT: retl # encoding: [0xc3]
- %ret = call <16 x half> @llvm.x86.avx10.mask.vcvt2ps2phx.256(<8 x float> %A, <8 x float> %B, <16 x half> %W, i16 %U, i32 11)
- ret <16 x half> %ret
-}
-
-define <16 x half> @test_int_x86_avx10_vcvt2ps2phx256_round_maskz(i16 %U, <8 x float> %A, <8 x float> %B) {
-; X64-LABEL: test_int_x86_avx10_vcvt2ps2phx256_round_maskz:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvt2ps2phx {rz-sae}, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf2,0x79,0xf9,0x67,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
-;
-; X86-LABEL: test_int_x86_avx10_vcvt2ps2phx256_round_maskz:
-; X86: # %bb.0:
-; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvt2ps2phx {rz-sae}, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf2,0x79,0xf9,0x67,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
- %ret = call <16 x half> @llvm.x86.avx10.mask.vcvt2ps2phx.256(<8 x float> %A, <8 x float> %B, <16 x half> zeroinitializer, i16 %U, i32 11)
- ret <16 x half> %ret
-}
-
-declare <16 x half> @llvm.x86.avx10.mask.vcvt2ps2phx.256(<8 x float>, <8 x float>, <16 x half>, i16, i32)
+declare <16 x half> @llvm.x86.avx10.mask.vcvt2ps2phx.256(<8 x float>, <8 x float>, <16 x half>, i16)
define <16 x i8> @test_int_x86_avx10_vcvtbiasph2bf8128(<16 x i8> %A, <8 x half> %B) nounwind {
; CHECK-LABEL: test_int_x86_avx10_vcvtbiasph2bf8128:
diff --git a/llvm/test/MC/Disassembler/X86/avx10.2convert-32.txt b/llvm/test/MC/Disassembler/X86/avx10.2convert-32.txt
index 3b66fa1da5275..282c5dd087563 100644
--- a/llvm/test/MC/Disassembler/X86/avx10.2convert-32.txt
+++ b/llvm/test/MC/Disassembler/X86/avx10.2convert-32.txt
@@ -5,18 +5,10 @@
# INTEL: vcvt2ps2phx ymm2, ymm3, ymm4
0x62,0xf2,0x65,0x28,0x67,0xd4
-# ATT: vcvt2ps2phx {rn-sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vcvt2ps2phx ymm2, ymm3, ymm4, {rn-sae}
-0x62,0xf2,0x61,0x18,0x67,0xd4
-
# ATT: vcvt2ps2phx %ymm4, %ymm3, %ymm2 {%k7}
# INTEL: vcvt2ps2phx ymm2 {k7}, ymm3, ymm4
0x62,0xf2,0x65,0x2f,0x67,0xd4
-# ATT: vcvt2ps2phx {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vcvt2ps2phx ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-0x62,0xf2,0x61,0xff,0x67,0xd4
-
# ATT: vcvt2ps2phx %zmm4, %zmm3, %zmm2
# INTEL: vcvt2ps2phx zmm2, zmm3, zmm4
0x62,0xf2,0x65,0x48,0x67,0xd4
diff --git a/llvm/test/MC/Disassembler/X86/avx10.2convert-64.txt b/llvm/test/MC/Disassembler/X86/avx10.2convert-64.txt
index 611a584df87cf..6060a1a78e279 100644
--- a/llvm/test/MC/Disassembler/X86/avx10.2convert-64.txt
+++ b/llvm/test/MC/Disassembler/X86/avx10.2convert-64.txt
@@ -5,18 +5,10 @@
# INTEL: vcvt2ps2phx ymm22, ymm23, ymm24
0x62,0x82,0x45,0x20,0x67,0xf0
-# ATT: vcvt2ps2phx {rn-sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vcvt2ps2phx ymm22, ymm23, ymm24, {rn-sae}
-0x62,0x82,0x41,0x10,0x67,0xf0
-
# ATT: vcvt2ps2phx %ymm24, %ymm23, %ymm22 {%k7}
# INTEL: vcvt2ps2phx ymm22 {k7}, ymm23, ymm24
0x62,0x82,0x45,0x27,0x67,0xf0
-# ATT: vcvt2ps2phx {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vcvt2ps2phx ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-0x62,0x82,0x41,0xf7,0x67,0xf0
-
# ATT: vcvt2ps2phx %zmm24, %zmm23, %zmm22
# INTEL: vcvt2ps2phx zmm22, zmm23, zmm24
0x62,0x82,0x45,0x40,0x67,0xf0
diff --git a/llvm/test/MC/X86/avx10.2convert-32-att.s b/llvm/test/MC/X86/avx10.2convert-32-att.s
index 940279388e6ac..522a3c63a03ba 100644
--- a/llvm/test/MC/X86/avx10.2convert-32-att.s
+++ b/llvm/test/MC/X86/avx10.2convert-32-att.s
@@ -4,18 +4,10 @@
// CHECK: encoding: [0x62,0xf2,0x65,0x28,0x67,0xd4]
vcvt2ps2phx %ymm4, %ymm3, %ymm2
-// CHECK: vcvt2ps2phx {rn-sae}, %ymm4, %ymm3, %ymm2
-// CHECK: encoding: [0x62,0xf2,0x61,0x18,0x67,0xd4]
- vcvt2ps2phx {rn-sae}, %ymm4, %ymm3, %ymm2
-
// CHECK: vcvt2ps2phx %ymm4, %ymm3, %ymm2 {%k7}
// CHECK: encoding: [0x62,0xf2,0x65,0x2f,0x67,0xd4]
vcvt2ps2phx %ymm4, %ymm3, %ymm2 {%k7}
-// CHECK: vcvt2ps2phx {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-// CHECK: encoding: [0x62,0xf2,0x61,0xff,0x67,0xd4]
- vcvt2ps2phx {rz-sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-
// CHECK: vcvt2ps2phx %zmm4, %zmm3, %zmm2
// CHECK: encoding: [0x62,0xf2,0x65,0x48,0x67,0xd4]
vcvt2ps2phx %zmm4, %zmm3, %zmm2
diff --git a/llvm/test/MC/X86/avx10.2convert-32-intel.s b/llvm/test/MC/X86/avx10.2convert-32-intel.s
index 52a02f7ff963c..bc60953ce38ad 100644
--- a/llvm/test/MC/X86/avx10.2convert-32-intel.s
+++ b/llvm/test/MC/X86/avx10.2convert-32-intel.s
@@ -4,18 +4,10 @@
// CHECK: encoding: [0x62,0xf2,0x65,0x28,0x67,0xd4]
vcvt2ps2phx ymm2, ymm3, ymm4
-// CHECK: vcvt2ps2phx ymm2, ymm3, ymm4, {rn-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0x18,0x67,0xd4]
- vcvt2ps2phx ymm2, ymm3, ymm4, {rn-sae}
-
// CHECK: vcvt2ps2phx ymm2 {k7}, ymm3, ymm4
// CHECK: encoding: [0x62,0xf2,0x65,0x2f,0x67,0xd4]
vcvt2ps2phx ymm2 {k7}, ymm3, ymm4
-// CHECK: vcvt2ps2phx ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-// CHECK: encoding: [0x62,0xf2,0x61,0xff,0x67,0xd4]
- vcvt2ps2phx ymm2 {k7} {z}, ymm3, ymm4, {rz-sae}
-
// CHECK: vcvt2ps2phx zmm2, zmm3, zmm4
// CHECK: encoding: [0x62,0xf2,0x65,0x48,0x67,0xd4]
vcvt2ps2phx zmm2, zmm3, zmm4
diff --git a/llvm/test/MC/X86/avx10.2convert-64-att.s b/llvm/test/MC/X86/avx10.2convert-64-att.s
index c39584ec09644..d1b934580926c 100644
--- a/llvm/test/MC/X86/avx10.2convert-64-att.s
+++ b/llvm/test/MC/X86/avx10.2convert-64-att.s
@@ -4,18 +4,10 @@
// CHECK: encoding: [0x62,0x82,0x45,0x20,0x67,0xf0]
vcvt2ps2phx %ymm24, %ymm23, %ymm22
-// CHECK: vcvt2ps2phx {rn-sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x82,0x41,0x10,0x67,0xf0]
- vcvt2ps2phx {rn-sae}, %ymm24, %ymm23, %ymm22
-
// CHECK: vcvt2ps2phx %ymm24, %ymm23, %ymm22 {%k7}
// CHECK: encoding: [0x62,0x82,0x45,0x27,0x67,0xf0]
vcvt2ps2phx %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: vcvt2ps2phx {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x82,0x41,0xf7,0x67,0xf0]
- vcvt2ps2phx {rz-sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
// CHECK: vcvt2ps2phx %zmm24, %zmm23, %zmm22
// CHECK: encoding: [0x62,0x82,0x45,0x40,0x67,0xf0]
vcvt2ps2phx %zmm24, %zmm23, %zmm22
diff --git a/llvm/test/MC/X86/avx10.2convert-64-intel.s b/llvm/test/MC/X86/avx10.2convert-64-intel.s
index 35f3b4a8f1a1a..37ec722eece82 100644
--- a/llvm/test/MC/X86/avx10.2convert-64-intel.s
+++ b/llvm/test/MC/X86/avx10.2convert-64-intel.s
@@ -4,18 +4,10 @@
// CHECK: encoding: [0x62,0x82,0x45,0x20,0x67,0xf0]
vcvt2ps2phx ymm22, ymm23, ymm24
-// CHECK: vcvt2ps2phx ymm22, ymm23, ymm24, {rn-sae}
-// CHECK: encoding: [0x62,0x82,0x41,0x10,0x67,0xf0]
- vcvt2ps2phx ymm22, ymm23, ymm24, {rn-sae}
-
// CHECK: vcvt2ps2phx ymm22 {k7}, ymm23, ymm24
// CHECK: encoding: [0x62,0x82,0x45,0x27,0x67,0xf0]
vcvt2ps2phx ymm22 {k7}, ymm23, ymm24
-// CHECK: vcvt2ps2phx ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-// CHECK: encoding: [0x62,0x82,0x41,0xf7,0x67,0xf0]
- vcvt2ps2phx ymm22 {k7} {z}, ymm23, ymm24, {rz-sae}
-
// CHECK: vcvt2ps2phx zmm22, zmm23, zmm24
// CHECK: encoding: [0x62,0x82,0x45,0x40,0x67,0xf0]
vcvt2ps2phx zmm22, zmm23, zmm24
>From f76100da3d6092b8d28a2bc3aaf964e12bdbaa77 Mon Sep 17 00:00:00 2001
From: Phoebe Wang <phoebe.wang at intel.com>
Date: Fri, 21 Mar 2025 17:56:23 +0100
Subject: [PATCH 4/6] [X86][AVX10.2] Remove YMM rounding from VMINMAXP[H,S,D]
(#132405)
Ref: https://cdrdv2.intel.com/v1/dl/getContent/784343
---
clang/include/clang/Basic/BuiltinsX86.td | 6 +-
clang/lib/Headers/avx10_2minmaxintrin.h | 81 +++--------
clang/lib/Sema/SemaX86.cpp | 9 +-
.../CodeGen/X86/avx10_2_512minmax-error.c | 11 --
.../test/CodeGen/X86/avx10_2minmax-builtins.c | 72 ++--------
llvm/include/llvm/IR/IntrinsicsX86.td | 16 +--
llvm/lib/Target/X86/X86InstrAVX10.td | 11 +-
llvm/lib/Target/X86/X86IntrinsicsInfo.h | 12 +-
.../CodeGen/X86/avx10_2minmax-intrinsics.ll | 134 +++---------------
.../MC/Disassembler/X86/avx10.2minmax-32.txt | 24 ----
.../MC/Disassembler/X86/avx10.2minmax-64.txt | 24 ----
llvm/test/MC/X86/avx10.2minmax-32-att.s | 24 ----
llvm/test/MC/X86/avx10.2minmax-32-intel.s | 24 ----
llvm/test/MC/X86/avx10.2minmax-64-att.s | 24 ----
llvm/test/MC/X86/avx10.2minmax-64-intel.s | 24 ----
15 files changed, 69 insertions(+), 427 deletions(-)
diff --git a/clang/include/clang/Basic/BuiltinsX86.td b/clang/include/clang/Basic/BuiltinsX86.td
index fda85fddddc06..594da122a7ed6 100644
--- a/clang/include/clang/Basic/BuiltinsX86.td
+++ b/clang/include/clang/Basic/BuiltinsX86.td
@@ -4826,7 +4826,7 @@ let Features = "avx10.2-256", Attributes = [NoThrow, RequiredVectorWidth<128>] i
}
let Features = "avx10.2-256", Attributes = [NoThrow, RequiredVectorWidth<256>] in {
- def vminmaxpd256_round_mask : X86Builtin<"_Vector<4, double>(_Vector<4, double>, _Vector<4, double>, _Constant int, _Vector<4, double>, unsigned char, _Constant int)">;
+ def vminmaxpd256_mask : X86Builtin<"_Vector<4, double>(_Vector<4, double>, _Vector<4, double>, _Constant int, _Vector<4, double>, unsigned char)">;
}
let Features = "avx10.2-512", Attributes = [NoThrow, RequiredVectorWidth<512>] in {
@@ -4838,7 +4838,7 @@ let Features = "avx10.2-256", Attributes = [NoThrow, RequiredVectorWidth<128>] i
}
let Features = "avx10.2-256", Attributes = [NoThrow, RequiredVectorWidth<256>] in {
- def vminmaxph256_round_mask : X86Builtin<"_Vector<16, _Float16>(_Vector<16, _Float16>, _Vector<16, _Float16>, _Constant int, _Vector<16, _Float16>, unsigned short, _Constant int)">;
+ def vminmaxph256_mask : X86Builtin<"_Vector<16, _Float16>(_Vector<16, _Float16>, _Vector<16, _Float16>, _Constant int, _Vector<16, _Float16>, unsigned short)">;
}
let Features = "avx10.2-512", Attributes = [NoThrow, RequiredVectorWidth<512>] in {
@@ -4850,7 +4850,7 @@ let Features = "avx10.2-256", Attributes = [NoThrow, RequiredVectorWidth<128>] i
}
let Features = "avx10.2-256", Attributes = [NoThrow, RequiredVectorWidth<256>] in {
- def vminmaxps256_round_mask : X86Builtin<"_Vector<8, float>(_Vector<8, float>, _Vector<8, float>, _Constant int, _Vector<8, float>, unsigned char, _Constant int)">;
+ def vminmaxps256_mask : X86Builtin<"_Vector<8, float>(_Vector<8, float>, _Vector<8, float>, _Constant int, _Vector<8, float>, unsigned char)">;
}
let Features = "avx10.2-512", Attributes = [NoThrow, RequiredVectorWidth<512>] in {
diff --git a/clang/lib/Headers/avx10_2minmaxintrin.h b/clang/lib/Headers/avx10_2minmaxintrin.h
index 8164d49d89f1f..809a01b04f13e 100644
--- a/clang/lib/Headers/avx10_2minmaxintrin.h
+++ b/clang/lib/Headers/avx10_2minmaxintrin.h
@@ -66,34 +66,19 @@
(__v2df)_mm_setzero_pd(), (__mmask8)(U)))
#define _mm256_minmax_pd(A, B, C) \
- ((__m256d)__builtin_ia32_vminmaxpd256_round_mask( \
+ ((__m256d)__builtin_ia32_vminmaxpd256_mask( \
(__v4df)(__m256d)(A), (__v4df)(__m256d)(B), (int)(C), \
- (__v4df)_mm256_setzero_pd(), (__mmask8)-1, _MM_FROUND_NO_EXC))
+ (__v4df)_mm256_setzero_pd(), (__mmask8)-1))
#define _mm256_mask_minmax_pd(W, U, A, B, C) \
- ((__m256d)__builtin_ia32_vminmaxpd256_round_mask( \
+ ((__m256d)__builtin_ia32_vminmaxpd256_mask( \
(__v4df)(__m256d)(A), (__v4df)(__m256d)(B), (int)(C), \
- (__v4df)(__m256d)(W), (__mmask8)(U), _MM_FROUND_NO_EXC))
+ (__v4df)(__m256d)(W), (__mmask8)(U)))
#define _mm256_maskz_minmax_pd(U, A, B, C) \
- ((__m256d)__builtin_ia32_vminmaxpd256_round_mask( \
+ ((__m256d)__builtin_ia32_vminmaxpd256_mask( \
(__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)))
+ (__v4df)_mm256_setzero_pd(), (__mmask8)(U)))
#define _mm_minmax_ph(A, B, C) \
((__m128h)__builtin_ia32_vminmaxph128_mask( \
@@ -111,34 +96,19 @@
(__v8hf)_mm_setzero_ph(), (__mmask8)(U)))
#define _mm256_minmax_ph(A, B, C) \
- ((__m256h)__builtin_ia32_vminmaxph256_round_mask( \
+ ((__m256h)__builtin_ia32_vminmaxph256_mask( \
(__v16hf)(__m256h)(A), (__v16hf)(__m256h)(B), (int)(C), \
- (__v16hf)_mm256_setzero_ph(), (__mmask16)-1, _MM_FROUND_NO_EXC))
+ (__v16hf)_mm256_setzero_ph(), (__mmask16)-1))
#define _mm256_mask_minmax_ph(W, U, A, B, C) \
- ((__m256h)__builtin_ia32_vminmaxph256_round_mask( \
+ ((__m256h)__builtin_ia32_vminmaxph256_mask( \
(__v16hf)(__m256h)(A), (__v16hf)(__m256h)(B), (int)(C), \
- (__v16hf)(__m256h)(W), (__mmask16)(U), _MM_FROUND_NO_EXC))
+ (__v16hf)(__m256h)(W), (__mmask16)(U)))
#define _mm256_maskz_minmax_ph(U, A, B, C) \
- ((__m256h)__builtin_ia32_vminmaxph256_round_mask( \
- (__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( \
+ ((__m256h)__builtin_ia32_vminmaxph256_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)))
+ (__v16hf)_mm256_setzero_ph(), (__mmask16)(U)))
#define _mm_minmax_ps(A, B, C) \
((__m128)__builtin_ia32_vminmaxps128_mask( \
@@ -156,34 +126,19 @@
(__v4sf)_mm_setzero_ps(), (__mmask8)(U)))
#define _mm256_minmax_ps(A, B, C) \
- ((__m256)__builtin_ia32_vminmaxps256_round_mask( \
+ ((__m256)__builtin_ia32_vminmaxps256_mask( \
(__v8sf)(__m256)(A), (__v8sf)(__m256)(B), (int)(C), \
- (__v8sf)_mm256_setzero_ps(), (__mmask8)-1, _MM_FROUND_NO_EXC))
+ (__v8sf)_mm256_setzero_ps(), (__mmask8)-1))
#define _mm256_mask_minmax_ps(W, U, A, B, C) \
- ((__m256)__builtin_ia32_vminmaxps256_round_mask( \
+ ((__m256)__builtin_ia32_vminmaxps256_mask( \
(__v8sf)(__m256)(A), (__v8sf)(__m256)(B), (int)(C), (__v8sf)(__m256)(W), \
- (__mmask8)(U), _MM_FROUND_NO_EXC))
+ (__mmask8)(U)))
#define _mm256_maskz_minmax_ps(U, A, B, C) \
- ((__m256)__builtin_ia32_vminmaxps256_round_mask( \
- (__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( \
+ ((__m256)__builtin_ia32_vminmaxps256_mask( \
(__v8sf)(__m256)(A), (__v8sf)(__m256)(B), (int)(C), \
- (__v8sf)_mm256_setzero_ps(), (__mmask8)(U), (int)(R)))
+ (__v8sf)_mm256_setzero_ps(), (__mmask8)(U)))
#define _mm_minmax_sd(A, B, C) \
((__m128d)__builtin_ia32_vminmaxsd_round_mask( \
diff --git a/clang/lib/Sema/SemaX86.cpp b/clang/lib/Sema/SemaX86.cpp
index 6a10d3a20b1bd..582718de52f81 100644
--- a/clang/lib/Sema/SemaX86.cpp
+++ b/clang/lib/Sema/SemaX86.cpp
@@ -147,9 +147,6 @@ bool SemaX86::CheckBuiltinRoundingOrSAE(unsigned BuiltinID, CallExpr *TheCall) {
case X86::BI__builtin_ia32_rndscalesd_round_mask:
case X86::BI__builtin_ia32_rndscaless_round_mask:
case X86::BI__builtin_ia32_rndscalesh_round_mask:
- case X86::BI__builtin_ia32_vminmaxpd256_round_mask:
- case X86::BI__builtin_ia32_vminmaxps256_round_mask:
- case X86::BI__builtin_ia32_vminmaxph256_round_mask:
case X86::BI__builtin_ia32_vminmaxpd512_round_mask:
case X86::BI__builtin_ia32_vminmaxps512_round_mask:
case X86::BI__builtin_ia32_vminmaxph512_round_mask:
@@ -909,11 +906,11 @@ bool SemaX86::CheckBuiltinFunctionCall(const TargetInfo &TI, unsigned BuiltinID,
case X86::BI__builtin_ia32_vminmaxbf16256:
case X86::BI__builtin_ia32_vminmaxbf16512:
case X86::BI__builtin_ia32_vminmaxpd128_mask:
- case X86::BI__builtin_ia32_vminmaxpd256_round_mask:
+ case X86::BI__builtin_ia32_vminmaxpd256_mask:
case X86::BI__builtin_ia32_vminmaxph128_mask:
- case X86::BI__builtin_ia32_vminmaxph256_round_mask:
+ case X86::BI__builtin_ia32_vminmaxph256_mask:
case X86::BI__builtin_ia32_vminmaxps128_mask:
- case X86::BI__builtin_ia32_vminmaxps256_round_mask:
+ case X86::BI__builtin_ia32_vminmaxps256_mask:
case X86::BI__builtin_ia32_vminmaxpd512_round_mask:
case X86::BI__builtin_ia32_vminmaxps512_round_mask:
case X86::BI__builtin_ia32_vminmaxph512_round_mask:
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_2minmax-builtins.c b/clang/test/CodeGen/X86/avx10_2minmax-builtins.c
index 7e21858c71834..7dad153a15c37 100644
--- a/clang/test/CodeGen/X86/avx10_2minmax-builtins.c
+++ b/clang/test/CodeGen/X86/avx10_2minmax-builtins.c
@@ -67,40 +67,22 @@ __m128d test_mm_maskz_minmax_pd(__mmask8 __A, __m128d __B, __m128d __C) {
__m256d test_mm256_minmax_pd(__m256d __A, __m256d __B) {
// CHECK-LABEL: @test_mm256_minmax_pd(
- // CHECK: call <4 x double> @llvm.x86.avx10.mask.vminmaxpd256.round(
+ // CHECK: call <4 x double> @llvm.x86.avx10.mask.vminmaxpd256(
return _mm256_minmax_pd(__A, __B, 127);
}
__m256d test_mm256_mask_minmax_pd(__m256d __A, __mmask8 __B, __m256d __C, __m256d __D) {
// CHECK-LABEL: @test_mm256_mask_minmax_pd(
- // CHECK: call <4 x double> @llvm.x86.avx10.mask.vminmaxpd256.round(
+ // CHECK: call <4 x double> @llvm.x86.avx10.mask.vminmaxpd256(
return _mm256_mask_minmax_pd(__A, __B, __C, __D, 127);
}
__m256d test_mm256_maskz_minmax_pd(__mmask8 __A, __m256d __B, __m256d __C) {
// CHECK-LABEL: @test_mm256_maskz_minmax_pd(
- // CHECK: call <4 x double> @llvm.x86.avx10.mask.vminmaxpd256.round(
+ // CHECK: call <4 x double> @llvm.x86.avx10.mask.vminmaxpd256(
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(
@@ -121,40 +103,22 @@ __m128h test_mm_maskz_minmax_ph(__mmask8 __A, __m128h __B, __m128h __C) {
__m256h test_mm256_minmax_ph(__m256h __A, __m256h __B) {
// CHECK-LABEL: @test_mm256_minmax_ph(
- // CHECK: call <16 x half> @llvm.x86.avx10.mask.vminmaxph256.round(
+ // CHECK: call <16 x half> @llvm.x86.avx10.mask.vminmaxph256(
return _mm256_minmax_ph(__A, __B, 127);
}
__m256h test_mm256_mask_minmax_ph(__m256h __A, __mmask16 __B, __m256h __C, __m256h __D) {
// CHECK-LABEL: @test_mm256_mask_minmax_ph(
- // CHECK: call <16 x half> @llvm.x86.avx10.mask.vminmaxph256.round(
+ // CHECK: call <16 x half> @llvm.x86.avx10.mask.vminmaxph256(
return _mm256_mask_minmax_ph(__A, __B, __C, __D, 127);
}
__m256h test_mm256_maskz_minmax_ph(__mmask16 __A, __m256h __B, __m256h __C) {
// CHECK-LABEL: @test_mm256_maskz_minmax_ph(
- // CHECK: call <16 x half> @llvm.x86.avx10.mask.vminmaxph256.round(
+ // CHECK: call <16 x half> @llvm.x86.avx10.mask.vminmaxph256(
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(
@@ -175,40 +139,22 @@ __m128 test_mm_maskz_minmax_ps(__mmask8 __A, __m128 __B, __m128 __C) {
__m256 test_mm256_minmax_ps(__m256 __A, __m256 __B) {
// CHECK-LABEL: @test_mm256_minmax_ps(
- // CHECK: call <8 x float> @llvm.x86.avx10.mask.vminmaxps256.round(
+ // CHECK: call <8 x float> @llvm.x86.avx10.mask.vminmaxps256(
return _mm256_minmax_ps(__A, __B, 127);
}
__m256 test_mm256_mask_minmax_ps(__m256 __A, __mmask8 __B, __m256 __C, __m256 __D) {
// CHECK-LABEL: @test_mm256_mask_minmax_ps(
- // CHECK: call <8 x float> @llvm.x86.avx10.mask.vminmaxps256.round(
+ // CHECK: call <8 x float> @llvm.x86.avx10.mask.vminmaxps256(
return _mm256_mask_minmax_ps(__A, __B, __C, __D, 127);
}
__m256 test_mm256_maskz_minmax_ps(__mmask8 __A, __m256 __B, __m256 __C) {
// CHECK-LABEL: @test_mm256_maskz_minmax_ps(
- // CHECK: call <8 x float> @llvm.x86.avx10.mask.vminmaxps256.round(
+ // CHECK: call <8 x float> @llvm.x86.avx10.mask.vminmaxps256(
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/llvm/include/llvm/IR/IntrinsicsX86.td b/llvm/include/llvm/IR/IntrinsicsX86.td
index 7bbbb2c451a01..3804ddcddf8ce 100644
--- a/llvm/include/llvm/IR/IntrinsicsX86.td
+++ b/llvm/include/llvm/IR/IntrinsicsX86.td
@@ -6861,9 +6861,9 @@ def int_x86_avx10_mask_vminmaxpd128 : ClangBuiltin<"__builtin_ia32_vminmaxpd128_
def int_x86_avx10_vminmaxpd256 : ClangBuiltin<"__builtin_ia32_vminmaxpd256">,
DefaultAttrsIntrinsic<[llvm_v4f64_ty], [llvm_v4f64_ty, llvm_v4f64_ty, llvm_i32_ty],
[IntrNoMem, ImmArg<ArgIndex<2>>]>;
-def int_x86_avx10_mask_vminmaxpd256_round : ClangBuiltin<"__builtin_ia32_vminmaxpd256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v4f64_ty], [llvm_v4f64_ty, llvm_v4f64_ty, llvm_i32_ty, llvm_v4f64_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<2>>, ImmArg<ArgIndex<5>>]>;
+def int_x86_avx10_mask_vminmaxpd256 : ClangBuiltin<"__builtin_ia32_vminmaxpd256_mask">,
+ DefaultAttrsIntrinsic<[llvm_v4f64_ty], [llvm_v4f64_ty, llvm_v4f64_ty, llvm_i32_ty, llvm_v4f64_ty, llvm_i8_ty],
+ [IntrNoMem, ImmArg<ArgIndex<2>>]>;
def int_x86_avx10_mask_vminmaxpd_round : ClangBuiltin<"__builtin_ia32_vminmaxpd512_round_mask">,
DefaultAttrsIntrinsic<[llvm_v8f64_ty], [llvm_v8f64_ty, llvm_v8f64_ty, llvm_i32_ty, llvm_v8f64_ty, llvm_i8_ty, llvm_i32_ty],
[IntrNoMem, ImmArg<ArgIndex<2>>, ImmArg<ArgIndex<5>>]>;
@@ -6876,8 +6876,8 @@ def int_x86_avx10_mask_vminmaxph128 : ClangBuiltin<"__builtin_ia32_vminmaxph128_
def int_x86_avx10_vminmaxph256 : ClangBuiltin<"__builtin_ia32_vminmaxph256">,
DefaultAttrsIntrinsic<[llvm_v16f16_ty], [llvm_v16f16_ty, llvm_v16f16_ty, llvm_i32_ty],
[IntrNoMem, ImmArg<ArgIndex<2>>]>;
-def int_x86_avx10_mask_vminmaxph256_round : ClangBuiltin<"__builtin_ia32_vminmaxph256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v16f16_ty], [llvm_v16f16_ty, llvm_v16f16_ty, llvm_i32_ty, llvm_v16f16_ty, llvm_i16_ty, llvm_i32_ty],
+def int_x86_avx10_mask_vminmaxph256 : ClangBuiltin<"__builtin_ia32_vminmaxph256_mask">,
+ DefaultAttrsIntrinsic<[llvm_v16f16_ty], [llvm_v16f16_ty, llvm_v16f16_ty, llvm_i32_ty, llvm_v16f16_ty, llvm_i16_ty],
[IntrNoMem, ImmArg<ArgIndex<2>>]>;
def int_x86_avx10_mask_vminmaxph_round : ClangBuiltin<"__builtin_ia32_vminmaxph512_round_mask">,
DefaultAttrsIntrinsic<[llvm_v32f16_ty], [llvm_v32f16_ty, llvm_v32f16_ty, llvm_i32_ty, llvm_v32f16_ty, llvm_i32_ty, llvm_i32_ty],
@@ -6891,9 +6891,9 @@ def int_x86_avx10_mask_vminmaxps128 : ClangBuiltin<"__builtin_ia32_vminmaxps128_
def int_x86_avx10_vminmaxps256 : ClangBuiltin<"__builtin_ia32_vminmaxps256">,
DefaultAttrsIntrinsic<[llvm_v8f32_ty], [llvm_v8f32_ty, llvm_v8f32_ty, llvm_i32_ty],
[IntrNoMem, ImmArg<ArgIndex<2>>]>;
-def int_x86_avx10_mask_vminmaxps256_round : ClangBuiltin<"__builtin_ia32_vminmaxps256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v8f32_ty], [llvm_v8f32_ty, llvm_v8f32_ty, llvm_i32_ty, llvm_v8f32_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<2>>, ImmArg<ArgIndex<5>>]>;
+def int_x86_avx10_mask_vminmaxps256 : ClangBuiltin<"__builtin_ia32_vminmaxps256_mask">,
+ DefaultAttrsIntrinsic<[llvm_v8f32_ty], [llvm_v8f32_ty, llvm_v8f32_ty, llvm_i32_ty, llvm_v8f32_ty, llvm_i8_ty],
+ [IntrNoMem, ImmArg<ArgIndex<2>>]>;
def int_x86_avx10_mask_vminmaxps_round : ClangBuiltin<"__builtin_ia32_vminmaxps512_round_mask">,
DefaultAttrsIntrinsic<[llvm_v16f32_ty], [llvm_v16f32_ty, llvm_v16f32_ty, llvm_i32_ty, llvm_v16f32_ty, llvm_i16_ty, llvm_i32_ty],
[IntrNoMem, ImmArg<ArgIndex<2>>, ImmArg<ArgIndex<5>>]>;
diff --git a/llvm/lib/Target/X86/X86InstrAVX10.td b/llvm/lib/Target/X86/X86InstrAVX10.td
index 561b6972a680d..8489ead074bae 100644
--- a/llvm/lib/Target/X86/X86InstrAVX10.td
+++ b/llvm/lib/Target/X86/X86InstrAVX10.td
@@ -83,7 +83,7 @@ multiclass avx10_minmax_packed_base<string OpStr, X86VectorVTInfo VTI, SDNode Op
}
multiclass avx10_minmax_packed_sae<string OpStr, AVX512VLVectorVTInfo VTI, SDNode OpNode> {
- let Uses = []<Register>, mayRaiseFPException = 0 in {
+ let Uses = []<Register>, mayRaiseFPException = 0 in
defm Zrrib : AVX512_maskable<0x52, MRMSrcReg, VTI.info512, (outs VTI.info512.RC:$dst),
(ins VTI.info512.RC:$src1, VTI.info512.RC:$src2, i32u8imm:$src3), OpStr,
"$src3, {sae}, $src2, $src1", "$src1, $src2, {sae}, $src3",
@@ -91,15 +91,6 @@ multiclass avx10_minmax_packed_sae<string OpStr, AVX512VLVectorVTInfo VTI, SDNod
(VTI.info512.VT VTI.info512.RC:$src2),
(i32 timm:$src3)))>,
EVEX, VVVV, EVEX_B, EVEX_V512, Sched<[WriteFMAX]>;
- let hasEVEX_U = 1 in
- defm Z256rrib : AVX512_maskable<0x52, MRMSrcReg, VTI.info256, (outs VTI.info256.RC:$dst),
- (ins VTI.info256.RC:$src1, VTI.info256.RC:$src2, i32u8imm:$src3), OpStr,
- "$src3, {sae}, $src2, $src1", "$src1, $src2, {sae}, $src3",
- (VTI.info256.VT (OpNode (VTI.info256.VT VTI.info256.RC:$src1),
- (VTI.info256.VT VTI.info256.RC:$src2),
- (i32 timm:$src3)))>,
- EVEX, VVVV, EVEX_B, EVEX_V256, Sched<[WriteFMAX]>;
- }
}
multiclass avx10_minmax_packed<string OpStr, AVX512VLVectorVTInfo VTI, SDNode OpNode> {
diff --git a/llvm/lib/Target/X86/X86IntrinsicsInfo.h b/llvm/lib/Target/X86/X86IntrinsicsInfo.h
index 0955284662f44..36a2dcbb55f21 100644
--- a/llvm/lib/Target/X86/X86IntrinsicsInfo.h
+++ b/llvm/lib/Target/X86/X86IntrinsicsInfo.h
@@ -597,20 +597,20 @@ static const IntrinsicData IntrinsicsWithoutChain[] = {
X86ISD::VMINMAX, X86ISD::VMINMAX_SAE),
X86_INTRINSIC_DATA(avx10_mask_vminmaxpd128, INTR_TYPE_3OP_MASK_SAE,
X86ISD::VMINMAX, 0),
- X86_INTRINSIC_DATA(avx10_mask_vminmaxpd256_round, INTR_TYPE_3OP_MASK_SAE,
- X86ISD::VMINMAX, X86ISD::VMINMAX_SAE),
+ X86_INTRINSIC_DATA(avx10_mask_vminmaxpd256, INTR_TYPE_3OP_MASK_SAE,
+ X86ISD::VMINMAX, 0),
X86_INTRINSIC_DATA(avx10_mask_vminmaxph_round, INTR_TYPE_3OP_MASK_SAE,
X86ISD::VMINMAX, X86ISD::VMINMAX_SAE),
X86_INTRINSIC_DATA(avx10_mask_vminmaxph128, INTR_TYPE_3OP_MASK_SAE,
X86ISD::VMINMAX, 0),
- X86_INTRINSIC_DATA(avx10_mask_vminmaxph256_round, INTR_TYPE_3OP_MASK_SAE,
- X86ISD::VMINMAX, X86ISD::VMINMAX_SAE),
+ X86_INTRINSIC_DATA(avx10_mask_vminmaxph256, INTR_TYPE_3OP_MASK_SAE,
+ X86ISD::VMINMAX, 0),
X86_INTRINSIC_DATA(avx10_mask_vminmaxps_round, INTR_TYPE_3OP_MASK_SAE,
X86ISD::VMINMAX, X86ISD::VMINMAX_SAE),
X86_INTRINSIC_DATA(avx10_mask_vminmaxps128, INTR_TYPE_3OP_MASK_SAE,
X86ISD::VMINMAX, 0),
- X86_INTRINSIC_DATA(avx10_mask_vminmaxps256_round, INTR_TYPE_3OP_MASK_SAE,
- X86ISD::VMINMAX, X86ISD::VMINMAX_SAE),
+ X86_INTRINSIC_DATA(avx10_mask_vminmaxps256, INTR_TYPE_3OP_MASK_SAE,
+ X86ISD::VMINMAX, 0),
X86_INTRINSIC_DATA(avx10_mask_vminmaxsd_round, INTR_TYPE_3OP_MASK_SAE,
X86ISD::VMINMAXS, X86ISD::VMINMAXS_SAE),
X86_INTRINSIC_DATA(avx10_mask_vminmaxsh_round, INTR_TYPE_3OP_MASK_SAE,
diff --git a/llvm/test/CodeGen/X86/avx10_2minmax-intrinsics.ll b/llvm/test/CodeGen/X86/avx10_2minmax-intrinsics.ll
index 5dc6ec12b3f60..916d439ab77f0 100644
--- a/llvm/test/CodeGen/X86/avx10_2minmax-intrinsics.ll
+++ b/llvm/test/CodeGen/X86/avx10_2minmax-intrinsics.ll
@@ -175,7 +175,7 @@ define <4 x double> @test_int_x86_avx10_vminmaxpd256(<4 x double> %A, <4 x doubl
; X86: # %bb.0:
; X86-NEXT: vminmaxpd $127, %ymm1, %ymm0, %ymm0 # encoding: [0x62,0xf3,0xfd,0x28,0x52,0xc1,0x7f]
; X86-NEXT: retl # encoding: [0xc3]
- %ret = call <4 x double> @llvm.x86.avx10.mask.vminmaxpd256.round(<4 x double> %A, <4 x double> %B, i32 127, <4 x double> zeroinitializer, i8 -1, i32 4)
+ %ret = call <4 x double> @llvm.x86.avx10.mask.vminmaxpd256(<4 x double> %A, <4 x double> %B, i32 127, <4 x double> zeroinitializer, i8 -1)
ret <4 x double> %ret
}
@@ -193,11 +193,11 @@ define <4 x double> @test_int_x86_avx10_mask_vminmaxpd256(<4 x double> %A, <4 x
; X86-NEXT: vminmaxpd $127, %ymm1, %ymm0, %ymm2 {%k1} # encoding: [0x62,0xf3,0xfd,0x29,0x52,0xd1,0x7f]
; X86-NEXT: vmovapd %ymm2, %ymm0 # EVEX TO VEX Compression encoding: [0xc5,0xfd,0x28,0xc2]
; X86-NEXT: retl # encoding: [0xc3]
- %ret = call <4 x double> @llvm.x86.avx10.mask.vminmaxpd256.round(<4 x double> %A, <4 x double> %B, i32 127, <4 x double> %C, i8 %D, i32 4)
+ %ret = call <4 x double> @llvm.x86.avx10.mask.vminmaxpd256(<4 x double> %A, <4 x double> %B, i32 127, <4 x double> %C, i8 %D)
ret <4 x double> %ret
}
-declare <4 x double> @llvm.x86.avx10.mask.vminmaxpd256.round(<4 x double> %A, <4 x double> %B, i32 %C, <4 x double> %D, i8 %E, i32 %F)
+declare <4 x double> @llvm.x86.avx10.mask.vminmaxpd256(<4 x double> %A, <4 x double> %B, i32 %C, <4 x double> %D, i8 %E)
define <4 x double> @test_int_x86_avx10_maskz_vminmaxpd256(<4 x double> %A, <4 x double> %B, i8 %C) nounwind {
; X64-LABEL: test_int_x86_avx10_maskz_vminmaxpd256:
@@ -211,53 +211,7 @@ define <4 x double> @test_int_x86_avx10_maskz_vminmaxpd256(<4 x double> %A, <4 x
; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
; X86-NEXT: vminmaxpd $127, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf3,0xfd,0xa9,0x52,0xc1,0x7f]
; X86-NEXT: retl # encoding: [0xc3]
- %ret = call <4 x double> @llvm.x86.avx10.mask.vminmaxpd256.round(<4 x double> %A, <4 x double> %B, i32 127, <4 x double> zeroinitializer, i8 %C, i32 4)
- ret <4 x double> %ret
-}
-
-define <4 x double>@test_int_x86_vminmaxpd256_round(<4 x double> %A, <4 x double> %B) nounwind {
-; X64-LABEL: test_int_x86_vminmaxpd256_round:
-; X64: # %bb.0:
-; X64-NEXT: vminmaxpd $127, {sae}, %ymm1, %ymm0, %ymm0 # encoding: [0x62,0xf3,0xf9,0x18,0x52,0xc1,0x7f]
-; X64-NEXT: retq # encoding: [0xc3]
-;
-; X86-LABEL: test_int_x86_vminmaxpd256_round:
-; X86: # %bb.0:
-; X86-NEXT: vminmaxpd $127, {sae}, %ymm1, %ymm0, %ymm0 # encoding: [0x62,0xf3,0xf9,0x18,0x52,0xc1,0x7f]
-; X86-NEXT: retl # encoding: [0xc3]
- %ret = call <4 x double> @llvm.x86.avx10.mask.vminmaxpd256.round(<4 x double> %A, <4 x double> %B, i32 127, <4 x double> undef, i8 -1, i32 8)
- ret <4 x double> %ret
-}
-
-define <4 x double>@test_int_x86_mask_vminmaxpd256_round(<4 x double> %C, <4 x double> %A, <4 x double> %B, i8 %D) nounwind {
-; X64-LABEL: test_int_x86_mask_vminmaxpd256_round:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vminmaxpd $127, {sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf3,0xf1,0x19,0x52,0xc2,0x7f]
-; X64-NEXT: retq # encoding: [0xc3]
-;
-; X86-LABEL: test_int_x86_mask_vminmaxpd256_round:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vminmaxpd $127, {sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf3,0xf1,0x19,0x52,0xc2,0x7f]
-; X86-NEXT: retl # encoding: [0xc3]
- %ret = call <4 x double> @llvm.x86.avx10.mask.vminmaxpd256.round(<4 x double> %A, <4 x double> %B, i32 127, <4 x double> %C, i8 %D, i32 8)
- ret <4 x double> %ret
-}
-
-define <4 x double>@test_int_x86_maskz_vminmaxpd256_round(<4 x double> %A, <4 x double> %B, i8 %C) nounwind {
-; X64-LABEL: test_int_x86_maskz_vminmaxpd256_round:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vminmaxpd $127, {sae}, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf3,0xf9,0x99,0x52,0xc1,0x7f]
-; X64-NEXT: retq # encoding: [0xc3]
-;
-; X86-LABEL: test_int_x86_maskz_vminmaxpd256_round:
-; X86: # %bb.0:
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vminmaxpd $127, {sae}, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf3,0xf9,0x99,0x52,0xc1,0x7f]
-; X86-NEXT: retl # encoding: [0xc3]
- %ret = call <4 x double> @llvm.x86.avx10.mask.vminmaxpd256.round(<4 x double> %A, <4 x double> %B, i32 127, <4 x double> zeroinitializer, i8 %C, i32 8)
+ %ret = call <4 x double> @llvm.x86.avx10.mask.vminmaxpd256(<4 x double> %A, <4 x double> %B, i32 127, <4 x double> zeroinitializer, i8 %C)
ret <4 x double> %ret
}
@@ -322,7 +276,7 @@ define <16 x half> @test_int_x86_avx10_vminmaxph256(<16 x half> %A, <16 x half>
; X86: # %bb.0:
; X86-NEXT: vminmaxph $127, %ymm1, %ymm0, %ymm0 # encoding: [0x62,0xf3,0x7c,0x28,0x52,0xc1,0x7f]
; X86-NEXT: retl # encoding: [0xc3]
- %ret = call <16 x half> @llvm.x86.avx10.mask.vminmaxph256.round(<16 x half> %A, <16 x half> %B, i32 127, <16 x half> zeroinitializer, i16 -1, i32 4)
+ %ret = call <16 x half> @llvm.x86.avx10.mask.vminmaxph256(<16 x half> %A, <16 x half> %B, i32 127, <16 x half> zeroinitializer, i16 -1)
ret <16 x half> %ret
}
@@ -342,11 +296,11 @@ define <16 x half> @test_int_x86_avx10_mask_vminmaxph256(<16 x half> %A, <16 x h
; X86-NEXT: vminmaxph $127, %ymm1, %ymm0, %ymm2 {%k1} # encoding: [0x62,0xf3,0x7c,0x29,0x52,0xd1,0x7f]
; X86-NEXT: vmovaps %ymm2, %ymm0 # EVEX TO VEX Compression encoding: [0xc5,0xfc,0x28,0xc2]
; X86-NEXT: retl # encoding: [0xc3]
- %ret = call <16 x half> @llvm.x86.avx10.mask.vminmaxph256.round(<16 x half> %A, <16 x half> %B, i32 127, <16 x half> %C, i16 %D, i32 4)
+ %ret = call <16 x half> @llvm.x86.avx10.mask.vminmaxph256(<16 x half> %A, <16 x half> %B, i32 127, <16 x half> %C, i16 %D)
ret <16 x half> %ret
}
-declare <16 x half> @llvm.x86.avx10.mask.vminmaxph256.round(<16 x half> %A, <16 x half> %B, i32 %C, <16 x half> %D, i16 %E, i32 %F)
+declare <16 x half> @llvm.x86.avx10.mask.vminmaxph256(<16 x half> %A, <16 x half> %B, i32 %C, <16 x half> %D, i16 %E)
define <16 x half> @test_int_x86_avx10_maskz_vminmaxph256(<16 x half> %A, <16 x half> %B, i16 %C) nounwind {
; X64-LABEL: test_int_x86_avx10_maskz_vminmaxph256:
@@ -360,53 +314,7 @@ define <16 x half> @test_int_x86_avx10_maskz_vminmaxph256(<16 x half> %A, <16 x
; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
; X86-NEXT: vminmaxph $127, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf3,0x7c,0xa9,0x52,0xc1,0x7f]
; X86-NEXT: retl # encoding: [0xc3]
- %ret = call <16 x half> @llvm.x86.avx10.mask.vminmaxph256.round(<16 x half> %A, <16 x half> %B, i32 127, <16 x half> zeroinitializer, i16 %C, i32 4)
- ret <16 x half> %ret
-}
-
-define <16 x half> @test_int_x86_vminmaxph256_round(<16 x half> %A, <16 x half> %B) nounwind {
-; X64-LABEL: test_int_x86_vminmaxph256_round:
-; X64: # %bb.0:
-; X64-NEXT: vminmaxph $127, {sae}, %ymm1, %ymm0, %ymm0 # encoding: [0x62,0xf3,0x78,0x18,0x52,0xc1,0x7f]
-; X64-NEXT: retq # encoding: [0xc3]
-;
-; X86-LABEL: test_int_x86_vminmaxph256_round:
-; X86: # %bb.0:
-; X86-NEXT: vminmaxph $127, {sae}, %ymm1, %ymm0, %ymm0 # encoding: [0x62,0xf3,0x78,0x18,0x52,0xc1,0x7f]
-; X86-NEXT: retl # encoding: [0xc3]
- %ret = call <16 x half> @llvm.x86.avx10.mask.vminmaxph256.round(<16 x half> %A, <16 x half> %B, i32 127, <16 x half> undef, i16 -1, i32 8)
- ret <16 x half> %ret
-}
-
-define <16 x half> @test_int_x86_mask_vminmaxph256_round(<16 x half> %C, <16 x half> %A, <16 x half> %B, i16 %D) nounwind {
-; X64-LABEL: test_int_x86_mask_vminmaxph256_round:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vminmaxph $127, {sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf3,0x70,0x19,0x52,0xc2,0x7f]
-; X64-NEXT: retq # encoding: [0xc3]
-;
-; X86-LABEL: test_int_x86_mask_vminmaxph256_round:
-; X86: # %bb.0:
-; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vminmaxph $127, {sae}, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf3,0x70,0x19,0x52,0xc2,0x7f]
-; X86-NEXT: retl # encoding: [0xc3]
- %ret = call <16 x half> @llvm.x86.avx10.mask.vminmaxph256.round(<16 x half> %A, <16 x half> %B, i32 127, <16 x half> %C, i16 %D, i32 8)
- ret <16 x half> %ret
-}
-
-define <16 x half> @test_int_x86_maskz_vminmaxph256_round(<16 x half> %A, <16 x half> %B, i16 %C) nounwind {
-; X64-LABEL: test_int_x86_maskz_vminmaxph256_round:
-; X64: # %bb.0:
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vminmaxph $127, {sae}, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf3,0x78,0x99,0x52,0xc1,0x7f]
-; X64-NEXT: retq # encoding: [0xc3]
-;
-; X86-LABEL: test_int_x86_maskz_vminmaxph256_round:
-; X86: # %bb.0:
-; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vminmaxph $127, {sae}, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf3,0x78,0x99,0x52,0xc1,0x7f]
-; X86-NEXT: retl # encoding: [0xc3]
- %ret = call <16 x half> @llvm.x86.avx10.mask.vminmaxph256.round(<16 x half> %A, <16 x half> %B, i32 127, <16 x half> zeroinitializer, i16 %C, i32 8)
+ %ret = call <16 x half> @llvm.x86.avx10.mask.vminmaxph256(<16 x half> %A, <16 x half> %B, i32 127, <16 x half> zeroinitializer, i16 %C)
ret <16 x half> %ret
}
@@ -471,7 +379,7 @@ define <8 x float> @test_int_x86_avx10_vminmaxps256(<8 x float> %A, <8 x float>
; X86: # %bb.0:
; X86-NEXT: vminmaxps $127, %ymm1, %ymm0, %ymm0 # encoding: [0x62,0xf3,0x7d,0x28,0x52,0xc1,0x7f]
; X86-NEXT: retl # encoding: [0xc3]
- %ret = call <8 x float> @llvm.x86.avx10.mask.vminmaxps256.round(<8 x float> %A, <8 x float> %B, i32 127, <8 x float> zeroinitializer, i8 -1, i32 4)
+ %ret = call <8 x float> @llvm.x86.avx10.mask.vminmaxps256(<8 x float> %A, <8 x float> %B, i32 127, <8 x float> zeroinitializer, i8 -1)
ret <8 x float> %ret
}
@@ -489,11 +397,11 @@ define <8 x float> @test_int_x86_avx10_mask_vminmaxps256(<8 x float> %A, <8 x fl
; X86-NEXT: vminmaxps $127, %ymm1, %ymm0, %ymm2 {%k1} # encoding: [0x62,0xf3,0x7d,0x29,0x52,0xd1,0x7f]
; X86-NEXT: vmovapd %ymm2, %ymm0 # EVEX TO VEX Compression encoding: [0xc5,0xfd,0x28,0xc2]
; X86-NEXT: retl # encoding: [0xc3]
- %ret = call <8 x float> @llvm.x86.avx10.mask.vminmaxps256.round(<8 x float> %A, <8 x float> %B, i32 127, <8 x float> %C, i8 %D, i32 4)
+ %ret = call <8 x float> @llvm.x86.avx10.mask.vminmaxps256(<8 x float> %A, <8 x float> %B, i32 127, <8 x float> %C, i8 %D)
ret <8 x float> %ret
}
-declare <8 x float> @llvm.x86.avx10.mask.vminmaxps256.round(<8 x float> %A, <8 x float> %B, i32 %C, <8 x float> %D, i8 %E, i32 %F)
+declare <8 x float> @llvm.x86.avx10.mask.vminmaxps256(<8 x float> %A, <8 x float> %B, i32 %C, <8 x float> %D, i8 %E)
define <8 x float> @test_int_x86_avx10_maskz_vminmaxps256(<8 x float> %A, <8 x float> %B, i8 %C) nounwind {
; X64-LABEL: test_int_x86_avx10_maskz_vminmaxps256:
@@ -507,7 +415,7 @@ define <8 x float> @test_int_x86_avx10_maskz_vminmaxps256(<8 x float> %A, <8 x f
; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
; X86-NEXT: vminmaxps $127, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf3,0x7d,0xa9,0x52,0xc1,0x7f]
; X86-NEXT: retl # encoding: [0xc3]
- %ret = call <8 x float> @llvm.x86.avx10.mask.vminmaxps256.round(<8 x float> %A, <8 x float> %B, i32 127, <8 x float> zeroinitializer, i8 %C, i32 4)
+ %ret = call <8 x float> @llvm.x86.avx10.mask.vminmaxps256(<8 x float> %A, <8 x float> %B, i32 127, <8 x float> zeroinitializer, i8 %C)
ret <8 x float> %ret
}
@@ -521,7 +429,7 @@ define <8 x float >@test_int_x86_vminmaxps256(<8 x float> %A, <8 x float> %B) no
; X86: # %bb.0:
; X86-NEXT: vminmaxps $127, %ymm1, %ymm0, %ymm0 # encoding: [0x62,0xf3,0x7d,0x28,0x52,0xc1,0x7f]
; X86-NEXT: retl # encoding: [0xc3]
- %ret = call <8 x float> @llvm.x86.avx10.mask.vminmaxps256.round(<8 x float> %A, <8 x float> %B, i32 127, <8 x float> undef, i8 -1, i32 4)
+ %ret = call <8 x float> @llvm.x86.avx10.mask.vminmaxps256(<8 x float> %A, <8 x float> %B, i32 127, <8 x float> poison, i8 -1)
ret <8 x float> %ret
}
@@ -537,7 +445,7 @@ define <8 x float> @test_int_x86_mask_vminmaxps256(<8 x float> %C, <8 x float> %
; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
; X86-NEXT: vminmaxps $127, %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf3,0x75,0x29,0x52,0xc2,0x7f]
; X86-NEXT: retl # encoding: [0xc3]
- %ret = call <8 x float> @llvm.x86.avx10.mask.vminmaxps256.round(<8 x float> %A, <8 x float> %B, i32 127, <8 x float> %C, i8 %D, i32 4)
+ %ret = call <8 x float> @llvm.x86.avx10.mask.vminmaxps256(<8 x float> %A, <8 x float> %B, i32 127, <8 x float> %C, i8 %D)
ret <8 x float> %ret
}
@@ -553,7 +461,7 @@ define <8 x float> @test_int_x86_maskz_vminmaxps256(<8 x float> %A, <8 x float>
; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
; X86-NEXT: vminmaxps $127, %ymm1, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf3,0x7d,0xa9,0x52,0xc1,0x7f]
; X86-NEXT: retl # encoding: [0xc3]
- %ret = call <8 x float> @llvm.x86.avx10.mask.vminmaxps256.round(<8 x float> %A, <8 x float> %B, i32 127, <8 x float> zeroinitializer, i8 %C, i32 4)
+ %ret = call <8 x float> @llvm.x86.avx10.mask.vminmaxps256(<8 x float> %A, <8 x float> %B, i32 127, <8 x float> zeroinitializer, i8 %C)
ret <8 x float> %ret
}
@@ -567,7 +475,7 @@ define <2 x double>@test_int_x86_vminmaxsd(<2 x double> %A, <2 x double> %B) nou
; X86: # %bb.0:
; X86-NEXT: vminmaxsd $127, %xmm1, %xmm0, %xmm0 # encoding: [0x62,0xf3,0xfd,0x08,0x53,0xc1,0x7f]
; X86-NEXT: retl # encoding: [0xc3]
- %ret = call <2 x double> @llvm.x86.avx10.mask.vminmaxsd.round(<2 x double> %A, <2 x double> %B, i32 127, <2 x double> undef, i8 -1, i32 4)
+ %ret = call <2 x double> @llvm.x86.avx10.mask.vminmaxsd.round(<2 x double> %A, <2 x double> %B, i32 127, <2 x double> poison, i8 -1, i32 4)
ret <2 x double> %ret
}
@@ -615,7 +523,7 @@ define <2 x double>@test_int_x86_vminmaxsd_round(<2 x double> %A, <2 x double> %
; X86: # %bb.0:
; X86-NEXT: vminmaxsd $127, {sae}, %xmm1, %xmm0, %xmm0 # encoding: [0x62,0xf3,0xfd,0x18,0x53,0xc1,0x7f]
; X86-NEXT: retl # encoding: [0xc3]
- %ret = call <2 x double> @llvm.x86.avx10.mask.vminmaxsd.round(<2 x double> %A, <2 x double> %B, i32 127, <2 x double> undef, i8 -1, i32 8)
+ %ret = call <2 x double> @llvm.x86.avx10.mask.vminmaxsd.round(<2 x double> %A, <2 x double> %B, i32 127, <2 x double> poison, i8 -1, i32 8)
ret <2 x double> %ret
}
@@ -665,7 +573,7 @@ define <8 x half>@test_int_x86_vminmaxsh(<8 x half> %A, <8 x half> %B) nounwind
; X86: # %bb.0:
; X86-NEXT: vminmaxsh $127, %xmm1, %xmm0, %xmm0 # encoding: [0x62,0xf3,0x7c,0x08,0x53,0xc1,0x7f]
; X86-NEXT: retl # encoding: [0xc3]
- %ret = call <8 x half> @llvm.x86.avx10.mask.vminmaxsh.round(<8 x half> %A, <8 x half> %B, i32 127, <8 x half> undef, i8 -1, i32 4)
+ %ret = call <8 x half> @llvm.x86.avx10.mask.vminmaxsh.round(<8 x half> %A, <8 x half> %B, i32 127, <8 x half> poison, i8 -1, i32 4)
ret <8 x half> %ret
}
@@ -713,7 +621,7 @@ define <8 x half>@test_int_x86_vminmaxsh_round(<8 x half> %A, <8 x half> %B) nou
; X86: # %bb.0:
; X86-NEXT: vminmaxsh $127, {sae}, %xmm1, %xmm0, %xmm0 # encoding: [0x62,0xf3,0x7c,0x18,0x53,0xc1,0x7f]
; X86-NEXT: retl # encoding: [0xc3]
- %ret = call <8 x half> @llvm.x86.avx10.mask.vminmaxsh.round(<8 x half> %A, <8 x half> %B, i32 127, <8 x half> undef, i8 -1, i32 8)
+ %ret = call <8 x half> @llvm.x86.avx10.mask.vminmaxsh.round(<8 x half> %A, <8 x half> %B, i32 127, <8 x half> poison, i8 -1, i32 8)
ret <8 x half> %ret
}
@@ -763,7 +671,7 @@ define <4 x float>@test_int_x86_vminmaxss(<4 x float> %A, <4 x float> %B) nounwi
; X86: # %bb.0:
; X86-NEXT: vminmaxss $127, %xmm1, %xmm0, %xmm0 # encoding: [0x62,0xf3,0x7d,0x08,0x53,0xc1,0x7f]
; X86-NEXT: retl # encoding: [0xc3]
- %ret = call <4 x float> @llvm.x86.avx10.mask.vminmaxss.round(<4 x float> %A, <4 x float> %B, i32 127, <4 x float> undef, i8 -1, i32 4)
+ %ret = call <4 x float> @llvm.x86.avx10.mask.vminmaxss.round(<4 x float> %A, <4 x float> %B, i32 127, <4 x float> poison, i8 -1, i32 4)
ret <4 x float> %ret
}
@@ -811,7 +719,7 @@ define <4 x float>@test_int_x86_vminmaxss_round(<4 x float> %A, <4 x float> %B)
; X86: # %bb.0:
; X86-NEXT: vminmaxss $127, {sae}, %xmm1, %xmm0, %xmm0 # encoding: [0x62,0xf3,0x7d,0x18,0x53,0xc1,0x7f]
; X86-NEXT: retl # encoding: [0xc3]
- %ret = call <4 x float> @llvm.x86.avx10.mask.vminmaxss.round(<4 x float> %A, <4 x float> %B, i32 127, <4 x float> undef, i8 -1, i32 8)
+ %ret = call <4 x float> @llvm.x86.avx10.mask.vminmaxss.round(<4 x float> %A, <4 x float> %B, i32 127, <4 x float> poison, i8 -1, i32 8)
ret <4 x float> %ret
}
diff --git a/llvm/test/MC/Disassembler/X86/avx10.2minmax-32.txt b/llvm/test/MC/Disassembler/X86/avx10.2minmax-32.txt
index 96f9bdccbde19..cf2cae9304907 100644
--- a/llvm/test/MC/Disassembler/X86/avx10.2minmax-32.txt
+++ b/llvm/test/MC/Disassembler/X86/avx10.2minmax-32.txt
@@ -141,18 +141,10 @@
# INTEL: vminmaxpd ymm2, ymm3, ymm4, 123
0x62,0xf3,0xe5,0x28,0x52,0xd4,0x7b
-# ATT: vminmaxpd $123, {sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vminmaxpd ymm2, ymm3, ymm4, {sae}, 123
-0x62,0xf3,0xe1,0x18,0x52,0xd4,0x7b
-
# ATT: vminmaxpd $123, %ymm4, %ymm3, %ymm2 {%k7}
# INTEL: vminmaxpd ymm2 {k7}, ymm3, ymm4, 123
0x62,0xf3,0xe5,0x2f,0x52,0xd4,0x7b
-# ATT: vminmaxpd $123, {sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vminmaxpd ymm2 {k7} {z}, ymm3, ymm4, {sae}, 123
-0x62,0xf3,0xe1,0x9f,0x52,0xd4,0x7b
-
# ATT: vminmaxpd $123, 268435456(%esp,%esi,8), %ymm3, %ymm2
# INTEL: vminmaxpd ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456], 123
0x62,0xf3,0xe5,0x28,0x52,0x94,0xf4,0x00,0x00,0x00,0x10,0x7b
@@ -257,18 +249,10 @@
# INTEL: vminmaxph ymm2, ymm3, ymm4, 123
0x62,0xf3,0x64,0x28,0x52,0xd4,0x7b
-# ATT: vminmaxph $123, {sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vminmaxph ymm2, ymm3, ymm4, {sae}, 123
-0x62,0xf3,0x60,0x18,0x52,0xd4,0x7b
-
# ATT: vminmaxph $123, %ymm4, %ymm3, %ymm2 {%k7}
# INTEL: vminmaxph ymm2 {k7}, ymm3, ymm4, 123
0x62,0xf3,0x64,0x2f,0x52,0xd4,0x7b
-# ATT: vminmaxph $123, {sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vminmaxph ymm2 {k7} {z}, ymm3, ymm4, {sae}, 123
-0x62,0xf3,0x60,0x9f,0x52,0xd4,0x7b
-
# ATT: vminmaxph $123, 268435456(%esp,%esi,8), %ymm3, %ymm2
# INTEL: vminmaxph ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456], 123
0x62,0xf3,0x64,0x28,0x52,0x94,0xf4,0x00,0x00,0x00,0x10,0x7b
@@ -373,18 +357,10 @@
# INTEL: vminmaxps ymm2, ymm3, ymm4, 123
0x62,0xf3,0x65,0x28,0x52,0xd4,0x7b
-# ATT: vminmaxps $123, {sae}, %ymm4, %ymm3, %ymm2
-# INTEL: vminmaxps ymm2, ymm3, ymm4, {sae}, 123
-0x62,0xf3,0x61,0x18,0x52,0xd4,0x7b
-
# ATT: vminmaxps $123, %ymm4, %ymm3, %ymm2 {%k7}
# INTEL: vminmaxps ymm2 {k7}, ymm3, ymm4, 123
0x62,0xf3,0x65,0x2f,0x52,0xd4,0x7b
-# ATT: vminmaxps $123, {sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vminmaxps ymm2 {k7} {z}, ymm3, ymm4, {sae}, 123
-0x62,0xf3,0x61,0x9f,0x52,0xd4,0x7b
-
# ATT: vminmaxps $123, 268435456(%esp,%esi,8), %ymm3, %ymm2
# INTEL: vminmaxps ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456], 123
0x62,0xf3,0x65,0x28,0x52,0x94,0xf4,0x00,0x00,0x00,0x10,0x7b
diff --git a/llvm/test/MC/Disassembler/X86/avx10.2minmax-64.txt b/llvm/test/MC/Disassembler/X86/avx10.2minmax-64.txt
index af80fb1a3f48c..e17e6032212e8 100644
--- a/llvm/test/MC/Disassembler/X86/avx10.2minmax-64.txt
+++ b/llvm/test/MC/Disassembler/X86/avx10.2minmax-64.txt
@@ -141,18 +141,10 @@
# INTEL: vminmaxpd ymm22, ymm23, ymm24, 123
0x62,0x83,0xc5,0x20,0x52,0xf0,0x7b
-# ATT: vminmaxpd $123, {sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vminmaxpd ymm22, ymm23, ymm24, {sae}, 123
-0x62,0x83,0xc1,0x10,0x52,0xf0,0x7b
-
# ATT: vminmaxpd $123, %ymm24, %ymm23, %ymm22 {%k7}
# INTEL: vminmaxpd ymm22 {k7}, ymm23, ymm24, 123
0x62,0x83,0xc5,0x27,0x52,0xf0,0x7b
-# ATT: vminmaxpd $123, {sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vminmaxpd ymm22 {k7} {z}, ymm23, ymm24, {sae}, 123
-0x62,0x83,0xc1,0x97,0x52,0xf0,0x7b
-
# ATT: vminmaxpd $123, 268435456(%rbp,%r14,8), %ymm23, %ymm22
# INTEL: vminmaxpd ymm22, ymm23, ymmword ptr [rbp + 8*r14 + 268435456], 123
0x62,0xa3,0xc5,0x20,0x52,0xb4,0xf5,0x00,0x00,0x00,0x10,0x7b
@@ -257,18 +249,10 @@
# INTEL: vminmaxph ymm22, ymm23, ymm24, 123
0x62,0x83,0x44,0x20,0x52,0xf0,0x7b
-# ATT: vminmaxph $123, {sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vminmaxph ymm22, ymm23, ymm24, {sae}, 123
-0x62,0x83,0x40,0x10,0x52,0xf0,0x7b
-
# ATT: vminmaxph $123, %ymm24, %ymm23, %ymm22 {%k7}
# INTEL: vminmaxph ymm22 {k7}, ymm23, ymm24, 123
0x62,0x83,0x44,0x27,0x52,0xf0,0x7b
-# ATT: vminmaxph $123, {sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vminmaxph ymm22 {k7} {z}, ymm23, ymm24, {sae}, 123
-0x62,0x83,0x40,0x97,0x52,0xf0,0x7b
-
# ATT: vminmaxph $123, 268435456(%rbp,%r14,8), %ymm23, %ymm22
# INTEL: vminmaxph ymm22, ymm23, ymmword ptr [rbp + 8*r14 + 268435456], 123
0x62,0xa3,0x44,0x20,0x52,0xb4,0xf5,0x00,0x00,0x00,0x10,0x7b
@@ -373,18 +357,10 @@
# INTEL: vminmaxps ymm22, ymm23, ymm24, 123
0x62,0x83,0x45,0x20,0x52,0xf0,0x7b
-# ATT: vminmaxps $123, {sae}, %ymm24, %ymm23, %ymm22
-# INTEL: vminmaxps ymm22, ymm23, ymm24, {sae}, 123
-0x62,0x83,0x41,0x10,0x52,0xf0,0x7b
-
# ATT: vminmaxps $123, %ymm24, %ymm23, %ymm22 {%k7}
# INTEL: vminmaxps ymm22 {k7}, ymm23, ymm24, 123
0x62,0x83,0x45,0x27,0x52,0xf0,0x7b
-# ATT: vminmaxps $123, {sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vminmaxps ymm22 {k7} {z}, ymm23, ymm24, {sae}, 123
-0x62,0x83,0x41,0x97,0x52,0xf0,0x7b
-
# ATT: vminmaxps $123, 268435456(%rbp,%r14,8), %ymm23, %ymm22
# INTEL: vminmaxps ymm22, ymm23, ymmword ptr [rbp + 8*r14 + 268435456], 123
0x62,0xa3,0x45,0x20,0x52,0xb4,0xf5,0x00,0x00,0x00,0x10,0x7b
diff --git a/llvm/test/MC/X86/avx10.2minmax-32-att.s b/llvm/test/MC/X86/avx10.2minmax-32-att.s
index 5e3b687543c42..bf1ab4b884393 100644
--- a/llvm/test/MC/X86/avx10.2minmax-32-att.s
+++ b/llvm/test/MC/X86/avx10.2minmax-32-att.s
@@ -140,18 +140,10 @@
// CHECK: encoding: [0x62,0xf3,0xe5,0x28,0x52,0xd4,0x7b]
vminmaxpd $123, %ymm4, %ymm3, %ymm2
-// CHECK: vminmaxpd $123, {sae}, %ymm4, %ymm3, %ymm2
-// CHECK: encoding: [0x62,0xf3,0xe1,0x18,0x52,0xd4,0x7b]
- vminmaxpd $123, {sae}, %ymm4, %ymm3, %ymm2
-
// CHECK: vminmaxpd $123, %ymm4, %ymm3, %ymm2 {%k7}
// CHECK: encoding: [0x62,0xf3,0xe5,0x2f,0x52,0xd4,0x7b]
vminmaxpd $123, %ymm4, %ymm3, %ymm2 {%k7}
-// CHECK: vminmaxpd $123, {sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-// CHECK: encoding: [0x62,0xf3,0xe1,0x9f,0x52,0xd4,0x7b]
- vminmaxpd $123, {sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-
// CHECK: vminmaxpd $123, 268435456(%esp,%esi,8), %ymm3, %ymm2
// CHECK: encoding: [0x62,0xf3,0xe5,0x28,0x52,0x94,0xf4,0x00,0x00,0x00,0x10,0x7b]
vminmaxpd $123, 268435456(%esp,%esi,8), %ymm3, %ymm2
@@ -256,18 +248,10 @@
// CHECK: encoding: [0x62,0xf3,0x64,0x28,0x52,0xd4,0x7b]
vminmaxph $123, %ymm4, %ymm3, %ymm2
-// CHECK: vminmaxph $123, {sae}, %ymm4, %ymm3, %ymm2
-// CHECK: encoding: [0x62,0xf3,0x60,0x18,0x52,0xd4,0x7b]
- vminmaxph $123, {sae}, %ymm4, %ymm3, %ymm2
-
// CHECK: vminmaxph $123, %ymm4, %ymm3, %ymm2 {%k7}
// CHECK: encoding: [0x62,0xf3,0x64,0x2f,0x52,0xd4,0x7b]
vminmaxph $123, %ymm4, %ymm3, %ymm2 {%k7}
-// CHECK: vminmaxph $123, {sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-// CHECK: encoding: [0x62,0xf3,0x60,0x9f,0x52,0xd4,0x7b]
- vminmaxph $123, {sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-
// CHECK: vminmaxph $123, 268435456(%esp,%esi,8), %ymm3, %ymm2
// CHECK: encoding: [0x62,0xf3,0x64,0x28,0x52,0x94,0xf4,0x00,0x00,0x00,0x10,0x7b]
vminmaxph $123, 268435456(%esp,%esi,8), %ymm3, %ymm2
@@ -372,18 +356,10 @@
// CHECK: encoding: [0x62,0xf3,0x65,0x28,0x52,0xd4,0x7b]
vminmaxps $123, %ymm4, %ymm3, %ymm2
-// CHECK: vminmaxps $123, {sae}, %ymm4, %ymm3, %ymm2
-// CHECK: encoding: [0x62,0xf3,0x61,0x18,0x52,0xd4,0x7b]
- vminmaxps $123, {sae}, %ymm4, %ymm3, %ymm2
-
// CHECK: vminmaxps $123, %ymm4, %ymm3, %ymm2 {%k7}
// CHECK: encoding: [0x62,0xf3,0x65,0x2f,0x52,0xd4,0x7b]
vminmaxps $123, %ymm4, %ymm3, %ymm2 {%k7}
-// CHECK: vminmaxps $123, {sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-// CHECK: encoding: [0x62,0xf3,0x61,0x9f,0x52,0xd4,0x7b]
- vminmaxps $123, {sae}, %ymm4, %ymm3, %ymm2 {%k7} {z}
-
// CHECK: vminmaxps $123, 268435456(%esp,%esi,8), %ymm3, %ymm2
// CHECK: encoding: [0x62,0xf3,0x65,0x28,0x52,0x94,0xf4,0x00,0x00,0x00,0x10,0x7b]
vminmaxps $123, 268435456(%esp,%esi,8), %ymm3, %ymm2
diff --git a/llvm/test/MC/X86/avx10.2minmax-32-intel.s b/llvm/test/MC/X86/avx10.2minmax-32-intel.s
index c237b09e15954..66e3b53226b02 100644
--- a/llvm/test/MC/X86/avx10.2minmax-32-intel.s
+++ b/llvm/test/MC/X86/avx10.2minmax-32-intel.s
@@ -140,18 +140,10 @@
// CHECK: encoding: [0x62,0xf3,0xe5,0x28,0x52,0xd4,0x7b]
vminmaxpd ymm2, ymm3, ymm4, 123
-// CHECK: vminmaxpd ymm2, ymm3, ymm4, {sae}, 123
-// CHECK: encoding: [0x62,0xf3,0xe1,0x18,0x52,0xd4,0x7b]
- vminmaxpd ymm2, ymm3, ymm4, {sae}, 123
-
// CHECK: vminmaxpd ymm2 {k7}, ymm3, ymm4, 123
// CHECK: encoding: [0x62,0xf3,0xe5,0x2f,0x52,0xd4,0x7b]
vminmaxpd ymm2 {k7}, ymm3, ymm4, 123
-// CHECK: vminmaxpd ymm2 {k7} {z}, ymm3, ymm4, {sae}, 123
-// CHECK: encoding: [0x62,0xf3,0xe1,0x9f,0x52,0xd4,0x7b]
- vminmaxpd ymm2 {k7} {z}, ymm3, ymm4, {sae}, 123
-
// CHECK: vminmaxpd ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456], 123
// CHECK: encoding: [0x62,0xf3,0xe5,0x28,0x52,0x94,0xf4,0x00,0x00,0x00,0x10,0x7b]
vminmaxpd ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456], 123
@@ -256,18 +248,10 @@
// CHECK: encoding: [0x62,0xf3,0x64,0x28,0x52,0xd4,0x7b]
vminmaxph ymm2, ymm3, ymm4, 123
-// CHECK: vminmaxph ymm2, ymm3, ymm4, {sae}, 123
-// CHECK: encoding: [0x62,0xf3,0x60,0x18,0x52,0xd4,0x7b]
- vminmaxph ymm2, ymm3, ymm4, {sae}, 123
-
// CHECK: vminmaxph ymm2 {k7}, ymm3, ymm4, 123
// CHECK: encoding: [0x62,0xf3,0x64,0x2f,0x52,0xd4,0x7b]
vminmaxph ymm2 {k7}, ymm3, ymm4, 123
-// CHECK: vminmaxph ymm2 {k7} {z}, ymm3, ymm4, {sae}, 123
-// CHECK: encoding: [0x62,0xf3,0x60,0x9f,0x52,0xd4,0x7b]
- vminmaxph ymm2 {k7} {z}, ymm3, ymm4, {sae}, 123
-
// CHECK: vminmaxph ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456], 123
// CHECK: encoding: [0x62,0xf3,0x64,0x28,0x52,0x94,0xf4,0x00,0x00,0x00,0x10,0x7b]
vminmaxph ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456], 123
@@ -372,18 +356,10 @@
// CHECK: encoding: [0x62,0xf3,0x65,0x28,0x52,0xd4,0x7b]
vminmaxps ymm2, ymm3, ymm4, 123
-// CHECK: vminmaxps ymm2, ymm3, ymm4, {sae}, 123
-// CHECK: encoding: [0x62,0xf3,0x61,0x18,0x52,0xd4,0x7b]
- vminmaxps ymm2, ymm3, ymm4, {sae}, 123
-
// CHECK: vminmaxps ymm2 {k7}, ymm3, ymm4, 123
// CHECK: encoding: [0x62,0xf3,0x65,0x2f,0x52,0xd4,0x7b]
vminmaxps ymm2 {k7}, ymm3, ymm4, 123
-// CHECK: vminmaxps ymm2 {k7} {z}, ymm3, ymm4, {sae}, 123
-// CHECK: encoding: [0x62,0xf3,0x61,0x9f,0x52,0xd4,0x7b]
- vminmaxps ymm2 {k7} {z}, ymm3, ymm4, {sae}, 123
-
// CHECK: vminmaxps ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456], 123
// CHECK: encoding: [0x62,0xf3,0x65,0x28,0x52,0x94,0xf4,0x00,0x00,0x00,0x10,0x7b]
vminmaxps ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456], 123
diff --git a/llvm/test/MC/X86/avx10.2minmax-64-att.s b/llvm/test/MC/X86/avx10.2minmax-64-att.s
index ad237d1fb2596..00d9f348ddbe7 100644
--- a/llvm/test/MC/X86/avx10.2minmax-64-att.s
+++ b/llvm/test/MC/X86/avx10.2minmax-64-att.s
@@ -140,18 +140,10 @@
// CHECK: encoding: [0x62,0x83,0xc5,0x20,0x52,0xf0,0x7b]
vminmaxpd $123, %ymm24, %ymm23, %ymm22
-// CHECK: vminmaxpd $123, {sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x83,0xc1,0x10,0x52,0xf0,0x7b]
- vminmaxpd $123, {sae}, %ymm24, %ymm23, %ymm22
-
// CHECK: vminmaxpd $123, %ymm24, %ymm23, %ymm22 {%k7}
// CHECK: encoding: [0x62,0x83,0xc5,0x27,0x52,0xf0,0x7b]
vminmaxpd $123, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: vminmaxpd $123, {sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x83,0xc1,0x97,0x52,0xf0,0x7b]
- vminmaxpd $123, {sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
// CHECK: vminmaxpd $123, 268435456(%rbp,%r14,8), %ymm23, %ymm22
// CHECK: encoding: [0x62,0xa3,0xc5,0x20,0x52,0xb4,0xf5,0x00,0x00,0x00,0x10,0x7b]
vminmaxpd $123, 268435456(%rbp,%r14,8), %ymm23, %ymm22
@@ -256,18 +248,10 @@
// CHECK: encoding: [0x62,0x83,0x44,0x20,0x52,0xf0,0x7b]
vminmaxph $123, %ymm24, %ymm23, %ymm22
-// CHECK: vminmaxph $123, {sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x83,0x40,0x10,0x52,0xf0,0x7b]
- vminmaxph $123, {sae}, %ymm24, %ymm23, %ymm22
-
// CHECK: vminmaxph $123, %ymm24, %ymm23, %ymm22 {%k7}
// CHECK: encoding: [0x62,0x83,0x44,0x27,0x52,0xf0,0x7b]
vminmaxph $123, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: vminmaxph $123, {sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x83,0x40,0x97,0x52,0xf0,0x7b]
- vminmaxph $123, {sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
// CHECK: vminmaxph $123, 268435456(%rbp,%r14,8), %ymm23, %ymm22
// CHECK: encoding: [0x62,0xa3,0x44,0x20,0x52,0xb4,0xf5,0x00,0x00,0x00,0x10,0x7b]
vminmaxph $123, 268435456(%rbp,%r14,8), %ymm23, %ymm22
@@ -372,18 +356,10 @@
// CHECK: encoding: [0x62,0x83,0x45,0x20,0x52,0xf0,0x7b]
vminmaxps $123, %ymm24, %ymm23, %ymm22
-// CHECK: vminmaxps $123, {sae}, %ymm24, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0x83,0x41,0x10,0x52,0xf0,0x7b]
- vminmaxps $123, {sae}, %ymm24, %ymm23, %ymm22
-
// CHECK: vminmaxps $123, %ymm24, %ymm23, %ymm22 {%k7}
// CHECK: encoding: [0x62,0x83,0x45,0x27,0x52,0xf0,0x7b]
vminmaxps $123, %ymm24, %ymm23, %ymm22 {%k7}
-// CHECK: vminmaxps $123, {sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0x83,0x41,0x97,0x52,0xf0,0x7b]
- vminmaxps $123, {sae}, %ymm24, %ymm23, %ymm22 {%k7} {z}
-
// CHECK: vminmaxps $123, 268435456(%rbp,%r14,8), %ymm23, %ymm22
// CHECK: encoding: [0x62,0xa3,0x45,0x20,0x52,0xb4,0xf5,0x00,0x00,0x00,0x10,0x7b]
vminmaxps $123, 268435456(%rbp,%r14,8), %ymm23, %ymm22
diff --git a/llvm/test/MC/X86/avx10.2minmax-64-intel.s b/llvm/test/MC/X86/avx10.2minmax-64-intel.s
index 81c59332fac84..5f189aa3d7787 100644
--- a/llvm/test/MC/X86/avx10.2minmax-64-intel.s
+++ b/llvm/test/MC/X86/avx10.2minmax-64-intel.s
@@ -140,18 +140,10 @@
// CHECK: encoding: [0x62,0x83,0xc5,0x20,0x52,0xf0,0x7b]
vminmaxpd ymm22, ymm23, ymm24, 123
-// CHECK: vminmaxpd ymm22, ymm23, ymm24, {sae}, 123
-// CHECK: encoding: [0x62,0x83,0xc1,0x10,0x52,0xf0,0x7b]
- vminmaxpd ymm22, ymm23, ymm24, {sae}, 123
-
// CHECK: vminmaxpd ymm22 {k7}, ymm23, ymm24, 123
// CHECK: encoding: [0x62,0x83,0xc5,0x27,0x52,0xf0,0x7b]
vminmaxpd ymm22 {k7}, ymm23, ymm24, 123
-// CHECK: vminmaxpd ymm22 {k7} {z}, ymm23, ymm24, {sae}, 123
-// CHECK: encoding: [0x62,0x83,0xc1,0x97,0x52,0xf0,0x7b]
- vminmaxpd ymm22 {k7} {z}, ymm23, ymm24, {sae}, 123
-
// CHECK: vminmaxpd ymm22, ymm23, ymmword ptr [rbp + 8*r14 + 268435456], 123
// CHECK: encoding: [0x62,0xa3,0xc5,0x20,0x52,0xb4,0xf5,0x00,0x00,0x00,0x10,0x7b]
vminmaxpd ymm22, ymm23, ymmword ptr [rbp + 8*r14 + 268435456], 123
@@ -256,18 +248,10 @@
// CHECK: encoding: [0x62,0x83,0x44,0x20,0x52,0xf0,0x7b]
vminmaxph ymm22, ymm23, ymm24, 123
-// CHECK: vminmaxph ymm22, ymm23, ymm24, {sae}, 123
-// CHECK: encoding: [0x62,0x83,0x40,0x10,0x52,0xf0,0x7b]
- vminmaxph ymm22, ymm23, ymm24, {sae}, 123
-
// CHECK: vminmaxph ymm22 {k7}, ymm23, ymm24, 123
// CHECK: encoding: [0x62,0x83,0x44,0x27,0x52,0xf0,0x7b]
vminmaxph ymm22 {k7}, ymm23, ymm24, 123
-// CHECK: vminmaxph ymm22 {k7} {z}, ymm23, ymm24, {sae}, 123
-// CHECK: encoding: [0x62,0x83,0x40,0x97,0x52,0xf0,0x7b]
- vminmaxph ymm22 {k7} {z}, ymm23, ymm24, {sae}, 123
-
// CHECK: vminmaxph ymm22, ymm23, ymmword ptr [rbp + 8*r14 + 268435456], 123
// CHECK: encoding: [0x62,0xa3,0x44,0x20,0x52,0xb4,0xf5,0x00,0x00,0x00,0x10,0x7b]
vminmaxph ymm22, ymm23, ymmword ptr [rbp + 8*r14 + 268435456], 123
@@ -372,18 +356,10 @@
// CHECK: encoding: [0x62,0x83,0x45,0x20,0x52,0xf0,0x7b]
vminmaxps ymm22, ymm23, ymm24, 123
-// CHECK: vminmaxps ymm22, ymm23, ymm24, {sae}, 123
-// CHECK: encoding: [0x62,0x83,0x41,0x10,0x52,0xf0,0x7b]
- vminmaxps ymm22, ymm23, ymm24, {sae}, 123
-
// CHECK: vminmaxps ymm22 {k7}, ymm23, ymm24, 123
// CHECK: encoding: [0x62,0x83,0x45,0x27,0x52,0xf0,0x7b]
vminmaxps ymm22 {k7}, ymm23, ymm24, 123
-// CHECK: vminmaxps ymm22 {k7} {z}, ymm23, ymm24, {sae}, 123
-// CHECK: encoding: [0x62,0x83,0x41,0x97,0x52,0xf0,0x7b]
- vminmaxps ymm22 {k7} {z}, ymm23, ymm24, {sae}, 123
-
// CHECK: vminmaxps ymm22, ymm23, ymmword ptr [rbp + 8*r14 + 268435456], 123
// CHECK: encoding: [0x62,0xa3,0x45,0x20,0x52,0xb4,0xf5,0x00,0x00,0x00,0x10,0x7b]
vminmaxps ymm22, ymm23, ymmword ptr [rbp + 8*r14 + 268435456], 123
>From 3757a760ed57e1e548315459a97a027efcf06aed Mon Sep 17 00:00:00 2001
From: Phoebe Wang <phoebe.wang at intel.com>
Date: Fri, 21 Mar 2025 18:10:39 +0100
Subject: [PATCH 5/6] [X86][AVX10.2] Remove YMM rounding from VCVTTP.*QS
(#132414)
Ref: https://cdrdv2.intel.com/v1/dl/getContent/784343
---
clang/include/clang/Basic/BuiltinsX86.td | 16 +-
clang/lib/Headers/avx10_2satcvtdsintrin.h | 220 ++++--------------
clang/lib/Sema/SemaX86.cpp | 8 -
.../X86/avx10_2satcvtds-builtins-errors.c | 57 -----
.../X86/avx10_2satcvtds-builtins-x64.c | 96 +-------
.../CodeGen/X86/avx10_2satcvtds-builtins.c | 103 ++------
llvm/include/llvm/IR/IntrinsicsX86.td | 48 ++--
llvm/lib/Target/X86/X86InstrAVX10.td | 5 -
llvm/lib/Target/X86/X86IntrinsicsInfo.h | 32 +--
.../CodeGen/X86/avx10_2satcvtds-intrinsics.ll | 76 +++---
.../Disassembler/X86/avx10.2-satcvtds-32.txt | 48 ----
.../Disassembler/X86/avx10.2-satcvtds-64.txt | 48 ----
llvm/test/MC/X86/avx10_2satcvtds-32-att.s | 48 ----
llvm/test/MC/X86/avx10_2satcvtds-32-intel.s | 64 -----
llvm/test/MC/X86/avx10_2satcvtds-64-att.s | 48 ----
llvm/test/MC/X86/avx10_2satcvtds-64-intel.s | 64 -----
16 files changed, 160 insertions(+), 821 deletions(-)
delete mode 100644 clang/test/CodeGen/X86/avx10_2satcvtds-builtins-errors.c
diff --git a/clang/include/clang/Basic/BuiltinsX86.td b/clang/include/clang/Basic/BuiltinsX86.td
index 594da122a7ed6..5ba92279bb766 100644
--- a/clang/include/clang/Basic/BuiltinsX86.td
+++ b/clang/include/clang/Basic/BuiltinsX86.td
@@ -4618,7 +4618,7 @@ let Features = "avx10.2-256", Attributes = [NoThrow, RequiredVectorWidth<128>] i
}
let Features = "avx10.2-256", Attributes = [NoThrow, RequiredVectorWidth<256>] in {
- def vcvttpd2dqs256_round_mask : X86Builtin<"_Vector<4, int>(_Vector<4, double>, _Vector<4, int>, unsigned char, _Constant int)">;
+ def vcvttpd2dqs256_mask : X86Builtin<"_Vector<4, int>(_Vector<4, double>, _Vector<4, int>, unsigned char)">;
}
let Features = "avx10.2-512", Attributes = [NoThrow, RequiredVectorWidth<512>] in {
@@ -4630,7 +4630,7 @@ let Features = "avx10.2-256", Attributes = [NoThrow, RequiredVectorWidth<128>] i
}
let Features = "avx10.2-256", Attributes = [NoThrow, RequiredVectorWidth<256>] in {
- def vcvttpd2udqs256_round_mask : X86Builtin<"_Vector<4, int>(_Vector<4, double>, _Vector<4, int>, unsigned char, _Constant int)">;
+ def vcvttpd2udqs256_mask : X86Builtin<"_Vector<4, int>(_Vector<4, double>, _Vector<4, int>, unsigned char)">;
}
let Features = "avx10.2-512", Attributes = [NoThrow, RequiredVectorWidth<512>] in {
@@ -4642,7 +4642,7 @@ let Features = "avx10.2-256", Attributes = [NoThrow, RequiredVectorWidth<128>] i
}
let Features = "avx10.2-256", Attributes = [NoThrow, RequiredVectorWidth<256>] in {
- def vcvttpd2qqs256_round_mask : X86Builtin<"_Vector<4, long long int>(_Vector<4, double>, _Vector<4, long long int>, unsigned char, _Constant int)">;
+ def vcvttpd2qqs256_mask : X86Builtin<"_Vector<4, long long int>(_Vector<4, double>, _Vector<4, long long int>, unsigned char)">;
}
let Features = "avx10.2-512", Attributes = [NoThrow, RequiredVectorWidth<512>] in {
@@ -4654,7 +4654,7 @@ let Features = "avx10.2-256", Attributes = [NoThrow, RequiredVectorWidth<128>] i
}
let Features = "avx10.2-256", Attributes = [NoThrow, RequiredVectorWidth<256>] in {
- def vcvttpd2uqqs256_round_mask : X86Builtin<"_Vector<4, long long int>(_Vector<4, double>, _Vector<4, long long int>, unsigned char, _Constant int)">;
+ def vcvttpd2uqqs256_mask : X86Builtin<"_Vector<4, long long int>(_Vector<4, double>, _Vector<4, long long int>, unsigned char)">;
}
let Features = "avx10.2-512", Attributes = [NoThrow, RequiredVectorWidth<512>] in {
@@ -4666,7 +4666,7 @@ let Features = "avx10.2-256", Attributes = [NoThrow, RequiredVectorWidth<128>] i
}
let Features = "avx10.2-256", Attributes = [NoThrow, RequiredVectorWidth<256>] in {
- def vcvttps2dqs256_round_mask : X86Builtin<"_Vector<8, int>(_Vector<8, float>, _Vector<8, int>, unsigned char, _Constant int)">;
+ def vcvttps2dqs256_mask : X86Builtin<"_Vector<8, int>(_Vector<8, float>, _Vector<8, int>, unsigned char)">;
}
let Features = "avx10.2-512", Attributes = [NoThrow, RequiredVectorWidth<512>] in {
@@ -4678,7 +4678,7 @@ let Features = "avx10.2-256", Attributes = [NoThrow, RequiredVectorWidth<128>] i
}
let Features = "avx10.2-256", Attributes = [NoThrow, RequiredVectorWidth<256>] in {
- def vcvttps2udqs256_round_mask : X86Builtin<"_Vector<8, int>(_Vector<8, float>, _Vector<8, int>, unsigned char, _Constant int)">;
+ def vcvttps2udqs256_mask : X86Builtin<"_Vector<8, int>(_Vector<8, float>, _Vector<8, int>, unsigned char)">;
}
let Features = "avx10.2-512", Attributes = [NoThrow, RequiredVectorWidth<512>] in {
@@ -4690,7 +4690,7 @@ let Features = "avx10.2-256", Attributes = [NoThrow, RequiredVectorWidth<128>] i
}
let Features = "avx10.2-256", Attributes = [NoThrow, RequiredVectorWidth<256>] in {
- def vcvttps2qqs256_round_mask : X86Builtin<"_Vector<4, long long int>(_Vector<4, float>, _Vector<4, long long int>, unsigned char, _Constant int)">;
+ def vcvttps2qqs256_mask : X86Builtin<"_Vector<4, long long int>(_Vector<4, float>, _Vector<4, long long int>, unsigned char)">;
}
let Features = "avx10.2-512", Attributes = [NoThrow, RequiredVectorWidth<512>] in {
@@ -4702,7 +4702,7 @@ let Features = "avx10.2-256", Attributes = [NoThrow, RequiredVectorWidth<128>] i
}
let Features = "avx10.2-256", Attributes = [NoThrow, RequiredVectorWidth<256>] in {
- def vcvttps2uqqs256_round_mask : X86Builtin<"_Vector<4, long long int>(_Vector<4, float>, _Vector<4, long long int>, unsigned char, _Constant int)">;
+ def vcvttps2uqqs256_mask : X86Builtin<"_Vector<4, long long int>(_Vector<4, float>, _Vector<4, long long int>, unsigned char)">;
}
let Features = "avx10.2-512", Attributes = [NoThrow, RequiredVectorWidth<512>] in {
diff --git a/clang/lib/Headers/avx10_2satcvtdsintrin.h b/clang/lib/Headers/avx10_2satcvtdsintrin.h
index 9dbfed42667ef..cc840368c308f 100644
--- a/clang/lib/Headers/avx10_2satcvtdsintrin.h
+++ b/clang/lib/Headers/avx10_2satcvtdsintrin.h
@@ -92,37 +92,22 @@ _mm_maskz_cvtts_pd_epi32(__mmask16 __U, __m128d __A) {
// 256 Bit : Double -> int
static __inline__ __m128i __DEFAULT_FN_ATTRS256
_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));
+ return ((__m128i)__builtin_ia32_vcvttpd2dqs256_mask(
+ (__v4df)__A, (__v4si)_mm_undefined_si128(), (__mmask8)-1));
}
static __inline__ __m128i __DEFAULT_FN_ATTRS256
_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));
+ return ((__m128i)__builtin_ia32_vcvttpd2dqs256_mask((__v4df)__A, (__v4si)__W,
+ __U));
}
static __inline__ __m128i __DEFAULT_FN_ATTRS256
_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));
+ return ((__m128i)__builtin_ia32_vcvttpd2dqs256_mask(
+ (__v4df)__A, (__v4si)_mm_setzero_si128(), __U));
}
-#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_cvtts_pd_epu32(__m128d __A) {
@@ -145,37 +130,22 @@ _mm_maskz_cvtts_pd_epu32(__mmask8 __U, __m128d __A) {
// 256 Bit : Double -> uint
static __inline__ __m128i __DEFAULT_FN_ATTRS256
_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));
+ return ((__m128i)__builtin_ia32_vcvttpd2udqs256_mask(
+ (__v4df)__A, (__v4si)_mm_undefined_si128(), (__mmask8)-1));
}
static __inline__ __m128i __DEFAULT_FN_ATTRS256
_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));
+ return ((__m128i)__builtin_ia32_vcvttpd2udqs256_mask((__v4df)__A, (__v4si)__W,
+ __U));
}
static __inline__ __m128i __DEFAULT_FN_ATTRS256
_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));
+ return ((__m128i)__builtin_ia32_vcvttpd2udqs256_mask(
+ (__v4df)__A, (__v4si)_mm_setzero_si128(), __U));
}
-#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_cvtts_pd_epi64(__m128d __A) {
@@ -198,37 +168,22 @@ _mm_maskz_cvtts_pd_epi64(__mmask8 __U, __m128d __A) {
// 256 Bit : Double -> long
static __inline__ __m256i __DEFAULT_FN_ATTRS256
_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));
+ return ((__m256i)__builtin_ia32_vcvttpd2qqs256_mask(
+ (__v4df)__A, (__v4di)_mm256_undefined_si256(), (__mmask8)-1));
}
static __inline__ __m256i __DEFAULT_FN_ATTRS256
_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));
+ return ((__m256i)__builtin_ia32_vcvttpd2qqs256_mask((__v4df)__A, (__v4di)__W,
+ __U));
}
static __inline__ __m256i __DEFAULT_FN_ATTRS256
_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));
+ return ((__m256i)__builtin_ia32_vcvttpd2qqs256_mask(
+ (__v4df)__A, (__v4di)_mm256_setzero_si256(), __U));
}
-#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_cvtts_pd_epu64(__m128d __A) {
@@ -252,37 +207,22 @@ _mm_maskz_cvtts_pd_epu64(__mmask8 __U, __m128d __A) {
static __inline__ __m256i __DEFAULT_FN_ATTRS256
_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));
+ return ((__m256i)__builtin_ia32_vcvttpd2uqqs256_mask(
+ (__v4df)__A, (__v4di)_mm256_undefined_si256(), (__mmask8)-1));
}
static __inline__ __m256i __DEFAULT_FN_ATTRS256
_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));
+ return ((__m256i)__builtin_ia32_vcvttpd2uqqs256_mask((__v4df)__A, (__v4di)__W,
+ __U));
}
static __inline__ __m256i __DEFAULT_FN_ATTRS256
_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));
+ return ((__m256i)__builtin_ia32_vcvttpd2uqqs256_mask(
+ (__v4df)__A, (__v4di)_mm256_setzero_si256(), __U));
}
-#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_cvtts_ps_epi32(__m128 __A) {
return ((__m128i)__builtin_ia32_vcvttps2dqs128_mask(
@@ -304,38 +244,22 @@ _mm_maskz_cvtts_ps_epi32(__mmask8 __U, __m128 __A) {
// 256 Bit : float -> int
static __inline__ __m256i __DEFAULT_FN_ATTRS256
_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));
+ return ((__m256i)__builtin_ia32_vcvttps2dqs256_mask(
+ (__v8sf)__A, (__v8si)_mm256_undefined_si256(), (__mmask8)-1));
}
static __inline__ __m256i __DEFAULT_FN_ATTRS256
_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));
+ return ((__m256i)__builtin_ia32_vcvttps2dqs256_mask((__v8sf)__A, (__v8si)__W,
+ __U));
}
static __inline__ __m256i __DEFAULT_FN_ATTRS256
_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));
+ return ((__m256i)__builtin_ia32_vcvttps2dqs256_mask(
+ (__v8sf)__A, (__v8si)_mm256_setzero_si256(), __U));
}
-#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_cvtts_ps_epu32(__m128 __A) {
return ((__m128i)__builtin_ia32_vcvttps2udqs128_mask(
@@ -358,38 +282,22 @@ _mm_maskz_cvtts_ps_epu32(__mmask8 __U, __m128 __A) {
static __inline__ __m256i __DEFAULT_FN_ATTRS256
_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));
+ return ((__m256i)__builtin_ia32_vcvttps2udqs256_mask(
+ (__v8sf)__A, (__v8si)_mm256_undefined_si256(), (__mmask8)-1));
}
static __inline__ __m256i __DEFAULT_FN_ATTRS256
_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));
+ return ((__m256i)__builtin_ia32_vcvttps2udqs256_mask((__v8sf)__A, (__v8si)__W,
+ __U));
}
static __inline__ __m256i __DEFAULT_FN_ATTRS256
_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));
+ return ((__m256i)__builtin_ia32_vcvttps2udqs256_mask(
+ (__v8sf)__A, (__v8si)_mm256_setzero_si256(), __U));
}
-#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_cvtts_ps_epi64(__m128 __A) {
return ((__m128i)__builtin_ia32_vcvttps2qqs128_mask(
@@ -411,37 +319,21 @@ _mm_maskz_cvtts_ps_epi64(__mmask8 __U, __m128 __A) {
static __inline__ __m256i __DEFAULT_FN_ATTRS256
_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));
+ return ((__m256i)__builtin_ia32_vcvttps2qqs256_mask(
+ (__v4sf)__A, (__v4di)_mm256_undefined_si256(), (__mmask8)-1));
}
static __inline__ __m256i __DEFAULT_FN_ATTRS256
_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));
+ return ((__m256i)__builtin_ia32_vcvttps2qqs256_mask((__v4sf)__A, (__v4di)__W,
+ __U));
}
static __inline__ __m256i __DEFAULT_FN_ATTRS256
_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));
+ return ((__m256i)__builtin_ia32_vcvttps2qqs256_mask(
+ (__v4sf)__A, (__v4di)_mm256_setzero_si256(), __U));
}
-#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_cvtts_ps_epu64(__m128 __A) {
return ((__m128i)__builtin_ia32_vcvttps2uqqs128_mask(
@@ -463,38 +355,22 @@ _mm_maskz_cvtts_ps_epu64(__mmask8 __U, __m128 __A) {
static __inline__ __m256i __DEFAULT_FN_ATTRS256
_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));
+ return ((__m256i)__builtin_ia32_vcvttps2uqqs256_mask(
+ (__v4sf)__A, (__v4di)_mm256_undefined_si256(), (__mmask8)-1));
}
static __inline__ __m256i __DEFAULT_FN_ATTRS256
_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));
+ return ((__m256i)__builtin_ia32_vcvttps2uqqs256_mask((__v4sf)__A, (__v4di)__W,
+ __U));
}
static __inline__ __m256i __DEFAULT_FN_ATTRS256
_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));
+ return ((__m256i)__builtin_ia32_vcvttps2uqqs256_mask(
+ (__v4sf)__A, (__v4di)_mm256_setzero_si256(), __U));
}
-#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/Sema/SemaX86.cpp b/clang/lib/Sema/SemaX86.cpp
index 582718de52f81..95586f3cfdcc6 100644
--- a/clang/lib/Sema/SemaX86.cpp
+++ b/clang/lib/Sema/SemaX86.cpp
@@ -315,21 +315,13 @@ bool SemaX86::CheckBuiltinRoundingOrSAE(unsigned BuiltinID, CallExpr *TheCall) {
ArgNum = 4;
HasRC = true;
break;
- case X86::BI__builtin_ia32_vcvttpd2dqs256_round_mask:
case X86::BI__builtin_ia32_vcvttpd2dqs512_round_mask:
- case X86::BI__builtin_ia32_vcvttpd2udqs256_round_mask:
case X86::BI__builtin_ia32_vcvttpd2udqs512_round_mask:
- case X86::BI__builtin_ia32_vcvttpd2qqs256_round_mask:
case X86::BI__builtin_ia32_vcvttpd2qqs512_round_mask:
- case X86::BI__builtin_ia32_vcvttpd2uqqs256_round_mask:
case X86::BI__builtin_ia32_vcvttpd2uqqs512_round_mask:
- case X86::BI__builtin_ia32_vcvttps2dqs256_round_mask:
case X86::BI__builtin_ia32_vcvttps2dqs512_round_mask:
- case X86::BI__builtin_ia32_vcvttps2udqs256_round_mask:
case X86::BI__builtin_ia32_vcvttps2udqs512_round_mask:
- case X86::BI__builtin_ia32_vcvttps2qqs256_round_mask:
case X86::BI__builtin_ia32_vcvttps2qqs512_round_mask:
- case X86::BI__builtin_ia32_vcvttps2uqqs256_round_mask:
case X86::BI__builtin_ia32_vcvttps2uqqs512_round_mask:
ArgNum = 3;
break;
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 <immintrin.h>
-#include <stddef.h>
-
-__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 73eeb8484efb8..070065228e5a5 100644
--- a/clang/test/CodeGen/X86/avx10_2satcvtds-builtins-x64.c
+++ b/clang/test/CodeGen/X86/avx10_2satcvtds-builtins-x64.c
@@ -82,76 +82,40 @@ __m128i test_mm_maskz_cvtts_pd_epu64(__mmask8 U,__m128d A){
// 256 bit
__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>
+// CHECK: @llvm.x86.avx10.mask.vcvttpd2qqs.256(<4 x double>
return _mm256_cvtts_pd_epi64(A);
}
__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>
+// CHECK: @llvm.x86.avx10.mask.vcvttpd2qqs.256(<4 x double>
return _mm256_mask_cvtts_pd_epi64(W,U, A);
}
__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>
+// CHECK: @llvm.x86.avx10.mask.vcvttpd2qqs.256(<4 x double>
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_cvtts_pd_epu64(__m256d A){
// CHECK-LABEL: @test_mm256_cvtts_pd_epu64
-// CHECK: @llvm.x86.avx10.mask.vcvttpd2uqqs.round.256(<4 x double>
+// CHECK: @llvm.x86.avx10.mask.vcvttpd2uqqs.256(<4 x double>
return _mm256_cvtts_pd_epu64(A);
}
__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>
+// CHECK: @llvm.x86.avx10.mask.vcvttpd2uqqs.256(<4 x double>
return _mm256_mask_cvtts_pd_epu64(W,U, A);
}
__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>
+// CHECK: @llvm.x86.avx10.mask.vcvttpd2uqqs.256(<4 x double>
return _mm256_maskz_cvtts_pd_epu64(U, A);
}
-__m256i test_mm256_cvtts_roundpd_epu64(__m256d A){
-// CHECK-LABEL: @test_mm256_cvtts_roundpd_epu64
-// CHECK: @llvm.x86.avx10.mask.vcvttpd2uqqs.round.256(<4 x double>
- return _mm256_cvtts_roundpd_epu64(A,_MM_FROUND_NEARBYINT );
-}
-
-__m256i test_mm256_mask_cvtts_roundpd_epu64(__m256i W,__mmask8 U, __m256d A){
-// CHECK-LABEL: @test_mm256_mask_cvtts_roundpd_epu64
-// CHECK: @llvm.x86.avx10.mask.vcvttpd2uqqs.round.256(<4 x double>
- return _mm256_mask_cvtts_roundpd_epu64(W,U,A,_MM_FROUND_NEARBYINT );
-}
-
-__m256i test_mm256_maskz_cvtts_roundpd_epu64(__mmask8 U, __m256d A){
-// CHECK-LABEL: @test_mm256_maskz_cvtts_roundpd_epu64
-// CHECK: @llvm.x86.avx10.mask.vcvttpd2uqqs.round.256(<4 x double>
- return _mm256_maskz_cvtts_roundpd_epu64(U,A,_MM_FROUND_NEARBYINT );
-}
-
// 128 bit
__m128i test_mm_cvtts_ps_epi64(__m128 A){
// CHECK-LABEL: @test_mm_cvtts_ps_epi64
@@ -191,72 +155,36 @@ __m128i test_mm_maskz_cvtts_ps_epu64(__mmask8 U,__m128 A){
__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>
+// CHECK: @llvm.x86.avx10.mask.vcvttps2qqs.256(<4 x float>
return _mm256_cvtts_ps_epi64(A);
}
__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>
+// CHECK: @llvm.x86.avx10.mask.vcvttps2qqs.256(<4 x float>
return _mm256_mask_cvtts_ps_epi64(W,U, A);
}
__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>
+// CHECK: @llvm.x86.avx10.mask.vcvttps2qqs.256(<4 x float>
return _mm256_maskz_cvtts_ps_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_cvtts_ps_epu64(__m128 A){
// CHECK-LABEL: @test_mm256_cvtts_ps_epu64
-// CHECK: @llvm.x86.avx10.mask.vcvttps2uqqs.round.256(<4 x float>
+// CHECK: @llvm.x86.avx10.mask.vcvttps2uqqs.256(<4 x float>
return _mm256_cvtts_ps_epu64(A);
}
__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>
+// CHECK: @llvm.x86.avx10.mask.vcvttps2uqqs.256(<4 x float>
return _mm256_mask_cvtts_ps_epu64(W,U, A);
}
__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>
+// CHECK: @llvm.x86.avx10.mask.vcvttps2uqqs.256(<4 x float>
return _mm256_maskz_cvtts_ps_epu64(U, A);
}
-
-__m256i test_mm256_cvtts_roundps_epu64(__m128 A){
-// CHECK-LABEL: @test_mm256_cvtts_roundps_epu64
-// CHECK: @llvm.x86.avx10.mask.vcvttps2uqqs.round.256(<4 x float>
- return _mm256_cvtts_roundps_epu64(A, _MM_FROUND_NEARBYINT );
-}
-
-__m256i test_mm256_mask_cvtts_roundps_epu64(__m256i W,__mmask8 U, __m128 A){
-// CHECK-LABEL: @test_mm256_mask_cvtts_roundps_epu64
-// CHECK: @llvm.x86.avx10.mask.vcvttps2uqqs.round.256(<4 x float>
- return _mm256_mask_cvtts_roundps_epu64(W,U,A,_MM_FROUND_NEARBYINT );
-}
-
-__m256i test_mm256_maskz_cvtts_roundps_epu64(__mmask8 U, __m128 A){
-// CHECK-LABEL: @test_mm256_maskz_cvtts_roundps_epu64
-// CHECK: @llvm.x86.avx10.mask.vcvttps2uqqs.round.256(<4 x float>
- return _mm256_maskz_cvtts_roundps_epu64(U,A,_MM_FROUND_NEARBYINT );
-}
diff --git a/clang/test/CodeGen/X86/avx10_2satcvtds-builtins.c b/clang/test/CodeGen/X86/avx10_2satcvtds-builtins.c
index e23a9b8d5cb3c..86e9df44c0669 100644
--- a/clang/test/CodeGen/X86/avx10_2satcvtds-builtins.c
+++ b/clang/test/CodeGen/X86/avx10_2satcvtds-builtins.c
@@ -1,5 +1,5 @@
-// 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 <immintrin.h>
#include <stddef.h>
@@ -24,40 +24,22 @@ __m128i test_mm_maskz_cvtts_pd_epi32( __mmask8 U, __m128d A){
__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>
+// CHECK: @llvm.x86.avx10.mask.vcvttpd2dqs.256(<4 x double>
return _mm256_cvtts_pd_epi32(A);
}
__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>
+// CHECK: @llvm.x86.avx10.mask.vcvttpd2dqs.256(<4 x double>
return _mm256_mask_cvtts_pd_epi32(W,U,A);
}
__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>
+// CHECK: @llvm.x86.avx10.mask.vcvttpd2dqs.256(<4 x double>
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_cvtts_pd_epu32(__m128d A){
// CHECK-LABEL: @test_mm_cvtts_pd_epu32
// CHECK: @llvm.x86.avx10.mask.vcvttpd2udqs.128(<2 x double>
@@ -79,40 +61,22 @@ __m128i test_mm_maskz_cvtts_pd_epu32( __mmask8 U, __m128d A){
__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>
+// CHECK: @llvm.x86.avx10.mask.vcvttpd2udqs.256(<4 x double>
return _mm256_cvtts_pd_epu32(A);
}
__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>
+// CHECK: @llvm.x86.avx10.mask.vcvttpd2udqs.256(<4 x double>
return _mm256_mask_cvtts_pd_epu32(W,U,A);
}
__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>
+// CHECK: @llvm.x86.avx10.mask.vcvttpd2udqs.256(<4 x double>
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_cvtts_ps_epi32(__m128 A){
// CHECK-LABEL: @test_mm_cvtts_ps_epi32
// CHECK: @llvm.x86.avx10.mask.vcvttps2dqs.128(<4 x float>
@@ -133,40 +97,22 @@ __m128i test_mm_maskz_cvtts_ps_epi32( __mmask8 U, __m128 A){
__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>
+// CHECK: @llvm.x86.avx10.mask.vcvttps2dqs.256(<8 x float>
return _mm256_cvtts_ps_epi32(A);
}
__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>
+// CHECK: @llvm.x86.avx10.mask.vcvttps2dqs.256(<8 x float>
return _mm256_mask_cvtts_ps_epi32(W,U,A);
}
__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>
+// CHECK: @llvm.x86.avx10.mask.vcvttps2dqs.256(<8 x float>
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_cvtts_ps_epu32(__m128 A){
// CHECK-LABEL: @test_mm_cvtts_ps_epu32
// CHECK: @llvm.x86.avx10.mask.vcvttps2udqs.128(<4 x float>
@@ -187,39 +133,18 @@ __m128i test_mm_maskz_cvtts_ps_epu32( __mmask8 U, __m128 A){
__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>
+// CHECK: @llvm.x86.avx10.mask.vcvttps2udqs.256(<8 x float>
return _mm256_cvtts_ps_epu32(A);
}
__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>
+// CHECK: @llvm.x86.avx10.mask.vcvttps2udqs.256(<8 x float>
return _mm256_mask_cvtts_ps_epu32(W,U,A);
}
__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>
+// CHECK: @llvm.x86.avx10.mask.vcvttps2udqs.256(<8 x float>
return _mm256_maskz_cvtts_ps_epu32(U,A);
}
-
-__m256i test_mm256_cvtts_roundps_epu32(__m256 A){
-// CHECK-LABEL: @test_mm256_cvtts_roundps_epu32
-// CHECK: @llvm.x86.avx10.mask.vcvttps2udqs.round.256(<8 x float>
- return _mm256_cvtts_roundps_epu32(A, _MM_FROUND_NEARBYINT);
-}
-
-__m256i test_mm256_mask_cvtts_roundps_epu32(__m256i W,__mmask8 U, __m256 A){
-// CHECK-LABEL: @test_mm256_mask_cvtts_roundps_epu32
-// CHECK: @llvm.x86.avx10.mask.vcvttps2udqs.round.256(<8 x float>
- return _mm256_mask_cvtts_roundps_epu32(W,U,A,_MM_FROUND_NEARBYINT);
-}
-
-__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: {{.*}}
diff --git a/llvm/include/llvm/IR/IntrinsicsX86.td b/llvm/include/llvm/IR/IntrinsicsX86.td
index 3804ddcddf8ce..d7f917da826a1 100644
--- a/llvm/include/llvm/IR/IntrinsicsX86.td
+++ b/llvm/include/llvm/IR/IntrinsicsX86.td
@@ -5113,72 +5113,72 @@ let TargetPrefix = "x86" in {
def int_x86_avx10_mask_vcvttpd2dqs_128 : ClangBuiltin<"__builtin_ia32_vcvttpd2dqs128_mask">,
DefaultAttrsIntrinsic<[llvm_v4i32_ty], [llvm_v2f64_ty, llvm_v4i32_ty, llvm_i8_ty],
[IntrNoMem]>;
- def int_x86_avx10_mask_vcvttpd2dqs_round_256: ClangBuiltin<"__builtin_ia32_vcvttpd2dqs256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v4i32_ty], [llvm_v4f64_ty, llvm_v4i32_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
+ def int_x86_avx10_mask_vcvttpd2dqs_256: ClangBuiltin<"__builtin_ia32_vcvttpd2dqs256_mask">,
+ DefaultAttrsIntrinsic<[llvm_v4i32_ty], [llvm_v4f64_ty, llvm_v4i32_ty, llvm_i8_ty],
+ [IntrNoMem]>;
def int_x86_avx10_mask_vcvttpd2dqs_round_512 : ClangBuiltin<"__builtin_ia32_vcvttpd2dqs512_round_mask">,
DefaultAttrsIntrinsic<[llvm_v8i32_ty], [llvm_v8f64_ty, llvm_v8i32_ty, llvm_i8_ty, llvm_i32_ty],
[IntrNoMem, ImmArg<ArgIndex<3>>]>;
def int_x86_avx10_mask_vcvttpd2udqs_128 : ClangBuiltin<"__builtin_ia32_vcvttpd2udqs128_mask">,
DefaultAttrsIntrinsic<[llvm_v4i32_ty], [llvm_v2f64_ty,llvm_v4i32_ty, llvm_i8_ty],
[IntrNoMem]>;
- def int_x86_avx10_mask_vcvttpd2udqs_round_256: ClangBuiltin<"__builtin_ia32_vcvttpd2udqs256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v4i32_ty], [llvm_v4f64_ty, llvm_v4i32_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
+ def int_x86_avx10_mask_vcvttpd2udqs_256: ClangBuiltin<"__builtin_ia32_vcvttpd2udqs256_mask">,
+ DefaultAttrsIntrinsic<[llvm_v4i32_ty], [llvm_v4f64_ty, llvm_v4i32_ty, llvm_i8_ty],
+ [IntrNoMem]>;
def int_x86_avx10_mask_vcvttpd2udqs_round_512 : ClangBuiltin<"__builtin_ia32_vcvttpd2udqs512_round_mask">,
DefaultAttrsIntrinsic<[llvm_v8i32_ty], [llvm_v8f64_ty, llvm_v8i32_ty, llvm_i8_ty, llvm_i32_ty],
[IntrNoMem, ImmArg<ArgIndex<3>>]>;
def int_x86_avx10_mask_vcvttpd2qqs_128 : ClangBuiltin<"__builtin_ia32_vcvttpd2qqs128_mask">,
DefaultAttrsIntrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty,llvm_v2i64_ty, llvm_i8_ty],
[IntrNoMem]>;
- def int_x86_avx10_mask_vcvttpd2qqs_round_256: ClangBuiltin<"__builtin_ia32_vcvttpd2qqs256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v4i64_ty], [llvm_v4f64_ty, llvm_v4i64_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
+ def int_x86_avx10_mask_vcvttpd2qqs_256: ClangBuiltin<"__builtin_ia32_vcvttpd2qqs256_mask">,
+ DefaultAttrsIntrinsic<[llvm_v4i64_ty], [llvm_v4f64_ty, llvm_v4i64_ty, llvm_i8_ty],
+ [IntrNoMem]>;
def int_x86_avx10_mask_vcvttpd2qqs_round_512 : ClangBuiltin<"__builtin_ia32_vcvttpd2qqs512_round_mask">,
DefaultAttrsIntrinsic<[llvm_v8i64_ty], [llvm_v8f64_ty, llvm_v8i64_ty, llvm_i8_ty, llvm_i32_ty],
[IntrNoMem, ImmArg<ArgIndex<3>>]>;
def int_x86_avx10_mask_vcvttpd2uqqs_128 : ClangBuiltin<"__builtin_ia32_vcvttpd2uqqs128_mask">,
DefaultAttrsIntrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty,llvm_v2i64_ty, llvm_i8_ty],
[IntrNoMem]>;
- def int_x86_avx10_mask_vcvttpd2uqqs_round_256: ClangBuiltin<"__builtin_ia32_vcvttpd2uqqs256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v4i64_ty], [llvm_v4f64_ty, llvm_v4i64_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
+ def int_x86_avx10_mask_vcvttpd2uqqs_256: ClangBuiltin<"__builtin_ia32_vcvttpd2uqqs256_mask">,
+ DefaultAttrsIntrinsic<[llvm_v4i64_ty], [llvm_v4f64_ty, llvm_v4i64_ty, llvm_i8_ty],
+ [IntrNoMem]>;
def int_x86_avx10_mask_vcvttpd2uqqs_round_512 : ClangBuiltin<"__builtin_ia32_vcvttpd2uqqs512_round_mask">,
DefaultAttrsIntrinsic<[llvm_v8i64_ty], [llvm_v8f64_ty, llvm_v8i64_ty, llvm_i8_ty, llvm_i32_ty],
[IntrNoMem, ImmArg<ArgIndex<3>>]>;
def int_x86_avx10_mask_vcvttps2dqs_128 : ClangBuiltin<"__builtin_ia32_vcvttps2dqs128_mask">,
DefaultAttrsIntrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4i32_ty, llvm_i8_ty],
[IntrNoMem]>;
- def int_x86_avx10_mask_vcvttps2dqs_round_256: ClangBuiltin<"__builtin_ia32_vcvttps2dqs256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v8i32_ty], [llvm_v8f32_ty, llvm_v8i32_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
+ def int_x86_avx10_mask_vcvttps2dqs_256: ClangBuiltin<"__builtin_ia32_vcvttps2dqs256_mask">,
+ DefaultAttrsIntrinsic<[llvm_v8i32_ty], [llvm_v8f32_ty, llvm_v8i32_ty, llvm_i8_ty],
+ [IntrNoMem]>;
def int_x86_avx10_mask_vcvttps2dqs_round_512 : ClangBuiltin<"__builtin_ia32_vcvttps2dqs512_round_mask">,
DefaultAttrsIntrinsic<[llvm_v16i32_ty], [llvm_v16f32_ty, llvm_v16i32_ty, llvm_i16_ty, llvm_i32_ty],
[IntrNoMem, ImmArg<ArgIndex<3>>]>;
def int_x86_avx10_mask_vcvttps2udqs_128 : ClangBuiltin<"__builtin_ia32_vcvttps2udqs128_mask">,
DefaultAttrsIntrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4i32_ty, llvm_i8_ty],
[IntrNoMem]>;
- def int_x86_avx10_mask_vcvttps2udqs_round_256: ClangBuiltin<"__builtin_ia32_vcvttps2udqs256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v8i32_ty], [llvm_v8f32_ty, llvm_v8i32_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
+ def int_x86_avx10_mask_vcvttps2udqs_256: ClangBuiltin<"__builtin_ia32_vcvttps2udqs256_mask">,
+ DefaultAttrsIntrinsic<[llvm_v8i32_ty], [llvm_v8f32_ty, llvm_v8i32_ty, llvm_i8_ty],
+ [IntrNoMem]>;
def int_x86_avx10_mask_vcvttps2udqs_round_512 : ClangBuiltin<"__builtin_ia32_vcvttps2udqs512_round_mask">,
DefaultAttrsIntrinsic<[llvm_v16i32_ty], [llvm_v16f32_ty, llvm_v16i32_ty, llvm_i16_ty, llvm_i32_ty],
[IntrNoMem, ImmArg<ArgIndex<3>>]>;
def int_x86_avx10_mask_vcvttps2qqs_128 : ClangBuiltin<"__builtin_ia32_vcvttps2qqs128_mask">,
DefaultAttrsIntrinsic<[llvm_v2i64_ty], [llvm_v4f32_ty, llvm_v2i64_ty, llvm_i8_ty],
[IntrNoMem]>;
- def int_x86_avx10_mask_vcvttps2qqs_round_256: ClangBuiltin<"__builtin_ia32_vcvttps2qqs256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v4i64_ty], [llvm_v4f32_ty, llvm_v4i64_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
+ def int_x86_avx10_mask_vcvttps2qqs_256: ClangBuiltin<"__builtin_ia32_vcvttps2qqs256_mask">,
+ DefaultAttrsIntrinsic<[llvm_v4i64_ty], [llvm_v4f32_ty, llvm_v4i64_ty, llvm_i8_ty],
+ [IntrNoMem]>;
def int_x86_avx10_mask_vcvttps2qqs_round_512 : ClangBuiltin<"__builtin_ia32_vcvttps2qqs512_round_mask">,
DefaultAttrsIntrinsic<[llvm_v8i64_ty], [llvm_v8f32_ty, llvm_v8i64_ty, llvm_i8_ty, llvm_i32_ty],
[IntrNoMem, ImmArg<ArgIndex<3>>]>;
def int_x86_avx10_mask_vcvttps2uqqs_128 : ClangBuiltin<"__builtin_ia32_vcvttps2uqqs128_mask">,
DefaultAttrsIntrinsic<[llvm_v2i64_ty], [llvm_v4f32_ty,llvm_v2i64_ty, llvm_i8_ty],
[IntrNoMem]>;
- def int_x86_avx10_mask_vcvttps2uqqs_round_256: ClangBuiltin<"__builtin_ia32_vcvttps2uqqs256_round_mask">,
- DefaultAttrsIntrinsic<[llvm_v4i64_ty], [llvm_v4f32_ty, llvm_v4i64_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
+ def int_x86_avx10_mask_vcvttps2uqqs_256: ClangBuiltin<"__builtin_ia32_vcvttps2uqqs256_mask">,
+ DefaultAttrsIntrinsic<[llvm_v4i64_ty], [llvm_v4f32_ty, llvm_v4i64_ty, llvm_i8_ty],
+ [IntrNoMem]>;
def int_x86_avx10_mask_vcvttps2uqqs_round_512 : ClangBuiltin<"__builtin_ia32_vcvttps2uqqs512_round_mask">,
DefaultAttrsIntrinsic<[llvm_v8i64_ty], [llvm_v8f32_ty, llvm_v8i64_ty, llvm_i8_ty, llvm_i32_ty],
[IntrNoMem, ImmArg<ArgIndex<3>>]>;
diff --git a/llvm/lib/Target/X86/X86InstrAVX10.td b/llvm/lib/Target/X86/X86InstrAVX10.td
index 8489ead074bae..f720842bd487a 100644
--- a/llvm/lib/Target/X86/X86InstrAVX10.td
+++ b/llvm/lib/Target/X86/X86InstrAVX10.td
@@ -492,11 +492,6 @@ multiclass avx10_cvttps2dqs<bits<8> opc, string OpcodeStr, SDPatternOperator OpN
defm Z256 : avx512_vcvt_fp<opc, OpcodeStr, v8i32x_info, v8f32x_info, OpNode,
MaskOpNode, sched.YMM>, EVEX_V256;
}
-
- let Predicates = [HasAVX10_2], hasEVEX_U=1 in {
- defm Z256 : avx512_vcvt_fp_sae<opc, OpcodeStr, v8i32x_info, v8f32x_info,
- OpNodeSAE, sched.YMM>, EVEX_V256;
- }
}
defm VCVTTPD2DQS : avx10_cvttpd2dqs<0x6D, "vcvttpd2dqs", X86cvttp2sis,
diff --git a/llvm/lib/Target/X86/X86IntrinsicsInfo.h b/llvm/lib/Target/X86/X86IntrinsicsInfo.h
index 36a2dcbb55f21..b681d00fc075d 100644
--- a/llvm/lib/Target/X86/X86IntrinsicsInfo.h
+++ b/llvm/lib/Target/X86/X86IntrinsicsInfo.h
@@ -523,26 +523,26 @@ static const IntrinsicData IntrinsicsWithoutChain[] = {
X86ISD::CVTP2IUBS, X86ISD::CVTP2IUBS_RND),
X86_INTRINSIC_DATA(avx10_mask_vcvttpd2dqs_128, CVTPD2DQ_MASK,
X86ISD::CVTTP2SIS, X86ISD::MCVTTP2SIS),
- X86_INTRINSIC_DATA(avx10_mask_vcvttpd2dqs_round_256, INTR_TYPE_1OP_MASK,
- X86ISD::CVTTP2SIS, X86ISD::CVTTP2SIS_SAE),
+ X86_INTRINSIC_DATA(avx10_mask_vcvttpd2dqs_256, INTR_TYPE_1OP_MASK,
+ X86ISD::CVTTP2SIS, 0),
X86_INTRINSIC_DATA(avx10_mask_vcvttpd2dqs_round_512, INTR_TYPE_1OP_MASK,
X86ISD::CVTTP2SIS, X86ISD::CVTTP2SIS_SAE),
X86_INTRINSIC_DATA(avx10_mask_vcvttpd2qqs_128, INTR_TYPE_1OP_MASK,
X86ISD::CVTTP2SIS, 0),
- X86_INTRINSIC_DATA(avx10_mask_vcvttpd2qqs_round_256, INTR_TYPE_1OP_MASK,
- X86ISD::CVTTP2SIS, X86ISD::CVTTP2SIS_SAE),
+ X86_INTRINSIC_DATA(avx10_mask_vcvttpd2qqs_256, INTR_TYPE_1OP_MASK,
+ X86ISD::CVTTP2SIS, 0),
X86_INTRINSIC_DATA(avx10_mask_vcvttpd2qqs_round_512, INTR_TYPE_1OP_MASK,
X86ISD::CVTTP2SIS, X86ISD::CVTTP2SIS_SAE),
X86_INTRINSIC_DATA(avx10_mask_vcvttpd2udqs_128, CVTPD2DQ_MASK,
X86ISD::CVTTP2UIS, X86ISD::MCVTTP2SIS),
- X86_INTRINSIC_DATA(avx10_mask_vcvttpd2udqs_round_256, INTR_TYPE_1OP_MASK,
- X86ISD::CVTTP2UIS, X86ISD::CVTTP2UIS_SAE),
+ X86_INTRINSIC_DATA(avx10_mask_vcvttpd2udqs_256, INTR_TYPE_1OP_MASK,
+ X86ISD::CVTTP2UIS, 0),
X86_INTRINSIC_DATA(avx10_mask_vcvttpd2udqs_round_512, INTR_TYPE_1OP_MASK,
X86ISD::CVTTP2UIS, X86ISD::CVTTP2UIS_SAE),
X86_INTRINSIC_DATA(avx10_mask_vcvttpd2uqqs_128, INTR_TYPE_1OP_MASK,
X86ISD::CVTTP2UIS, 0),
- X86_INTRINSIC_DATA(avx10_mask_vcvttpd2uqqs_round_256, INTR_TYPE_1OP_MASK,
- X86ISD::CVTTP2UIS, X86ISD::CVTTP2UIS_SAE),
+ X86_INTRINSIC_DATA(avx10_mask_vcvttpd2uqqs_256, INTR_TYPE_1OP_MASK,
+ X86ISD::CVTTP2UIS, 0),
X86_INTRINSIC_DATA(avx10_mask_vcvttpd2uqqs_round_512, INTR_TYPE_1OP_MASK,
X86ISD::CVTTP2UIS, X86ISD::CVTTP2UIS_SAE),
X86_INTRINSIC_DATA(avx10_mask_vcvttph2ibs128, INTR_TYPE_1OP_MASK,
@@ -559,8 +559,8 @@ static const IntrinsicData IntrinsicsWithoutChain[] = {
X86ISD::CVTTP2IUBS, X86ISD::CVTTP2IUBS_SAE),
X86_INTRINSIC_DATA(avx10_mask_vcvttps2dqs_128, INTR_TYPE_1OP_MASK,
X86ISD::CVTTP2SIS, 0),
- X86_INTRINSIC_DATA(avx10_mask_vcvttps2dqs_round_256, INTR_TYPE_1OP_MASK,
- X86ISD::CVTTP2SIS, X86ISD::CVTTP2SIS_SAE),
+ X86_INTRINSIC_DATA(avx10_mask_vcvttps2dqs_256, INTR_TYPE_1OP_MASK,
+ X86ISD::CVTTP2SIS, 0),
X86_INTRINSIC_DATA(avx10_mask_vcvttps2dqs_round_512, INTR_TYPE_1OP_MASK,
X86ISD::CVTTP2SIS, X86ISD::CVTTP2SIS_SAE),
X86_INTRINSIC_DATA(avx10_mask_vcvttps2ibs128, INTR_TYPE_1OP_MASK,
@@ -577,20 +577,20 @@ static const IntrinsicData IntrinsicsWithoutChain[] = {
X86ISD::CVTTP2IUBS, X86ISD::CVTTP2IUBS_SAE),
X86_INTRINSIC_DATA(avx10_mask_vcvttps2qqs_128, INTR_TYPE_1OP_MASK,
X86ISD::CVTTP2SIS, 0),
- X86_INTRINSIC_DATA(avx10_mask_vcvttps2qqs_round_256, INTR_TYPE_1OP_MASK,
- X86ISD::CVTTP2SIS, X86ISD::CVTTP2SIS_SAE),
+ X86_INTRINSIC_DATA(avx10_mask_vcvttps2qqs_256, INTR_TYPE_1OP_MASK,
+ X86ISD::CVTTP2SIS, 0),
X86_INTRINSIC_DATA(avx10_mask_vcvttps2qqs_round_512, INTR_TYPE_1OP_MASK,
X86ISD::CVTTP2SIS, X86ISD::CVTTP2SIS_SAE),
X86_INTRINSIC_DATA(avx10_mask_vcvttps2udqs_128, INTR_TYPE_1OP_MASK,
X86ISD::CVTTP2UIS, 0),
- X86_INTRINSIC_DATA(avx10_mask_vcvttps2udqs_round_256, INTR_TYPE_1OP_MASK,
- X86ISD::CVTTP2UIS, X86ISD::CVTTP2UIS_SAE),
+ X86_INTRINSIC_DATA(avx10_mask_vcvttps2udqs_256, INTR_TYPE_1OP_MASK,
+ X86ISD::CVTTP2UIS, 0),
X86_INTRINSIC_DATA(avx10_mask_vcvttps2udqs_round_512, INTR_TYPE_1OP_MASK,
X86ISD::CVTTP2UIS, X86ISD::CVTTP2UIS_SAE),
X86_INTRINSIC_DATA(avx10_mask_vcvttps2uqqs_128, INTR_TYPE_1OP_MASK,
X86ISD::CVTTP2UIS, 0),
- X86_INTRINSIC_DATA(avx10_mask_vcvttps2uqqs_round_256, INTR_TYPE_1OP_MASK,
- X86ISD::CVTTP2UIS, X86ISD::CVTTP2UIS_SAE),
+ X86_INTRINSIC_DATA(avx10_mask_vcvttps2uqqs_256, INTR_TYPE_1OP_MASK,
+ X86ISD::CVTTP2UIS, 0),
X86_INTRINSIC_DATA(avx10_mask_vcvttps2uqqs_round_512, INTR_TYPE_1OP_MASK,
X86ISD::CVTTP2UIS, X86ISD::CVTTP2UIS_SAE),
X86_INTRINSIC_DATA(avx10_mask_vminmaxpd_round, INTR_TYPE_3OP_MASK_SAE,
diff --git a/llvm/test/CodeGen/X86/avx10_2satcvtds-intrinsics.ll b/llvm/test/CodeGen/X86/avx10_2satcvtds-intrinsics.ll
index 922ac92be174a..e9b739074b453 100644
--- a/llvm/test/CodeGen/X86/avx10_2satcvtds-intrinsics.ll
+++ b/llvm/test/CodeGen/X86/avx10_2satcvtds-intrinsics.ll
@@ -90,7 +90,7 @@ define <4 x i32> @test_int_x86_mask_vcvtt_pd2dqs_256(<4 x double> %x0, <4 x i32>
; X86-NEXT: vmovaps %xmm1, %xmm0 # EVEX TO VEX Compression encoding: [0xc5,0xf8,0x28,0xc1]
; X86-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
; X86-NEXT: retl # encoding: [0xc3]
- %res = call <4 x i32> @llvm.x86.avx10.mask.vcvttpd2dqs.round.256( <4 x double> %x0, <4 x i32> %src, i8 %mask, i32 4)
+ %res = call <4 x i32> @llvm.x86.avx10.mask.vcvttpd2dqs.256( <4 x double> %x0, <4 x i32> %src, i8 %mask)
ret <4 x i32> %res
}
@@ -108,7 +108,7 @@ define <4 x i32> @test_int_x86_maskz_vcvtt_pd2dqs_256_z(<4 x double> %x0, i8 %ma
; X86-NEXT: vcvttpd2dqs %ymm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf5,0xfc,0xa9,0x6d,0xc0]
; X86-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
; X86-NEXT: retl # encoding: [0xc3]
- %res = call <4 x i32> @llvm.x86.avx10.mask.vcvttpd2dqs.round.256( <4 x double> %x0, <4 x i32> zeroinitializer, i8 %mask, i32 4)
+ %res = call <4 x i32> @llvm.x86.avx10.mask.vcvttpd2dqs.256( <4 x double> %x0, <4 x i32> zeroinitializer, i8 %mask)
ret <4 x i32> %res
}
@@ -126,7 +126,7 @@ define <4 x i32> @test_int_x86_mask_vcvtt_pd2dqs_256_undef(<4 x double> %x0, i8
; X86-NEXT: vcvttpd2dqs %ymm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf5,0xfc,0xa9,0x6d,0xc0]
; X86-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
; X86-NEXT: retl # encoding: [0xc3]
- %res = call <4 x i32> @llvm.x86.avx10.mask.vcvttpd2dqs.round.256( <4 x double> %x0, <4 x i32> undef, i8 %mask, i32 4)
+ %res = call <4 x i32> @llvm.x86.avx10.mask.vcvttpd2dqs.256( <4 x double> %x0, <4 x i32> undef, i8 %mask)
ret <4 x i32> %res
}
@@ -142,10 +142,10 @@ define <4 x i32> @test_int_x86_mask_vcvtt_pd2dqs_256_default(<4 x double>* %xptr
; X86-NEXT: vcvttpd2dqsy (%eax), %xmm0 # encoding: [0x62,0xf5,0xfc,0x28,0x6d,0x00]
; X86-NEXT: retl # encoding: [0xc3]
%x0 = load <4 x double>, <4 x double> * %xptr
- %res = call <4 x i32> @llvm.x86.avx10.mask.vcvttpd2dqs.round.256( <4 x double> %x0, <4 x i32> undef, i8 -1, i32 4)
+ %res = call <4 x i32> @llvm.x86.avx10.mask.vcvttpd2dqs.256( <4 x double> %x0, <4 x i32> undef, i8 -1)
ret <4 x i32> %res
}
-declare <4 x i32> @llvm.x86.avx10.mask.vcvttpd2dqs.round.256(<4 x double>, <4 x i32>, i8 , i32)
+declare <4 x i32> @llvm.x86.avx10.mask.vcvttpd2dqs.256(<4 x double>, <4 x i32>, i8 )
define <4 x i32> @test_int_x86_mask_vcvtt_pd2udqs_256(<4 x double> %x0, <4 x i32> %src, i8 %mask) {
; X64-LABEL: test_int_x86_mask_vcvtt_pd2udqs_256:
@@ -163,7 +163,7 @@ define <4 x i32> @test_int_x86_mask_vcvtt_pd2udqs_256(<4 x double> %x0, <4 x i32
; X86-NEXT: vmovaps %xmm1, %xmm0 # EVEX TO VEX Compression encoding: [0xc5,0xf8,0x28,0xc1]
; X86-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
; X86-NEXT: retl # encoding: [0xc3]
- %res = call <4 x i32> @llvm.x86.avx10.mask.vcvttpd2udqs.round.256( <4 x double> %x0, <4 x i32> %src, i8 %mask, i32 4)
+ %res = call <4 x i32> @llvm.x86.avx10.mask.vcvttpd2udqs.256( <4 x double> %x0, <4 x i32> %src, i8 %mask)
ret <4 x i32> %res
}
@@ -181,7 +181,7 @@ define <4 x i32> @test_int_x86_maskz_vcvtt_pd2udqs_256_z(<4 x double> %x0, i8 %m
; X86-NEXT: vcvttpd2udqs %ymm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf5,0xfc,0xa9,0x6c,0xc0]
; X86-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
; X86-NEXT: retl # encoding: [0xc3]
- %res = call <4 x i32> @llvm.x86.avx10.mask.vcvttpd2udqs.round.256( <4 x double> %x0, <4 x i32> zeroinitializer, i8 %mask, i32 4)
+ %res = call <4 x i32> @llvm.x86.avx10.mask.vcvttpd2udqs.256( <4 x double> %x0, <4 x i32> zeroinitializer, i8 %mask)
ret <4 x i32> %res
}
@@ -199,7 +199,7 @@ define <4 x i32> @test_int_x86_mask_vcvtt_pd2udqs_256_undef(<4 x double> %x0, i8
; X86-NEXT: vcvttpd2udqs %ymm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf5,0xfc,0xa9,0x6c,0xc0]
; X86-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
; X86-NEXT: retl # encoding: [0xc3]
- %res = call <4 x i32> @llvm.x86.avx10.mask.vcvttpd2udqs.round.256( <4 x double> %x0, <4 x i32> undef, i8 %mask, i32 4)
+ %res = call <4 x i32> @llvm.x86.avx10.mask.vcvttpd2udqs.256( <4 x double> %x0, <4 x i32> undef, i8 %mask)
ret <4 x i32> %res
}
@@ -216,10 +216,10 @@ define <4 x i32> @test_int_x86_mask_vcvtt_pd2udqs_256_default(<4 x double>* %x0)
; X86-NEXT: vcvttpd2udqsy (%eax), %xmm0 # encoding: [0x62,0xf5,0xfc,0x28,0x6c,0x00]
; X86-NEXT: retl # encoding: [0xc3]
%x10 = load <4 x double>, <4 x double> * %x0
- %res = call <4 x i32> @llvm.x86.avx10.mask.vcvttpd2udqs.round.256( <4 x double> %x10, <4 x i32> undef, i8 -1, i32 4)
+ %res = call <4 x i32> @llvm.x86.avx10.mask.vcvttpd2udqs.256( <4 x double> %x10, <4 x i32> undef, i8 -1)
ret <4 x i32> %res
}
-declare <4 x i32> @llvm.x86.avx10.mask.vcvttpd2udqs.round.256(<4 x double>, <4 x i32>, i8 , i32)
+declare <4 x i32> @llvm.x86.avx10.mask.vcvttpd2udqs.256(<4 x double>, <4 x i32>, i8 )
define <4 x i64> @test_int_x86_mask_vcvtt_pd2qqs_256(<4 x double> %x0, <4 x i64> %src, i8 %mask) {
; X64-LABEL: test_int_x86_mask_vcvtt_pd2qqs_256:
@@ -235,7 +235,7 @@ define <4 x i64> @test_int_x86_mask_vcvtt_pd2qqs_256(<4 x double> %x0, <4 x i64>
; X86-NEXT: vcvttpd2qqs %ymm0, %ymm1 {%k1} # encoding: [0x62,0xf5,0xfd,0x29,0x6d,0xc8]
; X86-NEXT: vmovaps %ymm1, %ymm0 # EVEX TO VEX Compression encoding: [0xc5,0xfc,0x28,0xc1]
; X86-NEXT: retl # encoding: [0xc3]
- %res = call <4 x i64> @llvm.x86.avx10.mask.vcvttpd2qqs.round.256( <4 x double> %x0, <4 x i64> %src, i8 %mask, i32 4)
+ %res = call <4 x i64> @llvm.x86.avx10.mask.vcvttpd2qqs.256( <4 x double> %x0, <4 x i64> %src, i8 %mask)
ret <4 x i64> %res
}
@@ -251,7 +251,7 @@ define <4 x i64> @test_int_x86_maskz_vcvtt_pd2qqs_256_z(<4 x double> %x0, i8 %ma
; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
; X86-NEXT: vcvttpd2qqs %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0xfd,0xa9,0x6d,0xc0]
; X86-NEXT: retl # encoding: [0xc3]
- %res = call <4 x i64> @llvm.x86.avx10.mask.vcvttpd2qqs.round.256( <4 x double> %x0, <4 x i64> zeroinitializer, i8 %mask, i32 4)
+ %res = call <4 x i64> @llvm.x86.avx10.mask.vcvttpd2qqs.256( <4 x double> %x0, <4 x i64> zeroinitializer, i8 %mask)
ret <4 x i64> %res
}
@@ -267,7 +267,7 @@ define <4 x i64> @test_int_x86_mask_vcvtt_pd2qqs_256_undef(<4 x double> %x0, i8
; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
; X86-NEXT: vcvttpd2qqs %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0xfd,0xa9,0x6d,0xc0]
; X86-NEXT: retl # encoding: [0xc3]
- %res = call <4 x i64> @llvm.x86.avx10.mask.vcvttpd2qqs.round.256( <4 x double> %x0, <4 x i64> undef, i8 %mask, i32 4)
+ %res = call <4 x i64> @llvm.x86.avx10.mask.vcvttpd2qqs.256( <4 x double> %x0, <4 x i64> undef, i8 %mask)
ret <4 x i64> %res
}
@@ -284,10 +284,10 @@ define <4 x i64> @test_int_x86_mask_vcvtt_pd2qqs_256_default(<4 x double>* %x0)
; X86-NEXT: vcvttpd2qqs (%eax), %ymm0 # encoding: [0x62,0xf5,0xfd,0x28,0x6d,0x00]
; X86-NEXT: retl # encoding: [0xc3]
%x10 = load <4 x double>, <4 x double>* %x0
- %res = call <4 x i64> @llvm.x86.avx10.mask.vcvttpd2qqs.round.256( <4 x double> %x10, <4 x i64> undef, i8 -1, i32 4)
+ %res = call <4 x i64> @llvm.x86.avx10.mask.vcvttpd2qqs.256( <4 x double> %x10, <4 x i64> undef, i8 -1)
ret <4 x i64> %res
}
-declare <4 x i64> @llvm.x86.avx10.mask.vcvttpd2qqs.round.256(<4 x double>, <4 x i64>, i8 , i32)
+declare <4 x i64> @llvm.x86.avx10.mask.vcvttpd2qqs.256(<4 x double>, <4 x i64>, i8 )
define <4 x i64> @test_int_x86_mask_vcvtt_pd2uqqs_256(<4 x double> %x0, <4 x i64> %src, i8 %mask) {
; X64-LABEL: test_int_x86_mask_vcvtt_pd2uqqs_256:
@@ -303,7 +303,7 @@ define <4 x i64> @test_int_x86_mask_vcvtt_pd2uqqs_256(<4 x double> %x0, <4 x i64
; X86-NEXT: vcvttpd2uqqs %ymm0, %ymm1 {%k1} # encoding: [0x62,0xf5,0xfd,0x29,0x6c,0xc8]
; X86-NEXT: vmovaps %ymm1, %ymm0 # EVEX TO VEX Compression encoding: [0xc5,0xfc,0x28,0xc1]
; X86-NEXT: retl # encoding: [0xc3]
- %res = call <4 x i64> @llvm.x86.avx10.mask.vcvttpd2uqqs.round.256( <4 x double> %x0, <4 x i64> %src, i8 %mask, i32 4)
+ %res = call <4 x i64> @llvm.x86.avx10.mask.vcvttpd2uqqs.256( <4 x double> %x0, <4 x i64> %src, i8 %mask)
ret <4 x i64> %res
}
@@ -319,7 +319,7 @@ define <4 x i64> @test_int_x86_maskz_vcvtt_pd2uqqs_256_z(<4 x double> %x0, i8 %m
; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
; X86-NEXT: vcvttpd2uqqs %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0xfd,0xa9,0x6c,0xc0]
; X86-NEXT: retl # encoding: [0xc3]
- %res = call <4 x i64> @llvm.x86.avx10.mask.vcvttpd2uqqs.round.256( <4 x double> %x0, <4 x i64> zeroinitializer, i8 %mask, i32 4)
+ %res = call <4 x i64> @llvm.x86.avx10.mask.vcvttpd2uqqs.256( <4 x double> %x0, <4 x i64> zeroinitializer, i8 %mask)
ret <4 x i64> %res
}
@@ -335,7 +335,7 @@ define <4 x i64> @test_int_x86_mask_vcvtt_pd2uqqs_256_undef(<4 x double> %x0, i8
; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
; X86-NEXT: vcvttpd2uqqs %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0xfd,0xa9,0x6c,0xc0]
; X86-NEXT: retl # encoding: [0xc3]
- %res = call <4 x i64> @llvm.x86.avx10.mask.vcvttpd2uqqs.round.256( <4 x double> %x0, <4 x i64> undef, i8 %mask, i32 4)
+ %res = call <4 x i64> @llvm.x86.avx10.mask.vcvttpd2uqqs.256( <4 x double> %x0, <4 x i64> undef, i8 %mask)
ret <4 x i64> %res
}
@@ -352,10 +352,10 @@ define <4 x i64> @test_int_x86_mask_vcvtt_pd2uqqs_256_default(<4 x double>* %x0)
; X86-NEXT: vcvttpd2uqqs (%eax), %ymm0 # encoding: [0x62,0xf5,0xfd,0x28,0x6c,0x00]
; X86-NEXT: retl # encoding: [0xc3]
%x10 = load <4 x double>, <4 x double>* %x0
- %res = call <4 x i64> @llvm.x86.avx10.mask.vcvttpd2uqqs.round.256( <4 x double> %x10, <4 x i64> undef, i8 -1, i32 4)
+ %res = call <4 x i64> @llvm.x86.avx10.mask.vcvttpd2uqqs.256( <4 x double> %x10, <4 x i64> undef, i8 -1)
ret <4 x i64> %res
}
-declare <4 x i64> @llvm.x86.avx10.mask.vcvttpd2uqqs.round.256(<4 x double>, <4 x i64>, i8 , i32)
+declare <4 x i64> @llvm.x86.avx10.mask.vcvttpd2uqqs.256(<4 x double>, <4 x i64>, i8 )
define <8 x i32> @test_int_x86_mask_vcvtt_ps2dqs_256(<8 x float> %x0, <8 x i32> %src, i8 %mask) {
; X64-LABEL: test_int_x86_mask_vcvtt_ps2dqs_256:
@@ -371,7 +371,7 @@ define <8 x i32> @test_int_x86_mask_vcvtt_ps2dqs_256(<8 x float> %x0, <8 x i32>
; X86-NEXT: vcvttps2dqs %ymm0, %ymm1 {%k1} # encoding: [0x62,0xf5,0x7c,0x29,0x6d,0xc8]
; X86-NEXT: vmovaps %ymm1, %ymm0 # EVEX TO VEX Compression encoding: [0xc5,0xfc,0x28,0xc1]
; X86-NEXT: retl # encoding: [0xc3]
- %res = call <8 x i32> @llvm.x86.avx10.mask.vcvttps2dqs.round.256( <8 x float> %x0, <8 x i32> %src, i8 %mask, i32 4)
+ %res = call <8 x i32> @llvm.x86.avx10.mask.vcvttps2dqs.256( <8 x float> %x0, <8 x i32> %src, i8 %mask)
ret <8 x i32> %res
}
@@ -387,7 +387,7 @@ define <8 x i32> @test_int_x86_maskz_vcvtt_ps2dqs_256_z(<8 x float> %x0, i8 %mas
; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
; X86-NEXT: vcvttps2dqs %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x7c,0xa9,0x6d,0xc0]
; X86-NEXT: retl # encoding: [0xc3]
- %res = call <8 x i32> @llvm.x86.avx10.mask.vcvttps2dqs.round.256( <8 x float> %x0, <8 x i32> zeroinitializer, i8 %mask, i32 4)
+ %res = call <8 x i32> @llvm.x86.avx10.mask.vcvttps2dqs.256( <8 x float> %x0, <8 x i32> zeroinitializer, i8 %mask)
ret <8 x i32> %res
}
@@ -403,7 +403,7 @@ define <8 x i32> @test_int_x86_mask_vcvtt_ps2dqs_256_undef(<8 x float> %x0, i8 %
; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
; X86-NEXT: vcvttps2dqs %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x7c,0xa9,0x6d,0xc0]
; X86-NEXT: retl # encoding: [0xc3]
- %res = call <8 x i32> @llvm.x86.avx10.mask.vcvttps2dqs.round.256( <8 x float> %x0, <8 x i32> undef, i8 %mask, i32 4)
+ %res = call <8 x i32> @llvm.x86.avx10.mask.vcvttps2dqs.256( <8 x float> %x0, <8 x i32> undef, i8 %mask)
ret <8 x i32> %res
}
@@ -419,10 +419,10 @@ define <8 x i32> @test_int_x86_mask_vcvtt_ps2dqs_256_default(<8 x float>* %x0) {
; X86-NEXT: vcvttps2dqs (%eax), %ymm0 # encoding: [0x62,0xf5,0x7c,0x28,0x6d,0x00]
; X86-NEXT: retl # encoding: [0xc3]
%x10 = load <8 x float>, <8 x float>* %x0
- %res = call <8 x i32> @llvm.x86.avx10.mask.vcvttps2dqs.round.256( <8 x float> %x10, <8 x i32> undef, i8 -1, i32 4)
+ %res = call <8 x i32> @llvm.x86.avx10.mask.vcvttps2dqs.256( <8 x float> %x10, <8 x i32> undef, i8 -1)
ret <8 x i32> %res
}
-declare <8 x i32> @llvm.x86.avx10.mask.vcvttps2dqs.round.256(<8 x float>, <8 x i32>, i8 , i32)
+declare <8 x i32> @llvm.x86.avx10.mask.vcvttps2dqs.256(<8 x float>, <8 x i32>, i8 )
define <8 x i32> @test_int_x86_mask_vcvtt_ps2udqs_256(<8 x float> %x0, <8 x i32> %src, i8 %mask) {
; X64-LABEL: test_int_x86_mask_vcvtt_ps2udqs_256:
@@ -438,7 +438,7 @@ define <8 x i32> @test_int_x86_mask_vcvtt_ps2udqs_256(<8 x float> %x0, <8 x i32>
; X86-NEXT: vcvttps2udqs %ymm0, %ymm1 {%k1} # encoding: [0x62,0xf5,0x7c,0x29,0x6c,0xc8]
; X86-NEXT: vmovaps %ymm1, %ymm0 # EVEX TO VEX Compression encoding: [0xc5,0xfc,0x28,0xc1]
; X86-NEXT: retl # encoding: [0xc3]
- %res = call <8 x i32> @llvm.x86.avx10.mask.vcvttps2udqs.round.256( <8 x float> %x0, <8 x i32> %src, i8 %mask, i32 4)
+ %res = call <8 x i32> @llvm.x86.avx10.mask.vcvttps2udqs.256( <8 x float> %x0, <8 x i32> %src, i8 %mask)
ret <8 x i32> %res
}
@@ -454,7 +454,7 @@ define <8 x i32> @test_int_x86_maskz_vcvtt_ps2udqs_256_z(<8 x float> %x0, i8 %ma
; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
; X86-NEXT: vcvttps2udqs %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x7c,0xa9,0x6c,0xc0]
; X86-NEXT: retl # encoding: [0xc3]
- %res = call <8 x i32> @llvm.x86.avx10.mask.vcvttps2udqs.round.256( <8 x float> %x0, <8 x i32> zeroinitializer, i8 %mask, i32 4)
+ %res = call <8 x i32> @llvm.x86.avx10.mask.vcvttps2udqs.256( <8 x float> %x0, <8 x i32> zeroinitializer, i8 %mask)
ret <8 x i32> %res
}
@@ -470,7 +470,7 @@ define <8 x i32> @test_int_x86_mask_vcvtt_ps2udqs_256_undef(<8 x float> %x0, i8
; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
; X86-NEXT: vcvttps2udqs %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x7c,0xa9,0x6c,0xc0]
; X86-NEXT: retl # encoding: [0xc3]
- %res = call <8 x i32> @llvm.x86.avx10.mask.vcvttps2udqs.round.256( <8 x float> %x0, <8 x i32> undef, i8 %mask, i32 4)
+ %res = call <8 x i32> @llvm.x86.avx10.mask.vcvttps2udqs.256( <8 x float> %x0, <8 x i32> undef, i8 %mask)
ret <8 x i32> %res
}
@@ -487,10 +487,10 @@ define <8 x i32> @test_int_x86_mask_vcvtt_ps2udqs_256_default(<8 x float>* %x0)
; X86-NEXT: vcvttps2udqs (%eax), %ymm0 # encoding: [0x62,0xf5,0x7c,0x28,0x6c,0x00]
; X86-NEXT: retl # encoding: [0xc3]
%x10 = load <8 x float>, <8 x float>* %x0
- %res = call <8 x i32> @llvm.x86.avx10.mask.vcvttps2udqs.round.256( <8 x float> %x10, <8 x i32> undef, i8 -1, i32 4)
+ %res = call <8 x i32> @llvm.x86.avx10.mask.vcvttps2udqs.256( <8 x float> %x10, <8 x i32> undef, i8 -1)
ret <8 x i32> %res
}
-declare <8 x i32> @llvm.x86.avx10.mask.vcvttps2udqs.round.256(<8 x float>, <8 x i32>, i8 , i32)
+declare <8 x i32> @llvm.x86.avx10.mask.vcvttps2udqs.256(<8 x float>, <8 x i32>, i8 )
define <4 x i64> @test_int_x86_maskz_vcvtt_ps2qqs_256_z(<4 x float> %x0, i8 %mask) {
; X64-LABEL: test_int_x86_maskz_vcvtt_ps2qqs_256_z:
@@ -504,7 +504,7 @@ define <4 x i64> @test_int_x86_maskz_vcvtt_ps2qqs_256_z(<4 x float> %x0, i8 %mas
; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
; X86-NEXT: vcvttps2qqs %xmm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x7d,0xa9,0x6d,0xc0]
; X86-NEXT: retl # encoding: [0xc3]
- %res = call <4 x i64> @llvm.x86.avx10.mask.vcvttps2qqs.round.256( <4 x float> %x0, <4 x i64> zeroinitializer, i8 %mask, i32 4)
+ %res = call <4 x i64> @llvm.x86.avx10.mask.vcvttps2qqs.256( <4 x float> %x0, <4 x i64> zeroinitializer, i8 %mask)
ret <4 x i64> %res
}
@@ -520,10 +520,10 @@ define <4 x i64> @test_int_x86_mask_vcvtt_ps2qqs_256_undef(<4 x float> %x0, i8 %
; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
; X86-NEXT: vcvttps2qqs %xmm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x7d,0xa9,0x6d,0xc0]
; X86-NEXT: retl # encoding: [0xc3]
- %res = call <4 x i64> @llvm.x86.avx10.mask.vcvttps2qqs.round.256( <4 x float> %x0, <4 x i64> undef, i8 %mask, i32 4)
+ %res = call <4 x i64> @llvm.x86.avx10.mask.vcvttps2qqs.256( <4 x float> %x0, <4 x i64> undef, i8 %mask)
ret <4 x i64> %res
}
-declare <4 x i64> @llvm.x86.avx10.mask.vcvttps2qqs.round.256(<4 x float>, <4 x i64>, i8 , i32)
+declare <4 x i64> @llvm.x86.avx10.mask.vcvttps2qqs.256(<4 x float>, <4 x i64>, i8 )
define <4 x i64> @test_int_x86_mask_vcvtt_ps2uqqs_256(<4 x float> %x0, <4 x i64> %src, i8 %mask) {
; X64-LABEL: test_int_x86_mask_vcvtt_ps2uqqs_256:
@@ -539,7 +539,7 @@ define <4 x i64> @test_int_x86_mask_vcvtt_ps2uqqs_256(<4 x float> %x0, <4 x i64>
; X86-NEXT: vcvttps2uqqs %xmm0, %ymm1 {%k1} # encoding: [0x62,0xf5,0x7d,0x29,0x6c,0xc8]
; X86-NEXT: vmovaps %ymm1, %ymm0 # EVEX TO VEX Compression encoding: [0xc5,0xfc,0x28,0xc1]
; X86-NEXT: retl # encoding: [0xc3]
- %res = call <4 x i64> @llvm.x86.avx10.mask.vcvttps2uqqs.round.256( <4 x float> %x0, <4 x i64> %src, i8 %mask, i32 4)
+ %res = call <4 x i64> @llvm.x86.avx10.mask.vcvttps2uqqs.256( <4 x float> %x0, <4 x i64> %src, i8 %mask)
ret <4 x i64> %res
}
@@ -555,7 +555,7 @@ define <4 x i64> @test_int_x86_maskz_vcvtt_ps2uqqs_256_z(<4 x float> %x0, i8 %ma
; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
; X86-NEXT: vcvttps2uqqs %xmm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x7d,0xa9,0x6c,0xc0]
; X86-NEXT: retl # encoding: [0xc3]
- %res = call <4 x i64> @llvm.x86.avx10.mask.vcvttps2uqqs.round.256( <4 x float> %x0, <4 x i64> zeroinitializer, i8 %mask, i32 4)
+ %res = call <4 x i64> @llvm.x86.avx10.mask.vcvttps2uqqs.256( <4 x float> %x0, <4 x i64> zeroinitializer, i8 %mask)
ret <4 x i64> %res
}
@@ -571,7 +571,7 @@ define <4 x i64> @test_int_x86_mask_vcvtt_ps2uqqs_256_undef(<4 x float> %x0, i8
; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
; X86-NEXT: vcvttps2uqqs %xmm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x7d,0xa9,0x6c,0xc0]
; X86-NEXT: retl # encoding: [0xc3]
- %res = call <4 x i64> @llvm.x86.avx10.mask.vcvttps2uqqs.round.256( <4 x float> %x0, <4 x i64> undef, i8 %mask, i32 4)
+ %res = call <4 x i64> @llvm.x86.avx10.mask.vcvttps2uqqs.256( <4 x float> %x0, <4 x i64> undef, i8 %mask)
ret <4 x i64> %res
}
@@ -581,11 +581,11 @@ define <4 x i64> @test_int_x86_mask_vcvtt_ps2uqqs_256_default(<4 x float> %x0) {
; CHECK: # %bb.0:
; CHECK-NEXT: vcvttps2uqqs %xmm0, %ymm0 # encoding: [0x62,0xf5,0x7d,0x28,0x6c,0xc0]
; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
- %res = call <4 x i64> @llvm.x86.avx10.mask.vcvttps2uqqs.round.256( <4 x float> %x0, <4 x i64> undef, i8 -1, i32 4)
+ %res = call <4 x i64> @llvm.x86.avx10.mask.vcvttps2uqqs.256( <4 x float> %x0, <4 x i64> undef, i8 -1)
ret <4 x i64> %res
}
-declare <4 x i64> @llvm.x86.avx10.mask.vcvttps2uqqs.round.256(<4 x float>, <4 x i64>, i8 , i32)
+declare <4 x i64> @llvm.x86.avx10.mask.vcvttps2uqqs.256(<4 x float>, <4 x i64>, i8 )
define <4 x i32> @test_int_x86_mask_vcvtt_pd2dqs_128(<2 x double> %x0, <4 x i32> %src, i8 %mask) {
; X64-LABEL: test_int_x86_mask_vcvtt_pd2dqs_128:
diff --git a/llvm/test/MC/Disassembler/X86/avx10.2-satcvtds-32.txt b/llvm/test/MC/Disassembler/X86/avx10.2-satcvtds-32.txt
index b2b8267618c18..d2bdd1cb9d543 100644
--- a/llvm/test/MC/Disassembler/X86/avx10.2-satcvtds-32.txt
+++ b/llvm/test/MC/Disassembler/X86/avx10.2-satcvtds-32.txt
@@ -17,18 +17,10 @@
# INTEL: vcvttpd2dqs xmm2, ymm3
0x62,0xf5,0xfc,0x28,0x6d,0xd3
-# ATT: vcvttpd2dqs {sae}, %ymm3, %xmm2
-# INTEL: vcvttpd2dqs xmm2, ymm3, {sae}
-0x62,0xf5,0xf8,0x18,0x6d,0xd3
-
# ATT: vcvttpd2dqs %ymm3, %xmm2 {%k7}
# INTEL: vcvttpd2dqs xmm2 {k7}, ymm3
0x62,0xf5,0xfc,0x2f,0x6d,0xd3
-# ATT: vcvttpd2dqs {sae}, %ymm3, %xmm2 {%k7} {z}
-# INTEL: vcvttpd2dqs xmm2 {k7} {z}, ymm3, {sae}
-0x62,0xf5,0xf8,0x9f,0x6d,0xd3
-
# ATT: vcvttpd2dqs %zmm3, %ymm2
# INTEL: vcvttpd2dqs ymm2, zmm3
0x62,0xf5,0xfc,0x48,0x6d,0xd3
@@ -125,18 +117,10 @@
# INTEL: vcvttpd2qqs ymm2, ymm3
0x62,0xf5,0xfd,0x28,0x6d,0xd3
-# ATT: vcvttpd2qqs {sae}, %ymm3, %ymm2
-# INTEL: vcvttpd2qqs ymm2, ymm3, {sae}
-0x62,0xf5,0xf9,0x18,0x6d,0xd3
-
# ATT: vcvttpd2qqs %ymm3, %ymm2 {%k7}
# INTEL: vcvttpd2qqs ymm2 {k7}, ymm3
0x62,0xf5,0xfd,0x2f,0x6d,0xd3
-# ATT: vcvttpd2qqs {sae}, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vcvttpd2qqs ymm2 {k7} {z}, ymm3, {sae}
-0x62,0xf5,0xf9,0x9f,0x6d,0xd3
-
# ATT: vcvttpd2qqs %zmm3, %zmm2
# INTEL: vcvttpd2qqs zmm2, zmm3
0x62,0xf5,0xfd,0x48,0x6d,0xd3
@@ -241,18 +225,10 @@
# INTEL: vcvttpd2udqs xmm2, ymm3
0x62,0xf5,0xfc,0x28,0x6c,0xd3
-# ATT: vcvttpd2udqs {sae}, %ymm3, %xmm2
-# INTEL: vcvttpd2udqs xmm2, ymm3, {sae}
-0x62,0xf5,0xf8,0x18,0x6c,0xd3
-
# ATT: vcvttpd2udqs %ymm3, %xmm2 {%k7}
# INTEL: vcvttpd2udqs xmm2 {k7}, ymm3
0x62,0xf5,0xfc,0x2f,0x6c,0xd3
-# ATT: vcvttpd2udqs {sae}, %ymm3, %xmm2 {%k7} {z}
-# INTEL: vcvttpd2udqs xmm2 {k7} {z}, ymm3, {sae}
-0x62,0xf5,0xf8,0x9f,0x6c,0xd3
-
# ATT: vcvttpd2udqs %zmm3, %ymm2
# INTEL: vcvttpd2udqs ymm2, zmm3
0x62,0xf5,0xfc,0x48,0x6c,0xd3
@@ -349,18 +325,10 @@
# INTEL: vcvttpd2uqqs ymm2, ymm3
0x62,0xf5,0xfd,0x28,0x6c,0xd3
-# ATT: vcvttpd2uqqs {sae}, %ymm3, %ymm2
-# INTEL: vcvttpd2uqqs ymm2, ymm3, {sae}
-0x62,0xf5,0xf9,0x18,0x6c,0xd3
-
# ATT: vcvttpd2uqqs %ymm3, %ymm2 {%k7}
# INTEL: vcvttpd2uqqs ymm2 {k7}, ymm3
0x62,0xf5,0xfd,0x2f,0x6c,0xd3
-# ATT: vcvttpd2uqqs {sae}, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vcvttpd2uqqs ymm2 {k7} {z}, ymm3, {sae}
-0x62,0xf5,0xf9,0x9f,0x6c,0xd3
-
# ATT: vcvttpd2uqqs %zmm3, %zmm2
# INTEL: vcvttpd2uqqs zmm2, zmm3
0x62,0xf5,0xfd,0x48,0x6c,0xd3
@@ -465,18 +433,10 @@
# INTEL: vcvttps2dqs ymm2, ymm3
0x62,0xf5,0x7c,0x28,0x6d,0xd3
-# ATT: vcvttps2dqs {sae}, %ymm3, %ymm2
-# INTEL: vcvttps2dqs ymm2, ymm3, {sae}
-0x62,0xf5,0x78,0x18,0x6d,0xd3
-
# ATT: vcvttps2dqs %ymm3, %ymm2 {%k7}
# INTEL: vcvttps2dqs ymm2 {k7}, ymm3
0x62,0xf5,0x7c,0x2f,0x6d,0xd3
-# ATT: vcvttps2dqs {sae}, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vcvttps2dqs ymm2 {k7} {z}, ymm3, {sae}
-0x62,0xf5,0x78,0x9f,0x6d,0xd3
-
# ATT: vcvttps2dqs %zmm3, %zmm2
# INTEL: vcvttps2dqs zmm2, zmm3
0x62,0xf5,0x7c,0x48,0x6d,0xd3
@@ -697,18 +657,10 @@
# INTEL: vcvttps2udqs ymm2, ymm3
0x62,0xf5,0x7c,0x28,0x6c,0xd3
-# ATT: vcvttps2udqs {sae}, %ymm3, %ymm2
-# INTEL: vcvttps2udqs ymm2, ymm3, {sae}
-0x62,0xf5,0x78,0x18,0x6c,0xd3
-
# ATT: vcvttps2udqs %ymm3, %ymm2 {%k7}
# INTEL: vcvttps2udqs ymm2 {k7}, ymm3
0x62,0xf5,0x7c,0x2f,0x6c,0xd3
-# ATT: vcvttps2udqs {sae}, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vcvttps2udqs ymm2 {k7} {z}, ymm3, {sae}
-0x62,0xf5,0x78,0x9f,0x6c,0xd3
-
# ATT: vcvttps2udqs %zmm3, %zmm2
# INTEL: vcvttps2udqs zmm2, zmm3
0x62,0xf5,0x7c,0x48,0x6c,0xd3
diff --git a/llvm/test/MC/Disassembler/X86/avx10.2-satcvtds-64.txt b/llvm/test/MC/Disassembler/X86/avx10.2-satcvtds-64.txt
index c0c3340dcc435..23cd7437a7b3c 100644
--- a/llvm/test/MC/Disassembler/X86/avx10.2-satcvtds-64.txt
+++ b/llvm/test/MC/Disassembler/X86/avx10.2-satcvtds-64.txt
@@ -17,18 +17,10 @@
# INTEL: vcvttpd2dqs xmm22, ymm23
0x62,0xa5,0xfc,0x28,0x6d,0xf7
-# ATT: vcvttpd2dqs {sae}, %ymm23, %xmm22
-# INTEL: vcvttpd2dqs xmm22, ymm23, {sae}
-0x62,0xa5,0xf8,0x18,0x6d,0xf7
-
# ATT: vcvttpd2dqs %ymm23, %xmm22 {%k7}
# INTEL: vcvttpd2dqs xmm22 {k7}, ymm23
0x62,0xa5,0xfc,0x2f,0x6d,0xf7
-# ATT: vcvttpd2dqs {sae}, %ymm23, %xmm22 {%k7} {z}
-# INTEL: vcvttpd2dqs xmm22 {k7} {z}, ymm23, {sae}
-0x62,0xa5,0xf8,0x9f,0x6d,0xf7
-
# ATT: vcvttpd2dqs %zmm23, %ymm22
# INTEL: vcvttpd2dqs ymm22, zmm23
0x62,0xa5,0xfc,0x48,0x6d,0xf7
@@ -125,18 +117,10 @@
# INTEL: vcvttpd2qqs ymm22, ymm23
0x62,0xa5,0xfd,0x28,0x6d,0xf7
-# ATT: vcvttpd2qqs {sae}, %ymm23, %ymm22
-# INTEL: vcvttpd2qqs ymm22, ymm23, {sae}
-0x62,0xa5,0xf9,0x18,0x6d,0xf7
-
# ATT: vcvttpd2qqs %ymm23, %ymm22 {%k7}
# INTEL: vcvttpd2qqs ymm22 {k7}, ymm23
0x62,0xa5,0xfd,0x2f,0x6d,0xf7
-# ATT: vcvttpd2qqs {sae}, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vcvttpd2qqs ymm22 {k7} {z}, ymm23, {sae}
-0x62,0xa5,0xf9,0x9f,0x6d,0xf7
-
# ATT: vcvttpd2qqs %zmm23, %zmm22
# INTEL: vcvttpd2qqs zmm22, zmm23
0x62,0xa5,0xfd,0x48,0x6d,0xf7
@@ -241,18 +225,10 @@
# INTEL: vcvttpd2udqs xmm22, ymm23
0x62,0xa5,0xfc,0x28,0x6c,0xf7
-# ATT: vcvttpd2udqs {sae}, %ymm23, %xmm22
-# INTEL: vcvttpd2udqs xmm22, ymm23, {sae}
-0x62,0xa5,0xf8,0x18,0x6c,0xf7
-
# ATT: vcvttpd2udqs %ymm23, %xmm22 {%k7}
# INTEL: vcvttpd2udqs xmm22 {k7}, ymm23
0x62,0xa5,0xfc,0x2f,0x6c,0xf7
-# ATT: vcvttpd2udqs {sae}, %ymm23, %xmm22 {%k7} {z}
-# INTEL: vcvttpd2udqs xmm22 {k7} {z}, ymm23, {sae}
-0x62,0xa5,0xf8,0x9f,0x6c,0xf7
-
# ATT: vcvttpd2udqs %zmm23, %ymm22
# INTEL: vcvttpd2udqs ymm22, zmm23
0x62,0xa5,0xfc,0x48,0x6c,0xf7
@@ -349,18 +325,10 @@
# INTEL: vcvttpd2uqqs ymm22, ymm23
0x62,0xa5,0xfd,0x28,0x6c,0xf7
-# ATT: vcvttpd2uqqs {sae}, %ymm23, %ymm22
-# INTEL: vcvttpd2uqqs ymm22, ymm23, {sae}
-0x62,0xa5,0xf9,0x18,0x6c,0xf7
-
# ATT: vcvttpd2uqqs %ymm23, %ymm22 {%k7}
# INTEL: vcvttpd2uqqs ymm22 {k7}, ymm23
0x62,0xa5,0xfd,0x2f,0x6c,0xf7
-# ATT: vcvttpd2uqqs {sae}, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vcvttpd2uqqs ymm22 {k7} {z}, ymm23, {sae}
-0x62,0xa5,0xf9,0x9f,0x6c,0xf7
-
# ATT: vcvttpd2uqqs %zmm23, %zmm22
# INTEL: vcvttpd2uqqs zmm22, zmm23
0x62,0xa5,0xfd,0x48,0x6c,0xf7
@@ -465,18 +433,10 @@
# INTEL: vcvttps2dqs ymm22, ymm23
0x62,0xa5,0x7c,0x28,0x6d,0xf7
-# ATT: vcvttps2dqs {sae}, %ymm23, %ymm22
-# INTEL: vcvttps2dqs ymm22, ymm23, {sae}
-0x62,0xa5,0x78,0x18,0x6d,0xf7
-
# ATT: vcvttps2dqs %ymm23, %ymm22 {%k7}
# INTEL: vcvttps2dqs ymm22 {k7}, ymm23
0x62,0xa5,0x7c,0x2f,0x6d,0xf7
-# ATT: vcvttps2dqs {sae}, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vcvttps2dqs ymm22 {k7} {z}, ymm23, {sae}
-0x62,0xa5,0x78,0x9f,0x6d,0xf7
-
# ATT: vcvttps2dqs %zmm23, %zmm22
# INTEL: vcvttps2dqs zmm22, zmm23
0x62,0xa5,0x7c,0x48,0x6d,0xf7
@@ -697,18 +657,10 @@
# INTEL: vcvttps2udqs ymm22, ymm23
0x62,0xa5,0x7c,0x28,0x6c,0xf7
-# ATT: vcvttps2udqs {sae}, %ymm23, %ymm22
-# INTEL: vcvttps2udqs ymm22, ymm23, {sae}
-0x62,0xa5,0x78,0x18,0x6c,0xf7
-
# ATT: vcvttps2udqs %ymm23, %ymm22 {%k7}
# INTEL: vcvttps2udqs ymm22 {k7}, ymm23
0x62,0xa5,0x7c,0x2f,0x6c,0xf7
-# ATT: vcvttps2udqs {sae}, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vcvttps2udqs ymm22 {k7} {z}, ymm23, {sae}
-0x62,0xa5,0x78,0x9f,0x6c,0xf7
-
# ATT: vcvttps2udqs %zmm23, %zmm22
# INTEL: vcvttps2udqs zmm22, zmm23
0x62,0xa5,0x7c,0x48,0x6c,0xf7
diff --git a/llvm/test/MC/X86/avx10_2satcvtds-32-att.s b/llvm/test/MC/X86/avx10_2satcvtds-32-att.s
index ec59839150b5f..f33e04b2db930 100644
--- a/llvm/test/MC/X86/avx10_2satcvtds-32-att.s
+++ b/llvm/test/MC/X86/avx10_2satcvtds-32-att.s
@@ -144,18 +144,10 @@
// CHECK: encoding: [0x62,0xf5,0xfc,0x28,0x6d,0xd3]
vcvttpd2dqs %ymm3, %xmm2
-// CHECK: vcvttpd2dqs {sae}, %ymm3, %xmm2
-// CHECK: encoding: [0x62,0xf5,0xf8,0x18,0x6d,0xd3]
- vcvttpd2dqs {sae}, %ymm3, %xmm2
-
// CHECK: vcvttpd2dqs %ymm3, %xmm2 {%k7}
// CHECK: encoding: [0x62,0xf5,0xfc,0x2f,0x6d,0xd3]
vcvttpd2dqs %ymm3, %xmm2 {%k7}
-// CHECK: vcvttpd2dqs {sae}, %ymm3, %xmm2 {%k7} {z}
-// CHECK: encoding: [0x62,0xf5,0xf8,0x9f,0x6d,0xd3]
- vcvttpd2dqs {sae}, %ymm3, %xmm2 {%k7} {z}
-
// CHECK: vcvttpd2dqs %zmm3, %ymm2
// CHECK: encoding: [0x62,0xf5,0xfc,0x48,0x6d,0xd3]
vcvttpd2dqs %zmm3, %ymm2
@@ -252,18 +244,10 @@
// CHECK: encoding: [0x62,0xf5,0xfd,0x28,0x6d,0xd3]
vcvttpd2qqs %ymm3, %ymm2
-// CHECK: vcvttpd2qqs {sae}, %ymm3, %ymm2
-// CHECK: encoding: [0x62,0xf5,0xf9,0x18,0x6d,0xd3]
- vcvttpd2qqs {sae}, %ymm3, %ymm2
-
// CHECK: vcvttpd2qqs %ymm3, %ymm2 {%k7}
// CHECK: encoding: [0x62,0xf5,0xfd,0x2f,0x6d,0xd3]
vcvttpd2qqs %ymm3, %ymm2 {%k7}
-// CHECK: vcvttpd2qqs {sae}, %ymm3, %ymm2 {%k7} {z}
-// CHECK: encoding: [0x62,0xf5,0xf9,0x9f,0x6d,0xd3]
- vcvttpd2qqs {sae}, %ymm3, %ymm2 {%k7} {z}
-
// CHECK: vcvttpd2qqs %zmm3, %zmm2
// CHECK: encoding: [0x62,0xf5,0xfd,0x48,0x6d,0xd3]
vcvttpd2qqs %zmm3, %zmm2
@@ -368,18 +352,10 @@
// CHECK: encoding: [0x62,0xf5,0xfc,0x28,0x6c,0xd3]
vcvttpd2udqs %ymm3, %xmm2
-// CHECK: vcvttpd2udqs {sae}, %ymm3, %xmm2
-// CHECK: encoding: [0x62,0xf5,0xf8,0x18,0x6c,0xd3]
- vcvttpd2udqs {sae}, %ymm3, %xmm2
-
// CHECK: vcvttpd2udqs %ymm3, %xmm2 {%k7}
// CHECK: encoding: [0x62,0xf5,0xfc,0x2f,0x6c,0xd3]
vcvttpd2udqs %ymm3, %xmm2 {%k7}
-// CHECK: vcvttpd2udqs {sae}, %ymm3, %xmm2 {%k7} {z}
-// CHECK: encoding: [0x62,0xf5,0xf8,0x9f,0x6c,0xd3]
- vcvttpd2udqs {sae}, %ymm3, %xmm2 {%k7} {z}
-
// CHECK: vcvttpd2udqs %zmm3, %ymm2
// CHECK: encoding: [0x62,0xf5,0xfc,0x48,0x6c,0xd3]
vcvttpd2udqs %zmm3, %ymm2
@@ -476,18 +452,10 @@
// CHECK: encoding: [0x62,0xf5,0xfd,0x28,0x6c,0xd3]
vcvttpd2uqqs %ymm3, %ymm2
-// CHECK: vcvttpd2uqqs {sae}, %ymm3, %ymm2
-// CHECK: encoding: [0x62,0xf5,0xf9,0x18,0x6c,0xd3]
- vcvttpd2uqqs {sae}, %ymm3, %ymm2
-
// CHECK: vcvttpd2uqqs %ymm3, %ymm2 {%k7}
// CHECK: encoding: [0x62,0xf5,0xfd,0x2f,0x6c,0xd3]
vcvttpd2uqqs %ymm3, %ymm2 {%k7}
-// CHECK: vcvttpd2uqqs {sae}, %ymm3, %ymm2 {%k7} {z}
-// CHECK: encoding: [0x62,0xf5,0xf9,0x9f,0x6c,0xd3]
- vcvttpd2uqqs {sae}, %ymm3, %ymm2 {%k7} {z}
-
// CHECK: vcvttpd2uqqs %zmm3, %zmm2
// CHECK: encoding: [0x62,0xf5,0xfd,0x48,0x6c,0xd3]
vcvttpd2uqqs %zmm3, %zmm2
@@ -592,18 +560,10 @@
// CHECK: encoding: [0x62,0xf5,0x7c,0x28,0x6d,0xd3]
vcvttps2dqs %ymm3, %ymm2
-// CHECK: vcvttps2dqs {sae}, %ymm3, %ymm2
-// CHECK: encoding: [0x62,0xf5,0x78,0x18,0x6d,0xd3]
- vcvttps2dqs {sae}, %ymm3, %ymm2
-
// CHECK: vcvttps2dqs %ymm3, %ymm2 {%k7}
// CHECK: encoding: [0x62,0xf5,0x7c,0x2f,0x6d,0xd3]
vcvttps2dqs %ymm3, %ymm2 {%k7}
-// CHECK: vcvttps2dqs {sae}, %ymm3, %ymm2 {%k7} {z}
-// CHECK: encoding: [0x62,0xf5,0x78,0x9f,0x6d,0xd3]
- vcvttps2dqs {sae}, %ymm3, %ymm2 {%k7} {z}
-
// CHECK: vcvttps2dqs %zmm3, %zmm2
// CHECK: encoding: [0x62,0xf5,0x7c,0x48,0x6d,0xd3]
vcvttps2dqs %zmm3, %zmm2
@@ -824,18 +784,10 @@
// CHECK: encoding: [0x62,0xf5,0x7c,0x28,0x6c,0xd3]
vcvttps2udqs %ymm3, %ymm2
-// CHECK: vcvttps2udqs {sae}, %ymm3, %ymm2
-// CHECK: encoding: [0x62,0xf5,0x78,0x18,0x6c,0xd3]
- vcvttps2udqs {sae}, %ymm3, %ymm2
-
// CHECK: vcvttps2udqs %ymm3, %ymm2 {%k7}
// CHECK: encoding: [0x62,0xf5,0x7c,0x2f,0x6c,0xd3]
vcvttps2udqs %ymm3, %ymm2 {%k7}
-// CHECK: vcvttps2udqs {sae}, %ymm3, %ymm2 {%k7} {z}
-// CHECK: encoding: [0x62,0xf5,0x78,0x9f,0x6c,0xd3]
- vcvttps2udqs {sae}, %ymm3, %ymm2 {%k7} {z}
-
// CHECK: vcvttps2udqs %zmm3, %zmm2
// CHECK: encoding: [0x62,0xf5,0x7c,0x48,0x6c,0xd3]
vcvttps2udqs %zmm3, %zmm2
diff --git a/llvm/test/MC/X86/avx10_2satcvtds-32-intel.s b/llvm/test/MC/X86/avx10_2satcvtds-32-intel.s
index 37a090de2f2ce..642df01fe8cdf 100644
--- a/llvm/test/MC/X86/avx10_2satcvtds-32-intel.s
+++ b/llvm/test/MC/X86/avx10_2satcvtds-32-intel.s
@@ -144,18 +144,10 @@
// CHECK: encoding: [0x62,0xf5,0xfc,0x28,0x6d,0xd3]
vcvttpd2dqs xmm2, ymm3
-// CHECK: vcvttpd2dqs xmm2, ymm3, {sae}
-// CHECK: encoding: [0x62,0xf5,0xf8,0x18,0x6d,0xd3]
- vcvttpd2dqs xmm2, ymm3, {sae}
-
// CHECK: vcvttpd2dqs xmm2 {k7}, ymm3
// CHECK: encoding: [0x62,0xf5,0xfc,0x2f,0x6d,0xd3]
vcvttpd2dqs xmm2 {k7}, ymm3
-// CHECK: vcvttpd2dqs xmm2 {k7} {z}, ymm3, {sae}
-// CHECK: encoding: [0x62,0xf5,0xf8,0x9f,0x6d,0xd3]
- vcvttpd2dqs xmm2 {k7} {z}, ymm3, {sae}
-
// CHECK: vcvttpd2dqs ymm2, zmm3
// CHECK: encoding: [0x62,0xf5,0xfc,0x48,0x6d,0xd3]
vcvttpd2dqs ymm2, zmm3
@@ -252,18 +244,10 @@
// CHECK: encoding: [0x62,0xf5,0xfd,0x28,0x6d,0xd3]
vcvttpd2qqs ymm2, ymm3
-// CHECK: vcvttpd2qqs ymm2, ymm3, {sae}
-// CHECK: encoding: [0x62,0xf5,0xf9,0x18,0x6d,0xd3]
- vcvttpd2qqs ymm2, ymm3, {sae}
-
// CHECK: vcvttpd2qqs ymm2 {k7}, ymm3
// CHECK: encoding: [0x62,0xf5,0xfd,0x2f,0x6d,0xd3]
vcvttpd2qqs ymm2 {k7}, ymm3
-// CHECK: vcvttpd2qqs ymm2 {k7} {z}, ymm3, {sae}
-// CHECK: encoding: [0x62,0xf5,0xf9,0x9f,0x6d,0xd3]
- vcvttpd2qqs ymm2 {k7} {z}, ymm3, {sae}
-
// CHECK: vcvttpd2qqs zmm2, zmm3
// CHECK: encoding: [0x62,0xf5,0xfd,0x48,0x6d,0xd3]
vcvttpd2qqs zmm2, zmm3
@@ -368,18 +352,10 @@
// CHECK: encoding: [0x62,0xf5,0xfc,0x28,0x6c,0xd3]
vcvttpd2udqs xmm2, ymm3
-// CHECK: vcvttpd2udqs xmm2, ymm3, {sae}
-// CHECK: encoding: [0x62,0xf5,0xf8,0x18,0x6c,0xd3]
- vcvttpd2udqs xmm2, ymm3, {sae}
-
// CHECK: vcvttpd2udqs xmm2 {k7}, ymm3
// CHECK: encoding: [0x62,0xf5,0xfc,0x2f,0x6c,0xd3]
vcvttpd2udqs xmm2 {k7}, ymm3
-// CHECK: vcvttpd2udqs xmm2 {k7} {z}, ymm3, {sae}
-// CHECK: encoding: [0x62,0xf5,0xf8,0x9f,0x6c,0xd3]
- vcvttpd2udqs xmm2 {k7} {z}, ymm3, {sae}
-
// CHECK: vcvttpd2udqs ymm2, zmm3
// CHECK: encoding: [0x62,0xf5,0xfc,0x48,0x6c,0xd3]
vcvttpd2udqs ymm2, zmm3
@@ -476,18 +452,10 @@
// CHECK: encoding: [0x62,0xf5,0xfd,0x28,0x6c,0xd3]
vcvttpd2uqqs ymm2, ymm3
-// CHECK: vcvttpd2uqqs ymm2, ymm3, {sae}
-// CHECK: encoding: [0x62,0xf5,0xf9,0x18,0x6c,0xd3]
- vcvttpd2uqqs ymm2, ymm3, {sae}
-
// CHECK: vcvttpd2uqqs ymm2 {k7}, ymm3
// CHECK: encoding: [0x62,0xf5,0xfd,0x2f,0x6c,0xd3]
vcvttpd2uqqs ymm2 {k7}, ymm3
-// CHECK: vcvttpd2uqqs ymm2 {k7} {z}, ymm3, {sae}
-// CHECK: encoding: [0x62,0xf5,0xf9,0x9f,0x6c,0xd3]
- vcvttpd2uqqs ymm2 {k7} {z}, ymm3, {sae}
-
// CHECK: vcvttpd2uqqs zmm2, zmm3
// CHECK: encoding: [0x62,0xf5,0xfd,0x48,0x6c,0xd3]
vcvttpd2uqqs zmm2, zmm3
@@ -592,18 +560,10 @@
// CHECK: encoding: [0x62,0xf5,0x7c,0x28,0x6d,0xd3]
vcvttps2dqs ymm2, ymm3
-// CHECK: vcvttps2dqs ymm2, ymm3, {sae}
-// CHECK: encoding: [0x62,0xf5,0x78,0x18,0x6d,0xd3]
- vcvttps2dqs ymm2, ymm3, {sae}
-
// CHECK: vcvttps2dqs ymm2 {k7}, ymm3
// CHECK: encoding: [0x62,0xf5,0x7c,0x2f,0x6d,0xd3]
vcvttps2dqs ymm2 {k7}, ymm3
-// CHECK: vcvttps2dqs ymm2 {k7} {z}, ymm3, {sae}
-// CHECK: encoding: [0x62,0xf5,0x78,0x9f,0x6d,0xd3]
- vcvttps2dqs ymm2 {k7} {z}, ymm3, {sae}
-
// CHECK: vcvttps2dqs zmm2, zmm3
// CHECK: encoding: [0x62,0xf5,0x7c,0x48,0x6d,0xd3]
vcvttps2dqs zmm2, zmm3
@@ -708,18 +668,10 @@
// CHECK: encoding: [0x62,0xf5,0x7d,0x28,0x6d,0xd3]
vcvttps2qqs ymm2, xmm3
-// CHECK: vcvttps2qqs ymm2, xmm3, {sae}
-// CHECK: encoding: [0x62,0xf5,0x79,0x18,0x6d,0xd3]
- vcvttps2qqs ymm2, xmm3, {sae}
-
// CHECK: vcvttps2qqs ymm2 {k7}, xmm3
// CHECK: encoding: [0x62,0xf5,0x7d,0x2f,0x6d,0xd3]
vcvttps2qqs ymm2 {k7}, xmm3
-// CHECK: vcvttps2qqs ymm2 {k7} {z}, xmm3, {sae}
-// CHECK: encoding: [0x62,0xf5,0x79,0x9f,0x6d,0xd3]
- vcvttps2qqs ymm2 {k7} {z}, xmm3, {sae}
-
// CHECK: vcvttps2qqs zmm2, ymm3
// CHECK: encoding: [0x62,0xf5,0x7d,0x48,0x6d,0xd3]
vcvttps2qqs zmm2, ymm3
@@ -824,18 +776,10 @@
// CHECK: encoding: [0x62,0xf5,0x7c,0x28,0x6c,0xd3]
vcvttps2udqs ymm2, ymm3
-// CHECK: vcvttps2udqs ymm2, ymm3, {sae}
-// CHECK: encoding: [0x62,0xf5,0x78,0x18,0x6c,0xd3]
- vcvttps2udqs ymm2, ymm3, {sae}
-
// CHECK: vcvttps2udqs ymm2 {k7}, ymm3
// CHECK: encoding: [0x62,0xf5,0x7c,0x2f,0x6c,0xd3]
vcvttps2udqs ymm2 {k7}, ymm3
-// CHECK: vcvttps2udqs ymm2 {k7} {z}, ymm3, {sae}
-// CHECK: encoding: [0x62,0xf5,0x78,0x9f,0x6c,0xd3]
- vcvttps2udqs ymm2 {k7} {z}, ymm3, {sae}
-
// CHECK: vcvttps2udqs zmm2, zmm3
// CHECK: encoding: [0x62,0xf5,0x7c,0x48,0x6c,0xd3]
vcvttps2udqs zmm2, zmm3
@@ -940,18 +884,10 @@
// CHECK: encoding: [0x62,0xf5,0x7d,0x28,0x6c,0xd3]
vcvttps2uqqs ymm2, xmm3
-// CHECK: vcvttps2uqqs ymm2, xmm3, {sae}
-// CHECK: encoding: [0x62,0xf5,0x79,0x18,0x6c,0xd3]
- vcvttps2uqqs ymm2, xmm3, {sae}
-
// CHECK: vcvttps2uqqs ymm2 {k7}, xmm3
// CHECK: encoding: [0x62,0xf5,0x7d,0x2f,0x6c,0xd3]
vcvttps2uqqs ymm2 {k7}, xmm3
-// CHECK: vcvttps2uqqs ymm2 {k7} {z}, xmm3, {sae}
-// CHECK: encoding: [0x62,0xf5,0x79,0x9f,0x6c,0xd3]
- vcvttps2uqqs ymm2 {k7} {z}, xmm3, {sae}
-
// CHECK: vcvttps2uqqs zmm2, ymm3
// CHECK: encoding: [0x62,0xf5,0x7d,0x48,0x6c,0xd3]
vcvttps2uqqs zmm2, ymm3
diff --git a/llvm/test/MC/X86/avx10_2satcvtds-64-att.s b/llvm/test/MC/X86/avx10_2satcvtds-64-att.s
index c653bf52219a4..6218e726fa1a7 100644
--- a/llvm/test/MC/X86/avx10_2satcvtds-64-att.s
+++ b/llvm/test/MC/X86/avx10_2satcvtds-64-att.s
@@ -272,18 +272,10 @@
// CHECK: encoding: [0x62,0xa5,0xfc,0x28,0x6d,0xf7]
vcvttpd2dqs %ymm23, %xmm22
-// CHECK: vcvttpd2dqs {sae}, %ymm23, %xmm22
-// CHECK: encoding: [0x62,0xa5,0xf8,0x18,0x6d,0xf7]
- vcvttpd2dqs {sae}, %ymm23, %xmm22
-
// CHECK: vcvttpd2dqs %ymm23, %xmm22 {%k7}
// CHECK: encoding: [0x62,0xa5,0xfc,0x2f,0x6d,0xf7]
vcvttpd2dqs %ymm23, %xmm22 {%k7}
-// CHECK: vcvttpd2dqs {sae}, %ymm23, %xmm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa5,0xf8,0x9f,0x6d,0xf7]
- vcvttpd2dqs {sae}, %ymm23, %xmm22 {%k7} {z}
-
// CHECK: vcvttpd2dqs %zmm23, %ymm22
// CHECK: encoding: [0x62,0xa5,0xfc,0x48,0x6d,0xf7]
vcvttpd2dqs %zmm23, %ymm22
@@ -380,18 +372,10 @@
// CHECK: encoding: [0x62,0xa5,0xfd,0x28,0x6d,0xf7]
vcvttpd2qqs %ymm23, %ymm22
-// CHECK: vcvttpd2qqs {sae}, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0xa5,0xf9,0x18,0x6d,0xf7]
- vcvttpd2qqs {sae}, %ymm23, %ymm22
-
// CHECK: vcvttpd2qqs %ymm23, %ymm22 {%k7}
// CHECK: encoding: [0x62,0xa5,0xfd,0x2f,0x6d,0xf7]
vcvttpd2qqs %ymm23, %ymm22 {%k7}
-// CHECK: vcvttpd2qqs {sae}, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa5,0xf9,0x9f,0x6d,0xf7]
- vcvttpd2qqs {sae}, %ymm23, %ymm22 {%k7} {z}
-
// CHECK: vcvttpd2qqs %zmm23, %zmm22
// CHECK: encoding: [0x62,0xa5,0xfd,0x48,0x6d,0xf7]
vcvttpd2qqs %zmm23, %zmm22
@@ -496,18 +480,10 @@
// CHECK: encoding: [0x62,0xa5,0xfc,0x28,0x6c,0xf7]
vcvttpd2udqs %ymm23, %xmm22
-// CHECK: vcvttpd2udqs {sae}, %ymm23, %xmm22
-// CHECK: encoding: [0x62,0xa5,0xf8,0x18,0x6c,0xf7]
- vcvttpd2udqs {sae}, %ymm23, %xmm22
-
// CHECK: vcvttpd2udqs %ymm23, %xmm22 {%k7}
// CHECK: encoding: [0x62,0xa5,0xfc,0x2f,0x6c,0xf7]
vcvttpd2udqs %ymm23, %xmm22 {%k7}
-// CHECK: vcvttpd2udqs {sae}, %ymm23, %xmm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa5,0xf8,0x9f,0x6c,0xf7]
- vcvttpd2udqs {sae}, %ymm23, %xmm22 {%k7} {z}
-
// CHECK: vcvttpd2udqs %zmm23, %ymm22
// CHECK: encoding: [0x62,0xa5,0xfc,0x48,0x6c,0xf7]
vcvttpd2udqs %zmm23, %ymm22
@@ -604,18 +580,10 @@
// CHECK: encoding: [0x62,0xa5,0xfd,0x28,0x6c,0xf7]
vcvttpd2uqqs %ymm23, %ymm22
-// CHECK: vcvttpd2uqqs {sae}, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0xa5,0xf9,0x18,0x6c,0xf7]
- vcvttpd2uqqs {sae}, %ymm23, %ymm22
-
// CHECK: vcvttpd2uqqs %ymm23, %ymm22 {%k7}
// CHECK: encoding: [0x62,0xa5,0xfd,0x2f,0x6c,0xf7]
vcvttpd2uqqs %ymm23, %ymm22 {%k7}
-// CHECK: vcvttpd2uqqs {sae}, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa5,0xf9,0x9f,0x6c,0xf7]
- vcvttpd2uqqs {sae}, %ymm23, %ymm22 {%k7} {z}
-
// CHECK: vcvttpd2uqqs %zmm23, %zmm22
// CHECK: encoding: [0x62,0xa5,0xfd,0x48,0x6c,0xf7]
vcvttpd2uqqs %zmm23, %zmm22
@@ -720,18 +688,10 @@
// CHECK: encoding: [0x62,0xa5,0x7c,0x28,0x6d,0xf7]
vcvttps2dqs %ymm23, %ymm22
-// CHECK: vcvttps2dqs {sae}, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0xa5,0x78,0x18,0x6d,0xf7]
- vcvttps2dqs {sae}, %ymm23, %ymm22
-
// CHECK: vcvttps2dqs %ymm23, %ymm22 {%k7}
// CHECK: encoding: [0x62,0xa5,0x7c,0x2f,0x6d,0xf7]
vcvttps2dqs %ymm23, %ymm22 {%k7}
-// CHECK: vcvttps2dqs {sae}, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa5,0x78,0x9f,0x6d,0xf7]
- vcvttps2dqs {sae}, %ymm23, %ymm22 {%k7} {z}
-
// CHECK: vcvttps2dqs %zmm23, %zmm22
// CHECK: encoding: [0x62,0xa5,0x7c,0x48,0x6d,0xf7]
vcvttps2dqs %zmm23, %zmm22
@@ -952,18 +912,10 @@
// CHECK: encoding: [0x62,0xa5,0x7c,0x28,0x6c,0xf7]
vcvttps2udqs %ymm23, %ymm22
-// CHECK: vcvttps2udqs {sae}, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0xa5,0x78,0x18,0x6c,0xf7]
- vcvttps2udqs {sae}, %ymm23, %ymm22
-
// CHECK: vcvttps2udqs %ymm23, %ymm22 {%k7}
// CHECK: encoding: [0x62,0xa5,0x7c,0x2f,0x6c,0xf7]
vcvttps2udqs %ymm23, %ymm22 {%k7}
-// CHECK: vcvttps2udqs {sae}, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa5,0x78,0x9f,0x6c,0xf7]
- vcvttps2udqs {sae}, %ymm23, %ymm22 {%k7} {z}
-
// CHECK: vcvttps2udqs %zmm23, %zmm22
// CHECK: encoding: [0x62,0xa5,0x7c,0x48,0x6c,0xf7]
vcvttps2udqs %zmm23, %zmm22
diff --git a/llvm/test/MC/X86/avx10_2satcvtds-64-intel.s b/llvm/test/MC/X86/avx10_2satcvtds-64-intel.s
index 9e9af84c054ef..3269b2ca49a4f 100644
--- a/llvm/test/MC/X86/avx10_2satcvtds-64-intel.s
+++ b/llvm/test/MC/X86/avx10_2satcvtds-64-intel.s
@@ -272,18 +272,10 @@
// CHECK: encoding: [0x62,0xa5,0xfc,0x28,0x6d,0xf7]
vcvttpd2dqs xmm22, ymm23
-// CHECK: vcvttpd2dqs xmm22, ymm23, {sae}
-// CHECK: encoding: [0x62,0xa5,0xf8,0x18,0x6d,0xf7]
- vcvttpd2dqs xmm22, ymm23, {sae}
-
// CHECK: vcvttpd2dqs xmm22 {k7}, ymm23
// CHECK: encoding: [0x62,0xa5,0xfc,0x2f,0x6d,0xf7]
vcvttpd2dqs xmm22 {k7}, ymm23
-// CHECK: vcvttpd2dqs xmm22 {k7} {z}, ymm23, {sae}
-// CHECK: encoding: [0x62,0xa5,0xf8,0x9f,0x6d,0xf7]
- vcvttpd2dqs xmm22 {k7} {z}, ymm23, {sae}
-
// CHECK: vcvttpd2dqs ymm22, zmm23
// CHECK: encoding: [0x62,0xa5,0xfc,0x48,0x6d,0xf7]
vcvttpd2dqs ymm22, zmm23
@@ -380,18 +372,10 @@
// CHECK: encoding: [0x62,0xa5,0xfd,0x28,0x6d,0xf7]
vcvttpd2qqs ymm22, ymm23
-// CHECK: vcvttpd2qqs ymm22, ymm23, {sae}
-// CHECK: encoding: [0x62,0xa5,0xf9,0x18,0x6d,0xf7]
- vcvttpd2qqs ymm22, ymm23, {sae}
-
// CHECK: vcvttpd2qqs ymm22 {k7}, ymm23
// CHECK: encoding: [0x62,0xa5,0xfd,0x2f,0x6d,0xf7]
vcvttpd2qqs ymm22 {k7}, ymm23
-// CHECK: vcvttpd2qqs ymm22 {k7} {z}, ymm23, {sae}
-// CHECK: encoding: [0x62,0xa5,0xf9,0x9f,0x6d,0xf7]
- vcvttpd2qqs ymm22 {k7} {z}, ymm23, {sae}
-
// CHECK: vcvttpd2qqs zmm22, zmm23
// CHECK: encoding: [0x62,0xa5,0xfd,0x48,0x6d,0xf7]
vcvttpd2qqs zmm22, zmm23
@@ -496,18 +480,10 @@
// CHECK: encoding: [0x62,0xa5,0xfc,0x28,0x6c,0xf7]
vcvttpd2udqs xmm22, ymm23
-// CHECK: vcvttpd2udqs xmm22, ymm23, {sae}
-// CHECK: encoding: [0x62,0xa5,0xf8,0x18,0x6c,0xf7]
- vcvttpd2udqs xmm22, ymm23, {sae}
-
// CHECK: vcvttpd2udqs xmm22 {k7}, ymm23
// CHECK: encoding: [0x62,0xa5,0xfc,0x2f,0x6c,0xf7]
vcvttpd2udqs xmm22 {k7}, ymm23
-// CHECK: vcvttpd2udqs xmm22 {k7} {z}, ymm23, {sae}
-// CHECK: encoding: [0x62,0xa5,0xf8,0x9f,0x6c,0xf7]
- vcvttpd2udqs xmm22 {k7} {z}, ymm23, {sae}
-
// CHECK: vcvttpd2udqs ymm22, zmm23
// CHECK: encoding: [0x62,0xa5,0xfc,0x48,0x6c,0xf7]
vcvttpd2udqs ymm22, zmm23
@@ -604,18 +580,10 @@
// CHECK: encoding: [0x62,0xa5,0xfd,0x28,0x6c,0xf7]
vcvttpd2uqqs ymm22, ymm23
-// CHECK: vcvttpd2uqqs ymm22, ymm23, {sae}
-// CHECK: encoding: [0x62,0xa5,0xf9,0x18,0x6c,0xf7]
- vcvttpd2uqqs ymm22, ymm23, {sae}
-
// CHECK: vcvttpd2uqqs ymm22 {k7}, ymm23
// CHECK: encoding: [0x62,0xa5,0xfd,0x2f,0x6c,0xf7]
vcvttpd2uqqs ymm22 {k7}, ymm23
-// CHECK: vcvttpd2uqqs ymm22 {k7} {z}, ymm23, {sae}
-// CHECK: encoding: [0x62,0xa5,0xf9,0x9f,0x6c,0xf7]
- vcvttpd2uqqs ymm22 {k7} {z}, ymm23, {sae}
-
// CHECK: vcvttpd2uqqs zmm22, zmm23
// CHECK: encoding: [0x62,0xa5,0xfd,0x48,0x6c,0xf7]
vcvttpd2uqqs zmm22, zmm23
@@ -720,18 +688,10 @@
// CHECK: encoding: [0x62,0xa5,0x7c,0x28,0x6d,0xf7]
vcvttps2dqs ymm22, ymm23
-// CHECK: vcvttps2dqs ymm22, ymm23, {sae}
-// CHECK: encoding: [0x62,0xa5,0x78,0x18,0x6d,0xf7]
- vcvttps2dqs ymm22, ymm23, {sae}
-
// CHECK: vcvttps2dqs ymm22 {k7}, ymm23
// CHECK: encoding: [0x62,0xa5,0x7c,0x2f,0x6d,0xf7]
vcvttps2dqs ymm22 {k7}, ymm23
-// CHECK: vcvttps2dqs ymm22 {k7} {z}, ymm23, {sae}
-// CHECK: encoding: [0x62,0xa5,0x78,0x9f,0x6d,0xf7]
- vcvttps2dqs ymm22 {k7} {z}, ymm23, {sae}
-
// CHECK: vcvttps2dqs zmm22, zmm23
// CHECK: encoding: [0x62,0xa5,0x7c,0x48,0x6d,0xf7]
vcvttps2dqs zmm22, zmm23
@@ -836,18 +796,10 @@
// CHECK: encoding: [0x62,0xa5,0x7d,0x28,0x6d,0xf7]
vcvttps2qqs ymm22, xmm23
-// CHECK: vcvttps2qqs ymm22, xmm23, {sae}
-// CHECK: encoding: [0x62,0xa5,0x79,0x18,0x6d,0xf7]
- vcvttps2qqs ymm22, xmm23, {sae}
-
// CHECK: vcvttps2qqs ymm22 {k7}, xmm23
// CHECK: encoding: [0x62,0xa5,0x7d,0x2f,0x6d,0xf7]
vcvttps2qqs ymm22 {k7}, xmm23
-// CHECK: vcvttps2qqs ymm22 {k7} {z}, xmm23, {sae}
-// CHECK: encoding: [0x62,0xa5,0x79,0x9f,0x6d,0xf7]
- vcvttps2qqs ymm22 {k7} {z}, xmm23, {sae}
-
// CHECK: vcvttps2qqs zmm22, ymm23
// CHECK: encoding: [0x62,0xa5,0x7d,0x48,0x6d,0xf7]
vcvttps2qqs zmm22, ymm23
@@ -952,18 +904,10 @@
// CHECK: encoding: [0x62,0xa5,0x7c,0x28,0x6c,0xf7]
vcvttps2udqs ymm22, ymm23
-// CHECK: vcvttps2udqs ymm22, ymm23, {sae}
-// CHECK: encoding: [0x62,0xa5,0x78,0x18,0x6c,0xf7]
- vcvttps2udqs ymm22, ymm23, {sae}
-
// CHECK: vcvttps2udqs ymm22 {k7}, ymm23
// CHECK: encoding: [0x62,0xa5,0x7c,0x2f,0x6c,0xf7]
vcvttps2udqs ymm22 {k7}, ymm23
-// CHECK: vcvttps2udqs ymm22 {k7} {z}, ymm23, {sae}
-// CHECK: encoding: [0x62,0xa5,0x78,0x9f,0x6c,0xf7]
- vcvttps2udqs ymm22 {k7} {z}, ymm23, {sae}
-
// CHECK: vcvttps2udqs zmm22, zmm23
// CHECK: encoding: [0x62,0xa5,0x7c,0x48,0x6c,0xf7]
vcvttps2udqs zmm22, zmm23
@@ -1068,18 +1012,10 @@
// CHECK: encoding: [0x62,0xa5,0x7d,0x28,0x6c,0xf7]
vcvttps2uqqs ymm22, xmm23
-// CHECK: vcvttps2uqqs ymm22, xmm23, {sae}
-// CHECK: encoding: [0x62,0xa5,0x79,0x18,0x6c,0xf7]
- vcvttps2uqqs ymm22, xmm23, {sae}
-
// CHECK: vcvttps2uqqs ymm22 {k7}, xmm23
// CHECK: encoding: [0x62,0xa5,0x7d,0x2f,0x6c,0xf7]
vcvttps2uqqs ymm22 {k7}, xmm23
-// CHECK: vcvttps2uqqs ymm22 {k7} {z}, xmm23, {sae}
-// CHECK: encoding: [0x62,0xa5,0x79,0x9f,0x6c,0xf7]
- vcvttps2uqqs ymm22 {k7} {z}, xmm23, {sae}
-
// CHECK: vcvttps2uqqs zmm22, ymm23
// CHECK: encoding: [0x62,0xa5,0x7d,0x48,0x6c,0xf7]
vcvttps2uqqs zmm22, ymm23
>From fa4e3e429e259faba4e2f67559920e2cd2a63bdd Mon Sep 17 00:00:00 2001
From: Phoebe Wang <phoebe.wang at intel.com>
Date: Sat, 22 Mar 2025 01:42:22 +0100
Subject: [PATCH 6/6] [X86][AVX10.2] Remove YMM rounding from
VCVT[,T]PS2I[,U]BS (#132426)
Ref: https://cdrdv2.intel.com/v1/dl/getContent/784343
---
clang/include/clang/Basic/BuiltinsX86.td | 16 +-
clang/lib/Headers/avx10_2satcvtintrin.h | 196 ++------
clang/lib/Sema/SemaX86.cpp | 8 -
.../X86/avx10_2_512satcvt-builtins-error.c | 198 --------
.../test/CodeGen/X86/avx10_2satcvt-builtins.c | 142 ------
llvm/include/llvm/IR/IntrinsicsX86.td | 32 +-
llvm/lib/Target/X86/X86InstrAVX10.td | 19 -
llvm/lib/Target/X86/X86IntrinsicsInfo.h | 24 +-
.../CodeGen/X86/avx10_2satcvt-intrinsics.ll | 448 ++----------------
.../MC/Disassembler/X86/avx10.2-satcvt-32.txt | 64 ---
.../MC/Disassembler/X86/avx10.2-satcvt-64.txt | 64 ---
llvm/test/MC/X86/avx10.2satcvt-32-att.s | 64 ---
llvm/test/MC/X86/avx10.2satcvt-32-intel.s | 64 ---
llvm/test/MC/X86/avx10.2satcvt-64-att.s | 64 ---
llvm/test/MC/X86/avx10.2satcvt-64-intel.s | 64 ---
15 files changed, 100 insertions(+), 1367 deletions(-)
delete mode 100755 clang/test/CodeGen/X86/avx10_2_512satcvt-builtins-error.c
diff --git a/clang/include/clang/Basic/BuiltinsX86.td b/clang/include/clang/Basic/BuiltinsX86.td
index 5ba92279bb766..491ce14e7097f 100644
--- a/clang/include/clang/Basic/BuiltinsX86.td
+++ b/clang/include/clang/Basic/BuiltinsX86.td
@@ -4889,7 +4889,7 @@ let Features = "avx10.2-256", Attributes = [NoThrow, RequiredVectorWidth<128>] i
}
let Features = "avx10.2-256", Attributes = [NoThrow, RequiredVectorWidth<256>] in {
- def vcvtph2ibs256_mask : X86Builtin<"_Vector<16, unsigned short>(_Vector<16, _Float16>, _Vector<16, unsigned short>, unsigned short, _Constant int)">;
+ def vcvtph2ibs256_mask : X86Builtin<"_Vector<16, unsigned short>(_Vector<16, _Float16>, _Vector<16, unsigned short>, unsigned short)">;
}
let Features = "avx10.2-512", Attributes = [NoThrow, RequiredVectorWidth<512>] in {
@@ -4901,7 +4901,7 @@ let Features = "avx10.2-256", Attributes = [NoThrow, RequiredVectorWidth<128>] i
}
let Features = "avx10.2-256", Attributes = [NoThrow, RequiredVectorWidth<256>] in {
- def vcvtph2iubs256_mask : X86Builtin<"_Vector<16, unsigned short>(_Vector<16, _Float16>, _Vector<16, unsigned short>, unsigned short, _Constant int)">;
+ def vcvtph2iubs256_mask : X86Builtin<"_Vector<16, unsigned short>(_Vector<16, _Float16>, _Vector<16, unsigned short>, unsigned short)">;
}
let Features = "avx10.2-512", Attributes = [NoThrow, RequiredVectorWidth<512>] in {
@@ -4913,7 +4913,7 @@ let Features = "avx10.2-256", Attributes = [NoThrow, RequiredVectorWidth<128>] i
}
let Features = "avx10.2-256", Attributes = [NoThrow, RequiredVectorWidth<256>] in {
- def vcvtps2ibs256_mask : X86Builtin<"_Vector<8, unsigned int>(_Vector<8, float>, _Vector<8, unsigned int>, unsigned char, _Constant int)">;
+ def vcvtps2ibs256_mask : X86Builtin<"_Vector<8, unsigned int>(_Vector<8, float>, _Vector<8, unsigned int>, unsigned char)">;
}
let Features = "avx10.2-512", Attributes = [NoThrow, RequiredVectorWidth<512>] in {
@@ -4925,7 +4925,7 @@ let Features = "avx10.2-256", Attributes = [NoThrow, RequiredVectorWidth<128>] i
}
let Features = "avx10.2-256", Attributes = [NoThrow, RequiredVectorWidth<256>] in {
- def vcvtps2iubs256_mask : X86Builtin<"_Vector<8, unsigned int>(_Vector<8, float>, _Vector<8, unsigned int>, unsigned char, _Constant int)">;
+ def vcvtps2iubs256_mask : X86Builtin<"_Vector<8, unsigned int>(_Vector<8, float>, _Vector<8, unsigned int>, unsigned char)">;
}
let Features = "avx10.2-512", Attributes = [NoThrow, RequiredVectorWidth<512>] in {
@@ -4961,7 +4961,7 @@ let Features = "avx10.2-256", Attributes = [NoThrow, RequiredVectorWidth<128>] i
}
let Features = "avx10.2-256", Attributes = [NoThrow, RequiredVectorWidth<256>] in {
- def vcvttph2ibs256_mask : X86Builtin<"_Vector<16, unsigned short>(_Vector<16, _Float16>, _Vector<16, unsigned short>, unsigned short, _Constant int)">;
+ def vcvttph2ibs256_mask : X86Builtin<"_Vector<16, unsigned short>(_Vector<16, _Float16>, _Vector<16, unsigned short>, unsigned short)">;
}
let Features = "avx10.2-512", Attributes = [NoThrow, RequiredVectorWidth<512>] in {
@@ -4973,7 +4973,7 @@ let Features = "avx10.2-256", Attributes = [NoThrow, RequiredVectorWidth<128>] i
}
let Features = "avx10.2-256", Attributes = [NoThrow, RequiredVectorWidth<256>] in {
- def vcvttph2iubs256_mask : X86Builtin<"_Vector<16, unsigned short>(_Vector<16, _Float16>, _Vector<16, unsigned short>, unsigned short, _Constant int)">;
+ def vcvttph2iubs256_mask : X86Builtin<"_Vector<16, unsigned short>(_Vector<16, _Float16>, _Vector<16, unsigned short>, unsigned short)">;
}
let Features = "avx10.2-512", Attributes = [NoThrow, RequiredVectorWidth<512>] in {
@@ -4985,7 +4985,7 @@ let Features = "avx10.2-256", Attributes = [NoThrow, RequiredVectorWidth<128>] i
}
let Features = "avx10.2-256", Attributes = [NoThrow, RequiredVectorWidth<256>] in {
- def vcvttps2ibs256_mask : X86Builtin<"_Vector<8, unsigned int>(_Vector<8, float>, _Vector<8, unsigned int>, unsigned char, _Constant int)">;
+ def vcvttps2ibs256_mask : X86Builtin<"_Vector<8, unsigned int>(_Vector<8, float>, _Vector<8, unsigned int>, unsigned char)">;
}
let Features = "avx10.2-512", Attributes = [NoThrow, RequiredVectorWidth<512>] in {
@@ -4997,7 +4997,7 @@ let Features = "avx10.2-256", Attributes = [NoThrow, RequiredVectorWidth<128>] i
}
let Features = "avx10.2-256", Attributes = [NoThrow, RequiredVectorWidth<256>] in {
- def vcvttps2iubs256_mask : X86Builtin<"_Vector<8, unsigned int>(_Vector<8, float>, _Vector<8, unsigned int>, unsigned char, _Constant int)">;
+ def vcvttps2iubs256_mask : X86Builtin<"_Vector<8, unsigned int>(_Vector<8, float>, _Vector<8, unsigned int>, unsigned char)">;
}
let Features = "avx10.2-512", Attributes = [NoThrow, RequiredVectorWidth<512>] in {
diff --git a/clang/lib/Headers/avx10_2satcvtintrin.h b/clang/lib/Headers/avx10_2satcvtintrin.h
index f0e6eba4bab81..2f1fad9eff730 100644
--- a/clang/lib/Headers/avx10_2satcvtintrin.h
+++ b/clang/lib/Headers/avx10_2satcvtintrin.h
@@ -66,7 +66,7 @@
#define _mm_ipcvts_ph_epi8(A) \
((__m128i)__builtin_ia32_vcvtph2ibs128_mask( \
- (__v8hf)(__m128h)(A), (__v8hu)_mm_setzero_si128(), (__mmask8) - 1))
+ (__v8hf)(__m128h)(A), (__v8hu)_mm_setzero_si128(), (__mmask8)-1))
#define _mm_mask_ipcvts_ph_epi8(W, U, A) \
((__m128i)__builtin_ia32_vcvtph2ibs128_mask((__v8hf)(__m128h)(A), \
@@ -78,36 +78,20 @@
#define _mm256_ipcvts_ph_epi8(A) \
((__m256i)__builtin_ia32_vcvtph2ibs256_mask( \
- (__v16hf)(__m256h)(A), (__v16hu)_mm256_setzero_si256(), (__mmask16) - 1, \
- _MM_FROUND_CUR_DIRECTION))
+ (__v16hf)(__m256h)(A), (__v16hu)_mm256_setzero_si256(), (__mmask16)-1))
#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))
+ (__v16hu)(W), (__mmask16)(U)))
#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_ipcvts_roundph_epi8(A, R) \
- ((__m256i)__builtin_ia32_vcvtph2ibs256_mask((__v16hf)(__m256h)(A), \
- (__v16hu)_mm256_setzero_si256(), \
- (__mmask16) - 1, (const int)R))
-
-#define _mm256_mask_ipcvts_roundph_epi8(W, U, A, R) \
- ((__m256i)__builtin_ia32_vcvtph2ibs256_mask( \
- (__v16hf)(__m256h)(A), (__v16hu)(W), (__mmask16)(U), (const int)R))
-
-#define _mm256_maskz_ipcvts_roundph_epi8(U, A, R) \
- ((__m256i)__builtin_ia32_vcvtph2ibs256_mask((__v16hf)(__m256h)(A), \
- (__v16hu)_mm256_setzero_si256(), \
- (__mmask16)(U), (const int)R))
+ (__mmask16)(U)))
#define _mm_ipcvts_ph_epu8(A) \
((__m128i)__builtin_ia32_vcvtph2iubs128_mask( \
- (__v8hf)(__m128h)(A), (__v8hu)_mm_setzero_si128(), (__mmask8) - 1))
+ (__v8hf)(__m128h)(A), (__v8hu)_mm_setzero_si128(), (__mmask8)-1))
#define _mm_mask_ipcvts_ph_epu8(W, U, A) \
((__m128i)__builtin_ia32_vcvtph2iubs128_mask((__v8hf)(__m128h)(A), \
@@ -119,36 +103,20 @@
#define _mm256_ipcvts_ph_epu8(A) \
((__m256i)__builtin_ia32_vcvtph2iubs256_mask( \
- (__v16hf)(__m256h)(A), (__v16hu)_mm256_setzero_si256(), (__mmask16) - 1, \
- _MM_FROUND_CUR_DIRECTION))
+ (__v16hf)(__m256h)(A), (__v16hu)_mm256_setzero_si256(), (__mmask16)-1))
#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))
+ (__v16hu)(W), (__mmask16)(U)))
#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_ipcvts_roundph_epu8(A, R) \
- ((__m256i)__builtin_ia32_vcvtph2iubs256_mask( \
- (__v16hf)(__m256h)(A), (__v16hu)_mm256_setzero_si256(), (__mmask16) - 1, \
- (const int)R))
-
-#define _mm256_mask_ipcvts_roundph_epu8(W, U, A, R) \
- ((__m256i)__builtin_ia32_vcvtph2iubs256_mask( \
- (__v16hf)(__m256h)(A), (__v16hu)(W), (__mmask16)(U), (const int)R))
-
-#define _mm256_maskz_ipcvts_roundph_epu8(U, A, R) \
- ((__m256i)__builtin_ia32_vcvtph2iubs256_mask( \
- (__v16hf)(__m256h)(A), (__v16hu)_mm256_setzero_si256(), (__mmask16)(U), \
- (const int)R))
+ (__mmask16)(U)))
#define _mm_ipcvts_ps_epi8(A) \
((__m128i)__builtin_ia32_vcvtps2ibs128_mask( \
- (__v4sf)(__m128)(A), (__v4su)_mm_setzero_si128(), (__mmask8) - 1))
+ (__v4sf)(__m128)(A), (__v4su)_mm_setzero_si128(), (__mmask8)-1))
#define _mm_mask_ipcvts_ps_epi8(W, U, A) \
((__m128i)__builtin_ia32_vcvtps2ibs128_mask((__v4sf)(__m128)(A), \
@@ -160,36 +128,19 @@
#define _mm256_ipcvts_ps_epi8(A) \
((__m256i)__builtin_ia32_vcvtps2ibs256_mask( \
- (__v8sf)(__m256)(A), (__v8su)_mm256_setzero_si256(), (__mmask8) - 1, \
- _MM_FROUND_CUR_DIRECTION))
+ (__v8sf)(__m256)(A), (__v8su)_mm256_setzero_si256(), (__mmask8)-1))
#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))
+ (__v8su)(W), (__mmask8)(U)))
#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_ipcvts_roundps_epi8(A, R) \
- ((__m256i)__builtin_ia32_vcvtps2ibs256_mask((__v8sf)(__m256)(A), \
- (__v8su)_mm256_setzero_si256(), \
- (__mmask8) - 1, (const int)R))
-
-#define _mm256_mask_ipcvts_roundps_epi8(W, U, A, R) \
- ((__m256i)__builtin_ia32_vcvtps2ibs256_mask( \
- (__v8sf)(__m256)(A), (__v8su)(W), (__mmask8)(U), (const int)R))
-
-#define _mm256_maskz_ipcvts_roundps_epi8(U, A, R) \
- ((__m256i)__builtin_ia32_vcvtps2ibs256_mask((__v8sf)(__m256)(A), \
- (__v8su)_mm256_setzero_si256(), \
- (__mmask8)(U), (const int)R))
+ (__v8sf)(__m256)(A), (__v8su)(_mm256_setzero_si256()), (__mmask8)(U)))
#define _mm_ipcvts_ps_epu8(A) \
((__m128i)__builtin_ia32_vcvtps2iubs128_mask( \
- (__v4sf)(__m128)(A), (__v4su)_mm_setzero_si128(), (__mmask8) - 1))
+ (__v4sf)(__m128)(A), (__v4su)_mm_setzero_si128(), (__mmask8)-1))
#define _mm_mask_ipcvts_ps_epu8(W, U, A) \
((__m128i)__builtin_ia32_vcvtps2iubs128_mask((__v4sf)(__m128)(A), \
@@ -201,32 +152,15 @@
#define _mm256_ipcvts_ps_epu8(A) \
((__m256i)__builtin_ia32_vcvtps2iubs256_mask( \
- (__v8sf)(__m256)(A), (__v8su)_mm256_setzero_si256(), (__mmask8) - 1, \
- _MM_FROUND_CUR_DIRECTION))
+ (__v8sf)(__m256)(A), (__v8su)_mm256_setzero_si256(), (__mmask8)-1))
#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))
+ (__v8su)(W), (__mmask8)(U)))
#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_ipcvts_roundps_epu8(A, R) \
- ((__m256i)__builtin_ia32_vcvtps2iubs256_mask((__v8sf)(__m256)(A), \
- (__v8su)_mm256_setzero_si256(), \
- (__mmask8) - 1, (const int)R))
-
-#define _mm256_mask_ipcvts_roundps_epu8(W, U, A, R) \
- ((__m256i)__builtin_ia32_vcvtps2iubs256_mask( \
- (__v8sf)(__m256)(A), (__v8su)(W), (__mmask8)(U), (const int)R))
-
-#define _mm256_maskz_ipcvts_roundps_epu8(U, A, R) \
- ((__m256i)__builtin_ia32_vcvtps2iubs256_mask((__v8sf)(__m256)(A), \
- (__v8su)_mm256_setzero_si256(), \
- (__mmask8)(U), (const int)R))
+ (__v8sf)(__m256)(A), (__v8su)(_mm256_setzero_si256()), (__mmask8)(U)))
#define _mm_ipcvtts_bf16_epi8(A) \
((__m128i)__builtin_ia32_vcvttbf162ibs128((__v8bf)(__m128bh)(A)))
@@ -280,7 +214,7 @@
#define _mm_ipcvtts_ph_epi8(A) \
((__m128i)__builtin_ia32_vcvttph2ibs128_mask( \
- (__v8hf)(__m128h)(A), (__v8hu)_mm_setzero_si128(), (__mmask8) - 1))
+ (__v8hf)(__m128h)(A), (__v8hu)_mm_setzero_si128(), (__mmask8)-1))
#define _mm_mask_ipcvtts_ph_epi8(W, U, A) \
((__m128i)__builtin_ia32_vcvttph2ibs128_mask((__v8hf)(__m128h)(A), \
@@ -292,36 +226,20 @@
#define _mm256_ipcvtts_ph_epi8(A) \
((__m256i)__builtin_ia32_vcvttph2ibs256_mask( \
- (__v16hf)(__m256h)(A), (__v16hu)_mm256_setzero_si256(), (__mmask16) - 1, \
- _MM_FROUND_CUR_DIRECTION))
+ (__v16hf)(__m256h)(A), (__v16hu)_mm256_setzero_si256(), (__mmask16)-1))
#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))
+ (__v16hu)(W), (__mmask16)(U)))
#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_ipcvtts_roundph_epi8(A, R) \
- ((__m256i)__builtin_ia32_vcvttph2ibs256_mask( \
- (__v16hf)(__m256h)(A), (__v16hu)_mm256_setzero_si256(), (__mmask16) - 1, \
- (const int)R))
-
-#define _mm256_mask_ipcvtts_roundph_epi8(W, U, A, R) \
- ((__m256i)__builtin_ia32_vcvttph2ibs256_mask( \
- (__v16hf)(__m256h)(A), (__v16hu)(W), (__mmask16)(U), (const int)R))
-
-#define _mm256_maskz_ipcvtts_roundph_epi8(U, A, R) \
- ((__m256i)__builtin_ia32_vcvttph2ibs256_mask( \
- (__v16hf)(__m256h)(A), (__v16hu)_mm256_setzero_si256(), (__mmask16)(U), \
- (const int)R))
+ (__mmask16)(U)))
#define _mm_ipcvtts_ph_epu8(A) \
((__m128i)__builtin_ia32_vcvttph2iubs128_mask( \
- (__v8hf)(__m128h)(A), (__v8hu)_mm_setzero_si128(), (__mmask8) - 1))
+ (__v8hf)(__m128h)(A), (__v8hu)_mm_setzero_si128(), (__mmask8)-1))
#define _mm_mask_ipcvtts_ph_epu8(W, U, A) \
((__m128i)__builtin_ia32_vcvttph2iubs128_mask((__v8hf)(__m128h)(A), \
@@ -333,36 +251,20 @@
#define _mm256_ipcvtts_ph_epu8(A) \
((__m256i)__builtin_ia32_vcvttph2iubs256_mask( \
- (__v16hf)(__m256h)(A), (__v16hu)_mm256_setzero_si256(), (__mmask16) - 1, \
- _MM_FROUND_CUR_DIRECTION))
+ (__v16hf)(__m256h)(A), (__v16hu)_mm256_setzero_si256(), (__mmask16)-1))
#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))
+ (__v16hu)(W), (__mmask16)(U)))
#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_ipcvtts_roundph_epu8(A, R) \
- ((__m256i)__builtin_ia32_vcvttph2iubs256_mask( \
- (__v16hf)(__m256h)(A), (__v16hu)_mm256_setzero_si256(), (__mmask16) - 1, \
- (const int)R))
-
-#define _mm256_mask_ipcvtts_roundph_epu8(W, U, A, R) \
- ((__m256i)__builtin_ia32_vcvttph2iubs256_mask( \
- (__v16hf)(__m256h)(A), (__v16hu)(W), (__mmask16)(U), (const int)R))
-
-#define _mm256_maskz_ipcvtts_roundph_epu8(U, A, R) \
- ((__m256i)__builtin_ia32_vcvttph2iubs256_mask( \
- (__v16hf)(__m256h)(A), (__v16hu)_mm256_setzero_si256(), (__mmask16)(U), \
- (const int)R))
+ (__mmask16)(U)))
#define _mm_ipcvtts_ps_epi8(A) \
((__m128i)__builtin_ia32_vcvttps2ibs128_mask( \
- (__v4sf)(__m128)(A), (__v4su)_mm_setzero_si128(), (__mmask8) - 1))
+ (__v4sf)(__m128)(A), (__v4su)_mm_setzero_si128(), (__mmask8)-1))
#define _mm_mask_ipcvtts_ps_epi8(W, U, A) \
((__m128i)__builtin_ia32_vcvttps2ibs128_mask((__v4sf)(__m128)(A), \
@@ -374,36 +276,19 @@
#define _mm256_ipcvtts_ps_epi8(A) \
((__m256i)__builtin_ia32_vcvttps2ibs256_mask( \
- (__v8sf)(__m256)(A), (__v8su)_mm256_setzero_si256(), (__mmask8) - 1, \
- _MM_FROUND_CUR_DIRECTION))
+ (__v8sf)(__m256)(A), (__v8su)_mm256_setzero_si256(), (__mmask8)-1))
#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))
+ (__v8su)(W), (__mmask8)(U)))
#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_ipcvtts_roundps_epi8(A, R) \
- ((__m256i)__builtin_ia32_vcvttps2ibs256_mask((__v8sf)(__m256)(A), \
- (__v8su)_mm256_setzero_si256(), \
- (__mmask8) - 1, (const int)R))
-
-#define _mm256_mask_ipcvtts_roundps_epi8(W, U, A, R) \
- ((__m256i)__builtin_ia32_vcvttps2ibs256_mask( \
- (__v8sf)(__m256)(A), (__v8su)(W), (__mmask8)(U), (const int)R))
-
-#define _mm256_maskz_ipcvtts_roundps_epi8(U, A, R) \
- ((__m256i)__builtin_ia32_vcvttps2ibs256_mask((__v8sf)(__m256)(A), \
- (__v8su)_mm256_setzero_si256(), \
- (__mmask8)(U), (const int)R))
+ (__v8sf)(__m256)(A), (__v8su)(_mm256_setzero_si256()), (__mmask8)(U)))
#define _mm_ipcvtts_ps_epu8(A) \
((__m128i)__builtin_ia32_vcvttps2iubs128_mask( \
- (__v4sf)(__m128)(A), (__v4su)_mm_setzero_si128(), (__mmask8) - 1))
+ (__v4sf)(__m128)(A), (__v4su)_mm_setzero_si128(), (__mmask8)-1))
#define _mm_mask_ipcvtts_ps_epu8(W, U, A) \
((__m128i)__builtin_ia32_vcvttps2iubs128_mask((__v4sf)(__m128)(A), \
@@ -415,30 +300,13 @@
#define _mm256_ipcvtts_ps_epu8(A) \
((__m256i)__builtin_ia32_vcvttps2iubs256_mask( \
- (__v8sf)(__m256)(A), (__v8su)_mm256_setzero_si256(), (__mmask8) - 1, \
- _MM_FROUND_CUR_DIRECTION))
+ (__v8sf)(__m256)(A), (__v8su)_mm256_setzero_si256(), (__mmask8)-1))
#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))
+ (__v8su)(W), (__mmask8)(U)))
#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_ipcvtts_roundps_epu8(A, R) \
- ((__m256i)__builtin_ia32_vcvttps2iubs256_mask( \
- (__v8sf)(__m256)(A), (__v8su)_mm256_setzero_si256(), (__mmask8) - 1, \
- (const int)R))
-
-#define _mm256_mask_ipcvtts_roundps_epu8(W, U, A, R) \
- ((__m256i)__builtin_ia32_vcvttps2iubs256_mask( \
- (__v8sf)(__m256)(A), (__v8su)(W), (__mmask8)(U), (const int)R))
-
-#define _mm256_maskz_ipcvtts_roundps_epu8(U, A, R) \
- ((__m256i)__builtin_ia32_vcvttps2iubs256_mask( \
- (__v8sf)(__m256)(A), (__v8su)_mm256_setzero_si256(), (__mmask8)(U), \
- (const int)R))
+ (__v8sf)(__m256)(A), (__v8su)(_mm256_setzero_si256()), (__mmask8)(U)))
#endif // __AVX10_2SATCVTINTRIN_H
diff --git a/clang/lib/Sema/SemaX86.cpp b/clang/lib/Sema/SemaX86.cpp
index 95586f3cfdcc6..5c149bdec7073 100644
--- a/clang/lib/Sema/SemaX86.cpp
+++ b/clang/lib/Sema/SemaX86.cpp
@@ -88,10 +88,6 @@ bool SemaX86::CheckBuiltinRoundingOrSAE(unsigned BuiltinID, CallExpr *TheCall) {
case X86::BI__builtin_ia32_vcomiss:
case X86::BI__builtin_ia32_vcomish:
case X86::BI__builtin_ia32_vcvtph2ps512_mask:
- case X86::BI__builtin_ia32_vcvttph2ibs256_mask:
- case X86::BI__builtin_ia32_vcvttph2iubs256_mask:
- case X86::BI__builtin_ia32_vcvttps2ibs256_mask:
- case X86::BI__builtin_ia32_vcvttps2iubs256_mask:
case X86::BI__builtin_ia32_vcvttph2ibs512_mask:
case X86::BI__builtin_ia32_vcvttph2iubs512_mask:
case X86::BI__builtin_ia32_vcvttps2ibs512_mask:
@@ -227,10 +223,6 @@ bool SemaX86::CheckBuiltinRoundingOrSAE(unsigned BuiltinID, CallExpr *TheCall) {
case X86::BI__builtin_ia32_vcvtph2uqq512_mask:
case X86::BI__builtin_ia32_vcvtqq2ph512_mask:
case X86::BI__builtin_ia32_vcvtuqq2ph512_mask:
- case X86::BI__builtin_ia32_vcvtph2ibs256_mask:
- case X86::BI__builtin_ia32_vcvtph2iubs256_mask:
- case X86::BI__builtin_ia32_vcvtps2ibs256_mask:
- case X86::BI__builtin_ia32_vcvtps2iubs256_mask:
case X86::BI__builtin_ia32_vcvtph2ibs512_mask:
case X86::BI__builtin_ia32_vcvtph2iubs512_mask:
case X86::BI__builtin_ia32_vcvtps2ibs512_mask:
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 64a16de3b5f61..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 <immintrin.h>
-
-__m512i test_mm512_ipcvts_roundph_epi8(__m512h __A) {
- return _mm512_ipcvts_roundph_epi8(__A, 22); // expected-error {{invalid rounding argument}}
-}
-
-__m512i test_mm512_mask_ipcvts_roundph_epi8(__m512i __S, __mmask32 __A, __m512h __B) {
- return _mm512_mask_ipcvts_roundph_epi8(__S, __A, __B, 22); // expected-error {{invalid rounding argument}}
-}
-
-__m512i test_mm512_maskz_ipcvts_roundph_epi8(__mmask32 __A, __m512h __B) {
- return _mm512_maskz_ipcvts_roundph_epi8(__A, __B, 22); // expected-error {{invalid rounding argument}}
-}
-
-__m512i test_mm512_ipcvts_roundph_epu8(__m512h __A) {
- return _mm512_ipcvts_roundph_epu8(__A, 22); // expected-error {{invalid rounding argument}}
-}
-
-__m512i test_mm512_mask_ipcvts_roundph_epu8(__m512i __S, __mmask32 __A, __m512h __B) {
- return _mm512_mask_ipcvts_roundph_epu8(__S, __A, __B, 22); // expected-error {{invalid rounding argument}}
-}
-
-__m512i test_mm512_maskz_ipcvts_roundph_epu8(__mmask32 __A, __m512h __B) {
- return _mm512_maskz_ipcvts_roundph_epu8(__A, __B, 22); // expected-error {{invalid rounding argument}}
-}
-
-__m512i test_mm512_ipcvts_roundps_epi8(__m512 __A) {
- return _mm512_ipcvts_roundps_epi8(__A, 22); // expected-error {{invalid rounding argument}}
-}
-
-__m512i test_mm512_mask_ipcvts_roundps_epi8(__m512i __S, __mmask16 __A, __m512 __B) {
- return _mm512_mask_ipcvts_roundps_epi8(__S, __A, __B, 22); // expected-error {{invalid rounding argument}}
-}
-
-__m512i test_mm512_maskz_ipcvts_roundps_epi8(__mmask16 __A, __m512 __B) {
- return _mm512_maskz_ipcvts_roundps_epi8(__A, __B, 22); // expected-error {{invalid rounding argument}}
-}
-
-__m512i test_mm512_ipcvts_roundps_epu8(__m512 __A) {
- return _mm512_ipcvts_roundps_epu8(__A, 22); // expected-error {{invalid rounding argument}}
-}
-
-__m512i test_mm512_mask_ipcvts_roundps_epu8(__m512i __S, __mmask16 __A, __m512 __B) {
- return _mm512_mask_ipcvts_roundps_epu8(__S, __A, __B, 22); // expected-error {{invalid rounding argument}}
-}
-
-__m512i test_mm512_maskz_ipcvts_roundps_epu8(__mmask16 __A, __m512 __B) {
- return _mm512_maskz_ipcvts_roundps_epu8(__A, __B, 22); // expected-error {{invalid rounding argument}}
-}
-
-__m512i test_mm512_ipcvtts_roundph_epi8(__m512h __A) {
- return _mm512_ipcvtts_roundph_epi8(__A, 22); // expected-error {{invalid rounding argument}}
-}
-
-__m512i test_mm512_mask_ipcvtts_roundph_epi8(__m512i __S, __mmask32 __A, __m512h __B) {
- return _mm512_mask_ipcvtts_roundph_epi8(__S, __A, __B, 22); // expected-error {{invalid rounding argument}}
-}
-
-__m512i test_mm512_maskz_ipcvtts_roundph_epi8(__mmask32 __A, __m512h __B) {
- return _mm512_maskz_ipcvtts_roundph_epi8(__A, __B, 22); // expected-error {{invalid rounding argument}}
-}
-
-__m512i test_mm512_ipcvtts_roundph_epu8(__m512h __A) {
- return _mm512_ipcvtts_roundph_epu8(__A, 22); // expected-error {{invalid rounding argument}}
-}
-
-__m512i test_mm512_mask_ipcvtts_roundph_epu8(__m512i __S, __mmask32 __A, __m512h __B) {
- return _mm512_mask_ipcvtts_roundph_epu8(__S, __A, __B, 22); // expected-error {{invalid rounding argument}}
-}
-
-__m512i test_mm512_maskz_ipcvtts_roundph_epu8(__mmask32 __A, __m512h __B) {
- return _mm512_maskz_ipcvtts_roundph_epu8(__A, __B, 22); // expected-error {{invalid rounding argument}}
-}
-
-__m512i test_mm512_ipcvtts_roundps_epi8(__m512 __A) {
- return _mm512_ipcvtts_roundps_epi8(__A, 22); // expected-error {{invalid rounding argument}}
-}
-
-__m512i test_mm512_mask_ipcvtts_roundps_epi8(__m512i __S, __mmask16 __A, __m512 __B) {
- return _mm512_mask_ipcvtts_roundps_epi8(__S, __A, __B, 22); // expected-error {{invalid rounding argument}}
-}
-
-__m512i test_mm512_maskz_ipcvtts_roundps_epi8(__mmask16 __A, __m512 __B) {
- return _mm512_maskz_ipcvtts_roundps_epi8(__A, __B, 22); // expected-error {{invalid rounding argument}}
-}
-
-__m512i test_mm512_ipcvtts_roundps_epu8(__m512 __A) {
- return _mm512_ipcvtts_roundps_epu8(__A, 22); // expected-error {{invalid rounding argument}}
-}
-
-__m512i test_mm512_mask_ipcvtts_roundps_epu8(__m512i __S, __mmask16 __A, __m512 __B) {
- return _mm512_mask_ipcvtts_roundps_epu8(__S, __A, __B, 22); // expected-error {{invalid rounding argument}}
-}
-
-__m512i test_mm512_maskz_ipcvtts_roundps_epu8(__mmask16 __A, __m512 __B) {
- return _mm512_maskz_ipcvtts_roundps_epu8(__A, __B, 22); // expected-error {{invalid rounding argument}}
-}
-
-__m256i test_mm256_ipcvts_roundph_epi8(__m256h __A) {
- return _mm256_ipcvts_roundph_epi8(__A, 22); // expected-error {{invalid rounding argument}}
-}
-
-__m256i test_mm256_mask_ipcvts_roundph_epi8(__m256i __S, __mmask16 __A, __m256h __B) {
- return _mm256_mask_ipcvts_roundph_epi8(__S, __A, __B, 22); // expected-error {{invalid rounding argument}}
-}
-
-__m256i test_mm256_maskz_ipcvts_roundph_epi8(__mmask16 __A, __m256h __B) {
- return _mm256_maskz_ipcvts_roundph_epi8(__A, __B, 22); // expected-error {{invalid rounding argument}}
-}
-
-__m256i test_mm256_ipcvts_roundph_epu8(__m256h __A) {
- return _mm256_ipcvts_roundph_epu8(__A, 22); // expected-error {{invalid rounding argument}}
-}
-
-__m256i test_mm256_mask_ipcvts_roundph_epu8(__m256i __S, __mmask16 __A, __m256h __B) {
- return _mm256_mask_ipcvts_roundph_epu8(__S, __A, __B, 22); // expected-error {{invalid rounding argument}}
-}
-
-__m256i test_mm256_maskz_ipcvts_roundph_epu8(__mmask16 __A, __m256h __B) {
- return _mm256_maskz_ipcvts_roundph_epu8(__A, __B, 22); // expected-error {{invalid rounding argument}}
-}
-
-__m256i test_mm256_ipcvts_roundps_epi8(__m256 __A) {
- return _mm256_ipcvts_roundps_epi8(__A, 22); // expected-error {{invalid rounding argument}}
-}
-
-__m256i test_mm256_mask_ipcvts_roundps_epi8(__m256i __S, __mmask8 __A, __m256 __B) {
- return _mm256_mask_ipcvts_roundps_epi8(__S, __A, __B, 22); // expected-error {{invalid rounding argument}}
-}
-
-__m256i test_mm256_maskz_ipcvts_roundps_epi8(__mmask8 __A, __m256 __B) {
- return _mm256_maskz_ipcvts_roundps_epi8(__A, __B, 22); // expected-error {{invalid rounding argument}}
-}
-
-__m256i test_mm256_ipcvts_roundps_epu8(__m256 __A) {
- return _mm256_ipcvts_roundps_epu8(__A, 22); // expected-error {{invalid rounding argument}}
-}
-
-__m256i test_mm256_mask_ipcvts_roundps_epu8(__m256i __S, __mmask8 __A, __m256 __B) {
- return _mm256_mask_ipcvts_roundps_epu8(__S, __A, __B, 22); // expected-error {{invalid rounding argument}}
-}
-
-__m256i test_mm256_maskz_ipcvts_roundps_epu8(__mmask8 __A, __m256 __B) {
- return _mm256_maskz_ipcvts_roundps_epu8(__A, __B, 22); // expected-error {{invalid rounding argument}}
-}
-
-__m256i test_mm256_ipcvtts_roundph_epi8(__m256h __A) {
- return _mm256_ipcvtts_roundph_epi8(__A, 22); // expected-error {{invalid rounding argument}}
-}
-
-__m256i test_mm256_mask_ipcvtts_roundph_epi8(__m256i __S, __mmask16 __A, __m256h __B) {
- return _mm256_mask_ipcvtts_roundph_epi8(__S, __A, __B, 22); // expected-error {{invalid rounding argument}}
-}
-
-__m256i test_mm256_maskz_ipcvtts_roundph_epi8(__mmask16 __A, __m256h __B) {
- return _mm256_maskz_ipcvtts_roundph_epi8(__A, __B, 22); // expected-error {{invalid rounding argument}}
-}
-
-__m256i test_mm256_ipcvtts_roundph_epu8(__m256h __A) {
- return _mm256_ipcvtts_roundph_epu8(__A, 22); // expected-error {{invalid rounding argument}}
-}
-
-__m256i test_mm256_mask_ipcvtts_roundph_epu8(__m256i __S, __mmask16 __A, __m256h __B) {
- return _mm256_mask_ipcvtts_roundph_epu8(__S, __A, __B, 22); // expected-error {{invalid rounding argument}}
-}
-
-__m256i test_mm256_maskz_ipcvtts_roundph_epu8(__mmask16 __A, __m256h __B) {
- return _mm256_maskz_ipcvtts_roundph_epu8(__A, __B, 22); // expected-error {{invalid rounding argument}}
-}
-
-__m256i test_mm256_ipcvtts_roundps_epi8(__m256 __A) {
- return _mm256_ipcvtts_roundps_epi8(__A, 22); // expected-error {{invalid rounding argument}}
-}
-
-__m256i test_mm256_mask_ipcvtts_roundps_epi8(__m256i __S, __mmask8 __A, __m256 __B) {
- return _mm256_mask_ipcvtts_roundps_epi8(__S, __A, __B, 22); // expected-error {{invalid rounding argument}}
-}
-
-__m256i test_mm256_maskz_ipcvtts_roundps_epi8(__mmask8 __A, __m256 __B) {
- return _mm256_maskz_ipcvtts_roundps_epi8(__A, __B, 22); // expected-error {{invalid rounding argument}}
-}
-
-__m256i test_mm256_ipcvtts_roundps_epu8(__m256 __A) {
- return _mm256_ipcvtts_roundps_epu8(__A, 22); // expected-error {{invalid rounding argument}}
-}
-
-__m256i test_mm256_mask_ipcvtts_roundps_epu8(__m256i __S, __mmask8 __A, __m256 __B) {
- return _mm256_mask_ipcvtts_roundps_epu8(__S, __A, __B, 22); // expected-error {{invalid rounding argument}}
-}
-
-__m256i test_mm256_maskz_ipcvtts_roundps_epu8(__mmask8 __A, __m256 __B) {
- return _mm256_maskz_ipcvtts_roundps_epu8(__A, __B, 22); // expected-error {{invalid rounding argument}}
-}
diff --git a/clang/test/CodeGen/X86/avx10_2satcvt-builtins.c b/clang/test/CodeGen/X86/avx10_2satcvt-builtins.c
index 8d0e473fed32a..7f30befefffe9 100644
--- a/clang/test/CodeGen/X86/avx10_2satcvt-builtins.c
+++ b/clang/test/CodeGen/X86/avx10_2satcvt-builtins.c
@@ -124,23 +124,6 @@ __m256i test_mm256_maskz_ipcvts_ph_epi8(__mmask16 __A, __m256h __B) {
return _mm256_maskz_ipcvts_ph_epi8(__A, __B);
}
-__m256i test_mm256_ipcvts_roundph_epi8(__m256h __A) {
- // CHECK-LABEL: @test_mm256_ipcvts_roundph_epi8(
- // CHECK: @llvm.x86.avx10.mask.vcvtph2ibs256
- return _mm256_ipcvts_roundph_epi8(__A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC);
-}
-
-__m256i test_mm256_mask_ipcvts_roundph_epi8(__m256i __S, __mmask16 __A, __m256h __B) {
- // CHECK-LABEL: @test_mm256_mask_ipcvts_roundph_epi8(
- // CHECK: @llvm.x86.avx10.mask.vcvtph2ibs256
- return _mm256_mask_ipcvts_roundph_epi8(__S, __A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC);
-}
-__m256i test_mm256_maskz_ipcvts_roundph_epi8(__mmask16 __A, __m256h __B) {
- // CHECK-LABEL: @test_mm256_maskz_ipcvts_roundph_epi8(
- // CHECK: @llvm.x86.avx10.mask.vcvtph2ibs256
- return _mm256_maskz_ipcvts_roundph_epi8(__A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC);
-}
-
__m128i test_mm_ipcvts_ph_epu8(__m128h __A) {
// CHECK-LABEL: @test_mm_ipcvts_ph_epu8(
// CHECK: @llvm.x86.avx10.mask.vcvtph2iubs128
@@ -177,23 +160,6 @@ __m256i test_mm256_maskz_ipcvts_ph_epu8(__mmask16 __A, __m256h __B) {
return _mm256_maskz_ipcvts_ph_epu8(__A, __B);
}
-__m256i test_mm256_ipcvts_roundph_epu8(__m256h __A) {
- // CHECK-LABEL: @test_mm256_ipcvts_roundph_epu8(
- // CHECK: @llvm.x86.avx10.mask.vcvtph2iubs256
- return _mm256_ipcvts_roundph_epu8(__A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC);
-}
-
-__m256i test_mm256_mask_ipcvts_roundph_epu8(__m256i __S, __mmask16 __A, __m256h __B) {
- // CHECK-LABEL: @test_mm256_mask_ipcvts_roundph_epu8(
- // CHECK: @llvm.x86.avx10.mask.vcvtph2iubs256
- return _mm256_mask_ipcvts_roundph_epu8(__S, __A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC);
-}
-__m256i test_mm256_maskz_ipcvts_roundph_epu8(__mmask16 __A, __m256h __B) {
- // CHECK-LABEL: @test_mm256_maskz_ipcvts_roundph_epu8(
- // CHECK: @llvm.x86.avx10.mask.vcvtph2iubs256
- return _mm256_maskz_ipcvts_roundph_epu8(__A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC);
-}
-
__m128i test_mm_ipcvts_ps_epi8(__m128 __A) {
// CHECK-LABEL: @test_mm_ipcvts_ps_epi8(
// CHECK: @llvm.x86.avx10.mask.vcvtps2ibs128
@@ -230,24 +196,6 @@ __m256i test_mm256_maskz_ipcvts_ps_epi8(__mmask8 __A, __m256 __B) {
return _mm256_maskz_ipcvts_ps_epi8(__A, __B);
}
-__m256i test_mm256_ipcvts_roundps_epi8(__m256 __A) {
- // CHECK-LABEL: @test_mm256_ipcvts_roundps_epi8(
- // CHECK: @llvm.x86.avx10.mask.vcvtps2ibs256
- return _mm256_ipcvts_roundps_epi8(__A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC);
-}
-
-__m256i test_mm256_mask_ipcvts_roundps_epi8(__m256i __S, __mmask8 __A, __m256 __B) {
- // CHECK-LABEL: @test_mm256_mask_ipcvts_roundps_epi8(
- // CHECK: @llvm.x86.avx10.mask.vcvtps2ibs256
- return _mm256_mask_ipcvts_roundps_epi8(__S, __A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC);
-}
-
-__m256i test_mm256_maskz_ipcvts_roundps_epi8(__mmask8 __A, __m256 __B) {
- // CHECK-LABEL: @test_mm256_maskz_ipcvts_roundps_epi8(
- // CHECK: @llvm.x86.avx10.mask.vcvtps2ibs256
- return _mm256_maskz_ipcvts_roundps_epi8(__A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC);
-}
-
__m128i test_mm_ipcvts_ps_epu8(__m128 __A) {
// CHECK-LABEL: @test_mm_ipcvts_ps_epu8(
// CHECK: @llvm.x86.avx10.mask.vcvtps2iubs128
@@ -284,24 +232,6 @@ __m256i test_mm256_maskz_ipcvts_ps_epu8(__mmask8 __A, __m256 __B) {
return _mm256_maskz_ipcvts_ps_epu8(__A, __B);
}
-__m256i test_mm256_ipcvts_roundps_epu8(__m256 __A) {
- // CHECK-LABEL: @test_mm256_ipcvts_roundps_epu8(
- // CHECK: @llvm.x86.avx10.mask.vcvtps2iubs256
- return _mm256_ipcvts_roundps_epu8(__A, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC);
-}
-
-__m256i test_mm256_mask_ipcvts_roundps_epu8(__m256i __S, __mmask8 __A, __m256 __B) {
- // CHECK-LABEL: @test_mm256_mask_ipcvts_roundps_epu8(
- // CHECK: @llvm.x86.avx10.mask.vcvtps2iubs256
- return _mm256_mask_ipcvts_roundps_epu8(__S, __A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC);
-}
-
-__m256i test_mm256_maskz_ipcvts_roundps_epu8(__mmask8 __A, __m256 __B) {
- // CHECK-LABEL: @test_mm256_maskz_ipcvts_roundps_epu8(
- // CHECK: @llvm.x86.avx10.mask.vcvtps2iubs256
- return _mm256_maskz_ipcvts_roundps_epu8(__A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC);
-}
-
__m128i test_mm_ipcvtts_bf16_epi8(__m128bh __A) {
// CHECK-LABEL: @test_mm_ipcvtts_bf16_epi8(
// CHECK: @llvm.x86.avx10.vcvttbf162ibs128
@@ -422,24 +352,6 @@ __m256i test_mm256_maskz_ipcvtts_ph_epi8(__mmask16 __A, __m256h __B) {
return _mm256_maskz_ipcvtts_ph_epi8(__A, __B);
}
-__m256i test_mm256_ipcvtts_roundph_epi8(__m256h __A) {
- // CHECK-LABEL: @test_mm256_ipcvtts_roundph_epi8(
- // CHECK: @llvm.x86.avx10.mask.vcvttph2ibs256
- return _mm256_ipcvtts_roundph_epi8(__A, _MM_FROUND_NO_EXC);
-}
-
-__m256i test_mm256_mask_ipcvtts_roundph_epi8(__m256i __S, __mmask16 __A, __m256h __B) {
- // CHECK-LABEL: @test_mm256_mask_ipcvtts_roundph_epi8(
- // CHECK: @llvm.x86.avx10.mask.vcvttph2ibs256
- return _mm256_mask_ipcvtts_roundph_epi8(__S, __A, __B, _MM_FROUND_NO_EXC);
-}
-
-__m256i test_mm256_maskz_ipcvtts_roundph_epi8(__mmask16 __A, __m256h __B) {
- // CHECK-LABEL: @test_mm256_maskz_ipcvtts_roundph_epi8(
- // CHECK: @llvm.x86.avx10.mask.vcvttph2ibs256
- return _mm256_maskz_ipcvtts_roundph_epi8(__A, __B, _MM_FROUND_NO_EXC);
-}
-
__m128i test_mm_ipcvtts_ph_epu8(__m128h __A) {
// CHECK-LABEL: @test_mm_ipcvtts_ph_epu8(
// CHECK: @llvm.x86.avx10.mask.vcvttph2iubs128
@@ -476,24 +388,6 @@ __m256i test_mm256_maskz_ipcvtts_ph_epu8(__mmask16 __A, __m256h __B) {
return _mm256_maskz_ipcvtts_ph_epu8(__A, __B);
}
-__m256i test_mm256_ipcvtts_roundph_epu8(__m256h __A) {
- // CHECK-LABEL: @test_mm256_ipcvtts_roundph_epu8(
- // CHECK: @llvm.x86.avx10.mask.vcvttph2iubs256
- return _mm256_ipcvtts_roundph_epu8(__A, _MM_FROUND_NO_EXC);
-}
-
-__m256i test_mm256_mask_ipcvtts_roundph_epu8(__m256i __S, __mmask16 __A, __m256h __B) {
- // CHECK-LABEL: @test_mm256_mask_ipcvtts_roundph_epu8(
- // CHECK: @llvm.x86.avx10.mask.vcvttph2iubs256
- return _mm256_mask_ipcvtts_roundph_epu8(__S, __A, __B, _MM_FROUND_NO_EXC);
-}
-
-__m256i test_mm256_maskz_ipcvtts_roundph_epu8(__mmask16 __A, __m256h __B) {
- // CHECK-LABEL: @test_mm256_maskz_ipcvtts_roundph_epu8(
- // CHECK: @llvm.x86.avx10.mask.vcvttph2iubs256
- return _mm256_maskz_ipcvtts_roundph_epu8(__A, __B, _MM_FROUND_NO_EXC);
-}
-
__m128i test_mm_ipcvtts_ps_epi8(__m128 __A) {
// CHECK-LABEL: @test_mm_ipcvtts_ps_epi8(
// CHECK: @llvm.x86.avx10.mask.vcvttps2ibs128
@@ -530,24 +424,6 @@ __m256i test_mm256_maskz_ipcvtts_ps_epi8(__mmask8 __A, __m256 __B) {
return _mm256_maskz_ipcvtts_ps_epi8(__A, __B);
}
-__m256i test_mm256_ipcvtts_roundps_epi8(__m256 __A) {
- // CHECK-LABEL: @test_mm256_ipcvtts_roundps_epi8(
- // CHECK: @llvm.x86.avx10.mask.vcvttps2ibs256
- return _mm256_ipcvtts_roundps_epi8(__A, _MM_FROUND_NO_EXC);
-}
-
-__m256i test_mm256_mask_ipcvtts_roundps_epi8(__m256i __S, __mmask8 __A, __m256 __B) {
- // CHECK-LABEL: @test_mm256_mask_ipcvtts_roundps_epi8(
- // CHECK: @llvm.x86.avx10.mask.vcvttps2ibs256
- return _mm256_mask_ipcvtts_roundps_epi8(__S, __A, __B, _MM_FROUND_NO_EXC);
-}
-
-__m256i test_mm256_maskz_ipcvtts_roundps_epi8(__mmask8 __A, __m256 __B) {
- // CHECK-LABEL: @test_mm256_maskz_ipcvtts_roundps_epi8(
- // CHECK: @llvm.x86.avx10.mask.vcvttps2ibs256
- return _mm256_maskz_ipcvtts_roundps_epi8(__A, __B, _MM_FROUND_NO_EXC);
-}
-
__m128i test_mm_ipcvtts_ps_epu8(__m128 __A) {
// CHECK-LABEL: @test_mm_ipcvtts_ps_epu8(
// CHECK: @llvm.x86.avx10.mask.vcvttps2iubs128
@@ -583,21 +459,3 @@ __m256i test_mm256_maskz_ipcvtts_ps_epu8(__mmask8 __A, __m256 __B) {
// CHECK: @llvm.x86.avx10.mask.vcvttps2iubs256
return _mm256_maskz_ipcvtts_ps_epu8(__A, __B);
}
-
-__m256i test_mm256_ipcvtts_roundps_epu8(__m256 __A) {
- // CHECK-LABEL: @test_mm256_ipcvtts_roundps_epu8(
- // CHECK: @llvm.x86.avx10.mask.vcvttps2iubs256
- return _mm256_ipcvtts_roundps_epu8(__A, _MM_FROUND_NO_EXC);
-}
-
-__m256i test_mm256_mask_ipcvtts_roundps_epu8(__m256i __S, __mmask8 __A, __m256 __B) {
- // CHECK-LABEL: @test_mm256_mask_ipcvtts_roundps_epu8(
- // CHECK: @llvm.x86.avx10.mask.vcvttps2iubs256
- return _mm256_mask_ipcvtts_roundps_epu8(__S, __A, __B, _MM_FROUND_NO_EXC);
-}
-
-__m256i test_mm256_maskz_ipcvtts_roundps_epu8(__mmask8 __A, __m256 __B) {
- // CHECK-LABEL: @test_mm256_maskz_ipcvtts_roundps_epu8(
- // CHECK: @llvm.x86.avx10.mask.vcvttps2iubs256
- return _mm256_maskz_ipcvtts_roundps_epu8(__A, __B, _MM_FROUND_NO_EXC);
-}
diff --git a/llvm/include/llvm/IR/IntrinsicsX86.td b/llvm/include/llvm/IR/IntrinsicsX86.td
index d7f917da826a1..dff5785531ada 100644
--- a/llvm/include/llvm/IR/IntrinsicsX86.td
+++ b/llvm/include/llvm/IR/IntrinsicsX86.td
@@ -6932,8 +6932,8 @@ def int_x86_avx10_mask_vcvtph2ibs128 : ClangBuiltin<"__builtin_ia32_vcvtph2ibs12
DefaultAttrsIntrinsic<[llvm_v8i16_ty], [llvm_v8f16_ty, llvm_v8i16_ty, llvm_i8_ty],
[IntrNoMem]>;
def int_x86_avx10_mask_vcvtph2ibs256 : ClangBuiltin<"__builtin_ia32_vcvtph2ibs256_mask">,
- DefaultAttrsIntrinsic<[llvm_v16i16_ty], [llvm_v16f16_ty, llvm_v16i16_ty, llvm_i16_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
+ DefaultAttrsIntrinsic<[llvm_v16i16_ty], [llvm_v16f16_ty, llvm_v16i16_ty, llvm_i16_ty],
+ [IntrNoMem]>;
def int_x86_avx10_mask_vcvtph2ibs512 : ClangBuiltin<"__builtin_ia32_vcvtph2ibs512_mask">,
DefaultAttrsIntrinsic<[llvm_v32i16_ty], [llvm_v32f16_ty, llvm_v32i16_ty, llvm_i32_ty, llvm_i32_ty],
[IntrNoMem, ImmArg<ArgIndex<3>>]>;
@@ -6941,8 +6941,8 @@ def int_x86_avx10_mask_vcvtph2iubs128 : ClangBuiltin<"__builtin_ia32_vcvtph2iubs
DefaultAttrsIntrinsic<[llvm_v8i16_ty], [llvm_v8f16_ty, llvm_v8i16_ty, llvm_i8_ty],
[IntrNoMem]>;
def int_x86_avx10_mask_vcvtph2iubs256 : ClangBuiltin<"__builtin_ia32_vcvtph2iubs256_mask">,
- DefaultAttrsIntrinsic<[llvm_v16i16_ty], [llvm_v16f16_ty, llvm_v16i16_ty, llvm_i16_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
+ DefaultAttrsIntrinsic<[llvm_v16i16_ty], [llvm_v16f16_ty, llvm_v16i16_ty, llvm_i16_ty],
+ [IntrNoMem]>;
def int_x86_avx10_mask_vcvtph2iubs512 : ClangBuiltin<"__builtin_ia32_vcvtph2iubs512_mask">,
DefaultAttrsIntrinsic<[llvm_v32i16_ty], [llvm_v32f16_ty, llvm_v32i16_ty, llvm_i32_ty, llvm_i32_ty],
[IntrNoMem, ImmArg<ArgIndex<3>>]>;
@@ -6950,8 +6950,8 @@ def int_x86_avx10_mask_vcvtps2ibs128 : ClangBuiltin<"__builtin_ia32_vcvtps2ibs12
DefaultAttrsIntrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4i32_ty, llvm_i8_ty],
[IntrNoMem]>;
def int_x86_avx10_mask_vcvtps2ibs256 : ClangBuiltin<"__builtin_ia32_vcvtps2ibs256_mask">,
- DefaultAttrsIntrinsic<[llvm_v8i32_ty], [llvm_v8f32_ty, llvm_v8i32_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
+ DefaultAttrsIntrinsic<[llvm_v8i32_ty], [llvm_v8f32_ty, llvm_v8i32_ty, llvm_i8_ty],
+ [IntrNoMem]>;
def int_x86_avx10_mask_vcvtps2ibs512 : ClangBuiltin<"__builtin_ia32_vcvtps2ibs512_mask">,
DefaultAttrsIntrinsic<[llvm_v16i32_ty], [llvm_v16f32_ty, llvm_v16i32_ty, llvm_i16_ty, llvm_i32_ty],
[IntrNoMem, ImmArg<ArgIndex<3>>]>;
@@ -6959,8 +6959,8 @@ def int_x86_avx10_mask_vcvtps2iubs128 : ClangBuiltin<"__builtin_ia32_vcvtps2iubs
DefaultAttrsIntrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4i32_ty, llvm_i8_ty],
[IntrNoMem]>;
def int_x86_avx10_mask_vcvtps2iubs256 : ClangBuiltin<"__builtin_ia32_vcvtps2iubs256_mask">,
- DefaultAttrsIntrinsic<[llvm_v8i32_ty], [llvm_v8f32_ty, llvm_v8i32_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
+ DefaultAttrsIntrinsic<[llvm_v8i32_ty], [llvm_v8f32_ty, llvm_v8i32_ty, llvm_i8_ty],
+ [IntrNoMem]>;
def int_x86_avx10_mask_vcvtps2iubs512 : ClangBuiltin<"__builtin_ia32_vcvtps2iubs512_mask">,
DefaultAttrsIntrinsic<[llvm_v16i32_ty], [llvm_v16f32_ty, llvm_v16i32_ty, llvm_i16_ty, llvm_i32_ty],
[IntrNoMem, ImmArg<ArgIndex<3>>]>;
@@ -6986,8 +6986,8 @@ def int_x86_avx10_mask_vcvttph2ibs128 : ClangBuiltin<"__builtin_ia32_vcvttph2ibs
DefaultAttrsIntrinsic<[llvm_v8i16_ty], [llvm_v8f16_ty, llvm_v8i16_ty, llvm_i8_ty],
[IntrNoMem]>;
def int_x86_avx10_mask_vcvttph2ibs256 : ClangBuiltin<"__builtin_ia32_vcvttph2ibs256_mask">,
- DefaultAttrsIntrinsic<[llvm_v16i16_ty], [llvm_v16f16_ty, llvm_v16i16_ty, llvm_i16_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
+ DefaultAttrsIntrinsic<[llvm_v16i16_ty], [llvm_v16f16_ty, llvm_v16i16_ty, llvm_i16_ty],
+ [IntrNoMem]>;
def int_x86_avx10_mask_vcvttph2ibs512 : ClangBuiltin<"__builtin_ia32_vcvttph2ibs512_mask">,
DefaultAttrsIntrinsic<[llvm_v32i16_ty], [llvm_v32f16_ty, llvm_v32i16_ty, llvm_i32_ty, llvm_i32_ty],
[IntrNoMem, ImmArg<ArgIndex<3>>]>;
@@ -6995,8 +6995,8 @@ def int_x86_avx10_mask_vcvttph2iubs128 : ClangBuiltin<"__builtin_ia32_vcvttph2iu
DefaultAttrsIntrinsic<[llvm_v8i16_ty], [llvm_v8f16_ty, llvm_v8i16_ty, llvm_i8_ty],
[IntrNoMem]>;
def int_x86_avx10_mask_vcvttph2iubs256 : ClangBuiltin<"__builtin_ia32_vcvttph2iubs256_mask">,
- DefaultAttrsIntrinsic<[llvm_v16i16_ty], [llvm_v16f16_ty, llvm_v16i16_ty, llvm_i16_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
+ DefaultAttrsIntrinsic<[llvm_v16i16_ty], [llvm_v16f16_ty, llvm_v16i16_ty, llvm_i16_ty],
+ [IntrNoMem]>;
def int_x86_avx10_mask_vcvttph2iubs512 : ClangBuiltin<"__builtin_ia32_vcvttph2iubs512_mask">,
DefaultAttrsIntrinsic<[llvm_v32i16_ty], [llvm_v32f16_ty, llvm_v32i16_ty, llvm_i32_ty, llvm_i32_ty],
[IntrNoMem, ImmArg<ArgIndex<3>>]>;
@@ -7004,8 +7004,8 @@ def int_x86_avx10_mask_vcvttps2ibs128 : ClangBuiltin<"__builtin_ia32_vcvttps2ibs
DefaultAttrsIntrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4i32_ty, llvm_i8_ty],
[IntrNoMem]>;
def int_x86_avx10_mask_vcvttps2ibs256 : ClangBuiltin<"__builtin_ia32_vcvttps2ibs256_mask">,
- DefaultAttrsIntrinsic<[llvm_v8i32_ty], [llvm_v8f32_ty, llvm_v8i32_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
+ DefaultAttrsIntrinsic<[llvm_v8i32_ty], [llvm_v8f32_ty, llvm_v8i32_ty, llvm_i8_ty],
+ [IntrNoMem]>;
def int_x86_avx10_mask_vcvttps2ibs512 : ClangBuiltin<"__builtin_ia32_vcvttps2ibs512_mask">,
DefaultAttrsIntrinsic<[llvm_v16i32_ty], [llvm_v16f32_ty, llvm_v16i32_ty, llvm_i16_ty, llvm_i32_ty],
[IntrNoMem, ImmArg<ArgIndex<3>>]>;
@@ -7013,8 +7013,8 @@ def int_x86_avx10_mask_vcvttps2iubs128 : ClangBuiltin<"__builtin_ia32_vcvttps2iu
DefaultAttrsIntrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4i32_ty, llvm_i8_ty],
[IntrNoMem]>;
def int_x86_avx10_mask_vcvttps2iubs256 : ClangBuiltin<"__builtin_ia32_vcvttps2iubs256_mask">,
- DefaultAttrsIntrinsic<[llvm_v8i32_ty], [llvm_v8f32_ty, llvm_v8i32_ty, llvm_i8_ty, llvm_i32_ty],
- [IntrNoMem, ImmArg<ArgIndex<3>>]>;
+ DefaultAttrsIntrinsic<[llvm_v8i32_ty], [llvm_v8f32_ty, llvm_v8i32_ty, llvm_i8_ty],
+ [IntrNoMem]>;
def int_x86_avx10_mask_vcvttps2iubs512 : ClangBuiltin<"__builtin_ia32_vcvttps2iubs512_mask">,
DefaultAttrsIntrinsic<[llvm_v16i32_ty], [llvm_v16f32_ty, llvm_v16i32_ty, llvm_i16_ty, llvm_i32_ty],
[IntrNoMem, ImmArg<ArgIndex<3>>]>;
diff --git a/llvm/lib/Target/X86/X86InstrAVX10.td b/llvm/lib/Target/X86/X86InstrAVX10.td
index f720842bd487a..7cbdcbc939eec 100644
--- a/llvm/lib/Target/X86/X86InstrAVX10.td
+++ b/llvm/lib/Target/X86/X86InstrAVX10.td
@@ -210,16 +210,6 @@ multiclass avx10_sat_cvt_rc<bits<8> Opc, string OpStr, X86SchedWriteWidths sched
(MaskNode (SrcInfo.info512.VT SrcInfo.info512.RC:$src),
(i32 timm:$rc)))>,
Sched<[sched.ZMM]>, EVEX, EVEX_RC, EVEX_B;
- let Predicates = [HasAVX10_2], hasEVEX_U = 1 in {
- defm Z256rrb : AVX512_maskable<Opc, MRMSrcReg, DestInfo.info256,
- (outs DestInfo.info256.RC:$dst),
- (ins SrcInfo.info256.RC:$src, AVX512RC:$rc),
- OpStr, "$rc, $src", "$src, $rc",
- (DestInfo.info256.VT
- (MaskNode (SrcInfo.info256.VT SrcInfo.info256.RC:$src),
- (i32 timm:$rc)))>,
- Sched<[sched.YMM]>, EVEX, EVEX_RC, EVEX_B;
- }
}
// Conversion with SAE
@@ -234,15 +224,6 @@ multiclass avx10_sat_cvt_sae<bits<8> Opc, string OpStr, X86SchedWriteWidths sche
(DestInfo.info512.VT
(Node (SrcInfo.info512.VT SrcInfo.info512.RC:$src)))>,
Sched<[sched.ZMM]>, EVEX, EVEX_B;
- let Predicates = [HasAVX10_2], hasEVEX_U = 1 in {
- defm Z256rrb : AVX512_maskable<Opc, MRMSrcReg, DestInfo.info256,
- (outs DestInfo.info256.RC:$dst),
- (ins SrcInfo.info256.RC:$src),
- OpStr, "{sae}, $src", "$src, {sae}",
- (DestInfo.info256.VT
- (Node (SrcInfo.info256.VT SrcInfo.info256.RC:$src)))>,
- Sched<[sched.YMM]>, EVEX, EVEX_B;
- }
}
multiclass avx10_sat_cvt_base<bits<8> Opc, string OpStr, X86SchedWriteWidths sched,
diff --git a/llvm/lib/Target/X86/X86IntrinsicsInfo.h b/llvm/lib/Target/X86/X86IntrinsicsInfo.h
index b681d00fc075d..0f725a8eb338b 100644
--- a/llvm/lib/Target/X86/X86IntrinsicsInfo.h
+++ b/llvm/lib/Target/X86/X86IntrinsicsInfo.h
@@ -500,25 +500,25 @@ static const IntrinsicData IntrinsicsWithoutChain[] = {
X86_INTRINSIC_DATA(avx10_mask_vcvtph2ibs128, INTR_TYPE_1OP_MASK,
X86ISD::CVTP2IBS, 0),
X86_INTRINSIC_DATA(avx10_mask_vcvtph2ibs256, INTR_TYPE_1OP_MASK,
- X86ISD::CVTP2IBS, X86ISD::CVTP2IBS_RND),
+ X86ISD::CVTP2IBS, 0),
X86_INTRINSIC_DATA(avx10_mask_vcvtph2ibs512, INTR_TYPE_1OP_MASK,
X86ISD::CVTP2IBS, X86ISD::CVTP2IBS_RND),
X86_INTRINSIC_DATA(avx10_mask_vcvtph2iubs128, INTR_TYPE_1OP_MASK,
X86ISD::CVTP2IUBS, 0),
X86_INTRINSIC_DATA(avx10_mask_vcvtph2iubs256, INTR_TYPE_1OP_MASK,
- X86ISD::CVTP2IUBS, X86ISD::CVTP2IUBS_RND),
+ X86ISD::CVTP2IUBS, 0),
X86_INTRINSIC_DATA(avx10_mask_vcvtph2iubs512, INTR_TYPE_1OP_MASK,
X86ISD::CVTP2IUBS, X86ISD::CVTP2IUBS_RND),
X86_INTRINSIC_DATA(avx10_mask_vcvtps2ibs128, INTR_TYPE_1OP_MASK,
X86ISD::CVTP2IBS, 0),
X86_INTRINSIC_DATA(avx10_mask_vcvtps2ibs256, INTR_TYPE_1OP_MASK,
- X86ISD::CVTP2IBS, X86ISD::CVTP2IBS_RND),
+ X86ISD::CVTP2IBS, 0),
X86_INTRINSIC_DATA(avx10_mask_vcvtps2ibs512, INTR_TYPE_1OP_MASK,
X86ISD::CVTP2IBS, X86ISD::CVTP2IBS_RND),
X86_INTRINSIC_DATA(avx10_mask_vcvtps2iubs128, INTR_TYPE_1OP_MASK,
X86ISD::CVTP2IUBS, 0),
X86_INTRINSIC_DATA(avx10_mask_vcvtps2iubs256, INTR_TYPE_1OP_MASK,
- X86ISD::CVTP2IUBS, X86ISD::CVTP2IUBS_RND),
+ X86ISD::CVTP2IUBS, 0),
X86_INTRINSIC_DATA(avx10_mask_vcvtps2iubs512, INTR_TYPE_1OP_MASK,
X86ISD::CVTP2IUBS, X86ISD::CVTP2IUBS_RND),
X86_INTRINSIC_DATA(avx10_mask_vcvttpd2dqs_128, CVTPD2DQ_MASK,
@@ -547,14 +547,14 @@ static const IntrinsicData IntrinsicsWithoutChain[] = {
X86ISD::CVTTP2UIS, X86ISD::CVTTP2UIS_SAE),
X86_INTRINSIC_DATA(avx10_mask_vcvttph2ibs128, INTR_TYPE_1OP_MASK,
X86ISD::CVTTP2IBS, 0),
- X86_INTRINSIC_DATA(avx10_mask_vcvttph2ibs256, INTR_TYPE_1OP_MASK_SAE,
- X86ISD::CVTTP2IBS, X86ISD::CVTTP2IBS_SAE),
+ X86_INTRINSIC_DATA(avx10_mask_vcvttph2ibs256, INTR_TYPE_1OP_MASK,
+ X86ISD::CVTTP2IBS, 0),
X86_INTRINSIC_DATA(avx10_mask_vcvttph2ibs512, INTR_TYPE_1OP_MASK_SAE,
X86ISD::CVTTP2IBS, X86ISD::CVTTP2IBS_SAE),
X86_INTRINSIC_DATA(avx10_mask_vcvttph2iubs128, INTR_TYPE_1OP_MASK,
X86ISD::CVTTP2IUBS, 0),
- X86_INTRINSIC_DATA(avx10_mask_vcvttph2iubs256, INTR_TYPE_1OP_MASK_SAE,
- X86ISD::CVTTP2IUBS, X86ISD::CVTTP2IUBS_SAE),
+ X86_INTRINSIC_DATA(avx10_mask_vcvttph2iubs256, INTR_TYPE_1OP_MASK,
+ X86ISD::CVTTP2IUBS, 0),
X86_INTRINSIC_DATA(avx10_mask_vcvttph2iubs512, INTR_TYPE_1OP_MASK_SAE,
X86ISD::CVTTP2IUBS, X86ISD::CVTTP2IUBS_SAE),
X86_INTRINSIC_DATA(avx10_mask_vcvttps2dqs_128, INTR_TYPE_1OP_MASK,
@@ -566,13 +566,13 @@ static const IntrinsicData IntrinsicsWithoutChain[] = {
X86_INTRINSIC_DATA(avx10_mask_vcvttps2ibs128, INTR_TYPE_1OP_MASK,
X86ISD::CVTTP2IBS, 0),
X86_INTRINSIC_DATA(avx10_mask_vcvttps2ibs256, INTR_TYPE_1OP_MASK,
- X86ISD::CVTTP2IBS, X86ISD::CVTTP2IBS_SAE),
- X86_INTRINSIC_DATA(avx10_mask_vcvttps2ibs512, INTR_TYPE_1OP_MASK_SAE,
+ X86ISD::CVTTP2IBS, 0),
+ X86_INTRINSIC_DATA(avx10_mask_vcvttps2ibs512, INTR_TYPE_1OP_MASK,
X86ISD::CVTTP2IBS, X86ISD::CVTTP2IBS_SAE),
X86_INTRINSIC_DATA(avx10_mask_vcvttps2iubs128, INTR_TYPE_1OP_MASK,
X86ISD::CVTTP2IUBS, 0),
- X86_INTRINSIC_DATA(avx10_mask_vcvttps2iubs256, INTR_TYPE_1OP_MASK_SAE,
- X86ISD::CVTTP2IUBS, X86ISD::CVTTP2IUBS_SAE),
+ X86_INTRINSIC_DATA(avx10_mask_vcvttps2iubs256, INTR_TYPE_1OP_MASK,
+ X86ISD::CVTTP2IUBS, 0),
X86_INTRINSIC_DATA(avx10_mask_vcvttps2iubs512, INTR_TYPE_1OP_MASK_SAE,
X86ISD::CVTTP2IUBS, X86ISD::CVTTP2IUBS_SAE),
X86_INTRINSIC_DATA(avx10_mask_vcvttps2qqs_128, INTR_TYPE_1OP_MASK,
diff --git a/llvm/test/CodeGen/X86/avx10_2satcvt-intrinsics.ll b/llvm/test/CodeGen/X86/avx10_2satcvt-intrinsics.ll
index bbde50574a8e1..957523f87b7c3 100644
--- a/llvm/test/CodeGen/X86/avx10_2satcvt-intrinsics.ll
+++ b/llvm/test/CodeGen/X86/avx10_2satcvt-intrinsics.ll
@@ -274,7 +274,7 @@ define dso_local <4 x i64> @test_mm256_ipcvtph_epi8(<16 x half> noundef %__A) lo
; CHECK-NEXT: vcvtph2ibs %ymm0, %ymm0 # encoding: [0x62,0xf5,0x7c,0x28,0x69,0xc0]
; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
entry:
- %0 = tail call <16 x i16> @llvm.x86.avx10.mask.vcvtph2ibs256(<16 x half> %__A, <16 x i16> zeroinitializer, i16 -1, i32 4)
+ %0 = tail call <16 x i16> @llvm.x86.avx10.mask.vcvtph2ibs256(<16 x half> %__A, <16 x i16> zeroinitializer, i16 -1)
%1 = bitcast <16 x i16> %0 to <4 x i64>
ret <4 x i64> %1
}
@@ -293,7 +293,7 @@ define dso_local <4 x i64> @test_mm256_mask_ipcvtph_epi8(<4 x i64> noundef %__S,
; X86-NEXT: retl # encoding: [0xc3]
entry:
%0 = bitcast <4 x i64> %__S to <16 x i16>
- %1 = tail call <16 x i16> @llvm.x86.avx10.mask.vcvtph2ibs256(<16 x half> %__B, <16 x i16> %0, i16 %__A, i32 4)
+ %1 = tail call <16 x i16> @llvm.x86.avx10.mask.vcvtph2ibs256(<16 x half> %__B, <16 x i16> %0, i16 %__A)
%2 = bitcast <16 x i16> %1 to <4 x i64>
ret <4 x i64> %2
}
@@ -311,60 +311,12 @@ define dso_local <4 x i64> @test_mm256_maskz_ipcvtph_epi8(i16 noundef zeroext %_
; X86-NEXT: vcvtph2ibs %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x7c,0xa9,0x69,0xc0]
; X86-NEXT: retl # encoding: [0xc3]
entry:
- %0 = tail call <16 x i16> @llvm.x86.avx10.mask.vcvtph2ibs256(<16 x half> %__B, <16 x i16> zeroinitializer, i16 %__A, i32 4)
+ %0 = tail call <16 x i16> @llvm.x86.avx10.mask.vcvtph2ibs256(<16 x half> %__B, <16 x i16> zeroinitializer, i16 %__A)
%1 = bitcast <16 x i16> %0 to <4 x i64>
ret <4 x i64> %1
}
-define dso_local <4 x i64> @test_mm256_ipcvtph_epi8_round(<16 x half> noundef %__A) {
-; CHECK-LABEL: test_mm256_ipcvtph_epi8_round:
-; CHECK: # %bb.0: # %entry
-; CHECK-NEXT: vcvtph2ibs {rz-sae}, %ymm0, %ymm0 # encoding: [0x62,0xf5,0x78,0x78,0x69,0xc0]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
-entry:
- %0 = tail call <16 x i16> @llvm.x86.avx10.mask.vcvtph2ibs256(<16 x half> %__A, <16 x i16> zeroinitializer, i16 -1, i32 11)
- %1 = bitcast <16 x i16> %0 to <4 x i64>
- ret <4 x i64> %1
-}
-
-define dso_local <4 x i64> @test_mm256_mask_ipcvtph_epi8_round(<4 x i64> noundef %__S, i16 noundef zeroext %__A, <16 x half> noundef %__B) {
-; X64-LABEL: test_mm256_mask_ipcvtph_epi8_round:
-; X64: # %bb.0: # %entry
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtph2ibs {rz-sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x78,0x79,0x69,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
-;
-; X86-LABEL: test_mm256_mask_ipcvtph_epi8_round:
-; X86: # %bb.0: # %entry
-; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtph2ibs {rz-sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x78,0x79,0x69,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-entry:
- %0 = bitcast <4 x i64> %__S to <16 x i16>
- %1 = tail call <16 x i16> @llvm.x86.avx10.mask.vcvtph2ibs256(<16 x half> %__B, <16 x i16> %0, i16 %__A, i32 11)
- %2 = bitcast <16 x i16> %1 to <4 x i64>
- ret <4 x i64> %2
-}
-
-define dso_local <4 x i64> @test_mm256_maskz_ipcvtph_epi8_round(i16 noundef zeroext %__A, <16 x half> noundef %__B) {
-; X64-LABEL: test_mm256_maskz_ipcvtph_epi8_round:
-; X64: # %bb.0: # %entry
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtph2ibs {rz-sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x78,0xf9,0x69,0xc0]
-; X64-NEXT: retq # encoding: [0xc3]
-;
-; X86-LABEL: test_mm256_maskz_ipcvtph_epi8_round:
-; X86: # %bb.0: # %entry
-; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtph2ibs {rz-sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x78,0xf9,0x69,0xc0]
-; X86-NEXT: retl # encoding: [0xc3]
-entry:
- %0 = tail call <16 x i16> @llvm.x86.avx10.mask.vcvtph2ibs256(<16 x half> %__B, <16 x i16> zeroinitializer, i16 %__A, i32 11)
- %1 = bitcast <16 x i16> %0 to <4 x i64>
- ret <4 x i64> %1
-}
-
-declare <16 x i16> @llvm.x86.avx10.mask.vcvtph2ibs256(<16 x half>, <16 x i16>, i16, i32)
+declare <16 x i16> @llvm.x86.avx10.mask.vcvtph2ibs256(<16 x half>, <16 x i16>, i16)
define dso_local <2 x i64> @test_mm_ipcvtph_epu8(<8 x half> noundef %__A) {
; CHECK-LABEL: test_mm_ipcvtph_epu8:
@@ -422,7 +374,7 @@ define dso_local <4 x i64> @test_mm256_ipcvtph_epu8(<16 x half> noundef %__A) lo
; CHECK-NEXT: vcvtph2iubs %ymm0, %ymm0 # encoding: [0x62,0xf5,0x7c,0x28,0x6b,0xc0]
; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
entry:
- %0 = tail call <16 x i16> @llvm.x86.avx10.mask.vcvtph2iubs256(<16 x half> %__A, <16 x i16> zeroinitializer, i16 -1, i32 4)
+ %0 = tail call <16 x i16> @llvm.x86.avx10.mask.vcvtph2iubs256(<16 x half> %__A, <16 x i16> zeroinitializer, i16 -1)
%1 = bitcast <16 x i16> %0 to <4 x i64>
ret <4 x i64> %1
}
@@ -441,7 +393,7 @@ define dso_local <4 x i64> @test_mm256_mask_ipcvtph_epu8(<4 x i64> noundef %__S,
; X86-NEXT: retl # encoding: [0xc3]
entry:
%0 = bitcast <4 x i64> %__S to <16 x i16>
- %1 = tail call <16 x i16> @llvm.x86.avx10.mask.vcvtph2iubs256(<16 x half> %__B, <16 x i16> %0, i16 %__A, i32 4)
+ %1 = tail call <16 x i16> @llvm.x86.avx10.mask.vcvtph2iubs256(<16 x half> %__B, <16 x i16> %0, i16 %__A)
%2 = bitcast <16 x i16> %1 to <4 x i64>
ret <4 x i64> %2
}
@@ -459,60 +411,12 @@ define dso_local <4 x i64> @test_mm256_maskz_ipcvtph_epu8(i16 noundef zeroext %_
; X86-NEXT: vcvtph2iubs %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x7c,0xa9,0x6b,0xc0]
; X86-NEXT: retl # encoding: [0xc3]
entry:
- %0 = tail call <16 x i16> @llvm.x86.avx10.mask.vcvtph2iubs256(<16 x half> %__B, <16 x i16> zeroinitializer, i16 %__A, i32 4)
- %1 = bitcast <16 x i16> %0 to <4 x i64>
- ret <4 x i64> %1
-}
-
-define dso_local <4 x i64> @test_mm256_ipcvtph_epu8_round(<16 x half> noundef %__A) {
-; CHECK-LABEL: test_mm256_ipcvtph_epu8_round:
-; CHECK: # %bb.0: # %entry
-; CHECK-NEXT: vcvtph2iubs {rz-sae}, %ymm0, %ymm0 # encoding: [0x62,0xf5,0x78,0x78,0x6b,0xc0]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
-entry:
- %0 = tail call <16 x i16> @llvm.x86.avx10.mask.vcvtph2iubs256(<16 x half> %__A, <16 x i16> zeroinitializer, i16 -1, i32 11)
- %1 = bitcast <16 x i16> %0 to <4 x i64>
- ret <4 x i64> %1
-}
-
-define dso_local <4 x i64> @test_mm256_mask_ipcvtph_epu8_round(<4 x i64> noundef %__S, i16 noundef zeroext %__A, <16 x half> noundef %__B) {
-; X64-LABEL: test_mm256_mask_ipcvtph_epu8_round:
-; X64: # %bb.0: # %entry
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtph2iubs {rz-sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x78,0x79,0x6b,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
-;
-; X86-LABEL: test_mm256_mask_ipcvtph_epu8_round:
-; X86: # %bb.0: # %entry
-; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtph2iubs {rz-sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x78,0x79,0x6b,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-entry:
- %0 = bitcast <4 x i64> %__S to <16 x i16>
- %1 = tail call <16 x i16> @llvm.x86.avx10.mask.vcvtph2iubs256(<16 x half> %__B, <16 x i16> %0, i16 %__A, i32 11)
- %2 = bitcast <16 x i16> %1 to <4 x i64>
- ret <4 x i64> %2
-}
-
-define dso_local <4 x i64> @test_mm256_maskz_ipcvtph_epu8_round(i16 noundef zeroext %__A, <16 x half> noundef %__B) {
-; X64-LABEL: test_mm256_maskz_ipcvtph_epu8_round:
-; X64: # %bb.0: # %entry
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtph2iubs {rz-sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x78,0xf9,0x6b,0xc0]
-; X64-NEXT: retq # encoding: [0xc3]
-;
-; X86-LABEL: test_mm256_maskz_ipcvtph_epu8_round:
-; X86: # %bb.0: # %entry
-; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtph2iubs {rz-sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x78,0xf9,0x6b,0xc0]
-; X86-NEXT: retl # encoding: [0xc3]
-entry:
- %0 = tail call <16 x i16> @llvm.x86.avx10.mask.vcvtph2iubs256(<16 x half> %__B, <16 x i16> zeroinitializer, i16 %__A, i32 11)
+ %0 = tail call <16 x i16> @llvm.x86.avx10.mask.vcvtph2iubs256(<16 x half> %__B, <16 x i16> zeroinitializer, i16 %__A)
%1 = bitcast <16 x i16> %0 to <4 x i64>
ret <4 x i64> %1
}
-declare <16 x i16> @llvm.x86.avx10.mask.vcvtph2iubs256(<16 x half>, <16 x i16>, i16, i32)
+declare <16 x i16> @llvm.x86.avx10.mask.vcvtph2iubs256(<16 x half>, <16 x i16>, i16)
define dso_local <2 x i64> @test_mm_ipcvtps_epi8(<4 x float> noundef %__A) {
; CHECK-LABEL: test_mm_ipcvtps_epi8:
@@ -570,7 +474,7 @@ define dso_local <4 x i64> @test_mm256_ipcvtps_epi8(<8 x float> noundef %__A) lo
; CHECK-NEXT: vcvtps2ibs %ymm0, %ymm0 # encoding: [0x62,0xf5,0x7d,0x28,0x69,0xc0]
; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
entry:
- %0 = tail call <8 x i32> @llvm.x86.avx10.mask.vcvtps2ibs256(<8 x float> %__A, <8 x i32> zeroinitializer, i8 -1, i32 4)
+ %0 = tail call <8 x i32> @llvm.x86.avx10.mask.vcvtps2ibs256(<8 x float> %__A, <8 x i32> zeroinitializer, i8 -1)
%1 = bitcast <8 x i32> %0 to <4 x i64>
ret <4 x i64> %1
}
@@ -589,7 +493,7 @@ define dso_local <4 x i64> @test_mm256_mask_ipcvtps_epi8(<4 x i64> noundef %__S,
; X86-NEXT: retl # encoding: [0xc3]
entry:
%0 = bitcast <4 x i64> %__S to <8 x i32>
- %1 = tail call <8 x i32> @llvm.x86.avx10.mask.vcvtps2ibs256(<8 x float> %__B, <8 x i32> %0, i8 %__A, i32 4)
+ %1 = tail call <8 x i32> @llvm.x86.avx10.mask.vcvtps2ibs256(<8 x float> %__B, <8 x i32> %0, i8 %__A)
%2 = bitcast <8 x i32> %1 to <4 x i64>
ret <4 x i64> %2
}
@@ -607,60 +511,12 @@ define dso_local <4 x i64> @test_mm256_maskz_ipcvtps_epi8(i8 noundef zeroext %__
; X86-NEXT: vcvtps2ibs %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x7d,0xa9,0x69,0xc0]
; X86-NEXT: retl # encoding: [0xc3]
entry:
- %0 = tail call <8 x i32> @llvm.x86.avx10.mask.vcvtps2ibs256(<8 x float> %__B, <8 x i32> zeroinitializer, i8 %__A, i32 4)
+ %0 = tail call <8 x i32> @llvm.x86.avx10.mask.vcvtps2ibs256(<8 x float> %__B, <8 x i32> zeroinitializer, i8 %__A)
%1 = bitcast <8 x i32> %0 to <4 x i64>
ret <4 x i64> %1
}
-define dso_local <4 x i64> @test_mm256_ipcvtps_epi8_round(<8 x float> noundef %__A) {
-; CHECK-LABEL: test_mm256_ipcvtps_epi8_round:
-; CHECK: # %bb.0: # %entry
-; CHECK-NEXT: vcvtps2ibs {rz-sae}, %ymm0, %ymm0 # encoding: [0x62,0xf5,0x79,0x78,0x69,0xc0]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
-entry:
- %0 = tail call <8 x i32> @llvm.x86.avx10.mask.vcvtps2ibs256(<8 x float> %__A, <8 x i32> zeroinitializer, i8 -1, i32 11)
- %1 = bitcast <8 x i32> %0 to <4 x i64>
- ret <4 x i64> %1
-}
-
-define dso_local <4 x i64> @test_mm256_mask_ipcvtps_epi8_round(<4 x i64> noundef %__S, i8 noundef zeroext %__A, <8 x float> noundef %__B) {
-; X64-LABEL: test_mm256_mask_ipcvtps_epi8_round:
-; X64: # %bb.0: # %entry
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtps2ibs {rz-sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x79,0x79,0x69,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
-;
-; X86-LABEL: test_mm256_mask_ipcvtps_epi8_round:
-; X86: # %bb.0: # %entry
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtps2ibs {rz-sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x79,0x79,0x69,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-entry:
- %0 = bitcast <4 x i64> %__S to <8 x i32>
- %1 = tail call <8 x i32> @llvm.x86.avx10.mask.vcvtps2ibs256(<8 x float> %__B, <8 x i32> %0, i8 %__A, i32 11)
- %2 = bitcast <8 x i32> %1 to <4 x i64>
- ret <4 x i64> %2
-}
-
-define dso_local <4 x i64> @test_mm256_maskz_ipcvtps_epi8_round(i8 noundef zeroext %__A, <8 x float> noundef %__B) {
-; X64-LABEL: test_mm256_maskz_ipcvtps_epi8_round:
-; X64: # %bb.0: # %entry
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtps2ibs {rz-sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x79,0xf9,0x69,0xc0]
-; X64-NEXT: retq # encoding: [0xc3]
-;
-; X86-LABEL: test_mm256_maskz_ipcvtps_epi8_round:
-; X86: # %bb.0: # %entry
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtps2ibs {rz-sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x79,0xf9,0x69,0xc0]
-; X86-NEXT: retl # encoding: [0xc3]
-entry:
- %0 = tail call <8 x i32> @llvm.x86.avx10.mask.vcvtps2ibs256(<8 x float> %__B, <8 x i32> zeroinitializer, i8 %__A, i32 11)
- %1 = bitcast <8 x i32> %0 to <4 x i64>
- ret <4 x i64> %1
-}
-
-declare <8 x i32> @llvm.x86.avx10.mask.vcvtps2ibs256(<8 x float>, <8 x i32>, i8, i32)
+declare <8 x i32> @llvm.x86.avx10.mask.vcvtps2ibs256(<8 x float>, <8 x i32>, i8)
define dso_local <2 x i64> @test_mm_ipcvtps_epu8(<4 x float> noundef %__A) {
; CHECK-LABEL: test_mm_ipcvtps_epu8:
@@ -718,7 +574,7 @@ define dso_local <4 x i64> @test_mm256_ipcvtps_epu8(<8 x float> noundef %__A) lo
; CHECK-NEXT: vcvtps2iubs %ymm0, %ymm0 # encoding: [0x62,0xf5,0x7d,0x28,0x6b,0xc0]
; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
entry:
- %0 = tail call <8 x i32> @llvm.x86.avx10.mask.vcvtps2iubs256(<8 x float> %__A, <8 x i32> zeroinitializer, i8 -1, i32 4)
+ %0 = tail call <8 x i32> @llvm.x86.avx10.mask.vcvtps2iubs256(<8 x float> %__A, <8 x i32> zeroinitializer, i8 -1)
%1 = bitcast <8 x i32> %0 to <4 x i64>
ret <4 x i64> %1
}
@@ -737,7 +593,7 @@ define dso_local <4 x i64> @test_mm256_mask_ipcvtps_epu8(<4 x i64> noundef %__S,
; X86-NEXT: retl # encoding: [0xc3]
entry:
%0 = bitcast <4 x i64> %__S to <8 x i32>
- %1 = tail call <8 x i32> @llvm.x86.avx10.mask.vcvtps2iubs256(<8 x float> %__B, <8 x i32> %0, i8 %__A, i32 4)
+ %1 = tail call <8 x i32> @llvm.x86.avx10.mask.vcvtps2iubs256(<8 x float> %__B, <8 x i32> %0, i8 %__A)
%2 = bitcast <8 x i32> %1 to <4 x i64>
ret <4 x i64> %2
}
@@ -755,60 +611,12 @@ define dso_local <4 x i64> @test_mm256_maskz_ipcvtps_epu8(i8 noundef zeroext %__
; X86-NEXT: vcvtps2iubs %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x7d,0xa9,0x6b,0xc0]
; X86-NEXT: retl # encoding: [0xc3]
entry:
- %0 = tail call <8 x i32> @llvm.x86.avx10.mask.vcvtps2iubs256(<8 x float> %__B, <8 x i32> zeroinitializer, i8 %__A, i32 4)
- %1 = bitcast <8 x i32> %0 to <4 x i64>
- ret <4 x i64> %1
-}
-
-define dso_local <4 x i64> @test_mm256_ipcvtps_epu8_round(<8 x float> noundef %__A) {
-; CHECK-LABEL: test_mm256_ipcvtps_epu8_round:
-; CHECK: # %bb.0: # %entry
-; CHECK-NEXT: vcvtps2iubs {rz-sae}, %ymm0, %ymm0 # encoding: [0x62,0xf5,0x79,0x78,0x6b,0xc0]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
-entry:
- %0 = tail call <8 x i32> @llvm.x86.avx10.mask.vcvtps2iubs256(<8 x float> %__A, <8 x i32> zeroinitializer, i8 -1, i32 11)
- %1 = bitcast <8 x i32> %0 to <4 x i64>
- ret <4 x i64> %1
-}
-
-define dso_local <4 x i64> @test_mm256_mask_ipcvtps_epu8_round(<4 x i64> noundef %__S, i8 noundef zeroext %__A, <8 x float> noundef %__B) {
-; X64-LABEL: test_mm256_mask_ipcvtps_epu8_round:
-; X64: # %bb.0: # %entry
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtps2iubs {rz-sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x79,0x79,0x6b,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
-;
-; X86-LABEL: test_mm256_mask_ipcvtps_epu8_round:
-; X86: # %bb.0: # %entry
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtps2iubs {rz-sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x79,0x79,0x6b,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-entry:
- %0 = bitcast <4 x i64> %__S to <8 x i32>
- %1 = tail call <8 x i32> @llvm.x86.avx10.mask.vcvtps2iubs256(<8 x float> %__B, <8 x i32> %0, i8 %__A, i32 11)
- %2 = bitcast <8 x i32> %1 to <4 x i64>
- ret <4 x i64> %2
-}
-
-define dso_local <4 x i64> @test_mm256_maskz_ipcvtps_epu8_round(i8 noundef zeroext %__A, <8 x float> noundef %__B) {
-; X64-LABEL: test_mm256_maskz_ipcvtps_epu8_round:
-; X64: # %bb.0: # %entry
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvtps2iubs {rz-sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x79,0xf9,0x6b,0xc0]
-; X64-NEXT: retq # encoding: [0xc3]
-;
-; X86-LABEL: test_mm256_maskz_ipcvtps_epu8_round:
-; X86: # %bb.0: # %entry
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvtps2iubs {rz-sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x79,0xf9,0x6b,0xc0]
-; X86-NEXT: retl # encoding: [0xc3]
-entry:
- %0 = tail call <8 x i32> @llvm.x86.avx10.mask.vcvtps2iubs256(<8 x float> %__B, <8 x i32> zeroinitializer, i8 %__A, i32 11)
+ %0 = tail call <8 x i32> @llvm.x86.avx10.mask.vcvtps2iubs256(<8 x float> %__B, <8 x i32> zeroinitializer, i8 %__A)
%1 = bitcast <8 x i32> %0 to <4 x i64>
ret <4 x i64> %1
}
-declare <8 x i32> @llvm.x86.avx10.mask.vcvtps2iubs256(<8 x float>, <8 x i32>, i8, i32)
+declare <8 x i32> @llvm.x86.avx10.mask.vcvtps2iubs256(<8 x float>, <8 x i32>, i8)
define dso_local <2 x i64> @test_mm_ipcvttbf16_epi8(<8 x bfloat> noundef %__A) {
; CHECK-LABEL: test_mm_ipcvttbf16_epi8:
@@ -1082,7 +890,7 @@ define dso_local <4 x i64> @test_mm256_ipcvttph_epi8(<16 x half> noundef %__A) l
; CHECK-NEXT: vcvttph2ibs %ymm0, %ymm0 # encoding: [0x62,0xf5,0x7c,0x28,0x68,0xc0]
; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
entry:
- %0 = tail call <16 x i16> @llvm.x86.avx10.mask.vcvttph2ibs256(<16 x half> %__A, <16 x i16> zeroinitializer, i16 -1, i32 4)
+ %0 = tail call <16 x i16> @llvm.x86.avx10.mask.vcvttph2ibs256(<16 x half> %__A, <16 x i16> zeroinitializer, i16 -1)
%1 = bitcast <16 x i16> %0 to <4 x i64>
ret <4 x i64> %1
}
@@ -1101,7 +909,7 @@ define dso_local <4 x i64> @test_mm256_mask_ipcvttph_epi8(<4 x i64> noundef %__S
; X86-NEXT: retl # encoding: [0xc3]
entry:
%0 = bitcast <4 x i64> %__S to <16 x i16>
- %1 = tail call <16 x i16> @llvm.x86.avx10.mask.vcvttph2ibs256(<16 x half> %__B, <16 x i16> %0, i16 %__A, i32 4)
+ %1 = tail call <16 x i16> @llvm.x86.avx10.mask.vcvttph2ibs256(<16 x half> %__B, <16 x i16> %0, i16 %__A)
%2 = bitcast <16 x i16> %1 to <4 x i64>
ret <4 x i64> %2
}
@@ -1119,59 +927,11 @@ define dso_local <4 x i64> @test_mm256_maskz_ipcvttph_epi8(i16 noundef zeroext %
; X86-NEXT: vcvttph2ibs %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x7c,0xa9,0x68,0xc0]
; X86-NEXT: retl # encoding: [0xc3]
entry:
- %0 = tail call <16 x i16> @llvm.x86.avx10.mask.vcvttph2ibs256(<16 x half> %__B, <16 x i16> zeroinitializer, i16 %__A, i32 4)
+ %0 = tail call <16 x i16> @llvm.x86.avx10.mask.vcvttph2ibs256(<16 x half> %__B, <16 x i16> zeroinitializer, i16 %__A)
%1 = bitcast <16 x i16> %0 to <4 x i64>
ret <4 x i64> %1
}
-
-define dso_local <4 x i64> @test_mm256_ipcvttph_epi8_round(<16 x half> noundef %__A) {
-; CHECK-LABEL: test_mm256_ipcvttph_epi8_round:
-; CHECK: # %bb.0: # %entry
-; CHECK-NEXT: vcvttph2ibs {sae}, %ymm0, %ymm0 # encoding: [0x62,0xf5,0x78,0x18,0x68,0xc0]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
-entry:
- %0 = tail call <16 x i16> @llvm.x86.avx10.mask.vcvttph2ibs256(<16 x half> %__A, <16 x i16> zeroinitializer, i16 -1, i32 8)
- %1 = bitcast <16 x i16> %0 to <4 x i64>
- ret <4 x i64> %1
-}
-
-define dso_local <4 x i64> @test_mm256_mask_ipcvttph_epi8_round(<4 x i64> noundef %__S, i16 noundef zeroext %__A, <16 x half> noundef %__B) {
-; X64-LABEL: test_mm256_mask_ipcvttph_epi8_round:
-; X64: # %bb.0: # %entry
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvttph2ibs {sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x78,0x19,0x68,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
-;
-; X86-LABEL: test_mm256_mask_ipcvttph_epi8_round:
-; X86: # %bb.0: # %entry
-; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvttph2ibs {sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x78,0x19,0x68,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-entry:
- %0 = bitcast <4 x i64> %__S to <16 x i16>
- %1 = tail call <16 x i16> @llvm.x86.avx10.mask.vcvttph2ibs256(<16 x half> %__B, <16 x i16> %0, i16 %__A, i32 8)
- %2 = bitcast <16 x i16> %1 to <4 x i64>
- ret <4 x i64> %2
-}
-
-define dso_local <4 x i64> @test_mm256_maskz_ipcvttph_epi8_round(i16 noundef zeroext %__A, <16 x half> noundef %__B) {
-; X64-LABEL: test_mm256_maskz_ipcvttph_epi8_round:
-; X64: # %bb.0: # %entry
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvttph2ibs {sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x78,0x99,0x68,0xc0]
-; X64-NEXT: retq # encoding: [0xc3]
-;
-; X86-LABEL: test_mm256_maskz_ipcvttph_epi8_round:
-; X86: # %bb.0: # %entry
-; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvttph2ibs {sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x78,0x99,0x68,0xc0]
-; X86-NEXT: retl # encoding: [0xc3]
-entry:
- %0 = tail call <16 x i16> @llvm.x86.avx10.mask.vcvttph2ibs256(<16 x half> %__B, <16 x i16> zeroinitializer, i16 %__A, i32 8)
- %1 = bitcast <16 x i16> %0 to <4 x i64>
- ret <4 x i64> %1
-}
-declare <16 x i16> @llvm.x86.avx10.mask.vcvttph2ibs256(<16 x half>, <16 x i16>, i16, i32)
+declare <16 x i16> @llvm.x86.avx10.mask.vcvttph2ibs256(<16 x half>, <16 x i16>, i16)
define dso_local <2 x i64> @test_mm_ipcvttph_epu8(<8 x half> noundef %__A) {
; CHECK-LABEL: test_mm_ipcvttph_epu8:
@@ -1229,7 +989,7 @@ define dso_local <4 x i64> @test_mm256_ipcvttph_epu8(<16 x half> noundef %__A) l
; CHECK-NEXT: vcvttph2iubs %ymm0, %ymm0 # encoding: [0x62,0xf5,0x7c,0x28,0x6a,0xc0]
; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
entry:
- %0 = tail call <16 x i16> @llvm.x86.avx10.mask.vcvttph2iubs256(<16 x half> %__A, <16 x i16> zeroinitializer, i16 -1, i32 4)
+ %0 = tail call <16 x i16> @llvm.x86.avx10.mask.vcvttph2iubs256(<16 x half> %__A, <16 x i16> zeroinitializer, i16 -1)
%1 = bitcast <16 x i16> %0 to <4 x i64>
ret <4 x i64> %1
}
@@ -1248,7 +1008,7 @@ define dso_local <4 x i64> @test_mm256_mask_ipcvttph_epu8(<4 x i64> noundef %__S
; X86-NEXT: retl # encoding: [0xc3]
entry:
%0 = bitcast <4 x i64> %__S to <16 x i16>
- %1 = tail call <16 x i16> @llvm.x86.avx10.mask.vcvttph2iubs256(<16 x half> %__B, <16 x i16> %0, i16 %__A, i32 4)
+ %1 = tail call <16 x i16> @llvm.x86.avx10.mask.vcvttph2iubs256(<16 x half> %__B, <16 x i16> %0, i16 %__A)
%2 = bitcast <16 x i16> %1 to <4 x i64>
ret <4 x i64> %2
}
@@ -1266,60 +1026,12 @@ define dso_local <4 x i64> @test_mm256_maskz_ipcvttph_epu8(i16 noundef zeroext %
; X86-NEXT: vcvttph2iubs %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x7c,0xa9,0x6a,0xc0]
; X86-NEXT: retl # encoding: [0xc3]
entry:
- %0 = tail call <16 x i16> @llvm.x86.avx10.mask.vcvttph2iubs256(<16 x half> %__B, <16 x i16> zeroinitializer, i16 %__A, i32 4)
- %1 = bitcast <16 x i16> %0 to <4 x i64>
- ret <4 x i64> %1
-}
-
-define dso_local <4 x i64> @test_mm256_ipcvttph_epu8_round(<16 x half> noundef %__A) {
-; CHECK-LABEL: test_mm256_ipcvttph_epu8_round:
-; CHECK: # %bb.0: # %entry
-; CHECK-NEXT: vcvttph2iubs {sae}, %ymm0, %ymm0 # encoding: [0x62,0xf5,0x78,0x18,0x6a,0xc0]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
-entry:
- %0 = tail call <16 x i16> @llvm.x86.avx10.mask.vcvttph2iubs256(<16 x half> %__A, <16 x i16> zeroinitializer, i16 -1, i32 8)
- %1 = bitcast <16 x i16> %0 to <4 x i64>
- ret <4 x i64> %1
-}
-
-define dso_local <4 x i64> @test_mm256_mask_ipcvttph_epu8_round(<4 x i64> noundef %__S, i16 noundef zeroext %__A, <16 x half> noundef %__B) {
-; X64-LABEL: test_mm256_mask_ipcvttph_epu8_round:
-; X64: # %bb.0: # %entry
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvttph2iubs {sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x78,0x19,0x6a,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
-;
-; X86-LABEL: test_mm256_mask_ipcvttph_epu8_round:
-; X86: # %bb.0: # %entry
-; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvttph2iubs {sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x78,0x19,0x6a,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-entry:
- %0 = bitcast <4 x i64> %__S to <16 x i16>
- %1 = tail call <16 x i16> @llvm.x86.avx10.mask.vcvttph2iubs256(<16 x half> %__B, <16 x i16> %0, i16 %__A, i32 8)
- %2 = bitcast <16 x i16> %1 to <4 x i64>
- ret <4 x i64> %2
-}
-
-define dso_local <4 x i64> @test_mm256_maskz_ipcvttph_epu8_round(i16 noundef zeroext %__A, <16 x half> noundef %__B) {
-; X64-LABEL: test_mm256_maskz_ipcvttph_epu8_round:
-; X64: # %bb.0: # %entry
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvttph2iubs {sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x78,0x99,0x6a,0xc0]
-; X64-NEXT: retq # encoding: [0xc3]
-;
-; X86-LABEL: test_mm256_maskz_ipcvttph_epu8_round:
-; X86: # %bb.0: # %entry
-; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvttph2iubs {sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x78,0x99,0x6a,0xc0]
-; X86-NEXT: retl # encoding: [0xc3]
-entry:
- %0 = tail call <16 x i16> @llvm.x86.avx10.mask.vcvttph2iubs256(<16 x half> %__B, <16 x i16> zeroinitializer, i16 %__A, i32 8)
+ %0 = tail call <16 x i16> @llvm.x86.avx10.mask.vcvttph2iubs256(<16 x half> %__B, <16 x i16> zeroinitializer, i16 %__A)
%1 = bitcast <16 x i16> %0 to <4 x i64>
ret <4 x i64> %1
}
-declare <16 x i16> @llvm.x86.avx10.mask.vcvttph2iubs256(<16 x half>, <16 x i16>, i16, i32)
+declare <16 x i16> @llvm.x86.avx10.mask.vcvttph2iubs256(<16 x half>, <16 x i16>, i16)
define dso_local <2 x i64> @test_mm_ipcvttps_epi8(<4 x float> noundef %__A) {
; CHECK-LABEL: test_mm_ipcvttps_epi8:
@@ -1377,7 +1089,7 @@ define dso_local <4 x i64> @test_mm256_ipcvttps_epi8(<8 x float> noundef %__A) l
; CHECK-NEXT: vcvttps2ibs %ymm0, %ymm0 # encoding: [0x62,0xf5,0x7d,0x28,0x68,0xc0]
; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
entry:
- %0 = tail call <8 x i32> @llvm.x86.avx10.mask.vcvttps2ibs256(<8 x float> %__A, <8 x i32> zeroinitializer, i8 -1, i32 4)
+ %0 = tail call <8 x i32> @llvm.x86.avx10.mask.vcvttps2ibs256(<8 x float> %__A, <8 x i32> zeroinitializer, i8 -1)
%1 = bitcast <8 x i32> %0 to <4 x i64>
ret <4 x i64> %1
}
@@ -1396,7 +1108,7 @@ define dso_local <4 x i64> @test_mm256_mask_ipcvttps_epi8(<4 x i64> noundef %__S
; X86-NEXT: retl # encoding: [0xc3]
entry:
%0 = bitcast <4 x i64> %__S to <8 x i32>
- %1 = tail call <8 x i32> @llvm.x86.avx10.mask.vcvttps2ibs256(<8 x float> %__B, <8 x i32> %0, i8 %__A, i32 4)
+ %1 = tail call <8 x i32> @llvm.x86.avx10.mask.vcvttps2ibs256(<8 x float> %__B, <8 x i32> %0, i8 %__A)
%2 = bitcast <8 x i32> %1 to <4 x i64>
ret <4 x i64> %2
}
@@ -1414,60 +1126,12 @@ define dso_local <4 x i64> @test_mm256_maskz_ipcvttps_epi8(i8 noundef zeroext %_
; X86-NEXT: vcvttps2ibs %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x7d,0xa9,0x68,0xc0]
; X86-NEXT: retl # encoding: [0xc3]
entry:
- %0 = tail call <8 x i32> @llvm.x86.avx10.mask.vcvttps2ibs256(<8 x float> %__B, <8 x i32> zeroinitializer, i8 %__A, i32 4)
+ %0 = tail call <8 x i32> @llvm.x86.avx10.mask.vcvttps2ibs256(<8 x float> %__B, <8 x i32> zeroinitializer, i8 %__A)
%1 = bitcast <8 x i32> %0 to <4 x i64>
ret <4 x i64> %1
}
-define dso_local <4 x i64> @test_mm256_ipcvttps_epi8_round(<8 x float> noundef %__A) {
-; CHECK-LABEL: test_mm256_ipcvttps_epi8_round:
-; CHECK: # %bb.0: # %entry
-; CHECK-NEXT: vcvttps2ibs {sae}, %ymm0, %ymm0 # encoding: [0x62,0xf5,0x79,0x18,0x68,0xc0]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
-entry:
- %0 = tail call <8 x i32> @llvm.x86.avx10.mask.vcvttps2ibs256(<8 x float> %__A, <8 x i32> zeroinitializer, i8 -1, i32 8)
- %1 = bitcast <8 x i32> %0 to <4 x i64>
- ret <4 x i64> %1
-}
-
-define dso_local <4 x i64> @test_mm256_mask_ipcvttps_epi8_round(<4 x i64> noundef %__S, i8 noundef zeroext %__A, <8 x float> noundef %__B) {
-; X64-LABEL: test_mm256_mask_ipcvttps_epi8_round:
-; X64: # %bb.0: # %entry
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvttps2ibs {sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x79,0x19,0x68,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
-;
-; X86-LABEL: test_mm256_mask_ipcvttps_epi8_round:
-; X86: # %bb.0: # %entry
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvttps2ibs {sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x79,0x19,0x68,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-entry:
- %0 = bitcast <4 x i64> %__S to <8 x i32>
- %1 = tail call <8 x i32> @llvm.x86.avx10.mask.vcvttps2ibs256(<8 x float> %__B, <8 x i32> %0, i8 %__A, i32 8)
- %2 = bitcast <8 x i32> %1 to <4 x i64>
- ret <4 x i64> %2
-}
-
-define dso_local <4 x i64> @test_mm256_maskz_ipcvttps_epi8_round(i8 noundef zeroext %__A, <8 x float> noundef %__B) {
-; X64-LABEL: test_mm256_maskz_ipcvttps_epi8_round:
-; X64: # %bb.0: # %entry
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvttps2ibs {sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x79,0x99,0x68,0xc0]
-; X64-NEXT: retq # encoding: [0xc3]
-;
-; X86-LABEL: test_mm256_maskz_ipcvttps_epi8_round:
-; X86: # %bb.0: # %entry
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvttps2ibs {sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x79,0x99,0x68,0xc0]
-; X86-NEXT: retl # encoding: [0xc3]
-entry:
- %0 = tail call <8 x i32> @llvm.x86.avx10.mask.vcvttps2ibs256(<8 x float> %__B, <8 x i32> zeroinitializer, i8 %__A, i32 8)
- %1 = bitcast <8 x i32> %0 to <4 x i64>
- ret <4 x i64> %1
-}
-
-declare <8 x i32> @llvm.x86.avx10.mask.vcvttps2ibs256(<8 x float>, <8 x i32>, i8, i32)
+declare <8 x i32> @llvm.x86.avx10.mask.vcvttps2ibs256(<8 x float>, <8 x i32>, i8)
define dso_local <2 x i64> @test_mm_ipcvttps_epu8(<4 x float> noundef %__A) {
; CHECK-LABEL: test_mm_ipcvttps_epu8:
@@ -1525,7 +1189,7 @@ define dso_local <4 x i64> @test_mm256_ipcvttps_epu8(<8 x float> noundef %__A) l
; CHECK-NEXT: vcvttps2iubs %ymm0, %ymm0 # encoding: [0x62,0xf5,0x7d,0x28,0x6a,0xc0]
; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
entry:
- %0 = tail call <8 x i32> @llvm.x86.avx10.mask.vcvttps2iubs256(<8 x float> %__A, <8 x i32> zeroinitializer, i8 -1, i32 4)
+ %0 = tail call <8 x i32> @llvm.x86.avx10.mask.vcvttps2iubs256(<8 x float> %__A, <8 x i32> zeroinitializer, i8 -1)
%1 = bitcast <8 x i32> %0 to <4 x i64>
ret <4 x i64> %1
}
@@ -1544,7 +1208,7 @@ define dso_local <4 x i64> @test_mm256_mask_ipcvttps_epu8(<4 x i64> noundef %__S
; X86-NEXT: retl # encoding: [0xc3]
entry:
%0 = bitcast <4 x i64> %__S to <8 x i32>
- %1 = tail call <8 x i32> @llvm.x86.avx10.mask.vcvttps2iubs256(<8 x float> %__B, <8 x i32> %0, i8 %__A, i32 4)
+ %1 = tail call <8 x i32> @llvm.x86.avx10.mask.vcvttps2iubs256(<8 x float> %__B, <8 x i32> %0, i8 %__A)
%2 = bitcast <8 x i32> %1 to <4 x i64>
ret <4 x i64> %2
}
@@ -1562,57 +1226,9 @@ define dso_local <4 x i64> @test_mm256_maskz_ipcvttps_epu8(i8 noundef zeroext %_
; X86-NEXT: vcvttps2iubs %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x7d,0xa9,0x6a,0xc0]
; X86-NEXT: retl # encoding: [0xc3]
entry:
- %0 = tail call <8 x i32> @llvm.x86.avx10.mask.vcvttps2iubs256(<8 x float> %__B, <8 x i32> zeroinitializer, i8 %__A, i32 4)
- %1 = bitcast <8 x i32> %0 to <4 x i64>
- ret <4 x i64> %1
-}
-
-define dso_local <4 x i64> @test_mm256_ipcvttps_epu8_round(<8 x float> noundef %__A) {
-; CHECK-LABEL: test_mm256_ipcvttps_epu8_round:
-; CHECK: # %bb.0: # %entry
-; CHECK-NEXT: vcvttps2iubs {sae}, %ymm0, %ymm0 # encoding: [0x62,0xf5,0x79,0x18,0x6a,0xc0]
-; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3]
-entry:
- %0 = tail call <8 x i32> @llvm.x86.avx10.mask.vcvttps2iubs256(<8 x float> %__A, <8 x i32> zeroinitializer, i8 -1, i32 8)
- %1 = bitcast <8 x i32> %0 to <4 x i64>
- ret <4 x i64> %1
-}
-
-define dso_local <4 x i64> @test_mm256_mask_ipcvttps_epu8_round(<4 x i64> noundef %__S, i8 noundef zeroext %__A, <8 x float> noundef %__B) {
-; X64-LABEL: test_mm256_mask_ipcvttps_epu8_round:
-; X64: # %bb.0: # %entry
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvttps2iubs {sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x79,0x19,0x6a,0xc1]
-; X64-NEXT: retq # encoding: [0xc3]
-;
-; X86-LABEL: test_mm256_mask_ipcvttps_epu8_round:
-; X86: # %bb.0: # %entry
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvttps2iubs {sae}, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x79,0x19,0x6a,0xc1]
-; X86-NEXT: retl # encoding: [0xc3]
-entry:
- %0 = bitcast <4 x i64> %__S to <8 x i32>
- %1 = tail call <8 x i32> @llvm.x86.avx10.mask.vcvttps2iubs256(<8 x float> %__B, <8 x i32> %0, i8 %__A, i32 8)
- %2 = bitcast <8 x i32> %1 to <4 x i64>
- ret <4 x i64> %2
-}
-
-define dso_local <4 x i64> @test_mm256_maskz_ipcvttps_epu8_round(i8 noundef zeroext %__A, <8 x float> noundef %__B) {
-; X64-LABEL: test_mm256_maskz_ipcvttps_epu8_round:
-; X64: # %bb.0: # %entry
-; X64-NEXT: kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
-; X64-NEXT: vcvttps2iubs {sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x79,0x99,0x6a,0xc0]
-; X64-NEXT: retq # encoding: [0xc3]
-;
-; X86-LABEL: test_mm256_maskz_ipcvttps_epu8_round:
-; X86: # %bb.0: # %entry
-; X86-NEXT: kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
-; X86-NEXT: vcvttps2iubs {sae}, %ymm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x79,0x99,0x6a,0xc0]
-; X86-NEXT: retl # encoding: [0xc3]
-entry:
- %0 = tail call <8 x i32> @llvm.x86.avx10.mask.vcvttps2iubs256(<8 x float> %__B, <8 x i32> zeroinitializer, i8 %__A, i32 8)
+ %0 = tail call <8 x i32> @llvm.x86.avx10.mask.vcvttps2iubs256(<8 x float> %__B, <8 x i32> zeroinitializer, i8 %__A)
%1 = bitcast <8 x i32> %0 to <4 x i64>
ret <4 x i64> %1
}
-declare <8 x i32> @llvm.x86.avx10.mask.vcvttps2iubs256(<8 x float>, <8 x i32>, i8, i32)
+declare <8 x i32> @llvm.x86.avx10.mask.vcvttps2iubs256(<8 x float>, <8 x i32>, i8)
diff --git a/llvm/test/MC/Disassembler/X86/avx10.2-satcvt-32.txt b/llvm/test/MC/Disassembler/X86/avx10.2-satcvt-32.txt
index 9e8477aa7f387..b690b012bee4d 100644
--- a/llvm/test/MC/Disassembler/X86/avx10.2-satcvt-32.txt
+++ b/llvm/test/MC/Disassembler/X86/avx10.2-satcvt-32.txt
@@ -249,18 +249,10 @@
# INTEL: vcvtph2ibs ymm2, ymm3
0x62,0xf5,0x7c,0x28,0x69,0xd3
-# ATT: vcvtph2ibs {rn-sae}, %ymm3, %ymm2
-# INTEL: vcvtph2ibs ymm2, ymm3, {rn-sae}
-0x62,0xf5,0x78,0x18,0x69,0xd3
-
# ATT: vcvtph2ibs %ymm3, %ymm2 {%k7}
# INTEL: vcvtph2ibs ymm2 {k7}, ymm3
0x62,0xf5,0x7c,0x2f,0x69,0xd3
-# ATT: vcvtph2ibs {rz-sae}, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vcvtph2ibs ymm2 {k7} {z}, ymm3, {rz-sae}
-0x62,0xf5,0x78,0xff,0x69,0xd3
-
# ATT: vcvtph2ibs 268435456(%esp,%esi,8), %xmm2
# INTEL: vcvtph2ibs xmm2, xmmword ptr [esp + 8*esi + 268435456]
0x62,0xf5,0x7c,0x08,0x69,0x94,0xf4,0x00,0x00,0x00,0x10
@@ -365,18 +357,10 @@
# INTEL: vcvtph2iubs ymm2, ymm3
0x62,0xf5,0x7c,0x28,0x6b,0xd3
-# ATT: vcvtph2iubs {rn-sae}, %ymm3, %ymm2
-# INTEL: vcvtph2iubs ymm2, ymm3, {rn-sae}
-0x62,0xf5,0x78,0x18,0x6b,0xd3
-
# ATT: vcvtph2iubs %ymm3, %ymm2 {%k7}
# INTEL: vcvtph2iubs ymm2 {k7}, ymm3
0x62,0xf5,0x7c,0x2f,0x6b,0xd3
-# ATT: vcvtph2iubs {rz-sae}, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vcvtph2iubs ymm2 {k7} {z}, ymm3, {rz-sae}
-0x62,0xf5,0x78,0xff,0x6b,0xd3
-
# ATT: vcvtph2iubs 268435456(%esp,%esi,8), %xmm2
# INTEL: vcvtph2iubs xmm2, xmmword ptr [esp + 8*esi + 268435456]
0x62,0xf5,0x7c,0x08,0x6b,0x94,0xf4,0x00,0x00,0x00,0x10
@@ -481,18 +465,10 @@
# INTEL: vcvtps2ibs ymm2, ymm3
0x62,0xf5,0x7d,0x28,0x69,0xd3
-# ATT: vcvtps2ibs {rn-sae}, %ymm3, %ymm2
-# INTEL: vcvtps2ibs ymm2, ymm3, {rn-sae}
-0x62,0xf5,0x79,0x18,0x69,0xd3
-
# ATT: vcvtps2ibs %ymm3, %ymm2 {%k7}
# INTEL: vcvtps2ibs ymm2 {k7}, ymm3
0x62,0xf5,0x7d,0x2f,0x69,0xd3
-# ATT: vcvtps2ibs {rz-sae}, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vcvtps2ibs ymm2 {k7} {z}, ymm3, {rz-sae}
-0x62,0xf5,0x79,0xff,0x69,0xd3
-
# ATT: vcvtps2ibs 268435456(%esp,%esi,8), %xmm2
# INTEL: vcvtps2ibs xmm2, xmmword ptr [esp + 8*esi + 268435456]
0x62,0xf5,0x7d,0x08,0x69,0x94,0xf4,0x00,0x00,0x00,0x10
@@ -597,18 +573,10 @@
# INTEL: vcvtps2iubs ymm2, ymm3
0x62,0xf5,0x7d,0x28,0x6b,0xd3
-# ATT: vcvtps2iubs {rn-sae}, %ymm3, %ymm2
-# INTEL: vcvtps2iubs ymm2, ymm3, {rn-sae}
-0x62,0xf5,0x79,0x18,0x6b,0xd3
-
# ATT: vcvtps2iubs %ymm3, %ymm2 {%k7}
# INTEL: vcvtps2iubs ymm2 {k7}, ymm3
0x62,0xf5,0x7d,0x2f,0x6b,0xd3
-# ATT: vcvtps2iubs {rz-sae}, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vcvtps2iubs ymm2 {k7} {z}, ymm3, {rz-sae}
-0x62,0xf5,0x79,0xff,0x6b,0xd3
-
# ATT: vcvtps2iubs 268435456(%esp,%esi,8), %xmm2
# INTEL: vcvtps2iubs xmm2, xmmword ptr [esp + 8*esi + 268435456]
0x62,0xf5,0x7d,0x08,0x6b,0x94,0xf4,0x00,0x00,0x00,0x10
@@ -929,18 +897,10 @@
# INTEL: vcvttph2ibs ymm2, ymm3
0x62,0xf5,0x7c,0x28,0x68,0xd3
-# ATT: vcvttph2ibs {sae}, %ymm3, %ymm2
-# INTEL: vcvttph2ibs ymm2, ymm3, {sae}
-0x62,0xf5,0x78,0x18,0x68,0xd3
-
# ATT: vcvttph2ibs %ymm3, %ymm2 {%k7}
# INTEL: vcvttph2ibs ymm2 {k7}, ymm3
0x62,0xf5,0x7c,0x2f,0x68,0xd3
-# ATT: vcvttph2ibs {sae}, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vcvttph2ibs ymm2 {k7} {z}, ymm3, {sae}
-0x62,0xf5,0x78,0x9f,0x68,0xd3
-
# ATT: vcvttph2ibs 268435456(%esp,%esi,8), %xmm2
# INTEL: vcvttph2ibs xmm2, xmmword ptr [esp + 8*esi + 268435456]
0x62,0xf5,0x7c,0x08,0x68,0x94,0xf4,0x00,0x00,0x00,0x10
@@ -1045,18 +1005,10 @@
# INTEL: vcvttph2iubs ymm2, ymm3
0x62,0xf5,0x7c,0x28,0x6a,0xd3
-# ATT: vcvttph2iubs {sae}, %ymm3, %ymm2
-# INTEL: vcvttph2iubs ymm2, ymm3, {sae}
-0x62,0xf5,0x78,0x18,0x6a,0xd3
-
# ATT: vcvttph2iubs %ymm3, %ymm2 {%k7}
# INTEL: vcvttph2iubs ymm2 {k7}, ymm3
0x62,0xf5,0x7c,0x2f,0x6a,0xd3
-# ATT: vcvttph2iubs {sae}, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vcvttph2iubs ymm2 {k7} {z}, ymm3, {sae}
-0x62,0xf5,0x78,0x9f,0x6a,0xd3
-
# ATT: vcvttph2iubs 268435456(%esp,%esi,8), %xmm2
# INTEL: vcvttph2iubs xmm2, xmmword ptr [esp + 8*esi + 268435456]
0x62,0xf5,0x7c,0x08,0x6a,0x94,0xf4,0x00,0x00,0x00,0x10
@@ -1161,18 +1113,10 @@
# INTEL: vcvttps2ibs ymm2, ymm3
0x62,0xf5,0x7d,0x28,0x68,0xd3
-# ATT: vcvttps2ibs {sae}, %ymm3, %ymm2
-# INTEL: vcvttps2ibs ymm2, ymm3, {sae}
-0x62,0xf5,0x79,0x18,0x68,0xd3
-
# ATT: vcvttps2ibs %ymm3, %ymm2 {%k7}
# INTEL: vcvttps2ibs ymm2 {k7}, ymm3
0x62,0xf5,0x7d,0x2f,0x68,0xd3
-# ATT: vcvttps2ibs {sae}, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vcvttps2ibs ymm2 {k7} {z}, ymm3, {sae}
-0x62,0xf5,0x79,0x9f,0x68,0xd3
-
# ATT: vcvttps2ibs 268435456(%esp,%esi,8), %xmm2
# INTEL: vcvttps2ibs xmm2, xmmword ptr [esp + 8*esi + 268435456]
0x62,0xf5,0x7d,0x08,0x68,0x94,0xf4,0x00,0x00,0x00,0x10
@@ -1277,18 +1221,10 @@
# INTEL: vcvttps2iubs ymm2, ymm3
0x62,0xf5,0x7d,0x28,0x6a,0xd3
-# ATT: vcvttps2iubs {sae}, %ymm3, %ymm2
-# INTEL: vcvttps2iubs ymm2, ymm3, {sae}
-0x62,0xf5,0x79,0x18,0x6a,0xd3
-
# ATT: vcvttps2iubs %ymm3, %ymm2 {%k7}
# INTEL: vcvttps2iubs ymm2 {k7}, ymm3
0x62,0xf5,0x7d,0x2f,0x6a,0xd3
-# ATT: vcvttps2iubs {sae}, %ymm3, %ymm2 {%k7} {z}
-# INTEL: vcvttps2iubs ymm2 {k7} {z}, ymm3, {sae}
-0x62,0xf5,0x79,0x9f,0x6a,0xd3
-
# ATT: vcvttps2iubs 268435456(%esp,%esi,8), %xmm2
# INTEL: vcvttps2iubs xmm2, xmmword ptr [esp + 8*esi + 268435456]
0x62,0xf5,0x7d,0x08,0x6a,0x94,0xf4,0x00,0x00,0x00,0x10
diff --git a/llvm/test/MC/Disassembler/X86/avx10.2-satcvt-64.txt b/llvm/test/MC/Disassembler/X86/avx10.2-satcvt-64.txt
index a7b811f9ae3ec..2b1703202a95c 100644
--- a/llvm/test/MC/Disassembler/X86/avx10.2-satcvt-64.txt
+++ b/llvm/test/MC/Disassembler/X86/avx10.2-satcvt-64.txt
@@ -249,18 +249,10 @@
# INTEL: vcvtph2ibs ymm22, ymm23
0x62,0xa5,0x7c,0x28,0x69,0xf7
-# ATT: vcvtph2ibs {rn-sae}, %ymm23, %ymm22
-# INTEL: vcvtph2ibs ymm22, ymm23, {rn-sae}
-0x62,0xa5,0x78,0x18,0x69,0xf7
-
# ATT: vcvtph2ibs %ymm23, %ymm22 {%k7}
# INTEL: vcvtph2ibs ymm22 {k7}, ymm23
0x62,0xa5,0x7c,0x2f,0x69,0xf7
-# ATT: vcvtph2ibs {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vcvtph2ibs ymm22 {k7} {z}, ymm23, {rz-sae}
-0x62,0xa5,0x78,0xff,0x69,0xf7
-
# ATT: vcvtph2ibs 268435456(%rbp,%r14,8), %xmm22
# INTEL: vcvtph2ibs xmm22, xmmword ptr [rbp + 8*r14 + 268435456]
0x62,0xa5,0x7c,0x08,0x69,0xb4,0xf5,0x00,0x00,0x00,0x10
@@ -365,18 +357,10 @@
# INTEL: vcvtph2iubs ymm22, ymm23
0x62,0xa5,0x7c,0x28,0x6b,0xf7
-# ATT: vcvtph2iubs {rn-sae}, %ymm23, %ymm22
-# INTEL: vcvtph2iubs ymm22, ymm23, {rn-sae}
-0x62,0xa5,0x78,0x18,0x6b,0xf7
-
# ATT: vcvtph2iubs %ymm23, %ymm22 {%k7}
# INTEL: vcvtph2iubs ymm22 {k7}, ymm23
0x62,0xa5,0x7c,0x2f,0x6b,0xf7
-# ATT: vcvtph2iubs {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vcvtph2iubs ymm22 {k7} {z}, ymm23, {rz-sae}
-0x62,0xa5,0x78,0xff,0x6b,0xf7
-
# ATT: vcvtph2iubs 268435456(%rbp,%r14,8), %xmm22
# INTEL: vcvtph2iubs xmm22, xmmword ptr [rbp + 8*r14 + 268435456]
0x62,0xa5,0x7c,0x08,0x6b,0xb4,0xf5,0x00,0x00,0x00,0x10
@@ -481,18 +465,10 @@
# INTEL: vcvtps2ibs ymm22, ymm23
0x62,0xa5,0x7d,0x28,0x69,0xf7
-# ATT: vcvtps2ibs {rn-sae}, %ymm23, %ymm22
-# INTEL: vcvtps2ibs ymm22, ymm23, {rn-sae}
-0x62,0xa5,0x79,0x18,0x69,0xf7
-
# ATT: vcvtps2ibs %ymm23, %ymm22 {%k7}
# INTEL: vcvtps2ibs ymm22 {k7}, ymm23
0x62,0xa5,0x7d,0x2f,0x69,0xf7
-# ATT: vcvtps2ibs {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vcvtps2ibs ymm22 {k7} {z}, ymm23, {rz-sae}
-0x62,0xa5,0x79,0xff,0x69,0xf7
-
# ATT: vcvtps2ibs 268435456(%rbp,%r14,8), %xmm22
# INTEL: vcvtps2ibs xmm22, xmmword ptr [rbp + 8*r14 + 268435456]
0x62,0xa5,0x7d,0x08,0x69,0xb4,0xf5,0x00,0x00,0x00,0x10
@@ -597,18 +573,10 @@
# INTEL: vcvtps2iubs ymm22, ymm23
0x62,0xa5,0x7d,0x28,0x6b,0xf7
-# ATT: vcvtps2iubs {rn-sae}, %ymm23, %ymm22
-# INTEL: vcvtps2iubs ymm22, ymm23, {rn-sae}
-0x62,0xa5,0x79,0x18,0x6b,0xf7
-
# ATT: vcvtps2iubs %ymm23, %ymm22 {%k7}
# INTEL: vcvtps2iubs ymm22 {k7}, ymm23
0x62,0xa5,0x7d,0x2f,0x6b,0xf7
-# ATT: vcvtps2iubs {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vcvtps2iubs ymm22 {k7} {z}, ymm23, {rz-sae}
-0x62,0xa5,0x79,0xff,0x6b,0xf7
-
# ATT: vcvtps2iubs 268435456(%rbp,%r14,8), %xmm22
# INTEL: vcvtps2iubs xmm22, xmmword ptr [rbp + 8*r14 + 268435456]
0x62,0xa5,0x7d,0x08,0x6b,0xb4,0xf5,0x00,0x00,0x00,0x10
@@ -929,18 +897,10 @@
# INTEL: vcvttph2ibs ymm22, ymm23
0x62,0xa5,0x7c,0x28,0x68,0xf7
-# ATT: vcvttph2ibs {sae}, %ymm23, %ymm22
-# INTEL: vcvttph2ibs ymm22, ymm23, {sae}
-0x62,0xa5,0x78,0x18,0x68,0xf7
-
# ATT: vcvttph2ibs %ymm23, %ymm22 {%k7}
# INTEL: vcvttph2ibs ymm22 {k7}, ymm23
0x62,0xa5,0x7c,0x2f,0x68,0xf7
-# ATT: vcvttph2ibs {sae}, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vcvttph2ibs ymm22 {k7} {z}, ymm23, {sae}
-0x62,0xa5,0x78,0x9f,0x68,0xf7
-
# ATT: vcvttph2ibs 268435456(%rbp,%r14,8), %xmm22
# INTEL: vcvttph2ibs xmm22, xmmword ptr [rbp + 8*r14 + 268435456]
0x62,0xa5,0x7c,0x08,0x68,0xb4,0xf5,0x00,0x00,0x00,0x10
@@ -1045,18 +1005,10 @@
# INTEL: vcvttph2iubs ymm22, ymm23
0x62,0xa5,0x7c,0x28,0x6a,0xf7
-# ATT: vcvttph2iubs {sae}, %ymm23, %ymm22
-# INTEL: vcvttph2iubs ymm22, ymm23, {sae}
-0x62,0xa5,0x78,0x18,0x6a,0xf7
-
# ATT: vcvttph2iubs %ymm23, %ymm22 {%k7}
# INTEL: vcvttph2iubs ymm22 {k7}, ymm23
0x62,0xa5,0x7c,0x2f,0x6a,0xf7
-# ATT: vcvttph2iubs {sae}, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vcvttph2iubs ymm22 {k7} {z}, ymm23, {sae}
-0x62,0xa5,0x78,0x9f,0x6a,0xf7
-
# ATT: vcvttph2iubs 268435456(%rbp,%r14,8), %xmm22
# INTEL: vcvttph2iubs xmm22, xmmword ptr [rbp + 8*r14 + 268435456]
0x62,0xa5,0x7c,0x08,0x6a,0xb4,0xf5,0x00,0x00,0x00,0x10
@@ -1161,18 +1113,10 @@
# INTEL: vcvttps2ibs ymm22, ymm23
0x62,0xa5,0x7d,0x28,0x68,0xf7
-# ATT: vcvttps2ibs {sae}, %ymm23, %ymm22
-# INTEL: vcvttps2ibs ymm22, ymm23, {sae}
-0x62,0xa5,0x79,0x18,0x68,0xf7
-
# ATT: vcvttps2ibs %ymm23, %ymm22 {%k7}
# INTEL: vcvttps2ibs ymm22 {k7}, ymm23
0x62,0xa5,0x7d,0x2f,0x68,0xf7
-# ATT: vcvttps2ibs {sae}, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vcvttps2ibs ymm22 {k7} {z}, ymm23, {sae}
-0x62,0xa5,0x79,0x9f,0x68,0xf7
-
# ATT: vcvttps2ibs 268435456(%rbp,%r14,8), %xmm22
# INTEL: vcvttps2ibs xmm22, xmmword ptr [rbp + 8*r14 + 268435456]
0x62,0xa5,0x7d,0x08,0x68,0xb4,0xf5,0x00,0x00,0x00,0x10
@@ -1277,18 +1221,10 @@
# INTEL: vcvttps2iubs ymm22, ymm23
0x62,0xa5,0x7d,0x28,0x6a,0xf7
-# ATT: vcvttps2iubs {sae}, %ymm23, %ymm22
-# INTEL: vcvttps2iubs ymm22, ymm23, {sae}
-0x62,0xa5,0x79,0x18,0x6a,0xf7
-
# ATT: vcvttps2iubs %ymm23, %ymm22 {%k7}
# INTEL: vcvttps2iubs ymm22 {k7}, ymm23
0x62,0xa5,0x7d,0x2f,0x6a,0xf7
-# ATT: vcvttps2iubs {sae}, %ymm23, %ymm22 {%k7} {z}
-# INTEL: vcvttps2iubs ymm22 {k7} {z}, ymm23, {sae}
-0x62,0xa5,0x79,0x9f,0x6a,0xf7
-
# ATT: vcvttps2iubs 268435456(%rbp,%r14,8), %xmm22
# INTEL: vcvttps2iubs xmm22, xmmword ptr [rbp + 8*r14 + 268435456]
0x62,0xa5,0x7d,0x08,0x6a,0xb4,0xf5,0x00,0x00,0x00,0x10
diff --git a/llvm/test/MC/X86/avx10.2satcvt-32-att.s b/llvm/test/MC/X86/avx10.2satcvt-32-att.s
index aa5519c14e59a..992527e885f35 100644
--- a/llvm/test/MC/X86/avx10.2satcvt-32-att.s
+++ b/llvm/test/MC/X86/avx10.2satcvt-32-att.s
@@ -248,18 +248,10 @@
// CHECK: encoding: [0x62,0xf5,0x7c,0x28,0x69,0xd3]
vcvtph2ibs %ymm3, %ymm2
-// CHECK: vcvtph2ibs {rn-sae}, %ymm3, %ymm2
-// CHECK: encoding: [0x62,0xf5,0x78,0x18,0x69,0xd3]
- vcvtph2ibs {rn-sae}, %ymm3, %ymm2
-
// CHECK: vcvtph2ibs %ymm3, %ymm2 {%k7}
// CHECK: encoding: [0x62,0xf5,0x7c,0x2f,0x69,0xd3]
vcvtph2ibs %ymm3, %ymm2 {%k7}
-// CHECK: vcvtph2ibs {rz-sae}, %ymm3, %ymm2 {%k7} {z}
-// CHECK: encoding: [0x62,0xf5,0x78,0xff,0x69,0xd3]
- vcvtph2ibs {rz-sae}, %ymm3, %ymm2 {%k7} {z}
-
// CHECK: vcvtph2ibs 268435456(%esp,%esi,8), %xmm2
// CHECK: encoding: [0x62,0xf5,0x7c,0x08,0x69,0x94,0xf4,0x00,0x00,0x00,0x10]
vcvtph2ibs 268435456(%esp,%esi,8), %xmm2
@@ -364,18 +356,10 @@
// CHECK: encoding: [0x62,0xf5,0x7c,0x28,0x6b,0xd3]
vcvtph2iubs %ymm3, %ymm2
-// CHECK: vcvtph2iubs {rn-sae}, %ymm3, %ymm2
-// CHECK: encoding: [0x62,0xf5,0x78,0x18,0x6b,0xd3]
- vcvtph2iubs {rn-sae}, %ymm3, %ymm2
-
// CHECK: vcvtph2iubs %ymm3, %ymm2 {%k7}
// CHECK: encoding: [0x62,0xf5,0x7c,0x2f,0x6b,0xd3]
vcvtph2iubs %ymm3, %ymm2 {%k7}
-// CHECK: vcvtph2iubs {rz-sae}, %ymm3, %ymm2 {%k7} {z}
-// CHECK: encoding: [0x62,0xf5,0x78,0xff,0x6b,0xd3]
- vcvtph2iubs {rz-sae}, %ymm3, %ymm2 {%k7} {z}
-
// CHECK: vcvtph2iubs 268435456(%esp,%esi,8), %xmm2
// CHECK: encoding: [0x62,0xf5,0x7c,0x08,0x6b,0x94,0xf4,0x00,0x00,0x00,0x10]
vcvtph2iubs 268435456(%esp,%esi,8), %xmm2
@@ -480,18 +464,10 @@
// CHECK: encoding: [0x62,0xf5,0x7d,0x28,0x69,0xd3]
vcvtps2ibs %ymm3, %ymm2
-// CHECK: vcvtps2ibs {rn-sae}, %ymm3, %ymm2
-// CHECK: encoding: [0x62,0xf5,0x79,0x18,0x69,0xd3]
- vcvtps2ibs {rn-sae}, %ymm3, %ymm2
-
// CHECK: vcvtps2ibs %ymm3, %ymm2 {%k7}
// CHECK: encoding: [0x62,0xf5,0x7d,0x2f,0x69,0xd3]
vcvtps2ibs %ymm3, %ymm2 {%k7}
-// CHECK: vcvtps2ibs {rz-sae}, %ymm3, %ymm2 {%k7} {z}
-// CHECK: encoding: [0x62,0xf5,0x79,0xff,0x69,0xd3]
- vcvtps2ibs {rz-sae}, %ymm3, %ymm2 {%k7} {z}
-
// CHECK: vcvtps2ibs 268435456(%esp,%esi,8), %xmm2
// CHECK: encoding: [0x62,0xf5,0x7d,0x08,0x69,0x94,0xf4,0x00,0x00,0x00,0x10]
vcvtps2ibs 268435456(%esp,%esi,8), %xmm2
@@ -596,18 +572,10 @@
// CHECK: encoding: [0x62,0xf5,0x7d,0x28,0x6b,0xd3]
vcvtps2iubs %ymm3, %ymm2
-// CHECK: vcvtps2iubs {rn-sae}, %ymm3, %ymm2
-// CHECK: encoding: [0x62,0xf5,0x79,0x18,0x6b,0xd3]
- vcvtps2iubs {rn-sae}, %ymm3, %ymm2
-
// CHECK: vcvtps2iubs %ymm3, %ymm2 {%k7}
// CHECK: encoding: [0x62,0xf5,0x7d,0x2f,0x6b,0xd3]
vcvtps2iubs %ymm3, %ymm2 {%k7}
-// CHECK: vcvtps2iubs {rz-sae}, %ymm3, %ymm2 {%k7} {z}
-// CHECK: encoding: [0x62,0xf5,0x79,0xff,0x6b,0xd3]
- vcvtps2iubs {rz-sae}, %ymm3, %ymm2 {%k7} {z}
-
// CHECK: vcvtps2iubs 268435456(%esp,%esi,8), %xmm2
// CHECK: encoding: [0x62,0xf5,0x7d,0x08,0x6b,0x94,0xf4,0x00,0x00,0x00,0x10]
vcvtps2iubs 268435456(%esp,%esi,8), %xmm2
@@ -928,18 +896,10 @@
// CHECK: encoding: [0x62,0xf5,0x7c,0x28,0x68,0xd3]
vcvttph2ibs %ymm3, %ymm2
-// CHECK: vcvttph2ibs {sae}, %ymm3, %ymm2
-// CHECK: encoding: [0x62,0xf5,0x78,0x18,0x68,0xd3]
- vcvttph2ibs {sae}, %ymm3, %ymm2
-
// CHECK: vcvttph2ibs %ymm3, %ymm2 {%k7}
// CHECK: encoding: [0x62,0xf5,0x7c,0x2f,0x68,0xd3]
vcvttph2ibs %ymm3, %ymm2 {%k7}
-// CHECK: vcvttph2ibs {sae}, %ymm3, %ymm2 {%k7} {z}
-// CHECK: encoding: [0x62,0xf5,0x78,0x9f,0x68,0xd3]
- vcvttph2ibs {sae}, %ymm3, %ymm2 {%k7} {z}
-
// CHECK: vcvttph2ibs 268435456(%esp,%esi,8), %xmm2
// CHECK: encoding: [0x62,0xf5,0x7c,0x08,0x68,0x94,0xf4,0x00,0x00,0x00,0x10]
vcvttph2ibs 268435456(%esp,%esi,8), %xmm2
@@ -1044,18 +1004,10 @@
// CHECK: encoding: [0x62,0xf5,0x7c,0x28,0x6a,0xd3]
vcvttph2iubs %ymm3, %ymm2
-// CHECK: vcvttph2iubs {sae}, %ymm3, %ymm2
-// CHECK: encoding: [0x62,0xf5,0x78,0x18,0x6a,0xd3]
- vcvttph2iubs {sae}, %ymm3, %ymm2
-
// CHECK: vcvttph2iubs %ymm3, %ymm2 {%k7}
// CHECK: encoding: [0x62,0xf5,0x7c,0x2f,0x6a,0xd3]
vcvttph2iubs %ymm3, %ymm2 {%k7}
-// CHECK: vcvttph2iubs {sae}, %ymm3, %ymm2 {%k7} {z}
-// CHECK: encoding: [0x62,0xf5,0x78,0x9f,0x6a,0xd3]
- vcvttph2iubs {sae}, %ymm3, %ymm2 {%k7} {z}
-
// CHECK: vcvttph2iubs 268435456(%esp,%esi,8), %xmm2
// CHECK: encoding: [0x62,0xf5,0x7c,0x08,0x6a,0x94,0xf4,0x00,0x00,0x00,0x10]
vcvttph2iubs 268435456(%esp,%esi,8), %xmm2
@@ -1160,18 +1112,10 @@
// CHECK: encoding: [0x62,0xf5,0x7d,0x28,0x68,0xd3]
vcvttps2ibs %ymm3, %ymm2
-// CHECK: vcvttps2ibs {sae}, %ymm3, %ymm2
-// CHECK: encoding: [0x62,0xf5,0x79,0x18,0x68,0xd3]
- vcvttps2ibs {sae}, %ymm3, %ymm2
-
// CHECK: vcvttps2ibs %ymm3, %ymm2 {%k7}
// CHECK: encoding: [0x62,0xf5,0x7d,0x2f,0x68,0xd3]
vcvttps2ibs %ymm3, %ymm2 {%k7}
-// CHECK: vcvttps2ibs {sae}, %ymm3, %ymm2 {%k7} {z}
-// CHECK: encoding: [0x62,0xf5,0x79,0x9f,0x68,0xd3]
- vcvttps2ibs {sae}, %ymm3, %ymm2 {%k7} {z}
-
// CHECK: vcvttps2ibs 268435456(%esp,%esi,8), %xmm2
// CHECK: encoding: [0x62,0xf5,0x7d,0x08,0x68,0x94,0xf4,0x00,0x00,0x00,0x10]
vcvttps2ibs 268435456(%esp,%esi,8), %xmm2
@@ -1276,18 +1220,10 @@
// CHECK: encoding: [0x62,0xf5,0x7d,0x28,0x6a,0xd3]
vcvttps2iubs %ymm3, %ymm2
-// CHECK: vcvttps2iubs {sae}, %ymm3, %ymm2
-// CHECK: encoding: [0x62,0xf5,0x79,0x18,0x6a,0xd3]
- vcvttps2iubs {sae}, %ymm3, %ymm2
-
// CHECK: vcvttps2iubs %ymm3, %ymm2 {%k7}
// CHECK: encoding: [0x62,0xf5,0x7d,0x2f,0x6a,0xd3]
vcvttps2iubs %ymm3, %ymm2 {%k7}
-// CHECK: vcvttps2iubs {sae}, %ymm3, %ymm2 {%k7} {z}
-// CHECK: encoding: [0x62,0xf5,0x79,0x9f,0x6a,0xd3]
- vcvttps2iubs {sae}, %ymm3, %ymm2 {%k7} {z}
-
// CHECK: vcvttps2iubs 268435456(%esp,%esi,8), %xmm2
// CHECK: encoding: [0x62,0xf5,0x7d,0x08,0x6a,0x94,0xf4,0x00,0x00,0x00,0x10]
vcvttps2iubs 268435456(%esp,%esi,8), %xmm2
diff --git a/llvm/test/MC/X86/avx10.2satcvt-32-intel.s b/llvm/test/MC/X86/avx10.2satcvt-32-intel.s
index d0b87054a2a86..8c1c36787385a 100644
--- a/llvm/test/MC/X86/avx10.2satcvt-32-intel.s
+++ b/llvm/test/MC/X86/avx10.2satcvt-32-intel.s
@@ -248,18 +248,10 @@
// CHECK: encoding: [0x62,0xf5,0x7c,0x28,0x69,0xd3]
vcvtph2ibs ymm2, ymm3
-// CHECK: vcvtph2ibs ymm2, ymm3, {rn-sae}
-// CHECK: encoding: [0x62,0xf5,0x78,0x18,0x69,0xd3]
- vcvtph2ibs ymm2, ymm3, {rn-sae}
-
// CHECK: vcvtph2ibs ymm2 {k7}, ymm3
// CHECK: encoding: [0x62,0xf5,0x7c,0x2f,0x69,0xd3]
vcvtph2ibs ymm2 {k7}, ymm3
-// CHECK: vcvtph2ibs ymm2 {k7} {z}, ymm3, {rz-sae}
-// CHECK: encoding: [0x62,0xf5,0x78,0xff,0x69,0xd3]
- vcvtph2ibs ymm2 {k7} {z}, ymm3, {rz-sae}
-
// CHECK: vcvtph2ibs xmm2, xmmword ptr [esp + 8*esi + 268435456]
// CHECK: encoding: [0x62,0xf5,0x7c,0x08,0x69,0x94,0xf4,0x00,0x00,0x00,0x10]
vcvtph2ibs xmm2, xmmword ptr [esp + 8*esi + 268435456]
@@ -364,18 +356,10 @@
// CHECK: encoding: [0x62,0xf5,0x7c,0x28,0x6b,0xd3]
vcvtph2iubs ymm2, ymm3
-// CHECK: vcvtph2iubs ymm2, ymm3, {rn-sae}
-// CHECK: encoding: [0x62,0xf5,0x78,0x18,0x6b,0xd3]
- vcvtph2iubs ymm2, ymm3, {rn-sae}
-
// CHECK: vcvtph2iubs ymm2 {k7}, ymm3
// CHECK: encoding: [0x62,0xf5,0x7c,0x2f,0x6b,0xd3]
vcvtph2iubs ymm2 {k7}, ymm3
-// CHECK: vcvtph2iubs ymm2 {k7} {z}, ymm3, {rz-sae}
-// CHECK: encoding: [0x62,0xf5,0x78,0xff,0x6b,0xd3]
- vcvtph2iubs ymm2 {k7} {z}, ymm3, {rz-sae}
-
// CHECK: vcvtph2iubs xmm2, xmmword ptr [esp + 8*esi + 268435456]
// CHECK: encoding: [0x62,0xf5,0x7c,0x08,0x6b,0x94,0xf4,0x00,0x00,0x00,0x10]
vcvtph2iubs xmm2, xmmword ptr [esp + 8*esi + 268435456]
@@ -480,18 +464,10 @@
// CHECK: encoding: [0x62,0xf5,0x7d,0x28,0x69,0xd3]
vcvtps2ibs ymm2, ymm3
-// CHECK: vcvtps2ibs ymm2, ymm3, {rn-sae}
-// CHECK: encoding: [0x62,0xf5,0x79,0x18,0x69,0xd3]
- vcvtps2ibs ymm2, ymm3, {rn-sae}
-
// CHECK: vcvtps2ibs ymm2 {k7}, ymm3
// CHECK: encoding: [0x62,0xf5,0x7d,0x2f,0x69,0xd3]
vcvtps2ibs ymm2 {k7}, ymm3
-// CHECK: vcvtps2ibs ymm2 {k7} {z}, ymm3, {rz-sae}
-// CHECK: encoding: [0x62,0xf5,0x79,0xff,0x69,0xd3]
- vcvtps2ibs ymm2 {k7} {z}, ymm3, {rz-sae}
-
// CHECK: vcvtps2ibs xmm2, xmmword ptr [esp + 8*esi + 268435456]
// CHECK: encoding: [0x62,0xf5,0x7d,0x08,0x69,0x94,0xf4,0x00,0x00,0x00,0x10]
vcvtps2ibs xmm2, xmmword ptr [esp + 8*esi + 268435456]
@@ -596,18 +572,10 @@
// CHECK: encoding: [0x62,0xf5,0x7d,0x28,0x6b,0xd3]
vcvtps2iubs ymm2, ymm3
-// CHECK: vcvtps2iubs ymm2, ymm3, {rn-sae}
-// CHECK: encoding: [0x62,0xf5,0x79,0x18,0x6b,0xd3]
- vcvtps2iubs ymm2, ymm3, {rn-sae}
-
// CHECK: vcvtps2iubs ymm2 {k7}, ymm3
// CHECK: encoding: [0x62,0xf5,0x7d,0x2f,0x6b,0xd3]
vcvtps2iubs ymm2 {k7}, ymm3
-// CHECK: vcvtps2iubs ymm2 {k7} {z}, ymm3, {rz-sae}
-// CHECK: encoding: [0x62,0xf5,0x79,0xff,0x6b,0xd3]
- vcvtps2iubs ymm2 {k7} {z}, ymm3, {rz-sae}
-
// CHECK: vcvtps2iubs xmm2, xmmword ptr [esp + 8*esi + 268435456]
// CHECK: encoding: [0x62,0xf5,0x7d,0x08,0x6b,0x94,0xf4,0x00,0x00,0x00,0x10]
vcvtps2iubs xmm2, xmmword ptr [esp + 8*esi + 268435456]
@@ -928,18 +896,10 @@
// CHECK: encoding: [0x62,0xf5,0x7c,0x28,0x68,0xd3]
vcvttph2ibs ymm2, ymm3
-// CHECK: vcvttph2ibs ymm2, ymm3, {sae}
-// CHECK: encoding: [0x62,0xf5,0x78,0x18,0x68,0xd3]
- vcvttph2ibs ymm2, ymm3, {sae}
-
// CHECK: vcvttph2ibs ymm2 {k7}, ymm3
// CHECK: encoding: [0x62,0xf5,0x7c,0x2f,0x68,0xd3]
vcvttph2ibs ymm2 {k7}, ymm3
-// CHECK: vcvttph2ibs ymm2 {k7} {z}, ymm3, {sae}
-// CHECK: encoding: [0x62,0xf5,0x78,0x9f,0x68,0xd3]
- vcvttph2ibs ymm2 {k7} {z}, ymm3, {sae}
-
// CHECK: vcvttph2ibs xmm2, xmmword ptr [esp + 8*esi + 268435456]
// CHECK: encoding: [0x62,0xf5,0x7c,0x08,0x68,0x94,0xf4,0x00,0x00,0x00,0x10]
vcvttph2ibs xmm2, xmmword ptr [esp + 8*esi + 268435456]
@@ -1044,18 +1004,10 @@
// CHECK: encoding: [0x62,0xf5,0x7c,0x28,0x6a,0xd3]
vcvttph2iubs ymm2, ymm3
-// CHECK: vcvttph2iubs ymm2, ymm3, {sae}
-// CHECK: encoding: [0x62,0xf5,0x78,0x18,0x6a,0xd3]
- vcvttph2iubs ymm2, ymm3, {sae}
-
// CHECK: vcvttph2iubs ymm2 {k7}, ymm3
// CHECK: encoding: [0x62,0xf5,0x7c,0x2f,0x6a,0xd3]
vcvttph2iubs ymm2 {k7}, ymm3
-// CHECK: vcvttph2iubs ymm2 {k7} {z}, ymm3, {sae}
-// CHECK: encoding: [0x62,0xf5,0x78,0x9f,0x6a,0xd3]
- vcvttph2iubs ymm2 {k7} {z}, ymm3, {sae}
-
// CHECK: vcvttph2iubs xmm2, xmmword ptr [esp + 8*esi + 268435456]
// CHECK: encoding: [0x62,0xf5,0x7c,0x08,0x6a,0x94,0xf4,0x00,0x00,0x00,0x10]
vcvttph2iubs xmm2, xmmword ptr [esp + 8*esi + 268435456]
@@ -1160,18 +1112,10 @@
// CHECK: encoding: [0x62,0xf5,0x7d,0x28,0x68,0xd3]
vcvttps2ibs ymm2, ymm3
-// CHECK: vcvttps2ibs ymm2, ymm3, {sae}
-// CHECK: encoding: [0x62,0xf5,0x79,0x18,0x68,0xd3]
- vcvttps2ibs ymm2, ymm3, {sae}
-
// CHECK: vcvttps2ibs ymm2 {k7}, ymm3
// CHECK: encoding: [0x62,0xf5,0x7d,0x2f,0x68,0xd3]
vcvttps2ibs ymm2 {k7}, ymm3
-// CHECK: vcvttps2ibs ymm2 {k7} {z}, ymm3, {sae}
-// CHECK: encoding: [0x62,0xf5,0x79,0x9f,0x68,0xd3]
- vcvttps2ibs ymm2 {k7} {z}, ymm3, {sae}
-
// CHECK: vcvttps2ibs xmm2, xmmword ptr [esp + 8*esi + 268435456]
// CHECK: encoding: [0x62,0xf5,0x7d,0x08,0x68,0x94,0xf4,0x00,0x00,0x00,0x10]
vcvttps2ibs xmm2, xmmword ptr [esp + 8*esi + 268435456]
@@ -1276,18 +1220,10 @@
// CHECK: encoding: [0x62,0xf5,0x7d,0x28,0x6a,0xd3]
vcvttps2iubs ymm2, ymm3
-// CHECK: vcvttps2iubs ymm2, ymm3, {sae}
-// CHECK: encoding: [0x62,0xf5,0x79,0x18,0x6a,0xd3]
- vcvttps2iubs ymm2, ymm3, {sae}
-
// CHECK: vcvttps2iubs ymm2 {k7}, ymm3
// CHECK: encoding: [0x62,0xf5,0x7d,0x2f,0x6a,0xd3]
vcvttps2iubs ymm2 {k7}, ymm3
-// CHECK: vcvttps2iubs ymm2 {k7} {z}, ymm3, {sae}
-// CHECK: encoding: [0x62,0xf5,0x79,0x9f,0x6a,0xd3]
- vcvttps2iubs ymm2 {k7} {z}, ymm3, {sae}
-
// CHECK: vcvttps2iubs xmm2, xmmword ptr [esp + 8*esi + 268435456]
// CHECK: encoding: [0x62,0xf5,0x7d,0x08,0x6a,0x94,0xf4,0x00,0x00,0x00,0x10]
vcvttps2iubs xmm2, xmmword ptr [esp + 8*esi + 268435456]
diff --git a/llvm/test/MC/X86/avx10.2satcvt-64-att.s b/llvm/test/MC/X86/avx10.2satcvt-64-att.s
index a5f9a62a1f835..248b74c2005b0 100644
--- a/llvm/test/MC/X86/avx10.2satcvt-64-att.s
+++ b/llvm/test/MC/X86/avx10.2satcvt-64-att.s
@@ -248,18 +248,10 @@
// CHECK: encoding: [0x62,0xa5,0x7c,0x28,0x69,0xf7]
vcvtph2ibs %ymm23, %ymm22
-// CHECK: vcvtph2ibs {rn-sae}, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0xa5,0x78,0x18,0x69,0xf7]
- vcvtph2ibs {rn-sae}, %ymm23, %ymm22
-
// CHECK: vcvtph2ibs %ymm23, %ymm22 {%k7}
// CHECK: encoding: [0x62,0xa5,0x7c,0x2f,0x69,0xf7]
vcvtph2ibs %ymm23, %ymm22 {%k7}
-// CHECK: vcvtph2ibs {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa5,0x78,0xff,0x69,0xf7]
- vcvtph2ibs {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-
// CHECK: vcvtph2ibs 268435456(%rbp,%r14,8), %xmm22
// CHECK: encoding: [0x62,0xa5,0x7c,0x08,0x69,0xb4,0xf5,0x00,0x00,0x00,0x10]
vcvtph2ibs 268435456(%rbp,%r14,8), %xmm22
@@ -364,18 +356,10 @@
// CHECK: encoding: [0x62,0xa5,0x7c,0x28,0x6b,0xf7]
vcvtph2iubs %ymm23, %ymm22
-// CHECK: vcvtph2iubs {rn-sae}, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0xa5,0x78,0x18,0x6b,0xf7]
- vcvtph2iubs {rn-sae}, %ymm23, %ymm22
-
// CHECK: vcvtph2iubs %ymm23, %ymm22 {%k7}
// CHECK: encoding: [0x62,0xa5,0x7c,0x2f,0x6b,0xf7]
vcvtph2iubs %ymm23, %ymm22 {%k7}
-// CHECK: vcvtph2iubs {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa5,0x78,0xff,0x6b,0xf7]
- vcvtph2iubs {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-
// CHECK: vcvtph2iubs 268435456(%rbp,%r14,8), %xmm22
// CHECK: encoding: [0x62,0xa5,0x7c,0x08,0x6b,0xb4,0xf5,0x00,0x00,0x00,0x10]
vcvtph2iubs 268435456(%rbp,%r14,8), %xmm22
@@ -480,18 +464,10 @@
// CHECK: encoding: [0x62,0xa5,0x7d,0x28,0x69,0xf7]
vcvtps2ibs %ymm23, %ymm22
-// CHECK: vcvtps2ibs {rn-sae}, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0xa5,0x79,0x18,0x69,0xf7]
- vcvtps2ibs {rn-sae}, %ymm23, %ymm22
-
// CHECK: vcvtps2ibs %ymm23, %ymm22 {%k7}
// CHECK: encoding: [0x62,0xa5,0x7d,0x2f,0x69,0xf7]
vcvtps2ibs %ymm23, %ymm22 {%k7}
-// CHECK: vcvtps2ibs {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa5,0x79,0xff,0x69,0xf7]
- vcvtps2ibs {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-
// CHECK: vcvtps2ibs 268435456(%rbp,%r14,8), %xmm22
// CHECK: encoding: [0x62,0xa5,0x7d,0x08,0x69,0xb4,0xf5,0x00,0x00,0x00,0x10]
vcvtps2ibs 268435456(%rbp,%r14,8), %xmm22
@@ -596,18 +572,10 @@
// CHECK: encoding: [0x62,0xa5,0x7d,0x28,0x6b,0xf7]
vcvtps2iubs %ymm23, %ymm22
-// CHECK: vcvtps2iubs {rn-sae}, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0xa5,0x79,0x18,0x6b,0xf7]
- vcvtps2iubs {rn-sae}, %ymm23, %ymm22
-
// CHECK: vcvtps2iubs %ymm23, %ymm22 {%k7}
// CHECK: encoding: [0x62,0xa5,0x7d,0x2f,0x6b,0xf7]
vcvtps2iubs %ymm23, %ymm22 {%k7}
-// CHECK: vcvtps2iubs {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa5,0x79,0xff,0x6b,0xf7]
- vcvtps2iubs {rz-sae}, %ymm23, %ymm22 {%k7} {z}
-
// CHECK: vcvtps2iubs 268435456(%rbp,%r14,8), %xmm22
// CHECK: encoding: [0x62,0xa5,0x7d,0x08,0x6b,0xb4,0xf5,0x00,0x00,0x00,0x10]
vcvtps2iubs 268435456(%rbp,%r14,8), %xmm22
@@ -928,18 +896,10 @@
// CHECK: encoding: [0x62,0xa5,0x7c,0x28,0x68,0xf7]
vcvttph2ibs %ymm23, %ymm22
-// CHECK: vcvttph2ibs {sae}, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0xa5,0x78,0x18,0x68,0xf7]
- vcvttph2ibs {sae}, %ymm23, %ymm22
-
// CHECK: vcvttph2ibs %ymm23, %ymm22 {%k7}
// CHECK: encoding: [0x62,0xa5,0x7c,0x2f,0x68,0xf7]
vcvttph2ibs %ymm23, %ymm22 {%k7}
-// CHECK: vcvttph2ibs {sae}, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa5,0x78,0x9f,0x68,0xf7]
- vcvttph2ibs {sae}, %ymm23, %ymm22 {%k7} {z}
-
// CHECK: vcvttph2ibs 268435456(%rbp,%r14,8), %xmm22
// CHECK: encoding: [0x62,0xa5,0x7c,0x08,0x68,0xb4,0xf5,0x00,0x00,0x00,0x10]
vcvttph2ibs 268435456(%rbp,%r14,8), %xmm22
@@ -1044,18 +1004,10 @@
// CHECK: encoding: [0x62,0xa5,0x7c,0x28,0x6a,0xf7]
vcvttph2iubs %ymm23, %ymm22
-// CHECK: vcvttph2iubs {sae}, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0xa5,0x78,0x18,0x6a,0xf7]
- vcvttph2iubs {sae}, %ymm23, %ymm22
-
// CHECK: vcvttph2iubs %ymm23, %ymm22 {%k7}
// CHECK: encoding: [0x62,0xa5,0x7c,0x2f,0x6a,0xf7]
vcvttph2iubs %ymm23, %ymm22 {%k7}
-// CHECK: vcvttph2iubs {sae}, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa5,0x78,0x9f,0x6a,0xf7]
- vcvttph2iubs {sae}, %ymm23, %ymm22 {%k7} {z}
-
// CHECK: vcvttph2iubs 268435456(%rbp,%r14,8), %xmm22
// CHECK: encoding: [0x62,0xa5,0x7c,0x08,0x6a,0xb4,0xf5,0x00,0x00,0x00,0x10]
vcvttph2iubs 268435456(%rbp,%r14,8), %xmm22
@@ -1160,18 +1112,10 @@
// CHECK: encoding: [0x62,0xa5,0x7d,0x28,0x68,0xf7]
vcvttps2ibs %ymm23, %ymm22
-// CHECK: vcvttps2ibs {sae}, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0xa5,0x79,0x18,0x68,0xf7]
- vcvttps2ibs {sae}, %ymm23, %ymm22
-
// CHECK: vcvttps2ibs %ymm23, %ymm22 {%k7}
// CHECK: encoding: [0x62,0xa5,0x7d,0x2f,0x68,0xf7]
vcvttps2ibs %ymm23, %ymm22 {%k7}
-// CHECK: vcvttps2ibs {sae}, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa5,0x79,0x9f,0x68,0xf7]
- vcvttps2ibs {sae}, %ymm23, %ymm22 {%k7} {z}
-
// CHECK: vcvttps2ibs 268435456(%rbp,%r14,8), %xmm22
// CHECK: encoding: [0x62,0xa5,0x7d,0x08,0x68,0xb4,0xf5,0x00,0x00,0x00,0x10]
vcvttps2ibs 268435456(%rbp,%r14,8), %xmm22
@@ -1276,18 +1220,10 @@
// CHECK: encoding: [0x62,0xa5,0x7d,0x28,0x6a,0xf7]
vcvttps2iubs %ymm23, %ymm22
-// CHECK: vcvttps2iubs {sae}, %ymm23, %ymm22
-// CHECK: encoding: [0x62,0xa5,0x79,0x18,0x6a,0xf7]
- vcvttps2iubs {sae}, %ymm23, %ymm22
-
// CHECK: vcvttps2iubs %ymm23, %ymm22 {%k7}
// CHECK: encoding: [0x62,0xa5,0x7d,0x2f,0x6a,0xf7]
vcvttps2iubs %ymm23, %ymm22 {%k7}
-// CHECK: vcvttps2iubs {sae}, %ymm23, %ymm22 {%k7} {z}
-// CHECK: encoding: [0x62,0xa5,0x79,0x9f,0x6a,0xf7]
- vcvttps2iubs {sae}, %ymm23, %ymm22 {%k7} {z}
-
// CHECK: vcvttps2iubs 268435456(%rbp,%r14,8), %xmm22
// CHECK: encoding: [0x62,0xa5,0x7d,0x08,0x6a,0xb4,0xf5,0x00,0x00,0x00,0x10]
vcvttps2iubs 268435456(%rbp,%r14,8), %xmm22
diff --git a/llvm/test/MC/X86/avx10.2satcvt-64-intel.s b/llvm/test/MC/X86/avx10.2satcvt-64-intel.s
index e633842abf43d..6afc4fca3e680 100644
--- a/llvm/test/MC/X86/avx10.2satcvt-64-intel.s
+++ b/llvm/test/MC/X86/avx10.2satcvt-64-intel.s
@@ -248,18 +248,10 @@
// CHECK: encoding: [0x62,0xa5,0x7c,0x28,0x69,0xf7]
vcvtph2ibs ymm22, ymm23
-// CHECK: vcvtph2ibs ymm22, ymm23, {rn-sae}
-// CHECK: encoding: [0x62,0xa5,0x78,0x18,0x69,0xf7]
- vcvtph2ibs ymm22, ymm23, {rn-sae}
-
// CHECK: vcvtph2ibs ymm22 {k7}, ymm23
// CHECK: encoding: [0x62,0xa5,0x7c,0x2f,0x69,0xf7]
vcvtph2ibs ymm22 {k7}, ymm23
-// CHECK: vcvtph2ibs ymm22 {k7} {z}, ymm23, {rz-sae}
-// CHECK: encoding: [0x62,0xa5,0x78,0xff,0x69,0xf7]
- vcvtph2ibs ymm22 {k7} {z}, ymm23, {rz-sae}
-
// CHECK: vcvtph2ibs xmm22, xmmword ptr [rbp + 8*r14 + 268435456]
// CHECK: encoding: [0x62,0xa5,0x7c,0x08,0x69,0xb4,0xf5,0x00,0x00,0x00,0x10]
vcvtph2ibs xmm22, xmmword ptr [rbp + 8*r14 + 268435456]
@@ -364,18 +356,10 @@
// CHECK: encoding: [0x62,0xa5,0x7c,0x28,0x6b,0xf7]
vcvtph2iubs ymm22, ymm23
-// CHECK: vcvtph2iubs ymm22, ymm23, {rn-sae}
-// CHECK: encoding: [0x62,0xa5,0x78,0x18,0x6b,0xf7]
- vcvtph2iubs ymm22, ymm23, {rn-sae}
-
// CHECK: vcvtph2iubs ymm22 {k7}, ymm23
// CHECK: encoding: [0x62,0xa5,0x7c,0x2f,0x6b,0xf7]
vcvtph2iubs ymm22 {k7}, ymm23
-// CHECK: vcvtph2iubs ymm22 {k7} {z}, ymm23, {rz-sae}
-// CHECK: encoding: [0x62,0xa5,0x78,0xff,0x6b,0xf7]
- vcvtph2iubs ymm22 {k7} {z}, ymm23, {rz-sae}
-
// CHECK: vcvtph2iubs xmm22, xmmword ptr [rbp + 8*r14 + 268435456]
// CHECK: encoding: [0x62,0xa5,0x7c,0x08,0x6b,0xb4,0xf5,0x00,0x00,0x00,0x10]
vcvtph2iubs xmm22, xmmword ptr [rbp + 8*r14 + 268435456]
@@ -480,18 +464,10 @@
// CHECK: encoding: [0x62,0xa5,0x7d,0x28,0x69,0xf7]
vcvtps2ibs ymm22, ymm23
-// CHECK: vcvtps2ibs ymm22, ymm23, {rn-sae}
-// CHECK: encoding: [0x62,0xa5,0x79,0x18,0x69,0xf7]
- vcvtps2ibs ymm22, ymm23, {rn-sae}
-
// CHECK: vcvtps2ibs ymm22 {k7}, ymm23
// CHECK: encoding: [0x62,0xa5,0x7d,0x2f,0x69,0xf7]
vcvtps2ibs ymm22 {k7}, ymm23
-// CHECK: vcvtps2ibs ymm22 {k7} {z}, ymm23, {rz-sae}
-// CHECK: encoding: [0x62,0xa5,0x79,0xff,0x69,0xf7]
- vcvtps2ibs ymm22 {k7} {z}, ymm23, {rz-sae}
-
// CHECK: vcvtps2ibs xmm22, xmmword ptr [rbp + 8*r14 + 268435456]
// CHECK: encoding: [0x62,0xa5,0x7d,0x08,0x69,0xb4,0xf5,0x00,0x00,0x00,0x10]
vcvtps2ibs xmm22, xmmword ptr [rbp + 8*r14 + 268435456]
@@ -596,18 +572,10 @@
// CHECK: encoding: [0x62,0xa5,0x7d,0x28,0x6b,0xf7]
vcvtps2iubs ymm22, ymm23
-// CHECK: vcvtps2iubs ymm22, ymm23, {rn-sae}
-// CHECK: encoding: [0x62,0xa5,0x79,0x18,0x6b,0xf7]
- vcvtps2iubs ymm22, ymm23, {rn-sae}
-
// CHECK: vcvtps2iubs ymm22 {k7}, ymm23
// CHECK: encoding: [0x62,0xa5,0x7d,0x2f,0x6b,0xf7]
vcvtps2iubs ymm22 {k7}, ymm23
-// CHECK: vcvtps2iubs ymm22 {k7} {z}, ymm23, {rz-sae}
-// CHECK: encoding: [0x62,0xa5,0x79,0xff,0x6b,0xf7]
- vcvtps2iubs ymm22 {k7} {z}, ymm23, {rz-sae}
-
// CHECK: vcvtps2iubs xmm22, xmmword ptr [rbp + 8*r14 + 268435456]
// CHECK: encoding: [0x62,0xa5,0x7d,0x08,0x6b,0xb4,0xf5,0x00,0x00,0x00,0x10]
vcvtps2iubs xmm22, xmmword ptr [rbp + 8*r14 + 268435456]
@@ -928,18 +896,10 @@
// CHECK: encoding: [0x62,0xa5,0x7c,0x28,0x68,0xf7]
vcvttph2ibs ymm22, ymm23
-// CHECK: vcvttph2ibs ymm22, ymm23, {sae}
-// CHECK: encoding: [0x62,0xa5,0x78,0x18,0x68,0xf7]
- vcvttph2ibs ymm22, ymm23, {sae}
-
// CHECK: vcvttph2ibs ymm22 {k7}, ymm23
// CHECK: encoding: [0x62,0xa5,0x7c,0x2f,0x68,0xf7]
vcvttph2ibs ymm22 {k7}, ymm23
-// CHECK: vcvttph2ibs ymm22 {k7} {z}, ymm23, {sae}
-// CHECK: encoding: [0x62,0xa5,0x78,0x9f,0x68,0xf7]
- vcvttph2ibs ymm22 {k7} {z}, ymm23, {sae}
-
// CHECK: vcvttph2ibs xmm22, xmmword ptr [rbp + 8*r14 + 268435456]
// CHECK: encoding: [0x62,0xa5,0x7c,0x08,0x68,0xb4,0xf5,0x00,0x00,0x00,0x10]
vcvttph2ibs xmm22, xmmword ptr [rbp + 8*r14 + 268435456]
@@ -1044,18 +1004,10 @@
// CHECK: encoding: [0x62,0xa5,0x7c,0x28,0x6a,0xf7]
vcvttph2iubs ymm22, ymm23
-// CHECK: vcvttph2iubs ymm22, ymm23, {sae}
-// CHECK: encoding: [0x62,0xa5,0x78,0x18,0x6a,0xf7]
- vcvttph2iubs ymm22, ymm23, {sae}
-
// CHECK: vcvttph2iubs ymm22 {k7}, ymm23
// CHECK: encoding: [0x62,0xa5,0x7c,0x2f,0x6a,0xf7]
vcvttph2iubs ymm22 {k7}, ymm23
-// CHECK: vcvttph2iubs ymm22 {k7} {z}, ymm23, {sae}
-// CHECK: encoding: [0x62,0xa5,0x78,0x9f,0x6a,0xf7]
- vcvttph2iubs ymm22 {k7} {z}, ymm23, {sae}
-
// CHECK: vcvttph2iubs xmm22, xmmword ptr [rbp + 8*r14 + 268435456]
// CHECK: encoding: [0x62,0xa5,0x7c,0x08,0x6a,0xb4,0xf5,0x00,0x00,0x00,0x10]
vcvttph2iubs xmm22, xmmword ptr [rbp + 8*r14 + 268435456]
@@ -1160,18 +1112,10 @@
// CHECK: encoding: [0x62,0xa5,0x7d,0x28,0x68,0xf7]
vcvttps2ibs ymm22, ymm23
-// CHECK: vcvttps2ibs ymm22, ymm23, {sae}
-// CHECK: encoding: [0x62,0xa5,0x79,0x18,0x68,0xf7]
- vcvttps2ibs ymm22, ymm23, {sae}
-
// CHECK: vcvttps2ibs ymm22 {k7}, ymm23
// CHECK: encoding: [0x62,0xa5,0x7d,0x2f,0x68,0xf7]
vcvttps2ibs ymm22 {k7}, ymm23
-// CHECK: vcvttps2ibs ymm22 {k7} {z}, ymm23, {sae}
-// CHECK: encoding: [0x62,0xa5,0x79,0x9f,0x68,0xf7]
- vcvttps2ibs ymm22 {k7} {z}, ymm23, {sae}
-
// CHECK: vcvttps2ibs xmm22, xmmword ptr [rbp + 8*r14 + 268435456]
// CHECK: encoding: [0x62,0xa5,0x7d,0x08,0x68,0xb4,0xf5,0x00,0x00,0x00,0x10]
vcvttps2ibs xmm22, xmmword ptr [rbp + 8*r14 + 268435456]
@@ -1276,18 +1220,10 @@
// CHECK: encoding: [0x62,0xa5,0x7d,0x28,0x6a,0xf7]
vcvttps2iubs ymm22, ymm23
-// CHECK: vcvttps2iubs ymm22, ymm23, {sae}
-// CHECK: encoding: [0x62,0xa5,0x79,0x18,0x6a,0xf7]
- vcvttps2iubs ymm22, ymm23, {sae}
-
// CHECK: vcvttps2iubs ymm22 {k7}, ymm23
// CHECK: encoding: [0x62,0xa5,0x7d,0x2f,0x6a,0xf7]
vcvttps2iubs ymm22 {k7}, ymm23
-// CHECK: vcvttps2iubs ymm22 {k7} {z}, ymm23, {sae}
-// CHECK: encoding: [0x62,0xa5,0x79,0x9f,0x6a,0xf7]
- vcvttps2iubs ymm22 {k7} {z}, ymm23, {sae}
-
// CHECK: vcvttps2iubs xmm22, xmmword ptr [rbp + 8*r14 + 268435456]
// CHECK: encoding: [0x62,0xa5,0x7d,0x08,0x6a,0xb4,0xf5,0x00,0x00,0x00,0x10]
vcvttps2iubs xmm22, xmmword ptr [rbp + 8*r14 + 268435456]
More information about the llvm-branch-commits
mailing list