Files
fadec/instrs.txt
Alexis Engelke f565f09f9d instrs: Clearly separate vector and GP opsize
Now, an instruction cannot refer to the GP operand size and the vector
operand size at the same time. This isn't necessary, all necessary
distinguishing could also be achieved manually using W0/W1/66 selectors.
2022-11-27 18:07:44 +01:00

1684 lines
114 KiB
Plaintext

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