[v2] Support Intel AVX10.2 BF16 instructions

Message ID 20241017072822.2440473-1-haochen.jiang@intel.com
State New
Headers
Series [v2] Support Intel AVX10.2 BF16 instructions |

Checks

Context Check Description
linaro-tcwg-bot/tcwg_binutils_build--master-aarch64 success Build passed
linaro-tcwg-bot/tcwg_binutils_build--master-arm success Build passed
linaro-tcwg-bot/tcwg_binutils_check--master-aarch64 success Test passed
linaro-tcwg-bot/tcwg_binutils_check--master-arm success Test passed

Commit Message

Haochen Jiang Oct. 17, 2024, 7:28 a.m. UTC
  From: Kong Lingling <lingling.kong@intel.com>

Hi all,

The AVX10.2 SPEC just released v2 with vgetexppbf16 encoding change:

https://cdrdv2.intel.com/v1/dl/getContent/836199

It is a good news that we don't have to pend this patch. v2 patch comes
following with changes and patch description.

Ok for trunk?

Thx,
Haochen

---

Changes in v2:

  - Update vgetexppbf16 encoding: 66.MAP5.42 --> NP.MAP6.42

---

In this patch, we will support AVX10.2 BF16 instructions. All of them
are new instructions forms.

In disassembler part, we added %XB to reduce W table pass since all
of them get evex.w=0.

gas/Changelog:

	* testsuite/gas/i386/i386.exp: Add AVX10.2 tests.
	* testsuite/gas/i386/x86-64.exp: Ditto.
	* testsuite/gas/i386/avx10_2-256-bf16-intel.d: New.
	* testsuite/gas/i386/avx10_2-256-bf16.d: Ditto.
	* testsuite/gas/i386/avx10_2-256-bf16.s: Ditto.
	* testsuite/gas/i386/avx10_2-512-bf16-intel.d: Ditto.
	* testsuite/gas/i386/avx10_2-512-bf16.d: Ditto.
	* testsuite/gas/i386/avx10_2-512-bf16.s: Ditto.
	* testsuite/gas/i386/x86-64-avx10_2-256-bf16-intel.d: Ditto.
	* testsuite/gas/i386/x86-64-avx10_2-256-bf16.d: Ditto.
	* testsuite/gas/i386/x86-64-avx10_2-256-bf16.s: Ditto.
	* testsuite/gas/i386/x86-64-avx10_2-512-bf16-intel.d: Ditto.
	* testsuite/gas/i386/x86-64-avx10_2-512-bf16.d: Ditto.
	* testsuite/gas/i386/x86-64-avx10_2-512-bf16.s: Ditto.

opcodes/

	* i386-dis-evex-prefix.h: Update PREFIX_EVEX_0F3A08, PREFIX_EVEX_0F3A26,
	PREFIX_EVEX_0F3A56, PREFIX_EVEX_0F3A66, PREFIX_EVEX_0F3AC2,
	PREFIX_EVEX_MAP5_2F, PREFIX_EVEX_MAP5_51, PREFIX_EVEX_MAP5_58,
	PREFIX_EVEX_MAP5_59, PREFIX_EVEX_MAP5_5C, PREFIX_EVEX_MAP5_5D,
	PREFIX_EVEX_MAP5_5E, PREFIX_EVEX_MAP5_5F.
	Add PREFIX_EVEX_MAP6_2C, PREFIX_EVEX_MAP6_4C, PREFIX_EVEX_MAP6_4E,
	PREFIX_EVEX_MAP6_98, PREFIX_EVEX_MAP6_9A, PREFIX_EVEX_MAP6_9C,
	PREFIX_EVEX_MAP6_9E, PREFIX_EVEX_MAP6_A8, PREFIX_EVEX_MAP6_AA,
	PREFIX_EVEX_MAP6_AC, PREFIX_EVEX_MAP6_AE, PREFIX_EVEX_MAP6_B8,
	PREFIX_EVEX_MAP6_BA, PREFIX_EVEX_MAP6_BC, PREFIX_EVEX_MAP6_BE.
	* i386-dis-evex.h (evex_table): Update PREFIX_EVEX_MAP6_2C,
	PREFIX_EVEX_MAP6_42, PREFIX_EVEX_MAP6_4C, PREFIX_EVEX_MAP6_4E,
	PREFIX_EVEX_MAP6_98, PREFIX_EVEX_MAP6_9A, PREFIX_EVEX_MAP6_9C,
	PREFIX_EVEX_MAP6_9E, PREFIX_EVEX_MAP6_A8, PREFIX_EVEX_MAP6_AA,
	PREFIX_EVEX_MAP6_AC, PREFIX_EVEX_MAP6_AE, PREFIX_EVEX_MAP6_B8,
	PREFIX_EVEX_MAP6_BA, PREFIX_EVEX_MAP6_BC, PREFIX_EVEX_MAP6_BE.
	* i386-dis.c (PREFIX_EVEX_MAP6_2C): New enum.
	(PREFIX_EVEX_MAP6_42): Ditto.
	(PREFIX_EVEX_MAP6_4C): Ditto.
	(PREFIX_EVEX_MAP6_4E): Ditto.
	(PREFIX_EVEX_MAP6_98): Ditto.
	(PREFIX_EVEX_MAP6_9A): Ditto.
	(PREFIX_EVEX_MAP6_9C): Ditto.
	(PREFIX_EVEX_MAP6_9E): Ditto.
	(PREFIX_EVEX_MAP6_A8): Ditto.
	(PREFIX_EVEX_MAP6_AA): Ditto.
	(PREFIX_EVEX_MAP6_AC): Ditto.
	(PREFIX_EVEX_MAP6_AE): Ditto.
	(PREFIX_EVEX_MAP6_B8): Ditto.
	(PREFIX_EVEX_MAP6_BA): Ditto.
	(PREFIX_EVEX_MAP6_BC): Ditto.
	(PREFIX_EVEX_MAP6_BE): Ditto.
	(putop): Handle %XB.
	* i386-opc.tbl: Add AVX10.2 instructions.
	* i386-mnem.h: Regenerated.
	* i386-tbl.h: Ditto.

Co-authored-by: Haochen Jiang <haochen.jiang@intel.com>
---
 .../gas/i386/avx10_2-256-bf16-intel.d         |  295 ++
 gas/testsuite/gas/i386/avx10_2-256-bf16.d     |  294 ++
 gas/testsuite/gas/i386/avx10_2-256-bf16.s     |  169 +
 .../gas/i386/avx10_2-512-bf16-intel.d         |  151 +
 gas/testsuite/gas/i386/avx10_2-512-bf16.d     |  150 +
 gas/testsuite/gas/i386/avx10_2-512-bf16.s     |   99 +
 gas/testsuite/gas/i386/i386.exp               |    4 +
 .../gas/i386/x86-64-avx10_2-256-bf16-intel.d  |  295 ++
 .../gas/i386/x86-64-avx10_2-256-bf16.d        |  293 ++
 .../gas/i386/x86-64-avx10_2-256-bf16.s        |  169 +
 .../gas/i386/x86-64-avx10_2-512-bf16-intel.d  |  151 +
 .../gas/i386/x86-64-avx10_2-512-bf16.d        |  150 +
 .../gas/i386/x86-64-avx10_2-512-bf16.s        |   99 +
 gas/testsuite/gas/i386/x86-64.exp             |    4 +
 opcodes/i386-dis-evex-prefix.h                |  111 +
 opcodes/i386-dis-evex.h                       |   32 +-
 opcodes/i386-dis.c                            |   35 +
 opcodes/i386-mnem.h                           | 4080 +++++++++--------
 opcodes/i386-opc.tbl                          |   20 +
 opcodes/i386-tbl.h                            |  414 +-
 20 files changed, 4974 insertions(+), 2041 deletions(-)
 create mode 100644 gas/testsuite/gas/i386/avx10_2-256-bf16-intel.d
 create mode 100644 gas/testsuite/gas/i386/avx10_2-256-bf16.d
 create mode 100644 gas/testsuite/gas/i386/avx10_2-256-bf16.s
 create mode 100644 gas/testsuite/gas/i386/avx10_2-512-bf16-intel.d
 create mode 100644 gas/testsuite/gas/i386/avx10_2-512-bf16.d
 create mode 100644 gas/testsuite/gas/i386/avx10_2-512-bf16.s
 create mode 100644 gas/testsuite/gas/i386/x86-64-avx10_2-256-bf16-intel.d
 create mode 100644 gas/testsuite/gas/i386/x86-64-avx10_2-256-bf16.d
 create mode 100644 gas/testsuite/gas/i386/x86-64-avx10_2-256-bf16.s
 create mode 100644 gas/testsuite/gas/i386/x86-64-avx10_2-512-bf16-intel.d
 create mode 100644 gas/testsuite/gas/i386/x86-64-avx10_2-512-bf16.d
 create mode 100644 gas/testsuite/gas/i386/x86-64-avx10_2-512-bf16.s
  

Comments

Jan Beulich Oct. 18, 2024, 1:07 p.m. UTC | #1
On 17.10.2024 09:28, Haochen Jiang wrote:
> --- /dev/null
> +++ b/gas/testsuite/gas/i386/avx10_2-256-bf16.s
> @@ -0,0 +1,169 @@
> +# Check 32bit AVX10.2/256 instructions
> +
> +	.arch generic32
> +	.arch .avx10.2/256
> +	.text
> +_start:
> +	.irp m, addne, divne, max, min, mulne, scalef, subne
> +	v\m\()pbf16	%ymm4, %ymm5, %ymm6
> +	v\m\()pbf16	%xmm4, %xmm5, %xmm6
> +	v\m\()pbf16	0x10000000(%esp, %esi, 8), %ymm5, %ymm6{%k7}
> +	v\m\()pbf16	(%ecx){1to16}, %ymm5, %ymm6
> +	v\m\()pbf16	4064(%ecx), %ymm5, %ymm6
> +	v\m\()pbf16	-256(%edx){1to16}, %ymm5, %ymm6{%k7}{z}
> +	v\m\()pbf16	0x10000000(%esp, %esi, 8), %xmm5, %xmm6{%k7}
> +	v\m\()pbf16	(%ecx){1to8}, %xmm5, %xmm6
> +	v\m\()pbf16	2032(%ecx), %xmm5, %xmm6
> +	v\m\()pbf16	-256(%edx){1to8}, %xmm5, %xmm6{%k7}{z}
> +	.endr
> +
> +	.irp m, madd, msub, nmadd, nmsub
> +	.irp n, 132, 213, 231
> +	vf\m\n\(\())nepbf16	%ymm4, %ymm5, %ymm6
> +	vf\m\n\(\())nepbf16	%xmm4, %xmm5, %xmm6
> +	vf\m\n\(\())nepbf16	0x10000000(%esp, %esi, 8), %ymm5, %ymm6{%k7}
> +	vf\m\n\(\())nepbf16	(%ecx){1to16}, %ymm5, %ymm6
> +	vf\m\n\(\())nepbf16	4064(%ecx), %ymm5, %ymm6
> +	vf\m\n\(\())nepbf16	-256(%edx){1to16}, %ymm5, %ymm6{%k7}{z}
> +	vf\m\n\(\())nepbf16	0x10000000(%esp, %esi, 8), %xmm5, %xmm6{%k7}
> +	vf\m\n\(\())nepbf16	(%ecx){1to8}, %xmm5, %xmm6
> +	vf\m\n\(\())nepbf16	2032(%ecx), %xmm5, %xmm6
> +	vf\m\n\(\())nepbf16	-256(%edx){1to8}, %xmm5, %xmm6{%k7}{z}
> +	.endr
> +	.endr
> +
> +	.irp m, getexp, rcp, rsqrt, sqrtne
> +	v\m\()pbf16	%xmm5, %xmm6
> +	v\m\()pbf16	%ymm5, %ymm6
> +	v\m\()pbf16	0x10000000(%esp, %esi, 8), %xmm6{%k7}
> +	v\m\()pbf16	(%ecx){1to8}, %xmm6
> +	v\m\()pbf16	2032(%ecx), %xmm6
> +	v\m\()pbf16	-256(%edx){1to8}, %xmm6{%k7}{z}
> +	v\m\()pbf16	0x10000000(%esp, %esi, 8), %ymm6{%k7}
> +	v\m\()pbf16	(%ecx){1to16}, %ymm6
> +	v\m\()pbf16	4064(%ecx), %ymm6
> +	v\m\()pbf16	-256(%edx){1to16}, %ymm6{%k7}{z}
> +	.endr
> +
> +	.irp m, getmant, reducene, rndscalene
> +	v\m\()pbf16	$123, %ymm5, %ymm6
> +	v\m\()pbf16	$123, %xmm5, %xmm6
> +	v\m\()pbf16	$123, 0x10000000(%esp, %esi, 8), %xmm6{%k7}
> +	v\m\()pbf16	$123, (%ecx){1to8}, %xmm6
> +	v\m\()pbf16	$123, 2032(%ecx), %xmm6
> +	v\m\()pbf16	$123, -256(%edx){1to8}, %xmm6{%k7}{z}
> +	v\m\()pbf16	$123, 0x10000000(%esp, %esi, 8), %ymm6{%k7}
> +	v\m\()pbf16	$123, (%ecx){1to16}, %ymm6
> +	v\m\()pbf16	$123, 4064(%ecx), %ymm6
> +	v\m\()pbf16	$123, -256(%edx){1to16}, %ymm6{%k7}{z}
> +	.endr
> +
> +	vcmppbf16	$123, %ymm4, %ymm5, %k5
> +	vcmppbf16	$123, %xmm4, %xmm5, %k5
> +	vcmppbf16	$123, 0x10000000(%esp, %esi, 8), %xmm5, %k5{%k7}
> +	vcmppbf16	$123, (%ecx){1to8}, %xmm5, %k5
> +	vcmppbf16	$123, 2032(%ecx), %xmm5, %k5
> +	vcmppbf16	$123, -256(%edx){1to8}, %xmm5, %k5{%k7}
> +	vcmppbf16	$123, 0x10000000(%esp, %esi, 8), %ymm5, %k5{%k7}
> +	vcmppbf16	$123, (%ecx){1to16}, %ymm5, %k5
> +	vcmppbf16	$123, 4064(%ecx), %ymm5, %k5
> +	vcmppbf16	$123, -256(%edx){1to16}, %ymm5, %k5{%k7}
> +
> +	vcomsbf16	%xmm5, %xmm6
> +	vcomsbf16	0x10000000(%esp, %esi, 8), %xmm6
> +	vcomsbf16	(%ecx), %xmm6
> +	vcomsbf16	254(%ecx), %xmm6
> +	vcomsbf16	-256(%edx), %xmm6
> +
> +	vfpclasspbf16	$123, %ymm5, %k5
> +	vfpclasspbf16	$123, %xmm5, %k5
> +	vfpclasspbf16x	$123, 0x10000000(%esp, %esi, 8), %k5{%k7}
> +	vfpclasspbf16	$123, (%ecx){1to8}, %k5
> +	vfpclasspbf16x	$123, 2032(%ecx), %k5
> +	vfpclasspbf16	$123, -256(%edx){1to8}, %k5{%k7}
> +	vfpclasspbf16	$123, (%ecx){1to16}, %k5
> +	vfpclasspbf16y	$123, 4064(%ecx), %k5
> +	vfpclasspbf16	$123, -256(%edx){1to16}, %k5{%k7}
> +
> +_intel:
> +	.intel_syntax noprefix
> +	.irp m, addne, divne, max, min, mulne, scalef, subne
> +	v\m\()pbf16	ymm6, ymm5, ymm4
> +	v\m\()pbf16	xmm6, xmm5, xmm4
> +	v\m\()pbf16	ymm6{k7}, ymm5, YMMWORD PTR [esp+esi*8+0x10000000]
> +	v\m\()pbf16	ymm6, ymm5, WORD PTR [ecx]{1to16}
> +	v\m\()pbf16	ymm6, ymm5, YMMWORD PTR [ecx+4064]
> +	v\m\()pbf16	ymm6{k7}{z}, ymm5, WORD PTR [edx-256]{1to16}
> +	v\m\()pbf16	xmm6{k7}, xmm5, XMMWORD PTR [esp+esi*8+0x10000000]
> +	v\m\()pbf16	xmm6, xmm5, WORD PTR [ecx]{1to8}
> +	v\m\()pbf16	xmm6, xmm5, XMMWORD PTR [ecx+2032]
> +	v\m\()pbf16	xmm6{k7}{z}, xmm5, WORD PTR [edx-256]{1to8}
> +	.endr
> +
> +	.irp m, madd, msub, nmadd, nmsub
> +	.irp n, 132, 213, 231
> +	vf\m\n\(\())nepbf16	ymm6, ymm5, ymm4
> +	vf\m\n\(\())nepbf16	xmm6, xmm5, xmm4
> +	vf\m\n\(\())nepbf16	ymm6{k7}, ymm5, YMMWORD PTR [esp+esi*8+0x10000000]
> +	vf\m\n\(\())nepbf16	ymm6, ymm5, WORD PTR [ecx]{1to16}
> +	vf\m\n\(\())nepbf16	ymm6, ymm5, YMMWORD PTR [ecx+4064]
> +	vf\m\n\(\())nepbf16	ymm6{k7}{z}, ymm5, WORD PTR [edx-256]{1to16}
> +	vf\m\n\(\())nepbf16	xmm6{k7}, xmm5, XMMWORD PTR [esp+esi*8+0x10000000]
> +	vf\m\n\(\())nepbf16	xmm6, xmm5, WORD PTR [ecx]{1to8}
> +	vf\m\n\(\())nepbf16	xmm6, xmm5, XMMWORD PTR [ecx+2032]
> +	vf\m\n\(\())nepbf16	xmm6{k7}{z}, xmm5, WORD PTR [edx-256]{1to8}
> +	.endr
> +	.endr
> +
> +	.irp m, getexp, rcp, rsqrt, sqrtne
> +	v\m\()pbf16	xmm6, xmm5
> +	v\m\()pbf16	ymm6, ymm5
> +	v\m\()pbf16	xmm6{k7}, XMMWORD PTR [esp+esi*8+0x10000000]
> +	v\m\()pbf16	xmm6, WORD PTR [ecx]{1to8}
> +	v\m\()pbf16	xmm6, XMMWORD PTR [ecx+2032]
> +	v\m\()pbf16	xmm6{k7}{z}, WORD PTR [edx-256]{1to8}
> +	v\m\()pbf16	ymm6{k7}, YMMWORD PTR [esp+esi*8+0x10000000]
> +	v\m\()pbf16	ymm6, WORD PTR [ecx]{1to16}
> +	v\m\()pbf16	ymm6, YMMWORD PTR [ecx+4064]
> +	v\m\()pbf16	ymm6{k7}{z}, WORD PTR [edx-256]{1to16}
> +	.endr
> +
> +	.irp m, getmant, reducene, rndscalene
> +	v\m\()pbf16	ymm6, ymm5, 123
> +	v\m\()pbf16	xmm6, xmm5, 123
> +	v\m\()pbf16	xmm6{k7}, XMMWORD PTR [esp+esi*8+0x10000000], 123
> +	v\m\()pbf16	xmm6, WORD PTR [ecx]{1to8}, 123
> +	v\m\()pbf16	xmm6, XMMWORD PTR [ecx+2032], 123
> +	v\m\()pbf16	xmm6{k7}{z}, WORD PTR [edx-256]{1to8}, 123
> +	v\m\()pbf16	ymm6{k7}, YMMWORD PTR [esp+esi*8+0x10000000], 123
> +	v\m\()pbf16	ymm6, WORD PTR [ecx]{1to16}, 123
> +	v\m\()pbf16	ymm6, YMMWORD PTR [ecx+4064], 123
> +	v\m\()pbf16	ymm6{k7}{z}, WORD PTR [edx-256]{1to16}, 123
> +	.endr
> +
> +	vcmppbf16	k5, ymm5, ymm4, 123
> +	vcmppbf16	k5, xmm5, xmm4, 123
> +	vcmppbf16	k5{k7}, xmm5, XMMWORD PTR [esp+esi*8+0x10000000], 123
> +	vcmppbf16	k5, xmm5, WORD PTR [ecx]{1to8}, 123
> +	vcmppbf16	k5, xmm5, XMMWORD PTR [ecx+2032], 123
> +	vcmppbf16	k5{k7}, xmm5, WORD PTR [edx-256]{1to8}, 123
> +	vcmppbf16	k5{k7}, ymm5, YMMWORD PTR [esp+esi*8+0x10000000], 123
> +	vcmppbf16	k5, ymm5, WORD PTR [ecx]{1to16}, 123
> +	vcmppbf16	k5, ymm5, YMMWORD PTR [ecx+4064], 123
> +	vcmppbf16	k5{k7}, ymm5, WORD PTR [edx-256]{1to16}, 123
> +
> +	vcomsbf16	xmm6, xmm5
> +	vcomsbf16	xmm6, WORD PTR [esp+esi*8+0x10000000]
> +	vcomsbf16	xmm6, WORD PTR [ecx]
> +	vcomsbf16	xmm6, WORD PTR [ecx+254]
> +	vcomsbf16	xmm6, WORD PTR [edx-256]
> +
> +	vfpclasspbf16	k5, ymm5, 123
> +	vfpclasspbf16	k5, xmm5, 123
> +	vfpclasspbf16	k5{k7}, XMMWORD PTR [esp+esi*8+0x10000000], 123
> +	vfpclasspbf16	k5, WORD PTR [ecx]{1to8}, 123

Here and in similar places: Can you please make sure you at least test a
mix of broadcast forms with and without "WORD PTR"? The broadcast
specifier alone disambiguates things.

For all other insns you want to omit the size specifiers as well, at
least now and then.

> --- a/opcodes/i386-dis-evex-prefix.h
> +++ b/opcodes/i386-dis-evex-prefix.h
> @@ -297,6 +297,7 @@
>      { "vrndscalep%XH",  { XM, EXxh, EXxEVexS, Ib }, 0 },
>      { Bad_Opcode },
>      { "vrndscalep%XS",  { XM, EXx, EXxEVexS, Ib }, 0 },
> +    { "vrndscalenep%XB",  { XM, EXxh, Ib }, 0 },
>    },
>    /* PREFIX_EVEX_0F3A0A */
>    {
> @@ -309,6 +310,7 @@
>      { "vgetmantp%XH",     { XM, EXxh, EXxEVexS, Ib }, 0 },
>      { Bad_Opcode },
>      { "vgetmantp%XW",	{ XM, EXx, EXxEVexS, Ib }, 0 },
> +    { "vgetmantp%XB",    { XM, EXxh, Ib }, 0 },
>    },
>    /* PREFIX_EVEX_0F3A27 */
>    {
> @@ -327,6 +329,7 @@
>      { "vreducep%XH",      { XM, EXxh, EXxEVexS, Ib }, 0 },
>      { Bad_Opcode },
>      { "vreducep%XW",	{ XM, EXx, EXxEVexS, Ib }, 0 },
> +    { "vreducenep%XB",      { XM, EXxh, Ib }, 0 },
>    },
>    /* PREFIX_EVEX_0F3A57 */
>    {
> @@ -339,6 +342,7 @@
>      { "vfpclassp%XH%XZ",  { MaskG, EXxh, Ib }, 0 },
>      { Bad_Opcode },
>      { "vfpclassp%XW%XZ",    { MaskG, EXx, Ib }, 0 },
> +    { "vfpclassp%XB%XZ",  { MaskG, EXxh, Ib }, 0 },
>    },
>    /* PREFIX_EVEX_0F3A67 */
>    {
> @@ -350,6 +354,8 @@
>    {
>      { "vcmpp%XH", { MaskG, Vex, EXxh, EXxEVexS, CMP }, 0 },
>      { "vcmps%XH", { MaskG, VexScalar, EXw, EXxEVexS, CMP }, 0 },
> +    { Bad_Opcode },
> +    { "vcmpp%XB", { MaskG, Vex, EXxh, CMP }, 0 },
>    },
>    /* PREFIX_EVEX_MAP4_4x */
>    {
> @@ -440,21 +446,26 @@
>    /* PREFIX_EVEX_MAP5_2F */
>    {
>      { "vcomisY%XH",        { XMScalar, EXw, EXxEVexS }, 0 },
> +    { Bad_Opcode },
> +    { "vcoms%XB",        { XMScalar, EXw, EXxEVexS }, 0 },
>    },
>    /* PREFIX_EVEX_MAP5_51 */
>    {
>      { "vsqrtp%XH",        { XM, EXxh, EXxEVexR }, 0 },
>      { "vsqrts%XH",        { XMScalar, VexScalar, EXw, EXxEVexR }, 0 },
> +    { "vsqrtnep%XB",     { XM, EXxh }, 0 },

At the example of this: Can you please avoid adding further inconsistent
padding between menmonic string and operands. I realize it's already not
very consistent (apparently largely from FP16 additions), but it would
be nice if things didn't grow yet worse. Of course ...

>    },
>    /* PREFIX_EVEX_MAP5_58 */
>    {
>      { "vaddp%XH", { XM, Vex, EXxh, EXxEVexR }, 0 },
>      { "vadds%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, 0 },
> +    { "vaddnep%XB", { XM, Vex, EXxh }, 0 },

... in cases like this one all is fine: The new mnemonic string simply
is longer than what present padding accounts for. No need to increase
the diff / churn by adding more padding there.

> @@ -540,6 +555,30 @@
>      { Bad_Opcode },
>      { "vcvtp%XH2psx",	{ XM, EXxmmqh, EXxEVexS }, 0 },
>    },
> +  /* PREFIX_EVEX_MAP6_2C */
> +  {
> +    { "vscalefp%XB",      { XM, Vex, EXxh }, 0 },
> +    { Bad_Opcode },
> +    { "vscalefp%XH",      { XM, Vex, EXxh, EXxEVexR }, 0 },
> +  },
> +  /* PREFIX_EVEX_MAP6_42 */
> +  {
> +    { "vgetexpp%XB",	{ XM, EXxh }, 0 },
> +    { Bad_Opcode },
> +    { "vgetexpp%XH",	{ XM, EXxh, EXxEVexS }, 0 },
> +  },
> +  /* PREFIX_EVEX_MAP6_4C */
> +  {
> +    { "vrcpp%XB",    { XM, EXxh }, 0 },
> +    { Bad_Opcode },
> +    { "vrcpp%XH",       { XM, EXxh }, 0 },
> +  },
> +  /* PREFIX_EVEX_MAP6_4E */
> +  {
> +    { "vrsqrtp%XB",       { XM, EXxh }, 0 },
> +    { Bad_Opcode },
> +    { "vrsqrtp%XH",       { XM, EXxh }, 0 },
> +  },

In entirely new table entries you of course want to be consistent, too
(in itself as well as with adjacent entries).

> @@ -1830,6 +1846,7 @@ struct dis386 {
>     "LP" => print 'w' or 'l' ('d' in Intel mode) if instruction has
>  	   an operand size prefix, or suffix_always is true.  print
>  	   'q' if rex prefix is present.
> +   "XB" => print 'bf16' if EVEX.W=0, EVEX.W=1 is not a valid encoding (for BF16)

Can this please be put next to "XH"? Also please pay attention to line
length.

> @@ -10445,6 +10462,24 @@ putop (instr_info *ins, const char *in_template, int sizeflag)
>  
>  	      goto case_B;
>  	    }
> +	  else if (l == 1 && last[0] == 'X')
> +	    {
> +	      if (ins->vex.w == 0)

Please don't use == or != with booleans.

> +		{
> +		  *ins->obufp++ = 'b';
> +		  *ins->obufp++ = 'f';
> +		  *ins->obufp++ = '1';
> +		  *ins->obufp++ = '6';
> +		}
> +	      else
> +		{
> +		  *ins->obufp++ = '{';
> +		  *ins->obufp++ = 'b';
> +		  *ins->obufp++ = 'a';
> +		  *ins->obufp++ = 'd';
> +		  *ins->obufp++ = '}';
> +		}

We need to stop such (incomplete) open-coding of oappend(). %XH handling
(which one might expect you cloned this from) does use the function.

> --- a/opcodes/i386-opc.tbl
> +++ b/opcodes/i386-opc.tbl
> @@ -3452,4 +3452,24 @@ vcvthf82ph, 0xf21e, AVX10_2, Modrm|EVexMap5|EVex128|VexW0|Masking|Disp8MemShift=
>  vcvthf82ph, 0xf21e, AVX10_2, Modrm|EVexMap5|EVex256|VexW0|Masking|Disp8MemShift=4|NoSuf, { RegXMM|Unspecified|BaseIndex, RegYMM }
>  vcvthf82ph, 0xf21e, AVX10_2, Modrm|EVexMap5|EVex512|VexW0|Masking|Disp8MemShift=5|NoSuf, { RegYMM|Unspecified|BaseIndex, RegZMM }
>  
> +v<fop><fop:ne>pbf16, 0x66<fop:opc>, AVX10_2, Modrm|EVexMap5|Src1VVVV|VexW0|Masking|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM|Word|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM }
> +
> +v<fm><fma>nepbf16, 0x<fm:opc3> | 0x<fma:opc>, AVX10_2, Modrm|EVexMap6|Src1VVVV|VexW0|Masking|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM|Word|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM }
> +
> +vcmppbf16, 0xf2c2, AVX10_2, Modrm|Space0F3A|Src1VVVV|VexW0|Masking|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { Imm8, RegXMM|RegYMM|RegZMM|Word|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegMask }
> +vfpclasspbf16, 0xf266, AVX10_2, Modrm|Space0F3A|VexW0|Masking|Broadcast|Disp8ShiftVL|NoSuf, { Imm8, RegXMM|RegYMM|RegZMM|Word|BaseIndex, RegMask }
> +vfpclasspbf16x, 0xf266, AVX10_2, Modrm|Space0F3A|EVex128|VexW0|Masking|Disp8MemShift=4|NoSuf|ATTSyntax, { Imm8, RegXMM|Unspecified|BaseIndex, RegMask }
> +vfpclasspbf16y, 0xf266, AVX10_2, Modrm|Space0F3A|EVex256|VexW0|Masking|Disp8MemShift=5|NoSuf|ATTSyntax, { Imm8, RegYMM|Unspecified|BaseIndex, RegMask }
> +vfpclasspbf16z, 0xf266, AVX10_2, Modrm|Space0F3A|EVex512|VexW0|Masking|Disp8MemShift=6|NoSuf|ATTSyntax, { Imm8, RegZMM|Unspecified|BaseIndex, RegMask }

I was meaning to ask for use of <xyz> here, just like VFPCLASSPH does. But it
looks like that wouldn't be quite right. Nevertheless I think there's a minor
issue with AVX10.2/128 mode here, where in Intel syntax no "xmmword ptr" would
be needed anymore (for disambiguation). Since that mode is hypothetical as of
now, I'm not going to insist that you address this issue.

> +vgetexppbf16, 0x42, AVX10_2, Modrm|EVexMap6|VexW0|Masking|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM|Word|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM }
> +vgetmantpbf16, 0xf226, AVX10_2, Modrm|Space0F3A|VexW0|Masking|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { Imm8, RegXMM|RegYMM|RegZMM|Word|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM }
> +vrcppbf16, 0x4c, AVX10_2, Modrm|EVexMap6|VexW0|Masking|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM|Word|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM }
> +vreducenepbf16, 0xf256, AVX10_2, Modrm|Space0F3A|VexW0|Masking|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { Imm8, RegXMM|RegYMM|RegZMM|Word|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM }
> +vrndscalenepbf16, 0xf208, AVX10_2, Modrm|Space0F3A|VexW0|Masking|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { Imm8, RegXMM|RegYMM|RegZMM|Word|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM }
> +vrsqrtpbf16, 0x4e, AVX10_2, Modrm|EVexMap6|VexW0|Masking|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM|Word|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM }
> +vscalefpbf16, 0x2c, AVX10_2, Modrm|EVexMap6|Src1VVVV|VexW0|Masking|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM|Word|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM }

While this matches the spec, I still wonder: Not VSCALEFNEPBF16? I guess
what I'm struggling with is the pattern when the NE infix would be added.
My best present guess is that it means "no embedded rounding", and is
intended to be used when the counterpart PS/PD/PH insns would support
{er}. The issue would then extend to at least VMINMAXNEPBF16, which imo
wants to be VMINMAXPBF16 (matching V{MIN,MAX}PBF16) and VRNDSCALENEPBF16
(ought to be VRNDSCALEPBF16); I may have overlooked others.

> +vsqrtnepbf16, 0x6651, AVX10_2, Modrm|EVexMap5|VexW0|Masking|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM|Word|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM }
> +
> +vcomsbf16, 0x662f, AVX10_2, Modrm|EVexMap5|EVexLIG|VexW0|Disp8MemShift=1|NoSuf, { RegXMM|Word|Unspecified|BaseIndex, RegXMM }

While this matches the spec, I further wonder: No VUCOMSBF16?

Jan
  
Haochen Jiang Oct. 21, 2024, 7:50 a.m. UTC | #2
> From: Jan Beulich <jbeulich@suse.com>
> Sent: Friday, October 18, 2024 9:07 PM
> 
> While this matches the spec, I still wonder: Not VSCALEFNEPBF16? I guess
> what I'm struggling with is the pattern when the NE infix would be added.
> My best present guess is that it means "no embedded rounding", and is
> intended to be used when the counterpart PS/PD/PH insns would support
> {er}. The issue would then extend to at least VMINMAXNEPBF16, which imo
> wants to be VMINMAXPBF16 (matching V{MIN,MAX}PBF16) and
> VRNDSCALENEPBF16 (ought to be VRNDSCALEPBF16); I may have overlooked
> others.
>
> While this matches the spec, I further wonder: No VUCOMSBF16?

Let me have a quick check with my colleagues for these opens.

The NE does look strange here since I have similar understanding on that. BTW,
NE should be "nearest even" here, which means a default rounding.

Thx,
Haochen

> 
> Jan
  
Haochen Jiang Oct. 30, 2024, 5:54 a.m. UTC | #3
> From: Jiang, Haochen
> Sent: Monday, October 21, 2024 3:51 PM
> 
> > From: Jan Beulich <jbeulich@suse.com>
> > Sent: Friday, October 18, 2024 9:07 PM
> >
> > While this matches the spec, I still wonder: Not VSCALEFNEPBF16? I guess
> > what I'm struggling with is the pattern when the NE infix would be added.
> > My best present guess is that it means "no embedded rounding", and is
> > intended to be used when the counterpart PS/PD/PH insns would support
> > {er}. The issue would then extend to at least VMINMAXNEPBF16, which imo
> > wants to be VMINMAXPBF16 (matching V{MIN,MAX}PBF16) and
> > VRNDSCALENEPBF16 (ought to be VRNDSCALEPBF16); I may have
> overlooked
> > others.
> >
> > While this matches the spec, I further wonder: No VUCOMSBF16?
> 
> Let me have a quick check with my colleagues for these opens.
> 
> The NE does look strange here since I have similar understanding on that.
> BTW,
> NE should be "nearest even" here, which means a default rounding.
>

An update on that:

The check is not that quick as I expected since the original owner is impacted
by layoff.

The current clue I get in the puzzle of BF16 makes me more convinced that your
and my understanding on NE are correct. I suppose SCALEF should have NE and
RNDSCALE should not have NE unless there is some info I did not find. MINMAX
for BF16 might not have NE also. Let me push that forward to get the final decision
or explanation on that.

For VUCOMSBF16, I did not get any clue currently.

Thx,
Haochen
  
Haochen Jiang Oct. 31, 2024, 7:54 a.m. UTC | #4
> From: Jiang, Haochen
> Sent: Wednesday, October 30, 2024 1:54 PM
> 
> > > From: Jan Beulich <jbeulich@suse.com>
> > > Sent: Friday, October 18, 2024 9:07 PM
> > >
> > > While this matches the spec, I still wonder: Not VSCALEFNEPBF16? I
> > > guess what I'm struggling with is the pattern when the NE infix would be added.
> > > My best present guess is that it means "no embedded rounding", and
> > > is intended to be used when the counterpart PS/PD/PH insns would
> > > support {er}. The issue would then extend to at least
> > > VMINMAXNEPBF16, which imo wants to be VMINMAXPBF16 (matching
> > > V{MIN,MAX}PBF16) and VRNDSCALENEPBF16 (ought to be
> > > VRNDSCALEPBF16); I may have overlooked others.
> > >
> > > While this matches the spec, I further wonder: No VUCOMSBF16?
> >
> > Let me have a quick check with my colleagues for these opens.
> >
> > The NE does look strange here since I have similar understanding on that.
> > BTW, NE should be "nearest even" here, which means a default rounding.
> >
> 
> An update on that:
> 
> The check is not that quick as I expected since the original owner is impacted
> by layoff.
> 
> The current clue I get in the puzzle of BF16 makes me more convinced that
> your and my understanding on NE are correct. I suppose SCALEF should have
> NE and RNDSCALE should not have NE unless there is some info I did not find.
> MINMAX for BF16 might not have NE also. Let me push that forward to get
> the final decision or explanation on that.
> 
> For VUCOMSBF16, I did not get any clue currently.

This is the info I get from my colleagues:

For VSCALEFPBF16, the reason why it doesn't include NE in mnemonic is that it
Is actually not a NE inst. It is always exact since underflow is FTZed.

However, the confusion here is that VSCALEFPD/S/H got this: "The overflow and
underflow responses are dependent on the rounding mode (for IEEE-compliant
rounding), as well as on other settings in MXCSR (exception mask bits), and on
the SAE bit." I suppose it is not the normal understanding on rounding. This has
made others got the expression that SCALEF insts got different roundings,
causing the mnemonic of VSCALEFPBF16 confusing. The discussion on whether
to add NE is still ongoing.

For VRNDSCALENEPBF16, the NE should be kept after I read the SDM. The original
VRNDSCALEPS/D/H actually uses imm8[1:0] as commonly understanding rounding
control, 00 as round nearest ever, 01 as round down, 10 as round up and 11 as
truncate. This also reflects in how we emulate in SDM introduction on this inst, for
PD version, we got:

ROUND(x) = 2^(-M)*Round_to_INT(x*2^M, round_ctrl),
round_ctrl = imm[3:0];
M=imm[7:4];

However, on BF16, the rounding is always RNE, you could see the rounding is restricted
to RNE in emulation:

ROUND(x) = 2^(-M)*Round_to_INT(x*2^M, RNE), M=imm[7:4];

That is why NE appears in mnemonic.

Also in the discussion, maybe best way would be to explicitly state globally in the doc
that all BF16 ISA obey the following rules: Disregard MXCSR (i.e. not reading it, neither
updating it), implicit SAE, DAZ, FTZ and RNE(when not exact).

For VUCOMSBF16, it seems like a miss for now. Even if we want to add that, it is hard to
get into AVX10.2.

Thx,
Haochen
  
Jan Beulich Oct. 31, 2024, 8:24 a.m. UTC | #5
On 31.10.2024 08:54, Jiang, Haochen wrote:
> This is the info I get from my colleagues:
> 
> For VSCALEFPBF16, the reason why it doesn't include NE in mnemonic is that it
> Is actually not a NE inst. It is always exact since underflow is FTZed.
> 
> However, the confusion here is that VSCALEFPD/S/H got this: "The overflow and
> underflow responses are dependent on the rounding mode (for IEEE-compliant
> rounding), as well as on other settings in MXCSR (exception mask bits), and on
> the SAE bit." I suppose it is not the normal understanding on rounding. This has
> made others got the expression that SCALEF insts got different roundings,
> causing the mnemonic of VSCALEFPBF16 confusing.

I don't think the rounding understanding is very far from "normal". It's still
a multiplication that is (effectively) being carried out, with the usual effect
that a (normal) multiplication would also have. I could kind of agree the BF16
form is different for underflows (flushing to zero, albeit doesn't even that
still fit "round to nearest even", at least together with FTZ/DAZ?); for
overflows it'll still be normal rounding behavior though (resulting in infinity
iiuc).

Imo what the SDM tries to emphasize is that depending on (just) the sign of the
scale value it can only be one of overflow or underflow.

> The discussion on whether to add NE is still ongoing.

I see.

> For VRNDSCALENEPBF16, the NE should be kept after I read the SDM. The original
> VRNDSCALEPS/D/H actually uses imm8[1:0] as commonly understanding rounding
> control, 00 as round nearest ever, 01 as round down, 10 as round up and 11 as
> truncate. This also reflects in how we emulate in SDM introduction on this inst, for
> PD version, we got:
> 
> ROUND(x) = 2^(-M)*Round_to_INT(x*2^M, round_ctrl),
> round_ctrl = imm[3:0];
> M=imm[7:4];
> 
> However, on BF16, the rounding is always RNE, you could see the rounding is restricted
> to RNE in emulation:
> 
> ROUND(x) = 2^(-M)*Round_to_INT(x*2^M, RNE), M=imm[7:4];
> 
> That is why NE appears in mnemonic.

Interesting. The insn's description is actually self-inconsistent right now: It
first says "Round the bfloat16 floating-point values in the source operand by the
rounding mode specified in the immediate operand and places the result in the
destination operand." (Note in particular the use of "rounding _mode_".) Only
later it is (kind of indirectly) said that the low 4 bits of the immediate aren't
used: "RNE rounding mode is used." Followed by a cryptic partial sentence "the
imm8[7:4] value)."

Considering this somewhat peculiar difference I further wonder whether the
assembler wouldn't better be made warn if the low 4 bits weren't all clear.

> Also in the discussion, maybe best way would be to explicitly state globally in the doc
> that all BF16 ISA obey the following rules: Disregard MXCSR (i.e. not reading it, neither
> updating it), implicit SAE, DAZ, FTZ and RNE(when not exact).

Plus actually make explicit what "NE" stands for.

Jan
  
Haochen Jiang Nov. 14, 2024, 5:54 a.m. UTC | #6
> From: Jan Beulich <jbeulich@suse.com>
> Sent: Thursday, October 31, 2024 4:25 PM
> 
> On 31.10.2024 08:54, Jiang, Haochen wrote:
> >
> 
> > The discussion on whether to add NE is still ongoing.
> 
> I see.

The change supposed to be made on mnemonics for BF16 related insts:

VSCALEFPBF16 -> VSCALEFNEPBF16:
Avoid confusion from legacy PS/PD/PH part.

VMINMAXNEPBF16 -> VMINMAXPBF16:
The calculation is always exact and no need for NE.

VCVTTNEBF162I[,U]BS -> VCVTTBF162I[,U]BS:
It is always round toward zero, not an RNE.

> > For VRNDSCALENEPBF16, the NE should be kept after I read the SDM. The
> > ...
> Considering this somewhat peculiar difference I further wonder whether the
> assembler wouldn't better be made warn if the low 4 bits weren't all clear.

That is actually an interesting topic. I am both ok whether to add or not.
It might be an annoying or great reminder for different people.

> Plus actually make explicit what "NE" stands for.

I have raised that since I was confused by this once in the past. They should add
that when doc get revised. I will keep an eye on that.

Thx,
Haochen
  
Jan Beulich Nov. 14, 2024, 9:16 a.m. UTC | #7
On 14.11.2024 06:54, Jiang, Haochen wrote:
>> From: Jan Beulich <jbeulich@suse.com>
>> Sent: Thursday, October 31, 2024 4:25 PM
>>
>> On 31.10.2024 08:54, Jiang, Haochen wrote:
>>>
>>
>>> The discussion on whether to add NE is still ongoing.
>>
>> I see.
> 
> The change supposed to be made on mnemonics for BF16 related insts:
> 
> VSCALEFPBF16 -> VSCALEFNEPBF16:
> Avoid confusion from legacy PS/PD/PH part.
> 
> VMINMAXNEPBF16 -> VMINMAXPBF16:
> The calculation is always exact and no need for NE.
> 
> VCVTTNEBF162I[,U]BS -> VCVTTBF162I[,U]BS:
> It is always round toward zero, not an RNE.

I expect you're going to update the patch accordingly then?

Jan
  
Haochen Jiang Nov. 14, 2024, 3:13 p.m. UTC | #8
> From: Jan Beulich <jbeulich@suse.com>
> Sent: Thursday, November 14, 2024 5:16 PM
> 
> On 14.11.2024 06:54, Jiang, Haochen wrote:
> >> From: Jan Beulich <jbeulich@suse.com>
> >> Sent: Thursday, October 31, 2024 4:25 PM
> >>
> >> On 31.10.2024 08:54, Jiang, Haochen wrote:
> >>>
> >
> > The change supposed to be made on mnemonics for BF16 related insts:
> >
> > VSCALEFPBF16 -> VSCALEFNEPBF16:
> > Avoid confusion from legacy PS/PD/PH part.
> >
> > VMINMAXNEPBF16 -> VMINMAXPBF16:
> > The calculation is always exact and no need for NE.
> >
> > VCVTTNEBF162I[,U]BS -> VCVTTBF162I[,U]BS:
> > It is always round toward zero, not an RNE.
> 
> I expect you're going to update the patch accordingly then?

Yes, and they will affect the following three patches
(two unsent for now).

For this patch, only VSCALEFPBF16 is in the list.

Thx,
Haochen
  

Patch

diff --git a/gas/testsuite/gas/i386/avx10_2-256-bf16-intel.d b/gas/testsuite/gas/i386/avx10_2-256-bf16-intel.d
new file mode 100644
index 00000000000..25831446cc7
--- /dev/null
+++ b/gas/testsuite/gas/i386/avx10_2-256-bf16-intel.d
@@ -0,0 +1,295 @@ 
+#objdump: -dw -Mintel
+#name: i386 AVX10.2/256 BF16 insns (Intel disassembly)
+#source: avx10_2-256-bf16.s
+
+.*: +file format .*
+
+Disassembly of section \.text:
+
+#...
+[a-f0-9]+ <_intel>:
+\s*[a-f0-9]+:\s*62 f5 55 28 58 f4\s+vaddnepbf16 ymm6,ymm5,ymm4
+\s*[a-f0-9]+:\s*62 f5 55 08 58 f4\s+vaddnepbf16 xmm6,xmm5,xmm4
+\s*[a-f0-9]+:\s*62 f5 55 2f 58 b4 f4 00 00 00 10\s+vaddnepbf16 ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f5 55 38 58 31\s+vaddnepbf16 ymm6,ymm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f5 55 28 58 71 7f\s+vaddnepbf16 ymm6,ymm5,YMMWORD PTR \[ecx\+0xfe0\]
+\s*[a-f0-9]+:\s*62 f5 55 bf 58 72 80\s+vaddnepbf16 ymm6\{k7\}\{z\},ymm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f5 55 0f 58 b4 f4 00 00 00 10\s+vaddnepbf16 xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f5 55 18 58 31\s+vaddnepbf16 xmm6,xmm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f5 55 08 58 71 7f\s+vaddnepbf16 xmm6,xmm5,XMMWORD PTR \[ecx\+0x7f0\]
+\s*[a-f0-9]+:\s*62 f5 55 9f 58 72 80\s+vaddnepbf16 xmm6\{k7\}\{z\},xmm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f5 55 28 5e f4\s+vdivnepbf16 ymm6,ymm5,ymm4
+\s*[a-f0-9]+:\s*62 f5 55 08 5e f4\s+vdivnepbf16 xmm6,xmm5,xmm4
+\s*[a-f0-9]+:\s*62 f5 55 2f 5e b4 f4 00 00 00 10\s+vdivnepbf16 ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f5 55 38 5e 31\s+vdivnepbf16 ymm6,ymm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f5 55 28 5e 71 7f\s+vdivnepbf16 ymm6,ymm5,YMMWORD PTR \[ecx\+0xfe0\]
+\s*[a-f0-9]+:\s*62 f5 55 bf 5e 72 80\s+vdivnepbf16 ymm6\{k7\}\{z\},ymm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f5 55 0f 5e b4 f4 00 00 00 10\s+vdivnepbf16 xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f5 55 18 5e 31\s+vdivnepbf16 xmm6,xmm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f5 55 08 5e 71 7f\s+vdivnepbf16 xmm6,xmm5,XMMWORD PTR \[ecx\+0x7f0\]
+\s*[a-f0-9]+:\s*62 f5 55 9f 5e 72 80\s+vdivnepbf16 xmm6\{k7\}\{z\},xmm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f5 55 28 5f f4\s+vmaxpbf16 ymm6,ymm5,ymm4
+\s*[a-f0-9]+:\s*62 f5 55 08 5f f4\s+vmaxpbf16 xmm6,xmm5,xmm4
+\s*[a-f0-9]+:\s*62 f5 55 2f 5f b4 f4 00 00 00 10\s+vmaxpbf16 ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f5 55 38 5f 31\s+vmaxpbf16 ymm6,ymm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f5 55 28 5f 71 7f\s+vmaxpbf16 ymm6,ymm5,YMMWORD PTR \[ecx\+0xfe0\]
+\s*[a-f0-9]+:\s*62 f5 55 bf 5f 72 80\s+vmaxpbf16 ymm6\{k7\}\{z\},ymm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f5 55 0f 5f b4 f4 00 00 00 10\s+vmaxpbf16 xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f5 55 18 5f 31\s+vmaxpbf16 xmm6,xmm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f5 55 08 5f 71 7f\s+vmaxpbf16 xmm6,xmm5,XMMWORD PTR \[ecx\+0x7f0\]
+\s*[a-f0-9]+:\s*62 f5 55 9f 5f 72 80\s+vmaxpbf16 xmm6\{k7\}\{z\},xmm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f5 55 28 5d f4\s+vminpbf16 ymm6,ymm5,ymm4
+\s*[a-f0-9]+:\s*62 f5 55 08 5d f4\s+vminpbf16 xmm6,xmm5,xmm4
+\s*[a-f0-9]+:\s*62 f5 55 2f 5d b4 f4 00 00 00 10\s+vminpbf16 ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f5 55 38 5d 31\s+vminpbf16 ymm6,ymm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f5 55 28 5d 71 7f\s+vminpbf16 ymm6,ymm5,YMMWORD PTR \[ecx\+0xfe0\]
+\s*[a-f0-9]+:\s*62 f5 55 bf 5d 72 80\s+vminpbf16 ymm6\{k7\}\{z\},ymm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f5 55 0f 5d b4 f4 00 00 00 10\s+vminpbf16 xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f5 55 18 5d 31\s+vminpbf16 xmm6,xmm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f5 55 08 5d 71 7f\s+vminpbf16 xmm6,xmm5,XMMWORD PTR \[ecx\+0x7f0\]
+\s*[a-f0-9]+:\s*62 f5 55 9f 5d 72 80\s+vminpbf16 xmm6\{k7\}\{z\},xmm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f5 55 28 59 f4\s+vmulnepbf16 ymm6,ymm5,ymm4
+\s*[a-f0-9]+:\s*62 f5 55 08 59 f4\s+vmulnepbf16 xmm6,xmm5,xmm4
+\s*[a-f0-9]+:\s*62 f5 55 2f 59 b4 f4 00 00 00 10\s+vmulnepbf16 ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f5 55 38 59 31\s+vmulnepbf16 ymm6,ymm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f5 55 28 59 71 7f\s+vmulnepbf16 ymm6,ymm5,YMMWORD PTR \[ecx\+0xfe0\]
+\s*[a-f0-9]+:\s*62 f5 55 bf 59 72 80\s+vmulnepbf16 ymm6\{k7\}\{z\},ymm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f5 55 0f 59 b4 f4 00 00 00 10\s+vmulnepbf16 xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f5 55 18 59 31\s+vmulnepbf16 xmm6,xmm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f5 55 08 59 71 7f\s+vmulnepbf16 xmm6,xmm5,XMMWORD PTR \[ecx\+0x7f0\]
+\s*[a-f0-9]+:\s*62 f5 55 9f 59 72 80\s+vmulnepbf16 xmm6\{k7\}\{z\},xmm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f6 54 28 2c f4\s+vscalefpbf16 ymm6,ymm5,ymm4
+\s*[a-f0-9]+:\s*62 f6 54 08 2c f4\s+vscalefpbf16 xmm6,xmm5,xmm4
+\s*[a-f0-9]+:\s*62 f6 54 2f 2c b4 f4 00 00 00 10\s+vscalefpbf16 ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f6 54 38 2c 31\s+vscalefpbf16 ymm6,ymm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f6 54 28 2c 71 7f\s+vscalefpbf16 ymm6,ymm5,YMMWORD PTR \[ecx\+0xfe0\]
+\s*[a-f0-9]+:\s*62 f6 54 bf 2c 72 80\s+vscalefpbf16 ymm6\{k7\}\{z\},ymm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f6 54 0f 2c b4 f4 00 00 00 10\s+vscalefpbf16 xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f6 54 18 2c 31\s+vscalefpbf16 xmm6,xmm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f6 54 08 2c 71 7f\s+vscalefpbf16 xmm6,xmm5,XMMWORD PTR \[ecx\+0x7f0\]
+\s*[a-f0-9]+:\s*62 f6 54 9f 2c 72 80\s+vscalefpbf16 xmm6\{k7\}\{z\},xmm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f5 55 28 5c f4\s+vsubnepbf16 ymm6,ymm5,ymm4
+\s*[a-f0-9]+:\s*62 f5 55 08 5c f4\s+vsubnepbf16 xmm6,xmm5,xmm4
+\s*[a-f0-9]+:\s*62 f5 55 2f 5c b4 f4 00 00 00 10\s+vsubnepbf16 ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f5 55 38 5c 31\s+vsubnepbf16 ymm6,ymm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f5 55 28 5c 71 7f\s+vsubnepbf16 ymm6,ymm5,YMMWORD PTR \[ecx\+0xfe0\]
+\s*[a-f0-9]+:\s*62 f5 55 bf 5c 72 80\s+vsubnepbf16 ymm6\{k7\}\{z\},ymm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f5 55 0f 5c b4 f4 00 00 00 10\s+vsubnepbf16 xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f5 55 18 5c 31\s+vsubnepbf16 xmm6,xmm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f5 55 08 5c 71 7f\s+vsubnepbf16 xmm6,xmm5,XMMWORD PTR \[ecx\+0x7f0\]
+\s*[a-f0-9]+:\s*62 f5 55 9f 5c 72 80\s+vsubnepbf16 xmm6\{k7\}\{z\},xmm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f6 54 28 98 f4\s+vfmadd132nepbf16 ymm6,ymm5,ymm4
+\s*[a-f0-9]+:\s*62 f6 54 08 98 f4\s+vfmadd132nepbf16 xmm6,xmm5,xmm4
+\s*[a-f0-9]+:\s*62 f6 54 2f 98 b4 f4 00 00 00 10\s+vfmadd132nepbf16 ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f6 54 38 98 31\s+vfmadd132nepbf16 ymm6,ymm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f6 54 28 98 71 7f\s+vfmadd132nepbf16 ymm6,ymm5,YMMWORD PTR \[ecx\+0xfe0\]
+\s*[a-f0-9]+:\s*62 f6 54 bf 98 72 80\s+vfmadd132nepbf16 ymm6\{k7\}\{z\},ymm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f6 54 0f 98 b4 f4 00 00 00 10\s+vfmadd132nepbf16 xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f6 54 18 98 31\s+vfmadd132nepbf16 xmm6,xmm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f6 54 08 98 71 7f\s+vfmadd132nepbf16 xmm6,xmm5,XMMWORD PTR \[ecx\+0x7f0\]
+\s*[a-f0-9]+:\s*62 f6 54 9f 98 72 80\s+vfmadd132nepbf16 xmm6\{k7\}\{z\},xmm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f6 54 28 a8 f4\s+vfmadd213nepbf16 ymm6,ymm5,ymm4
+\s*[a-f0-9]+:\s*62 f6 54 08 a8 f4\s+vfmadd213nepbf16 xmm6,xmm5,xmm4
+\s*[a-f0-9]+:\s*62 f6 54 2f a8 b4 f4 00 00 00 10\s+vfmadd213nepbf16 ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f6 54 38 a8 31\s+vfmadd213nepbf16 ymm6,ymm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f6 54 28 a8 71 7f\s+vfmadd213nepbf16 ymm6,ymm5,YMMWORD PTR \[ecx\+0xfe0\]
+\s*[a-f0-9]+:\s*62 f6 54 bf a8 72 80\s+vfmadd213nepbf16 ymm6\{k7\}\{z\},ymm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f6 54 0f a8 b4 f4 00 00 00 10\s+vfmadd213nepbf16 xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f6 54 18 a8 31\s+vfmadd213nepbf16 xmm6,xmm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f6 54 08 a8 71 7f\s+vfmadd213nepbf16 xmm6,xmm5,XMMWORD PTR \[ecx\+0x7f0\]
+\s*[a-f0-9]+:\s*62 f6 54 9f a8 72 80\s+vfmadd213nepbf16 xmm6\{k7\}\{z\},xmm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f6 54 28 b8 f4\s+vfmadd231nepbf16 ymm6,ymm5,ymm4
+\s*[a-f0-9]+:\s*62 f6 54 08 b8 f4\s+vfmadd231nepbf16 xmm6,xmm5,xmm4
+\s*[a-f0-9]+:\s*62 f6 54 2f b8 b4 f4 00 00 00 10\s+vfmadd231nepbf16 ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f6 54 38 b8 31\s+vfmadd231nepbf16 ymm6,ymm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f6 54 28 b8 71 7f\s+vfmadd231nepbf16 ymm6,ymm5,YMMWORD PTR \[ecx\+0xfe0\]
+\s*[a-f0-9]+:\s*62 f6 54 bf b8 72 80\s+vfmadd231nepbf16 ymm6\{k7\}\{z\},ymm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f6 54 0f b8 b4 f4 00 00 00 10\s+vfmadd231nepbf16 xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f6 54 18 b8 31\s+vfmadd231nepbf16 xmm6,xmm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f6 54 08 b8 71 7f\s+vfmadd231nepbf16 xmm6,xmm5,XMMWORD PTR \[ecx\+0x7f0\]
+\s*[a-f0-9]+:\s*62 f6 54 9f b8 72 80\s+vfmadd231nepbf16 xmm6\{k7\}\{z\},xmm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f6 54 28 9a f4\s+vfmsub132nepbf16 ymm6,ymm5,ymm4
+\s*[a-f0-9]+:\s*62 f6 54 08 9a f4\s+vfmsub132nepbf16 xmm6,xmm5,xmm4
+\s*[a-f0-9]+:\s*62 f6 54 2f 9a b4 f4 00 00 00 10\s+vfmsub132nepbf16 ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f6 54 38 9a 31\s+vfmsub132nepbf16 ymm6,ymm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f6 54 28 9a 71 7f\s+vfmsub132nepbf16 ymm6,ymm5,YMMWORD PTR \[ecx\+0xfe0\]
+\s*[a-f0-9]+:\s*62 f6 54 bf 9a 72 80\s+vfmsub132nepbf16 ymm6\{k7\}\{z\},ymm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f6 54 0f 9a b4 f4 00 00 00 10\s+vfmsub132nepbf16 xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f6 54 18 9a 31\s+vfmsub132nepbf16 xmm6,xmm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f6 54 08 9a 71 7f\s+vfmsub132nepbf16 xmm6,xmm5,XMMWORD PTR \[ecx\+0x7f0\]
+\s*[a-f0-9]+:\s*62 f6 54 9f 9a 72 80\s+vfmsub132nepbf16 xmm6\{k7\}\{z\},xmm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f6 54 28 aa f4\s+vfmsub213nepbf16 ymm6,ymm5,ymm4
+\s*[a-f0-9]+:\s*62 f6 54 08 aa f4\s+vfmsub213nepbf16 xmm6,xmm5,xmm4
+\s*[a-f0-9]+:\s*62 f6 54 2f aa b4 f4 00 00 00 10\s+vfmsub213nepbf16 ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f6 54 38 aa 31\s+vfmsub213nepbf16 ymm6,ymm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f6 54 28 aa 71 7f\s+vfmsub213nepbf16 ymm6,ymm5,YMMWORD PTR \[ecx\+0xfe0\]
+\s*[a-f0-9]+:\s*62 f6 54 bf aa 72 80\s+vfmsub213nepbf16 ymm6\{k7\}\{z\},ymm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f6 54 0f aa b4 f4 00 00 00 10\s+vfmsub213nepbf16 xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f6 54 18 aa 31\s+vfmsub213nepbf16 xmm6,xmm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f6 54 08 aa 71 7f\s+vfmsub213nepbf16 xmm6,xmm5,XMMWORD PTR \[ecx\+0x7f0\]
+\s*[a-f0-9]+:\s*62 f6 54 9f aa 72 80\s+vfmsub213nepbf16 xmm6\{k7\}\{z\},xmm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f6 54 28 ba f4\s+vfmsub231nepbf16 ymm6,ymm5,ymm4
+\s*[a-f0-9]+:\s*62 f6 54 08 ba f4\s+vfmsub231nepbf16 xmm6,xmm5,xmm4
+\s*[a-f0-9]+:\s*62 f6 54 2f ba b4 f4 00 00 00 10\s+vfmsub231nepbf16 ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f6 54 38 ba 31\s+vfmsub231nepbf16 ymm6,ymm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f6 54 28 ba 71 7f\s+vfmsub231nepbf16 ymm6,ymm5,YMMWORD PTR \[ecx\+0xfe0\]
+\s*[a-f0-9]+:\s*62 f6 54 bf ba 72 80\s+vfmsub231nepbf16 ymm6\{k7\}\{z\},ymm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f6 54 0f ba b4 f4 00 00 00 10\s+vfmsub231nepbf16 xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f6 54 18 ba 31\s+vfmsub231nepbf16 xmm6,xmm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f6 54 08 ba 71 7f\s+vfmsub231nepbf16 xmm6,xmm5,XMMWORD PTR \[ecx\+0x7f0\]
+\s*[a-f0-9]+:\s*62 f6 54 9f ba 72 80\s+vfmsub231nepbf16 xmm6\{k7\}\{z\},xmm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f6 54 28 9c f4\s+vfnmadd132nepbf16 ymm6,ymm5,ymm4
+\s*[a-f0-9]+:\s*62 f6 54 08 9c f4\s+vfnmadd132nepbf16 xmm6,xmm5,xmm4
+\s*[a-f0-9]+:\s*62 f6 54 2f 9c b4 f4 00 00 00 10\s+vfnmadd132nepbf16 ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f6 54 38 9c 31\s+vfnmadd132nepbf16 ymm6,ymm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f6 54 28 9c 71 7f\s+vfnmadd132nepbf16 ymm6,ymm5,YMMWORD PTR \[ecx\+0xfe0\]
+\s*[a-f0-9]+:\s*62 f6 54 bf 9c 72 80\s+vfnmadd132nepbf16 ymm6\{k7\}\{z\},ymm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f6 54 0f 9c b4 f4 00 00 00 10\s+vfnmadd132nepbf16 xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f6 54 18 9c 31\s+vfnmadd132nepbf16 xmm6,xmm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f6 54 08 9c 71 7f\s+vfnmadd132nepbf16 xmm6,xmm5,XMMWORD PTR \[ecx\+0x7f0\]
+\s*[a-f0-9]+:\s*62 f6 54 9f 9c 72 80\s+vfnmadd132nepbf16 xmm6\{k7\}\{z\},xmm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f6 54 28 ac f4\s+vfnmadd213nepbf16 ymm6,ymm5,ymm4
+\s*[a-f0-9]+:\s*62 f6 54 08 ac f4\s+vfnmadd213nepbf16 xmm6,xmm5,xmm4
+\s*[a-f0-9]+:\s*62 f6 54 2f ac b4 f4 00 00 00 10\s+vfnmadd213nepbf16 ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f6 54 38 ac 31\s+vfnmadd213nepbf16 ymm6,ymm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f6 54 28 ac 71 7f\s+vfnmadd213nepbf16 ymm6,ymm5,YMMWORD PTR \[ecx\+0xfe0\]
+\s*[a-f0-9]+:\s*62 f6 54 bf ac 72 80\s+vfnmadd213nepbf16 ymm6\{k7\}\{z\},ymm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f6 54 0f ac b4 f4 00 00 00 10\s+vfnmadd213nepbf16 xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f6 54 18 ac 31\s+vfnmadd213nepbf16 xmm6,xmm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f6 54 08 ac 71 7f\s+vfnmadd213nepbf16 xmm6,xmm5,XMMWORD PTR \[ecx\+0x7f0\]
+\s*[a-f0-9]+:\s*62 f6 54 9f ac 72 80\s+vfnmadd213nepbf16 xmm6\{k7\}\{z\},xmm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f6 54 28 bc f4\s+vfnmadd231nepbf16 ymm6,ymm5,ymm4
+\s*[a-f0-9]+:\s*62 f6 54 08 bc f4\s+vfnmadd231nepbf16 xmm6,xmm5,xmm4
+\s*[a-f0-9]+:\s*62 f6 54 2f bc b4 f4 00 00 00 10\s+vfnmadd231nepbf16 ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f6 54 38 bc 31\s+vfnmadd231nepbf16 ymm6,ymm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f6 54 28 bc 71 7f\s+vfnmadd231nepbf16 ymm6,ymm5,YMMWORD PTR \[ecx\+0xfe0\]
+\s*[a-f0-9]+:\s*62 f6 54 bf bc 72 80\s+vfnmadd231nepbf16 ymm6\{k7\}\{z\},ymm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f6 54 0f bc b4 f4 00 00 00 10\s+vfnmadd231nepbf16 xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f6 54 18 bc 31\s+vfnmadd231nepbf16 xmm6,xmm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f6 54 08 bc 71 7f\s+vfnmadd231nepbf16 xmm6,xmm5,XMMWORD PTR \[ecx\+0x7f0\]
+\s*[a-f0-9]+:\s*62 f6 54 9f bc 72 80\s+vfnmadd231nepbf16 xmm6\{k7\}\{z\},xmm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f6 54 28 9e f4\s+vfnmsub132nepbf16 ymm6,ymm5,ymm4
+\s*[a-f0-9]+:\s*62 f6 54 08 9e f4\s+vfnmsub132nepbf16 xmm6,xmm5,xmm4
+\s*[a-f0-9]+:\s*62 f6 54 2f 9e b4 f4 00 00 00 10\s+vfnmsub132nepbf16 ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f6 54 38 9e 31\s+vfnmsub132nepbf16 ymm6,ymm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f6 54 28 9e 71 7f\s+vfnmsub132nepbf16 ymm6,ymm5,YMMWORD PTR \[ecx\+0xfe0\]
+\s*[a-f0-9]+:\s*62 f6 54 bf 9e 72 80\s+vfnmsub132nepbf16 ymm6\{k7\}\{z\},ymm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f6 54 0f 9e b4 f4 00 00 00 10\s+vfnmsub132nepbf16 xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f6 54 18 9e 31\s+vfnmsub132nepbf16 xmm6,xmm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f6 54 08 9e 71 7f\s+vfnmsub132nepbf16 xmm6,xmm5,XMMWORD PTR \[ecx\+0x7f0\]
+\s*[a-f0-9]+:\s*62 f6 54 9f 9e 72 80\s+vfnmsub132nepbf16 xmm6\{k7\}\{z\},xmm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f6 54 28 ae f4\s+vfnmsub213nepbf16 ymm6,ymm5,ymm4
+\s*[a-f0-9]+:\s*62 f6 54 08 ae f4\s+vfnmsub213nepbf16 xmm6,xmm5,xmm4
+\s*[a-f0-9]+:\s*62 f6 54 2f ae b4 f4 00 00 00 10\s+vfnmsub213nepbf16 ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f6 54 38 ae 31\s+vfnmsub213nepbf16 ymm6,ymm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f6 54 28 ae 71 7f\s+vfnmsub213nepbf16 ymm6,ymm5,YMMWORD PTR \[ecx\+0xfe0\]
+\s*[a-f0-9]+:\s*62 f6 54 bf ae 72 80\s+vfnmsub213nepbf16 ymm6\{k7\}\{z\},ymm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f6 54 0f ae b4 f4 00 00 00 10\s+vfnmsub213nepbf16 xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f6 54 18 ae 31\s+vfnmsub213nepbf16 xmm6,xmm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f6 54 08 ae 71 7f\s+vfnmsub213nepbf16 xmm6,xmm5,XMMWORD PTR \[ecx\+0x7f0\]
+\s*[a-f0-9]+:\s*62 f6 54 9f ae 72 80\s+vfnmsub213nepbf16 xmm6\{k7\}\{z\},xmm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f6 54 28 be f4\s+vfnmsub231nepbf16 ymm6,ymm5,ymm4
+\s*[a-f0-9]+:\s*62 f6 54 08 be f4\s+vfnmsub231nepbf16 xmm6,xmm5,xmm4
+\s*[a-f0-9]+:\s*62 f6 54 2f be b4 f4 00 00 00 10\s+vfnmsub231nepbf16 ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f6 54 38 be 31\s+vfnmsub231nepbf16 ymm6,ymm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f6 54 28 be 71 7f\s+vfnmsub231nepbf16 ymm6,ymm5,YMMWORD PTR \[ecx\+0xfe0\]
+\s*[a-f0-9]+:\s*62 f6 54 bf be 72 80\s+vfnmsub231nepbf16 ymm6\{k7\}\{z\},ymm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f6 54 0f be b4 f4 00 00 00 10\s+vfnmsub231nepbf16 xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f6 54 18 be 31\s+vfnmsub231nepbf16 xmm6,xmm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f6 54 08 be 71 7f\s+vfnmsub231nepbf16 xmm6,xmm5,XMMWORD PTR \[ecx\+0x7f0\]
+\s*[a-f0-9]+:\s*62 f6 54 9f be 72 80\s+vfnmsub231nepbf16 xmm6\{k7\}\{z\},xmm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f6 7c 08 42 f5\s+vgetexppbf16 xmm6,xmm5
+\s*[a-f0-9]+:\s*62 f6 7c 28 42 f5\s+vgetexppbf16 ymm6,ymm5
+\s*[a-f0-9]+:\s*62 f6 7c 0f 42 b4 f4 00 00 00 10\s+vgetexppbf16 xmm6\{k7\},XMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f6 7c 18 42 31\s+vgetexppbf16 xmm6,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f6 7c 08 42 71 7f\s+vgetexppbf16 xmm6,XMMWORD PTR \[ecx\+0x7f0\]
+\s*[a-f0-9]+:\s*62 f6 7c 9f 42 72 80\s+vgetexppbf16 xmm6\{k7\}\{z\},WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f6 7c 2f 42 b4 f4 00 00 00 10\s+vgetexppbf16 ymm6\{k7\},YMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f6 7c 38 42 31\s+vgetexppbf16 ymm6,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f6 7c 28 42 71 7f\s+vgetexppbf16 ymm6,YMMWORD PTR \[ecx\+0xfe0\]
+\s*[a-f0-9]+:\s*62 f6 7c bf 42 72 80\s+vgetexppbf16 ymm6\{k7\}\{z\},WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f6 7c 08 4c f5\s+vrcppbf16 xmm6,xmm5
+\s*[a-f0-9]+:\s*62 f6 7c 28 4c f5\s+vrcppbf16 ymm6,ymm5
+\s*[a-f0-9]+:\s*62 f6 7c 0f 4c b4 f4 00 00 00 10\s+vrcppbf16 xmm6\{k7\},XMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f6 7c 18 4c 31\s+vrcppbf16 xmm6,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f6 7c 08 4c 71 7f\s+vrcppbf16 xmm6,XMMWORD PTR \[ecx\+0x7f0\]
+\s*[a-f0-9]+:\s*62 f6 7c 9f 4c 72 80\s+vrcppbf16 xmm6\{k7\}\{z\},WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f6 7c 2f 4c b4 f4 00 00 00 10\s+vrcppbf16 ymm6\{k7\},YMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f6 7c 38 4c 31\s+vrcppbf16 ymm6,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f6 7c 28 4c 71 7f\s+vrcppbf16 ymm6,YMMWORD PTR \[ecx\+0xfe0\]
+\s*[a-f0-9]+:\s*62 f6 7c bf 4c 72 80\s+vrcppbf16 ymm6\{k7\}\{z\},WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f6 7c 08 4e f5\s+vrsqrtpbf16 xmm6,xmm5
+\s*[a-f0-9]+:\s*62 f6 7c 28 4e f5\s+vrsqrtpbf16 ymm6,ymm5
+\s*[a-f0-9]+:\s*62 f6 7c 0f 4e b4 f4 00 00 00 10\s+vrsqrtpbf16 xmm6\{k7\},XMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f6 7c 18 4e 31\s+vrsqrtpbf16 xmm6,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f6 7c 08 4e 71 7f\s+vrsqrtpbf16 xmm6,XMMWORD PTR \[ecx\+0x7f0\]
+\s*[a-f0-9]+:\s*62 f6 7c 9f 4e 72 80\s+vrsqrtpbf16 xmm6\{k7\}\{z\},WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f6 7c 2f 4e b4 f4 00 00 00 10\s+vrsqrtpbf16 ymm6\{k7\},YMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f6 7c 38 4e 31\s+vrsqrtpbf16 ymm6,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f6 7c 28 4e 71 7f\s+vrsqrtpbf16 ymm6,YMMWORD PTR \[ecx\+0xfe0\]
+\s*[a-f0-9]+:\s*62 f6 7c bf 4e 72 80\s+vrsqrtpbf16 ymm6\{k7\}\{z\},WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f5 7d 08 51 f5\s+vsqrtnepbf16 xmm6,xmm5
+\s*[a-f0-9]+:\s*62 f5 7d 28 51 f5\s+vsqrtnepbf16 ymm6,ymm5
+\s*[a-f0-9]+:\s*62 f5 7d 0f 51 b4 f4 00 00 00 10\s+vsqrtnepbf16 xmm6\{k7\},XMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f5 7d 18 51 31\s+vsqrtnepbf16 xmm6,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f5 7d 08 51 71 7f\s+vsqrtnepbf16 xmm6,XMMWORD PTR \[ecx\+0x7f0\]
+\s*[a-f0-9]+:\s*62 f5 7d 9f 51 72 80\s+vsqrtnepbf16 xmm6\{k7\}\{z\},WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f5 7d 2f 51 b4 f4 00 00 00 10\s+vsqrtnepbf16 ymm6\{k7\},YMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f5 7d 38 51 31\s+vsqrtnepbf16 ymm6,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f5 7d 28 51 71 7f\s+vsqrtnepbf16 ymm6,YMMWORD PTR \[ecx\+0xfe0\]
+\s*[a-f0-9]+:\s*62 f5 7d bf 51 72 80\s+vsqrtnepbf16 ymm6\{k7\}\{z\},WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f3 7f 28 26 f5 7b\s+vgetmantpbf16 ymm6,ymm5,0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 08 26 f5 7b\s+vgetmantpbf16 xmm6,xmm5,0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 0f 26 b4 f4 00 00 00 10 7b\s+vgetmantpbf16 xmm6\{k7\},XMMWORD PTR \[esp\+esi\*8\+0x10000000\],0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 18 26 31 7b\s+vgetmantpbf16 xmm6,WORD BCST \[ecx\],0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 08 26 71 7f 7b\s+vgetmantpbf16 xmm6,XMMWORD PTR \[ecx\+0x7f0\],0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 9f 26 72 80 7b\s+vgetmantpbf16 xmm6\{k7\}\{z\},WORD BCST \[edx-0x100\],0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 2f 26 b4 f4 00 00 00 10 7b\s+vgetmantpbf16 ymm6\{k7\},YMMWORD PTR \[esp\+esi\*8\+0x10000000\],0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 38 26 31 7b\s+vgetmantpbf16 ymm6,WORD BCST \[ecx\],0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 28 26 71 7f 7b\s+vgetmantpbf16 ymm6,YMMWORD PTR \[ecx\+0xfe0\],0x7b
+\s*[a-f0-9]+:\s*62 f3 7f bf 26 72 80 7b\s+vgetmantpbf16 ymm6\{k7\}\{z\},WORD BCST \[edx-0x100\],0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 28 56 f5 7b\s+vreducenepbf16 ymm6,ymm5,0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 08 56 f5 7b\s+vreducenepbf16 xmm6,xmm5,0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 0f 56 b4 f4 00 00 00 10 7b\s+vreducenepbf16 xmm6\{k7\},XMMWORD PTR \[esp\+esi\*8\+0x10000000\],0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 18 56 31 7b\s+vreducenepbf16 xmm6,WORD BCST \[ecx\],0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 08 56 71 7f 7b\s+vreducenepbf16 xmm6,XMMWORD PTR \[ecx\+0x7f0\],0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 9f 56 72 80 7b\s+vreducenepbf16 xmm6\{k7\}\{z\},WORD BCST \[edx-0x100\],0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 2f 56 b4 f4 00 00 00 10 7b\s+vreducenepbf16 ymm6\{k7\},YMMWORD PTR \[esp\+esi\*8\+0x10000000\],0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 38 56 31 7b\s+vreducenepbf16 ymm6,WORD BCST \[ecx\],0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 28 56 71 7f 7b\s+vreducenepbf16 ymm6,YMMWORD PTR \[ecx\+0xfe0\],0x7b
+\s*[a-f0-9]+:\s*62 f3 7f bf 56 72 80 7b\s+vreducenepbf16 ymm6\{k7\}\{z\},WORD BCST \[edx-0x100\],0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 28 08 f5 7b\s+vrndscalenepbf16 ymm6,ymm5,0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 08 08 f5 7b\s+vrndscalenepbf16 xmm6,xmm5,0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 0f 08 b4 f4 00 00 00 10 7b\s+vrndscalenepbf16 xmm6\{k7\},XMMWORD PTR \[esp\+esi\*8\+0x10000000\],0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 18 08 31 7b\s+vrndscalenepbf16 xmm6,WORD BCST \[ecx\],0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 08 08 71 7f 7b\s+vrndscalenepbf16 xmm6,XMMWORD PTR \[ecx\+0x7f0\],0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 9f 08 72 80 7b\s+vrndscalenepbf16 xmm6\{k7\}\{z\},WORD BCST \[edx-0x100\],0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 2f 08 b4 f4 00 00 00 10 7b\s+vrndscalenepbf16 ymm6\{k7\},YMMWORD PTR \[esp\+esi\*8\+0x10000000\],0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 38 08 31 7b\s+vrndscalenepbf16 ymm6,WORD BCST \[ecx\],0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 28 08 71 7f 7b\s+vrndscalenepbf16 ymm6,YMMWORD PTR \[ecx\+0xfe0\],0x7b
+\s*[a-f0-9]+:\s*62 f3 7f bf 08 72 80 7b\s+vrndscalenepbf16 ymm6\{k7\}\{z\},WORD BCST \[edx-0x100\],0x7b
+\s*[a-f0-9]+:\s*62 f3 57 28 c2 ec 7b\s+vcmppbf16 k5,ymm5,ymm4,0x7b
+\s*[a-f0-9]+:\s*62 f3 57 08 c2 ec 7b\s+vcmppbf16 k5,xmm5,xmm4,0x7b
+\s*[a-f0-9]+:\s*62 f3 57 0f c2 ac f4 00 00 00 10 7b\s+vcmppbf16 k5\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\],0x7b
+\s*[a-f0-9]+:\s*62 f3 57 18 c2 29 7b\s+vcmppbf16 k5,xmm5,WORD BCST \[ecx\],0x7b
+\s*[a-f0-9]+:\s*62 f3 57 08 c2 69 7f 7b\s+vcmppbf16 k5,xmm5,XMMWORD PTR \[ecx\+0x7f0\],0x7b
+\s*[a-f0-9]+:\s*62 f3 57 1f c2 6a 80 7b\s+vcmppbf16 k5\{k7\},xmm5,WORD BCST \[edx-0x100\],0x7b
+\s*[a-f0-9]+:\s*62 f3 57 2f c2 ac f4 00 00 00 10 7b\s+vcmppbf16 k5\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\],0x7b
+\s*[a-f0-9]+:\s*62 f3 57 38 c2 29 7b\s+vcmppbf16 k5,ymm5,WORD BCST \[ecx\],0x7b
+\s*[a-f0-9]+:\s*62 f3 57 28 c2 69 7f 7b\s+vcmppbf16 k5,ymm5,YMMWORD PTR \[ecx\+0xfe0\],0x7b
+\s*[a-f0-9]+:\s*62 f3 57 3f c2 6a 80 7b\s+vcmppbf16 k5\{k7\},ymm5,WORD BCST \[edx-0x100\],0x7b
+\s*[a-f0-9]+:\s*62 f5 7d 08 2f f5\s+vcomsbf16 xmm6,xmm5
+\s*[a-f0-9]+:\s*62 f5 7d 08 2f b4 f4 00 00 00 10\s+vcomsbf16 xmm6,WORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f5 7d 08 2f 31\s+vcomsbf16 xmm6,WORD PTR \[ecx\]
+\s*[a-f0-9]+:\s*62 f5 7d 08 2f 71 7f\s+vcomsbf16 xmm6,WORD PTR \[ecx\+0xfe\]
+\s*[a-f0-9]+:\s*62 f5 7d 08 2f 72 80\s+vcomsbf16 xmm6,WORD PTR \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f3 7f 28 66 ed 7b\s+vfpclasspbf16 k5,ymm5,0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 08 66 ed 7b\s+vfpclasspbf16 k5,xmm5,0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 0f 66 ac f4 00 00 00 10 7b\s+vfpclasspbf16 k5\{k7\},XMMWORD PTR \[esp\+esi\*8\+0x10000000\],0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 18 66 29 7b\s+vfpclasspbf16 k5,WORD BCST \[ecx\]\{1to8\},0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 08 66 69 7f 7b\s+vfpclasspbf16 k5,XMMWORD PTR \[ecx\+0x7f0\],0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 1f 66 6a 80 7b\s+vfpclasspbf16 k5\{k7\},WORD BCST \[edx-0x100\]\{1to8\},0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 38 66 29 7b\s+vfpclasspbf16 k5,WORD BCST \[ecx\]\{1to16\},0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 28 66 69 7f 7b\s+vfpclasspbf16 k5,YMMWORD PTR \[ecx\+0xfe0\],0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 3f 66 6a 80 7b\s+vfpclasspbf16 k5\{k7\},WORD BCST \[edx-0x100\]\{1to16\},0x7b
+#pass
diff --git a/gas/testsuite/gas/i386/avx10_2-256-bf16.d b/gas/testsuite/gas/i386/avx10_2-256-bf16.d
new file mode 100644
index 00000000000..a426bf149ea
--- /dev/null
+++ b/gas/testsuite/gas/i386/avx10_2-256-bf16.d
@@ -0,0 +1,294 @@ 
+#objdump: -dw
+#name: i386 AVX10.2/256 BF16 insns
+
+.*: +file format .*
+
+
+Disassembly of section .text:
+
+0+ <_start>:
+\s*[a-f0-9]+:\s*62 f5 55 28 58 f4\s+vaddnepbf16 %ymm4,%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f5 55 08 58 f4\s+vaddnepbf16 %xmm4,%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f5 55 2f 58 b4 f4 00 00 00 10\s+vaddnepbf16 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f5 55 38 58 31\s+vaddnepbf16 \(%ecx\)\{1to16\},%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f5 55 28 58 71 7f\s+vaddnepbf16 0xfe0\(%ecx\),%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f5 55 bf 58 72 80\s+vaddnepbf16 -0x100\(%edx\)\{1to16\},%ymm5,%ymm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f5 55 0f 58 b4 f4 00 00 00 10\s+vaddnepbf16 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f5 55 18 58 31\s+vaddnepbf16 \(%ecx\)\{1to8\},%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f5 55 08 58 71 7f\s+vaddnepbf16 0x7f0\(%ecx\),%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f5 55 9f 58 72 80\s+vaddnepbf16 -0x100\(%edx\)\{1to8\},%xmm5,%xmm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f5 55 28 5e f4\s+vdivnepbf16 %ymm4,%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f5 55 08 5e f4\s+vdivnepbf16 %xmm4,%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f5 55 2f 5e b4 f4 00 00 00 10\s+vdivnepbf16 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f5 55 38 5e 31\s+vdivnepbf16 \(%ecx\)\{1to16\},%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f5 55 28 5e 71 7f\s+vdivnepbf16 0xfe0\(%ecx\),%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f5 55 bf 5e 72 80\s+vdivnepbf16 -0x100\(%edx\)\{1to16\},%ymm5,%ymm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f5 55 0f 5e b4 f4 00 00 00 10\s+vdivnepbf16 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f5 55 18 5e 31\s+vdivnepbf16 \(%ecx\)\{1to8\},%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f5 55 08 5e 71 7f\s+vdivnepbf16 0x7f0\(%ecx\),%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f5 55 9f 5e 72 80\s+vdivnepbf16 -0x100\(%edx\)\{1to8\},%xmm5,%xmm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f5 55 28 5f f4\s+vmaxpbf16 %ymm4,%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f5 55 08 5f f4\s+vmaxpbf16 %xmm4,%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f5 55 2f 5f b4 f4 00 00 00 10\s+vmaxpbf16 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f5 55 38 5f 31\s+vmaxpbf16 \(%ecx\)\{1to16\},%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f5 55 28 5f 71 7f\s+vmaxpbf16 0xfe0\(%ecx\),%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f5 55 bf 5f 72 80\s+vmaxpbf16 -0x100\(%edx\)\{1to16\},%ymm5,%ymm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f5 55 0f 5f b4 f4 00 00 00 10\s+vmaxpbf16 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f5 55 18 5f 31\s+vmaxpbf16 \(%ecx\)\{1to8\},%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f5 55 08 5f 71 7f\s+vmaxpbf16 0x7f0\(%ecx\),%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f5 55 9f 5f 72 80\s+vmaxpbf16 -0x100\(%edx\)\{1to8\},%xmm5,%xmm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f5 55 28 5d f4\s+vminpbf16 %ymm4,%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f5 55 08 5d f4\s+vminpbf16 %xmm4,%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f5 55 2f 5d b4 f4 00 00 00 10\s+vminpbf16 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f5 55 38 5d 31\s+vminpbf16 \(%ecx\)\{1to16\},%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f5 55 28 5d 71 7f\s+vminpbf16 0xfe0\(%ecx\),%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f5 55 bf 5d 72 80\s+vminpbf16 -0x100\(%edx\)\{1to16\},%ymm5,%ymm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f5 55 0f 5d b4 f4 00 00 00 10\s+vminpbf16 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f5 55 18 5d 31\s+vminpbf16 \(%ecx\)\{1to8\},%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f5 55 08 5d 71 7f\s+vminpbf16 0x7f0\(%ecx\),%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f5 55 9f 5d 72 80\s+vminpbf16 -0x100\(%edx\)\{1to8\},%xmm5,%xmm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f5 55 28 59 f4\s+vmulnepbf16 %ymm4,%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f5 55 08 59 f4\s+vmulnepbf16 %xmm4,%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f5 55 2f 59 b4 f4 00 00 00 10\s+vmulnepbf16 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f5 55 38 59 31\s+vmulnepbf16 \(%ecx\)\{1to16\},%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f5 55 28 59 71 7f\s+vmulnepbf16 0xfe0\(%ecx\),%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f5 55 bf 59 72 80\s+vmulnepbf16 -0x100\(%edx\)\{1to16\},%ymm5,%ymm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f5 55 0f 59 b4 f4 00 00 00 10\s+vmulnepbf16 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f5 55 18 59 31\s+vmulnepbf16 \(%ecx\)\{1to8\},%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f5 55 08 59 71 7f\s+vmulnepbf16 0x7f0\(%ecx\),%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f5 55 9f 59 72 80\s+vmulnepbf16 -0x100\(%edx\)\{1to8\},%xmm5,%xmm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f6 54 28 2c f4\s+vscalefpbf16 %ymm4,%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f6 54 08 2c f4\s+vscalefpbf16 %xmm4,%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f6 54 2f 2c b4 f4 00 00 00 10\s+vscalefpbf16 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f6 54 38 2c 31\s+vscalefpbf16 \(%ecx\)\{1to16\},%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f6 54 28 2c 71 7f\s+vscalefpbf16 0xfe0\(%ecx\),%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f6 54 bf 2c 72 80\s+vscalefpbf16 -0x100\(%edx\)\{1to16\},%ymm5,%ymm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f6 54 0f 2c b4 f4 00 00 00 10\s+vscalefpbf16 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f6 54 18 2c 31\s+vscalefpbf16 \(%ecx\)\{1to8\},%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f6 54 08 2c 71 7f\s+vscalefpbf16 0x7f0\(%ecx\),%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f6 54 9f 2c 72 80\s+vscalefpbf16 -0x100\(%edx\)\{1to8\},%xmm5,%xmm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f5 55 28 5c f4\s+vsubnepbf16 %ymm4,%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f5 55 08 5c f4\s+vsubnepbf16 %xmm4,%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f5 55 2f 5c b4 f4 00 00 00 10\s+vsubnepbf16 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f5 55 38 5c 31\s+vsubnepbf16 \(%ecx\)\{1to16\},%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f5 55 28 5c 71 7f\s+vsubnepbf16 0xfe0\(%ecx\),%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f5 55 bf 5c 72 80\s+vsubnepbf16 -0x100\(%edx\)\{1to16\},%ymm5,%ymm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f5 55 0f 5c b4 f4 00 00 00 10\s+vsubnepbf16 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f5 55 18 5c 31\s+vsubnepbf16 \(%ecx\)\{1to8\},%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f5 55 08 5c 71 7f\s+vsubnepbf16 0x7f0\(%ecx\),%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f5 55 9f 5c 72 80\s+vsubnepbf16 -0x100\(%edx\)\{1to8\},%xmm5,%xmm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f6 54 28 98 f4\s+vfmadd132nepbf16 %ymm4,%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f6 54 08 98 f4\s+vfmadd132nepbf16 %xmm4,%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f6 54 2f 98 b4 f4 00 00 00 10\s+vfmadd132nepbf16 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f6 54 38 98 31\s+vfmadd132nepbf16 \(%ecx\)\{1to16\},%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f6 54 28 98 71 7f\s+vfmadd132nepbf16 0xfe0\(%ecx\),%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f6 54 bf 98 72 80\s+vfmadd132nepbf16 -0x100\(%edx\)\{1to16\},%ymm5,%ymm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f6 54 0f 98 b4 f4 00 00 00 10\s+vfmadd132nepbf16 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f6 54 18 98 31\s+vfmadd132nepbf16 \(%ecx\)\{1to8\},%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f6 54 08 98 71 7f\s+vfmadd132nepbf16 0x7f0\(%ecx\),%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f6 54 9f 98 72 80\s+vfmadd132nepbf16 -0x100\(%edx\)\{1to8\},%xmm5,%xmm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f6 54 28 a8 f4\s+vfmadd213nepbf16 %ymm4,%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f6 54 08 a8 f4\s+vfmadd213nepbf16 %xmm4,%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f6 54 2f a8 b4 f4 00 00 00 10\s+vfmadd213nepbf16 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f6 54 38 a8 31\s+vfmadd213nepbf16 \(%ecx\)\{1to16\},%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f6 54 28 a8 71 7f\s+vfmadd213nepbf16 0xfe0\(%ecx\),%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f6 54 bf a8 72 80\s+vfmadd213nepbf16 -0x100\(%edx\)\{1to16\},%ymm5,%ymm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f6 54 0f a8 b4 f4 00 00 00 10\s+vfmadd213nepbf16 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f6 54 18 a8 31\s+vfmadd213nepbf16 \(%ecx\)\{1to8\},%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f6 54 08 a8 71 7f\s+vfmadd213nepbf16 0x7f0\(%ecx\),%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f6 54 9f a8 72 80\s+vfmadd213nepbf16 -0x100\(%edx\)\{1to8\},%xmm5,%xmm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f6 54 28 b8 f4\s+vfmadd231nepbf16 %ymm4,%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f6 54 08 b8 f4\s+vfmadd231nepbf16 %xmm4,%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f6 54 2f b8 b4 f4 00 00 00 10\s+vfmadd231nepbf16 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f6 54 38 b8 31\s+vfmadd231nepbf16 \(%ecx\)\{1to16\},%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f6 54 28 b8 71 7f\s+vfmadd231nepbf16 0xfe0\(%ecx\),%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f6 54 bf b8 72 80\s+vfmadd231nepbf16 -0x100\(%edx\)\{1to16\},%ymm5,%ymm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f6 54 0f b8 b4 f4 00 00 00 10\s+vfmadd231nepbf16 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f6 54 18 b8 31\s+vfmadd231nepbf16 \(%ecx\)\{1to8\},%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f6 54 08 b8 71 7f\s+vfmadd231nepbf16 0x7f0\(%ecx\),%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f6 54 9f b8 72 80\s+vfmadd231nepbf16 -0x100\(%edx\)\{1to8\},%xmm5,%xmm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f6 54 28 9a f4\s+vfmsub132nepbf16 %ymm4,%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f6 54 08 9a f4\s+vfmsub132nepbf16 %xmm4,%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f6 54 2f 9a b4 f4 00 00 00 10\s+vfmsub132nepbf16 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f6 54 38 9a 31\s+vfmsub132nepbf16 \(%ecx\)\{1to16\},%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f6 54 28 9a 71 7f\s+vfmsub132nepbf16 0xfe0\(%ecx\),%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f6 54 bf 9a 72 80\s+vfmsub132nepbf16 -0x100\(%edx\)\{1to16\},%ymm5,%ymm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f6 54 0f 9a b4 f4 00 00 00 10\s+vfmsub132nepbf16 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f6 54 18 9a 31\s+vfmsub132nepbf16 \(%ecx\)\{1to8\},%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f6 54 08 9a 71 7f\s+vfmsub132nepbf16 0x7f0\(%ecx\),%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f6 54 9f 9a 72 80\s+vfmsub132nepbf16 -0x100\(%edx\)\{1to8\},%xmm5,%xmm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f6 54 28 aa f4\s+vfmsub213nepbf16 %ymm4,%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f6 54 08 aa f4\s+vfmsub213nepbf16 %xmm4,%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f6 54 2f aa b4 f4 00 00 00 10\s+vfmsub213nepbf16 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f6 54 38 aa 31\s+vfmsub213nepbf16 \(%ecx\)\{1to16\},%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f6 54 28 aa 71 7f\s+vfmsub213nepbf16 0xfe0\(%ecx\),%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f6 54 bf aa 72 80\s+vfmsub213nepbf16 -0x100\(%edx\)\{1to16\},%ymm5,%ymm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f6 54 0f aa b4 f4 00 00 00 10\s+vfmsub213nepbf16 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f6 54 18 aa 31\s+vfmsub213nepbf16 \(%ecx\)\{1to8\},%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f6 54 08 aa 71 7f\s+vfmsub213nepbf16 0x7f0\(%ecx\),%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f6 54 9f aa 72 80\s+vfmsub213nepbf16 -0x100\(%edx\)\{1to8\},%xmm5,%xmm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f6 54 28 ba f4\s+vfmsub231nepbf16 %ymm4,%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f6 54 08 ba f4\s+vfmsub231nepbf16 %xmm4,%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f6 54 2f ba b4 f4 00 00 00 10\s+vfmsub231nepbf16 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f6 54 38 ba 31\s+vfmsub231nepbf16 \(%ecx\)\{1to16\},%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f6 54 28 ba 71 7f\s+vfmsub231nepbf16 0xfe0\(%ecx\),%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f6 54 bf ba 72 80\s+vfmsub231nepbf16 -0x100\(%edx\)\{1to16\},%ymm5,%ymm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f6 54 0f ba b4 f4 00 00 00 10\s+vfmsub231nepbf16 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f6 54 18 ba 31\s+vfmsub231nepbf16 \(%ecx\)\{1to8\},%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f6 54 08 ba 71 7f\s+vfmsub231nepbf16 0x7f0\(%ecx\),%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f6 54 9f ba 72 80\s+vfmsub231nepbf16 -0x100\(%edx\)\{1to8\},%xmm5,%xmm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f6 54 28 9c f4\s+vfnmadd132nepbf16 %ymm4,%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f6 54 08 9c f4\s+vfnmadd132nepbf16 %xmm4,%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f6 54 2f 9c b4 f4 00 00 00 10\s+vfnmadd132nepbf16 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f6 54 38 9c 31\s+vfnmadd132nepbf16 \(%ecx\)\{1to16\},%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f6 54 28 9c 71 7f\s+vfnmadd132nepbf16 0xfe0\(%ecx\),%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f6 54 bf 9c 72 80\s+vfnmadd132nepbf16 -0x100\(%edx\)\{1to16\},%ymm5,%ymm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f6 54 0f 9c b4 f4 00 00 00 10\s+vfnmadd132nepbf16 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f6 54 18 9c 31\s+vfnmadd132nepbf16 \(%ecx\)\{1to8\},%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f6 54 08 9c 71 7f\s+vfnmadd132nepbf16 0x7f0\(%ecx\),%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f6 54 9f 9c 72 80\s+vfnmadd132nepbf16 -0x100\(%edx\)\{1to8\},%xmm5,%xmm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f6 54 28 ac f4\s+vfnmadd213nepbf16 %ymm4,%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f6 54 08 ac f4\s+vfnmadd213nepbf16 %xmm4,%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f6 54 2f ac b4 f4 00 00 00 10\s+vfnmadd213nepbf16 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f6 54 38 ac 31\s+vfnmadd213nepbf16 \(%ecx\)\{1to16\},%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f6 54 28 ac 71 7f\s+vfnmadd213nepbf16 0xfe0\(%ecx\),%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f6 54 bf ac 72 80\s+vfnmadd213nepbf16 -0x100\(%edx\)\{1to16\},%ymm5,%ymm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f6 54 0f ac b4 f4 00 00 00 10\s+vfnmadd213nepbf16 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f6 54 18 ac 31\s+vfnmadd213nepbf16 \(%ecx\)\{1to8\},%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f6 54 08 ac 71 7f\s+vfnmadd213nepbf16 0x7f0\(%ecx\),%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f6 54 9f ac 72 80\s+vfnmadd213nepbf16 -0x100\(%edx\)\{1to8\},%xmm5,%xmm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f6 54 28 bc f4\s+vfnmadd231nepbf16 %ymm4,%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f6 54 08 bc f4\s+vfnmadd231nepbf16 %xmm4,%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f6 54 2f bc b4 f4 00 00 00 10\s+vfnmadd231nepbf16 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f6 54 38 bc 31\s+vfnmadd231nepbf16 \(%ecx\)\{1to16\},%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f6 54 28 bc 71 7f\s+vfnmadd231nepbf16 0xfe0\(%ecx\),%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f6 54 bf bc 72 80\s+vfnmadd231nepbf16 -0x100\(%edx\)\{1to16\},%ymm5,%ymm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f6 54 0f bc b4 f4 00 00 00 10\s+vfnmadd231nepbf16 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f6 54 18 bc 31\s+vfnmadd231nepbf16 \(%ecx\)\{1to8\},%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f6 54 08 bc 71 7f\s+vfnmadd231nepbf16 0x7f0\(%ecx\),%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f6 54 9f bc 72 80\s+vfnmadd231nepbf16 -0x100\(%edx\)\{1to8\},%xmm5,%xmm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f6 54 28 9e f4\s+vfnmsub132nepbf16 %ymm4,%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f6 54 08 9e f4\s+vfnmsub132nepbf16 %xmm4,%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f6 54 2f 9e b4 f4 00 00 00 10\s+vfnmsub132nepbf16 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f6 54 38 9e 31\s+vfnmsub132nepbf16 \(%ecx\)\{1to16\},%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f6 54 28 9e 71 7f\s+vfnmsub132nepbf16 0xfe0\(%ecx\),%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f6 54 bf 9e 72 80\s+vfnmsub132nepbf16 -0x100\(%edx\)\{1to16\},%ymm5,%ymm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f6 54 0f 9e b4 f4 00 00 00 10\s+vfnmsub132nepbf16 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f6 54 18 9e 31\s+vfnmsub132nepbf16 \(%ecx\)\{1to8\},%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f6 54 08 9e 71 7f\s+vfnmsub132nepbf16 0x7f0\(%ecx\),%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f6 54 9f 9e 72 80\s+vfnmsub132nepbf16 -0x100\(%edx\)\{1to8\},%xmm5,%xmm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f6 54 28 ae f4\s+vfnmsub213nepbf16 %ymm4,%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f6 54 08 ae f4\s+vfnmsub213nepbf16 %xmm4,%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f6 54 2f ae b4 f4 00 00 00 10\s+vfnmsub213nepbf16 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f6 54 38 ae 31\s+vfnmsub213nepbf16 \(%ecx\)\{1to16\},%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f6 54 28 ae 71 7f\s+vfnmsub213nepbf16 0xfe0\(%ecx\),%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f6 54 bf ae 72 80\s+vfnmsub213nepbf16 -0x100\(%edx\)\{1to16\},%ymm5,%ymm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f6 54 0f ae b4 f4 00 00 00 10\s+vfnmsub213nepbf16 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f6 54 18 ae 31\s+vfnmsub213nepbf16 \(%ecx\)\{1to8\},%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f6 54 08 ae 71 7f\s+vfnmsub213nepbf16 0x7f0\(%ecx\),%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f6 54 9f ae 72 80\s+vfnmsub213nepbf16 -0x100\(%edx\)\{1to8\},%xmm5,%xmm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f6 54 28 be f4\s+vfnmsub231nepbf16 %ymm4,%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f6 54 08 be f4\s+vfnmsub231nepbf16 %xmm4,%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f6 54 2f be b4 f4 00 00 00 10\s+vfnmsub231nepbf16 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f6 54 38 be 31\s+vfnmsub231nepbf16 \(%ecx\)\{1to16\},%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f6 54 28 be 71 7f\s+vfnmsub231nepbf16 0xfe0\(%ecx\),%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f6 54 bf be 72 80\s+vfnmsub231nepbf16 -0x100\(%edx\)\{1to16\},%ymm5,%ymm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f6 54 0f be b4 f4 00 00 00 10\s+vfnmsub231nepbf16 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f6 54 18 be 31\s+vfnmsub231nepbf16 \(%ecx\)\{1to8\},%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f6 54 08 be 71 7f\s+vfnmsub231nepbf16 0x7f0\(%ecx\),%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f6 54 9f be 72 80\s+vfnmsub231nepbf16 -0x100\(%edx\)\{1to8\},%xmm5,%xmm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f6 7c 08 42 f5\s+vgetexppbf16 %xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f6 7c 28 42 f5\s+vgetexppbf16 %ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f6 7c 0f 42 b4 f4 00 00 00 10\s+vgetexppbf16 0x10000000\(%esp,%esi,8\),%xmm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f6 7c 18 42 31\s+vgetexppbf16 \(%ecx\)\{1to8\},%xmm6
+\s*[a-f0-9]+:\s*62 f6 7c 08 42 71 7f\s+vgetexppbf16 0x7f0\(%ecx\),%xmm6
+\s*[a-f0-9]+:\s*62 f6 7c 9f 42 72 80\s+vgetexppbf16 -0x100\(%edx\)\{1to8\},%xmm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f6 7c 2f 42 b4 f4 00 00 00 10\s+vgetexppbf16 0x10000000\(%esp,%esi,8\),%ymm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f6 7c 38 42 31\s+vgetexppbf16 \(%ecx\)\{1to16\},%ymm6
+\s*[a-f0-9]+:\s*62 f6 7c 28 42 71 7f\s+vgetexppbf16 0xfe0\(%ecx\),%ymm6
+\s*[a-f0-9]+:\s*62 f6 7c bf 42 72 80\s+vgetexppbf16 -0x100\(%edx\)\{1to16\},%ymm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f6 7c 08 4c f5\s+vrcppbf16 %xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f6 7c 28 4c f5\s+vrcppbf16 %ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f6 7c 0f 4c b4 f4 00 00 00 10\s+vrcppbf16 0x10000000\(%esp,%esi,8\),%xmm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f6 7c 18 4c 31\s+vrcppbf16 \(%ecx\)\{1to8\},%xmm6
+\s*[a-f0-9]+:\s*62 f6 7c 08 4c 71 7f\s+vrcppbf16 0x7f0\(%ecx\),%xmm6
+\s*[a-f0-9]+:\s*62 f6 7c 9f 4c 72 80\s+vrcppbf16 -0x100\(%edx\)\{1to8\},%xmm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f6 7c 2f 4c b4 f4 00 00 00 10\s+vrcppbf16 0x10000000\(%esp,%esi,8\),%ymm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f6 7c 38 4c 31\s+vrcppbf16 \(%ecx\)\{1to16\},%ymm6
+\s*[a-f0-9]+:\s*62 f6 7c 28 4c 71 7f\s+vrcppbf16 0xfe0\(%ecx\),%ymm6
+\s*[a-f0-9]+:\s*62 f6 7c bf 4c 72 80\s+vrcppbf16 -0x100\(%edx\)\{1to16\},%ymm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f6 7c 08 4e f5\s+vrsqrtpbf16 %xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f6 7c 28 4e f5\s+vrsqrtpbf16 %ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f6 7c 0f 4e b4 f4 00 00 00 10\s+vrsqrtpbf16 0x10000000\(%esp,%esi,8\),%xmm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f6 7c 18 4e 31\s+vrsqrtpbf16 \(%ecx\)\{1to8\},%xmm6
+\s*[a-f0-9]+:\s*62 f6 7c 08 4e 71 7f\s+vrsqrtpbf16 0x7f0\(%ecx\),%xmm6
+\s*[a-f0-9]+:\s*62 f6 7c 9f 4e 72 80\s+vrsqrtpbf16 -0x100\(%edx\)\{1to8\},%xmm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f6 7c 2f 4e b4 f4 00 00 00 10\s+vrsqrtpbf16 0x10000000\(%esp,%esi,8\),%ymm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f6 7c 38 4e 31\s+vrsqrtpbf16 \(%ecx\)\{1to16\},%ymm6
+\s*[a-f0-9]+:\s*62 f6 7c 28 4e 71 7f\s+vrsqrtpbf16 0xfe0\(%ecx\),%ymm6
+\s*[a-f0-9]+:\s*62 f6 7c bf 4e 72 80\s+vrsqrtpbf16 -0x100\(%edx\)\{1to16\},%ymm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f5 7d 08 51 f5\s+vsqrtnepbf16 %xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f5 7d 28 51 f5\s+vsqrtnepbf16 %ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f5 7d 0f 51 b4 f4 00 00 00 10\s+vsqrtnepbf16 0x10000000\(%esp,%esi,8\),%xmm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f5 7d 18 51 31\s+vsqrtnepbf16 \(%ecx\)\{1to8\},%xmm6
+\s*[a-f0-9]+:\s*62 f5 7d 08 51 71 7f\s+vsqrtnepbf16 0x7f0\(%ecx\),%xmm6
+\s*[a-f0-9]+:\s*62 f5 7d 9f 51 72 80\s+vsqrtnepbf16 -0x100\(%edx\)\{1to8\},%xmm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f5 7d 2f 51 b4 f4 00 00 00 10\s+vsqrtnepbf16 0x10000000\(%esp,%esi,8\),%ymm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f5 7d 38 51 31\s+vsqrtnepbf16 \(%ecx\)\{1to16\},%ymm6
+\s*[a-f0-9]+:\s*62 f5 7d 28 51 71 7f\s+vsqrtnepbf16 0xfe0\(%ecx\),%ymm6
+\s*[a-f0-9]+:\s*62 f5 7d bf 51 72 80\s+vsqrtnepbf16 -0x100\(%edx\)\{1to16\},%ymm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f3 7f 28 26 f5 7b\s+vgetmantpbf16 \$0x7b,%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f3 7f 08 26 f5 7b\s+vgetmantpbf16 \$0x7b,%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f3 7f 0f 26 b4 f4 00 00 00 10 7b\s+vgetmantpbf16 \$0x7b,0x10000000\(%esp,%esi,8\),%xmm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f3 7f 18 26 31 7b\s+vgetmantpbf16 \$0x7b,\(%ecx\)\{1to8\},%xmm6
+\s*[a-f0-9]+:\s*62 f3 7f 08 26 71 7f 7b\s+vgetmantpbf16 \$0x7b,0x7f0\(%ecx\),%xmm6
+\s*[a-f0-9]+:\s*62 f3 7f 9f 26 72 80 7b\s+vgetmantpbf16 \$0x7b,-0x100\(%edx\)\{1to8\},%xmm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f3 7f 2f 26 b4 f4 00 00 00 10 7b\s+vgetmantpbf16 \$0x7b,0x10000000\(%esp,%esi,8\),%ymm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f3 7f 38 26 31 7b\s+vgetmantpbf16 \$0x7b,\(%ecx\)\{1to16\},%ymm6
+\s*[a-f0-9]+:\s*62 f3 7f 28 26 71 7f 7b\s+vgetmantpbf16 \$0x7b,0xfe0\(%ecx\),%ymm6
+\s*[a-f0-9]+:\s*62 f3 7f bf 26 72 80 7b\s+vgetmantpbf16 \$0x7b,-0x100\(%edx\)\{1to16\},%ymm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f3 7f 28 56 f5 7b\s+vreducenepbf16 \$0x7b,%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f3 7f 08 56 f5 7b\s+vreducenepbf16 \$0x7b,%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f3 7f 0f 56 b4 f4 00 00 00 10 7b\s+vreducenepbf16 \$0x7b,0x10000000\(%esp,%esi,8\),%xmm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f3 7f 18 56 31 7b\s+vreducenepbf16 \$0x7b,\(%ecx\)\{1to8\},%xmm6
+\s*[a-f0-9]+:\s*62 f3 7f 08 56 71 7f 7b\s+vreducenepbf16 \$0x7b,0x7f0\(%ecx\),%xmm6
+\s*[a-f0-9]+:\s*62 f3 7f 9f 56 72 80 7b\s+vreducenepbf16 \$0x7b,-0x100\(%edx\)\{1to8\},%xmm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f3 7f 2f 56 b4 f4 00 00 00 10 7b\s+vreducenepbf16 \$0x7b,0x10000000\(%esp,%esi,8\),%ymm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f3 7f 38 56 31 7b\s+vreducenepbf16 \$0x7b,\(%ecx\)\{1to16\},%ymm6
+\s*[a-f0-9]+:\s*62 f3 7f 28 56 71 7f 7b\s+vreducenepbf16 \$0x7b,0xfe0\(%ecx\),%ymm6
+\s*[a-f0-9]+:\s*62 f3 7f bf 56 72 80 7b\s+vreducenepbf16 \$0x7b,-0x100\(%edx\)\{1to16\},%ymm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f3 7f 28 08 f5 7b\s+vrndscalenepbf16 \$0x7b,%ymm5,%ymm6
+\s*[a-f0-9]+:\s*62 f3 7f 08 08 f5 7b\s+vrndscalenepbf16 \$0x7b,%xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f3 7f 0f 08 b4 f4 00 00 00 10 7b\s+vrndscalenepbf16 \$0x7b,0x10000000\(%esp,%esi,8\),%xmm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f3 7f 18 08 31 7b\s+vrndscalenepbf16 \$0x7b,\(%ecx\)\{1to8\},%xmm6
+\s*[a-f0-9]+:\s*62 f3 7f 08 08 71 7f 7b\s+vrndscalenepbf16 \$0x7b,0x7f0\(%ecx\),%xmm6
+\s*[a-f0-9]+:\s*62 f3 7f 9f 08 72 80 7b\s+vrndscalenepbf16 \$0x7b,-0x100\(%edx\)\{1to8\},%xmm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f3 7f 2f 08 b4 f4 00 00 00 10 7b\s+vrndscalenepbf16 \$0x7b,0x10000000\(%esp,%esi,8\),%ymm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f3 7f 38 08 31 7b\s+vrndscalenepbf16 \$0x7b,\(%ecx\)\{1to16\},%ymm6
+\s*[a-f0-9]+:\s*62 f3 7f 28 08 71 7f 7b\s+vrndscalenepbf16 \$0x7b,0xfe0\(%ecx\),%ymm6
+\s*[a-f0-9]+:\s*62 f3 7f bf 08 72 80 7b\s+vrndscalenepbf16 \$0x7b,-0x100\(%edx\)\{1to16\},%ymm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f3 57 28 c2 ec 7b\s+vcmppbf16 \$0x7b,%ymm4,%ymm5,%k5
+\s*[a-f0-9]+:\s*62 f3 57 08 c2 ec 7b\s+vcmppbf16 \$0x7b,%xmm4,%xmm5,%k5
+\s*[a-f0-9]+:\s*62 f3 57 0f c2 ac f4 00 00 00 10 7b\s+vcmppbf16 \$0x7b,0x10000000\(%esp,%esi,8\),%xmm5,%k5\{%k7\}
+\s*[a-f0-9]+:\s*62 f3 57 18 c2 29 7b\s+vcmppbf16 \$0x7b,\(%ecx\)\{1to8\},%xmm5,%k5
+\s*[a-f0-9]+:\s*62 f3 57 08 c2 69 7f 7b\s+vcmppbf16 \$0x7b,0x7f0\(%ecx\),%xmm5,%k5
+\s*[a-f0-9]+:\s*62 f3 57 1f c2 6a 80 7b\s+vcmppbf16 \$0x7b,-0x100\(%edx\)\{1to8\},%xmm5,%k5\{%k7\}
+\s*[a-f0-9]+:\s*62 f3 57 2f c2 ac f4 00 00 00 10 7b\s+vcmppbf16 \$0x7b,0x10000000\(%esp,%esi,8\),%ymm5,%k5\{%k7\}
+\s*[a-f0-9]+:\s*62 f3 57 38 c2 29 7b\s+vcmppbf16 \$0x7b,\(%ecx\)\{1to16\},%ymm5,%k5
+\s*[a-f0-9]+:\s*62 f3 57 28 c2 69 7f 7b\s+vcmppbf16 \$0x7b,0xfe0\(%ecx\),%ymm5,%k5
+\s*[a-f0-9]+:\s*62 f3 57 3f c2 6a 80 7b\s+vcmppbf16 \$0x7b,-0x100\(%edx\)\{1to16\},%ymm5,%k5\{%k7\}
+\s*[a-f0-9]+:\s*62 f5 7d 08 2f f5\s+vcomsbf16 %xmm5,%xmm6
+\s*[a-f0-9]+:\s*62 f5 7d 08 2f b4 f4 00 00 00 10\s+vcomsbf16 0x10000000\(%esp,%esi,8\),%xmm6
+\s*[a-f0-9]+:\s*62 f5 7d 08 2f 31\s+vcomsbf16 \(%ecx\),%xmm6
+\s*[a-f0-9]+:\s*62 f5 7d 08 2f 71 7f\s+vcomsbf16 0xfe\(%ecx\),%xmm6
+\s*[a-f0-9]+:\s*62 f5 7d 08 2f 72 80\s+vcomsbf16 -0x100\(%edx\),%xmm6
+\s*[a-f0-9]+:\s*62 f3 7f 28 66 ed 7b\s+vfpclasspbf16 \$0x7b,%ymm5,%k5
+\s*[a-f0-9]+:\s*62 f3 7f 08 66 ed 7b\s+vfpclasspbf16 \$0x7b,%xmm5,%k5
+\s*[a-f0-9]+:\s*62 f3 7f 0f 66 ac f4 00 00 00 10 7b\s+vfpclasspbf16x \$0x7b,0x10000000\(%esp,%esi,8\),%k5\{%k7\}
+\s*[a-f0-9]+:\s*62 f3 7f 18 66 29 7b\s+vfpclasspbf16 \$0x7b,\(%ecx\)\{1to8\},%k5
+\s*[a-f0-9]+:\s*62 f3 7f 08 66 69 7f 7b\s+vfpclasspbf16x \$0x7b,0x7f0\(%ecx\),%k5
+\s*[a-f0-9]+:\s*62 f3 7f 1f 66 6a 80 7b\s+vfpclasspbf16 \$0x7b,-0x100\(%edx\)\{1to8\},%k5\{%k7\}
+\s*[a-f0-9]+:\s*62 f3 7f 38 66 29 7b\s+vfpclasspbf16 \$0x7b,\(%ecx\)\{1to16\},%k5
+\s*[a-f0-9]+:\s*62 f3 7f 28 66 69 7f 7b\s+vfpclasspbf16y \$0x7b,0xfe0\(%ecx\),%k5
+\s*[a-f0-9]+:\s*62 f3 7f 3f 66 6a 80 7b\s+vfpclasspbf16 \$0x7b,-0x100\(%edx\)\{1to16\},%k5\{%k7\}
+#pass
diff --git a/gas/testsuite/gas/i386/avx10_2-256-bf16.s b/gas/testsuite/gas/i386/avx10_2-256-bf16.s
new file mode 100644
index 00000000000..db4721514df
--- /dev/null
+++ b/gas/testsuite/gas/i386/avx10_2-256-bf16.s
@@ -0,0 +1,169 @@ 
+# Check 32bit AVX10.2/256 instructions
+
+	.arch generic32
+	.arch .avx10.2/256
+	.text
+_start:
+	.irp m, addne, divne, max, min, mulne, scalef, subne
+	v\m\()pbf16	%ymm4, %ymm5, %ymm6
+	v\m\()pbf16	%xmm4, %xmm5, %xmm6
+	v\m\()pbf16	0x10000000(%esp, %esi, 8), %ymm5, %ymm6{%k7}
+	v\m\()pbf16	(%ecx){1to16}, %ymm5, %ymm6
+	v\m\()pbf16	4064(%ecx), %ymm5, %ymm6
+	v\m\()pbf16	-256(%edx){1to16}, %ymm5, %ymm6{%k7}{z}
+	v\m\()pbf16	0x10000000(%esp, %esi, 8), %xmm5, %xmm6{%k7}
+	v\m\()pbf16	(%ecx){1to8}, %xmm5, %xmm6
+	v\m\()pbf16	2032(%ecx), %xmm5, %xmm6
+	v\m\()pbf16	-256(%edx){1to8}, %xmm5, %xmm6{%k7}{z}
+	.endr
+
+	.irp m, madd, msub, nmadd, nmsub
+	.irp n, 132, 213, 231
+	vf\m\n\(\())nepbf16	%ymm4, %ymm5, %ymm6
+	vf\m\n\(\())nepbf16	%xmm4, %xmm5, %xmm6
+	vf\m\n\(\())nepbf16	0x10000000(%esp, %esi, 8), %ymm5, %ymm6{%k7}
+	vf\m\n\(\())nepbf16	(%ecx){1to16}, %ymm5, %ymm6
+	vf\m\n\(\())nepbf16	4064(%ecx), %ymm5, %ymm6
+	vf\m\n\(\())nepbf16	-256(%edx){1to16}, %ymm5, %ymm6{%k7}{z}
+	vf\m\n\(\())nepbf16	0x10000000(%esp, %esi, 8), %xmm5, %xmm6{%k7}
+	vf\m\n\(\())nepbf16	(%ecx){1to8}, %xmm5, %xmm6
+	vf\m\n\(\())nepbf16	2032(%ecx), %xmm5, %xmm6
+	vf\m\n\(\())nepbf16	-256(%edx){1to8}, %xmm5, %xmm6{%k7}{z}
+	.endr
+	.endr
+
+	.irp m, getexp, rcp, rsqrt, sqrtne
+	v\m\()pbf16	%xmm5, %xmm6
+	v\m\()pbf16	%ymm5, %ymm6
+	v\m\()pbf16	0x10000000(%esp, %esi, 8), %xmm6{%k7}
+	v\m\()pbf16	(%ecx){1to8}, %xmm6
+	v\m\()pbf16	2032(%ecx), %xmm6
+	v\m\()pbf16	-256(%edx){1to8}, %xmm6{%k7}{z}
+	v\m\()pbf16	0x10000000(%esp, %esi, 8), %ymm6{%k7}
+	v\m\()pbf16	(%ecx){1to16}, %ymm6
+	v\m\()pbf16	4064(%ecx), %ymm6
+	v\m\()pbf16	-256(%edx){1to16}, %ymm6{%k7}{z}
+	.endr
+
+	.irp m, getmant, reducene, rndscalene
+	v\m\()pbf16	$123, %ymm5, %ymm6
+	v\m\()pbf16	$123, %xmm5, %xmm6
+	v\m\()pbf16	$123, 0x10000000(%esp, %esi, 8), %xmm6{%k7}
+	v\m\()pbf16	$123, (%ecx){1to8}, %xmm6
+	v\m\()pbf16	$123, 2032(%ecx), %xmm6
+	v\m\()pbf16	$123, -256(%edx){1to8}, %xmm6{%k7}{z}
+	v\m\()pbf16	$123, 0x10000000(%esp, %esi, 8), %ymm6{%k7}
+	v\m\()pbf16	$123, (%ecx){1to16}, %ymm6
+	v\m\()pbf16	$123, 4064(%ecx), %ymm6
+	v\m\()pbf16	$123, -256(%edx){1to16}, %ymm6{%k7}{z}
+	.endr
+
+	vcmppbf16	$123, %ymm4, %ymm5, %k5
+	vcmppbf16	$123, %xmm4, %xmm5, %k5
+	vcmppbf16	$123, 0x10000000(%esp, %esi, 8), %xmm5, %k5{%k7}
+	vcmppbf16	$123, (%ecx){1to8}, %xmm5, %k5
+	vcmppbf16	$123, 2032(%ecx), %xmm5, %k5
+	vcmppbf16	$123, -256(%edx){1to8}, %xmm5, %k5{%k7}
+	vcmppbf16	$123, 0x10000000(%esp, %esi, 8), %ymm5, %k5{%k7}
+	vcmppbf16	$123, (%ecx){1to16}, %ymm5, %k5
+	vcmppbf16	$123, 4064(%ecx), %ymm5, %k5
+	vcmppbf16	$123, -256(%edx){1to16}, %ymm5, %k5{%k7}
+
+	vcomsbf16	%xmm5, %xmm6
+	vcomsbf16	0x10000000(%esp, %esi, 8), %xmm6
+	vcomsbf16	(%ecx), %xmm6
+	vcomsbf16	254(%ecx), %xmm6
+	vcomsbf16	-256(%edx), %xmm6
+
+	vfpclasspbf16	$123, %ymm5, %k5
+	vfpclasspbf16	$123, %xmm5, %k5
+	vfpclasspbf16x	$123, 0x10000000(%esp, %esi, 8), %k5{%k7}
+	vfpclasspbf16	$123, (%ecx){1to8}, %k5
+	vfpclasspbf16x	$123, 2032(%ecx), %k5
+	vfpclasspbf16	$123, -256(%edx){1to8}, %k5{%k7}
+	vfpclasspbf16	$123, (%ecx){1to16}, %k5
+	vfpclasspbf16y	$123, 4064(%ecx), %k5
+	vfpclasspbf16	$123, -256(%edx){1to16}, %k5{%k7}
+
+_intel:
+	.intel_syntax noprefix
+	.irp m, addne, divne, max, min, mulne, scalef, subne
+	v\m\()pbf16	ymm6, ymm5, ymm4
+	v\m\()pbf16	xmm6, xmm5, xmm4
+	v\m\()pbf16	ymm6{k7}, ymm5, YMMWORD PTR [esp+esi*8+0x10000000]
+	v\m\()pbf16	ymm6, ymm5, WORD PTR [ecx]{1to16}
+	v\m\()pbf16	ymm6, ymm5, YMMWORD PTR [ecx+4064]
+	v\m\()pbf16	ymm6{k7}{z}, ymm5, WORD PTR [edx-256]{1to16}
+	v\m\()pbf16	xmm6{k7}, xmm5, XMMWORD PTR [esp+esi*8+0x10000000]
+	v\m\()pbf16	xmm6, xmm5, WORD PTR [ecx]{1to8}
+	v\m\()pbf16	xmm6, xmm5, XMMWORD PTR [ecx+2032]
+	v\m\()pbf16	xmm6{k7}{z}, xmm5, WORD PTR [edx-256]{1to8}
+	.endr
+
+	.irp m, madd, msub, nmadd, nmsub
+	.irp n, 132, 213, 231
+	vf\m\n\(\())nepbf16	ymm6, ymm5, ymm4
+	vf\m\n\(\())nepbf16	xmm6, xmm5, xmm4
+	vf\m\n\(\())nepbf16	ymm6{k7}, ymm5, YMMWORD PTR [esp+esi*8+0x10000000]
+	vf\m\n\(\())nepbf16	ymm6, ymm5, WORD PTR [ecx]{1to16}
+	vf\m\n\(\())nepbf16	ymm6, ymm5, YMMWORD PTR [ecx+4064]
+	vf\m\n\(\())nepbf16	ymm6{k7}{z}, ymm5, WORD PTR [edx-256]{1to16}
+	vf\m\n\(\())nepbf16	xmm6{k7}, xmm5, XMMWORD PTR [esp+esi*8+0x10000000]
+	vf\m\n\(\())nepbf16	xmm6, xmm5, WORD PTR [ecx]{1to8}
+	vf\m\n\(\())nepbf16	xmm6, xmm5, XMMWORD PTR [ecx+2032]
+	vf\m\n\(\())nepbf16	xmm6{k7}{z}, xmm5, WORD PTR [edx-256]{1to8}
+	.endr
+	.endr
+
+	.irp m, getexp, rcp, rsqrt, sqrtne
+	v\m\()pbf16	xmm6, xmm5
+	v\m\()pbf16	ymm6, ymm5
+	v\m\()pbf16	xmm6{k7}, XMMWORD PTR [esp+esi*8+0x10000000]
+	v\m\()pbf16	xmm6, WORD PTR [ecx]{1to8}
+	v\m\()pbf16	xmm6, XMMWORD PTR [ecx+2032]
+	v\m\()pbf16	xmm6{k7}{z}, WORD PTR [edx-256]{1to8}
+	v\m\()pbf16	ymm6{k7}, YMMWORD PTR [esp+esi*8+0x10000000]
+	v\m\()pbf16	ymm6, WORD PTR [ecx]{1to16}
+	v\m\()pbf16	ymm6, YMMWORD PTR [ecx+4064]
+	v\m\()pbf16	ymm6{k7}{z}, WORD PTR [edx-256]{1to16}
+	.endr
+
+	.irp m, getmant, reducene, rndscalene
+	v\m\()pbf16	ymm6, ymm5, 123
+	v\m\()pbf16	xmm6, xmm5, 123
+	v\m\()pbf16	xmm6{k7}, XMMWORD PTR [esp+esi*8+0x10000000], 123
+	v\m\()pbf16	xmm6, WORD PTR [ecx]{1to8}, 123
+	v\m\()pbf16	xmm6, XMMWORD PTR [ecx+2032], 123
+	v\m\()pbf16	xmm6{k7}{z}, WORD PTR [edx-256]{1to8}, 123
+	v\m\()pbf16	ymm6{k7}, YMMWORD PTR [esp+esi*8+0x10000000], 123
+	v\m\()pbf16	ymm6, WORD PTR [ecx]{1to16}, 123
+	v\m\()pbf16	ymm6, YMMWORD PTR [ecx+4064], 123
+	v\m\()pbf16	ymm6{k7}{z}, WORD PTR [edx-256]{1to16}, 123
+	.endr
+
+	vcmppbf16	k5, ymm5, ymm4, 123
+	vcmppbf16	k5, xmm5, xmm4, 123
+	vcmppbf16	k5{k7}, xmm5, XMMWORD PTR [esp+esi*8+0x10000000], 123
+	vcmppbf16	k5, xmm5, WORD PTR [ecx]{1to8}, 123
+	vcmppbf16	k5, xmm5, XMMWORD PTR [ecx+2032], 123
+	vcmppbf16	k5{k7}, xmm5, WORD PTR [edx-256]{1to8}, 123
+	vcmppbf16	k5{k7}, ymm5, YMMWORD PTR [esp+esi*8+0x10000000], 123
+	vcmppbf16	k5, ymm5, WORD PTR [ecx]{1to16}, 123
+	vcmppbf16	k5, ymm5, YMMWORD PTR [ecx+4064], 123
+	vcmppbf16	k5{k7}, ymm5, WORD PTR [edx-256]{1to16}, 123
+
+	vcomsbf16	xmm6, xmm5
+	vcomsbf16	xmm6, WORD PTR [esp+esi*8+0x10000000]
+	vcomsbf16	xmm6, WORD PTR [ecx]
+	vcomsbf16	xmm6, WORD PTR [ecx+254]
+	vcomsbf16	xmm6, WORD PTR [edx-256]
+
+	vfpclasspbf16	k5, ymm5, 123
+	vfpclasspbf16	k5, xmm5, 123
+	vfpclasspbf16	k5{k7}, XMMWORD PTR [esp+esi*8+0x10000000], 123
+	vfpclasspbf16	k5, WORD PTR [ecx]{1to8}, 123
+	vfpclasspbf16	k5, XMMWORD PTR [ecx+2032], 123
+	vfpclasspbf16	k5{k7}, WORD PTR [edx-256]{1to8}, 123
+	vfpclasspbf16	k5, WORD PTR [ecx]{1to16}, 123
+	vfpclasspbf16	k5, YMMWORD PTR [ecx+4064], 123
+	vfpclasspbf16	k5{k7}, WORD PTR [edx-256]{1to16}, 123
diff --git a/gas/testsuite/gas/i386/avx10_2-512-bf16-intel.d b/gas/testsuite/gas/i386/avx10_2-512-bf16-intel.d
new file mode 100644
index 00000000000..e64981cb9d7
--- /dev/null
+++ b/gas/testsuite/gas/i386/avx10_2-512-bf16-intel.d
@@ -0,0 +1,151 @@ 
+#objdump: -dw -Mintel
+#name: i386 AVX10.2/512 BF16 insns (Intel disassembly)
+#source: avx10_2-512-bf16.s
+
+.*: +file format .*
+
+Disassembly of section \.text:
+
+#...
+[a-f0-9]+ <_intel>:
+\s*[a-f0-9]+:\s*62 f5 55 48 58 f4\s+vaddnepbf16 zmm6,zmm5,zmm4
+\s*[a-f0-9]+:\s*62 f5 55 4f 58 b4 f4 00 00 00 10\s+vaddnepbf16 zmm6\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f5 55 58 58 31\s+vaddnepbf16 zmm6,zmm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f5 55 48 58 71 7f\s+vaddnepbf16 zmm6,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\]
+\s*[a-f0-9]+:\s*62 f5 55 df 58 72 80\s+vaddnepbf16 zmm6\{k7\}\{z\},zmm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f5 55 48 5e f4\s+vdivnepbf16 zmm6,zmm5,zmm4
+\s*[a-f0-9]+:\s*62 f5 55 4f 5e b4 f4 00 00 00 10\s+vdivnepbf16 zmm6\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f5 55 58 5e 31\s+vdivnepbf16 zmm6,zmm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f5 55 48 5e 71 7f\s+vdivnepbf16 zmm6,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\]
+\s*[a-f0-9]+:\s*62 f5 55 df 5e 72 80\s+vdivnepbf16 zmm6\{k7\}\{z\},zmm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f5 55 48 5f f4\s+vmaxpbf16 zmm6,zmm5,zmm4
+\s*[a-f0-9]+:\s*62 f5 55 4f 5f b4 f4 00 00 00 10\s+vmaxpbf16 zmm6\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f5 55 58 5f 31\s+vmaxpbf16 zmm6,zmm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f5 55 48 5f 71 7f\s+vmaxpbf16 zmm6,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\]
+\s*[a-f0-9]+:\s*62 f5 55 df 5f 72 80\s+vmaxpbf16 zmm6\{k7\}\{z\},zmm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f5 55 48 5d f4\s+vminpbf16 zmm6,zmm5,zmm4
+\s*[a-f0-9]+:\s*62 f5 55 4f 5d b4 f4 00 00 00 10\s+vminpbf16 zmm6\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f5 55 58 5d 31\s+vminpbf16 zmm6,zmm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f5 55 48 5d 71 7f\s+vminpbf16 zmm6,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\]
+\s*[a-f0-9]+:\s*62 f5 55 df 5d 72 80\s+vminpbf16 zmm6\{k7\}\{z\},zmm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f5 55 48 59 f4\s+vmulnepbf16 zmm6,zmm5,zmm4
+\s*[a-f0-9]+:\s*62 f5 55 4f 59 b4 f4 00 00 00 10\s+vmulnepbf16 zmm6\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f5 55 58 59 31\s+vmulnepbf16 zmm6,zmm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f5 55 48 59 71 7f\s+vmulnepbf16 zmm6,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\]
+\s*[a-f0-9]+:\s*62 f5 55 df 59 72 80\s+vmulnepbf16 zmm6\{k7\}\{z\},zmm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f6 54 48 2c f4\s+vscalefpbf16 zmm6,zmm5,zmm4
+\s*[a-f0-9]+:\s*62 f6 54 4f 2c b4 f4 00 00 00 10\s+vscalefpbf16 zmm6\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f6 54 58 2c 31\s+vscalefpbf16 zmm6,zmm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f6 54 48 2c 71 7f\s+vscalefpbf16 zmm6,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\]
+\s*[a-f0-9]+:\s*62 f6 54 df 2c 72 80\s+vscalefpbf16 zmm6\{k7\}\{z\},zmm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f5 55 48 5c f4\s+vsubnepbf16 zmm6,zmm5,zmm4
+\s*[a-f0-9]+:\s*62 f5 55 4f 5c b4 f4 00 00 00 10\s+vsubnepbf16 zmm6\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f5 55 58 5c 31\s+vsubnepbf16 zmm6,zmm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f5 55 48 5c 71 7f\s+vsubnepbf16 zmm6,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\]
+\s*[a-f0-9]+:\s*62 f5 55 df 5c 72 80\s+vsubnepbf16 zmm6\{k7\}\{z\},zmm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f6 54 48 98 f4\s+vfmadd132nepbf16 zmm6,zmm5,zmm4
+\s*[a-f0-9]+:\s*62 f6 54 4f 98 b4 f4 00 00 00 10\s+vfmadd132nepbf16 zmm6\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f6 54 58 98 31\s+vfmadd132nepbf16 zmm6,zmm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f6 54 48 98 71 7f\s+vfmadd132nepbf16 zmm6,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\]
+\s*[a-f0-9]+:\s*62 f6 54 df 98 72 80\s+vfmadd132nepbf16 zmm6\{k7\}\{z\},zmm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f6 54 48 a8 f4\s+vfmadd213nepbf16 zmm6,zmm5,zmm4
+\s*[a-f0-9]+:\s*62 f6 54 4f a8 b4 f4 00 00 00 10\s+vfmadd213nepbf16 zmm6\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f6 54 58 a8 31\s+vfmadd213nepbf16 zmm6,zmm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f6 54 48 a8 71 7f\s+vfmadd213nepbf16 zmm6,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\]
+\s*[a-f0-9]+:\s*62 f6 54 df a8 72 80\s+vfmadd213nepbf16 zmm6\{k7\}\{z\},zmm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f6 54 48 b8 f4\s+vfmadd231nepbf16 zmm6,zmm5,zmm4
+\s*[a-f0-9]+:\s*62 f6 54 4f b8 b4 f4 00 00 00 10\s+vfmadd231nepbf16 zmm6\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f6 54 58 b8 31\s+vfmadd231nepbf16 zmm6,zmm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f6 54 48 b8 71 7f\s+vfmadd231nepbf16 zmm6,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\]
+\s*[a-f0-9]+:\s*62 f6 54 df b8 72 80\s+vfmadd231nepbf16 zmm6\{k7\}\{z\},zmm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f6 54 48 9a f4\s+vfmsub132nepbf16 zmm6,zmm5,zmm4
+\s*[a-f0-9]+:\s*62 f6 54 4f 9a b4 f4 00 00 00 10\s+vfmsub132nepbf16 zmm6\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f6 54 58 9a 31\s+vfmsub132nepbf16 zmm6,zmm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f6 54 48 9a 71 7f\s+vfmsub132nepbf16 zmm6,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\]
+\s*[a-f0-9]+:\s*62 f6 54 df 9a 72 80\s+vfmsub132nepbf16 zmm6\{k7\}\{z\},zmm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f6 54 48 aa f4\s+vfmsub213nepbf16 zmm6,zmm5,zmm4
+\s*[a-f0-9]+:\s*62 f6 54 4f aa b4 f4 00 00 00 10\s+vfmsub213nepbf16 zmm6\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f6 54 58 aa 31\s+vfmsub213nepbf16 zmm6,zmm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f6 54 48 aa 71 7f\s+vfmsub213nepbf16 zmm6,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\]
+\s*[a-f0-9]+:\s*62 f6 54 df aa 72 80\s+vfmsub213nepbf16 zmm6\{k7\}\{z\},zmm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f6 54 48 ba f4\s+vfmsub231nepbf16 zmm6,zmm5,zmm4
+\s*[a-f0-9]+:\s*62 f6 54 4f ba b4 f4 00 00 00 10\s+vfmsub231nepbf16 zmm6\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f6 54 58 ba 31\s+vfmsub231nepbf16 zmm6,zmm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f6 54 48 ba 71 7f\s+vfmsub231nepbf16 zmm6,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\]
+\s*[a-f0-9]+:\s*62 f6 54 df ba 72 80\s+vfmsub231nepbf16 zmm6\{k7\}\{z\},zmm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f6 54 48 9c f4\s+vfnmadd132nepbf16 zmm6,zmm5,zmm4
+\s*[a-f0-9]+:\s*62 f6 54 4f 9c b4 f4 00 00 00 10\s+vfnmadd132nepbf16 zmm6\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f6 54 58 9c 31\s+vfnmadd132nepbf16 zmm6,zmm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f6 54 48 9c 71 7f\s+vfnmadd132nepbf16 zmm6,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\]
+\s*[a-f0-9]+:\s*62 f6 54 df 9c 72 80\s+vfnmadd132nepbf16 zmm6\{k7\}\{z\},zmm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f6 54 48 ac f4\s+vfnmadd213nepbf16 zmm6,zmm5,zmm4
+\s*[a-f0-9]+:\s*62 f6 54 4f ac b4 f4 00 00 00 10\s+vfnmadd213nepbf16 zmm6\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f6 54 58 ac 31\s+vfnmadd213nepbf16 zmm6,zmm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f6 54 48 ac 71 7f\s+vfnmadd213nepbf16 zmm6,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\]
+\s*[a-f0-9]+:\s*62 f6 54 df ac 72 80\s+vfnmadd213nepbf16 zmm6\{k7\}\{z\},zmm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f6 54 48 bc f4\s+vfnmadd231nepbf16 zmm6,zmm5,zmm4
+\s*[a-f0-9]+:\s*62 f6 54 4f bc b4 f4 00 00 00 10\s+vfnmadd231nepbf16 zmm6\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f6 54 58 bc 31\s+vfnmadd231nepbf16 zmm6,zmm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f6 54 48 bc 71 7f\s+vfnmadd231nepbf16 zmm6,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\]
+\s*[a-f0-9]+:\s*62 f6 54 df bc 72 80\s+vfnmadd231nepbf16 zmm6\{k7\}\{z\},zmm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f6 54 48 9e f4\s+vfnmsub132nepbf16 zmm6,zmm5,zmm4
+\s*[a-f0-9]+:\s*62 f6 54 4f 9e b4 f4 00 00 00 10\s+vfnmsub132nepbf16 zmm6\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f6 54 58 9e 31\s+vfnmsub132nepbf16 zmm6,zmm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f6 54 48 9e 71 7f\s+vfnmsub132nepbf16 zmm6,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\]
+\s*[a-f0-9]+:\s*62 f6 54 df 9e 72 80\s+vfnmsub132nepbf16 zmm6\{k7\}\{z\},zmm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f6 54 48 ae f4\s+vfnmsub213nepbf16 zmm6,zmm5,zmm4
+\s*[a-f0-9]+:\s*62 f6 54 4f ae b4 f4 00 00 00 10\s+vfnmsub213nepbf16 zmm6\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f6 54 58 ae 31\s+vfnmsub213nepbf16 zmm6,zmm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f6 54 48 ae 71 7f\s+vfnmsub213nepbf16 zmm6,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\]
+\s*[a-f0-9]+:\s*62 f6 54 df ae 72 80\s+vfnmsub213nepbf16 zmm6\{k7\}\{z\},zmm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f6 54 48 be f4\s+vfnmsub231nepbf16 zmm6,zmm5,zmm4
+\s*[a-f0-9]+:\s*62 f6 54 4f be b4 f4 00 00 00 10\s+vfnmsub231nepbf16 zmm6\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f6 54 58 be 31\s+vfnmsub231nepbf16 zmm6,zmm5,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f6 54 48 be 71 7f\s+vfnmsub231nepbf16 zmm6,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\]
+\s*[a-f0-9]+:\s*62 f6 54 df be 72 80\s+vfnmsub231nepbf16 zmm6\{k7\}\{z\},zmm5,WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f6 7c 48 42 f5\s+vgetexppbf16 zmm6,zmm5
+\s*[a-f0-9]+:\s*62 f6 7c 4f 42 b4 f4 00 00 00 10\s+vgetexppbf16 zmm6\{k7\},ZMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f6 7c 58 42 31\s+vgetexppbf16 zmm6,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f6 7c 48 42 71 7f\s+vgetexppbf16 zmm6,ZMMWORD PTR \[ecx\+0x1fc0\]
+\s*[a-f0-9]+:\s*62 f6 7c df 42 72 80\s+vgetexppbf16 zmm6\{k7\}\{z\},WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f6 7c 48 4c f5\s+vrcppbf16 zmm6,zmm5
+\s*[a-f0-9]+:\s*62 f6 7c 4f 4c b4 f4 00 00 00 10\s+vrcppbf16 zmm6\{k7\},ZMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f6 7c 58 4c 31\s+vrcppbf16 zmm6,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f6 7c 48 4c 71 7f\s+vrcppbf16 zmm6,ZMMWORD PTR \[ecx\+0x1fc0\]
+\s*[a-f0-9]+:\s*62 f6 7c df 4c 72 80\s+vrcppbf16 zmm6\{k7\}\{z\},WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f6 7c 48 4e f5\s+vrsqrtpbf16 zmm6,zmm5
+\s*[a-f0-9]+:\s*62 f6 7c 4f 4e b4 f4 00 00 00 10\s+vrsqrtpbf16 zmm6\{k7\},ZMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f6 7c 58 4e 31\s+vrsqrtpbf16 zmm6,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f6 7c 48 4e 71 7f\s+vrsqrtpbf16 zmm6,ZMMWORD PTR \[ecx\+0x1fc0\]
+\s*[a-f0-9]+:\s*62 f6 7c df 4e 72 80\s+vrsqrtpbf16 zmm6\{k7\}\{z\},WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f5 7d 48 51 f5\s+vsqrtnepbf16 zmm6,zmm5
+\s*[a-f0-9]+:\s*62 f5 7d 4f 51 b4 f4 00 00 00 10\s+vsqrtnepbf16 zmm6\{k7\},ZMMWORD PTR \[esp\+esi\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 f5 7d 58 51 31\s+vsqrtnepbf16 zmm6,WORD BCST \[ecx\]
+\s*[a-f0-9]+:\s*62 f5 7d 48 51 71 7f\s+vsqrtnepbf16 zmm6,ZMMWORD PTR \[ecx\+0x1fc0\]
+\s*[a-f0-9]+:\s*62 f5 7d df 51 72 80\s+vsqrtnepbf16 zmm6\{k7\}\{z\},WORD BCST \[edx-0x100\]
+\s*[a-f0-9]+:\s*62 f3 7f 48 26 f5 7b\s+vgetmantpbf16 zmm6,zmm5,0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 4f 26 b4 f4 00 00 00 10 7b\s+vgetmantpbf16 zmm6\{k7\},ZMMWORD PTR \[esp\+esi\*8\+0x10000000\],0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 58 26 31 7b\s+vgetmantpbf16 zmm6,WORD BCST \[ecx\],0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 48 26 71 7f 7b\s+vgetmantpbf16 zmm6,ZMMWORD PTR \[ecx\+0x1fc0\],0x7b
+\s*[a-f0-9]+:\s*62 f3 7f df 26 72 80 7b\s+vgetmantpbf16 zmm6\{k7\}\{z\},WORD BCST \[edx-0x100\],0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 48 56 f5 7b\s+vreducenepbf16 zmm6,zmm5,0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 4f 56 b4 f4 00 00 00 10 7b\s+vreducenepbf16 zmm6\{k7\},ZMMWORD PTR \[esp\+esi\*8\+0x10000000\],0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 58 56 31 7b\s+vreducenepbf16 zmm6,WORD BCST \[ecx\],0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 48 56 71 7f 7b\s+vreducenepbf16 zmm6,ZMMWORD PTR \[ecx\+0x1fc0\],0x7b
+\s*[a-f0-9]+:\s*62 f3 7f df 56 72 80 7b\s+vreducenepbf16 zmm6\{k7\}\{z\},WORD BCST \[edx-0x100\],0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 48 08 f5 7b\s+vrndscalenepbf16 zmm6,zmm5,0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 4f 08 b4 f4 00 00 00 10 7b\s+vrndscalenepbf16 zmm6\{k7\},ZMMWORD PTR \[esp\+esi\*8\+0x10000000\],0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 58 08 31 7b\s+vrndscalenepbf16 zmm6,WORD BCST \[ecx\],0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 48 08 71 7f 7b\s+vrndscalenepbf16 zmm6,ZMMWORD PTR \[ecx\+0x1fc0\],0x7b
+\s*[a-f0-9]+:\s*62 f3 7f df 08 72 80 7b\s+vrndscalenepbf16 zmm6\{k7\}\{z\},WORD BCST \[edx-0x100\],0x7b
+\s*[a-f0-9]+:\s*62 f3 57 48 c2 ec 7b\s+vcmppbf16 k5,zmm5,zmm4,0x7b
+\s*[a-f0-9]+:\s*62 f3 57 4f c2 ac f4 00 00 00 10 7b\s+vcmppbf16 k5\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\],0x7b
+\s*[a-f0-9]+:\s*62 f3 57 58 c2 29 7b\s+vcmppbf16 k5,zmm5,WORD BCST \[ecx\],0x7b
+\s*[a-f0-9]+:\s*62 f3 57 48 c2 69 7f 7b\s+vcmppbf16 k5,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\],0x7b
+\s*[a-f0-9]+:\s*62 f3 57 5f c2 6a 80 7b\s+vcmppbf16 k5\{k7\},zmm5,WORD BCST \[edx-0x100\],0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 48 66 ed 7b\s+vfpclasspbf16 k5,zmm5,0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 4f 66 ac f4 00 00 00 10 7b\s+vfpclasspbf16 k5\{k7\},ZMMWORD PTR \[esp\+esi\*8\+0x10000000\],0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 58 66 29 7b\s+vfpclasspbf16 k5,WORD BCST \[ecx\]\{1to32\},0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 48 66 69 7f 7b\s+vfpclasspbf16 k5,ZMMWORD PTR \[ecx\+0x1fc0\],0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 5f 66 6a 80 7b\s+vfpclasspbf16 k5\{k7\},WORD BCST \[edx-0x100\]\{1to32\},0x7b
+#pass
diff --git a/gas/testsuite/gas/i386/avx10_2-512-bf16.d b/gas/testsuite/gas/i386/avx10_2-512-bf16.d
new file mode 100644
index 00000000000..e1d04858d67
--- /dev/null
+++ b/gas/testsuite/gas/i386/avx10_2-512-bf16.d
@@ -0,0 +1,150 @@ 
+#objdump: -dw
+#name: i386 AVX10.2/512 BF16 insns
+
+.*: +file format .*
+
+
+Disassembly of section .text:
+
+0+ <_start>:
+\s*[a-f0-9]+:\s*62 f5 55 48 58 f4\s+vaddnepbf16 %zmm4,%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f5 55 4f 58 b4 f4 00 00 00 10\s+vaddnepbf16 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f5 55 58 58 31\s+vaddnepbf16 \(%ecx\)\{1to32\},%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f5 55 48 58 71 7f\s+vaddnepbf16 0x1fc0\(%ecx\),%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f5 55 df 58 72 80\s+vaddnepbf16 -0x100\(%edx\)\{1to32\},%zmm5,%zmm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f5 55 48 5e f4\s+vdivnepbf16 %zmm4,%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f5 55 4f 5e b4 f4 00 00 00 10\s+vdivnepbf16 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f5 55 58 5e 31\s+vdivnepbf16 \(%ecx\)\{1to32\},%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f5 55 48 5e 71 7f\s+vdivnepbf16 0x1fc0\(%ecx\),%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f5 55 df 5e 72 80\s+vdivnepbf16 -0x100\(%edx\)\{1to32\},%zmm5,%zmm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f5 55 48 5f f4\s+vmaxpbf16 %zmm4,%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f5 55 4f 5f b4 f4 00 00 00 10\s+vmaxpbf16 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f5 55 58 5f 31\s+vmaxpbf16 \(%ecx\)\{1to32\},%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f5 55 48 5f 71 7f\s+vmaxpbf16 0x1fc0\(%ecx\),%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f5 55 df 5f 72 80\s+vmaxpbf16 -0x100\(%edx\)\{1to32\},%zmm5,%zmm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f5 55 48 5d f4\s+vminpbf16 %zmm4,%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f5 55 4f 5d b4 f4 00 00 00 10\s+vminpbf16 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f5 55 58 5d 31\s+vminpbf16 \(%ecx\)\{1to32\},%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f5 55 48 5d 71 7f\s+vminpbf16 0x1fc0\(%ecx\),%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f5 55 df 5d 72 80\s+vminpbf16 -0x100\(%edx\)\{1to32\},%zmm5,%zmm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f5 55 48 59 f4\s+vmulnepbf16 %zmm4,%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f5 55 4f 59 b4 f4 00 00 00 10\s+vmulnepbf16 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f5 55 58 59 31\s+vmulnepbf16 \(%ecx\)\{1to32\},%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f5 55 48 59 71 7f\s+vmulnepbf16 0x1fc0\(%ecx\),%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f5 55 df 59 72 80\s+vmulnepbf16 -0x100\(%edx\)\{1to32\},%zmm5,%zmm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f6 54 48 2c f4\s+vscalefpbf16 %zmm4,%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f6 54 4f 2c b4 f4 00 00 00 10\s+vscalefpbf16 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f6 54 58 2c 31\s+vscalefpbf16 \(%ecx\)\{1to32\},%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f6 54 48 2c 71 7f\s+vscalefpbf16 0x1fc0\(%ecx\),%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f6 54 df 2c 72 80\s+vscalefpbf16 -0x100\(%edx\)\{1to32\},%zmm5,%zmm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f5 55 48 5c f4\s+vsubnepbf16 %zmm4,%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f5 55 4f 5c b4 f4 00 00 00 10\s+vsubnepbf16 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f5 55 58 5c 31\s+vsubnepbf16 \(%ecx\)\{1to32\},%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f5 55 48 5c 71 7f\s+vsubnepbf16 0x1fc0\(%ecx\),%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f5 55 df 5c 72 80\s+vsubnepbf16 -0x100\(%edx\)\{1to32\},%zmm5,%zmm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f6 54 48 98 f4\s+vfmadd132nepbf16 %zmm4,%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f6 54 4f 98 b4 f4 00 00 00 10\s+vfmadd132nepbf16 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f6 54 58 98 31\s+vfmadd132nepbf16 \(%ecx\)\{1to32\},%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f6 54 48 98 71 7f\s+vfmadd132nepbf16 0x1fc0\(%ecx\),%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f6 54 df 98 72 80\s+vfmadd132nepbf16 -0x100\(%edx\)\{1to32\},%zmm5,%zmm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f6 54 48 a8 f4\s+vfmadd213nepbf16 %zmm4,%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f6 54 4f a8 b4 f4 00 00 00 10\s+vfmadd213nepbf16 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f6 54 58 a8 31\s+vfmadd213nepbf16 \(%ecx\)\{1to32\},%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f6 54 48 a8 71 7f\s+vfmadd213nepbf16 0x1fc0\(%ecx\),%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f6 54 df a8 72 80\s+vfmadd213nepbf16 -0x100\(%edx\)\{1to32\},%zmm5,%zmm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f6 54 48 b8 f4\s+vfmadd231nepbf16 %zmm4,%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f6 54 4f b8 b4 f4 00 00 00 10\s+vfmadd231nepbf16 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f6 54 58 b8 31\s+vfmadd231nepbf16 \(%ecx\)\{1to32\},%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f6 54 48 b8 71 7f\s+vfmadd231nepbf16 0x1fc0\(%ecx\),%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f6 54 df b8 72 80\s+vfmadd231nepbf16 -0x100\(%edx\)\{1to32\},%zmm5,%zmm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f6 54 48 9a f4\s+vfmsub132nepbf16 %zmm4,%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f6 54 4f 9a b4 f4 00 00 00 10\s+vfmsub132nepbf16 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f6 54 58 9a 31\s+vfmsub132nepbf16 \(%ecx\)\{1to32\},%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f6 54 48 9a 71 7f\s+vfmsub132nepbf16 0x1fc0\(%ecx\),%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f6 54 df 9a 72 80\s+vfmsub132nepbf16 -0x100\(%edx\)\{1to32\},%zmm5,%zmm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f6 54 48 aa f4\s+vfmsub213nepbf16 %zmm4,%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f6 54 4f aa b4 f4 00 00 00 10\s+vfmsub213nepbf16 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f6 54 58 aa 31\s+vfmsub213nepbf16 \(%ecx\)\{1to32\},%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f6 54 48 aa 71 7f\s+vfmsub213nepbf16 0x1fc0\(%ecx\),%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f6 54 df aa 72 80\s+vfmsub213nepbf16 -0x100\(%edx\)\{1to32\},%zmm5,%zmm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f6 54 48 ba f4\s+vfmsub231nepbf16 %zmm4,%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f6 54 4f ba b4 f4 00 00 00 10\s+vfmsub231nepbf16 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f6 54 58 ba 31\s+vfmsub231nepbf16 \(%ecx\)\{1to32\},%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f6 54 48 ba 71 7f\s+vfmsub231nepbf16 0x1fc0\(%ecx\),%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f6 54 df ba 72 80\s+vfmsub231nepbf16 -0x100\(%edx\)\{1to32\},%zmm5,%zmm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f6 54 48 9c f4\s+vfnmadd132nepbf16 %zmm4,%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f6 54 4f 9c b4 f4 00 00 00 10\s+vfnmadd132nepbf16 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f6 54 58 9c 31\s+vfnmadd132nepbf16 \(%ecx\)\{1to32\},%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f6 54 48 9c 71 7f\s+vfnmadd132nepbf16 0x1fc0\(%ecx\),%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f6 54 df 9c 72 80\s+vfnmadd132nepbf16 -0x100\(%edx\)\{1to32\},%zmm5,%zmm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f6 54 48 ac f4\s+vfnmadd213nepbf16 %zmm4,%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f6 54 4f ac b4 f4 00 00 00 10\s+vfnmadd213nepbf16 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f6 54 58 ac 31\s+vfnmadd213nepbf16 \(%ecx\)\{1to32\},%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f6 54 48 ac 71 7f\s+vfnmadd213nepbf16 0x1fc0\(%ecx\),%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f6 54 df ac 72 80\s+vfnmadd213nepbf16 -0x100\(%edx\)\{1to32\},%zmm5,%zmm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f6 54 48 bc f4\s+vfnmadd231nepbf16 %zmm4,%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f6 54 4f bc b4 f4 00 00 00 10\s+vfnmadd231nepbf16 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f6 54 58 bc 31\s+vfnmadd231nepbf16 \(%ecx\)\{1to32\},%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f6 54 48 bc 71 7f\s+vfnmadd231nepbf16 0x1fc0\(%ecx\),%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f6 54 df bc 72 80\s+vfnmadd231nepbf16 -0x100\(%edx\)\{1to32\},%zmm5,%zmm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f6 54 48 9e f4\s+vfnmsub132nepbf16 %zmm4,%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f6 54 4f 9e b4 f4 00 00 00 10\s+vfnmsub132nepbf16 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f6 54 58 9e 31\s+vfnmsub132nepbf16 \(%ecx\)\{1to32\},%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f6 54 48 9e 71 7f\s+vfnmsub132nepbf16 0x1fc0\(%ecx\),%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f6 54 df 9e 72 80\s+vfnmsub132nepbf16 -0x100\(%edx\)\{1to32\},%zmm5,%zmm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f6 54 48 ae f4\s+vfnmsub213nepbf16 %zmm4,%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f6 54 4f ae b4 f4 00 00 00 10\s+vfnmsub213nepbf16 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f6 54 58 ae 31\s+vfnmsub213nepbf16 \(%ecx\)\{1to32\},%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f6 54 48 ae 71 7f\s+vfnmsub213nepbf16 0x1fc0\(%ecx\),%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f6 54 df ae 72 80\s+vfnmsub213nepbf16 -0x100\(%edx\)\{1to32\},%zmm5,%zmm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f6 54 48 be f4\s+vfnmsub231nepbf16 %zmm4,%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f6 54 4f be b4 f4 00 00 00 10\s+vfnmsub231nepbf16 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f6 54 58 be 31\s+vfnmsub231nepbf16 \(%ecx\)\{1to32\},%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f6 54 48 be 71 7f\s+vfnmsub231nepbf16 0x1fc0\(%ecx\),%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f6 54 df be 72 80\s+vfnmsub231nepbf16 -0x100\(%edx\)\{1to32\},%zmm5,%zmm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f6 7c 48 42 f5\s+vgetexppbf16 %zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f6 7c 4f 42 b4 f4 00 00 00 10\s+vgetexppbf16 0x10000000\(%esp,%esi,8\),%zmm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f6 7c 58 42 31\s+vgetexppbf16 \(%ecx\)\{1to32\},%zmm6
+\s*[a-f0-9]+:\s*62 f6 7c 48 42 71 7f\s+vgetexppbf16 0x1fc0\(%ecx\),%zmm6
+\s*[a-f0-9]+:\s*62 f6 7c df 42 72 80\s+vgetexppbf16 -0x100\(%edx\)\{1to32\},%zmm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f6 7c 48 4c f5\s+vrcppbf16 %zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f6 7c 4f 4c b4 f4 00 00 00 10\s+vrcppbf16 0x10000000\(%esp,%esi,8\),%zmm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f6 7c 58 4c 31\s+vrcppbf16 \(%ecx\)\{1to32\},%zmm6
+\s*[a-f0-9]+:\s*62 f6 7c 48 4c 71 7f\s+vrcppbf16 0x1fc0\(%ecx\),%zmm6
+\s*[a-f0-9]+:\s*62 f6 7c df 4c 72 80\s+vrcppbf16 -0x100\(%edx\)\{1to32\},%zmm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f6 7c 48 4e f5\s+vrsqrtpbf16 %zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f6 7c 4f 4e b4 f4 00 00 00 10\s+vrsqrtpbf16 0x10000000\(%esp,%esi,8\),%zmm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f6 7c 58 4e 31\s+vrsqrtpbf16 \(%ecx\)\{1to32\},%zmm6
+\s*[a-f0-9]+:\s*62 f6 7c 48 4e 71 7f\s+vrsqrtpbf16 0x1fc0\(%ecx\),%zmm6
+\s*[a-f0-9]+:\s*62 f6 7c df 4e 72 80\s+vrsqrtpbf16 -0x100\(%edx\)\{1to32\},%zmm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f5 7d 48 51 f5\s+vsqrtnepbf16 %zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f5 7d 4f 51 b4 f4 00 00 00 10\s+vsqrtnepbf16 0x10000000\(%esp,%esi,8\),%zmm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f5 7d 58 51 31\s+vsqrtnepbf16 \(%ecx\)\{1to32\},%zmm6
+\s*[a-f0-9]+:\s*62 f5 7d 48 51 71 7f\s+vsqrtnepbf16 0x1fc0\(%ecx\),%zmm6
+\s*[a-f0-9]+:\s*62 f5 7d df 51 72 80\s+vsqrtnepbf16 -0x100\(%edx\)\{1to32\},%zmm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f3 7f 48 26 f5 7b\s+vgetmantpbf16 \$0x7b,%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f3 7f 4f 26 b4 f4 00 00 00 10 7b\s+vgetmantpbf16 \$0x7b,0x10000000\(%esp,%esi,8\),%zmm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f3 7f 58 26 31 7b\s+vgetmantpbf16 \$0x7b,\(%ecx\)\{1to32\},%zmm6
+\s*[a-f0-9]+:\s*62 f3 7f 48 26 71 7f 7b\s+vgetmantpbf16 \$0x7b,0x1fc0\(%ecx\),%zmm6
+\s*[a-f0-9]+:\s*62 f3 7f df 26 72 80 7b\s+vgetmantpbf16 \$0x7b,-0x100\(%edx\)\{1to32\},%zmm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f3 7f 48 56 f5 7b\s+vreducenepbf16 \$0x7b,%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f3 7f 4f 56 b4 f4 00 00 00 10 7b\s+vreducenepbf16 \$0x7b,0x10000000\(%esp,%esi,8\),%zmm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f3 7f 58 56 31 7b\s+vreducenepbf16 \$0x7b,\(%ecx\)\{1to32\},%zmm6
+\s*[a-f0-9]+:\s*62 f3 7f 48 56 71 7f 7b\s+vreducenepbf16 \$0x7b,0x1fc0\(%ecx\),%zmm6
+\s*[a-f0-9]+:\s*62 f3 7f df 56 72 80 7b\s+vreducenepbf16 \$0x7b,-0x100\(%edx\)\{1to32\},%zmm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f3 7f 48 08 f5 7b\s+vrndscalenepbf16 \$0x7b,%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 f3 7f 4f 08 b4 f4 00 00 00 10 7b\s+vrndscalenepbf16 \$0x7b,0x10000000\(%esp,%esi,8\),%zmm6\{%k7\}
+\s*[a-f0-9]+:\s*62 f3 7f 58 08 31 7b\s+vrndscalenepbf16 \$0x7b,\(%ecx\)\{1to32\},%zmm6
+\s*[a-f0-9]+:\s*62 f3 7f 48 08 71 7f 7b\s+vrndscalenepbf16 \$0x7b,0x1fc0\(%ecx\),%zmm6
+\s*[a-f0-9]+:\s*62 f3 7f df 08 72 80 7b\s+vrndscalenepbf16 \$0x7b,-0x100\(%edx\)\{1to32\},%zmm6\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 f3 57 48 c2 ec 7b\s+vcmppbf16 \$0x7b,%zmm4,%zmm5,%k5
+\s*[a-f0-9]+:\s*62 f3 57 4f c2 ac f4 00 00 00 10 7b\s+vcmppbf16 \$0x7b,0x10000000\(%esp,%esi,8\),%zmm5,%k5\{%k7\}
+\s*[a-f0-9]+:\s*62 f3 57 58 c2 29 7b\s+vcmppbf16 \$0x7b,\(%ecx\)\{1to32\},%zmm5,%k5
+\s*[a-f0-9]+:\s*62 f3 57 48 c2 69 7f 7b\s+vcmppbf16 \$0x7b,0x1fc0\(%ecx\),%zmm5,%k5
+\s*[a-f0-9]+:\s*62 f3 57 5f c2 6a 80 7b\s+vcmppbf16 \$0x7b,-0x100\(%edx\)\{1to32\},%zmm5,%k5\{%k7\}
+\s*[a-f0-9]+:\s*62 f3 7f 48 66 ed 7b\s+vfpclasspbf16 \$0x7b,%zmm5,%k5
+\s*[a-f0-9]+:\s*62 f3 7f 4f 66 ac f4 00 00 00 10 7b\s+vfpclasspbf16z \$0x7b,0x10000000\(%esp,%esi,8\),%k5\{%k7\}
+\s*[a-f0-9]+:\s*62 f3 7f 58 66 29 7b\s+vfpclasspbf16 \$0x7b,\(%ecx\)\{1to32\},%k5
+\s*[a-f0-9]+:\s*62 f3 7f 48 66 69 7f 7b\s+vfpclasspbf16z \$0x7b,0x1fc0\(%ecx\),%k5
+\s*[a-f0-9]+:\s*62 f3 7f 5f 66 6a 80 7b\s+vfpclasspbf16 \$0x7b,-0x100\(%edx\)\{1to32\},%k5\{%k7\}
+#pass
diff --git a/gas/testsuite/gas/i386/avx10_2-512-bf16.s b/gas/testsuite/gas/i386/avx10_2-512-bf16.s
new file mode 100644
index 00000000000..0e44a0aa15a
--- /dev/null
+++ b/gas/testsuite/gas/i386/avx10_2-512-bf16.s
@@ -0,0 +1,99 @@ 
+# Check 32bit AVX10.2/512 instructions
+
+	.arch generic32
+	.arch .avx10.2/512
+	.text
+_start:
+	.irp m, addne, divne, max, min, mulne, scalef, subne
+	v\m\()pbf16	%zmm4, %zmm5, %zmm6
+	v\m\()pbf16	0x10000000(%esp, %esi, 8), %zmm5, %zmm6{%k7}
+	v\m\()pbf16	(%ecx){1to32}, %zmm5, %zmm6
+	v\m\()pbf16	8128(%ecx), %zmm5, %zmm6
+	v\m\()pbf16	-256(%edx){1to32}, %zmm5, %zmm6{%k7}{z}
+	.endr
+
+	.irp m, madd, msub, nmadd, nmsub
+	.irp n, 132, 213, 231
+	vf\m\n\(\())nepbf16	%zmm4, %zmm5, %zmm6
+	vf\m\n\(\())nepbf16	0x10000000(%esp, %esi, 8), %zmm5, %zmm6{%k7}
+	vf\m\n\(\())nepbf16	(%ecx){1to32}, %zmm5, %zmm6
+	vf\m\n\(\())nepbf16	8128(%ecx), %zmm5, %zmm6
+	vf\m\n\(\())nepbf16	-256(%edx){1to32}, %zmm5, %zmm6{%k7}{z}
+	.endr
+	.endr
+
+	.irp m, getexp, rcp, rsqrt, sqrtne
+	v\m\()pbf16	%zmm5, %zmm6
+	v\m\()pbf16	0x10000000(%esp, %esi, 8), %zmm6{%k7}
+	v\m\()pbf16	(%ecx){1to32}, %zmm6
+	v\m\()pbf16	8128(%ecx), %zmm6
+	v\m\()pbf16	-256(%edx){1to32}, %zmm6{%k7}{z}
+	.endr
+
+	.irp m, getmant, reducene, rndscalene
+	v\m\()pbf16	$123, %zmm5, %zmm6
+	v\m\()pbf16	$123, 0x10000000(%esp, %esi, 8), %zmm6{%k7}
+	v\m\()pbf16	$123, (%ecx){1to32}, %zmm6
+	v\m\()pbf16	$123, 8128(%ecx), %zmm6
+	v\m\()pbf16	$123, -256(%edx){1to32}, %zmm6{%k7}{z}
+	.endr
+
+	vcmppbf16	$123, %zmm4, %zmm5, %k5
+	vcmppbf16	$123, 0x10000000(%esp, %esi, 8), %zmm5, %k5{%k7}
+	vcmppbf16	$123, (%ecx){1to32}, %zmm5, %k5
+	vcmppbf16	$123, 8128(%ecx), %zmm5, %k5
+	vcmppbf16	$123, -256(%edx){1to32}, %zmm5, %k5{%k7}
+
+	vfpclasspbf16	$123, %zmm5, %k5
+	vfpclasspbf16z	$123, 0x10000000(%esp, %esi, 8), %k5{%k7}
+	vfpclasspbf16	$123, (%ecx){1to32}, %k5
+	vfpclasspbf16z	$123, 8128(%ecx), %k5
+	vfpclasspbf16	$123, -256(%edx){1to32}, %k5{%k7}
+
+_intel:
+	.intel_syntax noprefix
+	.irp m, addne, divne, max, min, mulne, scalef, subne
+	v\m\()pbf16	zmm6, zmm5, zmm4
+	v\m\()pbf16	zmm6{k7}, zmm5, ZMMWORD PTR [esp+esi*8+0x10000000]
+	v\m\()pbf16	zmm6, zmm5, WORD PTR [ecx]{1to32}
+	v\m\()pbf16	zmm6, zmm5, ZMMWORD PTR [ecx+8128]
+	v\m\()pbf16	zmm6{k7}{z}, zmm5, WORD PTR [edx-256]{1to32}
+	.endr
+
+	.irp m, madd, msub, nmadd, nmsub
+	.irp n, 132, 213, 231
+	vf\m\n\(\())nepbf16	zmm6, zmm5, zmm4
+	vf\m\n\(\())nepbf16	zmm6{k7}, zmm5, ZMMWORD PTR [esp+esi*8+0x10000000]
+	vf\m\n\(\())nepbf16	zmm6, zmm5, WORD PTR [ecx]{1to32}
+	vf\m\n\(\())nepbf16	zmm6, zmm5, ZMMWORD PTR [ecx+8128]
+	vf\m\n\(\())nepbf16	zmm6{k7}{z}, zmm5, WORD PTR [edx-256]{1to32}
+	.endr
+	.endr
+
+	.irp m, getexp, rcp, rsqrt, sqrtne
+	v\m\()pbf16	zmm6, zmm5
+	v\m\()pbf16	zmm6{k7}, ZMMWORD PTR [esp+esi*8+0x10000000]
+	v\m\()pbf16	zmm6, WORD PTR [ecx]{1to32}
+	v\m\()pbf16	zmm6, ZMMWORD PTR [ecx+8128]
+	v\m\()pbf16	zmm6{k7}{z}, WORD PTR [edx-256]{1to32}
+	.endr
+
+	.irp m, getmant, reducene, rndscalene
+	v\m\()pbf16	zmm6, zmm5, 123
+	v\m\()pbf16	zmm6{k7}, ZMMWORD PTR [esp+esi*8+0x10000000], 123
+	v\m\()pbf16	zmm6, WORD PTR [ecx]{1to32}, 123
+	v\m\()pbf16	zmm6, ZMMWORD PTR [ecx+8128], 123
+	v\m\()pbf16	zmm6{k7}{z}, WORD PTR [edx-256]{1to32}, 123
+	.endr
+
+	vcmppbf16	k5, zmm5, zmm4, 123
+	vcmppbf16	k5{k7}, zmm5, ZMMWORD PTR [esp+esi*8+0x10000000], 123
+	vcmppbf16	k5, zmm5, WORD PTR [ecx]{1to32}, 123
+	vcmppbf16	k5, zmm5, ZMMWORD PTR [ecx+8128], 123
+	vcmppbf16	k5{k7}, zmm5, WORD PTR [edx-256]{1to32}, 123
+
+	vfpclasspbf16	k5, zmm5, 123
+	vfpclasspbf16	k5{k7}, ZMMWORD PTR [esp+esi*8+0x10000000], 123
+	vfpclasspbf16	k5, WORD PTR [ecx]{1to32}, 123
+	vfpclasspbf16	k5, ZMMWORD PTR [ecx+8128], 123
+	vfpclasspbf16	k5{k7}, WORD PTR [edx-256]{1to32}, 123
diff --git a/gas/testsuite/gas/i386/i386.exp b/gas/testsuite/gas/i386/i386.exp
index 0a979ccf16a..7a3be5d5b5a 100644
--- a/gas/testsuite/gas/i386/i386.exp
+++ b/gas/testsuite/gas/i386/i386.exp
@@ -531,6 +531,10 @@  if [gas_32_check] then {
     run_dump_test "avx10_2-512-cvt-intel"
     run_dump_test "avx10_2-256-cvt"
     run_dump_test "avx10_2-256-cvt-intel"
+    run_dump_test "avx10_2-512-bf16"
+    run_dump_test "avx10_2-512-bf16-intel"
+    run_dump_test "avx10_2-256-bf16"
+    run_dump_test "avx10_2-256-bf16-intel"
     run_list_test "sg"
     run_dump_test "clzero"
     run_dump_test "invlpgb"
diff --git a/gas/testsuite/gas/i386/x86-64-avx10_2-256-bf16-intel.d b/gas/testsuite/gas/i386/x86-64-avx10_2-256-bf16-intel.d
new file mode 100644
index 00000000000..fd20c83c0a0
--- /dev/null
+++ b/gas/testsuite/gas/i386/x86-64-avx10_2-256-bf16-intel.d
@@ -0,0 +1,295 @@ 
+#objdump: -dw -Mintel
+#name: x86_64 AVX10.2/256 BF16 insns (Intel disassembly)
+#source: x86-64-avx10_2-256-bf16.s
+
+.*: +file format .*
+
+Disassembly of section \.text:
+
+#...
+[a-f0-9]+ <_intel>:
+\s*[a-f0-9]+:\s*62 05 15 20 58 f4\s+vaddnepbf16 ymm30,ymm29,ymm28
+\s*[a-f0-9]+:\s*62 05 15 00 58 f4\s+vaddnepbf16 xmm30,xmm29,xmm28
+\s*[a-f0-9]+:\s*62 25 15 27 58 b4 f5 00 00 00 10\s+vaddnepbf16 ymm30\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 45 15 30 58 31\s+vaddnepbf16 ymm30,ymm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 65 15 20 58 71 7f\s+vaddnepbf16 ymm30,ymm29,YMMWORD PTR \[rcx\+0xfe0\]
+\s*[a-f0-9]+:\s*62 65 15 b7 58 72 80\s+vaddnepbf16 ymm30\{k7\}\{z\},ymm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 25 15 07 58 b4 f5 00 00 00 10\s+vaddnepbf16 xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 45 15 10 58 31\s+vaddnepbf16 xmm30,xmm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 65 15 00 58 71 7f\s+vaddnepbf16 xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\]
+\s*[a-f0-9]+:\s*62 65 15 97 58 72 80\s+vaddnepbf16 xmm30\{k7\}\{z\},xmm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 05 15 20 5e f4\s+vdivnepbf16 ymm30,ymm29,ymm28
+\s*[a-f0-9]+:\s*62 05 15 00 5e f4\s+vdivnepbf16 xmm30,xmm29,xmm28
+\s*[a-f0-9]+:\s*62 25 15 27 5e b4 f5 00 00 00 10\s+vdivnepbf16 ymm30\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 45 15 30 5e 31\s+vdivnepbf16 ymm30,ymm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 65 15 20 5e 71 7f\s+vdivnepbf16 ymm30,ymm29,YMMWORD PTR \[rcx\+0xfe0\]
+\s*[a-f0-9]+:\s*62 65 15 b7 5e 72 80\s+vdivnepbf16 ymm30\{k7\}\{z\},ymm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 25 15 07 5e b4 f5 00 00 00 10\s+vdivnepbf16 xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 45 15 10 5e 31\s+vdivnepbf16 xmm30,xmm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 65 15 00 5e 71 7f\s+vdivnepbf16 xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\]
+\s*[a-f0-9]+:\s*62 65 15 97 5e 72 80\s+vdivnepbf16 xmm30\{k7\}\{z\},xmm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 05 15 20 5f f4\s+vmaxpbf16 ymm30,ymm29,ymm28
+\s*[a-f0-9]+:\s*62 05 15 00 5f f4\s+vmaxpbf16 xmm30,xmm29,xmm28
+\s*[a-f0-9]+:\s*62 25 15 27 5f b4 f5 00 00 00 10\s+vmaxpbf16 ymm30\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 45 15 30 5f 31\s+vmaxpbf16 ymm30,ymm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 65 15 20 5f 71 7f\s+vmaxpbf16 ymm30,ymm29,YMMWORD PTR \[rcx\+0xfe0\]
+\s*[a-f0-9]+:\s*62 65 15 b7 5f 72 80\s+vmaxpbf16 ymm30\{k7\}\{z\},ymm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 25 15 07 5f b4 f5 00 00 00 10\s+vmaxpbf16 xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 45 15 10 5f 31\s+vmaxpbf16 xmm30,xmm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 65 15 00 5f 71 7f\s+vmaxpbf16 xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\]
+\s*[a-f0-9]+:\s*62 65 15 97 5f 72 80\s+vmaxpbf16 xmm30\{k7\}\{z\},xmm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 05 15 20 5d f4\s+vminpbf16 ymm30,ymm29,ymm28
+\s*[a-f0-9]+:\s*62 05 15 00 5d f4\s+vminpbf16 xmm30,xmm29,xmm28
+\s*[a-f0-9]+:\s*62 25 15 27 5d b4 f5 00 00 00 10\s+vminpbf16 ymm30\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 45 15 30 5d 31\s+vminpbf16 ymm30,ymm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 65 15 20 5d 71 7f\s+vminpbf16 ymm30,ymm29,YMMWORD PTR \[rcx\+0xfe0\]
+\s*[a-f0-9]+:\s*62 65 15 b7 5d 72 80\s+vminpbf16 ymm30\{k7\}\{z\},ymm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 25 15 07 5d b4 f5 00 00 00 10\s+vminpbf16 xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 45 15 10 5d 31\s+vminpbf16 xmm30,xmm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 65 15 00 5d 71 7f\s+vminpbf16 xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\]
+\s*[a-f0-9]+:\s*62 65 15 97 5d 72 80\s+vminpbf16 xmm30\{k7\}\{z\},xmm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 05 15 20 59 f4\s+vmulnepbf16 ymm30,ymm29,ymm28
+\s*[a-f0-9]+:\s*62 05 15 00 59 f4\s+vmulnepbf16 xmm30,xmm29,xmm28
+\s*[a-f0-9]+:\s*62 25 15 27 59 b4 f5 00 00 00 10\s+vmulnepbf16 ymm30\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 45 15 30 59 31\s+vmulnepbf16 ymm30,ymm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 65 15 20 59 71 7f\s+vmulnepbf16 ymm30,ymm29,YMMWORD PTR \[rcx\+0xfe0\]
+\s*[a-f0-9]+:\s*62 65 15 b7 59 72 80\s+vmulnepbf16 ymm30\{k7\}\{z\},ymm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 25 15 07 59 b4 f5 00 00 00 10\s+vmulnepbf16 xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 45 15 10 59 31\s+vmulnepbf16 xmm30,xmm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 65 15 00 59 71 7f\s+vmulnepbf16 xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\]
+\s*[a-f0-9]+:\s*62 65 15 97 59 72 80\s+vmulnepbf16 xmm30\{k7\}\{z\},xmm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 06 14 20 2c f4\s+vscalefpbf16 ymm30,ymm29,ymm28
+\s*[a-f0-9]+:\s*62 06 14 00 2c f4\s+vscalefpbf16 xmm30,xmm29,xmm28
+\s*[a-f0-9]+:\s*62 26 14 27 2c b4 f5 00 00 00 10\s+vscalefpbf16 ymm30\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 46 14 30 2c 31\s+vscalefpbf16 ymm30,ymm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 66 14 20 2c 71 7f\s+vscalefpbf16 ymm30,ymm29,YMMWORD PTR \[rcx\+0xfe0\]
+\s*[a-f0-9]+:\s*62 66 14 b7 2c 72 80\s+vscalefpbf16 ymm30\{k7\}\{z\},ymm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 26 14 07 2c b4 f5 00 00 00 10\s+vscalefpbf16 xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 46 14 10 2c 31\s+vscalefpbf16 xmm30,xmm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 66 14 00 2c 71 7f\s+vscalefpbf16 xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\]
+\s*[a-f0-9]+:\s*62 66 14 97 2c 72 80\s+vscalefpbf16 xmm30\{k7\}\{z\},xmm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 05 15 20 5c f4\s+vsubnepbf16 ymm30,ymm29,ymm28
+\s*[a-f0-9]+:\s*62 05 15 00 5c f4\s+vsubnepbf16 xmm30,xmm29,xmm28
+\s*[a-f0-9]+:\s*62 25 15 27 5c b4 f5 00 00 00 10\s+vsubnepbf16 ymm30\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 45 15 30 5c 31\s+vsubnepbf16 ymm30,ymm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 65 15 20 5c 71 7f\s+vsubnepbf16 ymm30,ymm29,YMMWORD PTR \[rcx\+0xfe0\]
+\s*[a-f0-9]+:\s*62 65 15 b7 5c 72 80\s+vsubnepbf16 ymm30\{k7\}\{z\},ymm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 25 15 07 5c b4 f5 00 00 00 10\s+vsubnepbf16 xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 45 15 10 5c 31\s+vsubnepbf16 xmm30,xmm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 65 15 00 5c 71 7f\s+vsubnepbf16 xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\]
+\s*[a-f0-9]+:\s*62 65 15 97 5c 72 80\s+vsubnepbf16 xmm30\{k7\}\{z\},xmm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 06 14 20 98 f4\s+vfmadd132nepbf16 ymm30,ymm29,ymm28
+\s*[a-f0-9]+:\s*62 06 14 00 98 f4\s+vfmadd132nepbf16 xmm30,xmm29,xmm28
+\s*[a-f0-9]+:\s*62 26 14 27 98 b4 f5 00 00 00 10\s+vfmadd132nepbf16 ymm30\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 46 14 30 98 31\s+vfmadd132nepbf16 ymm30,ymm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 66 14 20 98 71 7f\s+vfmadd132nepbf16 ymm30,ymm29,YMMWORD PTR \[rcx\+0xfe0\]
+\s*[a-f0-9]+:\s*62 66 14 b7 98 72 80\s+vfmadd132nepbf16 ymm30\{k7\}\{z\},ymm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 26 14 07 98 b4 f5 00 00 00 10\s+vfmadd132nepbf16 xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 46 14 10 98 31\s+vfmadd132nepbf16 xmm30,xmm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 66 14 00 98 71 7f\s+vfmadd132nepbf16 xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\]
+\s*[a-f0-9]+:\s*62 66 14 97 98 72 80\s+vfmadd132nepbf16 xmm30\{k7\}\{z\},xmm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 06 14 20 a8 f4\s+vfmadd213nepbf16 ymm30,ymm29,ymm28
+\s*[a-f0-9]+:\s*62 06 14 00 a8 f4\s+vfmadd213nepbf16 xmm30,xmm29,xmm28
+\s*[a-f0-9]+:\s*62 26 14 27 a8 b4 f5 00 00 00 10\s+vfmadd213nepbf16 ymm30\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 46 14 30 a8 31\s+vfmadd213nepbf16 ymm30,ymm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 66 14 20 a8 71 7f\s+vfmadd213nepbf16 ymm30,ymm29,YMMWORD PTR \[rcx\+0xfe0\]
+\s*[a-f0-9]+:\s*62 66 14 b7 a8 72 80\s+vfmadd213nepbf16 ymm30\{k7\}\{z\},ymm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 26 14 07 a8 b4 f5 00 00 00 10\s+vfmadd213nepbf16 xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 46 14 10 a8 31\s+vfmadd213nepbf16 xmm30,xmm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 66 14 00 a8 71 7f\s+vfmadd213nepbf16 xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\]
+\s*[a-f0-9]+:\s*62 66 14 97 a8 72 80\s+vfmadd213nepbf16 xmm30\{k7\}\{z\},xmm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 06 14 20 b8 f4\s+vfmadd231nepbf16 ymm30,ymm29,ymm28
+\s*[a-f0-9]+:\s*62 06 14 00 b8 f4\s+vfmadd231nepbf16 xmm30,xmm29,xmm28
+\s*[a-f0-9]+:\s*62 26 14 27 b8 b4 f5 00 00 00 10\s+vfmadd231nepbf16 ymm30\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 46 14 30 b8 31\s+vfmadd231nepbf16 ymm30,ymm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 66 14 20 b8 71 7f\s+vfmadd231nepbf16 ymm30,ymm29,YMMWORD PTR \[rcx\+0xfe0\]
+\s*[a-f0-9]+:\s*62 66 14 b7 b8 72 80\s+vfmadd231nepbf16 ymm30\{k7\}\{z\},ymm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 26 14 07 b8 b4 f5 00 00 00 10\s+vfmadd231nepbf16 xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 46 14 10 b8 31\s+vfmadd231nepbf16 xmm30,xmm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 66 14 00 b8 71 7f\s+vfmadd231nepbf16 xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\]
+\s*[a-f0-9]+:\s*62 66 14 97 b8 72 80\s+vfmadd231nepbf16 xmm30\{k7\}\{z\},xmm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 06 14 20 9a f4\s+vfmsub132nepbf16 ymm30,ymm29,ymm28
+\s*[a-f0-9]+:\s*62 06 14 00 9a f4\s+vfmsub132nepbf16 xmm30,xmm29,xmm28
+\s*[a-f0-9]+:\s*62 26 14 27 9a b4 f5 00 00 00 10\s+vfmsub132nepbf16 ymm30\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 46 14 30 9a 31\s+vfmsub132nepbf16 ymm30,ymm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 66 14 20 9a 71 7f\s+vfmsub132nepbf16 ymm30,ymm29,YMMWORD PTR \[rcx\+0xfe0\]
+\s*[a-f0-9]+:\s*62 66 14 b7 9a 72 80\s+vfmsub132nepbf16 ymm30\{k7\}\{z\},ymm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 26 14 07 9a b4 f5 00 00 00 10\s+vfmsub132nepbf16 xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 46 14 10 9a 31\s+vfmsub132nepbf16 xmm30,xmm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 66 14 00 9a 71 7f\s+vfmsub132nepbf16 xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\]
+\s*[a-f0-9]+:\s*62 66 14 97 9a 72 80\s+vfmsub132nepbf16 xmm30\{k7\}\{z\},xmm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 06 14 20 aa f4\s+vfmsub213nepbf16 ymm30,ymm29,ymm28
+\s*[a-f0-9]+:\s*62 06 14 00 aa f4\s+vfmsub213nepbf16 xmm30,xmm29,xmm28
+\s*[a-f0-9]+:\s*62 26 14 27 aa b4 f5 00 00 00 10\s+vfmsub213nepbf16 ymm30\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 46 14 30 aa 31\s+vfmsub213nepbf16 ymm30,ymm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 66 14 20 aa 71 7f\s+vfmsub213nepbf16 ymm30,ymm29,YMMWORD PTR \[rcx\+0xfe0\]
+\s*[a-f0-9]+:\s*62 66 14 b7 aa 72 80\s+vfmsub213nepbf16 ymm30\{k7\}\{z\},ymm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 26 14 07 aa b4 f5 00 00 00 10\s+vfmsub213nepbf16 xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 46 14 10 aa 31\s+vfmsub213nepbf16 xmm30,xmm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 66 14 00 aa 71 7f\s+vfmsub213nepbf16 xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\]
+\s*[a-f0-9]+:\s*62 66 14 97 aa 72 80\s+vfmsub213nepbf16 xmm30\{k7\}\{z\},xmm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 06 14 20 ba f4\s+vfmsub231nepbf16 ymm30,ymm29,ymm28
+\s*[a-f0-9]+:\s*62 06 14 00 ba f4\s+vfmsub231nepbf16 xmm30,xmm29,xmm28
+\s*[a-f0-9]+:\s*62 26 14 27 ba b4 f5 00 00 00 10\s+vfmsub231nepbf16 ymm30\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 46 14 30 ba 31\s+vfmsub231nepbf16 ymm30,ymm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 66 14 20 ba 71 7f\s+vfmsub231nepbf16 ymm30,ymm29,YMMWORD PTR \[rcx\+0xfe0\]
+\s*[a-f0-9]+:\s*62 66 14 b7 ba 72 80\s+vfmsub231nepbf16 ymm30\{k7\}\{z\},ymm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 26 14 07 ba b4 f5 00 00 00 10\s+vfmsub231nepbf16 xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 46 14 10 ba 31\s+vfmsub231nepbf16 xmm30,xmm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 66 14 00 ba 71 7f\s+vfmsub231nepbf16 xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\]
+\s*[a-f0-9]+:\s*62 66 14 97 ba 72 80\s+vfmsub231nepbf16 xmm30\{k7\}\{z\},xmm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 06 14 20 9c f4\s+vfnmadd132nepbf16 ymm30,ymm29,ymm28
+\s*[a-f0-9]+:\s*62 06 14 00 9c f4\s+vfnmadd132nepbf16 xmm30,xmm29,xmm28
+\s*[a-f0-9]+:\s*62 26 14 27 9c b4 f5 00 00 00 10\s+vfnmadd132nepbf16 ymm30\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 46 14 30 9c 31\s+vfnmadd132nepbf16 ymm30,ymm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 66 14 20 9c 71 7f\s+vfnmadd132nepbf16 ymm30,ymm29,YMMWORD PTR \[rcx\+0xfe0\]
+\s*[a-f0-9]+:\s*62 66 14 b7 9c 72 80\s+vfnmadd132nepbf16 ymm30\{k7\}\{z\},ymm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 26 14 07 9c b4 f5 00 00 00 10\s+vfnmadd132nepbf16 xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 46 14 10 9c 31\s+vfnmadd132nepbf16 xmm30,xmm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 66 14 00 9c 71 7f\s+vfnmadd132nepbf16 xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\]
+\s*[a-f0-9]+:\s*62 66 14 97 9c 72 80\s+vfnmadd132nepbf16 xmm30\{k7\}\{z\},xmm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 06 14 20 ac f4\s+vfnmadd213nepbf16 ymm30,ymm29,ymm28
+\s*[a-f0-9]+:\s*62 06 14 00 ac f4\s+vfnmadd213nepbf16 xmm30,xmm29,xmm28
+\s*[a-f0-9]+:\s*62 26 14 27 ac b4 f5 00 00 00 10\s+vfnmadd213nepbf16 ymm30\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 46 14 30 ac 31\s+vfnmadd213nepbf16 ymm30,ymm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 66 14 20 ac 71 7f\s+vfnmadd213nepbf16 ymm30,ymm29,YMMWORD PTR \[rcx\+0xfe0\]
+\s*[a-f0-9]+:\s*62 66 14 b7 ac 72 80\s+vfnmadd213nepbf16 ymm30\{k7\}\{z\},ymm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 26 14 07 ac b4 f5 00 00 00 10\s+vfnmadd213nepbf16 xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 46 14 10 ac 31\s+vfnmadd213nepbf16 xmm30,xmm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 66 14 00 ac 71 7f\s+vfnmadd213nepbf16 xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\]
+\s*[a-f0-9]+:\s*62 66 14 97 ac 72 80\s+vfnmadd213nepbf16 xmm30\{k7\}\{z\},xmm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 06 14 20 bc f4\s+vfnmadd231nepbf16 ymm30,ymm29,ymm28
+\s*[a-f0-9]+:\s*62 06 14 00 bc f4\s+vfnmadd231nepbf16 xmm30,xmm29,xmm28
+\s*[a-f0-9]+:\s*62 26 14 27 bc b4 f5 00 00 00 10\s+vfnmadd231nepbf16 ymm30\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 46 14 30 bc 31\s+vfnmadd231nepbf16 ymm30,ymm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 66 14 20 bc 71 7f\s+vfnmadd231nepbf16 ymm30,ymm29,YMMWORD PTR \[rcx\+0xfe0\]
+\s*[a-f0-9]+:\s*62 66 14 b7 bc 72 80\s+vfnmadd231nepbf16 ymm30\{k7\}\{z\},ymm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 26 14 07 bc b4 f5 00 00 00 10\s+vfnmadd231nepbf16 xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 46 14 10 bc 31\s+vfnmadd231nepbf16 xmm30,xmm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 66 14 00 bc 71 7f\s+vfnmadd231nepbf16 xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\]
+\s*[a-f0-9]+:\s*62 66 14 97 bc 72 80\s+vfnmadd231nepbf16 xmm30\{k7\}\{z\},xmm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 06 14 20 9e f4\s+vfnmsub132nepbf16 ymm30,ymm29,ymm28
+\s*[a-f0-9]+:\s*62 06 14 00 9e f4\s+vfnmsub132nepbf16 xmm30,xmm29,xmm28
+\s*[a-f0-9]+:\s*62 26 14 27 9e b4 f5 00 00 00 10\s+vfnmsub132nepbf16 ymm30\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 46 14 30 9e 31\s+vfnmsub132nepbf16 ymm30,ymm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 66 14 20 9e 71 7f\s+vfnmsub132nepbf16 ymm30,ymm29,YMMWORD PTR \[rcx\+0xfe0\]
+\s*[a-f0-9]+:\s*62 66 14 b7 9e 72 80\s+vfnmsub132nepbf16 ymm30\{k7\}\{z\},ymm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 26 14 07 9e b4 f5 00 00 00 10\s+vfnmsub132nepbf16 xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 46 14 10 9e 31\s+vfnmsub132nepbf16 xmm30,xmm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 66 14 00 9e 71 7f\s+vfnmsub132nepbf16 xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\]
+\s*[a-f0-9]+:\s*62 66 14 97 9e 72 80\s+vfnmsub132nepbf16 xmm30\{k7\}\{z\},xmm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 06 14 20 ae f4\s+vfnmsub213nepbf16 ymm30,ymm29,ymm28
+\s*[a-f0-9]+:\s*62 06 14 00 ae f4\s+vfnmsub213nepbf16 xmm30,xmm29,xmm28
+\s*[a-f0-9]+:\s*62 26 14 27 ae b4 f5 00 00 00 10\s+vfnmsub213nepbf16 ymm30\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 46 14 30 ae 31\s+vfnmsub213nepbf16 ymm30,ymm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 66 14 20 ae 71 7f\s+vfnmsub213nepbf16 ymm30,ymm29,YMMWORD PTR \[rcx\+0xfe0\]
+\s*[a-f0-9]+:\s*62 66 14 b7 ae 72 80\s+vfnmsub213nepbf16 ymm30\{k7\}\{z\},ymm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 26 14 07 ae b4 f5 00 00 00 10\s+vfnmsub213nepbf16 xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 46 14 10 ae 31\s+vfnmsub213nepbf16 xmm30,xmm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 66 14 00 ae 71 7f\s+vfnmsub213nepbf16 xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\]
+\s*[a-f0-9]+:\s*62 66 14 97 ae 72 80\s+vfnmsub213nepbf16 xmm30\{k7\}\{z\},xmm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 06 14 20 be f4\s+vfnmsub231nepbf16 ymm30,ymm29,ymm28
+\s*[a-f0-9]+:\s*62 06 14 00 be f4\s+vfnmsub231nepbf16 xmm30,xmm29,xmm28
+\s*[a-f0-9]+:\s*62 26 14 27 be b4 f5 00 00 00 10\s+vfnmsub231nepbf16 ymm30\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 46 14 30 be 31\s+vfnmsub231nepbf16 ymm30,ymm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 66 14 20 be 71 7f\s+vfnmsub231nepbf16 ymm30,ymm29,YMMWORD PTR \[rcx\+0xfe0\]
+\s*[a-f0-9]+:\s*62 66 14 b7 be 72 80\s+vfnmsub231nepbf16 ymm30\{k7\}\{z\},ymm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 26 14 07 be b4 f5 00 00 00 10\s+vfnmsub231nepbf16 xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 46 14 10 be 31\s+vfnmsub231nepbf16 xmm30,xmm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 66 14 00 be 71 7f\s+vfnmsub231nepbf16 xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\]
+\s*[a-f0-9]+:\s*62 66 14 97 be 72 80\s+vfnmsub231nepbf16 xmm30\{k7\}\{z\},xmm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 06 7c 08 42 f5\s+vgetexppbf16 xmm30,xmm29
+\s*[a-f0-9]+:\s*62 06 7c 28 42 f5\s+vgetexppbf16 ymm30,ymm29
+\s*[a-f0-9]+:\s*62 26 7c 0f 42 b4 f5 00 00 00 10\s+vgetexppbf16 xmm30\{k7\},XMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 46 7c 18 42 31\s+vgetexppbf16 xmm30,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 66 7c 08 42 71 7f\s+vgetexppbf16 xmm30,XMMWORD PTR \[rcx\+0x7f0\]
+\s*[a-f0-9]+:\s*62 66 7c 9f 42 72 80\s+vgetexppbf16 xmm30\{k7\}\{z\},WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 26 7c 2f 42 b4 f5 00 00 00 10\s+vgetexppbf16 ymm30\{k7\},YMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 46 7c 38 42 31\s+vgetexppbf16 ymm30,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 66 7c 28 42 71 7f\s+vgetexppbf16 ymm30,YMMWORD PTR \[rcx\+0xfe0\]
+\s*[a-f0-9]+:\s*62 66 7c bf 42 72 80\s+vgetexppbf16 ymm30\{k7\}\{z\},WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 06 7c 08 4c f5\s+vrcppbf16 xmm30,xmm29
+\s*[a-f0-9]+:\s*62 06 7c 28 4c f5\s+vrcppbf16 ymm30,ymm29
+\s*[a-f0-9]+:\s*62 26 7c 0f 4c b4 f5 00 00 00 10\s+vrcppbf16 xmm30\{k7\},XMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 46 7c 18 4c 31\s+vrcppbf16 xmm30,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 66 7c 08 4c 71 7f\s+vrcppbf16 xmm30,XMMWORD PTR \[rcx\+0x7f0\]
+\s*[a-f0-9]+:\s*62 66 7c 9f 4c 72 80\s+vrcppbf16 xmm30\{k7\}\{z\},WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 26 7c 2f 4c b4 f5 00 00 00 10\s+vrcppbf16 ymm30\{k7\},YMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 46 7c 38 4c 31\s+vrcppbf16 ymm30,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 66 7c 28 4c 71 7f\s+vrcppbf16 ymm30,YMMWORD PTR \[rcx\+0xfe0\]
+\s*[a-f0-9]+:\s*62 66 7c bf 4c 72 80\s+vrcppbf16 ymm30\{k7\}\{z\},WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 06 7c 08 4e f5\s+vrsqrtpbf16 xmm30,xmm29
+\s*[a-f0-9]+:\s*62 06 7c 28 4e f5\s+vrsqrtpbf16 ymm30,ymm29
+\s*[a-f0-9]+:\s*62 26 7c 0f 4e b4 f5 00 00 00 10\s+vrsqrtpbf16 xmm30\{k7\},XMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 46 7c 18 4e 31\s+vrsqrtpbf16 xmm30,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 66 7c 08 4e 71 7f\s+vrsqrtpbf16 xmm30,XMMWORD PTR \[rcx\+0x7f0\]
+\s*[a-f0-9]+:\s*62 66 7c 9f 4e 72 80\s+vrsqrtpbf16 xmm30\{k7\}\{z\},WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 26 7c 2f 4e b4 f5 00 00 00 10\s+vrsqrtpbf16 ymm30\{k7\},YMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 46 7c 38 4e 31\s+vrsqrtpbf16 ymm30,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 66 7c 28 4e 71 7f\s+vrsqrtpbf16 ymm30,YMMWORD PTR \[rcx\+0xfe0\]
+\s*[a-f0-9]+:\s*62 66 7c bf 4e 72 80\s+vrsqrtpbf16 ymm30\{k7\}\{z\},WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 05 7d 08 51 f5\s+vsqrtnepbf16 xmm30,xmm29
+\s*[a-f0-9]+:\s*62 05 7d 28 51 f5\s+vsqrtnepbf16 ymm30,ymm29
+\s*[a-f0-9]+:\s*62 25 7d 0f 51 b4 f5 00 00 00 10\s+vsqrtnepbf16 xmm30\{k7\},XMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 45 7d 18 51 31\s+vsqrtnepbf16 xmm30,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 65 7d 08 51 71 7f\s+vsqrtnepbf16 xmm30,XMMWORD PTR \[rcx\+0x7f0\]
+\s*[a-f0-9]+:\s*62 65 7d 9f 51 72 80\s+vsqrtnepbf16 xmm30\{k7\}\{z\},WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 25 7d 2f 51 b4 f5 00 00 00 10\s+vsqrtnepbf16 ymm30\{k7\},YMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 45 7d 38 51 31\s+vsqrtnepbf16 ymm30,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 65 7d 28 51 71 7f\s+vsqrtnepbf16 ymm30,YMMWORD PTR \[rcx\+0xfe0\]
+\s*[a-f0-9]+:\s*62 65 7d bf 51 72 80\s+vsqrtnepbf16 ymm30\{k7\}\{z\},WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 03 7f 28 26 f5 7b\s+vgetmantpbf16 ymm30,ymm29,0x7b
+\s*[a-f0-9]+:\s*62 03 7f 08 26 f5 7b\s+vgetmantpbf16 xmm30,xmm29,0x7b
+\s*[a-f0-9]+:\s*62 23 7f 0f 26 b4 f5 00 00 00 10 7b\s+vgetmantpbf16 xmm30\{k7\},XMMWORD PTR \[rbp\+r14\*8\+0x10000000\],0x7b
+\s*[a-f0-9]+:\s*62 43 7f 18 26 31 7b\s+vgetmantpbf16 xmm30,WORD BCST \[r9\],0x7b
+\s*[a-f0-9]+:\s*62 63 7f 08 26 71 7f 7b\s+vgetmantpbf16 xmm30,XMMWORD PTR \[rcx\+0x7f0\],0x7b
+\s*[a-f0-9]+:\s*62 63 7f 9f 26 72 80 7b\s+vgetmantpbf16 xmm30\{k7\}\{z\},WORD BCST \[rdx-0x100\],0x7b
+\s*[a-f0-9]+:\s*62 23 7f 2f 26 b4 f5 00 00 00 10 7b\s+vgetmantpbf16 ymm30\{k7\},YMMWORD PTR \[rbp\+r14\*8\+0x10000000\],0x7b
+\s*[a-f0-9]+:\s*62 43 7f 38 26 31 7b\s+vgetmantpbf16 ymm30,WORD BCST \[r9\],0x7b
+\s*[a-f0-9]+:\s*62 63 7f 28 26 71 7f 7b\s+vgetmantpbf16 ymm30,YMMWORD PTR \[rcx\+0xfe0\],0x7b
+\s*[a-f0-9]+:\s*62 63 7f bf 26 72 80 7b\s+vgetmantpbf16 ymm30\{k7\}\{z\},WORD BCST \[rdx-0x100\],0x7b
+\s*[a-f0-9]+:\s*62 03 7f 28 56 f5 7b\s+vreducenepbf16 ymm30,ymm29,0x7b
+\s*[a-f0-9]+:\s*62 03 7f 08 56 f5 7b\s+vreducenepbf16 xmm30,xmm29,0x7b
+\s*[a-f0-9]+:\s*62 23 7f 0f 56 b4 f5 00 00 00 10 7b\s+vreducenepbf16 xmm30\{k7\},XMMWORD PTR \[rbp\+r14\*8\+0x10000000\],0x7b
+\s*[a-f0-9]+:\s*62 43 7f 18 56 31 7b\s+vreducenepbf16 xmm30,WORD BCST \[r9\],0x7b
+\s*[a-f0-9]+:\s*62 63 7f 08 56 71 7f 7b\s+vreducenepbf16 xmm30,XMMWORD PTR \[rcx\+0x7f0\],0x7b
+\s*[a-f0-9]+:\s*62 63 7f 9f 56 72 80 7b\s+vreducenepbf16 xmm30\{k7\}\{z\},WORD BCST \[rdx-0x100\],0x7b
+\s*[a-f0-9]+:\s*62 23 7f 2f 56 b4 f5 00 00 00 10 7b\s+vreducenepbf16 ymm30\{k7\},YMMWORD PTR \[rbp\+r14\*8\+0x10000000\],0x7b
+\s*[a-f0-9]+:\s*62 43 7f 38 56 31 7b\s+vreducenepbf16 ymm30,WORD BCST \[r9\],0x7b
+\s*[a-f0-9]+:\s*62 63 7f 28 56 71 7f 7b\s+vreducenepbf16 ymm30,YMMWORD PTR \[rcx\+0xfe0\],0x7b
+\s*[a-f0-9]+:\s*62 63 7f bf 56 72 80 7b\s+vreducenepbf16 ymm30\{k7\}\{z\},WORD BCST \[rdx-0x100\],0x7b
+\s*[a-f0-9]+:\s*62 03 7f 28 08 f5 7b\s+vrndscalenepbf16 ymm30,ymm29,0x7b
+\s*[a-f0-9]+:\s*62 03 7f 08 08 f5 7b\s+vrndscalenepbf16 xmm30,xmm29,0x7b
+\s*[a-f0-9]+:\s*62 23 7f 0f 08 b4 f5 00 00 00 10 7b\s+vrndscalenepbf16 xmm30\{k7\},XMMWORD PTR \[rbp\+r14\*8\+0x10000000\],0x7b
+\s*[a-f0-9]+:\s*62 43 7f 18 08 31 7b\s+vrndscalenepbf16 xmm30,WORD BCST \[r9\],0x7b
+\s*[a-f0-9]+:\s*62 63 7f 08 08 71 7f 7b\s+vrndscalenepbf16 xmm30,XMMWORD PTR \[rcx\+0x7f0\],0x7b
+\s*[a-f0-9]+:\s*62 63 7f 9f 08 72 80 7b\s+vrndscalenepbf16 xmm30\{k7\}\{z\},WORD BCST \[rdx-0x100\],0x7b
+\s*[a-f0-9]+:\s*62 23 7f 2f 08 b4 f5 00 00 00 10 7b\s+vrndscalenepbf16 ymm30\{k7\},YMMWORD PTR \[rbp\+r14\*8\+0x10000000\],0x7b
+\s*[a-f0-9]+:\s*62 43 7f 38 08 31 7b\s+vrndscalenepbf16 ymm30,WORD BCST \[r9\],0x7b
+\s*[a-f0-9]+:\s*62 63 7f 28 08 71 7f 7b\s+vrndscalenepbf16 ymm30,YMMWORD PTR \[rcx\+0xfe0\],0x7b
+\s*[a-f0-9]+:\s*62 63 7f bf 08 72 80 7b\s+vrndscalenepbf16 ymm30\{k7\}\{z\},WORD BCST \[rdx-0x100\],0x7b
+\s*[a-f0-9]+:\s*62 93 17 20 c2 ec 7b\s+vcmppbf16 k5,ymm29,ymm28,0x7b
+\s*[a-f0-9]+:\s*62 93 17 00 c2 ec 7b\s+vcmppbf16 k5,xmm29,xmm28,0x7b
+\s*[a-f0-9]+:\s*62 b3 17 07 c2 ac f5 00 00 00 10 7b\s+vcmppbf16 k5\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\],0x7b
+\s*[a-f0-9]+:\s*62 d3 17 10 c2 29 7b\s+vcmppbf16 k5,xmm29,WORD BCST \[r9\],0x7b
+\s*[a-f0-9]+:\s*62 f3 17 00 c2 69 7f 7b\s+vcmppbf16 k5,xmm29,XMMWORD PTR \[rcx\+0x7f0\],0x7b
+\s*[a-f0-9]+:\s*62 f3 17 17 c2 6a 80 7b\s+vcmppbf16 k5\{k7\},xmm29,WORD BCST \[rdx-0x100\],0x7b
+\s*[a-f0-9]+:\s*62 b3 17 27 c2 ac f5 00 00 00 10 7b\s+vcmppbf16 k5\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\],0x7b
+\s*[a-f0-9]+:\s*62 d3 17 30 c2 29 7b\s+vcmppbf16 k5,ymm29,WORD BCST \[r9\],0x7b
+\s*[a-f0-9]+:\s*62 f3 17 20 c2 69 7f 7b\s+vcmppbf16 k5,ymm29,YMMWORD PTR \[rcx\+0xfe0\],0x7b
+\s*[a-f0-9]+:\s*62 f3 17 37 c2 6a 80 7b\s+vcmppbf16 k5\{k7\},ymm29,WORD BCST \[rdx-0x100\],0x7b
+\s*[a-f0-9]+:\s*62 05 7d 08 2f f5\s+vcomsbf16 xmm30,xmm29
+\s*[a-f0-9]+:\s*62 25 7d 08 2f b4 f5 00 00 00 10\s+vcomsbf16 xmm30,WORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 45 7d 08 2f 31\s+vcomsbf16 xmm30,WORD PTR \[r9\]
+\s*[a-f0-9]+:\s*62 65 7d 08 2f 71 7f\s+vcomsbf16 xmm30,WORD PTR \[rcx\+0xfe\]
+\s*[a-f0-9]+:\s*62 65 7d 08 2f 72 80\s+vcomsbf16 xmm30,WORD PTR \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 93 7f 28 66 ed 7b\s+vfpclasspbf16 k5,ymm29,0x7b
+\s*[a-f0-9]+:\s*62 93 7f 08 66 ed 7b\s+vfpclasspbf16 k5,xmm29,0x7b
+\s*[a-f0-9]+:\s*62 b3 7f 0f 66 ac f5 00 00 00 10 7b\s+vfpclasspbf16 k5\{k7\},XMMWORD PTR \[rbp\+r14\*8\+0x10000000\],0x7b
+\s*[a-f0-9]+:\s*62 d3 7f 18 66 29 7b\s+vfpclasspbf16 k5,WORD BCST \[r9\]\{1to8\},0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 08 66 69 7f 7b\s+vfpclasspbf16 k5,XMMWORD PTR \[rcx\+0x7f0\],0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 1f 66 6a 80 7b\s+vfpclasspbf16 k5\{k7\},WORD BCST \[rdx-0x100\]\{1to8\},0x7b
+\s*[a-f0-9]+:\s*62 d3 7f 38 66 29 7b\s+vfpclasspbf16 k5,WORD BCST \[r9\]\{1to16\},0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 28 66 69 7f 7b\s+vfpclasspbf16 k5,YMMWORD PTR \[rcx\+0xfe0\],0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 3f 66 6a 80 7b\s+vfpclasspbf16 k5\{k7\},WORD BCST \[rdx-0x100\]\{1to16\},0x7b
+#pass
diff --git a/gas/testsuite/gas/i386/x86-64-avx10_2-256-bf16.d b/gas/testsuite/gas/i386/x86-64-avx10_2-256-bf16.d
new file mode 100644
index 00000000000..56ae4ad517d
--- /dev/null
+++ b/gas/testsuite/gas/i386/x86-64-avx10_2-256-bf16.d
@@ -0,0 +1,293 @@ 
+#objdump: -dw
+#name: x86_64 AVX10.2/256 BF16 insns
+
+.*: +file format .*
+
+Disassembly of section \.text:
+
+0+ <_start>:
+\s*[a-f0-9]+:\s*62 05 15 20 58 f4\s+vaddnepbf16 %ymm28,%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 05 15 00 58 f4\s+vaddnepbf16 %xmm28,%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 25 15 27 58 b4 f5 00 00 00 10\s+vaddnepbf16 0x10000000\(%rbp,%r14,8\),%ymm29,%ymm30\{%k7\}
+\s*[a-f0-9]+:\s*62 45 15 30 58 31\s+vaddnepbf16 \(%r9\)\{1to16\},%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 65 15 20 58 71 7f\s+vaddnepbf16 0xfe0\(%rcx\),%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 65 15 b7 58 72 80\s+vaddnepbf16 -0x100\(%rdx\)\{1to16\},%ymm29,%ymm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 25 15 07 58 b4 f5 00 00 00 10\s+vaddnepbf16 0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\}
+\s*[a-f0-9]+:\s*62 45 15 10 58 31\s+vaddnepbf16 \(%r9\)\{1to8\},%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 65 15 00 58 71 7f\s+vaddnepbf16 0x7f0\(%rcx\),%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 65 15 97 58 72 80\s+vaddnepbf16 -0x100\(%rdx\)\{1to8\},%xmm29,%xmm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 05 15 20 5e f4\s+vdivnepbf16 %ymm28,%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 05 15 00 5e f4\s+vdivnepbf16 %xmm28,%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 25 15 27 5e b4 f5 00 00 00 10\s+vdivnepbf16 0x10000000\(%rbp,%r14,8\),%ymm29,%ymm30\{%k7\}
+\s*[a-f0-9]+:\s*62 45 15 30 5e 31\s+vdivnepbf16 \(%r9\)\{1to16\},%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 65 15 20 5e 71 7f\s+vdivnepbf16 0xfe0\(%rcx\),%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 65 15 b7 5e 72 80\s+vdivnepbf16 -0x100\(%rdx\)\{1to16\},%ymm29,%ymm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 25 15 07 5e b4 f5 00 00 00 10\s+vdivnepbf16 0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\}
+\s*[a-f0-9]+:\s*62 45 15 10 5e 31\s+vdivnepbf16 \(%r9\)\{1to8\},%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 65 15 00 5e 71 7f\s+vdivnepbf16 0x7f0\(%rcx\),%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 65 15 97 5e 72 80\s+vdivnepbf16 -0x100\(%rdx\)\{1to8\},%xmm29,%xmm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 05 15 20 5f f4\s+vmaxpbf16 %ymm28,%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 05 15 00 5f f4\s+vmaxpbf16 %xmm28,%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 25 15 27 5f b4 f5 00 00 00 10\s+vmaxpbf16 0x10000000\(%rbp,%r14,8\),%ymm29,%ymm30\{%k7\}
+\s*[a-f0-9]+:\s*62 45 15 30 5f 31\s+vmaxpbf16 \(%r9\)\{1to16\},%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 65 15 20 5f 71 7f\s+vmaxpbf16 0xfe0\(%rcx\),%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 65 15 b7 5f 72 80\s+vmaxpbf16 -0x100\(%rdx\)\{1to16\},%ymm29,%ymm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 25 15 07 5f b4 f5 00 00 00 10\s+vmaxpbf16 0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\}
+\s*[a-f0-9]+:\s*62 45 15 10 5f 31\s+vmaxpbf16 \(%r9\)\{1to8\},%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 65 15 00 5f 71 7f\s+vmaxpbf16 0x7f0\(%rcx\),%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 65 15 97 5f 72 80\s+vmaxpbf16 -0x100\(%rdx\)\{1to8\},%xmm29,%xmm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 05 15 20 5d f4\s+vminpbf16 %ymm28,%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 05 15 00 5d f4\s+vminpbf16 %xmm28,%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 25 15 27 5d b4 f5 00 00 00 10\s+vminpbf16 0x10000000\(%rbp,%r14,8\),%ymm29,%ymm30\{%k7\}
+\s*[a-f0-9]+:\s*62 45 15 30 5d 31\s+vminpbf16 \(%r9\)\{1to16\},%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 65 15 20 5d 71 7f\s+vminpbf16 0xfe0\(%rcx\),%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 65 15 b7 5d 72 80\s+vminpbf16 -0x100\(%rdx\)\{1to16\},%ymm29,%ymm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 25 15 07 5d b4 f5 00 00 00 10\s+vminpbf16 0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\}
+\s*[a-f0-9]+:\s*62 45 15 10 5d 31\s+vminpbf16 \(%r9\)\{1to8\},%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 65 15 00 5d 71 7f\s+vminpbf16 0x7f0\(%rcx\),%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 65 15 97 5d 72 80\s+vminpbf16 -0x100\(%rdx\)\{1to8\},%xmm29,%xmm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 05 15 20 59 f4\s+vmulnepbf16 %ymm28,%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 05 15 00 59 f4\s+vmulnepbf16 %xmm28,%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 25 15 27 59 b4 f5 00 00 00 10\s+vmulnepbf16 0x10000000\(%rbp,%r14,8\),%ymm29,%ymm30\{%k7\}
+\s*[a-f0-9]+:\s*62 45 15 30 59 31\s+vmulnepbf16 \(%r9\)\{1to16\},%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 65 15 20 59 71 7f\s+vmulnepbf16 0xfe0\(%rcx\),%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 65 15 b7 59 72 80\s+vmulnepbf16 -0x100\(%rdx\)\{1to16\},%ymm29,%ymm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 25 15 07 59 b4 f5 00 00 00 10\s+vmulnepbf16 0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\}
+\s*[a-f0-9]+:\s*62 45 15 10 59 31\s+vmulnepbf16 \(%r9\)\{1to8\},%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 65 15 00 59 71 7f\s+vmulnepbf16 0x7f0\(%rcx\),%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 65 15 97 59 72 80\s+vmulnepbf16 -0x100\(%rdx\)\{1to8\},%xmm29,%xmm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 06 14 20 2c f4\s+vscalefpbf16 %ymm28,%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 06 14 00 2c f4\s+vscalefpbf16 %xmm28,%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 26 14 27 2c b4 f5 00 00 00 10\s+vscalefpbf16 0x10000000\(%rbp,%r14,8\),%ymm29,%ymm30\{%k7\}
+\s*[a-f0-9]+:\s*62 46 14 30 2c 31\s+vscalefpbf16 \(%r9\)\{1to16\},%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 66 14 20 2c 71 7f\s+vscalefpbf16 0xfe0\(%rcx\),%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 66 14 b7 2c 72 80\s+vscalefpbf16 -0x100\(%rdx\)\{1to16\},%ymm29,%ymm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 26 14 07 2c b4 f5 00 00 00 10\s+vscalefpbf16 0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\}
+\s*[a-f0-9]+:\s*62 46 14 10 2c 31\s+vscalefpbf16 \(%r9\)\{1to8\},%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 66 14 00 2c 71 7f\s+vscalefpbf16 0x7f0\(%rcx\),%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 66 14 97 2c 72 80\s+vscalefpbf16 -0x100\(%rdx\)\{1to8\},%xmm29,%xmm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 05 15 20 5c f4\s+vsubnepbf16 %ymm28,%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 05 15 00 5c f4\s+vsubnepbf16 %xmm28,%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 25 15 27 5c b4 f5 00 00 00 10\s+vsubnepbf16 0x10000000\(%rbp,%r14,8\),%ymm29,%ymm30\{%k7\}
+\s*[a-f0-9]+:\s*62 45 15 30 5c 31\s+vsubnepbf16 \(%r9\)\{1to16\},%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 65 15 20 5c 71 7f\s+vsubnepbf16 0xfe0\(%rcx\),%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 65 15 b7 5c 72 80\s+vsubnepbf16 -0x100\(%rdx\)\{1to16\},%ymm29,%ymm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 25 15 07 5c b4 f5 00 00 00 10\s+vsubnepbf16 0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\}
+\s*[a-f0-9]+:\s*62 45 15 10 5c 31\s+vsubnepbf16 \(%r9\)\{1to8\},%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 65 15 00 5c 71 7f\s+vsubnepbf16 0x7f0\(%rcx\),%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 65 15 97 5c 72 80\s+vsubnepbf16 -0x100\(%rdx\)\{1to8\},%xmm29,%xmm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 06 14 20 98 f4\s+vfmadd132nepbf16 %ymm28,%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 06 14 00 98 f4\s+vfmadd132nepbf16 %xmm28,%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 26 14 27 98 b4 f5 00 00 00 10\s+vfmadd132nepbf16 0x10000000\(%rbp,%r14,8\),%ymm29,%ymm30\{%k7\}
+\s*[a-f0-9]+:\s*62 46 14 30 98 31\s+vfmadd132nepbf16 \(%r9\)\{1to16\},%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 66 14 20 98 71 7f\s+vfmadd132nepbf16 0xfe0\(%rcx\),%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 66 14 b7 98 72 80\s+vfmadd132nepbf16 -0x100\(%rdx\)\{1to16\},%ymm29,%ymm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 26 14 07 98 b4 f5 00 00 00 10\s+vfmadd132nepbf16 0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\}
+\s*[a-f0-9]+:\s*62 46 14 10 98 31\s+vfmadd132nepbf16 \(%r9\)\{1to8\},%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 66 14 00 98 71 7f\s+vfmadd132nepbf16 0x7f0\(%rcx\),%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 66 14 97 98 72 80\s+vfmadd132nepbf16 -0x100\(%rdx\)\{1to8\},%xmm29,%xmm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 06 14 20 a8 f4\s+vfmadd213nepbf16 %ymm28,%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 06 14 00 a8 f4\s+vfmadd213nepbf16 %xmm28,%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 26 14 27 a8 b4 f5 00 00 00 10\s+vfmadd213nepbf16 0x10000000\(%rbp,%r14,8\),%ymm29,%ymm30\{%k7\}
+\s*[a-f0-9]+:\s*62 46 14 30 a8 31\s+vfmadd213nepbf16 \(%r9\)\{1to16\},%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 66 14 20 a8 71 7f\s+vfmadd213nepbf16 0xfe0\(%rcx\),%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 66 14 b7 a8 72 80\s+vfmadd213nepbf16 -0x100\(%rdx\)\{1to16\},%ymm29,%ymm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 26 14 07 a8 b4 f5 00 00 00 10\s+vfmadd213nepbf16 0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\}
+\s*[a-f0-9]+:\s*62 46 14 10 a8 31\s+vfmadd213nepbf16 \(%r9\)\{1to8\},%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 66 14 00 a8 71 7f\s+vfmadd213nepbf16 0x7f0\(%rcx\),%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 66 14 97 a8 72 80\s+vfmadd213nepbf16 -0x100\(%rdx\)\{1to8\},%xmm29,%xmm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 06 14 20 b8 f4\s+vfmadd231nepbf16 %ymm28,%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 06 14 00 b8 f4\s+vfmadd231nepbf16 %xmm28,%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 26 14 27 b8 b4 f5 00 00 00 10\s+vfmadd231nepbf16 0x10000000\(%rbp,%r14,8\),%ymm29,%ymm30\{%k7\}
+\s*[a-f0-9]+:\s*62 46 14 30 b8 31\s+vfmadd231nepbf16 \(%r9\)\{1to16\},%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 66 14 20 b8 71 7f\s+vfmadd231nepbf16 0xfe0\(%rcx\),%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 66 14 b7 b8 72 80\s+vfmadd231nepbf16 -0x100\(%rdx\)\{1to16\},%ymm29,%ymm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 26 14 07 b8 b4 f5 00 00 00 10\s+vfmadd231nepbf16 0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\}
+\s*[a-f0-9]+:\s*62 46 14 10 b8 31\s+vfmadd231nepbf16 \(%r9\)\{1to8\},%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 66 14 00 b8 71 7f\s+vfmadd231nepbf16 0x7f0\(%rcx\),%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 66 14 97 b8 72 80\s+vfmadd231nepbf16 -0x100\(%rdx\)\{1to8\},%xmm29,%xmm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 06 14 20 9a f4\s+vfmsub132nepbf16 %ymm28,%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 06 14 00 9a f4\s+vfmsub132nepbf16 %xmm28,%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 26 14 27 9a b4 f5 00 00 00 10\s+vfmsub132nepbf16 0x10000000\(%rbp,%r14,8\),%ymm29,%ymm30\{%k7\}
+\s*[a-f0-9]+:\s*62 46 14 30 9a 31\s+vfmsub132nepbf16 \(%r9\)\{1to16\},%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 66 14 20 9a 71 7f\s+vfmsub132nepbf16 0xfe0\(%rcx\),%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 66 14 b7 9a 72 80\s+vfmsub132nepbf16 -0x100\(%rdx\)\{1to16\},%ymm29,%ymm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 26 14 07 9a b4 f5 00 00 00 10\s+vfmsub132nepbf16 0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\}
+\s*[a-f0-9]+:\s*62 46 14 10 9a 31\s+vfmsub132nepbf16 \(%r9\)\{1to8\},%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 66 14 00 9a 71 7f\s+vfmsub132nepbf16 0x7f0\(%rcx\),%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 66 14 97 9a 72 80\s+vfmsub132nepbf16 -0x100\(%rdx\)\{1to8\},%xmm29,%xmm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 06 14 20 aa f4\s+vfmsub213nepbf16 %ymm28,%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 06 14 00 aa f4\s+vfmsub213nepbf16 %xmm28,%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 26 14 27 aa b4 f5 00 00 00 10\s+vfmsub213nepbf16 0x10000000\(%rbp,%r14,8\),%ymm29,%ymm30\{%k7\}
+\s*[a-f0-9]+:\s*62 46 14 30 aa 31\s+vfmsub213nepbf16 \(%r9\)\{1to16\},%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 66 14 20 aa 71 7f\s+vfmsub213nepbf16 0xfe0\(%rcx\),%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 66 14 b7 aa 72 80\s+vfmsub213nepbf16 -0x100\(%rdx\)\{1to16\},%ymm29,%ymm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 26 14 07 aa b4 f5 00 00 00 10\s+vfmsub213nepbf16 0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\}
+\s*[a-f0-9]+:\s*62 46 14 10 aa 31\s+vfmsub213nepbf16 \(%r9\)\{1to8\},%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 66 14 00 aa 71 7f\s+vfmsub213nepbf16 0x7f0\(%rcx\),%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 66 14 97 aa 72 80\s+vfmsub213nepbf16 -0x100\(%rdx\)\{1to8\},%xmm29,%xmm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 06 14 20 ba f4\s+vfmsub231nepbf16 %ymm28,%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 06 14 00 ba f4\s+vfmsub231nepbf16 %xmm28,%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 26 14 27 ba b4 f5 00 00 00 10\s+vfmsub231nepbf16 0x10000000\(%rbp,%r14,8\),%ymm29,%ymm30\{%k7\}
+\s*[a-f0-9]+:\s*62 46 14 30 ba 31\s+vfmsub231nepbf16 \(%r9\)\{1to16\},%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 66 14 20 ba 71 7f\s+vfmsub231nepbf16 0xfe0\(%rcx\),%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 66 14 b7 ba 72 80\s+vfmsub231nepbf16 -0x100\(%rdx\)\{1to16\},%ymm29,%ymm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 26 14 07 ba b4 f5 00 00 00 10\s+vfmsub231nepbf16 0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\}
+\s*[a-f0-9]+:\s*62 46 14 10 ba 31\s+vfmsub231nepbf16 \(%r9\)\{1to8\},%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 66 14 00 ba 71 7f\s+vfmsub231nepbf16 0x7f0\(%rcx\),%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 66 14 97 ba 72 80\s+vfmsub231nepbf16 -0x100\(%rdx\)\{1to8\},%xmm29,%xmm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 06 14 20 9c f4\s+vfnmadd132nepbf16 %ymm28,%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 06 14 00 9c f4\s+vfnmadd132nepbf16 %xmm28,%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 26 14 27 9c b4 f5 00 00 00 10\s+vfnmadd132nepbf16 0x10000000\(%rbp,%r14,8\),%ymm29,%ymm30\{%k7\}
+\s*[a-f0-9]+:\s*62 46 14 30 9c 31\s+vfnmadd132nepbf16 \(%r9\)\{1to16\},%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 66 14 20 9c 71 7f\s+vfnmadd132nepbf16 0xfe0\(%rcx\),%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 66 14 b7 9c 72 80\s+vfnmadd132nepbf16 -0x100\(%rdx\)\{1to16\},%ymm29,%ymm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 26 14 07 9c b4 f5 00 00 00 10\s+vfnmadd132nepbf16 0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\}
+\s*[a-f0-9]+:\s*62 46 14 10 9c 31\s+vfnmadd132nepbf16 \(%r9\)\{1to8\},%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 66 14 00 9c 71 7f\s+vfnmadd132nepbf16 0x7f0\(%rcx\),%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 66 14 97 9c 72 80\s+vfnmadd132nepbf16 -0x100\(%rdx\)\{1to8\},%xmm29,%xmm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 06 14 20 ac f4\s+vfnmadd213nepbf16 %ymm28,%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 06 14 00 ac f4\s+vfnmadd213nepbf16 %xmm28,%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 26 14 27 ac b4 f5 00 00 00 10\s+vfnmadd213nepbf16 0x10000000\(%rbp,%r14,8\),%ymm29,%ymm30\{%k7\}
+\s*[a-f0-9]+:\s*62 46 14 30 ac 31\s+vfnmadd213nepbf16 \(%r9\)\{1to16\},%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 66 14 20 ac 71 7f\s+vfnmadd213nepbf16 0xfe0\(%rcx\),%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 66 14 b7 ac 72 80\s+vfnmadd213nepbf16 -0x100\(%rdx\)\{1to16\},%ymm29,%ymm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 26 14 07 ac b4 f5 00 00 00 10\s+vfnmadd213nepbf16 0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\}
+\s*[a-f0-9]+:\s*62 46 14 10 ac 31\s+vfnmadd213nepbf16 \(%r9\)\{1to8\},%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 66 14 00 ac 71 7f\s+vfnmadd213nepbf16 0x7f0\(%rcx\),%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 66 14 97 ac 72 80\s+vfnmadd213nepbf16 -0x100\(%rdx\)\{1to8\},%xmm29,%xmm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 06 14 20 bc f4\s+vfnmadd231nepbf16 %ymm28,%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 06 14 00 bc f4\s+vfnmadd231nepbf16 %xmm28,%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 26 14 27 bc b4 f5 00 00 00 10\s+vfnmadd231nepbf16 0x10000000\(%rbp,%r14,8\),%ymm29,%ymm30\{%k7\}
+\s*[a-f0-9]+:\s*62 46 14 30 bc 31\s+vfnmadd231nepbf16 \(%r9\)\{1to16\},%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 66 14 20 bc 71 7f\s+vfnmadd231nepbf16 0xfe0\(%rcx\),%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 66 14 b7 bc 72 80\s+vfnmadd231nepbf16 -0x100\(%rdx\)\{1to16\},%ymm29,%ymm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 26 14 07 bc b4 f5 00 00 00 10\s+vfnmadd231nepbf16 0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\}
+\s*[a-f0-9]+:\s*62 46 14 10 bc 31\s+vfnmadd231nepbf16 \(%r9\)\{1to8\},%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 66 14 00 bc 71 7f\s+vfnmadd231nepbf16 0x7f0\(%rcx\),%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 66 14 97 bc 72 80\s+vfnmadd231nepbf16 -0x100\(%rdx\)\{1to8\},%xmm29,%xmm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 06 14 20 9e f4\s+vfnmsub132nepbf16 %ymm28,%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 06 14 00 9e f4\s+vfnmsub132nepbf16 %xmm28,%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 26 14 27 9e b4 f5 00 00 00 10\s+vfnmsub132nepbf16 0x10000000\(%rbp,%r14,8\),%ymm29,%ymm30\{%k7\}
+\s*[a-f0-9]+:\s*62 46 14 30 9e 31\s+vfnmsub132nepbf16 \(%r9\)\{1to16\},%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 66 14 20 9e 71 7f\s+vfnmsub132nepbf16 0xfe0\(%rcx\),%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 66 14 b7 9e 72 80\s+vfnmsub132nepbf16 -0x100\(%rdx\)\{1to16\},%ymm29,%ymm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 26 14 07 9e b4 f5 00 00 00 10\s+vfnmsub132nepbf16 0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\}
+\s*[a-f0-9]+:\s*62 46 14 10 9e 31\s+vfnmsub132nepbf16 \(%r9\)\{1to8\},%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 66 14 00 9e 71 7f\s+vfnmsub132nepbf16 0x7f0\(%rcx\),%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 66 14 97 9e 72 80\s+vfnmsub132nepbf16 -0x100\(%rdx\)\{1to8\},%xmm29,%xmm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 06 14 20 ae f4\s+vfnmsub213nepbf16 %ymm28,%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 06 14 00 ae f4\s+vfnmsub213nepbf16 %xmm28,%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 26 14 27 ae b4 f5 00 00 00 10\s+vfnmsub213nepbf16 0x10000000\(%rbp,%r14,8\),%ymm29,%ymm30\{%k7\}
+\s*[a-f0-9]+:\s*62 46 14 30 ae 31\s+vfnmsub213nepbf16 \(%r9\)\{1to16\},%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 66 14 20 ae 71 7f\s+vfnmsub213nepbf16 0xfe0\(%rcx\),%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 66 14 b7 ae 72 80\s+vfnmsub213nepbf16 -0x100\(%rdx\)\{1to16\},%ymm29,%ymm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 26 14 07 ae b4 f5 00 00 00 10\s+vfnmsub213nepbf16 0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\}
+\s*[a-f0-9]+:\s*62 46 14 10 ae 31\s+vfnmsub213nepbf16 \(%r9\)\{1to8\},%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 66 14 00 ae 71 7f\s+vfnmsub213nepbf16 0x7f0\(%rcx\),%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 66 14 97 ae 72 80\s+vfnmsub213nepbf16 -0x100\(%rdx\)\{1to8\},%xmm29,%xmm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 06 14 20 be f4\s+vfnmsub231nepbf16 %ymm28,%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 06 14 00 be f4\s+vfnmsub231nepbf16 %xmm28,%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 26 14 27 be b4 f5 00 00 00 10\s+vfnmsub231nepbf16 0x10000000\(%rbp,%r14,8\),%ymm29,%ymm30\{%k7\}
+\s*[a-f0-9]+:\s*62 46 14 30 be 31\s+vfnmsub231nepbf16 \(%r9\)\{1to16\},%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 66 14 20 be 71 7f\s+vfnmsub231nepbf16 0xfe0\(%rcx\),%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 66 14 b7 be 72 80\s+vfnmsub231nepbf16 -0x100\(%rdx\)\{1to16\},%ymm29,%ymm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 26 14 07 be b4 f5 00 00 00 10\s+vfnmsub231nepbf16 0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\}
+\s*[a-f0-9]+:\s*62 46 14 10 be 31\s+vfnmsub231nepbf16 \(%r9\)\{1to8\},%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 66 14 00 be 71 7f\s+vfnmsub231nepbf16 0x7f0\(%rcx\),%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 66 14 97 be 72 80\s+vfnmsub231nepbf16 -0x100\(%rdx\)\{1to8\},%xmm29,%xmm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 06 7c 08 42 f5\s+vgetexppbf16 %xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 06 7c 28 42 f5\s+vgetexppbf16 %ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 26 7c 0f 42 b4 f5 00 00 00 10\s+vgetexppbf16 0x10000000\(%rbp,%r14,8\),%xmm30\{%k7\}
+\s*[a-f0-9]+:\s*62 46 7c 18 42 31\s+vgetexppbf16 \(%r9\)\{1to8\},%xmm30
+\s*[a-f0-9]+:\s*62 66 7c 08 42 71 7f\s+vgetexppbf16 0x7f0\(%rcx\),%xmm30
+\s*[a-f0-9]+:\s*62 66 7c 9f 42 72 80\s+vgetexppbf16 -0x100\(%rdx\)\{1to8\},%xmm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 26 7c 2f 42 b4 f5 00 00 00 10\s+vgetexppbf16 0x10000000\(%rbp,%r14,8\),%ymm30\{%k7\}
+\s*[a-f0-9]+:\s*62 46 7c 38 42 31\s+vgetexppbf16 \(%r9\)\{1to16\},%ymm30
+\s*[a-f0-9]+:\s*62 66 7c 28 42 71 7f\s+vgetexppbf16 0xfe0\(%rcx\),%ymm30
+\s*[a-f0-9]+:\s*62 66 7c bf 42 72 80\s+vgetexppbf16 -0x100\(%rdx\)\{1to16\},%ymm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 06 7c 08 4c f5\s+vrcppbf16 %xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 06 7c 28 4c f5\s+vrcppbf16 %ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 26 7c 0f 4c b4 f5 00 00 00 10\s+vrcppbf16 0x10000000\(%rbp,%r14,8\),%xmm30\{%k7\}
+\s*[a-f0-9]+:\s*62 46 7c 18 4c 31\s+vrcppbf16 \(%r9\)\{1to8\},%xmm30
+\s*[a-f0-9]+:\s*62 66 7c 08 4c 71 7f\s+vrcppbf16 0x7f0\(%rcx\),%xmm30
+\s*[a-f0-9]+:\s*62 66 7c 9f 4c 72 80\s+vrcppbf16 -0x100\(%rdx\)\{1to8\},%xmm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 26 7c 2f 4c b4 f5 00 00 00 10\s+vrcppbf16 0x10000000\(%rbp,%r14,8\),%ymm30\{%k7\}
+\s*[a-f0-9]+:\s*62 46 7c 38 4c 31\s+vrcppbf16 \(%r9\)\{1to16\},%ymm30
+\s*[a-f0-9]+:\s*62 66 7c 28 4c 71 7f\s+vrcppbf16 0xfe0\(%rcx\),%ymm30
+\s*[a-f0-9]+:\s*62 66 7c bf 4c 72 80\s+vrcppbf16 -0x100\(%rdx\)\{1to16\},%ymm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 06 7c 08 4e f5\s+vrsqrtpbf16 %xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 06 7c 28 4e f5\s+vrsqrtpbf16 %ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 26 7c 0f 4e b4 f5 00 00 00 10\s+vrsqrtpbf16 0x10000000\(%rbp,%r14,8\),%xmm30\{%k7\}
+\s*[a-f0-9]+:\s*62 46 7c 18 4e 31\s+vrsqrtpbf16 \(%r9\)\{1to8\},%xmm30
+\s*[a-f0-9]+:\s*62 66 7c 08 4e 71 7f\s+vrsqrtpbf16 0x7f0\(%rcx\),%xmm30
+\s*[a-f0-9]+:\s*62 66 7c 9f 4e 72 80\s+vrsqrtpbf16 -0x100\(%rdx\)\{1to8\},%xmm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 26 7c 2f 4e b4 f5 00 00 00 10\s+vrsqrtpbf16 0x10000000\(%rbp,%r14,8\),%ymm30\{%k7\}
+\s*[a-f0-9]+:\s*62 46 7c 38 4e 31\s+vrsqrtpbf16 \(%r9\)\{1to16\},%ymm30
+\s*[a-f0-9]+:\s*62 66 7c 28 4e 71 7f\s+vrsqrtpbf16 0xfe0\(%rcx\),%ymm30
+\s*[a-f0-9]+:\s*62 66 7c bf 4e 72 80\s+vrsqrtpbf16 -0x100\(%rdx\)\{1to16\},%ymm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 05 7d 08 51 f5\s+vsqrtnepbf16 %xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 05 7d 28 51 f5\s+vsqrtnepbf16 %ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 25 7d 0f 51 b4 f5 00 00 00 10\s+vsqrtnepbf16 0x10000000\(%rbp,%r14,8\),%xmm30\{%k7\}
+\s*[a-f0-9]+:\s*62 45 7d 18 51 31\s+vsqrtnepbf16 \(%r9\)\{1to8\},%xmm30
+\s*[a-f0-9]+:\s*62 65 7d 08 51 71 7f\s+vsqrtnepbf16 0x7f0\(%rcx\),%xmm30
+\s*[a-f0-9]+:\s*62 65 7d 9f 51 72 80\s+vsqrtnepbf16 -0x100\(%rdx\)\{1to8\},%xmm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 25 7d 2f 51 b4 f5 00 00 00 10\s+vsqrtnepbf16 0x10000000\(%rbp,%r14,8\),%ymm30\{%k7\}
+\s*[a-f0-9]+:\s*62 45 7d 38 51 31\s+vsqrtnepbf16 \(%r9\)\{1to16\},%ymm30
+\s*[a-f0-9]+:\s*62 65 7d 28 51 71 7f\s+vsqrtnepbf16 0xfe0\(%rcx\),%ymm30
+\s*[a-f0-9]+:\s*62 65 7d bf 51 72 80\s+vsqrtnepbf16 -0x100\(%rdx\)\{1to16\},%ymm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 03 7f 28 26 f5 7b\s+vgetmantpbf16 \$0x7b,%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 03 7f 08 26 f5 7b\s+vgetmantpbf16 \$0x7b,%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 23 7f 0f 26 b4 f5 00 00 00 10 7b\s+vgetmantpbf16 \$0x7b,0x10000000\(%rbp,%r14,8\),%xmm30\{%k7\}
+\s*[a-f0-9]+:\s*62 43 7f 18 26 31 7b\s+vgetmantpbf16 \$0x7b,\(%r9\)\{1to8\},%xmm30
+\s*[a-f0-9]+:\s*62 63 7f 08 26 71 7f 7b\s+vgetmantpbf16 \$0x7b,0x7f0\(%rcx\),%xmm30
+\s*[a-f0-9]+:\s*62 63 7f 9f 26 72 80 7b\s+vgetmantpbf16 \$0x7b,-0x100\(%rdx\)\{1to8\},%xmm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 23 7f 2f 26 b4 f5 00 00 00 10 7b\s+vgetmantpbf16 \$0x7b,0x10000000\(%rbp,%r14,8\),%ymm30\{%k7\}
+\s*[a-f0-9]+:\s*62 43 7f 38 26 31 7b\s+vgetmantpbf16 \$0x7b,\(%r9\)\{1to16\},%ymm30
+\s*[a-f0-9]+:\s*62 63 7f 28 26 71 7f 7b\s+vgetmantpbf16 \$0x7b,0xfe0\(%rcx\),%ymm30
+\s*[a-f0-9]+:\s*62 63 7f bf 26 72 80 7b\s+vgetmantpbf16 \$0x7b,-0x100\(%rdx\)\{1to16\},%ymm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 03 7f 28 56 f5 7b\s+vreducenepbf16 \$0x7b,%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 03 7f 08 56 f5 7b\s+vreducenepbf16 \$0x7b,%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 23 7f 0f 56 b4 f5 00 00 00 10 7b\s+vreducenepbf16 \$0x7b,0x10000000\(%rbp,%r14,8\),%xmm30\{%k7\}
+\s*[a-f0-9]+:\s*62 43 7f 18 56 31 7b\s+vreducenepbf16 \$0x7b,\(%r9\)\{1to8\},%xmm30
+\s*[a-f0-9]+:\s*62 63 7f 08 56 71 7f 7b\s+vreducenepbf16 \$0x7b,0x7f0\(%rcx\),%xmm30
+\s*[a-f0-9]+:\s*62 63 7f 9f 56 72 80 7b\s+vreducenepbf16 \$0x7b,-0x100\(%rdx\)\{1to8\},%xmm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 23 7f 2f 56 b4 f5 00 00 00 10 7b\s+vreducenepbf16 \$0x7b,0x10000000\(%rbp,%r14,8\),%ymm30\{%k7\}
+\s*[a-f0-9]+:\s*62 43 7f 38 56 31 7b\s+vreducenepbf16 \$0x7b,\(%r9\)\{1to16\},%ymm30
+\s*[a-f0-9]+:\s*62 63 7f 28 56 71 7f 7b\s+vreducenepbf16 \$0x7b,0xfe0\(%rcx\),%ymm30
+\s*[a-f0-9]+:\s*62 63 7f bf 56 72 80 7b\s+vreducenepbf16 \$0x7b,-0x100\(%rdx\)\{1to16\},%ymm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 03 7f 28 08 f5 7b\s+vrndscalenepbf16 \$0x7b,%ymm29,%ymm30
+\s*[a-f0-9]+:\s*62 03 7f 08 08 f5 7b\s+vrndscalenepbf16 \$0x7b,%xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 23 7f 0f 08 b4 f5 00 00 00 10 7b\s+vrndscalenepbf16 \$0x7b,0x10000000\(%rbp,%r14,8\),%xmm30\{%k7\}
+\s*[a-f0-9]+:\s*62 43 7f 18 08 31 7b\s+vrndscalenepbf16 \$0x7b,\(%r9\)\{1to8\},%xmm30
+\s*[a-f0-9]+:\s*62 63 7f 08 08 71 7f 7b\s+vrndscalenepbf16 \$0x7b,0x7f0\(%rcx\),%xmm30
+\s*[a-f0-9]+:\s*62 63 7f 9f 08 72 80 7b\s+vrndscalenepbf16 \$0x7b,-0x100\(%rdx\)\{1to8\},%xmm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 23 7f 2f 08 b4 f5 00 00 00 10 7b\s+vrndscalenepbf16 \$0x7b,0x10000000\(%rbp,%r14,8\),%ymm30\{%k7\}
+\s*[a-f0-9]+:\s*62 43 7f 38 08 31 7b\s+vrndscalenepbf16 \$0x7b,\(%r9\)\{1to16\},%ymm30
+\s*[a-f0-9]+:\s*62 63 7f 28 08 71 7f 7b\s+vrndscalenepbf16 \$0x7b,0xfe0\(%rcx\),%ymm30
+\s*[a-f0-9]+:\s*62 63 7f bf 08 72 80 7b\s+vrndscalenepbf16 \$0x7b,-0x100\(%rdx\)\{1to16\},%ymm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 93 17 20 c2 ec 7b\s+vcmppbf16 \$0x7b,%ymm28,%ymm29,%k5
+\s*[a-f0-9]+:\s*62 93 17 00 c2 ec 7b\s+vcmppbf16 \$0x7b,%xmm28,%xmm29,%k5
+\s*[a-f0-9]+:\s*62 b3 17 07 c2 ac f5 00 00 00 10 7b\s+vcmppbf16 \$0x7b,0x10000000\(%rbp,%r14,8\),%xmm29,%k5\{%k7\}
+\s*[a-f0-9]+:\s*62 d3 17 10 c2 29 7b\s+vcmppbf16 \$0x7b,\(%r9\)\{1to8\},%xmm29,%k5
+\s*[a-f0-9]+:\s*62 f3 17 00 c2 69 7f 7b\s+vcmppbf16 \$0x7b,0x7f0\(%rcx\),%xmm29,%k5
+\s*[a-f0-9]+:\s*62 f3 17 17 c2 6a 80 7b\s+vcmppbf16 \$0x7b,-0x100\(%rdx\)\{1to8\},%xmm29,%k5\{%k7\}
+\s*[a-f0-9]+:\s*62 b3 17 27 c2 ac f5 00 00 00 10 7b\s+vcmppbf16 \$0x7b,0x10000000\(%rbp,%r14,8\),%ymm29,%k5\{%k7\}
+\s*[a-f0-9]+:\s*62 d3 17 30 c2 29 7b\s+vcmppbf16 \$0x7b,\(%r9\)\{1to16\},%ymm29,%k5
+\s*[a-f0-9]+:\s*62 f3 17 20 c2 69 7f 7b\s+vcmppbf16 \$0x7b,0xfe0\(%rcx\),%ymm29,%k5
+\s*[a-f0-9]+:\s*62 f3 17 37 c2 6a 80 7b\s+vcmppbf16 \$0x7b,-0x100\(%rdx\)\{1to16\},%ymm29,%k5\{%k7\}
+\s*[a-f0-9]+:\s*62 05 7d 08 2f f5\s+vcomsbf16 %xmm29,%xmm30
+\s*[a-f0-9]+:\s*62 25 7d 08 2f b4 f5 00 00 00 10\s+vcomsbf16 0x10000000\(%rbp,%r14,8\),%xmm30
+\s*[a-f0-9]+:\s*62 45 7d 08 2f 31\s+vcomsbf16 \(%r9\),%xmm30
+\s*[a-f0-9]+:\s*62 65 7d 08 2f 71 7f\s+vcomsbf16 0xfe\(%rcx\),%xmm30
+\s*[a-f0-9]+:\s*62 65 7d 08 2f 72 80\s+vcomsbf16 -0x100\(%rdx\),%xmm30
+\s*[a-f0-9]+:\s*62 93 7f 28 66 ed 7b\s+vfpclasspbf16 \$0x7b,%ymm29,%k5
+\s*[a-f0-9]+:\s*62 93 7f 08 66 ed 7b\s+vfpclasspbf16 \$0x7b,%xmm29,%k5
+\s*[a-f0-9]+:\s*62 b3 7f 0f 66 ac f5 00 00 00 10 7b\s+vfpclasspbf16x \$0x7b,0x10000000\(%rbp,%r14,8\),%k5\{%k7\}
+\s*[a-f0-9]+:\s*62 d3 7f 18 66 29 7b\s+vfpclasspbf16 \$0x7b,\(%r9\)\{1to8\},%k5
+\s*[a-f0-9]+:\s*62 f3 7f 08 66 69 7f 7b\s+vfpclasspbf16x \$0x7b,0x7f0\(%rcx\),%k5
+\s*[a-f0-9]+:\s*62 f3 7f 1f 66 6a 80 7b\s+vfpclasspbf16 \$0x7b,-0x100\(%rdx\)\{1to8\},%k5\{%k7\}
+\s*[a-f0-9]+:\s*62 d3 7f 38 66 29 7b\s+vfpclasspbf16 \$0x7b,\(%r9\)\{1to16\},%k5
+\s*[a-f0-9]+:\s*62 f3 7f 28 66 69 7f 7b\s+vfpclasspbf16y \$0x7b,0xfe0\(%rcx\),%k5
+\s*[a-f0-9]+:\s*62 f3 7f 3f 66 6a 80 7b\s+vfpclasspbf16 \$0x7b,-0x100\(%rdx\)\{1to16\},%k5\{%k7\}
+#pass
diff --git a/gas/testsuite/gas/i386/x86-64-avx10_2-256-bf16.s b/gas/testsuite/gas/i386/x86-64-avx10_2-256-bf16.s
new file mode 100644
index 00000000000..00381feb3e3
--- /dev/null
+++ b/gas/testsuite/gas/i386/x86-64-avx10_2-256-bf16.s
@@ -0,0 +1,169 @@ 
+# Check 64bit AVX10.2/256 instructions
+
+	.arch generic64
+	.arch .avx10.2/256
+	.text
+_start:
+	.irp m, addne, divne, max, min, mulne, scalef, subne
+	v\m\()pbf16	%ymm28, %ymm29, %ymm30
+	v\m\()pbf16	%xmm28, %xmm29, %xmm30
+	v\m\()pbf16	0x10000000(%rbp, %r14, 8), %ymm29, %ymm30{%k7}
+	v\m\()pbf16	(%r9){1to16}, %ymm29, %ymm30
+	v\m\()pbf16	4064(%rcx), %ymm29, %ymm30
+	v\m\()pbf16	-256(%rdx){1to16}, %ymm29, %ymm30{%k7}{z}
+	v\m\()pbf16	0x10000000(%rbp, %r14, 8), %xmm29, %xmm30{%k7}
+	v\m\()pbf16	(%r9){1to8}, %xmm29, %xmm30
+	v\m\()pbf16	2032(%rcx), %xmm29, %xmm30
+	v\m\()pbf16	-256(%rdx){1to8}, %xmm29, %xmm30{%k7}{z}
+	.endr
+
+	.irp m, madd, msub, nmadd, nmsub
+	.irp n, 132, 213, 231
+	vf\m\n\(\())nepbf16	%ymm28, %ymm29, %ymm30
+	vf\m\n\(\())nepbf16	%xmm28, %xmm29, %xmm30
+	vf\m\n\(\())nepbf16	0x10000000(%rbp, %r14, 8), %ymm29, %ymm30{%k7}
+	vf\m\n\(\())nepbf16	(%r9){1to16}, %ymm29, %ymm30
+	vf\m\n\(\())nepbf16	4064(%rcx), %ymm29, %ymm30
+	vf\m\n\(\())nepbf16	-256(%rdx){1to16}, %ymm29, %ymm30{%k7}{z}
+	vf\m\n\(\())nepbf16	0x10000000(%rbp, %r14, 8), %xmm29, %xmm30{%k7}
+	vf\m\n\(\())nepbf16	(%r9){1to8}, %xmm29, %xmm30
+	vf\m\n\(\())nepbf16	2032(%rcx), %xmm29, %xmm30
+	vf\m\n\(\())nepbf16	-256(%rdx){1to8}, %xmm29, %xmm30{%k7}{z}
+	.endr
+	.endr
+
+	.irp m, getexp, rcp, rsqrt, sqrtne
+	v\m\()pbf16	%xmm29, %xmm30
+	v\m\()pbf16	%ymm29, %ymm30
+	v\m\()pbf16	0x10000000(%rbp, %r14, 8), %xmm30{%k7}
+	v\m\()pbf16	(%r9){1to8}, %xmm30
+	v\m\()pbf16	2032(%rcx), %xmm30
+	v\m\()pbf16	-256(%rdx){1to8}, %xmm30{%k7}{z}
+	v\m\()pbf16	0x10000000(%rbp, %r14, 8), %ymm30{%k7}
+	v\m\()pbf16	(%r9){1to16}, %ymm30
+	v\m\()pbf16	4064(%rcx), %ymm30
+	v\m\()pbf16	-256(%rdx){1to16}, %ymm30{%k7}{z}
+	.endr
+
+	.irp m, getmant, reducene, rndscalene
+	v\m\()pbf16	$123, %ymm29, %ymm30
+	v\m\()pbf16	$123, %xmm29, %xmm30
+	v\m\()pbf16	$123, 0x10000000(%rbp, %r14, 8), %xmm30{%k7}
+	v\m\()pbf16	$123, (%r9){1to8}, %xmm30
+	v\m\()pbf16	$123, 2032(%rcx), %xmm30
+	v\m\()pbf16	$123, -256(%rdx){1to8}, %xmm30{%k7}{z}
+	v\m\()pbf16	$123, 0x10000000(%rbp, %r14, 8), %ymm30{%k7}
+	v\m\()pbf16	$123, (%r9){1to16}, %ymm30
+	v\m\()pbf16	$123, 4064(%rcx), %ymm30
+	v\m\()pbf16	$123, -256(%rdx){1to16}, %ymm30{%k7}{z}
+	.endr
+
+	vcmppbf16	$123, %ymm28, %ymm29, %k5
+	vcmppbf16	$123, %xmm28, %xmm29, %k5
+	vcmppbf16	$123, 0x10000000(%rbp, %r14, 8), %xmm29, %k5{%k7}
+	vcmppbf16	$123, (%r9){1to8}, %xmm29, %k5
+	vcmppbf16	$123, 2032(%rcx), %xmm29, %k5
+	vcmppbf16	$123, -256(%rdx){1to8}, %xmm29, %k5{%k7}
+	vcmppbf16	$123, 0x10000000(%rbp, %r14, 8), %ymm29, %k5{%k7}
+	vcmppbf16	$123, (%r9){1to16}, %ymm29, %k5
+	vcmppbf16	$123, 4064(%rcx), %ymm29, %k5
+	vcmppbf16	$123, -256(%rdx){1to16}, %ymm29, %k5{%k7}
+
+	vcomsbf16	%xmm29, %xmm30
+	vcomsbf16	0x10000000(%rbp, %r14, 8), %xmm30
+	vcomsbf16	(%r9), %xmm30
+	vcomsbf16	254(%rcx), %xmm30
+	vcomsbf16	-256(%rdx), %xmm30
+
+	vfpclasspbf16	$123, %ymm29, %k5
+	vfpclasspbf16	$123, %xmm29, %k5
+	vfpclasspbf16x	$123, 0x10000000(%rbp, %r14, 8), %k5{%k7}
+	vfpclasspbf16	$123, (%r9){1to8}, %k5
+	vfpclasspbf16x	$123, 2032(%rcx), %k5
+	vfpclasspbf16	$123, -256(%rdx){1to8}, %k5{%k7}
+	vfpclasspbf16	$123, (%r9){1to16}, %k5
+	vfpclasspbf16y	$123, 4064(%rcx), %k5
+	vfpclasspbf16	$123, -256(%rdx){1to16}, %k5{%k7}
+
+_intel:
+	.intel_syntax noprefix
+	.irp m, addne, divne, max, min, mulne, scalef, subne
+	v\m\()pbf16	ymm30, ymm29, ymm28
+	v\m\()pbf16	xmm30, xmm29, xmm28
+	v\m\()pbf16	ymm30{k7}, ymm29, YMMWORD PTR [rbp+r14*8+0x10000000]
+	v\m\()pbf16	ymm30, ymm29, WORD PTR [r9]{1to16}
+	v\m\()pbf16	ymm30, ymm29, YMMWORD PTR [rcx+4064]
+	v\m\()pbf16	ymm30{k7}{z}, ymm29, WORD PTR [rdx-256]{1to16}
+	v\m\()pbf16	xmm30{k7}, xmm29, XMMWORD PTR [rbp+r14*8+0x10000000]
+	v\m\()pbf16	xmm30, xmm29, WORD PTR [r9]{1to8}
+	v\m\()pbf16	xmm30, xmm29, XMMWORD PTR [rcx+2032]
+	v\m\()pbf16	xmm30{k7}{z}, xmm29, WORD PTR [rdx-256]{1to8}
+	.endr
+
+	.irp m, madd, msub, nmadd, nmsub
+	.irp n, 132, 213, 231
+	vf\m\n\(\())nepbf16	ymm30, ymm29, ymm28
+	vf\m\n\(\())nepbf16	xmm30, xmm29, xmm28
+	vf\m\n\(\())nepbf16	ymm30{k7}, ymm29, YMMWORD PTR [rbp+r14*8+0x10000000]
+	vf\m\n\(\())nepbf16	ymm30, ymm29, WORD PTR [r9]{1to16}
+	vf\m\n\(\())nepbf16	ymm30, ymm29, YMMWORD PTR [rcx+4064]
+	vf\m\n\(\())nepbf16	ymm30{k7}{z}, ymm29, WORD PTR [rdx-256]{1to16}
+	vf\m\n\(\())nepbf16	xmm30{k7}, xmm29, XMMWORD PTR [rbp+r14*8+0x10000000]
+	vf\m\n\(\())nepbf16	xmm30, xmm29, WORD PTR [r9]{1to8}
+	vf\m\n\(\())nepbf16	xmm30, xmm29, XMMWORD PTR [rcx+2032]
+	vf\m\n\(\())nepbf16	xmm30{k7}{z}, xmm29, WORD PTR [rdx-256]{1to8}
+	.endr
+	.endr
+
+	.irp m, getexp, rcp, rsqrt, sqrtne
+	v\m\()pbf16	xmm30, xmm29
+	v\m\()pbf16	ymm30, ymm29
+	v\m\()pbf16	xmm30{k7}, XMMWORD PTR [rbp+r14*8+0x10000000]
+	v\m\()pbf16	xmm30, WORD PTR [r9]{1to8}
+	v\m\()pbf16	xmm30, XMMWORD PTR [rcx+2032]
+	v\m\()pbf16	xmm30{k7}{z}, WORD PTR [rdx-256]{1to8}
+	v\m\()pbf16	ymm30{k7}, YMMWORD PTR [rbp+r14*8+0x10000000]
+	v\m\()pbf16	ymm30, WORD PTR [r9]{1to16}
+	v\m\()pbf16	ymm30, YMMWORD PTR [rcx+4064]
+	v\m\()pbf16	ymm30{k7}{z}, WORD PTR [rdx-256]{1to16}
+	.endr
+
+	.irp m, getmant, reducene, rndscalene
+	v\m\()pbf16	ymm30, ymm29, 123
+	v\m\()pbf16	xmm30, xmm29, 123
+	v\m\()pbf16	xmm30{k7}, XMMWORD PTR [rbp+r14*8+0x10000000], 123
+	v\m\()pbf16	xmm30, WORD PTR [r9]{1to8}, 123
+	v\m\()pbf16	xmm30, XMMWORD PTR [rcx+2032], 123
+	v\m\()pbf16	xmm30{k7}{z}, WORD PTR [rdx-256]{1to8}, 123
+	v\m\()pbf16	ymm30{k7}, YMMWORD PTR [rbp+r14*8+0x10000000], 123
+	v\m\()pbf16	ymm30, WORD PTR [r9]{1to16}, 123
+	v\m\()pbf16	ymm30, YMMWORD PTR [rcx+4064], 123
+	v\m\()pbf16	ymm30{k7}{z}, WORD PTR [rdx-256]{1to16}, 123
+	.endr
+
+	vcmppbf16	k5, ymm29, ymm28, 123
+	vcmppbf16	k5, xmm29, xmm28, 123
+	vcmppbf16	k5{k7}, xmm29, XMMWORD PTR [rbp+r14*8+0x10000000], 123
+	vcmppbf16	k5, xmm29, WORD PTR [r9]{1to8}, 123
+	vcmppbf16	k5, xmm29, XMMWORD PTR [rcx+2032], 123
+	vcmppbf16	k5{k7}, xmm29, WORD PTR [rdx-256]{1to8}, 123
+	vcmppbf16	k5{k7}, ymm29, YMMWORD PTR [rbp+r14*8+0x10000000], 123
+	vcmppbf16	k5, ymm29, WORD PTR [r9]{1to16}, 123
+	vcmppbf16	k5, ymm29, YMMWORD PTR [rcx+4064], 123
+	vcmppbf16	k5{k7}, ymm29, WORD PTR [rdx-256]{1to16}, 123
+
+	vcomsbf16	xmm30, xmm29
+	vcomsbf16	xmm30, WORD PTR [rbp+r14*8+0x10000000]
+	vcomsbf16	xmm30, WORD PTR [r9]
+	vcomsbf16	xmm30, WORD PTR [rcx+254]
+	vcomsbf16	xmm30, WORD PTR [rdx-256]
+
+	vfpclasspbf16	k5, ymm29, 123
+	vfpclasspbf16	k5, xmm29, 123
+	vfpclasspbf16	k5{k7}, XMMWORD PTR [rbp+r14*8+0x10000000], 123
+	vfpclasspbf16	k5, WORD PTR [r9]{1to8}, 123
+	vfpclasspbf16	k5, XMMWORD PTR [rcx+2032], 123
+	vfpclasspbf16	k5{k7}, WORD PTR [rdx-256]{1to8}, 123
+	vfpclasspbf16	k5, WORD PTR [r9]{1to16}, 123
+	vfpclasspbf16	k5, YMMWORD PTR [rcx+4064], 123
+	vfpclasspbf16	k5{k7}, WORD PTR [rdx-256]{1to16}, 123
diff --git a/gas/testsuite/gas/i386/x86-64-avx10_2-512-bf16-intel.d b/gas/testsuite/gas/i386/x86-64-avx10_2-512-bf16-intel.d
new file mode 100644
index 00000000000..b9454c9111c
--- /dev/null
+++ b/gas/testsuite/gas/i386/x86-64-avx10_2-512-bf16-intel.d
@@ -0,0 +1,151 @@ 
+#objdump: -dw -Mintel
+#name: x86_64 AVX10.2/512 BF16 insns (Intel disassembly)
+#source: x86-64-avx10_2-512-bf16.s
+
+.*: +file format .*
+
+Disassembly of section \.text:
+
+#...
+[a-f0-9]+ <_intel>:
+\s*[a-f0-9]+:\s*62 05 15 40 58 f4\s+vaddnepbf16 zmm30,zmm29,zmm28
+\s*[a-f0-9]+:\s*62 25 15 47 58 b4 f5 00 00 00 10\s+vaddnepbf16 zmm30\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 45 15 50 58 31\s+vaddnepbf16 zmm30,zmm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 65 15 40 58 71 7f\s+vaddnepbf16 zmm30,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\]
+\s*[a-f0-9]+:\s*62 65 15 d7 58 72 80\s+vaddnepbf16 zmm30\{k7\}\{z\},zmm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 05 15 40 5e f4\s+vdivnepbf16 zmm30,zmm29,zmm28
+\s*[a-f0-9]+:\s*62 25 15 47 5e b4 f5 00 00 00 10\s+vdivnepbf16 zmm30\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 45 15 50 5e 31\s+vdivnepbf16 zmm30,zmm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 65 15 40 5e 71 7f\s+vdivnepbf16 zmm30,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\]
+\s*[a-f0-9]+:\s*62 65 15 d7 5e 72 80\s+vdivnepbf16 zmm30\{k7\}\{z\},zmm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 05 15 40 5f f4\s+vmaxpbf16 zmm30,zmm29,zmm28
+\s*[a-f0-9]+:\s*62 25 15 47 5f b4 f5 00 00 00 10\s+vmaxpbf16 zmm30\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 45 15 50 5f 31\s+vmaxpbf16 zmm30,zmm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 65 15 40 5f 71 7f\s+vmaxpbf16 zmm30,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\]
+\s*[a-f0-9]+:\s*62 65 15 d7 5f 72 80\s+vmaxpbf16 zmm30\{k7\}\{z\},zmm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 05 15 40 5d f4\s+vminpbf16 zmm30,zmm29,zmm28
+\s*[a-f0-9]+:\s*62 25 15 47 5d b4 f5 00 00 00 10\s+vminpbf16 zmm30\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 45 15 50 5d 31\s+vminpbf16 zmm30,zmm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 65 15 40 5d 71 7f\s+vminpbf16 zmm30,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\]
+\s*[a-f0-9]+:\s*62 65 15 d7 5d 72 80\s+vminpbf16 zmm30\{k7\}\{z\},zmm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 05 15 40 59 f4\s+vmulnepbf16 zmm30,zmm29,zmm28
+\s*[a-f0-9]+:\s*62 25 15 47 59 b4 f5 00 00 00 10\s+vmulnepbf16 zmm30\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 45 15 50 59 31\s+vmulnepbf16 zmm30,zmm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 65 15 40 59 71 7f\s+vmulnepbf16 zmm30,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\]
+\s*[a-f0-9]+:\s*62 65 15 d7 59 72 80\s+vmulnepbf16 zmm30\{k7\}\{z\},zmm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 06 14 40 2c f4\s+vscalefpbf16 zmm30,zmm29,zmm28
+\s*[a-f0-9]+:\s*62 26 14 47 2c b4 f5 00 00 00 10\s+vscalefpbf16 zmm30\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 46 14 50 2c 31\s+vscalefpbf16 zmm30,zmm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 66 14 40 2c 71 7f\s+vscalefpbf16 zmm30,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\]
+\s*[a-f0-9]+:\s*62 66 14 d7 2c 72 80\s+vscalefpbf16 zmm30\{k7\}\{z\},zmm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 05 15 40 5c f4\s+vsubnepbf16 zmm30,zmm29,zmm28
+\s*[a-f0-9]+:\s*62 25 15 47 5c b4 f5 00 00 00 10\s+vsubnepbf16 zmm30\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 45 15 50 5c 31\s+vsubnepbf16 zmm30,zmm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 65 15 40 5c 71 7f\s+vsubnepbf16 zmm30,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\]
+\s*[a-f0-9]+:\s*62 65 15 d7 5c 72 80\s+vsubnepbf16 zmm30\{k7\}\{z\},zmm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 06 14 40 98 f4\s+vfmadd132nepbf16 zmm30,zmm29,zmm28
+\s*[a-f0-9]+:\s*62 26 14 47 98 b4 f5 00 00 00 10\s+vfmadd132nepbf16 zmm30\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 46 14 50 98 31\s+vfmadd132nepbf16 zmm30,zmm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 66 14 40 98 71 7f\s+vfmadd132nepbf16 zmm30,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\]
+\s*[a-f0-9]+:\s*62 66 14 d7 98 72 80\s+vfmadd132nepbf16 zmm30\{k7\}\{z\},zmm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 06 14 40 a8 f4\s+vfmadd213nepbf16 zmm30,zmm29,zmm28
+\s*[a-f0-9]+:\s*62 26 14 47 a8 b4 f5 00 00 00 10\s+vfmadd213nepbf16 zmm30\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 46 14 50 a8 31\s+vfmadd213nepbf16 zmm30,zmm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 66 14 40 a8 71 7f\s+vfmadd213nepbf16 zmm30,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\]
+\s*[a-f0-9]+:\s*62 66 14 d7 a8 72 80\s+vfmadd213nepbf16 zmm30\{k7\}\{z\},zmm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 06 14 40 b8 f4\s+vfmadd231nepbf16 zmm30,zmm29,zmm28
+\s*[a-f0-9]+:\s*62 26 14 47 b8 b4 f5 00 00 00 10\s+vfmadd231nepbf16 zmm30\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 46 14 50 b8 31\s+vfmadd231nepbf16 zmm30,zmm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 66 14 40 b8 71 7f\s+vfmadd231nepbf16 zmm30,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\]
+\s*[a-f0-9]+:\s*62 66 14 d7 b8 72 80\s+vfmadd231nepbf16 zmm30\{k7\}\{z\},zmm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 06 14 40 9a f4\s+vfmsub132nepbf16 zmm30,zmm29,zmm28
+\s*[a-f0-9]+:\s*62 26 14 47 9a b4 f5 00 00 00 10\s+vfmsub132nepbf16 zmm30\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 46 14 50 9a 31\s+vfmsub132nepbf16 zmm30,zmm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 66 14 40 9a 71 7f\s+vfmsub132nepbf16 zmm30,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\]
+\s*[a-f0-9]+:\s*62 66 14 d7 9a 72 80\s+vfmsub132nepbf16 zmm30\{k7\}\{z\},zmm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 06 14 40 aa f4\s+vfmsub213nepbf16 zmm30,zmm29,zmm28
+\s*[a-f0-9]+:\s*62 26 14 47 aa b4 f5 00 00 00 10\s+vfmsub213nepbf16 zmm30\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 46 14 50 aa 31\s+vfmsub213nepbf16 zmm30,zmm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 66 14 40 aa 71 7f\s+vfmsub213nepbf16 zmm30,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\]
+\s*[a-f0-9]+:\s*62 66 14 d7 aa 72 80\s+vfmsub213nepbf16 zmm30\{k7\}\{z\},zmm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 06 14 40 ba f4\s+vfmsub231nepbf16 zmm30,zmm29,zmm28
+\s*[a-f0-9]+:\s*62 26 14 47 ba b4 f5 00 00 00 10\s+vfmsub231nepbf16 zmm30\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 46 14 50 ba 31\s+vfmsub231nepbf16 zmm30,zmm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 66 14 40 ba 71 7f\s+vfmsub231nepbf16 zmm30,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\]
+\s*[a-f0-9]+:\s*62 66 14 d7 ba 72 80\s+vfmsub231nepbf16 zmm30\{k7\}\{z\},zmm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 06 14 40 9c f4\s+vfnmadd132nepbf16 zmm30,zmm29,zmm28
+\s*[a-f0-9]+:\s*62 26 14 47 9c b4 f5 00 00 00 10\s+vfnmadd132nepbf16 zmm30\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 46 14 50 9c 31\s+vfnmadd132nepbf16 zmm30,zmm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 66 14 40 9c 71 7f\s+vfnmadd132nepbf16 zmm30,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\]
+\s*[a-f0-9]+:\s*62 66 14 d7 9c 72 80\s+vfnmadd132nepbf16 zmm30\{k7\}\{z\},zmm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 06 14 40 ac f4\s+vfnmadd213nepbf16 zmm30,zmm29,zmm28
+\s*[a-f0-9]+:\s*62 26 14 47 ac b4 f5 00 00 00 10\s+vfnmadd213nepbf16 zmm30\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 46 14 50 ac 31\s+vfnmadd213nepbf16 zmm30,zmm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 66 14 40 ac 71 7f\s+vfnmadd213nepbf16 zmm30,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\]
+\s*[a-f0-9]+:\s*62 66 14 d7 ac 72 80\s+vfnmadd213nepbf16 zmm30\{k7\}\{z\},zmm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 06 14 40 bc f4\s+vfnmadd231nepbf16 zmm30,zmm29,zmm28
+\s*[a-f0-9]+:\s*62 26 14 47 bc b4 f5 00 00 00 10\s+vfnmadd231nepbf16 zmm30\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 46 14 50 bc 31\s+vfnmadd231nepbf16 zmm30,zmm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 66 14 40 bc 71 7f\s+vfnmadd231nepbf16 zmm30,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\]
+\s*[a-f0-9]+:\s*62 66 14 d7 bc 72 80\s+vfnmadd231nepbf16 zmm30\{k7\}\{z\},zmm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 06 14 40 9e f4\s+vfnmsub132nepbf16 zmm30,zmm29,zmm28
+\s*[a-f0-9]+:\s*62 26 14 47 9e b4 f5 00 00 00 10\s+vfnmsub132nepbf16 zmm30\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 46 14 50 9e 31\s+vfnmsub132nepbf16 zmm30,zmm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 66 14 40 9e 71 7f\s+vfnmsub132nepbf16 zmm30,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\]
+\s*[a-f0-9]+:\s*62 66 14 d7 9e 72 80\s+vfnmsub132nepbf16 zmm30\{k7\}\{z\},zmm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 06 14 40 ae f4\s+vfnmsub213nepbf16 zmm30,zmm29,zmm28
+\s*[a-f0-9]+:\s*62 26 14 47 ae b4 f5 00 00 00 10\s+vfnmsub213nepbf16 zmm30\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 46 14 50 ae 31\s+vfnmsub213nepbf16 zmm30,zmm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 66 14 40 ae 71 7f\s+vfnmsub213nepbf16 zmm30,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\]
+\s*[a-f0-9]+:\s*62 66 14 d7 ae 72 80\s+vfnmsub213nepbf16 zmm30\{k7\}\{z\},zmm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 06 14 40 be f4\s+vfnmsub231nepbf16 zmm30,zmm29,zmm28
+\s*[a-f0-9]+:\s*62 26 14 47 be b4 f5 00 00 00 10\s+vfnmsub231nepbf16 zmm30\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 46 14 50 be 31\s+vfnmsub231nepbf16 zmm30,zmm29,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 66 14 40 be 71 7f\s+vfnmsub231nepbf16 zmm30,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\]
+\s*[a-f0-9]+:\s*62 66 14 d7 be 72 80\s+vfnmsub231nepbf16 zmm30\{k7\}\{z\},zmm29,WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 06 7c 48 42 f5\s+vgetexppbf16 zmm30,zmm29
+\s*[a-f0-9]+:\s*62 26 7c 4f 42 b4 f5 00 00 00 10\s+vgetexppbf16 zmm30\{k7\},ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 46 7c 58 42 31\s+vgetexppbf16 zmm30,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 66 7c 48 42 71 7f\s+vgetexppbf16 zmm30,ZMMWORD PTR \[rcx\+0x1fc0\]
+\s*[a-f0-9]+:\s*62 66 7c df 42 72 80\s+vgetexppbf16 zmm30\{k7\}\{z\},WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 06 7c 48 4c f5\s+vrcppbf16 zmm30,zmm29
+\s*[a-f0-9]+:\s*62 26 7c 4f 4c b4 f5 00 00 00 10\s+vrcppbf16 zmm30\{k7\},ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 46 7c 58 4c 31\s+vrcppbf16 zmm30,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 66 7c 48 4c 71 7f\s+vrcppbf16 zmm30,ZMMWORD PTR \[rcx\+0x1fc0\]
+\s*[a-f0-9]+:\s*62 66 7c df 4c 72 80\s+vrcppbf16 zmm30\{k7\}\{z\},WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 06 7c 48 4e f5\s+vrsqrtpbf16 zmm30,zmm29
+\s*[a-f0-9]+:\s*62 26 7c 4f 4e b4 f5 00 00 00 10\s+vrsqrtpbf16 zmm30\{k7\},ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 46 7c 58 4e 31\s+vrsqrtpbf16 zmm30,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 66 7c 48 4e 71 7f\s+vrsqrtpbf16 zmm30,ZMMWORD PTR \[rcx\+0x1fc0\]
+\s*[a-f0-9]+:\s*62 66 7c df 4e 72 80\s+vrsqrtpbf16 zmm30\{k7\}\{z\},WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 05 7d 48 51 f5\s+vsqrtnepbf16 zmm30,zmm29
+\s*[a-f0-9]+:\s*62 25 7d 4f 51 b4 f5 00 00 00 10\s+vsqrtnepbf16 zmm30\{k7\},ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\]
+\s*[a-f0-9]+:\s*62 45 7d 58 51 31\s+vsqrtnepbf16 zmm30,WORD BCST \[r9\]
+\s*[a-f0-9]+:\s*62 65 7d 48 51 71 7f\s+vsqrtnepbf16 zmm30,ZMMWORD PTR \[rcx\+0x1fc0\]
+\s*[a-f0-9]+:\s*62 65 7d df 51 72 80\s+vsqrtnepbf16 zmm30\{k7\}\{z\},WORD BCST \[rdx-0x100\]
+\s*[a-f0-9]+:\s*62 03 7f 48 26 f5 7b\s+vgetmantpbf16 zmm30,zmm29,0x7b
+\s*[a-f0-9]+:\s*62 23 7f 4f 26 b4 f5 00 00 00 10 7b\s+vgetmantpbf16 zmm30\{k7\},ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\],0x7b
+\s*[a-f0-9]+:\s*62 43 7f 58 26 31 7b\s+vgetmantpbf16 zmm30,WORD BCST \[r9\],0x7b
+\s*[a-f0-9]+:\s*62 63 7f 48 26 71 7f 7b\s+vgetmantpbf16 zmm30,ZMMWORD PTR \[rcx\+0x1fc0\],0x7b
+\s*[a-f0-9]+:\s*62 63 7f df 26 72 80 7b\s+vgetmantpbf16 zmm30\{k7\}\{z\},WORD BCST \[rdx-0x100\],0x7b
+\s*[a-f0-9]+:\s*62 03 7f 48 56 f5 7b\s+vreducenepbf16 zmm30,zmm29,0x7b
+\s*[a-f0-9]+:\s*62 23 7f 4f 56 b4 f5 00 00 00 10 7b\s+vreducenepbf16 zmm30\{k7\},ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\],0x7b
+\s*[a-f0-9]+:\s*62 43 7f 58 56 31 7b\s+vreducenepbf16 zmm30,WORD BCST \[r9\],0x7b
+\s*[a-f0-9]+:\s*62 63 7f 48 56 71 7f 7b\s+vreducenepbf16 zmm30,ZMMWORD PTR \[rcx\+0x1fc0\],0x7b
+\s*[a-f0-9]+:\s*62 63 7f df 56 72 80 7b\s+vreducenepbf16 zmm30\{k7\}\{z\},WORD BCST \[rdx-0x100\],0x7b
+\s*[a-f0-9]+:\s*62 03 7f 48 08 f5 7b\s+vrndscalenepbf16 zmm30,zmm29,0x7b
+\s*[a-f0-9]+:\s*62 23 7f 4f 08 b4 f5 00 00 00 10 7b\s+vrndscalenepbf16 zmm30\{k7\},ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\],0x7b
+\s*[a-f0-9]+:\s*62 43 7f 58 08 31 7b\s+vrndscalenepbf16 zmm30,WORD BCST \[r9\],0x7b
+\s*[a-f0-9]+:\s*62 63 7f 48 08 71 7f 7b\s+vrndscalenepbf16 zmm30,ZMMWORD PTR \[rcx\+0x1fc0\],0x7b
+\s*[a-f0-9]+:\s*62 63 7f df 08 72 80 7b\s+vrndscalenepbf16 zmm30\{k7\}\{z\},WORD BCST \[rdx-0x100\],0x7b
+\s*[a-f0-9]+:\s*62 93 17 40 c2 ec 7b\s+vcmppbf16 k5,zmm29,zmm28,0x7b
+\s*[a-f0-9]+:\s*62 b3 17 47 c2 ac f5 00 00 00 10 7b\s+vcmppbf16 k5\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\],0x7b
+\s*[a-f0-9]+:\s*62 d3 17 50 c2 29 7b\s+vcmppbf16 k5,zmm29,WORD BCST \[r9\],0x7b
+\s*[a-f0-9]+:\s*62 f3 17 40 c2 69 7f 7b\s+vcmppbf16 k5,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\],0x7b
+\s*[a-f0-9]+:\s*62 f3 17 57 c2 6a 80 7b\s+vcmppbf16 k5\{k7\},zmm29,WORD BCST \[rdx-0x100\],0x7b
+\s*[a-f0-9]+:\s*62 93 7f 48 66 ed 7b\s+vfpclasspbf16 k5,zmm29,0x7b
+\s*[a-f0-9]+:\s*62 b3 7f 4f 66 ac f5 00 00 00 10 7b\s+vfpclasspbf16 k5\{k7\},ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\],0x7b
+\s*[a-f0-9]+:\s*62 d3 7f 58 66 29 7b\s+vfpclasspbf16 k5,WORD BCST \[r9\]\{1to32\},0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 48 66 69 7f 7b\s+vfpclasspbf16 k5,ZMMWORD PTR \[rcx\+0x1fc0\],0x7b
+\s*[a-f0-9]+:\s*62 f3 7f 5f 66 6a 80 7b\s+vfpclasspbf16 k5\{k7\},WORD BCST \[rdx-0x100\]\{1to32\},0x7b
+#pass
diff --git a/gas/testsuite/gas/i386/x86-64-avx10_2-512-bf16.d b/gas/testsuite/gas/i386/x86-64-avx10_2-512-bf16.d
new file mode 100644
index 00000000000..c95b3b68494
--- /dev/null
+++ b/gas/testsuite/gas/i386/x86-64-avx10_2-512-bf16.d
@@ -0,0 +1,150 @@ 
+#objdump: -dw
+#name: x86-64 AVX10.2/512 BF16 insns
+
+.*: +file format .*
+
+
+Disassembly of section .text:
+
+0+ <_start>:
+\s*[a-f0-9]+:\s*62 05 15 40 58 f4\s+vaddnepbf16 %zmm28,%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 25 15 47 58 b4 f5 00 00 00 10\s+vaddnepbf16 0x10000000\(%rbp,%r14,8\),%zmm29,%zmm30\{%k7\}
+\s*[a-f0-9]+:\s*62 45 15 50 58 31\s+vaddnepbf16 \(%r9\)\{1to32\},%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 65 15 40 58 71 7f\s+vaddnepbf16 0x1fc0\(%rcx\),%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 65 15 d7 58 72 80\s+vaddnepbf16 -0x100\(%rdx\)\{1to32\},%zmm29,%zmm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 05 15 40 5e f4\s+vdivnepbf16 %zmm28,%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 25 15 47 5e b4 f5 00 00 00 10\s+vdivnepbf16 0x10000000\(%rbp,%r14,8\),%zmm29,%zmm30\{%k7\}
+\s*[a-f0-9]+:\s*62 45 15 50 5e 31\s+vdivnepbf16 \(%r9\)\{1to32\},%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 65 15 40 5e 71 7f\s+vdivnepbf16 0x1fc0\(%rcx\),%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 65 15 d7 5e 72 80\s+vdivnepbf16 -0x100\(%rdx\)\{1to32\},%zmm29,%zmm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 05 15 40 5f f4\s+vmaxpbf16 %zmm28,%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 25 15 47 5f b4 f5 00 00 00 10\s+vmaxpbf16 0x10000000\(%rbp,%r14,8\),%zmm29,%zmm30\{%k7\}
+\s*[a-f0-9]+:\s*62 45 15 50 5f 31\s+vmaxpbf16 \(%r9\)\{1to32\},%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 65 15 40 5f 71 7f\s+vmaxpbf16 0x1fc0\(%rcx\),%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 65 15 d7 5f 72 80\s+vmaxpbf16 -0x100\(%rdx\)\{1to32\},%zmm29,%zmm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 05 15 40 5d f4\s+vminpbf16 %zmm28,%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 25 15 47 5d b4 f5 00 00 00 10\s+vminpbf16 0x10000000\(%rbp,%r14,8\),%zmm29,%zmm30\{%k7\}
+\s*[a-f0-9]+:\s*62 45 15 50 5d 31\s+vminpbf16 \(%r9\)\{1to32\},%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 65 15 40 5d 71 7f\s+vminpbf16 0x1fc0\(%rcx\),%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 65 15 d7 5d 72 80\s+vminpbf16 -0x100\(%rdx\)\{1to32\},%zmm29,%zmm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 05 15 40 59 f4\s+vmulnepbf16 %zmm28,%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 25 15 47 59 b4 f5 00 00 00 10\s+vmulnepbf16 0x10000000\(%rbp,%r14,8\),%zmm29,%zmm30\{%k7\}
+\s*[a-f0-9]+:\s*62 45 15 50 59 31\s+vmulnepbf16 \(%r9\)\{1to32\},%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 65 15 40 59 71 7f\s+vmulnepbf16 0x1fc0\(%rcx\),%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 65 15 d7 59 72 80\s+vmulnepbf16 -0x100\(%rdx\)\{1to32\},%zmm29,%zmm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 06 14 40 2c f4\s+vscalefpbf16 %zmm28,%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 26 14 47 2c b4 f5 00 00 00 10\s+vscalefpbf16 0x10000000\(%rbp,%r14,8\),%zmm29,%zmm30\{%k7\}
+\s*[a-f0-9]+:\s*62 46 14 50 2c 31\s+vscalefpbf16 \(%r9\)\{1to32\},%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 66 14 40 2c 71 7f\s+vscalefpbf16 0x1fc0\(%rcx\),%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 66 14 d7 2c 72 80\s+vscalefpbf16 -0x100\(%rdx\)\{1to32\},%zmm29,%zmm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 05 15 40 5c f4\s+vsubnepbf16 %zmm28,%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 25 15 47 5c b4 f5 00 00 00 10\s+vsubnepbf16 0x10000000\(%rbp,%r14,8\),%zmm29,%zmm30\{%k7\}
+\s*[a-f0-9]+:\s*62 45 15 50 5c 31\s+vsubnepbf16 \(%r9\)\{1to32\},%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 65 15 40 5c 71 7f\s+vsubnepbf16 0x1fc0\(%rcx\),%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 65 15 d7 5c 72 80\s+vsubnepbf16 -0x100\(%rdx\)\{1to32\},%zmm29,%zmm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 06 14 40 98 f4\s+vfmadd132nepbf16 %zmm28,%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 26 14 47 98 b4 f5 00 00 00 10\s+vfmadd132nepbf16 0x10000000\(%rbp,%r14,8\),%zmm29,%zmm30\{%k7\}
+\s*[a-f0-9]+:\s*62 46 14 50 98 31\s+vfmadd132nepbf16 \(%r9\)\{1to32\},%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 66 14 40 98 71 7f\s+vfmadd132nepbf16 0x1fc0\(%rcx\),%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 66 14 d7 98 72 80\s+vfmadd132nepbf16 -0x100\(%rdx\)\{1to32\},%zmm29,%zmm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 06 14 40 a8 f4\s+vfmadd213nepbf16 %zmm28,%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 26 14 47 a8 b4 f5 00 00 00 10\s+vfmadd213nepbf16 0x10000000\(%rbp,%r14,8\),%zmm29,%zmm30\{%k7\}
+\s*[a-f0-9]+:\s*62 46 14 50 a8 31\s+vfmadd213nepbf16 \(%r9\)\{1to32\},%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 66 14 40 a8 71 7f\s+vfmadd213nepbf16 0x1fc0\(%rcx\),%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 66 14 d7 a8 72 80\s+vfmadd213nepbf16 -0x100\(%rdx\)\{1to32\},%zmm29,%zmm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 06 14 40 b8 f4\s+vfmadd231nepbf16 %zmm28,%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 26 14 47 b8 b4 f5 00 00 00 10\s+vfmadd231nepbf16 0x10000000\(%rbp,%r14,8\),%zmm29,%zmm30\{%k7\}
+\s*[a-f0-9]+:\s*62 46 14 50 b8 31\s+vfmadd231nepbf16 \(%r9\)\{1to32\},%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 66 14 40 b8 71 7f\s+vfmadd231nepbf16 0x1fc0\(%rcx\),%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 66 14 d7 b8 72 80\s+vfmadd231nepbf16 -0x100\(%rdx\)\{1to32\},%zmm29,%zmm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 06 14 40 9a f4\s+vfmsub132nepbf16 %zmm28,%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 26 14 47 9a b4 f5 00 00 00 10\s+vfmsub132nepbf16 0x10000000\(%rbp,%r14,8\),%zmm29,%zmm30\{%k7\}
+\s*[a-f0-9]+:\s*62 46 14 50 9a 31\s+vfmsub132nepbf16 \(%r9\)\{1to32\},%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 66 14 40 9a 71 7f\s+vfmsub132nepbf16 0x1fc0\(%rcx\),%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 66 14 d7 9a 72 80\s+vfmsub132nepbf16 -0x100\(%rdx\)\{1to32\},%zmm29,%zmm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 06 14 40 aa f4\s+vfmsub213nepbf16 %zmm28,%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 26 14 47 aa b4 f5 00 00 00 10\s+vfmsub213nepbf16 0x10000000\(%rbp,%r14,8\),%zmm29,%zmm30\{%k7\}
+\s*[a-f0-9]+:\s*62 46 14 50 aa 31\s+vfmsub213nepbf16 \(%r9\)\{1to32\},%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 66 14 40 aa 71 7f\s+vfmsub213nepbf16 0x1fc0\(%rcx\),%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 66 14 d7 aa 72 80\s+vfmsub213nepbf16 -0x100\(%rdx\)\{1to32\},%zmm29,%zmm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 06 14 40 ba f4\s+vfmsub231nepbf16 %zmm28,%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 26 14 47 ba b4 f5 00 00 00 10\s+vfmsub231nepbf16 0x10000000\(%rbp,%r14,8\),%zmm29,%zmm30\{%k7\}
+\s*[a-f0-9]+:\s*62 46 14 50 ba 31\s+vfmsub231nepbf16 \(%r9\)\{1to32\},%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 66 14 40 ba 71 7f\s+vfmsub231nepbf16 0x1fc0\(%rcx\),%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 66 14 d7 ba 72 80\s+vfmsub231nepbf16 -0x100\(%rdx\)\{1to32\},%zmm29,%zmm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 06 14 40 9c f4\s+vfnmadd132nepbf16 %zmm28,%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 26 14 47 9c b4 f5 00 00 00 10\s+vfnmadd132nepbf16 0x10000000\(%rbp,%r14,8\),%zmm29,%zmm30\{%k7\}
+\s*[a-f0-9]+:\s*62 46 14 50 9c 31\s+vfnmadd132nepbf16 \(%r9\)\{1to32\},%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 66 14 40 9c 71 7f\s+vfnmadd132nepbf16 0x1fc0\(%rcx\),%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 66 14 d7 9c 72 80\s+vfnmadd132nepbf16 -0x100\(%rdx\)\{1to32\},%zmm29,%zmm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 06 14 40 ac f4\s+vfnmadd213nepbf16 %zmm28,%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 26 14 47 ac b4 f5 00 00 00 10\s+vfnmadd213nepbf16 0x10000000\(%rbp,%r14,8\),%zmm29,%zmm30\{%k7\}
+\s*[a-f0-9]+:\s*62 46 14 50 ac 31\s+vfnmadd213nepbf16 \(%r9\)\{1to32\},%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 66 14 40 ac 71 7f\s+vfnmadd213nepbf16 0x1fc0\(%rcx\),%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 66 14 d7 ac 72 80\s+vfnmadd213nepbf16 -0x100\(%rdx\)\{1to32\},%zmm29,%zmm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 06 14 40 bc f4\s+vfnmadd231nepbf16 %zmm28,%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 26 14 47 bc b4 f5 00 00 00 10\s+vfnmadd231nepbf16 0x10000000\(%rbp,%r14,8\),%zmm29,%zmm30\{%k7\}
+\s*[a-f0-9]+:\s*62 46 14 50 bc 31\s+vfnmadd231nepbf16 \(%r9\)\{1to32\},%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 66 14 40 bc 71 7f\s+vfnmadd231nepbf16 0x1fc0\(%rcx\),%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 66 14 d7 bc 72 80\s+vfnmadd231nepbf16 -0x100\(%rdx\)\{1to32\},%zmm29,%zmm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 06 14 40 9e f4\s+vfnmsub132nepbf16 %zmm28,%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 26 14 47 9e b4 f5 00 00 00 10\s+vfnmsub132nepbf16 0x10000000\(%rbp,%r14,8\),%zmm29,%zmm30\{%k7\}
+\s*[a-f0-9]+:\s*62 46 14 50 9e 31\s+vfnmsub132nepbf16 \(%r9\)\{1to32\},%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 66 14 40 9e 71 7f\s+vfnmsub132nepbf16 0x1fc0\(%rcx\),%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 66 14 d7 9e 72 80\s+vfnmsub132nepbf16 -0x100\(%rdx\)\{1to32\},%zmm29,%zmm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 06 14 40 ae f4\s+vfnmsub213nepbf16 %zmm28,%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 26 14 47 ae b4 f5 00 00 00 10\s+vfnmsub213nepbf16 0x10000000\(%rbp,%r14,8\),%zmm29,%zmm30\{%k7\}
+\s*[a-f0-9]+:\s*62 46 14 50 ae 31\s+vfnmsub213nepbf16 \(%r9\)\{1to32\},%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 66 14 40 ae 71 7f\s+vfnmsub213nepbf16 0x1fc0\(%rcx\),%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 66 14 d7 ae 72 80\s+vfnmsub213nepbf16 -0x100\(%rdx\)\{1to32\},%zmm29,%zmm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 06 14 40 be f4\s+vfnmsub231nepbf16 %zmm28,%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 26 14 47 be b4 f5 00 00 00 10\s+vfnmsub231nepbf16 0x10000000\(%rbp,%r14,8\),%zmm29,%zmm30\{%k7\}
+\s*[a-f0-9]+:\s*62 46 14 50 be 31\s+vfnmsub231nepbf16 \(%r9\)\{1to32\},%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 66 14 40 be 71 7f\s+vfnmsub231nepbf16 0x1fc0\(%rcx\),%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 66 14 d7 be 72 80\s+vfnmsub231nepbf16 -0x100\(%rdx\)\{1to32\},%zmm29,%zmm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 06 7c 48 42 f5\s+vgetexppbf16 %zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 26 7c 4f 42 b4 f5 00 00 00 10\s+vgetexppbf16 0x10000000\(%rbp,%r14,8\),%zmm30\{%k7\}
+\s*[a-f0-9]+:\s*62 46 7c 58 42 31\s+vgetexppbf16 \(%r9\)\{1to32\},%zmm30
+\s*[a-f0-9]+:\s*62 66 7c 48 42 71 7f\s+vgetexppbf16 0x1fc0\(%rcx\),%zmm30
+\s*[a-f0-9]+:\s*62 66 7c df 42 72 80\s+vgetexppbf16 -0x100\(%rdx\)\{1to32\},%zmm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 06 7c 48 4c f5\s+vrcppbf16 %zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 26 7c 4f 4c b4 f5 00 00 00 10\s+vrcppbf16 0x10000000\(%rbp,%r14,8\),%zmm30\{%k7\}
+\s*[a-f0-9]+:\s*62 46 7c 58 4c 31\s+vrcppbf16 \(%r9\)\{1to32\},%zmm30
+\s*[a-f0-9]+:\s*62 66 7c 48 4c 71 7f\s+vrcppbf16 0x1fc0\(%rcx\),%zmm30
+\s*[a-f0-9]+:\s*62 66 7c df 4c 72 80\s+vrcppbf16 -0x100\(%rdx\)\{1to32\},%zmm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 06 7c 48 4e f5\s+vrsqrtpbf16 %zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 26 7c 4f 4e b4 f5 00 00 00 10\s+vrsqrtpbf16 0x10000000\(%rbp,%r14,8\),%zmm30\{%k7\}
+\s*[a-f0-9]+:\s*62 46 7c 58 4e 31\s+vrsqrtpbf16 \(%r9\)\{1to32\},%zmm30
+\s*[a-f0-9]+:\s*62 66 7c 48 4e 71 7f\s+vrsqrtpbf16 0x1fc0\(%rcx\),%zmm30
+\s*[a-f0-9]+:\s*62 66 7c df 4e 72 80\s+vrsqrtpbf16 -0x100\(%rdx\)\{1to32\},%zmm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 05 7d 48 51 f5\s+vsqrtnepbf16 %zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 25 7d 4f 51 b4 f5 00 00 00 10\s+vsqrtnepbf16 0x10000000\(%rbp,%r14,8\),%zmm30\{%k7\}
+\s*[a-f0-9]+:\s*62 45 7d 58 51 31\s+vsqrtnepbf16 \(%r9\)\{1to32\},%zmm30
+\s*[a-f0-9]+:\s*62 65 7d 48 51 71 7f\s+vsqrtnepbf16 0x1fc0\(%rcx\),%zmm30
+\s*[a-f0-9]+:\s*62 65 7d df 51 72 80\s+vsqrtnepbf16 -0x100\(%rdx\)\{1to32\},%zmm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 03 7f 48 26 f5 7b\s+vgetmantpbf16 \$0x7b,%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 23 7f 4f 26 b4 f5 00 00 00 10 7b\s+vgetmantpbf16 \$0x7b,0x10000000\(%rbp,%r14,8\),%zmm30\{%k7\}
+\s*[a-f0-9]+:\s*62 43 7f 58 26 31 7b\s+vgetmantpbf16 \$0x7b,\(%r9\)\{1to32\},%zmm30
+\s*[a-f0-9]+:\s*62 63 7f 48 26 71 7f 7b\s+vgetmantpbf16 \$0x7b,0x1fc0\(%rcx\),%zmm30
+\s*[a-f0-9]+:\s*62 63 7f df 26 72 80 7b\s+vgetmantpbf16 \$0x7b,-0x100\(%rdx\)\{1to32\},%zmm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 03 7f 48 56 f5 7b\s+vreducenepbf16 \$0x7b,%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 23 7f 4f 56 b4 f5 00 00 00 10 7b\s+vreducenepbf16 \$0x7b,0x10000000\(%rbp,%r14,8\),%zmm30\{%k7\}
+\s*[a-f0-9]+:\s*62 43 7f 58 56 31 7b\s+vreducenepbf16 \$0x7b,\(%r9\)\{1to32\},%zmm30
+\s*[a-f0-9]+:\s*62 63 7f 48 56 71 7f 7b\s+vreducenepbf16 \$0x7b,0x1fc0\(%rcx\),%zmm30
+\s*[a-f0-9]+:\s*62 63 7f df 56 72 80 7b\s+vreducenepbf16 \$0x7b,-0x100\(%rdx\)\{1to32\},%zmm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 03 7f 48 08 f5 7b\s+vrndscalenepbf16 \$0x7b,%zmm29,%zmm30
+\s*[a-f0-9]+:\s*62 23 7f 4f 08 b4 f5 00 00 00 10 7b\s+vrndscalenepbf16 \$0x7b,0x10000000\(%rbp,%r14,8\),%zmm30\{%k7\}
+\s*[a-f0-9]+:\s*62 43 7f 58 08 31 7b\s+vrndscalenepbf16 \$0x7b,\(%r9\)\{1to32\},%zmm30
+\s*[a-f0-9]+:\s*62 63 7f 48 08 71 7f 7b\s+vrndscalenepbf16 \$0x7b,0x1fc0\(%rcx\),%zmm30
+\s*[a-f0-9]+:\s*62 63 7f df 08 72 80 7b\s+vrndscalenepbf16 \$0x7b,-0x100\(%rdx\)\{1to32\},%zmm30\{%k7\}\{z\}
+\s*[a-f0-9]+:\s*62 93 17 40 c2 ec 7b\s+vcmppbf16 \$0x7b,%zmm28,%zmm29,%k5
+\s*[a-f0-9]+:\s*62 b3 17 47 c2 ac f5 00 00 00 10 7b\s+vcmppbf16 \$0x7b,0x10000000\(%rbp,%r14,8\),%zmm29,%k5\{%k7\}
+\s*[a-f0-9]+:\s*62 d3 17 50 c2 29 7b\s+vcmppbf16 \$0x7b,\(%r9\)\{1to32\},%zmm29,%k5
+\s*[a-f0-9]+:\s*62 f3 17 40 c2 69 7f 7b\s+vcmppbf16 \$0x7b,0x1fc0\(%rcx\),%zmm29,%k5
+\s*[a-f0-9]+:\s*62 f3 17 57 c2 6a 80 7b\s+vcmppbf16 \$0x7b,-0x100\(%rdx\)\{1to32\},%zmm29,%k5\{%k7\}
+\s*[a-f0-9]+:\s*62 93 7f 48 66 ed 7b\s+vfpclasspbf16 \$0x7b,%zmm29,%k5
+\s*[a-f0-9]+:\s*62 b3 7f 4f 66 ac f5 00 00 00 10 7b\s+vfpclasspbf16z \$0x7b,0x10000000\(%rbp,%r14,8\),%k5\{%k7\}
+\s*[a-f0-9]+:\s*62 d3 7f 58 66 29 7b\s+vfpclasspbf16 \$0x7b,\(%r9\)\{1to32\},%k5
+\s*[a-f0-9]+:\s*62 f3 7f 48 66 69 7f 7b\s+vfpclasspbf16z \$0x7b,0x1fc0\(%rcx\),%k5
+\s*[a-f0-9]+:\s*62 f3 7f 5f 66 6a 80 7b\s+vfpclasspbf16 \$0x7b,-0x100\(%rdx\)\{1to32\},%k5\{%k7\}
+#pass
diff --git a/gas/testsuite/gas/i386/x86-64-avx10_2-512-bf16.s b/gas/testsuite/gas/i386/x86-64-avx10_2-512-bf16.s
new file mode 100644
index 00000000000..dd6d8c31fcb
--- /dev/null
+++ b/gas/testsuite/gas/i386/x86-64-avx10_2-512-bf16.s
@@ -0,0 +1,99 @@ 
+# Check 64bit AVX10.2/512 instructions
+
+	.arch generic64
+	.arch .avx10.2/512
+	.text
+_start:
+	.irp m, addne, divne, max, min, mulne, scalef, subne
+	v\m\()pbf16	%zmm28, %zmm29, %zmm30
+	v\m\()pbf16	0x10000000(%rbp, %r14, 8), %zmm29, %zmm30{%k7}
+	v\m\()pbf16	(%r9){1to32}, %zmm29, %zmm30
+	v\m\()pbf16	8128(%rcx), %zmm29, %zmm30
+	v\m\()pbf16	-256(%rdx){1to32}, %zmm29, %zmm30{%k7}{z}
+	.endr
+
+	.irp m, madd, msub, nmadd, nmsub
+	.irp n, 132, 213, 231
+	vf\m\n\(\())nepbf16	%zmm28, %zmm29, %zmm30
+	vf\m\n\(\())nepbf16	0x10000000(%rbp, %r14, 8), %zmm29, %zmm30{%k7}
+	vf\m\n\(\())nepbf16	(%r9){1to32}, %zmm29, %zmm30
+	vf\m\n\(\())nepbf16	8128(%rcx), %zmm29, %zmm30
+	vf\m\n\(\())nepbf16	-256(%rdx){1to32}, %zmm29, %zmm30{%k7}{z}
+	.endr
+	.endr
+
+	.irp m, getexp, rcp, rsqrt, sqrtne
+	v\m\()pbf16	%zmm29, %zmm30
+	v\m\()pbf16	0x10000000(%rbp, %r14, 8), %zmm30{%k7}
+	v\m\()pbf16	(%r9){1to32}, %zmm30
+	v\m\()pbf16	8128(%rcx), %zmm30
+	v\m\()pbf16	-256(%rdx){1to32}, %zmm30{%k7}{z}
+	.endr
+
+	.irp m, getmant, reducene, rndscalene
+	v\m\()pbf16	$123, %zmm29, %zmm30
+	v\m\()pbf16	$123, 0x10000000(%rbp, %r14, 8), %zmm30{%k7}
+	v\m\()pbf16	$123, (%r9){1to32}, %zmm30
+	v\m\()pbf16	$123, 8128(%rcx), %zmm30
+	v\m\()pbf16	$123, -256(%rdx){1to32}, %zmm30{%k7}{z}
+	.endr
+
+	vcmppbf16	$123, %zmm28, %zmm29, %k5
+	vcmppbf16	$123, 0x10000000(%rbp, %r14, 8), %zmm29, %k5{%k7}
+	vcmppbf16	$123, (%r9){1to32}, %zmm29, %k5
+	vcmppbf16	$123, 8128(%rcx), %zmm29, %k5
+	vcmppbf16	$123, -256(%rdx){1to32}, %zmm29, %k5{%k7}
+
+	vfpclasspbf16	$123, %zmm29, %k5
+	vfpclasspbf16z	$123, 0x10000000(%rbp, %r14, 8), %k5{%k7}
+	vfpclasspbf16	$123, (%r9){1to32}, %k5
+	vfpclasspbf16z	$123, 8128(%rcx), %k5
+	vfpclasspbf16	$123, -256(%rdx){1to32}, %k5{%k7}
+
+_intel:
+	.intel_syntax noprefix
+	.irp m, addne, divne, max, min, mulne, scalef, subne
+	v\m\()pbf16	zmm30, zmm29, zmm28
+	v\m\()pbf16	zmm30{k7}, zmm29, ZMMWORD PTR [rbp+r14*8+0x10000000]
+	v\m\()pbf16	zmm30, zmm29, WORD PTR [r9]{1to32}
+	v\m\()pbf16	zmm30, zmm29, ZMMWORD PTR [rcx+8128]
+	v\m\()pbf16	zmm30{k7}{z}, zmm29, WORD PTR [rdx-256]{1to32}
+	.endr
+
+	.irp m, madd, msub, nmadd, nmsub
+	.irp n, 132, 213, 231
+	vf\m\n\(\())nepbf16	zmm30, zmm29, zmm28
+	vf\m\n\(\())nepbf16	zmm30{k7}, zmm29, ZMMWORD PTR [rbp+r14*8+0x10000000]
+	vf\m\n\(\())nepbf16	zmm30, zmm29, WORD PTR [r9]{1to32}
+	vf\m\n\(\())nepbf16	zmm30, zmm29, ZMMWORD PTR [rcx+8128]
+	vf\m\n\(\())nepbf16	zmm30{k7}{z}, zmm29, WORD PTR [rdx-256]{1to32}
+	.endr
+	.endr
+
+	.irp m, getexp, rcp, rsqrt, sqrtne
+	v\m\()pbf16	zmm30, zmm29
+	v\m\()pbf16	zmm30{k7}, ZMMWORD PTR [rbp+r14*8+0x10000000]
+	v\m\()pbf16	zmm30, WORD PTR [r9]{1to32}
+	v\m\()pbf16	zmm30, ZMMWORD PTR [rcx+8128]
+	v\m\()pbf16	zmm30{k7}{z}, WORD PTR [rdx-256]{1to32}
+	.endr
+
+	.irp m, getmant, reducene, rndscalene
+	v\m\()pbf16	zmm30, zmm29, 123
+	v\m\()pbf16	zmm30{k7}, ZMMWORD PTR [rbp+r14*8+0x10000000], 123
+	v\m\()pbf16	zmm30, WORD PTR [r9]{1to32}, 123
+	v\m\()pbf16	zmm30, ZMMWORD PTR [rcx+8128], 123
+	v\m\()pbf16	zmm30{k7}{z}, WORD PTR [rdx-256]{1to32}, 123
+	.endr
+
+	vcmppbf16	k5, zmm29, zmm28, 123
+	vcmppbf16	k5{k7}, zmm29, ZMMWORD PTR [rbp+r14*8+0x10000000], 123
+	vcmppbf16	k5, zmm29, WORD PTR [r9]{1to32}, 123
+	vcmppbf16	k5, zmm29, ZMMWORD PTR [rcx+8128], 123
+	vcmppbf16	k5{k7}, zmm29, WORD PTR [rdx-256]{1to32}, 123
+
+	vfpclasspbf16	k5, zmm29, 123
+	vfpclasspbf16	k5{k7}, ZMMWORD PTR [rbp+r14*8+0x10000000], 123
+	vfpclasspbf16	k5, WORD PTR [r9]{1to32}, 123
+	vfpclasspbf16	k5, ZMMWORD PTR [rcx+8128], 123
+	vfpclasspbf16	k5{k7}, WORD PTR [rdx-256]{1to32}, 123
diff --git a/gas/testsuite/gas/i386/x86-64.exp b/gas/testsuite/gas/i386/x86-64.exp
index 2ba211e1cc7..74462c13302 100644
--- a/gas/testsuite/gas/i386/x86-64.exp
+++ b/gas/testsuite/gas/i386/x86-64.exp
@@ -509,6 +509,10 @@  run_dump_test "x86-64-avx10_2-512-cvt"
 run_dump_test "x86-64-avx10_2-512-cvt-intel"
 run_dump_test "x86-64-avx10_2-256-cvt"
 run_dump_test "x86-64-avx10_2-256-cvt-intel"
+run_dump_test "x86-64-avx10_2-512-bf16"
+run_dump_test "x86-64-avx10_2-512-bf16-intel"
+run_dump_test "x86-64-avx10_2-256-bf16"
+run_dump_test "x86-64-avx10_2-256-bf16-intel"
 run_dump_test "x86-64-clzero"
 run_dump_test "x86-64-mwaitx-bdver4"
 run_list_test "x86-64-mwaitx-reg"
diff --git a/opcodes/i386-dis-evex-prefix.h b/opcodes/i386-dis-evex-prefix.h
index cffc3852065..11893818d73 100644
--- a/opcodes/i386-dis-evex-prefix.h
+++ b/opcodes/i386-dis-evex-prefix.h
@@ -297,6 +297,7 @@ 
     { "vrndscalep%XH",  { XM, EXxh, EXxEVexS, Ib }, 0 },
     { Bad_Opcode },
     { "vrndscalep%XS",  { XM, EXx, EXxEVexS, Ib }, 0 },
+    { "vrndscalenep%XB",  { XM, EXxh, Ib }, 0 },
   },
   /* PREFIX_EVEX_0F3A0A */
   {
@@ -309,6 +310,7 @@ 
     { "vgetmantp%XH",     { XM, EXxh, EXxEVexS, Ib }, 0 },
     { Bad_Opcode },
     { "vgetmantp%XW",	{ XM, EXx, EXxEVexS, Ib }, 0 },
+    { "vgetmantp%XB",    { XM, EXxh, Ib }, 0 },
   },
   /* PREFIX_EVEX_0F3A27 */
   {
@@ -327,6 +329,7 @@ 
     { "vreducep%XH",      { XM, EXxh, EXxEVexS, Ib }, 0 },
     { Bad_Opcode },
     { "vreducep%XW",	{ XM, EXx, EXxEVexS, Ib }, 0 },
+    { "vreducenep%XB",      { XM, EXxh, Ib }, 0 },
   },
   /* PREFIX_EVEX_0F3A57 */
   {
@@ -339,6 +342,7 @@ 
     { "vfpclassp%XH%XZ",  { MaskG, EXxh, Ib }, 0 },
     { Bad_Opcode },
     { "vfpclassp%XW%XZ",    { MaskG, EXx, Ib }, 0 },
+    { "vfpclassp%XB%XZ",  { MaskG, EXxh, Ib }, 0 },
   },
   /* PREFIX_EVEX_0F3A67 */
   {
@@ -350,6 +354,8 @@ 
   {
     { "vcmpp%XH", { MaskG, Vex, EXxh, EXxEVexS, CMP }, 0 },
     { "vcmps%XH", { MaskG, VexScalar, EXw, EXxEVexS, CMP }, 0 },
+    { Bad_Opcode },
+    { "vcmpp%XB", { MaskG, Vex, EXxh, CMP }, 0 },
   },
   /* PREFIX_EVEX_MAP4_4x */
   {
@@ -440,21 +446,26 @@ 
   /* PREFIX_EVEX_MAP5_2F */
   {
     { "vcomisY%XH",        { XMScalar, EXw, EXxEVexS }, 0 },
+    { Bad_Opcode },
+    { "vcoms%XB",        { XMScalar, EXw, EXxEVexS }, 0 },
   },
   /* PREFIX_EVEX_MAP5_51 */
   {
     { "vsqrtp%XH",        { XM, EXxh, EXxEVexR }, 0 },
     { "vsqrts%XH",        { XMScalar, VexScalar, EXw, EXxEVexR }, 0 },
+    { "vsqrtnep%XB",     { XM, EXxh }, 0 },
   },
   /* PREFIX_EVEX_MAP5_58 */
   {
     { "vaddp%XH", { XM, Vex, EXxh, EXxEVexR }, 0 },
     { "vadds%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, 0 },
+    { "vaddnep%XB", { XM, Vex, EXxh }, 0 },
   },
   /* PREFIX_EVEX_MAP5_59 */
   {
     { "vmulp%XH", { XM, Vex, EXxh, EXxEVexR }, 0 },
     { "vmuls%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, 0 },
+    { "vmulnep%XB", { XM, Vex, EXxh }, 0 },
   },
   /* PREFIX_EVEX_MAP5_5A */
   {
@@ -473,21 +484,25 @@ 
   {
     { "vsubp%XH", { XM, Vex, EXxh, EXxEVexR }, 0 },
     { "vsubs%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, 0 },
+    { "vsubnep%XB", { XM, Vex, EXxh }, 0 },
   },
   /* PREFIX_EVEX_MAP5_5D */
   {
     { "vminp%XH", { XM, Vex, EXxh, EXxEVexS }, 0 },
     { "vmins%XH", { XMScalar, VexScalar, EXw, EXxEVexS }, 0 },
+    { "vminp%XB", { XM, Vex, EXxh }, 0 },
   },
   /* PREFIX_EVEX_MAP5_5E */
   {
     { "vdivp%XH", { XM, Vex, EXxh, EXxEVexR }, 0 },
     { "vdivs%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, 0 },
+    { "vdivnep%XB", { XM, Vex, EXxh }, 0 },
   },
   /* PREFIX_EVEX_MAP5_5F */
   {
     { "vmaxp%XH", { XM, Vex, EXxh, EXxEVexS }, 0 },
     { "vmaxs%XH", { XMScalar, VexScalar, EXw, EXxEVexS }, 0 },
+    { "vmaxp%XB", { XM, Vex, EXxh }, 0 },
   },
   /* PREFIX_EVEX_MAP5_74 */
   {
@@ -540,6 +555,30 @@ 
     { Bad_Opcode },
     { "vcvtp%XH2psx",	{ XM, EXxmmqh, EXxEVexS }, 0 },
   },
+  /* PREFIX_EVEX_MAP6_2C */
+  {
+    { "vscalefp%XB",      { XM, Vex, EXxh }, 0 },
+    { Bad_Opcode },
+    { "vscalefp%XH",      { XM, Vex, EXxh, EXxEVexR }, 0 },
+  },
+  /* PREFIX_EVEX_MAP6_42 */
+  {
+    { "vgetexpp%XB",	{ XM, EXxh }, 0 },
+    { Bad_Opcode },
+    { "vgetexpp%XH",	{ XM, EXxh, EXxEVexS }, 0 },
+  },
+  /* PREFIX_EVEX_MAP6_4C */
+  {
+    { "vrcpp%XB",    { XM, EXxh }, 0 },
+    { Bad_Opcode },
+    { "vrcpp%XH",       { XM, EXxh }, 0 },
+  },
+  /* PREFIX_EVEX_MAP6_4E */
+  {
+    { "vrsqrtp%XB",       { XM, EXxh }, 0 },
+    { Bad_Opcode },
+    { "vrsqrtp%XH",       { XM, EXxh }, 0 },
+  },
   /* PREFIX_EVEX_MAP6_56 */
   {
     { Bad_Opcode },
@@ -554,6 +593,78 @@ 
     { Bad_Opcode },
     { "vfcmaddcs%XH",     { { DistinctDest_Fixup, scalar_mode }, VexScalar, EXd, EXxEVexR }, 0 },
   },
+  /* PREFIX_EVEX_MAP6_98 */
+  {
+    { "vfmadd132nep%XB",      { XM, Vex, EXxh }, 0 },
+    { Bad_Opcode },
+    { "vfmadd132p%XH",  { XM, Vex, EXxh, EXxEVexR }, 0 },
+  },
+  /* PREFIX_EVEX_MAP6_9A */
+  {
+    { "vfmsub132nep%XB",      { XM, Vex, EXxh }, 0 },
+    { Bad_Opcode },
+    { "vfmsub132p%XH",  { XM, Vex, EXxh, EXxEVexR }, 0 },
+  },
+  /* PREFIX_EVEX_MAP6_9C */
+  {
+    { "vfnmadd132nep%XB",      { XM, Vex, EXxh }, 0 },
+    { Bad_Opcode },
+    { "vfnmadd132p%XH",  { XM, Vex, EXxh, EXxEVexR }, 0 },
+  },
+  /* PREFIX_EVEX_MAP6_9E */
+  {
+    { "vfnmsub132nep%XB",      { XM, Vex, EXxh }, 0 },
+    { Bad_Opcode },
+    { "vfnmsub132p%XH",  { XM, Vex, EXxh, EXxEVexR }, 0 },
+  },
+  /* PREFIX_EVEX_MAP6_A8 */
+  {
+    { "vfmadd213nep%XB",      { XM, Vex, EXxh }, 0 },
+    { Bad_Opcode },
+    { "vfmadd213p%XH",  { XM, Vex, EXxh, EXxEVexR }, 0 },
+  },
+  /* PREFIX_EVEX_MAP6_AA */
+  {
+    { "vfmsub213nep%XB",      { XM, Vex, EXxh }, 0 },
+    { Bad_Opcode },
+    { "vfmsub213p%XH",  { XM, Vex, EXxh, EXxEVexR }, 0 },
+  },
+  /* PREFIX_EVEX_MAP6_AC */
+  {
+    { "vfnmadd213nep%XB",      { XM, Vex, EXxh }, 0 },
+    { Bad_Opcode },
+    { "vfnmadd213p%XH",  { XM, Vex, EXxh, EXxEVexR }, 0 },
+  },
+  /* PREFIX_EVEX_MAP6_AE */
+  {
+    { "vfnmsub213nep%XB",      { XM, Vex, EXxh }, 0 },
+    { Bad_Opcode },
+    { "vfnmsub213p%XH",  { XM, Vex, EXxh, EXxEVexR }, 0 },
+  },
+  /* PREFIX_EVEX_MAP6_B8 */
+  {
+    { "vfmadd231nep%XB",      { XM, Vex, EXxh }, 0 },
+    { Bad_Opcode },
+    { "vfmadd231p%XH",  { XM, Vex, EXxh, EXxEVexR }, 0 },
+  },
+  /* PREFIX_EVEX_MAP6_BA */
+  {
+    { "vfmsub231nep%XB",      { XM, Vex, EXxh }, 0 },
+    { Bad_Opcode },
+    { "vfmsub231p%XH",  { XM, Vex, EXxh, EXxEVexR }, 0 },
+  },
+  /* PREFIX_EVEX_MAP6_BC */
+  {
+    { "vfnmadd231nep%XB",      { XM, Vex, EXxh }, 0 },
+    { Bad_Opcode },
+    { "vfnmadd231p%XH",  { XM, Vex, EXxh, EXxEVexR }, 0 },
+  },
+  /* PREFIX_EVEX_MAP6_BE */
+  {
+    { "vfnmsub231nep%XB",      { XM, Vex, EXxh }, 0 },
+    { Bad_Opcode },
+    { "vfnmsub231p%XH",  { XM, Vex, EXxh, EXxEVexR }, 0 },
+  },
   /* PREFIX_EVEX_MAP6_D6 */
   {
     { Bad_Opcode },
diff --git a/opcodes/i386-dis-evex.h b/opcodes/i386-dis-evex.h
index 9e0546e66ca..704f33ec6fc 100644
--- a/opcodes/i386-dis-evex.h
+++ b/opcodes/i386-dis-evex.h
@@ -1506,7 +1506,7 @@  static const struct dis386 evex_table[][256] = {
     { Bad_Opcode },
     { Bad_Opcode },
     { Bad_Opcode },
-    { "vscalefp%XH",      { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA },
+    { PREFIX_TABLE (PREFIX_EVEX_MAP6_2C) },
     { "vscalefs%XH",      { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA },
     { Bad_Opcode },
     { Bad_Opcode },
@@ -1531,7 +1531,7 @@  static const struct dis386 evex_table[][256] = {
     /* 40 */
     { Bad_Opcode },
     { Bad_Opcode },
-    { "vgetexpp%XH",      { XM, EXxh, EXxEVexS }, PREFIX_DATA },
+    { PREFIX_TABLE (PREFIX_EVEX_MAP6_42) },
     { "vgetexps%XH",      { XMScalar, VexScalar, EXw, EXxEVexS }, PREFIX_DATA },
     { Bad_Opcode },
     { Bad_Opcode },
@@ -1542,9 +1542,9 @@  static const struct dis386 evex_table[][256] = {
     { Bad_Opcode },
     { Bad_Opcode },
     { Bad_Opcode },
-    { "vrcpp%XH",	  { XM, EXxh }, PREFIX_DATA },
+    { PREFIX_TABLE (PREFIX_EVEX_MAP6_4C) },
     { "vrcps%XH",	  { XMScalar, VexScalar, EXw }, PREFIX_DATA },
-    { "vrsqrtp%XH",       { XM, EXxh }, PREFIX_DATA },
+    { PREFIX_TABLE (PREFIX_EVEX_MAP6_4E) },
     { "vrsqrts%XH",       { XMScalar, VexScalar, EXw }, PREFIX_DATA },
     /* 50 */
     { Bad_Opcode },
@@ -1628,13 +1628,13 @@  static const struct dis386 evex_table[][256] = {
     { "vfmaddsub132p%XH",  { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA },
     { "vfmsubadd132p%XH",  { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA },
     /* 98 */
-    { "vfmadd132p%XH",  { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA },
+    { PREFIX_TABLE (PREFIX_EVEX_MAP6_98) },
     { "vfmadd132s%XH",  { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA },
-    { "vfmsub132p%XH",  { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA },
+    { PREFIX_TABLE (PREFIX_EVEX_MAP6_9A) },
     { "vfmsub132s%XH",  { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA },
-    { "vfnmadd132p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA },
+    { PREFIX_TABLE (PREFIX_EVEX_MAP6_9C) },
     { "vfnmadd132s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA },
-    { "vfnmsub132p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA },
+    { PREFIX_TABLE (PREFIX_EVEX_MAP6_9E) },
     { "vfnmsub132s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA },
     /* A0 */
     { Bad_Opcode },
@@ -1646,13 +1646,13 @@  static const struct dis386 evex_table[][256] = {
     { "vfmaddsub213p%XH",  { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA },
     { "vfmsubadd213p%XH",  { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA },
     /* A8 */
-    { "vfmadd213p%XH",  { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA },
+    { PREFIX_TABLE (PREFIX_EVEX_MAP6_A8) },
     { "vfmadd213s%XH",  { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA },
-    { "vfmsub213p%XH",  { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA },
+    { PREFIX_TABLE (PREFIX_EVEX_MAP6_AA) },
     { "vfmsub213s%XH",  { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA },
-    { "vfnmadd213p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA },
+    { PREFIX_TABLE (PREFIX_EVEX_MAP6_AC) },
     { "vfnmadd213s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA },
-    { "vfnmsub213p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA },
+    { PREFIX_TABLE (PREFIX_EVEX_MAP6_AE) },
     { "vfnmsub213s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA },
     /* B0 */
     { Bad_Opcode },
@@ -1664,13 +1664,13 @@  static const struct dis386 evex_table[][256] = {
     { "vfmaddsub231p%XH",  { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA },
     { "vfmsubadd231p%XH",  { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA },
     /* B8 */
-    { "vfmadd231p%XH",  { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA },
+    { PREFIX_TABLE (PREFIX_EVEX_MAP6_B8) },
     { "vfmadd231s%XH",  { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA },
-    { "vfmsub231p%XH",  { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA },
+    { PREFIX_TABLE (PREFIX_EVEX_MAP6_BA) },
     { "vfmsub231s%XH",  { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA },
-    { "vfnmadd231p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA },
+    { PREFIX_TABLE (PREFIX_EVEX_MAP6_BC) },
     { "vfnmadd231s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA },
-    { "vfnmsub231p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA },
+    { PREFIX_TABLE (PREFIX_EVEX_MAP6_BE) },
     { "vfnmsub231s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA },
     /* C0 */
     { Bad_Opcode },
diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c
index 9cf7edbbc0e..73831534036 100644
--- a/opcodes/i386-dis.c
+++ b/opcodes/i386-dis.c
@@ -1242,8 +1242,24 @@  enum
   PREFIX_EVEX_MAP5_7D,
 
   PREFIX_EVEX_MAP6_13,
+  PREFIX_EVEX_MAP6_2C,
+  PREFIX_EVEX_MAP6_42,
+  PREFIX_EVEX_MAP6_4C,
+  PREFIX_EVEX_MAP6_4E,
   PREFIX_EVEX_MAP6_56,
   PREFIX_EVEX_MAP6_57,
+  PREFIX_EVEX_MAP6_98,
+  PREFIX_EVEX_MAP6_9A,
+  PREFIX_EVEX_MAP6_9C,
+  PREFIX_EVEX_MAP6_9E,
+  PREFIX_EVEX_MAP6_A8,
+  PREFIX_EVEX_MAP6_AA,
+  PREFIX_EVEX_MAP6_AC,
+  PREFIX_EVEX_MAP6_AE,
+  PREFIX_EVEX_MAP6_B8,
+  PREFIX_EVEX_MAP6_BA,
+  PREFIX_EVEX_MAP6_BC,
+  PREFIX_EVEX_MAP6_BE,
   PREFIX_EVEX_MAP6_D6,
   PREFIX_EVEX_MAP6_D7,
 };
@@ -1830,6 +1846,7 @@  struct dis386 {
    "LP" => print 'w' or 'l' ('d' in Intel mode) if instruction has
 	   an operand size prefix, or suffix_always is true.  print
 	   'q' if rex prefix is present.
+   "XB" => print 'bf16' if EVEX.W=0, EVEX.W=1 is not a valid encoding (for BF16)
 
    Many of the above letters print nothing in Intel mode.  See "putop"
    for the details.
@@ -10445,6 +10462,24 @@  putop (instr_info *ins, const char *in_template, int sizeflag)
 
 	      goto case_B;
 	    }
+	  else if (l == 1 && last[0] == 'X')
+	    {
+	      if (ins->vex.w == 0)
+		{
+		  *ins->obufp++ = 'b';
+		  *ins->obufp++ = 'f';
+		  *ins->obufp++ = '1';
+		  *ins->obufp++ = '6';
+		}
+	      else
+		{
+		  *ins->obufp++ = '{';
+		  *ins->obufp++ = 'b';
+		  *ins->obufp++ = 'a';
+		  *ins->obufp++ = 'd';
+		  *ins->obufp++ = '}';
+		}
+	    }
 	  else
 	    abort ();
 	  break;
diff --git a/opcodes/i386-opc.tbl b/opcodes/i386-opc.tbl
index 96719f9ba57..2eae1b3e299 100644
--- a/opcodes/i386-opc.tbl
+++ b/opcodes/i386-opc.tbl
@@ -3452,4 +3452,24 @@  vcvthf82ph, 0xf21e, AVX10_2, Modrm|EVexMap5|EVex128|VexW0|Masking|Disp8MemShift=
 vcvthf82ph, 0xf21e, AVX10_2, Modrm|EVexMap5|EVex256|VexW0|Masking|Disp8MemShift=4|NoSuf, { RegXMM|Unspecified|BaseIndex, RegYMM }
 vcvthf82ph, 0xf21e, AVX10_2, Modrm|EVexMap5|EVex512|VexW0|Masking|Disp8MemShift=5|NoSuf, { RegYMM|Unspecified|BaseIndex, RegZMM }
 
+v<fop><fop:ne>pbf16, 0x66<fop:opc>, AVX10_2, Modrm|EVexMap5|Src1VVVV|VexW0|Masking|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM|Word|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM }
+
+v<fm><fma>nepbf16, 0x<fm:opc3> | 0x<fma:opc>, AVX10_2, Modrm|EVexMap6|Src1VVVV|VexW0|Masking|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM|Word|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM }
+
+vcmppbf16, 0xf2c2, AVX10_2, Modrm|Space0F3A|Src1VVVV|VexW0|Masking|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { Imm8, RegXMM|RegYMM|RegZMM|Word|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegMask }
+vfpclasspbf16, 0xf266, AVX10_2, Modrm|Space0F3A|VexW0|Masking|Broadcast|Disp8ShiftVL|NoSuf, { Imm8, RegXMM|RegYMM|RegZMM|Word|BaseIndex, RegMask }
+vfpclasspbf16x, 0xf266, AVX10_2, Modrm|Space0F3A|EVex128|VexW0|Masking|Disp8MemShift=4|NoSuf|ATTSyntax, { Imm8, RegXMM|Unspecified|BaseIndex, RegMask }
+vfpclasspbf16y, 0xf266, AVX10_2, Modrm|Space0F3A|EVex256|VexW0|Masking|Disp8MemShift=5|NoSuf|ATTSyntax, { Imm8, RegYMM|Unspecified|BaseIndex, RegMask }
+vfpclasspbf16z, 0xf266, AVX10_2, Modrm|Space0F3A|EVex512|VexW0|Masking|Disp8MemShift=6|NoSuf|ATTSyntax, { Imm8, RegZMM|Unspecified|BaseIndex, RegMask }
+vgetexppbf16, 0x42, AVX10_2, Modrm|EVexMap6|VexW0|Masking|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM|Word|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM }
+vgetmantpbf16, 0xf226, AVX10_2, Modrm|Space0F3A|VexW0|Masking|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { Imm8, RegXMM|RegYMM|RegZMM|Word|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM }
+vrcppbf16, 0x4c, AVX10_2, Modrm|EVexMap6|VexW0|Masking|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM|Word|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM }
+vreducenepbf16, 0xf256, AVX10_2, Modrm|Space0F3A|VexW0|Masking|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { Imm8, RegXMM|RegYMM|RegZMM|Word|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM }
+vrndscalenepbf16, 0xf208, AVX10_2, Modrm|Space0F3A|VexW0|Masking|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { Imm8, RegXMM|RegYMM|RegZMM|Word|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM }
+vrsqrtpbf16, 0x4e, AVX10_2, Modrm|EVexMap6|VexW0|Masking|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM|Word|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM }
+vscalefpbf16, 0x2c, AVX10_2, Modrm|EVexMap6|Src1VVVV|VexW0|Masking|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM|Word|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM }
+vsqrtnepbf16, 0x6651, AVX10_2, Modrm|EVexMap5|VexW0|Masking|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM|Word|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM }
+
+vcomsbf16, 0x662f, AVX10_2, Modrm|EVexMap5|EVexLIG|VexW0|Disp8MemShift=1|NoSuf, { RegXMM|Word|Unspecified|BaseIndex, RegXMM }
+
 // AVX10.2 instructions end.