blob: 8641bbb8e006487b28374453d17ef5ca70eab570 [file] [log] [blame]
Masami Hiramatsueb132962009-08-13 16:34:13 -04001# x86 Opcode Maps
2#
3#<Opcode maps>
4# Table: table-name
5# Referrer: escaped-name
Masami Hiramatsue0e492e2009-10-27 16:42:27 -04006# AVXcode: avx-code
Masami Hiramatsueb132962009-08-13 16:34:13 -04007# opcode: mnemonic|GrpXXX [operand1[,operand2...]] [(extra1)[,(extra2)...] [| 2nd-mnemonic ...]
8# (or)
9# opcode: escape # escaped-name
10# EndTable
11#
12#<group maps>
13# GrpTable: GrpXXX
14# reg: mnemonic [operand1[,operand2...]] [(extra1)[,(extra2)...] [| 2nd-mnemonic ...]
15# EndTable
16#
Masami Hiramatsue0e492e2009-10-27 16:42:27 -040017# AVX Superscripts
18# (VEX): this opcode can accept VEX prefix.
19# (oVEX): this opcode requires VEX prefix.
20# (o128): this opcode only supports 128bit VEX.
21# (o256): this opcode only supports 256bit VEX.
22#
Masami Hiramatsueb132962009-08-13 16:34:13 -040023
24Table: one byte opcode
25Referrer:
Masami Hiramatsue0e492e2009-10-27 16:42:27 -040026AVXcode:
Masami Hiramatsueb132962009-08-13 16:34:13 -040027# 0x00 - 0x0f
2800: ADD Eb,Gb
2901: ADD Ev,Gv
3002: ADD Gb,Eb
3103: ADD Gv,Ev
3204: ADD AL,Ib
3305: ADD rAX,Iz
3406: PUSH ES (i64)
3507: POP ES (i64)
3608: OR Eb,Gb
3709: OR Ev,Gv
380a: OR Gb,Eb
390b: OR Gv,Ev
400c: OR AL,Ib
410d: OR rAX,Iz
420e: PUSH CS (i64)
430f: escape # 2-byte escape
44# 0x10 - 0x1f
4510: ADC Eb,Gb
4611: ADC Ev,Gv
4712: ADC Gb,Eb
4813: ADC Gv,Ev
4914: ADC AL,Ib
5015: ADC rAX,Iz
5116: PUSH SS (i64)
5217: POP SS (i64)
5318: SBB Eb,Gb
5419: SBB Ev,Gv
551a: SBB Gb,Eb
561b: SBB Gv,Ev
571c: SBB AL,Ib
581d: SBB rAX,Iz
591e: PUSH DS (i64)
601f: POP DS (i64)
61# 0x20 - 0x2f
6220: AND Eb,Gb
6321: AND Ev,Gv
6422: AND Gb,Eb
6523: AND Gv,Ev
6624: AND AL,Ib
6725: AND rAx,Iz
6826: SEG=ES (Prefix)
6927: DAA (i64)
7028: SUB Eb,Gb
7129: SUB Ev,Gv
722a: SUB Gb,Eb
732b: SUB Gv,Ev
742c: SUB AL,Ib
752d: SUB rAX,Iz
762e: SEG=CS (Prefix)
772f: DAS (i64)
78# 0x30 - 0x3f
7930: XOR Eb,Gb
8031: XOR Ev,Gv
8132: XOR Gb,Eb
8233: XOR Gv,Ev
8334: XOR AL,Ib
8435: XOR rAX,Iz
8536: SEG=SS (Prefix)
8637: AAA (i64)
8738: CMP Eb,Gb
8839: CMP Ev,Gv
893a: CMP Gb,Eb
903b: CMP Gv,Ev
913c: CMP AL,Ib
923d: CMP rAX,Iz
933e: SEG=DS (Prefix)
943f: AAS (i64)
95# 0x40 - 0x4f
9640: INC eAX (i64) | REX (o64)
9741: INC eCX (i64) | REX.B (o64)
9842: INC eDX (i64) | REX.X (o64)
9943: INC eBX (i64) | REX.XB (o64)
10044: INC eSP (i64) | REX.R (o64)
10145: INC eBP (i64) | REX.RB (o64)
10246: INC eSI (i64) | REX.RX (o64)
10347: INC eDI (i64) | REX.RXB (o64)
10448: DEC eAX (i64) | REX.W (o64)
10549: DEC eCX (i64) | REX.WB (o64)
1064a: DEC eDX (i64) | REX.WX (o64)
1074b: DEC eBX (i64) | REX.WXB (o64)
1084c: DEC eSP (i64) | REX.WR (o64)
1094d: DEC eBP (i64) | REX.WRB (o64)
1104e: DEC eSI (i64) | REX.WRX (o64)
1114f: DEC eDI (i64) | REX.WRXB (o64)
112# 0x50 - 0x5f
11350: PUSH rAX/r8 (d64)
11451: PUSH rCX/r9 (d64)
11552: PUSH rDX/r10 (d64)
11653: PUSH rBX/r11 (d64)
11754: PUSH rSP/r12 (d64)
11855: PUSH rBP/r13 (d64)
11956: PUSH rSI/r14 (d64)
12057: PUSH rDI/r15 (d64)
12158: POP rAX/r8 (d64)
12259: POP rCX/r9 (d64)
1235a: POP rDX/r10 (d64)
1245b: POP rBX/r11 (d64)
1255c: POP rSP/r12 (d64)
1265d: POP rBP/r13 (d64)
1275e: POP rSI/r14 (d64)
1285f: POP rDI/r15 (d64)
129# 0x60 - 0x6f
13060: PUSHA/PUSHAD (i64)
13161: POPA/POPAD (i64)
13262: BOUND Gv,Ma (i64)
13363: ARPL Ew,Gw (i64) | MOVSXD Gv,Ev (o64)
13464: SEG=FS (Prefix)
13565: SEG=GS (Prefix)
13666: Operand-Size (Prefix)
13767: Address-Size (Prefix)
13868: PUSH Iz (d64)
13969: IMUL Gv,Ev,Iz
1406a: PUSH Ib (d64)
1416b: IMUL Gv,Ev,Ib
1426c: INS/INSB Yb,DX
1436d: INS/INSW/INSD Yz,DX
1446e: OUTS/OUTSB DX,Xb
1456f: OUTS/OUTSW/OUTSD DX,Xz
146# 0x70 - 0x7f
14770: JO Jb
14871: JNO Jb
14972: JB/JNAE/JC Jb
15073: JNB/JAE/JNC Jb
15174: JZ/JE Jb
15275: JNZ/JNE Jb
15376: JBE/JNA Jb
15477: JNBE/JA Jb
15578: JS Jb
15679: JNS Jb
1577a: JP/JPE Jb
1587b: JNP/JPO Jb
1597c: JL/JNGE Jb
1607d: JNL/JGE Jb
1617e: JLE/JNG Jb
1627f: JNLE/JG Jb
163# 0x80 - 0x8f
16480: Grp1 Eb,Ib (1A)
16581: Grp1 Ev,Iz (1A)
16682: Grp1 Eb,Ib (1A),(i64)
16783: Grp1 Ev,Ib (1A)
16884: TEST Eb,Gb
16985: TEST Ev,Gv
17086: XCHG Eb,Gb
17187: XCHG Ev,Gv
17288: MOV Eb,Gb
17389: MOV Ev,Gv
1748a: MOV Gb,Eb
1758b: MOV Gv,Ev
1768c: MOV Ev,Sw
1778d: LEA Gv,M
1788e: MOV Sw,Ew
1798f: Grp1A (1A) | POP Ev (d64)
180# 0x90 - 0x9f
18190: NOP | PAUSE (F3) | XCHG r8,rAX
18291: XCHG rCX/r9,rAX
18392: XCHG rDX/r10,rAX
18493: XCHG rBX/r11,rAX
18594: XCHG rSP/r12,rAX
18695: XCHG rBP/r13,rAX
18796: XCHG rSI/r14,rAX
18897: XCHG rDI/r15,rAX
18998: CBW/CWDE/CDQE
19099: CWD/CDQ/CQO
1919a: CALLF Ap (i64)
1929b: FWAIT/WAIT
1939c: PUSHF/D/Q Fv (d64)
1949d: POPF/D/Q Fv (d64)
1959e: SAHF
1969f: LAHF
197# 0xa0 - 0xaf
198a0: MOV AL,Ob
199a1: MOV rAX,Ov
200a2: MOV Ob,AL
201a3: MOV Ov,rAX
202a4: MOVS/B Xb,Yb
203a5: MOVS/W/D/Q Xv,Yv
204a6: CMPS/B Xb,Yb
205a7: CMPS/W/D Xv,Yv
206a8: TEST AL,Ib
207a9: TEST rAX,Iz
208aa: STOS/B Yb,AL
209ab: STOS/W/D/Q Yv,rAX
210ac: LODS/B AL,Xb
211ad: LODS/W/D/Q rAX,Xv
212ae: SCAS/B AL,Yb
Ulrich Drepper8d973b62012-01-15 19:40:24 -0500213# Note: The May 2011 Intel manual shows Xv for the second parameter of the
214# next instruction but Yv is correct
215af: SCAS/W/D/Q rAX,Yv
Masami Hiramatsueb132962009-08-13 16:34:13 -0400216# 0xb0 - 0xbf
217b0: MOV AL/R8L,Ib
218b1: MOV CL/R9L,Ib
219b2: MOV DL/R10L,Ib
220b3: MOV BL/R11L,Ib
221b4: MOV AH/R12L,Ib
222b5: MOV CH/R13L,Ib
223b6: MOV DH/R14L,Ib
224b7: MOV BH/R15L,Ib
225b8: MOV rAX/r8,Iv
226b9: MOV rCX/r9,Iv
227ba: MOV rDX/r10,Iv
228bb: MOV rBX/r11,Iv
229bc: MOV rSP/r12,Iv
230bd: MOV rBP/r13,Iv
231be: MOV rSI/r14,Iv
232bf: MOV rDI/r15,Iv
233# 0xc0 - 0xcf
234c0: Grp2 Eb,Ib (1A)
235c1: Grp2 Ev,Ib (1A)
236c2: RETN Iw (f64)
237c3: RETN
Masami Hiramatsue0e492e2009-10-27 16:42:27 -0400238c4: LES Gz,Mp (i64) | 3bytes-VEX (Prefix)
239c5: LDS Gz,Mp (i64) | 2bytes-VEX (Prefix)
Masami Hiramatsueb132962009-08-13 16:34:13 -0400240c6: Grp11 Eb,Ib (1A)
241c7: Grp11 Ev,Iz (1A)
242c8: ENTER Iw,Ib
243c9: LEAVE (d64)
244ca: RETF Iw
245cb: RETF
246cc: INT3
247cd: INT Ib
248ce: INTO (i64)
249cf: IRET/D/Q
250# 0xd0 - 0xdf
251d0: Grp2 Eb,1 (1A)
252d1: Grp2 Ev,1 (1A)
253d2: Grp2 Eb,CL (1A)
254d3: Grp2 Ev,CL (1A)
255d4: AAM Ib (i64)
256d5: AAD Ib (i64)
257d6:
258d7: XLAT/XLATB
259d8: ESC
260d9: ESC
261da: ESC
262db: ESC
263dc: ESC
264dd: ESC
265de: ESC
266df: ESC
267# 0xe0 - 0xef
268e0: LOOPNE/LOOPNZ Jb (f64)
269e1: LOOPE/LOOPZ Jb (f64)
270e2: LOOP Jb (f64)
271e3: JrCXZ Jb (f64)
272e4: IN AL,Ib
273e5: IN eAX,Ib
274e6: OUT Ib,AL
275e7: OUT Ib,eAX
276e8: CALL Jz (f64)
277e9: JMP-near Jz (f64)
278ea: JMP-far Ap (i64)
279eb: JMP-short Jb (f64)
280ec: IN AL,DX
281ed: IN eAX,DX
282ee: OUT DX,AL
283ef: OUT DX,eAX
284# 0xf0 - 0xff
285f0: LOCK (Prefix)
286f1:
287f2: REPNE (Prefix)
288f3: REP/REPE (Prefix)
289f4: HLT
290f5: CMC
291f6: Grp3_1 Eb (1A)
292f7: Grp3_2 Ev (1A)
293f8: CLC
294f9: STC
295fa: CLI
296fb: STI
297fc: CLD
298fd: STD
299fe: Grp4 (1A)
300ff: Grp5 (1A)
301EndTable
302
Masami Hiramatsue0e492e2009-10-27 16:42:27 -0400303Table: 2-byte opcode (0x0f)
Masami Hiramatsueb132962009-08-13 16:34:13 -0400304Referrer: 2-byte escape
Masami Hiramatsue0e492e2009-10-27 16:42:27 -0400305AVXcode: 1
Masami Hiramatsueb132962009-08-13 16:34:13 -0400306# 0x0f 0x00-0x0f
30700: Grp6 (1A)
30801: Grp7 (1A)
30902: LAR Gv,Ew
31003: LSL Gv,Ew
31104:
31205: SYSCALL (o64)
31306: CLTS
31407: SYSRET (o64)
31508: INVD
31609: WBINVD
3170a:
3180b: UD2 (1B)
3190c:
Masami Hiramatsud1baf5a2009-10-16 20:07:44 -04003200d: NOP Ev | GrpP
3210e: FEMMS
322# 3DNow! uses the last imm byte as opcode extension.
3230f: 3DNow! Pq,Qq,Ib
Masami Hiramatsueb132962009-08-13 16:34:13 -0400324# 0x0f 0x10-0x1f
Masami Hiramatsue0e492e2009-10-27 16:42:27 -040032510: movups Vps,Wps (VEX) | movss Vss,Wss (F3),(VEX),(o128) | movupd Vpd,Wpd (66),(VEX) | movsd Vsd,Wsd (F2),(VEX),(o128)
32611: movups Wps,Vps (VEX) | movss Wss,Vss (F3),(VEX),(o128) | movupd Wpd,Vpd (66),(VEX) | movsd Wsd,Vsd (F2),(VEX),(o128)
32712: movlps Vq,Mq (VEX),(o128) | movlpd Vq,Mq (66),(VEX),(o128) | movhlps Vq,Uq (VEX),(o128) | movddup Vq,Wq (F2),(VEX) | movsldup Vq,Wq (F3),(VEX)
32813: mpvlps Mq,Vq (VEX),(o128) | movlpd Mq,Vq (66),(VEX),(o128)
32914: unpcklps Vps,Wq (VEX) | unpcklpd Vpd,Wq (66),(VEX)
33015: unpckhps Vps,Wq (VEX) | unpckhpd Vpd,Wq (66),(VEX)
33116: movhps Vq,Mq (VEX),(o128) | movhpd Vq,Mq (66),(VEX),(o128) | movlsps Vq,Uq (VEX),(o128) | movshdup Vq,Wq (F3),(VEX)
33217: movhps Mq,Vq (VEX),(o128) | movhpd Mq,Vq (66),(VEX),(o128)
Masami Hiramatsueb132962009-08-13 16:34:13 -040033318: Grp16 (1A)
33419:
3351a:
3361b:
3371c:
3381d:
3391e:
3401f: NOP Ev
341# 0x0f 0x20-0x2f
34220: MOV Rd,Cd
34321: MOV Rd,Dd
34422: MOV Cd,Rd
34523: MOV Dd,Rd
34624:
34725:
34826:
34927:
Masami Hiramatsue0e492e2009-10-27 16:42:27 -040035028: movaps Vps,Wps (VEX) | movapd Vpd,Wpd (66),(VEX)
35129: movaps Wps,Vps (VEX) | movapd Wpd,Vpd (66),(VEX)
3522a: cvtpi2ps Vps,Qpi | cvtsi2ss Vss,Ed/q (F3),(VEX),(o128) | cvtpi2pd Vpd,Qpi (66) | cvtsi2sd Vsd,Ed/q (F2),(VEX),(o128)
3532b: movntps Mps,Vps (VEX) | movntpd Mpd,Vpd (66),(VEX)
3542c: cvttps2pi Ppi,Wps | cvttss2si Gd/q,Wss (F3),(VEX),(o128) | cvttpd2pi Ppi,Wpd (66) | cvttsd2si Gd/q,Wsd (F2),(VEX),(o128)
3552d: cvtps2pi Ppi,Wps | cvtss2si Gd/q,Wss (F3),(VEX),(o128) | cvtpd2pi Qpi,Wpd (66) | cvtsd2si Gd/q,Wsd (F2),(VEX),(o128)
3562e: ucomiss Vss,Wss (VEX),(o128) | ucomisd Vsd,Wsd (66),(VEX),(o128)
3572f: comiss Vss,Wss (VEX),(o128) | comisd Vsd,Wsd (66),(VEX),(o128)
Masami Hiramatsueb132962009-08-13 16:34:13 -0400358# 0x0f 0x30-0x3f
35930: WRMSR
36031: RDTSC
36132: RDMSR
36233: RDPMC
36334: SYSENTER
36435: SYSEXIT
36536:
36637: GETSEC
36738: escape # 3-byte escape 1
36839:
3693a: escape # 3-byte escape 2
3703b:
3713c:
3723d:
3733e:
3743f:
375# 0x0f 0x40-0x4f
37640: CMOVO Gv,Ev
37741: CMOVNO Gv,Ev
37842: CMOVB/C/NAE Gv,Ev
37943: CMOVAE/NB/NC Gv,Ev
38044: CMOVE/Z Gv,Ev
38145: CMOVNE/NZ Gv,Ev
38246: CMOVBE/NA Gv,Ev
38347: CMOVA/NBE Gv,Ev
38448: CMOVS Gv,Ev
38549: CMOVNS Gv,Ev
3864a: CMOVP/PE Gv,Ev
3874b: CMOVNP/PO Gv,Ev
3884c: CMOVL/NGE Gv,Ev
3894d: CMOVNL/GE Gv,Ev
3904e: CMOVLE/NG Gv,Ev
3914f: CMOVNLE/G Gv,Ev
392# 0x0f 0x50-0x5f
Masami Hiramatsue0e492e2009-10-27 16:42:27 -040039350: movmskps Gd/q,Ups (VEX) | movmskpd Gd/q,Upd (66),(VEX)
39451: sqrtps Vps,Wps (VEX) | sqrtss Vss,Wss (F3),(VEX),(o128) | sqrtpd Vpd,Wpd (66),(VEX) | sqrtsd Vsd,Wsd (F2),(VEX),(o128)
39552: rsqrtps Vps,Wps (VEX) | rsqrtss Vss,Wss (F3),(VEX),(o128)
39653: rcpps Vps,Wps (VEX) | rcpss Vss,Wss (F3),(VEX),(o128)
39754: andps Vps,Wps (VEX) | andpd Vpd,Wpd (66),(VEX)
39855: andnps Vps,Wps (VEX) | andnpd Vpd,Wpd (66),(VEX)
39956: orps Vps,Wps (VEX) | orpd Vpd,Wpd (66),(VEX)
40057: xorps Vps,Wps (VEX) | xorpd Vpd,Wpd (66),(VEX)
40158: addps Vps,Wps (VEX) | addss Vss,Wss (F3),(VEX),(o128) | addpd Vpd,Wpd (66),(VEX) | addsd Vsd,Wsd (F2),(VEX),(o128)
40259: mulps Vps,Wps (VEX) | mulss Vss,Wss (F3),(VEX),(o128) | mulpd Vpd,Wpd (66),(VEX) | mulsd Vsd,Wsd (F2),(VEX),(o128)
4035a: cvtps2pd Vpd,Wps (VEX) | cvtss2sd Vsd,Wss (F3),(VEX),(o128) | cvtpd2ps Vps,Wpd (66),(VEX) | cvtsd2ss Vsd,Wsd (F2),(VEX),(o128)
4045b: cvtdq2ps Vps,Wdq (VEX) | cvtps2dq Vdq,Wps (66),(VEX) | cvttps2dq Vdq,Wps (F3),(VEX)
4055c: subps Vps,Wps (VEX) | subss Vss,Wss (F3),(VEX),(o128) | subpd Vpd,Wpd (66),(VEX) | subsd Vsd,Wsd (F2),(VEX),(o128)
4065d: minps Vps,Wps (VEX) | minss Vss,Wss (F3),(VEX),(o128) | minpd Vpd,Wpd (66),(VEX) | minsd Vsd,Wsd (F2),(VEX),(o128)
4075e: divps Vps,Wps (VEX) | divss Vss,Wss (F3),(VEX),(o128) | divpd Vpd,Wpd (66),(VEX) | divsd Vsd,Wsd (F2),(VEX),(o128)
4085f: maxps Vps,Wps (VEX) | maxss Vss,Wss (F3),(VEX),(o128) | maxpd Vpd,Wpd (66),(VEX) | maxsd Vsd,Wsd (F2),(VEX),(o128)
Masami Hiramatsueb132962009-08-13 16:34:13 -0400409# 0x0f 0x60-0x6f
Masami Hiramatsue0e492e2009-10-27 16:42:27 -040041060: punpcklbw Pq,Qd | punpcklbw Vdq,Wdq (66),(VEX),(o128)
41161: punpcklwd Pq,Qd | punpcklwd Vdq,Wdq (66),(VEX),(o128)
41262: punpckldq Pq,Qd | punpckldq Vdq,Wdq (66),(VEX),(o128)
41363: packsswb Pq,Qq | packsswb Vdq,Wdq (66),(VEX),(o128)
41464: pcmpgtb Pq,Qq | pcmpgtb Vdq,Wdq (66),(VEX),(o128)
41565: pcmpgtw Pq,Qq | pcmpgtw Vdq,Wdq (66),(VEX),(o128)
41666: pcmpgtd Pq,Qq | pcmpgtd Vdq,Wdq (66),(VEX),(o128)
41767: packuswb Pq,Qq | packuswb Vdq,Wdq (66),(VEX),(o128)
41868: punpckhbw Pq,Qd | punpckhbw Vdq,Wdq (66),(VEX),(o128)
41969: punpckhwd Pq,Qd | punpckhwd Vdq,Wdq (66),(VEX),(o128)
4206a: punpckhdq Pq,Qd | punpckhdq Vdq,Wdq (66),(VEX),(o128)
4216b: packssdw Pq,Qd | packssdw Vdq,Wdq (66),(VEX),(o128)
4226c: punpcklqdq Vdq,Wdq (66),(VEX),(o128)
4236d: punpckhqdq Vdq,Wdq (66),(VEX),(o128)
4246e: movd/q/ Pd,Ed/q | movd/q Vdq,Ed/q (66),(VEX),(o128)
4256f: movq Pq,Qq | movdqa Vdq,Wdq (66),(VEX) | movdqu Vdq,Wdq (F3),(VEX)
Masami Hiramatsueb132962009-08-13 16:34:13 -0400426# 0x0f 0x70-0x7f
Masami Hiramatsue0e492e2009-10-27 16:42:27 -040042770: pshufw Pq,Qq,Ib | pshufd Vdq,Wdq,Ib (66),(VEX),(o128) | pshufhw Vdq,Wdq,Ib (F3),(VEX),(o128) | pshuflw VdqWdq,Ib (F2),(VEX),(o128)
Masami Hiramatsueb132962009-08-13 16:34:13 -040042871: Grp12 (1A)
42972: Grp13 (1A)
43073: Grp14 (1A)
Masami Hiramatsue0e492e2009-10-27 16:42:27 -040043174: pcmpeqb Pq,Qq | pcmpeqb Vdq,Wdq (66),(VEX),(o128)
43275: pcmpeqw Pq,Qq | pcmpeqw Vdq,Wdq (66),(VEX),(o128)
43376: pcmpeqd Pq,Qq | pcmpeqd Vdq,Wdq (66),(VEX),(o128)
43477: emms/vzeroupper/vzeroall (VEX)
Masami Hiramatsueb132962009-08-13 16:34:13 -040043578: VMREAD Ed/q,Gd/q
43679: VMWRITE Gd/q,Ed/q
4377a:
4387b:
Masami Hiramatsue0e492e2009-10-27 16:42:27 -04004397c: haddps Vps,Wps (F2),(VEX) | haddpd Vpd,Wpd (66),(VEX)
4407d: hsubps Vps,Wps (F2),(VEX) | hsubpd Vpd,Wpd (66),(VEX)
4417e: movd/q Ed/q,Pd | movd/q Ed/q,Vdq (66),(VEX),(o128) | movq Vq,Wq (F3),(VEX),(o128)
4427f: movq Qq,Pq | movdqa Wdq,Vdq (66),(VEX) | movdqu Wdq,Vdq (F3),(VEX)
Masami Hiramatsueb132962009-08-13 16:34:13 -0400443# 0x0f 0x80-0x8f
44480: JO Jz (f64)
44581: JNO Jz (f64)
44682: JB/JNAE/JC Jz (f64)
44783: JNB/JAE/JNC Jz (f64)
44884: JZ/JE Jz (f64)
44985: JNZ/JNE Jz (f64)
45086: JBE/JNA Jz (f64)
45187: JNBE/JA Jz (f64)
45288: JS Jz (f64)
45389: JNS Jz (f64)
4548a: JP/JPE Jz (f64)
4558b: JNP/JPO Jz (f64)
4568c: JL/JNGE Jz (f64)
4578d: JNL/JGE Jz (f64)
4588e: JLE/JNG Jz (f64)
4598f: JNLE/JG Jz (f64)
460# 0x0f 0x90-0x9f
46190: SETO Eb
46291: SETNO Eb
46392: SETB/C/NAE Eb
46493: SETAE/NB/NC Eb
46594: SETE/Z Eb
46695: SETNE/NZ Eb
46796: SETBE/NA Eb
46897: SETA/NBE Eb
46998: SETS Eb
47099: SETNS Eb
4719a: SETP/PE Eb
4729b: SETNP/PO Eb
4739c: SETL/NGE Eb
4749d: SETNL/GE Eb
4759e: SETLE/NG Eb
4769f: SETNLE/G Eb
477# 0x0f 0xa0-0xaf
478a0: PUSH FS (d64)
479a1: POP FS (d64)
480a2: CPUID
481a3: BT Ev,Gv
482a4: SHLD Ev,Gv,Ib
483a5: SHLD Ev,Gv,CL
Masami Hiramatsuc0b11d32009-09-25 11:20:38 -0700484a6: GrpPDLK
Masami Hiramatsueb132962009-08-13 16:34:13 -0400485a7: GrpRNG
486a8: PUSH GS (d64)
487a9: POP GS (d64)
488aa: RSM
489ab: BTS Ev,Gv
490ac: SHRD Ev,Gv,Ib
491ad: SHRD Ev,Gv,CL
492ae: Grp15 (1A),(1C)
493af: IMUL Gv,Ev
494# 0x0f 0xb0-0xbf
495b0: CMPXCHG Eb,Gb
496b1: CMPXCHG Ev,Gv
497b2: LSS Gv,Mp
498b3: BTR Ev,Gv
499b4: LFS Gv,Mp
500b5: LGS Gv,Mp
501b6: MOVZX Gv,Eb
502b7: MOVZX Gv,Ew
503b8: JMPE | POPCNT Gv,Ev (F3)
504b9: Grp10 (1A)
505ba: Grp8 Ev,Ib (1A)
506bb: BTC Ev,Gv
507bc: BSF Gv,Ev
508bd: BSR Gv,Ev
509be: MOVSX Gv,Eb
510bf: MOVSX Gv,Ew
511# 0x0f 0xc0-0xcf
512c0: XADD Eb,Gb
513c1: XADD Ev,Gv
Masami Hiramatsue0e492e2009-10-27 16:42:27 -0400514c2: cmpps Vps,Wps,Ib (VEX) | cmpss Vss,Wss,Ib (F3),(VEX),(o128) | cmppd Vpd,Wpd,Ib (66),(VEX) | cmpsd Vsd,Wsd,Ib (F2),(VEX)
Masami Hiramatsueb132962009-08-13 16:34:13 -0400515c3: movnti Md/q,Gd/q
Masami Hiramatsue0e492e2009-10-27 16:42:27 -0400516c4: pinsrw Pq,Rd/q/Mw,Ib | pinsrw Vdq,Rd/q/Mw,Ib (66),(VEX),(o128)
517c5: pextrw Gd,Nq,Ib | pextrw Gd,Udq,Ib (66),(VEX),(o128)
518c6: shufps Vps,Wps,Ib (VEX) | shufpd Vpd,Wpd,Ib (66),(VEX)
Masami Hiramatsueb132962009-08-13 16:34:13 -0400519c7: Grp9 (1A)
520c8: BSWAP RAX/EAX/R8/R8D
521c9: BSWAP RCX/ECX/R9/R9D
522ca: BSWAP RDX/EDX/R10/R10D
523cb: BSWAP RBX/EBX/R11/R11D
524cc: BSWAP RSP/ESP/R12/R12D
525cd: BSWAP RBP/EBP/R13/R13D
526ce: BSWAP RSI/ESI/R14/R14D
527cf: BSWAP RDI/EDI/R15/R15D
528# 0x0f 0xd0-0xdf
Masami Hiramatsue0e492e2009-10-27 16:42:27 -0400529d0: addsubps Vps,Wps (F2),(VEX) | addsubpd Vpd,Wpd (66),(VEX)
530d1: psrlw Pq,Qq | psrlw Vdq,Wdq (66),(VEX),(o128)
531d2: psrld Pq,Qq | psrld Vdq,Wdq (66),(VEX),(o128)
532d3: psrlq Pq,Qq | psrlq Vdq,Wdq (66),(VEX),(o128)
533d4: paddq Pq,Qq | paddq Vdq,Wdq (66),(VEX),(o128)
534d5: pmullw Pq,Qq | pmullw Vdq,Wdq (66),(VEX),(o128)
535d6: movq Wq,Vq (66),(VEX),(o128) | movq2dq Vdq,Nq (F3) | movdq2q Pq,Uq (F2)
536d7: pmovmskb Gd,Nq | pmovmskb Gd,Udq (66),(VEX),(o128)
537d8: psubusb Pq,Qq | psubusb Vdq,Wdq (66),(VEX),(o128)
538d9: psubusw Pq,Qq | psubusw Vdq,Wdq (66),(VEX),(o128)
539da: pminub Pq,Qq | pminub Vdq,Wdq (66),(VEX),(o128)
540db: pand Pq,Qq | pand Vdq,Wdq (66),(VEX),(o128)
541dc: paddusb Pq,Qq | paddusb Vdq,Wdq (66),(VEX),(o128)
542dd: paddusw Pq,Qq | paddusw Vdq,Wdq (66),(VEX),(o128)
543de: pmaxub Pq,Qq | pmaxub Vdq,Wdq (66),(VEX),(o128)
544df: pandn Pq,Qq | pandn Vdq,Wdq (66),(VEX),(o128)
Masami Hiramatsueb132962009-08-13 16:34:13 -0400545# 0x0f 0xe0-0xef
Masami Hiramatsue0e492e2009-10-27 16:42:27 -0400546e0: pavgb Pq,Qq | pavgb Vdq,Wdq (66),(VEX),(o128)
547e1: psraw Pq,Qq | psraw Vdq,Wdq (66),(VEX),(o128)
548e2: psrad Pq,Qq | psrad Vdq,Wdq (66),(VEX),(o128)
549e3: pavgw Pq,Qq | pavgw Vdq,Wdq (66),(VEX),(o128)
550e4: pmulhuw Pq,Qq | pmulhuw Vdq,Wdq (66),(VEX),(o128)
551e5: pmulhw Pq,Qq | pmulhw Vdq,Wdq (66),(VEX),(o128)
552e6: cvtpd2dq Vdq,Wpd (F2),(VEX) | cvttpd2dq Vdq,Wpd (66),(VEX) | cvtdq2pd Vpd,Wdq (F3),(VEX)
553e7: movntq Mq,Pq | movntdq Mdq,Vdq (66),(VEX)
554e8: psubsb Pq,Qq | psubsb Vdq,Wdq (66),(VEX),(o128)
555e9: psubsw Pq,Qq | psubsw Vdq,Wdq (66),(VEX),(o128)
556ea: pminsw Pq,Qq | pminsw Vdq,Wdq (66),(VEX),(o128)
557eb: por Pq,Qq | por Vdq,Wdq (66),(VEX),(o128)
558ec: paddsb Pq,Qq | paddsb Vdq,Wdq (66),(VEX),(o128)
559ed: paddsw Pq,Qq | paddsw Vdq,Wdq (66),(VEX),(o128)
560ee: pmaxsw Pq,Qq | pmaxsw Vdq,Wdq (66),(VEX),(o128)
561ef: pxor Pq,Qq | pxor Vdq,Wdq (66),(VEX),(o128)
Masami Hiramatsueb132962009-08-13 16:34:13 -0400562# 0x0f 0xf0-0xff
Masami Hiramatsue0e492e2009-10-27 16:42:27 -0400563f0: lddqu Vdq,Mdq (F2),(VEX)
564f1: psllw Pq,Qq | psllw Vdq,Wdq (66),(VEX),(o128)
565f2: pslld Pq,Qq | pslld Vdq,Wdq (66),(VEX),(o128)
566f3: psllq Pq,Qq | psllq Vdq,Wdq (66),(VEX),(o128)
567f4: pmuludq Pq,Qq | pmuludq Vdq,Wdq (66),(VEX),(o128)
568f5: pmaddwd Pq,Qq | pmaddwd Vdq,Wdq (66),(VEX),(o128)
569f6: psadbw Pq,Qq | psadbw Vdq,Wdq (66),(VEX),(o128)
570f7: maskmovq Pq,Nq | maskmovdqu Vdq,Udq (66),(VEX),(o128)
571f8: psubb Pq,Qq | psubb Vdq,Wdq (66),(VEX),(o128)
572f9: psubw Pq,Qq | psubw Vdq,Wdq (66),(VEX),(o128)
573fa: psubd Pq,Qq | psubd Vdq,Wdq (66),(VEX),(o128)
574fb: psubq Pq,Qq | psubq Vdq,Wdq (66),(VEX),(o128)
575fc: paddb Pq,Qq | paddb Vdq,Wdq (66),(VEX),(o128)
576fd: paddw Pq,Qq | paddw Vdq,Wdq (66),(VEX),(o128)
577fe: paddd Pq,Qq | paddd Vdq,Wdq (66),(VEX),(o128)
Masami Hiramatsueb132962009-08-13 16:34:13 -0400578ff:
579EndTable
580
Masami Hiramatsu9983d602009-10-20 12:55:31 -0400581Table: 3-byte opcode 1 (0x0f 0x38)
Masami Hiramatsueb132962009-08-13 16:34:13 -0400582Referrer: 3-byte escape 1
Masami Hiramatsue0e492e2009-10-27 16:42:27 -0400583AVXcode: 2
Masami Hiramatsuf12b4f52009-09-08 12:32:46 -0400584# 0x0f 0x38 0x00-0x0f
Masami Hiramatsue0e492e2009-10-27 16:42:27 -040058500: pshufb Pq,Qq | pshufb Vdq,Wdq (66),(VEX),(o128)
58601: phaddw Pq,Qq | phaddw Vdq,Wdq (66),(VEX),(o128)
58702: phaddd Pq,Qq | phaddd Vdq,Wdq (66),(VEX),(o128)
58803: phaddsw Pq,Qq | phaddsw Vdq,Wdq (66),(VEX),(o128)
58904: pmaddubsw Pq,Qq | pmaddubsw Vdq,Wdq (66),(VEX),(o128)
59005: phsubw Pq,Qq | phsubw Vdq,Wdq (66),(VEX),(o128)
59106: phsubd Pq,Qq | phsubd Vdq,Wdq (66),(VEX),(o128)
59207: phsubsw Pq,Qq | phsubsw Vdq,Wdq (66),(VEX),(o128)
59308: psignb Pq,Qq | psignb Vdq,Wdq (66),(VEX),(o128)
59409: psignw Pq,Qq | psignw Vdq,Wdq (66),(VEX),(o128)
5950a: psignd Pq,Qq | psignd Vdq,Wdq (66),(VEX),(o128)
5960b: pmulhrsw Pq,Qq | pmulhrsw Vdq,Wdq (66),(VEX),(o128)
5970c: Vpermilps /r (66),(oVEX)
5980d: Vpermilpd /r (66),(oVEX)
5990e: vtestps /r (66),(oVEX)
6000f: vtestpd /r (66),(oVEX)
Masami Hiramatsuf12b4f52009-09-08 12:32:46 -0400601# 0x0f 0x38 0x10-0x1f
60210: pblendvb Vdq,Wdq (66)
60311:
60412:
60513:
60614: blendvps Vdq,Wdq (66)
60715: blendvpd Vdq,Wdq (66)
60816:
Masami Hiramatsue0e492e2009-10-27 16:42:27 -040060917: ptest Vdq,Wdq (66),(VEX)
61018: vbroadcastss /r (66),(oVEX)
61119: vbroadcastsd /r (66),(oVEX),(o256)
6121a: vbroadcastf128 /r (66),(oVEX),(o256)
Masami Hiramatsuf12b4f52009-09-08 12:32:46 -04006131b:
Masami Hiramatsue0e492e2009-10-27 16:42:27 -04006141c: pabsb Pq,Qq | pabsb Vdq,Wdq (66),(VEX),(o128)
6151d: pabsw Pq,Qq | pabsw Vdq,Wdq (66),(VEX),(o128)
6161e: pabsd Pq,Qq | pabsd Vdq,Wdq (66),(VEX),(o128)
Masami Hiramatsuf12b4f52009-09-08 12:32:46 -04006171f:
618# 0x0f 0x38 0x20-0x2f
Masami Hiramatsue0e492e2009-10-27 16:42:27 -040061920: pmovsxbw Vdq,Udq/Mq (66),(VEX),(o128)
62021: pmovsxbd Vdq,Udq/Md (66),(VEX),(o128)
62122: pmovsxbq Vdq,Udq/Mw (66),(VEX),(o128)
62223: pmovsxwd Vdq,Udq/Mq (66),(VEX),(o128)
62324: pmovsxwq Vdq,Udq/Md (66),(VEX),(o128)
62425: pmovsxdq Vdq,Udq/Mq (66),(VEX),(o128)
Masami Hiramatsuf12b4f52009-09-08 12:32:46 -040062526:
62627:
Masami Hiramatsue0e492e2009-10-27 16:42:27 -040062728: pmuldq Vdq,Wdq (66),(VEX),(o128)
62829: pcmpeqq Vdq,Wdq (66),(VEX),(o128)
6292a: movntdqa Vdq,Mdq (66),(VEX),(o128)
6302b: packusdw Vdq,Wdq (66),(VEX),(o128)
6312c: vmaskmovps(ld) /r (66),(oVEX)
6322d: vmaskmovpd(ld) /r (66),(oVEX)
6332e: vmaskmovps(st) /r (66),(oVEX)
6342f: vmaskmovpd(st) /r (66),(oVEX)
Masami Hiramatsuf12b4f52009-09-08 12:32:46 -0400635# 0x0f 0x38 0x30-0x3f
Masami Hiramatsue0e492e2009-10-27 16:42:27 -040063630: pmovzxbw Vdq,Udq/Mq (66),(VEX),(o128)
63731: pmovzxbd Vdq,Udq/Md (66),(VEX),(o128)
63832: pmovzxbq Vdq,Udq/Mw (66),(VEX),(o128)
63933: pmovzxwd Vdq,Udq/Mq (66),(VEX),(o128)
64034: pmovzxwq Vdq,Udq/Md (66),(VEX),(o128)
64135: pmovzxdq Vdq,Udq/Mq (66),(VEX),(o128)
Masami Hiramatsuf12b4f52009-09-08 12:32:46 -040064236:
Masami Hiramatsue0e492e2009-10-27 16:42:27 -040064337: pcmpgtq Vdq,Wdq (66),(VEX),(o128)
64438: pminsb Vdq,Wdq (66),(VEX),(o128)
64539: pminsd Vdq,Wdq (66),(VEX),(o128)
6463a: pminuw Vdq,Wdq (66),(VEX),(o128)
6473b: pminud Vdq,Wdq (66),(VEX),(o128)
6483c: pmaxsb Vdq,Wdq (66),(VEX),(o128)
6493d: pmaxsd Vdq,Wdq (66),(VEX),(o128)
6503e: pmaxuw Vdq,Wdq (66),(VEX),(o128)
6513f: pmaxud Vdq,Wdq (66),(VEX),(o128)
Masami Hiramatsu3f7e4542009-10-27 16:42:35 -0400652# 0x0f 0x38 0x40-0x8f
Masami Hiramatsue0e492e2009-10-27 16:42:27 -040065340: pmulld Vdq,Wdq (66),(VEX),(o128)
65441: phminposuw Vdq,Wdq (66),(VEX),(o128)
Masami Hiramatsueb132962009-08-13 16:34:13 -040065580: INVEPT Gd/q,Mdq (66)
65681: INVPID Gd/q,Mdq (66)
Masami Hiramatsu3f7e4542009-10-27 16:42:35 -0400657# 0x0f 0x38 0x90-0xbf (FMA)
65896: vfmaddsub132pd/ps /r (66),(VEX)
65997: vfmsubadd132pd/ps /r (66),(VEX)
66098: vfmadd132pd/ps /r (66),(VEX)
66199: vfmadd132sd/ss /r (66),(VEX),(o128)
6629a: vfmsub132pd/ps /r (66),(VEX)
6639b: vfmsub132sd/ss /r (66),(VEX),(o128)
6649c: vfnmadd132pd/ps /r (66),(VEX)
6659d: vfnmadd132sd/ss /r (66),(VEX),(o128)
6669e: vfnmsub132pd/ps /r (66),(VEX)
6679f: vfnmsub132sd/ss /r (66),(VEX),(o128)
668a6: vfmaddsub213pd/ps /r (66),(VEX)
669a7: vfmsubadd213pd/ps /r (66),(VEX)
670a8: vfmadd213pd/ps /r (66),(VEX)
671a9: vfmadd213sd/ss /r (66),(VEX),(o128)
672aa: vfmsub213pd/ps /r (66),(VEX)
673ab: vfmsub213sd/ss /r (66),(VEX),(o128)
674ac: vfnmadd213pd/ps /r (66),(VEX)
675ad: vfnmadd213sd/ss /r (66),(VEX),(o128)
676ae: vfnmsub213pd/ps /r (66),(VEX)
677af: vfnmsub213sd/ss /r (66),(VEX),(o128)
678b6: vfmaddsub231pd/ps /r (66),(VEX)
679b7: vfmsubadd231pd/ps /r (66),(VEX)
680b8: vfmadd231pd/ps /r (66),(VEX)
681b9: vfmadd231sd/ss /r (66),(VEX),(o128)
682ba: vfmsub231pd/ps /r (66),(VEX)
683bb: vfmsub231sd/ss /r (66),(VEX),(o128)
684bc: vfnmadd231pd/ps /r (66),(VEX)
685bd: vfnmadd231sd/ss /r (66),(VEX),(o128)
686be: vfnmsub231pd/ps /r (66),(VEX)
687bf: vfnmsub231sd/ss /r (66),(VEX),(o128)
688# 0x0f 0x38 0xc0-0xff
Masami Hiramatsue0e492e2009-10-27 16:42:27 -0400689db: aesimc Vdq,Wdq (66),(VEX),(o128)
690dc: aesenc Vdq,Wdq (66),(VEX),(o128)
691dd: aesenclast Vdq,Wdq (66),(VEX),(o128)
692de: aesdec Vdq,Wdq (66),(VEX),(o128)
693df: aesdeclast Vdq,Wdq (66),(VEX),(o128)
Masami Hiramatsueb132962009-08-13 16:34:13 -0400694f0: MOVBE Gv,Mv | CRC32 Gd,Eb (F2)
695f1: MOVBE Mv,Gv | CRC32 Gd,Ev (F2)
696EndTable
697
Masami Hiramatsu9983d602009-10-20 12:55:31 -0400698Table: 3-byte opcode 2 (0x0f 0x3a)
Masami Hiramatsueb132962009-08-13 16:34:13 -0400699Referrer: 3-byte escape 2
Masami Hiramatsue0e492e2009-10-27 16:42:27 -0400700AVXcode: 3
Masami Hiramatsuf12b4f52009-09-08 12:32:46 -0400701# 0x0f 0x3a 0x00-0xff
Masami Hiramatsue0e492e2009-10-27 16:42:27 -040070204: vpermilps /r,Ib (66),(oVEX)
70305: vpermilpd /r,Ib (66),(oVEX)
70406: vperm2f128 /r,Ib (66),(oVEX),(o256)
70508: roundps Vdq,Wdq,Ib (66),(VEX)
70609: roundpd Vdq,Wdq,Ib (66),(VEX)
7070a: roundss Vss,Wss,Ib (66),(VEX),(o128)
7080b: roundsd Vsd,Wsd,Ib (66),(VEX),(o128)
7090c: blendps Vdq,Wdq,Ib (66),(VEX)
7100d: blendpd Vdq,Wdq,Ib (66),(VEX)
7110e: pblendw Vdq,Wdq,Ib (66),(VEX),(o128)
7120f: palignr Pq,Qq,Ib | palignr Vdq,Wdq,Ib (66),(VEX),(o128)
71314: pextrb Rd/Mb,Vdq,Ib (66),(VEX),(o128)
71415: pextrw Rd/Mw,Vdq,Ib (66),(VEX),(o128)
71516: pextrd/pextrq Ed/q,Vdq,Ib (66),(VEX),(o128)
71617: extractps Ed,Vdq,Ib (66),(VEX),(o128)
71718: vinsertf128 /r,Ib (66),(oVEX),(o256)
71819: vextractf128 /r,Ib (66),(oVEX),(o256)
71920: pinsrb Vdq,Rd/q/Mb,Ib (66),(VEX),(o128)
72021: insertps Vdq,Udq/Md,Ib (66),(VEX),(o128)
72122: pinsrd/pinsrq Vdq,Ed/q,Ib (66),(VEX),(o128)
72240: dpps Vdq,Wdq,Ib (66),(VEX)
72341: dppd Vdq,Wdq,Ib (66),(VEX),(o128)
72442: mpsadbw Vdq,Wdq,Ib (66),(VEX),(o128)
72544: pclmulq Vdq,Wdq,Ib (66),(VEX),(o128)
7264a: vblendvps /r,Ib (66),(oVEX)
7274b: vblendvpd /r,Ib (66),(oVEX)
7284c: vpblendvb /r,Ib (66),(oVEX),(o128)
72960: pcmpestrm Vdq,Wdq,Ib (66),(VEX),(o128)
73061: pcmpestri Vdq,Wdq,Ib (66),(VEX),(o128)
73162: pcmpistrm Vdq,Wdq,Ib (66),(VEX),(o128)
73263: pcmpistri Vdq,Wdq,Ib (66),(VEX),(o128)
733df: aeskeygenassist Vdq,Wdq,Ib (66),(VEX),(o128)
Masami Hiramatsueb132962009-08-13 16:34:13 -0400734EndTable
735
736GrpTable: Grp1
7370: ADD
7381: OR
7392: ADC
7403: SBB
7414: AND
7425: SUB
7436: XOR
7447: CMP
745EndTable
746
747GrpTable: Grp1A
7480: POP
749EndTable
750
751GrpTable: Grp2
7520: ROL
7531: ROR
7542: RCL
7553: RCR
7564: SHL/SAL
7575: SHR
7586:
7597: SAR
760EndTable
761
762GrpTable: Grp3_1
7630: TEST Eb,Ib
7641:
7652: NOT Eb
7663: NEG Eb
7674: MUL AL,Eb
7685: IMUL AL,Eb
7696: DIV AL,Eb
7707: IDIV AL,Eb
771EndTable
772
773GrpTable: Grp3_2
7740: TEST Ev,Iz
7751:
7762: NOT Ev
7773: NEG Ev
7784: MUL rAX,Ev
7795: IMUL rAX,Ev
7806: DIV rAX,Ev
7817: IDIV rAX,Ev
782EndTable
783
784GrpTable: Grp4
7850: INC Eb
7861: DEC Eb
787EndTable
788
789GrpTable: Grp5
7900: INC Ev
7911: DEC Ev
7922: CALLN Ev (f64)
7933: CALLF Ep
7944: JMPN Ev (f64)
7955: JMPF Ep
7966: PUSH Ev (d64)
7977:
798EndTable
799
800GrpTable: Grp6
8010: SLDT Rv/Mw
8021: STR Rv/Mw
8032: LLDT Ew
8043: LTR Ew
8054: VERR Ew
8065: VERW Ew
807EndTable
808
809GrpTable: Grp7
8100: SGDT Ms | VMCALL (001),(11B) | VMLAUNCH (010),(11B) | VMRESUME (011),(11B) | VMXOFF (100),(11B)
8111: SIDT Ms | MONITOR (000),(11B) | MWAIT (001)
8122: LGDT Ms | XGETBV (000),(11B) | XSETBV (001),(11B)
8133: LIDT Ms
8144: SMSW Mw/Rv
8155:
8166: LMSW Ew
8177: INVLPG Mb | SWAPGS (o64),(000),(11B) | RDTSCP (001),(11B)
818EndTable
819
820GrpTable: Grp8
8214: BT
8225: BTS
8236: BTR
8247: BTC
825EndTable
826
827GrpTable: Grp9
8281: CMPXCHG8B/16B Mq/Mdq
8296: VMPTRLD Mq | VMCLEAR Mq (66) | VMXON Mq (F3)
8307: VMPTRST Mq
831EndTable
832
833GrpTable: Grp10
834EndTable
835
836GrpTable: Grp11
8370: MOV
838EndTable
839
840GrpTable: Grp12
Masami Hiramatsue0e492e2009-10-27 16:42:27 -04008412: psrlw Nq,Ib (11B) | psrlw Udq,Ib (66),(11B),(VEX),(o128)
8424: psraw Nq,Ib (11B) | psraw Udq,Ib (66),(11B),(VEX),(o128)
8436: psllw Nq,Ib (11B) | psllw Udq,Ib (66),(11B),(VEX),(o128)
Masami Hiramatsueb132962009-08-13 16:34:13 -0400844EndTable
845
846GrpTable: Grp13
Masami Hiramatsue0e492e2009-10-27 16:42:27 -04008472: psrld Nq,Ib (11B) | psrld Udq,Ib (66),(11B),(VEX),(o128)
8484: psrad Nq,Ib (11B) | psrad Udq,Ib (66),(11B),(VEX),(o128)
8496: pslld Nq,Ib (11B) | pslld Udq,Ib (66),(11B),(VEX),(o128)
Masami Hiramatsueb132962009-08-13 16:34:13 -0400850EndTable
851
852GrpTable: Grp14
Masami Hiramatsue0e492e2009-10-27 16:42:27 -04008532: psrlq Nq,Ib (11B) | psrlq Udq,Ib (66),(11B),(VEX),(o128)
8543: psrldq Udq,Ib (66),(11B),(VEX),(o128)
8556: psllq Nq,Ib (11B) | psllq Udq,Ib (66),(11B),(VEX),(o128)
8567: pslldq Udq,Ib (66),(11B),(VEX),(o128)
Masami Hiramatsueb132962009-08-13 16:34:13 -0400857EndTable
858
859GrpTable: Grp15
8600: fxsave
8611: fxstor
Masami Hiramatsue0e492e2009-10-27 16:42:27 -04008622: ldmxcsr (VEX)
8633: stmxcsr (VEX)
Masami Hiramatsueb132962009-08-13 16:34:13 -04008644: XSAVE
8655: XRSTOR | lfence (11B)
8666: mfence (11B)
8677: clflush | sfence (11B)
868EndTable
869
870GrpTable: Grp16
8710: prefetch NTA
8721: prefetch T0
8732: prefetch T1
8743: prefetch T2
875EndTable
876
Masami Hiramatsud1baf5a2009-10-16 20:07:44 -0400877# AMD's Prefetch Group
878GrpTable: GrpP
8790: PREFETCH
8801: PREFETCHW
881EndTable
882
Masami Hiramatsuc0b11d32009-09-25 11:20:38 -0700883GrpTable: GrpPDLK
8840: MONTMUL
8851: XSHA1
8862: XSHA2
887EndTable
888
Masami Hiramatsueb132962009-08-13 16:34:13 -0400889GrpTable: GrpRNG
8900: xstore-rng
8911: xcrypt-ecb
8922: xcrypt-cbc
8934: xcrypt-cfb
8945: xcrypt-ofb
895EndTable