[clang] [llvm] [X86][AVX10.2] Support AVX10.2-CONVERT new instructions. (PR #101600)

Freddy Ye via cfe-commits cfe-commits at lists.llvm.org
Mon Aug 5 23:54:26 PDT 2024


https://github.com/FreddyLeaf updated https://github.com/llvm/llvm-project/pull/101600

>From 0791ffaff676110043d131cd2d619b74fa595cd5 Mon Sep 17 00:00:00 2001
From: Freddy Ye <freddy.ye at intel.com>
Date: Tue, 30 Jul 2024 13:46:40 +0800
Subject: [PATCH 1/2] Support AVX10.2-CONVERT new instructions.

---
 clang/include/clang/Basic/BuiltinsX86.def     |   47 +
 clang/lib/Headers/CMakeLists.txt              |    2 +
 clang/lib/Headers/avx10_2_512convertintrin.h  |  304 ++++
 clang/lib/Headers/avx10_2convertintrin.h      |  560 +++++++
 clang/lib/Headers/immintrin.h                 |    2 +
 clang/lib/Sema/SemaX86.cpp                    |    2 +
 .../CodeGen/X86/avx10_2_512convert-builtins.c |  274 +++
 .../CodeGen/X86/avx10_2convert-builtins.c     |  530 ++++++
 llvm/include/llvm/IR/IntrinsicsX86.td         |  130 ++
 llvm/lib/Target/X86/X86ISelLowering.cpp       |   38 +
 llvm/lib/Target/X86/X86ISelLowering.h         |   24 +
 llvm/lib/Target/X86/X86InstrAVX10.td          |  431 +++++
 llvm/lib/Target/X86/X86InstrFragmentsSIMD.td  |   89 +
 llvm/lib/Target/X86/X86IntrinsicsInfo.h       |   85 +
 .../X86/avx10_2_512convert-intrinsics.ll      |  578 +++++++
 .../CodeGen/X86/avx10_2convert-intrinsics.ll  | 1147 +++++++++++++
 .../MC/Disassembler/X86/avx10.2convert-32.txt | 1491 +++++++++++++++++
 .../MC/Disassembler/X86/avx10.2convert-64.txt | 1491 +++++++++++++++++
 llvm/test/MC/X86/avx10.2convert-32-att.s      | 1490 ++++++++++++++++
 llvm/test/MC/X86/avx10.2convert-32-intel.s    | 1490 ++++++++++++++++
 llvm/test/MC/X86/avx10.2convert-64-att.s      | 1490 ++++++++++++++++
 llvm/test/MC/X86/avx10.2convert-64-intel.s    | 1490 ++++++++++++++++
 llvm/test/TableGen/x86-fold-tables.inc        |  243 +++
 23 files changed, 13428 insertions(+)
 create mode 100644 clang/lib/Headers/avx10_2_512convertintrin.h
 create mode 100644 clang/lib/Headers/avx10_2convertintrin.h
 create mode 100644 clang/test/CodeGen/X86/avx10_2_512convert-builtins.c
 create mode 100644 clang/test/CodeGen/X86/avx10_2convert-builtins.c
 create mode 100644 llvm/test/CodeGen/X86/avx10_2_512convert-intrinsics.ll
 create mode 100644 llvm/test/CodeGen/X86/avx10_2convert-intrinsics.ll
 create mode 100644 llvm/test/MC/Disassembler/X86/avx10.2convert-32.txt
 create mode 100644 llvm/test/MC/Disassembler/X86/avx10.2convert-64.txt
 create mode 100644 llvm/test/MC/X86/avx10.2convert-32-att.s
 create mode 100644 llvm/test/MC/X86/avx10.2convert-32-intel.s
 create mode 100644 llvm/test/MC/X86/avx10.2convert-64-att.s
 create mode 100644 llvm/test/MC/X86/avx10.2convert-64-intel.s

diff --git a/clang/include/clang/Basic/BuiltinsX86.def b/clang/include/clang/Basic/BuiltinsX86.def
index c49b5c36da4fc..1deac6247a361 100644
--- a/clang/include/clang/Basic/BuiltinsX86.def
+++ b/clang/include/clang/Basic/BuiltinsX86.def
@@ -2158,6 +2158,53 @@ TARGET_BUILTIN(__builtin_ia32_vminmaxps512_round_mask, "V16fV16fV16fIiV16fUsIi",
 TARGET_BUILTIN(__builtin_ia32_vminmaxsd_round_mask, "V2dV2dV2dIiV2dUcIi", "nV:128:", "avx10.2-256")
 TARGET_BUILTIN(__builtin_ia32_vminmaxsh_round_mask, "V8xV8xV8xIiV8xUcIi", "nV:128:", "avx10.2-256")
 TARGET_BUILTIN(__builtin_ia32_vminmaxss_round_mask, "V4fV4fV4fIiV4fUcIi", "nV:128:", "avx10.2-256")
+
+// AVX10.2 CONVERT
+TARGET_BUILTIN(__builtin_ia32_vcvt2ps2phx128_mask, "V8xV4fV4fV8xUc", "ncV:128:", "avx10.2-256")
+TARGET_BUILTIN(__builtin_ia32_vcvt2ps2phx256_mask, "V16xV8fV8fV16xUsIi", "ncV:256:", "avx10.2-256")
+TARGET_BUILTIN(__builtin_ia32_vcvt2ps2phx512_mask, "V32xV16fV16fV32xUiIi", "ncV:512:", "avx10.2-512")
+TARGET_BUILTIN(__builtin_ia32_vcvtbiasph2bf8_128_mask, "V16cV16cV8xV16cUc", "nV:128:", "avx10.2-256")
+TARGET_BUILTIN(__builtin_ia32_vcvtbiasph2bf8_256_mask, "V16cV32cV16xV16cUs", "nV:256:", "avx10.2-256")
+TARGET_BUILTIN(__builtin_ia32_vcvtbiasph2bf8_512_mask, "V32cV64cV32xV32cUi", "nV:512:", "avx10.2-512")
+TARGET_BUILTIN(__builtin_ia32_vcvtbiasph2bf8s_128_mask, "V16cV16cV8xV16cUc", "nV:128:", "avx10.2-256")
+TARGET_BUILTIN(__builtin_ia32_vcvtbiasph2bf8s_256_mask, "V16cV32cV16xV16cUs", "nV:256:", "avx10.2-256")
+TARGET_BUILTIN(__builtin_ia32_vcvtbiasph2bf8s_512_mask, "V32cV64cV32xV32cUi", "nV:512:", "avx10.2-512")
+TARGET_BUILTIN(__builtin_ia32_vcvtbiasph2hf8_128_mask, "V16cV16cV8xV16cUc", "nV:128:", "avx10.2-256")
+TARGET_BUILTIN(__builtin_ia32_vcvtbiasph2hf8_256_mask, "V16cV32cV16xV16cUs", "nV:256:", "avx10.2-256")
+TARGET_BUILTIN(__builtin_ia32_vcvtbiasph2hf8_512_mask, "V32cV64cV32xV32cUi", "nV:512:", "avx10.2-512")
+TARGET_BUILTIN(__builtin_ia32_vcvtbiasph2hf8s_128_mask, "V16cV16cV8xV16cUc", "nV:128:", "avx10.2-256")
+TARGET_BUILTIN(__builtin_ia32_vcvtbiasph2hf8s_256_mask, "V16cV32cV16xV16cUs", "nV:256:", "avx10.2-256")
+TARGET_BUILTIN(__builtin_ia32_vcvtbiasph2hf8s_512_mask, "V32cV64cV32xV32cUi", "nV:512:", "avx10.2-512")
+TARGET_BUILTIN(__builtin_ia32_vcvtne2ph2bf8_128, "V16cV8xV8x", "nV:128:", "avx10.2-256")
+TARGET_BUILTIN(__builtin_ia32_vcvtne2ph2bf8_256, "V32cV16xV16x", "nV:256:", "avx10.2-256")
+TARGET_BUILTIN(__builtin_ia32_vcvtne2ph2bf8_512, "V64cV32xV32x", "nV:512:", "avx10.2-512")
+TARGET_BUILTIN(__builtin_ia32_vcvtne2ph2bf8s_128, "V16cV8xV8x", "nV:128:", "avx10.2-256")
+TARGET_BUILTIN(__builtin_ia32_vcvtne2ph2bf8s_256, "V32cV16xV16x", "nV:256:", "avx10.2-256")
+TARGET_BUILTIN(__builtin_ia32_vcvtne2ph2bf8s_512, "V64cV32xV32x", "nV:512:", "avx10.2-512")
+TARGET_BUILTIN(__builtin_ia32_vcvtne2ph2hf8_128, "V16cV8xV8x", "nV:128:", "avx10.2-256")
+TARGET_BUILTIN(__builtin_ia32_vcvtne2ph2hf8_256, "V32cV16xV16x", "nV:256:", "avx10.2-256")
+TARGET_BUILTIN(__builtin_ia32_vcvtne2ph2hf8_512, "V64cV32xV32x", "nV:512:", "avx10.2-512")
+TARGET_BUILTIN(__builtin_ia32_vcvtne2ph2hf8s_128, "V16cV8xV8x", "nV:128:", "avx10.2-256")
+TARGET_BUILTIN(__builtin_ia32_vcvtne2ph2hf8s_256, "V32cV16xV16x", "nV:256:", "avx10.2-256")
+TARGET_BUILTIN(__builtin_ia32_vcvtne2ph2hf8s_512, "V64cV32xV32x", "nV:512:", "avx10.2-512")
+TARGET_BUILTIN(__builtin_ia32_vcvtnebf8_2ph128_mask, "V8xV16cV8xUc", "nV:128:", "avx10.2-256")
+TARGET_BUILTIN(__builtin_ia32_vcvtnebf8_2ph256_mask, "V16xV16cV16xUs", "nV:256:", "avx10.2-256")
+TARGET_BUILTIN(__builtin_ia32_vcvtnebf8_2ph512_mask, "V32xV32cV32xUi", "nV:512:", "avx10.2-512")
+TARGET_BUILTIN(__builtin_ia32_vcvtnehf8_2ph128_mask, "V8xV16cV8xUc", "nV:128:", "avx10.2-256")
+TARGET_BUILTIN(__builtin_ia32_vcvtnehf8_2ph256_mask, "V16xV16cV16xUs", "nV:256:", "avx10.2-256")
+TARGET_BUILTIN(__builtin_ia32_vcvtnehf8_2ph512_mask, "V32xV32cV32xUi", "nV:512:", "avx10.2-512")
+TARGET_BUILTIN(__builtin_ia32_vcvtneph2bf8_128_mask, "V16cV8xV16cUc", "nV:128:", "avx10.2-256")
+TARGET_BUILTIN(__builtin_ia32_vcvtneph2bf8_256_mask, "V16cV16xV16cUs", "nV:256:", "avx10.2-256")
+TARGET_BUILTIN(__builtin_ia32_vcvtneph2bf8_512_mask, "V32cV32xV32cUi", "nV:512:", "avx10.2-512")
+TARGET_BUILTIN(__builtin_ia32_vcvtneph2bf8s_128_mask, "V16cV8xV16cUc", "nV:128:", "avx10.2-256")
+TARGET_BUILTIN(__builtin_ia32_vcvtneph2bf8s_256_mask, "V16cV16xV16cUs", "nV:256:", "avx10.2-256")
+TARGET_BUILTIN(__builtin_ia32_vcvtneph2bf8s_512_mask, "V32cV32xV32cUi", "nV:512:", "avx10.2-512")
+TARGET_BUILTIN(__builtin_ia32_vcvtneph2hf8_128_mask, "V16cV8xV16cUc", "nV:128:", "avx10.2-256")
+TARGET_BUILTIN(__builtin_ia32_vcvtneph2hf8_256_mask, "V16cV16xV16cUs", "nV:256:", "avx10.2-256")
+TARGET_BUILTIN(__builtin_ia32_vcvtneph2hf8_512_mask, "V32cV32xV32cUi", "nV:512:", "avx10.2-512")
+TARGET_BUILTIN(__builtin_ia32_vcvtneph2hf8s_128_mask, "V16cV8xV16cUc", "nV:128:", "avx10.2-256")
+TARGET_BUILTIN(__builtin_ia32_vcvtneph2hf8s_256_mask, "V16cV16xV16cUs", "nV:256:", "avx10.2-256")
+TARGET_BUILTIN(__builtin_ia32_vcvtneph2hf8s_512_mask, "V32cV32xV32cUi", "nV:512:", "avx10.2-512")
 #undef BUILTIN
 #undef TARGET_BUILTIN
 #undef TARGET_HEADER_BUILTIN
diff --git a/clang/lib/Headers/CMakeLists.txt b/clang/lib/Headers/CMakeLists.txt
index f3d19e38f8f2b..2eb550d07afaa 100644
--- a/clang/lib/Headers/CMakeLists.txt
+++ b/clang/lib/Headers/CMakeLists.txt
@@ -147,8 +147,10 @@ set(x86_files
   amxcomplexintrin.h
   amxfp16intrin.h
   amxintrin.h
+  avx10_2_512convertintrin.h
   avx10_2_512minmaxintrin.h
   avx10_2_512niintrin.h
+  avx10_2convertintrin.h
   avx10_2minmaxintrin.h
   avx10_2niintrin.h
   avx2intrin.h
diff --git a/clang/lib/Headers/avx10_2_512convertintrin.h b/clang/lib/Headers/avx10_2_512convertintrin.h
new file mode 100644
index 0000000000000..c56c917772b32
--- /dev/null
+++ b/clang/lib/Headers/avx10_2_512convertintrin.h
@@ -0,0 +1,304 @@
+/*===--------- avx10_2_512convertintrin.h - AVX10_2_512CONVERT -------------===
+ *
+ * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+ * See https://llvm.org/LICENSE.txt for license information.
+ * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+ *
+ *===-----------------------------------------------------------------------===
+ */
+#ifndef __IMMINTRIN_H
+#error                                                                         \
+    "Never use <avx10_2_512convertintrin.h> directly; include <immintrin.h> instead."
+#endif // __IMMINTRIN_H
+
+#ifdef __SSE2__
+
+#ifndef __AVX10_2_512CONVERTINTRIN_H
+#define __AVX10_2_512CONVERTINTRIN_H
+
+/* Define the default attributes for the functions in this file. */
+#define __DEFAULT_FN_ATTRS512                                                  \
+  __attribute__((__always_inline__, __nodebug__, __target__("avx10.2-512"),    \
+                 __min_vector_width__(512)))
+
+static __inline__ __m512h __DEFAULT_FN_ATTRS512 _mm512_cvtx2ps_ph(__m512 __A,
+                                                                  __m512 __B) {
+  return (__m512h)__builtin_ia32_vcvt2ps2phx512_mask(
+      (__v16sf)__A, (__v16sf)__B, (__v32hf)_mm512_setzero_ph(), (__mmask32)(-1),
+      _MM_FROUND_CUR_DIRECTION);
+}
+
+static __inline__ __m512h __DEFAULT_FN_ATTRS512
+_mm512_mask_cvtx2ps_ph(__m512h __W, __mmask32 __U, __m512 __A, __m512 __B) {
+  return (__m512h)__builtin_ia32_vcvt2ps2phx512_mask(
+      (__v16sf)__A, (__v16sf)__B, (__v32hf)__W, (__mmask32)__U,
+      _MM_FROUND_CUR_DIRECTION);
+}
+
+#define _mm512_cvtx_round2ps_ph(A, B, R)                                       \
+  ((__m512h)__builtin_ia32_vcvt2ps2phx512_mask(                                \
+      (__v16sf)(A), (__v16sf)(B), (__v32hf)_mm512_undefined_ph(),              \
+      (__mmask32)(-1), (const int)(R)))
+
+#define _mm512_mask_cvtx_round2ps_ph(W, U, A, B, R)                            \
+  ((__m512h)__builtin_ia32_vcvt2ps2phx512_mask((__v16sf)(A), (__v16sf)(B),     \
+                                               (__v32hf)(W), (__mmask32)(U),   \
+                                               (const int)(R)))
+
+static __inline__ __m256i __DEFAULT_FN_ATTRS512
+_mm512_cvtbiasph_pbf8(__m512i __A, __m512h __B) {
+  return (__m256i)__builtin_ia32_vcvtbiasph2bf8_512_mask(
+      (__v64qi)__A, (__v32hf)__B, (__v32qi)_mm256_undefined_si256(),
+      (__mmask32)-1);
+}
+
+static __inline__ __m256i __DEFAULT_FN_ATTRS512 _mm512_mask_cvtbiasph_pbf8(
+    __m256i __W, __mmask32 __U, __m512i __A, __m512h __B) {
+  return (__m256i)__builtin_ia32_vcvtbiasph2bf8_512_mask(
+      (__v64qi)__A, (__v32hf)__B, (__v32qi)(__m256i)__W, (__mmask32)__U);
+}
+
+static __inline__ __m256i __DEFAULT_FN_ATTRS512
+_mm512_maskz_cvtbiasph_pbf8(__mmask32 __U, __m512i __A, __m512h __B) {
+  return (__m256i)__builtin_ia32_vcvtbiasph2bf8_512_mask(
+      (__v64qi)__A, (__v32hf)__B, (__v32qi)(__m256i)_mm256_setzero_si256(),
+      (__mmask32)__U);
+}
+
+static __inline__ __m256i __DEFAULT_FN_ATTRS512
+_mm512_cvtbiassph_pbf8(__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_pbf8(
+    __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_pbf8(__mmask32 __U, __m512i __A, __m512h __B) {
+  return (__m256i)__builtin_ia32_vcvtbiasph2bf8s_512_mask(
+      (__v64qi)__A, (__v32hf)__B, (__v32qi)(__m256i)_mm256_setzero_si256(),
+      (__mmask32)__U);
+}
+
+static __inline__ __m256i __DEFAULT_FN_ATTRS512
+_mm512_cvtbiasph_phf8(__m512i __A, __m512h __B) {
+  return (__m256i)__builtin_ia32_vcvtbiasph2hf8_512_mask(
+      (__v64qi)__A, (__v32hf)__B, (__v32qi)_mm256_undefined_si256(),
+      (__mmask32)-1);
+}
+
+static __inline__ __m256i __DEFAULT_FN_ATTRS512 _mm512_mask_cvtbiasph_phf8(
+    __m256i __W, __mmask32 __U, __m512i __A, __m512h __B) {
+  return (__m256i)__builtin_ia32_vcvtbiasph2hf8_512_mask(
+      (__v64qi)__A, (__v32hf)__B, (__v32qi)(__m256i)__W, (__mmask32)__U);
+}
+
+static __inline__ __m256i __DEFAULT_FN_ATTRS512
+_mm512_maskz_cvtbiasph_phf8(__mmask32 __U, __m512i __A, __m512h __B) {
+  return (__m256i)__builtin_ia32_vcvtbiasph2hf8_512_mask(
+      (__v64qi)__A, (__v32hf)__B, (__v32qi)(__m256i)_mm256_setzero_si256(),
+      (__mmask32)__U);
+}
+
+static __inline__ __m256i __DEFAULT_FN_ATTRS512
+_mm512_cvtbiassph_phf8(__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_phf8(
+    __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_phf8(__mmask32 __U, __m512i __A, __m512h __B) {
+  return (__m256i)__builtin_ia32_vcvtbiasph2hf8s_512_mask(
+      (__v64qi)__A, (__v32hf)__B, (__v32qi)(__m256i)_mm256_setzero_si256(),
+      (__mmask32)__U);
+}
+
+static __inline__ __m512i __DEFAULT_FN_ATTRS512
+_mm512_cvtne2ph_pbf8(__m512h __A, __m512h __B) {
+  return (__m512i)__builtin_ia32_vcvtne2ph2bf8_512((__v32hf)(__A),
+                                                   (__v32hf)(__B));
+}
+
+static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_mask_cvtne2ph_pbf8(
+    __m512i __W, __mmask64 __U, __m512h __A, __m512h __B) {
+  return (__m512i)__builtin_ia32_selectb_512(
+      (__mmask64)__U, (__v64qi)_mm512_cvtne2ph_pbf8(__A, __B), (__v64qi)__W);
+}
+
+static __inline__ __m512i __DEFAULT_FN_ATTRS512
+_mm512_cvtnes2ph_pbf8(__m512h __A, __m512h __B) {
+  return (__m512i)__builtin_ia32_vcvtne2ph2bf8s_512((__v32hf)(__A),
+                                                    (__v32hf)(__B));
+}
+
+static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_mask_cvtnes2ph_pbf8(
+    __m512i __W, __mmask64 __U, __m512h __A, __m512h __B) {
+  return (__m512i)__builtin_ia32_selectb_512(
+      (__mmask64)__U, (__v64qi)_mm512_cvtnes2ph_pbf8(__A, __B), (__v64qi)__W);
+}
+
+static __inline__ __m512i __DEFAULT_FN_ATTRS512
+_mm512_cvtne2ph_phf8(__m512h __A, __m512h __B) {
+  return (__m512i)__builtin_ia32_vcvtne2ph2hf8_512((__v32hf)(__A),
+                                                   (__v32hf)(__B));
+}
+
+static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_mask_cvtne2ph_phf8(
+    __m512i __W, __mmask64 __U, __m512h __A, __m512h __B) {
+  return (__m512i)__builtin_ia32_selectb_512(
+      (__mmask64)__U, (__v64qi)_mm512_cvtne2ph_phf8(__A, __B), (__v64qi)__W);
+}
+
+static __inline__ __m512i __DEFAULT_FN_ATTRS512
+_mm512_cvtne2ph2hf8s_phf8(__m512h __A, __m512h __B) {
+  return (__m512i)__builtin_ia32_vcvtne2ph2hf8s_512((__v32hf)(__A),
+                                                    (__v32hf)(__B));
+}
+
+static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_mask_cvtne2ph2hf8s_phf8(
+    __m512i __W, __mmask64 __U, __m512h __A, __m512h __B) {
+  return (__m512i)__builtin_ia32_selectb_512(
+      (__mmask64)__U, (__v64qi)_mm512_cvtne2ph2hf8s_phf8(__A, __B),
+      (__v64qi)__W);
+}
+
+static __inline__ __m512h __DEFAULT_FN_ATTRS512
+_mm512_cvtnebf8_ph(__m256i __A) {
+  return (__m512h)__builtin_ia32_vcvtnebf8_2ph512_mask(
+      (__v32qi)__A, (__v32hf)(__m512h)_mm512_undefined_ph(), (__mmask32)-1);
+}
+
+static __inline__ __m512h __DEFAULT_FN_ATTRS512
+_mm512_mask_cvtnebf8_ph(__m512h __W, __mmask32 __U, __m256i __A) {
+  return (__m512h)__builtin_ia32_vcvtnebf8_2ph512_mask(
+      (__v32qi)__A, (__v32hf)(__m512h)__W, (__mmask32)__U);
+}
+
+static __inline__ __m512h __DEFAULT_FN_ATTRS512
+_mm512_maskz_cvtnebf8_ph(__mmask32 __U, __m256i __A) {
+  return (__m512h)__builtin_ia32_vcvtnebf8_2ph512_mask(
+      (__v32qi)__A, (__v32hf)(__m512h)_mm512_setzero_ph(), (__mmask32)__U);
+}
+
+static __inline__ __m512h __DEFAULT_FN_ATTRS512
+_mm512_cvtnehf8_ph(__m256i __A) {
+  return (__m512h)__builtin_ia32_vcvtnehf8_2ph512_mask(
+      (__v32qi)__A, (__v32hf)(__m512h)_mm512_undefined_ph(), (__mmask32)-1);
+}
+
+static __inline__ __m512h __DEFAULT_FN_ATTRS512
+_mm512_mask_cvtnehf8_ph(__m512h __W, __mmask32 __U, __m256i __A) {
+  return (__m512h)__builtin_ia32_vcvtnehf8_2ph512_mask(
+      (__v32qi)__A, (__v32hf)(__m512h)__W, (__mmask32)__U);
+}
+
+static __inline__ __m512h __DEFAULT_FN_ATTRS512
+_mm512_maskz_cvtnehf8_ph(__mmask32 __U, __m256i __A) {
+  return (__m512h)__builtin_ia32_vcvtnehf8_2ph512_mask(
+      (__v32qi)__A, (__v32hf)(__m512h)_mm512_setzero_ph(), (__mmask32)__U);
+}
+
+static __inline__ __m256i __DEFAULT_FN_ATTRS512
+_mm512_cvtneph_pbf8(__m512h __A) {
+  return (__m256i)__builtin_ia32_vcvtneph2bf8_512_mask(
+      (__v32hf)__A, (__v32qi)(__m256i)_mm256_undefined_si256(), (__mmask32)-1);
+}
+
+static __inline__ __m256i __DEFAULT_FN_ATTRS512
+_mm512_mask_cvtneph_pbf8(__m256i __W, __mmask32 __U, __m512h __A) {
+  return (__m256i)__builtin_ia32_vcvtneph2bf8_512_mask(
+      (__v32hf)__A, (__v32qi)(__m256i)__W, (__mmask32)__U);
+}
+
+static __inline__ __m256i __DEFAULT_FN_ATTRS512
+_mm512_maskz_cvtneph_pbf8(__mmask32 __U, __m512h __A) {
+  return (__m256i)__builtin_ia32_vcvtneph2bf8_512_mask(
+      (__v32hf)__A, (__v32qi)(__m256i)_mm256_setzero_si256(), (__mmask32)__U);
+}
+
+static __inline__ __m256i __DEFAULT_FN_ATTRS512
+_mm512_cvtnesph_pbf8(__m512h __A) {
+  return (__m256i)__builtin_ia32_vcvtneph2bf8s_512_mask(
+      (__v32hf)__A, (__v32qi)(__m256i)_mm256_undefined_si256(), (__mmask32)-1);
+}
+
+static __inline__ __m256i __DEFAULT_FN_ATTRS512
+_mm512_mask_cvtnesph_pbf8(__m256i __W, __mmask32 __U, __m512h __A) {
+  return (__m256i)__builtin_ia32_vcvtneph2bf8s_512_mask(
+      (__v32hf)__A, (__v32qi)(__m256i)__W, (__mmask32)__U);
+}
+
+static __inline__ __m256i __DEFAULT_FN_ATTRS512
+_mm512_maskz_cvtnesph_pbf8(__mmask32 __U, __m512h __A) {
+  return (__m256i)__builtin_ia32_vcvtneph2bf8s_512_mask(
+      (__v32hf)__A, (__v32qi)(__m256i)_mm256_setzero_si256(), (__mmask32)__U);
+}
+
+static __inline__ __m256i __DEFAULT_FN_ATTRS512
+_mm512_cvtneph_phf8(__m512h __A) {
+  return (__m256i)__builtin_ia32_vcvtneph2hf8_512_mask(
+      (__v32hf)__A, (__v32qi)(__m256i)_mm256_undefined_si256(), (__mmask32)-1);
+}
+
+static __inline__ __m256i __DEFAULT_FN_ATTRS512
+_mm512_mask_cvtneph_phf8(__m256i __W, __mmask32 __U, __m512h __A) {
+  return (__m256i)__builtin_ia32_vcvtneph2hf8_512_mask(
+      (__v32hf)__A, (__v32qi)(__m256i)__W, (__mmask32)__U);
+}
+
+static __inline__ __m256i __DEFAULT_FN_ATTRS512
+_mm512_maskz_cvtneph_phf8(__mmask32 __U, __m512h __A) {
+  return (__m256i)__builtin_ia32_vcvtneph2hf8_512_mask(
+      (__v32hf)__A, (__v32qi)(__m256i)_mm256_setzero_si256(), (__mmask32)__U);
+}
+
+static __inline__ __m256i __DEFAULT_FN_ATTRS512
+_mm512_cvtnesph_phf8(__m512h __A) {
+  return (__m256i)__builtin_ia32_vcvtneph2hf8s_512_mask(
+      (__v32hf)__A, (__v32qi)(__m256i)_mm256_undefined_si256(), (__mmask32)-1);
+}
+
+static __inline__ __m256i __DEFAULT_FN_ATTRS512
+_mm512_mask_cvtnesph_phf8(__m256i __W, __mmask32 __U, __m512h __A) {
+  return (__m256i)__builtin_ia32_vcvtneph2hf8s_512_mask(
+      (__v32hf)__A, (__v32qi)(__m256i)__W, (__mmask32)__U);
+}
+
+static __inline__ __m256i __DEFAULT_FN_ATTRS512
+_mm512_maskz_cvtnesph_phf8(__mmask32 __U, __m512h __A) {
+  return (__m256i)__builtin_ia32_vcvtneph2hf8s_512_mask(
+      (__v32hf)__A, (__v32qi)(__m256i)_mm256_setzero_si256(), (__mmask32)__U);
+}
+
+static __inline __m512h __DEFAULT_FN_ATTRS512 _mm512_cvtpbf8_ph(__m256i __A) {
+  return _mm512_castsi512_ph(_mm512_slli_epi16(_mm512_cvtepi8_epi16(__A), 8));
+}
+
+static __inline __m512h __DEFAULT_FN_ATTRS512
+_mm512_mask_cvtpbf8_ph(__m512h __S, __mmask16 __U, __m256i __A) {
+  return _mm512_castsi512_ph(
+      _mm512_mask_slli_epi16((__m512i)__S, __U, _mm512_cvtepi8_epi16(__A), 8));
+}
+
+static __inline __m512h __DEFAULT_FN_ATTRS512
+_mm512_maskz_cvtpbf8_ph(__mmask16 __U, __m256i __A) {
+  return _mm512_castsi512_ph(
+      _mm512_slli_epi16(_mm512_maskz_cvtepi8_epi16(__U, __A), 8));
+}
+
+#undef __DEFAULT_FN_ATTRS512
+
+#endif // __AVX10_2_512CONVERTINTRIN_H
+#endif // __SSE2__
diff --git a/clang/lib/Headers/avx10_2convertintrin.h b/clang/lib/Headers/avx10_2convertintrin.h
new file mode 100644
index 0000000000000..9d7b6008cb6af
--- /dev/null
+++ b/clang/lib/Headers/avx10_2convertintrin.h
@@ -0,0 +1,560 @@
+/*===---------- avx10_2convertintrin.h - AVX512NECONVERTFP8 ----------===
+ *
+ * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+ * See https://llvm.org/LICENSE.txt for license information.
+ * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+ *
+ *===-----------------------------------------------------------------------===
+ */
+#ifndef __IMMINTRIN_H
+#error                                                                         \
+    "Never use <avx10_2convertintrin.h> directly; include <immintrin.h> instead."
+#endif // __IMMINTRIN_H
+
+#ifdef __SSE2__
+
+#ifndef __AVX10_2CONVERTINTRIN_H
+#define __AVX10_2CONVERTINTRIN_H
+
+/* Define the default attributes for the functions in this file. */
+#define __DEFAULT_FN_ATTRS128                                                  \
+  __attribute__((__always_inline__, __nodebug__, __target__("avx10.2-256"),    \
+                 __min_vector_width__(128)))
+#define __DEFAULT_FN_ATTRS256                                                  \
+  __attribute__((__always_inline__, __nodebug__, __target__("avx10.2-256"),    \
+                 __min_vector_width__(256)))
+
+static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_cvtx2ps_ph(__m128 __A,
+                                                               __m128 __B) {
+  return (__m128h)__builtin_ia32_vcvt2ps2phx128_mask(
+      (__v4sf)__A, (__v4sf)__B, (__v8hf)_mm_setzero_ph(), (__mmask8)(-1));
+}
+
+static __inline__ __m128h __DEFAULT_FN_ATTRS128
+_mm_mask_cvtx2ps_ph(__m128h __W, __mmask8 __U, __m128 __A, __m128 __B) {
+  return (__m128h)__builtin_ia32_vcvt2ps2phx128_mask(
+      (__v4sf)__A, (__v4sf)__B, (__v8hf)__W, (__mmask8)__U);
+}
+
+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);
+}
+
+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);
+}
+
+#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)))
+
+static __inline__ __m128i __DEFAULT_FN_ATTRS128
+_mm_cvtbiasph_pbf8(__m128i __A, __m128h __B) {
+  return (__m128i)__builtin_ia32_vcvtbiasph2bf8_128_mask(
+      (__v16qi)__A, (__v8hf)__B, (__v16qi)_mm_undefined_si128(), (__mmask8)-1);
+}
+
+static __inline__ __m128i __DEFAULT_FN_ATTRS128
+_mm_mask_cvtbiasph_pbf8(__m128i __W, __mmask8 __U, __m128i __A, __m128h __B) {
+  return (__m128i)__builtin_ia32_vcvtbiasph2bf8_128_mask(
+      (__v16qi)__A, (__v8hf)__B, (__v16qi)(__m128i)__W, (__mmask8)__U);
+}
+
+static __inline__ __m128i __DEFAULT_FN_ATTRS128
+_mm_maskz_cvtbiasph_pbf8(__mmask8 __U, __m128i __A, __m128h __B) {
+  return (__m128i)__builtin_ia32_vcvtbiasph2bf8_128_mask(
+      (__v16qi)__A, (__v8hf)__B, (__v16qi)(__m128i)_mm_setzero_si128(),
+      (__mmask8)__U);
+}
+
+static __inline__ __m128i __DEFAULT_FN_ATTRS256
+_mm256_cvtbiasph_pbf8(__m256i __A, __m256h __B) {
+  return (__m128i)__builtin_ia32_vcvtbiasph2bf8_256_mask(
+      (__v32qi)__A, (__v16hf)__B, (__v16qi)(__m128i)_mm_undefined_si128(),
+      (__mmask16)-1);
+}
+
+static __inline__ __m128i __DEFAULT_FN_ATTRS256 _mm256_mask_cvtbiasph_pbf8(
+    __m128i __W, __mmask16 __U, __m256i __A, __m256h __B) {
+  return (__m128i)__builtin_ia32_vcvtbiasph2bf8_256_mask(
+      (__v32qi)__A, (__v16hf)__B, (__v16qi)(__m128i)__W, (__mmask16)__U);
+}
+
+static __inline__ __m128i __DEFAULT_FN_ATTRS256
+_mm256_maskz_cvtbiasph_pbf8(__mmask16 __U, __m256i __A, __m256h __B) {
+  return (__m128i)__builtin_ia32_vcvtbiasph2bf8_256_mask(
+      (__v32qi)__A, (__v16hf)__B, (__v16qi)(__m128i)_mm_setzero_si128(),
+      (__mmask16)__U);
+}
+
+static __inline__ __m128i __DEFAULT_FN_ATTRS128
+_mm_cvtbiassph_pbf8(__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_pbf8(__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_pbf8(__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_pbf8(__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_pbf8(
+    __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_pbf8(__mmask16 __U, __m256i __A, __m256h __B) {
+  return (__m128i)__builtin_ia32_vcvtbiasph2bf8s_256_mask(
+      (__v32qi)__A, (__v16hf)__B, (__v16qi)(__m128i)_mm_setzero_si128(),
+      (__mmask16)__U);
+}
+
+static __inline__ __m128i __DEFAULT_FN_ATTRS128
+_mm_cvtbiasph_phf8(__m128i __A, __m128h __B) {
+  return (__m128i)__builtin_ia32_vcvtbiasph2hf8_128_mask(
+      (__v16qi)__A, (__v8hf)__B, (__v16qi)_mm_undefined_si128(), (__mmask8)-1);
+}
+
+static __inline__ __m128i __DEFAULT_FN_ATTRS128
+_mm_mask_cvtbiasph_phf8(__m128i __W, __mmask8 __U, __m128i __A, __m128h __B) {
+  return (__m128i)__builtin_ia32_vcvtbiasph2hf8_128_mask(
+      (__v16qi)__A, (__v8hf)__B, (__v16qi)(__m128i)__W, (__mmask8)__U);
+}
+
+static __inline__ __m128i __DEFAULT_FN_ATTRS128
+_mm_maskz_cvtbiasph_phf8(__mmask8 __U, __m128i __A, __m128h __B) {
+  return (__m128i)__builtin_ia32_vcvtbiasph2hf8_128_mask(
+      (__v16qi)__A, (__v8hf)__B, (__v16qi)(__m128i)_mm_setzero_si128(),
+      (__mmask8)__U);
+}
+
+static __inline__ __m128i __DEFAULT_FN_ATTRS256
+_mm256_cvtbiasph_phf8(__m256i __A, __m256h __B) {
+  return (__m128i)__builtin_ia32_vcvtbiasph2hf8_256_mask(
+      (__v32qi)__A, (__v16hf)__B, (__v16qi)(__m128i)_mm_undefined_si128(),
+      (__mmask16)-1);
+}
+
+static __inline__ __m128i __DEFAULT_FN_ATTRS256 _mm256_mask_cvtbiasph_phf8(
+    __m128i __W, __mmask16 __U, __m256i __A, __m256h __B) {
+  return (__m128i)__builtin_ia32_vcvtbiasph2hf8_256_mask(
+      (__v32qi)__A, (__v16hf)__B, (__v16qi)(__m128i)__W, (__mmask16)__U);
+}
+
+static __inline__ __m128i __DEFAULT_FN_ATTRS256
+_mm256_maskz_cvtbiasph_phf8(__mmask16 __U, __m256i __A, __m256h __B) {
+  return (__m128i)__builtin_ia32_vcvtbiasph2hf8_256_mask(
+      (__v32qi)__A, (__v16hf)__B, (__v16qi)(__m128i)_mm_setzero_si128(),
+      (__mmask16)__U);
+}
+
+static __inline__ __m128i __DEFAULT_FN_ATTRS128
+_mm_cvtbiassph_phf8(__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_phf8(__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_phf8(__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_phf8(__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_phf8(
+    __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_phf8(__mmask16 __U, __m256i __A, __m256h __B) {
+  return (__m128i)__builtin_ia32_vcvtbiasph2hf8s_256_mask(
+      (__v32qi)__A, (__v16hf)__B, (__v16qi)(__m128i)_mm_setzero_si128(),
+      (__mmask16)__U);
+}
+
+static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_cvtne2ph_pbf8(__m128h __A,
+                                                                  __m128h __B) {
+  return (__m128i)__builtin_ia32_vcvtne2ph2bf8_128((__v8hf)(__A),
+                                                   (__v8hf)(__B));
+}
+
+static __inline__ __m128i __DEFAULT_FN_ATTRS128
+_mm_mask_cvtne2ph_pbf8(__m128i __W, __mmask16 __U, __m128h __A, __m128h __B) {
+  return (__m128i)__builtin_ia32_selectb_128(
+      (__mmask16)__U, (__v16qi)_mm_cvtne2ph_pbf8(__A, __B), (__v16qi)__W);
+}
+
+static __inline__ __m256i __DEFAULT_FN_ATTRS256
+_mm256_cvtne2ph_pbf8(__m256h __A, __m256h __B) {
+  return (__m256i)__builtin_ia32_vcvtne2ph2bf8_256((__v16hf)(__A),
+                                                   (__v16hf)(__B));
+}
+
+static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_cvtne2ph_pbf8(
+    __m256i __W, __mmask32 __U, __m256h __A, __m256h __B) {
+  return (__m256i)__builtin_ia32_selectb_256(
+      (__mmask16)__U, (__v32qi)_mm256_cvtne2ph_pbf8(__A, __B), (__v32qi)__W);
+}
+
+static __inline__ __m128i __DEFAULT_FN_ATTRS128
+_mm_cvtnes2ph_pbf8(__m128h __A, __m128h __B) {
+  return (__m128i)__builtin_ia32_vcvtne2ph2bf8s_128((__v8hf)(__A),
+                                                    (__v8hf)(__B));
+}
+
+static __inline__ __m128i __DEFAULT_FN_ATTRS128
+_mm_mask_cvtnes2ph_pbf8(__m128i __W, __mmask16 __U, __m128h __A, __m128h __B) {
+  return (__m128i)__builtin_ia32_selectb_128(
+      (__mmask16)__U, (__v16qi)_mm_cvtnes2ph_pbf8(__A, __B), (__v16qi)__W);
+}
+
+static __inline__ __m256i __DEFAULT_FN_ATTRS256
+_mm256_cvtnes2ph_pbf8(__m256h __A, __m256h __B) {
+  return (__m256i)__builtin_ia32_vcvtne2ph2bf8s_256((__v16hf)(__A),
+                                                    (__v16hf)(__B));
+}
+
+static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_cvtnes2ph_pbf8(
+    __m256i __W, __mmask32 __U, __m256h __A, __m256h __B) {
+  return (__m256i)__builtin_ia32_selectb_256(
+      (__mmask16)__U, (__v32qi)_mm256_cvtnes2ph_pbf8(__A, __B), (__v32qi)__W);
+}
+
+static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_cvtne2ph_phf8(__m128h __A,
+                                                                  __m128h __B) {
+  return (__m128i)__builtin_ia32_vcvtne2ph2hf8_128((__v8hf)(__A),
+                                                   (__v8hf)(__B));
+}
+
+static __inline__ __m128i __DEFAULT_FN_ATTRS128
+_mm_mask_cvtne2ph_phf8(__m128i __W, __mmask16 __U, __m128h __A, __m128h __B) {
+  return (__m128i)__builtin_ia32_selectb_128(
+      (__mmask16)__U, (__v16qi)_mm_cvtne2ph_phf8(__A, __B), (__v16qi)__W);
+}
+
+static __inline__ __m256i __DEFAULT_FN_ATTRS256
+_mm256_cvtne2ph_phf8(__m256h __A, __m256h __B) {
+  return (__m256i)__builtin_ia32_vcvtne2ph2hf8_256((__v16hf)(__A),
+                                                   (__v16hf)(__B));
+}
+
+static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_cvtne2ph_phf8(
+    __m256i __W, __mmask32 __U, __m256h __A, __m256h __B) {
+  return (__m256i)__builtin_ia32_selectb_256(
+      (__mmask16)__U, (__v32qi)_mm256_cvtne2ph_phf8(__A, __B), (__v32qi)__W);
+}
+
+static __inline__ __m128i __DEFAULT_FN_ATTRS128
+_mm_cvtne2ph2hf8s_phf8(__m128h __A, __m128h __B) {
+  return (__m128i)__builtin_ia32_vcvtne2ph2hf8s_128((__v8hf)(__A),
+                                                    (__v8hf)(__B));
+}
+
+static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_cvtne2ph2hf8s_phf8(
+    __m128i __W, __mmask16 __U, __m128h __A, __m128h __B) {
+  return (__m128i)__builtin_ia32_selectb_128(
+      (__mmask16)__U, (__v16qi)_mm_cvtne2ph2hf8s_phf8(__A, __B), (__v16qi)__W);
+}
+
+static __inline__ __m256i __DEFAULT_FN_ATTRS256
+_mm256_cvtne2ph2hf8s_phf8(__m256h __A, __m256h __B) {
+  return (__m256i)__builtin_ia32_vcvtne2ph2hf8s_256((__v16hf)(__A),
+                                                    (__v16hf)(__B));
+}
+
+static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_cvtne2ph2hf8s_phf8(
+    __m256i __W, __mmask32 __U, __m256h __A, __m256h __B) {
+  return (__m256i)__builtin_ia32_selectb_256(
+      (__mmask16)__U, (__v32qi)_mm256_cvtne2ph2hf8s_phf8(__A, __B),
+      (__v32qi)__W);
+}
+
+static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_cvtnebf8_ph(__m128i __A) {
+  return (__m128h)__builtin_ia32_vcvtnebf8_2ph128_mask(
+      (__v16qi)__A, (__v8hf)(__m128h)_mm_undefined_ph(), (__mmask8)-1);
+}
+
+static __inline__ __m128h __DEFAULT_FN_ATTRS128
+_mm_mask_cvtnebf8_ph(__m128h __W, __mmask8 __U, __m128i __A) {
+  return (__m128h)__builtin_ia32_vcvtnebf8_2ph128_mask(
+      (__v16qi)__A, (__v8hf)(__m128h)__W, (__mmask8)__U);
+}
+
+static __inline__ __m128h __DEFAULT_FN_ATTRS128
+_mm_maskz_cvtnebf8_ph(__mmask8 __U, __m128i __A) {
+  return (__m128h)__builtin_ia32_vcvtnebf8_2ph128_mask(
+      (__v16qi)__A, (__v8hf)(__m128h)_mm_setzero_ph(), (__mmask8)__U);
+}
+
+static __inline__ __m256h __DEFAULT_FN_ATTRS256
+_mm256_cvtnebf8_ph(__m128i __A) {
+  return (__m256h)__builtin_ia32_vcvtnebf8_2ph256_mask(
+      (__v16qi)__A, (__v16hf)(__m256h)_mm256_undefined_ph(), (__mmask16)-1);
+}
+
+static __inline__ __m256h __DEFAULT_FN_ATTRS256
+_mm256_mask_cvtnebf8_ph(__m256h __W, __mmask16 __U, __m128i __A) {
+  return (__m256h)__builtin_ia32_vcvtnebf8_2ph256_mask(
+      (__v16qi)__A, (__v16hf)(__m256h)__W, (__mmask16)__U);
+}
+
+static __inline__ __m256h __DEFAULT_FN_ATTRS256
+_mm256_maskz_cvtnebf8_ph(__mmask16 __U, __m128i __A) {
+  return (__m256h)__builtin_ia32_vcvtnebf8_2ph256_mask(
+      (__v16qi)__A, (__v16hf)(__m256h)_mm256_setzero_ph(), (__mmask16)__U);
+}
+
+static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_cvtnehf8_ph(__m128i __A) {
+  return (__m128h)__builtin_ia32_vcvtnehf8_2ph128_mask(
+      (__v16qi)__A, (__v8hf)(__m128h)_mm_undefined_ph(), (__mmask8)-1);
+}
+
+static __inline__ __m128h __DEFAULT_FN_ATTRS128
+_mm_mask_cvtnehf8_ph(__m128h __W, __mmask8 __U, __m128i __A) {
+  return (__m128h)__builtin_ia32_vcvtnehf8_2ph128_mask(
+      (__v16qi)__A, (__v8hf)(__m128h)__W, (__mmask8)__U);
+}
+
+static __inline__ __m128h __DEFAULT_FN_ATTRS128
+_mm_maskz_cvtnehf8_ph(__mmask8 __U, __m128i __A) {
+  return (__m128h)__builtin_ia32_vcvtnehf8_2ph128_mask(
+      (__v16qi)__A, (__v8hf)(__m128h)_mm_setzero_ph(), (__mmask8)__U);
+}
+
+static __inline__ __m256h __DEFAULT_FN_ATTRS256
+_mm256_cvtnehf8_ph(__m128i __A) {
+  return (__m256h)__builtin_ia32_vcvtnehf8_2ph256_mask(
+      (__v16qi)__A, (__v16hf)(__m256h)_mm256_undefined_ph(), (__mmask16)-1);
+}
+
+static __inline__ __m256h __DEFAULT_FN_ATTRS256
+_mm256_mask_cvtnehf8_ph(__m256h __W, __mmask16 __U, __m128i __A) {
+  return (__m256h)__builtin_ia32_vcvtnehf8_2ph256_mask(
+      (__v16qi)__A, (__v16hf)(__m256h)__W, (__mmask16)__U);
+}
+
+static __inline__ __m256h __DEFAULT_FN_ATTRS256
+_mm256_maskz_cvtnehf8_ph(__mmask16 __U, __m128i __A) {
+  return (__m256h)__builtin_ia32_vcvtnehf8_2ph256_mask(
+      (__v16qi)__A, (__v16hf)(__m256h)_mm256_setzero_ph(), (__mmask16)__U);
+}
+
+static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_cvtneph_pbf8(__m128h __A) {
+  return (__m128i)__builtin_ia32_vcvtneph2bf8_128_mask(
+      (__v8hf)__A, (__v16qi)(__m128i)_mm_undefined_si128(), (__mmask8)-1);
+}
+
+static __inline__ __m128i __DEFAULT_FN_ATTRS128
+_mm_mask_cvtneph_pbf8(__m128i __W, __mmask8 __U, __m128h __A) {
+  return (__m128i)__builtin_ia32_vcvtneph2bf8_128_mask(
+      (__v8hf)__A, (__v16qi)(__m128i)__W, (__mmask8)__U);
+}
+
+static __inline__ __m128i __DEFAULT_FN_ATTRS128
+_mm_maskz_cvtneph_pbf8(__mmask8 __U, __m128h __A) {
+  return (__m128i)__builtin_ia32_vcvtneph2bf8_128_mask(
+      (__v8hf)__A, (__v16qi)(__m128i)_mm_setzero_si128(), (__mmask8)__U);
+}
+
+static __inline__ __m128i __DEFAULT_FN_ATTRS256
+_mm256_cvtneph_pbf8(__m256h __A) {
+  return (__m128i)__builtin_ia32_vcvtneph2bf8_256_mask(
+      (__v16hf)__A, (__v16qi)(__m128i)_mm_undefined_si128(), (__mmask16)-1);
+}
+
+static __inline__ __m128i __DEFAULT_FN_ATTRS256
+_mm256_mask_cvtneph_pbf8(__m128i __W, __mmask16 __U, __m256h __A) {
+  return (__m128i)__builtin_ia32_vcvtneph2bf8_256_mask(
+      (__v16hf)__A, (__v16qi)(__m128i)__W, (__mmask16)__U);
+}
+
+static __inline__ __m128i __DEFAULT_FN_ATTRS256
+_mm256_maskz_cvtneph_pbf8(__mmask16 __U, __m256h __A) {
+  return (__m128i)__builtin_ia32_vcvtneph2bf8_256_mask(
+      (__v16hf)__A, (__v16qi)(__m128i)_mm_setzero_si128(), (__mmask16)__U);
+}
+
+static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_cvtnesph_pbf8(__m128h __A) {
+  return (__m128i)__builtin_ia32_vcvtneph2bf8s_128_mask(
+      (__v8hf)__A, (__v16qi)(__m128i)_mm_undefined_si128(), (__mmask8)-1);
+}
+
+static __inline__ __m128i __DEFAULT_FN_ATTRS128
+_mm_mask_cvtnesph_pbf8(__m128i __W, __mmask8 __U, __m128h __A) {
+  return (__m128i)__builtin_ia32_vcvtneph2bf8s_128_mask(
+      (__v8hf)__A, (__v16qi)(__m128i)__W, (__mmask8)__U);
+}
+
+static __inline__ __m128i __DEFAULT_FN_ATTRS128
+_mm_maskz_cvtnesph_pbf8(__mmask8 __U, __m128h __A) {
+  return (__m128i)__builtin_ia32_vcvtneph2bf8s_128_mask(
+      (__v8hf)__A, (__v16qi)(__m128i)_mm_setzero_si128(), (__mmask8)__U);
+}
+
+static __inline__ __m128i __DEFAULT_FN_ATTRS256
+_mm256_cvtnesph_pbf8(__m256h __A) {
+  return (__m128i)__builtin_ia32_vcvtneph2bf8s_256_mask(
+      (__v16hf)__A, (__v16qi)(__m128i)_mm_undefined_si128(), (__mmask16)-1);
+}
+
+static __inline__ __m128i __DEFAULT_FN_ATTRS256
+_mm256_mask_cvtnesph_pbf8(__m128i __W, __mmask16 __U, __m256h __A) {
+  return (__m128i)__builtin_ia32_vcvtneph2bf8s_256_mask(
+      (__v16hf)__A, (__v16qi)(__m128i)__W, (__mmask16)__U);
+}
+
+static __inline__ __m128i __DEFAULT_FN_ATTRS256
+_mm256_maskz_cvtnesph_pbf8(__mmask16 __U, __m256h __A) {
+  return (__m128i)__builtin_ia32_vcvtneph2bf8s_256_mask(
+      (__v16hf)__A, (__v16qi)(__m128i)_mm_setzero_si128(), (__mmask16)__U);
+}
+
+static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_cvtneph_phf8(__m128h __A) {
+  return (__m128i)__builtin_ia32_vcvtneph2hf8_128_mask(
+      (__v8hf)__A, (__v16qi)(__m128i)_mm_undefined_si128(), (__mmask8)-1);
+}
+
+static __inline__ __m128i __DEFAULT_FN_ATTRS128
+_mm_mask_cvtneph_phf8(__m128i __W, __mmask8 __U, __m128h __A) {
+  return (__m128i)__builtin_ia32_vcvtneph2hf8_128_mask(
+      (__v8hf)__A, (__v16qi)(__m128i)__W, (__mmask8)__U);
+}
+
+static __inline__ __m128i __DEFAULT_FN_ATTRS128
+_mm_maskz_cvtneph_phf8(__mmask8 __U, __m128h __A) {
+  return (__m128i)__builtin_ia32_vcvtneph2hf8_128_mask(
+      (__v8hf)__A, (__v16qi)(__m128i)_mm_setzero_si128(), (__mmask8)__U);
+}
+
+static __inline__ __m128i __DEFAULT_FN_ATTRS256
+_mm256_cvtneph_phf8(__m256h __A) {
+  return (__m128i)__builtin_ia32_vcvtneph2hf8_256_mask(
+      (__v16hf)__A, (__v16qi)(__m128i)_mm_undefined_si128(), (__mmask16)-1);
+}
+
+static __inline__ __m128i __DEFAULT_FN_ATTRS256
+_mm256_mask_cvtneph_phf8(__m128i __W, __mmask16 __U, __m256h __A) {
+  return (__m128i)__builtin_ia32_vcvtneph2hf8_256_mask(
+      (__v16hf)__A, (__v16qi)(__m128i)__W, (__mmask16)__U);
+}
+
+static __inline__ __m128i __DEFAULT_FN_ATTRS256
+_mm256_maskz_cvtneph_phf8(__mmask16 __U, __m256h __A) {
+  return (__m128i)__builtin_ia32_vcvtneph2hf8_256_mask(
+      (__v16hf)__A, (__v16qi)(__m128i)_mm_setzero_si128(), (__mmask16)__U);
+}
+
+static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_cvtnesph_phf8(__m128h __A) {
+  return (__m128i)__builtin_ia32_vcvtneph2hf8s_128_mask(
+      (__v8hf)__A, (__v16qi)(__m128i)_mm_undefined_si128(), (__mmask8)-1);
+}
+
+static __inline__ __m128i __DEFAULT_FN_ATTRS128
+_mm_mask_cvtnesph_phf8(__m128i __W, __mmask8 __U, __m128h __A) {
+  return (__m128i)__builtin_ia32_vcvtneph2hf8s_128_mask(
+      (__v8hf)__A, (__v16qi)(__m128i)__W, (__mmask8)__U);
+}
+
+static __inline__ __m128i __DEFAULT_FN_ATTRS128
+_mm_maskz_cvtnesph_phf8(__mmask8 __U, __m128h __A) {
+  return (__m128i)__builtin_ia32_vcvtneph2hf8s_128_mask(
+      (__v8hf)__A, (__v16qi)(__m128i)_mm_setzero_si128(), (__mmask8)__U);
+}
+
+static __inline__ __m128i __DEFAULT_FN_ATTRS256
+_mm256_cvtnesph_phf8(__m256h __A) {
+  return (__m128i)__builtin_ia32_vcvtneph2hf8s_256_mask(
+      (__v16hf)__A, (__v16qi)(__m128i)_mm_undefined_si128(), (__mmask16)-1);
+}
+
+static __inline__ __m128i __DEFAULT_FN_ATTRS256
+_mm256_mask_cvtnesph_phf8(__m128i __W, __mmask16 __U, __m256h __A) {
+  return (__m128i)__builtin_ia32_vcvtneph2hf8s_256_mask(
+      (__v16hf)__A, (__v16qi)(__m128i)__W, (__mmask16)__U);
+}
+
+static __inline__ __m128i __DEFAULT_FN_ATTRS256
+_mm256_maskz_cvtnesph_phf8(__mmask16 __U, __m256h __A) {
+  return (__m128i)__builtin_ia32_vcvtneph2hf8s_256_mask(
+      (__v16hf)__A, (__v16qi)(__m128i)_mm_setzero_si128(), (__mmask16)__U);
+}
+
+static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_cvtpbf8_ph(__m128i __A) {
+  return _mm_castsi128_ph(_mm_slli_epi16(_mm_cvtepi8_epi16(__A), 8));
+}
+
+static __inline__ __m128h __DEFAULT_FN_ATTRS128
+_mm_mask_cvtpbf8_ph(__m128h __S, __mmask8 __U, __m128i __A) {
+  return _mm_castsi128_ph(
+      _mm_mask_slli_epi16((__m128i)__S, __U, _mm_cvtepi8_epi16(__A), 8));
+}
+
+static __inline__ __m128h __DEFAULT_FN_ATTRS128
+_mm_maskz_cvtpbf8_ph(__mmask8 __U, __m128i __A) {
+  return _mm_castsi128_ph(_mm_slli_epi16(_mm_maskz_cvtepi8_epi16(__U, __A), 8));
+}
+
+static __inline__ __m256h __DEFAULT_FN_ATTRS256 _mm256_cvtpbf8_ph(__m128i __A) {
+  return _mm256_castsi256_ph(_mm256_slli_epi16(_mm256_cvtepi8_epi16(__A), 8));
+}
+
+static __inline__ __m256h __DEFAULT_FN_ATTRS256
+_mm256_mask_cvtpbf8_ph(__m256h __S, __mmask8 __U, __m128i __A) {
+  return _mm256_castsi256_ph(
+      _mm256_mask_slli_epi16((__m256i)__S, __U, _mm256_cvtepi8_epi16(__A), 8));
+}
+
+static __inline__ __m256h __DEFAULT_FN_ATTRS256
+_mm256_maskz_cvtpbf8_ph(__mmask8 __U, __m128i __A) {
+  return _mm256_castsi256_ph(
+      _mm256_slli_epi16(_mm256_maskz_cvtepi8_epi16(__U, __A), 8));
+}
+
+#undef __DEFAULT_FN_ATTRS128
+#undef __DEFAULT_FN_ATTRS256
+
+#endif // __AVX10_2CONVERTINTRIN_H
+#endif // __SSE2__
diff --git a/clang/lib/Headers/immintrin.h b/clang/lib/Headers/immintrin.h
index 6d46bdee20a0d..26a5c4fb0ef07 100644
--- a/clang/lib/Headers/immintrin.h
+++ b/clang/lib/Headers/immintrin.h
@@ -649,11 +649,13 @@ _storebe_i64(void * __P, long long __D) {
 #endif
 
 #if !defined(__SCE__) || __has_feature(modules) || defined(__AVX10_2__)
+#include <avx10_2convertintrin.h>
 #include <avx10_2minmaxintrin.h>
 #include <avx10_2niintrin.h>
 #endif
 
 #if !defined(__SCE__) || __has_feature(modules) || defined(__AVX10_2_512__)
+#include <avx10_2_512convertintrin.h>
 #include <avx10_2_512minmaxintrin.h>
 #include <avx10_2_512niintrin.h>
 #endif
diff --git a/clang/lib/Sema/SemaX86.cpp b/clang/lib/Sema/SemaX86.cpp
index f36b5ea1b01d7..d5185294812d7 100644
--- a/clang/lib/Sema/SemaX86.cpp
+++ b/clang/lib/Sema/SemaX86.cpp
@@ -413,6 +413,8 @@ 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;
     break;
diff --git a/clang/test/CodeGen/X86/avx10_2_512convert-builtins.c b/clang/test/CodeGen/X86/avx10_2_512convert-builtins.c
new file mode 100644
index 0000000000000..f35f742122c6a
--- /dev/null
+++ b/clang/test/CodeGen/X86/avx10_2_512convert-builtins.c
@@ -0,0 +1,274 @@
+// RUN: %clang_cc1 %s -flax-vector-conversions=none -ffreestanding -triple=x86_64 -target-feature +avx10.2-512 \
+// RUN: -emit-llvm -o - -Wno-invalid-feature-combination -Wall -Werror | FileCheck %s
+// RUN: %clang_cc1 %s -flax-vector-conversions=none -ffreestanding -triple=i386 -target-feature +avx10.2-512 \
+// RUN: -emit-llvm -o - -Wno-invalid-feature-combination -Wall -Werror | FileCheck %s
+
+#include <immintrin.h>
+
+__m512h test_mm512_cvtx2ps_ph(__m512 __A, __m512 __B) {
+  // CHECK-LABEL: @test_mm512_cvtx2ps_ph(
+  // CHECK: call <32 x half> @llvm.x86.avx10.mask.vcvt2ps2phx.512
+  return _mm512_cvtx2ps_ph(__A, __B);
+}
+
+__m512h test_mm512_mask_cvtx2ps_ph(__m512h __W, __mmask32 __U, __m512 __A, __m512 __B) {
+  // CHECK-LABEL: @test_mm512_mask_cvtx2ps_ph(
+  // CHECK: call <32 x half> @llvm.x86.avx10.mask.vcvt2ps2phx.512
+  return _mm512_mask_cvtx2ps_ph(__W, __U, __A, __B);
+}
+
+__m512h test_mm512_cvtx_round2ps_ph(__m512 __A, __m512 __B) {
+  // CHECK-LABEL: @test_mm512_cvtx_round2ps_ph(
+  // CHECK: call <32 x half> @llvm.x86.avx10.mask.vcvt2ps2phx.512
+  return _mm512_cvtx_round2ps_ph(__A, __B, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC);
+}
+
+__m512h test_mm512_mask_cvtx_round2ps_ph(__m512h __W, __mmask32 __U, __m512 __A, __m512 __B) {
+// CHECK-LABEL: @test_mm512_mask_cvtx_round2ps_ph(
+// CHECK: call <32 x half> @llvm.x86.avx10.mask.vcvt2ps2phx.512
+  return _mm512_mask_cvtx_round2ps_ph(__W, __U, __A, __B, _MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC);
+}
+
+__m256i test_mm512_cvtbiasph_pbf8(__m512i __A, __m512h __B) {
+  // CHECK-LABEL: @test_mm512_cvtbiasph_pbf8(
+  // CHECK: call <32 x i8> @llvm.x86.avx10.mask.vcvtbiasph2bf8512(
+  return _mm512_cvtbiasph_pbf8(__A, __B);
+}
+
+__m256i test_mm512_mask_cvtbiasph_pbf8(__m256i __W, __mmask32 __U, __m512i __A, __m512h __B) {
+  // CHECK-LABEL: @test_mm512_mask_cvtbiasph_pbf8(
+  // CHECK: call <32 x i8> @llvm.x86.avx10.mask.vcvtbiasph2bf8512(
+  return _mm512_mask_cvtbiasph_pbf8(__W, __U, __A, __B);
+}
+
+__m256i test_mm512_maskz_cvtbiasph_pbf8(__mmask32 __U, __m512i __A, __m512h __B) {
+  // CHECK-LABEL: @test_mm512_maskz_cvtbiasph_pbf8(
+  // CHECK: call <32 x i8> @llvm.x86.avx10.mask.vcvtbiasph2bf8512(
+  return _mm512_maskz_cvtbiasph_pbf8(__U, __A, __B);
+}
+
+__m256i test_mm512_cvtbiassph_pbf8(__m512i __A, __m512h __B) {
+  // CHECK-LABEL: @test_mm512_cvtbiassph_pbf8(
+  // CHECK: call <32 x i8> @llvm.x86.avx10.mask.vcvtbiasph2bf8s512(
+  return _mm512_cvtbiassph_pbf8(__A, __B);
+}
+
+__m256i test_mm512_mask_cvtbiassph_pbf8(__m256i __W, __mmask32 __U, __m512i __A, __m512h __B) {
+  // CHECK-LABEL: @test_mm512_mask_cvtbiassph_pbf8(
+  // CHECK: call <32 x i8> @llvm.x86.avx10.mask.vcvtbiasph2bf8s512(
+  return _mm512_mask_cvtbiassph_pbf8(__W, __U, __A, __B);
+}
+
+__m256i test_mm512_maskz_cvtbiassph_pbf8(__mmask32 __U, __m512i __A, __m512h __B) {
+  // CHECK-LABEL: @test_mm512_maskz_cvtbiassph_pbf8(
+  // CHECK: call <32 x i8> @llvm.x86.avx10.mask.vcvtbiasph2bf8s512(
+  return _mm512_maskz_cvtbiassph_pbf8(__U, __A, __B);
+}
+
+__m256i test_mm512_cvtbiasph_phf8(__m512i __A, __m512h __B) {
+  // CHECK-LABEL: @test_mm512_cvtbiasph_phf8(
+  // CHECK: call <32 x i8> @llvm.x86.avx10.mask.vcvtbiasph2hf8512(
+  return _mm512_cvtbiasph_phf8(__A, __B);
+}
+
+__m256i test_mm512_mask_cvtbiasph_phf8(__m256i __W, __mmask32 __U, __m512i __A, __m512h __B) {
+  // CHECK-LABEL: @test_mm512_mask_cvtbiasph_phf8(
+  // CHECK: call <32 x i8> @llvm.x86.avx10.mask.vcvtbiasph2hf8512(
+  return _mm512_mask_cvtbiasph_phf8(__W, __U, __A, __B);
+}
+
+__m256i test_mm512_maskz_cvtbiasph_phf8(__mmask32 __U, __m512i __A, __m512h __B) {
+  // CHECK-LABEL: @test_mm512_maskz_cvtbiasph_phf8(
+  // CHECK: call <32 x i8> @llvm.x86.avx10.mask.vcvtbiasph2hf8512(
+  return _mm512_maskz_cvtbiasph_phf8(__U, __A, __B);
+}
+
+__m256i test_mm512_cvtbiassph_phf8(__m512i __A, __m512h __B) {
+  // CHECK-LABEL: @test_mm512_cvtbiassph_phf8(
+  // CHECK: call <32 x i8> @llvm.x86.avx10.mask.vcvtbiasph2hf8s512(
+  return _mm512_cvtbiassph_phf8(__A, __B);
+}
+
+__m256i test_mm512_mask_cvtbiassph_phf8(__m256i __W, __mmask32 __U, __m512i __A, __m512h __B) {
+  // CHECK-LABEL: @test_mm512_mask_cvtbiassph_phf8(
+  // CHECK: call <32 x i8> @llvm.x86.avx10.mask.vcvtbiasph2hf8s512(
+  return _mm512_mask_cvtbiassph_phf8(__W, __U, __A, __B);
+}
+
+__m256i test_mm512_maskz_cvtbiassph_phf8(__mmask32 __U, __m512i __A, __m512h __B) {
+  // CHECK-LABEL: @test_mm512_maskz_cvtbiassph_phf8(
+  // CHECK: call <32 x i8> @llvm.x86.avx10.mask.vcvtbiasph2hf8s512(
+  return _mm512_maskz_cvtbiassph_phf8(__U, __A, __B);
+}
+
+__m512i test_mm512_cvtne2ph_pbf8(__m512h __A, __m512h __B) {
+  // CHECK-LABEL: @test_mm512_cvtne2ph_pbf8(
+  // CHECK: call <64 x i8> @llvm.x86.avx10.vcvtne2ph2bf8512(
+  return _mm512_cvtne2ph_pbf8(__A, __B);
+}
+
+__m512i test_mm512_mask_cvtne2ph_pbf8(__m512i __W, __mmask32 __U, __m512h __A, __m512h __B) {
+  // CHECK-LABEL: @test_mm512_mask_cvtne2ph_pbf8(
+  // CHECK: call <64 x i8> @llvm.x86.avx10.vcvtne2ph2bf8512(
+  // CHECK: select <64 x i1> %{{.*}}, <64 x i8> %{{.*}}, <64 x i8> %{{.*}}
+  // CHECK: ret <8 x i64> %{{.*}}
+  return _mm512_mask_cvtne2ph_pbf8(__W, __U, __A, __B);
+}
+
+__m512i test_mm512_cvtnes2ph_pbf8(__m512h __A, __m512h __B) {
+  // CHECK-LABEL: @test_mm512_cvtnes2ph_pbf8(
+  // CHECK: call <64 x i8> @llvm.x86.avx10.vcvtne2ph2bf8s512(
+  return _mm512_cvtnes2ph_pbf8(__A, __B);
+}
+
+__m512i test_mm512_mask_cvtnes2ph_pbf8(__m512i __W, __mmask64 __U, __m512h __A, __m512h __B) {
+  // CHECK-LABEL: @test_mm512_mask_cvtnes2ph_pbf8(
+  // CHECK: call <64 x i8> @llvm.x86.avx10.vcvtne2ph2bf8s512(
+  // CHECK: select <64 x i1> %{{.*}}, <64 x i8> %{{.*}}, <64 x i8> %{{.*}}
+  // CHECK: ret <8 x i64> %{{.*}}
+  return _mm512_mask_cvtnes2ph_pbf8(__W, __U, __A, __B);
+}
+
+__m512i test_mm512_cvtne2ph_phf8(__m512h __A, __m512h __B) {
+  // CHECK-LABEL: @test_mm512_cvtne2ph_phf8(
+  // CHECK: call <64 x i8> @llvm.x86.avx10.vcvtne2ph2hf8512(
+  return _mm512_cvtne2ph_phf8(__A, __B);
+}
+
+__m512i test_mm512_mask_cvtne2ph_phf8(__m512i __W, __mmask64 __U, __m512h __A, __m512h __B) {
+  // CHECK-LABEL: @test_mm512_mask_cvtne2ph_phf8(
+  // CHECK: call <64 x i8> @llvm.x86.avx10.vcvtne2ph2hf8512(
+  // CHECK: select <64 x i1> %{{.*}}, <64 x i8> %{{.*}}, <64 x i8> %{{.*}}
+  // CHECK: ret <8 x i64> %{{.*}}
+  return _mm512_mask_cvtne2ph_phf8(__W, __U, __A, __B);
+}
+
+__m512i test_mm512_cvtne2ph2hf8s_phf8(__m512h __A, __m512h __B) {
+  // CHECK-LABEL: @test_mm512_cvtne2ph2hf8s_phf8(
+  // CHECK: call <64 x i8> @llvm.x86.avx10.vcvtne2ph2hf8s512(
+  return _mm512_cvtne2ph2hf8s_phf8(__A, __B);
+}
+
+__m512i test_mm512_mask_cvtne2ph2hf8s_phf8(__m512i __W, __mmask64 __U, __m512h __A, __m512h __B) {
+  // CHECK-LABEL: @test_mm512_mask_cvtne2ph2hf8s_phf8(
+  // CHECK: call <64 x i8> @llvm.x86.avx10.vcvtne2ph2hf8s512(
+  // CHECK: select <64 x i1> %{{.*}}, <64 x i8> %{{.*}}, <64 x i8> %{{.*}}
+  // CHECK: ret <8 x i64> %{{.*}}
+  return _mm512_mask_cvtne2ph2hf8s_phf8(__W, __U, __A, __B);
+}
+
+__m512h test_mm512_cvtnehf8_ph(__m256i __A) {
+  // CHECK-LABEL: @test_mm512_cvtnehf8_ph(
+  // CHECK: call <32 x half> @llvm.x86.avx10.mask.vcvthf82ph512(
+  return _mm512_cvtnehf8_ph(__A);
+}
+
+__m512h test_mm512_mask_cvtnehf8_ph(__m512h __A, __mmask32 __B, __m256i __C) {
+  // CHECK-LABEL: @test_mm512_mask_cvtnehf8_ph(
+  // CHECK: call <32 x half> @llvm.x86.avx10.mask.vcvthf82ph512(
+  return _mm512_mask_cvtnehf8_ph(__A, __B, __C);
+}
+
+__m512h test_mm512_maskz_cvtnehf8_ph(__mmask32 __A, __m256i __B) {
+  // CHECK-LABEL: @test_mm512_maskz_cvtnehf8_ph(
+  // CHECK: call <32 x half> @llvm.x86.avx10.mask.vcvthf82ph512(
+  return _mm512_maskz_cvtnehf8_ph(__A, __B);
+}
+
+__m256i test_mm512_cvtneph_pbf8(__m512h __A) {
+  // CHECK-LABEL: @test_mm512_cvtneph_pbf8(
+  // CHECK: call <32 x i8> @llvm.x86.avx10.mask.vcvtneph2bf8512(
+  return _mm512_cvtneph_pbf8(__A);
+}
+
+__m256i test_mm512_mask_cvtneph_pbf8(__m256i __A, __mmask32 __B, __m512h __C) {
+  // CHECK-LABEL: @test_mm512_mask_cvtneph_pbf8(
+  // CHECK: call <32 x i8> @llvm.x86.avx10.mask.vcvtneph2bf8512(
+  return _mm512_mask_cvtneph_pbf8(__A, __B, __C);
+}
+
+__m256i test_mm512_maskz_cvtneph_pbf8(__mmask32 __A, __m512h __B) {
+  // CHECK-LABEL: @test_mm512_maskz_cvtneph_pbf8(
+  // CHECK: call <32 x i8> @llvm.x86.avx10.mask.vcvtneph2bf8512(
+  return _mm512_maskz_cvtneph_pbf8(__A, __B);
+}
+
+__m256i test_mm512_cvtnesph_pbf8(__m512h __A) {
+  // CHECK-LABEL: @test_mm512_cvtnesph_pbf8(
+  // CHECK: call <32 x i8> @llvm.x86.avx10.mask.vcvtneph2bf8s512(
+  return _mm512_cvtnesph_pbf8(__A);
+}
+
+__m256i test_mm512_mask_cvtnesph_pbf8(__m256i __A, __mmask32 __B, __m512h __C) {
+  // CHECK-LABEL: @test_mm512_mask_cvtnesph_pbf8(
+  // CHECK: call <32 x i8> @llvm.x86.avx10.mask.vcvtneph2bf8s512(
+  return _mm512_mask_cvtnesph_pbf8(__A, __B, __C);
+}
+
+__m256i test_mm512_maskz_cvtnesph_pbf8(__mmask32 __A, __m512h __B) {
+  // CHECK-LABEL: @test_mm512_maskz_cvtnesph_pbf8(
+  // CHECK: call <32 x i8> @llvm.x86.avx10.mask.vcvtneph2bf8s512(
+  return _mm512_maskz_cvtnesph_pbf8(__A, __B);
+}
+
+__m256i test_mm512_cvtneph_phf8(__m512h __A) {
+  // CHECK-LABEL: @test_mm512_cvtneph_phf8(
+  // CHECK: call <32 x i8> @llvm.x86.avx10.mask.vcvtneph2hf8512(
+  return _mm512_cvtneph_phf8(__A);
+}
+
+__m256i test_mm512_mask_cvtneph_phf8(__m256i __A, __mmask32 __B, __m512h __C) {
+  // CHECK-LABEL: @test_mm512_mask_cvtneph_phf8(
+  // CHECK: call <32 x i8> @llvm.x86.avx10.mask.vcvtneph2hf8512(
+  return _mm512_mask_cvtneph_phf8(__A, __B, __C);
+}
+
+__m256i test_mm512_maskz_cvtneph_phf8(__mmask32 __A, __m512h __B) {
+  // CHECK-LABEL: @test_mm512_maskz_cvtneph_phf8(
+  // CHECK: call <32 x i8> @llvm.x86.avx10.mask.vcvtneph2hf8512(
+  return _mm512_maskz_cvtneph_phf8(__A, __B);
+}
+
+__m256i test_mm512_cvtnesph_phf8(__m512h __A) {
+  // CHECK-LABEL: @test_mm512_cvtnesph_phf8(
+  // CHECK: call <32 x i8> @llvm.x86.avx10.mask.vcvtneph2hf8s512(
+  return _mm512_cvtnesph_phf8(__A);
+}
+
+__m256i test_mm512_mask_cvtnesph_phf8(__m256i __A, __mmask32 __B, __m512h __C) {
+  // CHECK-LABEL: @test_mm512_mask_cvtnesph_phf8(
+  // CHECK: call <32 x i8> @llvm.x86.avx10.mask.vcvtneph2hf8s512(
+  return _mm512_mask_cvtnesph_phf8(__A, __B, __C);
+}
+
+__m256i test_mm512_maskz_cvtnesph_phf8(__mmask32 __A, __m512h __B) {
+  // CHECK-LABEL: @test_mm512_maskz_cvtnesph_phf8(
+  // CHECK: call <32 x i8> @llvm.x86.avx10.mask.vcvtneph2hf8s512(
+  return _mm512_maskz_cvtnesph_phf8(__A, __B);
+}
+
+__m512h test_mm512_cvtpbf8_ph(__m256i A) {
+  // CHECK-LABEL: @test_mm512_cvtpbf8_ph
+  // CHECK: sext <32 x i8> %{{.*}} to <32 x i16>
+  // CHECK: @llvm.x86.avx512.pslli.w.512
+  // CHECK: ret <32 x half> %{{.*}}
+  return _mm512_cvtpbf8_ph(A);
+}
+
+__m512h test_mm512_mask_cvtpbf8_ph(__m512h S, __mmask16 M, __m256i A) {
+  // CHECK-LABEL: @test_mm512_mask_cvtpbf8_ph
+  // CHECK: sext <32 x i8> %{{.*}} to <32 x i16>
+  // CHECK: @llvm.x86.avx512.pslli.w.512
+  // CHECK: select <32 x i1> %{{.*}}, <32 x i16> %{{.*}}, <32 x i16> %{{.*}}
+  // CHECK: ret <32 x half> %{{.*}}
+  return _mm512_mask_cvtpbf8_ph(S, M, A);
+}
+
+__m512h test_mm512_maskz_cvtpbf8_ph(__mmask16 M, __m256i A) {
+  // CHECK-LABEL: @test_mm512_maskz_cvtpbf8_ph
+  // CHECK: sext <32 x i8> %{{.*}} to <32 x i16>
+  // CHECK: select <32 x i1> %{{.*}}, <32 x i16> %{{.*}}, <32 x i16> %{{.*}}
+  // CHECK: @llvm.x86.avx512.pslli.w.512
+  // CHECK: ret <32 x half> %{{.*}}
+  return _mm512_maskz_cvtpbf8_ph(M, A);
+}
diff --git a/clang/test/CodeGen/X86/avx10_2convert-builtins.c b/clang/test/CodeGen/X86/avx10_2convert-builtins.c
new file mode 100644
index 0000000000000..e4c302d4a2358
--- /dev/null
+++ b/clang/test/CodeGen/X86/avx10_2convert-builtins.c
@@ -0,0 +1,530 @@
+// RUN: %clang_cc1 %s -flax-vector-conversions=none -ffreestanding -triple=x86_64 -target-feature +avx10.2-256 \
+// RUN: -emit-llvm -o - -Wno-invalid-feature-combination -Wall -Werror | FileCheck %s
+// RUN: %clang_cc1 %s -flax-vector-conversions=none -ffreestanding -triple=i386 -target-feature +avx10.2-256 \
+// RUN: -emit-llvm -o - -Wno-invalid-feature-combination -Wall -Werror | FileCheck %s
+
+#include <immintrin.h>
+
+__m128h test_mm_cvtx2ps_ph(__m128 __A, __m128 __B) {
+  // CHECK-LABEL: @test_mm_cvtx2ps_ph(
+  // CHECK: call <8 x half> @llvm.x86.avx10.mask.vcvt2ps2phx.128
+  return _mm_cvtx2ps_ph(__A, __B);
+}
+
+__m128h test_mm_mask_cvtx2ps_ph(__m128h __W, __mmask8 __U, __m128 __A, __m128 __B) {
+  // CHECK-LABEL: @test_mm_mask_cvtx2ps_ph(
+  // CHECK: call <8 x half> @llvm.x86.avx10.mask.vcvt2ps2phx.128
+  return _mm_mask_cvtx2ps_ph(__W, __U, __A, __B);
+}
+
+__m256h test_mm256_cvtx2ps_ph(__m256 __A, __m256 __B) {
+  // CHECK-LABEL: @test_mm256_cvtx2ps_ph(
+  // CHECK: call <16 x half> @llvm.x86.avx10.mask.vcvt2ps2phx.256
+  return _mm256_cvtx2ps_ph(__A, __B);
+}
+
+__m256h test_mm256_mask_cvtx2ps_ph(__m256h __W, __mmask16 __U, __m256 __A, __m256 __B) {
+  // CHECK-LABEL: @test_mm256_mask_cvtx2ps_ph(
+  // CHECK: call <16 x half> @llvm.x86.avx10.mask.vcvt2ps2phx.256
+  return _mm256_mask_cvtx2ps_ph(__W, __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);
+}
+
+__m128i test_mm_cvtbiasph_pbf8(__m128i __A, __m128h __B) {
+  // CHECK-LABEL: @test_mm_cvtbiasph_pbf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2bf8128(
+  return _mm_cvtbiasph_pbf8(__A, __B);
+}
+
+__m128i test_mm_mask_cvtbiasph_pbf8(__m128i __W, __mmask8 __U, __m128i __A, __m128h __B) {
+  // CHECK-LABEL: @test_mm_mask_cvtbiasph_pbf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2bf8128(
+  return _mm_mask_cvtbiasph_pbf8(__W, __U, __A, __B);
+}
+
+__m128i test_mm_maskz_cvtbiasph_pbf8(__mmask8 __U, __m128i __A, __m128h __B) {
+  // CHECK-LABEL: @test_mm_maskz_cvtbiasph_pbf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2bf8128(
+  return _mm_maskz_cvtbiasph_pbf8(__U, __A, __B);
+}
+
+__m128i test_mm256_cvtbiasph_pbf8(__m256i __A, __m256h __B) {
+  // CHECK-LABEL: @test_mm256_cvtbiasph_pbf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2bf8256(
+  return _mm256_cvtbiasph_pbf8(__A, __B);
+}
+
+__m128i test_mm256_mask_cvtbiasph_pbf8(__m128i __W, __mmask16 __U, __m256i __A, __m256h __B) {
+  // CHECK-LABEL: @test_mm256_mask_cvtbiasph_pbf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2bf8256(
+  return _mm256_mask_cvtbiasph_pbf8(__W, __U, __A, __B);
+}
+
+__m128i test_mm256_maskz_cvtbiasph_pbf8(__mmask16 __U, __m256i __A, __m256h __B) {
+  // CHECK-LABEL: @test_mm256_maskz_cvtbiasph_pbf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2bf8256(
+  return _mm256_maskz_cvtbiasph_pbf8(__U, __A, __B);
+}
+
+__m128i test_mm_cvtbiassph_pbf8(__m128i __A, __m128h __B) {
+  // CHECK-LABEL: @test_mm_cvtbiassph_pbf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2bf8s128(
+  return _mm_cvtbiassph_pbf8(__A, __B);
+}
+
+__m128i test_mm_mask_cvtbiassph_pbf8(__m128i __W, __mmask8 __U, __m128i __A, __m128h __B) {
+  // CHECK-LABEL: @test_mm_mask_cvtbiassph_pbf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2bf8s128(
+  return _mm_mask_cvtbiassph_pbf8(__W, __U, __A, __B);
+}
+
+__m128i test_mm_maskz_cvtbiassph_pbf8(__mmask8 __U, __m128i __A, __m128h __B) {
+  // CHECK-LABEL: @test_mm_maskz_cvtbiassph_pbf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2bf8s128(
+  return _mm_maskz_cvtbiassph_pbf8(__U, __A, __B);
+}
+
+__m128i test_mm256_cvtbiassph_pbf8(__m256i __A, __m256h __B) {
+  // CHECK-LABEL: @test_mm256_cvtbiassph_pbf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2bf8s256(
+  return _mm256_cvtbiassph_pbf8(__A, __B);
+}
+
+__m128i test_mm256_mask_cvtbiassph_pbf8(__m128i __W, __mmask16 __U, __m256i __A, __m256h __B) {
+  // CHECK-LABEL: @test_mm256_mask_cvtbiassph_pbf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2bf8s256(
+  return _mm256_mask_cvtbiassph_pbf8(__W, __U, __A, __B);
+}
+
+__m128i test_mm256_maskz_cvtbiassph_pbf8(__mmask16 __U, __m256i __A, __m256h __B) {
+  // CHECK-LABEL: @test_mm256_maskz_cvtbiassph_pbf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2bf8s256(
+  return _mm256_maskz_cvtbiassph_pbf8(__U, __A, __B);
+}
+
+__m128i test_mm_cvtbiasph_phf8(__m128i __A, __m128h __B) {
+  // CHECK-LABEL: @test_mm_cvtbiasph_phf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2hf8128(
+  return _mm_cvtbiasph_phf8(__A, __B);
+}
+
+__m128i test_mm_mask_cvtbiasph_phf8(__m128i __W, __mmask8 __U, __m128i __A, __m128h __B) {
+  // CHECK-LABEL: @test_mm_mask_cvtbiasph_phf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2hf8128(
+  return _mm_mask_cvtbiasph_phf8(__W, __U, __A, __B);
+}
+
+__m128i test_mm_maskz_cvtbiasph_phf8(__mmask8 __U, __m128i __A, __m128h __B) {
+  // CHECK-LABEL: @test_mm_maskz_cvtbiasph_phf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2hf8128(
+  return _mm_maskz_cvtbiasph_phf8(__U, __A, __B);
+}
+
+__m128i test_mm256_cvtbiasph_phf8(__m256i __A, __m256h __B) {
+  // CHECK-LABEL: @test_mm256_cvtbiasph_phf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2hf8256(
+  return _mm256_cvtbiasph_phf8(__A, __B);
+}
+
+__m128i test_mm256_mask_cvtbiasph_phf8(__m128i __W, __mmask16 __U, __m256i __A, __m256h __B) {
+  // CHECK-LABEL: @test_mm256_mask_cvtbiasph_phf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2hf8256(
+  return _mm256_mask_cvtbiasph_phf8(__W, __U, __A, __B);
+}
+
+__m128i test_mm256_maskz_cvtbiasph_phf8(__mmask16 __U, __m256i __A, __m256h __B) {
+  // CHECK-LABEL: @test_mm256_maskz_cvtbiasph_phf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2hf8256(
+  return _mm256_maskz_cvtbiasph_phf8(__U, __A, __B);
+}
+
+__m128i test_mm_cvtbiassph_phf8(__m128i __A, __m128h __B) {
+  // CHECK-LABEL: @test_mm_cvtbiassph_phf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2hf8s128(
+  return _mm_cvtbiassph_phf8(__A, __B);
+}
+
+__m128i test_mm_mask_cvtbiassph_phf8(__m128i __W, __mmask8 __U, __m128i __A, __m128h __B) {
+  // CHECK-LABEL: @test_mm_mask_cvtbiassph_phf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2hf8s128(
+  return _mm_mask_cvtbiassph_phf8(__W, __U, __A, __B);
+}
+
+__m128i test_mm_maskz_cvtbiassph_phf8(__mmask8 __U, __m128i __A, __m128h __B) {
+  // CHECK-LABEL: @test_mm_maskz_cvtbiassph_phf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2hf8s128(
+  return _mm_maskz_cvtbiassph_phf8(__U, __A, __B);
+}
+
+__m128i test_mm256_cvtbiassph_phf8(__m256i __A, __m256h __B) {
+  // CHECK-LABEL: @test_mm256_cvtbiassph_phf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2hf8s256(
+  return _mm256_cvtbiassph_phf8(__A, __B);
+}
+
+__m128i test_mm256_mask_cvtbiassph_phf8(__m128i __W, __mmask16 __U, __m256i __A, __m256h __B) {
+  // CHECK-LABEL: @test_mm256_mask_cvtbiassph_phf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2hf8s256(
+  return _mm256_mask_cvtbiassph_phf8(__W, __U, __A, __B);
+}
+
+__m128i test_mm256_maskz_cvtbiassph_phf8(__mmask16 __U, __m256i __A, __m256h __B) {
+  // CHECK-LABEL: @test_mm256_maskz_cvtbiassph_phf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2hf8s256(
+  return _mm256_maskz_cvtbiassph_phf8(__U, __A, __B);
+}
+
+__m128i test_mm_cvtne2ph_pbf8(__m128h __A, __m128h __B) {
+  // CHECK-LABEL: @test_mm_cvtne2ph_pbf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.vcvtne2ph2bf8128(
+  return _mm_cvtne2ph_pbf8(__A, __B);
+}
+
+__m128i test_mm_mask_cvtne2ph_pbf8(__m128i __W, __mmask16 __U, __m128h __A, __m128h __B) {
+  // CHECK-LABEL: @test_mm_mask_cvtne2ph_pbf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.vcvtne2ph2bf8128(
+  // CHECK: select <16 x i1> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}}
+  // CHECK: ret <2 x i64> %{{.*}}
+  return _mm_mask_cvtne2ph_pbf8(__W, __U, __A, __B);
+}
+
+__m256i test_mm256_cvtne2ph_pbf8(__m256h __A, __m256h __B) {
+  // CHECK-LABEL: @test_mm256_cvtne2ph_pbf8(
+  // CHECK: call <32 x i8> @llvm.x86.avx10.vcvtne2ph2bf8256(
+  return _mm256_cvtne2ph_pbf8(__A, __B);
+}
+
+__m256i test_mm256_mask_cvtne2ph_pbf8(__m256i __W, __mmask16 __U, __m256h __A, __m256h __B) {
+  // CHECK-LABEL: @test_mm256_mask_cvtne2ph_pbf8(
+  // CHECK: call <32 x i8> @llvm.x86.avx10.vcvtne2ph2bf8256(
+  // CHECK: select <32 x i1> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}}
+  // CHECK: ret <4 x i64> %{{.*}}
+  return _mm256_mask_cvtne2ph_pbf8(__W, __U, __A, __B);
+}
+
+__m128i test_mm_cvtnes2ph_pbf8(__m128h __A, __m128h __B) {
+  // CHECK-LABEL: @test_mm_cvtnes2ph_pbf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.vcvtne2ph2bf8s128(
+  return _mm_cvtnes2ph_pbf8(__A, __B);
+}
+
+__m128i test_mm_mask_cvtnes2ph_pbf8(__m128i __W, __mmask16 __U, __m128h __A, __m128h __B) {
+  // CHECK-LABEL: @test_mm_mask_cvtnes2ph_pbf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.vcvtne2ph2bf8s128(
+  // CHECK: select <16 x i1> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}}
+  // CHECK: ret <2 x i64> %{{.*}}
+  return _mm_mask_cvtnes2ph_pbf8(__W, __U, __A, __B);
+}
+
+__m256i test_mm256_cvtnes2ph_pbf8(__m256h __A, __m256h __B) {
+  // CHECK-LABEL: @test_mm256_cvtnes2ph_pbf8(
+  // CHECK: call <32 x i8> @llvm.x86.avx10.vcvtne2ph2bf8s256(
+  return _mm256_cvtnes2ph_pbf8(__A, __B);
+}
+
+__m256i test_mm256_mask_cvtnes2ph_pbf8(__m256i __W, __mmask16 __U, __m256h __A, __m256h __B) {
+  // CHECK-LABEL: @test_mm256_mask_cvtnes2ph_pbf8(
+  // CHECK: call <32 x i8> @llvm.x86.avx10.vcvtne2ph2bf8s256(
+  // CHECK: select <32 x i1> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}}
+  // CHECK: ret <4 x i64> %{{.*}}
+  return _mm256_mask_cvtnes2ph_pbf8(__W, __U, __A, __B);
+}
+
+__m128i test_mm_cvtne2ph_phf8(__m128h __A, __m128h __B) {
+  // CHECK-LABEL: @test_mm_cvtne2ph_phf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.vcvtne2ph2hf8128(
+  return _mm_cvtne2ph_phf8(__A, __B);
+}
+
+__m128i test_mm_mask_cvtne2ph_phf8(__m128i __W, __mmask16 __U, __m128h __A, __m128h __B) {
+  // CHECK-LABEL: @test_mm_mask_cvtne2ph_phf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.vcvtne2ph2hf8128(
+  // CHECK: select <16 x i1> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}}
+  // CHECK: ret <2 x i64> %{{.*}}
+  return _mm_mask_cvtne2ph_phf8(__W, __U, __A, __B);
+}
+
+__m256i test_mm256_cvtne2ph_phf8(__m256h __A, __m256h __B) {
+  // CHECK-LABEL: @test_mm256_cvtne2ph_phf8(
+  // CHECK: call <32 x i8> @llvm.x86.avx10.vcvtne2ph2hf8256(
+  return _mm256_cvtne2ph_phf8(__A, __B);
+}
+
+__m256i test_mm256_mask_cvtne2ph_phf8(__m256i __W, __mmask16 __U, __m256h __A, __m256h __B) {
+  // CHECK-LABEL: @test_mm256_mask_cvtne2ph_phf8(
+  // CHECK: call <32 x i8> @llvm.x86.avx10.vcvtne2ph2hf8256(
+  // CHECK: select <32 x i1> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}}
+  // CHECK: ret <4 x i64> %{{.*}}
+  return _mm256_mask_cvtne2ph_phf8(__W, __U, __A, __B);
+}
+
+__m128i test_mm_cvtne2ph2hf8s_phf8(__m128h __A, __m128h __B) {
+  // CHECK-LABEL: @test_mm_cvtne2ph2hf8s_phf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.vcvtne2ph2hf8s128(
+  return _mm_cvtne2ph2hf8s_phf8(__A, __B);
+}
+
+__m128i test_mm_mask_cvtne2ph2hf8s_phf8(__m128i __W, __mmask16 __U, __m128h __A, __m128h __B) {
+  // CHECK-LABEL: @test_mm_mask_cvtne2ph2hf8s_phf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.vcvtne2ph2hf8s128(
+  // CHECK: select <16 x i1> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}}
+  // CHECK: ret <2 x i64> %{{.*}}
+  return _mm_mask_cvtne2ph2hf8s_phf8(__W, __U, __A, __B);
+}
+
+__m256i test_mm256_cvtne2ph2hf8s_phf8(__m256h __A, __m256h __B) {
+  // CHECK-LABEL: @test_mm256_cvtne2ph2hf8s_phf8(
+  // CHECK: call <32 x i8> @llvm.x86.avx10.vcvtne2ph2hf8s256(
+  return _mm256_cvtne2ph2hf8s_phf8(__A, __B);
+}
+
+__m256i test_mm256_mask_cvtne2ph2hf8s_phf8(__m256i __W, __mmask16 __U, __m256h __A, __m256h __B) {
+  // CHECK-LABEL: @test_mm256_mask_cvtne2ph2hf8s_phf8(
+  // CHECK: call <32 x i8> @llvm.x86.avx10.vcvtne2ph2hf8s256(
+  // CHECK: select <32 x i1> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}}
+  // CHECK: ret <4 x i64> %{{.*}}
+  return _mm256_mask_cvtne2ph2hf8s_phf8(__W, __U, __A, __B);
+}
+
+__m128h test_mm_cvtnehf8_ph(__m128i __A) {
+  // CHECK-LABEL: @test_mm_cvtnehf8_ph(
+  // CHECK: call <8 x half> @llvm.x86.avx10.mask.vcvthf82ph128(
+  return _mm_cvtnehf8_ph(__A);
+}
+
+__m128h test_mm_mask_cvtnehf8_ph(__m128h __A, __mmask8 __B, __m128i __C) {
+  // CHECK-LABEL: @test_mm_mask_cvtnehf8_ph(
+  // CHECK: call <8 x half> @llvm.x86.avx10.mask.vcvthf82ph128(
+  return _mm_mask_cvtnehf8_ph(__A, __B, __C);
+}
+
+__m128h test_mm_maskz_cvtnehf8_ph(__mmask8 __A, __m128i __B) {
+  // CHECK-LABEL: @test_mm_maskz_cvtnehf8_ph(
+  // CHECK: call <8 x half> @llvm.x86.avx10.mask.vcvthf82ph128(
+  return _mm_maskz_cvtnehf8_ph(__A, __B);
+}
+
+__m256h test_mm256_cvtnehf8_ph(__m128i __A) {
+  // CHECK-LABEL: @test_mm256_cvtnehf8_ph(
+  // CHECK: call <16 x half> @llvm.x86.avx10.mask.vcvthf82ph256(
+  return _mm256_cvtnehf8_ph(__A);
+}
+
+__m256h test_mm256_mask_cvtnehf8_ph(__m256h __A, __mmask16 __B, __m128i __C) {
+  // CHECK-LABEL: @test_mm256_mask_cvtnehf8_ph(
+  // CHECK: call <16 x half> @llvm.x86.avx10.mask.vcvthf82ph256(
+  return _mm256_mask_cvtnehf8_ph(__A, __B, __C);
+}
+
+__m256h test_mm256_maskz_cvtnehf8_ph(__mmask16 __A, __m128i __B) {
+  // CHECK-LABEL: @test_mm256_maskz_cvtnehf8_ph(
+  // CHECK: call <16 x half> @llvm.x86.avx10.mask.vcvthf82ph256(
+  return _mm256_maskz_cvtnehf8_ph(__A, __B);
+}
+
+__m128i test_mm_cvtneph_pbf8(__m128h __A) {
+  // CHECK-LABEL: @test_mm_cvtneph_pbf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtneph2bf8128(
+  return _mm_cvtneph_pbf8(__A);
+}
+
+__m128i test_mm_mask_cvtneph_pbf8(__m128i __A, __mmask8 __B, __m128h __C) {
+  // CHECK-LABEL: @test_mm_mask_cvtneph_pbf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtneph2bf8128(
+  return _mm_mask_cvtneph_pbf8(__A, __B, __C);
+}
+
+__m128i test_mm_maskz_cvtneph_pbf8(__mmask8 __A, __m128h __B) {
+  // CHECK-LABEL: @test_mm_maskz_cvtneph_pbf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtneph2bf8128(
+  return _mm_maskz_cvtneph_pbf8(__A, __B);
+}
+
+__m128i test_mm256_cvtneph_pbf8(__m256h __A) {
+  // CHECK-LABEL: @test_mm256_cvtneph_pbf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtneph2bf8256(
+  return _mm256_cvtneph_pbf8(__A);
+}
+
+__m128i test_mm256_mask_cvtneph_pbf8(__m128i __A, __mmask16 __B, __m256h __C) {
+  // CHECK-LABEL: @test_mm256_mask_cvtneph_pbf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtneph2bf8256(
+  return _mm256_mask_cvtneph_pbf8(__A, __B, __C);
+}
+
+__m128i test_mm256_maskz_cvtneph_pbf8(__mmask16 __A, __m256h __B) {
+  // CHECK-LABEL: @test_mm256_maskz_cvtneph_pbf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtneph2bf8256(
+  return _mm256_maskz_cvtneph_pbf8(__A, __B);
+}
+
+__m128i test_mm_cvtnesph_pbf8(__m128h __A) {
+  // CHECK-LABEL: @test_mm_cvtnesph_pbf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtneph2bf8s128(
+  return _mm_cvtnesph_pbf8(__A);
+}
+
+__m128i test_mm_mask_cvtnesph_pbf8(__m128i __A, __mmask8 __B, __m128h __C) {
+  // CHECK-LABEL: @test_mm_mask_cvtnesph_pbf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtneph2bf8s128(
+  return _mm_mask_cvtnesph_pbf8(__A, __B, __C);
+}
+
+__m128i test_mm_maskz_cvtnesph_pbf8(__mmask8 __A, __m128h __B) {
+  // CHECK-LABEL: @test_mm_maskz_cvtnesph_pbf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtneph2bf8s128(
+  return _mm_maskz_cvtnesph_pbf8(__A, __B);
+}
+
+__m128i test_mm256_cvtnesph_pbf8(__m256h __A) {
+  // CHECK-LABEL: @test_mm256_cvtnesph_pbf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtneph2bf8s256(
+  return _mm256_cvtnesph_pbf8(__A);
+}
+
+__m128i test_mm256_mask_cvtnesph_pbf8(__m128i __A, __mmask16 __B, __m256h __C) {
+  // CHECK-LABEL: @test_mm256_mask_cvtnesph_pbf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtneph2bf8s256(
+  return _mm256_mask_cvtnesph_pbf8(__A, __B, __C);
+}
+
+__m128i test_mm256_maskz_cvtnesph_pbf8(__mmask16 __A, __m256h __B) {
+  // CHECK-LABEL: @test_mm256_maskz_cvtnesph_pbf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtneph2bf8s256(
+  return _mm256_maskz_cvtnesph_pbf8(__A, __B);
+}
+
+__m128i test_mm_cvtneph_phf8(__m128h __A) {
+  // CHECK-LABEL: @test_mm_cvtneph_phf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtneph2hf8128(
+  return _mm_cvtneph_phf8(__A);
+}
+
+__m128i test_mm_mask_cvtneph_phf8(__m128i __A, __mmask8 __B, __m128h __C) {
+  // CHECK-LABEL: @test_mm_mask_cvtneph_phf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtneph2hf8128(
+  return _mm_mask_cvtneph_phf8(__A, __B, __C);
+}
+
+__m128i test_mm_maskz_cvtneph_phf8(__mmask8 __A, __m128h __B) {
+  // CHECK-LABEL: @test_mm_maskz_cvtneph_phf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtneph2hf8128(
+  return _mm_maskz_cvtneph_phf8(__A, __B);
+}
+
+__m128i test_mm256_cvtneph_phf8(__m256h __A) {
+  // CHECK-LABEL: @test_mm256_cvtneph_phf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtneph2hf8256(
+  return _mm256_cvtneph_phf8(__A);
+}
+
+__m128i test_mm256_mask_cvtneph_phf8(__m128i __A, __mmask16 __B, __m256h __C) {
+  // CHECK-LABEL: @test_mm256_mask_cvtneph_phf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtneph2hf8256(
+  return _mm256_mask_cvtneph_phf8(__A, __B, __C);
+}
+
+__m128i test_mm256_maskz_cvtneph_phf8(__mmask16 __A, __m256h __B) {
+  // CHECK-LABEL: @test_mm256_maskz_cvtneph_phf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtneph2hf8256(
+  return _mm256_maskz_cvtneph_phf8(__A, __B);
+}
+
+__m128i test_mm_cvtnesph_phf8(__m128h __A) {
+  // CHECK-LABEL: @test_mm_cvtnesph_phf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtneph2hf8s128(
+  return _mm_cvtnesph_phf8(__A);
+}
+
+__m128i test_mm_mask_cvtnesph_phf8(__m128i __A, __mmask8 __B, __m128h __C) {
+  // CHECK-LABEL: @test_mm_mask_cvtnesph_phf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtneph2hf8s128(
+  return _mm_mask_cvtnesph_phf8(__A, __B, __C);
+}
+
+__m128i test_mm_maskz_cvtnesph_phf8(__mmask8 __A, __m128h __B) {
+  // CHECK-LABEL: @test_mm_maskz_cvtnesph_phf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtneph2hf8s128(
+  return _mm_maskz_cvtnesph_phf8(__A, __B);
+}
+
+__m128i test_mm256_cvtnesph_phf8(__m256h __A) {
+  // CHECK-LABEL: @test_mm256_cvtnesph_phf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtneph2hf8s256(
+  return _mm256_cvtnesph_phf8(__A);
+}
+
+__m128i test_mm256_mask_cvtnesph_phf8(__m128i __A, __mmask16 __B, __m256h __C) {
+  // CHECK-LABEL: @test_mm256_mask_cvtnesph_phf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtneph2hf8s256(
+  return _mm256_mask_cvtnesph_phf8(__A, __B, __C);
+}
+
+__m128i test_mm256_maskz_cvtnesph_phf8(__mmask16 __A, __m256h __B) {
+  // CHECK-LABEL: @test_mm256_maskz_cvtnesph_phf8(
+  // CHECK: call <16 x i8> @llvm.x86.avx10.mask.vcvtneph2hf8s256(
+  return _mm256_maskz_cvtnesph_phf8(__A, __B);
+}
+
+__m256h test_mm256_cvtpbf8_ph(__m128i A) {
+  // CHECK-LABEL: @test_mm256_cvtpbf8_ph
+  // CHECK: sext <16 x i8> %{{.*}} to <16 x i16>
+  // CHECK: @llvm.x86.avx2.pslli.w
+  // CHECK: ret <16 x half> %{{.*}}
+  return _mm256_cvtpbf8_ph(A);
+}
+
+__m256h test_mm256_mask_cvtpbf8_ph(__m256h S, __mmask16 M, __m128i A) {
+  // CHECK-LABEL: @test_mm256_mask_cvtpbf8_ph
+  // CHECK: sext <16 x i8> %{{.*}} to <16 x i16>
+  // CHECK: @llvm.x86.avx2.pslli.w
+  // CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
+  // CHECK: ret <16 x half> %{{.*}}
+  return _mm256_mask_cvtpbf8_ph(S, M, A);
+}
+
+__m256h test_mm256_maskz_cvtpbf8_ph(__mmask16 M, __m128i A) {
+  // CHECK-LABEL: @test_mm256_maskz_cvtpbf8_ph
+  // CHECK: sext <16 x i8> %{{.*}} to <16 x i16>
+  // CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
+  // CHECK: @llvm.x86.avx2.pslli.w
+  // CHECK: ret <16 x half> %{{.*}}
+  return _mm256_maskz_cvtpbf8_ph(M, A);
+}
+
+__m128h test_mm_cvtpbf8_ph(__m128i A) {
+  // CHECK-LABEL: @test_mm_cvtpbf8_ph
+  // CHECK: sext <8 x i8> %{{.*}} to <8 x i16>
+  // CHECK: @llvm.x86.sse2.pslli.w
+  // CHECK: ret <8 x half> %{{.*}}
+  return _mm_cvtpbf8_ph(A);
+}
+
+__m128h test_mm_mask_cvtpbf8_ph(__m128h S, __mmask8 M, __m128i A) {
+  // CHECK-LABEL: @test_mm_mask_cvtpbf8_ph
+  // CHECK: sext <8 x i8> %{{.*}} to <8 x i16>
+  // CHECK: @llvm.x86.sse2.pslli.w
+  // CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
+  // CHECK: ret <8 x half> %{{.*}}
+  return _mm_mask_cvtpbf8_ph(S, M, A);
+}
+
+__m128h test_mm_maskz_cvtpbf8_ph(__mmask8 M, __m128i A) {
+  // CHECK-LABEL: @test_mm_maskz_cvtpbf8_ph
+  // CHECK: sext <8 x i8> %{{.*}} to <8 x i16>
+  // CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
+  // CHECK: @llvm.x86.sse2.pslli.w
+  // CHECK: ret <8 x half> %{{.*}}
+  return _mm_maskz_cvtpbf8_ph(M, A);
+}
diff --git a/llvm/include/llvm/IR/IntrinsicsX86.td b/llvm/include/llvm/IR/IntrinsicsX86.td
index 7160c8dfa7600..84ff6d9af96fd 100644
--- a/llvm/include/llvm/IR/IntrinsicsX86.td
+++ b/llvm/include/llvm/IR/IntrinsicsX86.td
@@ -6898,3 +6898,133 @@ def int_x86_avx10_mask_vminmaxss_round : ClangBuiltin<"__builtin_ia32_vminmaxss_
         Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, llvm_v4f32_ty, llvm_i32_ty, llvm_v4f32_ty, llvm_i8_ty, llvm_i32_ty],
                   [IntrNoMem, ImmArg<ArgIndex<2>>, ImmArg<ArgIndex<5>>]>;
 }
+
+//===----------------------------------------------------------------------===//
+let TargetPrefix = "x86" in {
+def int_x86_avx10_mask_vcvt2ps2phx_128 : ClangBuiltin<"__builtin_ia32_vcvt2ps2phx128_mask">,
+        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>>]>;
+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>>]>;
+def int_x86_avx10_mask_vcvtbiasph2bf8128 : ClangBuiltin<"__builtin_ia32_vcvtbiasph2bf8_128_mask">,
+        DefaultAttrsIntrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v8f16_ty, llvm_v16i8_ty, llvm_i8_ty],
+                  [IntrNoMem]>;
+def int_x86_avx10_mask_vcvtbiasph2bf8256 : ClangBuiltin<"__builtin_ia32_vcvtbiasph2bf8_256_mask">,
+        DefaultAttrsIntrinsic<[llvm_v16i8_ty], [llvm_v32i8_ty, llvm_v16f16_ty, llvm_v16i8_ty, llvm_i16_ty],
+                  [IntrNoMem]>;
+def int_x86_avx10_mask_vcvtbiasph2bf8512 : ClangBuiltin<"__builtin_ia32_vcvtbiasph2bf8_512_mask">,
+        DefaultAttrsIntrinsic<[llvm_v32i8_ty], [llvm_v64i8_ty, llvm_v32f16_ty, llvm_v32i8_ty, llvm_i32_ty],
+                  [IntrNoMem]>;
+def int_x86_avx10_mask_vcvtbiasph2bf8s128 : ClangBuiltin<"__builtin_ia32_vcvtbiasph2bf8s_128_mask">,
+        DefaultAttrsIntrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v8f16_ty, llvm_v16i8_ty, llvm_i8_ty],
+                  [IntrNoMem]>;
+def int_x86_avx10_mask_vcvtbiasph2bf8s256 : ClangBuiltin<"__builtin_ia32_vcvtbiasph2bf8s_256_mask">,
+        DefaultAttrsIntrinsic<[llvm_v16i8_ty], [llvm_v32i8_ty, llvm_v16f16_ty, llvm_v16i8_ty, llvm_i16_ty],
+                  [IntrNoMem]>;
+def int_x86_avx10_mask_vcvtbiasph2bf8s512 : ClangBuiltin<"__builtin_ia32_vcvtbiasph2bf8s_512_mask">,
+        DefaultAttrsIntrinsic<[llvm_v32i8_ty], [llvm_v64i8_ty, llvm_v32f16_ty, llvm_v32i8_ty, llvm_i32_ty],
+                  [IntrNoMem]>;
+def int_x86_avx10_mask_vcvtbiasph2hf8128 : ClangBuiltin<"__builtin_ia32_vcvtbiasph2hf8_128_mask">,
+        DefaultAttrsIntrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v8f16_ty, llvm_v16i8_ty, llvm_i8_ty],
+                  [IntrNoMem]>;
+def int_x86_avx10_mask_vcvtbiasph2hf8256 : ClangBuiltin<"__builtin_ia32_vcvtbiasph2hf8_256_mask">,
+        DefaultAttrsIntrinsic<[llvm_v16i8_ty], [llvm_v32i8_ty, llvm_v16f16_ty, llvm_v16i8_ty, llvm_i16_ty],
+                  [IntrNoMem]>;
+def int_x86_avx10_mask_vcvtbiasph2hf8512 : ClangBuiltin<"__builtin_ia32_vcvtbiasph2hf8_512_mask">,
+        DefaultAttrsIntrinsic<[llvm_v32i8_ty], [llvm_v64i8_ty, llvm_v32f16_ty, llvm_v32i8_ty, llvm_i32_ty],
+                  [IntrNoMem]>;
+def int_x86_avx10_mask_vcvtbiasph2hf8s128 : ClangBuiltin<"__builtin_ia32_vcvtbiasph2hf8s_128_mask">,
+        DefaultAttrsIntrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v8f16_ty, llvm_v16i8_ty, llvm_i8_ty],
+                  [IntrNoMem]>;
+def int_x86_avx10_mask_vcvtbiasph2hf8s256 : ClangBuiltin<"__builtin_ia32_vcvtbiasph2hf8s_256_mask">,
+        DefaultAttrsIntrinsic<[llvm_v16i8_ty], [llvm_v32i8_ty, llvm_v16f16_ty, llvm_v16i8_ty, llvm_i16_ty],
+                  [IntrNoMem]>;
+def int_x86_avx10_mask_vcvtbiasph2hf8s512 : ClangBuiltin<"__builtin_ia32_vcvtbiasph2hf8s_512_mask">,
+        DefaultAttrsIntrinsic<[llvm_v32i8_ty], [llvm_v64i8_ty, llvm_v32f16_ty, llvm_v32i8_ty, llvm_i32_ty],
+                  [IntrNoMem]>;
+def int_x86_avx10_vcvtne2ph2bf8128 : ClangBuiltin<"__builtin_ia32_vcvtne2ph2bf8_128">,
+        DefaultAttrsIntrinsic<[llvm_v16i8_ty], [llvm_v8f16_ty, llvm_v8f16_ty],
+                  [IntrNoMem]>;
+def int_x86_avx10_vcvtne2ph2bf8256 : ClangBuiltin<"__builtin_ia32_vcvtne2ph2bf8_256">,
+        DefaultAttrsIntrinsic<[llvm_v32i8_ty], [llvm_v16f16_ty, llvm_v16f16_ty],
+                  [IntrNoMem]>;
+def int_x86_avx10_vcvtne2ph2bf8512 : ClangBuiltin<"__builtin_ia32_vcvtne2ph2bf8_512">,
+        DefaultAttrsIntrinsic<[llvm_v64i8_ty], [llvm_v32f16_ty, llvm_v32f16_ty],
+                  [IntrNoMem]>;
+def int_x86_avx10_vcvtne2ph2bf8s128 : ClangBuiltin<"__builtin_ia32_vcvtne2ph2bf8s_128">,
+        DefaultAttrsIntrinsic<[llvm_v16i8_ty], [llvm_v8f16_ty, llvm_v8f16_ty],
+                  [IntrNoMem]>;
+def int_x86_avx10_vcvtne2ph2bf8s256 : ClangBuiltin<"__builtin_ia32_vcvtne2ph2bf8s_256">,
+        DefaultAttrsIntrinsic<[llvm_v32i8_ty], [llvm_v16f16_ty, llvm_v16f16_ty],
+                  [IntrNoMem]>;
+def int_x86_avx10_vcvtne2ph2bf8s512 : ClangBuiltin<"__builtin_ia32_vcvtne2ph2bf8s_512">,
+        DefaultAttrsIntrinsic<[llvm_v64i8_ty], [llvm_v32f16_ty, llvm_v32f16_ty],
+                  [IntrNoMem]>;
+def int_x86_avx10_vcvtne2ph2hf8128 : ClangBuiltin<"__builtin_ia32_vcvtne2ph2hf8_128">,
+        DefaultAttrsIntrinsic<[llvm_v16i8_ty], [llvm_v8f16_ty, llvm_v8f16_ty],
+                  [IntrNoMem]>;
+def int_x86_avx10_vcvtne2ph2hf8256 : ClangBuiltin<"__builtin_ia32_vcvtne2ph2hf8_256">,
+        DefaultAttrsIntrinsic<[llvm_v32i8_ty], [llvm_v16f16_ty, llvm_v16f16_ty],
+                  [IntrNoMem]>;
+def int_x86_avx10_vcvtne2ph2hf8512 : ClangBuiltin<"__builtin_ia32_vcvtne2ph2hf8_512">,
+        DefaultAttrsIntrinsic<[llvm_v64i8_ty], [llvm_v32f16_ty, llvm_v32f16_ty],
+                  [IntrNoMem]>;
+def int_x86_avx10_vcvtne2ph2hf8s128 : ClangBuiltin<"__builtin_ia32_vcvtne2ph2hf8s_128">,
+        DefaultAttrsIntrinsic<[llvm_v16i8_ty], [llvm_v8f16_ty, llvm_v8f16_ty],
+                  [IntrNoMem]>;
+def int_x86_avx10_vcvtne2ph2hf8s256 : ClangBuiltin<"__builtin_ia32_vcvtne2ph2hf8s_256">,
+        DefaultAttrsIntrinsic<[llvm_v32i8_ty], [llvm_v16f16_ty, llvm_v16f16_ty],
+                  [IntrNoMem]>;
+def int_x86_avx10_vcvtne2ph2hf8s512 : ClangBuiltin<"__builtin_ia32_vcvtne2ph2hf8s_512">,
+        DefaultAttrsIntrinsic<[llvm_v64i8_ty], [llvm_v32f16_ty, llvm_v32f16_ty],
+                  [IntrNoMem]>;
+def int_x86_avx10_mask_vcvthf82ph128 : ClangBuiltin<"__builtin_ia32_vcvtnehf8_2ph128_mask">,
+        DefaultAttrsIntrinsic<[llvm_v8f16_ty], [llvm_v16i8_ty, llvm_v8f16_ty, llvm_i8_ty],
+                  [IntrNoMem]>;
+def int_x86_avx10_mask_vcvthf82ph256 : ClangBuiltin<"__builtin_ia32_vcvtnehf8_2ph256_mask">,
+        DefaultAttrsIntrinsic<[llvm_v16f16_ty], [llvm_v16i8_ty, llvm_v16f16_ty, llvm_i16_ty],
+                  [IntrNoMem]>;
+def int_x86_avx10_mask_vcvthf82ph512 : ClangBuiltin<"__builtin_ia32_vcvtnehf8_2ph512_mask">,
+        DefaultAttrsIntrinsic<[llvm_v32f16_ty], [llvm_v32i8_ty, llvm_v32f16_ty, llvm_i32_ty],
+                  [IntrNoMem]>;
+def int_x86_avx10_mask_vcvtneph2bf8128 : ClangBuiltin<"__builtin_ia32_vcvtneph2bf8_128_mask">,
+        DefaultAttrsIntrinsic<[llvm_v16i8_ty], [llvm_v8f16_ty, llvm_v16i8_ty, llvm_i8_ty],
+                  [IntrNoMem]>;
+def int_x86_avx10_mask_vcvtneph2bf8256 : ClangBuiltin<"__builtin_ia32_vcvtneph2bf8_256_mask">,
+        DefaultAttrsIntrinsic<[llvm_v16i8_ty], [llvm_v16f16_ty, llvm_v16i8_ty, llvm_i16_ty],
+                  [IntrNoMem]>;
+def int_x86_avx10_mask_vcvtneph2bf8512 : ClangBuiltin<"__builtin_ia32_vcvtneph2bf8_512_mask">,
+        DefaultAttrsIntrinsic<[llvm_v32i8_ty], [llvm_v32f16_ty, llvm_v32i8_ty, llvm_i32_ty],
+                  [IntrNoMem]>;
+def int_x86_avx10_mask_vcvtneph2bf8s128 : ClangBuiltin<"__builtin_ia32_vcvtneph2bf8s_128_mask">,
+        DefaultAttrsIntrinsic<[llvm_v16i8_ty], [llvm_v8f16_ty, llvm_v16i8_ty, llvm_i8_ty],
+                  [IntrNoMem]>;
+def int_x86_avx10_mask_vcvtneph2bf8s256 : ClangBuiltin<"__builtin_ia32_vcvtneph2bf8s_256_mask">,
+        DefaultAttrsIntrinsic<[llvm_v16i8_ty], [llvm_v16f16_ty, llvm_v16i8_ty, llvm_i16_ty],
+                  [IntrNoMem]>;
+def int_x86_avx10_mask_vcvtneph2bf8s512 : ClangBuiltin<"__builtin_ia32_vcvtneph2bf8s_512_mask">,
+        DefaultAttrsIntrinsic<[llvm_v32i8_ty], [llvm_v32f16_ty, llvm_v32i8_ty, llvm_i32_ty],
+                  [IntrNoMem]>;
+def int_x86_avx10_mask_vcvtneph2hf8128 : ClangBuiltin<"__builtin_ia32_vcvtneph2hf8_128_mask">,
+        DefaultAttrsIntrinsic<[llvm_v16i8_ty], [llvm_v8f16_ty, llvm_v16i8_ty, llvm_i8_ty],
+                  [IntrNoMem]>;
+def int_x86_avx10_mask_vcvtneph2hf8256 : ClangBuiltin<"__builtin_ia32_vcvtneph2hf8_256_mask">,
+        DefaultAttrsIntrinsic<[llvm_v16i8_ty], [llvm_v16f16_ty, llvm_v16i8_ty, llvm_i16_ty],
+                  [IntrNoMem]>;
+def int_x86_avx10_mask_vcvtneph2hf8512 : ClangBuiltin<"__builtin_ia32_vcvtneph2hf8_512_mask">,
+        DefaultAttrsIntrinsic<[llvm_v32i8_ty], [llvm_v32f16_ty, llvm_v32i8_ty, llvm_i32_ty],
+                  [IntrNoMem]>;
+def int_x86_avx10_mask_vcvtneph2hf8s128 : ClangBuiltin<"__builtin_ia32_vcvtneph2hf8s_128_mask">,
+        DefaultAttrsIntrinsic<[llvm_v16i8_ty], [llvm_v8f16_ty, llvm_v16i8_ty, llvm_i8_ty],
+                  [IntrNoMem]>;
+def int_x86_avx10_mask_vcvtneph2hf8s256 : ClangBuiltin<"__builtin_ia32_vcvtneph2hf8s_256_mask">,
+        DefaultAttrsIntrinsic<[llvm_v16i8_ty], [llvm_v16f16_ty, llvm_v16i8_ty, llvm_i16_ty],
+                  [IntrNoMem]>;
+def int_x86_avx10_mask_vcvtneph2hf8s512 : ClangBuiltin<"__builtin_ia32_vcvtneph2hf8s_512_mask">,
+        DefaultAttrsIntrinsic<[llvm_v32i8_ty], [llvm_v32f16_ty, llvm_v32i8_ty, llvm_i32_ty],
+                  [IntrNoMem]>;
+}
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp
index fe1865409a265..7212478f93894 100644
--- a/llvm/lib/Target/X86/X86ISelLowering.cpp
+++ b/llvm/lib/Target/X86/X86ISelLowering.cpp
@@ -26113,6 +26113,21 @@ SDValue X86TargetLowering::LowerINTRINSIC_WO_CHAIN(SDValue Op,
       return DAG.getNode(IntrData->Opc1, dl, Op.getValueType(),
                          {Src, PassThru, Mask});
     }
+    case TRUNCATE_TO_REG2: {
+      SDValue Src = Op.getOperand(1);
+      SDValue Src2 = Op.getOperand(2);
+      SDValue PassThru = Op.getOperand(3);
+      SDValue Mask = Op.getOperand(4);
+
+      if (isAllOnesConstant(Mask))
+        return DAG.getNode(IntrData->Opc0, dl, Op.getValueType(), {Src, Src2});
+
+      MVT Src2VT = Src2.getSimpleValueType();
+      MVT MaskVT = MVT::getVectorVT(MVT::i1, Src2VT.getVectorNumElements());
+      Mask = getMaskNode(Mask, MaskVT, Subtarget, DAG, dl);
+      return DAG.getNode(IntrData->Opc1, dl, Op.getValueType(),
+                         {Src, Src2, PassThru, Mask});
+    }
     case CVTPS2PH_MASK: {
       SDValue Src = Op.getOperand(1);
       SDValue Rnd = Op.getOperand(2);
@@ -34062,6 +34077,29 @@ const char *X86TargetLowering::getTargetNodeName(unsigned Opcode) const {
   NODE_NAME_CASE(VMINMAX_SAE)
   NODE_NAME_CASE(VMINMAXS)
   NODE_NAME_CASE(VMINMAXS_SAE)
+  NODE_NAME_CASE(VCVTNE2PH2BF8)
+  NODE_NAME_CASE(VCVTNE2PH2BF8S)
+  NODE_NAME_CASE(VCVTNE2PH2HF8)
+  NODE_NAME_CASE(VCVTNE2PH2HF8S)
+  NODE_NAME_CASE(VCVTBIASPH2BF8)
+  NODE_NAME_CASE(VCVTBIASPH2BF8S)
+  NODE_NAME_CASE(VCVTBIASPH2HF8)
+  NODE_NAME_CASE(VCVTBIASPH2HF8S)
+  NODE_NAME_CASE(VCVTNEPH2BF8)
+  NODE_NAME_CASE(VCVTNEPH2BF8S)
+  NODE_NAME_CASE(VCVTNEPH2HF8)
+  NODE_NAME_CASE(VCVTNEPH2HF8S)
+  NODE_NAME_CASE(VMCVTBIASPH2BF8)
+  NODE_NAME_CASE(VMCVTBIASPH2BF8S)
+  NODE_NAME_CASE(VMCVTBIASPH2HF8)
+  NODE_NAME_CASE(VMCVTBIASPH2HF8S)
+  NODE_NAME_CASE(VMCVTNEPH2BF8)
+  NODE_NAME_CASE(VMCVTNEPH2BF8S)
+  NODE_NAME_CASE(VMCVTNEPH2HF8)
+  NODE_NAME_CASE(VMCVTNEPH2HF8S)
+  NODE_NAME_CASE(VCVTHF82PH)
+  NODE_NAME_CASE(VCVT2PS2PHX)
+  NODE_NAME_CASE(VCVT2PS2PHX_RND)
   NODE_NAME_CASE(AESENC128KL)
   NODE_NAME_CASE(AESDEC128KL)
   NODE_NAME_CASE(AESENC256KL)
diff --git a/llvm/lib/Target/X86/X86ISelLowering.h b/llvm/lib/Target/X86/X86ISelLowering.h
index 7642a528fb22e..31536badc9fa0 100644
--- a/llvm/lib/Target/X86/X86ISelLowering.h
+++ b/llvm/lib/Target/X86/X86ISelLowering.h
@@ -602,6 +602,30 @@ namespace llvm {
 
     MPSADBW,
 
+    VCVT2PS2PHX,
+    VCVT2PS2PHX_RND,
+    VCVTNE2PH2BF8,
+    VCVTNE2PH2BF8S,
+    VCVTNE2PH2HF8,
+    VCVTNE2PH2HF8S,
+    VCVTBIASPH2BF8,
+    VCVTBIASPH2BF8S,
+    VCVTBIASPH2HF8,
+    VCVTBIASPH2HF8S,
+    VCVTNEPH2BF8,
+    VCVTNEPH2BF8S,
+    VCVTNEPH2HF8,
+    VCVTNEPH2HF8S,
+    VMCVTBIASPH2BF8,
+    VMCVTBIASPH2BF8S,
+    VMCVTBIASPH2HF8,
+    VMCVTBIASPH2HF8S,
+    VMCVTNEPH2BF8,
+    VMCVTNEPH2BF8S,
+    VMCVTNEPH2HF8,
+    VMCVTNEPH2HF8S,
+    VCVTHF82PH,
+
     // Compress and expand.
     COMPRESS,
     EXPAND,
diff --git a/llvm/lib/Target/X86/X86InstrAVX10.td b/llvm/lib/Target/X86/X86InstrAVX10.td
index 920317ded15c6..c4f41fa574cf6 100644
--- a/llvm/lib/Target/X86/X86InstrAVX10.td
+++ b/llvm/lib/Target/X86/X86InstrAVX10.td
@@ -417,3 +417,434 @@ defm VMINMAXSH : avx10_minmax_scalar<"vminmaxsh", v8f16x_info, X86vminmaxs, X86v
                  AVX512PSIi8Base, VEX_LIG, EVEX, VVVV, EVEX_CD8<16, CD8VT1>, TA;
 defm VMINMAXSS : avx10_minmax_scalar<"vminmaxss", v4f32x_info, X86vminmaxs, X86vminmaxsSae>,
                  AVX512AIi8Base, VEX_LIG, EVEX, VVVV, EVEX_CD8<32, CD8VT1>;
+
+//-------------------------------------------------
+// AVX10 CONVERT instructions
+//-------------------------------------------------
+
+multiclass avx10_cvt2ps2ph_rc<bits<8> opc, string OpcodeStr, X86FoldableSchedWrite sched,
+                                  X86VectorVTInfo _Src, X86VectorVTInfo _,
+                                  SDNode OpNodeRnd> {
+  let Uses = [MXCSR] in
+    defm rrb : AVX512_maskable<opc, MRMSrcReg, _, (outs _.RC:$dst),
+                            (ins _Src.RC:$src1, _Src.RC:$src2, AVX512RC:$rc), OpcodeStr,
+                            "$rc, $src2, $src1", "$src1, $src2, $rc",
+                            (_.VT (OpNodeRnd (_Src.VT _Src.RC:$src1),
+                                             (_Src.VT _Src.RC:$src2), (i32 timm:$rc)))>,
+                            EVEX, VVVV, EVEX_B, EVEX_RC, PD, Sched<[sched]>;
+}
+
+multiclass avx10_cvt2ps2ph<bits<8> opc, string OpcodeStr,
+                             X86SchedWriteWidths sched,
+                             AVX512VLVectorVTInfo _SrcVTInfo,
+                             AVX512VLVectorVTInfo _DstVTInfo,
+                             SDNode OpNode, SDNode OpNodeRnd> {
+  let Predicates = [HasAVX10_2_512], Uses = [MXCSR] in {
+    defm Z : avx512_binop_rm2<opc, OpcodeStr, sched.ZMM, OpNode,
+                                   _SrcVTInfo.info512, _DstVTInfo.info512,
+                                   _SrcVTInfo.info512>,
+             avx10_cvt2ps2ph_rc<opc, OpcodeStr, sched.ZMM,
+                                 _SrcVTInfo.info512, _DstVTInfo.info512,
+                                 OpNodeRnd>,
+                                 EVEX_V512, EVEX_CD8<32, CD8VF>;
+  }
+  let Predicates = [HasAVX10_2] in {
+    defm Z256 : avx512_binop_rm2<opc, OpcodeStr, sched.YMM, OpNode,
+                                      _SrcVTInfo.info256, _DstVTInfo.info256,
+                                      _SrcVTInfo.info256>,
+                                      EVEX_V256, EVEX_CD8<32, CD8VF>;
+    defm Z128 : avx512_binop_rm2<opc, OpcodeStr, sched.XMM, OpNode,
+                                      _SrcVTInfo.info128, _DstVTInfo.info128,
+                                      _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",
+                                    SchedWriteCvtPD2PS,
+                                    avx512vl_f32_info, avx512vl_f16_info,
+                                    X86vcvt2ps2phx, X86vcvt2ps2phxRnd>, T8;
+
+multiclass avx10_binop_all<bits<8> opc, string OpcodeStr,
+                             X86SchedWriteWidths sched,
+                             AVX512VLVectorVTInfo _SrcVTInfo,
+                             AVX512VLVectorVTInfo _DstVTInfo,
+                             SDNode OpNode,
+                             bit IsCommutable = 0> {
+  let Predicates = [HasAVX10_2_512] in
+    defm NAME#Z : avx512_binop_rm2<opc, OpcodeStr, sched.ZMM, OpNode,
+                                   _SrcVTInfo.info512, _DstVTInfo.info512,
+                                   _SrcVTInfo.info512, IsCommutable>,
+                                   EVEX_V512;
+  let Predicates = [HasAVX10_2] in {
+    defm NAME#Z256 : avx512_binop_rm2<opc, OpcodeStr, sched.YMM, OpNode,
+                                      _SrcVTInfo.info256, _DstVTInfo.info256,
+                                      _SrcVTInfo.info256, IsCommutable>,
+                                     EVEX_V256;
+    defm NAME#Z128 : avx512_binop_rm2<opc, OpcodeStr, sched.XMM, OpNode,
+                                      _SrcVTInfo.info128, _DstVTInfo.info128,
+                                      _SrcVTInfo.info128, IsCommutable>,
+                                      EVEX_V128;
+  }
+}
+
+defm VCVTNE2PH2BF8 : avx10_binop_all<0x74, "vcvtne2ph2bf8",
+                       SchedWriteCvtPD2PS,
+                       avx512vl_f16_info, avx512vl_i8_info, X86vcvtne2ph2bf8,
+                       0>, EVEX_CD8<16, CD8VF>, T8, XD;
+defm VCVTNE2PH2BF8S : avx10_binop_all<0x74, "vcvtne2ph2bf8s",
+                       SchedWriteCvtPD2PS,
+                       avx512vl_f16_info, avx512vl_i8_info, X86vcvtne2ph2bf8s,
+                       0>, EVEX_CD8<16, CD8VF>, T_MAP5, XD;
+defm VCVTNE2PH2HF8 : avx10_binop_all<0x18, "vcvtne2ph2hf8",
+                       SchedWriteCvtPD2PS,
+                       avx512vl_f16_info, avx512vl_i8_info, X86vcvtne2ph2hf8,
+                       0>, EVEX_CD8<16, CD8VF>, T_MAP5, XD;
+defm VCVTNE2PH2HF8S : avx10_binop_all<0x1b, "vcvtne2ph2hf8s",
+                       SchedWriteCvtPD2PS,
+                       avx512vl_f16_info, avx512vl_i8_info, X86vcvtne2ph2hf8s,
+                       0>, EVEX_CD8<16, CD8VF>, T_MAP5, XD;
+
+multiclass avx10_convert_3op_packed<bits<8> OpCode, string OpcodeStr,
+           X86VectorVTInfo vt_dst, X86VectorVTInfo vt_src1,
+           X86VectorVTInfo vt_src2, SDPatternOperator OpNode,
+           SDPatternOperator MaskOpNode, X86FoldableSchedWrite sched,
+           string Broadcast = vt_src2.BroadcastStr,
+           X86MemOperand MemOp = vt_src2.MemOp,
+           RegisterClass MaskRC = vt_src2.KRCWM,
+           dag LdDAG = (vt_dst.VT (OpNode (vt_src1.VT vt_src1.RC:$src1), (vt_src2.VT (vt_src2.LdFrag addr:$src2)))),
+           dag MaskLdDAG = (vt_dst.VT (MaskOpNode (vt_src1.VT vt_src1.RC:$src1), (vt_src2.VT (vt_src2.LdFrag addr:$src2))))> {
+  defm rr : AVX512_maskable_cvt<OpCode, MRMSrcReg, vt_dst, (outs vt_dst.RC:$dst),
+                      (ins vt_src1.RC:$src1, vt_src2.RC:$src2),
+                      (ins vt_dst.RC:$src0, MaskRC:$mask, vt_src1.RC:$src1, vt_src2.RC:$src2),
+                      (ins MaskRC:$mask, vt_src1.RC:$src1, vt_src2.RC:$src2),
+                      OpcodeStr, "$src2, $src1", "$src1, $src2",
+                      (vt_dst.VT (OpNode (vt_src1.VT vt_src1.RC:$src1), (vt_src2.VT vt_src2.RC:$src2))),
+                      (vselect_mask MaskRC:$mask,
+                        (vt_dst.VT (MaskOpNode (vt_src1.VT vt_src1.RC:$src1), (vt_src2.VT vt_src2.RC:$src2))),
+                        vt_dst.RC:$src0),
+                      (vselect_mask MaskRC:$mask,
+                        (vt_dst.VT (MaskOpNode (vt_src1.VT vt_src1.RC:$src1), (vt_src2.VT vt_src2.RC:$src2))),
+                        vt_dst.ImmAllZerosV)>,
+                      EVEX, VVVV, Sched<[sched]>;
+  let mayLoad = 1 in
+  defm rm : AVX512_maskable_cvt<OpCode, MRMSrcMem, vt_dst, (outs vt_dst.RC:$dst),
+                      (ins vt_src1.RC:$src1, MemOp:$src2),
+                      (ins vt_dst.RC:$src0, MaskRC:$mask, vt_src1.RC:$src1, MemOp:$src2),
+                      (ins MaskRC:$mask, vt_src1.RC:$src1, MemOp:$src2),
+                      OpcodeStr, "$src2, $src1", "$src1, $src2",
+                      LdDAG,
+                      (vselect_mask MaskRC:$mask, MaskLdDAG, vt_dst.RC:$src0),
+                      (vselect_mask MaskRC:$mask, MaskLdDAG, vt_dst.ImmAllZerosV)>,
+                      EVEX, VVVV, Sched<[sched]>;
+
+  let mayLoad = 1 in
+  defm rmb : AVX512_maskable_cvt<OpCode, MRMSrcMem, vt_dst, (outs vt_dst.RC:$dst),
+                      (ins vt_src1.RC:$src1, vt_src2.ScalarMemOp:$src2),
+                      (ins vt_dst.RC:$src0, MaskRC:$mask, vt_src1.RC:$src1, vt_src2.ScalarMemOp:$src2),
+                      (ins MaskRC:$mask, vt_src1.RC:$src1, vt_src2.ScalarMemOp:$src2), OpcodeStr,
+                      "${src2}"#Broadcast#", $src1", "$src1, ${src2}"#Broadcast,
+                      (vt_dst.VT (OpNode (vt_src1.VT vt_src1.RC:$src1), (vt_src2.VT
+                                  (vt_src2.BroadcastLdFrag addr:$src2)))),
+                      (vselect_mask MaskRC:$mask,
+                                       (vt_dst.VT
+                                        (MaskOpNode
+                                         (vt_src1.VT vt_src1.RC:$src1), (vt_src2.VT
+                                          (vt_src2.BroadcastLdFrag addr:$src2)))),
+                                       vt_dst.RC:$src0),
+                      (vselect_mask MaskRC:$mask,
+                                       (vt_dst.VT
+                                        (MaskOpNode
+                                         (vt_src1.VT vt_src1.RC:$src1),
+                                         (vt_src2.VT
+                                          (vt_src2.BroadcastLdFrag addr:$src2)))),
+                                       vt_dst.ImmAllZerosV)>,
+                      EVEX, VVVV, EVEX_B, Sched<[sched]>;
+}
+
+multiclass avx10_convert_3op<bits<8> OpCode, string OpcodeStr,
+           AVX512VLVectorVTInfo vt_dst, AVX512VLVectorVTInfo vt_src,
+           X86SchedWriteWidths sched,
+           SDPatternOperator OpNode,
+           SDPatternOperator MaskOpNode,
+           PatFrag bcast128 = vt_src.info128.BroadcastLdFrag,
+           PatFrag loadVT128 = vt_src.info128.LdFrag,
+           RegisterClass maskRC128 = vt_src.info128.KRCWM> {
+  let Predicates = [HasAVX10_2_512] in
+    defm Z : avx10_convert_3op_packed<OpCode, OpcodeStr, vt_dst.info256,
+               vt_dst.info512, vt_src.info512, OpNode, OpNode, sched.ZMM>,
+               EVEX_V512, EVEX_CD8<16, CD8VF>;
+  let Predicates = [HasAVX10_2] in {
+    defm Z256 : avx10_convert_3op_packed<OpCode, OpcodeStr, vt_dst.info128,
+                  vt_dst.info256, vt_src.info256, OpNode, OpNode, sched.YMM>,
+                  EVEX_V256, EVEX_CD8<16, CD8VF>;
+    defm Z128 : avx10_convert_3op_packed<OpCode, OpcodeStr, vt_dst.info128,
+                  vt_dst.info128, vt_src.info128,
+                  null_frag, null_frag, sched.XMM>,
+                  EVEX_V128, EVEX_CD8<16, CD8VF>;
+    // Special patterns to allow use of MaskOpNode for masking 128 version. Instruction
+    // patterns have been disabled with null_frag.
+    def : Pat<(vt_dst.info128.VT (OpNode (vt_dst.info128.VT VR128X:$src1),
+                                         (vt_src.info128.VT VR128X:$src2))),
+              (!cast<Instruction>(NAME # "Z128rr") VR128X:$src1, VR128X:$src2)>;
+    def : Pat<(MaskOpNode (vt_dst.info128.VT VR128X:$src1),
+                          (vt_src.info128.VT VR128X:$src2),
+                          (vt_dst.info128.VT VR128X:$src0), maskRC128:$mask),
+              (!cast<Instruction>(NAME # "Z128rrk") VR128X:$src0, maskRC128:$mask,
+                          VR128X:$src1, VR128X:$src2)>;
+    def : Pat<(MaskOpNode (vt_dst.info128.VT VR128X:$src1),
+                          (vt_src.info128.VT VR128X:$src2),
+                          vt_dst.info128.ImmAllZerosV, maskRC128:$mask),
+              (!cast<Instruction>(NAME # "Z128rrkz") maskRC128:$mask,
+                          VR128X:$src1, VR128X:$src2)>;
+
+    def : Pat<(vt_dst.info128.VT (OpNode (vt_dst.info128.VT VR128X:$src1),
+                                         (loadVT128 addr:$src2))),
+              (!cast<Instruction>(NAME # "Z128rm") VR128X:$src1, addr:$src2)>;
+    def : Pat<(MaskOpNode (vt_dst.info128.VT VR128X:$src1),
+                          (loadVT128 addr:$src2),
+                          (vt_dst.info128.VT VR128X:$src0),
+                          maskRC128:$mask),
+              (!cast<Instruction>(NAME # "Z128rmk") VR128X:$src0, maskRC128:$mask,
+                          VR128X:$src1, addr:$src2)>;
+    def : Pat<(MaskOpNode (vt_dst.info128.VT VR128X:$src1),
+                          (loadVT128 addr:$src2),
+                          vt_dst.info128.ImmAllZerosV,
+                          maskRC128:$mask),
+              (!cast<Instruction>(NAME # "Z128rmkz") maskRC128:$mask,
+                          VR128X:$src1, addr:$src2)>;
+
+    def : Pat<(vt_dst.info128.VT (OpNode (vt_dst.info128.VT VR128X:$src1),
+                                         (vt_src.info128.VT (bcast128 addr:$src2)))),
+              (!cast<Instruction>(NAME # "Z128rmb") VR128X:$src1, addr:$src2)>;
+    def : Pat<(MaskOpNode (vt_dst.info128.VT VR128X:$src1),
+                          (vt_src.info128.VT (bcast128 addr:$src2)),
+                          (vt_dst.info128.VT VR128X:$src0), maskRC128:$mask),
+              (!cast<Instruction>(NAME # "Z128rmbk") VR128X:$src0, maskRC128:$mask,
+                           VR128X:$src1, addr:$src2)>;
+    def : Pat<(MaskOpNode (vt_dst.info128.VT VR128X:$src1),
+                          (vt_src.info128.VT (bcast128 addr:$src2)),
+                          vt_dst.info128.ImmAllZerosV, maskRC128:$mask),
+              (!cast<Instruction>(NAME # "Z128rmbkz") maskRC128:$mask,
+                           VR128X:$src1, addr:$src2)>;
+  }
+}
+
+defm VCVTBIASPH2BF8 : avx10_convert_3op<0x74, "vcvtbiasph2bf8",
+                      avx512vl_i8_info, avx512vl_f16_info, SchedWriteCvtPD2PS,
+                      X86vcvtbiasph2bf8, X86vmcvtbiasph2bf8>,
+                      T8, PS;
+defm VCVTBIASPH2BF8S : avx10_convert_3op<0x74, "vcvtbiasph2bf8s",
+                       avx512vl_i8_info, avx512vl_f16_info, SchedWriteCvtPD2PS,
+                       X86vcvtbiasph2bf8s, X86vmcvtbiasph2bf8s>,
+                       T_MAP5, PS;
+defm VCVTBIASPH2HF8 : avx10_convert_3op<0x18, "vcvtbiasph2hf8",
+                      avx512vl_i8_info, avx512vl_f16_info, SchedWriteCvtPD2PS,
+                      X86vcvtbiasph2hf8, X86vmcvtbiasph2hf8>,
+                      T_MAP5, PS;
+defm VCVTBIASPH2HF8S : avx10_convert_3op<0x1b, "vcvtbiasph2hf8s",
+                       avx512vl_i8_info, avx512vl_f16_info, SchedWriteCvtPD2PS,
+                       X86vcvtbiasph2hf8s, X86vmcvtbiasph2hf8s>,
+                       T_MAP5, PS;
+
+multiclass avx10_convert_2op_packed<bits<8> OpCode, string OpcodeStr,
+           X86VectorVTInfo vt_dst, X86VectorVTInfo vt_src, SDPatternOperator OpNode,
+           SDPatternOperator MaskOpNode, X86FoldableSchedWrite sched,
+           string Alias, string Broadcast = vt_src.BroadcastStr,
+           X86MemOperand MemOp = vt_src.MemOp,
+           RegisterClass MaskRC = vt_src.KRCWM,
+           dag LdDAG = (vt_dst.VT (OpNode (vt_src.VT (vt_src.LdFrag addr:$src)))),
+           dag MaskLdDAG = (vt_dst.VT (MaskOpNode (vt_src.VT (vt_src.LdFrag addr:$src))))> {
+  defm rr : AVX512_maskable_cvt<OpCode, MRMSrcReg, vt_dst, (outs vt_dst.RC:$dst),
+                      (ins vt_src.RC:$src),
+                      (ins vt_dst.RC:$src0, MaskRC:$mask, vt_src.RC:$src),
+                      (ins MaskRC:$mask, vt_src.RC:$src),
+                      OpcodeStr, "$src", "$src",
+                      (vt_dst.VT (OpNode (vt_src.VT vt_src.RC:$src))),
+                      (vselect_mask MaskRC:$mask,
+                                       (vt_dst.VT (MaskOpNode (vt_src.VT vt_src.RC:$src))),
+                                       vt_dst.RC:$src0),
+                      (vselect_mask MaskRC:$mask,
+                                       (vt_dst.VT (MaskOpNode (vt_src.VT vt_src.RC:$src))),
+                                       vt_dst.ImmAllZerosV)>, EVEX, Sched<[sched]>;
+
+  defm rm : AVX512_maskable_cvt<OpCode, MRMSrcMem, vt_dst, (outs vt_dst.RC:$dst),
+                      (ins MemOp:$src),
+                      (ins vt_dst.RC:$src0, MaskRC:$mask, MemOp:$src),
+                      (ins MaskRC:$mask, MemOp:$src),
+                      OpcodeStr#Alias, "$src", "$src",
+                      LdDAG,
+                      (vselect_mask MaskRC:$mask, MaskLdDAG, vt_dst.RC:$src0),
+                      (vselect_mask MaskRC:$mask, MaskLdDAG, vt_dst.ImmAllZerosV)>,
+                      EVEX, Sched<[sched]>;
+
+  defm rmb : AVX512_maskable_cvt<OpCode, MRMSrcMem, vt_dst, (outs vt_dst.RC:$dst),
+                      (ins vt_src.ScalarMemOp:$src),
+                      (ins vt_dst.RC:$src0, MaskRC:$mask, vt_src.ScalarMemOp:$src),
+                      (ins MaskRC:$mask, vt_src.ScalarMemOp:$src), OpcodeStr,
+                      "${src}"#Broadcast, "${src}"#Broadcast,
+                      (vt_dst.VT (OpNode (vt_src.VT
+                                  (vt_src.BroadcastLdFrag addr:$src)))),
+                      (vselect_mask MaskRC:$mask,
+                                       (vt_dst.VT
+                                        (MaskOpNode
+                                         (vt_src.VT
+                                          (vt_src.BroadcastLdFrag addr:$src)))),
+                                       vt_dst.RC:$src0),
+                      (vselect_mask MaskRC:$mask,
+                                       (vt_dst.VT
+                                        (MaskOpNode
+                                         (vt_src.VT
+                                          (vt_src.BroadcastLdFrag addr:$src)))),
+                                       vt_dst.ImmAllZerosV)>,
+                      EVEX, EVEX_B, Sched<[sched]>;
+
+  // Allow rr with the x, y suffix.
+  def : InstAlias<OpcodeStr#Alias#
+                  "\t{$src, $dst|$dst, $src}",
+                  (!cast<Instruction>(NAME#"rr")
+                   vt_dst.RC:$dst, vt_src.RC:$src), 0, "att">;
+  def : InstAlias<OpcodeStr#Alias#
+                  "\t{$src, $dst {${mask}}|$dst {${mask}}, $src}",
+                  (!cast<Instruction>(NAME#"rrk")
+                   vt_dst.RC:$dst, vt_dst.KRCWM:$mask, vt_src.RC:$src),
+                   0, "att">;
+  def : InstAlias<OpcodeStr#Alias#
+                  "\t{$src, $dst {${mask}} {z}|$dst {${mask}} {z}, $src}",
+                  (!cast<Instruction>(NAME#"rrkz")
+                   vt_dst.RC:$dst, vt_dst.KRCWM:$mask, vt_src.RC:$src),
+                   0, "att">;
+
+  // Allow rmb with the x, y suffix.
+  def : InstAlias<OpcodeStr#Alias#
+                  "\t{${src}"#vt_src.BroadcastStr#", $dst|$dst, ${src}"#
+                  vt_src.BroadcastStr#"}",
+                  (!cast<Instruction>(NAME#"rmb")
+                   vt_dst.RC:$dst, vt_src.ScalarMemOp:$src), 0, "att">;
+  def : InstAlias<OpcodeStr#Alias#
+                  "\t{${src}"#vt_src.BroadcastStr#", $dst {${mask}}|"
+                  "$dst {${mask}}, ${src}"#vt_src.BroadcastStr#"}",
+                  (!cast<Instruction>(NAME#"rmbk")
+                   vt_dst.RC:$dst, vt_dst.KRCWM:$mask, vt_src.ScalarMemOp:$src),
+                   0, "att">;
+  def : InstAlias<OpcodeStr#Alias#
+                  "\t{${src}"#vt_src.BroadcastStr#", $dst {${mask}} {z}|"
+                  "$dst {${mask}} {z}, ${src}"#vt_src.BroadcastStr#"}",
+                  (!cast<Instruction>(NAME#"rmbkz")
+                   vt_dst.RC:$dst, vt_dst.KRCWM:$mask, vt_src.ScalarMemOp:$src),
+                   0, "att">;
+}
+
+multiclass avx10_convert_2op<bits<8> OpCode, string OpcodeStr,
+           AVX512VLVectorVTInfo vt_dst, AVX512VLVectorVTInfo vt_src,
+           X86SchedWriteWidths sched,
+           SDPatternOperator OpNode,
+           SDPatternOperator MaskOpNode,
+           PatFrag bcast128 = vt_src.info128.BroadcastLdFrag,
+           PatFrag loadVT128 = vt_src.info128.LdFrag,
+           RegisterClass maskRC128 = vt_src.info128.KRCWM> {
+  let Predicates = [HasAVX10_2_512] in
+    defm Z : avx10_convert_2op_packed<OpCode, OpcodeStr, vt_dst.info256,
+               vt_src.info512, OpNode, OpNode, sched.ZMM,
+               "">,
+               EVEX_V512, EVEX_CD8<16, CD8VF>;
+  let Predicates = [HasAVX10_2] in {
+    defm Z256 : avx10_convert_2op_packed<OpCode, OpcodeStr, vt_dst.info128,
+                  vt_src.info256, OpNode, OpNode, sched.YMM,
+                  "{y}">,
+                  EVEX_V256, EVEX_CD8<16, CD8VF>;
+    defm Z128 : avx10_convert_2op_packed<OpCode, OpcodeStr, vt_dst.info128,
+                  vt_src.info128,
+                  null_frag, null_frag, sched.XMM,
+                  "{x}">,
+                  EVEX_V128, EVEX_CD8<16, CD8VF>;
+    // Special patterns to allow use of MaskOpNode for masking 128 version. Instruction
+    // patterns have been disabled with null_frag.
+    def : Pat<(vt_dst.info128.VT (OpNode (vt_src.info128.VT VR128X:$src))),
+              (!cast<Instruction>(NAME # "Z128rr") VR128X:$src)>;
+    def : Pat<(MaskOpNode (vt_src.info128.VT VR128X:$src), (vt_dst.info128.VT VR128X:$src0),
+                            maskRC128:$mask),
+              (!cast<Instruction>(NAME # "Z128rrk") VR128X:$src0, maskRC128:$mask, VR128X:$src)>;
+    def : Pat<(MaskOpNode (vt_src.info128.VT VR128X:$src), vt_dst.info128.ImmAllZerosV,
+                            maskRC128:$mask),
+              (!cast<Instruction>(NAME # "Z128rrkz") maskRC128:$mask, VR128X:$src)>;
+
+    def : Pat<(vt_dst.info128.VT (OpNode (loadVT128 addr:$src))),
+              (!cast<Instruction>(NAME # "Z128rm") addr:$src)>;
+    def : Pat<(MaskOpNode (loadVT128 addr:$src), (vt_dst.info128.VT VR128X:$src0),
+                            maskRC128:$mask),
+              (!cast<Instruction>(NAME # "Z128rmk") VR128X:$src0, maskRC128:$mask, addr:$src)>;
+    def : Pat<(MaskOpNode (loadVT128 addr:$src), vt_dst.info128.ImmAllZerosV,
+                            maskRC128:$mask),
+              (!cast<Instruction>(NAME # "Z128rmkz") maskRC128:$mask, addr:$src)>;
+
+    def : Pat<(vt_dst.info128.VT (OpNode (vt_src.info128.VT (bcast128 addr:$src)))),
+              (!cast<Instruction>(NAME # "Z128rmb") addr:$src)>;
+    def : Pat<(MaskOpNode (vt_src.info128.VT (bcast128 addr:$src)),
+                            (vt_dst.info128.VT VR128X:$src0), maskRC128:$mask),
+              (!cast<Instruction>(NAME # "Z128rmbk") VR128X:$src0, maskRC128:$mask, addr:$src)>;
+    def : Pat<(MaskOpNode (vt_src.info128.VT (bcast128 addr:$src)),
+                            vt_dst.info128.ImmAllZerosV, maskRC128:$mask),
+              (!cast<Instruction>(NAME # "Z128rmbkz") maskRC128:$mask, addr:$src)>;
+  }
+}
+
+defm VCVTNEPH2BF8 : avx10_convert_2op<0x74, "vcvtneph2bf8",
+                      avx512vl_i8_info, avx512vl_f16_info, SchedWriteCvtPD2PS,
+                        X86vcvtneph2bf8, X86vmcvtneph2bf8>,
+                      T8,XS;
+defm VCVTNEPH2BF8S : avx10_convert_2op<0x74, "vcvtneph2bf8s",
+                       avx512vl_i8_info, avx512vl_f16_info, SchedWriteCvtPD2PS,
+                        X86vcvtneph2bf8s, X86vmcvtneph2bf8s>,
+                       T_MAP5,XS;
+defm VCVTNEPH2HF8 : avx10_convert_2op<0x18, "vcvtneph2hf8",
+                      avx512vl_i8_info, avx512vl_f16_info, SchedWriteCvtPD2PS,
+                        X86vcvtneph2hf8, X86vmcvtneph2hf8>,
+                      T_MAP5,XS;
+defm VCVTNEPH2HF8S : avx10_convert_2op<0x1b, "vcvtneph2hf8s",
+                       avx512vl_i8_info, avx512vl_f16_info, SchedWriteCvtPD2PS,
+                        X86vcvtneph2hf8s, X86vmcvtneph2hf8s>,
+                       T_MAP5,XS;
+
+multiclass avx10_convert_2op_nomb_packed<bits<8> opc, string OpcodeStr,
+                           X86VectorVTInfo _dest, X86VectorVTInfo _src,
+                           SDNode OpNode,
+                           X86MemOperand x86memop,
+                           X86FoldableSchedWrite sched,
+                           dag ld_dag = (load addr:$src)> {
+  let ExeDomain = _dest.ExeDomain in {
+  defm rr : AVX512_maskable_split<opc, MRMSrcReg, _dest ,(outs _dest.RC:$dst),
+                          (ins _src.RC:$src), OpcodeStr, "$src", "$src",
+                          (OpNode (_src.VT _src.RC:$src)),
+                          (OpNode (_src.VT _src.RC:$src))>,
+                          Sched<[sched]>;
+  defm rm : AVX512_maskable_split<opc, MRMSrcMem, _dest, (outs _dest.RC:$dst),
+                          (ins x86memop:$src), OpcodeStr, "$src", "$src",
+                          (OpNode (_src.VT ld_dag)),
+                          (OpNode (_src.VT ld_dag))>,
+                          Sched<[sched.Folded]>;
+  }
+}
+
+multiclass avx10_convert_2op_nomb<string OpcodeStr, AVX512VLVectorVTInfo _dest,
+             AVX512VLVectorVTInfo _src, bits<8> opc, SDNode OpNode> {
+  let Predicates = [HasAVX10_2_512] in
+  defm Z : avx10_convert_2op_nomb_packed<opc, OpcodeStr, _dest.info512,
+                              _src.info256, OpNode, f256mem, WriteCvtPH2PSZ>, EVEX_V512;
+  let Predicates = [HasAVX10_2] in {
+  defm Z128 : avx10_convert_2op_nomb_packed<opc, OpcodeStr, _dest.info128,
+                              _src.info128, OpNode, f64mem, WriteCvtPH2PSZ>, EVEX_V128;
+  defm Z256 : avx10_convert_2op_nomb_packed<opc, OpcodeStr, _dest.info256,
+                              _src.info128, OpNode, f128mem, WriteCvtPH2PSZ>, EVEX_V256;
+  }
+}
+
+defm VCVTHF82PH : avx10_convert_2op_nomb<"vcvthf82ph", avx512vl_f16_info,
+                      avx512vl_i8_info, 0x1e, X86vcvthf82ph>,
+                      AVX512XDIi8Base, T_MAP5, EVEX, EVEX_CD8<16, CD8VH>;
diff --git a/llvm/lib/Target/X86/X86InstrFragmentsSIMD.td b/llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
index 11b75240b2504..008dccd5b521b 100644
--- a/llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
+++ b/llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
@@ -821,6 +821,95 @@ def X86vpdpbuuds : SDNode<"X86ISD::VPDPBUUDS", SDTVnni>;
 
 def X86Vmpsadbw : SDNode<"X86ISD::MPSADBW", SDTX86PSADBW>;
 
+def SDTAVX10CONVERT_I82F16 : SDTypeProfile<1, 3, [
+  SDTCVecEltisVT<0, i8>, SDTCisSameAs<0, 1>,
+  SDTCVecEltisVT<2, f16>, SDTCisSameAs<2, 3>
+]>;
+
+def SDTAVX10CONVERT_I82F16_SRCDST : SDTypeProfile<1, 2, [
+  SDTCVecEltisVT<0, i8>, SDTCVecEltisVT<1, f16>, SDTCisSameAs<1, 2>
+]>;
+
+def SDTAVX10CONVERT_F16I8 : SDTypeProfile<1, 1, [
+  SDTCVecEltisVT<0, f16>, SDTCVecEltisVT<1, i8>
+]>;
+
+def SDTAVX10CONVERT_I8F16 : SDTypeProfile<1, 1, [
+  SDTCVecEltisVT<0, i8>, SDTCVecEltisVT<1, f16>
+]>;
+
+def SDTAVX10CONVERT_I8F16_MASK : SDTypeProfile<1, 3, [
+  SDTCVecEltisVT<0, i8>, SDTCVecEltisVT<1, f16>,
+  SDTCisSameAs<0, 2>, SDTCVecEltisVT<3, i1>,
+  SDTCisSameNumEltsAs<1, 3>
+]>;
+
+def SDTAVX10CONVERT_2I8F16 : SDTypeProfile<1, 2, [
+  SDTCVecEltisVT<0, i8>, SDTCVecEltisVT<1, i8>, SDTCVecEltisVT<2, f16>
+]>;
+
+def SDTAVX10CONVERT_2I8F16_MASK : SDTypeProfile<1, 4, [
+  SDTCVecEltisVT<0, i8>, SDTCisSameAs<0, 1>,
+  SDTCVecEltisVT<2, f16>, SDTCisSameAs<0, 3>, SDTCVecEltisVT<4, i1>,
+  SDTCisSameNumEltsAs<2, 4>
+]>;
+def X86vcvt2ps2phx : SDNode<"X86ISD::VCVT2PS2PHX",
+                      SDTypeProfile<1, 2, [SDTCVecEltisVT<0, f16>,
+                                           SDTCVecEltisVT<1, f32>,
+                                           SDTCisSameAs<1,2>]>>;
+def X86vcvt2ps2phxRnd : SDNode<"X86ISD::VCVT2PS2PHX_RND",
+                         SDTypeProfile<1, 3, [SDTCVecEltisVT<0, f16>,
+                                              SDTCVecEltisVT<1, f32>,
+                                              SDTCisSameAs<1,2>,
+                                              SDTCisVT<3, i32>]>>;
+// 3op
+def X86vcvtne2ph2bf8 : SDNode<"X86ISD::VCVTNE2PH2BF8",
+                      SDTAVX10CONVERT_I82F16_SRCDST>;
+def X86vcvtne2ph2bf8s : SDNode<"X86ISD::VCVTNE2PH2BF8S",
+                      SDTAVX10CONVERT_I82F16_SRCDST>;
+def X86vcvtne2ph2hf8 : SDNode<"X86ISD::VCVTNE2PH2HF8",
+                      SDTAVX10CONVERT_I82F16_SRCDST>;
+def X86vcvtne2ph2hf8s : SDNode<"X86ISD::VCVTNE2PH2HF8S",
+                      SDTAVX10CONVERT_I82F16_SRCDST>;
+// 2op no broadcast
+def X86vcvthf82ph : SDNode<"X86ISD::VCVTHF82PH",
+                    SDTAVX10CONVERT_F16I8>;
+
+// 2op
+def X86vcvtbiasph2bf8 : SDNode<"X86ISD::VCVTBIASPH2BF8",
+                      SDTAVX10CONVERT_2I8F16>;
+def X86vcvtbiasph2bf8s : SDNode<"X86ISD::VCVTBIASPH2BF8S",
+                      SDTAVX10CONVERT_2I8F16>;
+def X86vcvtbiasph2hf8 : SDNode<"X86ISD::VCVTBIASPH2HF8",
+                      SDTAVX10CONVERT_2I8F16>;
+def X86vcvtbiasph2hf8s : SDNode<"X86ISD::VCVTBIASPH2HF8S",
+                      SDTAVX10CONVERT_2I8F16>;
+def X86vcvtneph2bf8 : SDNode<"X86ISD::VCVTNEPH2BF8",
+                      SDTAVX10CONVERT_I8F16>;
+def X86vcvtneph2bf8s : SDNode<"X86ISD::VCVTNEPH2BF8S",
+                      SDTAVX10CONVERT_I8F16>;
+def X86vcvtneph2hf8 : SDNode<"X86ISD::VCVTNEPH2HF8",
+                      SDTAVX10CONVERT_I8F16>;
+def X86vcvtneph2hf8s : SDNode<"X86ISD::VCVTNEPH2HF8S",
+                      SDTAVX10CONVERT_I8F16>;
+
+def X86vmcvtbiasph2bf8 : SDNode<"X86ISD::VMCVTBIASPH2BF8",
+                      SDTAVX10CONVERT_2I8F16_MASK>;
+def X86vmcvtbiasph2bf8s : SDNode<"X86ISD::VMCVTBIASPH2BF8S",
+                      SDTAVX10CONVERT_2I8F16_MASK>;
+def X86vmcvtbiasph2hf8 : SDNode<"X86ISD::VMCVTBIASPH2HF8",
+                      SDTAVX10CONVERT_2I8F16_MASK>;
+def X86vmcvtbiasph2hf8s : SDNode<"X86ISD::VMCVTBIASPH2HF8S",
+                      SDTAVX10CONVERT_2I8F16_MASK>;
+def X86vmcvtneph2bf8 : SDNode<"X86ISD::VMCVTNEPH2BF8",
+                      SDTAVX10CONVERT_I8F16_MASK>;
+def X86vmcvtneph2bf8s : SDNode<"X86ISD::VMCVTNEPH2BF8S",
+                      SDTAVX10CONVERT_I8F16_MASK>;
+def X86vmcvtneph2hf8 : SDNode<"X86ISD::VMCVTNEPH2HF8",
+                      SDTAVX10CONVERT_I8F16_MASK>;
+def X86vmcvtneph2hf8s : SDNode<"X86ISD::VMCVTNEPH2HF8S",
+                      SDTAVX10CONVERT_I8F16_MASK>;
+
 //===----------------------------------------------------------------------===//
 // SSE pattern fragments
 //===----------------------------------------------------------------------===//
diff --git a/llvm/lib/Target/X86/X86IntrinsicsInfo.h b/llvm/lib/Target/X86/X86IntrinsicsInfo.h
index a7473e495330b..a2112fb38679c 100644
--- a/llvm/lib/Target/X86/X86IntrinsicsInfo.h
+++ b/llvm/lib/Target/X86/X86IntrinsicsInfo.h
@@ -62,6 +62,7 @@ enum IntrinsicType : uint16_t {
   INTR_TYPE_3OP_SCALAR_MASK_SAE,
   COMPRESS_EXPAND_IN_REG,
   TRUNCATE_TO_REG,
+  TRUNCATE_TO_REG2,
   CVTPS2PH_MASK,
   CVTPD2DQ_MASK,
   CVTQQ2PS_MASK,
@@ -394,6 +395,66 @@ static const IntrinsicData IntrinsicsWithoutChain[] = {
                        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::VCVT2PS2PHX, 0),
+    X86_INTRINSIC_DATA(avx10_mask_vcvt2ps2phx_256, INTR_TYPE_2OP_MASK,
+                       X86ISD::VCVT2PS2PHX, X86ISD::VCVT2PS2PHX_RND),
+    X86_INTRINSIC_DATA(avx10_mask_vcvt2ps2phx_512, INTR_TYPE_2OP_MASK,
+                       X86ISD::VCVT2PS2PHX, X86ISD::VCVT2PS2PHX_RND),
+    X86_INTRINSIC_DATA(avx10_mask_vcvtbiasph2bf8128, TRUNCATE_TO_REG2,
+                       X86ISD::VCVTBIASPH2BF8, X86ISD::VMCVTBIASPH2BF8),
+    X86_INTRINSIC_DATA(avx10_mask_vcvtbiasph2bf8256, INTR_TYPE_2OP_MASK,
+                       X86ISD::VCVTBIASPH2BF8, 0),
+    X86_INTRINSIC_DATA(avx10_mask_vcvtbiasph2bf8512, INTR_TYPE_2OP_MASK,
+                       X86ISD::VCVTBIASPH2BF8, 0),
+    X86_INTRINSIC_DATA(avx10_mask_vcvtbiasph2bf8s128, TRUNCATE_TO_REG2,
+                       X86ISD::VCVTBIASPH2BF8S, X86ISD::VMCVTBIASPH2BF8S),
+    X86_INTRINSIC_DATA(avx10_mask_vcvtbiasph2bf8s256, INTR_TYPE_2OP_MASK,
+                       X86ISD::VCVTBIASPH2BF8S, 0),
+    X86_INTRINSIC_DATA(avx10_mask_vcvtbiasph2bf8s512, INTR_TYPE_2OP_MASK,
+                       X86ISD::VCVTBIASPH2BF8S, 0),
+    X86_INTRINSIC_DATA(avx10_mask_vcvtbiasph2hf8128, TRUNCATE_TO_REG2,
+                       X86ISD::VCVTBIASPH2HF8, X86ISD::VMCVTBIASPH2HF8),
+    X86_INTRINSIC_DATA(avx10_mask_vcvtbiasph2hf8256, INTR_TYPE_2OP_MASK,
+                       X86ISD::VCVTBIASPH2HF8, 0),
+    X86_INTRINSIC_DATA(avx10_mask_vcvtbiasph2hf8512, INTR_TYPE_2OP_MASK,
+                       X86ISD::VCVTBIASPH2HF8, 0),
+    X86_INTRINSIC_DATA(avx10_mask_vcvtbiasph2hf8s128, TRUNCATE_TO_REG2,
+                       X86ISD::VCVTBIASPH2HF8S, X86ISD::VMCVTBIASPH2HF8S),
+    X86_INTRINSIC_DATA(avx10_mask_vcvtbiasph2hf8s256, INTR_TYPE_2OP_MASK,
+                       X86ISD::VCVTBIASPH2HF8S, 0),
+    X86_INTRINSIC_DATA(avx10_mask_vcvtbiasph2hf8s512, INTR_TYPE_2OP_MASK,
+                       X86ISD::VCVTBIASPH2HF8S, 0),
+    X86_INTRINSIC_DATA(avx10_mask_vcvthf82ph128, INTR_TYPE_1OP_MASK,
+                       X86ISD::VCVTHF82PH, 0),
+    X86_INTRINSIC_DATA(avx10_mask_vcvthf82ph256, INTR_TYPE_1OP_MASK,
+                       X86ISD::VCVTHF82PH, 0),
+    X86_INTRINSIC_DATA(avx10_mask_vcvthf82ph512, INTR_TYPE_1OP_MASK,
+                       X86ISD::VCVTHF82PH, 0),
+    X86_INTRINSIC_DATA(avx10_mask_vcvtneph2bf8128, TRUNCATE_TO_REG,
+                       X86ISD::VCVTNEPH2BF8, X86ISD::VMCVTNEPH2BF8),
+    X86_INTRINSIC_DATA(avx10_mask_vcvtneph2bf8256, INTR_TYPE_1OP_MASK,
+                       X86ISD::VCVTNEPH2BF8, 0),
+    X86_INTRINSIC_DATA(avx10_mask_vcvtneph2bf8512, INTR_TYPE_1OP_MASK,
+                       X86ISD::VCVTNEPH2BF8, 0),
+    X86_INTRINSIC_DATA(avx10_mask_vcvtneph2bf8s128, TRUNCATE_TO_REG,
+                       X86ISD::VCVTNEPH2BF8S, X86ISD::VMCVTNEPH2BF8S),
+    X86_INTRINSIC_DATA(avx10_mask_vcvtneph2bf8s256, INTR_TYPE_1OP_MASK,
+                       X86ISD::VCVTNEPH2BF8S, 0),
+    X86_INTRINSIC_DATA(avx10_mask_vcvtneph2bf8s512, INTR_TYPE_1OP_MASK,
+                       X86ISD::VCVTNEPH2BF8S, 0),
+    X86_INTRINSIC_DATA(avx10_mask_vcvtneph2hf8128, TRUNCATE_TO_REG,
+                       X86ISD::VCVTNEPH2HF8, X86ISD::VMCVTNEPH2HF8),
+    X86_INTRINSIC_DATA(avx10_mask_vcvtneph2hf8256, INTR_TYPE_1OP_MASK,
+                       X86ISD::VCVTNEPH2HF8, 0),
+    X86_INTRINSIC_DATA(avx10_mask_vcvtneph2hf8512, INTR_TYPE_1OP_MASK,
+                       X86ISD::VCVTNEPH2HF8, 0),
+    X86_INTRINSIC_DATA(avx10_mask_vcvtneph2hf8s128, TRUNCATE_TO_REG,
+                       X86ISD::VCVTNEPH2HF8S, X86ISD::VMCVTNEPH2HF8S),
+    X86_INTRINSIC_DATA(avx10_mask_vcvtneph2hf8s256, INTR_TYPE_1OP_MASK,
+                       X86ISD::VCVTNEPH2HF8S, 0),
+    X86_INTRINSIC_DATA(avx10_mask_vcvtneph2hf8s512, INTR_TYPE_1OP_MASK,
+                       X86ISD::VCVTNEPH2HF8S, 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,
@@ -546,6 +607,30 @@ static const IntrinsicData IntrinsicsWithoutChain[] = {
                        X86ISD::FADD_RND),
     X86_INTRINSIC_DATA(avx10_vaddps256, INTR_TYPE_2OP, ISD::FADD,
                        X86ISD::FADD_RND),
+    X86_INTRINSIC_DATA(avx10_vcvtne2ph2bf8128, INTR_TYPE_2OP,
+                       X86ISD::VCVTNE2PH2BF8, 0),
+    X86_INTRINSIC_DATA(avx10_vcvtne2ph2bf8256, INTR_TYPE_2OP,
+                       X86ISD::VCVTNE2PH2BF8, 0),
+    X86_INTRINSIC_DATA(avx10_vcvtne2ph2bf8512, INTR_TYPE_2OP,
+                       X86ISD::VCVTNE2PH2BF8, 0),
+    X86_INTRINSIC_DATA(avx10_vcvtne2ph2bf8s128, INTR_TYPE_2OP,
+                       X86ISD::VCVTNE2PH2BF8S, 0),
+    X86_INTRINSIC_DATA(avx10_vcvtne2ph2bf8s256, INTR_TYPE_2OP,
+                       X86ISD::VCVTNE2PH2BF8S, 0),
+    X86_INTRINSIC_DATA(avx10_vcvtne2ph2bf8s512, INTR_TYPE_2OP,
+                       X86ISD::VCVTNE2PH2BF8S, 0),
+    X86_INTRINSIC_DATA(avx10_vcvtne2ph2hf8128, INTR_TYPE_2OP,
+                       X86ISD::VCVTNE2PH2HF8, 0),
+    X86_INTRINSIC_DATA(avx10_vcvtne2ph2hf8256, INTR_TYPE_2OP,
+                       X86ISD::VCVTNE2PH2HF8, 0),
+    X86_INTRINSIC_DATA(avx10_vcvtne2ph2hf8512, INTR_TYPE_2OP,
+                       X86ISD::VCVTNE2PH2HF8, 0),
+    X86_INTRINSIC_DATA(avx10_vcvtne2ph2hf8s128, INTR_TYPE_2OP,
+                       X86ISD::VCVTNE2PH2HF8S, 0),
+    X86_INTRINSIC_DATA(avx10_vcvtne2ph2hf8s256, INTR_TYPE_2OP,
+                       X86ISD::VCVTNE2PH2HF8S, 0),
+    X86_INTRINSIC_DATA(avx10_vcvtne2ph2hf8s512, INTR_TYPE_2OP,
+                       X86ISD::VCVTNE2PH2HF8S, 0),
     X86_INTRINSIC_DATA(avx10_vdivpd256, INTR_TYPE_2OP, ISD::FDIV,
                        X86ISD::FDIV_RND),
     X86_INTRINSIC_DATA(avx10_vdivph256, INTR_TYPE_2OP, ISD::FDIV,
diff --git a/llvm/test/CodeGen/X86/avx10_2_512convert-intrinsics.ll b/llvm/test/CodeGen/X86/avx10_2_512convert-intrinsics.ll
new file mode 100644
index 0000000000000..b9febe8f48fa2
--- /dev/null
+++ b/llvm/test/CodeGen/X86/avx10_2_512convert-intrinsics.ll
@@ -0,0 +1,578 @@
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
+; RUN: llc < %s -verify-machineinstrs -mtriple=x86_64-unknown-unknown --show-mc-encoding -mattr=+avx10.2-512 | FileCheck %s --check-prefixes=CHECK,X64
+; RUN: llc < %s -verify-machineinstrs -mtriple=i686-unknown-unknown --show-mc-encoding -mattr=+avx10.2-512 | FileCheck %s --check-prefixes=CHECK,X86
+
+define <32 x half> @test_int_x86_avx512_vcvt2ps2phx512(<16 x float> %A, <16 x float> %B) {
+; X64-LABEL: test_int_x86_avx512_vcvt2ps2phx512:
+; X64:       # %bb.0:
+; X64-NEXT:    vcvt2ps2phx %zmm1, %zmm0, %zmm0 # encoding: [0x62,0xf2,0x7d,0x48,0x67,0xc1]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx512_vcvt2ps2phx512:
+; X86:       # %bb.0:
+; X86-NEXT:    vcvt2ps2phx %zmm1, %zmm0, %zmm0 # encoding: [0x62,0xf2,0x7d,0x48,0x67,0xc1]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <32 x half> @llvm.x86.avx10.mask.vcvt2ps2phx.512(<16 x float> %A, <16 x float> %B, <32 x half> zeroinitializer, i32 -1, i32 4)
+  ret <32 x half> %ret
+}
+
+define <32 x half> @test_int_x86_avx512_vcvt2ps2phx512_mask(<32 x half> %W, i32 %U, <16 x float> %A, <16 x float> %B) {
+; X64-LABEL: test_int_x86_avx512_vcvt2ps2phx512_mask:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvt2ps2phx %zmm2, %zmm1, %zmm0 {%k1} # encoding: [0x62,0xf2,0x75,0x49,0x67,0xc2]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx512_vcvt2ps2phx512_mask:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovd {{[0-9]+}}(%esp), %k1 # encoding: [0xc4,0xe1,0xf9,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvt2ps2phx %zmm2, %zmm1, %zmm0 {%k1} # encoding: [0x62,0xf2,0x75,0x49,0x67,0xc2]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <32 x half> @llvm.x86.avx10.mask.vcvt2ps2phx.512(<16 x float> %A, <16 x float> %B, <32 x half> %W, i32 %U, i32 4)
+  ret <32 x half> %ret
+}
+
+define <32 x half> @test_int_x86_avx512_vcvt2ps2phx512_round(<16 x float> %A, <16 x float> %B) {
+; X64-LABEL: test_int_x86_avx512_vcvt2ps2phx512_round:
+; X64:       # %bb.0:
+; X64-NEXT:    vcvt2ps2phx {rz-sae}, %zmm1, %zmm0, %zmm0 # encoding: [0x62,0xf2,0x7d,0x78,0x67,0xc1]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx512_vcvt2ps2phx512_round:
+; X86:       # %bb.0:
+; X86-NEXT:    vcvt2ps2phx {rz-sae}, %zmm1, %zmm0, %zmm0 # encoding: [0x62,0xf2,0x7d,0x78,0x67,0xc1]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <32 x half> @llvm.x86.avx10.mask.vcvt2ps2phx.512(<16 x float> %A, <16 x float> %B, <32 x half> zeroinitializer, i32 -1, i32 11)
+  ret <32 x half> %ret
+}
+
+define <32 x half> @test_int_x86_avx512_vcvt2ps2phx512_round_mask(<32 x half> %W, i32 %U, <16 x float> %A, <16 x float> %B) {
+; X64-LABEL: test_int_x86_avx512_vcvt2ps2phx512_round_mask:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvt2ps2phx {rz-sae}, %zmm2, %zmm1, %zmm0 {%k1} # encoding: [0x62,0xf2,0x75,0x79,0x67,0xc2]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx512_vcvt2ps2phx512_round_mask:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovd {{[0-9]+}}(%esp), %k1 # encoding: [0xc4,0xe1,0xf9,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvt2ps2phx {rz-sae}, %zmm2, %zmm1, %zmm0 {%k1} # encoding: [0x62,0xf2,0x75,0x79,0x67,0xc2]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <32 x half> @llvm.x86.avx10.mask.vcvt2ps2phx.512(<16 x float> %A, <16 x float> %B, <32 x half> %W, i32 %U, i32 11)
+  ret <32 x half> %ret
+}
+
+declare <32 x half> @llvm.x86.avx10.mask.vcvt2ps2phx512(<16 x float>, <16 x float>, i32, i32)
+
+define <32 x i8> @test_int_x86_avx10_vcvtbiasph2bf8512(<64 x i8> %A, <32 x half> %B) nounwind {
+; CHECK-LABEL: test_int_x86_avx10_vcvtbiasph2bf8512:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    vcvtbiasph2bf8 %zmm1, %zmm0, %ymm0 # encoding: [0x62,0xf2,0x7c,0x48,0x74,0xc1]
+; CHECK-NEXT:    ret{{[l|q]}} # encoding: [0xc3]
+  %ret = call <32 x i8> @llvm.x86.avx10.mask.vcvtbiasph2bf8512(<64 x i8> %A, <32 x half> %B, <32 x i8> undef, i32 -1)
+  ret <32 x i8> %ret
+}
+
+define <32 x i8> @test_int_x86_avx10_mask_vcvtbiasph2bf8512(<32 x i8> %W, i32 %U, <64 x i8> %A, <32 x half> %B) nounwind {
+; X64-LABEL: test_int_x86_avx10_mask_vcvtbiasph2bf8512:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtbiasph2bf8 %zmm2, %zmm1, %ymm0 {%k1} # encoding: [0x62,0xf2,0x74,0x49,0x74,0xc2]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_mask_vcvtbiasph2bf8512:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovd {{[0-9]+}}(%esp), %k1 # encoding: [0xc4,0xe1,0xf9,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtbiasph2bf8 %zmm2, %zmm1, %ymm0 {%k1} # encoding: [0x62,0xf2,0x74,0x49,0x74,0xc2]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <32 x i8> @llvm.x86.avx10.mask.vcvtbiasph2bf8512(<64 x i8> %A, <32 x half> %B, <32 x i8> %W, i32 %U)
+  ret <32 x i8> %ret
+}
+
+declare <32 x i8> @llvm.x86.avx10.mask.vcvtbiasph2bf8512(<64 x i8> %A, <32 x half> %B, <32 x i8> %W, i32 %U)
+
+define <32 x i8> @test_int_x86_avx10_maskz_vcvtbiasph2bf8512(<64 x i8> %A, <32 x half> %B, i32 %U) nounwind {
+; X64-LABEL: test_int_x86_avx10_maskz_vcvtbiasph2bf8512:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtbiasph2bf8 %zmm1, %zmm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf2,0x7c,0xc9,0x74,0xc1]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_maskz_vcvtbiasph2bf8512:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovd {{[0-9]+}}(%esp), %k1 # encoding: [0xc4,0xe1,0xf9,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtbiasph2bf8 %zmm1, %zmm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf2,0x7c,0xc9,0x74,0xc1]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <32 x i8> @llvm.x86.avx10.mask.vcvtbiasph2bf8512(<64 x i8> %A, <32 x half> %B, <32 x i8> zeroinitializer, i32 %U)
+  ret <32 x i8> %ret
+}
+
+define <32 x i8> @test_int_x86_avx10_vcvtbiasph2bf8s512(<64 x i8> %A, <32 x half> %B) nounwind {
+; CHECK-LABEL: test_int_x86_avx10_vcvtbiasph2bf8s512:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    vcvtbiasph2bf8s %zmm1, %zmm0, %ymm0 # encoding: [0x62,0xf5,0x7c,0x48,0x74,0xc1]
+; CHECK-NEXT:    ret{{[l|q]}} # encoding: [0xc3]
+  %ret = call <32 x i8> @llvm.x86.avx10.mask.vcvtbiasph2bf8s512(<64 x i8> %A, <32 x half> %B, <32 x i8> undef, i32 -1)
+  ret <32 x i8> %ret
+}
+
+define <32 x i8> @test_int_x86_avx10_mask_vcvtbiasph2bf8s512(<32 x i8> %W, i32 %U, <64 x i8> %A, <32 x half> %B) nounwind {
+; X64-LABEL: test_int_x86_avx10_mask_vcvtbiasph2bf8s512:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtbiasph2bf8s %zmm2, %zmm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x74,0x49,0x74,0xc2]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_mask_vcvtbiasph2bf8s512:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovd {{[0-9]+}}(%esp), %k1 # encoding: [0xc4,0xe1,0xf9,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtbiasph2bf8s %zmm2, %zmm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x74,0x49,0x74,0xc2]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <32 x i8> @llvm.x86.avx10.mask.vcvtbiasph2bf8s512(<64 x i8> %A, <32 x half> %B, <32 x i8> %W, i32 %U)
+  ret <32 x i8> %ret
+}
+
+declare <32 x i8> @llvm.x86.avx10.mask.vcvtbiasph2bf8s512(<64 x i8> %A, <32 x half> %B, <32 x i8> %W, i32 %U)
+
+define <32 x i8> @test_int_x86_avx10_maskz_vcvtbiasph2bf8s512(<64 x i8> %A, <32 x half> %B, i32 %U) nounwind {
+; X64-LABEL: test_int_x86_avx10_maskz_vcvtbiasph2bf8s512:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtbiasph2bf8s %zmm1, %zmm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x7c,0xc9,0x74,0xc1]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_maskz_vcvtbiasph2bf8s512:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovd {{[0-9]+}}(%esp), %k1 # encoding: [0xc4,0xe1,0xf9,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtbiasph2bf8s %zmm1, %zmm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x7c,0xc9,0x74,0xc1]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <32 x i8> @llvm.x86.avx10.mask.vcvtbiasph2bf8s512(<64 x i8> %A, <32 x half> %B, <32 x i8> zeroinitializer, i32 %U)
+  ret <32 x i8> %ret
+}
+
+define <32 x i8> @test_int_x86_avx10_vcvtbiasph2hf8512(<64 x i8> %A, <32 x half> %B) nounwind {
+; CHECK-LABEL: test_int_x86_avx10_vcvtbiasph2hf8512:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    vcvtbiasph2hf8 %zmm1, %zmm0, %ymm0 # encoding: [0x62,0xf5,0x7c,0x48,0x18,0xc1]
+; CHECK-NEXT:    ret{{[l|q]}} # encoding: [0xc3]
+  %ret = call <32 x i8> @llvm.x86.avx10.mask.vcvtbiasph2hf8512(<64 x i8> %A, <32 x half> %B, <32 x i8> undef, i32 -1)
+  ret <32 x i8> %ret
+}
+
+define <32 x i8> @test_int_x86_avx10_mask_vcvtbiasph2hf8512(<32 x i8> %W, i32 %U, <64 x i8> %A, <32 x half> %B) nounwind {
+; X64-LABEL: test_int_x86_avx10_mask_vcvtbiasph2hf8512:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtbiasph2hf8 %zmm2, %zmm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x74,0x49,0x18,0xc2]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_mask_vcvtbiasph2hf8512:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovd {{[0-9]+}}(%esp), %k1 # encoding: [0xc4,0xe1,0xf9,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtbiasph2hf8 %zmm2, %zmm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x74,0x49,0x18,0xc2]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <32 x i8> @llvm.x86.avx10.mask.vcvtbiasph2hf8512(<64 x i8> %A, <32 x half> %B, <32 x i8> %W, i32 %U)
+  ret <32 x i8> %ret
+}
+
+declare <32 x i8> @llvm.x86.avx10.mask.vcvtbiasph2hf8512(<64 x i8> %A, <32 x half> %B, <32 x i8> %W, i32 %U)
+
+define <32 x i8> @test_int_x86_avx10_maskz_vcvtbiasph2hf8512(<64 x i8> %A, <32 x half> %B, i32 %U) nounwind {
+; X64-LABEL: test_int_x86_avx10_maskz_vcvtbiasph2hf8512:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtbiasph2hf8 %zmm1, %zmm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x7c,0xc9,0x18,0xc1]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_maskz_vcvtbiasph2hf8512:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovd {{[0-9]+}}(%esp), %k1 # encoding: [0xc4,0xe1,0xf9,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtbiasph2hf8 %zmm1, %zmm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x7c,0xc9,0x18,0xc1]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <32 x i8> @llvm.x86.avx10.mask.vcvtbiasph2hf8512(<64 x i8> %A, <32 x half> %B, <32 x i8> zeroinitializer, i32 %U)
+  ret <32 x i8> %ret
+}
+
+define <32 x i8> @test_int_x86_avx10_vcvtbiasph2hf8s512(<64 x i8> %A, <32 x half> %B) nounwind {
+; CHECK-LABEL: test_int_x86_avx10_vcvtbiasph2hf8s512:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    vcvtbiasph2hf8s %zmm1, %zmm0, %ymm0 # encoding: [0x62,0xf5,0x7c,0x48,0x1b,0xc1]
+; CHECK-NEXT:    ret{{[l|q]}} # encoding: [0xc3]
+  %ret = call <32 x i8> @llvm.x86.avx10.mask.vcvtbiasph2hf8s512(<64 x i8> %A, <32 x half> %B, <32 x i8> undef, i32 -1)
+  ret <32 x i8> %ret
+}
+
+define <32 x i8> @test_int_x86_avx10_mask_vcvtbiasph2hf8s512(<32 x i8> %W, i32 %U, <64 x i8> %A, <32 x half> %B) nounwind {
+; X64-LABEL: test_int_x86_avx10_mask_vcvtbiasph2hf8s512:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtbiasph2hf8s %zmm2, %zmm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x74,0x49,0x1b,0xc2]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_mask_vcvtbiasph2hf8s512:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovd {{[0-9]+}}(%esp), %k1 # encoding: [0xc4,0xe1,0xf9,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtbiasph2hf8s %zmm2, %zmm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x74,0x49,0x1b,0xc2]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <32 x i8> @llvm.x86.avx10.mask.vcvtbiasph2hf8s512(<64 x i8> %A, <32 x half> %B, <32 x i8> %W, i32 %U)
+  ret <32 x i8> %ret
+}
+
+declare <32 x i8> @llvm.x86.avx10.mask.vcvtbiasph2hf8s512(<64 x i8> %A, <32 x half> %B, <32 x i8> %W, i32 %U)
+
+define <32 x i8> @test_int_x86_avx10_maskz_vcvtbiasph2hf8s512(<64 x i8> %A, <32 x half> %B, i32 %U) nounwind {
+; X64-LABEL: test_int_x86_avx10_maskz_vcvtbiasph2hf8s512:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtbiasph2hf8s %zmm1, %zmm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x7c,0xc9,0x1b,0xc1]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_maskz_vcvtbiasph2hf8s512:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovd {{[0-9]+}}(%esp), %k1 # encoding: [0xc4,0xe1,0xf9,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtbiasph2hf8s %zmm1, %zmm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x7c,0xc9,0x1b,0xc1]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <32 x i8> @llvm.x86.avx10.mask.vcvtbiasph2hf8s512(<64 x i8> %A, <32 x half> %B, <32 x i8> zeroinitializer, i32 %U)
+  ret <32 x i8> %ret
+}
+
+define <64 x i8> @test_int_x86_avx10_vcvtne2ph2bf8512(<32 x half> %A, <32 x half> %B) nounwind {
+; CHECK-LABEL: test_int_x86_avx10_vcvtne2ph2bf8512:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    vcvtne2ph2bf8 %zmm1, %zmm0, %zmm0 # encoding: [0x62,0xf2,0x7f,0x48,0x74,0xc1]
+; CHECK-NEXT:    ret{{[l|q]}} # encoding: [0xc3]
+  %ret = call <64 x i8> @llvm.x86.avx10.vcvtne2ph2bf8512(<32 x half> %A, <32 x half> %B)
+  ret <64 x i8> %ret
+}
+
+define <8 x i64> @test_int_x86_avx10_vcvtne2ph2bf8512_mask(<8 x i64> %C, i64 %U, <32 x half> %A, <32 x half> %B) nounwind {
+; X64-LABEL: test_int_x86_avx10_vcvtne2ph2bf8512_mask:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovq %rdi, %k1 # encoding: [0xc4,0xe1,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtne2ph2bf8 %zmm2, %zmm1, %zmm0 {%k1} # encoding: [0x62,0xf2,0x77,0x49,0x74,0xc2]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_vcvtne2ph2bf8512_mask:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovq {{[0-9]+}}(%esp), %k1 # encoding: [0xc4,0xe1,0xf8,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtne2ph2bf8 %zmm2, %zmm1, %zmm0 {%k1} # encoding: [0x62,0xf2,0x77,0x49,0x74,0xc2]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %1 = call <64 x i8> @llvm.x86.avx10.vcvtne2ph2bf8512(<32 x half> %A, <32 x half> %B)
+  %2 = bitcast <8 x i64> %C to <64 x i8>
+  %3 = bitcast i64 %U to <64 x i1>
+  %4 = select <64 x i1> %3, <64 x i8> %1, <64 x i8> %2
+  %5 = bitcast <64 x i8> %4 to <8 x i64>
+  ret <8 x i64> %5
+}
+
+declare <64 x i8> @llvm.x86.avx10.vcvtne2ph2bf8512(<32 x half> %A, <32 x half> %B)
+
+define <64 x i8> @test_int_x86_avx10_vcvtne2ph2bf8s512(<32 x half> %A, <32 x half> %B) nounwind {
+; CHECK-LABEL: test_int_x86_avx10_vcvtne2ph2bf8s512:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    vcvtne2ph2bf8s %zmm1, %zmm0, %zmm0 # encoding: [0x62,0xf5,0x7f,0x48,0x74,0xc1]
+; CHECK-NEXT:    ret{{[l|q]}} # encoding: [0xc3]
+  %ret = call <64 x i8> @llvm.x86.avx10.vcvtne2ph2bf8s512(<32 x half> %A, <32 x half> %B)
+  ret <64 x i8> %ret
+}
+
+declare <64 x i8> @llvm.x86.avx10.vcvtne2ph2bf8s512(<32 x half> %A, <32 x half> %B)
+
+define <8 x i64> @test_int_x86_avx10_vcvtne2ph2bf8s512_mask(<8 x i64> %C, i64 %U, <32 x half> %A, <32 x half> %B) nounwind {
+; X64-LABEL: test_int_x86_avx10_vcvtne2ph2bf8s512_mask:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovq %rdi, %k1 # encoding: [0xc4,0xe1,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtne2ph2bf8s %zmm2, %zmm1, %zmm0 {%k1} # encoding: [0x62,0xf5,0x77,0x49,0x74,0xc2]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_vcvtne2ph2bf8s512_mask:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovq {{[0-9]+}}(%esp), %k1 # encoding: [0xc4,0xe1,0xf8,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtne2ph2bf8s %zmm2, %zmm1, %zmm0 {%k1} # encoding: [0x62,0xf5,0x77,0x49,0x74,0xc2]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %1 = call <64 x i8> @llvm.x86.avx10.vcvtne2ph2bf8s512(<32 x half> %A, <32 x half> %B)
+  %2 = bitcast <8 x i64> %C to <64 x i8>
+  %3 = bitcast i64 %U to <64 x i1>
+  %4 = select <64 x i1> %3, <64 x i8> %1, <64 x i8> %2
+  %5 = bitcast <64 x i8> %4 to <8 x i64>
+  ret <8 x i64> %5
+}
+
+define <64 x i8> @test_int_x86_avx10_vcvtne2ph2hf8512(<32 x half> %A, <32 x half> %B) nounwind {
+; CHECK-LABEL: test_int_x86_avx10_vcvtne2ph2hf8512:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    vcvtne2ph2hf8 %zmm1, %zmm0, %zmm0 # encoding: [0x62,0xf5,0x7f,0x48,0x18,0xc1]
+; CHECK-NEXT:    ret{{[l|q]}} # encoding: [0xc3]
+  %ret = call <64 x i8> @llvm.x86.avx10.vcvtne2ph2hf8512(<32 x half> %A, <32 x half> %B)
+  ret <64 x i8> %ret
+}
+
+define <8 x i64> @test_int_x86_avx10_vcvtne2ph2hf8512_mask(<8 x i64> %C, i64 %U, <32 x half> %A, <32 x half> %B) nounwind {
+; X64-LABEL: test_int_x86_avx10_vcvtne2ph2hf8512_mask:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovq %rdi, %k1 # encoding: [0xc4,0xe1,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtne2ph2hf8 %zmm2, %zmm1, %zmm0 {%k1} # encoding: [0x62,0xf5,0x77,0x49,0x18,0xc2]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_vcvtne2ph2hf8512_mask:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovq {{[0-9]+}}(%esp), %k1 # encoding: [0xc4,0xe1,0xf8,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtne2ph2hf8 %zmm2, %zmm1, %zmm0 {%k1} # encoding: [0x62,0xf5,0x77,0x49,0x18,0xc2]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %1 = call <64 x i8> @llvm.x86.avx10.vcvtne2ph2hf8512(<32 x half> %A, <32 x half> %B)
+  %2 = bitcast <8 x i64> %C to <64 x i8>
+  %3 = bitcast i64 %U to <64 x i1>
+  %4 = select <64 x i1> %3, <64 x i8> %1, <64 x i8> %2
+  %5 = bitcast <64 x i8> %4 to <8 x i64>
+  ret <8 x i64> %5
+}
+
+declare <64 x i8> @llvm.x86.avx10.vcvtne2ph2hf8512(<32 x half> %A, <32 x half> %B)
+
+define <64 x i8> @test_int_x86_avx10_vcvtne2ph2hf8s512(<32 x half> %A, <32 x half> %B) nounwind {
+; CHECK-LABEL: test_int_x86_avx10_vcvtne2ph2hf8s512:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    vcvtne2ph2hf8s %zmm1, %zmm0, %zmm0 # encoding: [0x62,0xf5,0x7f,0x48,0x1b,0xc1]
+; CHECK-NEXT:    ret{{[l|q]}} # encoding: [0xc3]
+  %ret = call <64 x i8> @llvm.x86.avx10.vcvtne2ph2hf8s512(<32 x half> %A, <32 x half> %B)
+  ret <64 x i8> %ret
+}
+
+define <8 x i64> @test_int_x86_avx10_vcvtne2ph2hf8s512_mask(<8 x i64> %C, i64 %U, <32 x half> %A, <32 x half> %B) nounwind {
+; X64-LABEL: test_int_x86_avx10_vcvtne2ph2hf8s512_mask:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovq %rdi, %k1 # encoding: [0xc4,0xe1,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtne2ph2hf8s %zmm2, %zmm1, %zmm0 {%k1} # encoding: [0x62,0xf5,0x77,0x49,0x1b,0xc2]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_vcvtne2ph2hf8s512_mask:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovq {{[0-9]+}}(%esp), %k1 # encoding: [0xc4,0xe1,0xf8,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtne2ph2hf8s %zmm2, %zmm1, %zmm0 {%k1} # encoding: [0x62,0xf5,0x77,0x49,0x1b,0xc2]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %1 = call <64 x i8> @llvm.x86.avx10.vcvtne2ph2hf8s512(<32 x half> %A, <32 x half> %B)
+  %2 = bitcast <8 x i64> %C to <64 x i8>
+  %3 = bitcast i64 %U to <64 x i1>
+  %4 = select <64 x i1> %3, <64 x i8> %1, <64 x i8> %2
+  %5 = bitcast <64 x i8> %4 to <8 x i64>
+  ret <8 x i64> %5
+}
+
+declare <64 x i8> @llvm.x86.avx10.vcvtne2ph2hf8s512(<32 x half> %A, <32 x half> %B)
+
+define <32 x half> @test_int_x86_avx10_vcvthf82ph512(<32 x i8> %A) nounwind {
+; CHECK-LABEL: test_int_x86_avx10_vcvthf82ph512:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    vcvthf82ph %ymm0, %zmm0 # encoding: [0x62,0xf5,0x7f,0x48,0x1e,0xc0]
+; CHECK-NEXT:    ret{{[l|q]}} # encoding: [0xc3]
+  %ret = call <32 x half> @llvm.x86.avx10.mask.vcvthf82ph512(<32 x i8> %A, <32 x half> undef, i32 -1)
+  ret <32 x half> %ret
+}
+
+define <32 x half> @test_int_x86_avx10_mask_vcvthf82ph512(<32 x i8> %A, <32 x half> %B, i32 %C) nounwind {
+; X64-LABEL: test_int_x86_avx10_mask_vcvthf82ph512:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvthf82ph %ymm0, %zmm1 {%k1} # encoding: [0x62,0xf5,0x7f,0x49,0x1e,0xc8]
+; X64-NEXT:    vmovdqa64 %zmm1, %zmm0 # encoding: [0x62,0xf1,0xfd,0x48,0x6f,0xc1]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_mask_vcvthf82ph512:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovd {{[0-9]+}}(%esp), %k1 # encoding: [0xc4,0xe1,0xf9,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvthf82ph %ymm0, %zmm1 {%k1} # encoding: [0x62,0xf5,0x7f,0x49,0x1e,0xc8]
+; X86-NEXT:    vmovdqa64 %zmm1, %zmm0 # encoding: [0x62,0xf1,0xfd,0x48,0x6f,0xc1]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <32 x half> @llvm.x86.avx10.mask.vcvthf82ph512(<32 x i8> %A, <32 x half> %B, i32 %C)
+  ret <32 x half> %ret
+}
+
+declare <32 x half> @llvm.x86.avx10.mask.vcvthf82ph512(<32 x i8> %A, <32 x half> %B, i32 %C)
+
+define <32 x half> @test_int_x86_avx10_maskz_vcvthf82ph512(<32 x i8> %A, i32 %B) nounwind {
+; X64-LABEL: test_int_x86_avx10_maskz_vcvthf82ph512:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvthf82ph %ymm0, %zmm0 {%k1} {z} # encoding: [0x62,0xf5,0x7f,0xc9,0x1e,0xc0]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_maskz_vcvthf82ph512:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovd {{[0-9]+}}(%esp), %k1 # encoding: [0xc4,0xe1,0xf9,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvthf82ph %ymm0, %zmm0 {%k1} {z} # encoding: [0x62,0xf5,0x7f,0xc9,0x1e,0xc0]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <32 x half> @llvm.x86.avx10.mask.vcvthf82ph512(<32 x i8> %A, <32 x half> zeroinitializer, i32 %B)
+  ret <32 x half> %ret
+}
+
+define <32 x i8> @test_int_x86_avx10_vcvtneph2bf8512(<32 x half> %A) nounwind {
+; CHECK-LABEL: test_int_x86_avx10_vcvtneph2bf8512:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    vcvtneph2bf8 %zmm0, %ymm0 # encoding: [0x62,0xf2,0x7e,0x48,0x74,0xc0]
+; CHECK-NEXT:    ret{{[l|q]}} # encoding: [0xc3]
+  %ret = call <32 x i8> @llvm.x86.avx10.mask.vcvtneph2bf8512(<32 x half> %A, <32 x i8> undef, i32 -1)
+  ret <32 x i8> %ret
+}
+
+define <32 x i8> @test_int_x86_avx10_mask_vcvtneph2bf8512(<32 x i8> %B, <32 x half> %A, i32 %C) nounwind {
+; X64-LABEL: test_int_x86_avx10_mask_vcvtneph2bf8512:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtneph2bf8 %zmm1, %ymm0 {%k1} # encoding: [0x62,0xf2,0x7e,0x49,0x74,0xc1]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_mask_vcvtneph2bf8512:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovd {{[0-9]+}}(%esp), %k1 # encoding: [0xc4,0xe1,0xf9,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtneph2bf8 %zmm1, %ymm0 {%k1} # encoding: [0x62,0xf2,0x7e,0x49,0x74,0xc1]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <32 x i8> @llvm.x86.avx10.mask.vcvtneph2bf8512(<32 x half> %A, <32 x i8> %B, i32 %C)
+  ret <32 x i8> %ret
+}
+
+declare <32 x i8> @llvm.x86.avx10.mask.vcvtneph2bf8512(<32 x half> %A, <32 x i8> %B, i32 %C)
+
+define <32 x i8> @test_int_x86_avx10_maskz_vcvtneph2bf8512(<32 x half> %A, i32 %B) nounwind {
+; X64-LABEL: test_int_x86_avx10_maskz_vcvtneph2bf8512:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtneph2bf8 %zmm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf2,0x7e,0xc9,0x74,0xc0]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_maskz_vcvtneph2bf8512:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovd {{[0-9]+}}(%esp), %k1 # encoding: [0xc4,0xe1,0xf9,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtneph2bf8 %zmm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf2,0x7e,0xc9,0x74,0xc0]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <32 x i8> @llvm.x86.avx10.mask.vcvtneph2bf8512(<32 x half> %A, <32 x i8> zeroinitializer, i32 %B)
+  ret <32 x i8> %ret
+}
+
+define <32 x i8> @test_int_x86_avx10_vcvtneph2bf8s512(<32 x half> %A) nounwind {
+; CHECK-LABEL: test_int_x86_avx10_vcvtneph2bf8s512:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    vcvtneph2bf8s %zmm0, %ymm0 # encoding: [0x62,0xf5,0x7e,0x48,0x74,0xc0]
+; CHECK-NEXT:    ret{{[l|q]}} # encoding: [0xc3]
+  %ret = call <32 x i8> @llvm.x86.avx10.mask.vcvtneph2bf8s512(<32 x half> %A, <32 x i8> undef, i32 -1)
+  ret <32 x i8> %ret
+}
+
+define <32 x i8> @test_int_x86_avx10_mask_vcvtneph2bf8s512(<32 x i8> %B, <32 x half> %A, i32 %C) nounwind {
+; X64-LABEL: test_int_x86_avx10_mask_vcvtneph2bf8s512:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtneph2bf8s %zmm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x7e,0x49,0x74,0xc1]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_mask_vcvtneph2bf8s512:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovd {{[0-9]+}}(%esp), %k1 # encoding: [0xc4,0xe1,0xf9,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtneph2bf8s %zmm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x7e,0x49,0x74,0xc1]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <32 x i8> @llvm.x86.avx10.mask.vcvtneph2bf8s512(<32 x half> %A, <32 x i8> %B, i32 %C)
+  ret <32 x i8> %ret
+}
+
+declare <32 x i8> @llvm.x86.avx10.mask.vcvtneph2bf8s512(<32 x half> %A, <32 x i8> %B, i32 %C)
+
+define <32 x i8> @test_int_x86_avx10_maskz_vcvtneph2bf8s512(<32 x half> %A, i32 %B) nounwind {
+; X64-LABEL: test_int_x86_avx10_maskz_vcvtneph2bf8s512:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtneph2bf8s %zmm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x7e,0xc9,0x74,0xc0]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_maskz_vcvtneph2bf8s512:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovd {{[0-9]+}}(%esp), %k1 # encoding: [0xc4,0xe1,0xf9,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtneph2bf8s %zmm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x7e,0xc9,0x74,0xc0]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <32 x i8> @llvm.x86.avx10.mask.vcvtneph2bf8s512(<32 x half> %A, <32 x i8> zeroinitializer, i32 %B)
+  ret <32 x i8> %ret
+}
+
+define <32 x i8> @test_int_x86_avx10_vcvtneph2hf8512(<32 x half> %A) nounwind {
+; CHECK-LABEL: test_int_x86_avx10_vcvtneph2hf8512:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    vcvtneph2hf8 %zmm0, %ymm0 # encoding: [0x62,0xf5,0x7e,0x48,0x18,0xc0]
+; CHECK-NEXT:    ret{{[l|q]}} # encoding: [0xc3]
+  %ret = call <32 x i8> @llvm.x86.avx10.mask.vcvtneph2hf8512(<32 x half> %A, <32 x i8> undef, i32 -1)
+  ret <32 x i8> %ret
+}
+
+define <32 x i8> @test_int_x86_avx10_mask_vcvtneph2hf8512(<32 x i8> %B, <32 x half> %A, i32 %C) nounwind {
+; X64-LABEL: test_int_x86_avx10_mask_vcvtneph2hf8512:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtneph2hf8 %zmm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x7e,0x49,0x18,0xc1]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_mask_vcvtneph2hf8512:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovd {{[0-9]+}}(%esp), %k1 # encoding: [0xc4,0xe1,0xf9,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtneph2hf8 %zmm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x7e,0x49,0x18,0xc1]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <32 x i8> @llvm.x86.avx10.mask.vcvtneph2hf8512(<32 x half> %A, <32 x i8> %B, i32 %C)
+  ret <32 x i8> %ret
+}
+
+declare <32 x i8> @llvm.x86.avx10.mask.vcvtneph2hf8512(<32 x half> %A, <32 x i8> %B, i32 %C)
+
+define <32 x i8> @test_int_x86_avx10_maskz_vcvtneph2hf8512(<32 x half> %A, i32 %B) nounwind {
+; X64-LABEL: test_int_x86_avx10_maskz_vcvtneph2hf8512:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtneph2hf8 %zmm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x7e,0xc9,0x18,0xc0]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_maskz_vcvtneph2hf8512:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovd {{[0-9]+}}(%esp), %k1 # encoding: [0xc4,0xe1,0xf9,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtneph2hf8 %zmm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x7e,0xc9,0x18,0xc0]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <32 x i8> @llvm.x86.avx10.mask.vcvtneph2hf8512(<32 x half> %A, <32 x i8> zeroinitializer, i32 %B)
+  ret <32 x i8> %ret
+}
+
+define <32 x i8> @test_int_x86_avx10_vcvtneph2hf8s512(<32 x half> %A) nounwind {
+; CHECK-LABEL: test_int_x86_avx10_vcvtneph2hf8s512:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    vcvtneph2hf8s %zmm0, %ymm0 # encoding: [0x62,0xf5,0x7e,0x48,0x1b,0xc0]
+; CHECK-NEXT:    ret{{[l|q]}} # encoding: [0xc3]
+  %ret = call <32 x i8> @llvm.x86.avx10.mask.vcvtneph2hf8s512(<32 x half> %A, <32 x i8> undef, i32 -1)
+  ret <32 x i8> %ret
+}
+
+define <32 x i8> @test_int_x86_avx10_mask_vcvtneph2hf8s512(<32 x i8> %B, <32 x half> %A, i32 %C) nounwind {
+; X64-LABEL: test_int_x86_avx10_mask_vcvtneph2hf8s512:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtneph2hf8s %zmm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x7e,0x49,0x1b,0xc1]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_mask_vcvtneph2hf8s512:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovd {{[0-9]+}}(%esp), %k1 # encoding: [0xc4,0xe1,0xf9,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtneph2hf8s %zmm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x7e,0x49,0x1b,0xc1]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <32 x i8> @llvm.x86.avx10.mask.vcvtneph2hf8s512(<32 x half> %A, <32 x i8> %B, i32 %C)
+  ret <32 x i8> %ret
+}
+
+declare <32 x i8> @llvm.x86.avx10.mask.vcvtneph2hf8s512(<32 x half> %A, <32 x i8> %B, i32 %C)
+
+define <32 x i8> @test_int_x86_avx10_maskz_vcvtneph2hf8s512(<32 x half> %A, i32 %B) nounwind {
+; X64-LABEL: test_int_x86_avx10_maskz_vcvtneph2hf8s512:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtneph2hf8s %zmm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x7e,0xc9,0x1b,0xc0]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_maskz_vcvtneph2hf8s512:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovd {{[0-9]+}}(%esp), %k1 # encoding: [0xc4,0xe1,0xf9,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtneph2hf8s %zmm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x7e,0xc9,0x1b,0xc0]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <32 x i8> @llvm.x86.avx10.mask.vcvtneph2hf8s512(<32 x half> %A, <32 x i8> zeroinitializer, i32 %B)
+  ret <32 x i8> %ret
+}
diff --git a/llvm/test/CodeGen/X86/avx10_2convert-intrinsics.ll b/llvm/test/CodeGen/X86/avx10_2convert-intrinsics.ll
new file mode 100644
index 0000000000000..6fda46185bb67
--- /dev/null
+++ b/llvm/test/CodeGen/X86/avx10_2convert-intrinsics.ll
@@ -0,0 +1,1147 @@
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
+; RUN: llc < %s -verify-machineinstrs -mtriple=x86_64-unknown-unknown --show-mc-encoding -mattr=+avx10.2-256 | FileCheck %s --check-prefixes=CHECK,X64
+; RUN: llc < %s -verify-machineinstrs -mtriple=i686-unknown-unknown --show-mc-encoding -mattr=+avx10.2-256 | FileCheck %s --check-prefixes=CHECK,X86
+
+define <8 x half> @test_int_x86_avx512_vcvt2ps2phx128(<4 x float> %A, <4 x float> %B) {
+; X64-LABEL: test_int_x86_avx512_vcvt2ps2phx128:
+; X64:       # %bb.0:
+; X64-NEXT:    vcvt2ps2phx %xmm1, %xmm0, %xmm0 # encoding: [0x62,0xf2,0x7d,0x08,0x67,0xc1]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx512_vcvt2ps2phx128:
+; X86:       # %bb.0:
+; X86-NEXT:    vcvt2ps2phx %xmm1, %xmm0, %xmm0 # encoding: [0x62,0xf2,0x7d,0x08,0x67,0xc1]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <8 x half> @llvm.x86.avx10.mask.vcvt2ps2phx.128(<4 x float> %A, <4 x float> %B, <8 x half> zeroinitializer, i8 -1)
+  ret <8 x half> %ret
+}
+
+define <8 x half> @test_int_x86_avx512_vcvt2ps2phx128_mask(<8 x half> %W, i8 %U, <4 x float> %A, <4 x float> %B) {
+; X64-LABEL: test_int_x86_avx512_vcvt2ps2phx128_mask:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvt2ps2phx %xmm2, %xmm1, %xmm0 {%k1} # encoding: [0x62,0xf2,0x75,0x09,0x67,0xc2]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx512_vcvt2ps2phx128_mask:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvt2ps2phx %xmm2, %xmm1, %xmm0 {%k1} # encoding: [0x62,0xf2,0x75,0x09,0x67,0xc2]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <8 x half> @llvm.x86.avx10.mask.vcvt2ps2phx.128(<4 x float> %A, <4 x float> %B, <8 x half> %W, i8 %U)
+  ret <8 x half> %ret
+}
+
+declare <8 x half> @llvm.x86.avx10.mask.vcvt2ps2phx.128(<4 x float>, <4 x float>, <8 x half>, i8)
+
+define <16 x half> @test_int_x86_avx512_vcvt2ps2phx256(<8 x float> %A, <8 x float> %B) {
+; X64-LABEL: test_int_x86_avx512_vcvt2ps2phx256:
+; X64:       # %bb.0:
+; X64-NEXT:    vcvt2ps2phx %ymm1, %ymm0, %ymm0 # encoding: [0x62,0xf2,0x7d,0x28,0x67,0xc1]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx512_vcvt2ps2phx256:
+; X86:       # %bb.0:
+; X86-NEXT:    vcvt2ps2phx %ymm1, %ymm0, %ymm0 # encoding: [0x62,0xf2,0x7d,0x28,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 -1, i32 4)
+  ret <16 x half> %ret
+}
+
+define <16 x half> @test_int_x86_avx512_vcvt2ps2phx256_mask(<16 x half> %W, i16 %U, <8 x float> %A, <8 x float> %B) {
+; X64-LABEL: test_int_x86_avx512_vcvt2ps2phx256_mask:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvt2ps2phx %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf2,0x75,0x29,0x67,0xc2]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx512_vcvt2ps2phx256_mask:
+; X86:       # %bb.0:
+; 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 <16 x half> %ret
+}
+
+define <16 x half> @test_int_x86_avx512_vcvt2ps2phx256_round(<8 x float> %A, <8 x float> %B) {
+; X64-LABEL: test_int_x86_avx512_vcvt2ps2phx256_round:
+; X64:       # %bb.0:
+; X64-NEXT:    vcvt2ps2phx {rz-sae}, %ymm1, %ymm0, %ymm0 # encoding: [0x62,0xf2,0x79,0x78,0x67,0xc1]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx512_vcvt2ps2phx256_round:
+; X86:       # %bb.0:
+; X86-NEXT:    vcvt2ps2phx {rz-sae}, %ymm1, %ymm0, %ymm0 # encoding: [0x62,0xf2,0x79,0x78,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 -1, i32 11)
+  ret <16 x half> %ret
+}
+
+define <16 x half> @test_int_x86_avx512_vcvt2ps2phx256_round_mask(<16 x half> %W, i16 %U, <8 x float> %A, <8 x float> %B) {
+; X64-LABEL: test_int_x86_avx512_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_avx512_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
+}
+
+declare <16 x half> @llvm.x86.avx10.mask.vcvt2ps2phx.256(<8 x float>, <8 x float>, <16 x half>, i16, i32)
+
+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:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    vcvtbiasph2bf8 %xmm1, %xmm0, %xmm0 # encoding: [0x62,0xf2,0x7c,0x08,0x74,0xc1]
+; CHECK-NEXT:    ret{{[l|q]}} # encoding: [0xc3]
+  %ret = call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2bf8128(<16 x i8> %A, <8 x half> %B, <16 x i8> undef, i8 -1)
+  ret <16 x i8> %ret
+}
+
+define <16 x i8> @test_int_x86_avx10_mask_vcvtbiasph2bf8128(<16 x i8> %W, <16 x i8> %A, <8 x half> %B, i8 %U) nounwind {
+; X64-LABEL: test_int_x86_avx10_mask_vcvtbiasph2bf8128:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtbiasph2bf8 %xmm2, %xmm1, %xmm0 {%k1} # encoding: [0x62,0xf2,0x74,0x09,0x74,0xc2]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_mask_vcvtbiasph2bf8128:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtbiasph2bf8 %xmm2, %xmm1, %xmm0 {%k1} # encoding: [0x62,0xf2,0x74,0x09,0x74,0xc2]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2bf8128(<16 x i8> %A, <8 x half> %B, <16 x i8> %W, i8 %U)
+  ret <16 x i8> %ret
+}
+
+declare <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2bf8128(<16 x i8> %A, <8 x half> %B, <16 x i8> %W, i8 %U)
+
+define <16 x i8> @test_int_x86_avx10_maskz_vcvtbiasph2bf8128(<16 x i8> %A, <8 x half> %B, i8 %U) nounwind {
+; X64-LABEL: test_int_x86_avx10_maskz_vcvtbiasph2bf8128:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtbiasph2bf8 %xmm1, %xmm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf2,0x7c,0x89,0x74,0xc1]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_maskz_vcvtbiasph2bf8128:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtbiasph2bf8 %xmm1, %xmm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf2,0x7c,0x89,0x74,0xc1]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2bf8128(<16 x i8> %A, <8 x half> %B, <16 x i8> zeroinitializer, i8 %U)
+  ret <16 x i8> %ret
+}
+
+define <16 x i8> @test_int_x86_avx10_vcvtbiasph2bf8256(<32 x i8> %A, <16 x half> %B) nounwind {
+; CHECK-LABEL: test_int_x86_avx10_vcvtbiasph2bf8256:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    vcvtbiasph2bf8 %ymm1, %ymm0, %xmm0 # encoding: [0x62,0xf2,0x7c,0x28,0x74,0xc1]
+; CHECK-NEXT:    vzeroupper # encoding: [0xc5,0xf8,0x77]
+; CHECK-NEXT:    ret{{[l|q]}} # encoding: [0xc3]
+  %ret = call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2bf8256(<32 x i8> %A, <16 x half> %B, <16 x i8> undef, i16 -1)
+  ret <16 x i8> %ret
+}
+
+define <16 x i8> @test_int_x86_avx10_mask_vcvtbiasph2bf8256(<16 x i8> %W, <32 x i8> %A, <16 x half> %B, i16 %U) nounwind {
+; X64-LABEL: test_int_x86_avx10_mask_vcvtbiasph2bf8256:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtbiasph2bf8 %ymm2, %ymm1, %xmm0 {%k1} # encoding: [0x62,0xf2,0x74,0x29,0x74,0xc2]
+; X64-NEXT:    vzeroupper # encoding: [0xc5,0xf8,0x77]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_mask_vcvtbiasph2bf8256:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtbiasph2bf8 %ymm2, %ymm1, %xmm0 {%k1} # encoding: [0x62,0xf2,0x74,0x29,0x74,0xc2]
+; X86-NEXT:    vzeroupper # encoding: [0xc5,0xf8,0x77]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2bf8256(<32 x i8> %A, <16 x half> %B, <16 x i8> %W, i16 %U)
+  ret <16 x i8> %ret
+}
+
+declare <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2bf8256(<32 x i8> %A, <16 x half> %B, <16 x i8> %W, i16 %U)
+
+define <16 x i8> @test_int_x86_avx10_maskz_vcvtbiasph2bf8256(<32 x i8> %A, <16 x half> %B, i16 %U) nounwind {
+; X64-LABEL: test_int_x86_avx10_maskz_vcvtbiasph2bf8256:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtbiasph2bf8 %ymm1, %ymm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf2,0x7c,0xa9,0x74,0xc1]
+; X64-NEXT:    vzeroupper # encoding: [0xc5,0xf8,0x77]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_maskz_vcvtbiasph2bf8256:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtbiasph2bf8 %ymm1, %ymm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf2,0x7c,0xa9,0x74,0xc1]
+; X86-NEXT:    vzeroupper # encoding: [0xc5,0xf8,0x77]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2bf8256(<32 x i8> %A, <16 x half> %B, <16 x i8> zeroinitializer, i16 %U)
+  ret <16 x i8> %ret
+}
+
+define <16 x i8> @test_int_x86_avx10_vcvtbiasph2bf8s128(<16 x i8> %A, <8 x half> %B) nounwind {
+; CHECK-LABEL: test_int_x86_avx10_vcvtbiasph2bf8s128:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    vcvtbiasph2bf8s %xmm1, %xmm0, %xmm0 # encoding: [0x62,0xf5,0x7c,0x08,0x74,0xc1]
+; CHECK-NEXT:    ret{{[l|q]}} # encoding: [0xc3]
+  %ret = call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2bf8s128(<16 x i8> %A, <8 x half> %B, <16 x i8> undef, i8 -1)
+  ret <16 x i8> %ret
+}
+
+define <16 x i8> @test_int_x86_avx10_mask_vcvtbiasph2bf8s128(<16 x i8> %W, <16 x i8> %A, <8 x half> %B, i8 %U) nounwind {
+; X64-LABEL: test_int_x86_avx10_mask_vcvtbiasph2bf8s128:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtbiasph2bf8s %xmm2, %xmm1, %xmm0 {%k1} # encoding: [0x62,0xf5,0x74,0x09,0x74,0xc2]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_mask_vcvtbiasph2bf8s128:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtbiasph2bf8s %xmm2, %xmm1, %xmm0 {%k1} # encoding: [0x62,0xf5,0x74,0x09,0x74,0xc2]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2bf8s128(<16 x i8> %A, <8 x half> %B, <16 x i8> %W, i8 %U)
+  ret <16 x i8> %ret
+}
+
+declare <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2bf8s128(<16 x i8> %A, <8 x half> %B, <16 x i8> %W, i8 %U)
+
+define <16 x i8> @test_int_x86_avx10_maskz_vcvtbiasph2bf8s128(<16 x i8> %A, <8 x half> %B, i8 %U) nounwind {
+; X64-LABEL: test_int_x86_avx10_maskz_vcvtbiasph2bf8s128:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtbiasph2bf8s %xmm1, %xmm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf5,0x7c,0x89,0x74,0xc1]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_maskz_vcvtbiasph2bf8s128:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtbiasph2bf8s %xmm1, %xmm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf5,0x7c,0x89,0x74,0xc1]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2bf8s128(<16 x i8> %A, <8 x half> %B, <16 x i8> zeroinitializer, i8 %U)
+  ret <16 x i8> %ret
+}
+
+define <16 x i8> @test_int_x86_avx10_vcvtbiasph2bf8s256(<32 x i8> %A, <16 x half> %B) nounwind {
+; CHECK-LABEL: test_int_x86_avx10_vcvtbiasph2bf8s256:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    vcvtbiasph2bf8s %ymm1, %ymm0, %xmm0 # encoding: [0x62,0xf5,0x7c,0x28,0x74,0xc1]
+; CHECK-NEXT:    vzeroupper # encoding: [0xc5,0xf8,0x77]
+; CHECK-NEXT:    ret{{[l|q]}} # encoding: [0xc3]
+  %ret = call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2bf8s256(<32 x i8> %A, <16 x half> %B, <16 x i8> undef, i16 -1)
+  ret <16 x i8> %ret
+}
+
+define <16 x i8> @test_int_x86_avx10_mask_vcvtbiasph2bf8s256(<16 x i8> %W, <32 x i8> %A, <16 x half> %B, i16 %U) nounwind {
+; X64-LABEL: test_int_x86_avx10_mask_vcvtbiasph2bf8s256:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtbiasph2bf8s %ymm2, %ymm1, %xmm0 {%k1} # encoding: [0x62,0xf5,0x74,0x29,0x74,0xc2]
+; X64-NEXT:    vzeroupper # encoding: [0xc5,0xf8,0x77]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_mask_vcvtbiasph2bf8s256:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtbiasph2bf8s %ymm2, %ymm1, %xmm0 {%k1} # encoding: [0x62,0xf5,0x74,0x29,0x74,0xc2]
+; X86-NEXT:    vzeroupper # encoding: [0xc5,0xf8,0x77]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2bf8s256(<32 x i8> %A, <16 x half> %B, <16 x i8> %W, i16 %U)
+  ret <16 x i8> %ret
+}
+
+declare <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2bf8s256(<32 x i8> %A, <16 x half> %B, <16 x i8> %W, i16 %U)
+
+define <16 x i8> @test_int_x86_avx10_maskz_vcvtbiasph2bf8s256(<32 x i8> %A, <16 x half> %B, i16 %U) nounwind {
+; X64-LABEL: test_int_x86_avx10_maskz_vcvtbiasph2bf8s256:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtbiasph2bf8s %ymm1, %ymm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf5,0x7c,0xa9,0x74,0xc1]
+; X64-NEXT:    vzeroupper # encoding: [0xc5,0xf8,0x77]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_maskz_vcvtbiasph2bf8s256:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtbiasph2bf8s %ymm1, %ymm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf5,0x7c,0xa9,0x74,0xc1]
+; X86-NEXT:    vzeroupper # encoding: [0xc5,0xf8,0x77]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2bf8s256(<32 x i8> %A, <16 x half> %B, <16 x i8> zeroinitializer, i16 %U)
+  ret <16 x i8> %ret
+}
+
+define <16 x i8> @test_int_x86_avx10_vcvtbiasph2hf8128(<16 x i8> %A, <8 x half> %B) nounwind {
+; CHECK-LABEL: test_int_x86_avx10_vcvtbiasph2hf8128:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    vcvtbiasph2hf8 %xmm1, %xmm0, %xmm0 # encoding: [0x62,0xf5,0x7c,0x08,0x18,0xc1]
+; CHECK-NEXT:    ret{{[l|q]}} # encoding: [0xc3]
+  %ret = call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2hf8128(<16 x i8> %A, <8 x half> %B, <16 x i8> undef, i8 -1)
+  ret <16 x i8> %ret
+}
+
+define <16 x i8> @test_int_x86_avx10_mask_vcvtbiasph2hf8128(<16 x i8> %W, <16 x i8> %A, <8 x half> %B, i8 %U) nounwind {
+; X64-LABEL: test_int_x86_avx10_mask_vcvtbiasph2hf8128:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtbiasph2hf8 %xmm2, %xmm1, %xmm0 {%k1} # encoding: [0x62,0xf5,0x74,0x09,0x18,0xc2]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_mask_vcvtbiasph2hf8128:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtbiasph2hf8 %xmm2, %xmm1, %xmm0 {%k1} # encoding: [0x62,0xf5,0x74,0x09,0x18,0xc2]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2hf8128(<16 x i8> %A, <8 x half> %B, <16 x i8> %W, i8 %U)
+  ret <16 x i8> %ret
+}
+
+declare <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2hf8128(<16 x i8> %A, <8 x half> %B, <16 x i8> %W, i8 %U)
+
+define <16 x i8> @test_int_x86_avx10_maskz_vcvtbiasph2hf8128(<16 x i8> %A, <8 x half> %B, i8 %U) nounwind {
+; X64-LABEL: test_int_x86_avx10_maskz_vcvtbiasph2hf8128:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtbiasph2hf8 %xmm1, %xmm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf5,0x7c,0x89,0x18,0xc1]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_maskz_vcvtbiasph2hf8128:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtbiasph2hf8 %xmm1, %xmm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf5,0x7c,0x89,0x18,0xc1]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2hf8128(<16 x i8> %A, <8 x half> %B, <16 x i8> zeroinitializer, i8 %U)
+  ret <16 x i8> %ret
+}
+
+define <16 x i8> @test_int_x86_avx10_vcvtbiasph2hf8256(<32 x i8> %A, <16 x half> %B) nounwind {
+; CHECK-LABEL: test_int_x86_avx10_vcvtbiasph2hf8256:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    vcvtbiasph2hf8 %ymm1, %ymm0, %xmm0 # encoding: [0x62,0xf5,0x7c,0x28,0x18,0xc1]
+; CHECK-NEXT:    vzeroupper # encoding: [0xc5,0xf8,0x77]
+; CHECK-NEXT:    ret{{[l|q]}} # encoding: [0xc3]
+  %ret = call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2hf8256(<32 x i8> %A, <16 x half> %B, <16 x i8> undef, i16 -1)
+  ret <16 x i8> %ret
+}
+
+define <16 x i8> @test_int_x86_avx10_mask_vcvtbiasph2hf8256(<16 x i8> %W, <32 x i8> %A, <16 x half> %B, i16 %U) nounwind {
+; X64-LABEL: test_int_x86_avx10_mask_vcvtbiasph2hf8256:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtbiasph2hf8 %ymm2, %ymm1, %xmm0 {%k1} # encoding: [0x62,0xf5,0x74,0x29,0x18,0xc2]
+; X64-NEXT:    vzeroupper # encoding: [0xc5,0xf8,0x77]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_mask_vcvtbiasph2hf8256:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtbiasph2hf8 %ymm2, %ymm1, %xmm0 {%k1} # encoding: [0x62,0xf5,0x74,0x29,0x18,0xc2]
+; X86-NEXT:    vzeroupper # encoding: [0xc5,0xf8,0x77]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2hf8256(<32 x i8> %A, <16 x half> %B, <16 x i8> %W, i16 %U)
+  ret <16 x i8> %ret
+}
+
+declare <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2hf8256(<32 x i8> %A, <16 x half> %B, <16 x i8> %W, i16 %U)
+
+define <16 x i8> @test_int_x86_avx10_maskz_vcvtbiasph2hf8256(<32 x i8> %A, <16 x half> %B, i16 %U) nounwind {
+; X64-LABEL: test_int_x86_avx10_maskz_vcvtbiasph2hf8256:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtbiasph2hf8 %ymm1, %ymm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf5,0x7c,0xa9,0x18,0xc1]
+; X64-NEXT:    vzeroupper # encoding: [0xc5,0xf8,0x77]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_maskz_vcvtbiasph2hf8256:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtbiasph2hf8 %ymm1, %ymm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf5,0x7c,0xa9,0x18,0xc1]
+; X86-NEXT:    vzeroupper # encoding: [0xc5,0xf8,0x77]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2hf8256(<32 x i8> %A, <16 x half> %B, <16 x i8> zeroinitializer, i16 %U)
+  ret <16 x i8> %ret
+}
+
+define <16 x i8> @test_int_x86_avx10_vcvtbiasph2hf8s128(<16 x i8> %A, <8 x half> %B) nounwind {
+; CHECK-LABEL: test_int_x86_avx10_vcvtbiasph2hf8s128:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    vcvtbiasph2hf8s %xmm1, %xmm0, %xmm0 # encoding: [0x62,0xf5,0x7c,0x08,0x1b,0xc1]
+; CHECK-NEXT:    ret{{[l|q]}} # encoding: [0xc3]
+  %ret = call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2hf8s128(<16 x i8> %A, <8 x half> %B, <16 x i8> undef, i8 -1)
+  ret <16 x i8> %ret
+}
+
+define <16 x i8> @test_int_x86_avx10_mask_vcvtbiasph2hf8s128(<16 x i8> %W, <16 x i8> %A, <8 x half> %B, i8 %U) nounwind {
+; X64-LABEL: test_int_x86_avx10_mask_vcvtbiasph2hf8s128:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtbiasph2hf8s %xmm2, %xmm1, %xmm0 {%k1} # encoding: [0x62,0xf5,0x74,0x09,0x1b,0xc2]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_mask_vcvtbiasph2hf8s128:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtbiasph2hf8s %xmm2, %xmm1, %xmm0 {%k1} # encoding: [0x62,0xf5,0x74,0x09,0x1b,0xc2]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2hf8s128(<16 x i8> %A, <8 x half> %B, <16 x i8> %W, i8 %U)
+  ret <16 x i8> %ret
+}
+
+declare <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2hf8s128(<16 x i8> %A, <8 x half> %B, <16 x i8> %W, i8 %U)
+
+define <16 x i8> @test_int_x86_avx10_maskz_vcvtbiasph2hf8s128(<16 x i8> %A, <8 x half> %B, i8 %U) nounwind {
+; X64-LABEL: test_int_x86_avx10_maskz_vcvtbiasph2hf8s128:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtbiasph2hf8s %xmm1, %xmm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf5,0x7c,0x89,0x1b,0xc1]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_maskz_vcvtbiasph2hf8s128:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtbiasph2hf8s %xmm1, %xmm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf5,0x7c,0x89,0x1b,0xc1]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2hf8s128(<16 x i8> %A, <8 x half> %B, <16 x i8> zeroinitializer, i8 %U)
+  ret <16 x i8> %ret
+}
+
+define <16 x i8> @test_int_x86_avx10_vcvtbiasph2hf8s256(<32 x i8> %A, <16 x half> %B) nounwind {
+; CHECK-LABEL: test_int_x86_avx10_vcvtbiasph2hf8s256:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    vcvtbiasph2hf8s %ymm1, %ymm0, %xmm0 # encoding: [0x62,0xf5,0x7c,0x28,0x1b,0xc1]
+; CHECK-NEXT:    vzeroupper # encoding: [0xc5,0xf8,0x77]
+; CHECK-NEXT:    ret{{[l|q]}} # encoding: [0xc3]
+  %ret = call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2hf8s256(<32 x i8> %A, <16 x half> %B, <16 x i8> undef, i16 -1)
+  ret <16 x i8> %ret
+}
+
+define <16 x i8> @test_int_x86_avx10_mask_vcvtbiasph2hf8s256(<16 x i8> %W, <32 x i8> %A, <16 x half> %B, i16 %U) nounwind {
+; X64-LABEL: test_int_x86_avx10_mask_vcvtbiasph2hf8s256:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtbiasph2hf8s %ymm2, %ymm1, %xmm0 {%k1} # encoding: [0x62,0xf5,0x74,0x29,0x1b,0xc2]
+; X64-NEXT:    vzeroupper # encoding: [0xc5,0xf8,0x77]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_mask_vcvtbiasph2hf8s256:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtbiasph2hf8s %ymm2, %ymm1, %xmm0 {%k1} # encoding: [0x62,0xf5,0x74,0x29,0x1b,0xc2]
+; X86-NEXT:    vzeroupper # encoding: [0xc5,0xf8,0x77]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2hf8s256(<32 x i8> %A, <16 x half> %B, <16 x i8> %W, i16 %U)
+  ret <16 x i8> %ret
+}
+
+declare <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2hf8s256(<32 x i8> %A, <16 x half> %B, <16 x i8> %W, i16 %U)
+
+define <16 x i8> @test_int_x86_avx10_maskz_vcvtbiasph2hf8s256(<32 x i8> %A, <16 x half> %B, i16 %U) nounwind {
+; X64-LABEL: test_int_x86_avx10_maskz_vcvtbiasph2hf8s256:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtbiasph2hf8s %ymm1, %ymm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf5,0x7c,0xa9,0x1b,0xc1]
+; X64-NEXT:    vzeroupper # encoding: [0xc5,0xf8,0x77]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_maskz_vcvtbiasph2hf8s256:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtbiasph2hf8s %ymm1, %ymm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf5,0x7c,0xa9,0x1b,0xc1]
+; X86-NEXT:    vzeroupper # encoding: [0xc5,0xf8,0x77]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <16 x i8> @llvm.x86.avx10.mask.vcvtbiasph2hf8s256(<32 x i8> %A, <16 x half> %B, <16 x i8> zeroinitializer, i16 %U)
+  ret <16 x i8> %ret
+}
+
+define <16 x i8> @test_int_x86_avx10_vcvtne2ph2bf8128(<8 x half> %A, <8 x half> %B) nounwind {
+; CHECK-LABEL: test_int_x86_avx10_vcvtne2ph2bf8128:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    vcvtne2ph2bf8 %xmm1, %xmm0, %xmm0 # encoding: [0x62,0xf2,0x7f,0x08,0x74,0xc1]
+; CHECK-NEXT:    ret{{[l|q]}} # encoding: [0xc3]
+  %ret = call <16 x i8> @llvm.x86.avx10.vcvtne2ph2bf8128(<8 x half> %A, <8 x half> %B)
+  ret <16 x i8> %ret
+}
+
+define <16 x i8> @test_int_x86_avx10_vcvtne2ph2bf8128_mask(<16 x i8> %C, i16 %U, <8 x half> %A, <8 x half> %B) nounwind {
+; X64-LABEL: test_int_x86_avx10_vcvtne2ph2bf8128_mask:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtne2ph2bf8 %xmm2, %xmm1, %xmm0 {%k1} # encoding: [0x62,0xf2,0x77,0x09,0x74,0xc2]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_vcvtne2ph2bf8128_mask:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtne2ph2bf8 %xmm2, %xmm1, %xmm0 {%k1} # encoding: [0x62,0xf2,0x77,0x09,0x74,0xc2]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %1 = call <16 x i8> @llvm.x86.avx10.vcvtne2ph2bf8128(<8 x half> %A, <8 x half> %B)
+  %2 = bitcast i16 %U to <16 x i1>
+  %3 = select <16 x i1> %2, <16 x i8> %1, <16 x i8> %C
+  ret <16 x i8> %3
+}
+
+declare <16 x i8> @llvm.x86.avx10.vcvtne2ph2bf8128(<8 x half> %A, <8 x half> %B)
+
+define <32 x i8> @test_int_x86_avx10_vcvtne2ph2bf8256(<16 x half> %A, <16 x half> %B) nounwind {
+; CHECK-LABEL: test_int_x86_avx10_vcvtne2ph2bf8256:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    vcvtne2ph2bf8 %ymm1, %ymm0, %ymm0 # encoding: [0x62,0xf2,0x7f,0x28,0x74,0xc1]
+; CHECK-NEXT:    ret{{[l|q]}} # encoding: [0xc3]
+  %ret = call <32 x i8> @llvm.x86.avx10.vcvtne2ph2bf8256(<16 x half> %A, <16 x half> %B)
+  ret <32 x i8> %ret
+}
+
+define <32 x i8> @test_int_x86_avx10_vcvtne2ph2bf8256_mask(<32 x i8> %C, i32 %U, <16 x half> %A, <16 x half> %B) nounwind {
+; X64-LABEL: test_int_x86_avx10_vcvtne2ph2bf8256_mask:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtne2ph2bf8 %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf2,0x77,0x29,0x74,0xc2]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_vcvtne2ph2bf8256_mask:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovd {{[0-9]+}}(%esp), %k1 # encoding: [0xc4,0xe1,0xf9,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtne2ph2bf8 %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf2,0x77,0x29,0x74,0xc2]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %1 = call <32 x i8> @llvm.x86.avx10.vcvtne2ph2bf8256(<16 x half> %A, <16 x half> %B)
+  %2 = bitcast i32 %U to <32 x i1>
+  %3 = select <32 x i1> %2, <32 x i8> %1, <32 x i8> %C
+  ret <32 x i8> %3
+}
+
+declare <32 x i8> @llvm.x86.avx10.vcvtne2ph2bf8256(<16 x half> %A, <16 x half> %B)
+
+define <16 x i8> @test_int_x86_avx10_vcvtne2ph2bf8s128(<8 x half> %A, <8 x half> %B) nounwind {
+; CHECK-LABEL: test_int_x86_avx10_vcvtne2ph2bf8s128:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    vcvtne2ph2bf8s %xmm1, %xmm0, %xmm0 # encoding: [0x62,0xf5,0x7f,0x08,0x74,0xc1]
+; CHECK-NEXT:    ret{{[l|q]}} # encoding: [0xc3]
+  %ret = call <16 x i8> @llvm.x86.avx10.vcvtne2ph2bf8s128(<8 x half> %A, <8 x half> %B)
+  ret <16 x i8> %ret
+}
+
+define <16 x i8> @test_int_x86_avx10_vcvtne2ph2bf8s128_mask(<16 x i8> %C, i16 %U, <8 x half> %A, <8 x half> %B) nounwind {
+; X64-LABEL: test_int_x86_avx10_vcvtne2ph2bf8s128_mask:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtne2ph2bf8s %xmm2, %xmm1, %xmm0 {%k1} # encoding: [0x62,0xf5,0x77,0x09,0x74,0xc2]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_vcvtne2ph2bf8s128_mask:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtne2ph2bf8s %xmm2, %xmm1, %xmm0 {%k1} # encoding: [0x62,0xf5,0x77,0x09,0x74,0xc2]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %1 = call <16 x i8> @llvm.x86.avx10.vcvtne2ph2bf8s128(<8 x half> %A, <8 x half> %B)
+  %2 = bitcast i16 %U to <16 x i1>
+  %3 = select <16 x i1> %2, <16 x i8> %1, <16 x i8> %C
+  ret <16 x i8> %3
+}
+
+declare <16 x i8> @llvm.x86.avx10.vcvtne2ph2bf8s128(<8 x half> %A, <8 x half> %B)
+
+define <32 x i8> @test_int_x86_avx10_vcvtne2ph2bf8s256(<16 x half> %A, <16 x half> %B) nounwind {
+; CHECK-LABEL: test_int_x86_avx10_vcvtne2ph2bf8s256:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    vcvtne2ph2bf8s %ymm1, %ymm0, %ymm0 # encoding: [0x62,0xf5,0x7f,0x28,0x74,0xc1]
+; CHECK-NEXT:    ret{{[l|q]}} # encoding: [0xc3]
+  %ret = call <32 x i8> @llvm.x86.avx10.vcvtne2ph2bf8s256(<16 x half> %A, <16 x half> %B)
+  ret <32 x i8> %ret
+}
+
+define <32 x i8> @test_int_x86_avx10_vcvtne2ph2bf8s256_mask(<32 x i8> %C, i32 %U, <16 x half> %A, <16 x half> %B) nounwind {
+; X64-LABEL: test_int_x86_avx10_vcvtne2ph2bf8s256_mask:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtne2ph2bf8s %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x77,0x29,0x74,0xc2]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_vcvtne2ph2bf8s256_mask:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovd {{[0-9]+}}(%esp), %k1 # encoding: [0xc4,0xe1,0xf9,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtne2ph2bf8s %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x77,0x29,0x74,0xc2]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %1 = call <32 x i8> @llvm.x86.avx10.vcvtne2ph2bf8s256(<16 x half> %A, <16 x half> %B)
+  %2 = bitcast i32 %U to <32 x i1>
+  %3 = select <32 x i1> %2, <32 x i8> %1, <32 x i8> %C
+  ret <32 x i8> %3
+}
+
+declare <32 x i8> @llvm.x86.avx10.vcvtne2ph2bf8s256(<16 x half> %A, <16 x half> %B)
+
+define <16 x i8> @test_int_x86_avx10_vcvtne2ph2hf8128(<8 x half> %A, <8 x half> %B) nounwind {
+; CHECK-LABEL: test_int_x86_avx10_vcvtne2ph2hf8128:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    vcvtne2ph2hf8 %xmm1, %xmm0, %xmm0 # encoding: [0x62,0xf5,0x7f,0x08,0x18,0xc1]
+; CHECK-NEXT:    ret{{[l|q]}} # encoding: [0xc3]
+  %ret = call <16 x i8> @llvm.x86.avx10.vcvtne2ph2hf8128(<8 x half> %A, <8 x half> %B)
+  ret <16 x i8> %ret
+}
+
+define <16 x i8> @test_int_x86_avx10_vcvtne2ph2hf8128_mask(<16 x i8> %C, i16 %U, <8 x half> %A, <8 x half> %B) nounwind {
+; X64-LABEL: test_int_x86_avx10_vcvtne2ph2hf8128_mask:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtne2ph2hf8 %xmm2, %xmm1, %xmm0 {%k1} # encoding: [0x62,0xf5,0x77,0x09,0x18,0xc2]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_vcvtne2ph2hf8128_mask:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtne2ph2hf8 %xmm2, %xmm1, %xmm0 {%k1} # encoding: [0x62,0xf5,0x77,0x09,0x18,0xc2]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %1 = call <16 x i8> @llvm.x86.avx10.vcvtne2ph2hf8128(<8 x half> %A, <8 x half> %B)
+  %2 = bitcast i16 %U to <16 x i1>
+  %3 = select <16 x i1> %2, <16 x i8> %1, <16 x i8> %C
+  ret <16 x i8> %3
+}
+
+declare <16 x i8> @llvm.x86.avx10.vcvtne2ph2hf8128(<8 x half> %A, <8 x half> %B)
+
+define <32 x i8> @test_int_x86_avx10_vcvtne2ph2hf8256(<16 x half> %A, <16 x half> %B) nounwind {
+; CHECK-LABEL: test_int_x86_avx10_vcvtne2ph2hf8256:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    vcvtne2ph2hf8 %ymm1, %ymm0, %ymm0 # encoding: [0x62,0xf5,0x7f,0x28,0x18,0xc1]
+; CHECK-NEXT:    ret{{[l|q]}} # encoding: [0xc3]
+  %ret = call <32 x i8> @llvm.x86.avx10.vcvtne2ph2hf8256(<16 x half> %A, <16 x half> %B)
+  ret <32 x i8> %ret
+}
+
+define <32 x i8> @test_int_x86_avx10_vcvtne2ph2hf8256_mask(<32 x i8> %C, i32 %U, <16 x half> %A, <16 x half> %B) nounwind {
+; X64-LABEL: test_int_x86_avx10_vcvtne2ph2hf8256_mask:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtne2ph2hf8 %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x77,0x29,0x18,0xc2]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_vcvtne2ph2hf8256_mask:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovd {{[0-9]+}}(%esp), %k1 # encoding: [0xc4,0xe1,0xf9,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtne2ph2hf8 %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x77,0x29,0x18,0xc2]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %1 = call <32 x i8> @llvm.x86.avx10.vcvtne2ph2hf8256(<16 x half> %A, <16 x half> %B)
+  %2 = bitcast i32 %U to <32 x i1>
+  %3 = select <32 x i1> %2, <32 x i8> %1, <32 x i8> %C
+  ret <32 x i8> %3
+}
+
+declare <32 x i8> @llvm.x86.avx10.vcvtne2ph2hf8256(<16 x half> %A, <16 x half> %B)
+
+define <16 x i8> @test_int_x86_avx10_vcvtne2ph2hf8s128(<8 x half> %A, <8 x half> %B) nounwind {
+; CHECK-LABEL: test_int_x86_avx10_vcvtne2ph2hf8s128:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    vcvtne2ph2hf8s %xmm1, %xmm0, %xmm0 # encoding: [0x62,0xf5,0x7f,0x08,0x1b,0xc1]
+; CHECK-NEXT:    ret{{[l|q]}} # encoding: [0xc3]
+  %ret = call <16 x i8> @llvm.x86.avx10.vcvtne2ph2hf8s128(<8 x half> %A, <8 x half> %B)
+  ret <16 x i8> %ret
+}
+
+define <16 x i8> @test_int_x86_avx10_vcvtne2ph2hf8s128_mask(<16 x i8> %C, i16 %U, <8 x half> %A, <8 x half> %B) nounwind {
+; X64-LABEL: test_int_x86_avx10_vcvtne2ph2hf8s128_mask:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtne2ph2hf8s %xmm2, %xmm1, %xmm0 {%k1} # encoding: [0x62,0xf5,0x77,0x09,0x1b,0xc2]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_vcvtne2ph2hf8s128_mask:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtne2ph2hf8s %xmm2, %xmm1, %xmm0 {%k1} # encoding: [0x62,0xf5,0x77,0x09,0x1b,0xc2]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %1 = call <16 x i8> @llvm.x86.avx10.vcvtne2ph2hf8s128(<8 x half> %A, <8 x half> %B)
+  %2 = bitcast i16 %U to <16 x i1>
+  %3 = select <16 x i1> %2, <16 x i8> %1, <16 x i8> %C
+  ret <16 x i8> %3
+}
+
+declare <16 x i8> @llvm.x86.avx10.vcvtne2ph2hf8s128(<8 x half> %A, <8 x half> %B)
+
+define <32 x i8> @test_int_x86_avx10_vcvtne2ph2hf8s256(<16 x half> %A, <16 x half> %B) nounwind {
+; CHECK-LABEL: test_int_x86_avx10_vcvtne2ph2hf8s256:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    vcvtne2ph2hf8s %ymm1, %ymm0, %ymm0 # encoding: [0x62,0xf5,0x7f,0x28,0x1b,0xc1]
+; CHECK-NEXT:    ret{{[l|q]}} # encoding: [0xc3]
+  %ret = call <32 x i8> @llvm.x86.avx10.vcvtne2ph2hf8s256(<16 x half> %A, <16 x half> %B)
+  ret <32 x i8> %ret
+}
+
+define <32 x i8> @test_int_x86_avx10_vcvtne2ph2hf8s256_mask(<32 x i8> %C, i32 %U, <16 x half> %A, <16 x half> %B) nounwind {
+; X64-LABEL: test_int_x86_avx10_vcvtne2ph2hf8s256_mask:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtne2ph2hf8s %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x77,0x29,0x1b,0xc2]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_vcvtne2ph2hf8s256_mask:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovd {{[0-9]+}}(%esp), %k1 # encoding: [0xc4,0xe1,0xf9,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtne2ph2hf8s %ymm2, %ymm1, %ymm0 {%k1} # encoding: [0x62,0xf5,0x77,0x29,0x1b,0xc2]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %1 = call <32 x i8> @llvm.x86.avx10.vcvtne2ph2hf8s256(<16 x half> %A, <16 x half> %B)
+  %2 = bitcast i32 %U to <32 x i1>
+  %3 = select <32 x i1> %2, <32 x i8> %1, <32 x i8> %C
+  ret <32 x i8> %3
+}
+
+declare <32 x i8> @llvm.x86.avx10.vcvtne2ph2hf8s256(<16 x half> %A, <16 x half> %B)
+
+define <8 x half> @test_int_x86_avx10_vcvthf82ph128(<16 x i8> %A) nounwind {
+; CHECK-LABEL: test_int_x86_avx10_vcvthf82ph128:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    vcvthf82ph %xmm0, %xmm0 # encoding: [0x62,0xf5,0x7f,0x08,0x1e,0xc0]
+; CHECK-NEXT:    ret{{[l|q]}} # encoding: [0xc3]
+  %ret = call <8 x half> @llvm.x86.avx10.mask.vcvthf82ph128(<16 x i8> %A, <8 x half> undef, i8 -1)
+  ret <8 x half> %ret
+}
+
+define <8 x half> @test_int_x86_avx10_mask_vcvthf82ph128(<16 x i8> %A, <8 x half> %B, i8 %C) nounwind {
+; X64-LABEL: test_int_x86_avx10_mask_vcvthf82ph128:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvthf82ph %xmm0, %xmm1 {%k1} # encoding: [0x62,0xf5,0x7f,0x09,0x1e,0xc8]
+; X64-NEXT:    vmovdqa %xmm1, %xmm0 # EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6f,0xc1]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_mask_vcvthf82ph128:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvthf82ph %xmm0, %xmm1 {%k1} # encoding: [0x62,0xf5,0x7f,0x09,0x1e,0xc8]
+; X86-NEXT:    vmovdqa %xmm1, %xmm0 # EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6f,0xc1]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <8 x half> @llvm.x86.avx10.mask.vcvthf82ph128(<16 x i8> %A, <8 x half> %B, i8 %C)
+  ret <8 x half> %ret
+}
+
+declare <8 x half> @llvm.x86.avx10.mask.vcvthf82ph128(<16 x i8> %A, <8 x half> %B, i8 %C)
+
+define <8 x half> @test_int_x86_avx10_maskz_vcvthf82ph128(<16 x i8> %A, i8 %B) nounwind {
+; X64-LABEL: test_int_x86_avx10_maskz_vcvthf82ph128:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvthf82ph %xmm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf5,0x7f,0x89,0x1e,0xc0]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_maskz_vcvthf82ph128:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvthf82ph %xmm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf5,0x7f,0x89,0x1e,0xc0]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <8 x half> @llvm.x86.avx10.mask.vcvthf82ph128(<16 x i8> %A, <8 x half> zeroinitializer, i8 %B)
+  ret <8 x half> %ret
+}
+
+define <16 x half> @test_int_x86_avx10_vcvthf82ph256(<16 x i8> %A) nounwind {
+; CHECK-LABEL: test_int_x86_avx10_vcvthf82ph256:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    vcvthf82ph %xmm0, %ymm0 # encoding: [0x62,0xf5,0x7f,0x28,0x1e,0xc0]
+; CHECK-NEXT:    ret{{[l|q]}} # encoding: [0xc3]
+  %ret = call <16 x half> @llvm.x86.avx10.mask.vcvthf82ph256(<16 x i8> %A, <16 x half> undef, i16 -1)
+  ret <16 x half> %ret
+}
+
+define <16 x half> @test_int_x86_avx10_mask_vcvthf82ph256(<16 x i8> %A, <16 x half> %B, i16 %C) nounwind {
+; X64-LABEL: test_int_x86_avx10_mask_vcvthf82ph256:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvthf82ph %xmm0, %ymm1 {%k1} # encoding: [0x62,0xf5,0x7f,0x29,0x1e,0xc8]
+; X64-NEXT:    vmovdqa %ymm1, %ymm0 # EVEX TO VEX Compression encoding: [0xc5,0xfd,0x6f,0xc1]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_mask_vcvthf82ph256:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvthf82ph %xmm0, %ymm1 {%k1} # encoding: [0x62,0xf5,0x7f,0x29,0x1e,0xc8]
+; X86-NEXT:    vmovdqa %ymm1, %ymm0 # EVEX TO VEX Compression encoding: [0xc5,0xfd,0x6f,0xc1]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <16 x half> @llvm.x86.avx10.mask.vcvthf82ph256(<16 x i8> %A, <16 x half> %B, i16 %C)
+  ret <16 x half> %ret
+}
+
+declare <16 x half> @llvm.x86.avx10.mask.vcvthf82ph256(<16 x i8> %A, <16 x half> %B, i16 %C)
+
+define <16 x half> @test_int_x86_avx10_maskz_vcvthf82ph256(<16 x i8> %A, i16 %B) nounwind {
+; X64-LABEL: test_int_x86_avx10_maskz_vcvthf82ph256:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvthf82ph %xmm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x7f,0xa9,0x1e,0xc0]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_maskz_vcvthf82ph256:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvthf82ph %xmm0, %ymm0 {%k1} {z} # encoding: [0x62,0xf5,0x7f,0xa9,0x1e,0xc0]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <16 x half> @llvm.x86.avx10.mask.vcvthf82ph256(<16 x i8> %A, <16 x half> zeroinitializer, i16 %B)
+  ret <16 x half> %ret
+}
+
+define <16 x i8> @test_int_x86_avx10_vcvtneph2bf8128(<8 x half> %A) nounwind {
+; CHECK-LABEL: test_int_x86_avx10_vcvtneph2bf8128:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    vcvtneph2bf8 %xmm0, %xmm0 # encoding: [0x62,0xf2,0x7e,0x08,0x74,0xc0]
+; CHECK-NEXT:    ret{{[l|q]}} # encoding: [0xc3]
+  %ret = call <16 x i8> @llvm.x86.avx10.mask.vcvtneph2bf8128(<8 x half> %A, <16 x i8> undef, i8 -1)
+  ret <16 x i8> %ret
+}
+
+define <16 x i8> @test_int_x86_avx10_mask_vcvtneph2bf8128(<16 x i8> %B, <8 x half> %A, i8 %C) nounwind {
+; X64-LABEL: test_int_x86_avx10_mask_vcvtneph2bf8128:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtneph2bf8 %xmm1, %xmm0 {%k1} # encoding: [0x62,0xf2,0x7e,0x09,0x74,0xc1]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_mask_vcvtneph2bf8128:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtneph2bf8 %xmm1, %xmm0 {%k1} # encoding: [0x62,0xf2,0x7e,0x09,0x74,0xc1]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <16 x i8> @llvm.x86.avx10.mask.vcvtneph2bf8128(<8 x half> %A, <16 x i8> %B, i8 %C)
+  ret <16 x i8> %ret
+}
+
+declare <16 x i8> @llvm.x86.avx10.mask.vcvtneph2bf8128(<8 x half> %A, <16 x i8> %B, i8 %C)
+
+define <16 x i8> @test_int_x86_avx10_maskz_vcvtneph2bf8128(<8 x half> %A, i8 %B) nounwind {
+; X64-LABEL: test_int_x86_avx10_maskz_vcvtneph2bf8128:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtneph2bf8 %xmm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf2,0x7e,0x89,0x74,0xc0]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_maskz_vcvtneph2bf8128:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtneph2bf8 %xmm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf2,0x7e,0x89,0x74,0xc0]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <16 x i8> @llvm.x86.avx10.mask.vcvtneph2bf8128(<8 x half> %A, <16 x i8> zeroinitializer, i8 %B)
+  ret <16 x i8> %ret
+}
+
+define <16 x i8> @test_int_x86_avx10_vcvtneph2bf8256(<16 x half> %A) nounwind {
+; CHECK-LABEL: test_int_x86_avx10_vcvtneph2bf8256:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    vcvtneph2bf8 %ymm0, %xmm0 # encoding: [0x62,0xf2,0x7e,0x28,0x74,0xc0]
+; CHECK-NEXT:    vzeroupper # encoding: [0xc5,0xf8,0x77]
+; CHECK-NEXT:    ret{{[l|q]}} # encoding: [0xc3]
+  %ret = call <16 x i8> @llvm.x86.avx10.mask.vcvtneph2bf8256(<16 x half> %A, <16 x i8> undef, i16 -1)
+  ret <16 x i8> %ret
+}
+
+define <16 x i8> @test_int_x86_avx10_mask_vcvtneph2bf8256(<16 x i8> %B, <16 x half> %A, i16 %C) nounwind {
+; X64-LABEL: test_int_x86_avx10_mask_vcvtneph2bf8256:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtneph2bf8 %ymm1, %xmm0 {%k1} # encoding: [0x62,0xf2,0x7e,0x29,0x74,0xc1]
+; X64-NEXT:    vzeroupper # encoding: [0xc5,0xf8,0x77]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_mask_vcvtneph2bf8256:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtneph2bf8 %ymm1, %xmm0 {%k1} # encoding: [0x62,0xf2,0x7e,0x29,0x74,0xc1]
+; X86-NEXT:    vzeroupper # encoding: [0xc5,0xf8,0x77]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <16 x i8> @llvm.x86.avx10.mask.vcvtneph2bf8256(<16 x half> %A, <16 x i8> %B, i16 %C)
+  ret <16 x i8> %ret
+}
+
+declare <16 x i8> @llvm.x86.avx10.mask.vcvtneph2bf8256(<16 x half> %A, <16 x i8> %B, i16 %C)
+
+define <16 x i8> @test_int_x86_avx10_maskz_vcvtneph2bf8256(<16 x half> %A, i16 %B) nounwind {
+; X64-LABEL: test_int_x86_avx10_maskz_vcvtneph2bf8256:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtneph2bf8 %ymm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf2,0x7e,0xa9,0x74,0xc0]
+; X64-NEXT:    vzeroupper # encoding: [0xc5,0xf8,0x77]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_maskz_vcvtneph2bf8256:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtneph2bf8 %ymm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf2,0x7e,0xa9,0x74,0xc0]
+; X86-NEXT:    vzeroupper # encoding: [0xc5,0xf8,0x77]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <16 x i8> @llvm.x86.avx10.mask.vcvtneph2bf8256(<16 x half> %A, <16 x i8> zeroinitializer, i16 %B)
+  ret <16 x i8> %ret
+}
+
+define <16 x i8> @test_int_x86_avx10_vcvtneph2bf8s128(<8 x half> %A) nounwind {
+; CHECK-LABEL: test_int_x86_avx10_vcvtneph2bf8s128:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    vcvtneph2bf8s %xmm0, %xmm0 # encoding: [0x62,0xf5,0x7e,0x08,0x74,0xc0]
+; CHECK-NEXT:    ret{{[l|q]}} # encoding: [0xc3]
+  %ret = call <16 x i8> @llvm.x86.avx10.mask.vcvtneph2bf8s128(<8 x half> %A, <16 x i8> undef, i8 -1)
+  ret <16 x i8> %ret
+}
+
+define <16 x i8> @test_int_x86_avx10_mask_vcvtneph2bf8s128(<16 x i8> %B, <8 x half> %A, i8 %C) nounwind {
+; X64-LABEL: test_int_x86_avx10_mask_vcvtneph2bf8s128:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtneph2bf8s %xmm1, %xmm0 {%k1} # encoding: [0x62,0xf5,0x7e,0x09,0x74,0xc1]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_mask_vcvtneph2bf8s128:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtneph2bf8s %xmm1, %xmm0 {%k1} # encoding: [0x62,0xf5,0x7e,0x09,0x74,0xc1]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <16 x i8> @llvm.x86.avx10.mask.vcvtneph2bf8s128(<8 x half> %A, <16 x i8> %B, i8 %C)
+  ret <16 x i8> %ret
+}
+
+declare <16 x i8> @llvm.x86.avx10.mask.vcvtneph2bf8s128(<8 x half> %A, <16 x i8> %B, i8 %C)
+
+define <16 x i8> @test_int_x86_avx10_maskz_vcvtneph2bf8s128(<8 x half> %A, i8 %B) nounwind {
+; X64-LABEL: test_int_x86_avx10_maskz_vcvtneph2bf8s128:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtneph2bf8s %xmm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf5,0x7e,0x89,0x74,0xc0]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_maskz_vcvtneph2bf8s128:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtneph2bf8s %xmm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf5,0x7e,0x89,0x74,0xc0]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <16 x i8> @llvm.x86.avx10.mask.vcvtneph2bf8s128(<8 x half> %A, <16 x i8> zeroinitializer, i8 %B)
+  ret <16 x i8> %ret
+}
+
+define <16 x i8> @test_int_x86_avx10_vcvtneph2bf8s256(<16 x half> %A) nounwind {
+; CHECK-LABEL: test_int_x86_avx10_vcvtneph2bf8s256:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    vcvtneph2bf8s %ymm0, %xmm0 # encoding: [0x62,0xf5,0x7e,0x28,0x74,0xc0]
+; CHECK-NEXT:    vzeroupper # encoding: [0xc5,0xf8,0x77]
+; CHECK-NEXT:    ret{{[l|q]}} # encoding: [0xc3]
+  %ret = call <16 x i8> @llvm.x86.avx10.mask.vcvtneph2bf8s256(<16 x half> %A, <16 x i8> undef, i16 -1)
+  ret <16 x i8> %ret
+}
+
+define <16 x i8> @test_int_x86_avx10_mask_vcvtneph2bf8s256(<16 x i8> %B, <16 x half> %A, i16 %C) nounwind {
+; X64-LABEL: test_int_x86_avx10_mask_vcvtneph2bf8s256:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtneph2bf8s %ymm1, %xmm0 {%k1} # encoding: [0x62,0xf5,0x7e,0x29,0x74,0xc1]
+; X64-NEXT:    vzeroupper # encoding: [0xc5,0xf8,0x77]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_mask_vcvtneph2bf8s256:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtneph2bf8s %ymm1, %xmm0 {%k1} # encoding: [0x62,0xf5,0x7e,0x29,0x74,0xc1]
+; X86-NEXT:    vzeroupper # encoding: [0xc5,0xf8,0x77]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <16 x i8> @llvm.x86.avx10.mask.vcvtneph2bf8s256(<16 x half> %A, <16 x i8> %B, i16 %C)
+  ret <16 x i8> %ret
+}
+
+declare <16 x i8> @llvm.x86.avx10.mask.vcvtneph2bf8s256(<16 x half> %A, <16 x i8> %B, i16 %C)
+
+define <16 x i8> @test_int_x86_avx10_maskz_vcvtneph2bf8s256(<16 x half> %A, i16 %B) nounwind {
+; X64-LABEL: test_int_x86_avx10_maskz_vcvtneph2bf8s256:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtneph2bf8s %ymm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf5,0x7e,0xa9,0x74,0xc0]
+; X64-NEXT:    vzeroupper # encoding: [0xc5,0xf8,0x77]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_maskz_vcvtneph2bf8s256:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtneph2bf8s %ymm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf5,0x7e,0xa9,0x74,0xc0]
+; X86-NEXT:    vzeroupper # encoding: [0xc5,0xf8,0x77]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <16 x i8> @llvm.x86.avx10.mask.vcvtneph2bf8s256(<16 x half> %A, <16 x i8> zeroinitializer, i16 %B)
+  ret <16 x i8> %ret
+}
+
+define <16 x i8> @test_int_x86_avx10_vcvtneph2hf8128(<8 x half> %A) nounwind {
+; CHECK-LABEL: test_int_x86_avx10_vcvtneph2hf8128:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    vcvtneph2hf8 %xmm0, %xmm0 # encoding: [0x62,0xf5,0x7e,0x08,0x18,0xc0]
+; CHECK-NEXT:    ret{{[l|q]}} # encoding: [0xc3]
+  %ret = call <16 x i8> @llvm.x86.avx10.mask.vcvtneph2hf8128(<8 x half> %A, <16 x i8> undef, i8 -1)
+  ret <16 x i8> %ret
+}
+
+define <16 x i8> @test_int_x86_avx10_mask_vcvtneph2hf8128(<16 x i8> %B, <8 x half> %A, i8 %C) nounwind {
+; X64-LABEL: test_int_x86_avx10_mask_vcvtneph2hf8128:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtneph2hf8 %xmm1, %xmm0 {%k1} # encoding: [0x62,0xf5,0x7e,0x09,0x18,0xc1]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_mask_vcvtneph2hf8128:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtneph2hf8 %xmm1, %xmm0 {%k1} # encoding: [0x62,0xf5,0x7e,0x09,0x18,0xc1]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <16 x i8> @llvm.x86.avx10.mask.vcvtneph2hf8128(<8 x half> %A, <16 x i8> %B, i8 %C)
+  ret <16 x i8> %ret
+}
+
+declare <16 x i8> @llvm.x86.avx10.mask.vcvtneph2hf8128(<8 x half> %A, <16 x i8> %B, i8 %C)
+
+define <16 x i8> @test_int_x86_avx10_maskz_vcvtneph2hf8128(<8 x half> %A, i8 %B) nounwind {
+; X64-LABEL: test_int_x86_avx10_maskz_vcvtneph2hf8128:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtneph2hf8 %xmm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf5,0x7e,0x89,0x18,0xc0]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_maskz_vcvtneph2hf8128:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtneph2hf8 %xmm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf5,0x7e,0x89,0x18,0xc0]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <16 x i8> @llvm.x86.avx10.mask.vcvtneph2hf8128(<8 x half> %A, <16 x i8> zeroinitializer, i8 %B)
+  ret <16 x i8> %ret
+}
+
+define <16 x i8> @test_int_x86_avx10_vcvtneph2hf8256(<16 x half> %A) nounwind {
+; CHECK-LABEL: test_int_x86_avx10_vcvtneph2hf8256:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    vcvtneph2hf8 %ymm0, %xmm0 # encoding: [0x62,0xf5,0x7e,0x28,0x18,0xc0]
+; CHECK-NEXT:    vzeroupper # encoding: [0xc5,0xf8,0x77]
+; CHECK-NEXT:    ret{{[l|q]}} # encoding: [0xc3]
+  %ret = call <16 x i8> @llvm.x86.avx10.mask.vcvtneph2hf8256(<16 x half> %A, <16 x i8> undef, i16 -1)
+  ret <16 x i8> %ret
+}
+
+define <16 x i8> @test_int_x86_avx10_mask_vcvtneph2hf8256(<16 x i8> %B, <16 x half> %A, i16 %C) nounwind {
+; X64-LABEL: test_int_x86_avx10_mask_vcvtneph2hf8256:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtneph2hf8 %ymm1, %xmm0 {%k1} # encoding: [0x62,0xf5,0x7e,0x29,0x18,0xc1]
+; X64-NEXT:    vzeroupper # encoding: [0xc5,0xf8,0x77]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_mask_vcvtneph2hf8256:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtneph2hf8 %ymm1, %xmm0 {%k1} # encoding: [0x62,0xf5,0x7e,0x29,0x18,0xc1]
+; X86-NEXT:    vzeroupper # encoding: [0xc5,0xf8,0x77]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <16 x i8> @llvm.x86.avx10.mask.vcvtneph2hf8256(<16 x half> %A, <16 x i8> %B, i16 %C)
+  ret <16 x i8> %ret
+}
+
+declare <16 x i8> @llvm.x86.avx10.mask.vcvtneph2hf8256(<16 x half> %A, <16 x i8> %B, i16 %C)
+
+define <16 x i8> @test_int_x86_avx10_maskz_vcvtneph2hf8256(<16 x half> %A, i16 %B) nounwind {
+; X64-LABEL: test_int_x86_avx10_maskz_vcvtneph2hf8256:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtneph2hf8 %ymm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf5,0x7e,0xa9,0x18,0xc0]
+; X64-NEXT:    vzeroupper # encoding: [0xc5,0xf8,0x77]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_maskz_vcvtneph2hf8256:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtneph2hf8 %ymm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf5,0x7e,0xa9,0x18,0xc0]
+; X86-NEXT:    vzeroupper # encoding: [0xc5,0xf8,0x77]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <16 x i8> @llvm.x86.avx10.mask.vcvtneph2hf8256(<16 x half> %A, <16 x i8> zeroinitializer, i16 %B)
+  ret <16 x i8> %ret
+}
+
+define <16 x i8> @test_int_x86_avx10_vcvtneph2hf8s128(<8 x half> %A) nounwind {
+; CHECK-LABEL: test_int_x86_avx10_vcvtneph2hf8s128:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    vcvtneph2hf8s %xmm0, %xmm0 # encoding: [0x62,0xf5,0x7e,0x08,0x1b,0xc0]
+; CHECK-NEXT:    ret{{[l|q]}} # encoding: [0xc3]
+  %ret = call <16 x i8> @llvm.x86.avx10.mask.vcvtneph2hf8s128(<8 x half> %A, <16 x i8> undef, i8 -1)
+  ret <16 x i8> %ret
+}
+
+define <16 x i8> @test_int_x86_avx10_mask_vcvtneph2hf8s128(<16 x i8> %B, <8 x half> %A, i8 %C) nounwind {
+; X64-LABEL: test_int_x86_avx10_mask_vcvtneph2hf8s128:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtneph2hf8s %xmm1, %xmm0 {%k1} # encoding: [0x62,0xf5,0x7e,0x09,0x1b,0xc1]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_mask_vcvtneph2hf8s128:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtneph2hf8s %xmm1, %xmm0 {%k1} # encoding: [0x62,0xf5,0x7e,0x09,0x1b,0xc1]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <16 x i8> @llvm.x86.avx10.mask.vcvtneph2hf8s128(<8 x half> %A, <16 x i8> %B, i8 %C)
+  ret <16 x i8> %ret
+}
+
+declare <16 x i8> @llvm.x86.avx10.mask.vcvtneph2hf8s128(<8 x half> %A, <16 x i8> %B, i8 %C)
+
+define <16 x i8> @test_int_x86_avx10_maskz_vcvtneph2hf8s128(<8 x half> %A, i8 %B) nounwind {
+; X64-LABEL: test_int_x86_avx10_maskz_vcvtneph2hf8s128:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtneph2hf8s %xmm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf5,0x7e,0x89,0x1b,0xc0]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_maskz_vcvtneph2hf8s128:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovb {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf9,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtneph2hf8s %xmm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf5,0x7e,0x89,0x1b,0xc0]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <16 x i8> @llvm.x86.avx10.mask.vcvtneph2hf8s128(<8 x half> %A, <16 x i8> zeroinitializer, i8 %B)
+  ret <16 x i8> %ret
+}
+
+define <16 x i8> @test_int_x86_avx10_vcvtneph2hf8s256(<16 x half> %A) nounwind {
+; CHECK-LABEL: test_int_x86_avx10_vcvtneph2hf8s256:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    vcvtneph2hf8s %ymm0, %xmm0 # encoding: [0x62,0xf5,0x7e,0x28,0x1b,0xc0]
+; CHECK-NEXT:    vzeroupper # encoding: [0xc5,0xf8,0x77]
+; CHECK-NEXT:    ret{{[l|q]}} # encoding: [0xc3]
+  %ret = call <16 x i8> @llvm.x86.avx10.mask.vcvtneph2hf8s256(<16 x half> %A, <16 x i8> undef, i16 -1)
+  ret <16 x i8> %ret
+}
+
+define <16 x i8> @test_int_x86_avx10_mask_vcvtneph2hf8s256(<16 x i8> %B, <16 x half> %A, i16 %C) nounwind {
+; X64-LABEL: test_int_x86_avx10_mask_vcvtneph2hf8s256:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtneph2hf8s %ymm1, %xmm0 {%k1} # encoding: [0x62,0xf5,0x7e,0x29,0x1b,0xc1]
+; X64-NEXT:    vzeroupper # encoding: [0xc5,0xf8,0x77]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_mask_vcvtneph2hf8s256:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtneph2hf8s %ymm1, %xmm0 {%k1} # encoding: [0x62,0xf5,0x7e,0x29,0x1b,0xc1]
+; X86-NEXT:    vzeroupper # encoding: [0xc5,0xf8,0x77]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <16 x i8> @llvm.x86.avx10.mask.vcvtneph2hf8s256(<16 x half> %A, <16 x i8> %B, i16 %C)
+  ret <16 x i8> %ret
+}
+
+declare <16 x i8> @llvm.x86.avx10.mask.vcvtneph2hf8s256(<16 x half> %A, <16 x i8> %B, i16 %C)
+
+define <16 x i8> @test_int_x86_avx10_maskz_vcvtneph2hf8s256(<16 x half> %A, i16 %B) nounwind {
+; X64-LABEL: test_int_x86_avx10_maskz_vcvtneph2hf8s256:
+; X64:       # %bb.0:
+; X64-NEXT:    kmovd %edi, %k1 # encoding: [0xc5,0xfb,0x92,0xcf]
+; X64-NEXT:    vcvtneph2hf8s %ymm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf5,0x7e,0xa9,0x1b,0xc0]
+; X64-NEXT:    vzeroupper # encoding: [0xc5,0xf8,0x77]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_int_x86_avx10_maskz_vcvtneph2hf8s256:
+; X86:       # %bb.0:
+; X86-NEXT:    kmovw {{[0-9]+}}(%esp), %k1 # encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
+; X86-NEXT:    vcvtneph2hf8s %ymm0, %xmm0 {%k1} {z} # encoding: [0x62,0xf5,0x7e,0xa9,0x1b,0xc0]
+; X86-NEXT:    vzeroupper # encoding: [0xc5,0xf8,0x77]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <16 x i8> @llvm.x86.avx10.mask.vcvtneph2hf8s256(<16 x half> %A, <16 x i8> zeroinitializer, i16 %B)
+  ret <16 x i8> %ret
+}
diff --git a/llvm/test/MC/Disassembler/X86/avx10.2convert-32.txt b/llvm/test/MC/Disassembler/X86/avx10.2convert-32.txt
new file mode 100644
index 0000000000000..71506201cffe8
--- /dev/null
+++ b/llvm/test/MC/Disassembler/X86/avx10.2convert-32.txt
@@ -0,0 +1,1491 @@
+# RUN: llvm-mc --disassemble %s -triple=i386 | FileCheck %s --check-prefixes=ATT
+# RUN: llvm-mc --disassemble %s -triple=i386 --output-asm-variant=1 | FileCheck %s --check-prefixes=INTEL
+
+# ATT:   vcvt2ps2phx %ymm4, %ymm3, %ymm2
+# 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
+
+# ATT:   vcvt2ps2phx {rn-sae}, %zmm4, %zmm3, %zmm2
+# INTEL: vcvt2ps2phx zmm2, zmm3, zmm4, {rn-sae}
+0x62,0xf2,0x65,0x18,0x67,0xd4
+
+# ATT:   vcvt2ps2phx %zmm4, %zmm3, %zmm2 {%k7}
+# INTEL: vcvt2ps2phx zmm2 {k7}, zmm3, zmm4
+0x62,0xf2,0x65,0x4f,0x67,0xd4
+
+# ATT:   vcvt2ps2phx {rz-sae}, %zmm4, %zmm3, %zmm2 {%k7} {z}
+# INTEL: vcvt2ps2phx zmm2 {k7} {z}, zmm3, zmm4, {rz-sae}
+0x62,0xf2,0x65,0xff,0x67,0xd4
+
+# ATT:   vcvt2ps2phx %xmm4, %xmm3, %xmm2
+# INTEL: vcvt2ps2phx xmm2, xmm3, xmm4
+0x62,0xf2,0x65,0x08,0x67,0xd4
+
+# ATT:   vcvt2ps2phx %xmm4, %xmm3, %xmm2 {%k7}
+# INTEL: vcvt2ps2phx xmm2 {k7}, xmm3, xmm4
+0x62,0xf2,0x65,0x0f,0x67,0xd4
+
+# ATT:   vcvt2ps2phx %xmm4, %xmm3, %xmm2 {%k7} {z}
+# INTEL: vcvt2ps2phx xmm2 {k7} {z}, xmm3, xmm4
+0x62,0xf2,0x65,0x8f,0x67,0xd4
+
+# ATT:   vcvt2ps2phx  268435456(%esp,%esi,8), %zmm3, %zmm2
+# INTEL: vcvt2ps2phx zmm2, zmm3, zmmword ptr [esp + 8*esi + 268435456]
+0x62,0xf2,0x65,0x48,0x67,0x94,0xf4,0x00,0x00,0x00,0x10
+
+# ATT:   vcvt2ps2phx  291(%edi,%eax,4), %zmm3, %zmm2 {%k7}
+# INTEL: vcvt2ps2phx zmm2 {k7}, zmm3, zmmword ptr [edi + 4*eax + 291]
+0x62,0xf2,0x65,0x4f,0x67,0x94,0x87,0x23,0x01,0x00,0x00
+
+# ATT:   vcvt2ps2phx  (%eax){1to16}, %zmm3, %zmm2
+# INTEL: vcvt2ps2phx zmm2, zmm3, dword ptr [eax]{1to16}
+0x62,0xf2,0x65,0x58,0x67,0x10
+
+# ATT:   vcvt2ps2phx  -2048(,%ebp,2), %zmm3, %zmm2
+# INTEL: vcvt2ps2phx zmm2, zmm3, zmmword ptr [2*ebp - 2048]
+0x62,0xf2,0x65,0x48,0x67,0x14,0x6d,0x00,0xf8,0xff,0xff
+
+# ATT:   vcvt2ps2phx  8128(%ecx), %zmm3, %zmm2 {%k7} {z}
+# INTEL: vcvt2ps2phx zmm2 {k7} {z}, zmm3, zmmword ptr [ecx + 8128]
+0x62,0xf2,0x65,0xcf,0x67,0x51,0x7f
+
+# ATT:   vcvt2ps2phx  -512(%edx){1to16}, %zmm3, %zmm2 {%k7} {z}
+# INTEL: vcvt2ps2phx zmm2 {k7} {z}, zmm3, dword ptr [edx - 512]{1to16}
+0x62,0xf2,0x65,0xdf,0x67,0x52,0x80
+
+# ATT:   vcvt2ps2phx  268435456(%esp,%esi,8), %ymm3, %ymm2
+# INTEL: vcvt2ps2phx ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
+0x62,0xf2,0x65,0x28,0x67,0x94,0xf4,0x00,0x00,0x00,0x10
+
+# ATT:   vcvt2ps2phx  291(%edi,%eax,4), %ymm3, %ymm2 {%k7}
+# INTEL: vcvt2ps2phx ymm2 {k7}, ymm3, ymmword ptr [edi + 4*eax + 291]
+0x62,0xf2,0x65,0x2f,0x67,0x94,0x87,0x23,0x01,0x00,0x00
+
+# ATT:   vcvt2ps2phx  (%eax){1to8}, %ymm3, %ymm2
+# INTEL: vcvt2ps2phx ymm2, ymm3, dword ptr [eax]{1to8}
+0x62,0xf2,0x65,0x38,0x67,0x10
+
+# ATT:   vcvt2ps2phx  -1024(,%ebp,2), %ymm3, %ymm2
+# INTEL: vcvt2ps2phx ymm2, ymm3, ymmword ptr [2*ebp - 1024]
+0x62,0xf2,0x65,0x28,0x67,0x14,0x6d,0x00,0xfc,0xff,0xff
+
+# ATT:   vcvt2ps2phx  4064(%ecx), %ymm3, %ymm2 {%k7} {z}
+# INTEL: vcvt2ps2phx ymm2 {k7} {z}, ymm3, ymmword ptr [ecx + 4064]
+0x62,0xf2,0x65,0xaf,0x67,0x51,0x7f
+
+# ATT:   vcvt2ps2phx  -512(%edx){1to8}, %ymm3, %ymm2 {%k7} {z}
+# INTEL: vcvt2ps2phx ymm2 {k7} {z}, ymm3, dword ptr [edx - 512]{1to8}
+0x62,0xf2,0x65,0xbf,0x67,0x52,0x80
+
+# ATT:   vcvt2ps2phx  268435456(%esp,%esi,8), %xmm3, %xmm2
+# INTEL: vcvt2ps2phx xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
+0x62,0xf2,0x65,0x08,0x67,0x94,0xf4,0x00,0x00,0x00,0x10
+
+# ATT:   vcvt2ps2phx  291(%edi,%eax,4), %xmm3, %xmm2 {%k7}
+# INTEL: vcvt2ps2phx xmm2 {k7}, xmm3, xmmword ptr [edi + 4*eax + 291]
+0x62,0xf2,0x65,0x0f,0x67,0x94,0x87,0x23,0x01,0x00,0x00
+
+# ATT:   vcvt2ps2phx  (%eax){1to4}, %xmm3, %xmm2
+# INTEL: vcvt2ps2phx xmm2, xmm3, dword ptr [eax]{1to4}
+0x62,0xf2,0x65,0x18,0x67,0x10
+
+# ATT:   vcvt2ps2phx  -512(,%ebp,2), %xmm3, %xmm2
+# INTEL: vcvt2ps2phx xmm2, xmm3, xmmword ptr [2*ebp - 512]
+0x62,0xf2,0x65,0x08,0x67,0x14,0x6d,0x00,0xfe,0xff,0xff
+
+# ATT:   vcvt2ps2phx  2032(%ecx), %xmm3, %xmm2 {%k7} {z}
+# INTEL: vcvt2ps2phx xmm2 {k7} {z}, xmm3, xmmword ptr [ecx + 2032]
+0x62,0xf2,0x65,0x8f,0x67,0x51,0x7f
+
+# ATT:   vcvt2ps2phx  -512(%edx){1to4}, %xmm3, %xmm2 {%k7} {z}
+# INTEL: vcvt2ps2phx xmm2 {k7} {z}, xmm3, dword ptr [edx - 512]{1to4}
+0x62,0xf2,0x65,0x9f,0x67,0x52,0x80
+
+# ATT:   vcvtbiasph2bf8 %zmm4, %zmm3, %ymm2
+# INTEL: vcvtbiasph2bf8 ymm2, zmm3, zmm4
+0x62,0xf2,0x64,0x48,0x74,0xd4
+
+# ATT:   vcvtbiasph2bf8 %zmm4, %zmm3, %ymm2 {%k7}
+# INTEL: vcvtbiasph2bf8 ymm2 {k7}, zmm3, zmm4
+0x62,0xf2,0x64,0x4f,0x74,0xd4
+
+# ATT:   vcvtbiasph2bf8 %zmm4, %zmm3, %ymm2 {%k7} {z}
+# INTEL: vcvtbiasph2bf8 ymm2 {k7} {z}, zmm3, zmm4
+0x62,0xf2,0x64,0xcf,0x74,0xd4
+
+# ATT:   vcvtbiasph2bf8 %xmm4, %xmm3, %xmm2
+# INTEL: vcvtbiasph2bf8 xmm2, xmm3, xmm4
+0x62,0xf2,0x64,0x08,0x74,0xd4
+
+# ATT:   vcvtbiasph2bf8 %xmm4, %xmm3, %xmm2 {%k7}
+# INTEL: vcvtbiasph2bf8 xmm2 {k7}, xmm3, xmm4
+0x62,0xf2,0x64,0x0f,0x74,0xd4
+
+# ATT:   vcvtbiasph2bf8 %xmm4, %xmm3, %xmm2 {%k7} {z}
+# INTEL: vcvtbiasph2bf8 xmm2 {k7} {z}, xmm3, xmm4
+0x62,0xf2,0x64,0x8f,0x74,0xd4
+
+# ATT:   vcvtbiasph2bf8 %ymm4, %ymm3, %xmm2
+# INTEL: vcvtbiasph2bf8 xmm2, ymm3, ymm4
+0x62,0xf2,0x64,0x28,0x74,0xd4
+
+# ATT:   vcvtbiasph2bf8 %ymm4, %ymm3, %xmm2 {%k7}
+# INTEL: vcvtbiasph2bf8 xmm2 {k7}, ymm3, ymm4
+0x62,0xf2,0x64,0x2f,0x74,0xd4
+
+# ATT:   vcvtbiasph2bf8 %ymm4, %ymm3, %xmm2 {%k7} {z}
+# INTEL: vcvtbiasph2bf8 xmm2 {k7} {z}, ymm3, ymm4
+0x62,0xf2,0x64,0xaf,0x74,0xd4
+
+# ATT:   vcvtbiasph2bf8  268435456(%esp,%esi,8), %ymm3, %xmm2
+# INTEL: vcvtbiasph2bf8 xmm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
+0x62,0xf2,0x64,0x28,0x74,0x94,0xf4,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtbiasph2bf8  291(%edi,%eax,4), %ymm3, %xmm2 {%k7}
+# INTEL: vcvtbiasph2bf8 xmm2 {k7}, ymm3, ymmword ptr [edi + 4*eax + 291]
+0x62,0xf2,0x64,0x2f,0x74,0x94,0x87,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtbiasph2bf8  (%eax){1to16}, %ymm3, %xmm2
+# INTEL: vcvtbiasph2bf8 xmm2, ymm3, word ptr [eax]{1to16}
+0x62,0xf2,0x64,0x38,0x74,0x10
+
+# ATT:   vcvtbiasph2bf8  -1024(,%ebp,2), %ymm3, %xmm2
+# INTEL: vcvtbiasph2bf8 xmm2, ymm3, ymmword ptr [2*ebp - 1024]
+0x62,0xf2,0x64,0x28,0x74,0x14,0x6d,0x00,0xfc,0xff,0xff
+
+# ATT:   vcvtbiasph2bf8  4064(%ecx), %ymm3, %xmm2 {%k7} {z}
+# INTEL: vcvtbiasph2bf8 xmm2 {k7} {z}, ymm3, ymmword ptr [ecx + 4064]
+0x62,0xf2,0x64,0xaf,0x74,0x51,0x7f
+
+# ATT:   vcvtbiasph2bf8  -256(%edx){1to16}, %ymm3, %xmm2 {%k7} {z}
+# INTEL: vcvtbiasph2bf8 xmm2 {k7} {z}, ymm3, word ptr [edx - 256]{1to16}
+0x62,0xf2,0x64,0xbf,0x74,0x52,0x80
+
+# ATT:   vcvtbiasph2bf8  268435456(%esp,%esi,8), %zmm3, %ymm2
+# INTEL: vcvtbiasph2bf8 ymm2, zmm3, zmmword ptr [esp + 8*esi + 268435456]
+0x62,0xf2,0x64,0x48,0x74,0x94,0xf4,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtbiasph2bf8  291(%edi,%eax,4), %zmm3, %ymm2 {%k7}
+# INTEL: vcvtbiasph2bf8 ymm2 {k7}, zmm3, zmmword ptr [edi + 4*eax + 291]
+0x62,0xf2,0x64,0x4f,0x74,0x94,0x87,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtbiasph2bf8  (%eax){1to32}, %zmm3, %ymm2
+# INTEL: vcvtbiasph2bf8 ymm2, zmm3, word ptr [eax]{1to32}
+0x62,0xf2,0x64,0x58,0x74,0x10
+
+# ATT:   vcvtbiasph2bf8  -2048(,%ebp,2), %zmm3, %ymm2
+# INTEL: vcvtbiasph2bf8 ymm2, zmm3, zmmword ptr [2*ebp - 2048]
+0x62,0xf2,0x64,0x48,0x74,0x14,0x6d,0x00,0xf8,0xff,0xff
+
+# ATT:   vcvtbiasph2bf8  8128(%ecx), %zmm3, %ymm2 {%k7} {z}
+# INTEL: vcvtbiasph2bf8 ymm2 {k7} {z}, zmm3, zmmword ptr [ecx + 8128]
+0x62,0xf2,0x64,0xcf,0x74,0x51,0x7f
+
+# ATT:   vcvtbiasph2bf8  -256(%edx){1to32}, %zmm3, %ymm2 {%k7} {z}
+# INTEL: vcvtbiasph2bf8 ymm2 {k7} {z}, zmm3, word ptr [edx - 256]{1to32}
+0x62,0xf2,0x64,0xdf,0x74,0x52,0x80
+
+# ATT:   vcvtbiasph2bf8  268435456(%esp,%esi,8), %xmm3, %xmm2
+# INTEL: vcvtbiasph2bf8 xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
+0x62,0xf2,0x64,0x08,0x74,0x94,0xf4,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtbiasph2bf8  291(%edi,%eax,4), %xmm3, %xmm2 {%k7}
+# INTEL: vcvtbiasph2bf8 xmm2 {k7}, xmm3, xmmword ptr [edi + 4*eax + 291]
+0x62,0xf2,0x64,0x0f,0x74,0x94,0x87,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtbiasph2bf8  (%eax){1to8}, %xmm3, %xmm2
+# INTEL: vcvtbiasph2bf8 xmm2, xmm3, word ptr [eax]{1to8}
+0x62,0xf2,0x64,0x18,0x74,0x10
+
+# ATT:   vcvtbiasph2bf8  -512(,%ebp,2), %xmm3, %xmm2
+# INTEL: vcvtbiasph2bf8 xmm2, xmm3, xmmword ptr [2*ebp - 512]
+0x62,0xf2,0x64,0x08,0x74,0x14,0x6d,0x00,0xfe,0xff,0xff
+
+# ATT:   vcvtbiasph2bf8  2032(%ecx), %xmm3, %xmm2 {%k7} {z}
+# INTEL: vcvtbiasph2bf8 xmm2 {k7} {z}, xmm3, xmmword ptr [ecx + 2032]
+0x62,0xf2,0x64,0x8f,0x74,0x51,0x7f
+
+# ATT:   vcvtbiasph2bf8  -256(%edx){1to8}, %xmm3, %xmm2 {%k7} {z}
+# INTEL: vcvtbiasph2bf8 xmm2 {k7} {z}, xmm3, word ptr [edx - 256]{1to8}
+0x62,0xf2,0x64,0x9f,0x74,0x52,0x80
+
+# ATT:   vcvtbiasph2bf8s %zmm4, %zmm3, %ymm2
+# INTEL: vcvtbiasph2bf8s ymm2, zmm3, zmm4
+0x62,0xf5,0x64,0x48,0x74,0xd4
+
+# ATT:   vcvtbiasph2bf8s %zmm4, %zmm3, %ymm2 {%k7}
+# INTEL: vcvtbiasph2bf8s ymm2 {k7}, zmm3, zmm4
+0x62,0xf5,0x64,0x4f,0x74,0xd4
+
+# ATT:   vcvtbiasph2bf8s %zmm4, %zmm3, %ymm2 {%k7} {z}
+# INTEL: vcvtbiasph2bf8s ymm2 {k7} {z}, zmm3, zmm4
+0x62,0xf5,0x64,0xcf,0x74,0xd4
+
+# ATT:   vcvtbiasph2bf8s %xmm4, %xmm3, %xmm2
+# INTEL: vcvtbiasph2bf8s xmm2, xmm3, xmm4
+0x62,0xf5,0x64,0x08,0x74,0xd4
+
+# ATT:   vcvtbiasph2bf8s %xmm4, %xmm3, %xmm2 {%k7}
+# INTEL: vcvtbiasph2bf8s xmm2 {k7}, xmm3, xmm4
+0x62,0xf5,0x64,0x0f,0x74,0xd4
+
+# ATT:   vcvtbiasph2bf8s %xmm4, %xmm3, %xmm2 {%k7} {z}
+# INTEL: vcvtbiasph2bf8s xmm2 {k7} {z}, xmm3, xmm4
+0x62,0xf5,0x64,0x8f,0x74,0xd4
+
+# ATT:   vcvtbiasph2bf8s %ymm4, %ymm3, %xmm2
+# INTEL: vcvtbiasph2bf8s xmm2, ymm3, ymm4
+0x62,0xf5,0x64,0x28,0x74,0xd4
+
+# ATT:   vcvtbiasph2bf8s %ymm4, %ymm3, %xmm2 {%k7}
+# INTEL: vcvtbiasph2bf8s xmm2 {k7}, ymm3, ymm4
+0x62,0xf5,0x64,0x2f,0x74,0xd4
+
+# ATT:   vcvtbiasph2bf8s %ymm4, %ymm3, %xmm2 {%k7} {z}
+# INTEL: vcvtbiasph2bf8s xmm2 {k7} {z}, ymm3, ymm4
+0x62,0xf5,0x64,0xaf,0x74,0xd4
+
+# ATT:   vcvtbiasph2bf8s  268435456(%esp,%esi,8), %ymm3, %xmm2
+# INTEL: vcvtbiasph2bf8s xmm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
+0x62,0xf5,0x64,0x28,0x74,0x94,0xf4,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtbiasph2bf8s  291(%edi,%eax,4), %ymm3, %xmm2 {%k7}
+# INTEL: vcvtbiasph2bf8s xmm2 {k7}, ymm3, ymmword ptr [edi + 4*eax + 291]
+0x62,0xf5,0x64,0x2f,0x74,0x94,0x87,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtbiasph2bf8s  (%eax){1to16}, %ymm3, %xmm2
+# INTEL: vcvtbiasph2bf8s xmm2, ymm3, word ptr [eax]{1to16}
+0x62,0xf5,0x64,0x38,0x74,0x10
+
+# ATT:   vcvtbiasph2bf8s  -1024(,%ebp,2), %ymm3, %xmm2
+# INTEL: vcvtbiasph2bf8s xmm2, ymm3, ymmword ptr [2*ebp - 1024]
+0x62,0xf5,0x64,0x28,0x74,0x14,0x6d,0x00,0xfc,0xff,0xff
+
+# ATT:   vcvtbiasph2bf8s  4064(%ecx), %ymm3, %xmm2 {%k7} {z}
+# INTEL: vcvtbiasph2bf8s xmm2 {k7} {z}, ymm3, ymmword ptr [ecx + 4064]
+0x62,0xf5,0x64,0xaf,0x74,0x51,0x7f
+
+# ATT:   vcvtbiasph2bf8s  -256(%edx){1to16}, %ymm3, %xmm2 {%k7} {z}
+# INTEL: vcvtbiasph2bf8s xmm2 {k7} {z}, ymm3, word ptr [edx - 256]{1to16}
+0x62,0xf5,0x64,0xbf,0x74,0x52,0x80
+
+# ATT:   vcvtbiasph2bf8s  268435456(%esp,%esi,8), %zmm3, %ymm2
+# INTEL: vcvtbiasph2bf8s ymm2, zmm3, zmmword ptr [esp + 8*esi + 268435456]
+0x62,0xf5,0x64,0x48,0x74,0x94,0xf4,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtbiasph2bf8s  291(%edi,%eax,4), %zmm3, %ymm2 {%k7}
+# INTEL: vcvtbiasph2bf8s ymm2 {k7}, zmm3, zmmword ptr [edi + 4*eax + 291]
+0x62,0xf5,0x64,0x4f,0x74,0x94,0x87,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtbiasph2bf8s  (%eax){1to32}, %zmm3, %ymm2
+# INTEL: vcvtbiasph2bf8s ymm2, zmm3, word ptr [eax]{1to32}
+0x62,0xf5,0x64,0x58,0x74,0x10
+
+# ATT:   vcvtbiasph2bf8s  -2048(,%ebp,2), %zmm3, %ymm2
+# INTEL: vcvtbiasph2bf8s ymm2, zmm3, zmmword ptr [2*ebp - 2048]
+0x62,0xf5,0x64,0x48,0x74,0x14,0x6d,0x00,0xf8,0xff,0xff
+
+# ATT:   vcvtbiasph2bf8s  8128(%ecx), %zmm3, %ymm2 {%k7} {z}
+# INTEL: vcvtbiasph2bf8s ymm2 {k7} {z}, zmm3, zmmword ptr [ecx + 8128]
+0x62,0xf5,0x64,0xcf,0x74,0x51,0x7f
+
+# ATT:   vcvtbiasph2bf8s  -256(%edx){1to32}, %zmm3, %ymm2 {%k7} {z}
+# INTEL: vcvtbiasph2bf8s ymm2 {k7} {z}, zmm3, word ptr [edx - 256]{1to32}
+0x62,0xf5,0x64,0xdf,0x74,0x52,0x80
+
+# ATT:   vcvtbiasph2bf8s  268435456(%esp,%esi,8), %xmm3, %xmm2
+# INTEL: vcvtbiasph2bf8s xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
+0x62,0xf5,0x64,0x08,0x74,0x94,0xf4,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtbiasph2bf8s  291(%edi,%eax,4), %xmm3, %xmm2 {%k7}
+# INTEL: vcvtbiasph2bf8s xmm2 {k7}, xmm3, xmmword ptr [edi + 4*eax + 291]
+0x62,0xf5,0x64,0x0f,0x74,0x94,0x87,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtbiasph2bf8s  (%eax){1to8}, %xmm3, %xmm2
+# INTEL: vcvtbiasph2bf8s xmm2, xmm3, word ptr [eax]{1to8}
+0x62,0xf5,0x64,0x18,0x74,0x10
+
+# ATT:   vcvtbiasph2bf8s  -512(,%ebp,2), %xmm3, %xmm2
+# INTEL: vcvtbiasph2bf8s xmm2, xmm3, xmmword ptr [2*ebp - 512]
+0x62,0xf5,0x64,0x08,0x74,0x14,0x6d,0x00,0xfe,0xff,0xff
+
+# ATT:   vcvtbiasph2bf8s  2032(%ecx), %xmm3, %xmm2 {%k7} {z}
+# INTEL: vcvtbiasph2bf8s xmm2 {k7} {z}, xmm3, xmmword ptr [ecx + 2032]
+0x62,0xf5,0x64,0x8f,0x74,0x51,0x7f
+
+# ATT:   vcvtbiasph2bf8s  -256(%edx){1to8}, %xmm3, %xmm2 {%k7} {z}
+# INTEL: vcvtbiasph2bf8s xmm2 {k7} {z}, xmm3, word ptr [edx - 256]{1to8}
+0x62,0xf5,0x64,0x9f,0x74,0x52,0x80
+
+# ATT:   vcvtbiasph2hf8 %zmm4, %zmm3, %ymm2
+# INTEL: vcvtbiasph2hf8 ymm2, zmm3, zmm4
+0x62,0xf5,0x64,0x48,0x18,0xd4
+
+# ATT:   vcvtbiasph2hf8 %zmm4, %zmm3, %ymm2 {%k7}
+# INTEL: vcvtbiasph2hf8 ymm2 {k7}, zmm3, zmm4
+0x62,0xf5,0x64,0x4f,0x18,0xd4
+
+# ATT:   vcvtbiasph2hf8 %zmm4, %zmm3, %ymm2 {%k7} {z}
+# INTEL: vcvtbiasph2hf8 ymm2 {k7} {z}, zmm3, zmm4
+0x62,0xf5,0x64,0xcf,0x18,0xd4
+
+# ATT:   vcvtbiasph2hf8 %xmm4, %xmm3, %xmm2
+# INTEL: vcvtbiasph2hf8 xmm2, xmm3, xmm4
+0x62,0xf5,0x64,0x08,0x18,0xd4
+
+# ATT:   vcvtbiasph2hf8 %xmm4, %xmm3, %xmm2 {%k7}
+# INTEL: vcvtbiasph2hf8 xmm2 {k7}, xmm3, xmm4
+0x62,0xf5,0x64,0x0f,0x18,0xd4
+
+# ATT:   vcvtbiasph2hf8 %xmm4, %xmm3, %xmm2 {%k7} {z}
+# INTEL: vcvtbiasph2hf8 xmm2 {k7} {z}, xmm3, xmm4
+0x62,0xf5,0x64,0x8f,0x18,0xd4
+
+# ATT:   vcvtbiasph2hf8 %ymm4, %ymm3, %xmm2
+# INTEL: vcvtbiasph2hf8 xmm2, ymm3, ymm4
+0x62,0xf5,0x64,0x28,0x18,0xd4
+
+# ATT:   vcvtbiasph2hf8 %ymm4, %ymm3, %xmm2 {%k7}
+# INTEL: vcvtbiasph2hf8 xmm2 {k7}, ymm3, ymm4
+0x62,0xf5,0x64,0x2f,0x18,0xd4
+
+# ATT:   vcvtbiasph2hf8 %ymm4, %ymm3, %xmm2 {%k7} {z}
+# INTEL: vcvtbiasph2hf8 xmm2 {k7} {z}, ymm3, ymm4
+0x62,0xf5,0x64,0xaf,0x18,0xd4
+
+# ATT:   vcvtbiasph2hf8  268435456(%esp,%esi,8), %ymm3, %xmm2
+# INTEL: vcvtbiasph2hf8 xmm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
+0x62,0xf5,0x64,0x28,0x18,0x94,0xf4,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtbiasph2hf8  291(%edi,%eax,4), %ymm3, %xmm2 {%k7}
+# INTEL: vcvtbiasph2hf8 xmm2 {k7}, ymm3, ymmword ptr [edi + 4*eax + 291]
+0x62,0xf5,0x64,0x2f,0x18,0x94,0x87,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtbiasph2hf8  (%eax){1to16}, %ymm3, %xmm2
+# INTEL: vcvtbiasph2hf8 xmm2, ymm3, word ptr [eax]{1to16}
+0x62,0xf5,0x64,0x38,0x18,0x10
+
+# ATT:   vcvtbiasph2hf8  -1024(,%ebp,2), %ymm3, %xmm2
+# INTEL: vcvtbiasph2hf8 xmm2, ymm3, ymmword ptr [2*ebp - 1024]
+0x62,0xf5,0x64,0x28,0x18,0x14,0x6d,0x00,0xfc,0xff,0xff
+
+# ATT:   vcvtbiasph2hf8  4064(%ecx), %ymm3, %xmm2 {%k7} {z}
+# INTEL: vcvtbiasph2hf8 xmm2 {k7} {z}, ymm3, ymmword ptr [ecx + 4064]
+0x62,0xf5,0x64,0xaf,0x18,0x51,0x7f
+
+# ATT:   vcvtbiasph2hf8  -256(%edx){1to16}, %ymm3, %xmm2 {%k7} {z}
+# INTEL: vcvtbiasph2hf8 xmm2 {k7} {z}, ymm3, word ptr [edx - 256]{1to16}
+0x62,0xf5,0x64,0xbf,0x18,0x52,0x80
+
+# ATT:   vcvtbiasph2hf8  268435456(%esp,%esi,8), %zmm3, %ymm2
+# INTEL: vcvtbiasph2hf8 ymm2, zmm3, zmmword ptr [esp + 8*esi + 268435456]
+0x62,0xf5,0x64,0x48,0x18,0x94,0xf4,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtbiasph2hf8  291(%edi,%eax,4), %zmm3, %ymm2 {%k7}
+# INTEL: vcvtbiasph2hf8 ymm2 {k7}, zmm3, zmmword ptr [edi + 4*eax + 291]
+0x62,0xf5,0x64,0x4f,0x18,0x94,0x87,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtbiasph2hf8  (%eax){1to32}, %zmm3, %ymm2
+# INTEL: vcvtbiasph2hf8 ymm2, zmm3, word ptr [eax]{1to32}
+0x62,0xf5,0x64,0x58,0x18,0x10
+
+# ATT:   vcvtbiasph2hf8  -2048(,%ebp,2), %zmm3, %ymm2
+# INTEL: vcvtbiasph2hf8 ymm2, zmm3, zmmword ptr [2*ebp - 2048]
+0x62,0xf5,0x64,0x48,0x18,0x14,0x6d,0x00,0xf8,0xff,0xff
+
+# ATT:   vcvtbiasph2hf8  8128(%ecx), %zmm3, %ymm2 {%k7} {z}
+# INTEL: vcvtbiasph2hf8 ymm2 {k7} {z}, zmm3, zmmword ptr [ecx + 8128]
+0x62,0xf5,0x64,0xcf,0x18,0x51,0x7f
+
+# ATT:   vcvtbiasph2hf8  -256(%edx){1to32}, %zmm3, %ymm2 {%k7} {z}
+# INTEL: vcvtbiasph2hf8 ymm2 {k7} {z}, zmm3, word ptr [edx - 256]{1to32}
+0x62,0xf5,0x64,0xdf,0x18,0x52,0x80
+
+# ATT:   vcvtbiasph2hf8  268435456(%esp,%esi,8), %xmm3, %xmm2
+# INTEL: vcvtbiasph2hf8 xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
+0x62,0xf5,0x64,0x08,0x18,0x94,0xf4,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtbiasph2hf8  291(%edi,%eax,4), %xmm3, %xmm2 {%k7}
+# INTEL: vcvtbiasph2hf8 xmm2 {k7}, xmm3, xmmword ptr [edi + 4*eax + 291]
+0x62,0xf5,0x64,0x0f,0x18,0x94,0x87,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtbiasph2hf8  (%eax){1to8}, %xmm3, %xmm2
+# INTEL: vcvtbiasph2hf8 xmm2, xmm3, word ptr [eax]{1to8}
+0x62,0xf5,0x64,0x18,0x18,0x10
+
+# ATT:   vcvtbiasph2hf8  -512(,%ebp,2), %xmm3, %xmm2
+# INTEL: vcvtbiasph2hf8 xmm2, xmm3, xmmword ptr [2*ebp - 512]
+0x62,0xf5,0x64,0x08,0x18,0x14,0x6d,0x00,0xfe,0xff,0xff
+
+# ATT:   vcvtbiasph2hf8  2032(%ecx), %xmm3, %xmm2 {%k7} {z}
+# INTEL: vcvtbiasph2hf8 xmm2 {k7} {z}, xmm3, xmmword ptr [ecx + 2032]
+0x62,0xf5,0x64,0x8f,0x18,0x51,0x7f
+
+# ATT:   vcvtbiasph2hf8  -256(%edx){1to8}, %xmm3, %xmm2 {%k7} {z}
+# INTEL: vcvtbiasph2hf8 xmm2 {k7} {z}, xmm3, word ptr [edx - 256]{1to8}
+0x62,0xf5,0x64,0x9f,0x18,0x52,0x80
+
+# ATT:   vcvtbiasph2hf8s %zmm4, %zmm3, %ymm2
+# INTEL: vcvtbiasph2hf8s ymm2, zmm3, zmm4
+0x62,0xf5,0x64,0x48,0x1b,0xd4
+
+# ATT:   vcvtbiasph2hf8s %zmm4, %zmm3, %ymm2 {%k7}
+# INTEL: vcvtbiasph2hf8s ymm2 {k7}, zmm3, zmm4
+0x62,0xf5,0x64,0x4f,0x1b,0xd4
+
+# ATT:   vcvtbiasph2hf8s %zmm4, %zmm3, %ymm2 {%k7} {z}
+# INTEL: vcvtbiasph2hf8s ymm2 {k7} {z}, zmm3, zmm4
+0x62,0xf5,0x64,0xcf,0x1b,0xd4
+
+# ATT:   vcvtbiasph2hf8s %xmm4, %xmm3, %xmm2
+# INTEL: vcvtbiasph2hf8s xmm2, xmm3, xmm4
+0x62,0xf5,0x64,0x08,0x1b,0xd4
+
+# ATT:   vcvtbiasph2hf8s %xmm4, %xmm3, %xmm2 {%k7}
+# INTEL: vcvtbiasph2hf8s xmm2 {k7}, xmm3, xmm4
+0x62,0xf5,0x64,0x0f,0x1b,0xd4
+
+# ATT:   vcvtbiasph2hf8s %xmm4, %xmm3, %xmm2 {%k7} {z}
+# INTEL: vcvtbiasph2hf8s xmm2 {k7} {z}, xmm3, xmm4
+0x62,0xf5,0x64,0x8f,0x1b,0xd4
+
+# ATT:   vcvtbiasph2hf8s %ymm4, %ymm3, %xmm2
+# INTEL: vcvtbiasph2hf8s xmm2, ymm3, ymm4
+0x62,0xf5,0x64,0x28,0x1b,0xd4
+
+# ATT:   vcvtbiasph2hf8s %ymm4, %ymm3, %xmm2 {%k7}
+# INTEL: vcvtbiasph2hf8s xmm2 {k7}, ymm3, ymm4
+0x62,0xf5,0x64,0x2f,0x1b,0xd4
+
+# ATT:   vcvtbiasph2hf8s %ymm4, %ymm3, %xmm2 {%k7} {z}
+# INTEL: vcvtbiasph2hf8s xmm2 {k7} {z}, ymm3, ymm4
+0x62,0xf5,0x64,0xaf,0x1b,0xd4
+
+# ATT:   vcvtbiasph2hf8s  268435456(%esp,%esi,8), %ymm3, %xmm2
+# INTEL: vcvtbiasph2hf8s xmm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
+0x62,0xf5,0x64,0x28,0x1b,0x94,0xf4,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtbiasph2hf8s  291(%edi,%eax,4), %ymm3, %xmm2 {%k7}
+# INTEL: vcvtbiasph2hf8s xmm2 {k7}, ymm3, ymmword ptr [edi + 4*eax + 291]
+0x62,0xf5,0x64,0x2f,0x1b,0x94,0x87,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtbiasph2hf8s  (%eax){1to16}, %ymm3, %xmm2
+# INTEL: vcvtbiasph2hf8s xmm2, ymm3, word ptr [eax]{1to16}
+0x62,0xf5,0x64,0x38,0x1b,0x10
+
+# ATT:   vcvtbiasph2hf8s  -1024(,%ebp,2), %ymm3, %xmm2
+# INTEL: vcvtbiasph2hf8s xmm2, ymm3, ymmword ptr [2*ebp - 1024]
+0x62,0xf5,0x64,0x28,0x1b,0x14,0x6d,0x00,0xfc,0xff,0xff
+
+# ATT:   vcvtbiasph2hf8s  4064(%ecx), %ymm3, %xmm2 {%k7} {z}
+# INTEL: vcvtbiasph2hf8s xmm2 {k7} {z}, ymm3, ymmword ptr [ecx + 4064]
+0x62,0xf5,0x64,0xaf,0x1b,0x51,0x7f
+
+# ATT:   vcvtbiasph2hf8s  -256(%edx){1to16}, %ymm3, %xmm2 {%k7} {z}
+# INTEL: vcvtbiasph2hf8s xmm2 {k7} {z}, ymm3, word ptr [edx - 256]{1to16}
+0x62,0xf5,0x64,0xbf,0x1b,0x52,0x80
+
+# ATT:   vcvtbiasph2hf8s  268435456(%esp,%esi,8), %zmm3, %ymm2
+# INTEL: vcvtbiasph2hf8s ymm2, zmm3, zmmword ptr [esp + 8*esi + 268435456]
+0x62,0xf5,0x64,0x48,0x1b,0x94,0xf4,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtbiasph2hf8s  291(%edi,%eax,4), %zmm3, %ymm2 {%k7}
+# INTEL: vcvtbiasph2hf8s ymm2 {k7}, zmm3, zmmword ptr [edi + 4*eax + 291]
+0x62,0xf5,0x64,0x4f,0x1b,0x94,0x87,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtbiasph2hf8s  (%eax){1to32}, %zmm3, %ymm2
+# INTEL: vcvtbiasph2hf8s ymm2, zmm3, word ptr [eax]{1to32}
+0x62,0xf5,0x64,0x58,0x1b,0x10
+
+# ATT:   vcvtbiasph2hf8s  -2048(,%ebp,2), %zmm3, %ymm2
+# INTEL: vcvtbiasph2hf8s ymm2, zmm3, zmmword ptr [2*ebp - 2048]
+0x62,0xf5,0x64,0x48,0x1b,0x14,0x6d,0x00,0xf8,0xff,0xff
+
+# ATT:   vcvtbiasph2hf8s  8128(%ecx), %zmm3, %ymm2 {%k7} {z}
+# INTEL: vcvtbiasph2hf8s ymm2 {k7} {z}, zmm3, zmmword ptr [ecx + 8128]
+0x62,0xf5,0x64,0xcf,0x1b,0x51,0x7f
+
+# ATT:   vcvtbiasph2hf8s  -256(%edx){1to32}, %zmm3, %ymm2 {%k7} {z}
+# INTEL: vcvtbiasph2hf8s ymm2 {k7} {z}, zmm3, word ptr [edx - 256]{1to32}
+0x62,0xf5,0x64,0xdf,0x1b,0x52,0x80
+
+# ATT:   vcvtbiasph2hf8s  268435456(%esp,%esi,8), %xmm3, %xmm2
+# INTEL: vcvtbiasph2hf8s xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
+0x62,0xf5,0x64,0x08,0x1b,0x94,0xf4,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtbiasph2hf8s  291(%edi,%eax,4), %xmm3, %xmm2 {%k7}
+# INTEL: vcvtbiasph2hf8s xmm2 {k7}, xmm3, xmmword ptr [edi + 4*eax + 291]
+0x62,0xf5,0x64,0x0f,0x1b,0x94,0x87,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtbiasph2hf8s  (%eax){1to8}, %xmm3, %xmm2
+# INTEL: vcvtbiasph2hf8s xmm2, xmm3, word ptr [eax]{1to8}
+0x62,0xf5,0x64,0x18,0x1b,0x10
+
+# ATT:   vcvtbiasph2hf8s  -512(,%ebp,2), %xmm3, %xmm2
+# INTEL: vcvtbiasph2hf8s xmm2, xmm3, xmmword ptr [2*ebp - 512]
+0x62,0xf5,0x64,0x08,0x1b,0x14,0x6d,0x00,0xfe,0xff,0xff
+
+# ATT:   vcvtbiasph2hf8s  2032(%ecx), %xmm3, %xmm2 {%k7} {z}
+# INTEL: vcvtbiasph2hf8s xmm2 {k7} {z}, xmm3, xmmword ptr [ecx + 2032]
+0x62,0xf5,0x64,0x8f,0x1b,0x51,0x7f
+
+# ATT:   vcvtbiasph2hf8s  -256(%edx){1to8}, %xmm3, %xmm2 {%k7} {z}
+# INTEL: vcvtbiasph2hf8s xmm2 {k7} {z}, xmm3, word ptr [edx - 256]{1to8}
+0x62,0xf5,0x64,0x9f,0x1b,0x52,0x80
+
+# ATT:   vcvthf82ph %xmm3, %xmm2
+# INTEL: vcvthf82ph xmm2, xmm3
+0x62,0xf5,0x7f,0x08,0x1e,0xd3
+
+# ATT:   vcvthf82ph %xmm3, %xmm2 {%k7}
+# INTEL: vcvthf82ph xmm2 {k7}, xmm3
+0x62,0xf5,0x7f,0x0f,0x1e,0xd3
+
+# ATT:   vcvthf82ph %xmm3, %xmm2 {%k7} {z}
+# INTEL: vcvthf82ph xmm2 {k7} {z}, xmm3
+0x62,0xf5,0x7f,0x8f,0x1e,0xd3
+
+# ATT:   vcvthf82ph %xmm3, %ymm2
+# INTEL: vcvthf82ph ymm2, xmm3
+0x62,0xf5,0x7f,0x28,0x1e,0xd3
+
+# ATT:   vcvthf82ph %xmm3, %ymm2 {%k7}
+# INTEL: vcvthf82ph ymm2 {k7}, xmm3
+0x62,0xf5,0x7f,0x2f,0x1e,0xd3
+
+# ATT:   vcvthf82ph %xmm3, %ymm2 {%k7} {z}
+# INTEL: vcvthf82ph ymm2 {k7} {z}, xmm3
+0x62,0xf5,0x7f,0xaf,0x1e,0xd3
+
+# ATT:   vcvthf82ph %ymm3, %zmm2
+# INTEL: vcvthf82ph zmm2, ymm3
+0x62,0xf5,0x7f,0x48,0x1e,0xd3
+
+# ATT:   vcvthf82ph %ymm3, %zmm2 {%k7}
+# INTEL: vcvthf82ph zmm2 {k7}, ymm3
+0x62,0xf5,0x7f,0x4f,0x1e,0xd3
+
+# ATT:   vcvthf82ph %ymm3, %zmm2 {%k7} {z}
+# INTEL: vcvthf82ph zmm2 {k7} {z}, ymm3
+0x62,0xf5,0x7f,0xcf,0x1e,0xd3
+
+# ATT:   vcvthf82ph  268435456(%esp,%esi,8), %xmm2
+# INTEL: vcvthf82ph xmm2, qword ptr [esp + 8*esi + 268435456]
+0x62,0xf5,0x7f,0x08,0x1e,0x94,0xf4,0x00,0x00,0x00,0x10
+
+# ATT:   vcvthf82ph  291(%edi,%eax,4), %xmm2 {%k7}
+# INTEL: vcvthf82ph xmm2 {k7}, qword ptr [edi + 4*eax + 291]
+0x62,0xf5,0x7f,0x0f,0x1e,0x94,0x87,0x23,0x01,0x00,0x00
+
+# ATT:   vcvthf82ph  (%eax), %xmm2
+# INTEL: vcvthf82ph xmm2, qword ptr [eax]
+0x62,0xf5,0x7f,0x08,0x1e,0x10
+
+# ATT:   vcvthf82ph  -256(,%ebp,2), %xmm2
+# INTEL: vcvthf82ph xmm2, qword ptr [2*ebp - 256]
+0x62,0xf5,0x7f,0x08,0x1e,0x14,0x6d,0x00,0xff,0xff,0xff
+
+# ATT:   vcvthf82ph  1016(%ecx), %xmm2 {%k7} {z}
+# INTEL: vcvthf82ph xmm2 {k7} {z}, qword ptr [ecx + 1016]
+0x62,0xf5,0x7f,0x8f,0x1e,0x51,0x7f
+
+# ATT:   vcvthf82ph  -1024(%edx), %xmm2 {%k7} {z}
+# INTEL: vcvthf82ph xmm2 {k7} {z}, qword ptr [edx - 1024]
+0x62,0xf5,0x7f,0x8f,0x1e,0x52,0x80
+
+# ATT:   vcvthf82ph  268435456(%esp,%esi,8), %ymm2
+# INTEL: vcvthf82ph ymm2, xmmword ptr [esp + 8*esi + 268435456]
+0x62,0xf5,0x7f,0x28,0x1e,0x94,0xf4,0x00,0x00,0x00,0x10
+
+# ATT:   vcvthf82ph  291(%edi,%eax,4), %ymm2 {%k7}
+# INTEL: vcvthf82ph ymm2 {k7}, xmmword ptr [edi + 4*eax + 291]
+0x62,0xf5,0x7f,0x2f,0x1e,0x94,0x87,0x23,0x01,0x00,0x00
+
+# ATT:   vcvthf82ph  (%eax), %ymm2
+# INTEL: vcvthf82ph ymm2, xmmword ptr [eax]
+0x62,0xf5,0x7f,0x28,0x1e,0x10
+
+# ATT:   vcvthf82ph  -512(,%ebp,2), %ymm2
+# INTEL: vcvthf82ph ymm2, xmmword ptr [2*ebp - 512]
+0x62,0xf5,0x7f,0x28,0x1e,0x14,0x6d,0x00,0xfe,0xff,0xff
+
+# ATT:   vcvthf82ph  2032(%ecx), %ymm2 {%k7} {z}
+# INTEL: vcvthf82ph ymm2 {k7} {z}, xmmword ptr [ecx + 2032]
+0x62,0xf5,0x7f,0xaf,0x1e,0x51,0x7f
+
+# ATT:   vcvthf82ph  -2048(%edx), %ymm2 {%k7} {z}
+# INTEL: vcvthf82ph ymm2 {k7} {z}, xmmword ptr [edx - 2048]
+0x62,0xf5,0x7f,0xaf,0x1e,0x52,0x80
+
+# ATT:   vcvthf82ph  268435456(%esp,%esi,8), %zmm2
+# INTEL: vcvthf82ph zmm2, ymmword ptr [esp + 8*esi + 268435456]
+0x62,0xf5,0x7f,0x48,0x1e,0x94,0xf4,0x00,0x00,0x00,0x10
+
+# ATT:   vcvthf82ph  291(%edi,%eax,4), %zmm2 {%k7}
+# INTEL: vcvthf82ph zmm2 {k7}, ymmword ptr [edi + 4*eax + 291]
+0x62,0xf5,0x7f,0x4f,0x1e,0x94,0x87,0x23,0x01,0x00,0x00
+
+# ATT:   vcvthf82ph  (%eax), %zmm2
+# INTEL: vcvthf82ph zmm2, ymmword ptr [eax]
+0x62,0xf5,0x7f,0x48,0x1e,0x10
+
+# ATT:   vcvthf82ph  -1024(,%ebp,2), %zmm2
+# INTEL: vcvthf82ph zmm2, ymmword ptr [2*ebp - 1024]
+0x62,0xf5,0x7f,0x48,0x1e,0x14,0x6d,0x00,0xfc,0xff,0xff
+
+# ATT:   vcvthf82ph  4064(%ecx), %zmm2 {%k7} {z}
+# INTEL: vcvthf82ph zmm2 {k7} {z}, ymmword ptr [ecx + 4064]
+0x62,0xf5,0x7f,0xcf,0x1e,0x51,0x7f
+
+# ATT:   vcvthf82ph  -4096(%edx), %zmm2 {%k7} {z}
+# INTEL: vcvthf82ph zmm2 {k7} {z}, ymmword ptr [edx - 4096]
+0x62,0xf5,0x7f,0xcf,0x1e,0x52,0x80
+
+# ATT:   vcvtne2ph2bf8 %ymm4, %ymm3, %ymm2
+# INTEL: vcvtne2ph2bf8 ymm2, ymm3, ymm4
+0x62,0xf2,0x67,0x28,0x74,0xd4
+
+# ATT:   vcvtne2ph2bf8 %ymm4, %ymm3, %ymm2 {%k7}
+# INTEL: vcvtne2ph2bf8 ymm2 {k7}, ymm3, ymm4
+0x62,0xf2,0x67,0x2f,0x74,0xd4
+
+# ATT:   vcvtne2ph2bf8 %ymm4, %ymm3, %ymm2 {%k7} {z}
+# INTEL: vcvtne2ph2bf8 ymm2 {k7} {z}, ymm3, ymm4
+0x62,0xf2,0x67,0xaf,0x74,0xd4
+
+# ATT:   vcvtne2ph2bf8 %zmm4, %zmm3, %zmm2
+# INTEL: vcvtne2ph2bf8 zmm2, zmm3, zmm4
+0x62,0xf2,0x67,0x48,0x74,0xd4
+
+# ATT:   vcvtne2ph2bf8 %zmm4, %zmm3, %zmm2 {%k7}
+# INTEL: vcvtne2ph2bf8 zmm2 {k7}, zmm3, zmm4
+0x62,0xf2,0x67,0x4f,0x74,0xd4
+
+# ATT:   vcvtne2ph2bf8 %zmm4, %zmm3, %zmm2 {%k7} {z}
+# INTEL: vcvtne2ph2bf8 zmm2 {k7} {z}, zmm3, zmm4
+0x62,0xf2,0x67,0xcf,0x74,0xd4
+
+# ATT:   vcvtne2ph2bf8 %xmm4, %xmm3, %xmm2
+# INTEL: vcvtne2ph2bf8 xmm2, xmm3, xmm4
+0x62,0xf2,0x67,0x08,0x74,0xd4
+
+# ATT:   vcvtne2ph2bf8 %xmm4, %xmm3, %xmm2 {%k7}
+# INTEL: vcvtne2ph2bf8 xmm2 {k7}, xmm3, xmm4
+0x62,0xf2,0x67,0x0f,0x74,0xd4
+
+# ATT:   vcvtne2ph2bf8 %xmm4, %xmm3, %xmm2 {%k7} {z}
+# INTEL: vcvtne2ph2bf8 xmm2 {k7} {z}, xmm3, xmm4
+0x62,0xf2,0x67,0x8f,0x74,0xd4
+
+# ATT:   vcvtne2ph2bf8  268435456(%esp,%esi,8), %zmm3, %zmm2
+# INTEL: vcvtne2ph2bf8 zmm2, zmm3, zmmword ptr [esp + 8*esi + 268435456]
+0x62,0xf2,0x67,0x48,0x74,0x94,0xf4,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtne2ph2bf8  291(%edi,%eax,4), %zmm3, %zmm2 {%k7}
+# INTEL: vcvtne2ph2bf8 zmm2 {k7}, zmm3, zmmword ptr [edi + 4*eax + 291]
+0x62,0xf2,0x67,0x4f,0x74,0x94,0x87,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtne2ph2bf8  (%eax){1to32}, %zmm3, %zmm2
+# INTEL: vcvtne2ph2bf8 zmm2, zmm3, word ptr [eax]{1to32}
+0x62,0xf2,0x67,0x58,0x74,0x10
+
+# ATT:   vcvtne2ph2bf8  -2048(,%ebp,2), %zmm3, %zmm2
+# INTEL: vcvtne2ph2bf8 zmm2, zmm3, zmmword ptr [2*ebp - 2048]
+0x62,0xf2,0x67,0x48,0x74,0x14,0x6d,0x00,0xf8,0xff,0xff
+
+# ATT:   vcvtne2ph2bf8  8128(%ecx), %zmm3, %zmm2 {%k7} {z}
+# INTEL: vcvtne2ph2bf8 zmm2 {k7} {z}, zmm3, zmmword ptr [ecx + 8128]
+0x62,0xf2,0x67,0xcf,0x74,0x51,0x7f
+
+# ATT:   vcvtne2ph2bf8  -256(%edx){1to32}, %zmm3, %zmm2 {%k7} {z}
+# INTEL: vcvtne2ph2bf8 zmm2 {k7} {z}, zmm3, word ptr [edx - 256]{1to32}
+0x62,0xf2,0x67,0xdf,0x74,0x52,0x80
+
+# ATT:   vcvtne2ph2bf8  268435456(%esp,%esi,8), %ymm3, %ymm2
+# INTEL: vcvtne2ph2bf8 ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
+0x62,0xf2,0x67,0x28,0x74,0x94,0xf4,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtne2ph2bf8  291(%edi,%eax,4), %ymm3, %ymm2 {%k7}
+# INTEL: vcvtne2ph2bf8 ymm2 {k7}, ymm3, ymmword ptr [edi + 4*eax + 291]
+0x62,0xf2,0x67,0x2f,0x74,0x94,0x87,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtne2ph2bf8  (%eax){1to16}, %ymm3, %ymm2
+# INTEL: vcvtne2ph2bf8 ymm2, ymm3, word ptr [eax]{1to16}
+0x62,0xf2,0x67,0x38,0x74,0x10
+
+# ATT:   vcvtne2ph2bf8  -1024(,%ebp,2), %ymm3, %ymm2
+# INTEL: vcvtne2ph2bf8 ymm2, ymm3, ymmword ptr [2*ebp - 1024]
+0x62,0xf2,0x67,0x28,0x74,0x14,0x6d,0x00,0xfc,0xff,0xff
+
+# ATT:   vcvtne2ph2bf8  4064(%ecx), %ymm3, %ymm2 {%k7} {z}
+# INTEL: vcvtne2ph2bf8 ymm2 {k7} {z}, ymm3, ymmword ptr [ecx + 4064]
+0x62,0xf2,0x67,0xaf,0x74,0x51,0x7f
+
+# ATT:   vcvtne2ph2bf8  -256(%edx){1to16}, %ymm3, %ymm2 {%k7} {z}
+# INTEL: vcvtne2ph2bf8 ymm2 {k7} {z}, ymm3, word ptr [edx - 256]{1to16}
+0x62,0xf2,0x67,0xbf,0x74,0x52,0x80
+
+# ATT:   vcvtne2ph2bf8  268435456(%esp,%esi,8), %xmm3, %xmm2
+# INTEL: vcvtne2ph2bf8 xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
+0x62,0xf2,0x67,0x08,0x74,0x94,0xf4,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtne2ph2bf8  291(%edi,%eax,4), %xmm3, %xmm2 {%k7}
+# INTEL: vcvtne2ph2bf8 xmm2 {k7}, xmm3, xmmword ptr [edi + 4*eax + 291]
+0x62,0xf2,0x67,0x0f,0x74,0x94,0x87,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtne2ph2bf8  (%eax){1to8}, %xmm3, %xmm2
+# INTEL: vcvtne2ph2bf8 xmm2, xmm3, word ptr [eax]{1to8}
+0x62,0xf2,0x67,0x18,0x74,0x10
+
+# ATT:   vcvtne2ph2bf8  -512(,%ebp,2), %xmm3, %xmm2
+# INTEL: vcvtne2ph2bf8 xmm2, xmm3, xmmword ptr [2*ebp - 512]
+0x62,0xf2,0x67,0x08,0x74,0x14,0x6d,0x00,0xfe,0xff,0xff
+
+# ATT:   vcvtne2ph2bf8  2032(%ecx), %xmm3, %xmm2 {%k7} {z}
+# INTEL: vcvtne2ph2bf8 xmm2 {k7} {z}, xmm3, xmmword ptr [ecx + 2032]
+0x62,0xf2,0x67,0x8f,0x74,0x51,0x7f
+
+# ATT:   vcvtne2ph2bf8  -256(%edx){1to8}, %xmm3, %xmm2 {%k7} {z}
+# INTEL: vcvtne2ph2bf8 xmm2 {k7} {z}, xmm3, word ptr [edx - 256]{1to8}
+0x62,0xf2,0x67,0x9f,0x74,0x52,0x80
+
+# ATT:   vcvtne2ph2bf8s %ymm4, %ymm3, %ymm2
+# INTEL: vcvtne2ph2bf8s ymm2, ymm3, ymm4
+0x62,0xf5,0x67,0x28,0x74,0xd4
+
+# ATT:   vcvtne2ph2bf8s %ymm4, %ymm3, %ymm2 {%k7}
+# INTEL: vcvtne2ph2bf8s ymm2 {k7}, ymm3, ymm4
+0x62,0xf5,0x67,0x2f,0x74,0xd4
+
+# ATT:   vcvtne2ph2bf8s %ymm4, %ymm3, %ymm2 {%k7} {z}
+# INTEL: vcvtne2ph2bf8s ymm2 {k7} {z}, ymm3, ymm4
+0x62,0xf5,0x67,0xaf,0x74,0xd4
+
+# ATT:   vcvtne2ph2bf8s %zmm4, %zmm3, %zmm2
+# INTEL: vcvtne2ph2bf8s zmm2, zmm3, zmm4
+0x62,0xf5,0x67,0x48,0x74,0xd4
+
+# ATT:   vcvtne2ph2bf8s %zmm4, %zmm3, %zmm2 {%k7}
+# INTEL: vcvtne2ph2bf8s zmm2 {k7}, zmm3, zmm4
+0x62,0xf5,0x67,0x4f,0x74,0xd4
+
+# ATT:   vcvtne2ph2bf8s %zmm4, %zmm3, %zmm2 {%k7} {z}
+# INTEL: vcvtne2ph2bf8s zmm2 {k7} {z}, zmm3, zmm4
+0x62,0xf5,0x67,0xcf,0x74,0xd4
+
+# ATT:   vcvtne2ph2bf8s %xmm4, %xmm3, %xmm2
+# INTEL: vcvtne2ph2bf8s xmm2, xmm3, xmm4
+0x62,0xf5,0x67,0x08,0x74,0xd4
+
+# ATT:   vcvtne2ph2bf8s %xmm4, %xmm3, %xmm2 {%k7}
+# INTEL: vcvtne2ph2bf8s xmm2 {k7}, xmm3, xmm4
+0x62,0xf5,0x67,0x0f,0x74,0xd4
+
+# ATT:   vcvtne2ph2bf8s %xmm4, %xmm3, %xmm2 {%k7} {z}
+# INTEL: vcvtne2ph2bf8s xmm2 {k7} {z}, xmm3, xmm4
+0x62,0xf5,0x67,0x8f,0x74,0xd4
+
+# ATT:   vcvtne2ph2bf8s  268435456(%esp,%esi,8), %zmm3, %zmm2
+# INTEL: vcvtne2ph2bf8s zmm2, zmm3, zmmword ptr [esp + 8*esi + 268435456]
+0x62,0xf5,0x67,0x48,0x74,0x94,0xf4,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtne2ph2bf8s  291(%edi,%eax,4), %zmm3, %zmm2 {%k7}
+# INTEL: vcvtne2ph2bf8s zmm2 {k7}, zmm3, zmmword ptr [edi + 4*eax + 291]
+0x62,0xf5,0x67,0x4f,0x74,0x94,0x87,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtne2ph2bf8s  (%eax){1to32}, %zmm3, %zmm2
+# INTEL: vcvtne2ph2bf8s zmm2, zmm3, word ptr [eax]{1to32}
+0x62,0xf5,0x67,0x58,0x74,0x10
+
+# ATT:   vcvtne2ph2bf8s  -2048(,%ebp,2), %zmm3, %zmm2
+# INTEL: vcvtne2ph2bf8s zmm2, zmm3, zmmword ptr [2*ebp - 2048]
+0x62,0xf5,0x67,0x48,0x74,0x14,0x6d,0x00,0xf8,0xff,0xff
+
+# ATT:   vcvtne2ph2bf8s  8128(%ecx), %zmm3, %zmm2 {%k7} {z}
+# INTEL: vcvtne2ph2bf8s zmm2 {k7} {z}, zmm3, zmmword ptr [ecx + 8128]
+0x62,0xf5,0x67,0xcf,0x74,0x51,0x7f
+
+# ATT:   vcvtne2ph2bf8s  -256(%edx){1to32}, %zmm3, %zmm2 {%k7} {z}
+# INTEL: vcvtne2ph2bf8s zmm2 {k7} {z}, zmm3, word ptr [edx - 256]{1to32}
+0x62,0xf5,0x67,0xdf,0x74,0x52,0x80
+
+# ATT:   vcvtne2ph2bf8s  268435456(%esp,%esi,8), %ymm3, %ymm2
+# INTEL: vcvtne2ph2bf8s ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
+0x62,0xf5,0x67,0x28,0x74,0x94,0xf4,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtne2ph2bf8s  291(%edi,%eax,4), %ymm3, %ymm2 {%k7}
+# INTEL: vcvtne2ph2bf8s ymm2 {k7}, ymm3, ymmword ptr [edi + 4*eax + 291]
+0x62,0xf5,0x67,0x2f,0x74,0x94,0x87,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtne2ph2bf8s  (%eax){1to16}, %ymm3, %ymm2
+# INTEL: vcvtne2ph2bf8s ymm2, ymm3, word ptr [eax]{1to16}
+0x62,0xf5,0x67,0x38,0x74,0x10
+
+# ATT:   vcvtne2ph2bf8s  -1024(,%ebp,2), %ymm3, %ymm2
+# INTEL: vcvtne2ph2bf8s ymm2, ymm3, ymmword ptr [2*ebp - 1024]
+0x62,0xf5,0x67,0x28,0x74,0x14,0x6d,0x00,0xfc,0xff,0xff
+
+# ATT:   vcvtne2ph2bf8s  4064(%ecx), %ymm3, %ymm2 {%k7} {z}
+# INTEL: vcvtne2ph2bf8s ymm2 {k7} {z}, ymm3, ymmword ptr [ecx + 4064]
+0x62,0xf5,0x67,0xaf,0x74,0x51,0x7f
+
+# ATT:   vcvtne2ph2bf8s  -256(%edx){1to16}, %ymm3, %ymm2 {%k7} {z}
+# INTEL: vcvtne2ph2bf8s ymm2 {k7} {z}, ymm3, word ptr [edx - 256]{1to16}
+0x62,0xf5,0x67,0xbf,0x74,0x52,0x80
+
+# ATT:   vcvtne2ph2bf8s  268435456(%esp,%esi,8), %xmm3, %xmm2
+# INTEL: vcvtne2ph2bf8s xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
+0x62,0xf5,0x67,0x08,0x74,0x94,0xf4,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtne2ph2bf8s  291(%edi,%eax,4), %xmm3, %xmm2 {%k7}
+# INTEL: vcvtne2ph2bf8s xmm2 {k7}, xmm3, xmmword ptr [edi + 4*eax + 291]
+0x62,0xf5,0x67,0x0f,0x74,0x94,0x87,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtne2ph2bf8s  (%eax){1to8}, %xmm3, %xmm2
+# INTEL: vcvtne2ph2bf8s xmm2, xmm3, word ptr [eax]{1to8}
+0x62,0xf5,0x67,0x18,0x74,0x10
+
+# ATT:   vcvtne2ph2bf8s  -512(,%ebp,2), %xmm3, %xmm2
+# INTEL: vcvtne2ph2bf8s xmm2, xmm3, xmmword ptr [2*ebp - 512]
+0x62,0xf5,0x67,0x08,0x74,0x14,0x6d,0x00,0xfe,0xff,0xff
+
+# ATT:   vcvtne2ph2bf8s  2032(%ecx), %xmm3, %xmm2 {%k7} {z}
+# INTEL: vcvtne2ph2bf8s xmm2 {k7} {z}, xmm3, xmmword ptr [ecx + 2032]
+0x62,0xf5,0x67,0x8f,0x74,0x51,0x7f
+
+# ATT:   vcvtne2ph2bf8s  -256(%edx){1to8}, %xmm3, %xmm2 {%k7} {z}
+# INTEL: vcvtne2ph2bf8s xmm2 {k7} {z}, xmm3, word ptr [edx - 256]{1to8}
+0x62,0xf5,0x67,0x9f,0x74,0x52,0x80
+
+# ATT:   vcvtne2ph2hf8 %ymm4, %ymm3, %ymm2
+# INTEL: vcvtne2ph2hf8 ymm2, ymm3, ymm4
+0x62,0xf5,0x67,0x28,0x18,0xd4
+
+# ATT:   vcvtne2ph2hf8 %ymm4, %ymm3, %ymm2 {%k7}
+# INTEL: vcvtne2ph2hf8 ymm2 {k7}, ymm3, ymm4
+0x62,0xf5,0x67,0x2f,0x18,0xd4
+
+# ATT:   vcvtne2ph2hf8 %ymm4, %ymm3, %ymm2 {%k7} {z}
+# INTEL: vcvtne2ph2hf8 ymm2 {k7} {z}, ymm3, ymm4
+0x62,0xf5,0x67,0xaf,0x18,0xd4
+
+# ATT:   vcvtne2ph2hf8 %zmm4, %zmm3, %zmm2
+# INTEL: vcvtne2ph2hf8 zmm2, zmm3, zmm4
+0x62,0xf5,0x67,0x48,0x18,0xd4
+
+# ATT:   vcvtne2ph2hf8 %zmm4, %zmm3, %zmm2 {%k7}
+# INTEL: vcvtne2ph2hf8 zmm2 {k7}, zmm3, zmm4
+0x62,0xf5,0x67,0x4f,0x18,0xd4
+
+# ATT:   vcvtne2ph2hf8 %zmm4, %zmm3, %zmm2 {%k7} {z}
+# INTEL: vcvtne2ph2hf8 zmm2 {k7} {z}, zmm3, zmm4
+0x62,0xf5,0x67,0xcf,0x18,0xd4
+
+# ATT:   vcvtne2ph2hf8 %xmm4, %xmm3, %xmm2
+# INTEL: vcvtne2ph2hf8 xmm2, xmm3, xmm4
+0x62,0xf5,0x67,0x08,0x18,0xd4
+
+# ATT:   vcvtne2ph2hf8 %xmm4, %xmm3, %xmm2 {%k7}
+# INTEL: vcvtne2ph2hf8 xmm2 {k7}, xmm3, xmm4
+0x62,0xf5,0x67,0x0f,0x18,0xd4
+
+# ATT:   vcvtne2ph2hf8 %xmm4, %xmm3, %xmm2 {%k7} {z}
+# INTEL: vcvtne2ph2hf8 xmm2 {k7} {z}, xmm3, xmm4
+0x62,0xf5,0x67,0x8f,0x18,0xd4
+
+# ATT:   vcvtne2ph2hf8  268435456(%esp,%esi,8), %zmm3, %zmm2
+# INTEL: vcvtne2ph2hf8 zmm2, zmm3, zmmword ptr [esp + 8*esi + 268435456]
+0x62,0xf5,0x67,0x48,0x18,0x94,0xf4,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtne2ph2hf8  291(%edi,%eax,4), %zmm3, %zmm2 {%k7}
+# INTEL: vcvtne2ph2hf8 zmm2 {k7}, zmm3, zmmword ptr [edi + 4*eax + 291]
+0x62,0xf5,0x67,0x4f,0x18,0x94,0x87,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtne2ph2hf8  (%eax){1to32}, %zmm3, %zmm2
+# INTEL: vcvtne2ph2hf8 zmm2, zmm3, word ptr [eax]{1to32}
+0x62,0xf5,0x67,0x58,0x18,0x10
+
+# ATT:   vcvtne2ph2hf8  -2048(,%ebp,2), %zmm3, %zmm2
+# INTEL: vcvtne2ph2hf8 zmm2, zmm3, zmmword ptr [2*ebp - 2048]
+0x62,0xf5,0x67,0x48,0x18,0x14,0x6d,0x00,0xf8,0xff,0xff
+
+# ATT:   vcvtne2ph2hf8  8128(%ecx), %zmm3, %zmm2 {%k7} {z}
+# INTEL: vcvtne2ph2hf8 zmm2 {k7} {z}, zmm3, zmmword ptr [ecx + 8128]
+0x62,0xf5,0x67,0xcf,0x18,0x51,0x7f
+
+# ATT:   vcvtne2ph2hf8  -256(%edx){1to32}, %zmm3, %zmm2 {%k7} {z}
+# INTEL: vcvtne2ph2hf8 zmm2 {k7} {z}, zmm3, word ptr [edx - 256]{1to32}
+0x62,0xf5,0x67,0xdf,0x18,0x52,0x80
+
+# ATT:   vcvtne2ph2hf8  268435456(%esp,%esi,8), %ymm3, %ymm2
+# INTEL: vcvtne2ph2hf8 ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
+0x62,0xf5,0x67,0x28,0x18,0x94,0xf4,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtne2ph2hf8  291(%edi,%eax,4), %ymm3, %ymm2 {%k7}
+# INTEL: vcvtne2ph2hf8 ymm2 {k7}, ymm3, ymmword ptr [edi + 4*eax + 291]
+0x62,0xf5,0x67,0x2f,0x18,0x94,0x87,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtne2ph2hf8  (%eax){1to16}, %ymm3, %ymm2
+# INTEL: vcvtne2ph2hf8 ymm2, ymm3, word ptr [eax]{1to16}
+0x62,0xf5,0x67,0x38,0x18,0x10
+
+# ATT:   vcvtne2ph2hf8  -1024(,%ebp,2), %ymm3, %ymm2
+# INTEL: vcvtne2ph2hf8 ymm2, ymm3, ymmword ptr [2*ebp - 1024]
+0x62,0xf5,0x67,0x28,0x18,0x14,0x6d,0x00,0xfc,0xff,0xff
+
+# ATT:   vcvtne2ph2hf8  4064(%ecx), %ymm3, %ymm2 {%k7} {z}
+# INTEL: vcvtne2ph2hf8 ymm2 {k7} {z}, ymm3, ymmword ptr [ecx + 4064]
+0x62,0xf5,0x67,0xaf,0x18,0x51,0x7f
+
+# ATT:   vcvtne2ph2hf8  -256(%edx){1to16}, %ymm3, %ymm2 {%k7} {z}
+# INTEL: vcvtne2ph2hf8 ymm2 {k7} {z}, ymm3, word ptr [edx - 256]{1to16}
+0x62,0xf5,0x67,0xbf,0x18,0x52,0x80
+
+# ATT:   vcvtne2ph2hf8  268435456(%esp,%esi,8), %xmm3, %xmm2
+# INTEL: vcvtne2ph2hf8 xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
+0x62,0xf5,0x67,0x08,0x18,0x94,0xf4,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtne2ph2hf8  291(%edi,%eax,4), %xmm3, %xmm2 {%k7}
+# INTEL: vcvtne2ph2hf8 xmm2 {k7}, xmm3, xmmword ptr [edi + 4*eax + 291]
+0x62,0xf5,0x67,0x0f,0x18,0x94,0x87,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtne2ph2hf8  (%eax){1to8}, %xmm3, %xmm2
+# INTEL: vcvtne2ph2hf8 xmm2, xmm3, word ptr [eax]{1to8}
+0x62,0xf5,0x67,0x18,0x18,0x10
+
+# ATT:   vcvtne2ph2hf8  -512(,%ebp,2), %xmm3, %xmm2
+# INTEL: vcvtne2ph2hf8 xmm2, xmm3, xmmword ptr [2*ebp - 512]
+0x62,0xf5,0x67,0x08,0x18,0x14,0x6d,0x00,0xfe,0xff,0xff
+
+# ATT:   vcvtne2ph2hf8  2032(%ecx), %xmm3, %xmm2 {%k7} {z}
+# INTEL: vcvtne2ph2hf8 xmm2 {k7} {z}, xmm3, xmmword ptr [ecx + 2032]
+0x62,0xf5,0x67,0x8f,0x18,0x51,0x7f
+
+# ATT:   vcvtne2ph2hf8  -256(%edx){1to8}, %xmm3, %xmm2 {%k7} {z}
+# INTEL: vcvtne2ph2hf8 xmm2 {k7} {z}, xmm3, word ptr [edx - 256]{1to8}
+0x62,0xf5,0x67,0x9f,0x18,0x52,0x80
+
+# ATT:   vcvtne2ph2hf8s %ymm4, %ymm3, %ymm2
+# INTEL: vcvtne2ph2hf8s ymm2, ymm3, ymm4
+0x62,0xf5,0x67,0x28,0x1b,0xd4
+
+# ATT:   vcvtne2ph2hf8s %ymm4, %ymm3, %ymm2 {%k7}
+# INTEL: vcvtne2ph2hf8s ymm2 {k7}, ymm3, ymm4
+0x62,0xf5,0x67,0x2f,0x1b,0xd4
+
+# ATT:   vcvtne2ph2hf8s %ymm4, %ymm3, %ymm2 {%k7} {z}
+# INTEL: vcvtne2ph2hf8s ymm2 {k7} {z}, ymm3, ymm4
+0x62,0xf5,0x67,0xaf,0x1b,0xd4
+
+# ATT:   vcvtne2ph2hf8s %zmm4, %zmm3, %zmm2
+# INTEL: vcvtne2ph2hf8s zmm2, zmm3, zmm4
+0x62,0xf5,0x67,0x48,0x1b,0xd4
+
+# ATT:   vcvtne2ph2hf8s %zmm4, %zmm3, %zmm2 {%k7}
+# INTEL: vcvtne2ph2hf8s zmm2 {k7}, zmm3, zmm4
+0x62,0xf5,0x67,0x4f,0x1b,0xd4
+
+# ATT:   vcvtne2ph2hf8s %zmm4, %zmm3, %zmm2 {%k7} {z}
+# INTEL: vcvtne2ph2hf8s zmm2 {k7} {z}, zmm3, zmm4
+0x62,0xf5,0x67,0xcf,0x1b,0xd4
+
+# ATT:   vcvtne2ph2hf8s %xmm4, %xmm3, %xmm2
+# INTEL: vcvtne2ph2hf8s xmm2, xmm3, xmm4
+0x62,0xf5,0x67,0x08,0x1b,0xd4
+
+# ATT:   vcvtne2ph2hf8s %xmm4, %xmm3, %xmm2 {%k7}
+# INTEL: vcvtne2ph2hf8s xmm2 {k7}, xmm3, xmm4
+0x62,0xf5,0x67,0x0f,0x1b,0xd4
+
+# ATT:   vcvtne2ph2hf8s %xmm4, %xmm3, %xmm2 {%k7} {z}
+# INTEL: vcvtne2ph2hf8s xmm2 {k7} {z}, xmm3, xmm4
+0x62,0xf5,0x67,0x8f,0x1b,0xd4
+
+# ATT:   vcvtne2ph2hf8s  268435456(%esp,%esi,8), %zmm3, %zmm2
+# INTEL: vcvtne2ph2hf8s zmm2, zmm3, zmmword ptr [esp + 8*esi + 268435456]
+0x62,0xf5,0x67,0x48,0x1b,0x94,0xf4,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtne2ph2hf8s  291(%edi,%eax,4), %zmm3, %zmm2 {%k7}
+# INTEL: vcvtne2ph2hf8s zmm2 {k7}, zmm3, zmmword ptr [edi + 4*eax + 291]
+0x62,0xf5,0x67,0x4f,0x1b,0x94,0x87,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtne2ph2hf8s  (%eax){1to32}, %zmm3, %zmm2
+# INTEL: vcvtne2ph2hf8s zmm2, zmm3, word ptr [eax]{1to32}
+0x62,0xf5,0x67,0x58,0x1b,0x10
+
+# ATT:   vcvtne2ph2hf8s  -2048(,%ebp,2), %zmm3, %zmm2
+# INTEL: vcvtne2ph2hf8s zmm2, zmm3, zmmword ptr [2*ebp - 2048]
+0x62,0xf5,0x67,0x48,0x1b,0x14,0x6d,0x00,0xf8,0xff,0xff
+
+# ATT:   vcvtne2ph2hf8s  8128(%ecx), %zmm3, %zmm2 {%k7} {z}
+# INTEL: vcvtne2ph2hf8s zmm2 {k7} {z}, zmm3, zmmword ptr [ecx + 8128]
+0x62,0xf5,0x67,0xcf,0x1b,0x51,0x7f
+
+# ATT:   vcvtne2ph2hf8s  -256(%edx){1to32}, %zmm3, %zmm2 {%k7} {z}
+# INTEL: vcvtne2ph2hf8s zmm2 {k7} {z}, zmm3, word ptr [edx - 256]{1to32}
+0x62,0xf5,0x67,0xdf,0x1b,0x52,0x80
+
+# ATT:   vcvtne2ph2hf8s  268435456(%esp,%esi,8), %ymm3, %ymm2
+# INTEL: vcvtne2ph2hf8s ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
+0x62,0xf5,0x67,0x28,0x1b,0x94,0xf4,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtne2ph2hf8s  291(%edi,%eax,4), %ymm3, %ymm2 {%k7}
+# INTEL: vcvtne2ph2hf8s ymm2 {k7}, ymm3, ymmword ptr [edi + 4*eax + 291]
+0x62,0xf5,0x67,0x2f,0x1b,0x94,0x87,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtne2ph2hf8s  (%eax){1to16}, %ymm3, %ymm2
+# INTEL: vcvtne2ph2hf8s ymm2, ymm3, word ptr [eax]{1to16}
+0x62,0xf5,0x67,0x38,0x1b,0x10
+
+# ATT:   vcvtne2ph2hf8s  -1024(,%ebp,2), %ymm3, %ymm2
+# INTEL: vcvtne2ph2hf8s ymm2, ymm3, ymmword ptr [2*ebp - 1024]
+0x62,0xf5,0x67,0x28,0x1b,0x14,0x6d,0x00,0xfc,0xff,0xff
+
+# ATT:   vcvtne2ph2hf8s  4064(%ecx), %ymm3, %ymm2 {%k7} {z}
+# INTEL: vcvtne2ph2hf8s ymm2 {k7} {z}, ymm3, ymmword ptr [ecx + 4064]
+0x62,0xf5,0x67,0xaf,0x1b,0x51,0x7f
+
+# ATT:   vcvtne2ph2hf8s  -256(%edx){1to16}, %ymm3, %ymm2 {%k7} {z}
+# INTEL: vcvtne2ph2hf8s ymm2 {k7} {z}, ymm3, word ptr [edx - 256]{1to16}
+0x62,0xf5,0x67,0xbf,0x1b,0x52,0x80
+
+# ATT:   vcvtne2ph2hf8s  268435456(%esp,%esi,8), %xmm3, %xmm2
+# INTEL: vcvtne2ph2hf8s xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
+0x62,0xf5,0x67,0x08,0x1b,0x94,0xf4,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtne2ph2hf8s  291(%edi,%eax,4), %xmm3, %xmm2 {%k7}
+# INTEL: vcvtne2ph2hf8s xmm2 {k7}, xmm3, xmmword ptr [edi + 4*eax + 291]
+0x62,0xf5,0x67,0x0f,0x1b,0x94,0x87,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtne2ph2hf8s  (%eax){1to8}, %xmm3, %xmm2
+# INTEL: vcvtne2ph2hf8s xmm2, xmm3, word ptr [eax]{1to8}
+0x62,0xf5,0x67,0x18,0x1b,0x10
+
+# ATT:   vcvtne2ph2hf8s  -512(,%ebp,2), %xmm3, %xmm2
+# INTEL: vcvtne2ph2hf8s xmm2, xmm3, xmmword ptr [2*ebp - 512]
+0x62,0xf5,0x67,0x08,0x1b,0x14,0x6d,0x00,0xfe,0xff,0xff
+
+# ATT:   vcvtne2ph2hf8s  2032(%ecx), %xmm3, %xmm2 {%k7} {z}
+# INTEL: vcvtne2ph2hf8s xmm2 {k7} {z}, xmm3, xmmword ptr [ecx + 2032]
+0x62,0xf5,0x67,0x8f,0x1b,0x51,0x7f
+
+# ATT:   vcvtne2ph2hf8s  -256(%edx){1to8}, %xmm3, %xmm2 {%k7} {z}
+# INTEL: vcvtne2ph2hf8s xmm2 {k7} {z}, xmm3, word ptr [edx - 256]{1to8}
+0x62,0xf5,0x67,0x9f,0x1b,0x52,0x80
+
+# ATT:   vcvtneph2bf8 %xmm3, %xmm2
+# INTEL: vcvtneph2bf8 xmm2, xmm3
+0x62,0xf2,0x7e,0x08,0x74,0xd3
+
+# ATT:   vcvtneph2bf8 %xmm3, %xmm2 {%k7}
+# INTEL: vcvtneph2bf8 xmm2 {k7}, xmm3
+0x62,0xf2,0x7e,0x0f,0x74,0xd3
+
+# ATT:   vcvtneph2bf8 %xmm3, %xmm2 {%k7} {z}
+# INTEL: vcvtneph2bf8 xmm2 {k7} {z}, xmm3
+0x62,0xf2,0x7e,0x8f,0x74,0xd3
+
+# ATT:   vcvtneph2bf8 %zmm3, %ymm2
+# INTEL: vcvtneph2bf8 ymm2, zmm3
+0x62,0xf2,0x7e,0x48,0x74,0xd3
+
+# ATT:   vcvtneph2bf8 %zmm3, %ymm2 {%k7}
+# INTEL: vcvtneph2bf8 ymm2 {k7}, zmm3
+0x62,0xf2,0x7e,0x4f,0x74,0xd3
+
+# ATT:   vcvtneph2bf8 %zmm3, %ymm2 {%k7} {z}
+# INTEL: vcvtneph2bf8 ymm2 {k7} {z}, zmm3
+0x62,0xf2,0x7e,0xcf,0x74,0xd3
+
+# ATT:   vcvtneph2bf8 %ymm3, %xmm2
+# INTEL: vcvtneph2bf8 xmm2, ymm3
+0x62,0xf2,0x7e,0x28,0x74,0xd3
+
+# ATT:   vcvtneph2bf8 %ymm3, %xmm2 {%k7}
+# INTEL: vcvtneph2bf8 xmm2 {k7}, ymm3
+0x62,0xf2,0x7e,0x2f,0x74,0xd3
+
+# ATT:   vcvtneph2bf8 %ymm3, %xmm2 {%k7} {z}
+# INTEL: vcvtneph2bf8 xmm2 {k7} {z}, ymm3
+0x62,0xf2,0x7e,0xaf,0x74,0xd3
+
+# ATT:   vcvtneph2bf8x  268435456(%esp,%esi,8), %xmm2
+# INTEL: vcvtneph2bf8 xmm2, xmmword ptr [esp + 8*esi + 268435456]
+0x62,0xf2,0x7e,0x08,0x74,0x94,0xf4,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtneph2bf8x  291(%edi,%eax,4), %xmm2 {%k7}
+# INTEL: vcvtneph2bf8 xmm2 {k7}, xmmword ptr [edi + 4*eax + 291]
+0x62,0xf2,0x7e,0x0f,0x74,0x94,0x87,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtneph2bf8  (%eax){1to8}, %xmm2
+# INTEL: vcvtneph2bf8 xmm2, word ptr [eax]{1to8}
+0x62,0xf2,0x7e,0x18,0x74,0x10
+
+# ATT:   vcvtneph2bf8x  -512(,%ebp,2), %xmm2
+# INTEL: vcvtneph2bf8 xmm2, xmmword ptr [2*ebp - 512]
+0x62,0xf2,0x7e,0x08,0x74,0x14,0x6d,0x00,0xfe,0xff,0xff
+
+# ATT:   vcvtneph2bf8x  2032(%ecx), %xmm2 {%k7} {z}
+# INTEL: vcvtneph2bf8 xmm2 {k7} {z}, xmmword ptr [ecx + 2032]
+0x62,0xf2,0x7e,0x8f,0x74,0x51,0x7f
+
+# ATT:   vcvtneph2bf8  -256(%edx){1to8}, %xmm2 {%k7} {z}
+# INTEL: vcvtneph2bf8 xmm2 {k7} {z}, word ptr [edx - 256]{1to8}
+0x62,0xf2,0x7e,0x9f,0x74,0x52,0x80
+
+# ATT:   vcvtneph2bf8  (%eax){1to16}, %xmm2
+# INTEL: vcvtneph2bf8 xmm2, word ptr [eax]{1to16}
+0x62,0xf2,0x7e,0x38,0x74,0x10
+
+# ATT:   vcvtneph2bf8y  -1024(,%ebp,2), %xmm2
+# INTEL: vcvtneph2bf8 xmm2, ymmword ptr [2*ebp - 1024]
+0x62,0xf2,0x7e,0x28,0x74,0x14,0x6d,0x00,0xfc,0xff,0xff
+
+# ATT:   vcvtneph2bf8y  4064(%ecx), %xmm2 {%k7} {z}
+# INTEL: vcvtneph2bf8 xmm2 {k7} {z}, ymmword ptr [ecx + 4064]
+0x62,0xf2,0x7e,0xaf,0x74,0x51,0x7f
+
+# ATT:   vcvtneph2bf8  -256(%edx){1to16}, %xmm2 {%k7} {z}
+# INTEL: vcvtneph2bf8 xmm2 {k7} {z}, word ptr [edx - 256]{1to16}
+0x62,0xf2,0x7e,0xbf,0x74,0x52,0x80
+
+# ATT:   vcvtneph2bf8  268435456(%esp,%esi,8), %ymm2
+# INTEL: vcvtneph2bf8 ymm2, zmmword ptr [esp + 8*esi + 268435456]
+0x62,0xf2,0x7e,0x48,0x74,0x94,0xf4,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtneph2bf8  291(%edi,%eax,4), %ymm2 {%k7}
+# INTEL: vcvtneph2bf8 ymm2 {k7}, zmmword ptr [edi + 4*eax + 291]
+0x62,0xf2,0x7e,0x4f,0x74,0x94,0x87,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtneph2bf8  (%eax){1to32}, %ymm2
+# INTEL: vcvtneph2bf8 ymm2, word ptr [eax]{1to32}
+0x62,0xf2,0x7e,0x58,0x74,0x10
+
+# ATT:   vcvtneph2bf8  -2048(,%ebp,2), %ymm2
+# INTEL: vcvtneph2bf8 ymm2, zmmword ptr [2*ebp - 2048]
+0x62,0xf2,0x7e,0x48,0x74,0x14,0x6d,0x00,0xf8,0xff,0xff
+
+# ATT:   vcvtneph2bf8  8128(%ecx), %ymm2 {%k7} {z}
+# INTEL: vcvtneph2bf8 ymm2 {k7} {z}, zmmword ptr [ecx + 8128]
+0x62,0xf2,0x7e,0xcf,0x74,0x51,0x7f
+
+# ATT:   vcvtneph2bf8  -256(%edx){1to32}, %ymm2 {%k7} {z}
+# INTEL: vcvtneph2bf8 ymm2 {k7} {z}, word ptr [edx - 256]{1to32}
+0x62,0xf2,0x7e,0xdf,0x74,0x52,0x80
+
+# ATT:   vcvtneph2bf8s %xmm3, %xmm2
+# INTEL: vcvtneph2bf8s xmm2, xmm3
+0x62,0xf5,0x7e,0x08,0x74,0xd3
+
+# ATT:   vcvtneph2bf8s %xmm3, %xmm2 {%k7}
+# INTEL: vcvtneph2bf8s xmm2 {k7}, xmm3
+0x62,0xf5,0x7e,0x0f,0x74,0xd3
+
+# ATT:   vcvtneph2bf8s %xmm3, %xmm2 {%k7} {z}
+# INTEL: vcvtneph2bf8s xmm2 {k7} {z}, xmm3
+0x62,0xf5,0x7e,0x8f,0x74,0xd3
+
+# ATT:   vcvtneph2bf8s %zmm3, %ymm2
+# INTEL: vcvtneph2bf8s ymm2, zmm3
+0x62,0xf5,0x7e,0x48,0x74,0xd3
+
+# ATT:   vcvtneph2bf8s %zmm3, %ymm2 {%k7}
+# INTEL: vcvtneph2bf8s ymm2 {k7}, zmm3
+0x62,0xf5,0x7e,0x4f,0x74,0xd3
+
+# ATT:   vcvtneph2bf8s %zmm3, %ymm2 {%k7} {z}
+# INTEL: vcvtneph2bf8s ymm2 {k7} {z}, zmm3
+0x62,0xf5,0x7e,0xcf,0x74,0xd3
+
+# ATT:   vcvtneph2bf8s %ymm3, %xmm2
+# INTEL: vcvtneph2bf8s xmm2, ymm3
+0x62,0xf5,0x7e,0x28,0x74,0xd3
+
+# ATT:   vcvtneph2bf8s %ymm3, %xmm2 {%k7}
+# INTEL: vcvtneph2bf8s xmm2 {k7}, ymm3
+0x62,0xf5,0x7e,0x2f,0x74,0xd3
+
+# ATT:   vcvtneph2bf8s %ymm3, %xmm2 {%k7} {z}
+# INTEL: vcvtneph2bf8s xmm2 {k7} {z}, ymm3
+0x62,0xf5,0x7e,0xaf,0x74,0xd3
+
+# ATT:   vcvtneph2bf8sx  268435456(%esp,%esi,8), %xmm2
+# INTEL: vcvtneph2bf8s xmm2, xmmword ptr [esp + 8*esi + 268435456]
+0x62,0xf5,0x7e,0x08,0x74,0x94,0xf4,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtneph2bf8sx  291(%edi,%eax,4), %xmm2 {%k7}
+# INTEL: vcvtneph2bf8s xmm2 {k7}, xmmword ptr [edi + 4*eax + 291]
+0x62,0xf5,0x7e,0x0f,0x74,0x94,0x87,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtneph2bf8s  (%eax){1to8}, %xmm2
+# INTEL: vcvtneph2bf8s xmm2, word ptr [eax]{1to8}
+0x62,0xf5,0x7e,0x18,0x74,0x10
+
+# ATT:   vcvtneph2bf8sx  -512(,%ebp,2), %xmm2
+# INTEL: vcvtneph2bf8s xmm2, xmmword ptr [2*ebp - 512]
+0x62,0xf5,0x7e,0x08,0x74,0x14,0x6d,0x00,0xfe,0xff,0xff
+
+# ATT:   vcvtneph2bf8sx  2032(%ecx), %xmm2 {%k7} {z}
+# INTEL: vcvtneph2bf8s xmm2 {k7} {z}, xmmword ptr [ecx + 2032]
+0x62,0xf5,0x7e,0x8f,0x74,0x51,0x7f
+
+# ATT:   vcvtneph2bf8s  -256(%edx){1to8}, %xmm2 {%k7} {z}
+# INTEL: vcvtneph2bf8s xmm2 {k7} {z}, word ptr [edx - 256]{1to8}
+0x62,0xf5,0x7e,0x9f,0x74,0x52,0x80
+
+# ATT:   vcvtneph2bf8s  (%eax){1to16}, %xmm2
+# INTEL: vcvtneph2bf8s xmm2, word ptr [eax]{1to16}
+0x62,0xf5,0x7e,0x38,0x74,0x10
+
+# ATT:   vcvtneph2bf8sy  -1024(,%ebp,2), %xmm2
+# INTEL: vcvtneph2bf8s xmm2, ymmword ptr [2*ebp - 1024]
+0x62,0xf5,0x7e,0x28,0x74,0x14,0x6d,0x00,0xfc,0xff,0xff
+
+# ATT:   vcvtneph2bf8sy  4064(%ecx), %xmm2 {%k7} {z}
+# INTEL: vcvtneph2bf8s xmm2 {k7} {z}, ymmword ptr [ecx + 4064]
+0x62,0xf5,0x7e,0xaf,0x74,0x51,0x7f
+
+# ATT:   vcvtneph2bf8s  -256(%edx){1to16}, %xmm2 {%k7} {z}
+# INTEL: vcvtneph2bf8s xmm2 {k7} {z}, word ptr [edx - 256]{1to16}
+0x62,0xf5,0x7e,0xbf,0x74,0x52,0x80
+
+# ATT:   vcvtneph2bf8s  268435456(%esp,%esi,8), %ymm2
+# INTEL: vcvtneph2bf8s ymm2, zmmword ptr [esp + 8*esi + 268435456]
+0x62,0xf5,0x7e,0x48,0x74,0x94,0xf4,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtneph2bf8s  291(%edi,%eax,4), %ymm2 {%k7}
+# INTEL: vcvtneph2bf8s ymm2 {k7}, zmmword ptr [edi + 4*eax + 291]
+0x62,0xf5,0x7e,0x4f,0x74,0x94,0x87,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtneph2bf8s  (%eax){1to32}, %ymm2
+# INTEL: vcvtneph2bf8s ymm2, word ptr [eax]{1to32}
+0x62,0xf5,0x7e,0x58,0x74,0x10
+
+# ATT:   vcvtneph2bf8s  -2048(,%ebp,2), %ymm2
+# INTEL: vcvtneph2bf8s ymm2, zmmword ptr [2*ebp - 2048]
+0x62,0xf5,0x7e,0x48,0x74,0x14,0x6d,0x00,0xf8,0xff,0xff
+
+# ATT:   vcvtneph2bf8s  8128(%ecx), %ymm2 {%k7} {z}
+# INTEL: vcvtneph2bf8s ymm2 {k7} {z}, zmmword ptr [ecx + 8128]
+0x62,0xf5,0x7e,0xcf,0x74,0x51,0x7f
+
+# ATT:   vcvtneph2bf8s  -256(%edx){1to32}, %ymm2 {%k7} {z}
+# INTEL: vcvtneph2bf8s ymm2 {k7} {z}, word ptr [edx - 256]{1to32}
+0x62,0xf5,0x7e,0xdf,0x74,0x52,0x80
+
+# ATT:   vcvtneph2hf8 %xmm3, %xmm2
+# INTEL: vcvtneph2hf8 xmm2, xmm3
+0x62,0xf5,0x7e,0x08,0x18,0xd3
+
+# ATT:   vcvtneph2hf8 %xmm3, %xmm2 {%k7}
+# INTEL: vcvtneph2hf8 xmm2 {k7}, xmm3
+0x62,0xf5,0x7e,0x0f,0x18,0xd3
+
+# ATT:   vcvtneph2hf8 %xmm3, %xmm2 {%k7} {z}
+# INTEL: vcvtneph2hf8 xmm2 {k7} {z}, xmm3
+0x62,0xf5,0x7e,0x8f,0x18,0xd3
+
+# ATT:   vcvtneph2hf8 %zmm3, %ymm2
+# INTEL: vcvtneph2hf8 ymm2, zmm3
+0x62,0xf5,0x7e,0x48,0x18,0xd3
+
+# ATT:   vcvtneph2hf8 %zmm3, %ymm2 {%k7}
+# INTEL: vcvtneph2hf8 ymm2 {k7}, zmm3
+0x62,0xf5,0x7e,0x4f,0x18,0xd3
+
+# ATT:   vcvtneph2hf8 %zmm3, %ymm2 {%k7} {z}
+# INTEL: vcvtneph2hf8 ymm2 {k7} {z}, zmm3
+0x62,0xf5,0x7e,0xcf,0x18,0xd3
+
+# ATT:   vcvtneph2hf8 %ymm3, %xmm2
+# INTEL: vcvtneph2hf8 xmm2, ymm3
+0x62,0xf5,0x7e,0x28,0x18,0xd3
+
+# ATT:   vcvtneph2hf8 %ymm3, %xmm2 {%k7}
+# INTEL: vcvtneph2hf8 xmm2 {k7}, ymm3
+0x62,0xf5,0x7e,0x2f,0x18,0xd3
+
+# ATT:   vcvtneph2hf8 %ymm3, %xmm2 {%k7} {z}
+# INTEL: vcvtneph2hf8 xmm2 {k7} {z}, ymm3
+0x62,0xf5,0x7e,0xaf,0x18,0xd3
+
+# ATT:   vcvtneph2hf8x  268435456(%esp,%esi,8), %xmm2
+# INTEL: vcvtneph2hf8 xmm2, xmmword ptr [esp + 8*esi + 268435456]
+0x62,0xf5,0x7e,0x08,0x18,0x94,0xf4,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtneph2hf8x  291(%edi,%eax,4), %xmm2 {%k7}
+# INTEL: vcvtneph2hf8 xmm2 {k7}, xmmword ptr [edi + 4*eax + 291]
+0x62,0xf5,0x7e,0x0f,0x18,0x94,0x87,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtneph2hf8  (%eax){1to8}, %xmm2
+# INTEL: vcvtneph2hf8 xmm2, word ptr [eax]{1to8}
+0x62,0xf5,0x7e,0x18,0x18,0x10
+
+# ATT:   vcvtneph2hf8x  -512(,%ebp,2), %xmm2
+# INTEL: vcvtneph2hf8 xmm2, xmmword ptr [2*ebp - 512]
+0x62,0xf5,0x7e,0x08,0x18,0x14,0x6d,0x00,0xfe,0xff,0xff
+
+# ATT:   vcvtneph2hf8x  2032(%ecx), %xmm2 {%k7} {z}
+# INTEL: vcvtneph2hf8 xmm2 {k7} {z}, xmmword ptr [ecx + 2032]
+0x62,0xf5,0x7e,0x8f,0x18,0x51,0x7f
+
+# ATT:   vcvtneph2hf8  -256(%edx){1to8}, %xmm2 {%k7} {z}
+# INTEL: vcvtneph2hf8 xmm2 {k7} {z}, word ptr [edx - 256]{1to8}
+0x62,0xf5,0x7e,0x9f,0x18,0x52,0x80
+
+# ATT:   vcvtneph2hf8  (%eax){1to16}, %xmm2
+# INTEL: vcvtneph2hf8 xmm2, word ptr [eax]{1to16}
+0x62,0xf5,0x7e,0x38,0x18,0x10
+
+# ATT:   vcvtneph2hf8y  -1024(,%ebp,2), %xmm2
+# INTEL: vcvtneph2hf8 xmm2, ymmword ptr [2*ebp - 1024]
+0x62,0xf5,0x7e,0x28,0x18,0x14,0x6d,0x00,0xfc,0xff,0xff
+
+# ATT:   vcvtneph2hf8y  4064(%ecx), %xmm2 {%k7} {z}
+# INTEL: vcvtneph2hf8 xmm2 {k7} {z}, ymmword ptr [ecx + 4064]
+0x62,0xf5,0x7e,0xaf,0x18,0x51,0x7f
+
+# ATT:   vcvtneph2hf8  -256(%edx){1to16}, %xmm2 {%k7} {z}
+# INTEL: vcvtneph2hf8 xmm2 {k7} {z}, word ptr [edx - 256]{1to16}
+0x62,0xf5,0x7e,0xbf,0x18,0x52,0x80
+
+# ATT:   vcvtneph2hf8  268435456(%esp,%esi,8), %ymm2
+# INTEL: vcvtneph2hf8 ymm2, zmmword ptr [esp + 8*esi + 268435456]
+0x62,0xf5,0x7e,0x48,0x18,0x94,0xf4,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtneph2hf8  291(%edi,%eax,4), %ymm2 {%k7}
+# INTEL: vcvtneph2hf8 ymm2 {k7}, zmmword ptr [edi + 4*eax + 291]
+0x62,0xf5,0x7e,0x4f,0x18,0x94,0x87,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtneph2hf8  (%eax){1to32}, %ymm2
+# INTEL: vcvtneph2hf8 ymm2, word ptr [eax]{1to32}
+0x62,0xf5,0x7e,0x58,0x18,0x10
+
+# ATT:   vcvtneph2hf8  -2048(,%ebp,2), %ymm2
+# INTEL: vcvtneph2hf8 ymm2, zmmword ptr [2*ebp - 2048]
+0x62,0xf5,0x7e,0x48,0x18,0x14,0x6d,0x00,0xf8,0xff,0xff
+
+# ATT:   vcvtneph2hf8  8128(%ecx), %ymm2 {%k7} {z}
+# INTEL: vcvtneph2hf8 ymm2 {k7} {z}, zmmword ptr [ecx + 8128]
+0x62,0xf5,0x7e,0xcf,0x18,0x51,0x7f
+
+# ATT:   vcvtneph2hf8  -256(%edx){1to32}, %ymm2 {%k7} {z}
+# INTEL: vcvtneph2hf8 ymm2 {k7} {z}, word ptr [edx - 256]{1to32}
+0x62,0xf5,0x7e,0xdf,0x18,0x52,0x80
+
+# ATT:   vcvtneph2hf8s %xmm3, %xmm2
+# INTEL: vcvtneph2hf8s xmm2, xmm3
+0x62,0xf5,0x7e,0x08,0x1b,0xd3
+
+# ATT:   vcvtneph2hf8s %xmm3, %xmm2 {%k7}
+# INTEL: vcvtneph2hf8s xmm2 {k7}, xmm3
+0x62,0xf5,0x7e,0x0f,0x1b,0xd3
+
+# ATT:   vcvtneph2hf8s %xmm3, %xmm2 {%k7} {z}
+# INTEL: vcvtneph2hf8s xmm2 {k7} {z}, xmm3
+0x62,0xf5,0x7e,0x8f,0x1b,0xd3
+
+# ATT:   vcvtneph2hf8s %zmm3, %ymm2
+# INTEL: vcvtneph2hf8s ymm2, zmm3
+0x62,0xf5,0x7e,0x48,0x1b,0xd3
+
+# ATT:   vcvtneph2hf8s %zmm3, %ymm2 {%k7}
+# INTEL: vcvtneph2hf8s ymm2 {k7}, zmm3
+0x62,0xf5,0x7e,0x4f,0x1b,0xd3
+
+# ATT:   vcvtneph2hf8s %zmm3, %ymm2 {%k7} {z}
+# INTEL: vcvtneph2hf8s ymm2 {k7} {z}, zmm3
+0x62,0xf5,0x7e,0xcf,0x1b,0xd3
+
+# ATT:   vcvtneph2hf8s %ymm3, %xmm2
+# INTEL: vcvtneph2hf8s xmm2, ymm3
+0x62,0xf5,0x7e,0x28,0x1b,0xd3
+
+# ATT:   vcvtneph2hf8s %ymm3, %xmm2 {%k7}
+# INTEL: vcvtneph2hf8s xmm2 {k7}, ymm3
+0x62,0xf5,0x7e,0x2f,0x1b,0xd3
+
+# ATT:   vcvtneph2hf8s %ymm3, %xmm2 {%k7} {z}
+# INTEL: vcvtneph2hf8s xmm2 {k7} {z}, ymm3
+0x62,0xf5,0x7e,0xaf,0x1b,0xd3
+
+# ATT:   vcvtneph2hf8sx  268435456(%esp,%esi,8), %xmm2
+# INTEL: vcvtneph2hf8s xmm2, xmmword ptr [esp + 8*esi + 268435456]
+0x62,0xf5,0x7e,0x08,0x1b,0x94,0xf4,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtneph2hf8sx  291(%edi,%eax,4), %xmm2 {%k7}
+# INTEL: vcvtneph2hf8s xmm2 {k7}, xmmword ptr [edi + 4*eax + 291]
+0x62,0xf5,0x7e,0x0f,0x1b,0x94,0x87,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtneph2hf8s  (%eax){1to8}, %xmm2
+# INTEL: vcvtneph2hf8s xmm2, word ptr [eax]{1to8}
+0x62,0xf5,0x7e,0x18,0x1b,0x10
+
+# ATT:   vcvtneph2hf8sx  -512(,%ebp,2), %xmm2
+# INTEL: vcvtneph2hf8s xmm2, xmmword ptr [2*ebp - 512]
+0x62,0xf5,0x7e,0x08,0x1b,0x14,0x6d,0x00,0xfe,0xff,0xff
+
+# ATT:   vcvtneph2hf8sx  2032(%ecx), %xmm2 {%k7} {z}
+# INTEL: vcvtneph2hf8s xmm2 {k7} {z}, xmmword ptr [ecx + 2032]
+0x62,0xf5,0x7e,0x8f,0x1b,0x51,0x7f
+
+# ATT:   vcvtneph2hf8s  -256(%edx){1to8}, %xmm2 {%k7} {z}
+# INTEL: vcvtneph2hf8s xmm2 {k7} {z}, word ptr [edx - 256]{1to8}
+0x62,0xf5,0x7e,0x9f,0x1b,0x52,0x80
+
+# ATT:   vcvtneph2hf8s  (%eax){1to16}, %xmm2
+# INTEL: vcvtneph2hf8s xmm2, word ptr [eax]{1to16}
+0x62,0xf5,0x7e,0x38,0x1b,0x10
+
+# ATT:   vcvtneph2hf8sy  -1024(,%ebp,2), %xmm2
+# INTEL: vcvtneph2hf8s xmm2, ymmword ptr [2*ebp - 1024]
+0x62,0xf5,0x7e,0x28,0x1b,0x14,0x6d,0x00,0xfc,0xff,0xff
+
+# ATT:   vcvtneph2hf8sy  4064(%ecx), %xmm2 {%k7} {z}
+# INTEL: vcvtneph2hf8s xmm2 {k7} {z}, ymmword ptr [ecx + 4064]
+0x62,0xf5,0x7e,0xaf,0x1b,0x51,0x7f
+
+# ATT:   vcvtneph2hf8s  -256(%edx){1to16}, %xmm2 {%k7} {z}
+# INTEL: vcvtneph2hf8s xmm2 {k7} {z}, word ptr [edx - 256]{1to16}
+0x62,0xf5,0x7e,0xbf,0x1b,0x52,0x80
+
+# ATT:   vcvtneph2hf8s  268435456(%esp,%esi,8), %ymm2
+# INTEL: vcvtneph2hf8s ymm2, zmmword ptr [esp + 8*esi + 268435456]
+0x62,0xf5,0x7e,0x48,0x1b,0x94,0xf4,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtneph2hf8s  291(%edi,%eax,4), %ymm2 {%k7}
+# INTEL: vcvtneph2hf8s ymm2 {k7}, zmmword ptr [edi + 4*eax + 291]
+0x62,0xf5,0x7e,0x4f,0x1b,0x94,0x87,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtneph2hf8s  (%eax){1to32}, %ymm2
+# INTEL: vcvtneph2hf8s ymm2, word ptr [eax]{1to32}
+0x62,0xf5,0x7e,0x58,0x1b,0x10
+
+# ATT:   vcvtneph2hf8s  -2048(,%ebp,2), %ymm2
+# INTEL: vcvtneph2hf8s ymm2, zmmword ptr [2*ebp - 2048]
+0x62,0xf5,0x7e,0x48,0x1b,0x14,0x6d,0x00,0xf8,0xff,0xff
+
+# ATT:   vcvtneph2hf8s  8128(%ecx), %ymm2 {%k7} {z}
+# INTEL: vcvtneph2hf8s ymm2 {k7} {z}, zmmword ptr [ecx + 8128]
+0x62,0xf5,0x7e,0xcf,0x1b,0x51,0x7f
+
+# ATT:   vcvtneph2hf8s  -256(%edx){1to32}, %ymm2 {%k7} {z}
+# INTEL: vcvtneph2hf8s ymm2 {k7} {z}, word ptr [edx - 256]{1to32}
+0x62,0xf5,0x7e,0xdf,0x1b,0x52,0x80
+
diff --git a/llvm/test/MC/Disassembler/X86/avx10.2convert-64.txt b/llvm/test/MC/Disassembler/X86/avx10.2convert-64.txt
new file mode 100644
index 0000000000000..82bf09c49e926
--- /dev/null
+++ b/llvm/test/MC/Disassembler/X86/avx10.2convert-64.txt
@@ -0,0 +1,1491 @@
+# RUN: llvm-mc --disassemble %s -triple=x86_64 | FileCheck %s --check-prefixes=ATT
+# RUN: llvm-mc --disassemble %s -triple=x86_64 --output-asm-variant=1 | FileCheck %s --check-prefixes=INTEL
+
+# ATT:   vcvt2ps2phx %ymm24, %ymm23, %ymm22
+# 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
+
+# ATT:   vcvt2ps2phx {rn-sae}, %zmm24, %zmm23, %zmm22
+# INTEL: vcvt2ps2phx zmm22, zmm23, zmm24, {rn-sae}
+0x62,0x82,0x45,0x10,0x67,0xf0
+
+# ATT:   vcvt2ps2phx %zmm24, %zmm23, %zmm22 {%k7}
+# INTEL: vcvt2ps2phx zmm22 {k7}, zmm23, zmm24
+0x62,0x82,0x45,0x47,0x67,0xf0
+
+# ATT:   vcvt2ps2phx {rz-sae}, %zmm24, %zmm23, %zmm22 {%k7} {z}
+# INTEL: vcvt2ps2phx zmm22 {k7} {z}, zmm23, zmm24, {rz-sae}
+0x62,0x82,0x45,0xf7,0x67,0xf0
+
+# ATT:   vcvt2ps2phx %xmm24, %xmm23, %xmm22
+# INTEL: vcvt2ps2phx xmm22, xmm23, xmm24
+0x62,0x82,0x45,0x00,0x67,0xf0
+
+# ATT:   vcvt2ps2phx %xmm24, %xmm23, %xmm22 {%k7}
+# INTEL: vcvt2ps2phx xmm22 {k7}, xmm23, xmm24
+0x62,0x82,0x45,0x07,0x67,0xf0
+
+# ATT:   vcvt2ps2phx %xmm24, %xmm23, %xmm22 {%k7} {z}
+# INTEL: vcvt2ps2phx xmm22 {k7} {z}, xmm23, xmm24
+0x62,0x82,0x45,0x87,0x67,0xf0
+
+# ATT:   vcvt2ps2phx  268435456(%rbp,%r14,8), %zmm23, %zmm22
+# INTEL: vcvt2ps2phx zmm22, zmm23, zmmword ptr [rbp + 8*r14 + 268435456]
+0x62,0xa2,0x45,0x40,0x67,0xb4,0xf5,0x00,0x00,0x00,0x10
+
+# ATT:   vcvt2ps2phx  291(%r8,%rax,4), %zmm23, %zmm22 {%k7}
+# INTEL: vcvt2ps2phx zmm22 {k7}, zmm23, zmmword ptr [r8 + 4*rax + 291]
+0x62,0xc2,0x45,0x47,0x67,0xb4,0x80,0x23,0x01,0x00,0x00
+
+# ATT:   vcvt2ps2phx  (%rip){1to16}, %zmm23, %zmm22
+# INTEL: vcvt2ps2phx zmm22, zmm23, dword ptr [rip]{1to16}
+0x62,0xe2,0x45,0x50,0x67,0x35,0x00,0x00,0x00,0x00
+
+# ATT:   vcvt2ps2phx  -2048(,%rbp,2), %zmm23, %zmm22
+# INTEL: vcvt2ps2phx zmm22, zmm23, zmmword ptr [2*rbp - 2048]
+0x62,0xe2,0x45,0x40,0x67,0x34,0x6d,0x00,0xf8,0xff,0xff
+
+# ATT:   vcvt2ps2phx  8128(%rcx), %zmm23, %zmm22 {%k7} {z}
+# INTEL: vcvt2ps2phx zmm22 {k7} {z}, zmm23, zmmword ptr [rcx + 8128]
+0x62,0xe2,0x45,0xc7,0x67,0x71,0x7f
+
+# ATT:   vcvt2ps2phx  -512(%rdx){1to16}, %zmm23, %zmm22 {%k7} {z}
+# INTEL: vcvt2ps2phx zmm22 {k7} {z}, zmm23, dword ptr [rdx - 512]{1to16}
+0x62,0xe2,0x45,0xd7,0x67,0x72,0x80
+
+# ATT:   vcvt2ps2phx  268435456(%rbp,%r14,8), %ymm23, %ymm22
+# INTEL: vcvt2ps2phx ymm22, ymm23, ymmword ptr [rbp + 8*r14 + 268435456]
+0x62,0xa2,0x45,0x20,0x67,0xb4,0xf5,0x00,0x00,0x00,0x10
+
+# ATT:   vcvt2ps2phx  291(%r8,%rax,4), %ymm23, %ymm22 {%k7}
+# INTEL: vcvt2ps2phx ymm22 {k7}, ymm23, ymmword ptr [r8 + 4*rax + 291]
+0x62,0xc2,0x45,0x27,0x67,0xb4,0x80,0x23,0x01,0x00,0x00
+
+# ATT:   vcvt2ps2phx  (%rip){1to8}, %ymm23, %ymm22
+# INTEL: vcvt2ps2phx ymm22, ymm23, dword ptr [rip]{1to8}
+0x62,0xe2,0x45,0x30,0x67,0x35,0x00,0x00,0x00,0x00
+
+# ATT:   vcvt2ps2phx  -1024(,%rbp,2), %ymm23, %ymm22
+# INTEL: vcvt2ps2phx ymm22, ymm23, ymmword ptr [2*rbp - 1024]
+0x62,0xe2,0x45,0x20,0x67,0x34,0x6d,0x00,0xfc,0xff,0xff
+
+# ATT:   vcvt2ps2phx  4064(%rcx), %ymm23, %ymm22 {%k7} {z}
+# INTEL: vcvt2ps2phx ymm22 {k7} {z}, ymm23, ymmword ptr [rcx + 4064]
+0x62,0xe2,0x45,0xa7,0x67,0x71,0x7f
+
+# ATT:   vcvt2ps2phx  -512(%rdx){1to8}, %ymm23, %ymm22 {%k7} {z}
+# INTEL: vcvt2ps2phx ymm22 {k7} {z}, ymm23, dword ptr [rdx - 512]{1to8}
+0x62,0xe2,0x45,0xb7,0x67,0x72,0x80
+
+# ATT:   vcvt2ps2phx  268435456(%rbp,%r14,8), %xmm23, %xmm22
+# INTEL: vcvt2ps2phx xmm22, xmm23, xmmword ptr [rbp + 8*r14 + 268435456]
+0x62,0xa2,0x45,0x00,0x67,0xb4,0xf5,0x00,0x00,0x00,0x10
+
+# ATT:   vcvt2ps2phx  291(%r8,%rax,4), %xmm23, %xmm22 {%k7}
+# INTEL: vcvt2ps2phx xmm22 {k7}, xmm23, xmmword ptr [r8 + 4*rax + 291]
+0x62,0xc2,0x45,0x07,0x67,0xb4,0x80,0x23,0x01,0x00,0x00
+
+# ATT:   vcvt2ps2phx  (%rip){1to4}, %xmm23, %xmm22
+# INTEL: vcvt2ps2phx xmm22, xmm23, dword ptr [rip]{1to4}
+0x62,0xe2,0x45,0x10,0x67,0x35,0x00,0x00,0x00,0x00
+
+# ATT:   vcvt2ps2phx  -512(,%rbp,2), %xmm23, %xmm22
+# INTEL: vcvt2ps2phx xmm22, xmm23, xmmword ptr [2*rbp - 512]
+0x62,0xe2,0x45,0x00,0x67,0x34,0x6d,0x00,0xfe,0xff,0xff
+
+# ATT:   vcvt2ps2phx  2032(%rcx), %xmm23, %xmm22 {%k7} {z}
+# INTEL: vcvt2ps2phx xmm22 {k7} {z}, xmm23, xmmword ptr [rcx + 2032]
+0x62,0xe2,0x45,0x87,0x67,0x71,0x7f
+
+# ATT:   vcvt2ps2phx  -512(%rdx){1to4}, %xmm23, %xmm22 {%k7} {z}
+# INTEL: vcvt2ps2phx xmm22 {k7} {z}, xmm23, dword ptr [rdx - 512]{1to4}
+0x62,0xe2,0x45,0x97,0x67,0x72,0x80
+
+# ATT:   vcvtbiasph2bf8 %zmm24, %zmm23, %ymm22
+# INTEL: vcvtbiasph2bf8 ymm22, zmm23, zmm24
+0x62,0x82,0x44,0x40,0x74,0xf0
+
+# ATT:   vcvtbiasph2bf8 %zmm24, %zmm23, %ymm22 {%k7}
+# INTEL: vcvtbiasph2bf8 ymm22 {k7}, zmm23, zmm24
+0x62,0x82,0x44,0x47,0x74,0xf0
+
+# ATT:   vcvtbiasph2bf8 %zmm24, %zmm23, %ymm22 {%k7} {z}
+# INTEL: vcvtbiasph2bf8 ymm22 {k7} {z}, zmm23, zmm24
+0x62,0x82,0x44,0xc7,0x74,0xf0
+
+# ATT:   vcvtbiasph2bf8 %xmm24, %xmm23, %xmm22
+# INTEL: vcvtbiasph2bf8 xmm22, xmm23, xmm24
+0x62,0x82,0x44,0x00,0x74,0xf0
+
+# ATT:   vcvtbiasph2bf8 %xmm24, %xmm23, %xmm22 {%k7}
+# INTEL: vcvtbiasph2bf8 xmm22 {k7}, xmm23, xmm24
+0x62,0x82,0x44,0x07,0x74,0xf0
+
+# ATT:   vcvtbiasph2bf8 %xmm24, %xmm23, %xmm22 {%k7} {z}
+# INTEL: vcvtbiasph2bf8 xmm22 {k7} {z}, xmm23, xmm24
+0x62,0x82,0x44,0x87,0x74,0xf0
+
+# ATT:   vcvtbiasph2bf8 %ymm24, %ymm23, %xmm22
+# INTEL: vcvtbiasph2bf8 xmm22, ymm23, ymm24
+0x62,0x82,0x44,0x20,0x74,0xf0
+
+# ATT:   vcvtbiasph2bf8 %ymm24, %ymm23, %xmm22 {%k7}
+# INTEL: vcvtbiasph2bf8 xmm22 {k7}, ymm23, ymm24
+0x62,0x82,0x44,0x27,0x74,0xf0
+
+# ATT:   vcvtbiasph2bf8 %ymm24, %ymm23, %xmm22 {%k7} {z}
+# INTEL: vcvtbiasph2bf8 xmm22 {k7} {z}, ymm23, ymm24
+0x62,0x82,0x44,0xa7,0x74,0xf0
+
+# ATT:   vcvtbiasph2bf8  268435456(%rbp,%r14,8), %ymm23, %xmm22
+# INTEL: vcvtbiasph2bf8 xmm22, ymm23, ymmword ptr [rbp + 8*r14 + 268435456]
+0x62,0xa2,0x44,0x20,0x74,0xb4,0xf5,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtbiasph2bf8  291(%r8,%rax,4), %ymm23, %xmm22 {%k7}
+# INTEL: vcvtbiasph2bf8 xmm22 {k7}, ymm23, ymmword ptr [r8 + 4*rax + 291]
+0x62,0xc2,0x44,0x27,0x74,0xb4,0x80,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtbiasph2bf8  (%rip){1to16}, %ymm23, %xmm22
+# INTEL: vcvtbiasph2bf8 xmm22, ymm23, word ptr [rip]{1to16}
+0x62,0xe2,0x44,0x30,0x74,0x35,0x00,0x00,0x00,0x00
+
+# ATT:   vcvtbiasph2bf8  -1024(,%rbp,2), %ymm23, %xmm22
+# INTEL: vcvtbiasph2bf8 xmm22, ymm23, ymmword ptr [2*rbp - 1024]
+0x62,0xe2,0x44,0x20,0x74,0x34,0x6d,0x00,0xfc,0xff,0xff
+
+# ATT:   vcvtbiasph2bf8  4064(%rcx), %ymm23, %xmm22 {%k7} {z}
+# INTEL: vcvtbiasph2bf8 xmm22 {k7} {z}, ymm23, ymmword ptr [rcx + 4064]
+0x62,0xe2,0x44,0xa7,0x74,0x71,0x7f
+
+# ATT:   vcvtbiasph2bf8  -256(%rdx){1to16}, %ymm23, %xmm22 {%k7} {z}
+# INTEL: vcvtbiasph2bf8 xmm22 {k7} {z}, ymm23, word ptr [rdx - 256]{1to16}
+0x62,0xe2,0x44,0xb7,0x74,0x72,0x80
+
+# ATT:   vcvtbiasph2bf8  268435456(%rbp,%r14,8), %zmm23, %ymm22
+# INTEL: vcvtbiasph2bf8 ymm22, zmm23, zmmword ptr [rbp + 8*r14 + 268435456]
+0x62,0xa2,0x44,0x40,0x74,0xb4,0xf5,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtbiasph2bf8  291(%r8,%rax,4), %zmm23, %ymm22 {%k7}
+# INTEL: vcvtbiasph2bf8 ymm22 {k7}, zmm23, zmmword ptr [r8 + 4*rax + 291]
+0x62,0xc2,0x44,0x47,0x74,0xb4,0x80,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtbiasph2bf8  (%rip){1to32}, %zmm23, %ymm22
+# INTEL: vcvtbiasph2bf8 ymm22, zmm23, word ptr [rip]{1to32}
+0x62,0xe2,0x44,0x50,0x74,0x35,0x00,0x00,0x00,0x00
+
+# ATT:   vcvtbiasph2bf8  -2048(,%rbp,2), %zmm23, %ymm22
+# INTEL: vcvtbiasph2bf8 ymm22, zmm23, zmmword ptr [2*rbp - 2048]
+0x62,0xe2,0x44,0x40,0x74,0x34,0x6d,0x00,0xf8,0xff,0xff
+
+# ATT:   vcvtbiasph2bf8  8128(%rcx), %zmm23, %ymm22 {%k7} {z}
+# INTEL: vcvtbiasph2bf8 ymm22 {k7} {z}, zmm23, zmmword ptr [rcx + 8128]
+0x62,0xe2,0x44,0xc7,0x74,0x71,0x7f
+
+# ATT:   vcvtbiasph2bf8  -256(%rdx){1to32}, %zmm23, %ymm22 {%k7} {z}
+# INTEL: vcvtbiasph2bf8 ymm22 {k7} {z}, zmm23, word ptr [rdx - 256]{1to32}
+0x62,0xe2,0x44,0xd7,0x74,0x72,0x80
+
+# ATT:   vcvtbiasph2bf8  268435456(%rbp,%r14,8), %xmm23, %xmm22
+# INTEL: vcvtbiasph2bf8 xmm22, xmm23, xmmword ptr [rbp + 8*r14 + 268435456]
+0x62,0xa2,0x44,0x00,0x74,0xb4,0xf5,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtbiasph2bf8  291(%r8,%rax,4), %xmm23, %xmm22 {%k7}
+# INTEL: vcvtbiasph2bf8 xmm22 {k7}, xmm23, xmmword ptr [r8 + 4*rax + 291]
+0x62,0xc2,0x44,0x07,0x74,0xb4,0x80,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtbiasph2bf8  (%rip){1to8}, %xmm23, %xmm22
+# INTEL: vcvtbiasph2bf8 xmm22, xmm23, word ptr [rip]{1to8}
+0x62,0xe2,0x44,0x10,0x74,0x35,0x00,0x00,0x00,0x00
+
+# ATT:   vcvtbiasph2bf8  -512(,%rbp,2), %xmm23, %xmm22
+# INTEL: vcvtbiasph2bf8 xmm22, xmm23, xmmword ptr [2*rbp - 512]
+0x62,0xe2,0x44,0x00,0x74,0x34,0x6d,0x00,0xfe,0xff,0xff
+
+# ATT:   vcvtbiasph2bf8  2032(%rcx), %xmm23, %xmm22 {%k7} {z}
+# INTEL: vcvtbiasph2bf8 xmm22 {k7} {z}, xmm23, xmmword ptr [rcx + 2032]
+0x62,0xe2,0x44,0x87,0x74,0x71,0x7f
+
+# ATT:   vcvtbiasph2bf8  -256(%rdx){1to8}, %xmm23, %xmm22 {%k7} {z}
+# INTEL: vcvtbiasph2bf8 xmm22 {k7} {z}, xmm23, word ptr [rdx - 256]{1to8}
+0x62,0xe2,0x44,0x97,0x74,0x72,0x80
+
+# ATT:   vcvtbiasph2bf8s %zmm24, %zmm23, %ymm22
+# INTEL: vcvtbiasph2bf8s ymm22, zmm23, zmm24
+0x62,0x85,0x44,0x40,0x74,0xf0
+
+# ATT:   vcvtbiasph2bf8s %zmm24, %zmm23, %ymm22 {%k7}
+# INTEL: vcvtbiasph2bf8s ymm22 {k7}, zmm23, zmm24
+0x62,0x85,0x44,0x47,0x74,0xf0
+
+# ATT:   vcvtbiasph2bf8s %zmm24, %zmm23, %ymm22 {%k7} {z}
+# INTEL: vcvtbiasph2bf8s ymm22 {k7} {z}, zmm23, zmm24
+0x62,0x85,0x44,0xc7,0x74,0xf0
+
+# ATT:   vcvtbiasph2bf8s %xmm24, %xmm23, %xmm22
+# INTEL: vcvtbiasph2bf8s xmm22, xmm23, xmm24
+0x62,0x85,0x44,0x00,0x74,0xf0
+
+# ATT:   vcvtbiasph2bf8s %xmm24, %xmm23, %xmm22 {%k7}
+# INTEL: vcvtbiasph2bf8s xmm22 {k7}, xmm23, xmm24
+0x62,0x85,0x44,0x07,0x74,0xf0
+
+# ATT:   vcvtbiasph2bf8s %xmm24, %xmm23, %xmm22 {%k7} {z}
+# INTEL: vcvtbiasph2bf8s xmm22 {k7} {z}, xmm23, xmm24
+0x62,0x85,0x44,0x87,0x74,0xf0
+
+# ATT:   vcvtbiasph2bf8s %ymm24, %ymm23, %xmm22
+# INTEL: vcvtbiasph2bf8s xmm22, ymm23, ymm24
+0x62,0x85,0x44,0x20,0x74,0xf0
+
+# ATT:   vcvtbiasph2bf8s %ymm24, %ymm23, %xmm22 {%k7}
+# INTEL: vcvtbiasph2bf8s xmm22 {k7}, ymm23, ymm24
+0x62,0x85,0x44,0x27,0x74,0xf0
+
+# ATT:   vcvtbiasph2bf8s %ymm24, %ymm23, %xmm22 {%k7} {z}
+# INTEL: vcvtbiasph2bf8s xmm22 {k7} {z}, ymm23, ymm24
+0x62,0x85,0x44,0xa7,0x74,0xf0
+
+# ATT:   vcvtbiasph2bf8s  268435456(%rbp,%r14,8), %ymm23, %xmm22
+# INTEL: vcvtbiasph2bf8s xmm22, ymm23, ymmword ptr [rbp + 8*r14 + 268435456]
+0x62,0xa5,0x44,0x20,0x74,0xb4,0xf5,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtbiasph2bf8s  291(%r8,%rax,4), %ymm23, %xmm22 {%k7}
+# INTEL: vcvtbiasph2bf8s xmm22 {k7}, ymm23, ymmword ptr [r8 + 4*rax + 291]
+0x62,0xc5,0x44,0x27,0x74,0xb4,0x80,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtbiasph2bf8s  (%rip){1to16}, %ymm23, %xmm22
+# INTEL: vcvtbiasph2bf8s xmm22, ymm23, word ptr [rip]{1to16}
+0x62,0xe5,0x44,0x30,0x74,0x35,0x00,0x00,0x00,0x00
+
+# ATT:   vcvtbiasph2bf8s  -1024(,%rbp,2), %ymm23, %xmm22
+# INTEL: vcvtbiasph2bf8s xmm22, ymm23, ymmword ptr [2*rbp - 1024]
+0x62,0xe5,0x44,0x20,0x74,0x34,0x6d,0x00,0xfc,0xff,0xff
+
+# ATT:   vcvtbiasph2bf8s  4064(%rcx), %ymm23, %xmm22 {%k7} {z}
+# INTEL: vcvtbiasph2bf8s xmm22 {k7} {z}, ymm23, ymmword ptr [rcx + 4064]
+0x62,0xe5,0x44,0xa7,0x74,0x71,0x7f
+
+# ATT:   vcvtbiasph2bf8s  -256(%rdx){1to16}, %ymm23, %xmm22 {%k7} {z}
+# INTEL: vcvtbiasph2bf8s xmm22 {k7} {z}, ymm23, word ptr [rdx - 256]{1to16}
+0x62,0xe5,0x44,0xb7,0x74,0x72,0x80
+
+# ATT:   vcvtbiasph2bf8s  268435456(%rbp,%r14,8), %zmm23, %ymm22
+# INTEL: vcvtbiasph2bf8s ymm22, zmm23, zmmword ptr [rbp + 8*r14 + 268435456]
+0x62,0xa5,0x44,0x40,0x74,0xb4,0xf5,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtbiasph2bf8s  291(%r8,%rax,4), %zmm23, %ymm22 {%k7}
+# INTEL: vcvtbiasph2bf8s ymm22 {k7}, zmm23, zmmword ptr [r8 + 4*rax + 291]
+0x62,0xc5,0x44,0x47,0x74,0xb4,0x80,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtbiasph2bf8s  (%rip){1to32}, %zmm23, %ymm22
+# INTEL: vcvtbiasph2bf8s ymm22, zmm23, word ptr [rip]{1to32}
+0x62,0xe5,0x44,0x50,0x74,0x35,0x00,0x00,0x00,0x00
+
+# ATT:   vcvtbiasph2bf8s  -2048(,%rbp,2), %zmm23, %ymm22
+# INTEL: vcvtbiasph2bf8s ymm22, zmm23, zmmword ptr [2*rbp - 2048]
+0x62,0xe5,0x44,0x40,0x74,0x34,0x6d,0x00,0xf8,0xff,0xff
+
+# ATT:   vcvtbiasph2bf8s  8128(%rcx), %zmm23, %ymm22 {%k7} {z}
+# INTEL: vcvtbiasph2bf8s ymm22 {k7} {z}, zmm23, zmmword ptr [rcx + 8128]
+0x62,0xe5,0x44,0xc7,0x74,0x71,0x7f
+
+# ATT:   vcvtbiasph2bf8s  -256(%rdx){1to32}, %zmm23, %ymm22 {%k7} {z}
+# INTEL: vcvtbiasph2bf8s ymm22 {k7} {z}, zmm23, word ptr [rdx - 256]{1to32}
+0x62,0xe5,0x44,0xd7,0x74,0x72,0x80
+
+# ATT:   vcvtbiasph2bf8s  268435456(%rbp,%r14,8), %xmm23, %xmm22
+# INTEL: vcvtbiasph2bf8s xmm22, xmm23, xmmword ptr [rbp + 8*r14 + 268435456]
+0x62,0xa5,0x44,0x00,0x74,0xb4,0xf5,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtbiasph2bf8s  291(%r8,%rax,4), %xmm23, %xmm22 {%k7}
+# INTEL: vcvtbiasph2bf8s xmm22 {k7}, xmm23, xmmword ptr [r8 + 4*rax + 291]
+0x62,0xc5,0x44,0x07,0x74,0xb4,0x80,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtbiasph2bf8s  (%rip){1to8}, %xmm23, %xmm22
+# INTEL: vcvtbiasph2bf8s xmm22, xmm23, word ptr [rip]{1to8}
+0x62,0xe5,0x44,0x10,0x74,0x35,0x00,0x00,0x00,0x00
+
+# ATT:   vcvtbiasph2bf8s  -512(,%rbp,2), %xmm23, %xmm22
+# INTEL: vcvtbiasph2bf8s xmm22, xmm23, xmmword ptr [2*rbp - 512]
+0x62,0xe5,0x44,0x00,0x74,0x34,0x6d,0x00,0xfe,0xff,0xff
+
+# ATT:   vcvtbiasph2bf8s  2032(%rcx), %xmm23, %xmm22 {%k7} {z}
+# INTEL: vcvtbiasph2bf8s xmm22 {k7} {z}, xmm23, xmmword ptr [rcx + 2032]
+0x62,0xe5,0x44,0x87,0x74,0x71,0x7f
+
+# ATT:   vcvtbiasph2bf8s  -256(%rdx){1to8}, %xmm23, %xmm22 {%k7} {z}
+# INTEL: vcvtbiasph2bf8s xmm22 {k7} {z}, xmm23, word ptr [rdx - 256]{1to8}
+0x62,0xe5,0x44,0x97,0x74,0x72,0x80
+
+# ATT:   vcvtbiasph2hf8 %zmm24, %zmm23, %ymm22
+# INTEL: vcvtbiasph2hf8 ymm22, zmm23, zmm24
+0x62,0x85,0x44,0x40,0x18,0xf0
+
+# ATT:   vcvtbiasph2hf8 %zmm24, %zmm23, %ymm22 {%k7}
+# INTEL: vcvtbiasph2hf8 ymm22 {k7}, zmm23, zmm24
+0x62,0x85,0x44,0x47,0x18,0xf0
+
+# ATT:   vcvtbiasph2hf8 %zmm24, %zmm23, %ymm22 {%k7} {z}
+# INTEL: vcvtbiasph2hf8 ymm22 {k7} {z}, zmm23, zmm24
+0x62,0x85,0x44,0xc7,0x18,0xf0
+
+# ATT:   vcvtbiasph2hf8 %xmm24, %xmm23, %xmm22
+# INTEL: vcvtbiasph2hf8 xmm22, xmm23, xmm24
+0x62,0x85,0x44,0x00,0x18,0xf0
+
+# ATT:   vcvtbiasph2hf8 %xmm24, %xmm23, %xmm22 {%k7}
+# INTEL: vcvtbiasph2hf8 xmm22 {k7}, xmm23, xmm24
+0x62,0x85,0x44,0x07,0x18,0xf0
+
+# ATT:   vcvtbiasph2hf8 %xmm24, %xmm23, %xmm22 {%k7} {z}
+# INTEL: vcvtbiasph2hf8 xmm22 {k7} {z}, xmm23, xmm24
+0x62,0x85,0x44,0x87,0x18,0xf0
+
+# ATT:   vcvtbiasph2hf8 %ymm24, %ymm23, %xmm22
+# INTEL: vcvtbiasph2hf8 xmm22, ymm23, ymm24
+0x62,0x85,0x44,0x20,0x18,0xf0
+
+# ATT:   vcvtbiasph2hf8 %ymm24, %ymm23, %xmm22 {%k7}
+# INTEL: vcvtbiasph2hf8 xmm22 {k7}, ymm23, ymm24
+0x62,0x85,0x44,0x27,0x18,0xf0
+
+# ATT:   vcvtbiasph2hf8 %ymm24, %ymm23, %xmm22 {%k7} {z}
+# INTEL: vcvtbiasph2hf8 xmm22 {k7} {z}, ymm23, ymm24
+0x62,0x85,0x44,0xa7,0x18,0xf0
+
+# ATT:   vcvtbiasph2hf8  268435456(%rbp,%r14,8), %ymm23, %xmm22
+# INTEL: vcvtbiasph2hf8 xmm22, ymm23, ymmword ptr [rbp + 8*r14 + 268435456]
+0x62,0xa5,0x44,0x20,0x18,0xb4,0xf5,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtbiasph2hf8  291(%r8,%rax,4), %ymm23, %xmm22 {%k7}
+# INTEL: vcvtbiasph2hf8 xmm22 {k7}, ymm23, ymmword ptr [r8 + 4*rax + 291]
+0x62,0xc5,0x44,0x27,0x18,0xb4,0x80,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtbiasph2hf8  (%rip){1to16}, %ymm23, %xmm22
+# INTEL: vcvtbiasph2hf8 xmm22, ymm23, word ptr [rip]{1to16}
+0x62,0xe5,0x44,0x30,0x18,0x35,0x00,0x00,0x00,0x00
+
+# ATT:   vcvtbiasph2hf8  -1024(,%rbp,2), %ymm23, %xmm22
+# INTEL: vcvtbiasph2hf8 xmm22, ymm23, ymmword ptr [2*rbp - 1024]
+0x62,0xe5,0x44,0x20,0x18,0x34,0x6d,0x00,0xfc,0xff,0xff
+
+# ATT:   vcvtbiasph2hf8  4064(%rcx), %ymm23, %xmm22 {%k7} {z}
+# INTEL: vcvtbiasph2hf8 xmm22 {k7} {z}, ymm23, ymmword ptr [rcx + 4064]
+0x62,0xe5,0x44,0xa7,0x18,0x71,0x7f
+
+# ATT:   vcvtbiasph2hf8  -256(%rdx){1to16}, %ymm23, %xmm22 {%k7} {z}
+# INTEL: vcvtbiasph2hf8 xmm22 {k7} {z}, ymm23, word ptr [rdx - 256]{1to16}
+0x62,0xe5,0x44,0xb7,0x18,0x72,0x80
+
+# ATT:   vcvtbiasph2hf8  268435456(%rbp,%r14,8), %zmm23, %ymm22
+# INTEL: vcvtbiasph2hf8 ymm22, zmm23, zmmword ptr [rbp + 8*r14 + 268435456]
+0x62,0xa5,0x44,0x40,0x18,0xb4,0xf5,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtbiasph2hf8  291(%r8,%rax,4), %zmm23, %ymm22 {%k7}
+# INTEL: vcvtbiasph2hf8 ymm22 {k7}, zmm23, zmmword ptr [r8 + 4*rax + 291]
+0x62,0xc5,0x44,0x47,0x18,0xb4,0x80,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtbiasph2hf8  (%rip){1to32}, %zmm23, %ymm22
+# INTEL: vcvtbiasph2hf8 ymm22, zmm23, word ptr [rip]{1to32}
+0x62,0xe5,0x44,0x50,0x18,0x35,0x00,0x00,0x00,0x00
+
+# ATT:   vcvtbiasph2hf8  -2048(,%rbp,2), %zmm23, %ymm22
+# INTEL: vcvtbiasph2hf8 ymm22, zmm23, zmmword ptr [2*rbp - 2048]
+0x62,0xe5,0x44,0x40,0x18,0x34,0x6d,0x00,0xf8,0xff,0xff
+
+# ATT:   vcvtbiasph2hf8  8128(%rcx), %zmm23, %ymm22 {%k7} {z}
+# INTEL: vcvtbiasph2hf8 ymm22 {k7} {z}, zmm23, zmmword ptr [rcx + 8128]
+0x62,0xe5,0x44,0xc7,0x18,0x71,0x7f
+
+# ATT:   vcvtbiasph2hf8  -256(%rdx){1to32}, %zmm23, %ymm22 {%k7} {z}
+# INTEL: vcvtbiasph2hf8 ymm22 {k7} {z}, zmm23, word ptr [rdx - 256]{1to32}
+0x62,0xe5,0x44,0xd7,0x18,0x72,0x80
+
+# ATT:   vcvtbiasph2hf8  268435456(%rbp,%r14,8), %xmm23, %xmm22
+# INTEL: vcvtbiasph2hf8 xmm22, xmm23, xmmword ptr [rbp + 8*r14 + 268435456]
+0x62,0xa5,0x44,0x00,0x18,0xb4,0xf5,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtbiasph2hf8  291(%r8,%rax,4), %xmm23, %xmm22 {%k7}
+# INTEL: vcvtbiasph2hf8 xmm22 {k7}, xmm23, xmmword ptr [r8 + 4*rax + 291]
+0x62,0xc5,0x44,0x07,0x18,0xb4,0x80,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtbiasph2hf8  (%rip){1to8}, %xmm23, %xmm22
+# INTEL: vcvtbiasph2hf8 xmm22, xmm23, word ptr [rip]{1to8}
+0x62,0xe5,0x44,0x10,0x18,0x35,0x00,0x00,0x00,0x00
+
+# ATT:   vcvtbiasph2hf8  -512(,%rbp,2), %xmm23, %xmm22
+# INTEL: vcvtbiasph2hf8 xmm22, xmm23, xmmword ptr [2*rbp - 512]
+0x62,0xe5,0x44,0x00,0x18,0x34,0x6d,0x00,0xfe,0xff,0xff
+
+# ATT:   vcvtbiasph2hf8  2032(%rcx), %xmm23, %xmm22 {%k7} {z}
+# INTEL: vcvtbiasph2hf8 xmm22 {k7} {z}, xmm23, xmmword ptr [rcx + 2032]
+0x62,0xe5,0x44,0x87,0x18,0x71,0x7f
+
+# ATT:   vcvtbiasph2hf8  -256(%rdx){1to8}, %xmm23, %xmm22 {%k7} {z}
+# INTEL: vcvtbiasph2hf8 xmm22 {k7} {z}, xmm23, word ptr [rdx - 256]{1to8}
+0x62,0xe5,0x44,0x97,0x18,0x72,0x80
+
+# ATT:   vcvtbiasph2hf8s %zmm24, %zmm23, %ymm22
+# INTEL: vcvtbiasph2hf8s ymm22, zmm23, zmm24
+0x62,0x85,0x44,0x40,0x1b,0xf0
+
+# ATT:   vcvtbiasph2hf8s %zmm24, %zmm23, %ymm22 {%k7}
+# INTEL: vcvtbiasph2hf8s ymm22 {k7}, zmm23, zmm24
+0x62,0x85,0x44,0x47,0x1b,0xf0
+
+# ATT:   vcvtbiasph2hf8s %zmm24, %zmm23, %ymm22 {%k7} {z}
+# INTEL: vcvtbiasph2hf8s ymm22 {k7} {z}, zmm23, zmm24
+0x62,0x85,0x44,0xc7,0x1b,0xf0
+
+# ATT:   vcvtbiasph2hf8s %xmm24, %xmm23, %xmm22
+# INTEL: vcvtbiasph2hf8s xmm22, xmm23, xmm24
+0x62,0x85,0x44,0x00,0x1b,0xf0
+
+# ATT:   vcvtbiasph2hf8s %xmm24, %xmm23, %xmm22 {%k7}
+# INTEL: vcvtbiasph2hf8s xmm22 {k7}, xmm23, xmm24
+0x62,0x85,0x44,0x07,0x1b,0xf0
+
+# ATT:   vcvtbiasph2hf8s %xmm24, %xmm23, %xmm22 {%k7} {z}
+# INTEL: vcvtbiasph2hf8s xmm22 {k7} {z}, xmm23, xmm24
+0x62,0x85,0x44,0x87,0x1b,0xf0
+
+# ATT:   vcvtbiasph2hf8s %ymm24, %ymm23, %xmm22
+# INTEL: vcvtbiasph2hf8s xmm22, ymm23, ymm24
+0x62,0x85,0x44,0x20,0x1b,0xf0
+
+# ATT:   vcvtbiasph2hf8s %ymm24, %ymm23, %xmm22 {%k7}
+# INTEL: vcvtbiasph2hf8s xmm22 {k7}, ymm23, ymm24
+0x62,0x85,0x44,0x27,0x1b,0xf0
+
+# ATT:   vcvtbiasph2hf8s %ymm24, %ymm23, %xmm22 {%k7} {z}
+# INTEL: vcvtbiasph2hf8s xmm22 {k7} {z}, ymm23, ymm24
+0x62,0x85,0x44,0xa7,0x1b,0xf0
+
+# ATT:   vcvtbiasph2hf8s  268435456(%rbp,%r14,8), %ymm23, %xmm22
+# INTEL: vcvtbiasph2hf8s xmm22, ymm23, ymmword ptr [rbp + 8*r14 + 268435456]
+0x62,0xa5,0x44,0x20,0x1b,0xb4,0xf5,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtbiasph2hf8s  291(%r8,%rax,4), %ymm23, %xmm22 {%k7}
+# INTEL: vcvtbiasph2hf8s xmm22 {k7}, ymm23, ymmword ptr [r8 + 4*rax + 291]
+0x62,0xc5,0x44,0x27,0x1b,0xb4,0x80,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtbiasph2hf8s  (%rip){1to16}, %ymm23, %xmm22
+# INTEL: vcvtbiasph2hf8s xmm22, ymm23, word ptr [rip]{1to16}
+0x62,0xe5,0x44,0x30,0x1b,0x35,0x00,0x00,0x00,0x00
+
+# ATT:   vcvtbiasph2hf8s  -1024(,%rbp,2), %ymm23, %xmm22
+# INTEL: vcvtbiasph2hf8s xmm22, ymm23, ymmword ptr [2*rbp - 1024]
+0x62,0xe5,0x44,0x20,0x1b,0x34,0x6d,0x00,0xfc,0xff,0xff
+
+# ATT:   vcvtbiasph2hf8s  4064(%rcx), %ymm23, %xmm22 {%k7} {z}
+# INTEL: vcvtbiasph2hf8s xmm22 {k7} {z}, ymm23, ymmword ptr [rcx + 4064]
+0x62,0xe5,0x44,0xa7,0x1b,0x71,0x7f
+
+# ATT:   vcvtbiasph2hf8s  -256(%rdx){1to16}, %ymm23, %xmm22 {%k7} {z}
+# INTEL: vcvtbiasph2hf8s xmm22 {k7} {z}, ymm23, word ptr [rdx - 256]{1to16}
+0x62,0xe5,0x44,0xb7,0x1b,0x72,0x80
+
+# ATT:   vcvtbiasph2hf8s  268435456(%rbp,%r14,8), %zmm23, %ymm22
+# INTEL: vcvtbiasph2hf8s ymm22, zmm23, zmmword ptr [rbp + 8*r14 + 268435456]
+0x62,0xa5,0x44,0x40,0x1b,0xb4,0xf5,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtbiasph2hf8s  291(%r8,%rax,4), %zmm23, %ymm22 {%k7}
+# INTEL: vcvtbiasph2hf8s ymm22 {k7}, zmm23, zmmword ptr [r8 + 4*rax + 291]
+0x62,0xc5,0x44,0x47,0x1b,0xb4,0x80,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtbiasph2hf8s  (%rip){1to32}, %zmm23, %ymm22
+# INTEL: vcvtbiasph2hf8s ymm22, zmm23, word ptr [rip]{1to32}
+0x62,0xe5,0x44,0x50,0x1b,0x35,0x00,0x00,0x00,0x00
+
+# ATT:   vcvtbiasph2hf8s  -2048(,%rbp,2), %zmm23, %ymm22
+# INTEL: vcvtbiasph2hf8s ymm22, zmm23, zmmword ptr [2*rbp - 2048]
+0x62,0xe5,0x44,0x40,0x1b,0x34,0x6d,0x00,0xf8,0xff,0xff
+
+# ATT:   vcvtbiasph2hf8s  8128(%rcx), %zmm23, %ymm22 {%k7} {z}
+# INTEL: vcvtbiasph2hf8s ymm22 {k7} {z}, zmm23, zmmword ptr [rcx + 8128]
+0x62,0xe5,0x44,0xc7,0x1b,0x71,0x7f
+
+# ATT:   vcvtbiasph2hf8s  -256(%rdx){1to32}, %zmm23, %ymm22 {%k7} {z}
+# INTEL: vcvtbiasph2hf8s ymm22 {k7} {z}, zmm23, word ptr [rdx - 256]{1to32}
+0x62,0xe5,0x44,0xd7,0x1b,0x72,0x80
+
+# ATT:   vcvtbiasph2hf8s  268435456(%rbp,%r14,8), %xmm23, %xmm22
+# INTEL: vcvtbiasph2hf8s xmm22, xmm23, xmmword ptr [rbp + 8*r14 + 268435456]
+0x62,0xa5,0x44,0x00,0x1b,0xb4,0xf5,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtbiasph2hf8s  291(%r8,%rax,4), %xmm23, %xmm22 {%k7}
+# INTEL: vcvtbiasph2hf8s xmm22 {k7}, xmm23, xmmword ptr [r8 + 4*rax + 291]
+0x62,0xc5,0x44,0x07,0x1b,0xb4,0x80,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtbiasph2hf8s  (%rip){1to8}, %xmm23, %xmm22
+# INTEL: vcvtbiasph2hf8s xmm22, xmm23, word ptr [rip]{1to8}
+0x62,0xe5,0x44,0x10,0x1b,0x35,0x00,0x00,0x00,0x00
+
+# ATT:   vcvtbiasph2hf8s  -512(,%rbp,2), %xmm23, %xmm22
+# INTEL: vcvtbiasph2hf8s xmm22, xmm23, xmmword ptr [2*rbp - 512]
+0x62,0xe5,0x44,0x00,0x1b,0x34,0x6d,0x00,0xfe,0xff,0xff
+
+# ATT:   vcvtbiasph2hf8s  2032(%rcx), %xmm23, %xmm22 {%k7} {z}
+# INTEL: vcvtbiasph2hf8s xmm22 {k7} {z}, xmm23, xmmword ptr [rcx + 2032]
+0x62,0xe5,0x44,0x87,0x1b,0x71,0x7f
+
+# ATT:   vcvtbiasph2hf8s  -256(%rdx){1to8}, %xmm23, %xmm22 {%k7} {z}
+# INTEL: vcvtbiasph2hf8s xmm22 {k7} {z}, xmm23, word ptr [rdx - 256]{1to8}
+0x62,0xe5,0x44,0x97,0x1b,0x72,0x80
+
+# ATT:   vcvthf82ph %xmm23, %xmm22
+# INTEL: vcvthf82ph xmm22, xmm23
+0x62,0xa5,0x7f,0x08,0x1e,0xf7
+
+# ATT:   vcvthf82ph %xmm23, %xmm22 {%k7}
+# INTEL: vcvthf82ph xmm22 {k7}, xmm23
+0x62,0xa5,0x7f,0x0f,0x1e,0xf7
+
+# ATT:   vcvthf82ph %xmm23, %xmm22 {%k7} {z}
+# INTEL: vcvthf82ph xmm22 {k7} {z}, xmm23
+0x62,0xa5,0x7f,0x8f,0x1e,0xf7
+
+# ATT:   vcvthf82ph %xmm23, %ymm22
+# INTEL: vcvthf82ph ymm22, xmm23
+0x62,0xa5,0x7f,0x28,0x1e,0xf7
+
+# ATT:   vcvthf82ph %xmm23, %ymm22 {%k7}
+# INTEL: vcvthf82ph ymm22 {k7}, xmm23
+0x62,0xa5,0x7f,0x2f,0x1e,0xf7
+
+# ATT:   vcvthf82ph %xmm23, %ymm22 {%k7} {z}
+# INTEL: vcvthf82ph ymm22 {k7} {z}, xmm23
+0x62,0xa5,0x7f,0xaf,0x1e,0xf7
+
+# ATT:   vcvthf82ph %ymm23, %zmm22
+# INTEL: vcvthf82ph zmm22, ymm23
+0x62,0xa5,0x7f,0x48,0x1e,0xf7
+
+# ATT:   vcvthf82ph %ymm23, %zmm22 {%k7}
+# INTEL: vcvthf82ph zmm22 {k7}, ymm23
+0x62,0xa5,0x7f,0x4f,0x1e,0xf7
+
+# ATT:   vcvthf82ph %ymm23, %zmm22 {%k7} {z}
+# INTEL: vcvthf82ph zmm22 {k7} {z}, ymm23
+0x62,0xa5,0x7f,0xcf,0x1e,0xf7
+
+# ATT:   vcvthf82ph  268435456(%rbp,%r14,8), %xmm22
+# INTEL: vcvthf82ph xmm22, qword ptr [rbp + 8*r14 + 268435456]
+0x62,0xa5,0x7f,0x08,0x1e,0xb4,0xf5,0x00,0x00,0x00,0x10
+
+# ATT:   vcvthf82ph  291(%r8,%rax,4), %xmm22 {%k7}
+# INTEL: vcvthf82ph xmm22 {k7}, qword ptr [r8 + 4*rax + 291]
+0x62,0xc5,0x7f,0x0f,0x1e,0xb4,0x80,0x23,0x01,0x00,0x00
+
+# ATT:   vcvthf82ph  (%rip), %xmm22
+# INTEL: vcvthf82ph xmm22, qword ptr [rip]
+0x62,0xe5,0x7f,0x08,0x1e,0x35,0x00,0x00,0x00,0x00
+
+# ATT:   vcvthf82ph  -256(,%rbp,2), %xmm22
+# INTEL: vcvthf82ph xmm22, qword ptr [2*rbp - 256]
+0x62,0xe5,0x7f,0x08,0x1e,0x34,0x6d,0x00,0xff,0xff,0xff
+
+# ATT:   vcvthf82ph  1016(%rcx), %xmm22 {%k7} {z}
+# INTEL: vcvthf82ph xmm22 {k7} {z}, qword ptr [rcx + 1016]
+0x62,0xe5,0x7f,0x8f,0x1e,0x71,0x7f
+
+# ATT:   vcvthf82ph  -1024(%rdx), %xmm22 {%k7} {z}
+# INTEL: vcvthf82ph xmm22 {k7} {z}, qword ptr [rdx - 1024]
+0x62,0xe5,0x7f,0x8f,0x1e,0x72,0x80
+
+# ATT:   vcvthf82ph  268435456(%rbp,%r14,8), %ymm22
+# INTEL: vcvthf82ph ymm22, xmmword ptr [rbp + 8*r14 + 268435456]
+0x62,0xa5,0x7f,0x28,0x1e,0xb4,0xf5,0x00,0x00,0x00,0x10
+
+# ATT:   vcvthf82ph  291(%r8,%rax,4), %ymm22 {%k7}
+# INTEL: vcvthf82ph ymm22 {k7}, xmmword ptr [r8 + 4*rax + 291]
+0x62,0xc5,0x7f,0x2f,0x1e,0xb4,0x80,0x23,0x01,0x00,0x00
+
+# ATT:   vcvthf82ph  (%rip), %ymm22
+# INTEL: vcvthf82ph ymm22, xmmword ptr [rip]
+0x62,0xe5,0x7f,0x28,0x1e,0x35,0x00,0x00,0x00,0x00
+
+# ATT:   vcvthf82ph  -512(,%rbp,2), %ymm22
+# INTEL: vcvthf82ph ymm22, xmmword ptr [2*rbp - 512]
+0x62,0xe5,0x7f,0x28,0x1e,0x34,0x6d,0x00,0xfe,0xff,0xff
+
+# ATT:   vcvthf82ph  2032(%rcx), %ymm22 {%k7} {z}
+# INTEL: vcvthf82ph ymm22 {k7} {z}, xmmword ptr [rcx + 2032]
+0x62,0xe5,0x7f,0xaf,0x1e,0x71,0x7f
+
+# ATT:   vcvthf82ph  -2048(%rdx), %ymm22 {%k7} {z}
+# INTEL: vcvthf82ph ymm22 {k7} {z}, xmmword ptr [rdx - 2048]
+0x62,0xe5,0x7f,0xaf,0x1e,0x72,0x80
+
+# ATT:   vcvthf82ph  268435456(%rbp,%r14,8), %zmm22
+# INTEL: vcvthf82ph zmm22, ymmword ptr [rbp + 8*r14 + 268435456]
+0x62,0xa5,0x7f,0x48,0x1e,0xb4,0xf5,0x00,0x00,0x00,0x10
+
+# ATT:   vcvthf82ph  291(%r8,%rax,4), %zmm22 {%k7}
+# INTEL: vcvthf82ph zmm22 {k7}, ymmword ptr [r8 + 4*rax + 291]
+0x62,0xc5,0x7f,0x4f,0x1e,0xb4,0x80,0x23,0x01,0x00,0x00
+
+# ATT:   vcvthf82ph  (%rip), %zmm22
+# INTEL: vcvthf82ph zmm22, ymmword ptr [rip]
+0x62,0xe5,0x7f,0x48,0x1e,0x35,0x00,0x00,0x00,0x00
+
+# ATT:   vcvthf82ph  -1024(,%rbp,2), %zmm22
+# INTEL: vcvthf82ph zmm22, ymmword ptr [2*rbp - 1024]
+0x62,0xe5,0x7f,0x48,0x1e,0x34,0x6d,0x00,0xfc,0xff,0xff
+
+# ATT:   vcvthf82ph  4064(%rcx), %zmm22 {%k7} {z}
+# INTEL: vcvthf82ph zmm22 {k7} {z}, ymmword ptr [rcx + 4064]
+0x62,0xe5,0x7f,0xcf,0x1e,0x71,0x7f
+
+# ATT:   vcvthf82ph  -4096(%rdx), %zmm22 {%k7} {z}
+# INTEL: vcvthf82ph zmm22 {k7} {z}, ymmword ptr [rdx - 4096]
+0x62,0xe5,0x7f,0xcf,0x1e,0x72,0x80
+
+# ATT:   vcvtne2ph2bf8 %ymm24, %ymm23, %ymm22
+# INTEL: vcvtne2ph2bf8 ymm22, ymm23, ymm24
+0x62,0x82,0x47,0x20,0x74,0xf0
+
+# ATT:   vcvtne2ph2bf8 %ymm24, %ymm23, %ymm22 {%k7}
+# INTEL: vcvtne2ph2bf8 ymm22 {k7}, ymm23, ymm24
+0x62,0x82,0x47,0x27,0x74,0xf0
+
+# ATT:   vcvtne2ph2bf8 %ymm24, %ymm23, %ymm22 {%k7} {z}
+# INTEL: vcvtne2ph2bf8 ymm22 {k7} {z}, ymm23, ymm24
+0x62,0x82,0x47,0xa7,0x74,0xf0
+
+# ATT:   vcvtne2ph2bf8 %zmm24, %zmm23, %zmm22
+# INTEL: vcvtne2ph2bf8 zmm22, zmm23, zmm24
+0x62,0x82,0x47,0x40,0x74,0xf0
+
+# ATT:   vcvtne2ph2bf8 %zmm24, %zmm23, %zmm22 {%k7}
+# INTEL: vcvtne2ph2bf8 zmm22 {k7}, zmm23, zmm24
+0x62,0x82,0x47,0x47,0x74,0xf0
+
+# ATT:   vcvtne2ph2bf8 %zmm24, %zmm23, %zmm22 {%k7} {z}
+# INTEL: vcvtne2ph2bf8 zmm22 {k7} {z}, zmm23, zmm24
+0x62,0x82,0x47,0xc7,0x74,0xf0
+
+# ATT:   vcvtne2ph2bf8 %xmm24, %xmm23, %xmm22
+# INTEL: vcvtne2ph2bf8 xmm22, xmm23, xmm24
+0x62,0x82,0x47,0x00,0x74,0xf0
+
+# ATT:   vcvtne2ph2bf8 %xmm24, %xmm23, %xmm22 {%k7}
+# INTEL: vcvtne2ph2bf8 xmm22 {k7}, xmm23, xmm24
+0x62,0x82,0x47,0x07,0x74,0xf0
+
+# ATT:   vcvtne2ph2bf8 %xmm24, %xmm23, %xmm22 {%k7} {z}
+# INTEL: vcvtne2ph2bf8 xmm22 {k7} {z}, xmm23, xmm24
+0x62,0x82,0x47,0x87,0x74,0xf0
+
+# ATT:   vcvtne2ph2bf8  268435456(%rbp,%r14,8), %zmm23, %zmm22
+# INTEL: vcvtne2ph2bf8 zmm22, zmm23, zmmword ptr [rbp + 8*r14 + 268435456]
+0x62,0xa2,0x47,0x40,0x74,0xb4,0xf5,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtne2ph2bf8  291(%r8,%rax,4), %zmm23, %zmm22 {%k7}
+# INTEL: vcvtne2ph2bf8 zmm22 {k7}, zmm23, zmmword ptr [r8 + 4*rax + 291]
+0x62,0xc2,0x47,0x47,0x74,0xb4,0x80,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtne2ph2bf8  (%rip){1to32}, %zmm23, %zmm22
+# INTEL: vcvtne2ph2bf8 zmm22, zmm23, word ptr [rip]{1to32}
+0x62,0xe2,0x47,0x50,0x74,0x35,0x00,0x00,0x00,0x00
+
+# ATT:   vcvtne2ph2bf8  -2048(,%rbp,2), %zmm23, %zmm22
+# INTEL: vcvtne2ph2bf8 zmm22, zmm23, zmmword ptr [2*rbp - 2048]
+0x62,0xe2,0x47,0x40,0x74,0x34,0x6d,0x00,0xf8,0xff,0xff
+
+# ATT:   vcvtne2ph2bf8  8128(%rcx), %zmm23, %zmm22 {%k7} {z}
+# INTEL: vcvtne2ph2bf8 zmm22 {k7} {z}, zmm23, zmmword ptr [rcx + 8128]
+0x62,0xe2,0x47,0xc7,0x74,0x71,0x7f
+
+# ATT:   vcvtne2ph2bf8  -256(%rdx){1to32}, %zmm23, %zmm22 {%k7} {z}
+# INTEL: vcvtne2ph2bf8 zmm22 {k7} {z}, zmm23, word ptr [rdx - 256]{1to32}
+0x62,0xe2,0x47,0xd7,0x74,0x72,0x80
+
+# ATT:   vcvtne2ph2bf8  268435456(%rbp,%r14,8), %ymm23, %ymm22
+# INTEL: vcvtne2ph2bf8 ymm22, ymm23, ymmword ptr [rbp + 8*r14 + 268435456]
+0x62,0xa2,0x47,0x20,0x74,0xb4,0xf5,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtne2ph2bf8  291(%r8,%rax,4), %ymm23, %ymm22 {%k7}
+# INTEL: vcvtne2ph2bf8 ymm22 {k7}, ymm23, ymmword ptr [r8 + 4*rax + 291]
+0x62,0xc2,0x47,0x27,0x74,0xb4,0x80,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtne2ph2bf8  (%rip){1to16}, %ymm23, %ymm22
+# INTEL: vcvtne2ph2bf8 ymm22, ymm23, word ptr [rip]{1to16}
+0x62,0xe2,0x47,0x30,0x74,0x35,0x00,0x00,0x00,0x00
+
+# ATT:   vcvtne2ph2bf8  -1024(,%rbp,2), %ymm23, %ymm22
+# INTEL: vcvtne2ph2bf8 ymm22, ymm23, ymmword ptr [2*rbp - 1024]
+0x62,0xe2,0x47,0x20,0x74,0x34,0x6d,0x00,0xfc,0xff,0xff
+
+# ATT:   vcvtne2ph2bf8  4064(%rcx), %ymm23, %ymm22 {%k7} {z}
+# INTEL: vcvtne2ph2bf8 ymm22 {k7} {z}, ymm23, ymmword ptr [rcx + 4064]
+0x62,0xe2,0x47,0xa7,0x74,0x71,0x7f
+
+# ATT:   vcvtne2ph2bf8  -256(%rdx){1to16}, %ymm23, %ymm22 {%k7} {z}
+# INTEL: vcvtne2ph2bf8 ymm22 {k7} {z}, ymm23, word ptr [rdx - 256]{1to16}
+0x62,0xe2,0x47,0xb7,0x74,0x72,0x80
+
+# ATT:   vcvtne2ph2bf8  268435456(%rbp,%r14,8), %xmm23, %xmm22
+# INTEL: vcvtne2ph2bf8 xmm22, xmm23, xmmword ptr [rbp + 8*r14 + 268435456]
+0x62,0xa2,0x47,0x00,0x74,0xb4,0xf5,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtne2ph2bf8  291(%r8,%rax,4), %xmm23, %xmm22 {%k7}
+# INTEL: vcvtne2ph2bf8 xmm22 {k7}, xmm23, xmmword ptr [r8 + 4*rax + 291]
+0x62,0xc2,0x47,0x07,0x74,0xb4,0x80,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtne2ph2bf8  (%rip){1to8}, %xmm23, %xmm22
+# INTEL: vcvtne2ph2bf8 xmm22, xmm23, word ptr [rip]{1to8}
+0x62,0xe2,0x47,0x10,0x74,0x35,0x00,0x00,0x00,0x00
+
+# ATT:   vcvtne2ph2bf8  -512(,%rbp,2), %xmm23, %xmm22
+# INTEL: vcvtne2ph2bf8 xmm22, xmm23, xmmword ptr [2*rbp - 512]
+0x62,0xe2,0x47,0x00,0x74,0x34,0x6d,0x00,0xfe,0xff,0xff
+
+# ATT:   vcvtne2ph2bf8  2032(%rcx), %xmm23, %xmm22 {%k7} {z}
+# INTEL: vcvtne2ph2bf8 xmm22 {k7} {z}, xmm23, xmmword ptr [rcx + 2032]
+0x62,0xe2,0x47,0x87,0x74,0x71,0x7f
+
+# ATT:   vcvtne2ph2bf8  -256(%rdx){1to8}, %xmm23, %xmm22 {%k7} {z}
+# INTEL: vcvtne2ph2bf8 xmm22 {k7} {z}, xmm23, word ptr [rdx - 256]{1to8}
+0x62,0xe2,0x47,0x97,0x74,0x72,0x80
+
+# ATT:   vcvtne2ph2bf8s %ymm24, %ymm23, %ymm22
+# INTEL: vcvtne2ph2bf8s ymm22, ymm23, ymm24
+0x62,0x85,0x47,0x20,0x74,0xf0
+
+# ATT:   vcvtne2ph2bf8s %ymm24, %ymm23, %ymm22 {%k7}
+# INTEL: vcvtne2ph2bf8s ymm22 {k7}, ymm23, ymm24
+0x62,0x85,0x47,0x27,0x74,0xf0
+
+# ATT:   vcvtne2ph2bf8s %ymm24, %ymm23, %ymm22 {%k7} {z}
+# INTEL: vcvtne2ph2bf8s ymm22 {k7} {z}, ymm23, ymm24
+0x62,0x85,0x47,0xa7,0x74,0xf0
+
+# ATT:   vcvtne2ph2bf8s %zmm24, %zmm23, %zmm22
+# INTEL: vcvtne2ph2bf8s zmm22, zmm23, zmm24
+0x62,0x85,0x47,0x40,0x74,0xf0
+
+# ATT:   vcvtne2ph2bf8s %zmm24, %zmm23, %zmm22 {%k7}
+# INTEL: vcvtne2ph2bf8s zmm22 {k7}, zmm23, zmm24
+0x62,0x85,0x47,0x47,0x74,0xf0
+
+# ATT:   vcvtne2ph2bf8s %zmm24, %zmm23, %zmm22 {%k7} {z}
+# INTEL: vcvtne2ph2bf8s zmm22 {k7} {z}, zmm23, zmm24
+0x62,0x85,0x47,0xc7,0x74,0xf0
+
+# ATT:   vcvtne2ph2bf8s %xmm24, %xmm23, %xmm22
+# INTEL: vcvtne2ph2bf8s xmm22, xmm23, xmm24
+0x62,0x85,0x47,0x00,0x74,0xf0
+
+# ATT:   vcvtne2ph2bf8s %xmm24, %xmm23, %xmm22 {%k7}
+# INTEL: vcvtne2ph2bf8s xmm22 {k7}, xmm23, xmm24
+0x62,0x85,0x47,0x07,0x74,0xf0
+
+# ATT:   vcvtne2ph2bf8s %xmm24, %xmm23, %xmm22 {%k7} {z}
+# INTEL: vcvtne2ph2bf8s xmm22 {k7} {z}, xmm23, xmm24
+0x62,0x85,0x47,0x87,0x74,0xf0
+
+# ATT:   vcvtne2ph2bf8s  268435456(%rbp,%r14,8), %zmm23, %zmm22
+# INTEL: vcvtne2ph2bf8s zmm22, zmm23, zmmword ptr [rbp + 8*r14 + 268435456]
+0x62,0xa5,0x47,0x40,0x74,0xb4,0xf5,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtne2ph2bf8s  291(%r8,%rax,4), %zmm23, %zmm22 {%k7}
+# INTEL: vcvtne2ph2bf8s zmm22 {k7}, zmm23, zmmword ptr [r8 + 4*rax + 291]
+0x62,0xc5,0x47,0x47,0x74,0xb4,0x80,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtne2ph2bf8s  (%rip){1to32}, %zmm23, %zmm22
+# INTEL: vcvtne2ph2bf8s zmm22, zmm23, word ptr [rip]{1to32}
+0x62,0xe5,0x47,0x50,0x74,0x35,0x00,0x00,0x00,0x00
+
+# ATT:   vcvtne2ph2bf8s  -2048(,%rbp,2), %zmm23, %zmm22
+# INTEL: vcvtne2ph2bf8s zmm22, zmm23, zmmword ptr [2*rbp - 2048]
+0x62,0xe5,0x47,0x40,0x74,0x34,0x6d,0x00,0xf8,0xff,0xff
+
+# ATT:   vcvtne2ph2bf8s  8128(%rcx), %zmm23, %zmm22 {%k7} {z}
+# INTEL: vcvtne2ph2bf8s zmm22 {k7} {z}, zmm23, zmmword ptr [rcx + 8128]
+0x62,0xe5,0x47,0xc7,0x74,0x71,0x7f
+
+# ATT:   vcvtne2ph2bf8s  -256(%rdx){1to32}, %zmm23, %zmm22 {%k7} {z}
+# INTEL: vcvtne2ph2bf8s zmm22 {k7} {z}, zmm23, word ptr [rdx - 256]{1to32}
+0x62,0xe5,0x47,0xd7,0x74,0x72,0x80
+
+# ATT:   vcvtne2ph2bf8s  268435456(%rbp,%r14,8), %ymm23, %ymm22
+# INTEL: vcvtne2ph2bf8s ymm22, ymm23, ymmword ptr [rbp + 8*r14 + 268435456]
+0x62,0xa5,0x47,0x20,0x74,0xb4,0xf5,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtne2ph2bf8s  291(%r8,%rax,4), %ymm23, %ymm22 {%k7}
+# INTEL: vcvtne2ph2bf8s ymm22 {k7}, ymm23, ymmword ptr [r8 + 4*rax + 291]
+0x62,0xc5,0x47,0x27,0x74,0xb4,0x80,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtne2ph2bf8s  (%rip){1to16}, %ymm23, %ymm22
+# INTEL: vcvtne2ph2bf8s ymm22, ymm23, word ptr [rip]{1to16}
+0x62,0xe5,0x47,0x30,0x74,0x35,0x00,0x00,0x00,0x00
+
+# ATT:   vcvtne2ph2bf8s  -1024(,%rbp,2), %ymm23, %ymm22
+# INTEL: vcvtne2ph2bf8s ymm22, ymm23, ymmword ptr [2*rbp - 1024]
+0x62,0xe5,0x47,0x20,0x74,0x34,0x6d,0x00,0xfc,0xff,0xff
+
+# ATT:   vcvtne2ph2bf8s  4064(%rcx), %ymm23, %ymm22 {%k7} {z}
+# INTEL: vcvtne2ph2bf8s ymm22 {k7} {z}, ymm23, ymmword ptr [rcx + 4064]
+0x62,0xe5,0x47,0xa7,0x74,0x71,0x7f
+
+# ATT:   vcvtne2ph2bf8s  -256(%rdx){1to16}, %ymm23, %ymm22 {%k7} {z}
+# INTEL: vcvtne2ph2bf8s ymm22 {k7} {z}, ymm23, word ptr [rdx - 256]{1to16}
+0x62,0xe5,0x47,0xb7,0x74,0x72,0x80
+
+# ATT:   vcvtne2ph2bf8s  268435456(%rbp,%r14,8), %xmm23, %xmm22
+# INTEL: vcvtne2ph2bf8s xmm22, xmm23, xmmword ptr [rbp + 8*r14 + 268435456]
+0x62,0xa5,0x47,0x00,0x74,0xb4,0xf5,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtne2ph2bf8s  291(%r8,%rax,4), %xmm23, %xmm22 {%k7}
+# INTEL: vcvtne2ph2bf8s xmm22 {k7}, xmm23, xmmword ptr [r8 + 4*rax + 291]
+0x62,0xc5,0x47,0x07,0x74,0xb4,0x80,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtne2ph2bf8s  (%rip){1to8}, %xmm23, %xmm22
+# INTEL: vcvtne2ph2bf8s xmm22, xmm23, word ptr [rip]{1to8}
+0x62,0xe5,0x47,0x10,0x74,0x35,0x00,0x00,0x00,0x00
+
+# ATT:   vcvtne2ph2bf8s  -512(,%rbp,2), %xmm23, %xmm22
+# INTEL: vcvtne2ph2bf8s xmm22, xmm23, xmmword ptr [2*rbp - 512]
+0x62,0xe5,0x47,0x00,0x74,0x34,0x6d,0x00,0xfe,0xff,0xff
+
+# ATT:   vcvtne2ph2bf8s  2032(%rcx), %xmm23, %xmm22 {%k7} {z}
+# INTEL: vcvtne2ph2bf8s xmm22 {k7} {z}, xmm23, xmmword ptr [rcx + 2032]
+0x62,0xe5,0x47,0x87,0x74,0x71,0x7f
+
+# ATT:   vcvtne2ph2bf8s  -256(%rdx){1to8}, %xmm23, %xmm22 {%k7} {z}
+# INTEL: vcvtne2ph2bf8s xmm22 {k7} {z}, xmm23, word ptr [rdx - 256]{1to8}
+0x62,0xe5,0x47,0x97,0x74,0x72,0x80
+
+# ATT:   vcvtne2ph2hf8 %ymm24, %ymm23, %ymm22
+# INTEL: vcvtne2ph2hf8 ymm22, ymm23, ymm24
+0x62,0x85,0x47,0x20,0x18,0xf0
+
+# ATT:   vcvtne2ph2hf8 %ymm24, %ymm23, %ymm22 {%k7}
+# INTEL: vcvtne2ph2hf8 ymm22 {k7}, ymm23, ymm24
+0x62,0x85,0x47,0x27,0x18,0xf0
+
+# ATT:   vcvtne2ph2hf8 %ymm24, %ymm23, %ymm22 {%k7} {z}
+# INTEL: vcvtne2ph2hf8 ymm22 {k7} {z}, ymm23, ymm24
+0x62,0x85,0x47,0xa7,0x18,0xf0
+
+# ATT:   vcvtne2ph2hf8 %zmm24, %zmm23, %zmm22
+# INTEL: vcvtne2ph2hf8 zmm22, zmm23, zmm24
+0x62,0x85,0x47,0x40,0x18,0xf0
+
+# ATT:   vcvtne2ph2hf8 %zmm24, %zmm23, %zmm22 {%k7}
+# INTEL: vcvtne2ph2hf8 zmm22 {k7}, zmm23, zmm24
+0x62,0x85,0x47,0x47,0x18,0xf0
+
+# ATT:   vcvtne2ph2hf8 %zmm24, %zmm23, %zmm22 {%k7} {z}
+# INTEL: vcvtne2ph2hf8 zmm22 {k7} {z}, zmm23, zmm24
+0x62,0x85,0x47,0xc7,0x18,0xf0
+
+# ATT:   vcvtne2ph2hf8 %xmm24, %xmm23, %xmm22
+# INTEL: vcvtne2ph2hf8 xmm22, xmm23, xmm24
+0x62,0x85,0x47,0x00,0x18,0xf0
+
+# ATT:   vcvtne2ph2hf8 %xmm24, %xmm23, %xmm22 {%k7}
+# INTEL: vcvtne2ph2hf8 xmm22 {k7}, xmm23, xmm24
+0x62,0x85,0x47,0x07,0x18,0xf0
+
+# ATT:   vcvtne2ph2hf8 %xmm24, %xmm23, %xmm22 {%k7} {z}
+# INTEL: vcvtne2ph2hf8 xmm22 {k7} {z}, xmm23, xmm24
+0x62,0x85,0x47,0x87,0x18,0xf0
+
+# ATT:   vcvtne2ph2hf8  268435456(%rbp,%r14,8), %zmm23, %zmm22
+# INTEL: vcvtne2ph2hf8 zmm22, zmm23, zmmword ptr [rbp + 8*r14 + 268435456]
+0x62,0xa5,0x47,0x40,0x18,0xb4,0xf5,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtne2ph2hf8  291(%r8,%rax,4), %zmm23, %zmm22 {%k7}
+# INTEL: vcvtne2ph2hf8 zmm22 {k7}, zmm23, zmmword ptr [r8 + 4*rax + 291]
+0x62,0xc5,0x47,0x47,0x18,0xb4,0x80,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtne2ph2hf8  (%rip){1to32}, %zmm23, %zmm22
+# INTEL: vcvtne2ph2hf8 zmm22, zmm23, word ptr [rip]{1to32}
+0x62,0xe5,0x47,0x50,0x18,0x35,0x00,0x00,0x00,0x00
+
+# ATT:   vcvtne2ph2hf8  -2048(,%rbp,2), %zmm23, %zmm22
+# INTEL: vcvtne2ph2hf8 zmm22, zmm23, zmmword ptr [2*rbp - 2048]
+0x62,0xe5,0x47,0x40,0x18,0x34,0x6d,0x00,0xf8,0xff,0xff
+
+# ATT:   vcvtne2ph2hf8  8128(%rcx), %zmm23, %zmm22 {%k7} {z}
+# INTEL: vcvtne2ph2hf8 zmm22 {k7} {z}, zmm23, zmmword ptr [rcx + 8128]
+0x62,0xe5,0x47,0xc7,0x18,0x71,0x7f
+
+# ATT:   vcvtne2ph2hf8  -256(%rdx){1to32}, %zmm23, %zmm22 {%k7} {z}
+# INTEL: vcvtne2ph2hf8 zmm22 {k7} {z}, zmm23, word ptr [rdx - 256]{1to32}
+0x62,0xe5,0x47,0xd7,0x18,0x72,0x80
+
+# ATT:   vcvtne2ph2hf8  268435456(%rbp,%r14,8), %ymm23, %ymm22
+# INTEL: vcvtne2ph2hf8 ymm22, ymm23, ymmword ptr [rbp + 8*r14 + 268435456]
+0x62,0xa5,0x47,0x20,0x18,0xb4,0xf5,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtne2ph2hf8  291(%r8,%rax,4), %ymm23, %ymm22 {%k7}
+# INTEL: vcvtne2ph2hf8 ymm22 {k7}, ymm23, ymmword ptr [r8 + 4*rax + 291]
+0x62,0xc5,0x47,0x27,0x18,0xb4,0x80,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtne2ph2hf8  (%rip){1to16}, %ymm23, %ymm22
+# INTEL: vcvtne2ph2hf8 ymm22, ymm23, word ptr [rip]{1to16}
+0x62,0xe5,0x47,0x30,0x18,0x35,0x00,0x00,0x00,0x00
+
+# ATT:   vcvtne2ph2hf8  -1024(,%rbp,2), %ymm23, %ymm22
+# INTEL: vcvtne2ph2hf8 ymm22, ymm23, ymmword ptr [2*rbp - 1024]
+0x62,0xe5,0x47,0x20,0x18,0x34,0x6d,0x00,0xfc,0xff,0xff
+
+# ATT:   vcvtne2ph2hf8  4064(%rcx), %ymm23, %ymm22 {%k7} {z}
+# INTEL: vcvtne2ph2hf8 ymm22 {k7} {z}, ymm23, ymmword ptr [rcx + 4064]
+0x62,0xe5,0x47,0xa7,0x18,0x71,0x7f
+
+# ATT:   vcvtne2ph2hf8  -256(%rdx){1to16}, %ymm23, %ymm22 {%k7} {z}
+# INTEL: vcvtne2ph2hf8 ymm22 {k7} {z}, ymm23, word ptr [rdx - 256]{1to16}
+0x62,0xe5,0x47,0xb7,0x18,0x72,0x80
+
+# ATT:   vcvtne2ph2hf8  268435456(%rbp,%r14,8), %xmm23, %xmm22
+# INTEL: vcvtne2ph2hf8 xmm22, xmm23, xmmword ptr [rbp + 8*r14 + 268435456]
+0x62,0xa5,0x47,0x00,0x18,0xb4,0xf5,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtne2ph2hf8  291(%r8,%rax,4), %xmm23, %xmm22 {%k7}
+# INTEL: vcvtne2ph2hf8 xmm22 {k7}, xmm23, xmmword ptr [r8 + 4*rax + 291]
+0x62,0xc5,0x47,0x07,0x18,0xb4,0x80,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtne2ph2hf8  (%rip){1to8}, %xmm23, %xmm22
+# INTEL: vcvtne2ph2hf8 xmm22, xmm23, word ptr [rip]{1to8}
+0x62,0xe5,0x47,0x10,0x18,0x35,0x00,0x00,0x00,0x00
+
+# ATT:   vcvtne2ph2hf8  -512(,%rbp,2), %xmm23, %xmm22
+# INTEL: vcvtne2ph2hf8 xmm22, xmm23, xmmword ptr [2*rbp - 512]
+0x62,0xe5,0x47,0x00,0x18,0x34,0x6d,0x00,0xfe,0xff,0xff
+
+# ATT:   vcvtne2ph2hf8  2032(%rcx), %xmm23, %xmm22 {%k7} {z}
+# INTEL: vcvtne2ph2hf8 xmm22 {k7} {z}, xmm23, xmmword ptr [rcx + 2032]
+0x62,0xe5,0x47,0x87,0x18,0x71,0x7f
+
+# ATT:   vcvtne2ph2hf8  -256(%rdx){1to8}, %xmm23, %xmm22 {%k7} {z}
+# INTEL: vcvtne2ph2hf8 xmm22 {k7} {z}, xmm23, word ptr [rdx - 256]{1to8}
+0x62,0xe5,0x47,0x97,0x18,0x72,0x80
+
+# ATT:   vcvtne2ph2hf8s %ymm24, %ymm23, %ymm22
+# INTEL: vcvtne2ph2hf8s ymm22, ymm23, ymm24
+0x62,0x85,0x47,0x20,0x1b,0xf0
+
+# ATT:   vcvtne2ph2hf8s %ymm24, %ymm23, %ymm22 {%k7}
+# INTEL: vcvtne2ph2hf8s ymm22 {k7}, ymm23, ymm24
+0x62,0x85,0x47,0x27,0x1b,0xf0
+
+# ATT:   vcvtne2ph2hf8s %ymm24, %ymm23, %ymm22 {%k7} {z}
+# INTEL: vcvtne2ph2hf8s ymm22 {k7} {z}, ymm23, ymm24
+0x62,0x85,0x47,0xa7,0x1b,0xf0
+
+# ATT:   vcvtne2ph2hf8s %zmm24, %zmm23, %zmm22
+# INTEL: vcvtne2ph2hf8s zmm22, zmm23, zmm24
+0x62,0x85,0x47,0x40,0x1b,0xf0
+
+# ATT:   vcvtne2ph2hf8s %zmm24, %zmm23, %zmm22 {%k7}
+# INTEL: vcvtne2ph2hf8s zmm22 {k7}, zmm23, zmm24
+0x62,0x85,0x47,0x47,0x1b,0xf0
+
+# ATT:   vcvtne2ph2hf8s %zmm24, %zmm23, %zmm22 {%k7} {z}
+# INTEL: vcvtne2ph2hf8s zmm22 {k7} {z}, zmm23, zmm24
+0x62,0x85,0x47,0xc7,0x1b,0xf0
+
+# ATT:   vcvtne2ph2hf8s %xmm24, %xmm23, %xmm22
+# INTEL: vcvtne2ph2hf8s xmm22, xmm23, xmm24
+0x62,0x85,0x47,0x00,0x1b,0xf0
+
+# ATT:   vcvtne2ph2hf8s %xmm24, %xmm23, %xmm22 {%k7}
+# INTEL: vcvtne2ph2hf8s xmm22 {k7}, xmm23, xmm24
+0x62,0x85,0x47,0x07,0x1b,0xf0
+
+# ATT:   vcvtne2ph2hf8s %xmm24, %xmm23, %xmm22 {%k7} {z}
+# INTEL: vcvtne2ph2hf8s xmm22 {k7} {z}, xmm23, xmm24
+0x62,0x85,0x47,0x87,0x1b,0xf0
+
+# ATT:   vcvtne2ph2hf8s  268435456(%rbp,%r14,8), %zmm23, %zmm22
+# INTEL: vcvtne2ph2hf8s zmm22, zmm23, zmmword ptr [rbp + 8*r14 + 268435456]
+0x62,0xa5,0x47,0x40,0x1b,0xb4,0xf5,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtne2ph2hf8s  291(%r8,%rax,4), %zmm23, %zmm22 {%k7}
+# INTEL: vcvtne2ph2hf8s zmm22 {k7}, zmm23, zmmword ptr [r8 + 4*rax + 291]
+0x62,0xc5,0x47,0x47,0x1b,0xb4,0x80,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtne2ph2hf8s  (%rip){1to32}, %zmm23, %zmm22
+# INTEL: vcvtne2ph2hf8s zmm22, zmm23, word ptr [rip]{1to32}
+0x62,0xe5,0x47,0x50,0x1b,0x35,0x00,0x00,0x00,0x00
+
+# ATT:   vcvtne2ph2hf8s  -2048(,%rbp,2), %zmm23, %zmm22
+# INTEL: vcvtne2ph2hf8s zmm22, zmm23, zmmword ptr [2*rbp - 2048]
+0x62,0xe5,0x47,0x40,0x1b,0x34,0x6d,0x00,0xf8,0xff,0xff
+
+# ATT:   vcvtne2ph2hf8s  8128(%rcx), %zmm23, %zmm22 {%k7} {z}
+# INTEL: vcvtne2ph2hf8s zmm22 {k7} {z}, zmm23, zmmword ptr [rcx + 8128]
+0x62,0xe5,0x47,0xc7,0x1b,0x71,0x7f
+
+# ATT:   vcvtne2ph2hf8s  -256(%rdx){1to32}, %zmm23, %zmm22 {%k7} {z}
+# INTEL: vcvtne2ph2hf8s zmm22 {k7} {z}, zmm23, word ptr [rdx - 256]{1to32}
+0x62,0xe5,0x47,0xd7,0x1b,0x72,0x80
+
+# ATT:   vcvtne2ph2hf8s  268435456(%rbp,%r14,8), %ymm23, %ymm22
+# INTEL: vcvtne2ph2hf8s ymm22, ymm23, ymmword ptr [rbp + 8*r14 + 268435456]
+0x62,0xa5,0x47,0x20,0x1b,0xb4,0xf5,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtne2ph2hf8s  291(%r8,%rax,4), %ymm23, %ymm22 {%k7}
+# INTEL: vcvtne2ph2hf8s ymm22 {k7}, ymm23, ymmword ptr [r8 + 4*rax + 291]
+0x62,0xc5,0x47,0x27,0x1b,0xb4,0x80,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtne2ph2hf8s  (%rip){1to16}, %ymm23, %ymm22
+# INTEL: vcvtne2ph2hf8s ymm22, ymm23, word ptr [rip]{1to16}
+0x62,0xe5,0x47,0x30,0x1b,0x35,0x00,0x00,0x00,0x00
+
+# ATT:   vcvtne2ph2hf8s  -1024(,%rbp,2), %ymm23, %ymm22
+# INTEL: vcvtne2ph2hf8s ymm22, ymm23, ymmword ptr [2*rbp - 1024]
+0x62,0xe5,0x47,0x20,0x1b,0x34,0x6d,0x00,0xfc,0xff,0xff
+
+# ATT:   vcvtne2ph2hf8s  4064(%rcx), %ymm23, %ymm22 {%k7} {z}
+# INTEL: vcvtne2ph2hf8s ymm22 {k7} {z}, ymm23, ymmword ptr [rcx + 4064]
+0x62,0xe5,0x47,0xa7,0x1b,0x71,0x7f
+
+# ATT:   vcvtne2ph2hf8s  -256(%rdx){1to16}, %ymm23, %ymm22 {%k7} {z}
+# INTEL: vcvtne2ph2hf8s ymm22 {k7} {z}, ymm23, word ptr [rdx - 256]{1to16}
+0x62,0xe5,0x47,0xb7,0x1b,0x72,0x80
+
+# ATT:   vcvtne2ph2hf8s  268435456(%rbp,%r14,8), %xmm23, %xmm22
+# INTEL: vcvtne2ph2hf8s xmm22, xmm23, xmmword ptr [rbp + 8*r14 + 268435456]
+0x62,0xa5,0x47,0x00,0x1b,0xb4,0xf5,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtne2ph2hf8s  291(%r8,%rax,4), %xmm23, %xmm22 {%k7}
+# INTEL: vcvtne2ph2hf8s xmm22 {k7}, xmm23, xmmword ptr [r8 + 4*rax + 291]
+0x62,0xc5,0x47,0x07,0x1b,0xb4,0x80,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtne2ph2hf8s  (%rip){1to8}, %xmm23, %xmm22
+# INTEL: vcvtne2ph2hf8s xmm22, xmm23, word ptr [rip]{1to8}
+0x62,0xe5,0x47,0x10,0x1b,0x35,0x00,0x00,0x00,0x00
+
+# ATT:   vcvtne2ph2hf8s  -512(,%rbp,2), %xmm23, %xmm22
+# INTEL: vcvtne2ph2hf8s xmm22, xmm23, xmmword ptr [2*rbp - 512]
+0x62,0xe5,0x47,0x00,0x1b,0x34,0x6d,0x00,0xfe,0xff,0xff
+
+# ATT:   vcvtne2ph2hf8s  2032(%rcx), %xmm23, %xmm22 {%k7} {z}
+# INTEL: vcvtne2ph2hf8s xmm22 {k7} {z}, xmm23, xmmword ptr [rcx + 2032]
+0x62,0xe5,0x47,0x87,0x1b,0x71,0x7f
+
+# ATT:   vcvtne2ph2hf8s  -256(%rdx){1to8}, %xmm23, %xmm22 {%k7} {z}
+# INTEL: vcvtne2ph2hf8s xmm22 {k7} {z}, xmm23, word ptr [rdx - 256]{1to8}
+0x62,0xe5,0x47,0x97,0x1b,0x72,0x80
+
+# ATT:   vcvtneph2bf8 %xmm23, %xmm22
+# INTEL: vcvtneph2bf8 xmm22, xmm23
+0x62,0xa2,0x7e,0x08,0x74,0xf7
+
+# ATT:   vcvtneph2bf8 %xmm23, %xmm22 {%k7}
+# INTEL: vcvtneph2bf8 xmm22 {k7}, xmm23
+0x62,0xa2,0x7e,0x0f,0x74,0xf7
+
+# ATT:   vcvtneph2bf8 %xmm23, %xmm22 {%k7} {z}
+# INTEL: vcvtneph2bf8 xmm22 {k7} {z}, xmm23
+0x62,0xa2,0x7e,0x8f,0x74,0xf7
+
+# ATT:   vcvtneph2bf8 %zmm23, %ymm22
+# INTEL: vcvtneph2bf8 ymm22, zmm23
+0x62,0xa2,0x7e,0x48,0x74,0xf7
+
+# ATT:   vcvtneph2bf8 %zmm23, %ymm22 {%k7}
+# INTEL: vcvtneph2bf8 ymm22 {k7}, zmm23
+0x62,0xa2,0x7e,0x4f,0x74,0xf7
+
+# ATT:   vcvtneph2bf8 %zmm23, %ymm22 {%k7} {z}
+# INTEL: vcvtneph2bf8 ymm22 {k7} {z}, zmm23
+0x62,0xa2,0x7e,0xcf,0x74,0xf7
+
+# ATT:   vcvtneph2bf8 %ymm23, %xmm22
+# INTEL: vcvtneph2bf8 xmm22, ymm23
+0x62,0xa2,0x7e,0x28,0x74,0xf7
+
+# ATT:   vcvtneph2bf8 %ymm23, %xmm22 {%k7}
+# INTEL: vcvtneph2bf8 xmm22 {k7}, ymm23
+0x62,0xa2,0x7e,0x2f,0x74,0xf7
+
+# ATT:   vcvtneph2bf8 %ymm23, %xmm22 {%k7} {z}
+# INTEL: vcvtneph2bf8 xmm22 {k7} {z}, ymm23
+0x62,0xa2,0x7e,0xaf,0x74,0xf7
+
+# ATT:   vcvtneph2bf8x  268435456(%rbp,%r14,8), %xmm22
+# INTEL: vcvtneph2bf8 xmm22, xmmword ptr [rbp + 8*r14 + 268435456]
+0x62,0xa2,0x7e,0x08,0x74,0xb4,0xf5,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtneph2bf8x  291(%r8,%rax,4), %xmm22 {%k7}
+# INTEL: vcvtneph2bf8 xmm22 {k7}, xmmword ptr [r8 + 4*rax + 291]
+0x62,0xc2,0x7e,0x0f,0x74,0xb4,0x80,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtneph2bf8  (%rip){1to8}, %xmm22
+# INTEL: vcvtneph2bf8 xmm22, word ptr [rip]{1to8}
+0x62,0xe2,0x7e,0x18,0x74,0x35,0x00,0x00,0x00,0x00
+
+# ATT:   vcvtneph2bf8x  -512(,%rbp,2), %xmm22
+# INTEL: vcvtneph2bf8 xmm22, xmmword ptr [2*rbp - 512]
+0x62,0xe2,0x7e,0x08,0x74,0x34,0x6d,0x00,0xfe,0xff,0xff
+
+# ATT:   vcvtneph2bf8x  2032(%rcx), %xmm22 {%k7} {z}
+# INTEL: vcvtneph2bf8 xmm22 {k7} {z}, xmmword ptr [rcx + 2032]
+0x62,0xe2,0x7e,0x8f,0x74,0x71,0x7f
+
+# ATT:   vcvtneph2bf8  -256(%rdx){1to8}, %xmm22 {%k7} {z}
+# INTEL: vcvtneph2bf8 xmm22 {k7} {z}, word ptr [rdx - 256]{1to8}
+0x62,0xe2,0x7e,0x9f,0x74,0x72,0x80
+
+# ATT:   vcvtneph2bf8  (%rip){1to16}, %xmm22
+# INTEL: vcvtneph2bf8 xmm22, word ptr [rip]{1to16}
+0x62,0xe2,0x7e,0x38,0x74,0x35,0x00,0x00,0x00,0x00
+
+# ATT:   vcvtneph2bf8y  -1024(,%rbp,2), %xmm22
+# INTEL: vcvtneph2bf8 xmm22, ymmword ptr [2*rbp - 1024]
+0x62,0xe2,0x7e,0x28,0x74,0x34,0x6d,0x00,0xfc,0xff,0xff
+
+# ATT:   vcvtneph2bf8y  4064(%rcx), %xmm22 {%k7} {z}
+# INTEL: vcvtneph2bf8 xmm22 {k7} {z}, ymmword ptr [rcx + 4064]
+0x62,0xe2,0x7e,0xaf,0x74,0x71,0x7f
+
+# ATT:   vcvtneph2bf8  -256(%rdx){1to16}, %xmm22 {%k7} {z}
+# INTEL: vcvtneph2bf8 xmm22 {k7} {z}, word ptr [rdx - 256]{1to16}
+0x62,0xe2,0x7e,0xbf,0x74,0x72,0x80
+
+# ATT:   vcvtneph2bf8  268435456(%rbp,%r14,8), %ymm22
+# INTEL: vcvtneph2bf8 ymm22, zmmword ptr [rbp + 8*r14 + 268435456]
+0x62,0xa2,0x7e,0x48,0x74,0xb4,0xf5,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtneph2bf8  291(%r8,%rax,4), %ymm22 {%k7}
+# INTEL: vcvtneph2bf8 ymm22 {k7}, zmmword ptr [r8 + 4*rax + 291]
+0x62,0xc2,0x7e,0x4f,0x74,0xb4,0x80,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtneph2bf8  (%rip){1to32}, %ymm22
+# INTEL: vcvtneph2bf8 ymm22, word ptr [rip]{1to32}
+0x62,0xe2,0x7e,0x58,0x74,0x35,0x00,0x00,0x00,0x00
+
+# ATT:   vcvtneph2bf8  -2048(,%rbp,2), %ymm22
+# INTEL: vcvtneph2bf8 ymm22, zmmword ptr [2*rbp - 2048]
+0x62,0xe2,0x7e,0x48,0x74,0x34,0x6d,0x00,0xf8,0xff,0xff
+
+# ATT:   vcvtneph2bf8  8128(%rcx), %ymm22 {%k7} {z}
+# INTEL: vcvtneph2bf8 ymm22 {k7} {z}, zmmword ptr [rcx + 8128]
+0x62,0xe2,0x7e,0xcf,0x74,0x71,0x7f
+
+# ATT:   vcvtneph2bf8  -256(%rdx){1to32}, %ymm22 {%k7} {z}
+# INTEL: vcvtneph2bf8 ymm22 {k7} {z}, word ptr [rdx - 256]{1to32}
+0x62,0xe2,0x7e,0xdf,0x74,0x72,0x80
+
+# ATT:   vcvtneph2bf8s %xmm23, %xmm22
+# INTEL: vcvtneph2bf8s xmm22, xmm23
+0x62,0xa5,0x7e,0x08,0x74,0xf7
+
+# ATT:   vcvtneph2bf8s %xmm23, %xmm22 {%k7}
+# INTEL: vcvtneph2bf8s xmm22 {k7}, xmm23
+0x62,0xa5,0x7e,0x0f,0x74,0xf7
+
+# ATT:   vcvtneph2bf8s %xmm23, %xmm22 {%k7} {z}
+# INTEL: vcvtneph2bf8s xmm22 {k7} {z}, xmm23
+0x62,0xa5,0x7e,0x8f,0x74,0xf7
+
+# ATT:   vcvtneph2bf8s %zmm23, %ymm22
+# INTEL: vcvtneph2bf8s ymm22, zmm23
+0x62,0xa5,0x7e,0x48,0x74,0xf7
+
+# ATT:   vcvtneph2bf8s %zmm23, %ymm22 {%k7}
+# INTEL: vcvtneph2bf8s ymm22 {k7}, zmm23
+0x62,0xa5,0x7e,0x4f,0x74,0xf7
+
+# ATT:   vcvtneph2bf8s %zmm23, %ymm22 {%k7} {z}
+# INTEL: vcvtneph2bf8s ymm22 {k7} {z}, zmm23
+0x62,0xa5,0x7e,0xcf,0x74,0xf7
+
+# ATT:   vcvtneph2bf8s %ymm23, %xmm22
+# INTEL: vcvtneph2bf8s xmm22, ymm23
+0x62,0xa5,0x7e,0x28,0x74,0xf7
+
+# ATT:   vcvtneph2bf8s %ymm23, %xmm22 {%k7}
+# INTEL: vcvtneph2bf8s xmm22 {k7}, ymm23
+0x62,0xa5,0x7e,0x2f,0x74,0xf7
+
+# ATT:   vcvtneph2bf8s %ymm23, %xmm22 {%k7} {z}
+# INTEL: vcvtneph2bf8s xmm22 {k7} {z}, ymm23
+0x62,0xa5,0x7e,0xaf,0x74,0xf7
+
+# ATT:   vcvtneph2bf8sx  268435456(%rbp,%r14,8), %xmm22
+# INTEL: vcvtneph2bf8s xmm22, xmmword ptr [rbp + 8*r14 + 268435456]
+0x62,0xa5,0x7e,0x08,0x74,0xb4,0xf5,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtneph2bf8sx  291(%r8,%rax,4), %xmm22 {%k7}
+# INTEL: vcvtneph2bf8s xmm22 {k7}, xmmword ptr [r8 + 4*rax + 291]
+0x62,0xc5,0x7e,0x0f,0x74,0xb4,0x80,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtneph2bf8s  (%rip){1to8}, %xmm22
+# INTEL: vcvtneph2bf8s xmm22, word ptr [rip]{1to8}
+0x62,0xe5,0x7e,0x18,0x74,0x35,0x00,0x00,0x00,0x00
+
+# ATT:   vcvtneph2bf8sx  -512(,%rbp,2), %xmm22
+# INTEL: vcvtneph2bf8s xmm22, xmmword ptr [2*rbp - 512]
+0x62,0xe5,0x7e,0x08,0x74,0x34,0x6d,0x00,0xfe,0xff,0xff
+
+# ATT:   vcvtneph2bf8sx  2032(%rcx), %xmm22 {%k7} {z}
+# INTEL: vcvtneph2bf8s xmm22 {k7} {z}, xmmword ptr [rcx + 2032]
+0x62,0xe5,0x7e,0x8f,0x74,0x71,0x7f
+
+# ATT:   vcvtneph2bf8s  -256(%rdx){1to8}, %xmm22 {%k7} {z}
+# INTEL: vcvtneph2bf8s xmm22 {k7} {z}, word ptr [rdx - 256]{1to8}
+0x62,0xe5,0x7e,0x9f,0x74,0x72,0x80
+
+# ATT:   vcvtneph2bf8s  (%rip){1to16}, %xmm22
+# INTEL: vcvtneph2bf8s xmm22, word ptr [rip]{1to16}
+0x62,0xe5,0x7e,0x38,0x74,0x35,0x00,0x00,0x00,0x00
+
+# ATT:   vcvtneph2bf8sy  -1024(,%rbp,2), %xmm22
+# INTEL: vcvtneph2bf8s xmm22, ymmword ptr [2*rbp - 1024]
+0x62,0xe5,0x7e,0x28,0x74,0x34,0x6d,0x00,0xfc,0xff,0xff
+
+# ATT:   vcvtneph2bf8sy  4064(%rcx), %xmm22 {%k7} {z}
+# INTEL: vcvtneph2bf8s xmm22 {k7} {z}, ymmword ptr [rcx + 4064]
+0x62,0xe5,0x7e,0xaf,0x74,0x71,0x7f
+
+# ATT:   vcvtneph2bf8s  -256(%rdx){1to16}, %xmm22 {%k7} {z}
+# INTEL: vcvtneph2bf8s xmm22 {k7} {z}, word ptr [rdx - 256]{1to16}
+0x62,0xe5,0x7e,0xbf,0x74,0x72,0x80
+
+# ATT:   vcvtneph2bf8s  268435456(%rbp,%r14,8), %ymm22
+# INTEL: vcvtneph2bf8s ymm22, zmmword ptr [rbp + 8*r14 + 268435456]
+0x62,0xa5,0x7e,0x48,0x74,0xb4,0xf5,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtneph2bf8s  291(%r8,%rax,4), %ymm22 {%k7}
+# INTEL: vcvtneph2bf8s ymm22 {k7}, zmmword ptr [r8 + 4*rax + 291]
+0x62,0xc5,0x7e,0x4f,0x74,0xb4,0x80,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtneph2bf8s  (%rip){1to32}, %ymm22
+# INTEL: vcvtneph2bf8s ymm22, word ptr [rip]{1to32}
+0x62,0xe5,0x7e,0x58,0x74,0x35,0x00,0x00,0x00,0x00
+
+# ATT:   vcvtneph2bf8s  -2048(,%rbp,2), %ymm22
+# INTEL: vcvtneph2bf8s ymm22, zmmword ptr [2*rbp - 2048]
+0x62,0xe5,0x7e,0x48,0x74,0x34,0x6d,0x00,0xf8,0xff,0xff
+
+# ATT:   vcvtneph2bf8s  8128(%rcx), %ymm22 {%k7} {z}
+# INTEL: vcvtneph2bf8s ymm22 {k7} {z}, zmmword ptr [rcx + 8128]
+0x62,0xe5,0x7e,0xcf,0x74,0x71,0x7f
+
+# ATT:   vcvtneph2bf8s  -256(%rdx){1to32}, %ymm22 {%k7} {z}
+# INTEL: vcvtneph2bf8s ymm22 {k7} {z}, word ptr [rdx - 256]{1to32}
+0x62,0xe5,0x7e,0xdf,0x74,0x72,0x80
+
+# ATT:   vcvtneph2hf8 %xmm23, %xmm22
+# INTEL: vcvtneph2hf8 xmm22, xmm23
+0x62,0xa5,0x7e,0x08,0x18,0xf7
+
+# ATT:   vcvtneph2hf8 %xmm23, %xmm22 {%k7}
+# INTEL: vcvtneph2hf8 xmm22 {k7}, xmm23
+0x62,0xa5,0x7e,0x0f,0x18,0xf7
+
+# ATT:   vcvtneph2hf8 %xmm23, %xmm22 {%k7} {z}
+# INTEL: vcvtneph2hf8 xmm22 {k7} {z}, xmm23
+0x62,0xa5,0x7e,0x8f,0x18,0xf7
+
+# ATT:   vcvtneph2hf8 %zmm23, %ymm22
+# INTEL: vcvtneph2hf8 ymm22, zmm23
+0x62,0xa5,0x7e,0x48,0x18,0xf7
+
+# ATT:   vcvtneph2hf8 %zmm23, %ymm22 {%k7}
+# INTEL: vcvtneph2hf8 ymm22 {k7}, zmm23
+0x62,0xa5,0x7e,0x4f,0x18,0xf7
+
+# ATT:   vcvtneph2hf8 %zmm23, %ymm22 {%k7} {z}
+# INTEL: vcvtneph2hf8 ymm22 {k7} {z}, zmm23
+0x62,0xa5,0x7e,0xcf,0x18,0xf7
+
+# ATT:   vcvtneph2hf8 %ymm23, %xmm22
+# INTEL: vcvtneph2hf8 xmm22, ymm23
+0x62,0xa5,0x7e,0x28,0x18,0xf7
+
+# ATT:   vcvtneph2hf8 %ymm23, %xmm22 {%k7}
+# INTEL: vcvtneph2hf8 xmm22 {k7}, ymm23
+0x62,0xa5,0x7e,0x2f,0x18,0xf7
+
+# ATT:   vcvtneph2hf8 %ymm23, %xmm22 {%k7} {z}
+# INTEL: vcvtneph2hf8 xmm22 {k7} {z}, ymm23
+0x62,0xa5,0x7e,0xaf,0x18,0xf7
+
+# ATT:   vcvtneph2hf8x  268435456(%rbp,%r14,8), %xmm22
+# INTEL: vcvtneph2hf8 xmm22, xmmword ptr [rbp + 8*r14 + 268435456]
+0x62,0xa5,0x7e,0x08,0x18,0xb4,0xf5,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtneph2hf8x  291(%r8,%rax,4), %xmm22 {%k7}
+# INTEL: vcvtneph2hf8 xmm22 {k7}, xmmword ptr [r8 + 4*rax + 291]
+0x62,0xc5,0x7e,0x0f,0x18,0xb4,0x80,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtneph2hf8  (%rip){1to8}, %xmm22
+# INTEL: vcvtneph2hf8 xmm22, word ptr [rip]{1to8}
+0x62,0xe5,0x7e,0x18,0x18,0x35,0x00,0x00,0x00,0x00
+
+# ATT:   vcvtneph2hf8x  -512(,%rbp,2), %xmm22
+# INTEL: vcvtneph2hf8 xmm22, xmmword ptr [2*rbp - 512]
+0x62,0xe5,0x7e,0x08,0x18,0x34,0x6d,0x00,0xfe,0xff,0xff
+
+# ATT:   vcvtneph2hf8x  2032(%rcx), %xmm22 {%k7} {z}
+# INTEL: vcvtneph2hf8 xmm22 {k7} {z}, xmmword ptr [rcx + 2032]
+0x62,0xe5,0x7e,0x8f,0x18,0x71,0x7f
+
+# ATT:   vcvtneph2hf8  -256(%rdx){1to8}, %xmm22 {%k7} {z}
+# INTEL: vcvtneph2hf8 xmm22 {k7} {z}, word ptr [rdx - 256]{1to8}
+0x62,0xe5,0x7e,0x9f,0x18,0x72,0x80
+
+# ATT:   vcvtneph2hf8  (%rip){1to16}, %xmm22
+# INTEL: vcvtneph2hf8 xmm22, word ptr [rip]{1to16}
+0x62,0xe5,0x7e,0x38,0x18,0x35,0x00,0x00,0x00,0x00
+
+# ATT:   vcvtneph2hf8y  -1024(,%rbp,2), %xmm22
+# INTEL: vcvtneph2hf8 xmm22, ymmword ptr [2*rbp - 1024]
+0x62,0xe5,0x7e,0x28,0x18,0x34,0x6d,0x00,0xfc,0xff,0xff
+
+# ATT:   vcvtneph2hf8y  4064(%rcx), %xmm22 {%k7} {z}
+# INTEL: vcvtneph2hf8 xmm22 {k7} {z}, ymmword ptr [rcx + 4064]
+0x62,0xe5,0x7e,0xaf,0x18,0x71,0x7f
+
+# ATT:   vcvtneph2hf8  -256(%rdx){1to16}, %xmm22 {%k7} {z}
+# INTEL: vcvtneph2hf8 xmm22 {k7} {z}, word ptr [rdx - 256]{1to16}
+0x62,0xe5,0x7e,0xbf,0x18,0x72,0x80
+
+# ATT:   vcvtneph2hf8  268435456(%rbp,%r14,8), %ymm22
+# INTEL: vcvtneph2hf8 ymm22, zmmword ptr [rbp + 8*r14 + 268435456]
+0x62,0xa5,0x7e,0x48,0x18,0xb4,0xf5,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtneph2hf8  291(%r8,%rax,4), %ymm22 {%k7}
+# INTEL: vcvtneph2hf8 ymm22 {k7}, zmmword ptr [r8 + 4*rax + 291]
+0x62,0xc5,0x7e,0x4f,0x18,0xb4,0x80,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtneph2hf8  (%rip){1to32}, %ymm22
+# INTEL: vcvtneph2hf8 ymm22, word ptr [rip]{1to32}
+0x62,0xe5,0x7e,0x58,0x18,0x35,0x00,0x00,0x00,0x00
+
+# ATT:   vcvtneph2hf8  -2048(,%rbp,2), %ymm22
+# INTEL: vcvtneph2hf8 ymm22, zmmword ptr [2*rbp - 2048]
+0x62,0xe5,0x7e,0x48,0x18,0x34,0x6d,0x00,0xf8,0xff,0xff
+
+# ATT:   vcvtneph2hf8  8128(%rcx), %ymm22 {%k7} {z}
+# INTEL: vcvtneph2hf8 ymm22 {k7} {z}, zmmword ptr [rcx + 8128]
+0x62,0xe5,0x7e,0xcf,0x18,0x71,0x7f
+
+# ATT:   vcvtneph2hf8  -256(%rdx){1to32}, %ymm22 {%k7} {z}
+# INTEL: vcvtneph2hf8 ymm22 {k7} {z}, word ptr [rdx - 256]{1to32}
+0x62,0xe5,0x7e,0xdf,0x18,0x72,0x80
+
+# ATT:   vcvtneph2hf8s %xmm23, %xmm22
+# INTEL: vcvtneph2hf8s xmm22, xmm23
+0x62,0xa5,0x7e,0x08,0x1b,0xf7
+
+# ATT:   vcvtneph2hf8s %xmm23, %xmm22 {%k7}
+# INTEL: vcvtneph2hf8s xmm22 {k7}, xmm23
+0x62,0xa5,0x7e,0x0f,0x1b,0xf7
+
+# ATT:   vcvtneph2hf8s %xmm23, %xmm22 {%k7} {z}
+# INTEL: vcvtneph2hf8s xmm22 {k7} {z}, xmm23
+0x62,0xa5,0x7e,0x8f,0x1b,0xf7
+
+# ATT:   vcvtneph2hf8s %zmm23, %ymm22
+# INTEL: vcvtneph2hf8s ymm22, zmm23
+0x62,0xa5,0x7e,0x48,0x1b,0xf7
+
+# ATT:   vcvtneph2hf8s %zmm23, %ymm22 {%k7}
+# INTEL: vcvtneph2hf8s ymm22 {k7}, zmm23
+0x62,0xa5,0x7e,0x4f,0x1b,0xf7
+
+# ATT:   vcvtneph2hf8s %zmm23, %ymm22 {%k7} {z}
+# INTEL: vcvtneph2hf8s ymm22 {k7} {z}, zmm23
+0x62,0xa5,0x7e,0xcf,0x1b,0xf7
+
+# ATT:   vcvtneph2hf8s %ymm23, %xmm22
+# INTEL: vcvtneph2hf8s xmm22, ymm23
+0x62,0xa5,0x7e,0x28,0x1b,0xf7
+
+# ATT:   vcvtneph2hf8s %ymm23, %xmm22 {%k7}
+# INTEL: vcvtneph2hf8s xmm22 {k7}, ymm23
+0x62,0xa5,0x7e,0x2f,0x1b,0xf7
+
+# ATT:   vcvtneph2hf8s %ymm23, %xmm22 {%k7} {z}
+# INTEL: vcvtneph2hf8s xmm22 {k7} {z}, ymm23
+0x62,0xa5,0x7e,0xaf,0x1b,0xf7
+
+# ATT:   vcvtneph2hf8sx  268435456(%rbp,%r14,8), %xmm22
+# INTEL: vcvtneph2hf8s xmm22, xmmword ptr [rbp + 8*r14 + 268435456]
+0x62,0xa5,0x7e,0x08,0x1b,0xb4,0xf5,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtneph2hf8sx  291(%r8,%rax,4), %xmm22 {%k7}
+# INTEL: vcvtneph2hf8s xmm22 {k7}, xmmword ptr [r8 + 4*rax + 291]
+0x62,0xc5,0x7e,0x0f,0x1b,0xb4,0x80,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtneph2hf8s  (%rip){1to8}, %xmm22
+# INTEL: vcvtneph2hf8s xmm22, word ptr [rip]{1to8}
+0x62,0xe5,0x7e,0x18,0x1b,0x35,0x00,0x00,0x00,0x00
+
+# ATT:   vcvtneph2hf8sx  -512(,%rbp,2), %xmm22
+# INTEL: vcvtneph2hf8s xmm22, xmmword ptr [2*rbp - 512]
+0x62,0xe5,0x7e,0x08,0x1b,0x34,0x6d,0x00,0xfe,0xff,0xff
+
+# ATT:   vcvtneph2hf8sx  2032(%rcx), %xmm22 {%k7} {z}
+# INTEL: vcvtneph2hf8s xmm22 {k7} {z}, xmmword ptr [rcx + 2032]
+0x62,0xe5,0x7e,0x8f,0x1b,0x71,0x7f
+
+# ATT:   vcvtneph2hf8s  -256(%rdx){1to8}, %xmm22 {%k7} {z}
+# INTEL: vcvtneph2hf8s xmm22 {k7} {z}, word ptr [rdx - 256]{1to8}
+0x62,0xe5,0x7e,0x9f,0x1b,0x72,0x80
+
+# ATT:   vcvtneph2hf8s  (%rip){1to16}, %xmm22
+# INTEL: vcvtneph2hf8s xmm22, word ptr [rip]{1to16}
+0x62,0xe5,0x7e,0x38,0x1b,0x35,0x00,0x00,0x00,0x00
+
+# ATT:   vcvtneph2hf8sy  -1024(,%rbp,2), %xmm22
+# INTEL: vcvtneph2hf8s xmm22, ymmword ptr [2*rbp - 1024]
+0x62,0xe5,0x7e,0x28,0x1b,0x34,0x6d,0x00,0xfc,0xff,0xff
+
+# ATT:   vcvtneph2hf8sy  4064(%rcx), %xmm22 {%k7} {z}
+# INTEL: vcvtneph2hf8s xmm22 {k7} {z}, ymmword ptr [rcx + 4064]
+0x62,0xe5,0x7e,0xaf,0x1b,0x71,0x7f
+
+# ATT:   vcvtneph2hf8s  -256(%rdx){1to16}, %xmm22 {%k7} {z}
+# INTEL: vcvtneph2hf8s xmm22 {k7} {z}, word ptr [rdx - 256]{1to16}
+0x62,0xe5,0x7e,0xbf,0x1b,0x72,0x80
+
+# ATT:   vcvtneph2hf8s  268435456(%rbp,%r14,8), %ymm22
+# INTEL: vcvtneph2hf8s ymm22, zmmword ptr [rbp + 8*r14 + 268435456]
+0x62,0xa5,0x7e,0x48,0x1b,0xb4,0xf5,0x00,0x00,0x00,0x10
+
+# ATT:   vcvtneph2hf8s  291(%r8,%rax,4), %ymm22 {%k7}
+# INTEL: vcvtneph2hf8s ymm22 {k7}, zmmword ptr [r8 + 4*rax + 291]
+0x62,0xc5,0x7e,0x4f,0x1b,0xb4,0x80,0x23,0x01,0x00,0x00
+
+# ATT:   vcvtneph2hf8s  (%rip){1to32}, %ymm22
+# INTEL: vcvtneph2hf8s ymm22, word ptr [rip]{1to32}
+0x62,0xe5,0x7e,0x58,0x1b,0x35,0x00,0x00,0x00,0x00
+
+# ATT:   vcvtneph2hf8s  -2048(,%rbp,2), %ymm22
+# INTEL: vcvtneph2hf8s ymm22, zmmword ptr [2*rbp - 2048]
+0x62,0xe5,0x7e,0x48,0x1b,0x34,0x6d,0x00,0xf8,0xff,0xff
+
+# ATT:   vcvtneph2hf8s  8128(%rcx), %ymm22 {%k7} {z}
+# INTEL: vcvtneph2hf8s ymm22 {k7} {z}, zmmword ptr [rcx + 8128]
+0x62,0xe5,0x7e,0xcf,0x1b,0x71,0x7f
+
+# ATT:   vcvtneph2hf8s  -256(%rdx){1to32}, %ymm22 {%k7} {z}
+# INTEL: vcvtneph2hf8s ymm22 {k7} {z}, word ptr [rdx - 256]{1to32}
+0x62,0xe5,0x7e,0xdf,0x1b,0x72,0x80
+
diff --git a/llvm/test/MC/X86/avx10.2convert-32-att.s b/llvm/test/MC/X86/avx10.2convert-32-att.s
new file mode 100644
index 0000000000000..beb4824557801
--- /dev/null
+++ b/llvm/test/MC/X86/avx10.2convert-32-att.s
@@ -0,0 +1,1490 @@
+// RUN: llvm-mc -triple i386 --show-encoding %s | FileCheck %s
+
+// CHECK: vcvt2ps2phx %ymm4, %ymm3, %ymm2
+// 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
+
+// CHECK: vcvt2ps2phx {rn-sae}, %zmm4, %zmm3, %zmm2
+// CHECK: encoding: [0x62,0xf2,0x65,0x18,0x67,0xd4]
+          vcvt2ps2phx {rn-sae}, %zmm4, %zmm3, %zmm2
+
+// CHECK: vcvt2ps2phx %zmm4, %zmm3, %zmm2 {%k7}
+// CHECK: encoding: [0x62,0xf2,0x65,0x4f,0x67,0xd4]
+          vcvt2ps2phx %zmm4, %zmm3, %zmm2 {%k7}
+
+// CHECK: vcvt2ps2phx {rz-sae}, %zmm4, %zmm3, %zmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf2,0x65,0xff,0x67,0xd4]
+          vcvt2ps2phx {rz-sae}, %zmm4, %zmm3, %zmm2 {%k7} {z}
+
+// CHECK: vcvt2ps2phx %xmm4, %xmm3, %xmm2
+// CHECK: encoding: [0x62,0xf2,0x65,0x08,0x67,0xd4]
+          vcvt2ps2phx %xmm4, %xmm3, %xmm2
+
+// CHECK: vcvt2ps2phx %xmm4, %xmm3, %xmm2 {%k7}
+// CHECK: encoding: [0x62,0xf2,0x65,0x0f,0x67,0xd4]
+          vcvt2ps2phx %xmm4, %xmm3, %xmm2 {%k7}
+
+// CHECK: vcvt2ps2phx %xmm4, %xmm3, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf2,0x65,0x8f,0x67,0xd4]
+          vcvt2ps2phx %xmm4, %xmm3, %xmm2 {%k7} {z}
+
+// CHECK: vcvt2ps2phx  268435456(%esp,%esi,8), %zmm3, %zmm2
+// CHECK: encoding: [0x62,0xf2,0x65,0x48,0x67,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvt2ps2phx  268435456(%esp,%esi,8), %zmm3, %zmm2
+
+// CHECK: vcvt2ps2phx  291(%edi,%eax,4), %zmm3, %zmm2 {%k7}
+// CHECK: encoding: [0x62,0xf2,0x65,0x4f,0x67,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvt2ps2phx  291(%edi,%eax,4), %zmm3, %zmm2 {%k7}
+
+// CHECK: vcvt2ps2phx  (%eax){1to16}, %zmm3, %zmm2
+// CHECK: encoding: [0x62,0xf2,0x65,0x58,0x67,0x10]
+          vcvt2ps2phx  (%eax){1to16}, %zmm3, %zmm2
+
+// CHECK: vcvt2ps2phx  -2048(,%ebp,2), %zmm3, %zmm2
+// CHECK: encoding: [0x62,0xf2,0x65,0x48,0x67,0x14,0x6d,0x00,0xf8,0xff,0xff]
+          vcvt2ps2phx  -2048(,%ebp,2), %zmm3, %zmm2
+
+// CHECK: vcvt2ps2phx  8128(%ecx), %zmm3, %zmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf2,0x65,0xcf,0x67,0x51,0x7f]
+          vcvt2ps2phx  8128(%ecx), %zmm3, %zmm2 {%k7} {z}
+
+// CHECK: vcvt2ps2phx  -512(%edx){1to16}, %zmm3, %zmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf2,0x65,0xdf,0x67,0x52,0x80]
+          vcvt2ps2phx  -512(%edx){1to16}, %zmm3, %zmm2 {%k7} {z}
+
+// CHECK: vcvt2ps2phx  268435456(%esp,%esi,8), %ymm3, %ymm2
+// CHECK: encoding: [0x62,0xf2,0x65,0x28,0x67,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvt2ps2phx  268435456(%esp,%esi,8), %ymm3, %ymm2
+
+// CHECK: vcvt2ps2phx  291(%edi,%eax,4), %ymm3, %ymm2 {%k7}
+// CHECK: encoding: [0x62,0xf2,0x65,0x2f,0x67,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvt2ps2phx  291(%edi,%eax,4), %ymm3, %ymm2 {%k7}
+
+// CHECK: vcvt2ps2phx  (%eax){1to8}, %ymm3, %ymm2
+// CHECK: encoding: [0x62,0xf2,0x65,0x38,0x67,0x10]
+          vcvt2ps2phx  (%eax){1to8}, %ymm3, %ymm2
+
+// CHECK: vcvt2ps2phx  -1024(,%ebp,2), %ymm3, %ymm2
+// CHECK: encoding: [0x62,0xf2,0x65,0x28,0x67,0x14,0x6d,0x00,0xfc,0xff,0xff]
+          vcvt2ps2phx  -1024(,%ebp,2), %ymm3, %ymm2
+
+// CHECK: vcvt2ps2phx  4064(%ecx), %ymm3, %ymm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf2,0x65,0xaf,0x67,0x51,0x7f]
+          vcvt2ps2phx  4064(%ecx), %ymm3, %ymm2 {%k7} {z}
+
+// CHECK: vcvt2ps2phx  -512(%edx){1to8}, %ymm3, %ymm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf2,0x65,0xbf,0x67,0x52,0x80]
+          vcvt2ps2phx  -512(%edx){1to8}, %ymm3, %ymm2 {%k7} {z}
+
+// CHECK: vcvt2ps2phx  268435456(%esp,%esi,8), %xmm3, %xmm2
+// CHECK: encoding: [0x62,0xf2,0x65,0x08,0x67,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvt2ps2phx  268435456(%esp,%esi,8), %xmm3, %xmm2
+
+// CHECK: vcvt2ps2phx  291(%edi,%eax,4), %xmm3, %xmm2 {%k7}
+// CHECK: encoding: [0x62,0xf2,0x65,0x0f,0x67,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvt2ps2phx  291(%edi,%eax,4), %xmm3, %xmm2 {%k7}
+
+// CHECK: vcvt2ps2phx  (%eax){1to4}, %xmm3, %xmm2
+// CHECK: encoding: [0x62,0xf2,0x65,0x18,0x67,0x10]
+          vcvt2ps2phx  (%eax){1to4}, %xmm3, %xmm2
+
+// CHECK: vcvt2ps2phx  -512(,%ebp,2), %xmm3, %xmm2
+// CHECK: encoding: [0x62,0xf2,0x65,0x08,0x67,0x14,0x6d,0x00,0xfe,0xff,0xff]
+          vcvt2ps2phx  -512(,%ebp,2), %xmm3, %xmm2
+
+// CHECK: vcvt2ps2phx  2032(%ecx), %xmm3, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf2,0x65,0x8f,0x67,0x51,0x7f]
+          vcvt2ps2phx  2032(%ecx), %xmm3, %xmm2 {%k7} {z}
+
+// CHECK: vcvt2ps2phx  -512(%edx){1to4}, %xmm3, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf2,0x65,0x9f,0x67,0x52,0x80]
+          vcvt2ps2phx  -512(%edx){1to4}, %xmm3, %xmm2 {%k7} {z}
+
+// CHECK: vcvtbiasph2bf8 %zmm4, %zmm3, %ymm2
+// CHECK: encoding: [0x62,0xf2,0x64,0x48,0x74,0xd4]
+          vcvtbiasph2bf8 %zmm4, %zmm3, %ymm2
+
+// CHECK: vcvtbiasph2bf8 %zmm4, %zmm3, %ymm2 {%k7}
+// CHECK: encoding: [0x62,0xf2,0x64,0x4f,0x74,0xd4]
+          vcvtbiasph2bf8 %zmm4, %zmm3, %ymm2 {%k7}
+
+// CHECK: vcvtbiasph2bf8 %zmm4, %zmm3, %ymm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf2,0x64,0xcf,0x74,0xd4]
+          vcvtbiasph2bf8 %zmm4, %zmm3, %ymm2 {%k7} {z}
+
+// CHECK: vcvtbiasph2bf8 %xmm4, %xmm3, %xmm2
+// CHECK: encoding: [0x62,0xf2,0x64,0x08,0x74,0xd4]
+          vcvtbiasph2bf8 %xmm4, %xmm3, %xmm2
+
+// CHECK: vcvtbiasph2bf8 %xmm4, %xmm3, %xmm2 {%k7}
+// CHECK: encoding: [0x62,0xf2,0x64,0x0f,0x74,0xd4]
+          vcvtbiasph2bf8 %xmm4, %xmm3, %xmm2 {%k7}
+
+// CHECK: vcvtbiasph2bf8 %xmm4, %xmm3, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf2,0x64,0x8f,0x74,0xd4]
+          vcvtbiasph2bf8 %xmm4, %xmm3, %xmm2 {%k7} {z}
+
+// CHECK: vcvtbiasph2bf8 %ymm4, %ymm3, %xmm2
+// CHECK: encoding: [0x62,0xf2,0x64,0x28,0x74,0xd4]
+          vcvtbiasph2bf8 %ymm4, %ymm3, %xmm2
+
+// CHECK: vcvtbiasph2bf8 %ymm4, %ymm3, %xmm2 {%k7}
+// CHECK: encoding: [0x62,0xf2,0x64,0x2f,0x74,0xd4]
+          vcvtbiasph2bf8 %ymm4, %ymm3, %xmm2 {%k7}
+
+// CHECK: vcvtbiasph2bf8 %ymm4, %ymm3, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf2,0x64,0xaf,0x74,0xd4]
+          vcvtbiasph2bf8 %ymm4, %ymm3, %xmm2 {%k7} {z}
+
+// CHECK: vcvtbiasph2bf8  268435456(%esp,%esi,8), %ymm3, %xmm2
+// CHECK: encoding: [0x62,0xf2,0x64,0x28,0x74,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtbiasph2bf8  268435456(%esp,%esi,8), %ymm3, %xmm2
+
+// CHECK: vcvtbiasph2bf8  291(%edi,%eax,4), %ymm3, %xmm2 {%k7}
+// CHECK: encoding: [0x62,0xf2,0x64,0x2f,0x74,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtbiasph2bf8  291(%edi,%eax,4), %ymm3, %xmm2 {%k7}
+
+// CHECK: vcvtbiasph2bf8  (%eax){1to16}, %ymm3, %xmm2
+// CHECK: encoding: [0x62,0xf2,0x64,0x38,0x74,0x10]
+          vcvtbiasph2bf8  (%eax){1to16}, %ymm3, %xmm2
+
+// CHECK: vcvtbiasph2bf8  -1024(,%ebp,2), %ymm3, %xmm2
+// CHECK: encoding: [0x62,0xf2,0x64,0x28,0x74,0x14,0x6d,0x00,0xfc,0xff,0xff]
+          vcvtbiasph2bf8  -1024(,%ebp,2), %ymm3, %xmm2
+
+// CHECK: vcvtbiasph2bf8  4064(%ecx), %ymm3, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf2,0x64,0xaf,0x74,0x51,0x7f]
+          vcvtbiasph2bf8  4064(%ecx), %ymm3, %xmm2 {%k7} {z}
+
+// CHECK: vcvtbiasph2bf8  -256(%edx){1to16}, %ymm3, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf2,0x64,0xbf,0x74,0x52,0x80]
+          vcvtbiasph2bf8  -256(%edx){1to16}, %ymm3, %xmm2 {%k7} {z}
+
+// CHECK: vcvtbiasph2bf8  268435456(%esp,%esi,8), %zmm3, %ymm2
+// CHECK: encoding: [0x62,0xf2,0x64,0x48,0x74,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtbiasph2bf8  268435456(%esp,%esi,8), %zmm3, %ymm2
+
+// CHECK: vcvtbiasph2bf8  291(%edi,%eax,4), %zmm3, %ymm2 {%k7}
+// CHECK: encoding: [0x62,0xf2,0x64,0x4f,0x74,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtbiasph2bf8  291(%edi,%eax,4), %zmm3, %ymm2 {%k7}
+
+// CHECK: vcvtbiasph2bf8  (%eax){1to32}, %zmm3, %ymm2
+// CHECK: encoding: [0x62,0xf2,0x64,0x58,0x74,0x10]
+          vcvtbiasph2bf8  (%eax){1to32}, %zmm3, %ymm2
+
+// CHECK: vcvtbiasph2bf8  -2048(,%ebp,2), %zmm3, %ymm2
+// CHECK: encoding: [0x62,0xf2,0x64,0x48,0x74,0x14,0x6d,0x00,0xf8,0xff,0xff]
+          vcvtbiasph2bf8  -2048(,%ebp,2), %zmm3, %ymm2
+
+// CHECK: vcvtbiasph2bf8  8128(%ecx), %zmm3, %ymm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf2,0x64,0xcf,0x74,0x51,0x7f]
+          vcvtbiasph2bf8  8128(%ecx), %zmm3, %ymm2 {%k7} {z}
+
+// CHECK: vcvtbiasph2bf8  -256(%edx){1to32}, %zmm3, %ymm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf2,0x64,0xdf,0x74,0x52,0x80]
+          vcvtbiasph2bf8  -256(%edx){1to32}, %zmm3, %ymm2 {%k7} {z}
+
+// CHECK: vcvtbiasph2bf8  268435456(%esp,%esi,8), %xmm3, %xmm2
+// CHECK: encoding: [0x62,0xf2,0x64,0x08,0x74,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtbiasph2bf8  268435456(%esp,%esi,8), %xmm3, %xmm2
+
+// CHECK: vcvtbiasph2bf8  291(%edi,%eax,4), %xmm3, %xmm2 {%k7}
+// CHECK: encoding: [0x62,0xf2,0x64,0x0f,0x74,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtbiasph2bf8  291(%edi,%eax,4), %xmm3, %xmm2 {%k7}
+
+// CHECK: vcvtbiasph2bf8  (%eax){1to8}, %xmm3, %xmm2
+// CHECK: encoding: [0x62,0xf2,0x64,0x18,0x74,0x10]
+          vcvtbiasph2bf8  (%eax){1to8}, %xmm3, %xmm2
+
+// CHECK: vcvtbiasph2bf8  -512(,%ebp,2), %xmm3, %xmm2
+// CHECK: encoding: [0x62,0xf2,0x64,0x08,0x74,0x14,0x6d,0x00,0xfe,0xff,0xff]
+          vcvtbiasph2bf8  -512(,%ebp,2), %xmm3, %xmm2
+
+// CHECK: vcvtbiasph2bf8  2032(%ecx), %xmm3, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf2,0x64,0x8f,0x74,0x51,0x7f]
+          vcvtbiasph2bf8  2032(%ecx), %xmm3, %xmm2 {%k7} {z}
+
+// CHECK: vcvtbiasph2bf8  -256(%edx){1to8}, %xmm3, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf2,0x64,0x9f,0x74,0x52,0x80]
+          vcvtbiasph2bf8  -256(%edx){1to8}, %xmm3, %xmm2 {%k7} {z}
+
+// CHECK: vcvtbiasph2bf8s %zmm4, %zmm3, %ymm2
+// CHECK: encoding: [0x62,0xf5,0x64,0x48,0x74,0xd4]
+          vcvtbiasph2bf8s %zmm4, %zmm3, %ymm2
+
+// CHECK: vcvtbiasph2bf8s %zmm4, %zmm3, %ymm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x64,0x4f,0x74,0xd4]
+          vcvtbiasph2bf8s %zmm4, %zmm3, %ymm2 {%k7}
+
+// CHECK: vcvtbiasph2bf8s %zmm4, %zmm3, %ymm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x64,0xcf,0x74,0xd4]
+          vcvtbiasph2bf8s %zmm4, %zmm3, %ymm2 {%k7} {z}
+
+// CHECK: vcvtbiasph2bf8s %xmm4, %xmm3, %xmm2
+// CHECK: encoding: [0x62,0xf5,0x64,0x08,0x74,0xd4]
+          vcvtbiasph2bf8s %xmm4, %xmm3, %xmm2
+
+// CHECK: vcvtbiasph2bf8s %xmm4, %xmm3, %xmm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x64,0x0f,0x74,0xd4]
+          vcvtbiasph2bf8s %xmm4, %xmm3, %xmm2 {%k7}
+
+// CHECK: vcvtbiasph2bf8s %xmm4, %xmm3, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x64,0x8f,0x74,0xd4]
+          vcvtbiasph2bf8s %xmm4, %xmm3, %xmm2 {%k7} {z}
+
+// CHECK: vcvtbiasph2bf8s %ymm4, %ymm3, %xmm2
+// CHECK: encoding: [0x62,0xf5,0x64,0x28,0x74,0xd4]
+          vcvtbiasph2bf8s %ymm4, %ymm3, %xmm2
+
+// CHECK: vcvtbiasph2bf8s %ymm4, %ymm3, %xmm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x64,0x2f,0x74,0xd4]
+          vcvtbiasph2bf8s %ymm4, %ymm3, %xmm2 {%k7}
+
+// CHECK: vcvtbiasph2bf8s %ymm4, %ymm3, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x64,0xaf,0x74,0xd4]
+          vcvtbiasph2bf8s %ymm4, %ymm3, %xmm2 {%k7} {z}
+
+// CHECK: vcvtbiasph2bf8s  268435456(%esp,%esi,8), %ymm3, %xmm2
+// CHECK: encoding: [0x62,0xf5,0x64,0x28,0x74,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtbiasph2bf8s  268435456(%esp,%esi,8), %ymm3, %xmm2
+
+// CHECK: vcvtbiasph2bf8s  291(%edi,%eax,4), %ymm3, %xmm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x64,0x2f,0x74,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtbiasph2bf8s  291(%edi,%eax,4), %ymm3, %xmm2 {%k7}
+
+// CHECK: vcvtbiasph2bf8s  (%eax){1to16}, %ymm3, %xmm2
+// CHECK: encoding: [0x62,0xf5,0x64,0x38,0x74,0x10]
+          vcvtbiasph2bf8s  (%eax){1to16}, %ymm3, %xmm2
+
+// CHECK: vcvtbiasph2bf8s  -1024(,%ebp,2), %ymm3, %xmm2
+// CHECK: encoding: [0x62,0xf5,0x64,0x28,0x74,0x14,0x6d,0x00,0xfc,0xff,0xff]
+          vcvtbiasph2bf8s  -1024(,%ebp,2), %ymm3, %xmm2
+
+// CHECK: vcvtbiasph2bf8s  4064(%ecx), %ymm3, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x64,0xaf,0x74,0x51,0x7f]
+          vcvtbiasph2bf8s  4064(%ecx), %ymm3, %xmm2 {%k7} {z}
+
+// CHECK: vcvtbiasph2bf8s  -256(%edx){1to16}, %ymm3, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x64,0xbf,0x74,0x52,0x80]
+          vcvtbiasph2bf8s  -256(%edx){1to16}, %ymm3, %xmm2 {%k7} {z}
+
+// CHECK: vcvtbiasph2bf8s  268435456(%esp,%esi,8), %zmm3, %ymm2
+// CHECK: encoding: [0x62,0xf5,0x64,0x48,0x74,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtbiasph2bf8s  268435456(%esp,%esi,8), %zmm3, %ymm2
+
+// CHECK: vcvtbiasph2bf8s  291(%edi,%eax,4), %zmm3, %ymm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x64,0x4f,0x74,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtbiasph2bf8s  291(%edi,%eax,4), %zmm3, %ymm2 {%k7}
+
+// CHECK: vcvtbiasph2bf8s  (%eax){1to32}, %zmm3, %ymm2
+// CHECK: encoding: [0x62,0xf5,0x64,0x58,0x74,0x10]
+          vcvtbiasph2bf8s  (%eax){1to32}, %zmm3, %ymm2
+
+// CHECK: vcvtbiasph2bf8s  -2048(,%ebp,2), %zmm3, %ymm2
+// CHECK: encoding: [0x62,0xf5,0x64,0x48,0x74,0x14,0x6d,0x00,0xf8,0xff,0xff]
+          vcvtbiasph2bf8s  -2048(,%ebp,2), %zmm3, %ymm2
+
+// CHECK: vcvtbiasph2bf8s  8128(%ecx), %zmm3, %ymm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x64,0xcf,0x74,0x51,0x7f]
+          vcvtbiasph2bf8s  8128(%ecx), %zmm3, %ymm2 {%k7} {z}
+
+// CHECK: vcvtbiasph2bf8s  -256(%edx){1to32}, %zmm3, %ymm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x64,0xdf,0x74,0x52,0x80]
+          vcvtbiasph2bf8s  -256(%edx){1to32}, %zmm3, %ymm2 {%k7} {z}
+
+// CHECK: vcvtbiasph2bf8s  268435456(%esp,%esi,8), %xmm3, %xmm2
+// CHECK: encoding: [0x62,0xf5,0x64,0x08,0x74,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtbiasph2bf8s  268435456(%esp,%esi,8), %xmm3, %xmm2
+
+// CHECK: vcvtbiasph2bf8s  291(%edi,%eax,4), %xmm3, %xmm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x64,0x0f,0x74,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtbiasph2bf8s  291(%edi,%eax,4), %xmm3, %xmm2 {%k7}
+
+// CHECK: vcvtbiasph2bf8s  (%eax){1to8}, %xmm3, %xmm2
+// CHECK: encoding: [0x62,0xf5,0x64,0x18,0x74,0x10]
+          vcvtbiasph2bf8s  (%eax){1to8}, %xmm3, %xmm2
+
+// CHECK: vcvtbiasph2bf8s  -512(,%ebp,2), %xmm3, %xmm2
+// CHECK: encoding: [0x62,0xf5,0x64,0x08,0x74,0x14,0x6d,0x00,0xfe,0xff,0xff]
+          vcvtbiasph2bf8s  -512(,%ebp,2), %xmm3, %xmm2
+
+// CHECK: vcvtbiasph2bf8s  2032(%ecx), %xmm3, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x64,0x8f,0x74,0x51,0x7f]
+          vcvtbiasph2bf8s  2032(%ecx), %xmm3, %xmm2 {%k7} {z}
+
+// CHECK: vcvtbiasph2bf8s  -256(%edx){1to8}, %xmm3, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x64,0x9f,0x74,0x52,0x80]
+          vcvtbiasph2bf8s  -256(%edx){1to8}, %xmm3, %xmm2 {%k7} {z}
+
+// CHECK: vcvtbiasph2hf8 %zmm4, %zmm3, %ymm2
+// CHECK: encoding: [0x62,0xf5,0x64,0x48,0x18,0xd4]
+          vcvtbiasph2hf8 %zmm4, %zmm3, %ymm2
+
+// CHECK: vcvtbiasph2hf8 %zmm4, %zmm3, %ymm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x64,0x4f,0x18,0xd4]
+          vcvtbiasph2hf8 %zmm4, %zmm3, %ymm2 {%k7}
+
+// CHECK: vcvtbiasph2hf8 %zmm4, %zmm3, %ymm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x64,0xcf,0x18,0xd4]
+          vcvtbiasph2hf8 %zmm4, %zmm3, %ymm2 {%k7} {z}
+
+// CHECK: vcvtbiasph2hf8 %xmm4, %xmm3, %xmm2
+// CHECK: encoding: [0x62,0xf5,0x64,0x08,0x18,0xd4]
+          vcvtbiasph2hf8 %xmm4, %xmm3, %xmm2
+
+// CHECK: vcvtbiasph2hf8 %xmm4, %xmm3, %xmm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x64,0x0f,0x18,0xd4]
+          vcvtbiasph2hf8 %xmm4, %xmm3, %xmm2 {%k7}
+
+// CHECK: vcvtbiasph2hf8 %xmm4, %xmm3, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x64,0x8f,0x18,0xd4]
+          vcvtbiasph2hf8 %xmm4, %xmm3, %xmm2 {%k7} {z}
+
+// CHECK: vcvtbiasph2hf8 %ymm4, %ymm3, %xmm2
+// CHECK: encoding: [0x62,0xf5,0x64,0x28,0x18,0xd4]
+          vcvtbiasph2hf8 %ymm4, %ymm3, %xmm2
+
+// CHECK: vcvtbiasph2hf8 %ymm4, %ymm3, %xmm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x64,0x2f,0x18,0xd4]
+          vcvtbiasph2hf8 %ymm4, %ymm3, %xmm2 {%k7}
+
+// CHECK: vcvtbiasph2hf8 %ymm4, %ymm3, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x64,0xaf,0x18,0xd4]
+          vcvtbiasph2hf8 %ymm4, %ymm3, %xmm2 {%k7} {z}
+
+// CHECK: vcvtbiasph2hf8  268435456(%esp,%esi,8), %ymm3, %xmm2
+// CHECK: encoding: [0x62,0xf5,0x64,0x28,0x18,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtbiasph2hf8  268435456(%esp,%esi,8), %ymm3, %xmm2
+
+// CHECK: vcvtbiasph2hf8  291(%edi,%eax,4), %ymm3, %xmm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x64,0x2f,0x18,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtbiasph2hf8  291(%edi,%eax,4), %ymm3, %xmm2 {%k7}
+
+// CHECK: vcvtbiasph2hf8  (%eax){1to16}, %ymm3, %xmm2
+// CHECK: encoding: [0x62,0xf5,0x64,0x38,0x18,0x10]
+          vcvtbiasph2hf8  (%eax){1to16}, %ymm3, %xmm2
+
+// CHECK: vcvtbiasph2hf8  -1024(,%ebp,2), %ymm3, %xmm2
+// CHECK: encoding: [0x62,0xf5,0x64,0x28,0x18,0x14,0x6d,0x00,0xfc,0xff,0xff]
+          vcvtbiasph2hf8  -1024(,%ebp,2), %ymm3, %xmm2
+
+// CHECK: vcvtbiasph2hf8  4064(%ecx), %ymm3, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x64,0xaf,0x18,0x51,0x7f]
+          vcvtbiasph2hf8  4064(%ecx), %ymm3, %xmm2 {%k7} {z}
+
+// CHECK: vcvtbiasph2hf8  -256(%edx){1to16}, %ymm3, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x64,0xbf,0x18,0x52,0x80]
+          vcvtbiasph2hf8  -256(%edx){1to16}, %ymm3, %xmm2 {%k7} {z}
+
+// CHECK: vcvtbiasph2hf8  268435456(%esp,%esi,8), %zmm3, %ymm2
+// CHECK: encoding: [0x62,0xf5,0x64,0x48,0x18,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtbiasph2hf8  268435456(%esp,%esi,8), %zmm3, %ymm2
+
+// CHECK: vcvtbiasph2hf8  291(%edi,%eax,4), %zmm3, %ymm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x64,0x4f,0x18,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtbiasph2hf8  291(%edi,%eax,4), %zmm3, %ymm2 {%k7}
+
+// CHECK: vcvtbiasph2hf8  (%eax){1to32}, %zmm3, %ymm2
+// CHECK: encoding: [0x62,0xf5,0x64,0x58,0x18,0x10]
+          vcvtbiasph2hf8  (%eax){1to32}, %zmm3, %ymm2
+
+// CHECK: vcvtbiasph2hf8  -2048(,%ebp,2), %zmm3, %ymm2
+// CHECK: encoding: [0x62,0xf5,0x64,0x48,0x18,0x14,0x6d,0x00,0xf8,0xff,0xff]
+          vcvtbiasph2hf8  -2048(,%ebp,2), %zmm3, %ymm2
+
+// CHECK: vcvtbiasph2hf8  8128(%ecx), %zmm3, %ymm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x64,0xcf,0x18,0x51,0x7f]
+          vcvtbiasph2hf8  8128(%ecx), %zmm3, %ymm2 {%k7} {z}
+
+// CHECK: vcvtbiasph2hf8  -256(%edx){1to32}, %zmm3, %ymm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x64,0xdf,0x18,0x52,0x80]
+          vcvtbiasph2hf8  -256(%edx){1to32}, %zmm3, %ymm2 {%k7} {z}
+
+// CHECK: vcvtbiasph2hf8  268435456(%esp,%esi,8), %xmm3, %xmm2
+// CHECK: encoding: [0x62,0xf5,0x64,0x08,0x18,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtbiasph2hf8  268435456(%esp,%esi,8), %xmm3, %xmm2
+
+// CHECK: vcvtbiasph2hf8  291(%edi,%eax,4), %xmm3, %xmm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x64,0x0f,0x18,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtbiasph2hf8  291(%edi,%eax,4), %xmm3, %xmm2 {%k7}
+
+// CHECK: vcvtbiasph2hf8  (%eax){1to8}, %xmm3, %xmm2
+// CHECK: encoding: [0x62,0xf5,0x64,0x18,0x18,0x10]
+          vcvtbiasph2hf8  (%eax){1to8}, %xmm3, %xmm2
+
+// CHECK: vcvtbiasph2hf8  -512(,%ebp,2), %xmm3, %xmm2
+// CHECK: encoding: [0x62,0xf5,0x64,0x08,0x18,0x14,0x6d,0x00,0xfe,0xff,0xff]
+          vcvtbiasph2hf8  -512(,%ebp,2), %xmm3, %xmm2
+
+// CHECK: vcvtbiasph2hf8  2032(%ecx), %xmm3, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x64,0x8f,0x18,0x51,0x7f]
+          vcvtbiasph2hf8  2032(%ecx), %xmm3, %xmm2 {%k7} {z}
+
+// CHECK: vcvtbiasph2hf8  -256(%edx){1to8}, %xmm3, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x64,0x9f,0x18,0x52,0x80]
+          vcvtbiasph2hf8  -256(%edx){1to8}, %xmm3, %xmm2 {%k7} {z}
+
+// CHECK: vcvtbiasph2hf8s %zmm4, %zmm3, %ymm2
+// CHECK: encoding: [0x62,0xf5,0x64,0x48,0x1b,0xd4]
+          vcvtbiasph2hf8s %zmm4, %zmm3, %ymm2
+
+// CHECK: vcvtbiasph2hf8s %zmm4, %zmm3, %ymm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x64,0x4f,0x1b,0xd4]
+          vcvtbiasph2hf8s %zmm4, %zmm3, %ymm2 {%k7}
+
+// CHECK: vcvtbiasph2hf8s %zmm4, %zmm3, %ymm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x64,0xcf,0x1b,0xd4]
+          vcvtbiasph2hf8s %zmm4, %zmm3, %ymm2 {%k7} {z}
+
+// CHECK: vcvtbiasph2hf8s %xmm4, %xmm3, %xmm2
+// CHECK: encoding: [0x62,0xf5,0x64,0x08,0x1b,0xd4]
+          vcvtbiasph2hf8s %xmm4, %xmm3, %xmm2
+
+// CHECK: vcvtbiasph2hf8s %xmm4, %xmm3, %xmm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x64,0x0f,0x1b,0xd4]
+          vcvtbiasph2hf8s %xmm4, %xmm3, %xmm2 {%k7}
+
+// CHECK: vcvtbiasph2hf8s %xmm4, %xmm3, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x64,0x8f,0x1b,0xd4]
+          vcvtbiasph2hf8s %xmm4, %xmm3, %xmm2 {%k7} {z}
+
+// CHECK: vcvtbiasph2hf8s %ymm4, %ymm3, %xmm2
+// CHECK: encoding: [0x62,0xf5,0x64,0x28,0x1b,0xd4]
+          vcvtbiasph2hf8s %ymm4, %ymm3, %xmm2
+
+// CHECK: vcvtbiasph2hf8s %ymm4, %ymm3, %xmm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x64,0x2f,0x1b,0xd4]
+          vcvtbiasph2hf8s %ymm4, %ymm3, %xmm2 {%k7}
+
+// CHECK: vcvtbiasph2hf8s %ymm4, %ymm3, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x64,0xaf,0x1b,0xd4]
+          vcvtbiasph2hf8s %ymm4, %ymm3, %xmm2 {%k7} {z}
+
+// CHECK: vcvtbiasph2hf8s  268435456(%esp,%esi,8), %ymm3, %xmm2
+// CHECK: encoding: [0x62,0xf5,0x64,0x28,0x1b,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtbiasph2hf8s  268435456(%esp,%esi,8), %ymm3, %xmm2
+
+// CHECK: vcvtbiasph2hf8s  291(%edi,%eax,4), %ymm3, %xmm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x64,0x2f,0x1b,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtbiasph2hf8s  291(%edi,%eax,4), %ymm3, %xmm2 {%k7}
+
+// CHECK: vcvtbiasph2hf8s  (%eax){1to16}, %ymm3, %xmm2
+// CHECK: encoding: [0x62,0xf5,0x64,0x38,0x1b,0x10]
+          vcvtbiasph2hf8s  (%eax){1to16}, %ymm3, %xmm2
+
+// CHECK: vcvtbiasph2hf8s  -1024(,%ebp,2), %ymm3, %xmm2
+// CHECK: encoding: [0x62,0xf5,0x64,0x28,0x1b,0x14,0x6d,0x00,0xfc,0xff,0xff]
+          vcvtbiasph2hf8s  -1024(,%ebp,2), %ymm3, %xmm2
+
+// CHECK: vcvtbiasph2hf8s  4064(%ecx), %ymm3, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x64,0xaf,0x1b,0x51,0x7f]
+          vcvtbiasph2hf8s  4064(%ecx), %ymm3, %xmm2 {%k7} {z}
+
+// CHECK: vcvtbiasph2hf8s  -256(%edx){1to16}, %ymm3, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x64,0xbf,0x1b,0x52,0x80]
+          vcvtbiasph2hf8s  -256(%edx){1to16}, %ymm3, %xmm2 {%k7} {z}
+
+// CHECK: vcvtbiasph2hf8s  268435456(%esp,%esi,8), %zmm3, %ymm2
+// CHECK: encoding: [0x62,0xf5,0x64,0x48,0x1b,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtbiasph2hf8s  268435456(%esp,%esi,8), %zmm3, %ymm2
+
+// CHECK: vcvtbiasph2hf8s  291(%edi,%eax,4), %zmm3, %ymm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x64,0x4f,0x1b,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtbiasph2hf8s  291(%edi,%eax,4), %zmm3, %ymm2 {%k7}
+
+// CHECK: vcvtbiasph2hf8s  (%eax){1to32}, %zmm3, %ymm2
+// CHECK: encoding: [0x62,0xf5,0x64,0x58,0x1b,0x10]
+          vcvtbiasph2hf8s  (%eax){1to32}, %zmm3, %ymm2
+
+// CHECK: vcvtbiasph2hf8s  -2048(,%ebp,2), %zmm3, %ymm2
+// CHECK: encoding: [0x62,0xf5,0x64,0x48,0x1b,0x14,0x6d,0x00,0xf8,0xff,0xff]
+          vcvtbiasph2hf8s  -2048(,%ebp,2), %zmm3, %ymm2
+
+// CHECK: vcvtbiasph2hf8s  8128(%ecx), %zmm3, %ymm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x64,0xcf,0x1b,0x51,0x7f]
+          vcvtbiasph2hf8s  8128(%ecx), %zmm3, %ymm2 {%k7} {z}
+
+// CHECK: vcvtbiasph2hf8s  -256(%edx){1to32}, %zmm3, %ymm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x64,0xdf,0x1b,0x52,0x80]
+          vcvtbiasph2hf8s  -256(%edx){1to32}, %zmm3, %ymm2 {%k7} {z}
+
+// CHECK: vcvtbiasph2hf8s  268435456(%esp,%esi,8), %xmm3, %xmm2
+// CHECK: encoding: [0x62,0xf5,0x64,0x08,0x1b,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtbiasph2hf8s  268435456(%esp,%esi,8), %xmm3, %xmm2
+
+// CHECK: vcvtbiasph2hf8s  291(%edi,%eax,4), %xmm3, %xmm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x64,0x0f,0x1b,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtbiasph2hf8s  291(%edi,%eax,4), %xmm3, %xmm2 {%k7}
+
+// CHECK: vcvtbiasph2hf8s  (%eax){1to8}, %xmm3, %xmm2
+// CHECK: encoding: [0x62,0xf5,0x64,0x18,0x1b,0x10]
+          vcvtbiasph2hf8s  (%eax){1to8}, %xmm3, %xmm2
+
+// CHECK: vcvtbiasph2hf8s  -512(,%ebp,2), %xmm3, %xmm2
+// CHECK: encoding: [0x62,0xf5,0x64,0x08,0x1b,0x14,0x6d,0x00,0xfe,0xff,0xff]
+          vcvtbiasph2hf8s  -512(,%ebp,2), %xmm3, %xmm2
+
+// CHECK: vcvtbiasph2hf8s  2032(%ecx), %xmm3, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x64,0x8f,0x1b,0x51,0x7f]
+          vcvtbiasph2hf8s  2032(%ecx), %xmm3, %xmm2 {%k7} {z}
+
+// CHECK: vcvtbiasph2hf8s  -256(%edx){1to8}, %xmm3, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x64,0x9f,0x1b,0x52,0x80]
+          vcvtbiasph2hf8s  -256(%edx){1to8}, %xmm3, %xmm2 {%k7} {z}
+
+// CHECK: vcvthf82ph %xmm3, %xmm2
+// CHECK: encoding: [0x62,0xf5,0x7f,0x08,0x1e,0xd3]
+          vcvthf82ph %xmm3, %xmm2
+
+// CHECK: vcvthf82ph %xmm3, %xmm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x7f,0x0f,0x1e,0xd3]
+          vcvthf82ph %xmm3, %xmm2 {%k7}
+
+// CHECK: vcvthf82ph %xmm3, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x7f,0x8f,0x1e,0xd3]
+          vcvthf82ph %xmm3, %xmm2 {%k7} {z}
+
+// CHECK: vcvthf82ph %xmm3, %ymm2
+// CHECK: encoding: [0x62,0xf5,0x7f,0x28,0x1e,0xd3]
+          vcvthf82ph %xmm3, %ymm2
+
+// CHECK: vcvthf82ph %xmm3, %ymm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x7f,0x2f,0x1e,0xd3]
+          vcvthf82ph %xmm3, %ymm2 {%k7}
+
+// CHECK: vcvthf82ph %xmm3, %ymm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x7f,0xaf,0x1e,0xd3]
+          vcvthf82ph %xmm3, %ymm2 {%k7} {z}
+
+// CHECK: vcvthf82ph %ymm3, %zmm2
+// CHECK: encoding: [0x62,0xf5,0x7f,0x48,0x1e,0xd3]
+          vcvthf82ph %ymm3, %zmm2
+
+// CHECK: vcvthf82ph %ymm3, %zmm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x7f,0x4f,0x1e,0xd3]
+          vcvthf82ph %ymm3, %zmm2 {%k7}
+
+// CHECK: vcvthf82ph %ymm3, %zmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x7f,0xcf,0x1e,0xd3]
+          vcvthf82ph %ymm3, %zmm2 {%k7} {z}
+
+// CHECK: vcvthf82ph  268435456(%esp,%esi,8), %xmm2
+// CHECK: encoding: [0x62,0xf5,0x7f,0x08,0x1e,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvthf82ph  268435456(%esp,%esi,8), %xmm2
+
+// CHECK: vcvthf82ph  291(%edi,%eax,4), %xmm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x7f,0x0f,0x1e,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvthf82ph  291(%edi,%eax,4), %xmm2 {%k7}
+
+// CHECK: vcvthf82ph  (%eax), %xmm2
+// CHECK: encoding: [0x62,0xf5,0x7f,0x08,0x1e,0x10]
+          vcvthf82ph  (%eax), %xmm2
+
+// CHECK: vcvthf82ph  -256(,%ebp,2), %xmm2
+// CHECK: encoding: [0x62,0xf5,0x7f,0x08,0x1e,0x14,0x6d,0x00,0xff,0xff,0xff]
+          vcvthf82ph  -256(,%ebp,2), %xmm2
+
+// CHECK: vcvthf82ph  1016(%ecx), %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x7f,0x8f,0x1e,0x51,0x7f]
+          vcvthf82ph  1016(%ecx), %xmm2 {%k7} {z}
+
+// CHECK: vcvthf82ph  -1024(%edx), %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x7f,0x8f,0x1e,0x52,0x80]
+          vcvthf82ph  -1024(%edx), %xmm2 {%k7} {z}
+
+// CHECK: vcvthf82ph  268435456(%esp,%esi,8), %ymm2
+// CHECK: encoding: [0x62,0xf5,0x7f,0x28,0x1e,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvthf82ph  268435456(%esp,%esi,8), %ymm2
+
+// CHECK: vcvthf82ph  291(%edi,%eax,4), %ymm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x7f,0x2f,0x1e,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvthf82ph  291(%edi,%eax,4), %ymm2 {%k7}
+
+// CHECK: vcvthf82ph  (%eax), %ymm2
+// CHECK: encoding: [0x62,0xf5,0x7f,0x28,0x1e,0x10]
+          vcvthf82ph  (%eax), %ymm2
+
+// CHECK: vcvthf82ph  -512(,%ebp,2), %ymm2
+// CHECK: encoding: [0x62,0xf5,0x7f,0x28,0x1e,0x14,0x6d,0x00,0xfe,0xff,0xff]
+          vcvthf82ph  -512(,%ebp,2), %ymm2
+
+// CHECK: vcvthf82ph  2032(%ecx), %ymm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x7f,0xaf,0x1e,0x51,0x7f]
+          vcvthf82ph  2032(%ecx), %ymm2 {%k7} {z}
+
+// CHECK: vcvthf82ph  -2048(%edx), %ymm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x7f,0xaf,0x1e,0x52,0x80]
+          vcvthf82ph  -2048(%edx), %ymm2 {%k7} {z}
+
+// CHECK: vcvthf82ph  268435456(%esp,%esi,8), %zmm2
+// CHECK: encoding: [0x62,0xf5,0x7f,0x48,0x1e,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvthf82ph  268435456(%esp,%esi,8), %zmm2
+
+// CHECK: vcvthf82ph  291(%edi,%eax,4), %zmm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x7f,0x4f,0x1e,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvthf82ph  291(%edi,%eax,4), %zmm2 {%k7}
+
+// CHECK: vcvthf82ph  (%eax), %zmm2
+// CHECK: encoding: [0x62,0xf5,0x7f,0x48,0x1e,0x10]
+          vcvthf82ph  (%eax), %zmm2
+
+// CHECK: vcvthf82ph  -1024(,%ebp,2), %zmm2
+// CHECK: encoding: [0x62,0xf5,0x7f,0x48,0x1e,0x14,0x6d,0x00,0xfc,0xff,0xff]
+          vcvthf82ph  -1024(,%ebp,2), %zmm2
+
+// CHECK: vcvthf82ph  4064(%ecx), %zmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x7f,0xcf,0x1e,0x51,0x7f]
+          vcvthf82ph  4064(%ecx), %zmm2 {%k7} {z}
+
+// CHECK: vcvthf82ph  -4096(%edx), %zmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x7f,0xcf,0x1e,0x52,0x80]
+          vcvthf82ph  -4096(%edx), %zmm2 {%k7} {z}
+
+// CHECK: vcvtne2ph2bf8 %ymm4, %ymm3, %ymm2
+// CHECK: encoding: [0x62,0xf2,0x67,0x28,0x74,0xd4]
+          vcvtne2ph2bf8 %ymm4, %ymm3, %ymm2
+
+// CHECK: vcvtne2ph2bf8 %ymm4, %ymm3, %ymm2 {%k7}
+// CHECK: encoding: [0x62,0xf2,0x67,0x2f,0x74,0xd4]
+          vcvtne2ph2bf8 %ymm4, %ymm3, %ymm2 {%k7}
+
+// CHECK: vcvtne2ph2bf8 %ymm4, %ymm3, %ymm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf2,0x67,0xaf,0x74,0xd4]
+          vcvtne2ph2bf8 %ymm4, %ymm3, %ymm2 {%k7} {z}
+
+// CHECK: vcvtne2ph2bf8 %zmm4, %zmm3, %zmm2
+// CHECK: encoding: [0x62,0xf2,0x67,0x48,0x74,0xd4]
+          vcvtne2ph2bf8 %zmm4, %zmm3, %zmm2
+
+// CHECK: vcvtne2ph2bf8 %zmm4, %zmm3, %zmm2 {%k7}
+// CHECK: encoding: [0x62,0xf2,0x67,0x4f,0x74,0xd4]
+          vcvtne2ph2bf8 %zmm4, %zmm3, %zmm2 {%k7}
+
+// CHECK: vcvtne2ph2bf8 %zmm4, %zmm3, %zmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf2,0x67,0xcf,0x74,0xd4]
+          vcvtne2ph2bf8 %zmm4, %zmm3, %zmm2 {%k7} {z}
+
+// CHECK: vcvtne2ph2bf8 %xmm4, %xmm3, %xmm2
+// CHECK: encoding: [0x62,0xf2,0x67,0x08,0x74,0xd4]
+          vcvtne2ph2bf8 %xmm4, %xmm3, %xmm2
+
+// CHECK: vcvtne2ph2bf8 %xmm4, %xmm3, %xmm2 {%k7}
+// CHECK: encoding: [0x62,0xf2,0x67,0x0f,0x74,0xd4]
+          vcvtne2ph2bf8 %xmm4, %xmm3, %xmm2 {%k7}
+
+// CHECK: vcvtne2ph2bf8 %xmm4, %xmm3, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf2,0x67,0x8f,0x74,0xd4]
+          vcvtne2ph2bf8 %xmm4, %xmm3, %xmm2 {%k7} {z}
+
+// CHECK: vcvtne2ph2bf8  268435456(%esp,%esi,8), %zmm3, %zmm2
+// CHECK: encoding: [0x62,0xf2,0x67,0x48,0x74,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtne2ph2bf8  268435456(%esp,%esi,8), %zmm3, %zmm2
+
+// CHECK: vcvtne2ph2bf8  291(%edi,%eax,4), %zmm3, %zmm2 {%k7}
+// CHECK: encoding: [0x62,0xf2,0x67,0x4f,0x74,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtne2ph2bf8  291(%edi,%eax,4), %zmm3, %zmm2 {%k7}
+
+// CHECK: vcvtne2ph2bf8  (%eax){1to32}, %zmm3, %zmm2
+// CHECK: encoding: [0x62,0xf2,0x67,0x58,0x74,0x10]
+          vcvtne2ph2bf8  (%eax){1to32}, %zmm3, %zmm2
+
+// CHECK: vcvtne2ph2bf8  -2048(,%ebp,2), %zmm3, %zmm2
+// CHECK: encoding: [0x62,0xf2,0x67,0x48,0x74,0x14,0x6d,0x00,0xf8,0xff,0xff]
+          vcvtne2ph2bf8  -2048(,%ebp,2), %zmm3, %zmm2
+
+// CHECK: vcvtne2ph2bf8  8128(%ecx), %zmm3, %zmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf2,0x67,0xcf,0x74,0x51,0x7f]
+          vcvtne2ph2bf8  8128(%ecx), %zmm3, %zmm2 {%k7} {z}
+
+// CHECK: vcvtne2ph2bf8  -256(%edx){1to32}, %zmm3, %zmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf2,0x67,0xdf,0x74,0x52,0x80]
+          vcvtne2ph2bf8  -256(%edx){1to32}, %zmm3, %zmm2 {%k7} {z}
+
+// CHECK: vcvtne2ph2bf8  268435456(%esp,%esi,8), %ymm3, %ymm2
+// CHECK: encoding: [0x62,0xf2,0x67,0x28,0x74,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtne2ph2bf8  268435456(%esp,%esi,8), %ymm3, %ymm2
+
+// CHECK: vcvtne2ph2bf8  291(%edi,%eax,4), %ymm3, %ymm2 {%k7}
+// CHECK: encoding: [0x62,0xf2,0x67,0x2f,0x74,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtne2ph2bf8  291(%edi,%eax,4), %ymm3, %ymm2 {%k7}
+
+// CHECK: vcvtne2ph2bf8  (%eax){1to16}, %ymm3, %ymm2
+// CHECK: encoding: [0x62,0xf2,0x67,0x38,0x74,0x10]
+          vcvtne2ph2bf8  (%eax){1to16}, %ymm3, %ymm2
+
+// CHECK: vcvtne2ph2bf8  -1024(,%ebp,2), %ymm3, %ymm2
+// CHECK: encoding: [0x62,0xf2,0x67,0x28,0x74,0x14,0x6d,0x00,0xfc,0xff,0xff]
+          vcvtne2ph2bf8  -1024(,%ebp,2), %ymm3, %ymm2
+
+// CHECK: vcvtne2ph2bf8  4064(%ecx), %ymm3, %ymm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf2,0x67,0xaf,0x74,0x51,0x7f]
+          vcvtne2ph2bf8  4064(%ecx), %ymm3, %ymm2 {%k7} {z}
+
+// CHECK: vcvtne2ph2bf8  -256(%edx){1to16}, %ymm3, %ymm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf2,0x67,0xbf,0x74,0x52,0x80]
+          vcvtne2ph2bf8  -256(%edx){1to16}, %ymm3, %ymm2 {%k7} {z}
+
+// CHECK: vcvtne2ph2bf8  268435456(%esp,%esi,8), %xmm3, %xmm2
+// CHECK: encoding: [0x62,0xf2,0x67,0x08,0x74,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtne2ph2bf8  268435456(%esp,%esi,8), %xmm3, %xmm2
+
+// CHECK: vcvtne2ph2bf8  291(%edi,%eax,4), %xmm3, %xmm2 {%k7}
+// CHECK: encoding: [0x62,0xf2,0x67,0x0f,0x74,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtne2ph2bf8  291(%edi,%eax,4), %xmm3, %xmm2 {%k7}
+
+// CHECK: vcvtne2ph2bf8  (%eax){1to8}, %xmm3, %xmm2
+// CHECK: encoding: [0x62,0xf2,0x67,0x18,0x74,0x10]
+          vcvtne2ph2bf8  (%eax){1to8}, %xmm3, %xmm2
+
+// CHECK: vcvtne2ph2bf8  -512(,%ebp,2), %xmm3, %xmm2
+// CHECK: encoding: [0x62,0xf2,0x67,0x08,0x74,0x14,0x6d,0x00,0xfe,0xff,0xff]
+          vcvtne2ph2bf8  -512(,%ebp,2), %xmm3, %xmm2
+
+// CHECK: vcvtne2ph2bf8  2032(%ecx), %xmm3, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf2,0x67,0x8f,0x74,0x51,0x7f]
+          vcvtne2ph2bf8  2032(%ecx), %xmm3, %xmm2 {%k7} {z}
+
+// CHECK: vcvtne2ph2bf8  -256(%edx){1to8}, %xmm3, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf2,0x67,0x9f,0x74,0x52,0x80]
+          vcvtne2ph2bf8  -256(%edx){1to8}, %xmm3, %xmm2 {%k7} {z}
+
+// CHECK: vcvtne2ph2bf8s %ymm4, %ymm3, %ymm2
+// CHECK: encoding: [0x62,0xf5,0x67,0x28,0x74,0xd4]
+          vcvtne2ph2bf8s %ymm4, %ymm3, %ymm2
+
+// CHECK: vcvtne2ph2bf8s %ymm4, %ymm3, %ymm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x67,0x2f,0x74,0xd4]
+          vcvtne2ph2bf8s %ymm4, %ymm3, %ymm2 {%k7}
+
+// CHECK: vcvtne2ph2bf8s %ymm4, %ymm3, %ymm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x67,0xaf,0x74,0xd4]
+          vcvtne2ph2bf8s %ymm4, %ymm3, %ymm2 {%k7} {z}
+
+// CHECK: vcvtne2ph2bf8s %zmm4, %zmm3, %zmm2
+// CHECK: encoding: [0x62,0xf5,0x67,0x48,0x74,0xd4]
+          vcvtne2ph2bf8s %zmm4, %zmm3, %zmm2
+
+// CHECK: vcvtne2ph2bf8s %zmm4, %zmm3, %zmm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x67,0x4f,0x74,0xd4]
+          vcvtne2ph2bf8s %zmm4, %zmm3, %zmm2 {%k7}
+
+// CHECK: vcvtne2ph2bf8s %zmm4, %zmm3, %zmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x67,0xcf,0x74,0xd4]
+          vcvtne2ph2bf8s %zmm4, %zmm3, %zmm2 {%k7} {z}
+
+// CHECK: vcvtne2ph2bf8s %xmm4, %xmm3, %xmm2
+// CHECK: encoding: [0x62,0xf5,0x67,0x08,0x74,0xd4]
+          vcvtne2ph2bf8s %xmm4, %xmm3, %xmm2
+
+// CHECK: vcvtne2ph2bf8s %xmm4, %xmm3, %xmm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x67,0x0f,0x74,0xd4]
+          vcvtne2ph2bf8s %xmm4, %xmm3, %xmm2 {%k7}
+
+// CHECK: vcvtne2ph2bf8s %xmm4, %xmm3, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x67,0x8f,0x74,0xd4]
+          vcvtne2ph2bf8s %xmm4, %xmm3, %xmm2 {%k7} {z}
+
+// CHECK: vcvtne2ph2bf8s  268435456(%esp,%esi,8), %zmm3, %zmm2
+// CHECK: encoding: [0x62,0xf5,0x67,0x48,0x74,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtne2ph2bf8s  268435456(%esp,%esi,8), %zmm3, %zmm2
+
+// CHECK: vcvtne2ph2bf8s  291(%edi,%eax,4), %zmm3, %zmm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x67,0x4f,0x74,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtne2ph2bf8s  291(%edi,%eax,4), %zmm3, %zmm2 {%k7}
+
+// CHECK: vcvtne2ph2bf8s  (%eax){1to32}, %zmm3, %zmm2
+// CHECK: encoding: [0x62,0xf5,0x67,0x58,0x74,0x10]
+          vcvtne2ph2bf8s  (%eax){1to32}, %zmm3, %zmm2
+
+// CHECK: vcvtne2ph2bf8s  -2048(,%ebp,2), %zmm3, %zmm2
+// CHECK: encoding: [0x62,0xf5,0x67,0x48,0x74,0x14,0x6d,0x00,0xf8,0xff,0xff]
+          vcvtne2ph2bf8s  -2048(,%ebp,2), %zmm3, %zmm2
+
+// CHECK: vcvtne2ph2bf8s  8128(%ecx), %zmm3, %zmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x67,0xcf,0x74,0x51,0x7f]
+          vcvtne2ph2bf8s  8128(%ecx), %zmm3, %zmm2 {%k7} {z}
+
+// CHECK: vcvtne2ph2bf8s  -256(%edx){1to32}, %zmm3, %zmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x67,0xdf,0x74,0x52,0x80]
+          vcvtne2ph2bf8s  -256(%edx){1to32}, %zmm3, %zmm2 {%k7} {z}
+
+// CHECK: vcvtne2ph2bf8s  268435456(%esp,%esi,8), %ymm3, %ymm2
+// CHECK: encoding: [0x62,0xf5,0x67,0x28,0x74,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtne2ph2bf8s  268435456(%esp,%esi,8), %ymm3, %ymm2
+
+// CHECK: vcvtne2ph2bf8s  291(%edi,%eax,4), %ymm3, %ymm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x67,0x2f,0x74,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtne2ph2bf8s  291(%edi,%eax,4), %ymm3, %ymm2 {%k7}
+
+// CHECK: vcvtne2ph2bf8s  (%eax){1to16}, %ymm3, %ymm2
+// CHECK: encoding: [0x62,0xf5,0x67,0x38,0x74,0x10]
+          vcvtne2ph2bf8s  (%eax){1to16}, %ymm3, %ymm2
+
+// CHECK: vcvtne2ph2bf8s  -1024(,%ebp,2), %ymm3, %ymm2
+// CHECK: encoding: [0x62,0xf5,0x67,0x28,0x74,0x14,0x6d,0x00,0xfc,0xff,0xff]
+          vcvtne2ph2bf8s  -1024(,%ebp,2), %ymm3, %ymm2
+
+// CHECK: vcvtne2ph2bf8s  4064(%ecx), %ymm3, %ymm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x67,0xaf,0x74,0x51,0x7f]
+          vcvtne2ph2bf8s  4064(%ecx), %ymm3, %ymm2 {%k7} {z}
+
+// CHECK: vcvtne2ph2bf8s  -256(%edx){1to16}, %ymm3, %ymm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x67,0xbf,0x74,0x52,0x80]
+          vcvtne2ph2bf8s  -256(%edx){1to16}, %ymm3, %ymm2 {%k7} {z}
+
+// CHECK: vcvtne2ph2bf8s  268435456(%esp,%esi,8), %xmm3, %xmm2
+// CHECK: encoding: [0x62,0xf5,0x67,0x08,0x74,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtne2ph2bf8s  268435456(%esp,%esi,8), %xmm3, %xmm2
+
+// CHECK: vcvtne2ph2bf8s  291(%edi,%eax,4), %xmm3, %xmm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x67,0x0f,0x74,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtne2ph2bf8s  291(%edi,%eax,4), %xmm3, %xmm2 {%k7}
+
+// CHECK: vcvtne2ph2bf8s  (%eax){1to8}, %xmm3, %xmm2
+// CHECK: encoding: [0x62,0xf5,0x67,0x18,0x74,0x10]
+          vcvtne2ph2bf8s  (%eax){1to8}, %xmm3, %xmm2
+
+// CHECK: vcvtne2ph2bf8s  -512(,%ebp,2), %xmm3, %xmm2
+// CHECK: encoding: [0x62,0xf5,0x67,0x08,0x74,0x14,0x6d,0x00,0xfe,0xff,0xff]
+          vcvtne2ph2bf8s  -512(,%ebp,2), %xmm3, %xmm2
+
+// CHECK: vcvtne2ph2bf8s  2032(%ecx), %xmm3, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x67,0x8f,0x74,0x51,0x7f]
+          vcvtne2ph2bf8s  2032(%ecx), %xmm3, %xmm2 {%k7} {z}
+
+// CHECK: vcvtne2ph2bf8s  -256(%edx){1to8}, %xmm3, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x67,0x9f,0x74,0x52,0x80]
+          vcvtne2ph2bf8s  -256(%edx){1to8}, %xmm3, %xmm2 {%k7} {z}
+
+// CHECK: vcvtne2ph2hf8 %ymm4, %ymm3, %ymm2
+// CHECK: encoding: [0x62,0xf5,0x67,0x28,0x18,0xd4]
+          vcvtne2ph2hf8 %ymm4, %ymm3, %ymm2
+
+// CHECK: vcvtne2ph2hf8 %ymm4, %ymm3, %ymm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x67,0x2f,0x18,0xd4]
+          vcvtne2ph2hf8 %ymm4, %ymm3, %ymm2 {%k7}
+
+// CHECK: vcvtne2ph2hf8 %ymm4, %ymm3, %ymm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x67,0xaf,0x18,0xd4]
+          vcvtne2ph2hf8 %ymm4, %ymm3, %ymm2 {%k7} {z}
+
+// CHECK: vcvtne2ph2hf8 %zmm4, %zmm3, %zmm2
+// CHECK: encoding: [0x62,0xf5,0x67,0x48,0x18,0xd4]
+          vcvtne2ph2hf8 %zmm4, %zmm3, %zmm2
+
+// CHECK: vcvtne2ph2hf8 %zmm4, %zmm3, %zmm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x67,0x4f,0x18,0xd4]
+          vcvtne2ph2hf8 %zmm4, %zmm3, %zmm2 {%k7}
+
+// CHECK: vcvtne2ph2hf8 %zmm4, %zmm3, %zmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x67,0xcf,0x18,0xd4]
+          vcvtne2ph2hf8 %zmm4, %zmm3, %zmm2 {%k7} {z}
+
+// CHECK: vcvtne2ph2hf8 %xmm4, %xmm3, %xmm2
+// CHECK: encoding: [0x62,0xf5,0x67,0x08,0x18,0xd4]
+          vcvtne2ph2hf8 %xmm4, %xmm3, %xmm2
+
+// CHECK: vcvtne2ph2hf8 %xmm4, %xmm3, %xmm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x67,0x0f,0x18,0xd4]
+          vcvtne2ph2hf8 %xmm4, %xmm3, %xmm2 {%k7}
+
+// CHECK: vcvtne2ph2hf8 %xmm4, %xmm3, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x67,0x8f,0x18,0xd4]
+          vcvtne2ph2hf8 %xmm4, %xmm3, %xmm2 {%k7} {z}
+
+// CHECK: vcvtne2ph2hf8  268435456(%esp,%esi,8), %zmm3, %zmm2
+// CHECK: encoding: [0x62,0xf5,0x67,0x48,0x18,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtne2ph2hf8  268435456(%esp,%esi,8), %zmm3, %zmm2
+
+// CHECK: vcvtne2ph2hf8  291(%edi,%eax,4), %zmm3, %zmm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x67,0x4f,0x18,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtne2ph2hf8  291(%edi,%eax,4), %zmm3, %zmm2 {%k7}
+
+// CHECK: vcvtne2ph2hf8  (%eax){1to32}, %zmm3, %zmm2
+// CHECK: encoding: [0x62,0xf5,0x67,0x58,0x18,0x10]
+          vcvtne2ph2hf8  (%eax){1to32}, %zmm3, %zmm2
+
+// CHECK: vcvtne2ph2hf8  -2048(,%ebp,2), %zmm3, %zmm2
+// CHECK: encoding: [0x62,0xf5,0x67,0x48,0x18,0x14,0x6d,0x00,0xf8,0xff,0xff]
+          vcvtne2ph2hf8  -2048(,%ebp,2), %zmm3, %zmm2
+
+// CHECK: vcvtne2ph2hf8  8128(%ecx), %zmm3, %zmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x67,0xcf,0x18,0x51,0x7f]
+          vcvtne2ph2hf8  8128(%ecx), %zmm3, %zmm2 {%k7} {z}
+
+// CHECK: vcvtne2ph2hf8  -256(%edx){1to32}, %zmm3, %zmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x67,0xdf,0x18,0x52,0x80]
+          vcvtne2ph2hf8  -256(%edx){1to32}, %zmm3, %zmm2 {%k7} {z}
+
+// CHECK: vcvtne2ph2hf8  268435456(%esp,%esi,8), %ymm3, %ymm2
+// CHECK: encoding: [0x62,0xf5,0x67,0x28,0x18,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtne2ph2hf8  268435456(%esp,%esi,8), %ymm3, %ymm2
+
+// CHECK: vcvtne2ph2hf8  291(%edi,%eax,4), %ymm3, %ymm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x67,0x2f,0x18,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtne2ph2hf8  291(%edi,%eax,4), %ymm3, %ymm2 {%k7}
+
+// CHECK: vcvtne2ph2hf8  (%eax){1to16}, %ymm3, %ymm2
+// CHECK: encoding: [0x62,0xf5,0x67,0x38,0x18,0x10]
+          vcvtne2ph2hf8  (%eax){1to16}, %ymm3, %ymm2
+
+// CHECK: vcvtne2ph2hf8  -1024(,%ebp,2), %ymm3, %ymm2
+// CHECK: encoding: [0x62,0xf5,0x67,0x28,0x18,0x14,0x6d,0x00,0xfc,0xff,0xff]
+          vcvtne2ph2hf8  -1024(,%ebp,2), %ymm3, %ymm2
+
+// CHECK: vcvtne2ph2hf8  4064(%ecx), %ymm3, %ymm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x67,0xaf,0x18,0x51,0x7f]
+          vcvtne2ph2hf8  4064(%ecx), %ymm3, %ymm2 {%k7} {z}
+
+// CHECK: vcvtne2ph2hf8  -256(%edx){1to16}, %ymm3, %ymm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x67,0xbf,0x18,0x52,0x80]
+          vcvtne2ph2hf8  -256(%edx){1to16}, %ymm3, %ymm2 {%k7} {z}
+
+// CHECK: vcvtne2ph2hf8  268435456(%esp,%esi,8), %xmm3, %xmm2
+// CHECK: encoding: [0x62,0xf5,0x67,0x08,0x18,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtne2ph2hf8  268435456(%esp,%esi,8), %xmm3, %xmm2
+
+// CHECK: vcvtne2ph2hf8  291(%edi,%eax,4), %xmm3, %xmm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x67,0x0f,0x18,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtne2ph2hf8  291(%edi,%eax,4), %xmm3, %xmm2 {%k7}
+
+// CHECK: vcvtne2ph2hf8  (%eax){1to8}, %xmm3, %xmm2
+// CHECK: encoding: [0x62,0xf5,0x67,0x18,0x18,0x10]
+          vcvtne2ph2hf8  (%eax){1to8}, %xmm3, %xmm2
+
+// CHECK: vcvtne2ph2hf8  -512(,%ebp,2), %xmm3, %xmm2
+// CHECK: encoding: [0x62,0xf5,0x67,0x08,0x18,0x14,0x6d,0x00,0xfe,0xff,0xff]
+          vcvtne2ph2hf8  -512(,%ebp,2), %xmm3, %xmm2
+
+// CHECK: vcvtne2ph2hf8  2032(%ecx), %xmm3, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x67,0x8f,0x18,0x51,0x7f]
+          vcvtne2ph2hf8  2032(%ecx), %xmm3, %xmm2 {%k7} {z}
+
+// CHECK: vcvtne2ph2hf8  -256(%edx){1to8}, %xmm3, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x67,0x9f,0x18,0x52,0x80]
+          vcvtne2ph2hf8  -256(%edx){1to8}, %xmm3, %xmm2 {%k7} {z}
+
+// CHECK: vcvtne2ph2hf8s %ymm4, %ymm3, %ymm2
+// CHECK: encoding: [0x62,0xf5,0x67,0x28,0x1b,0xd4]
+          vcvtne2ph2hf8s %ymm4, %ymm3, %ymm2
+
+// CHECK: vcvtne2ph2hf8s %ymm4, %ymm3, %ymm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x67,0x2f,0x1b,0xd4]
+          vcvtne2ph2hf8s %ymm4, %ymm3, %ymm2 {%k7}
+
+// CHECK: vcvtne2ph2hf8s %ymm4, %ymm3, %ymm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x67,0xaf,0x1b,0xd4]
+          vcvtne2ph2hf8s %ymm4, %ymm3, %ymm2 {%k7} {z}
+
+// CHECK: vcvtne2ph2hf8s %zmm4, %zmm3, %zmm2
+// CHECK: encoding: [0x62,0xf5,0x67,0x48,0x1b,0xd4]
+          vcvtne2ph2hf8s %zmm4, %zmm3, %zmm2
+
+// CHECK: vcvtne2ph2hf8s %zmm4, %zmm3, %zmm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x67,0x4f,0x1b,0xd4]
+          vcvtne2ph2hf8s %zmm4, %zmm3, %zmm2 {%k7}
+
+// CHECK: vcvtne2ph2hf8s %zmm4, %zmm3, %zmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x67,0xcf,0x1b,0xd4]
+          vcvtne2ph2hf8s %zmm4, %zmm3, %zmm2 {%k7} {z}
+
+// CHECK: vcvtne2ph2hf8s %xmm4, %xmm3, %xmm2
+// CHECK: encoding: [0x62,0xf5,0x67,0x08,0x1b,0xd4]
+          vcvtne2ph2hf8s %xmm4, %xmm3, %xmm2
+
+// CHECK: vcvtne2ph2hf8s %xmm4, %xmm3, %xmm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x67,0x0f,0x1b,0xd4]
+          vcvtne2ph2hf8s %xmm4, %xmm3, %xmm2 {%k7}
+
+// CHECK: vcvtne2ph2hf8s %xmm4, %xmm3, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x67,0x8f,0x1b,0xd4]
+          vcvtne2ph2hf8s %xmm4, %xmm3, %xmm2 {%k7} {z}
+
+// CHECK: vcvtne2ph2hf8s  268435456(%esp,%esi,8), %zmm3, %zmm2
+// CHECK: encoding: [0x62,0xf5,0x67,0x48,0x1b,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtne2ph2hf8s  268435456(%esp,%esi,8), %zmm3, %zmm2
+
+// CHECK: vcvtne2ph2hf8s  291(%edi,%eax,4), %zmm3, %zmm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x67,0x4f,0x1b,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtne2ph2hf8s  291(%edi,%eax,4), %zmm3, %zmm2 {%k7}
+
+// CHECK: vcvtne2ph2hf8s  (%eax){1to32}, %zmm3, %zmm2
+// CHECK: encoding: [0x62,0xf5,0x67,0x58,0x1b,0x10]
+          vcvtne2ph2hf8s  (%eax){1to32}, %zmm3, %zmm2
+
+// CHECK: vcvtne2ph2hf8s  -2048(,%ebp,2), %zmm3, %zmm2
+// CHECK: encoding: [0x62,0xf5,0x67,0x48,0x1b,0x14,0x6d,0x00,0xf8,0xff,0xff]
+          vcvtne2ph2hf8s  -2048(,%ebp,2), %zmm3, %zmm2
+
+// CHECK: vcvtne2ph2hf8s  8128(%ecx), %zmm3, %zmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x67,0xcf,0x1b,0x51,0x7f]
+          vcvtne2ph2hf8s  8128(%ecx), %zmm3, %zmm2 {%k7} {z}
+
+// CHECK: vcvtne2ph2hf8s  -256(%edx){1to32}, %zmm3, %zmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x67,0xdf,0x1b,0x52,0x80]
+          vcvtne2ph2hf8s  -256(%edx){1to32}, %zmm3, %zmm2 {%k7} {z}
+
+// CHECK: vcvtne2ph2hf8s  268435456(%esp,%esi,8), %ymm3, %ymm2
+// CHECK: encoding: [0x62,0xf5,0x67,0x28,0x1b,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtne2ph2hf8s  268435456(%esp,%esi,8), %ymm3, %ymm2
+
+// CHECK: vcvtne2ph2hf8s  291(%edi,%eax,4), %ymm3, %ymm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x67,0x2f,0x1b,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtne2ph2hf8s  291(%edi,%eax,4), %ymm3, %ymm2 {%k7}
+
+// CHECK: vcvtne2ph2hf8s  (%eax){1to16}, %ymm3, %ymm2
+// CHECK: encoding: [0x62,0xf5,0x67,0x38,0x1b,0x10]
+          vcvtne2ph2hf8s  (%eax){1to16}, %ymm3, %ymm2
+
+// CHECK: vcvtne2ph2hf8s  -1024(,%ebp,2), %ymm3, %ymm2
+// CHECK: encoding: [0x62,0xf5,0x67,0x28,0x1b,0x14,0x6d,0x00,0xfc,0xff,0xff]
+          vcvtne2ph2hf8s  -1024(,%ebp,2), %ymm3, %ymm2
+
+// CHECK: vcvtne2ph2hf8s  4064(%ecx), %ymm3, %ymm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x67,0xaf,0x1b,0x51,0x7f]
+          vcvtne2ph2hf8s  4064(%ecx), %ymm3, %ymm2 {%k7} {z}
+
+// CHECK: vcvtne2ph2hf8s  -256(%edx){1to16}, %ymm3, %ymm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x67,0xbf,0x1b,0x52,0x80]
+          vcvtne2ph2hf8s  -256(%edx){1to16}, %ymm3, %ymm2 {%k7} {z}
+
+// CHECK: vcvtne2ph2hf8s  268435456(%esp,%esi,8), %xmm3, %xmm2
+// CHECK: encoding: [0x62,0xf5,0x67,0x08,0x1b,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtne2ph2hf8s  268435456(%esp,%esi,8), %xmm3, %xmm2
+
+// CHECK: vcvtne2ph2hf8s  291(%edi,%eax,4), %xmm3, %xmm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x67,0x0f,0x1b,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtne2ph2hf8s  291(%edi,%eax,4), %xmm3, %xmm2 {%k7}
+
+// CHECK: vcvtne2ph2hf8s  (%eax){1to8}, %xmm3, %xmm2
+// CHECK: encoding: [0x62,0xf5,0x67,0x18,0x1b,0x10]
+          vcvtne2ph2hf8s  (%eax){1to8}, %xmm3, %xmm2
+
+// CHECK: vcvtne2ph2hf8s  -512(,%ebp,2), %xmm3, %xmm2
+// CHECK: encoding: [0x62,0xf5,0x67,0x08,0x1b,0x14,0x6d,0x00,0xfe,0xff,0xff]
+          vcvtne2ph2hf8s  -512(,%ebp,2), %xmm3, %xmm2
+
+// CHECK: vcvtne2ph2hf8s  2032(%ecx), %xmm3, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x67,0x8f,0x1b,0x51,0x7f]
+          vcvtne2ph2hf8s  2032(%ecx), %xmm3, %xmm2 {%k7} {z}
+
+// CHECK: vcvtne2ph2hf8s  -256(%edx){1to8}, %xmm3, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x67,0x9f,0x1b,0x52,0x80]
+          vcvtne2ph2hf8s  -256(%edx){1to8}, %xmm3, %xmm2 {%k7} {z}
+
+// CHECK: vcvtneph2bf8 %xmm3, %xmm2
+// CHECK: encoding: [0x62,0xf2,0x7e,0x08,0x74,0xd3]
+          vcvtneph2bf8 %xmm3, %xmm2
+
+// CHECK: vcvtneph2bf8 %xmm3, %xmm2 {%k7}
+// CHECK: encoding: [0x62,0xf2,0x7e,0x0f,0x74,0xd3]
+          vcvtneph2bf8 %xmm3, %xmm2 {%k7}
+
+// CHECK: vcvtneph2bf8 %xmm3, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf2,0x7e,0x8f,0x74,0xd3]
+          vcvtneph2bf8 %xmm3, %xmm2 {%k7} {z}
+
+// CHECK: vcvtneph2bf8 %zmm3, %ymm2
+// CHECK: encoding: [0x62,0xf2,0x7e,0x48,0x74,0xd3]
+          vcvtneph2bf8 %zmm3, %ymm2
+
+// CHECK: vcvtneph2bf8 %zmm3, %ymm2 {%k7}
+// CHECK: encoding: [0x62,0xf2,0x7e,0x4f,0x74,0xd3]
+          vcvtneph2bf8 %zmm3, %ymm2 {%k7}
+
+// CHECK: vcvtneph2bf8 %zmm3, %ymm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf2,0x7e,0xcf,0x74,0xd3]
+          vcvtneph2bf8 %zmm3, %ymm2 {%k7} {z}
+
+// CHECK: vcvtneph2bf8 %ymm3, %xmm2
+// CHECK: encoding: [0x62,0xf2,0x7e,0x28,0x74,0xd3]
+          vcvtneph2bf8 %ymm3, %xmm2
+
+// CHECK: vcvtneph2bf8 %ymm3, %xmm2 {%k7}
+// CHECK: encoding: [0x62,0xf2,0x7e,0x2f,0x74,0xd3]
+          vcvtneph2bf8 %ymm3, %xmm2 {%k7}
+
+// CHECK: vcvtneph2bf8 %ymm3, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf2,0x7e,0xaf,0x74,0xd3]
+          vcvtneph2bf8 %ymm3, %xmm2 {%k7} {z}
+
+// CHECK: vcvtneph2bf8x  268435456(%esp,%esi,8), %xmm2
+// CHECK: encoding: [0x62,0xf2,0x7e,0x08,0x74,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtneph2bf8x  268435456(%esp,%esi,8), %xmm2
+
+// CHECK: vcvtneph2bf8x  291(%edi,%eax,4), %xmm2 {%k7}
+// CHECK: encoding: [0x62,0xf2,0x7e,0x0f,0x74,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtneph2bf8x  291(%edi,%eax,4), %xmm2 {%k7}
+
+// CHECK: vcvtneph2bf8  (%eax){1to8}, %xmm2
+// CHECK: encoding: [0x62,0xf2,0x7e,0x18,0x74,0x10]
+          vcvtneph2bf8  (%eax){1to8}, %xmm2
+
+// CHECK: vcvtneph2bf8x  -512(,%ebp,2), %xmm2
+// CHECK: encoding: [0x62,0xf2,0x7e,0x08,0x74,0x14,0x6d,0x00,0xfe,0xff,0xff]
+          vcvtneph2bf8x  -512(,%ebp,2), %xmm2
+
+// CHECK: vcvtneph2bf8x  2032(%ecx), %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf2,0x7e,0x8f,0x74,0x51,0x7f]
+          vcvtneph2bf8x  2032(%ecx), %xmm2 {%k7} {z}
+
+// CHECK: vcvtneph2bf8  -256(%edx){1to8}, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf2,0x7e,0x9f,0x74,0x52,0x80]
+          vcvtneph2bf8  -256(%edx){1to8}, %xmm2 {%k7} {z}
+
+// CHECK: vcvtneph2bf8  (%eax){1to16}, %xmm2
+// CHECK: encoding: [0x62,0xf2,0x7e,0x38,0x74,0x10]
+          vcvtneph2bf8  (%eax){1to16}, %xmm2
+
+// CHECK: vcvtneph2bf8y  -1024(,%ebp,2), %xmm2
+// CHECK: encoding: [0x62,0xf2,0x7e,0x28,0x74,0x14,0x6d,0x00,0xfc,0xff,0xff]
+          vcvtneph2bf8y  -1024(,%ebp,2), %xmm2
+
+// CHECK: vcvtneph2bf8y  4064(%ecx), %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf2,0x7e,0xaf,0x74,0x51,0x7f]
+          vcvtneph2bf8y  4064(%ecx), %xmm2 {%k7} {z}
+
+// CHECK: vcvtneph2bf8  -256(%edx){1to16}, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf2,0x7e,0xbf,0x74,0x52,0x80]
+          vcvtneph2bf8  -256(%edx){1to16}, %xmm2 {%k7} {z}
+
+// CHECK: vcvtneph2bf8  268435456(%esp,%esi,8), %ymm2
+// CHECK: encoding: [0x62,0xf2,0x7e,0x48,0x74,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtneph2bf8  268435456(%esp,%esi,8), %ymm2
+
+// CHECK: vcvtneph2bf8  291(%edi,%eax,4), %ymm2 {%k7}
+// CHECK: encoding: [0x62,0xf2,0x7e,0x4f,0x74,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtneph2bf8  291(%edi,%eax,4), %ymm2 {%k7}
+
+// CHECK: vcvtneph2bf8  (%eax){1to32}, %ymm2
+// CHECK: encoding: [0x62,0xf2,0x7e,0x58,0x74,0x10]
+          vcvtneph2bf8  (%eax){1to32}, %ymm2
+
+// CHECK: vcvtneph2bf8  -2048(,%ebp,2), %ymm2
+// CHECK: encoding: [0x62,0xf2,0x7e,0x48,0x74,0x14,0x6d,0x00,0xf8,0xff,0xff]
+          vcvtneph2bf8  -2048(,%ebp,2), %ymm2
+
+// CHECK: vcvtneph2bf8  8128(%ecx), %ymm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf2,0x7e,0xcf,0x74,0x51,0x7f]
+          vcvtneph2bf8  8128(%ecx), %ymm2 {%k7} {z}
+
+// CHECK: vcvtneph2bf8  -256(%edx){1to32}, %ymm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf2,0x7e,0xdf,0x74,0x52,0x80]
+          vcvtneph2bf8  -256(%edx){1to32}, %ymm2 {%k7} {z}
+
+// CHECK: vcvtneph2bf8s %xmm3, %xmm2
+// CHECK: encoding: [0x62,0xf5,0x7e,0x08,0x74,0xd3]
+          vcvtneph2bf8s %xmm3, %xmm2
+
+// CHECK: vcvtneph2bf8s %xmm3, %xmm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x7e,0x0f,0x74,0xd3]
+          vcvtneph2bf8s %xmm3, %xmm2 {%k7}
+
+// CHECK: vcvtneph2bf8s %xmm3, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x7e,0x8f,0x74,0xd3]
+          vcvtneph2bf8s %xmm3, %xmm2 {%k7} {z}
+
+// CHECK: vcvtneph2bf8s %zmm3, %ymm2
+// CHECK: encoding: [0x62,0xf5,0x7e,0x48,0x74,0xd3]
+          vcvtneph2bf8s %zmm3, %ymm2
+
+// CHECK: vcvtneph2bf8s %zmm3, %ymm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x7e,0x4f,0x74,0xd3]
+          vcvtneph2bf8s %zmm3, %ymm2 {%k7}
+
+// CHECK: vcvtneph2bf8s %zmm3, %ymm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x7e,0xcf,0x74,0xd3]
+          vcvtneph2bf8s %zmm3, %ymm2 {%k7} {z}
+
+// CHECK: vcvtneph2bf8s %ymm3, %xmm2
+// CHECK: encoding: [0x62,0xf5,0x7e,0x28,0x74,0xd3]
+          vcvtneph2bf8s %ymm3, %xmm2
+
+// CHECK: vcvtneph2bf8s %ymm3, %xmm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x7e,0x2f,0x74,0xd3]
+          vcvtneph2bf8s %ymm3, %xmm2 {%k7}
+
+// CHECK: vcvtneph2bf8s %ymm3, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x7e,0xaf,0x74,0xd3]
+          vcvtneph2bf8s %ymm3, %xmm2 {%k7} {z}
+
+// CHECK: vcvtneph2bf8sx  268435456(%esp,%esi,8), %xmm2
+// CHECK: encoding: [0x62,0xf5,0x7e,0x08,0x74,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtneph2bf8sx  268435456(%esp,%esi,8), %xmm2
+
+// CHECK: vcvtneph2bf8sx  291(%edi,%eax,4), %xmm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x7e,0x0f,0x74,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtneph2bf8sx  291(%edi,%eax,4), %xmm2 {%k7}
+
+// CHECK: vcvtneph2bf8s  (%eax){1to8}, %xmm2
+// CHECK: encoding: [0x62,0xf5,0x7e,0x18,0x74,0x10]
+          vcvtneph2bf8s  (%eax){1to8}, %xmm2
+
+// CHECK: vcvtneph2bf8sx  -512(,%ebp,2), %xmm2
+// CHECK: encoding: [0x62,0xf5,0x7e,0x08,0x74,0x14,0x6d,0x00,0xfe,0xff,0xff]
+          vcvtneph2bf8sx  -512(,%ebp,2), %xmm2
+
+// CHECK: vcvtneph2bf8sx  2032(%ecx), %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x7e,0x8f,0x74,0x51,0x7f]
+          vcvtneph2bf8sx  2032(%ecx), %xmm2 {%k7} {z}
+
+// CHECK: vcvtneph2bf8s  -256(%edx){1to8}, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x7e,0x9f,0x74,0x52,0x80]
+          vcvtneph2bf8s  -256(%edx){1to8}, %xmm2 {%k7} {z}
+
+// CHECK: vcvtneph2bf8s  (%eax){1to16}, %xmm2
+// CHECK: encoding: [0x62,0xf5,0x7e,0x38,0x74,0x10]
+          vcvtneph2bf8s  (%eax){1to16}, %xmm2
+
+// CHECK: vcvtneph2bf8sy  -1024(,%ebp,2), %xmm2
+// CHECK: encoding: [0x62,0xf5,0x7e,0x28,0x74,0x14,0x6d,0x00,0xfc,0xff,0xff]
+          vcvtneph2bf8sy  -1024(,%ebp,2), %xmm2
+
+// CHECK: vcvtneph2bf8sy  4064(%ecx), %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x7e,0xaf,0x74,0x51,0x7f]
+          vcvtneph2bf8sy  4064(%ecx), %xmm2 {%k7} {z}
+
+// CHECK: vcvtneph2bf8s  -256(%edx){1to16}, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x7e,0xbf,0x74,0x52,0x80]
+          vcvtneph2bf8s  -256(%edx){1to16}, %xmm2 {%k7} {z}
+
+// CHECK: vcvtneph2bf8s  268435456(%esp,%esi,8), %ymm2
+// CHECK: encoding: [0x62,0xf5,0x7e,0x48,0x74,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtneph2bf8s  268435456(%esp,%esi,8), %ymm2
+
+// CHECK: vcvtneph2bf8s  291(%edi,%eax,4), %ymm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x7e,0x4f,0x74,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtneph2bf8s  291(%edi,%eax,4), %ymm2 {%k7}
+
+// CHECK: vcvtneph2bf8s  (%eax){1to32}, %ymm2
+// CHECK: encoding: [0x62,0xf5,0x7e,0x58,0x74,0x10]
+          vcvtneph2bf8s  (%eax){1to32}, %ymm2
+
+// CHECK: vcvtneph2bf8s  -2048(,%ebp,2), %ymm2
+// CHECK: encoding: [0x62,0xf5,0x7e,0x48,0x74,0x14,0x6d,0x00,0xf8,0xff,0xff]
+          vcvtneph2bf8s  -2048(,%ebp,2), %ymm2
+
+// CHECK: vcvtneph2bf8s  8128(%ecx), %ymm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x7e,0xcf,0x74,0x51,0x7f]
+          vcvtneph2bf8s  8128(%ecx), %ymm2 {%k7} {z}
+
+// CHECK: vcvtneph2bf8s  -256(%edx){1to32}, %ymm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x7e,0xdf,0x74,0x52,0x80]
+          vcvtneph2bf8s  -256(%edx){1to32}, %ymm2 {%k7} {z}
+
+// CHECK: vcvtneph2hf8 %xmm3, %xmm2
+// CHECK: encoding: [0x62,0xf5,0x7e,0x08,0x18,0xd3]
+          vcvtneph2hf8 %xmm3, %xmm2
+
+// CHECK: vcvtneph2hf8 %xmm3, %xmm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x7e,0x0f,0x18,0xd3]
+          vcvtneph2hf8 %xmm3, %xmm2 {%k7}
+
+// CHECK: vcvtneph2hf8 %xmm3, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x7e,0x8f,0x18,0xd3]
+          vcvtneph2hf8 %xmm3, %xmm2 {%k7} {z}
+
+// CHECK: vcvtneph2hf8 %zmm3, %ymm2
+// CHECK: encoding: [0x62,0xf5,0x7e,0x48,0x18,0xd3]
+          vcvtneph2hf8 %zmm3, %ymm2
+
+// CHECK: vcvtneph2hf8 %zmm3, %ymm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x7e,0x4f,0x18,0xd3]
+          vcvtneph2hf8 %zmm3, %ymm2 {%k7}
+
+// CHECK: vcvtneph2hf8 %zmm3, %ymm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x7e,0xcf,0x18,0xd3]
+          vcvtneph2hf8 %zmm3, %ymm2 {%k7} {z}
+
+// CHECK: vcvtneph2hf8 %ymm3, %xmm2
+// CHECK: encoding: [0x62,0xf5,0x7e,0x28,0x18,0xd3]
+          vcvtneph2hf8 %ymm3, %xmm2
+
+// CHECK: vcvtneph2hf8 %ymm3, %xmm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x7e,0x2f,0x18,0xd3]
+          vcvtneph2hf8 %ymm3, %xmm2 {%k7}
+
+// CHECK: vcvtneph2hf8 %ymm3, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x7e,0xaf,0x18,0xd3]
+          vcvtneph2hf8 %ymm3, %xmm2 {%k7} {z}
+
+// CHECK: vcvtneph2hf8x  268435456(%esp,%esi,8), %xmm2
+// CHECK: encoding: [0x62,0xf5,0x7e,0x08,0x18,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtneph2hf8x  268435456(%esp,%esi,8), %xmm2
+
+// CHECK: vcvtneph2hf8x  291(%edi,%eax,4), %xmm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x7e,0x0f,0x18,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtneph2hf8x  291(%edi,%eax,4), %xmm2 {%k7}
+
+// CHECK: vcvtneph2hf8  (%eax){1to8}, %xmm2
+// CHECK: encoding: [0x62,0xf5,0x7e,0x18,0x18,0x10]
+          vcvtneph2hf8  (%eax){1to8}, %xmm2
+
+// CHECK: vcvtneph2hf8x  -512(,%ebp,2), %xmm2
+// CHECK: encoding: [0x62,0xf5,0x7e,0x08,0x18,0x14,0x6d,0x00,0xfe,0xff,0xff]
+          vcvtneph2hf8x  -512(,%ebp,2), %xmm2
+
+// CHECK: vcvtneph2hf8x  2032(%ecx), %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x7e,0x8f,0x18,0x51,0x7f]
+          vcvtneph2hf8x  2032(%ecx), %xmm2 {%k7} {z}
+
+// CHECK: vcvtneph2hf8  -256(%edx){1to8}, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x7e,0x9f,0x18,0x52,0x80]
+          vcvtneph2hf8  -256(%edx){1to8}, %xmm2 {%k7} {z}
+
+// CHECK: vcvtneph2hf8  (%eax){1to16}, %xmm2
+// CHECK: encoding: [0x62,0xf5,0x7e,0x38,0x18,0x10]
+          vcvtneph2hf8  (%eax){1to16}, %xmm2
+
+// CHECK: vcvtneph2hf8y  -1024(,%ebp,2), %xmm2
+// CHECK: encoding: [0x62,0xf5,0x7e,0x28,0x18,0x14,0x6d,0x00,0xfc,0xff,0xff]
+          vcvtneph2hf8y  -1024(,%ebp,2), %xmm2
+
+// CHECK: vcvtneph2hf8y  4064(%ecx), %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x7e,0xaf,0x18,0x51,0x7f]
+          vcvtneph2hf8y  4064(%ecx), %xmm2 {%k7} {z}
+
+// CHECK: vcvtneph2hf8  -256(%edx){1to16}, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x7e,0xbf,0x18,0x52,0x80]
+          vcvtneph2hf8  -256(%edx){1to16}, %xmm2 {%k7} {z}
+
+// CHECK: vcvtneph2hf8  268435456(%esp,%esi,8), %ymm2
+// CHECK: encoding: [0x62,0xf5,0x7e,0x48,0x18,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtneph2hf8  268435456(%esp,%esi,8), %ymm2
+
+// CHECK: vcvtneph2hf8  291(%edi,%eax,4), %ymm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x7e,0x4f,0x18,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtneph2hf8  291(%edi,%eax,4), %ymm2 {%k7}
+
+// CHECK: vcvtneph2hf8  (%eax){1to32}, %ymm2
+// CHECK: encoding: [0x62,0xf5,0x7e,0x58,0x18,0x10]
+          vcvtneph2hf8  (%eax){1to32}, %ymm2
+
+// CHECK: vcvtneph2hf8  -2048(,%ebp,2), %ymm2
+// CHECK: encoding: [0x62,0xf5,0x7e,0x48,0x18,0x14,0x6d,0x00,0xf8,0xff,0xff]
+          vcvtneph2hf8  -2048(,%ebp,2), %ymm2
+
+// CHECK: vcvtneph2hf8  8128(%ecx), %ymm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x7e,0xcf,0x18,0x51,0x7f]
+          vcvtneph2hf8  8128(%ecx), %ymm2 {%k7} {z}
+
+// CHECK: vcvtneph2hf8  -256(%edx){1to32}, %ymm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x7e,0xdf,0x18,0x52,0x80]
+          vcvtneph2hf8  -256(%edx){1to32}, %ymm2 {%k7} {z}
+
+// CHECK: vcvtneph2hf8s %xmm3, %xmm2
+// CHECK: encoding: [0x62,0xf5,0x7e,0x08,0x1b,0xd3]
+          vcvtneph2hf8s %xmm3, %xmm2
+
+// CHECK: vcvtneph2hf8s %xmm3, %xmm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x7e,0x0f,0x1b,0xd3]
+          vcvtneph2hf8s %xmm3, %xmm2 {%k7}
+
+// CHECK: vcvtneph2hf8s %xmm3, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x7e,0x8f,0x1b,0xd3]
+          vcvtneph2hf8s %xmm3, %xmm2 {%k7} {z}
+
+// CHECK: vcvtneph2hf8s %zmm3, %ymm2
+// CHECK: encoding: [0x62,0xf5,0x7e,0x48,0x1b,0xd3]
+          vcvtneph2hf8s %zmm3, %ymm2
+
+// CHECK: vcvtneph2hf8s %zmm3, %ymm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x7e,0x4f,0x1b,0xd3]
+          vcvtneph2hf8s %zmm3, %ymm2 {%k7}
+
+// CHECK: vcvtneph2hf8s %zmm3, %ymm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x7e,0xcf,0x1b,0xd3]
+          vcvtneph2hf8s %zmm3, %ymm2 {%k7} {z}
+
+// CHECK: vcvtneph2hf8s %ymm3, %xmm2
+// CHECK: encoding: [0x62,0xf5,0x7e,0x28,0x1b,0xd3]
+          vcvtneph2hf8s %ymm3, %xmm2
+
+// CHECK: vcvtneph2hf8s %ymm3, %xmm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x7e,0x2f,0x1b,0xd3]
+          vcvtneph2hf8s %ymm3, %xmm2 {%k7}
+
+// CHECK: vcvtneph2hf8s %ymm3, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x7e,0xaf,0x1b,0xd3]
+          vcvtneph2hf8s %ymm3, %xmm2 {%k7} {z}
+
+// CHECK: vcvtneph2hf8sx  268435456(%esp,%esi,8), %xmm2
+// CHECK: encoding: [0x62,0xf5,0x7e,0x08,0x1b,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtneph2hf8sx  268435456(%esp,%esi,8), %xmm2
+
+// CHECK: vcvtneph2hf8sx  291(%edi,%eax,4), %xmm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x7e,0x0f,0x1b,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtneph2hf8sx  291(%edi,%eax,4), %xmm2 {%k7}
+
+// CHECK: vcvtneph2hf8s  (%eax){1to8}, %xmm2
+// CHECK: encoding: [0x62,0xf5,0x7e,0x18,0x1b,0x10]
+          vcvtneph2hf8s  (%eax){1to8}, %xmm2
+
+// CHECK: vcvtneph2hf8sx  -512(,%ebp,2), %xmm2
+// CHECK: encoding: [0x62,0xf5,0x7e,0x08,0x1b,0x14,0x6d,0x00,0xfe,0xff,0xff]
+          vcvtneph2hf8sx  -512(,%ebp,2), %xmm2
+
+// CHECK: vcvtneph2hf8sx  2032(%ecx), %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x7e,0x8f,0x1b,0x51,0x7f]
+          vcvtneph2hf8sx  2032(%ecx), %xmm2 {%k7} {z}
+
+// CHECK: vcvtneph2hf8s  -256(%edx){1to8}, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x7e,0x9f,0x1b,0x52,0x80]
+          vcvtneph2hf8s  -256(%edx){1to8}, %xmm2 {%k7} {z}
+
+// CHECK: vcvtneph2hf8s  (%eax){1to16}, %xmm2
+// CHECK: encoding: [0x62,0xf5,0x7e,0x38,0x1b,0x10]
+          vcvtneph2hf8s  (%eax){1to16}, %xmm2
+
+// CHECK: vcvtneph2hf8sy  -1024(,%ebp,2), %xmm2
+// CHECK: encoding: [0x62,0xf5,0x7e,0x28,0x1b,0x14,0x6d,0x00,0xfc,0xff,0xff]
+          vcvtneph2hf8sy  -1024(,%ebp,2), %xmm2
+
+// CHECK: vcvtneph2hf8sy  4064(%ecx), %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x7e,0xaf,0x1b,0x51,0x7f]
+          vcvtneph2hf8sy  4064(%ecx), %xmm2 {%k7} {z}
+
+// CHECK: vcvtneph2hf8s  -256(%edx){1to16}, %xmm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x7e,0xbf,0x1b,0x52,0x80]
+          vcvtneph2hf8s  -256(%edx){1to16}, %xmm2 {%k7} {z}
+
+// CHECK: vcvtneph2hf8s  268435456(%esp,%esi,8), %ymm2
+// CHECK: encoding: [0x62,0xf5,0x7e,0x48,0x1b,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtneph2hf8s  268435456(%esp,%esi,8), %ymm2
+
+// CHECK: vcvtneph2hf8s  291(%edi,%eax,4), %ymm2 {%k7}
+// CHECK: encoding: [0x62,0xf5,0x7e,0x4f,0x1b,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtneph2hf8s  291(%edi,%eax,4), %ymm2 {%k7}
+
+// CHECK: vcvtneph2hf8s  (%eax){1to32}, %ymm2
+// CHECK: encoding: [0x62,0xf5,0x7e,0x58,0x1b,0x10]
+          vcvtneph2hf8s  (%eax){1to32}, %ymm2
+
+// CHECK: vcvtneph2hf8s  -2048(,%ebp,2), %ymm2
+// CHECK: encoding: [0x62,0xf5,0x7e,0x48,0x1b,0x14,0x6d,0x00,0xf8,0xff,0xff]
+          vcvtneph2hf8s  -2048(,%ebp,2), %ymm2
+
+// CHECK: vcvtneph2hf8s  8128(%ecx), %ymm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x7e,0xcf,0x1b,0x51,0x7f]
+          vcvtneph2hf8s  8128(%ecx), %ymm2 {%k7} {z}
+
+// CHECK: vcvtneph2hf8s  -256(%edx){1to32}, %ymm2 {%k7} {z}
+// CHECK: encoding: [0x62,0xf5,0x7e,0xdf,0x1b,0x52,0x80]
+          vcvtneph2hf8s  -256(%edx){1to32}, %ymm2 {%k7} {z}
+
diff --git a/llvm/test/MC/X86/avx10.2convert-32-intel.s b/llvm/test/MC/X86/avx10.2convert-32-intel.s
new file mode 100644
index 0000000000000..493cdae7a6425
--- /dev/null
+++ b/llvm/test/MC/X86/avx10.2convert-32-intel.s
@@ -0,0 +1,1490 @@
+// RUN: llvm-mc -triple i386 -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s
+
+// CHECK: vcvt2ps2phx ymm2, ymm3, ymm4
+// 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
+
+// CHECK: vcvt2ps2phx zmm2, zmm3, zmm4, {rn-sae}
+// CHECK: encoding: [0x62,0xf2,0x65,0x18,0x67,0xd4]
+          vcvt2ps2phx zmm2, zmm3, zmm4, {rn-sae}
+
+// CHECK: vcvt2ps2phx zmm2 {k7}, zmm3, zmm4
+// CHECK: encoding: [0x62,0xf2,0x65,0x4f,0x67,0xd4]
+          vcvt2ps2phx zmm2 {k7}, zmm3, zmm4
+
+// CHECK: vcvt2ps2phx zmm2 {k7} {z}, zmm3, zmm4, {rz-sae}
+// CHECK: encoding: [0x62,0xf2,0x65,0xff,0x67,0xd4]
+          vcvt2ps2phx zmm2 {k7} {z}, zmm3, zmm4, {rz-sae}
+
+// CHECK: vcvt2ps2phx xmm2, xmm3, xmm4
+// CHECK: encoding: [0x62,0xf2,0x65,0x08,0x67,0xd4]
+          vcvt2ps2phx xmm2, xmm3, xmm4
+
+// CHECK: vcvt2ps2phx xmm2 {k7}, xmm3, xmm4
+// CHECK: encoding: [0x62,0xf2,0x65,0x0f,0x67,0xd4]
+          vcvt2ps2phx xmm2 {k7}, xmm3, xmm4
+
+// CHECK: vcvt2ps2phx xmm2 {k7} {z}, xmm3, xmm4
+// CHECK: encoding: [0x62,0xf2,0x65,0x8f,0x67,0xd4]
+          vcvt2ps2phx xmm2 {k7} {z}, xmm3, xmm4
+
+// CHECK: vcvt2ps2phx zmm2, zmm3, zmmword ptr [esp + 8*esi + 268435456]
+// CHECK: encoding: [0x62,0xf2,0x65,0x48,0x67,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvt2ps2phx zmm2, zmm3, zmmword ptr [esp + 8*esi + 268435456]
+
+// CHECK: vcvt2ps2phx zmm2 {k7}, zmm3, zmmword ptr [edi + 4*eax + 291]
+// CHECK: encoding: [0x62,0xf2,0x65,0x4f,0x67,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvt2ps2phx zmm2 {k7}, zmm3, zmmword ptr [edi + 4*eax + 291]
+
+// CHECK: vcvt2ps2phx zmm2, zmm3, dword ptr [eax]{1to16}
+// CHECK: encoding: [0x62,0xf2,0x65,0x58,0x67,0x10]
+          vcvt2ps2phx zmm2, zmm3, dword ptr [eax]{1to16}
+
+// CHECK: vcvt2ps2phx zmm2, zmm3, zmmword ptr [2*ebp - 2048]
+// CHECK: encoding: [0x62,0xf2,0x65,0x48,0x67,0x14,0x6d,0x00,0xf8,0xff,0xff]
+          vcvt2ps2phx zmm2, zmm3, zmmword ptr [2*ebp - 2048]
+
+// CHECK: vcvt2ps2phx zmm2 {k7} {z}, zmm3, zmmword ptr [ecx + 8128]
+// CHECK: encoding: [0x62,0xf2,0x65,0xcf,0x67,0x51,0x7f]
+          vcvt2ps2phx zmm2 {k7} {z}, zmm3, zmmword ptr [ecx + 8128]
+
+// CHECK: vcvt2ps2phx zmm2 {k7} {z}, zmm3, dword ptr [edx - 512]{1to16}
+// CHECK: encoding: [0x62,0xf2,0x65,0xdf,0x67,0x52,0x80]
+          vcvt2ps2phx zmm2 {k7} {z}, zmm3, dword ptr [edx - 512]{1to16}
+
+// CHECK: vcvt2ps2phx ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
+// CHECK: encoding: [0x62,0xf2,0x65,0x28,0x67,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvt2ps2phx ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
+
+// CHECK: vcvt2ps2phx ymm2 {k7}, ymm3, ymmword ptr [edi + 4*eax + 291]
+// CHECK: encoding: [0x62,0xf2,0x65,0x2f,0x67,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvt2ps2phx ymm2 {k7}, ymm3, ymmword ptr [edi + 4*eax + 291]
+
+// CHECK: vcvt2ps2phx ymm2, ymm3, dword ptr [eax]{1to8}
+// CHECK: encoding: [0x62,0xf2,0x65,0x38,0x67,0x10]
+          vcvt2ps2phx ymm2, ymm3, dword ptr [eax]{1to8}
+
+// CHECK: vcvt2ps2phx ymm2, ymm3, ymmword ptr [2*ebp - 1024]
+// CHECK: encoding: [0x62,0xf2,0x65,0x28,0x67,0x14,0x6d,0x00,0xfc,0xff,0xff]
+          vcvt2ps2phx ymm2, ymm3, ymmword ptr [2*ebp - 1024]
+
+// CHECK: vcvt2ps2phx ymm2 {k7} {z}, ymm3, ymmword ptr [ecx + 4064]
+// CHECK: encoding: [0x62,0xf2,0x65,0xaf,0x67,0x51,0x7f]
+          vcvt2ps2phx ymm2 {k7} {z}, ymm3, ymmword ptr [ecx + 4064]
+
+// CHECK: vcvt2ps2phx ymm2 {k7} {z}, ymm3, dword ptr [edx - 512]{1to8}
+// CHECK: encoding: [0x62,0xf2,0x65,0xbf,0x67,0x52,0x80]
+          vcvt2ps2phx ymm2 {k7} {z}, ymm3, dword ptr [edx - 512]{1to8}
+
+// CHECK: vcvt2ps2phx xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
+// CHECK: encoding: [0x62,0xf2,0x65,0x08,0x67,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvt2ps2phx xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
+
+// CHECK: vcvt2ps2phx xmm2 {k7}, xmm3, xmmword ptr [edi + 4*eax + 291]
+// CHECK: encoding: [0x62,0xf2,0x65,0x0f,0x67,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvt2ps2phx xmm2 {k7}, xmm3, xmmword ptr [edi + 4*eax + 291]
+
+// CHECK: vcvt2ps2phx xmm2, xmm3, dword ptr [eax]{1to4}
+// CHECK: encoding: [0x62,0xf2,0x65,0x18,0x67,0x10]
+          vcvt2ps2phx xmm2, xmm3, dword ptr [eax]{1to4}
+
+// CHECK: vcvt2ps2phx xmm2, xmm3, xmmword ptr [2*ebp - 512]
+// CHECK: encoding: [0x62,0xf2,0x65,0x08,0x67,0x14,0x6d,0x00,0xfe,0xff,0xff]
+          vcvt2ps2phx xmm2, xmm3, xmmword ptr [2*ebp - 512]
+
+// CHECK: vcvt2ps2phx xmm2 {k7} {z}, xmm3, xmmword ptr [ecx + 2032]
+// CHECK: encoding: [0x62,0xf2,0x65,0x8f,0x67,0x51,0x7f]
+          vcvt2ps2phx xmm2 {k7} {z}, xmm3, xmmword ptr [ecx + 2032]
+
+// CHECK: vcvt2ps2phx xmm2 {k7} {z}, xmm3, dword ptr [edx - 512]{1to4}
+// CHECK: encoding: [0x62,0xf2,0x65,0x9f,0x67,0x52,0x80]
+          vcvt2ps2phx xmm2 {k7} {z}, xmm3, dword ptr [edx - 512]{1to4}
+
+// CHECK: vcvtbiasph2bf8 ymm2, zmm3, zmm4
+// CHECK: encoding: [0x62,0xf2,0x64,0x48,0x74,0xd4]
+          vcvtbiasph2bf8 ymm2, zmm3, zmm4
+
+// CHECK: vcvtbiasph2bf8 ymm2 {k7}, zmm3, zmm4
+// CHECK: encoding: [0x62,0xf2,0x64,0x4f,0x74,0xd4]
+          vcvtbiasph2bf8 ymm2 {k7}, zmm3, zmm4
+
+// CHECK: vcvtbiasph2bf8 ymm2 {k7} {z}, zmm3, zmm4
+// CHECK: encoding: [0x62,0xf2,0x64,0xcf,0x74,0xd4]
+          vcvtbiasph2bf8 ymm2 {k7} {z}, zmm3, zmm4
+
+// CHECK: vcvtbiasph2bf8 xmm2, xmm3, xmm4
+// CHECK: encoding: [0x62,0xf2,0x64,0x08,0x74,0xd4]
+          vcvtbiasph2bf8 xmm2, xmm3, xmm4
+
+// CHECK: vcvtbiasph2bf8 xmm2 {k7}, xmm3, xmm4
+// CHECK: encoding: [0x62,0xf2,0x64,0x0f,0x74,0xd4]
+          vcvtbiasph2bf8 xmm2 {k7}, xmm3, xmm4
+
+// CHECK: vcvtbiasph2bf8 xmm2 {k7} {z}, xmm3, xmm4
+// CHECK: encoding: [0x62,0xf2,0x64,0x8f,0x74,0xd4]
+          vcvtbiasph2bf8 xmm2 {k7} {z}, xmm3, xmm4
+
+// CHECK: vcvtbiasph2bf8 xmm2, ymm3, ymm4
+// CHECK: encoding: [0x62,0xf2,0x64,0x28,0x74,0xd4]
+          vcvtbiasph2bf8 xmm2, ymm3, ymm4
+
+// CHECK: vcvtbiasph2bf8 xmm2 {k7}, ymm3, ymm4
+// CHECK: encoding: [0x62,0xf2,0x64,0x2f,0x74,0xd4]
+          vcvtbiasph2bf8 xmm2 {k7}, ymm3, ymm4
+
+// CHECK: vcvtbiasph2bf8 xmm2 {k7} {z}, ymm3, ymm4
+// CHECK: encoding: [0x62,0xf2,0x64,0xaf,0x74,0xd4]
+          vcvtbiasph2bf8 xmm2 {k7} {z}, ymm3, ymm4
+
+// CHECK: vcvtbiasph2bf8 xmm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
+// CHECK: encoding: [0x62,0xf2,0x64,0x28,0x74,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtbiasph2bf8 xmm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
+
+// CHECK: vcvtbiasph2bf8 xmm2 {k7}, ymm3, ymmword ptr [edi + 4*eax + 291]
+// CHECK: encoding: [0x62,0xf2,0x64,0x2f,0x74,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtbiasph2bf8 xmm2 {k7}, ymm3, ymmword ptr [edi + 4*eax + 291]
+
+// CHECK: vcvtbiasph2bf8 xmm2, ymm3, word ptr [eax]{1to16}
+// CHECK: encoding: [0x62,0xf2,0x64,0x38,0x74,0x10]
+          vcvtbiasph2bf8 xmm2, ymm3, word ptr [eax]{1to16}
+
+// CHECK: vcvtbiasph2bf8 xmm2, ymm3, ymmword ptr [2*ebp - 1024]
+// CHECK: encoding: [0x62,0xf2,0x64,0x28,0x74,0x14,0x6d,0x00,0xfc,0xff,0xff]
+          vcvtbiasph2bf8 xmm2, ymm3, ymmword ptr [2*ebp - 1024]
+
+// CHECK: vcvtbiasph2bf8 xmm2 {k7} {z}, ymm3, ymmword ptr [ecx + 4064]
+// CHECK: encoding: [0x62,0xf2,0x64,0xaf,0x74,0x51,0x7f]
+          vcvtbiasph2bf8 xmm2 {k7} {z}, ymm3, ymmword ptr [ecx + 4064]
+
+// CHECK: vcvtbiasph2bf8 xmm2 {k7} {z}, ymm3, word ptr [edx - 256]{1to16}
+// CHECK: encoding: [0x62,0xf2,0x64,0xbf,0x74,0x52,0x80]
+          vcvtbiasph2bf8 xmm2 {k7} {z}, ymm3, word ptr [edx - 256]{1to16}
+
+// CHECK: vcvtbiasph2bf8 ymm2, zmm3, zmmword ptr [esp + 8*esi + 268435456]
+// CHECK: encoding: [0x62,0xf2,0x64,0x48,0x74,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtbiasph2bf8 ymm2, zmm3, zmmword ptr [esp + 8*esi + 268435456]
+
+// CHECK: vcvtbiasph2bf8 ymm2 {k7}, zmm3, zmmword ptr [edi + 4*eax + 291]
+// CHECK: encoding: [0x62,0xf2,0x64,0x4f,0x74,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtbiasph2bf8 ymm2 {k7}, zmm3, zmmword ptr [edi + 4*eax + 291]
+
+// CHECK: vcvtbiasph2bf8 ymm2, zmm3, word ptr [eax]{1to32}
+// CHECK: encoding: [0x62,0xf2,0x64,0x58,0x74,0x10]
+          vcvtbiasph2bf8 ymm2, zmm3, word ptr [eax]{1to32}
+
+// CHECK: vcvtbiasph2bf8 ymm2, zmm3, zmmword ptr [2*ebp - 2048]
+// CHECK: encoding: [0x62,0xf2,0x64,0x48,0x74,0x14,0x6d,0x00,0xf8,0xff,0xff]
+          vcvtbiasph2bf8 ymm2, zmm3, zmmword ptr [2*ebp - 2048]
+
+// CHECK: vcvtbiasph2bf8 ymm2 {k7} {z}, zmm3, zmmword ptr [ecx + 8128]
+// CHECK: encoding: [0x62,0xf2,0x64,0xcf,0x74,0x51,0x7f]
+          vcvtbiasph2bf8 ymm2 {k7} {z}, zmm3, zmmword ptr [ecx + 8128]
+
+// CHECK: vcvtbiasph2bf8 ymm2 {k7} {z}, zmm3, word ptr [edx - 256]{1to32}
+// CHECK: encoding: [0x62,0xf2,0x64,0xdf,0x74,0x52,0x80]
+          vcvtbiasph2bf8 ymm2 {k7} {z}, zmm3, word ptr [edx - 256]{1to32}
+
+// CHECK: vcvtbiasph2bf8 xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
+// CHECK: encoding: [0x62,0xf2,0x64,0x08,0x74,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtbiasph2bf8 xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
+
+// CHECK: vcvtbiasph2bf8 xmm2 {k7}, xmm3, xmmword ptr [edi + 4*eax + 291]
+// CHECK: encoding: [0x62,0xf2,0x64,0x0f,0x74,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtbiasph2bf8 xmm2 {k7}, xmm3, xmmword ptr [edi + 4*eax + 291]
+
+// CHECK: vcvtbiasph2bf8 xmm2, xmm3, word ptr [eax]{1to8}
+// CHECK: encoding: [0x62,0xf2,0x64,0x18,0x74,0x10]
+          vcvtbiasph2bf8 xmm2, xmm3, word ptr [eax]{1to8}
+
+// CHECK: vcvtbiasph2bf8 xmm2, xmm3, xmmword ptr [2*ebp - 512]
+// CHECK: encoding: [0x62,0xf2,0x64,0x08,0x74,0x14,0x6d,0x00,0xfe,0xff,0xff]
+          vcvtbiasph2bf8 xmm2, xmm3, xmmword ptr [2*ebp - 512]
+
+// CHECK: vcvtbiasph2bf8 xmm2 {k7} {z}, xmm3, xmmword ptr [ecx + 2032]
+// CHECK: encoding: [0x62,0xf2,0x64,0x8f,0x74,0x51,0x7f]
+          vcvtbiasph2bf8 xmm2 {k7} {z}, xmm3, xmmword ptr [ecx + 2032]
+
+// CHECK: vcvtbiasph2bf8 xmm2 {k7} {z}, xmm3, word ptr [edx - 256]{1to8}
+// CHECK: encoding: [0x62,0xf2,0x64,0x9f,0x74,0x52,0x80]
+          vcvtbiasph2bf8 xmm2 {k7} {z}, xmm3, word ptr [edx - 256]{1to8}
+
+// CHECK: vcvtbiasph2bf8s ymm2, zmm3, zmm4
+// CHECK: encoding: [0x62,0xf5,0x64,0x48,0x74,0xd4]
+          vcvtbiasph2bf8s ymm2, zmm3, zmm4
+
+// CHECK: vcvtbiasph2bf8s ymm2 {k7}, zmm3, zmm4
+// CHECK: encoding: [0x62,0xf5,0x64,0x4f,0x74,0xd4]
+          vcvtbiasph2bf8s ymm2 {k7}, zmm3, zmm4
+
+// CHECK: vcvtbiasph2bf8s ymm2 {k7} {z}, zmm3, zmm4
+// CHECK: encoding: [0x62,0xf5,0x64,0xcf,0x74,0xd4]
+          vcvtbiasph2bf8s ymm2 {k7} {z}, zmm3, zmm4
+
+// CHECK: vcvtbiasph2bf8s xmm2, xmm3, xmm4
+// CHECK: encoding: [0x62,0xf5,0x64,0x08,0x74,0xd4]
+          vcvtbiasph2bf8s xmm2, xmm3, xmm4
+
+// CHECK: vcvtbiasph2bf8s xmm2 {k7}, xmm3, xmm4
+// CHECK: encoding: [0x62,0xf5,0x64,0x0f,0x74,0xd4]
+          vcvtbiasph2bf8s xmm2 {k7}, xmm3, xmm4
+
+// CHECK: vcvtbiasph2bf8s xmm2 {k7} {z}, xmm3, xmm4
+// CHECK: encoding: [0x62,0xf5,0x64,0x8f,0x74,0xd4]
+          vcvtbiasph2bf8s xmm2 {k7} {z}, xmm3, xmm4
+
+// CHECK: vcvtbiasph2bf8s xmm2, ymm3, ymm4
+// CHECK: encoding: [0x62,0xf5,0x64,0x28,0x74,0xd4]
+          vcvtbiasph2bf8s xmm2, ymm3, ymm4
+
+// CHECK: vcvtbiasph2bf8s xmm2 {k7}, ymm3, ymm4
+// CHECK: encoding: [0x62,0xf5,0x64,0x2f,0x74,0xd4]
+          vcvtbiasph2bf8s xmm2 {k7}, ymm3, ymm4
+
+// CHECK: vcvtbiasph2bf8s xmm2 {k7} {z}, ymm3, ymm4
+// CHECK: encoding: [0x62,0xf5,0x64,0xaf,0x74,0xd4]
+          vcvtbiasph2bf8s xmm2 {k7} {z}, ymm3, ymm4
+
+// CHECK: vcvtbiasph2bf8s xmm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
+// CHECK: encoding: [0x62,0xf5,0x64,0x28,0x74,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtbiasph2bf8s xmm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
+
+// CHECK: vcvtbiasph2bf8s xmm2 {k7}, ymm3, ymmword ptr [edi + 4*eax + 291]
+// CHECK: encoding: [0x62,0xf5,0x64,0x2f,0x74,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtbiasph2bf8s xmm2 {k7}, ymm3, ymmword ptr [edi + 4*eax + 291]
+
+// CHECK: vcvtbiasph2bf8s xmm2, ymm3, word ptr [eax]{1to16}
+// CHECK: encoding: [0x62,0xf5,0x64,0x38,0x74,0x10]
+          vcvtbiasph2bf8s xmm2, ymm3, word ptr [eax]{1to16}
+
+// CHECK: vcvtbiasph2bf8s xmm2, ymm3, ymmword ptr [2*ebp - 1024]
+// CHECK: encoding: [0x62,0xf5,0x64,0x28,0x74,0x14,0x6d,0x00,0xfc,0xff,0xff]
+          vcvtbiasph2bf8s xmm2, ymm3, ymmword ptr [2*ebp - 1024]
+
+// CHECK: vcvtbiasph2bf8s xmm2 {k7} {z}, ymm3, ymmword ptr [ecx + 4064]
+// CHECK: encoding: [0x62,0xf5,0x64,0xaf,0x74,0x51,0x7f]
+          vcvtbiasph2bf8s xmm2 {k7} {z}, ymm3, ymmword ptr [ecx + 4064]
+
+// CHECK: vcvtbiasph2bf8s xmm2 {k7} {z}, ymm3, word ptr [edx - 256]{1to16}
+// CHECK: encoding: [0x62,0xf5,0x64,0xbf,0x74,0x52,0x80]
+          vcvtbiasph2bf8s xmm2 {k7} {z}, ymm3, word ptr [edx - 256]{1to16}
+
+// CHECK: vcvtbiasph2bf8s ymm2, zmm3, zmmword ptr [esp + 8*esi + 268435456]
+// CHECK: encoding: [0x62,0xf5,0x64,0x48,0x74,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtbiasph2bf8s ymm2, zmm3, zmmword ptr [esp + 8*esi + 268435456]
+
+// CHECK: vcvtbiasph2bf8s ymm2 {k7}, zmm3, zmmword ptr [edi + 4*eax + 291]
+// CHECK: encoding: [0x62,0xf5,0x64,0x4f,0x74,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtbiasph2bf8s ymm2 {k7}, zmm3, zmmword ptr [edi + 4*eax + 291]
+
+// CHECK: vcvtbiasph2bf8s ymm2, zmm3, word ptr [eax]{1to32}
+// CHECK: encoding: [0x62,0xf5,0x64,0x58,0x74,0x10]
+          vcvtbiasph2bf8s ymm2, zmm3, word ptr [eax]{1to32}
+
+// CHECK: vcvtbiasph2bf8s ymm2, zmm3, zmmword ptr [2*ebp - 2048]
+// CHECK: encoding: [0x62,0xf5,0x64,0x48,0x74,0x14,0x6d,0x00,0xf8,0xff,0xff]
+          vcvtbiasph2bf8s ymm2, zmm3, zmmword ptr [2*ebp - 2048]
+
+// CHECK: vcvtbiasph2bf8s ymm2 {k7} {z}, zmm3, zmmword ptr [ecx + 8128]
+// CHECK: encoding: [0x62,0xf5,0x64,0xcf,0x74,0x51,0x7f]
+          vcvtbiasph2bf8s ymm2 {k7} {z}, zmm3, zmmword ptr [ecx + 8128]
+
+// CHECK: vcvtbiasph2bf8s ymm2 {k7} {z}, zmm3, word ptr [edx - 256]{1to32}
+// CHECK: encoding: [0x62,0xf5,0x64,0xdf,0x74,0x52,0x80]
+          vcvtbiasph2bf8s ymm2 {k7} {z}, zmm3, word ptr [edx - 256]{1to32}
+
+// CHECK: vcvtbiasph2bf8s xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
+// CHECK: encoding: [0x62,0xf5,0x64,0x08,0x74,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtbiasph2bf8s xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
+
+// CHECK: vcvtbiasph2bf8s xmm2 {k7}, xmm3, xmmword ptr [edi + 4*eax + 291]
+// CHECK: encoding: [0x62,0xf5,0x64,0x0f,0x74,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtbiasph2bf8s xmm2 {k7}, xmm3, xmmword ptr [edi + 4*eax + 291]
+
+// CHECK: vcvtbiasph2bf8s xmm2, xmm3, word ptr [eax]{1to8}
+// CHECK: encoding: [0x62,0xf5,0x64,0x18,0x74,0x10]
+          vcvtbiasph2bf8s xmm2, xmm3, word ptr [eax]{1to8}
+
+// CHECK: vcvtbiasph2bf8s xmm2, xmm3, xmmword ptr [2*ebp - 512]
+// CHECK: encoding: [0x62,0xf5,0x64,0x08,0x74,0x14,0x6d,0x00,0xfe,0xff,0xff]
+          vcvtbiasph2bf8s xmm2, xmm3, xmmword ptr [2*ebp - 512]
+
+// CHECK: vcvtbiasph2bf8s xmm2 {k7} {z}, xmm3, xmmword ptr [ecx + 2032]
+// CHECK: encoding: [0x62,0xf5,0x64,0x8f,0x74,0x51,0x7f]
+          vcvtbiasph2bf8s xmm2 {k7} {z}, xmm3, xmmword ptr [ecx + 2032]
+
+// CHECK: vcvtbiasph2bf8s xmm2 {k7} {z}, xmm3, word ptr [edx - 256]{1to8}
+// CHECK: encoding: [0x62,0xf5,0x64,0x9f,0x74,0x52,0x80]
+          vcvtbiasph2bf8s xmm2 {k7} {z}, xmm3, word ptr [edx - 256]{1to8}
+
+// CHECK: vcvtbiasph2hf8 ymm2, zmm3, zmm4
+// CHECK: encoding: [0x62,0xf5,0x64,0x48,0x18,0xd4]
+          vcvtbiasph2hf8 ymm2, zmm3, zmm4
+
+// CHECK: vcvtbiasph2hf8 ymm2 {k7}, zmm3, zmm4
+// CHECK: encoding: [0x62,0xf5,0x64,0x4f,0x18,0xd4]
+          vcvtbiasph2hf8 ymm2 {k7}, zmm3, zmm4
+
+// CHECK: vcvtbiasph2hf8 ymm2 {k7} {z}, zmm3, zmm4
+// CHECK: encoding: [0x62,0xf5,0x64,0xcf,0x18,0xd4]
+          vcvtbiasph2hf8 ymm2 {k7} {z}, zmm3, zmm4
+
+// CHECK: vcvtbiasph2hf8 xmm2, xmm3, xmm4
+// CHECK: encoding: [0x62,0xf5,0x64,0x08,0x18,0xd4]
+          vcvtbiasph2hf8 xmm2, xmm3, xmm4
+
+// CHECK: vcvtbiasph2hf8 xmm2 {k7}, xmm3, xmm4
+// CHECK: encoding: [0x62,0xf5,0x64,0x0f,0x18,0xd4]
+          vcvtbiasph2hf8 xmm2 {k7}, xmm3, xmm4
+
+// CHECK: vcvtbiasph2hf8 xmm2 {k7} {z}, xmm3, xmm4
+// CHECK: encoding: [0x62,0xf5,0x64,0x8f,0x18,0xd4]
+          vcvtbiasph2hf8 xmm2 {k7} {z}, xmm3, xmm4
+
+// CHECK: vcvtbiasph2hf8 xmm2, ymm3, ymm4
+// CHECK: encoding: [0x62,0xf5,0x64,0x28,0x18,0xd4]
+          vcvtbiasph2hf8 xmm2, ymm3, ymm4
+
+// CHECK: vcvtbiasph2hf8 xmm2 {k7}, ymm3, ymm4
+// CHECK: encoding: [0x62,0xf5,0x64,0x2f,0x18,0xd4]
+          vcvtbiasph2hf8 xmm2 {k7}, ymm3, ymm4
+
+// CHECK: vcvtbiasph2hf8 xmm2 {k7} {z}, ymm3, ymm4
+// CHECK: encoding: [0x62,0xf5,0x64,0xaf,0x18,0xd4]
+          vcvtbiasph2hf8 xmm2 {k7} {z}, ymm3, ymm4
+
+// CHECK: vcvtbiasph2hf8 xmm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
+// CHECK: encoding: [0x62,0xf5,0x64,0x28,0x18,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtbiasph2hf8 xmm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
+
+// CHECK: vcvtbiasph2hf8 xmm2 {k7}, ymm3, ymmword ptr [edi + 4*eax + 291]
+// CHECK: encoding: [0x62,0xf5,0x64,0x2f,0x18,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtbiasph2hf8 xmm2 {k7}, ymm3, ymmword ptr [edi + 4*eax + 291]
+
+// CHECK: vcvtbiasph2hf8 xmm2, ymm3, word ptr [eax]{1to16}
+// CHECK: encoding: [0x62,0xf5,0x64,0x38,0x18,0x10]
+          vcvtbiasph2hf8 xmm2, ymm3, word ptr [eax]{1to16}
+
+// CHECK: vcvtbiasph2hf8 xmm2, ymm3, ymmword ptr [2*ebp - 1024]
+// CHECK: encoding: [0x62,0xf5,0x64,0x28,0x18,0x14,0x6d,0x00,0xfc,0xff,0xff]
+          vcvtbiasph2hf8 xmm2, ymm3, ymmword ptr [2*ebp - 1024]
+
+// CHECK: vcvtbiasph2hf8 xmm2 {k7} {z}, ymm3, ymmword ptr [ecx + 4064]
+// CHECK: encoding: [0x62,0xf5,0x64,0xaf,0x18,0x51,0x7f]
+          vcvtbiasph2hf8 xmm2 {k7} {z}, ymm3, ymmword ptr [ecx + 4064]
+
+// CHECK: vcvtbiasph2hf8 xmm2 {k7} {z}, ymm3, word ptr [edx - 256]{1to16}
+// CHECK: encoding: [0x62,0xf5,0x64,0xbf,0x18,0x52,0x80]
+          vcvtbiasph2hf8 xmm2 {k7} {z}, ymm3, word ptr [edx - 256]{1to16}
+
+// CHECK: vcvtbiasph2hf8 ymm2, zmm3, zmmword ptr [esp + 8*esi + 268435456]
+// CHECK: encoding: [0x62,0xf5,0x64,0x48,0x18,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtbiasph2hf8 ymm2, zmm3, zmmword ptr [esp + 8*esi + 268435456]
+
+// CHECK: vcvtbiasph2hf8 ymm2 {k7}, zmm3, zmmword ptr [edi + 4*eax + 291]
+// CHECK: encoding: [0x62,0xf5,0x64,0x4f,0x18,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtbiasph2hf8 ymm2 {k7}, zmm3, zmmword ptr [edi + 4*eax + 291]
+
+// CHECK: vcvtbiasph2hf8 ymm2, zmm3, word ptr [eax]{1to32}
+// CHECK: encoding: [0x62,0xf5,0x64,0x58,0x18,0x10]
+          vcvtbiasph2hf8 ymm2, zmm3, word ptr [eax]{1to32}
+
+// CHECK: vcvtbiasph2hf8 ymm2, zmm3, zmmword ptr [2*ebp - 2048]
+// CHECK: encoding: [0x62,0xf5,0x64,0x48,0x18,0x14,0x6d,0x00,0xf8,0xff,0xff]
+          vcvtbiasph2hf8 ymm2, zmm3, zmmword ptr [2*ebp - 2048]
+
+// CHECK: vcvtbiasph2hf8 ymm2 {k7} {z}, zmm3, zmmword ptr [ecx + 8128]
+// CHECK: encoding: [0x62,0xf5,0x64,0xcf,0x18,0x51,0x7f]
+          vcvtbiasph2hf8 ymm2 {k7} {z}, zmm3, zmmword ptr [ecx + 8128]
+
+// CHECK: vcvtbiasph2hf8 ymm2 {k7} {z}, zmm3, word ptr [edx - 256]{1to32}
+// CHECK: encoding: [0x62,0xf5,0x64,0xdf,0x18,0x52,0x80]
+          vcvtbiasph2hf8 ymm2 {k7} {z}, zmm3, word ptr [edx - 256]{1to32}
+
+// CHECK: vcvtbiasph2hf8 xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
+// CHECK: encoding: [0x62,0xf5,0x64,0x08,0x18,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtbiasph2hf8 xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
+
+// CHECK: vcvtbiasph2hf8 xmm2 {k7}, xmm3, xmmword ptr [edi + 4*eax + 291]
+// CHECK: encoding: [0x62,0xf5,0x64,0x0f,0x18,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtbiasph2hf8 xmm2 {k7}, xmm3, xmmword ptr [edi + 4*eax + 291]
+
+// CHECK: vcvtbiasph2hf8 xmm2, xmm3, word ptr [eax]{1to8}
+// CHECK: encoding: [0x62,0xf5,0x64,0x18,0x18,0x10]
+          vcvtbiasph2hf8 xmm2, xmm3, word ptr [eax]{1to8}
+
+// CHECK: vcvtbiasph2hf8 xmm2, xmm3, xmmword ptr [2*ebp - 512]
+// CHECK: encoding: [0x62,0xf5,0x64,0x08,0x18,0x14,0x6d,0x00,0xfe,0xff,0xff]
+          vcvtbiasph2hf8 xmm2, xmm3, xmmword ptr [2*ebp - 512]
+
+// CHECK: vcvtbiasph2hf8 xmm2 {k7} {z}, xmm3, xmmword ptr [ecx + 2032]
+// CHECK: encoding: [0x62,0xf5,0x64,0x8f,0x18,0x51,0x7f]
+          vcvtbiasph2hf8 xmm2 {k7} {z}, xmm3, xmmword ptr [ecx + 2032]
+
+// CHECK: vcvtbiasph2hf8 xmm2 {k7} {z}, xmm3, word ptr [edx - 256]{1to8}
+// CHECK: encoding: [0x62,0xf5,0x64,0x9f,0x18,0x52,0x80]
+          vcvtbiasph2hf8 xmm2 {k7} {z}, xmm3, word ptr [edx - 256]{1to8}
+
+// CHECK: vcvtbiasph2hf8s ymm2, zmm3, zmm4
+// CHECK: encoding: [0x62,0xf5,0x64,0x48,0x1b,0xd4]
+          vcvtbiasph2hf8s ymm2, zmm3, zmm4
+
+// CHECK: vcvtbiasph2hf8s ymm2 {k7}, zmm3, zmm4
+// CHECK: encoding: [0x62,0xf5,0x64,0x4f,0x1b,0xd4]
+          vcvtbiasph2hf8s ymm2 {k7}, zmm3, zmm4
+
+// CHECK: vcvtbiasph2hf8s ymm2 {k7} {z}, zmm3, zmm4
+// CHECK: encoding: [0x62,0xf5,0x64,0xcf,0x1b,0xd4]
+          vcvtbiasph2hf8s ymm2 {k7} {z}, zmm3, zmm4
+
+// CHECK: vcvtbiasph2hf8s xmm2, xmm3, xmm4
+// CHECK: encoding: [0x62,0xf5,0x64,0x08,0x1b,0xd4]
+          vcvtbiasph2hf8s xmm2, xmm3, xmm4
+
+// CHECK: vcvtbiasph2hf8s xmm2 {k7}, xmm3, xmm4
+// CHECK: encoding: [0x62,0xf5,0x64,0x0f,0x1b,0xd4]
+          vcvtbiasph2hf8s xmm2 {k7}, xmm3, xmm4
+
+// CHECK: vcvtbiasph2hf8s xmm2 {k7} {z}, xmm3, xmm4
+// CHECK: encoding: [0x62,0xf5,0x64,0x8f,0x1b,0xd4]
+          vcvtbiasph2hf8s xmm2 {k7} {z}, xmm3, xmm4
+
+// CHECK: vcvtbiasph2hf8s xmm2, ymm3, ymm4
+// CHECK: encoding: [0x62,0xf5,0x64,0x28,0x1b,0xd4]
+          vcvtbiasph2hf8s xmm2, ymm3, ymm4
+
+// CHECK: vcvtbiasph2hf8s xmm2 {k7}, ymm3, ymm4
+// CHECK: encoding: [0x62,0xf5,0x64,0x2f,0x1b,0xd4]
+          vcvtbiasph2hf8s xmm2 {k7}, ymm3, ymm4
+
+// CHECK: vcvtbiasph2hf8s xmm2 {k7} {z}, ymm3, ymm4
+// CHECK: encoding: [0x62,0xf5,0x64,0xaf,0x1b,0xd4]
+          vcvtbiasph2hf8s xmm2 {k7} {z}, ymm3, ymm4
+
+// CHECK: vcvtbiasph2hf8s xmm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
+// CHECK: encoding: [0x62,0xf5,0x64,0x28,0x1b,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtbiasph2hf8s xmm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
+
+// CHECK: vcvtbiasph2hf8s xmm2 {k7}, ymm3, ymmword ptr [edi + 4*eax + 291]
+// CHECK: encoding: [0x62,0xf5,0x64,0x2f,0x1b,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtbiasph2hf8s xmm2 {k7}, ymm3, ymmword ptr [edi + 4*eax + 291]
+
+// CHECK: vcvtbiasph2hf8s xmm2, ymm3, word ptr [eax]{1to16}
+// CHECK: encoding: [0x62,0xf5,0x64,0x38,0x1b,0x10]
+          vcvtbiasph2hf8s xmm2, ymm3, word ptr [eax]{1to16}
+
+// CHECK: vcvtbiasph2hf8s xmm2, ymm3, ymmword ptr [2*ebp - 1024]
+// CHECK: encoding: [0x62,0xf5,0x64,0x28,0x1b,0x14,0x6d,0x00,0xfc,0xff,0xff]
+          vcvtbiasph2hf8s xmm2, ymm3, ymmword ptr [2*ebp - 1024]
+
+// CHECK: vcvtbiasph2hf8s xmm2 {k7} {z}, ymm3, ymmword ptr [ecx + 4064]
+// CHECK: encoding: [0x62,0xf5,0x64,0xaf,0x1b,0x51,0x7f]
+          vcvtbiasph2hf8s xmm2 {k7} {z}, ymm3, ymmword ptr [ecx + 4064]
+
+// CHECK: vcvtbiasph2hf8s xmm2 {k7} {z}, ymm3, word ptr [edx - 256]{1to16}
+// CHECK: encoding: [0x62,0xf5,0x64,0xbf,0x1b,0x52,0x80]
+          vcvtbiasph2hf8s xmm2 {k7} {z}, ymm3, word ptr [edx - 256]{1to16}
+
+// CHECK: vcvtbiasph2hf8s ymm2, zmm3, zmmword ptr [esp + 8*esi + 268435456]
+// CHECK: encoding: [0x62,0xf5,0x64,0x48,0x1b,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtbiasph2hf8s ymm2, zmm3, zmmword ptr [esp + 8*esi + 268435456]
+
+// CHECK: vcvtbiasph2hf8s ymm2 {k7}, zmm3, zmmword ptr [edi + 4*eax + 291]
+// CHECK: encoding: [0x62,0xf5,0x64,0x4f,0x1b,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtbiasph2hf8s ymm2 {k7}, zmm3, zmmword ptr [edi + 4*eax + 291]
+
+// CHECK: vcvtbiasph2hf8s ymm2, zmm3, word ptr [eax]{1to32}
+// CHECK: encoding: [0x62,0xf5,0x64,0x58,0x1b,0x10]
+          vcvtbiasph2hf8s ymm2, zmm3, word ptr [eax]{1to32}
+
+// CHECK: vcvtbiasph2hf8s ymm2, zmm3, zmmword ptr [2*ebp - 2048]
+// CHECK: encoding: [0x62,0xf5,0x64,0x48,0x1b,0x14,0x6d,0x00,0xf8,0xff,0xff]
+          vcvtbiasph2hf8s ymm2, zmm3, zmmword ptr [2*ebp - 2048]
+
+// CHECK: vcvtbiasph2hf8s ymm2 {k7} {z}, zmm3, zmmword ptr [ecx + 8128]
+// CHECK: encoding: [0x62,0xf5,0x64,0xcf,0x1b,0x51,0x7f]
+          vcvtbiasph2hf8s ymm2 {k7} {z}, zmm3, zmmword ptr [ecx + 8128]
+
+// CHECK: vcvtbiasph2hf8s ymm2 {k7} {z}, zmm3, word ptr [edx - 256]{1to32}
+// CHECK: encoding: [0x62,0xf5,0x64,0xdf,0x1b,0x52,0x80]
+          vcvtbiasph2hf8s ymm2 {k7} {z}, zmm3, word ptr [edx - 256]{1to32}
+
+// CHECK: vcvtbiasph2hf8s xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
+// CHECK: encoding: [0x62,0xf5,0x64,0x08,0x1b,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtbiasph2hf8s xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
+
+// CHECK: vcvtbiasph2hf8s xmm2 {k7}, xmm3, xmmword ptr [edi + 4*eax + 291]
+// CHECK: encoding: [0x62,0xf5,0x64,0x0f,0x1b,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtbiasph2hf8s xmm2 {k7}, xmm3, xmmword ptr [edi + 4*eax + 291]
+
+// CHECK: vcvtbiasph2hf8s xmm2, xmm3, word ptr [eax]{1to8}
+// CHECK: encoding: [0x62,0xf5,0x64,0x18,0x1b,0x10]
+          vcvtbiasph2hf8s xmm2, xmm3, word ptr [eax]{1to8}
+
+// CHECK: vcvtbiasph2hf8s xmm2, xmm3, xmmword ptr [2*ebp - 512]
+// CHECK: encoding: [0x62,0xf5,0x64,0x08,0x1b,0x14,0x6d,0x00,0xfe,0xff,0xff]
+          vcvtbiasph2hf8s xmm2, xmm3, xmmword ptr [2*ebp - 512]
+
+// CHECK: vcvtbiasph2hf8s xmm2 {k7} {z}, xmm3, xmmword ptr [ecx + 2032]
+// CHECK: encoding: [0x62,0xf5,0x64,0x8f,0x1b,0x51,0x7f]
+          vcvtbiasph2hf8s xmm2 {k7} {z}, xmm3, xmmword ptr [ecx + 2032]
+
+// CHECK: vcvtbiasph2hf8s xmm2 {k7} {z}, xmm3, word ptr [edx - 256]{1to8}
+// CHECK: encoding: [0x62,0xf5,0x64,0x9f,0x1b,0x52,0x80]
+          vcvtbiasph2hf8s xmm2 {k7} {z}, xmm3, word ptr [edx - 256]{1to8}
+
+// CHECK: vcvthf82ph xmm2, xmm3
+// CHECK: encoding: [0x62,0xf5,0x7f,0x08,0x1e,0xd3]
+          vcvthf82ph xmm2, xmm3
+
+// CHECK: vcvthf82ph xmm2 {k7}, xmm3
+// CHECK: encoding: [0x62,0xf5,0x7f,0x0f,0x1e,0xd3]
+          vcvthf82ph xmm2 {k7}, xmm3
+
+// CHECK: vcvthf82ph xmm2 {k7} {z}, xmm3
+// CHECK: encoding: [0x62,0xf5,0x7f,0x8f,0x1e,0xd3]
+          vcvthf82ph xmm2 {k7} {z}, xmm3
+
+// CHECK: vcvthf82ph ymm2, xmm3
+// CHECK: encoding: [0x62,0xf5,0x7f,0x28,0x1e,0xd3]
+          vcvthf82ph ymm2, xmm3
+
+// CHECK: vcvthf82ph ymm2 {k7}, xmm3
+// CHECK: encoding: [0x62,0xf5,0x7f,0x2f,0x1e,0xd3]
+          vcvthf82ph ymm2 {k7}, xmm3
+
+// CHECK: vcvthf82ph ymm2 {k7} {z}, xmm3
+// CHECK: encoding: [0x62,0xf5,0x7f,0xaf,0x1e,0xd3]
+          vcvthf82ph ymm2 {k7} {z}, xmm3
+
+// CHECK: vcvthf82ph zmm2, ymm3
+// CHECK: encoding: [0x62,0xf5,0x7f,0x48,0x1e,0xd3]
+          vcvthf82ph zmm2, ymm3
+
+// CHECK: vcvthf82ph zmm2 {k7}, ymm3
+// CHECK: encoding: [0x62,0xf5,0x7f,0x4f,0x1e,0xd3]
+          vcvthf82ph zmm2 {k7}, ymm3
+
+// CHECK: vcvthf82ph zmm2 {k7} {z}, ymm3
+// CHECK: encoding: [0x62,0xf5,0x7f,0xcf,0x1e,0xd3]
+          vcvthf82ph zmm2 {k7} {z}, ymm3
+
+// CHECK: vcvthf82ph xmm2, qword ptr [esp + 8*esi + 268435456]
+// CHECK: encoding: [0x62,0xf5,0x7f,0x08,0x1e,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvthf82ph xmm2, qword ptr [esp + 8*esi + 268435456]
+
+// CHECK: vcvthf82ph xmm2 {k7}, qword ptr [edi + 4*eax + 291]
+// CHECK: encoding: [0x62,0xf5,0x7f,0x0f,0x1e,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvthf82ph xmm2 {k7}, qword ptr [edi + 4*eax + 291]
+
+// CHECK: vcvthf82ph xmm2, qword ptr [eax]
+// CHECK: encoding: [0x62,0xf5,0x7f,0x08,0x1e,0x10]
+          vcvthf82ph xmm2, qword ptr [eax]
+
+// CHECK: vcvthf82ph xmm2, qword ptr [2*ebp - 256]
+// CHECK: encoding: [0x62,0xf5,0x7f,0x08,0x1e,0x14,0x6d,0x00,0xff,0xff,0xff]
+          vcvthf82ph xmm2, qword ptr [2*ebp - 256]
+
+// CHECK: vcvthf82ph xmm2 {k7} {z}, qword ptr [ecx + 1016]
+// CHECK: encoding: [0x62,0xf5,0x7f,0x8f,0x1e,0x51,0x7f]
+          vcvthf82ph xmm2 {k7} {z}, qword ptr [ecx + 1016]
+
+// CHECK: vcvthf82ph xmm2 {k7} {z}, qword ptr [edx - 1024]
+// CHECK: encoding: [0x62,0xf5,0x7f,0x8f,0x1e,0x52,0x80]
+          vcvthf82ph xmm2 {k7} {z}, qword ptr [edx - 1024]
+
+// CHECK: vcvthf82ph ymm2, xmmword ptr [esp + 8*esi + 268435456]
+// CHECK: encoding: [0x62,0xf5,0x7f,0x28,0x1e,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvthf82ph ymm2, xmmword ptr [esp + 8*esi + 268435456]
+
+// CHECK: vcvthf82ph ymm2 {k7}, xmmword ptr [edi + 4*eax + 291]
+// CHECK: encoding: [0x62,0xf5,0x7f,0x2f,0x1e,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvthf82ph ymm2 {k7}, xmmword ptr [edi + 4*eax + 291]
+
+// CHECK: vcvthf82ph ymm2, xmmword ptr [eax]
+// CHECK: encoding: [0x62,0xf5,0x7f,0x28,0x1e,0x10]
+          vcvthf82ph ymm2, xmmword ptr [eax]
+
+// CHECK: vcvthf82ph ymm2, xmmword ptr [2*ebp - 512]
+// CHECK: encoding: [0x62,0xf5,0x7f,0x28,0x1e,0x14,0x6d,0x00,0xfe,0xff,0xff]
+          vcvthf82ph ymm2, xmmword ptr [2*ebp - 512]
+
+// CHECK: vcvthf82ph ymm2 {k7} {z}, xmmword ptr [ecx + 2032]
+// CHECK: encoding: [0x62,0xf5,0x7f,0xaf,0x1e,0x51,0x7f]
+          vcvthf82ph ymm2 {k7} {z}, xmmword ptr [ecx + 2032]
+
+// CHECK: vcvthf82ph ymm2 {k7} {z}, xmmword ptr [edx - 2048]
+// CHECK: encoding: [0x62,0xf5,0x7f,0xaf,0x1e,0x52,0x80]
+          vcvthf82ph ymm2 {k7} {z}, xmmword ptr [edx - 2048]
+
+// CHECK: vcvthf82ph zmm2, ymmword ptr [esp + 8*esi + 268435456]
+// CHECK: encoding: [0x62,0xf5,0x7f,0x48,0x1e,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvthf82ph zmm2, ymmword ptr [esp + 8*esi + 268435456]
+
+// CHECK: vcvthf82ph zmm2 {k7}, ymmword ptr [edi + 4*eax + 291]
+// CHECK: encoding: [0x62,0xf5,0x7f,0x4f,0x1e,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvthf82ph zmm2 {k7}, ymmword ptr [edi + 4*eax + 291]
+
+// CHECK: vcvthf82ph zmm2, ymmword ptr [eax]
+// CHECK: encoding: [0x62,0xf5,0x7f,0x48,0x1e,0x10]
+          vcvthf82ph zmm2, ymmword ptr [eax]
+
+// CHECK: vcvthf82ph zmm2, ymmword ptr [2*ebp - 1024]
+// CHECK: encoding: [0x62,0xf5,0x7f,0x48,0x1e,0x14,0x6d,0x00,0xfc,0xff,0xff]
+          vcvthf82ph zmm2, ymmword ptr [2*ebp - 1024]
+
+// CHECK: vcvthf82ph zmm2 {k7} {z}, ymmword ptr [ecx + 4064]
+// CHECK: encoding: [0x62,0xf5,0x7f,0xcf,0x1e,0x51,0x7f]
+          vcvthf82ph zmm2 {k7} {z}, ymmword ptr [ecx + 4064]
+
+// CHECK: vcvthf82ph zmm2 {k7} {z}, ymmword ptr [edx - 4096]
+// CHECK: encoding: [0x62,0xf5,0x7f,0xcf,0x1e,0x52,0x80]
+          vcvthf82ph zmm2 {k7} {z}, ymmword ptr [edx - 4096]
+
+// CHECK: vcvtne2ph2bf8 ymm2, ymm3, ymm4
+// CHECK: encoding: [0x62,0xf2,0x67,0x28,0x74,0xd4]
+          vcvtne2ph2bf8 ymm2, ymm3, ymm4
+
+// CHECK: vcvtne2ph2bf8 ymm2 {k7}, ymm3, ymm4
+// CHECK: encoding: [0x62,0xf2,0x67,0x2f,0x74,0xd4]
+          vcvtne2ph2bf8 ymm2 {k7}, ymm3, ymm4
+
+// CHECK: vcvtne2ph2bf8 ymm2 {k7} {z}, ymm3, ymm4
+// CHECK: encoding: [0x62,0xf2,0x67,0xaf,0x74,0xd4]
+          vcvtne2ph2bf8 ymm2 {k7} {z}, ymm3, ymm4
+
+// CHECK: vcvtne2ph2bf8 zmm2, zmm3, zmm4
+// CHECK: encoding: [0x62,0xf2,0x67,0x48,0x74,0xd4]
+          vcvtne2ph2bf8 zmm2, zmm3, zmm4
+
+// CHECK: vcvtne2ph2bf8 zmm2 {k7}, zmm3, zmm4
+// CHECK: encoding: [0x62,0xf2,0x67,0x4f,0x74,0xd4]
+          vcvtne2ph2bf8 zmm2 {k7}, zmm3, zmm4
+
+// CHECK: vcvtne2ph2bf8 zmm2 {k7} {z}, zmm3, zmm4
+// CHECK: encoding: [0x62,0xf2,0x67,0xcf,0x74,0xd4]
+          vcvtne2ph2bf8 zmm2 {k7} {z}, zmm3, zmm4
+
+// CHECK: vcvtne2ph2bf8 xmm2, xmm3, xmm4
+// CHECK: encoding: [0x62,0xf2,0x67,0x08,0x74,0xd4]
+          vcvtne2ph2bf8 xmm2, xmm3, xmm4
+
+// CHECK: vcvtne2ph2bf8 xmm2 {k7}, xmm3, xmm4
+// CHECK: encoding: [0x62,0xf2,0x67,0x0f,0x74,0xd4]
+          vcvtne2ph2bf8 xmm2 {k7}, xmm3, xmm4
+
+// CHECK: vcvtne2ph2bf8 xmm2 {k7} {z}, xmm3, xmm4
+// CHECK: encoding: [0x62,0xf2,0x67,0x8f,0x74,0xd4]
+          vcvtne2ph2bf8 xmm2 {k7} {z}, xmm3, xmm4
+
+// CHECK: vcvtne2ph2bf8 zmm2, zmm3, zmmword ptr [esp + 8*esi + 268435456]
+// CHECK: encoding: [0x62,0xf2,0x67,0x48,0x74,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtne2ph2bf8 zmm2, zmm3, zmmword ptr [esp + 8*esi + 268435456]
+
+// CHECK: vcvtne2ph2bf8 zmm2 {k7}, zmm3, zmmword ptr [edi + 4*eax + 291]
+// CHECK: encoding: [0x62,0xf2,0x67,0x4f,0x74,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtne2ph2bf8 zmm2 {k7}, zmm3, zmmword ptr [edi + 4*eax + 291]
+
+// CHECK: vcvtne2ph2bf8 zmm2, zmm3, word ptr [eax]{1to32}
+// CHECK: encoding: [0x62,0xf2,0x67,0x58,0x74,0x10]
+          vcvtne2ph2bf8 zmm2, zmm3, word ptr [eax]{1to32}
+
+// CHECK: vcvtne2ph2bf8 zmm2, zmm3, zmmword ptr [2*ebp - 2048]
+// CHECK: encoding: [0x62,0xf2,0x67,0x48,0x74,0x14,0x6d,0x00,0xf8,0xff,0xff]
+          vcvtne2ph2bf8 zmm2, zmm3, zmmword ptr [2*ebp - 2048]
+
+// CHECK: vcvtne2ph2bf8 zmm2 {k7} {z}, zmm3, zmmword ptr [ecx + 8128]
+// CHECK: encoding: [0x62,0xf2,0x67,0xcf,0x74,0x51,0x7f]
+          vcvtne2ph2bf8 zmm2 {k7} {z}, zmm3, zmmword ptr [ecx + 8128]
+
+// CHECK: vcvtne2ph2bf8 zmm2 {k7} {z}, zmm3, word ptr [edx - 256]{1to32}
+// CHECK: encoding: [0x62,0xf2,0x67,0xdf,0x74,0x52,0x80]
+          vcvtne2ph2bf8 zmm2 {k7} {z}, zmm3, word ptr [edx - 256]{1to32}
+
+// CHECK: vcvtne2ph2bf8 ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
+// CHECK: encoding: [0x62,0xf2,0x67,0x28,0x74,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtne2ph2bf8 ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
+
+// CHECK: vcvtne2ph2bf8 ymm2 {k7}, ymm3, ymmword ptr [edi + 4*eax + 291]
+// CHECK: encoding: [0x62,0xf2,0x67,0x2f,0x74,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtne2ph2bf8 ymm2 {k7}, ymm3, ymmword ptr [edi + 4*eax + 291]
+
+// CHECK: vcvtne2ph2bf8 ymm2, ymm3, word ptr [eax]{1to16}
+// CHECK: encoding: [0x62,0xf2,0x67,0x38,0x74,0x10]
+          vcvtne2ph2bf8 ymm2, ymm3, word ptr [eax]{1to16}
+
+// CHECK: vcvtne2ph2bf8 ymm2, ymm3, ymmword ptr [2*ebp - 1024]
+// CHECK: encoding: [0x62,0xf2,0x67,0x28,0x74,0x14,0x6d,0x00,0xfc,0xff,0xff]
+          vcvtne2ph2bf8 ymm2, ymm3, ymmword ptr [2*ebp - 1024]
+
+// CHECK: vcvtne2ph2bf8 ymm2 {k7} {z}, ymm3, ymmword ptr [ecx + 4064]
+// CHECK: encoding: [0x62,0xf2,0x67,0xaf,0x74,0x51,0x7f]
+          vcvtne2ph2bf8 ymm2 {k7} {z}, ymm3, ymmword ptr [ecx + 4064]
+
+// CHECK: vcvtne2ph2bf8 ymm2 {k7} {z}, ymm3, word ptr [edx - 256]{1to16}
+// CHECK: encoding: [0x62,0xf2,0x67,0xbf,0x74,0x52,0x80]
+          vcvtne2ph2bf8 ymm2 {k7} {z}, ymm3, word ptr [edx - 256]{1to16}
+
+// CHECK: vcvtne2ph2bf8 xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
+// CHECK: encoding: [0x62,0xf2,0x67,0x08,0x74,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtne2ph2bf8 xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
+
+// CHECK: vcvtne2ph2bf8 xmm2 {k7}, xmm3, xmmword ptr [edi + 4*eax + 291]
+// CHECK: encoding: [0x62,0xf2,0x67,0x0f,0x74,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtne2ph2bf8 xmm2 {k7}, xmm3, xmmword ptr [edi + 4*eax + 291]
+
+// CHECK: vcvtne2ph2bf8 xmm2, xmm3, word ptr [eax]{1to8}
+// CHECK: encoding: [0x62,0xf2,0x67,0x18,0x74,0x10]
+          vcvtne2ph2bf8 xmm2, xmm3, word ptr [eax]{1to8}
+
+// CHECK: vcvtne2ph2bf8 xmm2, xmm3, xmmword ptr [2*ebp - 512]
+// CHECK: encoding: [0x62,0xf2,0x67,0x08,0x74,0x14,0x6d,0x00,0xfe,0xff,0xff]
+          vcvtne2ph2bf8 xmm2, xmm3, xmmword ptr [2*ebp - 512]
+
+// CHECK: vcvtne2ph2bf8 xmm2 {k7} {z}, xmm3, xmmword ptr [ecx + 2032]
+// CHECK: encoding: [0x62,0xf2,0x67,0x8f,0x74,0x51,0x7f]
+          vcvtne2ph2bf8 xmm2 {k7} {z}, xmm3, xmmword ptr [ecx + 2032]
+
+// CHECK: vcvtne2ph2bf8 xmm2 {k7} {z}, xmm3, word ptr [edx - 256]{1to8}
+// CHECK: encoding: [0x62,0xf2,0x67,0x9f,0x74,0x52,0x80]
+          vcvtne2ph2bf8 xmm2 {k7} {z}, xmm3, word ptr [edx - 256]{1to8}
+
+// CHECK: vcvtne2ph2bf8s ymm2, ymm3, ymm4
+// CHECK: encoding: [0x62,0xf5,0x67,0x28,0x74,0xd4]
+          vcvtne2ph2bf8s ymm2, ymm3, ymm4
+
+// CHECK: vcvtne2ph2bf8s ymm2 {k7}, ymm3, ymm4
+// CHECK: encoding: [0x62,0xf5,0x67,0x2f,0x74,0xd4]
+          vcvtne2ph2bf8s ymm2 {k7}, ymm3, ymm4
+
+// CHECK: vcvtne2ph2bf8s ymm2 {k7} {z}, ymm3, ymm4
+// CHECK: encoding: [0x62,0xf5,0x67,0xaf,0x74,0xd4]
+          vcvtne2ph2bf8s ymm2 {k7} {z}, ymm3, ymm4
+
+// CHECK: vcvtne2ph2bf8s zmm2, zmm3, zmm4
+// CHECK: encoding: [0x62,0xf5,0x67,0x48,0x74,0xd4]
+          vcvtne2ph2bf8s zmm2, zmm3, zmm4
+
+// CHECK: vcvtne2ph2bf8s zmm2 {k7}, zmm3, zmm4
+// CHECK: encoding: [0x62,0xf5,0x67,0x4f,0x74,0xd4]
+          vcvtne2ph2bf8s zmm2 {k7}, zmm3, zmm4
+
+// CHECK: vcvtne2ph2bf8s zmm2 {k7} {z}, zmm3, zmm4
+// CHECK: encoding: [0x62,0xf5,0x67,0xcf,0x74,0xd4]
+          vcvtne2ph2bf8s zmm2 {k7} {z}, zmm3, zmm4
+
+// CHECK: vcvtne2ph2bf8s xmm2, xmm3, xmm4
+// CHECK: encoding: [0x62,0xf5,0x67,0x08,0x74,0xd4]
+          vcvtne2ph2bf8s xmm2, xmm3, xmm4
+
+// CHECK: vcvtne2ph2bf8s xmm2 {k7}, xmm3, xmm4
+// CHECK: encoding: [0x62,0xf5,0x67,0x0f,0x74,0xd4]
+          vcvtne2ph2bf8s xmm2 {k7}, xmm3, xmm4
+
+// CHECK: vcvtne2ph2bf8s xmm2 {k7} {z}, xmm3, xmm4
+// CHECK: encoding: [0x62,0xf5,0x67,0x8f,0x74,0xd4]
+          vcvtne2ph2bf8s xmm2 {k7} {z}, xmm3, xmm4
+
+// CHECK: vcvtne2ph2bf8s zmm2, zmm3, zmmword ptr [esp + 8*esi + 268435456]
+// CHECK: encoding: [0x62,0xf5,0x67,0x48,0x74,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtne2ph2bf8s zmm2, zmm3, zmmword ptr [esp + 8*esi + 268435456]
+
+// CHECK: vcvtne2ph2bf8s zmm2 {k7}, zmm3, zmmword ptr [edi + 4*eax + 291]
+// CHECK: encoding: [0x62,0xf5,0x67,0x4f,0x74,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtne2ph2bf8s zmm2 {k7}, zmm3, zmmword ptr [edi + 4*eax + 291]
+
+// CHECK: vcvtne2ph2bf8s zmm2, zmm3, word ptr [eax]{1to32}
+// CHECK: encoding: [0x62,0xf5,0x67,0x58,0x74,0x10]
+          vcvtne2ph2bf8s zmm2, zmm3, word ptr [eax]{1to32}
+
+// CHECK: vcvtne2ph2bf8s zmm2, zmm3, zmmword ptr [2*ebp - 2048]
+// CHECK: encoding: [0x62,0xf5,0x67,0x48,0x74,0x14,0x6d,0x00,0xf8,0xff,0xff]
+          vcvtne2ph2bf8s zmm2, zmm3, zmmword ptr [2*ebp - 2048]
+
+// CHECK: vcvtne2ph2bf8s zmm2 {k7} {z}, zmm3, zmmword ptr [ecx + 8128]
+// CHECK: encoding: [0x62,0xf5,0x67,0xcf,0x74,0x51,0x7f]
+          vcvtne2ph2bf8s zmm2 {k7} {z}, zmm3, zmmword ptr [ecx + 8128]
+
+// CHECK: vcvtne2ph2bf8s zmm2 {k7} {z}, zmm3, word ptr [edx - 256]{1to32}
+// CHECK: encoding: [0x62,0xf5,0x67,0xdf,0x74,0x52,0x80]
+          vcvtne2ph2bf8s zmm2 {k7} {z}, zmm3, word ptr [edx - 256]{1to32}
+
+// CHECK: vcvtne2ph2bf8s ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
+// CHECK: encoding: [0x62,0xf5,0x67,0x28,0x74,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtne2ph2bf8s ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
+
+// CHECK: vcvtne2ph2bf8s ymm2 {k7}, ymm3, ymmword ptr [edi + 4*eax + 291]
+// CHECK: encoding: [0x62,0xf5,0x67,0x2f,0x74,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtne2ph2bf8s ymm2 {k7}, ymm3, ymmword ptr [edi + 4*eax + 291]
+
+// CHECK: vcvtne2ph2bf8s ymm2, ymm3, word ptr [eax]{1to16}
+// CHECK: encoding: [0x62,0xf5,0x67,0x38,0x74,0x10]
+          vcvtne2ph2bf8s ymm2, ymm3, word ptr [eax]{1to16}
+
+// CHECK: vcvtne2ph2bf8s ymm2, ymm3, ymmword ptr [2*ebp - 1024]
+// CHECK: encoding: [0x62,0xf5,0x67,0x28,0x74,0x14,0x6d,0x00,0xfc,0xff,0xff]
+          vcvtne2ph2bf8s ymm2, ymm3, ymmword ptr [2*ebp - 1024]
+
+// CHECK: vcvtne2ph2bf8s ymm2 {k7} {z}, ymm3, ymmword ptr [ecx + 4064]
+// CHECK: encoding: [0x62,0xf5,0x67,0xaf,0x74,0x51,0x7f]
+          vcvtne2ph2bf8s ymm2 {k7} {z}, ymm3, ymmword ptr [ecx + 4064]
+
+// CHECK: vcvtne2ph2bf8s ymm2 {k7} {z}, ymm3, word ptr [edx - 256]{1to16}
+// CHECK: encoding: [0x62,0xf5,0x67,0xbf,0x74,0x52,0x80]
+          vcvtne2ph2bf8s ymm2 {k7} {z}, ymm3, word ptr [edx - 256]{1to16}
+
+// CHECK: vcvtne2ph2bf8s xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
+// CHECK: encoding: [0x62,0xf5,0x67,0x08,0x74,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtne2ph2bf8s xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
+
+// CHECK: vcvtne2ph2bf8s xmm2 {k7}, xmm3, xmmword ptr [edi + 4*eax + 291]
+// CHECK: encoding: [0x62,0xf5,0x67,0x0f,0x74,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtne2ph2bf8s xmm2 {k7}, xmm3, xmmword ptr [edi + 4*eax + 291]
+
+// CHECK: vcvtne2ph2bf8s xmm2, xmm3, word ptr [eax]{1to8}
+// CHECK: encoding: [0x62,0xf5,0x67,0x18,0x74,0x10]
+          vcvtne2ph2bf8s xmm2, xmm3, word ptr [eax]{1to8}
+
+// CHECK: vcvtne2ph2bf8s xmm2, xmm3, xmmword ptr [2*ebp - 512]
+// CHECK: encoding: [0x62,0xf5,0x67,0x08,0x74,0x14,0x6d,0x00,0xfe,0xff,0xff]
+          vcvtne2ph2bf8s xmm2, xmm3, xmmword ptr [2*ebp - 512]
+
+// CHECK: vcvtne2ph2bf8s xmm2 {k7} {z}, xmm3, xmmword ptr [ecx + 2032]
+// CHECK: encoding: [0x62,0xf5,0x67,0x8f,0x74,0x51,0x7f]
+          vcvtne2ph2bf8s xmm2 {k7} {z}, xmm3, xmmword ptr [ecx + 2032]
+
+// CHECK: vcvtne2ph2bf8s xmm2 {k7} {z}, xmm3, word ptr [edx - 256]{1to8}
+// CHECK: encoding: [0x62,0xf5,0x67,0x9f,0x74,0x52,0x80]
+          vcvtne2ph2bf8s xmm2 {k7} {z}, xmm3, word ptr [edx - 256]{1to8}
+
+// CHECK: vcvtne2ph2hf8 ymm2, ymm3, ymm4
+// CHECK: encoding: [0x62,0xf5,0x67,0x28,0x18,0xd4]
+          vcvtne2ph2hf8 ymm2, ymm3, ymm4
+
+// CHECK: vcvtne2ph2hf8 ymm2 {k7}, ymm3, ymm4
+// CHECK: encoding: [0x62,0xf5,0x67,0x2f,0x18,0xd4]
+          vcvtne2ph2hf8 ymm2 {k7}, ymm3, ymm4
+
+// CHECK: vcvtne2ph2hf8 ymm2 {k7} {z}, ymm3, ymm4
+// CHECK: encoding: [0x62,0xf5,0x67,0xaf,0x18,0xd4]
+          vcvtne2ph2hf8 ymm2 {k7} {z}, ymm3, ymm4
+
+// CHECK: vcvtne2ph2hf8 zmm2, zmm3, zmm4
+// CHECK: encoding: [0x62,0xf5,0x67,0x48,0x18,0xd4]
+          vcvtne2ph2hf8 zmm2, zmm3, zmm4
+
+// CHECK: vcvtne2ph2hf8 zmm2 {k7}, zmm3, zmm4
+// CHECK: encoding: [0x62,0xf5,0x67,0x4f,0x18,0xd4]
+          vcvtne2ph2hf8 zmm2 {k7}, zmm3, zmm4
+
+// CHECK: vcvtne2ph2hf8 zmm2 {k7} {z}, zmm3, zmm4
+// CHECK: encoding: [0x62,0xf5,0x67,0xcf,0x18,0xd4]
+          vcvtne2ph2hf8 zmm2 {k7} {z}, zmm3, zmm4
+
+// CHECK: vcvtne2ph2hf8 xmm2, xmm3, xmm4
+// CHECK: encoding: [0x62,0xf5,0x67,0x08,0x18,0xd4]
+          vcvtne2ph2hf8 xmm2, xmm3, xmm4
+
+// CHECK: vcvtne2ph2hf8 xmm2 {k7}, xmm3, xmm4
+// CHECK: encoding: [0x62,0xf5,0x67,0x0f,0x18,0xd4]
+          vcvtne2ph2hf8 xmm2 {k7}, xmm3, xmm4
+
+// CHECK: vcvtne2ph2hf8 xmm2 {k7} {z}, xmm3, xmm4
+// CHECK: encoding: [0x62,0xf5,0x67,0x8f,0x18,0xd4]
+          vcvtne2ph2hf8 xmm2 {k7} {z}, xmm3, xmm4
+
+// CHECK: vcvtne2ph2hf8 zmm2, zmm3, zmmword ptr [esp + 8*esi + 268435456]
+// CHECK: encoding: [0x62,0xf5,0x67,0x48,0x18,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtne2ph2hf8 zmm2, zmm3, zmmword ptr [esp + 8*esi + 268435456]
+
+// CHECK: vcvtne2ph2hf8 zmm2 {k7}, zmm3, zmmword ptr [edi + 4*eax + 291]
+// CHECK: encoding: [0x62,0xf5,0x67,0x4f,0x18,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtne2ph2hf8 zmm2 {k7}, zmm3, zmmword ptr [edi + 4*eax + 291]
+
+// CHECK: vcvtne2ph2hf8 zmm2, zmm3, word ptr [eax]{1to32}
+// CHECK: encoding: [0x62,0xf5,0x67,0x58,0x18,0x10]
+          vcvtne2ph2hf8 zmm2, zmm3, word ptr [eax]{1to32}
+
+// CHECK: vcvtne2ph2hf8 zmm2, zmm3, zmmword ptr [2*ebp - 2048]
+// CHECK: encoding: [0x62,0xf5,0x67,0x48,0x18,0x14,0x6d,0x00,0xf8,0xff,0xff]
+          vcvtne2ph2hf8 zmm2, zmm3, zmmword ptr [2*ebp - 2048]
+
+// CHECK: vcvtne2ph2hf8 zmm2 {k7} {z}, zmm3, zmmword ptr [ecx + 8128]
+// CHECK: encoding: [0x62,0xf5,0x67,0xcf,0x18,0x51,0x7f]
+          vcvtne2ph2hf8 zmm2 {k7} {z}, zmm3, zmmword ptr [ecx + 8128]
+
+// CHECK: vcvtne2ph2hf8 zmm2 {k7} {z}, zmm3, word ptr [edx - 256]{1to32}
+// CHECK: encoding: [0x62,0xf5,0x67,0xdf,0x18,0x52,0x80]
+          vcvtne2ph2hf8 zmm2 {k7} {z}, zmm3, word ptr [edx - 256]{1to32}
+
+// CHECK: vcvtne2ph2hf8 ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
+// CHECK: encoding: [0x62,0xf5,0x67,0x28,0x18,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtne2ph2hf8 ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
+
+// CHECK: vcvtne2ph2hf8 ymm2 {k7}, ymm3, ymmword ptr [edi + 4*eax + 291]
+// CHECK: encoding: [0x62,0xf5,0x67,0x2f,0x18,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtne2ph2hf8 ymm2 {k7}, ymm3, ymmword ptr [edi + 4*eax + 291]
+
+// CHECK: vcvtne2ph2hf8 ymm2, ymm3, word ptr [eax]{1to16}
+// CHECK: encoding: [0x62,0xf5,0x67,0x38,0x18,0x10]
+          vcvtne2ph2hf8 ymm2, ymm3, word ptr [eax]{1to16}
+
+// CHECK: vcvtne2ph2hf8 ymm2, ymm3, ymmword ptr [2*ebp - 1024]
+// CHECK: encoding: [0x62,0xf5,0x67,0x28,0x18,0x14,0x6d,0x00,0xfc,0xff,0xff]
+          vcvtne2ph2hf8 ymm2, ymm3, ymmword ptr [2*ebp - 1024]
+
+// CHECK: vcvtne2ph2hf8 ymm2 {k7} {z}, ymm3, ymmword ptr [ecx + 4064]
+// CHECK: encoding: [0x62,0xf5,0x67,0xaf,0x18,0x51,0x7f]
+          vcvtne2ph2hf8 ymm2 {k7} {z}, ymm3, ymmword ptr [ecx + 4064]
+
+// CHECK: vcvtne2ph2hf8 ymm2 {k7} {z}, ymm3, word ptr [edx - 256]{1to16}
+// CHECK: encoding: [0x62,0xf5,0x67,0xbf,0x18,0x52,0x80]
+          vcvtne2ph2hf8 ymm2 {k7} {z}, ymm3, word ptr [edx - 256]{1to16}
+
+// CHECK: vcvtne2ph2hf8 xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
+// CHECK: encoding: [0x62,0xf5,0x67,0x08,0x18,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtne2ph2hf8 xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
+
+// CHECK: vcvtne2ph2hf8 xmm2 {k7}, xmm3, xmmword ptr [edi + 4*eax + 291]
+// CHECK: encoding: [0x62,0xf5,0x67,0x0f,0x18,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtne2ph2hf8 xmm2 {k7}, xmm3, xmmword ptr [edi + 4*eax + 291]
+
+// CHECK: vcvtne2ph2hf8 xmm2, xmm3, word ptr [eax]{1to8}
+// CHECK: encoding: [0x62,0xf5,0x67,0x18,0x18,0x10]
+          vcvtne2ph2hf8 xmm2, xmm3, word ptr [eax]{1to8}
+
+// CHECK: vcvtne2ph2hf8 xmm2, xmm3, xmmword ptr [2*ebp - 512]
+// CHECK: encoding: [0x62,0xf5,0x67,0x08,0x18,0x14,0x6d,0x00,0xfe,0xff,0xff]
+          vcvtne2ph2hf8 xmm2, xmm3, xmmword ptr [2*ebp - 512]
+
+// CHECK: vcvtne2ph2hf8 xmm2 {k7} {z}, xmm3, xmmword ptr [ecx + 2032]
+// CHECK: encoding: [0x62,0xf5,0x67,0x8f,0x18,0x51,0x7f]
+          vcvtne2ph2hf8 xmm2 {k7} {z}, xmm3, xmmword ptr [ecx + 2032]
+
+// CHECK: vcvtne2ph2hf8 xmm2 {k7} {z}, xmm3, word ptr [edx - 256]{1to8}
+// CHECK: encoding: [0x62,0xf5,0x67,0x9f,0x18,0x52,0x80]
+          vcvtne2ph2hf8 xmm2 {k7} {z}, xmm3, word ptr [edx - 256]{1to8}
+
+// CHECK: vcvtne2ph2hf8s ymm2, ymm3, ymm4
+// CHECK: encoding: [0x62,0xf5,0x67,0x28,0x1b,0xd4]
+          vcvtne2ph2hf8s ymm2, ymm3, ymm4
+
+// CHECK: vcvtne2ph2hf8s ymm2 {k7}, ymm3, ymm4
+// CHECK: encoding: [0x62,0xf5,0x67,0x2f,0x1b,0xd4]
+          vcvtne2ph2hf8s ymm2 {k7}, ymm3, ymm4
+
+// CHECK: vcvtne2ph2hf8s ymm2 {k7} {z}, ymm3, ymm4
+// CHECK: encoding: [0x62,0xf5,0x67,0xaf,0x1b,0xd4]
+          vcvtne2ph2hf8s ymm2 {k7} {z}, ymm3, ymm4
+
+// CHECK: vcvtne2ph2hf8s zmm2, zmm3, zmm4
+// CHECK: encoding: [0x62,0xf5,0x67,0x48,0x1b,0xd4]
+          vcvtne2ph2hf8s zmm2, zmm3, zmm4
+
+// CHECK: vcvtne2ph2hf8s zmm2 {k7}, zmm3, zmm4
+// CHECK: encoding: [0x62,0xf5,0x67,0x4f,0x1b,0xd4]
+          vcvtne2ph2hf8s zmm2 {k7}, zmm3, zmm4
+
+// CHECK: vcvtne2ph2hf8s zmm2 {k7} {z}, zmm3, zmm4
+// CHECK: encoding: [0x62,0xf5,0x67,0xcf,0x1b,0xd4]
+          vcvtne2ph2hf8s zmm2 {k7} {z}, zmm3, zmm4
+
+// CHECK: vcvtne2ph2hf8s xmm2, xmm3, xmm4
+// CHECK: encoding: [0x62,0xf5,0x67,0x08,0x1b,0xd4]
+          vcvtne2ph2hf8s xmm2, xmm3, xmm4
+
+// CHECK: vcvtne2ph2hf8s xmm2 {k7}, xmm3, xmm4
+// CHECK: encoding: [0x62,0xf5,0x67,0x0f,0x1b,0xd4]
+          vcvtne2ph2hf8s xmm2 {k7}, xmm3, xmm4
+
+// CHECK: vcvtne2ph2hf8s xmm2 {k7} {z}, xmm3, xmm4
+// CHECK: encoding: [0x62,0xf5,0x67,0x8f,0x1b,0xd4]
+          vcvtne2ph2hf8s xmm2 {k7} {z}, xmm3, xmm4
+
+// CHECK: vcvtne2ph2hf8s zmm2, zmm3, zmmword ptr [esp + 8*esi + 268435456]
+// CHECK: encoding: [0x62,0xf5,0x67,0x48,0x1b,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtne2ph2hf8s zmm2, zmm3, zmmword ptr [esp + 8*esi + 268435456]
+
+// CHECK: vcvtne2ph2hf8s zmm2 {k7}, zmm3, zmmword ptr [edi + 4*eax + 291]
+// CHECK: encoding: [0x62,0xf5,0x67,0x4f,0x1b,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtne2ph2hf8s zmm2 {k7}, zmm3, zmmword ptr [edi + 4*eax + 291]
+
+// CHECK: vcvtne2ph2hf8s zmm2, zmm3, word ptr [eax]{1to32}
+// CHECK: encoding: [0x62,0xf5,0x67,0x58,0x1b,0x10]
+          vcvtne2ph2hf8s zmm2, zmm3, word ptr [eax]{1to32}
+
+// CHECK: vcvtne2ph2hf8s zmm2, zmm3, zmmword ptr [2*ebp - 2048]
+// CHECK: encoding: [0x62,0xf5,0x67,0x48,0x1b,0x14,0x6d,0x00,0xf8,0xff,0xff]
+          vcvtne2ph2hf8s zmm2, zmm3, zmmword ptr [2*ebp - 2048]
+
+// CHECK: vcvtne2ph2hf8s zmm2 {k7} {z}, zmm3, zmmword ptr [ecx + 8128]
+// CHECK: encoding: [0x62,0xf5,0x67,0xcf,0x1b,0x51,0x7f]
+          vcvtne2ph2hf8s zmm2 {k7} {z}, zmm3, zmmword ptr [ecx + 8128]
+
+// CHECK: vcvtne2ph2hf8s zmm2 {k7} {z}, zmm3, word ptr [edx - 256]{1to32}
+// CHECK: encoding: [0x62,0xf5,0x67,0xdf,0x1b,0x52,0x80]
+          vcvtne2ph2hf8s zmm2 {k7} {z}, zmm3, word ptr [edx - 256]{1to32}
+
+// CHECK: vcvtne2ph2hf8s ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
+// CHECK: encoding: [0x62,0xf5,0x67,0x28,0x1b,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtne2ph2hf8s ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
+
+// CHECK: vcvtne2ph2hf8s ymm2 {k7}, ymm3, ymmword ptr [edi + 4*eax + 291]
+// CHECK: encoding: [0x62,0xf5,0x67,0x2f,0x1b,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtne2ph2hf8s ymm2 {k7}, ymm3, ymmword ptr [edi + 4*eax + 291]
+
+// CHECK: vcvtne2ph2hf8s ymm2, ymm3, word ptr [eax]{1to16}
+// CHECK: encoding: [0x62,0xf5,0x67,0x38,0x1b,0x10]
+          vcvtne2ph2hf8s ymm2, ymm3, word ptr [eax]{1to16}
+
+// CHECK: vcvtne2ph2hf8s ymm2, ymm3, ymmword ptr [2*ebp - 1024]
+// CHECK: encoding: [0x62,0xf5,0x67,0x28,0x1b,0x14,0x6d,0x00,0xfc,0xff,0xff]
+          vcvtne2ph2hf8s ymm2, ymm3, ymmword ptr [2*ebp - 1024]
+
+// CHECK: vcvtne2ph2hf8s ymm2 {k7} {z}, ymm3, ymmword ptr [ecx + 4064]
+// CHECK: encoding: [0x62,0xf5,0x67,0xaf,0x1b,0x51,0x7f]
+          vcvtne2ph2hf8s ymm2 {k7} {z}, ymm3, ymmword ptr [ecx + 4064]
+
+// CHECK: vcvtne2ph2hf8s ymm2 {k7} {z}, ymm3, word ptr [edx - 256]{1to16}
+// CHECK: encoding: [0x62,0xf5,0x67,0xbf,0x1b,0x52,0x80]
+          vcvtne2ph2hf8s ymm2 {k7} {z}, ymm3, word ptr [edx - 256]{1to16}
+
+// CHECK: vcvtne2ph2hf8s xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
+// CHECK: encoding: [0x62,0xf5,0x67,0x08,0x1b,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtne2ph2hf8s xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
+
+// CHECK: vcvtne2ph2hf8s xmm2 {k7}, xmm3, xmmword ptr [edi + 4*eax + 291]
+// CHECK: encoding: [0x62,0xf5,0x67,0x0f,0x1b,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtne2ph2hf8s xmm2 {k7}, xmm3, xmmword ptr [edi + 4*eax + 291]
+
+// CHECK: vcvtne2ph2hf8s xmm2, xmm3, word ptr [eax]{1to8}
+// CHECK: encoding: [0x62,0xf5,0x67,0x18,0x1b,0x10]
+          vcvtne2ph2hf8s xmm2, xmm3, word ptr [eax]{1to8}
+
+// CHECK: vcvtne2ph2hf8s xmm2, xmm3, xmmword ptr [2*ebp - 512]
+// CHECK: encoding: [0x62,0xf5,0x67,0x08,0x1b,0x14,0x6d,0x00,0xfe,0xff,0xff]
+          vcvtne2ph2hf8s xmm2, xmm3, xmmword ptr [2*ebp - 512]
+
+// CHECK: vcvtne2ph2hf8s xmm2 {k7} {z}, xmm3, xmmword ptr [ecx + 2032]
+// CHECK: encoding: [0x62,0xf5,0x67,0x8f,0x1b,0x51,0x7f]
+          vcvtne2ph2hf8s xmm2 {k7} {z}, xmm3, xmmword ptr [ecx + 2032]
+
+// CHECK: vcvtne2ph2hf8s xmm2 {k7} {z}, xmm3, word ptr [edx - 256]{1to8}
+// CHECK: encoding: [0x62,0xf5,0x67,0x9f,0x1b,0x52,0x80]
+          vcvtne2ph2hf8s xmm2 {k7} {z}, xmm3, word ptr [edx - 256]{1to8}
+
+// CHECK: vcvtneph2bf8 xmm2, xmm3
+// CHECK: encoding: [0x62,0xf2,0x7e,0x08,0x74,0xd3]
+          vcvtneph2bf8 xmm2, xmm3
+
+// CHECK: vcvtneph2bf8 xmm2 {k7}, xmm3
+// CHECK: encoding: [0x62,0xf2,0x7e,0x0f,0x74,0xd3]
+          vcvtneph2bf8 xmm2 {k7}, xmm3
+
+// CHECK: vcvtneph2bf8 xmm2 {k7} {z}, xmm3
+// CHECK: encoding: [0x62,0xf2,0x7e,0x8f,0x74,0xd3]
+          vcvtneph2bf8 xmm2 {k7} {z}, xmm3
+
+// CHECK: vcvtneph2bf8 ymm2, zmm3
+// CHECK: encoding: [0x62,0xf2,0x7e,0x48,0x74,0xd3]
+          vcvtneph2bf8 ymm2, zmm3
+
+// CHECK: vcvtneph2bf8 ymm2 {k7}, zmm3
+// CHECK: encoding: [0x62,0xf2,0x7e,0x4f,0x74,0xd3]
+          vcvtneph2bf8 ymm2 {k7}, zmm3
+
+// CHECK: vcvtneph2bf8 ymm2 {k7} {z}, zmm3
+// CHECK: encoding: [0x62,0xf2,0x7e,0xcf,0x74,0xd3]
+          vcvtneph2bf8 ymm2 {k7} {z}, zmm3
+
+// CHECK: vcvtneph2bf8 xmm2, ymm3
+// CHECK: encoding: [0x62,0xf2,0x7e,0x28,0x74,0xd3]
+          vcvtneph2bf8 xmm2, ymm3
+
+// CHECK: vcvtneph2bf8 xmm2 {k7}, ymm3
+// CHECK: encoding: [0x62,0xf2,0x7e,0x2f,0x74,0xd3]
+          vcvtneph2bf8 xmm2 {k7}, ymm3
+
+// CHECK: vcvtneph2bf8 xmm2 {k7} {z}, ymm3
+// CHECK: encoding: [0x62,0xf2,0x7e,0xaf,0x74,0xd3]
+          vcvtneph2bf8 xmm2 {k7} {z}, ymm3
+
+// CHECK: vcvtneph2bf8 xmm2, xmmword ptr [esp + 8*esi + 268435456]
+// CHECK: encoding: [0x62,0xf2,0x7e,0x08,0x74,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtneph2bf8 xmm2, xmmword ptr [esp + 8*esi + 268435456]
+
+// CHECK: vcvtneph2bf8 xmm2 {k7}, xmmword ptr [edi + 4*eax + 291]
+// CHECK: encoding: [0x62,0xf2,0x7e,0x0f,0x74,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtneph2bf8 xmm2 {k7}, xmmword ptr [edi + 4*eax + 291]
+
+// CHECK: vcvtneph2bf8 xmm2, word ptr [eax]{1to8}
+// CHECK: encoding: [0x62,0xf2,0x7e,0x18,0x74,0x10]
+          vcvtneph2bf8 xmm2, word ptr [eax]{1to8}
+
+// CHECK: vcvtneph2bf8 xmm2, xmmword ptr [2*ebp - 512]
+// CHECK: encoding: [0x62,0xf2,0x7e,0x08,0x74,0x14,0x6d,0x00,0xfe,0xff,0xff]
+          vcvtneph2bf8 xmm2, xmmword ptr [2*ebp - 512]
+
+// CHECK: vcvtneph2bf8 xmm2 {k7} {z}, xmmword ptr [ecx + 2032]
+// CHECK: encoding: [0x62,0xf2,0x7e,0x8f,0x74,0x51,0x7f]
+          vcvtneph2bf8 xmm2 {k7} {z}, xmmword ptr [ecx + 2032]
+
+// CHECK: vcvtneph2bf8 xmm2 {k7} {z}, word ptr [edx - 256]{1to8}
+// CHECK: encoding: [0x62,0xf2,0x7e,0x9f,0x74,0x52,0x80]
+          vcvtneph2bf8 xmm2 {k7} {z}, word ptr [edx - 256]{1to8}
+
+// CHECK: vcvtneph2bf8 xmm2, word ptr [eax]{1to16}
+// CHECK: encoding: [0x62,0xf2,0x7e,0x38,0x74,0x10]
+          vcvtneph2bf8 xmm2, word ptr [eax]{1to16}
+
+// CHECK: vcvtneph2bf8 xmm2, ymmword ptr [2*ebp - 1024]
+// CHECK: encoding: [0x62,0xf2,0x7e,0x28,0x74,0x14,0x6d,0x00,0xfc,0xff,0xff]
+          vcvtneph2bf8 xmm2, ymmword ptr [2*ebp - 1024]
+
+// CHECK: vcvtneph2bf8 xmm2 {k7} {z}, ymmword ptr [ecx + 4064]
+// CHECK: encoding: [0x62,0xf2,0x7e,0xaf,0x74,0x51,0x7f]
+          vcvtneph2bf8 xmm2 {k7} {z}, ymmword ptr [ecx + 4064]
+
+// CHECK: vcvtneph2bf8 xmm2 {k7} {z}, word ptr [edx - 256]{1to16}
+// CHECK: encoding: [0x62,0xf2,0x7e,0xbf,0x74,0x52,0x80]
+          vcvtneph2bf8 xmm2 {k7} {z}, word ptr [edx - 256]{1to16}
+
+// CHECK: vcvtneph2bf8 ymm2, zmmword ptr [esp + 8*esi + 268435456]
+// CHECK: encoding: [0x62,0xf2,0x7e,0x48,0x74,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtneph2bf8 ymm2, zmmword ptr [esp + 8*esi + 268435456]
+
+// CHECK: vcvtneph2bf8 ymm2 {k7}, zmmword ptr [edi + 4*eax + 291]
+// CHECK: encoding: [0x62,0xf2,0x7e,0x4f,0x74,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtneph2bf8 ymm2 {k7}, zmmword ptr [edi + 4*eax + 291]
+
+// CHECK: vcvtneph2bf8 ymm2, word ptr [eax]{1to32}
+// CHECK: encoding: [0x62,0xf2,0x7e,0x58,0x74,0x10]
+          vcvtneph2bf8 ymm2, word ptr [eax]{1to32}
+
+// CHECK: vcvtneph2bf8 ymm2, zmmword ptr [2*ebp - 2048]
+// CHECK: encoding: [0x62,0xf2,0x7e,0x48,0x74,0x14,0x6d,0x00,0xf8,0xff,0xff]
+          vcvtneph2bf8 ymm2, zmmword ptr [2*ebp - 2048]
+
+// CHECK: vcvtneph2bf8 ymm2 {k7} {z}, zmmword ptr [ecx + 8128]
+// CHECK: encoding: [0x62,0xf2,0x7e,0xcf,0x74,0x51,0x7f]
+          vcvtneph2bf8 ymm2 {k7} {z}, zmmword ptr [ecx + 8128]
+
+// CHECK: vcvtneph2bf8 ymm2 {k7} {z}, word ptr [edx - 256]{1to32}
+// CHECK: encoding: [0x62,0xf2,0x7e,0xdf,0x74,0x52,0x80]
+          vcvtneph2bf8 ymm2 {k7} {z}, word ptr [edx - 256]{1to32}
+
+// CHECK: vcvtneph2bf8s xmm2, xmm3
+// CHECK: encoding: [0x62,0xf5,0x7e,0x08,0x74,0xd3]
+          vcvtneph2bf8s xmm2, xmm3
+
+// CHECK: vcvtneph2bf8s xmm2 {k7}, xmm3
+// CHECK: encoding: [0x62,0xf5,0x7e,0x0f,0x74,0xd3]
+          vcvtneph2bf8s xmm2 {k7}, xmm3
+
+// CHECK: vcvtneph2bf8s xmm2 {k7} {z}, xmm3
+// CHECK: encoding: [0x62,0xf5,0x7e,0x8f,0x74,0xd3]
+          vcvtneph2bf8s xmm2 {k7} {z}, xmm3
+
+// CHECK: vcvtneph2bf8s ymm2, zmm3
+// CHECK: encoding: [0x62,0xf5,0x7e,0x48,0x74,0xd3]
+          vcvtneph2bf8s ymm2, zmm3
+
+// CHECK: vcvtneph2bf8s ymm2 {k7}, zmm3
+// CHECK: encoding: [0x62,0xf5,0x7e,0x4f,0x74,0xd3]
+          vcvtneph2bf8s ymm2 {k7}, zmm3
+
+// CHECK: vcvtneph2bf8s ymm2 {k7} {z}, zmm3
+// CHECK: encoding: [0x62,0xf5,0x7e,0xcf,0x74,0xd3]
+          vcvtneph2bf8s ymm2 {k7} {z}, zmm3
+
+// CHECK: vcvtneph2bf8s xmm2, ymm3
+// CHECK: encoding: [0x62,0xf5,0x7e,0x28,0x74,0xd3]
+          vcvtneph2bf8s xmm2, ymm3
+
+// CHECK: vcvtneph2bf8s xmm2 {k7}, ymm3
+// CHECK: encoding: [0x62,0xf5,0x7e,0x2f,0x74,0xd3]
+          vcvtneph2bf8s xmm2 {k7}, ymm3
+
+// CHECK: vcvtneph2bf8s xmm2 {k7} {z}, ymm3
+// CHECK: encoding: [0x62,0xf5,0x7e,0xaf,0x74,0xd3]
+          vcvtneph2bf8s xmm2 {k7} {z}, ymm3
+
+// CHECK: vcvtneph2bf8s xmm2, xmmword ptr [esp + 8*esi + 268435456]
+// CHECK: encoding: [0x62,0xf5,0x7e,0x08,0x74,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtneph2bf8s xmm2, xmmword ptr [esp + 8*esi + 268435456]
+
+// CHECK: vcvtneph2bf8s xmm2 {k7}, xmmword ptr [edi + 4*eax + 291]
+// CHECK: encoding: [0x62,0xf5,0x7e,0x0f,0x74,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtneph2bf8s xmm2 {k7}, xmmword ptr [edi + 4*eax + 291]
+
+// CHECK: vcvtneph2bf8s xmm2, word ptr [eax]{1to8}
+// CHECK: encoding: [0x62,0xf5,0x7e,0x18,0x74,0x10]
+          vcvtneph2bf8s xmm2, word ptr [eax]{1to8}
+
+// CHECK: vcvtneph2bf8s xmm2, xmmword ptr [2*ebp - 512]
+// CHECK: encoding: [0x62,0xf5,0x7e,0x08,0x74,0x14,0x6d,0x00,0xfe,0xff,0xff]
+          vcvtneph2bf8s xmm2, xmmword ptr [2*ebp - 512]
+
+// CHECK: vcvtneph2bf8s xmm2 {k7} {z}, xmmword ptr [ecx + 2032]
+// CHECK: encoding: [0x62,0xf5,0x7e,0x8f,0x74,0x51,0x7f]
+          vcvtneph2bf8s xmm2 {k7} {z}, xmmword ptr [ecx + 2032]
+
+// CHECK: vcvtneph2bf8s xmm2 {k7} {z}, word ptr [edx - 256]{1to8}
+// CHECK: encoding: [0x62,0xf5,0x7e,0x9f,0x74,0x52,0x80]
+          vcvtneph2bf8s xmm2 {k7} {z}, word ptr [edx - 256]{1to8}
+
+// CHECK: vcvtneph2bf8s xmm2, word ptr [eax]{1to16}
+// CHECK: encoding: [0x62,0xf5,0x7e,0x38,0x74,0x10]
+          vcvtneph2bf8s xmm2, word ptr [eax]{1to16}
+
+// CHECK: vcvtneph2bf8s xmm2, ymmword ptr [2*ebp - 1024]
+// CHECK: encoding: [0x62,0xf5,0x7e,0x28,0x74,0x14,0x6d,0x00,0xfc,0xff,0xff]
+          vcvtneph2bf8s xmm2, ymmword ptr [2*ebp - 1024]
+
+// CHECK: vcvtneph2bf8s xmm2 {k7} {z}, ymmword ptr [ecx + 4064]
+// CHECK: encoding: [0x62,0xf5,0x7e,0xaf,0x74,0x51,0x7f]
+          vcvtneph2bf8s xmm2 {k7} {z}, ymmword ptr [ecx + 4064]
+
+// CHECK: vcvtneph2bf8s xmm2 {k7} {z}, word ptr [edx - 256]{1to16}
+// CHECK: encoding: [0x62,0xf5,0x7e,0xbf,0x74,0x52,0x80]
+          vcvtneph2bf8s xmm2 {k7} {z}, word ptr [edx - 256]{1to16}
+
+// CHECK: vcvtneph2bf8s ymm2, zmmword ptr [esp + 8*esi + 268435456]
+// CHECK: encoding: [0x62,0xf5,0x7e,0x48,0x74,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtneph2bf8s ymm2, zmmword ptr [esp + 8*esi + 268435456]
+
+// CHECK: vcvtneph2bf8s ymm2 {k7}, zmmword ptr [edi + 4*eax + 291]
+// CHECK: encoding: [0x62,0xf5,0x7e,0x4f,0x74,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtneph2bf8s ymm2 {k7}, zmmword ptr [edi + 4*eax + 291]
+
+// CHECK: vcvtneph2bf8s ymm2, word ptr [eax]{1to32}
+// CHECK: encoding: [0x62,0xf5,0x7e,0x58,0x74,0x10]
+          vcvtneph2bf8s ymm2, word ptr [eax]{1to32}
+
+// CHECK: vcvtneph2bf8s ymm2, zmmword ptr [2*ebp - 2048]
+// CHECK: encoding: [0x62,0xf5,0x7e,0x48,0x74,0x14,0x6d,0x00,0xf8,0xff,0xff]
+          vcvtneph2bf8s ymm2, zmmword ptr [2*ebp - 2048]
+
+// CHECK: vcvtneph2bf8s ymm2 {k7} {z}, zmmword ptr [ecx + 8128]
+// CHECK: encoding: [0x62,0xf5,0x7e,0xcf,0x74,0x51,0x7f]
+          vcvtneph2bf8s ymm2 {k7} {z}, zmmword ptr [ecx + 8128]
+
+// CHECK: vcvtneph2bf8s ymm2 {k7} {z}, word ptr [edx - 256]{1to32}
+// CHECK: encoding: [0x62,0xf5,0x7e,0xdf,0x74,0x52,0x80]
+          vcvtneph2bf8s ymm2 {k7} {z}, word ptr [edx - 256]{1to32}
+
+// CHECK: vcvtneph2hf8 xmm2, xmm3
+// CHECK: encoding: [0x62,0xf5,0x7e,0x08,0x18,0xd3]
+          vcvtneph2hf8 xmm2, xmm3
+
+// CHECK: vcvtneph2hf8 xmm2 {k7}, xmm3
+// CHECK: encoding: [0x62,0xf5,0x7e,0x0f,0x18,0xd3]
+          vcvtneph2hf8 xmm2 {k7}, xmm3
+
+// CHECK: vcvtneph2hf8 xmm2 {k7} {z}, xmm3
+// CHECK: encoding: [0x62,0xf5,0x7e,0x8f,0x18,0xd3]
+          vcvtneph2hf8 xmm2 {k7} {z}, xmm3
+
+// CHECK: vcvtneph2hf8 ymm2, zmm3
+// CHECK: encoding: [0x62,0xf5,0x7e,0x48,0x18,0xd3]
+          vcvtneph2hf8 ymm2, zmm3
+
+// CHECK: vcvtneph2hf8 ymm2 {k7}, zmm3
+// CHECK: encoding: [0x62,0xf5,0x7e,0x4f,0x18,0xd3]
+          vcvtneph2hf8 ymm2 {k7}, zmm3
+
+// CHECK: vcvtneph2hf8 ymm2 {k7} {z}, zmm3
+// CHECK: encoding: [0x62,0xf5,0x7e,0xcf,0x18,0xd3]
+          vcvtneph2hf8 ymm2 {k7} {z}, zmm3
+
+// CHECK: vcvtneph2hf8 xmm2, ymm3
+// CHECK: encoding: [0x62,0xf5,0x7e,0x28,0x18,0xd3]
+          vcvtneph2hf8 xmm2, ymm3
+
+// CHECK: vcvtneph2hf8 xmm2 {k7}, ymm3
+// CHECK: encoding: [0x62,0xf5,0x7e,0x2f,0x18,0xd3]
+          vcvtneph2hf8 xmm2 {k7}, ymm3
+
+// CHECK: vcvtneph2hf8 xmm2 {k7} {z}, ymm3
+// CHECK: encoding: [0x62,0xf5,0x7e,0xaf,0x18,0xd3]
+          vcvtneph2hf8 xmm2 {k7} {z}, ymm3
+
+// CHECK: vcvtneph2hf8 xmm2, xmmword ptr [esp + 8*esi + 268435456]
+// CHECK: encoding: [0x62,0xf5,0x7e,0x08,0x18,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtneph2hf8 xmm2, xmmword ptr [esp + 8*esi + 268435456]
+
+// CHECK: vcvtneph2hf8 xmm2 {k7}, xmmword ptr [edi + 4*eax + 291]
+// CHECK: encoding: [0x62,0xf5,0x7e,0x0f,0x18,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtneph2hf8 xmm2 {k7}, xmmword ptr [edi + 4*eax + 291]
+
+// CHECK: vcvtneph2hf8 xmm2, word ptr [eax]{1to8}
+// CHECK: encoding: [0x62,0xf5,0x7e,0x18,0x18,0x10]
+          vcvtneph2hf8 xmm2, word ptr [eax]{1to8}
+
+// CHECK: vcvtneph2hf8 xmm2, xmmword ptr [2*ebp - 512]
+// CHECK: encoding: [0x62,0xf5,0x7e,0x08,0x18,0x14,0x6d,0x00,0xfe,0xff,0xff]
+          vcvtneph2hf8 xmm2, xmmword ptr [2*ebp - 512]
+
+// CHECK: vcvtneph2hf8 xmm2 {k7} {z}, xmmword ptr [ecx + 2032]
+// CHECK: encoding: [0x62,0xf5,0x7e,0x8f,0x18,0x51,0x7f]
+          vcvtneph2hf8 xmm2 {k7} {z}, xmmword ptr [ecx + 2032]
+
+// CHECK: vcvtneph2hf8 xmm2 {k7} {z}, word ptr [edx - 256]{1to8}
+// CHECK: encoding: [0x62,0xf5,0x7e,0x9f,0x18,0x52,0x80]
+          vcvtneph2hf8 xmm2 {k7} {z}, word ptr [edx - 256]{1to8}
+
+// CHECK: vcvtneph2hf8 xmm2, word ptr [eax]{1to16}
+// CHECK: encoding: [0x62,0xf5,0x7e,0x38,0x18,0x10]
+          vcvtneph2hf8 xmm2, word ptr [eax]{1to16}
+
+// CHECK: vcvtneph2hf8 xmm2, ymmword ptr [2*ebp - 1024]
+// CHECK: encoding: [0x62,0xf5,0x7e,0x28,0x18,0x14,0x6d,0x00,0xfc,0xff,0xff]
+          vcvtneph2hf8 xmm2, ymmword ptr [2*ebp - 1024]
+
+// CHECK: vcvtneph2hf8 xmm2 {k7} {z}, ymmword ptr [ecx + 4064]
+// CHECK: encoding: [0x62,0xf5,0x7e,0xaf,0x18,0x51,0x7f]
+          vcvtneph2hf8 xmm2 {k7} {z}, ymmword ptr [ecx + 4064]
+
+// CHECK: vcvtneph2hf8 xmm2 {k7} {z}, word ptr [edx - 256]{1to16}
+// CHECK: encoding: [0x62,0xf5,0x7e,0xbf,0x18,0x52,0x80]
+          vcvtneph2hf8 xmm2 {k7} {z}, word ptr [edx - 256]{1to16}
+
+// CHECK: vcvtneph2hf8 ymm2, zmmword ptr [esp + 8*esi + 268435456]
+// CHECK: encoding: [0x62,0xf5,0x7e,0x48,0x18,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtneph2hf8 ymm2, zmmword ptr [esp + 8*esi + 268435456]
+
+// CHECK: vcvtneph2hf8 ymm2 {k7}, zmmword ptr [edi + 4*eax + 291]
+// CHECK: encoding: [0x62,0xf5,0x7e,0x4f,0x18,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtneph2hf8 ymm2 {k7}, zmmword ptr [edi + 4*eax + 291]
+
+// CHECK: vcvtneph2hf8 ymm2, word ptr [eax]{1to32}
+// CHECK: encoding: [0x62,0xf5,0x7e,0x58,0x18,0x10]
+          vcvtneph2hf8 ymm2, word ptr [eax]{1to32}
+
+// CHECK: vcvtneph2hf8 ymm2, zmmword ptr [2*ebp - 2048]
+// CHECK: encoding: [0x62,0xf5,0x7e,0x48,0x18,0x14,0x6d,0x00,0xf8,0xff,0xff]
+          vcvtneph2hf8 ymm2, zmmword ptr [2*ebp - 2048]
+
+// CHECK: vcvtneph2hf8 ymm2 {k7} {z}, zmmword ptr [ecx + 8128]
+// CHECK: encoding: [0x62,0xf5,0x7e,0xcf,0x18,0x51,0x7f]
+          vcvtneph2hf8 ymm2 {k7} {z}, zmmword ptr [ecx + 8128]
+
+// CHECK: vcvtneph2hf8 ymm2 {k7} {z}, word ptr [edx - 256]{1to32}
+// CHECK: encoding: [0x62,0xf5,0x7e,0xdf,0x18,0x52,0x80]
+          vcvtneph2hf8 ymm2 {k7} {z}, word ptr [edx - 256]{1to32}
+
+// CHECK: vcvtneph2hf8s xmm2, xmm3
+// CHECK: encoding: [0x62,0xf5,0x7e,0x08,0x1b,0xd3]
+          vcvtneph2hf8s xmm2, xmm3
+
+// CHECK: vcvtneph2hf8s xmm2 {k7}, xmm3
+// CHECK: encoding: [0x62,0xf5,0x7e,0x0f,0x1b,0xd3]
+          vcvtneph2hf8s xmm2 {k7}, xmm3
+
+// CHECK: vcvtneph2hf8s xmm2 {k7} {z}, xmm3
+// CHECK: encoding: [0x62,0xf5,0x7e,0x8f,0x1b,0xd3]
+          vcvtneph2hf8s xmm2 {k7} {z}, xmm3
+
+// CHECK: vcvtneph2hf8s ymm2, zmm3
+// CHECK: encoding: [0x62,0xf5,0x7e,0x48,0x1b,0xd3]
+          vcvtneph2hf8s ymm2, zmm3
+
+// CHECK: vcvtneph2hf8s ymm2 {k7}, zmm3
+// CHECK: encoding: [0x62,0xf5,0x7e,0x4f,0x1b,0xd3]
+          vcvtneph2hf8s ymm2 {k7}, zmm3
+
+// CHECK: vcvtneph2hf8s ymm2 {k7} {z}, zmm3
+// CHECK: encoding: [0x62,0xf5,0x7e,0xcf,0x1b,0xd3]
+          vcvtneph2hf8s ymm2 {k7} {z}, zmm3
+
+// CHECK: vcvtneph2hf8s xmm2, ymm3
+// CHECK: encoding: [0x62,0xf5,0x7e,0x28,0x1b,0xd3]
+          vcvtneph2hf8s xmm2, ymm3
+
+// CHECK: vcvtneph2hf8s xmm2 {k7}, ymm3
+// CHECK: encoding: [0x62,0xf5,0x7e,0x2f,0x1b,0xd3]
+          vcvtneph2hf8s xmm2 {k7}, ymm3
+
+// CHECK: vcvtneph2hf8s xmm2 {k7} {z}, ymm3
+// CHECK: encoding: [0x62,0xf5,0x7e,0xaf,0x1b,0xd3]
+          vcvtneph2hf8s xmm2 {k7} {z}, ymm3
+
+// CHECK: vcvtneph2hf8s xmm2, xmmword ptr [esp + 8*esi + 268435456]
+// CHECK: encoding: [0x62,0xf5,0x7e,0x08,0x1b,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtneph2hf8s xmm2, xmmword ptr [esp + 8*esi + 268435456]
+
+// CHECK: vcvtneph2hf8s xmm2 {k7}, xmmword ptr [edi + 4*eax + 291]
+// CHECK: encoding: [0x62,0xf5,0x7e,0x0f,0x1b,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtneph2hf8s xmm2 {k7}, xmmword ptr [edi + 4*eax + 291]
+
+// CHECK: vcvtneph2hf8s xmm2, word ptr [eax]{1to8}
+// CHECK: encoding: [0x62,0xf5,0x7e,0x18,0x1b,0x10]
+          vcvtneph2hf8s xmm2, word ptr [eax]{1to8}
+
+// CHECK: vcvtneph2hf8s xmm2, xmmword ptr [2*ebp - 512]
+// CHECK: encoding: [0x62,0xf5,0x7e,0x08,0x1b,0x14,0x6d,0x00,0xfe,0xff,0xff]
+          vcvtneph2hf8s xmm2, xmmword ptr [2*ebp - 512]
+
+// CHECK: vcvtneph2hf8s xmm2 {k7} {z}, xmmword ptr [ecx + 2032]
+// CHECK: encoding: [0x62,0xf5,0x7e,0x8f,0x1b,0x51,0x7f]
+          vcvtneph2hf8s xmm2 {k7} {z}, xmmword ptr [ecx + 2032]
+
+// CHECK: vcvtneph2hf8s xmm2 {k7} {z}, word ptr [edx - 256]{1to8}
+// CHECK: encoding: [0x62,0xf5,0x7e,0x9f,0x1b,0x52,0x80]
+          vcvtneph2hf8s xmm2 {k7} {z}, word ptr [edx - 256]{1to8}
+
+// CHECK: vcvtneph2hf8s xmm2, word ptr [eax]{1to16}
+// CHECK: encoding: [0x62,0xf5,0x7e,0x38,0x1b,0x10]
+          vcvtneph2hf8s xmm2, word ptr [eax]{1to16}
+
+// CHECK: vcvtneph2hf8s xmm2, ymmword ptr [2*ebp - 1024]
+// CHECK: encoding: [0x62,0xf5,0x7e,0x28,0x1b,0x14,0x6d,0x00,0xfc,0xff,0xff]
+          vcvtneph2hf8s xmm2, ymmword ptr [2*ebp - 1024]
+
+// CHECK: vcvtneph2hf8s xmm2 {k7} {z}, ymmword ptr [ecx + 4064]
+// CHECK: encoding: [0x62,0xf5,0x7e,0xaf,0x1b,0x51,0x7f]
+          vcvtneph2hf8s xmm2 {k7} {z}, ymmword ptr [ecx + 4064]
+
+// CHECK: vcvtneph2hf8s xmm2 {k7} {z}, word ptr [edx - 256]{1to16}
+// CHECK: encoding: [0x62,0xf5,0x7e,0xbf,0x1b,0x52,0x80]
+          vcvtneph2hf8s xmm2 {k7} {z}, word ptr [edx - 256]{1to16}
+
+// CHECK: vcvtneph2hf8s ymm2, zmmword ptr [esp + 8*esi + 268435456]
+// CHECK: encoding: [0x62,0xf5,0x7e,0x48,0x1b,0x94,0xf4,0x00,0x00,0x00,0x10]
+          vcvtneph2hf8s ymm2, zmmword ptr [esp + 8*esi + 268435456]
+
+// CHECK: vcvtneph2hf8s ymm2 {k7}, zmmword ptr [edi + 4*eax + 291]
+// CHECK: encoding: [0x62,0xf5,0x7e,0x4f,0x1b,0x94,0x87,0x23,0x01,0x00,0x00]
+          vcvtneph2hf8s ymm2 {k7}, zmmword ptr [edi + 4*eax + 291]
+
+// CHECK: vcvtneph2hf8s ymm2, word ptr [eax]{1to32}
+// CHECK: encoding: [0x62,0xf5,0x7e,0x58,0x1b,0x10]
+          vcvtneph2hf8s ymm2, word ptr [eax]{1to32}
+
+// CHECK: vcvtneph2hf8s ymm2, zmmword ptr [2*ebp - 2048]
+// CHECK: encoding: [0x62,0xf5,0x7e,0x48,0x1b,0x14,0x6d,0x00,0xf8,0xff,0xff]
+          vcvtneph2hf8s ymm2, zmmword ptr [2*ebp - 2048]
+
+// CHECK: vcvtneph2hf8s ymm2 {k7} {z}, zmmword ptr [ecx + 8128]
+// CHECK: encoding: [0x62,0xf5,0x7e,0xcf,0x1b,0x51,0x7f]
+          vcvtneph2hf8s ymm2 {k7} {z}, zmmword ptr [ecx + 8128]
+
+// CHECK: vcvtneph2hf8s ymm2 {k7} {z}, word ptr [edx - 256]{1to32}
+// CHECK: encoding: [0x62,0xf5,0x7e,0xdf,0x1b,0x52,0x80]
+          vcvtneph2hf8s ymm2 {k7} {z}, word ptr [edx - 256]{1to32}
+
diff --git a/llvm/test/MC/X86/avx10.2convert-64-att.s b/llvm/test/MC/X86/avx10.2convert-64-att.s
new file mode 100644
index 0000000000000..ccf1e004c07f2
--- /dev/null
+++ b/llvm/test/MC/X86/avx10.2convert-64-att.s
@@ -0,0 +1,1490 @@
+// RUN: llvm-mc -triple x86_64 --show-encoding %s | FileCheck %s
+
+// CHECK: vcvt2ps2phx %ymm24, %ymm23, %ymm22
+// 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
+
+// CHECK: vcvt2ps2phx {rn-sae}, %zmm24, %zmm23, %zmm22
+// CHECK: encoding: [0x62,0x82,0x45,0x10,0x67,0xf0]
+          vcvt2ps2phx {rn-sae}, %zmm24, %zmm23, %zmm22
+
+// CHECK: vcvt2ps2phx %zmm24, %zmm23, %zmm22 {%k7}
+// CHECK: encoding: [0x62,0x82,0x45,0x47,0x67,0xf0]
+          vcvt2ps2phx %zmm24, %zmm23, %zmm22 {%k7}
+
+// CHECK: vcvt2ps2phx {rz-sae}, %zmm24, %zmm23, %zmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0x82,0x45,0xf7,0x67,0xf0]
+          vcvt2ps2phx {rz-sae}, %zmm24, %zmm23, %zmm22 {%k7} {z}
+
+// CHECK: vcvt2ps2phx %xmm24, %xmm23, %xmm22
+// CHECK: encoding: [0x62,0x82,0x45,0x00,0x67,0xf0]
+          vcvt2ps2phx %xmm24, %xmm23, %xmm22
+
+// CHECK: vcvt2ps2phx %xmm24, %xmm23, %xmm22 {%k7}
+// CHECK: encoding: [0x62,0x82,0x45,0x07,0x67,0xf0]
+          vcvt2ps2phx %xmm24, %xmm23, %xmm22 {%k7}
+
+// CHECK: vcvt2ps2phx %xmm24, %xmm23, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0x82,0x45,0x87,0x67,0xf0]
+          vcvt2ps2phx %xmm24, %xmm23, %xmm22 {%k7} {z}
+
+// CHECK: vcvt2ps2phx  268435456(%rbp,%r14,8), %zmm23, %zmm22
+// CHECK: encoding: [0x62,0xa2,0x45,0x40,0x67,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvt2ps2phx  268435456(%rbp,%r14,8), %zmm23, %zmm22
+
+// CHECK: vcvt2ps2phx  291(%r8,%rax,4), %zmm23, %zmm22 {%k7}
+// CHECK: encoding: [0x62,0xc2,0x45,0x47,0x67,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvt2ps2phx  291(%r8,%rax,4), %zmm23, %zmm22 {%k7}
+
+// CHECK: vcvt2ps2phx  (%rip){1to16}, %zmm23, %zmm22
+// CHECK: encoding: [0x62,0xe2,0x45,0x50,0x67,0x35,0x00,0x00,0x00,0x00]
+          vcvt2ps2phx  (%rip){1to16}, %zmm23, %zmm22
+
+// CHECK: vcvt2ps2phx  -2048(,%rbp,2), %zmm23, %zmm22
+// CHECK: encoding: [0x62,0xe2,0x45,0x40,0x67,0x34,0x6d,0x00,0xf8,0xff,0xff]
+          vcvt2ps2phx  -2048(,%rbp,2), %zmm23, %zmm22
+
+// CHECK: vcvt2ps2phx  8128(%rcx), %zmm23, %zmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe2,0x45,0xc7,0x67,0x71,0x7f]
+          vcvt2ps2phx  8128(%rcx), %zmm23, %zmm22 {%k7} {z}
+
+// CHECK: vcvt2ps2phx  -512(%rdx){1to16}, %zmm23, %zmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe2,0x45,0xd7,0x67,0x72,0x80]
+          vcvt2ps2phx  -512(%rdx){1to16}, %zmm23, %zmm22 {%k7} {z}
+
+// CHECK: vcvt2ps2phx  268435456(%rbp,%r14,8), %ymm23, %ymm22
+// CHECK: encoding: [0x62,0xa2,0x45,0x20,0x67,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvt2ps2phx  268435456(%rbp,%r14,8), %ymm23, %ymm22
+
+// CHECK: vcvt2ps2phx  291(%r8,%rax,4), %ymm23, %ymm22 {%k7}
+// CHECK: encoding: [0x62,0xc2,0x45,0x27,0x67,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvt2ps2phx  291(%r8,%rax,4), %ymm23, %ymm22 {%k7}
+
+// CHECK: vcvt2ps2phx  (%rip){1to8}, %ymm23, %ymm22
+// CHECK: encoding: [0x62,0xe2,0x45,0x30,0x67,0x35,0x00,0x00,0x00,0x00]
+          vcvt2ps2phx  (%rip){1to8}, %ymm23, %ymm22
+
+// CHECK: vcvt2ps2phx  -1024(,%rbp,2), %ymm23, %ymm22
+// CHECK: encoding: [0x62,0xe2,0x45,0x20,0x67,0x34,0x6d,0x00,0xfc,0xff,0xff]
+          vcvt2ps2phx  -1024(,%rbp,2), %ymm23, %ymm22
+
+// CHECK: vcvt2ps2phx  4064(%rcx), %ymm23, %ymm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe2,0x45,0xa7,0x67,0x71,0x7f]
+          vcvt2ps2phx  4064(%rcx), %ymm23, %ymm22 {%k7} {z}
+
+// CHECK: vcvt2ps2phx  -512(%rdx){1to8}, %ymm23, %ymm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe2,0x45,0xb7,0x67,0x72,0x80]
+          vcvt2ps2phx  -512(%rdx){1to8}, %ymm23, %ymm22 {%k7} {z}
+
+// CHECK: vcvt2ps2phx  268435456(%rbp,%r14,8), %xmm23, %xmm22
+// CHECK: encoding: [0x62,0xa2,0x45,0x00,0x67,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvt2ps2phx  268435456(%rbp,%r14,8), %xmm23, %xmm22
+
+// CHECK: vcvt2ps2phx  291(%r8,%rax,4), %xmm23, %xmm22 {%k7}
+// CHECK: encoding: [0x62,0xc2,0x45,0x07,0x67,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvt2ps2phx  291(%r8,%rax,4), %xmm23, %xmm22 {%k7}
+
+// CHECK: vcvt2ps2phx  (%rip){1to4}, %xmm23, %xmm22
+// CHECK: encoding: [0x62,0xe2,0x45,0x10,0x67,0x35,0x00,0x00,0x00,0x00]
+          vcvt2ps2phx  (%rip){1to4}, %xmm23, %xmm22
+
+// CHECK: vcvt2ps2phx  -512(,%rbp,2), %xmm23, %xmm22
+// CHECK: encoding: [0x62,0xe2,0x45,0x00,0x67,0x34,0x6d,0x00,0xfe,0xff,0xff]
+          vcvt2ps2phx  -512(,%rbp,2), %xmm23, %xmm22
+
+// CHECK: vcvt2ps2phx  2032(%rcx), %xmm23, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe2,0x45,0x87,0x67,0x71,0x7f]
+          vcvt2ps2phx  2032(%rcx), %xmm23, %xmm22 {%k7} {z}
+
+// CHECK: vcvt2ps2phx  -512(%rdx){1to4}, %xmm23, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe2,0x45,0x97,0x67,0x72,0x80]
+          vcvt2ps2phx  -512(%rdx){1to4}, %xmm23, %xmm22 {%k7} {z}
+
+// CHECK: vcvtbiasph2bf8 %zmm24, %zmm23, %ymm22
+// CHECK: encoding: [0x62,0x82,0x44,0x40,0x74,0xf0]
+          vcvtbiasph2bf8 %zmm24, %zmm23, %ymm22
+
+// CHECK: vcvtbiasph2bf8 %zmm24, %zmm23, %ymm22 {%k7}
+// CHECK: encoding: [0x62,0x82,0x44,0x47,0x74,0xf0]
+          vcvtbiasph2bf8 %zmm24, %zmm23, %ymm22 {%k7}
+
+// CHECK: vcvtbiasph2bf8 %zmm24, %zmm23, %ymm22 {%k7} {z}
+// CHECK: encoding: [0x62,0x82,0x44,0xc7,0x74,0xf0]
+          vcvtbiasph2bf8 %zmm24, %zmm23, %ymm22 {%k7} {z}
+
+// CHECK: vcvtbiasph2bf8 %xmm24, %xmm23, %xmm22
+// CHECK: encoding: [0x62,0x82,0x44,0x00,0x74,0xf0]
+          vcvtbiasph2bf8 %xmm24, %xmm23, %xmm22
+
+// CHECK: vcvtbiasph2bf8 %xmm24, %xmm23, %xmm22 {%k7}
+// CHECK: encoding: [0x62,0x82,0x44,0x07,0x74,0xf0]
+          vcvtbiasph2bf8 %xmm24, %xmm23, %xmm22 {%k7}
+
+// CHECK: vcvtbiasph2bf8 %xmm24, %xmm23, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0x82,0x44,0x87,0x74,0xf0]
+          vcvtbiasph2bf8 %xmm24, %xmm23, %xmm22 {%k7} {z}
+
+// CHECK: vcvtbiasph2bf8 %ymm24, %ymm23, %xmm22
+// CHECK: encoding: [0x62,0x82,0x44,0x20,0x74,0xf0]
+          vcvtbiasph2bf8 %ymm24, %ymm23, %xmm22
+
+// CHECK: vcvtbiasph2bf8 %ymm24, %ymm23, %xmm22 {%k7}
+// CHECK: encoding: [0x62,0x82,0x44,0x27,0x74,0xf0]
+          vcvtbiasph2bf8 %ymm24, %ymm23, %xmm22 {%k7}
+
+// CHECK: vcvtbiasph2bf8 %ymm24, %ymm23, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0x82,0x44,0xa7,0x74,0xf0]
+          vcvtbiasph2bf8 %ymm24, %ymm23, %xmm22 {%k7} {z}
+
+// CHECK: vcvtbiasph2bf8  268435456(%rbp,%r14,8), %ymm23, %xmm22
+// CHECK: encoding: [0x62,0xa2,0x44,0x20,0x74,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtbiasph2bf8  268435456(%rbp,%r14,8), %ymm23, %xmm22
+
+// CHECK: vcvtbiasph2bf8  291(%r8,%rax,4), %ymm23, %xmm22 {%k7}
+// CHECK: encoding: [0x62,0xc2,0x44,0x27,0x74,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtbiasph2bf8  291(%r8,%rax,4), %ymm23, %xmm22 {%k7}
+
+// CHECK: vcvtbiasph2bf8  (%rip){1to16}, %ymm23, %xmm22
+// CHECK: encoding: [0x62,0xe2,0x44,0x30,0x74,0x35,0x00,0x00,0x00,0x00]
+          vcvtbiasph2bf8  (%rip){1to16}, %ymm23, %xmm22
+
+// CHECK: vcvtbiasph2bf8  -1024(,%rbp,2), %ymm23, %xmm22
+// CHECK: encoding: [0x62,0xe2,0x44,0x20,0x74,0x34,0x6d,0x00,0xfc,0xff,0xff]
+          vcvtbiasph2bf8  -1024(,%rbp,2), %ymm23, %xmm22
+
+// CHECK: vcvtbiasph2bf8  4064(%rcx), %ymm23, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe2,0x44,0xa7,0x74,0x71,0x7f]
+          vcvtbiasph2bf8  4064(%rcx), %ymm23, %xmm22 {%k7} {z}
+
+// CHECK: vcvtbiasph2bf8  -256(%rdx){1to16}, %ymm23, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe2,0x44,0xb7,0x74,0x72,0x80]
+          vcvtbiasph2bf8  -256(%rdx){1to16}, %ymm23, %xmm22 {%k7} {z}
+
+// CHECK: vcvtbiasph2bf8  268435456(%rbp,%r14,8), %zmm23, %ymm22
+// CHECK: encoding: [0x62,0xa2,0x44,0x40,0x74,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtbiasph2bf8  268435456(%rbp,%r14,8), %zmm23, %ymm22
+
+// CHECK: vcvtbiasph2bf8  291(%r8,%rax,4), %zmm23, %ymm22 {%k7}
+// CHECK: encoding: [0x62,0xc2,0x44,0x47,0x74,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtbiasph2bf8  291(%r8,%rax,4), %zmm23, %ymm22 {%k7}
+
+// CHECK: vcvtbiasph2bf8  (%rip){1to32}, %zmm23, %ymm22
+// CHECK: encoding: [0x62,0xe2,0x44,0x50,0x74,0x35,0x00,0x00,0x00,0x00]
+          vcvtbiasph2bf8  (%rip){1to32}, %zmm23, %ymm22
+
+// CHECK: vcvtbiasph2bf8  -2048(,%rbp,2), %zmm23, %ymm22
+// CHECK: encoding: [0x62,0xe2,0x44,0x40,0x74,0x34,0x6d,0x00,0xf8,0xff,0xff]
+          vcvtbiasph2bf8  -2048(,%rbp,2), %zmm23, %ymm22
+
+// CHECK: vcvtbiasph2bf8  8128(%rcx), %zmm23, %ymm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe2,0x44,0xc7,0x74,0x71,0x7f]
+          vcvtbiasph2bf8  8128(%rcx), %zmm23, %ymm22 {%k7} {z}
+
+// CHECK: vcvtbiasph2bf8  -256(%rdx){1to32}, %zmm23, %ymm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe2,0x44,0xd7,0x74,0x72,0x80]
+          vcvtbiasph2bf8  -256(%rdx){1to32}, %zmm23, %ymm22 {%k7} {z}
+
+// CHECK: vcvtbiasph2bf8  268435456(%rbp,%r14,8), %xmm23, %xmm22
+// CHECK: encoding: [0x62,0xa2,0x44,0x00,0x74,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtbiasph2bf8  268435456(%rbp,%r14,8), %xmm23, %xmm22
+
+// CHECK: vcvtbiasph2bf8  291(%r8,%rax,4), %xmm23, %xmm22 {%k7}
+// CHECK: encoding: [0x62,0xc2,0x44,0x07,0x74,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtbiasph2bf8  291(%r8,%rax,4), %xmm23, %xmm22 {%k7}
+
+// CHECK: vcvtbiasph2bf8  (%rip){1to8}, %xmm23, %xmm22
+// CHECK: encoding: [0x62,0xe2,0x44,0x10,0x74,0x35,0x00,0x00,0x00,0x00]
+          vcvtbiasph2bf8  (%rip){1to8}, %xmm23, %xmm22
+
+// CHECK: vcvtbiasph2bf8  -512(,%rbp,2), %xmm23, %xmm22
+// CHECK: encoding: [0x62,0xe2,0x44,0x00,0x74,0x34,0x6d,0x00,0xfe,0xff,0xff]
+          vcvtbiasph2bf8  -512(,%rbp,2), %xmm23, %xmm22
+
+// CHECK: vcvtbiasph2bf8  2032(%rcx), %xmm23, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe2,0x44,0x87,0x74,0x71,0x7f]
+          vcvtbiasph2bf8  2032(%rcx), %xmm23, %xmm22 {%k7} {z}
+
+// CHECK: vcvtbiasph2bf8  -256(%rdx){1to8}, %xmm23, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe2,0x44,0x97,0x74,0x72,0x80]
+          vcvtbiasph2bf8  -256(%rdx){1to8}, %xmm23, %xmm22 {%k7} {z}
+
+// CHECK: vcvtbiasph2bf8s %zmm24, %zmm23, %ymm22
+// CHECK: encoding: [0x62,0x85,0x44,0x40,0x74,0xf0]
+          vcvtbiasph2bf8s %zmm24, %zmm23, %ymm22
+
+// CHECK: vcvtbiasph2bf8s %zmm24, %zmm23, %ymm22 {%k7}
+// CHECK: encoding: [0x62,0x85,0x44,0x47,0x74,0xf0]
+          vcvtbiasph2bf8s %zmm24, %zmm23, %ymm22 {%k7}
+
+// CHECK: vcvtbiasph2bf8s %zmm24, %zmm23, %ymm22 {%k7} {z}
+// CHECK: encoding: [0x62,0x85,0x44,0xc7,0x74,0xf0]
+          vcvtbiasph2bf8s %zmm24, %zmm23, %ymm22 {%k7} {z}
+
+// CHECK: vcvtbiasph2bf8s %xmm24, %xmm23, %xmm22
+// CHECK: encoding: [0x62,0x85,0x44,0x00,0x74,0xf0]
+          vcvtbiasph2bf8s %xmm24, %xmm23, %xmm22
+
+// CHECK: vcvtbiasph2bf8s %xmm24, %xmm23, %xmm22 {%k7}
+// CHECK: encoding: [0x62,0x85,0x44,0x07,0x74,0xf0]
+          vcvtbiasph2bf8s %xmm24, %xmm23, %xmm22 {%k7}
+
+// CHECK: vcvtbiasph2bf8s %xmm24, %xmm23, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0x85,0x44,0x87,0x74,0xf0]
+          vcvtbiasph2bf8s %xmm24, %xmm23, %xmm22 {%k7} {z}
+
+// CHECK: vcvtbiasph2bf8s %ymm24, %ymm23, %xmm22
+// CHECK: encoding: [0x62,0x85,0x44,0x20,0x74,0xf0]
+          vcvtbiasph2bf8s %ymm24, %ymm23, %xmm22
+
+// CHECK: vcvtbiasph2bf8s %ymm24, %ymm23, %xmm22 {%k7}
+// CHECK: encoding: [0x62,0x85,0x44,0x27,0x74,0xf0]
+          vcvtbiasph2bf8s %ymm24, %ymm23, %xmm22 {%k7}
+
+// CHECK: vcvtbiasph2bf8s %ymm24, %ymm23, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0x85,0x44,0xa7,0x74,0xf0]
+          vcvtbiasph2bf8s %ymm24, %ymm23, %xmm22 {%k7} {z}
+
+// CHECK: vcvtbiasph2bf8s  268435456(%rbp,%r14,8), %ymm23, %xmm22
+// CHECK: encoding: [0x62,0xa5,0x44,0x20,0x74,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtbiasph2bf8s  268435456(%rbp,%r14,8), %ymm23, %xmm22
+
+// CHECK: vcvtbiasph2bf8s  291(%r8,%rax,4), %ymm23, %xmm22 {%k7}
+// CHECK: encoding: [0x62,0xc5,0x44,0x27,0x74,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtbiasph2bf8s  291(%r8,%rax,4), %ymm23, %xmm22 {%k7}
+
+// CHECK: vcvtbiasph2bf8s  (%rip){1to16}, %ymm23, %xmm22
+// CHECK: encoding: [0x62,0xe5,0x44,0x30,0x74,0x35,0x00,0x00,0x00,0x00]
+          vcvtbiasph2bf8s  (%rip){1to16}, %ymm23, %xmm22
+
+// CHECK: vcvtbiasph2bf8s  -1024(,%rbp,2), %ymm23, %xmm22
+// CHECK: encoding: [0x62,0xe5,0x44,0x20,0x74,0x34,0x6d,0x00,0xfc,0xff,0xff]
+          vcvtbiasph2bf8s  -1024(,%rbp,2), %ymm23, %xmm22
+
+// CHECK: vcvtbiasph2bf8s  4064(%rcx), %ymm23, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x44,0xa7,0x74,0x71,0x7f]
+          vcvtbiasph2bf8s  4064(%rcx), %ymm23, %xmm22 {%k7} {z}
+
+// CHECK: vcvtbiasph2bf8s  -256(%rdx){1to16}, %ymm23, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x44,0xb7,0x74,0x72,0x80]
+          vcvtbiasph2bf8s  -256(%rdx){1to16}, %ymm23, %xmm22 {%k7} {z}
+
+// CHECK: vcvtbiasph2bf8s  268435456(%rbp,%r14,8), %zmm23, %ymm22
+// CHECK: encoding: [0x62,0xa5,0x44,0x40,0x74,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtbiasph2bf8s  268435456(%rbp,%r14,8), %zmm23, %ymm22
+
+// CHECK: vcvtbiasph2bf8s  291(%r8,%rax,4), %zmm23, %ymm22 {%k7}
+// CHECK: encoding: [0x62,0xc5,0x44,0x47,0x74,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtbiasph2bf8s  291(%r8,%rax,4), %zmm23, %ymm22 {%k7}
+
+// CHECK: vcvtbiasph2bf8s  (%rip){1to32}, %zmm23, %ymm22
+// CHECK: encoding: [0x62,0xe5,0x44,0x50,0x74,0x35,0x00,0x00,0x00,0x00]
+          vcvtbiasph2bf8s  (%rip){1to32}, %zmm23, %ymm22
+
+// CHECK: vcvtbiasph2bf8s  -2048(,%rbp,2), %zmm23, %ymm22
+// CHECK: encoding: [0x62,0xe5,0x44,0x40,0x74,0x34,0x6d,0x00,0xf8,0xff,0xff]
+          vcvtbiasph2bf8s  -2048(,%rbp,2), %zmm23, %ymm22
+
+// CHECK: vcvtbiasph2bf8s  8128(%rcx), %zmm23, %ymm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x44,0xc7,0x74,0x71,0x7f]
+          vcvtbiasph2bf8s  8128(%rcx), %zmm23, %ymm22 {%k7} {z}
+
+// CHECK: vcvtbiasph2bf8s  -256(%rdx){1to32}, %zmm23, %ymm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x44,0xd7,0x74,0x72,0x80]
+          vcvtbiasph2bf8s  -256(%rdx){1to32}, %zmm23, %ymm22 {%k7} {z}
+
+// CHECK: vcvtbiasph2bf8s  268435456(%rbp,%r14,8), %xmm23, %xmm22
+// CHECK: encoding: [0x62,0xa5,0x44,0x00,0x74,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtbiasph2bf8s  268435456(%rbp,%r14,8), %xmm23, %xmm22
+
+// CHECK: vcvtbiasph2bf8s  291(%r8,%rax,4), %xmm23, %xmm22 {%k7}
+// CHECK: encoding: [0x62,0xc5,0x44,0x07,0x74,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtbiasph2bf8s  291(%r8,%rax,4), %xmm23, %xmm22 {%k7}
+
+// CHECK: vcvtbiasph2bf8s  (%rip){1to8}, %xmm23, %xmm22
+// CHECK: encoding: [0x62,0xe5,0x44,0x10,0x74,0x35,0x00,0x00,0x00,0x00]
+          vcvtbiasph2bf8s  (%rip){1to8}, %xmm23, %xmm22
+
+// CHECK: vcvtbiasph2bf8s  -512(,%rbp,2), %xmm23, %xmm22
+// CHECK: encoding: [0x62,0xe5,0x44,0x00,0x74,0x34,0x6d,0x00,0xfe,0xff,0xff]
+          vcvtbiasph2bf8s  -512(,%rbp,2), %xmm23, %xmm22
+
+// CHECK: vcvtbiasph2bf8s  2032(%rcx), %xmm23, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x44,0x87,0x74,0x71,0x7f]
+          vcvtbiasph2bf8s  2032(%rcx), %xmm23, %xmm22 {%k7} {z}
+
+// CHECK: vcvtbiasph2bf8s  -256(%rdx){1to8}, %xmm23, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x44,0x97,0x74,0x72,0x80]
+          vcvtbiasph2bf8s  -256(%rdx){1to8}, %xmm23, %xmm22 {%k7} {z}
+
+// CHECK: vcvtbiasph2hf8 %zmm24, %zmm23, %ymm22
+// CHECK: encoding: [0x62,0x85,0x44,0x40,0x18,0xf0]
+          vcvtbiasph2hf8 %zmm24, %zmm23, %ymm22
+
+// CHECK: vcvtbiasph2hf8 %zmm24, %zmm23, %ymm22 {%k7}
+// CHECK: encoding: [0x62,0x85,0x44,0x47,0x18,0xf0]
+          vcvtbiasph2hf8 %zmm24, %zmm23, %ymm22 {%k7}
+
+// CHECK: vcvtbiasph2hf8 %zmm24, %zmm23, %ymm22 {%k7} {z}
+// CHECK: encoding: [0x62,0x85,0x44,0xc7,0x18,0xf0]
+          vcvtbiasph2hf8 %zmm24, %zmm23, %ymm22 {%k7} {z}
+
+// CHECK: vcvtbiasph2hf8 %xmm24, %xmm23, %xmm22
+// CHECK: encoding: [0x62,0x85,0x44,0x00,0x18,0xf0]
+          vcvtbiasph2hf8 %xmm24, %xmm23, %xmm22
+
+// CHECK: vcvtbiasph2hf8 %xmm24, %xmm23, %xmm22 {%k7}
+// CHECK: encoding: [0x62,0x85,0x44,0x07,0x18,0xf0]
+          vcvtbiasph2hf8 %xmm24, %xmm23, %xmm22 {%k7}
+
+// CHECK: vcvtbiasph2hf8 %xmm24, %xmm23, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0x85,0x44,0x87,0x18,0xf0]
+          vcvtbiasph2hf8 %xmm24, %xmm23, %xmm22 {%k7} {z}
+
+// CHECK: vcvtbiasph2hf8 %ymm24, %ymm23, %xmm22
+// CHECK: encoding: [0x62,0x85,0x44,0x20,0x18,0xf0]
+          vcvtbiasph2hf8 %ymm24, %ymm23, %xmm22
+
+// CHECK: vcvtbiasph2hf8 %ymm24, %ymm23, %xmm22 {%k7}
+// CHECK: encoding: [0x62,0x85,0x44,0x27,0x18,0xf0]
+          vcvtbiasph2hf8 %ymm24, %ymm23, %xmm22 {%k7}
+
+// CHECK: vcvtbiasph2hf8 %ymm24, %ymm23, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0x85,0x44,0xa7,0x18,0xf0]
+          vcvtbiasph2hf8 %ymm24, %ymm23, %xmm22 {%k7} {z}
+
+// CHECK: vcvtbiasph2hf8  268435456(%rbp,%r14,8), %ymm23, %xmm22
+// CHECK: encoding: [0x62,0xa5,0x44,0x20,0x18,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtbiasph2hf8  268435456(%rbp,%r14,8), %ymm23, %xmm22
+
+// CHECK: vcvtbiasph2hf8  291(%r8,%rax,4), %ymm23, %xmm22 {%k7}
+// CHECK: encoding: [0x62,0xc5,0x44,0x27,0x18,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtbiasph2hf8  291(%r8,%rax,4), %ymm23, %xmm22 {%k7}
+
+// CHECK: vcvtbiasph2hf8  (%rip){1to16}, %ymm23, %xmm22
+// CHECK: encoding: [0x62,0xe5,0x44,0x30,0x18,0x35,0x00,0x00,0x00,0x00]
+          vcvtbiasph2hf8  (%rip){1to16}, %ymm23, %xmm22
+
+// CHECK: vcvtbiasph2hf8  -1024(,%rbp,2), %ymm23, %xmm22
+// CHECK: encoding: [0x62,0xe5,0x44,0x20,0x18,0x34,0x6d,0x00,0xfc,0xff,0xff]
+          vcvtbiasph2hf8  -1024(,%rbp,2), %ymm23, %xmm22
+
+// CHECK: vcvtbiasph2hf8  4064(%rcx), %ymm23, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x44,0xa7,0x18,0x71,0x7f]
+          vcvtbiasph2hf8  4064(%rcx), %ymm23, %xmm22 {%k7} {z}
+
+// CHECK: vcvtbiasph2hf8  -256(%rdx){1to16}, %ymm23, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x44,0xb7,0x18,0x72,0x80]
+          vcvtbiasph2hf8  -256(%rdx){1to16}, %ymm23, %xmm22 {%k7} {z}
+
+// CHECK: vcvtbiasph2hf8  268435456(%rbp,%r14,8), %zmm23, %ymm22
+// CHECK: encoding: [0x62,0xa5,0x44,0x40,0x18,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtbiasph2hf8  268435456(%rbp,%r14,8), %zmm23, %ymm22
+
+// CHECK: vcvtbiasph2hf8  291(%r8,%rax,4), %zmm23, %ymm22 {%k7}
+// CHECK: encoding: [0x62,0xc5,0x44,0x47,0x18,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtbiasph2hf8  291(%r8,%rax,4), %zmm23, %ymm22 {%k7}
+
+// CHECK: vcvtbiasph2hf8  (%rip){1to32}, %zmm23, %ymm22
+// CHECK: encoding: [0x62,0xe5,0x44,0x50,0x18,0x35,0x00,0x00,0x00,0x00]
+          vcvtbiasph2hf8  (%rip){1to32}, %zmm23, %ymm22
+
+// CHECK: vcvtbiasph2hf8  -2048(,%rbp,2), %zmm23, %ymm22
+// CHECK: encoding: [0x62,0xe5,0x44,0x40,0x18,0x34,0x6d,0x00,0xf8,0xff,0xff]
+          vcvtbiasph2hf8  -2048(,%rbp,2), %zmm23, %ymm22
+
+// CHECK: vcvtbiasph2hf8  8128(%rcx), %zmm23, %ymm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x44,0xc7,0x18,0x71,0x7f]
+          vcvtbiasph2hf8  8128(%rcx), %zmm23, %ymm22 {%k7} {z}
+
+// CHECK: vcvtbiasph2hf8  -256(%rdx){1to32}, %zmm23, %ymm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x44,0xd7,0x18,0x72,0x80]
+          vcvtbiasph2hf8  -256(%rdx){1to32}, %zmm23, %ymm22 {%k7} {z}
+
+// CHECK: vcvtbiasph2hf8  268435456(%rbp,%r14,8), %xmm23, %xmm22
+// CHECK: encoding: [0x62,0xa5,0x44,0x00,0x18,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtbiasph2hf8  268435456(%rbp,%r14,8), %xmm23, %xmm22
+
+// CHECK: vcvtbiasph2hf8  291(%r8,%rax,4), %xmm23, %xmm22 {%k7}
+// CHECK: encoding: [0x62,0xc5,0x44,0x07,0x18,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtbiasph2hf8  291(%r8,%rax,4), %xmm23, %xmm22 {%k7}
+
+// CHECK: vcvtbiasph2hf8  (%rip){1to8}, %xmm23, %xmm22
+// CHECK: encoding: [0x62,0xe5,0x44,0x10,0x18,0x35,0x00,0x00,0x00,0x00]
+          vcvtbiasph2hf8  (%rip){1to8}, %xmm23, %xmm22
+
+// CHECK: vcvtbiasph2hf8  -512(,%rbp,2), %xmm23, %xmm22
+// CHECK: encoding: [0x62,0xe5,0x44,0x00,0x18,0x34,0x6d,0x00,0xfe,0xff,0xff]
+          vcvtbiasph2hf8  -512(,%rbp,2), %xmm23, %xmm22
+
+// CHECK: vcvtbiasph2hf8  2032(%rcx), %xmm23, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x44,0x87,0x18,0x71,0x7f]
+          vcvtbiasph2hf8  2032(%rcx), %xmm23, %xmm22 {%k7} {z}
+
+// CHECK: vcvtbiasph2hf8  -256(%rdx){1to8}, %xmm23, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x44,0x97,0x18,0x72,0x80]
+          vcvtbiasph2hf8  -256(%rdx){1to8}, %xmm23, %xmm22 {%k7} {z}
+
+// CHECK: vcvtbiasph2hf8s %zmm24, %zmm23, %ymm22
+// CHECK: encoding: [0x62,0x85,0x44,0x40,0x1b,0xf0]
+          vcvtbiasph2hf8s %zmm24, %zmm23, %ymm22
+
+// CHECK: vcvtbiasph2hf8s %zmm24, %zmm23, %ymm22 {%k7}
+// CHECK: encoding: [0x62,0x85,0x44,0x47,0x1b,0xf0]
+          vcvtbiasph2hf8s %zmm24, %zmm23, %ymm22 {%k7}
+
+// CHECK: vcvtbiasph2hf8s %zmm24, %zmm23, %ymm22 {%k7} {z}
+// CHECK: encoding: [0x62,0x85,0x44,0xc7,0x1b,0xf0]
+          vcvtbiasph2hf8s %zmm24, %zmm23, %ymm22 {%k7} {z}
+
+// CHECK: vcvtbiasph2hf8s %xmm24, %xmm23, %xmm22
+// CHECK: encoding: [0x62,0x85,0x44,0x00,0x1b,0xf0]
+          vcvtbiasph2hf8s %xmm24, %xmm23, %xmm22
+
+// CHECK: vcvtbiasph2hf8s %xmm24, %xmm23, %xmm22 {%k7}
+// CHECK: encoding: [0x62,0x85,0x44,0x07,0x1b,0xf0]
+          vcvtbiasph2hf8s %xmm24, %xmm23, %xmm22 {%k7}
+
+// CHECK: vcvtbiasph2hf8s %xmm24, %xmm23, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0x85,0x44,0x87,0x1b,0xf0]
+          vcvtbiasph2hf8s %xmm24, %xmm23, %xmm22 {%k7} {z}
+
+// CHECK: vcvtbiasph2hf8s %ymm24, %ymm23, %xmm22
+// CHECK: encoding: [0x62,0x85,0x44,0x20,0x1b,0xf0]
+          vcvtbiasph2hf8s %ymm24, %ymm23, %xmm22
+
+// CHECK: vcvtbiasph2hf8s %ymm24, %ymm23, %xmm22 {%k7}
+// CHECK: encoding: [0x62,0x85,0x44,0x27,0x1b,0xf0]
+          vcvtbiasph2hf8s %ymm24, %ymm23, %xmm22 {%k7}
+
+// CHECK: vcvtbiasph2hf8s %ymm24, %ymm23, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0x85,0x44,0xa7,0x1b,0xf0]
+          vcvtbiasph2hf8s %ymm24, %ymm23, %xmm22 {%k7} {z}
+
+// CHECK: vcvtbiasph2hf8s  268435456(%rbp,%r14,8), %ymm23, %xmm22
+// CHECK: encoding: [0x62,0xa5,0x44,0x20,0x1b,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtbiasph2hf8s  268435456(%rbp,%r14,8), %ymm23, %xmm22
+
+// CHECK: vcvtbiasph2hf8s  291(%r8,%rax,4), %ymm23, %xmm22 {%k7}
+// CHECK: encoding: [0x62,0xc5,0x44,0x27,0x1b,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtbiasph2hf8s  291(%r8,%rax,4), %ymm23, %xmm22 {%k7}
+
+// CHECK: vcvtbiasph2hf8s  (%rip){1to16}, %ymm23, %xmm22
+// CHECK: encoding: [0x62,0xe5,0x44,0x30,0x1b,0x35,0x00,0x00,0x00,0x00]
+          vcvtbiasph2hf8s  (%rip){1to16}, %ymm23, %xmm22
+
+// CHECK: vcvtbiasph2hf8s  -1024(,%rbp,2), %ymm23, %xmm22
+// CHECK: encoding: [0x62,0xe5,0x44,0x20,0x1b,0x34,0x6d,0x00,0xfc,0xff,0xff]
+          vcvtbiasph2hf8s  -1024(,%rbp,2), %ymm23, %xmm22
+
+// CHECK: vcvtbiasph2hf8s  4064(%rcx), %ymm23, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x44,0xa7,0x1b,0x71,0x7f]
+          vcvtbiasph2hf8s  4064(%rcx), %ymm23, %xmm22 {%k7} {z}
+
+// CHECK: vcvtbiasph2hf8s  -256(%rdx){1to16}, %ymm23, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x44,0xb7,0x1b,0x72,0x80]
+          vcvtbiasph2hf8s  -256(%rdx){1to16}, %ymm23, %xmm22 {%k7} {z}
+
+// CHECK: vcvtbiasph2hf8s  268435456(%rbp,%r14,8), %zmm23, %ymm22
+// CHECK: encoding: [0x62,0xa5,0x44,0x40,0x1b,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtbiasph2hf8s  268435456(%rbp,%r14,8), %zmm23, %ymm22
+
+// CHECK: vcvtbiasph2hf8s  291(%r8,%rax,4), %zmm23, %ymm22 {%k7}
+// CHECK: encoding: [0x62,0xc5,0x44,0x47,0x1b,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtbiasph2hf8s  291(%r8,%rax,4), %zmm23, %ymm22 {%k7}
+
+// CHECK: vcvtbiasph2hf8s  (%rip){1to32}, %zmm23, %ymm22
+// CHECK: encoding: [0x62,0xe5,0x44,0x50,0x1b,0x35,0x00,0x00,0x00,0x00]
+          vcvtbiasph2hf8s  (%rip){1to32}, %zmm23, %ymm22
+
+// CHECK: vcvtbiasph2hf8s  -2048(,%rbp,2), %zmm23, %ymm22
+// CHECK: encoding: [0x62,0xe5,0x44,0x40,0x1b,0x34,0x6d,0x00,0xf8,0xff,0xff]
+          vcvtbiasph2hf8s  -2048(,%rbp,2), %zmm23, %ymm22
+
+// CHECK: vcvtbiasph2hf8s  8128(%rcx), %zmm23, %ymm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x44,0xc7,0x1b,0x71,0x7f]
+          vcvtbiasph2hf8s  8128(%rcx), %zmm23, %ymm22 {%k7} {z}
+
+// CHECK: vcvtbiasph2hf8s  -256(%rdx){1to32}, %zmm23, %ymm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x44,0xd7,0x1b,0x72,0x80]
+          vcvtbiasph2hf8s  -256(%rdx){1to32}, %zmm23, %ymm22 {%k7} {z}
+
+// CHECK: vcvtbiasph2hf8s  268435456(%rbp,%r14,8), %xmm23, %xmm22
+// CHECK: encoding: [0x62,0xa5,0x44,0x00,0x1b,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtbiasph2hf8s  268435456(%rbp,%r14,8), %xmm23, %xmm22
+
+// CHECK: vcvtbiasph2hf8s  291(%r8,%rax,4), %xmm23, %xmm22 {%k7}
+// CHECK: encoding: [0x62,0xc5,0x44,0x07,0x1b,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtbiasph2hf8s  291(%r8,%rax,4), %xmm23, %xmm22 {%k7}
+
+// CHECK: vcvtbiasph2hf8s  (%rip){1to8}, %xmm23, %xmm22
+// CHECK: encoding: [0x62,0xe5,0x44,0x10,0x1b,0x35,0x00,0x00,0x00,0x00]
+          vcvtbiasph2hf8s  (%rip){1to8}, %xmm23, %xmm22
+
+// CHECK: vcvtbiasph2hf8s  -512(,%rbp,2), %xmm23, %xmm22
+// CHECK: encoding: [0x62,0xe5,0x44,0x00,0x1b,0x34,0x6d,0x00,0xfe,0xff,0xff]
+          vcvtbiasph2hf8s  -512(,%rbp,2), %xmm23, %xmm22
+
+// CHECK: vcvtbiasph2hf8s  2032(%rcx), %xmm23, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x44,0x87,0x1b,0x71,0x7f]
+          vcvtbiasph2hf8s  2032(%rcx), %xmm23, %xmm22 {%k7} {z}
+
+// CHECK: vcvtbiasph2hf8s  -256(%rdx){1to8}, %xmm23, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x44,0x97,0x1b,0x72,0x80]
+          vcvtbiasph2hf8s  -256(%rdx){1to8}, %xmm23, %xmm22 {%k7} {z}
+
+// CHECK: vcvthf82ph %xmm23, %xmm22
+// CHECK: encoding: [0x62,0xa5,0x7f,0x08,0x1e,0xf7]
+          vcvthf82ph %xmm23, %xmm22
+
+// CHECK: vcvthf82ph %xmm23, %xmm22 {%k7}
+// CHECK: encoding: [0x62,0xa5,0x7f,0x0f,0x1e,0xf7]
+          vcvthf82ph %xmm23, %xmm22 {%k7}
+
+// CHECK: vcvthf82ph %xmm23, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xa5,0x7f,0x8f,0x1e,0xf7]
+          vcvthf82ph %xmm23, %xmm22 {%k7} {z}
+
+// CHECK: vcvthf82ph %xmm23, %ymm22
+// CHECK: encoding: [0x62,0xa5,0x7f,0x28,0x1e,0xf7]
+          vcvthf82ph %xmm23, %ymm22
+
+// CHECK: vcvthf82ph %xmm23, %ymm22 {%k7}
+// CHECK: encoding: [0x62,0xa5,0x7f,0x2f,0x1e,0xf7]
+          vcvthf82ph %xmm23, %ymm22 {%k7}
+
+// CHECK: vcvthf82ph %xmm23, %ymm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xa5,0x7f,0xaf,0x1e,0xf7]
+          vcvthf82ph %xmm23, %ymm22 {%k7} {z}
+
+// CHECK: vcvthf82ph %ymm23, %zmm22
+// CHECK: encoding: [0x62,0xa5,0x7f,0x48,0x1e,0xf7]
+          vcvthf82ph %ymm23, %zmm22
+
+// CHECK: vcvthf82ph %ymm23, %zmm22 {%k7}
+// CHECK: encoding: [0x62,0xa5,0x7f,0x4f,0x1e,0xf7]
+          vcvthf82ph %ymm23, %zmm22 {%k7}
+
+// CHECK: vcvthf82ph %ymm23, %zmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xa5,0x7f,0xcf,0x1e,0xf7]
+          vcvthf82ph %ymm23, %zmm22 {%k7} {z}
+
+// CHECK: vcvthf82ph  268435456(%rbp,%r14,8), %xmm22
+// CHECK: encoding: [0x62,0xa5,0x7f,0x08,0x1e,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvthf82ph  268435456(%rbp,%r14,8), %xmm22
+
+// CHECK: vcvthf82ph  291(%r8,%rax,4), %xmm22 {%k7}
+// CHECK: encoding: [0x62,0xc5,0x7f,0x0f,0x1e,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvthf82ph  291(%r8,%rax,4), %xmm22 {%k7}
+
+// CHECK: vcvthf82ph  (%rip), %xmm22
+// CHECK: encoding: [0x62,0xe5,0x7f,0x08,0x1e,0x35,0x00,0x00,0x00,0x00]
+          vcvthf82ph  (%rip), %xmm22
+
+// CHECK: vcvthf82ph  -256(,%rbp,2), %xmm22
+// CHECK: encoding: [0x62,0xe5,0x7f,0x08,0x1e,0x34,0x6d,0x00,0xff,0xff,0xff]
+          vcvthf82ph  -256(,%rbp,2), %xmm22
+
+// CHECK: vcvthf82ph  1016(%rcx), %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x7f,0x8f,0x1e,0x71,0x7f]
+          vcvthf82ph  1016(%rcx), %xmm22 {%k7} {z}
+
+// CHECK: vcvthf82ph  -1024(%rdx), %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x7f,0x8f,0x1e,0x72,0x80]
+          vcvthf82ph  -1024(%rdx), %xmm22 {%k7} {z}
+
+// CHECK: vcvthf82ph  268435456(%rbp,%r14,8), %ymm22
+// CHECK: encoding: [0x62,0xa5,0x7f,0x28,0x1e,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvthf82ph  268435456(%rbp,%r14,8), %ymm22
+
+// CHECK: vcvthf82ph  291(%r8,%rax,4), %ymm22 {%k7}
+// CHECK: encoding: [0x62,0xc5,0x7f,0x2f,0x1e,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvthf82ph  291(%r8,%rax,4), %ymm22 {%k7}
+
+// CHECK: vcvthf82ph  (%rip), %ymm22
+// CHECK: encoding: [0x62,0xe5,0x7f,0x28,0x1e,0x35,0x00,0x00,0x00,0x00]
+          vcvthf82ph  (%rip), %ymm22
+
+// CHECK: vcvthf82ph  -512(,%rbp,2), %ymm22
+// CHECK: encoding: [0x62,0xe5,0x7f,0x28,0x1e,0x34,0x6d,0x00,0xfe,0xff,0xff]
+          vcvthf82ph  -512(,%rbp,2), %ymm22
+
+// CHECK: vcvthf82ph  2032(%rcx), %ymm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x7f,0xaf,0x1e,0x71,0x7f]
+          vcvthf82ph  2032(%rcx), %ymm22 {%k7} {z}
+
+// CHECK: vcvthf82ph  -2048(%rdx), %ymm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x7f,0xaf,0x1e,0x72,0x80]
+          vcvthf82ph  -2048(%rdx), %ymm22 {%k7} {z}
+
+// CHECK: vcvthf82ph  268435456(%rbp,%r14,8), %zmm22
+// CHECK: encoding: [0x62,0xa5,0x7f,0x48,0x1e,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvthf82ph  268435456(%rbp,%r14,8), %zmm22
+
+// CHECK: vcvthf82ph  291(%r8,%rax,4), %zmm22 {%k7}
+// CHECK: encoding: [0x62,0xc5,0x7f,0x4f,0x1e,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvthf82ph  291(%r8,%rax,4), %zmm22 {%k7}
+
+// CHECK: vcvthf82ph  (%rip), %zmm22
+// CHECK: encoding: [0x62,0xe5,0x7f,0x48,0x1e,0x35,0x00,0x00,0x00,0x00]
+          vcvthf82ph  (%rip), %zmm22
+
+// CHECK: vcvthf82ph  -1024(,%rbp,2), %zmm22
+// CHECK: encoding: [0x62,0xe5,0x7f,0x48,0x1e,0x34,0x6d,0x00,0xfc,0xff,0xff]
+          vcvthf82ph  -1024(,%rbp,2), %zmm22
+
+// CHECK: vcvthf82ph  4064(%rcx), %zmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x7f,0xcf,0x1e,0x71,0x7f]
+          vcvthf82ph  4064(%rcx), %zmm22 {%k7} {z}
+
+// CHECK: vcvthf82ph  -4096(%rdx), %zmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x7f,0xcf,0x1e,0x72,0x80]
+          vcvthf82ph  -4096(%rdx), %zmm22 {%k7} {z}
+
+// CHECK: vcvtne2ph2bf8 %ymm24, %ymm23, %ymm22
+// CHECK: encoding: [0x62,0x82,0x47,0x20,0x74,0xf0]
+          vcvtne2ph2bf8 %ymm24, %ymm23, %ymm22
+
+// CHECK: vcvtne2ph2bf8 %ymm24, %ymm23, %ymm22 {%k7}
+// CHECK: encoding: [0x62,0x82,0x47,0x27,0x74,0xf0]
+          vcvtne2ph2bf8 %ymm24, %ymm23, %ymm22 {%k7}
+
+// CHECK: vcvtne2ph2bf8 %ymm24, %ymm23, %ymm22 {%k7} {z}
+// CHECK: encoding: [0x62,0x82,0x47,0xa7,0x74,0xf0]
+          vcvtne2ph2bf8 %ymm24, %ymm23, %ymm22 {%k7} {z}
+
+// CHECK: vcvtne2ph2bf8 %zmm24, %zmm23, %zmm22
+// CHECK: encoding: [0x62,0x82,0x47,0x40,0x74,0xf0]
+          vcvtne2ph2bf8 %zmm24, %zmm23, %zmm22
+
+// CHECK: vcvtne2ph2bf8 %zmm24, %zmm23, %zmm22 {%k7}
+// CHECK: encoding: [0x62,0x82,0x47,0x47,0x74,0xf0]
+          vcvtne2ph2bf8 %zmm24, %zmm23, %zmm22 {%k7}
+
+// CHECK: vcvtne2ph2bf8 %zmm24, %zmm23, %zmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0x82,0x47,0xc7,0x74,0xf0]
+          vcvtne2ph2bf8 %zmm24, %zmm23, %zmm22 {%k7} {z}
+
+// CHECK: vcvtne2ph2bf8 %xmm24, %xmm23, %xmm22
+// CHECK: encoding: [0x62,0x82,0x47,0x00,0x74,0xf0]
+          vcvtne2ph2bf8 %xmm24, %xmm23, %xmm22
+
+// CHECK: vcvtne2ph2bf8 %xmm24, %xmm23, %xmm22 {%k7}
+// CHECK: encoding: [0x62,0x82,0x47,0x07,0x74,0xf0]
+          vcvtne2ph2bf8 %xmm24, %xmm23, %xmm22 {%k7}
+
+// CHECK: vcvtne2ph2bf8 %xmm24, %xmm23, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0x82,0x47,0x87,0x74,0xf0]
+          vcvtne2ph2bf8 %xmm24, %xmm23, %xmm22 {%k7} {z}
+
+// CHECK: vcvtne2ph2bf8  268435456(%rbp,%r14,8), %zmm23, %zmm22
+// CHECK: encoding: [0x62,0xa2,0x47,0x40,0x74,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtne2ph2bf8  268435456(%rbp,%r14,8), %zmm23, %zmm22
+
+// CHECK: vcvtne2ph2bf8  291(%r8,%rax,4), %zmm23, %zmm22 {%k7}
+// CHECK: encoding: [0x62,0xc2,0x47,0x47,0x74,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtne2ph2bf8  291(%r8,%rax,4), %zmm23, %zmm22 {%k7}
+
+// CHECK: vcvtne2ph2bf8  (%rip){1to32}, %zmm23, %zmm22
+// CHECK: encoding: [0x62,0xe2,0x47,0x50,0x74,0x35,0x00,0x00,0x00,0x00]
+          vcvtne2ph2bf8  (%rip){1to32}, %zmm23, %zmm22
+
+// CHECK: vcvtne2ph2bf8  -2048(,%rbp,2), %zmm23, %zmm22
+// CHECK: encoding: [0x62,0xe2,0x47,0x40,0x74,0x34,0x6d,0x00,0xf8,0xff,0xff]
+          vcvtne2ph2bf8  -2048(,%rbp,2), %zmm23, %zmm22
+
+// CHECK: vcvtne2ph2bf8  8128(%rcx), %zmm23, %zmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe2,0x47,0xc7,0x74,0x71,0x7f]
+          vcvtne2ph2bf8  8128(%rcx), %zmm23, %zmm22 {%k7} {z}
+
+// CHECK: vcvtne2ph2bf8  -256(%rdx){1to32}, %zmm23, %zmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe2,0x47,0xd7,0x74,0x72,0x80]
+          vcvtne2ph2bf8  -256(%rdx){1to32}, %zmm23, %zmm22 {%k7} {z}
+
+// CHECK: vcvtne2ph2bf8  268435456(%rbp,%r14,8), %ymm23, %ymm22
+// CHECK: encoding: [0x62,0xa2,0x47,0x20,0x74,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtne2ph2bf8  268435456(%rbp,%r14,8), %ymm23, %ymm22
+
+// CHECK: vcvtne2ph2bf8  291(%r8,%rax,4), %ymm23, %ymm22 {%k7}
+// CHECK: encoding: [0x62,0xc2,0x47,0x27,0x74,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtne2ph2bf8  291(%r8,%rax,4), %ymm23, %ymm22 {%k7}
+
+// CHECK: vcvtne2ph2bf8  (%rip){1to16}, %ymm23, %ymm22
+// CHECK: encoding: [0x62,0xe2,0x47,0x30,0x74,0x35,0x00,0x00,0x00,0x00]
+          vcvtne2ph2bf8  (%rip){1to16}, %ymm23, %ymm22
+
+// CHECK: vcvtne2ph2bf8  -1024(,%rbp,2), %ymm23, %ymm22
+// CHECK: encoding: [0x62,0xe2,0x47,0x20,0x74,0x34,0x6d,0x00,0xfc,0xff,0xff]
+          vcvtne2ph2bf8  -1024(,%rbp,2), %ymm23, %ymm22
+
+// CHECK: vcvtne2ph2bf8  4064(%rcx), %ymm23, %ymm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe2,0x47,0xa7,0x74,0x71,0x7f]
+          vcvtne2ph2bf8  4064(%rcx), %ymm23, %ymm22 {%k7} {z}
+
+// CHECK: vcvtne2ph2bf8  -256(%rdx){1to16}, %ymm23, %ymm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe2,0x47,0xb7,0x74,0x72,0x80]
+          vcvtne2ph2bf8  -256(%rdx){1to16}, %ymm23, %ymm22 {%k7} {z}
+
+// CHECK: vcvtne2ph2bf8  268435456(%rbp,%r14,8), %xmm23, %xmm22
+// CHECK: encoding: [0x62,0xa2,0x47,0x00,0x74,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtne2ph2bf8  268435456(%rbp,%r14,8), %xmm23, %xmm22
+
+// CHECK: vcvtne2ph2bf8  291(%r8,%rax,4), %xmm23, %xmm22 {%k7}
+// CHECK: encoding: [0x62,0xc2,0x47,0x07,0x74,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtne2ph2bf8  291(%r8,%rax,4), %xmm23, %xmm22 {%k7}
+
+// CHECK: vcvtne2ph2bf8  (%rip){1to8}, %xmm23, %xmm22
+// CHECK: encoding: [0x62,0xe2,0x47,0x10,0x74,0x35,0x00,0x00,0x00,0x00]
+          vcvtne2ph2bf8  (%rip){1to8}, %xmm23, %xmm22
+
+// CHECK: vcvtne2ph2bf8  -512(,%rbp,2), %xmm23, %xmm22
+// CHECK: encoding: [0x62,0xe2,0x47,0x00,0x74,0x34,0x6d,0x00,0xfe,0xff,0xff]
+          vcvtne2ph2bf8  -512(,%rbp,2), %xmm23, %xmm22
+
+// CHECK: vcvtne2ph2bf8  2032(%rcx), %xmm23, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe2,0x47,0x87,0x74,0x71,0x7f]
+          vcvtne2ph2bf8  2032(%rcx), %xmm23, %xmm22 {%k7} {z}
+
+// CHECK: vcvtne2ph2bf8  -256(%rdx){1to8}, %xmm23, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe2,0x47,0x97,0x74,0x72,0x80]
+          vcvtne2ph2bf8  -256(%rdx){1to8}, %xmm23, %xmm22 {%k7} {z}
+
+// CHECK: vcvtne2ph2bf8s %ymm24, %ymm23, %ymm22
+// CHECK: encoding: [0x62,0x85,0x47,0x20,0x74,0xf0]
+          vcvtne2ph2bf8s %ymm24, %ymm23, %ymm22
+
+// CHECK: vcvtne2ph2bf8s %ymm24, %ymm23, %ymm22 {%k7}
+// CHECK: encoding: [0x62,0x85,0x47,0x27,0x74,0xf0]
+          vcvtne2ph2bf8s %ymm24, %ymm23, %ymm22 {%k7}
+
+// CHECK: vcvtne2ph2bf8s %ymm24, %ymm23, %ymm22 {%k7} {z}
+// CHECK: encoding: [0x62,0x85,0x47,0xa7,0x74,0xf0]
+          vcvtne2ph2bf8s %ymm24, %ymm23, %ymm22 {%k7} {z}
+
+// CHECK: vcvtne2ph2bf8s %zmm24, %zmm23, %zmm22
+// CHECK: encoding: [0x62,0x85,0x47,0x40,0x74,0xf0]
+          vcvtne2ph2bf8s %zmm24, %zmm23, %zmm22
+
+// CHECK: vcvtne2ph2bf8s %zmm24, %zmm23, %zmm22 {%k7}
+// CHECK: encoding: [0x62,0x85,0x47,0x47,0x74,0xf0]
+          vcvtne2ph2bf8s %zmm24, %zmm23, %zmm22 {%k7}
+
+// CHECK: vcvtne2ph2bf8s %zmm24, %zmm23, %zmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0x85,0x47,0xc7,0x74,0xf0]
+          vcvtne2ph2bf8s %zmm24, %zmm23, %zmm22 {%k7} {z}
+
+// CHECK: vcvtne2ph2bf8s %xmm24, %xmm23, %xmm22
+// CHECK: encoding: [0x62,0x85,0x47,0x00,0x74,0xf0]
+          vcvtne2ph2bf8s %xmm24, %xmm23, %xmm22
+
+// CHECK: vcvtne2ph2bf8s %xmm24, %xmm23, %xmm22 {%k7}
+// CHECK: encoding: [0x62,0x85,0x47,0x07,0x74,0xf0]
+          vcvtne2ph2bf8s %xmm24, %xmm23, %xmm22 {%k7}
+
+// CHECK: vcvtne2ph2bf8s %xmm24, %xmm23, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0x85,0x47,0x87,0x74,0xf0]
+          vcvtne2ph2bf8s %xmm24, %xmm23, %xmm22 {%k7} {z}
+
+// CHECK: vcvtne2ph2bf8s  268435456(%rbp,%r14,8), %zmm23, %zmm22
+// CHECK: encoding: [0x62,0xa5,0x47,0x40,0x74,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtne2ph2bf8s  268435456(%rbp,%r14,8), %zmm23, %zmm22
+
+// CHECK: vcvtne2ph2bf8s  291(%r8,%rax,4), %zmm23, %zmm22 {%k7}
+// CHECK: encoding: [0x62,0xc5,0x47,0x47,0x74,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtne2ph2bf8s  291(%r8,%rax,4), %zmm23, %zmm22 {%k7}
+
+// CHECK: vcvtne2ph2bf8s  (%rip){1to32}, %zmm23, %zmm22
+// CHECK: encoding: [0x62,0xe5,0x47,0x50,0x74,0x35,0x00,0x00,0x00,0x00]
+          vcvtne2ph2bf8s  (%rip){1to32}, %zmm23, %zmm22
+
+// CHECK: vcvtne2ph2bf8s  -2048(,%rbp,2), %zmm23, %zmm22
+// CHECK: encoding: [0x62,0xe5,0x47,0x40,0x74,0x34,0x6d,0x00,0xf8,0xff,0xff]
+          vcvtne2ph2bf8s  -2048(,%rbp,2), %zmm23, %zmm22
+
+// CHECK: vcvtne2ph2bf8s  8128(%rcx), %zmm23, %zmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x47,0xc7,0x74,0x71,0x7f]
+          vcvtne2ph2bf8s  8128(%rcx), %zmm23, %zmm22 {%k7} {z}
+
+// CHECK: vcvtne2ph2bf8s  -256(%rdx){1to32}, %zmm23, %zmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x47,0xd7,0x74,0x72,0x80]
+          vcvtne2ph2bf8s  -256(%rdx){1to32}, %zmm23, %zmm22 {%k7} {z}
+
+// CHECK: vcvtne2ph2bf8s  268435456(%rbp,%r14,8), %ymm23, %ymm22
+// CHECK: encoding: [0x62,0xa5,0x47,0x20,0x74,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtne2ph2bf8s  268435456(%rbp,%r14,8), %ymm23, %ymm22
+
+// CHECK: vcvtne2ph2bf8s  291(%r8,%rax,4), %ymm23, %ymm22 {%k7}
+// CHECK: encoding: [0x62,0xc5,0x47,0x27,0x74,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtne2ph2bf8s  291(%r8,%rax,4), %ymm23, %ymm22 {%k7}
+
+// CHECK: vcvtne2ph2bf8s  (%rip){1to16}, %ymm23, %ymm22
+// CHECK: encoding: [0x62,0xe5,0x47,0x30,0x74,0x35,0x00,0x00,0x00,0x00]
+          vcvtne2ph2bf8s  (%rip){1to16}, %ymm23, %ymm22
+
+// CHECK: vcvtne2ph2bf8s  -1024(,%rbp,2), %ymm23, %ymm22
+// CHECK: encoding: [0x62,0xe5,0x47,0x20,0x74,0x34,0x6d,0x00,0xfc,0xff,0xff]
+          vcvtne2ph2bf8s  -1024(,%rbp,2), %ymm23, %ymm22
+
+// CHECK: vcvtne2ph2bf8s  4064(%rcx), %ymm23, %ymm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x47,0xa7,0x74,0x71,0x7f]
+          vcvtne2ph2bf8s  4064(%rcx), %ymm23, %ymm22 {%k7} {z}
+
+// CHECK: vcvtne2ph2bf8s  -256(%rdx){1to16}, %ymm23, %ymm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x47,0xb7,0x74,0x72,0x80]
+          vcvtne2ph2bf8s  -256(%rdx){1to16}, %ymm23, %ymm22 {%k7} {z}
+
+// CHECK: vcvtne2ph2bf8s  268435456(%rbp,%r14,8), %xmm23, %xmm22
+// CHECK: encoding: [0x62,0xa5,0x47,0x00,0x74,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtne2ph2bf8s  268435456(%rbp,%r14,8), %xmm23, %xmm22
+
+// CHECK: vcvtne2ph2bf8s  291(%r8,%rax,4), %xmm23, %xmm22 {%k7}
+// CHECK: encoding: [0x62,0xc5,0x47,0x07,0x74,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtne2ph2bf8s  291(%r8,%rax,4), %xmm23, %xmm22 {%k7}
+
+// CHECK: vcvtne2ph2bf8s  (%rip){1to8}, %xmm23, %xmm22
+// CHECK: encoding: [0x62,0xe5,0x47,0x10,0x74,0x35,0x00,0x00,0x00,0x00]
+          vcvtne2ph2bf8s  (%rip){1to8}, %xmm23, %xmm22
+
+// CHECK: vcvtne2ph2bf8s  -512(,%rbp,2), %xmm23, %xmm22
+// CHECK: encoding: [0x62,0xe5,0x47,0x00,0x74,0x34,0x6d,0x00,0xfe,0xff,0xff]
+          vcvtne2ph2bf8s  -512(,%rbp,2), %xmm23, %xmm22
+
+// CHECK: vcvtne2ph2bf8s  2032(%rcx), %xmm23, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x47,0x87,0x74,0x71,0x7f]
+          vcvtne2ph2bf8s  2032(%rcx), %xmm23, %xmm22 {%k7} {z}
+
+// CHECK: vcvtne2ph2bf8s  -256(%rdx){1to8}, %xmm23, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x47,0x97,0x74,0x72,0x80]
+          vcvtne2ph2bf8s  -256(%rdx){1to8}, %xmm23, %xmm22 {%k7} {z}
+
+// CHECK: vcvtne2ph2hf8 %ymm24, %ymm23, %ymm22
+// CHECK: encoding: [0x62,0x85,0x47,0x20,0x18,0xf0]
+          vcvtne2ph2hf8 %ymm24, %ymm23, %ymm22
+
+// CHECK: vcvtne2ph2hf8 %ymm24, %ymm23, %ymm22 {%k7}
+// CHECK: encoding: [0x62,0x85,0x47,0x27,0x18,0xf0]
+          vcvtne2ph2hf8 %ymm24, %ymm23, %ymm22 {%k7}
+
+// CHECK: vcvtne2ph2hf8 %ymm24, %ymm23, %ymm22 {%k7} {z}
+// CHECK: encoding: [0x62,0x85,0x47,0xa7,0x18,0xf0]
+          vcvtne2ph2hf8 %ymm24, %ymm23, %ymm22 {%k7} {z}
+
+// CHECK: vcvtne2ph2hf8 %zmm24, %zmm23, %zmm22
+// CHECK: encoding: [0x62,0x85,0x47,0x40,0x18,0xf0]
+          vcvtne2ph2hf8 %zmm24, %zmm23, %zmm22
+
+// CHECK: vcvtne2ph2hf8 %zmm24, %zmm23, %zmm22 {%k7}
+// CHECK: encoding: [0x62,0x85,0x47,0x47,0x18,0xf0]
+          vcvtne2ph2hf8 %zmm24, %zmm23, %zmm22 {%k7}
+
+// CHECK: vcvtne2ph2hf8 %zmm24, %zmm23, %zmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0x85,0x47,0xc7,0x18,0xf0]
+          vcvtne2ph2hf8 %zmm24, %zmm23, %zmm22 {%k7} {z}
+
+// CHECK: vcvtne2ph2hf8 %xmm24, %xmm23, %xmm22
+// CHECK: encoding: [0x62,0x85,0x47,0x00,0x18,0xf0]
+          vcvtne2ph2hf8 %xmm24, %xmm23, %xmm22
+
+// CHECK: vcvtne2ph2hf8 %xmm24, %xmm23, %xmm22 {%k7}
+// CHECK: encoding: [0x62,0x85,0x47,0x07,0x18,0xf0]
+          vcvtne2ph2hf8 %xmm24, %xmm23, %xmm22 {%k7}
+
+// CHECK: vcvtne2ph2hf8 %xmm24, %xmm23, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0x85,0x47,0x87,0x18,0xf0]
+          vcvtne2ph2hf8 %xmm24, %xmm23, %xmm22 {%k7} {z}
+
+// CHECK: vcvtne2ph2hf8  268435456(%rbp,%r14,8), %zmm23, %zmm22
+// CHECK: encoding: [0x62,0xa5,0x47,0x40,0x18,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtne2ph2hf8  268435456(%rbp,%r14,8), %zmm23, %zmm22
+
+// CHECK: vcvtne2ph2hf8  291(%r8,%rax,4), %zmm23, %zmm22 {%k7}
+// CHECK: encoding: [0x62,0xc5,0x47,0x47,0x18,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtne2ph2hf8  291(%r8,%rax,4), %zmm23, %zmm22 {%k7}
+
+// CHECK: vcvtne2ph2hf8  (%rip){1to32}, %zmm23, %zmm22
+// CHECK: encoding: [0x62,0xe5,0x47,0x50,0x18,0x35,0x00,0x00,0x00,0x00]
+          vcvtne2ph2hf8  (%rip){1to32}, %zmm23, %zmm22
+
+// CHECK: vcvtne2ph2hf8  -2048(,%rbp,2), %zmm23, %zmm22
+// CHECK: encoding: [0x62,0xe5,0x47,0x40,0x18,0x34,0x6d,0x00,0xf8,0xff,0xff]
+          vcvtne2ph2hf8  -2048(,%rbp,2), %zmm23, %zmm22
+
+// CHECK: vcvtne2ph2hf8  8128(%rcx), %zmm23, %zmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x47,0xc7,0x18,0x71,0x7f]
+          vcvtne2ph2hf8  8128(%rcx), %zmm23, %zmm22 {%k7} {z}
+
+// CHECK: vcvtne2ph2hf8  -256(%rdx){1to32}, %zmm23, %zmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x47,0xd7,0x18,0x72,0x80]
+          vcvtne2ph2hf8  -256(%rdx){1to32}, %zmm23, %zmm22 {%k7} {z}
+
+// CHECK: vcvtne2ph2hf8  268435456(%rbp,%r14,8), %ymm23, %ymm22
+// CHECK: encoding: [0x62,0xa5,0x47,0x20,0x18,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtne2ph2hf8  268435456(%rbp,%r14,8), %ymm23, %ymm22
+
+// CHECK: vcvtne2ph2hf8  291(%r8,%rax,4), %ymm23, %ymm22 {%k7}
+// CHECK: encoding: [0x62,0xc5,0x47,0x27,0x18,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtne2ph2hf8  291(%r8,%rax,4), %ymm23, %ymm22 {%k7}
+
+// CHECK: vcvtne2ph2hf8  (%rip){1to16}, %ymm23, %ymm22
+// CHECK: encoding: [0x62,0xe5,0x47,0x30,0x18,0x35,0x00,0x00,0x00,0x00]
+          vcvtne2ph2hf8  (%rip){1to16}, %ymm23, %ymm22
+
+// CHECK: vcvtne2ph2hf8  -1024(,%rbp,2), %ymm23, %ymm22
+// CHECK: encoding: [0x62,0xe5,0x47,0x20,0x18,0x34,0x6d,0x00,0xfc,0xff,0xff]
+          vcvtne2ph2hf8  -1024(,%rbp,2), %ymm23, %ymm22
+
+// CHECK: vcvtne2ph2hf8  4064(%rcx), %ymm23, %ymm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x47,0xa7,0x18,0x71,0x7f]
+          vcvtne2ph2hf8  4064(%rcx), %ymm23, %ymm22 {%k7} {z}
+
+// CHECK: vcvtne2ph2hf8  -256(%rdx){1to16}, %ymm23, %ymm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x47,0xb7,0x18,0x72,0x80]
+          vcvtne2ph2hf8  -256(%rdx){1to16}, %ymm23, %ymm22 {%k7} {z}
+
+// CHECK: vcvtne2ph2hf8  268435456(%rbp,%r14,8), %xmm23, %xmm22
+// CHECK: encoding: [0x62,0xa5,0x47,0x00,0x18,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtne2ph2hf8  268435456(%rbp,%r14,8), %xmm23, %xmm22
+
+// CHECK: vcvtne2ph2hf8  291(%r8,%rax,4), %xmm23, %xmm22 {%k7}
+// CHECK: encoding: [0x62,0xc5,0x47,0x07,0x18,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtne2ph2hf8  291(%r8,%rax,4), %xmm23, %xmm22 {%k7}
+
+// CHECK: vcvtne2ph2hf8  (%rip){1to8}, %xmm23, %xmm22
+// CHECK: encoding: [0x62,0xe5,0x47,0x10,0x18,0x35,0x00,0x00,0x00,0x00]
+          vcvtne2ph2hf8  (%rip){1to8}, %xmm23, %xmm22
+
+// CHECK: vcvtne2ph2hf8  -512(,%rbp,2), %xmm23, %xmm22
+// CHECK: encoding: [0x62,0xe5,0x47,0x00,0x18,0x34,0x6d,0x00,0xfe,0xff,0xff]
+          vcvtne2ph2hf8  -512(,%rbp,2), %xmm23, %xmm22
+
+// CHECK: vcvtne2ph2hf8  2032(%rcx), %xmm23, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x47,0x87,0x18,0x71,0x7f]
+          vcvtne2ph2hf8  2032(%rcx), %xmm23, %xmm22 {%k7} {z}
+
+// CHECK: vcvtne2ph2hf8  -256(%rdx){1to8}, %xmm23, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x47,0x97,0x18,0x72,0x80]
+          vcvtne2ph2hf8  -256(%rdx){1to8}, %xmm23, %xmm22 {%k7} {z}
+
+// CHECK: vcvtne2ph2hf8s %ymm24, %ymm23, %ymm22
+// CHECK: encoding: [0x62,0x85,0x47,0x20,0x1b,0xf0]
+          vcvtne2ph2hf8s %ymm24, %ymm23, %ymm22
+
+// CHECK: vcvtne2ph2hf8s %ymm24, %ymm23, %ymm22 {%k7}
+// CHECK: encoding: [0x62,0x85,0x47,0x27,0x1b,0xf0]
+          vcvtne2ph2hf8s %ymm24, %ymm23, %ymm22 {%k7}
+
+// CHECK: vcvtne2ph2hf8s %ymm24, %ymm23, %ymm22 {%k7} {z}
+// CHECK: encoding: [0x62,0x85,0x47,0xa7,0x1b,0xf0]
+          vcvtne2ph2hf8s %ymm24, %ymm23, %ymm22 {%k7} {z}
+
+// CHECK: vcvtne2ph2hf8s %zmm24, %zmm23, %zmm22
+// CHECK: encoding: [0x62,0x85,0x47,0x40,0x1b,0xf0]
+          vcvtne2ph2hf8s %zmm24, %zmm23, %zmm22
+
+// CHECK: vcvtne2ph2hf8s %zmm24, %zmm23, %zmm22 {%k7}
+// CHECK: encoding: [0x62,0x85,0x47,0x47,0x1b,0xf0]
+          vcvtne2ph2hf8s %zmm24, %zmm23, %zmm22 {%k7}
+
+// CHECK: vcvtne2ph2hf8s %zmm24, %zmm23, %zmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0x85,0x47,0xc7,0x1b,0xf0]
+          vcvtne2ph2hf8s %zmm24, %zmm23, %zmm22 {%k7} {z}
+
+// CHECK: vcvtne2ph2hf8s %xmm24, %xmm23, %xmm22
+// CHECK: encoding: [0x62,0x85,0x47,0x00,0x1b,0xf0]
+          vcvtne2ph2hf8s %xmm24, %xmm23, %xmm22
+
+// CHECK: vcvtne2ph2hf8s %xmm24, %xmm23, %xmm22 {%k7}
+// CHECK: encoding: [0x62,0x85,0x47,0x07,0x1b,0xf0]
+          vcvtne2ph2hf8s %xmm24, %xmm23, %xmm22 {%k7}
+
+// CHECK: vcvtne2ph2hf8s %xmm24, %xmm23, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0x85,0x47,0x87,0x1b,0xf0]
+          vcvtne2ph2hf8s %xmm24, %xmm23, %xmm22 {%k7} {z}
+
+// CHECK: vcvtne2ph2hf8s  268435456(%rbp,%r14,8), %zmm23, %zmm22
+// CHECK: encoding: [0x62,0xa5,0x47,0x40,0x1b,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtne2ph2hf8s  268435456(%rbp,%r14,8), %zmm23, %zmm22
+
+// CHECK: vcvtne2ph2hf8s  291(%r8,%rax,4), %zmm23, %zmm22 {%k7}
+// CHECK: encoding: [0x62,0xc5,0x47,0x47,0x1b,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtne2ph2hf8s  291(%r8,%rax,4), %zmm23, %zmm22 {%k7}
+
+// CHECK: vcvtne2ph2hf8s  (%rip){1to32}, %zmm23, %zmm22
+// CHECK: encoding: [0x62,0xe5,0x47,0x50,0x1b,0x35,0x00,0x00,0x00,0x00]
+          vcvtne2ph2hf8s  (%rip){1to32}, %zmm23, %zmm22
+
+// CHECK: vcvtne2ph2hf8s  -2048(,%rbp,2), %zmm23, %zmm22
+// CHECK: encoding: [0x62,0xe5,0x47,0x40,0x1b,0x34,0x6d,0x00,0xf8,0xff,0xff]
+          vcvtne2ph2hf8s  -2048(,%rbp,2), %zmm23, %zmm22
+
+// CHECK: vcvtne2ph2hf8s  8128(%rcx), %zmm23, %zmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x47,0xc7,0x1b,0x71,0x7f]
+          vcvtne2ph2hf8s  8128(%rcx), %zmm23, %zmm22 {%k7} {z}
+
+// CHECK: vcvtne2ph2hf8s  -256(%rdx){1to32}, %zmm23, %zmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x47,0xd7,0x1b,0x72,0x80]
+          vcvtne2ph2hf8s  -256(%rdx){1to32}, %zmm23, %zmm22 {%k7} {z}
+
+// CHECK: vcvtne2ph2hf8s  268435456(%rbp,%r14,8), %ymm23, %ymm22
+// CHECK: encoding: [0x62,0xa5,0x47,0x20,0x1b,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtne2ph2hf8s  268435456(%rbp,%r14,8), %ymm23, %ymm22
+
+// CHECK: vcvtne2ph2hf8s  291(%r8,%rax,4), %ymm23, %ymm22 {%k7}
+// CHECK: encoding: [0x62,0xc5,0x47,0x27,0x1b,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtne2ph2hf8s  291(%r8,%rax,4), %ymm23, %ymm22 {%k7}
+
+// CHECK: vcvtne2ph2hf8s  (%rip){1to16}, %ymm23, %ymm22
+// CHECK: encoding: [0x62,0xe5,0x47,0x30,0x1b,0x35,0x00,0x00,0x00,0x00]
+          vcvtne2ph2hf8s  (%rip){1to16}, %ymm23, %ymm22
+
+// CHECK: vcvtne2ph2hf8s  -1024(,%rbp,2), %ymm23, %ymm22
+// CHECK: encoding: [0x62,0xe5,0x47,0x20,0x1b,0x34,0x6d,0x00,0xfc,0xff,0xff]
+          vcvtne2ph2hf8s  -1024(,%rbp,2), %ymm23, %ymm22
+
+// CHECK: vcvtne2ph2hf8s  4064(%rcx), %ymm23, %ymm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x47,0xa7,0x1b,0x71,0x7f]
+          vcvtne2ph2hf8s  4064(%rcx), %ymm23, %ymm22 {%k7} {z}
+
+// CHECK: vcvtne2ph2hf8s  -256(%rdx){1to16}, %ymm23, %ymm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x47,0xb7,0x1b,0x72,0x80]
+          vcvtne2ph2hf8s  -256(%rdx){1to16}, %ymm23, %ymm22 {%k7} {z}
+
+// CHECK: vcvtne2ph2hf8s  268435456(%rbp,%r14,8), %xmm23, %xmm22
+// CHECK: encoding: [0x62,0xa5,0x47,0x00,0x1b,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtne2ph2hf8s  268435456(%rbp,%r14,8), %xmm23, %xmm22
+
+// CHECK: vcvtne2ph2hf8s  291(%r8,%rax,4), %xmm23, %xmm22 {%k7}
+// CHECK: encoding: [0x62,0xc5,0x47,0x07,0x1b,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtne2ph2hf8s  291(%r8,%rax,4), %xmm23, %xmm22 {%k7}
+
+// CHECK: vcvtne2ph2hf8s  (%rip){1to8}, %xmm23, %xmm22
+// CHECK: encoding: [0x62,0xe5,0x47,0x10,0x1b,0x35,0x00,0x00,0x00,0x00]
+          vcvtne2ph2hf8s  (%rip){1to8}, %xmm23, %xmm22
+
+// CHECK: vcvtne2ph2hf8s  -512(,%rbp,2), %xmm23, %xmm22
+// CHECK: encoding: [0x62,0xe5,0x47,0x00,0x1b,0x34,0x6d,0x00,0xfe,0xff,0xff]
+          vcvtne2ph2hf8s  -512(,%rbp,2), %xmm23, %xmm22
+
+// CHECK: vcvtne2ph2hf8s  2032(%rcx), %xmm23, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x47,0x87,0x1b,0x71,0x7f]
+          vcvtne2ph2hf8s  2032(%rcx), %xmm23, %xmm22 {%k7} {z}
+
+// CHECK: vcvtne2ph2hf8s  -256(%rdx){1to8}, %xmm23, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x47,0x97,0x1b,0x72,0x80]
+          vcvtne2ph2hf8s  -256(%rdx){1to8}, %xmm23, %xmm22 {%k7} {z}
+
+// CHECK: vcvtneph2bf8 %xmm23, %xmm22
+// CHECK: encoding: [0x62,0xa2,0x7e,0x08,0x74,0xf7]
+          vcvtneph2bf8 %xmm23, %xmm22
+
+// CHECK: vcvtneph2bf8 %xmm23, %xmm22 {%k7}
+// CHECK: encoding: [0x62,0xa2,0x7e,0x0f,0x74,0xf7]
+          vcvtneph2bf8 %xmm23, %xmm22 {%k7}
+
+// CHECK: vcvtneph2bf8 %xmm23, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xa2,0x7e,0x8f,0x74,0xf7]
+          vcvtneph2bf8 %xmm23, %xmm22 {%k7} {z}
+
+// CHECK: vcvtneph2bf8 %zmm23, %ymm22
+// CHECK: encoding: [0x62,0xa2,0x7e,0x48,0x74,0xf7]
+          vcvtneph2bf8 %zmm23, %ymm22
+
+// CHECK: vcvtneph2bf8 %zmm23, %ymm22 {%k7}
+// CHECK: encoding: [0x62,0xa2,0x7e,0x4f,0x74,0xf7]
+          vcvtneph2bf8 %zmm23, %ymm22 {%k7}
+
+// CHECK: vcvtneph2bf8 %zmm23, %ymm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xa2,0x7e,0xcf,0x74,0xf7]
+          vcvtneph2bf8 %zmm23, %ymm22 {%k7} {z}
+
+// CHECK: vcvtneph2bf8 %ymm23, %xmm22
+// CHECK: encoding: [0x62,0xa2,0x7e,0x28,0x74,0xf7]
+          vcvtneph2bf8 %ymm23, %xmm22
+
+// CHECK: vcvtneph2bf8 %ymm23, %xmm22 {%k7}
+// CHECK: encoding: [0x62,0xa2,0x7e,0x2f,0x74,0xf7]
+          vcvtneph2bf8 %ymm23, %xmm22 {%k7}
+
+// CHECK: vcvtneph2bf8 %ymm23, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xa2,0x7e,0xaf,0x74,0xf7]
+          vcvtneph2bf8 %ymm23, %xmm22 {%k7} {z}
+
+// CHECK: vcvtneph2bf8x  268435456(%rbp,%r14,8), %xmm22
+// CHECK: encoding: [0x62,0xa2,0x7e,0x08,0x74,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtneph2bf8x  268435456(%rbp,%r14,8), %xmm22
+
+// CHECK: vcvtneph2bf8x  291(%r8,%rax,4), %xmm22 {%k7}
+// CHECK: encoding: [0x62,0xc2,0x7e,0x0f,0x74,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtneph2bf8x  291(%r8,%rax,4), %xmm22 {%k7}
+
+// CHECK: vcvtneph2bf8  (%rip){1to8}, %xmm22
+// CHECK: encoding: [0x62,0xe2,0x7e,0x18,0x74,0x35,0x00,0x00,0x00,0x00]
+          vcvtneph2bf8  (%rip){1to8}, %xmm22
+
+// CHECK: vcvtneph2bf8x  -512(,%rbp,2), %xmm22
+// CHECK: encoding: [0x62,0xe2,0x7e,0x08,0x74,0x34,0x6d,0x00,0xfe,0xff,0xff]
+          vcvtneph2bf8x  -512(,%rbp,2), %xmm22
+
+// CHECK: vcvtneph2bf8x  2032(%rcx), %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe2,0x7e,0x8f,0x74,0x71,0x7f]
+          vcvtneph2bf8x  2032(%rcx), %xmm22 {%k7} {z}
+
+// CHECK: vcvtneph2bf8  -256(%rdx){1to8}, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe2,0x7e,0x9f,0x74,0x72,0x80]
+          vcvtneph2bf8  -256(%rdx){1to8}, %xmm22 {%k7} {z}
+
+// CHECK: vcvtneph2bf8  (%rip){1to16}, %xmm22
+// CHECK: encoding: [0x62,0xe2,0x7e,0x38,0x74,0x35,0x00,0x00,0x00,0x00]
+          vcvtneph2bf8  (%rip){1to16}, %xmm22
+
+// CHECK: vcvtneph2bf8y  -1024(,%rbp,2), %xmm22
+// CHECK: encoding: [0x62,0xe2,0x7e,0x28,0x74,0x34,0x6d,0x00,0xfc,0xff,0xff]
+          vcvtneph2bf8y  -1024(,%rbp,2), %xmm22
+
+// CHECK: vcvtneph2bf8y  4064(%rcx), %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe2,0x7e,0xaf,0x74,0x71,0x7f]
+          vcvtneph2bf8y  4064(%rcx), %xmm22 {%k7} {z}
+
+// CHECK: vcvtneph2bf8  -256(%rdx){1to16}, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe2,0x7e,0xbf,0x74,0x72,0x80]
+          vcvtneph2bf8  -256(%rdx){1to16}, %xmm22 {%k7} {z}
+
+// CHECK: vcvtneph2bf8  268435456(%rbp,%r14,8), %ymm22
+// CHECK: encoding: [0x62,0xa2,0x7e,0x48,0x74,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtneph2bf8  268435456(%rbp,%r14,8), %ymm22
+
+// CHECK: vcvtneph2bf8  291(%r8,%rax,4), %ymm22 {%k7}
+// CHECK: encoding: [0x62,0xc2,0x7e,0x4f,0x74,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtneph2bf8  291(%r8,%rax,4), %ymm22 {%k7}
+
+// CHECK: vcvtneph2bf8  (%rip){1to32}, %ymm22
+// CHECK: encoding: [0x62,0xe2,0x7e,0x58,0x74,0x35,0x00,0x00,0x00,0x00]
+          vcvtneph2bf8  (%rip){1to32}, %ymm22
+
+// CHECK: vcvtneph2bf8  -2048(,%rbp,2), %ymm22
+// CHECK: encoding: [0x62,0xe2,0x7e,0x48,0x74,0x34,0x6d,0x00,0xf8,0xff,0xff]
+          vcvtneph2bf8  -2048(,%rbp,2), %ymm22
+
+// CHECK: vcvtneph2bf8  8128(%rcx), %ymm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe2,0x7e,0xcf,0x74,0x71,0x7f]
+          vcvtneph2bf8  8128(%rcx), %ymm22 {%k7} {z}
+
+// CHECK: vcvtneph2bf8  -256(%rdx){1to32}, %ymm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe2,0x7e,0xdf,0x74,0x72,0x80]
+          vcvtneph2bf8  -256(%rdx){1to32}, %ymm22 {%k7} {z}
+
+// CHECK: vcvtneph2bf8s %xmm23, %xmm22
+// CHECK: encoding: [0x62,0xa5,0x7e,0x08,0x74,0xf7]
+          vcvtneph2bf8s %xmm23, %xmm22
+
+// CHECK: vcvtneph2bf8s %xmm23, %xmm22 {%k7}
+// CHECK: encoding: [0x62,0xa5,0x7e,0x0f,0x74,0xf7]
+          vcvtneph2bf8s %xmm23, %xmm22 {%k7}
+
+// CHECK: vcvtneph2bf8s %xmm23, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xa5,0x7e,0x8f,0x74,0xf7]
+          vcvtneph2bf8s %xmm23, %xmm22 {%k7} {z}
+
+// CHECK: vcvtneph2bf8s %zmm23, %ymm22
+// CHECK: encoding: [0x62,0xa5,0x7e,0x48,0x74,0xf7]
+          vcvtneph2bf8s %zmm23, %ymm22
+
+// CHECK: vcvtneph2bf8s %zmm23, %ymm22 {%k7}
+// CHECK: encoding: [0x62,0xa5,0x7e,0x4f,0x74,0xf7]
+          vcvtneph2bf8s %zmm23, %ymm22 {%k7}
+
+// CHECK: vcvtneph2bf8s %zmm23, %ymm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xa5,0x7e,0xcf,0x74,0xf7]
+          vcvtneph2bf8s %zmm23, %ymm22 {%k7} {z}
+
+// CHECK: vcvtneph2bf8s %ymm23, %xmm22
+// CHECK: encoding: [0x62,0xa5,0x7e,0x28,0x74,0xf7]
+          vcvtneph2bf8s %ymm23, %xmm22
+
+// CHECK: vcvtneph2bf8s %ymm23, %xmm22 {%k7}
+// CHECK: encoding: [0x62,0xa5,0x7e,0x2f,0x74,0xf7]
+          vcvtneph2bf8s %ymm23, %xmm22 {%k7}
+
+// CHECK: vcvtneph2bf8s %ymm23, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xa5,0x7e,0xaf,0x74,0xf7]
+          vcvtneph2bf8s %ymm23, %xmm22 {%k7} {z}
+
+// CHECK: vcvtneph2bf8sx  268435456(%rbp,%r14,8), %xmm22
+// CHECK: encoding: [0x62,0xa5,0x7e,0x08,0x74,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtneph2bf8sx  268435456(%rbp,%r14,8), %xmm22
+
+// CHECK: vcvtneph2bf8sx  291(%r8,%rax,4), %xmm22 {%k7}
+// CHECK: encoding: [0x62,0xc5,0x7e,0x0f,0x74,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtneph2bf8sx  291(%r8,%rax,4), %xmm22 {%k7}
+
+// CHECK: vcvtneph2bf8s  (%rip){1to8}, %xmm22
+// CHECK: encoding: [0x62,0xe5,0x7e,0x18,0x74,0x35,0x00,0x00,0x00,0x00]
+          vcvtneph2bf8s  (%rip){1to8}, %xmm22
+
+// CHECK: vcvtneph2bf8sx  -512(,%rbp,2), %xmm22
+// CHECK: encoding: [0x62,0xe5,0x7e,0x08,0x74,0x34,0x6d,0x00,0xfe,0xff,0xff]
+          vcvtneph2bf8sx  -512(,%rbp,2), %xmm22
+
+// CHECK: vcvtneph2bf8sx  2032(%rcx), %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x7e,0x8f,0x74,0x71,0x7f]
+          vcvtneph2bf8sx  2032(%rcx), %xmm22 {%k7} {z}
+
+// CHECK: vcvtneph2bf8s  -256(%rdx){1to8}, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x7e,0x9f,0x74,0x72,0x80]
+          vcvtneph2bf8s  -256(%rdx){1to8}, %xmm22 {%k7} {z}
+
+// CHECK: vcvtneph2bf8s  (%rip){1to16}, %xmm22
+// CHECK: encoding: [0x62,0xe5,0x7e,0x38,0x74,0x35,0x00,0x00,0x00,0x00]
+          vcvtneph2bf8s  (%rip){1to16}, %xmm22
+
+// CHECK: vcvtneph2bf8sy  -1024(,%rbp,2), %xmm22
+// CHECK: encoding: [0x62,0xe5,0x7e,0x28,0x74,0x34,0x6d,0x00,0xfc,0xff,0xff]
+          vcvtneph2bf8sy  -1024(,%rbp,2), %xmm22
+
+// CHECK: vcvtneph2bf8sy  4064(%rcx), %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x7e,0xaf,0x74,0x71,0x7f]
+          vcvtneph2bf8sy  4064(%rcx), %xmm22 {%k7} {z}
+
+// CHECK: vcvtneph2bf8s  -256(%rdx){1to16}, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x7e,0xbf,0x74,0x72,0x80]
+          vcvtneph2bf8s  -256(%rdx){1to16}, %xmm22 {%k7} {z}
+
+// CHECK: vcvtneph2bf8s  268435456(%rbp,%r14,8), %ymm22
+// CHECK: encoding: [0x62,0xa5,0x7e,0x48,0x74,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtneph2bf8s  268435456(%rbp,%r14,8), %ymm22
+
+// CHECK: vcvtneph2bf8s  291(%r8,%rax,4), %ymm22 {%k7}
+// CHECK: encoding: [0x62,0xc5,0x7e,0x4f,0x74,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtneph2bf8s  291(%r8,%rax,4), %ymm22 {%k7}
+
+// CHECK: vcvtneph2bf8s  (%rip){1to32}, %ymm22
+// CHECK: encoding: [0x62,0xe5,0x7e,0x58,0x74,0x35,0x00,0x00,0x00,0x00]
+          vcvtneph2bf8s  (%rip){1to32}, %ymm22
+
+// CHECK: vcvtneph2bf8s  -2048(,%rbp,2), %ymm22
+// CHECK: encoding: [0x62,0xe5,0x7e,0x48,0x74,0x34,0x6d,0x00,0xf8,0xff,0xff]
+          vcvtneph2bf8s  -2048(,%rbp,2), %ymm22
+
+// CHECK: vcvtneph2bf8s  8128(%rcx), %ymm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x7e,0xcf,0x74,0x71,0x7f]
+          vcvtneph2bf8s  8128(%rcx), %ymm22 {%k7} {z}
+
+// CHECK: vcvtneph2bf8s  -256(%rdx){1to32}, %ymm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x7e,0xdf,0x74,0x72,0x80]
+          vcvtneph2bf8s  -256(%rdx){1to32}, %ymm22 {%k7} {z}
+
+// CHECK: vcvtneph2hf8 %xmm23, %xmm22
+// CHECK: encoding: [0x62,0xa5,0x7e,0x08,0x18,0xf7]
+          vcvtneph2hf8 %xmm23, %xmm22
+
+// CHECK: vcvtneph2hf8 %xmm23, %xmm22 {%k7}
+// CHECK: encoding: [0x62,0xa5,0x7e,0x0f,0x18,0xf7]
+          vcvtneph2hf8 %xmm23, %xmm22 {%k7}
+
+// CHECK: vcvtneph2hf8 %xmm23, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xa5,0x7e,0x8f,0x18,0xf7]
+          vcvtneph2hf8 %xmm23, %xmm22 {%k7} {z}
+
+// CHECK: vcvtneph2hf8 %zmm23, %ymm22
+// CHECK: encoding: [0x62,0xa5,0x7e,0x48,0x18,0xf7]
+          vcvtneph2hf8 %zmm23, %ymm22
+
+// CHECK: vcvtneph2hf8 %zmm23, %ymm22 {%k7}
+// CHECK: encoding: [0x62,0xa5,0x7e,0x4f,0x18,0xf7]
+          vcvtneph2hf8 %zmm23, %ymm22 {%k7}
+
+// CHECK: vcvtneph2hf8 %zmm23, %ymm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xa5,0x7e,0xcf,0x18,0xf7]
+          vcvtneph2hf8 %zmm23, %ymm22 {%k7} {z}
+
+// CHECK: vcvtneph2hf8 %ymm23, %xmm22
+// CHECK: encoding: [0x62,0xa5,0x7e,0x28,0x18,0xf7]
+          vcvtneph2hf8 %ymm23, %xmm22
+
+// CHECK: vcvtneph2hf8 %ymm23, %xmm22 {%k7}
+// CHECK: encoding: [0x62,0xa5,0x7e,0x2f,0x18,0xf7]
+          vcvtneph2hf8 %ymm23, %xmm22 {%k7}
+
+// CHECK: vcvtneph2hf8 %ymm23, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xa5,0x7e,0xaf,0x18,0xf7]
+          vcvtneph2hf8 %ymm23, %xmm22 {%k7} {z}
+
+// CHECK: vcvtneph2hf8x  268435456(%rbp,%r14,8), %xmm22
+// CHECK: encoding: [0x62,0xa5,0x7e,0x08,0x18,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtneph2hf8x  268435456(%rbp,%r14,8), %xmm22
+
+// CHECK: vcvtneph2hf8x  291(%r8,%rax,4), %xmm22 {%k7}
+// CHECK: encoding: [0x62,0xc5,0x7e,0x0f,0x18,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtneph2hf8x  291(%r8,%rax,4), %xmm22 {%k7}
+
+// CHECK: vcvtneph2hf8  (%rip){1to8}, %xmm22
+// CHECK: encoding: [0x62,0xe5,0x7e,0x18,0x18,0x35,0x00,0x00,0x00,0x00]
+          vcvtneph2hf8  (%rip){1to8}, %xmm22
+
+// CHECK: vcvtneph2hf8x  -512(,%rbp,2), %xmm22
+// CHECK: encoding: [0x62,0xe5,0x7e,0x08,0x18,0x34,0x6d,0x00,0xfe,0xff,0xff]
+          vcvtneph2hf8x  -512(,%rbp,2), %xmm22
+
+// CHECK: vcvtneph2hf8x  2032(%rcx), %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x7e,0x8f,0x18,0x71,0x7f]
+          vcvtneph2hf8x  2032(%rcx), %xmm22 {%k7} {z}
+
+// CHECK: vcvtneph2hf8  -256(%rdx){1to8}, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x7e,0x9f,0x18,0x72,0x80]
+          vcvtneph2hf8  -256(%rdx){1to8}, %xmm22 {%k7} {z}
+
+// CHECK: vcvtneph2hf8  (%rip){1to16}, %xmm22
+// CHECK: encoding: [0x62,0xe5,0x7e,0x38,0x18,0x35,0x00,0x00,0x00,0x00]
+          vcvtneph2hf8  (%rip){1to16}, %xmm22
+
+// CHECK: vcvtneph2hf8y  -1024(,%rbp,2), %xmm22
+// CHECK: encoding: [0x62,0xe5,0x7e,0x28,0x18,0x34,0x6d,0x00,0xfc,0xff,0xff]
+          vcvtneph2hf8y  -1024(,%rbp,2), %xmm22
+
+// CHECK: vcvtneph2hf8y  4064(%rcx), %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x7e,0xaf,0x18,0x71,0x7f]
+          vcvtneph2hf8y  4064(%rcx), %xmm22 {%k7} {z}
+
+// CHECK: vcvtneph2hf8  -256(%rdx){1to16}, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x7e,0xbf,0x18,0x72,0x80]
+          vcvtneph2hf8  -256(%rdx){1to16}, %xmm22 {%k7} {z}
+
+// CHECK: vcvtneph2hf8  268435456(%rbp,%r14,8), %ymm22
+// CHECK: encoding: [0x62,0xa5,0x7e,0x48,0x18,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtneph2hf8  268435456(%rbp,%r14,8), %ymm22
+
+// CHECK: vcvtneph2hf8  291(%r8,%rax,4), %ymm22 {%k7}
+// CHECK: encoding: [0x62,0xc5,0x7e,0x4f,0x18,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtneph2hf8  291(%r8,%rax,4), %ymm22 {%k7}
+
+// CHECK: vcvtneph2hf8  (%rip){1to32}, %ymm22
+// CHECK: encoding: [0x62,0xe5,0x7e,0x58,0x18,0x35,0x00,0x00,0x00,0x00]
+          vcvtneph2hf8  (%rip){1to32}, %ymm22
+
+// CHECK: vcvtneph2hf8  -2048(,%rbp,2), %ymm22
+// CHECK: encoding: [0x62,0xe5,0x7e,0x48,0x18,0x34,0x6d,0x00,0xf8,0xff,0xff]
+          vcvtneph2hf8  -2048(,%rbp,2), %ymm22
+
+// CHECK: vcvtneph2hf8  8128(%rcx), %ymm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x7e,0xcf,0x18,0x71,0x7f]
+          vcvtneph2hf8  8128(%rcx), %ymm22 {%k7} {z}
+
+// CHECK: vcvtneph2hf8  -256(%rdx){1to32}, %ymm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x7e,0xdf,0x18,0x72,0x80]
+          vcvtneph2hf8  -256(%rdx){1to32}, %ymm22 {%k7} {z}
+
+// CHECK: vcvtneph2hf8s %xmm23, %xmm22
+// CHECK: encoding: [0x62,0xa5,0x7e,0x08,0x1b,0xf7]
+          vcvtneph2hf8s %xmm23, %xmm22
+
+// CHECK: vcvtneph2hf8s %xmm23, %xmm22 {%k7}
+// CHECK: encoding: [0x62,0xa5,0x7e,0x0f,0x1b,0xf7]
+          vcvtneph2hf8s %xmm23, %xmm22 {%k7}
+
+// CHECK: vcvtneph2hf8s %xmm23, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xa5,0x7e,0x8f,0x1b,0xf7]
+          vcvtneph2hf8s %xmm23, %xmm22 {%k7} {z}
+
+// CHECK: vcvtneph2hf8s %zmm23, %ymm22
+// CHECK: encoding: [0x62,0xa5,0x7e,0x48,0x1b,0xf7]
+          vcvtneph2hf8s %zmm23, %ymm22
+
+// CHECK: vcvtneph2hf8s %zmm23, %ymm22 {%k7}
+// CHECK: encoding: [0x62,0xa5,0x7e,0x4f,0x1b,0xf7]
+          vcvtneph2hf8s %zmm23, %ymm22 {%k7}
+
+// CHECK: vcvtneph2hf8s %zmm23, %ymm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xa5,0x7e,0xcf,0x1b,0xf7]
+          vcvtneph2hf8s %zmm23, %ymm22 {%k7} {z}
+
+// CHECK: vcvtneph2hf8s %ymm23, %xmm22
+// CHECK: encoding: [0x62,0xa5,0x7e,0x28,0x1b,0xf7]
+          vcvtneph2hf8s %ymm23, %xmm22
+
+// CHECK: vcvtneph2hf8s %ymm23, %xmm22 {%k7}
+// CHECK: encoding: [0x62,0xa5,0x7e,0x2f,0x1b,0xf7]
+          vcvtneph2hf8s %ymm23, %xmm22 {%k7}
+
+// CHECK: vcvtneph2hf8s %ymm23, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xa5,0x7e,0xaf,0x1b,0xf7]
+          vcvtneph2hf8s %ymm23, %xmm22 {%k7} {z}
+
+// CHECK: vcvtneph2hf8sx  268435456(%rbp,%r14,8), %xmm22
+// CHECK: encoding: [0x62,0xa5,0x7e,0x08,0x1b,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtneph2hf8sx  268435456(%rbp,%r14,8), %xmm22
+
+// CHECK: vcvtneph2hf8sx  291(%r8,%rax,4), %xmm22 {%k7}
+// CHECK: encoding: [0x62,0xc5,0x7e,0x0f,0x1b,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtneph2hf8sx  291(%r8,%rax,4), %xmm22 {%k7}
+
+// CHECK: vcvtneph2hf8s  (%rip){1to8}, %xmm22
+// CHECK: encoding: [0x62,0xe5,0x7e,0x18,0x1b,0x35,0x00,0x00,0x00,0x00]
+          vcvtneph2hf8s  (%rip){1to8}, %xmm22
+
+// CHECK: vcvtneph2hf8sx  -512(,%rbp,2), %xmm22
+// CHECK: encoding: [0x62,0xe5,0x7e,0x08,0x1b,0x34,0x6d,0x00,0xfe,0xff,0xff]
+          vcvtneph2hf8sx  -512(,%rbp,2), %xmm22
+
+// CHECK: vcvtneph2hf8sx  2032(%rcx), %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x7e,0x8f,0x1b,0x71,0x7f]
+          vcvtneph2hf8sx  2032(%rcx), %xmm22 {%k7} {z}
+
+// CHECK: vcvtneph2hf8s  -256(%rdx){1to8}, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x7e,0x9f,0x1b,0x72,0x80]
+          vcvtneph2hf8s  -256(%rdx){1to8}, %xmm22 {%k7} {z}
+
+// CHECK: vcvtneph2hf8s  (%rip){1to16}, %xmm22
+// CHECK: encoding: [0x62,0xe5,0x7e,0x38,0x1b,0x35,0x00,0x00,0x00,0x00]
+          vcvtneph2hf8s  (%rip){1to16}, %xmm22
+
+// CHECK: vcvtneph2hf8sy  -1024(,%rbp,2), %xmm22
+// CHECK: encoding: [0x62,0xe5,0x7e,0x28,0x1b,0x34,0x6d,0x00,0xfc,0xff,0xff]
+          vcvtneph2hf8sy  -1024(,%rbp,2), %xmm22
+
+// CHECK: vcvtneph2hf8sy  4064(%rcx), %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x7e,0xaf,0x1b,0x71,0x7f]
+          vcvtneph2hf8sy  4064(%rcx), %xmm22 {%k7} {z}
+
+// CHECK: vcvtneph2hf8s  -256(%rdx){1to16}, %xmm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x7e,0xbf,0x1b,0x72,0x80]
+          vcvtneph2hf8s  -256(%rdx){1to16}, %xmm22 {%k7} {z}
+
+// CHECK: vcvtneph2hf8s  268435456(%rbp,%r14,8), %ymm22
+// CHECK: encoding: [0x62,0xa5,0x7e,0x48,0x1b,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtneph2hf8s  268435456(%rbp,%r14,8), %ymm22
+
+// CHECK: vcvtneph2hf8s  291(%r8,%rax,4), %ymm22 {%k7}
+// CHECK: encoding: [0x62,0xc5,0x7e,0x4f,0x1b,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtneph2hf8s  291(%r8,%rax,4), %ymm22 {%k7}
+
+// CHECK: vcvtneph2hf8s  (%rip){1to32}, %ymm22
+// CHECK: encoding: [0x62,0xe5,0x7e,0x58,0x1b,0x35,0x00,0x00,0x00,0x00]
+          vcvtneph2hf8s  (%rip){1to32}, %ymm22
+
+// CHECK: vcvtneph2hf8s  -2048(,%rbp,2), %ymm22
+// CHECK: encoding: [0x62,0xe5,0x7e,0x48,0x1b,0x34,0x6d,0x00,0xf8,0xff,0xff]
+          vcvtneph2hf8s  -2048(,%rbp,2), %ymm22
+
+// CHECK: vcvtneph2hf8s  8128(%rcx), %ymm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x7e,0xcf,0x1b,0x71,0x7f]
+          vcvtneph2hf8s  8128(%rcx), %ymm22 {%k7} {z}
+
+// CHECK: vcvtneph2hf8s  -256(%rdx){1to32}, %ymm22 {%k7} {z}
+// CHECK: encoding: [0x62,0xe5,0x7e,0xdf,0x1b,0x72,0x80]
+          vcvtneph2hf8s  -256(%rdx){1to32}, %ymm22 {%k7} {z}
+
diff --git a/llvm/test/MC/X86/avx10.2convert-64-intel.s b/llvm/test/MC/X86/avx10.2convert-64-intel.s
new file mode 100644
index 0000000000000..2f0cd1b280935
--- /dev/null
+++ b/llvm/test/MC/X86/avx10.2convert-64-intel.s
@@ -0,0 +1,1490 @@
+// RUN: llvm-mc -triple x86_64 -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s
+
+// CHECK: vcvt2ps2phx ymm22, ymm23, ymm24
+// 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
+
+// CHECK: vcvt2ps2phx zmm22, zmm23, zmm24, {rn-sae}
+// CHECK: encoding: [0x62,0x82,0x45,0x10,0x67,0xf0]
+          vcvt2ps2phx zmm22, zmm23, zmm24, {rn-sae}
+
+// CHECK: vcvt2ps2phx zmm22 {k7}, zmm23, zmm24
+// CHECK: encoding: [0x62,0x82,0x45,0x47,0x67,0xf0]
+          vcvt2ps2phx zmm22 {k7}, zmm23, zmm24
+
+// CHECK: vcvt2ps2phx zmm22 {k7} {z}, zmm23, zmm24, {rz-sae}
+// CHECK: encoding: [0x62,0x82,0x45,0xf7,0x67,0xf0]
+          vcvt2ps2phx zmm22 {k7} {z}, zmm23, zmm24, {rz-sae}
+
+// CHECK: vcvt2ps2phx xmm22, xmm23, xmm24
+// CHECK: encoding: [0x62,0x82,0x45,0x00,0x67,0xf0]
+          vcvt2ps2phx xmm22, xmm23, xmm24
+
+// CHECK: vcvt2ps2phx xmm22 {k7}, xmm23, xmm24
+// CHECK: encoding: [0x62,0x82,0x45,0x07,0x67,0xf0]
+          vcvt2ps2phx xmm22 {k7}, xmm23, xmm24
+
+// CHECK: vcvt2ps2phx xmm22 {k7} {z}, xmm23, xmm24
+// CHECK: encoding: [0x62,0x82,0x45,0x87,0x67,0xf0]
+          vcvt2ps2phx xmm22 {k7} {z}, xmm23, xmm24
+
+// CHECK: vcvt2ps2phx zmm22, zmm23, zmmword ptr [rbp + 8*r14 + 268435456]
+// CHECK: encoding: [0x62,0xa2,0x45,0x40,0x67,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvt2ps2phx zmm22, zmm23, zmmword ptr [rbp + 8*r14 + 268435456]
+
+// CHECK: vcvt2ps2phx zmm22 {k7}, zmm23, zmmword ptr [r8 + 4*rax + 291]
+// CHECK: encoding: [0x62,0xc2,0x45,0x47,0x67,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvt2ps2phx zmm22 {k7}, zmm23, zmmword ptr [r8 + 4*rax + 291]
+
+// CHECK: vcvt2ps2phx zmm22, zmm23, dword ptr [rip]{1to16}
+// CHECK: encoding: [0x62,0xe2,0x45,0x50,0x67,0x35,0x00,0x00,0x00,0x00]
+          vcvt2ps2phx zmm22, zmm23, dword ptr [rip]{1to16}
+
+// CHECK: vcvt2ps2phx zmm22, zmm23, zmmword ptr [2*rbp - 2048]
+// CHECK: encoding: [0x62,0xe2,0x45,0x40,0x67,0x34,0x6d,0x00,0xf8,0xff,0xff]
+          vcvt2ps2phx zmm22, zmm23, zmmword ptr [2*rbp - 2048]
+
+// CHECK: vcvt2ps2phx zmm22 {k7} {z}, zmm23, zmmword ptr [rcx + 8128]
+// CHECK: encoding: [0x62,0xe2,0x45,0xc7,0x67,0x71,0x7f]
+          vcvt2ps2phx zmm22 {k7} {z}, zmm23, zmmword ptr [rcx + 8128]
+
+// CHECK: vcvt2ps2phx zmm22 {k7} {z}, zmm23, dword ptr [rdx - 512]{1to16}
+// CHECK: encoding: [0x62,0xe2,0x45,0xd7,0x67,0x72,0x80]
+          vcvt2ps2phx zmm22 {k7} {z}, zmm23, dword ptr [rdx - 512]{1to16}
+
+// CHECK: vcvt2ps2phx ymm22, ymm23, ymmword ptr [rbp + 8*r14 + 268435456]
+// CHECK: encoding: [0x62,0xa2,0x45,0x20,0x67,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvt2ps2phx ymm22, ymm23, ymmword ptr [rbp + 8*r14 + 268435456]
+
+// CHECK: vcvt2ps2phx ymm22 {k7}, ymm23, ymmword ptr [r8 + 4*rax + 291]
+// CHECK: encoding: [0x62,0xc2,0x45,0x27,0x67,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvt2ps2phx ymm22 {k7}, ymm23, ymmword ptr [r8 + 4*rax + 291]
+
+// CHECK: vcvt2ps2phx ymm22, ymm23, dword ptr [rip]{1to8}
+// CHECK: encoding: [0x62,0xe2,0x45,0x30,0x67,0x35,0x00,0x00,0x00,0x00]
+          vcvt2ps2phx ymm22, ymm23, dword ptr [rip]{1to8}
+
+// CHECK: vcvt2ps2phx ymm22, ymm23, ymmword ptr [2*rbp - 1024]
+// CHECK: encoding: [0x62,0xe2,0x45,0x20,0x67,0x34,0x6d,0x00,0xfc,0xff,0xff]
+          vcvt2ps2phx ymm22, ymm23, ymmword ptr [2*rbp - 1024]
+
+// CHECK: vcvt2ps2phx ymm22 {k7} {z}, ymm23, ymmword ptr [rcx + 4064]
+// CHECK: encoding: [0x62,0xe2,0x45,0xa7,0x67,0x71,0x7f]
+          vcvt2ps2phx ymm22 {k7} {z}, ymm23, ymmword ptr [rcx + 4064]
+
+// CHECK: vcvt2ps2phx ymm22 {k7} {z}, ymm23, dword ptr [rdx - 512]{1to8}
+// CHECK: encoding: [0x62,0xe2,0x45,0xb7,0x67,0x72,0x80]
+          vcvt2ps2phx ymm22 {k7} {z}, ymm23, dword ptr [rdx - 512]{1to8}
+
+// CHECK: vcvt2ps2phx xmm22, xmm23, xmmword ptr [rbp + 8*r14 + 268435456]
+// CHECK: encoding: [0x62,0xa2,0x45,0x00,0x67,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvt2ps2phx xmm22, xmm23, xmmword ptr [rbp + 8*r14 + 268435456]
+
+// CHECK: vcvt2ps2phx xmm22 {k7}, xmm23, xmmword ptr [r8 + 4*rax + 291]
+// CHECK: encoding: [0x62,0xc2,0x45,0x07,0x67,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvt2ps2phx xmm22 {k7}, xmm23, xmmword ptr [r8 + 4*rax + 291]
+
+// CHECK: vcvt2ps2phx xmm22, xmm23, dword ptr [rip]{1to4}
+// CHECK: encoding: [0x62,0xe2,0x45,0x10,0x67,0x35,0x00,0x00,0x00,0x00]
+          vcvt2ps2phx xmm22, xmm23, dword ptr [rip]{1to4}
+
+// CHECK: vcvt2ps2phx xmm22, xmm23, xmmword ptr [2*rbp - 512]
+// CHECK: encoding: [0x62,0xe2,0x45,0x00,0x67,0x34,0x6d,0x00,0xfe,0xff,0xff]
+          vcvt2ps2phx xmm22, xmm23, xmmword ptr [2*rbp - 512]
+
+// CHECK: vcvt2ps2phx xmm22 {k7} {z}, xmm23, xmmword ptr [rcx + 2032]
+// CHECK: encoding: [0x62,0xe2,0x45,0x87,0x67,0x71,0x7f]
+          vcvt2ps2phx xmm22 {k7} {z}, xmm23, xmmword ptr [rcx + 2032]
+
+// CHECK: vcvt2ps2phx xmm22 {k7} {z}, xmm23, dword ptr [rdx - 512]{1to4}
+// CHECK: encoding: [0x62,0xe2,0x45,0x97,0x67,0x72,0x80]
+          vcvt2ps2phx xmm22 {k7} {z}, xmm23, dword ptr [rdx - 512]{1to4}
+
+// CHECK: vcvtbiasph2bf8 ymm22, zmm23, zmm24
+// CHECK: encoding: [0x62,0x82,0x44,0x40,0x74,0xf0]
+          vcvtbiasph2bf8 ymm22, zmm23, zmm24
+
+// CHECK: vcvtbiasph2bf8 ymm22 {k7}, zmm23, zmm24
+// CHECK: encoding: [0x62,0x82,0x44,0x47,0x74,0xf0]
+          vcvtbiasph2bf8 ymm22 {k7}, zmm23, zmm24
+
+// CHECK: vcvtbiasph2bf8 ymm22 {k7} {z}, zmm23, zmm24
+// CHECK: encoding: [0x62,0x82,0x44,0xc7,0x74,0xf0]
+          vcvtbiasph2bf8 ymm22 {k7} {z}, zmm23, zmm24
+
+// CHECK: vcvtbiasph2bf8 xmm22, xmm23, xmm24
+// CHECK: encoding: [0x62,0x82,0x44,0x00,0x74,0xf0]
+          vcvtbiasph2bf8 xmm22, xmm23, xmm24
+
+// CHECK: vcvtbiasph2bf8 xmm22 {k7}, xmm23, xmm24
+// CHECK: encoding: [0x62,0x82,0x44,0x07,0x74,0xf0]
+          vcvtbiasph2bf8 xmm22 {k7}, xmm23, xmm24
+
+// CHECK: vcvtbiasph2bf8 xmm22 {k7} {z}, xmm23, xmm24
+// CHECK: encoding: [0x62,0x82,0x44,0x87,0x74,0xf0]
+          vcvtbiasph2bf8 xmm22 {k7} {z}, xmm23, xmm24
+
+// CHECK: vcvtbiasph2bf8 xmm22, ymm23, ymm24
+// CHECK: encoding: [0x62,0x82,0x44,0x20,0x74,0xf0]
+          vcvtbiasph2bf8 xmm22, ymm23, ymm24
+
+// CHECK: vcvtbiasph2bf8 xmm22 {k7}, ymm23, ymm24
+// CHECK: encoding: [0x62,0x82,0x44,0x27,0x74,0xf0]
+          vcvtbiasph2bf8 xmm22 {k7}, ymm23, ymm24
+
+// CHECK: vcvtbiasph2bf8 xmm22 {k7} {z}, ymm23, ymm24
+// CHECK: encoding: [0x62,0x82,0x44,0xa7,0x74,0xf0]
+          vcvtbiasph2bf8 xmm22 {k7} {z}, ymm23, ymm24
+
+// CHECK: vcvtbiasph2bf8 xmm22, ymm23, ymmword ptr [rbp + 8*r14 + 268435456]
+// CHECK: encoding: [0x62,0xa2,0x44,0x20,0x74,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtbiasph2bf8 xmm22, ymm23, ymmword ptr [rbp + 8*r14 + 268435456]
+
+// CHECK: vcvtbiasph2bf8 xmm22 {k7}, ymm23, ymmword ptr [r8 + 4*rax + 291]
+// CHECK: encoding: [0x62,0xc2,0x44,0x27,0x74,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtbiasph2bf8 xmm22 {k7}, ymm23, ymmword ptr [r8 + 4*rax + 291]
+
+// CHECK: vcvtbiasph2bf8 xmm22, ymm23, word ptr [rip]{1to16}
+// CHECK: encoding: [0x62,0xe2,0x44,0x30,0x74,0x35,0x00,0x00,0x00,0x00]
+          vcvtbiasph2bf8 xmm22, ymm23, word ptr [rip]{1to16}
+
+// CHECK: vcvtbiasph2bf8 xmm22, ymm23, ymmword ptr [2*rbp - 1024]
+// CHECK: encoding: [0x62,0xe2,0x44,0x20,0x74,0x34,0x6d,0x00,0xfc,0xff,0xff]
+          vcvtbiasph2bf8 xmm22, ymm23, ymmword ptr [2*rbp - 1024]
+
+// CHECK: vcvtbiasph2bf8 xmm22 {k7} {z}, ymm23, ymmword ptr [rcx + 4064]
+// CHECK: encoding: [0x62,0xe2,0x44,0xa7,0x74,0x71,0x7f]
+          vcvtbiasph2bf8 xmm22 {k7} {z}, ymm23, ymmword ptr [rcx + 4064]
+
+// CHECK: vcvtbiasph2bf8 xmm22 {k7} {z}, ymm23, word ptr [rdx - 256]{1to16}
+// CHECK: encoding: [0x62,0xe2,0x44,0xb7,0x74,0x72,0x80]
+          vcvtbiasph2bf8 xmm22 {k7} {z}, ymm23, word ptr [rdx - 256]{1to16}
+
+// CHECK: vcvtbiasph2bf8 ymm22, zmm23, zmmword ptr [rbp + 8*r14 + 268435456]
+// CHECK: encoding: [0x62,0xa2,0x44,0x40,0x74,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtbiasph2bf8 ymm22, zmm23, zmmword ptr [rbp + 8*r14 + 268435456]
+
+// CHECK: vcvtbiasph2bf8 ymm22 {k7}, zmm23, zmmword ptr [r8 + 4*rax + 291]
+// CHECK: encoding: [0x62,0xc2,0x44,0x47,0x74,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtbiasph2bf8 ymm22 {k7}, zmm23, zmmword ptr [r8 + 4*rax + 291]
+
+// CHECK: vcvtbiasph2bf8 ymm22, zmm23, word ptr [rip]{1to32}
+// CHECK: encoding: [0x62,0xe2,0x44,0x50,0x74,0x35,0x00,0x00,0x00,0x00]
+          vcvtbiasph2bf8 ymm22, zmm23, word ptr [rip]{1to32}
+
+// CHECK: vcvtbiasph2bf8 ymm22, zmm23, zmmword ptr [2*rbp - 2048]
+// CHECK: encoding: [0x62,0xe2,0x44,0x40,0x74,0x34,0x6d,0x00,0xf8,0xff,0xff]
+          vcvtbiasph2bf8 ymm22, zmm23, zmmword ptr [2*rbp - 2048]
+
+// CHECK: vcvtbiasph2bf8 ymm22 {k7} {z}, zmm23, zmmword ptr [rcx + 8128]
+// CHECK: encoding: [0x62,0xe2,0x44,0xc7,0x74,0x71,0x7f]
+          vcvtbiasph2bf8 ymm22 {k7} {z}, zmm23, zmmword ptr [rcx + 8128]
+
+// CHECK: vcvtbiasph2bf8 ymm22 {k7} {z}, zmm23, word ptr [rdx - 256]{1to32}
+// CHECK: encoding: [0x62,0xe2,0x44,0xd7,0x74,0x72,0x80]
+          vcvtbiasph2bf8 ymm22 {k7} {z}, zmm23, word ptr [rdx - 256]{1to32}
+
+// CHECK: vcvtbiasph2bf8 xmm22, xmm23, xmmword ptr [rbp + 8*r14 + 268435456]
+// CHECK: encoding: [0x62,0xa2,0x44,0x00,0x74,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtbiasph2bf8 xmm22, xmm23, xmmword ptr [rbp + 8*r14 + 268435456]
+
+// CHECK: vcvtbiasph2bf8 xmm22 {k7}, xmm23, xmmword ptr [r8 + 4*rax + 291]
+// CHECK: encoding: [0x62,0xc2,0x44,0x07,0x74,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtbiasph2bf8 xmm22 {k7}, xmm23, xmmword ptr [r8 + 4*rax + 291]
+
+// CHECK: vcvtbiasph2bf8 xmm22, xmm23, word ptr [rip]{1to8}
+// CHECK: encoding: [0x62,0xe2,0x44,0x10,0x74,0x35,0x00,0x00,0x00,0x00]
+          vcvtbiasph2bf8 xmm22, xmm23, word ptr [rip]{1to8}
+
+// CHECK: vcvtbiasph2bf8 xmm22, xmm23, xmmword ptr [2*rbp - 512]
+// CHECK: encoding: [0x62,0xe2,0x44,0x00,0x74,0x34,0x6d,0x00,0xfe,0xff,0xff]
+          vcvtbiasph2bf8 xmm22, xmm23, xmmword ptr [2*rbp - 512]
+
+// CHECK: vcvtbiasph2bf8 xmm22 {k7} {z}, xmm23, xmmword ptr [rcx + 2032]
+// CHECK: encoding: [0x62,0xe2,0x44,0x87,0x74,0x71,0x7f]
+          vcvtbiasph2bf8 xmm22 {k7} {z}, xmm23, xmmword ptr [rcx + 2032]
+
+// CHECK: vcvtbiasph2bf8 xmm22 {k7} {z}, xmm23, word ptr [rdx - 256]{1to8}
+// CHECK: encoding: [0x62,0xe2,0x44,0x97,0x74,0x72,0x80]
+          vcvtbiasph2bf8 xmm22 {k7} {z}, xmm23, word ptr [rdx - 256]{1to8}
+
+// CHECK: vcvtbiasph2bf8s ymm22, zmm23, zmm24
+// CHECK: encoding: [0x62,0x85,0x44,0x40,0x74,0xf0]
+          vcvtbiasph2bf8s ymm22, zmm23, zmm24
+
+// CHECK: vcvtbiasph2bf8s ymm22 {k7}, zmm23, zmm24
+// CHECK: encoding: [0x62,0x85,0x44,0x47,0x74,0xf0]
+          vcvtbiasph2bf8s ymm22 {k7}, zmm23, zmm24
+
+// CHECK: vcvtbiasph2bf8s ymm22 {k7} {z}, zmm23, zmm24
+// CHECK: encoding: [0x62,0x85,0x44,0xc7,0x74,0xf0]
+          vcvtbiasph2bf8s ymm22 {k7} {z}, zmm23, zmm24
+
+// CHECK: vcvtbiasph2bf8s xmm22, xmm23, xmm24
+// CHECK: encoding: [0x62,0x85,0x44,0x00,0x74,0xf0]
+          vcvtbiasph2bf8s xmm22, xmm23, xmm24
+
+// CHECK: vcvtbiasph2bf8s xmm22 {k7}, xmm23, xmm24
+// CHECK: encoding: [0x62,0x85,0x44,0x07,0x74,0xf0]
+          vcvtbiasph2bf8s xmm22 {k7}, xmm23, xmm24
+
+// CHECK: vcvtbiasph2bf8s xmm22 {k7} {z}, xmm23, xmm24
+// CHECK: encoding: [0x62,0x85,0x44,0x87,0x74,0xf0]
+          vcvtbiasph2bf8s xmm22 {k7} {z}, xmm23, xmm24
+
+// CHECK: vcvtbiasph2bf8s xmm22, ymm23, ymm24
+// CHECK: encoding: [0x62,0x85,0x44,0x20,0x74,0xf0]
+          vcvtbiasph2bf8s xmm22, ymm23, ymm24
+
+// CHECK: vcvtbiasph2bf8s xmm22 {k7}, ymm23, ymm24
+// CHECK: encoding: [0x62,0x85,0x44,0x27,0x74,0xf0]
+          vcvtbiasph2bf8s xmm22 {k7}, ymm23, ymm24
+
+// CHECK: vcvtbiasph2bf8s xmm22 {k7} {z}, ymm23, ymm24
+// CHECK: encoding: [0x62,0x85,0x44,0xa7,0x74,0xf0]
+          vcvtbiasph2bf8s xmm22 {k7} {z}, ymm23, ymm24
+
+// CHECK: vcvtbiasph2bf8s xmm22, ymm23, ymmword ptr [rbp + 8*r14 + 268435456]
+// CHECK: encoding: [0x62,0xa5,0x44,0x20,0x74,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtbiasph2bf8s xmm22, ymm23, ymmword ptr [rbp + 8*r14 + 268435456]
+
+// CHECK: vcvtbiasph2bf8s xmm22 {k7}, ymm23, ymmword ptr [r8 + 4*rax + 291]
+// CHECK: encoding: [0x62,0xc5,0x44,0x27,0x74,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtbiasph2bf8s xmm22 {k7}, ymm23, ymmword ptr [r8 + 4*rax + 291]
+
+// CHECK: vcvtbiasph2bf8s xmm22, ymm23, word ptr [rip]{1to16}
+// CHECK: encoding: [0x62,0xe5,0x44,0x30,0x74,0x35,0x00,0x00,0x00,0x00]
+          vcvtbiasph2bf8s xmm22, ymm23, word ptr [rip]{1to16}
+
+// CHECK: vcvtbiasph2bf8s xmm22, ymm23, ymmword ptr [2*rbp - 1024]
+// CHECK: encoding: [0x62,0xe5,0x44,0x20,0x74,0x34,0x6d,0x00,0xfc,0xff,0xff]
+          vcvtbiasph2bf8s xmm22, ymm23, ymmword ptr [2*rbp - 1024]
+
+// CHECK: vcvtbiasph2bf8s xmm22 {k7} {z}, ymm23, ymmword ptr [rcx + 4064]
+// CHECK: encoding: [0x62,0xe5,0x44,0xa7,0x74,0x71,0x7f]
+          vcvtbiasph2bf8s xmm22 {k7} {z}, ymm23, ymmword ptr [rcx + 4064]
+
+// CHECK: vcvtbiasph2bf8s xmm22 {k7} {z}, ymm23, word ptr [rdx - 256]{1to16}
+// CHECK: encoding: [0x62,0xe5,0x44,0xb7,0x74,0x72,0x80]
+          vcvtbiasph2bf8s xmm22 {k7} {z}, ymm23, word ptr [rdx - 256]{1to16}
+
+// CHECK: vcvtbiasph2bf8s ymm22, zmm23, zmmword ptr [rbp + 8*r14 + 268435456]
+// CHECK: encoding: [0x62,0xa5,0x44,0x40,0x74,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtbiasph2bf8s ymm22, zmm23, zmmword ptr [rbp + 8*r14 + 268435456]
+
+// CHECK: vcvtbiasph2bf8s ymm22 {k7}, zmm23, zmmword ptr [r8 + 4*rax + 291]
+// CHECK: encoding: [0x62,0xc5,0x44,0x47,0x74,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtbiasph2bf8s ymm22 {k7}, zmm23, zmmword ptr [r8 + 4*rax + 291]
+
+// CHECK: vcvtbiasph2bf8s ymm22, zmm23, word ptr [rip]{1to32}
+// CHECK: encoding: [0x62,0xe5,0x44,0x50,0x74,0x35,0x00,0x00,0x00,0x00]
+          vcvtbiasph2bf8s ymm22, zmm23, word ptr [rip]{1to32}
+
+// CHECK: vcvtbiasph2bf8s ymm22, zmm23, zmmword ptr [2*rbp - 2048]
+// CHECK: encoding: [0x62,0xe5,0x44,0x40,0x74,0x34,0x6d,0x00,0xf8,0xff,0xff]
+          vcvtbiasph2bf8s ymm22, zmm23, zmmword ptr [2*rbp - 2048]
+
+// CHECK: vcvtbiasph2bf8s ymm22 {k7} {z}, zmm23, zmmword ptr [rcx + 8128]
+// CHECK: encoding: [0x62,0xe5,0x44,0xc7,0x74,0x71,0x7f]
+          vcvtbiasph2bf8s ymm22 {k7} {z}, zmm23, zmmword ptr [rcx + 8128]
+
+// CHECK: vcvtbiasph2bf8s ymm22 {k7} {z}, zmm23, word ptr [rdx - 256]{1to32}
+// CHECK: encoding: [0x62,0xe5,0x44,0xd7,0x74,0x72,0x80]
+          vcvtbiasph2bf8s ymm22 {k7} {z}, zmm23, word ptr [rdx - 256]{1to32}
+
+// CHECK: vcvtbiasph2bf8s xmm22, xmm23, xmmword ptr [rbp + 8*r14 + 268435456]
+// CHECK: encoding: [0x62,0xa5,0x44,0x00,0x74,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtbiasph2bf8s xmm22, xmm23, xmmword ptr [rbp + 8*r14 + 268435456]
+
+// CHECK: vcvtbiasph2bf8s xmm22 {k7}, xmm23, xmmword ptr [r8 + 4*rax + 291]
+// CHECK: encoding: [0x62,0xc5,0x44,0x07,0x74,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtbiasph2bf8s xmm22 {k7}, xmm23, xmmword ptr [r8 + 4*rax + 291]
+
+// CHECK: vcvtbiasph2bf8s xmm22, xmm23, word ptr [rip]{1to8}
+// CHECK: encoding: [0x62,0xe5,0x44,0x10,0x74,0x35,0x00,0x00,0x00,0x00]
+          vcvtbiasph2bf8s xmm22, xmm23, word ptr [rip]{1to8}
+
+// CHECK: vcvtbiasph2bf8s xmm22, xmm23, xmmword ptr [2*rbp - 512]
+// CHECK: encoding: [0x62,0xe5,0x44,0x00,0x74,0x34,0x6d,0x00,0xfe,0xff,0xff]
+          vcvtbiasph2bf8s xmm22, xmm23, xmmword ptr [2*rbp - 512]
+
+// CHECK: vcvtbiasph2bf8s xmm22 {k7} {z}, xmm23, xmmword ptr [rcx + 2032]
+// CHECK: encoding: [0x62,0xe5,0x44,0x87,0x74,0x71,0x7f]
+          vcvtbiasph2bf8s xmm22 {k7} {z}, xmm23, xmmword ptr [rcx + 2032]
+
+// CHECK: vcvtbiasph2bf8s xmm22 {k7} {z}, xmm23, word ptr [rdx - 256]{1to8}
+// CHECK: encoding: [0x62,0xe5,0x44,0x97,0x74,0x72,0x80]
+          vcvtbiasph2bf8s xmm22 {k7} {z}, xmm23, word ptr [rdx - 256]{1to8}
+
+// CHECK: vcvtbiasph2hf8 ymm22, zmm23, zmm24
+// CHECK: encoding: [0x62,0x85,0x44,0x40,0x18,0xf0]
+          vcvtbiasph2hf8 ymm22, zmm23, zmm24
+
+// CHECK: vcvtbiasph2hf8 ymm22 {k7}, zmm23, zmm24
+// CHECK: encoding: [0x62,0x85,0x44,0x47,0x18,0xf0]
+          vcvtbiasph2hf8 ymm22 {k7}, zmm23, zmm24
+
+// CHECK: vcvtbiasph2hf8 ymm22 {k7} {z}, zmm23, zmm24
+// CHECK: encoding: [0x62,0x85,0x44,0xc7,0x18,0xf0]
+          vcvtbiasph2hf8 ymm22 {k7} {z}, zmm23, zmm24
+
+// CHECK: vcvtbiasph2hf8 xmm22, xmm23, xmm24
+// CHECK: encoding: [0x62,0x85,0x44,0x00,0x18,0xf0]
+          vcvtbiasph2hf8 xmm22, xmm23, xmm24
+
+// CHECK: vcvtbiasph2hf8 xmm22 {k7}, xmm23, xmm24
+// CHECK: encoding: [0x62,0x85,0x44,0x07,0x18,0xf0]
+          vcvtbiasph2hf8 xmm22 {k7}, xmm23, xmm24
+
+// CHECK: vcvtbiasph2hf8 xmm22 {k7} {z}, xmm23, xmm24
+// CHECK: encoding: [0x62,0x85,0x44,0x87,0x18,0xf0]
+          vcvtbiasph2hf8 xmm22 {k7} {z}, xmm23, xmm24
+
+// CHECK: vcvtbiasph2hf8 xmm22, ymm23, ymm24
+// CHECK: encoding: [0x62,0x85,0x44,0x20,0x18,0xf0]
+          vcvtbiasph2hf8 xmm22, ymm23, ymm24
+
+// CHECK: vcvtbiasph2hf8 xmm22 {k7}, ymm23, ymm24
+// CHECK: encoding: [0x62,0x85,0x44,0x27,0x18,0xf0]
+          vcvtbiasph2hf8 xmm22 {k7}, ymm23, ymm24
+
+// CHECK: vcvtbiasph2hf8 xmm22 {k7} {z}, ymm23, ymm24
+// CHECK: encoding: [0x62,0x85,0x44,0xa7,0x18,0xf0]
+          vcvtbiasph2hf8 xmm22 {k7} {z}, ymm23, ymm24
+
+// CHECK: vcvtbiasph2hf8 xmm22, ymm23, ymmword ptr [rbp + 8*r14 + 268435456]
+// CHECK: encoding: [0x62,0xa5,0x44,0x20,0x18,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtbiasph2hf8 xmm22, ymm23, ymmword ptr [rbp + 8*r14 + 268435456]
+
+// CHECK: vcvtbiasph2hf8 xmm22 {k7}, ymm23, ymmword ptr [r8 + 4*rax + 291]
+// CHECK: encoding: [0x62,0xc5,0x44,0x27,0x18,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtbiasph2hf8 xmm22 {k7}, ymm23, ymmword ptr [r8 + 4*rax + 291]
+
+// CHECK: vcvtbiasph2hf8 xmm22, ymm23, word ptr [rip]{1to16}
+// CHECK: encoding: [0x62,0xe5,0x44,0x30,0x18,0x35,0x00,0x00,0x00,0x00]
+          vcvtbiasph2hf8 xmm22, ymm23, word ptr [rip]{1to16}
+
+// CHECK: vcvtbiasph2hf8 xmm22, ymm23, ymmword ptr [2*rbp - 1024]
+// CHECK: encoding: [0x62,0xe5,0x44,0x20,0x18,0x34,0x6d,0x00,0xfc,0xff,0xff]
+          vcvtbiasph2hf8 xmm22, ymm23, ymmword ptr [2*rbp - 1024]
+
+// CHECK: vcvtbiasph2hf8 xmm22 {k7} {z}, ymm23, ymmword ptr [rcx + 4064]
+// CHECK: encoding: [0x62,0xe5,0x44,0xa7,0x18,0x71,0x7f]
+          vcvtbiasph2hf8 xmm22 {k7} {z}, ymm23, ymmword ptr [rcx + 4064]
+
+// CHECK: vcvtbiasph2hf8 xmm22 {k7} {z}, ymm23, word ptr [rdx - 256]{1to16}
+// CHECK: encoding: [0x62,0xe5,0x44,0xb7,0x18,0x72,0x80]
+          vcvtbiasph2hf8 xmm22 {k7} {z}, ymm23, word ptr [rdx - 256]{1to16}
+
+// CHECK: vcvtbiasph2hf8 ymm22, zmm23, zmmword ptr [rbp + 8*r14 + 268435456]
+// CHECK: encoding: [0x62,0xa5,0x44,0x40,0x18,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtbiasph2hf8 ymm22, zmm23, zmmword ptr [rbp + 8*r14 + 268435456]
+
+// CHECK: vcvtbiasph2hf8 ymm22 {k7}, zmm23, zmmword ptr [r8 + 4*rax + 291]
+// CHECK: encoding: [0x62,0xc5,0x44,0x47,0x18,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtbiasph2hf8 ymm22 {k7}, zmm23, zmmword ptr [r8 + 4*rax + 291]
+
+// CHECK: vcvtbiasph2hf8 ymm22, zmm23, word ptr [rip]{1to32}
+// CHECK: encoding: [0x62,0xe5,0x44,0x50,0x18,0x35,0x00,0x00,0x00,0x00]
+          vcvtbiasph2hf8 ymm22, zmm23, word ptr [rip]{1to32}
+
+// CHECK: vcvtbiasph2hf8 ymm22, zmm23, zmmword ptr [2*rbp - 2048]
+// CHECK: encoding: [0x62,0xe5,0x44,0x40,0x18,0x34,0x6d,0x00,0xf8,0xff,0xff]
+          vcvtbiasph2hf8 ymm22, zmm23, zmmword ptr [2*rbp - 2048]
+
+// CHECK: vcvtbiasph2hf8 ymm22 {k7} {z}, zmm23, zmmword ptr [rcx + 8128]
+// CHECK: encoding: [0x62,0xe5,0x44,0xc7,0x18,0x71,0x7f]
+          vcvtbiasph2hf8 ymm22 {k7} {z}, zmm23, zmmword ptr [rcx + 8128]
+
+// CHECK: vcvtbiasph2hf8 ymm22 {k7} {z}, zmm23, word ptr [rdx - 256]{1to32}
+// CHECK: encoding: [0x62,0xe5,0x44,0xd7,0x18,0x72,0x80]
+          vcvtbiasph2hf8 ymm22 {k7} {z}, zmm23, word ptr [rdx - 256]{1to32}
+
+// CHECK: vcvtbiasph2hf8 xmm22, xmm23, xmmword ptr [rbp + 8*r14 + 268435456]
+// CHECK: encoding: [0x62,0xa5,0x44,0x00,0x18,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtbiasph2hf8 xmm22, xmm23, xmmword ptr [rbp + 8*r14 + 268435456]
+
+// CHECK: vcvtbiasph2hf8 xmm22 {k7}, xmm23, xmmword ptr [r8 + 4*rax + 291]
+// CHECK: encoding: [0x62,0xc5,0x44,0x07,0x18,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtbiasph2hf8 xmm22 {k7}, xmm23, xmmword ptr [r8 + 4*rax + 291]
+
+// CHECK: vcvtbiasph2hf8 xmm22, xmm23, word ptr [rip]{1to8}
+// CHECK: encoding: [0x62,0xe5,0x44,0x10,0x18,0x35,0x00,0x00,0x00,0x00]
+          vcvtbiasph2hf8 xmm22, xmm23, word ptr [rip]{1to8}
+
+// CHECK: vcvtbiasph2hf8 xmm22, xmm23, xmmword ptr [2*rbp - 512]
+// CHECK: encoding: [0x62,0xe5,0x44,0x00,0x18,0x34,0x6d,0x00,0xfe,0xff,0xff]
+          vcvtbiasph2hf8 xmm22, xmm23, xmmword ptr [2*rbp - 512]
+
+// CHECK: vcvtbiasph2hf8 xmm22 {k7} {z}, xmm23, xmmword ptr [rcx + 2032]
+// CHECK: encoding: [0x62,0xe5,0x44,0x87,0x18,0x71,0x7f]
+          vcvtbiasph2hf8 xmm22 {k7} {z}, xmm23, xmmword ptr [rcx + 2032]
+
+// CHECK: vcvtbiasph2hf8 xmm22 {k7} {z}, xmm23, word ptr [rdx - 256]{1to8}
+// CHECK: encoding: [0x62,0xe5,0x44,0x97,0x18,0x72,0x80]
+          vcvtbiasph2hf8 xmm22 {k7} {z}, xmm23, word ptr [rdx - 256]{1to8}
+
+// CHECK: vcvtbiasph2hf8s ymm22, zmm23, zmm24
+// CHECK: encoding: [0x62,0x85,0x44,0x40,0x1b,0xf0]
+          vcvtbiasph2hf8s ymm22, zmm23, zmm24
+
+// CHECK: vcvtbiasph2hf8s ymm22 {k7}, zmm23, zmm24
+// CHECK: encoding: [0x62,0x85,0x44,0x47,0x1b,0xf0]
+          vcvtbiasph2hf8s ymm22 {k7}, zmm23, zmm24
+
+// CHECK: vcvtbiasph2hf8s ymm22 {k7} {z}, zmm23, zmm24
+// CHECK: encoding: [0x62,0x85,0x44,0xc7,0x1b,0xf0]
+          vcvtbiasph2hf8s ymm22 {k7} {z}, zmm23, zmm24
+
+// CHECK: vcvtbiasph2hf8s xmm22, xmm23, xmm24
+// CHECK: encoding: [0x62,0x85,0x44,0x00,0x1b,0xf0]
+          vcvtbiasph2hf8s xmm22, xmm23, xmm24
+
+// CHECK: vcvtbiasph2hf8s xmm22 {k7}, xmm23, xmm24
+// CHECK: encoding: [0x62,0x85,0x44,0x07,0x1b,0xf0]
+          vcvtbiasph2hf8s xmm22 {k7}, xmm23, xmm24
+
+// CHECK: vcvtbiasph2hf8s xmm22 {k7} {z}, xmm23, xmm24
+// CHECK: encoding: [0x62,0x85,0x44,0x87,0x1b,0xf0]
+          vcvtbiasph2hf8s xmm22 {k7} {z}, xmm23, xmm24
+
+// CHECK: vcvtbiasph2hf8s xmm22, ymm23, ymm24
+// CHECK: encoding: [0x62,0x85,0x44,0x20,0x1b,0xf0]
+          vcvtbiasph2hf8s xmm22, ymm23, ymm24
+
+// CHECK: vcvtbiasph2hf8s xmm22 {k7}, ymm23, ymm24
+// CHECK: encoding: [0x62,0x85,0x44,0x27,0x1b,0xf0]
+          vcvtbiasph2hf8s xmm22 {k7}, ymm23, ymm24
+
+// CHECK: vcvtbiasph2hf8s xmm22 {k7} {z}, ymm23, ymm24
+// CHECK: encoding: [0x62,0x85,0x44,0xa7,0x1b,0xf0]
+          vcvtbiasph2hf8s xmm22 {k7} {z}, ymm23, ymm24
+
+// CHECK: vcvtbiasph2hf8s xmm22, ymm23, ymmword ptr [rbp + 8*r14 + 268435456]
+// CHECK: encoding: [0x62,0xa5,0x44,0x20,0x1b,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtbiasph2hf8s xmm22, ymm23, ymmword ptr [rbp + 8*r14 + 268435456]
+
+// CHECK: vcvtbiasph2hf8s xmm22 {k7}, ymm23, ymmword ptr [r8 + 4*rax + 291]
+// CHECK: encoding: [0x62,0xc5,0x44,0x27,0x1b,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtbiasph2hf8s xmm22 {k7}, ymm23, ymmword ptr [r8 + 4*rax + 291]
+
+// CHECK: vcvtbiasph2hf8s xmm22, ymm23, word ptr [rip]{1to16}
+// CHECK: encoding: [0x62,0xe5,0x44,0x30,0x1b,0x35,0x00,0x00,0x00,0x00]
+          vcvtbiasph2hf8s xmm22, ymm23, word ptr [rip]{1to16}
+
+// CHECK: vcvtbiasph2hf8s xmm22, ymm23, ymmword ptr [2*rbp - 1024]
+// CHECK: encoding: [0x62,0xe5,0x44,0x20,0x1b,0x34,0x6d,0x00,0xfc,0xff,0xff]
+          vcvtbiasph2hf8s xmm22, ymm23, ymmword ptr [2*rbp - 1024]
+
+// CHECK: vcvtbiasph2hf8s xmm22 {k7} {z}, ymm23, ymmword ptr [rcx + 4064]
+// CHECK: encoding: [0x62,0xe5,0x44,0xa7,0x1b,0x71,0x7f]
+          vcvtbiasph2hf8s xmm22 {k7} {z}, ymm23, ymmword ptr [rcx + 4064]
+
+// CHECK: vcvtbiasph2hf8s xmm22 {k7} {z}, ymm23, word ptr [rdx - 256]{1to16}
+// CHECK: encoding: [0x62,0xe5,0x44,0xb7,0x1b,0x72,0x80]
+          vcvtbiasph2hf8s xmm22 {k7} {z}, ymm23, word ptr [rdx - 256]{1to16}
+
+// CHECK: vcvtbiasph2hf8s ymm22, zmm23, zmmword ptr [rbp + 8*r14 + 268435456]
+// CHECK: encoding: [0x62,0xa5,0x44,0x40,0x1b,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtbiasph2hf8s ymm22, zmm23, zmmword ptr [rbp + 8*r14 + 268435456]
+
+// CHECK: vcvtbiasph2hf8s ymm22 {k7}, zmm23, zmmword ptr [r8 + 4*rax + 291]
+// CHECK: encoding: [0x62,0xc5,0x44,0x47,0x1b,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtbiasph2hf8s ymm22 {k7}, zmm23, zmmword ptr [r8 + 4*rax + 291]
+
+// CHECK: vcvtbiasph2hf8s ymm22, zmm23, word ptr [rip]{1to32}
+// CHECK: encoding: [0x62,0xe5,0x44,0x50,0x1b,0x35,0x00,0x00,0x00,0x00]
+          vcvtbiasph2hf8s ymm22, zmm23, word ptr [rip]{1to32}
+
+// CHECK: vcvtbiasph2hf8s ymm22, zmm23, zmmword ptr [2*rbp - 2048]
+// CHECK: encoding: [0x62,0xe5,0x44,0x40,0x1b,0x34,0x6d,0x00,0xf8,0xff,0xff]
+          vcvtbiasph2hf8s ymm22, zmm23, zmmword ptr [2*rbp - 2048]
+
+// CHECK: vcvtbiasph2hf8s ymm22 {k7} {z}, zmm23, zmmword ptr [rcx + 8128]
+// CHECK: encoding: [0x62,0xe5,0x44,0xc7,0x1b,0x71,0x7f]
+          vcvtbiasph2hf8s ymm22 {k7} {z}, zmm23, zmmword ptr [rcx + 8128]
+
+// CHECK: vcvtbiasph2hf8s ymm22 {k7} {z}, zmm23, word ptr [rdx - 256]{1to32}
+// CHECK: encoding: [0x62,0xe5,0x44,0xd7,0x1b,0x72,0x80]
+          vcvtbiasph2hf8s ymm22 {k7} {z}, zmm23, word ptr [rdx - 256]{1to32}
+
+// CHECK: vcvtbiasph2hf8s xmm22, xmm23, xmmword ptr [rbp + 8*r14 + 268435456]
+// CHECK: encoding: [0x62,0xa5,0x44,0x00,0x1b,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtbiasph2hf8s xmm22, xmm23, xmmword ptr [rbp + 8*r14 + 268435456]
+
+// CHECK: vcvtbiasph2hf8s xmm22 {k7}, xmm23, xmmword ptr [r8 + 4*rax + 291]
+// CHECK: encoding: [0x62,0xc5,0x44,0x07,0x1b,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtbiasph2hf8s xmm22 {k7}, xmm23, xmmword ptr [r8 + 4*rax + 291]
+
+// CHECK: vcvtbiasph2hf8s xmm22, xmm23, word ptr [rip]{1to8}
+// CHECK: encoding: [0x62,0xe5,0x44,0x10,0x1b,0x35,0x00,0x00,0x00,0x00]
+          vcvtbiasph2hf8s xmm22, xmm23, word ptr [rip]{1to8}
+
+// CHECK: vcvtbiasph2hf8s xmm22, xmm23, xmmword ptr [2*rbp - 512]
+// CHECK: encoding: [0x62,0xe5,0x44,0x00,0x1b,0x34,0x6d,0x00,0xfe,0xff,0xff]
+          vcvtbiasph2hf8s xmm22, xmm23, xmmword ptr [2*rbp - 512]
+
+// CHECK: vcvtbiasph2hf8s xmm22 {k7} {z}, xmm23, xmmword ptr [rcx + 2032]
+// CHECK: encoding: [0x62,0xe5,0x44,0x87,0x1b,0x71,0x7f]
+          vcvtbiasph2hf8s xmm22 {k7} {z}, xmm23, xmmword ptr [rcx + 2032]
+
+// CHECK: vcvtbiasph2hf8s xmm22 {k7} {z}, xmm23, word ptr [rdx - 256]{1to8}
+// CHECK: encoding: [0x62,0xe5,0x44,0x97,0x1b,0x72,0x80]
+          vcvtbiasph2hf8s xmm22 {k7} {z}, xmm23, word ptr [rdx - 256]{1to8}
+
+// CHECK: vcvthf82ph xmm22, xmm23
+// CHECK: encoding: [0x62,0xa5,0x7f,0x08,0x1e,0xf7]
+          vcvthf82ph xmm22, xmm23
+
+// CHECK: vcvthf82ph xmm22 {k7}, xmm23
+// CHECK: encoding: [0x62,0xa5,0x7f,0x0f,0x1e,0xf7]
+          vcvthf82ph xmm22 {k7}, xmm23
+
+// CHECK: vcvthf82ph xmm22 {k7} {z}, xmm23
+// CHECK: encoding: [0x62,0xa5,0x7f,0x8f,0x1e,0xf7]
+          vcvthf82ph xmm22 {k7} {z}, xmm23
+
+// CHECK: vcvthf82ph ymm22, xmm23
+// CHECK: encoding: [0x62,0xa5,0x7f,0x28,0x1e,0xf7]
+          vcvthf82ph ymm22, xmm23
+
+// CHECK: vcvthf82ph ymm22 {k7}, xmm23
+// CHECK: encoding: [0x62,0xa5,0x7f,0x2f,0x1e,0xf7]
+          vcvthf82ph ymm22 {k7}, xmm23
+
+// CHECK: vcvthf82ph ymm22 {k7} {z}, xmm23
+// CHECK: encoding: [0x62,0xa5,0x7f,0xaf,0x1e,0xf7]
+          vcvthf82ph ymm22 {k7} {z}, xmm23
+
+// CHECK: vcvthf82ph zmm22, ymm23
+// CHECK: encoding: [0x62,0xa5,0x7f,0x48,0x1e,0xf7]
+          vcvthf82ph zmm22, ymm23
+
+// CHECK: vcvthf82ph zmm22 {k7}, ymm23
+// CHECK: encoding: [0x62,0xa5,0x7f,0x4f,0x1e,0xf7]
+          vcvthf82ph zmm22 {k7}, ymm23
+
+// CHECK: vcvthf82ph zmm22 {k7} {z}, ymm23
+// CHECK: encoding: [0x62,0xa5,0x7f,0xcf,0x1e,0xf7]
+          vcvthf82ph zmm22 {k7} {z}, ymm23
+
+// CHECK: vcvthf82ph xmm22, qword ptr [rbp + 8*r14 + 268435456]
+// CHECK: encoding: [0x62,0xa5,0x7f,0x08,0x1e,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvthf82ph xmm22, qword ptr [rbp + 8*r14 + 268435456]
+
+// CHECK: vcvthf82ph xmm22 {k7}, qword ptr [r8 + 4*rax + 291]
+// CHECK: encoding: [0x62,0xc5,0x7f,0x0f,0x1e,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvthf82ph xmm22 {k7}, qword ptr [r8 + 4*rax + 291]
+
+// CHECK: vcvthf82ph xmm22, qword ptr [rip]
+// CHECK: encoding: [0x62,0xe5,0x7f,0x08,0x1e,0x35,0x00,0x00,0x00,0x00]
+          vcvthf82ph xmm22, qword ptr [rip]
+
+// CHECK: vcvthf82ph xmm22, qword ptr [2*rbp - 256]
+// CHECK: encoding: [0x62,0xe5,0x7f,0x08,0x1e,0x34,0x6d,0x00,0xff,0xff,0xff]
+          vcvthf82ph xmm22, qword ptr [2*rbp - 256]
+
+// CHECK: vcvthf82ph xmm22 {k7} {z}, qword ptr [rcx + 1016]
+// CHECK: encoding: [0x62,0xe5,0x7f,0x8f,0x1e,0x71,0x7f]
+          vcvthf82ph xmm22 {k7} {z}, qword ptr [rcx + 1016]
+
+// CHECK: vcvthf82ph xmm22 {k7} {z}, qword ptr [rdx - 1024]
+// CHECK: encoding: [0x62,0xe5,0x7f,0x8f,0x1e,0x72,0x80]
+          vcvthf82ph xmm22 {k7} {z}, qword ptr [rdx - 1024]
+
+// CHECK: vcvthf82ph ymm22, xmmword ptr [rbp + 8*r14 + 268435456]
+// CHECK: encoding: [0x62,0xa5,0x7f,0x28,0x1e,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvthf82ph ymm22, xmmword ptr [rbp + 8*r14 + 268435456]
+
+// CHECK: vcvthf82ph ymm22 {k7}, xmmword ptr [r8 + 4*rax + 291]
+// CHECK: encoding: [0x62,0xc5,0x7f,0x2f,0x1e,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvthf82ph ymm22 {k7}, xmmword ptr [r8 + 4*rax + 291]
+
+// CHECK: vcvthf82ph ymm22, xmmword ptr [rip]
+// CHECK: encoding: [0x62,0xe5,0x7f,0x28,0x1e,0x35,0x00,0x00,0x00,0x00]
+          vcvthf82ph ymm22, xmmword ptr [rip]
+
+// CHECK: vcvthf82ph ymm22, xmmword ptr [2*rbp - 512]
+// CHECK: encoding: [0x62,0xe5,0x7f,0x28,0x1e,0x34,0x6d,0x00,0xfe,0xff,0xff]
+          vcvthf82ph ymm22, xmmword ptr [2*rbp - 512]
+
+// CHECK: vcvthf82ph ymm22 {k7} {z}, xmmword ptr [rcx + 2032]
+// CHECK: encoding: [0x62,0xe5,0x7f,0xaf,0x1e,0x71,0x7f]
+          vcvthf82ph ymm22 {k7} {z}, xmmword ptr [rcx + 2032]
+
+// CHECK: vcvthf82ph ymm22 {k7} {z}, xmmword ptr [rdx - 2048]
+// CHECK: encoding: [0x62,0xe5,0x7f,0xaf,0x1e,0x72,0x80]
+          vcvthf82ph ymm22 {k7} {z}, xmmword ptr [rdx - 2048]
+
+// CHECK: vcvthf82ph zmm22, ymmword ptr [rbp + 8*r14 + 268435456]
+// CHECK: encoding: [0x62,0xa5,0x7f,0x48,0x1e,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvthf82ph zmm22, ymmword ptr [rbp + 8*r14 + 268435456]
+
+// CHECK: vcvthf82ph zmm22 {k7}, ymmword ptr [r8 + 4*rax + 291]
+// CHECK: encoding: [0x62,0xc5,0x7f,0x4f,0x1e,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvthf82ph zmm22 {k7}, ymmword ptr [r8 + 4*rax + 291]
+
+// CHECK: vcvthf82ph zmm22, ymmword ptr [rip]
+// CHECK: encoding: [0x62,0xe5,0x7f,0x48,0x1e,0x35,0x00,0x00,0x00,0x00]
+          vcvthf82ph zmm22, ymmword ptr [rip]
+
+// CHECK: vcvthf82ph zmm22, ymmword ptr [2*rbp - 1024]
+// CHECK: encoding: [0x62,0xe5,0x7f,0x48,0x1e,0x34,0x6d,0x00,0xfc,0xff,0xff]
+          vcvthf82ph zmm22, ymmword ptr [2*rbp - 1024]
+
+// CHECK: vcvthf82ph zmm22 {k7} {z}, ymmword ptr [rcx + 4064]
+// CHECK: encoding: [0x62,0xe5,0x7f,0xcf,0x1e,0x71,0x7f]
+          vcvthf82ph zmm22 {k7} {z}, ymmword ptr [rcx + 4064]
+
+// CHECK: vcvthf82ph zmm22 {k7} {z}, ymmword ptr [rdx - 4096]
+// CHECK: encoding: [0x62,0xe5,0x7f,0xcf,0x1e,0x72,0x80]
+          vcvthf82ph zmm22 {k7} {z}, ymmword ptr [rdx - 4096]
+
+// CHECK: vcvtne2ph2bf8 ymm22, ymm23, ymm24
+// CHECK: encoding: [0x62,0x82,0x47,0x20,0x74,0xf0]
+          vcvtne2ph2bf8 ymm22, ymm23, ymm24
+
+// CHECK: vcvtne2ph2bf8 ymm22 {k7}, ymm23, ymm24
+// CHECK: encoding: [0x62,0x82,0x47,0x27,0x74,0xf0]
+          vcvtne2ph2bf8 ymm22 {k7}, ymm23, ymm24
+
+// CHECK: vcvtne2ph2bf8 ymm22 {k7} {z}, ymm23, ymm24
+// CHECK: encoding: [0x62,0x82,0x47,0xa7,0x74,0xf0]
+          vcvtne2ph2bf8 ymm22 {k7} {z}, ymm23, ymm24
+
+// CHECK: vcvtne2ph2bf8 zmm22, zmm23, zmm24
+// CHECK: encoding: [0x62,0x82,0x47,0x40,0x74,0xf0]
+          vcvtne2ph2bf8 zmm22, zmm23, zmm24
+
+// CHECK: vcvtne2ph2bf8 zmm22 {k7}, zmm23, zmm24
+// CHECK: encoding: [0x62,0x82,0x47,0x47,0x74,0xf0]
+          vcvtne2ph2bf8 zmm22 {k7}, zmm23, zmm24
+
+// CHECK: vcvtne2ph2bf8 zmm22 {k7} {z}, zmm23, zmm24
+// CHECK: encoding: [0x62,0x82,0x47,0xc7,0x74,0xf0]
+          vcvtne2ph2bf8 zmm22 {k7} {z}, zmm23, zmm24
+
+// CHECK: vcvtne2ph2bf8 xmm22, xmm23, xmm24
+// CHECK: encoding: [0x62,0x82,0x47,0x00,0x74,0xf0]
+          vcvtne2ph2bf8 xmm22, xmm23, xmm24
+
+// CHECK: vcvtne2ph2bf8 xmm22 {k7}, xmm23, xmm24
+// CHECK: encoding: [0x62,0x82,0x47,0x07,0x74,0xf0]
+          vcvtne2ph2bf8 xmm22 {k7}, xmm23, xmm24
+
+// CHECK: vcvtne2ph2bf8 xmm22 {k7} {z}, xmm23, xmm24
+// CHECK: encoding: [0x62,0x82,0x47,0x87,0x74,0xf0]
+          vcvtne2ph2bf8 xmm22 {k7} {z}, xmm23, xmm24
+
+// CHECK: vcvtne2ph2bf8 zmm22, zmm23, zmmword ptr [rbp + 8*r14 + 268435456]
+// CHECK: encoding: [0x62,0xa2,0x47,0x40,0x74,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtne2ph2bf8 zmm22, zmm23, zmmword ptr [rbp + 8*r14 + 268435456]
+
+// CHECK: vcvtne2ph2bf8 zmm22 {k7}, zmm23, zmmword ptr [r8 + 4*rax + 291]
+// CHECK: encoding: [0x62,0xc2,0x47,0x47,0x74,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtne2ph2bf8 zmm22 {k7}, zmm23, zmmword ptr [r8 + 4*rax + 291]
+
+// CHECK: vcvtne2ph2bf8 zmm22, zmm23, word ptr [rip]{1to32}
+// CHECK: encoding: [0x62,0xe2,0x47,0x50,0x74,0x35,0x00,0x00,0x00,0x00]
+          vcvtne2ph2bf8 zmm22, zmm23, word ptr [rip]{1to32}
+
+// CHECK: vcvtne2ph2bf8 zmm22, zmm23, zmmword ptr [2*rbp - 2048]
+// CHECK: encoding: [0x62,0xe2,0x47,0x40,0x74,0x34,0x6d,0x00,0xf8,0xff,0xff]
+          vcvtne2ph2bf8 zmm22, zmm23, zmmword ptr [2*rbp - 2048]
+
+// CHECK: vcvtne2ph2bf8 zmm22 {k7} {z}, zmm23, zmmword ptr [rcx + 8128]
+// CHECK: encoding: [0x62,0xe2,0x47,0xc7,0x74,0x71,0x7f]
+          vcvtne2ph2bf8 zmm22 {k7} {z}, zmm23, zmmword ptr [rcx + 8128]
+
+// CHECK: vcvtne2ph2bf8 zmm22 {k7} {z}, zmm23, word ptr [rdx - 256]{1to32}
+// CHECK: encoding: [0x62,0xe2,0x47,0xd7,0x74,0x72,0x80]
+          vcvtne2ph2bf8 zmm22 {k7} {z}, zmm23, word ptr [rdx - 256]{1to32}
+
+// CHECK: vcvtne2ph2bf8 ymm22, ymm23, ymmword ptr [rbp + 8*r14 + 268435456]
+// CHECK: encoding: [0x62,0xa2,0x47,0x20,0x74,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtne2ph2bf8 ymm22, ymm23, ymmword ptr [rbp + 8*r14 + 268435456]
+
+// CHECK: vcvtne2ph2bf8 ymm22 {k7}, ymm23, ymmword ptr [r8 + 4*rax + 291]
+// CHECK: encoding: [0x62,0xc2,0x47,0x27,0x74,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtne2ph2bf8 ymm22 {k7}, ymm23, ymmword ptr [r8 + 4*rax + 291]
+
+// CHECK: vcvtne2ph2bf8 ymm22, ymm23, word ptr [rip]{1to16}
+// CHECK: encoding: [0x62,0xe2,0x47,0x30,0x74,0x35,0x00,0x00,0x00,0x00]
+          vcvtne2ph2bf8 ymm22, ymm23, word ptr [rip]{1to16}
+
+// CHECK: vcvtne2ph2bf8 ymm22, ymm23, ymmword ptr [2*rbp - 1024]
+// CHECK: encoding: [0x62,0xe2,0x47,0x20,0x74,0x34,0x6d,0x00,0xfc,0xff,0xff]
+          vcvtne2ph2bf8 ymm22, ymm23, ymmword ptr [2*rbp - 1024]
+
+// CHECK: vcvtne2ph2bf8 ymm22 {k7} {z}, ymm23, ymmword ptr [rcx + 4064]
+// CHECK: encoding: [0x62,0xe2,0x47,0xa7,0x74,0x71,0x7f]
+          vcvtne2ph2bf8 ymm22 {k7} {z}, ymm23, ymmword ptr [rcx + 4064]
+
+// CHECK: vcvtne2ph2bf8 ymm22 {k7} {z}, ymm23, word ptr [rdx - 256]{1to16}
+// CHECK: encoding: [0x62,0xe2,0x47,0xb7,0x74,0x72,0x80]
+          vcvtne2ph2bf8 ymm22 {k7} {z}, ymm23, word ptr [rdx - 256]{1to16}
+
+// CHECK: vcvtne2ph2bf8 xmm22, xmm23, xmmword ptr [rbp + 8*r14 + 268435456]
+// CHECK: encoding: [0x62,0xa2,0x47,0x00,0x74,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtne2ph2bf8 xmm22, xmm23, xmmword ptr [rbp + 8*r14 + 268435456]
+
+// CHECK: vcvtne2ph2bf8 xmm22 {k7}, xmm23, xmmword ptr [r8 + 4*rax + 291]
+// CHECK: encoding: [0x62,0xc2,0x47,0x07,0x74,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtne2ph2bf8 xmm22 {k7}, xmm23, xmmword ptr [r8 + 4*rax + 291]
+
+// CHECK: vcvtne2ph2bf8 xmm22, xmm23, word ptr [rip]{1to8}
+// CHECK: encoding: [0x62,0xe2,0x47,0x10,0x74,0x35,0x00,0x00,0x00,0x00]
+          vcvtne2ph2bf8 xmm22, xmm23, word ptr [rip]{1to8}
+
+// CHECK: vcvtne2ph2bf8 xmm22, xmm23, xmmword ptr [2*rbp - 512]
+// CHECK: encoding: [0x62,0xe2,0x47,0x00,0x74,0x34,0x6d,0x00,0xfe,0xff,0xff]
+          vcvtne2ph2bf8 xmm22, xmm23, xmmword ptr [2*rbp - 512]
+
+// CHECK: vcvtne2ph2bf8 xmm22 {k7} {z}, xmm23, xmmword ptr [rcx + 2032]
+// CHECK: encoding: [0x62,0xe2,0x47,0x87,0x74,0x71,0x7f]
+          vcvtne2ph2bf8 xmm22 {k7} {z}, xmm23, xmmword ptr [rcx + 2032]
+
+// CHECK: vcvtne2ph2bf8 xmm22 {k7} {z}, xmm23, word ptr [rdx - 256]{1to8}
+// CHECK: encoding: [0x62,0xe2,0x47,0x97,0x74,0x72,0x80]
+          vcvtne2ph2bf8 xmm22 {k7} {z}, xmm23, word ptr [rdx - 256]{1to8}
+
+// CHECK: vcvtne2ph2bf8s ymm22, ymm23, ymm24
+// CHECK: encoding: [0x62,0x85,0x47,0x20,0x74,0xf0]
+          vcvtne2ph2bf8s ymm22, ymm23, ymm24
+
+// CHECK: vcvtne2ph2bf8s ymm22 {k7}, ymm23, ymm24
+// CHECK: encoding: [0x62,0x85,0x47,0x27,0x74,0xf0]
+          vcvtne2ph2bf8s ymm22 {k7}, ymm23, ymm24
+
+// CHECK: vcvtne2ph2bf8s ymm22 {k7} {z}, ymm23, ymm24
+// CHECK: encoding: [0x62,0x85,0x47,0xa7,0x74,0xf0]
+          vcvtne2ph2bf8s ymm22 {k7} {z}, ymm23, ymm24
+
+// CHECK: vcvtne2ph2bf8s zmm22, zmm23, zmm24
+// CHECK: encoding: [0x62,0x85,0x47,0x40,0x74,0xf0]
+          vcvtne2ph2bf8s zmm22, zmm23, zmm24
+
+// CHECK: vcvtne2ph2bf8s zmm22 {k7}, zmm23, zmm24
+// CHECK: encoding: [0x62,0x85,0x47,0x47,0x74,0xf0]
+          vcvtne2ph2bf8s zmm22 {k7}, zmm23, zmm24
+
+// CHECK: vcvtne2ph2bf8s zmm22 {k7} {z}, zmm23, zmm24
+// CHECK: encoding: [0x62,0x85,0x47,0xc7,0x74,0xf0]
+          vcvtne2ph2bf8s zmm22 {k7} {z}, zmm23, zmm24
+
+// CHECK: vcvtne2ph2bf8s xmm22, xmm23, xmm24
+// CHECK: encoding: [0x62,0x85,0x47,0x00,0x74,0xf0]
+          vcvtne2ph2bf8s xmm22, xmm23, xmm24
+
+// CHECK: vcvtne2ph2bf8s xmm22 {k7}, xmm23, xmm24
+// CHECK: encoding: [0x62,0x85,0x47,0x07,0x74,0xf0]
+          vcvtne2ph2bf8s xmm22 {k7}, xmm23, xmm24
+
+// CHECK: vcvtne2ph2bf8s xmm22 {k7} {z}, xmm23, xmm24
+// CHECK: encoding: [0x62,0x85,0x47,0x87,0x74,0xf0]
+          vcvtne2ph2bf8s xmm22 {k7} {z}, xmm23, xmm24
+
+// CHECK: vcvtne2ph2bf8s zmm22, zmm23, zmmword ptr [rbp + 8*r14 + 268435456]
+// CHECK: encoding: [0x62,0xa5,0x47,0x40,0x74,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtne2ph2bf8s zmm22, zmm23, zmmword ptr [rbp + 8*r14 + 268435456]
+
+// CHECK: vcvtne2ph2bf8s zmm22 {k7}, zmm23, zmmword ptr [r8 + 4*rax + 291]
+// CHECK: encoding: [0x62,0xc5,0x47,0x47,0x74,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtne2ph2bf8s zmm22 {k7}, zmm23, zmmword ptr [r8 + 4*rax + 291]
+
+// CHECK: vcvtne2ph2bf8s zmm22, zmm23, word ptr [rip]{1to32}
+// CHECK: encoding: [0x62,0xe5,0x47,0x50,0x74,0x35,0x00,0x00,0x00,0x00]
+          vcvtne2ph2bf8s zmm22, zmm23, word ptr [rip]{1to32}
+
+// CHECK: vcvtne2ph2bf8s zmm22, zmm23, zmmword ptr [2*rbp - 2048]
+// CHECK: encoding: [0x62,0xe5,0x47,0x40,0x74,0x34,0x6d,0x00,0xf8,0xff,0xff]
+          vcvtne2ph2bf8s zmm22, zmm23, zmmword ptr [2*rbp - 2048]
+
+// CHECK: vcvtne2ph2bf8s zmm22 {k7} {z}, zmm23, zmmword ptr [rcx + 8128]
+// CHECK: encoding: [0x62,0xe5,0x47,0xc7,0x74,0x71,0x7f]
+          vcvtne2ph2bf8s zmm22 {k7} {z}, zmm23, zmmword ptr [rcx + 8128]
+
+// CHECK: vcvtne2ph2bf8s zmm22 {k7} {z}, zmm23, word ptr [rdx - 256]{1to32}
+// CHECK: encoding: [0x62,0xe5,0x47,0xd7,0x74,0x72,0x80]
+          vcvtne2ph2bf8s zmm22 {k7} {z}, zmm23, word ptr [rdx - 256]{1to32}
+
+// CHECK: vcvtne2ph2bf8s ymm22, ymm23, ymmword ptr [rbp + 8*r14 + 268435456]
+// CHECK: encoding: [0x62,0xa5,0x47,0x20,0x74,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtne2ph2bf8s ymm22, ymm23, ymmword ptr [rbp + 8*r14 + 268435456]
+
+// CHECK: vcvtne2ph2bf8s ymm22 {k7}, ymm23, ymmword ptr [r8 + 4*rax + 291]
+// CHECK: encoding: [0x62,0xc5,0x47,0x27,0x74,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtne2ph2bf8s ymm22 {k7}, ymm23, ymmword ptr [r8 + 4*rax + 291]
+
+// CHECK: vcvtne2ph2bf8s ymm22, ymm23, word ptr [rip]{1to16}
+// CHECK: encoding: [0x62,0xe5,0x47,0x30,0x74,0x35,0x00,0x00,0x00,0x00]
+          vcvtne2ph2bf8s ymm22, ymm23, word ptr [rip]{1to16}
+
+// CHECK: vcvtne2ph2bf8s ymm22, ymm23, ymmword ptr [2*rbp - 1024]
+// CHECK: encoding: [0x62,0xe5,0x47,0x20,0x74,0x34,0x6d,0x00,0xfc,0xff,0xff]
+          vcvtne2ph2bf8s ymm22, ymm23, ymmword ptr [2*rbp - 1024]
+
+// CHECK: vcvtne2ph2bf8s ymm22 {k7} {z}, ymm23, ymmword ptr [rcx + 4064]
+// CHECK: encoding: [0x62,0xe5,0x47,0xa7,0x74,0x71,0x7f]
+          vcvtne2ph2bf8s ymm22 {k7} {z}, ymm23, ymmword ptr [rcx + 4064]
+
+// CHECK: vcvtne2ph2bf8s ymm22 {k7} {z}, ymm23, word ptr [rdx - 256]{1to16}
+// CHECK: encoding: [0x62,0xe5,0x47,0xb7,0x74,0x72,0x80]
+          vcvtne2ph2bf8s ymm22 {k7} {z}, ymm23, word ptr [rdx - 256]{1to16}
+
+// CHECK: vcvtne2ph2bf8s xmm22, xmm23, xmmword ptr [rbp + 8*r14 + 268435456]
+// CHECK: encoding: [0x62,0xa5,0x47,0x00,0x74,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtne2ph2bf8s xmm22, xmm23, xmmword ptr [rbp + 8*r14 + 268435456]
+
+// CHECK: vcvtne2ph2bf8s xmm22 {k7}, xmm23, xmmword ptr [r8 + 4*rax + 291]
+// CHECK: encoding: [0x62,0xc5,0x47,0x07,0x74,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtne2ph2bf8s xmm22 {k7}, xmm23, xmmword ptr [r8 + 4*rax + 291]
+
+// CHECK: vcvtne2ph2bf8s xmm22, xmm23, word ptr [rip]{1to8}
+// CHECK: encoding: [0x62,0xe5,0x47,0x10,0x74,0x35,0x00,0x00,0x00,0x00]
+          vcvtne2ph2bf8s xmm22, xmm23, word ptr [rip]{1to8}
+
+// CHECK: vcvtne2ph2bf8s xmm22, xmm23, xmmword ptr [2*rbp - 512]
+// CHECK: encoding: [0x62,0xe5,0x47,0x00,0x74,0x34,0x6d,0x00,0xfe,0xff,0xff]
+          vcvtne2ph2bf8s xmm22, xmm23, xmmword ptr [2*rbp - 512]
+
+// CHECK: vcvtne2ph2bf8s xmm22 {k7} {z}, xmm23, xmmword ptr [rcx + 2032]
+// CHECK: encoding: [0x62,0xe5,0x47,0x87,0x74,0x71,0x7f]
+          vcvtne2ph2bf8s xmm22 {k7} {z}, xmm23, xmmword ptr [rcx + 2032]
+
+// CHECK: vcvtne2ph2bf8s xmm22 {k7} {z}, xmm23, word ptr [rdx - 256]{1to8}
+// CHECK: encoding: [0x62,0xe5,0x47,0x97,0x74,0x72,0x80]
+          vcvtne2ph2bf8s xmm22 {k7} {z}, xmm23, word ptr [rdx - 256]{1to8}
+
+// CHECK: vcvtne2ph2hf8 ymm22, ymm23, ymm24
+// CHECK: encoding: [0x62,0x85,0x47,0x20,0x18,0xf0]
+          vcvtne2ph2hf8 ymm22, ymm23, ymm24
+
+// CHECK: vcvtne2ph2hf8 ymm22 {k7}, ymm23, ymm24
+// CHECK: encoding: [0x62,0x85,0x47,0x27,0x18,0xf0]
+          vcvtne2ph2hf8 ymm22 {k7}, ymm23, ymm24
+
+// CHECK: vcvtne2ph2hf8 ymm22 {k7} {z}, ymm23, ymm24
+// CHECK: encoding: [0x62,0x85,0x47,0xa7,0x18,0xf0]
+          vcvtne2ph2hf8 ymm22 {k7} {z}, ymm23, ymm24
+
+// CHECK: vcvtne2ph2hf8 zmm22, zmm23, zmm24
+// CHECK: encoding: [0x62,0x85,0x47,0x40,0x18,0xf0]
+          vcvtne2ph2hf8 zmm22, zmm23, zmm24
+
+// CHECK: vcvtne2ph2hf8 zmm22 {k7}, zmm23, zmm24
+// CHECK: encoding: [0x62,0x85,0x47,0x47,0x18,0xf0]
+          vcvtne2ph2hf8 zmm22 {k7}, zmm23, zmm24
+
+// CHECK: vcvtne2ph2hf8 zmm22 {k7} {z}, zmm23, zmm24
+// CHECK: encoding: [0x62,0x85,0x47,0xc7,0x18,0xf0]
+          vcvtne2ph2hf8 zmm22 {k7} {z}, zmm23, zmm24
+
+// CHECK: vcvtne2ph2hf8 xmm22, xmm23, xmm24
+// CHECK: encoding: [0x62,0x85,0x47,0x00,0x18,0xf0]
+          vcvtne2ph2hf8 xmm22, xmm23, xmm24
+
+// CHECK: vcvtne2ph2hf8 xmm22 {k7}, xmm23, xmm24
+// CHECK: encoding: [0x62,0x85,0x47,0x07,0x18,0xf0]
+          vcvtne2ph2hf8 xmm22 {k7}, xmm23, xmm24
+
+// CHECK: vcvtne2ph2hf8 xmm22 {k7} {z}, xmm23, xmm24
+// CHECK: encoding: [0x62,0x85,0x47,0x87,0x18,0xf0]
+          vcvtne2ph2hf8 xmm22 {k7} {z}, xmm23, xmm24
+
+// CHECK: vcvtne2ph2hf8 zmm22, zmm23, zmmword ptr [rbp + 8*r14 + 268435456]
+// CHECK: encoding: [0x62,0xa5,0x47,0x40,0x18,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtne2ph2hf8 zmm22, zmm23, zmmword ptr [rbp + 8*r14 + 268435456]
+
+// CHECK: vcvtne2ph2hf8 zmm22 {k7}, zmm23, zmmword ptr [r8 + 4*rax + 291]
+// CHECK: encoding: [0x62,0xc5,0x47,0x47,0x18,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtne2ph2hf8 zmm22 {k7}, zmm23, zmmword ptr [r8 + 4*rax + 291]
+
+// CHECK: vcvtne2ph2hf8 zmm22, zmm23, word ptr [rip]{1to32}
+// CHECK: encoding: [0x62,0xe5,0x47,0x50,0x18,0x35,0x00,0x00,0x00,0x00]
+          vcvtne2ph2hf8 zmm22, zmm23, word ptr [rip]{1to32}
+
+// CHECK: vcvtne2ph2hf8 zmm22, zmm23, zmmword ptr [2*rbp - 2048]
+// CHECK: encoding: [0x62,0xe5,0x47,0x40,0x18,0x34,0x6d,0x00,0xf8,0xff,0xff]
+          vcvtne2ph2hf8 zmm22, zmm23, zmmword ptr [2*rbp - 2048]
+
+// CHECK: vcvtne2ph2hf8 zmm22 {k7} {z}, zmm23, zmmword ptr [rcx + 8128]
+// CHECK: encoding: [0x62,0xe5,0x47,0xc7,0x18,0x71,0x7f]
+          vcvtne2ph2hf8 zmm22 {k7} {z}, zmm23, zmmword ptr [rcx + 8128]
+
+// CHECK: vcvtne2ph2hf8 zmm22 {k7} {z}, zmm23, word ptr [rdx - 256]{1to32}
+// CHECK: encoding: [0x62,0xe5,0x47,0xd7,0x18,0x72,0x80]
+          vcvtne2ph2hf8 zmm22 {k7} {z}, zmm23, word ptr [rdx - 256]{1to32}
+
+// CHECK: vcvtne2ph2hf8 ymm22, ymm23, ymmword ptr [rbp + 8*r14 + 268435456]
+// CHECK: encoding: [0x62,0xa5,0x47,0x20,0x18,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtne2ph2hf8 ymm22, ymm23, ymmword ptr [rbp + 8*r14 + 268435456]
+
+// CHECK: vcvtne2ph2hf8 ymm22 {k7}, ymm23, ymmword ptr [r8 + 4*rax + 291]
+// CHECK: encoding: [0x62,0xc5,0x47,0x27,0x18,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtne2ph2hf8 ymm22 {k7}, ymm23, ymmword ptr [r8 + 4*rax + 291]
+
+// CHECK: vcvtne2ph2hf8 ymm22, ymm23, word ptr [rip]{1to16}
+// CHECK: encoding: [0x62,0xe5,0x47,0x30,0x18,0x35,0x00,0x00,0x00,0x00]
+          vcvtne2ph2hf8 ymm22, ymm23, word ptr [rip]{1to16}
+
+// CHECK: vcvtne2ph2hf8 ymm22, ymm23, ymmword ptr [2*rbp - 1024]
+// CHECK: encoding: [0x62,0xe5,0x47,0x20,0x18,0x34,0x6d,0x00,0xfc,0xff,0xff]
+          vcvtne2ph2hf8 ymm22, ymm23, ymmword ptr [2*rbp - 1024]
+
+// CHECK: vcvtne2ph2hf8 ymm22 {k7} {z}, ymm23, ymmword ptr [rcx + 4064]
+// CHECK: encoding: [0x62,0xe5,0x47,0xa7,0x18,0x71,0x7f]
+          vcvtne2ph2hf8 ymm22 {k7} {z}, ymm23, ymmword ptr [rcx + 4064]
+
+// CHECK: vcvtne2ph2hf8 ymm22 {k7} {z}, ymm23, word ptr [rdx - 256]{1to16}
+// CHECK: encoding: [0x62,0xe5,0x47,0xb7,0x18,0x72,0x80]
+          vcvtne2ph2hf8 ymm22 {k7} {z}, ymm23, word ptr [rdx - 256]{1to16}
+
+// CHECK: vcvtne2ph2hf8 xmm22, xmm23, xmmword ptr [rbp + 8*r14 + 268435456]
+// CHECK: encoding: [0x62,0xa5,0x47,0x00,0x18,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtne2ph2hf8 xmm22, xmm23, xmmword ptr [rbp + 8*r14 + 268435456]
+
+// CHECK: vcvtne2ph2hf8 xmm22 {k7}, xmm23, xmmword ptr [r8 + 4*rax + 291]
+// CHECK: encoding: [0x62,0xc5,0x47,0x07,0x18,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtne2ph2hf8 xmm22 {k7}, xmm23, xmmword ptr [r8 + 4*rax + 291]
+
+// CHECK: vcvtne2ph2hf8 xmm22, xmm23, word ptr [rip]{1to8}
+// CHECK: encoding: [0x62,0xe5,0x47,0x10,0x18,0x35,0x00,0x00,0x00,0x00]
+          vcvtne2ph2hf8 xmm22, xmm23, word ptr [rip]{1to8}
+
+// CHECK: vcvtne2ph2hf8 xmm22, xmm23, xmmword ptr [2*rbp - 512]
+// CHECK: encoding: [0x62,0xe5,0x47,0x00,0x18,0x34,0x6d,0x00,0xfe,0xff,0xff]
+          vcvtne2ph2hf8 xmm22, xmm23, xmmword ptr [2*rbp - 512]
+
+// CHECK: vcvtne2ph2hf8 xmm22 {k7} {z}, xmm23, xmmword ptr [rcx + 2032]
+// CHECK: encoding: [0x62,0xe5,0x47,0x87,0x18,0x71,0x7f]
+          vcvtne2ph2hf8 xmm22 {k7} {z}, xmm23, xmmword ptr [rcx + 2032]
+
+// CHECK: vcvtne2ph2hf8 xmm22 {k7} {z}, xmm23, word ptr [rdx - 256]{1to8}
+// CHECK: encoding: [0x62,0xe5,0x47,0x97,0x18,0x72,0x80]
+          vcvtne2ph2hf8 xmm22 {k7} {z}, xmm23, word ptr [rdx - 256]{1to8}
+
+// CHECK: vcvtne2ph2hf8s ymm22, ymm23, ymm24
+// CHECK: encoding: [0x62,0x85,0x47,0x20,0x1b,0xf0]
+          vcvtne2ph2hf8s ymm22, ymm23, ymm24
+
+// CHECK: vcvtne2ph2hf8s ymm22 {k7}, ymm23, ymm24
+// CHECK: encoding: [0x62,0x85,0x47,0x27,0x1b,0xf0]
+          vcvtne2ph2hf8s ymm22 {k7}, ymm23, ymm24
+
+// CHECK: vcvtne2ph2hf8s ymm22 {k7} {z}, ymm23, ymm24
+// CHECK: encoding: [0x62,0x85,0x47,0xa7,0x1b,0xf0]
+          vcvtne2ph2hf8s ymm22 {k7} {z}, ymm23, ymm24
+
+// CHECK: vcvtne2ph2hf8s zmm22, zmm23, zmm24
+// CHECK: encoding: [0x62,0x85,0x47,0x40,0x1b,0xf0]
+          vcvtne2ph2hf8s zmm22, zmm23, zmm24
+
+// CHECK: vcvtne2ph2hf8s zmm22 {k7}, zmm23, zmm24
+// CHECK: encoding: [0x62,0x85,0x47,0x47,0x1b,0xf0]
+          vcvtne2ph2hf8s zmm22 {k7}, zmm23, zmm24
+
+// CHECK: vcvtne2ph2hf8s zmm22 {k7} {z}, zmm23, zmm24
+// CHECK: encoding: [0x62,0x85,0x47,0xc7,0x1b,0xf0]
+          vcvtne2ph2hf8s zmm22 {k7} {z}, zmm23, zmm24
+
+// CHECK: vcvtne2ph2hf8s xmm22, xmm23, xmm24
+// CHECK: encoding: [0x62,0x85,0x47,0x00,0x1b,0xf0]
+          vcvtne2ph2hf8s xmm22, xmm23, xmm24
+
+// CHECK: vcvtne2ph2hf8s xmm22 {k7}, xmm23, xmm24
+// CHECK: encoding: [0x62,0x85,0x47,0x07,0x1b,0xf0]
+          vcvtne2ph2hf8s xmm22 {k7}, xmm23, xmm24
+
+// CHECK: vcvtne2ph2hf8s xmm22 {k7} {z}, xmm23, xmm24
+// CHECK: encoding: [0x62,0x85,0x47,0x87,0x1b,0xf0]
+          vcvtne2ph2hf8s xmm22 {k7} {z}, xmm23, xmm24
+
+// CHECK: vcvtne2ph2hf8s zmm22, zmm23, zmmword ptr [rbp + 8*r14 + 268435456]
+// CHECK: encoding: [0x62,0xa5,0x47,0x40,0x1b,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtne2ph2hf8s zmm22, zmm23, zmmword ptr [rbp + 8*r14 + 268435456]
+
+// CHECK: vcvtne2ph2hf8s zmm22 {k7}, zmm23, zmmword ptr [r8 + 4*rax + 291]
+// CHECK: encoding: [0x62,0xc5,0x47,0x47,0x1b,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtne2ph2hf8s zmm22 {k7}, zmm23, zmmword ptr [r8 + 4*rax + 291]
+
+// CHECK: vcvtne2ph2hf8s zmm22, zmm23, word ptr [rip]{1to32}
+// CHECK: encoding: [0x62,0xe5,0x47,0x50,0x1b,0x35,0x00,0x00,0x00,0x00]
+          vcvtne2ph2hf8s zmm22, zmm23, word ptr [rip]{1to32}
+
+// CHECK: vcvtne2ph2hf8s zmm22, zmm23, zmmword ptr [2*rbp - 2048]
+// CHECK: encoding: [0x62,0xe5,0x47,0x40,0x1b,0x34,0x6d,0x00,0xf8,0xff,0xff]
+          vcvtne2ph2hf8s zmm22, zmm23, zmmword ptr [2*rbp - 2048]
+
+// CHECK: vcvtne2ph2hf8s zmm22 {k7} {z}, zmm23, zmmword ptr [rcx + 8128]
+// CHECK: encoding: [0x62,0xe5,0x47,0xc7,0x1b,0x71,0x7f]
+          vcvtne2ph2hf8s zmm22 {k7} {z}, zmm23, zmmword ptr [rcx + 8128]
+
+// CHECK: vcvtne2ph2hf8s zmm22 {k7} {z}, zmm23, word ptr [rdx - 256]{1to32}
+// CHECK: encoding: [0x62,0xe5,0x47,0xd7,0x1b,0x72,0x80]
+          vcvtne2ph2hf8s zmm22 {k7} {z}, zmm23, word ptr [rdx - 256]{1to32}
+
+// CHECK: vcvtne2ph2hf8s ymm22, ymm23, ymmword ptr [rbp + 8*r14 + 268435456]
+// CHECK: encoding: [0x62,0xa5,0x47,0x20,0x1b,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtne2ph2hf8s ymm22, ymm23, ymmword ptr [rbp + 8*r14 + 268435456]
+
+// CHECK: vcvtne2ph2hf8s ymm22 {k7}, ymm23, ymmword ptr [r8 + 4*rax + 291]
+// CHECK: encoding: [0x62,0xc5,0x47,0x27,0x1b,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtne2ph2hf8s ymm22 {k7}, ymm23, ymmword ptr [r8 + 4*rax + 291]
+
+// CHECK: vcvtne2ph2hf8s ymm22, ymm23, word ptr [rip]{1to16}
+// CHECK: encoding: [0x62,0xe5,0x47,0x30,0x1b,0x35,0x00,0x00,0x00,0x00]
+          vcvtne2ph2hf8s ymm22, ymm23, word ptr [rip]{1to16}
+
+// CHECK: vcvtne2ph2hf8s ymm22, ymm23, ymmword ptr [2*rbp - 1024]
+// CHECK: encoding: [0x62,0xe5,0x47,0x20,0x1b,0x34,0x6d,0x00,0xfc,0xff,0xff]
+          vcvtne2ph2hf8s ymm22, ymm23, ymmword ptr [2*rbp - 1024]
+
+// CHECK: vcvtne2ph2hf8s ymm22 {k7} {z}, ymm23, ymmword ptr [rcx + 4064]
+// CHECK: encoding: [0x62,0xe5,0x47,0xa7,0x1b,0x71,0x7f]
+          vcvtne2ph2hf8s ymm22 {k7} {z}, ymm23, ymmword ptr [rcx + 4064]
+
+// CHECK: vcvtne2ph2hf8s ymm22 {k7} {z}, ymm23, word ptr [rdx - 256]{1to16}
+// CHECK: encoding: [0x62,0xe5,0x47,0xb7,0x1b,0x72,0x80]
+          vcvtne2ph2hf8s ymm22 {k7} {z}, ymm23, word ptr [rdx - 256]{1to16}
+
+// CHECK: vcvtne2ph2hf8s xmm22, xmm23, xmmword ptr [rbp + 8*r14 + 268435456]
+// CHECK: encoding: [0x62,0xa5,0x47,0x00,0x1b,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtne2ph2hf8s xmm22, xmm23, xmmword ptr [rbp + 8*r14 + 268435456]
+
+// CHECK: vcvtne2ph2hf8s xmm22 {k7}, xmm23, xmmword ptr [r8 + 4*rax + 291]
+// CHECK: encoding: [0x62,0xc5,0x47,0x07,0x1b,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtne2ph2hf8s xmm22 {k7}, xmm23, xmmword ptr [r8 + 4*rax + 291]
+
+// CHECK: vcvtne2ph2hf8s xmm22, xmm23, word ptr [rip]{1to8}
+// CHECK: encoding: [0x62,0xe5,0x47,0x10,0x1b,0x35,0x00,0x00,0x00,0x00]
+          vcvtne2ph2hf8s xmm22, xmm23, word ptr [rip]{1to8}
+
+// CHECK: vcvtne2ph2hf8s xmm22, xmm23, xmmword ptr [2*rbp - 512]
+// CHECK: encoding: [0x62,0xe5,0x47,0x00,0x1b,0x34,0x6d,0x00,0xfe,0xff,0xff]
+          vcvtne2ph2hf8s xmm22, xmm23, xmmword ptr [2*rbp - 512]
+
+// CHECK: vcvtne2ph2hf8s xmm22 {k7} {z}, xmm23, xmmword ptr [rcx + 2032]
+// CHECK: encoding: [0x62,0xe5,0x47,0x87,0x1b,0x71,0x7f]
+          vcvtne2ph2hf8s xmm22 {k7} {z}, xmm23, xmmword ptr [rcx + 2032]
+
+// CHECK: vcvtne2ph2hf8s xmm22 {k7} {z}, xmm23, word ptr [rdx - 256]{1to8}
+// CHECK: encoding: [0x62,0xe5,0x47,0x97,0x1b,0x72,0x80]
+          vcvtne2ph2hf8s xmm22 {k7} {z}, xmm23, word ptr [rdx - 256]{1to8}
+
+// CHECK: vcvtneph2bf8 xmm22, xmm23
+// CHECK: encoding: [0x62,0xa2,0x7e,0x08,0x74,0xf7]
+          vcvtneph2bf8 xmm22, xmm23
+
+// CHECK: vcvtneph2bf8 xmm22 {k7}, xmm23
+// CHECK: encoding: [0x62,0xa2,0x7e,0x0f,0x74,0xf7]
+          vcvtneph2bf8 xmm22 {k7}, xmm23
+
+// CHECK: vcvtneph2bf8 xmm22 {k7} {z}, xmm23
+// CHECK: encoding: [0x62,0xa2,0x7e,0x8f,0x74,0xf7]
+          vcvtneph2bf8 xmm22 {k7} {z}, xmm23
+
+// CHECK: vcvtneph2bf8 ymm22, zmm23
+// CHECK: encoding: [0x62,0xa2,0x7e,0x48,0x74,0xf7]
+          vcvtneph2bf8 ymm22, zmm23
+
+// CHECK: vcvtneph2bf8 ymm22 {k7}, zmm23
+// CHECK: encoding: [0x62,0xa2,0x7e,0x4f,0x74,0xf7]
+          vcvtneph2bf8 ymm22 {k7}, zmm23
+
+// CHECK: vcvtneph2bf8 ymm22 {k7} {z}, zmm23
+// CHECK: encoding: [0x62,0xa2,0x7e,0xcf,0x74,0xf7]
+          vcvtneph2bf8 ymm22 {k7} {z}, zmm23
+
+// CHECK: vcvtneph2bf8 xmm22, ymm23
+// CHECK: encoding: [0x62,0xa2,0x7e,0x28,0x74,0xf7]
+          vcvtneph2bf8 xmm22, ymm23
+
+// CHECK: vcvtneph2bf8 xmm22 {k7}, ymm23
+// CHECK: encoding: [0x62,0xa2,0x7e,0x2f,0x74,0xf7]
+          vcvtneph2bf8 xmm22 {k7}, ymm23
+
+// CHECK: vcvtneph2bf8 xmm22 {k7} {z}, ymm23
+// CHECK: encoding: [0x62,0xa2,0x7e,0xaf,0x74,0xf7]
+          vcvtneph2bf8 xmm22 {k7} {z}, ymm23
+
+// CHECK: vcvtneph2bf8 xmm22, xmmword ptr [rbp + 8*r14 + 268435456]
+// CHECK: encoding: [0x62,0xa2,0x7e,0x08,0x74,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtneph2bf8 xmm22, xmmword ptr [rbp + 8*r14 + 268435456]
+
+// CHECK: vcvtneph2bf8 xmm22 {k7}, xmmword ptr [r8 + 4*rax + 291]
+// CHECK: encoding: [0x62,0xc2,0x7e,0x0f,0x74,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtneph2bf8 xmm22 {k7}, xmmword ptr [r8 + 4*rax + 291]
+
+// CHECK: vcvtneph2bf8 xmm22, word ptr [rip]{1to8}
+// CHECK: encoding: [0x62,0xe2,0x7e,0x18,0x74,0x35,0x00,0x00,0x00,0x00]
+          vcvtneph2bf8 xmm22, word ptr [rip]{1to8}
+
+// CHECK: vcvtneph2bf8 xmm22, xmmword ptr [2*rbp - 512]
+// CHECK: encoding: [0x62,0xe2,0x7e,0x08,0x74,0x34,0x6d,0x00,0xfe,0xff,0xff]
+          vcvtneph2bf8 xmm22, xmmword ptr [2*rbp - 512]
+
+// CHECK: vcvtneph2bf8 xmm22 {k7} {z}, xmmword ptr [rcx + 2032]
+// CHECK: encoding: [0x62,0xe2,0x7e,0x8f,0x74,0x71,0x7f]
+          vcvtneph2bf8 xmm22 {k7} {z}, xmmword ptr [rcx + 2032]
+
+// CHECK: vcvtneph2bf8 xmm22 {k7} {z}, word ptr [rdx - 256]{1to8}
+// CHECK: encoding: [0x62,0xe2,0x7e,0x9f,0x74,0x72,0x80]
+          vcvtneph2bf8 xmm22 {k7} {z}, word ptr [rdx - 256]{1to8}
+
+// CHECK: vcvtneph2bf8 xmm22, word ptr [rip]{1to16}
+// CHECK: encoding: [0x62,0xe2,0x7e,0x38,0x74,0x35,0x00,0x00,0x00,0x00]
+          vcvtneph2bf8 xmm22, word ptr [rip]{1to16}
+
+// CHECK: vcvtneph2bf8 xmm22, ymmword ptr [2*rbp - 1024]
+// CHECK: encoding: [0x62,0xe2,0x7e,0x28,0x74,0x34,0x6d,0x00,0xfc,0xff,0xff]
+          vcvtneph2bf8 xmm22, ymmword ptr [2*rbp - 1024]
+
+// CHECK: vcvtneph2bf8 xmm22 {k7} {z}, ymmword ptr [rcx + 4064]
+// CHECK: encoding: [0x62,0xe2,0x7e,0xaf,0x74,0x71,0x7f]
+          vcvtneph2bf8 xmm22 {k7} {z}, ymmword ptr [rcx + 4064]
+
+// CHECK: vcvtneph2bf8 xmm22 {k7} {z}, word ptr [rdx - 256]{1to16}
+// CHECK: encoding: [0x62,0xe2,0x7e,0xbf,0x74,0x72,0x80]
+          vcvtneph2bf8 xmm22 {k7} {z}, word ptr [rdx - 256]{1to16}
+
+// CHECK: vcvtneph2bf8 ymm22, zmmword ptr [rbp + 8*r14 + 268435456]
+// CHECK: encoding: [0x62,0xa2,0x7e,0x48,0x74,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtneph2bf8 ymm22, zmmword ptr [rbp + 8*r14 + 268435456]
+
+// CHECK: vcvtneph2bf8 ymm22 {k7}, zmmword ptr [r8 + 4*rax + 291]
+// CHECK: encoding: [0x62,0xc2,0x7e,0x4f,0x74,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtneph2bf8 ymm22 {k7}, zmmword ptr [r8 + 4*rax + 291]
+
+// CHECK: vcvtneph2bf8 ymm22, word ptr [rip]{1to32}
+// CHECK: encoding: [0x62,0xe2,0x7e,0x58,0x74,0x35,0x00,0x00,0x00,0x00]
+          vcvtneph2bf8 ymm22, word ptr [rip]{1to32}
+
+// CHECK: vcvtneph2bf8 ymm22, zmmword ptr [2*rbp - 2048]
+// CHECK: encoding: [0x62,0xe2,0x7e,0x48,0x74,0x34,0x6d,0x00,0xf8,0xff,0xff]
+          vcvtneph2bf8 ymm22, zmmword ptr [2*rbp - 2048]
+
+// CHECK: vcvtneph2bf8 ymm22 {k7} {z}, zmmword ptr [rcx + 8128]
+// CHECK: encoding: [0x62,0xe2,0x7e,0xcf,0x74,0x71,0x7f]
+          vcvtneph2bf8 ymm22 {k7} {z}, zmmword ptr [rcx + 8128]
+
+// CHECK: vcvtneph2bf8 ymm22 {k7} {z}, word ptr [rdx - 256]{1to32}
+// CHECK: encoding: [0x62,0xe2,0x7e,0xdf,0x74,0x72,0x80]
+          vcvtneph2bf8 ymm22 {k7} {z}, word ptr [rdx - 256]{1to32}
+
+// CHECK: vcvtneph2bf8s xmm22, xmm23
+// CHECK: encoding: [0x62,0xa5,0x7e,0x08,0x74,0xf7]
+          vcvtneph2bf8s xmm22, xmm23
+
+// CHECK: vcvtneph2bf8s xmm22 {k7}, xmm23
+// CHECK: encoding: [0x62,0xa5,0x7e,0x0f,0x74,0xf7]
+          vcvtneph2bf8s xmm22 {k7}, xmm23
+
+// CHECK: vcvtneph2bf8s xmm22 {k7} {z}, xmm23
+// CHECK: encoding: [0x62,0xa5,0x7e,0x8f,0x74,0xf7]
+          vcvtneph2bf8s xmm22 {k7} {z}, xmm23
+
+// CHECK: vcvtneph2bf8s ymm22, zmm23
+// CHECK: encoding: [0x62,0xa5,0x7e,0x48,0x74,0xf7]
+          vcvtneph2bf8s ymm22, zmm23
+
+// CHECK: vcvtneph2bf8s ymm22 {k7}, zmm23
+// CHECK: encoding: [0x62,0xa5,0x7e,0x4f,0x74,0xf7]
+          vcvtneph2bf8s ymm22 {k7}, zmm23
+
+// CHECK: vcvtneph2bf8s ymm22 {k7} {z}, zmm23
+// CHECK: encoding: [0x62,0xa5,0x7e,0xcf,0x74,0xf7]
+          vcvtneph2bf8s ymm22 {k7} {z}, zmm23
+
+// CHECK: vcvtneph2bf8s xmm22, ymm23
+// CHECK: encoding: [0x62,0xa5,0x7e,0x28,0x74,0xf7]
+          vcvtneph2bf8s xmm22, ymm23
+
+// CHECK: vcvtneph2bf8s xmm22 {k7}, ymm23
+// CHECK: encoding: [0x62,0xa5,0x7e,0x2f,0x74,0xf7]
+          vcvtneph2bf8s xmm22 {k7}, ymm23
+
+// CHECK: vcvtneph2bf8s xmm22 {k7} {z}, ymm23
+// CHECK: encoding: [0x62,0xa5,0x7e,0xaf,0x74,0xf7]
+          vcvtneph2bf8s xmm22 {k7} {z}, ymm23
+
+// CHECK: vcvtneph2bf8s xmm22, xmmword ptr [rbp + 8*r14 + 268435456]
+// CHECK: encoding: [0x62,0xa5,0x7e,0x08,0x74,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtneph2bf8s xmm22, xmmword ptr [rbp + 8*r14 + 268435456]
+
+// CHECK: vcvtneph2bf8s xmm22 {k7}, xmmword ptr [r8 + 4*rax + 291]
+// CHECK: encoding: [0x62,0xc5,0x7e,0x0f,0x74,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtneph2bf8s xmm22 {k7}, xmmword ptr [r8 + 4*rax + 291]
+
+// CHECK: vcvtneph2bf8s xmm22, word ptr [rip]{1to8}
+// CHECK: encoding: [0x62,0xe5,0x7e,0x18,0x74,0x35,0x00,0x00,0x00,0x00]
+          vcvtneph2bf8s xmm22, word ptr [rip]{1to8}
+
+// CHECK: vcvtneph2bf8s xmm22, xmmword ptr [2*rbp - 512]
+// CHECK: encoding: [0x62,0xe5,0x7e,0x08,0x74,0x34,0x6d,0x00,0xfe,0xff,0xff]
+          vcvtneph2bf8s xmm22, xmmword ptr [2*rbp - 512]
+
+// CHECK: vcvtneph2bf8s xmm22 {k7} {z}, xmmword ptr [rcx + 2032]
+// CHECK: encoding: [0x62,0xe5,0x7e,0x8f,0x74,0x71,0x7f]
+          vcvtneph2bf8s xmm22 {k7} {z}, xmmword ptr [rcx + 2032]
+
+// CHECK: vcvtneph2bf8s xmm22 {k7} {z}, word ptr [rdx - 256]{1to8}
+// CHECK: encoding: [0x62,0xe5,0x7e,0x9f,0x74,0x72,0x80]
+          vcvtneph2bf8s xmm22 {k7} {z}, word ptr [rdx - 256]{1to8}
+
+// CHECK: vcvtneph2bf8s xmm22, word ptr [rip]{1to16}
+// CHECK: encoding: [0x62,0xe5,0x7e,0x38,0x74,0x35,0x00,0x00,0x00,0x00]
+          vcvtneph2bf8s xmm22, word ptr [rip]{1to16}
+
+// CHECK: vcvtneph2bf8s xmm22, ymmword ptr [2*rbp - 1024]
+// CHECK: encoding: [0x62,0xe5,0x7e,0x28,0x74,0x34,0x6d,0x00,0xfc,0xff,0xff]
+          vcvtneph2bf8s xmm22, ymmword ptr [2*rbp - 1024]
+
+// CHECK: vcvtneph2bf8s xmm22 {k7} {z}, ymmword ptr [rcx + 4064]
+// CHECK: encoding: [0x62,0xe5,0x7e,0xaf,0x74,0x71,0x7f]
+          vcvtneph2bf8s xmm22 {k7} {z}, ymmword ptr [rcx + 4064]
+
+// CHECK: vcvtneph2bf8s xmm22 {k7} {z}, word ptr [rdx - 256]{1to16}
+// CHECK: encoding: [0x62,0xe5,0x7e,0xbf,0x74,0x72,0x80]
+          vcvtneph2bf8s xmm22 {k7} {z}, word ptr [rdx - 256]{1to16}
+
+// CHECK: vcvtneph2bf8s ymm22, zmmword ptr [rbp + 8*r14 + 268435456]
+// CHECK: encoding: [0x62,0xa5,0x7e,0x48,0x74,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtneph2bf8s ymm22, zmmword ptr [rbp + 8*r14 + 268435456]
+
+// CHECK: vcvtneph2bf8s ymm22 {k7}, zmmword ptr [r8 + 4*rax + 291]
+// CHECK: encoding: [0x62,0xc5,0x7e,0x4f,0x74,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtneph2bf8s ymm22 {k7}, zmmword ptr [r8 + 4*rax + 291]
+
+// CHECK: vcvtneph2bf8s ymm22, word ptr [rip]{1to32}
+// CHECK: encoding: [0x62,0xe5,0x7e,0x58,0x74,0x35,0x00,0x00,0x00,0x00]
+          vcvtneph2bf8s ymm22, word ptr [rip]{1to32}
+
+// CHECK: vcvtneph2bf8s ymm22, zmmword ptr [2*rbp - 2048]
+// CHECK: encoding: [0x62,0xe5,0x7e,0x48,0x74,0x34,0x6d,0x00,0xf8,0xff,0xff]
+          vcvtneph2bf8s ymm22, zmmword ptr [2*rbp - 2048]
+
+// CHECK: vcvtneph2bf8s ymm22 {k7} {z}, zmmword ptr [rcx + 8128]
+// CHECK: encoding: [0x62,0xe5,0x7e,0xcf,0x74,0x71,0x7f]
+          vcvtneph2bf8s ymm22 {k7} {z}, zmmword ptr [rcx + 8128]
+
+// CHECK: vcvtneph2bf8s ymm22 {k7} {z}, word ptr [rdx - 256]{1to32}
+// CHECK: encoding: [0x62,0xe5,0x7e,0xdf,0x74,0x72,0x80]
+          vcvtneph2bf8s ymm22 {k7} {z}, word ptr [rdx - 256]{1to32}
+
+// CHECK: vcvtneph2hf8 xmm22, xmm23
+// CHECK: encoding: [0x62,0xa5,0x7e,0x08,0x18,0xf7]
+          vcvtneph2hf8 xmm22, xmm23
+
+// CHECK: vcvtneph2hf8 xmm22 {k7}, xmm23
+// CHECK: encoding: [0x62,0xa5,0x7e,0x0f,0x18,0xf7]
+          vcvtneph2hf8 xmm22 {k7}, xmm23
+
+// CHECK: vcvtneph2hf8 xmm22 {k7} {z}, xmm23
+// CHECK: encoding: [0x62,0xa5,0x7e,0x8f,0x18,0xf7]
+          vcvtneph2hf8 xmm22 {k7} {z}, xmm23
+
+// CHECK: vcvtneph2hf8 ymm22, zmm23
+// CHECK: encoding: [0x62,0xa5,0x7e,0x48,0x18,0xf7]
+          vcvtneph2hf8 ymm22, zmm23
+
+// CHECK: vcvtneph2hf8 ymm22 {k7}, zmm23
+// CHECK: encoding: [0x62,0xa5,0x7e,0x4f,0x18,0xf7]
+          vcvtneph2hf8 ymm22 {k7}, zmm23
+
+// CHECK: vcvtneph2hf8 ymm22 {k7} {z}, zmm23
+// CHECK: encoding: [0x62,0xa5,0x7e,0xcf,0x18,0xf7]
+          vcvtneph2hf8 ymm22 {k7} {z}, zmm23
+
+// CHECK: vcvtneph2hf8 xmm22, ymm23
+// CHECK: encoding: [0x62,0xa5,0x7e,0x28,0x18,0xf7]
+          vcvtneph2hf8 xmm22, ymm23
+
+// CHECK: vcvtneph2hf8 xmm22 {k7}, ymm23
+// CHECK: encoding: [0x62,0xa5,0x7e,0x2f,0x18,0xf7]
+          vcvtneph2hf8 xmm22 {k7}, ymm23
+
+// CHECK: vcvtneph2hf8 xmm22 {k7} {z}, ymm23
+// CHECK: encoding: [0x62,0xa5,0x7e,0xaf,0x18,0xf7]
+          vcvtneph2hf8 xmm22 {k7} {z}, ymm23
+
+// CHECK: vcvtneph2hf8 xmm22, xmmword ptr [rbp + 8*r14 + 268435456]
+// CHECK: encoding: [0x62,0xa5,0x7e,0x08,0x18,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtneph2hf8 xmm22, xmmword ptr [rbp + 8*r14 + 268435456]
+
+// CHECK: vcvtneph2hf8 xmm22 {k7}, xmmword ptr [r8 + 4*rax + 291]
+// CHECK: encoding: [0x62,0xc5,0x7e,0x0f,0x18,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtneph2hf8 xmm22 {k7}, xmmword ptr [r8 + 4*rax + 291]
+
+// CHECK: vcvtneph2hf8 xmm22, word ptr [rip]{1to8}
+// CHECK: encoding: [0x62,0xe5,0x7e,0x18,0x18,0x35,0x00,0x00,0x00,0x00]
+          vcvtneph2hf8 xmm22, word ptr [rip]{1to8}
+
+// CHECK: vcvtneph2hf8 xmm22, xmmword ptr [2*rbp - 512]
+// CHECK: encoding: [0x62,0xe5,0x7e,0x08,0x18,0x34,0x6d,0x00,0xfe,0xff,0xff]
+          vcvtneph2hf8 xmm22, xmmword ptr [2*rbp - 512]
+
+// CHECK: vcvtneph2hf8 xmm22 {k7} {z}, xmmword ptr [rcx + 2032]
+// CHECK: encoding: [0x62,0xe5,0x7e,0x8f,0x18,0x71,0x7f]
+          vcvtneph2hf8 xmm22 {k7} {z}, xmmword ptr [rcx + 2032]
+
+// CHECK: vcvtneph2hf8 xmm22 {k7} {z}, word ptr [rdx - 256]{1to8}
+// CHECK: encoding: [0x62,0xe5,0x7e,0x9f,0x18,0x72,0x80]
+          vcvtneph2hf8 xmm22 {k7} {z}, word ptr [rdx - 256]{1to8}
+
+// CHECK: vcvtneph2hf8 xmm22, word ptr [rip]{1to16}
+// CHECK: encoding: [0x62,0xe5,0x7e,0x38,0x18,0x35,0x00,0x00,0x00,0x00]
+          vcvtneph2hf8 xmm22, word ptr [rip]{1to16}
+
+// CHECK: vcvtneph2hf8 xmm22, ymmword ptr [2*rbp - 1024]
+// CHECK: encoding: [0x62,0xe5,0x7e,0x28,0x18,0x34,0x6d,0x00,0xfc,0xff,0xff]
+          vcvtneph2hf8 xmm22, ymmword ptr [2*rbp - 1024]
+
+// CHECK: vcvtneph2hf8 xmm22 {k7} {z}, ymmword ptr [rcx + 4064]
+// CHECK: encoding: [0x62,0xe5,0x7e,0xaf,0x18,0x71,0x7f]
+          vcvtneph2hf8 xmm22 {k7} {z}, ymmword ptr [rcx + 4064]
+
+// CHECK: vcvtneph2hf8 xmm22 {k7} {z}, word ptr [rdx - 256]{1to16}
+// CHECK: encoding: [0x62,0xe5,0x7e,0xbf,0x18,0x72,0x80]
+          vcvtneph2hf8 xmm22 {k7} {z}, word ptr [rdx - 256]{1to16}
+
+// CHECK: vcvtneph2hf8 ymm22, zmmword ptr [rbp + 8*r14 + 268435456]
+// CHECK: encoding: [0x62,0xa5,0x7e,0x48,0x18,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtneph2hf8 ymm22, zmmword ptr [rbp + 8*r14 + 268435456]
+
+// CHECK: vcvtneph2hf8 ymm22 {k7}, zmmword ptr [r8 + 4*rax + 291]
+// CHECK: encoding: [0x62,0xc5,0x7e,0x4f,0x18,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtneph2hf8 ymm22 {k7}, zmmword ptr [r8 + 4*rax + 291]
+
+// CHECK: vcvtneph2hf8 ymm22, word ptr [rip]{1to32}
+// CHECK: encoding: [0x62,0xe5,0x7e,0x58,0x18,0x35,0x00,0x00,0x00,0x00]
+          vcvtneph2hf8 ymm22, word ptr [rip]{1to32}
+
+// CHECK: vcvtneph2hf8 ymm22, zmmword ptr [2*rbp - 2048]
+// CHECK: encoding: [0x62,0xe5,0x7e,0x48,0x18,0x34,0x6d,0x00,0xf8,0xff,0xff]
+          vcvtneph2hf8 ymm22, zmmword ptr [2*rbp - 2048]
+
+// CHECK: vcvtneph2hf8 ymm22 {k7} {z}, zmmword ptr [rcx + 8128]
+// CHECK: encoding: [0x62,0xe5,0x7e,0xcf,0x18,0x71,0x7f]
+          vcvtneph2hf8 ymm22 {k7} {z}, zmmword ptr [rcx + 8128]
+
+// CHECK: vcvtneph2hf8 ymm22 {k7} {z}, word ptr [rdx - 256]{1to32}
+// CHECK: encoding: [0x62,0xe5,0x7e,0xdf,0x18,0x72,0x80]
+          vcvtneph2hf8 ymm22 {k7} {z}, word ptr [rdx - 256]{1to32}
+
+// CHECK: vcvtneph2hf8s xmm22, xmm23
+// CHECK: encoding: [0x62,0xa5,0x7e,0x08,0x1b,0xf7]
+          vcvtneph2hf8s xmm22, xmm23
+
+// CHECK: vcvtneph2hf8s xmm22 {k7}, xmm23
+// CHECK: encoding: [0x62,0xa5,0x7e,0x0f,0x1b,0xf7]
+          vcvtneph2hf8s xmm22 {k7}, xmm23
+
+// CHECK: vcvtneph2hf8s xmm22 {k7} {z}, xmm23
+// CHECK: encoding: [0x62,0xa5,0x7e,0x8f,0x1b,0xf7]
+          vcvtneph2hf8s xmm22 {k7} {z}, xmm23
+
+// CHECK: vcvtneph2hf8s ymm22, zmm23
+// CHECK: encoding: [0x62,0xa5,0x7e,0x48,0x1b,0xf7]
+          vcvtneph2hf8s ymm22, zmm23
+
+// CHECK: vcvtneph2hf8s ymm22 {k7}, zmm23
+// CHECK: encoding: [0x62,0xa5,0x7e,0x4f,0x1b,0xf7]
+          vcvtneph2hf8s ymm22 {k7}, zmm23
+
+// CHECK: vcvtneph2hf8s ymm22 {k7} {z}, zmm23
+// CHECK: encoding: [0x62,0xa5,0x7e,0xcf,0x1b,0xf7]
+          vcvtneph2hf8s ymm22 {k7} {z}, zmm23
+
+// CHECK: vcvtneph2hf8s xmm22, ymm23
+// CHECK: encoding: [0x62,0xa5,0x7e,0x28,0x1b,0xf7]
+          vcvtneph2hf8s xmm22, ymm23
+
+// CHECK: vcvtneph2hf8s xmm22 {k7}, ymm23
+// CHECK: encoding: [0x62,0xa5,0x7e,0x2f,0x1b,0xf7]
+          vcvtneph2hf8s xmm22 {k7}, ymm23
+
+// CHECK: vcvtneph2hf8s xmm22 {k7} {z}, ymm23
+// CHECK: encoding: [0x62,0xa5,0x7e,0xaf,0x1b,0xf7]
+          vcvtneph2hf8s xmm22 {k7} {z}, ymm23
+
+// CHECK: vcvtneph2hf8s xmm22, xmmword ptr [rbp + 8*r14 + 268435456]
+// CHECK: encoding: [0x62,0xa5,0x7e,0x08,0x1b,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtneph2hf8s xmm22, xmmword ptr [rbp + 8*r14 + 268435456]
+
+// CHECK: vcvtneph2hf8s xmm22 {k7}, xmmword ptr [r8 + 4*rax + 291]
+// CHECK: encoding: [0x62,0xc5,0x7e,0x0f,0x1b,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtneph2hf8s xmm22 {k7}, xmmword ptr [r8 + 4*rax + 291]
+
+// CHECK: vcvtneph2hf8s xmm22, word ptr [rip]{1to8}
+// CHECK: encoding: [0x62,0xe5,0x7e,0x18,0x1b,0x35,0x00,0x00,0x00,0x00]
+          vcvtneph2hf8s xmm22, word ptr [rip]{1to8}
+
+// CHECK: vcvtneph2hf8s xmm22, xmmword ptr [2*rbp - 512]
+// CHECK: encoding: [0x62,0xe5,0x7e,0x08,0x1b,0x34,0x6d,0x00,0xfe,0xff,0xff]
+          vcvtneph2hf8s xmm22, xmmword ptr [2*rbp - 512]
+
+// CHECK: vcvtneph2hf8s xmm22 {k7} {z}, xmmword ptr [rcx + 2032]
+// CHECK: encoding: [0x62,0xe5,0x7e,0x8f,0x1b,0x71,0x7f]
+          vcvtneph2hf8s xmm22 {k7} {z}, xmmword ptr [rcx + 2032]
+
+// CHECK: vcvtneph2hf8s xmm22 {k7} {z}, word ptr [rdx - 256]{1to8}
+// CHECK: encoding: [0x62,0xe5,0x7e,0x9f,0x1b,0x72,0x80]
+          vcvtneph2hf8s xmm22 {k7} {z}, word ptr [rdx - 256]{1to8}
+
+// CHECK: vcvtneph2hf8s xmm22, word ptr [rip]{1to16}
+// CHECK: encoding: [0x62,0xe5,0x7e,0x38,0x1b,0x35,0x00,0x00,0x00,0x00]
+          vcvtneph2hf8s xmm22, word ptr [rip]{1to16}
+
+// CHECK: vcvtneph2hf8s xmm22, ymmword ptr [2*rbp - 1024]
+// CHECK: encoding: [0x62,0xe5,0x7e,0x28,0x1b,0x34,0x6d,0x00,0xfc,0xff,0xff]
+          vcvtneph2hf8s xmm22, ymmword ptr [2*rbp - 1024]
+
+// CHECK: vcvtneph2hf8s xmm22 {k7} {z}, ymmword ptr [rcx + 4064]
+// CHECK: encoding: [0x62,0xe5,0x7e,0xaf,0x1b,0x71,0x7f]
+          vcvtneph2hf8s xmm22 {k7} {z}, ymmword ptr [rcx + 4064]
+
+// CHECK: vcvtneph2hf8s xmm22 {k7} {z}, word ptr [rdx - 256]{1to16}
+// CHECK: encoding: [0x62,0xe5,0x7e,0xbf,0x1b,0x72,0x80]
+          vcvtneph2hf8s xmm22 {k7} {z}, word ptr [rdx - 256]{1to16}
+
+// CHECK: vcvtneph2hf8s ymm22, zmmword ptr [rbp + 8*r14 + 268435456]
+// CHECK: encoding: [0x62,0xa5,0x7e,0x48,0x1b,0xb4,0xf5,0x00,0x00,0x00,0x10]
+          vcvtneph2hf8s ymm22, zmmword ptr [rbp + 8*r14 + 268435456]
+
+// CHECK: vcvtneph2hf8s ymm22 {k7}, zmmword ptr [r8 + 4*rax + 291]
+// CHECK: encoding: [0x62,0xc5,0x7e,0x4f,0x1b,0xb4,0x80,0x23,0x01,0x00,0x00]
+          vcvtneph2hf8s ymm22 {k7}, zmmword ptr [r8 + 4*rax + 291]
+
+// CHECK: vcvtneph2hf8s ymm22, word ptr [rip]{1to32}
+// CHECK: encoding: [0x62,0xe5,0x7e,0x58,0x1b,0x35,0x00,0x00,0x00,0x00]
+          vcvtneph2hf8s ymm22, word ptr [rip]{1to32}
+
+// CHECK: vcvtneph2hf8s ymm22, zmmword ptr [2*rbp - 2048]
+// CHECK: encoding: [0x62,0xe5,0x7e,0x48,0x1b,0x34,0x6d,0x00,0xf8,0xff,0xff]
+          vcvtneph2hf8s ymm22, zmmword ptr [2*rbp - 2048]
+
+// CHECK: vcvtneph2hf8s ymm22 {k7} {z}, zmmword ptr [rcx + 8128]
+// CHECK: encoding: [0x62,0xe5,0x7e,0xcf,0x1b,0x71,0x7f]
+          vcvtneph2hf8s ymm22 {k7} {z}, zmmword ptr [rcx + 8128]
+
+// CHECK: vcvtneph2hf8s ymm22 {k7} {z}, word ptr [rdx - 256]{1to32}
+// CHECK: encoding: [0x62,0xe5,0x7e,0xdf,0x1b,0x72,0x80]
+          vcvtneph2hf8s ymm22 {k7} {z}, word ptr [rdx - 256]{1to32}
+
diff --git a/llvm/test/TableGen/x86-fold-tables.inc b/llvm/test/TableGen/x86-fold-tables.inc
index e85cde3140594..c2174f654de8b 100644
--- a/llvm/test/TableGen/x86-fold-tables.inc
+++ b/llvm/test/TableGen/x86-fold-tables.inc
@@ -1189,6 +1189,21 @@ static const X86FoldTableEntry Table1[] = {
   {X86::VCVTDQ2PSZ256rr, X86::VCVTDQ2PSZ256rm, 0},
   {X86::VCVTDQ2PSZrr, X86::VCVTDQ2PSZrm, 0},
   {X86::VCVTDQ2PSrr, X86::VCVTDQ2PSrm, 0},
+  {X86::VCVTHF82PHZ128rr, X86::VCVTHF82PHZ128rm, TB_NO_REVERSE},
+  {X86::VCVTHF82PHZ256rr, X86::VCVTHF82PHZ256rm, 0},
+  {X86::VCVTHF82PHZrr, X86::VCVTHF82PHZrm, 0},
+  {X86::VCVTNEPH2BF8SZ128rr, X86::VCVTNEPH2BF8SZ128rm, 0},
+  {X86::VCVTNEPH2BF8SZ256rr, X86::VCVTNEPH2BF8SZ256rm, 0},
+  {X86::VCVTNEPH2BF8SZrr, X86::VCVTNEPH2BF8SZrm, 0},
+  {X86::VCVTNEPH2BF8Z128rr, X86::VCVTNEPH2BF8Z128rm, 0},
+  {X86::VCVTNEPH2BF8Z256rr, X86::VCVTNEPH2BF8Z256rm, 0},
+  {X86::VCVTNEPH2BF8Zrr, X86::VCVTNEPH2BF8Zrm, 0},
+  {X86::VCVTNEPH2HF8SZ128rr, X86::VCVTNEPH2HF8SZ128rm, 0},
+  {X86::VCVTNEPH2HF8SZ256rr, X86::VCVTNEPH2HF8SZ256rm, 0},
+  {X86::VCVTNEPH2HF8SZrr, X86::VCVTNEPH2HF8SZrm, 0},
+  {X86::VCVTNEPH2HF8Z128rr, X86::VCVTNEPH2HF8Z128rm, 0},
+  {X86::VCVTNEPH2HF8Z256rr, X86::VCVTNEPH2HF8Z256rm, 0},
+  {X86::VCVTNEPH2HF8Zrr, X86::VCVTNEPH2HF8Zrm, 0},
   {X86::VCVTNEPS2BF16Yrr, X86::VCVTNEPS2BF16Yrm, 0},
   {X86::VCVTNEPS2BF16Z128rr, X86::VCVTNEPS2BF16Z128rm, 0},
   {X86::VCVTNEPS2BF16Z256rr, X86::VCVTNEPS2BF16Z256rm, 0},
@@ -2404,6 +2419,21 @@ static const X86FoldTableEntry Table2[] = {
   {X86::VCMPSSZrri_Int, X86::VCMPSSZrmi_Int, TB_NO_REVERSE},
   {X86::VCMPSSrri, X86::VCMPSSrmi, 0},
   {X86::VCMPSSrri_Int, X86::VCMPSSrmi_Int, TB_NO_REVERSE},
+  {X86::VCVT2PS2PHXZ128rr, X86::VCVT2PS2PHXZ128rm, 0},
+  {X86::VCVT2PS2PHXZ256rr, X86::VCVT2PS2PHXZ256rm, 0},
+  {X86::VCVT2PS2PHXZrr, X86::VCVT2PS2PHXZrm, 0},
+  {X86::VCVTBIASPH2BF8SZ128rr, X86::VCVTBIASPH2BF8SZ128rm, 0},
+  {X86::VCVTBIASPH2BF8SZ256rr, X86::VCVTBIASPH2BF8SZ256rm, 0},
+  {X86::VCVTBIASPH2BF8SZrr, X86::VCVTBIASPH2BF8SZrm, 0},
+  {X86::VCVTBIASPH2BF8Z128rr, X86::VCVTBIASPH2BF8Z128rm, 0},
+  {X86::VCVTBIASPH2BF8Z256rr, X86::VCVTBIASPH2BF8Z256rm, 0},
+  {X86::VCVTBIASPH2BF8Zrr, X86::VCVTBIASPH2BF8Zrm, 0},
+  {X86::VCVTBIASPH2HF8SZ128rr, X86::VCVTBIASPH2HF8SZ128rm, 0},
+  {X86::VCVTBIASPH2HF8SZ256rr, X86::VCVTBIASPH2HF8SZ256rm, 0},
+  {X86::VCVTBIASPH2HF8SZrr, X86::VCVTBIASPH2HF8SZrm, 0},
+  {X86::VCVTBIASPH2HF8Z128rr, X86::VCVTBIASPH2HF8Z128rm, 0},
+  {X86::VCVTBIASPH2HF8Z256rr, X86::VCVTBIASPH2HF8Z256rm, 0},
+  {X86::VCVTBIASPH2HF8Zrr, X86::VCVTBIASPH2HF8Zrm, 0},
   {X86::VCVTDQ2PDZ128rrkz, X86::VCVTDQ2PDZ128rmkz, TB_NO_REVERSE},
   {X86::VCVTDQ2PDZ256rrkz, X86::VCVTDQ2PDZ256rmkz, 0},
   {X86::VCVTDQ2PDZrrkz, X86::VCVTDQ2PDZrmkz, 0},
@@ -2413,9 +2443,36 @@ static const X86FoldTableEntry Table2[] = {
   {X86::VCVTDQ2PSZ128rrkz, X86::VCVTDQ2PSZ128rmkz, 0},
   {X86::VCVTDQ2PSZ256rrkz, X86::VCVTDQ2PSZ256rmkz, 0},
   {X86::VCVTDQ2PSZrrkz, X86::VCVTDQ2PSZrmkz, 0},
+  {X86::VCVTHF82PHZ128rrkz, X86::VCVTHF82PHZ128rmkz, TB_NO_REVERSE},
+  {X86::VCVTHF82PHZ256rrkz, X86::VCVTHF82PHZ256rmkz, 0},
+  {X86::VCVTHF82PHZrrkz, X86::VCVTHF82PHZrmkz, 0},
+  {X86::VCVTNE2PH2BF8SZ128rr, X86::VCVTNE2PH2BF8SZ128rm, 0},
+  {X86::VCVTNE2PH2BF8SZ256rr, X86::VCVTNE2PH2BF8SZ256rm, 0},
+  {X86::VCVTNE2PH2BF8SZrr, X86::VCVTNE2PH2BF8SZrm, 0},
+  {X86::VCVTNE2PH2BF8Z128rr, X86::VCVTNE2PH2BF8Z128rm, 0},
+  {X86::VCVTNE2PH2BF8Z256rr, X86::VCVTNE2PH2BF8Z256rm, 0},
+  {X86::VCVTNE2PH2BF8Zrr, X86::VCVTNE2PH2BF8Zrm, 0},
+  {X86::VCVTNE2PH2HF8SZ128rr, X86::VCVTNE2PH2HF8SZ128rm, 0},
+  {X86::VCVTNE2PH2HF8SZ256rr, X86::VCVTNE2PH2HF8SZ256rm, 0},
+  {X86::VCVTNE2PH2HF8SZrr, X86::VCVTNE2PH2HF8SZrm, 0},
+  {X86::VCVTNE2PH2HF8Z128rr, X86::VCVTNE2PH2HF8Z128rm, 0},
+  {X86::VCVTNE2PH2HF8Z256rr, X86::VCVTNE2PH2HF8Z256rm, 0},
+  {X86::VCVTNE2PH2HF8Zrr, X86::VCVTNE2PH2HF8Zrm, 0},
   {X86::VCVTNE2PS2BF16Z128rr, X86::VCVTNE2PS2BF16Z128rm, 0},
   {X86::VCVTNE2PS2BF16Z256rr, X86::VCVTNE2PS2BF16Z256rm, 0},
   {X86::VCVTNE2PS2BF16Zrr, X86::VCVTNE2PS2BF16Zrm, 0},
+  {X86::VCVTNEPH2BF8SZ128rrkz, X86::VCVTNEPH2BF8SZ128rmkz, 0},
+  {X86::VCVTNEPH2BF8SZ256rrkz, X86::VCVTNEPH2BF8SZ256rmkz, 0},
+  {X86::VCVTNEPH2BF8SZrrkz, X86::VCVTNEPH2BF8SZrmkz, 0},
+  {X86::VCVTNEPH2BF8Z128rrkz, X86::VCVTNEPH2BF8Z128rmkz, 0},
+  {X86::VCVTNEPH2BF8Z256rrkz, X86::VCVTNEPH2BF8Z256rmkz, 0},
+  {X86::VCVTNEPH2BF8Zrrkz, X86::VCVTNEPH2BF8Zrmkz, 0},
+  {X86::VCVTNEPH2HF8SZ128rrkz, X86::VCVTNEPH2HF8SZ128rmkz, 0},
+  {X86::VCVTNEPH2HF8SZ256rrkz, X86::VCVTNEPH2HF8SZ256rmkz, 0},
+  {X86::VCVTNEPH2HF8SZrrkz, X86::VCVTNEPH2HF8SZrmkz, 0},
+  {X86::VCVTNEPH2HF8Z128rrkz, X86::VCVTNEPH2HF8Z128rmkz, 0},
+  {X86::VCVTNEPH2HF8Z256rrkz, X86::VCVTNEPH2HF8Z256rmkz, 0},
+  {X86::VCVTNEPH2HF8Zrrkz, X86::VCVTNEPH2HF8Zrmkz, 0},
   {X86::VCVTNEPS2BF16Z128rrkz, X86::VCVTNEPS2BF16Z128rmkz, 0},
   {X86::VCVTNEPS2BF16Z256rrkz, X86::VCVTNEPS2BF16Z256rmkz, 0},
   {X86::VCVTNEPS2BF16Zrrkz, X86::VCVTNEPS2BF16Zrmkz, 0},
@@ -3998,6 +4055,21 @@ static const X86FoldTableEntry Table3[] = {
   {X86::VCMPSDZrri_Intk, X86::VCMPSDZrmi_Intk, TB_NO_REVERSE},
   {X86::VCMPSHZrri_Intk, X86::VCMPSHZrmi_Intk, TB_NO_REVERSE},
   {X86::VCMPSSZrri_Intk, X86::VCMPSSZrmi_Intk, TB_NO_REVERSE},
+  {X86::VCVT2PS2PHXZ128rrkz, X86::VCVT2PS2PHXZ128rmkz, 0},
+  {X86::VCVT2PS2PHXZ256rrkz, X86::VCVT2PS2PHXZ256rmkz, 0},
+  {X86::VCVT2PS2PHXZrrkz, X86::VCVT2PS2PHXZrmkz, 0},
+  {X86::VCVTBIASPH2BF8SZ128rrkz, X86::VCVTBIASPH2BF8SZ128rmkz, 0},
+  {X86::VCVTBIASPH2BF8SZ256rrkz, X86::VCVTBIASPH2BF8SZ256rmkz, 0},
+  {X86::VCVTBIASPH2BF8SZrrkz, X86::VCVTBIASPH2BF8SZrmkz, 0},
+  {X86::VCVTBIASPH2BF8Z128rrkz, X86::VCVTBIASPH2BF8Z128rmkz, 0},
+  {X86::VCVTBIASPH2BF8Z256rrkz, X86::VCVTBIASPH2BF8Z256rmkz, 0},
+  {X86::VCVTBIASPH2BF8Zrrkz, X86::VCVTBIASPH2BF8Zrmkz, 0},
+  {X86::VCVTBIASPH2HF8SZ128rrkz, X86::VCVTBIASPH2HF8SZ128rmkz, 0},
+  {X86::VCVTBIASPH2HF8SZ256rrkz, X86::VCVTBIASPH2HF8SZ256rmkz, 0},
+  {X86::VCVTBIASPH2HF8SZrrkz, X86::VCVTBIASPH2HF8SZrmkz, 0},
+  {X86::VCVTBIASPH2HF8Z128rrkz, X86::VCVTBIASPH2HF8Z128rmkz, 0},
+  {X86::VCVTBIASPH2HF8Z256rrkz, X86::VCVTBIASPH2HF8Z256rmkz, 0},
+  {X86::VCVTBIASPH2HF8Zrrkz, X86::VCVTBIASPH2HF8Zrmkz, 0},
   {X86::VCVTDQ2PDZ128rrk, X86::VCVTDQ2PDZ128rmk, TB_NO_REVERSE},
   {X86::VCVTDQ2PDZ256rrk, X86::VCVTDQ2PDZ256rmk, 0},
   {X86::VCVTDQ2PDZrrk, X86::VCVTDQ2PDZrmk, 0},
@@ -4007,9 +4079,36 @@ static const X86FoldTableEntry Table3[] = {
   {X86::VCVTDQ2PSZ128rrk, X86::VCVTDQ2PSZ128rmk, 0},
   {X86::VCVTDQ2PSZ256rrk, X86::VCVTDQ2PSZ256rmk, 0},
   {X86::VCVTDQ2PSZrrk, X86::VCVTDQ2PSZrmk, 0},
+  {X86::VCVTHF82PHZ128rrk, X86::VCVTHF82PHZ128rmk, TB_NO_REVERSE},
+  {X86::VCVTHF82PHZ256rrk, X86::VCVTHF82PHZ256rmk, 0},
+  {X86::VCVTHF82PHZrrk, X86::VCVTHF82PHZrmk, 0},
+  {X86::VCVTNE2PH2BF8SZ128rrkz, X86::VCVTNE2PH2BF8SZ128rmkz, 0},
+  {X86::VCVTNE2PH2BF8SZ256rrkz, X86::VCVTNE2PH2BF8SZ256rmkz, 0},
+  {X86::VCVTNE2PH2BF8SZrrkz, X86::VCVTNE2PH2BF8SZrmkz, 0},
+  {X86::VCVTNE2PH2BF8Z128rrkz, X86::VCVTNE2PH2BF8Z128rmkz, 0},
+  {X86::VCVTNE2PH2BF8Z256rrkz, X86::VCVTNE2PH2BF8Z256rmkz, 0},
+  {X86::VCVTNE2PH2BF8Zrrkz, X86::VCVTNE2PH2BF8Zrmkz, 0},
+  {X86::VCVTNE2PH2HF8SZ128rrkz, X86::VCVTNE2PH2HF8SZ128rmkz, 0},
+  {X86::VCVTNE2PH2HF8SZ256rrkz, X86::VCVTNE2PH2HF8SZ256rmkz, 0},
+  {X86::VCVTNE2PH2HF8SZrrkz, X86::VCVTNE2PH2HF8SZrmkz, 0},
+  {X86::VCVTNE2PH2HF8Z128rrkz, X86::VCVTNE2PH2HF8Z128rmkz, 0},
+  {X86::VCVTNE2PH2HF8Z256rrkz, X86::VCVTNE2PH2HF8Z256rmkz, 0},
+  {X86::VCVTNE2PH2HF8Zrrkz, X86::VCVTNE2PH2HF8Zrmkz, 0},
   {X86::VCVTNE2PS2BF16Z128rrkz, X86::VCVTNE2PS2BF16Z128rmkz, 0},
   {X86::VCVTNE2PS2BF16Z256rrkz, X86::VCVTNE2PS2BF16Z256rmkz, 0},
   {X86::VCVTNE2PS2BF16Zrrkz, X86::VCVTNE2PS2BF16Zrmkz, 0},
+  {X86::VCVTNEPH2BF8SZ128rrk, X86::VCVTNEPH2BF8SZ128rmk, 0},
+  {X86::VCVTNEPH2BF8SZ256rrk, X86::VCVTNEPH2BF8SZ256rmk, 0},
+  {X86::VCVTNEPH2BF8SZrrk, X86::VCVTNEPH2BF8SZrmk, 0},
+  {X86::VCVTNEPH2BF8Z128rrk, X86::VCVTNEPH2BF8Z128rmk, 0},
+  {X86::VCVTNEPH2BF8Z256rrk, X86::VCVTNEPH2BF8Z256rmk, 0},
+  {X86::VCVTNEPH2BF8Zrrk, X86::VCVTNEPH2BF8Zrmk, 0},
+  {X86::VCVTNEPH2HF8SZ128rrk, X86::VCVTNEPH2HF8SZ128rmk, 0},
+  {X86::VCVTNEPH2HF8SZ256rrk, X86::VCVTNEPH2HF8SZ256rmk, 0},
+  {X86::VCVTNEPH2HF8SZrrk, X86::VCVTNEPH2HF8SZrmk, 0},
+  {X86::VCVTNEPH2HF8Z128rrk, X86::VCVTNEPH2HF8Z128rmk, 0},
+  {X86::VCVTNEPH2HF8Z256rrk, X86::VCVTNEPH2HF8Z256rmk, 0},
+  {X86::VCVTNEPH2HF8Zrrk, X86::VCVTNEPH2HF8Zrmk, 0},
   {X86::VCVTNEPS2BF16Z128rrk, X86::VCVTNEPS2BF16Z128rmk, 0},
   {X86::VCVTNEPS2BF16Z256rrk, X86::VCVTNEPS2BF16Z256rmk, 0},
   {X86::VCVTNEPS2BF16Zrrk, X86::VCVTNEPS2BF16Zrmk, 0},
@@ -5598,6 +5697,33 @@ static const X86FoldTableEntry Table4[] = {
   {X86::VANDPSZ128rrk, X86::VANDPSZ128rmk, 0},
   {X86::VANDPSZ256rrk, X86::VANDPSZ256rmk, 0},
   {X86::VANDPSZrrk, X86::VANDPSZrmk, 0},
+  {X86::VCVT2PS2PHXZ128rrk, X86::VCVT2PS2PHXZ128rmk, 0},
+  {X86::VCVT2PS2PHXZ256rrk, X86::VCVT2PS2PHXZ256rmk, 0},
+  {X86::VCVT2PS2PHXZrrk, X86::VCVT2PS2PHXZrmk, 0},
+  {X86::VCVTBIASPH2BF8SZ128rrk, X86::VCVTBIASPH2BF8SZ128rmk, 0},
+  {X86::VCVTBIASPH2BF8SZ256rrk, X86::VCVTBIASPH2BF8SZ256rmk, 0},
+  {X86::VCVTBIASPH2BF8SZrrk, X86::VCVTBIASPH2BF8SZrmk, 0},
+  {X86::VCVTBIASPH2BF8Z128rrk, X86::VCVTBIASPH2BF8Z128rmk, 0},
+  {X86::VCVTBIASPH2BF8Z256rrk, X86::VCVTBIASPH2BF8Z256rmk, 0},
+  {X86::VCVTBIASPH2BF8Zrrk, X86::VCVTBIASPH2BF8Zrmk, 0},
+  {X86::VCVTBIASPH2HF8SZ128rrk, X86::VCVTBIASPH2HF8SZ128rmk, 0},
+  {X86::VCVTBIASPH2HF8SZ256rrk, X86::VCVTBIASPH2HF8SZ256rmk, 0},
+  {X86::VCVTBIASPH2HF8SZrrk, X86::VCVTBIASPH2HF8SZrmk, 0},
+  {X86::VCVTBIASPH2HF8Z128rrk, X86::VCVTBIASPH2HF8Z128rmk, 0},
+  {X86::VCVTBIASPH2HF8Z256rrk, X86::VCVTBIASPH2HF8Z256rmk, 0},
+  {X86::VCVTBIASPH2HF8Zrrk, X86::VCVTBIASPH2HF8Zrmk, 0},
+  {X86::VCVTNE2PH2BF8SZ128rrk, X86::VCVTNE2PH2BF8SZ128rmk, 0},
+  {X86::VCVTNE2PH2BF8SZ256rrk, X86::VCVTNE2PH2BF8SZ256rmk, 0},
+  {X86::VCVTNE2PH2BF8SZrrk, X86::VCVTNE2PH2BF8SZrmk, 0},
+  {X86::VCVTNE2PH2BF8Z128rrk, X86::VCVTNE2PH2BF8Z128rmk, 0},
+  {X86::VCVTNE2PH2BF8Z256rrk, X86::VCVTNE2PH2BF8Z256rmk, 0},
+  {X86::VCVTNE2PH2BF8Zrrk, X86::VCVTNE2PH2BF8Zrmk, 0},
+  {X86::VCVTNE2PH2HF8SZ128rrk, X86::VCVTNE2PH2HF8SZ128rmk, 0},
+  {X86::VCVTNE2PH2HF8SZ256rrk, X86::VCVTNE2PH2HF8SZ256rmk, 0},
+  {X86::VCVTNE2PH2HF8SZrrk, X86::VCVTNE2PH2HF8SZrmk, 0},
+  {X86::VCVTNE2PH2HF8Z128rrk, X86::VCVTNE2PH2HF8Z128rmk, 0},
+  {X86::VCVTNE2PH2HF8Z256rrk, X86::VCVTNE2PH2HF8Z256rmk, 0},
+  {X86::VCVTNE2PH2HF8Zrrk, X86::VCVTNE2PH2HF8Zrmk, 0},
   {X86::VCVTNE2PS2BF16Z128rrk, X86::VCVTNE2PS2BF16Z128rmk, 0},
   {X86::VCVTNE2PS2BF16Z256rrk, X86::VCVTNE2PS2BF16Z256rmk, 0},
   {X86::VCVTNE2PS2BF16Zrrk, X86::VCVTNE2PS2BF16Zrmk, 0},
@@ -6725,6 +6851,18 @@ static const X86FoldTableEntry BroadcastTable1[] = {
   {X86::VCVTDQ2PSZ128rr, X86::VCVTDQ2PSZ128rmb, TB_BCAST_D},
   {X86::VCVTDQ2PSZ256rr, X86::VCVTDQ2PSZ256rmb, TB_BCAST_D},
   {X86::VCVTDQ2PSZrr, X86::VCVTDQ2PSZrmb, TB_BCAST_D},
+  {X86::VCVTNEPH2BF8SZ128rr, X86::VCVTNEPH2BF8SZ128rmb, TB_BCAST_SH},
+  {X86::VCVTNEPH2BF8SZ256rr, X86::VCVTNEPH2BF8SZ256rmb, TB_BCAST_SH},
+  {X86::VCVTNEPH2BF8SZrr, X86::VCVTNEPH2BF8SZrmb, TB_BCAST_SH},
+  {X86::VCVTNEPH2BF8Z128rr, X86::VCVTNEPH2BF8Z128rmb, TB_BCAST_SH},
+  {X86::VCVTNEPH2BF8Z256rr, X86::VCVTNEPH2BF8Z256rmb, TB_BCAST_SH},
+  {X86::VCVTNEPH2BF8Zrr, X86::VCVTNEPH2BF8Zrmb, TB_BCAST_SH},
+  {X86::VCVTNEPH2HF8SZ128rr, X86::VCVTNEPH2HF8SZ128rmb, TB_BCAST_SH},
+  {X86::VCVTNEPH2HF8SZ256rr, X86::VCVTNEPH2HF8SZ256rmb, TB_BCAST_SH},
+  {X86::VCVTNEPH2HF8SZrr, X86::VCVTNEPH2HF8SZrmb, TB_BCAST_SH},
+  {X86::VCVTNEPH2HF8Z128rr, X86::VCVTNEPH2HF8Z128rmb, TB_BCAST_SH},
+  {X86::VCVTNEPH2HF8Z256rr, X86::VCVTNEPH2HF8Z256rmb, TB_BCAST_SH},
+  {X86::VCVTNEPH2HF8Zrr, X86::VCVTNEPH2HF8Zrmb, TB_BCAST_SH},
   {X86::VCVTNEPS2BF16Z128rr, X86::VCVTNEPS2BF16Z128rmb, TB_BCAST_SS},
   {X86::VCVTNEPS2BF16Z256rr, X86::VCVTNEPS2BF16Z256rmb, TB_BCAST_SS},
   {X86::VCVTNEPS2BF16Zrr, X86::VCVTNEPS2BF16Zrmb, TB_BCAST_SS},
@@ -7053,6 +7191,21 @@ static const X86FoldTableEntry BroadcastTable2[] = {
   {X86::VCMPPSZ128rri, X86::VCMPPSZ128rmbi, TB_BCAST_SS},
   {X86::VCMPPSZ256rri, X86::VCMPPSZ256rmbi, TB_BCAST_SS},
   {X86::VCMPPSZrri, X86::VCMPPSZrmbi, TB_BCAST_SS},
+  {X86::VCVT2PS2PHXZ128rr, X86::VCVT2PS2PHXZ128rmb, TB_BCAST_SS},
+  {X86::VCVT2PS2PHXZ256rr, X86::VCVT2PS2PHXZ256rmb, TB_BCAST_SS},
+  {X86::VCVT2PS2PHXZrr, X86::VCVT2PS2PHXZrmb, TB_BCAST_SS},
+  {X86::VCVTBIASPH2BF8SZ128rr, X86::VCVTBIASPH2BF8SZ128rmb, TB_BCAST_SH},
+  {X86::VCVTBIASPH2BF8SZ256rr, X86::VCVTBIASPH2BF8SZ256rmb, TB_BCAST_SH},
+  {X86::VCVTBIASPH2BF8SZrr, X86::VCVTBIASPH2BF8SZrmb, TB_BCAST_SH},
+  {X86::VCVTBIASPH2BF8Z128rr, X86::VCVTBIASPH2BF8Z128rmb, TB_BCAST_SH},
+  {X86::VCVTBIASPH2BF8Z256rr, X86::VCVTBIASPH2BF8Z256rmb, TB_BCAST_SH},
+  {X86::VCVTBIASPH2BF8Zrr, X86::VCVTBIASPH2BF8Zrmb, TB_BCAST_SH},
+  {X86::VCVTBIASPH2HF8SZ128rr, X86::VCVTBIASPH2HF8SZ128rmb, TB_BCAST_SH},
+  {X86::VCVTBIASPH2HF8SZ256rr, X86::VCVTBIASPH2HF8SZ256rmb, TB_BCAST_SH},
+  {X86::VCVTBIASPH2HF8SZrr, X86::VCVTBIASPH2HF8SZrmb, TB_BCAST_SH},
+  {X86::VCVTBIASPH2HF8Z128rr, X86::VCVTBIASPH2HF8Z128rmb, TB_BCAST_SH},
+  {X86::VCVTBIASPH2HF8Z256rr, X86::VCVTBIASPH2HF8Z256rmb, TB_BCAST_SH},
+  {X86::VCVTBIASPH2HF8Zrr, X86::VCVTBIASPH2HF8Zrmb, TB_BCAST_SH},
   {X86::VCVTDQ2PDZ128rrkz, X86::VCVTDQ2PDZ128rmbkz, TB_BCAST_D},
   {X86::VCVTDQ2PDZ256rrkz, X86::VCVTDQ2PDZ256rmbkz, TB_BCAST_D},
   {X86::VCVTDQ2PDZrrkz, X86::VCVTDQ2PDZrmbkz, TB_BCAST_D},
@@ -7062,9 +7215,33 @@ static const X86FoldTableEntry BroadcastTable2[] = {
   {X86::VCVTDQ2PSZ128rrkz, X86::VCVTDQ2PSZ128rmbkz, TB_BCAST_D},
   {X86::VCVTDQ2PSZ256rrkz, X86::VCVTDQ2PSZ256rmbkz, TB_BCAST_D},
   {X86::VCVTDQ2PSZrrkz, X86::VCVTDQ2PSZrmbkz, TB_BCAST_D},
+  {X86::VCVTNE2PH2BF8SZ128rr, X86::VCVTNE2PH2BF8SZ128rmb, TB_BCAST_SH},
+  {X86::VCVTNE2PH2BF8SZ256rr, X86::VCVTNE2PH2BF8SZ256rmb, TB_BCAST_SH},
+  {X86::VCVTNE2PH2BF8SZrr, X86::VCVTNE2PH2BF8SZrmb, TB_BCAST_SH},
+  {X86::VCVTNE2PH2BF8Z128rr, X86::VCVTNE2PH2BF8Z128rmb, TB_BCAST_SH},
+  {X86::VCVTNE2PH2BF8Z256rr, X86::VCVTNE2PH2BF8Z256rmb, TB_BCAST_SH},
+  {X86::VCVTNE2PH2BF8Zrr, X86::VCVTNE2PH2BF8Zrmb, TB_BCAST_SH},
+  {X86::VCVTNE2PH2HF8SZ128rr, X86::VCVTNE2PH2HF8SZ128rmb, TB_BCAST_SH},
+  {X86::VCVTNE2PH2HF8SZ256rr, X86::VCVTNE2PH2HF8SZ256rmb, TB_BCAST_SH},
+  {X86::VCVTNE2PH2HF8SZrr, X86::VCVTNE2PH2HF8SZrmb, TB_BCAST_SH},
+  {X86::VCVTNE2PH2HF8Z128rr, X86::VCVTNE2PH2HF8Z128rmb, TB_BCAST_SH},
+  {X86::VCVTNE2PH2HF8Z256rr, X86::VCVTNE2PH2HF8Z256rmb, TB_BCAST_SH},
+  {X86::VCVTNE2PH2HF8Zrr, X86::VCVTNE2PH2HF8Zrmb, TB_BCAST_SH},
   {X86::VCVTNE2PS2BF16Z128rr, X86::VCVTNE2PS2BF16Z128rmb, TB_BCAST_SS},
   {X86::VCVTNE2PS2BF16Z256rr, X86::VCVTNE2PS2BF16Z256rmb, TB_BCAST_SS},
   {X86::VCVTNE2PS2BF16Zrr, X86::VCVTNE2PS2BF16Zrmb, TB_BCAST_SS},
+  {X86::VCVTNEPH2BF8SZ128rrkz, X86::VCVTNEPH2BF8SZ128rmbkz, TB_BCAST_SH},
+  {X86::VCVTNEPH2BF8SZ256rrkz, X86::VCVTNEPH2BF8SZ256rmbkz, TB_BCAST_SH},
+  {X86::VCVTNEPH2BF8SZrrkz, X86::VCVTNEPH2BF8SZrmbkz, TB_BCAST_SH},
+  {X86::VCVTNEPH2BF8Z128rrkz, X86::VCVTNEPH2BF8Z128rmbkz, TB_BCAST_SH},
+  {X86::VCVTNEPH2BF8Z256rrkz, X86::VCVTNEPH2BF8Z256rmbkz, TB_BCAST_SH},
+  {X86::VCVTNEPH2BF8Zrrkz, X86::VCVTNEPH2BF8Zrmbkz, TB_BCAST_SH},
+  {X86::VCVTNEPH2HF8SZ128rrkz, X86::VCVTNEPH2HF8SZ128rmbkz, TB_BCAST_SH},
+  {X86::VCVTNEPH2HF8SZ256rrkz, X86::VCVTNEPH2HF8SZ256rmbkz, TB_BCAST_SH},
+  {X86::VCVTNEPH2HF8SZrrkz, X86::VCVTNEPH2HF8SZrmbkz, TB_BCAST_SH},
+  {X86::VCVTNEPH2HF8Z128rrkz, X86::VCVTNEPH2HF8Z128rmbkz, TB_BCAST_SH},
+  {X86::VCVTNEPH2HF8Z256rrkz, X86::VCVTNEPH2HF8Z256rmbkz, TB_BCAST_SH},
+  {X86::VCVTNEPH2HF8Zrrkz, X86::VCVTNEPH2HF8Zrmbkz, TB_BCAST_SH},
   {X86::VCVTNEPS2BF16Z128rrkz, X86::VCVTNEPS2BF16Z128rmbkz, TB_BCAST_SS},
   {X86::VCVTNEPS2BF16Z256rrkz, X86::VCVTNEPS2BF16Z256rmbkz, TB_BCAST_SS},
   {X86::VCVTNEPS2BF16Zrrkz, X86::VCVTNEPS2BF16Zrmbkz, TB_BCAST_SS},
@@ -7730,6 +7907,21 @@ static const X86FoldTableEntry BroadcastTable3[] = {
   {X86::VCMPPSZ128rrik, X86::VCMPPSZ128rmbik, TB_BCAST_SS},
   {X86::VCMPPSZ256rrik, X86::VCMPPSZ256rmbik, TB_BCAST_SS},
   {X86::VCMPPSZrrik, X86::VCMPPSZrmbik, TB_BCAST_SS},
+  {X86::VCVT2PS2PHXZ128rrkz, X86::VCVT2PS2PHXZ128rmbkz, TB_BCAST_SS},
+  {X86::VCVT2PS2PHXZ256rrkz, X86::VCVT2PS2PHXZ256rmbkz, TB_BCAST_SS},
+  {X86::VCVT2PS2PHXZrrkz, X86::VCVT2PS2PHXZrmbkz, TB_BCAST_SS},
+  {X86::VCVTBIASPH2BF8SZ128rrkz, X86::VCVTBIASPH2BF8SZ128rmbkz, TB_BCAST_SH},
+  {X86::VCVTBIASPH2BF8SZ256rrkz, X86::VCVTBIASPH2BF8SZ256rmbkz, TB_BCAST_SH},
+  {X86::VCVTBIASPH2BF8SZrrkz, X86::VCVTBIASPH2BF8SZrmbkz, TB_BCAST_SH},
+  {X86::VCVTBIASPH2BF8Z128rrkz, X86::VCVTBIASPH2BF8Z128rmbkz, TB_BCAST_SH},
+  {X86::VCVTBIASPH2BF8Z256rrkz, X86::VCVTBIASPH2BF8Z256rmbkz, TB_BCAST_SH},
+  {X86::VCVTBIASPH2BF8Zrrkz, X86::VCVTBIASPH2BF8Zrmbkz, TB_BCAST_SH},
+  {X86::VCVTBIASPH2HF8SZ128rrkz, X86::VCVTBIASPH2HF8SZ128rmbkz, TB_BCAST_SH},
+  {X86::VCVTBIASPH2HF8SZ256rrkz, X86::VCVTBIASPH2HF8SZ256rmbkz, TB_BCAST_SH},
+  {X86::VCVTBIASPH2HF8SZrrkz, X86::VCVTBIASPH2HF8SZrmbkz, TB_BCAST_SH},
+  {X86::VCVTBIASPH2HF8Z128rrkz, X86::VCVTBIASPH2HF8Z128rmbkz, TB_BCAST_SH},
+  {X86::VCVTBIASPH2HF8Z256rrkz, X86::VCVTBIASPH2HF8Z256rmbkz, TB_BCAST_SH},
+  {X86::VCVTBIASPH2HF8Zrrkz, X86::VCVTBIASPH2HF8Zrmbkz, TB_BCAST_SH},
   {X86::VCVTDQ2PDZ128rrk, X86::VCVTDQ2PDZ128rmbk, TB_BCAST_D},
   {X86::VCVTDQ2PDZ256rrk, X86::VCVTDQ2PDZ256rmbk, TB_BCAST_D},
   {X86::VCVTDQ2PDZrrk, X86::VCVTDQ2PDZrmbk, TB_BCAST_D},
@@ -7739,9 +7931,33 @@ static const X86FoldTableEntry BroadcastTable3[] = {
   {X86::VCVTDQ2PSZ128rrk, X86::VCVTDQ2PSZ128rmbk, TB_BCAST_D},
   {X86::VCVTDQ2PSZ256rrk, X86::VCVTDQ2PSZ256rmbk, TB_BCAST_D},
   {X86::VCVTDQ2PSZrrk, X86::VCVTDQ2PSZrmbk, TB_BCAST_D},
+  {X86::VCVTNE2PH2BF8SZ128rrkz, X86::VCVTNE2PH2BF8SZ128rmbkz, TB_BCAST_SH},
+  {X86::VCVTNE2PH2BF8SZ256rrkz, X86::VCVTNE2PH2BF8SZ256rmbkz, TB_BCAST_SH},
+  {X86::VCVTNE2PH2BF8SZrrkz, X86::VCVTNE2PH2BF8SZrmbkz, TB_BCAST_SH},
+  {X86::VCVTNE2PH2BF8Z128rrkz, X86::VCVTNE2PH2BF8Z128rmbkz, TB_BCAST_SH},
+  {X86::VCVTNE2PH2BF8Z256rrkz, X86::VCVTNE2PH2BF8Z256rmbkz, TB_BCAST_SH},
+  {X86::VCVTNE2PH2BF8Zrrkz, X86::VCVTNE2PH2BF8Zrmbkz, TB_BCAST_SH},
+  {X86::VCVTNE2PH2HF8SZ128rrkz, X86::VCVTNE2PH2HF8SZ128rmbkz, TB_BCAST_SH},
+  {X86::VCVTNE2PH2HF8SZ256rrkz, X86::VCVTNE2PH2HF8SZ256rmbkz, TB_BCAST_SH},
+  {X86::VCVTNE2PH2HF8SZrrkz, X86::VCVTNE2PH2HF8SZrmbkz, TB_BCAST_SH},
+  {X86::VCVTNE2PH2HF8Z128rrkz, X86::VCVTNE2PH2HF8Z128rmbkz, TB_BCAST_SH},
+  {X86::VCVTNE2PH2HF8Z256rrkz, X86::VCVTNE2PH2HF8Z256rmbkz, TB_BCAST_SH},
+  {X86::VCVTNE2PH2HF8Zrrkz, X86::VCVTNE2PH2HF8Zrmbkz, TB_BCAST_SH},
   {X86::VCVTNE2PS2BF16Z128rrkz, X86::VCVTNE2PS2BF16Z128rmbkz, TB_BCAST_SS},
   {X86::VCVTNE2PS2BF16Z256rrkz, X86::VCVTNE2PS2BF16Z256rmbkz, TB_BCAST_SS},
   {X86::VCVTNE2PS2BF16Zrrkz, X86::VCVTNE2PS2BF16Zrmbkz, TB_BCAST_SS},
+  {X86::VCVTNEPH2BF8SZ128rrk, X86::VCVTNEPH2BF8SZ128rmbk, TB_BCAST_SH},
+  {X86::VCVTNEPH2BF8SZ256rrk, X86::VCVTNEPH2BF8SZ256rmbk, TB_BCAST_SH},
+  {X86::VCVTNEPH2BF8SZrrk, X86::VCVTNEPH2BF8SZrmbk, TB_BCAST_SH},
+  {X86::VCVTNEPH2BF8Z128rrk, X86::VCVTNEPH2BF8Z128rmbk, TB_BCAST_SH},
+  {X86::VCVTNEPH2BF8Z256rrk, X86::VCVTNEPH2BF8Z256rmbk, TB_BCAST_SH},
+  {X86::VCVTNEPH2BF8Zrrk, X86::VCVTNEPH2BF8Zrmbk, TB_BCAST_SH},
+  {X86::VCVTNEPH2HF8SZ128rrk, X86::VCVTNEPH2HF8SZ128rmbk, TB_BCAST_SH},
+  {X86::VCVTNEPH2HF8SZ256rrk, X86::VCVTNEPH2HF8SZ256rmbk, TB_BCAST_SH},
+  {X86::VCVTNEPH2HF8SZrrk, X86::VCVTNEPH2HF8SZrmbk, TB_BCAST_SH},
+  {X86::VCVTNEPH2HF8Z128rrk, X86::VCVTNEPH2HF8Z128rmbk, TB_BCAST_SH},
+  {X86::VCVTNEPH2HF8Z256rrk, X86::VCVTNEPH2HF8Z256rmbk, TB_BCAST_SH},
+  {X86::VCVTNEPH2HF8Zrrk, X86::VCVTNEPH2HF8Zrmbk, TB_BCAST_SH},
   {X86::VCVTNEPS2BF16Z128rrk, X86::VCVTNEPS2BF16Z128rmbk, TB_BCAST_SS},
   {X86::VCVTNEPS2BF16Z256rrk, X86::VCVTNEPS2BF16Z256rmbk, TB_BCAST_SS},
   {X86::VCVTNEPS2BF16Zrrk, X86::VCVTNEPS2BF16Zrmbk, TB_BCAST_SS},
@@ -8614,6 +8830,33 @@ static const X86FoldTableEntry BroadcastTable4[] = {
   {X86::VANDPSZ128rrk, X86::VANDPSZ128rmbk, TB_BCAST_SS},
   {X86::VANDPSZ256rrk, X86::VANDPSZ256rmbk, TB_BCAST_SS},
   {X86::VANDPSZrrk, X86::VANDPSZrmbk, TB_BCAST_SS},
+  {X86::VCVT2PS2PHXZ128rrk, X86::VCVT2PS2PHXZ128rmbk, TB_BCAST_SS},
+  {X86::VCVT2PS2PHXZ256rrk, X86::VCVT2PS2PHXZ256rmbk, TB_BCAST_SS},
+  {X86::VCVT2PS2PHXZrrk, X86::VCVT2PS2PHXZrmbk, TB_BCAST_SS},
+  {X86::VCVTBIASPH2BF8SZ128rrk, X86::VCVTBIASPH2BF8SZ128rmbk, TB_BCAST_SH},
+  {X86::VCVTBIASPH2BF8SZ256rrk, X86::VCVTBIASPH2BF8SZ256rmbk, TB_BCAST_SH},
+  {X86::VCVTBIASPH2BF8SZrrk, X86::VCVTBIASPH2BF8SZrmbk, TB_BCAST_SH},
+  {X86::VCVTBIASPH2BF8Z128rrk, X86::VCVTBIASPH2BF8Z128rmbk, TB_BCAST_SH},
+  {X86::VCVTBIASPH2BF8Z256rrk, X86::VCVTBIASPH2BF8Z256rmbk, TB_BCAST_SH},
+  {X86::VCVTBIASPH2BF8Zrrk, X86::VCVTBIASPH2BF8Zrmbk, TB_BCAST_SH},
+  {X86::VCVTBIASPH2HF8SZ128rrk, X86::VCVTBIASPH2HF8SZ128rmbk, TB_BCAST_SH},
+  {X86::VCVTBIASPH2HF8SZ256rrk, X86::VCVTBIASPH2HF8SZ256rmbk, TB_BCAST_SH},
+  {X86::VCVTBIASPH2HF8SZrrk, X86::VCVTBIASPH2HF8SZrmbk, TB_BCAST_SH},
+  {X86::VCVTBIASPH2HF8Z128rrk, X86::VCVTBIASPH2HF8Z128rmbk, TB_BCAST_SH},
+  {X86::VCVTBIASPH2HF8Z256rrk, X86::VCVTBIASPH2HF8Z256rmbk, TB_BCAST_SH},
+  {X86::VCVTBIASPH2HF8Zrrk, X86::VCVTBIASPH2HF8Zrmbk, TB_BCAST_SH},
+  {X86::VCVTNE2PH2BF8SZ128rrk, X86::VCVTNE2PH2BF8SZ128rmbk, TB_BCAST_SH},
+  {X86::VCVTNE2PH2BF8SZ256rrk, X86::VCVTNE2PH2BF8SZ256rmbk, TB_BCAST_SH},
+  {X86::VCVTNE2PH2BF8SZrrk, X86::VCVTNE2PH2BF8SZrmbk, TB_BCAST_SH},
+  {X86::VCVTNE2PH2BF8Z128rrk, X86::VCVTNE2PH2BF8Z128rmbk, TB_BCAST_SH},
+  {X86::VCVTNE2PH2BF8Z256rrk, X86::VCVTNE2PH2BF8Z256rmbk, TB_BCAST_SH},
+  {X86::VCVTNE2PH2BF8Zrrk, X86::VCVTNE2PH2BF8Zrmbk, TB_BCAST_SH},
+  {X86::VCVTNE2PH2HF8SZ128rrk, X86::VCVTNE2PH2HF8SZ128rmbk, TB_BCAST_SH},
+  {X86::VCVTNE2PH2HF8SZ256rrk, X86::VCVTNE2PH2HF8SZ256rmbk, TB_BCAST_SH},
+  {X86::VCVTNE2PH2HF8SZrrk, X86::VCVTNE2PH2HF8SZrmbk, TB_BCAST_SH},
+  {X86::VCVTNE2PH2HF8Z128rrk, X86::VCVTNE2PH2HF8Z128rmbk, TB_BCAST_SH},
+  {X86::VCVTNE2PH2HF8Z256rrk, X86::VCVTNE2PH2HF8Z256rmbk, TB_BCAST_SH},
+  {X86::VCVTNE2PH2HF8Zrrk, X86::VCVTNE2PH2HF8Zrmbk, TB_BCAST_SH},
   {X86::VCVTNE2PS2BF16Z128rrk, X86::VCVTNE2PS2BF16Z128rmbk, TB_BCAST_SS},
   {X86::VCVTNE2PS2BF16Z256rrk, X86::VCVTNE2PS2BF16Z256rmbk, TB_BCAST_SS},
   {X86::VCVTNE2PS2BF16Zrrk, X86::VCVTNE2PS2BF16Zrmbk, TB_BCAST_SS},

>From 392969a9cf3f29f78a288b70397ec47b3b7a696f Mon Sep 17 00:00:00 2001
From: Freddy Ye <freddy.ye at intel.com>
Date: Tue, 6 Aug 2024 14:53:41 +0800
Subject: [PATCH 2/2] refine.

---
 clang/lib/Headers/avx10_2convertintrin.h     |   2 +-
 llvm/lib/Target/X86/X86InstrAVX10.td         | 204 ++++++++++---------
 llvm/lib/Target/X86/X86InstrFragmentsSIMD.td |  54 +++--
 3 files changed, 131 insertions(+), 129 deletions(-)

diff --git a/clang/lib/Headers/avx10_2convertintrin.h b/clang/lib/Headers/avx10_2convertintrin.h
index 9d7b6008cb6af..792b3b9c3b4ea 100644
--- a/clang/lib/Headers/avx10_2convertintrin.h
+++ b/clang/lib/Headers/avx10_2convertintrin.h
@@ -1,4 +1,4 @@
-/*===---------- avx10_2convertintrin.h - AVX512NECONVERTFP8 ----------===
+/*===--------------- avx10_2convertintrin.h - AVX10_2CONVERT ---------------===
  *
  * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  * See https://llvm.org/LICENSE.txt for license information.
diff --git a/llvm/lib/Target/X86/X86InstrAVX10.td b/llvm/lib/Target/X86/X86InstrAVX10.td
index c4f41fa574cf6..18d75270af489 100644
--- a/llvm/lib/Target/X86/X86InstrAVX10.td
+++ b/llvm/lib/Target/X86/X86InstrAVX10.td
@@ -423,15 +423,15 @@ defm VMINMAXSS : avx10_minmax_scalar<"vminmaxss", v4f32x_info, X86vminmaxs, X86v
 //-------------------------------------------------
 
 multiclass avx10_cvt2ps2ph_rc<bits<8> opc, string OpcodeStr, X86FoldableSchedWrite sched,
-                                  X86VectorVTInfo _Src, X86VectorVTInfo _,
-                                  SDNode OpNodeRnd> {
+                              X86VectorVTInfo _Src, X86VectorVTInfo _,
+                              SDNode OpNodeRnd> {
   let Uses = [MXCSR] in
     defm rrb : AVX512_maskable<opc, MRMSrcReg, _, (outs _.RC:$dst),
-                            (ins _Src.RC:$src1, _Src.RC:$src2, AVX512RC:$rc), OpcodeStr,
-                            "$rc, $src2, $src1", "$src1, $src2, $rc",
-                            (_.VT (OpNodeRnd (_Src.VT _Src.RC:$src1),
-                                             (_Src.VT _Src.RC:$src2), (i32 timm:$rc)))>,
-                            EVEX, VVVV, EVEX_B, EVEX_RC, PD, Sched<[sched]>;
+                               (ins _Src.RC:$src1, _Src.RC:$src2, AVX512RC:$rc), OpcodeStr,
+                               "$rc, $src2, $src1", "$src1, $src2, $rc",
+                               (_.VT (OpNodeRnd (_Src.VT _Src.RC:$src1),
+                                                (_Src.VT _Src.RC:$src2), (i32 timm:$rc)))>,
+                              EVEX, VVVV, EVEX_B, EVEX_RC, PD, Sched<[sched]>;
 }
 
 multiclass avx10_cvt2ps2ph<bits<8> opc, string OpcodeStr,
@@ -441,47 +441,47 @@ multiclass avx10_cvt2ps2ph<bits<8> opc, string OpcodeStr,
                              SDNode OpNode, SDNode OpNodeRnd> {
   let Predicates = [HasAVX10_2_512], Uses = [MXCSR] in {
     defm Z : avx512_binop_rm2<opc, OpcodeStr, sched.ZMM, OpNode,
-                                   _SrcVTInfo.info512, _DstVTInfo.info512,
-                                   _SrcVTInfo.info512>,
+                              _SrcVTInfo.info512, _DstVTInfo.info512,
+                              _SrcVTInfo.info512>,
              avx10_cvt2ps2ph_rc<opc, OpcodeStr, sched.ZMM,
-                                 _SrcVTInfo.info512, _DstVTInfo.info512,
-                                 OpNodeRnd>,
-                                 EVEX_V512, EVEX_CD8<32, CD8VF>;
+                                _SrcVTInfo.info512, _DstVTInfo.info512,
+                                OpNodeRnd>,
+             EVEX_V512, EVEX_CD8<32, CD8VF>;
   }
   let Predicates = [HasAVX10_2] in {
     defm Z256 : avx512_binop_rm2<opc, OpcodeStr, sched.YMM, OpNode,
-                                      _SrcVTInfo.info256, _DstVTInfo.info256,
-                                      _SrcVTInfo.info256>,
-                                      EVEX_V256, EVEX_CD8<32, CD8VF>;
+                                 _SrcVTInfo.info256, _DstVTInfo.info256,
+                                 _SrcVTInfo.info256>,
+                                EVEX_V256, EVEX_CD8<32, CD8VF>;
     defm Z128 : avx512_binop_rm2<opc, OpcodeStr, sched.XMM, OpNode,
-                                      _SrcVTInfo.info128, _DstVTInfo.info128,
-                                      _SrcVTInfo.info128>,
-                                      EVEX_V128, EVEX_CD8<32, CD8VF>;
+                                 _SrcVTInfo.info128, _DstVTInfo.info128,
+                                 _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>;
+                                   _SrcVTInfo.info256, _DstVTInfo.info256,
+                                   OpNodeRnd>;
   }
 }
 
 defm VCVT2PS2PHX : avx10_cvt2ps2ph<0x67, "vcvt2ps2phx",
-                                    SchedWriteCvtPD2PS,
-                                    avx512vl_f32_info, avx512vl_f16_info,
-                                    X86vcvt2ps2phx, X86vcvt2ps2phxRnd>, T8;
+                                   SchedWriteCvtPD2PS,
+                                   avx512vl_f32_info, avx512vl_f16_info,
+                                   X86vcvt2ps2phx, X86vcvt2ps2phxRnd>, T8;
 
 multiclass avx10_binop_all<bits<8> opc, string OpcodeStr,
-                             X86SchedWriteWidths sched,
-                             AVX512VLVectorVTInfo _SrcVTInfo,
-                             AVX512VLVectorVTInfo _DstVTInfo,
-                             SDNode OpNode,
-                             bit IsCommutable = 0> {
+                           X86SchedWriteWidths sched,
+                           AVX512VLVectorVTInfo _SrcVTInfo,
+                           AVX512VLVectorVTInfo _DstVTInfo,
+                           SDNode OpNode,
+                           bit IsCommutable = 0> {
   let Predicates = [HasAVX10_2_512] in
     defm NAME#Z : avx512_binop_rm2<opc, OpcodeStr, sched.ZMM, OpNode,
                                    _SrcVTInfo.info512, _DstVTInfo.info512,
                                    _SrcVTInfo.info512, IsCommutable>,
-                                   EVEX_V512;
+                                  EVEX_V512;
   let Predicates = [HasAVX10_2] in {
     defm NAME#Z256 : avx512_binop_rm2<opc, OpcodeStr, sched.YMM, OpNode,
                                       _SrcVTInfo.info256, _DstVTInfo.info256,
@@ -490,26 +490,26 @@ multiclass avx10_binop_all<bits<8> opc, string OpcodeStr,
     defm NAME#Z128 : avx512_binop_rm2<opc, OpcodeStr, sched.XMM, OpNode,
                                       _SrcVTInfo.info128, _DstVTInfo.info128,
                                       _SrcVTInfo.info128, IsCommutable>,
-                                      EVEX_V128;
+                                     EVEX_V128;
   }
 }
 
-defm VCVTNE2PH2BF8 : avx10_binop_all<0x74, "vcvtne2ph2bf8",
-                       SchedWriteCvtPD2PS,
-                       avx512vl_f16_info, avx512vl_i8_info, X86vcvtne2ph2bf8,
-                       0>, EVEX_CD8<16, CD8VF>, T8, XD;
-defm VCVTNE2PH2BF8S : avx10_binop_all<0x74, "vcvtne2ph2bf8s",
-                       SchedWriteCvtPD2PS,
-                       avx512vl_f16_info, avx512vl_i8_info, X86vcvtne2ph2bf8s,
-                       0>, EVEX_CD8<16, CD8VF>, T_MAP5, XD;
-defm VCVTNE2PH2HF8 : avx10_binop_all<0x18, "vcvtne2ph2hf8",
-                       SchedWriteCvtPD2PS,
-                       avx512vl_f16_info, avx512vl_i8_info, X86vcvtne2ph2hf8,
-                       0>, EVEX_CD8<16, CD8VF>, T_MAP5, XD;
-defm VCVTNE2PH2HF8S : avx10_binop_all<0x1b, "vcvtne2ph2hf8s",
-                       SchedWriteCvtPD2PS,
-                       avx512vl_f16_info, avx512vl_i8_info, X86vcvtne2ph2hf8s,
-                       0>, EVEX_CD8<16, CD8VF>, T_MAP5, XD;
+defm VCVTNE2PH2BF8 : avx10_binop_all<0x74, "vcvtne2ph2bf8", SchedWriteCvtPD2PS,
+                                     avx512vl_f16_info, avx512vl_i8_info,
+                                     X86vcvtne2ph2bf8, 0>,
+                                    EVEX_CD8<16, CD8VF>, T8, XD;
+defm VCVTNE2PH2BF8S : avx10_binop_all<0x74, "vcvtne2ph2bf8s", SchedWriteCvtPD2PS,
+                                      avx512vl_f16_info, avx512vl_i8_info,
+                                      X86vcvtne2ph2bf8s, 0>,
+                                     EVEX_CD8<16, CD8VF>, T_MAP5, XD;
+defm VCVTNE2PH2HF8 : avx10_binop_all<0x18, "vcvtne2ph2hf8", SchedWriteCvtPD2PS,
+                                     avx512vl_f16_info, avx512vl_i8_info,
+                                     X86vcvtne2ph2hf8, 0>,
+                                    EVEX_CD8<16, CD8VF>, T_MAP5, XD;
+defm VCVTNE2PH2HF8S : avx10_binop_all<0x1b, "vcvtne2ph2hf8s", SchedWriteCvtPD2PS,
+                                      avx512vl_f16_info, avx512vl_i8_info,
+                                      X86vcvtne2ph2hf8s, 0>,
+                                     EVEX_CD8<16, CD8VF>, T_MAP5, XD;
 
 multiclass avx10_convert_3op_packed<bits<8> OpCode, string OpcodeStr,
            X86VectorVTInfo vt_dst, X86VectorVTInfo vt_src1,
@@ -518,19 +518,24 @@ multiclass avx10_convert_3op_packed<bits<8> OpCode, string OpcodeStr,
            string Broadcast = vt_src2.BroadcastStr,
            X86MemOperand MemOp = vt_src2.MemOp,
            RegisterClass MaskRC = vt_src2.KRCWM,
-           dag LdDAG = (vt_dst.VT (OpNode (vt_src1.VT vt_src1.RC:$src1), (vt_src2.VT (vt_src2.LdFrag addr:$src2)))),
-           dag MaskLdDAG = (vt_dst.VT (MaskOpNode (vt_src1.VT vt_src1.RC:$src1), (vt_src2.VT (vt_src2.LdFrag addr:$src2))))> {
+           dag LdDAG = (vt_dst.VT (OpNode (vt_src1.VT vt_src1.RC:$src1),
+                                  (vt_src2.VT (vt_src2.LdFrag addr:$src2)))),
+           dag MaskLdDAG = (vt_dst.VT (MaskOpNode (vt_src1.VT vt_src1.RC:$src1),
+                                      (vt_src2.VT (vt_src2.LdFrag addr:$src2))))> {
   defm rr : AVX512_maskable_cvt<OpCode, MRMSrcReg, vt_dst, (outs vt_dst.RC:$dst),
                       (ins vt_src1.RC:$src1, vt_src2.RC:$src2),
                       (ins vt_dst.RC:$src0, MaskRC:$mask, vt_src1.RC:$src1, vt_src2.RC:$src2),
                       (ins MaskRC:$mask, vt_src1.RC:$src1, vt_src2.RC:$src2),
                       OpcodeStr, "$src2, $src1", "$src1, $src2",
-                      (vt_dst.VT (OpNode (vt_src1.VT vt_src1.RC:$src1), (vt_src2.VT vt_src2.RC:$src2))),
+                      (vt_dst.VT (OpNode (vt_src1.VT vt_src1.RC:$src1),
+                                         (vt_src2.VT vt_src2.RC:$src2))),
                       (vselect_mask MaskRC:$mask,
-                        (vt_dst.VT (MaskOpNode (vt_src1.VT vt_src1.RC:$src1), (vt_src2.VT vt_src2.RC:$src2))),
+                        (vt_dst.VT (MaskOpNode (vt_src1.VT vt_src1.RC:$src1),
+                        (vt_src2.VT vt_src2.RC:$src2))),
                         vt_dst.RC:$src0),
                       (vselect_mask MaskRC:$mask,
-                        (vt_dst.VT (MaskOpNode (vt_src1.VT vt_src1.RC:$src1), (vt_src2.VT vt_src2.RC:$src2))),
+                        (vt_dst.VT (MaskOpNode (vt_src1.VT vt_src1.RC:$src1),
+                        (vt_src2.VT vt_src2.RC:$src2))),
                         vt_dst.ImmAllZerosV)>,
                       EVEX, VVVV, Sched<[sched]>;
   let mayLoad = 1 in
@@ -547,8 +552,10 @@ multiclass avx10_convert_3op_packed<bits<8> OpCode, string OpcodeStr,
   let mayLoad = 1 in
   defm rmb : AVX512_maskable_cvt<OpCode, MRMSrcMem, vt_dst, (outs vt_dst.RC:$dst),
                       (ins vt_src1.RC:$src1, vt_src2.ScalarMemOp:$src2),
-                      (ins vt_dst.RC:$src0, MaskRC:$mask, vt_src1.RC:$src1, vt_src2.ScalarMemOp:$src2),
-                      (ins MaskRC:$mask, vt_src1.RC:$src1, vt_src2.ScalarMemOp:$src2), OpcodeStr,
+                      (ins vt_dst.RC:$src0, MaskRC:$mask, vt_src1.RC:$src1,
+                           vt_src2.ScalarMemOp:$src2),
+                      (ins MaskRC:$mask, vt_src1.RC:$src1, vt_src2.ScalarMemOp:$src2),
+                      OpcodeStr,
                       "${src2}"#Broadcast#", $src1", "$src1, ${src2}"#Broadcast,
                       (vt_dst.VT (OpNode (vt_src1.VT vt_src1.RC:$src1), (vt_src2.VT
                                   (vt_src2.BroadcastLdFrag addr:$src2)))),
@@ -751,37 +758,36 @@ multiclass avx10_convert_2op<bits<8> OpCode, string OpcodeStr,
            RegisterClass maskRC128 = vt_src.info128.KRCWM> {
   let Predicates = [HasAVX10_2_512] in
     defm Z : avx10_convert_2op_packed<OpCode, OpcodeStr, vt_dst.info256,
-               vt_src.info512, OpNode, OpNode, sched.ZMM,
-               "">,
-               EVEX_V512, EVEX_CD8<16, CD8VF>;
+                                      vt_src.info512, OpNode, OpNode, sched.ZMM,
+                                      "">,
+             EVEX_V512, EVEX_CD8<16, CD8VF>;
   let Predicates = [HasAVX10_2] in {
     defm Z256 : avx10_convert_2op_packed<OpCode, OpcodeStr, vt_dst.info128,
-                  vt_src.info256, OpNode, OpNode, sched.YMM,
-                  "{y}">,
-                  EVEX_V256, EVEX_CD8<16, CD8VF>;
+                                         vt_src.info256, OpNode, OpNode,
+                                         sched.YMM, "{y}">,
+                EVEX_V256, EVEX_CD8<16, CD8VF>;
     defm Z128 : avx10_convert_2op_packed<OpCode, OpcodeStr, vt_dst.info128,
-                  vt_src.info128,
-                  null_frag, null_frag, sched.XMM,
-                  "{x}">,
-                  EVEX_V128, EVEX_CD8<16, CD8VF>;
+                                         vt_src.info128, null_frag, null_frag,
+                                         sched.XMM, "{x}">,
+                EVEX_V128, EVEX_CD8<16, CD8VF>;
     // Special patterns to allow use of MaskOpNode for masking 128 version. Instruction
     // patterns have been disabled with null_frag.
     def : Pat<(vt_dst.info128.VT (OpNode (vt_src.info128.VT VR128X:$src))),
               (!cast<Instruction>(NAME # "Z128rr") VR128X:$src)>;
     def : Pat<(MaskOpNode (vt_src.info128.VT VR128X:$src), (vt_dst.info128.VT VR128X:$src0),
-                            maskRC128:$mask),
+                           maskRC128:$mask),
               (!cast<Instruction>(NAME # "Z128rrk") VR128X:$src0, maskRC128:$mask, VR128X:$src)>;
     def : Pat<(MaskOpNode (vt_src.info128.VT VR128X:$src), vt_dst.info128.ImmAllZerosV,
-                            maskRC128:$mask),
+                           maskRC128:$mask),
               (!cast<Instruction>(NAME # "Z128rrkz") maskRC128:$mask, VR128X:$src)>;
 
     def : Pat<(vt_dst.info128.VT (OpNode (loadVT128 addr:$src))),
               (!cast<Instruction>(NAME # "Z128rm") addr:$src)>;
     def : Pat<(MaskOpNode (loadVT128 addr:$src), (vt_dst.info128.VT VR128X:$src0),
-                            maskRC128:$mask),
+                           maskRC128:$mask),
               (!cast<Instruction>(NAME # "Z128rmk") VR128X:$src0, maskRC128:$mask, addr:$src)>;
     def : Pat<(MaskOpNode (loadVT128 addr:$src), vt_dst.info128.ImmAllZerosV,
-                            maskRC128:$mask),
+                           maskRC128:$mask),
               (!cast<Instruction>(NAME # "Z128rmkz") maskRC128:$mask, addr:$src)>;
 
     def : Pat<(vt_dst.info128.VT (OpNode (vt_src.info128.VT (bcast128 addr:$src)))),
@@ -795,22 +801,22 @@ multiclass avx10_convert_2op<bits<8> OpCode, string OpcodeStr,
   }
 }
 
-defm VCVTNEPH2BF8 : avx10_convert_2op<0x74, "vcvtneph2bf8",
-                      avx512vl_i8_info, avx512vl_f16_info, SchedWriteCvtPD2PS,
-                        X86vcvtneph2bf8, X86vmcvtneph2bf8>,
-                      T8,XS;
-defm VCVTNEPH2BF8S : avx10_convert_2op<0x74, "vcvtneph2bf8s",
-                       avx512vl_i8_info, avx512vl_f16_info, SchedWriteCvtPD2PS,
-                        X86vcvtneph2bf8s, X86vmcvtneph2bf8s>,
-                       T_MAP5,XS;
-defm VCVTNEPH2HF8 : avx10_convert_2op<0x18, "vcvtneph2hf8",
-                      avx512vl_i8_info, avx512vl_f16_info, SchedWriteCvtPD2PS,
-                        X86vcvtneph2hf8, X86vmcvtneph2hf8>,
-                      T_MAP5,XS;
-defm VCVTNEPH2HF8S : avx10_convert_2op<0x1b, "vcvtneph2hf8s",
-                       avx512vl_i8_info, avx512vl_f16_info, SchedWriteCvtPD2PS,
-                        X86vcvtneph2hf8s, X86vmcvtneph2hf8s>,
-                       T_MAP5,XS;
+defm VCVTNEPH2BF8 : avx10_convert_2op<0x74, "vcvtneph2bf8", avx512vl_i8_info,
+                                      avx512vl_f16_info, SchedWriteCvtPD2PS,
+                                      X86vcvtneph2bf8, X86vmcvtneph2bf8>,
+                                      T8, XS;
+defm VCVTNEPH2BF8S : avx10_convert_2op<0x74, "vcvtneph2bf8s", avx512vl_i8_info,
+                                       avx512vl_f16_info, SchedWriteCvtPD2PS,
+                                       X86vcvtneph2bf8s, X86vmcvtneph2bf8s>,
+                                       T_MAP5, XS;
+defm VCVTNEPH2HF8 : avx10_convert_2op<0x18, "vcvtneph2hf8", avx512vl_i8_info,
+                                      avx512vl_f16_info, SchedWriteCvtPD2PS,
+                                      X86vcvtneph2hf8, X86vmcvtneph2hf8>,
+                                      T_MAP5, XS;
+defm VCVTNEPH2HF8S : avx10_convert_2op<0x1b, "vcvtneph2hf8s", avx512vl_i8_info,
+                                       avx512vl_f16_info, SchedWriteCvtPD2PS,
+                                       X86vcvtneph2hf8s, X86vmcvtneph2hf8s>,
+                                       T_MAP5, XS;
 
 multiclass avx10_convert_2op_nomb_packed<bits<8> opc, string OpcodeStr,
                            X86VectorVTInfo _dest, X86VectorVTInfo _src,
@@ -820,31 +826,31 @@ multiclass avx10_convert_2op_nomb_packed<bits<8> opc, string OpcodeStr,
                            dag ld_dag = (load addr:$src)> {
   let ExeDomain = _dest.ExeDomain in {
   defm rr : AVX512_maskable_split<opc, MRMSrcReg, _dest ,(outs _dest.RC:$dst),
-                          (ins _src.RC:$src), OpcodeStr, "$src", "$src",
-                          (OpNode (_src.VT _src.RC:$src)),
-                          (OpNode (_src.VT _src.RC:$src))>,
-                          Sched<[sched]>;
+                                  (ins _src.RC:$src), OpcodeStr, "$src", "$src",
+                                  (OpNode (_src.VT _src.RC:$src)),
+                                  (OpNode (_src.VT _src.RC:$src))>,
+                                 Sched<[sched]>;
   defm rm : AVX512_maskable_split<opc, MRMSrcMem, _dest, (outs _dest.RC:$dst),
-                          (ins x86memop:$src), OpcodeStr, "$src", "$src",
-                          (OpNode (_src.VT ld_dag)),
-                          (OpNode (_src.VT ld_dag))>,
-                          Sched<[sched.Folded]>;
+                                  (ins x86memop:$src), OpcodeStr, "$src", "$src",
+                                  (OpNode (_src.VT ld_dag)),
+                                  (OpNode (_src.VT ld_dag))>,
+                                 Sched<[sched.Folded]>;
   }
 }
 
 multiclass avx10_convert_2op_nomb<string OpcodeStr, AVX512VLVectorVTInfo _dest,
              AVX512VLVectorVTInfo _src, bits<8> opc, SDNode OpNode> {
   let Predicates = [HasAVX10_2_512] in
-  defm Z : avx10_convert_2op_nomb_packed<opc, OpcodeStr, _dest.info512,
-                              _src.info256, OpNode, f256mem, WriteCvtPH2PSZ>, EVEX_V512;
+  defm Z : avx10_convert_2op_nomb_packed<opc, OpcodeStr, _dest.info512, _src.info256,
+                                         OpNode, f256mem, WriteCvtPH2PSZ>, EVEX_V512;
   let Predicates = [HasAVX10_2] in {
-  defm Z128 : avx10_convert_2op_nomb_packed<opc, OpcodeStr, _dest.info128,
-                              _src.info128, OpNode, f64mem, WriteCvtPH2PSZ>, EVEX_V128;
-  defm Z256 : avx10_convert_2op_nomb_packed<opc, OpcodeStr, _dest.info256,
-                              _src.info128, OpNode, f128mem, WriteCvtPH2PSZ>, EVEX_V256;
+  defm Z128 : avx10_convert_2op_nomb_packed<opc, OpcodeStr, _dest.info128, _src.info128,
+                                            OpNode, f64mem, WriteCvtPH2PSZ>, EVEX_V128;
+  defm Z256 : avx10_convert_2op_nomb_packed<opc, OpcodeStr, _dest.info256, _src.info128,
+                                            OpNode, f128mem, WriteCvtPH2PSZ>, EVEX_V256;
   }
 }
 
 defm VCVTHF82PH : avx10_convert_2op_nomb<"vcvthf82ph", avx512vl_f16_info,
-                      avx512vl_i8_info, 0x1e, X86vcvthf82ph>,
-                      AVX512XDIi8Base, T_MAP5, EVEX, EVEX_CD8<16, CD8VH>;
+                                         avx512vl_i8_info, 0x1e, X86vcvthf82ph>,
+                  AVX512XDIi8Base, T_MAP5, EVEX, EVEX_CD8<16, CD8VH>;
diff --git a/llvm/lib/Target/X86/X86InstrFragmentsSIMD.td b/llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
index 008dccd5b521b..82d2da3e9caf8 100644
--- a/llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
+++ b/llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
@@ -821,12 +821,7 @@ def X86vpdpbuuds : SDNode<"X86ISD::VPDPBUUDS", SDTVnni>;
 
 def X86Vmpsadbw : SDNode<"X86ISD::MPSADBW", SDTX86PSADBW>;
 
-def SDTAVX10CONVERT_I82F16 : SDTypeProfile<1, 3, [
-  SDTCVecEltisVT<0, i8>, SDTCisSameAs<0, 1>,
-  SDTCVecEltisVT<2, f16>, SDTCisSameAs<2, 3>
-]>;
-
-def SDTAVX10CONVERT_I82F16_SRCDST : SDTypeProfile<1, 2, [
+def SDTAVX10CONVERT_I82F16 : SDTypeProfile<1, 2, [
   SDTCVecEltisVT<0, i8>, SDTCVecEltisVT<1, f16>, SDTCisSameAs<1, 2>
 ]>;
 
@@ -853,62 +848,63 @@ def SDTAVX10CONVERT_2I8F16_MASK : SDTypeProfile<1, 4, [
   SDTCVecEltisVT<2, f16>, SDTCisSameAs<0, 3>, SDTCVecEltisVT<4, i1>,
   SDTCisSameNumEltsAs<2, 4>
 ]>;
+
 def X86vcvt2ps2phx : SDNode<"X86ISD::VCVT2PS2PHX",
-                      SDTypeProfile<1, 2, [SDTCVecEltisVT<0, f16>,
+                     SDTypeProfile<1, 2, [SDTCVecEltisVT<0, f16>,
                                            SDTCVecEltisVT<1, f32>,
                                            SDTCisSameAs<1,2>]>>;
 def X86vcvt2ps2phxRnd : SDNode<"X86ISD::VCVT2PS2PHX_RND",
-                         SDTypeProfile<1, 3, [SDTCVecEltisVT<0, f16>,
-                                              SDTCVecEltisVT<1, f32>,
-                                              SDTCisSameAs<1,2>,
-                                              SDTCisVT<3, i32>]>>;
+                        SDTypeProfile<1, 3, [SDTCVecEltisVT<0, f16>,
+                                            SDTCVecEltisVT<1, f32>,
+                                            SDTCisSameAs<1,2>,
+                                            SDTCisVT<3, i32>]>>;
 // 3op
 def X86vcvtne2ph2bf8 : SDNode<"X86ISD::VCVTNE2PH2BF8",
-                      SDTAVX10CONVERT_I82F16_SRCDST>;
+                       SDTAVX10CONVERT_I82F16>;
 def X86vcvtne2ph2bf8s : SDNode<"X86ISD::VCVTNE2PH2BF8S",
-                      SDTAVX10CONVERT_I82F16_SRCDST>;
+                        SDTAVX10CONVERT_I82F16>;
 def X86vcvtne2ph2hf8 : SDNode<"X86ISD::VCVTNE2PH2HF8",
-                      SDTAVX10CONVERT_I82F16_SRCDST>;
+                       SDTAVX10CONVERT_I82F16>;
 def X86vcvtne2ph2hf8s : SDNode<"X86ISD::VCVTNE2PH2HF8S",
-                      SDTAVX10CONVERT_I82F16_SRCDST>;
+                       SDTAVX10CONVERT_I82F16>;
 // 2op no broadcast
 def X86vcvthf82ph : SDNode<"X86ISD::VCVTHF82PH",
                     SDTAVX10CONVERT_F16I8>;
 
 // 2op
 def X86vcvtbiasph2bf8 : SDNode<"X86ISD::VCVTBIASPH2BF8",
-                      SDTAVX10CONVERT_2I8F16>;
+                        SDTAVX10CONVERT_2I8F16>;
 def X86vcvtbiasph2bf8s : SDNode<"X86ISD::VCVTBIASPH2BF8S",
-                      SDTAVX10CONVERT_2I8F16>;
+                         SDTAVX10CONVERT_2I8F16>;
 def X86vcvtbiasph2hf8 : SDNode<"X86ISD::VCVTBIASPH2HF8",
-                      SDTAVX10CONVERT_2I8F16>;
+                        SDTAVX10CONVERT_2I8F16>;
 def X86vcvtbiasph2hf8s : SDNode<"X86ISD::VCVTBIASPH2HF8S",
-                      SDTAVX10CONVERT_2I8F16>;
+                         SDTAVX10CONVERT_2I8F16>;
 def X86vcvtneph2bf8 : SDNode<"X86ISD::VCVTNEPH2BF8",
                       SDTAVX10CONVERT_I8F16>;
 def X86vcvtneph2bf8s : SDNode<"X86ISD::VCVTNEPH2BF8S",
-                      SDTAVX10CONVERT_I8F16>;
+                       SDTAVX10CONVERT_I8F16>;
 def X86vcvtneph2hf8 : SDNode<"X86ISD::VCVTNEPH2HF8",
                       SDTAVX10CONVERT_I8F16>;
 def X86vcvtneph2hf8s : SDNode<"X86ISD::VCVTNEPH2HF8S",
-                      SDTAVX10CONVERT_I8F16>;
+                       SDTAVX10CONVERT_I8F16>;
 
 def X86vmcvtbiasph2bf8 : SDNode<"X86ISD::VMCVTBIASPH2BF8",
-                      SDTAVX10CONVERT_2I8F16_MASK>;
+                         SDTAVX10CONVERT_2I8F16_MASK>;
 def X86vmcvtbiasph2bf8s : SDNode<"X86ISD::VMCVTBIASPH2BF8S",
-                      SDTAVX10CONVERT_2I8F16_MASK>;
+                          SDTAVX10CONVERT_2I8F16_MASK>;
 def X86vmcvtbiasph2hf8 : SDNode<"X86ISD::VMCVTBIASPH2HF8",
-                      SDTAVX10CONVERT_2I8F16_MASK>;
+                         SDTAVX10CONVERT_2I8F16_MASK>;
 def X86vmcvtbiasph2hf8s : SDNode<"X86ISD::VMCVTBIASPH2HF8S",
-                      SDTAVX10CONVERT_2I8F16_MASK>;
+                          SDTAVX10CONVERT_2I8F16_MASK>;
 def X86vmcvtneph2bf8 : SDNode<"X86ISD::VMCVTNEPH2BF8",
-                      SDTAVX10CONVERT_I8F16_MASK>;
+                       SDTAVX10CONVERT_I8F16_MASK>;
 def X86vmcvtneph2bf8s : SDNode<"X86ISD::VMCVTNEPH2BF8S",
-                      SDTAVX10CONVERT_I8F16_MASK>;
+                        SDTAVX10CONVERT_I8F16_MASK>;
 def X86vmcvtneph2hf8 : SDNode<"X86ISD::VMCVTNEPH2HF8",
-                      SDTAVX10CONVERT_I8F16_MASK>;
+                       SDTAVX10CONVERT_I8F16_MASK>;
 def X86vmcvtneph2hf8s : SDNode<"X86ISD::VMCVTNEPH2HF8S",
-                      SDTAVX10CONVERT_I8F16_MASK>;
+                        SDTAVX10CONVERT_I8F16_MASK>;
 
 //===----------------------------------------------------------------------===//
 // SSE pattern fragments



More information about the cfe-commits mailing list