Files
test-repo/instrs.txt
2021-03-23 12:52:37 +01:00

1607 lines
101 KiB
Plaintext

00 MR GP GP - - ADD SIZE_8 LOCK
01 MR GP GP - - ADD LOCK
02 RM GP GP - - ADD SIZE_8
03 RM GP GP - - ADD
04 IA GP IMM - - ADD SIZE_8
05 IA GP IMM - - ADD
06 S SEG - - - PUSH ONLY32
07 S SEG - - - POP ONLY32
08 MR GP GP - - OR SIZE_8 LOCK
09 MR GP GP - - OR LOCK
0a RM GP GP - - OR SIZE_8
0b RM GP GP - - OR
0c IA GP IMM - - OR SIZE_8
0d IA GP IMM - - OR
0e S SEG - - - PUSH ONLY32
#0f escape opcode
10 MR GP GP - - ADC SIZE_8 LOCK
11 MR GP GP - - ADC LOCK
12 RM GP GP - - ADC SIZE_8
13 RM GP GP - - ADC
14 IA GP IMM - - ADC SIZE_8
15 IA GP IMM - - ADC
16 S SEG - - - PUSH ONLY32
17 S SEG - - - POP ONLY32
18 MR GP GP - - SBB SIZE_8 LOCK
19 MR GP GP - - SBB LOCK
1a RM GP GP - - SBB SIZE_8
1b RM GP GP - - SBB
1c IA GP IMM - - SBB SIZE_8
1d IA GP IMM - - SBB
1e S SEG - - - PUSH ONLY32
1f S SEG - - - POP ONLY32
20 MR GP GP - - AND SIZE_8 LOCK
21 MR GP GP - - AND LOCK
22 RM GP GP - - AND SIZE_8
23 RM GP GP - - AND
24 IA GP IMM - - AND SIZE_8
25 IA GP IMM - - AND
#26 SEG=ES prefix
27 NP - - - - DAA ONLY32
28 MR GP GP - - SUB SIZE_8 LOCK
29 MR GP GP - - SUB LOCK
2a RM GP GP - - SUB SIZE_8
2b RM GP GP - - SUB
2c IA GP IMM - - SUB SIZE_8
2d IA GP IMM - - SUB
#2e SEG=CS prefix
2f NP - - - - DAS ONLY32
30 MR GP GP - - XOR SIZE_8 LOCK
31 MR GP GP - - XOR LOCK
32 RM GP GP - - XOR SIZE_8
33 RM GP GP - - XOR
34 IA GP IMM - - XOR SIZE_8
35 IA GP IMM - - XOR
#36 SEG=SS prefix
37 NP - - - - AAA ONLY32
38 MR GP GP - - CMP SIZE_8
39 MR GP GP - - CMP
3a RM GP GP - - CMP SIZE_8
3b RM GP GP - - CMP
3c IA GP IMM - - CMP SIZE_8
3d IA GP IMM - - CMP
#3e SEG=DS prefix
3f NP - - - - AAS ONLY32
40+ O GP - - - INC ONLY32
48+ O GP - - - DEC ONLY32
50+ O GP - - - PUSH DEF64
58+ O GP - - - POP DEF64
60 NP - - - - PUSHA ONLY32 INSTR_WIDTH
61 NP - - - - POPA ONLY32 INSTR_WIDTH
62/m RM GP MEM - - BOUND ONLY32
63 MR GP16 GP16 - - ARPL ONLY32
63 RM GP GP32 - - MOVSX ONLY64 ENC_SEPSZ
#64 SEG=FS prefix
#65 SEG=GS prefix
#66 operand size prefix
#67 address size prefix
68 I IMM - - - PUSH DEF64
69 RMI GP GP IMM - IMUL
6a I IMM - - - PUSH DEF64 IMM_8
6b RMI GP GP IMM - IMUL IMM_8
6c NP - - - - INS SIZE_8 INSTR_WIDTH ENC_REP
6d NP - - - - INS INSTR_WIDTH ENC_REP
6e NP - - - - OUTS SIZE_8 INSTR_WIDTH ENC_REP
6f NP - - - - OUTS INSTR_WIDTH ENC_REP
70 D IMM - - - JO FORCE64 IMM_8
71 D IMM - - - JNO FORCE64 IMM_8
72 D IMM - - - JC FORCE64 IMM_8
73 D IMM - - - JNC FORCE64 IMM_8
74 D IMM - - - JZ FORCE64 IMM_8
75 D IMM - - - JNZ FORCE64 IMM_8
76 D IMM - - - JBE FORCE64 IMM_8
77 D IMM - - - JA FORCE64 IMM_8
78 D IMM - - - JS FORCE64 IMM_8
79 D IMM - - - JNS FORCE64 IMM_8
7a D IMM - - - JP FORCE64 IMM_8
7b D IMM - - - JNP FORCE64 IMM_8
7c D IMM - - - JL FORCE64 IMM_8
7d D IMM - - - JGE FORCE64 IMM_8
7e D IMM - - - JLE FORCE64 IMM_8
7f D IMM - - - JG FORCE64 IMM_8
80/0 MI GP IMM - - ADD SIZE_8 LOCK
80/1 MI GP IMM - - OR SIZE_8 LOCK
80/2 MI GP IMM - - ADC SIZE_8 LOCK
80/3 MI GP IMM - - SBB SIZE_8 LOCK
80/4 MI GP IMM - - AND SIZE_8 LOCK
80/5 MI GP IMM - - SUB SIZE_8 LOCK
80/6 MI GP IMM - - XOR SIZE_8 LOCK
80/7 MI GP IMM - - CMP SIZE_8
81/0 MI GP IMM - - ADD LOCK
81/1 MI GP IMM - - OR LOCK
81/2 MI GP IMM - - ADC LOCK
81/3 MI GP IMM - - SBB LOCK
81/4 MI GP IMM - - AND LOCK
81/5 MI GP IMM - - SUB LOCK
81/6 MI GP IMM - - XOR LOCK
81/7 MI GP IMM - - CMP
82/0 MI GP IMM - - ADD ONLY32 SIZE_8 LOCK
82/1 MI GP IMM - - OR ONLY32 SIZE_8 LOCK
82/2 MI GP IMM - - ADC ONLY32 SIZE_8 LOCK
82/3 MI GP IMM - - SBB ONLY32 SIZE_8 LOCK
82/4 MI GP IMM - - AND ONLY32 SIZE_8 LOCK
82/5 MI GP IMM - - SUB ONLY32 SIZE_8 LOCK
82/6 MI GP IMM - - XOR ONLY32 SIZE_8 LOCK
82/7 MI GP IMM - - CMP ONLY32 SIZE_8
83/0 MI GP IMM - - ADD IMM_8 LOCK
83/1 MI GP IMM - - OR IMM_8 LOCK
83/2 MI GP IMM - - ADC IMM_8 LOCK
83/3 MI GP IMM - - SBB IMM_8 LOCK
83/4 MI GP IMM - - AND IMM_8 LOCK
83/5 MI GP IMM - - SUB IMM_8 LOCK
83/6 MI GP IMM - - XOR IMM_8 LOCK
83/7 MI GP IMM - - CMP IMM_8
84 MR GP GP - - TEST SIZE_8
85 MR GP GP - - TEST
86 MR GP GP - - XCHG SIZE_8 LOCK
87 MR GP GP - - XCHG LOCK
88 MR GP GP - - MOV SIZE_8
89 MR GP GP - - MOV
8a RM GP GP - - MOV SIZE_8
8b RM GP GP - - MOV
8c/0 MR GP16 SEG16 - - MOV_S2G
8c/1 MR GP16 SEG16 - - MOV_S2G
8c/2 MR GP16 SEG16 - - MOV_S2G
8c/3 MR GP16 SEG16 - - MOV_S2G
8c/4 MR GP16 SEG16 - - MOV_S2G
8c/5 MR GP16 SEG16 - - MOV_S2G
8d/m RM GP MEMZ - - LEA
8e/0 RM SEG16 GP16 - - MOV_G2S
8e/2 RM SEG16 GP16 - - MOV_G2S
8e/3 RM SEG16 GP16 - - MOV_G2S
8e/4 RM SEG16 GP16 - - MOV_G2S
8e/5 RM SEG16 GP16 - - MOV_G2S
8f/0 M GP - - - POP DEF64
# Against frequent belief, only, XCHG (r/e)AX, (r)AX with 90 is NOP.
# As a lacking REX.B cannot be specified here, this is hardcoded.
90+ OA GP GP - - XCHG_NOP
98 NP - - - - C_EX INSTR_WIDTH
99 NP - - - - C_SEP INSTR_WIDTH
# Far jmp/call immediate size adjusted in code
9a I IMM - - - CALLF ONLY32
9b NP - - - - FWAIT
9c NP - - - - PUSHF DEF64 INSTR_WIDTH
9d NP - - - - POPF DEF64 INSTR_WIDTH
9e NP - - - - SAHF
9f NP - - - - LAHF
a0 FD GP GP - - MOV SIZE_8
a1 FD GP GP - - MOV
a2 TD GP GP - - MOV SIZE_8
a3 TD GP GP - - MOV
a4 NP - - - - MOVS SIZE_8 INSTR_WIDTH ENC_REP
a5 NP - - - - MOVS INSTR_WIDTH ENC_REP
a6 NP - - - - CMPS SIZE_8 INSTR_WIDTH ENC_REPCC
a7 NP - - - - CMPS INSTR_WIDTH ENC_REPCC
a8 IA GP IMM - - TEST SIZE_8
a9 IA GP IMM - - TEST
aa NP - - - - STOS SIZE_8 INSTR_WIDTH ENC_REP
ab NP - - - - STOS INSTR_WIDTH ENC_REP
ac NP - - - - LODS SIZE_8 INSTR_WIDTH ENC_REP
ad NP - - - - LODS INSTR_WIDTH ENC_REP
ae NP - - - - SCAS SIZE_8 INSTR_WIDTH ENC_REPCC
af NP - - - - SCAS INSTR_WIDTH ENC_REPCC
b0+ OI GP IMM8 - - MOVABS SIZE_8
b8+ OI GP IMM - - MOVABS
c0/0 MI GP IMM8 - - ROL SIZE_8
c0/1 MI GP IMM8 - - ROR SIZE_8
c0/2 MI GP IMM8 - - RCL SIZE_8
c0/3 MI GP IMM8 - - RCR SIZE_8
c0/4 MI GP IMM8 - - SHL SIZE_8
c0/5 MI GP IMM8 - - SHR SIZE_8
c0/6 MI GP IMM8 - - SHL SIZE_8
c0/7 MI GP IMM8 - - SAR SIZE_8
c1/0 MI GP IMM8 - - ROL
c1/1 MI GP IMM8 - - ROR
c1/2 MI GP IMM8 - - RCL
c1/3 MI GP IMM8 - - RCR
c1/4 MI GP IMM8 - - SHL
c1/5 MI GP IMM8 - - SHR
c1/6 MI GP IMM8 - - SHL
c1/7 MI GP IMM8 - - SAR
# RET immediate size handled in code
c2 I IMM16 - - - RET FORCE64 INSTR_WIDTH
c3 NP - - - - RET FORCE64 INSTR_WIDTH
c4/m RM GP MEM - - LES ONLY32
c5/m RM GP MEM - - LDS ONLY32
c6/0 MI GP IMM - - MOV SIZE_8
c6f8 I IMM8 - - - XABORT
c7/0 MI GP IMM - - MOV
c7f8 D IMM32 - - - XBEGIN ONLY32
c7f8 D IMM64 - - - XBEGIN ONLY64
# ENTER immediate handled in code
c8 I IMM32 - - - ENTER DEF64 INSTR_WIDTH
c9 NP - - - - LEAVE DEF64 INSTR_WIDTH
# RETF immediate size handled in code
ca I IMM16 - - - RETF INSTR_WIDTH
cb NP - - - - RETF INSTR_WIDTH
cc NP - - - - INT3
cd I IMM8 - - - INT
ce NP - - - - INTO ONLY32
cf NP - - - - IRET INSTR_WIDTH
d0/0 M1 GP IMM8 - - ROL SIZE_8
d0/1 M1 GP IMM8 - - ROR SIZE_8
d0/2 M1 GP IMM8 - - RCL SIZE_8
d0/3 M1 GP IMM8 - - RCR SIZE_8
d0/4 M1 GP IMM8 - - SHL SIZE_8
d0/5 M1 GP IMM8 - - SHR SIZE_8
d0/6 M1 GP IMM8 - - SHL SIZE_8
d0/7 M1 GP IMM8 - - SAR SIZE_8
d1/0 M1 GP IMM8 - - ROL
d1/1 M1 GP IMM8 - - ROR
d1/2 M1 GP IMM8 - - RCL
d1/3 M1 GP IMM8 - - RCR
d1/4 M1 GP IMM8 - - SHL
d1/5 M1 GP IMM8 - - SHR
d1/6 M1 GP IMM8 - - SHL
d1/7 M1 GP IMM8 - - SAR
d2/0 MC GP GP8 - - ROL SIZE_8
d2/1 MC GP GP8 - - ROR SIZE_8
d2/2 MC GP GP8 - - RCL SIZE_8
d2/3 MC GP GP8 - - RCR SIZE_8
d2/4 MC GP GP8 - - SHL SIZE_8
d2/5 MC GP GP8 - - SHR SIZE_8
d2/6 MC GP GP8 - - SHL SIZE_8
d2/7 MC GP GP8 - - SAR SIZE_8
d3/0 MC GP GP8 - - ROL
d3/1 MC GP GP8 - - ROR
d3/2 MC GP GP8 - - RCL
d3/3 MC GP GP8 - - RCR
d3/4 MC GP GP8 - - SHL
d3/5 MC GP GP8 - - SHR
d3/6 MC GP GP8 - - SHL
d3/7 MC GP GP8 - - SAR
d4 I IMM - - - AAM ONLY32 SIZE_8
d5 I IMM - - - AAD ONLY32 SIZE_8
d6 NP - - - - SALC ONLY32 UNDOC
d7 NP - - - - XLATB
#d8-df FPU Escape
e0 D IMM - - - LOOPNZ FORCE64 IMM_8
e1 D IMM - - - LOOPZ FORCE64 IMM_8
e2 D IMM - - - LOOP FORCE64 IMM_8
e3 D IMM - - - JCXZ FORCE64 IMM_8
e4 IA GP IMM8 - - IN SIZE_8
e5 IA GP IMM8 - - IN
e6 IA GP IMM8 - - OUT SIZE_8
e7 IA GP IMM8 - - OUT
e8 D IMM - - - CALL FORCE64
e9 D IMM - - - JMP FORCE64
# Far jmp/call immediate size adjusted in code
ea I IMM - - - JMPF ONLY32
eb D IMM - - - JMP FORCE64 IMM_8
ec NP - - - - IN SIZE_8 INSTR_WIDTH
ed NP - - - - IN INSTR_WIDTH
ee NP - - - - OUT SIZE_8 INSTR_WIDTH
ef NP - - - - OUT INSTR_WIDTH
#f0 LOCK prefix
f1 NP - - - - INT1
#f2 REPNZ prefix
#f3 REP/REPZ prefix
f4 NP - - - - HLT
f5 NP - - - - CMC
f6/0 MI GP IMM - - TEST SIZE_8
f6/1 MI GP IMM - - TEST SIZE_8
f6/2 M GP - - - NOT SIZE_8 LOCK
f6/3 M GP - - - NEG SIZE_8 LOCK
f6/4 M GP - - - MUL SIZE_8
f6/5 M GP - - - IMUL SIZE_8
f6/6 M GP - - - DIV SIZE_8
f6/7 M GP - - - IDIV SIZE_8
f7/0 MI GP IMM - - TEST
f7/1 MI GP IMM - - TEST
f7/2 M GP - - - NOT LOCK
f7/3 M GP - - - NEG LOCK
f7/4 M GP - - - MUL
f7/5 M GP - - - IMUL
f7/6 M GP - - - DIV
f7/7 M GP - - - IDIV
f8 NP - - - - CLC
f9 NP - - - - STC
fa NP - - - - CLI
fb NP - - - - STI
fc NP - - - - CLD
fd NP - - - - STD
fe/0 M GP - - - INC SIZE_8 LOCK
fe/1 M GP - - - DEC SIZE_8 LOCK
ff/0 M GP - - - INC LOCK
ff/1 M GP - - - DEC LOCK
ff/2 M GP - - - CALL FORCE64
ff/3m M MEM - - - CALLF
ff/4 M GP - - - JMP FORCE64
ff/5m M MEM - - - JMPF
ff/6 M GP - - - PUSH DEF64
0f00/0 M GP16 - - - SLDT
0f00/1 M GP16 - - - STR
0f00/2 M GP16 - - - LLDT
0f00/3 M GP16 - - - LTR
0f00/4 M GP16 - - - VERR
0f00/5 M GP16 - - - VERW
0f01/0m M MEMZ - - - SGDT
0f01/1m M MEMZ - - - SIDT
0f01/2m M MEMZ - - - LGDT
0f01/3m M MEMZ - - - LIDT
0f01/4m M GP16 - - - SMSW
0f01/4r M GP - - - SMSW
0f01/6 M GP16 - - - LMSW
0f01/7m M GP - - - INVLPG SIZE_8
NP.0f01c0 NP - - - - ENCLV
NP.0f01c8 NP - - - - MONITOR
NP.0f01c9 NP - - - - MWAIT
NP.0f01ca NP - - - - CLAC
NP.0f01cb NP - - - - STAC
NP.0f01cf NP - - - - ENCLS
NP.0f01d0 NP - - - - XGETBV
NP.0f01d1 NP - - - - XSETBV
NP.0f01d5 NP - - - - XEND
NP.0f01d6 NP - - - - XTEST
NP.0f01d7 NP - - - - ENCLU
0f01f8 NP - - - - SWAPGS ONLY64
0f01f9 NP - - - - RDTSCP
0f02 RM GP GP16 - - LAR
0f03 RM GP GP16 - - LSL
0f05 NP - - - - SYSCALL ONLY64
0f06 NP - - - - CLTS
0f07 NP - - - - SYSRET ONLY64
0f08 NP - - - - INVD
*0f09 NP - - - - WBINVD
0f0b NP - - - - UD2
0f0d/0m M MEM8 - - - PREFETCH
0f0d/1m M MEM8 - - - PREFETCHW
0f0d/2m M MEM8 - - - PREFETCHWT1
# All other slots are reserved, AMD maps them to /0
*0f0d/m M MEM8 - - - RESERVED_PREFETCH ONLYAMD
*0f0d/r MR GP GP - - RESERVED_NOP
0f0e NP - - - - FEMMS ONLYAMD
# TODO: actually decode 3DNow! instructions. Given that 3DNow! no longer exists,
# this is unlikely to happen, though.
0f0f RMI MMX MMX IMM8 - 3DNOW ONLYAMD
0f18/0m M MEM8 - - - PREFETCHNTA
0f18/1m M MEM8 - - - PREFETCHT0
0f18/2m M MEM8 - - - PREFETCHT1
0f18/3m M MEM8 - - - PREFETCHT2
# Reserved NOPs are weak, they can be overridden by other instructions.
*0f18 MR GP GP - - RESERVED_NOP
*0f19 MR GP GP - - RESERVED_NOP
*0f1a MR GP GP - - RESERVED_NOP
*0f1b MR GP GP - - RESERVED_NOP
*0f1c MR GP GP - - RESERVED_NOP
*0f1d MR GP GP - - RESERVED_NOP
*0f1e MR GP GP - - RESERVED_NOP
*0f1f MR GP GP - - RESERVED_NOP
0f1f/0 M GP - - - NOP
0f20 MR GP CR - - MOV_CR DEF64 IGN66
0f21 MR GP DR - - MOV_DR DEF64 IGN66
0f22 RM CR GP - - MOV_CR DEF64 IGN66
0f23 RM DR GP - - MOV_DR DEF64 IGN66
0f30 NP - - - - WRMSR
0f31 NP - - - - RDTSC
0f32 NP - - - - RDMSR
0f33 NP - - - - RDPMC
0f34 NP - - - - SYSENTER
0f35 NP - - - - SYSEXIT
NP.0f37 NP - - - - GETSEC
# 0f38, 0f3a are escape opcodes
0f40 RM GP GP - - CMOVO
0f41 RM GP GP - - CMOVNO
0f42 RM GP GP - - CMOVC
0f43 RM GP GP - - CMOVNC
0f44 RM GP GP - - CMOVZ
0f45 RM GP GP - - CMOVNZ
0f46 RM GP GP - - CMOVBE
0f47 RM GP GP - - CMOVA
0f48 RM GP GP - - CMOVS
0f49 RM GP GP - - CMOVNS
0f4a RM GP GP - - CMOVP
0f4b RM GP GP - - CMOVNP
0f4c RM GP GP - - CMOVL
0f4d RM GP GP - - CMOVGE
0f4e RM GP GP - - CMOVLE
0f4f RM GP GP - - CMOVG
0f80 D IMM - - - JO FORCE64
0f81 D IMM - - - JNO FORCE64
0f82 D IMM - - - JC FORCE64
0f83 D IMM - - - JNC FORCE64
0f84 D IMM - - - JZ FORCE64
0f85 D IMM - - - JNZ FORCE64
0f86 D IMM - - - JBE FORCE64
0f87 D IMM - - - JA FORCE64
0f88 D IMM - - - JS FORCE64
0f89 D IMM - - - JNS FORCE64
0f8a D IMM - - - JP FORCE64
0f8b D IMM - - - JNP FORCE64
0f8c D IMM - - - JL FORCE64
0f8d D IMM - - - JGE FORCE64
0f8e D IMM - - - JLE FORCE64
0f8f D IMM - - - JG FORCE64
0f90 M GP - - - SETO SIZE_8
0f91 M GP - - - SETNO SIZE_8
0f92 M GP - - - SETC SIZE_8
0f93 M GP - - - SETNC SIZE_8
0f94 M GP - - - SETZ SIZE_8
0f95 M GP - - - SETNZ SIZE_8
0f96 M GP - - - SETBE SIZE_8
0f97 M GP - - - SETA SIZE_8
0f98 M GP - - - SETS SIZE_8
0f99 M GP - - - SETNS SIZE_8
0f9a M GP - - - SETP SIZE_8
0f9b M GP - - - SETNP SIZE_8
0f9c M GP - - - SETL SIZE_8
0f9d M GP - - - SETGE SIZE_8
0f9e M GP - - - SETLE SIZE_8
0f9f M GP - - - SETG SIZE_8
0fa0 S SEG - - - PUSH DEF64
0fa1 S SEG - - - POP DEF64
0fa2 NP - - - - CPUID
0fa3 MR GP GP - - BT
0fa4 MRI GP GP IMM8 - SHLD
0fa5 MRC GP GP GP8 - SHLD
0fa8 S SEG - - - PUSH DEF64
0fa9 S SEG - - - POP DEF64
0faa NP - - - - RSM
0fab MR GP GP - - BTS LOCK
0fac MRI GP GP IMM8 - SHRD
0fad MRC GP GP GP8 - SHRD
0faf RM GP GP - - IMUL
0fb0 MR GP GP - - CMPXCHG SIZE_8 LOCK
0fb1 MR GP GP - - CMPXCHG LOCK
0fb2/m RM GP MEM - - LSS
0fb3 MR GP GP - - BTR LOCK
0fb4/m RM GP MEM - - LFS
0fb5/m RM GP MEM - - LGS
0fb6 RM GP GP8 - - MOVZX ENC_SEPSZ
0fb7 RM GP GP16 - - MOVZX ENC_SEPSZ
F3.0fb8 RM GP GP - - POPCNT USE66
0fb9 RM GP GP - - UD1
0fba/4 MI GP IMM8 - - BT
0fba/5 MI GP IMM8 - - BTS LOCK
0fba/6 MI GP IMM8 - - BTR LOCK
0fba/7 MI GP IMM8 - - BTC LOCK
0fbb MR GP GP - - BTC LOCK
*0fbc RM GP GP - - BSF
F3.0fbc RM GP GP - - TZCNT USE66
*0fbd RM GP GP - - BSR
F3.0fbd RM GP GP - - LZCNT USE66
0fbe RM GP GP8 - - MOVSX ENC_SEPSZ
0fbf RM GP GP16 - - MOVSX ENC_SEPSZ
0fc0 MR GP GP - - XADD SIZE_8 LOCK
0fc1 MR GP GP - - XADD LOCK
NP.0fc3/m MR MEM GP - - MOVNTI
0fc7/1m M MEMZ - - - CMPXCHGD LOCK IGN66 INSTR_WIDTH
0fc8+ O GP - - - BSWAP
0fff RM GP GP - - UD0
#
NFx.0f38f0/m RM GP MEM - - MOVBE
F2.0f38f0 RM GP32 GP - - CRC32 SIZE_8
NFx.0f38f1/m MR MEM GP - - MOVBE
F2.0f38f1 RM GP32 GP - - CRC32 USE66
#
# MMX
NP.0f2a RM XMM64 MMX - - MMX_CVTPI2PS
66.0f2a RM XMM MMX - - MMX_CVTPI2PD
NP.0f2c RM MMX XMM64 - - MMX_CVTTPS2PI
66.0f2c RM MMX XMM - - MMX_CVTTPD2PI
NP.0f2d RM MMX XMM64 - - MMX_CVTPS2PI
66.0f2d RM MMX XMM - - MMX_CVTPD2PI
NP.0f60 RM MMX MMX - - MMX_PUNPCKLBW
NP.0f61 RM MMX MMX - - MMX_PUNPCKLWD
NP.0f62 RM MMX MMX - - MMX_PUNPCKLDQ
NP.0f63 RM MMX MMX - - MMX_PACKSSWB
NP.0f64 RM MMX MMX - - MMX_PCMPGTB
NP.0f65 RM MMX MMX - - MMX_PCMPGTW
NP.0f66 RM MMX MMX - - MMX_PCMPGTD
NP.0f67 RM MMX MMX - - MMX_PACKUSWB
NP.0f68 RM MMX MMX - - MMX_PUNPCKHBW
NP.0f69 RM MMX MMX - - MMX_PUNPCKHWD
NP.0f6a RM MMX MMX - - MMX_PUNPCKHDQ
NP.0f6b RM MMX MMX - - MMX_PACKSSDW
NP.W0.0f6e RM MMX GP32 - - MMX_MOVD
NP.W1.0f6e RM MMX GP64 - - MMX_MOVQ
NP.0f6f RM MMX MMX - - MMX_MOVQ
NP.0f70 RMI MMX MMX IMM8 - MMX_PSHUFW
NP.0f71/2r MI MMX IMM8 - - MMX_PSRLW
NP.0f71/4r MI MMX IMM8 - - MMX_PSRAW
NP.0f71/6r MI MMX IMM8 - - MMX_PSLLW
NP.0f72/2r MI MMX IMM8 - - MMX_PSRLD
NP.0f72/4r MI MMX IMM8 - - MMX_PSRAD
NP.0f72/6r MI MMX IMM8 - - MMX_PSLLD
NP.0f73/2r MI MMX IMM8 - - MMX_PSRLQ
NP.0f73/6r MI MMX IMM8 - - MMX_PSLLQ
NP.0f74 RM MMX MMX - - MMX_PCMPEQB
NP.0f75 RM MMX MMX - - MMX_PCMPEQW
NP.0f76 RM MMX MMX - - MMX_PCMPEQD
NP.0f77 NP - - - - MMX_EMMS
NP.W0.0f7e MR GP32 MMX - - MMX_MOVD
NP.W1.0f7e MR GP64 MMX - - MMX_MOVQ
NP.0f7f MR MMX MMX - - MMX_MOVQ
# TODO: GP operand is actually GP16
NP.0fc4 RMI MMX GP IMM8 - MMX_PINSRW ENC_NOSZ
NP.0fc5/r RMI GP MMX IMM8 - MMX_PEXTRW DEF64
NP.0fd1 RM MMX MMX - - MMX_PSRLW
NP.0fd2 RM MMX MMX - - MMX_PSRLD
NP.0fd3 RM MMX MMX - - MMX_PSRLQ
NP.0fd4 RM MMX MMX - - MMX_PADDQ
NP.0fd5 RM MMX MMX - - MMX_PMULLW
F2.0fd6/r RM MMX XMM64 - - MMX_MOVDQ2Q
F3.0fd6/r RM XMM MMX - - MMX_MOVQ2DQ
NP.0fd7/r RM GP MMX - - MMX_PMOVMSKB DEF64
NP.0fd8 RM MMX MMX - - MMX_PSUBUSB
NP.0fd9 RM MMX MMX - - MMX_PSUBUSW
NP.0fda RM MMX MMX - - MMX_PMINUB
NP.0fdb RM MMX MMX - - MMX_PAND
NP.0fdc RM MMX MMX - - MMX_PADDUSB
NP.0fdd RM MMX MMX - - MMX_PADDUSW
NP.0fde RM MMX MMX - - MMX_PMAXUB
NP.0fdf RM MMX MMX - - MMX_PANDN
NP.0fe0 RM MMX MMX - - MMX_PAVGB
NP.0fe1 RM MMX MMX - - MMX_PSRAW
NP.0fe2 RM MMX MMX - - MMX_PSRAD
NP.0fe3 RM MMX MMX - - MMX_PAVGW
NP.0fe4 RM MMX MMX - - MMX_PMULHUW
NP.0fe5 RM MMX MMX - - MMX_PMULHW
NP.0fe7/m MR MEM64 MMX - - MMX_MOVNTQ
NP.0fe8 RM MMX MMX - - MMX_PSUBSB
NP.0fe9 RM MMX MMX - - MMX_PSUBSW
NP.0feb RM MMX MMX - - MMX_POR
NP.0fec RM MMX MMX - - MMX_PADDSB
NP.0fea RM MMX MMX - - MMX_PMINSW
NP.0fee RM MMX MMX - - MMX_PMAXSW
NP.0fed RM MMX MMX - - MMX_PADDSW
NP.0fef RM MMX MMX - - MMX_PXOR
NP.0ff1 RM MMX MMX - - MMX_PSLLW
NP.0ff2 RM MMX MMX - - MMX_PSLLD
NP.0ff3 RM MMX MMX - - MMX_PSLLQ
NP.0ff4 RM MMX MMX - - MMX_PMULUDQ
NP.0ff5 RM MMX MMX - - MMX_PMADDWD
NP.0ff6 RM MMX MMX - - MMX_PSADBW
NP.0ff7/r RM MMX MMX - - MMX_MASKMOVQ
NP.0ff8 RM MMX MMX - - MMX_PSUBB
NP.0ff9 RM MMX MMX - - MMX_PSUBW
NP.0ffa RM MMX MMX - - MMX_PSUBD
NP.0ffb RM MMX MMX - - MMX_PSUBQ
NP.0ffc RM MMX MMX - - MMX_PADDB
NP.0ffd RM MMX MMX - - MMX_PADDW
NP.0ffe RM MMX MMX - - MMX_PADDD
NP.0f3800 RM MMX MMX - - MMX_PSHUFB
NP.0f3801 RM MMX MMX - - MMX_PHADDW
NP.0f3802 RM MMX MMX - - MMX_PHADDD
NP.0f3803 RM MMX MMX - - MMX_PHADDSW
NP.0f3804 RM MMX MMX - - MMX_PMADDUBSW
NP.0f3805 RM MMX MMX - - MMX_PHSUBW
NP.0f3806 RM MMX MMX - - MMX_PHSUBD
NP.0f3807 RM MMX MMX - - MMX_PHSUBSW
NP.0f3808 RM MMX MMX - - MMX_PSIGNB
NP.0f3809 RM MMX MMX - - MMX_PSIGNW
NP.0f380a RM MMX MMX - - MMX_PSIGND
NP.0f380b RM MMX MMX - - MMX_PMULHRSW
NP.0f381c RM MMX MMX - - MMX_PABSB
NP.0f381d RM MMX MMX - - MMX_PABSW
NP.0f381e RM MMX MMX - - MMX_PABSD
NP.0f3a0f RMI MMX MMX IMM8 - MMX_PALIGNR
#
# SSE
NP.0f10 RM XMM XMM - - SSE_MOVUPS
66.0f10 RM XMM XMM - - SSE_MOVUPD
# MOVSS/MOVSD reg,mem set the full XMM register
F3.0f10 RM XMM XMM32 - - SSE_MOVSS
F2.0f10 RM XMM XMM64 - - SSE_MOVSD
NP.0f11 MR XMM XMM - - SSE_MOVUPS
66.0f11 MR XMM XMM - - SSE_MOVUPD
F3.0f11 MR XMM32 XMM32 - - SSE_MOVSS
F2.0f11 MR XMM64 XMM64 - - SSE_MOVSD
NP.0f12/m RM XMM XMM64 - - SSE_MOVLPS
NP.0f12/r RM XMM XMM - - SSE_MOVHLPS
66.0f12/m RM XMM XMM64 - - SSE_MOVLPD
F3.0f12 RM XMM XMM - - SSE_MOVSLDUP
F2.0f12 RM XMM XMM64 - - SSE_MOVDDUP
NP.0f13/m MR MEM64 XMM - - SSE_MOVLPS
66.0f13/m MR MEM64 XMM - - SSE_MOVLPD
NP.0f14 RM XMM XMM - - SSE_UNPCKLPS
66.0f14 RM XMM XMM - - SSE_UNPCKLPD
NP.0f15 RM XMM XMM - - SSE_UNPCKHPS
66.0f15 RM XMM XMM - - SSE_UNPCKHPD
NP.0f16/m RM XMM XMM64 - - SSE_MOVHPS
NP.0f16/r RM XMM XMM64 - - SSE_MOVLHPS
66.0f16/m RM XMM XMM64 - - SSE_MOVHPD
F3.0f16 RM XMM XMM - - SSE_MOVSHDUP
NP.0f17/m MR MEM64 XMM - - SSE_MOVHPS
66.0f17/m MR MEM64 XMM - - SSE_MOVHPD
NP.0f28 RM XMM XMM - - SSE_MOVAPS
66.0f28 RM XMM XMM - - SSE_MOVAPD
NP.0f29 MR XMM XMM - - SSE_MOVAPS
66.0f29 MR XMM XMM - - SSE_MOVAPD
F3.0f2a RM XMM32 GP - - SSE_CVTSI2SS
F2.0f2a RM XMM64 GP - - SSE_CVTSI2SD
NP.0f2b/m MR MEMV XMM - - SSE_MOVNTPS
66.0f2b/m MR MEMV XMM - - SSE_MOVNTPD
F3.0f2b/m MR MEM32 XMM32 - - SSE_MOVNTSS ONLYAMD
F2.0f2b/m MR MEM64 XMM64 - - SSE_MOVNTSD ONLYAMD
F3.0f2c RM GP XMM32 - - SSE_CVTTSS2SI
F2.0f2c RM GP XMM64 - - SSE_CVTTSD2SI
F3.0f2d RM GP XMM32 - - SSE_CVTSS2SI
F2.0f2d RM GP XMM64 - - SSE_CVTSD2SI
NP.0f2e RM XMM32 XMM32 - - SSE_UCOMISS
66.0f2e RM XMM64 XMM64 - - SSE_UCOMISD
NP.0f2f RM XMM32 XMM32 - - SSE_COMISS
66.0f2f RM XMM64 XMM64 - - SSE_COMISD
NP.0f50/r RM GP XMM - - SSE_MOVMSKPS DEF64
66.0f50/r RM GP XMM - - SSE_MOVMSKPD DEF64
NP.0f51 RM XMM XMM - - SSE_SQRTPS
66.0f51 RM XMM XMM - - SSE_SQRTPD
F3.0f51 RM XMM32 XMM32 - - SSE_SQRTSS
F2.0f51 RM XMM64 XMM64 - - SSE_SQRTSD
NP.0f52 RM XMM XMM - - SSE_RSQRTPS
F3.0f52 RM XMM32 XMM32 - - SSE_RSQRTSS
NP.0f53 RM XMM XMM - - SSE_RCPPS
F3.0f53 RM XMM32 XMM32 - - SSE_RCPSS
NP.0f54 RM XMM XMM - - SSE_ANDPS
66.0f54 RM XMM XMM - - SSE_ANDPD
NP.0f55 RM XMM XMM - - SSE_ANDNPS
66.0f55 RM XMM XMM - - SSE_ANDNPD
NP.0f56 RM XMM XMM - - SSE_ORPS
66.0f56 RM XMM XMM - - SSE_ORPD
NP.0f57 RM XMM XMM - - SSE_XORPS
66.0f57 RM XMM XMM - - SSE_XORPD
NP.0f58 RM XMM XMM - - SSE_ADDPS
66.0f58 RM XMM XMM - - SSE_ADDPD
F3.0f58 RM XMM32 XMM32 - - SSE_ADDSS
F2.0f58 RM XMM64 XMM64 - - SSE_ADDSD
NP.0f59 RM XMM XMM - - SSE_MULPS
66.0f59 RM XMM XMM - - SSE_MULPD
F3.0f59 RM XMM32 XMM32 - - SSE_MULSS
F2.0f59 RM XMM64 XMM64 - - SSE_MULSD
NP.0f5a RM XMM XMM64 - - SSE_CVTPS2PD
66.0f5a RM XMM XMM - - SSE_CVTPD2PS
F3.0f5a RM XMM XMM32 - - SSE_CVTSS2SD
F2.0f5a RM XMM XMM64 - - SSE_CVTSD2SS
NP.0f5b RM XMM XMM - - SSE_CVTDQ2PS
66.0f5b RM XMM XMM - - SSE_CVTPS2DQ
F3.0f5b RM XMM XMM - - SSE_CVTTPS2DQ
NP.0f5c RM XMM XMM - - SSE_SUBPS
66.0f5c RM XMM XMM - - SSE_SUBPD
F3.0f5c RM XMM32 XMM32 - - SSE_SUBSS
F2.0f5c RM XMM64 XMM64 - - SSE_SUBSD
NP.0f5d RM XMM XMM - - SSE_MINPS
66.0f5d RM XMM XMM - - SSE_MINPD
F3.0f5d RM XMM32 XMM32 - - SSE_MINSS
F2.0f5d RM XMM64 XMM64 - - SSE_MINSD
NP.0f5e RM XMM XMM - - SSE_DIVPS
66.0f5e RM XMM XMM - - SSE_DIVPD
F3.0f5e RM XMM32 XMM32 - - SSE_DIVSS
F2.0f5e RM XMM64 XMM64 - - SSE_DIVSD
NP.0f5f RM XMM XMM - - SSE_MAXPS
66.0f5f RM XMM XMM - - SSE_MAXPD
F3.0f5f RM XMM32 XMM32 - - SSE_MAXSS
F2.0f5f RM XMM64 XMM64 - - SSE_MAXSD
66.0f60 RM XMM XMM - - SSE_PUNPCKLBW
66.0f61 RM XMM XMM - - SSE_PUNPCKLWD
66.0f62 RM XMM XMM - - SSE_PUNPCKLDQ
66.0f63 RM XMM XMM - - SSE_PACKSSWB
66.0f64 RM XMM XMM - - SSE_PCMPGTB
66.0f65 RM XMM XMM - - SSE_PCMPGTW
66.0f66 RM XMM XMM - - SSE_PCMPGTD
66.0f67 RM XMM XMM - - SSE_PACKUSWB
66.0f68 RM XMM XMM - - SSE_PUNPCKHBW
66.0f69 RM XMM XMM - - SSE_PUNPCKHWD
66.0f6a RM XMM XMM - - SSE_PUNPCKHDQ
66.0f6b RM XMM XMM - - SSE_PACKSSDW
66.0f6c RM XMM XMM - - SSE_PUNPCKLQDQ
66.0f6d RM XMM XMM - - SSE_PUNPCKHQDQ
66.W0.0f6e RM XMM GP32 - - SSE_MOVD
66.W1.0f6e RM XMM GP64 - - SSE_MOVQ
66.0f6f RM XMM XMM - - SSE_MOVDQA
F3.0f6f RM XMM XMM - - SSE_MOVDQU
66.0f70 RMI XMM XMM IMM8 - SSE_PSHUFD
F3.0f70 RMI XMM XMM IMM8 - SSE_PSHUFHW
F2.0f70 RMI XMM XMM IMM8 - SSE_PSHUFLW
66.0f71/2r MI XMM IMM8 - - SSE_PSRLW
66.0f71/4r MI XMM IMM8 - - SSE_PSRAW
66.0f71/6r MI XMM IMM8 - - SSE_PSLLW
66.0f72/2r MI XMM IMM8 - - SSE_PSRLD
66.0f72/4r MI XMM IMM8 - - SSE_PSRAD
66.0f72/6r MI XMM IMM8 - - SSE_PSLLD
66.0f73/2r MI XMM IMM8 - - SSE_PSRLQ
66.0f73/3r MI XMM IMM8 - - SSE_PSRLDQ
66.0f73/6r MI XMM IMM8 - - SSE_PSLLQ
66.0f73/7r MI XMM IMM8 - - SSE_PSLLDQ
66.0f74 RM XMM XMM - - SSE_PCMPEQB
66.0f75 RM XMM XMM - - SSE_PCMPEQW
66.0f76 RM XMM XMM - - SSE_PCMPEQD
# EXTRQ/INSERTQ immediate size handled in code.
66.0f78/0r MI XMM IMM16 - - SSE_EXTRQ ONLYAMD
F2.0f78/r RMI XMM XMM IMM16 - SSE_INSERTQ ONLYAMD
66.0f79/r RM XMM XMM - - SSE_EXTRQ ONLYAMD
F2.0f79/r RM XMM XMM - - SSE_INSERTQ ONLYAMD
66.0f7c RM XMM XMM - - SSE_HADDPD
F2.0f7c RM XMM XMM - - SSE_HADDPS
66.0f7d RM XMM XMM - - SSE_HSUBPD
F2.0f7d RM XMM XMM - - SSE_HSUBPS
66.W0.0f7e MR GP32 XMM32 - - SSE_MOVD
66.W1.0f7e MR GP64 XMM64 - - SSE_MOVQ
F3.0f7e RM XMM XMM64 - - SSE_MOVQ
66.0f7f MR XMM XMM - - SSE_MOVDQA
F3.0f7f MR XMM XMM - - SSE_MOVDQU
NP.0fae/0m M MEMZ - - - FXSAVE INSTR_WIDTH
NP.0fae/1m M MEMZ - - - FXRSTOR INSTR_WIDTH
NP.0fae/2m M MEM32 - - - LDMXCSR
NP.0fae/3m M MEM32 - - - STMXCSR
NP.0fae/5r NP - - - - LFENCE
NP.0fae/6r NP - - - - MFENCE
NP.0fae/7r NP - - - - SFENCE
NP.0fc2 RMI XMM XMM IMM8 - SSE_CMPPS
66.0fc2 RMI XMM XMM IMM8 - SSE_CMPPD
F3.0fc2 RMI XMM XMM32 IMM8 - SSE_CMPSS
F2.0fc2 RMI XMM XMM64 IMM8 - SSE_CMPSD
66.0fc4 RMI XMM GP16 IMM8 - SSE_PINSRW
66.0fc5/r RMI GP XMM IMM8 - SSE_PEXTRW DEF64
NP.0fc6 RMI XMM XMM IMM8 - SSE_SHUFPS
66.0fc6 RMI XMM XMM IMM8 - SSE_SHUFPD
66.0fd0 RM XMM XMM - - SSE_ADDSUBPD
F2.0fd0 RM XMM XMM - - SSE_ADDSUBPS
66.0fd1 RM XMM XMM - - SSE_PSRLW
66.0fd2 RM XMM XMM - - SSE_PSRLD
66.0fd3 RM XMM XMM - - SSE_PSRLQ
66.0fd4 RM XMM XMM - - SSE_PADDQ
66.0fd5 RM XMM XMM - - SSE_PMULLW
# This is tricky, MOVQ to mem writes 64 bits, MOVQ to reg writes 128 bits
66.0fd6 MR XMM64 XMM64 - - SSE_MOVQ
66.0fd7/r RM GP XMM - - SSE_PMOVMSKB DEF64
66.0fd8 RM XMM XMM - - SSE_PSUBUSB
66.0fd9 RM XMM XMM - - SSE_PSUBUSW
66.0fda RM XMM XMM - - SSE_PMINUB
66.0fdb RM XMM XMM - - SSE_PAND
66.0fdc RM XMM XMM - - SSE_PADDUSB
66.0fdd RM XMM XMM - - SSE_PADDUSW
66.0fde RM XMM XMM - - SSE_PMAXUB
66.0fdf RM XMM XMM - - SSE_PANDN
66.0fe0 RM XMM XMM - - SSE_PAVGB
66.0fe1 RM XMM XMM - - SSE_PSRAW
66.0fe2 RM XMM XMM - - SSE_PSRAD
66.0fe3 RM XMM XMM - - SSE_PAVGW
66.0fe4 RM XMM XMM - - SSE_PMULHUW
66.0fe5 RM XMM XMM - - SSE_PMULHW
66.0fe6 RM XMM XMM - - SSE_CVTTPD2DQ
F3.0fe6 RM XMM XMM64 - - SSE_CVTDQ2PD
F2.0fe6 RM XMM XMM - - SSE_CVTPD2DQ
66.0fe7/m MR MEMV XMM - - SSE_MOVNTDQ
66.0fe8 RM XMM XMM - - SSE_PSUBSB
66.0fe9 RM XMM XMM - - SSE_PSUBSW
66.0feb RM XMM XMM - - SSE_POR
66.0fec RM XMM XMM - - SSE_PADDSB
66.0fea RM XMM XMM - - SSE_PMINSW
66.0fee RM XMM XMM - - SSE_PMAXSW
66.0fed RM XMM XMM - - SSE_PADDSW
66.0fef RM XMM XMM - - SSE_PXOR
F2.0ff0/m RM XMM MEMV - - SSE_LDDQU
66.0ff1 RM XMM XMM - - SSE_PSLLW
66.0ff2 RM XMM XMM - - SSE_PSLLD
66.0ff3 RM XMM XMM - - SSE_PSLLQ
66.0ff4 RM XMM XMM - - SSE_PMULUDQ
66.0ff5 RM XMM XMM - - SSE_PMADDWD
66.0ff6 RM XMM XMM - - SSE_PSADBW
66.0ff7/r RM XMM XMM - - SSE_MASKMOVDQU
66.0ff8 RM XMM XMM - - SSE_PSUBB
66.0ff9 RM XMM XMM - - SSE_PSUBW
66.0ffa RM XMM XMM - - SSE_PSUBD
66.0ffb RM XMM XMM - - SSE_PSUBQ
66.0ffc RM XMM XMM - - SSE_PADDB
66.0ffd RM XMM XMM - - SSE_PADDW
66.0ffe RM XMM XMM - - SSE_PADDD
#
66.0f3800 RM XMM XMM - - SSE_PSHUFB
66.0f3801 RM XMM XMM - - SSE_PHADDW
66.0f3802 RM XMM XMM - - SSE_PHADDD
66.0f3803 RM XMM XMM - - SSE_PHADDSW
66.0f3804 RM XMM XMM - - SSE_PMADDUBSW
66.0f3805 RM XMM XMM - - SSE_PHSUBW
66.0f3806 RM XMM XMM - - SSE_PHSUBD
66.0f3807 RM XMM XMM - - SSE_PHSUBSW
66.0f3808 RM XMM XMM - - SSE_PSIGNB
66.0f3809 RM XMM XMM - - SSE_PSIGNW
66.0f380a RM XMM XMM - - SSE_PSIGND
66.0f380b RM XMM XMM - - SSE_PMULHRSW
66.0f3810 RM XMM XMM - - SSE_PBLENDVB
66.0f3814 RMA XMM XMM XMM - SSE_BLENDVPS
66.0f3815 RMA XMM XMM XMM - SSE_BLENDVPD
66.0f3817 RM XMM XMM - - SSE_PTEST
66.0f381c RM XMM XMM - - SSE_PABSB
66.0f381d RM XMM XMM - - SSE_PABSW
66.0f381e RM XMM XMM - - SSE_PABSD
66.0f3820 RM XMM XMM - - SSE_PMOVSXBW
66.0f3821 RM XMM XMM - - SSE_PMOVSXBD
66.0f3822 RM XMM XMM - - SSE_PMOVSXBQ
66.0f3823 RM XMM XMM - - SSE_PMOVSXWD
66.0f3824 RM XMM XMM - - SSE_PMOVSXWQ
66.0f3825 RM XMM XMM - - SSE_PMOVSXDQ
66.0f3828 RM XMM XMM - - SSE_PMULDQ
66.0f3829 RM XMM XMM - - SSE_PCMPEQQ
66.0f382a/m RM XMM MEMV - - SSE_MOVNTDQA
66.0f382b RM XMM XMM - - SSE_PACKUSDW
66.0f3830 RM XMM XMM - - SSE_PMOVZXBW
66.0f3831 RM XMM XMM - - SSE_PMOVZXBD
66.0f3832 RM XMM XMM - - SSE_PMOVZXBQ
66.0f3833 RM XMM XMM - - SSE_PMOVZXWD
66.0f3834 RM XMM XMM - - SSE_PMOVZXWQ
66.0f3835 RM XMM XMM - - SSE_PMOVZXDQ
66.0f3837 RM XMM XMM - - SSE_PCMPGTQ
66.0f3838 RM XMM XMM - - SSE_PMINSB
66.0f3839 RM XMM XMM - - SSE_PMINSD
66.0f383a RM XMM XMM - - SSE_PMINUW
66.0f383b RM XMM XMM - - SSE_PMINUD
66.0f383c RM XMM XMM - - SSE_PMAXSB
66.0f383d RM XMM XMM - - SSE_PMAXSD
66.0f383e RM XMM XMM - - SSE_PMAXUW
66.0f383f RM XMM XMM - - SSE_PMAXUD
66.0f3840 RM XMM XMM - - SSE_PMULLD
66.0f3841 RM XMM XMM - - SSE_PHMINPOSUW
# TODO: GP operand has address size
66.0f38f8/m RM GP MEM512 - - MOVDIR64B DEF64
NP.0f38f9/m MR MEM GP - - MOVDIRI
#
66.0f3a08 RMI XMM XMM IMM8 - SSE_ROUNDPS
66.0f3a09 RMI XMM XMM IMM8 - SSE_ROUNDPD
66.0f3a0a RMI XMM32 XMM32 IMM8 - SSE_ROUNDSS
66.0f3a0b RMI XMM64 XMM64 IMM8 - SSE_ROUNDSD
66.0f3a0c RMI XMM XMM IMM8 - SSE_BLENDPS
66.0f3a0d RMI XMM XMM IMM8 - SSE_BLENDPD
66.0f3a0e RMI XMM XMM IMM8 - SSE_PBLENDW
66.0f3a0f RMI XMM XMM IMM8 - SSE_PALIGNR
66.0f3a14/m MRI GP8 XMM IMM8 - SSE_PEXTRB
66.0f3a14/r MRI GP32 XMM IMM8 - SSE_PEXTRB
66.0f3a15/m MRI GP16 XMM IMM8 - SSE_PEXTRW
66.0f3a15/r MRI GP32 XMM IMM8 - SSE_PEXTRW
66.W0.0f3a16 MRI GP32 XMM IMM8 - SSE_PEXTRD
66.W1.0f3a16 MRI GP64 XMM IMM8 - SSE_PEXTRQ
66.0f3a17 MRI GP32 XMM IMM8 - SSE_EXTRACTPS
66.0f3a20 RMI XMM GP8 IMM8 - SSE_PINSRB
66.0f3a21 RMI XMM XMM32 IMM8 - SSE_INSERTPS
66.W0.0f3a22 RMI XMM GP32 IMM8 - SSE_PINSRD
66.W1.0f3a22 RMI XMM GP64 IMM8 - SSE_PINSRQ
66.0f3a40 RMI XMM XMM IMM8 - SSE_DPPS
66.0f3a41 RMI XMM XMM IMM8 - SSE_DPPD
66.0f3a42 RMI XMM XMM IMM8 - SSE_MPSADBW
66.0f3a44 RMI XMM XMM IMM8 - SSE_PCLMULQDQ
66.0f3a60 RMI XMM XMM IMM8 - SSE_PCMPESTRM
66.0f3a61 RMI XMM XMM IMM8 - SSE_PCMPESTRI
66.0f3a62 RMI XMM XMM IMM8 - SSE_PCMPISTRM
66.0f3a63 RMI XMM XMM IMM8 - SSE_PCMPISTRI
#
66.0f38db RM XMM XMM - - AESIMC
66.0f38dc RM XMM XMM - - AESENC
66.0f38dd RM XMM XMM - - AESENCLAST
66.0f38de RM XMM XMM - - AESDEC
66.0f38df RM XMM XMM - - AESDECLAST
66.0f3adf RMI XMM XMM IMM8 - AESKEYGENASSIST
VEX.66.L0.0f38db RM XMM XMM - - VAESIMC
VEX.66.L0.0f38dc RVM XMM XMM XMM - VAESENC
VEX.66.L0.0f38dd RVM XMM XMM XMM - VAESENCLAST
VEX.66.L0.0f38de RVM XMM XMM XMM - VAESDEC
VEX.66.L0.0f38df RVM XMM XMM XMM - VAESDECLAST
VEX.66.L0.0f3adf RMI XMM XMM IMM8 - VAESKEYGENASSIST
#
# AVX
VEX.NP.0f10 RM XMM XMM - - VMOVUPS
VEX.66.0f10 RM XMM XMM - - VMOVUPD
VEX.F3.LIG.0f10/m RM XMM128 XMM32 - - VMOVSS
VEX.F3.LIG.0f10/r RVM XMM128 XMM128 XMM32 - VMOVSS
VEX.F2.LIG.0f10/m RM XMM128 XMM64 - - VMOVSD
VEX.F2.LIG.0f10/r RVM XMM128 XMM128 XMM64 - VMOVSD
VEX.NP.0f11 MR XMM XMM - - VMOVUPS
VEX.66.0f11 MR XMM XMM - - VMOVUPD
VEX.F3.LIG.0f11/m MR XMM32 XMM32 - - VMOVSS
VEX.F3.LIG.0f11/r MVR XMM128 XMM128 XMM32 - VMOVSS
VEX.F2.LIG.0f11/m MR XMM64 XMM64 - - VMOVSD
VEX.F2.LIG.0f11/r MVR XMM128 XMM XMM64 - VMOVSD
VEX.NP.L0.0f12/m RVM XMM XMM XMM64 - VMOVLPS
VEX.NP.L0.0f12/r RVM XMM XMM XMM - VMOVHLPS
VEX.66.L0.0f12/m RVM XMM XMM XMM64 - VMOVLPD
VEX.F2.L0.0f12 RM XMM XMM64 - - VMOVDDUP
VEX.F2.L1.0f12 RM XMM XMM - - VMOVDDUP
VEX.F3.0f12 RM XMM XMM - - VMOVSLDUP
VEX.NP.L0.0f13/m MR MEM64 XMM - - VMOVLPS
VEX.66.L0.0f13/m MR MEM64 XMM - - VMOVLPD
VEX.NP.0f14 RVM XMM XMM XMM - VUNPCKLPS
VEX.66.0f14 RVM XMM XMM XMM - VUNPCKLPD
VEX.NP.0f15 RVM XMM XMM XMM - VUNPCKHPS
VEX.66.0f15 RVM XMM XMM XMM - VUNPCKHPD
VEX.NP.L0.0f16/m RVM XMM XMM64 XMM64 - VMOVHPS
VEX.NP.L0.0f16/r RVM XMM XMM64 XMM64 - VMOVLHPS
VEX.66.L0.0f16/m RVM XMM XMM64 XMM64 - VMOVHPD
VEX.F3.0f16 RM XMM XMM - - VMOVSHDUP
VEX.NP.L0.0f17/m MR MEM64 XMM - - VMOVHPS
VEX.66.L0.0f17/m MR MEM64 XMM - - VMOVHPD
VEX.NP.0f28 RM XMM XMM - - VMOVAPS
VEX.66.0f28 RM XMM XMM - - VMOVAPD
VEX.NP.0f29 MR XMM XMM - - VMOVAPS
VEX.66.0f29 MR XMM XMM - - VMOVAPD
VEX.F3.LIG.0f2a RVM XMM128 XMM128 GP - VCVTSI2SS
VEX.F2.LIG.0f2a RVM XMM128 XMM128 GP - VCVTSI2SD
VEX.NP.0f2b/m MR MEMV XMM - - VMOVNTPS
VEX.66.0f2b/m MR MEMV XMM - - VMOVNTPD
VEX.F3.LIG.0f2c RM GP XMM32 - - VCVTTSS2SI
VEX.F2.LIG.0f2c RM GP XMM64 - - VCVTTSD2SI
VEX.F3.LIG.0f2d RM GP XMM32 - - VCVTSS2SI
VEX.F2.LIG.0f2d RM GP XMM64 - - VCVTSD2SI
VEX.NP.LIG.0f2e RM XMM32 XMM32 - - VUCOMISS
VEX.66.LIG.0f2e RM XMM64 XMM64 - - VUCOMISD
VEX.NP.LIG.0f2f RM XMM32 XMM32 - - VCOMISS
VEX.66.LIG.0f2f RM XMM64 XMM64 - - VCOMISD
VEX.NP.0f50/r RM GP XMM - - VMOVMSKPS DEF64
VEX.66.0f50/r RM GP XMM - - VMOVMSKPD DEF64
VEX.NP.0f51 RM XMM XMM - - VSQRTPS
VEX.66.0f51 RM XMM XMM - - VSQRTPD
VEX.F3.LIG.0f51 RVM XMM128 XMM128 XMM32 - VSQRTSS
VEX.F2.LIG.0f51 RVM XMM128 XMM128 XMM64 - VSQRTSD
VEX.NP.0f52 RM XMM XMM - - VRSQRTPS
VEX.F3.LIG.0f52 RVM XMM128 XMM128 XMM32 - VRSQRTSS
VEX.NP.0f53 RM XMM XMM - - VRCPPS
VEX.F3.LIG.0f53 RVM XMM128 XMM128 XMM32 - VRCPSS
VEX.NP.0f54 RVM XMM XMM XMM - VANDPS
VEX.66.0f54 RVM XMM XMM XMM - VANDPD
VEX.NP.0f55 RVM XMM XMM XMM - VANDNPS
VEX.66.0f55 RVM XMM XMM XMM - VANDNPD
VEX.NP.0f56 RVM XMM XMM XMM - VORPS
VEX.66.0f56 RVM XMM XMM XMM - VORPD
VEX.NP.0f57 RVM XMM XMM XMM - VXORPS
VEX.66.0f57 RVM XMM XMM XMM - VXORPD
VEX.NP.0f58 RVM XMM XMM XMM - VADDPS
VEX.66.0f58 RVM XMM XMM XMM - VADDPD
VEX.F3.LIG.0f58 RVM XMM128 XMM128 XMM32 - VADDSS
VEX.F2.LIG.0f58 RVM XMM128 XMM128 XMM64 - VADDSD
VEX.NP.0f59 RVM XMM XMM XMM - VMULPS
VEX.66.0f59 RVM XMM XMM XMM - VMULPD
VEX.F3.LIG.0f59 RVM XMM128 XMM128 XMM32 - VMULSS
VEX.F2.LIG.0f59 RVM XMM128 XMM128 XMM64 - VMULSD
VEX.NP.L0.0f5a RM XMM XMM64 - - VCVTPS2PD
VEX.NP.L1.0f5a RM XMM XMM128 - - VCVTPS2PD
VEX.66.0f5a RM XMM128 XMM - - VCVTPD2PS
VEX.F3.LIG.0f5a RVM XMM128 XMM128 XMM32 - VCVTSS2SD
VEX.F2.LIG.0f5a RVM XMM128 XMM128 XMM64 - VCVTSD2SS
VEX.NP.0f5b RM XMM XMM - - VCVTDQ2PS
VEX.66.0f5b RM XMM XMM - - VCVTPS2DQ
VEX.F3.0f5b RM XMM XMM - - VCVTTPS2DQ
VEX.NP.0f5c RVM XMM XMM XMM - VSUBPS
VEX.66.0f5c RVM XMM XMM XMM - VSUBPD
VEX.F3.LIG.0f5c RVM XMM128 XMM128 XMM32 - VSUBSS
VEX.F2.LIG.0f5c RVM XMM128 XMM128 XMM64 - VSUBSD
VEX.NP.0f5d RVM XMM XMM XMM - VMINPS
VEX.66.0f5d RVM XMM XMM XMM - VMINPD
VEX.F3.LIG.0f5d RVM XMM128 XMM128 XMM32 - VMINSS
VEX.F2.LIG.0f5d RVM XMM128 XMM128 XMM64 - VMINSD
VEX.NP.0f5e RVM XMM XMM XMM - VDIVPS
VEX.66.0f5e RVM XMM XMM XMM - VDIVPD
VEX.F3.LIG.0f5e RVM XMM128 XMM128 XMM32 - VDIVSS
VEX.F2.LIG.0f5e RVM XMM128 XMM128 XMM64 - VDIVSD
VEX.NP.0f5f RVM XMM XMM XMM - VMAXPS
VEX.66.0f5f RVM XMM XMM XMM - VMAXPD
VEX.F3.LIG.0f5f RVM XMM128 XMM128 XMM32 - VMAXSS
VEX.F2.LIG.0f5f RVM XMM128 XMM128 XMM64 - VMAXSD
VEX.66.0f60 RVM XMM XMM XMM - VPUNPCKLBW
VEX.66.0f61 RVM XMM XMM XMM - VPUNPCKLWD
VEX.66.0f62 RVM XMM XMM XMM - VPUNPCKLDQ
VEX.66.0f63 RVM XMM XMM XMM - VPACKSSWB
VEX.66.0f64 RVM XMM XMM XMM - VPCMPGTB
VEX.66.0f65 RVM XMM XMM XMM - VPCMPGTW
VEX.66.0f66 RVM XMM XMM XMM - VPCMPGTD
VEX.66.0f67 RVM XMM XMM XMM - VPACKUSWB
VEX.66.0f68 RVM XMM XMM XMM - VPUNPCKHBW
VEX.66.0f69 RVM XMM XMM XMM - VPUNPCKHWD
VEX.66.0f6a RVM XMM XMM XMM - VPUNPCKHDQ
VEX.66.0f6b RVM XMM XMM XMM - VPACKSSDW
VEX.66.0f6c RVM XMM XMM XMM - VPUNPCKLQDQ
VEX.66.0f6d RVM XMM XMM XMM - VPUNPCKHQDQ
VEX.66.W0.L0.0f6e RM XMM32 GP - - VMOVD ENC_NOSZ
VEX.66.W1.L0.0f6e RM XMM32 GP - - VMOVD ONLY32 ENC_NOSZ
VEX.66.W1.L0.0f6e RM XMM64 GP - - VMOVQ ONLY64 ENC_NOSZ
VEX.66.0f6f RM XMM XMM - - VMOVDQA
VEX.F3.0f6f RM XMM XMM - - VMOVDQU
VEX.66.0f70 RMI XMM XMM IMM8 - VPSHUFD
VEX.F3.0f70 RMI XMM XMM IMM8 - VPSHUFHW
VEX.F2.0f70 RMI XMM XMM IMM8 - VPSHUFLW
VEX.66.0f71/2r VMI XMM XMM IMM8 - VPSRLW
VEX.66.0f71/4r VMI XMM XMM IMM8 - VPSRAW
VEX.66.0f71/6r VMI XMM XMM IMM8 - VPSLLW
VEX.66.0f72/2r VMI XMM XMM IMM8 - VPSRLD
VEX.66.0f72/4r VMI XMM XMM IMM8 - VPSRAD
VEX.66.0f72/6r VMI XMM XMM IMM8 - VPSLLD
VEX.66.0f73/2r VMI XMM XMM IMM8 - VPSRLQ
VEX.66.0f73/3r VMI XMM XMM IMM8 - VPSRLDQ
VEX.66.0f73/6r VMI XMM XMM IMM8 - VPSLLQ
VEX.66.0f73/7r VMI XMM XMM IMM8 - VPSLLDQ
VEX.66.0f74 RVM XMM XMM XMM - VPCMPEQB
VEX.66.0f75 RVM XMM XMM XMM - VPCMPEQW
VEX.66.0f76 RVM XMM XMM XMM - VPCMPEQD
VEX.NP.L0.0f77 NP - - - - VZEROUPPER
VEX.NP.L1.0f77 NP - - - - VZEROALL
VEX.66.0f7c RVM XMM XMM XMM - VHADDPD
VEX.F2.0f7c RVM XMM XMM XMM - VHADDPS
VEX.66.0f7d RVM XMM XMM XMM - VHSUBPD
VEX.F2.0f7d RVM XMM XMM XMM - VHSUBPS
VEX.66.W0.L0.0f7e MR GP XMM32 - - VMOVD ENC_NOSZ
VEX.66.W1.L0.0f7e MR GP XMM32 - - VMOVQ ONLY32 ENC_NOSZ
VEX.66.W1.L0.0f7e MR GP XMM64 - - VMOVQ ONLY64 ENC_NOSZ
VEX.F3.L0.0f7e RM XMM64 XMM64 - - VMOVQ ENC_NOSZ
VEX.66.0f7f MR XMM XMM - - VMOVDQA
VEX.F3.0f7f MR XMM XMM - - VMOVDQU
VEX.NP.L0.0fae/2m M GP32 - - - VLDMXCSR
VEX.NP.L0.0fae/3m M GP32 - - - VSTMXCSR
VEX.NP.0fc2 RVMI XMM XMM XMM IMM8 VCMPPS
VEX.66.0fc2 RVMI XMM XMM XMM IMM8 VCMPPD
# TODO: XMM is actually XMM128
VEX.F3.LIG.0fc2 RVMI XMM XMM XMM32 IMM8 VCMPSS
VEX.F2.LIG.0fc2 RVMI XMM XMM XMM64 IMM8 VCMPSD
VEX.66.WIG.L0.0fc4 RVMI XMM XMM GP16 IMM8 VPINSRW ENC_NOSZ
VEX.66.WIG.L0.0fc5/r RMI GP XMM IMM8 - VPEXTRW DEF64 ENC_NOSZ
VEX.NP.0fc6 RVMI XMM XMM XMM IMM8 VSHUFPS
VEX.66.0fc6 RVMI XMM XMM XMM IMM8 VSHUFPD
VEX.NP.0fd0 RVM XMM XMM XMM - VADDSUBPS
VEX.66.0fd0 RVM XMM XMM XMM - VADDSUBPD
VEX.66.0fd1 RVM XMM XMM XMM - VPSRLW
VEX.66.0fd2 RVM XMM XMM XMM - VPSRLD
VEX.66.0fd3 RVM XMM XMM XMM - VPSRLQ
VEX.66.0fd4 RVM XMM XMM XMM - VPADDQ
VEX.66.0fd5 RVM XMM XMM XMM - VPMULLW
VEX.66.L0.0fd6 MR XMM64 XMM64 - - VMOVQ
VEX.66.0fd7/r RM GP XMM - - VPMOVMSKB DEF64
VEX.66.0fd8 RVM XMM XMM XMM - VPSUBUSB
VEX.66.0fd9 RVM XMM XMM XMM - VPSUBUSW
VEX.66.0fda RVM XMM XMM XMM - VPMINUB
VEX.66.0fdb RVM XMM XMM XMM - VPAND
VEX.66.0fdc RVM XMM XMM XMM - VPADDUSB
VEX.66.0fdd RVM XMM XMM XMM - VPADDUSW
VEX.66.0fde RVM XMM XMM XMM - VPMAXUB
VEX.66.0fdf RVM XMM XMM XMM - VPANDN
VEX.66.0fe0 RVM XMM XMM XMM - VPAVGB
VEX.66.0fe1 RVM XMM XMM XMM - VPSRAW
VEX.66.0fe2 RVM XMM XMM XMM - VPSRAD
VEX.66.0fe3 RVM XMM XMM XMM - VPAVGW
VEX.66.0fe4 RVM XMM XMM XMM - VPMULHUW
VEX.66.0fe5 RVM XMM XMM XMM - VPMULHW
VEX.66.0fe6 RM XMM128 XMM - - VCVTTPD2DQ
VEX.F3.L0.0fe6 RM XMM XMM64 - - VCVTDQ2PD
VEX.F3.L1.0fe6 RM XMM XMM128 - - VCVTDQ2PD
VEX.F2.0fe6 RM XMM128 XMM - - VCVTPD2DQ
VEX.66.0fe7/m MR MEMV XMM - - VMOVNTDQ
VEX.66.0fe8 RVM XMM XMM XMM - VPSUBSB
VEX.66.0fe9 RVM XMM XMM XMM - VPSUBSW
VEX.66.0feb RVM XMM XMM XMM - VPOR
VEX.66.0fec RVM XMM XMM XMM - VPADDSB
VEX.66.0fea RVM XMM XMM XMM - VPMINSW
VEX.66.0fed RVM XMM XMM XMM - VPADDSW
VEX.66.0fee RVM XMM XMM XMM - VPMAXSW
VEX.66.0fef RVM XMM XMM XMM - VPXOR
VEX.F2.0ff0 RM XMM XMM - - VLDDQU
VEX.66.0ff1 RVM XMM XMM XMM - VPSLLW
VEX.66.0ff2 RVM XMM XMM XMM - VPSLLD
VEX.66.0ff3 RVM XMM XMM XMM - VPSLLQ
VEX.66.0ff4 RVM XMM XMM XMM - VPMULUDQ
VEX.66.0ff5 RVM XMM XMM XMM - VPMADDWD
VEX.66.0ff6 RVM XMM XMM XMM - VPSADBW
VEX.NP.L0.0ff7 RM XMM XMM - - VMASKMOVDQU
VEX.66.0ff8 RVM XMM XMM XMM - VPSUBB
VEX.66.0ff9 RVM XMM XMM XMM - VPSUBW
VEX.66.0ffa RVM XMM XMM XMM - VPSUBD
VEX.66.0ffb RVM XMM XMM XMM - VPSUBQ
VEX.66.0ffc RVM XMM XMM XMM - VPADDB
VEX.66.0ffd RVM XMM XMM XMM - VPADDW
VEX.66.0ffe RVM XMM XMM XMM - VPADDD
VEX.66.0f3800 RVM XMM XMM XMM - VPSHUFB
VEX.66.0f3801 RVM XMM XMM XMM - VPHADDW
VEX.66.0f3802 RVM XMM XMM XMM - VPHADDD
VEX.66.0f3803 RVM XMM XMM XMM - VPHADDSW
VEX.66.0f3804 RVM XMM XMM XMM - VPMADDUBSW
VEX.66.0f3805 RVM XMM XMM XMM - VPHSUBW
VEX.66.0f3806 RVM XMM XMM XMM - VPHSUBD
VEX.66.0f3807 RVM XMM XMM XMM - VPHSUBSW
VEX.66.0f3808 RVM XMM XMM XMM - VPSIGNB
VEX.66.0f3809 RVM XMM XMM XMM - VPSIGNW
VEX.66.0f380a RVM XMM XMM XMM - VPSIGND
VEX.66.0f380b RVM XMM XMM XMM - VPMULHRSW
VEX.66.W0.0f380c RVM XMM XMM XMM - VPERMILPS
VEX.66.W0.0f380d RVM XMM XMM XMM - VPERMILPD
VEX.66.W0.0f380e RM XMM XMM - - VTESTPS
VEX.66.W0.0f380f RM XMM XMM - - VTESTPD
VEX.66.W0.0f3813 RM XMM XMM - - VCVTPH2PS
VEX.66.W0.L1.0f3816 RVM XMM XMM XMM - VPERMPS
VEX.66.0f3817 RM XMM XMM - - VPTEST
VEX.66.W0.0f3818 RM XMM XMM32 - - VBROADCASTSS
VEX.66.W0.L1.0f3819 RM XMM XMM64 - - VBROADCASTSD
VEX.66.W0.L1.0f381a RM XMM XMM128 - - VBROADCASTF128
VEX.66.0f381c RM XMM XMM - - VPABSB
VEX.66.0f381d RM XMM XMM - - VPABSW
VEX.66.0f381e RM XMM XMM - - VPABSD
VEX.66.0f3820 RM XMM XMM - - VPMOVSXBW
VEX.66.0f3821 RM XMM XMM - - VPMOVSXBD
VEX.66.0f3822 RM XMM XMM - - VPMOVSXBQ
VEX.66.0f3823 RM XMM XMM - - VPMOVSXWD
VEX.66.0f3824 RM XMM XMM - - VPMOVSXWQ
VEX.66.0f3825 RM XMM XMM - - VPMOVSXDQ
VEX.66.0f3828 RVM XMM XMM XMM - VPMULDQ
VEX.66.0f3829 RVM XMM XMM XMM - VPCMPEQQ
VEX.66.0f382a/m RM XMM MEMV - - VMOVNTDQA
VEX.66.0f382b RVM XMM XMM XMM - VPACKUSDW
VEX.66.W0.0f382c RVM XMM XMM XMM - VMASKMOVPS
VEX.66.W0.0f382d RVM XMM XMM XMM - VMASKMOVPD
VEX.66.W0.0f382e MVR XMM XMM XMM - VMASKMOVPS
VEX.66.W0.0f382f MVR XMM XMM XMM - VMASKMOVPD
VEX.66.0f3830 RM XMM XMM - - VPMOVZXBW
VEX.66.0f3831 RM XMM XMM - - VPMOVZXBD
VEX.66.0f3832 RM XMM XMM - - VPMOVZXBQ
VEX.66.0f3833 RM XMM XMM - - VPMOVZXWD
VEX.66.0f3834 RM XMM XMM - - VPMOVZXWQ
VEX.66.0f3835 RM XMM XMM - - VPMOVZXDQ
VEX.66.W0.L1.0f3836 RVM XMM XMM XMM - VPERMD
VEX.66.0f3837 RVM XMM XMM XMM - VPCMPGTQ
VEX.66.0f3838 RVM XMM XMM XMM - VPMINSB
VEX.66.0f3839 RVM XMM XMM XMM - VPMINSD
VEX.66.0f383a RVM XMM XMM XMM - VPMINUW
VEX.66.0f383b RVM XMM XMM XMM - VPMINUD
VEX.66.0f383c RVM XMM XMM XMM - VPMAXSB
VEX.66.0f383d RVM XMM XMM XMM - VPMAXSD
VEX.66.0f383e RVM XMM XMM XMM - VPMAXUW
VEX.66.0f383f RVM XMM XMM XMM - VPMAXUD
VEX.66.0f3840 RVM XMM XMM XMM - VPMULLD
VEX.66.L0.0f3841 RM XMM XMM - - VPHMINPOSUW
VEX.66.W0.0f3845 RVM XMM XMM XMM - VPSRLVD
VEX.66.W1.0f3845 RVM XMM XMM XMM - VPSRLVQ
VEX.66.W0.0f3846 RVM XMM XMM XMM - VPSRAVD
VEX.66.W1.0f3846 RVM XMM XMM XMM - VPSRAVQ
VEX.66.W0.0f3847 RVM XMM XMM XMM - VPSLLVD
VEX.66.W1.0f3847 RVM XMM XMM XMM - VPSLLVQ
VEX.66.W0.0f3858 RM XMM XMM32 - - VPBROADCASTD
VEX.66.W0.0f3859 RM XMM XMM64 - - VPBROADCASTQ
VEX.66.W0.L1.0f385a/m RM XMM MEM128 - - VBROADCASTI128 ENC_NOSZ
VEX.66.W0.0f3878 RM XMM XMM8 - - VPBROADCASTB
VEX.66.W0.0f3879 RM XMM XMM16 - - VPBROADCASTW
VEX.66.W0.0f388c RVM XMM XMM XMM - VPMASKMOVD
VEX.66.W1.0f388c RVM XMM XMM XMM - VPMASKMOVQ
VEX.66.W0.0f388e MVR XMM XMM XMM - VPMASKMOVD
VEX.66.W1.0f388e MVR XMM XMM XMM - VPMASKMOVQ
VEX.66.W0.0f3890/m RMV XMM MEM32 XMM - VPGATHERDD VSIB
VEX.66.W1.0f3890/m RMV XMM MEM64 XMM - VPGATHERDQ VSIB
VEX.66.W0.L0.0f3891/m RMV XMM64 MEM32 XMM64 - VPGATHERQD VSIB
VEX.66.W0.L1.0f3891/m RMV XMM128 MEM32 XMM128 - VPGATHERQD VSIB
VEX.66.W1.0f3891/m RMV XMM MEM64 XMM - VPGATHERQQ VSIB
VEX.66.W0.0f3892/m RMV XMM MEM32 XMM - VGATHERDPS VSIB
VEX.66.W1.0f3892/m RMV XMM MEM64 XMM - VGATHERDPD VSIB
VEX.66.W0.L0.0f3893/m RMV XMM64 MEM32 XMM64 - VGATHERQPS VSIB
VEX.66.W0.L1.0f3893/m RMV XMM128 MEM32 XMM128 - VGATHERQPS VSIB
VEX.66.W1.0f3893/m RMV XMM MEM64 XMM - VGATHERQPD VSIB
VEX.66.W0.0f3896 RVM XMM XMM XMM - VFMADDSUB132PS
VEX.66.W1.0f3896 RVM XMM XMM XMM - VFMADDSUB132PD
VEX.66.W0.0f3897 RVM XMM XMM XMM - VFMSUBADD132PS
VEX.66.W1.0f3897 RVM XMM XMM XMM - VFMSUBADD132PD
VEX.66.W0.0f3898 RVM XMM XMM XMM - VFMADD132PS
VEX.66.W1.0f3898 RVM XMM XMM XMM - VFMADD132PD
VEX.66.W0.LIG.0f3899 RVM XMM128 XMM128 XMM32 - VFMADD132SS
VEX.66.W1.LIG.0f3899 RVM XMM128 XMM128 XMM64 - VFMADD132SD
VEX.66.W0.0f389a RVM XMM XMM XMM - VFMSUB132PS
VEX.66.W1.0f389a RVM XMM XMM XMM - VFMSUB132PD
VEX.66.W0.LIG.0f389b RVM XMM128 XMM128 XMM32 - VFMSUB132SS
VEX.66.W1.LIG.0f389b RVM XMM128 XMM128 XMM64 - VFMSUB132SD
VEX.66.W0.0f389c RVM XMM XMM XMM - VFNMADD132PS
VEX.66.W1.0f389c RVM XMM XMM XMM - VFNMADD132PD
VEX.66.W0.LIG.0f389d RVM XMM128 XMM128 XMM32 - VFNMADD132SS
VEX.66.W1.LIG.0f389d RVM XMM128 XMM128 XMM64 - VFNMADD132SD
VEX.66.W0.0f389e RVM XMM XMM XMM - VFNMSUB132PS
VEX.66.W1.0f389e RVM XMM XMM XMM - VFNMSUB132PD
VEX.66.W0.LIG.0f389f RVM XMM128 XMM128 XMM32 - VFNMSUB132SS
VEX.66.W1.LIG.0f389f RVM XMM128 XMM128 XMM64 - VFNMSUB132SD
VEX.66.W0.0f38a6 RVM XMM XMM XMM - VFMADDSUB213PS
VEX.66.W1.0f38a6 RVM XMM XMM XMM - VFMADDSUB213PD
VEX.66.W0.0f38a7 RVM XMM XMM XMM - VFMSUBADD213PS
VEX.66.W1.0f38a7 RVM XMM XMM XMM - VFMSUBADD213PD
VEX.66.W0.0f38a8 RVM XMM XMM XMM - VFMADD213PS
VEX.66.W1.0f38a8 RVM XMM XMM XMM - VFMADD213PD
VEX.66.W0.LIG.0f38a9 RVM XMM128 XMM128 XMM32 - VFMADD213SS
VEX.66.W1.LIG.0f38a9 RVM XMM128 XMM128 XMM64 - VFMADD213SD
VEX.66.W0.0f38aa RVM XMM XMM XMM - VFMSUB213PS
VEX.66.W1.0f38aa RVM XMM XMM XMM - VFMSUB213PD
VEX.66.W0.LIG.0f38ab RVM XMM128 XMM128 XMM32 - VFMSUB213SS
VEX.66.W1.LIG.0f38ab RVM XMM128 XMM128 XMM64 - VFMSUB213SD
VEX.66.W0.0f38ac RVM XMM XMM XMM - VFNMADD213PS
VEX.66.W1.0f38ac RVM XMM XMM XMM - VFNMADD213PD
VEX.66.W0.LIG.0f38ad RVM XMM128 XMM128 XMM32 - VFNMADD213SS
VEX.66.W1.LIG.0f38ad RVM XMM128 XMM128 XMM64 - VFNMADD213SD
VEX.66.W0.0f38ae RVM XMM XMM XMM - VFNMSUB213PS
VEX.66.W1.0f38ae RVM XMM XMM XMM - VFNMSUB213PD
VEX.66.W0.LIG.0f38af RVM XMM128 XMM128 XMM32 - VFNMSUB213SS
VEX.66.W1.LIG.0f38af RVM XMM128 XMM128 XMM64 - VFNMSUB213SD
VEX.66.W0.0f38b6 RVM XMM XMM XMM - VFMADDSUB231PS
VEX.66.W1.0f38b6 RVM XMM XMM XMM - VFMADDSUB231PD
VEX.66.W0.0f38b7 RVM XMM XMM XMM - VFMSUBADD231PS
VEX.66.W1.0f38b7 RVM XMM XMM XMM - VFMSUBADD231PD
VEX.66.W0.0f38b8 RVM XMM XMM XMM - VFMADD231PS
VEX.66.W1.0f38b8 RVM XMM XMM XMM - VFMADD231PD
VEX.66.W0.LIG.0f38b9 RVM XMM128 XMM128 XMM32 - VFMADD231SS
VEX.66.W1.LIG.0f38b9 RVM XMM128 XMM128 XMM64 - VFMADD231SD
VEX.66.W0.0f38ba RVM XMM XMM XMM - VFMSUB231PS
VEX.66.W1.0f38ba RVM XMM XMM XMM - VFMSUB231PD
VEX.66.W0.LIG.0f38bb RVM XMM128 XMM128 XMM32 - VFMSUB231SS
VEX.66.W1.LIG.0f38bb RVM XMM128 XMM128 XMM64 - VFMSUB231SD
VEX.66.W0.0f38bc RVM XMM XMM XMM - VFNMADD231PS
VEX.66.W1.0f38bc RVM XMM XMM XMM - VFNMADD231PD
VEX.66.W0.LIG.0f38bd RVM XMM128 XMM128 XMM32 - VFNMADD231SS
VEX.66.W1.LIG.0f38bd RVM XMM128 XMM128 XMM64 - VFNMADD231SD
VEX.66.W0.0f38be RVM XMM XMM XMM - VFNMSUB231PS
VEX.66.W1.0f38be RVM XMM XMM XMM - VFNMSUB231PD
VEX.66.W0.LIG.0f38bf RVM XMM128 XMM128 XMM32 - VFNMSUB231SS
VEX.66.W1.LIG.0f38bf RVM XMM128 XMM128 XMM64 - VFNMSUB231SD
VEX.66.W1.L1.0f3a00 VMI XMM XMM IMM8 - VPERMQ
VEX.66.W1.L1.0f3a01 VMI XMM XMM IMM8 - VPERMPD
VEX.66.W0.0f3a02 RVMI XMM XMM XMM IMM8 VPBLENDD
VEX.66.W0.0f3a04 RMI XMM XMM IMM8 - VPERMILPS
VEX.66.W0.0f3a05 RMI XMM XMM IMM8 - VPERMILPD
VEX.66.W0.L1.0f3a06 RVMI XMM XMM XMM IMM8 VPERM2F128
VEX.66.0f3a08 RVMI XMM XMM XMM IMM8 VROUNDPS
VEX.66.0f3a09 RVMI XMM XMM XMM IMM8 VROUNDPD
# TODO: XMM is actually XMM128
VEX.66.LIG.0f3a0a RVMI XMM XMM XMM32 IMM8 VROUNDSS
VEX.66.LIG.0f3a0b RVMI XMM XMM XMM64 IMM8 VROUNDSD
VEX.66.0f3a0c RVMI XMM XMM XMM IMM8 VBLENDPS
VEX.66.0f3a0d RVMI XMM XMM XMM IMM8 VBLENDPD
VEX.66.0f3a0e RVMI XMM XMM XMM IMM8 VPBLENDW
VEX.66.0f3a0f RVMI XMM XMM XMM IMM8 VPALIGNR
VEX.66.WIG.L0.0f3a14/m MRI GP8 XMM IMM8 - VPEXTRB ENC_NOSZ
VEX.66.WIG.L0.0f3a14/r MRI GP32 XMM IMM8 - VPEXTRB ENC_NOSZ
VEX.66.WIG.L0.0f3a15/m MRI GP16 XMM IMM8 - VPEXTRW ENC_NOSZ
VEX.66.WIG.L0.0f3a15/r MRI GP32 XMM IMM8 - VPEXTRW ENC_NOSZ
VEX.66.W0.L0.0f3a16 MRI GP XMM IMM8 - VPEXTRD ENC_NOSZ
VEX.66.W1.L0.0f3a16 MRI GP XMM IMM8 - VPEXTRD ONLY32 ENC_NOSZ
VEX.66.W1.L0.0f3a16 MRI GP XMM IMM8 - VPEXTRQ ONLY64 ENC_NOSZ
VEX.66.L0.0f3a17 MRI GP32 XMM IMM8 - VEXTRACTPS ENC_NOSZ
VEX.66.W0.L1.0f3a18 RVMI XMM XMM XMM128 IMM8 VINSERTF128 ENC_NOSZ
VEX.66.W0.L1.0f3a19 MRI XMM128 XMM IMM8 - VEXTRACTF128 ENC_NOSZ
VEX.66.W0.L1.0f3a1d MRI XMM XMM IMM8 - VCVTPS2PH
VEX.66.WIG.L0.0f3a20 RVMI XMM XMM GP8 IMM8 VPINSRB ENC_NOSZ
VEX.66.L0.0f3a21 RVMI XMM XMM XMM32 IMM8 VINSERTPS ENC_NOSZ
VEX.66.W0.L0.0f3a22 RVMI XMM XMM GP IMM8 VPINSRD ENC_NOSZ
VEX.66.W1.L0.0f3a22 RVMI XMM XMM GP IMM8 VPINSRD ONLY32 ENC_NOSZ
VEX.66.W1.L0.0f3a22 RVMI XMM XMM GP IMM8 VPINSRQ ONLY64 ENC_NOSZ
VEX.66.W0.L1.0f3a38 RVMI XMM XMM XMM128 IMM8 VINSERTI128 ENC_NOSZ
VEX.66.W0.L1.0f3a39 MRI XMM128 XMM IMM8 - VEXTRACTI128 ENC_NOSZ
VEX.66.0f3a40 RVMI XMM XMM XMM IMM8 VDPPS
VEX.66.0f3a41 RVMI XMM XMM XMM IMM8 VDPPD
VEX.66.0f3a42 RVMI XMM XMM XMM IMM8 VMPSADBW
VEX.66.0f3a44 RVMI XMM XMM XMM IMM8 VPCLMULQDQ
VEX.66.W0.L1.0f3a46 RVMI XMM XMM XMM IMM8 VPERM2I128
VEX.66.W0.0f3a4a RVMR XMM XMM XMM XMM VBLENDVPS
VEX.66.W0.0f3a4b RVMR XMM XMM XMM XMM VBLENDVPD
VEX.66.L0.0f3a60 RMI XMM XMM IMM8 - VPCMPESTRM ENC_NOSZ
VEX.66.L0.0f3a61 RMI XMM XMM IMM8 - VPCMPESTRI ENC_NOSZ
VEX.66.L0.0f3a62 RMI XMM XMM IMM8 - VPCMPISTRM ENC_NOSZ
VEX.66.L0.0f3a63 RMI XMM XMM IMM8 - VPCMPISTRI ENC_NOSZ
#
# BMI1
VEX.NP.L0.0f38f2 RVM GP GP GP - ANDN
VEX.NP.L0.0f38f3/1 VM GP GP - - BLSR
VEX.NP.L0.0f38f3/2 VM GP GP - - BLSMSK
VEX.NP.L0.0f38f3/3 VM GP GP - - BLSI
VEX.NP.L0.0f38f7 RMV GP GP GP - BEXTR
# BMI2
VEX.F2.L0.0f3af0 RMI GP GP IMM8 - RORX
VEX.NP.L0.0f38f5 RMV GP GP GP - BZHI
VEX.F2.L0.0f38f5 RVM GP GP GP - PDEP
VEX.F3.L0.0f38f5 RVM GP GP GP - PEXT
VEX.F2.L0.0f38f6 RVM GP GP GP - MULX
VEX.66.L0.0f38f7 RMV GP GP GP - SHLX
VEX.F2.L0.0f38f7 RMV GP GP GP - SHRX
VEX.F3.L0.0f38f7 RMV GP GP GP - SARX
# ADX
66.0f38f6 RM GP GP - - ADCX
F3.0f38f6 RM GP GP - - ADOX
#
# FPU
# Source for UNDOC opcodes: https://www.sandpile.org/x86/opc_fpu.htm
d8/0m M MEM32 - - - FADD ENC_SEPSZ
d8/1m M MEM32 - - - FMUL ENC_SEPSZ
d8/2m M MEM32 - - - FCOM ENC_SEPSZ
d8/3m M MEM32 - - - FCOMP ENC_SEPSZ
d8/4m M MEM32 - - - FSUB ENC_SEPSZ
d8/5m M MEM32 - - - FSUBR ENC_SEPSZ
d8/6m M MEM32 - - - FDIV ENC_SEPSZ
d8/7m M MEM32 - - - FDIVR ENC_SEPSZ
d8/0r AM FPU FPU - - FADD
d8/1r AM FPU FPU - - FMUL
d8/2r AM FPU FPU - - FCOM
d8/3r AM FPU FPU - - FCOMP
d8/4r AM FPU FPU - - FSUB
d8/5r AM FPU FPU - - FSUBR
d8/6r AM FPU FPU - - FDIV
d8/7r AM FPU FPU - - FDIVR
d9/0m M MEM32 - - - FLD ENC_SEPSZ
d9/2m M MEM32 - - - FST ENC_SEPSZ
d9/3m M MEM32 - - - FSTP ENC_SEPSZ
d9/4m M MEMZ - - - FLDENV
d9/5m M MEM16 - - - FLDCW
d9/6m M MEMZ - - - FSTENV
d9/7m M MEM16 - - - FSTCW
d9/0r M FPU - - - FLD
d9/1r M FPU - - - FXCH
d9d0 NP - - - - FNOP
d9/3r MA FPU FPU - - FSTPNCE UNDOC
d9e0 NP - - - - FCHS
d9e1 NP - - - - FABS
d9e4 NP - - - - FTST
d9e5 NP - - - - FXAM
d9e8 NP - - - - FLD1
d9e9 NP - - - - FLDL2T
d9ea NP - - - - FLDL2E
d9eb NP - - - - FLDPI
d9ec NP - - - - FLDLG2
d9ed NP - - - - FLDLN2
d9ee NP - - - - FLDZ
d9f0 NP - - - - F2XM1
d9f1 NP - - - - FYL2X
d9f2 NP - - - - FPTAN
d9f3 NP - - - - FPATAN
d9f4 NP - - - - FXTRACT
d9f5 NP - - - - FPREM1
d9f6 NP - - - - FDECSTP
d9f7 NP - - - - FINCSTP
d9f8 NP - - - - FPREM
d9f9 NP - - - - FYL2XP1
d9fa NP - - - - FSQRT
d9fb NP - - - - FSINCOS
d9fc NP - - - - FRNDINT
d9fd NP - - - - FSCALE
d9fe NP - - - - FSIN
d9ff NP - - - - FCOS
da/0m M MEM32 - - - FIADD ENC_SEPSZ
da/1m M MEM32 - - - FIMUL ENC_SEPSZ
da/2m M MEM32 - - - FICOM ENC_SEPSZ
da/3m M MEM32 - - - FICOMP ENC_SEPSZ
da/4m M MEM32 - - - FISUB ENC_SEPSZ
da/5m M MEM32 - - - FISUBR ENC_SEPSZ
da/6m M MEM32 - - - FIDIV ENC_SEPSZ
da/7m M MEM32 - - - FIDIVR ENC_SEPSZ
da/0r M FPU - - - FCMOVB
da/1r M FPU - - - FCMOVE
da/2r M FPU - - - FCMOVBE
da/3r M FPU - - - FCMOVU
dae9 NP - - - - FUCOMPP
db/0m M MEM32 - - - FILD ENC_SEPSZ
db/1m M MEM32 - - - FISTTP ENC_SEPSZ
db/2m M MEM32 - - - FIST ENC_SEPSZ
db/3m M MEM32 - - - FISTP ENC_SEPSZ
db/5m M FPU - - - FLD
db/7m M FPU - - - FSTP
db/0r M FPU - - - FCMOVNB
db/1r M FPU - - - FCMOVNE
db/2r M FPU - - - FCMOVNBE
db/3r M FPU - - - FCMOVNU
dbe0 NP - - - - FENI8087_NOP UNDOC
dbe1 NP - - - - FDISI8087_NOP UNDOC
dbe2 NP - - - - FCLEX
dbe3 NP - - - - FINIT
dbe4 NP - - - - FSETPM287_NOP UNDOC
dbe5 NP - - - - FSETPM287_NOP UNDOC
db/5r M FPU - - - FUCOMI
db/6r M FPU - - - FCOMI
dc/0m M MEM64 - - - FADD ENC_SEPSZ
dc/1m M MEM64 - - - FMUL ENC_SEPSZ
dc/2m M MEM64 - - - FCOM ENC_SEPSZ
dc/3m M MEM64 - - - FCOMP ENC_SEPSZ
dc/4m M MEM64 - - - FSUB ENC_SEPSZ
dc/5m M MEM64 - - - FSUBR ENC_SEPSZ
dc/6m M MEM64 - - - FDIV ENC_SEPSZ
dc/7m M MEM64 - - - FDIVR ENC_SEPSZ
dc/0r MA FPU FPU - - FADD
dc/1r MA FPU FPU - - FMUL
dc/2r MA FPU FPU - - FCOM UNDOC
dc/3r MA FPU FPU - - FCOMP UNDOC
dc/4r MA FPU FPU - - FSUBR
dc/5r MA FPU FPU - - FSUB
dc/6r MA FPU FPU - - FDIVR
dc/7r MA FPU FPU - - FDIV
dd/0m M MEM64 - - - FLD ENC_SEPSZ
dd/1m M MEM64 - - - FISTTP ENC_SEPSZ
dd/2m M MEM64 - - - FST ENC_SEPSZ
dd/3m M MEM64 - - - FSTP ENC_SEPSZ
dd/4m M MEMZ - - - FRSTOR
dd/6m M MEMZ - - - FSAVE
dd/7m M MEM16 - - - FSTSW
dd/0r M FPU - - - FFREE
dd/1r AM FPU FPU - - FXCH UNDOC
dd/2r M FPU - - - FST
dd/3r M FPU - - - FSTP
dd/4r M FPU - - - FUCOM
dd/5r M FPU - - - FUCOMP
de/0m M MEM16 - - - FIADD ENC_SEPSZ
de/1m M MEM16 - - - FIMUL ENC_SEPSZ
de/2m M MEM16 - - - FICOM ENC_SEPSZ
de/3m M MEM16 - - - FICOMP ENC_SEPSZ
de/4m M MEM16 - - - FISUB ENC_SEPSZ
de/5m M MEM16 - - - FISUBR ENC_SEPSZ
de/6m M MEM16 - - - FIDIV ENC_SEPSZ
de/7m M MEM16 - - - FIDIVR ENC_SEPSZ
de/0r MA FPU FPU - - FADDP
de/1r MA FPU FPU - - FMULP
de/2r AM FPU FPU - - FCOMP UNDOC
ded9 NP - - - - FCOMPP
de/4r MA FPU FPU - - FSUBRP
de/5r MA FPU FPU - - FSUBP
de/6r MA FPU FPU - - FDIVRP
de/7r MA FPU FPU - - FDIVP
df/0m M MEM16 - - - FILD ENC_SEPSZ
df/1m M MEM16 - - - FISTTP ENC_SEPSZ
df/2m M MEM16 - - - FIST ENC_SEPSZ
df/3m M MEM16 - - - FISTP ENC_SEPSZ
df/4m M FPU - - - FBLD
df/5m M MEM64 - - - FILD ENC_SEPSZ
df/6m M FPU - - - FBSTP
df/7m M MEM64 - - - FISTP ENC_SEPSZ
df/0r M FPU - - - FFREEP UNDOC
df/1r AM FPU FPU - - FXCH UNDOC
df/2r MA FPU FPU - - FSTP UNDOC
df/3r MA FPU FPU - - FSTP UNDOC
# FSTSW AX
dfe0 A GP16 - - - FSTSW
df/5r AM FPU FPU - - FUCOMIP
df/6r AM FPU FPU - - FCOMIP
#
# Control Flow Enforcement
F3.0f01/5m M GP64 - - - RSTORSSP
F3.0f01e8 NP - - - - SETSSBSY
F3.0f01ea NP - - - - SAVEPREVSSP
F3.0f1e/1r M GP - - - RDSSP
F3.0f1efa NP - - - - ENDBR64
F3.0f1efb NP - - - - ENDBR32
66.0f38f5/m MR MEM GP - - WRUSS
NP.0f38f6/m MR MEM GP - - WRSS
F3.0fae/6m M GP - - - CLRSSBSY
F3.0fae/5r M GP - - - INCSSP
#
# CLDEMOTE
NP.0f1c/0m M MEM8 - - - CLDEMOTE
# VIA PadLock
F3.0fa6c0 NP - - - - REP_MONTMUL ONLYVIA
F3.0fa6c8 NP - - - - REP_XSHA1 ONLYVIA
F3.0fa6d0 NP - - - - REP_XSHA256 ONLYVIA
NFx.0fa7c0 NP - - - - XSTORE ONLYVIA
F3.0fa7c0 NP - - - - REP_XSTORE ONLYVIA
F3.0fa7c8 NP - - - - REP_XCRYPTECB ONLYVIA
F3.0fa7d0 NP - - - - REP_XCRYPTCBC ONLYVIA
F3.0fa7d8 NP - - - - REP_XCRYPTCTR ONLYVIA
F3.0fa7e0 NP - - - - REP_XCRYPTCFB ONLYVIA
F3.0fa7e8 NP - - - - REP_XCRYPTOFB ONLYVIA
# VMX
66.0f3880/m RM GP MEMZ - - INVEPT DEF64
66.0f3881/m RM GP MEMZ - - INVVPID DEF64
NP.0f01c1 NP - - - - VMCALL
66.0fc7/6m M MEM64 - - - VMCLEAR
NP.0f01d4 NP - - - - VMFUNC
NP.0f01c2 NP - - - - VMLAUNCH
NP.0f01c3 NP - - - - VMRESUME
NP.0fc7/6m M MEM64 - - - VMPTRLD
NP.0fc7/7m M MEM64 - - - VMPTRST
NP.0f78 MR GP GP - - VMREAD DEF64
NP.0f79 MR GP GP - - VMWRITE DEF64
NP.0f01c4 NP - - - - VMXOFF
F3.0fc7/6m M MEM64 - - - VMXON
# SEAM/TDX
66.0f01cc NP - - - - TDCALL
66.0f01cd NP - - - - SEAMRET
66.0f01ce NP - - - - SEAMOPS
66.0f01cf NP - - - - SEAMCALL
# AMD RDPRU
0f01fd NP - - - - RDPRU ONLYAMD
# AMD SVM
0f01d8 NP - - - - VMRUN ONLYAMD
0f01d9 NP - - - - VMMCALL ONLYAMD
0f01da NP - - - - VMLOAD ONLYAMD
0f01db NP - - - - VMSAVE ONLYAMD
0f01dc NP - - - - STGI ONLYAMD
0f01dd NP - - - - CLGI ONLYAMD
0f01de NP - - - - SKINIT ONLYAMD
0f01df NP - - - - INVLPGA ONLYAMD
NP.0f01fa NP - - - - MONITORX ONLYAMD
F3.0f01fa NP - - - - MCOMMIT ONLYAMD
NP.0f01fb NP - - - - MWAITX ONLYAMD
NP.0f01fe NP - - - - INVLPGB ONLYAMD
NP.0f01ff NP - - - - TLBSYNC ONLYAMD
# AMD SNP
F3.0f01fe NP - - - - RMPADJUST ONLYAMD ONLY64
F2.0f01fe NP - - - - RMPUPDATE ONLYAMD ONLY64
F3.0f01ff NP - - - - PSMASH ONLYAMD ONLY64
F2.0f01ff NP - - - - PVALIDATE ONLYAMD ONLY64
# WAITPKG
66.0fae/6r M GP32 - - - TPAUSE
F3.0fae/6r M GP - - - UMONITOR
F2.0fae/6r M GP32 - - - UMWAIT
# PRWRITE
F3.0fae/4 M GP - - - PTWRITE
# GFNI
66.0f38cf RM XMM XMM - - GF2P8MULB
66.0f3ace RMI XMM XMM IMM8 - GF2P8AFFINEQB
66.0f3acf RMI XMM XMM IMM8 - GF2P8AFFINEINVQB
# ENQCMD
F2.0f38f8/m RM GP MEM512 - - ENQCMD
F3.0f38f8/m RM GP MEM512 - - ENQCMDS
# PCONFIG
NP.0f01c5 NP - - - - PCONFIG
# WBNOINVD
F3.0f09 NP - - - - WBNOINVD
NP.0f01ee NP - - - - RDPKRU
NP.0f01ef NP - - - - WRPKRU
F3.0fae/0r M GP - - - RDFSBASE ONLY64
F3.0fae/1r M GP - - - RDGSBASE ONLY64
F3.0fae/2r M GP - - - WRFSBASE ONLY64
F3.0fae/3r M GP - - - WRGSBASE ONLY64
NP.0fae/4m M MEMZ - - - XSAVE INSTR_WIDTH
NP.0fae/5m M MEMZ - - - XRSTOR INSTR_WIDTH
NP.0fae/6m M MEMZ - - - XSAVEOPT INSTR_WIDTH
66.0fae/6m M MEM8 - - - CLWB
NP.0fae/7m M MEM8 - - - CLFLUSH
66.0fae/7m M MEM8 - - - CLFLUSHOPT
NP.0fc7/3m M MEMZ - - - XRSTORS INSTR_WIDTH
NP.0fc7/4m M MEMZ - - - XSAVEC INSTR_WIDTH
NP.0fc7/5m M MEMZ - - - XSAVES INSTR_WIDTH
NFx.0fc7/6r M GP - - - RDRAND
NFx.0fc7/7r M GP - - - RDSEED
F3.0fc7/7r M GP - - - RDPID DEF64
66.0f3882/m RM GP MEM128 - - INVPCID DEF64
NP.0f38c8 RM XMM XMM - - SHA1NEXTE
NP.0f38c9 RM XMM XMM - - SHA1MSG1
NP.0f38ca RM XMM XMM - - SHA1MSG2
NP.0f38cb RMA XMM XMM XMM - SHA256RNDS2
NP.0f38cc RM XMM XMM - - SHA256MSG1
NP.0f38cd RM XMM XMM - - SHA256MSG2
NP.0f3acc RMI XMM XMM IMM8 - SHA1RNDS4
#NP.0f1a/m RM BND MEMZ - - BNDLDX
#66.0f1a RM BND BND - - BNDMOV DEF64
#F2.0f1a RM BND GP - - BNDCU DEF64
#F3.0f1a RM BND GP - - BNDCL DEF64
#NP.0f1b/m MR MEMZ BND - - BNDSTX
#66.0f1b MR BND BND - - BNDMOV DEF64
#F2.0f1b RM BND GP - - BNDCN DEF64
#F3.0f1b/m RM BND MEMZ - - BNDMK
# TSXLDTRK
F2.0f01e8 NP - - - - XSUSLDTRK
F2.0f01e9 NP - - - - XRESLDTRK
# AVX_VNNI
VEX.66.W0.0f3850 RVM XMM XMM XMM - VPDPBUSD
VEX.66.W0.0f3851 RVM XMM XMM XMM - VPDPBUSDS
VEX.66.W0.0f3852 RVM XMM XMM XMM - VPDPWSSD
VEX.66.W0.0f3853 RVM XMM XMM XMM - VPDPWSSDS
# HRESET
#F3.0f3af0c0 IA IMM8 GP32 - - HRESET
# SERIALIZE
NP.0f01e8 NP - - - - SERIALIZE
# UINTR
F3.0f01ec NP - - - - UIRET ONLY64
F3.0f01ed NP - - - - TESTUI ONLY64
F3.0f01ee NP - - - - CLUI ONLY64
F3.0f01ef NP - - - - STUI ONLY64
F3.0fc7/6r M GP - - - SENDUIPI DEF64 ONLY64
# AESKLE/KL (Key Locker)
F3.0f38d8/0m M MEMZ - - - AESENCWIDE128KL
F3.0f38d8/1m M MEMZ - - - AESDECWIDE128KL
F3.0f38d8/2m M MEMZ - - - AESENCWIDE256KL
F3.0f38d8/3m M MEMZ - - - AESDECWIDE256KL
F3.0f38dc/m RM XMM MEMZ - - AESENC128KL
F3.0f38dc/r RM XMM XMM - - LOADIWKEY
F3.0f38dd/m RM XMM MEMZ - - AESDEC128KL
F3.0f38de/m RM XMM MEMZ - - AESENC256KL
F3.0f38df/m RM XMM MEMZ - - AESDEC256KL
F3.0f38fa/r RM GP32 GP32 - - ENCODEKEY128
F3.0f38fb/r RM GP32 GP32 - - ENCODEKEY256