xref: /openbmc/linux/arch/x86/lib/x86-opcode-map.txt (revision b181f7029bd71238ac2754ce7052dffd69432085)
1eb13296cSMasami Hiramatsu# x86 Opcode Maps
2eb13296cSMasami Hiramatsu#
3a9c373d0SMasami Hiramatsu# This is (mostly) based on following documentations.
43e21bb09SMasami Hiramatsu# - Intel(R) 64 and IA-32 Architectures Software Developer's Manual Vol.2C
53e21bb09SMasami Hiramatsu#   (#326018-047US, June 2013)
6a9c373d0SMasami Hiramatsu#
7eb13296cSMasami Hiramatsu#<Opcode maps>
8eb13296cSMasami Hiramatsu# Table: table-name
9eb13296cSMasami Hiramatsu# Referrer: escaped-name
10e0e492e9SMasami Hiramatsu# AVXcode: avx-code
11eb13296cSMasami Hiramatsu# opcode: mnemonic|GrpXXX [operand1[,operand2...]] [(extra1)[,(extra2)...] [| 2nd-mnemonic ...]
12eb13296cSMasami Hiramatsu# (or)
13eb13296cSMasami Hiramatsu# opcode: escape # escaped-name
14eb13296cSMasami Hiramatsu# EndTable
15eb13296cSMasami Hiramatsu#
1625af37f4SAdrian Hunter# mnemonics that begin with lowercase 'v' accept a VEX or EVEX prefix
1725af37f4SAdrian Hunter# mnemonics that begin with lowercase 'k' accept a VEX prefix
1825af37f4SAdrian Hunter#
19eb13296cSMasami Hiramatsu#<group maps>
20eb13296cSMasami Hiramatsu# GrpTable: GrpXXX
21eb13296cSMasami Hiramatsu# reg:  mnemonic [operand1[,operand2...]] [(extra1)[,(extra2)...] [| 2nd-mnemonic ...]
22eb13296cSMasami Hiramatsu# EndTable
23eb13296cSMasami Hiramatsu#
24e0e492e9SMasami Hiramatsu# AVX Superscripts
2525af37f4SAdrian Hunter#  (ev): this opcode requires EVEX prefix.
2625af37f4SAdrian Hunter#  (evo): this opcode is changed by EVEX prefix (EVEX opcode)
27a9c373d0SMasami Hiramatsu#  (v): this opcode requires VEX prefix.
28a9c373d0SMasami Hiramatsu#  (v1): this opcode only supports 128bit VEX.
29a9c373d0SMasami Hiramatsu#
30a9c373d0SMasami Hiramatsu# Last Prefix Superscripts
31a9c373d0SMasami Hiramatsu#  - (66): the last prefix is 0x66
32a9c373d0SMasami Hiramatsu#  - (F3): the last prefix is 0xF3
33a9c373d0SMasami Hiramatsu#  - (F2): the last prefix is 0xF2
34436d03faSMasami Hiramatsu#  - (!F3) : the last prefix is not 0xF3 (including non-last prefix case)
353e21bb09SMasami Hiramatsu#  - (66&F2): Both 0x66 and 0xF2 prefixes are specified.
36eb13296cSMasami Hiramatsu
37eb13296cSMasami HiramatsuTable: one byte opcode
38eb13296cSMasami HiramatsuReferrer:
39e0e492e9SMasami HiramatsuAVXcode:
40eb13296cSMasami Hiramatsu# 0x00 - 0x0f
41eb13296cSMasami Hiramatsu00: ADD Eb,Gb
42eb13296cSMasami Hiramatsu01: ADD Ev,Gv
43eb13296cSMasami Hiramatsu02: ADD Gb,Eb
44eb13296cSMasami Hiramatsu03: ADD Gv,Ev
45eb13296cSMasami Hiramatsu04: ADD AL,Ib
46eb13296cSMasami Hiramatsu05: ADD rAX,Iz
47eb13296cSMasami Hiramatsu06: PUSH ES (i64)
48eb13296cSMasami Hiramatsu07: POP ES (i64)
49eb13296cSMasami Hiramatsu08: OR Eb,Gb
50eb13296cSMasami Hiramatsu09: OR Ev,Gv
51eb13296cSMasami Hiramatsu0a: OR Gb,Eb
52eb13296cSMasami Hiramatsu0b: OR Gv,Ev
53eb13296cSMasami Hiramatsu0c: OR AL,Ib
54eb13296cSMasami Hiramatsu0d: OR rAX,Iz
55eb13296cSMasami Hiramatsu0e: PUSH CS (i64)
56eb13296cSMasami Hiramatsu0f: escape # 2-byte escape
57eb13296cSMasami Hiramatsu# 0x10 - 0x1f
58eb13296cSMasami Hiramatsu10: ADC Eb,Gb
59eb13296cSMasami Hiramatsu11: ADC Ev,Gv
60eb13296cSMasami Hiramatsu12: ADC Gb,Eb
61eb13296cSMasami Hiramatsu13: ADC Gv,Ev
62eb13296cSMasami Hiramatsu14: ADC AL,Ib
63eb13296cSMasami Hiramatsu15: ADC rAX,Iz
64eb13296cSMasami Hiramatsu16: PUSH SS (i64)
65eb13296cSMasami Hiramatsu17: POP SS (i64)
66eb13296cSMasami Hiramatsu18: SBB Eb,Gb
67eb13296cSMasami Hiramatsu19: SBB Ev,Gv
68eb13296cSMasami Hiramatsu1a: SBB Gb,Eb
69eb13296cSMasami Hiramatsu1b: SBB Gv,Ev
70eb13296cSMasami Hiramatsu1c: SBB AL,Ib
71eb13296cSMasami Hiramatsu1d: SBB rAX,Iz
72eb13296cSMasami Hiramatsu1e: PUSH DS (i64)
73eb13296cSMasami Hiramatsu1f: POP DS (i64)
74eb13296cSMasami Hiramatsu# 0x20 - 0x2f
75eb13296cSMasami Hiramatsu20: AND Eb,Gb
76eb13296cSMasami Hiramatsu21: AND Ev,Gv
77eb13296cSMasami Hiramatsu22: AND Gb,Eb
78eb13296cSMasami Hiramatsu23: AND Gv,Ev
79eb13296cSMasami Hiramatsu24: AND AL,Ib
80eb13296cSMasami Hiramatsu25: AND rAx,Iz
81eb13296cSMasami Hiramatsu26: SEG=ES (Prefix)
82eb13296cSMasami Hiramatsu27: DAA (i64)
83eb13296cSMasami Hiramatsu28: SUB Eb,Gb
84eb13296cSMasami Hiramatsu29: SUB Ev,Gv
85eb13296cSMasami Hiramatsu2a: SUB Gb,Eb
86eb13296cSMasami Hiramatsu2b: SUB Gv,Ev
87eb13296cSMasami Hiramatsu2c: SUB AL,Ib
88eb13296cSMasami Hiramatsu2d: SUB rAX,Iz
89eb13296cSMasami Hiramatsu2e: SEG=CS (Prefix)
90eb13296cSMasami Hiramatsu2f: DAS (i64)
91eb13296cSMasami Hiramatsu# 0x30 - 0x3f
92eb13296cSMasami Hiramatsu30: XOR Eb,Gb
93eb13296cSMasami Hiramatsu31: XOR Ev,Gv
94eb13296cSMasami Hiramatsu32: XOR Gb,Eb
95eb13296cSMasami Hiramatsu33: XOR Gv,Ev
96eb13296cSMasami Hiramatsu34: XOR AL,Ib
97eb13296cSMasami Hiramatsu35: XOR rAX,Iz
98eb13296cSMasami Hiramatsu36: SEG=SS (Prefix)
99eb13296cSMasami Hiramatsu37: AAA (i64)
100eb13296cSMasami Hiramatsu38: CMP Eb,Gb
101eb13296cSMasami Hiramatsu39: CMP Ev,Gv
102eb13296cSMasami Hiramatsu3a: CMP Gb,Eb
103eb13296cSMasami Hiramatsu3b: CMP Gv,Ev
104eb13296cSMasami Hiramatsu3c: CMP AL,Ib
105eb13296cSMasami Hiramatsu3d: CMP rAX,Iz
106eb13296cSMasami Hiramatsu3e: SEG=DS (Prefix)
107eb13296cSMasami Hiramatsu3f: AAS (i64)
108eb13296cSMasami Hiramatsu# 0x40 - 0x4f
109eb13296cSMasami Hiramatsu40: INC eAX (i64) | REX (o64)
110eb13296cSMasami Hiramatsu41: INC eCX (i64) | REX.B (o64)
111eb13296cSMasami Hiramatsu42: INC eDX (i64) | REX.X (o64)
112eb13296cSMasami Hiramatsu43: INC eBX (i64) | REX.XB (o64)
113eb13296cSMasami Hiramatsu44: INC eSP (i64) | REX.R (o64)
114eb13296cSMasami Hiramatsu45: INC eBP (i64) | REX.RB (o64)
115eb13296cSMasami Hiramatsu46: INC eSI (i64) | REX.RX (o64)
116eb13296cSMasami Hiramatsu47: INC eDI (i64) | REX.RXB (o64)
117eb13296cSMasami Hiramatsu48: DEC eAX (i64) | REX.W (o64)
118eb13296cSMasami Hiramatsu49: DEC eCX (i64) | REX.WB (o64)
119eb13296cSMasami Hiramatsu4a: DEC eDX (i64) | REX.WX (o64)
120eb13296cSMasami Hiramatsu4b: DEC eBX (i64) | REX.WXB (o64)
121eb13296cSMasami Hiramatsu4c: DEC eSP (i64) | REX.WR (o64)
122eb13296cSMasami Hiramatsu4d: DEC eBP (i64) | REX.WRB (o64)
123eb13296cSMasami Hiramatsu4e: DEC eSI (i64) | REX.WRX (o64)
124eb13296cSMasami Hiramatsu4f: DEC eDI (i64) | REX.WRXB (o64)
125eb13296cSMasami Hiramatsu# 0x50 - 0x5f
126eb13296cSMasami Hiramatsu50: PUSH rAX/r8 (d64)
127eb13296cSMasami Hiramatsu51: PUSH rCX/r9 (d64)
128eb13296cSMasami Hiramatsu52: PUSH rDX/r10 (d64)
129eb13296cSMasami Hiramatsu53: PUSH rBX/r11 (d64)
130eb13296cSMasami Hiramatsu54: PUSH rSP/r12 (d64)
131eb13296cSMasami Hiramatsu55: PUSH rBP/r13 (d64)
132eb13296cSMasami Hiramatsu56: PUSH rSI/r14 (d64)
133eb13296cSMasami Hiramatsu57: PUSH rDI/r15 (d64)
134eb13296cSMasami Hiramatsu58: POP rAX/r8 (d64)
135eb13296cSMasami Hiramatsu59: POP rCX/r9 (d64)
136eb13296cSMasami Hiramatsu5a: POP rDX/r10 (d64)
137eb13296cSMasami Hiramatsu5b: POP rBX/r11 (d64)
138eb13296cSMasami Hiramatsu5c: POP rSP/r12 (d64)
139eb13296cSMasami Hiramatsu5d: POP rBP/r13 (d64)
140eb13296cSMasami Hiramatsu5e: POP rSI/r14 (d64)
141eb13296cSMasami Hiramatsu5f: POP rDI/r15 (d64)
142eb13296cSMasami Hiramatsu# 0x60 - 0x6f
143eb13296cSMasami Hiramatsu60: PUSHA/PUSHAD (i64)
144eb13296cSMasami Hiramatsu61: POPA/POPAD (i64)
14525af37f4SAdrian Hunter62: BOUND Gv,Ma (i64) | EVEX (Prefix)
146eb13296cSMasami Hiramatsu63: ARPL Ew,Gw (i64) | MOVSXD Gv,Ev (o64)
147eb13296cSMasami Hiramatsu64: SEG=FS (Prefix)
148eb13296cSMasami Hiramatsu65: SEG=GS (Prefix)
149eb13296cSMasami Hiramatsu66: Operand-Size (Prefix)
150eb13296cSMasami Hiramatsu67: Address-Size (Prefix)
1513d22be00SAdrian Hunter68: PUSH Iz
152eb13296cSMasami Hiramatsu69: IMUL Gv,Ev,Iz
153eb13296cSMasami Hiramatsu6a: PUSH Ib (d64)
154eb13296cSMasami Hiramatsu6b: IMUL Gv,Ev,Ib
155eb13296cSMasami Hiramatsu6c: INS/INSB Yb,DX
156eb13296cSMasami Hiramatsu6d: INS/INSW/INSD Yz,DX
157eb13296cSMasami Hiramatsu6e: OUTS/OUTSB DX,Xb
158eb13296cSMasami Hiramatsu6f: OUTS/OUTSW/OUTSD DX,Xz
159eb13296cSMasami Hiramatsu# 0x70 - 0x7f
160eb13296cSMasami Hiramatsu70: JO Jb
161eb13296cSMasami Hiramatsu71: JNO Jb
162eb13296cSMasami Hiramatsu72: JB/JNAE/JC Jb
163eb13296cSMasami Hiramatsu73: JNB/JAE/JNC Jb
164eb13296cSMasami Hiramatsu74: JZ/JE Jb
165eb13296cSMasami Hiramatsu75: JNZ/JNE Jb
166eb13296cSMasami Hiramatsu76: JBE/JNA Jb
167eb13296cSMasami Hiramatsu77: JNBE/JA Jb
168eb13296cSMasami Hiramatsu78: JS Jb
169eb13296cSMasami Hiramatsu79: JNS Jb
170eb13296cSMasami Hiramatsu7a: JP/JPE Jb
171eb13296cSMasami Hiramatsu7b: JNP/JPO Jb
172eb13296cSMasami Hiramatsu7c: JL/JNGE Jb
173eb13296cSMasami Hiramatsu7d: JNL/JGE Jb
174eb13296cSMasami Hiramatsu7e: JLE/JNG Jb
175eb13296cSMasami Hiramatsu7f: JNLE/JG Jb
176eb13296cSMasami Hiramatsu# 0x80 - 0x8f
177eb13296cSMasami Hiramatsu80: Grp1 Eb,Ib (1A)
178eb13296cSMasami Hiramatsu81: Grp1 Ev,Iz (1A)
179eb13296cSMasami Hiramatsu82: Grp1 Eb,Ib (1A),(i64)
180eb13296cSMasami Hiramatsu83: Grp1 Ev,Ib (1A)
181eb13296cSMasami Hiramatsu84: TEST Eb,Gb
182eb13296cSMasami Hiramatsu85: TEST Ev,Gv
183eb13296cSMasami Hiramatsu86: XCHG Eb,Gb
184eb13296cSMasami Hiramatsu87: XCHG Ev,Gv
185eb13296cSMasami Hiramatsu88: MOV Eb,Gb
186eb13296cSMasami Hiramatsu89: MOV Ev,Gv
187eb13296cSMasami Hiramatsu8a: MOV Gb,Eb
188eb13296cSMasami Hiramatsu8b: MOV Gv,Ev
189eb13296cSMasami Hiramatsu8c: MOV Ev,Sw
190eb13296cSMasami Hiramatsu8d: LEA Gv,M
191eb13296cSMasami Hiramatsu8e: MOV Sw,Ew
192eb13296cSMasami Hiramatsu8f: Grp1A (1A) | POP Ev (d64)
193eb13296cSMasami Hiramatsu# 0x90 - 0x9f
194eb13296cSMasami Hiramatsu90: NOP | PAUSE (F3) | XCHG r8,rAX
195eb13296cSMasami Hiramatsu91: XCHG rCX/r9,rAX
196eb13296cSMasami Hiramatsu92: XCHG rDX/r10,rAX
197eb13296cSMasami Hiramatsu93: XCHG rBX/r11,rAX
198eb13296cSMasami Hiramatsu94: XCHG rSP/r12,rAX
199eb13296cSMasami Hiramatsu95: XCHG rBP/r13,rAX
200eb13296cSMasami Hiramatsu96: XCHG rSI/r14,rAX
201eb13296cSMasami Hiramatsu97: XCHG rDI/r15,rAX
202eb13296cSMasami Hiramatsu98: CBW/CWDE/CDQE
203eb13296cSMasami Hiramatsu99: CWD/CDQ/CQO
204eb13296cSMasami Hiramatsu9a: CALLF Ap (i64)
205eb13296cSMasami Hiramatsu9b: FWAIT/WAIT
206eb13296cSMasami Hiramatsu9c: PUSHF/D/Q Fv (d64)
207eb13296cSMasami Hiramatsu9d: POPF/D/Q Fv (d64)
208eb13296cSMasami Hiramatsu9e: SAHF
209eb13296cSMasami Hiramatsu9f: LAHF
210eb13296cSMasami Hiramatsu# 0xa0 - 0xaf
211eb13296cSMasami Hiramatsua0: MOV AL,Ob
212eb13296cSMasami Hiramatsua1: MOV rAX,Ov
213eb13296cSMasami Hiramatsua2: MOV Ob,AL
214eb13296cSMasami Hiramatsua3: MOV Ov,rAX
215a9c373d0SMasami Hiramatsua4: MOVS/B Yb,Xb
216a9c373d0SMasami Hiramatsua5: MOVS/W/D/Q Yv,Xv
217eb13296cSMasami Hiramatsua6: CMPS/B Xb,Yb
218eb13296cSMasami Hiramatsua7: CMPS/W/D Xv,Yv
219eb13296cSMasami Hiramatsua8: TEST AL,Ib
220eb13296cSMasami Hiramatsua9: TEST rAX,Iz
221eb13296cSMasami Hiramatsuaa: STOS/B Yb,AL
222eb13296cSMasami Hiramatsuab: STOS/W/D/Q Yv,rAX
223eb13296cSMasami Hiramatsuac: LODS/B AL,Xb
224eb13296cSMasami Hiramatsuad: LODS/W/D/Q rAX,Xv
225eb13296cSMasami Hiramatsuae: SCAS/B AL,Yb
2268d973b62SUlrich Drepper# Note: The May 2011 Intel manual shows Xv for the second parameter of the
2278d973b62SUlrich Drepper# next instruction but Yv is correct
2288d973b62SUlrich Drepperaf: SCAS/W/D/Q rAX,Yv
229eb13296cSMasami Hiramatsu# 0xb0 - 0xbf
230eb13296cSMasami Hiramatsub0: MOV AL/R8L,Ib
231eb13296cSMasami Hiramatsub1: MOV CL/R9L,Ib
232eb13296cSMasami Hiramatsub2: MOV DL/R10L,Ib
233eb13296cSMasami Hiramatsub3: MOV BL/R11L,Ib
234eb13296cSMasami Hiramatsub4: MOV AH/R12L,Ib
235eb13296cSMasami Hiramatsub5: MOV CH/R13L,Ib
236eb13296cSMasami Hiramatsub6: MOV DH/R14L,Ib
237eb13296cSMasami Hiramatsub7: MOV BH/R15L,Ib
238eb13296cSMasami Hiramatsub8: MOV rAX/r8,Iv
239eb13296cSMasami Hiramatsub9: MOV rCX/r9,Iv
240eb13296cSMasami Hiramatsuba: MOV rDX/r10,Iv
241eb13296cSMasami Hiramatsubb: MOV rBX/r11,Iv
242eb13296cSMasami Hiramatsubc: MOV rSP/r12,Iv
243eb13296cSMasami Hiramatsubd: MOV rBP/r13,Iv
244eb13296cSMasami Hiramatsube: MOV rSI/r14,Iv
245eb13296cSMasami Hiramatsubf: MOV rDI/r15,Iv
246eb13296cSMasami Hiramatsu# 0xc0 - 0xcf
247eb13296cSMasami Hiramatsuc0: Grp2 Eb,Ib (1A)
248eb13296cSMasami Hiramatsuc1: Grp2 Ev,Ib (1A)
249eb13296cSMasami Hiramatsuc2: RETN Iw (f64)
250eb13296cSMasami Hiramatsuc3: RETN
251a9c373d0SMasami Hiramatsuc4: LES Gz,Mp (i64) | VEX+2byte (Prefix)
252a9c373d0SMasami Hiramatsuc5: LDS Gz,Mp (i64) | VEX+1byte (Prefix)
2533e21bb09SMasami Hiramatsuc6: Grp11A Eb,Ib (1A)
2543e21bb09SMasami Hiramatsuc7: Grp11B Ev,Iz (1A)
255eb13296cSMasami Hiramatsuc8: ENTER Iw,Ib
256eb13296cSMasami Hiramatsuc9: LEAVE (d64)
257eb13296cSMasami Hiramatsuca: RETF Iw
258eb13296cSMasami Hiramatsucb: RETF
259eb13296cSMasami Hiramatsucc: INT3
260eb13296cSMasami Hiramatsucd: INT Ib
261eb13296cSMasami Hiramatsuce: INTO (i64)
262eb13296cSMasami Hiramatsucf: IRET/D/Q
263eb13296cSMasami Hiramatsu# 0xd0 - 0xdf
264eb13296cSMasami Hiramatsud0: Grp2 Eb,1 (1A)
265eb13296cSMasami Hiramatsud1: Grp2 Ev,1 (1A)
266eb13296cSMasami Hiramatsud2: Grp2 Eb,CL (1A)
267eb13296cSMasami Hiramatsud3: Grp2 Ev,CL (1A)
268eb13296cSMasami Hiramatsud4: AAM Ib (i64)
269eb13296cSMasami Hiramatsud5: AAD Ib (i64)
270eb13296cSMasami Hiramatsud6:
271eb13296cSMasami Hiramatsud7: XLAT/XLATB
272eb13296cSMasami Hiramatsud8: ESC
273eb13296cSMasami Hiramatsud9: ESC
274eb13296cSMasami Hiramatsuda: ESC
275eb13296cSMasami Hiramatsudb: ESC
276eb13296cSMasami Hiramatsudc: ESC
277eb13296cSMasami Hiramatsudd: ESC
278eb13296cSMasami Hiramatsude: ESC
279eb13296cSMasami Hiramatsudf: ESC
280eb13296cSMasami Hiramatsu# 0xe0 - 0xef
281cbb53b96SDenys Vlasenko# Note: "forced64" is Intel CPU behavior: they ignore 0x66 prefix
282cbb53b96SDenys Vlasenko# in 64-bit mode. AMD CPUs accept 0x66 prefix, it causes RIP truncation
283cbb53b96SDenys Vlasenko# to 16 bits. In 32-bit mode, 0x66 is accepted by both Intel and AMD.
284eb13296cSMasami Hiramatsue0: LOOPNE/LOOPNZ Jb (f64)
285eb13296cSMasami Hiramatsue1: LOOPE/LOOPZ Jb (f64)
286eb13296cSMasami Hiramatsue2: LOOP Jb (f64)
287eb13296cSMasami Hiramatsue3: JrCXZ Jb (f64)
288eb13296cSMasami Hiramatsue4: IN AL,Ib
289eb13296cSMasami Hiramatsue5: IN eAX,Ib
290eb13296cSMasami Hiramatsue6: OUT Ib,AL
291eb13296cSMasami Hiramatsue7: OUT Ib,eAX
292cbb53b96SDenys Vlasenko# With 0x66 prefix in 64-bit mode, for AMD CPUs immediate offset
293cbb53b96SDenys Vlasenko# in "near" jumps and calls is 16-bit. For CALL,
294cbb53b96SDenys Vlasenko# push of return address is 16-bit wide, RSP is decremented by 2
295cbb53b96SDenys Vlasenko# but is not truncated to 16 bits, unlike RIP.
296eb13296cSMasami Hiramatsue8: CALL Jz (f64)
297eb13296cSMasami Hiramatsue9: JMP-near Jz (f64)
298eb13296cSMasami Hiramatsuea: JMP-far Ap (i64)
299eb13296cSMasami Hiramatsueb: JMP-short Jb (f64)
300eb13296cSMasami Hiramatsuec: IN AL,DX
301eb13296cSMasami Hiramatsued: IN eAX,DX
302eb13296cSMasami Hiramatsuee: OUT DX,AL
303eb13296cSMasami Hiramatsuef: OUT DX,eAX
304eb13296cSMasami Hiramatsu# 0xf0 - 0xff
305eb13296cSMasami Hiramatsuf0: LOCK (Prefix)
306eb13296cSMasami Hiramatsuf1:
3073e21bb09SMasami Hiramatsuf2: REPNE (Prefix) | XACQUIRE (Prefix)
3083e21bb09SMasami Hiramatsuf3: REP/REPE (Prefix) | XRELEASE (Prefix)
309eb13296cSMasami Hiramatsuf4: HLT
310eb13296cSMasami Hiramatsuf5: CMC
311eb13296cSMasami Hiramatsuf6: Grp3_1 Eb (1A)
312eb13296cSMasami Hiramatsuf7: Grp3_2 Ev (1A)
313eb13296cSMasami Hiramatsuf8: CLC
314eb13296cSMasami Hiramatsuf9: STC
315eb13296cSMasami Hiramatsufa: CLI
316eb13296cSMasami Hiramatsufb: STI
317eb13296cSMasami Hiramatsufc: CLD
318eb13296cSMasami Hiramatsufd: STD
319eb13296cSMasami Hiramatsufe: Grp4 (1A)
320eb13296cSMasami Hiramatsuff: Grp5 (1A)
321eb13296cSMasami HiramatsuEndTable
322eb13296cSMasami Hiramatsu
323e0e492e9SMasami HiramatsuTable: 2-byte opcode (0x0f)
324eb13296cSMasami HiramatsuReferrer: 2-byte escape
325e0e492e9SMasami HiramatsuAVXcode: 1
326eb13296cSMasami Hiramatsu# 0x0f 0x00-0x0f
327eb13296cSMasami Hiramatsu00: Grp6 (1A)
328eb13296cSMasami Hiramatsu01: Grp7 (1A)
329eb13296cSMasami Hiramatsu02: LAR Gv,Ew
330eb13296cSMasami Hiramatsu03: LSL Gv,Ew
331eb13296cSMasami Hiramatsu04:
332eb13296cSMasami Hiramatsu05: SYSCALL (o64)
333eb13296cSMasami Hiramatsu06: CLTS
334eb13296cSMasami Hiramatsu07: SYSRET (o64)
335eb13296cSMasami Hiramatsu08: INVD
336b980be18SAdrian Hunter09: WBINVD | WBNOINVD (F3)
337eb13296cSMasami Hiramatsu0a:
338eb13296cSMasami Hiramatsu0b: UD2 (1B)
339eb13296cSMasami Hiramatsu0c:
3403e21bb09SMasami Hiramatsu# AMD's prefetch group. Intel supports prefetchw(/1) only.
3413e21bb09SMasami Hiramatsu0d: GrpP
342d1baf5a5SMasami Hiramatsu0e: FEMMS
343d1baf5a5SMasami Hiramatsu# 3DNow! uses the last imm byte as opcode extension.
344d1baf5a5SMasami Hiramatsu0f: 3DNow! Pq,Qq,Ib
345eb13296cSMasami Hiramatsu# 0x0f 0x10-0x1f
346a9c373d0SMasami Hiramatsu# NOTE: According to Intel SDM opcode map, vmovups and vmovupd has no operands
347a9c373d0SMasami Hiramatsu# but it actually has operands. And also, vmovss and vmovsd only accept 128bit.
348a9c373d0SMasami Hiramatsu# MOVSS/MOVSD has too many forms(3) on SDM. This map just shows a typical form.
349a9c373d0SMasami Hiramatsu# Many AVX instructions lack v1 superscript, according to Intel AVX-Prgramming
350a9c373d0SMasami Hiramatsu# Reference A.1
351a9c373d0SMasami Hiramatsu10: vmovups Vps,Wps | vmovupd Vpd,Wpd (66) | vmovss Vx,Hx,Wss (F3),(v1) | vmovsd Vx,Hx,Wsd (F2),(v1)
352a9c373d0SMasami Hiramatsu11: vmovups Wps,Vps | vmovupd Wpd,Vpd (66) | vmovss Wss,Hx,Vss (F3),(v1) | vmovsd Wsd,Hx,Vsd (F2),(v1)
353a9c373d0SMasami Hiramatsu12: vmovlps Vq,Hq,Mq (v1) | vmovhlps Vq,Hq,Uq (v1) | vmovlpd Vq,Hq,Mq (66),(v1) | vmovsldup Vx,Wx (F3) | vmovddup Vx,Wx (F2)
354a9c373d0SMasami Hiramatsu13: vmovlps Mq,Vq (v1) | vmovlpd Mq,Vq (66),(v1)
355a9c373d0SMasami Hiramatsu14: vunpcklps Vx,Hx,Wx | vunpcklpd Vx,Hx,Wx (66)
356a9c373d0SMasami Hiramatsu15: vunpckhps Vx,Hx,Wx | vunpckhpd Vx,Hx,Wx (66)
357a9c373d0SMasami Hiramatsu16: vmovhps Vdq,Hq,Mq (v1) | vmovlhps Vdq,Hq,Uq (v1) | vmovhpd Vdq,Hq,Mq (66),(v1) | vmovshdup Vx,Wx (F3)
358a9c373d0SMasami Hiramatsu17: vmovhps Mq,Vq (v1) | vmovhpd Mq,Vq (66),(v1)
359eb13296cSMasami Hiramatsu18: Grp16 (1A)
360eb13296cSMasami Hiramatsu19:
36178173ec6SAdrian Hunter# Intel SDM opcode map does not list MPX instructions. For now using Gv for
36278173ec6SAdrian Hunter# bnd registers and Ev for everything else is OK because the instruction
36378173ec6SAdrian Hunter# decoder does not use the information except as an indication that there is
36478173ec6SAdrian Hunter# a ModR/M byte.
36578173ec6SAdrian Hunter1a: BNDCL Gv,Ev (F3) | BNDCU Gv,Ev (F2) | BNDMOV Gv,Ev (66) | BNDLDX Gv,Ev
36678173ec6SAdrian Hunter1b: BNDCN Gv,Ev (F2) | BNDMOV Ev,Gv (66) | BNDMK Gv,Ev (F3) | BNDSTX Ev,Gv
367b980be18SAdrian Hunter1c: Grp20 (1A),(1C)
368eb13296cSMasami Hiramatsu1d:
3695790921bSYu-cheng Yu1e: Grp21 (1A)
370eb13296cSMasami Hiramatsu1f: NOP Ev
371eb13296cSMasami Hiramatsu# 0x0f 0x20-0x2f
372eb13296cSMasami Hiramatsu20: MOV Rd,Cd
373eb13296cSMasami Hiramatsu21: MOV Rd,Dd
374eb13296cSMasami Hiramatsu22: MOV Cd,Rd
375eb13296cSMasami Hiramatsu23: MOV Dd,Rd
376eb13296cSMasami Hiramatsu24:
377eb13296cSMasami Hiramatsu25:
378eb13296cSMasami Hiramatsu26:
379eb13296cSMasami Hiramatsu27:
380a9c373d0SMasami Hiramatsu28: vmovaps Vps,Wps | vmovapd Vpd,Wpd (66)
381a9c373d0SMasami Hiramatsu29: vmovaps Wps,Vps | vmovapd Wpd,Vpd (66)
382a9c373d0SMasami Hiramatsu2a: cvtpi2ps Vps,Qpi | cvtpi2pd Vpd,Qpi (66) | vcvtsi2ss Vss,Hss,Ey (F3),(v1) | vcvtsi2sd Vsd,Hsd,Ey (F2),(v1)
383a9c373d0SMasami Hiramatsu2b: vmovntps Mps,Vps | vmovntpd Mpd,Vpd (66)
384a9c373d0SMasami Hiramatsu2c: cvttps2pi Ppi,Wps | cvttpd2pi Ppi,Wpd (66) | vcvttss2si Gy,Wss (F3),(v1) | vcvttsd2si Gy,Wsd (F2),(v1)
385a9c373d0SMasami Hiramatsu2d: cvtps2pi Ppi,Wps | cvtpd2pi Qpi,Wpd (66) | vcvtss2si Gy,Wss (F3),(v1) | vcvtsd2si Gy,Wsd (F2),(v1)
386a9c373d0SMasami Hiramatsu2e: vucomiss Vss,Wss (v1) | vucomisd  Vsd,Wsd (66),(v1)
387a9c373d0SMasami Hiramatsu2f: vcomiss Vss,Wss (v1) | vcomisd  Vsd,Wsd (66),(v1)
388eb13296cSMasami Hiramatsu# 0x0f 0x30-0x3f
389eb13296cSMasami Hiramatsu30: WRMSR
390eb13296cSMasami Hiramatsu31: RDTSC
391eb13296cSMasami Hiramatsu32: RDMSR
392eb13296cSMasami Hiramatsu33: RDPMC
393eb13296cSMasami Hiramatsu34: SYSENTER
394eb13296cSMasami Hiramatsu35: SYSEXIT
395eb13296cSMasami Hiramatsu36:
396eb13296cSMasami Hiramatsu37: GETSEC
397eb13296cSMasami Hiramatsu38: escape # 3-byte escape 1
398eb13296cSMasami Hiramatsu39:
399eb13296cSMasami Hiramatsu3a: escape # 3-byte escape 2
400eb13296cSMasami Hiramatsu3b:
401eb13296cSMasami Hiramatsu3c:
402eb13296cSMasami Hiramatsu3d:
403eb13296cSMasami Hiramatsu3e:
404eb13296cSMasami Hiramatsu3f:
405eb13296cSMasami Hiramatsu# 0x0f 0x40-0x4f
406eb13296cSMasami Hiramatsu40: CMOVO Gv,Ev
40725af37f4SAdrian Hunter41: CMOVNO Gv,Ev | kandw/q Vk,Hk,Uk | kandb/d Vk,Hk,Uk (66)
40825af37f4SAdrian Hunter42: CMOVB/C/NAE Gv,Ev | kandnw/q Vk,Hk,Uk | kandnb/d Vk,Hk,Uk (66)
409eb13296cSMasami Hiramatsu43: CMOVAE/NB/NC Gv,Ev
41025af37f4SAdrian Hunter44: CMOVE/Z Gv,Ev | knotw/q Vk,Uk | knotb/d Vk,Uk (66)
41125af37f4SAdrian Hunter45: CMOVNE/NZ Gv,Ev | korw/q Vk,Hk,Uk | korb/d Vk,Hk,Uk (66)
41225af37f4SAdrian Hunter46: CMOVBE/NA Gv,Ev | kxnorw/q Vk,Hk,Uk | kxnorb/d Vk,Hk,Uk (66)
41325af37f4SAdrian Hunter47: CMOVA/NBE Gv,Ev | kxorw/q Vk,Hk,Uk | kxorb/d Vk,Hk,Uk (66)
414eb13296cSMasami Hiramatsu48: CMOVS Gv,Ev
415eb13296cSMasami Hiramatsu49: CMOVNS Gv,Ev
41625af37f4SAdrian Hunter4a: CMOVP/PE Gv,Ev | kaddw/q Vk,Hk,Uk | kaddb/d Vk,Hk,Uk (66)
41725af37f4SAdrian Hunter4b: CMOVNP/PO Gv,Ev | kunpckbw Vk,Hk,Uk (66) | kunpckwd/dq Vk,Hk,Uk
418eb13296cSMasami Hiramatsu4c: CMOVL/NGE Gv,Ev
419eb13296cSMasami Hiramatsu4d: CMOVNL/GE Gv,Ev
420eb13296cSMasami Hiramatsu4e: CMOVLE/NG Gv,Ev
421eb13296cSMasami Hiramatsu4f: CMOVNLE/G Gv,Ev
422eb13296cSMasami Hiramatsu# 0x0f 0x50-0x5f
423a9c373d0SMasami Hiramatsu50: vmovmskps Gy,Ups | vmovmskpd Gy,Upd (66)
424a9c373d0SMasami Hiramatsu51: vsqrtps Vps,Wps | vsqrtpd Vpd,Wpd (66) | vsqrtss Vss,Hss,Wss (F3),(v1) | vsqrtsd Vsd,Hsd,Wsd (F2),(v1)
425a9c373d0SMasami Hiramatsu52: vrsqrtps Vps,Wps | vrsqrtss Vss,Hss,Wss (F3),(v1)
426a9c373d0SMasami Hiramatsu53: vrcpps Vps,Wps | vrcpss Vss,Hss,Wss (F3),(v1)
427a9c373d0SMasami Hiramatsu54: vandps Vps,Hps,Wps | vandpd Vpd,Hpd,Wpd (66)
428a9c373d0SMasami Hiramatsu55: vandnps Vps,Hps,Wps | vandnpd Vpd,Hpd,Wpd (66)
429a9c373d0SMasami Hiramatsu56: vorps Vps,Hps,Wps | vorpd Vpd,Hpd,Wpd (66)
430a9c373d0SMasami Hiramatsu57: vxorps Vps,Hps,Wps | vxorpd Vpd,Hpd,Wpd (66)
431a9c373d0SMasami Hiramatsu58: vaddps Vps,Hps,Wps | vaddpd Vpd,Hpd,Wpd (66) | vaddss Vss,Hss,Wss (F3),(v1) | vaddsd Vsd,Hsd,Wsd (F2),(v1)
432a9c373d0SMasami Hiramatsu59: vmulps Vps,Hps,Wps | vmulpd Vpd,Hpd,Wpd (66) | vmulss Vss,Hss,Wss (F3),(v1) | vmulsd Vsd,Hsd,Wsd (F2),(v1)
433a9c373d0SMasami Hiramatsu5a: vcvtps2pd Vpd,Wps | vcvtpd2ps Vps,Wpd (66) | vcvtss2sd Vsd,Hx,Wss (F3),(v1) | vcvtsd2ss Vss,Hx,Wsd (F2),(v1)
43425af37f4SAdrian Hunter5b: vcvtdq2ps Vps,Wdq | vcvtqq2ps Vps,Wqq (evo) | vcvtps2dq Vdq,Wps (66) | vcvttps2dq Vdq,Wps (F3)
435a9c373d0SMasami Hiramatsu5c: vsubps Vps,Hps,Wps | vsubpd Vpd,Hpd,Wpd (66) | vsubss Vss,Hss,Wss (F3),(v1) | vsubsd Vsd,Hsd,Wsd (F2),(v1)
436a9c373d0SMasami Hiramatsu5d: vminps Vps,Hps,Wps | vminpd Vpd,Hpd,Wpd (66) | vminss Vss,Hss,Wss (F3),(v1) | vminsd Vsd,Hsd,Wsd (F2),(v1)
437a9c373d0SMasami Hiramatsu5e: vdivps Vps,Hps,Wps | vdivpd Vpd,Hpd,Wpd (66) | vdivss Vss,Hss,Wss (F3),(v1) | vdivsd Vsd,Hsd,Wsd (F2),(v1)
438a9c373d0SMasami Hiramatsu5f: vmaxps Vps,Hps,Wps | vmaxpd Vpd,Hpd,Wpd (66) | vmaxss Vss,Hss,Wss (F3),(v1) | vmaxsd Vsd,Hsd,Wsd (F2),(v1)
439eb13296cSMasami Hiramatsu# 0x0f 0x60-0x6f
440a9c373d0SMasami Hiramatsu60: punpcklbw Pq,Qd | vpunpcklbw Vx,Hx,Wx (66),(v1)
441a9c373d0SMasami Hiramatsu61: punpcklwd Pq,Qd | vpunpcklwd Vx,Hx,Wx (66),(v1)
442a9c373d0SMasami Hiramatsu62: punpckldq Pq,Qd | vpunpckldq Vx,Hx,Wx (66),(v1)
443a9c373d0SMasami Hiramatsu63: packsswb Pq,Qq | vpacksswb Vx,Hx,Wx (66),(v1)
444a9c373d0SMasami Hiramatsu64: pcmpgtb Pq,Qq | vpcmpgtb Vx,Hx,Wx (66),(v1)
445a9c373d0SMasami Hiramatsu65: pcmpgtw Pq,Qq | vpcmpgtw Vx,Hx,Wx (66),(v1)
446a9c373d0SMasami Hiramatsu66: pcmpgtd Pq,Qq | vpcmpgtd Vx,Hx,Wx (66),(v1)
447a9c373d0SMasami Hiramatsu67: packuswb Pq,Qq | vpackuswb Vx,Hx,Wx (66),(v1)
448a9c373d0SMasami Hiramatsu68: punpckhbw Pq,Qd | vpunpckhbw Vx,Hx,Wx (66),(v1)
449a9c373d0SMasami Hiramatsu69: punpckhwd Pq,Qd | vpunpckhwd Vx,Hx,Wx (66),(v1)
450a9c373d0SMasami Hiramatsu6a: punpckhdq Pq,Qd | vpunpckhdq Vx,Hx,Wx (66),(v1)
451a9c373d0SMasami Hiramatsu6b: packssdw Pq,Qd | vpackssdw Vx,Hx,Wx (66),(v1)
452a9c373d0SMasami Hiramatsu6c: vpunpcklqdq Vx,Hx,Wx (66),(v1)
453a9c373d0SMasami Hiramatsu6d: vpunpckhqdq Vx,Hx,Wx (66),(v1)
454a9c373d0SMasami Hiramatsu6e: movd/q Pd,Ey | vmovd/q Vy,Ey (66),(v1)
45525af37f4SAdrian Hunter6f: movq Pq,Qq | vmovdqa Vx,Wx (66) | vmovdqa32/64 Vx,Wx (66),(evo) | vmovdqu Vx,Wx (F3) | vmovdqu32/64 Vx,Wx (F3),(evo) | vmovdqu8/16 Vx,Wx (F2),(ev)
456eb13296cSMasami Hiramatsu# 0x0f 0x70-0x7f
457a9c373d0SMasami Hiramatsu70: pshufw Pq,Qq,Ib | vpshufd Vx,Wx,Ib (66),(v1) | vpshufhw Vx,Wx,Ib (F3),(v1) | vpshuflw Vx,Wx,Ib (F2),(v1)
458eb13296cSMasami Hiramatsu71: Grp12 (1A)
459eb13296cSMasami Hiramatsu72: Grp13 (1A)
460eb13296cSMasami Hiramatsu73: Grp14 (1A)
461a9c373d0SMasami Hiramatsu74: pcmpeqb Pq,Qq | vpcmpeqb Vx,Hx,Wx (66),(v1)
462a9c373d0SMasami Hiramatsu75: pcmpeqw Pq,Qq | vpcmpeqw Vx,Hx,Wx (66),(v1)
463a9c373d0SMasami Hiramatsu76: pcmpeqd Pq,Qq | vpcmpeqd Vx,Hx,Wx (66),(v1)
464a9c373d0SMasami Hiramatsu# Note: Remove (v), because vzeroall and vzeroupper becomes emms without VEX.
465a9c373d0SMasami Hiramatsu77: emms | vzeroupper | vzeroall
46625af37f4SAdrian Hunter78: VMREAD Ey,Gy | vcvttps2udq/pd2udq Vx,Wpd (evo) | vcvttsd2usi Gv,Wx (F2),(ev) | vcvttss2usi Gv,Wx (F3),(ev) | vcvttps2uqq/pd2uqq Vx,Wx (66),(ev)
46725af37f4SAdrian Hunter79: VMWRITE Gy,Ey | vcvtps2udq/pd2udq Vx,Wpd (evo) | vcvtsd2usi Gv,Wx (F2),(ev) | vcvtss2usi Gv,Wx (F3),(ev) | vcvtps2uqq/pd2uqq Vx,Wx (66),(ev)
46825af37f4SAdrian Hunter7a: vcvtudq2pd/uqq2pd Vpd,Wx (F3),(ev) | vcvtudq2ps/uqq2ps Vpd,Wx (F2),(ev) | vcvttps2qq/pd2qq Vx,Wx (66),(ev)
46925af37f4SAdrian Hunter7b: vcvtusi2sd Vpd,Hpd,Ev (F2),(ev) | vcvtusi2ss Vps,Hps,Ev (F3),(ev) | vcvtps2qq/pd2qq Vx,Wx (66),(ev)
470a9c373d0SMasami Hiramatsu7c: vhaddpd Vpd,Hpd,Wpd (66) | vhaddps Vps,Hps,Wps (F2)
471a9c373d0SMasami Hiramatsu7d: vhsubpd Vpd,Hpd,Wpd (66) | vhsubps Vps,Hps,Wps (F2)
472a9c373d0SMasami Hiramatsu7e: movd/q Ey,Pd | vmovd/q Ey,Vy (66),(v1) | vmovq Vq,Wq (F3),(v1)
47325af37f4SAdrian Hunter7f: movq Qq,Pq | vmovdqa Wx,Vx (66) | vmovdqa32/64 Wx,Vx (66),(evo) | vmovdqu Wx,Vx (F3) | vmovdqu32/64 Wx,Vx (F3),(evo) | vmovdqu8/16 Wx,Vx (F2),(ev)
474eb13296cSMasami Hiramatsu# 0x0f 0x80-0x8f
475cbb53b96SDenys Vlasenko# Note: "forced64" is Intel CPU behavior (see comment about CALL insn).
476eb13296cSMasami Hiramatsu80: JO Jz (f64)
477eb13296cSMasami Hiramatsu81: JNO Jz (f64)
478a9c373d0SMasami Hiramatsu82: JB/JC/JNAE Jz (f64)
479a9c373d0SMasami Hiramatsu83: JAE/JNB/JNC Jz (f64)
480a9c373d0SMasami Hiramatsu84: JE/JZ Jz (f64)
481a9c373d0SMasami Hiramatsu85: JNE/JNZ Jz (f64)
482eb13296cSMasami Hiramatsu86: JBE/JNA Jz (f64)
483a9c373d0SMasami Hiramatsu87: JA/JNBE Jz (f64)
484eb13296cSMasami Hiramatsu88: JS Jz (f64)
485eb13296cSMasami Hiramatsu89: JNS Jz (f64)
486eb13296cSMasami Hiramatsu8a: JP/JPE Jz (f64)
487eb13296cSMasami Hiramatsu8b: JNP/JPO Jz (f64)
488eb13296cSMasami Hiramatsu8c: JL/JNGE Jz (f64)
489eb13296cSMasami Hiramatsu8d: JNL/JGE Jz (f64)
490eb13296cSMasami Hiramatsu8e: JLE/JNG Jz (f64)
491eb13296cSMasami Hiramatsu8f: JNLE/JG Jz (f64)
492eb13296cSMasami Hiramatsu# 0x0f 0x90-0x9f
49325af37f4SAdrian Hunter90: SETO Eb | kmovw/q Vk,Wk | kmovb/d Vk,Wk (66)
49425af37f4SAdrian Hunter91: SETNO Eb | kmovw/q Mv,Vk | kmovb/d Mv,Vk (66)
49525af37f4SAdrian Hunter92: SETB/C/NAE Eb | kmovw Vk,Rv | kmovb Vk,Rv (66) | kmovq/d Vk,Rv (F2)
49625af37f4SAdrian Hunter93: SETAE/NB/NC Eb | kmovw Gv,Uk | kmovb Gv,Uk (66) | kmovq/d Gv,Uk (F2)
497eb13296cSMasami Hiramatsu94: SETE/Z Eb
498eb13296cSMasami Hiramatsu95: SETNE/NZ Eb
499eb13296cSMasami Hiramatsu96: SETBE/NA Eb
500eb13296cSMasami Hiramatsu97: SETA/NBE Eb
50125af37f4SAdrian Hunter98: SETS Eb | kortestw/q Vk,Uk | kortestb/d Vk,Uk (66)
50225af37f4SAdrian Hunter99: SETNS Eb | ktestw/q Vk,Uk | ktestb/d Vk,Uk (66)
503eb13296cSMasami Hiramatsu9a: SETP/PE Eb
504eb13296cSMasami Hiramatsu9b: SETNP/PO Eb
505eb13296cSMasami Hiramatsu9c: SETL/NGE Eb
506eb13296cSMasami Hiramatsu9d: SETNL/GE Eb
507eb13296cSMasami Hiramatsu9e: SETLE/NG Eb
508eb13296cSMasami Hiramatsu9f: SETNLE/G Eb
509eb13296cSMasami Hiramatsu# 0x0f 0xa0-0xaf
510eb13296cSMasami Hiramatsua0: PUSH FS (d64)
511eb13296cSMasami Hiramatsua1: POP FS (d64)
512eb13296cSMasami Hiramatsua2: CPUID
513eb13296cSMasami Hiramatsua3: BT Ev,Gv
514eb13296cSMasami Hiramatsua4: SHLD Ev,Gv,Ib
515eb13296cSMasami Hiramatsua5: SHLD Ev,Gv,CL
516c0b11d3aSMasami Hiramatsua6: GrpPDLK
517eb13296cSMasami Hiramatsua7: GrpRNG
518eb13296cSMasami Hiramatsua8: PUSH GS (d64)
519eb13296cSMasami Hiramatsua9: POP GS (d64)
520eb13296cSMasami Hiramatsuaa: RSM
521eb13296cSMasami Hiramatsuab: BTS Ev,Gv
522eb13296cSMasami Hiramatsuac: SHRD Ev,Gv,Ib
523eb13296cSMasami Hiramatsuad: SHRD Ev,Gv,CL
524eb13296cSMasami Hiramatsuae: Grp15 (1A),(1C)
525eb13296cSMasami Hiramatsuaf: IMUL Gv,Ev
526eb13296cSMasami Hiramatsu# 0x0f 0xb0-0xbf
527eb13296cSMasami Hiramatsub0: CMPXCHG Eb,Gb
528eb13296cSMasami Hiramatsub1: CMPXCHG Ev,Gv
529eb13296cSMasami Hiramatsub2: LSS Gv,Mp
530eb13296cSMasami Hiramatsub3: BTR Ev,Gv
531eb13296cSMasami Hiramatsub4: LFS Gv,Mp
532eb13296cSMasami Hiramatsub5: LGS Gv,Mp
533eb13296cSMasami Hiramatsub6: MOVZX Gv,Eb
534eb13296cSMasami Hiramatsub7: MOVZX Gv,Ew
535436d03faSMasami Hiramatsub8: JMPE (!F3) | POPCNT Gv,Ev (F3)
536eb13296cSMasami Hiramatsub9: Grp10 (1A)
537eb13296cSMasami Hiramatsuba: Grp8 Ev,Ib (1A)
538eb13296cSMasami Hiramatsubb: BTC Ev,Gv
539436d03faSMasami Hiramatsubc: BSF Gv,Ev (!F3) | TZCNT Gv,Ev (F3)
540436d03faSMasami Hiramatsubd: BSR Gv,Ev (!F3) | LZCNT Gv,Ev (F3)
541eb13296cSMasami Hiramatsube: MOVSX Gv,Eb
542eb13296cSMasami Hiramatsubf: MOVSX Gv,Ew
543eb13296cSMasami Hiramatsu# 0x0f 0xc0-0xcf
544eb13296cSMasami Hiramatsuc0: XADD Eb,Gb
545eb13296cSMasami Hiramatsuc1: XADD Ev,Gv
546a9c373d0SMasami Hiramatsuc2: vcmpps Vps,Hps,Wps,Ib | vcmppd Vpd,Hpd,Wpd,Ib (66) | vcmpss Vss,Hss,Wss,Ib (F3),(v1) | vcmpsd Vsd,Hsd,Wsd,Ib (F2),(v1)
547a9c373d0SMasami Hiramatsuc3: movnti My,Gy
548a9c373d0SMasami Hiramatsuc4: pinsrw Pq,Ry/Mw,Ib | vpinsrw Vdq,Hdq,Ry/Mw,Ib (66),(v1)
549a9c373d0SMasami Hiramatsuc5: pextrw Gd,Nq,Ib | vpextrw Gd,Udq,Ib (66),(v1)
550a9c373d0SMasami Hiramatsuc6: vshufps Vps,Hps,Wps,Ib | vshufpd Vpd,Hpd,Wpd,Ib (66)
551eb13296cSMasami Hiramatsuc7: Grp9 (1A)
552eb13296cSMasami Hiramatsuc8: BSWAP RAX/EAX/R8/R8D
553eb13296cSMasami Hiramatsuc9: BSWAP RCX/ECX/R9/R9D
554eb13296cSMasami Hiramatsuca: BSWAP RDX/EDX/R10/R10D
555eb13296cSMasami Hiramatsucb: BSWAP RBX/EBX/R11/R11D
556eb13296cSMasami Hiramatsucc: BSWAP RSP/ESP/R12/R12D
557eb13296cSMasami Hiramatsucd: BSWAP RBP/EBP/R13/R13D
558eb13296cSMasami Hiramatsuce: BSWAP RSI/ESI/R14/R14D
559eb13296cSMasami Hiramatsucf: BSWAP RDI/EDI/R15/R15D
560eb13296cSMasami Hiramatsu# 0x0f 0xd0-0xdf
561a9c373d0SMasami Hiramatsud0: vaddsubpd Vpd,Hpd,Wpd (66) | vaddsubps Vps,Hps,Wps (F2)
562a9c373d0SMasami Hiramatsud1: psrlw Pq,Qq | vpsrlw Vx,Hx,Wx (66),(v1)
563a9c373d0SMasami Hiramatsud2: psrld Pq,Qq | vpsrld Vx,Hx,Wx (66),(v1)
564a9c373d0SMasami Hiramatsud3: psrlq Pq,Qq | vpsrlq Vx,Hx,Wx (66),(v1)
565a9c373d0SMasami Hiramatsud4: paddq Pq,Qq | vpaddq Vx,Hx,Wx (66),(v1)
566a9c373d0SMasami Hiramatsud5: pmullw Pq,Qq | vpmullw Vx,Hx,Wx (66),(v1)
567a9c373d0SMasami Hiramatsud6: vmovq Wq,Vq (66),(v1) | movq2dq Vdq,Nq (F3) | movdq2q Pq,Uq (F2)
568a9c373d0SMasami Hiramatsud7: pmovmskb Gd,Nq | vpmovmskb Gd,Ux (66),(v1)
569a9c373d0SMasami Hiramatsud8: psubusb Pq,Qq | vpsubusb Vx,Hx,Wx (66),(v1)
570a9c373d0SMasami Hiramatsud9: psubusw Pq,Qq | vpsubusw Vx,Hx,Wx (66),(v1)
571a9c373d0SMasami Hiramatsuda: pminub Pq,Qq | vpminub Vx,Hx,Wx (66),(v1)
57225af37f4SAdrian Hunterdb: pand Pq,Qq | vpand Vx,Hx,Wx (66),(v1) | vpandd/q Vx,Hx,Wx (66),(evo)
573a9c373d0SMasami Hiramatsudc: paddusb Pq,Qq | vpaddusb Vx,Hx,Wx (66),(v1)
574a9c373d0SMasami Hiramatsudd: paddusw Pq,Qq | vpaddusw Vx,Hx,Wx (66),(v1)
575a9c373d0SMasami Hiramatsude: pmaxub Pq,Qq | vpmaxub Vx,Hx,Wx (66),(v1)
57625af37f4SAdrian Hunterdf: pandn Pq,Qq | vpandn Vx,Hx,Wx (66),(v1) | vpandnd/q Vx,Hx,Wx (66),(evo)
577eb13296cSMasami Hiramatsu# 0x0f 0xe0-0xef
578a9c373d0SMasami Hiramatsue0: pavgb Pq,Qq | vpavgb Vx,Hx,Wx (66),(v1)
579a9c373d0SMasami Hiramatsue1: psraw Pq,Qq | vpsraw Vx,Hx,Wx (66),(v1)
580a9c373d0SMasami Hiramatsue2: psrad Pq,Qq | vpsrad Vx,Hx,Wx (66),(v1)
581a9c373d0SMasami Hiramatsue3: pavgw Pq,Qq | vpavgw Vx,Hx,Wx (66),(v1)
582a9c373d0SMasami Hiramatsue4: pmulhuw Pq,Qq | vpmulhuw Vx,Hx,Wx (66),(v1)
583a9c373d0SMasami Hiramatsue5: pmulhw Pq,Qq | vpmulhw Vx,Hx,Wx (66),(v1)
58425af37f4SAdrian Huntere6: vcvttpd2dq Vx,Wpd (66) | vcvtdq2pd Vx,Wdq (F3) | vcvtdq2pd/qq2pd Vx,Wdq (F3),(evo) | vcvtpd2dq Vx,Wpd (F2)
585a9c373d0SMasami Hiramatsue7: movntq Mq,Pq | vmovntdq Mx,Vx (66)
586a9c373d0SMasami Hiramatsue8: psubsb Pq,Qq | vpsubsb Vx,Hx,Wx (66),(v1)
587a9c373d0SMasami Hiramatsue9: psubsw Pq,Qq | vpsubsw Vx,Hx,Wx (66),(v1)
588a9c373d0SMasami Hiramatsuea: pminsw Pq,Qq | vpminsw Vx,Hx,Wx (66),(v1)
58925af37f4SAdrian Huntereb: por Pq,Qq | vpor Vx,Hx,Wx (66),(v1) | vpord/q Vx,Hx,Wx (66),(evo)
590a9c373d0SMasami Hiramatsuec: paddsb Pq,Qq | vpaddsb Vx,Hx,Wx (66),(v1)
591a9c373d0SMasami Hiramatsued: paddsw Pq,Qq | vpaddsw Vx,Hx,Wx (66),(v1)
592a9c373d0SMasami Hiramatsuee: pmaxsw Pq,Qq | vpmaxsw Vx,Hx,Wx (66),(v1)
59325af37f4SAdrian Hunteref: pxor Pq,Qq | vpxor Vx,Hx,Wx (66),(v1) | vpxord/q Vx,Hx,Wx (66),(evo)
594eb13296cSMasami Hiramatsu# 0x0f 0xf0-0xff
595a9c373d0SMasami Hiramatsuf0: vlddqu Vx,Mx (F2)
596a9c373d0SMasami Hiramatsuf1: psllw Pq,Qq | vpsllw Vx,Hx,Wx (66),(v1)
597a9c373d0SMasami Hiramatsuf2: pslld Pq,Qq | vpslld Vx,Hx,Wx (66),(v1)
598a9c373d0SMasami Hiramatsuf3: psllq Pq,Qq | vpsllq Vx,Hx,Wx (66),(v1)
599a9c373d0SMasami Hiramatsuf4: pmuludq Pq,Qq | vpmuludq Vx,Hx,Wx (66),(v1)
600a9c373d0SMasami Hiramatsuf5: pmaddwd Pq,Qq | vpmaddwd Vx,Hx,Wx (66),(v1)
601a9c373d0SMasami Hiramatsuf6: psadbw Pq,Qq | vpsadbw Vx,Hx,Wx (66),(v1)
602a9c373d0SMasami Hiramatsuf7: maskmovq Pq,Nq | vmaskmovdqu Vx,Ux (66),(v1)
603a9c373d0SMasami Hiramatsuf8: psubb Pq,Qq | vpsubb Vx,Hx,Wx (66),(v1)
604a9c373d0SMasami Hiramatsuf9: psubw Pq,Qq | vpsubw Vx,Hx,Wx (66),(v1)
605a9c373d0SMasami Hiramatsufa: psubd Pq,Qq | vpsubd Vx,Hx,Wx (66),(v1)
606a9c373d0SMasami Hiramatsufb: psubq Pq,Qq | vpsubq Vx,Hx,Wx (66),(v1)
607a9c373d0SMasami Hiramatsufc: paddb Pq,Qq | vpaddb Vx,Hx,Wx (66),(v1)
608a9c373d0SMasami Hiramatsufd: paddw Pq,Qq | vpaddw Vx,Hx,Wx (66),(v1)
609a9c373d0SMasami Hiramatsufe: paddd Pq,Qq | vpaddd Vx,Hx,Wx (66),(v1)
610f5b5fab1SRandy Dunlapff: UD0
611eb13296cSMasami HiramatsuEndTable
612eb13296cSMasami Hiramatsu
6139983d60dSMasami HiramatsuTable: 3-byte opcode 1 (0x0f 0x38)
614eb13296cSMasami HiramatsuReferrer: 3-byte escape 1
615e0e492e9SMasami HiramatsuAVXcode: 2
616f12b4f54SMasami Hiramatsu# 0x0f 0x38 0x00-0x0f
617a9c373d0SMasami Hiramatsu00: pshufb Pq,Qq | vpshufb Vx,Hx,Wx (66),(v1)
618a9c373d0SMasami Hiramatsu01: phaddw Pq,Qq | vphaddw Vx,Hx,Wx (66),(v1)
619a9c373d0SMasami Hiramatsu02: phaddd Pq,Qq | vphaddd Vx,Hx,Wx (66),(v1)
620a9c373d0SMasami Hiramatsu03: phaddsw Pq,Qq | vphaddsw Vx,Hx,Wx (66),(v1)
621a9c373d0SMasami Hiramatsu04: pmaddubsw Pq,Qq | vpmaddubsw Vx,Hx,Wx (66),(v1)
622a9c373d0SMasami Hiramatsu05: phsubw Pq,Qq | vphsubw Vx,Hx,Wx (66),(v1)
623a9c373d0SMasami Hiramatsu06: phsubd Pq,Qq | vphsubd Vx,Hx,Wx (66),(v1)
624a9c373d0SMasami Hiramatsu07: phsubsw Pq,Qq | vphsubsw Vx,Hx,Wx (66),(v1)
625a9c373d0SMasami Hiramatsu08: psignb Pq,Qq | vpsignb Vx,Hx,Wx (66),(v1)
626a9c373d0SMasami Hiramatsu09: psignw Pq,Qq | vpsignw Vx,Hx,Wx (66),(v1)
627a9c373d0SMasami Hiramatsu0a: psignd Pq,Qq | vpsignd Vx,Hx,Wx (66),(v1)
628a9c373d0SMasami Hiramatsu0b: pmulhrsw Pq,Qq | vpmulhrsw Vx,Hx,Wx (66),(v1)
629a9c373d0SMasami Hiramatsu0c: vpermilps Vx,Hx,Wx (66),(v)
630a9c373d0SMasami Hiramatsu0d: vpermilpd Vx,Hx,Wx (66),(v)
631a9c373d0SMasami Hiramatsu0e: vtestps Vx,Wx (66),(v)
632a9c373d0SMasami Hiramatsu0f: vtestpd Vx,Wx (66),(v)
633f12b4f54SMasami Hiramatsu# 0x0f 0x38 0x10-0x1f
63425af37f4SAdrian Hunter10: pblendvb Vdq,Wdq (66) | vpsrlvw Vx,Hx,Wx (66),(evo) | vpmovuswb Wx,Vx (F3),(ev)
63525af37f4SAdrian Hunter11: vpmovusdb Wx,Vd (F3),(ev) | vpsravw Vx,Hx,Wx (66),(ev)
63625af37f4SAdrian Hunter12: vpmovusqb Wx,Vq (F3),(ev) | vpsllvw Vx,Hx,Wx (66),(ev)
63725af37f4SAdrian Hunter13: vcvtph2ps Vx,Wx (66),(v) | vpmovusdw Wx,Vd (F3),(ev)
63825af37f4SAdrian Hunter14: blendvps Vdq,Wdq (66) | vpmovusqw Wx,Vq (F3),(ev) | vprorvd/q Vx,Hx,Wx (66),(evo)
63925af37f4SAdrian Hunter15: blendvpd Vdq,Wdq (66) | vpmovusqd Wx,Vq (F3),(ev) | vprolvd/q Vx,Hx,Wx (66),(evo)
64025af37f4SAdrian Hunter16: vpermps Vqq,Hqq,Wqq (66),(v) | vpermps/d Vqq,Hqq,Wqq (66),(evo)
641a9c373d0SMasami Hiramatsu17: vptest Vx,Wx (66)
642a9c373d0SMasami Hiramatsu18: vbroadcastss Vx,Wd (66),(v)
64325af37f4SAdrian Hunter19: vbroadcastsd Vqq,Wq (66),(v) | vbroadcastf32x2 Vqq,Wq (66),(evo)
64425af37f4SAdrian Hunter1a: vbroadcastf128 Vqq,Mdq (66),(v) | vbroadcastf32x4/64x2 Vqq,Wq (66),(evo)
64525af37f4SAdrian Hunter1b: vbroadcastf32x8/64x4 Vqq,Mdq (66),(ev)
646a9c373d0SMasami Hiramatsu1c: pabsb Pq,Qq | vpabsb Vx,Wx (66),(v1)
647a9c373d0SMasami Hiramatsu1d: pabsw Pq,Qq | vpabsw Vx,Wx (66),(v1)
648a9c373d0SMasami Hiramatsu1e: pabsd Pq,Qq | vpabsd Vx,Wx (66),(v1)
64925af37f4SAdrian Hunter1f: vpabsq Vx,Wx (66),(ev)
650f12b4f54SMasami Hiramatsu# 0x0f 0x38 0x20-0x2f
65125af37f4SAdrian Hunter20: vpmovsxbw Vx,Ux/Mq (66),(v1) | vpmovswb Wx,Vx (F3),(ev)
65225af37f4SAdrian Hunter21: vpmovsxbd Vx,Ux/Md (66),(v1) | vpmovsdb Wx,Vd (F3),(ev)
65325af37f4SAdrian Hunter22: vpmovsxbq Vx,Ux/Mw (66),(v1) | vpmovsqb Wx,Vq (F3),(ev)
65425af37f4SAdrian Hunter23: vpmovsxwd Vx,Ux/Mq (66),(v1) | vpmovsdw Wx,Vd (F3),(ev)
65525af37f4SAdrian Hunter24: vpmovsxwq Vx,Ux/Md (66),(v1) | vpmovsqw Wx,Vq (F3),(ev)
65625af37f4SAdrian Hunter25: vpmovsxdq Vx,Ux/Mq (66),(v1) | vpmovsqd Wx,Vq (F3),(ev)
65725af37f4SAdrian Hunter26: vptestmb/w Vk,Hx,Wx (66),(ev) | vptestnmb/w Vk,Hx,Wx (F3),(ev)
65825af37f4SAdrian Hunter27: vptestmd/q Vk,Hx,Wx (66),(ev) | vptestnmd/q Vk,Hx,Wx (F3),(ev)
65925af37f4SAdrian Hunter28: vpmuldq Vx,Hx,Wx (66),(v1) | vpmovm2b/w Vx,Uk (F3),(ev)
66025af37f4SAdrian Hunter29: vpcmpeqq Vx,Hx,Wx (66),(v1) | vpmovb2m/w2m Vk,Ux (F3),(ev)
66125af37f4SAdrian Hunter2a: vmovntdqa Vx,Mx (66),(v1) | vpbroadcastmb2q Vx,Uk (F3),(ev)
662a9c373d0SMasami Hiramatsu2b: vpackusdw Vx,Hx,Wx (66),(v1)
66325af37f4SAdrian Hunter2c: vmaskmovps Vx,Hx,Mx (66),(v) | vscalefps/d Vx,Hx,Wx (66),(evo)
66425af37f4SAdrian Hunter2d: vmaskmovpd Vx,Hx,Mx (66),(v) | vscalefss/d Vx,Hx,Wx (66),(evo)
665a9c373d0SMasami Hiramatsu2e: vmaskmovps Mx,Hx,Vx (66),(v)
666a9c373d0SMasami Hiramatsu2f: vmaskmovpd Mx,Hx,Vx (66),(v)
667f12b4f54SMasami Hiramatsu# 0x0f 0x38 0x30-0x3f
66825af37f4SAdrian Hunter30: vpmovzxbw Vx,Ux/Mq (66),(v1) | vpmovwb Wx,Vx (F3),(ev)
66925af37f4SAdrian Hunter31: vpmovzxbd Vx,Ux/Md (66),(v1) | vpmovdb Wx,Vd (F3),(ev)
67025af37f4SAdrian Hunter32: vpmovzxbq Vx,Ux/Mw (66),(v1) | vpmovqb Wx,Vq (F3),(ev)
67125af37f4SAdrian Hunter33: vpmovzxwd Vx,Ux/Mq (66),(v1) | vpmovdw Wx,Vd (F3),(ev)
67225af37f4SAdrian Hunter34: vpmovzxwq Vx,Ux/Md (66),(v1) | vpmovqw Wx,Vq (F3),(ev)
67325af37f4SAdrian Hunter35: vpmovzxdq Vx,Ux/Mq (66),(v1) | vpmovqd Wx,Vq (F3),(ev)
67425af37f4SAdrian Hunter36: vpermd Vqq,Hqq,Wqq (66),(v) | vpermd/q Vqq,Hqq,Wqq (66),(evo)
675a9c373d0SMasami Hiramatsu37: vpcmpgtq Vx,Hx,Wx (66),(v1)
67625af37f4SAdrian Hunter38: vpminsb Vx,Hx,Wx (66),(v1) | vpmovm2d/q Vx,Uk (F3),(ev)
67725af37f4SAdrian Hunter39: vpminsd Vx,Hx,Wx (66),(v1) | vpminsd/q Vx,Hx,Wx (66),(evo) | vpmovd2m/q2m Vk,Ux (F3),(ev)
67825af37f4SAdrian Hunter3a: vpminuw Vx,Hx,Wx (66),(v1) | vpbroadcastmw2d Vx,Uk (F3),(ev)
67925af37f4SAdrian Hunter3b: vpminud Vx,Hx,Wx (66),(v1) | vpminud/q Vx,Hx,Wx (66),(evo)
680a9c373d0SMasami Hiramatsu3c: vpmaxsb Vx,Hx,Wx (66),(v1)
68125af37f4SAdrian Hunter3d: vpmaxsd Vx,Hx,Wx (66),(v1) | vpmaxsd/q Vx,Hx,Wx (66),(evo)
682a9c373d0SMasami Hiramatsu3e: vpmaxuw Vx,Hx,Wx (66),(v1)
68325af37f4SAdrian Hunter3f: vpmaxud Vx,Hx,Wx (66),(v1) | vpmaxud/q Vx,Hx,Wx (66),(evo)
6843f7e454aSMasami Hiramatsu# 0x0f 0x38 0x40-0x8f
68525af37f4SAdrian Hunter40: vpmulld Vx,Hx,Wx (66),(v1) | vpmulld/q Vx,Hx,Wx (66),(evo)
686a9c373d0SMasami Hiramatsu41: vphminposuw Vdq,Wdq (66),(v1)
68725af37f4SAdrian Hunter42: vgetexpps/d Vx,Wx (66),(ev)
68825af37f4SAdrian Hunter43: vgetexpss/d Vx,Hx,Wx (66),(ev)
68925af37f4SAdrian Hunter44: vplzcntd/q Vx,Wx (66),(ev)
690a9c373d0SMasami Hiramatsu45: vpsrlvd/q Vx,Hx,Wx (66),(v)
69125af37f4SAdrian Hunter46: vpsravd Vx,Hx,Wx (66),(v) | vpsravd/q Vx,Hx,Wx (66),(evo)
692a9c373d0SMasami Hiramatsu47: vpsllvd/q Vx,Hx,Wx (66),(v)
6939dd94df7SAdrian Hunter# Skip 0x48
6949dd94df7SAdrian Hunter49: TILERELEASE (v1),(000),(11B) | LDTILECFG Mtc (v1)(000) | STTILECFG Mtc (66),(v1),(000) | TILEZERO Vt (F2),(v1),(11B)
6959dd94df7SAdrian Hunter# Skip 0x4a
6969dd94df7SAdrian Hunter4b: TILELOADD Vt,Wsm (F2),(v1) | TILELOADDT1 Vt,Wsm (66),(v1) | TILESTORED Wsm,Vt (F3),(v)
69725af37f4SAdrian Hunter4c: vrcp14ps/d Vpd,Wpd (66),(ev)
69825af37f4SAdrian Hunter4d: vrcp14ss/d Vsd,Hpd,Wsd (66),(ev)
69925af37f4SAdrian Hunter4e: vrsqrt14ps/d Vpd,Wpd (66),(ev)
70025af37f4SAdrian Hunter4f: vrsqrt14ss/d Vsd,Hsd,Wsd (66),(ev)
701*caaee1b8SAdrian Hunter50: vpdpbusd Vx,Hx,Wx (66)
702*caaee1b8SAdrian Hunter51: vpdpbusds Vx,Hx,Wx (66)
703*caaee1b8SAdrian Hunter52: vdpbf16ps Vx,Hx,Wx (F3),(ev) | vpdpwssd Vx,Hx,Wx (66) | vp4dpwssd Vdqq,Hdqq,Wdq (F2),(ev)
704*caaee1b8SAdrian Hunter53: vpdpwssds Vx,Hx,Wx (66) | vp4dpwssds Vdqq,Hdqq,Wdq (F2),(ev)
705af4933c1SAdrian Hunter54: vpopcntb/w Vx,Wx (66),(ev)
706af4933c1SAdrian Hunter55: vpopcntd/q Vx,Wx (66),(ev)
707a9c373d0SMasami Hiramatsu58: vpbroadcastd Vx,Wx (66),(v)
70825af37f4SAdrian Hunter59: vpbroadcastq Vx,Wx (66),(v) | vbroadcasti32x2 Vx,Wx (66),(evo)
70925af37f4SAdrian Hunter5a: vbroadcasti128 Vqq,Mdq (66),(v) | vbroadcasti32x4/64x2 Vx,Wx (66),(evo)
71025af37f4SAdrian Hunter5b: vbroadcasti32x8/64x4 Vqq,Mdq (66),(ev)
7119dd94df7SAdrian Hunter5c: TDPBF16PS Vt,Wt,Ht (F3),(v1)
7129dd94df7SAdrian Hunter# Skip 0x5d
7139dd94df7SAdrian Hunter5e: TDPBSSD Vt,Wt,Ht (F2),(v1) | TDPBSUD Vt,Wt,Ht (F3),(v1) | TDPBUSD Vt,Wt,Ht (66),(v1) | TDPBUUD Vt,Wt,Ht (v1)
7149dd94df7SAdrian Hunter# Skip 0x5f-0x61
715af4933c1SAdrian Hunter62: vpexpandb/w Vx,Wx (66),(ev)
716af4933c1SAdrian Hunter63: vpcompressb/w Wx,Vx (66),(ev)
71725af37f4SAdrian Hunter64: vpblendmd/q Vx,Hx,Wx (66),(ev)
71825af37f4SAdrian Hunter65: vblendmps/d Vx,Hx,Wx (66),(ev)
71925af37f4SAdrian Hunter66: vpblendmb/w Vx,Hx,Wx (66),(ev)
720af4933c1SAdrian Hunter68: vp2intersectd/q Kx,Hx,Wx (F2),(ev)
721af4933c1SAdrian Hunter# Skip 0x69-0x6f
722af4933c1SAdrian Hunter70: vpshldvw Vx,Hx,Wx (66),(ev)
723af4933c1SAdrian Hunter71: vpshldvd/q Vx,Hx,Wx (66),(ev)
724af4933c1SAdrian Hunter72: vcvtne2ps2bf16 Vx,Hx,Wx (F2),(ev) | vcvtneps2bf16 Vx,Wx (F3),(ev) | vpshrdvw Vx,Hx,Wx (66),(ev)
725af4933c1SAdrian Hunter73: vpshrdvd/q Vx,Hx,Wx (66),(ev)
72625af37f4SAdrian Hunter75: vpermi2b/w Vx,Hx,Wx (66),(ev)
72725af37f4SAdrian Hunter76: vpermi2d/q Vx,Hx,Wx (66),(ev)
72825af37f4SAdrian Hunter77: vpermi2ps/d Vx,Hx,Wx (66),(ev)
729a9c373d0SMasami Hiramatsu78: vpbroadcastb Vx,Wx (66),(v)
730a9c373d0SMasami Hiramatsu79: vpbroadcastw Vx,Wx (66),(v)
73125af37f4SAdrian Hunter7a: vpbroadcastb Vx,Rv (66),(ev)
73225af37f4SAdrian Hunter7b: vpbroadcastw Vx,Rv (66),(ev)
73325af37f4SAdrian Hunter7c: vpbroadcastd/q Vx,Rv (66),(ev)
73425af37f4SAdrian Hunter7d: vpermt2b/w Vx,Hx,Wx (66),(ev)
73525af37f4SAdrian Hunter7e: vpermt2d/q Vx,Hx,Wx (66),(ev)
73625af37f4SAdrian Hunter7f: vpermt2ps/d Vx,Hx,Wx (66),(ev)
737a9c373d0SMasami Hiramatsu80: INVEPT Gy,Mdq (66)
738f5b5fab1SRandy Dunlap81: INVVPID Gy,Mdq (66)
739a9c373d0SMasami Hiramatsu82: INVPCID Gy,Mdq (66)
74025af37f4SAdrian Hunter83: vpmultishiftqb Vx,Hx,Wx (66),(ev)
74125af37f4SAdrian Hunter88: vexpandps/d Vpd,Wpd (66),(ev)
74225af37f4SAdrian Hunter89: vpexpandd/q Vx,Wx (66),(ev)
74325af37f4SAdrian Hunter8a: vcompressps/d Wx,Vx (66),(ev)
74425af37f4SAdrian Hunter8b: vpcompressd/q Wx,Vx (66),(ev)
745a9c373d0SMasami Hiramatsu8c: vpmaskmovd/q Vx,Hx,Mx (66),(v)
74625af37f4SAdrian Hunter8d: vpermb/w Vx,Hx,Wx (66),(ev)
747a9c373d0SMasami Hiramatsu8e: vpmaskmovd/q Mx,Vx,Hx (66),(v)
748af4933c1SAdrian Hunter8f: vpshufbitqmb Kx,Hx,Wx (66),(ev)
7493f7e454aSMasami Hiramatsu# 0x0f 0x38 0x90-0xbf (FMA)
75025af37f4SAdrian Hunter90: vgatherdd/q Vx,Hx,Wx (66),(v) | vpgatherdd/q Vx,Wx (66),(evo)
75125af37f4SAdrian Hunter91: vgatherqd/q Vx,Hx,Wx (66),(v) | vpgatherqd/q Vx,Wx (66),(evo)
752a9c373d0SMasami Hiramatsu92: vgatherdps/d Vx,Hx,Wx (66),(v)
753a9c373d0SMasami Hiramatsu93: vgatherqps/d Vx,Hx,Wx (66),(v)
754a9c373d0SMasami Hiramatsu94:
755a9c373d0SMasami Hiramatsu95:
756a9c373d0SMasami Hiramatsu96: vfmaddsub132ps/d Vx,Hx,Wx (66),(v)
757a9c373d0SMasami Hiramatsu97: vfmsubadd132ps/d Vx,Hx,Wx (66),(v)
758a9c373d0SMasami Hiramatsu98: vfmadd132ps/d Vx,Hx,Wx (66),(v)
759a9c373d0SMasami Hiramatsu99: vfmadd132ss/d Vx,Hx,Wx (66),(v),(v1)
760af4933c1SAdrian Hunter9a: vfmsub132ps/d Vx,Hx,Wx (66),(v) | v4fmaddps Vdqq,Hdqq,Wdq (F2),(ev)
761af4933c1SAdrian Hunter9b: vfmsub132ss/d Vx,Hx,Wx (66),(v),(v1) | v4fmaddss Vdq,Hdq,Wdq (F2),(ev)
762a9c373d0SMasami Hiramatsu9c: vfnmadd132ps/d Vx,Hx,Wx (66),(v)
763a9c373d0SMasami Hiramatsu9d: vfnmadd132ss/d Vx,Hx,Wx (66),(v),(v1)
764a9c373d0SMasami Hiramatsu9e: vfnmsub132ps/d Vx,Hx,Wx (66),(v)
765a9c373d0SMasami Hiramatsu9f: vfnmsub132ss/d Vx,Hx,Wx (66),(v),(v1)
76625af37f4SAdrian Huntera0: vpscatterdd/q Wx,Vx (66),(ev)
76725af37f4SAdrian Huntera1: vpscatterqd/q Wx,Vx (66),(ev)
76825af37f4SAdrian Huntera2: vscatterdps/d Wx,Vx (66),(ev)
76925af37f4SAdrian Huntera3: vscatterqps/d Wx,Vx (66),(ev)
770a9c373d0SMasami Hiramatsua6: vfmaddsub213ps/d Vx,Hx,Wx (66),(v)
771a9c373d0SMasami Hiramatsua7: vfmsubadd213ps/d Vx,Hx,Wx (66),(v)
772a9c373d0SMasami Hiramatsua8: vfmadd213ps/d Vx,Hx,Wx (66),(v)
773a9c373d0SMasami Hiramatsua9: vfmadd213ss/d Vx,Hx,Wx (66),(v),(v1)
774af4933c1SAdrian Hunteraa: vfmsub213ps/d Vx,Hx,Wx (66),(v) | v4fnmaddps Vdqq,Hdqq,Wdq (F2),(ev)
775af4933c1SAdrian Hunterab: vfmsub213ss/d Vx,Hx,Wx (66),(v),(v1) | v4fnmaddss Vdq,Hdq,Wdq (F2),(ev)
776a9c373d0SMasami Hiramatsuac: vfnmadd213ps/d Vx,Hx,Wx (66),(v)
777a9c373d0SMasami Hiramatsuad: vfnmadd213ss/d Vx,Hx,Wx (66),(v),(v1)
778a9c373d0SMasami Hiramatsuae: vfnmsub213ps/d Vx,Hx,Wx (66),(v)
779a9c373d0SMasami Hiramatsuaf: vfnmsub213ss/d Vx,Hx,Wx (66),(v),(v1)
78025af37f4SAdrian Hunterb4: vpmadd52luq Vx,Hx,Wx (66),(ev)
78125af37f4SAdrian Hunterb5: vpmadd52huq Vx,Hx,Wx (66),(ev)
782a9c373d0SMasami Hiramatsub6: vfmaddsub231ps/d Vx,Hx,Wx (66),(v)
783a9c373d0SMasami Hiramatsub7: vfmsubadd231ps/d Vx,Hx,Wx (66),(v)
784a9c373d0SMasami Hiramatsub8: vfmadd231ps/d Vx,Hx,Wx (66),(v)
785a9c373d0SMasami Hiramatsub9: vfmadd231ss/d Vx,Hx,Wx (66),(v),(v1)
786a9c373d0SMasami Hiramatsuba: vfmsub231ps/d Vx,Hx,Wx (66),(v)
787a9c373d0SMasami Hiramatsubb: vfmsub231ss/d Vx,Hx,Wx (66),(v),(v1)
788a9c373d0SMasami Hiramatsubc: vfnmadd231ps/d Vx,Hx,Wx (66),(v)
789a9c373d0SMasami Hiramatsubd: vfnmadd231ss/d Vx,Hx,Wx (66),(v),(v1)
790a9c373d0SMasami Hiramatsube: vfnmsub231ps/d Vx,Hx,Wx (66),(v)
791a9c373d0SMasami Hiramatsubf: vfnmsub231ss/d Vx,Hx,Wx (66),(v),(v1)
7923f7e454aSMasami Hiramatsu# 0x0f 0x38 0xc0-0xff
79325af37f4SAdrian Hunterc4: vpconflictd/q Vx,Wx (66),(ev)
79425af37f4SAdrian Hunterc6: Grp18 (1A)
79525af37f4SAdrian Hunterc7: Grp19 (1A)
79625af37f4SAdrian Hunterc8: sha1nexte Vdq,Wdq | vexp2ps/d Vx,Wx (66),(ev)
7973fe78d6aSAdrian Hunterc9: sha1msg1 Vdq,Wdq
79825af37f4SAdrian Hunterca: sha1msg2 Vdq,Wdq | vrcp28ps/d Vx,Wx (66),(ev)
79925af37f4SAdrian Huntercb: sha256rnds2 Vdq,Wdq | vrcp28ss/d Vx,Hx,Wx (66),(ev)
80025af37f4SAdrian Huntercc: sha256msg1 Vdq,Wdq | vrsqrt28ps/d Vx,Wx (66),(ev)
80125af37f4SAdrian Huntercd: sha256msg2 Vdq,Wdq | vrsqrt28ss/d Vx,Hx,Wx (66),(ev)
802af4933c1SAdrian Huntercf: vgf2p8mulb Vx,Wx (66)
803a9c373d0SMasami Hiramatsudb: VAESIMC Vdq,Wdq (66),(v1)
804af4933c1SAdrian Hunterdc: vaesenc Vx,Hx,Wx (66)
805af4933c1SAdrian Hunterdd: vaesenclast Vx,Hx,Wx (66)
806af4933c1SAdrian Hunterde: vaesdec Vx,Hx,Wx (66)
807af4933c1SAdrian Hunterdf: vaesdeclast Vx,Hx,Wx (66)
8083e21bb09SMasami Hiramatsuf0: MOVBE Gy,My | MOVBE Gw,Mw (66) | CRC32 Gd,Eb (F2) | CRC32 Gd,Eb (66&F2)
8093e21bb09SMasami Hiramatsuf1: MOVBE My,Gy | MOVBE Mw,Gw (66) | CRC32 Gd,Ey (F2) | CRC32 Gd,Ew (66&F2)
810ce79dac8SUlrich Drepperf2: ANDN Gy,By,Ey (v)
811ce79dac8SUlrich Drepperf3: Grp17 (1A)
8125790921bSYu-cheng Yuf5: BZHI Gy,Ey,By (v) | PEXT Gy,By,Ey (F3),(v) | PDEP Gy,By,Ey (F2),(v) | WRUSSD/Q My,Gy (66)
8135790921bSYu-cheng Yuf6: ADCX Gy,Ey (66) | ADOX Gy,Ey (F3) | MULX By,Gy,rDX,Ey (F2),(v) | WRSSD/Q My,Gy
814a9c373d0SMasami Hiramatsuf7: BEXTR Gy,Ey,By (v) | SHLX Gy,Ey,By (66),(v) | SARX Gy,Ey,By (F3),(v) | SHRX Gy,Ey,By (F2),(v)
815b980be18SAdrian Hunterf8: MOVDIR64B Gv,Mdqq (66) | ENQCMD Gv,Mdqq (F2) | ENQCMDS Gv,Mdqq (F3)
816b980be18SAdrian Hunterf9: MOVDIRI My,Gy
817eb13296cSMasami HiramatsuEndTable
818eb13296cSMasami Hiramatsu
8199983d60dSMasami HiramatsuTable: 3-byte opcode 2 (0x0f 0x3a)
820eb13296cSMasami HiramatsuReferrer: 3-byte escape 2
821e0e492e9SMasami HiramatsuAVXcode: 3
822f12b4f54SMasami Hiramatsu# 0x0f 0x3a 0x00-0xff
823a9c373d0SMasami Hiramatsu00: vpermq Vqq,Wqq,Ib (66),(v)
824a9c373d0SMasami Hiramatsu01: vpermpd Vqq,Wqq,Ib (66),(v)
825a9c373d0SMasami Hiramatsu02: vpblendd Vx,Hx,Wx,Ib (66),(v)
82625af37f4SAdrian Hunter03: valignd/q Vx,Hx,Wx,Ib (66),(ev)
827a9c373d0SMasami Hiramatsu04: vpermilps Vx,Wx,Ib (66),(v)
828a9c373d0SMasami Hiramatsu05: vpermilpd Vx,Wx,Ib (66),(v)
829a9c373d0SMasami Hiramatsu06: vperm2f128 Vqq,Hqq,Wqq,Ib (66),(v)
830a9c373d0SMasami Hiramatsu07:
83116273fa4SAdrian Hunter08: vroundps Vx,Wx,Ib (66) | vrndscaleps Vx,Wx,Ib (66),(evo) | vrndscaleph Vx,Wx,Ib (evo)
83225af37f4SAdrian Hunter09: vroundpd Vx,Wx,Ib (66) | vrndscalepd Vx,Wx,Ib (66),(evo)
83316273fa4SAdrian Hunter0a: vroundss Vss,Wss,Ib (66),(v1) | vrndscaless Vx,Hx,Wx,Ib (66),(evo) | vrndscalesh Vx,Hx,Wx,Ib (evo)
83425af37f4SAdrian Hunter0b: vroundsd Vsd,Wsd,Ib (66),(v1) | vrndscalesd Vx,Hx,Wx,Ib (66),(evo)
835a9c373d0SMasami Hiramatsu0c: vblendps Vx,Hx,Wx,Ib (66)
836a9c373d0SMasami Hiramatsu0d: vblendpd Vx,Hx,Wx,Ib (66)
837a9c373d0SMasami Hiramatsu0e: vpblendw Vx,Hx,Wx,Ib (66),(v1)
838a9c373d0SMasami Hiramatsu0f: palignr Pq,Qq,Ib | vpalignr Vx,Hx,Wx,Ib (66),(v1)
839a9c373d0SMasami Hiramatsu14: vpextrb Rd/Mb,Vdq,Ib (66),(v1)
840a9c373d0SMasami Hiramatsu15: vpextrw Rd/Mw,Vdq,Ib (66),(v1)
841a9c373d0SMasami Hiramatsu16: vpextrd/q Ey,Vdq,Ib (66),(v1)
842a9c373d0SMasami Hiramatsu17: vextractps Ed,Vdq,Ib (66),(v1)
84325af37f4SAdrian Hunter18: vinsertf128 Vqq,Hqq,Wqq,Ib (66),(v) | vinsertf32x4/64x2 Vqq,Hqq,Wqq,Ib (66),(evo)
84425af37f4SAdrian Hunter19: vextractf128 Wdq,Vqq,Ib (66),(v) | vextractf32x4/64x2 Wdq,Vqq,Ib (66),(evo)
84525af37f4SAdrian Hunter1a: vinsertf32x8/64x4 Vqq,Hqq,Wqq,Ib (66),(ev)
84625af37f4SAdrian Hunter1b: vextractf32x8/64x4 Wdq,Vqq,Ib (66),(ev)
847a9c373d0SMasami Hiramatsu1d: vcvtps2ph Wx,Vx,Ib (66),(v)
84825af37f4SAdrian Hunter1e: vpcmpud/q Vk,Hd,Wd,Ib (66),(ev)
84925af37f4SAdrian Hunter1f: vpcmpd/q Vk,Hd,Wd,Ib (66),(ev)
850a9c373d0SMasami Hiramatsu20: vpinsrb Vdq,Hdq,Ry/Mb,Ib (66),(v1)
851a9c373d0SMasami Hiramatsu21: vinsertps Vdq,Hdq,Udq/Md,Ib (66),(v1)
852a9c373d0SMasami Hiramatsu22: vpinsrd/q Vdq,Hdq,Ey,Ib (66),(v1)
85325af37f4SAdrian Hunter23: vshuff32x4/64x2 Vx,Hx,Wx,Ib (66),(ev)
85425af37f4SAdrian Hunter25: vpternlogd/q Vx,Hx,Wx,Ib (66),(ev)
85516273fa4SAdrian Hunter26: vgetmantps/d Vx,Wx,Ib (66),(ev) | vgetmantph Vx,Wx,Ib (ev)
85616273fa4SAdrian Hunter27: vgetmantss/d Vx,Hx,Wx,Ib (66),(ev) | vgetmantsh Vx,Hx,Wx,Ib (ev)
85725af37f4SAdrian Hunter30: kshiftrb/w Vk,Uk,Ib (66),(v)
85825af37f4SAdrian Hunter31: kshiftrd/q Vk,Uk,Ib (66),(v)
85925af37f4SAdrian Hunter32: kshiftlb/w Vk,Uk,Ib (66),(v)
86025af37f4SAdrian Hunter33: kshiftld/q Vk,Uk,Ib (66),(v)
86125af37f4SAdrian Hunter38: vinserti128 Vqq,Hqq,Wqq,Ib (66),(v) | vinserti32x4/64x2 Vqq,Hqq,Wqq,Ib (66),(evo)
86225af37f4SAdrian Hunter39: vextracti128 Wdq,Vqq,Ib (66),(v) | vextracti32x4/64x2 Wdq,Vqq,Ib (66),(evo)
86325af37f4SAdrian Hunter3a: vinserti32x8/64x4 Vqq,Hqq,Wqq,Ib (66),(ev)
86425af37f4SAdrian Hunter3b: vextracti32x8/64x4 Wdq,Vqq,Ib (66),(ev)
86525af37f4SAdrian Hunter3e: vpcmpub/w Vk,Hk,Wx,Ib (66),(ev)
86625af37f4SAdrian Hunter3f: vpcmpb/w Vk,Hk,Wx,Ib (66),(ev)
867a9c373d0SMasami Hiramatsu40: vdpps Vx,Hx,Wx,Ib (66)
868a9c373d0SMasami Hiramatsu41: vdppd Vdq,Hdq,Wdq,Ib (66),(v1)
86925af37f4SAdrian Hunter42: vmpsadbw Vx,Hx,Wx,Ib (66),(v1) | vdbpsadbw Vx,Hx,Wx,Ib (66),(evo)
87025af37f4SAdrian Hunter43: vshufi32x4/64x2 Vx,Hx,Wx,Ib (66),(ev)
871af4933c1SAdrian Hunter44: vpclmulqdq Vx,Hx,Wx,Ib (66)
872a9c373d0SMasami Hiramatsu46: vperm2i128 Vqq,Hqq,Wqq,Ib (66),(v)
873a9c373d0SMasami Hiramatsu4a: vblendvps Vx,Hx,Wx,Lx (66),(v)
874a9c373d0SMasami Hiramatsu4b: vblendvpd Vx,Hx,Wx,Lx (66),(v)
875a9c373d0SMasami Hiramatsu4c: vpblendvb Vx,Hx,Wx,Lx (66),(v1)
87625af37f4SAdrian Hunter50: vrangeps/d Vx,Hx,Wx,Ib (66),(ev)
87725af37f4SAdrian Hunter51: vrangess/d Vx,Hx,Wx,Ib (66),(ev)
87825af37f4SAdrian Hunter54: vfixupimmps/d Vx,Hx,Wx,Ib (66),(ev)
87925af37f4SAdrian Hunter55: vfixupimmss/d Vx,Hx,Wx,Ib (66),(ev)
88016273fa4SAdrian Hunter56: vreduceps/d Vx,Wx,Ib (66),(ev) | vreduceph Vx,Wx,Ib (ev)
88116273fa4SAdrian Hunter57: vreducess/d Vx,Hx,Wx,Ib (66),(ev) | vreducesh Vx,Hx,Wx,Ib (ev)
882a9c373d0SMasami Hiramatsu60: vpcmpestrm Vdq,Wdq,Ib (66),(v1)
883a9c373d0SMasami Hiramatsu61: vpcmpestri Vdq,Wdq,Ib (66),(v1)
884a9c373d0SMasami Hiramatsu62: vpcmpistrm Vdq,Wdq,Ib (66),(v1)
885a9c373d0SMasami Hiramatsu63: vpcmpistri Vdq,Wdq,Ib (66),(v1)
88616273fa4SAdrian Hunter66: vfpclassps/d Vk,Wx,Ib (66),(ev) | vfpclassph Vx,Wx,Ib (ev)
88716273fa4SAdrian Hunter67: vfpclassss/d Vk,Wx,Ib (66),(ev) | vfpclasssh Vx,Wx,Ib (ev)
888af4933c1SAdrian Hunter70: vpshldw Vx,Hx,Wx,Ib (66),(ev)
889af4933c1SAdrian Hunter71: vpshldd/q Vx,Hx,Wx,Ib (66),(ev)
890af4933c1SAdrian Hunter72: vpshrdw Vx,Hx,Wx,Ib (66),(ev)
891af4933c1SAdrian Hunter73: vpshrdd/q Vx,Hx,Wx,Ib (66),(ev)
89216273fa4SAdrian Hunterc2: vcmpph Vx,Hx,Wx,Ib (ev) | vcmpsh Vx,Hx,Wx,Ib (F3),(ev)
8933fe78d6aSAdrian Huntercc: sha1rnds4 Vdq,Wdq,Ib
894af4933c1SAdrian Hunterce: vgf2p8affineqb Vx,Wx,Ib (66)
895af4933c1SAdrian Huntercf: vgf2p8affineinvqb Vx,Wx,Ib (66)
896a9c373d0SMasami Hiramatsudf: VAESKEYGEN Vdq,Wdq,Ib (66),(v1)
8970153d98fSAdrian Hunterf0: RORX Gy,Ey,Ib (F2),(v) | HRESET Gv,Ib (F3),(000),(11B)
898eb13296cSMasami HiramatsuEndTable
899eb13296cSMasami Hiramatsu
90016273fa4SAdrian HunterTable: EVEX map 5
90116273fa4SAdrian HunterReferrer:
90216273fa4SAdrian HunterAVXcode: 5
90316273fa4SAdrian Hunter10: vmovsh Vx,Hx,Wx (F3),(ev) | vmovsh Vx,Wx (F3),(ev)
90416273fa4SAdrian Hunter11: vmovsh Wx,Hx,Vx (F3),(ev) | vmovsh Wx,Vx (F3),(ev)
90516273fa4SAdrian Hunter1d: vcvtps2phx Vx,Wx (66),(ev) | vcvtss2sh Vx,Hx,Wx (ev)
90616273fa4SAdrian Hunter2a: vcvtsi2sh Vx,Hx,Wx (F3),(ev)
90716273fa4SAdrian Hunter2c: vcvttsh2si Vx,Wx (F3),(ev)
90816273fa4SAdrian Hunter2d: vcvtsh2si Vx,Wx (F3),(ev)
90916273fa4SAdrian Hunter2e: vucomish Vx,Wx (ev)
91016273fa4SAdrian Hunter2f: vcomish Vx,Wx (ev)
91116273fa4SAdrian Hunter51: vsqrtph Vx,Wx (ev) | vsqrtsh Vx,Hx,Wx (F3),(ev)
91216273fa4SAdrian Hunter58: vaddph Vx,Hx,Wx (ev) | vaddsh Vx,Hx,Wx (F3),(ev)
91316273fa4SAdrian Hunter59: vmulph Vx,Hx,Wx (ev) | vmulsh Vx,Hx,Wx (F3),(ev)
91416273fa4SAdrian Hunter5a: vcvtpd2ph Vx,Wx (66),(ev) | vcvtph2pd Vx,Wx (ev) | vcvtsd2sh Vx,Hx,Wx (F2),(ev) | vcvtsh2sd Vx,Hx,Wx (F3),(ev)
91516273fa4SAdrian Hunter5b: vcvtdq2ph Vx,Wx (ev) | vcvtph2dq Vx,Wx (66),(ev) | vcvtqq2ph Vx,Wx (ev) | vcvttph2dq Vx,Wx (F3),(ev)
91616273fa4SAdrian Hunter5c: vsubph Vx,Hx,Wx (ev) | vsubsh Vx,Hx,Wx (F3),(ev)
91716273fa4SAdrian Hunter5d: vminph Vx,Hx,Wx (ev) | vminsh Vx,Hx,Wx (F3),(ev)
91816273fa4SAdrian Hunter5e: vdivph Vx,Hx,Wx (ev) | vdivsh Vx,Hx,Wx (F3),(ev)
91916273fa4SAdrian Hunter5f: vmaxph Vx,Hx,Wx (ev) | vmaxsh Vx,Hx,Wx (F3),(ev)
92016273fa4SAdrian Hunter6e: vmovw Vx,Wx (66),(ev)
92116273fa4SAdrian Hunter78: vcvttph2udq Vx,Wx (ev) | vcvttph2uqq Vx,Wx (66),(ev) | vcvttsh2usi Vx,Wx (F3),(ev)
92216273fa4SAdrian Hunter79: vcvtph2udq Vx,Wx (ev) | vcvtph2uqq Vx,Wx (66),(ev) | vcvtsh2usi Vx,Wx (F3),(ev)
92316273fa4SAdrian Hunter7a: vcvttph2qq Vx,Wx (66),(ev) | vcvtudq2ph Vx,Wx (F2),(ev) | vcvtuqq2ph Vx,Wx (F2),(ev)
92416273fa4SAdrian Hunter7b: vcvtph2qq Vx,Wx (66),(ev) | vcvtusi2sh Vx,Hx,Wx (F3),(ev)
92516273fa4SAdrian Hunter7c: vcvttph2uw Vx,Wx (ev) | vcvttph2w Vx,Wx (66),(ev)
92616273fa4SAdrian Hunter7d: vcvtph2uw Vx,Wx (ev) | vcvtph2w Vx,Wx (66),(ev) | vcvtuw2ph Vx,Wx (F2),(ev) | vcvtw2ph Vx,Wx (F3),(ev)
92716273fa4SAdrian Hunter7e: vmovw Wx,Vx (66),(ev)
92816273fa4SAdrian HunterEndTable
92916273fa4SAdrian Hunter
93016273fa4SAdrian HunterTable: EVEX map 6
93116273fa4SAdrian HunterReferrer:
93216273fa4SAdrian HunterAVXcode: 6
93316273fa4SAdrian Hunter13: vcvtph2psx Vx,Wx (66),(ev) | vcvtsh2ss Vx,Hx,Wx (ev)
93416273fa4SAdrian Hunter2c: vscalefph Vx,Hx,Wx (66),(ev)
93516273fa4SAdrian Hunter2d: vscalefsh Vx,Hx,Wx (66),(ev)
93616273fa4SAdrian Hunter42: vgetexpph Vx,Wx (66),(ev)
93716273fa4SAdrian Hunter43: vgetexpsh Vx,Hx,Wx (66),(ev)
93816273fa4SAdrian Hunter4c: vrcpph Vx,Wx (66),(ev)
93916273fa4SAdrian Hunter4d: vrcpsh Vx,Hx,Wx (66),(ev)
94016273fa4SAdrian Hunter4e: vrsqrtph Vx,Wx (66),(ev)
94116273fa4SAdrian Hunter4f: vrsqrtsh Vx,Hx,Wx (66),(ev)
94216273fa4SAdrian Hunter56: vfcmaddcph Vx,Hx,Wx (F2),(ev) | vfmaddcph Vx,Hx,Wx (F3),(ev)
94316273fa4SAdrian Hunter57: vfcmaddcsh Vx,Hx,Wx (F2),(ev) | vfmaddcsh Vx,Hx,Wx (F3),(ev)
94416273fa4SAdrian Hunter96: vfmaddsub132ph Vx,Hx,Wx (66),(ev)
94516273fa4SAdrian Hunter97: vfmsubadd132ph Vx,Hx,Wx (66),(ev)
94616273fa4SAdrian Hunter98: vfmadd132ph Vx,Hx,Wx (66),(ev)
94716273fa4SAdrian Hunter99: vfmadd132sh Vx,Hx,Wx (66),(ev)
94816273fa4SAdrian Hunter9a: vfmsub132ph Vx,Hx,Wx (66),(ev)
94916273fa4SAdrian Hunter9b: vfmsub132sh Vx,Hx,Wx (66),(ev)
95016273fa4SAdrian Hunter9c: vfnmadd132ph Vx,Hx,Wx (66),(ev)
95116273fa4SAdrian Hunter9d: vfnmadd132sh Vx,Hx,Wx (66),(ev)
95216273fa4SAdrian Hunter9e: vfnmsub132ph Vx,Hx,Wx (66),(ev)
95316273fa4SAdrian Hunter9f: vfnmsub132sh Vx,Hx,Wx (66),(ev)
95416273fa4SAdrian Huntera6: vfmaddsub213ph Vx,Hx,Wx (66),(ev)
95516273fa4SAdrian Huntera7: vfmsubadd213ph Vx,Hx,Wx (66),(ev)
95616273fa4SAdrian Huntera8: vfmadd213ph Vx,Hx,Wx (66),(ev)
95716273fa4SAdrian Huntera9: vfmadd213sh Vx,Hx,Wx (66),(ev)
95816273fa4SAdrian Hunteraa: vfmsub213ph Vx,Hx,Wx (66),(ev)
95916273fa4SAdrian Hunterab: vfmsub213sh Vx,Hx,Wx (66),(ev)
96016273fa4SAdrian Hunterac: vfnmadd213ph Vx,Hx,Wx (66),(ev)
96116273fa4SAdrian Hunterad: vfnmadd213sh Vx,Hx,Wx (66),(ev)
96216273fa4SAdrian Hunterae: vfnmsub213ph Vx,Hx,Wx (66),(ev)
96316273fa4SAdrian Hunteraf: vfnmsub213sh Vx,Hx,Wx (66),(ev)
96416273fa4SAdrian Hunterb6: vfmaddsub231ph Vx,Hx,Wx (66),(ev)
96516273fa4SAdrian Hunterb7: vfmsubadd231ph Vx,Hx,Wx (66),(ev)
96616273fa4SAdrian Hunterb8: vfmadd231ph Vx,Hx,Wx (66),(ev)
96716273fa4SAdrian Hunterb9: vfmadd231sh Vx,Hx,Wx (66),(ev)
96816273fa4SAdrian Hunterba: vfmsub231ph Vx,Hx,Wx (66),(ev)
96916273fa4SAdrian Hunterbb: vfmsub231sh Vx,Hx,Wx (66),(ev)
97016273fa4SAdrian Hunterbc: vfnmadd231ph Vx,Hx,Wx (66),(ev)
97116273fa4SAdrian Hunterbd: vfnmadd231sh Vx,Hx,Wx (66),(ev)
97216273fa4SAdrian Hunterbe: vfnmsub231ph Vx,Hx,Wx (66),(ev)
97316273fa4SAdrian Hunterbf: vfnmsub231sh Vx,Hx,Wx (66),(ev)
97416273fa4SAdrian Hunterd6: vfcmulcph Vx,Hx,Wx (F2),(ev) | vfmulcph Vx,Hx,Wx (F3),(ev)
97516273fa4SAdrian Hunterd7: vfcmulcsh Vx,Hx,Wx (F2),(ev) | vfmulcsh Vx,Hx,Wx (F3),(ev)
97616273fa4SAdrian HunterEndTable
97716273fa4SAdrian Hunter
978eb13296cSMasami HiramatsuGrpTable: Grp1
979eb13296cSMasami Hiramatsu0: ADD
980eb13296cSMasami Hiramatsu1: OR
981eb13296cSMasami Hiramatsu2: ADC
982eb13296cSMasami Hiramatsu3: SBB
983eb13296cSMasami Hiramatsu4: AND
984eb13296cSMasami Hiramatsu5: SUB
985eb13296cSMasami Hiramatsu6: XOR
986eb13296cSMasami Hiramatsu7: CMP
987eb13296cSMasami HiramatsuEndTable
988eb13296cSMasami Hiramatsu
989eb13296cSMasami HiramatsuGrpTable: Grp1A
990eb13296cSMasami Hiramatsu0: POP
991eb13296cSMasami HiramatsuEndTable
992eb13296cSMasami Hiramatsu
993eb13296cSMasami HiramatsuGrpTable: Grp2
994eb13296cSMasami Hiramatsu0: ROL
995eb13296cSMasami Hiramatsu1: ROR
996eb13296cSMasami Hiramatsu2: RCL
997eb13296cSMasami Hiramatsu3: RCR
998eb13296cSMasami Hiramatsu4: SHL/SAL
999eb13296cSMasami Hiramatsu5: SHR
1000eb13296cSMasami Hiramatsu6:
1001eb13296cSMasami Hiramatsu7: SAR
1002eb13296cSMasami HiramatsuEndTable
1003eb13296cSMasami Hiramatsu
1004eb13296cSMasami HiramatsuGrpTable: Grp3_1
1005eb13296cSMasami Hiramatsu0: TEST Eb,Ib
100612a78d43SMasami Hiramatsu1: TEST Eb,Ib
1007eb13296cSMasami Hiramatsu2: NOT Eb
1008eb13296cSMasami Hiramatsu3: NEG Eb
1009eb13296cSMasami Hiramatsu4: MUL AL,Eb
1010eb13296cSMasami Hiramatsu5: IMUL AL,Eb
1011eb13296cSMasami Hiramatsu6: DIV AL,Eb
1012eb13296cSMasami Hiramatsu7: IDIV AL,Eb
1013eb13296cSMasami HiramatsuEndTable
1014eb13296cSMasami Hiramatsu
1015eb13296cSMasami HiramatsuGrpTable: Grp3_2
1016eb13296cSMasami Hiramatsu0: TEST Ev,Iz
10178b7e20a7SMasami Hiramatsu1: TEST Ev,Iz
1018eb13296cSMasami Hiramatsu2: NOT Ev
1019eb13296cSMasami Hiramatsu3: NEG Ev
1020eb13296cSMasami Hiramatsu4: MUL rAX,Ev
1021eb13296cSMasami Hiramatsu5: IMUL rAX,Ev
1022eb13296cSMasami Hiramatsu6: DIV rAX,Ev
1023eb13296cSMasami Hiramatsu7: IDIV rAX,Ev
1024eb13296cSMasami HiramatsuEndTable
1025eb13296cSMasami Hiramatsu
1026eb13296cSMasami HiramatsuGrpTable: Grp4
1027eb13296cSMasami Hiramatsu0: INC Eb
1028eb13296cSMasami Hiramatsu1: DEC Eb
1029eb13296cSMasami HiramatsuEndTable
1030eb13296cSMasami Hiramatsu
1031eb13296cSMasami HiramatsuGrpTable: Grp5
1032eb13296cSMasami Hiramatsu0: INC Ev
1033eb13296cSMasami Hiramatsu1: DEC Ev
1034cbb53b96SDenys Vlasenko# Note: "forced64" is Intel CPU behavior (see comment about CALL insn).
1035eb13296cSMasami Hiramatsu2: CALLN Ev (f64)
1036eb13296cSMasami Hiramatsu3: CALLF Ep
1037eb13296cSMasami Hiramatsu4: JMPN Ev (f64)
1038a9c373d0SMasami Hiramatsu5: JMPF Mp
1039eb13296cSMasami Hiramatsu6: PUSH Ev (d64)
1040eb13296cSMasami Hiramatsu7:
1041eb13296cSMasami HiramatsuEndTable
1042eb13296cSMasami Hiramatsu
1043eb13296cSMasami HiramatsuGrpTable: Grp6
1044eb13296cSMasami Hiramatsu0: SLDT Rv/Mw
1045eb13296cSMasami Hiramatsu1: STR Rv/Mw
1046eb13296cSMasami Hiramatsu2: LLDT Ew
1047eb13296cSMasami Hiramatsu3: LTR Ew
1048eb13296cSMasami Hiramatsu4: VERR Ew
1049eb13296cSMasami Hiramatsu5: VERW Ew
10505a91f126SH. Peter Anvin (Intel)6: LKGS Ew (F2)
1051eb13296cSMasami HiramatsuEndTable
1052eb13296cSMasami Hiramatsu
1053eb13296cSMasami HiramatsuGrpTable: Grp7
1054b980be18SAdrian Hunter0: SGDT Ms | VMCALL (001),(11B) | VMLAUNCH (010),(11B) | VMRESUME (011),(11B) | VMXOFF (100),(11B) | PCONFIG (101),(11B) | ENCLV (000),(11B)
1055b980be18SAdrian Hunter1: SIDT Ms | MONITOR (000),(11B) | MWAIT (001),(11B) | CLAC (010),(11B) | STAC (011),(11B) | ENCLS (111),(11B)
1056b980be18SAdrian Hunter2: LGDT Ms | XGETBV (000),(11B) | XSETBV (001),(11B) | VMFUNC (100),(11B) | XEND (101)(11B) | XTEST (110)(11B) | ENCLU (111),(11B)
1057eb13296cSMasami Hiramatsu3: LIDT Ms
1058eb13296cSMasami Hiramatsu4: SMSW Mw/Rv
10590153d98fSAdrian Hunter5: rdpkru (110),(11B) | wrpkru (111),(11B) | SAVEPREVSSP (F3),(010),(11B) | RSTORSSP Mq (F3) | SETSSBSY (F3),(000),(11B) | CLUI (F3),(110),(11B) | SERIALIZE (000),(11B) | STUI (F3),(111),(11B) | TESTUI (F3)(101)(11B) | UIRET (F3),(100),(11B) | XRESLDTRK (F2),(000),(11B) | XSUSLDTRK (F2),(001),(11B)
1060eb13296cSMasami Hiramatsu6: LMSW Ew
1061eb13296cSMasami Hiramatsu7: INVLPG Mb | SWAPGS (o64),(000),(11B) | RDTSCP (001),(11B)
1062eb13296cSMasami HiramatsuEndTable
1063eb13296cSMasami Hiramatsu
1064eb13296cSMasami HiramatsuGrpTable: Grp8
1065eb13296cSMasami Hiramatsu4: BT
1066eb13296cSMasami Hiramatsu5: BTS
1067eb13296cSMasami Hiramatsu6: BTR
1068eb13296cSMasami Hiramatsu7: BTC
1069eb13296cSMasami HiramatsuEndTable
1070eb13296cSMasami Hiramatsu
1071eb13296cSMasami HiramatsuGrpTable: Grp9
1072eb13296cSMasami Hiramatsu1: CMPXCHG8B/16B Mq/Mdq
1073f83b6b64SAdrian Hunter3: xrstors
1074f83b6b64SAdrian Hunter4: xsavec
1075f83b6b64SAdrian Hunter5: xsaves
10760153d98fSAdrian Hunter6: VMPTRLD Mq | VMCLEAR Mq (66) | VMXON Mq (F3) | RDRAND Rv (11B) | SENDUIPI Gq (F3)
10773e21bb09SMasami Hiramatsu7: VMPTRST Mq | VMPTRST Mq (F3) | RDSEED Rv (11B)
1078eb13296cSMasami HiramatsuEndTable
1079eb13296cSMasami Hiramatsu
1080eb13296cSMasami HiramatsuGrpTable: Grp10
1081f5b5fab1SRandy Dunlap# all are UD1
1082f5b5fab1SRandy Dunlap0: UD1
1083f5b5fab1SRandy Dunlap1: UD1
1084f5b5fab1SRandy Dunlap2: UD1
1085f5b5fab1SRandy Dunlap3: UD1
1086f5b5fab1SRandy Dunlap4: UD1
1087f5b5fab1SRandy Dunlap5: UD1
1088f5b5fab1SRandy Dunlap6: UD1
1089f5b5fab1SRandy Dunlap7: UD1
1090eb13296cSMasami HiramatsuEndTable
1091eb13296cSMasami Hiramatsu
10923e21bb09SMasami Hiramatsu# Grp11A and Grp11B are expressed as Grp11 in Intel SDM
10933e21bb09SMasami HiramatsuGrpTable: Grp11A
10943e21bb09SMasami Hiramatsu0: MOV Eb,Ib
10953e21bb09SMasami Hiramatsu7: XABORT Ib (000),(11B)
10963e21bb09SMasami HiramatsuEndTable
10973e21bb09SMasami Hiramatsu
10983e21bb09SMasami HiramatsuGrpTable: Grp11B
10993e21bb09SMasami Hiramatsu0: MOV Eb,Iz
11003e21bb09SMasami Hiramatsu7: XBEGIN Jz (000),(11B)
1101eb13296cSMasami HiramatsuEndTable
1102eb13296cSMasami Hiramatsu
1103eb13296cSMasami HiramatsuGrpTable: Grp12
1104a9c373d0SMasami Hiramatsu2: psrlw Nq,Ib (11B) | vpsrlw Hx,Ux,Ib (66),(11B),(v1)
1105a9c373d0SMasami Hiramatsu4: psraw Nq,Ib (11B) | vpsraw Hx,Ux,Ib (66),(11B),(v1)
1106a9c373d0SMasami Hiramatsu6: psllw Nq,Ib (11B) | vpsllw Hx,Ux,Ib (66),(11B),(v1)
1107eb13296cSMasami HiramatsuEndTable
1108eb13296cSMasami Hiramatsu
1109eb13296cSMasami HiramatsuGrpTable: Grp13
111025af37f4SAdrian Hunter0: vprord/q Hx,Wx,Ib (66),(ev)
111125af37f4SAdrian Hunter1: vprold/q Hx,Wx,Ib (66),(ev)
1112a9c373d0SMasami Hiramatsu2: psrld Nq,Ib (11B) | vpsrld Hx,Ux,Ib (66),(11B),(v1)
111325af37f4SAdrian Hunter4: psrad Nq,Ib (11B) | vpsrad Hx,Ux,Ib (66),(11B),(v1) | vpsrad/q Hx,Ux,Ib (66),(evo)
1114a9c373d0SMasami Hiramatsu6: pslld Nq,Ib (11B) | vpslld Hx,Ux,Ib (66),(11B),(v1)
1115eb13296cSMasami HiramatsuEndTable
1116eb13296cSMasami Hiramatsu
1117eb13296cSMasami HiramatsuGrpTable: Grp14
1118a9c373d0SMasami Hiramatsu2: psrlq Nq,Ib (11B) | vpsrlq Hx,Ux,Ib (66),(11B),(v1)
1119a9c373d0SMasami Hiramatsu3: vpsrldq Hx,Ux,Ib (66),(11B),(v1)
1120a9c373d0SMasami Hiramatsu6: psllq Nq,Ib (11B) | vpsllq Hx,Ux,Ib (66),(11B),(v1)
1121a9c373d0SMasami Hiramatsu7: vpslldq Hx,Ux,Ib (66),(11B),(v1)
1122eb13296cSMasami HiramatsuEndTable
1123eb13296cSMasami Hiramatsu
1124eb13296cSMasami HiramatsuGrpTable: Grp15
1125a9c373d0SMasami Hiramatsu0: fxsave | RDFSBASE Ry (F3),(11B)
1126a9c373d0SMasami Hiramatsu1: fxstor | RDGSBASE Ry (F3),(11B)
1127a9c373d0SMasami Hiramatsu2: vldmxcsr Md (v1) | WRFSBASE Ry (F3),(11B)
1128a9c373d0SMasami Hiramatsu3: vstmxcsr Md (v1) | WRGSBASE Ry (F3),(11B)
1129d5b1a5f6SAdrian Hunter4: XSAVE | ptwrite Ey (F3),(11B)
11305790921bSYu-cheng Yu5: XRSTOR | lfence (11B) | INCSSPD/Q Ry (F3),(11B)
11315790921bSYu-cheng Yu6: XSAVEOPT | clwb (66) | mfence (11B) | TPAUSE Rd (66),(11B) | UMONITOR Rv (F3),(11B) | UMWAIT Rd (F2),(11B) | CLRSSBSY Mq (F3)
1132fd1d961dSDan Williams7: clflush | clflushopt (66) | sfence (11B)
1133eb13296cSMasami HiramatsuEndTable
1134eb13296cSMasami Hiramatsu
1135eb13296cSMasami HiramatsuGrpTable: Grp16
1136eb13296cSMasami Hiramatsu0: prefetch NTA
1137eb13296cSMasami Hiramatsu1: prefetch T0
1138eb13296cSMasami Hiramatsu2: prefetch T1
1139eb13296cSMasami Hiramatsu3: prefetch T2
1140eb13296cSMasami HiramatsuEndTable
1141eb13296cSMasami Hiramatsu
1142a9c373d0SMasami HiramatsuGrpTable: Grp17
1143a9c373d0SMasami Hiramatsu1: BLSR By,Ey (v)
1144a9c373d0SMasami Hiramatsu2: BLSMSK By,Ey (v)
1145a9c373d0SMasami Hiramatsu3: BLSI By,Ey (v)
1146a9c373d0SMasami HiramatsuEndTable
1147a9c373d0SMasami Hiramatsu
114825af37f4SAdrian HunterGrpTable: Grp18
114925af37f4SAdrian Hunter1: vgatherpf0dps/d Wx (66),(ev)
115025af37f4SAdrian Hunter2: vgatherpf1dps/d Wx (66),(ev)
115125af37f4SAdrian Hunter5: vscatterpf0dps/d Wx (66),(ev)
115225af37f4SAdrian Hunter6: vscatterpf1dps/d Wx (66),(ev)
115325af37f4SAdrian HunterEndTable
115425af37f4SAdrian Hunter
115525af37f4SAdrian HunterGrpTable: Grp19
115625af37f4SAdrian Hunter1: vgatherpf0qps/d Wx (66),(ev)
115725af37f4SAdrian Hunter2: vgatherpf1qps/d Wx (66),(ev)
115825af37f4SAdrian Hunter5: vscatterpf0qps/d Wx (66),(ev)
115925af37f4SAdrian Hunter6: vscatterpf1qps/d Wx (66),(ev)
116025af37f4SAdrian HunterEndTable
116125af37f4SAdrian Hunter
1162b980be18SAdrian HunterGrpTable: Grp20
1163b980be18SAdrian Hunter0: cldemote Mb
1164b980be18SAdrian HunterEndTable
1165b980be18SAdrian Hunter
11665790921bSYu-cheng YuGrpTable: Grp21
11675790921bSYu-cheng Yu1: RDSSPD/Q Ry (F3),(11B)
11685790921bSYu-cheng Yu7: ENDBR64 (F3),(010),(11B) | ENDBR32 (F3),(011),(11B)
11695790921bSYu-cheng YuEndTable
11705790921bSYu-cheng Yu
1171d1baf5a5SMasami Hiramatsu# AMD's Prefetch Group
1172d1baf5a5SMasami HiramatsuGrpTable: GrpP
1173d1baf5a5SMasami Hiramatsu0: PREFETCH
1174d1baf5a5SMasami Hiramatsu1: PREFETCHW
1175d1baf5a5SMasami HiramatsuEndTable
1176d1baf5a5SMasami Hiramatsu
1177c0b11d3aSMasami HiramatsuGrpTable: GrpPDLK
1178c0b11d3aSMasami Hiramatsu0: MONTMUL
1179c0b11d3aSMasami Hiramatsu1: XSHA1
1180c0b11d3aSMasami Hiramatsu2: XSHA2
1181c0b11d3aSMasami HiramatsuEndTable
1182c0b11d3aSMasami Hiramatsu
1183eb13296cSMasami HiramatsuGrpTable: GrpRNG
1184eb13296cSMasami Hiramatsu0: xstore-rng
1185eb13296cSMasami Hiramatsu1: xcrypt-ecb
1186eb13296cSMasami Hiramatsu2: xcrypt-cbc
1187eb13296cSMasami Hiramatsu4: xcrypt-cfb
1188eb13296cSMasami Hiramatsu5: xcrypt-ofb
1189eb13296cSMasami HiramatsuEndTable
1190