diff --git a/isagenerator/disasmlib.py b/isagenerator/disasmlib.py index 82d9e40..632dd92 100644 --- a/isagenerator/disasmlib.py +++ b/isagenerator/disasmlib.py @@ -479,6 +479,8 @@ valid_tuples = [ 't1_4x', ] +absent_op = ['n/a', 'nil'] + class InvalidEncodingException(Exception): def __init__(self, value): self.value = value @@ -916,7 +918,7 @@ class Instruction(): p = 1 res = [] for op in ops: - if op == "nil": + if op in absent_op: break flags = [] if not imp: @@ -1052,12 +1054,12 @@ def parse_entry(entry, template_flags = {}, template_cpuid = {}, template_modes # Extract the explicit operands x = x[x.find(' '):].strip() expops = x[:x.find(' ')].split(',') - if len(expops) == 1 and expops[0] == 'nil': expops = [] + if len(expops) == 1 and expops[0] in absent_op: expops = [] # Extract the implicit operands x = x[x.find(' '):].strip() impops = x[:x.find(' ')].split(',') - if len(impops) == 1 and impops[0] == 'nil': impops = [] + if len(impops) == 1 and impops[0] in absent_op: impops = [] # Extract the encoding x = x[x.find('[')+1:] diff --git a/isagenerator/instructions/cpuid.dat b/isagenerator/instructions/cpuid.dat index 92014d4..60d466c 100644 --- a/isagenerator/instructions/cpuid.dat +++ b/isagenerator/instructions/cpuid.dat @@ -1,3 +1,8 @@ +# +# Copyright (c) 2020 Bitdefender +# SPDX-License-Identifier: Apache-2.0 +# + # CPUID feature flags. # Syntax: NAME : leaf, subleaf, register, bit # NAME can be anything, but it should match an ISA extension type. diff --git a/isagenerator/instructions/flags.dat b/isagenerator/instructions/flags.dat index f9017ef..fccd60f 100644 --- a/isagenerator/instructions/flags.dat +++ b/isagenerator/instructions/flags.dat @@ -1,3 +1,8 @@ +# +# Copyright (c) 2020 Bitdefender +# SPDX-License-Identifier: Apache-2.0 +# + # Flags access templates; many instructions have the same flag usage, so define them here. # Syntax: NAME: FLAG=modifier|FLAG=modifier|.... See the definitions for some examples. # Accepted flags: CF, PF, AF, ZF, TF, IF, OF, DF, AC, IOPL, RF, NT, VIF, VIP, VM diff --git a/isagenerator/instructions/modes.dat b/isagenerator/instructions/modes.dat index aa7a750..65a2a2e 100644 --- a/isagenerator/instructions/modes.dat +++ b/isagenerator/instructions/modes.dat @@ -1,3 +1,8 @@ +# +# Copyright (c) 2020 Bitdefender +# SPDX-License-Identifier: Apache-2.0 +# + # Valid operating modes for instructions. Please use these templates and not inline definitions. If a template does # not exist already, create a new one. # Syntax: NAME : group1:mode11[+mode12[|group2:!mode21+!mode22]] etc. diff --git a/isagenerator/instructions/prefixes.dat b/isagenerator/instructions/prefixes.dat index 95fed61..107b770 100644 --- a/isagenerator/instructions/prefixes.dat +++ b/isagenerator/instructions/prefixes.dat @@ -1,3 +1,8 @@ +# +# Copyright (c) 2020 Bitdefender +# SPDX-License-Identifier: Apache-2.0 +# + # Segment overrides es [0x26] cs [0x2E] diff --git a/isagenerator/instructions/table_0F.dat b/isagenerator/instructions/table_0F.dat index 60285ae..f1e2393 100644 --- a/isagenerator/instructions/table_0F.dat +++ b/isagenerator/instructions/table_0F.dat @@ -1,3 +1,8 @@ +# +# Copyright (c) 2020 Bitdefender +# SPDX-License-Identifier: Apache-2.0 +# + # Mnemonic Explicit Implicit Encoding Flags, Prefixes, Set, Category, Class, RW map, Additional ops #------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ # 0x00 - 0x0F @@ -19,163 +24,163 @@ LIDT Ms IDTR [ 0x0F 0x01 /3 SMSW Mw CR0 [ 0x0F 0x01 /4:mem] s:I286REAL, t:SYSTEM, w:W|R, m:NOSGX SMSW Rv CR0 [ 0x0F 0x01 /4:reg] s:I286REAL, t:SYSTEM, w:W|R, m:NOSGX LMSW Ew CR0 [ 0x0F 0x01 /6] s:I286REAL, t:SYSTEM, w:R|W, a:SERIAL, m:KERNEL -INVLPG Mb nil [ 0x0F 0x01 /7:mem] s:I486REAL, t:SYSTEM, w:R, a:AG, m:KERNEL|NOV86 +INVLPG Mb n/a [ 0x0F 0x01 /7:mem] s:I486REAL, t:SYSTEM, w:R, a:AG, m:KERNEL|NOV86 RSTORSSP Mq SSP [ 0xF3 0x0F 0x01 /5:mem] s:CET_SS, t:CET, a:SHS, w:RW|RW, f:CF=m|ZF=0|PF=0|AF=0|OF=0|SF=0 -ENCLV nil EAX,RBX,RCX,RDX [ NP 0x0F 0x01 /0xC0] s:SGX, t:SGX, w:R|CRW|CRW|CRW, m:KERNEL|NOSMM|NOTSX|VMX -VMCALL nil nil [ NP 0x0F 0x01 /0xC1] s:VTX, t:VTX, m:VMX|NOTSX|NOSGX -VMLAUNCH nil Fv [ NP 0x0F 0x01 /0xC2] s:VTX, t:VTX, w:W, f:VMX, m:VMXROOT -VMRESUME nil Fv [ NP 0x0F 0x01 /0xC3] s:VTX, t:VTX, w:W, f:VMX, m:VMXROOT -VMXOFF nil Fv [ NP 0x0F 0x01 /0xC4] s:VTX, t:VTX, w:W, f:VMX, m:VMXROOT -PCONFIG nil EAX,RBX,RCX,RDX [ NP 0x0F 0x01 /0xC5] s:PCONFIG, t:PCONFIG, w:R|RW|RW|RW, m:NOV86 -WRMSRNS nil EAX,EDX,ECX,MSR [ NP 0x0F 0x01 /0xC6] s:WRMSRNS, t:SYSTEM, w:R|R|R|W, m:KERNEL -WRMSRLIST nil SMT,DMT,ECX [ 0xF3 0x0F 0x01 /0xC6] s:MSRLIST, t:SYSTEM, w:R|R|RW, m:KERNEL|O64 -RDMSRLIST nil SMT,DMT,ECX [ 0xF2 0x0F 0x01 /0xC6] s:MSRLIST, t:SYSTEM, w:R|W|RW, m:KERNEL|O64 -MONITOR nil pAXb,ECX,EDX [ NP 0x0F 0x01 /0xC8] s:SSE3, t:MISC, w:R|R|R, i:MONITOR, m:KERNEL|NOV86 -MWAIT nil EAX,ECX [ NP 0x0F 0x01 /0xC9] s:SSE3, t:MISC, w:RW|R, i:MONITOR, m:KERNEL|NOV86 -CLAC nil Fv [ NP 0x0F 0x01 /0xCA] s:SMAP, t:SMAP, w:W, f:AC=0, m:KERNEL|NOV86 -ERETU nil rIP,Fv,rSP,CS,SS,Kv5,SSP,GSBASE,KGSBASE [0xF3 0x0F 0x01 /0xCA] s:FRED, t:RET, w:W|W|W|W|W|R|CRCW|RW|RW, m:KERNEL|O64|NOTSX, a:F64 -ERETS nil rIP,Fv,rSP,Kv5,SSP [ 0xF2 0x0F 0x01 /0xCA] s:FRED, t:RET, w:W|W|W|R|CRCW, m:KERNEL|O64|NOTSX, a:F64 -STAC nil Fv [ NP 0x0F 0x01 /0xCB] s:SMAP, t:SMAP, w:W, f:AC=1, m:KERNEL|NOV86 -TDCALL nil nil [ 0x66 0x0F 0x01 /0xCC] s:TDX, t:TDX, m:KERNEL|VMXNROOT -SEAMRET nil nil [ 0x66 0x0F 0x01 /0xCD] s:TDX, t:TDX, f:VMX, m:SEAMR -SEAMOPS nil RAX,RCX,RDX,R8,R9 [ 0x66 0x0F 0x01 /0xCE] s:TDX, t:TDX, w:RW|R|R|R|R, m:SEAMR -SEAMCALL nil RAX [ 0x66 0x0F 0x01 /0xCF] s:TDX, t:TDX, w:R, f:VMX, m:SEAMN -ENCLS nil EAX,RBX,RCX,RDX [ NP 0x0F 0x01 /0xCF] s:SGX, t:SGX, w:R|CRW|CRW|CRW, m:KERNEL|NOSMM|NOTSX -XGETBV nil ECX,EDX,EAX,XCR [ NP 0x0F 0x01 /0xD0] s:XSAVE, t:XSAVE, w:R|W|W|R -XSETBV nil ECX,EDX,EAX,XCR [ NP 0x0F 0x01 /0xD1] s:XSAVE, t:XSAVE, w:R|R|R|W, m:KERNEL -VMFUNC nil nil [ NP 0x0F 0x01 /0xD4] s:VTX, t:VTX, m:VMX|NOSGX -XEND nil yIP [ NP 0x0F 0x01 /0xD5] s:TSX, t:COND_BR, w:CW, i:RTM -XTEST nil Fv [ NP 0x0F 0x01 /0xD6] s:TSX, t:LOGIC, w:W, i:RTM, f:CF=0|PF=0|AF=0|ZF=m|SF=0|OF=0 -ENCLU nil EAX,RBX,RCX,RDX [ NP 0x0F 0x01 /0xD7] s:SGX, t:SGX, w:R|CRW|CRW|CRW, m:USER|NOSMM|NOTSX -VMRUN nil rAX [ 0x0F 0x01 /0xD8] s:SVM, t:SYSTEM, w:R, m:VMXROOT -VMMCALL nil nil [ 0x0F 0x01 /0xD9] s:SVM, t:SYSTEM, m:VMX -VMMCALL nil nil [ 0x66 0x0F 0x01 /0xD9] s:SVM, t:SYSTEM, m:VMX -VMGEXIT nil nil [ 0xF3 0x0F 0x01 /0xD9] s:SVM, t:SYSTEM, m:VMX -VMGEXIT nil nil [ 0xF2 0x0F 0x01 /0xD9] s:SVM, t:SYSTEM, m:VMX -VMLOAD nil rAX [ 0x0F 0x01 /0xDA] s:SVM, t:SYSTEM, w:R, m:VMXROOT -VMSAVE nil nil [ 0x0F 0x01 /0xDB] s:SVM, t:SYSTEM, m:VMXROOT -STGI nil nil [ 0x0F 0x01 /0xDC] s:SVM, t:SYSTEM, m:VMXROOT -CLGI nil nil [ 0x0F 0x01 /0xDD] s:SVM, t:SYSTEM, m:VMXROOT -SKINIT nil EAX [ 0x0F 0x01 /0xDE] s:SVM, t:SYSTEM, w:R, m:VMXROOT -INVLPGA nil rAX,ECX [ 0x0F 0x01 /0xDF] s:SVM, t:SYSTEM, w:R|R, m:VMXROOT -SERIALIZE nil nil [ NP 0x0F 0x01 /0xE8] s:SERIALIZE, t:MISC, a:SERIAL -SETSSBSY nil SHS0,SSP [ 0xF3 0x0F 0x01 /0xE8] s:CET_SS, t:CET, a:SHS, w:RW|RW -XSUSLDTRK nil nil [ 0xF2 0x0F 0x01 /0xE8] s:TSXLDTRK, t:MISC -XRESLDTRK nil nil [ 0xF2 0x0F 0x01 /0xE9] s:TSXLDTRK, t:MISC -SAVEPREVSSP nil SHSS,SSP [ 0xF3 0x0F 0x01 /0xEA] s:CET_SS, t:CET, w:RW|R, f:CF=t -UIRET nil rIP,Fv,sSP,UIF,Kv3,SHS1 [ 0xF3 0x0F 0x01 /0xEC] s:UINTR, t:RET, a:F64, w:W|W|W|W|R|R, m:O64|NOTSX|NOSGX -TESTUI nil UIF,Fv [ 0xF3 0x0F 0x01 /0xED] s:UINTR, t:UINTR, w:R|W, f:UINTR, m:O64|NOSGX -RDPKRU nil EDX,EAX,ECX,PKRU [ NP 0x0F 0x01 /0xEE] s:PKU, t:MISC, w:W|W|R|R -CLUI nil UIF [ 0xF3 0x0F 0x01 /0xEE] s:UINTR, t:UINTR, w:W, m:O64|NOTSX|NOSGX -WRPKRU nil EDX,EAX,ECX,PKRU [ NP 0x0F 0x01 /0xEF] s:PKU, t:MISC, w:R|R|R|W -STUI nil UIF [ 0xF3 0x0F 0x01 /0xEF] s:UINTR, t:UINTR, w:W, m:O64|NOTSX|NOSGX -SWAPGS nil GSBASE,KGSBASE [ 0x0F 0x01 /0xF8] s:LONGMODE, t:SYSTEM, w:RW|RW, m:KERNEL|O64 -RDTSCP nil EAX,EDX,ECX,TSC,TSCAUX [ 0x0F 0x01 /0xF9] s:RDTSCP, t:SYSTEM, w:W|W|W|R|R -MONITORX nil pAXb,ECX,EDX [ NP 0x0F 0x01 /0xFA] s:MWAITT, t:SYSTEM, w:R|R|R, m:KERNEL|NOV86 -MCOMMIT nil Fv [ 0xF3 0x0F 0x01 /0xFA] s:MCOMMIT, t:MISC, w:W, f:CF=m|PF=0|AF=0|ZF=0|SF=0|OF=0 -MWAITX nil EAX,ECX,EBX [ NP 0x0F 0x01 /0xFB] s:MWAITT, t:SYSTEM, w:R|R|R, m:KERNEL|NOV86 -CLZERO nil rAX [ 0x0F 0x01 /0xFC] s:CLZERO, t:MISC, w:R -RDPRU nil EAX,EDX,ECX,Fv [ 0x0F 0x01 /0xFD] s:RDPRU, t:MISC, w:W|W|R|W, f:CF=m|PF=0|AF=0|ZF=0|SF=0|OF=0 -RMPQUERY nil pAXb,EAX,RCX,RDX,Fv [ 0xF3 0x0F 0x01 /0xFD] s:SNP, t:SYSTEM, w:R|RW|W|RW|W, f:OF=m|ZF=m|AF=m|PF=m|SF=m, a:I67, m:O64|KERNEL, i:RMPQUERY -INVLPGB nil rAX,ECX,EDX [ 0x0F 0x01 /0xFE] s:INVLPGB, t:SYSTEM, w:R|R|R, m:NOREAL|KERNEL -RMPADJUST nil pAXb,EAX,RCX,RDX,Fv [ 0xF3 0x0F 0x01 /0xFE] s:SNP, t:SYSTEM, w:R|RW|R|R|W, f:OF=m|ZF=m|AF=m|PF=m|SF=m, a:I67, m:O64|KERNEL -RMPUPDATE nil RAX,pCXdq,Fv [ 0xF2 0x0F 0x01 /0xFE] s:SNP, t:SYSTEM, w:RW|R|W, f:OF=m|ZF=m|AF=m|PF=m|SF=m, a:I67, m:O64|KERNEL -TLBSYNC nil nil [ 0x0F 0x01 /0xFF] s:INVLPGB, t:SYSTEM, m:NOREAL|KERNEL -PSMASH nil RAX,Fv [ 0xF3 0x0F 0x01 /0xFF] s:SNP, t:SYSTEM, w:RW|W, f:OF=m|ZF=m|AF=m|PF=m|SF=m, m:O64|KERNEL -PVALIDATE nil rAX,ECX,EDX,Fv [ 0xF2 0x0F 0x01 /0xFF] s:SNP, t:SYSTEM, w:RW|R|R|W, f:OF=m|ZF=m|AF=m|PF=m|SF=m|CF=m, m:KERNEL +ENCLV n/a EAX,RBX,RCX,RDX [ NP 0x0F 0x01 /0xC0] s:SGX, t:SGX, w:R|CRW|CRW|CRW, m:KERNEL|NOSMM|NOTSX|VMX +VMCALL n/a n/a [ NP 0x0F 0x01 /0xC1] s:VTX, t:VTX, m:VMX|NOTSX|NOSGX +VMLAUNCH n/a Fv [ NP 0x0F 0x01 /0xC2] s:VTX, t:VTX, w:W, f:VMX, m:VMXROOT +VMRESUME n/a Fv [ NP 0x0F 0x01 /0xC3] s:VTX, t:VTX, w:W, f:VMX, m:VMXROOT +VMXOFF n/a Fv [ NP 0x0F 0x01 /0xC4] s:VTX, t:VTX, w:W, f:VMX, m:VMXROOT +PCONFIG n/a EAX,RBX,RCX,RDX [ NP 0x0F 0x01 /0xC5] s:PCONFIG, t:PCONFIG, w:R|RW|RW|RW, m:NOV86 +WRMSRNS n/a EAX,EDX,ECX,MSR [ NP 0x0F 0x01 /0xC6] s:WRMSRNS, t:SYSTEM, w:R|R|R|W, m:KERNEL +WRMSRLIST n/a SMT,DMT,ECX [ 0xF3 0x0F 0x01 /0xC6] s:MSRLIST, t:SYSTEM, w:R|R|RW, m:KERNEL|O64 +RDMSRLIST n/a SMT,DMT,ECX [ 0xF2 0x0F 0x01 /0xC6] s:MSRLIST, t:SYSTEM, w:R|W|RW, m:KERNEL|O64 +MONITOR n/a pAXb,ECX,EDX [ NP 0x0F 0x01 /0xC8] s:SSE3, t:MISC, w:R|R|R, i:MONITOR, m:KERNEL|NOV86 +MWAIT n/a EAX,ECX [ NP 0x0F 0x01 /0xC9] s:SSE3, t:MISC, w:RW|R, i:MONITOR, m:KERNEL|NOV86 +CLAC n/a Fv [ NP 0x0F 0x01 /0xCA] s:SMAP, t:SMAP, w:W, f:AC=0, m:KERNEL|NOV86 +ERETU n/a rIP,Fv,rSP,CS,SS,Kv5,SSP,GSBASE,KGSBASE [0xF3 0x0F 0x01 /0xCA] s:FRED, t:RET, w:W|W|W|W|W|R|CRCW|RW|RW, m:KERNEL|O64|NOTSX, a:F64 +ERETS n/a rIP,Fv,rSP,Kv5,SSP [ 0xF2 0x0F 0x01 /0xCA] s:FRED, t:RET, w:W|W|W|R|CRCW, m:KERNEL|O64|NOTSX, a:F64 +STAC n/a Fv [ NP 0x0F 0x01 /0xCB] s:SMAP, t:SMAP, w:W, f:AC=1, m:KERNEL|NOV86 +TDCALL n/a n/a [ 0x66 0x0F 0x01 /0xCC] s:TDX, t:TDX, m:KERNEL|VMXNROOT +SEAMRET n/a n/a [ 0x66 0x0F 0x01 /0xCD] s:TDX, t:TDX, f:VMX, m:SEAMR +SEAMOPS n/a RAX,RCX,RDX,R8,R9 [ 0x66 0x0F 0x01 /0xCE] s:TDX, t:TDX, w:RW|R|R|R|R, m:SEAMR +SEAMCALL n/a RAX [ 0x66 0x0F 0x01 /0xCF] s:TDX, t:TDX, w:R, f:VMX, m:SEAMN +ENCLS n/a EAX,RBX,RCX,RDX [ NP 0x0F 0x01 /0xCF] s:SGX, t:SGX, w:R|CRW|CRW|CRW, m:KERNEL|NOSMM|NOTSX +XGETBV n/a ECX,EDX,EAX,XCR [ NP 0x0F 0x01 /0xD0] s:XSAVE, t:XSAVE, w:R|W|W|R +XSETBV n/a ECX,EDX,EAX,XCR [ NP 0x0F 0x01 /0xD1] s:XSAVE, t:XSAVE, w:R|R|R|W, m:KERNEL +VMFUNC n/a n/a [ NP 0x0F 0x01 /0xD4] s:VTX, t:VTX, m:VMX|NOSGX +XEND n/a yIP [ NP 0x0F 0x01 /0xD5] s:TSX, t:COND_BR, w:CW, i:RTM +XTEST n/a Fv [ NP 0x0F 0x01 /0xD6] s:TSX, t:LOGIC, w:W, i:RTM, f:CF=0|PF=0|AF=0|ZF=m|SF=0|OF=0 +ENCLU n/a EAX,RBX,RCX,RDX [ NP 0x0F 0x01 /0xD7] s:SGX, t:SGX, w:R|CRW|CRW|CRW, m:USER|NOSMM|NOTSX +VMRUN n/a rAX [ 0x0F 0x01 /0xD8] s:SVM, t:SYSTEM, w:R, m:VMXROOT +VMMCALL n/a n/a [ 0x0F 0x01 /0xD9] s:SVM, t:SYSTEM, m:VMX +VMMCALL n/a n/a [ 0x66 0x0F 0x01 /0xD9] s:SVM, t:SYSTEM, m:VMX +VMGEXIT n/a n/a [ 0xF3 0x0F 0x01 /0xD9] s:SVM, t:SYSTEM, m:VMX +VMGEXIT n/a n/a [ 0xF2 0x0F 0x01 /0xD9] s:SVM, t:SYSTEM, m:VMX +VMLOAD n/a rAX [ 0x0F 0x01 /0xDA] s:SVM, t:SYSTEM, w:R, m:VMXROOT +VMSAVE n/a n/a [ 0x0F 0x01 /0xDB] s:SVM, t:SYSTEM, m:VMXROOT +STGI n/a n/a [ 0x0F 0x01 /0xDC] s:SVM, t:SYSTEM, m:VMXROOT +CLGI n/a n/a [ 0x0F 0x01 /0xDD] s:SVM, t:SYSTEM, m:VMXROOT +SKINIT n/a EAX [ 0x0F 0x01 /0xDE] s:SVM, t:SYSTEM, w:R, m:VMXROOT +INVLPGA n/a rAX,ECX [ 0x0F 0x01 /0xDF] s:SVM, t:SYSTEM, w:R|R, m:VMXROOT +SERIALIZE n/a n/a [ NP 0x0F 0x01 /0xE8] s:SERIALIZE, t:MISC, a:SERIAL +SETSSBSY n/a SHS0,SSP [ 0xF3 0x0F 0x01 /0xE8] s:CET_SS, t:CET, a:SHS, w:RW|RW +XSUSLDTRK n/a n/a [ 0xF2 0x0F 0x01 /0xE8] s:TSXLDTRK, t:MISC +XRESLDTRK n/a n/a [ 0xF2 0x0F 0x01 /0xE9] s:TSXLDTRK, t:MISC +SAVEPREVSSP n/a SHSS,SSP [ 0xF3 0x0F 0x01 /0xEA] s:CET_SS, t:CET, w:RW|R, f:CF=t +UIRET n/a rIP,Fv,sSP,UIF,Kv3,SHS1 [ 0xF3 0x0F 0x01 /0xEC] s:UINTR, t:RET, a:F64, w:W|W|W|W|R|R, m:O64|NOTSX|NOSGX +TESTUI n/a UIF,Fv [ 0xF3 0x0F 0x01 /0xED] s:UINTR, t:UINTR, w:R|W, f:UINTR, m:O64|NOSGX +RDPKRU n/a EDX,EAX,ECX,PKRU [ NP 0x0F 0x01 /0xEE] s:PKU, t:MISC, w:W|W|R|R +CLUI n/a UIF [ 0xF3 0x0F 0x01 /0xEE] s:UINTR, t:UINTR, w:W, m:O64|NOTSX|NOSGX +WRPKRU n/a EDX,EAX,ECX,PKRU [ NP 0x0F 0x01 /0xEF] s:PKU, t:MISC, w:R|R|R|W +STUI n/a UIF [ 0xF3 0x0F 0x01 /0xEF] s:UINTR, t:UINTR, w:W, m:O64|NOTSX|NOSGX +SWAPGS n/a GSBASE,KGSBASE [ 0x0F 0x01 /0xF8] s:LONGMODE, t:SYSTEM, w:RW|RW, m:KERNEL|O64 +RDTSCP n/a EAX,EDX,ECX,TSC,TSCAUX [ 0x0F 0x01 /0xF9] s:RDTSCP, t:SYSTEM, w:W|W|W|R|R +MONITORX n/a pAXb,ECX,EDX [ NP 0x0F 0x01 /0xFA] s:MWAITT, t:SYSTEM, w:R|R|R, m:KERNEL|NOV86 +MCOMMIT n/a Fv [ 0xF3 0x0F 0x01 /0xFA] s:MCOMMIT, t:MISC, w:W, f:CF=m|PF=0|AF=0|ZF=0|SF=0|OF=0 +MWAITX n/a EAX,ECX,EBX [ NP 0x0F 0x01 /0xFB] s:MWAITT, t:SYSTEM, w:R|R|R, m:KERNEL|NOV86 +CLZERO n/a rAX [ 0x0F 0x01 /0xFC] s:CLZERO, t:MISC, w:R +RDPRU n/a EAX,EDX,ECX,Fv [ 0x0F 0x01 /0xFD] s:RDPRU, t:MISC, w:W|W|R|W, f:CF=m|PF=0|AF=0|ZF=0|SF=0|OF=0 +RMPQUERY n/a pAXb,EAX,RCX,RDX,Fv [ 0xF3 0x0F 0x01 /0xFD] s:SNP, t:SYSTEM, w:R|RW|W|RW|W, f:OF=m|ZF=m|AF=m|PF=m|SF=m, a:I67, m:O64|KERNEL, i:RMPQUERY +INVLPGB n/a rAX,ECX,EDX [ 0x0F 0x01 /0xFE] s:INVLPGB, t:SYSTEM, w:R|R|R, m:NOREAL|KERNEL +RMPADJUST n/a pAXb,EAX,RCX,RDX,Fv [ 0xF3 0x0F 0x01 /0xFE] s:SNP, t:SYSTEM, w:R|RW|R|R|W, f:OF=m|ZF=m|AF=m|PF=m|SF=m, a:I67, m:O64|KERNEL +RMPUPDATE n/a RAX,pCXdq,Fv [ 0xF2 0x0F 0x01 /0xFE] s:SNP, t:SYSTEM, w:RW|R|W, f:OF=m|ZF=m|AF=m|PF=m|SF=m, a:I67, m:O64|KERNEL +TLBSYNC n/a n/a [ 0x0F 0x01 /0xFF] s:INVLPGB, t:SYSTEM, m:NOREAL|KERNEL +PSMASH n/a RAX,Fv [ 0xF3 0x0F 0x01 /0xFF] s:SNP, t:SYSTEM, w:RW|W, f:OF=m|ZF=m|AF=m|PF=m|SF=m, m:O64|KERNEL +PVALIDATE n/a rAX,ECX,EDX,Fv [ 0xF2 0x0F 0x01 /0xFF] s:SNP, t:SYSTEM, w:RW|R|R|W, f:OF=m|ZF=m|AF=m|PF=m|SF=m|CF=m, m:KERNEL LAR Gv,Mw Fv [ 0x0F 0x02 /r:mem] s:I286PROT, t:SYSTEM, w:CW|R|W, f:ZF=m, m:NOREAL LAR Gv,Rz Fv [ 0x0F 0x02 /r:reg] s:I286PROT, t:SYSTEM, w:CW|R|W, f:ZF=m, m:NOREAL LSL Gv,Mw Fv [ 0x0F 0x03 /r:mem] s:I286PROT, t:SYSTEM, w:RW|R|W, f:ZF=m, m:NOREAL LSL Gv,Rz Fv [ 0x0F 0x03 /r:reg] s:I286PROT, t:SYSTEM, w:RW|R|W, f:ZF=m, m:NOREAL -#LOADALL nil BANK [ 0x0F 0x05] s:I486REAL, t:UNDOC, w:R -SYSCALL nil STAR,LSTAR,FMASK,SS,RCX,R11,CS,rIP,Fv,SSP [ 0x0F 0x05] s:AMD, t:SYSCALL, w:R|R|R|W|W|W|W|W|RW|RW, a:F64|CETT, i:FSC, m:NOSGX -CLTS nil CR0 [ 0x0F 0x06] s:I286REAL, t:SYSTEM, w:W, m:KERNEL|NOV86 -#LOADALLD nil BANK [ 0x0F 0x07] s:I486REAL, t:UNDOC, w:R -SYSRET nil STAR,SS,rCX,R11,CS,rIP,Fv,SSP [ 0x0F 0x07] s:AMD, t:SYSRET, w:R|W|R|R|W|W|W|W, i:FSC, m:KERNEL -INVD nil nil [ 0x0F 0x08] s:I486REAL, t:SYSTEM, a:SERIAL, m:KERNEL|NOV86 -WBINVD nil nil [ 0x0F 0x09] s:I486REAL, t:SYSTEM, a:SERIAL, m:KERNEL|NOV86 -WBNOINVD nil nil [ a0xF3 0x0F 0x09] s:WBNOINVD, t:WBNOINVD, m:KERNEL|NOV86 +#LOADALL n/a BANK [ 0x0F 0x05] s:I486REAL, t:UNDOC, w:R +SYSCALL n/a STAR,LSTAR,FMASK,SS,RCX,R11,CS,rIP,Fv,SSP [ 0x0F 0x05] s:AMD, t:SYSCALL, w:R|R|R|W|W|W|W|W|RW|RW, a:F64|CETT, i:FSC, m:NOSGX +CLTS n/a CR0 [ 0x0F 0x06] s:I286REAL, t:SYSTEM, w:W, m:KERNEL|NOV86 +#LOADALLD n/a BANK [ 0x0F 0x07] s:I486REAL, t:UNDOC, w:R +SYSRET n/a STAR,SS,rCX,R11,CS,rIP,Fv,SSP [ 0x0F 0x07] s:AMD, t:SYSRET, w:R|W|R|R|W|W|W|W, i:FSC, m:KERNEL +INVD n/a n/a [ 0x0F 0x08] s:I486REAL, t:SYSTEM, a:SERIAL, m:KERNEL|NOV86 +WBINVD n/a n/a [ 0x0F 0x09] s:I486REAL, t:SYSTEM, a:SERIAL, m:KERNEL|NOV86 +WBNOINVD n/a n/a [ a0xF3 0x0F 0x09] s:WBNOINVD, t:WBNOINVD, m:KERNEL|NOV86 # Not supported by regulat x86 CPUs. -#CL1INVMB nil nil [ 0x0F 0x0A] s:SCC, t:SYSTEM, m:NO64 -UD2 nil nil [ 0x0F 0x0B] s:PPRO, t:MISC -PREFETCHE Mb nil [ 0x0F 0x0D /0:mem] s:PREFETCH_NOP, t:PREFETCH, w:P -NOP Ev,Gv nil [ 0x0F 0x0D /0:reg] s:PPRO, t:NOP, w:N|N -PREFETCHW Mb nil [ 0x0F 0x0D /1:mem] s:PREFETCH_NOP, t:PREFETCH, w:P -NOP Ev,Gv nil [ 0x0F 0x0D /1:reg] s:PPRO, t:NOP, w:N|N -PREFETCHWT1 Mb nil [ 0x0F 0x0D /2:mem] s:PREFETCH_NOP, t:PREFETCH, w:P -NOP Ev,Gv nil [ 0x0F 0x0D /2:reg] s:PPRO, t:NOP, w:N|N -PREFETCHM Mb nil [ 0x0F 0x0D /3:mem] s:PREFETCH_NOP, t:PREFETCH, w:P -NOP Ev,Gv nil [ 0x0F 0x0D /3:reg] s:PPRO, t:NOP, w:N|N -PREFETCH Mb nil [ 0x0F 0x0D /4:mem] s:PREFETCH_NOP, t:PREFETCH, w:P -NOP Ev,Gv nil [ 0x0F 0x0D /4:reg] s:PPRO, t:NOP, w:N|N -PREFETCH Mb nil [ 0x0F 0x0D /5:mem] s:PREFETCH_NOP, t:PREFETCH, w:P -NOP Ev,Gv nil [ 0x0F 0x0D /5:reg] s:PPRO, t:NOP, w:N|N -PREFETCH Mb nil [ 0x0F 0x0D /6:mem] s:PREFETCH_NOP, t:PREFETCH, w:P -NOP Ev,Gv nil [ 0x0F 0x0D /6:reg] s:PPRO, t:NOP, w:N|N -PREFETCH Mb nil [ 0x0F 0x0D /7:mem] s:PREFETCH_NOP, t:PREFETCH, w:P -NOP Ev,Gv nil [ 0x0F 0x0D /7:reg] s:PPRO, t:NOP, w:N|N - -FEMMS nil nil [ 0x0F 0x0E] s:3DNOW, t:MMX, c:FEMMS +#CL1INVMB n/a n/a [ 0x0F 0x0A] s:SCC, t:SYSTEM, m:NO64 +UD2 n/a n/a [ 0x0F 0x0B] s:PPRO, t:MISC +PREFETCHE Mb n/a [ 0x0F 0x0D /0:mem] s:PREFETCH_NOP, t:PREFETCH, w:P +NOP Ev,Gv n/a [ 0x0F 0x0D /0:reg] s:PPRO, t:NOP, w:N|N +PREFETCHW Mb n/a [ 0x0F 0x0D /1:mem] s:PREFETCH_NOP, t:PREFETCH, w:P +NOP Ev,Gv n/a [ 0x0F 0x0D /1:reg] s:PPRO, t:NOP, w:N|N +PREFETCHWT1 Mb n/a [ 0x0F 0x0D /2:mem] s:PREFETCH_NOP, t:PREFETCH, w:P +NOP Ev,Gv n/a [ 0x0F 0x0D /2:reg] s:PPRO, t:NOP, w:N|N +PREFETCHM Mb n/a [ 0x0F 0x0D /3:mem] s:PREFETCH_NOP, t:PREFETCH, w:P +NOP Ev,Gv n/a [ 0x0F 0x0D /3:reg] s:PPRO, t:NOP, w:N|N +PREFETCH Mb n/a [ 0x0F 0x0D /4:mem] s:PREFETCH_NOP, t:PREFETCH, w:P +NOP Ev,Gv n/a [ 0x0F 0x0D /4:reg] s:PPRO, t:NOP, w:N|N +PREFETCH Mb n/a [ 0x0F 0x0D /5:mem] s:PREFETCH_NOP, t:PREFETCH, w:P +NOP Ev,Gv n/a [ 0x0F 0x0D /5:reg] s:PPRO, t:NOP, w:N|N +PREFETCH Mb n/a [ 0x0F 0x0D /6:mem] s:PREFETCH_NOP, t:PREFETCH, w:P +NOP Ev,Gv n/a [ 0x0F 0x0D /6:reg] s:PPRO, t:NOP, w:N|N +PREFETCH Mb n/a [ 0x0F 0x0D /7:mem] s:PREFETCH_NOP, t:PREFETCH, w:P +NOP Ev,Gv n/a [ 0x0F 0x0D /7:reg] s:PPRO, t:NOP, w:N|N + +FEMMS n/a n/a [ 0x0F 0x0E] s:3DNOW, t:MMX, c:FEMMS # 0x10 - 0x1F -MOVUPS Vps,Wps nil [ NP 0x0F 0x10 /r] s:SSE, t:DATAXFER, w:W|R, e:4 -MOVUPD Vpd,Wpd nil [ 0x66 0x0F 0x10 /r] s:SSE2, t:DATAXFER, w:W|R, e:4 -MOVSS Vss,Wss nil [ 0xF3 0x0F 0x10 /r] s:SSE, t:DATAXFER, w:W|R, e:5 -MOVSD Vsd,Wsd nil [ 0xF2 0x0F 0x10 /r] s:SSE2, t:DATAXFER, w:W|R, e:5 -MOVUPS Wps,Vps nil [ NP 0x0F 0x11 /r] s:SSE, t:DATAXFER, w:W|R, e:4 -MOVUPD Wpd,Vpd nil [ 0x66 0x0F 0x11 /r] s:SSE2, t:DATAXFER, w:W|R, e:4 -MOVSS Wss,Vss nil [ 0xF3 0x0F 0x11 /r] s:SSE, t:DATAXFER, w:W|R, e:5 -MOVSD Wsd,Vsd nil [ 0xF2 0x0F 0x11 /r] s:SSE2, t:DATAXFER, w:W|R, e:5 -MOVHLPS Vq,Wq nil [ NP 0x0F 0x12 /r] s:SSE, t:DATAXFER, w:W|R, e:5 -MOVLPD Vsd,Mq nil [ 0x66 0x0F 0x12 /r:mem] s:SSE2, t:DATAXFER, w:W|R, e:5 -MOVSLDUP Vx,Wx nil [ 0xF3 0x0F 0x12 /r] s:SSE3, t:DATAXFER, w:W|R, e:4 -MOVDDUP Vdq,Wq nil [ 0xF2 0x0F 0x12 /r] s:SSE3, t:DATAXFER, w:W|R, e:5 -MOVLPS Mq,Vps nil [ NP 0x0F 0x13 /r:mem] s:SSE, t:DATAXFER, w:W|R, e:5 -MOVLPD Mq,Vpd nil [ 0x66 0x0F 0x13 /r:mem] s:SSE2, t:DATAXFER, w:W|R, e:5 -UNPCKLPS Vx,Wx nil [ NP 0x0F 0x14 /r] s:SSE, t:SSE, w:RW|R, e:4 -UNPCKLPD Vx,Wx nil [ 0x66 0x0F 0x14 /r] s:SSE2, t:SSE, w:RW|R, e:4 -UNPCKHPS Vx,Wx nil [ NP 0x0F 0x15 /r] s:SSE, t:SSE, w:RW|R, e:4 -UNPCKHPD Vx,Wx nil [ 0x66 0x0F 0x15 /r] s:SSE2, t:SSE, w:RW|R, e:4 -MOVHPS Vq,Mq nil [ NP 0x0F 0x16 /r:mem] s:SSE, t:DATAXFER, w:W|R, e:5 -MOVLHPS Vq,Uq nil [ NP 0x0F 0x16 /r:reg] s:SSE, t:DATAXFER, w:W|R, e:7 -MOVHPD Vq,Mq nil [ 0x66 0x0F 0x16 /r:mem] s:SSE2, t:DATAXFER, w:W|R, e:5 -MOVSHDUP Vx,Wx nil [ 0xF3 0x0F 0x16 /r] s:SSE3, t:DATAXFER, w:W|R, e:4 -MOVHPS Mq,Vq nil [ NP 0x0F 0x17 /r:mem] s:SSE, t:DATAXFER, w:W|R, e:5 -MOVHPD Mq,Vq nil [ 0x66 0x0F 0x17 /r:mem] s:SSE2, t:DATAXFER, w:W|R, e:5 +MOVUPS Vps,Wps n/a [ NP 0x0F 0x10 /r] s:SSE, t:DATAXFER, w:W|R, e:4 +MOVUPD Vpd,Wpd n/a [ 0x66 0x0F 0x10 /r] s:SSE2, t:DATAXFER, w:W|R, e:4 +MOVSS Vss,Wss n/a [ 0xF3 0x0F 0x10 /r] s:SSE, t:DATAXFER, w:W|R, e:5 +MOVSD Vsd,Wsd n/a [ 0xF2 0x0F 0x10 /r] s:SSE2, t:DATAXFER, w:W|R, e:5 +MOVUPS Wps,Vps n/a [ NP 0x0F 0x11 /r] s:SSE, t:DATAXFER, w:W|R, e:4 +MOVUPD Wpd,Vpd n/a [ 0x66 0x0F 0x11 /r] s:SSE2, t:DATAXFER, w:W|R, e:4 +MOVSS Wss,Vss n/a [ 0xF3 0x0F 0x11 /r] s:SSE, t:DATAXFER, w:W|R, e:5 +MOVSD Wsd,Vsd n/a [ 0xF2 0x0F 0x11 /r] s:SSE2, t:DATAXFER, w:W|R, e:5 +MOVHLPS Vq,Wq n/a [ NP 0x0F 0x12 /r] s:SSE, t:DATAXFER, w:W|R, e:5 +MOVLPD Vsd,Mq n/a [ 0x66 0x0F 0x12 /r:mem] s:SSE2, t:DATAXFER, w:W|R, e:5 +MOVSLDUP Vx,Wx n/a [ 0xF3 0x0F 0x12 /r] s:SSE3, t:DATAXFER, w:W|R, e:4 +MOVDDUP Vdq,Wq n/a [ 0xF2 0x0F 0x12 /r] s:SSE3, t:DATAXFER, w:W|R, e:5 +MOVLPS Mq,Vps n/a [ NP 0x0F 0x13 /r:mem] s:SSE, t:DATAXFER, w:W|R, e:5 +MOVLPD Mq,Vpd n/a [ 0x66 0x0F 0x13 /r:mem] s:SSE2, t:DATAXFER, w:W|R, e:5 +UNPCKLPS Vx,Wx n/a [ NP 0x0F 0x14 /r] s:SSE, t:SSE, w:RW|R, e:4 +UNPCKLPD Vx,Wx n/a [ 0x66 0x0F 0x14 /r] s:SSE2, t:SSE, w:RW|R, e:4 +UNPCKHPS Vx,Wx n/a [ NP 0x0F 0x15 /r] s:SSE, t:SSE, w:RW|R, e:4 +UNPCKHPD Vx,Wx n/a [ 0x66 0x0F 0x15 /r] s:SSE2, t:SSE, w:RW|R, e:4 +MOVHPS Vq,Mq n/a [ NP 0x0F 0x16 /r:mem] s:SSE, t:DATAXFER, w:W|R, e:5 +MOVLHPS Vq,Uq n/a [ NP 0x0F 0x16 /r:reg] s:SSE, t:DATAXFER, w:W|R, e:7 +MOVHPD Vq,Mq n/a [ 0x66 0x0F 0x16 /r:mem] s:SSE2, t:DATAXFER, w:W|R, e:5 +MOVSHDUP Vx,Wx n/a [ 0xF3 0x0F 0x16 /r] s:SSE3, t:DATAXFER, w:W|R, e:4 +MOVHPS Mq,Vq n/a [ NP 0x0F 0x17 /r:mem] s:SSE, t:DATAXFER, w:W|R, e:5 +MOVHPD Mq,Vq n/a [ 0x66 0x0F 0x17 /r:mem] s:SSE2, t:DATAXFER, w:W|R, e:5 # Default wide-nops/PREFETCH instructions. -PREFETCHNTA Mb nil [ 0x0F 0x18 /0:mem] s:SSE, t:PREFETCH, w:P -NOP Ev nil [ 0x0F 0x18 /0:reg] s:PPRO, t:WIDENOP, w:N -PREFETCHT0 Mb nil [ 0x0F 0x18 /1:mem] s:SSE, t:PREFETCH, w:P -NOP Ev nil [ 0x0F 0x18 /1:reg] s:PPRO, t:WIDENOP, w:N -PREFETCHT1 Mb nil [ 0x0F 0x18 /2:mem] s:SSE, t:PREFETCH, w:P -NOP Ev nil [ 0x0F 0x18 /2:reg] s:PPRO, t:WIDENOP, w:N -PREFETCHT2 Mb nil [ 0x0F 0x18 /3:mem] s:SSE, t:PREFETCH, w:P -NOP Ev nil [ 0x0F 0x18 /3:reg] s:PPRO, t:WIDENOP, w:N -NOP Ev nil [ 0x0F 0x18 /4] s:PPRO, t:WIDENOP, w:N -NOP Ev nil [ 0x0F 0x18 /5] s:PPRO, t:WIDENOP, w:N -NOP Ev nil [ 0x0F 0x18 /6] s:PPRO, t:WIDENOP, w:N -NOP Ev nil [ 0x0F 0x18 /7] s:PPRO, t:WIDENOP, w:N -NOP Ev nil [ 0x0F 0x19 /r] s:PPRO, t:WIDENOP, w:N +PREFETCHNTA Mb n/a [ 0x0F 0x18 /0:mem] s:SSE, t:PREFETCH, w:P +NOP Ev n/a [ 0x0F 0x18 /0:reg] s:PPRO, t:WIDENOP, w:N +PREFETCHT0 Mb n/a [ 0x0F 0x18 /1:mem] s:SSE, t:PREFETCH, w:P +NOP Ev n/a [ 0x0F 0x18 /1:reg] s:PPRO, t:WIDENOP, w:N +PREFETCHT1 Mb n/a [ 0x0F 0x18 /2:mem] s:SSE, t:PREFETCH, w:P +NOP Ev n/a [ 0x0F 0x18 /2:reg] s:PPRO, t:WIDENOP, w:N +PREFETCHT2 Mb n/a [ 0x0F 0x18 /3:mem] s:SSE, t:PREFETCH, w:P +NOP Ev n/a [ 0x0F 0x18 /3:reg] s:PPRO, t:WIDENOP, w:N +NOP Ev n/a [ 0x0F 0x18 /4] s:PPRO, t:WIDENOP, w:N +NOP Ev n/a [ 0x0F 0x18 /5] s:PPRO, t:WIDENOP, w:N +NOP Ev n/a [ 0x0F 0x18 /6] s:PPRO, t:WIDENOP, w:N +NOP Ev n/a [ 0x0F 0x18 /7] s:PPRO, t:WIDENOP, w:N +NOP Ev n/a [ 0x0F 0x19 /r] s:PPRO, t:WIDENOP, w:N # PREFETCHITI instructions. Most of them duplicates of the above, since they are also present when the PREFETCHIT feature # is enabled (which applies to the entire opcode). -PREFETCHNTA Mb nil [ piti 0x0F 0x18 /0:mem] s:SSE, t:PREFETCH, w:P -NOP Ev nil [ piti 0x0F 0x18 /0:reg] s:PPRO, t:WIDENOP, w:N -PREFETCHT0 Mb nil [ piti 0x0F 0x18 /1:mem] s:SSE, t:PREFETCH, w:P -NOP Ev nil [ piti 0x0F 0x18 /1:reg] s:PPRO, t:WIDENOP, w:N -PREFETCHT1 Mb nil [ piti 0x0F 0x18 /2:mem] s:SSE, t:PREFETCH, w:P -NOP Ev nil [ piti 0x0F 0x18 /2:reg] s:PPRO, t:WIDENOP, w:N -PREFETCHT2 Mb nil [ piti 0x0F 0x18 /3:mem] s:SSE, t:PREFETCH, w:P -NOP Ev nil [ piti 0x0F 0x18 /3:reg] s:PPRO, t:WIDENOP, w:N -NOP Ev nil [ piti 0x0F 0x18 /4] s:PPRO, t:WIDENOP, w:N -NOP Ev nil [ piti 0x0F 0x18 /5] s:PPRO, t:WIDENOP, w:N -PREFETCHIT1 Mb nil [piti riprel 0x0F 0x18 /6:mem] s:PREFETCHITI, t:PREFETCH, w:N, m:O64 -NOP Ev nil [ piti 0x0F 0x18 /6:mem] s:PPRO, t:WIDENOP, w:N -NOP Ev nil [ piti 0x0F 0x18 /6:reg] s:PPRO, t:WIDENOP, w:N -PREFETCHIT0 Mb nil [piti riprel 0x0F 0x18 /7:mem] s:PREFETCHITI, t:PREFETCH, w:N, m:O64 -NOP Ev nil [ piti 0x0F 0x18 /7:mem] s:PPRO, t:WIDENOP, w:N -NOP Ev nil [ piti 0x0F 0x18 /7:reg] s:PPRO, t:WIDENOP, w:N +PREFETCHNTA Mb n/a [ piti 0x0F 0x18 /0:mem] s:SSE, t:PREFETCH, w:P +NOP Ev n/a [ piti 0x0F 0x18 /0:reg] s:PPRO, t:WIDENOP, w:N +PREFETCHT0 Mb n/a [ piti 0x0F 0x18 /1:mem] s:SSE, t:PREFETCH, w:P +NOP Ev n/a [ piti 0x0F 0x18 /1:reg] s:PPRO, t:WIDENOP, w:N +PREFETCHT1 Mb n/a [ piti 0x0F 0x18 /2:mem] s:SSE, t:PREFETCH, w:P +NOP Ev n/a [ piti 0x0F 0x18 /2:reg] s:PPRO, t:WIDENOP, w:N +PREFETCHT2 Mb n/a [ piti 0x0F 0x18 /3:mem] s:SSE, t:PREFETCH, w:P +NOP Ev n/a [ piti 0x0F 0x18 /3:reg] s:PPRO, t:WIDENOP, w:N +NOP Ev n/a [ piti 0x0F 0x18 /4] s:PPRO, t:WIDENOP, w:N +NOP Ev n/a [ piti 0x0F 0x18 /5] s:PPRO, t:WIDENOP, w:N +PREFETCHIT1 Mb n/a [piti riprel 0x0F 0x18 /6:mem] s:PREFETCHITI, t:PREFETCH, w:N, m:O64 +NOP Ev n/a [ piti 0x0F 0x18 /6:mem] s:PPRO, t:WIDENOP, w:N +NOP Ev n/a [ piti 0x0F 0x18 /6:reg] s:PPRO, t:WIDENOP, w:N +PREFETCHIT0 Mb n/a [piti riprel 0x0F 0x18 /7:mem] s:PREFETCHITI, t:PREFETCH, w:N, m:O64 +NOP Ev n/a [ piti 0x0F 0x18 /7:mem] s:PPRO, t:WIDENOP, w:N +NOP Ev n/a [ piti 0x0F 0x18 /7:reg] s:PPRO, t:WIDENOP, w:N # MPX instructions. According to the SDM, MPX instructions have 64 bit op & address size in 64 bit mode, no matter @@ -183,112 +188,112 @@ NOP Ev nil [ piti 0x0F 0x18 /7 # that Xed doesn't do those checks either). # MPX not used, these guys are wide NOPs. -NOP Ev,Gv nil [ 0x0F 0x1A /r] s:PPRO, t:WIDENOP, w:N|N -NOP Gv,Ev nil [ 0x0F 0x1B /r] s:PPRO, t:WIDENOP, w:N|N -NOP Ev,Gv nil [ 0x0F 0x1C /r] s:PPRO, t:WIDENOP, w:N|N -NOP Ev,Gv nil [ 0x0F 0x1D /r] s:PPRO, t:WIDENOP, w:N|N -NOP Ev,Gv nil [ 0x0F 0x1E /r] s:PPRO, t:WIDENOP, w:N|N -NOP Ev,Gv nil [ 0x0F 0x1F /r] s:PPRO, t:WIDENOP, w:N|N +NOP Ev,Gv n/a [ 0x0F 0x1A /r] s:PPRO, t:WIDENOP, w:N|N +NOP Gv,Ev n/a [ 0x0F 0x1B /r] s:PPRO, t:WIDENOP, w:N|N +NOP Ev,Gv n/a [ 0x0F 0x1C /r] s:PPRO, t:WIDENOP, w:N|N +NOP Ev,Gv n/a [ 0x0F 0x1D /r] s:PPRO, t:WIDENOP, w:N|N +NOP Ev,Gv n/a [ 0x0F 0x1E /r] s:PPRO, t:WIDENOP, w:N|N +NOP Ev,Gv n/a [ 0x0F 0x1F /r] s:PPRO, t:WIDENOP, w:N|N # Features that are mapped onto wide NOPs. # MPX -BNDLDX rBl,Mmib nil [ mpx 0x0F 0x1A /r:mem mib] s:MPX, t:MPX, w:W|R, a:AG|NOA16|NORIPREL|I67 -NOP Gv,Ev nil [ mpx 0x0F 0x1A /r:reg] s:PPRO, t:WIDENOP, w:N|N -BNDMOV rBl,mBl nil [ mpx 0x66 0x0F 0x1A /r] s:MPX, t:MPX, w:W|R, a:NOA16|I67 -BNDCL rBl,Ey nil [ mpx 0xF3 0x0F 0x1A /r] s:MPX, t:MPX, w:R|R, a:AG|F64|I67 -BNDCU rBl,Ey nil [ mpx 0xF2 0x0F 0x1A /r] s:MPX, t:MPX, w:R|R, a:AG|F64|I67 -BNDSTX Mmib,rBl nil [ mpx 0x0F 0x1B /r:mem mib] s:MPX, t:MPX, w:W|R, a:AG|NOA16|NORIPREL|I67 -NOP Gv,Ev nil [ mpx 0x0F 0x1B /r:reg] s:PPRO, t:WIDENOP, w:N|N -BNDMOV mBl,rBl nil [ mpx 0x66 0x0F 0x1B /r] s:MPX, t:MPX, w:W|R, a:NOA16|I67 -BNDMK rBl,My nil [ mpx 0xF3 0x0F 0x1B /r:mem] s:MPX, t:MPX, w:W|R, a:F64|NOA16|NORIPREL|I67 -NOP Gv,Ev nil [ mpx 0xF3 0x0F 0x1B /r:reg] s:PPRO, t:WIDENOP, w:N|N -BNDCN rBl,Ey nil [ mpx 0xF2 0x0F 0x1B /r] s:MPX, t:MPX, w:R|R, a:AG|F64|I67 +BNDLDX rBl,Mmib n/a [ mpx 0x0F 0x1A /r:mem mib] s:MPX, t:MPX, w:W|R, a:AG|NOA16|NORIPREL|I67 +NOP Gv,Ev n/a [ mpx 0x0F 0x1A /r:reg] s:PPRO, t:WIDENOP, w:N|N +BNDMOV rBl,mBl n/a [ mpx 0x66 0x0F 0x1A /r] s:MPX, t:MPX, w:W|R, a:NOA16|I67 +BNDCL rBl,Ey n/a [ mpx 0xF3 0x0F 0x1A /r] s:MPX, t:MPX, w:R|R, a:AG|F64|I67 +BNDCU rBl,Ey n/a [ mpx 0xF2 0x0F 0x1A /r] s:MPX, t:MPX, w:R|R, a:AG|F64|I67 +BNDSTX Mmib,rBl n/a [ mpx 0x0F 0x1B /r:mem mib] s:MPX, t:MPX, w:W|R, a:AG|NOA16|NORIPREL|I67 +NOP Gv,Ev n/a [ mpx 0x0F 0x1B /r:reg] s:PPRO, t:WIDENOP, w:N|N +BNDMOV mBl,rBl n/a [ mpx 0x66 0x0F 0x1B /r] s:MPX, t:MPX, w:W|R, a:NOA16|I67 +BNDMK rBl,My n/a [ mpx 0xF3 0x0F 0x1B /r:mem] s:MPX, t:MPX, w:W|R, a:F64|NOA16|NORIPREL|I67 +NOP Gv,Ev n/a [ mpx 0xF3 0x0F 0x1B /r:reg] s:PPRO, t:WIDENOP, w:N|N +BNDCN rBl,Ey n/a [ mpx 0xF2 0x0F 0x1B /r] s:MPX, t:MPX, w:R|R, a:AG|F64|I67 # CLDEMOTE -CLDEMOTE Mb nil [ cldm NP 0x0F 0x1C /0:mem] s:CLDEMOTE, t:CLDEMOTE, w:P -NOP Ev,Gv nil [ cldm 0x66 0x0F 0x1C /0:mem] s:PPRO, t:WIDENOP, w:N|N -NOP Ev,Gv nil [ cldm 0xF3 0x0F 0x1C /0:mem] s:PPRO, t:WIDENOP, w:N|N -NOP Ev,Gv nil [ cldm 0xF2 0x0F 0x1C /0:mem] s:PPRO, t:WIDENOP, w:N|N -NOP Ev,Gv nil [ cldm 0x0F 0x1C /0:reg] s:PPRO, t:WIDENOP, w:N|N -NOP Ev,Gv nil [ cldm 0x0F 0x1C /1] s:PPRO, t:WIDENOP, w:N|N -NOP Ev,Gv nil [ cldm 0x0F 0x1C /2] s:PPRO, t:WIDENOP, w:N|N -NOP Ev,Gv nil [ cldm 0x0F 0x1C /3] s:PPRO, t:WIDENOP, w:N|N -NOP Ev,Gv nil [ cldm 0x0F 0x1C /4] s:PPRO, t:WIDENOP, w:N|N -NOP Ev,Gv nil [ cldm 0x0F 0x1C /5] s:PPRO, t:WIDENOP, w:N|N -NOP Ev,Gv nil [ cldm 0x0F 0x1C /6] s:PPRO, t:WIDENOP, w:N|N -NOP Ev,Gv nil [ cldm 0x0F 0x1C /7] s:PPRO, t:WIDENOP, w:N|N +CLDEMOTE Mb n/a [ cldm NP 0x0F 0x1C /0:mem] s:CLDEMOTE, t:CLDEMOTE, w:P +NOP Ev,Gv n/a [ cldm 0x66 0x0F 0x1C /0:mem] s:PPRO, t:WIDENOP, w:N|N +NOP Ev,Gv n/a [ cldm 0xF3 0x0F 0x1C /0:mem] s:PPRO, t:WIDENOP, w:N|N +NOP Ev,Gv n/a [ cldm 0xF2 0x0F 0x1C /0:mem] s:PPRO, t:WIDENOP, w:N|N +NOP Ev,Gv n/a [ cldm 0x0F 0x1C /0:reg] s:PPRO, t:WIDENOP, w:N|N +NOP Ev,Gv n/a [ cldm 0x0F 0x1C /1] s:PPRO, t:WIDENOP, w:N|N +NOP Ev,Gv n/a [ cldm 0x0F 0x1C /2] s:PPRO, t:WIDENOP, w:N|N +NOP Ev,Gv n/a [ cldm 0x0F 0x1C /3] s:PPRO, t:WIDENOP, w:N|N +NOP Ev,Gv n/a [ cldm 0x0F 0x1C /4] s:PPRO, t:WIDENOP, w:N|N +NOP Ev,Gv n/a [ cldm 0x0F 0x1C /5] s:PPRO, t:WIDENOP, w:N|N +NOP Ev,Gv n/a [ cldm 0x0F 0x1C /6] s:PPRO, t:WIDENOP, w:N|N +NOP Ev,Gv n/a [ cldm 0x0F 0x1C /7] s:PPRO, t:WIDENOP, w:N|N # CET -NOP Mv,Gv nil [ cet 0x0F 0x1E /r:mem] s:PPRO, t:WIDENOP, w:N|N -NOP Rv,Gv nil [ cet 0x0F 0x1E /0:reg] s:PPRO, t:WIDENOP, w:N|N -NOP Rv,Gv nil [ cet 0x0F 0x1E /1:reg] s:PPRO, t:WIDENOP, w:N|N -NOP Rv,Gv nil [ cet rexw 0x0F 0x1E /1:reg] s:PPRO, t:WIDENOP, w:N|N +NOP Mv,Gv n/a [ cet 0x0F 0x1E /r:mem] s:PPRO, t:WIDENOP, w:N|N +NOP Rv,Gv n/a [ cet 0x0F 0x1E /0:reg] s:PPRO, t:WIDENOP, w:N|N +NOP Rv,Gv n/a [ cet 0x0F 0x1E /1:reg] s:PPRO, t:WIDENOP, w:N|N +NOP Rv,Gv n/a [ cet rexw 0x0F 0x1E /1:reg] s:PPRO, t:WIDENOP, w:N|N RDSSPD Rd SSP [ cet a0xF3 0x0F 0x1E /1:reg] s:CET_SS, t:CET, c:RSSSP, w:W|R RDSSPQ Rq SSP [ cet a0xF3 rexw 0x0F 0x1E /1:reg] s:CET_SS, t:CET, c:RSSSP, w:W|R -NOP Rv,Gv nil [ cet 0x0F 0x1E /2:reg] s:PPRO, t:WIDENOP, w:N|N -NOP Rv,Gv nil [ cet 0x0F 0x1E /3:reg] s:PPRO, t:WIDENOP, w:N|N -NOP Rv,Gv nil [ cet 0x0F 0x1E /4:reg] s:PPRO, t:WIDENOP, w:N|N -NOP Rv,Gv nil [ cet 0x0F 0x1E /5:reg] s:PPRO, t:WIDENOP, w:N|N -NOP Rv,Gv nil [ cet 0x0F 0x1E /6:reg] s:PPRO, t:WIDENOP, w:N|N -NOP Rv,Gv nil [ cet 0x0F 0x1E /0xF8] s:PPRO, t:WIDENOP, w:N|N -NOP Rv,Gv nil [ cet 0x0F 0x1E /0xF9] s:PPRO, t:WIDENOP, w:N|N -NOP Rv,Gv nil [ cet 0x0F 0x1E /0xFA] s:PPRO, t:WIDENOP, w:N|N -NOP Rv,Gv nil [ cet 0x0F 0x1E /0xFB] s:PPRO, t:WIDENOP, w:N|N -NOP Rv,Gv nil [ cet 0x0F 0x1E /0xFC] s:PPRO, t:WIDENOP, w:N|N -NOP Rv,Gv nil [ cet 0x0F 0x1E /0xFD] s:PPRO, t:WIDENOP, w:N|N -NOP Rv,Gv nil [ cet 0x0F 0x1E /0xFE] s:PPRO, t:WIDENOP, w:N|N -NOP Rv,Gv nil [ cet 0x0F 0x1E /0xFF] s:PPRO, t:WIDENOP, w:N|N -ENDBR64 nil nil [ cet a0xF3 0x0F 0x1E /0xFA] s:CET_IBT, t:CET, c:ENDBR -ENDBR32 nil nil [ cet a0xF3 0x0F 0x1E /0xFB] s:CET_IBT, t:CET, c:ENDBR +NOP Rv,Gv n/a [ cet 0x0F 0x1E /2:reg] s:PPRO, t:WIDENOP, w:N|N +NOP Rv,Gv n/a [ cet 0x0F 0x1E /3:reg] s:PPRO, t:WIDENOP, w:N|N +NOP Rv,Gv n/a [ cet 0x0F 0x1E /4:reg] s:PPRO, t:WIDENOP, w:N|N +NOP Rv,Gv n/a [ cet 0x0F 0x1E /5:reg] s:PPRO, t:WIDENOP, w:N|N +NOP Rv,Gv n/a [ cet 0x0F 0x1E /6:reg] s:PPRO, t:WIDENOP, w:N|N +NOP Rv,Gv n/a [ cet 0x0F 0x1E /0xF8] s:PPRO, t:WIDENOP, w:N|N +NOP Rv,Gv n/a [ cet 0x0F 0x1E /0xF9] s:PPRO, t:WIDENOP, w:N|N +NOP Rv,Gv n/a [ cet 0x0F 0x1E /0xFA] s:PPRO, t:WIDENOP, w:N|N +NOP Rv,Gv n/a [ cet 0x0F 0x1E /0xFB] s:PPRO, t:WIDENOP, w:N|N +NOP Rv,Gv n/a [ cet 0x0F 0x1E /0xFC] s:PPRO, t:WIDENOP, w:N|N +NOP Rv,Gv n/a [ cet 0x0F 0x1E /0xFD] s:PPRO, t:WIDENOP, w:N|N +NOP Rv,Gv n/a [ cet 0x0F 0x1E /0xFE] s:PPRO, t:WIDENOP, w:N|N +NOP Rv,Gv n/a [ cet 0x0F 0x1E /0xFF] s:PPRO, t:WIDENOP, w:N|N +ENDBR64 n/a n/a [ cet a0xF3 0x0F 0x1E /0xFA] s:CET_IBT, t:CET, c:ENDBR +ENDBR32 n/a n/a [ cet a0xF3 0x0F 0x1E /0xFB] s:CET_IBT, t:CET, c:ENDBR # 0x20 - 0x2F -MOV Ry,Cy nil [ 0x0F 0x20 /r] s:I86, t:DATAXFER, c:MOV_CR, w:W|R, a:LOCKSP|MFR|F64, m:KERNEL|NOV86 -MOV Ry,Dy nil [ 0x0F 0x21 /r] s:I86, t:DATAXFER, c:MOV_DR, w:W|R, a:MFR|F64, m:KERNEL|NOV86 -MOV Cy,Ry nil [ 0x0F 0x22 /r] s:I86, t:DATAXFER, c:MOV_CR, w:W|R, a:LOCKSP|MFR|F64|SERIAL, m:KERNEL|NOV86 -MOV Dy,Ry nil [ 0x0F 0x23 /r] s:I86, t:DATAXFER, c:MOV_DR, w:W|R, a:MFR|F64|SERIAL, m:KERNEL|NOV86 -MOV Ry,Ty nil [ 0x0F 0x24 /r] s:I86, t:DATAXFER, c:MOV_TR, w:W|R, a:MFR|F64, m:KERNEL|NOV86|NO64 -MOV Ty,Ry nil [ 0x0F 0x26 /r] s:I86, t:DATAXFER, c:MOV_TR, w:W|R, a:MFR|F64, m:KERNEL|NOV86|NO64 -MOVAPS Vps,Wps nil [ NP 0x0F 0x28 /r] s:SSE, t:DATAXFER, w:W|R, e:1 -MOVAPD Vpd,Wpd nil [ 0x66 0x0F 0x28 /r] s:SSE2, t:DATAXFER, w:W|R, e:1 -MOVAPS Wps,Vps nil [ NP 0x0F 0x29 /r] s:SSE, t:DATAXFER, w:W|R, e:1 -MOVAPD Wpd,Vpd nil [ 0x66 0x0F 0x29 /r] s:SSE2, t:DATAXFER, w:W|R, e:1 -CVTPI2PS Vq,Qq nil [ NP 0x0F 0x2A /r] s:SSE, t:CONVERT, w:W|R -CVTPI2PD Vpd,Qq nil [ 0x66 0x0F 0x2A /r] s:SSE2, t:CONVERT, w:W|R -CVTSI2SS Vss,Ey nil [ 0xF3 0x0F 0x2A /r] s:SSE, t:CONVERT, w:W|R, e:3 -CVTSI2SD Vsd,Ey nil [ 0xF2 0x0F 0x2A /r] s:SSE2, t:CONVERT, w:W|R, e:3 -MOVNTPS Mps,Vps nil [ NP 0x0F 0x2B /r:mem] s:SSE, t:DATAXFER, w:W|R, e:1 -MOVNTPD Mpd,Vpd nil [ 0x66 0x0F 0x2B /r:mem] s:SSE2, t:DATAXFER, w:W|R, e:1 -MOVNTSS Mss,Vss nil [ 0xF3 0x0F 0x2B /r:mem] s:SSE4A, t:DATAXFER, w:W|R -MOVNTSD Msd,Vsd nil [ 0xF2 0x0F 0x2B /r:mem] s:SSE4A, t:DATAXFER, w:W|R -CVTTPS2PI Pq,Wq nil [ NP 0x0F 0x2C /r] s:SSE, t:CONVERT, w:W|R -CVTTPD2PI Pq,Wpd nil [ 0x66 0x0F 0x2C /r] s:SSE2, t:CONVERT, w:W|R -CVTTSS2SI Gy,Wss nil [ 0xF3 0x0F 0x2C /r] s:SSE, t:CONVERT, w:W|R, e:3 -CVTTSD2SI Gy,Wsd nil [ 0xF2 0x0F 0x2C /r] s:SSE2, t:CONVERT, w:W|R, e:3 -CVTPS2PI Pq,Wq nil [ NP 0x0F 0x2D /r] s:SSE, t:CONVERT, w:W|R -CVTPD2PI Pq,Wpd nil [ 0x66 0x0F 0x2D /r] s:SSE2, t:CONVERT, w:W|R -CVTSS2SI Gy,Wss nil [ 0xF3 0x0F 0x2D /r] s:SSE, t:CONVERT, w:W|R, e:3 -CVTSD2SI Gy,Wsd nil [ 0xF2 0x0F 0x2D /r] s:SSE2, t:CONVERT, w:W|R, e:3 +MOV Ry,Cy n/a [ 0x0F 0x20 /r] s:I86, t:DATAXFER, c:MOV_CR, w:W|R, a:LOCKSP|MFR|F64, m:KERNEL|NOV86 +MOV Ry,Dy n/a [ 0x0F 0x21 /r] s:I86, t:DATAXFER, c:MOV_DR, w:W|R, a:MFR|F64, m:KERNEL|NOV86 +MOV Cy,Ry n/a [ 0x0F 0x22 /r] s:I86, t:DATAXFER, c:MOV_CR, w:W|R, a:LOCKSP|MFR|F64|SERIAL, m:KERNEL|NOV86 +MOV Dy,Ry n/a [ 0x0F 0x23 /r] s:I86, t:DATAXFER, c:MOV_DR, w:W|R, a:MFR|F64|SERIAL, m:KERNEL|NOV86 +MOV Ry,Ty n/a [ 0x0F 0x24 /r] s:I86, t:DATAXFER, c:MOV_TR, w:W|R, a:MFR|F64, m:KERNEL|NOV86|NO64 +MOV Ty,Ry n/a [ 0x0F 0x26 /r] s:I86, t:DATAXFER, c:MOV_TR, w:W|R, a:MFR|F64, m:KERNEL|NOV86|NO64 +MOVAPS Vps,Wps n/a [ NP 0x0F 0x28 /r] s:SSE, t:DATAXFER, w:W|R, e:1 +MOVAPD Vpd,Wpd n/a [ 0x66 0x0F 0x28 /r] s:SSE2, t:DATAXFER, w:W|R, e:1 +MOVAPS Wps,Vps n/a [ NP 0x0F 0x29 /r] s:SSE, t:DATAXFER, w:W|R, e:1 +MOVAPD Wpd,Vpd n/a [ 0x66 0x0F 0x29 /r] s:SSE2, t:DATAXFER, w:W|R, e:1 +CVTPI2PS Vq,Qq n/a [ NP 0x0F 0x2A /r] s:SSE, t:CONVERT, w:W|R +CVTPI2PD Vpd,Qq n/a [ 0x66 0x0F 0x2A /r] s:SSE2, t:CONVERT, w:W|R +CVTSI2SS Vss,Ey n/a [ 0xF3 0x0F 0x2A /r] s:SSE, t:CONVERT, w:W|R, e:3 +CVTSI2SD Vsd,Ey n/a [ 0xF2 0x0F 0x2A /r] s:SSE2, t:CONVERT, w:W|R, e:3 +MOVNTPS Mps,Vps n/a [ NP 0x0F 0x2B /r:mem] s:SSE, t:DATAXFER, w:W|R, e:1 +MOVNTPD Mpd,Vpd n/a [ 0x66 0x0F 0x2B /r:mem] s:SSE2, t:DATAXFER, w:W|R, e:1 +MOVNTSS Mss,Vss n/a [ 0xF3 0x0F 0x2B /r:mem] s:SSE4A, t:DATAXFER, w:W|R +MOVNTSD Msd,Vsd n/a [ 0xF2 0x0F 0x2B /r:mem] s:SSE4A, t:DATAXFER, w:W|R +CVTTPS2PI Pq,Wq n/a [ NP 0x0F 0x2C /r] s:SSE, t:CONVERT, w:W|R +CVTTPD2PI Pq,Wpd n/a [ 0x66 0x0F 0x2C /r] s:SSE2, t:CONVERT, w:W|R +CVTTSS2SI Gy,Wss n/a [ 0xF3 0x0F 0x2C /r] s:SSE, t:CONVERT, w:W|R, e:3 +CVTTSD2SI Gy,Wsd n/a [ 0xF2 0x0F 0x2C /r] s:SSE2, t:CONVERT, w:W|R, e:3 +CVTPS2PI Pq,Wq n/a [ NP 0x0F 0x2D /r] s:SSE, t:CONVERT, w:W|R +CVTPD2PI Pq,Wpd n/a [ 0x66 0x0F 0x2D /r] s:SSE2, t:CONVERT, w:W|R +CVTSS2SI Gy,Wss n/a [ 0xF3 0x0F 0x2D /r] s:SSE, t:CONVERT, w:W|R, e:3 +CVTSD2SI Gy,Wsd n/a [ 0xF2 0x0F 0x2D /r] s:SSE2, t:CONVERT, w:W|R, e:3 UCOMISS Vss,Wss Fv [ NP 0x0F 0x2E /r] s:SSE, t:SSE, w:R|R|W, f:COMIS UCOMISD Vsd,Wsd Fv [ 0x66 0x0F 0x2E /r] s:SSE2, t:SSE2, w:R|R|W, f:COMIS, e:3 COMISS Vss,Wss Fv [ NP 0x0F 0x2F /r] s:SSE, t:SSE, w:R|R|W, f:COMIS, e:3 COMISD Vsd,Wsd Fv [ 0x66 0x0F 0x2F /r] s:SSE2, t:SSE2, w:R|R|W, f:COMIS, e:3 # 0x30 - 0x3F -WRMSR nil EAX,EDX,ECX,MSR [ 0x0F 0x30] s:PENTIUMREAL, t:SYSTEM, w:R|R|R|W, a:SERIAL, m:KERNEL|NOV86, i:MSR -RDTSC nil EAX,EDX,TSC [ 0x0F 0x31] s:PENTIUMREAL, t:SYSTEM, w:W|W|R -RDMSR nil EAX,EDX,ECX,MSR [ 0x0F 0x32] s:PENTIUMREAL, t:SYSTEM, w:W|W|R|R, m:KERNEL|NOV86, i:MSR -RDPMC nil EAX,EDX,ECX,MSR [ 0x0F 0x33] s:RDPMC, t:SYSTEM, w:W|W|R|R, m:NOSGX -SYSENTER nil SCS,SESP,SEIP,SS,sSP,CS,rIP,Fv,SSP [ 0x0F 0x34] s:PPRO, t:SYSCALL, w:R|R|R|W|W|W|W|W|RW, a:CETT, i:SEP, f:IF=0, m:NOREAL|NOSGX -SYSEXIT nil SS,sSP,CS,rIP,SSP [ 0x0F 0x35] s:PPRO, t:SYSRET, w:W|W|W|W|W|W, a:F64, i:SEP, m:KERNEL|NOREAL -RDSHR Ed nil [ cyrix 0x0F 0x36 /r] s:CYRIX, t:SYSTEM, w:R -GETSEC nil EAX,EBX [ NP 0x0F 0x37] s:SMX, t:SYSTEM, w:RCW|R, m:KERNEL|NOREAL|NOSGX -WRSHR Ed nil [ cyrix 0x0F 0x37 /r] s:CYRIX, t:SYSTEM, w:W -DMINT nil nil [ 0x0F 0x39] s:CYRIX, t:SYSTEM, m:NO64 -CPU_WRITE nil nil [ 0x0F 0x3C] s:CYRIX, t:SYSTEM -CPU_READ nil nil [ 0x0F 0x3D] s:CYRIX, t:SYSTEM -ALTINST nil nil [ 0x0F 0x3F] s:CYRIX, t:SYSTEM +WRMSR n/a EAX,EDX,ECX,MSR [ 0x0F 0x30] s:PENTIUMREAL, t:SYSTEM, w:R|R|R|W, a:SERIAL, m:KERNEL|NOV86, i:MSR +RDTSC n/a EAX,EDX,TSC [ 0x0F 0x31] s:PENTIUMREAL, t:SYSTEM, w:W|W|R +RDMSR n/a EAX,EDX,ECX,MSR [ 0x0F 0x32] s:PENTIUMREAL, t:SYSTEM, w:W|W|R|R, m:KERNEL|NOV86, i:MSR +RDPMC n/a EAX,EDX,ECX,MSR [ 0x0F 0x33] s:RDPMC, t:SYSTEM, w:W|W|R|R, m:NOSGX +SYSENTER n/a SCS,SESP,SEIP,SS,sSP,CS,rIP,Fv,SSP [ 0x0F 0x34] s:PPRO, t:SYSCALL, w:R|R|R|W|W|W|W|W|RW, a:CETT, i:SEP, f:IF=0, m:NOREAL|NOSGX +SYSEXIT n/a SS,sSP,CS,rIP,SSP [ 0x0F 0x35] s:PPRO, t:SYSRET, w:W|W|W|W|W|W, a:F64, i:SEP, m:KERNEL|NOREAL +RDSHR Ed n/a [ cyrix 0x0F 0x36 /r] s:CYRIX, t:SYSTEM, w:R +GETSEC n/a EAX,EBX [ NP 0x0F 0x37] s:SMX, t:SYSTEM, w:RCW|R, m:KERNEL|NOREAL|NOSGX +WRSHR Ed n/a [ cyrix 0x0F 0x37 /r] s:CYRIX, t:SYSTEM, w:W +DMINT n/a n/a [ 0x0F 0x39] s:CYRIX, t:SYSTEM, m:NO64 +CPU_WRITE n/a n/a [ 0x0F 0x3C] s:CYRIX, t:SYSTEM +CPU_READ n/a n/a [ 0x0F 0x3D] s:CYRIX, t:SYSTEM +ALTINST n/a n/a [ 0x0F 0x3F] s:CYRIX, t:SYSTEM # 0x40 - 0x4F CMOVO Gv,Ev Fv [ 0x0F 0x40 /r] s:PPRO, t:CMOV, c:CMOVcc, w:CW|R|R, i:CMOV, f:CO, a:COND @@ -310,148 +315,148 @@ CMOVNLE Gv,Ev Fv [ 0x0F 0x4F /r # 0x50 - 0x5F # Note: for MOVMSKPS & MOVMSKPD, the Intel doc says the destination reg is y (32 or 64 bit) but XED says it must be d (only 32 bits). -MOVMSKPS Gy,Ups nil [ NP 0x0F 0x50 /r:reg] s:SSE, t:DATAXFER, w:W|R, e:7, a:D64 -MOVMSKPD Gy,Upd nil [ 0x66 0x0F 0x50 /r:reg] s:SSE2, t:DATAXFER, w:W|R, e:7, a:D64 -SQRTPS Vps,Wps nil [ NP 0x0F 0x51 /r] s:SSE, t:SSE, w:W|R, e:2 -SQRTPD Vpd,Wpd nil [ 0x66 0x0F 0x51 /r] s:SSE2, t:SSE, w:W|R, e:2 -SQRTSS Vss,Wss nil [ 0xF3 0x0F 0x51 /r] s:SSE, t:SSE, w:W|R, e:3 -SQRTSD Vsd,Wsd nil [ 0xF2 0x0F 0x51 /r] s:SSE2, t:SSE, w:W|R, e:3 -RSQRTPS Vps,Wps nil [ NP 0x0F 0x52 /r] s:SSE, t:SSE, w:W|R, e:4 -RSQRTSS Vss,Wss nil [ 0xF3 0x0F 0x52 /r] s:SSE, t:SSE, w:W|R, e:5 -RCPPS Vps,Wps nil [ NP 0x0F 0x53 /r] s:SSE, t:SSE, w:W|R, e:4 -RCPSS Vss,Wss nil [ 0xF3 0x0F 0x53 /r] s:SSE, t:SSE, w:W|R, e:5 -ANDPS Vps,Wps nil [ NP 0x0F 0x54 /r] s:SSE, t:LOGICAL_FP, w:RW|R, e:4 -ANDPD Vpd,Wpd nil [ 0x66 0x0F 0x54 /r] s:SSE2, t:LOGICAL_FP, w:RW|R, e:4 -ANDNPS Vps,Wps nil [ NP 0x0F 0x55 /r] s:SSE, t:LOGICAL_FP, w:RW|R, e:4 -ANDNPD Vpd,Wpd nil [ 0x66 0x0F 0x55 /r] s:SSE2, t:LOGICAL_FP, w:RW|R, e:4 -ORPS Vps,Wps nil [ NP 0x0F 0x56 /r] s:SSE, t:LOGICAL_FP, w:RW|R, e:4 -ORPD Vpd,Wpd nil [ 0x66 0x0F 0x56 /r] s:SSE2, t:LOGICAL_FP, w:RW|R, e:4 -XORPS Vps,Wps nil [ NP 0x0F 0x57 /r] s:SSE, t:LOGICAL_FP, w:RW|R, e:4 -XORPD Vpd,Wpd nil [ 0x66 0x0F 0x57 /r] s:SSE2, t:LOGICAL_FP, w:RW|R, e:4 -ADDPS Vps,Wps nil [ NP 0x0F 0x58 /r] s:SSE, t:SSE, w:RW|R, e:2 -ADDPD Vpd,Wpd nil [ 0x66 0x0F 0x58 /r] s:SSE2, t:SSE, w:RW|R, e:2 -ADDSS Vss,Wss nil [ 0xF3 0x0F 0x58 /r] s:SSE, t:SSE, w:RW|R, e:3 -ADDSD Vsd,Wsd nil [ 0xF2 0x0F 0x58 /r] s:SSE2, t:SSE, w:RW|R, e:3 -MULPS Vps,Wps nil [ NP 0x0F 0x59 /r] s:SSE, t:SSE, w:RW|R, e:2 -MULPD Vpd,Wpd nil [ 0x66 0x0F 0x59 /r] s:SSE2, t:SSE, w:RW|R, e:2 -MULSS Vss,Wss nil [ 0xF3 0x0F 0x59 /r] s:SSE, t:SSE, w:RW|R, e:3 -MULSD Vsd,Wsd nil [ 0xF2 0x0F 0x59 /r] s:SSE2, t:SSE, w:RW|R, e:3 -CVTPS2PD Vpd,Wq nil [ NP 0x0F 0x5A /r] s:SSE2, t:CONVERT, w:W|R, e:3 -CVTPD2PS Vps,Wpd nil [ 0x66 0x0F 0x5A /r] s:SSE2, t:CONVERT, w:W|R, e:2 -CVTSS2SD Vsd,Wss nil [ 0xF3 0x0F 0x5A /r] s:SSE2, t:CONVERT, w:W|R, e:3 -CVTSD2SS Vss,Wsd nil [ 0xF2 0x0F 0x5A /r] s:SSE2, t:CONVERT, w:W|R, e:3 -CVTDQ2PS Vps,Wdq nil [ NP 0x0F 0x5B /r] s:SSE2, t:CONVERT, w:W|R, e:2 -CVTPS2DQ Vdq,Wps nil [ 0x66 0x0F 0x5B /r] s:SSE2, t:CONVERT, w:W|R, e:2 -CVTTPS2DQ Vdq,Wps nil [ 0xF3 0x0F 0x5B /r] s:SSE2, t:CONVERT, w:W|R, e:2 -SUBPS Vps,Wps nil [ NP 0x0F 0x5C /r] s:SSE, t:SSE, w:RW|R, e:2 -SUBPD Vpd,Wpd nil [ 0x66 0x0F 0x5C /r] s:SSE2, t:SSE, w:RW|R, e:2 -SUBSS Vss,Wss nil [ 0xF3 0x0F 0x5C /r] s:SSE, t:SSE, w:RW|R, e:3 -SUBSD Vsd,Wsd nil [ 0xF2 0x0F 0x5C /r] s:SSE2, t:SSE, w:RW|R, e:3 -MINPS Vps,Wps nil [ NP 0x0F 0x5D /r] s:SSE, t:SSE, w:RW|R, e:2 -MINPD Vpd,Wpd nil [ 0x66 0x0F 0x5D /r] s:SSE2, t:SSE, w:RW|R, e:2 -MINSS Vss,Wss nil [ 0xF3 0x0F 0x5D /r] s:SSE, t:SSE, w:RW|R, e:3 -MINSD Vsd,Wsd nil [ 0xF2 0x0F 0x5D /r] s:SSE2, t:SSE, w:RW|R, e:3 -DIVPS Vps,Wps nil [ NP 0x0F 0x5E /r] s:SSE, t:SSE, w:RW|R, e:2 -DIVPD Vpd,Wpd nil [ 0x66 0x0F 0x5E /r] s:SSE2, t:SSE, w:RW|R, e:2 -DIVSS Vss,Wss nil [ 0xF3 0x0F 0x5E /r] s:SSE, t:SSE, w:RW|R, e:3 -DIVSD Vsd,Wsd nil [ 0xF2 0x0F 0x5E /r] s:SSE2, t:SSE, w:RW|R, e:3 -MAXPS Vps,Wps nil [ NP 0x0F 0x5F /r] s:SSE, t:SSE, w:RW|R, e:2 -MAXPD Vpd,Wpd nil [ 0x66 0x0F 0x5F /r] s:SSE2, t:SSE, w:RW|R, e:2 -MAXSS Vss,Wss nil [ 0xF3 0x0F 0x5F /r] s:SSE, t:SSE, w:RW|R, e:3 -MAXSD Vsd,Wsd nil [ 0xF2 0x0F 0x5F /r] s:SSE2, t:SSE, w:RW|R, e:3 +MOVMSKPS Gy,Ups n/a [ NP 0x0F 0x50 /r:reg] s:SSE, t:DATAXFER, w:W|R, e:7, a:D64 +MOVMSKPD Gy,Upd n/a [ 0x66 0x0F 0x50 /r:reg] s:SSE2, t:DATAXFER, w:W|R, e:7, a:D64 +SQRTPS Vps,Wps n/a [ NP 0x0F 0x51 /r] s:SSE, t:SSE, w:W|R, e:2 +SQRTPD Vpd,Wpd n/a [ 0x66 0x0F 0x51 /r] s:SSE2, t:SSE, w:W|R, e:2 +SQRTSS Vss,Wss n/a [ 0xF3 0x0F 0x51 /r] s:SSE, t:SSE, w:W|R, e:3 +SQRTSD Vsd,Wsd n/a [ 0xF2 0x0F 0x51 /r] s:SSE2, t:SSE, w:W|R, e:3 +RSQRTPS Vps,Wps n/a [ NP 0x0F 0x52 /r] s:SSE, t:SSE, w:W|R, e:4 +RSQRTSS Vss,Wss n/a [ 0xF3 0x0F 0x52 /r] s:SSE, t:SSE, w:W|R, e:5 +RCPPS Vps,Wps n/a [ NP 0x0F 0x53 /r] s:SSE, t:SSE, w:W|R, e:4 +RCPSS Vss,Wss n/a [ 0xF3 0x0F 0x53 /r] s:SSE, t:SSE, w:W|R, e:5 +ANDPS Vps,Wps n/a [ NP 0x0F 0x54 /r] s:SSE, t:LOGICAL_FP, w:RW|R, e:4 +ANDPD Vpd,Wpd n/a [ 0x66 0x0F 0x54 /r] s:SSE2, t:LOGICAL_FP, w:RW|R, e:4 +ANDNPS Vps,Wps n/a [ NP 0x0F 0x55 /r] s:SSE, t:LOGICAL_FP, w:RW|R, e:4 +ANDNPD Vpd,Wpd n/a [ 0x66 0x0F 0x55 /r] s:SSE2, t:LOGICAL_FP, w:RW|R, e:4 +ORPS Vps,Wps n/a [ NP 0x0F 0x56 /r] s:SSE, t:LOGICAL_FP, w:RW|R, e:4 +ORPD Vpd,Wpd n/a [ 0x66 0x0F 0x56 /r] s:SSE2, t:LOGICAL_FP, w:RW|R, e:4 +XORPS Vps,Wps n/a [ NP 0x0F 0x57 /r] s:SSE, t:LOGICAL_FP, w:RW|R, e:4 +XORPD Vpd,Wpd n/a [ 0x66 0x0F 0x57 /r] s:SSE2, t:LOGICAL_FP, w:RW|R, e:4 +ADDPS Vps,Wps n/a [ NP 0x0F 0x58 /r] s:SSE, t:SSE, w:RW|R, e:2 +ADDPD Vpd,Wpd n/a [ 0x66 0x0F 0x58 /r] s:SSE2, t:SSE, w:RW|R, e:2 +ADDSS Vss,Wss n/a [ 0xF3 0x0F 0x58 /r] s:SSE, t:SSE, w:RW|R, e:3 +ADDSD Vsd,Wsd n/a [ 0xF2 0x0F 0x58 /r] s:SSE2, t:SSE, w:RW|R, e:3 +MULPS Vps,Wps n/a [ NP 0x0F 0x59 /r] s:SSE, t:SSE, w:RW|R, e:2 +MULPD Vpd,Wpd n/a [ 0x66 0x0F 0x59 /r] s:SSE2, t:SSE, w:RW|R, e:2 +MULSS Vss,Wss n/a [ 0xF3 0x0F 0x59 /r] s:SSE, t:SSE, w:RW|R, e:3 +MULSD Vsd,Wsd n/a [ 0xF2 0x0F 0x59 /r] s:SSE2, t:SSE, w:RW|R, e:3 +CVTPS2PD Vpd,Wq n/a [ NP 0x0F 0x5A /r] s:SSE2, t:CONVERT, w:W|R, e:3 +CVTPD2PS Vps,Wpd n/a [ 0x66 0x0F 0x5A /r] s:SSE2, t:CONVERT, w:W|R, e:2 +CVTSS2SD Vsd,Wss n/a [ 0xF3 0x0F 0x5A /r] s:SSE2, t:CONVERT, w:W|R, e:3 +CVTSD2SS Vss,Wsd n/a [ 0xF2 0x0F 0x5A /r] s:SSE2, t:CONVERT, w:W|R, e:3 +CVTDQ2PS Vps,Wdq n/a [ NP 0x0F 0x5B /r] s:SSE2, t:CONVERT, w:W|R, e:2 +CVTPS2DQ Vdq,Wps n/a [ 0x66 0x0F 0x5B /r] s:SSE2, t:CONVERT, w:W|R, e:2 +CVTTPS2DQ Vdq,Wps n/a [ 0xF3 0x0F 0x5B /r] s:SSE2, t:CONVERT, w:W|R, e:2 +SUBPS Vps,Wps n/a [ NP 0x0F 0x5C /r] s:SSE, t:SSE, w:RW|R, e:2 +SUBPD Vpd,Wpd n/a [ 0x66 0x0F 0x5C /r] s:SSE2, t:SSE, w:RW|R, e:2 +SUBSS Vss,Wss n/a [ 0xF3 0x0F 0x5C /r] s:SSE, t:SSE, w:RW|R, e:3 +SUBSD Vsd,Wsd n/a [ 0xF2 0x0F 0x5C /r] s:SSE2, t:SSE, w:RW|R, e:3 +MINPS Vps,Wps n/a [ NP 0x0F 0x5D /r] s:SSE, t:SSE, w:RW|R, e:2 +MINPD Vpd,Wpd n/a [ 0x66 0x0F 0x5D /r] s:SSE2, t:SSE, w:RW|R, e:2 +MINSS Vss,Wss n/a [ 0xF3 0x0F 0x5D /r] s:SSE, t:SSE, w:RW|R, e:3 +MINSD Vsd,Wsd n/a [ 0xF2 0x0F 0x5D /r] s:SSE2, t:SSE, w:RW|R, e:3 +DIVPS Vps,Wps n/a [ NP 0x0F 0x5E /r] s:SSE, t:SSE, w:RW|R, e:2 +DIVPD Vpd,Wpd n/a [ 0x66 0x0F 0x5E /r] s:SSE2, t:SSE, w:RW|R, e:2 +DIVSS Vss,Wss n/a [ 0xF3 0x0F 0x5E /r] s:SSE, t:SSE, w:RW|R, e:3 +DIVSD Vsd,Wsd n/a [ 0xF2 0x0F 0x5E /r] s:SSE2, t:SSE, w:RW|R, e:3 +MAXPS Vps,Wps n/a [ NP 0x0F 0x5F /r] s:SSE, t:SSE, w:RW|R, e:2 +MAXPD Vpd,Wpd n/a [ 0x66 0x0F 0x5F /r] s:SSE2, t:SSE, w:RW|R, e:2 +MAXSS Vss,Wss n/a [ 0xF3 0x0F 0x5F /r] s:SSE, t:SSE, w:RW|R, e:3 +MAXSD Vsd,Wsd n/a [ 0xF2 0x0F 0x5F /r] s:SSE2, t:SSE, w:RW|R, e:3 # 0x60 - 0x6F -PUNPCKLBW Pq,Qd nil [ NP 0x0F 0x60 /r] s:MMX, t:MMX, w:RW|R -PUNPCKLBW Vx,Wx nil [ 0x66 0x0F 0x60 /r] s:SSE2, t:SSE, w:RW|R, e:4 -PUNPCKLWD Pq,Qd nil [ NP 0x0F 0x61 /r] s:MMX, t:MMX, w:RW|R -PUNPCKLWD Vx,Wx nil [ 0x66 0x0F 0x61 /r] s:SSE2, t:SSE, w:RW|R, e:4 -PUNPCKLDQ Pq,Qd nil [ NP 0x0F 0x62 /r] s:MMX, t:MMX, w:RW|R -PUNPCKLDQ Vx,Wx nil [ 0x66 0x0F 0x62 /r] s:SSE2, t:SSE, w:RW|R, e:4 -PACKSSWB Pq,Qq nil [ NP 0x0F 0x63 /r] s:MMX, t:MMX, w:RW|R -PACKSSWB Vx,Wx nil [ 0x66 0x0F 0x63 /r] s:SSE2, t:SSE, w:RW|R, e:4 -PCMPGTB Pq,Qq nil [ NP 0x0F 0x64 /r] s:MMX, t:MMX, w:RW|R -PCMPGTB Vx,Wx nil [ 0x66 0x0F 0x64 /r] s:SSE2, t:SSE, w:RW|R, e:4 -PCMPGTW Pq,Qq nil [ NP 0x0F 0x65 /r] s:MMX, t:MMX, w:RW|R -PCMPGTW Vx,Wx nil [ 0x66 0x0F 0x65 /r] s:SSE2, t:SSE, w:RW|R, e:4 -PCMPGTD Pq,Qq nil [ NP 0x0F 0x66 /r] s:MMX, t:MMX, w:RW|R -PCMPGTD Vx,Wx nil [ 0x66 0x0F 0x66 /r] s:SSE2, t:SSE, w:RW|R, e:4 -PACKUSWB Pq,Qq nil [ NP 0x0F 0x67 /r] s:MMX, t:MMX, w:RW|R -PACKUSWB Vx,Wx nil [ 0x66 0x0F 0x67 /r] s:SSE2, t:SSE, w:RW|R, e:4 -PUNPCKHBW Pq,Qq nil [ NP 0x0F 0x68 /r] s:MMX, t:MMX, w:RW|R -PUNPCKHBW Vx,Wx nil [ 0x66 0x0F 0x68 /r] s:SSE2, t:SSE, w:RW|R, e:4 -PUNPCKHWD Pq,Qq nil [ NP 0x0F 0x69 /r] s:MMX, t:MMX, w:RW|R -PUNPCKHWD Vx,Wx nil [ 0x66 0x0F 0x69 /r] s:SSE2, t:SSE, w:RW|R, e:4 -PUNPCKHDQ Pq,Qq nil [ NP 0x0F 0x6A /r] s:MMX, t:MMX, w:RW|R -PUNPCKHDQ Vx,Wx nil [ 0x66 0x0F 0x6A /r] s:SSE2, t:SSE, w:RW|R, e:4 -PACKSSDW Pq,Qq nil [ NP 0x0F 0x6B /r] s:MMX, t:MMX, w:RW|R -PACKSSDW Vx,Wx nil [ 0x66 0x0F 0x6B /r] s:SSE2, t:SSE, w:RW|R, e:4 -PUNPCKLQDQ Vx,Wx nil [ 0x66 0x0F 0x6C /r] s:SSE2, t:SSE, w:RW|R, e:4 -PUNPCKHQDQ Vx,Wx nil [ 0x66 0x0F 0x6D /r] s:SSE2, t:SSE, w:RW|R, e:4 -MOVD Pq,Ey nil [ NP 0x0F 0x6E /r] s:MMX, t:DATAXFER, w:W|R -MOVQ Pq,Ey nil [ rexw NP 0x0F 0x6E /r] s:SSE2, t:DATAXFER, w:W|R, e:5 -MOVD Vdq,Ey nil [ 0x66 0x0F 0x6E /r] s:SSE2, t:DATAXFER, w:W|R, e:5 -MOVQ Vdq,Ey nil [ 0x66 rexw 0x0F 0x6E /r] s:SSE2, t:DATAXFER, w:W|R, e:5 -MOVQ Pq,Qq nil [ NP 0x0F 0x6F /r] s:MMX, t:DATAXFER, w:W|R -MOVDQA Vx,Wx nil [ 0x66 0x0F 0x6F /r] s:SSE2, t:DATAXFER, w:W|R, e:1 -MOVDQU Vx,Wx nil [ 0xF3 0x0F 0x6F /r] s:SSE2, t:DATAXFER, w:W|R, e:4 +PUNPCKLBW Pq,Qd n/a [ NP 0x0F 0x60 /r] s:MMX, t:MMX, w:RW|R +PUNPCKLBW Vx,Wx n/a [ 0x66 0x0F 0x60 /r] s:SSE2, t:SSE, w:RW|R, e:4 +PUNPCKLWD Pq,Qd n/a [ NP 0x0F 0x61 /r] s:MMX, t:MMX, w:RW|R +PUNPCKLWD Vx,Wx n/a [ 0x66 0x0F 0x61 /r] s:SSE2, t:SSE, w:RW|R, e:4 +PUNPCKLDQ Pq,Qd n/a [ NP 0x0F 0x62 /r] s:MMX, t:MMX, w:RW|R +PUNPCKLDQ Vx,Wx n/a [ 0x66 0x0F 0x62 /r] s:SSE2, t:SSE, w:RW|R, e:4 +PACKSSWB Pq,Qq n/a [ NP 0x0F 0x63 /r] s:MMX, t:MMX, w:RW|R +PACKSSWB Vx,Wx n/a [ 0x66 0x0F 0x63 /r] s:SSE2, t:SSE, w:RW|R, e:4 +PCMPGTB Pq,Qq n/a [ NP 0x0F 0x64 /r] s:MMX, t:MMX, w:RW|R +PCMPGTB Vx,Wx n/a [ 0x66 0x0F 0x64 /r] s:SSE2, t:SSE, w:RW|R, e:4 +PCMPGTW Pq,Qq n/a [ NP 0x0F 0x65 /r] s:MMX, t:MMX, w:RW|R +PCMPGTW Vx,Wx n/a [ 0x66 0x0F 0x65 /r] s:SSE2, t:SSE, w:RW|R, e:4 +PCMPGTD Pq,Qq n/a [ NP 0x0F 0x66 /r] s:MMX, t:MMX, w:RW|R +PCMPGTD Vx,Wx n/a [ 0x66 0x0F 0x66 /r] s:SSE2, t:SSE, w:RW|R, e:4 +PACKUSWB Pq,Qq n/a [ NP 0x0F 0x67 /r] s:MMX, t:MMX, w:RW|R +PACKUSWB Vx,Wx n/a [ 0x66 0x0F 0x67 /r] s:SSE2, t:SSE, w:RW|R, e:4 +PUNPCKHBW Pq,Qq n/a [ NP 0x0F 0x68 /r] s:MMX, t:MMX, w:RW|R +PUNPCKHBW Vx,Wx n/a [ 0x66 0x0F 0x68 /r] s:SSE2, t:SSE, w:RW|R, e:4 +PUNPCKHWD Pq,Qq n/a [ NP 0x0F 0x69 /r] s:MMX, t:MMX, w:RW|R +PUNPCKHWD Vx,Wx n/a [ 0x66 0x0F 0x69 /r] s:SSE2, t:SSE, w:RW|R, e:4 +PUNPCKHDQ Pq,Qq n/a [ NP 0x0F 0x6A /r] s:MMX, t:MMX, w:RW|R +PUNPCKHDQ Vx,Wx n/a [ 0x66 0x0F 0x6A /r] s:SSE2, t:SSE, w:RW|R, e:4 +PACKSSDW Pq,Qq n/a [ NP 0x0F 0x6B /r] s:MMX, t:MMX, w:RW|R +PACKSSDW Vx,Wx n/a [ 0x66 0x0F 0x6B /r] s:SSE2, t:SSE, w:RW|R, e:4 +PUNPCKLQDQ Vx,Wx n/a [ 0x66 0x0F 0x6C /r] s:SSE2, t:SSE, w:RW|R, e:4 +PUNPCKHQDQ Vx,Wx n/a [ 0x66 0x0F 0x6D /r] s:SSE2, t:SSE, w:RW|R, e:4 +MOVD Pq,Ey n/a [ NP 0x0F 0x6E /r] s:MMX, t:DATAXFER, w:W|R +MOVQ Pq,Ey n/a [ rexw NP 0x0F 0x6E /r] s:SSE2, t:DATAXFER, w:W|R, e:5 +MOVD Vdq,Ey n/a [ 0x66 0x0F 0x6E /r] s:SSE2, t:DATAXFER, w:W|R, e:5 +MOVQ Vdq,Ey n/a [ 0x66 rexw 0x0F 0x6E /r] s:SSE2, t:DATAXFER, w:W|R, e:5 +MOVQ Pq,Qq n/a [ NP 0x0F 0x6F /r] s:MMX, t:DATAXFER, w:W|R +MOVDQA Vx,Wx n/a [ 0x66 0x0F 0x6F /r] s:SSE2, t:DATAXFER, w:W|R, e:1 +MOVDQU Vx,Wx n/a [ 0xF3 0x0F 0x6F /r] s:SSE2, t:DATAXFER, w:W|R, e:4 # 0x70 - 0x7F -PSHUFW Pq,Qq,Ib nil [ NP 0x0F 0x70 /r ib] s:MMX, t:MMX, w:W|R|R -PSHUFD Vx,Wx,Ib nil [ 0x66 0x0F 0x70 /r ib] s:SSE2, t:SSE, w:W|R|R, e:4 -PSHUFHW Vx,Wx,Ib nil [ 0xF3 0x0F 0x70 /r ib] s:SSE2, t:SSE, w:W|R|R, e:4 -PSHUFLW Vx,Wx,Ib nil [ 0xF2 0x0F 0x70 /r ib] s:SSE2, t:SSE, w:W|R|R, e:4 -PSRLW Nq,Ib nil [ NP 0x0F 0x71 /2:reg ib] s:MMX, t:MMX, w:RW|R -PSRLW Ux,Ib nil [ 0x66 0x0F 0x71 /2:reg ib] s:SSE2, t:SSE, w:RW|R, e:4 -PSRAW Nq,Ib nil [ NP 0x0F 0x71 /4:reg ib] s:MMX, t:MMX, w:RW|R -PSRAW Ux,Ib nil [ 0x66 0x0F 0x71 /4:reg ib] s:SSE2, t:SSE, w:RW|R, e:4 -PSLLW Nq,Ib nil [ NP 0x0F 0x71 /6:reg ib] s:MMX, t:MMX, w:RW|R -PSLLW Ux,Ib nil [ 0x66 0x0F 0x71 /6:reg ib] s:SSE2, t:SSE, w:RW|R, e:4 -PSRLD Nq,Ib nil [ NP 0x0F 0x72 /2:reg ib] s:MMX, t:MMX, w:RW|R -PSRLD Ux,Ib nil [ 0x66 0x0F 0x72 /2:reg ib] s:SSE2, t:SSE, w:RW|R, e:4 -PSRAD Nq,Ib nil [ NP 0x0F 0x72 /4:reg ib] s:MMX, t:MMX, w:RW|R -PSRAD Ux,Ib nil [ 0x66 0x0F 0x72 /4:reg ib] s:SSE2, t:SSE, w:RW|R, e:4 -PSLLD Nq,Ib nil [ NP 0x0F 0x72 /6:reg ib] s:MMX, t:MMX, w:RW|R -PSLLD Ux,Ib nil [ 0x66 0x0F 0x72 /6:reg ib] s:SSE2, t:SSE, w:RW|R, e:4 -PSRLQ Nq,Ib nil [ NP 0x0F 0x73 /2:reg ib] s:MMX, t:MMX, w:RW|R -PSRLQ Ux,Ib nil [ 0x66 0x0F 0x73 /2:reg ib] s:SSE2, t:SSE, w:RW|R, e:4 -PSRLDQ Ux,Ib nil [ 0x66 0x0F 0x73 /3:reg ib] s:SSE2, t:SSE, w:RW|R, e:7 -PSLLQ Nq,Ib nil [ NP 0x0F 0x73 /6:reg ib] s:MMX, t:MMX, w:RW|R -PSLLQ Ux,Ib nil [ 0x66 0x0F 0x73 /6:reg ib] s:SSE2, t:SSE, w:RW|R, e:4 -PSLLDQ Ux,Ib nil [ 0x66 0x0F 0x73 /7:reg ib] s:SSE2, t:SSE, w:RW|R, e:7 -PCMPEQB Pq,Qq nil [ NP 0x0F 0x74 /r] s:MMX, t:MMX, w:RW|R -PCMPEQB Vx,Wx nil [ 0x66 0x0F 0x74 /r] s:SSE2, t:SSE, w:RW|R, e:4 -PCMPEQW Pq,Qq nil [ NP 0x0F 0x75 /r] s:MMX, t:MMX, w:RW|R -PCMPEQW Vx,Wx nil [ 0x66 0x0F 0x75 /r] s:SSE2, t:SSE, w:RW|R, e:4 -PCMPEQD Pq,Qq nil [ NP 0x0F 0x76 /r] s:MMX, t:MMX, w:RW|R -PCMPEQD Vx,Wx nil [ 0x66 0x0F 0x76 /r] s:SSE2, t:SSE, w:RW|R, e:4 -EMMS nil nil [ NP 0x0F 0x77] s:MMX, t:MMX +PSHUFW Pq,Qq,Ib n/a [ NP 0x0F 0x70 /r ib] s:MMX, t:MMX, w:W|R|R +PSHUFD Vx,Wx,Ib n/a [ 0x66 0x0F 0x70 /r ib] s:SSE2, t:SSE, w:W|R|R, e:4 +PSHUFHW Vx,Wx,Ib n/a [ 0xF3 0x0F 0x70 /r ib] s:SSE2, t:SSE, w:W|R|R, e:4 +PSHUFLW Vx,Wx,Ib n/a [ 0xF2 0x0F 0x70 /r ib] s:SSE2, t:SSE, w:W|R|R, e:4 +PSRLW Nq,Ib n/a [ NP 0x0F 0x71 /2:reg ib] s:MMX, t:MMX, w:RW|R +PSRLW Ux,Ib n/a [ 0x66 0x0F 0x71 /2:reg ib] s:SSE2, t:SSE, w:RW|R, e:4 +PSRAW Nq,Ib n/a [ NP 0x0F 0x71 /4:reg ib] s:MMX, t:MMX, w:RW|R +PSRAW Ux,Ib n/a [ 0x66 0x0F 0x71 /4:reg ib] s:SSE2, t:SSE, w:RW|R, e:4 +PSLLW Nq,Ib n/a [ NP 0x0F 0x71 /6:reg ib] s:MMX, t:MMX, w:RW|R +PSLLW Ux,Ib n/a [ 0x66 0x0F 0x71 /6:reg ib] s:SSE2, t:SSE, w:RW|R, e:4 +PSRLD Nq,Ib n/a [ NP 0x0F 0x72 /2:reg ib] s:MMX, t:MMX, w:RW|R +PSRLD Ux,Ib n/a [ 0x66 0x0F 0x72 /2:reg ib] s:SSE2, t:SSE, w:RW|R, e:4 +PSRAD Nq,Ib n/a [ NP 0x0F 0x72 /4:reg ib] s:MMX, t:MMX, w:RW|R +PSRAD Ux,Ib n/a [ 0x66 0x0F 0x72 /4:reg ib] s:SSE2, t:SSE, w:RW|R, e:4 +PSLLD Nq,Ib n/a [ NP 0x0F 0x72 /6:reg ib] s:MMX, t:MMX, w:RW|R +PSLLD Ux,Ib n/a [ 0x66 0x0F 0x72 /6:reg ib] s:SSE2, t:SSE, w:RW|R, e:4 +PSRLQ Nq,Ib n/a [ NP 0x0F 0x73 /2:reg ib] s:MMX, t:MMX, w:RW|R +PSRLQ Ux,Ib n/a [ 0x66 0x0F 0x73 /2:reg ib] s:SSE2, t:SSE, w:RW|R, e:4 +PSRLDQ Ux,Ib n/a [ 0x66 0x0F 0x73 /3:reg ib] s:SSE2, t:SSE, w:RW|R, e:7 +PSLLQ Nq,Ib n/a [ NP 0x0F 0x73 /6:reg ib] s:MMX, t:MMX, w:RW|R +PSLLQ Ux,Ib n/a [ 0x66 0x0F 0x73 /6:reg ib] s:SSE2, t:SSE, w:RW|R, e:4 +PSLLDQ Ux,Ib n/a [ 0x66 0x0F 0x73 /7:reg ib] s:SSE2, t:SSE, w:RW|R, e:7 +PCMPEQB Pq,Qq n/a [ NP 0x0F 0x74 /r] s:MMX, t:MMX, w:RW|R +PCMPEQB Vx,Wx n/a [ 0x66 0x0F 0x74 /r] s:SSE2, t:SSE, w:RW|R, e:4 +PCMPEQW Pq,Qq n/a [ NP 0x0F 0x75 /r] s:MMX, t:MMX, w:RW|R +PCMPEQW Vx,Wx n/a [ 0x66 0x0F 0x75 /r] s:SSE2, t:SSE, w:RW|R, e:4 +PCMPEQD Pq,Qq n/a [ NP 0x0F 0x76 /r] s:MMX, t:MMX, w:RW|R +PCMPEQD Vx,Wx n/a [ 0x66 0x0F 0x76 /r] s:SSE2, t:SSE, w:RW|R, e:4 +EMMS n/a n/a [ NP 0x0F 0x77] s:MMX, t:MMX VMREAD Ey,Gy Fv [ NP 0x0F 0x78 /r] s:VTX, t:VTX, w:RW|R|W, f:VMX, a:F64, m:VMXROOT -INSERTQ Vdq,Udq,Ib,Ib nil [ 0xF2 0x0F 0x78 /r ib ib] s:SSE4A, t:BITBYTE, w:W|R|R|R -EXTRQ Uq,Ib,Ib nil [ 0x66 0x0F 0x78 /0 modrmpmp ib ib] s:SSE4A, t:BITBYTE, w:W|R|R +INSERTQ Vdq,Udq,Ib,Ib n/a [ 0xF2 0x0F 0x78 /r ib ib] s:SSE4A, t:BITBYTE, w:W|R|R|R +EXTRQ Uq,Ib,Ib n/a [ 0x66 0x0F 0x78 /0 modrmpmp ib ib] s:SSE4A, t:BITBYTE, w:W|R|R VMWRITE Gy,Ey Fv [ NP 0x0F 0x79 /r] s:VTX, t:VTX, w:R|R|W, f:VMX, a:F64, m:VMXROOT -EXTRQ Vdq,Uq nil [ 0x66 0x0F 0x79 /r:reg] s:SSE4A, t:BITBYTE, w:W|R -INSERTQ Vdq,Udq nil [ 0xF2 0x0F 0x79 /r:reg] s:SSE4A, t:BITBYTE, w:W|R -HADDPD Vpd,Wpd nil [ 0x66 0x0F 0x7C /r] s:SSE3, t:SSE, w:RW|R, e:2 -HADDPS Vps,Wps nil [ 0xF2 0x0F 0x7C /r] s:SSE3, t:SSE, w:RW|R, e:2 -HSUBPD Vpd,Wpd nil [ 0x66 0x0F 0x7D /r] s:SSE3, t:SSE, w:RW|R, e:2 -HSUBPS Vps,Wps nil [ 0xF2 0x0F 0x7D /r] s:SSE3, t:SSE, w:RW|R, e:2 -MOVD Ey,Pd nil [ NP 0x0F 0x7E /r] s:MMX, t:DATAXFER, w:W|R -MOVQ Ey,Pq nil [ rexw NP 0x0F 0x7E /r] s:MMX, t:DATAXFER, w:W|R -MOVD Ey,Vdq nil [ 0x66 0x0F 0x7E /r] s:SSE2, t:DATAXFER, w:W|R, e:5 -MOVQ Ey,Vdq nil [ 0x66 rexw 0x0F 0x7E /r] s:SSE2, t:DATAXFER, w:W|R, e:5 -MOVQ Vdq,Wq nil [ 0xF3 0x0F 0x7E /r] s:SSE2, t:DATAXFER, w:W|R, e:5 -MOVQ Qq,Pq nil [ NP 0x0F 0x7F /r] s:MMX, t:DATAXFER, w:W|R -MOVDQA Wx,Vx nil [ 0x66 0x0F 0x7F /r] s:SSE2, t:DATAXFER, w:W|R, e:1 -MOVDQU Wx,Vx nil [ 0xF3 0x0F 0x7F /r] s:SSE2, t:DATAXFER, w:W|R, e:4 +EXTRQ Vdq,Uq n/a [ 0x66 0x0F 0x79 /r:reg] s:SSE4A, t:BITBYTE, w:W|R +INSERTQ Vdq,Udq n/a [ 0xF2 0x0F 0x79 /r:reg] s:SSE4A, t:BITBYTE, w:W|R +HADDPD Vpd,Wpd n/a [ 0x66 0x0F 0x7C /r] s:SSE3, t:SSE, w:RW|R, e:2 +HADDPS Vps,Wps n/a [ 0xF2 0x0F 0x7C /r] s:SSE3, t:SSE, w:RW|R, e:2 +HSUBPD Vpd,Wpd n/a [ 0x66 0x0F 0x7D /r] s:SSE3, t:SSE, w:RW|R, e:2 +HSUBPS Vps,Wps n/a [ 0xF2 0x0F 0x7D /r] s:SSE3, t:SSE, w:RW|R, e:2 +MOVD Ey,Pd n/a [ NP 0x0F 0x7E /r] s:MMX, t:DATAXFER, w:W|R +MOVQ Ey,Pq n/a [ rexw NP 0x0F 0x7E /r] s:MMX, t:DATAXFER, w:W|R +MOVD Ey,Vdq n/a [ 0x66 0x0F 0x7E /r] s:SSE2, t:DATAXFER, w:W|R, e:5 +MOVQ Ey,Vdq n/a [ 0x66 rexw 0x0F 0x7E /r] s:SSE2, t:DATAXFER, w:W|R, e:5 +MOVQ Vdq,Wq n/a [ 0xF3 0x0F 0x7E /r] s:SSE2, t:DATAXFER, w:W|R, e:5 +MOVQ Qq,Pq n/a [ NP 0x0F 0x7F /r] s:MMX, t:DATAXFER, w:W|R +MOVDQA Wx,Vx n/a [ 0x66 0x0F 0x7F /r] s:SSE2, t:DATAXFER, w:W|R, e:1 +MOVDQU Wx,Vx n/a [ 0xF3 0x0F 0x7F /r] s:SSE2, t:DATAXFER, w:W|R, e:4 # SMM instructions on Cyrix CPUs. -SVDC Ms,Sw nil [ cyrix 0x0F 0x78 /r:mem] s:CYRIX_SMM, t:SEGOP, w:W|R -RSDC Sw,Ms nil [ cyrix 0x0F 0x79 /r:mem] s:CYRIX_SMM, t:SEGOP, w:R|R -SVLDT Ms nil [ cyrix 0x0F 0x7A /r:mem] s:CYRIX_SMM, t:SEGOP, w:W -RSLDT Ms nil [ cyrix 0x0F 0x7B /r:mem] s:CYRIX_SMM, t:SEGOP, w:R -SVTS Ms nil [ cyrix 0x0F 0x7C /r:mem] s:CYRIX_SMM, t:SEGOP, w:W -RSTS Ms nil [ cyrix 0x0F 0x7D /r:mem] s:CYRIX_SMM, t:SEGOP, w:R -SMINT nil nil [ cyrix 0x0F 0x7E] s:CYRIX_SMM, t:SEGOP +SVDC Ms,Sw n/a [ cyrix 0x0F 0x78 /r:mem] s:CYRIX_SMM, t:SEGOP, w:W|R +RSDC Sw,Ms n/a [ cyrix 0x0F 0x79 /r:mem] s:CYRIX_SMM, t:SEGOP, w:R|R +SVLDT Ms n/a [ cyrix 0x0F 0x7A /r:mem] s:CYRIX_SMM, t:SEGOP, w:W +RSLDT Ms n/a [ cyrix 0x0F 0x7B /r:mem] s:CYRIX_SMM, t:SEGOP, w:R +SVTS Ms n/a [ cyrix 0x0F 0x7C /r:mem] s:CYRIX_SMM, t:SEGOP, w:W +RSTS Ms n/a [ cyrix 0x0F 0x7D /r:mem] s:CYRIX_SMM, t:SEGOP, w:R +SMINT n/a n/a [ cyrix 0x0F 0x7E] s:CYRIX_SMM, t:SEGOP # 0x80 - 0x8F JO Jz rIP,Fv [ 0x0F 0x80 cz] s:I86, t:COND_BR, c:Jcc, w:R|CRCW|R, f:CO, a:F64|COND, p:BND|BH @@ -492,26 +497,26 @@ SETNLE Eb Fv [ 0x0F 0x9F /r # 0xA0 - 0xAF PUSH FS Kv [ 0x0F 0xA0] s:I86, t:PUSH, w:R|W, a:D64, m:NOSGX POP FS Kv [ 0x0F 0xA1] s:I86, t:POP, w:W|R, a:D64, m:NOSGX -CPUID nil EAX,EBX,ECX,EDX [ 0x0F 0xA2] s:I486REAL, t:MISC, w:RW|W|CRW|W, a:SERIAL, m:NOSGX|NOTSX +CPUID n/a EAX,EBX,ECX,EDX [ 0x0F 0xA2] s:I486REAL, t:MISC, w:RW|W|CRW|W, a:SERIAL, m:NOSGX|NOTSX BT Ev,Gv Fv [ 0x0F 0xA3 /r bitbase] s:I386, t:BITBYTE, w:R|R|W, f:BT SHLD Ev,Gv,Ib Fv [ 0x0F 0xA4 /r ib] s:I386, t:SHIFT, w:RCW|R|R|W, f:SHIFTD SHLD Ev,Gv,CL Fv [ 0x0F 0xA5 /r] s:I386, t:SHIFT, w:RCW|R|R|W, f:SHIFTD -# Cyrix 'security' instructions. -MONTMUL nil nil [ 0xF3 0x0F 0xA6 /0xC0] s:CYRIX, t:PADLOCK, p:REP -XSHA1 nil nil [ 0xF3 0x0F 0xA6 /0xC8] s:CYRIX, t:PADLOCK, p:REP -XSHA256 nil nil [ 0xF3 0x0F 0xA6 /0xD0] s:CYRIX, t:PADLOCK, p:REP -XSTORE nil nil [ 0x0F 0xA7 /0xC0] s:CYRIX, t:PADLOCK -XSTORE nil nil [ 0xF3 0x0F 0xA7 /0xC0] s:CYRIX, t:PADLOCK, p:REP -XCRYPTECB nil nil [ 0xF3 0x0F 0xA7 /0xC8] s:CYRIX, t:PADLOCK, p:REP -XCRYPTCBC nil nil [ 0xF3 0x0F 0xA7 /0xD0] s:CYRIX, t:PADLOCK, p:REP -XCRYPTCTR nil nil [ 0xF3 0x0F 0xA7 /0xD8] s:CYRIX, t:PADLOCK, p:REP -XCRYPTCFB nil nil [ 0xF3 0x0F 0xA7 /0xE0] s:CYRIX, t:PADLOCK, p:REP -XCRYPTOFB nil nil [ 0xF3 0x0F 0xA7 /0xE8] s:CYRIX, t:PADLOCK, p:REP +# Cyrix security instructions. +MONTMUL n/a n/a [ 0xF3 0x0F 0xA6 /0xC0] s:CYRIX, t:PADLOCK, p:REP +XSHA1 n/a n/a [ 0xF3 0x0F 0xA6 /0xC8] s:CYRIX, t:PADLOCK, p:REP +XSHA256 n/a n/a [ 0xF3 0x0F 0xA6 /0xD0] s:CYRIX, t:PADLOCK, p:REP +XSTORE n/a n/a [ 0x0F 0xA7 /0xC0] s:CYRIX, t:PADLOCK +XSTORE n/a n/a [ 0xF3 0x0F 0xA7 /0xC0] s:CYRIX, t:PADLOCK, p:REP +XCRYPTECB n/a n/a [ 0xF3 0x0F 0xA7 /0xC8] s:CYRIX, t:PADLOCK, p:REP +XCRYPTCBC n/a n/a [ 0xF3 0x0F 0xA7 /0xD0] s:CYRIX, t:PADLOCK, p:REP +XCRYPTCTR n/a n/a [ 0xF3 0x0F 0xA7 /0xD8] s:CYRIX, t:PADLOCK, p:REP +XCRYPTCFB n/a n/a [ 0xF3 0x0F 0xA7 /0xE0] s:CYRIX, t:PADLOCK, p:REP +XCRYPTOFB n/a n/a [ 0xF3 0x0F 0xA7 /0xE8] s:CYRIX, t:PADLOCK, p:REP PUSH GS Kv [ 0x0F 0xA8] s:I86, t:PUSH, w:R|W, a:D64, m:NOSGX POP GS Kv [ 0x0F 0xA9] s:I86, t:POP, w:W|R, a:D64, m:NOSGX -RSM nil CS,rIP,Fv [ 0x0F 0xAA] s:I486, t:SYSRET, w:W|W|W, a:SERIAL, m:SMM +RSM n/a CS,rIP,Fv [ 0x0F 0xAA] s:I486, t:SYSRET, w:W|W|W, a:SERIAL, m:SMM BTS Ev,Gv Fv [ 0x0F 0xAB /r bitbase] s:I386, t:BITBYTE, w:RW|R|W, f:BT, p:HLE|LOCK SHRD Ev,Gv,Ib Fv [ 0x0F 0xAC /r ib] s:I386, t:SHIFT, w:RCW|R|R|W, f:SHIFTD SHRD Ev,Gv,CL Fv [ 0x0F 0xAD /r] s:I386, t:SHIFT, w:RCW|R|R|W, f:SHIFTD @@ -528,12 +533,12 @@ XRSTOR M? EDX,EAX,XCR0,BANK [ NP 0x0F 0xAE /5 XRSTOR64 M? EDX,EAX,XCR0,BANK [ rexw NP 0x0F 0xAE /5:mem] s:XSAVE, t:XSAVE, c:XRSTOR, w:R|R|R|R|W XSAVEOPT M? EDX,EAX,XCR0,BANK [ NP 0x0F 0xAE /6:mem] s:XSAVE, t:XSAVE, c:XSAVEOPT, w:W|R|R|R|R XSAVEOPT64 M? EDX,EAX,XCR0,BANK [ rexw NP 0x0F 0xAE /6:mem] s:XSAVE, t:XSAVE, c:XSAVEOPT, w:W|R|R|R|R -CLWB Mb nil [ 0x66 0x0F 0xAE /6:mem] s:CLWB, t:MISC, w:R +CLWB Mb n/a [ 0x66 0x0F 0xAE /6:mem] s:CLWB, t:MISC, w:R CLRSSBSY Mq SSP [ 0xF3 0x0F 0xAE /6:mem] s:CET_SS, t:CET, a:SHS, w:RW|RW, f:CF=m|ZF=0|PF=0|AF=0|OF=0|SF=0 -CLFLUSH Mb nil [ NP 0x0F 0xAE /7:mem] s:CLFSH, t:MISC, w:R -CLFLUSHOPT Mb nil [ 0x66 0x0F 0xAE /7:mem] s:CLFSHOPT, t:MISC, w:R +CLFLUSH Mb n/a [ NP 0x0F 0xAE /7:mem] s:CLFSH, t:MISC, w:R +CLFLUSHOPT Mb n/a [ 0x66 0x0F 0xAE /7:mem] s:CLFSHOPT, t:MISC, w:R -PTWRITE Ey nil [ 0xF3 0x0F 0xAE /4] s:PTWRITE, t:PTWRITE, w:R, a:NO66 +PTWRITE Ey n/a [ 0xF3 0x0F 0xAE /4] s:PTWRITE, t:PTWRITE, w:R, a:NO66 RDFSBASE Ry FSBASE [ o64 0xF3 0x0F 0xAE /0:reg] s:RDWRFSGS, t:RDWRFSGS, w:W|R, m:O64 RDGSBASE Ry GSBASE [ o64 0xF3 0x0F 0xAE /1:reg] s:RDWRFSGS, t:RDWRFSGS, w:W|R, m:O64 @@ -541,14 +546,14 @@ WRFSBASE Ry FSBASE [ o64 0xF3 0x0F 0xAE /2 WRGSBASE Ry GSBASE [ o64 0xF3 0x0F 0xAE /3:reg] s:RDWRFSGS, t:RDWRFSGS, w:R|W, m:O64 INCSSPD Rd SHSI,SSP [ 0xF3 0x0F 0xAE /5:reg] s:CET_SS, t:CET, c:INCSSP, w:R|R|RW INCSSPQ Rq SHSI,SSP [ 0xF3 rexw 0x0F 0xAE /5:reg] s:CET_SS, t:CET, c:INCSSP, w:R|R|RW -LFENCE nil nil [ NP 0x0F 0xAE /5:reg] s:SSE2, t:MISC +LFENCE n/a n/a [ NP 0x0F 0xAE /5:reg] s:SSE2, t:MISC UMONITOR mMb Fv [ 0xF3 0x0F 0xAE /6:reg] s:WAITPKG, t:WAITPKG, w:R|W, f:WAITPKG, m:NOTSX UMWAIT Ry EDX,EAX [ 0xF2 0x0F 0xAE /6:reg] s:WAITPKG, t:WAITPKG, w:R|R|R, m:NOTSX TPAUSE Ry EDX,EAX,Fv [ 0x66 0x0F 0xAE /6:reg] s:WAITPKG, t:WAITPKG, w:R|R|R|W, f:WAITPKG -MFENCE nil nil [ NP 0x0F 0xAE /6:reg] s:SSE2, t:MISC -SFENCE nil nil [ NP 0x0F 0xAE /7:reg] s:SSE2, t:MISC +MFENCE n/a n/a [ NP 0x0F 0xAE /6:reg] s:SSE2, t:MISC +SFENCE n/a n/a [ NP 0x0F 0xAE /7:reg] s:SSE2, t:MISC # Intel dropped support for the PCOMMIT instruction before it was shipped in any CPU. The following instruction wil ALWAYS cause a #UD from now on. -#PCOMMIT nil nil [ 0x66 0x0F 0xAE /7:reg] s:PCOMMIT, t:MISC +#PCOMMIT n/a n/a [ 0x66 0x0F 0xAE /7:reg] s:PCOMMIT, t:MISC IMUL Gv,Ev Fv [ 0x0F 0xAF /r] s:I86, t:ARITH, w:RW|R|W, f:MUL @@ -559,11 +564,11 @@ LSS Gv,Mp SS [ 0x0F 0xB2 /r BTR Ev,Gv Fv [ 0x0F 0xB3 /r bitbase] s:I386, t:BITBYTE, w:RW|R|W, f:BT, p:LOCK|HLE LFS Gv,Mp FS [ 0x0F 0xB4 /r:mem] s:I386, t:SEGOP, w:W|R|W, m:NOSGX LGS Gv,Mp GS [ 0x0F 0xB5 /r:mem] s:I386, t:SEGOP, w:W|R|W, m:NOSGX -MOVZX Gv,Eb nil [ 0x0F 0xB6 /r] s:I386, t:DATAXFER, w:W|R -MOVZX Gv,Ew nil [ 0x0F 0xB7 /r] s:I386, t:DATAXFER, w:W|R +MOVZX Gv,Eb n/a [ 0x0F 0xB6 /r] s:I386, t:DATAXFER, w:W|R +MOVZX Gv,Ew n/a [ 0x0F 0xB7 /r] s:I386, t:DATAXFER, w:W|R JMPE Jz rIP [ 0x0F 0xB8 cz] s:I64, t:UNCOND_BR, w:R|W, m:NO64 POPCNT Gv,Ev Fv [ a0xF3 0x0F 0xB8 /r] s:POPCNT, t:SSE, w:W|R|W, f:CF=0|PF=0|AF=0|ZF=m|SF=0|OF=0 -UD1 Gd,Ed nil [ 0x0F 0xB9 /r] s:UD, t:UD, w:R|R +UD1 Gd,Ed n/a [ 0x0F 0xB9 /r] s:UD, t:UD, w:R|R BT Ev,Ib Fv [ 0x0F 0xBA /4 ib] s:I386, t:BITBYTE, w:R|R|W, f:BT BTS Ev,Ib Fv [ 0x0F 0xBA /5 ib] s:I386, t:BITBYTE, w:RW|R|W, f:BT, p:LOCK|HLE BTR Ev,Ib Fv [ 0x0F 0xBA /6 ib] s:I386, t:BITBYTE, w:RW|R|W, f:BT, p:LOCK|HLE @@ -573,25 +578,25 @@ BSF Gv,Ev Fv [ 0x0F 0xBC /r TZCNT Gv,Ev Fv [ a0xF3 0x0F 0xBC /r] s:BMI1, t:BMI1, w:W|R|W, f:CF=m|PF=u|AF=u|ZF=m|SF=u|OF=u BSR Gv,Ev Fv [ 0x0F 0xBD /r] s:I386, t:BITBYTE, w:CW|R|W, f:CF=u|PF=u|AF=u|ZF=m|SF=u|OF=u LZCNT Gv,Ev Fv [ a0xF3 0x0F 0xBD /r] s:LZCNT, t:LZCNT, w:W|R|W, f:CF=m|PF=u|AF=u|ZF=m|SF=u|OF=u -MOVSX Gv,Eb nil [ 0x0F 0xBE /r] s:I386, t:DATAXFER, w:W|R -MOVSX Gv,Ew nil [ 0x0F 0xBF /r] s:I386, t:DATAXFER, w:W|R +MOVSX Gv,Eb n/a [ 0x0F 0xBE /r] s:I386, t:DATAXFER, w:W|R +MOVSX Gv,Ew n/a [ 0x0F 0xBF /r] s:I386, t:DATAXFER, w:W|R # 0xC0 - 0xCF XADD Eb,Gb Fv [ 0x0F 0xC0 /r] s:I486REAL, t:SEMAPHORE, w:RW|RW|W, f:ARITH, p:LOCK|HLE XADD Ev,Gv Fv [ 0x0F 0xC1 /r] s:I486REAL, t:SEMAPHORE, w:RW|RW|W, f:ARITH, p:LOCK|HLE -CMPPS Vps,Wps,Ib nil [ NP 0x0F 0xC2 /r ib] s:SSE, t:SSE, w:RW|R|R, e:2 -CMPPD Vpd,Wpd,Ib nil [ 0x66 0x0F 0xC2 /r ib] s:SSE2, t:SSE, w:RW|R|R, e:2 -CMPSS Vss,Wss,Ib nil [ 0xF3 0x0F 0xC2 /r ib] s:SSE, t:SSE, w:RW|R|R, e:3 -CMPSD Vsd,Wsd,Ib nil [ 0xF2 0x0F 0xC2 /r ib] s:SSE2, t:SSE, w:RW|R|R, e:3 -MOVNTI My,Gy nil [ NP 0x0F 0xC3 /r:mem] s:SSE2, t:DATAXFER, w:W|R -PINSRW Pq,Rd,Ib nil [ NP 0x0F 0xC4 /r:reg ib] s:MMX, t:MMX, w:RW|R|R -PINSRW Pq,Mw,Ib nil [ NP 0x0F 0xC4 /r:mem ib] s:MMX, t:MMX, w:RW|R|R -PINSRW Vdq,Rd,Ib nil [ 0x66 0x0F 0xC4 /r:reg ib] s:SSE2, t:SSE, w:RW|R|R, e:5 -PINSRW Vdq,Mw,Ib nil [ 0x66 0x0F 0xC4 /r:mem ib] s:SSE2, t:SSE, w:RW|R|R, e:5 -PEXTRW Gy,Nq,Ib nil [ NP 0x0F 0xC5 /r:reg ib] s:MMX, t:MMX, w:W|R|R, a:D64 -PEXTRW Gy,Udq,Ib nil [ 0x66 0x0F 0xC5 /r:reg ib] s:SSE2, t:SSE, w:W|R|R, e:5, a:D64 -SHUFPS Vps,Wps,Ib nil [ NP 0x0F 0xC6 /r ib] s:SSE, t:SSE, w:RW|R|R, e:4 -SHUFPD Vpd,Wpd,Ib nil [ 0x66 0x0F 0xC6 /r ib] s:SSE2, t:SSE, w:RW|R|R, e:4 +CMPPS Vps,Wps,Ib n/a [ NP 0x0F 0xC2 /r ib] s:SSE, t:SSE, w:RW|R|R, e:2 +CMPPD Vpd,Wpd,Ib n/a [ 0x66 0x0F 0xC2 /r ib] s:SSE2, t:SSE, w:RW|R|R, e:2 +CMPSS Vss,Wss,Ib n/a [ 0xF3 0x0F 0xC2 /r ib] s:SSE, t:SSE, w:RW|R|R, e:3 +CMPSD Vsd,Wsd,Ib n/a [ 0xF2 0x0F 0xC2 /r ib] s:SSE2, t:SSE, w:RW|R|R, e:3 +MOVNTI My,Gy n/a [ NP 0x0F 0xC3 /r:mem] s:SSE2, t:DATAXFER, w:W|R +PINSRW Pq,Rd,Ib n/a [ NP 0x0F 0xC4 /r:reg ib] s:MMX, t:MMX, w:RW|R|R +PINSRW Pq,Mw,Ib n/a [ NP 0x0F 0xC4 /r:mem ib] s:MMX, t:MMX, w:RW|R|R +PINSRW Vdq,Rd,Ib n/a [ 0x66 0x0F 0xC4 /r:reg ib] s:SSE2, t:SSE, w:RW|R|R, e:5 +PINSRW Vdq,Mw,Ib n/a [ 0x66 0x0F 0xC4 /r:mem ib] s:SSE2, t:SSE, w:RW|R|R, e:5 +PEXTRW Gy,Nq,Ib n/a [ NP 0x0F 0xC5 /r:reg ib] s:MMX, t:MMX, w:W|R|R, a:D64 +PEXTRW Gy,Udq,Ib n/a [ 0x66 0x0F 0xC5 /r:reg ib] s:SSE2, t:SSE, w:W|R|R, e:5, a:D64 +SHUFPS Vps,Wps,Ib n/a [ NP 0x0F 0xC6 /r ib] s:SSE, t:SSE, w:RW|R|R, e:4 +SHUFPD Vpd,Wpd,Ib n/a [ 0x66 0x0F 0xC6 /r ib] s:SSE2, t:SSE, w:RW|R|R, e:4 CMPXCHG8B Mq EDX,EAX,ECX,EBX,Fv [ 0x0F 0xC7 /1:mem] s:PENTIUMREAL, t:SEMAPHORE, w:RCW|RCW|RCW|R|R|W, i:CX8, f:ZF=m, p:LOCK|HLE CMPXCHG16B Mdq RDX,RAX,RCX,RBX,Fv [ rexw 0x0F 0xC7 /1:mem] s:CMPXCHG16B, t:SEMAPHORE, w:RCW|RCW|RCW|R|R|W, i:CX8, f:ZF=m, p:LOCK|HLE XRSTORS M? EDX,EAX,XCR0,BANK [ NP 0x0F 0xC7 /3:mem] s:XSAVES, t:XSAVE, c:XRSTORS, w:R|R|R|R|W @@ -606,118 +611,118 @@ VMXON Mq Fv [ 0xF3 0x0F 0xC7 /6 VMPTRST Mq Fv [ NP 0x0F 0xC7 /7:mem] s:VTX, t:VTX, w:W|W, f:VMX, m:VMXROOT RDRAND Rv Fv [ 0x0F 0xC7 /6:reg] s:RDRAND, t:RDRAND, w:W|W, f:CF=m|PF=0|AF=0|ZF=0|SF=0|OF=0 RDRAND Rv Fv [ 0x66 0x0F 0xC7 /6:reg] s:RDRAND, t:RDRAND, a:S66, w:W|W, f:CF=m|PF=0|AF=0|ZF=0|SF=0|OF=0 -SENDUIPI Rq nil [ 0xF3 0x0F 0xC7 /6:reg] s:UINTR, t:UINTR, w:RW, m:O64|NOTSX|NOSGX +SENDUIPI Rq n/a [ 0xF3 0x0F 0xC7 /6:reg] s:UINTR, t:UINTR, w:RW, m:O64|NOTSX|NOSGX RDSEED Rv Fv [ 0x0F 0xC7 /7:reg] s:RDSEED, t:RDSEED, w:W|W, f:CF=m|PF=0|AF=0|ZF=0|SF=0|OF=0 RDSEED Rv Fv [ 0x66 0x0F 0xC7 /7:reg] s:RDSEED, t:RDSEED, a:S66, w:W|W, f:CF=m|PF=0|AF=0|ZF=0|SF=0|OF=0 RDPID Ryf TSCAUX [ 0xF3 0x0F 0xC7 /7:reg] s:RDPID, t:RDPID, w:W|R -BSWAP Zv nil [ 0x0F 0xC8] s:I486REAL, t:DATAXFER, w:RW -BSWAP Zv nil [ 0x0F 0xC9] s:I486REAL, t:DATAXFER, w:RW -BSWAP Zv nil [ 0x0F 0xCA] s:I486REAL, t:DATAXFER, w:RW -BSWAP Zv nil [ 0x0F 0xCB] s:I486REAL, t:DATAXFER, w:RW -BSWAP Zv nil [ 0x0F 0xCC] s:I486REAL, t:DATAXFER, w:RW -BSWAP Zv nil [ 0x0F 0xCD] s:I486REAL, t:DATAXFER, w:RW -BSWAP Zv nil [ 0x0F 0xCE] s:I486REAL, t:DATAXFER, w:RW -BSWAP Zv nil [ 0x0F 0xCF] s:I486REAL, t:DATAXFER, w:RW +BSWAP Zv n/a [ 0x0F 0xC8] s:I486REAL, t:DATAXFER, w:RW +BSWAP Zv n/a [ 0x0F 0xC9] s:I486REAL, t:DATAXFER, w:RW +BSWAP Zv n/a [ 0x0F 0xCA] s:I486REAL, t:DATAXFER, w:RW +BSWAP Zv n/a [ 0x0F 0xCB] s:I486REAL, t:DATAXFER, w:RW +BSWAP Zv n/a [ 0x0F 0xCC] s:I486REAL, t:DATAXFER, w:RW +BSWAP Zv n/a [ 0x0F 0xCD] s:I486REAL, t:DATAXFER, w:RW +BSWAP Zv n/a [ 0x0F 0xCE] s:I486REAL, t:DATAXFER, w:RW +BSWAP Zv n/a [ 0x0F 0xCF] s:I486REAL, t:DATAXFER, w:RW # 0xD0 - 0xDF -ADDSUBPD Vpd,Wpd nil [ 0x66 0x0F 0xD0 /r] s:SSE3, t:SSE, w:RW|R, e:2 -ADDSUBPS Vps,Wps nil [ 0xF2 0x0F 0xD0 /r] s:SSE3, t:SSE, w:RW|R, e:2 -PSRLW Pq,Qq nil [ NP 0x0F 0xD1 /r] s:MMX, t:MMX, w:RW|R -PSRLW Vx,Wx nil [ 0x66 0x0F 0xD1 /r] s:SSE2, t:SSE, w:RW|R, e:4 -PSRLD Pq,Qq nil [ NP 0x0F 0xD2 /r] s:MMX, t:MMX, w:RW|R -PSRLD Vx,Wx nil [ 0x66 0x0F 0xD2 /r] s:SSE2, t:SSE, w:RW|R, e:4 -PSRLQ Pq,Qq nil [ NP 0x0F 0xD3 /r] s:MMX, t:MMX, w:RW|R -PSRLQ Vx,Wx nil [ 0x66 0x0F 0xD3 /r] s:SSE2, t:SSE, w:RW|R, e:4 -PADDQ Pq,Qq nil [ NP 0x0F 0xD4 /r] s:SSE2, t:MMX, w:RW|R, e:4 -PADDQ Vx,Wx nil [ 0x66 0x0F 0xD4 /r] s:SSE2, t:SSE, w:RW|R, e:4 -PMULLW Pq,Qq nil [ NP 0x0F 0xD5 /r] s:MMX, t:MMX, w:RW|R -PMULLW Vx,Wx nil [ 0x66 0x0F 0xD5 /r] s:SSE2, t:SSE, w:RW|R, e:4 -MOVQ Wq,Vq nil [ 0x66 0x0F 0xD6 /r] s:SSE2, t:DATAXFER, w:W|R, e:5 -MOVQ2DQ Vdq,Nq nil [ 0xF3 0x0F 0xD6 /r:reg] s:SSE2, t:DATAXFER, w:W|R -MOVDQ2Q Pq,Uq nil [ 0xF2 0x0F 0xD6 /r:reg] s:SSE2, t:DATAXFER, w:W|R -PMOVMSKB Gy,Nq nil [ NP 0x0F 0xD7 /r:reg] s:SSE, t:MMX, w:W|R, e:7, a:D64 -PMOVMSKB Gy,Ux nil [ 0x66 0x0F 0xD7 /r:reg] s:SSE2, t:SSE, w:W|R, e:7, a:D64 -PSUBUSB Pq,Qq nil [ NP 0x0F 0xD8 /r] s:MMX, t:MMX, w:RW|R -PSUBUSB Vx,Wx nil [ 0x66 0x0F 0xD8 /r] s:SSE2, t:SSE, w:RW|R, e:4 -PSUBUSW Pq,Qq nil [ NP 0x0F 0xD9 /r] s:MMX, t:MMX, w:RW|R -PSUBUSW Vx,Wx nil [ 0x66 0x0F 0xD9 /r] s:SSE2, t:SSE, w:RW|R, e:4 -PMINUB Pq,Qq nil [ NP 0x0F 0xDA /r] s:MMX, t:MMX, w:RW|R -PMINUB Vx,Wx nil [ 0x66 0x0F 0xDA /r] s:SSE2, t:SSE, w:RW|R, e:4 -PAND Pq,Qq nil [ NP 0x0F 0xDB /r] s:MMX, t:LOGICAL, w:RW|R -PAND Vx,Wx nil [ 0x66 0x0F 0xDB /r] s:SSE2, t:LOGICAL, w:RW|R, e:4 -PADDUSB Pq,Qq nil [ NP 0x0F 0xDC /r] s:MMX, t:MMX, w:RW|R -PADDUSB Vx,Wx nil [ 0x66 0x0F 0xDC /r] s:SSE2, t:SSE, w:RW|R, e:4 -PADDUSW Pq,Qq nil [ NP 0x0F 0xDD /r] s:MMX, t:MMX, w:RW|R -PADDUSW Vx,Wx nil [ 0x66 0x0F 0xDD /r] s:SSE2, t:SSE, w:RW|R, e:4 -PMAXUB Pq,Qq nil [ NP 0x0F 0xDE /r] s:MMX, t:MMX, w:RW|R -PMAXUB Vx,Wx nil [ 0x66 0x0F 0xDE /r] s:SSE2, t:SSE, w:RW|R, e:4 -PANDN Pq,Qq nil [ NP 0x0F 0xDF /r] s:MMX, t:LOGICAL, w:RW|R -PANDN Vx,Wx nil [ 0x66 0x0F 0xDF /r] s:SSE2, t:LOGICAL, w:RW|R, e:4 +ADDSUBPD Vpd,Wpd n/a [ 0x66 0x0F 0xD0 /r] s:SSE3, t:SSE, w:RW|R, e:2 +ADDSUBPS Vps,Wps n/a [ 0xF2 0x0F 0xD0 /r] s:SSE3, t:SSE, w:RW|R, e:2 +PSRLW Pq,Qq n/a [ NP 0x0F 0xD1 /r] s:MMX, t:MMX, w:RW|R +PSRLW Vx,Wx n/a [ 0x66 0x0F 0xD1 /r] s:SSE2, t:SSE, w:RW|R, e:4 +PSRLD Pq,Qq n/a [ NP 0x0F 0xD2 /r] s:MMX, t:MMX, w:RW|R +PSRLD Vx,Wx n/a [ 0x66 0x0F 0xD2 /r] s:SSE2, t:SSE, w:RW|R, e:4 +PSRLQ Pq,Qq n/a [ NP 0x0F 0xD3 /r] s:MMX, t:MMX, w:RW|R +PSRLQ Vx,Wx n/a [ 0x66 0x0F 0xD3 /r] s:SSE2, t:SSE, w:RW|R, e:4 +PADDQ Pq,Qq n/a [ NP 0x0F 0xD4 /r] s:SSE2, t:MMX, w:RW|R, e:4 +PADDQ Vx,Wx n/a [ 0x66 0x0F 0xD4 /r] s:SSE2, t:SSE, w:RW|R, e:4 +PMULLW Pq,Qq n/a [ NP 0x0F 0xD5 /r] s:MMX, t:MMX, w:RW|R +PMULLW Vx,Wx n/a [ 0x66 0x0F 0xD5 /r] s:SSE2, t:SSE, w:RW|R, e:4 +MOVQ Wq,Vq n/a [ 0x66 0x0F 0xD6 /r] s:SSE2, t:DATAXFER, w:W|R, e:5 +MOVQ2DQ Vdq,Nq n/a [ 0xF3 0x0F 0xD6 /r:reg] s:SSE2, t:DATAXFER, w:W|R +MOVDQ2Q Pq,Uq n/a [ 0xF2 0x0F 0xD6 /r:reg] s:SSE2, t:DATAXFER, w:W|R +PMOVMSKB Gy,Nq n/a [ NP 0x0F 0xD7 /r:reg] s:SSE, t:MMX, w:W|R, e:7, a:D64 +PMOVMSKB Gy,Ux n/a [ 0x66 0x0F 0xD7 /r:reg] s:SSE2, t:SSE, w:W|R, e:7, a:D64 +PSUBUSB Pq,Qq n/a [ NP 0x0F 0xD8 /r] s:MMX, t:MMX, w:RW|R +PSUBUSB Vx,Wx n/a [ 0x66 0x0F 0xD8 /r] s:SSE2, t:SSE, w:RW|R, e:4 +PSUBUSW Pq,Qq n/a [ NP 0x0F 0xD9 /r] s:MMX, t:MMX, w:RW|R +PSUBUSW Vx,Wx n/a [ 0x66 0x0F 0xD9 /r] s:SSE2, t:SSE, w:RW|R, e:4 +PMINUB Pq,Qq n/a [ NP 0x0F 0xDA /r] s:MMX, t:MMX, w:RW|R +PMINUB Vx,Wx n/a [ 0x66 0x0F 0xDA /r] s:SSE2, t:SSE, w:RW|R, e:4 +PAND Pq,Qq n/a [ NP 0x0F 0xDB /r] s:MMX, t:LOGICAL, w:RW|R +PAND Vx,Wx n/a [ 0x66 0x0F 0xDB /r] s:SSE2, t:LOGICAL, w:RW|R, e:4 +PADDUSB Pq,Qq n/a [ NP 0x0F 0xDC /r] s:MMX, t:MMX, w:RW|R +PADDUSB Vx,Wx n/a [ 0x66 0x0F 0xDC /r] s:SSE2, t:SSE, w:RW|R, e:4 +PADDUSW Pq,Qq n/a [ NP 0x0F 0xDD /r] s:MMX, t:MMX, w:RW|R +PADDUSW Vx,Wx n/a [ 0x66 0x0F 0xDD /r] s:SSE2, t:SSE, w:RW|R, e:4 +PMAXUB Pq,Qq n/a [ NP 0x0F 0xDE /r] s:MMX, t:MMX, w:RW|R +PMAXUB Vx,Wx n/a [ 0x66 0x0F 0xDE /r] s:SSE2, t:SSE, w:RW|R, e:4 +PANDN Pq,Qq n/a [ NP 0x0F 0xDF /r] s:MMX, t:LOGICAL, w:RW|R +PANDN Vx,Wx n/a [ 0x66 0x0F 0xDF /r] s:SSE2, t:LOGICAL, w:RW|R, e:4 # 0xE0 - 0xEF -PAVGB Pq,Qq nil [ NP 0x0F 0xE0 /r] s:MMX, t:MMX, w:RW|R -PAVGB Vx,Wx nil [ 0x66 0x0F 0xE0 /r] s:SSE2, t:SSE, w:RW|R, e:4 -PSRAW Pq,Qq nil [ NP 0x0F 0xE1 /r] s:MMX, t:MMX, w:RW|R -PSRAW Vx,Wx nil [ 0x66 0x0F 0xE1 /r] s:SSE2, t:SSE, w:RW|R, e:4 -PSRAD Pq,Qq nil [ NP 0x0F 0xE2 /r] s:MMX, t:MMX, w:RW|R -PSRAD Vx,Wx nil [ 0x66 0x0F 0xE2 /r] s:SSE2, t:SSE, w:RW|R, e:4 -PAVGW Pq,Qq nil [ NP 0x0F 0xE3 /r] s:MMX, t:MMX, w:RW|R -PAVGW Vx,Wx nil [ 0x66 0x0F 0xE3 /r] s:SSE2, t:SSE, w:RW|R, e:4 -PMULHUW Pq,Qq nil [ NP 0x0F 0xE4 /r] s:MMX, t:MMX, w:RW|R -PMULHUW Vx,Wx nil [ 0x66 0x0F 0xE4 /r] s:SSE2, t:SSE, w:RW|R, e:4 -PMULHW Pq,Qq nil [ NP 0x0F 0xE5 /r] s:MMX, t:MMX, w:RW|R -PMULHW Vx,Wx nil [ 0x66 0x0F 0xE5 /r] s:SSE2, t:SSE, w:RW|R, e:4 -CVTTPD2DQ Vx,Wpd nil [ 0x66 0x0F 0xE6 /r] s:SSE2, t:CONVERT, w:W|R, e:2 -CVTDQ2PD Vx,Wq nil [ 0xF3 0x0F 0xE6 /r] s:SSE2, t:CONVERT, w:W|R, e:5 -CVTPD2DQ Vx,Wpd nil [ 0xF2 0x0F 0xE6 /r] s:SSE2, t:CONVERT, w:W|R, e:2 -MOVNTQ Mq,Pq nil [ NP 0x0F 0xE7 /r:mem] s:MMX, t:DATAXFER, w:W|R -MOVNTDQ Mx,Vx nil [ 0x66 0x0F 0xE7 /r:mem] s:SSE2, t:DATAXFER, w:W|R, e:1 -PSUBSB Pq,Qq nil [ NP 0x0F 0xE8 /r] s:MMX, t:MMX, w:RW|R -PSUBSB Vx,Wx nil [ 0x66 0x0F 0xE8 /r] s:SSE2, t:SSE, w:RW|R, e:4 -PSUBSW Pq,Qq nil [ NP 0x0F 0xE9 /r] s:MMX, t:MMX, w:RW|R -PSUBSW Vx,Wx nil [ 0x66 0x0F 0xE9 /r] s:SSE2, t:SSE, w:RW|R, e:4 -PMINSW Pq,Qq nil [ NP 0x0F 0xEA /r] s:MMX, t:MMX, w:RW|R -PMINSW Vx,Wx nil [ 0x66 0x0F 0xEA /r] s:SSE2, t:SSE, w:RW|R, e:4 -POR Pq,Qq nil [ NP 0x0F 0xEB /r] s:MMX, t:LOGICAL, w:RW|R -POR Vx,Wx nil [ 0x66 0x0F 0xEB /r] s:SSE2, t:LOGICAL, w:RW|R, e:4 -PADDSB Pq,Qq nil [ NP 0x0F 0xEC /r] s:MMX, t:MMX, w:RW|R -PADDSB Vx,Wx nil [ 0x66 0x0F 0xEC /r] s:SSE2, t:SSE, w:RW|R, e:4 -PADDSW Pq,Qq nil [ NP 0x0F 0xED /r] s:MMX, t:MMX, w:RW|R -PADDSW Vx,Wx nil [ 0x66 0x0F 0xED /r] s:SSE2, t:SSE, w:RW|R, e:4 -PMAXSW Pq,Qq nil [ NP 0x0F 0xEE /r] s:MMX, t:MMX, w:RW|R -PMAXSW Vx,Wx nil [ 0x66 0x0F 0xEE /r] s:SSE2, t:SSE, w:RW|R, e:4 -PXOR Pq,Qq nil [ NP 0x0F 0xEF /r] s:MMX, t:LOGICAL, w:RW|R -PXOR Vx,Wx nil [ 0x66 0x0F 0xEF /r] s:SSE2, t:LOGICAL, w:RW|R, e:4 +PAVGB Pq,Qq n/a [ NP 0x0F 0xE0 /r] s:MMX, t:MMX, w:RW|R +PAVGB Vx,Wx n/a [ 0x66 0x0F 0xE0 /r] s:SSE2, t:SSE, w:RW|R, e:4 +PSRAW Pq,Qq n/a [ NP 0x0F 0xE1 /r] s:MMX, t:MMX, w:RW|R +PSRAW Vx,Wx n/a [ 0x66 0x0F 0xE1 /r] s:SSE2, t:SSE, w:RW|R, e:4 +PSRAD Pq,Qq n/a [ NP 0x0F 0xE2 /r] s:MMX, t:MMX, w:RW|R +PSRAD Vx,Wx n/a [ 0x66 0x0F 0xE2 /r] s:SSE2, t:SSE, w:RW|R, e:4 +PAVGW Pq,Qq n/a [ NP 0x0F 0xE3 /r] s:MMX, t:MMX, w:RW|R +PAVGW Vx,Wx n/a [ 0x66 0x0F 0xE3 /r] s:SSE2, t:SSE, w:RW|R, e:4 +PMULHUW Pq,Qq n/a [ NP 0x0F 0xE4 /r] s:MMX, t:MMX, w:RW|R +PMULHUW Vx,Wx n/a [ 0x66 0x0F 0xE4 /r] s:SSE2, t:SSE, w:RW|R, e:4 +PMULHW Pq,Qq n/a [ NP 0x0F 0xE5 /r] s:MMX, t:MMX, w:RW|R +PMULHW Vx,Wx n/a [ 0x66 0x0F 0xE5 /r] s:SSE2, t:SSE, w:RW|R, e:4 +CVTTPD2DQ Vx,Wpd n/a [ 0x66 0x0F 0xE6 /r] s:SSE2, t:CONVERT, w:W|R, e:2 +CVTDQ2PD Vx,Wq n/a [ 0xF3 0x0F 0xE6 /r] s:SSE2, t:CONVERT, w:W|R, e:5 +CVTPD2DQ Vx,Wpd n/a [ 0xF2 0x0F 0xE6 /r] s:SSE2, t:CONVERT, w:W|R, e:2 +MOVNTQ Mq,Pq n/a [ NP 0x0F 0xE7 /r:mem] s:MMX, t:DATAXFER, w:W|R +MOVNTDQ Mx,Vx n/a [ 0x66 0x0F 0xE7 /r:mem] s:SSE2, t:DATAXFER, w:W|R, e:1 +PSUBSB Pq,Qq n/a [ NP 0x0F 0xE8 /r] s:MMX, t:MMX, w:RW|R +PSUBSB Vx,Wx n/a [ 0x66 0x0F 0xE8 /r] s:SSE2, t:SSE, w:RW|R, e:4 +PSUBSW Pq,Qq n/a [ NP 0x0F 0xE9 /r] s:MMX, t:MMX, w:RW|R +PSUBSW Vx,Wx n/a [ 0x66 0x0F 0xE9 /r] s:SSE2, t:SSE, w:RW|R, e:4 +PMINSW Pq,Qq n/a [ NP 0x0F 0xEA /r] s:MMX, t:MMX, w:RW|R +PMINSW Vx,Wx n/a [ 0x66 0x0F 0xEA /r] s:SSE2, t:SSE, w:RW|R, e:4 +POR Pq,Qq n/a [ NP 0x0F 0xEB /r] s:MMX, t:LOGICAL, w:RW|R +POR Vx,Wx n/a [ 0x66 0x0F 0xEB /r] s:SSE2, t:LOGICAL, w:RW|R, e:4 +PADDSB Pq,Qq n/a [ NP 0x0F 0xEC /r] s:MMX, t:MMX, w:RW|R +PADDSB Vx,Wx n/a [ 0x66 0x0F 0xEC /r] s:SSE2, t:SSE, w:RW|R, e:4 +PADDSW Pq,Qq n/a [ NP 0x0F 0xED /r] s:MMX, t:MMX, w:RW|R +PADDSW Vx,Wx n/a [ 0x66 0x0F 0xED /r] s:SSE2, t:SSE, w:RW|R, e:4 +PMAXSW Pq,Qq n/a [ NP 0x0F 0xEE /r] s:MMX, t:MMX, w:RW|R +PMAXSW Vx,Wx n/a [ 0x66 0x0F 0xEE /r] s:SSE2, t:SSE, w:RW|R, e:4 +PXOR Pq,Qq n/a [ NP 0x0F 0xEF /r] s:MMX, t:LOGICAL, w:RW|R +PXOR Vx,Wx n/a [ 0x66 0x0F 0xEF /r] s:SSE2, t:LOGICAL, w:RW|R, e:4 # 0xF0 - 0xFF -LDDQU Vx,Mx nil [ 0xF2 0x0F 0xF0 /r:mem] s:SSE3, t:SSE, w:W|R, e:4 -PSLLW Pq,Qq nil [ NP 0x0F 0xF1 /r] s:MMX, t:MMX, w:RW|R -PSLLW Vx,Wx nil [ 0x66 0x0F 0xF1 /r] s:SSE2, t:SSE, w:RW|R, e:4 -PSLLD Pq,Qq nil [ NP 0x0F 0xF2 /r] s:MMX, t:MMX, w:RW|R -PSLLD Vx,Wx nil [ 0x66 0x0F 0xF2 /r] s:SSE2, t:SSE, w:RW|R, e:4 -PSLLQ Pq,Qq nil [ NP 0x0F 0xF3 /r] s:MMX, t:MMX, w:RW|R -PSLLQ Vx,Wx nil [ 0x66 0x0F 0xF3 /r] s:SSE2, t:SSE, w:RW|R, e:4 -PMULUDQ Pq,Qq nil [ NP 0x0F 0xF4 /r] s:SSE2, t:MMX, w:RW|R, e:4 -PMULUDQ Vx,Wx nil [ 0x66 0x0F 0xF4 /r] s:SSE2, t:SSE, w:RW|R, e:4 -PMADDWD Pq,Qq nil [ NP 0x0F 0xF5 /r] s:MMX, t:MMX, w:RW|R -PMADDWD Vx,Wx nil [ 0x66 0x0F 0xF5 /r] s:SSE2, t:SSE, w:RW|R, e:4 -PSADBW Pq,Qq nil [ NP 0x0F 0xF6 /r] s:MMX, t:MMX, w:RW|R -PSADBW Vx,Wx nil [ 0x66 0x0F 0xF6 /r] s:SSE2, t:SSE, w:RW|R, e:4 +LDDQU Vx,Mx n/a [ 0xF2 0x0F 0xF0 /r:mem] s:SSE3, t:SSE, w:W|R, e:4 +PSLLW Pq,Qq n/a [ NP 0x0F 0xF1 /r] s:MMX, t:MMX, w:RW|R +PSLLW Vx,Wx n/a [ 0x66 0x0F 0xF1 /r] s:SSE2, t:SSE, w:RW|R, e:4 +PSLLD Pq,Qq n/a [ NP 0x0F 0xF2 /r] s:MMX, t:MMX, w:RW|R +PSLLD Vx,Wx n/a [ 0x66 0x0F 0xF2 /r] s:SSE2, t:SSE, w:RW|R, e:4 +PSLLQ Pq,Qq n/a [ NP 0x0F 0xF3 /r] s:MMX, t:MMX, w:RW|R +PSLLQ Vx,Wx n/a [ 0x66 0x0F 0xF3 /r] s:SSE2, t:SSE, w:RW|R, e:4 +PMULUDQ Pq,Qq n/a [ NP 0x0F 0xF4 /r] s:SSE2, t:MMX, w:RW|R, e:4 +PMULUDQ Vx,Wx n/a [ 0x66 0x0F 0xF4 /r] s:SSE2, t:SSE, w:RW|R, e:4 +PMADDWD Pq,Qq n/a [ NP 0x0F 0xF5 /r] s:MMX, t:MMX, w:RW|R +PMADDWD Vx,Wx n/a [ 0x66 0x0F 0xF5 /r] s:SSE2, t:SSE, w:RW|R, e:4 +PSADBW Pq,Qq n/a [ NP 0x0F 0xF6 /r] s:MMX, t:MMX, w:RW|R +PSADBW Vx,Wx n/a [ 0x66 0x0F 0xF6 /r] s:SSE2, t:SSE, w:RW|R, e:4 MASKMOVQ Pq,Nq pDIq [ NP 0x0F 0xF7 /r:reg] s:MMX, t:DATAXFER, w:R|R|W MASKMOVDQU Vdq,Udq pDIdq [ 0x66 0x0F 0xF7 /r:reg] s:SSE2, t:DATAXFER, w:R|R|W, e:4 -PSUBB Pq,Qq nil [ NP 0x0F 0xF8 /r] s:MMX, t:MMX, w:RW|R -PSUBB Vx,Wx nil [ 0x66 0x0F 0xF8 /r] s:SSE2, t:SSE, w:RW|R, e:4 -PSUBW Pq,Qq nil [ NP 0x0F 0xF9 /r] s:MMX, t:MMX, w:RW|R -PSUBW Vx,Wx nil [ 0x66 0x0F 0xF9 /r] s:SSE2, t:SSE, w:RW|R, e:4 -PSUBD Pq,Qq nil [ NP 0x0F 0xFA /r] s:MMX, t:MMX, w:RW|R -PSUBD Vx,Wx nil [ 0x66 0x0F 0xFA /r] s:SSE2, t:SSE, w:RW|R, e:4 -PSUBQ Pq,Qq nil [ NP 0x0F 0xFB /r] s:MMX, t:MMX, w:RW|R -PSUBQ Vx,Wx nil [ 0x66 0x0F 0xFB /r] s:SSE2, t:SSE, w:RW|R, e:4 -PADDB Pq,Qq nil [ NP 0x0F 0xFC /r] s:MMX, t:MMX, w:RW|R -PADDB Vx,Wx nil [ 0x66 0x0F 0xFC /r] s:SSE2, t:SSE, w:RW|R, e:4 -PADDW Pq,Qq nil [ NP 0x0F 0xFD /r] s:MMX, t:MMX, w:RW|R -PADDW Vx,Wx nil [ 0x66 0x0F 0xFD /r] s:SSE2, t:SSE, w:RW|R, e:4 -PADDD Pq,Qq nil [ NP 0x0F 0xFE /r] s:MMX, t:MMX, w:RW|R -PADDD Vx,Wx nil [ 0x66 0x0F 0xFE /r] s:SSE2, t:SSE, w:RW|R, e:4 -UD0 Gd,Ed nil [ 0x0F 0xFF /r] s:UD, t:UD, w:R|R +PSUBB Pq,Qq n/a [ NP 0x0F 0xF8 /r] s:MMX, t:MMX, w:RW|R +PSUBB Vx,Wx n/a [ 0x66 0x0F 0xF8 /r] s:SSE2, t:SSE, w:RW|R, e:4 +PSUBW Pq,Qq n/a [ NP 0x0F 0xF9 /r] s:MMX, t:MMX, w:RW|R +PSUBW Vx,Wx n/a [ 0x66 0x0F 0xF9 /r] s:SSE2, t:SSE, w:RW|R, e:4 +PSUBD Pq,Qq n/a [ NP 0x0F 0xFA /r] s:MMX, t:MMX, w:RW|R +PSUBD Vx,Wx n/a [ 0x66 0x0F 0xFA /r] s:SSE2, t:SSE, w:RW|R, e:4 +PSUBQ Pq,Qq n/a [ NP 0x0F 0xFB /r] s:MMX, t:MMX, w:RW|R +PSUBQ Vx,Wx n/a [ 0x66 0x0F 0xFB /r] s:SSE2, t:SSE, w:RW|R, e:4 +PADDB Pq,Qq n/a [ NP 0x0F 0xFC /r] s:MMX, t:MMX, w:RW|R +PADDB Vx,Wx n/a [ 0x66 0x0F 0xFC /r] s:SSE2, t:SSE, w:RW|R, e:4 +PADDW Pq,Qq n/a [ NP 0x0F 0xFD /r] s:MMX, t:MMX, w:RW|R +PADDW Vx,Wx n/a [ 0x66 0x0F 0xFD /r] s:SSE2, t:SSE, w:RW|R, e:4 +PADDD Pq,Qq n/a [ NP 0x0F 0xFE /r] s:MMX, t:MMX, w:RW|R +PADDD Vx,Wx n/a [ 0x66 0x0F 0xFE /r] s:SSE2, t:SSE, w:RW|R, e:4 +UD0 Gd,Ed n/a [ 0x0F 0xFF /r] s:UD, t:UD, w:R|R diff --git a/isagenerator/instructions/table_0F_38.dat b/isagenerator/instructions/table_0F_38.dat index b4bb37f..5dfd447 100644 --- a/isagenerator/instructions/table_0F_38.dat +++ b/isagenerator/instructions/table_0F_38.dat @@ -1,76 +1,81 @@ +# +# Copyright (c) 2020 Bitdefender +# SPDX-License-Identifier: Apache-2.0 +# + # Mnemonic Explicit Operands Implicit Encoding Flags, Prefixes, Set, Category, Class, RW map, Additional ops #------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ # 0x00 - 0x0F -PSHUFB Pq,Qq nil [ NP 0x0F 0x38 0x00 /r] s:SSSE3, t:MMX, w:RW|R -PSHUFB Vx,Wx nil [ 0x66 0x0F 0x38 0x00 /r] s:SSSE3, t:SSE, w:RW|R, e:4 -PHADDW Pq,Qq nil [ NP 0x0F 0x38 0x01 /r] s:SSSE3, t:MMX, w:RW|R -PHADDW Vx,Wx nil [ 0x66 0x0F 0x38 0x01 /r] s:SSSE3, t:SSE, w:RW|R, e:4 -PHADDD Pq,Qq nil [ NP 0x0F 0x38 0x02 /r] s:SSSE3, t:MMX, w:RW|R -PHADDD Vx,Wx nil [ 0x66 0x0F 0x38 0x02 /r] s:SSSE3, t:SSE, w:RW|R, e:4 -PHADDSW Pq,Qq nil [ NP 0x0F 0x38 0x03 /r] s:SSSE3, t:MMX, w:RW|R -PHADDSW Vx,Wx nil [ 0x66 0x0F 0x38 0x03 /r] s:SSSE3, t:SSE, w:RW|R, e:4 -PMADDUBSW Pq,Qq nil [ NP 0x0F 0x38 0x04 /r] s:SSSE3, t:MMX, w:RW|R -PMADDUBSW Vx,Wx nil [ 0x66 0x0F 0x38 0x04 /r] s:SSSE3, t:SSE, w:RW|R, e:4 -PHSUBW Pq,Qq nil [ NP 0x0F 0x38 0x05 /r] s:SSSE3, t:MMX, w:RW|R -PHSUBW Vx,Wx nil [ 0x66 0x0F 0x38 0x05 /r] s:SSSE3, t:SSE, w:RW|R, e:4 -PHSUBD Pq,Qq nil [ NP 0x0F 0x38 0x06 /r] s:SSSE3, t:MMX, w:RW|R -PHSUBD Vx,Wx nil [ 0x66 0x0F 0x38 0x06 /r] s:SSSE3, t:SSE, w:RW|R, e:4 -PHSUBSW Pq,Qq nil [ NP 0x0F 0x38 0x07 /r] s:SSSE3, t:MMX, w:RW|R -PHSUBSW Vx,Wx nil [ 0x66 0x0F 0x38 0x07 /r] s:SSSE3, t:SSE, w:RW|R, e:4 -PSIGNB Pq,Qq nil [ NP 0x0F 0x38 0x08 /r] s:SSSE3, t:MMX, w:RW|R -PSIGNB Vx,Wx nil [ 0x66 0x0F 0x38 0x08 /r] s:SSSE3, t:SSE, w:RW|R, e:4 -PSIGNW Pq,Qq nil [ NP 0x0F 0x38 0x09 /r] s:SSSE3, t:MMX, w:RW|R -PSIGNW Vx,Wx nil [ 0x66 0x0F 0x38 0x09 /r] s:SSSE3, t:SSE, w:RW|R, e:4 -PSIGND Pq,Qq nil [ NP 0x0F 0x38 0x0A /r] s:SSSE3, t:MMX, w:RW|R -PSIGND Vx,Wx nil [ 0x66 0x0F 0x38 0x0A /r] s:SSSE3, t:SSE, w:RW|R, e:4 -PMULHRSW Pq,Qq nil [ NP 0x0F 0x38 0x0B /r] s:SSSE3, t:MMX, w:RW|R -PMULHRSW Vx,Wx nil [ 0x66 0x0F 0x38 0x0B /r] s:SSSE3, t:SSE, w:RW|R, e:4 +PSHUFB Pq,Qq n/a [ NP 0x0F 0x38 0x00 /r] s:SSSE3, t:MMX, w:RW|R +PSHUFB Vx,Wx n/a [ 0x66 0x0F 0x38 0x00 /r] s:SSSE3, t:SSE, w:RW|R, e:4 +PHADDW Pq,Qq n/a [ NP 0x0F 0x38 0x01 /r] s:SSSE3, t:MMX, w:RW|R +PHADDW Vx,Wx n/a [ 0x66 0x0F 0x38 0x01 /r] s:SSSE3, t:SSE, w:RW|R, e:4 +PHADDD Pq,Qq n/a [ NP 0x0F 0x38 0x02 /r] s:SSSE3, t:MMX, w:RW|R +PHADDD Vx,Wx n/a [ 0x66 0x0F 0x38 0x02 /r] s:SSSE3, t:SSE, w:RW|R, e:4 +PHADDSW Pq,Qq n/a [ NP 0x0F 0x38 0x03 /r] s:SSSE3, t:MMX, w:RW|R +PHADDSW Vx,Wx n/a [ 0x66 0x0F 0x38 0x03 /r] s:SSSE3, t:SSE, w:RW|R, e:4 +PMADDUBSW Pq,Qq n/a [ NP 0x0F 0x38 0x04 /r] s:SSSE3, t:MMX, w:RW|R +PMADDUBSW Vx,Wx n/a [ 0x66 0x0F 0x38 0x04 /r] s:SSSE3, t:SSE, w:RW|R, e:4 +PHSUBW Pq,Qq n/a [ NP 0x0F 0x38 0x05 /r] s:SSSE3, t:MMX, w:RW|R +PHSUBW Vx,Wx n/a [ 0x66 0x0F 0x38 0x05 /r] s:SSSE3, t:SSE, w:RW|R, e:4 +PHSUBD Pq,Qq n/a [ NP 0x0F 0x38 0x06 /r] s:SSSE3, t:MMX, w:RW|R +PHSUBD Vx,Wx n/a [ 0x66 0x0F 0x38 0x06 /r] s:SSSE3, t:SSE, w:RW|R, e:4 +PHSUBSW Pq,Qq n/a [ NP 0x0F 0x38 0x07 /r] s:SSSE3, t:MMX, w:RW|R +PHSUBSW Vx,Wx n/a [ 0x66 0x0F 0x38 0x07 /r] s:SSSE3, t:SSE, w:RW|R, e:4 +PSIGNB Pq,Qq n/a [ NP 0x0F 0x38 0x08 /r] s:SSSE3, t:MMX, w:RW|R +PSIGNB Vx,Wx n/a [ 0x66 0x0F 0x38 0x08 /r] s:SSSE3, t:SSE, w:RW|R, e:4 +PSIGNW Pq,Qq n/a [ NP 0x0F 0x38 0x09 /r] s:SSSE3, t:MMX, w:RW|R +PSIGNW Vx,Wx n/a [ 0x66 0x0F 0x38 0x09 /r] s:SSSE3, t:SSE, w:RW|R, e:4 +PSIGND Pq,Qq n/a [ NP 0x0F 0x38 0x0A /r] s:SSSE3, t:MMX, w:RW|R +PSIGND Vx,Wx n/a [ 0x66 0x0F 0x38 0x0A /r] s:SSSE3, t:SSE, w:RW|R, e:4 +PMULHRSW Pq,Qq n/a [ NP 0x0F 0x38 0x0B /r] s:SSSE3, t:MMX, w:RW|R +PMULHRSW Vx,Wx n/a [ 0x66 0x0F 0x38 0x0B /r] s:SSSE3, t:SSE, w:RW|R, e:4 # 0x10 - 0x1F PBLENDVB Vdq,Wdq XMM0 [ 0x66 0x0F 0x38 0x10 /r] s:SSE4, t:SSE, w:RW|R|R, e:4 BLENDVPS Vdq,Wdq XMM0 [ 0x66 0x0F 0x38 0x14 /r] s:SSE4, t:SSE, w:RW|R|R, e:4 BLENDVPD Vdq,Wdq XMM0 [ 0x66 0x0F 0x38 0x15 /r] s:SSE4, t:SSE, w:RW|R|R, e:4 PTEST Vdq,Wdq Fv [ 0x66 0x0F 0x38 0x17 /r] s:SSE4, t:SSE, w:R|R|W, f:CF=m|PF=0|AF=0|ZF=m|SF=0|OF=0, e:4 -PABSB Pq,Qq nil [ NP 0x0F 0x38 0x1C /r] s:SSSE3, t:MMX, w:W|R -PABSB Vx,Wx nil [ 0x66 0x0F 0x38 0x1C /r] s:SSSE3, t:SSE, w:W|R, e:4 -PABSW Pq,Qq nil [ NP 0x0F 0x38 0x1D /r] s:SSSE3, t:MMX, w:W|R -PABSW Vx,Wx nil [ 0x66 0x0F 0x38 0x1D /r] s:SSSE3, t:SSE, w:W|R, e:4 -PABSD Pq,Qq nil [ NP 0x0F 0x38 0x1E /r] s:SSSE3, t:MMX, w:W|R -PABSD Vx,Wx nil [ 0x66 0x0F 0x38 0x1E /r] s:SSSE3, t:SSE, w:W|R, e:4 +PABSB Pq,Qq n/a [ NP 0x0F 0x38 0x1C /r] s:SSSE3, t:MMX, w:W|R +PABSB Vx,Wx n/a [ 0x66 0x0F 0x38 0x1C /r] s:SSSE3, t:SSE, w:W|R, e:4 +PABSW Pq,Qq n/a [ NP 0x0F 0x38 0x1D /r] s:SSSE3, t:MMX, w:W|R +PABSW Vx,Wx n/a [ 0x66 0x0F 0x38 0x1D /r] s:SSSE3, t:SSE, w:W|R, e:4 +PABSD Pq,Qq n/a [ NP 0x0F 0x38 0x1E /r] s:SSSE3, t:MMX, w:W|R +PABSD Vx,Wx n/a [ 0x66 0x0F 0x38 0x1E /r] s:SSSE3, t:SSE, w:W|R, e:4 # 0x20 - 0x2F -PMOVSXBW Vdq,Wq nil [ 0x66 0x0F 0x38 0x20 /r] s:SSE4, t:SSE, w:W|R, e:5 -PMOVSXBD Vdq,Wd nil [ 0x66 0x0F 0x38 0x21 /r] s:SSE4, t:SSE, w:W|R, e:5 -PMOVSXBQ Vdq,Ww nil [ 0x66 0x0F 0x38 0x22 /r] s:SSE4, t:SSE, w:W|R, e:5 -PMOVSXWD Vdq,Wq nil [ 0x66 0x0F 0x38 0x23 /r] s:SSE4, t:SSE, w:W|R, e:5 -PMOVSXWQ Vdq,Wd nil [ 0x66 0x0F 0x38 0x24 /r] s:SSE4, t:SSE, w:W|R, e:5 -PMOVSXDQ Vdq,Wq nil [ 0x66 0x0F 0x38 0x25 /r] s:SSE4, t:SSE, w:W|R, e:5 -PMULDQ Vx,Wx nil [ 0x66 0x0F 0x38 0x28 /r] s:SSE4, t:SSE, w:RW|R, e:4 -PCMPEQQ Vx,Wx nil [ 0x66 0x0F 0x38 0x29 /r] s:SSE4, t:SSE, w:RW|R, e:4 -MOVNTDQA Vx,Mx nil [ 0x66 0x0F 0x38 0x2A /r:mem] s:SSE4, t:SSE, w:W|R, e:1 -PACKUSDW Vx,Wx nil [ 0x66 0x0F 0x38 0x2B /r] s:SSE4, t:SSE, w:RW|R, e:4 +PMOVSXBW Vdq,Wq n/a [ 0x66 0x0F 0x38 0x20 /r] s:SSE4, t:SSE, w:W|R, e:5 +PMOVSXBD Vdq,Wd n/a [ 0x66 0x0F 0x38 0x21 /r] s:SSE4, t:SSE, w:W|R, e:5 +PMOVSXBQ Vdq,Ww n/a [ 0x66 0x0F 0x38 0x22 /r] s:SSE4, t:SSE, w:W|R, e:5 +PMOVSXWD Vdq,Wq n/a [ 0x66 0x0F 0x38 0x23 /r] s:SSE4, t:SSE, w:W|R, e:5 +PMOVSXWQ Vdq,Wd n/a [ 0x66 0x0F 0x38 0x24 /r] s:SSE4, t:SSE, w:W|R, e:5 +PMOVSXDQ Vdq,Wq n/a [ 0x66 0x0F 0x38 0x25 /r] s:SSE4, t:SSE, w:W|R, e:5 +PMULDQ Vx,Wx n/a [ 0x66 0x0F 0x38 0x28 /r] s:SSE4, t:SSE, w:RW|R, e:4 +PCMPEQQ Vx,Wx n/a [ 0x66 0x0F 0x38 0x29 /r] s:SSE4, t:SSE, w:RW|R, e:4 +MOVNTDQA Vx,Mx n/a [ 0x66 0x0F 0x38 0x2A /r:mem] s:SSE4, t:SSE, w:W|R, e:1 +PACKUSDW Vx,Wx n/a [ 0x66 0x0F 0x38 0x2B /r] s:SSE4, t:SSE, w:RW|R, e:4 # 0x30 - 0x3F -PMOVZXBW Vdq,Wq nil [ 0x66 0x0F 0x38 0x30 /r] s:SSE4, t:SSE, w:W|R, e:5 -PMOVZXBD Vdq,Wd nil [ 0x66 0x0F 0x38 0x31 /r] s:SSE4, t:SSE, w:W|R, e:5 -PMOVZXBQ Vdq,Ww nil [ 0x66 0x0F 0x38 0x32 /r] s:SSE4, t:SSE, w:W|R, e:5 -PMOVZXWD Vdq,Wq nil [ 0x66 0x0F 0x38 0x33 /r] s:SSE4, t:SSE, w:W|R, e:5 -PMOVZXWQ Vdq,Wd nil [ 0x66 0x0F 0x38 0x34 /r] s:SSE4, t:SSE, w:W|R, e:5 -PMOVZXDQ Vdq,Wq nil [ 0x66 0x0F 0x38 0x35 /r] s:SSE4, t:SSE, w:W|R, e:5 -PCMPGTQ Vx,Wx nil [ 0x66 0x0F 0x38 0x37 /r] s:SSE42, t:SSE, w:RW|R, e:4 -PMINSB Vx,Wx nil [ 0x66 0x0F 0x38 0x38 /r] s:SSE4, t:SSE, w:RW|R, e:4 -PMINSD Vx,Wx nil [ 0x66 0x0F 0x38 0x39 /r] s:SSE4, t:SSE, w:RW|R, e:4 -PMINUW Vx,Wx nil [ 0x66 0x0F 0x38 0x3A /r] s:SSE4, t:SSE, w:RW|R, e:4 -PMINUD Vx,Wx nil [ 0x66 0x0F 0x38 0x3B /r] s:SSE4, t:SSE, w:RW|R, e:4 -PMAXSB Vx,Wx nil [ 0x66 0x0F 0x38 0x3C /r] s:SSE4, t:SSE, w:RW|R, e:4 -PMAXSD Vx,Wx nil [ 0x66 0x0F 0x38 0x3D /r] s:SSE4, t:SSE, w:RW|R, e:4 -PMAXUW Vx,Wx nil [ 0x66 0x0F 0x38 0x3E /r] s:SSE4, t:SSE, w:RW|R, e:4 -PMAXUD Vx,Wx nil [ 0x66 0x0F 0x38 0x3F /r] s:SSE4, t:SSE, w:RW|R, e:4 +PMOVZXBW Vdq,Wq n/a [ 0x66 0x0F 0x38 0x30 /r] s:SSE4, t:SSE, w:W|R, e:5 +PMOVZXBD Vdq,Wd n/a [ 0x66 0x0F 0x38 0x31 /r] s:SSE4, t:SSE, w:W|R, e:5 +PMOVZXBQ Vdq,Ww n/a [ 0x66 0x0F 0x38 0x32 /r] s:SSE4, t:SSE, w:W|R, e:5 +PMOVZXWD Vdq,Wq n/a [ 0x66 0x0F 0x38 0x33 /r] s:SSE4, t:SSE, w:W|R, e:5 +PMOVZXWQ Vdq,Wd n/a [ 0x66 0x0F 0x38 0x34 /r] s:SSE4, t:SSE, w:W|R, e:5 +PMOVZXDQ Vdq,Wq n/a [ 0x66 0x0F 0x38 0x35 /r] s:SSE4, t:SSE, w:W|R, e:5 +PCMPGTQ Vx,Wx n/a [ 0x66 0x0F 0x38 0x37 /r] s:SSE42, t:SSE, w:RW|R, e:4 +PMINSB Vx,Wx n/a [ 0x66 0x0F 0x38 0x38 /r] s:SSE4, t:SSE, w:RW|R, e:4 +PMINSD Vx,Wx n/a [ 0x66 0x0F 0x38 0x39 /r] s:SSE4, t:SSE, w:RW|R, e:4 +PMINUW Vx,Wx n/a [ 0x66 0x0F 0x38 0x3A /r] s:SSE4, t:SSE, w:RW|R, e:4 +PMINUD Vx,Wx n/a [ 0x66 0x0F 0x38 0x3B /r] s:SSE4, t:SSE, w:RW|R, e:4 +PMAXSB Vx,Wx n/a [ 0x66 0x0F 0x38 0x3C /r] s:SSE4, t:SSE, w:RW|R, e:4 +PMAXSD Vx,Wx n/a [ 0x66 0x0F 0x38 0x3D /r] s:SSE4, t:SSE, w:RW|R, e:4 +PMAXUW Vx,Wx n/a [ 0x66 0x0F 0x38 0x3E /r] s:SSE4, t:SSE, w:RW|R, e:4 +PMAXUD Vx,Wx n/a [ 0x66 0x0F 0x38 0x3F /r] s:SSE4, t:SSE, w:RW|R, e:4 # 0x40 - 0x4F -PMULLD Vx,Wx nil [ 0x66 0x0F 0x38 0x40 /r] s:SSE4, t:SSE, w:RW|R, e:4 -PHMINPOSUW Vdq,Wdq nil [ 0x66 0x0F 0x38 0x41 /r] s:SSE4, t:SSE, w:W|R, e:4 +PMULLD Vx,Wx n/a [ 0x66 0x0F 0x38 0x40 /r] s:SSE4, t:SSE, w:RW|R, e:4 +PHMINPOSUW Vdq,Wdq n/a [ 0x66 0x0F 0x38 0x41 /r] s:SSE4, t:SSE, w:W|R, e:4 # 0x50 - 0x5F @@ -81,7 +86,7 @@ PHMINPOSUW Vdq,Wdq nil [ 0x66 0x0F 0x # 0x80 - 0x8F INVEPT Gy,Mdq Fv [ 0x66 0x0F 0x38 0x80 /r:mem] s:VTX, t:VTX, w:R|R|W, f:VMX, a:F64|SERIAL, m:VMXROOT INVVPID Gy,Mdq Fv [ 0x66 0x0F 0x38 0x81 /r:mem] s:VTX, t:VTX, w:R|R|W, f:VMX, a:F64|SERIAL, m:VMXROOT -INVPCID Gy,Mdq nil [ 0x66 0x0F 0x38 0x82 /r:mem] s:INVPCID, t:MISC, w:R|R, a:F64, m:KERNEL|NOV86 +INVPCID Gy,Mdq n/a [ 0x66 0x0F 0x38 0x82 /r:mem] s:INVPCID, t:MISC, w:R|R, a:F64, m:KERNEL|NOV86 # 0x90 - 0x9F @@ -90,56 +95,56 @@ INVPCID Gy,Mdq nil [ 0x66 0x0F 0x # 0xB0 - 0xBF # 0xC0 - 0xCF -SHA1NEXTE Vdq,Wdq nil [ NP 0x0F 0x38 0xC8 /r] s:SHA, t:SHA, w:RW|R, e:4 -SHA1MSG1 Vdq,Wdq nil [ NP 0x0F 0x38 0xC9 /r] s:SHA, t:SHA, w:RW|R, e:4 -SHA1MSG2 Vdq,Wdq nil [ NP 0x0F 0x38 0xCA /r] s:SHA, t:SHA, w:RW|R, e:4 +SHA1NEXTE Vdq,Wdq n/a [ NP 0x0F 0x38 0xC8 /r] s:SHA, t:SHA, w:RW|R, e:4 +SHA1MSG1 Vdq,Wdq n/a [ NP 0x0F 0x38 0xC9 /r] s:SHA, t:SHA, w:RW|R, e:4 +SHA1MSG2 Vdq,Wdq n/a [ NP 0x0F 0x38 0xCA /r] s:SHA, t:SHA, w:RW|R, e:4 SHA256RNDS2 Vdq,Wdq XMM0 [ NP 0x0F 0x38 0xCB /r] s:SHA, t:SHA, w:RW|R|R, e:4 -SHA256MSG1 Vdq,Wdq nil [ NP 0x0F 0x38 0xCC /r] s:SHA, t:SHA, w:RW|R, e:4 -SHA256MSG2 Vdq,Wdq nil [ NP 0x0F 0x38 0xCD /r] s:SHA, t:SHA, w:RW|R, e:4 -GF2P8MULB Vdq,Wdq nil [ 0x66 0x0F 0x38 0xCF /r] s:GFNI, t:GFNI, w:RW|R, e:4 +SHA256MSG1 Vdq,Wdq n/a [ NP 0x0F 0x38 0xCC /r] s:SHA, t:SHA, w:RW|R, e:4 +SHA256MSG2 Vdq,Wdq n/a [ NP 0x0F 0x38 0xCD /r] s:SHA, t:SHA, w:RW|R, e:4 +GF2P8MULB Vdq,Wdq n/a [ 0x66 0x0F 0x38 0xCF /r] s:GFNI, t:GFNI, w:RW|R, e:4 # 0xD0 - 0xDF AESENCWIDE128KL M384 XMM0-7,Fv [ 0xF3 0x0F 0x38 0xD8 /0:mem] s:KL, t:WIDE_KL, w:R|RW|W, f:AESKL AESDECWIDE128KL M384 XMM0-7,Fv [ 0xF3 0x0F 0x38 0xD8 /1:mem] s:KL, t:WIDE_KL, w:R|RW|W, f:AESKL AESENCWIDE256KL M512 XMM0-7,Fv [ 0xF3 0x0F 0x38 0xD8 /2:mem] s:KL, t:WIDE_KL, w:R|RW|W, f:AESKL AESDECWIDE256KL M512 XMM0-7,Fv [ 0xF3 0x0F 0x38 0xD8 /3:mem] s:KL, t:WIDE_KL, w:R|RW|W, f:AESKL -AESIMC Vdq,Wdq nil [ 0x66 0x0F 0x38 0xDB /r] s:AES, t:AES, w:W|R, e:4 -AESENC Vdq,Wdq nil [ 0x66 0x0F 0x38 0xDC /r] s:AES, t:AES, w:RW|R, e:4 +AESIMC Vdq,Wdq n/a [ 0x66 0x0F 0x38 0xDB /r] s:AES, t:AES, w:W|R, e:4 +AESENC Vdq,Wdq n/a [ 0x66 0x0F 0x38 0xDC /r] s:AES, t:AES, w:RW|R, e:4 AESENC128KL Vdq,M384 Fv [ 0xF3 0x0F 0x38 0xDC /r:mem] s:KL, t:AESKL, w:RW|R|W, f:AESKL LOADIWKEY Vdq,Udq EAX,XMM0,Fv [ 0xF3 0x0F 0x38 0xDC /r:reg] s:KL, t:KL, w:R|R|R|R|W, f:AESKL, m:KERNEL -AESENCLAST Vdq,Wdq nil [ 0x66 0x0F 0x38 0xDD /r] s:AES, t:AES, w:RW|R, e:4 +AESENCLAST Vdq,Wdq n/a [ 0x66 0x0F 0x38 0xDD /r] s:AES, t:AES, w:RW|R, e:4 AESDEC128KL Vdq,M384 Fv [ 0xF3 0x0F 0x38 0xDD /r:mem] s:KL, t:AESKL, w:RW|R|W, f:AESKL -AESDEC Vdq,Wdq nil [ 0x66 0x0F 0x38 0xDE /r] s:AES, t:AES, w:RW|R, e:4 +AESDEC Vdq,Wdq n/a [ 0x66 0x0F 0x38 0xDE /r] s:AES, t:AES, w:RW|R, e:4 AESENC256KL Vdq,M512 Fv [ 0xF3 0x0F 0x38 0xDE /r:mem] s:KL, t:AESKL, w:RW|R|W, f:AESKL -AESDECLAST Vdq,Wdq nil [ 0x66 0x0F 0x38 0xDF /r] s:AES, t:AES, w:RW|R, e:4 +AESDECLAST Vdq,Wdq n/a [ 0x66 0x0F 0x38 0xDF /r] s:AES, t:AES, w:RW|R, e:4 AESDEC256KL Vdq,M512 Fv [ 0xF3 0x0F 0x38 0xDF /r:mem] s:KL, t:AESKL, w:RW|R|W, f:AESKL # 0xE0 - 0xEF # 0xF0 - 0xFF -MOVBE Gv,Mv nil [ 0x0F 0x38 0xF0 /r:mem] s:MOVBE, t:DATAXFER, w:W|R -MOVBE Gv,Mv nil [ 0x66 0x0F 0x38 0xF0 /r:mem] s:MOVBE, t:DATAXFER, w:W|R, a:S66 -CRC32 Gy,Eb nil [ 0xF2 0x0F 0x38 0xF0 /r] s:SSE42, t:SSE, w:RW|R -CRC32 Gy,Eb nil [ 0x66 0xF2 0x0F 0x38 0xF0 /r] s:SSE42, t:SSE, w:RW|R, a:S66 -MOVBE Mv,Gv nil [ 0x0F 0x38 0xF1 /r:mem] s:MOVBE, t:DATAXFER, w:W|R -MOVBE Mv,Gv nil [ 0x66 0x0F 0x38 0xF1 /r:mem] s:MOVBE, t:DATAXFER, w:W|R, a:S66 -CRC32 Gy,Ev nil [ 0xF2 0x0F 0x38 0xF1 /r] s:SSE42, t:SSE, w:RW|R -CRC32 Gy,Ev nil [ 0x66 0xF2 0x0F 0x38 0xF1 /r] s:SSE42, t:SSE, w:RW|R, a:S66 -WRUSSD My,Gy nil [ 0x66 0x0F 0x38 0xF5 /r:mem] s:CET_SS, t:CET, c:WRUSS, a:SHS, w:W|R, m:KERNEL -WRUSSQ My,Gy nil [ rexw 0x66 0x0F 0x38 0xF5 /r:mem] s:CET_SS, t:CET, c:WRUSS, a:SHS, w:W|R, m:KERNEL -WRSSD My,Gy nil [ NP 0x0F 0x38 0xF6 /r:mem] s:CET_SS, t:CET, c:WRSS, a:SHS, w:W|R -WRSSQ My,Gy nil [ rexw NP 0x0F 0x38 0xF6 /r:mem] s:CET_SS, t:CET, c:WRSS, a:SHS, w:W|R +MOVBE Gv,Mv n/a [ 0x0F 0x38 0xF0 /r:mem] s:MOVBE, t:DATAXFER, w:W|R +MOVBE Gv,Mv n/a [ 0x66 0x0F 0x38 0xF0 /r:mem] s:MOVBE, t:DATAXFER, w:W|R, a:S66 +CRC32 Gy,Eb n/a [ 0xF2 0x0F 0x38 0xF0 /r] s:SSE42, t:SSE, w:RW|R +CRC32 Gy,Eb n/a [ 0x66 0xF2 0x0F 0x38 0xF0 /r] s:SSE42, t:SSE, w:RW|R, a:S66 +MOVBE Mv,Gv n/a [ 0x0F 0x38 0xF1 /r:mem] s:MOVBE, t:DATAXFER, w:W|R +MOVBE Mv,Gv n/a [ 0x66 0x0F 0x38 0xF1 /r:mem] s:MOVBE, t:DATAXFER, w:W|R, a:S66 +CRC32 Gy,Ev n/a [ 0xF2 0x0F 0x38 0xF1 /r] s:SSE42, t:SSE, w:RW|R +CRC32 Gy,Ev n/a [ 0x66 0xF2 0x0F 0x38 0xF1 /r] s:SSE42, t:SSE, w:RW|R, a:S66 +WRUSSD My,Gy n/a [ 0x66 0x0F 0x38 0xF5 /r:mem] s:CET_SS, t:CET, c:WRUSS, a:SHS, w:W|R, m:KERNEL +WRUSSQ My,Gy n/a [ rexw 0x66 0x0F 0x38 0xF5 /r:mem] s:CET_SS, t:CET, c:WRUSS, a:SHS, w:W|R, m:KERNEL +WRSSD My,Gy n/a [ NP 0x0F 0x38 0xF6 /r:mem] s:CET_SS, t:CET, c:WRSS, a:SHS, w:W|R +WRSSQ My,Gy n/a [ rexw NP 0x0F 0x38 0xF6 /r:mem] s:CET_SS, t:CET, c:WRSS, a:SHS, w:W|R ADCX Gy,Ey Fv [ 0x66 0x0F 0x38 0xF6 /r] s:ADX, t:ARITH, w:RW|R|RW, f:CF=m ADOX Gy,Ey Fv [ 0xF3 0x0F 0x38 0xF6 /r] s:ADX, t:ARITH, w:RW|R|RW, f:OF=m -MOVDIR64B rMoq,Moq nil [ 0x66 0x0F 0x38 0xF8 /r:mem] s:MOVDIR64B, t:MOVDIR64B, w:W|R +MOVDIR64B rMoq,Moq n/a [ 0x66 0x0F 0x38 0xF8 /r:mem] s:MOVDIR64B, t:MOVDIR64B, w:W|R ENQCMD rM?,Moq Fv [ 0xF2 0x0F 0x38 0xF8 /r:mem] s:ENQCMD, t:ENQCMD, w:W|R|W, f:ENQCMD ENQCMDS rM?,Moq Fv [ 0xF3 0x0F 0x38 0xF8 /r:mem] s:ENQCMD, t:ENQCMD, w:W|R|W, f:ENQCMD -MOVDIRI My,Gy nil [ NP 0x0F 0x38 0xF9 /r:mem] s:MOVDIRI, t:MOVDIRI, w:W|R +MOVDIRI My,Gy n/a [ NP 0x0F 0x38 0xF9 /r:mem] s:MOVDIRI, t:MOVDIRI, w:W|R ENCODEKEY128 Gd,Rd XMM0,XMM0-2,XMM4-6,Fv [ 0xF3 0x0F 0x38 0xFA /r:reg] s:KL, t:AESKL, w:W|R|R|W|W|W, f:ZERO ENCODEKEY256 Gd,Rd XMM0-1,XMM2-6,Fv [ 0xF3 0x0F 0x38 0xFB /r:reg] s:KL, t:AESKL, w:W|R|RW|W|W, f:ZERO -AADD My,Gy nil [ NP 0x0F 0x38 0xFC /r:mem] s:RAOINT, t:RAOINT, w:RW|R -AAND My,Gy nil [ 0x66 0x0F 0x38 0xFC /r:mem] s:RAOINT, t:RAOINT, w:RW|R -AOR My,Gy nil [ 0xF2 0x0F 0x38 0xFC /r:mem] s:RAOINT, t:RAOINT, w:RW|R -AXOR My,Gy nil [ 0xF3 0x0F 0x38 0xFC /r:mem] s:RAOINT, t:RAOINT, w:RW|R +AADD My,Gy n/a [ NP 0x0F 0x38 0xFC /r:mem] s:RAOINT, t:RAOINT, w:RW|R +AAND My,Gy n/a [ 0x66 0x0F 0x38 0xFC /r:mem] s:RAOINT, t:RAOINT, w:RW|R +AOR My,Gy n/a [ 0xF2 0x0F 0x38 0xFC /r:mem] s:RAOINT, t:RAOINT, w:RW|R +AXOR My,Gy n/a [ 0xF3 0x0F 0x38 0xFC /r:mem] s:RAOINT, t:RAOINT, w:RW|R diff --git a/isagenerator/instructions/table_0F_3A.dat b/isagenerator/instructions/table_0F_3A.dat index f7a5c4b..3a6449c 100644 --- a/isagenerator/instructions/table_0F_3A.dat +++ b/isagenerator/instructions/table_0F_3A.dat @@ -1,43 +1,48 @@ +# +# Copyright (c) 2020 Bitdefender +# SPDX-License-Identifier: Apache-2.0 +# + # Mnemonic Explicit Operands Implicit Encoding Flags, Prefixes, Set, Category, Class, RW map, Additional ops #------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ # 0x00 - 0x0F -ROUNDPS Vx,Wx,Ib nil [ 0x66 0x0F 0x3A 0x08 /r ib] s:SSE4, t:SSE, w:W|R|R, e:2 -ROUNDPD Vx,Wx,Ib nil [ 0x66 0x0F 0x3A 0x09 /r ib] s:SSE4, t:SSE, w:W|R|R, e:2 -ROUNDSS Vss,Wss,Ib nil [ 0x66 0x0F 0x3A 0x0A /r ib] s:SSE4, t:SSE, w:W|R|R, e:3 -ROUNDSD Vsd,Wsd,Ib nil [ 0x66 0x0F 0x3A 0x0B /r ib] s:SSE4, t:SSE, w:W|R|R, e:3 -BLENDPS Vx,Wx,Ib nil [ 0x66 0x0F 0x3A 0x0C /r ib] s:SSE4, t:SSE, w:RW|R|R, e:4 -BLENDPD Vx,Wx,Ib nil [ 0x66 0x0F 0x3A 0x0D /r ib] s:SSE4, t:SSE, w:RW|R|R, e:4 -PBLENDW Vx,Wx,Ib nil [ 0x66 0x0F 0x3A 0x0E /r ib] s:SSE4, t:SSE, w:RW|R|R, e:4 -PALIGNR Pq,Qq,Ib nil [ NP 0x0F 0x3A 0x0F /r ib] s:SSSE3, t:MMX, w:RW|R|R -PALIGNR Vx,Wx,Ib nil [ 0x66 0x0F 0x3A 0x0F /r ib] s:SSSE3, t:SSE, w:RW|R|R, e:4 +ROUNDPS Vx,Wx,Ib n/a [ 0x66 0x0F 0x3A 0x08 /r ib] s:SSE4, t:SSE, w:W|R|R, e:2 +ROUNDPD Vx,Wx,Ib n/a [ 0x66 0x0F 0x3A 0x09 /r ib] s:SSE4, t:SSE, w:W|R|R, e:2 +ROUNDSS Vss,Wss,Ib n/a [ 0x66 0x0F 0x3A 0x0A /r ib] s:SSE4, t:SSE, w:W|R|R, e:3 +ROUNDSD Vsd,Wsd,Ib n/a [ 0x66 0x0F 0x3A 0x0B /r ib] s:SSE4, t:SSE, w:W|R|R, e:3 +BLENDPS Vx,Wx,Ib n/a [ 0x66 0x0F 0x3A 0x0C /r ib] s:SSE4, t:SSE, w:RW|R|R, e:4 +BLENDPD Vx,Wx,Ib n/a [ 0x66 0x0F 0x3A 0x0D /r ib] s:SSE4, t:SSE, w:RW|R|R, e:4 +PBLENDW Vx,Wx,Ib n/a [ 0x66 0x0F 0x3A 0x0E /r ib] s:SSE4, t:SSE, w:RW|R|R, e:4 +PALIGNR Pq,Qq,Ib n/a [ NP 0x0F 0x3A 0x0F /r ib] s:SSSE3, t:MMX, w:RW|R|R +PALIGNR Vx,Wx,Ib n/a [ 0x66 0x0F 0x3A 0x0F /r ib] s:SSSE3, t:SSE, w:RW|R|R, e:4 # 0x10 - 0x1F # TODO: for PEXTRx, a smaller size is accessed, in fact. -PEXTRB Mb,Vdq,Ib nil [ 0x66 0x0F 0x3A 0x14 /r:mem ib] s:SSE4, t:SSE, w:W|R|R, e:5 -PEXTRB Ry,Vdq,Ib nil [ 0x66 0x0F 0x3A 0x14 /r:reg ib] s:SSE4, t:SSE, w:W|R|R, e:5, a:D64 -PEXTRW Mw,Vdq,Ib nil [ 0x66 0x0F 0x3A 0x15 /r:mem ib] s:SSE4, t:SSE, w:W|R|R, e:5 -PEXTRW Ry,Vdq,Ib nil [ 0x66 0x0F 0x3A 0x15 /r:reg ib] s:SSE4, t:SSE, w:W|R|R, e:5, a:D64 -PEXTRD Md,Vdq,Ib nil [ 0x66 0x0F 0x3A 0x16 /r:mem ib] s:SSE4, t:SSE, w:W|R|R, e:5 -PEXTRD Ry,Vdq,Ib nil [ 0x66 0x0F 0x3A 0x16 /r:reg ib] s:SSE4, t:SSE, w:W|R|R, e:5, a:D64 -PEXTRQ Mq,Vdq,Ib nil [ rexw 0x66 0x0F 0x3A 0x16 /r:mem ib] s:SSE4, t:SSE, w:W|R|R, e:5 -PEXTRQ Ry,Vdq,Ib nil [ rexw 0x66 0x0F 0x3A 0x16 /r:reg ib] s:SSE4, t:SSE, w:W|R|R, e:5 -EXTRACTPS Ed,Vdq,Ib nil [ 0x66 0x0F 0x3A 0x17 /r ib] s:SSE4, t:SSE, w:W|R|R, e:5 +PEXTRB Mb,Vdq,Ib n/a [ 0x66 0x0F 0x3A 0x14 /r:mem ib] s:SSE4, t:SSE, w:W|R|R, e:5 +PEXTRB Ry,Vdq,Ib n/a [ 0x66 0x0F 0x3A 0x14 /r:reg ib] s:SSE4, t:SSE, w:W|R|R, e:5, a:D64 +PEXTRW Mw,Vdq,Ib n/a [ 0x66 0x0F 0x3A 0x15 /r:mem ib] s:SSE4, t:SSE, w:W|R|R, e:5 +PEXTRW Ry,Vdq,Ib n/a [ 0x66 0x0F 0x3A 0x15 /r:reg ib] s:SSE4, t:SSE, w:W|R|R, e:5, a:D64 +PEXTRD Md,Vdq,Ib n/a [ 0x66 0x0F 0x3A 0x16 /r:mem ib] s:SSE4, t:SSE, w:W|R|R, e:5 +PEXTRD Ry,Vdq,Ib n/a [ 0x66 0x0F 0x3A 0x16 /r:reg ib] s:SSE4, t:SSE, w:W|R|R, e:5, a:D64 +PEXTRQ Mq,Vdq,Ib n/a [ rexw 0x66 0x0F 0x3A 0x16 /r:mem ib] s:SSE4, t:SSE, w:W|R|R, e:5 +PEXTRQ Ry,Vdq,Ib n/a [ rexw 0x66 0x0F 0x3A 0x16 /r:reg ib] s:SSE4, t:SSE, w:W|R|R, e:5 +EXTRACTPS Ed,Vdq,Ib n/a [ 0x66 0x0F 0x3A 0x17 /r ib] s:SSE4, t:SSE, w:W|R|R, e:5 # 0x20 - 0x2F -PINSRB Vdq,Mb,Ib nil [ 0x66 0x0F 0x3A 0x20 /r:mem ib] s:SSE4, t:SSE, w:RW|R|R, e:5 -PINSRB Vdq,Ry,Ib nil [ 0x66 0x0F 0x3A 0x20 /r:reg ib] s:SSE4, t:SSE, w:RW|R|R, e:5 -INSERTPS Vdq,Md,Ib nil [ 0x66 0x0F 0x3A 0x21 /r:mem ib] s:SSE4, t:SSE, w:RW|R|R, e:5 -INSERTPS Vdq,Udq,Ib nil [ 0x66 0x0F 0x3A 0x21 /r:reg ib] s:SSE4, t:SSE, w:RW|R|R, e:5 -PINSRD Vdq,Ed,Ib nil [ 0x66 0x0F 0x3A 0x22 /r ib] s:SSE4, t:SSE, w:RW|R|R, e:5 -PINSRQ Vdq,Eq,Ib nil [ rexw 0x66 0x0F 0x3A 0x22 /r ib] s:SSE4, t:SSE, w:RW|R|R, e:5 +PINSRB Vdq,Mb,Ib n/a [ 0x66 0x0F 0x3A 0x20 /r:mem ib] s:SSE4, t:SSE, w:RW|R|R, e:5 +PINSRB Vdq,Ry,Ib n/a [ 0x66 0x0F 0x3A 0x20 /r:reg ib] s:SSE4, t:SSE, w:RW|R|R, e:5 +INSERTPS Vdq,Md,Ib n/a [ 0x66 0x0F 0x3A 0x21 /r:mem ib] s:SSE4, t:SSE, w:RW|R|R, e:5 +INSERTPS Vdq,Udq,Ib n/a [ 0x66 0x0F 0x3A 0x21 /r:reg ib] s:SSE4, t:SSE, w:RW|R|R, e:5 +PINSRD Vdq,Ed,Ib n/a [ 0x66 0x0F 0x3A 0x22 /r ib] s:SSE4, t:SSE, w:RW|R|R, e:5 +PINSRQ Vdq,Eq,Ib n/a [ rexw 0x66 0x0F 0x3A 0x22 /r ib] s:SSE4, t:SSE, w:RW|R|R, e:5 # 0x30 - 0x3F # 0x40 - 0x4F -DPPS Vx,Wx,Ib nil [ 0x66 0x0F 0x3A 0x40 /r ib] s:SSE4, t:SSE, w:RW|R|R, e:2 -DPPD Vdq,Wdq,Ib nil [ 0x66 0x0F 0x3A 0x41 /r ib] s:SSE4, t:SSE, w:RW|R|R, e:2 -MPSADBW Vdq,Wdq,Ib nil [ 0x66 0x0F 0x3A 0x42 /r ib] s:SSE4, t:SSE, w:RW|R|R, e:4 -PCLMULQDQ Vdq,Wdq,Ib nil [ 0x66 0x0F 0x3A 0x44 /r ib] s:PCLMULQDQ, t:PCLMULQDQ, w:RW|R|R, e:4 +DPPS Vx,Wx,Ib n/a [ 0x66 0x0F 0x3A 0x40 /r ib] s:SSE4, t:SSE, w:RW|R|R, e:2 +DPPD Vdq,Wdq,Ib n/a [ 0x66 0x0F 0x3A 0x41 /r ib] s:SSE4, t:SSE, w:RW|R|R, e:2 +MPSADBW Vdq,Wdq,Ib n/a [ 0x66 0x0F 0x3A 0x42 /r ib] s:SSE4, t:SSE, w:RW|R|R, e:4 +PCLMULQDQ Vdq,Wdq,Ib n/a [ 0x66 0x0F 0x3A 0x44 /r ib] s:PCLMULQDQ, t:PCLMULQDQ, w:RW|R|R, e:4 # 0x50 - 0x5F @@ -58,12 +63,12 @@ PCMPISTRI Vdq,Wdq,Ib yCX,Fv [ 0x66 0x0F 0x # 0xB0 - 0xBF # 0xC0 - 0xCF -SHA1RNDS4 Vdq,Wdq,Ib nil [ NP 0x0F 0x3A 0xCC /r ib] s:SHA, t:SHA, w:RW|R|R, e:4 -GF2P8AFFINEQB Vdq,Wdq,Ib nil [ 0x66 0x0F 0x3A 0xCE /r ib] s:GFNI, t:GFNI, w:RW|R|R, e:4 -GF2P8AFFINEINVQB Vdq,Wdq,Ib nil [ 0x66 0x0F 0x3A 0xCF /r ib] s:GFNI, t:GFNI, w:RW|R|R, e:4 +SHA1RNDS4 Vdq,Wdq,Ib n/a [ NP 0x0F 0x3A 0xCC /r ib] s:SHA, t:SHA, w:RW|R|R, e:4 +GF2P8AFFINEQB Vdq,Wdq,Ib n/a [ 0x66 0x0F 0x3A 0xCE /r ib] s:GFNI, t:GFNI, w:RW|R|R, e:4 +GF2P8AFFINEINVQB Vdq,Wdq,Ib n/a [ 0x66 0x0F 0x3A 0xCF /r ib] s:GFNI, t:GFNI, w:RW|R|R, e:4 # 0xD0 - 0xDF -AESKEYGENASSIST Vdq,Wdq,Ib nil [ 0x66 0x0F 0x3A 0xDF /r ib] s:AES, t:AES, w:W|R|R, e:4 +AESKEYGENASSIST Vdq,Wdq,Ib n/a [ 0x66 0x0F 0x3A 0xDF /r ib] s:AES, t:AES, w:W|R|R, e:4 # 0xE0 - 0xEF diff --git a/isagenerator/instructions/table_3dnow.dat b/isagenerator/instructions/table_3dnow.dat index f387122..25a5c14 100644 --- a/isagenerator/instructions/table_3dnow.dat +++ b/isagenerator/instructions/table_3dnow.dat @@ -1,28 +1,33 @@ +# +# Copyright (c) 2020 Bitdefender +# SPDX-License-Identifier: Apache-2.0 +# + # Mnemonic Explicit Implicit Encoding Flags, Prefixes, Set, Category, Class, RW map, Additional ops #------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ -PI2FW Pq,Qq nil [0x0F 0x0F /r 0x0C] s:3DNOW, t:3DNOW, w:RW|R, a:3DNOW -PI2FD Pq,Qq nil [0x0F 0x0F /r 0x0D] s:3DNOW, t:3DNOW, w:RW|R, a:3DNOW -PF2IW Pq,Qq nil [0x0F 0x0F /r 0x1C] s:3DNOW, t:3DNOW, w:RW|R, a:3DNOW -PF2ID Pq,Qq nil [0x0F 0x0F /r 0x1D] s:3DNOW, t:3DNOW, w:RW|R, a:3DNOW -PFRCPV Pq,Qq nil [0x0F 0x0F /r 0x86] s:3DNOW, t:3DNOW, w:RW|R, a:3DNOW, m:NO64 -PFRSQRTV Pq,Qq nil [0x0F 0x0F /r 0x87] s:3DNOW, t:3DNOW, w:RW|R, a:3DNOW, m:NO64 -PFNACC Pq,Qq nil [0x0F 0x0F /r 0x8A] s:3DNOW, t:3DNOW, w:RW|R, a:3DNOW -PFPNACC Pq,Qq nil [0x0F 0x0F /r 0x8E] s:3DNOW, t:3DNOW, w:RW|R, a:3DNOW -PFCMPGE Pq,Qq nil [0x0F 0x0F /r 0x90] s:3DNOW, t:3DNOW, w:RW|R, a:3DNOW -PFMIN Pq,Qq nil [0x0F 0x0F /r 0x94] s:3DNOW, t:3DNOW, w:RW|R, a:3DNOW -PFRCP Pq,Qq nil [0x0F 0x0F /r 0x96] s:3DNOW, t:3DNOW, w:RW|R, a:3DNOW -PFRSQRT Pq,Qq nil [0x0F 0x0F /r 0x97] s:3DNOW, t:3DNOW, w:RW|R, a:3DNOW -PFSUB Pq,Qq nil [0x0F 0x0F /r 0x9A] s:3DNOW, t:3DNOW, w:RW|R, a:3DNOW -PFADD Pq,Qq nil [0x0F 0x0F /r 0x9E] s:3DNOW, t:3DNOW, w:RW|R, a:3DNOW -PFCMPGT Pq,Qq nil [0x0F 0x0F /r 0xA0] s:3DNOW, t:3DNOW, w:RW|R, a:3DNOW -PFMAX Pq,Qq nil [0x0F 0x0F /r 0xA4] s:3DNOW, t:3DNOW, w:RW|R, a:3DNOW -PFRCPIT1 Pq,Qq nil [0x0F 0x0F /r 0xA6] s:3DNOW, t:3DNOW, w:RW|R, a:3DNOW -PFRSQIT1 Pq,Qq nil [0x0F 0x0F /r 0xA7] s:3DNOW, t:3DNOW, w:RW|R, a:3DNOW -PFSUBR Pq,Qq nil [0x0F 0x0F /r 0xAA] s:3DNOW, t:3DNOW, w:RW|R, a:3DNOW -PFACC Pq,Qq nil [0x0F 0x0F /r 0xAE] s:3DNOW, t:3DNOW, w:RW|R, a:3DNOW -PFCMPEQ Pq,Qq nil [0x0F 0x0F /r 0xB0] s:3DNOW, t:3DNOW, w:RW|R, a:3DNOW -PFMUL Pq,Qq nil [0x0F 0x0F /r 0xB4] s:3DNOW, t:3DNOW, w:RW|R, a:3DNOW -PFRCPIT2 Pq,Qq nil [0x0F 0x0F /r 0xB6] s:3DNOW, t:3DNOW, w:RW|R, a:3DNOW -PMULHRW Pq,Qq nil [0x0F 0x0F /r 0xB7] s:3DNOW, t:3DNOW, w:RW|R, a:3DNOW -PSWAPD Pq,Qq nil [0x0F 0x0F /r 0xBB] s:3DNOW, t:3DNOW, w:RW|R, a:3DNOW -PAVGUSB Pq,Qq nil [0x0F 0x0F /r 0xBF] s:3DNOW, t:3DNOW, w:RW|R, a:3DNOW +PI2FW Pq,Qq n/a [0x0F 0x0F /r 0x0C] s:3DNOW, t:3DNOW, w:RW|R, a:3DNOW +PI2FD Pq,Qq n/a [0x0F 0x0F /r 0x0D] s:3DNOW, t:3DNOW, w:RW|R, a:3DNOW +PF2IW Pq,Qq n/a [0x0F 0x0F /r 0x1C] s:3DNOW, t:3DNOW, w:RW|R, a:3DNOW +PF2ID Pq,Qq n/a [0x0F 0x0F /r 0x1D] s:3DNOW, t:3DNOW, w:RW|R, a:3DNOW +PFRCPV Pq,Qq n/a [0x0F 0x0F /r 0x86] s:3DNOW, t:3DNOW, w:RW|R, a:3DNOW, m:NO64 +PFRSQRTV Pq,Qq n/a [0x0F 0x0F /r 0x87] s:3DNOW, t:3DNOW, w:RW|R, a:3DNOW, m:NO64 +PFNACC Pq,Qq n/a [0x0F 0x0F /r 0x8A] s:3DNOW, t:3DNOW, w:RW|R, a:3DNOW +PFPNACC Pq,Qq n/a [0x0F 0x0F /r 0x8E] s:3DNOW, t:3DNOW, w:RW|R, a:3DNOW +PFCMPGE Pq,Qq n/a [0x0F 0x0F /r 0x90] s:3DNOW, t:3DNOW, w:RW|R, a:3DNOW +PFMIN Pq,Qq n/a [0x0F 0x0F /r 0x94] s:3DNOW, t:3DNOW, w:RW|R, a:3DNOW +PFRCP Pq,Qq n/a [0x0F 0x0F /r 0x96] s:3DNOW, t:3DNOW, w:RW|R, a:3DNOW +PFRSQRT Pq,Qq n/a [0x0F 0x0F /r 0x97] s:3DNOW, t:3DNOW, w:RW|R, a:3DNOW +PFSUB Pq,Qq n/a [0x0F 0x0F /r 0x9A] s:3DNOW, t:3DNOW, w:RW|R, a:3DNOW +PFADD Pq,Qq n/a [0x0F 0x0F /r 0x9E] s:3DNOW, t:3DNOW, w:RW|R, a:3DNOW +PFCMPGT Pq,Qq n/a [0x0F 0x0F /r 0xA0] s:3DNOW, t:3DNOW, w:RW|R, a:3DNOW +PFMAX Pq,Qq n/a [0x0F 0x0F /r 0xA4] s:3DNOW, t:3DNOW, w:RW|R, a:3DNOW +PFRCPIT1 Pq,Qq n/a [0x0F 0x0F /r 0xA6] s:3DNOW, t:3DNOW, w:RW|R, a:3DNOW +PFRSQIT1 Pq,Qq n/a [0x0F 0x0F /r 0xA7] s:3DNOW, t:3DNOW, w:RW|R, a:3DNOW +PFSUBR Pq,Qq n/a [0x0F 0x0F /r 0xAA] s:3DNOW, t:3DNOW, w:RW|R, a:3DNOW +PFACC Pq,Qq n/a [0x0F 0x0F /r 0xAE] s:3DNOW, t:3DNOW, w:RW|R, a:3DNOW +PFCMPEQ Pq,Qq n/a [0x0F 0x0F /r 0xB0] s:3DNOW, t:3DNOW, w:RW|R, a:3DNOW +PFMUL Pq,Qq n/a [0x0F 0x0F /r 0xB4] s:3DNOW, t:3DNOW, w:RW|R, a:3DNOW +PFRCPIT2 Pq,Qq n/a [0x0F 0x0F /r 0xB6] s:3DNOW, t:3DNOW, w:RW|R, a:3DNOW +PMULHRW Pq,Qq n/a [0x0F 0x0F /r 0xB7] s:3DNOW, t:3DNOW, w:RW|R, a:3DNOW +PSWAPD Pq,Qq n/a [0x0F 0x0F /r 0xBB] s:3DNOW, t:3DNOW, w:RW|R, a:3DNOW +PAVGUSB Pq,Qq n/a [0x0F 0x0F /r 0xBF] s:3DNOW, t:3DNOW, w:RW|R, a:3DNOW diff --git a/isagenerator/instructions/table_base.dat b/isagenerator/instructions/table_base.dat index 34e2a67..92978df 100644 --- a/isagenerator/instructions/table_base.dat +++ b/isagenerator/instructions/table_base.dat @@ -1,3 +1,8 @@ +# +# Copyright (c) 2020 Bitdefender +# SPDX-License-Identifier: Apache-2.0 +# + # Mnemonic Explicit Implicit Encoding s:set, t:type, c:class, a:flags, p:prefixes, w:operands access, f:flags access, i:cpuid, m:valid cpu modes #------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ # 0x00 - 0x0F @@ -42,17 +47,17 @@ AND Gb,Eb Fv [ 0x22 /r] s:I86 AND Gv,Ev Fv [ 0x23 /r] s:I86, t:LOGIC, w:RW|R|W, f:LOGIC AND AL,Ib Fv [ 0x24 ib] s:I86, t:LOGIC, w:RW|R|W, f:LOGIC AND rAX,Iz Fv [ 0x25 iz] s:I86, t:LOGIC, w:RW|R|W, f:LOGIC, a:OP2SEXO1 -es nil nil [ 0x26] s:UNKNOWN, t:UNKNOWN, a:PREFIX -DAA nil AL,Fv [ 0x27] s:I86, t:DECIMAL, w:RW|RW, f:DAAS, m:NO64 +es n/a n/a [ 0x26] s:UNKNOWN, t:UNKNOWN, a:PREFIX +DAA n/a AL,Fv [ 0x27] s:I86, t:DECIMAL, w:RW|RW, f:DAAS, m:NO64 SUB Eb,Gb Fv [ 0x28 /r] s:I86, t:ARITH, w:RW|R|W, f:ARITH, p:HLE|LOCK SUB Ev,Gv Fv [ 0x29 /r] s:I86, t:ARITH, w:RW|R|W, f:ARITH, p:HLE|LOCK SUB Gb,Eb Fv [ 0x2A /r] s:I86, t:ARITH, w:RW|R|W, f:ARITH SUB Gv,Ev Fv [ 0x2B /r] s:I86, t:ARITH, w:RW|R|W, f:ARITH SUB AL,Ib Fv [ 0x2C ib] s:I86, t:ARITH, w:RW|R|W, f:ARITH SUB rAX,Iz Fv [ 0x2D iz] s:I86, t:ARITH, w:RW|R|W, f:ARITH, a:OP2SEXO1 -cs nil nil [ 0x2E] s:UNKNOWN, t:UNKNOWN, a:PREFIX -BHNT nil nil [ 0x2E] s:UNKNOWN, t:UNKNOWN, a:PREFIX -DAS nil AL,Fv [ 0x2F] s:I86, t:DECIMAL, w:RW|RW, f:DAAS|SF=m, m:NO64 +cs n/a n/a [ 0x2E] s:UNKNOWN, t:UNKNOWN, a:PREFIX +BHNT n/a n/a [ 0x2E] s:UNKNOWN, t:UNKNOWN, a:PREFIX +DAS n/a AL,Fv [ 0x2F] s:I86, t:DECIMAL, w:RW|RW, f:DAAS|SF=m, m:NO64 # 0x30 - 0x3F XOR Eb,Gb Fv [ 0x30 /r] s:I86, t:LOGIC, w:RW|R|W, f:LOGIC, p:HLE|LOCK @@ -61,17 +66,17 @@ XOR Gb,Eb Fv [ 0x32 /r] s:I86 XOR Gv,Ev Fv [ 0x33 /r] s:I86, t:LOGIC, w:RW|R|W, f:LOGIC XOR AL,Ib Fv [ 0x34 ib] s:I86, t:LOGIC, w:RW|R|W, f:LOGIC XOR rAX,Iz Fv [ 0x35 iz] s:I86, t:LOGIC, w:RW|R|W, f:LOGIC, a:OP2SEXO1 -ss nil nil [ 0x36] s:UNKNOWN, t:UNKNOWN, a:PREFIX -AAA nil AH,AL,Fv [ 0x37] s:I86, t:DECIMAL, w:RW|RW|RW, f:AAAS, m:NO64 +ss n/a n/a [ 0x36] s:UNKNOWN, t:UNKNOWN, a:PREFIX +AAA n/a AH,AL,Fv [ 0x37] s:I86, t:DECIMAL, w:RW|RW|RW, f:AAAS, m:NO64 CMP Eb,Gb Fv [ 0x38 /r] s:I86, t:ARITH, w:R|R|W, f:ARITH CMP Ev,Gv Fv [ 0x39 /r] s:I86, t:ARITH, w:R|R|W, f:ARITH CMP Gb,Eb Fv [ 0x3A /r] s:I86, t:ARITH, w:R|R|W, f:ARITH CMP Gv,Ev Fv [ 0x3B /r] s:I86, t:ARITH, w:R|R|W, f:ARITH CMP AL,Ib Fv [ 0x3C ib] s:I86, t:ARITH, w:R|R|W, f:ARITH CMP rAX,Iz Fv [ 0x3D iz] s:I86, t:ARITH, w:R|R|W, f:ARITH, a:OP2SEXO1 -ds nil nil [ 0x3E] s:UNKNOWN, t:UNKNOWN, a:PREFIX -BHT nil nil [ 0x3E] s:UNKNOWN, t:UNKNOWN, a:PREFIX -AAS nil AH,AL,Fv [ 0x3F] s:I86, t:DECIMAL, w:RW|RW|RW, f:AAAS, m:NO64 +ds n/a n/a [ 0x3E] s:UNKNOWN, t:UNKNOWN, a:PREFIX +BHT n/a n/a [ 0x3E] s:UNKNOWN, t:UNKNOWN, a:PREFIX +AAS n/a AH,AL,Fv [ 0x3F] s:I86, t:DECIMAL, w:RW|RW|RW, f:AAAS, m:NO64 # 0x40 - 0x4F INC Zv Fv [ 0x40] s:I86, t:ARITH, w:RW|W, f:INCDEC, m:NO64 @@ -110,18 +115,18 @@ POP Zv Kv [ 0x5E] s:I86 POP Zv Kv [ 0x5F] s:I86, t:POP, w:W|R, a:D64 # 0x60 - 0x6F -PUSHA nil BANK,Kv8 [ ds16 0x60] s:I386, t:PUSH, w:R|W, m:NO64 -PUSHAD nil BANK,Kv8 [ ds32 0x60] s:I386, t:PUSH, w:R|W, m:NO64 -POPA nil BANK,Kv8 [ ds16 0x61] s:I386, t:POP, w:W|R, m:NO64 -POPAD nil BANK,Kv8 [ ds32 0x61] s:I386, t:POP, w:W|R, m:NO64 -BOUND Gv,Ma nil [ 0x62 /r:mem] s:I186, t:INTERRUPT, w:R|R, m:NO64 +PUSHA n/a BANK,Kv8 [ ds16 0x60] s:I386, t:PUSH, w:R|W, m:NO64 +PUSHAD n/a BANK,Kv8 [ ds32 0x60] s:I386, t:PUSH, w:R|W, m:NO64 +POPA n/a BANK,Kv8 [ ds16 0x61] s:I386, t:POP, w:W|R, m:NO64 +POPAD n/a BANK,Kv8 [ ds32 0x61] s:I386, t:POP, w:W|R, m:NO64 +BOUND Gv,Ma n/a [ 0x62 /r:mem] s:I186, t:INTERRUPT, w:R|R, m:NO64 ARPL Ew,Gw Fv [ 0x63 /r] s:I286PROT, t:SYSTEM, w:RW|R|W, f:ZF=m, m:NOREAL|NO64 -MOVSXD Gv,Ez nil [ o64 0x63 /r] s:LONGMODE, t:DATAXFER, w:W|R, m:O64 -fs nil nil [ 0x64] s:UNKNOWN, t:UNKNOWN, a:PREFIX -BHALT nil nil [ 0x64] s:UNKNOWN, t:UNKNOWN, a:PREFIX -gs nil nil [ 0x65] s:UNKNOWN, t:UNKNOWN, a:PREFIX -size nil nil [ 0x66] s:UNKNOWN, t:UNKNOWN, a:PREFIX -addr nil nil [ 0x67] s:UNKNOWN, t:UNKNOWN, a:PREFIX +MOVSXD Gv,Ez n/a [ o64 0x63 /r] s:LONGMODE, t:DATAXFER, w:W|R, m:O64 +fs n/a n/a [ 0x64] s:UNKNOWN, t:UNKNOWN, a:PREFIX +BHALT n/a n/a [ 0x64] s:UNKNOWN, t:UNKNOWN, a:PREFIX +gs n/a n/a [ 0x65] s:UNKNOWN, t:UNKNOWN, a:PREFIX +size n/a n/a [ 0x66] s:UNKNOWN, t:UNKNOWN, a:PREFIX +addr n/a n/a [ 0x67] s:UNKNOWN, t:UNKNOWN, a:PREFIX PUSH Iz Kv [ 0x68 iz] s:I86, t:PUSH, w:R|W, a:D64|OP1SEXDW IMUL Gv,Ev,Iz Fv [ 0x69 /r iz] s:I86, t:ARITH, w:W|R|R|W, f:MUL, a:OP3SEXO1 PUSH Ib Kv [ 0x6A ib] s:I86, t:PUSH, w:R|W, a:D64|OP1SEXDW @@ -196,52 +201,52 @@ CMP Ev,Ib Fv [ 0x83 /7 ib] s:I86 TEST Eb,Gb Fv [ 0x84 /r] s:I86, t:LOGIC, w:R|R|W, f:LOGIC TEST Ev,Gv Fv [ 0x85 /r] s:I86, t:LOGIC, w:R|R|W, f:LOGIC -XCHG Eb,Gb nil [ 0x86 /r] s:I86, t:DATAXFER, w:RW|RW, p:HLE|LOCK|HLEWOL -XCHG Ev,Gv nil [ 0x87 /r] s:I86, t:DATAXFER, w:RW|RW, p:HLE|LOCK|HLEWOL -MOV Eb,Gb nil [ 0x88 /r] s:I86, t:DATAXFER, w:W|R, p:XRELEASE|HLEWOL -MOV Ev,Gv nil [ 0x89 /r] s:I86, t:DATAXFER, w:W|R, p:XRELEASE|HLEWOL -MOV Gb,Eb nil [ 0x8A /r] s:I86, t:DATAXFER, w:W|R -MOV Gv,Ev nil [ 0x8B /r] s:I86, t:DATAXFER, w:W|R -MOV Mw,Sw nil [ 0x8C /r:mem] s:I86, t:DATAXFER, w:W|R -MOV Rv,Sw nil [ 0x8C /r:reg] s:I86, t:DATAXFER, w:W|R -LEA Gv,M0 nil [ 0x8D /r:mem] s:I86, t:MISC, w:W|N, a:AG -MOV Sw,Mw nil [ 0x8E /r:mem] s:I86, t:DATAXFER, w:W|R -MOV Sw,Rv nil [ 0x8E /r:reg] s:I86, t:DATAXFER, w:W|R +XCHG Eb,Gb n/a [ 0x86 /r] s:I86, t:DATAXFER, w:RW|RW, p:HLE|LOCK|HLEWOL +XCHG Ev,Gv n/a [ 0x87 /r] s:I86, t:DATAXFER, w:RW|RW, p:HLE|LOCK|HLEWOL +MOV Eb,Gb n/a [ 0x88 /r] s:I86, t:DATAXFER, w:W|R, p:XRELEASE|HLEWOL +MOV Ev,Gv n/a [ 0x89 /r] s:I86, t:DATAXFER, w:W|R, p:XRELEASE|HLEWOL +MOV Gb,Eb n/a [ 0x8A /r] s:I86, t:DATAXFER, w:W|R +MOV Gv,Ev n/a [ 0x8B /r] s:I86, t:DATAXFER, w:W|R +MOV Mw,Sw n/a [ 0x8C /r:mem] s:I86, t:DATAXFER, w:W|R +MOV Rv,Sw n/a [ 0x8C /r:reg] s:I86, t:DATAXFER, w:W|R +LEA Gv,M0 n/a [ 0x8D /r:mem] s:I86, t:MISC, w:W|N, a:AG +MOV Sw,Mw n/a [ 0x8E /r:mem] s:I86, t:DATAXFER, w:W|R +MOV Sw,Rv n/a [ 0x8E /r:reg] s:I86, t:DATAXFER, w:W|R POP Ev Kv [ 0x8F /0] s:I86, t:POP, w:W|R, a:D64 # 0x90 - 0x9F -NOP nil nil [ 0x90] s:I86, t:NOP, -PAUSE nil nil [ a0xF3 0x90] s:PAUSE, t:MISC, m:NOTSX -XCHG Zv,rAX nil [ rexb 0x90] s:I86, t:DATAXFER, w:RW|RW -XCHG Zv,rAX nil [ 0x91] s:I86, t:DATAXFER, w:RW|RW -XCHG Zv,rAX nil [ 0x92] s:I86, t:DATAXFER, w:RW|RW -XCHG Zv,rAX nil [ 0x93] s:I86, t:DATAXFER, w:RW|RW -XCHG Zv,rAX nil [ 0x94] s:I86, t:DATAXFER, w:RW|RW -XCHG Zv,rAX nil [ 0x95] s:I86, t:DATAXFER, w:RW|RW -XCHG Zv,rAX nil [ 0x96] s:I86, t:DATAXFER, w:RW|RW -XCHG Zv,rAX nil [ 0x97] s:I86, t:DATAXFER, w:RW|RW -CBW nil AX,AL [ ds16 0x98] s:I386, t:CONVERT, w:W|R -CWDE nil EAX,AX [ ds32 0x98] s:I386, t:CONVERT, w:W|R -CDQE nil RAX,EAX [ ds64 0x98] s:I386, t:CONVERT, w:W|R -CWD nil DX,AX [ ds16 0x99] s:I386, t:CONVERT, w:W|R -CDQ nil EDX,EAX [ ds32 0x99] s:I386, t:CONVERT, w:W|R -CQO nil RDX,RAX [ ds64 0x99] s:I386, t:CONVERT, w:W|R +NOP n/a n/a [ 0x90] s:I86, t:NOP, +PAUSE n/a n/a [ a0xF3 0x90] s:PAUSE, t:MISC, m:NOTSX +XCHG Zv,rAX n/a [ rexb 0x90] s:I86, t:DATAXFER, w:RW|RW +XCHG Zv,rAX n/a [ 0x91] s:I86, t:DATAXFER, w:RW|RW +XCHG Zv,rAX n/a [ 0x92] s:I86, t:DATAXFER, w:RW|RW +XCHG Zv,rAX n/a [ 0x93] s:I86, t:DATAXFER, w:RW|RW +XCHG Zv,rAX n/a [ 0x94] s:I86, t:DATAXFER, w:RW|RW +XCHG Zv,rAX n/a [ 0x95] s:I86, t:DATAXFER, w:RW|RW +XCHG Zv,rAX n/a [ 0x96] s:I86, t:DATAXFER, w:RW|RW +XCHG Zv,rAX n/a [ 0x97] s:I86, t:DATAXFER, w:RW|RW +CBW n/a AX,AL [ ds16 0x98] s:I386, t:CONVERT, w:W|R +CWDE n/a EAX,AX [ ds32 0x98] s:I386, t:CONVERT, w:W|R +CDQE n/a RAX,EAX [ ds64 0x98] s:I386, t:CONVERT, w:W|R +CWD n/a DX,AX [ ds16 0x99] s:I386, t:CONVERT, w:W|R +CDQ n/a EDX,EAX [ ds32 0x99] s:I386, t:CONVERT, w:W|R +CQO n/a RDX,RAX [ ds64 0x99] s:I386, t:CONVERT, w:W|R CALLF Ap CS,rIP,Kv2,SHS2 [ 0x9A cp] s:I86, t:CALL, c:CALLFD, w:R|RW|W|W|W, m:NO64|NOSGX -WAIT nil nil [ 0x9B] s:X87, t:X87_ALU +WAIT n/a n/a [ 0x9B] s:X87, t:X87_ALU PUSHFW Fv Kv [ ds16 0x9C] s:I86, t:PUSH, c:PUSHF, w:R|W, a:D64 PUSHFD Fv Kv [ ds32 0x9C] s:I86, t:PUSH, c:PUSHF, w:R|W, a:D64 PUSHFQ Fv Kv [ dds64 0x9C] s:I86, t:PUSH, c:PUSHF, w:R|W, a:D64 POPFW Fv Kv [ ds16 0x9D] s:I86, t:POP, c:POPF, w:W|R , a:D64 POPFD Fv Kv [ ds32 0x9D] s:I86, t:POP, c:POPF, w:W|R , a:D64 POPFQ Fv Kv [ dds64 0x9D] s:I86, t:POP, c:POPF, w:W|R , a:D64 -SAHF nil AH,Fv [ 0x9E] s:I86, t:FLAGOP, w:R|W, f:CF=m|PF=m|AF=m|ZF=m|SF=m -LAHF nil AH,Fv [ 0x9F] s:I86, t:FLAGOP, w:W|R, f:CF=t|PF=t|AF=t|ZF=t|SF=t +SAHF n/a AH,Fv [ 0x9E] s:I86, t:FLAGOP, w:R|W, f:CF=m|PF=m|AF=m|ZF=m|SF=m +LAHF n/a AH,Fv [ 0x9F] s:I86, t:FLAGOP, w:W|R, f:CF=t|PF=t|AF=t|ZF=t|SF=t # 0xA0 - 0xAF -MOV AL,Ob nil [ 0xA0] s:I86, t:DATAXFER, w:W|R -MOV rAX,Ov nil [ 0xA1] s:I86, t:DATAXFER, w:W|R -MOV Ob,AL nil [ 0xA2] s:I86, t:DATAXFER, w:W|R -MOV Ov,rAX nil [ 0xA3] s:I86, t:DATAXFER, w:W|R +MOV AL,Ob n/a [ 0xA0] s:I86, t:DATAXFER, w:W|R +MOV rAX,Ov n/a [ 0xA1] s:I86, t:DATAXFER, w:W|R +MOV Ob,AL n/a [ 0xA2] s:I86, t:DATAXFER, w:W|R +MOV Ov,rAX n/a [ 0xA3] s:I86, t:DATAXFER, w:W|R MOVSB Yb,Xb aSI,aDI,Fv [ 0xA4] s:I86, t:STRINGOP, c:MOVS, w:W|R|RW|RW|R, f:DF=t, a:OP1DEF|OP2DEF, p:REP MOVSB Yb,Xb aCX,aSI,aDI,Fv [ rep 0xA4] s:I86, t:STRINGOP, c:MOVS, w:CW|CR|RCW|RCW|RCW|RW, f:DF=t, a:OP1DEF|OP2DEF, p:REP @@ -292,22 +297,22 @@ SCASQ RAX,Yv aDI,Fv [ ds64 0xAF] s:I86 SCASQ RAX,Yv aCX,aDI,Fv [ rep ds64 0xAF] s:I86, t:STRINGOP, c:SCAS, w:R|CR|RCW|RCW|RW, f:REPCMPS, a:OP1DEF|OP2DEF, p:REPC # 0xB0 - 0xBF -MOV Zb,Ib nil [ 0xB0 ib] s:I86, t:DATAXFER, w:W|R -MOV Zb,Ib nil [ 0xB1 ib] s:I86, t:DATAXFER, w:W|R -MOV Zb,Ib nil [ 0xB2 ib] s:I86, t:DATAXFER, w:W|R -MOV Zb,Ib nil [ 0xB3 ib] s:I86, t:DATAXFER, w:W|R -MOV Zb,Ib nil [ 0xB4 ib] s:I86, t:DATAXFER, w:W|R -MOV Zb,Ib nil [ 0xB5 ib] s:I86, t:DATAXFER, w:W|R -MOV Zb,Ib nil [ 0xB6 ib] s:I86, t:DATAXFER, w:W|R -MOV Zb,Ib nil [ 0xB7 ib] s:I86, t:DATAXFER, w:W|R -MOV Zv,Iv nil [ 0xB8 iv] s:I86, t:DATAXFER, w:W|R -MOV Zv,Iv nil [ 0xB9 iv] s:I86, t:DATAXFER, w:W|R -MOV Zv,Iv nil [ 0xBA iv] s:I86, t:DATAXFER, w:W|R -MOV Zv,Iv nil [ 0xBB iv] s:I86, t:DATAXFER, w:W|R -MOV Zv,Iv nil [ 0xBC iv] s:I86, t:DATAXFER, w:W|R -MOV Zv,Iv nil [ 0xBD iv] s:I86, t:DATAXFER, w:W|R -MOV Zv,Iv nil [ 0xBE iv] s:I86, t:DATAXFER, w:W|R -MOV Zv,Iv nil [ 0xBF iv] s:I86, t:DATAXFER, w:W|R +MOV Zb,Ib n/a [ 0xB0 ib] s:I86, t:DATAXFER, w:W|R +MOV Zb,Ib n/a [ 0xB1 ib] s:I86, t:DATAXFER, w:W|R +MOV Zb,Ib n/a [ 0xB2 ib] s:I86, t:DATAXFER, w:W|R +MOV Zb,Ib n/a [ 0xB3 ib] s:I86, t:DATAXFER, w:W|R +MOV Zb,Ib n/a [ 0xB4 ib] s:I86, t:DATAXFER, w:W|R +MOV Zb,Ib n/a [ 0xB5 ib] s:I86, t:DATAXFER, w:W|R +MOV Zb,Ib n/a [ 0xB6 ib] s:I86, t:DATAXFER, w:W|R +MOV Zb,Ib n/a [ 0xB7 ib] s:I86, t:DATAXFER, w:W|R +MOV Zv,Iv n/a [ 0xB8 iv] s:I86, t:DATAXFER, w:W|R +MOV Zv,Iv n/a [ 0xB9 iv] s:I86, t:DATAXFER, w:W|R +MOV Zv,Iv n/a [ 0xBA iv] s:I86, t:DATAXFER, w:W|R +MOV Zv,Iv n/a [ 0xBB iv] s:I86, t:DATAXFER, w:W|R +MOV Zv,Iv n/a [ 0xBC iv] s:I86, t:DATAXFER, w:W|R +MOV Zv,Iv n/a [ 0xBD iv] s:I86, t:DATAXFER, w:W|R +MOV Zv,Iv n/a [ 0xBE iv] s:I86, t:DATAXFER, w:W|R +MOV Zv,Iv n/a [ 0xBF iv] s:I86, t:DATAXFER, w:W|R # 0xC0 - 0xCF ROL Eb,Ib Fv [ 0xC0 /0 ib] s:I86, t:ROTATE, w:RW|R|W, f:ROT @@ -327,23 +332,23 @@ SHR Ev,Ib Fv [ 0xC1 /5 ib] s:I86 SAL Ev,Ib Fv [ 0xC1 /6 ib] s:I86, t:SHIFT, w:RW|R|W, f:SHIFT SAR Ev,Ib Fv [ 0xC1 /7 ib] s:I86, t:SHIFT, w:RW|R|W, f:SHIFT RETN Iw rIP,sSP,Kv,SHS1 [ 0xC2 iw] s:I86, t:RET, w:R|W|W|R|R, a:F64, p:BND -RETN nil rIP,Kv,SHS1 [ 0xC3] s:I86, t:RET, w:W|R|R, a:F64, p:BND +RETN n/a rIP,Kv,SHS1 [ 0xC3] s:I86, t:RET, w:W|R|R, a:F64, p:BND LES Gz,Mp ES [ 0xC4 /r:mem] s:I86, t:SEGOP, w:W|R|W, m:NO64|NOSGX LDS Gz,Mp DS [ 0xC5 /r:mem] s:I86, t:SEGOP, w:W|R|W, m:NO64|NOSGX -MOV Eb,Ib nil [ 0xC6 /0 ib] s:I86, t:DATAXFER, w:W|R, p:XRELEASE|HLEWOL +MOV Eb,Ib n/a [ 0xC6 /0 ib] s:I86, t:DATAXFER, w:W|R, p:XRELEASE|HLEWOL XABORT Ib yIP,EAX [ 0xC6 /0xF8 ib] s:TSX, t:UNCOND_BR, w:R|W|RCW, i:RTM -MOV Ev,Iz nil [ 0xC7 /0 iz] s:I86, t:DATAXFER, w:W|R, a:OP2SEXO1, p:XRELEASE|HLEWOL +MOV Ev,Iz n/a [ 0xC7 /0 iz] s:I86, t:DATAXFER, w:W|R, a:OP2SEXO1, p:XRELEASE|HLEWOL XBEGIN Jz yIP,EAX [ 0xC7 /0xF8 cz] s:TSX, t:COND_BR, w:R|RCW|CW, i:RTM ENTER Iw,Ib rBP,sSP,Kv [ 0xC8 iw ib] s:I186, t:MISC, w:R|R|RW|RW|W, a:D64 -LEAVE nil sBP,rBP,rSP,Kv [ 0xC9] s:I186, t:MISC, w:R|RW|RW|R, a:D64 +LEAVE n/a sBP,rBP,rSP,Kv [ 0xC9] s:I186, t:MISC, w:R|RW|RW|R, a:D64 RETF Iw CS,rIP,Kv2,SHS2 [ 0xCA iw] s:I86, t:RET, w:R|W|W|R|R -RETF nil CS,rIP,Kv2,SHS2 [ 0xCB] s:I86, t:RET, w:W|W|R|R -INT3 nil CS,rIP,Kv3,Fv,SHS3 [ 0xCC] s:I86, t:INTERRUPT, w:RW|RW|RW|W|W, a:CETT, f:INT, m:NOSGX +RETF n/a CS,rIP,Kv2,SHS2 [ 0xCB] s:I86, t:RET, w:W|W|R|R +INT3 n/a CS,rIP,Kv3,Fv,SHS3 [ 0xCC] s:I86, t:INTERRUPT, w:RW|RW|RW|W|W, a:CETT, f:INT, m:NOSGX INT Ib CS,rIP,Kv3,Fv,SHS3 [ 0xCD ib] s:I86, t:INTERRUPT, w:R|RW|RW|RW|W|W, a:CETT, f:INT, m:NOSGX -INTO nil CS,rIP,Kv3,Fv,SHS3 [ 0xCE] s:I86, t:INTERRUPT, w:RW|RW|RW|W|W, a:CETT, f:INT, m:NO64|NOSGX -IRETW nil CS,rIP,Kv3,Fv,SHS3 [ ds16 0xCF] s:I86, t:RET, c:IRET, w:RW|W|R|RW|RW, a:SERIAL -IRETD nil CS,rIP,Kv3,Fv,SHS3 [ ds32 0xCF] s:I86, t:RET, c:IRET, w:RW|W|R|RW|RW, a:SERIAL -IRETQ nil CS,rIP,Kv3,Fv,SHS3 [ ds64 0xCF] s:I86, t:RET, c:IRET, w:RW|W|R|RW|RW, a:SERIAL +INTO n/a CS,rIP,Kv3,Fv,SHS3 [ 0xCE] s:I86, t:INTERRUPT, w:RW|RW|RW|W|W, a:CETT, f:INT, m:NO64|NOSGX +IRETW n/a CS,rIP,Kv3,Fv,SHS3 [ ds16 0xCF] s:I86, t:RET, c:IRET, w:RW|W|R|RW|RW, a:SERIAL +IRETD n/a CS,rIP,Kv3,Fv,SHS3 [ ds32 0xCF] s:I86, t:RET, c:IRET, w:RW|W|R|RW|RW, a:SERIAL +IRETQ n/a CS,rIP,Kv3,Fv,SHS3 [ ds64 0xCF] s:I86, t:RET, c:IRET, w:RW|W|R|RW|RW, a:SERIAL # 0xD0 - 0xDF ROL Eb,1 Fv [ 0xD0 /0] s:I86, t:ROTATE, w:RW|R|W, f:ROT @@ -380,8 +385,8 @@ SAL Ev,CL Fv [ 0xD3 /6] s:I86 SAR Ev,CL Fv [ 0xD3 /7] s:I86, t:SHIFT, w:RW|R|W, f:SHIFT AAM Ib AL,AH,Fv [ 0xD4 ib] s:I86, t:DECIMAL, w:R|RW|W|W, f:AADM, m:NO64 AAD Ib AL,AH,Fv [ 0xD5 ib] s:I86, t:DECIMAL, w:R|RW|RW|W, f:AADM, m:NO64 -SALC nil AL,Fv [ 0xD6] s:I86, t:FLAGOP, w:W|R, f:CF=t -XLATB nil AL,pBXALb [ 0xD7] s:I86, t:MISC, w:W|R +SALC n/a AL,Fv [ 0xD6] s:I86, t:FLAGOP, w:W|R, f:CF=t +XLATB n/a AL,pBXALb [ 0xD7] s:I86, t:MISC, w:W|R # 0xE0 - 0xEF LOOPNZ Jb aCX,rIP,Fv [ 0xE0 cb] s:I86, t:COND_BR, w:R|RW|CRCW|R, f:ZF=t, a:F64 @@ -404,19 +409,19 @@ OUT DX,AL Fv [ 0xEE] s:I86 OUT DX,eAX Fv [ 0xEF] s:I86, t:IO, w:R|R|R, f:IO, a:SERIAL, m:NOSGX # 0xF0 - 0xFF -LOCK nil nil [ 0xF0] s:UNKNOWN, t:UNKNOWN, a:PREFIX -REPNZ nil nil [ 0xF2] s:UNKNOWN, t:UNKNOWN, a:PREFIX -XACQUIRE nil nil [ 0xF2] s:UNKNOWN, t:UNKNOWN, a:PREFIX -BND nil nil [ 0xF2] s:UNKNOWN, t:UNKNOWN, a:PREFIX -REPZ nil nil [ 0xF3] s:UNKNOWN, t:UNKNOWN, a:PREFIX -XRELEASE nil nil [ 0xF2] s:UNKNOWN, t:UNKNOWN, a:PREFIX +LOCK n/a n/a [ 0xF0] s:UNKNOWN, t:UNKNOWN, a:PREFIX +REPNZ n/a n/a [ 0xF2] s:UNKNOWN, t:UNKNOWN, a:PREFIX +XACQUIRE n/a n/a [ 0xF2] s:UNKNOWN, t:UNKNOWN, a:PREFIX +BND n/a n/a [ 0xF2] s:UNKNOWN, t:UNKNOWN, a:PREFIX +REPZ n/a n/a [ 0xF3] s:UNKNOWN, t:UNKNOWN, a:PREFIX +XRELEASE n/a n/a [ 0xF2] s:UNKNOWN, t:UNKNOWN, a:PREFIX -INT1 nil CS,rIP,Kv3,Fv [ 0xF1] s:I86, t:INTERRUPT, w:RW|RW|RW|W, f:INT, m:NOSGX -HLT nil nil [ 0xF4] s:I86, t:SYSTEM, m:KERNEL -CMC nil Fv [ 0xF5] s:I86, t:FLAGOP, w:RW, f:CF=m +INT1 n/a CS,rIP,Kv3,Fv [ 0xF1] s:I86, t:INTERRUPT, w:RW|RW|RW|W, f:INT, m:NOSGX +HLT n/a n/a [ 0xF4] s:I86, t:SYSTEM, m:KERNEL +CMC n/a Fv [ 0xF5] s:I86, t:FLAGOP, w:RW, f:CF=m TEST Eb,Ib Fv [ 0xF6 /0 ib] s:I86, t:LOGIC, w:R|R|W, f:LOGIC TEST Eb,Ib Fv [ 0xF6 /1 ib] s:I86, t:LOGIC, w:R|R|W, f:LOGIC -NOT Eb nil [ 0xF6 /2] s:I86, t:LOGIC, w:RW|W, p:HLE|LOCK +NOT Eb n/a [ 0xF6 /2] s:I86, t:LOGIC, w:RW|W, p:HLE|LOCK NEG Eb Fv [ 0xF6 /3] s:I86, t:LOGIC, w:RW|W, f:ARITH, p:HLE|LOCK MUL Eb AL,AX,Fv [ 0xF6 /4] s:I86, t:ARITH, w:R|R|W|W, f:MUL IMUL Eb AL,AX,Fv [ 0xF6 /5] s:I86, t:ARITH, w:R|R|W|W, f:MUL @@ -424,18 +429,18 @@ DIV Eb AX,AL,AH,Fv [ 0xF6 /6] s:I86 IDIV Eb AX,AL,AH,Fv [ 0xF6 /7] s:I86, t:ARITH, w:R|R|W|W|W, f:DIV TEST Ev,Iz Fv [ 0xF7 /0 iz] s:I86, t:LOGIC, w:R|R|W, f:LOGIC, a:OP2SEXO1 TEST Ev,Iz Fv [ 0xF7 /1 iz] s:I86, t:LOGIC, w:R|R|W, f:LOGIC, a:OP2SEXO1 -NOT Ev nil [ 0xF7 /2] s:I86, t:LOGIC, w:RW|W, p:HLE|LOCK +NOT Ev n/a [ 0xF7 /2] s:I86, t:LOGIC, w:RW|W, p:HLE|LOCK NEG Ev Fv [ 0xF7 /3] s:I86, t:LOGIC, w:RW|W, f:ARITH, p:HLE|LOCK MUL Ev rAX,rDX,Fv [ 0xF7 /4] s:I86, t:ARITH, w:R|RW|W|W, f:MUL IMUL Ev rAX,rDX,Fv [ 0xF7 /5] s:I86, t:ARITH, w:R|RW|W|W, f:MUL DIV Ev rAX,rDX,Fv [ 0xF7 /6] s:I86, t:ARITH, w:R|RW|RW|W, f:DIV IDIV Ev rAX,rDX,Fv [ 0xF7 /7] s:I86, t:ARITH, w:R|RW|RW|W, f:DIV -CLC nil Fv [ 0xF8] s:I86, t:FLAGOP, w:W, f:CF=0 -STC nil Fv [ 0xF9] s:I86, t:FLAGOP, w:W, f:CF=1 -CLI nil Fv [ 0xFA] s:I86, t:FLAGOP, w:RW, f:IF=0 -STI nil Fv [ 0xFB] s:I86, t:FLAGOP, w:RW, f:IF=1 -CLD nil Fv [ 0xFC] s:I86, t:FLAGOP, w:W, f:DF=0 -STD nil Fv [ 0xFD] s:I86, t:FLAGOP, w:W, f:DF=1 +CLC n/a Fv [ 0xF8] s:I86, t:FLAGOP, w:W, f:CF=0 +STC n/a Fv [ 0xF9] s:I86, t:FLAGOP, w:W, f:CF=1 +CLI n/a Fv [ 0xFA] s:I86, t:FLAGOP, w:RW, f:IF=0 +STI n/a Fv [ 0xFB] s:I86, t:FLAGOP, w:RW, f:IF=1 +CLD n/a Fv [ 0xFC] s:I86, t:FLAGOP, w:W, f:DF=0 +STD n/a Fv [ 0xFD] s:I86, t:FLAGOP, w:W, f:DF=1 INC Eb Fv [ 0xFE /0] s:I86, t:ARITH, w:RW|W, f:INCDEC, p:HLE|LOCK DEC Eb Fv [ 0xFE /1] s:I86, t:ARITH, w:RW|W, f:INCDEC, p:HLE|LOCK INC Ev Fv [ 0xFF /0] s:I86, t:ARITH, w:RW|W, f:INCDEC, p:HLE|LOCK diff --git a/isagenerator/instructions/table_evex1.dat b/isagenerator/instructions/table_evex1.dat index 0cab295..3810f1e 100644 --- a/isagenerator/instructions/table_evex1.dat +++ b/isagenerator/instructions/table_evex1.dat @@ -1,181 +1,186 @@ +# +# Copyright (c) 2020 Bitdefender +# SPDX-License-Identifier: Apache-2.0 +# + # Mnemonic Explicit Operands Implicit Encoding Flags, Prefixes, Set, Category, Class, RW map, Additional ops #------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ # 0x10 - 0x1F -VMOVUPS Vfv{K}{z},Wfv nil [evex m:1 p:0 l:x w:0 0x10 /r] s:AVX512F, t:DATAXFER, l:fvm, e:E4nb, w:W|R|R -VMOVUPD Vfv{K}{z},Wfv nil [evex m:1 p:1 l:x w:1 0x10 /r] s:AVX512F, t:DATAXFER, l:fvm, e:E4nb, w:W|R|R -VMOVSS Vdq{K}{z},Mss nil [evex m:1 p:2 l:i w:0 0x10 /r:mem] s:AVX512F, t:DATAXFER, l:t1s, e:E10, w:W|R|R -VMOVSS Vdq{K}{z},Hdq,Udq nil [evex m:1 p:2 l:i w:0 0x10 /r:reg] s:AVX512F, t:DATAXFER, l:t1s, e:E10, w:W|R|R|R -VMOVSD Vdq{K}{z},Msd nil [evex m:1 p:3 l:i w:1 0x10 /r:mem] s:AVX512F, t:DATAXFER, l:t1s, e:E10, w:W|R|R -VMOVSD Vdq{K}{z},Hdq,Udq nil [evex m:1 p:3 l:i w:1 0x10 /r:reg] s:AVX512F, t:DATAXFER, l:t1s, e:E10, w:W|R|R|R -VMOVUPS Wfv{K}{z},Vfv nil [evex m:1 p:0 l:x w:0 0x11 /r] s:AVX512F, t:DATAXFER, l:fvm, e:E4nb, w:W|R|R -VMOVUPD Wfv{K}{z},Vfv nil [evex m:1 p:1 l:x w:1 0x11 /r] s:AVX512F, t:DATAXFER, l:fvm, e:E4nb, w:W|R|R -VMOVSS Mss{K},Vdq nil [evex m:1 p:2 l:i w:0 0x11 /r:mem] s:AVX512F, t:DATAXFER, l:t1s, e:E10, w:W|R|R -VMOVSS Udq{K}{z},Hdq,Vdq nil [evex m:1 p:2 l:i w:0 0x11 /r:reg] s:AVX512F, t:DATAXFER, l:t1s, e:E10, w:W|R|R|R -VMOVSD Msd{K},Vdq nil [evex m:1 p:3 l:i w:1 0x11 /r:mem] s:AVX512F, t:DATAXFER, l:t1s, e:E10, w:W|R|R -VMOVSD Udq{K}{z},Hdq,Vdq nil [evex m:1 p:3 l:i w:1 0x11 /r:reg] s:AVX512F, t:DATAXFER, l:t1s, e:E10, w:W|R|R|R -VMOVLPS Vdq,Hdq,Mq nil [evex m:1 p:0 l:0 w:0 0x12 /r:mem] s:AVX512F, t:DATAXFER, l:t2, e:E9NF, w:W|R|R -VMOVHLPS Vdq,Hdq,Udq nil [evex m:1 p:0 l:0 w:0 0x12 /r:reg] s:AVX512F, t:DATAXFER, e:E7NM, w:W|R|R -VMOVLPD Vdq,Hdq,Mq nil [evex m:1 p:1 l:0 w:1 0x12 /r:mem] s:AVX512F, t:DATAXFER, l:t1s, e:E9NF, w:W|R|R -VMOVSLDUP Vfv{K}{z},Wfv nil [evex m:1 p:2 l:x w:0 0x12 /r] s:AVX512F, t:DATAXFER, l:fvm, e:E4NFnb, w:W|R|R -VMOVDDUP Vdq{K}{z},Wq nil [evex m:1 p:3 l:0 w:1 0x12 /r] s:AVX512F, t:DATAXFER, l:dup, e:E5NF, w:W|R|R -VMOVDDUP Vqq{K}{z},Wqq nil [evex m:1 p:3 l:1 w:1 0x12 /r] s:AVX512F, t:DATAXFER, l:dup, e:E5NF, w:W|R|R -VMOVDDUP Voq{K}{z},Woq nil [evex m:1 p:3 l:2 w:1 0x12 /r] s:AVX512F, t:DATAXFER, l:dup, e:E5NF, w:W|R|R -VMOVLPS Mq,Vdq nil [evex m:1 p:0 l:0 w:0 0x13 /r:mem] s:AVX512F, t:DATAXFER, l:t2, e:E9NF, w:W|R -VMOVLPD Mq,Vdq nil [evex m:1 p:1 l:0 w:1 0x13 /r:mem] s:AVX512F, t:DATAXFER, l:t1s, e:E9NF, w:W|R -VUNPCKLPS Vfv{K}{z},Hfv,Wfv|B32 nil [evex m:1 p:0 l:x w:0 0x14 /r] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:W|R|R|R -VUNPCKLPD Vfv{K}{z},Hfv,Wfv|B64 nil [evex m:1 p:1 l:x w:1 0x14 /r] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:W|R|R|R -VUNPCKHPS Vfv{K}{z},Hfv,Wfv|B32 nil [evex m:1 p:0 l:x w:0 0x15 /r] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:W|R|R|R -VUNPCKHPD Vfv{K}{z},Hfv,Wfv|B64 nil [evex m:1 p:1 l:x w:1 0x15 /r] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:W|R|R|R -VMOVHPS Vdq,Hdq,Mq nil [evex m:1 p:0 l:0 w:0 0x16 /r:mem] s:AVX512F, t:DATAXFER, l:t2, e:E9NF, w:W|R|R -VMOVLHPS Vdq,Hdq,Udq nil [evex m:1 p:0 l:0 w:0 0x16 /r:reg] s:AVX512F, t:DATAXFER, e:E7NM, w:W|R|R -VMOVHPD Vdq,Hdq,Mq nil [evex m:1 p:1 l:0 w:1 0x16 /r:mem] s:AVX512F, t:DATAXFER, l:t1s, e:E9NF, w:W|R|R -VMOVSHDUP Vfv{K}{z},Wfv nil [evex m:1 p:2 l:x w:0 0x16 /r] s:AVX512F, t:DATAXFER, l:fvm, e:E4NFnb, w:W|R|R -VMOVHPS Mq,Vdq nil [evex m:1 p:0 l:0 w:0 0x17 /r:mem] s:AVX512F, t:DATAXFER, l:t2, e:E9NF, w:W|R -VMOVHPD Mq,Vdq nil [evex m:1 p:1 l:0 w:1 0x17 /r:mem] s:AVX512F, t:DATAXFER, l:t1s, e:E9NF, w:W|R +VMOVUPS Vfv{K}{z},Wfv n/a [evex m:1 p:0 l:x w:0 0x10 /r] s:AVX512F, t:DATAXFER, l:fvm, e:E4nb, w:W|R|R +VMOVUPD Vfv{K}{z},Wfv n/a [evex m:1 p:1 l:x w:1 0x10 /r] s:AVX512F, t:DATAXFER, l:fvm, e:E4nb, w:W|R|R +VMOVSS Vdq{K}{z},Mss n/a [evex m:1 p:2 l:i w:0 0x10 /r:mem] s:AVX512F, t:DATAXFER, l:t1s, e:E10, w:W|R|R +VMOVSS Vdq{K}{z},Hdq,Udq n/a [evex m:1 p:2 l:i w:0 0x10 /r:reg] s:AVX512F, t:DATAXFER, l:t1s, e:E10, w:W|R|R|R +VMOVSD Vdq{K}{z},Msd n/a [evex m:1 p:3 l:i w:1 0x10 /r:mem] s:AVX512F, t:DATAXFER, l:t1s, e:E10, w:W|R|R +VMOVSD Vdq{K}{z},Hdq,Udq n/a [evex m:1 p:3 l:i w:1 0x10 /r:reg] s:AVX512F, t:DATAXFER, l:t1s, e:E10, w:W|R|R|R +VMOVUPS Wfv{K}{z},Vfv n/a [evex m:1 p:0 l:x w:0 0x11 /r] s:AVX512F, t:DATAXFER, l:fvm, e:E4nb, w:W|R|R +VMOVUPD Wfv{K}{z},Vfv n/a [evex m:1 p:1 l:x w:1 0x11 /r] s:AVX512F, t:DATAXFER, l:fvm, e:E4nb, w:W|R|R +VMOVSS Mss{K},Vdq n/a [evex m:1 p:2 l:i w:0 0x11 /r:mem] s:AVX512F, t:DATAXFER, l:t1s, e:E10, w:W|R|R +VMOVSS Udq{K}{z},Hdq,Vdq n/a [evex m:1 p:2 l:i w:0 0x11 /r:reg] s:AVX512F, t:DATAXFER, l:t1s, e:E10, w:W|R|R|R +VMOVSD Msd{K},Vdq n/a [evex m:1 p:3 l:i w:1 0x11 /r:mem] s:AVX512F, t:DATAXFER, l:t1s, e:E10, w:W|R|R +VMOVSD Udq{K}{z},Hdq,Vdq n/a [evex m:1 p:3 l:i w:1 0x11 /r:reg] s:AVX512F, t:DATAXFER, l:t1s, e:E10, w:W|R|R|R +VMOVLPS Vdq,Hdq,Mq n/a [evex m:1 p:0 l:0 w:0 0x12 /r:mem] s:AVX512F, t:DATAXFER, l:t2, e:E9NF, w:W|R|R +VMOVHLPS Vdq,Hdq,Udq n/a [evex m:1 p:0 l:0 w:0 0x12 /r:reg] s:AVX512F, t:DATAXFER, e:E7NM, w:W|R|R +VMOVLPD Vdq,Hdq,Mq n/a [evex m:1 p:1 l:0 w:1 0x12 /r:mem] s:AVX512F, t:DATAXFER, l:t1s, e:E9NF, w:W|R|R +VMOVSLDUP Vfv{K}{z},Wfv n/a [evex m:1 p:2 l:x w:0 0x12 /r] s:AVX512F, t:DATAXFER, l:fvm, e:E4NFnb, w:W|R|R +VMOVDDUP Vdq{K}{z},Wq n/a [evex m:1 p:3 l:0 w:1 0x12 /r] s:AVX512F, t:DATAXFER, l:dup, e:E5NF, w:W|R|R +VMOVDDUP Vqq{K}{z},Wqq n/a [evex m:1 p:3 l:1 w:1 0x12 /r] s:AVX512F, t:DATAXFER, l:dup, e:E5NF, w:W|R|R +VMOVDDUP Voq{K}{z},Woq n/a [evex m:1 p:3 l:2 w:1 0x12 /r] s:AVX512F, t:DATAXFER, l:dup, e:E5NF, w:W|R|R +VMOVLPS Mq,Vdq n/a [evex m:1 p:0 l:0 w:0 0x13 /r:mem] s:AVX512F, t:DATAXFER, l:t2, e:E9NF, w:W|R +VMOVLPD Mq,Vdq n/a [evex m:1 p:1 l:0 w:1 0x13 /r:mem] s:AVX512F, t:DATAXFER, l:t1s, e:E9NF, w:W|R +VUNPCKLPS Vfv{K}{z},Hfv,Wfv|B32 n/a [evex m:1 p:0 l:x w:0 0x14 /r] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:W|R|R|R +VUNPCKLPD Vfv{K}{z},Hfv,Wfv|B64 n/a [evex m:1 p:1 l:x w:1 0x14 /r] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:W|R|R|R +VUNPCKHPS Vfv{K}{z},Hfv,Wfv|B32 n/a [evex m:1 p:0 l:x w:0 0x15 /r] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:W|R|R|R +VUNPCKHPD Vfv{K}{z},Hfv,Wfv|B64 n/a [evex m:1 p:1 l:x w:1 0x15 /r] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:W|R|R|R +VMOVHPS Vdq,Hdq,Mq n/a [evex m:1 p:0 l:0 w:0 0x16 /r:mem] s:AVX512F, t:DATAXFER, l:t2, e:E9NF, w:W|R|R +VMOVLHPS Vdq,Hdq,Udq n/a [evex m:1 p:0 l:0 w:0 0x16 /r:reg] s:AVX512F, t:DATAXFER, e:E7NM, w:W|R|R +VMOVHPD Vdq,Hdq,Mq n/a [evex m:1 p:1 l:0 w:1 0x16 /r:mem] s:AVX512F, t:DATAXFER, l:t1s, e:E9NF, w:W|R|R +VMOVSHDUP Vfv{K}{z},Wfv n/a [evex m:1 p:2 l:x w:0 0x16 /r] s:AVX512F, t:DATAXFER, l:fvm, e:E4NFnb, w:W|R|R +VMOVHPS Mq,Vdq n/a [evex m:1 p:0 l:0 w:0 0x17 /r:mem] s:AVX512F, t:DATAXFER, l:t2, e:E9NF, w:W|R +VMOVHPD Mq,Vdq n/a [evex m:1 p:1 l:0 w:1 0x17 /r:mem] s:AVX512F, t:DATAXFER, l:t1s, e:E9NF, w:W|R # 0x20 - 0x2F -VMOVAPS Vfv{K}{z},Wfv nil [evex m:1 p:0 l:x w:0 0x28 /r] s:AVX512F, t:DATAXFER, l:fvm, e:E1, w:W|R|R -VMOVAPD Vfv{K}{z},Wfv nil [evex m:1 p:1 l:x w:1 0x28 /r] s:AVX512F, t:DATAXFER, l:fvm, e:E1, w:W|R|R -VMOVAPS Wfv{K}{z},Vfv nil [evex m:1 p:0 l:x w:0 0x29 /r] s:AVX512F, t:DATAXFER, l:fvm, e:E1, w:W|R|R -VMOVAPD Wfv{K}{z},Vfv nil [evex m:1 p:1 l:x w:1 0x29 /r] s:AVX512F, t:DATAXFER, l:fvm, e:E1, w:W|R|R -VCVTSI2SS Vdq,Hdq{er},Ey nil [evex m:1 p:2 l:i w:x 0x2A /r] s:AVX512F, t:CONVERT, l:t1s, e:E3, w:W|R|R, a:IWO64 -VCVTSI2SD Vdq,Hdq,Ey nil [evex m:1 p:3 l:i w:0 0x2A /r] s:AVX512F, t:CONVERT, l:t1s, e:E10NF, w:W|R|R, a:IER|IWO64 -VCVTSI2SD Vdq,Hdq{er},Ey nil [evex m:1 p:3 l:i w:1 0x2A /r] s:AVX512F, t:CONVERT, l:t1s, e:E3, w:W|R|R, a:IWO64 -VMOVNTPS Mfv,Vfv nil [evex m:1 p:0 l:x w:0 0x2B /r:mem] s:AVX512F, t:DATAXFER, l:fvm, e:E1NF, w:W|R -VMOVNTPD Mfv,Vfv nil [evex m:1 p:1 l:x w:1 0x2B /r:mem] s:AVX512F, t:DATAXFER, l:fvm, e:E1NF, w:W|R -VCVTTSS2SI Gy,Wss{sae} nil [evex m:1 p:2 l:i w:x 0x2C /r] s:AVX512F, t:CONVERT, l:t1f, e:E3, w:W|R, a:IWO64 -VCVTTSD2SI Gy,Wsd{sae} nil [evex m:1 p:3 l:i w:x 0x2C /r] s:AVX512F, t:CONVERT, l:t1f, e:E3, w:W|R, a:IWO64 -VCVTSS2SI Gy,Wss{er} nil [evex m:1 p:2 l:i w:x 0x2D /r] s:AVX512F, t:CONVERT, l:t1f, e:E3, w:W|R, a:IWO64 -VCVTSD2SI Gy,Wsd{er} nil [evex m:1 p:3 l:i w:x 0x2D /r] s:AVX512F, t:CONVERT, l:t1f, e:E3, w:W|R, a:IWO64 +VMOVAPS Vfv{K}{z},Wfv n/a [evex m:1 p:0 l:x w:0 0x28 /r] s:AVX512F, t:DATAXFER, l:fvm, e:E1, w:W|R|R +VMOVAPD Vfv{K}{z},Wfv n/a [evex m:1 p:1 l:x w:1 0x28 /r] s:AVX512F, t:DATAXFER, l:fvm, e:E1, w:W|R|R +VMOVAPS Wfv{K}{z},Vfv n/a [evex m:1 p:0 l:x w:0 0x29 /r] s:AVX512F, t:DATAXFER, l:fvm, e:E1, w:W|R|R +VMOVAPD Wfv{K}{z},Vfv n/a [evex m:1 p:1 l:x w:1 0x29 /r] s:AVX512F, t:DATAXFER, l:fvm, e:E1, w:W|R|R +VCVTSI2SS Vdq,Hdq{er},Ey n/a [evex m:1 p:2 l:i w:x 0x2A /r] s:AVX512F, t:CONVERT, l:t1s, e:E3, w:W|R|R, a:IWO64 +VCVTSI2SD Vdq,Hdq,Ey n/a [evex m:1 p:3 l:i w:0 0x2A /r] s:AVX512F, t:CONVERT, l:t1s, e:E10NF, w:W|R|R, a:IER|IWO64 +VCVTSI2SD Vdq,Hdq{er},Ey n/a [evex m:1 p:3 l:i w:1 0x2A /r] s:AVX512F, t:CONVERT, l:t1s, e:E3, w:W|R|R, a:IWO64 +VMOVNTPS Mfv,Vfv n/a [evex m:1 p:0 l:x w:0 0x2B /r:mem] s:AVX512F, t:DATAXFER, l:fvm, e:E1NF, w:W|R +VMOVNTPD Mfv,Vfv n/a [evex m:1 p:1 l:x w:1 0x2B /r:mem] s:AVX512F, t:DATAXFER, l:fvm, e:E1NF, w:W|R +VCVTTSS2SI Gy,Wss{sae} n/a [evex m:1 p:2 l:i w:x 0x2C /r] s:AVX512F, t:CONVERT, l:t1f, e:E3, w:W|R, a:IWO64 +VCVTTSD2SI Gy,Wsd{sae} n/a [evex m:1 p:3 l:i w:x 0x2C /r] s:AVX512F, t:CONVERT, l:t1f, e:E3, w:W|R, a:IWO64 +VCVTSS2SI Gy,Wss{er} n/a [evex m:1 p:2 l:i w:x 0x2D /r] s:AVX512F, t:CONVERT, l:t1f, e:E3, w:W|R, a:IWO64 +VCVTSD2SI Gy,Wsd{er} n/a [evex m:1 p:3 l:i w:x 0x2D /r] s:AVX512F, t:CONVERT, l:t1f, e:E3, w:W|R, a:IWO64 VUCOMISS Vdq,Wss{sae} Fv [evex m:1 p:0 l:i w:0 0x2E /r] s:AVX512F, t:AVX512, l:t1s, w:R|R|W, e:E3, f:COMIS VUCOMISD Vdq,Wsd{sae} Fv [evex m:1 p:1 l:i w:1 0x2E /r] s:AVX512F, t:AVX512, l:t1s, w:R|R|W, e:E3, f:COMIS VCOMISS Vdq,Wss{sae} Fv [evex m:1 p:0 l:i w:0 0x2F /r] s:AVX512F, t:AVX512, l:t1s, w:R|R|W, e:E3, f:COMIS VCOMISD Vdq,Wsd{sae} Fv [evex m:1 p:1 l:i w:1 0x2F /r] s:AVX512F, t:AVX512, l:t1s, w:R|R|W, e:E3, f:COMIS # 0x50 - 0x5F -VSQRTPS Vfv{K}{z},Wfv|B32{er} nil [evex m:1 p:0 l:x w:0 0x51 /r] s:AVX512F, t:AVX512, l:fv, e:E2, w:W|R|R -VSQRTPD Vfv{K}{z},Wfv|B64{er} nil [evex m:1 p:1 l:x w:1 0x51 /r] s:AVX512F, t:AVX512, l:fv, e:E2, w:W|R|R -VSQRTSS Vdq{K}{z},Hdq,Wss{er} nil [evex m:1 p:2 l:i w:0 0x51 /r] s:AVX512F, t:AVX512, l:t1s, e:E3, w:W|R|R|R -VSQRTSD Vdq{K}{z},Hdq,Wsd{er} nil [evex m:1 p:3 l:i w:1 0x51 /r] s:AVX512F, t:AVX512, l:t1s, e:E3, w:W|R|R|R -VANDPS Vfv{K}{z},Hfv,Wfv|B32 nil [evex m:1 p:0 l:x w:0 0x54 /r] s:AVX512DQ, t:LOGICAL_FP, l:fv, e:E4, w:W|R|R|R -VANDPD Vfv{K}{z},Hfv,Wfv|B64 nil [evex m:1 p:1 l:x w:1 0x54 /r] s:AVX512DQ, t:LOGICAL_FP, l:fv, e:E4, w:W|R|R|R -VANDNPS Vfv{K}{z},Hfv,Wfv|B32 nil [evex m:1 p:0 l:x w:0 0x55 /r] s:AVX512DQ, t:LOGICAL_FP, l:fv, e:E4, w:W|R|R|R -VANDNPD Vfv{K}{z},Hfv,Wfv|B64 nil [evex m:1 p:1 l:x w:1 0x55 /r] s:AVX512DQ, t:LOGICAL_FP, l:fv, e:E4, w:W|R|R|R -VORPS Vfv{K}{z},Hfv,Wfv|B32 nil [evex m:1 p:0 l:x w:0 0x56 /r] s:AVX512DQ, t:LOGICAL_FP, l:fv, e:E4, w:W|R|R|R -VORPD Vfv{K}{z},Hfv,Wfv|B64 nil [evex m:1 p:1 l:x w:1 0x56 /r] s:AVX512DQ, t:LOGICAL_FP, l:fv, e:E4, w:W|R|R|R -VXORPS Vfv{K}{z},Hfv,Wfv|B32 nil [evex m:1 p:0 l:x w:0 0x57 /r] s:AVX512DQ, t:LOGICAL_FP, l:fv, e:E4, w:W|R|R|R -VXORPD Vfv{K}{z},Hfv,Wfv|B64 nil [evex m:1 p:1 l:x w:1 0x57 /r] s:AVX512DQ, t:LOGICAL_FP, l:fv, e:E4, w:W|R|R|R -VADDPS Vfv{K}{z},Hfv,Wfv|B32{er} nil [evex m:1 p:0 l:x w:0 0x58 /r] s:AVX512F, t:AVX512, l:fv, e:E2, w:W|R|R|R -VADDPD Vfv{K}{z},Hfv,Wfv|B64{er} nil [evex m:1 p:1 l:x w:1 0x58 /r] s:AVX512F, t:AVX512, l:fv, e:E2, w:W|R|R|R -VADDSS Vdq{K}{z},Hdq,Wss{er} nil [evex m:1 p:2 l:i w:0 0x58 /r] s:AVX512F, t:AVX512, l:t1s, e:E3, w:W|R|R|R -VADDSD Vdq{K}{z},Hdq,Wsd{er} nil [evex m:1 p:3 l:i w:1 0x58 /r] s:AVX512F, t:AVX512, l:t1s, e:E3, w:W|R|R|R -VMULPS Vfv{K}{z},Hfv,Wfv|B32{er} nil [evex m:1 p:0 l:x w:0 0x59 /r] s:AVX512F, t:AVX512, l:fv, e:E2, w:W|R|R|R -VMULPD Vfv{K}{z},Hfv,Wfv|B64{er} nil [evex m:1 p:1 l:x w:1 0x59 /r] s:AVX512F, t:AVX512, l:fv, e:E2, w:W|R|R|R -VMULSS Vdq{K}{z},Hdq,Wss{er} nil [evex m:1 p:2 l:i w:0 0x59 /r] s:AVX512F, t:AVX512, l:t1s, e:E3, w:W|R|R|R -VMULSD Vdq{K}{z},Hdq,Wsd{er} nil [evex m:1 p:3 l:i w:1 0x59 /r] s:AVX512F, t:AVX512, l:t1s, e:E3, w:W|R|R|R -VCVTPS2PD Vfv{K}{z},Whv|B32{sae} nil [evex m:1 p:0 l:x w:0 0x5A /r] s:AVX512F, t:CONVERT, l:hv, e:E3, w:W|R|R -VCVTPD2PS Vhv{K}{z},Wfv|B64{er} nil [evex m:1 p:1 l:x w:1 0x5A /r] s:AVX512F, t:CONVERT, l:fv, e:E2, w:W|R|R -VCVTSS2SD Vdq{K}{z},Hdq,Wss{sae} nil [evex m:1 p:2 l:i w:0 0x5A /r] s:AVX512F, t:CONVERT, l:t1s, e:E3, w:W|R|R|R -VCVTSD2SS Vdq{K}{z},Hdq,Wsd{er} nil [evex m:1 p:3 l:i w:1 0x5A /r] s:AVX512F, t:CONVERT, l:t1s, e:E3, w:W|R|R|R -VCVTDQ2PS Vfv{K}{z},Wfv|B32{er} nil [evex m:1 p:0 l:x w:0 0x5B /r] s:AVX512F, t:CONVERT, l:fv, e:E2, w:W|R|R -VCVTQQ2PS Vhv{K}{z},Wfv|B64{er} nil [evex m:1 p:0 l:x w:1 0x5B /r] s:AVX512DQ, t:CONVERT, l:fv, e:E2, w:W|R|R -VCVTPS2DQ Vfv{K}{z},Wfv|B32{er} nil [evex m:1 p:1 l:x w:0 0x5B /r] s:AVX512F, t:CONVERT, l:fv, e:E2, w:W|R|R -VCVTTPS2DQ Vfv{K}{z},Wfv|B32{sae} nil [evex m:1 p:2 l:x w:0 0x5B /r] s:AVX512F, t:CONVERT, l:fv, e:E2, w:W|R|R -VSUBPS Vfv{K}{z},Hfv,Wfv|B32{er} nil [evex m:1 p:0 l:x w:0 0x5C /r] s:AVX512F, t:AVX512, l:fv, e:E2, w:W|R|R|R -VSUBPD Vfv{K}{z},Hfv,Wfv|B64{er} nil [evex m:1 p:1 l:x w:1 0x5C /r] s:AVX512F, t:AVX512, l:fv, e:E2, w:W|R|R|R -VSUBSS Vdq{K}{z},Hdq,Wss{er} nil [evex m:1 p:2 l:i w:0 0x5C /r] s:AVX512F, t:AVX512, l:t1s, e:E3, w:W|R|R|R -VSUBSD Vdq{K}{z},Hdq,Wsd{er} nil [evex m:1 p:3 l:i w:1 0x5C /r] s:AVX512F, t:AVX512, l:t1s, e:E3, w:W|R|R|R -VMINPS Vfv{K}{z},Hfv,Wfv|B32{sae} nil [evex m:1 p:0 l:x w:0 0x5D /r] s:AVX512F, t:AVX512, l:fv, e:E2, w:W|R|R|R -VMINPD Vfv{K}{z},Hfv,Wfv|B64{sae} nil [evex m:1 p:1 l:x w:1 0x5D /r] s:AVX512F, t:AVX512, l:fv, e:E2, w:W|R|R|R -VMINSS Vdq{K}{z},Hdq,Wss{sae} nil [evex m:1 p:2 l:i w:0 0x5D /r] s:AVX512F, t:AVX512, l:t1s, e:E3, w:W|R|R|R -VMINSD Vdq{K}{z},Hdq,Wsd{sae} nil [evex m:1 p:3 l:i w:1 0x5D /r] s:AVX512F, t:AVX512, l:t1s, e:E3, w:W|R|R|R -VDIVPS Vfv{K}{z},Hfv,Wfv|B32{er} nil [evex m:1 p:0 l:x w:0 0x5E /r] s:AVX512F, t:AVX512, l:fv, e:E2, w:W|R|R|R -VDIVPD Vfv{K}{z},Hfv,Wfv|B64{er} nil [evex m:1 p:1 l:x w:1 0x5E /r] s:AVX512F, t:AVX512, l:fv, e:E2, w:W|R|R|R -VDIVSS Vdq{K}{z},Hdq,Wss{er} nil [evex m:1 p:2 l:i w:0 0x5E /r] s:AVX512F, t:AVX512, l:t1s, e:E3, w:W|R|R|R -VDIVSD Vdq{K}{z},Hdq,Wsd{er} nil [evex m:1 p:3 l:i w:1 0x5E /r] s:AVX512F, t:AVX512, l:t1s, e:E3, w:W|R|R|R -VMAXPS Vfv{K}{z},Hfv,Wfv|B32{sae} nil [evex m:1 p:0 l:x w:0 0x5F /r] s:AVX512F, t:AVX512, l:fv, e:E2, w:W|R|R|R -VMAXPD Vfv{K}{z},Hfv,Wfv|B64{sae} nil [evex m:1 p:1 l:x w:1 0x5F /r] s:AVX512F, t:AVX512, l:fv, e:E2, w:W|R|R|R -VMAXSS Vdq{K}{z},Hdq,Wss{sae} nil [evex m:1 p:2 l:i w:0 0x5F /r] s:AVX512F, t:AVX512, l:t1s, e:E3, w:W|R|R|R -VMAXSD Vdq{K}{z},Hdq,Wsd{sae} nil [evex m:1 p:3 l:i w:1 0x5F /r] s:AVX512F, t:AVX512, l:t1s, e:E3, w:W|R|R|R +VSQRTPS Vfv{K}{z},Wfv|B32{er} n/a [evex m:1 p:0 l:x w:0 0x51 /r] s:AVX512F, t:AVX512, l:fv, e:E2, w:W|R|R +VSQRTPD Vfv{K}{z},Wfv|B64{er} n/a [evex m:1 p:1 l:x w:1 0x51 /r] s:AVX512F, t:AVX512, l:fv, e:E2, w:W|R|R +VSQRTSS Vdq{K}{z},Hdq,Wss{er} n/a [evex m:1 p:2 l:i w:0 0x51 /r] s:AVX512F, t:AVX512, l:t1s, e:E3, w:W|R|R|R +VSQRTSD Vdq{K}{z},Hdq,Wsd{er} n/a [evex m:1 p:3 l:i w:1 0x51 /r] s:AVX512F, t:AVX512, l:t1s, e:E3, w:W|R|R|R +VANDPS Vfv{K}{z},Hfv,Wfv|B32 n/a [evex m:1 p:0 l:x w:0 0x54 /r] s:AVX512DQ, t:LOGICAL_FP, l:fv, e:E4, w:W|R|R|R +VANDPD Vfv{K}{z},Hfv,Wfv|B64 n/a [evex m:1 p:1 l:x w:1 0x54 /r] s:AVX512DQ, t:LOGICAL_FP, l:fv, e:E4, w:W|R|R|R +VANDNPS Vfv{K}{z},Hfv,Wfv|B32 n/a [evex m:1 p:0 l:x w:0 0x55 /r] s:AVX512DQ, t:LOGICAL_FP, l:fv, e:E4, w:W|R|R|R +VANDNPD Vfv{K}{z},Hfv,Wfv|B64 n/a [evex m:1 p:1 l:x w:1 0x55 /r] s:AVX512DQ, t:LOGICAL_FP, l:fv, e:E4, w:W|R|R|R +VORPS Vfv{K}{z},Hfv,Wfv|B32 n/a [evex m:1 p:0 l:x w:0 0x56 /r] s:AVX512DQ, t:LOGICAL_FP, l:fv, e:E4, w:W|R|R|R +VORPD Vfv{K}{z},Hfv,Wfv|B64 n/a [evex m:1 p:1 l:x w:1 0x56 /r] s:AVX512DQ, t:LOGICAL_FP, l:fv, e:E4, w:W|R|R|R +VXORPS Vfv{K}{z},Hfv,Wfv|B32 n/a [evex m:1 p:0 l:x w:0 0x57 /r] s:AVX512DQ, t:LOGICAL_FP, l:fv, e:E4, w:W|R|R|R +VXORPD Vfv{K}{z},Hfv,Wfv|B64 n/a [evex m:1 p:1 l:x w:1 0x57 /r] s:AVX512DQ, t:LOGICAL_FP, l:fv, e:E4, w:W|R|R|R +VADDPS Vfv{K}{z},Hfv,Wfv|B32{er} n/a [evex m:1 p:0 l:x w:0 0x58 /r] s:AVX512F, t:AVX512, l:fv, e:E2, w:W|R|R|R +VADDPD Vfv{K}{z},Hfv,Wfv|B64{er} n/a [evex m:1 p:1 l:x w:1 0x58 /r] s:AVX512F, t:AVX512, l:fv, e:E2, w:W|R|R|R +VADDSS Vdq{K}{z},Hdq,Wss{er} n/a [evex m:1 p:2 l:i w:0 0x58 /r] s:AVX512F, t:AVX512, l:t1s, e:E3, w:W|R|R|R +VADDSD Vdq{K}{z},Hdq,Wsd{er} n/a [evex m:1 p:3 l:i w:1 0x58 /r] s:AVX512F, t:AVX512, l:t1s, e:E3, w:W|R|R|R +VMULPS Vfv{K}{z},Hfv,Wfv|B32{er} n/a [evex m:1 p:0 l:x w:0 0x59 /r] s:AVX512F, t:AVX512, l:fv, e:E2, w:W|R|R|R +VMULPD Vfv{K}{z},Hfv,Wfv|B64{er} n/a [evex m:1 p:1 l:x w:1 0x59 /r] s:AVX512F, t:AVX512, l:fv, e:E2, w:W|R|R|R +VMULSS Vdq{K}{z},Hdq,Wss{er} n/a [evex m:1 p:2 l:i w:0 0x59 /r] s:AVX512F, t:AVX512, l:t1s, e:E3, w:W|R|R|R +VMULSD Vdq{K}{z},Hdq,Wsd{er} n/a [evex m:1 p:3 l:i w:1 0x59 /r] s:AVX512F, t:AVX512, l:t1s, e:E3, w:W|R|R|R +VCVTPS2PD Vfv{K}{z},Whv|B32{sae} n/a [evex m:1 p:0 l:x w:0 0x5A /r] s:AVX512F, t:CONVERT, l:hv, e:E3, w:W|R|R +VCVTPD2PS Vhv{K}{z},Wfv|B64{er} n/a [evex m:1 p:1 l:x w:1 0x5A /r] s:AVX512F, t:CONVERT, l:fv, e:E2, w:W|R|R +VCVTSS2SD Vdq{K}{z},Hdq,Wss{sae} n/a [evex m:1 p:2 l:i w:0 0x5A /r] s:AVX512F, t:CONVERT, l:t1s, e:E3, w:W|R|R|R +VCVTSD2SS Vdq{K}{z},Hdq,Wsd{er} n/a [evex m:1 p:3 l:i w:1 0x5A /r] s:AVX512F, t:CONVERT, l:t1s, e:E3, w:W|R|R|R +VCVTDQ2PS Vfv{K}{z},Wfv|B32{er} n/a [evex m:1 p:0 l:x w:0 0x5B /r] s:AVX512F, t:CONVERT, l:fv, e:E2, w:W|R|R +VCVTQQ2PS Vhv{K}{z},Wfv|B64{er} n/a [evex m:1 p:0 l:x w:1 0x5B /r] s:AVX512DQ, t:CONVERT, l:fv, e:E2, w:W|R|R +VCVTPS2DQ Vfv{K}{z},Wfv|B32{er} n/a [evex m:1 p:1 l:x w:0 0x5B /r] s:AVX512F, t:CONVERT, l:fv, e:E2, w:W|R|R +VCVTTPS2DQ Vfv{K}{z},Wfv|B32{sae} n/a [evex m:1 p:2 l:x w:0 0x5B /r] s:AVX512F, t:CONVERT, l:fv, e:E2, w:W|R|R +VSUBPS Vfv{K}{z},Hfv,Wfv|B32{er} n/a [evex m:1 p:0 l:x w:0 0x5C /r] s:AVX512F, t:AVX512, l:fv, e:E2, w:W|R|R|R +VSUBPD Vfv{K}{z},Hfv,Wfv|B64{er} n/a [evex m:1 p:1 l:x w:1 0x5C /r] s:AVX512F, t:AVX512, l:fv, e:E2, w:W|R|R|R +VSUBSS Vdq{K}{z},Hdq,Wss{er} n/a [evex m:1 p:2 l:i w:0 0x5C /r] s:AVX512F, t:AVX512, l:t1s, e:E3, w:W|R|R|R +VSUBSD Vdq{K}{z},Hdq,Wsd{er} n/a [evex m:1 p:3 l:i w:1 0x5C /r] s:AVX512F, t:AVX512, l:t1s, e:E3, w:W|R|R|R +VMINPS Vfv{K}{z},Hfv,Wfv|B32{sae} n/a [evex m:1 p:0 l:x w:0 0x5D /r] s:AVX512F, t:AVX512, l:fv, e:E2, w:W|R|R|R +VMINPD Vfv{K}{z},Hfv,Wfv|B64{sae} n/a [evex m:1 p:1 l:x w:1 0x5D /r] s:AVX512F, t:AVX512, l:fv, e:E2, w:W|R|R|R +VMINSS Vdq{K}{z},Hdq,Wss{sae} n/a [evex m:1 p:2 l:i w:0 0x5D /r] s:AVX512F, t:AVX512, l:t1s, e:E3, w:W|R|R|R +VMINSD Vdq{K}{z},Hdq,Wsd{sae} n/a [evex m:1 p:3 l:i w:1 0x5D /r] s:AVX512F, t:AVX512, l:t1s, e:E3, w:W|R|R|R +VDIVPS Vfv{K}{z},Hfv,Wfv|B32{er} n/a [evex m:1 p:0 l:x w:0 0x5E /r] s:AVX512F, t:AVX512, l:fv, e:E2, w:W|R|R|R +VDIVPD Vfv{K}{z},Hfv,Wfv|B64{er} n/a [evex m:1 p:1 l:x w:1 0x5E /r] s:AVX512F, t:AVX512, l:fv, e:E2, w:W|R|R|R +VDIVSS Vdq{K}{z},Hdq,Wss{er} n/a [evex m:1 p:2 l:i w:0 0x5E /r] s:AVX512F, t:AVX512, l:t1s, e:E3, w:W|R|R|R +VDIVSD Vdq{K}{z},Hdq,Wsd{er} n/a [evex m:1 p:3 l:i w:1 0x5E /r] s:AVX512F, t:AVX512, l:t1s, e:E3, w:W|R|R|R +VMAXPS Vfv{K}{z},Hfv,Wfv|B32{sae} n/a [evex m:1 p:0 l:x w:0 0x5F /r] s:AVX512F, t:AVX512, l:fv, e:E2, w:W|R|R|R +VMAXPD Vfv{K}{z},Hfv,Wfv|B64{sae} n/a [evex m:1 p:1 l:x w:1 0x5F /r] s:AVX512F, t:AVX512, l:fv, e:E2, w:W|R|R|R +VMAXSS Vdq{K}{z},Hdq,Wss{sae} n/a [evex m:1 p:2 l:i w:0 0x5F /r] s:AVX512F, t:AVX512, l:t1s, e:E3, w:W|R|R|R +VMAXSD Vdq{K}{z},Hdq,Wsd{sae} n/a [evex m:1 p:3 l:i w:1 0x5F /r] s:AVX512F, t:AVX512, l:t1s, e:E3, w:W|R|R|R # 0x60 - 0x6F -VPUNPCKLBW Vfv{K}{z},Hfv,Wfv nil [evex m:1 p:1 l:x w:x 0x60 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4NFnb, w:W|R|R|R -VPUNPCKLWD Vfv{K}{z},Hfv,Wfv nil [evex m:1 p:1 l:x w:x 0x61 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4NFnb, w:W|R|R|R -VPUNPCKLDQ Vfv{K}{z},Hfv,Wfv|B32 nil [evex m:1 p:1 l:x w:0 0x62 /r] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:W|R|R|R -VPACKSSWB Vfv{K}{z},Hfv,Wfv nil [evex m:1 p:1 l:x w:i 0x63 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4NFnb, w:W|R|R|R -VPCMPGTB rKq{K},Hfv,Wfv nil [evex m:1 p:1 l:x w:i 0x64 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R -VPCMPGTW rKq{K},Hfv,Wfv nil [evex m:1 p:1 l:x w:i 0x65 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R -VPCMPGTD rKq{K},Hfv,Wfv|B32 nil [evex m:1 p:1 l:x w:0 0x66 /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R -VPACKUSWB Vfv{K}{z},Hfv,Wfv nil [evex m:1 p:1 l:x w:i 0x67 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4NFnb, w:W|R|R|R -VPUNPCKHBW Vfv{K}{z},Hfv,Wfv nil [evex m:1 p:1 l:x w:i 0x68 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4NFnb, w:W|R|R|R -VPUNPCKHWD Vfv{K}{z},Hfv,Wfv nil [evex m:1 p:1 l:x w:i 0x69 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4NFnb, w:W|R|R|R -VPUNPCKHDQ Vfv{K}{z},Hfv,Wfv|B32 nil [evex m:1 p:1 l:x w:0 0x6A /r] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:W|R|R|R -VPACKSSDW Vfv{K}{z},Hfv,Wfv|B32 nil [evex m:1 p:1 l:x w:0 0x6B /r] s:AVX512BW, t:AVX512, l:fv, e:E4NF, w:W|R|R|R -VPUNPCKLQDQ Vfv{K}{z},Hfv,Wfv|B64 nil [evex m:1 p:1 l:x w:1 0x6C /r] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:W|R|R|R -VPUNPCKHQDQ Vfv{K}{z},Hfv,Wfv|B64 nil [evex m:1 p:1 l:x w:1 0x6D /r] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:W|R|R|R -VMOVD Vdq,Ed nil [evex m:1 p:1 l:0 w:0 0x6E /r] s:AVX512F, t:DATAXFER, l:t1s, e:E9NF, w:W|R, a:IWO64 -VMOVQ Vdq,Eq nil [evex m:1 p:1 l:0 w:1 0x6E /r] s:AVX512F, t:DATAXFER, l:t1s, e:E9NF, w:W|R, a:IWO64 -VMOVDQA32 Vfv{K}{z},Wfv nil [evex m:1 p:1 l:x w:0 0x6F /r] s:AVX512F, t:DATAXFER, l:fvm, e:E1, w:W|R|R -VMOVDQA64 Vfv{K}{z},Wfv nil [evex m:1 p:1 l:x w:1 0x6F /r] s:AVX512F, t:DATAXFER, l:fvm, e:E1, w:W|R|R -VMOVDQU32 Vfv{K}{z},Wfv nil [evex m:1 p:2 l:x w:0 0x6F /r] s:AVX512F, t:DATAXFER, l:fvm, e:E4nb, w:W|R|R -VMOVDQU64 Vfv{K}{z},Wfv nil [evex m:1 p:2 l:x w:1 0x6F /r] s:AVX512F, t:DATAXFER, l:fvm, e:E4nb, w:W|R|R -VMOVDQU8 Vfv{K}{z},Wfv nil [evex m:1 p:3 l:x w:0 0x6F /r] s:AVX512BW, t:DATAXFER, l:fvm, e:E4nb, w:W|R|R -VMOVDQU16 Vfv{K}{z},Wfv nil [evex m:1 p:3 l:x w:1 0x6F /r] s:AVX512BW, t:DATAXFER, l:fvm, e:E4nb, w:W|R|R +VPUNPCKLBW Vfv{K}{z},Hfv,Wfv n/a [evex m:1 p:1 l:x w:x 0x60 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4NFnb, w:W|R|R|R +VPUNPCKLWD Vfv{K}{z},Hfv,Wfv n/a [evex m:1 p:1 l:x w:x 0x61 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4NFnb, w:W|R|R|R +VPUNPCKLDQ Vfv{K}{z},Hfv,Wfv|B32 n/a [evex m:1 p:1 l:x w:0 0x62 /r] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:W|R|R|R +VPACKSSWB Vfv{K}{z},Hfv,Wfv n/a [evex m:1 p:1 l:x w:i 0x63 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4NFnb, w:W|R|R|R +VPCMPGTB rKq{K},Hfv,Wfv n/a [evex m:1 p:1 l:x w:i 0x64 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R +VPCMPGTW rKq{K},Hfv,Wfv n/a [evex m:1 p:1 l:x w:i 0x65 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R +VPCMPGTD rKq{K},Hfv,Wfv|B32 n/a [evex m:1 p:1 l:x w:0 0x66 /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R +VPACKUSWB Vfv{K}{z},Hfv,Wfv n/a [evex m:1 p:1 l:x w:i 0x67 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4NFnb, w:W|R|R|R +VPUNPCKHBW Vfv{K}{z},Hfv,Wfv n/a [evex m:1 p:1 l:x w:i 0x68 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4NFnb, w:W|R|R|R +VPUNPCKHWD Vfv{K}{z},Hfv,Wfv n/a [evex m:1 p:1 l:x w:i 0x69 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4NFnb, w:W|R|R|R +VPUNPCKHDQ Vfv{K}{z},Hfv,Wfv|B32 n/a [evex m:1 p:1 l:x w:0 0x6A /r] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:W|R|R|R +VPACKSSDW Vfv{K}{z},Hfv,Wfv|B32 n/a [evex m:1 p:1 l:x w:0 0x6B /r] s:AVX512BW, t:AVX512, l:fv, e:E4NF, w:W|R|R|R +VPUNPCKLQDQ Vfv{K}{z},Hfv,Wfv|B64 n/a [evex m:1 p:1 l:x w:1 0x6C /r] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:W|R|R|R +VPUNPCKHQDQ Vfv{K}{z},Hfv,Wfv|B64 n/a [evex m:1 p:1 l:x w:1 0x6D /r] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:W|R|R|R +VMOVD Vdq,Ed n/a [evex m:1 p:1 l:0 w:0 0x6E /r] s:AVX512F, t:DATAXFER, l:t1s, e:E9NF, w:W|R, a:IWO64 +VMOVQ Vdq,Eq n/a [evex m:1 p:1 l:0 w:1 0x6E /r] s:AVX512F, t:DATAXFER, l:t1s, e:E9NF, w:W|R, a:IWO64 +VMOVDQA32 Vfv{K}{z},Wfv n/a [evex m:1 p:1 l:x w:0 0x6F /r] s:AVX512F, t:DATAXFER, l:fvm, e:E1, w:W|R|R +VMOVDQA64 Vfv{K}{z},Wfv n/a [evex m:1 p:1 l:x w:1 0x6F /r] s:AVX512F, t:DATAXFER, l:fvm, e:E1, w:W|R|R +VMOVDQU32 Vfv{K}{z},Wfv n/a [evex m:1 p:2 l:x w:0 0x6F /r] s:AVX512F, t:DATAXFER, l:fvm, e:E4nb, w:W|R|R +VMOVDQU64 Vfv{K}{z},Wfv n/a [evex m:1 p:2 l:x w:1 0x6F /r] s:AVX512F, t:DATAXFER, l:fvm, e:E4nb, w:W|R|R +VMOVDQU8 Vfv{K}{z},Wfv n/a [evex m:1 p:3 l:x w:0 0x6F /r] s:AVX512BW, t:DATAXFER, l:fvm, e:E4nb, w:W|R|R +VMOVDQU16 Vfv{K}{z},Wfv n/a [evex m:1 p:3 l:x w:1 0x6F /r] s:AVX512BW, t:DATAXFER, l:fvm, e:E4nb, w:W|R|R # 0x70 - 0x7F -VPSHUFD Vfv{K}{z},Wfv|B32,Ib nil [evex m:1 p:1 l:x w:0 0x70 /r ib] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:W|R|R|R -VPSHUFHW Vfv{K}{z},Wfv,Ib nil [evex m:1 p:2 l:x w:i 0x70 /r ib] s:AVX512BW, t:AVX512, l:fvm, e:E4NFnb, w:W|R|R|R -VPSHUFLW Vfv{K}{z},Wfv,Ib nil [evex m:1 p:3 l:x w:i 0x70 /r ib] s:AVX512BW, t:AVX512, l:fvm, e:E4NFnb, w:W|R|R|R -VPSRLW Hfv{K}{z},Wfv,Ib nil [evex m:1 p:1 l:x w:i 0x71 /2 ib] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R -VPSRAW Hfv{K}{z},Wfv,Ib nil [evex m:1 p:1 l:x w:i 0x71 /4 ib] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R -VPSLLW Hfv{K}{z},Wfv,Ib nil [evex m:1 p:1 l:x w:i 0x71 /6 ib] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R -VPRORD Hfv{K}{z},Wfv|B32,Ib nil [evex m:1 p:1 l:x w:0 0x72 /0 ib] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R -VPRORQ Hfv{K}{z},Wfv|B64,Ib nil [evex m:1 p:1 l:x w:1 0x72 /0 ib] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R -VPROLD Hfv{K}{z},Wfv|B32,Ib nil [evex m:1 p:1 l:x w:0 0x72 /1 ib] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R -VPROLQ Hfv{K}{z},Wfv|B64,Ib nil [evex m:1 p:1 l:x w:1 0x72 /1 ib] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R -VPSRLD Hfv{K}{z},Wfv|B32,Ib nil [evex m:1 p:1 l:x w:0 0x72 /2 ib] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R -VPSRAD Hfv{K}{z},Wfv|B32,Ib nil [evex m:1 p:1 l:x w:0 0x72 /4 ib] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R -VPSRAQ Hfv{K}{z},Wfv|B64,Ib nil [evex m:1 p:1 l:x w:1 0x72 /4 ib] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R -VPSLLD Hfv{K}{z},Wfv|B32,Ib nil [evex m:1 p:1 l:x w:0 0x72 /6 ib] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R -VPSRLQ Hfv{K}{z},Wfv|B64,Ib nil [evex m:1 p:1 l:x w:1 0x73 /2 ib] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R -VPSRLDQ Hfv,Wfv,Ib nil [evex m:1 p:1 l:x w:i 0x73 /3 ib] s:AVX512BW, t:AVX512, l:fvm, e:E4NFnb, w:W|R|R -VPSLLQ Hfv{K}{z},Wfv|B64,Ib nil [evex m:1 p:1 l:x w:1 0x73 /6 ib] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R -VPSLLDQ Hfv,Wfv,Ib nil [evex m:1 p:1 l:x w:i 0x73 /7 ib] s:AVX512BW, t:AVX512, l:fvm, e:E4NFnb, w:W|R|R -VPCMPEQB rKq{K},Hfv,Wfv nil [evex m:1 p:1 l:x w:i 0x74 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R -VPCMPEQW rKq{K},Hfv,Wfv nil [evex m:1 p:1 l:x w:i 0x75 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R -VPCMPEQD rKq{K},Hfv,Wfv|B32 nil [evex m:1 p:1 l:x w:i 0x76 /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R -VCVTTPS2UDQ Vfv{K}{z},Wfv|B32{sae} nil [evex m:1 p:0 l:x w:0 0x78 /r] s:AVX512F, t:CONVERT, l:fv, e:E2, w:W|R|R -VCVTTPD2UDQ Vhv{K}{z},Wfv|B64{sae} nil [evex m:1 p:0 l:x w:1 0x78 /r] s:AVX512F, t:CONVERT, l:fv, e:E2, w:W|R|R -VCVTTPS2UQQ Vfv{K}{z},Whv|B32{sae} nil [evex m:1 p:1 l:x w:0 0x78 /r] s:AVX512DQ, t:CONVERT, l:hv, e:E3, w:W|R|R -VCVTTPD2UQQ Vfv{K}{z},Wfv|B64{sae} nil [evex m:1 p:1 l:x w:1 0x78 /r] s:AVX512DQ, t:CONVERT, l:fv, e:E2, w:W|R|R -VCVTTSS2USI Gy,Wss{sae} nil [evex m:1 p:2 l:i w:x 0x78 /r] s:AVX512F, t:CONVERT, l:t1f, e:E3, w:W|R, a:IWO64 -VCVTTSD2USI Gy,Wsd{sae} nil [evex m:1 p:3 l:i w:x 0x78 /r] s:AVX512F, t:CONVERT, l:t1f, e:E3, w:W|R, a:IWO64 -VCVTPS2UDQ Vfv{K}{z},Wfv|B32{er} nil [evex m:1 p:0 l:x w:0 0x79 /r] s:AVX512F, t:CONVERT, l:fv, e:E2, w:W|R|R -VCVTPD2UDQ Vhv{K}{z},Wfv|B64{er} nil [evex m:1 p:0 l:x w:1 0x79 /r] s:AVX512F, t:CONVERT, l:fv, e:E2, w:W|R|R -VCVTPS2UQQ Vfv{K}{z},Whv|B32{er} nil [evex m:1 p:1 l:x w:0 0x79 /r] s:AVX512DQ, t:CONVERT, l:hv, e:E3, w:W|R|R -VCVTPD2UQQ Vfv{K}{z},Wfv|B64{er} nil [evex m:1 p:1 l:x w:1 0x79 /r] s:AVX512DQ, t:CONVERT, l:fv, e:E2, w:W|R|R -VCVTSS2USI Gy,Wss{er} nil [evex m:1 p:2 l:i w:x 0x79 /r] s:AVX512F, t:CONVERT, l:t1f, e:E3, w:W|R, a:IWO64 -VCVTSD2USI Gy,Wsd{er} nil [evex m:1 p:3 l:i w:x 0x79 /r] s:AVX512F, t:CONVERT, l:t1f, e:E3, w:W|R, a:IWO64 -VCVTTPS2QQ Vfv{K}{z},Whv|B32{sae} nil [evex m:1 p:1 l:x w:0 0x7A /r] s:AVX512DQ, t:CONVERT, l:hv, e:E3, w:W|R|R -VCVTTPD2QQ Vfv{K}{z},Wfv|B64{sae} nil [evex m:1 p:1 l:x w:1 0x7A /r] s:AVX512DQ, t:CONVERT, l:fv, e:E2, w:W|R|R -VCVTUDQ2PD Vfv{K}{z},Whv|B32 nil [evex m:1 p:2 l:x w:0 0x7A /r] s:AVX512F, t:CONVERT, l:hv, e:E5, w:W|R|R, a:IER -VCVTUQQ2PD Vfv{K}{z},Wfv|B64{er} nil [evex m:1 p:2 l:x w:1 0x7A /r] s:AVX512DQ, t:CONVERT, l:fv, e:E2, w:W|R|R -VCVTUDQ2PS Vfv{K}{z},Wfv|B32{er} nil [evex m:1 p:3 l:x w:0 0x7A /r] s:AVX512F, t:CONVERT, l:fv, e:E2, w:W|R|R -VCVTUQQ2PS Vhv{K}{z},Wfv|B64{er} nil [evex m:1 p:3 l:x w:1 0x7A /r] s:AVX512DQ, t:CONVERT, l:fv, e:E2, w:W|R|R -VCVTPS2QQ Vfv{K}{z},Whv|B32{er} nil [evex m:1 p:1 l:x w:0 0x7B /r] s:AVX512DQ, t:CONVERT, l:hv, e:E3, w:W|R|R -VCVTPD2QQ Vfv{K}{z},Wfv|B64{er} nil [evex m:1 p:1 l:x w:1 0x7B /r] s:AVX512DQ, t:CONVERT, l:fv, e:E2, w:W|R|R -VCVTUSI2SS Vss,Hss{er},Ey nil [evex m:1 p:2 l:i w:x 0x7B /r] s:AVX512F, t:CONVERT, l:t1s, e:E3, w:W|R|R, a:IWO64 -VCVTUSI2SD Vdq,Hdq,Ey nil [evex m:1 p:3 l:i w:0 0x7B /r] s:AVX512F, t:CONVERT, l:t1s, e:E10NF, w:W|R|R, a:IER|IWO64 -VCVTUSI2SD Vdq,Hdq{er},Ey nil [evex m:1 p:3 l:i w:1 0x7B /r] s:AVX512F, t:CONVERT, l:t1s, e:E3, w:W|R|R, a:IWO64 -VMOVD Ey,Vdq nil [evex m:1 p:1 l:0 w:0 0x7E /r] s:AVX512F, t:DATAXFER, l:t1s, e:E9NF, w:W|R, a:IWO64 -VMOVQ Ey,Vdq nil [evex m:1 p:1 l:0 w:1 0x7E /r] s:AVX512F, t:DATAXFER, l:t1s, e:E9NF, w:W|R, a:IWO64 -VMOVQ Vdq,Wq nil [evex m:1 p:2 l:0 w:1 0x7E /r] s:AVX512F, t:DATAXFER, l:t1s, e:E9NF, w:W|R -VMOVDQA32 Wfv{K}{z},Vfv nil [evex m:1 p:1 l:x w:0 0x7F /r] s:AVX512F, t:DATAXFER, l:fvm, e:E1, w:W|R|R -VMOVDQA64 Wfv{K}{z},Vfv nil [evex m:1 p:1 l:x w:1 0x7F /r] s:AVX512F, t:DATAXFER, l:fvm, e:E1, w:W|R|R -VMOVDQU32 Wfv{K}{z},Vfv nil [evex m:1 p:2 l:x w:0 0x7F /r] s:AVX512F, t:DATAXFER, l:fvm, e:E4nb, w:W|R|R -VMOVDQU64 Wfv{K}{z},Vfv nil [evex m:1 p:2 l:x w:1 0x7F /r] s:AVX512F, t:DATAXFER, l:fvm, e:E4nb, w:W|R|R -VMOVDQU8 Wfv{K}{z},Vfv nil [evex m:1 p:3 l:x w:0 0x7F /r] s:AVX512BW, t:DATAXFER, l:fvm, e:E4nb, w:W|R|R -VMOVDQU16 Wfv{K}{z},Vfv nil [evex m:1 p:3 l:x w:1 0x7F /r] s:AVX512BW, t:DATAXFER, l:fvm, e:E4nb, w:W|R|R +VPSHUFD Vfv{K}{z},Wfv|B32,Ib n/a [evex m:1 p:1 l:x w:0 0x70 /r ib] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:W|R|R|R +VPSHUFHW Vfv{K}{z},Wfv,Ib n/a [evex m:1 p:2 l:x w:i 0x70 /r ib] s:AVX512BW, t:AVX512, l:fvm, e:E4NFnb, w:W|R|R|R +VPSHUFLW Vfv{K}{z},Wfv,Ib n/a [evex m:1 p:3 l:x w:i 0x70 /r ib] s:AVX512BW, t:AVX512, l:fvm, e:E4NFnb, w:W|R|R|R +VPSRLW Hfv{K}{z},Wfv,Ib n/a [evex m:1 p:1 l:x w:i 0x71 /2 ib] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R +VPSRAW Hfv{K}{z},Wfv,Ib n/a [evex m:1 p:1 l:x w:i 0x71 /4 ib] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R +VPSLLW Hfv{K}{z},Wfv,Ib n/a [evex m:1 p:1 l:x w:i 0x71 /6 ib] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R +VPRORD Hfv{K}{z},Wfv|B32,Ib n/a [evex m:1 p:1 l:x w:0 0x72 /0 ib] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R +VPRORQ Hfv{K}{z},Wfv|B64,Ib n/a [evex m:1 p:1 l:x w:1 0x72 /0 ib] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R +VPROLD Hfv{K}{z},Wfv|B32,Ib n/a [evex m:1 p:1 l:x w:0 0x72 /1 ib] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R +VPROLQ Hfv{K}{z},Wfv|B64,Ib n/a [evex m:1 p:1 l:x w:1 0x72 /1 ib] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R +VPSRLD Hfv{K}{z},Wfv|B32,Ib n/a [evex m:1 p:1 l:x w:0 0x72 /2 ib] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R +VPSRAD Hfv{K}{z},Wfv|B32,Ib n/a [evex m:1 p:1 l:x w:0 0x72 /4 ib] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R +VPSRAQ Hfv{K}{z},Wfv|B64,Ib n/a [evex m:1 p:1 l:x w:1 0x72 /4 ib] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R +VPSLLD Hfv{K}{z},Wfv|B32,Ib n/a [evex m:1 p:1 l:x w:0 0x72 /6 ib] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R +VPSRLQ Hfv{K}{z},Wfv|B64,Ib n/a [evex m:1 p:1 l:x w:1 0x73 /2 ib] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R +VPSRLDQ Hfv,Wfv,Ib n/a [evex m:1 p:1 l:x w:i 0x73 /3 ib] s:AVX512BW, t:AVX512, l:fvm, e:E4NFnb, w:W|R|R +VPSLLQ Hfv{K}{z},Wfv|B64,Ib n/a [evex m:1 p:1 l:x w:1 0x73 /6 ib] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R +VPSLLDQ Hfv,Wfv,Ib n/a [evex m:1 p:1 l:x w:i 0x73 /7 ib] s:AVX512BW, t:AVX512, l:fvm, e:E4NFnb, w:W|R|R +VPCMPEQB rKq{K},Hfv,Wfv n/a [evex m:1 p:1 l:x w:i 0x74 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R +VPCMPEQW rKq{K},Hfv,Wfv n/a [evex m:1 p:1 l:x w:i 0x75 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R +VPCMPEQD rKq{K},Hfv,Wfv|B32 n/a [evex m:1 p:1 l:x w:i 0x76 /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R +VCVTTPS2UDQ Vfv{K}{z},Wfv|B32{sae} n/a [evex m:1 p:0 l:x w:0 0x78 /r] s:AVX512F, t:CONVERT, l:fv, e:E2, w:W|R|R +VCVTTPD2UDQ Vhv{K}{z},Wfv|B64{sae} n/a [evex m:1 p:0 l:x w:1 0x78 /r] s:AVX512F, t:CONVERT, l:fv, e:E2, w:W|R|R +VCVTTPS2UQQ Vfv{K}{z},Whv|B32{sae} n/a [evex m:1 p:1 l:x w:0 0x78 /r] s:AVX512DQ, t:CONVERT, l:hv, e:E3, w:W|R|R +VCVTTPD2UQQ Vfv{K}{z},Wfv|B64{sae} n/a [evex m:1 p:1 l:x w:1 0x78 /r] s:AVX512DQ, t:CONVERT, l:fv, e:E2, w:W|R|R +VCVTTSS2USI Gy,Wss{sae} n/a [evex m:1 p:2 l:i w:x 0x78 /r] s:AVX512F, t:CONVERT, l:t1f, e:E3, w:W|R, a:IWO64 +VCVTTSD2USI Gy,Wsd{sae} n/a [evex m:1 p:3 l:i w:x 0x78 /r] s:AVX512F, t:CONVERT, l:t1f, e:E3, w:W|R, a:IWO64 +VCVTPS2UDQ Vfv{K}{z},Wfv|B32{er} n/a [evex m:1 p:0 l:x w:0 0x79 /r] s:AVX512F, t:CONVERT, l:fv, e:E2, w:W|R|R +VCVTPD2UDQ Vhv{K}{z},Wfv|B64{er} n/a [evex m:1 p:0 l:x w:1 0x79 /r] s:AVX512F, t:CONVERT, l:fv, e:E2, w:W|R|R +VCVTPS2UQQ Vfv{K}{z},Whv|B32{er} n/a [evex m:1 p:1 l:x w:0 0x79 /r] s:AVX512DQ, t:CONVERT, l:hv, e:E3, w:W|R|R +VCVTPD2UQQ Vfv{K}{z},Wfv|B64{er} n/a [evex m:1 p:1 l:x w:1 0x79 /r] s:AVX512DQ, t:CONVERT, l:fv, e:E2, w:W|R|R +VCVTSS2USI Gy,Wss{er} n/a [evex m:1 p:2 l:i w:x 0x79 /r] s:AVX512F, t:CONVERT, l:t1f, e:E3, w:W|R, a:IWO64 +VCVTSD2USI Gy,Wsd{er} n/a [evex m:1 p:3 l:i w:x 0x79 /r] s:AVX512F, t:CONVERT, l:t1f, e:E3, w:W|R, a:IWO64 +VCVTTPS2QQ Vfv{K}{z},Whv|B32{sae} n/a [evex m:1 p:1 l:x w:0 0x7A /r] s:AVX512DQ, t:CONVERT, l:hv, e:E3, w:W|R|R +VCVTTPD2QQ Vfv{K}{z},Wfv|B64{sae} n/a [evex m:1 p:1 l:x w:1 0x7A /r] s:AVX512DQ, t:CONVERT, l:fv, e:E2, w:W|R|R +VCVTUDQ2PD Vfv{K}{z},Whv|B32 n/a [evex m:1 p:2 l:x w:0 0x7A /r] s:AVX512F, t:CONVERT, l:hv, e:E5, w:W|R|R, a:IER +VCVTUQQ2PD Vfv{K}{z},Wfv|B64{er} n/a [evex m:1 p:2 l:x w:1 0x7A /r] s:AVX512DQ, t:CONVERT, l:fv, e:E2, w:W|R|R +VCVTUDQ2PS Vfv{K}{z},Wfv|B32{er} n/a [evex m:1 p:3 l:x w:0 0x7A /r] s:AVX512F, t:CONVERT, l:fv, e:E2, w:W|R|R +VCVTUQQ2PS Vhv{K}{z},Wfv|B64{er} n/a [evex m:1 p:3 l:x w:1 0x7A /r] s:AVX512DQ, t:CONVERT, l:fv, e:E2, w:W|R|R +VCVTPS2QQ Vfv{K}{z},Whv|B32{er} n/a [evex m:1 p:1 l:x w:0 0x7B /r] s:AVX512DQ, t:CONVERT, l:hv, e:E3, w:W|R|R +VCVTPD2QQ Vfv{K}{z},Wfv|B64{er} n/a [evex m:1 p:1 l:x w:1 0x7B /r] s:AVX512DQ, t:CONVERT, l:fv, e:E2, w:W|R|R +VCVTUSI2SS Vss,Hss{er},Ey n/a [evex m:1 p:2 l:i w:x 0x7B /r] s:AVX512F, t:CONVERT, l:t1s, e:E3, w:W|R|R, a:IWO64 +VCVTUSI2SD Vdq,Hdq,Ey n/a [evex m:1 p:3 l:i w:0 0x7B /r] s:AVX512F, t:CONVERT, l:t1s, e:E10NF, w:W|R|R, a:IER|IWO64 +VCVTUSI2SD Vdq,Hdq{er},Ey n/a [evex m:1 p:3 l:i w:1 0x7B /r] s:AVX512F, t:CONVERT, l:t1s, e:E3, w:W|R|R, a:IWO64 +VMOVD Ey,Vdq n/a [evex m:1 p:1 l:0 w:0 0x7E /r] s:AVX512F, t:DATAXFER, l:t1s, e:E9NF, w:W|R, a:IWO64 +VMOVQ Ey,Vdq n/a [evex m:1 p:1 l:0 w:1 0x7E /r] s:AVX512F, t:DATAXFER, l:t1s, e:E9NF, w:W|R, a:IWO64 +VMOVQ Vdq,Wq n/a [evex m:1 p:2 l:0 w:1 0x7E /r] s:AVX512F, t:DATAXFER, l:t1s, e:E9NF, w:W|R +VMOVDQA32 Wfv{K}{z},Vfv n/a [evex m:1 p:1 l:x w:0 0x7F /r] s:AVX512F, t:DATAXFER, l:fvm, e:E1, w:W|R|R +VMOVDQA64 Wfv{K}{z},Vfv n/a [evex m:1 p:1 l:x w:1 0x7F /r] s:AVX512F, t:DATAXFER, l:fvm, e:E1, w:W|R|R +VMOVDQU32 Wfv{K}{z},Vfv n/a [evex m:1 p:2 l:x w:0 0x7F /r] s:AVX512F, t:DATAXFER, l:fvm, e:E4nb, w:W|R|R +VMOVDQU64 Wfv{K}{z},Vfv n/a [evex m:1 p:2 l:x w:1 0x7F /r] s:AVX512F, t:DATAXFER, l:fvm, e:E4nb, w:W|R|R +VMOVDQU8 Wfv{K}{z},Vfv n/a [evex m:1 p:3 l:x w:0 0x7F /r] s:AVX512BW, t:DATAXFER, l:fvm, e:E4nb, w:W|R|R +VMOVDQU16 Wfv{K}{z},Vfv n/a [evex m:1 p:3 l:x w:1 0x7F /r] s:AVX512BW, t:DATAXFER, l:fvm, e:E4nb, w:W|R|R # 0x80 - 0x8F @@ -186,69 +191,69 @@ VMOVDQU16 Wfv{K}{z},Vfv nil [evex m:1 p:3 l:x w: # 0xB0 - 0xBF # 0xC0 - 0xCF -VCMPPS rKq{K},Hfv,Wfv|B32{sae},Ib nil [evex m:1 p:0 l:x w:0 0xC2 /r ib] s:AVX512F, t:AVX512, l:fv, e:E2, w:W|R|R|R|R -VCMPPD rKq{K},Hfv,Wfv|B64{sae},Ib nil [evex m:1 p:1 l:x w:1 0xC2 /r ib] s:AVX512F, t:AVX512, l:fv, e:E2, w:W|R|R|R|R -VCMPSS rKq{K},Hdq,Wss{sae},Ib nil [evex m:1 p:2 l:x w:0 0xC2 /r ib] s:AVX512F, t:AVX512, l:t1s, e:E3, w:W|R|R|R|R -VCMPSD rKq{K},Hdq,Wsd{sae},Ib nil [evex m:1 p:3 l:x w:1 0xC2 /r ib] s:AVX512F, t:AVX512, l:t1s, e:E3, w:W|R|R|R|R -VPINSRW Vdq,Hdq,Mw,Ib nil [evex m:1 p:1 l:0 w:i 0xC4 /r:mem ib] s:AVX512BW, t:AVX512, l:t1s16, e:E9NF, w:W|R|R|R -VPINSRW Vdq,Hdq,Rv,Ib nil [evex m:1 p:1 l:0 w:i 0xC4 /r:reg ib] s:AVX512BW, t:AVX512, l:t1s16, e:E9NF, w:W|R|R|R -VPEXTRW Gy,Udq,Ib nil [evex m:1 p:1 l:0 w:i 0xC5 /r:reg ib] s:AVX512BW, t:AVX512, l:t1s, e:E9NF, w:W|R|R -VSHUFPS Vfv{K}{z},Hfv,Wfv|B32,Ib nil [evex m:1 p:0 l:x w:0 0xC6 /r ib] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:W|R|R|R|R -VSHUFPD Vfv{K}{z},Hfv,Wfv|B64,Ib nil [evex m:1 p:1 l:x w:1 0xC6 /r ib] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:W|R|R|R|R +VCMPPS rKq{K},Hfv,Wfv|B32{sae},Ib n/a [evex m:1 p:0 l:x w:0 0xC2 /r ib] s:AVX512F, t:AVX512, l:fv, e:E2, w:W|R|R|R|R +VCMPPD rKq{K},Hfv,Wfv|B64{sae},Ib n/a [evex m:1 p:1 l:x w:1 0xC2 /r ib] s:AVX512F, t:AVX512, l:fv, e:E2, w:W|R|R|R|R +VCMPSS rKq{K},Hdq,Wss{sae},Ib n/a [evex m:1 p:2 l:x w:0 0xC2 /r ib] s:AVX512F, t:AVX512, l:t1s, e:E3, w:W|R|R|R|R +VCMPSD rKq{K},Hdq,Wsd{sae},Ib n/a [evex m:1 p:3 l:x w:1 0xC2 /r ib] s:AVX512F, t:AVX512, l:t1s, e:E3, w:W|R|R|R|R +VPINSRW Vdq,Hdq,Mw,Ib n/a [evex m:1 p:1 l:0 w:i 0xC4 /r:mem ib] s:AVX512BW, t:AVX512, l:t1s16, e:E9NF, w:W|R|R|R +VPINSRW Vdq,Hdq,Rv,Ib n/a [evex m:1 p:1 l:0 w:i 0xC4 /r:reg ib] s:AVX512BW, t:AVX512, l:t1s16, e:E9NF, w:W|R|R|R +VPEXTRW Gy,Udq,Ib n/a [evex m:1 p:1 l:0 w:i 0xC5 /r:reg ib] s:AVX512BW, t:AVX512, l:t1s, e:E9NF, w:W|R|R +VSHUFPS Vfv{K}{z},Hfv,Wfv|B32,Ib n/a [evex m:1 p:0 l:x w:0 0xC6 /r ib] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:W|R|R|R|R +VSHUFPD Vfv{K}{z},Hfv,Wfv|B64,Ib n/a [evex m:1 p:1 l:x w:1 0xC6 /r ib] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:W|R|R|R|R # 0xD0 - 0xDF -VPSRLW Vfv{K}{z},Hfv,Wdq nil [evex m:1 p:1 l:x w:i 0xD1 /r] s:AVX512BW, t:AVX512, l:m128, e:E4nb, w:W|R|R|R -VPSRLD Vfv{K}{z},Hfv,Wdq nil [evex m:1 p:1 l:x w:0 0xD2 /r] s:AVX512F, t:AVX512, l:m128, e:E4NFnb, w:W|R|R|R -VPSRLQ Vfv{K}{z},Hfv,Wdq nil [evex m:1 p:1 l:x w:1 0xD3 /r] s:AVX512F, t:AVX512, l:m128, e:E4NFnb, w:W|R|R|R -VPADDQ Vfv{K}{z},Hfv,Wfv|B64 nil [evex m:1 p:1 l:x w:1 0xD4 /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R -VPMULLW Vfv{K}{z},Hfv,Wfv nil [evex m:1 p:1 l:x w:i 0xD5 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R -VMOVQ Wq,Vdq nil [evex m:1 p:1 l:0 w:1 0xD6 /r] s:AVX512F, t:DATAXFER, l:t1s, e:E9NF, w:W|R -VPSUBUSB Vfv{K}{z},Hfv,Wfv nil [evex m:1 p:1 l:x w:i 0xD8 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4, w:W|R|R|R -VPSUBUSW Vfv{K}{z},Hfv,Wfv nil [evex m:1 p:1 l:x w:i 0xD9 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4, w:W|R|R|R -VPMINUB Vfv{K}{z},Hfv,Wfv nil [evex m:1 p:1 l:x w:i 0xDA /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R -VPANDQ Vfv{K}{z},Hfv,Wfv|B64 nil [evex m:1 p:1 l:x w:1 0xDB /r] s:AVX512F, t:LOGICAL, l:fv, e:E4, w:W|R|R|R -VPANDD Vfv{K}{z},Hfv,Wfv|B32 nil [evex m:1 p:1 l:x w:0 0xDB /r] s:AVX512F, t:LOGICAL, l:fv, e:E4, w:W|R|R|R -VPADDUSB Vfv{K}{z},Hfv,Wfv nil [evex m:1 p:1 l:x w:i 0xDC /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R -VPADDUSW Vfv{K}{z},Hfv,Wfv nil [evex m:1 p:1 l:x w:i 0xDD /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R -VPMAXUB Vfv{K}{z},Hfv,Wfv nil [evex m:1 p:1 l:x w:i 0xDE /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R -VPANDND Vfv{K}{z},Hfv,Wfv|B32 nil [evex m:1 p:1 l:x w:0 0xDF /r] s:AVX512F, t:LOGICAL, l:fv, e:E4, w:W|R|R|R -VPANDNQ Vfv{K}{z},Hfv,Wfv|B64 nil [evex m:1 p:1 l:x w:1 0xDF /r] s:AVX512F, t:LOGICAL, l:fv, e:E4, w:W|R|R|R +VPSRLW Vfv{K}{z},Hfv,Wdq n/a [evex m:1 p:1 l:x w:i 0xD1 /r] s:AVX512BW, t:AVX512, l:m128, e:E4nb, w:W|R|R|R +VPSRLD Vfv{K}{z},Hfv,Wdq n/a [evex m:1 p:1 l:x w:0 0xD2 /r] s:AVX512F, t:AVX512, l:m128, e:E4NFnb, w:W|R|R|R +VPSRLQ Vfv{K}{z},Hfv,Wdq n/a [evex m:1 p:1 l:x w:1 0xD3 /r] s:AVX512F, t:AVX512, l:m128, e:E4NFnb, w:W|R|R|R +VPADDQ Vfv{K}{z},Hfv,Wfv|B64 n/a [evex m:1 p:1 l:x w:1 0xD4 /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R +VPMULLW Vfv{K}{z},Hfv,Wfv n/a [evex m:1 p:1 l:x w:i 0xD5 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R +VMOVQ Wq,Vdq n/a [evex m:1 p:1 l:0 w:1 0xD6 /r] s:AVX512F, t:DATAXFER, l:t1s, e:E9NF, w:W|R +VPSUBUSB Vfv{K}{z},Hfv,Wfv n/a [evex m:1 p:1 l:x w:i 0xD8 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4, w:W|R|R|R +VPSUBUSW Vfv{K}{z},Hfv,Wfv n/a [evex m:1 p:1 l:x w:i 0xD9 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4, w:W|R|R|R +VPMINUB Vfv{K}{z},Hfv,Wfv n/a [evex m:1 p:1 l:x w:i 0xDA /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R +VPANDQ Vfv{K}{z},Hfv,Wfv|B64 n/a [evex m:1 p:1 l:x w:1 0xDB /r] s:AVX512F, t:LOGICAL, l:fv, e:E4, w:W|R|R|R +VPANDD Vfv{K}{z},Hfv,Wfv|B32 n/a [evex m:1 p:1 l:x w:0 0xDB /r] s:AVX512F, t:LOGICAL, l:fv, e:E4, w:W|R|R|R +VPADDUSB Vfv{K}{z},Hfv,Wfv n/a [evex m:1 p:1 l:x w:i 0xDC /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R +VPADDUSW Vfv{K}{z},Hfv,Wfv n/a [evex m:1 p:1 l:x w:i 0xDD /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R +VPMAXUB Vfv{K}{z},Hfv,Wfv n/a [evex m:1 p:1 l:x w:i 0xDE /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R +VPANDND Vfv{K}{z},Hfv,Wfv|B32 n/a [evex m:1 p:1 l:x w:0 0xDF /r] s:AVX512F, t:LOGICAL, l:fv, e:E4, w:W|R|R|R +VPANDNQ Vfv{K}{z},Hfv,Wfv|B64 n/a [evex m:1 p:1 l:x w:1 0xDF /r] s:AVX512F, t:LOGICAL, l:fv, e:E4, w:W|R|R|R # 0xE0 - 0xEF -VPAVGB Vfv{K}{z},Hfv,Wfv nil [evex m:1 p:1 l:x w:i 0xE0 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R -VPSRAW Vfv{K}{z},Hfv,Wdq nil [evex m:1 p:1 l:x w:i 0xE1 /r] s:AVX512BW, t:AVX512, l:m128, e:E4nb, w:W|R|R|R -VPSRAD Vfv{K}{z},Hfv,Wdq nil [evex m:1 p:1 l:x w:0 0xE2 /r] s:AVX512F, t:AVX512, l:m128, e:E4NFnb, w:W|R|R|R -VPSRAQ Vfv{K}{z},Hfv,Wdq nil [evex m:1 p:1 l:x w:1 0xE2 /r] s:AVX512F, t:AVX512, l:m128, e:E4NFnb, w:W|R|R|R -VPAVGW Vfv{K}{z},Hfv,Wfv nil [evex m:1 p:1 l:x w:i 0xE3 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R -VPMULHUW Vfv{K}{z},Hfv,Wfv nil [evex m:1 p:1 l:x w:i 0xE4 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R -VPMULHW Vfv{K}{z},Hfv,Wfv nil [evex m:1 p:1 l:x w:i 0xE5 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R -VCVTTPD2DQ Vhv{K}{z},Wfv|B64{sae} nil [evex m:1 p:1 l:x w:1 0xE6 /r] s:AVX512F, t:CONVERT, l:fv, e:E2, w:W|R|R -VCVTDQ2PD Vfv{K}{z},Whv|B32 nil [evex m:1 p:2 l:x w:0 0xE6 /r] s:AVX512F, t:CONVERT, l:hv, e:E5, w:W|R|R, a:IER -VCVTQQ2PD Vfv{K}{z},Wfv|B64{er} nil [evex m:1 p:2 l:x w:1 0xE6 /r] s:AVX512DQ, t:CONVERT, l:fv, e:E2, w:W|R|R -VCVTPD2DQ Vhv{K}{z},Wfv|B64{er} nil [evex m:1 p:3 l:x w:1 0xE6 /r] s:AVX512F, t:CONVERT, l:fv, e:E2, w:W|R|R -VMOVNTDQ Mfv,Vfv nil [evex m:1 p:1 l:x w:0 0xE7 /r:mem] s:AVX512F, t:DATAXFER, l:fvm, e:E1NF, w:W|R -VPSUBSB Vfv{K}{z},Hfv,Wfv nil [evex m:1 p:1 l:x w:i 0xE8 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R -VPSUBSW Vfv{K}{z},Hfv,Wfv nil [evex m:1 p:1 l:x w:i 0xE9 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R -VPMINSW Vfv{K}{z},Hfv,Wfv nil [evex m:1 p:1 l:x w:i 0xEA /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R -VPORD Vfv{K}{z},Hfv,Wfv|B32 nil [evex m:1 p:1 l:x w:0 0xEB /r] s:AVX512F, t:LOGICAL, l:fv, e:E4, w:W|R|R|R -VPORQ Vfv{K}{z},Hfv,Wfv|B64 nil [evex m:1 p:1 l:x w:1 0xEB /r] s:AVX512F, t:LOGICAL, l:fv, e:E4, w:W|R|R|R -VPADDSB Vfv{K}{z},Hfv,Wfv nil [evex m:1 p:1 l:x w:i 0xEC /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R -VPADDSW Vfv{K}{z},Hfv,Wfv nil [evex m:1 p:1 l:x w:i 0xED /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R -VPMAXSW Vfv{K}{z},Hfv,Wfv nil [evex m:1 p:1 l:x w:i 0xEE /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R -VPXORD Vfv{K}{z},Hfv,Wfv|B32 nil [evex m:1 p:1 l:x w:0 0xEF /r] s:AVX512F, t:LOGICAL, l:fv, e:E4, w:W|R|R|R -VPXORQ Vfv{K}{z},Hfv,Wfv|B64 nil [evex m:1 p:1 l:x w:1 0xEF /r] s:AVX512F, t:LOGICAL, l:fv, e:E4, w:W|R|R|R +VPAVGB Vfv{K}{z},Hfv,Wfv n/a [evex m:1 p:1 l:x w:i 0xE0 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R +VPSRAW Vfv{K}{z},Hfv,Wdq n/a [evex m:1 p:1 l:x w:i 0xE1 /r] s:AVX512BW, t:AVX512, l:m128, e:E4nb, w:W|R|R|R +VPSRAD Vfv{K}{z},Hfv,Wdq n/a [evex m:1 p:1 l:x w:0 0xE2 /r] s:AVX512F, t:AVX512, l:m128, e:E4NFnb, w:W|R|R|R +VPSRAQ Vfv{K}{z},Hfv,Wdq n/a [evex m:1 p:1 l:x w:1 0xE2 /r] s:AVX512F, t:AVX512, l:m128, e:E4NFnb, w:W|R|R|R +VPAVGW Vfv{K}{z},Hfv,Wfv n/a [evex m:1 p:1 l:x w:i 0xE3 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R +VPMULHUW Vfv{K}{z},Hfv,Wfv n/a [evex m:1 p:1 l:x w:i 0xE4 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R +VPMULHW Vfv{K}{z},Hfv,Wfv n/a [evex m:1 p:1 l:x w:i 0xE5 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R +VCVTTPD2DQ Vhv{K}{z},Wfv|B64{sae} n/a [evex m:1 p:1 l:x w:1 0xE6 /r] s:AVX512F, t:CONVERT, l:fv, e:E2, w:W|R|R +VCVTDQ2PD Vfv{K}{z},Whv|B32 n/a [evex m:1 p:2 l:x w:0 0xE6 /r] s:AVX512F, t:CONVERT, l:hv, e:E5, w:W|R|R, a:IER +VCVTQQ2PD Vfv{K}{z},Wfv|B64{er} n/a [evex m:1 p:2 l:x w:1 0xE6 /r] s:AVX512DQ, t:CONVERT, l:fv, e:E2, w:W|R|R +VCVTPD2DQ Vhv{K}{z},Wfv|B64{er} n/a [evex m:1 p:3 l:x w:1 0xE6 /r] s:AVX512F, t:CONVERT, l:fv, e:E2, w:W|R|R +VMOVNTDQ Mfv,Vfv n/a [evex m:1 p:1 l:x w:0 0xE7 /r:mem] s:AVX512F, t:DATAXFER, l:fvm, e:E1NF, w:W|R +VPSUBSB Vfv{K}{z},Hfv,Wfv n/a [evex m:1 p:1 l:x w:i 0xE8 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R +VPSUBSW Vfv{K}{z},Hfv,Wfv n/a [evex m:1 p:1 l:x w:i 0xE9 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R +VPMINSW Vfv{K}{z},Hfv,Wfv n/a [evex m:1 p:1 l:x w:i 0xEA /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R +VPORD Vfv{K}{z},Hfv,Wfv|B32 n/a [evex m:1 p:1 l:x w:0 0xEB /r] s:AVX512F, t:LOGICAL, l:fv, e:E4, w:W|R|R|R +VPORQ Vfv{K}{z},Hfv,Wfv|B64 n/a [evex m:1 p:1 l:x w:1 0xEB /r] s:AVX512F, t:LOGICAL, l:fv, e:E4, w:W|R|R|R +VPADDSB Vfv{K}{z},Hfv,Wfv n/a [evex m:1 p:1 l:x w:i 0xEC /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R +VPADDSW Vfv{K}{z},Hfv,Wfv n/a [evex m:1 p:1 l:x w:i 0xED /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R +VPMAXSW Vfv{K}{z},Hfv,Wfv n/a [evex m:1 p:1 l:x w:i 0xEE /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R +VPXORD Vfv{K}{z},Hfv,Wfv|B32 n/a [evex m:1 p:1 l:x w:0 0xEF /r] s:AVX512F, t:LOGICAL, l:fv, e:E4, w:W|R|R|R +VPXORQ Vfv{K}{z},Hfv,Wfv|B64 n/a [evex m:1 p:1 l:x w:1 0xEF /r] s:AVX512F, t:LOGICAL, l:fv, e:E4, w:W|R|R|R # 0xF0 - 0xFF -VPSLLW Vfv{K}{z},Hfv,Wdq nil [evex m:1 p:1 l:x w:i 0xF1 /r] s:AVX512BW, t:AVX512, l:m128, e:E4nb, w:W|R|R|R -VPSLLD Vfv{K}{z},Hfv,Wdq nil [evex m:1 p:1 l:x w:0 0xF2 /r] s:AVX512F, t:AVX512, l:m128, e:E4NFnb, w:W|R|R|R -VPSLLQ Vfv{K}{z},Hfv,Wdq nil [evex m:1 p:1 l:x w:1 0xF3 /r] s:AVX512F, t:AVX512, l:m128, e:E4NFnb, w:W|R|R|R -VPMULUDQ Vfv{K}{z},Hfv,Wfv|B64 nil [evex m:1 p:1 l:x w:1 0xF4 /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R -VPMADDWD Vfv{K}{z},Hfv,Wfv nil [evex m:1 p:1 l:x w:i 0xF5 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R -VPSADBW Vfv,Hfv,Wfv nil [evex m:1 p:1 l:x w:i 0xF6 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4NFnb, w:W|R|R -VPSUBB Vfv{K}{z},Hfv,Wfv nil [evex m:1 p:1 l:x w:i 0xF8 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R -VPSUBW Vfv{K}{z},Hfv,Wfv nil [evex m:1 p:1 l:x w:i 0xF9 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R -VPSUBD Vfv{K}{z},Hfv,Wfv|B32 nil [evex m:1 p:1 l:x w:0 0xFA /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R -VPSUBQ Vfv{K}{z},Hfv,Wfv|B64 nil [evex m:1 p:1 l:x w:1 0xFB /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R -VPADDB Vfv{K}{z},Hfv,Wfv nil [evex m:1 p:1 l:x w:i 0xFC /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R -VPADDW Vfv{K}{z},Hfv,Wfv nil [evex m:1 p:1 l:x w:i 0xFD /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R -VPADDD Vfv{K}{z},Hfv,Wfv|B32 nil [evex m:1 p:1 l:x w:0 0xFE /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R +VPSLLW Vfv{K}{z},Hfv,Wdq n/a [evex m:1 p:1 l:x w:i 0xF1 /r] s:AVX512BW, t:AVX512, l:m128, e:E4nb, w:W|R|R|R +VPSLLD Vfv{K}{z},Hfv,Wdq n/a [evex m:1 p:1 l:x w:0 0xF2 /r] s:AVX512F, t:AVX512, l:m128, e:E4NFnb, w:W|R|R|R +VPSLLQ Vfv{K}{z},Hfv,Wdq n/a [evex m:1 p:1 l:x w:1 0xF3 /r] s:AVX512F, t:AVX512, l:m128, e:E4NFnb, w:W|R|R|R +VPMULUDQ Vfv{K}{z},Hfv,Wfv|B64 n/a [evex m:1 p:1 l:x w:1 0xF4 /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R +VPMADDWD Vfv{K}{z},Hfv,Wfv n/a [evex m:1 p:1 l:x w:i 0xF5 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R +VPSADBW Vfv,Hfv,Wfv n/a [evex m:1 p:1 l:x w:i 0xF6 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4NFnb, w:W|R|R +VPSUBB Vfv{K}{z},Hfv,Wfv n/a [evex m:1 p:1 l:x w:i 0xF8 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R +VPSUBW Vfv{K}{z},Hfv,Wfv n/a [evex m:1 p:1 l:x w:i 0xF9 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R +VPSUBD Vfv{K}{z},Hfv,Wfv|B32 n/a [evex m:1 p:1 l:x w:0 0xFA /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R +VPSUBQ Vfv{K}{z},Hfv,Wfv|B64 n/a [evex m:1 p:1 l:x w:1 0xFB /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R +VPADDB Vfv{K}{z},Hfv,Wfv n/a [evex m:1 p:1 l:x w:i 0xFC /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R +VPADDW Vfv{K}{z},Hfv,Wfv n/a [evex m:1 p:1 l:x w:i 0xFD /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R +VPADDD Vfv{K}{z},Hfv,Wfv|B32 n/a [evex m:1 p:1 l:x w:0 0xFE /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R diff --git a/isagenerator/instructions/table_evex2.dat b/isagenerator/instructions/table_evex2.dat index b5e60da..3355bfc 100644 --- a/isagenerator/instructions/table_evex2.dat +++ b/isagenerator/instructions/table_evex2.dat @@ -1,342 +1,347 @@ +# +# Copyright (c) 2020 Bitdefender +# SPDX-License-Identifier: Apache-2.0 +# + # Mnemonic Explicit Operands Implicit Encoding Flags, Prefixes, Set, Category, Class, RW map, Additional ops #------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ # 0x00 - 0x0F -VPSHUFB Vfv{K}{z},Hfv,Wfv nil [evex m:2 p:1 l:x w:i 0x00 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4NFnb, w:W|R|R|R -VPMADDUBSW Vfv{K}{z},Hfv,Wfv nil [evex m:2 p:1 l:x w:i 0x04 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4NFnb, w:W|R|R|R -VPMULHRSW Vfv{K}{z},Hfv,Wfv nil [evex m:2 p:1 l:x w:i 0x0B /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R -VPERMILPS Vfv{K}{z},Hfv,Wfv|B32 nil [evex m:2 p:1 l:x w:0 0x0C /r] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:W|R|R|R -VPERMILPD Vfv{K}{z},Hfv,Wfv|B64 nil [evex m:2 p:1 l:x w:1 0x0D /r] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:W|R|R|R +VPSHUFB Vfv{K}{z},Hfv,Wfv n/a [evex m:2 p:1 l:x w:i 0x00 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4NFnb, w:W|R|R|R +VPMADDUBSW Vfv{K}{z},Hfv,Wfv n/a [evex m:2 p:1 l:x w:i 0x04 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4NFnb, w:W|R|R|R +VPMULHRSW Vfv{K}{z},Hfv,Wfv n/a [evex m:2 p:1 l:x w:i 0x0B /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R +VPERMILPS Vfv{K}{z},Hfv,Wfv|B32 n/a [evex m:2 p:1 l:x w:0 0x0C /r] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:W|R|R|R +VPERMILPD Vfv{K}{z},Hfv,Wfv|B64 n/a [evex m:2 p:1 l:x w:1 0x0D /r] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:W|R|R|R # 0x10 - 0x1F -VPSRLVW Vfv{K}{z},Hfv,Wfv nil [evex m:2 p:1 l:x w:1 0x10 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R -VPSRAVW Vfv{K}{z},Hfv,Wfv nil [evex m:2 p:1 l:x w:1 0x11 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4, w:W|R|R|R -VPSLLVW Vfv{K}{z},Hfv,Wfv nil [evex m:2 p:1 l:x w:1 0x12 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R -VCVTPH2PS Vfv{K}{z},Whv{sae} nil [evex m:2 p:1 l:x w:0 0x13 /r] s:AVX512F, t:CONVERT, l:hvm, e:E11, w:W|R|R -VPRORVD Vfv{K}{z},Hfv,Wfv|B32 nil [evex m:2 p:1 l:x w:0 0x14 /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R -VPRORVQ Vfv{K}{z},Hfv,Wfv|B64 nil [evex m:2 p:1 l:x w:1 0x14 /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R -VPROLVD Vfv{K}{z},Hfv,Wfv|B32 nil [evex m:2 p:1 l:x w:0 0x15 /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R -VPROLVQ Vfv{K}{z},Hfv,Wfv|B64 nil [evex m:2 p:1 l:x w:1 0x15 /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R -VPERMPS Vuv{K}{z},Huv,Wuv|B32 nil [evex m:2 p:1 l:1 w:0 0x16 /r] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:W|R|R|R -VPERMPS Vuv{K}{z},Huv,Wuv|B32 nil [evex m:2 p:1 l:2 w:0 0x16 /r] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:W|R|R|R -VPERMPD Vuv{K}{z},Huv,Wuv|B64 nil [evex m:2 p:1 l:1 w:1 0x16 /r] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:W|R|R|R -VPERMPD Vuv{K}{z},Huv,Wuv|B64 nil [evex m:2 p:1 l:2 w:1 0x16 /r] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:W|R|R|R -VPMOVUSWB Whv{K}{z},Vfv nil [evex m:2 p:2 l:x w:0 0x10 /r] s:AVX512BW, t:DATAXFER, l:hvm, e:E6, w:W|R|R -VPMOVUSDB Wqv{K}{z},Vfv nil [evex m:2 p:2 l:x w:0 0x11 /r] s:AVX512F, t:DATAXFER, l:qvm, e:E6, w:W|R|R -VPMOVUSQB Wev{K}{z},Vfv nil [evex m:2 p:2 l:x w:0 0x12 /r] s:AVX512F, t:DATAXFER, l:ovm, e:E6, w:W|R|R -VPMOVUSDW Whv{K}{z},Vfv nil [evex m:2 p:2 l:x w:0 0x13 /r] s:AVX512F, t:DATAXFER, l:hv, l:hvm, e:E6, w:W|R|R -VPMOVUSQW Wqv{K}{z},Vfv nil [evex m:2 p:2 l:x w:0 0x14 /r] s:AVX512F, t:DATAXFER, l:qvm, e:E6, w:W|R|R -VPMOVUSQD Whv{K}{z},Vfv nil [evex m:2 p:2 l:x w:0 0x15 /r] s:AVX512F, t:DATAXFER, l:hvm, e:E6, w:W|R|R -VBROADCASTSS Vfv{K}{z},Wss nil [evex m:2 p:1 l:x w:0 0x18 /r] s:AVX512F, t:BROADCAST, l:t1s, e:E6, w:W|R|R -VBROADCASTF32X2 Vuv{K}{z},Wq nil [evex m:2 p:1 l:x w:0 0x19 /r] s:AVX512DQ, t:BROADCAST, a:NOL0, l:t2, e:E6, w:W|R|R -VBROADCASTSD Vuv{K}{z},Wsd nil [evex m:2 p:1 l:x w:1 0x19 /r] s:AVX512F, t:BROADCAST, a:NOL0, l:t1s, e:E6, w:W|R|R -VBROADCASTF32X4 Vuv{K}{z},Mdq nil [evex m:2 p:1 l:x w:0 0x1A /r:mem] s:AVX512F, t:BROADCAST, a:NOL0, l:t4, e:E6, w:W|R|R -VBROADCASTF64X2 Vuv{K}{z},Mdq nil [evex m:2 p:1 l:x w:1 0x1A /r:mem] s:AVX512DQ, t:BROADCAST, a:NOL0, l:t2, e:E6, w:W|R|R -VBROADCASTF32X8 Voq{K}{z},Mqq nil [evex m:2 p:1 l:2 w:0 0x1B /r:mem] s:AVX512DQ, t:BROADCAST, l:t8, e:E6, w:W|R|R -VBROADCASTF64X4 Voq{K}{z},Mqq nil [evex m:2 p:1 l:2 w:1 0x1B /r:mem] s:AVX512F, t:BROADCAST, l:t4, e:E6, w:W|R|R -VPABSB Vfv{K}{z},Wfv nil [evex m:2 p:1 l:x w:x 0x1C /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R -VPABSW Vfv{K}{z},Wfv nil [evex m:2 p:1 l:x w:x 0x1D /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R -VPABSD Vfv{K}{z},Wfv|B32 nil [evex m:2 p:1 l:x w:0 0x1E /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R -VPABSQ Vfv{K}{z},Wfv|B64 nil [evex m:2 p:1 l:x w:1 0x1F /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R +VPSRLVW Vfv{K}{z},Hfv,Wfv n/a [evex m:2 p:1 l:x w:1 0x10 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R +VPSRAVW Vfv{K}{z},Hfv,Wfv n/a [evex m:2 p:1 l:x w:1 0x11 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4, w:W|R|R|R +VPSLLVW Vfv{K}{z},Hfv,Wfv n/a [evex m:2 p:1 l:x w:1 0x12 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R +VCVTPH2PS Vfv{K}{z},Whv{sae} n/a [evex m:2 p:1 l:x w:0 0x13 /r] s:AVX512F, t:CONVERT, l:hvm, e:E11, w:W|R|R +VPRORVD Vfv{K}{z},Hfv,Wfv|B32 n/a [evex m:2 p:1 l:x w:0 0x14 /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R +VPRORVQ Vfv{K}{z},Hfv,Wfv|B64 n/a [evex m:2 p:1 l:x w:1 0x14 /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R +VPROLVD Vfv{K}{z},Hfv,Wfv|B32 n/a [evex m:2 p:1 l:x w:0 0x15 /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R +VPROLVQ Vfv{K}{z},Hfv,Wfv|B64 n/a [evex m:2 p:1 l:x w:1 0x15 /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R +VPERMPS Vuv{K}{z},Huv,Wuv|B32 n/a [evex m:2 p:1 l:1 w:0 0x16 /r] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:W|R|R|R +VPERMPS Vuv{K}{z},Huv,Wuv|B32 n/a [evex m:2 p:1 l:2 w:0 0x16 /r] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:W|R|R|R +VPERMPD Vuv{K}{z},Huv,Wuv|B64 n/a [evex m:2 p:1 l:1 w:1 0x16 /r] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:W|R|R|R +VPERMPD Vuv{K}{z},Huv,Wuv|B64 n/a [evex m:2 p:1 l:2 w:1 0x16 /r] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:W|R|R|R +VPMOVUSWB Whv{K}{z},Vfv n/a [evex m:2 p:2 l:x w:0 0x10 /r] s:AVX512BW, t:DATAXFER, l:hvm, e:E6, w:W|R|R +VPMOVUSDB Wqv{K}{z},Vfv n/a [evex m:2 p:2 l:x w:0 0x11 /r] s:AVX512F, t:DATAXFER, l:qvm, e:E6, w:W|R|R +VPMOVUSQB Wev{K}{z},Vfv n/a [evex m:2 p:2 l:x w:0 0x12 /r] s:AVX512F, t:DATAXFER, l:ovm, e:E6, w:W|R|R +VPMOVUSDW Whv{K}{z},Vfv n/a [evex m:2 p:2 l:x w:0 0x13 /r] s:AVX512F, t:DATAXFER, l:hv, l:hvm, e:E6, w:W|R|R +VPMOVUSQW Wqv{K}{z},Vfv n/a [evex m:2 p:2 l:x w:0 0x14 /r] s:AVX512F, t:DATAXFER, l:qvm, e:E6, w:W|R|R +VPMOVUSQD Whv{K}{z},Vfv n/a [evex m:2 p:2 l:x w:0 0x15 /r] s:AVX512F, t:DATAXFER, l:hvm, e:E6, w:W|R|R +VBROADCASTSS Vfv{K}{z},Wss n/a [evex m:2 p:1 l:x w:0 0x18 /r] s:AVX512F, t:BROADCAST, l:t1s, e:E6, w:W|R|R +VBROADCASTF32X2 Vuv{K}{z},Wq n/a [evex m:2 p:1 l:x w:0 0x19 /r] s:AVX512DQ, t:BROADCAST, a:NOL0, l:t2, e:E6, w:W|R|R +VBROADCASTSD Vuv{K}{z},Wsd n/a [evex m:2 p:1 l:x w:1 0x19 /r] s:AVX512F, t:BROADCAST, a:NOL0, l:t1s, e:E6, w:W|R|R +VBROADCASTF32X4 Vuv{K}{z},Mdq n/a [evex m:2 p:1 l:x w:0 0x1A /r:mem] s:AVX512F, t:BROADCAST, a:NOL0, l:t4, e:E6, w:W|R|R +VBROADCASTF64X2 Vuv{K}{z},Mdq n/a [evex m:2 p:1 l:x w:1 0x1A /r:mem] s:AVX512DQ, t:BROADCAST, a:NOL0, l:t2, e:E6, w:W|R|R +VBROADCASTF32X8 Voq{K}{z},Mqq n/a [evex m:2 p:1 l:2 w:0 0x1B /r:mem] s:AVX512DQ, t:BROADCAST, l:t8, e:E6, w:W|R|R +VBROADCASTF64X4 Voq{K}{z},Mqq n/a [evex m:2 p:1 l:2 w:1 0x1B /r:mem] s:AVX512F, t:BROADCAST, l:t4, e:E6, w:W|R|R +VPABSB Vfv{K}{z},Wfv n/a [evex m:2 p:1 l:x w:x 0x1C /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R +VPABSW Vfv{K}{z},Wfv n/a [evex m:2 p:1 l:x w:x 0x1D /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R +VPABSD Vfv{K}{z},Wfv|B32 n/a [evex m:2 p:1 l:x w:0 0x1E /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R +VPABSQ Vfv{K}{z},Wfv|B64 n/a [evex m:2 p:1 l:x w:1 0x1F /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R # 0x20 - 0x2F -VPMOVSXBW Vfv{K}{z},Whv nil [evex m:2 p:1 l:x w:i 0x20 /r] s:AVX512BW, t:DATAXFER, l:hvm, e:E5, w:W|R|R -VPMOVSXBD Vfv{K}{z},Wqv nil [evex m:2 p:1 l:x w:i 0x21 /r] s:AVX512F, t:DATAXFER, l:qvm, e:E5, w:W|R|R -VPMOVSXBQ Vfv{K}{z},Wev nil [evex m:2 p:1 l:x w:i 0x22 /r] s:AVX512F, t:DATAXFER, l:ovm, e:E5, w:W|R|R -VPMOVSXWD Vfv{K}{z},Whv nil [evex m:2 p:1 l:x w:i 0x23 /r] s:AVX512F, t:DATAXFER, l:hvm, e:E5, w:W|R|R -VPMOVSXWQ Vfv{K}{z},Wqv nil [evex m:2 p:1 l:x w:i 0x24 /r] s:AVX512F, t:DATAXFER, l:qvm, e:E5, w:W|R|R -VPMOVSXDQ Vfv{K}{z},Whv nil [evex m:2 p:1 l:x w:0 0x25 /r] s:AVX512F, t:DATAXFER, l:hvm, e:E5, w:W|R|R -VPTESTMB rKq{K},Hfv,Wfv nil [evex m:2 p:1 l:x w:0 0x26 /r] s:AVX512BW, t:LOGICAL, l:fvm, e:E4nb, w:W|R|R|R -VPTESTMW rKq{K},Hfv,Wfv nil [evex m:2 p:1 l:x w:1 0x26 /r] s:AVX512BW, t:LOGICAL, l:fvm, e:E4nb, w:W|R|R|R -VPTESTMD rKq{K},Hfv,Wfv|B32 nil [evex m:2 p:1 l:x w:0 0x27 /r] s:AVX512F, t:LOGICAL, l:fv, e:E4, w:W|R|R|R -VPTESTMQ rKq{K},Hfv,Wfv|B64 nil [evex m:2 p:1 l:x w:1 0x27 /r] s:AVX512F, t:LOGICAL, l:fv, e:E4, w:W|R|R|R -VPMOVSWB Whv{K}{z},Vfv nil [evex m:2 p:2 l:x w:0 0x20 /r] s:AVX512BW, t:DATAXFER, l:hvm, e:E6, w:W|R|R -VPMOVSDB Wqv{K}{z},Vfv nil [evex m:2 p:2 l:x w:0 0x21 /r] s:AVX512F, t:DATAXFER, l:qvm, e:E6, w:W|R|R -VPMOVSQB Wev{K}{z},Vfv nil [evex m:2 p:2 l:x w:0 0x22 /r] s:AVX512F, t:DATAXFER, l:ovm, e:E6, w:W|R|R -VPMOVSDW Whv{K}{z},Vfv nil [evex m:2 p:2 l:x w:0 0x23 /r] s:AVX512F, t:DATAXFER, l:hvm, e:E6, w:W|R|R -VPMOVSQW Wqv{K}{z},Vfv nil [evex m:2 p:2 l:x w:0 0x24 /r] s:AVX512F, t:DATAXFER, l:qvm, e:E6, w:W|R|R -VPMOVSQD Whv{K}{z},Vfv nil [evex m:2 p:2 l:x w:0 0x25 /r] s:AVX512F, t:DATAXFER, l:hvm, e:E6, w:W|R|R -VPTESTNMB rKq{K},Hfv,Wfv nil [evex m:2 p:2 l:x w:0 0x26 /r] s:AVX512BW, t:LOGICAL, l:fvm, e:E4nb, w:W|R|R|R -VPTESTNMW rKq{K},Hfv,Wfv nil [evex m:2 p:2 l:x w:1 0x26 /r] s:AVX512BW, t:LOGICAL, l:fvm, e:E4nb, w:W|R|R|R -VPTESTNMD rKq{K},Hfv,Wfv|B32 nil [evex m:2 p:2 l:x w:0 0x27 /r] s:AVX512F, t:LOGICAL, l:fv, e:E4, w:W|R|R|R -VPTESTNMQ rKq{K},Hfv,Wfv|B64 nil [evex m:2 p:2 l:x w:1 0x27 /r] s:AVX512F, t:LOGICAL, l:fv, e:E4, w:W|R|R|R -VPMULDQ Vfv{K}{z},Hfv,Wfv|B64 nil [evex m:2 p:1 l:x w:1 0x28 /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R -VPCMPEQQ rKq{K},Hfv,Wfv|B64 nil [evex m:2 p:1 l:x w:1 0x29 /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R -VMOVNTDQA Vfv,Mfv nil [evex m:2 p:1 l:x w:0 0x2A /r:mem] s:AVX512F, t:DATAXFER, l:fvm, e:E1NF, w:W|R -VPACKUSDW Vfv{K}{z},Hfv,Wfv|B32 nil [evex m:2 p:1 l:x w:0 0x2B /r] s:AVX512BW, t:AVX512, l:fv, e:E4NF, w:W|R|R|R -VSCALEFPS Vfv{K}{z},Hfv,Wfv|B32{er} nil [evex m:2 p:1 l:x w:0 0x2C /r] s:AVX512F, t:AVX512, l:fv, e:E2, w:W|R|R|R -VSCALEFPD Vfv{K}{z},Hfv,Wfv|B64{er} nil [evex m:2 p:1 l:x w:1 0x2C /r] s:AVX512F, t:AVX512, l:fv, e:E2, w:W|R|R|R -VSCALEFSS Vss{K}{z},Hss,Wss{er} nil [evex m:2 p:1 l:i w:0 0x2D /r] s:AVX512F, t:AVX512, l:t1s, e:E3, w:W|R|R|R -VSCALEFSD Vsd{K}{z},Hsd,Wsd{er} nil [evex m:2 p:1 l:i w:1 0x2D /r] s:AVX512F, t:AVX512, l:t1s, e:E3, w:W|R|R|R -VPMOVM2B Vfv,mKq nil [evex m:2 p:2 l:x w:0 0x28 /r:reg] s:AVX512BW, t:DATAXFER, e:E7NM, w:W|R -VPMOVM2W Vfv,mKq nil [evex m:2 p:2 l:x w:1 0x28 /r:reg] s:AVX512BW, t:DATAXFER, e:E7NM, w:W|R -VPMOVB2M rKq,Ufv nil [evex m:2 p:2 l:x w:0 0x29 /r:reg] s:AVX512BW, t:DATAXFER, e:E7NM, w:W|R -VPMOVW2M rKq,Ufv nil [evex m:2 p:2 l:x w:1 0x29 /r:reg] s:AVX512BW, t:DATAXFER, e:E7NM, w:W|R -VPBROADCASTMB2Q Vfv,mKq nil [evex m:2 p:2 l:x w:1 0x2A /r:reg] s:AVX512CD, t:BROADCAST, e:E6NF, w:W|R +VPMOVSXBW Vfv{K}{z},Whv n/a [evex m:2 p:1 l:x w:i 0x20 /r] s:AVX512BW, t:DATAXFER, l:hvm, e:E5, w:W|R|R +VPMOVSXBD Vfv{K}{z},Wqv n/a [evex m:2 p:1 l:x w:i 0x21 /r] s:AVX512F, t:DATAXFER, l:qvm, e:E5, w:W|R|R +VPMOVSXBQ Vfv{K}{z},Wev n/a [evex m:2 p:1 l:x w:i 0x22 /r] s:AVX512F, t:DATAXFER, l:ovm, e:E5, w:W|R|R +VPMOVSXWD Vfv{K}{z},Whv n/a [evex m:2 p:1 l:x w:i 0x23 /r] s:AVX512F, t:DATAXFER, l:hvm, e:E5, w:W|R|R +VPMOVSXWQ Vfv{K}{z},Wqv n/a [evex m:2 p:1 l:x w:i 0x24 /r] s:AVX512F, t:DATAXFER, l:qvm, e:E5, w:W|R|R +VPMOVSXDQ Vfv{K}{z},Whv n/a [evex m:2 p:1 l:x w:0 0x25 /r] s:AVX512F, t:DATAXFER, l:hvm, e:E5, w:W|R|R +VPTESTMB rKq{K},Hfv,Wfv n/a [evex m:2 p:1 l:x w:0 0x26 /r] s:AVX512BW, t:LOGICAL, l:fvm, e:E4nb, w:W|R|R|R +VPTESTMW rKq{K},Hfv,Wfv n/a [evex m:2 p:1 l:x w:1 0x26 /r] s:AVX512BW, t:LOGICAL, l:fvm, e:E4nb, w:W|R|R|R +VPTESTMD rKq{K},Hfv,Wfv|B32 n/a [evex m:2 p:1 l:x w:0 0x27 /r] s:AVX512F, t:LOGICAL, l:fv, e:E4, w:W|R|R|R +VPTESTMQ rKq{K},Hfv,Wfv|B64 n/a [evex m:2 p:1 l:x w:1 0x27 /r] s:AVX512F, t:LOGICAL, l:fv, e:E4, w:W|R|R|R +VPMOVSWB Whv{K}{z},Vfv n/a [evex m:2 p:2 l:x w:0 0x20 /r] s:AVX512BW, t:DATAXFER, l:hvm, e:E6, w:W|R|R +VPMOVSDB Wqv{K}{z},Vfv n/a [evex m:2 p:2 l:x w:0 0x21 /r] s:AVX512F, t:DATAXFER, l:qvm, e:E6, w:W|R|R +VPMOVSQB Wev{K}{z},Vfv n/a [evex m:2 p:2 l:x w:0 0x22 /r] s:AVX512F, t:DATAXFER, l:ovm, e:E6, w:W|R|R +VPMOVSDW Whv{K}{z},Vfv n/a [evex m:2 p:2 l:x w:0 0x23 /r] s:AVX512F, t:DATAXFER, l:hvm, e:E6, w:W|R|R +VPMOVSQW Wqv{K}{z},Vfv n/a [evex m:2 p:2 l:x w:0 0x24 /r] s:AVX512F, t:DATAXFER, l:qvm, e:E6, w:W|R|R +VPMOVSQD Whv{K}{z},Vfv n/a [evex m:2 p:2 l:x w:0 0x25 /r] s:AVX512F, t:DATAXFER, l:hvm, e:E6, w:W|R|R +VPTESTNMB rKq{K},Hfv,Wfv n/a [evex m:2 p:2 l:x w:0 0x26 /r] s:AVX512BW, t:LOGICAL, l:fvm, e:E4nb, w:W|R|R|R +VPTESTNMW rKq{K},Hfv,Wfv n/a [evex m:2 p:2 l:x w:1 0x26 /r] s:AVX512BW, t:LOGICAL, l:fvm, e:E4nb, w:W|R|R|R +VPTESTNMD rKq{K},Hfv,Wfv|B32 n/a [evex m:2 p:2 l:x w:0 0x27 /r] s:AVX512F, t:LOGICAL, l:fv, e:E4, w:W|R|R|R +VPTESTNMQ rKq{K},Hfv,Wfv|B64 n/a [evex m:2 p:2 l:x w:1 0x27 /r] s:AVX512F, t:LOGICAL, l:fv, e:E4, w:W|R|R|R +VPMULDQ Vfv{K}{z},Hfv,Wfv|B64 n/a [evex m:2 p:1 l:x w:1 0x28 /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R +VPCMPEQQ rKq{K},Hfv,Wfv|B64 n/a [evex m:2 p:1 l:x w:1 0x29 /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R +VMOVNTDQA Vfv,Mfv n/a [evex m:2 p:1 l:x w:0 0x2A /r:mem] s:AVX512F, t:DATAXFER, l:fvm, e:E1NF, w:W|R +VPACKUSDW Vfv{K}{z},Hfv,Wfv|B32 n/a [evex m:2 p:1 l:x w:0 0x2B /r] s:AVX512BW, t:AVX512, l:fv, e:E4NF, w:W|R|R|R +VSCALEFPS Vfv{K}{z},Hfv,Wfv|B32{er} n/a [evex m:2 p:1 l:x w:0 0x2C /r] s:AVX512F, t:AVX512, l:fv, e:E2, w:W|R|R|R +VSCALEFPD Vfv{K}{z},Hfv,Wfv|B64{er} n/a [evex m:2 p:1 l:x w:1 0x2C /r] s:AVX512F, t:AVX512, l:fv, e:E2, w:W|R|R|R +VSCALEFSS Vss{K}{z},Hss,Wss{er} n/a [evex m:2 p:1 l:i w:0 0x2D /r] s:AVX512F, t:AVX512, l:t1s, e:E3, w:W|R|R|R +VSCALEFSD Vsd{K}{z},Hsd,Wsd{er} n/a [evex m:2 p:1 l:i w:1 0x2D /r] s:AVX512F, t:AVX512, l:t1s, e:E3, w:W|R|R|R +VPMOVM2B Vfv,mKq n/a [evex m:2 p:2 l:x w:0 0x28 /r:reg] s:AVX512BW, t:DATAXFER, e:E7NM, w:W|R +VPMOVM2W Vfv,mKq n/a [evex m:2 p:2 l:x w:1 0x28 /r:reg] s:AVX512BW, t:DATAXFER, e:E7NM, w:W|R +VPMOVB2M rKq,Ufv n/a [evex m:2 p:2 l:x w:0 0x29 /r:reg] s:AVX512BW, t:DATAXFER, e:E7NM, w:W|R +VPMOVW2M rKq,Ufv n/a [evex m:2 p:2 l:x w:1 0x29 /r:reg] s:AVX512BW, t:DATAXFER, e:E7NM, w:W|R +VPBROADCASTMB2Q Vfv,mKq n/a [evex m:2 p:2 l:x w:1 0x2A /r:reg] s:AVX512CD, t:BROADCAST, e:E6NF, w:W|R # 0x30 - 0x3F -VPMOVZXBW Vfv{K}{z},Whv nil [evex m:2 p:1 l:x w:i 0x30 /r] s:AVX512BW, t:DATAXFER, l:hvm, e:E5, w:W|R|R -VPMOVZXBD Vfv{K}{z},Wqv nil [evex m:2 p:1 l:x w:i 0x31 /r] s:AVX512F, t:DATAXFER, l:qvm, e:E5, w:W|R|R -VPMOVZXBQ Vfv{K}{z},Wev nil [evex m:2 p:1 l:x w:i 0x32 /r] s:AVX512F, t:DATAXFER, l:ovm, e:E5, w:W|R|R -VPMOVZXWD Vfv{K}{z},Whv nil [evex m:2 p:1 l:x w:i 0x33 /r] s:AVX512F, t:DATAXFER, l:hvm, e:E5, w:W|R|R -VPMOVZXWQ Vfv{K}{z},Wqv nil [evex m:2 p:1 l:x w:i 0x34 /r] s:AVX512F, t:DATAXFER, l:qvm, e:E5, w:W|R|R -VPMOVZXDQ Vfv{K}{z},Whv nil [evex m:2 p:1 l:x w:0 0x35 /r] s:AVX512F, t:DATAXFER, l:hvm, e:E5, w:W|R|R -VPERMD Vuv{K}{z},Huv,Wuv|B32 nil [evex m:2 p:1 l:x w:0 0x36 /r] s:AVX512F, t:AVX512, a:NOL0, l:fv, e:E4NF, w:W|R|R|R -VPERMQ Vuv{K}{z},Huv,Wuv|B64 nil [evex m:2 p:1 l:x w:1 0x36 /r] s:AVX512F, t:AVX512, a:NOL0, l:fv, e:E4NF, w:W|R|R|R -VPCMPGTQ rKq{K},Hfv,Wfv|B64 nil [evex m:2 p:1 l:x w:1 0x37 /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R -VPMOVWB Whv{K}{z},Vfv nil [evex m:2 p:2 l:x w:0 0x30 /r] s:AVX512BW, t:DATAXFER, l:hvm, e:E6, w:W|R|R -VPMOVDB Wqv{K}{z},Vfv nil [evex m:2 p:2 l:x w:0 0x31 /r] s:AVX512F, t:DATAXFER, l:qvm, e:E6, w:W|R|R -VPMOVQB Wev{K}{z},Vfv nil [evex m:2 p:2 l:x w:0 0x32 /r] s:AVX512F, t:DATAXFER, l:ovm, e:E6, w:W|R|R -VPMOVDW Whv{K}{z},Vfv nil [evex m:2 p:2 l:x w:0 0x33 /r] s:AVX512F, t:DATAXFER, l:hvm, e:E6, w:W|R|R -VPMOVQW Wqv{K}{z},Vfv nil [evex m:2 p:2 l:x w:0 0x34 /r] s:AVX512F, t:DATAXFER, l:qvm, e:E6, w:W|R|R -VPMOVQD Whv{K}{z},Vfv nil [evex m:2 p:2 l:x w:0 0x35 /r] s:AVX512F, t:DATAXFER, l:hvm, e:E6, w:W|R|R -VPMINSB Vfv{K}{z},Hfv,Wfv nil [evex m:2 p:1 l:x w:i 0x38 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R -VPMINSD Vfv{K}{z},Hfv,Wfv|B32 nil [evex m:2 p:1 l:x w:0 0x39 /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R -VPMINSQ Vfv{K}{z},Hfv,Wfv|B64 nil [evex m:2 p:1 l:x w:1 0x39 /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R -VPMINUW Vfv{K}{z},Hfv,Wfv nil [evex m:2 p:1 l:x w:i 0x3A /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R -VPMINUD Vfv{K}{z},Hfv,Wfv|B32 nil [evex m:2 p:1 l:x w:0 0x3B /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R -VPMINUQ Vfv{K}{z},Hfv,Wfv|B64 nil [evex m:2 p:1 l:x w:1 0x3B /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R -VPMAXSB Vfv{K}{z},Hfv,Wfv nil [evex m:2 p:1 l:x w:i 0x3C /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R -VPMAXSD Vfv{K}{z},Hfv,Wfv|B32 nil [evex m:2 p:1 l:x w:0 0x3D /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R -VPMAXSQ Vfv{K}{z},Hfv,Wfv|B64 nil [evex m:2 p:1 l:x w:1 0x3D /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R -VPMAXUW Vfv{K}{z},Hfv,Wfv nil [evex m:2 p:1 l:x w:i 0x3E /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R -VPMAXUD Vfv{K}{z},Hfv,Wfv|B32 nil [evex m:2 p:1 l:x w:0 0x3F /r] s:AVX512F, t:AVX512, l:fv, e:E4nb, w:W|R|R|R -VPMAXUQ Vfv{K}{z},Hfv,Wfv|B64 nil [evex m:2 p:1 l:x w:1 0x3F /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R -VPMOVM2D Vfv,mKq nil [evex m:2 p:2 l:x w:0 0x38 /r:reg] s:AVX512DQ, t:DATAXFER, e:E7NM, w:W|R -VPMOVM2Q Vfv,mKq nil [evex m:2 p:2 l:x w:1 0x38 /r:reg] s:AVX512DQ, t:DATAXFER, e:E7NM, w:W|R -VPMOVD2M rKq,Ufv nil [evex m:2 p:2 l:x w:0 0x39 /r:reg] s:AVX512DQ, t:DATAXFER, e:E7NM, w:W|R -VPMOVQ2M rKq,Ufv nil [evex m:2 p:2 l:x w:1 0x39 /r:reg] s:AVX512DQ, t:DATAXFER, e:E7NM, w:W|R -VPBROADCASTMW2D Vfv,mKq nil [evex m:2 p:2 l:x w:0 0x3A /r:reg] s:AVX512CD, t:BROADCAST, e:E6NF, w:W|R +VPMOVZXBW Vfv{K}{z},Whv n/a [evex m:2 p:1 l:x w:i 0x30 /r] s:AVX512BW, t:DATAXFER, l:hvm, e:E5, w:W|R|R +VPMOVZXBD Vfv{K}{z},Wqv n/a [evex m:2 p:1 l:x w:i 0x31 /r] s:AVX512F, t:DATAXFER, l:qvm, e:E5, w:W|R|R +VPMOVZXBQ Vfv{K}{z},Wev n/a [evex m:2 p:1 l:x w:i 0x32 /r] s:AVX512F, t:DATAXFER, l:ovm, e:E5, w:W|R|R +VPMOVZXWD Vfv{K}{z},Whv n/a [evex m:2 p:1 l:x w:i 0x33 /r] s:AVX512F, t:DATAXFER, l:hvm, e:E5, w:W|R|R +VPMOVZXWQ Vfv{K}{z},Wqv n/a [evex m:2 p:1 l:x w:i 0x34 /r] s:AVX512F, t:DATAXFER, l:qvm, e:E5, w:W|R|R +VPMOVZXDQ Vfv{K}{z},Whv n/a [evex m:2 p:1 l:x w:0 0x35 /r] s:AVX512F, t:DATAXFER, l:hvm, e:E5, w:W|R|R +VPERMD Vuv{K}{z},Huv,Wuv|B32 n/a [evex m:2 p:1 l:x w:0 0x36 /r] s:AVX512F, t:AVX512, a:NOL0, l:fv, e:E4NF, w:W|R|R|R +VPERMQ Vuv{K}{z},Huv,Wuv|B64 n/a [evex m:2 p:1 l:x w:1 0x36 /r] s:AVX512F, t:AVX512, a:NOL0, l:fv, e:E4NF, w:W|R|R|R +VPCMPGTQ rKq{K},Hfv,Wfv|B64 n/a [evex m:2 p:1 l:x w:1 0x37 /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R +VPMOVWB Whv{K}{z},Vfv n/a [evex m:2 p:2 l:x w:0 0x30 /r] s:AVX512BW, t:DATAXFER, l:hvm, e:E6, w:W|R|R +VPMOVDB Wqv{K}{z},Vfv n/a [evex m:2 p:2 l:x w:0 0x31 /r] s:AVX512F, t:DATAXFER, l:qvm, e:E6, w:W|R|R +VPMOVQB Wev{K}{z},Vfv n/a [evex m:2 p:2 l:x w:0 0x32 /r] s:AVX512F, t:DATAXFER, l:ovm, e:E6, w:W|R|R +VPMOVDW Whv{K}{z},Vfv n/a [evex m:2 p:2 l:x w:0 0x33 /r] s:AVX512F, t:DATAXFER, l:hvm, e:E6, w:W|R|R +VPMOVQW Wqv{K}{z},Vfv n/a [evex m:2 p:2 l:x w:0 0x34 /r] s:AVX512F, t:DATAXFER, l:qvm, e:E6, w:W|R|R +VPMOVQD Whv{K}{z},Vfv n/a [evex m:2 p:2 l:x w:0 0x35 /r] s:AVX512F, t:DATAXFER, l:hvm, e:E6, w:W|R|R +VPMINSB Vfv{K}{z},Hfv,Wfv n/a [evex m:2 p:1 l:x w:i 0x38 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R +VPMINSD Vfv{K}{z},Hfv,Wfv|B32 n/a [evex m:2 p:1 l:x w:0 0x39 /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R +VPMINSQ Vfv{K}{z},Hfv,Wfv|B64 n/a [evex m:2 p:1 l:x w:1 0x39 /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R +VPMINUW Vfv{K}{z},Hfv,Wfv n/a [evex m:2 p:1 l:x w:i 0x3A /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R +VPMINUD Vfv{K}{z},Hfv,Wfv|B32 n/a [evex m:2 p:1 l:x w:0 0x3B /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R +VPMINUQ Vfv{K}{z},Hfv,Wfv|B64 n/a [evex m:2 p:1 l:x w:1 0x3B /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R +VPMAXSB Vfv{K}{z},Hfv,Wfv n/a [evex m:2 p:1 l:x w:i 0x3C /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R +VPMAXSD Vfv{K}{z},Hfv,Wfv|B32 n/a [evex m:2 p:1 l:x w:0 0x3D /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R +VPMAXSQ Vfv{K}{z},Hfv,Wfv|B64 n/a [evex m:2 p:1 l:x w:1 0x3D /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R +VPMAXUW Vfv{K}{z},Hfv,Wfv n/a [evex m:2 p:1 l:x w:i 0x3E /r] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R +VPMAXUD Vfv{K}{z},Hfv,Wfv|B32 n/a [evex m:2 p:1 l:x w:0 0x3F /r] s:AVX512F, t:AVX512, l:fv, e:E4nb, w:W|R|R|R +VPMAXUQ Vfv{K}{z},Hfv,Wfv|B64 n/a [evex m:2 p:1 l:x w:1 0x3F /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R +VPMOVM2D Vfv,mKq n/a [evex m:2 p:2 l:x w:0 0x38 /r:reg] s:AVX512DQ, t:DATAXFER, e:E7NM, w:W|R +VPMOVM2Q Vfv,mKq n/a [evex m:2 p:2 l:x w:1 0x38 /r:reg] s:AVX512DQ, t:DATAXFER, e:E7NM, w:W|R +VPMOVD2M rKq,Ufv n/a [evex m:2 p:2 l:x w:0 0x39 /r:reg] s:AVX512DQ, t:DATAXFER, e:E7NM, w:W|R +VPMOVQ2M rKq,Ufv n/a [evex m:2 p:2 l:x w:1 0x39 /r:reg] s:AVX512DQ, t:DATAXFER, e:E7NM, w:W|R +VPBROADCASTMW2D Vfv,mKq n/a [evex m:2 p:2 l:x w:0 0x3A /r:reg] s:AVX512CD, t:BROADCAST, e:E6NF, w:W|R # 0x40 - 0x4F -VPMULLD Vfv{K}{z},Hfv,Wfv|B32 nil [evex m:2 p:1 l:x w:0 0x40 /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R -VPMULLQ Vfv{K}{z},Hfv,Wfv|B64 nil [evex m:2 p:1 l:x w:1 0x40 /r] s:AVX512DQ, t:AVX512, l:fv, e:E4, w:W|R|R|R -VGETEXPPS Vfv{K}{z},Wfv|B32{sae} nil [evex m:2 p:1 l:x w:0 0x42 /r] s:AVX512F, t:AVX512, l:fv, e:E2, w:W|R|R -VGETEXPPD Vfv{K}{z},Wfv|B64{sae} nil [evex m:2 p:1 l:x w:1 0x42 /r] s:AVX512F, t:AVX512, l:fv, e:E2, w:W|R|R -VGETEXPSS Vdq{K}{z},Hdq,Wss{sae} nil [evex m:2 p:1 l:x w:0 0x43 /r] s:AVX512F, t:AVX512, l:t1s, e:E3, w:W|R|R|R -VGETEXPSD Vdq{K}{z},Hdq,Wsd{sae} nil [evex m:2 p:1 l:x w:1 0x43 /r] s:AVX512F, t:AVX512, l:t1s, e:E3, w:W|R|R|R -VPLZCNTD Vfv{K}{z},Wfv|B32 nil [evex m:2 p:1 l:x w:0 0x44 /r] s:AVX512CD, t:CONFLICT, l:fv, e:E4, w:W|R|R -VPLZCNTQ Vfv{K}{z},Wfv|B64 nil [evex m:2 p:1 l:x w:1 0x44 /r] s:AVX512CD, t:CONFLICT, l:fv, e:E4, w:W|R|R -VPSRLVD Vfv{K}{z},Hfv,Wfv|B32 nil [evex m:2 p:1 l:x w:0 0x45 /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R -VPSRLVQ Vfv{K}{z},Hfv,Wfv|B64 nil [evex m:2 p:1 l:x w:1 0x45 /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R -VPSRAVD Vfv{K}{z},Hfv,Wfv|B32 nil [evex m:2 p:1 l:x w:0 0x46 /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R -VPSRAVQ Vfv{K}{z},Hfv,Wfv|B64 nil [evex m:2 p:1 l:x w:1 0x46 /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R -VPSLLVD Vfv{K}{z},Hfv,Wfv|B32 nil [evex m:2 p:1 l:x w:0 0x47 /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R -VPSLLVQ Vfv{K}{z},Hfv,Wfv|B64 nil [evex m:2 p:1 l:x w:1 0x47 /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R -VRCP14PS Vfv{K}{z},Wfv|B32 nil [evex m:2 p:1 l:x w:0 0x4C /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R -VRCP14PD Vfv{K}{z},Wfv|B64 nil [evex m:2 p:1 l:x w:1 0x4C /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R -VRCP14SS Vdq{K}{z},Hdq,Wss nil [evex m:2 p:1 l:x w:0 0x4D /r] s:AVX512F, t:AVX512, l:t1s, e:E10, w:W|R|R|R -VRCP14SD Vdq{K}{z},Hdq,Wsd nil [evex m:2 p:1 l:x w:1 0x4D /r] s:AVX512F, t:AVX512, l:t1s, e:E10, w:W|R|R|R -VRSQRT14PS Vfv{K}{z},Wfv|B32 nil [evex m:2 p:1 l:x w:0 0x4E /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R -VRSQRT14PD Vfv{K}{z},Wfv|B64 nil [evex m:2 p:1 l:x w:1 0x4E /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R -VRSQRT14SS Vdq{K}{z},Hdq,Wss nil [evex m:2 p:1 l:x w:0 0x4F /r] s:AVX512F, t:AVX512, l:t1s, e:E10, w:W|R|R|R -VRSQRT14SD Vdq{K}{z},Hdq,Wsd nil [evex m:2 p:1 l:x w:1 0x4F /r] s:AVX512F, t:AVX512, l:t1s, e:E10, w:W|R|R|R +VPMULLD Vfv{K}{z},Hfv,Wfv|B32 n/a [evex m:2 p:1 l:x w:0 0x40 /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R +VPMULLQ Vfv{K}{z},Hfv,Wfv|B64 n/a [evex m:2 p:1 l:x w:1 0x40 /r] s:AVX512DQ, t:AVX512, l:fv, e:E4, w:W|R|R|R +VGETEXPPS Vfv{K}{z},Wfv|B32{sae} n/a [evex m:2 p:1 l:x w:0 0x42 /r] s:AVX512F, t:AVX512, l:fv, e:E2, w:W|R|R +VGETEXPPD Vfv{K}{z},Wfv|B64{sae} n/a [evex m:2 p:1 l:x w:1 0x42 /r] s:AVX512F, t:AVX512, l:fv, e:E2, w:W|R|R +VGETEXPSS Vdq{K}{z},Hdq,Wss{sae} n/a [evex m:2 p:1 l:x w:0 0x43 /r] s:AVX512F, t:AVX512, l:t1s, e:E3, w:W|R|R|R +VGETEXPSD Vdq{K}{z},Hdq,Wsd{sae} n/a [evex m:2 p:1 l:x w:1 0x43 /r] s:AVX512F, t:AVX512, l:t1s, e:E3, w:W|R|R|R +VPLZCNTD Vfv{K}{z},Wfv|B32 n/a [evex m:2 p:1 l:x w:0 0x44 /r] s:AVX512CD, t:CONFLICT, l:fv, e:E4, w:W|R|R +VPLZCNTQ Vfv{K}{z},Wfv|B64 n/a [evex m:2 p:1 l:x w:1 0x44 /r] s:AVX512CD, t:CONFLICT, l:fv, e:E4, w:W|R|R +VPSRLVD Vfv{K}{z},Hfv,Wfv|B32 n/a [evex m:2 p:1 l:x w:0 0x45 /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R +VPSRLVQ Vfv{K}{z},Hfv,Wfv|B64 n/a [evex m:2 p:1 l:x w:1 0x45 /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R +VPSRAVD Vfv{K}{z},Hfv,Wfv|B32 n/a [evex m:2 p:1 l:x w:0 0x46 /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R +VPSRAVQ Vfv{K}{z},Hfv,Wfv|B64 n/a [evex m:2 p:1 l:x w:1 0x46 /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R +VPSLLVD Vfv{K}{z},Hfv,Wfv|B32 n/a [evex m:2 p:1 l:x w:0 0x47 /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R +VPSLLVQ Vfv{K}{z},Hfv,Wfv|B64 n/a [evex m:2 p:1 l:x w:1 0x47 /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R +VRCP14PS Vfv{K}{z},Wfv|B32 n/a [evex m:2 p:1 l:x w:0 0x4C /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R +VRCP14PD Vfv{K}{z},Wfv|B64 n/a [evex m:2 p:1 l:x w:1 0x4C /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R +VRCP14SS Vdq{K}{z},Hdq,Wss n/a [evex m:2 p:1 l:x w:0 0x4D /r] s:AVX512F, t:AVX512, l:t1s, e:E10, w:W|R|R|R +VRCP14SD Vdq{K}{z},Hdq,Wsd n/a [evex m:2 p:1 l:x w:1 0x4D /r] s:AVX512F, t:AVX512, l:t1s, e:E10, w:W|R|R|R +VRSQRT14PS Vfv{K}{z},Wfv|B32 n/a [evex m:2 p:1 l:x w:0 0x4E /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R +VRSQRT14PD Vfv{K}{z},Wfv|B64 n/a [evex m:2 p:1 l:x w:1 0x4E /r] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R +VRSQRT14SS Vdq{K}{z},Hdq,Wss n/a [evex m:2 p:1 l:x w:0 0x4F /r] s:AVX512F, t:AVX512, l:t1s, e:E10, w:W|R|R|R +VRSQRT14SD Vdq{K}{z},Hdq,Wsd n/a [evex m:2 p:1 l:x w:1 0x4F /r] s:AVX512F, t:AVX512, l:t1s, e:E10, w:W|R|R|R # 0x50 - 0x5F -VPDPBUSD Vfv{K}{z},Hfv,Wfv|B32 nil [evex m:2 p:1 l:x w:0 0x50 /r] s:AVX512VNNI, t:VNNI, l:fv, e:E4, w:RW|R|R|R -VPDPBUSDS Vfv{K}{z},Hfv,Wfv|B32 nil [evex m:2 p:1 l:x w:0 0x51 /r] s:AVX512VNNI, t:VNNI, l:fv, e:E4, w:RW|R|R|R -VPDPWSSD Vfv{K}{z},Hfv,Wfv|B32 nil [evex m:2 p:1 l:x w:0 0x52 /r] s:AVX512VNNI, t:VNNI, l:fv, e:E4, w:RW|R|R|R -VDPBF16PS Vfv{K}{z},Hfv,Wfv|B32 nil [evex m:2 p:2 l:x w:0 0x52 /r] s:AVX512BF16, t:AVX512BF16, l:fv, e:E4, w:W|R|R|R -VP4DPWSSD Voq{K}{z},Hoq+3,Mdq nil [evex m:2 p:3 l:2 w:0 0x52 /r:mem] s:AVX5124VNNIW, t:VNNIW, l:t1_4x, e:E4, w:RW|R|R|R -VPDPWSSDS Vfv{K}{z},Hfv,Wfv|B32 nil [evex m:2 p:1 l:x w:0 0x53 /r] s:AVX512VNNI, t:VNNI, l:fv, e:E4, w:RW|R|R|R -VP4DPWSSDS Voq{K}{z},Hoq+3,Mdq nil [evex m:2 p:3 l:2 w:0 0x53 /r:mem] s:AVX5124VNNIW, t:VNNIW, l:t1_4x, e:E4, w:RW|R|R|R -VPOPCNTB Vfv{K}{z},Wfv nil [evex m:2 p:1 l:x w:0 0x54 /r] s:AVX512BITALG, t:VPOPCNT, l:fvm, e:E4, w:W|R|R -VPOPCNTW Vfv{K}{z},Wfv nil [evex m:2 p:1 l:x w:1 0x54 /r] s:AVX512BITALG, t:VPOPCNT, l:fvm, e:E4, w:W|R|R -VPOPCNTD Vfv{K}{z},Wfv|B32 nil [evex m:2 p:1 l:x w:0 0x55 /r] s:AVX512VPOPCNTDQ, t:VPOPCNT, l:fv, e:E4, w:W|R|R -VPOPCNTQ Vfv{K}{z},Wfv|B64 nil [evex m:2 p:1 l:x w:1 0x55 /r] s:AVX512VPOPCNTDQ, t:VPOPCNT, l:fv, e:E4, w:W|R|R -VPBROADCASTD Vfv{K}{z},Wd nil [evex m:2 p:1 l:x w:0 0x58 /r] s:AVX512F, t:BROADCAST, l:t1s, e:E6, w:W|R|R -VBROADCASTI32X2 Vfv{K}{z},Wq nil [evex m:2 p:1 l:x w:0 0x59 /r] s:AVX512DQ, t:BROADCAST, l:t2, e:E6, w:W|R|R -VPBROADCASTQ Vfv{K}{z},Wq nil [evex m:2 p:1 l:x w:1 0x59 /r] s:AVX512F, t:BROADCAST, l:t1s, e:E6, w:W|R|R -VBROADCASTI32X4 Vuv{K}{z},Mdq nil [evex m:2 p:1 l:x w:0 0x5A /r:mem] s:AVX512F, t:BROADCAST, a:NOL0, l:t4, e:E6, w:W|R|R -VBROADCASTI64X2 Vuv{K}{z},Mdq nil [evex m:2 p:1 l:x w:1 0x5A /r:mem] s:AVX512DQ, t:BROADCAST, a:NOL0, l:t2, e:E6, w:W|R|R -VBROADCASTI32X8 Voq{K}{z},Mqq nil [evex m:2 p:1 l:2 w:0 0x5B /r:mem] s:AVX512DQ, t:BROADCAST, l:t8, e:E6, w:W|R|R -VBROADCASTI64X4 Voq{K}{z},Mqq nil [evex m:2 p:1 l:2 w:1 0x5B /r:mem] s:AVX512F, t:BROADCAST, l:t4, e:E6, w:W|R|R +VPDPBUSD Vfv{K}{z},Hfv,Wfv|B32 n/a [evex m:2 p:1 l:x w:0 0x50 /r] s:AVX512VNNI, t:VNNI, l:fv, e:E4, w:RW|R|R|R +VPDPBUSDS Vfv{K}{z},Hfv,Wfv|B32 n/a [evex m:2 p:1 l:x w:0 0x51 /r] s:AVX512VNNI, t:VNNI, l:fv, e:E4, w:RW|R|R|R +VPDPWSSD Vfv{K}{z},Hfv,Wfv|B32 n/a [evex m:2 p:1 l:x w:0 0x52 /r] s:AVX512VNNI, t:VNNI, l:fv, e:E4, w:RW|R|R|R +VDPBF16PS Vfv{K}{z},Hfv,Wfv|B32 n/a [evex m:2 p:2 l:x w:0 0x52 /r] s:AVX512BF16, t:AVX512BF16, l:fv, e:E4, w:W|R|R|R +VP4DPWSSD Voq{K}{z},Hoq+3,Mdq n/a [evex m:2 p:3 l:2 w:0 0x52 /r:mem] s:AVX5124VNNIW, t:VNNIW, l:t1_4x, e:E4, w:RW|R|R|R +VPDPWSSDS Vfv{K}{z},Hfv,Wfv|B32 n/a [evex m:2 p:1 l:x w:0 0x53 /r] s:AVX512VNNI, t:VNNI, l:fv, e:E4, w:RW|R|R|R +VP4DPWSSDS Voq{K}{z},Hoq+3,Mdq n/a [evex m:2 p:3 l:2 w:0 0x53 /r:mem] s:AVX5124VNNIW, t:VNNIW, l:t1_4x, e:E4, w:RW|R|R|R +VPOPCNTB Vfv{K}{z},Wfv n/a [evex m:2 p:1 l:x w:0 0x54 /r] s:AVX512BITALG, t:VPOPCNT, l:fvm, e:E4, w:W|R|R +VPOPCNTW Vfv{K}{z},Wfv n/a [evex m:2 p:1 l:x w:1 0x54 /r] s:AVX512BITALG, t:VPOPCNT, l:fvm, e:E4, w:W|R|R +VPOPCNTD Vfv{K}{z},Wfv|B32 n/a [evex m:2 p:1 l:x w:0 0x55 /r] s:AVX512VPOPCNTDQ, t:VPOPCNT, l:fv, e:E4, w:W|R|R +VPOPCNTQ Vfv{K}{z},Wfv|B64 n/a [evex m:2 p:1 l:x w:1 0x55 /r] s:AVX512VPOPCNTDQ, t:VPOPCNT, l:fv, e:E4, w:W|R|R +VPBROADCASTD Vfv{K}{z},Wd n/a [evex m:2 p:1 l:x w:0 0x58 /r] s:AVX512F, t:BROADCAST, l:t1s, e:E6, w:W|R|R +VBROADCASTI32X2 Vfv{K}{z},Wq n/a [evex m:2 p:1 l:x w:0 0x59 /r] s:AVX512DQ, t:BROADCAST, l:t2, e:E6, w:W|R|R +VPBROADCASTQ Vfv{K}{z},Wq n/a [evex m:2 p:1 l:x w:1 0x59 /r] s:AVX512F, t:BROADCAST, l:t1s, e:E6, w:W|R|R +VBROADCASTI32X4 Vuv{K}{z},Mdq n/a [evex m:2 p:1 l:x w:0 0x5A /r:mem] s:AVX512F, t:BROADCAST, a:NOL0, l:t4, e:E6, w:W|R|R +VBROADCASTI64X2 Vuv{K}{z},Mdq n/a [evex m:2 p:1 l:x w:1 0x5A /r:mem] s:AVX512DQ, t:BROADCAST, a:NOL0, l:t2, e:E6, w:W|R|R +VBROADCASTI32X8 Voq{K}{z},Mqq n/a [evex m:2 p:1 l:2 w:0 0x5B /r:mem] s:AVX512DQ, t:BROADCAST, l:t8, e:E6, w:W|R|R +VBROADCASTI64X4 Voq{K}{z},Mqq n/a [evex m:2 p:1 l:2 w:1 0x5B /r:mem] s:AVX512F, t:BROADCAST, l:t4, e:E6, w:W|R|R # 0x60 - 0x6F -VPEXPANDB Vfv{K}{z},Wfv nil [evex m:2 p:1 l:x w:0 0x62 /r] s:AVX512VBMI2, t:AVX512VBMI, l:t1s8, e:E4, w:W|R|R -VPEXPANDW Vfv{K}{z},Wfv nil [evex m:2 p:1 l:x w:1 0x62 /r] s:AVX512VBMI2, t:AVX512VBMI, l:t1s16, e:E4, w:W|R|R -VPCOMPRESSB Wfv{K}{z},Vfv nil [evex m:2 p:1 l:x w:0 0x63 /r] s:AVX512VBMI2, t:AVX512VBMI, l:t1s8, a:NOMZ, e:E4, w:W|R|R -VPCOMPRESSW Wfv{K}{z},Vfv nil [evex m:2 p:1 l:x w:1 0x63 /r] s:AVX512VBMI2, t:AVX512VBMI, l:t1s16, a:NOMZ, e:E4, w:W|R|R -VPBLENDMD Vfv{K}{z},Hfv,Wfv|B32 nil [evex m:2 p:1 l:x w:0 0x64 /r] s:AVX512F, t:BLEND, l:fv, e:E4, w:W|R|R|R -VPBLENDMQ Vfv{K}{z},Hfv,Wfv|B64 nil [evex m:2 p:1 l:x w:1 0x64 /r] s:AVX512F, t:BLEND, l:fv, e:E4, w:W|R|R|R -VBLENDMPS Vfv{K}{z},Hfv,Wfv|B32 nil [evex m:2 p:1 l:x w:0 0x65 /r] s:AVX512F, t:BLEND, l:fv, e:E4, w:W|R|R|R -VBLENDMPD Vfv{K}{z},Hfv,Wfv|B64 nil [evex m:2 p:1 l:x w:1 0x65 /r] s:AVX512F, t:BLEND, l:fv, e:E4, w:W|R|R|R -VPBLENDMB Vfv{K}{z},Hfv,Wfv nil [evex m:2 p:1 l:x w:0 0x66 /r] s:AVX512BW, t:BLEND, l:fvm, e:E4, w:W|R|R|R -VPBLENDMW Vfv{K}{z},Hfv,Wfv nil [evex m:2 p:1 l:x w:1 0x66 /r] s:AVX512BW, t:BLEND, l:fvm, e:E4, w:W|R|R|R +VPEXPANDB Vfv{K}{z},Wfv n/a [evex m:2 p:1 l:x w:0 0x62 /r] s:AVX512VBMI2, t:AVX512VBMI, l:t1s8, e:E4, w:W|R|R +VPEXPANDW Vfv{K}{z},Wfv n/a [evex m:2 p:1 l:x w:1 0x62 /r] s:AVX512VBMI2, t:AVX512VBMI, l:t1s16, e:E4, w:W|R|R +VPCOMPRESSB Wfv{K}{z},Vfv n/a [evex m:2 p:1 l:x w:0 0x63 /r] s:AVX512VBMI2, t:AVX512VBMI, l:t1s8, a:NOMZ, e:E4, w:W|R|R +VPCOMPRESSW Wfv{K}{z},Vfv n/a [evex m:2 p:1 l:x w:1 0x63 /r] s:AVX512VBMI2, t:AVX512VBMI, l:t1s16, a:NOMZ, e:E4, w:W|R|R +VPBLENDMD Vfv{K}{z},Hfv,Wfv|B32 n/a [evex m:2 p:1 l:x w:0 0x64 /r] s:AVX512F, t:BLEND, l:fv, e:E4, w:W|R|R|R +VPBLENDMQ Vfv{K}{z},Hfv,Wfv|B64 n/a [evex m:2 p:1 l:x w:1 0x64 /r] s:AVX512F, t:BLEND, l:fv, e:E4, w:W|R|R|R +VBLENDMPS Vfv{K}{z},Hfv,Wfv|B32 n/a [evex m:2 p:1 l:x w:0 0x65 /r] s:AVX512F, t:BLEND, l:fv, e:E4, w:W|R|R|R +VBLENDMPD Vfv{K}{z},Hfv,Wfv|B64 n/a [evex m:2 p:1 l:x w:1 0x65 /r] s:AVX512F, t:BLEND, l:fv, e:E4, w:W|R|R|R +VPBLENDMB Vfv{K}{z},Hfv,Wfv n/a [evex m:2 p:1 l:x w:0 0x66 /r] s:AVX512BW, t:BLEND, l:fvm, e:E4, w:W|R|R|R +VPBLENDMW Vfv{K}{z},Hfv,Wfv n/a [evex m:2 p:1 l:x w:1 0x66 /r] s:AVX512BW, t:BLEND, l:fvm, e:E4, w:W|R|R|R -VP2INTERSECTD rKq+1,Hfv,Wfv|B32 nil [evex m:2 p:3 l:x w:0 0x68 /r] s:AVX512VP2INTERSECT, t:AVX512VP2INTERSECT, l:fv, e:E4NF, w:W|R|R -VP2INTERSECTQ rKq+1,Hfv,Wfv|B64 nil [evex m:2 p:3 l:x w:1 0x68 /r] s:AVX512VP2INTERSECT, t:AVX512VP2INTERSECT, l:fv, e:E4NF, w:W|R|R +VP2INTERSECTD rKq+1,Hfv,Wfv|B32 n/a [evex m:2 p:3 l:x w:0 0x68 /r] s:AVX512VP2INTERSECT, t:AVX512VP2INTERSECT, l:fv, e:E4NF, w:W|R|R +VP2INTERSECTQ rKq+1,Hfv,Wfv|B64 n/a [evex m:2 p:3 l:x w:1 0x68 /r] s:AVX512VP2INTERSECT, t:AVX512VP2INTERSECT, l:fv, e:E4NF, w:W|R|R # 0x70 - 0x7F -VPSHLDVW Vfv{K}{z},Hfv,Wfv nil [evex m:2 p:1 l:x w:1 0x70 /r] s:AVX512VBMI2, t:AVX512VBMI, l:fvm, e:E4, w:RW|R|R|R -VPSHLDVD Vfv{K}{z},Hfv,Wfv|B32 nil [evex m:2 p:1 l:x w:0 0x71 /r] s:AVX512VBMI2, t:AVX512VBMI, l:fv, e:E4, w:RW|R|R|R -VPSHLDVQ Vfv{K}{z},Hfv,Wfv|B64 nil [evex m:2 p:1 l:x w:1 0x71 /r] s:AVX512VBMI2, t:AVX512VBMI, l:fv, e:E4, w:RW|R|R|R -VPSHRDVW Vfv{K}{z},Hfv,Wfv nil [evex m:2 p:1 l:x w:1 0x72 /r] s:AVX512VBMI2, t:AVX512VBMI, l:fvm, e:E4, w:RW|R|R|R -VCVTNEPS2BF16 Vhv{K}{z},Wfv|B32 nil [evex m:2 p:2 l:x w:0 0x72 /r] s:AVX512BF16, t:AVX512BF16, l:fv, e:E4, w:W|R|R -VCVTNE2PS2BF16 Vfv{K}{z},Hfv,Wfv|B32 nil [evex m:2 p:3 l:x w:0 0x72 /r] s:AVX512BF16, t:AVX512BF16, l:fv, e:E4NF, w:W|R|R|R -VPSHRDVD Vfv{K}{z},Hfv,Wfv|B32 nil [evex m:2 p:1 l:x w:0 0x73 /r] s:AVX512VBMI2, t:AVX512VBMI, l:fv, e:E4, w:RW|R|R|R -VPSHRDVQ Vfv{K}{z},Hfv,Wfv|B64 nil [evex m:2 p:1 l:x w:1 0x73 /r] s:AVX512VBMI2, t:AVX512VBMI, l:fv, e:E4, w:RW|R|R|R +VPSHLDVW Vfv{K}{z},Hfv,Wfv n/a [evex m:2 p:1 l:x w:1 0x70 /r] s:AVX512VBMI2, t:AVX512VBMI, l:fvm, e:E4, w:RW|R|R|R +VPSHLDVD Vfv{K}{z},Hfv,Wfv|B32 n/a [evex m:2 p:1 l:x w:0 0x71 /r] s:AVX512VBMI2, t:AVX512VBMI, l:fv, e:E4, w:RW|R|R|R +VPSHLDVQ Vfv{K}{z},Hfv,Wfv|B64 n/a [evex m:2 p:1 l:x w:1 0x71 /r] s:AVX512VBMI2, t:AVX512VBMI, l:fv, e:E4, w:RW|R|R|R +VPSHRDVW Vfv{K}{z},Hfv,Wfv n/a [evex m:2 p:1 l:x w:1 0x72 /r] s:AVX512VBMI2, t:AVX512VBMI, l:fvm, e:E4, w:RW|R|R|R +VCVTNEPS2BF16 Vhv{K}{z},Wfv|B32 n/a [evex m:2 p:2 l:x w:0 0x72 /r] s:AVX512BF16, t:AVX512BF16, l:fv, e:E4, w:W|R|R +VCVTNE2PS2BF16 Vfv{K}{z},Hfv,Wfv|B32 n/a [evex m:2 p:3 l:x w:0 0x72 /r] s:AVX512BF16, t:AVX512BF16, l:fv, e:E4NF, w:W|R|R|R +VPSHRDVD Vfv{K}{z},Hfv,Wfv|B32 n/a [evex m:2 p:1 l:x w:0 0x73 /r] s:AVX512VBMI2, t:AVX512VBMI, l:fv, e:E4, w:RW|R|R|R +VPSHRDVQ Vfv{K}{z},Hfv,Wfv|B64 n/a [evex m:2 p:1 l:x w:1 0x73 /r] s:AVX512VBMI2, t:AVX512VBMI, l:fv, e:E4, w:RW|R|R|R -VPERMI2B Vfv{K}{z},Hfv,Wfv nil [evex m:2 p:1 l:x w:0 0x75 /r] s:AVX512VBMI, t:AVX512VBMI, l:fvm, e:E4NFnb, w:RW|R|R|R -VPERMI2W Vfv{K}{z},Hfv,Wfv nil [evex m:2 p:1 l:x w:1 0x75 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4NFnb, w:RW|R|R|R -VPERMI2D Vfv{K}{z},Hfv,Wfv|B32 nil [evex m:2 p:1 l:x w:0 0x76 /r] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:RW|R|R|R -VPERMI2Q Vfv{K}{z},Hfv,Wfv|B64 nil [evex m:2 p:1 l:x w:1 0x76 /r] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:RW|R|R|R -VPERMI2PS Vfv{K}{z},Hfv,Wfv|B32 nil [evex m:2 p:1 l:x w:0 0x77 /r] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:RW|R|R|R -VPERMI2PD Vfv{K}{z},Hfv,Wfv|B64 nil [evex m:2 p:1 l:x w:1 0x77 /r] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:RW|R|R|R -VPBROADCASTB Vfv{K}{z},Wb nil [evex m:2 p:1 l:x w:0 0x78 /r] s:AVX512BW, t:BROADCAST, l:t1s8, e:E6, w:W|R|R -VPBROADCASTW Vfv{K}{z},Ww nil [evex m:2 p:1 l:x w:0 0x79 /r] s:AVX512BW, t:BROADCAST, l:t1s16, e:E6, w:W|R|R -VPBROADCASTB Vfv{K}{z},Rb nil [evex m:2 p:1 l:x w:0 0x7A /r:reg] s:AVX512BW, t:BROADCAST, l:t1s8, e:E7NM, w:W|R|R -VPBROADCASTW Vfv{K}{z},Rw nil [evex m:2 p:1 l:x w:0 0x7B /r:reg] s:AVX512BW, t:BROADCAST, l:t1s16, e:E7NM, w:W|R|R -VPBROADCASTD Vfv{K}{z},Rd nil [evex m:2 p:1 l:x w:0 0x7C /r:reg] s:AVX512F, t:BROADCAST, l:t1s, e:E7NM, w:W|R|R, a:IWO64 -VPBROADCASTQ Vfv{K}{z},Rq nil [evex m:2 p:1 l:x w:1 0x7C /r:reg] s:AVX512F, t:BROADCAST, l:t1s, e:E7NM, w:W|R|R, a:IWO64 -VPERMT2B Vfv{K}{z},Hfv,Wfv nil [evex m:2 p:1 l:x w:0 0x7D /r] s:AVX512VBMI, t:AVX512VBMI, l:fvm, e:E4NFnb, w:RW|R|R|R -VPERMT2W Vfv{K}{z},Hfv,Wfv nil [evex m:2 p:1 l:x w:1 0x7D /r] s:AVX512BW, t:AVX512, l:fvm, e:E4NFnb, w:RW|R|R|R -VPERMT2D Vfv{K}{z},Hfv,Wfv|B32 nil [evex m:2 p:1 l:x w:0 0x7E /r] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:RW|R|R|R -VPERMT2Q Vfv{K}{z},Hfv,Wfv|B64 nil [evex m:2 p:1 l:x w:1 0x7E /r] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:RW|R|R|R -VPERMT2PS Vfv{K}{z},Hfv,Wfv|B32 nil [evex m:2 p:1 l:x w:0 0x7F /r] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:RW|R|R|R -VPERMT2PD Vfv{K}{z},Hfv,Wfv|B64 nil [evex m:2 p:1 l:x w:1 0x7F /r] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:RW|R|R|R +VPERMI2B Vfv{K}{z},Hfv,Wfv n/a [evex m:2 p:1 l:x w:0 0x75 /r] s:AVX512VBMI, t:AVX512VBMI, l:fvm, e:E4NFnb, w:RW|R|R|R +VPERMI2W Vfv{K}{z},Hfv,Wfv n/a [evex m:2 p:1 l:x w:1 0x75 /r] s:AVX512BW, t:AVX512, l:fvm, e:E4NFnb, w:RW|R|R|R +VPERMI2D Vfv{K}{z},Hfv,Wfv|B32 n/a [evex m:2 p:1 l:x w:0 0x76 /r] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:RW|R|R|R +VPERMI2Q Vfv{K}{z},Hfv,Wfv|B64 n/a [evex m:2 p:1 l:x w:1 0x76 /r] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:RW|R|R|R +VPERMI2PS Vfv{K}{z},Hfv,Wfv|B32 n/a [evex m:2 p:1 l:x w:0 0x77 /r] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:RW|R|R|R +VPERMI2PD Vfv{K}{z},Hfv,Wfv|B64 n/a [evex m:2 p:1 l:x w:1 0x77 /r] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:RW|R|R|R +VPBROADCASTB Vfv{K}{z},Wb n/a [evex m:2 p:1 l:x w:0 0x78 /r] s:AVX512BW, t:BROADCAST, l:t1s8, e:E6, w:W|R|R +VPBROADCASTW Vfv{K}{z},Ww n/a [evex m:2 p:1 l:x w:0 0x79 /r] s:AVX512BW, t:BROADCAST, l:t1s16, e:E6, w:W|R|R +VPBROADCASTB Vfv{K}{z},Rb n/a [evex m:2 p:1 l:x w:0 0x7A /r:reg] s:AVX512BW, t:BROADCAST, l:t1s8, e:E7NM, w:W|R|R +VPBROADCASTW Vfv{K}{z},Rw n/a [evex m:2 p:1 l:x w:0 0x7B /r:reg] s:AVX512BW, t:BROADCAST, l:t1s16, e:E7NM, w:W|R|R +VPBROADCASTD Vfv{K}{z},Rd n/a [evex m:2 p:1 l:x w:0 0x7C /r:reg] s:AVX512F, t:BROADCAST, l:t1s, e:E7NM, w:W|R|R, a:IWO64 +VPBROADCASTQ Vfv{K}{z},Rq n/a [evex m:2 p:1 l:x w:1 0x7C /r:reg] s:AVX512F, t:BROADCAST, l:t1s, e:E7NM, w:W|R|R, a:IWO64 +VPERMT2B Vfv{K}{z},Hfv,Wfv n/a [evex m:2 p:1 l:x w:0 0x7D /r] s:AVX512VBMI, t:AVX512VBMI, l:fvm, e:E4NFnb, w:RW|R|R|R +VPERMT2W Vfv{K}{z},Hfv,Wfv n/a [evex m:2 p:1 l:x w:1 0x7D /r] s:AVX512BW, t:AVX512, l:fvm, e:E4NFnb, w:RW|R|R|R +VPERMT2D Vfv{K}{z},Hfv,Wfv|B32 n/a [evex m:2 p:1 l:x w:0 0x7E /r] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:RW|R|R|R +VPERMT2Q Vfv{K}{z},Hfv,Wfv|B64 n/a [evex m:2 p:1 l:x w:1 0x7E /r] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:RW|R|R|R +VPERMT2PS Vfv{K}{z},Hfv,Wfv|B32 n/a [evex m:2 p:1 l:x w:0 0x7F /r] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:RW|R|R|R +VPERMT2PD Vfv{K}{z},Hfv,Wfv|B64 n/a [evex m:2 p:1 l:x w:1 0x7F /r] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:RW|R|R|R # 0x80 - 0x8F -VPMULTISHIFTQB Vfv{K}{z},Hfv,Wfv|B64 nil [evex m:2 p:1 l:x w:1 0x83 /r] s:AVX512VBMI, t:AVX512VBMI, l:fv, e:E4NF, w:W|R|R|R -VEXPANDPS Vfv{K}{z},Wfv nil [evex m:2 p:1 l:x w:0 0x88 /r] s:AVX512F, t:EXPAND, l:t1s, e:E4nb, w:W|R|R -VEXPANDPD Vfv{K}{z},Wfv nil [evex m:2 p:1 l:x w:1 0x88 /r] s:AVX512F, t:EXPAND, l:t1s, e:E4nb, w:W|R|R -VPEXPANDD Vfv{K}{z},Wfv nil [evex m:2 p:1 l:x w:0 0x89 /r] s:AVX512F, t:EXPAND, l:t1s, e:E4nb, w:W|R|R -VPEXPANDQ Vfv{K}{z},Wfv nil [evex m:2 p:1 l:x w:1 0x89 /r] s:AVX512F, t:EXPAND, l:t1s, e:E4nb, w:W|R|R -VCOMPRESSPS Wfv{K}{z},Vfv nil [evex m:2 p:1 l:x w:0 0x8A /r] s:AVX512F, t:COMPRESS, a:NOMZ, l:t1s, e:E4nb, w:W|R|R -VCOMPRESSPD Wfv{K}{z},Vfv nil [evex m:2 p:1 l:x w:1 0x8A /r] s:AVX512F, t:COMPRESS, a:NOMZ, l:t1s, e:E4nb, w:W|R|R -VPCOMPRESSD Wfv{K}{z},Vfv nil [evex m:2 p:1 l:x w:0 0x8B /r] s:AVX512F, t:COMPRESS, a:NOMZ, l:t1s, e:E4nb, w:W|R|R -VPCOMPRESSQ Wfv{K}{z},Vfv nil [evex m:2 p:1 l:x w:1 0x8B /r] s:AVX512F, t:COMPRESS, a:NOMZ, l:t1s, e:E4nb, w:W|R|R -VPERMB Vfv{K}{z},Hfv,Wfv nil [evex m:2 p:1 l:x w:0 0x8D /r] s:AVX512VBMI, t:AVX512VBMI, a:NOMZ, l:fvm, e:E4NFnb, w:W|R|R|R -VPERMW Vfv{K}{z},Hfv,Wfv nil [evex m:2 p:1 l:x w:1 0x8D /r] s:AVX512BW, t:AVX512, l:fv, a:NOMZ, l:fvm, e:E4NFnb, w:W|R|R|R -VPSHUFBITQMB rK{K},Hfv,Wfv nil [evex m:2 p:1 l:x w:0 0x8F /r] s:AVX512BITALG, t:AVX512VBMI, l:fvm, w:W|R|R|R +VPMULTISHIFTQB Vfv{K}{z},Hfv,Wfv|B64 n/a [evex m:2 p:1 l:x w:1 0x83 /r] s:AVX512VBMI, t:AVX512VBMI, l:fv, e:E4NF, w:W|R|R|R +VEXPANDPS Vfv{K}{z},Wfv n/a [evex m:2 p:1 l:x w:0 0x88 /r] s:AVX512F, t:EXPAND, l:t1s, e:E4nb, w:W|R|R +VEXPANDPD Vfv{K}{z},Wfv n/a [evex m:2 p:1 l:x w:1 0x88 /r] s:AVX512F, t:EXPAND, l:t1s, e:E4nb, w:W|R|R +VPEXPANDD Vfv{K}{z},Wfv n/a [evex m:2 p:1 l:x w:0 0x89 /r] s:AVX512F, t:EXPAND, l:t1s, e:E4nb, w:W|R|R +VPEXPANDQ Vfv{K}{z},Wfv n/a [evex m:2 p:1 l:x w:1 0x89 /r] s:AVX512F, t:EXPAND, l:t1s, e:E4nb, w:W|R|R +VCOMPRESSPS Wfv{K}{z},Vfv n/a [evex m:2 p:1 l:x w:0 0x8A /r] s:AVX512F, t:COMPRESS, a:NOMZ, l:t1s, e:E4nb, w:W|R|R +VCOMPRESSPD Wfv{K}{z},Vfv n/a [evex m:2 p:1 l:x w:1 0x8A /r] s:AVX512F, t:COMPRESS, a:NOMZ, l:t1s, e:E4nb, w:W|R|R +VPCOMPRESSD Wfv{K}{z},Vfv n/a [evex m:2 p:1 l:x w:0 0x8B /r] s:AVX512F, t:COMPRESS, a:NOMZ, l:t1s, e:E4nb, w:W|R|R +VPCOMPRESSQ Wfv{K}{z},Vfv n/a [evex m:2 p:1 l:x w:1 0x8B /r] s:AVX512F, t:COMPRESS, a:NOMZ, l:t1s, e:E4nb, w:W|R|R +VPERMB Vfv{K}{z},Hfv,Wfv n/a [evex m:2 p:1 l:x w:0 0x8D /r] s:AVX512VBMI, t:AVX512VBMI, a:NOMZ, l:fvm, e:E4NFnb, w:W|R|R|R +VPERMW Vfv{K}{z},Hfv,Wfv n/a [evex m:2 p:1 l:x w:1 0x8D /r] s:AVX512BW, t:AVX512, l:fv, a:NOMZ, l:fvm, e:E4NFnb, w:W|R|R|R +VPSHUFBITQMB rK{K},Hfv,Wfv n/a [evex m:2 p:1 l:x w:0 0x8F /r] s:AVX512BITALG, t:AVX512VBMI, l:fvm, w:W|R|R|R # 0x90 - 0x9F -VPGATHERDD Vfv{K},Mvm32n nil [evex m:2 p:1 l:x w:0 0x90 /r:mem vsib] s:AVX512F, t:GATHER, a:MMASK, l:t1s, e:E12, w:W|R|RW -VPGATHERDQ Vfv{K},Mvm32h nil [evex m:2 p:1 l:x w:1 0x90 /r:mem vsib] s:AVX512F, t:GATHER, a:MMASK, l:t1s, e:E12, w:W|R|RW -VPGATHERQD Vhv{K},Mvm64n nil [evex m:2 p:1 l:x w:0 0x91 /r:mem vsib] s:AVX512F, t:GATHER, a:MMASK, l:t1s, e:E12, w:W|R|RW -VPGATHERQQ Vfv{K},Mvm64n nil [evex m:2 p:1 l:x w:1 0x91 /r:mem vsib] s:AVX512F, t:GATHER, a:MMASK, l:t1s, e:E12, w:W|R|RW -VGATHERDPS Vfv{K},Mvm32n nil [evex m:2 p:1 l:x w:0 0x92 /r:mem vsib] s:AVX512F, t:GATHER, a:MMASK, l:t1s, e:E12, w:W|R|RW -VGATHERDPD Vfv{K},Mvm32h nil [evex m:2 p:1 l:x w:1 0x92 /r:mem vsib] s:AVX512F, t:GATHER, a:MMASK, l:t1s, e:E12, w:W|R|RW -VGATHERQPS Vhv{K},Mvm64n nil [evex m:2 p:1 l:x w:0 0x93 /r:mem vsib] s:AVX512F, t:GATHER, a:MMASK, l:t1s, e:E12, w:W|R|RW -VGATHERQPD Vfv{K},Mvm64n nil [evex m:2 p:1 l:x w:1 0x93 /r:mem vsib] s:AVX512F, t:GATHER, a:MMASK, l:t1s, e:E12, w:W|R|RW +VPGATHERDD Vfv{K},Mvm32n n/a [evex m:2 p:1 l:x w:0 0x90 /r:mem vsib] s:AVX512F, t:GATHER, a:MMASK, l:t1s, e:E12, w:W|R|RW +VPGATHERDQ Vfv{K},Mvm32h n/a [evex m:2 p:1 l:x w:1 0x90 /r:mem vsib] s:AVX512F, t:GATHER, a:MMASK, l:t1s, e:E12, w:W|R|RW +VPGATHERQD Vhv{K},Mvm64n n/a [evex m:2 p:1 l:x w:0 0x91 /r:mem vsib] s:AVX512F, t:GATHER, a:MMASK, l:t1s, e:E12, w:W|R|RW +VPGATHERQQ Vfv{K},Mvm64n n/a [evex m:2 p:1 l:x w:1 0x91 /r:mem vsib] s:AVX512F, t:GATHER, a:MMASK, l:t1s, e:E12, w:W|R|RW +VGATHERDPS Vfv{K},Mvm32n n/a [evex m:2 p:1 l:x w:0 0x92 /r:mem vsib] s:AVX512F, t:GATHER, a:MMASK, l:t1s, e:E12, w:W|R|RW +VGATHERDPD Vfv{K},Mvm32h n/a [evex m:2 p:1 l:x w:1 0x92 /r:mem vsib] s:AVX512F, t:GATHER, a:MMASK, l:t1s, e:E12, w:W|R|RW +VGATHERQPS Vhv{K},Mvm64n n/a [evex m:2 p:1 l:x w:0 0x93 /r:mem vsib] s:AVX512F, t:GATHER, a:MMASK, l:t1s, e:E12, w:W|R|RW +VGATHERQPD Vfv{K},Mvm64n n/a [evex m:2 p:1 l:x w:1 0x93 /r:mem vsib] s:AVX512F, t:GATHER, a:MMASK, l:t1s, e:E12, w:W|R|RW -VFMADDSUB132PS Vfv{K}{z},Hfv,Wfv|B32{er} nil [evex m:2 p:1 l:x w:0 0x96 /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R -VFMADDSUB132PD Vfv{K}{z},Hfv,Wfv|B64{er} nil [evex m:2 p:1 l:x w:1 0x96 /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R -VFMSUBADD132PS Vfv{K}{z},Hfv,Wfv|B32{er} nil [evex m:2 p:1 l:x w:0 0x97 /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R -VFMSUBADD132PD Vfv{K}{z},Hfv,Wfv|B64{er} nil [evex m:2 p:1 l:x w:1 0x97 /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R -VFMADD132PS Vfv{K}{z},Hfv,Wfv|B32{er} nil [evex m:2 p:1 l:x w:0 0x98 /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R -VFMADD132PD Vfv{K}{z},Hfv,Wfv|B64{er} nil [evex m:2 p:1 l:x w:1 0x98 /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R -VFMADD132SS Vdq{K}{z},Hdq,Wss{er} nil [evex m:2 p:1 l:i w:0 0x99 /r] s:AVX512F, t:VFMA, l:t1s, e:E3, w:RW|R|R|R -VFMADD132SD Vdq{K}{z},Hdq,Wsd{er} nil [evex m:2 p:1 l:i w:1 0x99 /r] s:AVX512F, t:VFMA, l:t1s, e:E2, w:RW|R|R|R -VFMSUB132PS Vfv{K}{z},Hfv,Wfv|B32{er} nil [evex m:2 p:1 l:x w:0 0x9A /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R -VFMSUB132PD Vfv{K}{z},Hfv,Wfv|B64{er} nil [evex m:2 p:1 l:x w:1 0x9A /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R -V4FMADDPS Voq{K}{z},Hoq+3,Mdq nil [evex m:2 p:3 l:2 w:0 0x9A /r:mem] s:AVX5124FMAPS, t:VFMAPS, l:t1_4x, e:E2, w:RW|R|R|R -VFMSUB132SS Vdq{K}{z},Hdq,Wss{er} nil [evex m:2 p:1 l:i w:0 0x9B /r] s:AVX512F, t:VFMA, l:t1s, e:E3, w:RW|R|R|R -VFMSUB132SD Vdq{K}{z},Hdq,Wsd{er} nil [evex m:2 p:1 l:i w:1 0x9B /r] s:AVX512F, t:VFMA, l:t1s, e:E3, w:RW|R|R|R -V4FMADDSS Vdq{K}{z},Hdq+3,Mdq nil [evex m:2 p:3 l:i w:0 0x9B /r:mem] s:AVX5124FMAPS, t:VFMAPS, e:E3, l:t1_4x, w:RW|R|R|R -VFNMADD132PS Vfv{K}{z},Hfv,Wfv|B32{er} nil [evex m:2 p:1 l:x w:0 0x9C /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R -VFNMADD132PD Vfv{K}{z},Hfv,Wfv|B64{er} nil [evex m:2 p:1 l:x w:1 0x9C /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R -VFNMADD132SS Vdq{K}{z},Hdq,Wss{er} nil [evex m:2 p:1 l:i w:0 0x9D /r] s:AVX512F, t:VFMA, l:t1s, e:E3, w:RW|R|R|R -VFNMADD132SD Vdq{K}{z},Hdq,Wsd{er} nil [evex m:2 p:1 l:i w:1 0x9D /r] s:AVX512F, t:VFMA, l:t1s, e:E3, w:RW|R|R|R -VFNMSUB132PS Vfv{K}{z},Hfv,Wfv|B32{er} nil [evex m:2 p:1 l:x w:0 0x9E /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R -VFNMSUB132PD Vfv{K}{z},Hfv,Wfv|B64{er} nil [evex m:2 p:1 l:x w:1 0x9E /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R -VFNMSUB132SS Vdq{K}{z},Hdq,Wss{er} nil [evex m:2 p:1 l:i w:0 0x9F /r] s:AVX512F, t:VFMA, l:t1s, e:E3, w:RW|R|R|R -VFNMSUB132SD Vdq{K}{z},Hdq,Wsd{er} nil [evex m:2 p:1 l:i w:1 0x9F /r] s:AVX512F, t:VFMA, l:t1s, e:E3, w:RW|R|R|R +VFMADDSUB132PS Vfv{K}{z},Hfv,Wfv|B32{er} n/a [evex m:2 p:1 l:x w:0 0x96 /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R +VFMADDSUB132PD Vfv{K}{z},Hfv,Wfv|B64{er} n/a [evex m:2 p:1 l:x w:1 0x96 /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R +VFMSUBADD132PS Vfv{K}{z},Hfv,Wfv|B32{er} n/a [evex m:2 p:1 l:x w:0 0x97 /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R +VFMSUBADD132PD Vfv{K}{z},Hfv,Wfv|B64{er} n/a [evex m:2 p:1 l:x w:1 0x97 /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R +VFMADD132PS Vfv{K}{z},Hfv,Wfv|B32{er} n/a [evex m:2 p:1 l:x w:0 0x98 /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R +VFMADD132PD Vfv{K}{z},Hfv,Wfv|B64{er} n/a [evex m:2 p:1 l:x w:1 0x98 /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R +VFMADD132SS Vdq{K}{z},Hdq,Wss{er} n/a [evex m:2 p:1 l:i w:0 0x99 /r] s:AVX512F, t:VFMA, l:t1s, e:E3, w:RW|R|R|R +VFMADD132SD Vdq{K}{z},Hdq,Wsd{er} n/a [evex m:2 p:1 l:i w:1 0x99 /r] s:AVX512F, t:VFMA, l:t1s, e:E2, w:RW|R|R|R +VFMSUB132PS Vfv{K}{z},Hfv,Wfv|B32{er} n/a [evex m:2 p:1 l:x w:0 0x9A /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R +VFMSUB132PD Vfv{K}{z},Hfv,Wfv|B64{er} n/a [evex m:2 p:1 l:x w:1 0x9A /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R +V4FMADDPS Voq{K}{z},Hoq+3,Mdq n/a [evex m:2 p:3 l:2 w:0 0x9A /r:mem] s:AVX5124FMAPS, t:VFMAPS, l:t1_4x, e:E2, w:RW|R|R|R +VFMSUB132SS Vdq{K}{z},Hdq,Wss{er} n/a [evex m:2 p:1 l:i w:0 0x9B /r] s:AVX512F, t:VFMA, l:t1s, e:E3, w:RW|R|R|R +VFMSUB132SD Vdq{K}{z},Hdq,Wsd{er} n/a [evex m:2 p:1 l:i w:1 0x9B /r] s:AVX512F, t:VFMA, l:t1s, e:E3, w:RW|R|R|R +V4FMADDSS Vdq{K}{z},Hdq+3,Mdq n/a [evex m:2 p:3 l:i w:0 0x9B /r:mem] s:AVX5124FMAPS, t:VFMAPS, e:E3, l:t1_4x, w:RW|R|R|R +VFNMADD132PS Vfv{K}{z},Hfv,Wfv|B32{er} n/a [evex m:2 p:1 l:x w:0 0x9C /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R +VFNMADD132PD Vfv{K}{z},Hfv,Wfv|B64{er} n/a [evex m:2 p:1 l:x w:1 0x9C /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R +VFNMADD132SS Vdq{K}{z},Hdq,Wss{er} n/a [evex m:2 p:1 l:i w:0 0x9D /r] s:AVX512F, t:VFMA, l:t1s, e:E3, w:RW|R|R|R +VFNMADD132SD Vdq{K}{z},Hdq,Wsd{er} n/a [evex m:2 p:1 l:i w:1 0x9D /r] s:AVX512F, t:VFMA, l:t1s, e:E3, w:RW|R|R|R +VFNMSUB132PS Vfv{K}{z},Hfv,Wfv|B32{er} n/a [evex m:2 p:1 l:x w:0 0x9E /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R +VFNMSUB132PD Vfv{K}{z},Hfv,Wfv|B64{er} n/a [evex m:2 p:1 l:x w:1 0x9E /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R +VFNMSUB132SS Vdq{K}{z},Hdq,Wss{er} n/a [evex m:2 p:1 l:i w:0 0x9F /r] s:AVX512F, t:VFMA, l:t1s, e:E3, w:RW|R|R|R +VFNMSUB132SD Vdq{K}{z},Hdq,Wsd{er} n/a [evex m:2 p:1 l:i w:1 0x9F /r] s:AVX512F, t:VFMA, l:t1s, e:E3, w:RW|R|R|R # 0xA0 - 0xAF -VPSCATTERDD Mvm32n{K},Vfv nil [evex m:2 p:1 l:x w:0 0xA0 /r:mem vsib] s:AVX512F, t:SCATTER, a:MMASK, l:t1s, e:E12, w:W|R|RW -VPSCATTERDQ Mvm32h{K},Vfv nil [evex m:2 p:1 l:x w:1 0xA0 /r:mem vsib] s:AVX512F, t:SCATTER, a:MMASK, l:t1s, e:E12, w:W|R|RW -VPSCATTERQD Mvm64n{K},Vhv nil [evex m:2 p:1 l:x w:0 0xA1 /r:mem vsib] s:AVX512F, t:SCATTER, a:MMASK, l:t1s, e:E12, w:W|R|RW -VPSCATTERQQ Mvm64n{K},Vfv nil [evex m:2 p:1 l:x w:1 0xA1 /r:mem vsib] s:AVX512F, t:SCATTER, a:MMASK, l:t1s, e:E12, w:W|R|RW -VSCATTERDPS Mvm32n{K},Vfv nil [evex m:2 p:1 l:x w:0 0xA2 /r:mem vsib] s:AVX512F, t:SCATTER, a:MMASK, l:t1s, e:E12, w:W|R|RW -VSCATTERDPD Mvm32h{K},Vfv nil [evex m:2 p:1 l:x w:1 0xA2 /r:mem vsib] s:AVX512F, t:SCATTER, a:MMASK, l:t1s, e:E12, w:W|R|RW -VSCATTERQPS Mvm64n{K},Vhv nil [evex m:2 p:1 l:x w:0 0xA3 /r:mem vsib] s:AVX512F, t:SCATTER, a:MMASK, l:t1s, e:E12, w:W|R|RW -VSCATTERQPD Mvm64n{K},Vfv nil [evex m:2 p:1 l:x w:1 0xA3 /r:mem vsib] s:AVX512F, t:SCATTER, a:MMASK, l:t1s, e:E12, w:W|R|RW +VPSCATTERDD Mvm32n{K},Vfv n/a [evex m:2 p:1 l:x w:0 0xA0 /r:mem vsib] s:AVX512F, t:SCATTER, a:MMASK, l:t1s, e:E12, w:W|R|RW +VPSCATTERDQ Mvm32h{K},Vfv n/a [evex m:2 p:1 l:x w:1 0xA0 /r:mem vsib] s:AVX512F, t:SCATTER, a:MMASK, l:t1s, e:E12, w:W|R|RW +VPSCATTERQD Mvm64n{K},Vhv n/a [evex m:2 p:1 l:x w:0 0xA1 /r:mem vsib] s:AVX512F, t:SCATTER, a:MMASK, l:t1s, e:E12, w:W|R|RW +VPSCATTERQQ Mvm64n{K},Vfv n/a [evex m:2 p:1 l:x w:1 0xA1 /r:mem vsib] s:AVX512F, t:SCATTER, a:MMASK, l:t1s, e:E12, w:W|R|RW +VSCATTERDPS Mvm32n{K},Vfv n/a [evex m:2 p:1 l:x w:0 0xA2 /r:mem vsib] s:AVX512F, t:SCATTER, a:MMASK, l:t1s, e:E12, w:W|R|RW +VSCATTERDPD Mvm32h{K},Vfv n/a [evex m:2 p:1 l:x w:1 0xA2 /r:mem vsib] s:AVX512F, t:SCATTER, a:MMASK, l:t1s, e:E12, w:W|R|RW +VSCATTERQPS Mvm64n{K},Vhv n/a [evex m:2 p:1 l:x w:0 0xA3 /r:mem vsib] s:AVX512F, t:SCATTER, a:MMASK, l:t1s, e:E12, w:W|R|RW +VSCATTERQPD Mvm64n{K},Vfv n/a [evex m:2 p:1 l:x w:1 0xA3 /r:mem vsib] s:AVX512F, t:SCATTER, a:MMASK, l:t1s, e:E12, w:W|R|RW -VFMADDSUB213PS Vfv{K}{z},Hfv,Wfv|B32{er} nil [evex m:2 p:1 l:x w:0 0xA6 /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R -VFMADDSUB213PD Vfv{K}{z},Hfv,Wfv|B64{er} nil [evex m:2 p:1 l:x w:1 0xA6 /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R -VFMSUBADD213PS Vfv{K}{z},Hfv,Wfv|B32{er} nil [evex m:2 p:1 l:x w:0 0xA7 /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R -VFMSUBADD213PD Vfv{K}{z},Hfv,Wfv|B64{er} nil [evex m:2 p:1 l:x w:1 0xA7 /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R -VFMADD213PS Vfv{K}{z},Hfv,Wfv|B32{er} nil [evex m:2 p:1 l:x w:0 0xA8 /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R -VFMADD213PD Vfv{K}{z},Hfv,Wfv|B64{er} nil [evex m:2 p:1 l:x w:1 0xA8 /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R -VFMADD213SS Vdq{K}{z},Hdq,Wss{er} nil [evex m:2 p:1 l:i w:0 0xA9 /r] s:AVX512F, t:VFMA, l:t1s, e:E3, w:RW|R|R|R -VFMADD213SD Vdq{K}{z},Hdq,Wsd{er} nil [evex m:2 p:1 l:i w:1 0xA9 /r] s:AVX512F, t:VFMA, l:t1s, e:E3, w:RW|R|R|R -VFMSUB213PS Vfv{K}{z},Hfv,Wfv|B32{er} nil [evex m:2 p:1 l:x w:0 0xAA /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R -VFMSUB213PD Vfv{K}{z},Hfv,Wfv|B64{er} nil [evex m:2 p:1 l:x w:1 0xAA /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R -V4FNMADDPS Voq{K}{z},Hoq+3,Mdq nil [evex m:2 p:3 l:2 w:0 0xAA /r:mem] s:AVX5124FMAPS, t:VFMAPS, l:t1_4x, e:E2, w:RW|R|R|R -VFMSUB213SS Vdq{K}{z},Hdq,Wss{er} nil [evex m:2 p:1 l:i w:0 0xAB /r] s:AVX512F, t:VFMA, l:t1s, e:E3, w:RW|R|R|R -VFMSUB213SD Vdq{K}{z},Hdq,Wsd{er} nil [evex m:2 p:1 l:i w:1 0xAB /r] s:AVX512F, t:VFMA, l:t1s, e:E3, w:RW|R|R|R -V4FNMADDSS Vdq{K}{z},Hdq+3,Mdq nil [evex m:2 p:3 l:i w:0 0xAB /r:mem] s:AVX5124FMAPS, t:VFMAPS, l:t1_4x, e:E2, w:RW|R|R|R -VFNMADD213PS Vfv{K}{z},Hfv,Wfv|B32{er} nil [evex m:2 p:1 l:x w:0 0xAC /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R -VFNMADD213PD Vfv{K}{z},Hfv,Wfv|B64{er} nil [evex m:2 p:1 l:x w:1 0xAC /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R -VFNMADD213SS Vdq{K}{z},Hdq,Wss{er} nil [evex m:2 p:1 l:i w:0 0xAD /r] s:AVX512F, t:VFMA, l:t1s, e:E3, w:RW|R|R|R -VFNMADD213SD Vdq{K}{z},Hdq,Wsd{er} nil [evex m:2 p:1 l:i w:1 0xAD /r] s:AVX512F, t:VFMA, l:t1s, e:E3, w:RW|R|R|R -VFNMSUB213PS Vfv{K}{z},Hfv,Wfv|B32{er} nil [evex m:2 p:1 l:x w:0 0xAE /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R -VFNMSUB213PD Vfv{K}{z},Hfv,Wfv|B64{er} nil [evex m:2 p:1 l:x w:1 0xAE /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R -VFNMSUB213SS Vdq{K}{z},Hdq,Wss{er} nil [evex m:2 p:1 l:i w:0 0xAF /r] s:AVX512F, t:VFMA, l:t1s, e:E3, w:RW|R|R|R -VFNMSUB213SD Vdq{K}{z},Hdq,Wsd{er} nil [evex m:2 p:1 l:i w:1 0xAF /r] s:AVX512F, t:VFMA, l:t1s, e:E3, w:RW|R|R|R +VFMADDSUB213PS Vfv{K}{z},Hfv,Wfv|B32{er} n/a [evex m:2 p:1 l:x w:0 0xA6 /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R +VFMADDSUB213PD Vfv{K}{z},Hfv,Wfv|B64{er} n/a [evex m:2 p:1 l:x w:1 0xA6 /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R +VFMSUBADD213PS Vfv{K}{z},Hfv,Wfv|B32{er} n/a [evex m:2 p:1 l:x w:0 0xA7 /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R +VFMSUBADD213PD Vfv{K}{z},Hfv,Wfv|B64{er} n/a [evex m:2 p:1 l:x w:1 0xA7 /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R +VFMADD213PS Vfv{K}{z},Hfv,Wfv|B32{er} n/a [evex m:2 p:1 l:x w:0 0xA8 /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R +VFMADD213PD Vfv{K}{z},Hfv,Wfv|B64{er} n/a [evex m:2 p:1 l:x w:1 0xA8 /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R +VFMADD213SS Vdq{K}{z},Hdq,Wss{er} n/a [evex m:2 p:1 l:i w:0 0xA9 /r] s:AVX512F, t:VFMA, l:t1s, e:E3, w:RW|R|R|R +VFMADD213SD Vdq{K}{z},Hdq,Wsd{er} n/a [evex m:2 p:1 l:i w:1 0xA9 /r] s:AVX512F, t:VFMA, l:t1s, e:E3, w:RW|R|R|R +VFMSUB213PS Vfv{K}{z},Hfv,Wfv|B32{er} n/a [evex m:2 p:1 l:x w:0 0xAA /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R +VFMSUB213PD Vfv{K}{z},Hfv,Wfv|B64{er} n/a [evex m:2 p:1 l:x w:1 0xAA /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R +V4FNMADDPS Voq{K}{z},Hoq+3,Mdq n/a [evex m:2 p:3 l:2 w:0 0xAA /r:mem] s:AVX5124FMAPS, t:VFMAPS, l:t1_4x, e:E2, w:RW|R|R|R +VFMSUB213SS Vdq{K}{z},Hdq,Wss{er} n/a [evex m:2 p:1 l:i w:0 0xAB /r] s:AVX512F, t:VFMA, l:t1s, e:E3, w:RW|R|R|R +VFMSUB213SD Vdq{K}{z},Hdq,Wsd{er} n/a [evex m:2 p:1 l:i w:1 0xAB /r] s:AVX512F, t:VFMA, l:t1s, e:E3, w:RW|R|R|R +V4FNMADDSS Vdq{K}{z},Hdq+3,Mdq n/a [evex m:2 p:3 l:i w:0 0xAB /r:mem] s:AVX5124FMAPS, t:VFMAPS, l:t1_4x, e:E2, w:RW|R|R|R +VFNMADD213PS Vfv{K}{z},Hfv,Wfv|B32{er} n/a [evex m:2 p:1 l:x w:0 0xAC /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R +VFNMADD213PD Vfv{K}{z},Hfv,Wfv|B64{er} n/a [evex m:2 p:1 l:x w:1 0xAC /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R +VFNMADD213SS Vdq{K}{z},Hdq,Wss{er} n/a [evex m:2 p:1 l:i w:0 0xAD /r] s:AVX512F, t:VFMA, l:t1s, e:E3, w:RW|R|R|R +VFNMADD213SD Vdq{K}{z},Hdq,Wsd{er} n/a [evex m:2 p:1 l:i w:1 0xAD /r] s:AVX512F, t:VFMA, l:t1s, e:E3, w:RW|R|R|R +VFNMSUB213PS Vfv{K}{z},Hfv,Wfv|B32{er} n/a [evex m:2 p:1 l:x w:0 0xAE /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R +VFNMSUB213PD Vfv{K}{z},Hfv,Wfv|B64{er} n/a [evex m:2 p:1 l:x w:1 0xAE /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R +VFNMSUB213SS Vdq{K}{z},Hdq,Wss{er} n/a [evex m:2 p:1 l:i w:0 0xAF /r] s:AVX512F, t:VFMA, l:t1s, e:E3, w:RW|R|R|R +VFNMSUB213SD Vdq{K}{z},Hdq,Wsd{er} n/a [evex m:2 p:1 l:i w:1 0xAF /r] s:AVX512F, t:VFMA, l:t1s, e:E3, w:RW|R|R|R # 0xB0 - 0xBF -VPMADD52LUQ Vfv{K}{z},Hfv,Wfv|B64 nil [evex m:2 p:1 l:x w:1 0xB4 /r] s:AVX512IFMA, t:IFMA, l:fv, e:E4, w:RW|R|R|R -VPMADD52HUQ Vfv{K}{z},Hfv,Wfv|B64 nil [evex m:2 p:1 l:x w:1 0xB5 /r] s:AVX512IFMA, t:IFMA, l:fv, e:E4, w:RW|R|R|R -VFMADDSUB231PS Vfv{K}{z},Hfv,Wfv|B32{er} nil [evex m:2 p:1 l:x w:0 0xB6 /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R -VFMADDSUB231PD Vfv{K}{z},Hfv,Wfv|B64{er} nil [evex m:2 p:1 l:x w:1 0xB6 /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R -VFMSUBADD231PS Vfv{K}{z},Hfv,Wfv|B32{er} nil [evex m:2 p:1 l:x w:0 0xB7 /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R -VFMSUBADD231PD Vfv{K}{z},Hfv,Wfv|B64{er} nil [evex m:2 p:1 l:x w:1 0xB7 /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R -VFMADD231PS Vfv{K}{z},Hfv,Wfv|B32{er} nil [evex m:2 p:1 l:x w:0 0xB8 /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R -VFMADD231PD Vfv{K}{z},Hfv,Wfv|B64{er} nil [evex m:2 p:1 l:x w:1 0xB8 /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R -VFMADD231SS Vdq{K}{z},Hdq,Wss{er} nil [evex m:2 p:1 l:i w:0 0xB9 /r] s:AVX512F, t:VFMA, l:t1s, e:E3, w:RW|R|R|R -VFMADD231SD Vdq{K}{z},Hdq,Wsd{er} nil [evex m:2 p:1 l:i w:1 0xB9 /r] s:AVX512F, t:VFMA, l:t1s, e:E3, w:RW|R|R|R -VFMSUB231PS Vfv{K}{z},Hfv,Wfv|B32{er} nil [evex m:2 p:1 l:x w:0 0xBA /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R -VFMSUB231PD Vfv{K}{z},Hfv,Wfv|B64{er} nil [evex m:2 p:1 l:x w:1 0xBA /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R -VFMSUB231SS Vdq{K}{z},Hdq,Wss{er} nil [evex m:2 p:1 l:i w:0 0xBB /r] s:AVX512F, t:VFMA, l:t1s, e:E3, w:RW|R|R|R -VFMSUB231SD Vdq{K}{z},Hdq,Wsd{er} nil [evex m:2 p:1 l:i w:1 0xBB /r] s:AVX512F, t:VFMA, l:t1s, e:E3, w:RW|R|R|R -VFNMADD231PS Vfv{K}{z},Hfv,Wfv|B32{er} nil [evex m:2 p:1 l:x w:0 0xBC /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R -VFNMADD231PD Vfv{K}{z},Hfv,Wfv|B64{er} nil [evex m:2 p:1 l:x w:1 0xBC /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R -VFNMADD231SS Vdq{K}{z},Hdq,Wss{er} nil [evex m:2 p:1 l:i w:0 0xBD /r] s:AVX512F, t:VFMA, l:t1s, e:E3, w:RW|R|R|R -VFNMADD231SD Vdq{K}{z},Hdq,Wsd{er} nil [evex m:2 p:1 l:i w:1 0xBD /r] s:AVX512F, t:VFMA, l:t1s, e:E3, w:RW|R|R|R -VFNMSUB231PS Vfv{K}{z},Hfv,Wfv|B32{er} nil [evex m:2 p:1 l:x w:0 0xBE /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R -VFNMSUB231PD Vfv{K}{z},Hfv,Wfv|B64{er} nil [evex m:2 p:1 l:x w:1 0xBE /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R -VFNMSUB231SS Vdq{K}{z},Hdq,Wss{er} nil [evex m:2 p:1 l:i w:0 0xBF /r] s:AVX512F, t:VFMA, l:t1s, e:E3, w:RW|R|R|R -VFNMSUB231SD Vdq{K}{z},Hdq,Wsd{er} nil [evex m:2 p:1 l:i w:1 0xBF /r] s:AVX512F, t:VFMA, l:t1s, e:E3, w:RW|R|R|R +VPMADD52LUQ Vfv{K}{z},Hfv,Wfv|B64 n/a [evex m:2 p:1 l:x w:1 0xB4 /r] s:AVX512IFMA, t:IFMA, l:fv, e:E4, w:RW|R|R|R +VPMADD52HUQ Vfv{K}{z},Hfv,Wfv|B64 n/a [evex m:2 p:1 l:x w:1 0xB5 /r] s:AVX512IFMA, t:IFMA, l:fv, e:E4, w:RW|R|R|R +VFMADDSUB231PS Vfv{K}{z},Hfv,Wfv|B32{er} n/a [evex m:2 p:1 l:x w:0 0xB6 /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R +VFMADDSUB231PD Vfv{K}{z},Hfv,Wfv|B64{er} n/a [evex m:2 p:1 l:x w:1 0xB6 /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R +VFMSUBADD231PS Vfv{K}{z},Hfv,Wfv|B32{er} n/a [evex m:2 p:1 l:x w:0 0xB7 /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R +VFMSUBADD231PD Vfv{K}{z},Hfv,Wfv|B64{er} n/a [evex m:2 p:1 l:x w:1 0xB7 /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R +VFMADD231PS Vfv{K}{z},Hfv,Wfv|B32{er} n/a [evex m:2 p:1 l:x w:0 0xB8 /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R +VFMADD231PD Vfv{K}{z},Hfv,Wfv|B64{er} n/a [evex m:2 p:1 l:x w:1 0xB8 /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R +VFMADD231SS Vdq{K}{z},Hdq,Wss{er} n/a [evex m:2 p:1 l:i w:0 0xB9 /r] s:AVX512F, t:VFMA, l:t1s, e:E3, w:RW|R|R|R +VFMADD231SD Vdq{K}{z},Hdq,Wsd{er} n/a [evex m:2 p:1 l:i w:1 0xB9 /r] s:AVX512F, t:VFMA, l:t1s, e:E3, w:RW|R|R|R +VFMSUB231PS Vfv{K}{z},Hfv,Wfv|B32{er} n/a [evex m:2 p:1 l:x w:0 0xBA /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R +VFMSUB231PD Vfv{K}{z},Hfv,Wfv|B64{er} n/a [evex m:2 p:1 l:x w:1 0xBA /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R +VFMSUB231SS Vdq{K}{z},Hdq,Wss{er} n/a [evex m:2 p:1 l:i w:0 0xBB /r] s:AVX512F, t:VFMA, l:t1s, e:E3, w:RW|R|R|R +VFMSUB231SD Vdq{K}{z},Hdq,Wsd{er} n/a [evex m:2 p:1 l:i w:1 0xBB /r] s:AVX512F, t:VFMA, l:t1s, e:E3, w:RW|R|R|R +VFNMADD231PS Vfv{K}{z},Hfv,Wfv|B32{er} n/a [evex m:2 p:1 l:x w:0 0xBC /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R +VFNMADD231PD Vfv{K}{z},Hfv,Wfv|B64{er} n/a [evex m:2 p:1 l:x w:1 0xBC /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R +VFNMADD231SS Vdq{K}{z},Hdq,Wss{er} n/a [evex m:2 p:1 l:i w:0 0xBD /r] s:AVX512F, t:VFMA, l:t1s, e:E3, w:RW|R|R|R +VFNMADD231SD Vdq{K}{z},Hdq,Wsd{er} n/a [evex m:2 p:1 l:i w:1 0xBD /r] s:AVX512F, t:VFMA, l:t1s, e:E3, w:RW|R|R|R +VFNMSUB231PS Vfv{K}{z},Hfv,Wfv|B32{er} n/a [evex m:2 p:1 l:x w:0 0xBE /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R +VFNMSUB231PD Vfv{K}{z},Hfv,Wfv|B64{er} n/a [evex m:2 p:1 l:x w:1 0xBE /r] s:AVX512F, t:VFMA, l:fv, e:E2, w:RW|R|R|R +VFNMSUB231SS Vdq{K}{z},Hdq,Wss{er} n/a [evex m:2 p:1 l:i w:0 0xBF /r] s:AVX512F, t:VFMA, l:t1s, e:E3, w:RW|R|R|R +VFNMSUB231SD Vdq{K}{z},Hdq,Wsd{er} n/a [evex m:2 p:1 l:i w:1 0xBF /r] s:AVX512F, t:VFMA, l:t1s, e:E3, w:RW|R|R|R # 0xC0 - 0xCF -VPCONFLICTD Vfv{K}{z},Wfv|B32 nil [evex m:2 p:1 l:x w:0 0xC4 /r] s:AVX512CD, t:CONFLICT, l:fv, e:E4NF, w:W|R|R -VPCONFLICTQ Vfv{K}{z},Wfv|B64 nil [evex m:2 p:1 l:x w:1 0xC4 /r] s:AVX512CD, t:CONFLICT, l:fv, e:E4NF, w:W|R|R -VGATHERPF0DPS Mvm32n{K} nil [evex m:2 p:1 l:2 w:0 0xC6 /1:mem vsib] s:AVX512PF, t:GATHER, a:MMASK, l:t1s, e:E12NP, w:P|R -VGATHERPF0DPD Mvm32h{K} nil [evex m:2 p:1 l:2 w:1 0xC6 /1:mem vsib] s:AVX512PF, t:GATHER, a:MMASK, l:t1s, e:E12NP, w:P|R -VGATHERPF1DPS Mvm32n{K} nil [evex m:2 p:1 l:2 w:0 0xC6 /2:mem vsib] s:AVX512PF, t:GATHER, a:MMASK, l:t1s, e:E12NP, w:P|R -VGATHERPF1DPD Mvm32h{K} nil [evex m:2 p:1 l:2 w:1 0xC6 /2:mem vsib] s:AVX512PF, t:GATHER, a:MMASK, l:t1s, e:E12NP, w:P|R -VSCATTERPF0DPS Mvm32n{K} nil [evex m:2 p:1 l:2 w:0 0xC6 /5:mem vsib] s:AVX512PF, t:SCATTER, a:MMASK, l:t1s, e:E12NP, w:P|R -VSCATTERPF0DPD Mvm32h{K} nil [evex m:2 p:1 l:2 w:1 0xC6 /5:mem vsib] s:AVX512PF, t:SCATTER, a:MMASK, l:t1s, e:E12NP, w:P|R -VSCATTERPF1DPS Mvm32n{K} nil [evex m:2 p:1 l:2 w:0 0xC6 /6:mem vsib] s:AVX512PF, t:SCATTER, a:MMASK, l:t1s, e:E12NP, w:P|R -VSCATTERPF1DPD Mvm32h{K} nil [evex m:2 p:1 l:2 w:1 0xC6 /6:mem vsib] s:AVX512PF, t:SCATTER, a:MMASK, l:t1s, e:E12NP, w:P|R -VGATHERPF0QPS Mvm64n{K} nil [evex m:2 p:1 l:2 w:0 0xC7 /1:mem vsib] s:AVX512PF, t:GATHER, a:MMASK, l:t1s, e:E12NP, w:P|R -VGATHERPF0QPD Mvm64n{K} nil [evex m:2 p:1 l:2 w:1 0xC7 /1:mem vsib] s:AVX512PF, t:GATHER, a:MMASK, l:t1s, e:E12NP, w:P|R -VGATHERPF1QPS Mvm64n{K} nil [evex m:2 p:1 l:2 w:0 0xC7 /2:mem vsib] s:AVX512PF, t:GATHER, a:MMASK, l:t1s, e:E12NP, w:P|R -VGATHERPF1QPD Mvm64n{K} nil [evex m:2 p:1 l:2 w:1 0xC7 /2:mem vsib] s:AVX512PF, t:GATHER, a:MMASK, l:t1s, e:E12NP, w:P|R -VSCATTERPF0QPS Mvm64n{K} nil [evex m:2 p:1 l:2 w:0 0xC7 /5:mem vsib] s:AVX512PF, t:SCATTER, a:MMASK, l:t1s, e:E12NP, w:P|R -VSCATTERPF0QPD Mvm64n{K} nil [evex m:2 p:1 l:2 w:1 0xC7 /5:mem vsib] s:AVX512PF, t:SCATTER, a:MMASK, l:t1s, e:E12NP, w:P|R -VSCATTERPF1QPS Mvm64n{K} nil [evex m:2 p:1 l:2 w:0 0xC7 /6:mem vsib] s:AVX512PF, t:SCATTER, a:MMASK, l:t1s, e:E12NP, w:P|R -VSCATTERPF1QPD Mvm64n{K} nil [evex m:2 p:1 l:2 w:1 0xC7 /6:mem vsib] s:AVX512PF, t:SCATTER, a:MMASK, l:t1s, e:E12NP, w:P|R +VPCONFLICTD Vfv{K}{z},Wfv|B32 n/a [evex m:2 p:1 l:x w:0 0xC4 /r] s:AVX512CD, t:CONFLICT, l:fv, e:E4NF, w:W|R|R +VPCONFLICTQ Vfv{K}{z},Wfv|B64 n/a [evex m:2 p:1 l:x w:1 0xC4 /r] s:AVX512CD, t:CONFLICT, l:fv, e:E4NF, w:W|R|R +VGATHERPF0DPS Mvm32n{K} n/a [evex m:2 p:1 l:2 w:0 0xC6 /1:mem vsib] s:AVX512PF, t:GATHER, a:MMASK, l:t1s, e:E12NP, w:P|R +VGATHERPF0DPD Mvm32h{K} n/a [evex m:2 p:1 l:2 w:1 0xC6 /1:mem vsib] s:AVX512PF, t:GATHER, a:MMASK, l:t1s, e:E12NP, w:P|R +VGATHERPF1DPS Mvm32n{K} n/a [evex m:2 p:1 l:2 w:0 0xC6 /2:mem vsib] s:AVX512PF, t:GATHER, a:MMASK, l:t1s, e:E12NP, w:P|R +VGATHERPF1DPD Mvm32h{K} n/a [evex m:2 p:1 l:2 w:1 0xC6 /2:mem vsib] s:AVX512PF, t:GATHER, a:MMASK, l:t1s, e:E12NP, w:P|R +VSCATTERPF0DPS Mvm32n{K} n/a [evex m:2 p:1 l:2 w:0 0xC6 /5:mem vsib] s:AVX512PF, t:SCATTER, a:MMASK, l:t1s, e:E12NP, w:P|R +VSCATTERPF0DPD Mvm32h{K} n/a [evex m:2 p:1 l:2 w:1 0xC6 /5:mem vsib] s:AVX512PF, t:SCATTER, a:MMASK, l:t1s, e:E12NP, w:P|R +VSCATTERPF1DPS Mvm32n{K} n/a [evex m:2 p:1 l:2 w:0 0xC6 /6:mem vsib] s:AVX512PF, t:SCATTER, a:MMASK, l:t1s, e:E12NP, w:P|R +VSCATTERPF1DPD Mvm32h{K} n/a [evex m:2 p:1 l:2 w:1 0xC6 /6:mem vsib] s:AVX512PF, t:SCATTER, a:MMASK, l:t1s, e:E12NP, w:P|R +VGATHERPF0QPS Mvm64n{K} n/a [evex m:2 p:1 l:2 w:0 0xC7 /1:mem vsib] s:AVX512PF, t:GATHER, a:MMASK, l:t1s, e:E12NP, w:P|R +VGATHERPF0QPD Mvm64n{K} n/a [evex m:2 p:1 l:2 w:1 0xC7 /1:mem vsib] s:AVX512PF, t:GATHER, a:MMASK, l:t1s, e:E12NP, w:P|R +VGATHERPF1QPS Mvm64n{K} n/a [evex m:2 p:1 l:2 w:0 0xC7 /2:mem vsib] s:AVX512PF, t:GATHER, a:MMASK, l:t1s, e:E12NP, w:P|R +VGATHERPF1QPD Mvm64n{K} n/a [evex m:2 p:1 l:2 w:1 0xC7 /2:mem vsib] s:AVX512PF, t:GATHER, a:MMASK, l:t1s, e:E12NP, w:P|R +VSCATTERPF0QPS Mvm64n{K} n/a [evex m:2 p:1 l:2 w:0 0xC7 /5:mem vsib] s:AVX512PF, t:SCATTER, a:MMASK, l:t1s, e:E12NP, w:P|R +VSCATTERPF0QPD Mvm64n{K} n/a [evex m:2 p:1 l:2 w:1 0xC7 /5:mem vsib] s:AVX512PF, t:SCATTER, a:MMASK, l:t1s, e:E12NP, w:P|R +VSCATTERPF1QPS Mvm64n{K} n/a [evex m:2 p:1 l:2 w:0 0xC7 /6:mem vsib] s:AVX512PF, t:SCATTER, a:MMASK, l:t1s, e:E12NP, w:P|R +VSCATTERPF1QPD Mvm64n{K} n/a [evex m:2 p:1 l:2 w:1 0xC7 /6:mem vsib] s:AVX512PF, t:SCATTER, a:MMASK, l:t1s, e:E12NP, w:P|R -VEXP2PS Voq{K}{z},Woq|B32{sae} nil [evex m:2 p:1 l:2 w:0 0xC8 /r] s:AVX512ER, t:KNL, l:fv, e:E2, w:W|R|R -VEXP2PD Voq{K}{z},Woq|B64{sae} nil [evex m:2 p:1 l:2 w:1 0xC8 /r] s:AVX512ER, t:KNL, l:fv, e:E2, w:W|R|R -VRCP28PS Voq{K}{z},Woq|B32{sae} nil [evex m:2 p:1 l:2 w:0 0xCA /r] s:AVX512ER, t:KNL, l:fv, e:E2, w:W|R|R -VRCP28PD Voq{K}{z},Woq|B64{sae} nil [evex m:2 p:1 l:2 w:1 0xCA /r] s:AVX512ER, t:KNL, l:fv, e:E2, w:W|R|R -VRCP28SS Vdq{K}{z},Hdq,Wss{sae} nil [evex m:2 p:1 l:i w:0 0xCB /r] s:AVX512ER, t:KNL, l:t1s, e:E3, w:W|R|R|R -VRCP28SD Vdq{K}{z},Hdq,Wsd{sae} nil [evex m:2 p:1 l:i w:1 0xCB /r] s:AVX512ER, t:KNL, l:t1s, e:E3, w:W|R|R|R -VRSQRT28PS Voq{K}{z},Woq|B32{sae} nil [evex m:2 p:1 l:2 w:0 0xCC /r] s:AVX512ER, t:KNL, l:fv, e:E2, w:W|R|R -VRSQRT28PD Voq{K}{z},Woq|B64{sae} nil [evex m:2 p:1 l:2 w:1 0xCC /r] s:AVX512ER, t:KNL, l:fv, e:E2, w:W|R|R -VRSQRT28SS Vdq{K}{z},Hdq,Wss{sae} nil [evex m:2 p:1 l:i w:0 0xCD /r] s:AVX512ER, t:KNL, l:t1s, e:E3, w:W|R|R|R -VRSQRT28SD Vdq{K}{z},Hdq,Wsd{sae} nil [evex m:2 p:1 l:i w:1 0xCD /r] s:AVX512ER, t:KNL, l:t1s, e:E3, w:W|R|R|R -VGF2P8MULB Vfv{K}{z},Hfv,Wfv nil [evex m:2 p:1 l:x w:0 0xCF /r] s:GFNI, t:GFNI, l:fvm, e:E4, w:W|R|R|R +VEXP2PS Voq{K}{z},Woq|B32{sae} n/a [evex m:2 p:1 l:2 w:0 0xC8 /r] s:AVX512ER, t:KNL, l:fv, e:E2, w:W|R|R +VEXP2PD Voq{K}{z},Woq|B64{sae} n/a [evex m:2 p:1 l:2 w:1 0xC8 /r] s:AVX512ER, t:KNL, l:fv, e:E2, w:W|R|R +VRCP28PS Voq{K}{z},Woq|B32{sae} n/a [evex m:2 p:1 l:2 w:0 0xCA /r] s:AVX512ER, t:KNL, l:fv, e:E2, w:W|R|R +VRCP28PD Voq{K}{z},Woq|B64{sae} n/a [evex m:2 p:1 l:2 w:1 0xCA /r] s:AVX512ER, t:KNL, l:fv, e:E2, w:W|R|R +VRCP28SS Vdq{K}{z},Hdq,Wss{sae} n/a [evex m:2 p:1 l:i w:0 0xCB /r] s:AVX512ER, t:KNL, l:t1s, e:E3, w:W|R|R|R +VRCP28SD Vdq{K}{z},Hdq,Wsd{sae} n/a [evex m:2 p:1 l:i w:1 0xCB /r] s:AVX512ER, t:KNL, l:t1s, e:E3, w:W|R|R|R +VRSQRT28PS Voq{K}{z},Woq|B32{sae} n/a [evex m:2 p:1 l:2 w:0 0xCC /r] s:AVX512ER, t:KNL, l:fv, e:E2, w:W|R|R +VRSQRT28PD Voq{K}{z},Woq|B64{sae} n/a [evex m:2 p:1 l:2 w:1 0xCC /r] s:AVX512ER, t:KNL, l:fv, e:E2, w:W|R|R +VRSQRT28SS Vdq{K}{z},Hdq,Wss{sae} n/a [evex m:2 p:1 l:i w:0 0xCD /r] s:AVX512ER, t:KNL, l:t1s, e:E3, w:W|R|R|R +VRSQRT28SD Vdq{K}{z},Hdq,Wsd{sae} n/a [evex m:2 p:1 l:i w:1 0xCD /r] s:AVX512ER, t:KNL, l:t1s, e:E3, w:W|R|R|R +VGF2P8MULB Vfv{K}{z},Hfv,Wfv n/a [evex m:2 p:1 l:x w:0 0xCF /r] s:GFNI, t:GFNI, l:fvm, e:E4, w:W|R|R|R # 0xD0 - 0xDF -VAESENC Vfv,Hfv,Wfv nil [evex m:2 p:1 l:x w:i 0xDC /r] s:VAES, t:VAES, l:fvm, e:E4NF, w:W|R|R -VAESENCLAST Vfv,Hfv,Wfv nil [evex m:2 p:1 l:x w:i 0xDD /r] s:VAES, t:VAES, l:fvm, e:E4NF, w:W|R|R -VAESDEC Vfv,Hfv,Wfv nil [evex m:2 p:1 l:x w:i 0xDE /r] s:VAES, t:VAES, l:fvm, e:E4NF, w:W|R|R -VAESDECLAST Vfv,Hfv,Wfv nil [evex m:2 p:1 l:x w:i 0xDF /r] s:VAES, t:VAES, l:fvm, e:E4NF, w:W|R|R +VAESENC Vfv,Hfv,Wfv n/a [evex m:2 p:1 l:x w:i 0xDC /r] s:VAES, t:VAES, l:fvm, e:E4NF, w:W|R|R +VAESENCLAST Vfv,Hfv,Wfv n/a [evex m:2 p:1 l:x w:i 0xDD /r] s:VAES, t:VAES, l:fvm, e:E4NF, w:W|R|R +VAESDEC Vfv,Hfv,Wfv n/a [evex m:2 p:1 l:x w:i 0xDE /r] s:VAES, t:VAES, l:fvm, e:E4NF, w:W|R|R +VAESDECLAST Vfv,Hfv,Wfv n/a [evex m:2 p:1 l:x w:i 0xDF /r] s:VAES, t:VAES, l:fvm, e:E4NF, w:W|R|R # 0xE0 - 0xEF diff --git a/isagenerator/instructions/table_evex3.dat b/isagenerator/instructions/table_evex3.dat index 8b04820..6387b25 100644 --- a/isagenerator/instructions/table_evex3.dat +++ b/isagenerator/instructions/table_evex3.dat @@ -1,114 +1,119 @@ +# +# Copyright (c) 2020 Bitdefender +# SPDX-License-Identifier: Apache-2.0 +# + # Mnemonic Explicit Operands Implicit Encoding Flags, Prefixes, Set, Category, Class, RW map, Additional ops #------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ # 0x00 - 0x0F -VPERMQ Vuv{K}{z},Wuv|B64,Ib nil [evex m:3 p:1 l:x w:1 0x00 /r ib] s:AVX512F, t:AVX512, a:NOL0, l:fv, e:E4NF, w:W|R|R|R -VPERMPD Vuv{K}{z},Wuv|B64,Ib nil [evex m:3 p:1 l:x w:1 0x01 /r ib] s:AVX512F, t:AVX512, a:NOL0, l:fv, e:E4NF, w:W|R|R|R -VALIGND Vfv{K}{z},Hfv,Wfv|B32,Ib nil [evex m:3 p:1 l:x w:0 0x03 /r ib] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:W|R|R|R|R -VALIGNQ Vfv{K}{z},Hfv,Wfv|B64,Ib nil [evex m:3 p:1 l:x w:1 0x03 /r ib] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:W|R|R|R|R -VPERMILPS Vfv{K}{z},Wfv|B32,Ib nil [evex m:3 p:1 l:x w:0 0x04 /r ib] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:W|R|R|R -VPERMILPD Vfv{K}{z},Wfv|B64,Ib nil [evex m:3 p:1 l:x w:1 0x05 /r ib] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:W|R|R|R -VRNDSCALEPH Vfv{K}{z},Wfv|B16{sae},Ib nil [evex m:3 p:0 l:x w:0 0x08 /r ib] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:W|R|R|R -VRNDSCALEPS Vfv{K}{z},Wfv|B32{sae},Ib nil [evex m:3 p:1 l:x w:0 0x08 /r ib] s:AVX512F, t:AVX512, l:fv, e:E2, w:W|R|R|R -VRNDSCALEPD Vfv{K}{z},Wfv|B64{sae},Ib nil [evex m:3 p:1 l:x w:1 0x09 /r ib] s:AVX512F, t:AVX512, l:fv, e:E2, w:W|R|R|R -VRNDSCALESH Vdq{K}{z},Hdq,Wsh{sae},Ib nil [evex m:3 p:0 l:i w:0 0x0A /r ib] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:W|R|R|R|R -VRNDSCALESS Vdq{K}{z},Hdq,Wss{sae},Ib nil [evex m:3 p:1 l:i w:0 0x0A /r ib] s:AVX512F, t:AVX512, l:t1s, e:E3, w:W|R|R|R|R -VRNDSCALESD Vdq{K}{z},Hdq,Wsd{sae},Ib nil [evex m:3 p:1 l:i w:1 0x0B /r ib] s:AVX512F, t:AVX512, l:t1s, e:E3, w:W|R|R|R|R -VPALIGNR Vfv{K}{z},Hfv,Wfv,Ib nil [evex m:3 p:1 l:x w:i 0x0F /r ib] s:AVX512BW, t:AVX512, l:fvm, e:E4NFnb, w:W|R|R|R|R +VPERMQ Vuv{K}{z},Wuv|B64,Ib n/a [evex m:3 p:1 l:x w:1 0x00 /r ib] s:AVX512F, t:AVX512, a:NOL0, l:fv, e:E4NF, w:W|R|R|R +VPERMPD Vuv{K}{z},Wuv|B64,Ib n/a [evex m:3 p:1 l:x w:1 0x01 /r ib] s:AVX512F, t:AVX512, a:NOL0, l:fv, e:E4NF, w:W|R|R|R +VALIGND Vfv{K}{z},Hfv,Wfv|B32,Ib n/a [evex m:3 p:1 l:x w:0 0x03 /r ib] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:W|R|R|R|R +VALIGNQ Vfv{K}{z},Hfv,Wfv|B64,Ib n/a [evex m:3 p:1 l:x w:1 0x03 /r ib] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:W|R|R|R|R +VPERMILPS Vfv{K}{z},Wfv|B32,Ib n/a [evex m:3 p:1 l:x w:0 0x04 /r ib] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:W|R|R|R +VPERMILPD Vfv{K}{z},Wfv|B64,Ib n/a [evex m:3 p:1 l:x w:1 0x05 /r ib] s:AVX512F, t:AVX512, l:fv, e:E4NF, w:W|R|R|R +VRNDSCALEPH Vfv{K}{z},Wfv|B16{sae},Ib n/a [evex m:3 p:0 l:x w:0 0x08 /r ib] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:W|R|R|R +VRNDSCALEPS Vfv{K}{z},Wfv|B32{sae},Ib n/a [evex m:3 p:1 l:x w:0 0x08 /r ib] s:AVX512F, t:AVX512, l:fv, e:E2, w:W|R|R|R +VRNDSCALEPD Vfv{K}{z},Wfv|B64{sae},Ib n/a [evex m:3 p:1 l:x w:1 0x09 /r ib] s:AVX512F, t:AVX512, l:fv, e:E2, w:W|R|R|R +VRNDSCALESH Vdq{K}{z},Hdq,Wsh{sae},Ib n/a [evex m:3 p:0 l:i w:0 0x0A /r ib] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:W|R|R|R|R +VRNDSCALESS Vdq{K}{z},Hdq,Wss{sae},Ib n/a [evex m:3 p:1 l:i w:0 0x0A /r ib] s:AVX512F, t:AVX512, l:t1s, e:E3, w:W|R|R|R|R +VRNDSCALESD Vdq{K}{z},Hdq,Wsd{sae},Ib n/a [evex m:3 p:1 l:i w:1 0x0B /r ib] s:AVX512F, t:AVX512, l:t1s, e:E3, w:W|R|R|R|R +VPALIGNR Vfv{K}{z},Hfv,Wfv,Ib n/a [evex m:3 p:1 l:x w:i 0x0F /r ib] s:AVX512BW, t:AVX512, l:fvm, e:E4NFnb, w:W|R|R|R|R # 0x10 - 0x1F -VPEXTRB Mb,Vdq,Ib nil [evex m:3 p:1 l:0 w:i 0x14 /r:mem ib] s:AVX512BW, t:AVX512, l:t1s8, e:E9NF, w:W|R|R -VPEXTRB Ry,Vdq,Ib nil [evex m:3 p:1 l:0 w:i 0x14 /r:reg ib] s:AVX512BW, t:AVX512, l:t1s8, e:E9NF, w:W|R|R, a:D64 -VPEXTRW Mw,Vdq,Ib nil [evex m:3 p:1 l:0 w:i 0x15 /r:mem ib] s:AVX512BW, t:AVX512, l:t1s16, e:E9NF, w:W|R|R -VPEXTRW Ry,Vdq,Ib nil [evex m:3 p:1 l:0 w:i 0x15 /r:reg ib] s:AVX512BW, t:AVX512, l:t1s16, e:E9NF, w:W|R|R, a:D64 -VPEXTRD Md,Vdq,Ib nil [evex m:3 p:1 l:0 w:0 0x16 /r:mem ib] s:AVX512DQ, t:AVX512, l:t1s, e:E9NF, w:W|R|R, a:IWO64 -VPEXTRD Ry,Vdq,Ib nil [evex m:3 p:1 l:0 w:0 0x16 /r:reg ib] s:AVX512DQ, t:AVX512, l:t1s, e:E9NF, w:W|R|R, a:IWO64|D64 -VPEXTRQ Mq,Vdq,Ib nil [evex m:3 p:1 l:0 w:1 0x16 /r:mem ib] s:AVX512DQ, t:AVX512, l:t1s, e:E9NF, w:W|R|R, a:IWO64 -VPEXTRQ Ry,Vdq,Ib nil [evex m:3 p:1 l:0 w:1 0x16 /r:reg ib] s:AVX512DQ, t:AVX512, l:t1s, e:E9NF, w:W|R|R, a:IWO64 -VEXTRACTPS Md,Vdq,Ib nil [evex m:3 p:1 l:0 w:i 0x17 /r:mem ib] s:AVX512F, t:AVX512, l:t1s, e:E9NF, w:W|R|R -VEXTRACTPS Ry,Vdq,Ib nil [evex m:3 p:1 l:0 w:i 0x17 /r:reg ib] s:AVX512F, t:AVX512, l:t1s, e:E9NF, w:W|R|R -VINSERTF32X4 Vuv{K}{z},Huv,Wdq,Ib nil [evex m:3 p:1 l:x w:0 0x18 /r ib] s:AVX512F, t:AVX512, a:NOL0, l:t4, e:E6NF, w:W|R|R|R|R -VINSERTF64X2 Vuv{K}{z},Huv,Wdq,Ib nil [evex m:3 p:1 l:x w:1 0x18 /r ib] s:AVX512DQ, t:AVX512, a:NOL0, l:t2, e:E6NF, w:W|R|R|R|R -VEXTRACTF32X4 Wdq{K}{z},Vuv,Ib nil [evex m:3 p:1 l:x w:0 0x19 /r ib] s:AVX512F, t:AVX512, a:NOL0, l:t4, e:E6NF, w:W|R|R|R -VEXTRACTF64X2 Wdq{K}{z},Vuv,Ib nil [evex m:3 p:1 l:x w:1 0x19 /r ib] s:AVX512DQ, t:AVX512, a:NOL0, l:t2, e:E6NF, w:W|R|R|R -VINSERTF32X8 Voq{K}{z},Hoq,Wqq,Ib nil [evex m:3 p:1 l:2 w:0 0x1A /r ib] s:AVX512DQ, t:AVX512, l:t8, e:E6NF, w:W|R|R|R|R -VINSERTF64X4 Voq{K}{z},Hoq,Wqq,Ib nil [evex m:3 p:1 l:2 w:1 0x1A /r ib] s:AVX512F, t:AVX512, l:t4, e:E6NF, w:W|R|R|R|R -VEXTRACTF32X8 Wqq{K}{z},Voq,Ib nil [evex m:3 p:1 l:2 w:0 0x1B /r ib] s:AVX512DQ, t:AVX512, l:t8, e:E6NF, w:W|R|R|R -VEXTRACTF64X4 Wqq{K}{z},Voq,Ib nil [evex m:3 p:1 l:2 w:1 0x1B /r ib] s:AVX512F, t:AVX512, l:t4, e:E6NF, w:W|R|R|R -VCVTPS2PH Whv{K}{z},Vfv{sae},Ib nil [evex m:3 p:1 l:x w:0 0x1D /r ib] s:AVX512F, t:CONVERT, l:hvm, e:E11, w:W|R|R|R -VPCMPUD rKq{K},Hfv,Wfv|B32,Ib nil [evex m:3 p:1 l:x w:0 0x1E /r ib] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R|R -VPCMPUQ rKq{K},Hfv,Wfv|B64,Ib nil [evex m:3 p:1 l:x w:1 0x1E /r ib] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R|R -VPCMPD rKq{K},Hfv,Wfv|B32,Ib nil [evex m:3 p:1 l:x w:0 0x1F /r ib] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R|R -VPCMPQ rKq{K},Hfv,Wfv|B64,Ib nil [evex m:3 p:1 l:x w:1 0x1F /r ib] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R|R +VPEXTRB Mb,Vdq,Ib n/a [evex m:3 p:1 l:0 w:i 0x14 /r:mem ib] s:AVX512BW, t:AVX512, l:t1s8, e:E9NF, w:W|R|R +VPEXTRB Ry,Vdq,Ib n/a [evex m:3 p:1 l:0 w:i 0x14 /r:reg ib] s:AVX512BW, t:AVX512, l:t1s8, e:E9NF, w:W|R|R, a:D64 +VPEXTRW Mw,Vdq,Ib n/a [evex m:3 p:1 l:0 w:i 0x15 /r:mem ib] s:AVX512BW, t:AVX512, l:t1s16, e:E9NF, w:W|R|R +VPEXTRW Ry,Vdq,Ib n/a [evex m:3 p:1 l:0 w:i 0x15 /r:reg ib] s:AVX512BW, t:AVX512, l:t1s16, e:E9NF, w:W|R|R, a:D64 +VPEXTRD Md,Vdq,Ib n/a [evex m:3 p:1 l:0 w:0 0x16 /r:mem ib] s:AVX512DQ, t:AVX512, l:t1s, e:E9NF, w:W|R|R, a:IWO64 +VPEXTRD Ry,Vdq,Ib n/a [evex m:3 p:1 l:0 w:0 0x16 /r:reg ib] s:AVX512DQ, t:AVX512, l:t1s, e:E9NF, w:W|R|R, a:IWO64|D64 +VPEXTRQ Mq,Vdq,Ib n/a [evex m:3 p:1 l:0 w:1 0x16 /r:mem ib] s:AVX512DQ, t:AVX512, l:t1s, e:E9NF, w:W|R|R, a:IWO64 +VPEXTRQ Ry,Vdq,Ib n/a [evex m:3 p:1 l:0 w:1 0x16 /r:reg ib] s:AVX512DQ, t:AVX512, l:t1s, e:E9NF, w:W|R|R, a:IWO64 +VEXTRACTPS Md,Vdq,Ib n/a [evex m:3 p:1 l:0 w:i 0x17 /r:mem ib] s:AVX512F, t:AVX512, l:t1s, e:E9NF, w:W|R|R +VEXTRACTPS Ry,Vdq,Ib n/a [evex m:3 p:1 l:0 w:i 0x17 /r:reg ib] s:AVX512F, t:AVX512, l:t1s, e:E9NF, w:W|R|R +VINSERTF32X4 Vuv{K}{z},Huv,Wdq,Ib n/a [evex m:3 p:1 l:x w:0 0x18 /r ib] s:AVX512F, t:AVX512, a:NOL0, l:t4, e:E6NF, w:W|R|R|R|R +VINSERTF64X2 Vuv{K}{z},Huv,Wdq,Ib n/a [evex m:3 p:1 l:x w:1 0x18 /r ib] s:AVX512DQ, t:AVX512, a:NOL0, l:t2, e:E6NF, w:W|R|R|R|R +VEXTRACTF32X4 Wdq{K}{z},Vuv,Ib n/a [evex m:3 p:1 l:x w:0 0x19 /r ib] s:AVX512F, t:AVX512, a:NOL0, l:t4, e:E6NF, w:W|R|R|R +VEXTRACTF64X2 Wdq{K}{z},Vuv,Ib n/a [evex m:3 p:1 l:x w:1 0x19 /r ib] s:AVX512DQ, t:AVX512, a:NOL0, l:t2, e:E6NF, w:W|R|R|R +VINSERTF32X8 Voq{K}{z},Hoq,Wqq,Ib n/a [evex m:3 p:1 l:2 w:0 0x1A /r ib] s:AVX512DQ, t:AVX512, l:t8, e:E6NF, w:W|R|R|R|R +VINSERTF64X4 Voq{K}{z},Hoq,Wqq,Ib n/a [evex m:3 p:1 l:2 w:1 0x1A /r ib] s:AVX512F, t:AVX512, l:t4, e:E6NF, w:W|R|R|R|R +VEXTRACTF32X8 Wqq{K}{z},Voq,Ib n/a [evex m:3 p:1 l:2 w:0 0x1B /r ib] s:AVX512DQ, t:AVX512, l:t8, e:E6NF, w:W|R|R|R +VEXTRACTF64X4 Wqq{K}{z},Voq,Ib n/a [evex m:3 p:1 l:2 w:1 0x1B /r ib] s:AVX512F, t:AVX512, l:t4, e:E6NF, w:W|R|R|R +VCVTPS2PH Whv{K}{z},Vfv{sae},Ib n/a [evex m:3 p:1 l:x w:0 0x1D /r ib] s:AVX512F, t:CONVERT, l:hvm, e:E11, w:W|R|R|R +VPCMPUD rKq{K},Hfv,Wfv|B32,Ib n/a [evex m:3 p:1 l:x w:0 0x1E /r ib] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R|R +VPCMPUQ rKq{K},Hfv,Wfv|B64,Ib n/a [evex m:3 p:1 l:x w:1 0x1E /r ib] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R|R +VPCMPD rKq{K},Hfv,Wfv|B32,Ib n/a [evex m:3 p:1 l:x w:0 0x1F /r ib] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R|R +VPCMPQ rKq{K},Hfv,Wfv|B64,Ib n/a [evex m:3 p:1 l:x w:1 0x1F /r ib] s:AVX512F, t:AVX512, l:fv, e:E4, w:W|R|R|R|R # 0x20 - 0x2F -VPINSRB Vdq,Hdq,Mb,Ib nil [evex m:3 p:1 l:0 w:i 0x20 /r:mem ib] s:AVX512BW, t:AVX512, l:t1s8, e:E9NF, w:W|R|R|R -VPINSRB Vdq,Hdq,Rd,Ib nil [evex m:3 p:1 l:0 w:i 0x20 /r:reg ib] s:AVX512BW, t:AVX512, l:t1s8, e:E9NF, w:W|R|R|R -VINSERTPS Vdq,Hdq,Md,Ib nil [evex m:3 p:1 l:0 w:i 0x21 /r:mem ib] s:AVX512F, t:AVX512, l:t1s, e:E9NF, w:W|R|R|R -VINSERTPS Vdq,Hdq,Udq,Ib nil [evex m:3 p:1 l:0 w:i 0x21 /r:reg ib] s:AVX512F, t:AVX512, l:t1s, e:E9NF, w:W|R|R|R -VPINSRD Vdq,Hdq,Ed,Ib nil [evex m:3 p:1 l:0 w:0 0x22 /r ib] s:AVX512DQ, t:AVX512, l:t1s, e:E9NF, w:W|R|R|R, a:IWO64 -VPINSRQ Vdq,Hdq,Eq,Ib nil [evex m:3 p:1 l:0 w:1 0x22 /r ib] s:AVX512DQ, t:AVX512, l:t1s, e:E9NF, w:W|R|R|R, a:IWO64 -VSHUFF32X4 Vuv{K}{z},Huv,Wuv|B32,Ib nil [evex m:3 p:1 l:x w:0 0x23 /r ib] s:AVX512F, t:AVX512, a:NOL0, l:fv, e:E4NF, w:W|R|R|R|R -VSHUFF64X2 Vuv{K}{z},Huv,Wuv|B64,Ib nil [evex m:3 p:1 l:x w:1 0x23 /r ib] s:AVX512F, t:AVX512, a:NOL0, l:fv, e:E4NF, w:W|R|R|R|R -VPTERNLOGD Vfv{K}{z},Hfv,Wfv|B32,Ib nil [evex m:3 p:1 l:x w:0 0x25 /r ib] s:AVX512F, t:LOGICAL, l:fv, e:E4, w:RW|R|R|R|R -VPTERNLOGQ Vfv{K}{z},Hfv,Wfv|B64,Ib nil [evex m:3 p:1 l:x w:1 0x25 /r ib] s:AVX512F, t:LOGICAL, l:fv, e:E4, w:RW|R|R|R|R -VGETMANTPH Vfv{K}{z},Wfv|B16{sae},Ib nil [evex m:3 p:0 l:x w:0 0x26 /r ib] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:W|R|R|R -VGETMANTPS Vfv{K}{z},Wfv|B32{sae},Ib nil [evex m:3 p:1 l:x w:0 0x26 /r ib] s:AVX512F, t:AVX512, l:fv, e:E2, w:W|R|R|R -VGETMANTPD Vfv{K}{z},Wfv|B64{sae},Ib nil [evex m:3 p:1 l:x w:1 0x26 /r ib] s:AVX512F, t:AVX512, l:fv, e:E2, w:W|R|R|R -VGETMANTSH Vdq{K}{z},Hdq,Wsh{sae},Ib nil [evex m:3 p:0 l:i w:0 0x27 /r ib] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:W|R|R|R|R -VGETMANTSS Vdq{K}{z},Hdq,Wss{sae},Ib nil [evex m:3 p:1 l:i w:0 0x27 /r ib] s:AVX512F, t:AVX512, l:t1s, e:E2, w:W|R|R|R|R -VGETMANTSD Vdq{K}{z},Hdq,Wsd{sae},Ib nil [evex m:3 p:1 l:i w:1 0x27 /r ib] s:AVX512F, t:AVX512, l:t1s, e:E2, w:W|R|R|R|R +VPINSRB Vdq,Hdq,Mb,Ib n/a [evex m:3 p:1 l:0 w:i 0x20 /r:mem ib] s:AVX512BW, t:AVX512, l:t1s8, e:E9NF, w:W|R|R|R +VPINSRB Vdq,Hdq,Rd,Ib n/a [evex m:3 p:1 l:0 w:i 0x20 /r:reg ib] s:AVX512BW, t:AVX512, l:t1s8, e:E9NF, w:W|R|R|R +VINSERTPS Vdq,Hdq,Md,Ib n/a [evex m:3 p:1 l:0 w:i 0x21 /r:mem ib] s:AVX512F, t:AVX512, l:t1s, e:E9NF, w:W|R|R|R +VINSERTPS Vdq,Hdq,Udq,Ib n/a [evex m:3 p:1 l:0 w:i 0x21 /r:reg ib] s:AVX512F, t:AVX512, l:t1s, e:E9NF, w:W|R|R|R +VPINSRD Vdq,Hdq,Ed,Ib n/a [evex m:3 p:1 l:0 w:0 0x22 /r ib] s:AVX512DQ, t:AVX512, l:t1s, e:E9NF, w:W|R|R|R, a:IWO64 +VPINSRQ Vdq,Hdq,Eq,Ib n/a [evex m:3 p:1 l:0 w:1 0x22 /r ib] s:AVX512DQ, t:AVX512, l:t1s, e:E9NF, w:W|R|R|R, a:IWO64 +VSHUFF32X4 Vuv{K}{z},Huv,Wuv|B32,Ib n/a [evex m:3 p:1 l:x w:0 0x23 /r ib] s:AVX512F, t:AVX512, a:NOL0, l:fv, e:E4NF, w:W|R|R|R|R +VSHUFF64X2 Vuv{K}{z},Huv,Wuv|B64,Ib n/a [evex m:3 p:1 l:x w:1 0x23 /r ib] s:AVX512F, t:AVX512, a:NOL0, l:fv, e:E4NF, w:W|R|R|R|R +VPTERNLOGD Vfv{K}{z},Hfv,Wfv|B32,Ib n/a [evex m:3 p:1 l:x w:0 0x25 /r ib] s:AVX512F, t:LOGICAL, l:fv, e:E4, w:RW|R|R|R|R +VPTERNLOGQ Vfv{K}{z},Hfv,Wfv|B64,Ib n/a [evex m:3 p:1 l:x w:1 0x25 /r ib] s:AVX512F, t:LOGICAL, l:fv, e:E4, w:RW|R|R|R|R +VGETMANTPH Vfv{K}{z},Wfv|B16{sae},Ib n/a [evex m:3 p:0 l:x w:0 0x26 /r ib] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:W|R|R|R +VGETMANTPS Vfv{K}{z},Wfv|B32{sae},Ib n/a [evex m:3 p:1 l:x w:0 0x26 /r ib] s:AVX512F, t:AVX512, l:fv, e:E2, w:W|R|R|R +VGETMANTPD Vfv{K}{z},Wfv|B64{sae},Ib n/a [evex m:3 p:1 l:x w:1 0x26 /r ib] s:AVX512F, t:AVX512, l:fv, e:E2, w:W|R|R|R +VGETMANTSH Vdq{K}{z},Hdq,Wsh{sae},Ib n/a [evex m:3 p:0 l:i w:0 0x27 /r ib] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:W|R|R|R|R +VGETMANTSS Vdq{K}{z},Hdq,Wss{sae},Ib n/a [evex m:3 p:1 l:i w:0 0x27 /r ib] s:AVX512F, t:AVX512, l:t1s, e:E2, w:W|R|R|R|R +VGETMANTSD Vdq{K}{z},Hdq,Wsd{sae},Ib n/a [evex m:3 p:1 l:i w:1 0x27 /r ib] s:AVX512F, t:AVX512, l:t1s, e:E2, w:W|R|R|R|R # 0x30 - 0x3F -VINSERTI32X4 Vuv{K}{z},Huv,Wdq,Ib nil [evex m:3 p:1 l:x w:0 0x38 /r ib] s:AVX512F, t:AVX512, a:NOL0, l:t4, e:E6NF, w:W|R|R|R|R -VINSERTI64X2 Vuv{K}{z},Huv,Wdq,Ib nil [evex m:3 p:1 l:x w:1 0x38 /r ib] s:AVX512DQ, t:AVX512, a:NOL0, l:t2, e:E6NF, w:W|R|R|R|R -VEXTRACTI32X4 Wdq{K}{z},Vuv,Ib nil [evex m:3 p:1 l:x w:0 0x39 /r ib] s:AVX512F, t:AVX512, a:NOL0, l:t4, e:E6NF, w:W|R|R|R -VEXTRACTI64X2 Wdq{K}{z},Vuv,Ib nil [evex m:3 p:1 l:x w:1 0x39 /r ib] s:AVX512DQ, t:AVX512, a:NOL0, l:t2, e:E6NF, w:W|R|R|R -VINSERTI32X8 Voq{K}{z},Hoq,Wqq,Ib nil [evex m:3 p:1 l:2 w:0 0x3A /r ib] s:AVX512DQ, t:AVX512, l:t8, e:E6NF, w:W|R|R|R|R -VINSERTI64X4 Voq{K}{z},Hoq,Wqq,Ib nil [evex m:3 p:1 l:2 w:1 0x3A /r ib] s:AVX512F, t:AVX512, l:t4, e:E6NF, w:W|R|R|R|R -VEXTRACTI32X8 Wqq{K}{z},Voq,Ib nil [evex m:3 p:1 l:2 w:0 0x3B /r ib] s:AVX512DQ, t:AVX512, l:t8, e:E6NF, w:W|R|R|R -VEXTRACTI64X4 Wqq{K}{z},Voq,Ib nil [evex m:3 p:1 l:2 w:1 0x3B /r ib] s:AVX512F, t:AVX512, l:t4, e:E6NF, w:W|R|R|R -VPCMPUB rKq{K},Hfv,Wfv,Ib nil [evex m:3 p:1 l:x w:0 0x3E /r ib] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R|R -VPCMPUW rKq{K},Hfv,Wfv,Ib nil [evex m:3 p:1 l:x w:1 0x3E /r ib] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R|R -VPCMPB rKq{K},Hfv,Wfv,Ib nil [evex m:3 p:1 l:x w:0 0x3F /r ib] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R|R -VPCMPW rKq{K},Hfv,Wfv,Ib nil [evex m:3 p:1 l:x w:1 0x3F /r ib] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R|R +VINSERTI32X4 Vuv{K}{z},Huv,Wdq,Ib n/a [evex m:3 p:1 l:x w:0 0x38 /r ib] s:AVX512F, t:AVX512, a:NOL0, l:t4, e:E6NF, w:W|R|R|R|R +VINSERTI64X2 Vuv{K}{z},Huv,Wdq,Ib n/a [evex m:3 p:1 l:x w:1 0x38 /r ib] s:AVX512DQ, t:AVX512, a:NOL0, l:t2, e:E6NF, w:W|R|R|R|R +VEXTRACTI32X4 Wdq{K}{z},Vuv,Ib n/a [evex m:3 p:1 l:x w:0 0x39 /r ib] s:AVX512F, t:AVX512, a:NOL0, l:t4, e:E6NF, w:W|R|R|R +VEXTRACTI64X2 Wdq{K}{z},Vuv,Ib n/a [evex m:3 p:1 l:x w:1 0x39 /r ib] s:AVX512DQ, t:AVX512, a:NOL0, l:t2, e:E6NF, w:W|R|R|R +VINSERTI32X8 Voq{K}{z},Hoq,Wqq,Ib n/a [evex m:3 p:1 l:2 w:0 0x3A /r ib] s:AVX512DQ, t:AVX512, l:t8, e:E6NF, w:W|R|R|R|R +VINSERTI64X4 Voq{K}{z},Hoq,Wqq,Ib n/a [evex m:3 p:1 l:2 w:1 0x3A /r ib] s:AVX512F, t:AVX512, l:t4, e:E6NF, w:W|R|R|R|R +VEXTRACTI32X8 Wqq{K}{z},Voq,Ib n/a [evex m:3 p:1 l:2 w:0 0x3B /r ib] s:AVX512DQ, t:AVX512, l:t8, e:E6NF, w:W|R|R|R +VEXTRACTI64X4 Wqq{K}{z},Voq,Ib n/a [evex m:3 p:1 l:2 w:1 0x3B /r ib] s:AVX512F, t:AVX512, l:t4, e:E6NF, w:W|R|R|R +VPCMPUB rKq{K},Hfv,Wfv,Ib n/a [evex m:3 p:1 l:x w:0 0x3E /r ib] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R|R +VPCMPUW rKq{K},Hfv,Wfv,Ib n/a [evex m:3 p:1 l:x w:1 0x3E /r ib] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R|R +VPCMPB rKq{K},Hfv,Wfv,Ib n/a [evex m:3 p:1 l:x w:0 0x3F /r ib] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R|R +VPCMPW rKq{K},Hfv,Wfv,Ib n/a [evex m:3 p:1 l:x w:1 0x3F /r ib] s:AVX512BW, t:AVX512, l:fvm, e:E4nb, w:W|R|R|R|R # 0x40 - 0x4F -VDBPSADBW Vfv{K}{z},Hfv,Wfv,Ib nil [evex m:3 p:1 l:x w:0 0x42 /r ib] s:AVX512BW, t:AVX512, l:fvm, e:E4NFnb, w:W|R|R|R|R -VSHUFI32X4 Vuv{K}{z},Huv,Wuv|B32,Ib nil [evex m:3 p:1 l:x w:0 0x43 /r ib] s:AVX512F, t:AVX512, a:NOL0, l:fv, e:E4NF, w:W|R|R|R|R -VSHUFI64X2 Vuv{K}{z},Huv,Wuv|B64,Ib nil [evex m:3 p:1 l:x w:1 0x43 /r ib] s:AVX512F, t:AVX512, a:NOL0, l:fv, e:E4NF, w:W|R|R|R|R -VPCLMULQDQ Vfv,Hfv,Wfv,Ib nil [evex m:3 p:1 l:x w:i 0x44 /r ib] s:VPCLMULQDQ, t:VPCLMULQDQ, l:fvm, e:E4NF, w:W|R|R|R +VDBPSADBW Vfv{K}{z},Hfv,Wfv,Ib n/a [evex m:3 p:1 l:x w:0 0x42 /r ib] s:AVX512BW, t:AVX512, l:fvm, e:E4NFnb, w:W|R|R|R|R +VSHUFI32X4 Vuv{K}{z},Huv,Wuv|B32,Ib n/a [evex m:3 p:1 l:x w:0 0x43 /r ib] s:AVX512F, t:AVX512, a:NOL0, l:fv, e:E4NF, w:W|R|R|R|R +VSHUFI64X2 Vuv{K}{z},Huv,Wuv|B64,Ib n/a [evex m:3 p:1 l:x w:1 0x43 /r ib] s:AVX512F, t:AVX512, a:NOL0, l:fv, e:E4NF, w:W|R|R|R|R +VPCLMULQDQ Vfv,Hfv,Wfv,Ib n/a [evex m:3 p:1 l:x w:i 0x44 /r ib] s:VPCLMULQDQ, t:VPCLMULQDQ, l:fvm, e:E4NF, w:W|R|R|R # 0x50 - 0x5F -VRANGEPS Vfv{K}{z},Hfv,Wfv|B32{sae},Ib nil [evex m:3 p:1 l:x w:0 0x50 /r ib] s:AVX512DQ, t:AVX512, l:fv, e:E2, w:W|R|R|R|R -VRANGEPD Vfv{K}{z},Hfv,Wfv|B64{sae},Ib nil [evex m:3 p:1 l:x w:1 0x50 /r ib] s:AVX512DQ, t:AVX512, l:fv, e:E2, w:W|R|R|R|R -VRANGESS Vdq{K}{z},Hdq,Wss{sae},Ib nil [evex m:3 p:1 l:i w:0 0x51 /r ib] s:AVX512DQ, t:AVX512, l:t1s, e:E3, w:W|R|R|R|R -VRANGESD Vdq{K}{z},Hdq,Wsd{sae},Ib nil [evex m:3 p:1 l:i w:1 0x51 /r ib] s:AVX512DQ, t:AVX512, l:t1s, e:E3, w:W|R|R|R|R -VFIXUPIMMPS Vfv{K}{z},Hfv,Wfv|B32{sae},Ib nil [evex m:3 p:1 l:x w:0 0x54 /r ib] s:AVX512F, t:AVX512, l:fv, e:E2, w:RW|R|R|R|R -VFIXUPIMMPD Vfv{K}{z},Hfv,Wfv|B64{sae},Ib nil [evex m:3 p:1 l:x w:1 0x54 /r ib] s:AVX512F, t:AVX512, l:fv, e:E2, w:RW|R|R|R|R -VFIXUPIMMSS Vdq{K}{z},Hdq,Wss{sae},Ib nil [evex m:3 p:1 l:i w:0 0x55 /r ib] s:AVX512F, t:AVX512, l:t1s, e:E3, w:RW|R|R|R|R -VFIXUPIMMSD Vdq{K}{z},Hdq,Wsd{sae},Ib nil [evex m:3 p:1 l:i w:1 0x55 /r ib] s:AVX512F, t:AVX512, l:t1s, e:E3, w:RW|R|R|R|R -VREDUCEPH Vfv{K}{z},Wfv|B16{sae},Ib nil [evex m:3 p:0 l:x w:0 0x56 /r ib] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:W|R|R|R -VREDUCEPS Vfv{K}{z},Wfv|B32{sae},Ib nil [evex m:3 p:1 l:x w:0 0x56 /r ib] s:AVX512DQ, t:AVX512, l:fv, e:E2, w:W|R|R|R -VREDUCEPD Vfv{K}{z},Wfv|B64{sae},Ib nil [evex m:3 p:1 l:x w:1 0x56 /r ib] s:AVX512DQ, t:AVX512, l:fv, e:E2, w:W|R|R|R -VREDUCESH Vdq{K}{z},Hdq,Wsh{sae},Ib nil [evex m:3 p:0 l:i w:0 0x57 /r ib] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:W|R|R|R|R -VREDUCESS Vdq{K}{z},Hdq,Wss{sae},Ib nil [evex m:3 p:1 l:i w:0 0x57 /r ib] s:AVX512DQ, t:AVX512, l:t1s, e:E3, w:W|R|R|R|R -VREDUCESD Vdq{K}{z},Hdq,Wsd{sae},Ib nil [evex m:3 p:1 l:i w:1 0x57 /r ib] s:AVX512DQ, t:AVX512, l:t1s, e:E3, w:W|R|R|R|R +VRANGEPS Vfv{K}{z},Hfv,Wfv|B32{sae},Ib n/a [evex m:3 p:1 l:x w:0 0x50 /r ib] s:AVX512DQ, t:AVX512, l:fv, e:E2, w:W|R|R|R|R +VRANGEPD Vfv{K}{z},Hfv,Wfv|B64{sae},Ib n/a [evex m:3 p:1 l:x w:1 0x50 /r ib] s:AVX512DQ, t:AVX512, l:fv, e:E2, w:W|R|R|R|R +VRANGESS Vdq{K}{z},Hdq,Wss{sae},Ib n/a [evex m:3 p:1 l:i w:0 0x51 /r ib] s:AVX512DQ, t:AVX512, l:t1s, e:E3, w:W|R|R|R|R +VRANGESD Vdq{K}{z},Hdq,Wsd{sae},Ib n/a [evex m:3 p:1 l:i w:1 0x51 /r ib] s:AVX512DQ, t:AVX512, l:t1s, e:E3, w:W|R|R|R|R +VFIXUPIMMPS Vfv{K}{z},Hfv,Wfv|B32{sae},Ib n/a [evex m:3 p:1 l:x w:0 0x54 /r ib] s:AVX512F, t:AVX512, l:fv, e:E2, w:RW|R|R|R|R +VFIXUPIMMPD Vfv{K}{z},Hfv,Wfv|B64{sae},Ib n/a [evex m:3 p:1 l:x w:1 0x54 /r ib] s:AVX512F, t:AVX512, l:fv, e:E2, w:RW|R|R|R|R +VFIXUPIMMSS Vdq{K}{z},Hdq,Wss{sae},Ib n/a [evex m:3 p:1 l:i w:0 0x55 /r ib] s:AVX512F, t:AVX512, l:t1s, e:E3, w:RW|R|R|R|R +VFIXUPIMMSD Vdq{K}{z},Hdq,Wsd{sae},Ib n/a [evex m:3 p:1 l:i w:1 0x55 /r ib] s:AVX512F, t:AVX512, l:t1s, e:E3, w:RW|R|R|R|R +VREDUCEPH Vfv{K}{z},Wfv|B16{sae},Ib n/a [evex m:3 p:0 l:x w:0 0x56 /r ib] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:W|R|R|R +VREDUCEPS Vfv{K}{z},Wfv|B32{sae},Ib n/a [evex m:3 p:1 l:x w:0 0x56 /r ib] s:AVX512DQ, t:AVX512, l:fv, e:E2, w:W|R|R|R +VREDUCEPD Vfv{K}{z},Wfv|B64{sae},Ib n/a [evex m:3 p:1 l:x w:1 0x56 /r ib] s:AVX512DQ, t:AVX512, l:fv, e:E2, w:W|R|R|R +VREDUCESH Vdq{K}{z},Hdq,Wsh{sae},Ib n/a [evex m:3 p:0 l:i w:0 0x57 /r ib] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:W|R|R|R|R +VREDUCESS Vdq{K}{z},Hdq,Wss{sae},Ib n/a [evex m:3 p:1 l:i w:0 0x57 /r ib] s:AVX512DQ, t:AVX512, l:t1s, e:E3, w:W|R|R|R|R +VREDUCESD Vdq{K}{z},Hdq,Wsd{sae},Ib n/a [evex m:3 p:1 l:i w:1 0x57 /r ib] s:AVX512DQ, t:AVX512, l:t1s, e:E3, w:W|R|R|R|R # 0x60 - 0x6F -VFPCLASSPH rKq{K},Wfv|B16,Ib nil [evex m:3 p:0 l:x w:0 0x66 /r ib] s:AVX512FP16, t:AVX512FP16, l:fv, e:E4, w:W|R|R|R -VFPCLASSPS rKq{K},Wfv|B32,Ib nil [evex m:3 p:1 l:x w:0 0x66 /r ib] s:AVX512DQ, t:AVX512, l:fv, e:E4, w:W|R|R|R -VFPCLASSPD rKq{K},Wfv|B64,Ib nil [evex m:3 p:1 l:x w:1 0x66 /r ib] s:AVX512DQ, t:AVX512, l:fv, e:E4, w:W|R|R|R -VFPCLASSSH rKq{K},Wsh,Ib nil [evex m:3 p:0 l:i w:0 0x67 /r ib] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E10, w:W|R|R|R -VFPCLASSSS rKq{K},Wss,Ib nil [evex m:3 p:1 l:i w:0 0x67 /r ib] s:AVX512DQ, t:AVX512, l:t1s, e:E6, w:W|R|R|R -VFPCLASSSD rKq{K},Wsd,Ib nil [evex m:3 p:1 l:i w:1 0x67 /r ib] s:AVX512DQ, t:AVX512, l:t1s, e:E6, w:W|R|R|R +VFPCLASSPH rKq{K},Wfv|B16,Ib n/a [evex m:3 p:0 l:x w:0 0x66 /r ib] s:AVX512FP16, t:AVX512FP16, l:fv, e:E4, w:W|R|R|R +VFPCLASSPS rKq{K},Wfv|B32,Ib n/a [evex m:3 p:1 l:x w:0 0x66 /r ib] s:AVX512DQ, t:AVX512, l:fv, e:E4, w:W|R|R|R +VFPCLASSPD rKq{K},Wfv|B64,Ib n/a [evex m:3 p:1 l:x w:1 0x66 /r ib] s:AVX512DQ, t:AVX512, l:fv, e:E4, w:W|R|R|R +VFPCLASSSH rKq{K},Wsh,Ib n/a [evex m:3 p:0 l:i w:0 0x67 /r ib] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E10, w:W|R|R|R +VFPCLASSSS rKq{K},Wss,Ib n/a [evex m:3 p:1 l:i w:0 0x67 /r ib] s:AVX512DQ, t:AVX512, l:t1s, e:E6, w:W|R|R|R +VFPCLASSSD rKq{K},Wsd,Ib n/a [evex m:3 p:1 l:i w:1 0x67 /r ib] s:AVX512DQ, t:AVX512, l:t1s, e:E6, w:W|R|R|R # 0x70 - 0x7F -VPSHLDW Vfv{K}{z},Hfv,Wfv,Ib nil [evex m:3 p:1 l:x w:1 0x70 /r ib] s:AVX512VBMI2, t:AVX512VBMI, l:fvm, e:E4, w:RW|R|R|R|R -VPSHLDD Vfv{K}{z},Hfv,Wfv|B32,Ib nil [evex m:3 p:1 l:x w:0 0x71 /r ib] s:AVX512VBMI2, t:AVX512VBMI, l:fv, e:E4, w:RW|R|R|R|R -VPSHLDQ Vfv{K}{z},Hfv,Wfv|B64,Ib nil [evex m:3 p:1 l:x w:1 0x71 /r ib] s:AVX512VBMI2, t:AVX512VBMI, l:fv, e:E4, w:RW|R|R|R|R -VPSHRDW Vfv{K}{z},Hfv,Wfv,Ib nil [evex m:3 p:1 l:x w:1 0x72 /r ib] s:AVX512VBMI2, t:AVX512VBMI, l:fvm, e:E4, w:RW|R|R|R|R -VPSHRDD Vfv{K}{z},Hfv,Wfv|B32,Ib nil [evex m:3 p:1 l:x w:0 0x73 /r ib] s:AVX512VBMI2, t:AVX512VBMI, l:fv, e:E4, w:RW|R|R|R|R -VPSHRDQ Vfv{K}{z},Hfv,Wfv|B64,Ib nil [evex m:3 p:1 l:x w:1 0x73 /r ib] s:AVX512VBMI2, t:AVX512VBMI, l:fv, e:E4, w:RW|R|R|R|R +VPSHLDW Vfv{K}{z},Hfv,Wfv,Ib n/a [evex m:3 p:1 l:x w:1 0x70 /r ib] s:AVX512VBMI2, t:AVX512VBMI, l:fvm, e:E4, w:RW|R|R|R|R +VPSHLDD Vfv{K}{z},Hfv,Wfv|B32,Ib n/a [evex m:3 p:1 l:x w:0 0x71 /r ib] s:AVX512VBMI2, t:AVX512VBMI, l:fv, e:E4, w:RW|R|R|R|R +VPSHLDQ Vfv{K}{z},Hfv,Wfv|B64,Ib n/a [evex m:3 p:1 l:x w:1 0x71 /r ib] s:AVX512VBMI2, t:AVX512VBMI, l:fv, e:E4, w:RW|R|R|R|R +VPSHRDW Vfv{K}{z},Hfv,Wfv,Ib n/a [evex m:3 p:1 l:x w:1 0x72 /r ib] s:AVX512VBMI2, t:AVX512VBMI, l:fvm, e:E4, w:RW|R|R|R|R +VPSHRDD Vfv{K}{z},Hfv,Wfv|B32,Ib n/a [evex m:3 p:1 l:x w:0 0x73 /r ib] s:AVX512VBMI2, t:AVX512VBMI, l:fv, e:E4, w:RW|R|R|R|R +VPSHRDQ Vfv{K}{z},Hfv,Wfv|B64,Ib n/a [evex m:3 p:1 l:x w:1 0x73 /r ib] s:AVX512VBMI2, t:AVX512VBMI, l:fv, e:E4, w:RW|R|R|R|R # 0x80 - 0x8F @@ -119,11 +124,11 @@ VPSHRDQ Vfv{K}{z},Hfv,Wfv|B64,Ib nil [evex m:3 p:1 l:x w: # 0xB0 - 0xBF # 0xC0 - 0xCF -VCMPPH rK{K},Hfv,Wfv|B16{sae},Ib nil [evex m:3 p:0 l:x w:0 0xC2 /r ib] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:W|R|R|R|R -VCMPSH rK{K},Hfv,Wsh{sae},Ib nil [evex m:3 p:2 l:i w:0 0xC2 /r ib] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:W|R|R|R|R +VCMPPH rK{K},Hfv,Wfv|B16{sae},Ib n/a [evex m:3 p:0 l:x w:0 0xC2 /r ib] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:W|R|R|R|R +VCMPSH rK{K},Hfv,Wsh{sae},Ib n/a [evex m:3 p:2 l:i w:0 0xC2 /r ib] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:W|R|R|R|R -VGF2P8AFFINEQB Vfv{K}{z},Hfv,Wfv|B64,Ib nil [evex m:3 p:1 l:x w:1 0xCE /r ib] s:GFNI, t:GFNI, l:fv, e:E4NF, w:W|R|R|R|R -VGF2P8AFFINEINVQB Vfv{K}{z},Hfv,Wfv|B64,Ib nil [evex m:3 p:1 l:x w:1 0xCF /r ib] s:GFNI, t:GFNI, l:fv, e:E4NF, w:W|R|R|R|R +VGF2P8AFFINEQB Vfv{K}{z},Hfv,Wfv|B64,Ib n/a [evex m:3 p:1 l:x w:1 0xCE /r ib] s:GFNI, t:GFNI, l:fv, e:E4NF, w:W|R|R|R|R +VGF2P8AFFINEINVQB Vfv{K}{z},Hfv,Wfv|B64,Ib n/a [evex m:3 p:1 l:x w:1 0xCF /r ib] s:GFNI, t:GFNI, l:fv, e:E4NF, w:W|R|R|R|R # 0xD0 - 0xDF diff --git a/isagenerator/instructions/table_evex5.dat b/isagenerator/instructions/table_evex5.dat index c387c57..6c0a760 100644 --- a/isagenerator/instructions/table_evex5.dat +++ b/isagenerator/instructions/table_evex5.dat @@ -1,65 +1,70 @@ +# +# Copyright (c) 2020 Bitdefender +# SPDX-License-Identifier: Apache-2.0 +# + # Mnemonic Explicit Operands Implicit Encoding Flags, Prefixes, Set, Category, Class, RW map, Additional ops #------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ # 0x10 - 0x1F -VMOVSH Vdq{K}{z},Wsh nil [evex m:5 p:2 l:i w:0 0x10 /r:mem] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E5, w:W|R|R -VMOVSH Vdq{K}{z},Hdq,Wsh nil [evex m:5 p:2 l:i w:0 0x10 /r:reg] s:AVX512FP16, t:AVX512FP16, e:E5, w:W|R|R|R -VMOVSH Wsh{K},Vdq nil [evex m:5 p:2 l:i w:0 0x11 /r:mem] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E5, w:W|R|R -VMOVSH Wsh{K}{z},Hdq,Vdq nil [evex m:5 p:2 l:i w:0 0x11 /r:reg] s:AVX512FP16, t:AVX512FP16, e:E5, w:W|R|R|R -VCVTPS2PHX Vhv{K}{z},Wfv|B32{er} nil [evex m:5 p:1 l:x w:0 0x1D /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:W|R|R -VCVTSS2SH Vdq{K}{z},Hdq,Wss{er} nil [evex m:5 p:0 l:i w:0 0x1D /r] s:AVX512FP16, t:AVX512FP16, l:t1s, e:E3, w:W|R|R|R +VMOVSH Vdq{K}{z},Wsh n/a [evex m:5 p:2 l:i w:0 0x10 /r:mem] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E5, w:W|R|R +VMOVSH Vdq{K}{z},Hdq,Wsh n/a [evex m:5 p:2 l:i w:0 0x10 /r:reg] s:AVX512FP16, t:AVX512FP16, e:E5, w:W|R|R|R +VMOVSH Wsh{K},Vdq n/a [evex m:5 p:2 l:i w:0 0x11 /r:mem] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E5, w:W|R|R +VMOVSH Wsh{K}{z},Hdq,Vdq n/a [evex m:5 p:2 l:i w:0 0x11 /r:reg] s:AVX512FP16, t:AVX512FP16, e:E5, w:W|R|R|R +VCVTPS2PHX Vhv{K}{z},Wfv|B32{er} n/a [evex m:5 p:1 l:x w:0 0x1D /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:W|R|R +VCVTSS2SH Vdq{K}{z},Hdq,Wss{er} n/a [evex m:5 p:0 l:i w:0 0x1D /r] s:AVX512FP16, t:AVX512FP16, l:t1s, e:E3, w:W|R|R|R # 0x20 - 0x2F -VCVTSI2SH Vdq,Hdq,Ey nil [evex m:5 p:2 l:i w:x 0x2A /r] s:AVX512FP16, t:AVX512FP16, l:t1s, e:E3NF, w:W|R|R, a:IWO64 -VCVTTSH2SI Gy,Wsh{sae} nil [evex m:5 p:2 l:i w:x 0x2C /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3NF, w:W|R, a:IWO64 -VCVTSH2SI Gy,Wsh{er} nil [evex m:5 p:2 l:i w:x 0x2D /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3NF, w:W|R, a:IWO64 +VCVTSI2SH Vdq,Hdq,Ey n/a [evex m:5 p:2 l:i w:x 0x2A /r] s:AVX512FP16, t:AVX512FP16, l:t1s, e:E3NF, w:W|R|R, a:IWO64 +VCVTTSH2SI Gy,Wsh{sae} n/a [evex m:5 p:2 l:i w:x 0x2C /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3NF, w:W|R, a:IWO64 +VCVTSH2SI Gy,Wsh{er} n/a [evex m:5 p:2 l:i w:x 0x2D /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3NF, w:W|R, a:IWO64 VUCOMISH Vdq,Wsh{sae} Fv [evex m:5 p:0 l:i w:0 0x2E /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3NF, w:R|R|W, f:ZF=m|PF=m|CF=m|OF=0|SF=0|AF=0 VCOMISH Vdq,Wsh{sae} Fv [evex m:5 p:0 l:i w:0 0x2F /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3NF, w:R|R|W, f:ZF=m|PF=m|CF=m|OF=0|SF=0|AF=0 # 0x50 - 0x5F -VSQRTPH Vfv{K}{z},Wfv|B16{er} nil [evex m:5 p:0 l:x w:0 0x51 /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:W|R|R -VSQRTSH Vdq{K}{z},Hdq,Wsh{er} nil [evex m:5 p:2 l:i w:0 0x51 /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:W|R|R|R -VADDPH Vfv{K}{z},Hfv,Wfv|B16{er} nil [evex m:5 p:0 l:x w:0 0x58 /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:W|R|R|R -VADDSH Vdq{K}{z},Hdq,Wsh{er} nil [evex m:5 p:2 l:i w:0 0x58 /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:W|R|R|R -VMULPH Vfv{K}{z},Hfv,Wfv|B16{er} nil [evex m:5 p:0 l:x w:0 0x59 /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:W|R|R|R -VMULSH Vdq{K}{z},Hdq,Wsh{er} nil [evex m:5 p:2 l:i w:0 0x59 /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:W|R|R|R -VCVTPH2PD Vfv{K}{z},Wqv|B16{sae} nil [evex m:5 p:0 l:x w:0 0x5A /r] s:AVX512FP16, t:AVX512FP16, l:qv, e:E2, w:W|R|R -VCVTPD2PH Vdq{K}{z},Wfv|B64{er} nil [evex m:5 p:1 l:x w:1 0x5A /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:W|R|R -VCVTSH2SD Vdq{K}{z},Hdq,Wsh{sae} nil [evex m:5 p:2 l:i w:0 0x5A /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:W|R|R|R -VCVTSD2SH Vdq{K}{z},Hdq,Wsd{er} nil [evex m:5 p:3 l:i w:1 0x5A /r] s:AVX512FP16, t:AVX512FP16, l:t1s, e:E3, w:W|R|R|R -VCVTDQ2PH Vhv{K}{z},Wfv|B32{er} nil [evex m:5 p:0 l:x w:0 0x5B /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:W|R|R -VCVTQQ2PH Vdq{K}{z},Wfv|B64{er} nil [evex m:5 p:0 l:x w:1 0x5B /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:W|R|R -VCVTPH2DQ Vfv{K}{z},Whv|B16{er} nil [evex m:5 p:1 l:x w:0 0x5B /r] s:AVX512FP16, t:AVX512FP16, l:hv, e:E2, w:W|R|R -VCVTTPH2DQ Vfv{K}{z},Whv|B16{sae} nil [evex m:5 p:2 l:x w:0 0x5B /r] s:AVX512FP16, t:AVX512FP16, l:hv, e:E2, w:W|R|R -VSUBPH Vfv{K}{z},Hfv,Wfv|B16{sae} nil [evex m:5 p:0 l:x w:0 0x5C /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:W|R|R|R -VSUBSH Vdq{K}{z},Hdq,Wsh{sae} nil [evex m:5 p:2 l:i w:0 0x5C /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:W|R|R|R -VMINPH Vfv{K}{z},Hfv,Wfv|B16{sae} nil [evex m:5 p:0 l:x w:0 0x5D /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:W|R|R|R -VMINSH Vdq{K}{z},Hdq,Wsh{sae} nil [evex m:5 p:2 l:i w:0 0x5D /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:W|R|R|R -VDIVPH Vfv{K}{z},Hfv,Wfv|B16{er} nil [evex m:5 p:0 l:x w:0 0x5E /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:W|R|R|R -VDIVSH Vdq{K}{z},Hdq,Wsh{er} nil [evex m:5 p:2 l:i w:0 0x5E /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:W|R|R|R -VMAXPH Vfv{K}{z},Hfv,Wfv|B16{sae} nil [evex m:5 p:0 l:x w:0 0x5F /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:W|R|R|R -VMAXSH Vdq{K}{z},Hdq,Wsh{sae} nil [evex m:5 p:2 l:i w:0 0x5F /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:W|R|R|R +VSQRTPH Vfv{K}{z},Wfv|B16{er} n/a [evex m:5 p:0 l:x w:0 0x51 /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:W|R|R +VSQRTSH Vdq{K}{z},Hdq,Wsh{er} n/a [evex m:5 p:2 l:i w:0 0x51 /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:W|R|R|R +VADDPH Vfv{K}{z},Hfv,Wfv|B16{er} n/a [evex m:5 p:0 l:x w:0 0x58 /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:W|R|R|R +VADDSH Vdq{K}{z},Hdq,Wsh{er} n/a [evex m:5 p:2 l:i w:0 0x58 /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:W|R|R|R +VMULPH Vfv{K}{z},Hfv,Wfv|B16{er} n/a [evex m:5 p:0 l:x w:0 0x59 /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:W|R|R|R +VMULSH Vdq{K}{z},Hdq,Wsh{er} n/a [evex m:5 p:2 l:i w:0 0x59 /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:W|R|R|R +VCVTPH2PD Vfv{K}{z},Wqv|B16{sae} n/a [evex m:5 p:0 l:x w:0 0x5A /r] s:AVX512FP16, t:AVX512FP16, l:qv, e:E2, w:W|R|R +VCVTPD2PH Vdq{K}{z},Wfv|B64{er} n/a [evex m:5 p:1 l:x w:1 0x5A /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:W|R|R +VCVTSH2SD Vdq{K}{z},Hdq,Wsh{sae} n/a [evex m:5 p:2 l:i w:0 0x5A /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:W|R|R|R +VCVTSD2SH Vdq{K}{z},Hdq,Wsd{er} n/a [evex m:5 p:3 l:i w:1 0x5A /r] s:AVX512FP16, t:AVX512FP16, l:t1s, e:E3, w:W|R|R|R +VCVTDQ2PH Vhv{K}{z},Wfv|B32{er} n/a [evex m:5 p:0 l:x w:0 0x5B /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:W|R|R +VCVTQQ2PH Vdq{K}{z},Wfv|B64{er} n/a [evex m:5 p:0 l:x w:1 0x5B /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:W|R|R +VCVTPH2DQ Vfv{K}{z},Whv|B16{er} n/a [evex m:5 p:1 l:x w:0 0x5B /r] s:AVX512FP16, t:AVX512FP16, l:hv, e:E2, w:W|R|R +VCVTTPH2DQ Vfv{K}{z},Whv|B16{sae} n/a [evex m:5 p:2 l:x w:0 0x5B /r] s:AVX512FP16, t:AVX512FP16, l:hv, e:E2, w:W|R|R +VSUBPH Vfv{K}{z},Hfv,Wfv|B16{sae} n/a [evex m:5 p:0 l:x w:0 0x5C /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:W|R|R|R +VSUBSH Vdq{K}{z},Hdq,Wsh{sae} n/a [evex m:5 p:2 l:i w:0 0x5C /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:W|R|R|R +VMINPH Vfv{K}{z},Hfv,Wfv|B16{sae} n/a [evex m:5 p:0 l:x w:0 0x5D /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:W|R|R|R +VMINSH Vdq{K}{z},Hdq,Wsh{sae} n/a [evex m:5 p:2 l:i w:0 0x5D /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:W|R|R|R +VDIVPH Vfv{K}{z},Hfv,Wfv|B16{er} n/a [evex m:5 p:0 l:x w:0 0x5E /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:W|R|R|R +VDIVSH Vdq{K}{z},Hdq,Wsh{er} n/a [evex m:5 p:2 l:i w:0 0x5E /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:W|R|R|R +VMAXPH Vfv{K}{z},Hfv,Wfv|B16{sae} n/a [evex m:5 p:0 l:x w:0 0x5F /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:W|R|R|R +VMAXSH Vdq{K}{z},Hdq,Wsh{sae} n/a [evex m:5 p:2 l:i w:0 0x5F /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:W|R|R|R # 0x60 - 0x6F -VMOVW Vdq,Mw nil [evex m:5 p:1 l:0 w:i 0x6E /r:mem] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E9NF, w:W|R -VMOVW Vdq,Rd nil [evex m:5 p:1 l:0 w:i 0x6E /r:reg] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E9NF, w:W|R +VMOVW Vdq,Mw n/a [evex m:5 p:1 l:0 w:i 0x6E /r:mem] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E9NF, w:W|R +VMOVW Vdq,Rd n/a [evex m:5 p:1 l:0 w:i 0x6E /r:reg] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E9NF, w:W|R # 0x70 - 0x7F -VCVTTPH2UDQ Vfv{K}{z},Whv|B16{sae} nil [evex m:5 p:0 l:x w:0 0x78 /r] s:AVX512FP16, t:AVX512FP16, l:hv, e:E2, w:W|R|R -VCVTTPH2UQQ Vfv{K}{z},Wqv|B16{sae} nil [evex m:5 p:1 l:x w:0 0x78 /r] s:AVX512FP16, t:AVX512FP16, l:qv, e:E2, w:W|R|R -VCVTTSH2USI Gy,Wsh{sae} nil [evex m:5 p:2 l:i w:0 0x78 /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3NF, w:W|R, a:IWO64 -VCVTPH2UDQ Vfv{K}{z},Whv|B16{er} nil [evex m:5 p:0 l:x w:0 0x79 /r] s:AVX512FP16, t:AVX512FP16, l:hv, e:E2, w:W|R|R -VCVTPH2UQQ Vfv{K}{z},Wqv|B16{er} nil [evex m:5 p:1 l:x w:0 0x79 /r] s:AVX512FP16, t:AVX512FP16, l:qv, e:E2, w:W|R|R -VCVTSH2USI Gy,Wsh{er} nil [evex m:5 p:2 l:i w:x 0x79 /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3NF, w:W|R, a:IWO64 -VCVTUDQ2PH Vhv{K}{z},Wfv|B32{er} nil [evex m:5 p:3 l:x w:0 0x7A /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:W|R|R -VCVTUQQ2PH Vqv{K}{z},Wfv|B64{er} nil [evex m:5 p:3 l:x w:1 0x7A /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:W|R|R -VCVTTPH2QQ Vfv{K}{z},Wqv|B16{sae} nil [evex m:5 p:1 l:x w:0 0x7A /r] s:AVX512FP16, t:AVX512FP16, l:qv, e:E2, w:W|R|R -VCVTPH2QQ Vfv{K}{z},Wqv|B16{er} nil [evex m:5 p:1 l:x w:0 0x7B /r] s:AVX512FP16, t:AVX512FP16, l:qv, e:E2, w:W|R|R -VCVTUSI2SH Vdq,Hdq,Ey{er} nil [evex m:5 p:2 l:i w:x 0x7B /r] s:AVX512FP16, t:AVX512FP16, l:t1s, e:E3NF, w:W|R|R, a:IWO64 -VCVTTPH2UW Vfv{K}{z},Wfv|B16{sae} nil [evex m:5 p:0 l:x w:0 0x7C /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:W|R|R -VCVTTPH2W Vfv{K}{z},Wfv|B16{sae} nil [evex m:5 p:1 l:x w:0 0x7C /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:W|R|R -VCVTPH2UW Vfv{K}{z},Wfv|B16{er} nil [evex m:5 p:0 l:x w:0 0x7D /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:W|R|R -VCVTPH2W Vfv{K}{z},Wfv|B16{er} nil [evex m:5 p:1 l:x w:0 0x7D /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:W|R|R -VCVTW2PH Vfv{K}{z},Wfv|B16{er} nil [evex m:5 p:2 l:x w:0 0x7D /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:W|R|R -VCVTUW2PH Vfv{K}{z},Wfv|B16{er} nil [evex m:5 p:3 l:x w:0 0x7D /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:W|R|R -VMOVW Mw,Vdq nil [evex m:5 p:1 l:0 w:i 0x7E /r:mem] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E9NF, w:W|R -VMOVW Rd,Vdq nil [evex m:5 p:1 l:0 w:i 0x7E /r:reg] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E9NF, w:W|R +VCVTTPH2UDQ Vfv{K}{z},Whv|B16{sae} n/a [evex m:5 p:0 l:x w:0 0x78 /r] s:AVX512FP16, t:AVX512FP16, l:hv, e:E2, w:W|R|R +VCVTTPH2UQQ Vfv{K}{z},Wqv|B16{sae} n/a [evex m:5 p:1 l:x w:0 0x78 /r] s:AVX512FP16, t:AVX512FP16, l:qv, e:E2, w:W|R|R +VCVTTSH2USI Gy,Wsh{sae} n/a [evex m:5 p:2 l:i w:0 0x78 /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3NF, w:W|R, a:IWO64 +VCVTPH2UDQ Vfv{K}{z},Whv|B16{er} n/a [evex m:5 p:0 l:x w:0 0x79 /r] s:AVX512FP16, t:AVX512FP16, l:hv, e:E2, w:W|R|R +VCVTPH2UQQ Vfv{K}{z},Wqv|B16{er} n/a [evex m:5 p:1 l:x w:0 0x79 /r] s:AVX512FP16, t:AVX512FP16, l:qv, e:E2, w:W|R|R +VCVTSH2USI Gy,Wsh{er} n/a [evex m:5 p:2 l:i w:x 0x79 /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3NF, w:W|R, a:IWO64 +VCVTUDQ2PH Vhv{K}{z},Wfv|B32{er} n/a [evex m:5 p:3 l:x w:0 0x7A /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:W|R|R +VCVTUQQ2PH Vqv{K}{z},Wfv|B64{er} n/a [evex m:5 p:3 l:x w:1 0x7A /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:W|R|R +VCVTTPH2QQ Vfv{K}{z},Wqv|B16{sae} n/a [evex m:5 p:1 l:x w:0 0x7A /r] s:AVX512FP16, t:AVX512FP16, l:qv, e:E2, w:W|R|R +VCVTPH2QQ Vfv{K}{z},Wqv|B16{er} n/a [evex m:5 p:1 l:x w:0 0x7B /r] s:AVX512FP16, t:AVX512FP16, l:qv, e:E2, w:W|R|R +VCVTUSI2SH Vdq,Hdq,Ey{er} n/a [evex m:5 p:2 l:i w:x 0x7B /r] s:AVX512FP16, t:AVX512FP16, l:t1s, e:E3NF, w:W|R|R, a:IWO64 +VCVTTPH2UW Vfv{K}{z},Wfv|B16{sae} n/a [evex m:5 p:0 l:x w:0 0x7C /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:W|R|R +VCVTTPH2W Vfv{K}{z},Wfv|B16{sae} n/a [evex m:5 p:1 l:x w:0 0x7C /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:W|R|R +VCVTPH2UW Vfv{K}{z},Wfv|B16{er} n/a [evex m:5 p:0 l:x w:0 0x7D /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:W|R|R +VCVTPH2W Vfv{K}{z},Wfv|B16{er} n/a [evex m:5 p:1 l:x w:0 0x7D /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:W|R|R +VCVTW2PH Vfv{K}{z},Wfv|B16{er} n/a [evex m:5 p:2 l:x w:0 0x7D /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:W|R|R +VCVTUW2PH Vfv{K}{z},Wfv|B16{er} n/a [evex m:5 p:3 l:x w:0 0x7D /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:W|R|R +VMOVW Mw,Vdq n/a [evex m:5 p:1 l:0 w:i 0x7E /r:mem] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E9NF, w:W|R +VMOVW Rd,Vdq n/a [evex m:5 p:1 l:0 w:i 0x7E /r:reg] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E9NF, w:W|R diff --git a/isagenerator/instructions/table_evex6.dat b/isagenerator/instructions/table_evex6.dat index 4d777ad..0baf37e 100644 --- a/isagenerator/instructions/table_evex6.dat +++ b/isagenerator/instructions/table_evex6.dat @@ -1,65 +1,70 @@ +# +# Copyright (c) 2020 Bitdefender +# SPDX-License-Identifier: Apache-2.0 +# + # Mnemonic Explicit Operands Implicit Encoding Flags, Prefixes, Set, Category, Class, RW map, Additional ops #------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ # 0x10 - 0x1F -VCVTSH2SS Vdq{K}{z},Hdq,Wsh{sae} nil [evex m:6 p:0 l:i w:0 0x13 /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:W|R|R|R -VCVTPH2PSX Vfv{K}{z},Whv|B16{sae} nil [evex m:6 p:1 l:x w:0 0x13 /r] s:AVX512FP16, t:AVX512FP16, l:hv, e:E2, w:W|R|R +VCVTSH2SS Vdq{K}{z},Hdq,Wsh{sae} n/a [evex m:6 p:0 l:i w:0 0x13 /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:W|R|R|R +VCVTPH2PSX Vfv{K}{z},Whv|B16{sae} n/a [evex m:6 p:1 l:x w:0 0x13 /r] s:AVX512FP16, t:AVX512FP16, l:hv, e:E2, w:W|R|R # 0x20 - 0x2F -VSCALEFPH Vfv{K}{z},Hfv,Wfv|B16{er} nil [evex m:6 p:1 l:x w:0 0x2C /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:W|R|R|R -VSCALEFSH Vdq{K}{z},Hdq,Wsh{er} nil [evex m:6 p:1 l:i w:0 0x2D /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:W|R|R|R +VSCALEFPH Vfv{K}{z},Hfv,Wfv|B16{er} n/a [evex m:6 p:1 l:x w:0 0x2C /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:W|R|R|R +VSCALEFSH Vdq{K}{z},Hdq,Wsh{er} n/a [evex m:6 p:1 l:i w:0 0x2D /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:W|R|R|R # 0x40 - 0x4F -VGETEXPPH Vfv{K}{z},Wfv|B16{sae} nil [evex m:6 p:1 l:x w:0 0x42 /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:W|R|R -VGETEXPSH Vdq{K}{z},Hdq,Wsh{sae} nil [evex m:6 p:1 l:i w:0 0x43 /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:W|R|R|R -VRCPPH Vfv{K}{z},Wfv|B16 nil [evex m:6 p:1 l:x w:0 0x4C /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E4, w:W|R|R -VRCPSH Vdq{K}{z},Hdq,Wsh nil [evex m:6 p:1 l:i w:0 0x4D /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E10, w:W|R|R|R -VRSQRTPH Vfv{K}{z},Wfv|B16 nil [evex m:6 p:1 l:x w:0 0x4E /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E4, w:W|R|R -VRSQRTSH Vdq{K}{z},Hdq,Wsh nil [evex m:6 p:1 l:i w:0 0x4F /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E10, w:W|R|R|R +VGETEXPPH Vfv{K}{z},Wfv|B16{sae} n/a [evex m:6 p:1 l:x w:0 0x42 /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:W|R|R +VGETEXPSH Vdq{K}{z},Hdq,Wsh{sae} n/a [evex m:6 p:1 l:i w:0 0x43 /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:W|R|R|R +VRCPPH Vfv{K}{z},Wfv|B16 n/a [evex m:6 p:1 l:x w:0 0x4C /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E4, w:W|R|R +VRCPSH Vdq{K}{z},Hdq,Wsh n/a [evex m:6 p:1 l:i w:0 0x4D /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E10, w:W|R|R|R +VRSQRTPH Vfv{K}{z},Wfv|B16 n/a [evex m:6 p:1 l:x w:0 0x4E /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E4, w:W|R|R +VRSQRTSH Vdq{K}{z},Hdq,Wsh n/a [evex m:6 p:1 l:i w:0 0x4F /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E10, w:W|R|R|R # 0x50 - 0x5F -VFMADDCPH Vfv{K}{z},Hfv,Wfv|B32{er} nil [evex m:6 p:2 l:x w:0 0x56 /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E4S, w:RW|R|R|R -VFCMADDCPH Vfv{K}{z},Hfv,Wfv|B32{er} nil [evex m:6 p:3 l:x w:0 0x56 /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E4S, w:RW|R|R|R -VFMADDCSH Vdq{K}{z},Hdq,Wd{er} nil [evex m:6 p:2 l:i w:0 0x57 /r] s:AVX512FP16, t:AVX512FP16, l:t1s, e:E10S, w:RW|R|R|R -VFCMADDCSH Vdq{K}{z},Hdq,Wd{er} nil [evex m:6 p:3 l:i w:0 0x57 /r] s:AVX512FP16, t:AVX512FP16, l:t1s, e:E10S, w:RW|R|R|R +VFMADDCPH Vfv{K}{z},Hfv,Wfv|B32{er} n/a [evex m:6 p:2 l:x w:0 0x56 /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E4S, w:RW|R|R|R +VFCMADDCPH Vfv{K}{z},Hfv,Wfv|B32{er} n/a [evex m:6 p:3 l:x w:0 0x56 /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E4S, w:RW|R|R|R +VFMADDCSH Vdq{K}{z},Hdq,Wd{er} n/a [evex m:6 p:2 l:i w:0 0x57 /r] s:AVX512FP16, t:AVX512FP16, l:t1s, e:E10S, w:RW|R|R|R +VFCMADDCSH Vdq{K}{z},Hdq,Wd{er} n/a [evex m:6 p:3 l:i w:0 0x57 /r] s:AVX512FP16, t:AVX512FP16, l:t1s, e:E10S, w:RW|R|R|R # 0x90 - 0x9F -VFMADDSUB132PH Vfv{K}{z},Hfv,Wfv|B16{er} nil [evex m:6 p:1 l:x w:0 0x96 /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:RW|R|R|R -VFMSUBADD132PH Vfv{K}{z},Hfv,Wfv|B16{er} nil [evex m:6 p:1 l:x w:0 0x97 /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:RW|R|R|R -VFMADD132PH Vfv{K}{z},Hfv,Wfv|B16{er} nil [evex m:6 p:1 l:x w:0 0x98 /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:RW|R|R|R -VFMADD132SH Vdq{K}{z},Hdq,Wsh{er} nil [evex m:6 p:1 l:i w:0 0x99 /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:RW|R|R|R -VFMSUB132PH Vfv{K}{z},Hfv,Wfv|B16{er} nil [evex m:6 p:1 l:x w:0 0x9A /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:RW|R|R|R -VFMSUB132SH Vdq{K}{z},Hdq,Wsh{er} nil [evex m:6 p:1 l:i w:0 0x9B /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:RW|R|R|R -VFNMADD132PH Vfv{K}{z},Hfv,Wfv|B16{er} nil [evex m:6 p:1 l:x w:0 0x9C /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:RW|R|R|R -VFNMADD132SH Vdq{K}{z},Hdq,Wsh{er} nil [evex m:6 p:1 l:i w:0 0x9D /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:RW|R|R|R -VFNMSUB132PH Vfv{K}{z},Hfv,Wfv|B16{er} nil [evex m:6 p:1 l:x w:0 0x9E /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:RW|R|R|R -VFNMSUB132SH Vdq{K}{z},Hdq,Wsh{er} nil [evex m:6 p:1 l:i w:0 0x9F /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:RW|R|R|R +VFMADDSUB132PH Vfv{K}{z},Hfv,Wfv|B16{er} n/a [evex m:6 p:1 l:x w:0 0x96 /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:RW|R|R|R +VFMSUBADD132PH Vfv{K}{z},Hfv,Wfv|B16{er} n/a [evex m:6 p:1 l:x w:0 0x97 /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:RW|R|R|R +VFMADD132PH Vfv{K}{z},Hfv,Wfv|B16{er} n/a [evex m:6 p:1 l:x w:0 0x98 /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:RW|R|R|R +VFMADD132SH Vdq{K}{z},Hdq,Wsh{er} n/a [evex m:6 p:1 l:i w:0 0x99 /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:RW|R|R|R +VFMSUB132PH Vfv{K}{z},Hfv,Wfv|B16{er} n/a [evex m:6 p:1 l:x w:0 0x9A /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:RW|R|R|R +VFMSUB132SH Vdq{K}{z},Hdq,Wsh{er} n/a [evex m:6 p:1 l:i w:0 0x9B /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:RW|R|R|R +VFNMADD132PH Vfv{K}{z},Hfv,Wfv|B16{er} n/a [evex m:6 p:1 l:x w:0 0x9C /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:RW|R|R|R +VFNMADD132SH Vdq{K}{z},Hdq,Wsh{er} n/a [evex m:6 p:1 l:i w:0 0x9D /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:RW|R|R|R +VFNMSUB132PH Vfv{K}{z},Hfv,Wfv|B16{er} n/a [evex m:6 p:1 l:x w:0 0x9E /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:RW|R|R|R +VFNMSUB132SH Vdq{K}{z},Hdq,Wsh{er} n/a [evex m:6 p:1 l:i w:0 0x9F /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:RW|R|R|R # 0xA0 - 0xAF -VFMADDSUB213PH Vfv{K}{z},Hfv,Wfv|B16{er} nil [evex m:6 p:1 l:x w:0 0xA6 /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:RW|R|R|R -VFMSUBADD213PH Vfv{K}{z},Hfv,Wfv|B16{er} nil [evex m:6 p:1 l:x w:0 0xA7 /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:RW|R|R|R -VFMADD213PH Vfv{K}{z},Hfv,Wfv|B16{er} nil [evex m:6 p:1 l:x w:0 0xA8 /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:RW|R|R|R -VFMADD213SH Vdq{K}{z},Hdq,Wsh{er} nil [evex m:6 p:1 l:i w:0 0xA9 /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:RW|R|R|R -VFMSUB213PH Vfv{K}{z},Hfv,Wfv|B16{er} nil [evex m:6 p:1 l:x w:0 0xAA /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:RW|R|R|R -VFMSUB213SH Vdq{K}{z},Hdq,Wsh{er} nil [evex m:6 p:1 l:i w:0 0xAB /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:RW|R|R|R -VFNMADD213PH Vfv{K}{z},Hfv,Wfv|B16{er} nil [evex m:6 p:1 l:x w:0 0xAC /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:RW|R|R|R -VFNMADD213SH Vdq{K}{z},Hdq,Wsh{er} nil [evex m:6 p:1 l:i w:0 0xAD /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:RW|R|R|R -VFNMSUB213PH Vfv{K}{z},Hfv,Wfv|B16{er} nil [evex m:6 p:1 l:x w:0 0xAE /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:RW|R|R|R -VFNMSUB213SH Vdq{K}{z},Hdq,Wsh{er} nil [evex m:6 p:1 l:i w:0 0xAF /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:RW|R|R|R +VFMADDSUB213PH Vfv{K}{z},Hfv,Wfv|B16{er} n/a [evex m:6 p:1 l:x w:0 0xA6 /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:RW|R|R|R +VFMSUBADD213PH Vfv{K}{z},Hfv,Wfv|B16{er} n/a [evex m:6 p:1 l:x w:0 0xA7 /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:RW|R|R|R +VFMADD213PH Vfv{K}{z},Hfv,Wfv|B16{er} n/a [evex m:6 p:1 l:x w:0 0xA8 /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:RW|R|R|R +VFMADD213SH Vdq{K}{z},Hdq,Wsh{er} n/a [evex m:6 p:1 l:i w:0 0xA9 /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:RW|R|R|R +VFMSUB213PH Vfv{K}{z},Hfv,Wfv|B16{er} n/a [evex m:6 p:1 l:x w:0 0xAA /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:RW|R|R|R +VFMSUB213SH Vdq{K}{z},Hdq,Wsh{er} n/a [evex m:6 p:1 l:i w:0 0xAB /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:RW|R|R|R +VFNMADD213PH Vfv{K}{z},Hfv,Wfv|B16{er} n/a [evex m:6 p:1 l:x w:0 0xAC /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:RW|R|R|R +VFNMADD213SH Vdq{K}{z},Hdq,Wsh{er} n/a [evex m:6 p:1 l:i w:0 0xAD /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:RW|R|R|R +VFNMSUB213PH Vfv{K}{z},Hfv,Wfv|B16{er} n/a [evex m:6 p:1 l:x w:0 0xAE /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:RW|R|R|R +VFNMSUB213SH Vdq{K}{z},Hdq,Wsh{er} n/a [evex m:6 p:1 l:i w:0 0xAF /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:RW|R|R|R # 0xB0 - 0xBF -VFMADDSUB231PH Vfv{K}{z},Hfv,Wfv|B16{er} nil [evex m:6 p:1 l:x w:0 0xB6 /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:RW|R|R|R -VFMSUBADD231PH Vfv{K}{z},Hfv,Wfv|B16{er} nil [evex m:6 p:1 l:x w:0 0xB7 /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:RW|R|R|R -VFMADD231PH Vfv{K}{z},Hfv,Wfv|B16{er} nil [evex m:6 p:1 l:x w:0 0xB8 /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:RW|R|R|R -VFMADD231SH Vdq{K}{z},Hdq,Wsh{er} nil [evex m:6 p:1 l:i w:0 0xB9 /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:RW|R|R|R -VFMSUB231PH Vfv{K}{z},Hfv,Wfv|B16{er} nil [evex m:6 p:1 l:x w:0 0xBA /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:RW|R|R|R -VFMSUB231SH Vdq{K}{z},Hdq,Wsh{er} nil [evex m:6 p:1 l:i w:0 0xBB /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:RW|R|R|R -VFNMADD231PH Vfv{K}{z},Hfv,Wfv|B16{er} nil [evex m:6 p:1 l:x w:0 0xBC /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:RW|R|R|R -VFNMADD231SH Vdq{K}{z},Hdq,Wsh{er} nil [evex m:6 p:1 l:i w:0 0xBD /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:RW|R|R|R -VFNMSUB231PH Vfv{K}{z},Hfv,Wfv|B16{er} nil [evex m:6 p:1 l:x w:0 0xBE /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:RW|R|R|R -VFNMSUB231SH Vdq{K}{z},Hdq,Wsh{er} nil [evex m:6 p:1 l:i w:0 0xBF /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:RW|R|R|R +VFMADDSUB231PH Vfv{K}{z},Hfv,Wfv|B16{er} n/a [evex m:6 p:1 l:x w:0 0xB6 /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:RW|R|R|R +VFMSUBADD231PH Vfv{K}{z},Hfv,Wfv|B16{er} n/a [evex m:6 p:1 l:x w:0 0xB7 /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:RW|R|R|R +VFMADD231PH Vfv{K}{z},Hfv,Wfv|B16{er} n/a [evex m:6 p:1 l:x w:0 0xB8 /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:RW|R|R|R +VFMADD231SH Vdq{K}{z},Hdq,Wsh{er} n/a [evex m:6 p:1 l:i w:0 0xB9 /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:RW|R|R|R +VFMSUB231PH Vfv{K}{z},Hfv,Wfv|B16{er} n/a [evex m:6 p:1 l:x w:0 0xBA /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:RW|R|R|R +VFMSUB231SH Vdq{K}{z},Hdq,Wsh{er} n/a [evex m:6 p:1 l:i w:0 0xBB /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:RW|R|R|R +VFNMADD231PH Vfv{K}{z},Hfv,Wfv|B16{er} n/a [evex m:6 p:1 l:x w:0 0xBC /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:RW|R|R|R +VFNMADD231SH Vdq{K}{z},Hdq,Wsh{er} n/a [evex m:6 p:1 l:i w:0 0xBD /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:RW|R|R|R +VFNMSUB231PH Vfv{K}{z},Hfv,Wfv|B16{er} n/a [evex m:6 p:1 l:x w:0 0xBE /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E2, w:RW|R|R|R +VFNMSUB231SH Vdq{K}{z},Hdq,Wsh{er} n/a [evex m:6 p:1 l:i w:0 0xBF /r] s:AVX512FP16, t:AVX512FP16, l:t1s16, e:E3, w:RW|R|R|R # 0xD0 - 0xD7 -VFMULCPH Vfv{K}{z},Hfv,Wfv|B32{er} nil [evex m:6 p:2 l:x w:0 0xD6 /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E4S, w:W|R|R|R -VFCMULCPH Vfv{K}{z},Hfv,Wfv|B32{er} nil [evex m:6 p:3 l:x w:0 0xD6 /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E4S, w:W|R|R|R -VFMULCSH Vdq{K}{z},Hdq,Wd{er} nil [evex m:6 p:2 l:i w:0 0xD7 /r] s:AVX512FP16, t:AVX512FP16, l:t1s, e:E10S, w:W|R|R|R -VFCMULCSH Vdq{K}{z},Hdq,Wd{er} nil [evex m:6 p:3 l:i w:0 0xD7 /r] s:AVX512FP16, t:AVX512FP16, l:t1s, e:E10S, w:W|R|R|R +VFMULCPH Vfv{K}{z},Hfv,Wfv|B32{er} n/a [evex m:6 p:2 l:x w:0 0xD6 /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E4S, w:W|R|R|R +VFCMULCPH Vfv{K}{z},Hfv,Wfv|B32{er} n/a [evex m:6 p:3 l:x w:0 0xD6 /r] s:AVX512FP16, t:AVX512FP16, l:fv, e:E4S, w:W|R|R|R +VFMULCSH Vdq{K}{z},Hdq,Wd{er} n/a [evex m:6 p:2 l:i w:0 0xD7 /r] s:AVX512FP16, t:AVX512FP16, l:t1s, e:E10S, w:W|R|R|R +VFCMULCSH Vdq{K}{z},Hdq,Wd{er} n/a [evex m:6 p:3 l:i w:0 0xD7 /r] s:AVX512FP16, t:AVX512FP16, l:t1s, e:E10S, w:W|R|R|R diff --git a/isagenerator/instructions/table_fpu.dat b/isagenerator/instructions/table_fpu.dat index be55522..795152f 100644 --- a/isagenerator/instructions/table_fpu.dat +++ b/isagenerator/instructions/table_fpu.dat @@ -1,3 +1,8 @@ +# +# Copyright (c) 2020 Bitdefender +# SPDX-License-Identifier: Apache-2.0 +# + # Mnemonic Explicit Implicit Operands Encoding Flags, Prefixes, Set, Category, Class, RW map, Additional ops #------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ # 0xD8 FPU instructions, mod mem @@ -27,34 +32,34 @@ FLDCW Mw X87CONTROL,X87STATUS [0xD9 /5:mem] s FNSTENV Mfe X87STATUS [0xD9 /6:mem] s:X87, t:X87_ALU, w:W|W, u:C0=u|C1=u|C2=u|C3=u FNSTCW Mw X87CONTROL,X87STATUS [0xD9 /7:mem] s:X87, t:X87_ALU, w:W|R|W, u:C0=u|C1=u|C2=u|C3=u -FNOP nil nil [0xD9 /0xD0] s:X87, t:X87_ALU, w:W, u:C0=u|C1=u|C2=u|C3=u -FCHS nil X87STATUS [0xD9 /0xE0] s:X87, t:X87_ALU, w:W, u:C1=0 -FABS nil X87STATUS [0xD9 /0xE1] s:X87, t:X87_ALU, w:W, u:C1=0 -FTST nil X87STATUS [0xD9 /0xE4] s:X87, t:X87_ALU, w:W, u:C0=m|C1=0|C2=m|C3=m -FXAM nil X87STATUS [0xD9 /0xE5] s:X87, t:X87_ALU, w:W, u:C0=m|C1=m|C2=m|C3=m -FLD1 nil X87STATUS [0xD9 /0xE8] s:X87, t:X87_ALU, w:W, u:C1=m -FLDL2T nil X87STATUS [0xD9 /0xE9] s:X87, t:X87_ALU, w:W, u:C1=m -FLDL2E nil X87STATUS [0xD9 /0xEA] s:X87, t:X87_ALU, w:W, u:C1=m -FLDPI nil X87STATUS [0xD9 /0xEB] s:X87, t:X87_ALU, w:W, u:C1=m -FLDLG2 nil X87STATUS [0xD9 /0xEC] s:X87, t:X87_ALU, w:W, u:C1=m -FLDLN2 nil X87STATUS [0xD9 /0xED] s:X87, t:X87_ALU, w:W, u:C1=m -FLDZ nil X87STATUS [0xD9 /0xEE] s:X87, t:X87_ALU, w:W, u:C1=m -F2XM1 nil X87STATUS [0xD9 /0xF0] s:X87, t:X87_ALU, w:W, u:C1=m -FYL2X nil X87STATUS [0xD9 /0xF1] s:X87, t:X87_ALU, w:W, u:C1=m -FPTAN nil X87STATUS [0xD9 /0xF2] s:X87, t:X87_ALU, w:W, u:C1=m|C2=m -FPATAN nil X87STATUS [0xD9 /0xF3] s:X87, t:X87_ALU, w:W, u:C1=m -FXTRACT nil X87STATUS [0xD9 /0xF4] s:X87, t:X87_ALU, w:W, u:C1=m -FPREM1 nil X87STATUS [0xD9 /0xF5] s:X87, t:X87_ALU, w:W, u:C0=m|C1=m|C2=m|C3=m -FDECSTP nil X87STATUS [0xD9 /0xF6] s:X87, t:X87_ALU, w:W, u:C1=0 -FINCSTP nil X87STATUS [0xD9 /0xF7] s:X87, t:X87_ALU, w:W, u:C1=0 -FPREM nil X87STATUS [0xD9 /0xF8] s:X87, t:X87_ALU, w:W, u:C0=m|C1=m|C2=m|C3=m -FYL2XP1 nil X87STATUS [0xD9 /0xF9] s:X87, t:X87_ALU, w:W, u:C1=m -FSQRT nil X87STATUS [0xD9 /0xFA] s:X87, t:X87_ALU, w:W, u:C1=m -FSINCOS nil X87STATUS [0xD9 /0xFB] s:X87, t:X87_ALU, w:W, u:C1=m|C2=m -FRNDINT nil X87STATUS [0xD9 /0xFC] s:X87, t:X87_ALU, w:W, u:C1=m -FSCALE nil X87STATUS [0xD9 /0xFD] s:X87, t:X87_ALU, w:W, u:C1=m -FSIN nil X87STATUS [0xD9 /0xFE] s:X87, t:X87_ALU, w:W, u:C1=m|C2=m -FCOS nil X87STATUS [0xD9 /0xFF] s:X87, t:X87_ALU, w:W, u:C1=m|C2=m +FNOP n/a n/a [0xD9 /0xD0] s:X87, t:X87_ALU, w:W, u:C0=u|C1=u|C2=u|C3=u +FCHS n/a X87STATUS [0xD9 /0xE0] s:X87, t:X87_ALU, w:W, u:C1=0 +FABS n/a X87STATUS [0xD9 /0xE1] s:X87, t:X87_ALU, w:W, u:C1=0 +FTST n/a X87STATUS [0xD9 /0xE4] s:X87, t:X87_ALU, w:W, u:C0=m|C1=0|C2=m|C3=m +FXAM n/a X87STATUS [0xD9 /0xE5] s:X87, t:X87_ALU, w:W, u:C0=m|C1=m|C2=m|C3=m +FLD1 n/a X87STATUS [0xD9 /0xE8] s:X87, t:X87_ALU, w:W, u:C1=m +FLDL2T n/a X87STATUS [0xD9 /0xE9] s:X87, t:X87_ALU, w:W, u:C1=m +FLDL2E n/a X87STATUS [0xD9 /0xEA] s:X87, t:X87_ALU, w:W, u:C1=m +FLDPI n/a X87STATUS [0xD9 /0xEB] s:X87, t:X87_ALU, w:W, u:C1=m +FLDLG2 n/a X87STATUS [0xD9 /0xEC] s:X87, t:X87_ALU, w:W, u:C1=m +FLDLN2 n/a X87STATUS [0xD9 /0xED] s:X87, t:X87_ALU, w:W, u:C1=m +FLDZ n/a X87STATUS [0xD9 /0xEE] s:X87, t:X87_ALU, w:W, u:C1=m +F2XM1 n/a X87STATUS [0xD9 /0xF0] s:X87, t:X87_ALU, w:W, u:C1=m +FYL2X n/a X87STATUS [0xD9 /0xF1] s:X87, t:X87_ALU, w:W, u:C1=m +FPTAN n/a X87STATUS [0xD9 /0xF2] s:X87, t:X87_ALU, w:W, u:C1=m|C2=m +FPATAN n/a X87STATUS [0xD9 /0xF3] s:X87, t:X87_ALU, w:W, u:C1=m +FXTRACT n/a X87STATUS [0xD9 /0xF4] s:X87, t:X87_ALU, w:W, u:C1=m +FPREM1 n/a X87STATUS [0xD9 /0xF5] s:X87, t:X87_ALU, w:W, u:C0=m|C1=m|C2=m|C3=m +FDECSTP n/a X87STATUS [0xD9 /0xF6] s:X87, t:X87_ALU, w:W, u:C1=0 +FINCSTP n/a X87STATUS [0xD9 /0xF7] s:X87, t:X87_ALU, w:W, u:C1=0 +FPREM n/a X87STATUS [0xD9 /0xF8] s:X87, t:X87_ALU, w:W, u:C0=m|C1=m|C2=m|C3=m +FYL2XP1 n/a X87STATUS [0xD9 /0xF9] s:X87, t:X87_ALU, w:W, u:C1=m +FSQRT n/a X87STATUS [0xD9 /0xFA] s:X87, t:X87_ALU, w:W, u:C1=m +FSINCOS n/a X87STATUS [0xD9 /0xFB] s:X87, t:X87_ALU, w:W, u:C1=m|C2=m +FRNDINT n/a X87STATUS [0xD9 /0xFC] s:X87, t:X87_ALU, w:W, u:C1=m +FSCALE n/a X87STATUS [0xD9 /0xFD] s:X87, t:X87_ALU, w:W, u:C1=m +FSIN n/a X87STATUS [0xD9 /0xFE] s:X87, t:X87_ALU, w:W, u:C1=m|C2=m +FCOS n/a X87STATUS [0xD9 /0xFF] s:X87, t:X87_ALU, w:W, u:C1=m|C2=m FLD ST(0),ST(i) X87STATUS [0xD9 /0:reg] s:X87, t:X87_ALU, w:W|R|W, u:C1=m FXCH ST(0),ST(i) X87STATUS [0xD9 /1:reg] s:X87, t:X87_ALU, w:RW|RW|W, u:C1=0 FSTPNCE ST(i),ST(0) X87STATUS [0xD9 /3:reg] s:X87, t:X87_ALU, w:W|R|W @@ -70,7 +75,7 @@ FIDIV ST(0),Md X87STATUS [0xDA /6:mem] s FIDIVR ST(0),Md X87STATUS [0xDA /7:mem] s:X87, t:X87_ALU, w:RW|R|W, u:C1=m -FUCOMPP nil X87STATUS [0xDA /0xE9] s:X87, t:X87_ALU, w:W, u:C0=m|C1=m|C2=m|C3=m +FUCOMPP n/a X87STATUS [0xDA /0xE9] s:X87, t:X87_ALU, w:W, u:C0=m|C1=m|C2=m|C3=m FCMOVB ST(0),ST(i) X87STATUS,Fv [0xDA /0:reg] s:X87, t:X87_ALU, w:CW|R|RW|W, f:CF=t, u:C1=m FCMOVE ST(0),ST(i) X87STATUS,Fv [0xDA /1:reg] s:X87, t:X87_ALU, w:CW|R|RW|W, f:ZF=t, u:C1=m FCMOVBE ST(0),ST(i) X87STATUS,Fv [0xDA /2:reg] s:X87, t:X87_ALU, w:CW|R|RW|W, f:CF=t|ZF=t, u:C1=m @@ -84,11 +89,11 @@ FIST Md,ST(0) X87STATUS [0xDB /2:mem] s FISTP Md,ST(0) X87STATUS [0xDB /3:mem] s:X87, t:X87_ALU, w:W|R|W, u:C1=m FLD ST(0),Mft X87STATUS [0xDB /5:mem] s:X87, t:X87_ALU, w:W|R|W, u:C1=m FSTP Mft,ST(0) X87STATUS [0xDB /7:mem] s:X87, t:X87_ALU, w:W|R|W, u:C1=m -FNOP nil nil [0xDB /0xE0] s:X87, t:X87_ALU, u:C0=u|C1=u|C2=u|C3=u -FNDISI nil nil [0xDB /0xE1] s:X87, t:X87_ALU, w:W -FNCLEX nil X87STATUS [0xDB /0xE2] s:X87, t:X87_ALU, w:W -FNINIT nil X87CONTROL,X87TAG,X87STATUS [0xDB /0xE3] s:X87, t:X87_ALU, w:W|W|W, u:C0=0|C1=0|C2=0|C3=0 -FNOP nil nil [0xDB /0xE4] s:X87, t:X87_ALU, u:C0=u|C1=u|C2=u|C3=u +FNOP n/a n/a [0xDB /0xE0] s:X87, t:X87_ALU, u:C0=u|C1=u|C2=u|C3=u +FNDISI n/a n/a [0xDB /0xE1] s:X87, t:X87_ALU, w:W +FNCLEX n/a X87STATUS [0xDB /0xE2] s:X87, t:X87_ALU, w:W +FNINIT n/a X87CONTROL,X87TAG,X87STATUS [0xDB /0xE3] s:X87, t:X87_ALU, w:W|W|W, u:C0=0|C1=0|C2=0|C3=0 +FNOP n/a n/a [0xDB /0xE4] s:X87, t:X87_ALU, u:C0=u|C1=u|C2=u|C3=u FCMOVNB ST(0),ST(i) X87STATUS,Fv [0xDB /0:reg] s:X87, t:X87_ALU, w:CW|R|RW|W, f:CF=t, u:C1=m FCMOVNE ST(0),ST(i) X87STATUS,Fv [0xDB /1:reg] s:X87, t:X87_ALU, w:CW|R|RW|W, f:ZF=t, u:C1=m FCMOVNBE ST(0),ST(i) X87STATUS,Fv [0xDB /2:reg] s:X87, t:X87_ALU, w:CW|R|RW|W, f:CF=t|ZF=t, u:C1=m @@ -142,7 +147,7 @@ FISUBR ST(0),Mw X87STATUS [0xDE /5:mem] s FIDIV ST(0),Mw X87STATUS [0xDE /6:mem] s:X87, t:X87_ALU, w:RW|R|W, u:C1=m FIDIVR ST(0),Mw X87STATUS [0xDE /7:mem] s:X87, t:X87_ALU, w:RW|R|W, u:C1=m -FCOMPP nil X87STATUS [0xDE /0xD9] s:X87, t:X87_ALU, w:W, u:C0=m|C1=0|C2=m|C3=m +FCOMPP n/a X87STATUS [0xDE /0xD9] s:X87, t:X87_ALU, w:W, u:C0=m|C1=0|C2=m|C3=m FADDP ST(i),ST(0) X87STATUS [0xDE /0:reg] s:X87, t:X87_ALU, w:RW|R|W, u:C1=m FMULP ST(i),ST(0) X87STATUS [0xDE /1:reg] s:X87, t:X87_ALU, w:RW|R|W, u:C1=m FCOMP ST(0),ST(i) X87STATUS [0xDE /2:reg] s:X87, t:X87_ALU, w:RW|R|W, u:C0=m|C1=0|C2=m|C3=m @@ -168,8 +173,8 @@ FXCH ST(0),ST(i) X87TAG [0xDF /1:reg] s FSTP ST(i),ST(0) X87STATUS [0xDF /2:reg] s:X87, t:X87_ALU, w:R|W|W, u:C1=m FSTP ST(i),ST(0) X87STATUS [0xDF /3:reg] s:X87, t:X87_ALU, w:R|W|W, u:C1=m FNSTSW AX X87STATUS [0xDF /0xE0] s:X87, t:X87_ALU, w:W|W, u:C0=u|C1=u|C2=u|C3=u -FSTDW AX nil [0xDF /0xE1] s:X87, t:X87_ALU, w:W, u:C0=u|C1=u|C2=u|C3=u, m:NO64 -FSTSG AX nil [0xDF /0xE2] s:X87, t:X87_ALU, w:W, u:C0=u|C1=u|C2=u|C3=u +FSTDW AX n/a [0xDF /0xE1] s:X87, t:X87_ALU, w:W, u:C0=u|C1=u|C2=u|C3=u, m:NO64 +FSTSG AX n/a [0xDF /0xE2] s:X87, t:X87_ALU, w:W, u:C0=u|C1=u|C2=u|C3=u FUCOMIP ST(0),ST(i) X87STATUS,Fv [0xDF /5:reg] s:X87, t:X87_ALU, w:R|R|W|W, f:CF=m|PF=m|ZF=m|OF=0, u:C0=m|C1=0|C2=m|C3=m FCOMIP ST(0),ST(i) X87STATUS,Fv [0xDF /6:reg] s:X87, t:X87_ALU, w:R|R|W|W, f:CF=m|PF=m|ZF=m|OF=0, u:C0=m|C1=0|C2=m|C3=m -FRINEAR nil nil [0xDF /0xFC] s:X87, t:X87_ALU +FRINEAR n/a n/a [0xDF /0xFC] s:X87, t:X87_ALU diff --git a/isagenerator/instructions/table_vex1.dat b/isagenerator/instructions/table_vex1.dat index 490f6d8..6e2af5f 100644 --- a/isagenerator/instructions/table_vex1.dat +++ b/isagenerator/instructions/table_vex1.dat @@ -1,52 +1,57 @@ +# +# Copyright (c) 2020 Bitdefender +# SPDX-License-Identifier: Apache-2.0 +# + # Mnemonic Explicit Operands Implicit Operands Encoding Flags, Prefixes, Set, Category, Class, RW map, Additional ops #------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ # 0x00 - 0x0F # 0x10 - 0x1F -VMOVUPS Vx,Wx nil [vex m:1 p:0 l:x w:i 0x10 /r] s:AVX, t:DATAXFER, w:W|R, e:4 -VMOVUPD Vx,Wx nil [vex m:1 p:1 l:x w:i 0x10 /r] s:AVX, t:DATAXFER, w:W|R, e:4 -VMOVSS Vdq,Hdq,Uss nil [vex m:1 p:2 l:i w:i 0x10 /r:reg] s:AVX, t:DATAXFER, w:W|R|R, e:5 -VMOVSS Vdq,Md nil [vex m:1 p:2 l:i w:i 0x10 /r:mem] s:AVX, t:DATAXFER, w:W|R, e:5 -VMOVSD Vdq,Hdq,Usd nil [vex m:1 p:3 l:i w:i 0x10 /r:reg] s:AVX, t:DATAXFER, w:W|R|R, e:5 -VMOVSD Vdq,Mq nil [vex m:1 p:3 l:i w:i 0x10 /r:mem] s:AVX, t:DATAXFER, w:W|R, e:5 -VMOVUPS Wx,Vx nil [vex m:1 p:0 l:x w:i 0x11 /r] s:AVX, t:DATAXFER, w:W|R, e:4 -VMOVUPD Wx,Vx nil [vex m:1 p:1 l:x w:i 0x11 /r] s:AVX, t:DATAXFER, w:W|R, e:4 -VMOVSS Uss,Hss,Vss nil [vex m:1 p:2 l:i w:i 0x11 /r:reg] s:AVX, t:DATAXFER, w:W|R|R, e:5 -VMOVSS Md,Vss nil [vex m:1 p:2 l:i w:i 0x11 /r:mem] s:AVX, t:DATAXFER, w:W|R, e:5 -VMOVSD Usd,Hsd,Vsd nil [vex m:1 p:3 l:i w:i 0x11 /r:reg] s:AVX, t:DATAXFER, w:W|R|R, e:5 -VMOVSD Mq,Vsd nil [vex m:1 p:3 l:i w:i 0x11 /r:mem] s:AVX, t:DATAXFER, w:W|R|R, e:5 -VMOVLPS Vdq,Hdq,Mq nil [vex m:1 p:0 l:0 w:i 0x12 /r:mem] s:AVX, t:DATAXFER, w:W|R|R, e:5 -VMOVHLPS Vdq,Hdq,Udq nil [vex m:1 p:0 l:0 w:i 0x12 /r:reg] s:AVX, t:AVX, w:W|R|R, e:7 -VMOVLPD Vdq,Hdq,Mq nil [vex m:1 p:1 l:0 w:i 0x12 /r:mem] s:AVX, t:DATAXFER, w:W|R|R, e:5 -VMOVSLDUP Vx,Wx nil [vex m:1 p:2 l:x w:i 0x12 /r] s:AVX, t:AVX, w:W|R, e:4 -VMOVDDUP Vdq,Wq nil [vex m:1 p:3 l:0 w:i 0x12 /r] s:AVX, t:DATAXFER, w:W|R, e:5 -VMOVDDUP Vqq,Wqq nil [vex m:1 p:3 l:1 w:i 0x12 /r] s:AVX, t:DATAXFER, w:W|R, e:5 -VMOVLPS Mq,Vdq nil [vex m:1 p:0 l:0 w:i 0x13 /r:mem] s:AVX, t:DATAXFER, w:W|R, e:5 -VMOVLPD Mq,Vdq nil [vex m:1 p:1 l:0 w:i 0x13 /r:mem] s:AVX, t:DATAXFER, w:W|R, e:5 -VUNPCKLPS Vx,Hx,Wx nil [vex m:1 p:0 l:x w:i 0x14 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VUNPCKLPD Vx,Hx,Wx nil [vex m:1 p:1 l:x w:i 0x14 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VUNPCKHPS Vx,Hx,Wx nil [vex m:1 p:0 l:x w:i 0x15 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VUNPCKHPD Vx,Hx,Wx nil [vex m:1 p:1 l:x w:i 0x15 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VMOVHPS Vdq,Hdq,Mq nil [vex m:1 p:0 l:0 w:i 0x16 /r:mem] s:AVX, t:DATAXFER, w:W|R|R, e:5 -VMOVLHPS Vdq,Hdq,Udq nil [vex m:1 p:0 l:0 w:i 0x16 /r:reg] s:AVX, t:AVX, w:W|R|R, e:7 -VMOVHPD Vdq,Hdq,Mq nil [vex m:1 p:1 l:0 w:i 0x16 /r:mem] s:AVX, t:DATAXFER, w:W|R|R, e:5 -VMOVSHDUP Vx,Wx nil [vex m:1 p:2 l:x w:i 0x16 /r] s:AVX, t:AVX, w:W|R, e:4 -VMOVHPS Mq,Vdq nil [vex m:1 p:0 l:0 w:i 0x17 /r:mem] s:AVX, t:DATAXFER, w:W|R, e:5 -VMOVHPD Mq,Vdq nil [vex m:1 p:1 l:0 w:i 0x17 /r:mem] s:AVX, t:DATAXFER, w:W|R, e:5 +VMOVUPS Vx,Wx n/a [vex m:1 p:0 l:x w:i 0x10 /r] s:AVX, t:DATAXFER, w:W|R, e:4 +VMOVUPD Vx,Wx n/a [vex m:1 p:1 l:x w:i 0x10 /r] s:AVX, t:DATAXFER, w:W|R, e:4 +VMOVSS Vdq,Hdq,Uss n/a [vex m:1 p:2 l:i w:i 0x10 /r:reg] s:AVX, t:DATAXFER, w:W|R|R, e:5 +VMOVSS Vdq,Md n/a [vex m:1 p:2 l:i w:i 0x10 /r:mem] s:AVX, t:DATAXFER, w:W|R, e:5 +VMOVSD Vdq,Hdq,Usd n/a [vex m:1 p:3 l:i w:i 0x10 /r:reg] s:AVX, t:DATAXFER, w:W|R|R, e:5 +VMOVSD Vdq,Mq n/a [vex m:1 p:3 l:i w:i 0x10 /r:mem] s:AVX, t:DATAXFER, w:W|R, e:5 +VMOVUPS Wx,Vx n/a [vex m:1 p:0 l:x w:i 0x11 /r] s:AVX, t:DATAXFER, w:W|R, e:4 +VMOVUPD Wx,Vx n/a [vex m:1 p:1 l:x w:i 0x11 /r] s:AVX, t:DATAXFER, w:W|R, e:4 +VMOVSS Uss,Hss,Vss n/a [vex m:1 p:2 l:i w:i 0x11 /r:reg] s:AVX, t:DATAXFER, w:W|R|R, e:5 +VMOVSS Md,Vss n/a [vex m:1 p:2 l:i w:i 0x11 /r:mem] s:AVX, t:DATAXFER, w:W|R, e:5 +VMOVSD Usd,Hsd,Vsd n/a [vex m:1 p:3 l:i w:i 0x11 /r:reg] s:AVX, t:DATAXFER, w:W|R|R, e:5 +VMOVSD Mq,Vsd n/a [vex m:1 p:3 l:i w:i 0x11 /r:mem] s:AVX, t:DATAXFER, w:W|R|R, e:5 +VMOVLPS Vdq,Hdq,Mq n/a [vex m:1 p:0 l:0 w:i 0x12 /r:mem] s:AVX, t:DATAXFER, w:W|R|R, e:5 +VMOVHLPS Vdq,Hdq,Udq n/a [vex m:1 p:0 l:0 w:i 0x12 /r:reg] s:AVX, t:AVX, w:W|R|R, e:7 +VMOVLPD Vdq,Hdq,Mq n/a [vex m:1 p:1 l:0 w:i 0x12 /r:mem] s:AVX, t:DATAXFER, w:W|R|R, e:5 +VMOVSLDUP Vx,Wx n/a [vex m:1 p:2 l:x w:i 0x12 /r] s:AVX, t:AVX, w:W|R, e:4 +VMOVDDUP Vdq,Wq n/a [vex m:1 p:3 l:0 w:i 0x12 /r] s:AVX, t:DATAXFER, w:W|R, e:5 +VMOVDDUP Vqq,Wqq n/a [vex m:1 p:3 l:1 w:i 0x12 /r] s:AVX, t:DATAXFER, w:W|R, e:5 +VMOVLPS Mq,Vdq n/a [vex m:1 p:0 l:0 w:i 0x13 /r:mem] s:AVX, t:DATAXFER, w:W|R, e:5 +VMOVLPD Mq,Vdq n/a [vex m:1 p:1 l:0 w:i 0x13 /r:mem] s:AVX, t:DATAXFER, w:W|R, e:5 +VUNPCKLPS Vx,Hx,Wx n/a [vex m:1 p:0 l:x w:i 0x14 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VUNPCKLPD Vx,Hx,Wx n/a [vex m:1 p:1 l:x w:i 0x14 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VUNPCKHPS Vx,Hx,Wx n/a [vex m:1 p:0 l:x w:i 0x15 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VUNPCKHPD Vx,Hx,Wx n/a [vex m:1 p:1 l:x w:i 0x15 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VMOVHPS Vdq,Hdq,Mq n/a [vex m:1 p:0 l:0 w:i 0x16 /r:mem] s:AVX, t:DATAXFER, w:W|R|R, e:5 +VMOVLHPS Vdq,Hdq,Udq n/a [vex m:1 p:0 l:0 w:i 0x16 /r:reg] s:AVX, t:AVX, w:W|R|R, e:7 +VMOVHPD Vdq,Hdq,Mq n/a [vex m:1 p:1 l:0 w:i 0x16 /r:mem] s:AVX, t:DATAXFER, w:W|R|R, e:5 +VMOVSHDUP Vx,Wx n/a [vex m:1 p:2 l:x w:i 0x16 /r] s:AVX, t:AVX, w:W|R, e:4 +VMOVHPS Mq,Vdq n/a [vex m:1 p:0 l:0 w:i 0x17 /r:mem] s:AVX, t:DATAXFER, w:W|R, e:5 +VMOVHPD Mq,Vdq n/a [vex m:1 p:1 l:0 w:i 0x17 /r:mem] s:AVX, t:DATAXFER, w:W|R, e:5 # 0x20 - 0x2F -VMOVAPS Vx,Wx nil [vex m:1 p:0 l:x w:i 0x28 /r] s:AVX, t:DATAXFER, w:W|R, e:1 -VMOVAPD Vx,Wx nil [vex m:1 p:1 l:x w:i 0x28 /r] s:AVX, t:DATAXFER, w:W|R, e:1 -VMOVAPS Wx,Vx nil [vex m:1 p:0 l:x w:i 0x29 /r] s:AVX, t:DATAXFER, w:W|R, e:1 -VMOVAPD Wx,Vx nil [vex m:1 p:1 l:x w:i 0x29 /r] s:AVX, t:DATAXFER, w:W|R, e:1 -VCVTSI2SS Vss,Hss,Ey nil [vex m:1 p:2 l:i w:x 0x2A /r] s:AVX, t:CONVERT, w:W|R|R, e:3, a:IWO64 -VCVTSI2SD Vsd,Hsd,Ey nil [vex m:1 p:3 l:i w:x 0x2A /r] s:AVX, t:CONVERT, w:W|R|R, e:3, a:IWO64 -VMOVNTPS Mx,Vx nil [vex m:1 p:0 l:x w:i 0x2B /r:mem] s:AVX, t:AVX, w:W|R, e:1 -VMOVNTPD Mx,Vx nil [vex m:1 p:1 l:x w:i 0x2B /r:mem] s:AVX, t:AVX, w:W|R, e:1 -VCVTTSS2SI Gy,Wss nil [vex m:1 p:2 l:i w:x 0x2C /r] s:AVX, t:CONVERT, w:W|R, e:3, a:IWO64 -VCVTTSD2SI Gy,Wsd nil [vex m:1 p:3 l:i w:x 0x2C /r] s:AVX, t:CONVERT, w:W|R, e:3, a:IWO64 -VCVTSS2SI Gy,Wss nil [vex m:1 p:2 l:i w:x 0x2D /r] s:AVX, t:CONVERT, w:W|R, e:3, a:IWO64 -VCVTSD2SI Gy,Wsd nil [vex m:1 p:3 l:i w:x 0x2D /r] s:AVX, t:CONVERT, w:W|R, e:3, a:IWO64 +VMOVAPS Vx,Wx n/a [vex m:1 p:0 l:x w:i 0x28 /r] s:AVX, t:DATAXFER, w:W|R, e:1 +VMOVAPD Vx,Wx n/a [vex m:1 p:1 l:x w:i 0x28 /r] s:AVX, t:DATAXFER, w:W|R, e:1 +VMOVAPS Wx,Vx n/a [vex m:1 p:0 l:x w:i 0x29 /r] s:AVX, t:DATAXFER, w:W|R, e:1 +VMOVAPD Wx,Vx n/a [vex m:1 p:1 l:x w:i 0x29 /r] s:AVX, t:DATAXFER, w:W|R, e:1 +VCVTSI2SS Vss,Hss,Ey n/a [vex m:1 p:2 l:i w:x 0x2A /r] s:AVX, t:CONVERT, w:W|R|R, e:3, a:IWO64 +VCVTSI2SD Vsd,Hsd,Ey n/a [vex m:1 p:3 l:i w:x 0x2A /r] s:AVX, t:CONVERT, w:W|R|R, e:3, a:IWO64 +VMOVNTPS Mx,Vx n/a [vex m:1 p:0 l:x w:i 0x2B /r:mem] s:AVX, t:AVX, w:W|R, e:1 +VMOVNTPD Mx,Vx n/a [vex m:1 p:1 l:x w:i 0x2B /r:mem] s:AVX, t:AVX, w:W|R, e:1 +VCVTTSS2SI Gy,Wss n/a [vex m:1 p:2 l:i w:x 0x2C /r] s:AVX, t:CONVERT, w:W|R, e:3, a:IWO64 +VCVTTSD2SI Gy,Wsd n/a [vex m:1 p:3 l:i w:x 0x2C /r] s:AVX, t:CONVERT, w:W|R, e:3, a:IWO64 +VCVTSS2SI Gy,Wss n/a [vex m:1 p:2 l:i w:x 0x2D /r] s:AVX, t:CONVERT, w:W|R, e:3, a:IWO64 +VCVTSD2SI Gy,Wsd n/a [vex m:1 p:3 l:i w:x 0x2D /r] s:AVX, t:CONVERT, w:W|R, e:3, a:IWO64 VUCOMISS Vss,Wss Fv [vex m:1 p:0 l:i w:i 0x2E /r] s:AVX, t:AVX, w:R|R|W, f:COMIS, e:3 VUCOMISD Vsd,Wsd Fv [vex m:1 p:1 l:i w:i 0x2E /r] s:AVX, t:AVX, w:R|R|W, f:COMIS, e:3 VCOMISS Vss,Wss Fv [vex m:1 p:0 l:i w:i 0x2F /r] s:AVX, t:AVX, w:R|R|W, f:COMIS, e:3 @@ -56,172 +61,172 @@ VCOMISD Vsd,Wsd Fv [vex m:1 p:1 l:i w:i # 0x40 - 0x4F # Note: ALL these instructions will zero-extend the result into the destination, up to the max length of the mask reg. -KANDW rKw,vKw,mKw nil [vex m:1 p:0 l:1 w:0 0x41 /r:reg] s:AVX512F, t:KMASK, c:KAND, w:W|R|R, e:K20 -KANDB rKb,vKb,mKb nil [vex m:1 p:1 l:1 w:0 0x41 /r:reg] s:AVX512DQ, t:KMASK, c:KAND, w:W|R|R, e:K20 -KANDQ rKq,vKq,mKq nil [vex m:1 p:0 l:1 w:1 0x41 /r:reg] s:AVX512BW, t:KMASK, c:KAND, w:W|R|R, e:K20 -KANDD rKd,vKd,mKd nil [vex m:1 p:1 l:1 w:1 0x41 /r:reg] s:AVX512BW, t:KMASK, c:KAND, w:W|R|R, e:K20 -KANDNW rKw,vKw,mKw nil [vex m:1 p:0 l:1 w:0 0x42 /r:reg] s:AVX512F, t:KMASK, c:KANDN, w:W|R|R, e:K20 -KANDNB rKb,vKb,mKb nil [vex m:1 p:1 l:1 w:0 0x42 /r:reg] s:AVX512DQ, t:KMASK, c:KANDN, w:W|R|R, e:K20 -KANDNQ rKq,vKq,mKq nil [vex m:1 p:0 l:1 w:1 0x42 /r:reg] s:AVX512BW, t:KMASK, c:KANDN, w:W|R|R, e:K20 -KANDND rKd,vKd,mKd nil [vex m:1 p:1 l:1 w:1 0x42 /r:reg] s:AVX512BW, t:KMASK, c:KANDN, w:W|R|R, e:K20 -KORW rKw,vKw,mKw nil [vex m:1 p:0 l:1 w:0 0x45 /r:reg] s:AVX512F, t:KMASK, c:KOR, w:W|R|R, e:K20 -KORB rKb,vKb,mKb nil [vex m:1 p:1 l:1 w:0 0x45 /r:reg] s:AVX512DQ, t:KMASK, c:KOR, w:W|R|R, e:K20 -KORQ rKq,vKq,mKq nil [vex m:1 p:0 l:1 w:1 0x45 /r:reg] s:AVX512BW, t:KMASK, c:KOR, w:W|R|R, e:K20 -KORD rKd,vKd,mKd nil [vex m:1 p:1 l:1 w:1 0x45 /r:reg] s:AVX512BW, t:KMASK, c:KOR, w:W|R|R, e:K20 -KXNORW rKw,vKw,mKw nil [vex m:1 p:0 l:1 w:0 0x46 /r:reg] s:AVX512F, t:KMASK, c:KXNOR, w:W|R|R, e:K20 -KXNORB rKb,vKb,mKb nil [vex m:1 p:1 l:1 w:0 0x46 /r:reg] s:AVX512DQ, t:KMASK, c:KXNOR, w:W|R|R, e:K20 -KXNORQ rKq,vKq,mKq nil [vex m:1 p:0 l:1 w:1 0x46 /r:reg] s:AVX512BW, t:KMASK, c:KXNOR, w:W|R|R, e:K20 -KXNORD rKd,vKd,mKd nil [vex m:1 p:1 l:1 w:1 0x46 /r:reg] s:AVX512BW, t:KMASK, c:KXNOR, w:W|R|R, e:K20 -KXORW rKw,vKw,mKw nil [vex m:1 p:0 l:1 w:0 0x47 /r:reg] s:AVX512F, t:KMASK, c:KXOR, w:W|R|R, e:K20 -KXORB rKb,vKb,mKb nil [vex m:1 p:1 l:1 w:0 0x47 /r:reg] s:AVX512DQ, t:KMASK, c:KXOR, w:W|R|R, e:K20 -KXORQ rKq,vKq,mKq nil [vex m:1 p:0 l:1 w:1 0x47 /r:reg] s:AVX512BW, t:KMASK, c:KXOR, w:W|R|R, e:K20 -KXORD rKd,vKd,mKd nil [vex m:1 p:1 l:1 w:1 0x47 /r:reg] s:AVX512BW, t:KMASK, c:KXOR, w:W|R|R, e:K20 -KADDW rKw,vKw,mKw nil [vex m:1 p:0 l:1 w:0 0x4A /r:reg] s:AVX512DQ, t:KMASK, c:KADD, w:W|R|R, e:K20 -KADDB rKb,vKb,mKb nil [vex m:1 p:1 l:1 w:0 0x4A /r:reg] s:AVX512DQ, t:KMASK, c:KADD, w:W|R|R, e:K20 -KADDQ rKq,vKq,mKq nil [vex m:1 p:0 l:1 w:1 0x4A /r:reg] s:AVX512BW, t:KMASK, c:KADD, w:W|R|R, e:K20 -KADDD rKd,vKd,mKd nil [vex m:1 p:1 l:1 w:1 0x4A /r:reg] s:AVX512BW, t:KMASK, c:KADD, w:W|R|R, e:K20 -KMOVW rKw,Mw nil [vex m:1 p:0 l:0 w:0 0x90 /r:mem] s:AVX512F, t:KMASK, c:KMOV, w:W|R, e:K21 -KMOVB rKb,Mb nil [vex m:1 p:1 l:0 w:0 0x90 /r:mem] s:AVX512DQ, t:KMASK, c:KMOV, w:W|R, e:K21 -KMOVQ rKq,Mq nil [vex m:1 p:0 l:0 w:1 0x90 /r:mem] s:AVX512BW, t:KMASK, c:KMOV, w:W|R, e:K21 -KMOVD rKd,Md nil [vex m:1 p:1 l:0 w:1 0x90 /r:mem] s:AVX512BW, t:KMASK, c:KMOV, w:W|R, e:K21 -KMOVW rKw,mKw nil [vex m:1 p:0 l:0 w:0 0x90 /r:reg] s:AVX512F, t:KMASK, c:KMOV, w:W|R, e:K20 -KMOVB rKb,mKb nil [vex m:1 p:1 l:0 w:0 0x90 /r:reg] s:AVX512DQ, t:KMASK, c:KMOV, w:W|R, e:K20 -KMOVQ rKq,mKq nil [vex m:1 p:0 l:0 w:1 0x90 /r:reg] s:AVX512BW, t:KMASK, c:KMOV, w:W|R, e:K20 -KMOVD rKd,mKd nil [vex m:1 p:1 l:0 w:1 0x90 /r:reg] s:AVX512BW, t:KMASK, c:KMOV, w:W|R, e:K20 -KMOVW Mw,rKw nil [vex m:1 p:0 l:0 w:0 0x91 /r:mem] s:AVX512F, t:KMASK, c:KMOV, w:W|R, e:K21 -KMOVB Mb,rKb nil [vex m:1 p:1 l:0 w:0 0x91 /r:mem] s:AVX512DQ, t:KMASK, c:KMOV, w:W|R, e:K21 -KMOVQ Mq,rKq nil [vex m:1 p:0 l:0 w:1 0x91 /r:mem] s:AVX512BW, t:KMASK, c:KMOV, w:W|R, e:K21 -KMOVD Md,rKd nil [vex m:1 p:1 l:0 w:1 0x91 /r:mem] s:AVX512BW, t:KMASK, c:KMOV, w:W|R, e:K21 -KMOVW rKw,Ry nil [vex m:1 p:0 l:0 w:0 0x92 /r:reg] s:AVX512F, t:KMASK, c:KMOV, w:W|R, e:K20 -KMOVB rKb,Ry nil [vex m:1 p:1 l:0 w:0 0x92 /r:reg] s:AVX512DQ, t:KMASK, c:KMOV, w:W|R, e:K20 -KMOVQ rKq,Ry nil [vex m:1 p:3 l:0 w:1 0x92 /r:reg] s:AVX512BW, t:KMASK, c:KMOV, w:W|R, e:K20 -KMOVD rKd,Ry nil [vex m:1 p:3 l:0 w:0 0x92 /r:reg] s:AVX512BW, t:KMASK, c:KMOV, w:W|R, e:K20 -KMOVW Gy,mKw nil [vex m:1 p:0 l:0 w:0 0x93 /r:reg] s:AVX512F, t:KMASK, c:KMOV, w:W|R, e:K20 -KMOVB Gy,mKb nil [vex m:1 p:1 l:0 w:0 0x93 /r:reg] s:AVX512DQ, t:KMASK, c:KMOV, w:W|R, e:K20 -KMOVQ Gy,mKq nil [vex m:1 p:3 l:0 w:1 0x93 /r:reg] s:AVX512BW, t:KMASK, c:KMOV, w:W|R, e:K20 -KMOVD Gy,mKd nil [vex m:1 p:3 l:0 w:0 0x93 /r:reg] s:AVX512BW, t:KMASK, c:KMOV, w:W|R, e:K20 -KMERGE2L1H rKw,mKw nil [vex m:1 p:0 l:0 w:0 0x48 /r:reg] s:UNKNOWN, t:UNKNOWN, c:KMERGE2L1H, w:W|R, e:K20 -KMERGE2L1L rKw,mKw nil [vex m:1 p:0 l:0 w:0 0x49 /r:reg] s:UNKNOWN, t:UNKNOWN, c:KMERGE2L1L, w:W|R, e:K20 -KUNPCKBW rKw,vKb,mKb nil [vex m:1 p:1 l:1 w:0 0x4B /r:reg] s:AVX512F, t:KMASK, c:KUNPCKBW, w:W|R|R, e:K20 -KUNPCKWD rKd,vKw,mKw nil [vex m:1 p:0 l:1 w:0 0x4B /r:reg] s:AVX512BW, t:KMASK, c:KUNPCKWD, w:W|R|R, e:K20 -KUNPCKDQ rKq,vKd,mKd nil [vex m:1 p:0 l:1 w:1 0x4B /r:reg] s:AVX512BW, t:KMASK, c:KUNPCKDQ, w:W|R|R, e:K20 -KNOTW rKw,mKw nil [vex m:1 p:0 l:0 w:0 0x44 /r:reg] s:AVX512F, t:KMASK, c:KNOT, w:W|R, e:K20 -KNOTB rKb,mKb nil [vex m:1 p:1 l:0 w:0 0x44 /r:reg] s:AVX512DQ, t:KMASK, c:KNOT, w:W|R, e:K20 -KNOTQ rKq,mKq nil [vex m:1 p:0 l:0 w:1 0x44 /r:reg] s:AVX512BW, t:KMASK, c:KNOT, w:W|R, e:K20 -KNOTD rKd,mKd nil [vex m:1 p:1 l:0 w:1 0x44 /r:reg] s:AVX512BW, t:KMASK, c:KNOT, w:W|R, e:K20 +KANDW rKw,vKw,mKw n/a [vex m:1 p:0 l:1 w:0 0x41 /r:reg] s:AVX512F, t:KMASK, c:KAND, w:W|R|R, e:K20 +KANDB rKb,vKb,mKb n/a [vex m:1 p:1 l:1 w:0 0x41 /r:reg] s:AVX512DQ, t:KMASK, c:KAND, w:W|R|R, e:K20 +KANDQ rKq,vKq,mKq n/a [vex m:1 p:0 l:1 w:1 0x41 /r:reg] s:AVX512BW, t:KMASK, c:KAND, w:W|R|R, e:K20 +KANDD rKd,vKd,mKd n/a [vex m:1 p:1 l:1 w:1 0x41 /r:reg] s:AVX512BW, t:KMASK, c:KAND, w:W|R|R, e:K20 +KANDNW rKw,vKw,mKw n/a [vex m:1 p:0 l:1 w:0 0x42 /r:reg] s:AVX512F, t:KMASK, c:KANDN, w:W|R|R, e:K20 +KANDNB rKb,vKb,mKb n/a [vex m:1 p:1 l:1 w:0 0x42 /r:reg] s:AVX512DQ, t:KMASK, c:KANDN, w:W|R|R, e:K20 +KANDNQ rKq,vKq,mKq n/a [vex m:1 p:0 l:1 w:1 0x42 /r:reg] s:AVX512BW, t:KMASK, c:KANDN, w:W|R|R, e:K20 +KANDND rKd,vKd,mKd n/a [vex m:1 p:1 l:1 w:1 0x42 /r:reg] s:AVX512BW, t:KMASK, c:KANDN, w:W|R|R, e:K20 +KORW rKw,vKw,mKw n/a [vex m:1 p:0 l:1 w:0 0x45 /r:reg] s:AVX512F, t:KMASK, c:KOR, w:W|R|R, e:K20 +KORB rKb,vKb,mKb n/a [vex m:1 p:1 l:1 w:0 0x45 /r:reg] s:AVX512DQ, t:KMASK, c:KOR, w:W|R|R, e:K20 +KORQ rKq,vKq,mKq n/a [vex m:1 p:0 l:1 w:1 0x45 /r:reg] s:AVX512BW, t:KMASK, c:KOR, w:W|R|R, e:K20 +KORD rKd,vKd,mKd n/a [vex m:1 p:1 l:1 w:1 0x45 /r:reg] s:AVX512BW, t:KMASK, c:KOR, w:W|R|R, e:K20 +KXNORW rKw,vKw,mKw n/a [vex m:1 p:0 l:1 w:0 0x46 /r:reg] s:AVX512F, t:KMASK, c:KXNOR, w:W|R|R, e:K20 +KXNORB rKb,vKb,mKb n/a [vex m:1 p:1 l:1 w:0 0x46 /r:reg] s:AVX512DQ, t:KMASK, c:KXNOR, w:W|R|R, e:K20 +KXNORQ rKq,vKq,mKq n/a [vex m:1 p:0 l:1 w:1 0x46 /r:reg] s:AVX512BW, t:KMASK, c:KXNOR, w:W|R|R, e:K20 +KXNORD rKd,vKd,mKd n/a [vex m:1 p:1 l:1 w:1 0x46 /r:reg] s:AVX512BW, t:KMASK, c:KXNOR, w:W|R|R, e:K20 +KXORW rKw,vKw,mKw n/a [vex m:1 p:0 l:1 w:0 0x47 /r:reg] s:AVX512F, t:KMASK, c:KXOR, w:W|R|R, e:K20 +KXORB rKb,vKb,mKb n/a [vex m:1 p:1 l:1 w:0 0x47 /r:reg] s:AVX512DQ, t:KMASK, c:KXOR, w:W|R|R, e:K20 +KXORQ rKq,vKq,mKq n/a [vex m:1 p:0 l:1 w:1 0x47 /r:reg] s:AVX512BW, t:KMASK, c:KXOR, w:W|R|R, e:K20 +KXORD rKd,vKd,mKd n/a [vex m:1 p:1 l:1 w:1 0x47 /r:reg] s:AVX512BW, t:KMASK, c:KXOR, w:W|R|R, e:K20 +KADDW rKw,vKw,mKw n/a [vex m:1 p:0 l:1 w:0 0x4A /r:reg] s:AVX512DQ, t:KMASK, c:KADD, w:W|R|R, e:K20 +KADDB rKb,vKb,mKb n/a [vex m:1 p:1 l:1 w:0 0x4A /r:reg] s:AVX512DQ, t:KMASK, c:KADD, w:W|R|R, e:K20 +KADDQ rKq,vKq,mKq n/a [vex m:1 p:0 l:1 w:1 0x4A /r:reg] s:AVX512BW, t:KMASK, c:KADD, w:W|R|R, e:K20 +KADDD rKd,vKd,mKd n/a [vex m:1 p:1 l:1 w:1 0x4A /r:reg] s:AVX512BW, t:KMASK, c:KADD, w:W|R|R, e:K20 +KMOVW rKw,Mw n/a [vex m:1 p:0 l:0 w:0 0x90 /r:mem] s:AVX512F, t:KMASK, c:KMOV, w:W|R, e:K21 +KMOVB rKb,Mb n/a [vex m:1 p:1 l:0 w:0 0x90 /r:mem] s:AVX512DQ, t:KMASK, c:KMOV, w:W|R, e:K21 +KMOVQ rKq,Mq n/a [vex m:1 p:0 l:0 w:1 0x90 /r:mem] s:AVX512BW, t:KMASK, c:KMOV, w:W|R, e:K21 +KMOVD rKd,Md n/a [vex m:1 p:1 l:0 w:1 0x90 /r:mem] s:AVX512BW, t:KMASK, c:KMOV, w:W|R, e:K21 +KMOVW rKw,mKw n/a [vex m:1 p:0 l:0 w:0 0x90 /r:reg] s:AVX512F, t:KMASK, c:KMOV, w:W|R, e:K20 +KMOVB rKb,mKb n/a [vex m:1 p:1 l:0 w:0 0x90 /r:reg] s:AVX512DQ, t:KMASK, c:KMOV, w:W|R, e:K20 +KMOVQ rKq,mKq n/a [vex m:1 p:0 l:0 w:1 0x90 /r:reg] s:AVX512BW, t:KMASK, c:KMOV, w:W|R, e:K20 +KMOVD rKd,mKd n/a [vex m:1 p:1 l:0 w:1 0x90 /r:reg] s:AVX512BW, t:KMASK, c:KMOV, w:W|R, e:K20 +KMOVW Mw,rKw n/a [vex m:1 p:0 l:0 w:0 0x91 /r:mem] s:AVX512F, t:KMASK, c:KMOV, w:W|R, e:K21 +KMOVB Mb,rKb n/a [vex m:1 p:1 l:0 w:0 0x91 /r:mem] s:AVX512DQ, t:KMASK, c:KMOV, w:W|R, e:K21 +KMOVQ Mq,rKq n/a [vex m:1 p:0 l:0 w:1 0x91 /r:mem] s:AVX512BW, t:KMASK, c:KMOV, w:W|R, e:K21 +KMOVD Md,rKd n/a [vex m:1 p:1 l:0 w:1 0x91 /r:mem] s:AVX512BW, t:KMASK, c:KMOV, w:W|R, e:K21 +KMOVW rKw,Ry n/a [vex m:1 p:0 l:0 w:0 0x92 /r:reg] s:AVX512F, t:KMASK, c:KMOV, w:W|R, e:K20 +KMOVB rKb,Ry n/a [vex m:1 p:1 l:0 w:0 0x92 /r:reg] s:AVX512DQ, t:KMASK, c:KMOV, w:W|R, e:K20 +KMOVQ rKq,Ry n/a [vex m:1 p:3 l:0 w:1 0x92 /r:reg] s:AVX512BW, t:KMASK, c:KMOV, w:W|R, e:K20 +KMOVD rKd,Ry n/a [vex m:1 p:3 l:0 w:0 0x92 /r:reg] s:AVX512BW, t:KMASK, c:KMOV, w:W|R, e:K20 +KMOVW Gy,mKw n/a [vex m:1 p:0 l:0 w:0 0x93 /r:reg] s:AVX512F, t:KMASK, c:KMOV, w:W|R, e:K20 +KMOVB Gy,mKb n/a [vex m:1 p:1 l:0 w:0 0x93 /r:reg] s:AVX512DQ, t:KMASK, c:KMOV, w:W|R, e:K20 +KMOVQ Gy,mKq n/a [vex m:1 p:3 l:0 w:1 0x93 /r:reg] s:AVX512BW, t:KMASK, c:KMOV, w:W|R, e:K20 +KMOVD Gy,mKd n/a [vex m:1 p:3 l:0 w:0 0x93 /r:reg] s:AVX512BW, t:KMASK, c:KMOV, w:W|R, e:K20 +KMERGE2L1H rKw,mKw n/a [vex m:1 p:0 l:0 w:0 0x48 /r:reg] s:UNKNOWN, t:UNKNOWN, c:KMERGE2L1H, w:W|R, e:K20 +KMERGE2L1L rKw,mKw n/a [vex m:1 p:0 l:0 w:0 0x49 /r:reg] s:UNKNOWN, t:UNKNOWN, c:KMERGE2L1L, w:W|R, e:K20 +KUNPCKBW rKw,vKb,mKb n/a [vex m:1 p:1 l:1 w:0 0x4B /r:reg] s:AVX512F, t:KMASK, c:KUNPCKBW, w:W|R|R, e:K20 +KUNPCKWD rKd,vKw,mKw n/a [vex m:1 p:0 l:1 w:0 0x4B /r:reg] s:AVX512BW, t:KMASK, c:KUNPCKWD, w:W|R|R, e:K20 +KUNPCKDQ rKq,vKd,mKd n/a [vex m:1 p:0 l:1 w:1 0x4B /r:reg] s:AVX512BW, t:KMASK, c:KUNPCKDQ, w:W|R|R, e:K20 +KNOTW rKw,mKw n/a [vex m:1 p:0 l:0 w:0 0x44 /r:reg] s:AVX512F, t:KMASK, c:KNOT, w:W|R, e:K20 +KNOTB rKb,mKb n/a [vex m:1 p:1 l:0 w:0 0x44 /r:reg] s:AVX512DQ, t:KMASK, c:KNOT, w:W|R, e:K20 +KNOTQ rKq,mKq n/a [vex m:1 p:0 l:0 w:1 0x44 /r:reg] s:AVX512BW, t:KMASK, c:KNOT, w:W|R, e:K20 +KNOTD rKd,mKd n/a [vex m:1 p:1 l:0 w:1 0x44 /r:reg] s:AVX512BW, t:KMASK, c:KNOT, w:W|R, e:K20 KORTESTW rKw,mKw Fv [vex m:1 p:0 l:0 w:0 0x98 /r:reg] s:AVX512F, t:KMASK, c:KORTEST, w:R|R|W, f:KORTEST, e:K20 KORTESTB rKb,mKb Fv [vex m:1 p:1 l:0 w:0 0x98 /r:reg] s:AVX512DQ, t:KMASK, c:KORTEST, w:R|R|W, f:KORTEST, e:K20 KORTESTQ rKq,mKq Fv [vex m:1 p:0 l:0 w:1 0x98 /r:reg] s:AVX512BW, t:KMASK, c:KORTEST, w:R|R|W, f:KORTEST, e:K20 KORTESTD rKd,mKd Fv [vex m:1 p:1 l:0 w:1 0x98 /r:reg] s:AVX512BW, t:KMASK, c:KORTEST, w:R|R|W, f:KORTEST, e:K20 -KTESTW rKw,mKw nil [vex m:1 p:0 l:0 w:0 0x99 /r:reg] s:AVX512DQ, t:KMASK, c:KTEST, w:W|R, e:K20 -KTESTB rKb,mKb nil [vex m:1 p:1 l:0 w:0 0x99 /r:reg] s:AVX512DQ, t:KMASK, c:KTEST, w:W|R, e:K20 -KTESTQ rKq,mKq nil [vex m:1 p:0 l:0 w:1 0x99 /r:reg] s:AVX512BW, t:KMASK, c:KTEST, w:W|R, e:K20 -KTESTD rKd,mKd nil [vex m:1 p:1 l:0 w:1 0x99 /r:reg] s:AVX512BW, t:KMASK, c:KTEST, w:W|R, e:K20 +KTESTW rKw,mKw n/a [vex m:1 p:0 l:0 w:0 0x99 /r:reg] s:AVX512DQ, t:KMASK, c:KTEST, w:W|R, e:K20 +KTESTB rKb,mKb n/a [vex m:1 p:1 l:0 w:0 0x99 /r:reg] s:AVX512DQ, t:KMASK, c:KTEST, w:W|R, e:K20 +KTESTQ rKq,mKq n/a [vex m:1 p:0 l:0 w:1 0x99 /r:reg] s:AVX512BW, t:KMASK, c:KTEST, w:W|R, e:K20 +KTESTD rKd,mKd n/a [vex m:1 p:1 l:0 w:1 0x99 /r:reg] s:AVX512BW, t:KMASK, c:KTEST, w:W|R, e:K20 # 0x50 - 0x5F -VMOVMSKPS Gy,Ux nil [vex m:1 p:0 l:x w:i 0x50 /r:reg] s:AVX, t:DATAXFER, w:W|R, e:7, a:D64 -VMOVMSKPD Gy,Ux nil [vex m:1 p:1 l:x w:i 0x50 /r:reg] s:AVX, t:DATAXFER, w:W|R, e:7, a:D64 -VSQRTPS Vx,Wx nil [vex m:1 p:0 l:x w:i 0x51 /r] s:AVX, t:AVX, w:W|R, e:2 -VSQRTPD Vx,Wx nil [vex m:1 p:1 l:x w:i 0x51 /r] s:AVX, t:AVX, w:W|R, e:2 -VSQRTSS Vss,Hss,Wss nil [vex m:1 p:2 l:i w:i 0x51 /r] s:AVX, t:AVX, w:W|R|R, e:3 -VSQRTSD Vsd,Hsd,Wsd nil [vex m:1 p:3 l:i w:i 0x51 /r] s:AVX, t:AVX, w:W|R|R, e:3 -VRSQRTPS Vx,Wx nil [vex m:1 p:0 l:x w:i 0x52 /r] s:AVX, t:AVX, w:W|R, e:4 -VRSQRTSS Vss,Hss,Wss nil [vex m:1 p:2 l:i w:i 0x52 /r] s:AVX, t:AVX, w:W|R|R, e:5 -VRCPPS Vps,Wps nil [vex m:1 p:0 l:x w:i 0x53 /r] s:AVX, t:AVX, w:W|R, e:4 -VRCPSS Vss,Hss,Wss nil [vex m:1 p:2 l:i w:i 0x53 /r] s:AVX, t:AVX, w:W|R|R, e:5 -VANDPS Vps,Hps,Wps nil [vex m:1 p:0 l:x w:i 0x54 /r] s:AVX, t:LOGICAL_FP, w:W|R|R, e:4 -VANDPD Vpd,Hpd,Wpd nil [vex m:1 p:1 l:x w:i 0x54 /r] s:AVX, t:LOGICAL_FP, w:W|R|R, e:4 -VANDNPS Vps,Hps,Wps nil [vex m:1 p:0 l:x w:i 0x55 /r] s:AVX, t:LOGICAL_FP, w:W|R|R, e:4 -VANDNPD Vpd,Hpd,Wpd nil [vex m:1 p:1 l:x w:i 0x55 /r] s:AVX, t:LOGICAL_FP, w:W|R|R, e:4 -VORPS Vps,Hps,Wps nil [vex m:1 p:0 l:x w:i 0x56 /r] s:AVX, t:LOGICAL_FP, w:W|R|R, e:4 -VORPD Vpd,Hpd,Wpd nil [vex m:1 p:1 l:x w:i 0x56 /r] s:AVX, t:LOGICAL_FP, w:W|R|R, e:4 -VXORPS Vps,Hps,Wps nil [vex m:1 p:0 l:x w:i 0x57 /r] s:AVX, t:LOGICAL_FP, w:W|R|R, e:4 -VXORPD Vpd,Hpd,Wpd nil [vex m:1 p:1 l:x w:i 0x57 /r] s:AVX, t:LOGICAL_FP, w:W|R|R, e:4 -VADDPS Vps,Hps,Wps nil [vex m:1 p:0 l:x w:i 0x58 /r] s:AVX, t:AVX, w:W|R|R, e:2 -VADDPD Vpd,Hpd,Wpd nil [vex m:1 p:1 l:x w:i 0x58 /r] s:AVX, t:AVX, w:W|R|R, e:2 -VADDSS Vss,Hss,Wss nil [vex m:1 p:2 l:i w:i 0x58 /r] s:AVX, t:AVX, w:W|R|R, e:2 -VADDSD Vsd,Hsd,Wsd nil [vex m:1 p:3 l:i w:i 0x58 /r] s:AVX, t:AVX, w:W|R|R, e:2 -VMULPS Vps,Hps,Wps nil [vex m:1 p:0 l:x w:i 0x59 /r] s:AVX, t:AVX, w:W|R|R, e:2 -VMULPD Vpd,Hpd,Wpd nil [vex m:1 p:1 l:x w:i 0x59 /r] s:AVX, t:AVX, w:W|R|R, e:2 -VMULSS Vss,Hss,Wss nil [vex m:1 p:2 l:i w:i 0x59 /r] s:AVX, t:AVX, w:W|R|R, e:2 -VMULSD Vsd,Hsd,Wsd nil [vex m:1 p:3 l:i w:i 0x59 /r] s:AVX, t:AVX, w:W|R|R, e:2 -VCVTPS2PD Vpd,Wq nil [vex m:1 p:0 l:0 w:i 0x5A /r] s:AVX, t:CONVERT, w:W|R, e:2 -VCVTPS2PD Vqq,Wdq nil [vex m:1 p:0 l:1 w:i 0x5A /r] s:AVX, t:CONVERT, w:W|R, e:2 -VCVTPD2PS Vdq,Wdq nil [vex m:1 p:1 l:0 w:i 0x5A /r] s:AVX, t:CONVERT, w:W|R, e:2 -VCVTPD2PS Vdq,Wqq nil [vex m:1 p:1 l:1 w:i 0x5A /r] s:AVX, t:CONVERT, w:W|R, e:2 -VCVTSS2SD Vsd,Hx,Wss nil [vex m:1 p:2 l:i w:i 0x5A /r] s:AVX, t:CONVERT, w:W|R|R, e:3 -VCVTSD2SS Vss,Hx,Wsd nil [vex m:1 p:3 l:i w:i 0x5A /r] s:AVX, t:CONVERT, w:W|R|R, e:3 -VCVTDQ2PS Vps,Wps nil [vex m:1 p:0 l:x w:i 0x5B /r] s:AVX, t:CONVERT, w:W|R, e:2 -VCVTPS2DQ Vps,Wps nil [vex m:1 p:1 l:x w:i 0x5B /r] s:AVX, t:CONVERT, w:W|R, e:2 -VCVTTPS2DQ Vps,Wps nil [vex m:1 p:2 l:x w:i 0x5B /r] s:AVX, t:CONVERT, w:W|R, e:2 -VSUBPS Vps,Hps,Wps nil [vex m:1 p:0 l:x w:i 0x5C /r] s:AVX, t:AVX, w:W|R|R, e:2 -VSUBPD Vpd,Hpd,Wpd nil [vex m:1 p:1 l:x w:i 0x5C /r] s:AVX, t:AVX, w:W|R|R, e:2 -VSUBSS Vss,Hss,Wss nil [vex m:1 p:2 l:i w:i 0x5C /r] s:AVX, t:AVX, w:W|R|R, e:2 -VSUBSD Vsd,Hsd,Wsd nil [vex m:1 p:3 l:i w:i 0x5C /r] s:AVX, t:AVX, w:W|R|R, e:2 -VMINPS Vps,Hps,Wps nil [vex m:1 p:0 l:x w:i 0x5D /r] s:AVX, t:AVX, w:W|R|R, e:2 -VMINPD Vpd,Hpd,Wpd nil [vex m:1 p:1 l:x w:i 0x5D /r] s:AVX, t:AVX, w:W|R|R, e:2 -VMINSS Vss,Hss,Wss nil [vex m:1 p:2 l:i w:i 0x5D /r] s:AVX, t:AVX, w:W|R|R, e:2 -VMINSD Vsd,Hsd,Wsd nil [vex m:1 p:3 l:i w:i 0x5D /r] s:AVX, t:AVX, w:W|R|R, e:2 -VDIVPS Vps,Hps,Wps nil [vex m:1 p:0 l:x w:i 0x5E /r] s:AVX, t:AVX, w:W|R|R, e:2 -VDIVPD Vpd,Hpd,Wpd nil [vex m:1 p:1 l:x w:i 0x5E /r] s:AVX, t:AVX, w:W|R|R, e:2 -VDIVSS Vss,Hss,Wss nil [vex m:1 p:2 l:i w:i 0x5E /r] s:AVX, t:AVX, w:W|R|R, e:2 -VDIVSD Vsd,Hsd,Wsd nil [vex m:1 p:3 l:i w:i 0x5E /r] s:AVX, t:AVX, w:W|R|R, e:2 -VMAXPS Vps,Hps,Wps nil [vex m:1 p:0 l:x w:i 0x5F /r] s:AVX, t:AVX, w:W|R|R, e:2 -VMAXPD Vpd,Hpd,Wpd nil [vex m:1 p:1 l:x w:i 0x5F /r] s:AVX, t:AVX, w:W|R|R, e:2 -VMAXSS Vss,Hss,Wss nil [vex m:1 p:2 l:i w:i 0x5F /r] s:AVX, t:AVX, w:W|R|R, e:2 -VMAXSD Vsd,Hsd,Wsd nil [vex m:1 p:3 l:i w:i 0x5F /r] s:AVX, t:AVX, w:W|R|R, e:2 +VMOVMSKPS Gy,Ux n/a [vex m:1 p:0 l:x w:i 0x50 /r:reg] s:AVX, t:DATAXFER, w:W|R, e:7, a:D64 +VMOVMSKPD Gy,Ux n/a [vex m:1 p:1 l:x w:i 0x50 /r:reg] s:AVX, t:DATAXFER, w:W|R, e:7, a:D64 +VSQRTPS Vx,Wx n/a [vex m:1 p:0 l:x w:i 0x51 /r] s:AVX, t:AVX, w:W|R, e:2 +VSQRTPD Vx,Wx n/a [vex m:1 p:1 l:x w:i 0x51 /r] s:AVX, t:AVX, w:W|R, e:2 +VSQRTSS Vss,Hss,Wss n/a [vex m:1 p:2 l:i w:i 0x51 /r] s:AVX, t:AVX, w:W|R|R, e:3 +VSQRTSD Vsd,Hsd,Wsd n/a [vex m:1 p:3 l:i w:i 0x51 /r] s:AVX, t:AVX, w:W|R|R, e:3 +VRSQRTPS Vx,Wx n/a [vex m:1 p:0 l:x w:i 0x52 /r] s:AVX, t:AVX, w:W|R, e:4 +VRSQRTSS Vss,Hss,Wss n/a [vex m:1 p:2 l:i w:i 0x52 /r] s:AVX, t:AVX, w:W|R|R, e:5 +VRCPPS Vps,Wps n/a [vex m:1 p:0 l:x w:i 0x53 /r] s:AVX, t:AVX, w:W|R, e:4 +VRCPSS Vss,Hss,Wss n/a [vex m:1 p:2 l:i w:i 0x53 /r] s:AVX, t:AVX, w:W|R|R, e:5 +VANDPS Vps,Hps,Wps n/a [vex m:1 p:0 l:x w:i 0x54 /r] s:AVX, t:LOGICAL_FP, w:W|R|R, e:4 +VANDPD Vpd,Hpd,Wpd n/a [vex m:1 p:1 l:x w:i 0x54 /r] s:AVX, t:LOGICAL_FP, w:W|R|R, e:4 +VANDNPS Vps,Hps,Wps n/a [vex m:1 p:0 l:x w:i 0x55 /r] s:AVX, t:LOGICAL_FP, w:W|R|R, e:4 +VANDNPD Vpd,Hpd,Wpd n/a [vex m:1 p:1 l:x w:i 0x55 /r] s:AVX, t:LOGICAL_FP, w:W|R|R, e:4 +VORPS Vps,Hps,Wps n/a [vex m:1 p:0 l:x w:i 0x56 /r] s:AVX, t:LOGICAL_FP, w:W|R|R, e:4 +VORPD Vpd,Hpd,Wpd n/a [vex m:1 p:1 l:x w:i 0x56 /r] s:AVX, t:LOGICAL_FP, w:W|R|R, e:4 +VXORPS Vps,Hps,Wps n/a [vex m:1 p:0 l:x w:i 0x57 /r] s:AVX, t:LOGICAL_FP, w:W|R|R, e:4 +VXORPD Vpd,Hpd,Wpd n/a [vex m:1 p:1 l:x w:i 0x57 /r] s:AVX, t:LOGICAL_FP, w:W|R|R, e:4 +VADDPS Vps,Hps,Wps n/a [vex m:1 p:0 l:x w:i 0x58 /r] s:AVX, t:AVX, w:W|R|R, e:2 +VADDPD Vpd,Hpd,Wpd n/a [vex m:1 p:1 l:x w:i 0x58 /r] s:AVX, t:AVX, w:W|R|R, e:2 +VADDSS Vss,Hss,Wss n/a [vex m:1 p:2 l:i w:i 0x58 /r] s:AVX, t:AVX, w:W|R|R, e:2 +VADDSD Vsd,Hsd,Wsd n/a [vex m:1 p:3 l:i w:i 0x58 /r] s:AVX, t:AVX, w:W|R|R, e:2 +VMULPS Vps,Hps,Wps n/a [vex m:1 p:0 l:x w:i 0x59 /r] s:AVX, t:AVX, w:W|R|R, e:2 +VMULPD Vpd,Hpd,Wpd n/a [vex m:1 p:1 l:x w:i 0x59 /r] s:AVX, t:AVX, w:W|R|R, e:2 +VMULSS Vss,Hss,Wss n/a [vex m:1 p:2 l:i w:i 0x59 /r] s:AVX, t:AVX, w:W|R|R, e:2 +VMULSD Vsd,Hsd,Wsd n/a [vex m:1 p:3 l:i w:i 0x59 /r] s:AVX, t:AVX, w:W|R|R, e:2 +VCVTPS2PD Vpd,Wq n/a [vex m:1 p:0 l:0 w:i 0x5A /r] s:AVX, t:CONVERT, w:W|R, e:2 +VCVTPS2PD Vqq,Wdq n/a [vex m:1 p:0 l:1 w:i 0x5A /r] s:AVX, t:CONVERT, w:W|R, e:2 +VCVTPD2PS Vdq,Wdq n/a [vex m:1 p:1 l:0 w:i 0x5A /r] s:AVX, t:CONVERT, w:W|R, e:2 +VCVTPD2PS Vdq,Wqq n/a [vex m:1 p:1 l:1 w:i 0x5A /r] s:AVX, t:CONVERT, w:W|R, e:2 +VCVTSS2SD Vsd,Hx,Wss n/a [vex m:1 p:2 l:i w:i 0x5A /r] s:AVX, t:CONVERT, w:W|R|R, e:3 +VCVTSD2SS Vss,Hx,Wsd n/a [vex m:1 p:3 l:i w:i 0x5A /r] s:AVX, t:CONVERT, w:W|R|R, e:3 +VCVTDQ2PS Vps,Wps n/a [vex m:1 p:0 l:x w:i 0x5B /r] s:AVX, t:CONVERT, w:W|R, e:2 +VCVTPS2DQ Vps,Wps n/a [vex m:1 p:1 l:x w:i 0x5B /r] s:AVX, t:CONVERT, w:W|R, e:2 +VCVTTPS2DQ Vps,Wps n/a [vex m:1 p:2 l:x w:i 0x5B /r] s:AVX, t:CONVERT, w:W|R, e:2 +VSUBPS Vps,Hps,Wps n/a [vex m:1 p:0 l:x w:i 0x5C /r] s:AVX, t:AVX, w:W|R|R, e:2 +VSUBPD Vpd,Hpd,Wpd n/a [vex m:1 p:1 l:x w:i 0x5C /r] s:AVX, t:AVX, w:W|R|R, e:2 +VSUBSS Vss,Hss,Wss n/a [vex m:1 p:2 l:i w:i 0x5C /r] s:AVX, t:AVX, w:W|R|R, e:2 +VSUBSD Vsd,Hsd,Wsd n/a [vex m:1 p:3 l:i w:i 0x5C /r] s:AVX, t:AVX, w:W|R|R, e:2 +VMINPS Vps,Hps,Wps n/a [vex m:1 p:0 l:x w:i 0x5D /r] s:AVX, t:AVX, w:W|R|R, e:2 +VMINPD Vpd,Hpd,Wpd n/a [vex m:1 p:1 l:x w:i 0x5D /r] s:AVX, t:AVX, w:W|R|R, e:2 +VMINSS Vss,Hss,Wss n/a [vex m:1 p:2 l:i w:i 0x5D /r] s:AVX, t:AVX, w:W|R|R, e:2 +VMINSD Vsd,Hsd,Wsd n/a [vex m:1 p:3 l:i w:i 0x5D /r] s:AVX, t:AVX, w:W|R|R, e:2 +VDIVPS Vps,Hps,Wps n/a [vex m:1 p:0 l:x w:i 0x5E /r] s:AVX, t:AVX, w:W|R|R, e:2 +VDIVPD Vpd,Hpd,Wpd n/a [vex m:1 p:1 l:x w:i 0x5E /r] s:AVX, t:AVX, w:W|R|R, e:2 +VDIVSS Vss,Hss,Wss n/a [vex m:1 p:2 l:i w:i 0x5E /r] s:AVX, t:AVX, w:W|R|R, e:2 +VDIVSD Vsd,Hsd,Wsd n/a [vex m:1 p:3 l:i w:i 0x5E /r] s:AVX, t:AVX, w:W|R|R, e:2 +VMAXPS Vps,Hps,Wps n/a [vex m:1 p:0 l:x w:i 0x5F /r] s:AVX, t:AVX, w:W|R|R, e:2 +VMAXPD Vpd,Hpd,Wpd n/a [vex m:1 p:1 l:x w:i 0x5F /r] s:AVX, t:AVX, w:W|R|R, e:2 +VMAXSS Vss,Hss,Wss n/a [vex m:1 p:2 l:i w:i 0x5F /r] s:AVX, t:AVX, w:W|R|R, e:2 +VMAXSD Vsd,Hsd,Wsd n/a [vex m:1 p:3 l:i w:i 0x5F /r] s:AVX, t:AVX, w:W|R|R, e:2 # 0x60 - 0x6F -VPUNPCKLBW Vx,Hx,Wx nil [vex m:1 p:1 l:x w:i 0x60 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPUNPCKLWD Vx,Hx,Wx nil [vex m:1 p:1 l:x w:i 0x61 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPUNPCKLDQ Vx,Hx,Wx nil [vex m:1 p:1 l:x w:i 0x62 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPACKSSWB Vx,Hx,Wx nil [vex m:1 p:1 l:x w:i 0x63 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPCMPGTB Vx,Hx,Wx nil [vex m:1 p:1 l:x w:i 0x64 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPCMPGTW Vx,Hx,Wx nil [vex m:1 p:1 l:x w:i 0x65 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPCMPGTD Vx,Hx,Wx nil [vex m:1 p:1 l:x w:i 0x66 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPACKUSWB Vx,Hx,Wx nil [vex m:1 p:1 l:x w:i 0x67 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPUNPCKHBW Vx,Hx,Wx nil [vex m:1 p:1 l:x w:i 0x68 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPUNPCKHWD Vx,Hx,Wx nil [vex m:1 p:1 l:x w:i 0x69 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPUNPCKHDQ Vx,Hx,Wx nil [vex m:1 p:1 l:x w:i 0x6A /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPACKSSDW Vx,Hx,Wx nil [vex m:1 p:1 l:x w:i 0x6B /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPUNPCKLQDQ Vx,Hx,Wx nil [vex m:1 p:1 l:x w:i 0x6C /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPUNPCKHQDQ Vx,Hx,Wx nil [vex m:1 p:1 l:x w:i 0x6D /r] s:AVX, t:AVX, w:W|R|R, e:4 -VMOVD Vdq,Ey nil [vex m:1 p:1 l:0 w:0 0x6E /r] s:AVX, t:DATAXFER, w:W|R, e:5, a:IWO64 -VMOVQ Vdq,Ey nil [vex m:1 p:1 l:0 w:1 0x6E /r] s:AVX, t:DATAXFER, w:W|R, e:5, a:IWO64 -VMOVDQA Vx,Wx nil [vex m:1 p:1 l:x w:i 0x6F /r] s:AVX, t:DATAXFER, w:W|R, e:1 -VMOVDQU Vx,Wx nil [vex m:1 p:2 l:x w:i 0x6F /r] s:AVX, t:DATAXFER, w:W|R, e:4 +VPUNPCKLBW Vx,Hx,Wx n/a [vex m:1 p:1 l:x w:i 0x60 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPUNPCKLWD Vx,Hx,Wx n/a [vex m:1 p:1 l:x w:i 0x61 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPUNPCKLDQ Vx,Hx,Wx n/a [vex m:1 p:1 l:x w:i 0x62 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPACKSSWB Vx,Hx,Wx n/a [vex m:1 p:1 l:x w:i 0x63 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPCMPGTB Vx,Hx,Wx n/a [vex m:1 p:1 l:x w:i 0x64 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPCMPGTW Vx,Hx,Wx n/a [vex m:1 p:1 l:x w:i 0x65 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPCMPGTD Vx,Hx,Wx n/a [vex m:1 p:1 l:x w:i 0x66 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPACKUSWB Vx,Hx,Wx n/a [vex m:1 p:1 l:x w:i 0x67 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPUNPCKHBW Vx,Hx,Wx n/a [vex m:1 p:1 l:x w:i 0x68 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPUNPCKHWD Vx,Hx,Wx n/a [vex m:1 p:1 l:x w:i 0x69 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPUNPCKHDQ Vx,Hx,Wx n/a [vex m:1 p:1 l:x w:i 0x6A /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPACKSSDW Vx,Hx,Wx n/a [vex m:1 p:1 l:x w:i 0x6B /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPUNPCKLQDQ Vx,Hx,Wx n/a [vex m:1 p:1 l:x w:i 0x6C /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPUNPCKHQDQ Vx,Hx,Wx n/a [vex m:1 p:1 l:x w:i 0x6D /r] s:AVX, t:AVX, w:W|R|R, e:4 +VMOVD Vdq,Ey n/a [vex m:1 p:1 l:0 w:0 0x6E /r] s:AVX, t:DATAXFER, w:W|R, e:5, a:IWO64 +VMOVQ Vdq,Ey n/a [vex m:1 p:1 l:0 w:1 0x6E /r] s:AVX, t:DATAXFER, w:W|R, e:5, a:IWO64 +VMOVDQA Vx,Wx n/a [vex m:1 p:1 l:x w:i 0x6F /r] s:AVX, t:DATAXFER, w:W|R, e:1 +VMOVDQU Vx,Wx n/a [vex m:1 p:2 l:x w:i 0x6F /r] s:AVX, t:DATAXFER, w:W|R, e:4 # 0x70 - 0x7F -VPSHUFD Vx,Wx,Ib nil [vex m:1 p:1 l:x w:i 0x70 /r ib] s:AVX, t:AVX, w:W|R|R, e:4 -VPSHUFHW Vx,Wx,Ib nil [vex m:1 p:2 l:x w:i 0x70 /r ib] s:AVX, t:AVX, w:W|R|R, e:4 -VPSHUFLW Vx,Wx,Ib nil [vex m:1 p:3 l:x w:i 0x70 /r ib] s:AVX, t:AVX, w:W|R|R, e:4 -VPCMPEQB Vx,Hx,Wx nil [vex m:1 p:1 l:x w:i 0x74 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPCMPEQW Vx,Hx,Wx nil [vex m:1 p:1 l:x w:i 0x75 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPCMPEQD Vx,Hx,Wx nil [vex m:1 p:1 l:x w:i 0x76 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VZEROUPPER nil BANK [vex m:1 p:0 l:0 0x77] s:AVX, t:AVX, w:W, e:8 -VZEROALL nil BANK [vex m:1 p:0 l:1 0x77] s:AVX, t:AVX, w:W, e:8 -VHADDPD Vpd,Hpd,Wpd nil [vex m:1 p:1 l:x w:i 0x7C /r] s:AVX, t:AVX, w:W|R|R, e:2 -VHADDPS Vps,Hps,Wps nil [vex m:1 p:3 l:x w:i 0x7C /r] s:AVX, t:AVX, w:W|R|R, e:2 -VHSUBPD Vpd,Hpd,Wpd nil [vex m:1 p:1 l:x w:i 0x7D /r] s:AVX, t:AVX, w:W|R|R, e:2 -VHSUBPS Vps,Hps,Wps nil [vex m:1 p:3 l:x w:i 0x7D /r] s:AVX, t:AVX, w:W|R|R, e:2 -VMOVD Ey,Vd nil [vex m:1 p:1 l:0 w:0 0x7E /r] s:AVX, t:DATAXFER, w:W|R, e:5, a:IWO64 -VMOVQ Ey,Vq nil [vex m:1 p:1 l:0 w:1 0x7E /r] s:AVX, t:DATAXFER, w:W|R, e:5, a:IWO64 -VMOVQ Vdq,Wq nil [vex m:1 p:2 l:0 w:i 0x7E /r] s:AVX, t:DATAXFER, w:W|R, e:5 -VMOVDQA Wx,Vx nil [vex m:1 p:1 l:x w:i 0x7F /r] s:AVX, t:DATAXFER, w:W|R, e:1 -VMOVDQU Wx,Vx nil [vex m:1 p:2 l:x w:i 0x7F /r] s:AVX, t:DATAXFER, w:W|R, e:4 -VPSRLW Hx,Ux,Ib nil [vex m:1 p:1 l:x w:i 0x71 /2:reg ib] s:AVX, t:AVX, w:W|R|R, e:7 -VPSRAW Hx,Ux,Ib nil [vex m:1 p:1 l:x w:i 0x71 /4:reg ib] s:AVX, t:AVX, w:W|R|R, e:7 -VPSLLW Hx,Ux,Ib nil [vex m:1 p:1 l:x w:i 0x71 /6:reg ib] s:AVX, t:AVX, w:W|R|R, e:7 -VPSRLD Hx,Ux,Ib nil [vex m:1 p:1 l:x w:i 0x72 /2:reg ib] s:AVX, t:AVX, w:W|R|R, e:7 -VPSRAD Hx,Ux,Ib nil [vex m:1 p:1 l:x w:i 0x72 /4:reg ib] s:AVX, t:AVX, w:W|R|R, e:7 -VPSLLD Hx,Ux,Ib nil [vex m:1 p:1 l:x w:i 0x72 /6:reg ib] s:AVX, t:AVX, w:W|R|R, e:7 -VPSRLQ Hx,Ux,Ib nil [vex m:1 p:1 l:x w:i 0x73 /2:reg ib] s:AVX, t:AVX, w:W|R|R, e:7 -VPSRLDQ Hx,Ux,Ib nil [vex m:1 p:1 l:x w:i 0x73 /3:reg ib] s:AVX, t:AVX, w:W|R|R, e:7 -VPSLLQ Hx,Ux,Ib nil [vex m:1 p:1 l:x w:i 0x73 /6:reg ib] s:AVX, t:AVX, w:W|R|R, e:7 -VPSLLDQ Hx,Ux,Ib nil [vex m:1 p:1 l:x w:i 0x73 /7:reg ib] s:AVX, t:AVX, w:W|R|R, e:7 +VPSHUFD Vx,Wx,Ib n/a [vex m:1 p:1 l:x w:i 0x70 /r ib] s:AVX, t:AVX, w:W|R|R, e:4 +VPSHUFHW Vx,Wx,Ib n/a [vex m:1 p:2 l:x w:i 0x70 /r ib] s:AVX, t:AVX, w:W|R|R, e:4 +VPSHUFLW Vx,Wx,Ib n/a [vex m:1 p:3 l:x w:i 0x70 /r ib] s:AVX, t:AVX, w:W|R|R, e:4 +VPCMPEQB Vx,Hx,Wx n/a [vex m:1 p:1 l:x w:i 0x74 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPCMPEQW Vx,Hx,Wx n/a [vex m:1 p:1 l:x w:i 0x75 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPCMPEQD Vx,Hx,Wx n/a [vex m:1 p:1 l:x w:i 0x76 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VZEROUPPER n/a BANK [vex m:1 p:0 l:0 0x77] s:AVX, t:AVX, w:W, e:8 +VZEROALL n/a BANK [vex m:1 p:0 l:1 0x77] s:AVX, t:AVX, w:W, e:8 +VHADDPD Vpd,Hpd,Wpd n/a [vex m:1 p:1 l:x w:i 0x7C /r] s:AVX, t:AVX, w:W|R|R, e:2 +VHADDPS Vps,Hps,Wps n/a [vex m:1 p:3 l:x w:i 0x7C /r] s:AVX, t:AVX, w:W|R|R, e:2 +VHSUBPD Vpd,Hpd,Wpd n/a [vex m:1 p:1 l:x w:i 0x7D /r] s:AVX, t:AVX, w:W|R|R, e:2 +VHSUBPS Vps,Hps,Wps n/a [vex m:1 p:3 l:x w:i 0x7D /r] s:AVX, t:AVX, w:W|R|R, e:2 +VMOVD Ey,Vd n/a [vex m:1 p:1 l:0 w:0 0x7E /r] s:AVX, t:DATAXFER, w:W|R, e:5, a:IWO64 +VMOVQ Ey,Vq n/a [vex m:1 p:1 l:0 w:1 0x7E /r] s:AVX, t:DATAXFER, w:W|R, e:5, a:IWO64 +VMOVQ Vdq,Wq n/a [vex m:1 p:2 l:0 w:i 0x7E /r] s:AVX, t:DATAXFER, w:W|R, e:5 +VMOVDQA Wx,Vx n/a [vex m:1 p:1 l:x w:i 0x7F /r] s:AVX, t:DATAXFER, w:W|R, e:1 +VMOVDQU Wx,Vx n/a [vex m:1 p:2 l:x w:i 0x7F /r] s:AVX, t:DATAXFER, w:W|R, e:4 +VPSRLW Hx,Ux,Ib n/a [vex m:1 p:1 l:x w:i 0x71 /2:reg ib] s:AVX, t:AVX, w:W|R|R, e:7 +VPSRAW Hx,Ux,Ib n/a [vex m:1 p:1 l:x w:i 0x71 /4:reg ib] s:AVX, t:AVX, w:W|R|R, e:7 +VPSLLW Hx,Ux,Ib n/a [vex m:1 p:1 l:x w:i 0x71 /6:reg ib] s:AVX, t:AVX, w:W|R|R, e:7 +VPSRLD Hx,Ux,Ib n/a [vex m:1 p:1 l:x w:i 0x72 /2:reg ib] s:AVX, t:AVX, w:W|R|R, e:7 +VPSRAD Hx,Ux,Ib n/a [vex m:1 p:1 l:x w:i 0x72 /4:reg ib] s:AVX, t:AVX, w:W|R|R, e:7 +VPSLLD Hx,Ux,Ib n/a [vex m:1 p:1 l:x w:i 0x72 /6:reg ib] s:AVX, t:AVX, w:W|R|R, e:7 +VPSRLQ Hx,Ux,Ib n/a [vex m:1 p:1 l:x w:i 0x73 /2:reg ib] s:AVX, t:AVX, w:W|R|R, e:7 +VPSRLDQ Hx,Ux,Ib n/a [vex m:1 p:1 l:x w:i 0x73 /3:reg ib] s:AVX, t:AVX, w:W|R|R, e:7 +VPSLLQ Hx,Ux,Ib n/a [vex m:1 p:1 l:x w:i 0x73 /6:reg ib] s:AVX, t:AVX, w:W|R|R, e:7 +VPSLLDQ Hx,Ux,Ib n/a [vex m:1 p:1 l:x w:i 0x73 /7:reg ib] s:AVX, t:AVX, w:W|R|R, e:7 # 0x80 - 0x8F @@ -230,77 +235,77 @@ VPSLLDQ Hx,Ux,Ib nil [vex m:1 p:1 l:x w:i # 0xA0 - 0xAF VLDMXCSR Md MXCSR [vex m:1 p:0 0xAE /2:mem] s:AVX, t:AVX, w:R|W, e:5 VSTMXCSR Md MXCSR [vex m:1 p:0 0xAE /3:mem] s:AVX, t:AVX, w:W|R, e:5 -SPFLT Ry nil [vex m:1 p:3 0xAE /6:reg] s:UNKNOWN, t:UNKNOWN, w:R -DELAY Ry nil [vex m:1 p:2 0xAE /6:reg] s:UNKNOWN, t:UNKNOWN, w:R -CLEVICT0 M? nil [vex m:1 p:3 0xAE /7:mem] s:UNKNOWN, t:UNKNOWN, w:N -CLEVICT1 M? nil [vex m:1 p:2 0xAE /7:mem] s:UNKNOWN, t:UNKNOWN, w:N +SPFLT Ry n/a [vex m:1 p:3 0xAE /6:reg] s:UNKNOWN, t:UNKNOWN, w:R +DELAY Ry n/a [vex m:1 p:2 0xAE /6:reg] s:UNKNOWN, t:UNKNOWN, w:R +CLEVICT0 M? n/a [vex m:1 p:3 0xAE /7:mem] s:UNKNOWN, t:UNKNOWN, w:N +CLEVICT1 M? n/a [vex m:1 p:2 0xAE /7:mem] s:UNKNOWN, t:UNKNOWN, w:N # 0xB0 - 0xBF # 0xC0 - 0xCF -VCMPPS Vss,Hss,Wss,Ib nil [vex m:1 p:0 l:i w:i 0xC2 /r ib] s:AVX, t:AVX, w:W|R|R|R, e:3 -VCMPPD Vpd,Hpd,Wpd,Ib nil [vex m:1 p:1 l:x w:i 0xC2 /r ib] s:AVX, t:AVX, w:W|R|R|R, e:3 -VCMPSS Vss,Hss,Wss,Ib nil [vex m:1 p:2 l:i w:i 0xC2 /r ib] s:AVX, t:AVX, w:W|R|R|R, e:3 -VCMPSD Vsd,Hsd,Wsd,Ib nil [vex m:1 p:3 l:i w:i 0xC2 /r ib] s:AVX, t:AVX, w:W|R|R|R, e:3 -VPINSRW Vdq,Hdq,Mw,Ib nil [vex m:1 p:1 l:0 w:i 0xC4 /r:mem ib] s:AVX, t:AVX, w:W|R|R|R, e:5 -VPINSRW Vdq,Hdq,Rd,Ib nil [vex m:1 p:1 l:0 w:i 0xC4 /r:reg ib] s:AVX, t:AVX, w:W|R|R|R, e:5 -VPEXTRW Gy,Udq,Ib nil [vex m:1 p:1 l:0 w:i 0xC5 /r:reg ib] s:AVX, t:AVX, w:W|R|R, e:5, a:D64 -VSHUFPS Vps,Hps,Wps,Ib nil [vex m:1 p:0 l:x w:i 0xC6 /r ib] s:AVX, t:AVX, w:W|R|R|R, e:4 -VSHUFPD Vpd,Hpd,Wpd,Ib nil [vex m:1 p:1 l:x w:i 0xC6 /r ib] s:AVX, t:AVX, w:W|R|R|R, e:4 +VCMPPS Vss,Hss,Wss,Ib n/a [vex m:1 p:0 l:i w:i 0xC2 /r ib] s:AVX, t:AVX, w:W|R|R|R, e:3 +VCMPPD Vpd,Hpd,Wpd,Ib n/a [vex m:1 p:1 l:x w:i 0xC2 /r ib] s:AVX, t:AVX, w:W|R|R|R, e:3 +VCMPSS Vss,Hss,Wss,Ib n/a [vex m:1 p:2 l:i w:i 0xC2 /r ib] s:AVX, t:AVX, w:W|R|R|R, e:3 +VCMPSD Vsd,Hsd,Wsd,Ib n/a [vex m:1 p:3 l:i w:i 0xC2 /r ib] s:AVX, t:AVX, w:W|R|R|R, e:3 +VPINSRW Vdq,Hdq,Mw,Ib n/a [vex m:1 p:1 l:0 w:i 0xC4 /r:mem ib] s:AVX, t:AVX, w:W|R|R|R, e:5 +VPINSRW Vdq,Hdq,Rd,Ib n/a [vex m:1 p:1 l:0 w:i 0xC4 /r:reg ib] s:AVX, t:AVX, w:W|R|R|R, e:5 +VPEXTRW Gy,Udq,Ib n/a [vex m:1 p:1 l:0 w:i 0xC5 /r:reg ib] s:AVX, t:AVX, w:W|R|R, e:5, a:D64 +VSHUFPS Vps,Hps,Wps,Ib n/a [vex m:1 p:0 l:x w:i 0xC6 /r ib] s:AVX, t:AVX, w:W|R|R|R, e:4 +VSHUFPD Vpd,Hpd,Wpd,Ib n/a [vex m:1 p:1 l:x w:i 0xC6 /r ib] s:AVX, t:AVX, w:W|R|R|R, e:4 # 0xD0 - 0xDF -VADDSUBPD Vpd,Hpd,Wpd nil [vex m:1 p:1 l:x w:i 0xD0 /r] s:AVX, t:AVX, w:W|R|R, e:2 -VADDSUBPS Vps,Hps,Wps nil [vex m:1 p:3 l:x w:i 0xD0 /r] s:AVX, t:AVX, w:W|R|R, e:2 -VPSRLW Vx,Hx,Wdq nil [vex m:1 p:1 l:x w:i 0xD1 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPSRLD Vx,Hx,Wdq nil [vex m:1 p:1 l:x w:i 0xD2 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPSRLQ Vx,Hx,Wdq nil [vex m:1 p:1 l:x w:i 0xD3 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPADDQ Vx,Hx,Wx nil [vex m:1 p:1 l:x w:i 0xD4 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPMULLW Vx,Hx,Wx nil [vex m:1 p:1 l:x w:i 0xD5 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VMOVQ Wq,Vdq nil [vex m:1 p:1 l:0 w:i 0xD6 /r] s:AVX, t:DATAXFER, w:W|R, e:5 -VPMOVMSKB Gy,Ux nil [vex m:1 p:1 l:x w:i 0xD7 /r:reg] s:AVX, t:DATAXFER, w:W|R, e:7, a:D64 -VPSUBUSB Vx,Hx,Wx nil [vex m:1 p:1 l:x w:i 0xD8 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPSUBUSW Vx,Hx,Wx nil [vex m:1 p:1 l:x w:i 0xD9 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPMINUB Vx,Hx,Wx nil [vex m:1 p:1 l:x w:i 0xDA /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPAND Vx,Hx,Wx nil [vex m:1 p:1 l:x w:i 0xDB /r] s:AVX, t:LOGICAL, w:W|R|R, e:4 -VPADDUSB Vx,Hx,Wx nil [vex m:1 p:1 l:x w:i 0xDC /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPADDUSW Vx,Hx,Wx nil [vex m:1 p:1 l:x w:i 0xDD /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPMAXUB Vx,Hx,Wx nil [vex m:1 p:1 l:x w:i 0xDE /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPANDN Vx,Hx,Wx nil [vex m:1 p:1 l:x w:i 0xDF /r] s:AVX, t:LOGICAL, w:W|R|R, e:4 +VADDSUBPD Vpd,Hpd,Wpd n/a [vex m:1 p:1 l:x w:i 0xD0 /r] s:AVX, t:AVX, w:W|R|R, e:2 +VADDSUBPS Vps,Hps,Wps n/a [vex m:1 p:3 l:x w:i 0xD0 /r] s:AVX, t:AVX, w:W|R|R, e:2 +VPSRLW Vx,Hx,Wdq n/a [vex m:1 p:1 l:x w:i 0xD1 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPSRLD Vx,Hx,Wdq n/a [vex m:1 p:1 l:x w:i 0xD2 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPSRLQ Vx,Hx,Wdq n/a [vex m:1 p:1 l:x w:i 0xD3 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPADDQ Vx,Hx,Wx n/a [vex m:1 p:1 l:x w:i 0xD4 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPMULLW Vx,Hx,Wx n/a [vex m:1 p:1 l:x w:i 0xD5 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VMOVQ Wq,Vdq n/a [vex m:1 p:1 l:0 w:i 0xD6 /r] s:AVX, t:DATAXFER, w:W|R, e:5 +VPMOVMSKB Gy,Ux n/a [vex m:1 p:1 l:x w:i 0xD7 /r:reg] s:AVX, t:DATAXFER, w:W|R, e:7, a:D64 +VPSUBUSB Vx,Hx,Wx n/a [vex m:1 p:1 l:x w:i 0xD8 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPSUBUSW Vx,Hx,Wx n/a [vex m:1 p:1 l:x w:i 0xD9 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPMINUB Vx,Hx,Wx n/a [vex m:1 p:1 l:x w:i 0xDA /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPAND Vx,Hx,Wx n/a [vex m:1 p:1 l:x w:i 0xDB /r] s:AVX, t:LOGICAL, w:W|R|R, e:4 +VPADDUSB Vx,Hx,Wx n/a [vex m:1 p:1 l:x w:i 0xDC /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPADDUSW Vx,Hx,Wx n/a [vex m:1 p:1 l:x w:i 0xDD /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPMAXUB Vx,Hx,Wx n/a [vex m:1 p:1 l:x w:i 0xDE /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPANDN Vx,Hx,Wx n/a [vex m:1 p:1 l:x w:i 0xDF /r] s:AVX, t:LOGICAL, w:W|R|R, e:4 # 0xE0 - 0xEF -VPAVGB Vx,Hx,Wx nil [vex m:1 p:1 l:x w:i 0xE0 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPSRAW Vx,Hx,Wdq nil [vex m:1 p:1 l:x w:i 0xE1 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPSRAD Vx,Hx,Wdq nil [vex m:1 p:1 l:x w:i 0xE2 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPAVGW Vx,Hx,Wx nil [vex m:1 p:1 l:x w:i 0xE3 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPMULHUW Vx,Hx,Wx nil [vex m:1 p:1 l:x w:i 0xE4 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPMULHW Vx,Hx,Wx nil [vex m:1 p:1 l:x w:i 0xE5 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VCVTTPD2DQ Vdq,Wx nil [vex m:1 p:1 l:x w:i 0xE6 /r] s:AVX, t:CONVERT, w:W|R, e:2 -VCVTDQ2PD Vdq,Wq nil [vex m:1 p:2 l:0 w:i 0xE6 /r] s:AVX, t:CONVERT, w:W|R, e:5 -VCVTDQ2PD Vqq,Wdq nil [vex m:1 p:2 l:1 w:i 0xE6 /r] s:AVX, t:CONVERT, w:W|R, e:5 -VCVTPD2DQ Vdq,Wx nil [vex m:1 p:3 l:x w:i 0xE6 /r] s:AVX, t:CONVERT, w:W|R, e:2 -VMOVNTDQ Mx,Vx nil [vex m:1 p:1 l:x w:i 0xE7 /r:mem] s:AVX, t:AVX, w:W|R, e:1 -VPSUBSB Vx,Hx,Wx nil [vex m:1 p:1 l:x w:i 0xE8 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPSUBSW Vx,Hx,Wx nil [vex m:1 p:1 l:x w:i 0xE9 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPMINSW Vx,Hx,Wx nil [vex m:1 p:1 l:x w:i 0xEA /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPOR Vx,Hx,Wx nil [vex m:1 p:1 l:x w:i 0xEB /r] s:AVX, t:LOGICAL, w:W|R|R, e:4 -VPADDSB Vx,Hx,Wx nil [vex m:1 p:1 l:x w:i 0xEC /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPADDSW Vx,Hx,Wx nil [vex m:1 p:1 l:x w:i 0xED /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPMAXSW Vx,Hx,Wx nil [vex m:1 p:1 l:x w:i 0xEE /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPXOR Vx,Hx,Wx nil [vex m:1 p:1 l:x w:i 0xEF /r] s:AVX, t:LOGICAL, w:W|R|R, e:4 +VPAVGB Vx,Hx,Wx n/a [vex m:1 p:1 l:x w:i 0xE0 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPSRAW Vx,Hx,Wdq n/a [vex m:1 p:1 l:x w:i 0xE1 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPSRAD Vx,Hx,Wdq n/a [vex m:1 p:1 l:x w:i 0xE2 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPAVGW Vx,Hx,Wx n/a [vex m:1 p:1 l:x w:i 0xE3 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPMULHUW Vx,Hx,Wx n/a [vex m:1 p:1 l:x w:i 0xE4 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPMULHW Vx,Hx,Wx n/a [vex m:1 p:1 l:x w:i 0xE5 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VCVTTPD2DQ Vdq,Wx n/a [vex m:1 p:1 l:x w:i 0xE6 /r] s:AVX, t:CONVERT, w:W|R, e:2 +VCVTDQ2PD Vdq,Wq n/a [vex m:1 p:2 l:0 w:i 0xE6 /r] s:AVX, t:CONVERT, w:W|R, e:5 +VCVTDQ2PD Vqq,Wdq n/a [vex m:1 p:2 l:1 w:i 0xE6 /r] s:AVX, t:CONVERT, w:W|R, e:5 +VCVTPD2DQ Vdq,Wx n/a [vex m:1 p:3 l:x w:i 0xE6 /r] s:AVX, t:CONVERT, w:W|R, e:2 +VMOVNTDQ Mx,Vx n/a [vex m:1 p:1 l:x w:i 0xE7 /r:mem] s:AVX, t:AVX, w:W|R, e:1 +VPSUBSB Vx,Hx,Wx n/a [vex m:1 p:1 l:x w:i 0xE8 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPSUBSW Vx,Hx,Wx n/a [vex m:1 p:1 l:x w:i 0xE9 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPMINSW Vx,Hx,Wx n/a [vex m:1 p:1 l:x w:i 0xEA /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPOR Vx,Hx,Wx n/a [vex m:1 p:1 l:x w:i 0xEB /r] s:AVX, t:LOGICAL, w:W|R|R, e:4 +VPADDSB Vx,Hx,Wx n/a [vex m:1 p:1 l:x w:i 0xEC /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPADDSW Vx,Hx,Wx n/a [vex m:1 p:1 l:x w:i 0xED /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPMAXSW Vx,Hx,Wx n/a [vex m:1 p:1 l:x w:i 0xEE /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPXOR Vx,Hx,Wx n/a [vex m:1 p:1 l:x w:i 0xEF /r] s:AVX, t:LOGICAL, w:W|R|R, e:4 # 0xF0 - 0xFF -VLDDQU Vx,Mx nil [vex m:1 p:3 l:x w:i 0xF0 /r:mem] s:AVX, t:AVX, w:W|R, e:4 -VPSLLW Vx,Hx,Wdq nil [vex m:1 p:1 l:x w:i 0xF1 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPSLLD Vx,Hx,Wdq nil [vex m:1 p:1 l:x w:i 0xF2 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPSLLQ Vx,Hx,Wdq nil [vex m:1 p:1 l:x w:i 0xF3 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPMULUDQ Vx,Hx,Wx nil [vex m:1 p:1 l:x w:i 0xF4 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPMADDWD Vx,Hx,Wx nil [vex m:1 p:1 l:x w:i 0xF5 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPSADBW Vx,Hx,Wx nil [vex m:1 p:1 l:x w:i 0xF6 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VLDDQU Vx,Mx n/a [vex m:1 p:3 l:x w:i 0xF0 /r:mem] s:AVX, t:AVX, w:W|R, e:4 +VPSLLW Vx,Hx,Wdq n/a [vex m:1 p:1 l:x w:i 0xF1 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPSLLD Vx,Hx,Wdq n/a [vex m:1 p:1 l:x w:i 0xF2 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPSLLQ Vx,Hx,Wdq n/a [vex m:1 p:1 l:x w:i 0xF3 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPMULUDQ Vx,Hx,Wx n/a [vex m:1 p:1 l:x w:i 0xF4 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPMADDWD Vx,Hx,Wx n/a [vex m:1 p:1 l:x w:i 0xF5 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPSADBW Vx,Hx,Wx n/a [vex m:1 p:1 l:x w:i 0xF6 /r] s:AVX, t:AVX, w:W|R|R, e:4 VMASKMOVDQU Vdq,Udq pDIdq [vex m:1 p:1 l:0 w:i 0xF7 /r:reg] s:AVX, t:AVX, w:R|R|W, e:4 -VPSUBB Vx,Hx,Wx nil [vex m:1 p:1 l:x w:i 0xF8 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPSUBW Vx,Hx,Wx nil [vex m:1 p:1 l:x w:i 0xF9 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPSUBD Vx,Hx,Wx nil [vex m:1 p:1 l:x w:i 0xFA /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPSUBQ Vx,Hx,Wx nil [vex m:1 p:1 l:x w:i 0xFB /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPADDB Vx,Hx,Wx nil [vex m:1 p:1 l:x w:i 0xFC /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPADDW Vx,Hx,Wx nil [vex m:1 p:1 l:x w:i 0xFD /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPADDD Vx,Hx,Wx nil [vex m:1 p:1 l:x w:i 0xFE /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPSUBB Vx,Hx,Wx n/a [vex m:1 p:1 l:x w:i 0xF8 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPSUBW Vx,Hx,Wx n/a [vex m:1 p:1 l:x w:i 0xF9 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPSUBD Vx,Hx,Wx n/a [vex m:1 p:1 l:x w:i 0xFA /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPSUBQ Vx,Hx,Wx n/a [vex m:1 p:1 l:x w:i 0xFB /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPADDB Vx,Hx,Wx n/a [vex m:1 p:1 l:x w:i 0xFC /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPADDW Vx,Hx,Wx n/a [vex m:1 p:1 l:x w:i 0xFD /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPADDD Vx,Hx,Wx n/a [vex m:1 p:1 l:x w:i 0xFE /r] s:AVX, t:AVX, w:W|R|R, e:4 diff --git a/isagenerator/instructions/table_vex2.dat b/isagenerator/instructions/table_vex2.dat index 5ea3d9f..348b487 100644 --- a/isagenerator/instructions/table_vex2.dat +++ b/isagenerator/instructions/table_vex2.dat @@ -1,224 +1,229 @@ +# +# Copyright (c) 2020 Bitdefender +# SPDX-License-Identifier: Apache-2.0 +# + # Mnemonic Explicit Operands Implicit Operands Encoding Flags, Prefixes, Set, Category, Class, RW map, Additional ops #------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ # 0x00 - 0x0F -VPSHUFB Vx,Hx,Wx nil [vex m:2 p:1 l:x w:i 0x00 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPHADDW Vx,Hx,Wx nil [vex m:2 p:1 l:x w:i 0x01 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPHADDD Vx,Hx,Wx nil [vex m:2 p:1 l:x w:i 0x02 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPHADDSW Vx,Hx,Wx nil [vex m:2 p:1 l:x w:i 0x03 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPMADDUBSW Vx,Hx,Wx nil [vex m:2 p:1 l:x w:i 0x04 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPHSUBW Vx,Hx,Wx nil [vex m:2 p:1 l:x w:i 0x05 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPHSUBD Vx,Hx,Wx nil [vex m:2 p:1 l:x w:i 0x06 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPHSUBSW Vx,Hx,Wx nil [vex m:2 p:1 l:x w:i 0x07 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPSIGNB Vx,Hx,Wx nil [vex m:2 p:1 l:x w:i 0x08 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPSIGNW Vx,Hx,Wx nil [vex m:2 p:1 l:x w:i 0x09 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPSIGND Vx,Hx,Wx nil [vex m:2 p:1 l:x w:i 0x0A /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPMULHRSW Vx,Hx,Wx nil [vex m:2 p:1 l:x w:i 0x0B /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPERMILPS Vx,Hx,Wx nil [vex m:2 p:1 l:x w:0 0x0C /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPERMILPD Vx,Hx,Wx nil [vex m:2 p:1 l:x w:0 0x0D /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPSHUFB Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:i 0x00 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPHADDW Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:i 0x01 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPHADDD Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:i 0x02 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPHADDSW Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:i 0x03 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPMADDUBSW Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:i 0x04 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPHSUBW Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:i 0x05 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPHSUBD Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:i 0x06 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPHSUBSW Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:i 0x07 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPSIGNB Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:i 0x08 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPSIGNW Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:i 0x09 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPSIGND Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:i 0x0A /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPMULHRSW Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:i 0x0B /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPERMILPS Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:0 0x0C /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPERMILPD Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:0 0x0D /r] s:AVX, t:AVX, w:W|R|R, e:4 VTESTPS Vx,Wx Fv [vex m:2 p:1 l:x w:0 0x0E /r] s:AVX, t:LOGICAL_FP, w:R|R|W, f:VPTEST, e:4 VTESTPD Vx,Wx Fv [vex m:2 p:1 l:x w:0 0x0F /r] s:AVX, t:LOGICAL_FP, w:R|R|W, f:VPTEST, e:4 # 0x10 - 0x1F -VCVTPH2PS Vdq,Wq nil [vex m:2 p:1 l:0 w:0 0x13 /r] s:F16C, t:CONVERT, w:W|R, e:11 -VCVTPH2PS Vqq,Wdq nil [vex m:2 p:1 l:1 w:0 0x13 /r] s:F16C, t:CONVERT, w:W|R, e:11 -VPERMPS Vqq,Hqq,Wqq nil [vex m:2 p:1 l:1 w:0 0x16 /r] s:AVX2, t:AVX2, w:W|R|R, e:4 +VCVTPH2PS Vdq,Wq n/a [vex m:2 p:1 l:0 w:0 0x13 /r] s:F16C, t:CONVERT, w:W|R, e:11 +VCVTPH2PS Vqq,Wdq n/a [vex m:2 p:1 l:1 w:0 0x13 /r] s:F16C, t:CONVERT, w:W|R, e:11 +VPERMPS Vqq,Hqq,Wqq n/a [vex m:2 p:1 l:1 w:0 0x16 /r] s:AVX2, t:AVX2, w:W|R|R, e:4 VPTEST Vx,Wx Fv [vex m:2 p:1 l:x w:i 0x17 /r] s:AVX, t:LOGICAL, w:R|R|W, f:VPTEST, e:4 -VBROADCASTSS Vx,Wss nil [vex m:2 p:1 l:x w:0 0x18 /r] s:AVX, t:BROADCAST, w:W|R, e:6 -VBROADCASTSD Vqq,Wsd nil [vex m:2 p:1 l:x w:0 0x19 /r] s:AVX, t:BROADCAST, w:W|R, e:6 -VBROADCASTF128 Vqq,Mdq nil [vex m:2 p:1 l:1 w:0 0x1A /r:mem] s:AVX, t:BROADCAST, w:W|R, e:6 -VPABSB Vx,Wx nil [vex m:2 p:1 l:x w:i 0x1C /r] s:AVX, t:AVX, w:W|R, e:4 -VPABSW Vx,Wx nil [vex m:2 p:1 l:x w:i 0x1D /r] s:AVX, t:AVX, w:W|R, e:4 -VPABSD Vx,Wx nil [vex m:2 p:1 l:x w:i 0x1E /r] s:AVX, t:AVX, w:W|R, e:4 +VBROADCASTSS Vx,Wss n/a [vex m:2 p:1 l:x w:0 0x18 /r] s:AVX, t:BROADCAST, w:W|R, e:6 +VBROADCASTSD Vqq,Wsd n/a [vex m:2 p:1 l:x w:0 0x19 /r] s:AVX, t:BROADCAST, w:W|R, e:6 +VBROADCASTF128 Vqq,Mdq n/a [vex m:2 p:1 l:1 w:0 0x1A /r:mem] s:AVX, t:BROADCAST, w:W|R, e:6 +VPABSB Vx,Wx n/a [vex m:2 p:1 l:x w:i 0x1C /r] s:AVX, t:AVX, w:W|R, e:4 +VPABSW Vx,Wx n/a [vex m:2 p:1 l:x w:i 0x1D /r] s:AVX, t:AVX, w:W|R, e:4 +VPABSD Vx,Wx n/a [vex m:2 p:1 l:x w:i 0x1E /r] s:AVX, t:AVX, w:W|R, e:4 # 0x20 - 0x2F -VPMOVSXBW Vdq,Wq nil [vex m:2 p:1 l:0 w:i 0x20 /r] s:AVX, t:AVX, w:W|R, e:5 -VPMOVSXBW Vqq,Wdq nil [vex m:2 p:1 l:1 w:i 0x20 /r] s:AVX2, t:AVX2, w:W|R, e:5 -VPMOVSXBD Vdq,Wd nil [vex m:2 p:1 l:0 w:i 0x21 /r] s:AVX, t:AVX, w:W|R, e:5 -VPMOVSXBD Vqq,Wq nil [vex m:2 p:1 l:1 w:i 0x21 /r] s:AVX2, t:AVX2, w:W|R, e:5 -VPMOVSXBQ Vdq,Ww nil [vex m:2 p:1 l:0 w:i 0x22 /r] s:AVX, t:AVX, w:W|R, e:5 -VPMOVSXBQ Vqq,Wd nil [vex m:2 p:1 l:1 w:i 0x22 /r] s:AVX2, t:AVX2, w:W|R, e:5 -VPMOVSXWD Vdq,Wq nil [vex m:2 p:1 l:0 w:i 0x23 /r] s:AVX, t:AVX, w:W|R, e:5 -VPMOVSXWD Vqq,Wdq nil [vex m:2 p:1 l:1 w:i 0x23 /r] s:AVX2, t:AVX2, w:W|R, e:5 -VPMOVSXWQ Vdq,Wd nil [vex m:2 p:1 l:0 w:i 0x24 /r] s:AVX, t:AVX, w:W|R, e:5 -VPMOVSXWQ Vqq,Wq nil [vex m:2 p:1 l:1 w:i 0x24 /r] s:AVX2, t:AVX2, w:W|R, e:5 -VPMOVSXDQ Vdq,Wq nil [vex m:2 p:1 l:0 w:i 0x25 /r] s:AVX, t:AVX, w:W|R, e:5 -VPMOVSXDQ Vqq,Wdq nil [vex m:2 p:1 l:1 w:i 0x25 /r] s:AVX2, t:AVX2, w:W|R, e:5 -VPMULDQ Vx,Hx,Wx nil [vex m:2 p:1 l:x w:i 0x28 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPCMPEQQ Vx,Hx,Wx nil [vex m:2 p:1 l:x w:i 0x29 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VMOVNTDQA Vx,Mx nil [vex m:2 p:1 l:x w:i 0x2A /r:mem] s:AVX, t:AVX, w:W|R, e:1 -VPACKUSDW Vx,Hx,Wx nil [vex m:2 p:1 l:x w:i 0x2B /r] s:AVX, t:AVX, w:W|R|R, e:4 -VMASKMOVPS Vx,Hx,Mx nil [vex m:2 p:1 l:x w:0 0x2C /r:mem] s:AVX, t:AVX, w:W|R|R, e:6 -VMASKMOVPD Vx,Hx,Mx nil [vex m:2 p:1 l:x w:0 0x2D /r:mem] s:AVX, t:AVX, w:W|R|R, e:6 -VMASKMOVPS Mx,Hx,Vx nil [vex m:2 p:1 l:x w:0 0x2E /r:mem] s:AVX, t:AVX, w:W|R|R, e:6 -VMASKMOVPD Mx,Hx,Vx nil [vex m:2 p:1 l:x w:0 0x2F /r:mem] s:AVX, t:AVX, w:W|R|R, e:6 +VPMOVSXBW Vdq,Wq n/a [vex m:2 p:1 l:0 w:i 0x20 /r] s:AVX, t:AVX, w:W|R, e:5 +VPMOVSXBW Vqq,Wdq n/a [vex m:2 p:1 l:1 w:i 0x20 /r] s:AVX2, t:AVX2, w:W|R, e:5 +VPMOVSXBD Vdq,Wd n/a [vex m:2 p:1 l:0 w:i 0x21 /r] s:AVX, t:AVX, w:W|R, e:5 +VPMOVSXBD Vqq,Wq n/a [vex m:2 p:1 l:1 w:i 0x21 /r] s:AVX2, t:AVX2, w:W|R, e:5 +VPMOVSXBQ Vdq,Ww n/a [vex m:2 p:1 l:0 w:i 0x22 /r] s:AVX, t:AVX, w:W|R, e:5 +VPMOVSXBQ Vqq,Wd n/a [vex m:2 p:1 l:1 w:i 0x22 /r] s:AVX2, t:AVX2, w:W|R, e:5 +VPMOVSXWD Vdq,Wq n/a [vex m:2 p:1 l:0 w:i 0x23 /r] s:AVX, t:AVX, w:W|R, e:5 +VPMOVSXWD Vqq,Wdq n/a [vex m:2 p:1 l:1 w:i 0x23 /r] s:AVX2, t:AVX2, w:W|R, e:5 +VPMOVSXWQ Vdq,Wd n/a [vex m:2 p:1 l:0 w:i 0x24 /r] s:AVX, t:AVX, w:W|R, e:5 +VPMOVSXWQ Vqq,Wq n/a [vex m:2 p:1 l:1 w:i 0x24 /r] s:AVX2, t:AVX2, w:W|R, e:5 +VPMOVSXDQ Vdq,Wq n/a [vex m:2 p:1 l:0 w:i 0x25 /r] s:AVX, t:AVX, w:W|R, e:5 +VPMOVSXDQ Vqq,Wdq n/a [vex m:2 p:1 l:1 w:i 0x25 /r] s:AVX2, t:AVX2, w:W|R, e:5 +VPMULDQ Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:i 0x28 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPCMPEQQ Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:i 0x29 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VMOVNTDQA Vx,Mx n/a [vex m:2 p:1 l:x w:i 0x2A /r:mem] s:AVX, t:AVX, w:W|R, e:1 +VPACKUSDW Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:i 0x2B /r] s:AVX, t:AVX, w:W|R|R, e:4 +VMASKMOVPS Vx,Hx,Mx n/a [vex m:2 p:1 l:x w:0 0x2C /r:mem] s:AVX, t:AVX, w:W|R|R, e:6 +VMASKMOVPD Vx,Hx,Mx n/a [vex m:2 p:1 l:x w:0 0x2D /r:mem] s:AVX, t:AVX, w:W|R|R, e:6 +VMASKMOVPS Mx,Hx,Vx n/a [vex m:2 p:1 l:x w:0 0x2E /r:mem] s:AVX, t:AVX, w:W|R|R, e:6 +VMASKMOVPD Mx,Hx,Vx n/a [vex m:2 p:1 l:x w:0 0x2F /r:mem] s:AVX, t:AVX, w:W|R|R, e:6 # 0x30 - 0x3F -VPMOVZXBW Vdq,Wq nil [vex m:2 p:1 l:0 w:i 0x30 /r] s:AVX, t:AVX, w:W|R, e:5 -VPMOVZXBW Vqq,Wdq nil [vex m:2 p:1 l:1 w:i 0x30 /r] s:AVX2, t:AVX2, w:W|R, e:5 -VPMOVZXBD Vdq,Wd nil [vex m:2 p:1 l:0 w:i 0x31 /r] s:AVX, t:AVX, w:W|R, e:5 -VPMOVZXBD Vqq,Wq nil [vex m:2 p:1 l:1 w:i 0x31 /r] s:AVX2, t:AVX2, w:W|R, e:5 -VPMOVZXBQ Vdq,Ww nil [vex m:2 p:1 l:0 w:i 0x32 /r] s:AVX, t:AVX, w:W|R, e:5 -VPMOVZXBQ Vqq,Wd nil [vex m:2 p:1 l:1 w:i 0x32 /r] s:AVX2, t:AVX2, w:W|R, e:5 -VPMOVZXWD Vdq,Wq nil [vex m:2 p:1 l:0 w:i 0x33 /r] s:AVX, t:AVX, w:W|R, e:5 -VPMOVZXWD Vqq,Wdq nil [vex m:2 p:1 l:1 w:i 0x33 /r] s:AVX2, t:AVX2, w:W|R, e:5 -VPMOVZXWQ Vdq,Wd nil [vex m:2 p:1 l:0 w:i 0x34 /r] s:AVX, t:AVX, w:W|R, e:5 -VPMOVZXWQ Vqq,Wq nil [vex m:2 p:1 l:1 w:i 0x34 /r] s:AVX2, t:AVX2, w:W|R, e:5 -VPMOVZXDQ Vdq,Wq nil [vex m:2 p:1 l:0 w:i 0x35 /r] s:AVX, t:AVX, w:W|R, e:5 -VPMOVZXDQ Vqq,Wdq nil [vex m:2 p:1 l:1 w:i 0x35 /r] s:AVX2, t:AVX2, w:W|R, e:5 -VPERMD Vqq,Hqq,Wqq nil [vex m:2 p:1 l:1 w:0 0x36 /r] s:AVX2, t:AVX2, w:W|R|R, e:4 -VPCMPGTQ Vx,Hx,Wx nil [vex m:2 p:1 l:x w:i 0x37 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPMINSB Vx,Hx,Wx nil [vex m:2 p:1 l:x w:i 0x38 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPMINSD Vx,Hx,Wx nil [vex m:2 p:1 l:x w:i 0x39 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPMINUW Vx,Hx,Wx nil [vex m:2 p:1 l:x w:i 0x3A /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPMINUD Vx,Hx,Wx nil [vex m:2 p:1 l:x w:i 0x3B /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPMAXSB Vx,Hx,Wx nil [vex m:2 p:1 l:x w:i 0x3C /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPMAXSD Vx,Hx,Wx nil [vex m:2 p:1 l:x w:i 0x3D /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPMAXUW Vx,Hx,Wx nil [vex m:2 p:1 l:x w:i 0x3E /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPMAXUD Vx,Hx,Wx nil [vex m:2 p:1 l:x w:i 0x3F /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPMOVZXBW Vdq,Wq n/a [vex m:2 p:1 l:0 w:i 0x30 /r] s:AVX, t:AVX, w:W|R, e:5 +VPMOVZXBW Vqq,Wdq n/a [vex m:2 p:1 l:1 w:i 0x30 /r] s:AVX2, t:AVX2, w:W|R, e:5 +VPMOVZXBD Vdq,Wd n/a [vex m:2 p:1 l:0 w:i 0x31 /r] s:AVX, t:AVX, w:W|R, e:5 +VPMOVZXBD Vqq,Wq n/a [vex m:2 p:1 l:1 w:i 0x31 /r] s:AVX2, t:AVX2, w:W|R, e:5 +VPMOVZXBQ Vdq,Ww n/a [vex m:2 p:1 l:0 w:i 0x32 /r] s:AVX, t:AVX, w:W|R, e:5 +VPMOVZXBQ Vqq,Wd n/a [vex m:2 p:1 l:1 w:i 0x32 /r] s:AVX2, t:AVX2, w:W|R, e:5 +VPMOVZXWD Vdq,Wq n/a [vex m:2 p:1 l:0 w:i 0x33 /r] s:AVX, t:AVX, w:W|R, e:5 +VPMOVZXWD Vqq,Wdq n/a [vex m:2 p:1 l:1 w:i 0x33 /r] s:AVX2, t:AVX2, w:W|R, e:5 +VPMOVZXWQ Vdq,Wd n/a [vex m:2 p:1 l:0 w:i 0x34 /r] s:AVX, t:AVX, w:W|R, e:5 +VPMOVZXWQ Vqq,Wq n/a [vex m:2 p:1 l:1 w:i 0x34 /r] s:AVX2, t:AVX2, w:W|R, e:5 +VPMOVZXDQ Vdq,Wq n/a [vex m:2 p:1 l:0 w:i 0x35 /r] s:AVX, t:AVX, w:W|R, e:5 +VPMOVZXDQ Vqq,Wdq n/a [vex m:2 p:1 l:1 w:i 0x35 /r] s:AVX2, t:AVX2, w:W|R, e:5 +VPERMD Vqq,Hqq,Wqq n/a [vex m:2 p:1 l:1 w:0 0x36 /r] s:AVX2, t:AVX2, w:W|R|R, e:4 +VPCMPGTQ Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:i 0x37 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPMINSB Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:i 0x38 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPMINSD Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:i 0x39 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPMINUW Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:i 0x3A /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPMINUD Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:i 0x3B /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPMAXSB Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:i 0x3C /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPMAXSD Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:i 0x3D /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPMAXUW Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:i 0x3E /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPMAXUD Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:i 0x3F /r] s:AVX, t:AVX, w:W|R|R, e:4 # 0x40 - 0x4F -VPMULLD Vx,Hx,Wx nil [vex m:2 p:1 l:x w:i 0x40 /r] s:AVX, t:AVX, w:W|R|R, e:4 -VPHMINPOSUW Vdq,Wdq nil [vex m:2 p:1 l:0 w:i 0x41 /r] s:AVX, t:AVX, w:W|R, e:4 -VPSRLVD Vx,Hx,Wx nil [vex m:2 p:1 l:x w:0 0x45 /r] s:AVX2, t:AVX2, w:W|R|R, e:4 -VPSRLVQ Vx,Hx,Wx nil [vex m:2 p:1 l:x w:1 0x45 /r] s:AVX2, t:AVX2, w:W|R|R, e:4 -VPSRAVD Vx,Hx,Wx nil [vex m:2 p:1 l:x w:0 0x46 /r] s:AVX2, t:AVX2, w:W|R|R, e:4 -VPSLLVD Vx,Hx,Wx nil [vex m:2 p:1 l:x w:0 0x47 /r] s:AVX2, t:AVX2, w:W|R|R, e:4 -VPSLLVQ Vx,Hx,Wx nil [vex m:2 p:1 l:x w:1 0x47 /r] s:AVX2, t:AVX2, w:W|R|R, e:4 - -LDTILECFG Moq nil [vex m:2 p:0 l:0 w:0 0x49 /0:mem] s:AMXTILE, t:AMX, w:R, m:NOTSX|O64, e:AMX_E1 -STTILECFG Moq nil [vex m:2 p:1 l:0 w:0 0x49 /0:mem] s:AMXTILE, t:AMX, w:W, m:NOTSX|O64, e:AMX_E2 -TILELOADD rTt,Mt nil [vex m:2 p:3 l:0 w:0 0x4B /r:mem sibmem] s:AMXTILE, t:AMX, w:W|R, m:NOTSX|O64, e:AMX_E3 -TILESTORED Mt,rTt nil [vex m:2 p:2 l:0 w:0 0x4B /r:mem sibmem] s:AMXTILE, t:AMX, w:W|R, m:NOTSX|O64, e:AMX_E3 -TILELOADDT1 rTt,Mt nil [vex m:2 p:1 l:0 w:0 0x4B /r:mem sibmem] s:AMXTILE, t:AMX, w:W|R, m:NOTSX|O64, e:AMX_E3 -TILERELEASE nil nil [vex m:2 p:0 l:0 w:0 0x49 /0xC0] s:AMXTILE, t:AMX, m:NOTSX|O64, e:AMX_E6 -TILEZERO rTt nil [vex m:2 p:3 l:0 w:0 0x49 /r:reg rm:0] s:AMXTILE, t:AMX, w:W, m:NOTSX|O64, e:AMX_E5 +VPMULLD Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:i 0x40 /r] s:AVX, t:AVX, w:W|R|R, e:4 +VPHMINPOSUW Vdq,Wdq n/a [vex m:2 p:1 l:0 w:i 0x41 /r] s:AVX, t:AVX, w:W|R, e:4 +VPSRLVD Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:0 0x45 /r] s:AVX2, t:AVX2, w:W|R|R, e:4 +VPSRLVQ Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:1 0x45 /r] s:AVX2, t:AVX2, w:W|R|R, e:4 +VPSRAVD Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:0 0x46 /r] s:AVX2, t:AVX2, w:W|R|R, e:4 +VPSLLVD Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:0 0x47 /r] s:AVX2, t:AVX2, w:W|R|R, e:4 +VPSLLVQ Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:1 0x47 /r] s:AVX2, t:AVX2, w:W|R|R, e:4 + +LDTILECFG Moq n/a [vex m:2 p:0 l:0 w:0 0x49 /0:mem] s:AMXTILE, t:AMX, w:R, m:NOTSX|O64, e:AMX_E1 +STTILECFG Moq n/a [vex m:2 p:1 l:0 w:0 0x49 /0:mem] s:AMXTILE, t:AMX, w:W, m:NOTSX|O64, e:AMX_E2 +TILELOADD rTt,Mt n/a [vex m:2 p:3 l:0 w:0 0x4B /r:mem sibmem] s:AMXTILE, t:AMX, w:W|R, m:NOTSX|O64, e:AMX_E3 +TILESTORED Mt,rTt n/a [vex m:2 p:2 l:0 w:0 0x4B /r:mem sibmem] s:AMXTILE, t:AMX, w:W|R, m:NOTSX|O64, e:AMX_E3 +TILELOADDT1 rTt,Mt n/a [vex m:2 p:1 l:0 w:0 0x4B /r:mem sibmem] s:AMXTILE, t:AMX, w:W|R, m:NOTSX|O64, e:AMX_E3 +TILERELEASE n/a n/a [vex m:2 p:0 l:0 w:0 0x49 /0xC0] s:AMXTILE, t:AMX, m:NOTSX|O64, e:AMX_E6 +TILEZERO rTt n/a [vex m:2 p:3 l:0 w:0 0x49 /r:reg rm:0] s:AMXTILE, t:AMX, w:W, m:NOTSX|O64, e:AMX_E5 # 0x50 - 0x5F -VPDPBUUD Vx,Hx,Wx nil [vex m:2 p:0 l:x w:0 0x50 /r] s:AVXVNNIINT8, t:AVXVNNIINT8, w:RW|R|R, e:4 -VPDPBUSD Vx,Hx,Wx nil [vex m:2 p:1 l:x w:0 0x50 /r] s:AVXVNNI, t:AVXVNNI, w:RW|R|R, e:4 -VPDPBSUD Vx,Hx,Wx nil [vex m:2 p:2 l:x w:0 0x50 /r] s:AVXVNNIINT8, t:AVXVNNIINT8, w:RW|R|R, e:4 -VPDPBSSD Vx,Hx,Wx nil [vex m:2 p:3 l:x w:0 0x50 /r] s:AVXVNNIINT8, t:AVXVNNIINT8, w:RW|R|R, e:4 -VPDPBUUDS Vx,Hx,Wx nil [vex m:2 p:0 l:x w:0 0x51 /r] s:AVXVNNIINT8, t:AVXVNNIINT8, w:RW|R|R, e:4 -VPDPBUSDS Vx,Hx,Wx nil [vex m:2 p:1 l:x w:0 0x51 /r] s:AVXVNNI, t:AVXVNNI, w:RW|R|R, e:4 -VPDPBSUDS Vx,Hx,Wx nil [vex m:2 p:2 l:x w:0 0x51 /r] s:AVXVNNIINT8, t:AVXVNNIINT8, w:RW|R|R, e:4 -VPDPBSSDS Vx,Hx,Wx nil [vex m:2 p:3 l:x w:0 0x51 /r] s:AVXVNNIINT8, t:AVXVNNIINT8, w:RW|R|R, e:4 -VPDPWSSD Vx,Hx,Wx nil [vex m:2 p:1 l:x w:0 0x52 /r] s:AVXVNNI, t:AVXVNNI, w:RW|R|R, e:4 -VPDPWSSDS Vx,Hx,Wx nil [vex m:2 p:1 l:x w:0 0x53 /r] s:AVXVNNI, t:AVXVNNI, w:RW|R|R, e:4 - -VPBROADCASTD Vx,Wd nil [vex m:2 p:1 l:x w:0 0x58 /r] s:AVX2, t:BROADCAST, w:W|R, e:6 -VPBROADCASTQ Vx,Wq nil [vex m:2 p:1 l:x w:0 0x59 /r] s:AVX2, t:BROADCAST, w:W|R, e:6 -VBROADCASTI128 Vqq,Mdq nil [vex m:2 p:1 l:1 w:0 0x5A /r:mem] s:AVX2, t:BROADCAST, w:W|R, e:6 - -TDPBF16PS rTt,mTt,vTt nil [vex m:2 p:2 l:0 w:0 0x5C /r:reg] s:AMXBF16, t:AMX, w:RW|R|R, m:NOTSX|O64, e:AMX_E4 -TDPFP16PS rTt,mTt,vTt nil [vex m:2 p:3 l:0 w:0 0x5C /r:reg] s:AMXFP16, t:AMX, w:RW|R|R, m:NOTSX|O64, e:AMX_E4 -TDPBUUD rTt,mTt,vTt nil [vex m:2 p:0 l:0 w:0 0x5E /r:reg] s:AMXINT8, t:AMX, w:RW|R|R, m:NOTSX|O64, e:AMX_E4 -TDPBUSD rTt,mTt,vTt nil [vex m:2 p:1 l:0 w:0 0x5E /r:reg] s:AMXINT8, t:AMX, w:RW|R|R, m:NOTSX|O64, e:AMX_E4 -TDPBSUD rTt,mTt,vTt nil [vex m:2 p:2 l:0 w:0 0x5E /r:reg] s:AMXINT8, t:AMX, w:RW|R|R, m:NOTSX|O64, e:AMX_E4 -TDPBSSD rTt,mTt,vTt nil [vex m:2 p:3 l:0 w:0 0x5E /r:reg] s:AMXINT8, t:AMX, w:RW|R|R, m:NOTSX|O64, e:AMX_E4 +VPDPBUUD Vx,Hx,Wx n/a [vex m:2 p:0 l:x w:0 0x50 /r] s:AVXVNNIINT8, t:AVXVNNIINT8, w:RW|R|R, e:4 +VPDPBUSD Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:0 0x50 /r] s:AVXVNNI, t:AVXVNNI, w:RW|R|R, e:4 +VPDPBSUD Vx,Hx,Wx n/a [vex m:2 p:2 l:x w:0 0x50 /r] s:AVXVNNIINT8, t:AVXVNNIINT8, w:RW|R|R, e:4 +VPDPBSSD Vx,Hx,Wx n/a [vex m:2 p:3 l:x w:0 0x50 /r] s:AVXVNNIINT8, t:AVXVNNIINT8, w:RW|R|R, e:4 +VPDPBUUDS Vx,Hx,Wx n/a [vex m:2 p:0 l:x w:0 0x51 /r] s:AVXVNNIINT8, t:AVXVNNIINT8, w:RW|R|R, e:4 +VPDPBUSDS Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:0 0x51 /r] s:AVXVNNI, t:AVXVNNI, w:RW|R|R, e:4 +VPDPBSUDS Vx,Hx,Wx n/a [vex m:2 p:2 l:x w:0 0x51 /r] s:AVXVNNIINT8, t:AVXVNNIINT8, w:RW|R|R, e:4 +VPDPBSSDS Vx,Hx,Wx n/a [vex m:2 p:3 l:x w:0 0x51 /r] s:AVXVNNIINT8, t:AVXVNNIINT8, w:RW|R|R, e:4 +VPDPWSSD Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:0 0x52 /r] s:AVXVNNI, t:AVXVNNI, w:RW|R|R, e:4 +VPDPWSSDS Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:0 0x53 /r] s:AVXVNNI, t:AVXVNNI, w:RW|R|R, e:4 + +VPBROADCASTD Vx,Wd n/a [vex m:2 p:1 l:x w:0 0x58 /r] s:AVX2, t:BROADCAST, w:W|R, e:6 +VPBROADCASTQ Vx,Wq n/a [vex m:2 p:1 l:x w:0 0x59 /r] s:AVX2, t:BROADCAST, w:W|R, e:6 +VBROADCASTI128 Vqq,Mdq n/a [vex m:2 p:1 l:1 w:0 0x5A /r:mem] s:AVX2, t:BROADCAST, w:W|R, e:6 + +TDPBF16PS rTt,mTt,vTt n/a [vex m:2 p:2 l:0 w:0 0x5C /r:reg] s:AMXBF16, t:AMX, w:RW|R|R, m:NOTSX|O64, e:AMX_E4 +TDPFP16PS rTt,mTt,vTt n/a [vex m:2 p:3 l:0 w:0 0x5C /r:reg] s:AMXFP16, t:AMX, w:RW|R|R, m:NOTSX|O64, e:AMX_E4 +TDPBUUD rTt,mTt,vTt n/a [vex m:2 p:0 l:0 w:0 0x5E /r:reg] s:AMXINT8, t:AMX, w:RW|R|R, m:NOTSX|O64, e:AMX_E4 +TDPBUSD rTt,mTt,vTt n/a [vex m:2 p:1 l:0 w:0 0x5E /r:reg] s:AMXINT8, t:AMX, w:RW|R|R, m:NOTSX|O64, e:AMX_E4 +TDPBSUD rTt,mTt,vTt n/a [vex m:2 p:2 l:0 w:0 0x5E /r:reg] s:AMXINT8, t:AMX, w:RW|R|R, m:NOTSX|O64, e:AMX_E4 +TDPBSSD rTt,mTt,vTt n/a [vex m:2 p:3 l:0 w:0 0x5E /r:reg] s:AMXINT8, t:AMX, w:RW|R|R, m:NOTSX|O64, e:AMX_E4 # 0x60 - 0x6F # 0x70 - 0x7F -VCVTNEPS2BF16 Vx,Wx nil [vex m:2 p:2 l:x w:0 0x72 /r] s:AVXNECONVERT, t:AVXNECONVERT, w:W|R, e:4 -VPBROADCASTB Vx,Wb nil [vex m:2 p:1 l:x w:0 0x78 /r] s:AVX2, t:BROADCAST, w:W|R, e:6 -VPBROADCASTW Vx,Ww nil [vex m:2 p:1 l:x w:0 0x79 /r] s:AVX2, t:BROADCAST, w:W|R, e:6 +VCVTNEPS2BF16 Vx,Wx n/a [vex m:2 p:2 l:x w:0 0x72 /r] s:AVXNECONVERT, t:AVXNECONVERT, w:W|R, e:4 +VPBROADCASTB Vx,Wb n/a [vex m:2 p:1 l:x w:0 0x78 /r] s:AVX2, t:BROADCAST, w:W|R, e:6 +VPBROADCASTW Vx,Ww n/a [vex m:2 p:1 l:x w:0 0x79 /r] s:AVX2, t:BROADCAST, w:W|R, e:6 # 0x80 - 0x8F -VPMASKMOVD Vx,Hx,Mx nil [vex m:2 p:1 l:x w:0 0x8C /r:mem] s:AVX2, t:AVX2, w:W|R|R, e:6 -VPMASKMOVQ Vx,Hx,Mx nil [vex m:2 p:1 l:x w:1 0x8C /r:mem] s:AVX2, t:AVX2, w:W|R|R, e:6 -VPMASKMOVD Mx,Hx,Vx nil [vex m:2 p:1 l:x w:0 0x8E /r:mem] s:AVX2, t:AVX2, w:W|R|R, e:6 -VPMASKMOVQ Mx,Hx,Vx nil [vex m:2 p:1 l:x w:1 0x8E /r:mem] s:AVX2, t:AVX2, w:W|R|R, e:6 +VPMASKMOVD Vx,Hx,Mx n/a [vex m:2 p:1 l:x w:0 0x8C /r:mem] s:AVX2, t:AVX2, w:W|R|R, e:6 +VPMASKMOVQ Vx,Hx,Mx n/a [vex m:2 p:1 l:x w:1 0x8C /r:mem] s:AVX2, t:AVX2, w:W|R|R, e:6 +VPMASKMOVD Mx,Hx,Vx n/a [vex m:2 p:1 l:x w:0 0x8E /r:mem] s:AVX2, t:AVX2, w:W|R|R, e:6 +VPMASKMOVQ Mx,Hx,Vx n/a [vex m:2 p:1 l:x w:1 0x8E /r:mem] s:AVX2, t:AVX2, w:W|R|R, e:6 # 0x90 - 0x9F -VPGATHERDD Vx,Mvm32n,Hx nil [vex m:2 p:1 l:x w:0 0x90 /r:mem vsib] s:AVX2GATHER, t:AVX2GATHER, w:CRW|R|RW, e:12 -VPGATHERDQ Vx,Mvm32h,Hx nil [vex m:2 p:1 l:x w:1 0x90 /r:mem vsib] s:AVX2GATHER, t:AVX2GATHER, w:CRW|R|RW, e:12 -VPGATHERQD Vdq,Mvm64n,Hdq nil [vex m:2 p:1 l:x w:0 0x91 /r:mem vsib] s:AVX2GATHER, t:AVX2GATHER, w:CRW|R|RW, e:12 -VPGATHERQQ Vx,Mvm64n,Hx nil [vex m:2 p:1 l:x w:1 0x91 /r:mem vsib] s:AVX2GATHER, t:AVX2GATHER, w:CRW|R|RW, e:12 -VGATHERDPS Vx,Mvm32n,Hx nil [vex m:2 p:1 l:x w:0 0x92 /r:mem vsib] s:AVX2GATHER, t:AVX2GATHER, w:CRW|R|RW, e:12 -VGATHERDPD Vx,Mvm32h,Hx nil [vex m:2 p:1 l:x w:1 0x92 /r:mem vsib] s:AVX2GATHER, t:AVX2GATHER, w:CRW|R|RW, e:12 -VGATHERQPS Vdq,Mvm64n,Hdq nil [vex m:2 p:1 l:x w:0 0x93 /r:mem vsib] s:AVX2GATHER, t:AVX2GATHER, w:CRW|R|RW, e:12 -VGATHERQPD Vx,Mvm64n,Hx nil [vex m:2 p:1 l:x w:1 0x93 /r:mem vsib] s:AVX2GATHER, t:AVX2GATHER, w:CRW|R|RW, e:12 - -VFMADDSUB132PS Vx,Hx,Wx nil [vex m:2 p:1 l:x w:0 0x96 /r] s:FMA, t:VFMA, w:RW|R|R, e:2 -VFMADDSUB132PD Vx,Hx,Wx nil [vex m:2 p:1 l:x w:1 0x96 /r] s:FMA, t:VFMA, w:RW|R|R, e:2 -VFMSUBADD132PS Vx,Hx,Wx nil [vex m:2 p:1 l:x w:0 0x97 /r] s:FMA, t:VFMA, w:RW|R|R, e:2 -VFMSUBADD132PD Vx,Hx,Wx nil [vex m:2 p:1 l:x w:1 0x97 /r] s:FMA, t:VFMA, w:RW|R|R, e:2 -VFMADD132PS Vx,Hx,Wx nil [vex m:2 p:1 l:x w:0 0x98 /r] s:FMA, t:VFMA, w:RW|R|R, e:2 -VFMADD132PD Vx,Hx,Wx nil [vex m:2 p:1 l:x w:1 0x98 /r] s:FMA, t:VFMA, w:RW|R|R, e:2 -VFMADD132SS Vdq,Hdq,Wss nil [vex m:2 p:1 l:i w:0 0x99 /r] s:FMA, t:VFMA, w:RW|R|R, e:3 -VFMADD132SD Vdq,Hdq,Wsd nil [vex m:2 p:1 l:i w:1 0x99 /r] s:FMA, t:VFMA, w:RW|R|R, e:3 -VFMSUB132PS Vx,Hx,Wx nil [vex m:2 p:1 l:x w:0 0x9A /r] s:FMA, t:VFMA, w:RW|R|R, e:2 -VFMSUB132PD Vx,Hx,Wx nil [vex m:2 p:1 l:x w:1 0x9A /r] s:FMA, t:VFMA, w:RW|R|R, e:2 -VFMSUB132SS Vdq,Hdq,Wss nil [vex m:2 p:1 l:i w:0 0x9B /r] s:FMA, t:VFMA, w:RW|R|R, e:3 -VFMSUB132SD Vdq,Hdq,Wsd nil [vex m:2 p:1 l:i w:1 0x9B /r] s:FMA, t:VFMA, w:RW|R|R, e:3 -VFNMADD132PS Vx,Hx,Wx nil [vex m:2 p:1 l:x w:0 0x9C /r] s:FMA, t:VFMA, w:RW|R|R, e:2 -VFNMADD132PD Vx,Hx,Wx nil [vex m:2 p:1 l:x w:1 0x9C /r] s:FMA, t:VFMA, w:RW|R|R, e:2 -VFNMADD132SS Vdq,Hdq,Wss nil [vex m:2 p:1 l:i w:0 0x9D /r] s:FMA, t:VFMA, w:RW|R|R, e:3 -VFNMADD132SD Vdq,Hdq,Wsd nil [vex m:2 p:1 l:i w:1 0x9D /r] s:FMA, t:VFMA, w:RW|R|R, e:3 -VFNMSUB132PS Vx,Hx,Wx nil [vex m:2 p:1 l:x w:0 0x9E /r] s:FMA, t:VFMA, w:RW|R|R, e:2 -VFNMSUB132PD Vx,Hx,Wx nil [vex m:2 p:1 l:x w:1 0x9E /r] s:FMA, t:VFMA, w:RW|R|R, e:2 -VFNMSUB132SS Vdq,Hdq,Wss nil [vex m:2 p:1 l:i w:0 0x9F /r] s:FMA, t:VFMA, w:RW|R|R, e:3 -VFNMSUB132SD Vdq,Hdq,Wsd nil [vex m:2 p:1 l:i w:1 0x9F /r] s:FMA, t:VFMA, w:RW|R|R, e:3 +VPGATHERDD Vx,Mvm32n,Hx n/a [vex m:2 p:1 l:x w:0 0x90 /r:mem vsib] s:AVX2GATHER, t:AVX2GATHER, w:CRW|R|RW, e:12 +VPGATHERDQ Vx,Mvm32h,Hx n/a [vex m:2 p:1 l:x w:1 0x90 /r:mem vsib] s:AVX2GATHER, t:AVX2GATHER, w:CRW|R|RW, e:12 +VPGATHERQD Vdq,Mvm64n,Hdq n/a [vex m:2 p:1 l:x w:0 0x91 /r:mem vsib] s:AVX2GATHER, t:AVX2GATHER, w:CRW|R|RW, e:12 +VPGATHERQQ Vx,Mvm64n,Hx n/a [vex m:2 p:1 l:x w:1 0x91 /r:mem vsib] s:AVX2GATHER, t:AVX2GATHER, w:CRW|R|RW, e:12 +VGATHERDPS Vx,Mvm32n,Hx n/a [vex m:2 p:1 l:x w:0 0x92 /r:mem vsib] s:AVX2GATHER, t:AVX2GATHER, w:CRW|R|RW, e:12 +VGATHERDPD Vx,Mvm32h,Hx n/a [vex m:2 p:1 l:x w:1 0x92 /r:mem vsib] s:AVX2GATHER, t:AVX2GATHER, w:CRW|R|RW, e:12 +VGATHERQPS Vdq,Mvm64n,Hdq n/a [vex m:2 p:1 l:x w:0 0x93 /r:mem vsib] s:AVX2GATHER, t:AVX2GATHER, w:CRW|R|RW, e:12 +VGATHERQPD Vx,Mvm64n,Hx n/a [vex m:2 p:1 l:x w:1 0x93 /r:mem vsib] s:AVX2GATHER, t:AVX2GATHER, w:CRW|R|RW, e:12 + +VFMADDSUB132PS Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:0 0x96 /r] s:FMA, t:VFMA, w:RW|R|R, e:2 +VFMADDSUB132PD Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:1 0x96 /r] s:FMA, t:VFMA, w:RW|R|R, e:2 +VFMSUBADD132PS Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:0 0x97 /r] s:FMA, t:VFMA, w:RW|R|R, e:2 +VFMSUBADD132PD Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:1 0x97 /r] s:FMA, t:VFMA, w:RW|R|R, e:2 +VFMADD132PS Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:0 0x98 /r] s:FMA, t:VFMA, w:RW|R|R, e:2 +VFMADD132PD Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:1 0x98 /r] s:FMA, t:VFMA, w:RW|R|R, e:2 +VFMADD132SS Vdq,Hdq,Wss n/a [vex m:2 p:1 l:i w:0 0x99 /r] s:FMA, t:VFMA, w:RW|R|R, e:3 +VFMADD132SD Vdq,Hdq,Wsd n/a [vex m:2 p:1 l:i w:1 0x99 /r] s:FMA, t:VFMA, w:RW|R|R, e:3 +VFMSUB132PS Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:0 0x9A /r] s:FMA, t:VFMA, w:RW|R|R, e:2 +VFMSUB132PD Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:1 0x9A /r] s:FMA, t:VFMA, w:RW|R|R, e:2 +VFMSUB132SS Vdq,Hdq,Wss n/a [vex m:2 p:1 l:i w:0 0x9B /r] s:FMA, t:VFMA, w:RW|R|R, e:3 +VFMSUB132SD Vdq,Hdq,Wsd n/a [vex m:2 p:1 l:i w:1 0x9B /r] s:FMA, t:VFMA, w:RW|R|R, e:3 +VFNMADD132PS Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:0 0x9C /r] s:FMA, t:VFMA, w:RW|R|R, e:2 +VFNMADD132PD Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:1 0x9C /r] s:FMA, t:VFMA, w:RW|R|R, e:2 +VFNMADD132SS Vdq,Hdq,Wss n/a [vex m:2 p:1 l:i w:0 0x9D /r] s:FMA, t:VFMA, w:RW|R|R, e:3 +VFNMADD132SD Vdq,Hdq,Wsd n/a [vex m:2 p:1 l:i w:1 0x9D /r] s:FMA, t:VFMA, w:RW|R|R, e:3 +VFNMSUB132PS Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:0 0x9E /r] s:FMA, t:VFMA, w:RW|R|R, e:2 +VFNMSUB132PD Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:1 0x9E /r] s:FMA, t:VFMA, w:RW|R|R, e:2 +VFNMSUB132SS Vdq,Hdq,Wss n/a [vex m:2 p:1 l:i w:0 0x9F /r] s:FMA, t:VFMA, w:RW|R|R, e:3 +VFNMSUB132SD Vdq,Hdq,Wsd n/a [vex m:2 p:1 l:i w:1 0x9F /r] s:FMA, t:VFMA, w:RW|R|R, e:3 # 0xA0 - 0xAF -VFMADDSUB213PS Vx,Hx,Wx nil [vex m:2 p:1 l:x w:0 0xA6 /r] s:FMA, t:VFMA, w:RW|R|R, e:2 -VFMADDSUB213PD Vx,Hx,Wx nil [vex m:2 p:1 l:x w:1 0xA6 /r] s:FMA, t:VFMA, w:RW|R|R, e:2 -VFMSUBADD213PS Vx,Hx,Wx nil [vex m:2 p:1 l:x w:0 0xA7 /r] s:FMA, t:VFMA, w:RW|R|R, e:2 -VFMSUBADD213PD Vx,Hx,Wx nil [vex m:2 p:1 l:x w:1 0xA7 /r] s:FMA, t:VFMA, w:RW|R|R, e:2 -VFMADD213PS Vx,Hx,Wx nil [vex m:2 p:1 l:x w:0 0xA8 /r] s:FMA, t:VFMA, w:RW|R|R, e:2 -VFMADD213PD Vx,Hx,Wx nil [vex m:2 p:1 l:x w:1 0xA8 /r] s:FMA, t:VFMA, w:RW|R|R, e:2 -VFMADD213SS Vdq,Hdq,Wss nil [vex m:2 p:1 l:i w:0 0xA9 /r] s:FMA, t:VFMA, w:RW|R|R, e:3 -VFMADD213SD Vdq,Hdq,Wsd nil [vex m:2 p:1 l:i w:1 0xA9 /r] s:FMA, t:VFMA, w:RW|R|R, e:3 -VFMSUB213PS Vx,Hx,Wx nil [vex m:2 p:1 l:x w:0 0xAA /r] s:FMA, t:VFMA, w:RW|R|R, e:2 -VFMSUB213PD Vx,Hx,Wx nil [vex m:2 p:1 l:x w:1 0xAA /r] s:FMA, t:VFMA, w:RW|R|R, e:2 -VFMSUB213SS Vdq,Hdq,Wss nil [vex m:2 p:1 l:i w:0 0xAB /r] s:FMA, t:VFMA, w:RW|R|R, e:3 -VFMSUB213SD Vdq,Hdq,Wsd nil [vex m:2 p:1 l:i w:1 0xAB /r] s:FMA, t:VFMA, w:RW|R|R, e:3 -VFNMADD213PS Vx,Hx,Wx nil [vex m:2 p:1 l:x w:0 0xAC /r] s:FMA, t:VFMA, w:RW|R|R, e:2 -VFNMADD213PD Vx,Hx,Wx nil [vex m:2 p:1 l:x w:1 0xAC /r] s:FMA, t:VFMA, w:RW|R|R, e:2 -VFNMADD213SS Vdq,Hdq,Wss nil [vex m:2 p:1 l:i w:0 0xAD /r] s:FMA, t:VFMA, w:RW|R|R, e:3 -VFNMADD213SD Vdq,Hdq,Wsd nil [vex m:2 p:1 l:i w:1 0xAD /r] s:FMA, t:VFMA, w:RW|R|R, e:3 -VFNMSUB213PS Vx,Hx,Wx nil [vex m:2 p:1 l:x w:0 0xAE /r] s:FMA, t:VFMA, w:RW|R|R, e:2 -VFNMSUB213PD Vx,Hx,Wx nil [vex m:2 p:1 l:x w:1 0xAE /r] s:FMA, t:VFMA, w:RW|R|R, e:2 -VFNMSUB213SS Vdq,Hdq,Wss nil [vex m:2 p:1 l:i w:0 0xAF /r] s:FMA, t:VFMA, w:RW|R|R, e:3 -VFNMSUB213SD Vdq,Hdq,Wsd nil [vex m:2 p:1 l:i w:1 0xAF /r] s:FMA, t:VFMA, w:RW|R|R, e:3 +VFMADDSUB213PS Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:0 0xA6 /r] s:FMA, t:VFMA, w:RW|R|R, e:2 +VFMADDSUB213PD Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:1 0xA6 /r] s:FMA, t:VFMA, w:RW|R|R, e:2 +VFMSUBADD213PS Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:0 0xA7 /r] s:FMA, t:VFMA, w:RW|R|R, e:2 +VFMSUBADD213PD Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:1 0xA7 /r] s:FMA, t:VFMA, w:RW|R|R, e:2 +VFMADD213PS Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:0 0xA8 /r] s:FMA, t:VFMA, w:RW|R|R, e:2 +VFMADD213PD Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:1 0xA8 /r] s:FMA, t:VFMA, w:RW|R|R, e:2 +VFMADD213SS Vdq,Hdq,Wss n/a [vex m:2 p:1 l:i w:0 0xA9 /r] s:FMA, t:VFMA, w:RW|R|R, e:3 +VFMADD213SD Vdq,Hdq,Wsd n/a [vex m:2 p:1 l:i w:1 0xA9 /r] s:FMA, t:VFMA, w:RW|R|R, e:3 +VFMSUB213PS Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:0 0xAA /r] s:FMA, t:VFMA, w:RW|R|R, e:2 +VFMSUB213PD Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:1 0xAA /r] s:FMA, t:VFMA, w:RW|R|R, e:2 +VFMSUB213SS Vdq,Hdq,Wss n/a [vex m:2 p:1 l:i w:0 0xAB /r] s:FMA, t:VFMA, w:RW|R|R, e:3 +VFMSUB213SD Vdq,Hdq,Wsd n/a [vex m:2 p:1 l:i w:1 0xAB /r] s:FMA, t:VFMA, w:RW|R|R, e:3 +VFNMADD213PS Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:0 0xAC /r] s:FMA, t:VFMA, w:RW|R|R, e:2 +VFNMADD213PD Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:1 0xAC /r] s:FMA, t:VFMA, w:RW|R|R, e:2 +VFNMADD213SS Vdq,Hdq,Wss n/a [vex m:2 p:1 l:i w:0 0xAD /r] s:FMA, t:VFMA, w:RW|R|R, e:3 +VFNMADD213SD Vdq,Hdq,Wsd n/a [vex m:2 p:1 l:i w:1 0xAD /r] s:FMA, t:VFMA, w:RW|R|R, e:3 +VFNMSUB213PS Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:0 0xAE /r] s:FMA, t:VFMA, w:RW|R|R, e:2 +VFNMSUB213PD Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:1 0xAE /r] s:FMA, t:VFMA, w:RW|R|R, e:2 +VFNMSUB213SS Vdq,Hdq,Wss n/a [vex m:2 p:1 l:i w:0 0xAF /r] s:FMA, t:VFMA, w:RW|R|R, e:3 +VFNMSUB213SD Vdq,Hdq,Wsd n/a [vex m:2 p:1 l:i w:1 0xAF /r] s:FMA, t:VFMA, w:RW|R|R, e:3 # 0xB0 - 0xBF -VCVTNEOPH2PS Vx,Mx nil [vex m:2 p:0 l:x w:0 0xB0 /r:mem] s:AVXNECONVERT, t:AVXNECONVERT, w:W|R, e:4 -VCVTNEEPH2PS Vx,Mx nil [vex m:2 p:1 l:x w:0 0xB0 /r:mem] s:AVXNECONVERT, t:AVXNECONVERT, w:W|R, e:4 -VCVTNEEBF162PS Vx,Mx nil [vex m:2 p:2 l:x w:0 0xB0 /r:mem] s:AVXNECONVERT, t:AVXNECONVERT, w:W|R, e:4 -VCVTNEOBF162PS Vx,Mx nil [vex m:2 p:3 l:x w:0 0xB0 /r:mem] s:AVXNECONVERT, t:AVXNECONVERT, w:W|R, e:4 -VBCSTNESH2PS Vx,Mw nil [vex m:2 p:1 l:x w:0 0xB1 /r:mem] s:AVXNECONVERT, t:AVXNECONVERT, w:W|R, e:5 -VBCSTNEBF162PS Vx,Mw nil [vex m:2 p:2 l:x w:0 0xB1 /r:mem] s:AVXNECONVERT, t:AVXNECONVERT, w:W|R, e:5 - -VPMADD52LUQ Vx,Hx,Wx nil [vex m:2 p:1 l:x w:1 0xB4 /r] s:AVXIFMA, t:AVXIFMA, w:RW|R|R, e:4 -VPMADD52HUQ Vx,Hx,Wx nil [vex m:2 p:1 l:x w:1 0xB5 /r] s:AVXIFMA, t:AVXIFMA, w:RW|R|R, e:4 - -VFMADDSUB231PS Vx,Hx,Wx nil [vex m:2 p:1 l:x w:0 0xB6 /r] s:FMA, t:VFMA, w:RW|R|R, e:2 -VFMADDSUB231PD Vx,Hx,Wx nil [vex m:2 p:1 l:x w:1 0xB6 /r] s:FMA, t:VFMA, w:RW|R|R, e:2 -VFMSUBADD231PS Vx,Hx,Wx nil [vex m:2 p:1 l:x w:0 0xB7 /r] s:FMA, t:VFMA, w:RW|R|R, e:2 -VFMSUBADD231PD Vx,Hx,Wx nil [vex m:2 p:1 l:x w:1 0xB7 /r] s:FMA, t:VFMA, w:RW|R|R, e:2 -VFMADD231PS Vx,Hx,Wx nil [vex m:2 p:1 l:x w:0 0xB8 /r] s:FMA, t:VFMA, w:RW|R|R, e:2 -VFMADD231PD Vx,Hx,Wx nil [vex m:2 p:1 l:x w:1 0xB8 /r] s:FMA, t:VFMA, w:RW|R|R, e:2 -VFMADD231SS Vdq,Hdq,Wss nil [vex m:2 p:1 l:i w:0 0xB9 /r] s:FMA, t:VFMA, w:RW|R|R, e:3 -VFMADD231SD Vdq,Hdq,Wsd nil [vex m:2 p:1 l:i w:1 0xB9 /r] s:FMA, t:VFMA, w:RW|R|R, e:3 -VFMSUB231PS Vx,Hx,Wx nil [vex m:2 p:1 l:x w:0 0xBA /r] s:FMA, t:VFMA, w:RW|R|R, e:2 -VFMSUB231PD Vx,Hx,Wx nil [vex m:2 p:1 l:x w:1 0xBA /r] s:FMA, t:VFMA, w:RW|R|R, e:2 -VFMSUB231SS Vdq,Hdq,Wss nil [vex m:2 p:1 l:i w:0 0xBB /r] s:FMA, t:VFMA, w:RW|R|R, e:3 -VFMSUB231SD Vdq,Hdq,Wsd nil [vex m:2 p:1 l:i w:1 0xBB /r] s:FMA, t:VFMA, w:RW|R|R, e:3 -VFNMADD231PS Vx,Hx,Wx nil [vex m:2 p:1 l:x w:0 0xBC /r] s:FMA, t:VFMA, w:RW|R|R, e:2 -VFNMADD231PD Vx,Hx,Wx nil [vex m:2 p:1 l:x w:1 0xBC /r] s:FMA, t:VFMA, w:RW|R|R, e:2 -VFNMADD231SS Vdq,Hdq,Wss nil [vex m:2 p:1 l:i w:0 0xBD /r] s:FMA, t:VFMA, w:RW|R|R, e:3 -VFNMADD231SD Vdq,Hdq,Wsd nil [vex m:2 p:1 l:i w:1 0xBD /r] s:FMA, t:VFMA, w:RW|R|R, e:3 -VFNMSUB231PS Vx,Hx,Wx nil [vex m:2 p:1 l:x w:0 0xBE /r] s:FMA, t:VFMA, w:RW|R|R, e:2 -VFNMSUB231PD Vx,Hx,Wx nil [vex m:2 p:1 l:x w:1 0xBE /r] s:FMA, t:VFMA, w:RW|R|R, e:2 -VFNMSUB231SS Vdq,Hdq,Wss nil [vex m:2 p:1 l:i w:0 0xBF /r] s:FMA, t:VFMA, w:RW|R|R, e:3 -VFNMSUB231SD Vdq,Hdq,Wsd nil [vex m:2 p:1 l:i w:1 0xBF /r] s:FMA, t:VFMA, w:RW|R|R, e:3 -VGF2P8MULB Vx,Hx,Wx nil [vex m:2 p:1 l:x w:0 0xCF /r] s:GFNI, t:GFNI, w:W|R|R -VAESIMC Vdq,Wdq nil [vex m:2 p:1 l:0 w:i 0xDB /r] s:AES, t:AES, w:W|R, e:4 -VAESENC Vx,Hx,Wx nil [vex m:2 p:1 l:x w:i 0xDC /r] s:AES, t:AES, w:W|R|R, e:4 -VAESENCLAST Vx,Hx,Wx nil [vex m:2 p:1 l:x w:i 0xDD /r] s:AES, t:AES, w:W|R|R, e:4 -VAESDEC Vx,Hx,Wx nil [vex m:2 p:1 l:x w:i 0xDE /r] s:AES, t:AES, w:W|R|R, e:4 -VAESDECLAST Vx,Hx,Wx nil [vex m:2 p:1 l:x w:i 0xDF /r] s:AES, t:AES, w:W|R|R, e:4 +VCVTNEOPH2PS Vx,Mx n/a [vex m:2 p:0 l:x w:0 0xB0 /r:mem] s:AVXNECONVERT, t:AVXNECONVERT, w:W|R, e:4 +VCVTNEEPH2PS Vx,Mx n/a [vex m:2 p:1 l:x w:0 0xB0 /r:mem] s:AVXNECONVERT, t:AVXNECONVERT, w:W|R, e:4 +VCVTNEEBF162PS Vx,Mx n/a [vex m:2 p:2 l:x w:0 0xB0 /r:mem] s:AVXNECONVERT, t:AVXNECONVERT, w:W|R, e:4 +VCVTNEOBF162PS Vx,Mx n/a [vex m:2 p:3 l:x w:0 0xB0 /r:mem] s:AVXNECONVERT, t:AVXNECONVERT, w:W|R, e:4 +VBCSTNESH2PS Vx,Mw n/a [vex m:2 p:1 l:x w:0 0xB1 /r:mem] s:AVXNECONVERT, t:AVXNECONVERT, w:W|R, e:5 +VBCSTNEBF162PS Vx,Mw n/a [vex m:2 p:2 l:x w:0 0xB1 /r:mem] s:AVXNECONVERT, t:AVXNECONVERT, w:W|R, e:5 + +VPMADD52LUQ Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:1 0xB4 /r] s:AVXIFMA, t:AVXIFMA, w:RW|R|R, e:4 +VPMADD52HUQ Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:1 0xB5 /r] s:AVXIFMA, t:AVXIFMA, w:RW|R|R, e:4 + +VFMADDSUB231PS Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:0 0xB6 /r] s:FMA, t:VFMA, w:RW|R|R, e:2 +VFMADDSUB231PD Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:1 0xB6 /r] s:FMA, t:VFMA, w:RW|R|R, e:2 +VFMSUBADD231PS Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:0 0xB7 /r] s:FMA, t:VFMA, w:RW|R|R, e:2 +VFMSUBADD231PD Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:1 0xB7 /r] s:FMA, t:VFMA, w:RW|R|R, e:2 +VFMADD231PS Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:0 0xB8 /r] s:FMA, t:VFMA, w:RW|R|R, e:2 +VFMADD231PD Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:1 0xB8 /r] s:FMA, t:VFMA, w:RW|R|R, e:2 +VFMADD231SS Vdq,Hdq,Wss n/a [vex m:2 p:1 l:i w:0 0xB9 /r] s:FMA, t:VFMA, w:RW|R|R, e:3 +VFMADD231SD Vdq,Hdq,Wsd n/a [vex m:2 p:1 l:i w:1 0xB9 /r] s:FMA, t:VFMA, w:RW|R|R, e:3 +VFMSUB231PS Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:0 0xBA /r] s:FMA, t:VFMA, w:RW|R|R, e:2 +VFMSUB231PD Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:1 0xBA /r] s:FMA, t:VFMA, w:RW|R|R, e:2 +VFMSUB231SS Vdq,Hdq,Wss n/a [vex m:2 p:1 l:i w:0 0xBB /r] s:FMA, t:VFMA, w:RW|R|R, e:3 +VFMSUB231SD Vdq,Hdq,Wsd n/a [vex m:2 p:1 l:i w:1 0xBB /r] s:FMA, t:VFMA, w:RW|R|R, e:3 +VFNMADD231PS Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:0 0xBC /r] s:FMA, t:VFMA, w:RW|R|R, e:2 +VFNMADD231PD Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:1 0xBC /r] s:FMA, t:VFMA, w:RW|R|R, e:2 +VFNMADD231SS Vdq,Hdq,Wss n/a [vex m:2 p:1 l:i w:0 0xBD /r] s:FMA, t:VFMA, w:RW|R|R, e:3 +VFNMADD231SD Vdq,Hdq,Wsd n/a [vex m:2 p:1 l:i w:1 0xBD /r] s:FMA, t:VFMA, w:RW|R|R, e:3 +VFNMSUB231PS Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:0 0xBE /r] s:FMA, t:VFMA, w:RW|R|R, e:2 +VFNMSUB231PD Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:1 0xBE /r] s:FMA, t:VFMA, w:RW|R|R, e:2 +VFNMSUB231SS Vdq,Hdq,Wss n/a [vex m:2 p:1 l:i w:0 0xBF /r] s:FMA, t:VFMA, w:RW|R|R, e:3 +VFNMSUB231SD Vdq,Hdq,Wsd n/a [vex m:2 p:1 l:i w:1 0xBF /r] s:FMA, t:VFMA, w:RW|R|R, e:3 +VGF2P8MULB Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:0 0xCF /r] s:GFNI, t:GFNI, w:W|R|R +VAESIMC Vdq,Wdq n/a [vex m:2 p:1 l:0 w:i 0xDB /r] s:AES, t:AES, w:W|R, e:4 +VAESENC Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:i 0xDC /r] s:AES, t:AES, w:W|R|R, e:4 +VAESENCLAST Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:i 0xDD /r] s:AES, t:AES, w:W|R|R, e:4 +VAESDEC Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:i 0xDE /r] s:AES, t:AES, w:W|R|R, e:4 +VAESDECLAST Vx,Hx,Wx n/a [vex m:2 p:1 l:x w:i 0xDF /r] s:AES, t:AES, w:W|R|R, e:4 # 0xE0 - 0xEF CMPOXADD My,Gy,By Fv [vex m:2 p:1 l:0 w:x 0xE0 /r:mem] s:CMPCCXADD, t:CMPCCXADD, w:RW|RW|R|W, a:COND, f:ARITH, e:14 @@ -244,10 +249,10 @@ BLSR By,Ey Fv [vex m:2 p:0 l:0 w:x BLSMSK By,Ey Fv [vex m:2 p:0 l:0 w:x 0xF3 /2] s:BMI1, t:BMI1, w:W|R|W, f:CF=m|PF=u|AF=u|ZF=0|SF=m|OF=0, e:13 BLSI By,Ey Fv [vex m:2 p:0 l:0 w:x 0xF3 /3] s:BMI1, t:BMI1, w:W|R|W, f:CF=m|PF=u|AF=u|ZF=m|SF=m|OF=0, e:13 BZHI Gy,Ey,By Fv [vex m:2 p:0 l:0 w:x 0xF5 /r] s:BMI2, t:BMI2, w:W|R|R|W, f:CF=m|PF=u|AF=u|ZF=m|SF=m|OF=0, e:13 -PEXT Gy,By,Ey nil [vex m:2 p:2 l:0 w:x 0xF5 /r] s:BMI2, t:BMI2, w:W|R|R|W, e:13 -PDEP Gy,By,Ey nil [vex m:2 p:3 l:0 w:x 0xF5 /r] s:BMI2, t:BMI2, w:W|R|R|W, e:13 +PEXT Gy,By,Ey n/a [vex m:2 p:2 l:0 w:x 0xF5 /r] s:BMI2, t:BMI2, w:W|R|R|W, e:13 +PDEP Gy,By,Ey n/a [vex m:2 p:3 l:0 w:x 0xF5 /r] s:BMI2, t:BMI2, w:W|R|R|W, e:13 MULX Gy,By,Ey yDX [vex m:2 p:3 l:0 w:x 0xF6 /r] s:BMI2, t:BMI2, w:W|W|R|R, e:13 BEXTR Gy,Ey,By Fv [vex m:2 p:0 l:0 w:x 0xF7 /r] s:BMI1, t:BMI1, w:W|R|R|W, f:CF=0|PF=u|AF=u|ZF=m|SF=u|OF=0, e:13 -SHLX Gy,Ey,By nil [vex m:2 p:1 l:0 w:x 0xF7 /r] s:BMI2, t:BMI2, w:W|R|R, e:13 -SARX Gy,Ey,By nil [vex m:2 p:2 l:0 w:x 0xF7 /r] s:BMI2, t:BMI2, w:W|R|R, e:13 -SHRX Gy,Ey,By nil [vex m:2 p:3 l:0 w:x 0xF7 /r] s:BMI2, t:BMI2, w:W|R|R, e:13 +SHLX Gy,Ey,By n/a [vex m:2 p:1 l:0 w:x 0xF7 /r] s:BMI2, t:BMI2, w:W|R|R, e:13 +SARX Gy,Ey,By n/a [vex m:2 p:2 l:0 w:x 0xF7 /r] s:BMI2, t:BMI2, w:W|R|R, e:13 +SHRX Gy,Ey,By n/a [vex m:2 p:3 l:0 w:x 0xF7 /r] s:BMI2, t:BMI2, w:W|R|R, e:13 diff --git a/isagenerator/instructions/table_vex3.dat b/isagenerator/instructions/table_vex3.dat index 745d5df..28a843b 100644 --- a/isagenerator/instructions/table_vex3.dat +++ b/isagenerator/instructions/table_vex3.dat @@ -1,127 +1,132 @@ +# +# Copyright (c) 2020 Bitdefender +# SPDX-License-Identifier: Apache-2.0 +# + # Mnemonic Explicit Operands Implicit Operands Encoding Flags, Prefixes, Set, Category, Class, RW map, Additional ops #------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ # 0x00 - 0x0F -VPERMQ Vqq,Wqq,Ib nil [vex m:3 p:1 l:1 w:1 0x00 /r ib] s:AVX2, t:AVX2, w:W|R|R, e:4 -VPERMPD Vqq,Wqq,Ib nil [vex m:3 p:1 l:1 w:1 0x01 /r ib] s:AVX2, t:AVX2, w:W|R|R, e:4 -VPBLENDD Vx,Hx,Wx,Ib nil [vex m:3 p:1 l:x w:0 0x02 /r ib] s:AVX2, t:AVX2, w:W|R|R|R, e:4 -VPERMILPS Vx,Wx,Ib nil [vex m:3 p:1 l:x w:0 0x04 /r ib] s:AVX, t:AVX, w:W|R|R, e:4 -VPERMILPD Vx,Wx,Ib nil [vex m:3 p:1 l:x w:0 0x05 /r ib] s:AVX, t:AVX, w:W|R|R, e:4 -VPERM2F128 Vqq,Hqq,Wqq,Ib nil [vex m:3 p:1 l:1 w:0 0x06 /r ib] s:AVX, t:AVX, w:W|R|R|R, e:4 -VROUNDPS Vx,Wx,Ib nil [vex m:3 p:1 l:x w:i 0x08 /r ib] s:AVX, t:AVX, w:W|R|R, e:2 -VROUNDPD Vx,Wx,Ib nil [vex m:3 p:1 l:x w:i 0x09 /r ib] s:AVX, t:AVX, w:W|R|R, e:2 -VROUNDSS Vss,Hss,Wss,Ib nil [vex m:3 p:1 l:i w:i 0x0A /r ib] s:AVX, t:AVX, w:W|R|R|R, e:3 -VROUNDSD Vsd,Hsd,Wsd,Ib nil [vex m:3 p:1 l:i w:i 0x0B /r ib] s:AVX, t:AVX, w:W|R|R|R, e:3 -VBLENDPS Vx,Hx,Wx,Ib nil [vex m:3 p:1 l:x w:i 0x0C /r ib] s:AVX, t:AVX, w:W|R|R|R, e:4 -VBLENDPD Vx,Hx,Wx,Ib nil [vex m:3 p:1 l:x w:i 0x0D /r ib] s:AVX, t:AVX, w:W|R|R|R, e:4 -VPBLENDW Vx,Hx,Wx,Ib nil [vex m:3 p:1 l:x w:i 0x0E /r ib] s:AVX, t:AVX, w:W|R|R|R, e:4 -VPALIGNR Vx,Hx,Wx,Ib nil [vex m:3 p:1 l:x w:i 0x0F /r ib] s:AVX, t:AVX, w:W|R|R|R, e:4 +VPERMQ Vqq,Wqq,Ib n/a [vex m:3 p:1 l:1 w:1 0x00 /r ib] s:AVX2, t:AVX2, w:W|R|R, e:4 +VPERMPD Vqq,Wqq,Ib n/a [vex m:3 p:1 l:1 w:1 0x01 /r ib] s:AVX2, t:AVX2, w:W|R|R, e:4 +VPBLENDD Vx,Hx,Wx,Ib n/a [vex m:3 p:1 l:x w:0 0x02 /r ib] s:AVX2, t:AVX2, w:W|R|R|R, e:4 +VPERMILPS Vx,Wx,Ib n/a [vex m:3 p:1 l:x w:0 0x04 /r ib] s:AVX, t:AVX, w:W|R|R, e:4 +VPERMILPD Vx,Wx,Ib n/a [vex m:3 p:1 l:x w:0 0x05 /r ib] s:AVX, t:AVX, w:W|R|R, e:4 +VPERM2F128 Vqq,Hqq,Wqq,Ib n/a [vex m:3 p:1 l:1 w:0 0x06 /r ib] s:AVX, t:AVX, w:W|R|R|R, e:4 +VROUNDPS Vx,Wx,Ib n/a [vex m:3 p:1 l:x w:i 0x08 /r ib] s:AVX, t:AVX, w:W|R|R, e:2 +VROUNDPD Vx,Wx,Ib n/a [vex m:3 p:1 l:x w:i 0x09 /r ib] s:AVX, t:AVX, w:W|R|R, e:2 +VROUNDSS Vss,Hss,Wss,Ib n/a [vex m:3 p:1 l:i w:i 0x0A /r ib] s:AVX, t:AVX, w:W|R|R|R, e:3 +VROUNDSD Vsd,Hsd,Wsd,Ib n/a [vex m:3 p:1 l:i w:i 0x0B /r ib] s:AVX, t:AVX, w:W|R|R|R, e:3 +VBLENDPS Vx,Hx,Wx,Ib n/a [vex m:3 p:1 l:x w:i 0x0C /r ib] s:AVX, t:AVX, w:W|R|R|R, e:4 +VBLENDPD Vx,Hx,Wx,Ib n/a [vex m:3 p:1 l:x w:i 0x0D /r ib] s:AVX, t:AVX, w:W|R|R|R, e:4 +VPBLENDW Vx,Hx,Wx,Ib n/a [vex m:3 p:1 l:x w:i 0x0E /r ib] s:AVX, t:AVX, w:W|R|R|R, e:4 +VPALIGNR Vx,Hx,Wx,Ib n/a [vex m:3 p:1 l:x w:i 0x0F /r ib] s:AVX, t:AVX, w:W|R|R|R, e:4 # 0x10 - 0x1F -VPEXTRB Mb,Vdq,Ib nil [vex m:3 p:1 l:0 w:i 0x14 /r:mem ib] s:AVX, t:AVX, w:W|R|R, e:5 -VPEXTRB Ry,Vdq,Ib nil [vex m:3 p:1 l:0 w:i 0x14 /r:reg ib] s:AVX, t:AVX, w:W|R|R, e:5, a:D64 -VPEXTRW Mw,Vdq,Ib nil [vex m:3 p:1 l:0 w:i 0x15 /r:mem ib] s:AVX, t:AVX, w:W|R|R, e:5 -VPEXTRW Ry,Vdq,Ib nil [vex m:3 p:1 l:0 w:i 0x15 /r:reg ib] s:AVX, t:AVX, w:W|R|R, e:5, a:D64 -VPEXTRD Md,Vdq,Ib nil [vex m:3 p:1 l:0 w:0 0x16 /r:mem ib] s:AVX, t:AVX, w:W|R|R, e:5, a:IWO64 -VPEXTRD Ry,Vdq,Ib nil [vex m:3 p:1 l:0 w:0 0x16 /r:reg ib] s:AVX, t:AVX, w:W|R|R, e:5, a:IWO64|D64 -VPEXTRQ Mq,Vdq,Ib nil [vex m:3 p:1 l:0 w:1 0x16 /r:mem ib] s:AVX, t:AVX, w:W|R|R, e:5, a:IWO64 -VPEXTRQ Ry,Vdq,Ib nil [vex m:3 p:1 l:0 w:1 0x16 /r:reg ib] s:AVX, t:AVX, w:W|R|R, e:5, a:IWO64 -VEXTRACTPS Md,Vdq,Ib nil [vex m:3 p:1 l:0 w:i 0x17 /r:mem ib] s:AVX, t:AVX, w:W|R|R, e:5 -VEXTRACTPS Ry,Vdq,Ib nil [vex m:3 p:1 l:0 w:i 0x17 /r:reg ib] s:AVX, t:AVX, w:W|R|R, e:5 -VINSERTF128 Vqq,Hqq,Wdq,Ib nil [vex m:3 p:1 l:1 w:0 0x18 /r ib] s:AVX, t:AVX, w:W|R|R|R, e:6 -VEXTRACTF128 Wdq,Vqq,Ib nil [vex m:3 p:1 l:1 w:0 0x19 /r ib] s:AVX, t:AVX, w:W|R|R, e:6 -VCVTPS2PH Wq,Vdq,Ib nil [vex m:3 p:1 l:0 w:0 0x1D /r ib] s:F16C, t:CONVERT, w:W|R|R, e:11 -VCVTPS2PH Wdq,Vqq,Ib nil [vex m:3 p:1 l:1 w:0 0x1D /r ib] s:F16C, t:CONVERT, w:W|R|R, e:11 +VPEXTRB Mb,Vdq,Ib n/a [vex m:3 p:1 l:0 w:i 0x14 /r:mem ib] s:AVX, t:AVX, w:W|R|R, e:5 +VPEXTRB Ry,Vdq,Ib n/a [vex m:3 p:1 l:0 w:i 0x14 /r:reg ib] s:AVX, t:AVX, w:W|R|R, e:5, a:D64 +VPEXTRW Mw,Vdq,Ib n/a [vex m:3 p:1 l:0 w:i 0x15 /r:mem ib] s:AVX, t:AVX, w:W|R|R, e:5 +VPEXTRW Ry,Vdq,Ib n/a [vex m:3 p:1 l:0 w:i 0x15 /r:reg ib] s:AVX, t:AVX, w:W|R|R, e:5, a:D64 +VPEXTRD Md,Vdq,Ib n/a [vex m:3 p:1 l:0 w:0 0x16 /r:mem ib] s:AVX, t:AVX, w:W|R|R, e:5, a:IWO64 +VPEXTRD Ry,Vdq,Ib n/a [vex m:3 p:1 l:0 w:0 0x16 /r:reg ib] s:AVX, t:AVX, w:W|R|R, e:5, a:IWO64|D64 +VPEXTRQ Mq,Vdq,Ib n/a [vex m:3 p:1 l:0 w:1 0x16 /r:mem ib] s:AVX, t:AVX, w:W|R|R, e:5, a:IWO64 +VPEXTRQ Ry,Vdq,Ib n/a [vex m:3 p:1 l:0 w:1 0x16 /r:reg ib] s:AVX, t:AVX, w:W|R|R, e:5, a:IWO64 +VEXTRACTPS Md,Vdq,Ib n/a [vex m:3 p:1 l:0 w:i 0x17 /r:mem ib] s:AVX, t:AVX, w:W|R|R, e:5 +VEXTRACTPS Ry,Vdq,Ib n/a [vex m:3 p:1 l:0 w:i 0x17 /r:reg ib] s:AVX, t:AVX, w:W|R|R, e:5 +VINSERTF128 Vqq,Hqq,Wdq,Ib n/a [vex m:3 p:1 l:1 w:0 0x18 /r ib] s:AVX, t:AVX, w:W|R|R|R, e:6 +VEXTRACTF128 Wdq,Vqq,Ib n/a [vex m:3 p:1 l:1 w:0 0x19 /r ib] s:AVX, t:AVX, w:W|R|R, e:6 +VCVTPS2PH Wq,Vdq,Ib n/a [vex m:3 p:1 l:0 w:0 0x1D /r ib] s:F16C, t:CONVERT, w:W|R|R, e:11 +VCVTPS2PH Wdq,Vqq,Ib n/a [vex m:3 p:1 l:1 w:0 0x1D /r ib] s:F16C, t:CONVERT, w:W|R|R, e:11 # 0x20 - 0x2F -VPINSRB Vdq,Hdq,Mb,Ib nil [vex m:3 p:1 l:0 w:i 0x20 /r:mem ib] s:AVX, t:AVX, w:W|R|R|R, e:5 -VPINSRB Vdq,Hdq,Rd,Ib nil [vex m:3 p:1 l:0 w:i 0x20 /r:reg ib] s:AVX, t:AVX, w:W|R|R|R, e:5 -VINSERTPS Vdq,Hdq,Md,Ib nil [vex m:3 p:1 l:0 w:i 0x21 /r:mem ib] s:AVX, t:AVX, w:W|R|R|R, e:5 -VINSERTPS Vdq,Hdq,Udq,Ib nil [vex m:3 p:1 l:0 w:i 0x21 /r:reg ib] s:AVX, t:AVX, w:W|R|R|R, e:5 -VPINSRD Vdq,Hdq,Ey,Ib nil [vex m:3 p:1 l:0 w:0 0x22 /r ib] s:AVX, t:AVX, w:W|R|R|R, e:5, a:IWO64 -VPINSRQ Vdq,Hdq,Ey,Ib nil [vex m:3 p:1 l:0 w:1 0x22 /r ib] s:AVX, t:AVX, w:W|R|R|R, e:5, a:IWO64 +VPINSRB Vdq,Hdq,Mb,Ib n/a [vex m:3 p:1 l:0 w:i 0x20 /r:mem ib] s:AVX, t:AVX, w:W|R|R|R, e:5 +VPINSRB Vdq,Hdq,Rd,Ib n/a [vex m:3 p:1 l:0 w:i 0x20 /r:reg ib] s:AVX, t:AVX, w:W|R|R|R, e:5 +VINSERTPS Vdq,Hdq,Md,Ib n/a [vex m:3 p:1 l:0 w:i 0x21 /r:mem ib] s:AVX, t:AVX, w:W|R|R|R, e:5 +VINSERTPS Vdq,Hdq,Udq,Ib n/a [vex m:3 p:1 l:0 w:i 0x21 /r:reg ib] s:AVX, t:AVX, w:W|R|R|R, e:5 +VPINSRD Vdq,Hdq,Ey,Ib n/a [vex m:3 p:1 l:0 w:0 0x22 /r ib] s:AVX, t:AVX, w:W|R|R|R, e:5, a:IWO64 +VPINSRQ Vdq,Hdq,Ey,Ib n/a [vex m:3 p:1 l:0 w:1 0x22 /r ib] s:AVX, t:AVX, w:W|R|R|R, e:5, a:IWO64 # 0x30 - 0x3F -KSHIFTRW rKw,mKw,Ib nil [vex m:3 p:1 l:0 w:1 0x30 /r:reg ib] s:AVX512F, t:KMASK, c:KSHIFTR, w:W|R|R, e:K20 -KSHIFTRB rKb,mKb,Ib nil [vex m:3 p:1 l:0 w:0 0x30 /r:reg ib] s:AVX512DQ, t:KMASK, c:KSHIFTR, w:W|R|R, e:K20 -KSHIFTRQ rKq,mKq,Ib nil [vex m:3 p:1 l:0 w:1 0x31 /r:reg ib] s:AVX512BW, t:KMASK, c:KSHIFTR, w:W|R|R, e:K20 -KSHIFTRD rKd,mKd,Ib nil [vex m:3 p:1 l:0 w:0 0x31 /r:reg ib] s:AVX512BW, t:KMASK, c:KSHIFTR, w:W|R|R, e:K20 -KSHIFTLW rKw,mKw,Ib nil [vex m:3 p:1 l:0 w:1 0x32 /r:reg ib] s:AVX512F, t:KMASK, c:KSHIFTL, w:W|R|R, e:K20 -KSHIFTLB rKb,mKb,Ib nil [vex m:3 p:1 l:0 w:0 0x32 /r:reg ib] s:AVX512DQ, t:KMASK, c:KSHIFTL, w:W|R|R, e:K20 -KSHIFTLQ rKq,mKq,Ib nil [vex m:3 p:1 l:0 w:1 0x33 /r:reg ib] s:AVX512BW, t:KMASK, c:KSHIFTL, w:W|R|R, e:K20 -KSHIFTLD rKd,mKd,Ib nil [vex m:3 p:1 l:0 w:0 0x33 /r:reg ib] s:AVX512BW, t:KMASK, c:KSHIFTL, w:W|R|R, e:K20 -VINSERTI128 Vqq,Hqq,Wdq,Ib nil [vex m:3 p:1 l:1 w:0 0x38 /r ib] s:AVX2, t:AVX2, w:W|R|R|R, e:6 -VEXTRACTI128 Wdq,Vqq,Ib nil [vex m:3 p:1 l:1 w:0 0x39 /r ib] s:AVX2, t:AVX2, w:W|R|R|R, e:6 +KSHIFTRW rKw,mKw,Ib n/a [vex m:3 p:1 l:0 w:1 0x30 /r:reg ib] s:AVX512F, t:KMASK, c:KSHIFTR, w:W|R|R, e:K20 +KSHIFTRB rKb,mKb,Ib n/a [vex m:3 p:1 l:0 w:0 0x30 /r:reg ib] s:AVX512DQ, t:KMASK, c:KSHIFTR, w:W|R|R, e:K20 +KSHIFTRQ rKq,mKq,Ib n/a [vex m:3 p:1 l:0 w:1 0x31 /r:reg ib] s:AVX512BW, t:KMASK, c:KSHIFTR, w:W|R|R, e:K20 +KSHIFTRD rKd,mKd,Ib n/a [vex m:3 p:1 l:0 w:0 0x31 /r:reg ib] s:AVX512BW, t:KMASK, c:KSHIFTR, w:W|R|R, e:K20 +KSHIFTLW rKw,mKw,Ib n/a [vex m:3 p:1 l:0 w:1 0x32 /r:reg ib] s:AVX512F, t:KMASK, c:KSHIFTL, w:W|R|R, e:K20 +KSHIFTLB rKb,mKb,Ib n/a [vex m:3 p:1 l:0 w:0 0x32 /r:reg ib] s:AVX512DQ, t:KMASK, c:KSHIFTL, w:W|R|R, e:K20 +KSHIFTLQ rKq,mKq,Ib n/a [vex m:3 p:1 l:0 w:1 0x33 /r:reg ib] s:AVX512BW, t:KMASK, c:KSHIFTL, w:W|R|R, e:K20 +KSHIFTLD rKd,mKd,Ib n/a [vex m:3 p:1 l:0 w:0 0x33 /r:reg ib] s:AVX512BW, t:KMASK, c:KSHIFTL, w:W|R|R, e:K20 +VINSERTI128 Vqq,Hqq,Wdq,Ib n/a [vex m:3 p:1 l:1 w:0 0x38 /r ib] s:AVX2, t:AVX2, w:W|R|R|R, e:6 +VEXTRACTI128 Wdq,Vqq,Ib n/a [vex m:3 p:1 l:1 w:0 0x39 /r ib] s:AVX2, t:AVX2, w:W|R|R|R, e:6 # 0x40 - 0x4F -VDPPS Vx,Hx,Wx,Ib nil [vex m:3 p:1 l:x w:i 0x40 /r ib] s:AVX, t:AVX, w:W|R|R|R, e:2 -VDPPD Vdq,Hdq,Wdq,Ib nil [vex m:3 p:1 l:0 w:i 0x41 /r ib] s:AVX, t:AVX, w:W|R|R|R, e:2 -VMPSADBW Vx,Hx,Wx,Ib nil [vex m:3 p:1 l:x w:i 0x42 /r ib] s:AVX, t:AVX, w:W|R|R|R, e:4 -VPCLMULQDQ Vx,Hx,Wx,Ib nil [vex m:3 p:1 l:x w:i 0x44 /r ib] s:VPCLMULQDQ, t:VPCLMULQDQ, w:W|R|R|R, e:4 -VPERM2I128 Vqq,Hqq,Wqq,Ib nil [vex m:3 p:1 l:1 w:0 0x46 /r ib] s:AVX2, t:AVX2, w:W|R|R|R, e:6 -VPERMIL2PS Vx,Hx,Wx,Lx,m2zIb nil [vex m:3 p:1 l:x w:0 0x48 /r is4] s:XOP, t:XOP, w:W|R|R|R|R, e:4 -VPERMIL2PS Vx,Hx,Lx,Wx,m2zIb nil [vex m:3 p:1 l:x w:1 0x48 /r is4] s:XOP, t:XOP, w:W|R|R|R|R, e:4 -VPERMIL2PD Vx,Hx,Wx,Lx,m2zIb nil [vex m:3 p:1 l:x w:0 0x49 /r is4] s:XOP, t:XOP, w:W|R|R|R|R, e:4 -VPERMIL2PD Vx,Hx,Lx,Wx,m2zIb nil [vex m:3 p:1 l:x w:1 0x49 /r is4] s:XOP, t:XOP, w:W|R|R|R|R, e:4 -VBLENDVPS Vx,Hx,Wx,Lx nil [vex m:3 p:1 l:x w:0 0x4A /r is4] s:AVX, t:AVX, w:W|R|R|R, e:4 -VBLENDVPD Vx,Hx,Wx,Lx nil [vex m:3 p:1 l:x w:0 0x4B /r is4] s:AVX, t:AVX, w:W|R|R|R, e:4 -VPBLENDVB Vx,Hx,Wx,Lx nil [vex m:3 p:1 l:x w:0 0x4C /r is4] s:AVX, t:AVX, w:W|R|R|R, e:4 +VDPPS Vx,Hx,Wx,Ib n/a [vex m:3 p:1 l:x w:i 0x40 /r ib] s:AVX, t:AVX, w:W|R|R|R, e:2 +VDPPD Vdq,Hdq,Wdq,Ib n/a [vex m:3 p:1 l:0 w:i 0x41 /r ib] s:AVX, t:AVX, w:W|R|R|R, e:2 +VMPSADBW Vx,Hx,Wx,Ib n/a [vex m:3 p:1 l:x w:i 0x42 /r ib] s:AVX, t:AVX, w:W|R|R|R, e:4 +VPCLMULQDQ Vx,Hx,Wx,Ib n/a [vex m:3 p:1 l:x w:i 0x44 /r ib] s:VPCLMULQDQ, t:VPCLMULQDQ, w:W|R|R|R, e:4 +VPERM2I128 Vqq,Hqq,Wqq,Ib n/a [vex m:3 p:1 l:1 w:0 0x46 /r ib] s:AVX2, t:AVX2, w:W|R|R|R, e:6 +VPERMIL2PS Vx,Hx,Wx,Lx,m2zIb n/a [vex m:3 p:1 l:x w:0 0x48 /r is4] s:XOP, t:XOP, w:W|R|R|R|R, e:4 +VPERMIL2PS Vx,Hx,Lx,Wx,m2zIb n/a [vex m:3 p:1 l:x w:1 0x48 /r is4] s:XOP, t:XOP, w:W|R|R|R|R, e:4 +VPERMIL2PD Vx,Hx,Wx,Lx,m2zIb n/a [vex m:3 p:1 l:x w:0 0x49 /r is4] s:XOP, t:XOP, w:W|R|R|R|R, e:4 +VPERMIL2PD Vx,Hx,Lx,Wx,m2zIb n/a [vex m:3 p:1 l:x w:1 0x49 /r is4] s:XOP, t:XOP, w:W|R|R|R|R, e:4 +VBLENDVPS Vx,Hx,Wx,Lx n/a [vex m:3 p:1 l:x w:0 0x4A /r is4] s:AVX, t:AVX, w:W|R|R|R, e:4 +VBLENDVPD Vx,Hx,Wx,Lx n/a [vex m:3 p:1 l:x w:0 0x4B /r is4] s:AVX, t:AVX, w:W|R|R|R, e:4 +VPBLENDVB Vx,Hx,Wx,Lx n/a [vex m:3 p:1 l:x w:0 0x4C /r is4] s:AVX, t:AVX, w:W|R|R|R, e:4 # 0x50 - 0x5F -VFMADDSUBPS Vx,Hx,Wx,Lx nil [vex m:3 p:1 l:x w:0 0x5C /r is4] s:FMA4, t:FMA4, w:W|R|R|R -VFMADDSUBPS Vx,Hx,Lx,Wx nil [vex m:3 p:1 l:x w:1 0x5C /r is4] s:FMA4, t:FMA4, w:W|R|R|R -VFMADDSUBPD Vx,Hx,Wx,Lx nil [vex m:3 p:1 l:x w:0 0x5D /r is4] s:FMA4, t:FMA4, w:W|R|R|R -VFMADDSUBPD Vx,Hx,Lx,Wx nil [vex m:3 p:1 l:x w:1 0x5D /r is4] s:FMA4, t:FMA4, w:W|R|R|R -VFMSUBADDPS Vx,Hx,Wx,Lx nil [vex m:3 p:1 l:x w:0 0x5E /r is4] s:FMA4, t:FMA4, w:W|R|R|R -VFMSUBADDPS Vx,Hx,Lx,Wx nil [vex m:3 p:1 l:x w:1 0x5E /r is4] s:FMA4, t:FMA4, w:W|R|R|R -VFMSUBADDPD Vx,Hx,Wx,Lx nil [vex m:3 p:1 l:x w:0 0x5F /r is4] s:FMA4, t:FMA4, w:W|R|R|R -VFMSUBADDPD Vx,Hx,Lx,Wx nil [vex m:3 p:1 l:x w:1 0x5F /r is4] s:FMA4, t:FMA4, w:W|R|R|R +VFMADDSUBPS Vx,Hx,Wx,Lx n/a [vex m:3 p:1 l:x w:0 0x5C /r is4] s:FMA4, t:FMA4, w:W|R|R|R +VFMADDSUBPS Vx,Hx,Lx,Wx n/a [vex m:3 p:1 l:x w:1 0x5C /r is4] s:FMA4, t:FMA4, w:W|R|R|R +VFMADDSUBPD Vx,Hx,Wx,Lx n/a [vex m:3 p:1 l:x w:0 0x5D /r is4] s:FMA4, t:FMA4, w:W|R|R|R +VFMADDSUBPD Vx,Hx,Lx,Wx n/a [vex m:3 p:1 l:x w:1 0x5D /r is4] s:FMA4, t:FMA4, w:W|R|R|R +VFMSUBADDPS Vx,Hx,Wx,Lx n/a [vex m:3 p:1 l:x w:0 0x5E /r is4] s:FMA4, t:FMA4, w:W|R|R|R +VFMSUBADDPS Vx,Hx,Lx,Wx n/a [vex m:3 p:1 l:x w:1 0x5E /r is4] s:FMA4, t:FMA4, w:W|R|R|R +VFMSUBADDPD Vx,Hx,Wx,Lx n/a [vex m:3 p:1 l:x w:0 0x5F /r is4] s:FMA4, t:FMA4, w:W|R|R|R +VFMSUBADDPD Vx,Hx,Lx,Wx n/a [vex m:3 p:1 l:x w:1 0x5F /r is4] s:FMA4, t:FMA4, w:W|R|R|R # 0x60 - 0x6F VPCMPESTRM Vdq,Wdq,Ib yAX,yDX,XMM0,Fv [vex m:3 p:1 l:0 w:i 0x60 /r ib] s:AVX, t:STTNI, w:R|R|R|R|R|W|W, f:PCMPSTR, e:4 VPCMPESTRI Vdq,Wdq,Ib yAX,yDX,yCX,Fv [vex m:3 p:1 l:0 w:i 0x61 /r ib] s:AVX, t:STTNI, w:R|R|R|R|R|W|W, f:PCMPSTR, e:4 VPCMPISTRM Vdq,Wdq,Ib XMM0,Fv [vex m:3 p:1 l:0 w:i 0x62 /r ib] s:AVX, t:STTNI, w:R|R|R|W|W, f:PCMPSTR, e:4 VPCMPISTRI Vdq,Wdq,Ib yCX,Fv [vex m:3 p:1 l:0 w:i 0x63 /r ib] s:AVX, t:STTNI, w:R|R|R|W|W, f:PCMPSTR, e:4 -VFMADDPS Vx,Hx,Wx,Lx nil [vex m:3 p:1 l:x w:0 0x68 /r is4] s:FMA4, t:FMA4, w:W|R|R|R -VFMADDPS Vx,Hx,Lx,Wx nil [vex m:3 p:1 l:x w:1 0x68 /r is4] s:FMA4, t:FMA4, w:W|R|R|R -VFMADDPD Vx,Hx,Wx,Lx nil [vex m:3 p:1 l:x w:0 0x69 /r is4] s:FMA4, t:FMA4, w:W|R|R|R -VFMADDPD Vx,Hx,Lx,Wx nil [vex m:3 p:1 l:x w:1 0x69 /r is4] s:FMA4, t:FMA4, w:W|R|R|R -VFMADDSS Vdq,Hdq,Wss,Ldq nil [vex m:3 p:1 l:x w:0 0x6A /r is4] s:FMA4, t:FMA4, w:W|R|R|R -VFMADDSS Vdq,Hdq,Ldq,Wss nil [vex m:3 p:1 l:x w:1 0x6A /r is4] s:FMA4, t:FMA4, w:W|R|R|R -VFMADDSD Vdq,Hdq,Wsd,Ldq nil [vex m:3 p:1 l:x w:0 0x6B /r is4] s:FMA4, t:FMA4, w:W|R|R|R -VFMADDSD Vdq,Hdq,Ldq,Wsd nil [vex m:3 p:1 l:x w:1 0x6B /r is4] s:FMA4, t:FMA4, w:W|R|R|R -VFMSUBPS Vx,Hx,Wx,Lx nil [vex m:3 p:1 l:x w:0 0x6C /r is4] s:FMA4, t:FMA4, w:W|R|R|R -VFMSUBPS Vx,Hx,Lx,Wx nil [vex m:3 p:1 l:x w:1 0x6C /r is4] s:FMA4, t:FMA4, w:W|R|R|R -VFMSUBPD Vx,Hx,Wx,Lx nil [vex m:3 p:1 l:x w:0 0x6D /r is4] s:FMA4, t:FMA4, w:W|R|R|R -VFMSUBPD Vx,Hx,Lx,Wx nil [vex m:3 p:1 l:x w:1 0x6D /r is4] s:FMA4, t:FMA4, w:W|R|R|R -VFMSUBSS Vdq,Hdq,Wss,Ldq nil [vex m:3 p:1 l:x w:0 0x6E /r is4] s:FMA4, t:FMA4, w:W|R|R|R -VFMSUBSS Vdq,Hdq,Ldq,Wss nil [vex m:3 p:1 l:x w:1 0x6E /r is4] s:FMA4, t:FMA4, w:W|R|R|R -VFMSUBSD Vdq,Hdq,Wsd,Ldq nil [vex m:3 p:1 l:x w:0 0x6F /r is4] s:FMA4, t:FMA4, w:W|R|R|R -VFMSUBSD Vdq,Hdq,Ldq,Wsd nil [vex m:3 p:1 l:x w:1 0x6F /r is4] s:FMA4, t:FMA4, w:W|R|R|R +VFMADDPS Vx,Hx,Wx,Lx n/a [vex m:3 p:1 l:x w:0 0x68 /r is4] s:FMA4, t:FMA4, w:W|R|R|R +VFMADDPS Vx,Hx,Lx,Wx n/a [vex m:3 p:1 l:x w:1 0x68 /r is4] s:FMA4, t:FMA4, w:W|R|R|R +VFMADDPD Vx,Hx,Wx,Lx n/a [vex m:3 p:1 l:x w:0 0x69 /r is4] s:FMA4, t:FMA4, w:W|R|R|R +VFMADDPD Vx,Hx,Lx,Wx n/a [vex m:3 p:1 l:x w:1 0x69 /r is4] s:FMA4, t:FMA4, w:W|R|R|R +VFMADDSS Vdq,Hdq,Wss,Ldq n/a [vex m:3 p:1 l:x w:0 0x6A /r is4] s:FMA4, t:FMA4, w:W|R|R|R +VFMADDSS Vdq,Hdq,Ldq,Wss n/a [vex m:3 p:1 l:x w:1 0x6A /r is4] s:FMA4, t:FMA4, w:W|R|R|R +VFMADDSD Vdq,Hdq,Wsd,Ldq n/a [vex m:3 p:1 l:x w:0 0x6B /r is4] s:FMA4, t:FMA4, w:W|R|R|R +VFMADDSD Vdq,Hdq,Ldq,Wsd n/a [vex m:3 p:1 l:x w:1 0x6B /r is4] s:FMA4, t:FMA4, w:W|R|R|R +VFMSUBPS Vx,Hx,Wx,Lx n/a [vex m:3 p:1 l:x w:0 0x6C /r is4] s:FMA4, t:FMA4, w:W|R|R|R +VFMSUBPS Vx,Hx,Lx,Wx n/a [vex m:3 p:1 l:x w:1 0x6C /r is4] s:FMA4, t:FMA4, w:W|R|R|R +VFMSUBPD Vx,Hx,Wx,Lx n/a [vex m:3 p:1 l:x w:0 0x6D /r is4] s:FMA4, t:FMA4, w:W|R|R|R +VFMSUBPD Vx,Hx,Lx,Wx n/a [vex m:3 p:1 l:x w:1 0x6D /r is4] s:FMA4, t:FMA4, w:W|R|R|R +VFMSUBSS Vdq,Hdq,Wss,Ldq n/a [vex m:3 p:1 l:x w:0 0x6E /r is4] s:FMA4, t:FMA4, w:W|R|R|R +VFMSUBSS Vdq,Hdq,Ldq,Wss n/a [vex m:3 p:1 l:x w:1 0x6E /r is4] s:FMA4, t:FMA4, w:W|R|R|R +VFMSUBSD Vdq,Hdq,Wsd,Ldq n/a [vex m:3 p:1 l:x w:0 0x6F /r is4] s:FMA4, t:FMA4, w:W|R|R|R +VFMSUBSD Vdq,Hdq,Ldq,Wsd n/a [vex m:3 p:1 l:x w:1 0x6F /r is4] s:FMA4, t:FMA4, w:W|R|R|R # 0x70 - 0x7F -VFNMADDPS Vx,Hx,Wx,Lx nil [vex m:3 p:1 l:x w:0 0x78 /r is4] s:FMA4, t:FMA4, w:W|R|R|R -VFNMADDPS Vx,Hx,Lx,Wx nil [vex m:3 p:1 l:x w:1 0x78 /r is4] s:FMA4, t:FMA4, w:W|R|R|R -VFNMADDPD Vx,Hx,Wx,Lx nil [vex m:3 p:1 l:x w:0 0x79 /r is4] s:FMA4, t:FMA4, w:W|R|R|R -VFNMADDPD Vx,Hx,Lx,Wx nil [vex m:3 p:1 l:x w:1 0x79 /r is4] s:FMA4, t:FMA4, w:W|R|R|R -VFNMADDSS Vdq,Hdq,Wss,Ldq nil [vex m:3 p:1 l:x w:0 0x7A /r is4] s:FMA4, t:FMA4, w:W|R|R|R -VFNMADDSS Vdq,Hdq,Ldq,Wss nil [vex m:3 p:1 l:x w:1 0x7A /r is4] s:FMA4, t:FMA4, w:W|R|R|R -VFNMADDSD Vdq,Hdq,Wsd,Ldq nil [vex m:3 p:1 l:x w:0 0x7B /r is4] s:FMA4, t:FMA4, w:W|R|R|R -VFNMADDSD Vdq,Hdq,Ldq,Wsd nil [vex m:3 p:1 l:x w:1 0x7B /r is4] s:FMA4, t:FMA4, w:W|R|R|R -VFNMSUBPS Vx,Hx,Wx,Lx nil [vex m:3 p:1 l:x w:0 0x7C /r is4] s:FMA4, t:FMA4, w:W|R|R|R -VFNMSUBPS Vx,Hx,Lx,Wx nil [vex m:3 p:1 l:x w:1 0x7C /r is4] s:FMA4, t:FMA4, w:W|R|R|R -VFNMSUBPD Vx,Hx,Wx,Lx nil [vex m:3 p:1 l:x w:0 0x7D /r is4] s:FMA4, t:FMA4, w:W|R|R|R -VFNMSUBPD Vx,Hx,Lx,Wx nil [vex m:3 p:1 l:x w:1 0x7D /r is4] s:FMA4, t:FMA4, w:W|R|R|R -VFNMSUBSS Vdq,Hdq,Wss,Ldq nil [vex m:3 p:1 l:x w:0 0x7E /r is4] s:FMA4, t:FMA4, w:W|R|R|R -VFNMSUBSS Vdq,Hdq,Ldq,Wss nil [vex m:3 p:1 l:x w:1 0x7E /r is4] s:FMA4, t:FMA4, w:W|R|R|R -VFNMSUBSD Vdq,Hdq,Wsd,Ldq nil [vex m:3 p:1 l:x w:0 0x7F /r is4] s:FMA4, t:FMA4, w:W|R|R|R -VFNMSUBSD Vdq,Hdq,Ldq,Wsd nil [vex m:3 p:1 l:x w:1 0x7F /r is4] s:FMA4, t:FMA4, w:W|R|R|R +VFNMADDPS Vx,Hx,Wx,Lx n/a [vex m:3 p:1 l:x w:0 0x78 /r is4] s:FMA4, t:FMA4, w:W|R|R|R +VFNMADDPS Vx,Hx,Lx,Wx n/a [vex m:3 p:1 l:x w:1 0x78 /r is4] s:FMA4, t:FMA4, w:W|R|R|R +VFNMADDPD Vx,Hx,Wx,Lx n/a [vex m:3 p:1 l:x w:0 0x79 /r is4] s:FMA4, t:FMA4, w:W|R|R|R +VFNMADDPD Vx,Hx,Lx,Wx n/a [vex m:3 p:1 l:x w:1 0x79 /r is4] s:FMA4, t:FMA4, w:W|R|R|R +VFNMADDSS Vdq,Hdq,Wss,Ldq n/a [vex m:3 p:1 l:x w:0 0x7A /r is4] s:FMA4, t:FMA4, w:W|R|R|R +VFNMADDSS Vdq,Hdq,Ldq,Wss n/a [vex m:3 p:1 l:x w:1 0x7A /r is4] s:FMA4, t:FMA4, w:W|R|R|R +VFNMADDSD Vdq,Hdq,Wsd,Ldq n/a [vex m:3 p:1 l:x w:0 0x7B /r is4] s:FMA4, t:FMA4, w:W|R|R|R +VFNMADDSD Vdq,Hdq,Ldq,Wsd n/a [vex m:3 p:1 l:x w:1 0x7B /r is4] s:FMA4, t:FMA4, w:W|R|R|R +VFNMSUBPS Vx,Hx,Wx,Lx n/a [vex m:3 p:1 l:x w:0 0x7C /r is4] s:FMA4, t:FMA4, w:W|R|R|R +VFNMSUBPS Vx,Hx,Lx,Wx n/a [vex m:3 p:1 l:x w:1 0x7C /r is4] s:FMA4, t:FMA4, w:W|R|R|R +VFNMSUBPD Vx,Hx,Wx,Lx n/a [vex m:3 p:1 l:x w:0 0x7D /r is4] s:FMA4, t:FMA4, w:W|R|R|R +VFNMSUBPD Vx,Hx,Lx,Wx n/a [vex m:3 p:1 l:x w:1 0x7D /r is4] s:FMA4, t:FMA4, w:W|R|R|R +VFNMSUBSS Vdq,Hdq,Wss,Ldq n/a [vex m:3 p:1 l:x w:0 0x7E /r is4] s:FMA4, t:FMA4, w:W|R|R|R +VFNMSUBSS Vdq,Hdq,Ldq,Wss n/a [vex m:3 p:1 l:x w:1 0x7E /r is4] s:FMA4, t:FMA4, w:W|R|R|R +VFNMSUBSD Vdq,Hdq,Wsd,Ldq n/a [vex m:3 p:1 l:x w:0 0x7F /r is4] s:FMA4, t:FMA4, w:W|R|R|R +VFNMSUBSD Vdq,Hdq,Ldq,Wsd n/a [vex m:3 p:1 l:x w:1 0x7F /r is4] s:FMA4, t:FMA4, w:W|R|R|R # 0xC0 - 0xCF -VGF2P8AFFINEQB Vx,Hx,Wx,Ib nil [vex m:3 p:1 l:x w:1 0xCE /r ib] s:GFNI, t:GFNI, w:W|R|R|R, e:4 -VGF2P8AFFINEINVQB Vx,Hx,Wx,Ib nil [vex m:3 p:1 l:x w:1 0xCF /r ib] s:GFNI, t:GFNI, w:W|R|R|R, e:4 +VGF2P8AFFINEQB Vx,Hx,Wx,Ib n/a [vex m:3 p:1 l:x w:1 0xCE /r ib] s:GFNI, t:GFNI, w:W|R|R|R, e:4 +VGF2P8AFFINEINVQB Vx,Hx,Wx,Ib n/a [vex m:3 p:1 l:x w:1 0xCF /r ib] s:GFNI, t:GFNI, w:W|R|R|R, e:4 # 0xD0 - 0xDF -VAESKEYGENASSIST Vdq,Wdq,Ib nil [vex m:3 p:1 l:0 w:i 0xDF /r ib] s:AES, t:AES, w:W|R|R, e:4 +VAESKEYGENASSIST Vdq,Wdq,Ib n/a [vex m:3 p:1 l:0 w:i 0xDF /r ib] s:AES, t:AES, w:W|R|R, e:4 # 0xF0 - 0xFF -RORX Gy,Ey,Ib nil [vex m:3 p:3 l:0 w:x 0xF0 /r ib] s:BMI2, t:BMI2, w:W|R|R, e:13 +RORX Gy,Ey,Ib n/a [vex m:3 p:3 l:0 w:x 0xF0 /r ib] s:BMI2, t:BMI2, w:W|R|R, e:13 diff --git a/isagenerator/instructions/table_xop.dat b/isagenerator/instructions/table_xop.dat index f6d9af9..a25438f 100644 --- a/isagenerator/instructions/table_xop.dat +++ b/isagenerator/instructions/table_xop.dat @@ -1,3 +1,8 @@ +# +# Copyright (c) 2020 Bitdefender +# SPDX-License-Identifier: Apache-2.0 +# + # Mnemonic Explicit Operands Implicit Operands Encoding Flags, Prefixes, Set, Category, Class, RW map, Additional ops #------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ # XOP.mmmmm = 8 @@ -19,46 +24,46 @@ # 0x70 - 0x7F # 0x80 - 0x8F -VPMACSSWW Vdq,Hdq,Wdq,Ldq nil [xop m:8 0x85 /r is4] s:XOP, t:XOP, w:W|R|R|R -VPMACSSWD Vdq,Hdq,Wdq,Ldq nil [xop m:8 0x86 /r is4] s:XOP, t:XOP, w:W|R|R|R -VPMACSSDQL Vdq,Hdq,Wdq,Ldq nil [xop m:8 0x87 /r is4] s:XOP, t:XOP, w:W|R|R|R -VPMACSSDD Vdq,Hdq,Wdq,Ldq nil [xop m:8 0x8E /r is4] s:XOP, t:XOP, w:W|R|R|R -VPMACSSDQH Vdq,Hdq,Wdq,Ldq nil [xop m:8 0x8F /r is4] s:XOP, t:XOP, w:W|R|R|R +VPMACSSWW Vdq,Hdq,Wdq,Ldq n/a [xop m:8 0x85 /r is4] s:XOP, t:XOP, w:W|R|R|R +VPMACSSWD Vdq,Hdq,Wdq,Ldq n/a [xop m:8 0x86 /r is4] s:XOP, t:XOP, w:W|R|R|R +VPMACSSDQL Vdq,Hdq,Wdq,Ldq n/a [xop m:8 0x87 /r is4] s:XOP, t:XOP, w:W|R|R|R +VPMACSSDD Vdq,Hdq,Wdq,Ldq n/a [xop m:8 0x8E /r is4] s:XOP, t:XOP, w:W|R|R|R +VPMACSSDQH Vdq,Hdq,Wdq,Ldq n/a [xop m:8 0x8F /r is4] s:XOP, t:XOP, w:W|R|R|R # 0x90 - 0x9F -VPMACSWW Vdq,Hdq,Wdq,Ldq nil [xop m:8 0x95 /r is4] s:XOP, t:XOP, w:W|R|R|R -VPMACSWD Vdq,Hdq,Wdq,Ldq nil [xop m:8 0x96 /r is4] s:XOP, t:XOP, w:W|R|R|R -VPMACSDQL Vdq,Hdq,Wdq,Ldq nil [xop m:8 0x97 /r is4] s:XOP, t:XOP, w:W|R|R|R -VPMACSDD Vdq,Hdq,Wdq,Ldq nil [xop m:8 0x9E /r is4] s:XOP, t:XOP, w:W|R|R|R -VPMACSDQH Vdq,Hdq,Wdq,Ldq nil [xop m:8 0x9F /r is4] s:XOP, t:XOP, w:W|R|R|R +VPMACSWW Vdq,Hdq,Wdq,Ldq n/a [xop m:8 0x95 /r is4] s:XOP, t:XOP, w:W|R|R|R +VPMACSWD Vdq,Hdq,Wdq,Ldq n/a [xop m:8 0x96 /r is4] s:XOP, t:XOP, w:W|R|R|R +VPMACSDQL Vdq,Hdq,Wdq,Ldq n/a [xop m:8 0x97 /r is4] s:XOP, t:XOP, w:W|R|R|R +VPMACSDD Vdq,Hdq,Wdq,Ldq n/a [xop m:8 0x9E /r is4] s:XOP, t:XOP, w:W|R|R|R +VPMACSDQH Vdq,Hdq,Wdq,Ldq n/a [xop m:8 0x9F /r is4] s:XOP, t:XOP, w:W|R|R|R # 0xA0 - 0xAF -VPCMOV Vx,Hx,Wx,Lx nil [xop m:8 w:0 0xA2 /r is4] s:XOP, t:XOP, w:W|R|R|R -VPCMOV Vx,Hx,Lx,Wx nil [xop m:8 w:1 0xA2 /r is4] s:XOP, t:XOP, w:W|R|R|R -VPPERM Vx,Hx,Wx,Lx nil [xop m:8 w:0 0xA3 /r is4] s:XOP, t:XOP, w:W|R|R|R -VPPERM Vx,Hx,Lx,Wx nil [xop m:8 w:1 0xA3 /r is4] s:XOP, t:XOP, w:W|R|R|R -VPMADCSSWD Vdq,Hdq,Wdq,Ldq nil [xop m:8 0xA6 /r is4] s:XOP, t:XOP, w:W|R|R|R +VPCMOV Vx,Hx,Wx,Lx n/a [xop m:8 w:0 0xA2 /r is4] s:XOP, t:XOP, w:W|R|R|R +VPCMOV Vx,Hx,Lx,Wx n/a [xop m:8 w:1 0xA2 /r is4] s:XOP, t:XOP, w:W|R|R|R +VPPERM Vx,Hx,Wx,Lx n/a [xop m:8 w:0 0xA3 /r is4] s:XOP, t:XOP, w:W|R|R|R +VPPERM Vx,Hx,Lx,Wx n/a [xop m:8 w:1 0xA3 /r is4] s:XOP, t:XOP, w:W|R|R|R +VPMADCSSWD Vdq,Hdq,Wdq,Ldq n/a [xop m:8 0xA6 /r is4] s:XOP, t:XOP, w:W|R|R|R # 0xB0 - 0xBF -VPMADCSWD Vdq,Hdq,Wdq,Ldq nil [xop m:8 0xB6 /r is4] s:XOP, t:XOP, w:W|R|R|R +VPMADCSWD Vdq,Hdq,Wdq,Ldq n/a [xop m:8 0xB6 /r is4] s:XOP, t:XOP, w:W|R|R|R # 0xC0 - 0xCF -VPROTB Vdq,Wdq,Ib nil [xop m:8 0xC0 /r ib] s:XOP, t:XOP, w:W|R|R -VPROTW Vdq,Wdq,Ib nil [xop m:8 0xC1 /r ib] s:XOP, t:XOP, w:W|R|R -VPROTD Vdq,Wdq,Ib nil [xop m:8 0xC2 /r ib] s:XOP, t:XOP, w:W|R|R -VPROTQ Vdq,Wdq,Ib nil [xop m:8 0xC3 /r ib] s:XOP, t:XOP, w:W|R|R -VPCOMB Vdq,Hdq,Wdq,Ib nil [xop m:8 0xCC /r ib] s:XOP, t:XOP, w:W|R|R|R -VPCOMW Vdq,Hdq,Wdq,Ib nil [xop m:8 0xCD /r ib] s:XOP, t:XOP, w:W|R|R|R -VPCOMD Vdq,Hdq,Wdq,Ib nil [xop m:8 0xCE /r ib] s:XOP, t:XOP, w:W|R|R|R -VPCOMQ Vdq,Hdq,Wdq,Ib nil [xop m:8 0xCF /r ib] s:XOP, t:XOP, w:W|R|R|R +VPROTB Vdq,Wdq,Ib n/a [xop m:8 0xC0 /r ib] s:XOP, t:XOP, w:W|R|R +VPROTW Vdq,Wdq,Ib n/a [xop m:8 0xC1 /r ib] s:XOP, t:XOP, w:W|R|R +VPROTD Vdq,Wdq,Ib n/a [xop m:8 0xC2 /r ib] s:XOP, t:XOP, w:W|R|R +VPROTQ Vdq,Wdq,Ib n/a [xop m:8 0xC3 /r ib] s:XOP, t:XOP, w:W|R|R +VPCOMB Vdq,Hdq,Wdq,Ib n/a [xop m:8 0xCC /r ib] s:XOP, t:XOP, w:W|R|R|R +VPCOMW Vdq,Hdq,Wdq,Ib n/a [xop m:8 0xCD /r ib] s:XOP, t:XOP, w:W|R|R|R +VPCOMD Vdq,Hdq,Wdq,Ib n/a [xop m:8 0xCE /r ib] s:XOP, t:XOP, w:W|R|R|R +VPCOMQ Vdq,Hdq,Wdq,Ib n/a [xop m:8 0xCF /r ib] s:XOP, t:XOP, w:W|R|R|R # 0xD0 - 0xDF # 0xE0 - 0xEF -VPCOMUB Vdq,Hdq,Wdq,Ib nil [xop m:8 0xEC /r ib] s:XOP, t:XOP, w:W|R|R|R -VPCOMUW Vdq,Hdq,Wdq,Ib nil [xop m:8 0xED /r ib] s:XOP, t:XOP, w:W|R|R|R -VPCOMUD Vdq,Hdq,Wdq,Ib nil [xop m:8 0xEE /r ib] s:XOP, t:XOP, w:W|R|R|R -VPCOMUQ Vdq,Hdq,Wdq,Ib nil [xop m:8 0xEF /r ib] s:XOP, t:XOP, w:W|R|R|R +VPCOMUB Vdq,Hdq,Wdq,Ib n/a [xop m:8 0xEC /r ib] s:XOP, t:XOP, w:W|R|R|R +VPCOMUW Vdq,Hdq,Wdq,Ib n/a [xop m:8 0xED /r ib] s:XOP, t:XOP, w:W|R|R|R +VPCOMUD Vdq,Hdq,Wdq,Ib n/a [xop m:8 0xEE /r ib] s:XOP, t:XOP, w:W|R|R|R +VPCOMUQ Vdq,Hdq,Wdq,Ib n/a [xop m:8 0xEF /r ib] s:XOP, t:XOP, w:W|R|R|R # 0xF0 - 0xFF @@ -67,19 +72,19 @@ VPCOMUQ Vdq,Hdq,Wdq,Ib nil [xop m:8 0xEF /r ib] # XOP.mmmmm = 9 # 0x00 - 0x0F -BLCFILL By,Ey nil [xop m:9 0x01 /1] s:TBM, t:BITBYTE, w:RW|R -BLSFILL By,Ey nil [xop m:9 0x01 /2] s:TBM, t:BITBYTE, w:RW|R -BLCS By,Ey nil [xop m:9 0x01 /3] s:TBM, t:BITBYTE, w:RW|R -TZMSK By,Ey nil [xop m:9 0x01 /4] s:TBM, t:BITBYTE, w:RW|R -BLCIC By,Ey nil [xop m:9 0x01 /5] s:TBM, t:BITBYTE, w:RW|R -BLSIC By,Ey nil [xop m:9 0x01 /6] s:TBM, t:BITBYTE, w:RW|R -T1MSKC By,Ey nil [xop m:9 0x01 /7] s:TBM, t:BITBYTE, w:RW|R -BLCMSK By,Ey nil [xop m:9 0x02 /1] s:TBM, t:BITBYTE, w:RW|R -BLCI By,Ey nil [xop m:9 0x02 /6] s:TBM, t:BITBYTE, w:RW|R +BLCFILL By,Ey n/a [xop m:9 0x01 /1] s:TBM, t:BITBYTE, w:RW|R +BLSFILL By,Ey n/a [xop m:9 0x01 /2] s:TBM, t:BITBYTE, w:RW|R +BLCS By,Ey n/a [xop m:9 0x01 /3] s:TBM, t:BITBYTE, w:RW|R +TZMSK By,Ey n/a [xop m:9 0x01 /4] s:TBM, t:BITBYTE, w:RW|R +BLCIC By,Ey n/a [xop m:9 0x01 /5] s:TBM, t:BITBYTE, w:RW|R +BLSIC By,Ey n/a [xop m:9 0x01 /6] s:TBM, t:BITBYTE, w:RW|R +T1MSKC By,Ey n/a [xop m:9 0x01 /7] s:TBM, t:BITBYTE, w:RW|R +BLCMSK By,Ey n/a [xop m:9 0x02 /1] s:TBM, t:BITBYTE, w:RW|R +BLCI By,Ey n/a [xop m:9 0x02 /6] s:TBM, t:BITBYTE, w:RW|R # 0x10 - 0x1F -LLWPCB Ry nil [xop m:9 0x12 /0:reg] s:LWP, t:LWP, w:R -SLWPCB Ry nil [xop m:9 0x12 /1:reg] s:LWP, t:LWP, w:R +LLWPCB Ry n/a [xop m:9 0x12 /0:reg] s:LWP, t:LWP, w:R +SLWPCB Ry n/a [xop m:9 0x12 /1:reg] s:LWP, t:LWP, w:R # 0x20 - 0x2F @@ -94,61 +99,61 @@ SLWPCB Ry nil [xop m:9 0x12 /1:reg] # 0x70 - 0x7F # 0x80 - 0x8F -VFRCZPS Vx,Wx nil [xop m:9 0x80 /r] s:XOP, t:XOP, w:W|R -VFRCZPD Vx,Wx nil [xop m:9 0x81 /r] s:XOP, t:XOP, w:W|R -VFRCZSS Vdq,Wss nil [xop m:9 0x82 /r] s:XOP, t:XOP, w:W|R -VFRCZSD Vdq,Wsd nil [xop m:9 0x83 /r] s:XOP, t:XOP, w:W|R -VPSHAB Vdq,Wdq,Hdq nil [xop m:9 w:0 0x98 /r] s:XOP, t:XOP, w:W|R|R -VPSHAB Vdq,Hdq,Wdq nil [xop m:9 w:1 0x98 /r] s:XOP, t:XOP, w:W|R|R -VPSHAW Vdq,Wdq,Hdq nil [xop m:9 w:0 0x99 /r] s:XOP, t:XOP, w:W|R|R -VPSHAW Vdq,Hdq,Wdq nil [xop m:9 w:1 0x99 /r] s:XOP, t:XOP, w:W|R|R -VPSHAD Vdq,Wdq,Hdq nil [xop m:9 w:0 0x9A /r] s:XOP, t:XOP, w:W|R|R -VPSHAD Vdq,Hdq,Wdq nil [xop m:9 w:1 0x9A /r] s:XOP, t:XOP, w:W|R|R -VPSHAQ Vdq,Wdq,Hdq nil [xop m:9 w:0 0x9B /r] s:XOP, t:XOP, w:W|R|R -VPSHAQ Vdq,Hdq,Wdq nil [xop m:9 w:1 0x9B /r] s:XOP, t:XOP, w:W|R|R +VFRCZPS Vx,Wx n/a [xop m:9 0x80 /r] s:XOP, t:XOP, w:W|R +VFRCZPD Vx,Wx n/a [xop m:9 0x81 /r] s:XOP, t:XOP, w:W|R +VFRCZSS Vdq,Wss n/a [xop m:9 0x82 /r] s:XOP, t:XOP, w:W|R +VFRCZSD Vdq,Wsd n/a [xop m:9 0x83 /r] s:XOP, t:XOP, w:W|R +VPSHAB Vdq,Wdq,Hdq n/a [xop m:9 w:0 0x98 /r] s:XOP, t:XOP, w:W|R|R +VPSHAB Vdq,Hdq,Wdq n/a [xop m:9 w:1 0x98 /r] s:XOP, t:XOP, w:W|R|R +VPSHAW Vdq,Wdq,Hdq n/a [xop m:9 w:0 0x99 /r] s:XOP, t:XOP, w:W|R|R +VPSHAW Vdq,Hdq,Wdq n/a [xop m:9 w:1 0x99 /r] s:XOP, t:XOP, w:W|R|R +VPSHAD Vdq,Wdq,Hdq n/a [xop m:9 w:0 0x9A /r] s:XOP, t:XOP, w:W|R|R +VPSHAD Vdq,Hdq,Wdq n/a [xop m:9 w:1 0x9A /r] s:XOP, t:XOP, w:W|R|R +VPSHAQ Vdq,Wdq,Hdq n/a [xop m:9 w:0 0x9B /r] s:XOP, t:XOP, w:W|R|R +VPSHAQ Vdq,Hdq,Wdq n/a [xop m:9 w:1 0x9B /r] s:XOP, t:XOP, w:W|R|R # 0x90 - 0x9F -VPROTB Vdq,Wdq,Hdq nil [xop m:9 w:0 0x90 /r] s:XOP, t:XOP, w:W|R|R -VPROTB Vdq,Hdq,Wdq nil [xop m:9 w:1 0x90 /r] s:XOP, t:XOP, w:W|R|R -VPROTW Vdq,Wdq,Hdq nil [xop m:9 w:0 0x91 /r] s:XOP, t:XOP, w:W|R|R -VPROTW Vdq,Hdq,Wdq nil [xop m:9 w:1 0x91 /r] s:XOP, t:XOP, w:W|R|R -VPROTD Vdq,Wdq,Hdq nil [xop m:9 w:0 0x92 /r] s:XOP, t:XOP, w:W|R|R -VPROTD Vdq,Hdq,Wdq nil [xop m:9 w:1 0x92 /r] s:XOP, t:XOP, w:W|R|R -VPROTQ Vdq,Wdq,Hdq nil [xop m:9 w:0 0x93 /r] s:XOP, t:XOP, w:W|R|R -VPROTQ Vdq,Hdq,Wdq nil [xop m:9 w:1 0x93 /r] s:XOP, t:XOP, w:W|R|R -VPSHLB Vdq,Wdq,Hdq nil [xop m:9 w:0 0x94 /r] s:XOP, t:XOP, w:W|R|R -VPSHLB Vdq,Hdq,Wdq nil [xop m:9 w:1 0x94 /r] s:XOP, t:XOP, w:W|R|R -VPSHLW Vdq,Wdq,Hdq nil [xop m:9 w:0 0x95 /r] s:XOP, t:XOP, w:W|R|R -VPSHLB Vdq,Hdq,Wdq nil [xop m:9 w:1 0x95 /r] s:XOP, t:XOP, w:W|R|R -VPSHLD Vdq,Wdq,Hdq nil [xop m:9 w:0 0x96 /r] s:XOP, t:XOP, w:W|R|R -VPSHLB Vdq,Hdq,Wdq nil [xop m:9 w:1 0x96 /r] s:XOP, t:XOP, w:W|R|R -VPSHLQ Vdq,Wdq,Hdq nil [xop m:9 w:0 0x97 /r] s:XOP, t:XOP, w:W|R|R -VPSHLQ Vdq,Hdq,Wdq nil [xop m:9 w:1 0x97 /r] s:XOP, t:XOP, w:W|R|R +VPROTB Vdq,Wdq,Hdq n/a [xop m:9 w:0 0x90 /r] s:XOP, t:XOP, w:W|R|R +VPROTB Vdq,Hdq,Wdq n/a [xop m:9 w:1 0x90 /r] s:XOP, t:XOP, w:W|R|R +VPROTW Vdq,Wdq,Hdq n/a [xop m:9 w:0 0x91 /r] s:XOP, t:XOP, w:W|R|R +VPROTW Vdq,Hdq,Wdq n/a [xop m:9 w:1 0x91 /r] s:XOP, t:XOP, w:W|R|R +VPROTD Vdq,Wdq,Hdq n/a [xop m:9 w:0 0x92 /r] s:XOP, t:XOP, w:W|R|R +VPROTD Vdq,Hdq,Wdq n/a [xop m:9 w:1 0x92 /r] s:XOP, t:XOP, w:W|R|R +VPROTQ Vdq,Wdq,Hdq n/a [xop m:9 w:0 0x93 /r] s:XOP, t:XOP, w:W|R|R +VPROTQ Vdq,Hdq,Wdq n/a [xop m:9 w:1 0x93 /r] s:XOP, t:XOP, w:W|R|R +VPSHLB Vdq,Wdq,Hdq n/a [xop m:9 w:0 0x94 /r] s:XOP, t:XOP, w:W|R|R +VPSHLB Vdq,Hdq,Wdq n/a [xop m:9 w:1 0x94 /r] s:XOP, t:XOP, w:W|R|R +VPSHLW Vdq,Wdq,Hdq n/a [xop m:9 w:0 0x95 /r] s:XOP, t:XOP, w:W|R|R +VPSHLB Vdq,Hdq,Wdq n/a [xop m:9 w:1 0x95 /r] s:XOP, t:XOP, w:W|R|R +VPSHLD Vdq,Wdq,Hdq n/a [xop m:9 w:0 0x96 /r] s:XOP, t:XOP, w:W|R|R +VPSHLB Vdq,Hdq,Wdq n/a [xop m:9 w:1 0x96 /r] s:XOP, t:XOP, w:W|R|R +VPSHLQ Vdq,Wdq,Hdq n/a [xop m:9 w:0 0x97 /r] s:XOP, t:XOP, w:W|R|R +VPSHLQ Vdq,Hdq,Wdq n/a [xop m:9 w:1 0x97 /r] s:XOP, t:XOP, w:W|R|R # 0xA0 - 0xAF # 0xB0 - 0xBF # 0xC0 - 0xCF -VPHADDBW Vdq,Wdq nil [xop m:9 0xC1 /r] s:XOP, t:XOP, w:W|R -VPHADDBD Vdq,Wdq nil [xop m:9 0xC2 /r] s:XOP, t:XOP, w:W|R -VPHADDBQ Vdq,Wdq nil [xop m:9 0xC3 /r] s:XOP, t:XOP, w:W|R -VPHADDWD Vdq,Wdq nil [xop m:9 0xC6 /r] s:XOP, t:XOP, w:W|R -VPHADDWQ Vdq,Wdq nil [xop m:9 0xC7 /r] s:XOP, t:XOP, w:W|R -VPHADDDQ Vdq,Wdq nil [xop m:9 0xCB /r] s:XOP, t:XOP, w:W|R +VPHADDBW Vdq,Wdq n/a [xop m:9 0xC1 /r] s:XOP, t:XOP, w:W|R +VPHADDBD Vdq,Wdq n/a [xop m:9 0xC2 /r] s:XOP, t:XOP, w:W|R +VPHADDBQ Vdq,Wdq n/a [xop m:9 0xC3 /r] s:XOP, t:XOP, w:W|R +VPHADDWD Vdq,Wdq n/a [xop m:9 0xC6 /r] s:XOP, t:XOP, w:W|R +VPHADDWQ Vdq,Wdq n/a [xop m:9 0xC7 /r] s:XOP, t:XOP, w:W|R +VPHADDDQ Vdq,Wdq n/a [xop m:9 0xCB /r] s:XOP, t:XOP, w:W|R # 0xD0 - 0xDF -VPHADDUBW Vdq,Wdq nil [xop m:9 0xD1 /r] s:XOP, t:XOP, w:W|R -VPHADDUBD Vdq,Wdq nil [xop m:9 0xD2 /r] s:XOP, t:XOP, w:W|R -VPHADDUBQ Vdq,Wdq nil [xop m:9 0xD3 /r] s:XOP, t:XOP, w:W|R -VPHADDUWD Vdq,Wdq nil [xop m:9 0xD6 /r] s:XOP, t:XOP, w:W|R -VPHADDUWQ Vdq,Wdq nil [xop m:9 0xD7 /r] s:XOP, t:XOP, w:W|R -VPHADDUDQ Vdq,Wdq nil [xop m:9 0xDB /r] s:XOP, t:XOP, w:W|R +VPHADDUBW Vdq,Wdq n/a [xop m:9 0xD1 /r] s:XOP, t:XOP, w:W|R +VPHADDUBD Vdq,Wdq n/a [xop m:9 0xD2 /r] s:XOP, t:XOP, w:W|R +VPHADDUBQ Vdq,Wdq n/a [xop m:9 0xD3 /r] s:XOP, t:XOP, w:W|R +VPHADDUWD Vdq,Wdq n/a [xop m:9 0xD6 /r] s:XOP, t:XOP, w:W|R +VPHADDUWQ Vdq,Wdq n/a [xop m:9 0xD7 /r] s:XOP, t:XOP, w:W|R +VPHADDUDQ Vdq,Wdq n/a [xop m:9 0xDB /r] s:XOP, t:XOP, w:W|R # 0xE0 - 0xEF -VPHSUBBW Vdq,Wdq nil [xop m:9 0xE1 /r] s:XOP, t:XOP, w:W|R -VPHSUBWD Vdq,Wdq nil [xop m:9 0xE2 /r] s:XOP, t:XOP, w:W|R -VPHSUBDQ Vdq,Wdq nil [xop m:9 0xE3 /r] s:XOP, t:XOP, w:W|R +VPHSUBBW Vdq,Wdq n/a [xop m:9 0xE1 /r] s:XOP, t:XOP, w:W|R +VPHSUBWD Vdq,Wdq n/a [xop m:9 0xE2 /r] s:XOP, t:XOP, w:W|R +VPHSUBDQ Vdq,Wdq n/a [xop m:9 0xE3 /r] s:XOP, t:XOP, w:W|R # 0xF0 - 0xFF @@ -158,9 +163,9 @@ VPHSUBDQ Vdq,Wdq nil [xop m:9 0xE3 /r] # 0x00 - 0x0F # 0x10 - 0x1F -BEXTR Gy,Ey,Id nil [xop m:A 0x10 /r id] s:TBM, t:BITBYTE, w:RW|R|R -LWPINS By,Ed,Id nil [xop m:A 0x12 /0 id] s:LWP, t:LWP, w:RW|R|R -LWPVAL By,Ed,Id nil [xop m:A 0x12 /1 id] s:LWP, t:LWP, w:RW|R|R +BEXTR Gy,Ey,Id n/a [xop m:A 0x10 /r id] s:TBM, t:BITBYTE, w:RW|R|R +LWPINS By,Ed,Id n/a [xop m:A 0x12 /0 id] s:LWP, t:LWP, w:RW|R|R +LWPVAL By,Ed,Id n/a [xop m:A 0x12 /1 id] s:LWP, t:LWP, w:RW|R|R # 0x20 - 0x2F