[3/8] Add tests for APX GPR32 with extend evex prefix

Message ID 20230919152527.497773-4-lili.cui@intel.com
State New
Headers
Series Support Intel APX EGPR |

Checks

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

Commit Message

Frager, Neal via Binutils Sept. 19, 2023, 3:25 p.m. UTC
  gas/ChangeLog:

	* testsuite/gas/i386/x86-64-apx-egpr-inval.l: Add some
	insn don't support gpr32
	* testsuite/gas/i386/x86-64-apx-egpr-inval.s: Ditto.
	* testsuite/gas/i386/x86-64-apx-egpr-promote-inval.s: Ditto.
	* testsuite/gas/i386/x86-64-apx-egpr-promote-inval.s: Ditto.
	* testsuite/gas/i386/x86-64.exp: Add x86-64-apx-evex-egpr,
	x86-64-apx-evex-legacy and x86-64-apx-evex-vex.
	* testsuite/gas/i386/x86-64-apx-evex-egpr.d: New test.
	* testsuite/gas/i386/x86-64-apx-evex-egpr.s: New test.
	* testsuite/gas/i386/x86-64-apx-evex-promoted-intrel.d: New test.
	* testsuite/gas/i386/x86-64-apx-evex-promoted.d: New test.
	* testsuite/gas/i386/x86-64-apx-evex-promoted.s: New test.
---
 .../gas/i386/x86-64-apx-egpr-inval.l          |  190 ++-
 .../gas/i386/x86-64-apx-egpr-inval.s          |  194 ++-
 .../gas/i386/x86-64-apx-egpr-promote-inval.l  |   17 +
 .../gas/i386/x86-64-apx-egpr-promote-inval.s  |   18 +
 gas/testsuite/gas/i386/x86-64-apx-evex-egpr.d |   22 +
 gas/testsuite/gas/i386/x86-64-apx-evex-egpr.s |   25 +
 .../gas/i386/x86-64-apx-evex-promoted-intel.d |  740 +++++++++
 .../gas/i386/x86-64-apx-evex-promoted.d       |  740 +++++++++
 .../gas/i386/x86-64-apx-evex-promoted.s       | 1464 +++++++++++++++++
 gas/testsuite/gas/i386/x86-64-evex.d          |    2 +-
 gas/testsuite/gas/i386/x86-64-inval-movbe.l   |   31 +-
 gas/testsuite/gas/i386/x86-64-inval-movbe.s   |    1 +
 gas/testsuite/gas/i386/x86-64.exp             |    4 +
 13 files changed, 3430 insertions(+), 18 deletions(-)
 create mode 100644 gas/testsuite/gas/i386/x86-64-apx-egpr-promote-inval.l
 create mode 100644 gas/testsuite/gas/i386/x86-64-apx-egpr-promote-inval.s
 create mode 100644 gas/testsuite/gas/i386/x86-64-apx-evex-egpr.d
 create mode 100644 gas/testsuite/gas/i386/x86-64-apx-evex-egpr.s
 create mode 100644 gas/testsuite/gas/i386/x86-64-apx-evex-promoted-intel.d
 create mode 100644 gas/testsuite/gas/i386/x86-64-apx-evex-promoted.d
 create mode 100644 gas/testsuite/gas/i386/x86-64-apx-evex-promoted.s
  

Comments

Jan Beulich Sept. 27, 2023, 1:11 p.m. UTC | #1
On 19.09.2023 17:25, Cui, Lili wrote:
> gas/ChangeLog:
> 
> 	* testsuite/gas/i386/x86-64-apx-egpr-inval.l: Add some
> 	insn don't support gpr32
> 	* testsuite/gas/i386/x86-64-apx-egpr-inval.s: Ditto.
> 	* testsuite/gas/i386/x86-64-apx-egpr-promote-inval.s: Ditto.
> 	* testsuite/gas/i386/x86-64-apx-egpr-promote-inval.s: Ditto.
> 	* testsuite/gas/i386/x86-64.exp: Add x86-64-apx-evex-egpr,
> 	x86-64-apx-evex-legacy and x86-64-apx-evex-vex.
> 	* testsuite/gas/i386/x86-64-apx-evex-egpr.d: New test.
> 	* testsuite/gas/i386/x86-64-apx-evex-egpr.s: New test.
> 	* testsuite/gas/i386/x86-64-apx-evex-promoted-intrel.d: New test.
> 	* testsuite/gas/i386/x86-64-apx-evex-promoted.d: New test.
> 	* testsuite/gas/i386/x86-64-apx-evex-promoted.s: New test.
> ---
>  .../gas/i386/x86-64-apx-egpr-inval.l          |  190 ++-
>  .../gas/i386/x86-64-apx-egpr-inval.s          |  194 ++-
>  .../gas/i386/x86-64-apx-egpr-promote-inval.l  |   17 +
>  .../gas/i386/x86-64-apx-egpr-promote-inval.s  |   18 +
>  gas/testsuite/gas/i386/x86-64-apx-evex-egpr.d |   22 +
>  gas/testsuite/gas/i386/x86-64-apx-evex-egpr.s |   25 +
>  .../gas/i386/x86-64-apx-evex-promoted-intel.d |  740 +++++++++
>  .../gas/i386/x86-64-apx-evex-promoted.d       |  740 +++++++++
>  .../gas/i386/x86-64-apx-evex-promoted.s       | 1464 +++++++++++++++++
>  gas/testsuite/gas/i386/x86-64-evex.d          |    2 +-
>  gas/testsuite/gas/i386/x86-64-inval-movbe.l   |   31 +-
>  gas/testsuite/gas/i386/x86-64-inval-movbe.s   |    1 +
>  gas/testsuite/gas/i386/x86-64.exp             |    4 +
>  13 files changed, 3430 insertions(+), 18 deletions(-)
>  create mode 100644 gas/testsuite/gas/i386/x86-64-apx-egpr-promote-inval.l
>  create mode 100644 gas/testsuite/gas/i386/x86-64-apx-egpr-promote-inval.s
>  create mode 100644 gas/testsuite/gas/i386/x86-64-apx-evex-egpr.d
>  create mode 100644 gas/testsuite/gas/i386/x86-64-apx-evex-egpr.s
>  create mode 100644 gas/testsuite/gas/i386/x86-64-apx-evex-promoted-intel.d
>  create mode 100644 gas/testsuite/gas/i386/x86-64-apx-evex-promoted.d
>  create mode 100644 gas/testsuite/gas/i386/x86-64-apx-evex-promoted.s
> 
> diff --git a/gas/testsuite/gas/i386/x86-64-apx-egpr-inval.l b/gas/testsuite/gas/i386/x86-64-apx-egpr-inval.l
> index c419f449f27..2fc8a4cc5f0 100644
> --- a/gas/testsuite/gas/i386/x86-64-apx-egpr-inval.l
> +++ b/gas/testsuite/gas/i386/x86-64-apx-egpr-inval.l
> @@ -12,9 +12,197 @@
>  .*:16: Error: register type mismatch for `xsaveopt64'
>  .*:17: Error: register type mismatch for `xsavec'
>  .*:18: Error: register type mismatch for `xsavec64'
> +.*:20: Error: register type mismatch for `phaddw'
> +.*:21: Error: register type mismatch for `phaddd'
> +.*:22: Error: register type mismatch for `phaddsw'
> +.*:23: Error: register type mismatch for `phsubw'
> +.*:24: Error: register type mismatch for `pmaddubsw'
> +.*:25: Error: register type mismatch for `pmulhrsw'
> +.*:26: Error: register type mismatch for `pshufb'
> +.*:27: Error: register type mismatch for `psignb'
> +.*:28: Error: register type mismatch for `psignw'
> +.*:29: Error: register type mismatch for `psignd'
> +.*:30: Error: register type mismatch for `palignr'
> +.*:31: Error: register type mismatch for `pabsb'
> +.*:32: Error: register type mismatch for `pabsw'
> +.*:33: Error: register type mismatch for `pabsd'
> +.*:34: Error: register type mismatch for `blendpd'
> +.*:35: Error: register type mismatch for `blendps'
> +.*:36: Error: register type mismatch for `blendvpd'
> +.*:37: Error: register type mismatch for `blendvps'
> +.*:38: Error: register type mismatch for `blendvpd'
> +.*:39: Error: register type mismatch for `blendvps'
> +.*:40: Error: register type mismatch for `dppd'
> +.*:41: Error: register type mismatch for `dpps'
> +.*:42: Error: register type mismatch for `extractps'
> +.*:43: Error: register type mismatch for `extractps'
> +.*:44: Error: register type mismatch for `insertps'
> +.*:45: Error: register type mismatch for `movntdqa'
> +.*:46: Error: register type mismatch for `mpsadbw'
> +.*:47: Error: register type mismatch for `packusdw'
> +.*:48: Error: register type mismatch for `pblendvb'
> +.*:49: Error: register type mismatch for `pblendvb'
> +.*:50: Error: register type mismatch for `pblendw'
> +.*:51: Error: register type mismatch for `pcmpeqq'
> +.*:52: Error: register type mismatch for `pextrb'
> +.*:53: Error: register type mismatch for `pextrw'
> +.*:54: Error: register type mismatch for `pextrb'
> +.*:55: Error: register type mismatch for `pextrd'
> +.*:56: Error: register type mismatch for `pextrd'
> +.*:57: Error: register type mismatch for `phminposuw'
> +.*:58: Error: register type mismatch for `pinsrb'
> +.*:59: Error: register type mismatch for `pinsrb'
> +.*:60: Error: register type mismatch for `pinsrd'
> +.*:61: Error: register type mismatch for `pinsrd'
> +.*:62: Error: register type mismatch for `pinsrq'
> +.*:63: Error: register type mismatch for `pinsrq'
> +.*:64: Error: register type mismatch for `pmaxsb'
> +.*:65: Error: register type mismatch for `pmaxsd'
> +.*:66: Error: register type mismatch for `pmaxud'
> +.*:67: Error: register type mismatch for `pmaxuw'
> +.*:68: Error: register type mismatch for `pminsb'
> +.*:69: Error: register type mismatch for `pminsd'
> +.*:70: Error: register type mismatch for `pminud'
> +.*:71: Error: register type mismatch for `pminuw'
> +.*:72: Error: register type mismatch for `pmovsxbw'
> +.*:73: Error: register type mismatch for `pmovsxbd'
> +.*:74: Error: register type mismatch for `pmovsxbq'
> +.*:75: Error: register type mismatch for `pmovsxwd'
> +.*:76: Error: register type mismatch for `pmovsxwq'
> +.*:77: Error: register type mismatch for `pmovsxdq'
> +.*:78: Error: register type mismatch for `pmovsxbw'
> +.*:79: Error: register type mismatch for `pmovzxbd'
> +.*:80: Error: register type mismatch for `pmovzxbq'
> +.*:81: Error: register type mismatch for `pmovzxwd'
> +.*:82: Error: register type mismatch for `pmovzxwq'
> +.*:83: Error: register type mismatch for `pmovzxdq'
> +.*:84: Error: register type mismatch for `pmuldq'
> +.*:85: Error: register type mismatch for `pmulld'
> +.*:86: Error: register type mismatch for `roundpd'
> +.*:87: Error: register type mismatch for `roundps'
> +.*:88: Error: register type mismatch for `roundsd'
> +.*:89: Error: register type mismatch for `roundss'
> +.*:90: Error: register type mismatch for `pcmpgtq'
> +.*:91: Error: register type mismatch for `pcmpestri'
> +.*:92: Error: register type mismatch for `pcmpestrm'
> +.*:93: Error: register type mismatch for `pcmpistri'
> +.*:94: Error: register type mismatch for `pcmpistrm'
> +.*:96: Error: register type mismatch for `aesdec'
> +.*:97: Error: register type mismatch for `aesdeclast'
> +.*:98: Error: register type mismatch for `aesenc'
> +.*:99: Error: register type mismatch for `aesenclast'
> +.*:100: Error: register type mismatch for `aesimc'
> +.*:101: Error: register type mismatch for `aeskeygenassist'
> +.*:102: Error: register type mismatch for `pclmulqdq'
> +.*:103: Error: register type mismatch for `pclmullqlqdq'
> +.*:104: Error: register type mismatch for `pclmulhqlqdq'
> +.*:105: Error: register type mismatch for `pclmullqhqdq'
> +.*:106: Error: register type mismatch for `pclmulhqhqdq'
> +.*:108: Error: register type mismatch for `gf2p8affineqb'
> +.*:109: Error: register type mismatch for `gf2p8affineinvqb'
> +.*:110: Error: register type mismatch for `gf2p8mulb'
> +.*:112: Error: register type mismatch for `vblendpd'
> +.*:113: Error: register type mismatch for `vblendpd'
> +.*:114: Error: register type mismatch for `vblendps'
> +.*:115: Error: register type mismatch for `vblendps'
> +.*:116: Error: register type mismatch for `vblendvpd'
> +.*:117: Error: register type mismatch for `vblendvpd'
> +.*:118: Error: register type mismatch for `vblendvps'
> +.*:119: Error: register type mismatch for `vblendvps'
> +.*:120: Error: register type mismatch for `vdppd'
> +.*:121: Error: register type mismatch for `vdpps'
> +.*:122: Error: register type mismatch for `vdpps'
> +.*:123: Error: register type mismatch for `vhaddpd'
> +.*:124: Error: register type mismatch for `vhaddpd'
> +.*:125: Error: register type mismatch for `vhsubps'
> +.*:126: Error: register type mismatch for `vhsubps'
> +.*:127: Error: register type mismatch for `vlddqu'
> +.*:128: Error: register type mismatch for `vlddqu'
> +.*:129: Error: register type mismatch for `vldmxcsr'
> +.*:130: Error: register type mismatch for `vmaskmovpd'
> +.*:131: Error: register type mismatch for `vmaskmovpd'
> +.*:132: Error: register type mismatch for `vmaskmovps'
> +.*:133: Error: register type mismatch for `vmaskmovps'
> +.*:134: Error: register type mismatch for `vmaskmovpd'
> +.*:135: Error: register type mismatch for `vmaskmovpd'
> +.*:136: Error: register type mismatch for `vmaskmovps'
> +.*:137: Error: register type 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 mismatch for `vpblendvb'
> +.*:143: Error: register type mismatch for `vpblendvb'
> +.*:144: Error: register type mismatch for `vpblendw'
> +.*:145: Error: register type mismatch for `vpblendw'
> +.*:146: Error: register type mismatch for `vpcmpestri'
> +.*:147: Error: register type mismatch for `vpcmpestrm'
> +.*:148: Error: register type mismatch for `vperm2f128'
> +.*:149: Error: register type mismatch for `vphaddd'
> +.*:150: Error: register type mismatch for `vphaddsw'
> +.*:151: Error: register type mismatch for `vphaddw'
> +.*:152: Error: register type mismatch for `vphsubd'
> +.*:153: Error: register type mismatch for `vphsubsw'
> +.*:154: Error: register type mismatch for `vphsubw'
> +.*:155: Error: register type mismatch for `vphaddd'
> +.*:156: Error: register type mismatch for `vphaddsw'
> +.*:157: Error: register type mismatch for `vphaddw'
> +.*:158: Error: register type mismatch for `vphsubd'
> +.*:159: Error: register type mismatch for `vphsubsw'
> +.*:160: Error: register type mismatch for `vphsubw'
> +.*:161: Error: register type mismatch for `vphminposuw'
> +.*:162: Error: register type mismatch for `vpmovmskb'
> +.*:163: Error: register type mismatch for `vpmovmskb'
> +.*:164: Error: register type mismatch for `vpsignb'
> +.*:165: Error: register type mismatch for `vpsignw'
> +.*:166: Error: register type mismatch for `vpsignd'
> +.*:167: Error: register type mismatch for `vpsignb'
> +.*:168: Error: register type mismatch for `vpsignw'
> +.*:169: Error: register type mismatch for `vpsignd'
> +.*:170: Error: register type mismatch for `vptest'
> +.*:171: Error: register type mismatch for `vptest'
> +.*:172: Error: register type mismatch for `vrcpps'
> +.*:173: Error: register type mismatch for `vrcpps'
> +.*:174: Error: register type mismatch for `vrcpss'
> +.*:175: Error: register type mismatch for `vrsqrtps'
> +.*:176: Error: register type mismatch for `vrsqrtps'
> +.*:177: Error: register type mismatch for `vrsqrtss'
> +.*:178: Error: register type mismatch for `vstmxcsr'
> +.*:179: Error: register type mismatch for `vtestps'
> +.*:180: Error: register type mismatch for `vtestps'
> +.*:181: Error: register type mismatch for `vtestpd'
> +.*:182: Error: register type mismatch for `vtestps'
> +.*:183: Error: register type mismatch for `vtestpd'
> +.*:184: Error: register type mismatch for `vpblendd'
> +.*:185: Error: register type mismatch for `vpblendd'
> +.*:186: Error: register type mismatch for `vperm2i128'
> +.*:187: Error: register type mismatch for `vpmaskmovd'
> +.*:188: Error: register type mismatch for `vpmaskmovd'
> +.*:189: Error: register type mismatch for `vpmaskmovq'
> +.*:190: Error: register type mismatch for `vpmaskmovq'
> +.*:191: Error: register type mismatch for `vpmaskmovd'
> +.*:192: Error: register type mismatch for `vpmaskmovd'
> +.*:193: Error: register type mismatch for `vpmaskmovq'
> +.*:194: Error: register type mismatch for `vpmaskmovq'
> +.*:195: Error: register type mismatch for `vaesimc'
> +.*:196: Error: register type mismatch for `vaeskeygenassist'
> +.*:197: Error: register type mismatch for `vroundpd'
> +.*:198: Error: register type mismatch for `vroundps'
> +.*:199: Error: register type mismatch for `vroundsd'
> +.*:200: Error: register type mismatch for `vroundss'
> +.*:201: Error: register type mismatch for `vpcmpistri'
> +.*:202: Error: register type mismatch for `vpcmpistrm'
> +.*:203: Error: register type mismatch for `vpcmpeqb'
> +.*:204: Error: register type mismatch for `vpcmpeqw'
> +.*:205: Error: register type mismatch for `vpcmpeqd'
> +.*:206: Error: register type mismatch for `vpcmpeqq'
> +.*:207: Error: register type mismatch for `vpcmpgtb'
> +.*:208: Error: register type mismatch for `vpcmpgtw'
> +.*:209: Error: register type mismatch for `vpcmpgtd'
> +.*:210: Error: register type mismatch for `vpcmpgtq'
>  GAS LISTING .*
>  #...
> -[ 	]*1[ 	]+\# Check Illegal 64bit APX instructions
> +[ 	]*1[ 	]+\# Check illegal 64bit APX instructions
>  [ 	]*2[ 	]+\.text
>  [ 	]*3[ 	]+\.arch \.noapx_f
>  [ 	]*4[ 	]+test    \$0x7, %r17d
> diff --git a/gas/testsuite/gas/i386/x86-64-apx-egpr-inval.s b/gas/testsuite/gas/i386/x86-64-apx-egpr-inval.s
> index 5249b888046..cbac896fd28 100644
> --- 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 instructions
> +# Check illegal 64bit APX instructions
>  	.text
>  	.arch .noapx_f
>  	test    $0x7, %r17d
> @@ -16,3 +16,195 @@
>  	xsaveopt64 (%r16, %rbx)
>  	xsavec (%r16, %rbx)
>  	xsavec64 (%r16, %rbx)
> +#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)
> +	pextrw $100,%xmm4,(%r22)
> +	pextrb $100,%xmm4,%r22

Would be nice to stick to strict alphabetic sorting.

> +	pextrd $100,%xmm4,%r22d
> +	pextrd $100,%xmm4,(%r22)

pextrq?

> +	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
> +	pcmpgtq (%r25),%xmm4
> +	pcmpestri $100,(%r25),%xmm6
> +	pcmpestrm $100,(%r25),%xmm6
> +	pcmpistri $100,(%r25),%xmm6
> +	pcmpistrm $100,(%r25),%xmm6

For these last five - again would be nice to stick to strict alphabetic sorting.
(I was almost going to as where pcmpeqq is.)

> +#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)

Are the designers not intending to reconsider this (and vstmxcsr), getting
on par with {ld,st}tilecfg? Even more generally I wonder if things shouldn't
remain less inconsistent. After all most major opcodes haven't been re-used,
so adding (less-than-512-bit) EVEX equivalents would only seem reasonable to
me. I'll be really curious how this asymmetry is going to be dealt with in
gcc, in a way still permitting sane inline assembly use.

> +	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 $100,(%r24),%xmm6
> +	vroundps $100,(%r24),%xmm6
> +	vroundsd $100,(%r24),%xmm6,%xmm3
> +	vroundss $100,(%r24),%xmm6,%xmm3

For these I wonder if they shouldn't be accepted (with in-range immediate)
and converted to vrndscale*. Imo the spec could even mandate (or at least
suggest) this.

> --- /dev/null
> +++ b/gas/testsuite/gas/i386/x86-64-apx-egpr-promote-inval.s
> @@ -0,0 +1,18 @@
> +# Check illegal 64bit APX EVEX promoted instructions
> +	.text
> +	.arch .apx_f

This doesn't have any effect (on this test), does it?

> --- /dev/null
> +++ b/gas/testsuite/gas/i386/x86-64-apx-evex-egpr.s
> @@ -0,0 +1,25 @@
> +# Check 64bit old evex instructions use gpr32 with evex prefix encoding
> +
> +	.allow_index_reg
> +	.text
> +_start:
> +## MRMDestMem
> +         vextractf32x4	$1, %zmm0, (%r16,%r17)
> +## MRMSrcMem
> +         vbroadcasti32x4	(%r16,%r17), %zmm0
> +## MRM0m
> +         vprorq	$0, (%r16,%r17), %zmm0
> +## MRM1m
> +         vprolq	$0, (%r16,%r17), %zmm0
> +## MRM2m
> +         vpsrlq	$0, (%r16,%r17), %zmm0
> +## MRM3m
> +         vpsrldq	$0, (%r16,%r17), %zmm0
> +## MRM4m
> +         vpsraq	$0, (%r16,%r17), %zmm0
> +## MRM6m
> +         vpsllq	$0, (%r16,%r17), %zmm0
> +## MRM7m
> +         vpslldq	$0, (%r16,%r17), %zmm0
> +## MRMDestReg
> +         vextractps	$1, %xmm16, %r16d

What is the purpose of this test? Using all the same base and index
registers isn't really covering very much. I'm also missing a GPR-is-
source case (e.g. vpinsr*). And finally (I think I commented on this
elsewhere already) can the comments please be made meaningful, without
needing to guess what the acronyms are to be decoded to?

> --- /dev/null
> +++ b/gas/testsuite/gas/i386/x86-64-apx-evex-promoted.s
> @@ -0,0 +1,1464 @@
> +# Check 64bit APX_F EVEX-Promoted instructions.
> +
> +	.text
> +_start:
> +	aadd	%r25d,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
> +	aadd	%r31,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
> +	aand	%r25d,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
> +	aand	%r31,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
> +	adc	$0x7b,%r16b	 #APX_F OPC_EVEX_EVEX
> +	adc	$0x7b,%r18w	 #APX_F OPC_EVEX_EVEX
> +	adc	$0x7b,%r25d	 #APX_F OPC_EVEX_EVEX
> +	adc	$0x7b,%r31	 #APX_F OPC_EVEX_EVEX
> +	adcb	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
> +	adcw	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
> +	adcl	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
> +	adcq	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
> +	adcw	$0x7b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
> +	adcl	$0x7b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
> +	adcq	$0x7b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX

If this 2nd triplet of adc* is useful, why no adcb? Also, like above:
- more variation of register use would imo be better (there's no egpr
  index register here),
- comments want to be useful, or be dropped.

Speaking of comments, ...

> +	adc	%r16b,%dl	 #APX_F OPC_EVEX_EVEX
> +	adc	%r16b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
> +	adc	%r18w,%ax	 #APX_F OPC_EVEX_EVEX
> +	adc	%r18w,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
> +	adc	%r18w,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
> +	adc	%r25d,%edx	 #APX_F OPC_EVEX_EVEX
> +	adc	%r25d,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
> +	adc	%r31,%r15	 #APX_F OPC_EVEX_EVEX
> +	adc	%r31,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
> +	adc	0x123(%r16,%rax,4),%r16b	 #APX_F OPC_EVEX_EVEX
> +	adc	0x123(%r16,%rax,4),%r31	 #APX_F OPC_EVEX_EVEX
> +	adc	0x123(%r31,%rax,4),%r18w	 #APX_F OPC_EVEX_EVEX
> +	adc	0x123(%r31,%rax,4),%r25d	 #APX_F OPC_EVEX_EVEX
> +	adc	0x123(%r31,%rax,4),%r31	 #APX_F OPC_EVEX_EVEX

... the entire set of adc here doesn't encode as EVEX, but as REX2 (i.e.
the comments are outright wrong). As a result the EVEX encodings added
to the opcode table in the previous patch aren't being tested at all.

> --- a/gas/testsuite/gas/i386/x86-64-evex.d
> +++ b/gas/testsuite/gas/i386/x86-64-evex.d
> @@ -17,6 +17,6 @@ Disassembly of section .text:
>   +[a-f0-9]+:	62 f1 d6 38 7b f0    	vcvtusi2ss %rax,\{rd-sae\},%xmm5,%xmm6
>   +[a-f0-9]+:	62 f1 57 38 7b f0    	vcvtusi2sd %eax,\{rd-bad\},%xmm5,%xmm6
>   +[a-f0-9]+:	62 f1 d7 38 7b f0    	vcvtusi2sd %rax,\{rd-sae\},%xmm5,%xmm6
> - +[a-f0-9]+:	62 e1 7e 08 2d c0    	vcvtss2si %xmm0,\(bad\)
> + +[a-f0-9]+:	62 e1 7e 08 2d c0    	vcvtss2si %xmm0,%r16d
>   +[a-f0-9]+:	62 e1 7c 08 c2 c0 00 	vcmpeqps %xmm0,%xmm0,\(bad\)

If the line that's now disassembling okay cannot be replaced by a suitable
equivalent, it should be dropped rather than be adjusted. Furthermore such
an adjustment needs to be done right in the patch leading to the changed
output, or else things end up non-bisectable. (New tests are okay to add
in a separate patch.)

> --- a/gas/testsuite/gas/i386/x86-64-inval-movbe.l
> +++ b/gas/testsuite/gas/i386/x86-64-inval-movbe.l
> @@ -1,29 +1,30 @@
>  .*: Assembler messages:
> -.*:4: Error: .*
>  .*:5: Error: .*
>  .*:6: Error: .*
>  .*:7: Error: .*
>  .*:8: Error: .*
> -.*:11: Error: .*
> +.*:9: Error: .*
>  .*:12: Error: .*
>  .*:13: Error: .*
>  .*:14: Error: .*
>  .*:15: Error: .*
> +.*:16: Error: .*
>  GAS LISTING .*
>  
>  
>  [ 	]*1[ 	]+\# Check illegal movbe in 64bit mode\.
>  [ 	]*2[ 	]+\.text
> -[ 	]*3[ 	]+foo:
> -[ 	]*4[ 	]+movbe	\(%rcx\),%bl
> -[ 	]*5[ 	]+movbe	%ecx,%ebx
> -[ 	]*6[ 	]+movbe	%bx,%rcx
> -[ 	]*7[ 	]+movbe	%rbx,%rcx
> -[ 	]*8[ 	]+movbe	%bl,\(%rcx\)
> -[ 	]*9[ 	]+
> -[ 	]*10[ 	]+\.intel_syntax noprefix
> -[ 	]*11[ 	]+movbe bl, byte ptr \[rcx\]
> -[ 	]*12[ 	]+movbe ebx, ecx
> -[ 	]*13[ 	]+movbe rcx, bx
> -[ 	]*14[ 	]+movbe rcx, rbx
> -[ 	]*15[ 	]+movbe byte ptr \[rcx\], bl
> +[ 	]*3[ 	]+\.arch \.noapx_f
> +[ 	]*4[ 	]+foo:
> +[ 	]*5[ 	]+movbe	\(%rcx\),%bl
> +[ 	]*6[ 	]+movbe	%ecx,%ebx
> +[ 	]*7[ 	]+movbe	%bx,%rcx
> +[ 	]*8[ 	]+movbe	%rbx,%rcx
> +[ 	]*9[ 	]+movbe	%bl,\(%rcx\)
> +[ 	]*10[ 	]+
> +[ 	]*11[ 	]+\.intel_syntax noprefix
> +[ 	]*12[ 	]+movbe bl, byte ptr \[rcx\]
> +[ 	]*13[ 	]+movbe ebx, ecx
> +[ 	]*14[ 	]+movbe rcx, bx
> +[ 	]*15[ 	]+movbe rcx, rbx
> +[ 	]*16[ 	]+movbe byte ptr \[rcx\], bl
> --- a/gas/testsuite/gas/i386/x86-64-inval-movbe.s
> +++ b/gas/testsuite/gas/i386/x86-64-inval-movbe.s
> @@ -1,5 +1,6 @@
>  # Check illegal movbe in 64bit mode.
>  	.text
> +	.arch .noapx_f
>  foo:
>  	movbe	(%rcx),%bl
>  	movbe	%ecx,%ebx

I don't understand the need for this addition (and hence for the need
to change the test's expecations). Like was mentioned on the original
AVX10 series, tests like this shall not need modification, or else it
indicates people's code also may need ".arch .noapx_f" additions, which
I'm sure you agree may not be required. Finally, if testcase expecations
like the above would be needed anywhere, please generalize them such that
a similar mere addition of a line doesn't require the entire test to be
touched. Here this means that while for the diagnostics you of course
want exact line number matches, for the actual listing line numbers don't
don't need matching individually.

Jan
  
Jan Beulich Sept. 27, 2023, 1:19 p.m. UTC | #2
On 19.09.2023 17:25, Cui, Lili wrote:
> gas/ChangeLog:
> 
> 	* testsuite/gas/i386/x86-64-apx-egpr-inval.l: Add some
> 	insn don't support gpr32
> 	* testsuite/gas/i386/x86-64-apx-egpr-inval.s: Ditto.
> 	* testsuite/gas/i386/x86-64-apx-egpr-promote-inval.s: Ditto.
> 	* testsuite/gas/i386/x86-64-apx-egpr-promote-inval.s: Ditto.
> 	* testsuite/gas/i386/x86-64.exp: Add x86-64-apx-evex-egpr,
> 	x86-64-apx-evex-legacy and x86-64-apx-evex-vex.
> 	* testsuite/gas/i386/x86-64-apx-evex-egpr.d: New test.
> 	* testsuite/gas/i386/x86-64-apx-evex-egpr.s: New test.
> 	* testsuite/gas/i386/x86-64-apx-evex-promoted-intrel.d: New test.
> 	* testsuite/gas/i386/x86-64-apx-evex-promoted.d: New test.
> 	* testsuite/gas/i386/x86-64-apx-evex-promoted.s: New test.

One further remark: It may not be here yet (albeit the earlier patch adds
related templates), but throughout the series whenever templates are added
which are ambiguous as to operand size (i.e. in the absence of a suitably
sizing register operand), the noreg64 testcase also wants extending. It is
intended to be an exhaustive set of affected insns (if you spot omissions,
I'm all ears).

Jan
  
Cui, Lili Oct. 17, 2023, 3:53 p.m. UTC | #3
> > +	packusdw (%r21),%xmm6
> > +	pblendvb %xmm0,(%r22),%xmm6
> > +	pblendvb (%r22),%xmm6
> > +	pblendw $100,(%r22),%xmm6
> > +	pcmpeqq (%r22),%xmm6
> > +	pextrb $100,%xmm4,(%r22)
> > +	pextrw $100,%xmm4,(%r22)
> > +	pextrb $100,%xmm4,%r22
> 
> Would be nice to stick to strict alphabetic sorting.
> 

Done.

> > +	pextrd $100,%xmm4,%r22d
> > +	pextrd $100,%xmm4,(%r22)
> 
> pextrq?

Added.

> 
> > +	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
> > +	pcmpgtq (%r25),%xmm4
> > +	pcmpestri $100,(%r25),%xmm6
> > +	pcmpestrm $100,(%r25),%xmm6
> > +	pcmpistri $100,(%r25),%xmm6
> > +	pcmpistrm $100,(%r25),%xmm6
> 
> For these last five - again would be nice to stick to strict alphabetic sorting.
> (I was almost going to as where pcmpeqq is.)
> 

Done.

> > +#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)
> 
> Are the designers not intending to reconsider this (and vstmxcsr), getting on
> par with {ld,st}tilecfg? Even more generally I wonder if things shouldn't remain
> less inconsistent. After all most major opcodes haven't been re-used, so
> adding (less-than-512-bit) EVEX equivalents would only seem reasonable to
> me. I'll be really curious how this asymmetry is going to be dealt with in gcc, in
> a way still permitting sane inline assembly use.
> 

For the memory conditions listed here, we may not consider extending them, but for vstmxcsr and vldmxcsr,
I raised a topic for internal discussion. The conclusion is that when apx_f is enabled, gcc will select LDMXCSR/LDMXCSR.
In GCC, we control whether each instruction supports gpr32. GCC default configuration disables gpr32 support in the inline assembler, but users can enable it and need to make sure it is correct.

> > +	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 $100,(%r24),%xmm6
> > +	vroundps $100,(%r24),%xmm6
> > +	vroundsd $100,(%r24),%xmm6,%xmm3
> > +	vroundss $100,(%r24),%xmm6,%xmm3
> 
> For these I wonder if they shouldn't be accepted (with in-range immediate)
> and converted to vrndscale*. Imo the spec could even mandate (or at least
> suggest) this.
> 

Changed it to 0x00 ~ 0x0f.

> > --- /dev/null
> > +++ b/gas/testsuite/gas/i386/x86-64-apx-egpr-promote-inval.s
> > @@ -0,0 +1,18 @@
> > +# Check illegal 64bit APX EVEX promoted instructions
> > +	.text
> > +	.arch .apx_f
> 
> This doesn't have any effect (on this test), does it?
> 

Deleted.

> > --- /dev/null
> > +++ b/gas/testsuite/gas/i386/x86-64-apx-evex-egpr.s
> > @@ -0,0 +1,25 @@
> > +# Check 64bit old evex instructions use gpr32 with evex prefix
> > +encoding
> > +
> > +	.allow_index_reg
> > +	.text
> > +_start:
> > +## MRMDestMem
> > +         vextractf32x4	$1, %zmm0, (%r16,%r17)
> > +## MRMSrcMem
> > +         vbroadcasti32x4	(%r16,%r17), %zmm0
> > +## MRM0m
> > +         vprorq	$0, (%r16,%r17), %zmm0
> > +## MRM1m
> > +         vprolq	$0, (%r16,%r17), %zmm0
> > +## MRM2m
> > +         vpsrlq	$0, (%r16,%r17), %zmm0
> > +## MRM3m
> > +         vpsrldq	$0, (%r16,%r17), %zmm0
> > +## MRM4m
> > +         vpsraq	$0, (%r16,%r17), %zmm0
> > +## MRM6m
> > +         vpsllq	$0, (%r16,%r17), %zmm0
> > +## MRM7m
> > +         vpslldq	$0, (%r16,%r17), %zmm0
> > +## MRMDestReg
> > +         vextractps	$1, %xmm16, %r16d
> 
> What is the purpose of this test? Using all the same base and index registers
> isn't really covering very much. I'm also missing a GPR-is- source case (e.g.
> vpinsr*). And finally (I think I commented on this elsewhere already) can the
> comments please be made meaningful, without needing to guess what the
> acronyms are to be decoded to?
> 

Removed these comments and added new testcases.

> > --- /dev/null
> > +++ b/gas/testsuite/gas/i386/x86-64-apx-evex-promoted.s
> > @@ -0,0 +1,1464 @@
> > +# Check 64bit APX_F EVEX-Promoted instructions.
> > +
> > +	.text
> > +_start:
> > +	aadd	%r25d,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
> > +	aadd	%r31,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
> > +	aand	%r25d,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
> > +	aand	%r31,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
> > +	adc	$0x7b,%r16b	 #APX_F OPC_EVEX_EVEX
> > +	adc	$0x7b,%r18w	 #APX_F OPC_EVEX_EVEX
> > +	adc	$0x7b,%r25d	 #APX_F OPC_EVEX_EVEX
> > +	adc	$0x7b,%r31	 #APX_F OPC_EVEX_EVEX
> > +	adcb	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
> > +	adcw	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
> > +	adcl	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
> > +	adcq	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
> > +	adcw	$0x7b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
> > +	adcl	$0x7b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
> > +	adcq	$0x7b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
> 
> If this 2nd triplet of adc* is useful, why no adcb? Also, like above:
> - more variation of register use would imo be better (there's no egpr
>   index register here),
> - comments want to be useful, or be dropped.
> 

Deleted these tests ( Please refer to the next comment for details), and deleted comments.

> Speaking of comments, ...
> 
> > +	adc	%r16b,%dl	 #APX_F OPC_EVEX_EVEX
> > +	adc	%r16b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
> > +	adc	%r18w,%ax	 #APX_F OPC_EVEX_EVEX
> > +	adc	%r18w,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
> > +	adc	%r18w,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
> > +	adc	%r25d,%edx	 #APX_F OPC_EVEX_EVEX
> > +	adc	%r25d,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
> > +	adc	%r31,%r15	 #APX_F OPC_EVEX_EVEX
> > +	adc	%r31,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
> > +	adc	0x123(%r16,%rax,4),%r16b	 #APX_F OPC_EVEX_EVEX
> > +	adc	0x123(%r16,%rax,4),%r31	 #APX_F OPC_EVEX_EVEX
> > +	adc	0x123(%r31,%rax,4),%r18w	 #APX_F OPC_EVEX_EVEX
> > +	adc	0x123(%r31,%rax,4),%r25d	 #APX_F OPC_EVEX_EVEX
> > +	adc	0x123(%r31,%rax,4),%r31	 #APX_F OPC_EVEX_EVEX
> 
> ... the entire set of adc here doesn't encode as EVEX, but as REX2 (i.e.
> the comments are outright wrong). As a result the EVEX encodings added to
> the opcode table in the previous patch aren't being tested at all.
> 

Since their decoding is in NDD, and print {evex} is supported in Part II patch 1/6, these instructions were re-tested in part II patch1/6. Maybe we need to add some egpr32 tests for them in that patch. Deleted all REX2 testcases in this patch.

> > --- a/gas/testsuite/gas/i386/x86-64-evex.d
> > +++ b/gas/testsuite/gas/i386/x86-64-evex.d
> > @@ -17,6 +17,6 @@ Disassembly of section .text:
> >   +[a-f0-9]+:	62 f1 d6 38 7b f0    	vcvtusi2ss %rax,\{rd-
> sae\},%xmm5,%xmm6
> >   +[a-f0-9]+:	62 f1 57 38 7b f0    	vcvtusi2sd %eax,\{rd-
> bad\},%xmm5,%xmm6
> >   +[a-f0-9]+:	62 f1 d7 38 7b f0    	vcvtusi2sd %rax,\{rd-
> sae\},%xmm5,%xmm6
> > - +[a-f0-9]+:	62 e1 7e 08 2d c0    	vcvtss2si %xmm0,\(bad\)
> > + +[a-f0-9]+:	62 e1 7e 08 2d c0    	vcvtss2si %xmm0,%r16d
> >   +[a-f0-9]+:	62 e1 7c 08 c2 c0 00 	vcmpeqps %xmm0,%xmm0,\(bad\)
> 
> If the line that's now disassembling okay cannot be replaced by a suitable
> equivalent, it should be dropped rather than be adjusted. Furthermore such
> an adjustment needs to be done right in the patch leading to the changed
> output, or else things end up non-bisectable. (New tests are okay to add in a
> separate patch.)
> 

Ok, added it to patch 2/8.

> > --- a/gas/testsuite/gas/i386/x86-64-inval-movbe.s
> > +++ b/gas/testsuite/gas/i386/x86-64-inval-movbe.s
> > @@ -1,5 +1,6 @@
> >  # Check illegal movbe in 64bit mode.
> >  	.text
> > +	.arch .noapx_f
> >  foo:
> >  	movbe	(%rcx),%bl
> >  	movbe	%ecx,%ebx
> 
> I don't understand the need for this addition (and hence for the need to
> change the test's expecations). Like was mentioned on the original
> AVX10 series, tests like this shall not need modification, or else it indicates
> people's code also may need ".arch .noapx_f" additions, which I'm sure you
> agree may not be required. Finally, if testcase expecations like the above
> would be needed anywhere, please generalize them such that a similar mere
> addition of a line doesn't require the entire test to be touched. Here this
> means that while for the diagnostics you of course want exact line number
> matches, for the actual listing line numbers don't don't need matching
> individually.
> 

Agree with you, but movbe is special, movbe didn't support reg to reg before, but APX enable it. so I added .arch .noapx_f for this invalid test.

Thanks, 
Lili
  
Jan Beulich Oct. 17, 2023, 4:19 p.m. UTC | #4
On 17.10.2023 17:53, Cui, Lili wrote:
>>> --- a/gas/testsuite/gas/i386/x86-64-inval-movbe.s
>>> +++ b/gas/testsuite/gas/i386/x86-64-inval-movbe.s
>>> @@ -1,5 +1,6 @@
>>>  # Check illegal movbe in 64bit mode.
>>>  	.text
>>> +	.arch .noapx_f
>>>  foo:
>>>  	movbe	(%rcx),%bl
>>>  	movbe	%ecx,%ebx
>>
>> I don't understand the need for this addition (and hence for the need to
>> change the test's expecations). Like was mentioned on the original
>> AVX10 series, tests like this shall not need modification, or else it indicates
>> people's code also may need ".arch .noapx_f" additions, which I'm sure you
>> agree may not be required. Finally, if testcase expecations like the above
>> would be needed anywhere, please generalize them such that a similar mere
>> addition of a line doesn't require the entire test to be touched. Here this
>> means that while for the diagnostics you of course want exact line number
>> matches, for the actual listing line numbers don't don't need matching
>> individually.
>>
> 
> Agree with you, but movbe is special, movbe didn't support reg to reg before, but APX enable it. so I added .arch .noapx_f for this invalid test.

To be honest I didn't really notice this difference so far. That's somewhat
ugly, because people mistakenly using a reg->reg form would suddenly get an
EVEX encoding rather than an error. This will need some further thought;
please mention the "anomaly" explicitly in the description of the respective
patch.

Jan
  
Cui, Lili Oct. 18, 2023, 2:32 a.m. UTC | #5
> >>> --- a/gas/testsuite/gas/i386/x86-64-inval-movbe.s
> >>> +++ b/gas/testsuite/gas/i386/x86-64-inval-movbe.s
> >>> @@ -1,5 +1,6 @@
> >>>  # Check illegal movbe in 64bit mode.
> >>>  	.text
> >>> +	.arch .noapx_f
> >>>  foo:
> >>>  	movbe	(%rcx),%bl
> >>>  	movbe	%ecx,%ebx
> >>
> >> I don't understand the need for this addition (and hence for the need
> >> to change the test's expecations). Like was mentioned on the original
> >> AVX10 series, tests like this shall not need modification, or else it
> >> indicates people's code also may need ".arch .noapx_f" additions,
> >> which I'm sure you agree may not be required. Finally, if testcase
> >> expecations like the above would be needed anywhere, please
> >> generalize them such that a similar mere addition of a line doesn't
> >> require the entire test to be touched. Here this means that while for
> >> the diagnostics you of course want exact line number matches, for the
> >> actual listing line numbers don't don't need matching individually.
> >>
> >
> > Agree with you, but movbe is special, movbe didn't support reg to reg
> before, but APX enable it. so I added .arch .noapx_f for this invalid test.
> 
> To be honest I didn't really notice this difference so far. That's somewhat ugly,
> because people mistakenly using a reg->reg form would suddenly get an EVEX
> encoding rather than an error. This will need some further thought; please
> mention the "anomaly" explicitly in the description of the respective patch.
> 
SPEC:
Note: The promoted versions of MOVBE will be extended to include the “MOVBE reg1,
reg2” form (namely, the ModRM.Mod = 3 case) for both opcodes 0xF0 and 0xF1. This
extension makes the promotion of BSWAP for NDD support unnecessary.

I'll add a description of movbe to the patch 2/8 changelog. 

// Move after swapping the bytes
 movbe, 0x0f38f0, Movbe, D|Modrm|CheckOperandSize|No_bSuf|No_sSuf, { Word|Dword|Qword|Unspecified|BaseIndex, Reg16|Reg32|Reg64 }
+movbe, 0x60, Movbe|APX_F, D|Modrm|CheckOperandSize|No_bSuf|No_sSuf|EVex128|EVexMap4, { Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg16|Reg32|Reg64 }

Thanks,
Lili.
  
Jan Beulich Oct. 18, 2023, 6:05 a.m. UTC | #6
On 18.10.2023 04:32, Cui, Lili wrote:
>>>>> --- a/gas/testsuite/gas/i386/x86-64-inval-movbe.s
>>>>> +++ b/gas/testsuite/gas/i386/x86-64-inval-movbe.s
>>>>> @@ -1,5 +1,6 @@
>>>>>  # Check illegal movbe in 64bit mode.
>>>>>  	.text
>>>>> +	.arch .noapx_f
>>>>>  foo:
>>>>>  	movbe	(%rcx),%bl
>>>>>  	movbe	%ecx,%ebx
>>>>
>>>> I don't understand the need for this addition (and hence for the need
>>>> to change the test's expecations). Like was mentioned on the original
>>>> AVX10 series, tests like this shall not need modification, or else it
>>>> indicates people's code also may need ".arch .noapx_f" additions,
>>>> which I'm sure you agree may not be required. Finally, if testcase
>>>> expecations like the above would be needed anywhere, please
>>>> generalize them such that a similar mere addition of a line doesn't
>>>> require the entire test to be touched. Here this means that while for
>>>> the diagnostics you of course want exact line number matches, for the
>>>> actual listing line numbers don't don't need matching individually.
>>>>
>>>
>>> Agree with you, but movbe is special, movbe didn't support reg to reg
>> before, but APX enable it. so I added .arch .noapx_f for this invalid test.
>>
>> To be honest I didn't really notice this difference so far. That's somewhat ugly,
>> because people mistakenly using a reg->reg form would suddenly get an EVEX
>> encoding rather than an error. This will need some further thought; please
>> mention the "anomaly" explicitly in the description of the respective patch.
>>
> SPEC:
> Note: The promoted versions of MOVBE will be extended to include the “MOVBE reg1,
> reg2” form (namely, the ModRM.Mod = 3 case) for both opcodes 0xF0 and 0xF1. This
> extension makes the promotion of BSWAP for NDD support unnecessary.
> 
> I'll add a description of movbe to the patch 2/8 changelog. 

Thanks. I did deduce the connection to BSWAP on the way home yesterday. Which
made me come up with a (spec) question: Wouldn't it make sense to name these
reg->reg forms BSWAP, not MOVBE? It doesn't really matter that they use the
same encoding as the MOVBE (then mem-only) forms. That would then eliminate
the concern I raised.

As to 2/8: I received two v2 thereof, with different titles, and a v2 of 3/8.
But nothing else. The list archives match this. I may take a brief look, but
really I'll await a full v2 submission for a proper new review round.

Jan
  
Cui, Lili Oct. 18, 2023, 7:16 a.m. UTC | #7
> On 18.10.2023 04:32, Cui, Lili wrote:
> >>>>> --- a/gas/testsuite/gas/i386/x86-64-inval-movbe.s
> >>>>> +++ b/gas/testsuite/gas/i386/x86-64-inval-movbe.s
> >>>>> @@ -1,5 +1,6 @@
> >>>>>  # Check illegal movbe in 64bit mode.
> >>>>>  	.text
> >>>>> +	.arch .noapx_f
> >>>>>  foo:
> >>>>>  	movbe	(%rcx),%bl
> >>>>>  	movbe	%ecx,%ebx
> >>>>
> >>>> I don't understand the need for this addition (and hence for the
> >>>> need to change the test's expecations). Like was mentioned on the
> >>>> original
> >>>> AVX10 series, tests like this shall not need modification, or else
> >>>> it indicates people's code also may need ".arch .noapx_f"
> >>>> additions, which I'm sure you agree may not be required. Finally,
> >>>> if testcase expecations like the above would be needed anywhere,
> >>>> please generalize them such that a similar mere addition of a line
> >>>> doesn't require the entire test to be touched. Here this means that
> >>>> while for the diagnostics you of course want exact line number
> >>>> matches, for the actual listing line numbers don't don't need matching
> individually.
> >>>>
> >>>
> >>> Agree with you, but movbe is special, movbe didn't support reg to
> >>> reg
> >> before, but APX enable it. so I added .arch .noapx_f for this invalid test.
> >>
> >> To be honest I didn't really notice this difference so far. That's
> >> somewhat ugly, because people mistakenly using a reg->reg form would
> >> suddenly get an EVEX encoding rather than an error. This will need
> >> some further thought; please mention the "anomaly" explicitly in the
> description of the respective patch.
> >>
> > SPEC:
> > Note: The promoted versions of MOVBE will be extended to include the
> > “MOVBE reg1, reg2” form (namely, the ModRM.Mod = 3 case) for both
> > opcodes 0xF0 and 0xF1. This extension makes the promotion of BSWAP for
> NDD support unnecessary.
> >
> > I'll add a description of movbe to the patch 2/8 changelog.
> 
> Thanks. I did deduce the connection to BSWAP on the way home yesterday.
> Which made me come up with a (spec) question: Wouldn't it make sense to
> name these
> reg->reg forms BSWAP, not MOVBE? It doesn't really matter that they use
> reg->the
> same encoding as the MOVBE (then mem-only) forms. That would then
> eliminate the concern I raised.
> 

If we extend BSWAP, it needs to add the operation of reading ModRM.Mod. I think this is the benefit of this solution now.

> As to 2/8: I received two v2 thereof, with different titles, and a v2 of 3/8.
> But nothing else. The list archives match this. I may take a brief look, but really
> I'll await a full v2 submission for a proper new review round.
>
After we split a new patch for the EVEX_MAP4_ table, we need to insert a patch into the previous patch. I am afraid that if I change the patch number, the subsequent review will be easily confused, so I have not changed the patch number for the time being.  But for V3 I'll create a new patch  number for it.

Thanks.
  
Jan Beulich Oct. 18, 2023, 8:05 a.m. UTC | #8
On 18.10.2023 09:16, Cui, Lili wrote:
>> On 18.10.2023 04:32, Cui, Lili wrote:
>>>>>>> --- a/gas/testsuite/gas/i386/x86-64-inval-movbe.s
>>>>>>> +++ b/gas/testsuite/gas/i386/x86-64-inval-movbe.s
>>>>>>> @@ -1,5 +1,6 @@
>>>>>>>  # Check illegal movbe in 64bit mode.
>>>>>>>  	.text
>>>>>>> +	.arch .noapx_f
>>>>>>>  foo:
>>>>>>>  	movbe	(%rcx),%bl
>>>>>>>  	movbe	%ecx,%ebx
>>>>>>
>>>>>> I don't understand the need for this addition (and hence for the
>>>>>> need to change the test's expecations). Like was mentioned on the
>>>>>> original
>>>>>> AVX10 series, tests like this shall not need modification, or else
>>>>>> it indicates people's code also may need ".arch .noapx_f"
>>>>>> additions, which I'm sure you agree may not be required. Finally,
>>>>>> if testcase expecations like the above would be needed anywhere,
>>>>>> please generalize them such that a similar mere addition of a line
>>>>>> doesn't require the entire test to be touched. Here this means that
>>>>>> while for the diagnostics you of course want exact line number
>>>>>> matches, for the actual listing line numbers don't don't need matching
>> individually.
>>>>>>
>>>>>
>>>>> Agree with you, but movbe is special, movbe didn't support reg to
>>>>> reg
>>>> before, but APX enable it. so I added .arch .noapx_f for this invalid test.
>>>>
>>>> To be honest I didn't really notice this difference so far. That's
>>>> somewhat ugly, because people mistakenly using a reg->reg form would
>>>> suddenly get an EVEX encoding rather than an error. This will need
>>>> some further thought; please mention the "anomaly" explicitly in the
>> description of the respective patch.
>>>>
>>> SPEC:
>>> Note: The promoted versions of MOVBE will be extended to include the
>>> “MOVBE reg1, reg2” form (namely, the ModRM.Mod = 3 case) for both
>>> opcodes 0xF0 and 0xF1. This extension makes the promotion of BSWAP for
>> NDD support unnecessary.
>>>
>>> I'll add a description of movbe to the patch 2/8 changelog.
>>
>> Thanks. I did deduce the connection to BSWAP on the way home yesterday.
>> Which made me come up with a (spec) question: Wouldn't it make sense to
>> name these
>> reg->reg forms BSWAP, not MOVBE? It doesn't really matter that they use
>> reg->the
>> same encoding as the MOVBE (then mem-only) forms. That would then
>> eliminate the concern I raised.
>>
> 
> If we extend BSWAP, it needs to add the operation of reading ModRM.Mod. I think this is the benefit of this solution now.

I'm afraid I don't follow: I don't propose extending the original BSWAP.
I merely propose to use the BSWAP mnemonic with the reg->reg form of
what's presently called MOVBE. (As an aside, in principle no ModR/M byte
would be needed to extend the original BSWAP: One operand is encoded in
the base opcode, and the other could be encoded in VVVV. But that would
of course needlessly consume an entire row in the opcode table. Hence
why I fully understand that the opcode wants sharing with MOVBE.)

>> As to 2/8: I received two v2 thereof, with different titles, and a v2 of 3/8.
>> But nothing else. The list archives match this. I may take a brief look, but really
>> I'll await a full v2 submission for a proper new review round.
>>
> After we split a new patch for the EVEX_MAP4_ table, we need to insert a patch into the previous patch. I am afraid that if I change the patch number, the subsequent review will be easily confused, so I have not changed the patch number for the time being.  But for V3 I'll create a new patch  number for it.

Patch numbering should always match the entire series, plus it should be
the common case that complete series are sent out, not just new versions
of individual patches. In the unusual event of nevertheless doing so,
patch numbering can still be made unambiguous by e.g. (considering this
case) using 1.9/8, making clear the new patch comes ahead of the revised
original one. (Whether a new version of a series is shrunk or extended
is entirely independent of that. E.g. in the case here I could easily
see a new version combining the two series which were sent initially,
for whatever reason.)

Jan
  
Cui, Lili Oct. 18, 2023, 11:26 a.m. UTC | #9
> -----Original Message-----
> From: Jan Beulich <jbeulich@suse.com>
> Sent: Wednesday, October 18, 2023 4:06 PM
> To: Cui, Lili <lili.cui@intel.com>
> Cc: Lu, Hongjiu <hongjiu.lu@intel.com>; binutils@sourceware.org
> Subject: Re: FW: [PATCH 3/8] Add tests for APX GPR32 with extend evex prefix
> 
> On 18.10.2023 09:16, Cui, Lili wrote:
> >> On 18.10.2023 04:32, Cui, Lili wrote:
> >>>>>>> --- a/gas/testsuite/gas/i386/x86-64-inval-movbe.s
> >>>>>>> +++ b/gas/testsuite/gas/i386/x86-64-inval-movbe.s
> >>>>>>> @@ -1,5 +1,6 @@
> >>>>>>>  # Check illegal movbe in 64bit mode.
> >>>>>>>  	.text
> >>>>>>> +	.arch .noapx_f
> >>>>>>>  foo:
> >>>>>>>  	movbe	(%rcx),%bl
> >>>>>>>  	movbe	%ecx,%ebx
> >>>>>>
> >>>>>> I don't understand the need for this addition (and hence for the
> >>>>>> need to change the test's expecations). Like was mentioned on the
> >>>>>> original
> >>>>>> AVX10 series, tests like this shall not need modification, or
> >>>>>> else it indicates people's code also may need ".arch .noapx_f"
> >>>>>> additions, which I'm sure you agree may not be required. Finally,
> >>>>>> if testcase expecations like the above would be needed anywhere,
> >>>>>> please generalize them such that a similar mere addition of a
> >>>>>> line doesn't require the entire test to be touched. Here this
> >>>>>> means that while for the diagnostics you of course want exact
> >>>>>> line number matches, for the actual listing line numbers don't
> >>>>>> don't need matching
> >> individually.
> >>>>>>
> >>>>>
> >>>>> Agree with you, but movbe is special, movbe didn't support reg to
> >>>>> reg
> >>>> before, but APX enable it. so I added .arch .noapx_f for this invalid test.
> >>>>
> >>>> To be honest I didn't really notice this difference so far. That's
> >>>> somewhat ugly, because people mistakenly using a reg->reg form
> >>>> would suddenly get an EVEX encoding rather than an error. This will
> >>>> need some further thought; please mention the "anomaly" explicitly
> >>>> in the
> >> description of the respective patch.
> >>>>
> >>> SPEC:
> >>> Note: The promoted versions of MOVBE will be extended to include the
> >>> “MOVBE reg1, reg2” form (namely, the ModRM.Mod = 3 case) for both
> >>> opcodes 0xF0 and 0xF1. This extension makes the promotion of BSWAP
> >>> for
> >> NDD support unnecessary.
> >>>
> >>> I'll add a description of movbe to the patch 2/8 changelog.
> >>
> >> Thanks. I did deduce the connection to BSWAP on the way home yesterday.
> >> Which made me come up with a (spec) question: Wouldn't it make sense
> >> to name these
> >> reg->reg forms BSWAP, not MOVBE? It doesn't really matter that they
> >> reg->use the
> >> same encoding as the MOVBE (then mem-only) forms. That would then
> >> eliminate the concern I raised.
> >>
> >
> > If we extend BSWAP, it needs to add the operation of reading ModRM.Mod. I
> think this is the benefit of this solution now.
> 
> I'm afraid I don't follow: I don't propose extending the original BSWAP.
> I merely propose to use the BSWAP mnemonic with the reg->reg form of
> what's presently called MOVBE. (As an aside, in principle no ModR/M byte
> would be needed to extend the original BSWAP: One operand is encoded in
> the base opcode, and the other could be encoded in VVVV. But that would of
> course needlessly consume an entire row in the opcode table. Hence why I
> fully understand that the opcode wants sharing with MOVBE.)
> 

I think it's a trade-off between functionality closer to BSWAP and opcode closer to MOVBE. Since the spec was published and gcc has committed the patch to the community, I think it would be hard to push it to change.

> >> As to 2/8: I received two v2 thereof, with different titles, and a v2 of 3/8.
> >> But nothing else. The list archives match this. I may take a brief
> >> look, but really I'll await a full v2 submission for a proper new review
> round.
> >>
> > After we split a new patch for the EVEX_MAP4_ table, we need to insert a
> patch into the previous patch. I am afraid that if I change the patch number,
> the subsequent review will be easily confused, so I have not changed the patch
> number for the time being.  But for V3 I'll create a new patch  number for it.
> 
> Patch numbering should always match the entire series, plus it should be the
> common case that complete series are sent out, not just new versions of
> individual patches. In the unusual event of nevertheless doing so, patch
> numbering can still be made unambiguous by e.g. (considering this
> case) using 1.9/8, making clear the new patch comes ahead of the revised
> original one. (Whether a new version of a series is shrunk or extended is
> entirely independent of that. E.g. in the case here I could easily see a new
> version combining the two series which were sent initially, for whatever
> reason.)
> 

Got it, thank you very much.

Lili.
  
Jan Beulich Oct. 18, 2023, 12:06 p.m. UTC | #10
On 18.10.2023 13:26, Cui, Lili wrote:
>> From: Jan Beulich <jbeulich@suse.com>
>> Sent: Wednesday, October 18, 2023 4:06 PM
>>
>> On 18.10.2023 09:16, Cui, Lili wrote:
>>>> On 18.10.2023 04:32, Cui, Lili wrote:
>>>>>>>>> --- a/gas/testsuite/gas/i386/x86-64-inval-movbe.s
>>>>>>>>> +++ b/gas/testsuite/gas/i386/x86-64-inval-movbe.s
>>>>>>>>> @@ -1,5 +1,6 @@
>>>>>>>>>  # Check illegal movbe in 64bit mode.
>>>>>>>>>  	.text
>>>>>>>>> +	.arch .noapx_f
>>>>>>>>>  foo:
>>>>>>>>>  	movbe	(%rcx),%bl
>>>>>>>>>  	movbe	%ecx,%ebx
>>>>>>>>
>>>>>>>> I don't understand the need for this addition (and hence for the
>>>>>>>> need to change the test's expecations). Like was mentioned on the
>>>>>>>> original
>>>>>>>> AVX10 series, tests like this shall not need modification, or
>>>>>>>> else it indicates people's code also may need ".arch .noapx_f"
>>>>>>>> additions, which I'm sure you agree may not be required. Finally,
>>>>>>>> if testcase expecations like the above would be needed anywhere,
>>>>>>>> please generalize them such that a similar mere addition of a
>>>>>>>> line doesn't require the entire test to be touched. Here this
>>>>>>>> means that while for the diagnostics you of course want exact
>>>>>>>> line number matches, for the actual listing line numbers don't
>>>>>>>> don't need matching
>>>> individually.
>>>>>>>>
>>>>>>>
>>>>>>> Agree with you, but movbe is special, movbe didn't support reg to
>>>>>>> reg
>>>>>> before, but APX enable it. so I added .arch .noapx_f for this invalid test.
>>>>>>
>>>>>> To be honest I didn't really notice this difference so far. That's
>>>>>> somewhat ugly, because people mistakenly using a reg->reg form
>>>>>> would suddenly get an EVEX encoding rather than an error. This will
>>>>>> need some further thought; please mention the "anomaly" explicitly
>>>>>> in the
>>>> description of the respective patch.
>>>>>>
>>>>> SPEC:
>>>>> Note: The promoted versions of MOVBE will be extended to include the
>>>>> “MOVBE reg1, reg2” form (namely, the ModRM.Mod = 3 case) for both
>>>>> opcodes 0xF0 and 0xF1. This extension makes the promotion of BSWAP
>>>>> for
>>>> NDD support unnecessary.
>>>>>
>>>>> I'll add a description of movbe to the patch 2/8 changelog.
>>>>
>>>> Thanks. I did deduce the connection to BSWAP on the way home yesterday.
>>>> Which made me come up with a (spec) question: Wouldn't it make sense
>>>> to name these
>>>> reg->reg forms BSWAP, not MOVBE? It doesn't really matter that they
>>>> reg->use the
>>>> same encoding as the MOVBE (then mem-only) forms. That would then
>>>> eliminate the concern I raised.
>>>>
>>>
>>> If we extend BSWAP, it needs to add the operation of reading ModRM.Mod. I
>> think this is the benefit of this solution now.
>>
>> I'm afraid I don't follow: I don't propose extending the original BSWAP.
>> I merely propose to use the BSWAP mnemonic with the reg->reg form of
>> what's presently called MOVBE. (As an aside, in principle no ModR/M byte
>> would be needed to extend the original BSWAP: One operand is encoded in
>> the base opcode, and the other could be encoded in VVVV. But that would of
>> course needlessly consume an entire row in the opcode table. Hence why I
>> fully understand that the opcode wants sharing with MOVBE.)
>>
> 
> I think it's a trade-off between functionality closer to BSWAP and opcode closer to MOVBE. Since the spec was published and gcc has committed the patch to the community, I think it would be hard to push it to change.

In which case I wonder how one could influence such decisions, when the first
publication of such a spec already means things are set in stone. I was hoping
that only inclusion in the SDM would mean no (easy) changes anymore.

Jan
  
Cui, Lili Oct. 25, 2023, 4:03 p.m. UTC | #11
> Subject: Re: FW: [PATCH 3/8] Add tests for APX GPR32 with extend evex prefix
> 
> On 18.10.2023 13:26, Cui, Lili wrote:
> >> From: Jan Beulich <jbeulich@suse.com>
> >> Sent: Wednesday, October 18, 2023 4:06 PM
> >>
> >> On 18.10.2023 09:16, Cui, Lili wrote:
> >>>> On 18.10.2023 04:32, Cui, Lili wrote:
> >>>>>>>>> --- a/gas/testsuite/gas/i386/x86-64-inval-movbe.s
> >>>>>>>>> +++ b/gas/testsuite/gas/i386/x86-64-inval-movbe.s
> >>>>>>>>> @@ -1,5 +1,6 @@
> >>>>>>>>>  # Check illegal movbe in 64bit mode.
> >>>>>>>>>  	.text
> >>>>>>>>> +	.arch .noapx_f
> >>>>>>>>>  foo:
> >>>>>>>>>  	movbe	(%rcx),%bl
> >>>>>>>>>  	movbe	%ecx,%ebx
> >>>>>>>>
> >>>>>>>> I don't understand the need for this addition (and hence for
> >>>>>>>> the need to change the test's expecations). Like was mentioned
> >>>>>>>> on the original
> >>>>>>>> AVX10 series, tests like this shall not need modification, or
> >>>>>>>> else it indicates people's code also may need ".arch .noapx_f"
> >>>>>>>> additions, which I'm sure you agree may not be required.
> >>>>>>>> Finally, if testcase expecations like the above would be needed
> >>>>>>>> anywhere, please generalize them such that a similar mere
> >>>>>>>> addition of a line doesn't require the entire test to be
> >>>>>>>> touched. Here this means that while for the diagnostics you of
> >>>>>>>> course want exact line number matches, for the actual listing
> >>>>>>>> line numbers don't don't need matching
> >>>> individually.
> >>>>>>>>
> >>>>>>>
> >>>>>>> Agree with you, but movbe is special, movbe didn't support reg
> >>>>>>> to reg
> >>>>>> before, but APX enable it. so I added .arch .noapx_f for this invalid
> test.
> >>>>>>
> >>>>>> To be honest I didn't really notice this difference so far.
> >>>>>> That's somewhat ugly, because people mistakenly using a reg->reg
> >>>>>> form would suddenly get an EVEX encoding rather than an error.
> >>>>>> This will need some further thought; please mention the "anomaly"
> >>>>>> explicitly in the
> >>>> description of the respective patch.
> >>>>>>
> >>>>> SPEC:
> >>>>> Note: The promoted versions of MOVBE will be extended to include
> >>>>> the “MOVBE reg1, reg2” form (namely, the ModRM.Mod = 3 case) for
> >>>>> both opcodes 0xF0 and 0xF1. This extension makes the promotion of
> >>>>> BSWAP for
> >>>> NDD support unnecessary.
> >>>>>
> >>>>> I'll add a description of movbe to the patch 2/8 changelog.
> >>>>
> >>>> Thanks. I did deduce the connection to BSWAP on the way home
> yesterday.
> >>>> Which made me come up with a (spec) question: Wouldn't it make
> >>>> sense to name these
> >>>> reg->reg forms BSWAP, not MOVBE? It doesn't really matter that they
> >>>> reg->use the
> >>>> same encoding as the MOVBE (then mem-only) forms. That would then
> >>>> eliminate the concern I raised.
> >>>>
> >>>
> >>> If we extend BSWAP, it needs to add the operation of reading
> >>> ModRM.Mod. I
> >> think this is the benefit of this solution now.
> >>
> >> I'm afraid I don't follow: I don't propose extending the original BSWAP.
> >> I merely propose to use the BSWAP mnemonic with the reg->reg form of
> >> what's presently called MOVBE. (As an aside, in principle no ModR/M
> >> byte would be needed to extend the original BSWAP: One operand is
> >> encoded in the base opcode, and the other could be encoded in VVVV.
> >> But that would of course needlessly consume an entire row in the
> >> opcode table. Hence why I fully understand that the opcode wants
> >> sharing with MOVBE.)
> >>
> >
> > I think it's a trade-off between functionality closer to BSWAP and opcode
> closer to MOVBE. Since the spec was published and gcc has committed the
> patch to the community, I think it would be hard to push it to change.
> 
> In which case I wonder how one could influence such decisions, when the first
> publication of such a spec already means things are set in stone. I was hoping
> that only inclusion in the SDM would mean no (easy) changes anymore.
> 

We feedback this issue to the author, he said : mobve has the same operation as bswap, while bswap only has 1 operand. Movbe has src and dest. The reason for introducing movbe is that we don't want to promote bswap.

Lili.
  

Patch

diff --git a/gas/testsuite/gas/i386/x86-64-apx-egpr-inval.l b/gas/testsuite/gas/i386/x86-64-apx-egpr-inval.l
index c419f449f27..2fc8a4cc5f0 100644
--- a/gas/testsuite/gas/i386/x86-64-apx-egpr-inval.l
+++ b/gas/testsuite/gas/i386/x86-64-apx-egpr-inval.l
@@ -12,9 +12,197 @@ 
 .*:16: Error: register type mismatch for `xsaveopt64'
 .*:17: Error: register type mismatch for `xsavec'
 .*:18: Error: register type mismatch for `xsavec64'
+.*:20: Error: register type mismatch for `phaddw'
+.*:21: Error: register type mismatch for `phaddd'
+.*:22: Error: register type mismatch for `phaddsw'
+.*:23: Error: register type mismatch for `phsubw'
+.*:24: Error: register type mismatch for `pmaddubsw'
+.*:25: Error: register type mismatch for `pmulhrsw'
+.*:26: Error: register type mismatch for `pshufb'
+.*:27: Error: register type mismatch for `psignb'
+.*:28: Error: register type mismatch for `psignw'
+.*:29: Error: register type mismatch for `psignd'
+.*:30: Error: register type mismatch for `palignr'
+.*:31: Error: register type mismatch for `pabsb'
+.*:32: Error: register type mismatch for `pabsw'
+.*:33: Error: register type mismatch for `pabsd'
+.*:34: Error: register type mismatch for `blendpd'
+.*:35: Error: register type mismatch for `blendps'
+.*:36: Error: register type mismatch for `blendvpd'
+.*:37: Error: register type mismatch for `blendvps'
+.*:38: Error: register type mismatch for `blendvpd'
+.*:39: Error: register type mismatch for `blendvps'
+.*:40: Error: register type mismatch for `dppd'
+.*:41: Error: register type mismatch for `dpps'
+.*:42: Error: register type mismatch for `extractps'
+.*:43: Error: register type mismatch for `extractps'
+.*:44: Error: register type mismatch for `insertps'
+.*:45: Error: register type mismatch for `movntdqa'
+.*:46: Error: register type mismatch for `mpsadbw'
+.*:47: Error: register type mismatch for `packusdw'
+.*:48: Error: register type mismatch for `pblendvb'
+.*:49: Error: register type mismatch for `pblendvb'
+.*:50: Error: register type mismatch for `pblendw'
+.*:51: Error: register type mismatch for `pcmpeqq'
+.*:52: Error: register type mismatch for `pextrb'
+.*:53: Error: register type mismatch for `pextrw'
+.*:54: Error: register type mismatch for `pextrb'
+.*:55: Error: register type mismatch for `pextrd'
+.*:56: Error: register type mismatch for `pextrd'
+.*:57: Error: register type mismatch for `phminposuw'
+.*:58: Error: register type mismatch for `pinsrb'
+.*:59: Error: register type mismatch for `pinsrb'
+.*:60: Error: register type mismatch for `pinsrd'
+.*:61: Error: register type mismatch for `pinsrd'
+.*:62: Error: register type mismatch for `pinsrq'
+.*:63: Error: register type mismatch for `pinsrq'
+.*:64: Error: register type mismatch for `pmaxsb'
+.*:65: Error: register type mismatch for `pmaxsd'
+.*:66: Error: register type mismatch for `pmaxud'
+.*:67: Error: register type mismatch for `pmaxuw'
+.*:68: Error: register type mismatch for `pminsb'
+.*:69: Error: register type mismatch for `pminsd'
+.*:70: Error: register type mismatch for `pminud'
+.*:71: Error: register type mismatch for `pminuw'
+.*:72: Error: register type mismatch for `pmovsxbw'
+.*:73: Error: register type mismatch for `pmovsxbd'
+.*:74: Error: register type mismatch for `pmovsxbq'
+.*:75: Error: register type mismatch for `pmovsxwd'
+.*:76: Error: register type mismatch for `pmovsxwq'
+.*:77: Error: register type mismatch for `pmovsxdq'
+.*:78: Error: register type mismatch for `pmovsxbw'
+.*:79: Error: register type mismatch for `pmovzxbd'
+.*:80: Error: register type mismatch for `pmovzxbq'
+.*:81: Error: register type mismatch for `pmovzxwd'
+.*:82: Error: register type mismatch for `pmovzxwq'
+.*:83: Error: register type mismatch for `pmovzxdq'
+.*:84: Error: register type mismatch for `pmuldq'
+.*:85: Error: register type mismatch for `pmulld'
+.*:86: Error: register type mismatch for `roundpd'
+.*:87: Error: register type mismatch for `roundps'
+.*:88: Error: register type mismatch for `roundsd'
+.*:89: Error: register type mismatch for `roundss'
+.*:90: Error: register type mismatch for `pcmpgtq'
+.*:91: Error: register type mismatch for `pcmpestri'
+.*:92: Error: register type mismatch for `pcmpestrm'
+.*:93: Error: register type mismatch for `pcmpistri'
+.*:94: Error: register type mismatch for `pcmpistrm'
+.*:96: Error: register type mismatch for `aesdec'
+.*:97: Error: register type mismatch for `aesdeclast'
+.*:98: Error: register type mismatch for `aesenc'
+.*:99: Error: register type mismatch for `aesenclast'
+.*:100: Error: register type mismatch for `aesimc'
+.*:101: Error: register type mismatch for `aeskeygenassist'
+.*:102: Error: register type mismatch for `pclmulqdq'
+.*:103: Error: register type mismatch for `pclmullqlqdq'
+.*:104: Error: register type mismatch for `pclmulhqlqdq'
+.*:105: Error: register type mismatch for `pclmullqhqdq'
+.*:106: Error: register type mismatch for `pclmulhqhqdq'
+.*:108: Error: register type mismatch for `gf2p8affineqb'
+.*:109: Error: register type mismatch for `gf2p8affineinvqb'
+.*:110: Error: register type mismatch for `gf2p8mulb'
+.*:112: Error: register type mismatch for `vblendpd'
+.*:113: Error: register type mismatch for `vblendpd'
+.*:114: Error: register type mismatch for `vblendps'
+.*:115: Error: register type mismatch for `vblendps'
+.*:116: Error: register type mismatch for `vblendvpd'
+.*:117: Error: register type mismatch for `vblendvpd'
+.*:118: Error: register type mismatch for `vblendvps'
+.*:119: Error: register type mismatch for `vblendvps'
+.*:120: Error: register type mismatch for `vdppd'
+.*:121: Error: register type mismatch for `vdpps'
+.*:122: Error: register type mismatch for `vdpps'
+.*:123: Error: register type mismatch for `vhaddpd'
+.*:124: Error: register type mismatch for `vhaddpd'
+.*:125: Error: register type mismatch for `vhsubps'
+.*:126: Error: register type mismatch for `vhsubps'
+.*:127: Error: register type mismatch for `vlddqu'
+.*:128: Error: register type mismatch for `vlddqu'
+.*:129: Error: register type mismatch for `vldmxcsr'
+.*:130: Error: register type mismatch for `vmaskmovpd'
+.*:131: Error: register type mismatch for `vmaskmovpd'
+.*:132: Error: register type mismatch for `vmaskmovps'
+.*:133: Error: register type mismatch for `vmaskmovps'
+.*:134: Error: register type mismatch for `vmaskmovpd'
+.*:135: Error: register type mismatch for `vmaskmovpd'
+.*:136: Error: register type mismatch for `vmaskmovps'
+.*:137: Error: register type 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 mismatch for `vpblendvb'
+.*:143: Error: register type mismatch for `vpblendvb'
+.*:144: Error: register type mismatch for `vpblendw'
+.*:145: Error: register type mismatch for `vpblendw'
+.*:146: Error: register type mismatch for `vpcmpestri'
+.*:147: Error: register type mismatch for `vpcmpestrm'
+.*:148: Error: register type mismatch for `vperm2f128'
+.*:149: Error: register type mismatch for `vphaddd'
+.*:150: Error: register type mismatch for `vphaddsw'
+.*:151: Error: register type mismatch for `vphaddw'
+.*:152: Error: register type mismatch for `vphsubd'
+.*:153: Error: register type mismatch for `vphsubsw'
+.*:154: Error: register type mismatch for `vphsubw'
+.*:155: Error: register type mismatch for `vphaddd'
+.*:156: Error: register type mismatch for `vphaddsw'
+.*:157: Error: register type mismatch for `vphaddw'
+.*:158: Error: register type mismatch for `vphsubd'
+.*:159: Error: register type mismatch for `vphsubsw'
+.*:160: Error: register type mismatch for `vphsubw'
+.*:161: Error: register type mismatch for `vphminposuw'
+.*:162: Error: register type mismatch for `vpmovmskb'
+.*:163: Error: register type mismatch for `vpmovmskb'
+.*:164: Error: register type mismatch for `vpsignb'
+.*:165: Error: register type mismatch for `vpsignw'
+.*:166: Error: register type mismatch for `vpsignd'
+.*:167: Error: register type mismatch for `vpsignb'
+.*:168: Error: register type mismatch for `vpsignw'
+.*:169: Error: register type mismatch for `vpsignd'
+.*:170: Error: register type mismatch for `vptest'
+.*:171: Error: register type mismatch for `vptest'
+.*:172: Error: register type mismatch for `vrcpps'
+.*:173: Error: register type mismatch for `vrcpps'
+.*:174: Error: register type mismatch for `vrcpss'
+.*:175: Error: register type mismatch for `vrsqrtps'
+.*:176: Error: register type mismatch for `vrsqrtps'
+.*:177: Error: register type mismatch for `vrsqrtss'
+.*:178: Error: register type mismatch for `vstmxcsr'
+.*:179: Error: register type mismatch for `vtestps'
+.*:180: Error: register type mismatch for `vtestps'
+.*:181: Error: register type mismatch for `vtestpd'
+.*:182: Error: register type mismatch for `vtestps'
+.*:183: Error: register type mismatch for `vtestpd'
+.*:184: Error: register type mismatch for `vpblendd'
+.*:185: Error: register type mismatch for `vpblendd'
+.*:186: Error: register type mismatch for `vperm2i128'
+.*:187: Error: register type mismatch for `vpmaskmovd'
+.*:188: Error: register type mismatch for `vpmaskmovd'
+.*:189: Error: register type mismatch for `vpmaskmovq'
+.*:190: Error: register type mismatch for `vpmaskmovq'
+.*:191: Error: register type mismatch for `vpmaskmovd'
+.*:192: Error: register type mismatch for `vpmaskmovd'
+.*:193: Error: register type mismatch for `vpmaskmovq'
+.*:194: Error: register type mismatch for `vpmaskmovq'
+.*:195: Error: register type mismatch for `vaesimc'
+.*:196: Error: register type mismatch for `vaeskeygenassist'
+.*:197: Error: register type mismatch for `vroundpd'
+.*:198: Error: register type mismatch for `vroundps'
+.*:199: Error: register type mismatch for `vroundsd'
+.*:200: Error: register type mismatch for `vroundss'
+.*:201: Error: register type mismatch for `vpcmpistri'
+.*:202: Error: register type mismatch for `vpcmpistrm'
+.*:203: Error: register type mismatch for `vpcmpeqb'
+.*:204: Error: register type mismatch for `vpcmpeqw'
+.*:205: Error: register type mismatch for `vpcmpeqd'
+.*:206: Error: register type mismatch for `vpcmpeqq'
+.*:207: Error: register type mismatch for `vpcmpgtb'
+.*:208: Error: register type mismatch for `vpcmpgtw'
+.*:209: Error: register type mismatch for `vpcmpgtd'
+.*:210: Error: register type mismatch for `vpcmpgtq'
 GAS LISTING .*
 #...
-[ 	]*1[ 	]+\# Check Illegal 64bit APX instructions
+[ 	]*1[ 	]+\# Check illegal 64bit APX instructions
 [ 	]*2[ 	]+\.text
 [ 	]*3[ 	]+\.arch \.noapx_f
 [ 	]*4[ 	]+test    \$0x7, %r17d
diff --git a/gas/testsuite/gas/i386/x86-64-apx-egpr-inval.s b/gas/testsuite/gas/i386/x86-64-apx-egpr-inval.s
index 5249b888046..cbac896fd28 100644
--- 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 instructions
+# Check illegal 64bit APX instructions
 	.text
 	.arch .noapx_f
 	test    $0x7, %r17d
@@ -16,3 +16,195 @@ 
 	xsaveopt64 (%r16, %rbx)
 	xsavec (%r16, %rbx)
 	xsavec64 (%r16, %rbx)
+#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)
+	pextrw $100,%xmm4,(%r22)
+	pextrb $100,%xmm4,%r22
+	pextrd $100,%xmm4,%r22d
+	pextrd $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
+	pcmpgtq (%r25),%xmm4
+	pcmpestri $100,(%r25),%xmm6
+	pcmpestrm $100,(%r25),%xmm6
+	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 $100,(%r24),%xmm6
+	vroundps $100,(%r24),%xmm6
+	vroundsd $100,(%r24),%xmm6,%xmm3
+	vroundss $100,(%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
diff --git a/gas/testsuite/gas/i386/x86-64-apx-egpr-promote-inval.l b/gas/testsuite/gas/i386/x86-64-apx-egpr-promote-inval.l
new file mode 100644
index 00000000000..07f18c8ba33
--- /dev/null
+++ b/gas/testsuite/gas/i386/x86-64-apx-egpr-promote-inval.l
@@ -0,0 +1,17 @@ 
+.*: Assembler messages:
+.*:5: Error: `movbe' is not supported on `x86_64.nomovbe'
+.*:6: Error: `movbe' is not supported on `x86_64.nomovbe'
+.*:8: Error: `invept' is not supported on `x86_64.nomovbe.noept'
+.*:9: Error: `invept' is not supported on `x86_64.nomovbe.noept'
+.*:11: Error: `kmovq' is not supported on `x86_64.nomovbe.noept.noavx512bw'
+.*:12: Error: `kmovq' is not supported on `x86_64.nomovbe.noept.noavx512bw'
+.*:14: Error: `kmovb' is not supported on `x86_64.nomovbe.noept.noavx512bw.noavx512dq'
+.*:15: Error: `kmovb' is not supported on `x86_64.nomovbe.noept.noavx512bw.noavx512dq'
+.*:17: Error: `kmovw' is not supported on `x86_64.nomovbe.noept.noavx512bw.noavx512dq.noavx512f'
+.*:18: 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
+[ 	]*3[ 	]+\.arch \.apx_f
+#pass
diff --git a/gas/testsuite/gas/i386/x86-64-apx-egpr-promote-inval.s b/gas/testsuite/gas/i386/x86-64-apx-egpr-promote-inval.s
new file mode 100644
index 00000000000..23d6fd13475
--- /dev/null
+++ b/gas/testsuite/gas/i386/x86-64-apx-egpr-promote-inval.s
@@ -0,0 +1,18 @@ 
+# Check illegal 64bit APX EVEX promoted instructions
+	.text
+	.arch .apx_f
+	.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
diff --git a/gas/testsuite/gas/i386/x86-64-apx-evex-egpr.d b/gas/testsuite/gas/i386/x86-64-apx-evex-egpr.d
new file mode 100644
index 00000000000..29b685f7bef
--- /dev/null
+++ b/gas/testsuite/gas/i386/x86-64-apx-evex-egpr.d
@@ -0,0 +1,22 @@ 
+#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 08 	vbroadcasti32x4 \(%r16,%r17,1\),%zmm0
+\s*[a-f0-9]+:\s*62 f9 f9 48 72 04 08 00 	vprorq \$0x0,\(%r16,%r17,1\),%zmm0
+\s*[a-f0-9]+:\s*62 f9 f9 48 72 0c 08 00 	vprolq \$0x0,\(%r16,%r17,1\),%zmm0
+\s*[a-f0-9]+:\s*62 f9 f9 48 73 14 08 00 	vpsrlq \$0x0,\(%r16,%r17,1\),%zmm0
+\s*[a-f0-9]+:\s*62 f9 79 48 73 1c 08 00 	vpsrldq \$0x0,\(%r16,%r17,1\),%zmm0
+\s*[a-f0-9]+:\s*62 f9 f9 48 72 24 08 00 	vpsraq \$0x0,\(%r16,%r17,1\),%zmm0
+\s*[a-f0-9]+:\s*62 f9 f9 48 73 34 08 00 	vpsllq \$0x0,\(%r16,%r17,1\),%zmm0
+\s*[a-f0-9]+:\s*62 f9 79 48 73 3c 08 00 	vpslldq \$0x0,\(%r16,%r17,1\),%zmm0
+\s*[a-f0-9]+:\s*62 eb 7d 08 17 c0 01 	vextractps \$0x1,%xmm16,%r16d
+#pass
diff --git a/gas/testsuite/gas/i386/x86-64-apx-evex-egpr.s b/gas/testsuite/gas/i386/x86-64-apx-evex-egpr.s
new file mode 100644
index 00000000000..29b076821f0
--- /dev/null
+++ b/gas/testsuite/gas/i386/x86-64-apx-evex-egpr.s
@@ -0,0 +1,25 @@ 
+# Check 64bit old evex instructions use gpr32 with evex prefix encoding
+
+	.allow_index_reg
+	.text
+_start:
+## MRMDestMem
+         vextractf32x4	$1, %zmm0, (%r16,%r17)
+## MRMSrcMem
+         vbroadcasti32x4	(%r16,%r17), %zmm0
+## MRM0m
+         vprorq	$0, (%r16,%r17), %zmm0
+## MRM1m
+         vprolq	$0, (%r16,%r17), %zmm0
+## MRM2m
+         vpsrlq	$0, (%r16,%r17), %zmm0
+## MRM3m
+         vpsrldq	$0, (%r16,%r17), %zmm0
+## MRM4m
+         vpsraq	$0, (%r16,%r17), %zmm0
+## MRM6m
+         vpsllq	$0, (%r16,%r17), %zmm0
+## MRM7m
+         vpslldq	$0, (%r16,%r17), %zmm0
+## MRMDestReg
+         vextractps	$1, %xmm16, %r16d
diff --git a/gas/testsuite/gas/i386/x86-64-apx-evex-promoted-intel.d b/gas/testsuite/gas/i386/x86-64-apx-evex-promoted-intel.d
new file mode 100644
index 00000000000..3528943a10c
--- /dev/null
+++ b/gas/testsuite/gas/i386/x86-64-apx-evex-promoted-intel.d
@@ -0,0 +1,740 @@ 
+#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>:
+\s*[a-f0-9]+:\s*62 4c 7c 08 fc 8c 87 23 01 00 00\s+aadd\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],r25d
+\s*[a-f0-9]+:\s*62 4c fc 08 fc bc 87 23 01 00 00\s+aadd\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],r31
+\s*[a-f0-9]+:\s*62 4c 7d 08 fc 8c 87 23 01 00 00\s+aand\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],r25d
+\s*[a-f0-9]+:\s*62 4c fd 08 fc bc 87 23 01 00 00\s+aand\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],r31
+\s*[a-f0-9]+:\s*d5 10 80 d0 7b\s+adc\s+r16b,0x7b
+\s*[a-f0-9]+:\s*66 d5 10 83 d2 7b\s+adc\s+r18w,0x7b
+\s*[a-f0-9]+:\s*d5 11 83 d1 7b\s+adc\s+r25d,0x7b
+\s*[a-f0-9]+:\s*d5 19 83 d7 7b\s+adc\s+r31,0x7b
+\s*[a-f0-9]+:\s*d5 10 80 94 80 23 01 00 00 7b\s+adc\s+BYTE PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*66 d5 10 83 94 80 23 01 00 00 7b\s+adc\s+WORD PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 10 83 94 80 23 01 00 00 7b\s+adc\s+DWORD PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 18 83 94 80 23 01 00 00 7b\s+adc\s+QWORD PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*66 d5 11 83 94 87 23 01 00 00 7b\s+adc\s+WORD PTR\s+\[r31\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 11 83 94 87 23 01 00 00 7b\s+adc\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 19 83 94 87 23 01 00 00 7b\s+adc\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 40 10 c2\s+adc\s+dl,r16b
+\s*[a-f0-9]+:\s*d5 51 10 84 87 23 01 00 00\s+adc\s+BYTE PTR\s+\[r31\+rax\*4\+0x123\],r16b
+\s*[a-f0-9]+:\s*66 d5 40 11 d0\s+adc\s+ax,r18w
+\s*[a-f0-9]+:\s*66 d5 50 11 94 80 23 01 00 00\s+adc\s+WORD PTR\s+\[r16\+rax\*4\+0x123\],r18w
+\s*[a-f0-9]+:\s*66 d5 51 11 94 87 23 01 00 00\s+adc\s+WORD PTR\s+\[r31\+rax\*4\+0x123\],r18w
+\s*[a-f0-9]+:\s*d5 44 11 ca\s+adc\s+edx,r25d
+\s*[a-f0-9]+:\s*d5 55 11 8c 87 23 01 00 00\s+adc\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],r25d
+\s*[a-f0-9]+:\s*d5 4d 11 ff\s+adc\s+r15,r31
+\s*[a-f0-9]+:\s*d5 5d 11 bc 87 23 01 00 00\s+adc\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],r31
+\s*[a-f0-9]+:\s*d5 50 12 84 80 23 01 00 00\s+adc\s+r16b,BYTE PTR\s+\[r16\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 5c 13 bc 80 23 01 00 00\s+adc\s+r31,QWORD PTR\s+\[r16\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*66 d5 51 13 94 87 23 01 00 00\s+adc\s+r18w,WORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 55 13 8c 87 23 01 00 00\s+adc\s+r25d,DWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 5d 13 bc 87 23 01 00 00\s+adc\s+r31,QWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*62 dc 7d 08 66 d1\s+adcx\s+edx,r25d
+\s*[a-f0-9]+:\s*62 5c fd 08 66 ff\s+adcx\s+r15,r31
+\s*[a-f0-9]+:\s*62 6c fd 08 66 bc 80 23 01 00 00\s+adcx\s+r31,QWORD PTR\s+\[r16\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*62 4c 7d 08 66 8c 87 23 01 00 00\s+adcx\s+r25d,DWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 10 80 c0 7b\s+add\s+r16b,0x7b
+\s*[a-f0-9]+:\s*66 d5 10 83 c2 7b\s+add\s+r18w,0x7b
+\s*[a-f0-9]+:\s*d5 11 83 c1 7b\s+add\s+r25d,0x7b
+\s*[a-f0-9]+:\s*d5 19 83 c7 7b\s+add\s+r31,0x7b
+\s*[a-f0-9]+:\s*d5 10 80 84 80 23 01 00 00 7b\s+add\s+BYTE PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*66 d5 10 83 84 80 23 01 00 00 7b\s+add\s+WORD PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 10 83 84 80 23 01 00 00 7b\s+add\s+DWORD PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 18 83 84 80 23 01 00 00 7b\s+add\s+QWORD PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*66 d5 11 83 84 87 23 01 00 00 7b\s+add\s+WORD PTR\s+\[r31\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 11 83 84 87 23 01 00 00 7b\s+add\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 19 83 84 87 23 01 00 00 7b\s+add\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 40 00 c2\s+add\s+dl,r16b
+\s*[a-f0-9]+:\s*d5 51 00 84 87 23 01 00 00\s+add\s+BYTE PTR\s+\[r31\+rax\*4\+0x123\],r16b
+\s*[a-f0-9]+:\s*66 d5 40 01 d0\s+add\s+ax,r18w
+\s*[a-f0-9]+:\s*66 d5 50 01 94 80 23 01 00 00\s+add\s+WORD PTR\s+\[r16\+rax\*4\+0x123\],r18w
+\s*[a-f0-9]+:\s*66 d5 51 01 94 87 23 01 00 00\s+add\s+WORD PTR\s+\[r31\+rax\*4\+0x123\],r18w
+\s*[a-f0-9]+:\s*d5 44 01 ca\s+add\s+edx,r25d
+\s*[a-f0-9]+:\s*d5 55 01 8c 87 23 01 00 00\s+add\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],r25d
+\s*[a-f0-9]+:\s*d5 4d 01 ff\s+add\s+r15,r31
+\s*[a-f0-9]+:\s*d5 5d 01 bc 87 23 01 00 00\s+add\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],r31
+\s*[a-f0-9]+:\s*d5 50 02 84 80 23 01 00 00\s+add\s+r16b,BYTE PTR\s+\[r16\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 5c 03 bc 80 23 01 00 00\s+add\s+r31,QWORD PTR\s+\[r16\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*66 d5 51 03 94 87 23 01 00 00\s+add\s+r18w,WORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 55 03 8c 87 23 01 00 00\s+add\s+r25d,DWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 5d 03 bc 87 23 01 00 00\s+add\s+r31,QWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*62 dc 7e 08 66 d1\s+adox\s+edx,r25d
+\s*[a-f0-9]+:\s*62 5c fe 08 66 ff\s+adox\s+r15,r31
+\s*[a-f0-9]+:\s*62 6c fe 08 66 bc 80 23 01 00 00\s+adox\s+r31,QWORD PTR\s+\[r16\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*62 4c 7e 08 66 8c 87 23 01 00 00\s+adox\s+r25d,DWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*62 cc 7e 08 dd b4 87 23 01 00 00\s+aesdec128kl xmm22,\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*62 cc 7e 08 df b4 87 23 01 00 00\s+aesdec256kl xmm22,\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*62 dc 7e 08 d8 8c 87 23 01 00 00\s+aesdecwide128kl\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*62 dc 7e 08 d8 9c 87 23 01 00 00\s+aesdecwide256kl\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*62 cc 7e 08 dc b4 87 23 01 00 00\s+aesenc128kl xmm22,\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*62 cc 7e 08 de b4 87 23 01 00 00\s+aesenc256kl xmm22,\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*62 dc 7e 08 d8 84 87 23 01 00 00\s+aesencwide128kl\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*62 dc 7e 08 d8 94 87 23 01 00 00\s+aesencwide256kl\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 10 80 e0 7b\s+and\s+r16b,0x7b
+\s*[a-f0-9]+:\s*66 d5 10 83 e2 7b\s+and\s+r18w,0x7b
+\s*[a-f0-9]+:\s*d5 11 83 e1 7b\s+and\s+r25d,0x7b
+\s*[a-f0-9]+:\s*d5 19 83 e7 7b\s+and\s+r31,0x7b
+\s*[a-f0-9]+:\s*d5 10 80 a4 80 23 01 00 00 7b\s+and\s+BYTE PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*66 d5 10 83 a4 80 23 01 00 00 7b\s+and\s+WORD PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 10 83 a4 80 23 01 00 00 7b\s+and\s+DWORD PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 18 83 a4 80 23 01 00 00 7b\s+and\s+QWORD PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*66 d5 11 83 a4 87 23 01 00 00 7b\s+and\s+WORD PTR\s+\[r31\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 11 83 a4 87 23 01 00 00 7b\s+and\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 19 83 a4 87 23 01 00 00 7b\s+and\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 40 20 c2\s+and\s+dl,r16b
+\s*[a-f0-9]+:\s*d5 51 20 84 87 23 01 00 00\s+and\s+BYTE PTR\s+\[r31\+rax\*4\+0x123\],r16b
+\s*[a-f0-9]+:\s*66 d5 40 21 d0\s+and\s+ax,r18w
+\s*[a-f0-9]+:\s*66 d5 50 21 94 80 23 01 00 00\s+and\s+WORD PTR\s+\[r16\+rax\*4\+0x123\],r18w
+\s*[a-f0-9]+:\s*66 d5 51 21 94 87 23 01 00 00\s+and\s+WORD PTR\s+\[r31\+rax\*4\+0x123\],r18w
+\s*[a-f0-9]+:\s*d5 44 21 ca\s+and\s+edx,r25d
+\s*[a-f0-9]+:\s*d5 55 21 8c 87 23 01 00 00\s+and\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],r25d
+\s*[a-f0-9]+:\s*d5 4d 21 ff\s+and\s+r15,r31
+\s*[a-f0-9]+:\s*d5 5d 21 bc 87 23 01 00 00\s+and\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],r31
+\s*[a-f0-9]+:\s*d5 50 22 84 80 23 01 00 00\s+and\s+r16b,BYTE PTR\s+\[r16\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 5c 23 bc 80 23 01 00 00\s+and\s+r31,QWORD PTR\s+\[r16\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*66 d5 51 23 94 87 23 01 00 00\s+and\s+r18w,WORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 55 23 8c 87 23 01 00 00\s+and\s+r25d,DWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 5d 23 bc 87 23 01 00 00\s+and\s+r31,QWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*62 5a 6c 08 f2 d1\s+andn\s+r10d,edx,r25d
+\s*[a-f0-9]+:\s*62 5a 84 08 f2 df\s+andn\s+r11,r15,r31
+\s*[a-f0-9]+:\s*62 da 34 00 f2 94 87 23 01 00 00\s+andn\s+edx,r25d,DWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*62 5a 84 00 f2 bc 87 23 01 00 00\s+andn\s+r15,r31,QWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*62 4c 7f 08 fc 8c 87 23 01 00 00\s+aor\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],r25d
+\s*[a-f0-9]+:\s*62 4c ff 08 fc bc 87 23 01 00 00\s+aor\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],r31
+\s*[a-f0-9]+:\s*62 4c 7e 08 fc 8c 87 23 01 00 00\s+axor\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],r25d
+\s*[a-f0-9]+:\s*62 4c fe 08 fc bc 87 23 01 00 00\s+axor\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],r31
+\s*[a-f0-9]+:\s*62 72 34 00 f7 d2\s+bextr\s+r10d,edx,r25d
+\s*[a-f0-9]+:\s*62 da 34 00 f7 94 87 23 01 00 00\s+bextr\s+edx,DWORD PTR\s+\[r31\+rax\*4\+0x123\],r25d
+\s*[a-f0-9]+:\s*62 52 84 00 f7 df\s+bextr\s+r11,r15,r31
+\s*[a-f0-9]+:\s*62 5a 84 00 f7 bc 87 23 01 00 00\s+bextr\s+r15,QWORD PTR\s+\[r31\+rax\*4\+0x123\],r31
+\s*[a-f0-9]+:\s*62 da 6c 08 f3 d9\s+blsi\s+edx,r25d
+\s*[a-f0-9]+:\s*62 da 84 08 f3 df\s+blsi\s+r15,r31
+\s*[a-f0-9]+:\s*62 da 34 00 f3 9c 87 23 01 00 00\s+blsi\s+r25d,DWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*62 da 84 00 f3 9c 87 23 01 00 00\s+blsi\s+r31,QWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*62 da 6c 08 f3 d1\s+blsmsk\s+edx,r25d
+\s*[a-f0-9]+:\s*62 da 84 08 f3 d7\s+blsmsk\s+r15,r31
+\s*[a-f0-9]+:\s*62 da 34 00 f3 94 87 23 01 00 00\s+blsmsk\s+r25d,DWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*62 da 84 00 f3 94 87 23 01 00 00\s+blsmsk\s+r31,QWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*62 da 6c 08 f3 c9\s+blsr\s+edx,r25d
+\s*[a-f0-9]+:\s*62 da 84 08 f3 cf\s+blsr\s+r15,r31
+\s*[a-f0-9]+:\s*62 da 34 00 f3 8c 87 23 01 00 00\s+blsr\s+r25d,DWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*62 da 84 00 f3 8c 87 23 01 00 00\s+blsr\s+r31,QWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*62 72 34 00 f5 d2\s+bzhi\s+r10d,edx,r25d
+\s*[a-f0-9]+:\s*62 da 34 00 f5 94 87 23 01 00 00\s+bzhi\s+edx,DWORD PTR\s+\[r31\+rax\*4\+0x123\],r25d
+\s*[a-f0-9]+:\s*62 52 84 00 f5 df\s+bzhi\s+r11,r15,r31
+\s*[a-f0-9]+:\s*62 5a 84 00 f5 bc 87 23 01 00 00\s+bzhi\s+r15,QWORD PTR\s+\[r31\+rax\*4\+0x123\],r31
+\s*[a-f0-9]+:\s*62 da 35 00 e6 94 87 23 01 00 00\s+cmpbexadd\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],edx,r25d
+\s*[a-f0-9]+:\s*62 5a 85 00 e6 bc 87 23 01 00 00\s+cmpbexadd\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],r15,r31
+\s*[a-f0-9]+:\s*62 da 35 00 e2 94 87 23 01 00 00\s+cmpbxadd\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],edx,r25d
+\s*[a-f0-9]+:\s*62 5a 85 00 e2 bc 87 23 01 00 00\s+cmpbxadd\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],r15,r31
+\s*[a-f0-9]+:\s*62 da 35 00 ec 94 87 23 01 00 00\s+cmplxadd\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],edx,r25d
+\s*[a-f0-9]+:\s*62 5a 85 00 ec bc 87 23 01 00 00\s+cmplxadd\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],r15,r31
+\s*[a-f0-9]+:\s*62 da 35 00 e7 94 87 23 01 00 00\s+cmpnbexadd\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],edx,r25d
+\s*[a-f0-9]+:\s*62 5a 85 00 e7 bc 87 23 01 00 00\s+cmpnbexadd\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],r15,r31
+\s*[a-f0-9]+:\s*62 da 35 00 e3 94 87 23 01 00 00\s+cmpnbxadd\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],edx,r25d
+\s*[a-f0-9]+:\s*62 5a 85 00 e3 bc 87 23 01 00 00\s+cmpnbxadd\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],r15,r31
+\s*[a-f0-9]+:\s*62 da 35 00 ef 94 87 23 01 00 00\s+cmpnlexadd\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],edx,r25d
+\s*[a-f0-9]+:\s*62 5a 85 00 ef bc 87 23 01 00 00\s+cmpnlexadd\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],r15,r31
+\s*[a-f0-9]+:\s*62 da 35 00 ed 94 87 23 01 00 00\s+cmpnlxadd\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],edx,r25d
+\s*[a-f0-9]+:\s*62 5a 85 00 ed bc 87 23 01 00 00\s+cmpnlxadd\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],r15,r31
+\s*[a-f0-9]+:\s*62 da 35 00 e1 94 87 23 01 00 00\s+cmpnoxadd\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],edx,r25d
+\s*[a-f0-9]+:\s*62 5a 85 00 e1 bc 87 23 01 00 00\s+cmpnoxadd\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],r15,r31
+\s*[a-f0-9]+:\s*62 da 35 00 eb 94 87 23 01 00 00\s+cmpnpxadd\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],edx,r25d
+\s*[a-f0-9]+:\s*62 5a 85 00 eb bc 87 23 01 00 00\s+cmpnpxadd\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],r15,r31
+\s*[a-f0-9]+:\s*62 da 35 00 e9 94 87 23 01 00 00\s+cmpnsxadd\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],edx,r25d
+\s*[a-f0-9]+:\s*62 5a 85 00 e9 bc 87 23 01 00 00\s+cmpnsxadd\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],r15,r31
+\s*[a-f0-9]+:\s*62 da 35 00 e5 94 87 23 01 00 00\s+cmpnzxadd\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],edx,r25d
+\s*[a-f0-9]+:\s*62 5a 85 00 e5 bc 87 23 01 00 00\s+cmpnzxadd\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],r15,r31
+\s*[a-f0-9]+:\s*62 da 35 00 e0 94 87 23 01 00 00\s+cmpoxadd\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],edx,r25d
+\s*[a-f0-9]+:\s*62 5a 85 00 e0 bc 87 23 01 00 00\s+cmpoxadd\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],r15,r31
+\s*[a-f0-9]+:\s*62 da 35 00 ea 94 87 23 01 00 00\s+cmppxadd\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],edx,r25d
+\s*[a-f0-9]+:\s*62 5a 85 00 ea bc 87 23 01 00 00\s+cmppxadd\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],r15,r31
+\s*[a-f0-9]+:\s*62 da 35 00 e8 94 87 23 01 00 00\s+cmpsxadd\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],edx,r25d
+\s*[a-f0-9]+:\s*62 5a 85 00 e8 bc 87 23 01 00 00\s+cmpsxadd\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],r15,r31
+\s*[a-f0-9]+:\s*62 da 35 00 e4 94 87 23 01 00 00\s+cmpzxadd\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],edx,r25d
+\s*[a-f0-9]+:\s*62 5a 85 00 e4 bc 87 23 01 00 00\s+cmpzxadd\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],r15,r31
+\s*[a-f0-9]+:\s*d5 10 fe c8\s+dec\s+r16b
+\s*[a-f0-9]+:\s*66 d5 10 ff ca\s+dec\s+r18w
+\s*[a-f0-9]+:\s*d5 11 ff c9\s+dec\s+r25d
+\s*[a-f0-9]+:\s*d5 19 ff cf\s+dec\s+r31
+\s*[a-f0-9]+:\s*66 d5 10 ff 8c 80 23 01 00 00\s+dec\s+WORD PTR\s+\[r16\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 10 ff 8c 80 23 01 00 00\s+dec\s+DWORD PTR\s+\[r16\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 18 ff 8c 80 23 01 00 00\s+dec\s+QWORD PTR\s+\[r16\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 11 fe 8c 87 23 01 00 00\s+dec\s+BYTE PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*66 d5 11 ff 8c 87 23 01 00 00\s+dec\s+WORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 11 ff 8c 87 23 01 00 00\s+dec\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 19 ff 8c 87 23 01 00 00\s+dec\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 10 f6 f0\s+div\s+r16b
+\s*[a-f0-9]+:\s*66 d5 10 f7 f2\s+div\s+r18w
+\s*[a-f0-9]+:\s*d5 11 f7 f1\s+div\s+r25d
+\s*[a-f0-9]+:\s*d5 19 f7 f7\s+div\s+r31
+\s*[a-f0-9]+:\s*66 d5 10 f7 b4 80 23 01 00 00\s+div\s+WORD PTR\s+\[r16\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 10 f7 b4 80 23 01 00 00\s+div\s+DWORD PTR\s+\[r16\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 18 f7 b4 80 23 01 00 00\s+div\s+QWORD PTR\s+\[r16\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 11 f6 b4 87 23 01 00 00\s+div\s+BYTE PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*66 d5 11 f7 b4 87 23 01 00 00\s+div\s+WORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 11 f7 b4 87 23 01 00 00\s+div\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 19 f7 b4 87 23 01 00 00\s+div\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*62 dc 7e 08 da d1\s+encodekey128\s+edx,r25d
+\s*[a-f0-9]+:\s*62 dc 7e 08 db d1\s+encodekey256\s+edx,r25d
+\s*[a-f0-9]+:\s*67 62 4c 7f 08 f8 8c 87 23 01 00 00\s+enqcmd\s+r25d,\[r31d\+eax\*4\+0x123\]
+\s*[a-f0-9]+:\s*62 4c 7f 08 f8 bc 87 23 01 00 00\s+enqcmd\s+r31,\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*67 62 4c 7e 08 f8 8c 87 23 01 00 00\s+enqcmds\s+r25d,\[r31d\+eax\*4\+0x123\]
+\s*[a-f0-9]+:\s*62 4c 7e 08 f8 bc 87 23 01 00 00\s+enqcmds\s+r31,\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 10 f6 f8\s+idiv\s+r16b
+\s*[a-f0-9]+:\s*66 d5 10 f7 fa\s+idiv\s+r18w
+\s*[a-f0-9]+:\s*d5 11 f7 f9\s+idiv\s+r25d
+\s*[a-f0-9]+:\s*d5 19 f7 ff\s+idiv\s+r31
+\s*[a-f0-9]+:\s*66 d5 10 f7 bc 80 23 01 00 00\s+idiv\s+WORD PTR\s+\[r16\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 10 f7 bc 80 23 01 00 00\s+idiv\s+DWORD PTR\s+\[r16\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 18 f7 bc 80 23 01 00 00\s+idiv\s+QWORD PTR\s+\[r16\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 11 f6 bc 87 23 01 00 00\s+idiv\s+BYTE PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*66 d5 11 f7 bc 87 23 01 00 00\s+idiv\s+WORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 11 f7 bc 87 23 01 00 00\s+idiv\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 19 f7 bc 87 23 01 00 00\s+idiv\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*66 d5 10 6b c2 7b\s+imul\s+ax,r18w,0x7b
+\s*[a-f0-9]+:\s*d5 11 6b d1 7b\s+imul\s+edx,r25d,0x7b
+\s*[a-f0-9]+:\s*d5 1d 6b ff 7b\s+imul\s+r15,r31,0x7b
+\s*[a-f0-9]+:\s*d5 54 6b 8c 80 23 01 00 00 7b\s+imul\s+r25d,DWORD PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 5c 6b bc 80 23 01 00 00 7b\s+imul\s+r31,QWORD PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*66 d5 51 6b 94 87 23 01 00 00 7b\s+imul\s+r18w,WORD PTR\s+\[r31\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 55 6b 8c 87 23 01 00 00 7b\s+imul\s+r25d,DWORD PTR\s+\[r31\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 5d 6b bc 87 23 01 00 00 7b\s+imul\s+r31,QWORD PTR\s+\[r31\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 10 f6 e8\s+imul\s+r16b
+\s*[a-f0-9]+:\s*66 d5 10 f7 ea\s+imul\s+r18w
+\s*[a-f0-9]+:\s*66 d5 90 af c2\s+imul\s+ax,r18w
+\s*[a-f0-9]+:\s*d5 11 f7 e9\s+imul\s+r25d
+\s*[a-f0-9]+:\s*d5 91 af d1\s+imul\s+edx,r25d
+\s*[a-f0-9]+:\s*d5 19 f7 ef\s+imul\s+r31
+\s*[a-f0-9]+:\s*d5 9d af ff\s+imul\s+r15,r31
+\s*[a-f0-9]+:\s*d5 10 f6 ac 80 23 01 00 00\s+imul\s+BYTE PTR\s+\[r16\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*66 d5 10 f7 ac 80 23 01 00 00\s+imul\s+WORD PTR\s+\[r16\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 10 f7 ac 80 23 01 00 00\s+imul\s+DWORD PTR\s+\[r16\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*66 d5 d0 af 94 80 23 01 00 00\s+imul\s+r18w,WORD PTR\s+\[r16\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 d4 af 8c 80 23 01 00 00\s+imul\s+r25d,DWORD PTR\s+\[r16\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 dc af bc 80 23 01 00 00\s+imul\s+r31,QWORD PTR\s+\[r16\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 18 f7 ac 80 23 01 00 00\s+imul\s+QWORD PTR\s+\[r16\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*66 d5 11 f7 ac 87 23 01 00 00\s+imul\s+WORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 11 f7 ac 87 23 01 00 00\s+imul\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 19 f7 ac 87 23 01 00 00\s+imul\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 10 fe c0\s+inc\s+r16b
+\s*[a-f0-9]+:\s*66 d5 10 ff c2\s+inc\s+r18w
+\s*[a-f0-9]+:\s*d5 11 ff c1\s+inc\s+r25d
+\s*[a-f0-9]+:\s*d5 19 ff c7\s+inc\s+r31
+\s*[a-f0-9]+:\s*66 d5 10 ff 84 80 23 01 00 00\s+inc\s+WORD PTR\s+\[r16\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 10 ff 84 80 23 01 00 00\s+inc\s+DWORD PTR\s+\[r16\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 18 ff 84 80 23 01 00 00\s+inc\s+QWORD PTR\s+\[r16\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 11 fe 84 87 23 01 00 00\s+inc\s+BYTE PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*66 d5 11 ff 84 87 23 01 00 00\s+inc\s+WORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 11 ff 84 87 23 01 00 00\s+inc\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 19 ff 84 87 23 01 00 00\s+inc\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*62 4c 7e 08 f0 bc 87 23 01 00 00\s+invept\s+r31,OWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*62 4c 7e 08 f2 bc 87 23 01 00 00\s+invpcid\s+r31,\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*62 4c 7e 08 f1 bc 87 23 01 00 00\s+invvpid\s+r31,OWORD PTR \[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*c5 f9 90 eb\s+kmovb\s+k5,k3
+\s*[a-f0-9]+:\s*62 61 7d 08 93 cd\s+kmovb\s+r25d,k5
+\s*[a-f0-9]+:\s*62 d9 7d 08 91 ac 87 23 01 00 00\s+kmovb\s+BYTE PTR\s+\[r31\+rax\*4\+0x123\],k5
+\s*[a-f0-9]+:\s*62 d9 7d 08 92 e9\s+kmovb\s+k5,r25d
+\s*[a-f0-9]+:\s*62 d9 7d 08 90 ac 87 23 01 00 00\s+kmovb\s+k5,BYTE PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*c4 e1 f9 90 eb\s+kmovd\s+k5,k3
+\s*[a-f0-9]+:\s*62 61 7f 08 93 cd\s+kmovd\s+r25d,k5
+\s*[a-f0-9]+:\s*62 d9 fd 08 91 ac 87 23 01 00 00\s+kmovd\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],k5
+\s*[a-f0-9]+:\s*62 d9 7f 08 92 e9\s+kmovd\s+k5,r25d
+\s*[a-f0-9]+:\s*62 d9 fd 08 90 ac 87 23 01 00 00\s+kmovd\s+k5,DWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*c4 e1 f8 90 eb\s+kmovq\s+k5,k3
+\s*[a-f0-9]+:\s*62 61 ff 08 93 fd\s+kmovq\s+r31,k5
+\s*[a-f0-9]+:\s*62 d9 fc 08 91 ac 87 23 01 00 00\s+kmovq\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],k5
+\s*[a-f0-9]+:\s*62 d9 ff 08 92 ef\s+kmovq\s+k5,r31
+\s*[a-f0-9]+:\s*62 d9 fc 08 90 ac 87 23 01 00 00\s+kmovq\s+k5,QWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*c5 f8 90 eb\s+kmovw\s+k5,k3
+\s*[a-f0-9]+:\s*62 61 7c 08 93 cd\s+kmovw\s+r25d,k5
+\s*[a-f0-9]+:\s*62 d9 7c 08 91 ac 87 23 01 00 00\s+kmovw\s+WORD PTR\s+\[r31\+rax\*4\+0x123\],k5
+\s*[a-f0-9]+:\s*62 d9 7c 08 92 e9\s+kmovw\s+k5,r25d
+\s*[a-f0-9]+:\s*62 d9 7c 08 90 ac 87 23 01 00 00\s+kmovw\s+k5,WORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*62 da 7c 08 49 84 87 23 01 00 00\s+ldtilecfg\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*66 f3 d5 90 bd c2\s+lzcnt\s+ax,r18w
+\s*[a-f0-9]+:\s*f3 d5 91 bd d1\s+lzcnt\s+edx,r25d
+\s*[a-f0-9]+:\s*f3 d5 9d bd ff\s+lzcnt\s+r15,r31
+\s*[a-f0-9]+:\s*66 f3 d5 d0 bd 94 80 23 01 00 00\s+lzcnt\s+r18w,WORD PTR\s+\[r16\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*f3 d5 dc bd bc 80 23 01 00 00\s+lzcnt\s+r31,QWORD PTR\s+\[r16\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*66 f3 d5 d1 bd 94 87 23 01 00 00\s+lzcnt\s+r18w,WORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*f3 d5 d5 bd 8c 87 23 01 00 00\s+lzcnt\s+r25d,DWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*62 fc 7d 08 60 c2\s+movbe\s+ax,r18w
+\s*[a-f0-9]+:\s*62 ec 7d 08 61 94 80 23 01 00 00\s+movbe\s+WORD PTR\s+\[r16\+rax\*4\+0x123\],r18w
+\s*[a-f0-9]+:\s*62 cc 7d 08 61 94 87 23 01 00 00\s+movbe\s+WORD PTR\s+\[r31\+rax\*4\+0x123\],r18w
+\s*[a-f0-9]+:\s*62 dc 7c 08 60 d1\s+movbe\s+edx,r25d
+\s*[a-f0-9]+:\s*62 6c 7c 08 61 8c 80 23 01 00 00\s+movbe\s+DWORD PTR\s+\[r16\+rax\*4\+0x123\],r25d
+\s*[a-f0-9]+:\s*62 5c fc 08 60 ff\s+movbe\s+r15,r31
+\s*[a-f0-9]+:\s*62 6c fc 08 61 bc 80 23 01 00 00\s+movbe\s+QWORD PTR\s+\[r16\+rax\*4\+0x123\],r31
+\s*[a-f0-9]+:\s*62 4c fc 08 61 bc 87 23 01 00 00\s+movbe\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],r31
+\s*[a-f0-9]+:\s*62 6c fc 08 60 bc 80 23 01 00 00\s+movbe\s+r31,QWORD PTR\s+\[r16\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*62 cc 7d 08 60 94 87 23 01 00 00\s+movbe\s+r18w,WORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*62 4c 7c 08 60 8c 87 23 01 00 00\s+movbe\s+r25d,DWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*67 62 4c 7d 08 f8 8c 87 23 01 00 00\s+movdir64b\s+r25d,\[r31d\+eax\*4\+0x123\]
+\s*[a-f0-9]+:\s*62 4c 7d 08 f8 bc 87 23 01 00 00\s+movdir64b\s+r31,\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*62 4c 7c 08 f9 8c 87 23 01 00 00\s+movdiri\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],r25d
+\s*[a-f0-9]+:\s*62 4c fc 08 f9 bc 87 23 01 00 00\s+movdiri\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],r31
+\s*[a-f0-9]+:\s*d5 10 f6 e0\s+mul\s+r16b
+\s*[a-f0-9]+:\s*66 d5 10 f7 e2\s+mul\s+r18w
+\s*[a-f0-9]+:\s*d5 11 f7 e1\s+mul\s+r25d
+\s*[a-f0-9]+:\s*d5 19 f7 e7\s+mul\s+r31
+\s*[a-f0-9]+:\s*66 d5 10 f7 a4 80 23 01 00 00\s+mul\s+WORD PTR\s+\[r16\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 10 f7 a4 80 23 01 00 00\s+mul\s+DWORD PTR\s+\[r16\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 18 f7 a4 80 23 01 00 00\s+mul\s+QWORD PTR\s+\[r16\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 11 f6 a4 87 23 01 00 00\s+mul\s+BYTE PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*66 d5 11 f7 a4 87 23 01 00 00\s+mul\s+WORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 11 f7 a4 87 23 01 00 00\s+mul\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 19 f7 a4 87 23 01 00 00\s+mul\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*62 5a 6f 08 f6 d1\s+mulx\s+r10d,edx,r25d
+\s*[a-f0-9]+:\s*62 5a 87 08 f6 df\s+mulx\s+r11,r15,r31
+\s*[a-f0-9]+:\s*62 da 37 00 f6 94 87 23 01 00 00\s+mulx\s+edx,r25d,DWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*62 5a 87 00 f6 bc 87 23 01 00 00\s+mulx\s+r15,r31,QWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 10 f6 d8\s+neg\s+r16b
+\s*[a-f0-9]+:\s*66 d5 10 f7 da\s+neg\s+r18w
+\s*[a-f0-9]+:\s*d5 11 f7 d9\s+neg\s+r25d
+\s*[a-f0-9]+:\s*d5 19 f7 df\s+neg\s+r31
+\s*[a-f0-9]+:\s*66 d5 10 f7 9c 80 23 01 00 00\s+neg\s+WORD PTR\s+\[r16\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 10 f7 9c 80 23 01 00 00\s+neg\s+DWORD PTR\s+\[r16\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 18 f7 9c 80 23 01 00 00\s+neg\s+QWORD PTR\s+\[r16\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 11 f6 9c 87 23 01 00 00\s+neg\s+BYTE PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*66 d5 11 f7 9c 87 23 01 00 00\s+neg\s+WORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 11 f7 9c 87 23 01 00 00\s+neg\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 19 f7 9c 87 23 01 00 00\s+neg\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 10 f6 d0\s+not\s+r16b
+\s*[a-f0-9]+:\s*66 d5 10 f7 d2\s+not\s+r18w
+\s*[a-f0-9]+:\s*d5 11 f7 d1\s+not\s+r25d
+\s*[a-f0-9]+:\s*d5 19 f7 d7\s+not\s+r31
+\s*[a-f0-9]+:\s*66 d5 10 f7 94 80 23 01 00 00\s+not\s+WORD PTR\s+\[r16\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 10 f7 94 80 23 01 00 00\s+not\s+DWORD PTR\s+\[r16\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 18 f7 94 80 23 01 00 00\s+not\s+QWORD PTR\s+\[r16\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 11 f6 94 87 23 01 00 00\s+not\s+BYTE PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*66 d5 11 f7 94 87 23 01 00 00\s+not\s+WORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 11 f7 94 87 23 01 00 00\s+not\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 19 f7 94 87 23 01 00 00\s+not\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 10 80 c8 7b\s+or\s+r16b,0x7b
+\s*[a-f0-9]+:\s*66 d5 10 83 ca 7b\s+or\s+r18w,0x7b
+\s*[a-f0-9]+:\s*d5 11 83 c9 7b\s+or\s+r25d,0x7b
+\s*[a-f0-9]+:\s*d5 19 83 cf 7b\s+or\s+r31,0x7b
+\s*[a-f0-9]+:\s*d5 10 80 8c 80 23 01 00 00 7b\s+or\s+BYTE PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*66 d5 10 83 8c 80 23 01 00 00 7b\s+or\s+WORD PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 10 83 8c 80 23 01 00 00 7b\s+or\s+DWORD PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 18 83 8c 80 23 01 00 00 7b\s+or\s+QWORD PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*66 d5 11 83 8c 87 23 01 00 00 7b\s+or\s+WORD PTR\s+\[r31\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 11 83 8c 87 23 01 00 00 7b\s+or\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 19 83 8c 87 23 01 00 00 7b\s+or\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 40 08 c2\s+or\s+dl,r16b
+\s*[a-f0-9]+:\s*d5 51 08 84 87 23 01 00 00\s+or\s+BYTE PTR\s+\[r31\+rax\*4\+0x123\],r16b
+\s*[a-f0-9]+:\s*66 d5 40 09 d0\s+or\s+ax,r18w
+\s*[a-f0-9]+:\s*66 d5 50 09 94 80 23 01 00 00\s+or\s+WORD PTR\s+\[r16\+rax\*4\+0x123\],r18w
+\s*[a-f0-9]+:\s*66 d5 51 09 94 87 23 01 00 00\s+or\s+WORD PTR\s+\[r31\+rax\*4\+0x123\],r18w
+\s*[a-f0-9]+:\s*d5 44 09 ca\s+or\s+edx,r25d
+\s*[a-f0-9]+:\s*d5 55 09 8c 87 23 01 00 00\s+or\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],r25d
+\s*[a-f0-9]+:\s*d5 4d 09 ff\s+or\s+r15,r31
+\s*[a-f0-9]+:\s*d5 5d 09 bc 87 23 01 00 00\s+or\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],r31
+\s*[a-f0-9]+:\s*d5 50 0a 84 80 23 01 00 00\s+or\s+r16b,BYTE PTR\s+\[r16\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 5c 0b bc 80 23 01 00 00\s+or\s+r31,QWORD PTR\s+\[r16\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*66 d5 51 0b 94 87 23 01 00 00\s+or\s+r18w,WORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 55 0b 8c 87 23 01 00 00\s+or\s+r25d,DWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 5d 0b bc 87 23 01 00 00\s+or\s+r31,QWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*62 5a 6f 08 f5 d1\s+pdep\s+r10d,edx,r25d
+\s*[a-f0-9]+:\s*62 5a 87 08 f5 df\s+pdep\s+r11,r15,r31
+\s*[a-f0-9]+:\s*62 da 37 00 f5 94 87 23 01 00 00\s+pdep\s+edx,r25d,DWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*62 5a 87 00 f5 bc 87 23 01 00 00\s+pdep\s+r15,r31,QWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*62 5a 6e 08 f5 d1\s+pext\s+r10d,edx,r25d
+\s*[a-f0-9]+:\s*62 5a 86 08 f5 df\s+pext\s+r11,r15,r31
+\s*[a-f0-9]+:\s*62 da 36 00 f5 94 87 23 01 00 00\s+pext\s+edx,r25d,DWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*62 5a 86 00 f5 bc 87 23 01 00 00\s+pext\s+r15,r31,QWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*66 f3 d5 90 b8 c2\s+popcnt\s+ax,r18w
+\s*[a-f0-9]+:\s*f3 d5 91 b8 d1\s+popcnt\s+edx,r25d
+\s*[a-f0-9]+:\s*f3 d5 9d b8 ff\s+popcnt\s+r15,r31
+\s*[a-f0-9]+:\s*66 f3 d5 d0 b8 94 80 23 01 00 00\s+popcnt\s+r18w,WORD PTR\s+\[r16\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*f3 d5 dc b8 bc 80 23 01 00 00\s+popcnt\s+r31,QWORD PTR\s+\[r16\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*66 f3 d5 d1 b8 94 87 23 01 00 00\s+popcnt\s+r18w,WORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*f3 d5 d5 b8 8c 87 23 01 00 00\s+popcnt\s+r25d,DWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 10 c0 d0 7b\s+rcl\s+r16b,0x7b
+\s*[a-f0-9]+:\s*66 d5 10 c1 d2 7b\s+rcl\s+r18w,0x7b
+\s*[a-f0-9]+:\s*d5 11 c1 d1 7b\s+rcl\s+r25d,0x7b
+\s*[a-f0-9]+:\s*d5 19 c1 d7 7b\s+rcl\s+r31,0x7b
+\s*[a-f0-9]+:\s*d5 10 c0 94 80 23 01 00 00 7b\s+rcl\s+BYTE PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*66 d5 10 c1 94 80 23 01 00 00 7b\s+rcl\s+WORD PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 10 c1 94 80 23 01 00 00 7b\s+rcl\s+DWORD PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 18 c1 94 80 23 01 00 00 7b\s+rcl\s+QWORD PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*66 d5 11 c1 94 87 23 01 00 00 7b\s+rcl\s+WORD PTR\s+\[r31\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 11 c1 94 87 23 01 00 00 7b\s+rcl\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 19 c1 94 87 23 01 00 00 7b\s+rcl\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 10 d0 d0\s+rcl\s+r16b,1
+\s*[a-f0-9]+:\s*66 d5 10 d1 d2\s+rcl\s+r18w,1
+\s*[a-f0-9]+:\s*d5 11 d1 d1\s+rcl\s+r25d,1
+\s*[a-f0-9]+:\s*d5 19 d1 d7\s+rcl\s+r31,1
+\s*[a-f0-9]+:\s*d5 10 d0 94 80 23 01 00 00\s+rcl\s+BYTE PTR\s+\[r16\+rax\*4\+0x123\],1
+\s*[a-f0-9]+:\s*66 d5 10 d1 94 80 23 01 00 00\s+rcl\s+WORD PTR\s+\[r16\+rax\*4\+0x123\],1
+\s*[a-f0-9]+:\s*d5 10 d1 94 80 23 01 00 00\s+rcl\s+DWORD PTR\s+\[r16\+rax\*4\+0x123\],1
+\s*[a-f0-9]+:\s*d5 18 d1 94 80 23 01 00 00\s+rcl\s+QWORD PTR\s+\[r16\+rax\*4\+0x123\],1
+\s*[a-f0-9]+:\s*66 d5 11 d1 94 87 23 01 00 00\s+rcl\s+WORD PTR\s+\[r31\+rax\*4\+0x123\],1
+\s*[a-f0-9]+:\s*d5 11 d1 94 87 23 01 00 00\s+rcl\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],1
+\s*[a-f0-9]+:\s*d5 19 d1 94 87 23 01 00 00\s+rcl\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],1
+\s*[a-f0-9]+:\s*d5 10 d2 d0\s+rcl\s+r16b,cl
+\s*[a-f0-9]+:\s*66 d5 10 d3 d2\s+rcl\s+r18w,cl
+\s*[a-f0-9]+:\s*d5 11 d3 d1\s+rcl\s+r25d,cl
+\s*[a-f0-9]+:\s*d5 19 d3 d7\s+rcl\s+r31,cl
+\s*[a-f0-9]+:\s*d5 10 d2 94 80 23 01 00 00\s+rcl\s+BYTE PTR\s+\[r16\+rax\*4\+0x123\],cl
+\s*[a-f0-9]+:\s*66 d5 10 d3 94 80 23 01 00 00\s+rcl\s+WORD PTR\s+\[r16\+rax\*4\+0x123\],cl
+\s*[a-f0-9]+:\s*d5 10 d3 94 80 23 01 00 00\s+rcl\s+DWORD PTR\s+\[r16\+rax\*4\+0x123\],cl
+\s*[a-f0-9]+:\s*d5 18 d3 94 80 23 01 00 00\s+rcl\s+QWORD PTR\s+\[r16\+rax\*4\+0x123\],cl
+\s*[a-f0-9]+:\s*66 d5 11 d3 94 87 23 01 00 00\s+rcl\s+WORD PTR\s+\[r31\+rax\*4\+0x123\],cl
+\s*[a-f0-9]+:\s*d5 11 d3 94 87 23 01 00 00\s+rcl\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],cl
+\s*[a-f0-9]+:\s*d5 19 d3 94 87 23 01 00 00\s+rcl\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],cl
+\s*[a-f0-9]+:\s*d5 10 c0 d8 7b\s+rcr\s+r16b,0x7b
+\s*[a-f0-9]+:\s*66 d5 10 c1 da 7b\s+rcr\s+r18w,0x7b
+\s*[a-f0-9]+:\s*d5 11 c1 d9 7b\s+rcr\s+r25d,0x7b
+\s*[a-f0-9]+:\s*d5 19 c1 df 7b\s+rcr\s+r31,0x7b
+\s*[a-f0-9]+:\s*d5 10 c0 9c 80 23 01 00 00 7b\s+rcr\s+BYTE PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*66 d5 10 c1 9c 80 23 01 00 00 7b\s+rcr\s+WORD PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 10 c1 9c 80 23 01 00 00 7b\s+rcr\s+DWORD PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 18 c1 9c 80 23 01 00 00 7b\s+rcr\s+QWORD PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*66 d5 11 c1 9c 87 23 01 00 00 7b\s+rcr\s+WORD PTR\s+\[r31\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 11 c1 9c 87 23 01 00 00 7b\s+rcr\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 19 c1 9c 87 23 01 00 00 7b\s+rcr\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 10 d0 d8\s+rcr\s+r16b,1
+\s*[a-f0-9]+:\s*66 d5 10 d1 da\s+rcr\s+r18w,1
+\s*[a-f0-9]+:\s*d5 11 d1 d9\s+rcr\s+r25d,1
+\s*[a-f0-9]+:\s*d5 19 d1 df\s+rcr\s+r31,1
+\s*[a-f0-9]+:\s*d5 10 d0 9c 80 23 01 00 00\s+rcr\s+BYTE PTR\s+\[r16\+rax\*4\+0x123\],1
+\s*[a-f0-9]+:\s*66 d5 10 d1 9c 80 23 01 00 00\s+rcr\s+WORD PTR\s+\[r16\+rax\*4\+0x123\],1
+\s*[a-f0-9]+:\s*d5 10 d1 9c 80 23 01 00 00\s+rcr\s+DWORD PTR\s+\[r16\+rax\*4\+0x123\],1
+\s*[a-f0-9]+:\s*d5 18 d1 9c 80 23 01 00 00\s+rcr\s+QWORD PTR\s+\[r16\+rax\*4\+0x123\],1
+\s*[a-f0-9]+:\s*66 d5 11 d1 9c 87 23 01 00 00\s+rcr\s+WORD PTR\s+\[r31\+rax\*4\+0x123\],1
+\s*[a-f0-9]+:\s*d5 11 d1 9c 87 23 01 00 00\s+rcr\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],1
+\s*[a-f0-9]+:\s*d5 19 d1 9c 87 23 01 00 00\s+rcr\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],1
+\s*[a-f0-9]+:\s*d5 10 d2 d8\s+rcr\s+r16b,cl
+\s*[a-f0-9]+:\s*66 d5 10 d3 da\s+rcr\s+r18w,cl
+\s*[a-f0-9]+:\s*d5 11 d3 d9\s+rcr\s+r25d,cl
+\s*[a-f0-9]+:\s*d5 19 d3 df\s+rcr\s+r31,cl
+\s*[a-f0-9]+:\s*d5 10 d2 9c 80 23 01 00 00\s+rcr\s+BYTE PTR\s+\[r16\+rax\*4\+0x123\],cl
+\s*[a-f0-9]+:\s*66 d5 10 d3 9c 80 23 01 00 00\s+rcr\s+WORD PTR\s+\[r16\+rax\*4\+0x123\],cl
+\s*[a-f0-9]+:\s*d5 10 d3 9c 80 23 01 00 00\s+rcr\s+DWORD PTR\s+\[r16\+rax\*4\+0x123\],cl
+\s*[a-f0-9]+:\s*d5 18 d3 9c 80 23 01 00 00\s+rcr\s+QWORD PTR\s+\[r16\+rax\*4\+0x123\],cl
+\s*[a-f0-9]+:\s*66 d5 11 d3 9c 87 23 01 00 00\s+rcr\s+WORD PTR\s+\[r31\+rax\*4\+0x123\],cl
+\s*[a-f0-9]+:\s*d5 11 d3 9c 87 23 01 00 00\s+rcr\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],cl
+\s*[a-f0-9]+:\s*d5 19 d3 9c 87 23 01 00 00\s+rcr\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],cl
+\s*[a-f0-9]+:\s*d5 10 c0 c0 7b\s+rol\s+r16b,0x7b
+\s*[a-f0-9]+:\s*66 d5 10 c1 c2 7b\s+rol\s+r18w,0x7b
+\s*[a-f0-9]+:\s*d5 11 c1 c1 7b\s+rol\s+r25d,0x7b
+\s*[a-f0-9]+:\s*d5 19 c1 c7 7b\s+rol\s+r31,0x7b
+\s*[a-f0-9]+:\s*d5 10 c0 84 80 23 01 00 00 7b\s+rol\s+BYTE PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*66 d5 10 c1 84 80 23 01 00 00 7b\s+rol\s+WORD PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 10 c1 84 80 23 01 00 00 7b\s+rol\s+DWORD PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 18 c1 84 80 23 01 00 00 7b\s+rol\s+QWORD PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*66 d5 11 c1 84 87 23 01 00 00 7b\s+rol\s+WORD PTR\s+\[r31\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 11 c1 84 87 23 01 00 00 7b\s+rol\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 19 c1 84 87 23 01 00 00 7b\s+rol\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 10 d0 c0\s+rol\s+r16b,1
+\s*[a-f0-9]+:\s*66 d5 10 d1 c2\s+rol\s+r18w,1
+\s*[a-f0-9]+:\s*d5 11 d1 c1\s+rol\s+r25d,1
+\s*[a-f0-9]+:\s*d5 19 d1 c7\s+rol\s+r31,1
+\s*[a-f0-9]+:\s*d5 10 d0 84 80 23 01 00 00\s+rol\s+BYTE PTR\s+\[r16\+rax\*4\+0x123\],1
+\s*[a-f0-9]+:\s*66 d5 10 d1 84 80 23 01 00 00\s+rol\s+WORD PTR\s+\[r16\+rax\*4\+0x123\],1
+\s*[a-f0-9]+:\s*d5 10 d1 84 80 23 01 00 00\s+rol\s+DWORD PTR\s+\[r16\+rax\*4\+0x123\],1
+\s*[a-f0-9]+:\s*d5 18 d1 84 80 23 01 00 00\s+rol\s+QWORD PTR\s+\[r16\+rax\*4\+0x123\],1
+\s*[a-f0-9]+:\s*66 d5 11 d1 84 87 23 01 00 00\s+rol\s+WORD PTR\s+\[r31\+rax\*4\+0x123\],1
+\s*[a-f0-9]+:\s*d5 11 d1 84 87 23 01 00 00\s+rol\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],1
+\s*[a-f0-9]+:\s*d5 19 d1 84 87 23 01 00 00\s+rol\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],1
+\s*[a-f0-9]+:\s*d5 10 d2 c0\s+rol\s+r16b,cl
+\s*[a-f0-9]+:\s*66 d5 10 d3 c2\s+rol\s+r18w,cl
+\s*[a-f0-9]+:\s*d5 11 d3 c1\s+rol\s+r25d,cl
+\s*[a-f0-9]+:\s*d5 19 d3 c7\s+rol\s+r31,cl
+\s*[a-f0-9]+:\s*d5 10 d2 84 80 23 01 00 00\s+rol\s+BYTE PTR\s+\[r16\+rax\*4\+0x123\],cl
+\s*[a-f0-9]+:\s*66 d5 10 d3 84 80 23 01 00 00\s+rol\s+WORD PTR\s+\[r16\+rax\*4\+0x123\],cl
+\s*[a-f0-9]+:\s*d5 10 d3 84 80 23 01 00 00\s+rol\s+DWORD PTR\s+\[r16\+rax\*4\+0x123\],cl
+\s*[a-f0-9]+:\s*d5 18 d3 84 80 23 01 00 00\s+rol\s+QWORD PTR\s+\[r16\+rax\*4\+0x123\],cl
+\s*[a-f0-9]+:\s*66 d5 11 d3 84 87 23 01 00 00\s+rol\s+WORD PTR\s+\[r31\+rax\*4\+0x123\],cl
+\s*[a-f0-9]+:\s*d5 11 d3 84 87 23 01 00 00\s+rol\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],cl
+\s*[a-f0-9]+:\s*d5 19 d3 84 87 23 01 00 00\s+rol\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],cl
+\s*[a-f0-9]+:\s*d5 10 c0 c8 7b\s+ror\s+r16b,0x7b
+\s*[a-f0-9]+:\s*66 d5 10 c1 ca 7b\s+ror\s+r18w,0x7b
+\s*[a-f0-9]+:\s*d5 11 c1 c9 7b\s+ror\s+r25d,0x7b
+\s*[a-f0-9]+:\s*d5 19 c1 cf 7b\s+ror\s+r31,0x7b
+\s*[a-f0-9]+:\s*d5 10 c0 8c 80 23 01 00 00 7b\s+ror\s+BYTE PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*66 d5 10 c1 8c 80 23 01 00 00 7b\s+ror\s+WORD PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 10 c1 8c 80 23 01 00 00 7b\s+ror\s+DWORD PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 18 c1 8c 80 23 01 00 00 7b\s+ror\s+QWORD PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*66 d5 11 c1 8c 87 23 01 00 00 7b\s+ror\s+WORD PTR\s+\[r31\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 11 c1 8c 87 23 01 00 00 7b\s+ror\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 19 c1 8c 87 23 01 00 00 7b\s+ror\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 10 d0 c8\s+ror\s+r16b,1
+\s*[a-f0-9]+:\s*66 d5 10 d1 ca\s+ror\s+r18w,1
+\s*[a-f0-9]+:\s*d5 11 d1 c9\s+ror\s+r25d,1
+\s*[a-f0-9]+:\s*d5 19 d1 cf\s+ror\s+r31,1
+\s*[a-f0-9]+:\s*d5 10 d0 8c 80 23 01 00 00\s+ror\s+BYTE PTR\s+\[r16\+rax\*4\+0x123\],1
+\s*[a-f0-9]+:\s*66 d5 10 d1 8c 80 23 01 00 00\s+ror\s+WORD PTR\s+\[r16\+rax\*4\+0x123\],1
+\s*[a-f0-9]+:\s*d5 10 d1 8c 80 23 01 00 00\s+ror\s+DWORD PTR\s+\[r16\+rax\*4\+0x123\],1
+\s*[a-f0-9]+:\s*d5 18 d1 8c 80 23 01 00 00\s+ror\s+QWORD PTR\s+\[r16\+rax\*4\+0x123\],1
+\s*[a-f0-9]+:\s*66 d5 11 d1 8c 87 23 01 00 00\s+ror\s+WORD PTR\s+\[r31\+rax\*4\+0x123\],1
+\s*[a-f0-9]+:\s*d5 11 d1 8c 87 23 01 00 00\s+ror\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],1
+\s*[a-f0-9]+:\s*d5 19 d1 8c 87 23 01 00 00\s+ror\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],1
+\s*[a-f0-9]+:\s*d5 10 d2 c8\s+ror\s+r16b,cl
+\s*[a-f0-9]+:\s*66 d5 10 d3 ca\s+ror\s+r18w,cl
+\s*[a-f0-9]+:\s*d5 11 d3 c9\s+ror\s+r25d,cl
+\s*[a-f0-9]+:\s*d5 19 d3 cf\s+ror\s+r31,cl
+\s*[a-f0-9]+:\s*d5 10 d2 8c 80 23 01 00 00\s+ror\s+BYTE PTR\s+\[r16\+rax\*4\+0x123\],cl
+\s*[a-f0-9]+:\s*66 d5 10 d3 8c 80 23 01 00 00\s+ror\s+WORD PTR\s+\[r16\+rax\*4\+0x123\],cl
+\s*[a-f0-9]+:\s*d5 10 d3 8c 80 23 01 00 00\s+ror\s+DWORD PTR\s+\[r16\+rax\*4\+0x123\],cl
+\s*[a-f0-9]+:\s*d5 18 d3 8c 80 23 01 00 00\s+ror\s+QWORD PTR\s+\[r16\+rax\*4\+0x123\],cl
+\s*[a-f0-9]+:\s*66 d5 11 d3 8c 87 23 01 00 00\s+ror\s+WORD PTR\s+\[r31\+rax\*4\+0x123\],cl
+\s*[a-f0-9]+:\s*d5 11 d3 8c 87 23 01 00 00\s+ror\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],cl
+\s*[a-f0-9]+:\s*d5 19 d3 8c 87 23 01 00 00\s+ror\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],cl
+\s*[a-f0-9]+:\s*62 db 7f 08 f0 d1 7b\s+rorx\s+edx,r25d,0x7b
+\s*[a-f0-9]+:\s*62 5b ff 08 f0 ff 7b\s+rorx\s+r15,r31,0x7b
+\s*[a-f0-9]+:\s*62 4b 7f 08 f0 8c 87 23 01 00 00 7b\s+rorx\s+r25d,DWORD PTR\s+\[r31\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*62 4b ff 08 f0 bc 87 23 01 00 00 7b\s+rorx\s+r31,QWORD PTR\s+\[r31\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 10 c0 f8 7b\s+sar\s+r16b,0x7b
+\s*[a-f0-9]+:\s*66 d5 10 c1 fa 7b\s+sar\s+r18w,0x7b
+\s*[a-f0-9]+:\s*d5 11 c1 f9 7b\s+sar\s+r25d,0x7b
+\s*[a-f0-9]+:\s*d5 19 c1 ff 7b\s+sar\s+r31,0x7b
+\s*[a-f0-9]+:\s*d5 10 c0 bc 80 23 01 00 00 7b\s+sar\s+BYTE PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*66 d5 10 c1 bc 80 23 01 00 00 7b\s+sar\s+WORD PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 10 c1 bc 80 23 01 00 00 7b\s+sar\s+DWORD PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 18 c1 bc 80 23 01 00 00 7b\s+sar\s+QWORD PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*66 d5 11 c1 bc 87 23 01 00 00 7b\s+sar\s+WORD PTR\s+\[r31\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 11 c1 bc 87 23 01 00 00 7b\s+sar\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 19 c1 bc 87 23 01 00 00 7b\s+sar\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 10 d0 f8\s+sar\s+r16b,1
+\s*[a-f0-9]+:\s*66 d5 10 d1 fa\s+sar\s+r18w,1
+\s*[a-f0-9]+:\s*d5 11 d1 f9\s+sar\s+r25d,1
+\s*[a-f0-9]+:\s*d5 19 d1 ff\s+sar\s+r31,1
+\s*[a-f0-9]+:\s*d5 10 d0 bc 80 23 01 00 00\s+sar\s+BYTE PTR\s+\[r16\+rax\*4\+0x123\],1
+\s*[a-f0-9]+:\s*66 d5 10 d1 bc 80 23 01 00 00\s+sar\s+WORD PTR\s+\[r16\+rax\*4\+0x123\],1
+\s*[a-f0-9]+:\s*d5 10 d1 bc 80 23 01 00 00\s+sar\s+DWORD PTR\s+\[r16\+rax\*4\+0x123\],1
+\s*[a-f0-9]+:\s*d5 18 d1 bc 80 23 01 00 00\s+sar\s+QWORD PTR\s+\[r16\+rax\*4\+0x123\],1
+\s*[a-f0-9]+:\s*66 d5 11 d1 bc 87 23 01 00 00\s+sar\s+WORD PTR\s+\[r31\+rax\*4\+0x123\],1
+\s*[a-f0-9]+:\s*d5 11 d1 bc 87 23 01 00 00\s+sar\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],1
+\s*[a-f0-9]+:\s*d5 19 d1 bc 87 23 01 00 00\s+sar\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],1
+\s*[a-f0-9]+:\s*d5 10 d2 f8\s+sar\s+r16b,cl
+\s*[a-f0-9]+:\s*66 d5 10 d3 fa\s+sar\s+r18w,cl
+\s*[a-f0-9]+:\s*d5 11 d3 f9\s+sar\s+r25d,cl
+\s*[a-f0-9]+:\s*d5 19 d3 ff\s+sar\s+r31,cl
+\s*[a-f0-9]+:\s*d5 10 d2 bc 80 23 01 00 00\s+sar\s+BYTE PTR\s+\[r16\+rax\*4\+0x123\],cl
+\s*[a-f0-9]+:\s*66 d5 10 d3 bc 80 23 01 00 00\s+sar\s+WORD PTR\s+\[r16\+rax\*4\+0x123\],cl
+\s*[a-f0-9]+:\s*d5 10 d3 bc 80 23 01 00 00\s+sar\s+DWORD PTR\s+\[r16\+rax\*4\+0x123\],cl
+\s*[a-f0-9]+:\s*d5 18 d3 bc 80 23 01 00 00\s+sar\s+QWORD PTR\s+\[r16\+rax\*4\+0x123\],cl
+\s*[a-f0-9]+:\s*66 d5 11 d3 bc 87 23 01 00 00\s+sar\s+WORD PTR\s+\[r31\+rax\*4\+0x123\],cl
+\s*[a-f0-9]+:\s*d5 11 d3 bc 87 23 01 00 00\s+sar\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],cl
+\s*[a-f0-9]+:\s*d5 19 d3 bc 87 23 01 00 00\s+sar\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],cl
+\s*[a-f0-9]+:\s*62 72 36 00 f7 d2\s+sarx\s+r10d,edx,r25d
+\s*[a-f0-9]+:\s*62 da 36 00 f7 94 87 23 01 00 00\s+sarx\s+edx,DWORD PTR\s+\[r31\+rax\*4\+0x123\],r25d
+\s*[a-f0-9]+:\s*62 52 86 00 f7 df\s+sarx\s+r11,r15,r31
+\s*[a-f0-9]+:\s*62 5a 86 00 f7 bc 87 23 01 00 00\s+sarx\s+r15,QWORD PTR\s+\[r31\+rax\*4\+0x123\],r31
+\s*[a-f0-9]+:\s*d5 10 80 d8 7b\s+sbb\s+r16b,0x7b
+\s*[a-f0-9]+:\s*66 d5 10 83 da 7b\s+sbb\s+r18w,0x7b
+\s*[a-f0-9]+:\s*d5 11 83 d9 7b\s+sbb\s+r25d,0x7b
+\s*[a-f0-9]+:\s*d5 19 83 df 7b\s+sbb\s+r31,0x7b
+\s*[a-f0-9]+:\s*d5 10 80 9c 80 23 01 00 00 7b\s+sbb\s+BYTE PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*66 d5 10 83 9c 80 23 01 00 00 7b\s+sbb\s+WORD PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 10 83 9c 80 23 01 00 00 7b\s+sbb\s+DWORD PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 18 83 9c 80 23 01 00 00 7b\s+sbb\s+QWORD PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*66 d5 11 83 9c 87 23 01 00 00 7b\s+sbb\s+WORD PTR\s+\[r31\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 11 83 9c 87 23 01 00 00 7b\s+sbb\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 19 83 9c 87 23 01 00 00 7b\s+sbb\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 40 18 c2\s+sbb\s+dl,r16b
+\s*[a-f0-9]+:\s*d5 51 18 84 87 23 01 00 00\s+sbb\s+BYTE PTR\s+\[r31\+rax\*4\+0x123\],r16b
+\s*[a-f0-9]+:\s*66 d5 40 19 d0\s+sbb\s+ax,r18w
+\s*[a-f0-9]+:\s*66 d5 50 19 94 80 23 01 00 00\s+sbb\s+WORD PTR\s+\[r16\+rax\*4\+0x123\],r18w
+\s*[a-f0-9]+:\s*66 d5 51 19 94 87 23 01 00 00\s+sbb\s+WORD PTR\s+\[r31\+rax\*4\+0x123\],r18w
+\s*[a-f0-9]+:\s*d5 44 19 ca\s+sbb\s+edx,r25d
+\s*[a-f0-9]+:\s*d5 55 19 8c 87 23 01 00 00\s+sbb\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],r25d
+\s*[a-f0-9]+:\s*d5 4d 19 ff\s+sbb\s+r15,r31
+\s*[a-f0-9]+:\s*d5 5d 19 bc 87 23 01 00 00\s+sbb\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],r31
+\s*[a-f0-9]+:\s*d5 50 1a 84 80 23 01 00 00\s+sbb\s+r16b,BYTE PTR\s+\[r16\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 5c 1b bc 80 23 01 00 00\s+sbb\s+r31,QWORD PTR\s+\[r16\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*66 d5 51 1b 94 87 23 01 00 00\s+sbb\s+r18w,WORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 55 1b 8c 87 23 01 00 00\s+sbb\s+r25d,DWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 5d 1b bc 87 23 01 00 00\s+sbb\s+r31,QWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*62 a4 7c 08 d9 f7\s+sha1msg1 xmm22,xmm23
+\s*[a-f0-9]+:\s*62 cc 7c 08 d9 b4 87 23 01 00 00\s+sha1msg1 xmm22,XMMWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*62 a4 7c 08 da f7\s+sha1msg2 xmm22,xmm23
+\s*[a-f0-9]+:\s*62 cc 7c 08 da b4 87 23 01 00 00\s+sha1msg2 xmm22,XMMWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*62 a4 7c 08 d8 f7\s+sha1nexte xmm22,xmm23
+\s*[a-f0-9]+:\s*62 cc 7c 08 d8 b4 87 23 01 00 00\s+sha1nexte xmm22,XMMWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*62 a4 7c 08 d4 f7 7b\s+sha1rnds4 xmm22,xmm23,0x7b
+\s*[a-f0-9]+:\s*62 cc 7c 08 d4 b4 87 23 01 00 00 7b\s+sha1rnds4 xmm22,XMMWORD PTR\s+\[r31\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*62 a4 7c 08 dc f7\s+sha256msg1 xmm22,xmm23
+\s*[a-f0-9]+:\s*62 cc 7c 08 dc b4 87 23 01 00 00\s+sha256msg1 xmm22,XMMWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*62 a4 7c 08 dd f7\s+sha256msg2 xmm22,xmm23
+\s*[a-f0-9]+:\s*62 cc 7c 08 dd b4 87 23 01 00 00\s+sha256msg2 xmm22,XMMWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*62 5c 7c 08 db a4 87 23 01 00 00\s+sha256rnds2 xmm12,XMMWORD PTR\s+\[r31\+rax\*4\+0x123\],xmm0
+\s*[a-f0-9]+:\s*d5 10 c0 e0 7b\s+shl\s+r16b,0x7b
+\s*[a-f0-9]+:\s*66 d5 10 c1 e2 7b\s+shl\s+r18w,0x7b
+\s*[a-f0-9]+:\s*d5 11 c1 e1 7b\s+shl\s+r25d,0x7b
+\s*[a-f0-9]+:\s*d5 19 c1 e7 7b\s+shl\s+r31,0x7b
+\s*[a-f0-9]+:\s*d5 10 c0 a4 80 23 01 00 00 7b\s+shl\s+BYTE PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*66 d5 10 c1 a4 80 23 01 00 00 7b\s+shl\s+WORD PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 10 c1 a4 80 23 01 00 00 7b\s+shl\s+DWORD PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 18 c1 a4 80 23 01 00 00 7b\s+shl\s+QWORD PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 11 c0 a4 87 23 01 00 00 7b\s+shl\s+BYTE PTR\s+\[r31\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*66 d5 11 c1 a4 87 23 01 00 00 7b\s+shl\s+WORD PTR\s+\[r31\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 11 c1 a4 87 23 01 00 00 7b\s+shl\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 19 c1 a4 87 23 01 00 00 7b\s+shl\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 10 d0 e0\s+shl\s+r16b,1
+\s*[a-f0-9]+:\s*66 d5 10 d1 e2\s+shl\s+r18w,1
+\s*[a-f0-9]+:\s*d5 11 d1 e1\s+shl\s+r25d,1
+\s*[a-f0-9]+:\s*d5 19 d1 e7\s+shl\s+r31,1
+\s*[a-f0-9]+:\s*d5 10 d0 a4 80 23 01 00 00\s+shl\s+BYTE PTR\s+\[r16\+rax\*4\+0x123\],1
+\s*[a-f0-9]+:\s*66 d5 10 d1 a4 80 23 01 00 00\s+shl\s+WORD PTR\s+\[r16\+rax\*4\+0x123\],1
+\s*[a-f0-9]+:\s*d5 10 d1 a4 80 23 01 00 00\s+shl\s+DWORD PTR\s+\[r16\+rax\*4\+0x123\],1
+\s*[a-f0-9]+:\s*d5 18 d1 a4 80 23 01 00 00\s+shl\s+QWORD PTR\s+\[r16\+rax\*4\+0x123\],1
+\s*[a-f0-9]+:\s*66 d5 11 d1 a4 87 23 01 00 00\s+shl\s+WORD PTR\s+\[r31\+rax\*4\+0x123\],1
+\s*[a-f0-9]+:\s*d5 11 d1 a4 87 23 01 00 00\s+shl\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],1
+\s*[a-f0-9]+:\s*d5 19 d1 a4 87 23 01 00 00\s+shl\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],1
+\s*[a-f0-9]+:\s*d5 10 d2 e0\s+shl\s+r16b,cl
+\s*[a-f0-9]+:\s*66 d5 10 d3 e2\s+shl\s+r18w,cl
+\s*[a-f0-9]+:\s*d5 11 d3 e1\s+shl\s+r25d,cl
+\s*[a-f0-9]+:\s*d5 19 d3 e7\s+shl\s+r31,cl
+\s*[a-f0-9]+:\s*d5 10 d2 a4 80 23 01 00 00\s+shl\s+BYTE PTR\s+\[r16\+rax\*4\+0x123\],cl
+\s*[a-f0-9]+:\s*66 d5 10 d3 a4 80 23 01 00 00\s+shl\s+WORD PTR\s+\[r16\+rax\*4\+0x123\],cl
+\s*[a-f0-9]+:\s*d5 10 d3 a4 80 23 01 00 00\s+shl\s+DWORD PTR\s+\[r16\+rax\*4\+0x123\],cl
+\s*[a-f0-9]+:\s*d5 18 d3 a4 80 23 01 00 00\s+shl\s+QWORD PTR\s+\[r16\+rax\*4\+0x123\],cl
+\s*[a-f0-9]+:\s*d5 11 d2 a4 87 23 01 00 00\s+shl\s+BYTE PTR\s+\[r31\+rax\*4\+0x123\],cl
+\s*[a-f0-9]+:\s*66 d5 11 d3 a4 87 23 01 00 00\s+shl\s+WORD PTR\s+\[r31\+rax\*4\+0x123\],cl
+\s*[a-f0-9]+:\s*d5 11 d3 a4 87 23 01 00 00\s+shl\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],cl
+\s*[a-f0-9]+:\s*d5 19 d3 a4 87 23 01 00 00\s+shl\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],cl
+\s*[a-f0-9]+:\s*66 d5 c0 a4 d0 7b\s+shld\s+ax,r18w,0x7b
+\s*[a-f0-9]+:\s*66 d5 d1 a4 94 87 23 01 00 00 7b\s+shld\s+WORD PTR\s+\[r31\+rax\*4\+0x123\],r18w,0x7b
+\s*[a-f0-9]+:\s*d5 c4 a4 ca 7b\s+shld\s+edx,r25d,0x7b
+\s*[a-f0-9]+:\s*d5 d5 a4 8c 87 23 01 00 00 7b\s+shld\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],r25d,0x7b
+\s*[a-f0-9]+:\s*d5 cd a4 ff 7b\s+shld\s+r15,r31,0x7b
+\s*[a-f0-9]+:\s*d5 dc a4 bc 80 23 01 00 00 7b\s+shld\s+QWORD PTR\s+\[r16\+rax\*4\+0x123\],r31,0x7b
+\s*[a-f0-9]+:\s*66 d5 c0 a5 d0\s+shld\s+ax,r18w,cl
+\s*[a-f0-9]+:\s*66 d5 d0 a5 94 80 23 01 00 00\s+shld\s+WORD PTR\s+\[r16\+rax\*4\+0x123\],r18w,cl
+\s*[a-f0-9]+:\s*d5 c4 a5 ca\s+shld\s+edx,r25d,cl
+\s*[a-f0-9]+:\s*d5 d4 a5 8c 80 23 01 00 00\s+shld\s+DWORD PTR\s+\[r16\+rax\*4\+0x123\],r25d,cl
+\s*[a-f0-9]+:\s*d5 d5 a5 8c 87 23 01 00 00\s+shld\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],r25d,cl
+\s*[a-f0-9]+:\s*d5 cd a5 ff\s+shld\s+r15,r31,cl
+\s*[a-f0-9]+:\s*d5 dd a5 bc 87 23 01 00 00\s+shld\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],r31,cl
+\s*[a-f0-9]+:\s*62 72 35 00 f7 d2\s+shlx\s+r10d,edx,r25d
+\s*[a-f0-9]+:\s*62 da 35 00 f7 94 87 23 01 00 00\s+shlx\s+edx,DWORD PTR\s+\[r31\+rax\*4\+0x123\],r25d
+\s*[a-f0-9]+:\s*62 52 85 00 f7 df\s+shlx\s+r11,r15,r31
+\s*[a-f0-9]+:\s*62 5a 85 00 f7 bc 87 23 01 00 00\s+shlx\s+r15,QWORD PTR\s+\[r31\+rax\*4\+0x123\],r31
+\s*[a-f0-9]+:\s*d5 10 c0 e8 7b\s+shr\s+r16b,0x7b
+\s*[a-f0-9]+:\s*66 d5 10 c1 ea 7b\s+shr\s+r18w,0x7b
+\s*[a-f0-9]+:\s*d5 11 c1 e9 7b\s+shr\s+r25d,0x7b
+\s*[a-f0-9]+:\s*d5 19 c1 ef 7b\s+shr\s+r31,0x7b
+\s*[a-f0-9]+:\s*d5 10 c0 ac 80 23 01 00 00 7b\s+shr\s+BYTE PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*66 d5 10 c1 ac 80 23 01 00 00 7b\s+shr\s+WORD PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 10 c1 ac 80 23 01 00 00 7b\s+shr\s+DWORD PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 18 c1 ac 80 23 01 00 00 7b\s+shr\s+QWORD PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*66 d5 11 c1 ac 87 23 01 00 00 7b\s+shr\s+WORD PTR\s+\[r31\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 11 c1 ac 87 23 01 00 00 7b\s+shr\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 19 c1 ac 87 23 01 00 00 7b\s+shr\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 10 d0 e8\s+shr\s+r16b,1
+\s*[a-f0-9]+:\s*66 d5 10 d1 ea\s+shr\s+r18w,1
+\s*[a-f0-9]+:\s*d5 11 d1 e9\s+shr\s+r25d,1
+\s*[a-f0-9]+:\s*d5 19 d1 ef\s+shr\s+r31,1
+\s*[a-f0-9]+:\s*d5 10 d0 ac 80 23 01 00 00\s+shr\s+BYTE PTR\s+\[r16\+rax\*4\+0x123\],1
+\s*[a-f0-9]+:\s*66 d5 10 d1 ac 80 23 01 00 00\s+shr\s+WORD PTR\s+\[r16\+rax\*4\+0x123\],1
+\s*[a-f0-9]+:\s*d5 10 d1 ac 80 23 01 00 00\s+shr\s+DWORD PTR\s+\[r16\+rax\*4\+0x123\],1
+\s*[a-f0-9]+:\s*d5 18 d1 ac 80 23 01 00 00\s+shr\s+QWORD PTR\s+\[r16\+rax\*4\+0x123\],1
+\s*[a-f0-9]+:\s*66 d5 11 d1 ac 87 23 01 00 00\s+shr\s+WORD PTR\s+\[r31\+rax\*4\+0x123\],1
+\s*[a-f0-9]+:\s*d5 11 d1 ac 87 23 01 00 00\s+shr\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],1
+\s*[a-f0-9]+:\s*d5 19 d1 ac 87 23 01 00 00\s+shr\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],1
+\s*[a-f0-9]+:\s*d5 10 d2 e8\s+shr\s+r16b,cl
+\s*[a-f0-9]+:\s*66 d5 10 d3 ea\s+shr\s+r18w,cl
+\s*[a-f0-9]+:\s*d5 11 d3 e9\s+shr\s+r25d,cl
+\s*[a-f0-9]+:\s*d5 19 d3 ef\s+shr\s+r31,cl
+\s*[a-f0-9]+:\s*d5 10 d2 ac 80 23 01 00 00\s+shr\s+BYTE PTR\s+\[r16\+rax\*4\+0x123\],cl
+\s*[a-f0-9]+:\s*66 d5 10 d3 ac 80 23 01 00 00\s+shr\s+WORD PTR\s+\[r16\+rax\*4\+0x123\],cl
+\s*[a-f0-9]+:\s*d5 10 d3 ac 80 23 01 00 00\s+shr\s+DWORD PTR\s+\[r16\+rax\*4\+0x123\],cl
+\s*[a-f0-9]+:\s*d5 18 d3 ac 80 23 01 00 00\s+shr\s+QWORD PTR\s+\[r16\+rax\*4\+0x123\],cl
+\s*[a-f0-9]+:\s*66 d5 11 d3 ac 87 23 01 00 00\s+shr\s+WORD PTR\s+\[r31\+rax\*4\+0x123\],cl
+\s*[a-f0-9]+:\s*d5 11 d3 ac 87 23 01 00 00\s+shr\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],cl
+\s*[a-f0-9]+:\s*d5 19 d3 ac 87 23 01 00 00\s+shr\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],cl
+\s*[a-f0-9]+:\s*66 d5 c0 ac d0 7b\s+shrd\s+ax,r18w,0x7b
+\s*[a-f0-9]+:\s*66 d5 d1 ac 94 87 23 01 00 00 7b\s+shrd\s+WORD PTR\s+\[r31\+rax\*4\+0x123\],r18w,0x7b
+\s*[a-f0-9]+:\s*d5 c4 ac ca 7b\s+shrd\s+edx,r25d,0x7b
+\s*[a-f0-9]+:\s*d5 d5 ac 8c 87 23 01 00 00 7b\s+shrd\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],r25d,0x7b
+\s*[a-f0-9]+:\s*d5 cd ac ff 7b\s+shrd\s+r15,r31,0x7b
+\s*[a-f0-9]+:\s*d5 dc ac bc 80 23 01 00 00 7b\s+shrd\s+QWORD PTR\s+\[r16\+rax\*4\+0x123\],r31,0x7b
+\s*[a-f0-9]+:\s*66 d5 c0 ad d0\s+shrd\s+ax,r18w,cl
+\s*[a-f0-9]+:\s*66 d5 d0 ad 94 80 23 01 00 00\s+shrd\s+WORD PTR\s+\[r16\+rax\*4\+0x123\],r18w,cl
+\s*[a-f0-9]+:\s*d5 c4 ad ca\s+shrd\s+edx,r25d,cl
+\s*[a-f0-9]+:\s*d5 d4 ad 8c 80 23 01 00 00\s+shrd\s+DWORD PTR\s+\[r16\+rax\*4\+0x123\],r25d,cl
+\s*[a-f0-9]+:\s*d5 d5 ad 8c 87 23 01 00 00\s+shrd\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],r25d,cl
+\s*[a-f0-9]+:\s*d5 cd ad ff\s+shrd\s+r15,r31,cl
+\s*[a-f0-9]+:\s*d5 dd ad bc 87 23 01 00 00\s+shrd\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],r31,cl
+\s*[a-f0-9]+:\s*62 72 37 00 f7 d2\s+shrx\s+r10d,edx,r25d
+\s*[a-f0-9]+:\s*62 da 37 00 f7 94 87 23 01 00 00\s+shrx\s+edx,DWORD PTR\s+\[r31\+rax\*4\+0x123\],r25d
+\s*[a-f0-9]+:\s*62 52 87 00 f7 df\s+shrx\s+r11,r15,r31
+\s*[a-f0-9]+:\s*62 5a 87 00 f7 bc 87 23 01 00 00\s+shrx\s+r15,QWORD PTR\s+\[r31\+rax\*4\+0x123\],r31
+\s*[a-f0-9]+:\s*62 da 7d 08 49 84 87 23 01 00 00\s+sttilecfg\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 10 80 e8 7b\s+sub\s+r16b,0x7b
+\s*[a-f0-9]+:\s*66 d5 10 83 ea 7b\s+sub\s+r18w,0x7b
+\s*[a-f0-9]+:\s*d5 11 83 e9 7b\s+sub\s+r25d,0x7b
+\s*[a-f0-9]+:\s*d5 19 83 ef 7b\s+sub\s+r31,0x7b
+\s*[a-f0-9]+:\s*d5 10 80 ac 80 23 01 00 00 7b\s+sub\s+BYTE PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*66 d5 10 83 ac 80 23 01 00 00 7b\s+sub\s+WORD PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 10 83 ac 80 23 01 00 00 7b\s+sub\s+DWORD PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 18 83 ac 80 23 01 00 00 7b\s+sub\s+QWORD PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*66 d5 11 83 ac 87 23 01 00 00 7b\s+sub\s+WORD PTR\s+\[r31\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 11 83 ac 87 23 01 00 00 7b\s+sub\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 19 83 ac 87 23 01 00 00 7b\s+sub\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 40 28 c2\s+sub\s+dl,r16b
+\s*[a-f0-9]+:\s*d5 51 28 84 87 23 01 00 00\s+sub\s+BYTE PTR\s+\[r31\+rax\*4\+0x123\],r16b
+\s*[a-f0-9]+:\s*66 d5 40 29 d0\s+sub\s+ax,r18w
+\s*[a-f0-9]+:\s*66 d5 50 29 94 80 23 01 00 00\s+sub\s+WORD PTR\s+\[r16\+rax\*4\+0x123\],r18w
+\s*[a-f0-9]+:\s*66 d5 51 29 94 87 23 01 00 00\s+sub\s+WORD PTR\s+\[r31\+rax\*4\+0x123\],r18w
+\s*[a-f0-9]+:\s*d5 44 29 ca\s+sub\s+edx,r25d
+\s*[a-f0-9]+:\s*d5 55 29 8c 87 23 01 00 00\s+sub\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],r25d
+\s*[a-f0-9]+:\s*d5 4d 29 ff\s+sub\s+r15,r31
+\s*[a-f0-9]+:\s*d5 5d 29 bc 87 23 01 00 00\s+sub\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],r31
+\s*[a-f0-9]+:\s*d5 50 2a 84 80 23 01 00 00\s+sub\s+r16b,BYTE PTR\s+\[r16\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 5c 2b bc 80 23 01 00 00\s+sub\s+r31,QWORD PTR\s+\[r16\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*66 d5 51 2b 94 87 23 01 00 00\s+sub\s+r18w,WORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 55 2b 8c 87 23 01 00 00\s+sub\s+r25d,DWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 5d 2b bc 87 23 01 00 00\s+sub\s+r31,QWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*62 da 7f 08 4b b4 87 23 01 00 00\s+tileloadd tmm6,\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*62 da 7d 08 4b b4 87 23 01 00 00\s+tileloaddt1 tmm6,\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*62 da 7e 08 4b b4 87 23 01 00 00\s+tilestored\s+\[r31\+rax\*4\+0x123\],tmm6
+\s*[a-f0-9]+:\s*66 f3 d5 90 bc c2\s+tzcnt\s+ax,r18w
+\s*[a-f0-9]+:\s*f3 d5 91 bc d1\s+tzcnt\s+edx,r25d
+\s*[a-f0-9]+:\s*f3 d5 9d bc ff\s+tzcnt\s+r15,r31
+\s*[a-f0-9]+:\s*66 f3 d5 d0 bc 94 80 23 01 00 00\s+tzcnt\s+r18w,WORD PTR\s+\[r16\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*f3 d5 dc bc bc 80 23 01 00 00\s+tzcnt\s+r31,QWORD PTR\s+\[r16\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*66 f3 d5 d1 bc 94 87 23 01 00 00\s+tzcnt\s+r18w,WORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*f3 d5 d5 bc 8c 87 23 01 00 00\s+tzcnt\s+r25d,DWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*62 4c 7c 08 66 8c 87 23 01 00 00\s+wrssd\s+\[r31\+rax\*4\+0x123\],r25d
+\s*[a-f0-9]+:\s*62 4c fc 08 66 bc 87 23 01 00 00\s+wrssq\s+\[r31\+rax\*4\+0x123\],r31
+\s*[a-f0-9]+:\s*62 4c 7d 08 65 8c 87 23 01 00 00\s+wrussd\s+\[r31\+rax\*4\+0x123\],r25d
+\s*[a-f0-9]+:\s*62 4c fd 08 65 bc 87 23 01 00 00\s+wrussq\s+\[r31\+rax\*4\+0x123\],r31
+\s*[a-f0-9]+:\s*d5 10 80 f0 7b\s+xor\s+r16b,0x7b
+\s*[a-f0-9]+:\s*66 d5 10 83 f2 7b\s+xor\s+r18w,0x7b
+\s*[a-f0-9]+:\s*d5 11 83 f1 7b\s+xor\s+r25d,0x7b
+\s*[a-f0-9]+:\s*d5 19 83 f7 7b\s+xor\s+r31,0x7b
+\s*[a-f0-9]+:\s*d5 10 80 b4 80 23 01 00 00 7b\s+xor\s+BYTE PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*66 d5 10 83 b4 80 23 01 00 00 7b\s+xor\s+WORD PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 10 83 b4 80 23 01 00 00 7b\s+xor\s+DWORD PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 18 83 b4 80 23 01 00 00 7b\s+xor\s+QWORD PTR\s+\[r16\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*66 d5 11 83 b4 87 23 01 00 00 7b\s+xor\s+WORD PTR\s+\[r31\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 11 83 b4 87 23 01 00 00 7b\s+xor\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 19 83 b4 87 23 01 00 00 7b\s+xor\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],0x7b
+\s*[a-f0-9]+:\s*d5 40 30 c2\s+xor\s+dl,r16b
+\s*[a-f0-9]+:\s*d5 51 30 84 87 23 01 00 00\s+xor\s+BYTE PTR\s+\[r31\+rax\*4\+0x123\],r16b
+\s*[a-f0-9]+:\s*66 d5 40 31 d0\s+xor\s+ax,r18w
+\s*[a-f0-9]+:\s*66 d5 50 31 94 80 23 01 00 00\s+xor\s+WORD PTR\s+\[r16\+rax\*4\+0x123\],r18w
+\s*[a-f0-9]+:\s*66 d5 51 31 94 87 23 01 00 00\s+xor\s+WORD PTR\s+\[r31\+rax\*4\+0x123\],r18w
+\s*[a-f0-9]+:\s*d5 44 31 ca\s+xor\s+edx,r25d
+\s*[a-f0-9]+:\s*d5 55 31 8c 87 23 01 00 00\s+xor\s+DWORD PTR\s+\[r31\+rax\*4\+0x123\],r25d
+\s*[a-f0-9]+:\s*d5 4d 31 ff\s+xor\s+r15,r31
+\s*[a-f0-9]+:\s*d5 5d 31 bc 87 23 01 00 00\s+xor\s+QWORD PTR\s+\[r31\+rax\*4\+0x123\],r31
+\s*[a-f0-9]+:\s*d5 50 32 84 80 23 01 00 00\s+xor\s+r16b,BYTE PTR\s+\[r16\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 5c 33 bc 80 23 01 00 00\s+xor\s+r31,QWORD PTR\s+\[r16\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*66 d5 51 33 94 87 23 01 00 00\s+xor\s+r18w,WORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 55 33 8c 87 23 01 00 00\s+xor\s+r25d,DWORD PTR\s+\[r31\+rax\*4\+0x123\]
+\s*[a-f0-9]+:\s*d5 5d 33 bc 87 23 01 00 00\s+xor\s+r31,QWORD PTR\s+\[r31\+rax\*4\+0x123\]
+#pass
diff --git a/gas/testsuite/gas/i386/x86-64-apx-evex-promoted.d b/gas/testsuite/gas/i386/x86-64-apx-evex-promoted.d
new file mode 100644
index 00000000000..be85a750232
--- /dev/null
+++ b/gas/testsuite/gas/i386/x86-64-apx-evex-promoted.d
@@ -0,0 +1,740 @@ 
+#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>:
+\s*[a-f0-9]+:\s*62 4c 7c 08 fc 8c 87 23 01 00 00\s+aadd\s+%r25d,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 4c fc 08 fc bc 87 23 01 00 00\s+aadd\s+%r31,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 4c 7d 08 fc 8c 87 23 01 00 00\s+aand\s+%r25d,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 4c fd 08 fc bc 87 23 01 00 00\s+aand\s+%r31,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 80 d0 7b\s+adc\s+\$0x7b,%r16b
+\s*[a-f0-9]+:\s*66 d5 10 83 d2 7b\s+adc\s+\$0x7b,%r18w
+\s*[a-f0-9]+:\s*d5 11 83 d1 7b\s+adc\s+\$0x7b,%r25d
+\s*[a-f0-9]+:\s*d5 19 83 d7 7b\s+adc\s+\$0x7b,%r31
+\s*[a-f0-9]+:\s*d5 10 80 94 80 23 01 00 00 7b\s+adcb\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 10 83 94 80 23 01 00 00 7b\s+adcw\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 83 94 80 23 01 00 00 7b\s+adcl\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 18 83 94 80 23 01 00 00 7b\s+adcq\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 11 83 94 87 23 01 00 00 7b\s+adcw\s+\$0x7b,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 11 83 94 87 23 01 00 00 7b\s+adcl\s+\$0x7b,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 19 83 94 87 23 01 00 00 7b\s+adcq\s+\$0x7b,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 40 10 c2\s+adc\s+%r16b,%dl
+\s*[a-f0-9]+:\s*d5 51 10 84 87 23 01 00 00\s+adc\s+%r16b,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 40 11 d0\s+adc\s+%r18w,%ax
+\s*[a-f0-9]+:\s*66 d5 50 11 94 80 23 01 00 00\s+adc\s+%r18w,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 51 11 94 87 23 01 00 00\s+adc\s+%r18w,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 44 11 ca\s+adc\s+%r25d,%edx
+\s*[a-f0-9]+:\s*d5 55 11 8c 87 23 01 00 00\s+adc\s+%r25d,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 4d 11 ff\s+adc\s+%r31,%r15
+\s*[a-f0-9]+:\s*d5 5d 11 bc 87 23 01 00 00\s+adc\s+%r31,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 50 12 84 80 23 01 00 00\s+adc\s+0x123\(%r16,%rax,4\),%r16b
+\s*[a-f0-9]+:\s*d5 5c 13 bc 80 23 01 00 00\s+adc\s+0x123\(%r16,%rax,4\),%r31
+\s*[a-f0-9]+:\s*66 d5 51 13 94 87 23 01 00 00\s+adc\s+0x123\(%r31,%rax,4\),%r18w
+\s*[a-f0-9]+:\s*d5 55 13 8c 87 23 01 00 00\s+adc\s+0x123\(%r31,%rax,4\),%r25d
+\s*[a-f0-9]+:\s*d5 5d 13 bc 87 23 01 00 00\s+adc\s+0x123\(%r31,%rax,4\),%r31
+\s*[a-f0-9]+:\s*62 dc 7d 08 66 d1\s+adcx\s+%r25d,%edx
+\s*[a-f0-9]+:\s*62 5c fd 08 66 ff\s+adcx\s+%r31,%r15
+\s*[a-f0-9]+:\s*62 6c fd 08 66 bc 80 23 01 00 00\s+adcx\s+0x123\(%r16,%rax,4\),%r31
+\s*[a-f0-9]+:\s*62 4c 7d 08 66 8c 87 23 01 00 00\s+adcx\s+0x123\(%r31,%rax,4\),%r25d
+\s*[a-f0-9]+:\s*d5 10 80 c0 7b\s+add\s+\$0x7b,%r16b
+\s*[a-f0-9]+:\s*66 d5 10 83 c2 7b\s+add\s+\$0x7b,%r18w
+\s*[a-f0-9]+:\s*d5 11 83 c1 7b\s+add\s+\$0x7b,%r25d
+\s*[a-f0-9]+:\s*d5 19 83 c7 7b\s+add\s+\$0x7b,%r31
+\s*[a-f0-9]+:\s*d5 10 80 84 80 23 01 00 00 7b\s+addb\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 10 83 84 80 23 01 00 00 7b\s+addw\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 83 84 80 23 01 00 00 7b\s+addl\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 18 83 84 80 23 01 00 00 7b\s+addq\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 11 83 84 87 23 01 00 00 7b\s+addw\s+\$0x7b,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 11 83 84 87 23 01 00 00 7b\s+addl\s+\$0x7b,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 19 83 84 87 23 01 00 00 7b\s+addq\s+\$0x7b,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 40 00 c2\s+add\s+%r16b,%dl
+\s*[a-f0-9]+:\s*d5 51 00 84 87 23 01 00 00\s+add\s+%r16b,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 40 01 d0\s+add\s+%r18w,%ax
+\s*[a-f0-9]+:\s*66 d5 50 01 94 80 23 01 00 00\s+add\s+%r18w,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 51 01 94 87 23 01 00 00\s+add\s+%r18w,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 44 01 ca\s+add\s+%r25d,%edx
+\s*[a-f0-9]+:\s*d5 55 01 8c 87 23 01 00 00\s+add\s+%r25d,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 4d 01 ff\s+add\s+%r31,%r15
+\s*[a-f0-9]+:\s*d5 5d 01 bc 87 23 01 00 00\s+add\s+%r31,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 50 02 84 80 23 01 00 00\s+add\s+0x123\(%r16,%rax,4\),%r16b
+\s*[a-f0-9]+:\s*d5 5c 03 bc 80 23 01 00 00\s+add\s+0x123\(%r16,%rax,4\),%r31
+\s*[a-f0-9]+:\s*66 d5 51 03 94 87 23 01 00 00\s+add\s+0x123\(%r31,%rax,4\),%r18w
+\s*[a-f0-9]+:\s*d5 55 03 8c 87 23 01 00 00\s+add\s+0x123\(%r31,%rax,4\),%r25d
+\s*[a-f0-9]+:\s*d5 5d 03 bc 87 23 01 00 00\s+add\s+0x123\(%r31,%rax,4\),%r31
+\s*[a-f0-9]+:\s*62 dc 7e 08 66 d1\s+adox\s+%r25d,%edx
+\s*[a-f0-9]+:\s*62 5c fe 08 66 ff\s+adox\s+%r31,%r15
+\s*[a-f0-9]+:\s*62 6c fe 08 66 bc 80 23 01 00 00\s+adox\s+0x123\(%r16,%rax,4\),%r31
+\s*[a-f0-9]+:\s*62 4c 7e 08 66 8c 87 23 01 00 00\s+adox\s+0x123\(%r31,%rax,4\),%r25d
+\s*[a-f0-9]+:\s*62 cc 7e 08 dd b4 87 23 01 00 00\s+aesdec128kl\s+0x123\(%r31,%rax,4\),%xmm22
+\s*[a-f0-9]+:\s*62 cc 7e 08 df b4 87 23 01 00 00\s+aesdec256kl\s+0x123\(%r31,%rax,4\),%xmm22
+\s*[a-f0-9]+:\s*62 dc 7e 08 d8 8c 87 23 01 00 00\s+aesdecwide128kl\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 dc 7e 08 d8 9c 87 23 01 00 00\s+aesdecwide256kl\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 cc 7e 08 dc b4 87 23 01 00 00\s+aesenc128kl\s+0x123\(%r31,%rax,4\),%xmm22
+\s*[a-f0-9]+:\s*62 cc 7e 08 de b4 87 23 01 00 00\s+aesenc256kl\s+0x123\(%r31,%rax,4\),%xmm22
+\s*[a-f0-9]+:\s*62 dc 7e 08 d8 84 87 23 01 00 00\s+aesencwide128kl\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 dc 7e 08 d8 94 87 23 01 00 00\s+aesencwide256kl\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 80 e0 7b\s+and\s+\$0x7b,%r16b
+\s*[a-f0-9]+:\s*66 d5 10 83 e2 7b\s+and\s+\$0x7b,%r18w
+\s*[a-f0-9]+:\s*d5 11 83 e1 7b\s+and\s+\$0x7b,%r25d
+\s*[a-f0-9]+:\s*d5 19 83 e7 7b\s+and\s+\$0x7b,%r31
+\s*[a-f0-9]+:\s*d5 10 80 a4 80 23 01 00 00 7b\s+andb\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 10 83 a4 80 23 01 00 00 7b\s+andw\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 83 a4 80 23 01 00 00 7b\s+andl\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 18 83 a4 80 23 01 00 00 7b\s+andq\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 11 83 a4 87 23 01 00 00 7b\s+andw\s+\$0x7b,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 11 83 a4 87 23 01 00 00 7b\s+andl\s+\$0x7b,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 19 83 a4 87 23 01 00 00 7b\s+andq\s+\$0x7b,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 40 20 c2\s+and\s+%r16b,%dl
+\s*[a-f0-9]+:\s*d5 51 20 84 87 23 01 00 00\s+and\s+%r16b,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 40 21 d0\s+and\s+%r18w,%ax
+\s*[a-f0-9]+:\s*66 d5 50 21 94 80 23 01 00 00\s+and\s+%r18w,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 51 21 94 87 23 01 00 00\s+and\s+%r18w,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 44 21 ca\s+and\s+%r25d,%edx
+\s*[a-f0-9]+:\s*d5 55 21 8c 87 23 01 00 00\s+and\s+%r25d,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 4d 21 ff\s+and\s+%r31,%r15
+\s*[a-f0-9]+:\s*d5 5d 21 bc 87 23 01 00 00\s+and\s+%r31,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 50 22 84 80 23 01 00 00\s+and\s+0x123\(%r16,%rax,4\),%r16b
+\s*[a-f0-9]+:\s*d5 5c 23 bc 80 23 01 00 00\s+and\s+0x123\(%r16,%rax,4\),%r31
+\s*[a-f0-9]+:\s*66 d5 51 23 94 87 23 01 00 00\s+and\s+0x123\(%r31,%rax,4\),%r18w
+\s*[a-f0-9]+:\s*d5 55 23 8c 87 23 01 00 00\s+and\s+0x123\(%r31,%rax,4\),%r25d
+\s*[a-f0-9]+:\s*d5 5d 23 bc 87 23 01 00 00\s+and\s+0x123\(%r31,%rax,4\),%r31
+\s*[a-f0-9]+:\s*62 5a 6c 08 f2 d1\s+andn\s+%r25d,%edx,%r10d
+\s*[a-f0-9]+:\s*62 5a 84 08 f2 df\s+andn\s+%r31,%r15,%r11
+\s*[a-f0-9]+:\s*62 da 34 00 f2 94 87 23 01 00 00\s+andn\s+0x123\(%r31,%rax,4\),%r25d,%edx
+\s*[a-f0-9]+:\s*62 5a 84 00 f2 bc 87 23 01 00 00\s+andn\s+0x123\(%r31,%rax,4\),%r31,%r15
+\s*[a-f0-9]+:\s*62 4c 7f 08 fc 8c 87 23 01 00 00\s+aor\s+%r25d,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 4c ff 08 fc bc 87 23 01 00 00\s+aor\s+%r31,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 4c 7e 08 fc 8c 87 23 01 00 00\s+axor\s+%r25d,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 4c fe 08 fc bc 87 23 01 00 00\s+axor\s+%r31,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 72 34 00 f7 d2\s+bextr\s+%r25d,%edx,%r10d
+\s*[a-f0-9]+:\s*62 da 34 00 f7 94 87 23 01 00 00\s+bextr\s+%r25d,0x123\(%r31,%rax,4\),%edx
+\s*[a-f0-9]+:\s*62 52 84 00 f7 df\s+bextr\s+%r31,%r15,%r11
+\s*[a-f0-9]+:\s*62 5a 84 00 f7 bc 87 23 01 00 00\s+bextr\s+%r31,0x123\(%r31,%rax,4\),%r15
+\s*[a-f0-9]+:\s*62 da 6c 08 f3 d9\s+blsi\s+%r25d,%edx
+\s*[a-f0-9]+:\s*62 da 84 08 f3 df\s+blsi\s+%r31,%r15
+\s*[a-f0-9]+:\s*62 da 34 00 f3 9c 87 23 01 00 00\s+blsi\s+0x123\(%r31,%rax,4\),%r25d
+\s*[a-f0-9]+:\s*62 da 84 00 f3 9c 87 23 01 00 00\s+blsi\s+0x123\(%r31,%rax,4\),%r31
+\s*[a-f0-9]+:\s*62 da 6c 08 f3 d1\s+blsmsk\s+%r25d,%edx
+\s*[a-f0-9]+:\s*62 da 84 08 f3 d7\s+blsmsk\s+%r31,%r15
+\s*[a-f0-9]+:\s*62 da 34 00 f3 94 87 23 01 00 00\s+blsmsk\s+0x123\(%r31,%rax,4\),%r25d
+\s*[a-f0-9]+:\s*62 da 84 00 f3 94 87 23 01 00 00\s+blsmsk\s+0x123\(%r31,%rax,4\),%r31
+\s*[a-f0-9]+:\s*62 da 6c 08 f3 c9\s+blsr\s+%r25d,%edx
+\s*[a-f0-9]+:\s*62 da 84 08 f3 cf\s+blsr\s+%r31,%r15
+\s*[a-f0-9]+:\s*62 da 34 00 f3 8c 87 23 01 00 00\s+blsr\s+0x123\(%r31,%rax,4\),%r25d
+\s*[a-f0-9]+:\s*62 da 84 00 f3 8c 87 23 01 00 00\s+blsr\s+0x123\(%r31,%rax,4\),%r31
+\s*[a-f0-9]+:\s*62 72 34 00 f5 d2\s+bzhi\s+%r25d,%edx,%r10d
+\s*[a-f0-9]+:\s*62 da 34 00 f5 94 87 23 01 00 00\s+bzhi\s+%r25d,0x123\(%r31,%rax,4\),%edx
+\s*[a-f0-9]+:\s*62 52 84 00 f5 df\s+bzhi\s+%r31,%r15,%r11
+\s*[a-f0-9]+:\s*62 5a 84 00 f5 bc 87 23 01 00 00\s+bzhi\s+%r31,0x123\(%r31,%rax,4\),%r15
+\s*[a-f0-9]+:\s*62 da 35 00 e6 94 87 23 01 00 00\s+cmpbexadd\s+%r25d,%edx,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 5a 85 00 e6 bc 87 23 01 00 00\s+cmpbexadd\s+%r31,%r15,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 da 35 00 e2 94 87 23 01 00 00\s+cmpbxadd\s+%r25d,%edx,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 5a 85 00 e2 bc 87 23 01 00 00\s+cmpbxadd\s+%r31,%r15,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 da 35 00 ec 94 87 23 01 00 00\s+cmplxadd\s+%r25d,%edx,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 5a 85 00 ec bc 87 23 01 00 00\s+cmplxadd\s+%r31,%r15,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 da 35 00 e7 94 87 23 01 00 00\s+cmpnbexadd\s+%r25d,%edx,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 5a 85 00 e7 bc 87 23 01 00 00\s+cmpnbexadd\s+%r31,%r15,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 da 35 00 e3 94 87 23 01 00 00\s+cmpnbxadd\s+%r25d,%edx,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 5a 85 00 e3 bc 87 23 01 00 00\s+cmpnbxadd\s+%r31,%r15,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 da 35 00 ef 94 87 23 01 00 00\s+cmpnlexadd\s+%r25d,%edx,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 5a 85 00 ef bc 87 23 01 00 00\s+cmpnlexadd\s+%r31,%r15,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 da 35 00 ed 94 87 23 01 00 00\s+cmpnlxadd\s+%r25d,%edx,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 5a 85 00 ed bc 87 23 01 00 00\s+cmpnlxadd\s+%r31,%r15,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 da 35 00 e1 94 87 23 01 00 00\s+cmpnoxadd\s+%r25d,%edx,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 5a 85 00 e1 bc 87 23 01 00 00\s+cmpnoxadd\s+%r31,%r15,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 da 35 00 eb 94 87 23 01 00 00\s+cmpnpxadd\s+%r25d,%edx,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 5a 85 00 eb bc 87 23 01 00 00\s+cmpnpxadd\s+%r31,%r15,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 da 35 00 e9 94 87 23 01 00 00\s+cmpnsxadd\s+%r25d,%edx,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 5a 85 00 e9 bc 87 23 01 00 00\s+cmpnsxadd\s+%r31,%r15,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 da 35 00 e5 94 87 23 01 00 00\s+cmpnzxadd\s+%r25d,%edx,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 5a 85 00 e5 bc 87 23 01 00 00\s+cmpnzxadd\s+%r31,%r15,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 da 35 00 e0 94 87 23 01 00 00\s+cmpoxadd\s+%r25d,%edx,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 5a 85 00 e0 bc 87 23 01 00 00\s+cmpoxadd\s+%r31,%r15,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 da 35 00 ea 94 87 23 01 00 00\s+cmppxadd\s+%r25d,%edx,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 5a 85 00 ea bc 87 23 01 00 00\s+cmppxadd\s+%r31,%r15,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 da 35 00 e8 94 87 23 01 00 00\s+cmpsxadd\s+%r25d,%edx,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 5a 85 00 e8 bc 87 23 01 00 00\s+cmpsxadd\s+%r31,%r15,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 da 35 00 e4 94 87 23 01 00 00\s+cmpzxadd\s+%r25d,%edx,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 5a 85 00 e4 bc 87 23 01 00 00\s+cmpzxadd\s+%r31,%r15,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 fe c8\s+dec\s+%r16b
+\s*[a-f0-9]+:\s*66 d5 10 ff ca\s+dec\s+%r18w
+\s*[a-f0-9]+:\s*d5 11 ff c9\s+dec\s+%r25d
+\s*[a-f0-9]+:\s*d5 19 ff cf\s+dec\s+%r31
+\s*[a-f0-9]+:\s*66 d5 10 ff 8c 80 23 01 00 00\s+decw\s+0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 ff 8c 80 23 01 00 00\s+decl\s+0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 18 ff 8c 80 23 01 00 00\s+decq\s+0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 11 fe 8c 87 23 01 00 00\s+decb\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 11 ff 8c 87 23 01 00 00\s+decw\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 11 ff 8c 87 23 01 00 00\s+decl\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 19 ff 8c 87 23 01 00 00\s+decq\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 f6 f0\s+div\s+%r16b
+\s*[a-f0-9]+:\s*66 d5 10 f7 f2\s+div\s+%r18w
+\s*[a-f0-9]+:\s*d5 11 f7 f1\s+div\s+%r25d
+\s*[a-f0-9]+:\s*d5 19 f7 f7\s+div\s+%r31
+\s*[a-f0-9]+:\s*66 d5 10 f7 b4 80 23 01 00 00\s+divw\s+0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 f7 b4 80 23 01 00 00\s+divl\s+0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 18 f7 b4 80 23 01 00 00\s+divq\s+0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 11 f6 b4 87 23 01 00 00\s+divb\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 11 f7 b4 87 23 01 00 00\s+divw\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 11 f7 b4 87 23 01 00 00\s+divl\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 19 f7 b4 87 23 01 00 00\s+divq\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 dc 7e 08 da d1\s+encodekey128\s+%r25d,%edx
+\s*[a-f0-9]+:\s*62 dc 7e 08 db d1\s+encodekey256\s+%r25d,%edx
+\s*[a-f0-9]+:\s*67 62 4c 7f 08 f8 8c 87 23 01 00 00\s+enqcmd\s+0x123\(%r31d,%eax,4\),%r25d
+\s*[a-f0-9]+:\s*62 4c 7f 08 f8 bc 87 23 01 00 00\s+enqcmd\s+0x123\(%r31,%rax,4\),%r31
+\s*[a-f0-9]+:\s*67 62 4c 7e 08 f8 8c 87 23 01 00 00\s+enqcmds\s+0x123\(%r31d,%eax,4\),%r25d
+\s*[a-f0-9]+:\s*62 4c 7e 08 f8 bc 87 23 01 00 00\s+enqcmds\s+0x123\(%r31,%rax,4\),%r31
+\s*[a-f0-9]+:\s*d5 10 f6 f8\s+idiv\s+%r16b
+\s*[a-f0-9]+:\s*66 d5 10 f7 fa\s+idiv\s+%r18w
+\s*[a-f0-9]+:\s*d5 11 f7 f9\s+idiv\s+%r25d
+\s*[a-f0-9]+:\s*d5 19 f7 ff\s+idiv\s+%r31
+\s*[a-f0-9]+:\s*66 d5 10 f7 bc 80 23 01 00 00\s+idivw\s+0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 f7 bc 80 23 01 00 00\s+idivl\s+0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 18 f7 bc 80 23 01 00 00\s+idivq\s+0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 11 f6 bc 87 23 01 00 00\s+idivb\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 11 f7 bc 87 23 01 00 00\s+idivw\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 11 f7 bc 87 23 01 00 00\s+idivl\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 19 f7 bc 87 23 01 00 00\s+idivq\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 10 6b c2 7b\s+imul\s+\$0x7b,%r18w,%ax
+\s*[a-f0-9]+:\s*d5 11 6b d1 7b\s+imul\s+\$0x7b,%r25d,%edx
+\s*[a-f0-9]+:\s*d5 1d 6b ff 7b\s+imul\s+\$0x7b,%r31,%r15
+\s*[a-f0-9]+:\s*d5 54 6b 8c 80 23 01 00 00 7b\s+imul\s+\$0x7b,0x123\(%r16,%rax,4\),%r25d
+\s*[a-f0-9]+:\s*d5 5c 6b bc 80 23 01 00 00 7b\s+imul\s+\$0x7b,0x123\(%r16,%rax,4\),%r31
+\s*[a-f0-9]+:\s*66 d5 51 6b 94 87 23 01 00 00 7b\s+imul\s+\$0x7b,0x123\(%r31,%rax,4\),%r18w
+\s*[a-f0-9]+:\s*d5 55 6b 8c 87 23 01 00 00 7b\s+imul\s+\$0x7b,0x123\(%r31,%rax,4\),%r25d
+\s*[a-f0-9]+:\s*d5 5d 6b bc 87 23 01 00 00 7b\s+imul\s+\$0x7b,0x123\(%r31,%rax,4\),%r31
+\s*[a-f0-9]+:\s*d5 10 f6 e8\s+imul\s+%r16b
+\s*[a-f0-9]+:\s*66 d5 10 f7 ea\s+imul\s+%r18w
+\s*[a-f0-9]+:\s*66 d5 90 af c2\s+imul\s+%r18w,%ax
+\s*[a-f0-9]+:\s*d5 11 f7 e9\s+imul\s+%r25d
+\s*[a-f0-9]+:\s*d5 91 af d1\s+imul\s+%r25d,%edx
+\s*[a-f0-9]+:\s*d5 19 f7 ef\s+imul\s+%r31
+\s*[a-f0-9]+:\s*d5 9d af ff\s+imul\s+%r31,%r15
+\s*[a-f0-9]+:\s*d5 10 f6 ac 80 23 01 00 00\s+imulb\s+0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 10 f7 ac 80 23 01 00 00\s+imulw\s+0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 f7 ac 80 23 01 00 00\s+imull\s+0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 d0 af 94 80 23 01 00 00\s+imul\s+0x123\(%r16,%rax,4\),%r18w
+\s*[a-f0-9]+:\s*d5 d4 af 8c 80 23 01 00 00\s+imul\s+0x123\(%r16,%rax,4\),%r25d
+\s*[a-f0-9]+:\s*d5 dc af bc 80 23 01 00 00\s+imul\s+0x123\(%r16,%rax,4\),%r31
+\s*[a-f0-9]+:\s*d5 18 f7 ac 80 23 01 00 00\s+imulq\s+0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 11 f7 ac 87 23 01 00 00\s+imulw\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 11 f7 ac 87 23 01 00 00\s+imull\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 19 f7 ac 87 23 01 00 00\s+imulq\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 fe c0\s+inc\s+%r16b
+\s*[a-f0-9]+:\s*66 d5 10 ff c2\s+inc\s+%r18w
+\s*[a-f0-9]+:\s*d5 11 ff c1\s+inc\s+%r25d
+\s*[a-f0-9]+:\s*d5 19 ff c7\s+inc\s+%r31
+\s*[a-f0-9]+:\s*66 d5 10 ff 84 80 23 01 00 00\s+incw\s+0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 ff 84 80 23 01 00 00\s+incl\s+0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 18 ff 84 80 23 01 00 00\s+incq\s+0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 11 fe 84 87 23 01 00 00\s+incb\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 11 ff 84 87 23 01 00 00\s+incw\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 11 ff 84 87 23 01 00 00\s+incl\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 19 ff 84 87 23 01 00 00\s+incq\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 4c 7e 08 f0 bc 87 23 01 00 00\s+invept\s+0x123\(%r31,%rax,4\),%r31
+\s*[a-f0-9]+:\s*62 4c 7e 08 f2 bc 87 23 01 00 00\s+invpcid\s+0x123\(%r31,%rax,4\),%r31
+\s*[a-f0-9]+:\s*62 4c 7e 08 f1 bc 87 23 01 00 00\s+invvpid\s+0x123\(%r31,%rax,4\),%r31
+\s*[a-f0-9]+:\s*c5 f9 90 eb\s+kmovb\s+%k3,%k5
+\s*[a-f0-9]+:\s*62 61 7d 08 93 cd\s+kmovb\s+%k5,%r25d
+\s*[a-f0-9]+:\s*62 d9 7d 08 91 ac 87 23 01 00 00\s+kmovb\s+%k5,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 d9 7d 08 92 e9\s+kmovb\s+%r25d,%k5
+\s*[a-f0-9]+:\s*62 d9 7d 08 90 ac 87 23 01 00 00\s+kmovb\s+0x123\(%r31,%rax,4\),%k5
+\s*[a-f0-9]+:\s*c4 e1 f9 90 eb\s+kmovd\s+%k3,%k5
+\s*[a-f0-9]+:\s*62 61 7f 08 93 cd\s+kmovd\s+%k5,%r25d
+\s*[a-f0-9]+:\s*62 d9 fd 08 91 ac 87 23 01 00 00\s+kmovd\s+%k5,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 d9 7f 08 92 e9\s+kmovd\s+%r25d,%k5
+\s*[a-f0-9]+:\s*62 d9 fd 08 90 ac 87 23 01 00 00\s+kmovd\s+0x123\(%r31,%rax,4\),%k5
+\s*[a-f0-9]+:\s*c4 e1 f8 90 eb\s+kmovq\s+%k3,%k5
+\s*[a-f0-9]+:\s*62 61 ff 08 93 fd\s+kmovq\s+%k5,%r31
+\s*[a-f0-9]+:\s*62 d9 fc 08 91 ac 87 23 01 00 00\s+kmovq\s+%k5,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 d9 ff 08 92 ef\s+kmovq\s+%r31,%k5
+\s*[a-f0-9]+:\s*62 d9 fc 08 90 ac 87 23 01 00 00\s+kmovq\s+0x123\(%r31,%rax,4\),%k5
+\s*[a-f0-9]+:\s*c5 f8 90 eb\s+kmovw\s+%k3,%k5
+\s*[a-f0-9]+:\s*62 61 7c 08 93 cd\s+kmovw\s+%k5,%r25d
+\s*[a-f0-9]+:\s*62 d9 7c 08 91 ac 87 23 01 00 00\s+kmovw\s+%k5,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 d9 7c 08 92 e9\s+kmovw\s+%r25d,%k5
+\s*[a-f0-9]+:\s*62 d9 7c 08 90 ac 87 23 01 00 00\s+kmovw\s+0x123\(%r31,%rax,4\),%k5
+\s*[a-f0-9]+:\s*62 da 7c 08 49 84 87 23 01 00 00\s+ldtilecfg\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*66 f3 d5 90 bd c2\s+lzcnt\s+%r18w,%ax
+\s*[a-f0-9]+:\s*f3 d5 91 bd d1\s+lzcnt\s+%r25d,%edx
+\s*[a-f0-9]+:\s*f3 d5 9d bd ff\s+lzcnt\s+%r31,%r15
+\s*[a-f0-9]+:\s*66 f3 d5 d0 bd 94 80 23 01 00 00\s+lzcnt\s+0x123\(%r16,%rax,4\),%r18w
+\s*[a-f0-9]+:\s*f3 d5 dc bd bc 80 23 01 00 00\s+lzcnt\s+0x123\(%r16,%rax,4\),%r31
+\s*[a-f0-9]+:\s*66 f3 d5 d1 bd 94 87 23 01 00 00\s+lzcnt\s+0x123\(%r31,%rax,4\),%r18w
+\s*[a-f0-9]+:\s*f3 d5 d5 bd 8c 87 23 01 00 00\s+lzcnt\s+0x123\(%r31,%rax,4\),%r25d
+\s*[a-f0-9]+:\s*62 fc 7d 08 60 c2\s+movbe\s+%r18w,%ax
+\s*[a-f0-9]+:\s*62 ec 7d 08 61 94 80 23 01 00 00\s+movbe\s+%r18w,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*62 cc 7d 08 61 94 87 23 01 00 00\s+movbe\s+%r18w,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 dc 7c 08 60 d1\s+movbe\s+%r25d,%edx
+\s*[a-f0-9]+:\s*62 6c 7c 08 61 8c 80 23 01 00 00\s+movbe\s+%r25d,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*62 5c fc 08 60 ff\s+movbe\s+%r31,%r15
+\s*[a-f0-9]+:\s*62 6c fc 08 61 bc 80 23 01 00 00\s+movbe\s+%r31,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*62 4c fc 08 61 bc 87 23 01 00 00\s+movbe\s+%r31,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 6c fc 08 60 bc 80 23 01 00 00\s+movbe\s+0x123\(%r16,%rax,4\),%r31
+\s*[a-f0-9]+:\s*62 cc 7d 08 60 94 87 23 01 00 00\s+movbe\s+0x123\(%r31,%rax,4\),%r18w
+\s*[a-f0-9]+:\s*62 4c 7c 08 60 8c 87 23 01 00 00\s+movbe\s+0x123\(%r31,%rax,4\),%r25d
+\s*[a-f0-9]+:\s*67 62 4c 7d 08 f8 8c 87 23 01 00 00\s+movdir64b\s+0x123\(%r31d,%eax,4\),%r25d
+\s*[a-f0-9]+:\s*62 4c 7d 08 f8 bc 87 23 01 00 00\s+movdir64b\s+0x123\(%r31,%rax,4\),%r31
+\s*[a-f0-9]+:\s*62 4c 7c 08 f9 8c 87 23 01 00 00\s+movdiri\s+%r25d,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 4c fc 08 f9 bc 87 23 01 00 00\s+movdiri\s+%r31,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 f6 e0\s+mul\s+%r16b
+\s*[a-f0-9]+:\s*66 d5 10 f7 e2\s+mul\s+%r18w
+\s*[a-f0-9]+:\s*d5 11 f7 e1\s+mul\s+%r25d
+\s*[a-f0-9]+:\s*d5 19 f7 e7\s+mul\s+%r31
+\s*[a-f0-9]+:\s*66 d5 10 f7 a4 80 23 01 00 00\s+mulw\s+0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 f7 a4 80 23 01 00 00\s+mull\s+0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 18 f7 a4 80 23 01 00 00\s+mulq\s+0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 11 f6 a4 87 23 01 00 00\s+mulb\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 11 f7 a4 87 23 01 00 00\s+mulw\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 11 f7 a4 87 23 01 00 00\s+mull\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 19 f7 a4 87 23 01 00 00\s+mulq\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 5a 6f 08 f6 d1\s+mulx\s+%r25d,%edx,%r10d
+\s*[a-f0-9]+:\s*62 5a 87 08 f6 df\s+mulx\s+%r31,%r15,%r11
+\s*[a-f0-9]+:\s*62 da 37 00 f6 94 87 23 01 00 00\s+mulx\s+0x123\(%r31,%rax,4\),%r25d,%edx
+\s*[a-f0-9]+:\s*62 5a 87 00 f6 bc 87 23 01 00 00\s+mulx\s+0x123\(%r31,%rax,4\),%r31,%r15
+\s*[a-f0-9]+:\s*d5 10 f6 d8\s+neg\s+%r16b
+\s*[a-f0-9]+:\s*66 d5 10 f7 da\s+neg\s+%r18w
+\s*[a-f0-9]+:\s*d5 11 f7 d9\s+neg\s+%r25d
+\s*[a-f0-9]+:\s*d5 19 f7 df\s+neg\s+%r31
+\s*[a-f0-9]+:\s*66 d5 10 f7 9c 80 23 01 00 00\s+negw\s+0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 f7 9c 80 23 01 00 00\s+negl\s+0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 18 f7 9c 80 23 01 00 00\s+negq\s+0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 11 f6 9c 87 23 01 00 00\s+negb\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 11 f7 9c 87 23 01 00 00\s+negw\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 11 f7 9c 87 23 01 00 00\s+negl\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 19 f7 9c 87 23 01 00 00\s+negq\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 f6 d0\s+not\s+%r16b
+\s*[a-f0-9]+:\s*66 d5 10 f7 d2\s+not\s+%r18w
+\s*[a-f0-9]+:\s*d5 11 f7 d1\s+not\s+%r25d
+\s*[a-f0-9]+:\s*d5 19 f7 d7\s+not\s+%r31
+\s*[a-f0-9]+:\s*66 d5 10 f7 94 80 23 01 00 00\s+notw\s+0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 f7 94 80 23 01 00 00\s+notl\s+0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 18 f7 94 80 23 01 00 00\s+notq\s+0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 11 f6 94 87 23 01 00 00\s+notb\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 11 f7 94 87 23 01 00 00\s+notw\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 11 f7 94 87 23 01 00 00\s+notl\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 19 f7 94 87 23 01 00 00\s+notq\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 80 c8 7b\s+or\s+\$0x7b,%r16b
+\s*[a-f0-9]+:\s*66 d5 10 83 ca 7b\s+or\s+\$0x7b,%r18w
+\s*[a-f0-9]+:\s*d5 11 83 c9 7b\s+or\s+\$0x7b,%r25d
+\s*[a-f0-9]+:\s*d5 19 83 cf 7b\s+or\s+\$0x7b,%r31
+\s*[a-f0-9]+:\s*d5 10 80 8c 80 23 01 00 00 7b\s+orb\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 10 83 8c 80 23 01 00 00 7b\s+orw\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 83 8c 80 23 01 00 00 7b\s+orl\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 18 83 8c 80 23 01 00 00 7b\s+orq\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 11 83 8c 87 23 01 00 00 7b\s+orw\s+\$0x7b,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 11 83 8c 87 23 01 00 00 7b\s+orl\s+\$0x7b,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 19 83 8c 87 23 01 00 00 7b\s+orq\s+\$0x7b,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 40 08 c2\s+or\s+%r16b,%dl
+\s*[a-f0-9]+:\s*d5 51 08 84 87 23 01 00 00\s+or\s+%r16b,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 40 09 d0\s+or\s+%r18w,%ax
+\s*[a-f0-9]+:\s*66 d5 50 09 94 80 23 01 00 00\s+or\s+%r18w,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 51 09 94 87 23 01 00 00\s+or\s+%r18w,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 44 09 ca\s+or\s+%r25d,%edx
+\s*[a-f0-9]+:\s*d5 55 09 8c 87 23 01 00 00\s+or\s+%r25d,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 4d 09 ff\s+or\s+%r31,%r15
+\s*[a-f0-9]+:\s*d5 5d 09 bc 87 23 01 00 00\s+or\s+%r31,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 50 0a 84 80 23 01 00 00\s+or\s+0x123\(%r16,%rax,4\),%r16b
+\s*[a-f0-9]+:\s*d5 5c 0b bc 80 23 01 00 00\s+or\s+0x123\(%r16,%rax,4\),%r31
+\s*[a-f0-9]+:\s*66 d5 51 0b 94 87 23 01 00 00\s+or\s+0x123\(%r31,%rax,4\),%r18w
+\s*[a-f0-9]+:\s*d5 55 0b 8c 87 23 01 00 00\s+or\s+0x123\(%r31,%rax,4\),%r25d
+\s*[a-f0-9]+:\s*d5 5d 0b bc 87 23 01 00 00\s+or\s+0x123\(%r31,%rax,4\),%r31
+\s*[a-f0-9]+:\s*62 5a 6f 08 f5 d1\s+pdep\s+%r25d,%edx,%r10d
+\s*[a-f0-9]+:\s*62 5a 87 08 f5 df\s+pdep\s+%r31,%r15,%r11
+\s*[a-f0-9]+:\s*62 da 37 00 f5 94 87 23 01 00 00\s+pdep\s+0x123\(%r31,%rax,4\),%r25d,%edx
+\s*[a-f0-9]+:\s*62 5a 87 00 f5 bc 87 23 01 00 00\s+pdep\s+0x123\(%r31,%rax,4\),%r31,%r15
+\s*[a-f0-9]+:\s*62 5a 6e 08 f5 d1\s+pext\s+%r25d,%edx,%r10d
+\s*[a-f0-9]+:\s*62 5a 86 08 f5 df\s+pext\s+%r31,%r15,%r11
+\s*[a-f0-9]+:\s*62 da 36 00 f5 94 87 23 01 00 00\s+pext\s+0x123\(%r31,%rax,4\),%r25d,%edx
+\s*[a-f0-9]+:\s*62 5a 86 00 f5 bc 87 23 01 00 00\s+pext\s+0x123\(%r31,%rax,4\),%r31,%r15
+\s*[a-f0-9]+:\s*66 f3 d5 90 b8 c2\s+popcnt\s+%r18w,%ax
+\s*[a-f0-9]+:\s*f3 d5 91 b8 d1\s+popcnt\s+%r25d,%edx
+\s*[a-f0-9]+:\s*f3 d5 9d b8 ff\s+popcnt\s+%r31,%r15
+\s*[a-f0-9]+:\s*66 f3 d5 d0 b8 94 80 23 01 00 00\s+popcnt\s+0x123\(%r16,%rax,4\),%r18w
+\s*[a-f0-9]+:\s*f3 d5 dc b8 bc 80 23 01 00 00\s+popcnt\s+0x123\(%r16,%rax,4\),%r31
+\s*[a-f0-9]+:\s*66 f3 d5 d1 b8 94 87 23 01 00 00\s+popcnt\s+0x123\(%r31,%rax,4\),%r18w
+\s*[a-f0-9]+:\s*f3 d5 d5 b8 8c 87 23 01 00 00\s+popcnt\s+0x123\(%r31,%rax,4\),%r25d
+\s*[a-f0-9]+:\s*d5 10 c0 d0 7b\s+rcl\s+\$0x7b,%r16b
+\s*[a-f0-9]+:\s*66 d5 10 c1 d2 7b\s+rcl\s+\$0x7b,%r18w
+\s*[a-f0-9]+:\s*d5 11 c1 d1 7b\s+rcl\s+\$0x7b,%r25d
+\s*[a-f0-9]+:\s*d5 19 c1 d7 7b\s+rcl\s+\$0x7b,%r31
+\s*[a-f0-9]+:\s*d5 10 c0 94 80 23 01 00 00 7b\s+rclb\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 10 c1 94 80 23 01 00 00 7b\s+rclw\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 c1 94 80 23 01 00 00 7b\s+rcll\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 18 c1 94 80 23 01 00 00 7b\s+rclq\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 11 c1 94 87 23 01 00 00 7b\s+rclw\s+\$0x7b,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 11 c1 94 87 23 01 00 00 7b\s+rcll\s+\$0x7b,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 19 c1 94 87 23 01 00 00 7b\s+rclq\s+\$0x7b,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 d0 d0\s+rcl\s+%r16b
+\s*[a-f0-9]+:\s*66 d5 10 d1 d2\s+rcl\s+%r18w
+\s*[a-f0-9]+:\s*d5 11 d1 d1\s+rcl\s+%r25d
+\s*[a-f0-9]+:\s*d5 19 d1 d7\s+rcl\s+%r31
+\s*[a-f0-9]+:\s*d5 10 d0 94 80 23 01 00 00\s+rclb\s+0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 10 d1 94 80 23 01 00 00\s+rclw\s+0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 d1 94 80 23 01 00 00\s+rcll\s+0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 18 d1 94 80 23 01 00 00\s+rclq\s+0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 11 d1 94 87 23 01 00 00\s+rclw\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 11 d1 94 87 23 01 00 00\s+rcll\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 19 d1 94 87 23 01 00 00\s+rclq\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 d2 d0\s+rcl\s+%cl,%r16b
+\s*[a-f0-9]+:\s*66 d5 10 d3 d2\s+rcl\s+%cl,%r18w
+\s*[a-f0-9]+:\s*d5 11 d3 d1\s+rcl\s+%cl,%r25d
+\s*[a-f0-9]+:\s*d5 19 d3 d7\s+rcl\s+%cl,%r31
+\s*[a-f0-9]+:\s*d5 10 d2 94 80 23 01 00 00\s+rclb\s+%cl,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 10 d3 94 80 23 01 00 00\s+rclw\s+%cl,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 d3 94 80 23 01 00 00\s+rcll\s+%cl,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 18 d3 94 80 23 01 00 00\s+rclq\s+%cl,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 11 d3 94 87 23 01 00 00\s+rclw\s+%cl,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 11 d3 94 87 23 01 00 00\s+rcll\s+%cl,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 19 d3 94 87 23 01 00 00\s+rclq\s+%cl,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 c0 d8 7b\s+rcr\s+\$0x7b,%r16b
+\s*[a-f0-9]+:\s*66 d5 10 c1 da 7b\s+rcr\s+\$0x7b,%r18w
+\s*[a-f0-9]+:\s*d5 11 c1 d9 7b\s+rcr\s+\$0x7b,%r25d
+\s*[a-f0-9]+:\s*d5 19 c1 df 7b\s+rcr\s+\$0x7b,%r31
+\s*[a-f0-9]+:\s*d5 10 c0 9c 80 23 01 00 00 7b\s+rcrb\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 10 c1 9c 80 23 01 00 00 7b\s+rcrw\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 c1 9c 80 23 01 00 00 7b\s+rcrl\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 18 c1 9c 80 23 01 00 00 7b\s+rcrq\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 11 c1 9c 87 23 01 00 00 7b\s+rcrw\s+\$0x7b,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 11 c1 9c 87 23 01 00 00 7b\s+rcrl\s+\$0x7b,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 19 c1 9c 87 23 01 00 00 7b\s+rcrq\s+\$0x7b,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 d0 d8\s+rcr\s+%r16b
+\s*[a-f0-9]+:\s*66 d5 10 d1 da\s+rcr\s+%r18w
+\s*[a-f0-9]+:\s*d5 11 d1 d9\s+rcr\s+%r25d
+\s*[a-f0-9]+:\s*d5 19 d1 df\s+rcr\s+%r31
+\s*[a-f0-9]+:\s*d5 10 d0 9c 80 23 01 00 00\s+rcrb\s+0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 10 d1 9c 80 23 01 00 00\s+rcrw\s+0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 d1 9c 80 23 01 00 00\s+rcrl\s+0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 18 d1 9c 80 23 01 00 00\s+rcrq\s+0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 11 d1 9c 87 23 01 00 00\s+rcrw\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 11 d1 9c 87 23 01 00 00\s+rcrl\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 19 d1 9c 87 23 01 00 00\s+rcrq\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 d2 d8\s+rcr\s+%cl,%r16b
+\s*[a-f0-9]+:\s*66 d5 10 d3 da\s+rcr\s+%cl,%r18w
+\s*[a-f0-9]+:\s*d5 11 d3 d9\s+rcr\s+%cl,%r25d
+\s*[a-f0-9]+:\s*d5 19 d3 df\s+rcr\s+%cl,%r31
+\s*[a-f0-9]+:\s*d5 10 d2 9c 80 23 01 00 00\s+rcrb\s+%cl,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 10 d3 9c 80 23 01 00 00\s+rcrw\s+%cl,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 d3 9c 80 23 01 00 00\s+rcrl\s+%cl,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 18 d3 9c 80 23 01 00 00\s+rcrq\s+%cl,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 11 d3 9c 87 23 01 00 00\s+rcrw\s+%cl,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 11 d3 9c 87 23 01 00 00\s+rcrl\s+%cl,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 19 d3 9c 87 23 01 00 00\s+rcrq\s+%cl,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 c0 c0 7b\s+rol\s+\$0x7b,%r16b
+\s*[a-f0-9]+:\s*66 d5 10 c1 c2 7b\s+rol\s+\$0x7b,%r18w
+\s*[a-f0-9]+:\s*d5 11 c1 c1 7b\s+rol\s+\$0x7b,%r25d
+\s*[a-f0-9]+:\s*d5 19 c1 c7 7b\s+rol\s+\$0x7b,%r31
+\s*[a-f0-9]+:\s*d5 10 c0 84 80 23 01 00 00 7b\s+rolb\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 10 c1 84 80 23 01 00 00 7b\s+rolw\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 c1 84 80 23 01 00 00 7b\s+roll\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 18 c1 84 80 23 01 00 00 7b\s+rolq\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 11 c1 84 87 23 01 00 00 7b\s+rolw\s+\$0x7b,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 11 c1 84 87 23 01 00 00 7b\s+roll\s+\$0x7b,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 19 c1 84 87 23 01 00 00 7b\s+rolq\s+\$0x7b,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 d0 c0\s+rol\s+%r16b
+\s*[a-f0-9]+:\s*66 d5 10 d1 c2\s+rol\s+%r18w
+\s*[a-f0-9]+:\s*d5 11 d1 c1\s+rol\s+%r25d
+\s*[a-f0-9]+:\s*d5 19 d1 c7\s+rol\s+%r31
+\s*[a-f0-9]+:\s*d5 10 d0 84 80 23 01 00 00\s+rolb\s+0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 10 d1 84 80 23 01 00 00\s+rolw\s+0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 d1 84 80 23 01 00 00\s+roll\s+0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 18 d1 84 80 23 01 00 00\s+rolq\s+0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 11 d1 84 87 23 01 00 00\s+rolw\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 11 d1 84 87 23 01 00 00\s+roll\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 19 d1 84 87 23 01 00 00\s+rolq\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 d2 c0\s+rol\s+%cl,%r16b
+\s*[a-f0-9]+:\s*66 d5 10 d3 c2\s+rol\s+%cl,%r18w
+\s*[a-f0-9]+:\s*d5 11 d3 c1\s+rol\s+%cl,%r25d
+\s*[a-f0-9]+:\s*d5 19 d3 c7\s+rol\s+%cl,%r31
+\s*[a-f0-9]+:\s*d5 10 d2 84 80 23 01 00 00\s+rolb\s+%cl,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 10 d3 84 80 23 01 00 00\s+rolw\s+%cl,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 d3 84 80 23 01 00 00\s+roll\s+%cl,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 18 d3 84 80 23 01 00 00\s+rolq\s+%cl,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 11 d3 84 87 23 01 00 00\s+rolw\s+%cl,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 11 d3 84 87 23 01 00 00\s+roll\s+%cl,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 19 d3 84 87 23 01 00 00\s+rolq\s+%cl,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 c0 c8 7b\s+ror\s+\$0x7b,%r16b
+\s*[a-f0-9]+:\s*66 d5 10 c1 ca 7b\s+ror\s+\$0x7b,%r18w
+\s*[a-f0-9]+:\s*d5 11 c1 c9 7b\s+ror\s+\$0x7b,%r25d
+\s*[a-f0-9]+:\s*d5 19 c1 cf 7b\s+ror\s+\$0x7b,%r31
+\s*[a-f0-9]+:\s*d5 10 c0 8c 80 23 01 00 00 7b\s+rorb\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 10 c1 8c 80 23 01 00 00 7b\s+rorw\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 c1 8c 80 23 01 00 00 7b\s+rorl\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 18 c1 8c 80 23 01 00 00 7b\s+rorq\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 11 c1 8c 87 23 01 00 00 7b\s+rorw\s+\$0x7b,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 11 c1 8c 87 23 01 00 00 7b\s+rorl\s+\$0x7b,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 19 c1 8c 87 23 01 00 00 7b\s+rorq\s+\$0x7b,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 d0 c8\s+ror\s+%r16b
+\s*[a-f0-9]+:\s*66 d5 10 d1 ca\s+ror\s+%r18w
+\s*[a-f0-9]+:\s*d5 11 d1 c9\s+ror\s+%r25d
+\s*[a-f0-9]+:\s*d5 19 d1 cf\s+ror\s+%r31
+\s*[a-f0-9]+:\s*d5 10 d0 8c 80 23 01 00 00\s+rorb\s+0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 10 d1 8c 80 23 01 00 00\s+rorw\s+0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 d1 8c 80 23 01 00 00\s+rorl\s+0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 18 d1 8c 80 23 01 00 00\s+rorq\s+0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 11 d1 8c 87 23 01 00 00\s+rorw\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 11 d1 8c 87 23 01 00 00\s+rorl\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 19 d1 8c 87 23 01 00 00\s+rorq\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 d2 c8\s+ror\s+%cl,%r16b
+\s*[a-f0-9]+:\s*66 d5 10 d3 ca\s+ror\s+%cl,%r18w
+\s*[a-f0-9]+:\s*d5 11 d3 c9\s+ror\s+%cl,%r25d
+\s*[a-f0-9]+:\s*d5 19 d3 cf\s+ror\s+%cl,%r31
+\s*[a-f0-9]+:\s*d5 10 d2 8c 80 23 01 00 00\s+rorb\s+%cl,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 10 d3 8c 80 23 01 00 00\s+rorw\s+%cl,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 d3 8c 80 23 01 00 00\s+rorl\s+%cl,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 18 d3 8c 80 23 01 00 00\s+rorq\s+%cl,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 11 d3 8c 87 23 01 00 00\s+rorw\s+%cl,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 11 d3 8c 87 23 01 00 00\s+rorl\s+%cl,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 19 d3 8c 87 23 01 00 00\s+rorq\s+%cl,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 db 7f 08 f0 d1 7b\s+rorx\s+\$0x7b,%r25d,%edx
+\s*[a-f0-9]+:\s*62 5b ff 08 f0 ff 7b\s+rorx\s+\$0x7b,%r31,%r15
+\s*[a-f0-9]+:\s*62 4b 7f 08 f0 8c 87 23 01 00 00 7b\s+rorx\s+\$0x7b,0x123\(%r31,%rax,4\),%r25d
+\s*[a-f0-9]+:\s*62 4b ff 08 f0 bc 87 23 01 00 00 7b\s+rorx\s+\$0x7b,0x123\(%r31,%rax,4\),%r31
+\s*[a-f0-9]+:\s*d5 10 c0 f8 7b\s+sar\s+\$0x7b,%r16b
+\s*[a-f0-9]+:\s*66 d5 10 c1 fa 7b\s+sar\s+\$0x7b,%r18w
+\s*[a-f0-9]+:\s*d5 11 c1 f9 7b\s+sar\s+\$0x7b,%r25d
+\s*[a-f0-9]+:\s*d5 19 c1 ff 7b\s+sar\s+\$0x7b,%r31
+\s*[a-f0-9]+:\s*d5 10 c0 bc 80 23 01 00 00 7b\s+sarb\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 10 c1 bc 80 23 01 00 00 7b\s+sarw\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 c1 bc 80 23 01 00 00 7b\s+sarl\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 18 c1 bc 80 23 01 00 00 7b\s+sarq\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 11 c1 bc 87 23 01 00 00 7b\s+sarw\s+\$0x7b,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 11 c1 bc 87 23 01 00 00 7b\s+sarl\s+\$0x7b,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 19 c1 bc 87 23 01 00 00 7b\s+sarq\s+\$0x7b,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 d0 f8\s+sar\s+%r16b
+\s*[a-f0-9]+:\s*66 d5 10 d1 fa\s+sar\s+%r18w
+\s*[a-f0-9]+:\s*d5 11 d1 f9\s+sar\s+%r25d
+\s*[a-f0-9]+:\s*d5 19 d1 ff\s+sar\s+%r31
+\s*[a-f0-9]+:\s*d5 10 d0 bc 80 23 01 00 00\s+sarb\s+0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 10 d1 bc 80 23 01 00 00\s+sarw\s+0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 d1 bc 80 23 01 00 00\s+sarl\s+0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 18 d1 bc 80 23 01 00 00\s+sarq\s+0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 11 d1 bc 87 23 01 00 00\s+sarw\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 11 d1 bc 87 23 01 00 00\s+sarl\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 19 d1 bc 87 23 01 00 00\s+sarq\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 d2 f8\s+sar\s+%cl,%r16b
+\s*[a-f0-9]+:\s*66 d5 10 d3 fa\s+sar\s+%cl,%r18w
+\s*[a-f0-9]+:\s*d5 11 d3 f9\s+sar\s+%cl,%r25d
+\s*[a-f0-9]+:\s*d5 19 d3 ff\s+sar\s+%cl,%r31
+\s*[a-f0-9]+:\s*d5 10 d2 bc 80 23 01 00 00\s+sarb\s+%cl,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 10 d3 bc 80 23 01 00 00\s+sarw\s+%cl,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 d3 bc 80 23 01 00 00\s+sarl\s+%cl,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 18 d3 bc 80 23 01 00 00\s+sarq\s+%cl,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 11 d3 bc 87 23 01 00 00\s+sarw\s+%cl,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 11 d3 bc 87 23 01 00 00\s+sarl\s+%cl,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 19 d3 bc 87 23 01 00 00\s+sarq\s+%cl,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 72 36 00 f7 d2\s+sarx\s+%r25d,%edx,%r10d
+\s*[a-f0-9]+:\s*62 da 36 00 f7 94 87 23 01 00 00\s+sarx\s+%r25d,0x123\(%r31,%rax,4\),%edx
+\s*[a-f0-9]+:\s*62 52 86 00 f7 df\s+sarx\s+%r31,%r15,%r11
+\s*[a-f0-9]+:\s*62 5a 86 00 f7 bc 87 23 01 00 00\s+sarx\s+%r31,0x123\(%r31,%rax,4\),%r15
+\s*[a-f0-9]+:\s*d5 10 80 d8 7b\s+sbb\s+\$0x7b,%r16b
+\s*[a-f0-9]+:\s*66 d5 10 83 da 7b\s+sbb\s+\$0x7b,%r18w
+\s*[a-f0-9]+:\s*d5 11 83 d9 7b\s+sbb\s+\$0x7b,%r25d
+\s*[a-f0-9]+:\s*d5 19 83 df 7b\s+sbb\s+\$0x7b,%r31
+\s*[a-f0-9]+:\s*d5 10 80 9c 80 23 01 00 00 7b\s+sbbb\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 10 83 9c 80 23 01 00 00 7b\s+sbbw\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 83 9c 80 23 01 00 00 7b\s+sbbl\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 18 83 9c 80 23 01 00 00 7b\s+sbbq\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 11 83 9c 87 23 01 00 00 7b\s+sbbw\s+\$0x7b,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 11 83 9c 87 23 01 00 00 7b\s+sbbl\s+\$0x7b,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 19 83 9c 87 23 01 00 00 7b\s+sbbq\s+\$0x7b,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 40 18 c2\s+sbb\s+%r16b,%dl
+\s*[a-f0-9]+:\s*d5 51 18 84 87 23 01 00 00\s+sbb\s+%r16b,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 40 19 d0\s+sbb\s+%r18w,%ax
+\s*[a-f0-9]+:\s*66 d5 50 19 94 80 23 01 00 00\s+sbb\s+%r18w,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 51 19 94 87 23 01 00 00\s+sbb\s+%r18w,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 44 19 ca\s+sbb\s+%r25d,%edx
+\s*[a-f0-9]+:\s*d5 55 19 8c 87 23 01 00 00\s+sbb\s+%r25d,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 4d 19 ff\s+sbb\s+%r31,%r15
+\s*[a-f0-9]+:\s*d5 5d 19 bc 87 23 01 00 00\s+sbb\s+%r31,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 50 1a 84 80 23 01 00 00\s+sbb\s+0x123\(%r16,%rax,4\),%r16b
+\s*[a-f0-9]+:\s*d5 5c 1b bc 80 23 01 00 00\s+sbb\s+0x123\(%r16,%rax,4\),%r31
+\s*[a-f0-9]+:\s*66 d5 51 1b 94 87 23 01 00 00\s+sbb\s+0x123\(%r31,%rax,4\),%r18w
+\s*[a-f0-9]+:\s*d5 55 1b 8c 87 23 01 00 00\s+sbb\s+0x123\(%r31,%rax,4\),%r25d
+\s*[a-f0-9]+:\s*d5 5d 1b bc 87 23 01 00 00\s+sbb\s+0x123\(%r31,%rax,4\),%r31
+\s*[a-f0-9]+:\s*62 a4 7c 08 d9 f7\s+sha1msg1\s+%xmm23,%xmm22
+\s*[a-f0-9]+:\s*62 cc 7c 08 d9 b4 87 23 01 00 00\s+sha1msg1\s+0x123\(%r31,%rax,4\),%xmm22
+\s*[a-f0-9]+:\s*62 a4 7c 08 da f7\s+sha1msg2\s+%xmm23,%xmm22
+\s*[a-f0-9]+:\s*62 cc 7c 08 da b4 87 23 01 00 00\s+sha1msg2\s+0x123\(%r31,%rax,4\),%xmm22
+\s*[a-f0-9]+:\s*62 a4 7c 08 d8 f7\s+sha1nexte\s+%xmm23,%xmm22
+\s*[a-f0-9]+:\s*62 cc 7c 08 d8 b4 87 23 01 00 00\s+sha1nexte\s+0x123\(%r31,%rax,4\),%xmm22
+\s*[a-f0-9]+:\s*62 a4 7c 08 d4 f7 7b\s+sha1rnds4\s+\$0x7b,%xmm23,%xmm22
+\s*[a-f0-9]+:\s*62 cc 7c 08 d4 b4 87 23 01 00 00 7b\s+sha1rnds4\s+\$0x7b,0x123\(%r31,%rax,4\),%xmm22
+\s*[a-f0-9]+:\s*62 a4 7c 08 dc f7\s+sha256msg1\s+%xmm23,%xmm22
+\s*[a-f0-9]+:\s*62 cc 7c 08 dc b4 87 23 01 00 00\s+sha256msg1\s+0x123\(%r31,%rax,4\),%xmm22
+\s*[a-f0-9]+:\s*62 a4 7c 08 dd f7\s+sha256msg2\s+%xmm23,%xmm22
+\s*[a-f0-9]+:\s*62 cc 7c 08 dd b4 87 23 01 00 00\s+sha256msg2\s+0x123\(%r31,%rax,4\),%xmm22
+\s*[a-f0-9]+:\s*62 5c 7c 08 db a4 87 23 01 00 00\s+sha256rnds2\s+%xmm0,0x123\(%r31,%rax,4\),%xmm12
+\s*[a-f0-9]+:\s*d5 10 c0 e0 7b\s+shl\s+\$0x7b,%r16b
+\s*[a-f0-9]+:\s*66 d5 10 c1 e2 7b\s+shl\s+\$0x7b,%r18w
+\s*[a-f0-9]+:\s*d5 11 c1 e1 7b\s+shl\s+\$0x7b,%r25d
+\s*[a-f0-9]+:\s*d5 19 c1 e7 7b\s+shl\s+\$0x7b,%r31
+\s*[a-f0-9]+:\s*d5 10 c0 a4 80 23 01 00 00 7b\s+shlb\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 10 c1 a4 80 23 01 00 00 7b\s+shlw\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 c1 a4 80 23 01 00 00 7b\s+shll\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 18 c1 a4 80 23 01 00 00 7b\s+shlq\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 11 c0 a4 87 23 01 00 00 7b\s+shlb\s+\$0x7b,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 11 c1 a4 87 23 01 00 00 7b\s+shlw\s+\$0x7b,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 11 c1 a4 87 23 01 00 00 7b\s+shll\s+\$0x7b,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 19 c1 a4 87 23 01 00 00 7b\s+shlq\s+\$0x7b,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 d0 e0\s+shl\s+%r16b
+\s*[a-f0-9]+:\s*66 d5 10 d1 e2\s+shl\s+%r18w
+\s*[a-f0-9]+:\s*d5 11 d1 e1\s+shl\s+%r25d
+\s*[a-f0-9]+:\s*d5 19 d1 e7\s+shl\s+%r31
+\s*[a-f0-9]+:\s*d5 10 d0 a4 80 23 01 00 00\s+shlb\s+0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 10 d1 a4 80 23 01 00 00\s+shlw\s+0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 d1 a4 80 23 01 00 00\s+shll\s+0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 18 d1 a4 80 23 01 00 00\s+shlq\s+0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 11 d1 a4 87 23 01 00 00\s+shlw\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 11 d1 a4 87 23 01 00 00\s+shll\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 19 d1 a4 87 23 01 00 00\s+shlq\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 d2 e0\s+shl\s+%cl,%r16b
+\s*[a-f0-9]+:\s*66 d5 10 d3 e2\s+shl\s+%cl,%r18w
+\s*[a-f0-9]+:\s*d5 11 d3 e1\s+shl\s+%cl,%r25d
+\s*[a-f0-9]+:\s*d5 19 d3 e7\s+shl\s+%cl,%r31
+\s*[a-f0-9]+:\s*d5 10 d2 a4 80 23 01 00 00\s+shlb\s+%cl,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 10 d3 a4 80 23 01 00 00\s+shlw\s+%cl,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 d3 a4 80 23 01 00 00\s+shll\s+%cl,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 18 d3 a4 80 23 01 00 00\s+shlq\s+%cl,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 11 d2 a4 87 23 01 00 00\s+shlb\s+%cl,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 11 d3 a4 87 23 01 00 00\s+shlw\s+%cl,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 11 d3 a4 87 23 01 00 00\s+shll\s+%cl,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 19 d3 a4 87 23 01 00 00\s+shlq\s+%cl,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 c0 a4 d0 7b\s+shld\s+\$0x7b,%r18w,%ax
+\s*[a-f0-9]+:\s*66 d5 d1 a4 94 87 23 01 00 00 7b\s+shld\s+\$0x7b,%r18w,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 c4 a4 ca 7b\s+shld\s+\$0x7b,%r25d,%edx
+\s*[a-f0-9]+:\s*d5 d5 a4 8c 87 23 01 00 00 7b\s+shld\s+\$0x7b,%r25d,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 cd a4 ff 7b\s+shld\s+\$0x7b,%r31,%r15
+\s*[a-f0-9]+:\s*d5 dc a4 bc 80 23 01 00 00 7b\s+shld\s+\$0x7b,%r31,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 c0 a5 d0\s+shld\s+%cl,%r18w,%ax
+\s*[a-f0-9]+:\s*66 d5 d0 a5 94 80 23 01 00 00\s+shld\s+%cl,%r18w,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 c4 a5 ca\s+shld\s+%cl,%r25d,%edx
+\s*[a-f0-9]+:\s*d5 d4 a5 8c 80 23 01 00 00\s+shld\s+%cl,%r25d,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 d5 a5 8c 87 23 01 00 00\s+shld\s+%cl,%r25d,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 cd a5 ff\s+shld\s+%cl,%r31,%r15
+\s*[a-f0-9]+:\s*d5 dd a5 bc 87 23 01 00 00\s+shld\s+%cl,%r31,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 72 35 00 f7 d2\s+shlx\s+%r25d,%edx,%r10d
+\s*[a-f0-9]+:\s*62 da 35 00 f7 94 87 23 01 00 00\s+shlx\s+%r25d,0x123\(%r31,%rax,4\),%edx
+\s*[a-f0-9]+:\s*62 52 85 00 f7 df\s+shlx\s+%r31,%r15,%r11
+\s*[a-f0-9]+:\s*62 5a 85 00 f7 bc 87 23 01 00 00\s+shlx\s+%r31,0x123\(%r31,%rax,4\),%r15
+\s*[a-f0-9]+:\s*d5 10 c0 e8 7b\s+shr\s+\$0x7b,%r16b
+\s*[a-f0-9]+:\s*66 d5 10 c1 ea 7b\s+shr\s+\$0x7b,%r18w
+\s*[a-f0-9]+:\s*d5 11 c1 e9 7b\s+shr\s+\$0x7b,%r25d
+\s*[a-f0-9]+:\s*d5 19 c1 ef 7b\s+shr\s+\$0x7b,%r31
+\s*[a-f0-9]+:\s*d5 10 c0 ac 80 23 01 00 00 7b\s+shrb\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 10 c1 ac 80 23 01 00 00 7b\s+shrw\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 c1 ac 80 23 01 00 00 7b\s+shrl\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 18 c1 ac 80 23 01 00 00 7b\s+shrq\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 11 c1 ac 87 23 01 00 00 7b\s+shrw\s+\$0x7b,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 11 c1 ac 87 23 01 00 00 7b\s+shrl\s+\$0x7b,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 19 c1 ac 87 23 01 00 00 7b\s+shrq\s+\$0x7b,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 d0 e8\s+shr\s+%r16b
+\s*[a-f0-9]+:\s*66 d5 10 d1 ea\s+shr\s+%r18w
+\s*[a-f0-9]+:\s*d5 11 d1 e9\s+shr\s+%r25d
+\s*[a-f0-9]+:\s*d5 19 d1 ef\s+shr\s+%r31
+\s*[a-f0-9]+:\s*d5 10 d0 ac 80 23 01 00 00\s+shrb\s+0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 10 d1 ac 80 23 01 00 00\s+shrw\s+0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 d1 ac 80 23 01 00 00\s+shrl\s+0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 18 d1 ac 80 23 01 00 00\s+shrq\s+0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 11 d1 ac 87 23 01 00 00\s+shrw\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 11 d1 ac 87 23 01 00 00\s+shrl\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 19 d1 ac 87 23 01 00 00\s+shrq\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 d2 e8\s+shr\s+%cl,%r16b
+\s*[a-f0-9]+:\s*66 d5 10 d3 ea\s+shr\s+%cl,%r18w
+\s*[a-f0-9]+:\s*d5 11 d3 e9\s+shr\s+%cl,%r25d
+\s*[a-f0-9]+:\s*d5 19 d3 ef\s+shr\s+%cl,%r31
+\s*[a-f0-9]+:\s*d5 10 d2 ac 80 23 01 00 00\s+shrb\s+%cl,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 10 d3 ac 80 23 01 00 00\s+shrw\s+%cl,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 d3 ac 80 23 01 00 00\s+shrl\s+%cl,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 18 d3 ac 80 23 01 00 00\s+shrq\s+%cl,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 11 d3 ac 87 23 01 00 00\s+shrw\s+%cl,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 11 d3 ac 87 23 01 00 00\s+shrl\s+%cl,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 19 d3 ac 87 23 01 00 00\s+shrq\s+%cl,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 c0 ac d0 7b\s+shrd\s+\$0x7b,%r18w,%ax
+\s*[a-f0-9]+:\s*66 d5 d1 ac 94 87 23 01 00 00 7b\s+shrd\s+\$0x7b,%r18w,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 c4 ac ca 7b\s+shrd\s+\$0x7b,%r25d,%edx
+\s*[a-f0-9]+:\s*d5 d5 ac 8c 87 23 01 00 00 7b\s+shrd\s+\$0x7b,%r25d,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 cd ac ff 7b\s+shrd\s+\$0x7b,%r31,%r15
+\s*[a-f0-9]+:\s*d5 dc ac bc 80 23 01 00 00 7b\s+shrd\s+\$0x7b,%r31,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 c0 ad d0\s+shrd\s+%cl,%r18w,%ax
+\s*[a-f0-9]+:\s*66 d5 d0 ad 94 80 23 01 00 00\s+shrd\s+%cl,%r18w,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 c4 ad ca\s+shrd\s+%cl,%r25d,%edx
+\s*[a-f0-9]+:\s*d5 d4 ad 8c 80 23 01 00 00\s+shrd\s+%cl,%r25d,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 d5 ad 8c 87 23 01 00 00\s+shrd\s+%cl,%r25d,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 cd ad ff\s+shrd\s+%cl,%r31,%r15
+\s*[a-f0-9]+:\s*d5 dd ad bc 87 23 01 00 00\s+shrd\s+%cl,%r31,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 72 37 00 f7 d2\s+shrx\s+%r25d,%edx,%r10d
+\s*[a-f0-9]+:\s*62 da 37 00 f7 94 87 23 01 00 00\s+shrx\s+%r25d,0x123\(%r31,%rax,4\),%edx
+\s*[a-f0-9]+:\s*62 52 87 00 f7 df\s+shrx\s+%r31,%r15,%r11
+\s*[a-f0-9]+:\s*62 5a 87 00 f7 bc 87 23 01 00 00\s+shrx\s+%r31,0x123\(%r31,%rax,4\),%r15
+\s*[a-f0-9]+:\s*62 da 7d 08 49 84 87 23 01 00 00\s+sttilecfg\s+0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 80 e8 7b\s+sub\s+\$0x7b,%r16b
+\s*[a-f0-9]+:\s*66 d5 10 83 ea 7b\s+sub\s+\$0x7b,%r18w
+\s*[a-f0-9]+:\s*d5 11 83 e9 7b\s+sub\s+\$0x7b,%r25d
+\s*[a-f0-9]+:\s*d5 19 83 ef 7b\s+sub\s+\$0x7b,%r31
+\s*[a-f0-9]+:\s*d5 10 80 ac 80 23 01 00 00 7b\s+subb\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 10 83 ac 80 23 01 00 00 7b\s+subw\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 83 ac 80 23 01 00 00 7b\s+subl\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 18 83 ac 80 23 01 00 00 7b\s+subq\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 11 83 ac 87 23 01 00 00 7b\s+subw\s+\$0x7b,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 11 83 ac 87 23 01 00 00 7b\s+subl\s+\$0x7b,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 19 83 ac 87 23 01 00 00 7b\s+subq\s+\$0x7b,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 40 28 c2\s+sub\s+%r16b,%dl
+\s*[a-f0-9]+:\s*d5 51 28 84 87 23 01 00 00\s+sub\s+%r16b,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 40 29 d0\s+sub\s+%r18w,%ax
+\s*[a-f0-9]+:\s*66 d5 50 29 94 80 23 01 00 00\s+sub\s+%r18w,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 51 29 94 87 23 01 00 00\s+sub\s+%r18w,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 44 29 ca\s+sub\s+%r25d,%edx
+\s*[a-f0-9]+:\s*d5 55 29 8c 87 23 01 00 00\s+sub\s+%r25d,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 4d 29 ff\s+sub\s+%r31,%r15
+\s*[a-f0-9]+:\s*d5 5d 29 bc 87 23 01 00 00\s+sub\s+%r31,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 50 2a 84 80 23 01 00 00\s+sub\s+0x123\(%r16,%rax,4\),%r16b
+\s*[a-f0-9]+:\s*d5 5c 2b bc 80 23 01 00 00\s+sub\s+0x123\(%r16,%rax,4\),%r31
+\s*[a-f0-9]+:\s*66 d5 51 2b 94 87 23 01 00 00\s+sub\s+0x123\(%r31,%rax,4\),%r18w
+\s*[a-f0-9]+:\s*d5 55 2b 8c 87 23 01 00 00\s+sub\s+0x123\(%r31,%rax,4\),%r25d
+\s*[a-f0-9]+:\s*d5 5d 2b bc 87 23 01 00 00\s+sub\s+0x123\(%r31,%rax,4\),%r31
+\s*[a-f0-9]+:\s*62 da 7f 08 4b b4 87 23 01 00 00\s+tileloadd\s+0x123\(%r31,%rax,4\),%tmm6
+\s*[a-f0-9]+:\s*62 da 7d 08 4b b4 87 23 01 00 00\s+tileloaddt1\s+0x123\(%r31,%rax,4\),%tmm6
+\s*[a-f0-9]+:\s*62 da 7e 08 4b b4 87 23 01 00 00\s+tilestored\s+%tmm6,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*66 f3 d5 90 bc c2\s+tzcnt\s+%r18w,%ax
+\s*[a-f0-9]+:\s*f3 d5 91 bc d1\s+tzcnt\s+%r25d,%edx
+\s*[a-f0-9]+:\s*f3 d5 9d bc ff\s+tzcnt\s+%r31,%r15
+\s*[a-f0-9]+:\s*66 f3 d5 d0 bc 94 80 23 01 00 00\s+tzcnt\s+0x123\(%r16,%rax,4\),%r18w
+\s*[a-f0-9]+:\s*f3 d5 dc bc bc 80 23 01 00 00\s+tzcnt\s+0x123\(%r16,%rax,4\),%r31
+\s*[a-f0-9]+:\s*66 f3 d5 d1 bc 94 87 23 01 00 00\s+tzcnt\s+0x123\(%r31,%rax,4\),%r18w
+\s*[a-f0-9]+:\s*f3 d5 d5 bc 8c 87 23 01 00 00\s+tzcnt\s+0x123\(%r31,%rax,4\),%r25d
+\s*[a-f0-9]+:\s*62 4c 7c 08 66 8c 87 23 01 00 00\s+wrssd\s+%r25d,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 4c fc 08 66 bc 87 23 01 00 00\s+wrssq\s+%r31,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 4c 7d 08 65 8c 87 23 01 00 00\s+wrussd\s+%r25d,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*62 4c fd 08 65 bc 87 23 01 00 00\s+wrussq\s+%r31,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 80 f0 7b\s+xor\s+\$0x7b,%r16b
+\s*[a-f0-9]+:\s*66 d5 10 83 f2 7b\s+xor\s+\$0x7b,%r18w
+\s*[a-f0-9]+:\s*d5 11 83 f1 7b\s+xor\s+\$0x7b,%r25d
+\s*[a-f0-9]+:\s*d5 19 83 f7 7b\s+xor\s+\$0x7b,%r31
+\s*[a-f0-9]+:\s*d5 10 80 b4 80 23 01 00 00 7b\s+xorb\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 10 83 b4 80 23 01 00 00 7b\s+xorw\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 10 83 b4 80 23 01 00 00 7b\s+xorl\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*d5 18 83 b4 80 23 01 00 00 7b\s+xorq\s+\$0x7b,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 11 83 b4 87 23 01 00 00 7b\s+xorw\s+\$0x7b,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 11 83 b4 87 23 01 00 00 7b\s+xorl\s+\$0x7b,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 19 83 b4 87 23 01 00 00 7b\s+xorq\s+\$0x7b,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 40 30 c2\s+xor\s+%r16b,%dl
+\s*[a-f0-9]+:\s*d5 51 30 84 87 23 01 00 00\s+xor\s+%r16b,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 40 31 d0\s+xor\s+%r18w,%ax
+\s*[a-f0-9]+:\s*66 d5 50 31 94 80 23 01 00 00\s+xor\s+%r18w,0x123\(%r16,%rax,4\)
+\s*[a-f0-9]+:\s*66 d5 51 31 94 87 23 01 00 00\s+xor\s+%r18w,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 44 31 ca\s+xor\s+%r25d,%edx
+\s*[a-f0-9]+:\s*d5 55 31 8c 87 23 01 00 00\s+xor\s+%r25d,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 4d 31 ff\s+xor\s+%r31,%r15
+\s*[a-f0-9]+:\s*d5 5d 31 bc 87 23 01 00 00\s+xor\s+%r31,0x123\(%r31,%rax,4\)
+\s*[a-f0-9]+:\s*d5 50 32 84 80 23 01 00 00\s+xor\s+0x123\(%r16,%rax,4\),%r16b
+\s*[a-f0-9]+:\s*d5 5c 33 bc 80 23 01 00 00\s+xor\s+0x123\(%r16,%rax,4\),%r31
+\s*[a-f0-9]+:\s*66 d5 51 33 94 87 23 01 00 00\s+xor\s+0x123\(%r31,%rax,4\),%r18w
+\s*[a-f0-9]+:\s*d5 55 33 8c 87 23 01 00 00\s+xor\s+0x123\(%r31,%rax,4\),%r25d
+\s*[a-f0-9]+:\s*d5 5d 33 bc 87 23 01 00 00\s+xor\s+0x123\(%r31,%rax,4\),%r31
+#pass
diff --git a/gas/testsuite/gas/i386/x86-64-apx-evex-promoted.s b/gas/testsuite/gas/i386/x86-64-apx-evex-promoted.s
new file mode 100644
index 00000000000..9a17c18e363
--- /dev/null
+++ b/gas/testsuite/gas/i386/x86-64-apx-evex-promoted.s
@@ -0,0 +1,1464 @@ 
+# Check 64bit APX_F EVEX-Promoted instructions.
+
+	.text
+_start:
+	aadd	%r25d,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	aadd	%r31,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	aand	%r25d,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	aand	%r31,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	adc	$0x7b,%r16b	 #APX_F OPC_EVEX_EVEX
+	adc	$0x7b,%r18w	 #APX_F OPC_EVEX_EVEX
+	adc	$0x7b,%r25d	 #APX_F OPC_EVEX_EVEX
+	adc	$0x7b,%r31	 #APX_F OPC_EVEX_EVEX
+	adcb	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	adcw	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	adcl	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	adcq	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	adcw	$0x7b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	adcl	$0x7b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	adcq	$0x7b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	adc	%r16b,%dl	 #APX_F OPC_EVEX_EVEX
+	adc	%r16b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	adc	%r18w,%ax	 #APX_F OPC_EVEX_EVEX
+	adc	%r18w,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	adc	%r18w,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	adc	%r25d,%edx	 #APX_F OPC_EVEX_EVEX
+	adc	%r25d,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	adc	%r31,%r15	 #APX_F OPC_EVEX_EVEX
+	adc	%r31,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	adc	0x123(%r16,%rax,4),%r16b	 #APX_F OPC_EVEX_EVEX
+	adc	0x123(%r16,%rax,4),%r31	 #APX_F OPC_EVEX_EVEX
+	adc	0x123(%r31,%rax,4),%r18w	 #APX_F OPC_EVEX_EVEX
+	adc	0x123(%r31,%rax,4),%r25d	 #APX_F OPC_EVEX_EVEX
+	adc	0x123(%r31,%rax,4),%r31	 #APX_F OPC_EVEX_EVEX
+	adcx	%r25d,%edx	 #APX_F OPC_EVEX_EVEX
+	adcx	%r31,%r15	 #APX_F OPC_EVEX_EVEX
+	adcx	0x123(%r16,%rax,4),%r31	 #APX_F OPC_EVEX_EVEX
+	adcx	0x123(%r31,%rax,4),%r25d	 #APX_F OPC_EVEX_EVEX
+	add	$0x7b,%r16b	 #APX_F OPC_EVEX_EVEX
+	add	$0x7b,%r18w	 #APX_F OPC_EVEX_EVEX
+	add	$0x7b,%r25d	 #APX_F OPC_EVEX_EVEX
+	add	$0x7b,%r31	 #APX_F OPC_EVEX_EVEX
+	addb	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	addw	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	addl	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	addq	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	addw	$0x7b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	addl	$0x7b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	addq	$0x7b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	add	%r16b,%dl	 #APX_F OPC_EVEX_EVEX
+	add	%r16b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	add	%r18w,%ax	 #APX_F OPC_EVEX_EVEX
+	add	%r18w,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	add	%r18w,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	add	%r25d,%edx	 #APX_F OPC_EVEX_EVEX
+	add	%r25d,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	add	%r31,%r15	 #APX_F OPC_EVEX_EVEX
+	add	%r31,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	add	0x123(%r16,%rax,4),%r16b	 #APX_F OPC_EVEX_EVEX
+	add	0x123(%r16,%rax,4),%r31	 #APX_F OPC_EVEX_EVEX
+	add	0x123(%r31,%rax,4),%r18w	 #APX_F OPC_EVEX_EVEX
+	add	0x123(%r31,%rax,4),%r25d	 #APX_F OPC_EVEX_EVEX
+	add	0x123(%r31,%rax,4),%r31	 #APX_F OPC_EVEX_EVEX
+	adox	%r25d,%edx	 #APX_F OPC_EVEX_EVEX
+	adox	%r31,%r15	 #APX_F OPC_EVEX_EVEX
+	adox	0x123(%r16,%rax,4),%r31	 #APX_F OPC_EVEX_EVEX
+	adox	0x123(%r31,%rax,4),%r25d	 #APX_F OPC_EVEX_EVEX
+	aesdec128kl	0x123(%r31,%rax,4),%xmm22	 #APX_F OPC_EVEX_EVEX
+	aesdec256kl	0x123(%r31,%rax,4),%xmm22	 #APX_F OPC_EVEX_EVEX
+	aesdecwide128kl	0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	aesdecwide256kl	0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	aesenc128kl	0x123(%r31,%rax,4),%xmm22	 #APX_F OPC_EVEX_EVEX
+	aesenc256kl	0x123(%r31,%rax,4),%xmm22	 #APX_F OPC_EVEX_EVEX
+	aesencwide128kl	0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	aesencwide256kl	0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	and	$0x7b,%r16b	 #APX_F OPC_EVEX_EVEX
+	and	$0x7b,%r18w	 #APX_F OPC_EVEX_EVEX
+	and	$0x7b,%r25d	 #APX_F OPC_EVEX_EVEX
+	and	$0x7b,%r31	 #APX_F OPC_EVEX_EVEX
+	andb	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	andw	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	andl	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	andq	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	andw	$0x7b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	andl	$0x7b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	andq	$0x7b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	and	%r16b,%dl	 #APX_F OPC_EVEX_EVEX
+	and	%r16b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	and	%r18w,%ax	 #APX_F OPC_EVEX_EVEX
+	and	%r18w,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	and	%r18w,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	and	%r25d,%edx	 #APX_F OPC_EVEX_EVEX
+	and	%r25d,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	and	%r31,%r15	 #APX_F OPC_EVEX_EVEX
+	and	%r31,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	and	0x123(%r16,%rax,4),%r16b	 #APX_F OPC_EVEX_EVEX
+	and	0x123(%r16,%rax,4),%r31	 #APX_F OPC_EVEX_EVEX
+	and	0x123(%r31,%rax,4),%r18w	 #APX_F OPC_EVEX_EVEX
+	and	0x123(%r31,%rax,4),%r25d	 #APX_F OPC_EVEX_EVEX
+	and	0x123(%r31,%rax,4),%r31	 #APX_F OPC_EVEX_EVEX
+	andn	%r25d,%edx,%r10d	 #APX_F OPC_EVEX_EVEX
+	andn	%r31,%r15,%r11	 #APX_F OPC_EVEX_EVEX
+	andn	0x123(%r31,%rax,4),%r25d,%edx	 #APX_F OPC_EVEX_EVEX
+	andn	0x123(%r31,%rax,4),%r31,%r15	 #APX_F OPC_EVEX_EVEX
+	aor	%r25d,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	aor	%r31,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	axor	%r25d,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	axor	%r31,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	bextr	%r25d,%edx,%r10d	 #APX_F OPC_EVEX_EVEX
+	bextr	%r25d,0x123(%r31,%rax,4),%edx	 #APX_F OPC_EVEX_EVEX
+	bextr	%r31,%r15,%r11	 #APX_F OPC_EVEX_EVEX
+	bextr	%r31,0x123(%r31,%rax,4),%r15	 #APX_F OPC_EVEX_EVEX
+	blsi	%r25d,%edx	 #APX_F OPC_EVEX_EVEX
+	blsi	%r31,%r15	 #APX_F OPC_EVEX_EVEX
+	blsi	0x123(%r31,%rax,4),%r25d	 #APX_F OPC_EVEX_EVEX
+	blsi	0x123(%r31,%rax,4),%r31	 #APX_F OPC_EVEX_EVEX
+	blsmsk	%r25d,%edx	 #APX_F OPC_EVEX_EVEX
+	blsmsk	%r31,%r15	 #APX_F OPC_EVEX_EVEX
+	blsmsk	0x123(%r31,%rax,4),%r25d	 #APX_F OPC_EVEX_EVEX
+	blsmsk	0x123(%r31,%rax,4),%r31	 #APX_F OPC_EVEX_EVEX
+	blsr	%r25d,%edx	 #APX_F OPC_EVEX_EVEX
+	blsr	%r31,%r15	 #APX_F OPC_EVEX_EVEX
+	blsr	0x123(%r31,%rax,4),%r25d	 #APX_F OPC_EVEX_EVEX
+	blsr	0x123(%r31,%rax,4),%r31	 #APX_F OPC_EVEX_EVEX
+	bzhi	%r25d,%edx,%r10d	 #APX_F OPC_EVEX_EVEX
+	bzhi	%r25d,0x123(%r31,%rax,4),%edx	 #APX_F OPC_EVEX_EVEX
+	bzhi	%r31,%r15,%r11	 #APX_F OPC_EVEX_EVEX
+	bzhi	%r31,0x123(%r31,%rax,4),%r15	 #APX_F OPC_EVEX_EVEX
+	cmpbexadd	%r25d,%edx,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	cmpbexadd	%r31,%r15,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	cmpbxadd	%r25d,%edx,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	cmpbxadd	%r31,%r15,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	cmplxadd	%r25d,%edx,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	cmplxadd	%r31,%r15,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	cmpnbexadd	%r25d,%edx,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	cmpnbexadd	%r31,%r15,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	cmpnbxadd	%r25d,%edx,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	cmpnbxadd	%r31,%r15,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	cmpnlexadd	%r25d,%edx,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	cmpnlexadd	%r31,%r15,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	cmpnlxadd	%r25d,%edx,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	cmpnlxadd	%r31,%r15,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	cmpnoxadd	%r25d,%edx,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	cmpnoxadd	%r31,%r15,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	cmpnpxadd	%r25d,%edx,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	cmpnpxadd	%r31,%r15,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	cmpnsxadd	%r25d,%edx,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	cmpnsxadd	%r31,%r15,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	cmpnzxadd	%r25d,%edx,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	cmpnzxadd	%r31,%r15,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	cmpoxadd	%r25d,%edx,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	cmpoxadd	%r31,%r15,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	cmppxadd	%r25d,%edx,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	cmppxadd	%r31,%r15,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	cmpsxadd	%r25d,%edx,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	cmpsxadd	%r31,%r15,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	cmpzxadd	%r25d,%edx,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	cmpzxadd	%r31,%r15,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	dec	%r16b	 #APX_F OPC_EVEX_EVEX
+	dec	%r18w	 #APX_F OPC_EVEX_EVEX
+	dec	%r25d	 #APX_F OPC_EVEX_EVEX
+	dec	%r31	 #APX_F OPC_EVEX_EVEX
+	decw	0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	decl	0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	decq	0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	decb	0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	decw	0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	decl	0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	decq	0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	div	%r16b	 #APX_F OPC_EVEX_EVEX
+	div	%r18w	 #APX_F OPC_EVEX_EVEX
+	div	%r25d	 #APX_F OPC_EVEX_EVEX
+	div	%r31	 #APX_F OPC_EVEX_EVEX
+	divw	0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	divl	0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	divq	0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	divb	0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	divw	0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	divl	0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	divq	0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	encodekey128	%r25d,%edx	 #APX_F OPC_EVEX_EVEX
+	encodekey256	%r25d,%edx	 #APX_F OPC_EVEX_EVEX
+	enqcmd	0x123(%r31d,%eax,4),%r25d	 #APX_F OPC_EVEX_EVEX
+	enqcmd	0x123(%r31,%rax,4),%r31	 #APX_F OPC_EVEX_EVEX
+	enqcmds	0x123(%r31d,%eax,4),%r25d	 #APX_F OPC_EVEX_EVEX
+	enqcmds	0x123(%r31,%rax,4),%r31	 #APX_F OPC_EVEX_EVEX
+	idiv	%r16b	 #APX_F OPC_EVEX_EVEX
+	idiv	%r18w	 #APX_F OPC_EVEX_EVEX
+	idiv	%r25d	 #APX_F OPC_EVEX_EVEX
+	idiv	%r31	 #APX_F OPC_EVEX_EVEX
+	idivw	0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	idivl	0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	idivq	0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	idivb	0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	idivw	0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	idivl	0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	idivq	0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	imul	$0x7b,%r18w,%ax	 #APX_F
+	imul	$0x7b,%r25d,%edx	 #APX_F
+	imul	$0x7b,%r31,%r15	 #APX_F
+	imul	$0x7b,0x123(%r16,%rax,4),%r25d	 #APX_F
+	imul	$0x7b,0x123(%r16,%rax,4),%r31	 #APX_F
+	imul	$0x7b,0x123(%r31,%rax,4),%r18w	 #APX_F
+	imul	$0x7b,0x123(%r31,%rax,4),%r25d	 #APX_F
+	imul	$0x7b,0x123(%r31,%rax,4),%r31	 #APX_F
+	imul	%r16b	 #APX_F OPC_EVEX_EVEX
+	imul	%r18w	 #APX_F OPC_EVEX_EVEX
+	imul	%r18w,%ax	 #APX_F OPC_EVEX_EVEX
+	imul	%r25d	 #APX_F OPC_EVEX_EVEX
+	imul	%r25d,%edx	 #APX_F OPC_EVEX_EVEX
+	imul	%r31	 #APX_F OPC_EVEX_EVEX
+	imul	%r31,%r15	 #APX_F OPC_EVEX_EVEX
+	imulb	0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	imulw	0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	imull	0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	imul	0x123(%r16,%rax,4),%r18w	 #APX_F OPC_EVEX_EVEX
+	imul	0x123(%r16,%rax,4),%r25d	 #APX_F OPC_EVEX_EVEX
+	imul	0x123(%r16,%rax,4),%r31	 #APX_F OPC_EVEX_EVEX
+	imulq	0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	imulw	0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	imull	0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	imulq	0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	inc	%r16b	 #APX_F OPC_EVEX_EVEX
+	inc	%r18w	 #APX_F OPC_EVEX_EVEX
+	inc	%r25d	 #APX_F OPC_EVEX_EVEX
+	inc	%r31	 #APX_F OPC_EVEX_EVEX
+	incw	0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	incl	0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	incq	0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	incb	0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	incw	0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	incl	0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	incq	0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	invept	0x123(%r31,%rax,4),%r31	 #APX_F OPC_EVEX_EVEX
+	invpcid	0x123(%r31,%rax,4),%r31	 #APX_F OPC_EVEX_EVEX
+	invvpid	0x123(%r31,%rax,4),%r31	 #APX_F OPC_EVEX_EVEX
+	kmovb	%k3,%k5	 #APX_F OPC_EVEX_EVEX
+	kmovb	%k5,%r25d	 #APX_F OPC_EVEX_EVEX
+	kmovb	%k5,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	kmovb	%r25d,%k5	 #APX_F OPC_EVEX_EVEX
+	kmovb	0x123(%r31,%rax,4),%k5	 #APX_F OPC_EVEX_EVEX
+	kmovd	%k3,%k5	 #APX_F OPC_EVEX_EVEX
+	kmovd	%k5,%r25d	 #APX_F OPC_EVEX_EVEX
+	kmovd	%k5,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	kmovd	%r25d,%k5	 #APX_F OPC_EVEX_EVEX
+	kmovd	0x123(%r31,%rax,4),%k5	 #APX_F OPC_EVEX_EVEX
+	kmovq	%k3,%k5	 #APX_F OPC_EVEX_EVEX
+	kmovq	%k5,%r31	 #APX_F OPC_EVEX_EVEX
+	kmovq	%k5,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	kmovq	%r31,%k5	 #APX_F OPC_EVEX_EVEX
+	kmovq	0x123(%r31,%rax,4),%k5	 #APX_F OPC_EVEX_EVEX
+	kmovw	%k3,%k5	 #APX_F OPC_EVEX_EVEX
+	kmovw	%k5,%r25d	 #APX_F OPC_EVEX_EVEX
+	kmovw	%k5,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	kmovw	%r25d,%k5	 #APX_F OPC_EVEX_EVEX
+	kmovw	0x123(%r31,%rax,4),%k5	 #APX_F OPC_EVEX_EVEX
+	ldtilecfg	0x123(%r31,%rax,4)	 #APX_F
+	lzcnt	%r18w,%ax	 #APX_F OPC_EVEX_EVEX
+	lzcnt	%r25d,%edx	 #APX_F OPC_EVEX_EVEX
+	lzcnt	%r31,%r15	 #APX_F OPC_EVEX_EVEX
+	lzcnt	0x123(%r16,%rax,4),%r18w	 #APX_F OPC_EVEX_EVEX
+	lzcnt	0x123(%r16,%rax,4),%r31	 #APX_F OPC_EVEX_EVEX
+	lzcnt	0x123(%r31,%rax,4),%r18w	 #APX_F OPC_EVEX_EVEX
+	lzcnt	0x123(%r31,%rax,4),%r25d	 #APX_F OPC_EVEX_EVEX
+	movbe	%r18w,%ax	 #APX_F OPC_EVEX_EVEX
+	movbe	%r18w,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	movbe	%r18w,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	movbe	%r25d,%edx	 #APX_F OPC_EVEX_EVEX
+	movbe	%r25d,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	movbe	%r31,%r15	 #APX_F OPC_EVEX_EVEX
+	movbe	%r31,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	movbe	%r31,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	movbe	0x123(%r16,%rax,4),%r31	 #APX_F OPC_EVEX_EVEX
+	movbe	0x123(%r31,%rax,4),%r18w	 #APX_F OPC_EVEX_EVEX
+	movbe	0x123(%r31,%rax,4),%r25d	 #APX_F OPC_EVEX_EVEX
+	movdir64b	0x123(%r31d,%eax,4),%r25d	 #APX_F OPC_EVEX_EVEX
+	movdir64b	0x123(%r31,%rax,4),%r31	 #APX_F OPC_EVEX_EVEX
+	movdiri	%r25d,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	movdiri	%r31,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	mul	%r16b	 #APX_F OPC_EVEX_EVEX
+	mul	%r18w	 #APX_F OPC_EVEX_EVEX
+	mul	%r25d	 #APX_F OPC_EVEX_EVEX
+	mul	%r31	 #APX_F OPC_EVEX_EVEX
+	mulw	0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	mull	0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	mulq	0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	mulb	0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	mulw	0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	mull	0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	mulq	0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	mulx	%r25d,%edx,%r10d	 #APX_F OPC_EVEX_EVEX
+	mulx	%r31,%r15,%r11	 #APX_F OPC_EVEX_EVEX
+	mulx	0x123(%r31,%rax,4),%r25d,%edx	 #APX_F OPC_EVEX_EVEX
+	mulx	0x123(%r31,%rax,4),%r31,%r15	 #APX_F OPC_EVEX_EVEX
+	neg	%r16b	 #APX_F OPC_EVEX_EVEX
+	neg	%r18w	 #APX_F OPC_EVEX_EVEX
+	neg	%r25d	 #APX_F OPC_EVEX_EVEX
+	neg	%r31	 #APX_F OPC_EVEX_EVEX
+	negw	0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	negl	0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	negq	0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	negb	0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	negw	0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	negl	0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	negq	0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	not	%r16b	 #APX_F OPC_EVEX_EVEX
+	not	%r18w	 #APX_F OPC_EVEX_EVEX
+	not	%r25d	 #APX_F OPC_EVEX_EVEX
+	not	%r31	 #APX_F OPC_EVEX_EVEX
+	notw	0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	notl	0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	notq	0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	notb	0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	notw	0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	notl	0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	notq	0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	or	$0x7b,%r16b	 #APX_F OPC_EVEX_EVEX
+	or	$0x7b,%r18w	 #APX_F OPC_EVEX_EVEX
+	or	$0x7b,%r25d	 #APX_F OPC_EVEX_EVEX
+	or	$0x7b,%r31	 #APX_F OPC_EVEX_EVEX
+	orb	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	orw	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	orl	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	orq	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	orw	$0x7b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	orl	$0x7b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	orq	$0x7b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	or	%r16b,%dl	 #APX_F OPC_EVEX_EVEX
+	or	%r16b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	or	%r18w,%ax	 #APX_F OPC_EVEX_EVEX
+	or	%r18w,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	or	%r18w,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	or	%r25d,%edx	 #APX_F OPC_EVEX_EVEX
+	or	%r25d,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	or	%r31,%r15	 #APX_F OPC_EVEX_EVEX
+	or	%r31,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	or	0x123(%r16,%rax,4),%r16b	 #APX_F OPC_EVEX_EVEX
+	or	0x123(%r16,%rax,4),%r31	 #APX_F OPC_EVEX_EVEX
+	or	0x123(%r31,%rax,4),%r18w	 #APX_F OPC_EVEX_EVEX
+	or	0x123(%r31,%rax,4),%r25d	 #APX_F OPC_EVEX_EVEX
+	or	0x123(%r31,%rax,4),%r31	 #APX_F OPC_EVEX_EVEX
+	pdep	%r25d,%edx,%r10d	 #APX_F OPC_EVEX_EVEX
+	pdep	%r31,%r15,%r11	 #APX_F OPC_EVEX_EVEX
+	pdep	0x123(%r31,%rax,4),%r25d,%edx	 #APX_F OPC_EVEX_EVEX
+	pdep	0x123(%r31,%rax,4),%r31,%r15	 #APX_F OPC_EVEX_EVEX
+	pext	%r25d,%edx,%r10d	 #APX_F OPC_EVEX_EVEX
+	pext	%r31,%r15,%r11	 #APX_F OPC_EVEX_EVEX
+	pext	0x123(%r31,%rax,4),%r25d,%edx	 #APX_F OPC_EVEX_EVEX
+	pext	0x123(%r31,%rax,4),%r31,%r15	 #APX_F OPC_EVEX_EVEX
+	popcnt	%r18w,%ax	 #APX_F OPC_EVEX_EVEX
+	popcnt	%r25d,%edx	 #APX_F OPC_EVEX_EVEX
+	popcnt	%r31,%r15	 #APX_F OPC_EVEX_EVEX
+	popcnt	0x123(%r16,%rax,4),%r18w	 #APX_F OPC_EVEX_EVEX
+	popcnt	0x123(%r16,%rax,4),%r31	 #APX_F OPC_EVEX_EVEX
+	popcnt	0x123(%r31,%rax,4),%r18w	 #APX_F OPC_EVEX_EVEX
+	popcnt	0x123(%r31,%rax,4),%r25d	 #APX_F OPC_EVEX_EVEX
+	rcl	$0x7b,%r16b	 #APX_F OPC_EVEX_EVEX
+	rcl	$0x7b,%r18w	 #APX_F OPC_EVEX_EVEX
+	rcl	$0x7b,%r25d	 #APX_F OPC_EVEX_EVEX
+	rcl	$0x7b,%r31	 #APX_F OPC_EVEX_EVEX
+	rclb	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rclw	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rcll	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rclq	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rclw	$0x7b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rcll	$0x7b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rclq	$0x7b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rcl	$1,%r16b	 #APX_F OPC_EVEX_EVEX
+	rcl	$1,%r18w	 #APX_F OPC_EVEX_EVEX
+	rcl	$1,%r25d	 #APX_F OPC_EVEX_EVEX
+	rcl	$1,%r31	 #APX_F OPC_EVEX_EVEX
+	rclb	$1,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rclw	$1,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rcll	$1,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rclq	$1,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rclw	$1,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rcll	$1,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rclq	$1,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rcl	%cl,%r16b	 #APX_F OPC_EVEX_EVEX
+	rcl	%cl,%r18w	 #APX_F OPC_EVEX_EVEX
+	rcl	%cl,%r25d	 #APX_F OPC_EVEX_EVEX
+	rcl	%cl,%r31	 #APX_F OPC_EVEX_EVEX
+	rclb	%cl,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rclw	%cl,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rcll	%cl,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rclq	%cl,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rclw	%cl,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rcll	%cl,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rclq	%cl,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rcr	$0x7b,%r16b	 #APX_F OPC_EVEX_EVEX
+	rcr	$0x7b,%r18w	 #APX_F OPC_EVEX_EVEX
+	rcr	$0x7b,%r25d	 #APX_F OPC_EVEX_EVEX
+	rcr	$0x7b,%r31	 #APX_F OPC_EVEX_EVEX
+	rcrb	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rcrw	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rcrl	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rcrq	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rcrw	$0x7b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rcrl	$0x7b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rcrq	$0x7b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rcr	$1,%r16b	 #APX_F OPC_EVEX_EVEX
+	rcr	$1,%r18w	 #APX_F OPC_EVEX_EVEX
+	rcr	$1,%r25d	 #APX_F OPC_EVEX_EVEX
+	rcr	$1,%r31	 #APX_F OPC_EVEX_EVEX
+	rcrb	$1,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rcrw	$1,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rcrl	$1,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rcrq	$1,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rcrw	$1,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rcrl	$1,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rcrq	$1,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rcr	%cl,%r16b	 #APX_F OPC_EVEX_EVEX
+	rcr	%cl,%r18w	 #APX_F OPC_EVEX_EVEX
+	rcr	%cl,%r25d	 #APX_F OPC_EVEX_EVEX
+	rcr	%cl,%r31	 #APX_F OPC_EVEX_EVEX
+	rcrb	%cl,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rcrw	%cl,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rcrl	%cl,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rcrq	%cl,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rcrw	%cl,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rcrl	%cl,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rcrq	%cl,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rol	$0x7b,%r16b	 #APX_F OPC_EVEX_EVEX
+	rol	$0x7b,%r18w	 #APX_F OPC_EVEX_EVEX
+	rol	$0x7b,%r25d	 #APX_F OPC_EVEX_EVEX
+	rol	$0x7b,%r31	 #APX_F OPC_EVEX_EVEX
+	rolb	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rolw	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	roll	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rolq	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rolw	$0x7b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	roll	$0x7b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rolq	$0x7b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rol	$1,%r16b	 #APX_F OPC_EVEX_EVEX
+	rol	$1,%r18w	 #APX_F OPC_EVEX_EVEX
+	rol	$1,%r25d	 #APX_F OPC_EVEX_EVEX
+	rol	$1,%r31	 #APX_F OPC_EVEX_EVEX
+	rolb	$1,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rolw	$1,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	roll	$1,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rolq	$1,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rolw	$1,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	roll	$1,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rolq	$1,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rol	%cl,%r16b	 #APX_F OPC_EVEX_EVEX
+	rol	%cl,%r18w	 #APX_F OPC_EVEX_EVEX
+	rol	%cl,%r25d	 #APX_F OPC_EVEX_EVEX
+	rol	%cl,%r31	 #APX_F OPC_EVEX_EVEX
+	rolb	%cl,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rolw	%cl,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	roll	%cl,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rolq	%cl,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rolw	%cl,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	roll	%cl,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rolq	%cl,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	ror	$0x7b,%r16b	 #APX_F OPC_EVEX_EVEX
+	ror	$0x7b,%r18w	 #APX_F OPC_EVEX_EVEX
+	ror	$0x7b,%r25d	 #APX_F OPC_EVEX_EVEX
+	ror	$0x7b,%r31	 #APX_F OPC_EVEX_EVEX
+	rorb	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rorw	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rorl	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rorq	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rorw	$0x7b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rorl	$0x7b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rorq	$0x7b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	ror	$1,%r16b	 #APX_F OPC_EVEX_EVEX
+	ror	$1,%r18w	 #APX_F OPC_EVEX_EVEX
+	ror	$1,%r25d	 #APX_F OPC_EVEX_EVEX
+	ror	$1,%r31	 #APX_F OPC_EVEX_EVEX
+	rorb	$1,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rorw	$1,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rorl	$1,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rorq	$1,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rorw	$1,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rorl	$1,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rorq	$1,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	ror	%cl,%r16b	 #APX_F OPC_EVEX_EVEX
+	ror	%cl,%r18w	 #APX_F OPC_EVEX_EVEX
+	ror	%cl,%r25d	 #APX_F OPC_EVEX_EVEX
+	ror	%cl,%r31	 #APX_F OPC_EVEX_EVEX
+	rorb	%cl,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rorw	%cl,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rorl	%cl,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rorq	%cl,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rorw	%cl,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rorl	%cl,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rorq	%cl,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	rorx	$0x7b,%r25d,%edx	 #APX_F OPC_EVEX_EVEX
+	rorx	$0x7b,%r31,%r15	 #APX_F OPC_EVEX_EVEX
+	rorx	$0x7b,0x123(%r31,%rax,4),%r25d	 #APX_F OPC_EVEX_EVEX
+	rorx	$0x7b,0x123(%r31,%rax,4),%r31	 #APX_F OPC_EVEX_EVEX
+	sar	$0x7b,%r16b	 #APX_F OPC_EVEX_EVEX
+	sar	$0x7b,%r18w	 #APX_F OPC_EVEX_EVEX
+	sar	$0x7b,%r25d	 #APX_F OPC_EVEX_EVEX
+	sar	$0x7b,%r31	 #APX_F OPC_EVEX_EVEX
+	sarb	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	sarw	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	sarl	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	sarq	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	sarw	$0x7b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	sarl	$0x7b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	sarq	$0x7b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	sar	$1,%r16b	 #APX_F OPC_EVEX_EVEX
+	sar	$1,%r18w	 #APX_F OPC_EVEX_EVEX
+	sar	$1,%r25d	 #APX_F OPC_EVEX_EVEX
+	sar	$1,%r31	 #APX_F OPC_EVEX_EVEX
+	sarb	$1,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	sarw	$1,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	sarl	$1,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	sarq	$1,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	sarw	$1,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	sarl	$1,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	sarq	$1,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	sar	%cl,%r16b	 #APX_F OPC_EVEX_EVEX
+	sar	%cl,%r18w	 #APX_F OPC_EVEX_EVEX
+	sar	%cl,%r25d	 #APX_F OPC_EVEX_EVEX
+	sar	%cl,%r31	 #APX_F OPC_EVEX_EVEX
+	sarb	%cl,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	sarw	%cl,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	sarl	%cl,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	sarq	%cl,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	sarw	%cl,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	sarl	%cl,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	sarq	%cl,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	sarx	%r25d,%edx,%r10d	 #APX_F OPC_EVEX_EVEX
+	sarx	%r25d,0x123(%r31,%rax,4),%edx	 #APX_F OPC_EVEX_EVEX
+	sarx	%r31,%r15,%r11	 #APX_F OPC_EVEX_EVEX
+	sarx	%r31,0x123(%r31,%rax,4),%r15	 #APX_F OPC_EVEX_EVEX
+	sbb	$0x7b,%r16b	 #APX_F OPC_EVEX_EVEX
+	sbb	$0x7b,%r18w	 #APX_F OPC_EVEX_EVEX
+	sbb	$0x7b,%r25d	 #APX_F OPC_EVEX_EVEX
+	sbb	$0x7b,%r31	 #APX_F OPC_EVEX_EVEX
+	sbbb	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	sbbw	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	sbbl	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	sbbq	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	sbbw	$0x7b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	sbbl	$0x7b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	sbbq	$0x7b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	sbb	%r16b,%dl	 #APX_F OPC_EVEX_EVEX
+	sbb	%r16b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	sbb	%r18w,%ax	 #APX_F OPC_EVEX_EVEX
+	sbb	%r18w,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	sbb	%r18w,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	sbb	%r25d,%edx	 #APX_F OPC_EVEX_EVEX
+	sbb	%r25d,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	sbb	%r31,%r15	 #APX_F OPC_EVEX_EVEX
+	sbb	%r31,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	sbb	0x123(%r16,%rax,4),%r16b	 #APX_F OPC_EVEX_EVEX
+	sbb	0x123(%r16,%rax,4),%r31	 #APX_F OPC_EVEX_EVEX
+	sbb	0x123(%r31,%rax,4),%r18w	 #APX_F OPC_EVEX_EVEX
+	sbb	0x123(%r31,%rax,4),%r25d	 #APX_F OPC_EVEX_EVEX
+	sbb	0x123(%r31,%rax,4),%r31	 #APX_F OPC_EVEX_EVEX
+	sha1msg1	%xmm23,%xmm22	 #APX_F OPC_EVEX_EVEX
+	sha1msg1	0x123(%r31,%rax,4),%xmm22	 #APX_F OPC_EVEX_EVEX
+	sha1msg2	%xmm23,%xmm22	 #APX_F OPC_EVEX_EVEX
+	sha1msg2	0x123(%r31,%rax,4),%xmm22	 #APX_F OPC_EVEX_EVEX
+	sha1nexte	%xmm23,%xmm22	 #APX_F OPC_EVEX_EVEX
+	sha1nexte	0x123(%r31,%rax,4),%xmm22	 #APX_F OPC_EVEX_EVEX
+	sha1rnds4	$0x7b,%xmm23,%xmm22	 #APX_F OPC_EVEX_EVEX
+	sha1rnds4	$0x7b,0x123(%r31,%rax,4),%xmm22	 #APX_F OPC_EVEX_EVEX
+	sha256msg1	%xmm23,%xmm22	 #APX_F OPC_EVEX_EVEX
+	sha256msg1	0x123(%r31,%rax,4),%xmm22	 #APX_F OPC_EVEX_EVEX
+	sha256msg2	%xmm23,%xmm22	 #APX_F OPC_EVEX_EVEX
+	sha256msg2	0x123(%r31,%rax,4),%xmm22	 #APX_F OPC_EVEX_EVEX
+	sha256rnds2	0x123(%r31,%rax,4),%xmm12	 #APX_F OPC_EVEX_EVEX
+	shl	$0x7b,%r16b	 #APX_F OPC_EVEX_EVEX
+	shl	$0x7b,%r18w	 #APX_F OPC_EVEX_EVEX
+	shl	$0x7b,%r25d	 #APX_F OPC_EVEX_EVEX
+	shl	$0x7b,%r31	 #APX_F OPC_EVEX_EVEX
+	shlb	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shlw	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shll	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shlq	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shlb	$0x7b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shlw	$0x7b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shll	$0x7b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shlq	$0x7b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shl	$1,%r16b	 #APX_F OPC_EVEX_EVEX
+	shl	$1,%r18w	 #APX_F OPC_EVEX_EVEX
+	shl	$1,%r25d	 #APX_F OPC_EVEX_EVEX
+	shl	$1,%r31	 #APX_F OPC_EVEX_EVEX
+	shlb	$1,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shlw	$1,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shll	$1,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shlq	$1,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shlw	$1,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shll	$1,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shlq	$1,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shl	%cl,%r16b	 #APX_F OPC_EVEX_EVEX
+	shl	%cl,%r18w	 #APX_F OPC_EVEX_EVEX
+	shl	%cl,%r25d	 #APX_F OPC_EVEX_EVEX
+	shl	%cl,%r31	 #APX_F OPC_EVEX_EVEX
+	shlb	%cl,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shlw	%cl,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shll	%cl,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shlq	%cl,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shlb	%cl,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shlw	%cl,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shll	%cl,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shlq	%cl,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shld	$0x7b,%r18w,%ax	 #APX_F OPC_EVEX_EVEX
+	shld	$0x7b,%r18w,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shld	$0x7b,%r25d,%edx	 #APX_F OPC_EVEX_EVEX
+	shld	$0x7b,%r25d,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shld	$0x7b,%r31,%r15	 #APX_F OPC_EVEX_EVEX
+	shld	$0x7b,%r31,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shld	%cl,%r18w,%ax	 #APX_F OPC_EVEX_EVEX
+	shld	%cl,%r18w,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shld	%cl,%r25d,%edx	 #APX_F OPC_EVEX_EVEX
+	shld	%cl,%r25d,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shld	%cl,%r25d,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shld	%cl,%r31,%r15	 #APX_F OPC_EVEX_EVEX
+	shld	%cl,%r31,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shlx	%r25d,%edx,%r10d	 #APX_F OPC_EVEX_EVEX
+	shlx	%r25d,0x123(%r31,%rax,4),%edx	 #APX_F OPC_EVEX_EVEX
+	shlx	%r31,%r15,%r11	 #APX_F OPC_EVEX_EVEX
+	shlx	%r31,0x123(%r31,%rax,4),%r15	 #APX_F OPC_EVEX_EVEX
+	shr	$0x7b,%r16b	 #APX_F OPC_EVEX_EVEX
+	shr	$0x7b,%r18w	 #APX_F OPC_EVEX_EVEX
+	shr	$0x7b,%r25d	 #APX_F OPC_EVEX_EVEX
+	shr	$0x7b,%r31	 #APX_F OPC_EVEX_EVEX
+	shrb	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shrw	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shrl	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shrq	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shrw	$0x7b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shrl	$0x7b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shrq	$0x7b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shr	$1,%r16b	 #APX_F OPC_EVEX_EVEX
+	shr	$1,%r18w	 #APX_F OPC_EVEX_EVEX
+	shr	$1,%r25d	 #APX_F OPC_EVEX_EVEX
+	shr	$1,%r31	 #APX_F OPC_EVEX_EVEX
+	shrb	$1,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shrw	$1,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shrl	$1,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shrq	$1,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shrw	$1,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shrl	$1,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shrq	$1,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shr	%cl,%r16b	 #APX_F OPC_EVEX_EVEX
+	shr	%cl,%r18w	 #APX_F OPC_EVEX_EVEX
+	shr	%cl,%r25d	 #APX_F OPC_EVEX_EVEX
+	shr	%cl,%r31	 #APX_F OPC_EVEX_EVEX
+	shrb	%cl,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shrw	%cl,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shrl	%cl,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shrq	%cl,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shrw	%cl,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shrl	%cl,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shrq	%cl,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shrd	$0x7b,%r18w,%ax	 #APX_F OPC_EVEX_EVEX
+	shrd	$0x7b,%r18w,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shrd	$0x7b,%r25d,%edx	 #APX_F OPC_EVEX_EVEX
+	shrd	$0x7b,%r25d,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shrd	$0x7b,%r31,%r15	 #APX_F OPC_EVEX_EVEX
+	shrd	$0x7b,%r31,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shrd	%cl,%r18w,%ax	 #APX_F OPC_EVEX_EVEX
+	shrd	%cl,%r18w,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shrd	%cl,%r25d,%edx	 #APX_F OPC_EVEX_EVEX
+	shrd	%cl,%r25d,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shrd	%cl,%r25d,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shrd	%cl,%r31,%r15	 #APX_F OPC_EVEX_EVEX
+	shrd	%cl,%r31,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	shrx	%r25d,%edx,%r10d	 #APX_F OPC_EVEX_EVEX
+	shrx	%r25d,0x123(%r31,%rax,4),%edx	 #APX_F OPC_EVEX_EVEX
+	shrx	%r31,%r15,%r11	 #APX_F OPC_EVEX_EVEX
+	shrx	%r31,0x123(%r31,%rax,4),%r15	 #APX_F OPC_EVEX_EVEX
+	sttilecfg	0x123(%r31,%rax,4)	 #APX_F
+	sub	$0x7b,%r16b	 #APX_F OPC_EVEX_EVEX
+	sub	$0x7b,%r18w	 #APX_F OPC_EVEX_EVEX
+	sub	$0x7b,%r25d	 #APX_F OPC_EVEX_EVEX
+	sub	$0x7b,%r31	 #APX_F OPC_EVEX_EVEX
+	subb	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	subw	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	subl	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	subq	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	subw	$0x7b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	subl	$0x7b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	subq	$0x7b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	sub	%r16b,%dl	 #APX_F OPC_EVEX_EVEX
+	sub	%r16b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	sub	%r18w,%ax	 #APX_F OPC_EVEX_EVEX
+	sub	%r18w,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	sub	%r18w,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	sub	%r25d,%edx	 #APX_F OPC_EVEX_EVEX
+	sub	%r25d,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	sub	%r31,%r15	 #APX_F OPC_EVEX_EVEX
+	sub	%r31,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	sub	0x123(%r16,%rax,4),%r16b	 #APX_F OPC_EVEX_EVEX
+	sub	0x123(%r16,%rax,4),%r31	 #APX_F OPC_EVEX_EVEX
+	sub	0x123(%r31,%rax,4),%r18w	 #APX_F OPC_EVEX_EVEX
+	sub	0x123(%r31,%rax,4),%r25d	 #APX_F OPC_EVEX_EVEX
+	sub	0x123(%r31,%rax,4),%r31	 #APX_F OPC_EVEX_EVEX
+	tileloadd	0x123(%r31,%rax,4),%tmm6	 #APX_F
+	tileloaddt1	0x123(%r31,%rax,4),%tmm6	 #APX_F
+	tilestored	%tmm6,0x123(%r31,%rax,4)	 #APX_F
+	tzcnt	%r18w,%ax	 #APX_F OPC_EVEX_EVEX
+	tzcnt	%r25d,%edx	 #APX_F OPC_EVEX_EVEX
+	tzcnt	%r31,%r15	 #APX_F OPC_EVEX_EVEX
+	tzcnt	0x123(%r16,%rax,4),%r18w	 #APX_F OPC_EVEX_EVEX
+	tzcnt	0x123(%r16,%rax,4),%r31	 #APX_F OPC_EVEX_EVEX
+	tzcnt	0x123(%r31,%rax,4),%r18w	 #APX_F OPC_EVEX_EVEX
+	tzcnt	0x123(%r31,%rax,4),%r25d	 #APX_F OPC_EVEX_EVEX
+	wrssd	%r25d,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	wrssq	%r31,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	wrussd	%r25d,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	wrussq	%r31,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	xor	$0x7b,%r16b	 #APX_F OPC_EVEX_EVEX
+	xor	$0x7b,%r18w	 #APX_F OPC_EVEX_EVEX
+	xor	$0x7b,%r25d	 #APX_F OPC_EVEX_EVEX
+	xor	$0x7b,%r31	 #APX_F OPC_EVEX_EVEX
+	xorb	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	xorw	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	xorl	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	xorq	$0x7b,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	xorw	$0x7b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	xorl	$0x7b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	xorq	$0x7b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	xor	%r16b,%dl	 #APX_F OPC_EVEX_EVEX
+	xor	%r16b,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	xor	%r18w,%ax	 #APX_F OPC_EVEX_EVEX
+	xor	%r18w,0x123(%r16,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	xor	%r18w,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	xor	%r25d,%edx	 #APX_F OPC_EVEX_EVEX
+	xor	%r25d,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	xor	%r31,%r15	 #APX_F OPC_EVEX_EVEX
+	xor	%r31,0x123(%r31,%rax,4)	 #APX_F OPC_EVEX_EVEX
+	xor	0x123(%r16,%rax,4),%r16b	 #APX_F OPC_EVEX_EVEX
+	xor	0x123(%r16,%rax,4),%r31	 #APX_F OPC_EVEX_EVEX
+	xor	0x123(%r31,%rax,4),%r18w	 #APX_F OPC_EVEX_EVEX
+	xor	0x123(%r31,%rax,4),%r25d	 #APX_F OPC_EVEX_EVEX
+	xor	0x123(%r31,%rax,4),%r31	 #APX_F OPC_EVEX_EVEX
+
+.intel_syntax noprefix
+	aadd	DWORD PTR [r31+rax*4+0x123],r25d	 #APX_F OPC_EVEX_EVEX
+	aadd	QWORD PTR [r31+rax*4+0x123],r31	 #APX_F OPC_EVEX_EVEX
+	aand	DWORD PTR [r31+rax*4+0x123],r25d	 #APX_F OPC_EVEX_EVEX
+	aand	QWORD PTR [r31+rax*4+0x123],r31	 #APX_F OPC_EVEX_EVEX
+	adc	r16b,0x7b	 #APX_F OPC_EVEX_EVEX
+	adc	r18w,0x7b	 #APX_F OPC_EVEX_EVEX
+	adc	r25d,0x7b	 #APX_F OPC_EVEX_EVEX
+	adc	r31,0x7b	 #APX_F OPC_EVEX_EVEX
+	adc	BYTE PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	adc	WORD PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	adc	DWORD PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	adc	QWORD PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	adc	WORD PTR [r31+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	adc	DWORD PTR [r31+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	adc	QWORD PTR [r31+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	adc	dl,r16b	 #APX_F OPC_EVEX_EVEX
+	adc	BYTE PTR [r31+rax*4+0x123],r16b	 #APX_F OPC_EVEX_EVEX
+	adc	ax,r18w	 #APX_F OPC_EVEX_EVEX
+	adc	WORD PTR [r16+rax*4+0x123],r18w	 #APX_F OPC_EVEX_EVEX
+	adc	WORD PTR [r31+rax*4+0x123],r18w	 #APX_F OPC_EVEX_EVEX
+	adc	edx,r25d	 #APX_F OPC_EVEX_EVEX
+	adc	DWORD PTR [r31+rax*4+0x123],r25d	 #APX_F OPC_EVEX_EVEX
+	adc	r15,r31	 #APX_F OPC_EVEX_EVEX
+	adc	QWORD PTR [r31+rax*4+0x123],r31	 #APX_F OPC_EVEX_EVEX
+	adc	r16b,BYTE PTR [r16+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	adc	r31,QWORD PTR [r16+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	adc	r18w,WORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	adc	r25d,DWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	adc	r31,QWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	adcx	edx,r25d	 #APX_F OPC_EVEX_EVEX
+	adcx	r15,r31	 #APX_F OPC_EVEX_EVEX
+	adcx	r31,QWORD PTR [r16+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	adcx	r25d,DWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	add	r16b,0x7b	 #APX_F OPC_EVEX_EVEX
+	add	r18w,0x7b	 #APX_F OPC_EVEX_EVEX
+	add	r25d,0x7b	 #APX_F OPC_EVEX_EVEX
+	add	r31,0x7b	 #APX_F OPC_EVEX_EVEX
+	add	BYTE PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	add	WORD PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	add	DWORD PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	add	QWORD PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	add	WORD PTR [r31+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	add	DWORD PTR [r31+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	add	QWORD PTR [r31+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	add	dl,r16b	 #APX_F OPC_EVEX_EVEX
+	add	BYTE PTR [r31+rax*4+0x123],r16b	 #APX_F OPC_EVEX_EVEX
+	add	ax,r18w	 #APX_F OPC_EVEX_EVEX
+	add	WORD PTR [r16+rax*4+0x123],r18w	 #APX_F OPC_EVEX_EVEX
+	add	WORD PTR [r31+rax*4+0x123],r18w	 #APX_F OPC_EVEX_EVEX
+	add	edx,r25d	 #APX_F OPC_EVEX_EVEX
+	add	DWORD PTR [r31+rax*4+0x123],r25d	 #APX_F OPC_EVEX_EVEX
+	add	r15,r31	 #APX_F OPC_EVEX_EVEX
+	add	QWORD PTR [r31+rax*4+0x123],r31	 #APX_F OPC_EVEX_EVEX
+	add	r16b,BYTE PTR [r16+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	add	r31,QWORD PTR [r16+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	add	r18w,WORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	add	r25d,DWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	add	r31,QWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	adox	edx,r25d	 #APX_F OPC_EVEX_EVEX
+	adox	r15,r31	 #APX_F OPC_EVEX_EVEX
+	adox	r31,QWORD PTR [r16+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	adox	r25d,DWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	aesdec128kl	xmm22,[r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	aesdec256kl	xmm22,[r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	aesdecwide128kl	[r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	aesdecwide256kl	[r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	aesenc128kl	xmm22,[r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	aesenc256kl	xmm22,[r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	aesencwide128kl	[r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	aesencwide256kl	[r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	and	r16b,0x7b	 #APX_F OPC_EVEX_EVEX
+	and	r18w,0x7b	 #APX_F OPC_EVEX_EVEX
+	and	r25d,0x7b	 #APX_F OPC_EVEX_EVEX
+	and	r31,0x7b	 #APX_F OPC_EVEX_EVEX
+	and	BYTE PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	and	WORD PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	and	DWORD PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	and	QWORD PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	and	WORD PTR [r31+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	and	DWORD PTR [r31+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	and	QWORD PTR [r31+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	and	dl,r16b	 #APX_F OPC_EVEX_EVEX
+	and	BYTE PTR [r31+rax*4+0x123],r16b	 #APX_F OPC_EVEX_EVEX
+	and	ax,r18w	 #APX_F OPC_EVEX_EVEX
+	and	WORD PTR [r16+rax*4+0x123],r18w	 #APX_F OPC_EVEX_EVEX
+	and	WORD PTR [r31+rax*4+0x123],r18w	 #APX_F OPC_EVEX_EVEX
+	and	edx,r25d	 #APX_F OPC_EVEX_EVEX
+	and	DWORD PTR [r31+rax*4+0x123],r25d	 #APX_F OPC_EVEX_EVEX
+	and	r15,r31	 #APX_F OPC_EVEX_EVEX
+	and	QWORD PTR [r31+rax*4+0x123],r31	 #APX_F OPC_EVEX_EVEX
+	and	r16b,BYTE PTR [r16+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	and	r31,QWORD PTR [r16+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	and	r18w,WORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	and	r25d,DWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	and	r31,QWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	andn	r10d,edx,r25d	 #APX_F OPC_EVEX_EVEX
+	andn	r11,r15,r31	 #APX_F OPC_EVEX_EVEX
+	andn	edx,r25d,DWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	andn	r15,r31,QWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	aor	DWORD PTR [r31+rax*4+0x123],r25d	 #APX_F OPC_EVEX_EVEX
+	aor	QWORD PTR [r31+rax*4+0x123],r31	 #APX_F OPC_EVEX_EVEX
+	axor	DWORD PTR [r31+rax*4+0x123],r25d	 #APX_F OPC_EVEX_EVEX
+	axor	QWORD PTR [r31+rax*4+0x123],r31	 #APX_F OPC_EVEX_EVEX
+	bextr	r10d,edx,r25d	 #APX_F OPC_EVEX_EVEX
+	bextr	edx,DWORD PTR [r31+rax*4+0x123],r25d	 #APX_F OPC_EVEX_EVEX
+	bextr	r11,r15,r31	 #APX_F OPC_EVEX_EVEX
+	bextr	r15,QWORD PTR [r31+rax*4+0x123],r31	 #APX_F OPC_EVEX_EVEX
+	blsi	edx,r25d	 #APX_F OPC_EVEX_EVEX
+	blsi	r15,r31	 #APX_F OPC_EVEX_EVEX
+	blsi	r25d,DWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	blsi	r31,QWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	blsmsk	edx,r25d	 #APX_F OPC_EVEX_EVEX
+	blsmsk	r15,r31	 #APX_F OPC_EVEX_EVEX
+	blsmsk	r25d,DWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	blsmsk	r31,QWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	blsr	edx,r25d	 #APX_F OPC_EVEX_EVEX
+	blsr	r15,r31	 #APX_F OPC_EVEX_EVEX
+	blsr	r25d,DWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	blsr	r31,QWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	bzhi	r10d,edx,r25d	 #APX_F OPC_EVEX_EVEX
+	bzhi	edx,DWORD PTR [r31+rax*4+0x123],r25d	 #APX_F OPC_EVEX_EVEX
+	bzhi	r11,r15,r31	 #APX_F OPC_EVEX_EVEX
+	bzhi	r15,QWORD PTR [r31+rax*4+0x123],r31	 #APX_F OPC_EVEX_EVEX
+	cmpbexadd	DWORD PTR [r31+rax*4+0x123],edx,r25d	 #APX_F OPC_EVEX_EVEX
+	cmpbexadd	QWORD PTR [r31+rax*4+0x123],r15,r31	 #APX_F OPC_EVEX_EVEX
+	cmpbxadd	DWORD PTR [r31+rax*4+0x123],edx,r25d	 #APX_F OPC_EVEX_EVEX
+	cmpbxadd	QWORD PTR [r31+rax*4+0x123],r15,r31	 #APX_F OPC_EVEX_EVEX
+	cmplxadd	DWORD PTR [r31+rax*4+0x123],edx,r25d	 #APX_F OPC_EVEX_EVEX
+	cmplxadd	QWORD PTR [r31+rax*4+0x123],r15,r31	 #APX_F OPC_EVEX_EVEX
+	cmpnbexadd	DWORD PTR [r31+rax*4+0x123],edx,r25d	 #APX_F OPC_EVEX_EVEX
+	cmpnbexadd	QWORD PTR [r31+rax*4+0x123],r15,r31	 #APX_F OPC_EVEX_EVEX
+	cmpnbxadd	DWORD PTR [r31+rax*4+0x123],edx,r25d	 #APX_F OPC_EVEX_EVEX
+	cmpnbxadd	QWORD PTR [r31+rax*4+0x123],r15,r31	 #APX_F OPC_EVEX_EVEX
+	cmpnlexadd	DWORD PTR [r31+rax*4+0x123],edx,r25d	 #APX_F OPC_EVEX_EVEX
+	cmpnlexadd	QWORD PTR [r31+rax*4+0x123],r15,r31	 #APX_F OPC_EVEX_EVEX
+	cmpnlxadd	DWORD PTR [r31+rax*4+0x123],edx,r25d	 #APX_F OPC_EVEX_EVEX
+	cmpnlxadd	QWORD PTR [r31+rax*4+0x123],r15,r31	 #APX_F OPC_EVEX_EVEX
+	cmpnoxadd	DWORD PTR [r31+rax*4+0x123],edx,r25d	 #APX_F OPC_EVEX_EVEX
+	cmpnoxadd	QWORD PTR [r31+rax*4+0x123],r15,r31	 #APX_F OPC_EVEX_EVEX
+	cmpnpxadd	DWORD PTR [r31+rax*4+0x123],edx,r25d	 #APX_F OPC_EVEX_EVEX
+	cmpnpxadd	QWORD PTR [r31+rax*4+0x123],r15,r31	 #APX_F OPC_EVEX_EVEX
+	cmpnsxadd	DWORD PTR [r31+rax*4+0x123],edx,r25d	 #APX_F OPC_EVEX_EVEX
+	cmpnsxadd	QWORD PTR [r31+rax*4+0x123],r15,r31	 #APX_F OPC_EVEX_EVEX
+	cmpnzxadd	DWORD PTR [r31+rax*4+0x123],edx,r25d	 #APX_F OPC_EVEX_EVEX
+	cmpnzxadd	QWORD PTR [r31+rax*4+0x123],r15,r31	 #APX_F OPC_EVEX_EVEX
+	cmpoxadd	DWORD PTR [r31+rax*4+0x123],edx,r25d	 #APX_F OPC_EVEX_EVEX
+	cmpoxadd	QWORD PTR [r31+rax*4+0x123],r15,r31	 #APX_F OPC_EVEX_EVEX
+	cmppxadd	DWORD PTR [r31+rax*4+0x123],edx,r25d	 #APX_F OPC_EVEX_EVEX
+	cmppxadd	QWORD PTR [r31+rax*4+0x123],r15,r31	 #APX_F OPC_EVEX_EVEX
+	cmpsxadd	DWORD PTR [r31+rax*4+0x123],edx,r25d	 #APX_F OPC_EVEX_EVEX
+	cmpsxadd	QWORD PTR [r31+rax*4+0x123],r15,r31	 #APX_F OPC_EVEX_EVEX
+	cmpzxadd	DWORD PTR [r31+rax*4+0x123],edx,r25d	 #APX_F OPC_EVEX_EVEX
+	cmpzxadd	QWORD PTR [r31+rax*4+0x123],r15,r31	 #APX_F OPC_EVEX_EVEX
+	dec	r16b	 #APX_F OPC_EVEX_EVEX
+	dec	r18w	 #APX_F OPC_EVEX_EVEX
+	dec	r25d	 #APX_F OPC_EVEX_EVEX
+	dec	r31	 #APX_F OPC_EVEX_EVEX
+	dec	WORD PTR [r16+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	dec	DWORD PTR [r16+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	dec	QWORD PTR [r16+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	dec	BYTE PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	dec	WORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	dec	DWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	dec	QWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	div	r16b	 #APX_F OPC_EVEX_EVEX
+	div	r18w	 #APX_F OPC_EVEX_EVEX
+	div	r25d	 #APX_F OPC_EVEX_EVEX
+	div	r31	 #APX_F OPC_EVEX_EVEX
+	div	WORD PTR [r16+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	div	DWORD PTR [r16+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	div	QWORD PTR [r16+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	div	BYTE PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	div	WORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	div	DWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	div	QWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	encodekey128	edx,r25d	 #APX_F OPC_EVEX_EVEX
+	encodekey256	edx,r25d	 #APX_F OPC_EVEX_EVEX
+	enqcmd	r25d,[r31d+eax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	enqcmd	r31,[r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	enqcmds	r25d,[r31d+eax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	enqcmds	r31,[r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	idiv	r16b	 #APX_F OPC_EVEX_EVEX
+	idiv	r18w	 #APX_F OPC_EVEX_EVEX
+	idiv	r25d	 #APX_F OPC_EVEX_EVEX
+	idiv	r31	 #APX_F OPC_EVEX_EVEX
+	idiv	WORD PTR [r16+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	idiv	DWORD PTR [r16+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	idiv	QWORD PTR [r16+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	idiv	BYTE PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	idiv	WORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	idiv	DWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	idiv	QWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	imul	ax,r18w,0x7b	 #APX_F
+	imul	edx,r25d,0x7b	 #APX_F
+	imul	r15,r31,0x7b	 #APX_F
+	imul	r25d,DWORD PTR [r16+rax*4+0x123],0x7b	 #APX_F
+	imul	r31,QWORD PTR [r16+rax*4+0x123],0x7b	 #APX_F
+	imul	r18w,WORD PTR [r31+rax*4+0x123],0x7b	 #APX_F
+	imul	r25d,DWORD PTR [r31+rax*4+0x123],0x7b	 #APX_F
+	imul	r31,QWORD PTR [r31+rax*4+0x123],0x7b	 #APX_F
+	imul	r16b	 #APX_F OPC_EVEX_EVEX
+	imul	r18w	 #APX_F OPC_EVEX_EVEX
+	imul	ax,r18w	 #APX_F OPC_EVEX_EVEX
+	imul	r25d	 #APX_F OPC_EVEX_EVEX
+	imul	edx,r25d	 #APX_F OPC_EVEX_EVEX
+	imul	r31	 #APX_F OPC_EVEX_EVEX
+	imul	r15,r31	 #APX_F OPC_EVEX_EVEX
+	imul	BYTE PTR [r16+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	imul	WORD PTR [r16+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	imul	DWORD PTR [r16+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	imul	r18w,WORD PTR [r16+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	imul	r25d,DWORD PTR [r16+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	imul	r31,QWORD PTR [r16+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	imul	QWORD PTR [r16+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	imul	WORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	imul	DWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	imul	QWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	inc	r16b	 #APX_F OPC_EVEX_EVEX
+	inc	r18w	 #APX_F OPC_EVEX_EVEX
+	inc	r25d	 #APX_F OPC_EVEX_EVEX
+	inc	r31	 #APX_F OPC_EVEX_EVEX
+	inc	WORD PTR [r16+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	inc	DWORD PTR [r16+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	inc	QWORD PTR [r16+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	inc	BYTE PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	inc	WORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	inc	DWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	inc	QWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	invept	r31,OWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	invpcid	r31,[r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	invvpid	r31,OWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	kmovb	k5,k3	 #APX_F OPC_EVEX_EVEX
+	kmovb	r25d,k5	 #APX_F OPC_EVEX_EVEX
+	kmovb	BYTE PTR [r31+rax*4+0x123],k5	 #APX_F OPC_EVEX_EVEX
+	kmovb	k5,r25d	 #APX_F OPC_EVEX_EVEX
+	kmovb	k5,BYTE PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	kmovd	k5,k3	 #APX_F OPC_EVEX_EVEX
+	kmovd	r25d,k5	 #APX_F OPC_EVEX_EVEX
+	kmovd	DWORD PTR [r31+rax*4+0x123],k5	 #APX_F OPC_EVEX_EVEX
+	kmovd	k5,r25d	 #APX_F OPC_EVEX_EVEX
+	kmovd	k5,DWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	kmovq	k5,k3	 #APX_F OPC_EVEX_EVEX
+	kmovq	r31,k5	 #APX_F OPC_EVEX_EVEX
+	kmovq	QWORD PTR [r31+rax*4+0x123],k5	 #APX_F OPC_EVEX_EVEX
+	kmovq	k5,r31	 #APX_F OPC_EVEX_EVEX
+	kmovq	k5,QWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	kmovw	k5,k3	 #APX_F OPC_EVEX_EVEX
+	kmovw	r25d,k5	 #APX_F OPC_EVEX_EVEX
+	kmovw	WORD PTR [r31+rax*4+0x123],k5	 #APX_F OPC_EVEX_EVEX
+	kmovw	k5,r25d	 #APX_F OPC_EVEX_EVEX
+	kmovw	k5,WORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	ldtilecfg	[r31+rax*4+0x123]	 #APX_F
+	lzcnt	ax,r18w	 #APX_F OPC_EVEX_EVEX
+	lzcnt	edx,r25d	 #APX_F OPC_EVEX_EVEX
+	lzcnt	r15,r31	 #APX_F OPC_EVEX_EVEX
+	lzcnt	r18w,WORD PTR [r16+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	lzcnt	r31,QWORD PTR [r16+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	lzcnt	r18w,WORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	lzcnt	r25d,DWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	movbe	ax,r18w	 #APX_F OPC_EVEX_EVEX
+	movbe	WORD PTR [r16+rax*4+0x123],r18w	 #APX_F OPC_EVEX_EVEX
+	movbe	WORD PTR [r31+rax*4+0x123],r18w	 #APX_F OPC_EVEX_EVEX
+	movbe	edx,r25d	 #APX_F OPC_EVEX_EVEX
+	movbe	DWORD PTR [r16+rax*4+0x123],r25d	 #APX_F OPC_EVEX_EVEX
+	movbe	r15,r31	 #APX_F OPC_EVEX_EVEX
+	movbe	QWORD PTR [r16+rax*4+0x123],r31	 #APX_F OPC_EVEX_EVEX
+	movbe	QWORD PTR [r31+rax*4+0x123],r31	 #APX_F OPC_EVEX_EVEX
+	movbe	r31,QWORD PTR [r16+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	movbe	r18w,WORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	movbe	r25d,DWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	movdir64b	r25d,[r31d+eax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	movdir64b	r31,[r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	movdiri	DWORD PTR [r31+rax*4+0x123],r25d	 #APX_F OPC_EVEX_EVEX
+	movdiri	QWORD PTR [r31+rax*4+0x123],r31	 #APX_F OPC_EVEX_EVEX
+	mul	r16b	 #APX_F OPC_EVEX_EVEX
+	mul	r18w	 #APX_F OPC_EVEX_EVEX
+	mul	r25d	 #APX_F OPC_EVEX_EVEX
+	mul	r31	 #APX_F OPC_EVEX_EVEX
+	mul	WORD PTR [r16+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	mul	DWORD PTR [r16+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	mul	QWORD PTR [r16+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	mul	BYTE PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	mul	WORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	mul	DWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	mul	QWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	mulx	r10d,edx,r25d	 #APX_F OPC_EVEX_EVEX
+	mulx	r11,r15,r31	 #APX_F OPC_EVEX_EVEX
+	mulx	edx,r25d,DWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	mulx	r15,r31,QWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	neg	r16b	 #APX_F OPC_EVEX_EVEX
+	neg	r18w	 #APX_F OPC_EVEX_EVEX
+	neg	r25d	 #APX_F OPC_EVEX_EVEX
+	neg	r31	 #APX_F OPC_EVEX_EVEX
+	neg	WORD PTR [r16+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	neg	DWORD PTR [r16+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	neg	QWORD PTR [r16+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	neg	BYTE PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	neg	WORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	neg	DWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	neg	QWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	not	r16b	 #APX_F OPC_EVEX_EVEX
+	not	r18w	 #APX_F OPC_EVEX_EVEX
+	not	r25d	 #APX_F OPC_EVEX_EVEX
+	not	r31	 #APX_F OPC_EVEX_EVEX
+	not	WORD PTR [r16+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	not	DWORD PTR [r16+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	not	QWORD PTR [r16+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	not	BYTE PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	not	WORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	not	DWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	not	QWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	or	r16b,0x7b	 #APX_F OPC_EVEX_EVEX
+	or	r18w,0x7b	 #APX_F OPC_EVEX_EVEX
+	or	r25d,0x7b	 #APX_F OPC_EVEX_EVEX
+	or	r31,0x7b	 #APX_F OPC_EVEX_EVEX
+	or	BYTE PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	or	WORD PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	or	DWORD PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	or	QWORD PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	or	WORD PTR [r31+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	or	DWORD PTR [r31+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	or	QWORD PTR [r31+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	or	dl,r16b	 #APX_F OPC_EVEX_EVEX
+	or	BYTE PTR [r31+rax*4+0x123],r16b	 #APX_F OPC_EVEX_EVEX
+	or	ax,r18w	 #APX_F OPC_EVEX_EVEX
+	or	WORD PTR [r16+rax*4+0x123],r18w	 #APX_F OPC_EVEX_EVEX
+	or	WORD PTR [r31+rax*4+0x123],r18w	 #APX_F OPC_EVEX_EVEX
+	or	edx,r25d	 #APX_F OPC_EVEX_EVEX
+	or	DWORD PTR [r31+rax*4+0x123],r25d	 #APX_F OPC_EVEX_EVEX
+	or	r15,r31	 #APX_F OPC_EVEX_EVEX
+	or	QWORD PTR [r31+rax*4+0x123],r31	 #APX_F OPC_EVEX_EVEX
+	or	r16b,BYTE PTR [r16+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	or	r31,QWORD PTR [r16+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	or	r18w,WORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	or	r25d,DWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	or	r31,QWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	pdep	r10d,edx,r25d	 #APX_F OPC_EVEX_EVEX
+	pdep	r11,r15,r31	 #APX_F OPC_EVEX_EVEX
+	pdep	edx,r25d,DWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	pdep	r15,r31,QWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	pext	r10d,edx,r25d	 #APX_F OPC_EVEX_EVEX
+	pext	r11,r15,r31	 #APX_F OPC_EVEX_EVEX
+	pext	edx,r25d,DWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	pext	r15,r31,QWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	popcnt	ax,r18w	 #APX_F OPC_EVEX_EVEX
+	popcnt	edx,r25d	 #APX_F OPC_EVEX_EVEX
+	popcnt	r15,r31	 #APX_F OPC_EVEX_EVEX
+	popcnt	r18w,WORD PTR [r16+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	popcnt	r31,QWORD PTR [r16+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	popcnt	r18w,WORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	popcnt	r25d,DWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	rcl	r16b,0x7b	 #APX_F OPC_EVEX_EVEX
+	rcl	r18w,0x7b	 #APX_F OPC_EVEX_EVEX
+	rcl	r25d,0x7b	 #APX_F OPC_EVEX_EVEX
+	rcl	r31,0x7b	 #APX_F OPC_EVEX_EVEX
+	rcl	BYTE PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	rcl	WORD PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	rcl	DWORD PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	rcl	QWORD PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	rcl	WORD PTR [r31+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	rcl	DWORD PTR [r31+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	rcl	QWORD PTR [r31+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	rcl	r16b,1	 #APX_F OPC_EVEX_EVEX
+	rcl	r18w,1	 #APX_F OPC_EVEX_EVEX
+	rcl	r25d,1	 #APX_F OPC_EVEX_EVEX
+	rcl	r31,1	 #APX_F OPC_EVEX_EVEX
+	rcl	BYTE PTR [r16+rax*4+0x123],1	 #APX_F OPC_EVEX_EVEX
+	rcl	WORD PTR [r16+rax*4+0x123],1	 #APX_F OPC_EVEX_EVEX
+	rcl	DWORD PTR [r16+rax*4+0x123],1	 #APX_F OPC_EVEX_EVEX
+	rcl	QWORD PTR [r16+rax*4+0x123],1	 #APX_F OPC_EVEX_EVEX
+	rcl	WORD PTR [r31+rax*4+0x123],1	 #APX_F OPC_EVEX_EVEX
+	rcl	DWORD PTR [r31+rax*4+0x123],1	 #APX_F OPC_EVEX_EVEX
+	rcl	QWORD PTR [r31+rax*4+0x123],1	 #APX_F OPC_EVEX_EVEX
+	rcl	r16b,cl	 #APX_F OPC_EVEX_EVEX
+	rcl	r18w,cl	 #APX_F OPC_EVEX_EVEX
+	rcl	r25d,cl	 #APX_F OPC_EVEX_EVEX
+	rcl	r31,cl	 #APX_F OPC_EVEX_EVEX
+	rcl	BYTE PTR [r16+rax*4+0x123],cl	 #APX_F OPC_EVEX_EVEX
+	rcl	WORD PTR [r16+rax*4+0x123],cl	 #APX_F OPC_EVEX_EVEX
+	rcl	DWORD PTR [r16+rax*4+0x123],cl	 #APX_F OPC_EVEX_EVEX
+	rcl	QWORD PTR [r16+rax*4+0x123],cl	 #APX_F OPC_EVEX_EVEX
+	rcl	WORD PTR [r31+rax*4+0x123],cl	 #APX_F OPC_EVEX_EVEX
+	rcl	DWORD PTR [r31+rax*4+0x123],cl	 #APX_F OPC_EVEX_EVEX
+	rcl	QWORD PTR [r31+rax*4+0x123],cl	 #APX_F OPC_EVEX_EVEX
+	rcr	r16b,0x7b	 #APX_F OPC_EVEX_EVEX
+	rcr	r18w,0x7b	 #APX_F OPC_EVEX_EVEX
+	rcr	r25d,0x7b	 #APX_F OPC_EVEX_EVEX
+	rcr	r31,0x7b	 #APX_F OPC_EVEX_EVEX
+	rcr	BYTE PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	rcr	WORD PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	rcr	DWORD PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	rcr	QWORD PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	rcr	WORD PTR [r31+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	rcr	DWORD PTR [r31+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	rcr	QWORD PTR [r31+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	rcr	r16b,1	 #APX_F OPC_EVEX_EVEX
+	rcr	r18w,1	 #APX_F OPC_EVEX_EVEX
+	rcr	r25d,1	 #APX_F OPC_EVEX_EVEX
+	rcr	r31,1	 #APX_F OPC_EVEX_EVEX
+	rcr	BYTE PTR [r16+rax*4+0x123],1	 #APX_F OPC_EVEX_EVEX
+	rcr	WORD PTR [r16+rax*4+0x123],1	 #APX_F OPC_EVEX_EVEX
+	rcr	DWORD PTR [r16+rax*4+0x123],1	 #APX_F OPC_EVEX_EVEX
+	rcr	QWORD PTR [r16+rax*4+0x123],1	 #APX_F OPC_EVEX_EVEX
+	rcr	WORD PTR [r31+rax*4+0x123],1	 #APX_F OPC_EVEX_EVEX
+	rcr	DWORD PTR [r31+rax*4+0x123],1	 #APX_F OPC_EVEX_EVEX
+	rcr	QWORD PTR [r31+rax*4+0x123],1	 #APX_F OPC_EVEX_EVEX
+	rcr	r16b,cl	 #APX_F OPC_EVEX_EVEX
+	rcr	r18w,cl	 #APX_F OPC_EVEX_EVEX
+	rcr	r25d,cl	 #APX_F OPC_EVEX_EVEX
+	rcr	r31,cl	 #APX_F OPC_EVEX_EVEX
+	rcr	BYTE PTR [r16+rax*4+0x123],cl	 #APX_F OPC_EVEX_EVEX
+	rcr	WORD PTR [r16+rax*4+0x123],cl	 #APX_F OPC_EVEX_EVEX
+	rcr	DWORD PTR [r16+rax*4+0x123],cl	 #APX_F OPC_EVEX_EVEX
+	rcr	QWORD PTR [r16+rax*4+0x123],cl	 #APX_F OPC_EVEX_EVEX
+	rcr	WORD PTR [r31+rax*4+0x123],cl	 #APX_F OPC_EVEX_EVEX
+	rcr	DWORD PTR [r31+rax*4+0x123],cl	 #APX_F OPC_EVEX_EVEX
+	rcr	QWORD PTR [r31+rax*4+0x123],cl	 #APX_F OPC_EVEX_EVEX
+	rol	r16b,0x7b	 #APX_F OPC_EVEX_EVEX
+	rol	r18w,0x7b	 #APX_F OPC_EVEX_EVEX
+	rol	r25d,0x7b	 #APX_F OPC_EVEX_EVEX
+	rol	r31,0x7b	 #APX_F OPC_EVEX_EVEX
+	rol	BYTE PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	rol	WORD PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	rol	DWORD PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	rol	QWORD PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	rol	WORD PTR [r31+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	rol	DWORD PTR [r31+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	rol	QWORD PTR [r31+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	rol	r16b,1	 #APX_F OPC_EVEX_EVEX
+	rol	r18w,1	 #APX_F OPC_EVEX_EVEX
+	rol	r25d,1	 #APX_F OPC_EVEX_EVEX
+	rol	r31,1	 #APX_F OPC_EVEX_EVEX
+	rol	BYTE PTR [r16+rax*4+0x123],1	 #APX_F OPC_EVEX_EVEX
+	rol	WORD PTR [r16+rax*4+0x123],1	 #APX_F OPC_EVEX_EVEX
+	rol	DWORD PTR [r16+rax*4+0x123],1	 #APX_F OPC_EVEX_EVEX
+	rol	QWORD PTR [r16+rax*4+0x123],1	 #APX_F OPC_EVEX_EVEX
+	rol	WORD PTR [r31+rax*4+0x123],1	 #APX_F OPC_EVEX_EVEX
+	rol	DWORD PTR [r31+rax*4+0x123],1	 #APX_F OPC_EVEX_EVEX
+	rol	QWORD PTR [r31+rax*4+0x123],1	 #APX_F OPC_EVEX_EVEX
+	rol	r16b,cl	 #APX_F OPC_EVEX_EVEX
+	rol	r18w,cl	 #APX_F OPC_EVEX_EVEX
+	rol	r25d,cl	 #APX_F OPC_EVEX_EVEX
+	rol	r31,cl	 #APX_F OPC_EVEX_EVEX
+	rol	BYTE PTR [r16+rax*4+0x123],cl	 #APX_F OPC_EVEX_EVEX
+	rol	WORD PTR [r16+rax*4+0x123],cl	 #APX_F OPC_EVEX_EVEX
+	rol	DWORD PTR [r16+rax*4+0x123],cl	 #APX_F OPC_EVEX_EVEX
+	rol	QWORD PTR [r16+rax*4+0x123],cl	 #APX_F OPC_EVEX_EVEX
+	rol	WORD PTR [r31+rax*4+0x123],cl	 #APX_F OPC_EVEX_EVEX
+	rol	DWORD PTR [r31+rax*4+0x123],cl	 #APX_F OPC_EVEX_EVEX
+	rol	QWORD PTR [r31+rax*4+0x123],cl	 #APX_F OPC_EVEX_EVEX
+	ror	r16b,0x7b	 #APX_F OPC_EVEX_EVEX
+	ror	r18w,0x7b	 #APX_F OPC_EVEX_EVEX
+	ror	r25d,0x7b	 #APX_F OPC_EVEX_EVEX
+	ror	r31,0x7b	 #APX_F OPC_EVEX_EVEX
+	ror	BYTE PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	ror	WORD PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	ror	DWORD PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	ror	QWORD PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	ror	WORD PTR [r31+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	ror	DWORD PTR [r31+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	ror	QWORD PTR [r31+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	ror	r16b,1	 #APX_F OPC_EVEX_EVEX
+	ror	r18w,1	 #APX_F OPC_EVEX_EVEX
+	ror	r25d,1	 #APX_F OPC_EVEX_EVEX
+	ror	r31,1	 #APX_F OPC_EVEX_EVEX
+	ror	BYTE PTR [r16+rax*4+0x123],1	 #APX_F OPC_EVEX_EVEX
+	ror	WORD PTR [r16+rax*4+0x123],1	 #APX_F OPC_EVEX_EVEX
+	ror	DWORD PTR [r16+rax*4+0x123],1	 #APX_F OPC_EVEX_EVEX
+	ror	QWORD PTR [r16+rax*4+0x123],1	 #APX_F OPC_EVEX_EVEX
+	ror	WORD PTR [r31+rax*4+0x123],1	 #APX_F OPC_EVEX_EVEX
+	ror	DWORD PTR [r31+rax*4+0x123],1	 #APX_F OPC_EVEX_EVEX
+	ror	QWORD PTR [r31+rax*4+0x123],1	 #APX_F OPC_EVEX_EVEX
+	ror	r16b,cl	 #APX_F OPC_EVEX_EVEX
+	ror	r18w,cl	 #APX_F OPC_EVEX_EVEX
+	ror	r25d,cl	 #APX_F OPC_EVEX_EVEX
+	ror	r31,cl	 #APX_F OPC_EVEX_EVEX
+	ror	BYTE PTR [r16+rax*4+0x123],cl	 #APX_F OPC_EVEX_EVEX
+	ror	WORD PTR [r16+rax*4+0x123],cl	 #APX_F OPC_EVEX_EVEX
+	ror	DWORD PTR [r16+rax*4+0x123],cl	 #APX_F OPC_EVEX_EVEX
+	ror	QWORD PTR [r16+rax*4+0x123],cl	 #APX_F OPC_EVEX_EVEX
+	ror	WORD PTR [r31+rax*4+0x123],cl	 #APX_F OPC_EVEX_EVEX
+	ror	DWORD PTR [r31+rax*4+0x123],cl	 #APX_F OPC_EVEX_EVEX
+	ror	QWORD PTR [r31+rax*4+0x123],cl	 #APX_F OPC_EVEX_EVEX
+	rorx	edx,r25d,0x7b	 #APX_F OPC_EVEX_EVEX
+	rorx	r15,r31,0x7b	 #APX_F OPC_EVEX_EVEX
+	rorx	r25d,DWORD PTR [r31+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	rorx	r31,QWORD PTR [r31+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	sar	r16b,0x7b	 #APX_F OPC_EVEX_EVEX
+	sar	r18w,0x7b	 #APX_F OPC_EVEX_EVEX
+	sar	r25d,0x7b	 #APX_F OPC_EVEX_EVEX
+	sar	r31,0x7b	 #APX_F OPC_EVEX_EVEX
+	sar	BYTE PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	sar	WORD PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	sar	DWORD PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	sar	QWORD PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	sar	WORD PTR [r31+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	sar	DWORD PTR [r31+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	sar	QWORD PTR [r31+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	sar	r16b,1	 #APX_F OPC_EVEX_EVEX
+	sar	r18w,1	 #APX_F OPC_EVEX_EVEX
+	sar	r25d,1	 #APX_F OPC_EVEX_EVEX
+	sar	r31,1	 #APX_F OPC_EVEX_EVEX
+	sar	BYTE PTR [r16+rax*4+0x123],1	 #APX_F OPC_EVEX_EVEX
+	sar	WORD PTR [r16+rax*4+0x123],1	 #APX_F OPC_EVEX_EVEX
+	sar	DWORD PTR [r16+rax*4+0x123],1	 #APX_F OPC_EVEX_EVEX
+	sar	QWORD PTR [r16+rax*4+0x123],1	 #APX_F OPC_EVEX_EVEX
+	sar	WORD PTR [r31+rax*4+0x123],1	 #APX_F OPC_EVEX_EVEX
+	sar	DWORD PTR [r31+rax*4+0x123],1	 #APX_F OPC_EVEX_EVEX
+	sar	QWORD PTR [r31+rax*4+0x123],1	 #APX_F OPC_EVEX_EVEX
+	sar	r16b,cl	 #APX_F OPC_EVEX_EVEX
+	sar	r18w,cl	 #APX_F OPC_EVEX_EVEX
+	sar	r25d,cl	 #APX_F OPC_EVEX_EVEX
+	sar	r31,cl	 #APX_F OPC_EVEX_EVEX
+	sar	BYTE PTR [r16+rax*4+0x123],cl	 #APX_F OPC_EVEX_EVEX
+	sar	WORD PTR [r16+rax*4+0x123],cl	 #APX_F OPC_EVEX_EVEX
+	sar	DWORD PTR [r16+rax*4+0x123],cl	 #APX_F OPC_EVEX_EVEX
+	sar	QWORD PTR [r16+rax*4+0x123],cl	 #APX_F OPC_EVEX_EVEX
+	sar	WORD PTR [r31+rax*4+0x123],cl	 #APX_F OPC_EVEX_EVEX
+	sar	DWORD PTR [r31+rax*4+0x123],cl	 #APX_F OPC_EVEX_EVEX
+	sar	QWORD PTR [r31+rax*4+0x123],cl	 #APX_F OPC_EVEX_EVEX
+	sarx	r10d,edx,r25d	 #APX_F OPC_EVEX_EVEX
+	sarx	edx,DWORD PTR [r31+rax*4+0x123],r25d	 #APX_F OPC_EVEX_EVEX
+	sarx	r11,r15,r31	 #APX_F OPC_EVEX_EVEX
+	sarx	r15,QWORD PTR [r31+rax*4+0x123],r31	 #APX_F OPC_EVEX_EVEX
+	sbb	r16b,0x7b	 #APX_F OPC_EVEX_EVEX
+	sbb	r18w,0x7b	 #APX_F OPC_EVEX_EVEX
+	sbb	r25d,0x7b	 #APX_F OPC_EVEX_EVEX
+	sbb	r31,0x7b	 #APX_F OPC_EVEX_EVEX
+	sbb	BYTE PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	sbb	WORD PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	sbb	DWORD PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	sbb	QWORD PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	sbb	WORD PTR [r31+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	sbb	DWORD PTR [r31+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	sbb	QWORD PTR [r31+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	sbb	dl,r16b	 #APX_F OPC_EVEX_EVEX
+	sbb	BYTE PTR [r31+rax*4+0x123],r16b	 #APX_F OPC_EVEX_EVEX
+	sbb	ax,r18w	 #APX_F OPC_EVEX_EVEX
+	sbb	WORD PTR [r16+rax*4+0x123],r18w	 #APX_F OPC_EVEX_EVEX
+	sbb	WORD PTR [r31+rax*4+0x123],r18w	 #APX_F OPC_EVEX_EVEX
+	sbb	edx,r25d	 #APX_F OPC_EVEX_EVEX
+	sbb	DWORD PTR [r31+rax*4+0x123],r25d	 #APX_F OPC_EVEX_EVEX
+	sbb	r15,r31	 #APX_F OPC_EVEX_EVEX
+	sbb	QWORD PTR [r31+rax*4+0x123],r31	 #APX_F OPC_EVEX_EVEX
+	sbb	r16b,BYTE PTR [r16+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	sbb	r31,QWORD PTR [r16+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	sbb	r18w,WORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	sbb	r25d,DWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	sbb	r31,QWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	sha1msg1	xmm22,xmm23	 #APX_F OPC_EVEX_EVEX
+	sha1msg1	xmm22,XMMWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	sha1msg2	xmm22,xmm23	 #APX_F OPC_EVEX_EVEX
+	sha1msg2	xmm22,XMMWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	sha1nexte	xmm22,xmm23	 #APX_F OPC_EVEX_EVEX
+	sha1nexte	xmm22,XMMWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	sha1rnds4	xmm22,xmm23,0x7b	 #APX_F OPC_EVEX_EVEX
+	sha1rnds4	xmm22,XMMWORD PTR [r31+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	sha256msg1	xmm22,xmm23	 #APX_F OPC_EVEX_EVEX
+	sha256msg1	xmm22,XMMWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	sha256msg2	xmm22,xmm23	 #APX_F OPC_EVEX_EVEX
+	sha256msg2	xmm22,XMMWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	sha256rnds2	xmm12,XMMWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	shl	r16b,0x7b	 #APX_F OPC_EVEX_EVEX
+	shl	r18w,0x7b	 #APX_F OPC_EVEX_EVEX
+	shl	r25d,0x7b	 #APX_F OPC_EVEX_EVEX
+	shl	r31,0x7b	 #APX_F OPC_EVEX_EVEX
+	shl	BYTE PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	shl	WORD PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	shl	DWORD PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	shl	QWORD PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	shl	BYTE PTR [r31+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	shl	WORD PTR [r31+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	shl	DWORD PTR [r31+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	shl	QWORD PTR [r31+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	shl	r16b,1	 #APX_F OPC_EVEX_EVEX
+	shl	r18w,1	 #APX_F OPC_EVEX_EVEX
+	shl	r25d,1	 #APX_F OPC_EVEX_EVEX
+	shl	r31,1	 #APX_F OPC_EVEX_EVEX
+	shl	BYTE PTR [r16+rax*4+0x123],1	 #APX_F OPC_EVEX_EVEX
+	shl	WORD PTR [r16+rax*4+0x123],1	 #APX_F OPC_EVEX_EVEX
+	shl	DWORD PTR [r16+rax*4+0x123],1	 #APX_F OPC_EVEX_EVEX
+	shl	QWORD PTR [r16+rax*4+0x123],1	 #APX_F OPC_EVEX_EVEX
+	shl	WORD PTR [r31+rax*4+0x123],1	 #APX_F OPC_EVEX_EVEX
+	shl	DWORD PTR [r31+rax*4+0x123],1	 #APX_F OPC_EVEX_EVEX
+	shl	QWORD PTR [r31+rax*4+0x123],1	 #APX_F OPC_EVEX_EVEX
+	shl	r16b,cl	 #APX_F OPC_EVEX_EVEX
+	shl	r18w,cl	 #APX_F OPC_EVEX_EVEX
+	shl	r25d,cl	 #APX_F OPC_EVEX_EVEX
+	shl	r31,cl	 #APX_F OPC_EVEX_EVEX
+	shl	BYTE PTR [r16+rax*4+0x123],cl	 #APX_F OPC_EVEX_EVEX
+	shl	WORD PTR [r16+rax*4+0x123],cl	 #APX_F OPC_EVEX_EVEX
+	shl	DWORD PTR [r16+rax*4+0x123],cl	 #APX_F OPC_EVEX_EVEX
+	shl	QWORD PTR [r16+rax*4+0x123],cl	 #APX_F OPC_EVEX_EVEX
+	shl	BYTE PTR [r31+rax*4+0x123],cl	 #APX_F OPC_EVEX_EVEX
+	shl	WORD PTR [r31+rax*4+0x123],cl	 #APX_F OPC_EVEX_EVEX
+	shl	DWORD PTR [r31+rax*4+0x123],cl	 #APX_F OPC_EVEX_EVEX
+	shl	QWORD PTR [r31+rax*4+0x123],cl	 #APX_F OPC_EVEX_EVEX
+	shld	ax,r18w,0x7b	 #APX_F OPC_EVEX_EVEX
+	shld	WORD PTR [r31+rax*4+0x123],r18w,0x7b	 #APX_F OPC_EVEX_EVEX
+	shld	edx,r25d,0x7b	 #APX_F OPC_EVEX_EVEX
+	shld	DWORD PTR [r31+rax*4+0x123],r25d,0x7b	 #APX_F OPC_EVEX_EVEX
+	shld	r15,r31,0x7b	 #APX_F OPC_EVEX_EVEX
+	shld	QWORD PTR [r16+rax*4+0x123],r31,0x7b	 #APX_F OPC_EVEX_EVEX
+	shld	ax,r18w,cl	 #APX_F OPC_EVEX_EVEX
+	shld	WORD PTR [r16+rax*4+0x123],r18w,cl	 #APX_F OPC_EVEX_EVEX
+	shld	edx,r25d,cl	 #APX_F OPC_EVEX_EVEX
+	shld	DWORD PTR [r16+rax*4+0x123],r25d,cl	 #APX_F OPC_EVEX_EVEX
+	shld	DWORD PTR [r31+rax*4+0x123],r25d,cl	 #APX_F OPC_EVEX_EVEX
+	shld	r15,r31,cl	 #APX_F OPC_EVEX_EVEX
+	shld	QWORD PTR [r31+rax*4+0x123],r31,cl	 #APX_F OPC_EVEX_EVEX
+	shlx	r10d,edx,r25d	 #APX_F OPC_EVEX_EVEX
+	shlx	edx,DWORD PTR [r31+rax*4+0x123],r25d	 #APX_F OPC_EVEX_EVEX
+	shlx	r11,r15,r31	 #APX_F OPC_EVEX_EVEX
+	shlx	r15,QWORD PTR [r31+rax*4+0x123],r31	 #APX_F OPC_EVEX_EVEX
+	shr	r16b,0x7b	 #APX_F OPC_EVEX_EVEX
+	shr	r18w,0x7b	 #APX_F OPC_EVEX_EVEX
+	shr	r25d,0x7b	 #APX_F OPC_EVEX_EVEX
+	shr	r31,0x7b	 #APX_F OPC_EVEX_EVEX
+	shr	BYTE PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	shr	WORD PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	shr	DWORD PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	shr	QWORD PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	shr	WORD PTR [r31+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	shr	DWORD PTR [r31+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	shr	QWORD PTR [r31+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	shr	r16b,1	 #APX_F OPC_EVEX_EVEX
+	shr	r18w,1	 #APX_F OPC_EVEX_EVEX
+	shr	r25d,1	 #APX_F OPC_EVEX_EVEX
+	shr	r31,1	 #APX_F OPC_EVEX_EVEX
+	shr	BYTE PTR [r16+rax*4+0x123],1	 #APX_F OPC_EVEX_EVEX
+	shr	WORD PTR [r16+rax*4+0x123],1	 #APX_F OPC_EVEX_EVEX
+	shr	DWORD PTR [r16+rax*4+0x123],1	 #APX_F OPC_EVEX_EVEX
+	shr	QWORD PTR [r16+rax*4+0x123],1	 #APX_F OPC_EVEX_EVEX
+	shr	WORD PTR [r31+rax*4+0x123],1	 #APX_F OPC_EVEX_EVEX
+	shr	DWORD PTR [r31+rax*4+0x123],1	 #APX_F OPC_EVEX_EVEX
+	shr	QWORD PTR [r31+rax*4+0x123],1	 #APX_F OPC_EVEX_EVEX
+	shr	r16b,cl	 #APX_F OPC_EVEX_EVEX
+	shr	r18w,cl	 #APX_F OPC_EVEX_EVEX
+	shr	r25d,cl	 #APX_F OPC_EVEX_EVEX
+	shr	r31,cl	 #APX_F OPC_EVEX_EVEX
+	shr	BYTE PTR [r16+rax*4+0x123],cl	 #APX_F OPC_EVEX_EVEX
+	shr	WORD PTR [r16+rax*4+0x123],cl	 #APX_F OPC_EVEX_EVEX
+	shr	DWORD PTR [r16+rax*4+0x123],cl	 #APX_F OPC_EVEX_EVEX
+	shr	QWORD PTR [r16+rax*4+0x123],cl	 #APX_F OPC_EVEX_EVEX
+	shr	WORD PTR [r31+rax*4+0x123],cl	 #APX_F OPC_EVEX_EVEX
+	shr	DWORD PTR [r31+rax*4+0x123],cl	 #APX_F OPC_EVEX_EVEX
+	shr	QWORD PTR [r31+rax*4+0x123],cl	 #APX_F OPC_EVEX_EVEX
+	shrd	ax,r18w,0x7b	 #APX_F OPC_EVEX_EVEX
+	shrd	WORD PTR [r31+rax*4+0x123],r18w,0x7b	 #APX_F OPC_EVEX_EVEX
+	shrd	edx,r25d,0x7b	 #APX_F OPC_EVEX_EVEX
+	shrd	DWORD PTR [r31+rax*4+0x123],r25d,0x7b	 #APX_F OPC_EVEX_EVEX
+	shrd	r15,r31,0x7b	 #APX_F OPC_EVEX_EVEX
+	shrd	QWORD PTR [r16+rax*4+0x123],r31,0x7b	 #APX_F OPC_EVEX_EVEX
+	shrd	ax,r18w,cl	 #APX_F OPC_EVEX_EVEX
+	shrd	WORD PTR [r16+rax*4+0x123],r18w,cl	 #APX_F OPC_EVEX_EVEX
+	shrd	edx,r25d,cl	 #APX_F OPC_EVEX_EVEX
+	shrd	DWORD PTR [r16+rax*4+0x123],r25d,cl	 #APX_F OPC_EVEX_EVEX
+	shrd	DWORD PTR [r31+rax*4+0x123],r25d,cl	 #APX_F OPC_EVEX_EVEX
+	shrd	r15,r31,cl	 #APX_F OPC_EVEX_EVEX
+	shrd	QWORD PTR [r31+rax*4+0x123],r31,cl	 #APX_F OPC_EVEX_EVEX
+	shrx	r10d,edx,r25d	 #APX_F OPC_EVEX_EVEX
+	shrx	edx,DWORD PTR [r31+rax*4+0x123],r25d	 #APX_F OPC_EVEX_EVEX
+	shrx	r11,r15,r31	 #APX_F OPC_EVEX_EVEX
+	shrx	r15,QWORD PTR [r31+rax*4+0x123],r31	 #APX_F OPC_EVEX_EVEX
+	sttilecfg	[r31+rax*4+0x123]	 #APX_F
+	sub	r16b,0x7b	 #APX_F OPC_EVEX_EVEX
+	sub	r18w,0x7b	 #APX_F OPC_EVEX_EVEX
+	sub	r25d,0x7b	 #APX_F OPC_EVEX_EVEX
+	sub	r31,0x7b	 #APX_F OPC_EVEX_EVEX
+	sub	BYTE PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	sub	WORD PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	sub	DWORD PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	sub	QWORD PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	sub	WORD PTR [r31+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	sub	DWORD PTR [r31+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	sub	QWORD PTR [r31+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	sub	dl,r16b	 #APX_F OPC_EVEX_EVEX
+	sub	BYTE PTR [r31+rax*4+0x123],r16b	 #APX_F OPC_EVEX_EVEX
+	sub	ax,r18w	 #APX_F OPC_EVEX_EVEX
+	sub	WORD PTR [r16+rax*4+0x123],r18w	 #APX_F OPC_EVEX_EVEX
+	sub	WORD PTR [r31+rax*4+0x123],r18w	 #APX_F OPC_EVEX_EVEX
+	sub	edx,r25d	 #APX_F OPC_EVEX_EVEX
+	sub	DWORD PTR [r31+rax*4+0x123],r25d	 #APX_F OPC_EVEX_EVEX
+	sub	r15,r31	 #APX_F OPC_EVEX_EVEX
+	sub	QWORD PTR [r31+rax*4+0x123],r31	 #APX_F OPC_EVEX_EVEX
+	sub	r16b,BYTE PTR [r16+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	sub	r31,QWORD PTR [r16+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	sub	r18w,WORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	sub	r25d,DWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	sub	r31,QWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	tileloadd	tmm6,[r31+rax*4+0x123]	 #APX_F
+	tileloaddt1	tmm6,[r31+rax*4+0x123]	 #APX_F
+	tilestored	[r31+rax*4+0x123],tmm6	 #APX_F
+	tzcnt	ax,r18w	 #APX_F OPC_EVEX_EVEX
+	tzcnt	edx,r25d	 #APX_F OPC_EVEX_EVEX
+	tzcnt	r15,r31	 #APX_F OPC_EVEX_EVEX
+	tzcnt	r18w,WORD PTR [r16+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	tzcnt	r31,QWORD PTR [r16+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	tzcnt	r18w,WORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	tzcnt	r25d,DWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	wrssd	DWORD PTR [r31+rax*4+0x123],r25d	 #APX_F OPC_EVEX_EVEX
+	wrssq	QWORD PTR [r31+rax*4+0x123],r31	 #APX_F OPC_EVEX_EVEX
+	wrussd	DWORD PTR [r31+rax*4+0x123],r25d	 #APX_F OPC_EVEX_EVEX
+	wrussq	QWORD PTR [r31+rax*4+0x123],r31	 #APX_F OPC_EVEX_EVEX
+	xor	r16b,0x7b	 #APX_F OPC_EVEX_EVEX
+	xor	r18w,0x7b	 #APX_F OPC_EVEX_EVEX
+	xor	r25d,0x7b	 #APX_F OPC_EVEX_EVEX
+	xor	r31,0x7b	 #APX_F OPC_EVEX_EVEX
+	xor	BYTE PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	xor	WORD PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	xor	DWORD PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	xor	QWORD PTR [r16+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	xor	WORD PTR [r31+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	xor	DWORD PTR [r31+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	xor	QWORD PTR [r31+rax*4+0x123],0x7b	 #APX_F OPC_EVEX_EVEX
+	xor	dl,r16b	 #APX_F OPC_EVEX_EVEX
+	xor	BYTE PTR [r31+rax*4+0x123],r16b	 #APX_F OPC_EVEX_EVEX
+	xor	ax,r18w	 #APX_F OPC_EVEX_EVEX
+	xor	WORD PTR [r16+rax*4+0x123],r18w	 #APX_F OPC_EVEX_EVEX
+	xor	WORD PTR [r31+rax*4+0x123],r18w	 #APX_F OPC_EVEX_EVEX
+	xor	edx,r25d	 #APX_F OPC_EVEX_EVEX
+	xor	DWORD PTR [r31+rax*4+0x123],r25d	 #APX_F OPC_EVEX_EVEX
+	xor	r15,r31	 #APX_F OPC_EVEX_EVEX
+	xor	QWORD PTR [r31+rax*4+0x123],r31	 #APX_F OPC_EVEX_EVEX
+	xor	r16b,BYTE PTR [r16+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	xor	r31,QWORD PTR [r16+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	xor	r18w,WORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	xor	r25d,DWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
+	xor	r31,QWORD PTR [r31+rax*4+0x123]	 #APX_F OPC_EVEX_EVEX
diff --git a/gas/testsuite/gas/i386/x86-64-evex.d b/gas/testsuite/gas/i386/x86-64-evex.d
index 041747db892..5d974c312da 100644
--- a/gas/testsuite/gas/i386/x86-64-evex.d
+++ b/gas/testsuite/gas/i386/x86-64-evex.d
@@ -17,6 +17,6 @@  Disassembly of section .text:
  +[a-f0-9]+:	62 f1 d6 38 7b f0    	vcvtusi2ss %rax,\{rd-sae\},%xmm5,%xmm6
  +[a-f0-9]+:	62 f1 57 38 7b f0    	vcvtusi2sd %eax,\{rd-bad\},%xmm5,%xmm6
  +[a-f0-9]+:	62 f1 d7 38 7b f0    	vcvtusi2sd %rax,\{rd-sae\},%xmm5,%xmm6
- +[a-f0-9]+:	62 e1 7e 08 2d c0    	vcvtss2si %xmm0,\(bad\)
+ +[a-f0-9]+:	62 e1 7e 08 2d c0    	vcvtss2si %xmm0,%r16d
  +[a-f0-9]+:	62 e1 7c 08 c2 c0 00 	vcmpeqps %xmm0,%xmm0,\(bad\)
 #pass
diff --git a/gas/testsuite/gas/i386/x86-64-inval-movbe.l b/gas/testsuite/gas/i386/x86-64-inval-movbe.l
index 1c8ceb55c11..44ddfe4f034 100644
--- a/gas/testsuite/gas/i386/x86-64-inval-movbe.l
+++ b/gas/testsuite/gas/i386/x86-64-inval-movbe.l
@@ -1,29 +1,30 @@ 
 .*: Assembler messages:
-.*:4: Error: .*
 .*:5: Error: .*
 .*:6: Error: .*
 .*:7: Error: .*
 .*:8: Error: .*
-.*:11: Error: .*
+.*:9: Error: .*
 .*:12: Error: .*
 .*:13: Error: .*
 .*:14: Error: .*
 .*:15: Error: .*
+.*:16: Error: .*
 GAS LISTING .*
 
 
 [ 	]*1[ 	]+\# Check illegal movbe in 64bit mode\.
 [ 	]*2[ 	]+\.text
-[ 	]*3[ 	]+foo:
-[ 	]*4[ 	]+movbe	\(%rcx\),%bl
-[ 	]*5[ 	]+movbe	%ecx,%ebx
-[ 	]*6[ 	]+movbe	%bx,%rcx
-[ 	]*7[ 	]+movbe	%rbx,%rcx
-[ 	]*8[ 	]+movbe	%bl,\(%rcx\)
-[ 	]*9[ 	]+
-[ 	]*10[ 	]+\.intel_syntax noprefix
-[ 	]*11[ 	]+movbe bl, byte ptr \[rcx\]
-[ 	]*12[ 	]+movbe ebx, ecx
-[ 	]*13[ 	]+movbe rcx, bx
-[ 	]*14[ 	]+movbe rcx, rbx
-[ 	]*15[ 	]+movbe byte ptr \[rcx\], bl
+[ 	]*3[ 	]+\.arch \.noapx_f
+[ 	]*4[ 	]+foo:
+[ 	]*5[ 	]+movbe	\(%rcx\),%bl
+[ 	]*6[ 	]+movbe	%ecx,%ebx
+[ 	]*7[ 	]+movbe	%bx,%rcx
+[ 	]*8[ 	]+movbe	%rbx,%rcx
+[ 	]*9[ 	]+movbe	%bl,\(%rcx\)
+[ 	]*10[ 	]+
+[ 	]*11[ 	]+\.intel_syntax noprefix
+[ 	]*12[ 	]+movbe bl, byte ptr \[rcx\]
+[ 	]*13[ 	]+movbe ebx, ecx
+[ 	]*14[ 	]+movbe rcx, bx
+[ 	]*15[ 	]+movbe rcx, rbx
+[ 	]*16[ 	]+movbe byte ptr \[rcx\], bl
diff --git a/gas/testsuite/gas/i386/x86-64-inval-movbe.s b/gas/testsuite/gas/i386/x86-64-inval-movbe.s
index 38f09b14d64..380a9191b6a 100644
--- a/gas/testsuite/gas/i386/x86-64-inval-movbe.s
+++ b/gas/testsuite/gas/i386/x86-64-inval-movbe.s
@@ -1,5 +1,6 @@ 
 # Check illegal movbe in 64bit mode.
 	.text
+	.arch .noapx_f
 foo:
 	movbe	(%rcx),%bl
 	movbe	%ecx,%ebx
diff --git a/gas/testsuite/gas/i386/x86-64.exp b/gas/testsuite/gas/i386/x86-64.exp
index 07df89ba0cc..46fb3681528 100644
--- a/gas/testsuite/gas/i386/x86-64.exp
+++ b/gas/testsuite/gas/i386/x86-64.exp
@@ -361,8 +361,12 @@  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-promote-inval" "-al"
 run_dump_test "x86-64-apx-rex2"
 run_dump_test "x86-64-apx-rex2-inval"
+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"