These instructions have plenty of corner cases and some instructions have a different usage of the memory operand. Given that MPX is already deprecated by Intel, it seems that the better option is to decode these (rarely occuring) instructions as NOPs.
1590 lines
100 KiB
Plaintext
1590 lines
100 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
|
|
0f01c8 NP - - - - MONITOR
|
|
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 RVM XMM128 XMM128 XMM32 - VMOVSS
|
|
VEX.F2.LIG.0f10 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.0f3814 RVMR XMM XMM XMM XMM VBLENDVPS
|
|
VEX.66.W0.0f3815 RVMR XMM XMM XMM XMM VBLENDVPD
|
|
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.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
|
|
|
|
# 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 SVM
|
|
NP.0f01d8 NP - - - - VMRUN ONLYAMD
|
|
NP.0f01d9 NP - - - - VMMCALL ONLYAMD
|
|
NP.0f01da NP - - - - VMLOAD ONLYAMD
|
|
NP.0f01db NP - - - - VMSAVE ONLYAMD
|
|
NP.0f01dc NP - - - - STGI ONLYAMD
|
|
NP.0f01dd NP - - - - CLGI ONLYAMD
|
|
NP.0f01de NP - - - - SKINIT ONLYAMD
|
|
NP.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
|