instrs: Remove unused WIG specifier
If REX.W/VEX.W/EVEX.W is not used as opcode extension or as operand size, it is ignored automatically. No need to encode this.
This commit is contained in:
168
instrs.txt
168
instrs.txt
@@ -1037,8 +1037,8 @@ VEX.NP.0fc2 RVMI Vx Hx Wx Ib VCMPPS F=AVX
|
||||
VEX.66.0fc2 RVMI Vx Hx Wx Ib VCMPPD F=AVX
|
||||
VEX.F3.LIG.0fc2 RVMI Vdq Hdq Wss Ib VCMPSS F=AVX
|
||||
VEX.F2.LIG.0fc2 RVMI Vdq Hdq Wsd Ib VCMPSD F=AVX
|
||||
VEX.66.WIG.L0.0fc4 RVMI Vx Hx Ew Ib VPINSRW F=AVX ENC_NOSZ
|
||||
VEX.66.WIG.L0.0fc5/r RMI Gd Ux Ib - VPEXTRW F=AVX ENC_NOSZ
|
||||
VEX.66.L0.0fc4 RVMI Vx Hx Ew Ib VPINSRW F=AVX ENC_NOSZ
|
||||
VEX.66.L0.0fc5/r RMI Gd Ux Ib - VPEXTRW F=AVX ENC_NOSZ
|
||||
VEX.NP.0fc6 RVMI Vx Hx Wx Ib VSHUFPS F=AVX
|
||||
VEX.66.0fc6 RVMI Vx Hx Wx Ib VSHUFPD F=AVX
|
||||
VEX.66.0fd0 RVM Vx Hx Wx - VADDSUBPD F=AVX
|
||||
@@ -1244,10 +1244,10 @@ VEX.66.0f3a0c RVMI Vx Hx Wx Ib VBLENDPS F=AVX
|
||||
VEX.66.0f3a0d RVMI Vx Hx Wx Ib VBLENDPD F=AVX
|
||||
VEX.66.0f3a0e RVMI Vx Hx Wx Ib VPBLENDW F=AVX
|
||||
VEX.66.0f3a0f RVMI Vx Hx Wx Ib VPALIGNR F=AVX
|
||||
VEX.66.WIG.L0.0f3a14/m MRI Mb Vx Ib - VPEXTRB F=AVX ENC_NOSZ
|
||||
VEX.66.WIG.L0.0f3a14/r MRI Rd Vx Ib - VPEXTRB F=AVX ENC_NOSZ
|
||||
VEX.66.WIG.L0.0f3a15/m MRI Mw Vx Ib - VPEXTRW F=AVX ENC_NOSZ
|
||||
VEX.66.WIG.L0.0f3a15/r MRI Rd Vx Ib - VPEXTRW F=AVX ENC_NOSZ
|
||||
VEX.66.L0.0f3a14/m MRI Mb Vx Ib - VPEXTRB F=AVX ENC_NOSZ
|
||||
VEX.66.L0.0f3a14/r MRI Rd Vx Ib - VPEXTRB F=AVX ENC_NOSZ
|
||||
VEX.66.L0.0f3a15/m MRI Mw Vx Ib - VPEXTRW F=AVX ENC_NOSZ
|
||||
VEX.66.L0.0f3a15/r MRI Rd Vx Ib - VPEXTRW F=AVX ENC_NOSZ
|
||||
VEX.66.W0.L0.0f3a16 MRI Ed Vx Ib - VPEXTRD F=AVX ENC_NOSZ
|
||||
VEX.66.W1.L0.0f3a16 MRI Ed Vx Ib - VPEXTRD I64 F=AVX ENC_NOSZ
|
||||
VEX.66.W1.L0.0f3a16 MRI Eq Vx Ib - VPEXTRQ O64 F=AVX ENC_NOSZ
|
||||
@@ -1255,7 +1255,7 @@ VEX.66.L0.0f3a17 MRI Ed Vx Ib - VEXTRACTPS F=AVX ENC_NOSZ
|
||||
VEX.66.W0.L1.0f3a18 RVMI Vx Hx Wdq Ib VINSERTF128 F=AVX ENC_NOSZ
|
||||
VEX.66.W0.L1.0f3a19 MRI Wdq Vx Ib - VEXTRACTF128 F=AVX ENC_NOSZ
|
||||
VEX.66.W0.0f3a1d MRI Wh Hx Ib - VCVTPS2PH F=F16C
|
||||
VEX.66.WIG.L0.0f3a20 RVMI Vx Hx Eb Ib VPINSRB F=AVX ENC_NOSZ
|
||||
VEX.66.L0.0f3a20 RVMI Vx Hx Eb Ib VPINSRB F=AVX ENC_NOSZ
|
||||
VEX.66.L0.0f3a21 RVMI Vx Hx Wd Ib VINSERTPS F=AVX ENC_NOSZ
|
||||
VEX.66.W0.L0.0f3a22 RVMI Vdq Hdq Ey Ib VPINSRD F=AVX ENC_NOSZ
|
||||
VEX.66.W1.L0.0f3a22 RVMI Vdq Hdq Ey Ib VPINSRD I64 F=AVX ENC_NOSZ
|
||||
@@ -1681,10 +1681,10 @@ EVEX.NP.W0.0f58 RVM Vps Hps Wps - EVX_ADDPS+kbr F=AVX512F TUPLE_
|
||||
EVEX.66.W1.0f58 RVM Vpd Hpd Wpd - EVX_ADDPD+kbr F=AVX512F TUPLE_FULL_64
|
||||
EVEX.F3.W0.LIG.0f58 RVM Vdq Hdq Wss - EVX_ADDSS+kr F=AVX512F TUPLE1_SCALAR_32
|
||||
EVEX.F2.W1.LIG.0f58 RVM Vdq Hdq Wsd - EVX_ADDSD+kr F=AVX512F TUPLE1_SCALAR_64
|
||||
EVEX.66.WIG.0f38dc RVM Vx Hx Wx - EVX_AESENC F=AVX512F,VAES TUPLE_FULL_MEM
|
||||
EVEX.66.WIG.0f38dd RVM Vx Hx Wx - EVX_AESENCLAST F=AVX512F,VAES TUPLE_FULL_MEM
|
||||
EVEX.66.WIG.0f38de RVM Vx Hx Wx - EVX_AESDEC F=AVX512F,VAES TUPLE_FULL_MEM
|
||||
EVEX.66.WIG.0f38df RVM Vx Hx Wx - EVX_AESDECLAST F=AVX512F,VAES TUPLE_FULL_MEM
|
||||
EVEX.66.0f38dc RVM Vx Hx Wx - EVX_AESENC F=AVX512F,VAES TUPLE_FULL_MEM
|
||||
EVEX.66.0f38dd RVM Vx Hx Wx - EVX_AESENCLAST F=AVX512F,VAES TUPLE_FULL_MEM
|
||||
EVEX.66.0f38de RVM Vx Hx Wx - EVX_AESDEC F=AVX512F,VAES TUPLE_FULL_MEM
|
||||
EVEX.66.0f38df RVM Vx Hx Wx - EVX_AESDECLAST F=AVX512F,VAES TUPLE_FULL_MEM
|
||||
EVEX.NP.W0.0f54 RVM Vps Hps Wps - EVX_ANDPS+kb F=AVX512DQ TUPLE_FULL_32
|
||||
EVEX.66.W1.0f54 RVM Vpd Hpd Wpd - EVX_ANDPD+kb F=AVX512DQ TUPLE_FULL_64
|
||||
EVEX.NP.W0.0f55 RVM Vps Hps Wps - EVX_ANDNPS+kb F=AVX512DQ TUPLE_FULL_32
|
||||
@@ -1718,7 +1718,7 @@ EVEX.66.W1.0f5e RVM Vpd Hpd Wpd - EVX_DIVPD+kbr F=AVX512F TUPLE_
|
||||
EVEX.F3.W0.LIG.0f5e RVM Vdq Hdq Wss - EVX_DIVSS+kr F=AVX512F TUPLE1_SCALAR_32
|
||||
EVEX.F2.W1.LIG.0f5e RVM Vdq Hdq Wsd - EVX_DIVSD+kr F=AVX512F TUPLE1_SCALAR_64
|
||||
# Note: tuple size is actually fixed at 32 bits, regardless of EVEX.W
|
||||
EVEX.66.WIG.L0.0f3a17 MRI Ess Vps Ib - EVX_EXTRACTPS F=AVX512F TUPLE1_FIXED_32
|
||||
EVEX.66.L0.0f3a17 MRI Ess Vps Ib - EVX_EXTRACTPS F=AVX512F TUPLE1_FIXED_32
|
||||
EVEX.66.W0.L0.0f3a21 RVMI Vps Hps Wss Ib EVX_INSERTPS F=AVX512F TUPLE1_SCALAR_32
|
||||
EVEX.NP.W0.0f5f RVM Vps Hps Wps - EVX_MAXPS+kbe F=AVX512F TUPLE_FULL_32
|
||||
EVEX.66.W1.0f5f RVM Vpd Hpd Wpd - EVX_MAXPD+kbe F=AVX512F TUPLE_FULL_64
|
||||
@@ -1784,126 +1784,126 @@ EVEX.F3.W0.LIG.0f59 RVM Vdq Hdq Wss - EVX_MULSS+kr F=AVX512F TUPLE1
|
||||
EVEX.F2.W1.LIG.0f59 RVM Vdq Hdq Wsd - EVX_MULSD+kr F=AVX512F TUPLE1_SCALAR_64
|
||||
EVEX.NP.W0.0f56 RVM Vps Hps Wps - EVX_ORPS+kb F=AVX512DQ TUPLE_FULL_32
|
||||
EVEX.66.W1.0f56 RVM Vpd Hpd Wpd - EVX_ORPD+kb F=AVX512DQ TUPLE_FULL_64
|
||||
EVEX.66.WIG.0f381c RM Vx Wx - - EVX_PABSB+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.WIG.0f381d RM Vx Wx - - EVX_PABSW+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.0f381c RM Vx Wx - - EVX_PABSB+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.0f381d RM Vx Wx - - EVX_PABSW+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.W0.0f381e RM Vx Wx - - EVX_PABSD+kb F=AVX512F TUPLE_FULL_32
|
||||
EVEX.66.W1.0f381f RM Vx Wx - - EVX_PABSQ+kb F=AVX512F TUPLE_FULL_64
|
||||
EVEX.66.WIG.0f63 RVM Vx Hx Wx - EVX_PACKSSWB+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.WIG.0f67 RVM Vx Hx Wx - EVX_PACKUSWB+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.0f63 RVM Vx Hx Wx - EVX_PACKSSWB+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.0f67 RVM Vx Hx Wx - EVX_PACKUSWB+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.W0.0f6b RVM Vx Hx Wx - EVX_PACKSSDW+kb F=AVX512BW TUPLE_FULL_32
|
||||
EVEX.66.W0.0f382b RVM Vx Hx Wx - EVX_PACKUSDW+kb F=AVX512BW TUPLE_FULL_32
|
||||
EVEX.66.WIG.0ffc RVM Vx Hx Wx - EVX_PADDB+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.WIG.0ffd RVM Vx Hx Wx - EVX_PADDW+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.0ffc RVM Vx Hx Wx - EVX_PADDB+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.0ffd RVM Vx Hx Wx - EVX_PADDW+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.W0.0ffe RVM Vx Hx Wx - EVX_PADDD+kb F=AVX512F TUPLE_FULL_32
|
||||
EVEX.66.W1.0fd4 RVM Vx Hx Wx - EVX_PADDQ+kb F=AVX512F TUPLE_FULL_64
|
||||
EVEX.66.WIG.0fec RVM Vx Hx Wx - EVX_PADDSB+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.WIG.0fed RVM Vx Hx Wx - EVX_PADDSW+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.WIG.0fdc RVM Vx Hx Wx - EVX_PADDUSB+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.WIG.0fdd RVM Vx Hx Wx - EVX_PADDUSW+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.WIG.0f3a0f RVMI Vx Hx Wx Ib EVX_PALIGNR+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.0fec RVM Vx Hx Wx - EVX_PADDSB+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.0fed RVM Vx Hx Wx - EVX_PADDSW+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.0fdc RVM Vx Hx Wx - EVX_PADDUSB+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.0fdd RVM Vx Hx Wx - EVX_PADDUSW+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.0f3a0f RVMI Vx Hx Wx Ib EVX_PALIGNR+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.W0.0fdb RVM Vx Hx Wx - EVX_PANDD+kb F=AVX512F TUPLE_FULL_32
|
||||
EVEX.66.W1.0fdb RVM Vx Hx Wx - EVX_PANDQ+kb F=AVX512F TUPLE_FULL_64
|
||||
EVEX.66.W0.0fdf RVM Vx Hx Wx - EVX_PANDND+kb F=AVX512F TUPLE_FULL_32
|
||||
EVEX.66.W1.0fdf RVM Vx Hx Wx - EVX_PANDNQ+kb F=AVX512F TUPLE_FULL_64
|
||||
EVEX.66.WIG.0fe0 RVM Vx Hx Wx - EVX_PAVGB+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.WIG.0fe3 RVM Vx Hx Wx - EVX_PAVGW+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.WIG.0f3a44 RVMI Vx Hx Wx Ib EVX_PCLMULQDQ F=AVX512F,VPCLMULQDQ TUPLE_FULL_MEM
|
||||
EVEX.66.WIG.0f74 RVM K Hx Wx - EVX_PCMPEQB+k F=AVX512F TUPLE_FULL_MEM
|
||||
EVEX.66.WIG.0f75 RVM K Hx Wx - EVX_PCMPEQW+k F=AVX512F TUPLE_FULL_MEM
|
||||
EVEX.66.0fe0 RVM Vx Hx Wx - EVX_PAVGB+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.0fe3 RVM Vx Hx Wx - EVX_PAVGW+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.0f3a44 RVMI Vx Hx Wx Ib EVX_PCLMULQDQ F=AVX512F,VPCLMULQDQ TUPLE_FULL_MEM
|
||||
EVEX.66.0f74 RVM K Hx Wx - EVX_PCMPEQB+k F=AVX512F TUPLE_FULL_MEM
|
||||
EVEX.66.0f75 RVM K Hx Wx - EVX_PCMPEQW+k F=AVX512F TUPLE_FULL_MEM
|
||||
EVEX.66.W0.0f76 RVM K Hx Wx - EVX_PCMPEQD+kb F=AVX512F TUPLE_FULL_32
|
||||
EVEX.66.W1.0f3829 RVM K Hx Wx - EVX_PCMPEQQ+kb F=AVX512F TUPLE_FULL_64
|
||||
EVEX.66.WIG.0f64 RVM K Hx Wx - EVX_PCMPGTB+k F=AVX512F TUPLE_FULL_MEM
|
||||
EVEX.66.WIG.0f65 RVM K Hx Wx - EVX_PCMPGTW+k F=AVX512F TUPLE_FULL_MEM
|
||||
EVEX.66.0f64 RVM K Hx Wx - EVX_PCMPGTB+k F=AVX512F TUPLE_FULL_MEM
|
||||
EVEX.66.0f65 RVM K Hx Wx - EVX_PCMPGTW+k F=AVX512F TUPLE_FULL_MEM
|
||||
EVEX.66.W0.0f66 RVM K Hx Wx - EVX_PCMPGTD+kb F=AVX512F TUPLE_FULL_32
|
||||
EVEX.66.W1.0f3837 RVM K Hx Wx - EVX_PCMPGTQ+kb F=AVX512F TUPLE_FULL_64
|
||||
EVEX.66.WIG.L0.0f3a14/m MRI Mb Vx Ib - EVX_PEXTRB F=AVX512BW TUPLE1_SCALAR_8
|
||||
EVEX.66.WIG.L0.0f3a14/r MRI Rd Vx Ib - EVX_PEXTRB F=AVX512BW
|
||||
EVEX.66.WIG.L0.0fc5/r RMI Gd Ux Ib - EVX_PEXTRW F=AVX512BW
|
||||
EVEX.66.WIG.L0.0f3a15/m MRI Mw Vx Ib - EVX_PEXTRW F=AVX512BW TUPLE1_SCALAR_16
|
||||
EVEX.66.WIG.L0.0f3a15/r MRI Rd Vx Ib - EVX_PEXTRW F=AVX512BW
|
||||
EVEX.66.L0.0f3a16 MRI Ey Vdq Ib - EVX_PEXTR F=AVX512DQ TUPLE1_SCALAR_OPSZ
|
||||
EVEX.66.WIG.L0.0f3a20 RVMI Vx Hx Eb Ib EVX_PINSR F=AVX512BW TUPLE1_SCALAR_8
|
||||
EVEX.66.WIG.L0.0fc4 RVMI Vx Hx Ew Ib EVX_PINSR F=AVX512BW TUPLE1_SCALAR_16
|
||||
EVEX.66.L0.0f3a14/m MRI Mb Vx Ib - EVX_PEXTRB F=AVX512BW TUPLE1_SCALAR_8
|
||||
EVEX.66.L0.0f3a14/r MRI Rd Vx Ib - EVX_PEXTRB F=AVX512BW
|
||||
EVEX.66.L0.0fc5/r RMI Gd Ux Ib - EVX_PEXTRW F=AVX512BW
|
||||
EVEX.66.L0.0f3a15/m MRI Mw Vx Ib - EVX_PEXTRW F=AVX512BW TUPLE1_SCALAR_16
|
||||
EVEX.66.L0.0f3a15/r MRI Rd Vx Ib - EVX_PEXTRW F=AVX512BW
|
||||
EVEX.66.L0.0f3a16 MRI Ey Vdq Ib - EVX_PEXTR F=AVX512DQ TUPLE1_SCALAR_OPSZ
|
||||
EVEX.66.L0.0f3a20 RVMI Vx Hx Eb Ib EVX_PINSR F=AVX512BW TUPLE1_SCALAR_8
|
||||
EVEX.66.L0.0fc4 RVMI Vx Hx Ew Ib EVX_PINSR F=AVX512BW TUPLE1_SCALAR_16
|
||||
EVEX.66.L0.0f3a22 RVMI Vdq Hdq Ey Ib EVX_PINSR F=AVX512DQ TUPLE1_SCALAR_OPSZ
|
||||
EVEX.66.WIG.0f3804 RVM Vx Hx Wx - EVX_PMADDUBSW+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.WIG.0ff5 RVM Vx Hx Wx - EVX_PMADDWD+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.WIG.0fda RVM Vx Hx Wx - EVX_PMINUB+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.WIG.0fde RVM Vx Hx Wx - EVX_PMAXUB+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.WIG.0fea RVM Vx Hx Wx - EVX_PMINSW+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.WIG.0fee RVM Vx Hx Wx - EVX_PMAXSW+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.WIG.0f3838 RVM Vx Hx Wx - EVX_PMINSB+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.0f3804 RVM Vx Hx Wx - EVX_PMADDUBSW+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.0ff5 RVM Vx Hx Wx - EVX_PMADDWD+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.0fda RVM Vx Hx Wx - EVX_PMINUB+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.0fde RVM Vx Hx Wx - EVX_PMAXUB+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.0fea RVM Vx Hx Wx - EVX_PMINSW+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.0fee RVM Vx Hx Wx - EVX_PMAXSW+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.0f3838 RVM Vx Hx Wx - EVX_PMINSB+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.W0.0f3839 RVM Vx Hx Wx - EVX_PMINSD+kb F=AVX512F TUPLE_FULL_32
|
||||
EVEX.66.W1.0f3839 RVM Vx Hx Wx - EVX_PMINSQ+kb F=AVX512F TUPLE_FULL_64
|
||||
EVEX.66.WIG.0f383a RVM Vx Hx Wx - EVX_PMINUW+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.0f383a RVM Vx Hx Wx - EVX_PMINUW+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.W0.0f383b RVM Vx Hx Wx - EVX_PMINUD+kb F=AVX512F TUPLE_FULL_32
|
||||
EVEX.66.W1.0f383b RVM Vx Hx Wx - EVX_PMINUQ+kb F=AVX512F TUPLE_FULL_64
|
||||
EVEX.66.WIG.0f383c RVM Vx Hx Wx - EVX_PMAXSB+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.0f383c RVM Vx Hx Wx - EVX_PMAXSB+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.W0.0f383d RVM Vx Hx Wx - EVX_PMAXSD+kb F=AVX512F TUPLE_FULL_32
|
||||
EVEX.66.W1.0f383d RVM Vx Hx Wx - EVX_PMAXSQ+kb F=AVX512F TUPLE_FULL_64
|
||||
EVEX.66.WIG.0f383e RVM Vx Hx Wx - EVX_PMAXUW+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.0f383e RVM Vx Hx Wx - EVX_PMAXUW+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.W0.0f383f RVM Vx Hx Wx - EVX_PMAXUD+kb F=AVX512F TUPLE_FULL_32
|
||||
EVEX.66.W1.0f383f RVM Vx Hx Wx - EVX_PMAXUQ+kb F=AVX512F TUPLE_FULL_64
|
||||
EVEX.66.WIG.0f3820 RM Vx Wh - - EVX_PMOVSXBW+k F=AVX512F TUPLE_HALF_MEM
|
||||
EVEX.66.WIG.0f3821 RM Vx Wf - - EVX_PMOVSXBD+k F=AVX512F TUPLE_QUARTER_MEM
|
||||
EVEX.66.WIG.0f3822 RM Vx We - - EVX_PMOVSXBQ+k F=AVX512F TUPLE_EIGHTH_MEM
|
||||
EVEX.66.WIG.0f3823 RM Vx Wh - - EVX_PMOVSXWD+k F=AVX512F TUPLE_HALF_MEM
|
||||
EVEX.66.WIG.0f3824 RM Vx Wf - - EVX_PMOVSXWQ+k F=AVX512F TUPLE_QUARTER_MEM
|
||||
EVEX.66.0f3820 RM Vx Wh - - EVX_PMOVSXBW+k F=AVX512F TUPLE_HALF_MEM
|
||||
EVEX.66.0f3821 RM Vx Wf - - EVX_PMOVSXBD+k F=AVX512F TUPLE_QUARTER_MEM
|
||||
EVEX.66.0f3822 RM Vx We - - EVX_PMOVSXBQ+k F=AVX512F TUPLE_EIGHTH_MEM
|
||||
EVEX.66.0f3823 RM Vx Wh - - EVX_PMOVSXWD+k F=AVX512F TUPLE_HALF_MEM
|
||||
EVEX.66.0f3824 RM Vx Wf - - EVX_PMOVSXWQ+k F=AVX512F TUPLE_QUARTER_MEM
|
||||
EVEX.66.W0.0f3825 RM Vx Wh - - EVX_PMOVSXDQ+k F=AVX512F TUPLE_HALF_MEM
|
||||
EVEX.66.WIG.0f3830 RM Vx Wh - - EVX_PMOVZXBW+k F=AVX512F TUPLE_HALF_MEM
|
||||
EVEX.66.WIG.0f3831 RM Vx Wf - - EVX_PMOVZXBD+k F=AVX512F TUPLE_QUARTER_MEM
|
||||
EVEX.66.WIG.0f3832 RM Vx We - - EVX_PMOVZXBQ+k F=AVX512F TUPLE_EIGHTH_MEM
|
||||
EVEX.66.WIG.0f3833 RM Vx Wh - - EVX_PMOVZXWD+k F=AVX512F TUPLE_HALF_MEM
|
||||
EVEX.66.WIG.0f3834 RM Vx Wf - - EVX_PMOVZXWQ+k F=AVX512F TUPLE_QUARTER_MEM
|
||||
EVEX.66.0f3830 RM Vx Wh - - EVX_PMOVZXBW+k F=AVX512F TUPLE_HALF_MEM
|
||||
EVEX.66.0f3831 RM Vx Wf - - EVX_PMOVZXBD+k F=AVX512F TUPLE_QUARTER_MEM
|
||||
EVEX.66.0f3832 RM Vx We - - EVX_PMOVZXBQ+k F=AVX512F TUPLE_EIGHTH_MEM
|
||||
EVEX.66.0f3833 RM Vx Wh - - EVX_PMOVZXWD+k F=AVX512F TUPLE_HALF_MEM
|
||||
EVEX.66.0f3834 RM Vx Wf - - EVX_PMOVZXWQ+k F=AVX512F TUPLE_QUARTER_MEM
|
||||
EVEX.66.W0.0f3835 RM Vx Wh - - EVX_PMOVZXDQ+k F=AVX512F TUPLE_HALF_MEM
|
||||
EVEX.66.W1.0f3828 RVM Vx Hx Wx - EVX_PMULDQ+kb F=AVX512F TUPLE_FULL_64
|
||||
EVEX.66.WIG.0f380b RVM Vx Hx Wx - EVX_PMULHRSW+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.WIG.0fe4 RVM Vx Hx Wx - EVX_PMULHUW+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.WIG.0fe5 RVM Vx Hx Wx - EVX_PMULHW+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.WIG.0fd5 RVM Vx Hx Wx - EVX_PMULLW+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.0f380b RVM Vx Hx Wx - EVX_PMULHRSW+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.0fe4 RVM Vx Hx Wx - EVX_PMULHUW+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.0fe5 RVM Vx Hx Wx - EVX_PMULHW+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.0fd5 RVM Vx Hx Wx - EVX_PMULLW+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.W0.0f3840 RVM Vx Hx Wx - EVX_PMULLD+kb F=AVX512DQ TUPLE_FULL_32
|
||||
EVEX.66.W1.0f3840 RVM Vx Hx Wx - EVX_PMULLQ+kb F=AVX512DQ TUPLE_FULL_64
|
||||
EVEX.66.W1.0ff4 RVM Vx Hx Wx - EVX_PMULUDQ+kb F=AVX512F TUPLE_FULL_64
|
||||
EVEX.66.W0.0feb RVM Vx Hx Wx - EVX_PORD+kb F=AVX512F TUPLE_FULL_32
|
||||
EVEX.66.W1.0feb RVM Vx Hx Wx - EVX_PORQ+kb F=AVX512F TUPLE_FULL_64
|
||||
EVEX.66.WIG.0ff6 RVM Vx Hx Wx - EVX_PSADBW F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.WIG.0f3800 RVM Vx Hx Wx - EVX_PSHUFB+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.0ff6 RVM Vx Hx Wx - EVX_PSADBW F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.0f3800 RVM Vx Hx Wx - EVX_PSHUFB+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.W0.0f70 RMI Vx Wx Ib - EVX_PSHUFD+kb F=AVX512F TUPLE_FULL_32
|
||||
EVEX.F3.WIG.0f70 RMI Vx Wx Ib - EVX_PSHUFHW+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.F2.WIG.0f70 RMI Vx Wx Ib - EVX_PSHUFLW+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.WIG.0f71/2 VMI Hx Wx Ib - EVX_PSRLW+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.WIG.0f71/4 VMI Hx Wx Ib - EVX_PSRAW+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.WIG.0f71/6 VMI Hx Wx Ib - EVX_PSLLW+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.F3.0f70 RMI Vx Wx Ib - EVX_PSHUFHW+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.F2.0f70 RMI Vx Wx Ib - EVX_PSHUFLW+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.0f71/2 VMI Hx Wx Ib - EVX_PSRLW+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.0f71/4 VMI Hx Wx Ib - EVX_PSRAW+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.0f71/6 VMI Hx Wx Ib - EVX_PSLLW+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.W0.0f72/2 VMI Hx Wx Ib - EVX_PSRLD+kb F=AVX512F TUPLE_FULL_32
|
||||
EVEX.66.W0.0f72/4 VMI Hx Wx Ib - EVX_PSRAD+kb F=AVX512F TUPLE_FULL_32
|
||||
EVEX.66.W0.0f72/6 VMI Hx Wx Ib - EVX_PSLLD+kb F=AVX512F TUPLE_FULL_32
|
||||
EVEX.66.W1.0f73/2 VMI Hx Wx Ib - EVX_PSRLQ+kb F=AVX512F TUPLE_FULL_64
|
||||
EVEX.66.W1.0f72/4 VMI Hx Wx Ib - EVX_PSRAQ+kb F=AVX512F TUPLE_FULL_64
|
||||
EVEX.66.W1.0f73/6 VMI Hx Wx Ib - EVX_PSLLQ+kb F=AVX512F TUPLE_FULL_64
|
||||
EVEX.66.WIG.0fd1 RVM Vx Hx Wdq - EVX_PSRLW+k F=AVX512BW TUPLE_MEM128
|
||||
EVEX.66.0fd1 RVM Vx Hx Wdq - EVX_PSRLW+k F=AVX512BW TUPLE_MEM128
|
||||
EVEX.66.W0.0fd2 RVM Vx Hx Wdq - EVX_PSRLD+k F=AVX512F TUPLE_MEM128
|
||||
EVEX.66.W1.0fd3 RVM Vx Hx Wdq - EVX_PSRLQ+k F=AVX512F TUPLE_MEM128
|
||||
EVEX.66.WIG.0fe1 RVM Vx Hx Wdq - EVX_PSRAW+k F=AVX512BW TUPLE_MEM128
|
||||
EVEX.66.0fe1 RVM Vx Hx Wdq - EVX_PSRAW+k F=AVX512BW TUPLE_MEM128
|
||||
EVEX.66.W0.0fe2 RVM Vx Hx Wdq - EVX_PSRAD+k F=AVX512F TUPLE_MEM128
|
||||
EVEX.66.W1.0fe2 RVM Vx Hx Wdq - EVX_PSRAQ+k F=AVX512F TUPLE_MEM128
|
||||
EVEX.66.WIG.0ff1 RVM Vx Hx Wdq - EVX_PSLLW+k F=AVX512BW TUPLE_MEM128
|
||||
EVEX.66.0ff1 RVM Vx Hx Wdq - EVX_PSLLW+k F=AVX512BW TUPLE_MEM128
|
||||
EVEX.66.W0.0ff2 RVM Vx Hx Wdq - EVX_PSLLD+k F=AVX512F TUPLE_MEM128
|
||||
EVEX.66.W1.0ff3 RVM Vx Hx Wdq - EVX_PSLLQ+k F=AVX512F TUPLE_MEM128
|
||||
EVEX.66.WIG.0f73/3 VMI Hx Ux Ib - EVX_PSRLDQ F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.WIG.0f73/7 VMI Hx Ux Ib - EVX_PSLLDQ F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.WIG.0ff8 RVM Vx Hx Wx - EVX_PSUBB+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.WIG.0ff9 RVM Vx Hx Wx - EVX_PSUBW+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.0f73/3 VMI Hx Ux Ib - EVX_PSRLDQ F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.0f73/7 VMI Hx Ux Ib - EVX_PSLLDQ F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.0ff8 RVM Vx Hx Wx - EVX_PSUBB+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.0ff9 RVM Vx Hx Wx - EVX_PSUBW+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.W0.0ffa RVM Vx Hx Wx - EVX_PSUBD+kb F=AVX512F TUPLE_FULL_32
|
||||
EVEX.66.W1.0ffb RVM Vx Hx Wx - EVX_PSUBQ+kb F=AVX512F TUPLE_FULL_64
|
||||
EVEX.66.WIG.0fe8 RVM Vx Hx Wx - EVX_PSUBSB+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.WIG.0fe9 RVM Vx Hx Wx - EVX_PSUBSW+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.WIG.0fd8 RVM Vx Hx Wx - EVX_PSUBUSB+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.WIG.0fd9 RVM Vx Hx Wx - EVX_PSUBUSW+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.WIG.0f60 RVM Vx Hx Wx - EVX_PUNPCKLBW+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.WIG.0f61 RVM Vx Hx Wx - EVX_PUNPCKLWD+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.0fe8 RVM Vx Hx Wx - EVX_PSUBSB+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.0fe9 RVM Vx Hx Wx - EVX_PSUBSW+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.0fd8 RVM Vx Hx Wx - EVX_PSUBUSB+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.0fd9 RVM Vx Hx Wx - EVX_PSUBUSW+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.0f60 RVM Vx Hx Wx - EVX_PUNPCKLBW+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.0f61 RVM Vx Hx Wx - EVX_PUNPCKLWD+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.W0.0f62 RVM Vx Hx Wx - EVX_PUNPCKLDQ+kb F=AVX512F TUPLE_FULL_32
|
||||
EVEX.66.W1.0f6c RVM Vx Hx Wx - EVX_PUNPCKLQDQ+kb F=AVX512F TUPLE_FULL_64
|
||||
EVEX.66.WIG.0f68 RVM Vx Hx Wx - EVX_PUNPCKHBW+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.WIG.0f69 RVM Vx Hx Wx - EVX_PUNPCKHWD+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.0f68 RVM Vx Hx Wx - EVX_PUNPCKHBW+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.0f69 RVM Vx Hx Wx - EVX_PUNPCKHWD+k F=AVX512BW TUPLE_FULL_MEM
|
||||
EVEX.66.W0.0f6a RVM Vx Hx Wx - EVX_PUNPCKHDQ+kb F=AVX512F TUPLE_FULL_32
|
||||
EVEX.66.W1.0f6d RVM Vx Hx Wx - EVX_PUNPCKHQDQ+kb F=AVX512F TUPLE_FULL_64
|
||||
EVEX.66.W0.0fef RVM Vx Hx Wx - EVX_PXORD+kb F=AVX512F TUPLE_FULL_32
|
||||
|
||||
@@ -337,7 +337,7 @@ class EntryKind(Enum):
|
||||
|
||||
opcode_regex = re.compile(
|
||||
r"^(?:(?P<prefixes>(?P<vex>E?VEX\.)?(?P<legacy>NP|66|F2|F3|NFx)\." +
|
||||
r"(?:W(?P<rexw>[01]|IG)\.)?(?:L(?P<vexl>0|1|12|2|IG)\.)?))?" +
|
||||
r"(?:W(?P<rexw>[01])\.)?(?:L(?P<vexl>0|1|12|2|IG)\.)?))?" +
|
||||
r"(?P<escape>0f38|0f3a|0f|)" +
|
||||
r"(?P<opcode>[0-9a-f]{2})" +
|
||||
r"(?:/(?P<modreg>[0-7]|[rm]|[0-7][rm])|(?P<opcext>[c-f][0-9a-f]))?(?P<extended>\+)?$")
|
||||
@@ -351,7 +351,7 @@ class Opcode(NamedTuple):
|
||||
opcext: Union[None, int] # 0xc0-0xff, or 0
|
||||
vex: int # 0 = legacy, 1 = VEX, 2 = EVEX
|
||||
vexl: Union[str, None] # 0, 1, 12, 2, IG, None = used, both
|
||||
rexw: Union[str, None] # 0, 1, IG, None = used, both
|
||||
rexw: Union[str, None] # 0, 1, None = both (or ignored)
|
||||
|
||||
@classmethod
|
||||
def parse(cls, opcode_string):
|
||||
@@ -486,8 +486,8 @@ class Trie:
|
||||
mod = {"m": [0], "r": [1<<3], "rm": [0, 1<<3]}[opc.modreg[1]]
|
||||
reg = [opc.modreg[0]] if opc.modreg[0] is not None else list(range(8))
|
||||
t16 = [x + y for x in mod for y in reg]
|
||||
if (opc.rexw or "IG") != "IG" or (opc.vexl or "IG") != "IG":
|
||||
rexw = {"0": [0], "1": [1<<0], "IG": [0, 1<<0]}[opc.rexw or "IG"]
|
||||
if opc.rexw is not None or (opc.vexl or "IG") != "IG":
|
||||
rexw = {"0": [0], "1": [1<<0], None: [0, 1<<0]}[opc.rexw]
|
||||
if opc.vex < 2:
|
||||
vexl = {"0": [0], "1": [1<<1], "IG": [0, 1<<1]}[opc.vexl or "IG"]
|
||||
else:
|
||||
@@ -698,7 +698,7 @@ def encode_mnems(entries):
|
||||
if "ENC_NOSZ" in desc.flags or not desc.dynsizes():
|
||||
pass
|
||||
elif OpKind.SZ_OP in desc.dynsizes():
|
||||
if opcode.rexw:
|
||||
if opcode.rexw is not None:
|
||||
raise Exception(f"unexpected REXW specifier {desc}")
|
||||
opsizes = {8} if "SZ8" in desc.flags else {16, 32, 64}
|
||||
if opcode.prefix in ("NP", "66", "F2", "F3") and "U66" not in desc.flags:
|
||||
|
||||
Reference in New Issue
Block a user