1# x86 Opcode Maps 2# 3#<Opcode maps> 4# Table: table-name 5# Referrer: escaped-name 6# AVXcode: avx-code 7# 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# 17# 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# 23 24Table: one byte opcode 25Referrer: 26AVXcode: 27# 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 213af: SCAS/W/D/Q rAX,Xv 214# 0xb0 - 0xbf 215b0: MOV AL/R8L,Ib 216b1: MOV CL/R9L,Ib 217b2: MOV DL/R10L,Ib 218b3: MOV BL/R11L,Ib 219b4: MOV AH/R12L,Ib 220b5: MOV CH/R13L,Ib 221b6: MOV DH/R14L,Ib 222b7: MOV BH/R15L,Ib 223b8: MOV rAX/r8,Iv 224b9: MOV rCX/r9,Iv 225ba: MOV rDX/r10,Iv 226bb: MOV rBX/r11,Iv 227bc: MOV rSP/r12,Iv 228bd: MOV rBP/r13,Iv 229be: MOV rSI/r14,Iv 230bf: MOV rDI/r15,Iv 231# 0xc0 - 0xcf 232c0: Grp2 Eb,Ib (1A) 233c1: Grp2 Ev,Ib (1A) 234c2: RETN Iw (f64) 235c3: RETN 236c4: LES Gz,Mp (i64) | 3bytes-VEX (Prefix) 237c5: LDS Gz,Mp (i64) | 2bytes-VEX (Prefix) 238c6: Grp11 Eb,Ib (1A) 239c7: Grp11 Ev,Iz (1A) 240c8: ENTER Iw,Ib 241c9: LEAVE (d64) 242ca: RETF Iw 243cb: RETF 244cc: INT3 245cd: INT Ib 246ce: INTO (i64) 247cf: IRET/D/Q 248# 0xd0 - 0xdf 249d0: Grp2 Eb,1 (1A) 250d1: Grp2 Ev,1 (1A) 251d2: Grp2 Eb,CL (1A) 252d3: Grp2 Ev,CL (1A) 253d4: AAM Ib (i64) 254d5: AAD Ib (i64) 255d6: 256d7: XLAT/XLATB 257d8: ESC 258d9: ESC 259da: ESC 260db: ESC 261dc: ESC 262dd: ESC 263de: ESC 264df: ESC 265# 0xe0 - 0xef 266e0: LOOPNE/LOOPNZ Jb (f64) 267e1: LOOPE/LOOPZ Jb (f64) 268e2: LOOP Jb (f64) 269e3: JrCXZ Jb (f64) 270e4: IN AL,Ib 271e5: IN eAX,Ib 272e6: OUT Ib,AL 273e7: OUT Ib,eAX 274e8: CALL Jz (f64) 275e9: JMP-near Jz (f64) 276ea: JMP-far Ap (i64) 277eb: JMP-short Jb (f64) 278ec: IN AL,DX 279ed: IN eAX,DX 280ee: OUT DX,AL 281ef: OUT DX,eAX 282# 0xf0 - 0xff 283f0: LOCK (Prefix) 284f1: 285f2: REPNE (Prefix) 286f3: REP/REPE (Prefix) 287f4: HLT 288f5: CMC 289f6: Grp3_1 Eb (1A) 290f7: Grp3_2 Ev (1A) 291f8: CLC 292f9: STC 293fa: CLI 294fb: STI 295fc: CLD 296fd: STD 297fe: Grp4 (1A) 298ff: Grp5 (1A) 299EndTable 300 301Table: 2-byte opcode (0x0f) 302Referrer: 2-byte escape 303AVXcode: 1 304# 0x0f 0x00-0x0f 30500: Grp6 (1A) 30601: Grp7 (1A) 30702: LAR Gv,Ew 30803: LSL Gv,Ew 30904: 31005: SYSCALL (o64) 31106: CLTS 31207: SYSRET (o64) 31308: INVD 31409: WBINVD 3150a: 3160b: UD2 (1B) 3170c: 3180d: NOP Ev | GrpP 3190e: FEMMS 320# 3DNow! uses the last imm byte as opcode extension. 3210f: 3DNow! Pq,Qq,Ib 322# 0x0f 0x10-0x1f 32310: movups Vps,Wps (VEX) | movss Vss,Wss (F3),(VEX),(o128) | movupd Vpd,Wpd (66),(VEX) | movsd Vsd,Wsd (F2),(VEX),(o128) 32411: movups Wps,Vps (VEX) | movss Wss,Vss (F3),(VEX),(o128) | movupd Wpd,Vpd (66),(VEX) | movsd Wsd,Vsd (F2),(VEX),(o128) 32512: 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) 32613: mpvlps Mq,Vq (VEX),(o128) | movlpd Mq,Vq (66),(VEX),(o128) 32714: unpcklps Vps,Wq (VEX) | unpcklpd Vpd,Wq (66),(VEX) 32815: unpckhps Vps,Wq (VEX) | unpckhpd Vpd,Wq (66),(VEX) 32916: movhps Vq,Mq (VEX),(o128) | movhpd Vq,Mq (66),(VEX),(o128) | movlsps Vq,Uq (VEX),(o128) | movshdup Vq,Wq (F3),(VEX) 33017: movhps Mq,Vq (VEX),(o128) | movhpd Mq,Vq (66),(VEX),(o128) 33118: Grp16 (1A) 33219: 3331a: 3341b: 3351c: 3361d: 3371e: 3381f: NOP Ev 339# 0x0f 0x20-0x2f 34020: MOV Rd,Cd 34121: MOV Rd,Dd 34222: MOV Cd,Rd 34323: MOV Dd,Rd 34424: 34525: 34626: 34727: 34828: movaps Vps,Wps (VEX) | movapd Vpd,Wpd (66),(VEX) 34929: movaps Wps,Vps (VEX) | movapd Wpd,Vpd (66),(VEX) 3502a: cvtpi2ps Vps,Qpi | cvtsi2ss Vss,Ed/q (F3),(VEX),(o128) | cvtpi2pd Vpd,Qpi (66) | cvtsi2sd Vsd,Ed/q (F2),(VEX),(o128) 3512b: movntps Mps,Vps (VEX) | movntpd Mpd,Vpd (66),(VEX) 3522c: cvttps2pi Ppi,Wps | cvttss2si Gd/q,Wss (F3),(VEX),(o128) | cvttpd2pi Ppi,Wpd (66) | cvttsd2si Gd/q,Wsd (F2),(VEX),(o128) 3532d: cvtps2pi Ppi,Wps | cvtss2si Gd/q,Wss (F3),(VEX),(o128) | cvtpd2pi Qpi,Wpd (66) | cvtsd2si Gd/q,Wsd (F2),(VEX),(o128) 3542e: ucomiss Vss,Wss (VEX),(o128) | ucomisd Vsd,Wsd (66),(VEX),(o128) 3552f: comiss Vss,Wss (VEX),(o128) | comisd Vsd,Wsd (66),(VEX),(o128) 356# 0x0f 0x30-0x3f 35730: WRMSR 35831: RDTSC 35932: RDMSR 36033: RDPMC 36134: SYSENTER 36235: SYSEXIT 36336: 36437: GETSEC 36538: escape # 3-byte escape 1 36639: 3673a: escape # 3-byte escape 2 3683b: 3693c: 3703d: 3713e: 3723f: 373# 0x0f 0x40-0x4f 37440: CMOVO Gv,Ev 37541: CMOVNO Gv,Ev 37642: CMOVB/C/NAE Gv,Ev 37743: CMOVAE/NB/NC Gv,Ev 37844: CMOVE/Z Gv,Ev 37945: CMOVNE/NZ Gv,Ev 38046: CMOVBE/NA Gv,Ev 38147: CMOVA/NBE Gv,Ev 38248: CMOVS Gv,Ev 38349: CMOVNS Gv,Ev 3844a: CMOVP/PE Gv,Ev 3854b: CMOVNP/PO Gv,Ev 3864c: CMOVL/NGE Gv,Ev 3874d: CMOVNL/GE Gv,Ev 3884e: CMOVLE/NG Gv,Ev 3894f: CMOVNLE/G Gv,Ev 390# 0x0f 0x50-0x5f 39150: movmskps Gd/q,Ups (VEX) | movmskpd Gd/q,Upd (66),(VEX) 39251: sqrtps Vps,Wps (VEX) | sqrtss Vss,Wss (F3),(VEX),(o128) | sqrtpd Vpd,Wpd (66),(VEX) | sqrtsd Vsd,Wsd (F2),(VEX),(o128) 39352: rsqrtps Vps,Wps (VEX) | rsqrtss Vss,Wss (F3),(VEX),(o128) 39453: rcpps Vps,Wps (VEX) | rcpss Vss,Wss (F3),(VEX),(o128) 39554: andps Vps,Wps (VEX) | andpd Vpd,Wpd (66),(VEX) 39655: andnps Vps,Wps (VEX) | andnpd Vpd,Wpd (66),(VEX) 39756: orps Vps,Wps (VEX) | orpd Vpd,Wpd (66),(VEX) 39857: xorps Vps,Wps (VEX) | xorpd Vpd,Wpd (66),(VEX) 39958: addps Vps,Wps (VEX) | addss Vss,Wss (F3),(VEX),(o128) | addpd Vpd,Wpd (66),(VEX) | addsd Vsd,Wsd (F2),(VEX),(o128) 40059: mulps Vps,Wps (VEX) | mulss Vss,Wss (F3),(VEX),(o128) | mulpd Vpd,Wpd (66),(VEX) | mulsd Vsd,Wsd (F2),(VEX),(o128) 4015a: cvtps2pd Vpd,Wps (VEX) | cvtss2sd Vsd,Wss (F3),(VEX),(o128) | cvtpd2ps Vps,Wpd (66),(VEX) | cvtsd2ss Vsd,Wsd (F2),(VEX),(o128) 4025b: cvtdq2ps Vps,Wdq (VEX) | cvtps2dq Vdq,Wps (66),(VEX) | cvttps2dq Vdq,Wps (F3),(VEX) 4035c: subps Vps,Wps (VEX) | subss Vss,Wss (F3),(VEX),(o128) | subpd Vpd,Wpd (66),(VEX) | subsd Vsd,Wsd (F2),(VEX),(o128) 4045d: minps Vps,Wps (VEX) | minss Vss,Wss (F3),(VEX),(o128) | minpd Vpd,Wpd (66),(VEX) | minsd Vsd,Wsd (F2),(VEX),(o128) 4055e: divps Vps,Wps (VEX) | divss Vss,Wss (F3),(VEX),(o128) | divpd Vpd,Wpd (66),(VEX) | divsd Vsd,Wsd (F2),(VEX),(o128) 4065f: maxps Vps,Wps (VEX) | maxss Vss,Wss (F3),(VEX),(o128) | maxpd Vpd,Wpd (66),(VEX) | maxsd Vsd,Wsd (F2),(VEX),(o128) 407# 0x0f 0x60-0x6f 40860: punpcklbw Pq,Qd | punpcklbw Vdq,Wdq (66),(VEX),(o128) 40961: punpcklwd Pq,Qd | punpcklwd Vdq,Wdq (66),(VEX),(o128) 41062: punpckldq Pq,Qd | punpckldq Vdq,Wdq (66),(VEX),(o128) 41163: packsswb Pq,Qq | packsswb Vdq,Wdq (66),(VEX),(o128) 41264: pcmpgtb Pq,Qq | pcmpgtb Vdq,Wdq (66),(VEX),(o128) 41365: pcmpgtw Pq,Qq | pcmpgtw Vdq,Wdq (66),(VEX),(o128) 41466: pcmpgtd Pq,Qq | pcmpgtd Vdq,Wdq (66),(VEX),(o128) 41567: packuswb Pq,Qq | packuswb Vdq,Wdq (66),(VEX),(o128) 41668: punpckhbw Pq,Qd | punpckhbw Vdq,Wdq (66),(VEX),(o128) 41769: punpckhwd Pq,Qd | punpckhwd Vdq,Wdq (66),(VEX),(o128) 4186a: punpckhdq Pq,Qd | punpckhdq Vdq,Wdq (66),(VEX),(o128) 4196b: packssdw Pq,Qd | packssdw Vdq,Wdq (66),(VEX),(o128) 4206c: punpcklqdq Vdq,Wdq (66),(VEX),(o128) 4216d: punpckhqdq Vdq,Wdq (66),(VEX),(o128) 4226e: movd/q/ Pd,Ed/q | movd/q Vdq,Ed/q (66),(VEX),(o128) 4236f: movq Pq,Qq | movdqa Vdq,Wdq (66),(VEX) | movdqu Vdq,Wdq (F3),(VEX) 424# 0x0f 0x70-0x7f 42570: pshufw Pq,Qq,Ib | pshufd Vdq,Wdq,Ib (66),(VEX),(o128) | pshufhw Vdq,Wdq,Ib (F3),(VEX),(o128) | pshuflw VdqWdq,Ib (F2),(VEX),(o128) 42671: Grp12 (1A) 42772: Grp13 (1A) 42873: Grp14 (1A) 42974: pcmpeqb Pq,Qq | pcmpeqb Vdq,Wdq (66),(VEX),(o128) 43075: pcmpeqw Pq,Qq | pcmpeqw Vdq,Wdq (66),(VEX),(o128) 43176: pcmpeqd Pq,Qq | pcmpeqd Vdq,Wdq (66),(VEX),(o128) 43277: emms/vzeroupper/vzeroall (VEX) 43378: VMREAD Ed/q,Gd/q 43479: VMWRITE Gd/q,Ed/q 4357a: 4367b: 4377c: haddps Vps,Wps (F2),(VEX) | haddpd Vpd,Wpd (66),(VEX) 4387d: hsubps Vps,Wps (F2),(VEX) | hsubpd Vpd,Wpd (66),(VEX) 4397e: movd/q Ed/q,Pd | movd/q Ed/q,Vdq (66),(VEX),(o128) | movq Vq,Wq (F3),(VEX),(o128) 4407f: movq Qq,Pq | movdqa Wdq,Vdq (66),(VEX) | movdqu Wdq,Vdq (F3),(VEX) 441# 0x0f 0x80-0x8f 44280: JO Jz (f64) 44381: JNO Jz (f64) 44482: JB/JNAE/JC Jz (f64) 44583: JNB/JAE/JNC Jz (f64) 44684: JZ/JE Jz (f64) 44785: JNZ/JNE Jz (f64) 44886: JBE/JNA Jz (f64) 44987: JNBE/JA Jz (f64) 45088: JS Jz (f64) 45189: JNS Jz (f64) 4528a: JP/JPE Jz (f64) 4538b: JNP/JPO Jz (f64) 4548c: JL/JNGE Jz (f64) 4558d: JNL/JGE Jz (f64) 4568e: JLE/JNG Jz (f64) 4578f: JNLE/JG Jz (f64) 458# 0x0f 0x90-0x9f 45990: SETO Eb 46091: SETNO Eb 46192: SETB/C/NAE Eb 46293: SETAE/NB/NC Eb 46394: SETE/Z Eb 46495: SETNE/NZ Eb 46596: SETBE/NA Eb 46697: SETA/NBE Eb 46798: SETS Eb 46899: SETNS Eb 4699a: SETP/PE Eb 4709b: SETNP/PO Eb 4719c: SETL/NGE Eb 4729d: SETNL/GE Eb 4739e: SETLE/NG Eb 4749f: SETNLE/G Eb 475# 0x0f 0xa0-0xaf 476a0: PUSH FS (d64) 477a1: POP FS (d64) 478a2: CPUID 479a3: BT Ev,Gv 480a4: SHLD Ev,Gv,Ib 481a5: SHLD Ev,Gv,CL 482a6: GrpPDLK 483a7: GrpRNG 484a8: PUSH GS (d64) 485a9: POP GS (d64) 486aa: RSM 487ab: BTS Ev,Gv 488ac: SHRD Ev,Gv,Ib 489ad: SHRD Ev,Gv,CL 490ae: Grp15 (1A),(1C) 491af: IMUL Gv,Ev 492# 0x0f 0xb0-0xbf 493b0: CMPXCHG Eb,Gb 494b1: CMPXCHG Ev,Gv 495b2: LSS Gv,Mp 496b3: BTR Ev,Gv 497b4: LFS Gv,Mp 498b5: LGS Gv,Mp 499b6: MOVZX Gv,Eb 500b7: MOVZX Gv,Ew 501b8: JMPE | POPCNT Gv,Ev (F3) 502b9: Grp10 (1A) 503ba: Grp8 Ev,Ib (1A) 504bb: BTC Ev,Gv 505bc: BSF Gv,Ev 506bd: BSR Gv,Ev 507be: MOVSX Gv,Eb 508bf: MOVSX Gv,Ew 509# 0x0f 0xc0-0xcf 510c0: XADD Eb,Gb 511c1: XADD Ev,Gv 512c2: cmpps Vps,Wps,Ib (VEX) | cmpss Vss,Wss,Ib (F3),(VEX),(o128) | cmppd Vpd,Wpd,Ib (66),(VEX) | cmpsd Vsd,Wsd,Ib (F2),(VEX) 513c3: movnti Md/q,Gd/q 514c4: pinsrw Pq,Rd/q/Mw,Ib | pinsrw Vdq,Rd/q/Mw,Ib (66),(VEX),(o128) 515c5: pextrw Gd,Nq,Ib | pextrw Gd,Udq,Ib (66),(VEX),(o128) 516c6: shufps Vps,Wps,Ib (VEX) | shufpd Vpd,Wpd,Ib (66),(VEX) 517c7: Grp9 (1A) 518c8: BSWAP RAX/EAX/R8/R8D 519c9: BSWAP RCX/ECX/R9/R9D 520ca: BSWAP RDX/EDX/R10/R10D 521cb: BSWAP RBX/EBX/R11/R11D 522cc: BSWAP RSP/ESP/R12/R12D 523cd: BSWAP RBP/EBP/R13/R13D 524ce: BSWAP RSI/ESI/R14/R14D 525cf: BSWAP RDI/EDI/R15/R15D 526# 0x0f 0xd0-0xdf 527d0: addsubps Vps,Wps (F2),(VEX) | addsubpd Vpd,Wpd (66),(VEX) 528d1: psrlw Pq,Qq | psrlw Vdq,Wdq (66),(VEX),(o128) 529d2: psrld Pq,Qq | psrld Vdq,Wdq (66),(VEX),(o128) 530d3: psrlq Pq,Qq | psrlq Vdq,Wdq (66),(VEX),(o128) 531d4: paddq Pq,Qq | paddq Vdq,Wdq (66),(VEX),(o128) 532d5: pmullw Pq,Qq | pmullw Vdq,Wdq (66),(VEX),(o128) 533d6: movq Wq,Vq (66),(VEX),(o128) | movq2dq Vdq,Nq (F3) | movdq2q Pq,Uq (F2) 534d7: pmovmskb Gd,Nq | pmovmskb Gd,Udq (66),(VEX),(o128) 535d8: psubusb Pq,Qq | psubusb Vdq,Wdq (66),(VEX),(o128) 536d9: psubusw Pq,Qq | psubusw Vdq,Wdq (66),(VEX),(o128) 537da: pminub Pq,Qq | pminub Vdq,Wdq (66),(VEX),(o128) 538db: pand Pq,Qq | pand Vdq,Wdq (66),(VEX),(o128) 539dc: paddusb Pq,Qq | paddusb Vdq,Wdq (66),(VEX),(o128) 540dd: paddusw Pq,Qq | paddusw Vdq,Wdq (66),(VEX),(o128) 541de: pmaxub Pq,Qq | pmaxub Vdq,Wdq (66),(VEX),(o128) 542df: pandn Pq,Qq | pandn Vdq,Wdq (66),(VEX),(o128) 543# 0x0f 0xe0-0xef 544e0: pavgb Pq,Qq | pavgb Vdq,Wdq (66),(VEX),(o128) 545e1: psraw Pq,Qq | psraw Vdq,Wdq (66),(VEX),(o128) 546e2: psrad Pq,Qq | psrad Vdq,Wdq (66),(VEX),(o128) 547e3: pavgw Pq,Qq | pavgw Vdq,Wdq (66),(VEX),(o128) 548e4: pmulhuw Pq,Qq | pmulhuw Vdq,Wdq (66),(VEX),(o128) 549e5: pmulhw Pq,Qq | pmulhw Vdq,Wdq (66),(VEX),(o128) 550e6: cvtpd2dq Vdq,Wpd (F2),(VEX) | cvttpd2dq Vdq,Wpd (66),(VEX) | cvtdq2pd Vpd,Wdq (F3),(VEX) 551e7: movntq Mq,Pq | movntdq Mdq,Vdq (66),(VEX) 552e8: psubsb Pq,Qq | psubsb Vdq,Wdq (66),(VEX),(o128) 553e9: psubsw Pq,Qq | psubsw Vdq,Wdq (66),(VEX),(o128) 554ea: pminsw Pq,Qq | pminsw Vdq,Wdq (66),(VEX),(o128) 555eb: por Pq,Qq | por Vdq,Wdq (66),(VEX),(o128) 556ec: paddsb Pq,Qq | paddsb Vdq,Wdq (66),(VEX),(o128) 557ed: paddsw Pq,Qq | paddsw Vdq,Wdq (66),(VEX),(o128) 558ee: pmaxsw Pq,Qq | pmaxsw Vdq,Wdq (66),(VEX),(o128) 559ef: pxor Pq,Qq | pxor Vdq,Wdq (66),(VEX),(o128) 560# 0x0f 0xf0-0xff 561f0: lddqu Vdq,Mdq (F2),(VEX) 562f1: psllw Pq,Qq | psllw Vdq,Wdq (66),(VEX),(o128) 563f2: pslld Pq,Qq | pslld Vdq,Wdq (66),(VEX),(o128) 564f3: psllq Pq,Qq | psllq Vdq,Wdq (66),(VEX),(o128) 565f4: pmuludq Pq,Qq | pmuludq Vdq,Wdq (66),(VEX),(o128) 566f5: pmaddwd Pq,Qq | pmaddwd Vdq,Wdq (66),(VEX),(o128) 567f6: psadbw Pq,Qq | psadbw Vdq,Wdq (66),(VEX),(o128) 568f7: maskmovq Pq,Nq | maskmovdqu Vdq,Udq (66),(VEX),(o128) 569f8: psubb Pq,Qq | psubb Vdq,Wdq (66),(VEX),(o128) 570f9: psubw Pq,Qq | psubw Vdq,Wdq (66),(VEX),(o128) 571fa: psubd Pq,Qq | psubd Vdq,Wdq (66),(VEX),(o128) 572fb: psubq Pq,Qq | psubq Vdq,Wdq (66),(VEX),(o128) 573fc: paddb Pq,Qq | paddb Vdq,Wdq (66),(VEX),(o128) 574fd: paddw Pq,Qq | paddw Vdq,Wdq (66),(VEX),(o128) 575fe: paddd Pq,Qq | paddd Vdq,Wdq (66),(VEX),(o128) 576ff: 577EndTable 578 579Table: 3-byte opcode 1 (0x0f 0x38) 580Referrer: 3-byte escape 1 581AVXcode: 2 582# 0x0f 0x38 0x00-0x0f 58300: pshufb Pq,Qq | pshufb Vdq,Wdq (66),(VEX),(o128) 58401: phaddw Pq,Qq | phaddw Vdq,Wdq (66),(VEX),(o128) 58502: phaddd Pq,Qq | phaddd Vdq,Wdq (66),(VEX),(o128) 58603: phaddsw Pq,Qq | phaddsw Vdq,Wdq (66),(VEX),(o128) 58704: pmaddubsw Pq,Qq | pmaddubsw Vdq,Wdq (66),(VEX),(o128) 58805: phsubw Pq,Qq | phsubw Vdq,Wdq (66),(VEX),(o128) 58906: phsubd Pq,Qq | phsubd Vdq,Wdq (66),(VEX),(o128) 59007: phsubsw Pq,Qq | phsubsw Vdq,Wdq (66),(VEX),(o128) 59108: psignb Pq,Qq | psignb Vdq,Wdq (66),(VEX),(o128) 59209: psignw Pq,Qq | psignw Vdq,Wdq (66),(VEX),(o128) 5930a: psignd Pq,Qq | psignd Vdq,Wdq (66),(VEX),(o128) 5940b: pmulhrsw Pq,Qq | pmulhrsw Vdq,Wdq (66),(VEX),(o128) 5950c: Vpermilps /r (66),(oVEX) 5960d: Vpermilpd /r (66),(oVEX) 5970e: vtestps /r (66),(oVEX) 5980f: vtestpd /r (66),(oVEX) 599# 0x0f 0x38 0x10-0x1f 60010: pblendvb Vdq,Wdq (66) 60111: 60212: 60313: 60414: blendvps Vdq,Wdq (66) 60515: blendvpd Vdq,Wdq (66) 60616: 60717: ptest Vdq,Wdq (66),(VEX) 60818: vbroadcastss /r (66),(oVEX) 60919: vbroadcastsd /r (66),(oVEX),(o256) 6101a: vbroadcastf128 /r (66),(oVEX),(o256) 6111b: 6121c: pabsb Pq,Qq | pabsb Vdq,Wdq (66),(VEX),(o128) 6131d: pabsw Pq,Qq | pabsw Vdq,Wdq (66),(VEX),(o128) 6141e: pabsd Pq,Qq | pabsd Vdq,Wdq (66),(VEX),(o128) 6151f: 616# 0x0f 0x38 0x20-0x2f 61720: pmovsxbw Vdq,Udq/Mq (66),(VEX),(o128) 61821: pmovsxbd Vdq,Udq/Md (66),(VEX),(o128) 61922: pmovsxbq Vdq,Udq/Mw (66),(VEX),(o128) 62023: pmovsxwd Vdq,Udq/Mq (66),(VEX),(o128) 62124: pmovsxwq Vdq,Udq/Md (66),(VEX),(o128) 62225: pmovsxdq Vdq,Udq/Mq (66),(VEX),(o128) 62326: 62427: 62528: pmuldq Vdq,Wdq (66),(VEX),(o128) 62629: pcmpeqq Vdq,Wdq (66),(VEX),(o128) 6272a: movntdqa Vdq,Mdq (66),(VEX),(o128) 6282b: packusdw Vdq,Wdq (66),(VEX),(o128) 6292c: vmaskmovps(ld) /r (66),(oVEX) 6302d: vmaskmovpd(ld) /r (66),(oVEX) 6312e: vmaskmovps(st) /r (66),(oVEX) 6322f: vmaskmovpd(st) /r (66),(oVEX) 633# 0x0f 0x38 0x30-0x3f 63430: pmovzxbw Vdq,Udq/Mq (66),(VEX),(o128) 63531: pmovzxbd Vdq,Udq/Md (66),(VEX),(o128) 63632: pmovzxbq Vdq,Udq/Mw (66),(VEX),(o128) 63733: pmovzxwd Vdq,Udq/Mq (66),(VEX),(o128) 63834: pmovzxwq Vdq,Udq/Md (66),(VEX),(o128) 63935: pmovzxdq Vdq,Udq/Mq (66),(VEX),(o128) 64036: 64137: pcmpgtq Vdq,Wdq (66),(VEX),(o128) 64238: pminsb Vdq,Wdq (66),(VEX),(o128) 64339: pminsd Vdq,Wdq (66),(VEX),(o128) 6443a: pminuw Vdq,Wdq (66),(VEX),(o128) 6453b: pminud Vdq,Wdq (66),(VEX),(o128) 6463c: pmaxsb Vdq,Wdq (66),(VEX),(o128) 6473d: pmaxsd Vdq,Wdq (66),(VEX),(o128) 6483e: pmaxuw Vdq,Wdq (66),(VEX),(o128) 6493f: pmaxud Vdq,Wdq (66),(VEX),(o128) 650# 0x0f 0x38 0x40-0x8f 65140: pmulld Vdq,Wdq (66),(VEX),(o128) 65241: phminposuw Vdq,Wdq (66),(VEX),(o128) 65380: INVEPT Gd/q,Mdq (66) 65481: INVPID Gd/q,Mdq (66) 655# 0x0f 0x38 0x90-0xbf (FMA) 65696: vfmaddsub132pd/ps /r (66),(VEX) 65797: vfmsubadd132pd/ps /r (66),(VEX) 65898: vfmadd132pd/ps /r (66),(VEX) 65999: vfmadd132sd/ss /r (66),(VEX),(o128) 6609a: vfmsub132pd/ps /r (66),(VEX) 6619b: vfmsub132sd/ss /r (66),(VEX),(o128) 6629c: vfnmadd132pd/ps /r (66),(VEX) 6639d: vfnmadd132sd/ss /r (66),(VEX),(o128) 6649e: vfnmsub132pd/ps /r (66),(VEX) 6659f: vfnmsub132sd/ss /r (66),(VEX),(o128) 666a6: vfmaddsub213pd/ps /r (66),(VEX) 667a7: vfmsubadd213pd/ps /r (66),(VEX) 668a8: vfmadd213pd/ps /r (66),(VEX) 669a9: vfmadd213sd/ss /r (66),(VEX),(o128) 670aa: vfmsub213pd/ps /r (66),(VEX) 671ab: vfmsub213sd/ss /r (66),(VEX),(o128) 672ac: vfnmadd213pd/ps /r (66),(VEX) 673ad: vfnmadd213sd/ss /r (66),(VEX),(o128) 674ae: vfnmsub213pd/ps /r (66),(VEX) 675af: vfnmsub213sd/ss /r (66),(VEX),(o128) 676b6: vfmaddsub231pd/ps /r (66),(VEX) 677b7: vfmsubadd231pd/ps /r (66),(VEX) 678b8: vfmadd231pd/ps /r (66),(VEX) 679b9: vfmadd231sd/ss /r (66),(VEX),(o128) 680ba: vfmsub231pd/ps /r (66),(VEX) 681bb: vfmsub231sd/ss /r (66),(VEX),(o128) 682bc: vfnmadd231pd/ps /r (66),(VEX) 683bd: vfnmadd231sd/ss /r (66),(VEX),(o128) 684be: vfnmsub231pd/ps /r (66),(VEX) 685bf: vfnmsub231sd/ss /r (66),(VEX),(o128) 686# 0x0f 0x38 0xc0-0xff 687db: aesimc Vdq,Wdq (66),(VEX),(o128) 688dc: aesenc Vdq,Wdq (66),(VEX),(o128) 689dd: aesenclast Vdq,Wdq (66),(VEX),(o128) 690de: aesdec Vdq,Wdq (66),(VEX),(o128) 691df: aesdeclast Vdq,Wdq (66),(VEX),(o128) 692f0: MOVBE Gv,Mv | CRC32 Gd,Eb (F2) 693f1: MOVBE Mv,Gv | CRC32 Gd,Ev (F2) 694EndTable 695 696Table: 3-byte opcode 2 (0x0f 0x3a) 697Referrer: 3-byte escape 2 698AVXcode: 3 699# 0x0f 0x3a 0x00-0xff 70004: vpermilps /r,Ib (66),(oVEX) 70105: vpermilpd /r,Ib (66),(oVEX) 70206: vperm2f128 /r,Ib (66),(oVEX),(o256) 70308: roundps Vdq,Wdq,Ib (66),(VEX) 70409: roundpd Vdq,Wdq,Ib (66),(VEX) 7050a: roundss Vss,Wss,Ib (66),(VEX),(o128) 7060b: roundsd Vsd,Wsd,Ib (66),(VEX),(o128) 7070c: blendps Vdq,Wdq,Ib (66),(VEX) 7080d: blendpd Vdq,Wdq,Ib (66),(VEX) 7090e: pblendw Vdq,Wdq,Ib (66),(VEX),(o128) 7100f: palignr Pq,Qq,Ib | palignr Vdq,Wdq,Ib (66),(VEX),(o128) 71114: pextrb Rd/Mb,Vdq,Ib (66),(VEX),(o128) 71215: pextrw Rd/Mw,Vdq,Ib (66),(VEX),(o128) 71316: pextrd/pextrq Ed/q,Vdq,Ib (66),(VEX),(o128) 71417: extractps Ed,Vdq,Ib (66),(VEX),(o128) 71518: vinsertf128 /r,Ib (66),(oVEX),(o256) 71619: vextractf128 /r,Ib (66),(oVEX),(o256) 71720: pinsrb Vdq,Rd/q/Mb,Ib (66),(VEX),(o128) 71821: insertps Vdq,Udq/Md,Ib (66),(VEX),(o128) 71922: pinsrd/pinsrq Vdq,Ed/q,Ib (66),(VEX),(o128) 72040: dpps Vdq,Wdq,Ib (66),(VEX) 72141: dppd Vdq,Wdq,Ib (66),(VEX),(o128) 72242: mpsadbw Vdq,Wdq,Ib (66),(VEX),(o128) 72344: pclmulq Vdq,Wdq,Ib (66),(VEX),(o128) 7244a: vblendvps /r,Ib (66),(oVEX) 7254b: vblendvpd /r,Ib (66),(oVEX) 7264c: vpblendvb /r,Ib (66),(oVEX),(o128) 72760: pcmpestrm Vdq,Wdq,Ib (66),(VEX),(o128) 72861: pcmpestri Vdq,Wdq,Ib (66),(VEX),(o128) 72962: pcmpistrm Vdq,Wdq,Ib (66),(VEX),(o128) 73063: pcmpistri Vdq,Wdq,Ib (66),(VEX),(o128) 731df: aeskeygenassist Vdq,Wdq,Ib (66),(VEX),(o128) 732EndTable 733 734GrpTable: Grp1 7350: ADD 7361: OR 7372: ADC 7383: SBB 7394: AND 7405: SUB 7416: XOR 7427: CMP 743EndTable 744 745GrpTable: Grp1A 7460: POP 747EndTable 748 749GrpTable: Grp2 7500: ROL 7511: ROR 7522: RCL 7533: RCR 7544: SHL/SAL 7555: SHR 7566: 7577: SAR 758EndTable 759 760GrpTable: Grp3_1 7610: TEST Eb,Ib 7621: 7632: NOT Eb 7643: NEG Eb 7654: MUL AL,Eb 7665: IMUL AL,Eb 7676: DIV AL,Eb 7687: IDIV AL,Eb 769EndTable 770 771GrpTable: Grp3_2 7720: TEST Ev,Iz 7731: 7742: NOT Ev 7753: NEG Ev 7764: MUL rAX,Ev 7775: IMUL rAX,Ev 7786: DIV rAX,Ev 7797: IDIV rAX,Ev 780EndTable 781 782GrpTable: Grp4 7830: INC Eb 7841: DEC Eb 785EndTable 786 787GrpTable: Grp5 7880: INC Ev 7891: DEC Ev 7902: CALLN Ev (f64) 7913: CALLF Ep 7924: JMPN Ev (f64) 7935: JMPF Ep 7946: PUSH Ev (d64) 7957: 796EndTable 797 798GrpTable: Grp6 7990: SLDT Rv/Mw 8001: STR Rv/Mw 8012: LLDT Ew 8023: LTR Ew 8034: VERR Ew 8045: VERW Ew 805EndTable 806 807GrpTable: Grp7 8080: SGDT Ms | VMCALL (001),(11B) | VMLAUNCH (010),(11B) | VMRESUME (011),(11B) | VMXOFF (100),(11B) 8091: SIDT Ms | MONITOR (000),(11B) | MWAIT (001) 8102: LGDT Ms | XGETBV (000),(11B) | XSETBV (001),(11B) 8113: LIDT Ms 8124: SMSW Mw/Rv 8135: 8146: LMSW Ew 8157: INVLPG Mb | SWAPGS (o64),(000),(11B) | RDTSCP (001),(11B) 816EndTable 817 818GrpTable: Grp8 8194: BT 8205: BTS 8216: BTR 8227: BTC 823EndTable 824 825GrpTable: Grp9 8261: CMPXCHG8B/16B Mq/Mdq 8276: VMPTRLD Mq | VMCLEAR Mq (66) | VMXON Mq (F3) 8287: VMPTRST Mq 829EndTable 830 831GrpTable: Grp10 832EndTable 833 834GrpTable: Grp11 8350: MOV 836EndTable 837 838GrpTable: Grp12 8392: psrlw Nq,Ib (11B) | psrlw Udq,Ib (66),(11B),(VEX),(o128) 8404: psraw Nq,Ib (11B) | psraw Udq,Ib (66),(11B),(VEX),(o128) 8416: psllw Nq,Ib (11B) | psllw Udq,Ib (66),(11B),(VEX),(o128) 842EndTable 843 844GrpTable: Grp13 8452: psrld Nq,Ib (11B) | psrld Udq,Ib (66),(11B),(VEX),(o128) 8464: psrad Nq,Ib (11B) | psrad Udq,Ib (66),(11B),(VEX),(o128) 8476: pslld Nq,Ib (11B) | pslld Udq,Ib (66),(11B),(VEX),(o128) 848EndTable 849 850GrpTable: Grp14 8512: psrlq Nq,Ib (11B) | psrlq Udq,Ib (66),(11B),(VEX),(o128) 8523: psrldq Udq,Ib (66),(11B),(VEX),(o128) 8536: psllq Nq,Ib (11B) | psllq Udq,Ib (66),(11B),(VEX),(o128) 8547: pslldq Udq,Ib (66),(11B),(VEX),(o128) 855EndTable 856 857GrpTable: Grp15 8580: fxsave 8591: fxstor 8602: ldmxcsr (VEX) 8613: stmxcsr (VEX) 8624: XSAVE 8635: XRSTOR | lfence (11B) 8646: mfence (11B) 8657: clflush | sfence (11B) 866EndTable 867 868GrpTable: Grp16 8690: prefetch NTA 8701: prefetch T0 8712: prefetch T1 8723: prefetch T2 873EndTable 874 875# AMD's Prefetch Group 876GrpTable: GrpP 8770: PREFETCH 8781: PREFETCHW 879EndTable 880 881GrpTable: GrpPDLK 8820: MONTMUL 8831: XSHA1 8842: XSHA2 885EndTable 886 887GrpTable: GrpRNG 8880: xstore-rng 8891: xcrypt-ecb 8902: xcrypt-cbc 8914: xcrypt-cfb 8925: xcrypt-ofb 893EndTable 894