1628 lines
110 KiB
Plaintext
1628 lines
110 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 Ups - - SSE_MOVMSKPS D64 F=SSE
|
|
66.0f50/r RM Gy Upd - - 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 Ey - - SSE_MOVD_G2X F=SSE2 ENC_NOSZ
|
|
66.W1.0f6e RM Vx Ey - - 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 Ux - - 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 Ry Vx Ib - SSE_PEXTRB F=SSE41 ENC_NOSZ
|
|
66.0f3a15/m MRI Mw Vx Ib - SSE_PEXTRW F=SSE41
|
|
66.0f3a15/r MRI Ry Vx Ib - SSE_PEXTRW F=SSE41 ENC_NOSZ
|
|
66.W0.0f3a16 MRI Ey Vx Ib - SSE_PEXTRD F=SSE41 ENC_NOSZ
|
|
66.W1.0f3a16 MRI Ey 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 Ey Ib - SSE_PINSRD F=SSE41 ENC_NOSZ
|
|
66.W1.0f3a22 RMI Vx Ey 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
|
|
VEX.66.L0.0f38dc RVM Vdq Hdq Wdq - VAESENC F=AESNI,AVX
|
|
VEX.66.L0.0f38dd RVM Vdq Hdq Wdq - VAESENCLAST F=AESNI,AVX
|
|
VEX.66.L0.0f38de RVM Vdq Hdq Wdq - VAESDEC F=AESNI,AVX
|
|
VEX.66.L0.0f38df RVM Vdq Hdq Wdq - VAESDECLAST F=AESNI,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 Gy Ups - - VMOVMSKPS D64 F=AVX
|
|
VEX.66.0f50/r RM Gy Upd - - VMOVMSKPD D64 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 Wx Ib - VPSRLW F=AVX
|
|
VEX.66.0f71/4r VMI Hx Wx Ib - VPSRAW F=AVX
|
|
VEX.66.0f71/6r VMI Hx Wx Ib - VPSLLW F=AVX
|
|
VEX.66.0f72/2r VMI Hx Wx Ib - VPSRLD F=AVX
|
|
VEX.66.0f72/4r VMI Hx Wx Ib - VPSRAD F=AVX
|
|
VEX.66.0f72/6r VMI Hx Wx Ib - VPSLLD F=AVX
|
|
VEX.66.0f73/2r VMI Hx Wx Ib - VPSRLQ F=AVX
|
|
VEX.66.0f73/3r VMI Hx Wx Ib - VPSRLDQ F=AVX
|
|
VEX.66.0f73/6r VMI Hx Wx Ib - VPSLLQ F=AVX
|
|
VEX.66.0f73/7r VMI Hx Wx 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 Gy Ux Ib - VPEXTRW D64 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 Gy Ux - - VPMOVMSKB D64 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 VMI Hx Wx Ib - VPERMQ F=AVX2
|
|
VEX.66.W1.L1.0f3a01 VMI Hx 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 Ey Vx Ib - VPEXTRD F=AVX ENC_NOSZ
|
|
VEX.66.W1.L0.0f3a16 MRI Ey Vx Ib - VPEXTRD I64 F=AVX ENC_NOSZ
|
|
VEX.66.W1.L0.0f3a16 MRI Ey 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 M - - INVEPT D64 F=VMX
|
|
66.0f3881/m RM Gy M - - 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.66.W0.0f3850 RVM Vx Hx Wx - VPDPBUSD F=VNNI
|
|
VEX.66.W0.0f3851 RVM Vx Hx Wx - VPDPBUSDS F=VNNI
|
|
VEX.66.W0.0f3852 RVM Vx Hx Wx - VPDPWSSD F=VNNI
|
|
VEX.66.W0.0f3853 RVM Vx Hx Wx - VPDPWSSDS F=VNNI
|
|
|
|
# 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
|
|
|
|
# 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
|