On 02.11.2023 12:29, Cui, Lili wrote:
> --- a/gas/testsuite/gas/i386/x86-64-apx-egpr-inval.s
> +++ b/gas/testsuite/gas/i386/x86-64-apx-egpr-inval.s
> @@ -1,4 +1,4 @@
> -# Check Illegal 64bit APX_F instructions
> +# Check illegal 64bit APX_F instructions
> .text
> .arch .noapx_f
> test $0x7, %r17d
> @@ -16,3 +16,195 @@
> xsaveopt64 (%r16, %r31)
> xsavec (%r16, %rbx)
> xsavec64 (%r16, %r31)
> +#SSE
> + phaddw (%r17),%xmm0
> + phaddd (%r17),%xmm0
> + phaddsw (%r17),%xmm0
> + phsubw (%r17),%xmm0
> + pmaddubsw (%r17),%xmm0
> + pmulhrsw (%r17),%xmm0
> + pshufb (%r17),%xmm0
> + psignb (%r17),%xmm0
> + psignw (%r17),%xmm0
> + psignd (%r17),%xmm0
> + palignr $100,(%r17),%xmm6
> + pabsb (%r17),%xmm0
> + pabsw (%r17),%xmm0
> + pabsd (%r17),%xmm0
> + blendpd $100,(%r18),%xmm6
> + blendps $100,(%r18),%xmm6
> + blendvpd %xmm0,(%r19),%xmm6
> + blendvps %xmm0,(%r19),%xmm6
> + blendvpd (%r19),%xmm6
> + blendvps (%r19),%xmm6
> + dppd $100,(%r20),%xmm6
> + dpps $100,(%r20),%xmm6
> + extractps $100,%xmm4,(%r21)
> + extractps $100,%xmm4,%r21
> + insertps $100,(%r21),%xmm6
> + movntdqa (%r21),%xmm4
> + mpsadbw $100,(%r21),%xmm6
> + packusdw (%r21),%xmm6
> + pblendvb %xmm0,(%r22),%xmm6
> + pblendvb (%r22),%xmm6
> + pblendw $100,(%r22),%xmm6
> + pcmpeqq (%r22),%xmm6
> + pextrb $100,%xmm4,(%r22)
> + pextrb $100,%xmm4,%r22
> + pextrw $100,%xmm4,(%r22)
> + pextrd $100,%xmm4,(%r22)
> + pextrq $100,%xmm4,(%r22)
Nit: Indentation inconsistency.
> + phminposuw (%r23),%xmm4
> + pinsrb $100,%r23,%xmm4
> + pinsrb $100,(%r23),%xmm4
> + pinsrd $100, %r23d, %xmm4
> + pinsrd $100,(%r23),%xmm4
> + pinsrq $100, %r24, %xmm4
> + pinsrq $100,(%r24),%xmm4
> + pmaxsb (%r24),%xmm6
> + pmaxsd (%r24),%xmm6
> + pmaxud (%r24),%xmm6
> + pmaxuw (%r24),%xmm6
> + pminsb (%r24),%xmm6
> + pminsd (%r24),%xmm6
> + pminud (%r24),%xmm6
> + pminuw (%r24),%xmm6
> + pmovsxbw (%r24),%xmm4
> + pmovsxbd (%r24),%xmm4
> + pmovsxbq (%r24),%xmm4
> + pmovsxwd (%r24),%xmm4
> + pmovsxwq (%r24),%xmm4
> + pmovsxdq (%r24),%xmm4
> + pmovsxbw (%r24),%xmm4
> + pmovzxbd (%r24),%xmm4
> + pmovzxbq (%r24),%xmm4
> + pmovzxwd (%r24),%xmm4
> + pmovzxwq (%r24),%xmm4
> + pmovzxdq (%r24),%xmm4
> + pmuldq (%r24),%xmm4
> + pmulld (%r24),%xmm4
> + roundpd $100,(%r24),%xmm6
> + roundps $100,(%r24),%xmm6
> + roundsd $100,(%r24),%xmm6
> + roundss $100,(%r24),%xmm6
> + pcmpestri $100,(%r25),%xmm6
> + pcmpestrm $100,(%r25),%xmm6
> + pcmpgtq (%r25),%xmm4
> + pcmpistri $100,(%r25),%xmm6
> + pcmpistrm $100,(%r25),%xmm6
> +#AES
> + aesdec (%r26),%xmm6
> + aesdeclast (%r26),%xmm6
> + aesenc (%r26),%xmm6
> + aesenclast (%r26),%xmm6
> + aesimc (%r26),%xmm6
> + aeskeygenassist $100,(%r26),%xmm6
> + pclmulqdq $100,(%r26),%xmm6
> + pclmullqlqdq (%r26),%xmm6
> + pclmulhqlqdq (%r26),%xmm6
> + pclmullqhqdq (%r26),%xmm6
> + pclmulhqhqdq (%r26),%xmm6
> +#GFNI
> + gf2p8affineqb $100,(%r26),%xmm6
> + gf2p8affineinvqb $100,(%r26),%xmm6
> + gf2p8mulb (%r26),%xmm6
> +#VEX without evex
> + vblendpd $7,(%r27),%xmm6,%xmm2
> + vblendpd $7,(%r27),%ymm6,%ymm2
> + vblendps $7,(%r27),%xmm6,%xmm2
> + vblendps $7,(%r27),%ymm6,%ymm2
> + vblendvpd %xmm4,(%r27),%xmm2,%xmm7
> + vblendvpd %ymm4,(%r27),%ymm2,%ymm7
> + vblendvps %xmm4,(%r27),%xmm2,%xmm7
> + vblendvps %ymm4,(%r27),%ymm2,%ymm7
> + vdppd $7,(%r27),%xmm6,%xmm2
> + vdpps $7,(%r27),%xmm6,%xmm2
> + vdpps $7,(%r27),%ymm6,%ymm2
> + vhaddpd (%r27),%xmm6,%xmm5
> + vhaddpd (%r27),%ymm6,%ymm5
> + vhsubps (%r27),%xmm6,%xmm5
> + vhsubps (%r27),%ymm6,%ymm5
> + vlddqu (%r27),%xmm4
> + vlddqu (%r27),%ymm4
> + vldmxcsr (%r27)
As mentioned before, for this, ...
> + vmaskmovpd (%r27),%xmm4,%xmm6
> + vmaskmovpd %xmm4,%xmm6,(%r27)
> + vmaskmovps (%r27),%xmm4,%xmm6
> + vmaskmovps %xmm4,%xmm6,(%r27)
> + vmaskmovpd (%r27),%ymm4,%ymm6
> + vmaskmovpd %ymm4,%ymm6,(%r27)
> + vmaskmovps (%r27),%ymm4,%ymm6
> + vmaskmovps %ymm4,%ymm6,(%r27)
> + vmovmskpd %xmm4,%r27d
> + vmovmskpd %xmm8,%r27d
> + vmovmskps %xmm4,%r27d
> + vmovmskps %ymm8,%r27d
> + vpblendvb %xmm4,(%r27),%xmm2,%xmm7
> + vpblendvb %ymm4,(%r27),%ymm2,%ymm7
> + vpblendw $7,(%r27),%xmm6,%xmm2
> + vpblendw $7,(%r27),%ymm6,%ymm2
> + vpcmpestri $7,(%r27),%xmm6
> + vpcmpestrm $7,(%r27),%xmm6
> + vperm2f128 $7,(%r27),%ymm6,%ymm2
> + vphaddd (%r27),%xmm6,%xmm7
> + vphaddsw (%r27),%xmm6,%xmm7
> + vphaddw (%r27),%xmm6,%xmm7
> + vphsubd (%r27),%xmm6,%xmm7
> + vphsubsw (%r27),%xmm6,%xmm7
> + vphsubw (%r27),%xmm6,%xmm7
> + vphaddd (%r27),%ymm6,%ymm7
> + vphaddsw (%r27),%ymm6,%ymm7
> + vphaddw (%r27),%ymm6,%ymm7
> + vphsubd (%r27),%ymm6,%ymm7
> + vphsubsw (%r27),%ymm6,%ymm7
> + vphsubw (%r27),%ymm6,%ymm7
> + vphminposuw (%r27),%xmm6
> + vpmovmskb %xmm4,%r27
> + vpmovmskb %ymm4,%r27d
> + vpsignb (%r27),%xmm6,%xmm7
> + vpsignw (%r27),%xmm6,%xmm7
> + vpsignd (%r27),%xmm6,%xmm7
> + vpsignb (%r27),%xmm6,%xmm7
> + vpsignw (%r27),%xmm6,%xmm7
> + vpsignd (%r27),%xmm6,%xmm7
> + vptest (%r27),%xmm6
> + vptest (%r27),%ymm6
> + vrcpps (%r27),%xmm6
> + vrcpps (%r27),%ymm6
> + vrcpss (%r27),%xmm6,%xmm6
> + vrsqrtps (%r27),%xmm6
> + vrsqrtps (%r27),%ymm6
> + vrsqrtss (%r27),%xmm6,%xmm6
> + vstmxcsr (%r27)
... this, and ...
> + vtestps (%r27),%xmm6
> + vtestps (%r27),%ymm6
> + vtestpd (%r27),%xmm6
> + vtestps (%r27),%ymm6
> + vtestpd (%r27),%ymm6
> + vpblendd $7,(%r27),%xmm6,%xmm2
> + vpblendd $7,(%r27),%ymm6,%ymm2
> + vperm2i128 $7,(%r27),%ymm6,%ymm2
> + vpmaskmovd (%r27),%xmm4,%xmm6
> + vpmaskmovd %xmm4,%xmm6,(%r27)
> + vpmaskmovq (%r27),%xmm4,%xmm6
> + vpmaskmovq %xmm4,%xmm6,(%r27)
> + vpmaskmovd (%r27),%ymm4,%ymm6
> + vpmaskmovd %ymm4,%ymm6,(%r27)
> + vpmaskmovq (%r27),%ymm4,%ymm6
> + vpmaskmovq %ymm4,%ymm6,(%r27)
> + vaesimc (%r27), %xmm3
> + vaeskeygenassist $7,(%r27),%xmm3
> + vroundpd $1,(%r24),%xmm6
> + vroundps $2,(%r24),%xmm6
> + vroundsd $3,(%r24),%xmm6,%xmm3
> + vroundss $4,(%r24),%xmm6,%xmm3
... and these four I wonder whether the documentation shouldn't at least
allow room for translating them, for there being functionally equivalent
encodings.
> + vpcmpistri $100,(%r25),%xmm6
> + vpcmpistrm $100,(%r25),%xmm6
> + vpcmpeqb (%r26),%ymm6,%ymm2
> + vpcmpeqw (%r16),%ymm6,%ymm2
> + vpcmpeqd (%r26),%ymm6,%ymm2
> + vpcmpeqq (%r16),%ymm6,%ymm2
> + vpcmpgtb (%r26),%ymm6,%ymm2
> + vpcmpgtw (%r16),%ymm6,%ymm2
> + vpcmpgtd (%r26),%ymm6,%ymm2
> + vpcmpgtq (%r16),%ymm6,%ymm2
As an overall remark to this (and perhaps similar) test(s): It would be
nice if there was some consistent sorting criteria applied throughout
the test as whole or (here) the sub-sections (validly grouped by
category). Without that it's needlessly hard to spot any omissions.
> --- /dev/null
> +++ b/gas/testsuite/gas/i386/x86-64-apx-egpr-promote-inval.l
> @@ -0,0 +1,16 @@
> +.*: Assembler messages:
> +.*:4: Error: `movbe' is not supported on `x86_64.nomovbe'
> +.*:5: Error: `movbe' is not supported on `x86_64.nomovbe'
> +.*:7: Error: `invept' is not supported on `x86_64.nomovbe.noept'
> +.*:8: Error: `invept' is not supported on `x86_64.nomovbe.noept'
> +.*:10: Error: `kmovq' is not supported on `x86_64.nomovbe.noept.noavx512bw'
> +.*:11: Error: `kmovq' is not supported on `x86_64.nomovbe.noept.noavx512bw'
> +.*:13: Error: `kmovb' is not supported on `x86_64.nomovbe.noept.noavx512bw.noavx512dq'
> +.*:14: Error: `kmovb' is not supported on `x86_64.nomovbe.noept.noavx512bw.noavx512dq'
> +.*:16: Error: `kmovw' is not supported on `x86_64.nomovbe.noept.noavx512bw.noavx512dq.noavx512f'
> +.*:17: Error: `kmovw' is not supported on `x86_64.nomovbe.noept.noavx512bw.noavx512dq.noavx512f'
Can the irrelevant middle parts of these .no* expecations please be omitted?
The construction of these strings is in need of improvement, and it would be
nice if testcases where the precise string doesn't matter would then not
need touching. (This is a more general principle: Testcase expectations
would better be only as specific as needed for what is under test. Certainly
multiple aspects may be tested in one go, but quite commonly expecations are
needlessly strict, and hence needlessly prone to breaking when unrelated
changes are made somewhere in the code.)
> --- /dev/null
> +++ b/gas/testsuite/gas/i386/x86-64-apx-egpr-promote-inval.s
> @@ -0,0 +1,17 @@
> +# Check illegal 64bit APX EVEX promoted instructions
> + .text
> + .arch .nomovbe
> + movbe (%r16), %r17
> + movbe (%rax), %rcx
> + .arch .noept
> + invept (%r16), %r17
> + invept (%rax), %rcx
> + .arch .noavx512bw
> + kmovq %k1, (%r16)
> + kmovq %k1, (%r8)
> + .arch .noavx512dq
> + kmovb %k1, %r16d
> + kmovb %k1, %r8d
> + .arch .noavx512f
> + kmovw %k1, %r16d
> + kmovw %k1, %r8d
What about BMI/BMI2 insns? Or AMX ones? (I surely missed further groups.)
> --- /dev/null
> +++ b/gas/testsuite/gas/i386/x86-64-apx-evex-promoted-bad.s
> @@ -0,0 +1,29 @@
> +# Check Illegal prefix for 64bit EVEX-promoted instructions
> +
> + .allow_index_reg
> + .text
> +_start:
> + #movbe %r18w,%ax set EVEX.pp = f3 (illegal value).
> + .byte 0x62, 0xfc, 0x7e, 0x08, 0x60, 0xc2
> + .byte 0xff, 0xff
> + #movbe %r18w,%ax set EVEX.pp = f2 (illegal value).
> + .byte 0x62, 0xfc, 0x7f, 0x08, 0x60, 0xc2
> + .byte 0xff, 0xff
> + #VSIB vpgatherqq 0x7b(%rbp,%zmm17,8),%zmm16{%k1} set EVEX.P[10] == 0
> + #(illegal value).
> + .byte 0x62, 0xe2, 0xf9, 0x41, 0x91, 0x84, 0xcd, 0x7b, 0x00, 0x00, 0x00
> + .byte 0xff
> + #EVEX_MAP4 movbe %r18w,%ax set EVEX.mm == b01 (illegal value).
> + .byte 0x62, 0xfd, 0x7d, 0x08, 0x60, 0xc2
> + .byte 0xff, 0xff
> + #EVEX_MAP4 movbe %r18w,%ax set EVEX.aa(P[17:16]) == b01 (illegal value).
> + .byte 0x62, 0xfd, 0x7d, 0x09, 0x60, 0xc2
> + .byte 0xff, 0xff
> + #EVEX_MAP4 movbe %r18w,%ax set EVEX.zL'L == b001 (illegal value).
> + .byte 0x62, 0xfd, 0x7d, 0x28, 0x60, 0xc2
> + .byte 0xff, 0xff
> + #EVEX from VEX enqcmd 0x123(%r31,%rax,4),%r31 EVEX.P[17:16] == 1 (illegal value).
> + .byte 0x62, 0x4c, 0x7f, 0x09, 0xf8, 0xbc, 0x87, 0x23, 0x01, 0x00, 0x00
> + .byte 0xff
> + #EVEX from VEX enqcmd 0x123(%r31,%rax,4),%r31 EVEX.P[23:22] == 1 (illegal value).
> + .byte 0x62, 0x4c, 0x7f, 0x28, 0xf8, 0xbc, 0x87, 0x23, 0x01, 0x00, 0x00
I suspect at least some of these can be expressed via .insn, which would
greatly help readability (i.e. recognizing what is actually being done,
and what's expected-wrong about it).
Also - nit - there are again indentation inconsistencies here.
> --- /dev/null
> +++ b/gas/testsuite/gas/i386/x86-64-apx-evex-promoted.s
> @@ -0,0 +1,322 @@
> +# Check 64bit APX_F EVEX-Promoted instructions.
> +
> + .text
> +_start:
>[...]
> +.intel_syntax noprefix
Didn't you say you corrected directive indentation throughout the series?
> + aadd DWORD PTR [r31+rax*4+0x123],r25d
> + aadd QWORD PTR [r31+rax*4+0x123],r31
> + aand DWORD PTR [r31+rax*4+0x123],r25d
> + aand QWORD PTR [r31+rax*4+0x123],r31
> + aesdec128kl xmm22,[r31+rax*4+0x123]
> + aesdec256kl xmm22,[r31+rax*4+0x123]
> + aesdecwide128kl [r31+rax*4+0x123]
> + aesdecwide256kl [r31+rax*4+0x123]
> + aesenc128kl xmm22,[r31+rax*4+0x123]
> + aesenc256kl xmm22,[r31+rax*4+0x123]
> + aesencwide128kl [r31+rax*4+0x123]
> + aesencwide256kl [r31+rax*4+0x123]
> + aor DWORD PTR [r31+rax*4+0x123],r25d
> + aor QWORD PTR [r31+rax*4+0x123],r31
> + axor DWORD PTR [r31+rax*4+0x123],r25d
> + axor QWORD PTR [r31+rax*4+0x123],r31
> + bextr r10d,edx,r25d
> + bextr edx,DWORD PTR [r31+rax*4+0x123],r25d
> + bextr r11,r15,r31
> + bextr r15,QWORD PTR [r31+rax*4+0x123],r31
Going just down to here (it extends throughout the Intel syntax part):
Can there please also be cases where the xxx PTR is omitted from the
memory operands? That doesn't mean there always need to be both forms,
but there should be a fair mix. (I notice you have one such example
with INVPCID below.)
>[...]
> + crc32 r22,r31
> + crc32 r22,QWORD PTR [r31]
> + crc32 r17,r19b
> + crc32 r21d,r19b
> + crc32 ebx,BYTE PTR [r19]
> + crc32 r23d,r31d
> + crc32 r23d,DWORD PTR [r31]
> + crc32 r21d,r31w
> + crc32 r21d,WORD PTR [r31]
> + crc32 r18,rax
These could do with moving up, since otherwise things look to be sorted
alphabetically here. But seeing these also reminds me that the noreg64
test also needs extending, to cover these new forms (handled by separate
templates).
> + kmovb k5,k3
This (and its siblings) doesn't belong, here, does it? It continues to
be VEX-encoded.
> --- a/gas/testsuite/gas/i386/x86-64.exp
> +++ b/gas/testsuite/gas/i386/x86-64.exp
> @@ -360,8 +360,13 @@ run_dump_test "x86-64-avx512f-rcigrne-intel"
> run_dump_test "x86-64-avx512f-rcigrne"
> run_dump_test "x86-64-avx512f-rcigru-intel"
> run_dump_test "x86-64-avx512f-rcigru"
> -run_list_test "x86-64-apx-egpr-inval" "-al"
> +run_list_test "x86-64-apx-egpr-inval"
This should be put in its final shape right in patch 1; no need to touch
it here again. (Else you'd need to mention the change in the ChangeLog
entry.)
Jan
@@ -12,12 +12,192 @@
.*:16: Error: register type of address mismatch for `xsaveopt64'
.*:17: Error: register type of address mismatch for `xsavec'
.*:18: Error: register type of address mismatch for `xsavec64'
-GAS LISTING .*
-#...
-[ ]*1[ ]+\# Check Illegal 64bit APX_F instructions
-[ ]*2[ ]+\.text
-[ ]*3[ ]+\.arch \.noapx_f
-[ ]*4[ ]+test \$0x7, %r17d
-[ ]*5[ ]+\.arch \.apx_f
-[ ]*6[ ]+\?\?\?\? D510F7C1 test \$0x7, %r17d
+.*:20: Error: register type of address mismatch for `phaddw'
+.*:21: Error: register type of address mismatch for `phaddd'
+.*:22: Error: register type of address mismatch for `phaddsw'
+.*:23: Error: register type of address mismatch for `phsubw'
+.*:24: Error: register type of address mismatch for `pmaddubsw'
+.*:25: Error: register type of address mismatch for `pmulhrsw'
+.*:26: Error: register type of address mismatch for `pshufb'
+.*:27: Error: register type of address mismatch for `psignb'
+.*:28: Error: register type of address mismatch for `psignw'
+.*:29: Error: register type of address mismatch for `psignd'
+.*:30: Error: register type of address mismatch for `palignr'
+.*:31: Error: register type of address mismatch for `pabsb'
+.*:32: Error: register type of address mismatch for `pabsw'
+.*:33: Error: register type of address mismatch for `pabsd'
+.*:34: Error: register type of address mismatch for `blendpd'
+.*:35: Error: register type of address mismatch for `blendps'
+.*:36: Error: register type of address mismatch for `blendvpd'
+.*:37: Error: register type of address mismatch for `blendvps'
+.*:38: Error: register type of address mismatch for `blendvpd'
+.*:39: Error: register type of address mismatch for `blendvps'
+.*:40: Error: register type of address mismatch for `dppd'
+.*:41: Error: register type of address mismatch for `dpps'
+.*:42: Error: register type of address mismatch for `extractps'
+.*:43: Error: register type mismatch for `extractps'
+.*:44: Error: register type of address mismatch for `insertps'
+.*:45: Error: register type of address mismatch for `movntdqa'
+.*:46: Error: register type of address mismatch for `mpsadbw'
+.*:47: Error: register type of address mismatch for `packusdw'
+.*:48: Error: register type of address mismatch for `pblendvb'
+.*:49: Error: register type of address mismatch for `pblendvb'
+.*:50: Error: register type of address mismatch for `pblendw'
+.*:51: Error: register type of address mismatch for `pcmpeqq'
+.*:52: Error: register type of address mismatch for `pextrb'
+.*:53: Error: register type mismatch for `pextrb'
+.*:54: Error: register type of address mismatch for `pextrw'
+.*:55: Error: register type of address mismatch for `pextrd'
+.*:56: Error: register type of address mismatch for `pextrq'
+.*:57: Error: register type of address mismatch for `phminposuw'
+.*:58: Error: register type mismatch for `pinsrb'
+.*:59: Error: register type of address mismatch for `pinsrb'
+.*:60: Error: register type mismatch for `pinsrd'
+.*:61: Error: register type of address mismatch for `pinsrd'
+.*:62: Error: register type mismatch for `pinsrq'
+.*:63: Error: register type of address mismatch for `pinsrq'
+.*:64: Error: register type of address mismatch for `pmaxsb'
+.*:65: Error: register type of address mismatch for `pmaxsd'
+.*:66: Error: register type of address mismatch for `pmaxud'
+.*:67: Error: register type of address mismatch for `pmaxuw'
+.*:68: Error: register type of address mismatch for `pminsb'
+.*:69: Error: register type of address mismatch for `pminsd'
+.*:70: Error: register type of address mismatch for `pminud'
+.*:71: Error: register type of address mismatch for `pminuw'
+.*:72: Error: register type of address mismatch for `pmovsxbw'
+.*:73: Error: register type of address mismatch for `pmovsxbd'
+.*:74: Error: register type of address mismatch for `pmovsxbq'
+.*:75: Error: register type of address mismatch for `pmovsxwd'
+.*:76: Error: register type of address mismatch for `pmovsxwq'
+.*:77: Error: register type of address mismatch for `pmovsxdq'
+.*:78: Error: register type of address mismatch for `pmovsxbw'
+.*:79: Error: register type of address mismatch for `pmovzxbd'
+.*:80: Error: register type of address mismatch for `pmovzxbq'
+.*:81: Error: register type of address mismatch for `pmovzxwd'
+.*:82: Error: register type of address mismatch for `pmovzxwq'
+.*:83: Error: register type of address mismatch for `pmovzxdq'
+.*:84: Error: register type of address mismatch for `pmuldq'
+.*:85: Error: register type of address mismatch for `pmulld'
+.*:86: Error: register type of address mismatch for `roundpd'
+.*:87: Error: register type of address mismatch for `roundps'
+.*:88: Error: register type of address mismatch for `roundsd'
+.*:89: Error: register type of address mismatch for `roundss'
+.*:90: Error: register type of address mismatch for `pcmpestri'
+.*:91: Error: register type of address mismatch for `pcmpestrm'
+.*:92: Error: register type of address mismatch for `pcmpgtq'
+.*:93: Error: register type of address mismatch for `pcmpistri'
+.*:94: Error: register type of address mismatch for `pcmpistrm'
+.*:96: Error: register type of address mismatch for `aesdec'
+.*:97: Error: register type of address mismatch for `aesdeclast'
+.*:98: Error: register type of address mismatch for `aesenc'
+.*:99: Error: register type of address mismatch for `aesenclast'
+.*:100: Error: register type of address mismatch for `aesimc'
+.*:101: Error: register type of address mismatch for `aeskeygenassist'
+.*:102: Error: register type of address mismatch for `pclmulqdq'
+.*:103: Error: register type of address mismatch for `pclmullqlqdq'
+.*:104: Error: register type of address mismatch for `pclmulhqlqdq'
+.*:105: Error: register type of address mismatch for `pclmullqhqdq'
+.*:106: Error: register type of address mismatch for `pclmulhqhqdq'
+.*:108: Error: register type of address mismatch for `gf2p8affineqb'
+.*:109: Error: register type of address mismatch for `gf2p8affineinvqb'
+.*:110: Error: register type of address mismatch for `gf2p8mulb'
+.*:112: Error: register type of address mismatch for `vblendpd'
+.*:113: Error: register type of address mismatch for `vblendpd'
+.*:114: Error: register type of address mismatch for `vblendps'
+.*:115: Error: register type of address mismatch for `vblendps'
+.*:116: Error: register type of address mismatch for `vblendvpd'
+.*:117: Error: register type of address mismatch for `vblendvpd'
+.*:118: Error: register type of address mismatch for `vblendvps'
+.*:119: Error: register type of address mismatch for `vblendvps'
+.*:120: Error: register type of address mismatch for `vdppd'
+.*:121: Error: register type of address mismatch for `vdpps'
+.*:122: Error: register type of address mismatch for `vdpps'
+.*:123: Error: register type of address mismatch for `vhaddpd'
+.*:124: Error: register type of address mismatch for `vhaddpd'
+.*:125: Error: register type of address mismatch for `vhsubps'
+.*:126: Error: register type of address mismatch for `vhsubps'
+.*:127: Error: register type of address mismatch for `vlddqu'
+.*:128: Error: register type of address mismatch for `vlddqu'
+.*:129: Error: register type of address mismatch for `vldmxcsr'
+.*:130: Error: register type of address mismatch for `vmaskmovpd'
+.*:131: Error: register type of address mismatch for `vmaskmovpd'
+.*:132: Error: register type of address mismatch for `vmaskmovps'
+.*:133: Error: register type of address mismatch for `vmaskmovps'
+.*:134: Error: register type of address mismatch for `vmaskmovpd'
+.*:135: Error: register type of address mismatch for `vmaskmovpd'
+.*:136: Error: register type of address mismatch for `vmaskmovps'
+.*:137: Error: register type of address mismatch for `vmaskmovps'
+.*:138: Error: register type mismatch for `vmovmskpd'
+.*:139: Error: register type mismatch for `vmovmskpd'
+.*:140: Error: register type mismatch for `vmovmskps'
+.*:141: Error: register type mismatch for `vmovmskps'
+.*:142: Error: register type of address mismatch for `vpblendvb'
+.*:143: Error: register type of address mismatch for `vpblendvb'
+.*:144: Error: register type of address mismatch for `vpblendw'
+.*:145: Error: register type of address mismatch for `vpblendw'
+.*:146: Error: register type of address mismatch for `vpcmpestri'
+.*:147: Error: register type of address mismatch for `vpcmpestrm'
+.*:148: Error: register type of address mismatch for `vperm2f128'
+.*:149: Error: register type of address mismatch for `vphaddd'
+.*:150: Error: register type of address mismatch for `vphaddsw'
+.*:151: Error: register type of address mismatch for `vphaddw'
+.*:152: Error: register type of address mismatch for `vphsubd'
+.*:153: Error: register type of address mismatch for `vphsubsw'
+.*:154: Error: register type of address mismatch for `vphsubw'
+.*:155: Error: register type of address mismatch for `vphaddd'
+.*:156: Error: register type of address mismatch for `vphaddsw'
+.*:157: Error: register type of address mismatch for `vphaddw'
+.*:158: Error: register type of address mismatch for `vphsubd'
+.*:159: Error: register type of address mismatch for `vphsubsw'
+.*:160: Error: register type of address mismatch for `vphsubw'
+.*:161: Error: register type of address mismatch for `vphminposuw'
+.*:162: Error: register type mismatch for `vpmovmskb'
+.*:163: Error: register type mismatch for `vpmovmskb'
+.*:164: Error: register type of address mismatch for `vpsignb'
+.*:165: Error: register type of address mismatch for `vpsignw'
+.*:166: Error: register type of address mismatch for `vpsignd'
+.*:167: Error: register type of address mismatch for `vpsignb'
+.*:168: Error: register type of address mismatch for `vpsignw'
+.*:169: Error: register type of address mismatch for `vpsignd'
+.*:170: Error: register type of address mismatch for `vptest'
+.*:171: Error: register type of address mismatch for `vptest'
+.*:172: Error: register type of address mismatch for `vrcpps'
+.*:173: Error: register type of address mismatch for `vrcpps'
+.*:174: Error: register type of address mismatch for `vrcpss'
+.*:175: Error: register type of address mismatch for `vrsqrtps'
+.*:176: Error: register type of address mismatch for `vrsqrtps'
+.*:177: Error: register type of address mismatch for `vrsqrtss'
+.*:178: Error: register type of address mismatch for `vstmxcsr'
+.*:179: Error: register type of address mismatch for `vtestps'
+.*:180: Error: register type of address mismatch for `vtestps'
+.*:181: Error: register type of address mismatch for `vtestpd'
+.*:182: Error: register type of address mismatch for `vtestps'
+.*:183: Error: register type of address mismatch for `vtestpd'
+.*:184: Error: register type of address mismatch for `vpblendd'
+.*:185: Error: register type of address mismatch for `vpblendd'
+.*:186: Error: register type of address mismatch for `vperm2i128'
+.*:187: Error: register type of address mismatch for `vpmaskmovd'
+.*:188: Error: register type of address mismatch for `vpmaskmovd'
+.*:189: Error: register type of address mismatch for `vpmaskmovq'
+.*:190: Error: register type of address mismatch for `vpmaskmovq'
+.*:191: Error: register type of address mismatch for `vpmaskmovd'
+.*:192: Error: register type of address mismatch for `vpmaskmovd'
+.*:193: Error: register type of address mismatch for `vpmaskmovq'
+.*:194: Error: register type of address mismatch for `vpmaskmovq'
+.*:195: Error: register type of address mismatch for `vaesimc'
+.*:196: Error: register type of address mismatch for `vaeskeygenassist'
+.*:197: Error: register type of address mismatch for `vroundpd'
+.*:198: Error: register type of address mismatch for `vroundps'
+.*:199: Error: register type of address mismatch for `vroundsd'
+.*:200: Error: register type of address mismatch for `vroundss'
+.*:201: Error: register type of address mismatch for `vpcmpistri'
+.*:202: Error: register type of address mismatch for `vpcmpistrm'
+.*:203: Error: register type of address mismatch for `vpcmpeqb'
+.*:204: Error: register type of address mismatch for `vpcmpeqw'
+.*:205: Error: register type of address mismatch for `vpcmpeqd'
+.*:206: Error: register type of address mismatch for `vpcmpeqq'
+.*:207: Error: register type of address mismatch for `vpcmpgtb'
+.*:208: Error: register type of address mismatch for `vpcmpgtw'
+.*:209: Error: register type of address mismatch for `vpcmpgtd'
+.*:210: Error: register type of address mismatch for `vpcmpgtq'
#pass
@@ -1,4 +1,4 @@
-# Check Illegal 64bit APX_F instructions
+# Check illegal 64bit APX_F instructions
.text
.arch .noapx_f
test $0x7, %r17d
@@ -16,3 +16,195 @@
xsaveopt64 (%r16, %r31)
xsavec (%r16, %rbx)
xsavec64 (%r16, %r31)
+#SSE
+ phaddw (%r17),%xmm0
+ phaddd (%r17),%xmm0
+ phaddsw (%r17),%xmm0
+ phsubw (%r17),%xmm0
+ pmaddubsw (%r17),%xmm0
+ pmulhrsw (%r17),%xmm0
+ pshufb (%r17),%xmm0
+ psignb (%r17),%xmm0
+ psignw (%r17),%xmm0
+ psignd (%r17),%xmm0
+ palignr $100,(%r17),%xmm6
+ pabsb (%r17),%xmm0
+ pabsw (%r17),%xmm0
+ pabsd (%r17),%xmm0
+ blendpd $100,(%r18),%xmm6
+ blendps $100,(%r18),%xmm6
+ blendvpd %xmm0,(%r19),%xmm6
+ blendvps %xmm0,(%r19),%xmm6
+ blendvpd (%r19),%xmm6
+ blendvps (%r19),%xmm6
+ dppd $100,(%r20),%xmm6
+ dpps $100,(%r20),%xmm6
+ extractps $100,%xmm4,(%r21)
+ extractps $100,%xmm4,%r21
+ insertps $100,(%r21),%xmm6
+ movntdqa (%r21),%xmm4
+ mpsadbw $100,(%r21),%xmm6
+ packusdw (%r21),%xmm6
+ pblendvb %xmm0,(%r22),%xmm6
+ pblendvb (%r22),%xmm6
+ pblendw $100,(%r22),%xmm6
+ pcmpeqq (%r22),%xmm6
+ pextrb $100,%xmm4,(%r22)
+ pextrb $100,%xmm4,%r22
+ pextrw $100,%xmm4,(%r22)
+ pextrd $100,%xmm4,(%r22)
+ pextrq $100,%xmm4,(%r22)
+ phminposuw (%r23),%xmm4
+ pinsrb $100,%r23,%xmm4
+ pinsrb $100,(%r23),%xmm4
+ pinsrd $100, %r23d, %xmm4
+ pinsrd $100,(%r23),%xmm4
+ pinsrq $100, %r24, %xmm4
+ pinsrq $100,(%r24),%xmm4
+ pmaxsb (%r24),%xmm6
+ pmaxsd (%r24),%xmm6
+ pmaxud (%r24),%xmm6
+ pmaxuw (%r24),%xmm6
+ pminsb (%r24),%xmm6
+ pminsd (%r24),%xmm6
+ pminud (%r24),%xmm6
+ pminuw (%r24),%xmm6
+ pmovsxbw (%r24),%xmm4
+ pmovsxbd (%r24),%xmm4
+ pmovsxbq (%r24),%xmm4
+ pmovsxwd (%r24),%xmm4
+ pmovsxwq (%r24),%xmm4
+ pmovsxdq (%r24),%xmm4
+ pmovsxbw (%r24),%xmm4
+ pmovzxbd (%r24),%xmm4
+ pmovzxbq (%r24),%xmm4
+ pmovzxwd (%r24),%xmm4
+ pmovzxwq (%r24),%xmm4
+ pmovzxdq (%r24),%xmm4
+ pmuldq (%r24),%xmm4
+ pmulld (%r24),%xmm4
+ roundpd $100,(%r24),%xmm6
+ roundps $100,(%r24),%xmm6
+ roundsd $100,(%r24),%xmm6
+ roundss $100,(%r24),%xmm6
+ pcmpestri $100,(%r25),%xmm6
+ pcmpestrm $100,(%r25),%xmm6
+ pcmpgtq (%r25),%xmm4
+ pcmpistri $100,(%r25),%xmm6
+ pcmpistrm $100,(%r25),%xmm6
+#AES
+ aesdec (%r26),%xmm6
+ aesdeclast (%r26),%xmm6
+ aesenc (%r26),%xmm6
+ aesenclast (%r26),%xmm6
+ aesimc (%r26),%xmm6
+ aeskeygenassist $100,(%r26),%xmm6
+ pclmulqdq $100,(%r26),%xmm6
+ pclmullqlqdq (%r26),%xmm6
+ pclmulhqlqdq (%r26),%xmm6
+ pclmullqhqdq (%r26),%xmm6
+ pclmulhqhqdq (%r26),%xmm6
+#GFNI
+ gf2p8affineqb $100,(%r26),%xmm6
+ gf2p8affineinvqb $100,(%r26),%xmm6
+ gf2p8mulb (%r26),%xmm6
+#VEX without evex
+ vblendpd $7,(%r27),%xmm6,%xmm2
+ vblendpd $7,(%r27),%ymm6,%ymm2
+ vblendps $7,(%r27),%xmm6,%xmm2
+ vblendps $7,(%r27),%ymm6,%ymm2
+ vblendvpd %xmm4,(%r27),%xmm2,%xmm7
+ vblendvpd %ymm4,(%r27),%ymm2,%ymm7
+ vblendvps %xmm4,(%r27),%xmm2,%xmm7
+ vblendvps %ymm4,(%r27),%ymm2,%ymm7
+ vdppd $7,(%r27),%xmm6,%xmm2
+ vdpps $7,(%r27),%xmm6,%xmm2
+ vdpps $7,(%r27),%ymm6,%ymm2
+ vhaddpd (%r27),%xmm6,%xmm5
+ vhaddpd (%r27),%ymm6,%ymm5
+ vhsubps (%r27),%xmm6,%xmm5
+ vhsubps (%r27),%ymm6,%ymm5
+ vlddqu (%r27),%xmm4
+ vlddqu (%r27),%ymm4
+ vldmxcsr (%r27)
+ vmaskmovpd (%r27),%xmm4,%xmm6
+ vmaskmovpd %xmm4,%xmm6,(%r27)
+ vmaskmovps (%r27),%xmm4,%xmm6
+ vmaskmovps %xmm4,%xmm6,(%r27)
+ vmaskmovpd (%r27),%ymm4,%ymm6
+ vmaskmovpd %ymm4,%ymm6,(%r27)
+ vmaskmovps (%r27),%ymm4,%ymm6
+ vmaskmovps %ymm4,%ymm6,(%r27)
+ vmovmskpd %xmm4,%r27d
+ vmovmskpd %xmm8,%r27d
+ vmovmskps %xmm4,%r27d
+ vmovmskps %ymm8,%r27d
+ vpblendvb %xmm4,(%r27),%xmm2,%xmm7
+ vpblendvb %ymm4,(%r27),%ymm2,%ymm7
+ vpblendw $7,(%r27),%xmm6,%xmm2
+ vpblendw $7,(%r27),%ymm6,%ymm2
+ vpcmpestri $7,(%r27),%xmm6
+ vpcmpestrm $7,(%r27),%xmm6
+ vperm2f128 $7,(%r27),%ymm6,%ymm2
+ vphaddd (%r27),%xmm6,%xmm7
+ vphaddsw (%r27),%xmm6,%xmm7
+ vphaddw (%r27),%xmm6,%xmm7
+ vphsubd (%r27),%xmm6,%xmm7
+ vphsubsw (%r27),%xmm6,%xmm7
+ vphsubw (%r27),%xmm6,%xmm7
+ vphaddd (%r27),%ymm6,%ymm7
+ vphaddsw (%r27),%ymm6,%ymm7
+ vphaddw (%r27),%ymm6,%ymm7
+ vphsubd (%r27),%ymm6,%ymm7
+ vphsubsw (%r27),%ymm6,%ymm7
+ vphsubw (%r27),%ymm6,%ymm7
+ vphminposuw (%r27),%xmm6
+ vpmovmskb %xmm4,%r27
+ vpmovmskb %ymm4,%r27d
+ vpsignb (%r27),%xmm6,%xmm7
+ vpsignw (%r27),%xmm6,%xmm7
+ vpsignd (%r27),%xmm6,%xmm7
+ vpsignb (%r27),%xmm6,%xmm7
+ vpsignw (%r27),%xmm6,%xmm7
+ vpsignd (%r27),%xmm6,%xmm7
+ vptest (%r27),%xmm6
+ vptest (%r27),%ymm6
+ vrcpps (%r27),%xmm6
+ vrcpps (%r27),%ymm6
+ vrcpss (%r27),%xmm6,%xmm6
+ vrsqrtps (%r27),%xmm6
+ vrsqrtps (%r27),%ymm6
+ vrsqrtss (%r27),%xmm6,%xmm6
+ vstmxcsr (%r27)
+ vtestps (%r27),%xmm6
+ vtestps (%r27),%ymm6
+ vtestpd (%r27),%xmm6
+ vtestps (%r27),%ymm6
+ vtestpd (%r27),%ymm6
+ vpblendd $7,(%r27),%xmm6,%xmm2
+ vpblendd $7,(%r27),%ymm6,%ymm2
+ vperm2i128 $7,(%r27),%ymm6,%ymm2
+ vpmaskmovd (%r27),%xmm4,%xmm6
+ vpmaskmovd %xmm4,%xmm6,(%r27)
+ vpmaskmovq (%r27),%xmm4,%xmm6
+ vpmaskmovq %xmm4,%xmm6,(%r27)
+ vpmaskmovd (%r27),%ymm4,%ymm6
+ vpmaskmovd %ymm4,%ymm6,(%r27)
+ vpmaskmovq (%r27),%ymm4,%ymm6
+ vpmaskmovq %ymm4,%ymm6,(%r27)
+ vaesimc (%r27), %xmm3
+ vaeskeygenassist $7,(%r27),%xmm3
+ vroundpd $1,(%r24),%xmm6
+ vroundps $2,(%r24),%xmm6
+ vroundsd $3,(%r24),%xmm6,%xmm3
+ vroundss $4,(%r24),%xmm6,%xmm3
+ vpcmpistri $100,(%r25),%xmm6
+ vpcmpistrm $100,(%r25),%xmm6
+ vpcmpeqb (%r26),%ymm6,%ymm2
+ vpcmpeqw (%r16),%ymm6,%ymm2
+ vpcmpeqd (%r26),%ymm6,%ymm2
+ vpcmpeqq (%r16),%ymm6,%ymm2
+ vpcmpgtb (%r26),%ymm6,%ymm2
+ vpcmpgtw (%r16),%ymm6,%ymm2
+ vpcmpgtd (%r26),%ymm6,%ymm2
+ vpcmpgtq (%r16),%ymm6,%ymm2
new file mode 100644
@@ -0,0 +1,16 @@
+.*: Assembler messages:
+.*:4: Error: `movbe' is not supported on `x86_64.nomovbe'
+.*:5: Error: `movbe' is not supported on `x86_64.nomovbe'
+.*:7: Error: `invept' is not supported on `x86_64.nomovbe.noept'
+.*:8: Error: `invept' is not supported on `x86_64.nomovbe.noept'
+.*:10: Error: `kmovq' is not supported on `x86_64.nomovbe.noept.noavx512bw'
+.*:11: Error: `kmovq' is not supported on `x86_64.nomovbe.noept.noavx512bw'
+.*:13: Error: `kmovb' is not supported on `x86_64.nomovbe.noept.noavx512bw.noavx512dq'
+.*:14: Error: `kmovb' is not supported on `x86_64.nomovbe.noept.noavx512bw.noavx512dq'
+.*:16: Error: `kmovw' is not supported on `x86_64.nomovbe.noept.noavx512bw.noavx512dq.noavx512f'
+.*:17: Error: `kmovw' is not supported on `x86_64.nomovbe.noept.noavx512bw.noavx512dq.noavx512f'
+GAS LISTING .*
+#...
+[ ]*1[ ]+\# Check illegal 64bit APX EVEX promoted instructions
+[ ]*2[ ]+\.text
+#pass
new file mode 100644
@@ -0,0 +1,17 @@
+# Check illegal 64bit APX EVEX promoted instructions
+ .text
+ .arch .nomovbe
+ movbe (%r16), %r17
+ movbe (%rax), %rcx
+ .arch .noept
+ invept (%r16), %r17
+ invept (%rax), %rcx
+ .arch .noavx512bw
+ kmovq %k1, (%r16)
+ kmovq %k1, (%r8)
+ .arch .noavx512dq
+ kmovb %k1, %r16d
+ kmovb %k1, %r8d
+ .arch .noavx512f
+ kmovw %k1, %r16d
+ kmovw %k1, %r8d
new file mode 100644
@@ -0,0 +1,20 @@
+#as:
+#objdump: -dw
+#name: x86-64 APX old evex insn use gpr32 with extend-evex prefix
+#source: x86-64-apx-evex-egpr.s
+
+.*: +file format .*
+
+
+Disassembly of section .text:
+
+0+ <_start>:
+\s*[a-f0-9]+:\s*62 fb 79 48 19 04 08 01[ ]+vextractf32x4 \$0x1,%zmm0,\(%r16,%r17,1\)
+\s*[a-f0-9]+:\s*62 fa 79 48 5a 04 1a[ ]+vbroadcasti32x4 \(%r18,%r19,1\),%zmm0
+\s*[a-f0-9]+:\s*62 eb 7d 08 17 c4 01[ ]+vextractps \$0x1,%xmm16,%r20d
+\s*[a-f0-9]+:\s*62 69 97 00 2a f5[ ]+vcvtsi2sd %r21,%xmm29,%xmm30
+\s*[a-f0-9]+:\s*67 62 fe 55 58 96 36[ ]+vfmaddsub132ph \(%r22d\)\{1to32\},%zmm5,%zmm6
+\s*[a-f0-9]+:\s*62 81 fe 18 78 fe[ ]+vcvttss2usi \{sae\},%xmm30,%r23
+\s*[a-f0-9]+:\s*62 25 10 47 58 b4 c5 00 00 00 10[ ]+vaddph 0x10000000\(%rbp,%r24,8\),%zmm29,%zmm30\{%k7\}
+\s*[a-f0-9]+:\s*62 4d 7c 08 2f 71 7f[ ]+vcomish 0xfe\(%r25\),%xmm30
+#pass
new file mode 100644
@@ -0,0 +1,21 @@
+# Check 64bit old evex instructions use gpr32 with evex prefix encoding
+
+ .allow_index_reg
+ .text
+_start:
+## DestMem
+ vextractf32x4 $1, %zmm0, (%r16,%r17)
+## SrcMem
+ vbroadcasti32x4 (%r18,%r19), %zmm0
+## DestReg
+ vextractps $1, %xmm16, %r20d
+## SrcReg
+ vcvtsi2sdq %r21, %xmm29, %xmm30
+## Broadcast
+ vfmaddsub132ph (%r22d){1to32}, %zmm5, %zmm6
+## SAE
+ vcvttss2usi {sae}, %xmm30, %r23
+## Masking
+ vaddph 0x10000000(%rbp, %r24, 8), %zmm29, %zmm30{%k7}
+## Disp8memshift
+ vcomish 254(%r25), %xmm30
new file mode 100644
@@ -0,0 +1,31 @@
+#objdump: -dw
+#name: x86-64 EVEX-promoted bad
+
+.*: +file format .*
+
+
+Disassembly of section .text:
+
+0+ <_start>:
+[ ]*[a-f0-9]+:[ ]+62 fc 7e 08 60[ ]+\(bad\)
+[ ]*[a-f0-9]+:[ ]+c2 ff ff[ ]+ret \$0xffff
+[ ]*[a-f0-9]+:[ ]+62 fc 7f 08 60[ ]+\(bad\)
+[ ]*[a-f0-9]+:[ ]+c2 ff ff[ ]+ret \$0xffff
+[ ]*[a-f0-9]+:[ ]+62 e2 f9 41 91 84[ ]+vpgatherqq \(bad\),%zmm16\{%k1\}
+[ ]*[a-f0-9]+:[ ]+cd 7b[ ]+int \$0x7b
+[ ]*[a-f0-9]+:[ ]+00 00[ ]+add %al,\(%rax\)
+[ ]*[a-f0-9]+:[ ]+00 ff[ ]+add %bh,%bh
+[ ]*[a-f0-9]+:[ ]+62 fd 7d 08 60[ ]+\(bad\)
+[ ]*[a-f0-9]+:[ ]+c2 ff ff[ ]+ret \$0xffff
+[ ]*[a-f0-9]+:[ ]+62 fd 7d 09 60[ ]+\(bad\) \{%k1\}
+[ ]*[a-f0-9]+:[ ]+c2 ff ff[ ]+ret \$0xffff
+[ ]*[a-f0-9]+:[ ]+62 fd 7d 28 60[ ]+\(bad\)
+[ ]*[a-f0-9]+:[ ]+c2 ff ff[ ]+ret \$0xffff
+[ ]*[a-f0-9]+:[ ]+62 4c 7f[ ]+\(bad\) \{%k1\}
+[ ]*[a-f0-9]+:[ ]+09 f8[ ]+or %edi,%eax
+[ ]*[a-f0-9]+:[ ]+bc 87 23 01 00[ ]+mov \$0x12387,%esp
+[ ]*[a-f0-9]+:[ ]+00 ff[ ]+add %bh,%bh
+[ ]*[a-f0-9]+:[ ]+62 4c 7f[ ]+\(bad\)
+[ ]*[a-f0-9]+:[ ]+28 f8[ ]+sub %bh,%al
+[ ]*[a-f0-9]+:[ ]+bc 87 23 01 00[ ]+mov \$0x12387,%esp
+#pass
new file mode 100644
@@ -0,0 +1,29 @@
+# Check Illegal prefix for 64bit EVEX-promoted instructions
+
+ .allow_index_reg
+ .text
+_start:
+ #movbe %r18w,%ax set EVEX.pp = f3 (illegal value).
+ .byte 0x62, 0xfc, 0x7e, 0x08, 0x60, 0xc2
+ .byte 0xff, 0xff
+ #movbe %r18w,%ax set EVEX.pp = f2 (illegal value).
+ .byte 0x62, 0xfc, 0x7f, 0x08, 0x60, 0xc2
+ .byte 0xff, 0xff
+ #VSIB vpgatherqq 0x7b(%rbp,%zmm17,8),%zmm16{%k1} set EVEX.P[10] == 0
+ #(illegal value).
+ .byte 0x62, 0xe2, 0xf9, 0x41, 0x91, 0x84, 0xcd, 0x7b, 0x00, 0x00, 0x00
+ .byte 0xff
+ #EVEX_MAP4 movbe %r18w,%ax set EVEX.mm == b01 (illegal value).
+ .byte 0x62, 0xfd, 0x7d, 0x08, 0x60, 0xc2
+ .byte 0xff, 0xff
+ #EVEX_MAP4 movbe %r18w,%ax set EVEX.aa(P[17:16]) == b01 (illegal value).
+ .byte 0x62, 0xfd, 0x7d, 0x09, 0x60, 0xc2
+ .byte 0xff, 0xff
+ #EVEX_MAP4 movbe %r18w,%ax set EVEX.zL'L == b001 (illegal value).
+ .byte 0x62, 0xfd, 0x7d, 0x28, 0x60, 0xc2
+ .byte 0xff, 0xff
+ #EVEX from VEX enqcmd 0x123(%r31,%rax,4),%r31 EVEX.P[17:16] == 1 (illegal value).
+ .byte 0x62, 0x4c, 0x7f, 0x09, 0xf8, 0xbc, 0x87, 0x23, 0x01, 0x00, 0x00
+ .byte 0xff
+ #EVEX from VEX enqcmd 0x123(%r31,%rax,4),%r31 EVEX.P[23:22] == 1 (illegal value).
+ .byte 0x62, 0x4c, 0x7f, 0x28, 0xf8, 0xbc, 0x87, 0x23, 0x01, 0x00, 0x00
new file mode 100644
@@ -0,0 +1,326 @@
+#as:
+#objdump: -dw -Mintel
+#name: x86_64 APX_F EVEX-Promoted insns (Intel disassembly)
+#source: x86-64-apx-evex-promoted.s
+
+.*: +file format .*
+
+Disassembly of section \.text:
+
+0+ <_start>:
+[ ]*[a-f0-9]+:[ ]*62 4c 7c 08 fc 8c 87 23 01 00 00[ ]+aadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],r25d
+[ ]*[a-f0-9]+:[ ]*62 4c fc 08 fc bc 87 23 01 00 00[ ]+aadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r31
+[ ]*[a-f0-9]+:[ ]*62 4c 7d 08 fc 8c 87 23 01 00 00[ ]+aand[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],r25d
+[ ]*[a-f0-9]+:[ ]*62 4c fd 08 fc bc 87 23 01 00 00[ ]+aand[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r31
+[ ]*[a-f0-9]+:[ ]*62 cc 7e 08 dd b4 87 23 01 00 00[ ]+aesdec128kl xmm22,\[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 cc 7e 08 df b4 87 23 01 00 00[ ]+aesdec256kl xmm22,\[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 dc 7e 08 d8 8c 87 23 01 00 00[ ]+aesdecwide128kl[ ]+\[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 dc 7e 08 d8 9c 87 23 01 00 00[ ]+aesdecwide256kl[ ]+\[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 cc 7e 08 dc b4 87 23 01 00 00[ ]+aesenc128kl xmm22,\[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 cc 7e 08 de b4 87 23 01 00 00[ ]+aesenc256kl xmm22,\[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 dc 7e 08 d8 84 87 23 01 00 00[ ]+aesencwide128kl[ ]+\[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 dc 7e 08 d8 94 87 23 01 00 00[ ]+aesencwide256kl[ ]+\[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 4c 7f 08 fc 8c 87 23 01 00 00[ ]+aor[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],r25d
+[ ]*[a-f0-9]+:[ ]*62 4c ff 08 fc bc 87 23 01 00 00[ ]+aor[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r31
+[ ]*[a-f0-9]+:[ ]*62 4c 7e 08 fc 8c 87 23 01 00 00[ ]+axor[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],r25d
+[ ]*[a-f0-9]+:[ ]*62 4c fe 08 fc bc 87 23 01 00 00[ ]+axor[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r31
+[ ]*[a-f0-9]+:[ ]*62 72 34 00 f7 d2[ ]+bextr[ ]+r10d,edx,r25d
+[ ]*[a-f0-9]+:[ ]*62 da 34 00 f7 94 87 23 01 00 00[ ]+bextr[ ]+edx,DWORD PTR \[r31\+rax\*4\+0x123\],r25d
+[ ]*[a-f0-9]+:[ ]*62 52 84 00 f7 df[ ]+bextr[ ]+r11,r15,r31
+[ ]*[a-f0-9]+:[ ]*62 5a 84 00 f7 bc 87 23 01 00 00[ ]+bextr[ ]+r15,QWORD PTR \[r31\+rax\*4\+0x123\],r31
+[ ]*[a-f0-9]+:[ ]*62 da 6c 08 f3 d9[ ]+blsi[ ]+edx,r25d
+[ ]*[a-f0-9]+:[ ]*62 da 84 08 f3 df[ ]+blsi[ ]+r15,r31
+[ ]*[a-f0-9]+:[ ]*62 da 34 00 f3 9c 87 23 01 00 00[ ]+blsi[ ]+r25d,DWORD PTR \[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 da 84 00 f3 9c 87 23 01 00 00[ ]+blsi[ ]+r31,QWORD PTR \[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 da 6c 08 f3 d1[ ]+blsmsk[ ]+edx,r25d
+[ ]*[a-f0-9]+:[ ]*62 da 84 08 f3 d7[ ]+blsmsk[ ]+r15,r31
+[ ]*[a-f0-9]+:[ ]*62 da 34 00 f3 94 87 23 01 00 00[ ]+blsmsk[ ]+r25d,DWORD PTR \[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 da 84 00 f3 94 87 23 01 00 00[ ]+blsmsk[ ]+r31,QWORD PTR \[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 da 6c 08 f3 c9[ ]+blsr[ ]+edx,r25d
+[ ]*[a-f0-9]+:[ ]*62 da 84 08 f3 cf[ ]+blsr[ ]+r15,r31
+[ ]*[a-f0-9]+:[ ]*62 da 34 00 f3 8c 87 23 01 00 00[ ]+blsr[ ]+r25d,DWORD PTR \[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 da 84 00 f3 8c 87 23 01 00 00[ ]+blsr[ ]+r31,QWORD PTR \[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 72 34 00 f5 d2[ ]+bzhi[ ]+r10d,edx,r25d
+[ ]*[a-f0-9]+:[ ]*62 da 34 00 f5 94 87 23 01 00 00[ ]+bzhi[ ]+edx,DWORD PTR \[r31\+rax\*4\+0x123\],r25d
+[ ]*[a-f0-9]+:[ ]*62 52 84 00 f5 df[ ]+bzhi[ ]+r11,r15,r31
+[ ]*[a-f0-9]+:[ ]*62 5a 84 00 f5 bc 87 23 01 00 00[ ]+bzhi[ ]+r15,QWORD PTR \[r31\+rax\*4\+0x123\],r31
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 e6 94 87 23 01 00 00[ ]+cmpbexadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e6 bc 87 23 01 00 00[ ]+cmpbexadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 e2 94 87 23 01 00 00[ ]+cmpbxadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e2 bc 87 23 01 00 00[ ]+cmpbxadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 ec 94 87 23 01 00 00[ ]+cmplxadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 ec bc 87 23 01 00 00[ ]+cmplxadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 e7 94 87 23 01 00 00[ ]+cmpnbexadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e7 bc 87 23 01 00 00[ ]+cmpnbexadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 e3 94 87 23 01 00 00[ ]+cmpnbxadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e3 bc 87 23 01 00 00[ ]+cmpnbxadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 ef 94 87 23 01 00 00[ ]+cmpnlexadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 ef bc 87 23 01 00 00[ ]+cmpnlexadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 ed 94 87 23 01 00 00[ ]+cmpnlxadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 ed bc 87 23 01 00 00[ ]+cmpnlxadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 e1 94 87 23 01 00 00[ ]+cmpnoxadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e1 bc 87 23 01 00 00[ ]+cmpnoxadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 eb 94 87 23 01 00 00[ ]+cmpnpxadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 eb bc 87 23 01 00 00[ ]+cmpnpxadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 e9 94 87 23 01 00 00[ ]+cmpnsxadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e9 bc 87 23 01 00 00[ ]+cmpnsxadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 e5 94 87 23 01 00 00[ ]+cmpnzxadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e5 bc 87 23 01 00 00[ ]+cmpnzxadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 e0 94 87 23 01 00 00[ ]+cmpoxadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e0 bc 87 23 01 00 00[ ]+cmpoxadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 ea 94 87 23 01 00 00[ ]+cmppxadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 ea bc 87 23 01 00 00[ ]+cmppxadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 e8 94 87 23 01 00 00[ ]+cmpsxadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e8 bc 87 23 01 00 00[ ]+cmpsxadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 e4 94 87 23 01 00 00[ ]+cmpzxadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e4 bc 87 23 01 00 00[ ]+cmpzxadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31
+[ ]*[a-f0-9]+:[ ]*62 dc 7e 08 da d1[ ]+encodekey128[ ]+edx,r25d
+[ ]*[a-f0-9]+:[ ]*62 dc 7e 08 db d1[ ]+encodekey256[ ]+edx,r25d
+[ ]*[a-f0-9]+:[ ]*67 62 4c 7f 08 f8 8c 87 23 01 00 00[ ]+enqcmd[ ]+r25d,\[r31d\+eax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 4c 7f 08 f8 bc 87 23 01 00 00[ ]+enqcmd[ ]+r31,\[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*67 62 4c 7e 08 f8 8c 87 23 01 00 00[ ]+enqcmds[ ]+r25d,\[r31d\+eax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 4c 7e 08 f8 bc 87 23 01 00 00[ ]+enqcmds[ ]+r31,\[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 4c fe 08 f0 bc 87 23 01 00 00[ ]+invept[ ]+r31,OWORD PTR \[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 4c fe 08 f2 bc 87 23 01 00 00[ ]+invpcid[ ]+r31,\[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 4c fe 08 f1 bc 87 23 01 00 00[ ]+invvpid[ ]+r31,OWORD PTR \[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 cc fc 08 f1 f7[ ]+crc32[ ]+r22,r31
+[ ]*[a-f0-9]+:[ ]*62 cc fc 08 f1 37[ ]+crc32[ ]+r22,QWORD PTR \[r31\]
+[ ]*[a-f0-9]+:[ ]*62 ec fc 08 f0 cb[ ]+crc32[ ]+r17,r19b
+[ ]*[a-f0-9]+:[ ]*62 ec 7c 08 f0 eb[ ]+crc32[ ]+r21d,r19b
+[ ]*[a-f0-9]+:[ ]*62 fc 7c 08 f0 1b[ ]+crc32[ ]+ebx,BYTE PTR \[r19\]
+[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 f1 ff[ ]+crc32[ ]+r23d,r31d
+[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 f1 3f[ ]+crc32[ ]+r23d,DWORD PTR \[r31\]
+[ ]*[a-f0-9]+:[ ]*62 cc 7d 08 f1 ef[ ]+crc32[ ]+r21d,r31w
+[ ]*[a-f0-9]+:[ ]*62 cc 7d 08 f1 2f[ ]+crc32[ ]+r21d,WORD PTR \[r31\]
+[ ]*[a-f0-9]+:[ ]*62 e4 fc 08 f1 d0[ ]+crc32[ ]+r18,rax
+[ ]*[a-f0-9]+:[ ]*c5 f9 90 eb[ ]+kmovb[ ]+k5,k3
+[ ]*[a-f0-9]+:[ ]*62 61 7d 08 93 cd[ ]+kmovb[ ]+r25d,k5
+[ ]*[a-f0-9]+:[ ]*62 d9 7d 08 91 ac 87 23 01 00 00[ ]+kmovb[ ]+BYTE PTR \[r31\+rax\*4\+0x123\],k5
+[ ]*[a-f0-9]+:[ ]*62 d9 7d 08 92 e9[ ]+kmovb[ ]+k5,r25d
+[ ]*[a-f0-9]+:[ ]*62 d9 7d 08 90 ac 87 23 01 00 00[ ]+kmovb[ ]+k5,BYTE PTR \[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 90 eb[ ]+kmovd[ ]+k5,k3
+[ ]*[a-f0-9]+:[ ]*62 61 7f 08 93 cd[ ]+kmovd[ ]+r25d,k5
+[ ]*[a-f0-9]+:[ ]*62 d9 fd 08 91 ac 87 23 01 00 00[ ]+kmovd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],k5
+[ ]*[a-f0-9]+:[ ]*62 d9 7f 08 92 e9[ ]+kmovd[ ]+k5,r25d
+[ ]*[a-f0-9]+:[ ]*62 d9 fd 08 90 ac 87 23 01 00 00[ ]+kmovd[ ]+k5,DWORD PTR \[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 90 eb[ ]+kmovq[ ]+k5,k3
+[ ]*[a-f0-9]+:[ ]*62 61 ff 08 93 fd[ ]+kmovq[ ]+r31,k5
+[ ]*[a-f0-9]+:[ ]*62 d9 fc 08 91 ac 87 23 01 00 00[ ]+kmovq[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],k5
+[ ]*[a-f0-9]+:[ ]*62 d9 ff 08 92 ef[ ]+kmovq[ ]+k5,r31
+[ ]*[a-f0-9]+:[ ]*62 d9 fc 08 90 ac 87 23 01 00 00[ ]+kmovq[ ]+k5,QWORD PTR \[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*c5 f8 90 eb[ ]+kmovw[ ]+k5,k3
+[ ]*[a-f0-9]+:[ ]*62 61 7c 08 93 cd[ ]+kmovw[ ]+r25d,k5
+[ ]*[a-f0-9]+:[ ]*62 d9 7c 08 91 ac 87 23 01 00 00[ ]+kmovw[ ]+WORD PTR \[r31\+rax\*4\+0x123\],k5
+[ ]*[a-f0-9]+:[ ]*62 d9 7c 08 92 e9[ ]+kmovw[ ]+k5,r25d
+[ ]*[a-f0-9]+:[ ]*62 d9 7c 08 90 ac 87 23 01 00 00[ ]+kmovw[ ]+k5,WORD PTR \[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 da 7c 08 49 84 87 23 01 00 00[ ]+ldtilecfg[ ]+\[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 fc 7d 08 60 c2[ ]+movbe[ ]+ax,r18w
+[ ]*[a-f0-9]+:[ ]*62 ec 7d 08 61 94 80 23 01 00 00[ ]+movbe[ ]+WORD PTR \[r16\+rax\*4\+0x123\],r18w
+[ ]*[a-f0-9]+:[ ]*62 cc 7d 08 61 94 87 23 01 00 00[ ]+movbe[ ]+WORD PTR \[r31\+rax\*4\+0x123\],r18w
+[ ]*[a-f0-9]+:[ ]*62 dc 7c 08 60 d1[ ]+movbe[ ]+edx,r25d
+[ ]*[a-f0-9]+:[ ]*62 6c 7c 08 61 8c 80 23 01 00 00[ ]+movbe[ ]+DWORD PTR \[r16\+rax\*4\+0x123\],r25d
+[ ]*[a-f0-9]+:[ ]*62 5c fc 08 60 ff[ ]+movbe[ ]+r15,r31
+[ ]*[a-f0-9]+:[ ]*62 6c fc 08 61 bc 80 23 01 00 00[ ]+movbe[ ]+QWORD PTR \[r16\+rax\*4\+0x123\],r31
+[ ]*[a-f0-9]+:[ ]*62 4c fc 08 61 bc 87 23 01 00 00[ ]+movbe[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r31
+[ ]*[a-f0-9]+:[ ]*62 6c fc 08 60 bc 80 23 01 00 00[ ]+movbe[ ]+r31,QWORD PTR \[r16\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 cc 7d 08 60 94 87 23 01 00 00[ ]+movbe[ ]+r18w,WORD PTR \[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 4c 7c 08 60 8c 87 23 01 00 00[ ]+movbe[ ]+r25d,DWORD PTR \[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*67 62 4c 7d 08 f8 8c 87 23 01 00 00[ ]+movdir64b[ ]+r25d,\[r31d\+eax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 4c 7d 08 f8 bc 87 23 01 00 00[ ]+movdir64b[ ]+r31,\[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 4c 7c 08 f9 8c 87 23 01 00 00[ ]+movdiri[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],r25d
+[ ]*[a-f0-9]+:[ ]*62 4c fc 08 f9 bc 87 23 01 00 00[ ]+movdiri[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r31
+[ ]*[a-f0-9]+:[ ]*62 5a 6f 08 f5 d1[ ]+pdep[ ]+r10d,edx,r25d
+[ ]*[a-f0-9]+:[ ]*62 5a 87 08 f5 df[ ]+pdep[ ]+r11,r15,r31
+[ ]*[a-f0-9]+:[ ]*62 da 37 00 f5 94 87 23 01 00 00[ ]+pdep[ ]+edx,r25d,DWORD PTR \[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 5a 87 00 f5 bc 87 23 01 00 00[ ]+pdep[ ]+r15,r31,QWORD PTR \[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 5a 6e 08 f5 d1[ ]+pext[ ]+r10d,edx,r25d
+[ ]*[a-f0-9]+:[ ]*62 5a 86 08 f5 df[ ]+pext[ ]+r11,r15,r31
+[ ]*[a-f0-9]+:[ ]*62 da 36 00 f5 94 87 23 01 00 00[ ]+pext[ ]+edx,r25d,DWORD PTR \[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 5a 86 00 f5 bc 87 23 01 00 00[ ]+pext[ ]+r15,r31,QWORD PTR \[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 a4 7c 08 d9 f7[ ]+sha1msg1 xmm22,xmm23
+[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 d9 b4 87 23 01 00 00[ ]+sha1msg1 xmm22,XMMWORD PTR \[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 a4 7c 08 da f7[ ]+sha1msg2 xmm22,xmm23
+[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 da b4 87 23 01 00 00[ ]+sha1msg2 xmm22,XMMWORD PTR \[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 a4 7c 08 d8 f7[ ]+sha1nexte xmm22,xmm23
+[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 d8 b4 87 23 01 00 00[ ]+sha1nexte xmm22,XMMWORD PTR \[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 a4 7c 08 d4 f7 7b[ ]+sha1rnds4 xmm22,xmm23,0x7b
+[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 d4 b4 87 23 01 00 00 7b[ ]+sha1rnds4 xmm22,XMMWORD PTR \[r31\+rax\*4\+0x123\],0x7b
+[ ]*[a-f0-9]+:[ ]*62 a4 7c 08 dc f7[ ]+sha256msg1 xmm22,xmm23
+[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 dc b4 87 23 01 00 00[ ]+sha256msg1 xmm22,XMMWORD PTR \[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 a4 7c 08 dd f7[ ]+sha256msg2 xmm22,xmm23
+[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 dd b4 87 23 01 00 00[ ]+sha256msg2 xmm22,XMMWORD PTR \[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 5c 7c 08 db a4 87 23 01 00 00[ ]+sha256rnds2 xmm12,XMMWORD PTR \[r31\+rax\*4\+0x123\],xmm0
+[ ]*[a-f0-9]+:[ ]*62 72 35 00 f7 d2[ ]+shlx[ ]+r10d,edx,r25d
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 f7 94 87 23 01 00 00[ ]+shlx[ ]+edx,DWORD PTR \[r31\+rax\*4\+0x123\],r25d
+[ ]*[a-f0-9]+:[ ]*62 52 85 00 f7 df[ ]+shlx[ ]+r11,r15,r31
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 f7 bc 87 23 01 00 00[ ]+shlx[ ]+r15,QWORD PTR \[r31\+rax\*4\+0x123\],r31
+[ ]*[a-f0-9]+:[ ]*62 72 37 00 f7 d2[ ]+shrx[ ]+r10d,edx,r25d
+[ ]*[a-f0-9]+:[ ]*62 da 37 00 f7 94 87 23 01 00 00[ ]+shrx[ ]+edx,DWORD PTR \[r31\+rax\*4\+0x123\],r25d
+[ ]*[a-f0-9]+:[ ]*62 52 87 00 f7 df[ ]+shrx[ ]+r11,r15,r31
+[ ]*[a-f0-9]+:[ ]*62 5a 87 00 f7 bc 87 23 01 00 00[ ]+shrx[ ]+r15,QWORD PTR \[r31\+rax\*4\+0x123\],r31
+[ ]*[a-f0-9]+:[ ]*62 da 7d 08 49 84 87 23 01 00 00[ ]+sttilecfg[ ]+\[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 da 7f 08 4b b4 87 23 01 00 00[ ]+tileloadd tmm6,\[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 da 7d 08 4b b4 87 23 01 00 00[ ]+tileloaddt1 tmm6,\[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 da 7e 08 4b b4 87 23 01 00 00[ ]+tilestored[ ]+\[r31\+rax\*4\+0x123\],tmm6
+[ ]*[a-f0-9]+:[ ]*62 4c 7c 08 66 8c 87 23 01 00 00[ ]+wrssd[ ]+\[r31\+rax\*4\+0x123\],r25d
+[ ]*[a-f0-9]+:[ ]*62 4c fc 08 66 bc 87 23 01 00 00[ ]+wrssq[ ]+\[r31\+rax\*4\+0x123\],r31
+[ ]*[a-f0-9]+:[ ]*62 4c 7d 08 65 8c 87 23 01 00 00[ ]+wrussd[ ]+\[r31\+rax\*4\+0x123\],r25d
+[ ]*[a-f0-9]+:[ ]*62 4c fd 08 65 bc 87 23 01 00 00[ ]+wrussq[ ]+\[r31\+rax\*4\+0x123\],r31
+[ ]*[a-f0-9]+:[ ]*62 4c 7c 08 fc 8c 87 23 01 00 00[ ]+aadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],r25d
+[ ]*[a-f0-9]+:[ ]*62 4c fc 08 fc bc 87 23 01 00 00[ ]+aadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r31
+[ ]*[a-f0-9]+:[ ]*62 4c 7d 08 fc 8c 87 23 01 00 00[ ]+aand[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],r25d
+[ ]*[a-f0-9]+:[ ]*62 4c fd 08 fc bc 87 23 01 00 00[ ]+aand[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r31
+[ ]*[a-f0-9]+:[ ]*62 cc 7e 08 dd b4 87 23 01 00 00[ ]+aesdec128kl xmm22,\[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 cc 7e 08 df b4 87 23 01 00 00[ ]+aesdec256kl xmm22,\[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 dc 7e 08 d8 8c 87 23 01 00 00[ ]+aesdecwide128kl[ ]+\[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 dc 7e 08 d8 9c 87 23 01 00 00[ ]+aesdecwide256kl[ ]+\[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 cc 7e 08 dc b4 87 23 01 00 00[ ]+aesenc128kl xmm22,\[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 cc 7e 08 de b4 87 23 01 00 00[ ]+aesenc256kl xmm22,\[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 dc 7e 08 d8 84 87 23 01 00 00[ ]+aesencwide128kl[ ]+\[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 dc 7e 08 d8 94 87 23 01 00 00[ ]+aesencwide256kl[ ]+\[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 4c 7f 08 fc 8c 87 23 01 00 00[ ]+aor[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],r25d
+[ ]*[a-f0-9]+:[ ]*62 4c ff 08 fc bc 87 23 01 00 00[ ]+aor[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r31
+[ ]*[a-f0-9]+:[ ]*62 4c 7e 08 fc 8c 87 23 01 00 00[ ]+axor[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],r25d
+[ ]*[a-f0-9]+:[ ]*62 4c fe 08 fc bc 87 23 01 00 00[ ]+axor[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r31
+[ ]*[a-f0-9]+:[ ]*62 72 34 00 f7 d2[ ]+bextr[ ]+r10d,edx,r25d
+[ ]*[a-f0-9]+:[ ]*62 da 34 00 f7 94 87 23 01 00 00[ ]+bextr[ ]+edx,DWORD PTR \[r31\+rax\*4\+0x123\],r25d
+[ ]*[a-f0-9]+:[ ]*62 52 84 00 f7 df[ ]+bextr[ ]+r11,r15,r31
+[ ]*[a-f0-9]+:[ ]*62 5a 84 00 f7 bc 87 23 01 00 00[ ]+bextr[ ]+r15,QWORD PTR \[r31\+rax\*4\+0x123\],r31
+[ ]*[a-f0-9]+:[ ]*62 da 6c 08 f3 d9[ ]+blsi[ ]+edx,r25d
+[ ]*[a-f0-9]+:[ ]*62 da 84 08 f3 df[ ]+blsi[ ]+r15,r31
+[ ]*[a-f0-9]+:[ ]*62 da 34 00 f3 9c 87 23 01 00 00[ ]+blsi[ ]+r25d,DWORD PTR \[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 da 84 00 f3 9c 87 23 01 00 00[ ]+blsi[ ]+r31,QWORD PTR \[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 da 6c 08 f3 d1[ ]+blsmsk[ ]+edx,r25d
+[ ]*[a-f0-9]+:[ ]*62 da 84 08 f3 d7[ ]+blsmsk[ ]+r15,r31
+[ ]*[a-f0-9]+:[ ]*62 da 34 00 f3 94 87 23 01 00 00[ ]+blsmsk[ ]+r25d,DWORD PTR \[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 da 84 00 f3 94 87 23 01 00 00[ ]+blsmsk[ ]+r31,QWORD PTR \[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 da 6c 08 f3 c9[ ]+blsr[ ]+edx,r25d
+[ ]*[a-f0-9]+:[ ]*62 da 84 08 f3 cf[ ]+blsr[ ]+r15,r31
+[ ]*[a-f0-9]+:[ ]*62 da 34 00 f3 8c 87 23 01 00 00[ ]+blsr[ ]+r25d,DWORD PTR \[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 da 84 00 f3 8c 87 23 01 00 00[ ]+blsr[ ]+r31,QWORD PTR \[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 72 34 00 f5 d2[ ]+bzhi[ ]+r10d,edx,r25d
+[ ]*[a-f0-9]+:[ ]*62 da 34 00 f5 94 87 23 01 00 00[ ]+bzhi[ ]+edx,DWORD PTR \[r31\+rax\*4\+0x123\],r25d
+[ ]*[a-f0-9]+:[ ]*62 52 84 00 f5 df[ ]+bzhi[ ]+r11,r15,r31
+[ ]*[a-f0-9]+:[ ]*62 5a 84 00 f5 bc 87 23 01 00 00[ ]+bzhi[ ]+r15,QWORD PTR \[r31\+rax\*4\+0x123\],r31
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 e6 94 87 23 01 00 00[ ]+cmpbexadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e6 bc 87 23 01 00 00[ ]+cmpbexadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 e2 94 87 23 01 00 00[ ]+cmpbxadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e2 bc 87 23 01 00 00[ ]+cmpbxadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 ec 94 87 23 01 00 00[ ]+cmplxadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 ec bc 87 23 01 00 00[ ]+cmplxadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 e7 94 87 23 01 00 00[ ]+cmpnbexadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e7 bc 87 23 01 00 00[ ]+cmpnbexadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 e3 94 87 23 01 00 00[ ]+cmpnbxadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e3 bc 87 23 01 00 00[ ]+cmpnbxadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 ef 94 87 23 01 00 00[ ]+cmpnlexadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 ef bc 87 23 01 00 00[ ]+cmpnlexadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 ed 94 87 23 01 00 00[ ]+cmpnlxadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 ed bc 87 23 01 00 00[ ]+cmpnlxadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 e1 94 87 23 01 00 00[ ]+cmpnoxadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e1 bc 87 23 01 00 00[ ]+cmpnoxadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 eb 94 87 23 01 00 00[ ]+cmpnpxadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 eb bc 87 23 01 00 00[ ]+cmpnpxadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 e9 94 87 23 01 00 00[ ]+cmpnsxadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e9 bc 87 23 01 00 00[ ]+cmpnsxadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 e5 94 87 23 01 00 00[ ]+cmpnzxadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e5 bc 87 23 01 00 00[ ]+cmpnzxadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 e0 94 87 23 01 00 00[ ]+cmpoxadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e0 bc 87 23 01 00 00[ ]+cmpoxadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 ea 94 87 23 01 00 00[ ]+cmppxadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 ea bc 87 23 01 00 00[ ]+cmppxadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 e8 94 87 23 01 00 00[ ]+cmpsxadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e8 bc 87 23 01 00 00[ ]+cmpsxadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 e4 94 87 23 01 00 00[ ]+cmpzxadd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],edx,r25d
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e4 bc 87 23 01 00 00[ ]+cmpzxadd[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r15,r31
+[ ]*[a-f0-9]+:[ ]*62 dc 7e 08 da d1[ ]+encodekey128[ ]+edx,r25d
+[ ]*[a-f0-9]+:[ ]*62 dc 7e 08 db d1[ ]+encodekey256[ ]+edx,r25d
+[ ]*[a-f0-9]+:[ ]*67 62 4c 7f 08 f8 8c 87 23 01 00 00[ ]+enqcmd[ ]+r25d,\[r31d\+eax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 4c 7f 08 f8 bc 87 23 01 00 00[ ]+enqcmd[ ]+r31,\[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*67 62 4c 7e 08 f8 8c 87 23 01 00 00[ ]+enqcmds[ ]+r25d,\[r31d\+eax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 4c 7e 08 f8 bc 87 23 01 00 00[ ]+enqcmds[ ]+r31,\[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 4c fe 08 f0 bc 87 23 01 00 00[ ]+invept[ ]+r31,OWORD PTR \[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 4c fe 08 f2 bc 87 23 01 00 00[ ]+invpcid[ ]+r31,\[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 4c fe 08 f1 bc 87 23 01 00 00[ ]+invvpid[ ]+r31,OWORD PTR \[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 cc fc 08 f1 f7[ ]+crc32[ ]+r22,r31
+[ ]*[a-f0-9]+:[ ]*62 cc fc 08 f1 37[ ]+crc32[ ]+r22,QWORD PTR \[r31\]
+[ ]*[a-f0-9]+:[ ]*62 ec fc 08 f0 cb[ ]+crc32[ ]+r17,r19b
+[ ]*[a-f0-9]+:[ ]*62 ec 7c 08 f0 eb[ ]+crc32[ ]+r21d,r19b
+[ ]*[a-f0-9]+:[ ]*62 fc 7c 08 f0 1b[ ]+crc32[ ]+ebx,BYTE PTR \[r19\]
+[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 f1 ff[ ]+crc32[ ]+r23d,r31d
+[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 f1 3f[ ]+crc32[ ]+r23d,DWORD PTR \[r31\]
+[ ]*[a-f0-9]+:[ ]*62 cc 7d 08 f1 ef[ ]+crc32[ ]+r21d,r31w
+[ ]*[a-f0-9]+:[ ]*62 cc 7d 08 f1 2f[ ]+crc32[ ]+r21d,WORD PTR \[r31\]
+[ ]*[a-f0-9]+:[ ]*62 e4 fc 08 f1 d0[ ]+crc32[ ]+r18,rax
+[ ]*[a-f0-9]+:[ ]*c5 f9 90 eb[ ]+kmovb[ ]+k5,k3
+[ ]*[a-f0-9]+:[ ]*62 61 7d 08 93 cd[ ]+kmovb[ ]+r25d,k5
+[ ]*[a-f0-9]+:[ ]*62 d9 7d 08 91 ac 87 23 01 00 00[ ]+kmovb[ ]+BYTE PTR \[r31\+rax\*4\+0x123\],k5
+[ ]*[a-f0-9]+:[ ]*62 d9 7d 08 92 e9[ ]+kmovb[ ]+k5,r25d
+[ ]*[a-f0-9]+:[ ]*62 d9 7d 08 90 ac 87 23 01 00 00[ ]+kmovb[ ]+k5,BYTE PTR \[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 90 eb[ ]+kmovd[ ]+k5,k3
+[ ]*[a-f0-9]+:[ ]*62 61 7f 08 93 cd[ ]+kmovd[ ]+r25d,k5
+[ ]*[a-f0-9]+:[ ]*62 d9 fd 08 91 ac 87 23 01 00 00[ ]+kmovd[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],k5
+[ ]*[a-f0-9]+:[ ]*62 d9 7f 08 92 e9[ ]+kmovd[ ]+k5,r25d
+[ ]*[a-f0-9]+:[ ]*62 d9 fd 08 90 ac 87 23 01 00 00[ ]+kmovd[ ]+k5,DWORD PTR \[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 90 eb[ ]+kmovq[ ]+k5,k3
+[ ]*[a-f0-9]+:[ ]*62 61 ff 08 93 fd[ ]+kmovq[ ]+r31,k5
+[ ]*[a-f0-9]+:[ ]*62 d9 fc 08 91 ac 87 23 01 00 00[ ]+kmovq[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],k5
+[ ]*[a-f0-9]+:[ ]*62 d9 ff 08 92 ef[ ]+kmovq[ ]+k5,r31
+[ ]*[a-f0-9]+:[ ]*62 d9 fc 08 90 ac 87 23 01 00 00[ ]+kmovq[ ]+k5,QWORD PTR \[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*c5 f8 90 eb[ ]+kmovw[ ]+k5,k3
+[ ]*[a-f0-9]+:[ ]*62 61 7c 08 93 cd[ ]+kmovw[ ]+r25d,k5
+[ ]*[a-f0-9]+:[ ]*62 d9 7c 08 91 ac 87 23 01 00 00[ ]+kmovw[ ]+WORD PTR \[r31\+rax\*4\+0x123\],k5
+[ ]*[a-f0-9]+:[ ]*62 d9 7c 08 92 e9[ ]+kmovw[ ]+k5,r25d
+[ ]*[a-f0-9]+:[ ]*62 d9 7c 08 90 ac 87 23 01 00 00[ ]+kmovw[ ]+k5,WORD PTR \[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 da 7c 08 49 84 87 23 01 00 00[ ]+ldtilecfg[ ]+\[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 fc 7d 08 60 c2[ ]+movbe[ ]+ax,r18w
+[ ]*[a-f0-9]+:[ ]*62 ec 7d 08 61 94 80 23 01 00 00[ ]+movbe[ ]+WORD PTR \[r16\+rax\*4\+0x123\],r18w
+[ ]*[a-f0-9]+:[ ]*62 cc 7d 08 61 94 87 23 01 00 00[ ]+movbe[ ]+WORD PTR \[r31\+rax\*4\+0x123\],r18w
+[ ]*[a-f0-9]+:[ ]*62 dc 7c 08 60 d1[ ]+movbe[ ]+edx,r25d
+[ ]*[a-f0-9]+:[ ]*62 6c 7c 08 61 8c 80 23 01 00 00[ ]+movbe[ ]+DWORD PTR \[r16\+rax\*4\+0x123\],r25d
+[ ]*[a-f0-9]+:[ ]*62 5c fc 08 60 ff[ ]+movbe[ ]+r15,r31
+[ ]*[a-f0-9]+:[ ]*62 6c fc 08 61 bc 80 23 01 00 00[ ]+movbe[ ]+QWORD PTR \[r16\+rax\*4\+0x123\],r31
+[ ]*[a-f0-9]+:[ ]*62 4c fc 08 61 bc 87 23 01 00 00[ ]+movbe[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r31
+[ ]*[a-f0-9]+:[ ]*62 6c fc 08 60 bc 80 23 01 00 00[ ]+movbe[ ]+r31,QWORD PTR \[r16\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 cc 7d 08 60 94 87 23 01 00 00[ ]+movbe[ ]+r18w,WORD PTR \[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 4c 7c 08 60 8c 87 23 01 00 00[ ]+movbe[ ]+r25d,DWORD PTR \[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*67 62 4c 7d 08 f8 8c 87 23 01 00 00[ ]+movdir64b[ ]+r25d,\[r31d\+eax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 4c 7d 08 f8 bc 87 23 01 00 00[ ]+movdir64b[ ]+r31,\[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 4c 7c 08 f9 8c 87 23 01 00 00[ ]+movdiri[ ]+DWORD PTR \[r31\+rax\*4\+0x123\],r25d
+[ ]*[a-f0-9]+:[ ]*62 4c fc 08 f9 bc 87 23 01 00 00[ ]+movdiri[ ]+QWORD PTR \[r31\+rax\*4\+0x123\],r31
+[ ]*[a-f0-9]+:[ ]*62 5a 6f 08 f5 d1[ ]+pdep[ ]+r10d,edx,r25d
+[ ]*[a-f0-9]+:[ ]*62 5a 87 08 f5 df[ ]+pdep[ ]+r11,r15,r31
+[ ]*[a-f0-9]+:[ ]*62 da 37 00 f5 94 87 23 01 00 00[ ]+pdep[ ]+edx,r25d,DWORD PTR \[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 5a 87 00 f5 bc 87 23 01 00 00[ ]+pdep[ ]+r15,r31,QWORD PTR \[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 5a 6e 08 f5 d1[ ]+pext[ ]+r10d,edx,r25d
+[ ]*[a-f0-9]+:[ ]*62 5a 86 08 f5 df[ ]+pext[ ]+r11,r15,r31
+[ ]*[a-f0-9]+:[ ]*62 da 36 00 f5 94 87 23 01 00 00[ ]+pext[ ]+edx,r25d,DWORD PTR \[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 5a 86 00 f5 bc 87 23 01 00 00[ ]+pext[ ]+r15,r31,QWORD PTR \[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 a4 7c 08 d9 f7[ ]+sha1msg1 xmm22,xmm23
+[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 d9 b4 87 23 01 00 00[ ]+sha1msg1 xmm22,XMMWORD PTR \[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 a4 7c 08 da f7[ ]+sha1msg2 xmm22,xmm23
+[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 da b4 87 23 01 00 00[ ]+sha1msg2 xmm22,XMMWORD PTR \[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 a4 7c 08 d8 f7[ ]+sha1nexte xmm22,xmm23
+[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 d8 b4 87 23 01 00 00[ ]+sha1nexte xmm22,XMMWORD PTR \[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 a4 7c 08 d4 f7 7b[ ]+sha1rnds4 xmm22,xmm23,0x7b
+[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 d4 b4 87 23 01 00 00 7b[ ]+sha1rnds4 xmm22,XMMWORD PTR \[r31\+rax\*4\+0x123\],0x7b
+[ ]*[a-f0-9]+:[ ]*62 a4 7c 08 dc f7[ ]+sha256msg1 xmm22,xmm23
+[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 dc b4 87 23 01 00 00[ ]+sha256msg1 xmm22,XMMWORD PTR \[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 a4 7c 08 dd f7[ ]+sha256msg2 xmm22,xmm23
+[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 dd b4 87 23 01 00 00[ ]+sha256msg2 xmm22,XMMWORD PTR \[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 5c 7c 08 db a4 87 23 01 00 00[ ]+sha256rnds2 xmm12,XMMWORD PTR \[r31\+rax\*4\+0x123\],xmm0
+[ ]*[a-f0-9]+:[ ]*62 72 35 00 f7 d2[ ]+shlx[ ]+r10d,edx,r25d
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 f7 94 87 23 01 00 00[ ]+shlx[ ]+edx,DWORD PTR \[r31\+rax\*4\+0x123\],r25d
+[ ]*[a-f0-9]+:[ ]*62 52 85 00 f7 df[ ]+shlx[ ]+r11,r15,r31
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 f7 bc 87 23 01 00 00[ ]+shlx[ ]+r15,QWORD PTR \[r31\+rax\*4\+0x123\],r31
+[ ]*[a-f0-9]+:[ ]*62 72 37 00 f7 d2[ ]+shrx[ ]+r10d,edx,r25d
+[ ]*[a-f0-9]+:[ ]*62 da 37 00 f7 94 87 23 01 00 00[ ]+shrx[ ]+edx,DWORD PTR \[r31\+rax\*4\+0x123\],r25d
+[ ]*[a-f0-9]+:[ ]*62 52 87 00 f7 df[ ]+shrx[ ]+r11,r15,r31
+[ ]*[a-f0-9]+:[ ]*62 5a 87 00 f7 bc 87 23 01 00 00[ ]+shrx[ ]+r15,QWORD PTR \[r31\+rax\*4\+0x123\],r31
+[ ]*[a-f0-9]+:[ ]*62 da 7d 08 49 84 87 23 01 00 00[ ]+sttilecfg[ ]+\[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 da 7f 08 4b b4 87 23 01 00 00[ ]+tileloadd tmm6,\[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 da 7d 08 4b b4 87 23 01 00 00[ ]+tileloaddt1 tmm6,\[r31\+rax\*4\+0x123\]
+[ ]*[a-f0-9]+:[ ]*62 da 7e 08 4b b4 87 23 01 00 00[ ]+tilestored[ ]+\[r31\+rax\*4\+0x123\],tmm6
+[ ]*[a-f0-9]+:[ ]*62 4c 7c 08 66 8c 87 23 01 00 00[ ]+wrssd[ ]+\[r31\+rax\*4\+0x123\],r25d
+[ ]*[a-f0-9]+:[ ]*62 4c fc 08 66 bc 87 23 01 00 00[ ]+wrssq[ ]+\[r31\+rax\*4\+0x123\],r31
+[ ]*[a-f0-9]+:[ ]*62 4c 7d 08 65 8c 87 23 01 00 00[ ]+wrussd[ ]+\[r31\+rax\*4\+0x123\],r25d
+[ ]*[a-f0-9]+:[ ]*62 4c fd 08 65 bc 87 23 01 00 00[ ]+wrussq[ ]+\[r31\+rax\*4\+0x123\],r31
new file mode 100644
@@ -0,0 +1,326 @@
+#as:
+#objdump: -dw
+#name: x86_64 APX_F EVEX-Promoted insns
+#source: x86-64-apx-evex-promoted.s
+
+.*: +file format .*
+
+Disassembly of section \.text:
+
+0+ <_start>:
+[ ]*[a-f0-9]+:[ ]*62 4c 7c 08 fc 8c 87 23 01 00 00[ ]+aadd[ ]+%r25d,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 4c fc 08 fc bc 87 23 01 00 00[ ]+aadd[ ]+%r31,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 4c 7d 08 fc 8c 87 23 01 00 00[ ]+aand[ ]+%r25d,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 4c fd 08 fc bc 87 23 01 00 00[ ]+aand[ ]+%r31,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 cc 7e 08 dd b4 87 23 01 00 00[ ]+aesdec128kl[ ]+0x123\(%r31,%rax,4\),%xmm22
+[ ]*[a-f0-9]+:[ ]*62 cc 7e 08 df b4 87 23 01 00 00[ ]+aesdec256kl[ ]+0x123\(%r31,%rax,4\),%xmm22
+[ ]*[a-f0-9]+:[ ]*62 dc 7e 08 d8 8c 87 23 01 00 00[ ]+aesdecwide128kl[ ]+0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 dc 7e 08 d8 9c 87 23 01 00 00[ ]+aesdecwide256kl[ ]+0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 cc 7e 08 dc b4 87 23 01 00 00[ ]+aesenc128kl[ ]+0x123\(%r31,%rax,4\),%xmm22
+[ ]*[a-f0-9]+:[ ]*62 cc 7e 08 de b4 87 23 01 00 00[ ]+aesenc256kl[ ]+0x123\(%r31,%rax,4\),%xmm22
+[ ]*[a-f0-9]+:[ ]*62 dc 7e 08 d8 84 87 23 01 00 00[ ]+aesencwide128kl[ ]+0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 dc 7e 08 d8 94 87 23 01 00 00[ ]+aesencwide256kl[ ]+0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 4c 7f 08 fc 8c 87 23 01 00 00[ ]+aor[ ]+%r25d,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 4c ff 08 fc bc 87 23 01 00 00[ ]+aor[ ]+%r31,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 4c 7e 08 fc 8c 87 23 01 00 00[ ]+axor[ ]+%r25d,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 4c fe 08 fc bc 87 23 01 00 00[ ]+axor[ ]+%r31,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 72 34 00 f7 d2[ ]+bextr[ ]+%r25d,%edx,%r10d
+[ ]*[a-f0-9]+:[ ]*62 da 34 00 f7 94 87 23 01 00 00[ ]+bextr[ ]+%r25d,0x123\(%r31,%rax,4\),%edx
+[ ]*[a-f0-9]+:[ ]*62 52 84 00 f7 df[ ]+bextr[ ]+%r31,%r15,%r11
+[ ]*[a-f0-9]+:[ ]*62 5a 84 00 f7 bc 87 23 01 00 00[ ]+bextr[ ]+%r31,0x123\(%r31,%rax,4\),%r15
+[ ]*[a-f0-9]+:[ ]*62 da 6c 08 f3 d9[ ]+blsi[ ]+%r25d,%edx
+[ ]*[a-f0-9]+:[ ]*62 da 84 08 f3 df[ ]+blsi[ ]+%r31,%r15
+[ ]*[a-f0-9]+:[ ]*62 da 34 00 f3 9c 87 23 01 00 00[ ]+blsi[ ]+0x123\(%r31,%rax,4\),%r25d
+[ ]*[a-f0-9]+:[ ]*62 da 84 00 f3 9c 87 23 01 00 00[ ]+blsi[ ]+0x123\(%r31,%rax,4\),%r31
+[ ]*[a-f0-9]+:[ ]*62 da 6c 08 f3 d1[ ]+blsmsk[ ]+%r25d,%edx
+[ ]*[a-f0-9]+:[ ]*62 da 84 08 f3 d7[ ]+blsmsk[ ]+%r31,%r15
+[ ]*[a-f0-9]+:[ ]*62 da 34 00 f3 94 87 23 01 00 00[ ]+blsmsk[ ]+0x123\(%r31,%rax,4\),%r25d
+[ ]*[a-f0-9]+:[ ]*62 da 84 00 f3 94 87 23 01 00 00[ ]+blsmsk[ ]+0x123\(%r31,%rax,4\),%r31
+[ ]*[a-f0-9]+:[ ]*62 da 6c 08 f3 c9[ ]+blsr[ ]+%r25d,%edx
+[ ]*[a-f0-9]+:[ ]*62 da 84 08 f3 cf[ ]+blsr[ ]+%r31,%r15
+[ ]*[a-f0-9]+:[ ]*62 da 34 00 f3 8c 87 23 01 00 00[ ]+blsr[ ]+0x123\(%r31,%rax,4\),%r25d
+[ ]*[a-f0-9]+:[ ]*62 da 84 00 f3 8c 87 23 01 00 00[ ]+blsr[ ]+0x123\(%r31,%rax,4\),%r31
+[ ]*[a-f0-9]+:[ ]*62 72 34 00 f5 d2[ ]+bzhi[ ]+%r25d,%edx,%r10d
+[ ]*[a-f0-9]+:[ ]*62 da 34 00 f5 94 87 23 01 00 00[ ]+bzhi[ ]+%r25d,0x123\(%r31,%rax,4\),%edx
+[ ]*[a-f0-9]+:[ ]*62 52 84 00 f5 df[ ]+bzhi[ ]+%r31,%r15,%r11
+[ ]*[a-f0-9]+:[ ]*62 5a 84 00 f5 bc 87 23 01 00 00[ ]+bzhi[ ]+%r31,0x123\(%r31,%rax,4\),%r15
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 e6 94 87 23 01 00 00[ ]+cmpbexadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e6 bc 87 23 01 00 00[ ]+cmpbexadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 e2 94 87 23 01 00 00[ ]+cmpbxadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e2 bc 87 23 01 00 00[ ]+cmpbxadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 ec 94 87 23 01 00 00[ ]+cmplxadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 ec bc 87 23 01 00 00[ ]+cmplxadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 e7 94 87 23 01 00 00[ ]+cmpnbexadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e7 bc 87 23 01 00 00[ ]+cmpnbexadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 e3 94 87 23 01 00 00[ ]+cmpnbxadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e3 bc 87 23 01 00 00[ ]+cmpnbxadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 ef 94 87 23 01 00 00[ ]+cmpnlexadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 ef bc 87 23 01 00 00[ ]+cmpnlexadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 ed 94 87 23 01 00 00[ ]+cmpnlxadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 ed bc 87 23 01 00 00[ ]+cmpnlxadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 e1 94 87 23 01 00 00[ ]+cmpnoxadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e1 bc 87 23 01 00 00[ ]+cmpnoxadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 eb 94 87 23 01 00 00[ ]+cmpnpxadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 eb bc 87 23 01 00 00[ ]+cmpnpxadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 e9 94 87 23 01 00 00[ ]+cmpnsxadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e9 bc 87 23 01 00 00[ ]+cmpnsxadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 e5 94 87 23 01 00 00[ ]+cmpnzxadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e5 bc 87 23 01 00 00[ ]+cmpnzxadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 e0 94 87 23 01 00 00[ ]+cmpoxadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e0 bc 87 23 01 00 00[ ]+cmpoxadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 ea 94 87 23 01 00 00[ ]+cmppxadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 ea bc 87 23 01 00 00[ ]+cmppxadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 e8 94 87 23 01 00 00[ ]+cmpsxadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e8 bc 87 23 01 00 00[ ]+cmpsxadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 e4 94 87 23 01 00 00[ ]+cmpzxadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e4 bc 87 23 01 00 00[ ]+cmpzxadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 dc 7e 08 da d1[ ]+encodekey128[ ]+%r25d,%edx
+[ ]*[a-f0-9]+:[ ]*62 dc 7e 08 db d1[ ]+encodekey256[ ]+%r25d,%edx
+[ ]*[a-f0-9]+:[ ]*67 62 4c 7f 08 f8 8c 87 23 01 00 00[ ]+enqcmd[ ]+0x123\(%r31d,%eax,4\),%r25d
+[ ]*[a-f0-9]+:[ ]*62 4c 7f 08 f8 bc 87 23 01 00 00[ ]+enqcmd[ ]+0x123\(%r31,%rax,4\),%r31
+[ ]*[a-f0-9]+:[ ]*67 62 4c 7e 08 f8 8c 87 23 01 00 00[ ]+enqcmds[ ]+0x123\(%r31d,%eax,4\),%r25d
+[ ]*[a-f0-9]+:[ ]*62 4c 7e 08 f8 bc 87 23 01 00 00[ ]+enqcmds[ ]+0x123\(%r31,%rax,4\),%r31
+[ ]*[a-f0-9]+:[ ]*62 4c fe 08 f0 bc 87 23 01 00 00[ ]+invept[ ]+0x123\(%r31,%rax,4\),%r31
+[ ]*[a-f0-9]+:[ ]*62 4c fe 08 f2 bc 87 23 01 00 00[ ]+invpcid[ ]+0x123\(%r31,%rax,4\),%r31
+[ ]*[a-f0-9]+:[ ]*62 4c fe 08 f1 bc 87 23 01 00 00[ ]+invvpid[ ]+0x123\(%r31,%rax,4\),%r31
+[ ]*[a-f0-9]+:[ ]*62 cc fc 08 f1 f7[ ]+crc32 %r31,%r22
+[ ]*[a-f0-9]+:[ ]*62 cc fc 08 f1 37[ ]+crc32q \(%r31\),%r22
+[ ]*[a-f0-9]+:[ ]*62 ec fc 08 f0 cb[ ]+crc32 %r19b,%r17
+[ ]*[a-f0-9]+:[ ]*62 ec 7c 08 f0 eb[ ]+crc32 %r19b,%r21d
+[ ]*[a-f0-9]+:[ ]*62 fc 7c 08 f0 1b[ ]+crc32b \(%r19\),%ebx
+[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 f1 ff[ ]+crc32 %r31d,%r23d
+[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 f1 3f[ ]+crc32l \(%r31\),%r23d
+[ ]*[a-f0-9]+:[ ]*62 cc 7d 08 f1 ef[ ]+crc32 %r31w,%r21d
+[ ]*[a-f0-9]+:[ ]*62 cc 7d 08 f1 2f[ ]+crc32w \(%r31\),%r21d
+[ ]*[a-f0-9]+:[ ]*62 e4 fc 08 f1 d0[ ]+crc32 %rax,%r18
+[ ]*[a-f0-9]+:[ ]*c5 f9 90 eb[ ]+kmovb[ ]+%k3,%k5
+[ ]*[a-f0-9]+:[ ]*62 61 7d 08 93 cd[ ]+kmovb[ ]+%k5,%r25d
+[ ]*[a-f0-9]+:[ ]*62 d9 7d 08 91 ac 87 23 01 00 00[ ]+kmovb[ ]+%k5,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 d9 7d 08 92 e9[ ]+kmovb[ ]+%r25d,%k5
+[ ]*[a-f0-9]+:[ ]*62 d9 7d 08 90 ac 87 23 01 00 00[ ]+kmovb[ ]+0x123\(%r31,%rax,4\),%k5
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 90 eb[ ]+kmovd[ ]+%k3,%k5
+[ ]*[a-f0-9]+:[ ]*62 61 7f 08 93 cd[ ]+kmovd[ ]+%k5,%r25d
+[ ]*[a-f0-9]+:[ ]*62 d9 fd 08 91 ac 87 23 01 00 00[ ]+kmovd[ ]+%k5,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 d9 7f 08 92 e9[ ]+kmovd[ ]+%r25d,%k5
+[ ]*[a-f0-9]+:[ ]*62 d9 fd 08 90 ac 87 23 01 00 00[ ]+kmovd[ ]+0x123\(%r31,%rax,4\),%k5
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 90 eb[ ]+kmovq[ ]+%k3,%k5
+[ ]*[a-f0-9]+:[ ]*62 61 ff 08 93 fd[ ]+kmovq[ ]+%k5,%r31
+[ ]*[a-f0-9]+:[ ]*62 d9 fc 08 91 ac 87 23 01 00 00[ ]+kmovq[ ]+%k5,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 d9 ff 08 92 ef[ ]+kmovq[ ]+%r31,%k5
+[ ]*[a-f0-9]+:[ ]*62 d9 fc 08 90 ac 87 23 01 00 00[ ]+kmovq[ ]+0x123\(%r31,%rax,4\),%k5
+[ ]*[a-f0-9]+:[ ]*c5 f8 90 eb[ ]+kmovw[ ]+%k3,%k5
+[ ]*[a-f0-9]+:[ ]*62 61 7c 08 93 cd[ ]+kmovw[ ]+%k5,%r25d
+[ ]*[a-f0-9]+:[ ]*62 d9 7c 08 91 ac 87 23 01 00 00[ ]+kmovw[ ]+%k5,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 d9 7c 08 92 e9[ ]+kmovw[ ]+%r25d,%k5
+[ ]*[a-f0-9]+:[ ]*62 d9 7c 08 90 ac 87 23 01 00 00[ ]+kmovw[ ]+0x123\(%r31,%rax,4\),%k5
+[ ]*[a-f0-9]+:[ ]*62 da 7c 08 49 84 87 23 01 00 00[ ]+ldtilecfg[ ]+0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 fc 7d 08 60 c2[ ]+movbe[ ]+%r18w,%ax
+[ ]*[a-f0-9]+:[ ]*62 ec 7d 08 61 94 80 23 01 00 00[ ]+movbe[ ]+%r18w,0x123\(%r16,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 cc 7d 08 61 94 87 23 01 00 00[ ]+movbe[ ]+%r18w,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 dc 7c 08 60 d1[ ]+movbe[ ]+%r25d,%edx
+[ ]*[a-f0-9]+:[ ]*62 6c 7c 08 61 8c 80 23 01 00 00[ ]+movbe[ ]+%r25d,0x123\(%r16,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 5c fc 08 60 ff[ ]+movbe[ ]+%r31,%r15
+[ ]*[a-f0-9]+:[ ]*62 6c fc 08 61 bc 80 23 01 00 00[ ]+movbe[ ]+%r31,0x123\(%r16,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 4c fc 08 61 bc 87 23 01 00 00[ ]+movbe[ ]+%r31,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 6c fc 08 60 bc 80 23 01 00 00[ ]+movbe[ ]+0x123\(%r16,%rax,4\),%r31
+[ ]*[a-f0-9]+:[ ]*62 cc 7d 08 60 94 87 23 01 00 00[ ]+movbe[ ]+0x123\(%r31,%rax,4\),%r18w
+[ ]*[a-f0-9]+:[ ]*62 4c 7c 08 60 8c 87 23 01 00 00[ ]+movbe[ ]+0x123\(%r31,%rax,4\),%r25d
+[ ]*[a-f0-9]+:[ ]*67 62 4c 7d 08 f8 8c 87 23 01 00 00[ ]+movdir64b[ ]+0x123\(%r31d,%eax,4\),%r25d
+[ ]*[a-f0-9]+:[ ]*62 4c 7d 08 f8 bc 87 23 01 00 00[ ]+movdir64b[ ]+0x123\(%r31,%rax,4\),%r31
+[ ]*[a-f0-9]+:[ ]*62 4c 7c 08 f9 8c 87 23 01 00 00[ ]+movdiri[ ]+%r25d,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 4c fc 08 f9 bc 87 23 01 00 00[ ]+movdiri[ ]+%r31,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 5a 6f 08 f5 d1[ ]+pdep[ ]+%r25d,%edx,%r10d
+[ ]*[a-f0-9]+:[ ]*62 5a 87 08 f5 df[ ]+pdep[ ]+%r31,%r15,%r11
+[ ]*[a-f0-9]+:[ ]*62 da 37 00 f5 94 87 23 01 00 00[ ]+pdep[ ]+0x123\(%r31,%rax,4\),%r25d,%edx
+[ ]*[a-f0-9]+:[ ]*62 5a 87 00 f5 bc 87 23 01 00 00[ ]+pdep[ ]+0x123\(%r31,%rax,4\),%r31,%r15
+[ ]*[a-f0-9]+:[ ]*62 5a 6e 08 f5 d1[ ]+pext[ ]+%r25d,%edx,%r10d
+[ ]*[a-f0-9]+:[ ]*62 5a 86 08 f5 df[ ]+pext[ ]+%r31,%r15,%r11
+[ ]*[a-f0-9]+:[ ]*62 da 36 00 f5 94 87 23 01 00 00[ ]+pext[ ]+0x123\(%r31,%rax,4\),%r25d,%edx
+[ ]*[a-f0-9]+:[ ]*62 5a 86 00 f5 bc 87 23 01 00 00[ ]+pext[ ]+0x123\(%r31,%rax,4\),%r31,%r15
+[ ]*[a-f0-9]+:[ ]*62 a4 7c 08 d9 f7[ ]+sha1msg1[ ]+%xmm23,%xmm22
+[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 d9 b4 87 23 01 00 00[ ]+sha1msg1[ ]+0x123\(%r31,%rax,4\),%xmm22
+[ ]*[a-f0-9]+:[ ]*62 a4 7c 08 da f7[ ]+sha1msg2[ ]+%xmm23,%xmm22
+[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 da b4 87 23 01 00 00[ ]+sha1msg2[ ]+0x123\(%r31,%rax,4\),%xmm22
+[ ]*[a-f0-9]+:[ ]*62 a4 7c 08 d8 f7[ ]+sha1nexte[ ]+%xmm23,%xmm22
+[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 d8 b4 87 23 01 00 00[ ]+sha1nexte[ ]+0x123\(%r31,%rax,4\),%xmm22
+[ ]*[a-f0-9]+:[ ]*62 a4 7c 08 d4 f7 7b[ ]+sha1rnds4[ ]+\$0x7b,%xmm23,%xmm22
+[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 d4 b4 87 23 01 00 00 7b[ ]+sha1rnds4[ ]+\$0x7b,0x123\(%r31,%rax,4\),%xmm22
+[ ]*[a-f0-9]+:[ ]*62 a4 7c 08 dc f7[ ]+sha256msg1[ ]+%xmm23,%xmm22
+[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 dc b4 87 23 01 00 00[ ]+sha256msg1[ ]+0x123\(%r31,%rax,4\),%xmm22
+[ ]*[a-f0-9]+:[ ]*62 a4 7c 08 dd f7[ ]+sha256msg2[ ]+%xmm23,%xmm22
+[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 dd b4 87 23 01 00 00[ ]+sha256msg2[ ]+0x123\(%r31,%rax,4\),%xmm22
+[ ]*[a-f0-9]+:[ ]*62 5c 7c 08 db a4 87 23 01 00 00[ ]+sha256rnds2[ ]+%xmm0,0x123\(%r31,%rax,4\),%xmm12
+[ ]*[a-f0-9]+:[ ]*62 72 35 00 f7 d2[ ]+shlx[ ]+%r25d,%edx,%r10d
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 f7 94 87 23 01 00 00[ ]+shlx[ ]+%r25d,0x123\(%r31,%rax,4\),%edx
+[ ]*[a-f0-9]+:[ ]*62 52 85 00 f7 df[ ]+shlx[ ]+%r31,%r15,%r11
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 f7 bc 87 23 01 00 00[ ]+shlx[ ]+%r31,0x123\(%r31,%rax,4\),%r15
+[ ]*[a-f0-9]+:[ ]*62 72 37 00 f7 d2[ ]+shrx[ ]+%r25d,%edx,%r10d
+[ ]*[a-f0-9]+:[ ]*62 da 37 00 f7 94 87 23 01 00 00[ ]+shrx[ ]+%r25d,0x123\(%r31,%rax,4\),%edx
+[ ]*[a-f0-9]+:[ ]*62 52 87 00 f7 df[ ]+shrx[ ]+%r31,%r15,%r11
+[ ]*[a-f0-9]+:[ ]*62 5a 87 00 f7 bc 87 23 01 00 00[ ]+shrx[ ]+%r31,0x123\(%r31,%rax,4\),%r15
+[ ]*[a-f0-9]+:[ ]*62 da 7d 08 49 84 87 23 01 00 00[ ]+sttilecfg[ ]+0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 da 7f 08 4b b4 87 23 01 00 00[ ]+tileloadd[ ]+0x123\(%r31,%rax,4\),%tmm6
+[ ]*[a-f0-9]+:[ ]*62 da 7d 08 4b b4 87 23 01 00 00[ ]+tileloaddt1[ ]+0x123\(%r31,%rax,4\),%tmm6
+[ ]*[a-f0-9]+:[ ]*62 da 7e 08 4b b4 87 23 01 00 00[ ]+tilestored[ ]+%tmm6,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 4c 7c 08 66 8c 87 23 01 00 00[ ]+wrssd[ ]+%r25d,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 4c fc 08 66 bc 87 23 01 00 00[ ]+wrssq[ ]+%r31,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 4c 7d 08 65 8c 87 23 01 00 00[ ]+wrussd[ ]+%r25d,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 4c fd 08 65 bc 87 23 01 00 00[ ]+wrussq[ ]+%r31,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 4c 7c 08 fc 8c 87 23 01 00 00[ ]+aadd[ ]+%r25d,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 4c fc 08 fc bc 87 23 01 00 00[ ]+aadd[ ]+%r31,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 4c 7d 08 fc 8c 87 23 01 00 00[ ]+aand[ ]+%r25d,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 4c fd 08 fc bc 87 23 01 00 00[ ]+aand[ ]+%r31,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 cc 7e 08 dd b4 87 23 01 00 00[ ]+aesdec128kl[ ]+0x123\(%r31,%rax,4\),%xmm22
+[ ]*[a-f0-9]+:[ ]*62 cc 7e 08 df b4 87 23 01 00 00[ ]+aesdec256kl[ ]+0x123\(%r31,%rax,4\),%xmm22
+[ ]*[a-f0-9]+:[ ]*62 dc 7e 08 d8 8c 87 23 01 00 00[ ]+aesdecwide128kl[ ]+0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 dc 7e 08 d8 9c 87 23 01 00 00[ ]+aesdecwide256kl[ ]+0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 cc 7e 08 dc b4 87 23 01 00 00[ ]+aesenc128kl[ ]+0x123\(%r31,%rax,4\),%xmm22
+[ ]*[a-f0-9]+:[ ]*62 cc 7e 08 de b4 87 23 01 00 00[ ]+aesenc256kl[ ]+0x123\(%r31,%rax,4\),%xmm22
+[ ]*[a-f0-9]+:[ ]*62 dc 7e 08 d8 84 87 23 01 00 00[ ]+aesencwide128kl[ ]+0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 dc 7e 08 d8 94 87 23 01 00 00[ ]+aesencwide256kl[ ]+0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 4c 7f 08 fc 8c 87 23 01 00 00[ ]+aor[ ]+%r25d,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 4c ff 08 fc bc 87 23 01 00 00[ ]+aor[ ]+%r31,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 4c 7e 08 fc 8c 87 23 01 00 00[ ]+axor[ ]+%r25d,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 4c fe 08 fc bc 87 23 01 00 00[ ]+axor[ ]+%r31,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 72 34 00 f7 d2[ ]+bextr[ ]+%r25d,%edx,%r10d
+[ ]*[a-f0-9]+:[ ]*62 da 34 00 f7 94 87 23 01 00 00[ ]+bextr[ ]+%r25d,0x123\(%r31,%rax,4\),%edx
+[ ]*[a-f0-9]+:[ ]*62 52 84 00 f7 df[ ]+bextr[ ]+%r31,%r15,%r11
+[ ]*[a-f0-9]+:[ ]*62 5a 84 00 f7 bc 87 23 01 00 00[ ]+bextr[ ]+%r31,0x123\(%r31,%rax,4\),%r15
+[ ]*[a-f0-9]+:[ ]*62 da 6c 08 f3 d9[ ]+blsi[ ]+%r25d,%edx
+[ ]*[a-f0-9]+:[ ]*62 da 84 08 f3 df[ ]+blsi[ ]+%r31,%r15
+[ ]*[a-f0-9]+:[ ]*62 da 34 00 f3 9c 87 23 01 00 00[ ]+blsi[ ]+0x123\(%r31,%rax,4\),%r25d
+[ ]*[a-f0-9]+:[ ]*62 da 84 00 f3 9c 87 23 01 00 00[ ]+blsi[ ]+0x123\(%r31,%rax,4\),%r31
+[ ]*[a-f0-9]+:[ ]*62 da 6c 08 f3 d1[ ]+blsmsk[ ]+%r25d,%edx
+[ ]*[a-f0-9]+:[ ]*62 da 84 08 f3 d7[ ]+blsmsk[ ]+%r31,%r15
+[ ]*[a-f0-9]+:[ ]*62 da 34 00 f3 94 87 23 01 00 00[ ]+blsmsk[ ]+0x123\(%r31,%rax,4\),%r25d
+[ ]*[a-f0-9]+:[ ]*62 da 84 00 f3 94 87 23 01 00 00[ ]+blsmsk[ ]+0x123\(%r31,%rax,4\),%r31
+[ ]*[a-f0-9]+:[ ]*62 da 6c 08 f3 c9[ ]+blsr[ ]+%r25d,%edx
+[ ]*[a-f0-9]+:[ ]*62 da 84 08 f3 cf[ ]+blsr[ ]+%r31,%r15
+[ ]*[a-f0-9]+:[ ]*62 da 34 00 f3 8c 87 23 01 00 00[ ]+blsr[ ]+0x123\(%r31,%rax,4\),%r25d
+[ ]*[a-f0-9]+:[ ]*62 da 84 00 f3 8c 87 23 01 00 00[ ]+blsr[ ]+0x123\(%r31,%rax,4\),%r31
+[ ]*[a-f0-9]+:[ ]*62 72 34 00 f5 d2[ ]+bzhi[ ]+%r25d,%edx,%r10d
+[ ]*[a-f0-9]+:[ ]*62 da 34 00 f5 94 87 23 01 00 00[ ]+bzhi[ ]+%r25d,0x123\(%r31,%rax,4\),%edx
+[ ]*[a-f0-9]+:[ ]*62 52 84 00 f5 df[ ]+bzhi[ ]+%r31,%r15,%r11
+[ ]*[a-f0-9]+:[ ]*62 5a 84 00 f5 bc 87 23 01 00 00[ ]+bzhi[ ]+%r31,0x123\(%r31,%rax,4\),%r15
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 e6 94 87 23 01 00 00[ ]+cmpbexadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e6 bc 87 23 01 00 00[ ]+cmpbexadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 e2 94 87 23 01 00 00[ ]+cmpbxadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e2 bc 87 23 01 00 00[ ]+cmpbxadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 ec 94 87 23 01 00 00[ ]+cmplxadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 ec bc 87 23 01 00 00[ ]+cmplxadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 e7 94 87 23 01 00 00[ ]+cmpnbexadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e7 bc 87 23 01 00 00[ ]+cmpnbexadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 e3 94 87 23 01 00 00[ ]+cmpnbxadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e3 bc 87 23 01 00 00[ ]+cmpnbxadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 ef 94 87 23 01 00 00[ ]+cmpnlexadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 ef bc 87 23 01 00 00[ ]+cmpnlexadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 ed 94 87 23 01 00 00[ ]+cmpnlxadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 ed bc 87 23 01 00 00[ ]+cmpnlxadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 e1 94 87 23 01 00 00[ ]+cmpnoxadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e1 bc 87 23 01 00 00[ ]+cmpnoxadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 eb 94 87 23 01 00 00[ ]+cmpnpxadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 eb bc 87 23 01 00 00[ ]+cmpnpxadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 e9 94 87 23 01 00 00[ ]+cmpnsxadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e9 bc 87 23 01 00 00[ ]+cmpnsxadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 e5 94 87 23 01 00 00[ ]+cmpnzxadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e5 bc 87 23 01 00 00[ ]+cmpnzxadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 e0 94 87 23 01 00 00[ ]+cmpoxadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e0 bc 87 23 01 00 00[ ]+cmpoxadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 ea 94 87 23 01 00 00[ ]+cmppxadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 ea bc 87 23 01 00 00[ ]+cmppxadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 e8 94 87 23 01 00 00[ ]+cmpsxadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e8 bc 87 23 01 00 00[ ]+cmpsxadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 e4 94 87 23 01 00 00[ ]+cmpzxadd[ ]+%r25d,%edx,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 e4 bc 87 23 01 00 00[ ]+cmpzxadd[ ]+%r31,%r15,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 dc 7e 08 da d1[ ]+encodekey128[ ]+%r25d,%edx
+[ ]*[a-f0-9]+:[ ]*62 dc 7e 08 db d1[ ]+encodekey256[ ]+%r25d,%edx
+[ ]*[a-f0-9]+:[ ]*67 62 4c 7f 08 f8 8c 87 23 01 00 00[ ]+enqcmd[ ]+0x123\(%r31d,%eax,4\),%r25d
+[ ]*[a-f0-9]+:[ ]*62 4c 7f 08 f8 bc 87 23 01 00 00[ ]+enqcmd[ ]+0x123\(%r31,%rax,4\),%r31
+[ ]*[a-f0-9]+:[ ]*67 62 4c 7e 08 f8 8c 87 23 01 00 00[ ]+enqcmds[ ]+0x123\(%r31d,%eax,4\),%r25d
+[ ]*[a-f0-9]+:[ ]*62 4c 7e 08 f8 bc 87 23 01 00 00[ ]+enqcmds[ ]+0x123\(%r31,%rax,4\),%r31
+[ ]*[a-f0-9]+:[ ]*62 4c fe 08 f0 bc 87 23 01 00 00[ ]+invept[ ]+0x123\(%r31,%rax,4\),%r31
+[ ]*[a-f0-9]+:[ ]*62 4c fe 08 f2 bc 87 23 01 00 00[ ]+invpcid[ ]+0x123\(%r31,%rax,4\),%r31
+[ ]*[a-f0-9]+:[ ]*62 4c fe 08 f1 bc 87 23 01 00 00[ ]+invvpid[ ]+0x123\(%r31,%rax,4\),%r31
+[ ]*[a-f0-9]+:[ ]*62 cc fc 08 f1 f7[ ]+crc32 %r31,%r22
+[ ]*[a-f0-9]+:[ ]*62 cc fc 08 f1 37[ ]+crc32q \(%r31\),%r22
+[ ]*[a-f0-9]+:[ ]*62 ec fc 08 f0 cb[ ]+crc32 %r19b,%r17
+[ ]*[a-f0-9]+:[ ]*62 ec 7c 08 f0 eb[ ]+crc32 %r19b,%r21d
+[ ]*[a-f0-9]+:[ ]*62 fc 7c 08 f0 1b[ ]+crc32b \(%r19\),%ebx
+[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 f1 ff[ ]+crc32 %r31d,%r23d
+[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 f1 3f[ ]+crc32l \(%r31\),%r23d
+[ ]*[a-f0-9]+:[ ]*62 cc 7d 08 f1 ef[ ]+crc32 %r31w,%r21d
+[ ]*[a-f0-9]+:[ ]*62 cc 7d 08 f1 2f[ ]+crc32w \(%r31\),%r21d
+[ ]*[a-f0-9]+:[ ]*62 e4 fc 08 f1 d0[ ]+crc32 %rax,%r18
+[ ]*[a-f0-9]+:[ ]*c5 f9 90 eb[ ]+kmovb[ ]+%k3,%k5
+[ ]*[a-f0-9]+:[ ]*62 61 7d 08 93 cd[ ]+kmovb[ ]+%k5,%r25d
+[ ]*[a-f0-9]+:[ ]*62 d9 7d 08 91 ac 87 23 01 00 00[ ]+kmovb[ ]+%k5,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 d9 7d 08 92 e9[ ]+kmovb[ ]+%r25d,%k5
+[ ]*[a-f0-9]+:[ ]*62 d9 7d 08 90 ac 87 23 01 00 00[ ]+kmovb[ ]+0x123\(%r31,%rax,4\),%k5
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 90 eb[ ]+kmovd[ ]+%k3,%k5
+[ ]*[a-f0-9]+:[ ]*62 61 7f 08 93 cd[ ]+kmovd[ ]+%k5,%r25d
+[ ]*[a-f0-9]+:[ ]*62 d9 fd 08 91 ac 87 23 01 00 00[ ]+kmovd[ ]+%k5,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 d9 7f 08 92 e9[ ]+kmovd[ ]+%r25d,%k5
+[ ]*[a-f0-9]+:[ ]*62 d9 fd 08 90 ac 87 23 01 00 00[ ]+kmovd[ ]+0x123\(%r31,%rax,4\),%k5
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 90 eb[ ]+kmovq[ ]+%k3,%k5
+[ ]*[a-f0-9]+:[ ]*62 61 ff 08 93 fd[ ]+kmovq[ ]+%k5,%r31
+[ ]*[a-f0-9]+:[ ]*62 d9 fc 08 91 ac 87 23 01 00 00[ ]+kmovq[ ]+%k5,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 d9 ff 08 92 ef[ ]+kmovq[ ]+%r31,%k5
+[ ]*[a-f0-9]+:[ ]*62 d9 fc 08 90 ac 87 23 01 00 00[ ]+kmovq[ ]+0x123\(%r31,%rax,4\),%k5
+[ ]*[a-f0-9]+:[ ]*c5 f8 90 eb[ ]+kmovw[ ]+%k3,%k5
+[ ]*[a-f0-9]+:[ ]*62 61 7c 08 93 cd[ ]+kmovw[ ]+%k5,%r25d
+[ ]*[a-f0-9]+:[ ]*62 d9 7c 08 91 ac 87 23 01 00 00[ ]+kmovw[ ]+%k5,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 d9 7c 08 92 e9[ ]+kmovw[ ]+%r25d,%k5
+[ ]*[a-f0-9]+:[ ]*62 d9 7c 08 90 ac 87 23 01 00 00[ ]+kmovw[ ]+0x123\(%r31,%rax,4\),%k5
+[ ]*[a-f0-9]+:[ ]*62 da 7c 08 49 84 87 23 01 00 00[ ]+ldtilecfg[ ]+0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 fc 7d 08 60 c2[ ]+movbe[ ]+%r18w,%ax
+[ ]*[a-f0-9]+:[ ]*62 ec 7d 08 61 94 80 23 01 00 00[ ]+movbe[ ]+%r18w,0x123\(%r16,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 cc 7d 08 61 94 87 23 01 00 00[ ]+movbe[ ]+%r18w,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 dc 7c 08 60 d1[ ]+movbe[ ]+%r25d,%edx
+[ ]*[a-f0-9]+:[ ]*62 6c 7c 08 61 8c 80 23 01 00 00[ ]+movbe[ ]+%r25d,0x123\(%r16,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 5c fc 08 60 ff[ ]+movbe[ ]+%r31,%r15
+[ ]*[a-f0-9]+:[ ]*62 6c fc 08 61 bc 80 23 01 00 00[ ]+movbe[ ]+%r31,0x123\(%r16,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 4c fc 08 61 bc 87 23 01 00 00[ ]+movbe[ ]+%r31,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 6c fc 08 60 bc 80 23 01 00 00[ ]+movbe[ ]+0x123\(%r16,%rax,4\),%r31
+[ ]*[a-f0-9]+:[ ]*62 cc 7d 08 60 94 87 23 01 00 00[ ]+movbe[ ]+0x123\(%r31,%rax,4\),%r18w
+[ ]*[a-f0-9]+:[ ]*62 4c 7c 08 60 8c 87 23 01 00 00[ ]+movbe[ ]+0x123\(%r31,%rax,4\),%r25d
+[ ]*[a-f0-9]+:[ ]*67 62 4c 7d 08 f8 8c 87 23 01 00 00[ ]+movdir64b[ ]+0x123\(%r31d,%eax,4\),%r25d
+[ ]*[a-f0-9]+:[ ]*62 4c 7d 08 f8 bc 87 23 01 00 00[ ]+movdir64b[ ]+0x123\(%r31,%rax,4\),%r31
+[ ]*[a-f0-9]+:[ ]*62 4c 7c 08 f9 8c 87 23 01 00 00[ ]+movdiri[ ]+%r25d,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 4c fc 08 f9 bc 87 23 01 00 00[ ]+movdiri[ ]+%r31,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 5a 6f 08 f5 d1[ ]+pdep[ ]+%r25d,%edx,%r10d
+[ ]*[a-f0-9]+:[ ]*62 5a 87 08 f5 df[ ]+pdep[ ]+%r31,%r15,%r11
+[ ]*[a-f0-9]+:[ ]*62 da 37 00 f5 94 87 23 01 00 00[ ]+pdep[ ]+0x123\(%r31,%rax,4\),%r25d,%edx
+[ ]*[a-f0-9]+:[ ]*62 5a 87 00 f5 bc 87 23 01 00 00[ ]+pdep[ ]+0x123\(%r31,%rax,4\),%r31,%r15
+[ ]*[a-f0-9]+:[ ]*62 5a 6e 08 f5 d1[ ]+pext[ ]+%r25d,%edx,%r10d
+[ ]*[a-f0-9]+:[ ]*62 5a 86 08 f5 df[ ]+pext[ ]+%r31,%r15,%r11
+[ ]*[a-f0-9]+:[ ]*62 da 36 00 f5 94 87 23 01 00 00[ ]+pext[ ]+0x123\(%r31,%rax,4\),%r25d,%edx
+[ ]*[a-f0-9]+:[ ]*62 5a 86 00 f5 bc 87 23 01 00 00[ ]+pext[ ]+0x123\(%r31,%rax,4\),%r31,%r15
+[ ]*[a-f0-9]+:[ ]*62 a4 7c 08 d9 f7[ ]+sha1msg1[ ]+%xmm23,%xmm22
+[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 d9 b4 87 23 01 00 00[ ]+sha1msg1[ ]+0x123\(%r31,%rax,4\),%xmm22
+[ ]*[a-f0-9]+:[ ]*62 a4 7c 08 da f7[ ]+sha1msg2[ ]+%xmm23,%xmm22
+[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 da b4 87 23 01 00 00[ ]+sha1msg2[ ]+0x123\(%r31,%rax,4\),%xmm22
+[ ]*[a-f0-9]+:[ ]*62 a4 7c 08 d8 f7[ ]+sha1nexte[ ]+%xmm23,%xmm22
+[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 d8 b4 87 23 01 00 00[ ]+sha1nexte[ ]+0x123\(%r31,%rax,4\),%xmm22
+[ ]*[a-f0-9]+:[ ]*62 a4 7c 08 d4 f7 7b[ ]+sha1rnds4[ ]+\$0x7b,%xmm23,%xmm22
+[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 d4 b4 87 23 01 00 00 7b[ ]+sha1rnds4[ ]+\$0x7b,0x123\(%r31,%rax,4\),%xmm22
+[ ]*[a-f0-9]+:[ ]*62 a4 7c 08 dc f7[ ]+sha256msg1[ ]+%xmm23,%xmm22
+[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 dc b4 87 23 01 00 00[ ]+sha256msg1[ ]+0x123\(%r31,%rax,4\),%xmm22
+[ ]*[a-f0-9]+:[ ]*62 a4 7c 08 dd f7[ ]+sha256msg2[ ]+%xmm23,%xmm22
+[ ]*[a-f0-9]+:[ ]*62 cc 7c 08 dd b4 87 23 01 00 00[ ]+sha256msg2[ ]+0x123\(%r31,%rax,4\),%xmm22
+[ ]*[a-f0-9]+:[ ]*62 5c 7c 08 db a4 87 23 01 00 00[ ]+sha256rnds2[ ]+%xmm0,0x123\(%r31,%rax,4\),%xmm12
+[ ]*[a-f0-9]+:[ ]*62 72 35 00 f7 d2[ ]+shlx[ ]+%r25d,%edx,%r10d
+[ ]*[a-f0-9]+:[ ]*62 da 35 00 f7 94 87 23 01 00 00[ ]+shlx[ ]+%r25d,0x123\(%r31,%rax,4\),%edx
+[ ]*[a-f0-9]+:[ ]*62 52 85 00 f7 df[ ]+shlx[ ]+%r31,%r15,%r11
+[ ]*[a-f0-9]+:[ ]*62 5a 85 00 f7 bc 87 23 01 00 00[ ]+shlx[ ]+%r31,0x123\(%r31,%rax,4\),%r15
+[ ]*[a-f0-9]+:[ ]*62 72 37 00 f7 d2[ ]+shrx[ ]+%r25d,%edx,%r10d
+[ ]*[a-f0-9]+:[ ]*62 da 37 00 f7 94 87 23 01 00 00[ ]+shrx[ ]+%r25d,0x123\(%r31,%rax,4\),%edx
+[ ]*[a-f0-9]+:[ ]*62 52 87 00 f7 df[ ]+shrx[ ]+%r31,%r15,%r11
+[ ]*[a-f0-9]+:[ ]*62 5a 87 00 f7 bc 87 23 01 00 00[ ]+shrx[ ]+%r31,0x123\(%r31,%rax,4\),%r15
+[ ]*[a-f0-9]+:[ ]*62 da 7d 08 49 84 87 23 01 00 00[ ]+sttilecfg[ ]+0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 da 7f 08 4b b4 87 23 01 00 00[ ]+tileloadd[ ]+0x123\(%r31,%rax,4\),%tmm6
+[ ]*[a-f0-9]+:[ ]*62 da 7d 08 4b b4 87 23 01 00 00[ ]+tileloaddt1[ ]+0x123\(%r31,%rax,4\),%tmm6
+[ ]*[a-f0-9]+:[ ]*62 da 7e 08 4b b4 87 23 01 00 00[ ]+tilestored[ ]+%tmm6,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 4c 7c 08 66 8c 87 23 01 00 00[ ]+wrssd[ ]+%r25d,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 4c fc 08 66 bc 87 23 01 00 00[ ]+wrssq[ ]+%r31,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 4c 7d 08 65 8c 87 23 01 00 00[ ]+wrussd[ ]+%r25d,0x123\(%r31,%rax,4\)
+[ ]*[a-f0-9]+:[ ]*62 4c fd 08 65 bc 87 23 01 00 00[ ]+wrussq[ ]+%r31,0x123\(%r31,%rax,4\)
new file mode 100644
@@ -0,0 +1,322 @@
+# Check 64bit APX_F EVEX-Promoted instructions.
+
+ .text
+_start:
+ aadd %r25d,0x123(%r31,%rax,4)
+ aadd %r31,0x123(%r31,%rax,4)
+ aand %r25d,0x123(%r31,%rax,4)
+ aand %r31,0x123(%r31,%rax,4)
+ aesdec128kl 0x123(%r31,%rax,4),%xmm22
+ aesdec256kl 0x123(%r31,%rax,4),%xmm22
+ aesdecwide128kl 0x123(%r31,%rax,4)
+ aesdecwide256kl 0x123(%r31,%rax,4)
+ aesenc128kl 0x123(%r31,%rax,4),%xmm22
+ aesenc256kl 0x123(%r31,%rax,4),%xmm22
+ aesencwide128kl 0x123(%r31,%rax,4)
+ aesencwide256kl 0x123(%r31,%rax,4)
+ aor %r25d,0x123(%r31,%rax,4)
+ aor %r31,0x123(%r31,%rax,4)
+ axor %r25d,0x123(%r31,%rax,4)
+ axor %r31,0x123(%r31,%rax,4)
+ bextr %r25d,%edx,%r10d
+ bextr %r25d,0x123(%r31,%rax,4),%edx
+ bextr %r31,%r15,%r11
+ bextr %r31,0x123(%r31,%rax,4),%r15
+ blsi %r25d,%edx
+ blsi %r31,%r15
+ blsi 0x123(%r31,%rax,4),%r25d
+ blsi 0x123(%r31,%rax,4),%r31
+ blsmsk %r25d,%edx
+ blsmsk %r31,%r15
+ blsmsk 0x123(%r31,%rax,4),%r25d
+ blsmsk 0x123(%r31,%rax,4),%r31
+ blsr %r25d,%edx
+ blsr %r31,%r15
+ blsr 0x123(%r31,%rax,4),%r25d
+ blsr 0x123(%r31,%rax,4),%r31
+ bzhi %r25d,%edx,%r10d
+ bzhi %r25d,0x123(%r31,%rax,4),%edx
+ bzhi %r31,%r15,%r11
+ bzhi %r31,0x123(%r31,%rax,4),%r15
+ cmpbexadd %r25d,%edx,0x123(%r31,%rax,4)
+ cmpbexadd %r31,%r15,0x123(%r31,%rax,4)
+ cmpbxadd %r25d,%edx,0x123(%r31,%rax,4)
+ cmpbxadd %r31,%r15,0x123(%r31,%rax,4)
+ cmplxadd %r25d,%edx,0x123(%r31,%rax,4)
+ cmplxadd %r31,%r15,0x123(%r31,%rax,4)
+ cmpnbexadd %r25d,%edx,0x123(%r31,%rax,4)
+ cmpnbexadd %r31,%r15,0x123(%r31,%rax,4)
+ cmpnbxadd %r25d,%edx,0x123(%r31,%rax,4)
+ cmpnbxadd %r31,%r15,0x123(%r31,%rax,4)
+ cmpnlexadd %r25d,%edx,0x123(%r31,%rax,4)
+ cmpnlexadd %r31,%r15,0x123(%r31,%rax,4)
+ cmpnlxadd %r25d,%edx,0x123(%r31,%rax,4)
+ cmpnlxadd %r31,%r15,0x123(%r31,%rax,4)
+ cmpnoxadd %r25d,%edx,0x123(%r31,%rax,4)
+ cmpnoxadd %r31,%r15,0x123(%r31,%rax,4)
+ cmpnpxadd %r25d,%edx,0x123(%r31,%rax,4)
+ cmpnpxadd %r31,%r15,0x123(%r31,%rax,4)
+ cmpnsxadd %r25d,%edx,0x123(%r31,%rax,4)
+ cmpnsxadd %r31,%r15,0x123(%r31,%rax,4)
+ cmpnzxadd %r25d,%edx,0x123(%r31,%rax,4)
+ cmpnzxadd %r31,%r15,0x123(%r31,%rax,4)
+ cmpoxadd %r25d,%edx,0x123(%r31,%rax,4)
+ cmpoxadd %r31,%r15,0x123(%r31,%rax,4)
+ cmppxadd %r25d,%edx,0x123(%r31,%rax,4)
+ cmppxadd %r31,%r15,0x123(%r31,%rax,4)
+ cmpsxadd %r25d,%edx,0x123(%r31,%rax,4)
+ cmpsxadd %r31,%r15,0x123(%r31,%rax,4)
+ cmpzxadd %r25d,%edx,0x123(%r31,%rax,4)
+ cmpzxadd %r31,%r15,0x123(%r31,%rax,4)
+ encodekey128 %r25d,%edx
+ encodekey256 %r25d,%edx
+ enqcmd 0x123(%r31d,%eax,4),%r25d
+ enqcmd 0x123(%r31,%rax,4),%r31
+ enqcmds 0x123(%r31d,%eax,4),%r25d
+ enqcmds 0x123(%r31,%rax,4),%r31
+ invept 0x123(%r31,%rax,4),%r31
+ invpcid 0x123(%r31,%rax,4),%r31
+ invvpid 0x123(%r31,%rax,4),%r31
+ crc32q %r31, %r22
+ crc32q (%r31), %r22
+ crc32b %r19b, %r17
+ crc32b %r19b, %r21d
+ crc32b (%r19),%ebx
+ crc32l %r31d, %r23d
+ crc32l (%r31), %r23d
+ crc32w %r31w, %r21d
+ crc32w (%r31),%r21d
+ crc32 %rax, %r18
+ kmovb %k3,%k5
+ kmovb %k5,%r25d
+ kmovb %k5,0x123(%r31,%rax,4)
+ kmovb %r25d,%k5
+ kmovb 0x123(%r31,%rax,4),%k5
+ kmovd %k3,%k5
+ kmovd %k5,%r25d
+ kmovd %k5,0x123(%r31,%rax,4)
+ kmovd %r25d,%k5
+ kmovd 0x123(%r31,%rax,4),%k5
+ kmovq %k3,%k5
+ kmovq %k5,%r31
+ kmovq %k5,0x123(%r31,%rax,4)
+ kmovq %r31,%k5
+ kmovq 0x123(%r31,%rax,4),%k5
+ kmovw %k3,%k5
+ kmovw %k5,%r25d
+ kmovw %k5,0x123(%r31,%rax,4)
+ kmovw %r25d,%k5
+ kmovw 0x123(%r31,%rax,4),%k5
+ ldtilecfg 0x123(%r31,%rax,4)
+ movbe %r18w,%ax
+ movbe %r18w,0x123(%r16,%rax,4)
+ movbe %r18w,0x123(%r31,%rax,4)
+ movbe %r25d,%edx
+ movbe %r25d,0x123(%r16,%rax,4)
+ movbe %r31,%r15
+ movbe %r31,0x123(%r16,%rax,4)
+ movbe %r31,0x123(%r31,%rax,4)
+ movbe 0x123(%r16,%rax,4),%r31
+ movbe 0x123(%r31,%rax,4),%r18w
+ movbe 0x123(%r31,%rax,4),%r25d
+ movdir64b 0x123(%r31d,%eax,4),%r25d
+ movdir64b 0x123(%r31,%rax,4),%r31
+ movdiri %r25d,0x123(%r31,%rax,4)
+ movdiri %r31,0x123(%r31,%rax,4)
+ pdep %r25d,%edx,%r10d
+ pdep %r31,%r15,%r11
+ pdep 0x123(%r31,%rax,4),%r25d,%edx
+ pdep 0x123(%r31,%rax,4),%r31,%r15
+ pext %r25d,%edx,%r10d
+ pext %r31,%r15,%r11
+ pext 0x123(%r31,%rax,4),%r25d,%edx
+ pext 0x123(%r31,%rax,4),%r31,%r15
+ sha1msg1 %xmm23,%xmm22
+ sha1msg1 0x123(%r31,%rax,4),%xmm22
+ sha1msg2 %xmm23,%xmm22
+ sha1msg2 0x123(%r31,%rax,4),%xmm22
+ sha1nexte %xmm23,%xmm22
+ sha1nexte 0x123(%r31,%rax,4),%xmm22
+ sha1rnds4 $0x7b,%xmm23,%xmm22
+ sha1rnds4 $0x7b,0x123(%r31,%rax,4),%xmm22
+ sha256msg1 %xmm23,%xmm22
+ sha256msg1 0x123(%r31,%rax,4),%xmm22
+ sha256msg2 %xmm23,%xmm22
+ sha256msg2 0x123(%r31,%rax,4),%xmm22
+ sha256rnds2 0x123(%r31,%rax,4),%xmm12
+ shlx %r25d,%edx,%r10d
+ shlx %r25d,0x123(%r31,%rax,4),%edx
+ shlx %r31,%r15,%r11
+ shlx %r31,0x123(%r31,%rax,4),%r15
+ shrx %r25d,%edx,%r10d
+ shrx %r25d,0x123(%r31,%rax,4),%edx
+ shrx %r31,%r15,%r11
+ shrx %r31,0x123(%r31,%rax,4),%r15
+ sttilecfg 0x123(%r31,%rax,4)
+ tileloadd 0x123(%r31,%rax,4),%tmm6
+ tileloaddt1 0x123(%r31,%rax,4),%tmm6
+ tilestored %tmm6,0x123(%r31,%rax,4)
+ wrssd %r25d,0x123(%r31,%rax,4)
+ wrssq %r31,0x123(%r31,%rax,4)
+ wrussd %r25d,0x123(%r31,%rax,4)
+ wrussq %r31,0x123(%r31,%rax,4)
+
+.intel_syntax noprefix
+ aadd DWORD PTR [r31+rax*4+0x123],r25d
+ aadd QWORD PTR [r31+rax*4+0x123],r31
+ aand DWORD PTR [r31+rax*4+0x123],r25d
+ aand QWORD PTR [r31+rax*4+0x123],r31
+ aesdec128kl xmm22,[r31+rax*4+0x123]
+ aesdec256kl xmm22,[r31+rax*4+0x123]
+ aesdecwide128kl [r31+rax*4+0x123]
+ aesdecwide256kl [r31+rax*4+0x123]
+ aesenc128kl xmm22,[r31+rax*4+0x123]
+ aesenc256kl xmm22,[r31+rax*4+0x123]
+ aesencwide128kl [r31+rax*4+0x123]
+ aesencwide256kl [r31+rax*4+0x123]
+ aor DWORD PTR [r31+rax*4+0x123],r25d
+ aor QWORD PTR [r31+rax*4+0x123],r31
+ axor DWORD PTR [r31+rax*4+0x123],r25d
+ axor QWORD PTR [r31+rax*4+0x123],r31
+ bextr r10d,edx,r25d
+ bextr edx,DWORD PTR [r31+rax*4+0x123],r25d
+ bextr r11,r15,r31
+ bextr r15,QWORD PTR [r31+rax*4+0x123],r31
+ blsi edx,r25d
+ blsi r15,r31
+ blsi r25d,DWORD PTR [r31+rax*4+0x123]
+ blsi r31,QWORD PTR [r31+rax*4+0x123]
+ blsmsk edx,r25d
+ blsmsk r15,r31
+ blsmsk r25d,DWORD PTR [r31+rax*4+0x123]
+ blsmsk r31,QWORD PTR [r31+rax*4+0x123]
+ blsr edx,r25d
+ blsr r15,r31
+ blsr r25d,DWORD PTR [r31+rax*4+0x123]
+ blsr r31,QWORD PTR [r31+rax*4+0x123]
+ bzhi r10d,edx,r25d
+ bzhi edx,DWORD PTR [r31+rax*4+0x123],r25d
+ bzhi r11,r15,r31
+ bzhi r15,QWORD PTR [r31+rax*4+0x123],r31
+ cmpbexadd DWORD PTR [r31+rax*4+0x123],edx,r25d
+ cmpbexadd QWORD PTR [r31+rax*4+0x123],r15,r31
+ cmpbxadd DWORD PTR [r31+rax*4+0x123],edx,r25d
+ cmpbxadd QWORD PTR [r31+rax*4+0x123],r15,r31
+ cmplxadd DWORD PTR [r31+rax*4+0x123],edx,r25d
+ cmplxadd QWORD PTR [r31+rax*4+0x123],r15,r31
+ cmpnbexadd DWORD PTR [r31+rax*4+0x123],edx,r25d
+ cmpnbexadd QWORD PTR [r31+rax*4+0x123],r15,r31
+ cmpnbxadd DWORD PTR [r31+rax*4+0x123],edx,r25d
+ cmpnbxadd QWORD PTR [r31+rax*4+0x123],r15,r31
+ cmpnlexadd DWORD PTR [r31+rax*4+0x123],edx,r25d
+ cmpnlexadd QWORD PTR [r31+rax*4+0x123],r15,r31
+ cmpnlxadd DWORD PTR [r31+rax*4+0x123],edx,r25d
+ cmpnlxadd QWORD PTR [r31+rax*4+0x123],r15,r31
+ cmpnoxadd DWORD PTR [r31+rax*4+0x123],edx,r25d
+ cmpnoxadd QWORD PTR [r31+rax*4+0x123],r15,r31
+ cmpnpxadd DWORD PTR [r31+rax*4+0x123],edx,r25d
+ cmpnpxadd QWORD PTR [r31+rax*4+0x123],r15,r31
+ cmpnsxadd DWORD PTR [r31+rax*4+0x123],edx,r25d
+ cmpnsxadd QWORD PTR [r31+rax*4+0x123],r15,r31
+ cmpnzxadd DWORD PTR [r31+rax*4+0x123],edx,r25d
+ cmpnzxadd QWORD PTR [r31+rax*4+0x123],r15,r31
+ cmpoxadd DWORD PTR [r31+rax*4+0x123],edx,r25d
+ cmpoxadd QWORD PTR [r31+rax*4+0x123],r15,r31
+ cmppxadd DWORD PTR [r31+rax*4+0x123],edx,r25d
+ cmppxadd QWORD PTR [r31+rax*4+0x123],r15,r31
+ cmpsxadd DWORD PTR [r31+rax*4+0x123],edx,r25d
+ cmpsxadd QWORD PTR [r31+rax*4+0x123],r15,r31
+ cmpzxadd DWORD PTR [r31+rax*4+0x123],edx,r25d
+ cmpzxadd QWORD PTR [r31+rax*4+0x123],r15,r31
+ encodekey128 edx,r25d
+ encodekey256 edx,r25d
+ enqcmd r25d,[r31d+eax*4+0x123]
+ enqcmd r31,[r31+rax*4+0x123]
+ enqcmds r25d,[r31d+eax*4+0x123]
+ enqcmds r31,[r31+rax*4+0x123]
+ invept r31,OWORD PTR [r31+rax*4+0x123]
+ invpcid r31,[r31+rax*4+0x123]
+ invvpid r31,OWORD PTR [r31+rax*4+0x123]
+ crc32 r22,r31
+ crc32 r22,QWORD PTR [r31]
+ crc32 r17,r19b
+ crc32 r21d,r19b
+ crc32 ebx,BYTE PTR [r19]
+ crc32 r23d,r31d
+ crc32 r23d,DWORD PTR [r31]
+ crc32 r21d,r31w
+ crc32 r21d,WORD PTR [r31]
+ crc32 r18,rax
+ kmovb k5,k3
+ kmovb r25d,k5
+ kmovb BYTE PTR [r31+rax*4+0x123],k5
+ kmovb k5,r25d
+ kmovb k5,BYTE PTR [r31+rax*4+0x123]
+ kmovd k5,k3
+ kmovd r25d,k5
+ kmovd DWORD PTR [r31+rax*4+0x123],k5
+ kmovd k5,r25d
+ kmovd k5,DWORD PTR [r31+rax*4+0x123]
+ kmovq k5,k3
+ kmovq r31,k5
+ kmovq QWORD PTR [r31+rax*4+0x123],k5
+ kmovq k5,r31
+ kmovq k5,QWORD PTR [r31+rax*4+0x123]
+ kmovw k5,k3
+ kmovw r25d,k5
+ kmovw WORD PTR [r31+rax*4+0x123],k5
+ kmovw k5,r25d
+ kmovw k5,WORD PTR [r31+rax*4+0x123]
+ ldtilecfg [r31+rax*4+0x123]
+ movbe ax,r18w
+ movbe WORD PTR [r16+rax*4+0x123],r18w
+ movbe WORD PTR [r31+rax*4+0x123],r18w
+ movbe edx,r25d
+ movbe DWORD PTR [r16+rax*4+0x123],r25d
+ movbe r15,r31
+ movbe QWORD PTR [r16+rax*4+0x123],r31
+ movbe QWORD PTR [r31+rax*4+0x123],r31
+ movbe r31,QWORD PTR [r16+rax*4+0x123]
+ movbe r18w,WORD PTR [r31+rax*4+0x123]
+ movbe r25d,DWORD PTR [r31+rax*4+0x123]
+ movdir64b r25d,[r31d+eax*4+0x123]
+ movdir64b r31,[r31+rax*4+0x123]
+ movdiri DWORD PTR [r31+rax*4+0x123],r25d
+ movdiri QWORD PTR [r31+rax*4+0x123],r31
+ pdep r10d,edx,r25d
+ pdep r11,r15,r31
+ pdep edx,r25d,DWORD PTR [r31+rax*4+0x123]
+ pdep r15,r31,QWORD PTR [r31+rax*4+0x123]
+ pext r10d,edx,r25d
+ pext r11,r15,r31
+ pext edx,r25d,DWORD PTR [r31+rax*4+0x123]
+ pext r15,r31,QWORD PTR [r31+rax*4+0x123]
+ sha1msg1 xmm22,xmm23
+ sha1msg1 xmm22,XMMWORD PTR [r31+rax*4+0x123]
+ sha1msg2 xmm22,xmm23
+ sha1msg2 xmm22,XMMWORD PTR [r31+rax*4+0x123]
+ sha1nexte xmm22,xmm23
+ sha1nexte xmm22,XMMWORD PTR [r31+rax*4+0x123]
+ sha1rnds4 xmm22,xmm23,0x7b
+ sha1rnds4 xmm22,XMMWORD PTR [r31+rax*4+0x123],0x7b
+ sha256msg1 xmm22,xmm23
+ sha256msg1 xmm22,XMMWORD PTR [r31+rax*4+0x123]
+ sha256msg2 xmm22,xmm23
+ sha256msg2 xmm22,XMMWORD PTR [r31+rax*4+0x123]
+ sha256rnds2 xmm12,XMMWORD PTR [r31+rax*4+0x123]
+ shlx r10d,edx,r25d
+ shlx edx,DWORD PTR [r31+rax*4+0x123],r25d
+ shlx r11,r15,r31
+ shlx r15,QWORD PTR [r31+rax*4+0x123],r31
+ shrx r10d,edx,r25d
+ shrx edx,DWORD PTR [r31+rax*4+0x123],r25d
+ shrx r11,r15,r31
+ shrx r15,QWORD PTR [r31+rax*4+0x123],r31
+ sttilecfg [r31+rax*4+0x123]
+ tileloadd tmm6,[r31+rax*4+0x123]
+ tileloaddt1 tmm6,[r31+rax*4+0x123]
+ tilestored [r31+rax*4+0x123],tmm6
+ wrssd DWORD PTR [r31+rax*4+0x123],r25d
+ wrssq QWORD PTR [r31+rax*4+0x123],r31
+ wrussd DWORD PTR [r31+rax*4+0x123],r25d
+ wrussq QWORD PTR [r31+rax*4+0x123],r31
@@ -360,8 +360,13 @@ run_dump_test "x86-64-avx512f-rcigrne-intel"
run_dump_test "x86-64-avx512f-rcigrne"
run_dump_test "x86-64-avx512f-rcigru-intel"
run_dump_test "x86-64-avx512f-rcigru"
-run_list_test "x86-64-apx-egpr-inval" "-al"
+run_list_test "x86-64-apx-egpr-inval"
+run_dump_test "x86-64-apx-evex-promoted-bad"
+run_list_test "x86-64-apx-egpr-promote-inval" "-al"
run_dump_test "x86-64-apx-rex2"
+run_dump_test "x86-64-apx-evex-promoted"
+run_dump_test "x86-64-apx-evex-promoted-intel"
+run_dump_test "x86-64-apx-evex-egpr"
run_dump_test "x86-64-avx512f-rcigrz-intel"
run_dump_test "x86-64-avx512f-rcigrz"
run_dump_test "x86-64-clwb"