Path: blob/master/tools/arch/x86/lib/x86-opcode-map.txt
26285 views
# x86 Opcode Maps1#2# This is (mostly) based on following documentations.3# - Intel(R) 64 and IA-32 Architectures Software Developer's Manual Vol.2C4# (#326018-047US, June 2013)5#6#<Opcode maps>7# Table: table-name8# Referrer: escaped-name9# AVXcode: avx-code10# opcode: mnemonic|GrpXXX [operand1[,operand2...]] [(extra1)[,(extra2)...] [| 2nd-mnemonic ...]11# (or)12# opcode: escape # escaped-name13# EndTable14#15# mnemonics that begin with lowercase 'v' accept a VEX or EVEX prefix16# mnemonics that begin with lowercase 'k' accept a VEX prefix17#18#<group maps>19# GrpTable: GrpXXX20# reg: mnemonic [operand1[,operand2...]] [(extra1)[,(extra2)...] [| 2nd-mnemonic ...]21# EndTable22#23# AVX Superscripts24# (ev): this opcode requires EVEX prefix.25# (es): this opcode requires EVEX prefix and is SCALABALE.26# (evo): this opcode is changed by EVEX prefix (EVEX opcode)27# (v): this opcode requires VEX prefix.28# (v1): this opcode only supports 128bit VEX.29#30# Last Prefix Superscripts31# - (66): the last prefix is 0x6632# - (F3): the last prefix is 0xF333# - (F2): the last prefix is 0xF234# - (!F3) : the last prefix is not 0xF3 (including non-last prefix case)35# - (66&F2): Both 0x66 and 0xF2 prefixes are specified.36#37# REX2 Prefix Superscripts38# - (!REX2): REX2 is not allowed39# - (REX2): REX2 variant e.g. JMPABS4041Table: one byte opcode42Referrer:43AVXcode:44# 0x00 - 0x0f4500: ADD Eb,Gb4601: ADD Ev,Gv4702: ADD Gb,Eb4803: ADD Gv,Ev4904: ADD AL,Ib5005: ADD rAX,Iz5106: PUSH ES (i64)5207: POP ES (i64)5308: OR Eb,Gb5409: OR Ev,Gv550a: OR Gb,Eb560b: OR Gv,Ev570c: OR AL,Ib580d: OR rAX,Iz590e: PUSH CS (i64)600f: escape # 2-byte escape61# 0x10 - 0x1f6210: ADC Eb,Gb6311: ADC Ev,Gv6412: ADC Gb,Eb6513: ADC Gv,Ev6614: ADC AL,Ib6715: ADC rAX,Iz6816: PUSH SS (i64)6917: POP SS (i64)7018: SBB Eb,Gb7119: SBB Ev,Gv721a: SBB Gb,Eb731b: SBB Gv,Ev741c: SBB AL,Ib751d: SBB rAX,Iz761e: PUSH DS (i64)771f: POP DS (i64)78# 0x20 - 0x2f7920: AND Eb,Gb8021: AND Ev,Gv8122: AND Gb,Eb8223: AND Gv,Ev8324: AND AL,Ib8425: AND rAx,Iz8526: SEG=ES (Prefix)8627: DAA (i64)8728: SUB Eb,Gb8829: SUB Ev,Gv892a: SUB Gb,Eb902b: SUB Gv,Ev912c: SUB AL,Ib922d: SUB rAX,Iz932e: SEG=CS (Prefix)942f: DAS (i64)95# 0x30 - 0x3f9630: XOR Eb,Gb9731: XOR Ev,Gv9832: XOR Gb,Eb9933: XOR Gv,Ev10034: XOR AL,Ib10135: XOR rAX,Iz10236: SEG=SS (Prefix)10337: AAA (i64)10438: CMP Eb,Gb10539: CMP Ev,Gv1063a: CMP Gb,Eb1073b: CMP Gv,Ev1083c: CMP AL,Ib1093d: CMP rAX,Iz1103e: SEG=DS (Prefix)1113f: AAS (i64)112# 0x40 - 0x4f11340: INC eAX (i64) | REX (o64)11441: INC eCX (i64) | REX.B (o64)11542: INC eDX (i64) | REX.X (o64)11643: INC eBX (i64) | REX.XB (o64)11744: INC eSP (i64) | REX.R (o64)11845: INC eBP (i64) | REX.RB (o64)11946: INC eSI (i64) | REX.RX (o64)12047: INC eDI (i64) | REX.RXB (o64)12148: DEC eAX (i64) | REX.W (o64)12249: DEC eCX (i64) | REX.WB (o64)1234a: DEC eDX (i64) | REX.WX (o64)1244b: DEC eBX (i64) | REX.WXB (o64)1254c: DEC eSP (i64) | REX.WR (o64)1264d: DEC eBP (i64) | REX.WRB (o64)1274e: DEC eSI (i64) | REX.WRX (o64)1284f: DEC eDI (i64) | REX.WRXB (o64)129# 0x50 - 0x5f13050: PUSH rAX/r8 (d64)13151: PUSH rCX/r9 (d64)13252: PUSH rDX/r10 (d64)13353: PUSH rBX/r11 (d64)13454: PUSH rSP/r12 (d64)13555: PUSH rBP/r13 (d64)13656: PUSH rSI/r14 (d64)13757: PUSH rDI/r15 (d64)13858: POP rAX/r8 (d64)13959: POP rCX/r9 (d64)1405a: POP rDX/r10 (d64)1415b: POP rBX/r11 (d64)1425c: POP rSP/r12 (d64)1435d: POP rBP/r13 (d64)1445e: POP rSI/r14 (d64)1455f: POP rDI/r15 (d64)146# 0x60 - 0x6f14760: PUSHA/PUSHAD (i64)14861: POPA/POPAD (i64)14962: BOUND Gv,Ma (i64) | EVEX (Prefix),(o64)15063: ARPL Ew,Gw (i64) | MOVSXD Gv,Ev (o64)15164: SEG=FS (Prefix)15265: SEG=GS (Prefix)15366: Operand-Size (Prefix)15467: Address-Size (Prefix)15568: PUSH Iz15669: IMUL Gv,Ev,Iz1576a: PUSH Ib (d64)1586b: IMUL Gv,Ev,Ib1596c: INS/INSB Yb,DX1606d: INS/INSW/INSD Yz,DX1616e: OUTS/OUTSB DX,Xb1626f: OUTS/OUTSW/OUTSD DX,Xz163# 0x70 - 0x7f16470: JO Jb (!REX2)16571: JNO Jb (!REX2)16672: JB/JNAE/JC Jb (!REX2)16773: JNB/JAE/JNC Jb (!REX2)16874: JZ/JE Jb (!REX2)16975: JNZ/JNE Jb (!REX2)17076: JBE/JNA Jb (!REX2)17177: JNBE/JA Jb (!REX2)17278: JS Jb (!REX2)17379: JNS Jb (!REX2)1747a: JP/JPE Jb (!REX2)1757b: JNP/JPO Jb (!REX2)1767c: JL/JNGE Jb (!REX2)1777d: JNL/JGE Jb (!REX2)1787e: JLE/JNG Jb (!REX2)1797f: JNLE/JG Jb (!REX2)180# 0x80 - 0x8f18180: Grp1 Eb,Ib (1A)18281: Grp1 Ev,Iz (1A)18382: Grp1 Eb,Ib (1A),(i64)18483: Grp1 Ev,Ib (1A)18584: TEST Eb,Gb18685: TEST Ev,Gv18786: XCHG Eb,Gb18887: XCHG Ev,Gv18988: MOV Eb,Gb19089: MOV Ev,Gv1918a: MOV Gb,Eb1928b: MOV Gv,Ev1938c: MOV Ev,Sw1948d: LEA Gv,M1958e: MOV Sw,Ew1968f: Grp1A (1A) | POP Ev (d64)197# 0x90 - 0x9f19890: NOP | PAUSE (F3) | XCHG r8,rAX19991: XCHG rCX/r9,rAX20092: XCHG rDX/r10,rAX20193: XCHG rBX/r11,rAX20294: XCHG rSP/r12,rAX20395: XCHG rBP/r13,rAX20496: XCHG rSI/r14,rAX20597: XCHG rDI/r15,rAX20698: CBW/CWDE/CDQE20799: CWD/CDQ/CQO2089a: CALLF Ap (i64)2099b: FWAIT/WAIT2109c: PUSHF/D/Q Fv (d64)2119d: POPF/D/Q Fv (d64)2129e: SAHF2139f: LAHF214# 0xa0 - 0xaf215a0: MOV AL,Ob (!REX2)216a1: MOV rAX,Ov (!REX2) | JMPABS O (REX2),(o64)217a2: MOV Ob,AL (!REX2)218a3: MOV Ov,rAX (!REX2)219a4: MOVS/B Yb,Xb (!REX2)220a5: MOVS/W/D/Q Yv,Xv (!REX2)221a6: CMPS/B Xb,Yb (!REX2)222a7: CMPS/W/D Xv,Yv (!REX2)223a8: TEST AL,Ib (!REX2)224a9: TEST rAX,Iz (!REX2)225aa: STOS/B Yb,AL (!REX2)226ab: STOS/W/D/Q Yv,rAX (!REX2)227ac: LODS/B AL,Xb (!REX2)228ad: LODS/W/D/Q rAX,Xv (!REX2)229ae: SCAS/B AL,Yb (!REX2)230# Note: The May 2011 Intel manual shows Xv for the second parameter of the231# next instruction but Yv is correct232af: SCAS/W/D/Q rAX,Yv (!REX2)233# 0xb0 - 0xbf234b0: MOV AL/R8L,Ib235b1: MOV CL/R9L,Ib236b2: MOV DL/R10L,Ib237b3: MOV BL/R11L,Ib238b4: MOV AH/R12L,Ib239b5: MOV CH/R13L,Ib240b6: MOV DH/R14L,Ib241b7: MOV BH/R15L,Ib242b8: MOV rAX/r8,Iv243b9: MOV rCX/r9,Iv244ba: MOV rDX/r10,Iv245bb: MOV rBX/r11,Iv246bc: MOV rSP/r12,Iv247bd: MOV rBP/r13,Iv248be: MOV rSI/r14,Iv249bf: MOV rDI/r15,Iv250# 0xc0 - 0xcf251c0: Grp2 Eb,Ib (1A)252c1: Grp2 Ev,Ib (1A)253c2: RETN Iw (f64)254c3: RETN255c4: LES Gz,Mp (i64) | VEX+2byte (Prefix),(o64)256c5: LDS Gz,Mp (i64) | VEX+1byte (Prefix),(o64)257c6: Grp11A Eb,Ib (1A)258c7: Grp11B Ev,Iz (1A)259c8: ENTER Iw,Ib260c9: LEAVE (d64)261ca: RETF Iw262cb: RETF263cc: INT3264cd: INT Ib265ce: INTO (i64)266cf: IRET/D/Q267# 0xd0 - 0xdf268d0: Grp2 Eb,1 (1A)269d1: Grp2 Ev,1 (1A)270d2: Grp2 Eb,CL (1A)271d3: Grp2 Ev,CL (1A)272d4: AAM Ib (i64)273d5: AAD Ib (i64) | REX2 (Prefix),(o64)274d6:275d7: XLAT/XLATB276d8: ESC277d9: ESC278da: ESC279db: ESC280dc: ESC281dd: ESC282de: ESC283df: ESC284# 0xe0 - 0xef285# Note: "forced64" is Intel CPU behavior: they ignore 0x66 prefix286# in 64-bit mode. AMD CPUs accept 0x66 prefix, it causes RIP truncation287# to 16 bits. In 32-bit mode, 0x66 is accepted by both Intel and AMD.288e0: LOOPNE/LOOPNZ Jb (f64),(!REX2)289e1: LOOPE/LOOPZ Jb (f64),(!REX2)290e2: LOOP Jb (f64),(!REX2)291e3: JrCXZ Jb (f64),(!REX2)292e4: IN AL,Ib (!REX2)293e5: IN eAX,Ib (!REX2)294e6: OUT Ib,AL (!REX2)295e7: OUT Ib,eAX (!REX2)296# With 0x66 prefix in 64-bit mode, for AMD CPUs immediate offset297# in "near" jumps and calls is 16-bit. For CALL,298# push of return address is 16-bit wide, RSP is decremented by 2299# but is not truncated to 16 bits, unlike RIP.300e8: CALL Jz (f64),(!REX2)301e9: JMP-near Jz (f64),(!REX2)302ea: JMP-far Ap (i64),(!REX2)303eb: JMP-short Jb (f64),(!REX2)304ec: IN AL,DX (!REX2)305ed: IN eAX,DX (!REX2)306ee: OUT DX,AL (!REX2)307ef: OUT DX,eAX (!REX2)308# 0xf0 - 0xff309f0: LOCK (Prefix)310f1:311f2: REPNE (Prefix) | XACQUIRE (Prefix)312f3: REP/REPE (Prefix) | XRELEASE (Prefix)313f4: HLT314f5: CMC315f6: Grp3_1 Eb (1A)316f7: Grp3_2 Ev (1A)317f8: CLC318f9: STC319fa: CLI320fb: STI321fc: CLD322fd: STD323fe: Grp4 (1A)324ff: Grp5 (1A)325EndTable326327Table: 2-byte opcode (0x0f)328Referrer: 2-byte escape329AVXcode: 1330# 0x0f 0x00-0x0f33100: Grp6 (1A)33201: Grp7 (1A)33302: LAR Gv,Ew33403: LSL Gv,Ew33504:33605: SYSCALL (o64)33706: CLTS33807: SYSRET (o64)33908: INVD34009: WBINVD | WBNOINVD (F3)3410a:3420b: UD2 (1B)3430c:344# AMD's prefetch group. Intel supports prefetchw(/1) only.3450d: GrpP3460e: FEMMS347# 3DNow! uses the last imm byte as opcode extension.3480f: 3DNow! Pq,Qq,Ib349# 0x0f 0x10-0x1f350# NOTE: According to Intel SDM opcode map, vmovups and vmovupd has no operands351# but it actually has operands. And also, vmovss and vmovsd only accept 128bit.352# MOVSS/MOVSD has too many forms(3) on SDM. This map just shows a typical form.353# Many AVX instructions lack v1 superscript, according to Intel AVX-Prgramming354# Reference A.135510: vmovups Vps,Wps | vmovupd Vpd,Wpd (66) | vmovss Vx,Hx,Wss (F3),(v1) | vmovsd Vx,Hx,Wsd (F2),(v1)35611: vmovups Wps,Vps | vmovupd Wpd,Vpd (66) | vmovss Wss,Hx,Vss (F3),(v1) | vmovsd Wsd,Hx,Vsd (F2),(v1)35712: vmovlps Vq,Hq,Mq (v1) | vmovhlps Vq,Hq,Uq (v1) | vmovlpd Vq,Hq,Mq (66),(v1) | vmovsldup Vx,Wx (F3) | vmovddup Vx,Wx (F2)35813: vmovlps Mq,Vq (v1) | vmovlpd Mq,Vq (66),(v1)35914: vunpcklps Vx,Hx,Wx | vunpcklpd Vx,Hx,Wx (66)36015: vunpckhps Vx,Hx,Wx | vunpckhpd Vx,Hx,Wx (66)36116: vmovhps Vdq,Hq,Mq (v1) | vmovlhps Vdq,Hq,Uq (v1) | vmovhpd Vdq,Hq,Mq (66),(v1) | vmovshdup Vx,Wx (F3)36217: vmovhps Mq,Vq (v1) | vmovhpd Mq,Vq (66),(v1)36318: Grp16 (1A)36419:365# Intel SDM opcode map does not list MPX instructions. For now using Gv for366# bnd registers and Ev for everything else is OK because the instruction367# decoder does not use the information except as an indication that there is368# a ModR/M byte.3691a: BNDCL Gv,Ev (F3) | BNDCU Gv,Ev (F2) | BNDMOV Gv,Ev (66) | BNDLDX Gv,Ev3701b: BNDCN Gv,Ev (F2) | BNDMOV Ev,Gv (66) | BNDMK Gv,Ev (F3) | BNDSTX Ev,Gv3711c: Grp20 (1A),(1C)3721d:3731e: Grp21 (1A)3741f: NOP Ev375# 0x0f 0x20-0x2f37620: MOV Rd,Cd37721: MOV Rd,Dd37822: MOV Cd,Rd37923: MOV Dd,Rd38024:38125:38226:38327:38428: vmovaps Vps,Wps | vmovapd Vpd,Wpd (66)38529: vmovaps Wps,Vps | vmovapd Wpd,Vpd (66)3862a: cvtpi2ps Vps,Qpi | cvtpi2pd Vpd,Qpi (66) | vcvtsi2ss Vss,Hss,Ey (F3),(v1) | vcvtsi2sd Vsd,Hsd,Ey (F2),(v1)3872b: vmovntps Mps,Vps | vmovntpd Mpd,Vpd (66)3882c: cvttps2pi Ppi,Wps | cvttpd2pi Ppi,Wpd (66) | vcvttss2si Gy,Wss (F3),(v1) | vcvttsd2si Gy,Wsd (F2),(v1)3892d: cvtps2pi Ppi,Wps | cvtpd2pi Qpi,Wpd (66) | vcvtss2si Gy,Wss (F3),(v1) | vcvtsd2si Gy,Wsd (F2),(v1)3902e: vucomiss Vss,Wss (v1) | vucomisd Vsd,Wsd (66),(v1)3912f: vcomiss Vss,Wss (v1) | vcomisd Vsd,Wsd (66),(v1)392# 0x0f 0x30-0x3f39330: WRMSR (!REX2)39431: RDTSC (!REX2)39532: RDMSR (!REX2)39633: RDPMC (!REX2)39734: SYSENTER (!REX2)39835: SYSEXIT (!REX2)39936:40037: GETSEC (!REX2)40138: escape # 3-byte escape 140239:4033a: escape # 3-byte escape 24043b:4053c:4063d:4073e:4083f:409# 0x0f 0x40-0x4f41040: CMOVO Gv,Ev41141: CMOVNO Gv,Ev | kandw/q Vk,Hk,Uk | kandb/d Vk,Hk,Uk (66)41242: CMOVB/C/NAE Gv,Ev | kandnw/q Vk,Hk,Uk | kandnb/d Vk,Hk,Uk (66)41343: CMOVAE/NB/NC Gv,Ev41444: CMOVE/Z Gv,Ev | knotw/q Vk,Uk | knotb/d Vk,Uk (66)41545: CMOVNE/NZ Gv,Ev | korw/q Vk,Hk,Uk | korb/d Vk,Hk,Uk (66)41646: CMOVBE/NA Gv,Ev | kxnorw/q Vk,Hk,Uk | kxnorb/d Vk,Hk,Uk (66)41747: CMOVA/NBE Gv,Ev | kxorw/q Vk,Hk,Uk | kxorb/d Vk,Hk,Uk (66)41848: CMOVS Gv,Ev41949: CMOVNS Gv,Ev4204a: CMOVP/PE Gv,Ev | kaddw/q Vk,Hk,Uk | kaddb/d Vk,Hk,Uk (66)4214b: CMOVNP/PO Gv,Ev | kunpckbw Vk,Hk,Uk (66) | kunpckwd/dq Vk,Hk,Uk4224c: CMOVL/NGE Gv,Ev4234d: CMOVNL/GE Gv,Ev4244e: CMOVLE/NG Gv,Ev4254f: CMOVNLE/G Gv,Ev426# 0x0f 0x50-0x5f42750: vmovmskps Gy,Ups | vmovmskpd Gy,Upd (66)42851: vsqrtps Vps,Wps | vsqrtpd Vpd,Wpd (66) | vsqrtss Vss,Hss,Wss (F3),(v1) | vsqrtsd Vsd,Hsd,Wsd (F2),(v1)42952: vrsqrtps Vps,Wps | vrsqrtss Vss,Hss,Wss (F3),(v1)43053: vrcpps Vps,Wps | vrcpss Vss,Hss,Wss (F3),(v1)43154: vandps Vps,Hps,Wps | vandpd Vpd,Hpd,Wpd (66)43255: vandnps Vps,Hps,Wps | vandnpd Vpd,Hpd,Wpd (66)43356: vorps Vps,Hps,Wps | vorpd Vpd,Hpd,Wpd (66)43457: vxorps Vps,Hps,Wps | vxorpd Vpd,Hpd,Wpd (66)43558: vaddps Vps,Hps,Wps | vaddpd Vpd,Hpd,Wpd (66) | vaddss Vss,Hss,Wss (F3),(v1) | vaddsd Vsd,Hsd,Wsd (F2),(v1)43659: vmulps Vps,Hps,Wps | vmulpd Vpd,Hpd,Wpd (66) | vmulss Vss,Hss,Wss (F3),(v1) | vmulsd Vsd,Hsd,Wsd (F2),(v1)4375a: vcvtps2pd Vpd,Wps | vcvtpd2ps Vps,Wpd (66) | vcvtss2sd Vsd,Hx,Wss (F3),(v1) | vcvtsd2ss Vss,Hx,Wsd (F2),(v1)4385b: vcvtdq2ps Vps,Wdq | vcvtqq2ps Vps,Wqq (evo) | vcvtps2dq Vdq,Wps (66) | vcvttps2dq Vdq,Wps (F3)4395c: vsubps Vps,Hps,Wps | vsubpd Vpd,Hpd,Wpd (66) | vsubss Vss,Hss,Wss (F3),(v1) | vsubsd Vsd,Hsd,Wsd (F2),(v1)4405d: vminps Vps,Hps,Wps | vminpd Vpd,Hpd,Wpd (66) | vminss Vss,Hss,Wss (F3),(v1) | vminsd Vsd,Hsd,Wsd (F2),(v1)4415e: vdivps Vps,Hps,Wps | vdivpd Vpd,Hpd,Wpd (66) | vdivss Vss,Hss,Wss (F3),(v1) | vdivsd Vsd,Hsd,Wsd (F2),(v1)4425f: vmaxps Vps,Hps,Wps | vmaxpd Vpd,Hpd,Wpd (66) | vmaxss Vss,Hss,Wss (F3),(v1) | vmaxsd Vsd,Hsd,Wsd (F2),(v1)443# 0x0f 0x60-0x6f44460: punpcklbw Pq,Qd | vpunpcklbw Vx,Hx,Wx (66),(v1)44561: punpcklwd Pq,Qd | vpunpcklwd Vx,Hx,Wx (66),(v1)44662: punpckldq Pq,Qd | vpunpckldq Vx,Hx,Wx (66),(v1)44763: packsswb Pq,Qq | vpacksswb Vx,Hx,Wx (66),(v1)44864: pcmpgtb Pq,Qq | vpcmpgtb Vx,Hx,Wx (66),(v1)44965: pcmpgtw Pq,Qq | vpcmpgtw Vx,Hx,Wx (66),(v1)45066: pcmpgtd Pq,Qq | vpcmpgtd Vx,Hx,Wx (66),(v1)45167: packuswb Pq,Qq | vpackuswb Vx,Hx,Wx (66),(v1)45268: punpckhbw Pq,Qd | vpunpckhbw Vx,Hx,Wx (66),(v1)45369: punpckhwd Pq,Qd | vpunpckhwd Vx,Hx,Wx (66),(v1)4546a: punpckhdq Pq,Qd | vpunpckhdq Vx,Hx,Wx (66),(v1)4556b: packssdw Pq,Qd | vpackssdw Vx,Hx,Wx (66),(v1)4566c: vpunpcklqdq Vx,Hx,Wx (66),(v1)4576d: vpunpckhqdq Vx,Hx,Wx (66),(v1)4586e: movd/q Pd,Ey | vmovd/q Vy,Ey (66),(v1)4596f: 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)460# 0x0f 0x70-0x7f46170: pshufw Pq,Qq,Ib | vpshufd Vx,Wx,Ib (66),(v1) | vpshufhw Vx,Wx,Ib (F3),(v1) | vpshuflw Vx,Wx,Ib (F2),(v1)46271: Grp12 (1A)46372: Grp13 (1A)46473: Grp14 (1A)46574: pcmpeqb Pq,Qq | vpcmpeqb Vx,Hx,Wx (66),(v1)46675: pcmpeqw Pq,Qq | vpcmpeqw Vx,Hx,Wx (66),(v1)46776: pcmpeqd Pq,Qq | vpcmpeqd Vx,Hx,Wx (66),(v1)468# Note: Remove (v), because vzeroall and vzeroupper becomes emms without VEX.46977: emms | vzeroupper | vzeroall47078: VMREAD Ey,Gy | vcvttps2udq/pd2udq Vx,Wpd (evo) | vcvttsd2usi Gv,Wx (F2),(ev) | vcvttss2usi Gv,Wx (F3),(ev) | vcvttps2uqq/pd2uqq Vx,Wx (66),(ev)47179: VMWRITE Gy,Ey | vcvtps2udq/pd2udq Vx,Wpd (evo) | vcvtsd2usi Gv,Wx (F2),(ev) | vcvtss2usi Gv,Wx (F3),(ev) | vcvtps2uqq/pd2uqq Vx,Wx (66),(ev)4727a: vcvtudq2pd/uqq2pd Vpd,Wx (F3),(ev) | vcvtudq2ps/uqq2ps Vpd,Wx (F2),(ev) | vcvttps2qq/pd2qq Vx,Wx (66),(ev)4737b: vcvtusi2sd Vpd,Hpd,Ev (F2),(ev) | vcvtusi2ss Vps,Hps,Ev (F3),(ev) | vcvtps2qq/pd2qq Vx,Wx (66),(ev)4747c: vhaddpd Vpd,Hpd,Wpd (66) | vhaddps Vps,Hps,Wps (F2)4757d: vhsubpd Vpd,Hpd,Wpd (66) | vhsubps Vps,Hps,Wps (F2)4767e: movd/q Ey,Pd | vmovd/q Ey,Vy (66),(v1) | vmovq Vq,Wq (F3),(v1)4777f: 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)478# 0x0f 0x80-0x8f479# Note: "forced64" is Intel CPU behavior (see comment about CALL insn).48080: JO Jz (f64),(!REX2)48181: JNO Jz (f64),(!REX2)48282: JB/JC/JNAE Jz (f64),(!REX2)48383: JAE/JNB/JNC Jz (f64),(!REX2)48484: JE/JZ Jz (f64),(!REX2)48585: JNE/JNZ Jz (f64),(!REX2)48686: JBE/JNA Jz (f64),(!REX2)48787: JA/JNBE Jz (f64),(!REX2)48888: JS Jz (f64),(!REX2)48989: JNS Jz (f64),(!REX2)4908a: JP/JPE Jz (f64),(!REX2)4918b: JNP/JPO Jz (f64),(!REX2)4928c: JL/JNGE Jz (f64),(!REX2)4938d: JNL/JGE Jz (f64),(!REX2)4948e: JLE/JNG Jz (f64),(!REX2)4958f: JNLE/JG Jz (f64),(!REX2)496# 0x0f 0x90-0x9f49790: SETO Eb | kmovw/q Vk,Wk | kmovb/d Vk,Wk (66)49891: SETNO Eb | kmovw/q Mv,Vk | kmovb/d Mv,Vk (66)49992: SETB/C/NAE Eb | kmovw Vk,Rv | kmovb Vk,Rv (66) | kmovq/d Vk,Rv (F2)50093: SETAE/NB/NC Eb | kmovw Gv,Uk | kmovb Gv,Uk (66) | kmovq/d Gv,Uk (F2)50194: SETE/Z Eb50295: SETNE/NZ Eb50396: SETBE/NA Eb50497: SETA/NBE Eb50598: SETS Eb | kortestw/q Vk,Uk | kortestb/d Vk,Uk (66)50699: SETNS Eb | ktestw/q Vk,Uk | ktestb/d Vk,Uk (66)5079a: SETP/PE Eb5089b: SETNP/PO Eb5099c: SETL/NGE Eb5109d: SETNL/GE Eb5119e: SETLE/NG Eb5129f: SETNLE/G Eb513# 0x0f 0xa0-0xaf514a0: PUSH FS (d64)515a1: POP FS (d64)516a2: CPUID517a3: BT Ev,Gv518a4: SHLD Ev,Gv,Ib519a5: SHLD Ev,Gv,CL520a6: GrpPDLK521a7: GrpRNG522a8: PUSH GS (d64)523a9: POP GS (d64)524aa: RSM525ab: BTS Ev,Gv526ac: SHRD Ev,Gv,Ib527ad: SHRD Ev,Gv,CL528ae: Grp15 (1A),(1C)529af: IMUL Gv,Ev530# 0x0f 0xb0-0xbf531b0: CMPXCHG Eb,Gb532b1: CMPXCHG Ev,Gv533b2: LSS Gv,Mp534b3: BTR Ev,Gv535b4: LFS Gv,Mp536b5: LGS Gv,Mp537b6: MOVZX Gv,Eb538b7: MOVZX Gv,Ew539b8: JMPE (!F3) | POPCNT Gv,Ev (F3)540b9: Grp10 (1A)541ba: Grp8 Ev,Ib (1A)542bb: BTC Ev,Gv543bc: BSF Gv,Ev (!F3) | TZCNT Gv,Ev (F3)544bd: BSR Gv,Ev (!F3) | LZCNT Gv,Ev (F3)545be: MOVSX Gv,Eb546bf: MOVSX Gv,Ew547# 0x0f 0xc0-0xcf548c0: XADD Eb,Gb549c1: XADD Ev,Gv550c2: 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)551c3: movnti My,Gy552c4: pinsrw Pq,Ry/Mw,Ib | vpinsrw Vdq,Hdq,Ry/Mw,Ib (66),(v1)553c5: pextrw Gd,Nq,Ib | vpextrw Gd,Udq,Ib (66),(v1)554c6: vshufps Vps,Hps,Wps,Ib | vshufpd Vpd,Hpd,Wpd,Ib (66)555c7: Grp9 (1A)556c8: BSWAP RAX/EAX/R8/R8D557c9: BSWAP RCX/ECX/R9/R9D558ca: BSWAP RDX/EDX/R10/R10D559cb: BSWAP RBX/EBX/R11/R11D560cc: BSWAP RSP/ESP/R12/R12D561cd: BSWAP RBP/EBP/R13/R13D562ce: BSWAP RSI/ESI/R14/R14D563cf: BSWAP RDI/EDI/R15/R15D564# 0x0f 0xd0-0xdf565d0: vaddsubpd Vpd,Hpd,Wpd (66) | vaddsubps Vps,Hps,Wps (F2)566d1: psrlw Pq,Qq | vpsrlw Vx,Hx,Wx (66),(v1)567d2: psrld Pq,Qq | vpsrld Vx,Hx,Wx (66),(v1)568d3: psrlq Pq,Qq | vpsrlq Vx,Hx,Wx (66),(v1)569d4: paddq Pq,Qq | vpaddq Vx,Hx,Wx (66),(v1)570d5: pmullw Pq,Qq | vpmullw Vx,Hx,Wx (66),(v1)571d6: vmovq Wq,Vq (66),(v1) | movq2dq Vdq,Nq (F3) | movdq2q Pq,Uq (F2)572d7: pmovmskb Gd,Nq | vpmovmskb Gd,Ux (66),(v1)573d8: psubusb Pq,Qq | vpsubusb Vx,Hx,Wx (66),(v1)574d9: psubusw Pq,Qq | vpsubusw Vx,Hx,Wx (66),(v1)575da: pminub Pq,Qq | vpminub Vx,Hx,Wx (66),(v1)576db: pand Pq,Qq | vpand Vx,Hx,Wx (66),(v1) | vpandd/q Vx,Hx,Wx (66),(evo)577dc: paddusb Pq,Qq | vpaddusb Vx,Hx,Wx (66),(v1)578dd: paddusw Pq,Qq | vpaddusw Vx,Hx,Wx (66),(v1)579de: pmaxub Pq,Qq | vpmaxub Vx,Hx,Wx (66),(v1)580df: pandn Pq,Qq | vpandn Vx,Hx,Wx (66),(v1) | vpandnd/q Vx,Hx,Wx (66),(evo)581# 0x0f 0xe0-0xef582e0: pavgb Pq,Qq | vpavgb Vx,Hx,Wx (66),(v1)583e1: psraw Pq,Qq | vpsraw Vx,Hx,Wx (66),(v1)584e2: psrad Pq,Qq | vpsrad Vx,Hx,Wx (66),(v1)585e3: pavgw Pq,Qq | vpavgw Vx,Hx,Wx (66),(v1)586e4: pmulhuw Pq,Qq | vpmulhuw Vx,Hx,Wx (66),(v1)587e5: pmulhw Pq,Qq | vpmulhw Vx,Hx,Wx (66),(v1)588e6: vcvttpd2dq Vx,Wpd (66) | vcvtdq2pd Vx,Wdq (F3) | vcvtdq2pd/qq2pd Vx,Wdq (F3),(evo) | vcvtpd2dq Vx,Wpd (F2)589e7: movntq Mq,Pq | vmovntdq Mx,Vx (66)590e8: psubsb Pq,Qq | vpsubsb Vx,Hx,Wx (66),(v1)591e9: psubsw Pq,Qq | vpsubsw Vx,Hx,Wx (66),(v1)592ea: pminsw Pq,Qq | vpminsw Vx,Hx,Wx (66),(v1)593eb: por Pq,Qq | vpor Vx,Hx,Wx (66),(v1) | vpord/q Vx,Hx,Wx (66),(evo)594ec: paddsb Pq,Qq | vpaddsb Vx,Hx,Wx (66),(v1)595ed: paddsw Pq,Qq | vpaddsw Vx,Hx,Wx (66),(v1)596ee: pmaxsw Pq,Qq | vpmaxsw Vx,Hx,Wx (66),(v1)597ef: pxor Pq,Qq | vpxor Vx,Hx,Wx (66),(v1) | vpxord/q Vx,Hx,Wx (66),(evo)598# 0x0f 0xf0-0xff599f0: vlddqu Vx,Mx (F2)600f1: psllw Pq,Qq | vpsllw Vx,Hx,Wx (66),(v1)601f2: pslld Pq,Qq | vpslld Vx,Hx,Wx (66),(v1)602f3: psllq Pq,Qq | vpsllq Vx,Hx,Wx (66),(v1)603f4: pmuludq Pq,Qq | vpmuludq Vx,Hx,Wx (66),(v1)604f5: pmaddwd Pq,Qq | vpmaddwd Vx,Hx,Wx (66),(v1)605f6: psadbw Pq,Qq | vpsadbw Vx,Hx,Wx (66),(v1)606f7: maskmovq Pq,Nq | vmaskmovdqu Vx,Ux (66),(v1)607f8: psubb Pq,Qq | vpsubb Vx,Hx,Wx (66),(v1)608f9: psubw Pq,Qq | vpsubw Vx,Hx,Wx (66),(v1)609fa: psubd Pq,Qq | vpsubd Vx,Hx,Wx (66),(v1)610fb: psubq Pq,Qq | vpsubq Vx,Hx,Wx (66),(v1)611fc: paddb Pq,Qq | vpaddb Vx,Hx,Wx (66),(v1)612fd: paddw Pq,Qq | vpaddw Vx,Hx,Wx (66),(v1)613fe: paddd Pq,Qq | vpaddd Vx,Hx,Wx (66),(v1)614ff: UD0615EndTable616617Table: 3-byte opcode 1 (0x0f 0x38)618Referrer: 3-byte escape 1619AVXcode: 2620# 0x0f 0x38 0x00-0x0f62100: pshufb Pq,Qq | vpshufb Vx,Hx,Wx (66),(v1)62201: phaddw Pq,Qq | vphaddw Vx,Hx,Wx (66),(v1)62302: phaddd Pq,Qq | vphaddd Vx,Hx,Wx (66),(v1)62403: phaddsw Pq,Qq | vphaddsw Vx,Hx,Wx (66),(v1)62504: pmaddubsw Pq,Qq | vpmaddubsw Vx,Hx,Wx (66),(v1)62605: phsubw Pq,Qq | vphsubw Vx,Hx,Wx (66),(v1)62706: phsubd Pq,Qq | vphsubd Vx,Hx,Wx (66),(v1)62807: phsubsw Pq,Qq | vphsubsw Vx,Hx,Wx (66),(v1)62908: psignb Pq,Qq | vpsignb Vx,Hx,Wx (66),(v1)63009: psignw Pq,Qq | vpsignw Vx,Hx,Wx (66),(v1)6310a: psignd Pq,Qq | vpsignd Vx,Hx,Wx (66),(v1)6320b: pmulhrsw Pq,Qq | vpmulhrsw Vx,Hx,Wx (66),(v1)6330c: vpermilps Vx,Hx,Wx (66),(v)6340d: vpermilpd Vx,Hx,Wx (66),(v)6350e: vtestps Vx,Wx (66),(v)6360f: vtestpd Vx,Wx (66),(v)637# 0x0f 0x38 0x10-0x1f63810: pblendvb Vdq,Wdq (66) | vpsrlvw Vx,Hx,Wx (66),(evo) | vpmovuswb Wx,Vx (F3),(ev)63911: vpmovusdb Wx,Vd (F3),(ev) | vpsravw Vx,Hx,Wx (66),(ev)64012: vpmovusqb Wx,Vq (F3),(ev) | vpsllvw Vx,Hx,Wx (66),(ev)64113: vcvtph2ps Vx,Wx (66),(v) | vpmovusdw Wx,Vd (F3),(ev)64214: blendvps Vdq,Wdq (66) | vpmovusqw Wx,Vq (F3),(ev) | vprorvd/q Vx,Hx,Wx (66),(evo)64315: blendvpd Vdq,Wdq (66) | vpmovusqd Wx,Vq (F3),(ev) | vprolvd/q Vx,Hx,Wx (66),(evo)64416: vpermps Vqq,Hqq,Wqq (66),(v) | vpermps/d Vqq,Hqq,Wqq (66),(evo)64517: vptest Vx,Wx (66)64618: vbroadcastss Vx,Wd (66),(v)64719: vbroadcastsd Vqq,Wq (66),(v) | vbroadcastf32x2 Vqq,Wq (66),(evo)6481a: vbroadcastf128 Vqq,Mdq (66),(v) | vbroadcastf32x4/64x2 Vqq,Wq (66),(evo)6491b: vbroadcastf32x8/64x4 Vqq,Mdq (66),(ev)6501c: pabsb Pq,Qq | vpabsb Vx,Wx (66),(v1)6511d: pabsw Pq,Qq | vpabsw Vx,Wx (66),(v1)6521e: pabsd Pq,Qq | vpabsd Vx,Wx (66),(v1)6531f: vpabsq Vx,Wx (66),(ev)654# 0x0f 0x38 0x20-0x2f65520: vpmovsxbw Vx,Ux/Mq (66),(v1) | vpmovswb Wx,Vx (F3),(ev)65621: vpmovsxbd Vx,Ux/Md (66),(v1) | vpmovsdb Wx,Vd (F3),(ev)65722: vpmovsxbq Vx,Ux/Mw (66),(v1) | vpmovsqb Wx,Vq (F3),(ev)65823: vpmovsxwd Vx,Ux/Mq (66),(v1) | vpmovsdw Wx,Vd (F3),(ev)65924: vpmovsxwq Vx,Ux/Md (66),(v1) | vpmovsqw Wx,Vq (F3),(ev)66025: vpmovsxdq Vx,Ux/Mq (66),(v1) | vpmovsqd Wx,Vq (F3),(ev)66126: vptestmb/w Vk,Hx,Wx (66),(ev) | vptestnmb/w Vk,Hx,Wx (F3),(ev)66227: vptestmd/q Vk,Hx,Wx (66),(ev) | vptestnmd/q Vk,Hx,Wx (F3),(ev)66328: vpmuldq Vx,Hx,Wx (66),(v1) | vpmovm2b/w Vx,Uk (F3),(ev)66429: vpcmpeqq Vx,Hx,Wx (66),(v1) | vpmovb2m/w2m Vk,Ux (F3),(ev)6652a: vmovntdqa Vx,Mx (66),(v1) | vpbroadcastmb2q Vx,Uk (F3),(ev)6662b: vpackusdw Vx,Hx,Wx (66),(v1)6672c: vmaskmovps Vx,Hx,Mx (66),(v) | vscalefps/d Vx,Hx,Wx (66),(evo)6682d: vmaskmovpd Vx,Hx,Mx (66),(v) | vscalefss/d Vx,Hx,Wx (66),(evo)6692e: vmaskmovps Mx,Hx,Vx (66),(v)6702f: vmaskmovpd Mx,Hx,Vx (66),(v)671# 0x0f 0x38 0x30-0x3f67230: vpmovzxbw Vx,Ux/Mq (66),(v1) | vpmovwb Wx,Vx (F3),(ev)67331: vpmovzxbd Vx,Ux/Md (66),(v1) | vpmovdb Wx,Vd (F3),(ev)67432: vpmovzxbq Vx,Ux/Mw (66),(v1) | vpmovqb Wx,Vq (F3),(ev)67533: vpmovzxwd Vx,Ux/Mq (66),(v1) | vpmovdw Wx,Vd (F3),(ev)67634: vpmovzxwq Vx,Ux/Md (66),(v1) | vpmovqw Wx,Vq (F3),(ev)67735: vpmovzxdq Vx,Ux/Mq (66),(v1) | vpmovqd Wx,Vq (F3),(ev)67836: vpermd Vqq,Hqq,Wqq (66),(v) | vpermd/q Vqq,Hqq,Wqq (66),(evo)67937: vpcmpgtq Vx,Hx,Wx (66),(v1)68038: vpminsb Vx,Hx,Wx (66),(v1) | vpmovm2d/q Vx,Uk (F3),(ev)68139: vpminsd Vx,Hx,Wx (66),(v1) | vpminsd/q Vx,Hx,Wx (66),(evo) | vpmovd2m/q2m Vk,Ux (F3),(ev)6823a: vpminuw Vx,Hx,Wx (66),(v1) | vpbroadcastmw2d Vx,Uk (F3),(ev)6833b: vpminud Vx,Hx,Wx (66),(v1) | vpminud/q Vx,Hx,Wx (66),(evo)6843c: vpmaxsb Vx,Hx,Wx (66),(v1)6853d: vpmaxsd Vx,Hx,Wx (66),(v1) | vpmaxsd/q Vx,Hx,Wx (66),(evo)6863e: vpmaxuw Vx,Hx,Wx (66),(v1)6873f: vpmaxud Vx,Hx,Wx (66),(v1) | vpmaxud/q Vx,Hx,Wx (66),(evo)688# 0x0f 0x38 0x40-0x8f68940: vpmulld Vx,Hx,Wx (66),(v1) | vpmulld/q Vx,Hx,Wx (66),(evo)69041: vphminposuw Vdq,Wdq (66),(v1)69142: vgetexpps/d Vx,Wx (66),(ev)69243: vgetexpss/d Vx,Hx,Wx (66),(ev)69344: vplzcntd/q Vx,Wx (66),(ev)69445: vpsrlvd/q Vx,Hx,Wx (66),(v)69546: vpsravd Vx,Hx,Wx (66),(v) | vpsravd/q Vx,Hx,Wx (66),(evo)69647: vpsllvd/q Vx,Hx,Wx (66),(v)697# Skip 0x4869849: TILERELEASE (v1),(000),(11B) | LDTILECFG Mtc (v1)(000) | STTILECFG Mtc (66),(v1),(000) | TILEZERO Vt (F2),(v1),(11B)699# Skip 0x4a7004b: TILELOADD Vt,Wsm (F2),(v1) | TILELOADDT1 Vt,Wsm (66),(v1) | TILESTORED Wsm,Vt (F3),(v)7014c: vrcp14ps/d Vpd,Wpd (66),(ev)7024d: vrcp14ss/d Vsd,Hpd,Wsd (66),(ev)7034e: vrsqrt14ps/d Vpd,Wpd (66),(ev)7044f: vrsqrt14ss/d Vsd,Hsd,Wsd (66),(ev)70550: vpdpbusd Vx,Hx,Wx (66) | vpdpbssd Vx,Hx,Wx (F2),(v) | vpdpbsud Vx,Hx,Wx (F3),(v) | vpdpbuud Vx,Hx,Wx (v)70651: vpdpbusds Vx,Hx,Wx (66) | vpdpbssds Vx,Hx,Wx (F2),(v) | vpdpbsuds Vx,Hx,Wx (F3),(v) | vpdpbuuds Vx,Hx,Wx (v)70752: vdpbf16ps Vx,Hx,Wx (F3),(ev) | vpdpwssd Vx,Hx,Wx (66) | vp4dpwssd Vdqq,Hdqq,Wdq (F2),(ev)70853: vpdpwssds Vx,Hx,Wx (66) | vp4dpwssds Vdqq,Hdqq,Wdq (F2),(ev)70954: vpopcntb/w Vx,Wx (66),(ev)71055: vpopcntd/q Vx,Wx (66),(ev)71158: vpbroadcastd Vx,Wx (66),(v)71259: vpbroadcastq Vx,Wx (66),(v) | vbroadcasti32x2 Vx,Wx (66),(evo)7135a: vbroadcasti128 Vqq,Mdq (66),(v) | vbroadcasti32x4/64x2 Vx,Wx (66),(evo)7145b: vbroadcasti32x8/64x4 Vqq,Mdq (66),(ev)7155c: TDPBF16PS Vt,Wt,Ht (F3),(v1) | TDPFP16PS Vt,Wt,Ht (F2),(v1),(o64)716# Skip 0x5d7175e: TDPBSSD Vt,Wt,Ht (F2),(v1) | TDPBSUD Vt,Wt,Ht (F3),(v1) | TDPBUSD Vt,Wt,Ht (66),(v1) | TDPBUUD Vt,Wt,Ht (v1)718# Skip 0x5f-0x6171962: vpexpandb/w Vx,Wx (66),(ev)72063: vpcompressb/w Wx,Vx (66),(ev)72164: vpblendmd/q Vx,Hx,Wx (66),(ev)72265: vblendmps/d Vx,Hx,Wx (66),(ev)72366: vpblendmb/w Vx,Hx,Wx (66),(ev)72468: vp2intersectd/q Kx,Hx,Wx (F2),(ev)725# Skip 0x69-0x6b7266c: TCMMIMFP16PS Vt,Wt,Ht (66),(v1),(o64) | TCMMRLFP16PS Vt,Wt,Ht (v1),(o64)727# Skip 0x6d-0x6f72870: vpshldvw Vx,Hx,Wx (66),(ev)72971: vpshldvd/q Vx,Hx,Wx (66),(ev)73072: vcvtne2ps2bf16 Vx,Hx,Wx (F2),(ev) | vcvtneps2bf16 Vx,Wx (F3) | vpshrdvw Vx,Hx,Wx (66),(ev)73173: vpshrdvd/q Vx,Hx,Wx (66),(ev)73275: vpermi2b/w Vx,Hx,Wx (66),(ev)73376: vpermi2d/q Vx,Hx,Wx (66),(ev)73477: vpermi2ps/d Vx,Hx,Wx (66),(ev)73578: vpbroadcastb Vx,Wx (66),(v)73679: vpbroadcastw Vx,Wx (66),(v)7377a: vpbroadcastb Vx,Rv (66),(ev)7387b: vpbroadcastw Vx,Rv (66),(ev)7397c: vpbroadcastd/q Vx,Rv (66),(ev)7407d: vpermt2b/w Vx,Hx,Wx (66),(ev)7417e: vpermt2d/q Vx,Hx,Wx (66),(ev)7427f: vpermt2ps/d Vx,Hx,Wx (66),(ev)74380: INVEPT Gy,Mdq (66)74481: INVVPID Gy,Mdq (66)74582: INVPCID Gy,Mdq (66)74683: vpmultishiftqb Vx,Hx,Wx (66),(ev)74788: vexpandps/d Vpd,Wpd (66),(ev)74889: vpexpandd/q Vx,Wx (66),(ev)7498a: vcompressps/d Wx,Vx (66),(ev)7508b: vpcompressd/q Wx,Vx (66),(ev)7518c: vpmaskmovd/q Vx,Hx,Mx (66),(v)7528d: vpermb/w Vx,Hx,Wx (66),(ev)7538e: vpmaskmovd/q Mx,Vx,Hx (66),(v)7548f: vpshufbitqmb Kx,Hx,Wx (66),(ev)755# 0x0f 0x38 0x90-0xbf (FMA)75690: vgatherdd/q Vx,Hx,Wx (66),(v) | vpgatherdd/q Vx,Wx (66),(evo)75791: vgatherqd/q Vx,Hx,Wx (66),(v) | vpgatherqd/q Vx,Wx (66),(evo)75892: vgatherdps/d Vx,Hx,Wx (66),(v)75993: vgatherqps/d Vx,Hx,Wx (66),(v)76094:76195:76296: vfmaddsub132ps/d Vx,Hx,Wx (66),(v)76397: vfmsubadd132ps/d Vx,Hx,Wx (66),(v)76498: vfmadd132ps/d Vx,Hx,Wx (66),(v)76599: vfmadd132ss/d Vx,Hx,Wx (66),(v),(v1)7669a: vfmsub132ps/d Vx,Hx,Wx (66),(v) | v4fmaddps Vdqq,Hdqq,Wdq (F2),(ev)7679b: vfmsub132ss/d Vx,Hx,Wx (66),(v),(v1) | v4fmaddss Vdq,Hdq,Wdq (F2),(ev)7689c: vfnmadd132ps/d Vx,Hx,Wx (66),(v)7699d: vfnmadd132ss/d Vx,Hx,Wx (66),(v),(v1)7709e: vfnmsub132ps/d Vx,Hx,Wx (66),(v)7719f: vfnmsub132ss/d Vx,Hx,Wx (66),(v),(v1)772a0: vpscatterdd/q Wx,Vx (66),(ev)773a1: vpscatterqd/q Wx,Vx (66),(ev)774a2: vscatterdps/d Wx,Vx (66),(ev)775a3: vscatterqps/d Wx,Vx (66),(ev)776a6: vfmaddsub213ps/d Vx,Hx,Wx (66),(v)777a7: vfmsubadd213ps/d Vx,Hx,Wx (66),(v)778a8: vfmadd213ps/d Vx,Hx,Wx (66),(v)779a9: vfmadd213ss/d Vx,Hx,Wx (66),(v),(v1)780aa: vfmsub213ps/d Vx,Hx,Wx (66),(v) | v4fnmaddps Vdqq,Hdqq,Wdq (F2),(ev)781ab: vfmsub213ss/d Vx,Hx,Wx (66),(v),(v1) | v4fnmaddss Vdq,Hdq,Wdq (F2),(ev)782ac: vfnmadd213ps/d Vx,Hx,Wx (66),(v)783ad: vfnmadd213ss/d Vx,Hx,Wx (66),(v),(v1)784ae: vfnmsub213ps/d Vx,Hx,Wx (66),(v)785af: vfnmsub213ss/d Vx,Hx,Wx (66),(v),(v1)786b0: vcvtneebf162ps Vx,Mx (F3),(!11B),(v) | vcvtneeph2ps Vx,Mx (66),(!11B),(v) | vcvtneobf162ps Vx,Mx (F2),(!11B),(v) | vcvtneoph2ps Vx,Mx (!11B),(v)787b1: vbcstnebf162ps Vx,Mw (F3),(!11B),(v) | vbcstnesh2ps Vx,Mw (66),(!11B),(v)788b4: vpmadd52luq Vx,Hx,Wx (66)789b5: vpmadd52huq Vx,Hx,Wx (66)790b6: vfmaddsub231ps/d Vx,Hx,Wx (66),(v)791b7: vfmsubadd231ps/d Vx,Hx,Wx (66),(v)792b8: vfmadd231ps/d Vx,Hx,Wx (66),(v)793b9: vfmadd231ss/d Vx,Hx,Wx (66),(v),(v1)794ba: vfmsub231ps/d Vx,Hx,Wx (66),(v)795bb: vfmsub231ss/d Vx,Hx,Wx (66),(v),(v1)796bc: vfnmadd231ps/d Vx,Hx,Wx (66),(v)797bd: vfnmadd231ss/d Vx,Hx,Wx (66),(v),(v1)798be: vfnmsub231ps/d Vx,Hx,Wx (66),(v)799bf: vfnmsub231ss/d Vx,Hx,Wx (66),(v),(v1)800# 0x0f 0x38 0xc0-0xff801c4: vpconflictd/q Vx,Wx (66),(ev)802c6: Grp18 (1A)803c7: Grp19 (1A)804c8: sha1nexte Vdq,Wdq | vexp2ps/d Vx,Wx (66),(ev)805c9: sha1msg1 Vdq,Wdq806ca: sha1msg2 Vdq,Wdq | vrcp28ps/d Vx,Wx (66),(ev)807cb: sha256rnds2 Vdq,Wdq | vrcp28ss/d Vx,Hx,Wx (66),(ev) | vsha512rnds2 Vqq,Hqq,Udq (F2),(11B),(v)808cc: sha256msg1 Vdq,Wdq | vrsqrt28ps/d Vx,Wx (66),(ev) | vsha512msg1 Vqq,Udq (F2),(11B),(v)809cd: sha256msg2 Vdq,Wdq | vrsqrt28ss/d Vx,Hx,Wx (66),(ev) | vsha512msg2 Vqq,Uqq (F2),(11B),(v)810cf: vgf2p8mulb Vx,Wx (66)811d2: vpdpwsud Vx,Hx,Wx (F3),(v) | vpdpwusd Vx,Hx,Wx (66),(v) | vpdpwuud Vx,Hx,Wx (v)812d3: vpdpwsuds Vx,Hx,Wx (F3),(v) | vpdpwusds Vx,Hx,Wx (66),(v) | vpdpwuuds Vx,Hx,Wx (v)813d8: AESENCWIDE128KL Qpi (F3),(000),(00B) | AESENCWIDE256KL Qpi (F3),(000),(10B) | AESDECWIDE128KL Qpi (F3),(000),(01B) | AESDECWIDE256KL Qpi (F3),(000),(11B)814da: vsm3msg1 Vdq,Hdq,Udq (v1) | vsm3msg2 Vdq,Hdq,Udq (66),(v1) | vsm4key4 Vx,Hx,Wx (F3),(v) | vsm4rnds4 Vx,Hx,Wx (F2),(v)815db: VAESIMC Vdq,Wdq (66),(v1)816dc: vaesenc Vx,Hx,Wx (66) | LOADIWKEY Vx,Hx (F3) | AESENC128KL Vpd,Qpi (F3)817dd: vaesenclast Vx,Hx,Wx (66) | AESDEC128KL Vpd,Qpi (F3)818de: vaesdec Vx,Hx,Wx (66) | AESENC256KL Vpd,Qpi (F3)819df: vaesdeclast Vx,Hx,Wx (66) | AESDEC256KL Vpd,Qpi (F3)820e0: CMPOXADD My,Gy,By (66),(v1),(o64)821e1: CMPNOXADD My,Gy,By (66),(v1),(o64)822e2: CMPBXADD My,Gy,By (66),(v1),(o64)823e3: CMPNBXADD My,Gy,By (66),(v1),(o64)824e4: CMPZXADD My,Gy,By (66),(v1),(o64)825e5: CMPNZXADD My,Gy,By (66),(v1),(o64)826e6: CMPBEXADD My,Gy,By (66),(v1),(o64)827e7: CMPNBEXADD My,Gy,By (66),(v1),(o64)828e8: CMPSXADD My,Gy,By (66),(v1),(o64)829e9: CMPNSXADD My,Gy,By (66),(v1),(o64)830ea: CMPPXADD My,Gy,By (66),(v1),(o64)831eb: CMPNPXADD My,Gy,By (66),(v1),(o64)832ec: CMPLXADD My,Gy,By (66),(v1),(o64)833ed: CMPNLXADD My,Gy,By (66),(v1),(o64)834ee: CMPLEXADD My,Gy,By (66),(v1),(o64)835ef: CMPNLEXADD My,Gy,By (66),(v1),(o64)836f0: MOVBE Gy,My | MOVBE Gw,Mw (66) | CRC32 Gd,Eb (F2) | CRC32 Gd,Eb (66&F2)837f1: MOVBE My,Gy | MOVBE Mw,Gw (66) | CRC32 Gd,Ey (F2) | CRC32 Gd,Ew (66&F2)838f2: ANDN Gy,By,Ey (v)839f3: Grp17 (1A)840f5: BZHI Gy,Ey,By (v) | PEXT Gy,By,Ey (F3),(v) | PDEP Gy,By,Ey (F2),(v) | WRUSSD/Q My,Gy (66)841f6: ADCX Gy,Ey (66) | ADOX Gy,Ey (F3) | MULX By,Gy,rDX,Ey (F2),(v) | WRSSD/Q My,Gy842f7: BEXTR Gy,Ey,By (v) | SHLX Gy,Ey,By (66),(v) | SARX Gy,Ey,By (F3),(v) | SHRX Gy,Ey,By (F2),(v)843f8: MOVDIR64B Gv,Mdqq (66) | ENQCMD Gv,Mdqq (F2) | ENQCMDS Gv,Mdqq (F3) | URDMSR Rq,Gq (F2),(11B) | UWRMSR Gq,Rq (F3),(11B)844f9: MOVDIRI My,Gy845fa: ENCODEKEY128 Ew,Ew (F3)846fb: ENCODEKEY256 Ew,Ew (F3)847fc: AADD My,Gy | AAND My,Gy (66) | AOR My,Gy (F2) | AXOR My,Gy (F3)848EndTable849850Table: 3-byte opcode 2 (0x0f 0x3a)851Referrer: 3-byte escape 2852AVXcode: 3853# 0x0f 0x3a 0x00-0xff85400: vpermq Vqq,Wqq,Ib (66),(v)85501: vpermpd Vqq,Wqq,Ib (66),(v)85602: vpblendd Vx,Hx,Wx,Ib (66),(v)85703: valignd/q Vx,Hx,Wx,Ib (66),(ev)85804: vpermilps Vx,Wx,Ib (66),(v)85905: vpermilpd Vx,Wx,Ib (66),(v)86006: vperm2f128 Vqq,Hqq,Wqq,Ib (66),(v)86107:86208: vroundps Vx,Wx,Ib (66) | vrndscaleps Vx,Wx,Ib (66),(evo) | vrndscaleph Vx,Wx,Ib (evo)86309: vroundpd Vx,Wx,Ib (66) | vrndscalepd Vx,Wx,Ib (66),(evo)8640a: vroundss Vss,Wss,Ib (66),(v1) | vrndscaless Vx,Hx,Wx,Ib (66),(evo) | vrndscalesh Vx,Hx,Wx,Ib (evo)8650b: vroundsd Vsd,Wsd,Ib (66),(v1) | vrndscalesd Vx,Hx,Wx,Ib (66),(evo)8660c: vblendps Vx,Hx,Wx,Ib (66)8670d: vblendpd Vx,Hx,Wx,Ib (66)8680e: vpblendw Vx,Hx,Wx,Ib (66),(v1)8690f: palignr Pq,Qq,Ib | vpalignr Vx,Hx,Wx,Ib (66),(v1)87014: vpextrb Rd/Mb,Vdq,Ib (66),(v1)87115: vpextrw Rd/Mw,Vdq,Ib (66),(v1)87216: vpextrd/q Ey,Vdq,Ib (66),(v1)87317: vextractps Ed,Vdq,Ib (66),(v1)87418: vinsertf128 Vqq,Hqq,Wqq,Ib (66),(v) | vinsertf32x4/64x2 Vqq,Hqq,Wqq,Ib (66),(evo)87519: vextractf128 Wdq,Vqq,Ib (66),(v) | vextractf32x4/64x2 Wdq,Vqq,Ib (66),(evo)8761a: vinsertf32x8/64x4 Vqq,Hqq,Wqq,Ib (66),(ev)8771b: vextractf32x8/64x4 Wdq,Vqq,Ib (66),(ev)8781d: vcvtps2ph Wx,Vx,Ib (66),(v)8791e: vpcmpud/q Vk,Hd,Wd,Ib (66),(ev)8801f: vpcmpd/q Vk,Hd,Wd,Ib (66),(ev)88120: vpinsrb Vdq,Hdq,Ry/Mb,Ib (66),(v1)88221: vinsertps Vdq,Hdq,Udq/Md,Ib (66),(v1)88322: vpinsrd/q Vdq,Hdq,Ey,Ib (66),(v1)88423: vshuff32x4/64x2 Vx,Hx,Wx,Ib (66),(ev)88525: vpternlogd/q Vx,Hx,Wx,Ib (66),(ev)88626: vgetmantps/d Vx,Wx,Ib (66),(ev) | vgetmantph Vx,Wx,Ib (ev)88727: vgetmantss/d Vx,Hx,Wx,Ib (66),(ev) | vgetmantsh Vx,Hx,Wx,Ib (ev)88830: kshiftrb/w Vk,Uk,Ib (66),(v)88931: kshiftrd/q Vk,Uk,Ib (66),(v)89032: kshiftlb/w Vk,Uk,Ib (66),(v)89133: kshiftld/q Vk,Uk,Ib (66),(v)89238: vinserti128 Vqq,Hqq,Wqq,Ib (66),(v) | vinserti32x4/64x2 Vqq,Hqq,Wqq,Ib (66),(evo)89339: vextracti128 Wdq,Vqq,Ib (66),(v) | vextracti32x4/64x2 Wdq,Vqq,Ib (66),(evo)8943a: vinserti32x8/64x4 Vqq,Hqq,Wqq,Ib (66),(ev)8953b: vextracti32x8/64x4 Wdq,Vqq,Ib (66),(ev)8963e: vpcmpub/w Vk,Hk,Wx,Ib (66),(ev)8973f: vpcmpb/w Vk,Hk,Wx,Ib (66),(ev)89840: vdpps Vx,Hx,Wx,Ib (66)89941: vdppd Vdq,Hdq,Wdq,Ib (66),(v1)90042: vmpsadbw Vx,Hx,Wx,Ib (66),(v1) | vdbpsadbw Vx,Hx,Wx,Ib (66),(evo)90143: vshufi32x4/64x2 Vx,Hx,Wx,Ib (66),(ev)90244: vpclmulqdq Vx,Hx,Wx,Ib (66)90346: vperm2i128 Vqq,Hqq,Wqq,Ib (66),(v)9044a: vblendvps Vx,Hx,Wx,Lx (66),(v)9054b: vblendvpd Vx,Hx,Wx,Lx (66),(v)9064c: vpblendvb Vx,Hx,Wx,Lx (66),(v1)90750: vrangeps/d Vx,Hx,Wx,Ib (66),(ev)90851: vrangess/d Vx,Hx,Wx,Ib (66),(ev)90954: vfixupimmps/d Vx,Hx,Wx,Ib (66),(ev)91055: vfixupimmss/d Vx,Hx,Wx,Ib (66),(ev)91156: vreduceps/d Vx,Wx,Ib (66),(ev) | vreduceph Vx,Wx,Ib (ev)91257: vreducess/d Vx,Hx,Wx,Ib (66),(ev) | vreducesh Vx,Hx,Wx,Ib (ev)91360: vpcmpestrm Vdq,Wdq,Ib (66),(v1)91461: vpcmpestri Vdq,Wdq,Ib (66),(v1)91562: vpcmpistrm Vdq,Wdq,Ib (66),(v1)91663: vpcmpistri Vdq,Wdq,Ib (66),(v1)91766: vfpclassps/d Vk,Wx,Ib (66),(ev) | vfpclassph Vx,Wx,Ib (ev)91867: vfpclassss/d Vk,Wx,Ib (66),(ev) | vfpclasssh Vx,Wx,Ib (ev)91970: vpshldw Vx,Hx,Wx,Ib (66),(ev)92071: vpshldd/q Vx,Hx,Wx,Ib (66),(ev)92172: vpshrdw Vx,Hx,Wx,Ib (66),(ev)92273: vpshrdd/q Vx,Hx,Wx,Ib (66),(ev)923c2: vcmpph Vx,Hx,Wx,Ib (ev) | vcmpsh Vx,Hx,Wx,Ib (F3),(ev)924cc: sha1rnds4 Vdq,Wdq,Ib925ce: vgf2p8affineqb Vx,Wx,Ib (66)926cf: vgf2p8affineinvqb Vx,Wx,Ib (66)927de: vsm3rnds2 Vdq,Hdq,Wdq,Ib (66),(v1)928df: VAESKEYGEN Vdq,Wdq,Ib (66),(v1)929f0: RORX Gy,Ey,Ib (F2),(v) | HRESET Gv,Ib (F3),(000),(11B)930EndTable931932Table: EVEX map 4933Referrer:934AVXcode: 493500: ADD Eb,Gb (ev)93601: ADD Ev,Gv (es) | ADD Ev,Gv (66),(es)93702: ADD Gb,Eb (ev)93803: ADD Gv,Ev (es) | ADD Gv,Ev (66),(es)93908: OR Eb,Gb (ev)94009: OR Ev,Gv (es) | OR Ev,Gv (66),(es)9410a: OR Gb,Eb (ev)9420b: OR Gv,Ev (es) | OR Gv,Ev (66),(es)94310: ADC Eb,Gb (ev)94411: ADC Ev,Gv (es) | ADC Ev,Gv (66),(es)94512: ADC Gb,Eb (ev)94613: ADC Gv,Ev (es) | ADC Gv,Ev (66),(es)94718: SBB Eb,Gb (ev)94819: SBB Ev,Gv (es) | SBB Ev,Gv (66),(es)9491a: SBB Gb,Eb (ev)9501b: SBB Gv,Ev (es) | SBB Gv,Ev (66),(es)95120: AND Eb,Gb (ev)95221: AND Ev,Gv (es) | AND Ev,Gv (66),(es)95322: AND Gb,Eb (ev)95423: AND Gv,Ev (es) | AND Gv,Ev (66),(es)95524: SHLD Ev,Gv,Ib (es) | SHLD Ev,Gv,Ib (66),(es)95628: SUB Eb,Gb (ev)95729: SUB Ev,Gv (es) | SUB Ev,Gv (66),(es)9582a: SUB Gb,Eb (ev)9592b: SUB Gv,Ev (es) | SUB Gv,Ev (66),(es)9602c: SHRD Ev,Gv,Ib (es) | SHRD Ev,Gv,Ib (66),(es)96130: XOR Eb,Gb (ev)96231: XOR Ev,Gv (es) | XOR Ev,Gv (66),(es)96332: XOR Gb,Eb (ev)96433: XOR Gv,Ev (es) | XOR Gv,Ev (66),(es)965# CCMPSCC instructions are: CCOMB, CCOMBE, CCOMF, CCOML, CCOMLE, CCOMNB, CCOMNBE, CCOMNL, CCOMNLE,966# CCOMNO, CCOMNS, CCOMNZ, CCOMO, CCOMS, CCOMT, CCOMZ96738: CCMPSCC Eb,Gb (ev)96839: CCMPSCC Ev,Gv (es) | CCMPSCC Ev,Gv (66),(es)9693a: CCMPSCC Gv,Ev (ev)9703b: CCMPSCC Gv,Ev (es) | CCMPSCC Gv,Ev (66),(es)97140: CMOVO Gv,Ev (es) | CMOVO Gv,Ev (66),(es) | CFCMOVO Ev,Ev (es) | CFCMOVO Ev,Ev (66),(es) | SETO Eb (F2),(ev)97241: CMOVNO Gv,Ev (es) | CMOVNO Gv,Ev (66),(es) | CFCMOVNO Ev,Ev (es) | CFCMOVNO Ev,Ev (66),(es) | SETNO Eb (F2),(ev)97342: CMOVB Gv,Ev (es) | CMOVB Gv,Ev (66),(es) | CFCMOVB Ev,Ev (es) | CFCMOVB Ev,Ev (66),(es) | SETB Eb (F2),(ev)97443: CMOVNB Gv,Ev (es) | CMOVNB Gv,Ev (66),(es) | CFCMOVNB Ev,Ev (es) | CFCMOVNB Ev,Ev (66),(es) | SETNB Eb (F2),(ev)97544: CMOVZ Gv,Ev (es) | CMOVZ Gv,Ev (66),(es) | CFCMOVZ Ev,Ev (es) | CFCMOVZ Ev,Ev (66),(es) | SETZ Eb (F2),(ev)97645: CMOVNZ Gv,Ev (es) | CMOVNZ Gv,Ev (66),(es) | CFCMOVNZ Ev,Ev (es) | CFCMOVNZ Ev,Ev (66),(es) | SETNZ Eb (F2),(ev)97746: CMOVBE Gv,Ev (es) | CMOVBE Gv,Ev (66),(es) | CFCMOVBE Ev,Ev (es) | CFCMOVBE Ev,Ev (66),(es) | SETBE Eb (F2),(ev)97847: CMOVNBE Gv,Ev (es) | CMOVNBE Gv,Ev (66),(es) | CFCMOVNBE Ev,Ev (es) | CFCMOVNBE Ev,Ev (66),(es) | SETNBE Eb (F2),(ev)97948: CMOVS Gv,Ev (es) | CMOVS Gv,Ev (66),(es) | CFCMOVS Ev,Ev (es) | CFCMOVS Ev,Ev (66),(es) | SETS Eb (F2),(ev)98049: CMOVNS Gv,Ev (es) | CMOVNS Gv,Ev (66),(es) | CFCMOVNS Ev,Ev (es) | CFCMOVNS Ev,Ev (66),(es) | SETNS Eb (F2),(ev)9814a: CMOVP Gv,Ev (es) | CMOVP Gv,Ev (66),(es) | CFCMOVP Ev,Ev (es) | CFCMOVP Ev,Ev (66),(es) | SETP Eb (F2),(ev)9824b: CMOVNP Gv,Ev (es) | CMOVNP Gv,Ev (66),(es) | CFCMOVNP Ev,Ev (es) | CFCMOVNP Ev,Ev (66),(es) | SETNP Eb (F2),(ev)9834c: CMOVL Gv,Ev (es) | CMOVL Gv,Ev (66),(es) | CFCMOVL Ev,Ev (es) | CFCMOVL Ev,Ev (66),(es) | SETL Eb (F2),(ev)9844d: CMOVNL Gv,Ev (es) | CMOVNL Gv,Ev (66),(es) | CFCMOVNL Ev,Ev (es) | CFCMOVNL Ev,Ev (66),(es) | SETNL Eb (F2),(ev)9854e: CMOVLE Gv,Ev (es) | CMOVLE Gv,Ev (66),(es) | CFCMOVLE Ev,Ev (es) | CFCMOVLE Ev,Ev (66),(es) | SETLE Eb (F2),(ev)9864f: CMOVNLE Gv,Ev (es) | CMOVNLE Gv,Ev (66),(es) | CFCMOVNLE Ev,Ev (es) | CFCMOVNLE Ev,Ev (66),(es) | SETNLE Eb (F2),(ev)98760: MOVBE Gv,Ev (es) | MOVBE Gv,Ev (66),(es)98861: MOVBE Ev,Gv (es) | MOVBE Ev,Gv (66),(es)98965: WRUSSD Md,Gd (66),(ev) | WRUSSQ Mq,Gq (66),(ev)99066: ADCX Gy,Ey (66),(ev) | ADOX Gy,Ey (F3),(ev) | WRSSD Md,Gd (ev) | WRSSQ Mq,Gq (66),(ev)99169: IMUL Gv,Ev,Iz (es) | IMUL Gv,Ev,Iz (66),(es)9926b: IMUL Gv,Ev,Ib (es) | IMUL Gv,Ev,Ib (66),(es)99380: Grp1 Eb,Ib (1A),(ev)99481: Grp1 Ev,Iz (1A),(es)99583: Grp1 Ev,Ib (1A),(es)996# CTESTSCC instructions are: CTESTB, CTESTBE, CTESTF, CTESTL, CTESTLE, CTESTNB, CTESTNBE, CTESTNL,997# CTESTNLE, CTESTNO, CTESTNS, CTESTNZ, CTESTO, CTESTS, CTESTT, CTESTZ99884: CTESTSCC Eb,Gb (ev)99985: CTESTSCC Ev,Gv (es) | CTESTSCC Ev,Gv (66),(es)100088: POPCNT Gv,Ev (es) | POPCNT Gv,Ev (66),(es)10018f: POP2 Bq,Rq (000),(11B),(ev)1002a5: SHLD Ev,Gv,CL (es) | SHLD Ev,Gv,CL (66),(es)1003ad: SHRD Ev,Gv,CL (es) | SHRD Ev,Gv,CL (66),(es)1004af: IMUL Gv,Ev (es) | IMUL Gv,Ev (66),(es)1005c0: Grp2 Eb,Ib (1A),(ev)1006c1: Grp2 Ev,Ib (1A),(es)1007d0: Grp2 Eb,1 (1A),(ev)1008d1: Grp2 Ev,1 (1A),(es)1009d2: Grp2 Eb,CL (1A),(ev)1010d3: Grp2 Ev,CL (1A),(es)1011f0: CRC32 Gy,Eb (es) | INVEPT Gq,Mdq (F3),(ev)1012f1: CRC32 Gy,Ey (es) | CRC32 Gy,Ey (66),(es) | INVVPID Gy,Mdq (F3),(ev)1013f2: INVPCID Gy,Mdq (F3),(ev)1014f4: TZCNT Gv,Ev (es) | TZCNT Gv,Ev (66),(es)1015f5: LZCNT Gv,Ev (es) | LZCNT Gv,Ev (66),(es)1016f6: Grp3_1 Eb (1A),(ev)1017f7: Grp3_2 Ev (1A),(es)1018f8: MOVDIR64B Gv,Mdqq (66),(ev) | ENQCMD Gv,Mdqq (F2),(ev) | ENQCMDS Gv,Mdqq (F3),(ev) | URDMSR Rq,Gq (F2),(11B),(ev) | UWRMSR Gq,Rq (F3),(11B),(ev)1019f9: MOVDIRI My,Gy (ev)1020fe: Grp4 (1A),(ev)1021ff: Grp5 (1A),(es) | PUSH2 Bq,Rq (110),(11B),(ev)1022EndTable10231024Table: EVEX map 51025Referrer:1026AVXcode: 5102710: vmovsh Vx,Hx,Wx (F3),(ev) | vmovsh Vx,Wx (F3),(ev)102811: vmovsh Wx,Hx,Vx (F3),(ev) | vmovsh Wx,Vx (F3),(ev)10291d: vcvtps2phx Vx,Wx (66),(ev) | vcvtss2sh Vx,Hx,Wx (ev)10302a: vcvtsi2sh Vx,Hx,Wx (F3),(ev)10312c: vcvttsh2si Vx,Wx (F3),(ev)10322d: vcvtsh2si Vx,Wx (F3),(ev)10332e: vucomish Vx,Wx (ev)10342f: vcomish Vx,Wx (ev)103551: vsqrtph Vx,Wx (ev) | vsqrtsh Vx,Hx,Wx (F3),(ev)103658: vaddph Vx,Hx,Wx (ev) | vaddsh Vx,Hx,Wx (F3),(ev)103759: vmulph Vx,Hx,Wx (ev) | vmulsh Vx,Hx,Wx (F3),(ev)10385a: vcvtpd2ph Vx,Wx (66),(ev) | vcvtph2pd Vx,Wx (ev) | vcvtsd2sh Vx,Hx,Wx (F2),(ev) | vcvtsh2sd Vx,Hx,Wx (F3),(ev)10395b: vcvtdq2ph Vx,Wx (ev) | vcvtph2dq Vx,Wx (66),(ev) | vcvtqq2ph Vx,Wx (ev) | vcvttph2dq Vx,Wx (F3),(ev)10405c: vsubph Vx,Hx,Wx (ev) | vsubsh Vx,Hx,Wx (F3),(ev)10415d: vminph Vx,Hx,Wx (ev) | vminsh Vx,Hx,Wx (F3),(ev)10425e: vdivph Vx,Hx,Wx (ev) | vdivsh Vx,Hx,Wx (F3),(ev)10435f: vmaxph Vx,Hx,Wx (ev) | vmaxsh Vx,Hx,Wx (F3),(ev)10446e: vmovw Vx,Wx (66),(ev)104578: vcvttph2udq Vx,Wx (ev) | vcvttph2uqq Vx,Wx (66),(ev) | vcvttsh2usi Vx,Wx (F3),(ev)104679: vcvtph2udq Vx,Wx (ev) | vcvtph2uqq Vx,Wx (66),(ev) | vcvtsh2usi Vx,Wx (F3),(ev)10477a: vcvttph2qq Vx,Wx (66),(ev) | vcvtudq2ph Vx,Wx (F2),(ev) | vcvtuqq2ph Vx,Wx (F2),(ev)10487b: vcvtph2qq Vx,Wx (66),(ev) | vcvtusi2sh Vx,Hx,Wx (F3),(ev)10497c: vcvttph2uw Vx,Wx (ev) | vcvttph2w Vx,Wx (66),(ev)10507d: vcvtph2uw Vx,Wx (ev) | vcvtph2w Vx,Wx (66),(ev) | vcvtuw2ph Vx,Wx (F2),(ev) | vcvtw2ph Vx,Wx (F3),(ev)10517e: vmovw Wx,Vx (66),(ev)1052EndTable10531054Table: EVEX map 61055Referrer:1056AVXcode: 6105713: vcvtph2psx Vx,Wx (66),(ev) | vcvtsh2ss Vx,Hx,Wx (ev)10582c: vscalefph Vx,Hx,Wx (66),(ev)10592d: vscalefsh Vx,Hx,Wx (66),(ev)106042: vgetexpph Vx,Wx (66),(ev)106143: vgetexpsh Vx,Hx,Wx (66),(ev)10624c: vrcpph Vx,Wx (66),(ev)10634d: vrcpsh Vx,Hx,Wx (66),(ev)10644e: vrsqrtph Vx,Wx (66),(ev)10654f: vrsqrtsh Vx,Hx,Wx (66),(ev)106656: vfcmaddcph Vx,Hx,Wx (F2),(ev) | vfmaddcph Vx,Hx,Wx (F3),(ev)106757: vfcmaddcsh Vx,Hx,Wx (F2),(ev) | vfmaddcsh Vx,Hx,Wx (F3),(ev)106896: vfmaddsub132ph Vx,Hx,Wx (66),(ev)106997: vfmsubadd132ph Vx,Hx,Wx (66),(ev)107098: vfmadd132ph Vx,Hx,Wx (66),(ev)107199: vfmadd132sh Vx,Hx,Wx (66),(ev)10729a: vfmsub132ph Vx,Hx,Wx (66),(ev)10739b: vfmsub132sh Vx,Hx,Wx (66),(ev)10749c: vfnmadd132ph Vx,Hx,Wx (66),(ev)10759d: vfnmadd132sh Vx,Hx,Wx (66),(ev)10769e: vfnmsub132ph Vx,Hx,Wx (66),(ev)10779f: vfnmsub132sh Vx,Hx,Wx (66),(ev)1078a6: vfmaddsub213ph Vx,Hx,Wx (66),(ev)1079a7: vfmsubadd213ph Vx,Hx,Wx (66),(ev)1080a8: vfmadd213ph Vx,Hx,Wx (66),(ev)1081a9: vfmadd213sh Vx,Hx,Wx (66),(ev)1082aa: vfmsub213ph Vx,Hx,Wx (66),(ev)1083ab: vfmsub213sh Vx,Hx,Wx (66),(ev)1084ac: vfnmadd213ph Vx,Hx,Wx (66),(ev)1085ad: vfnmadd213sh Vx,Hx,Wx (66),(ev)1086ae: vfnmsub213ph Vx,Hx,Wx (66),(ev)1087af: vfnmsub213sh Vx,Hx,Wx (66),(ev)1088b6: vfmaddsub231ph Vx,Hx,Wx (66),(ev)1089b7: vfmsubadd231ph Vx,Hx,Wx (66),(ev)1090b8: vfmadd231ph Vx,Hx,Wx (66),(ev)1091b9: vfmadd231sh Vx,Hx,Wx (66),(ev)1092ba: vfmsub231ph Vx,Hx,Wx (66),(ev)1093bb: vfmsub231sh Vx,Hx,Wx (66),(ev)1094bc: vfnmadd231ph Vx,Hx,Wx (66),(ev)1095bd: vfnmadd231sh Vx,Hx,Wx (66),(ev)1096be: vfnmsub231ph Vx,Hx,Wx (66),(ev)1097bf: vfnmsub231sh Vx,Hx,Wx (66),(ev)1098d6: vfcmulcph Vx,Hx,Wx (F2),(ev) | vfmulcph Vx,Hx,Wx (F3),(ev)1099d7: vfcmulcsh Vx,Hx,Wx (F2),(ev) | vfmulcsh Vx,Hx,Wx (F3),(ev)1100EndTable11011102Table: VEX map 71103Referrer:1104AVXcode: 71105f8: URDMSR Rq,Id (F2),(v1),(11B) | UWRMSR Id,Rq (F3),(v1),(11B)1106EndTable11071108GrpTable: Grp111090: ADD11101: OR11112: ADC11123: SBB11134: AND11145: SUB11156: XOR11167: CMP1117EndTable11181119GrpTable: Grp1A11200: POP1121EndTable11221123GrpTable: Grp211240: ROL11251: ROR11262: RCL11273: RCR11284: SHL/SAL11295: SHR11306:11317: SAR1132EndTable11331134GrpTable: Grp3_111350: TEST Eb,Ib11361: TEST Eb,Ib11372: NOT Eb11383: NEG Eb11394: MUL AL,Eb11405: IMUL AL,Eb11416: DIV AL,Eb11427: IDIV AL,Eb1143EndTable11441145GrpTable: Grp3_211460: TEST Ev,Iz11471: TEST Ev,Iz11482: NOT Ev11493: NEG Ev11504: MUL rAX,Ev11515: IMUL rAX,Ev11526: DIV rAX,Ev11537: IDIV rAX,Ev1154EndTable11551156GrpTable: Grp411570: INC Eb11581: DEC Eb1159EndTable11601161GrpTable: Grp511620: INC Ev11631: DEC Ev1164# Note: "forced64" is Intel CPU behavior (see comment about CALL insn).11652: CALLN Ev (f64)11663: CALLF Ep11674: JMPN Ev (f64)11685: JMPF Mp11696: PUSH Ev (d64)11707:1171EndTable11721173GrpTable: Grp611740: SLDT Rv/Mw11751: STR Rv/Mw11762: LLDT Ew11773: LTR Ew11784: VERR Ew11795: VERW Ew11806: LKGS Ew (F2)1181EndTable11821183GrpTable: Grp711840: SGDT Ms | VMCALL (001),(11B) | VMLAUNCH (010),(11B) | VMRESUME (011),(11B) | VMXOFF (100),(11B) | PCONFIG (101),(11B) | ENCLV (000),(11B) | WRMSRNS (110),(11B) | RDMSRLIST (F2),(110),(11B) | WRMSRLIST (F3),(110),(11B) | PBNDKB (111),(11B)11851: SIDT Ms | MONITOR (000),(11B) | MWAIT (001),(11B) | CLAC (010),(11B) | STAC (011),(11B) | ENCLS (111),(11B) | ERETU (F3),(010),(11B) | ERETS (F2),(010),(11B)11862: LGDT Ms | XGETBV (000),(11B) | XSETBV (001),(11B) | VMFUNC (100),(11B) | XEND (101)(11B) | XTEST (110)(11B) | ENCLU (111),(11B)11873: LIDT Ms11884: SMSW Mw/Rv11895: 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)11906: LMSW Ew11917: INVLPG Mb | SWAPGS (o64),(000),(11B) | RDTSCP (001),(11B)1192EndTable11931194GrpTable: Grp811954: BT11965: BTS11976: BTR11987: BTC1199EndTable12001201GrpTable: Grp912021: CMPXCHG8B/16B Mq/Mdq12033: xrstors12044: xsavec12055: xsaves12066: VMPTRLD Mq | VMCLEAR Mq (66) | VMXON Mq (F3) | RDRAND Rv (11B) | SENDUIPI Gq (F3)12077: VMPTRST Mq | VMPTRST Mq (F3) | RDSEED Rv (11B)1208EndTable12091210GrpTable: Grp101211# all are UD112120: UD112131: UD112142: UD112153: UD112164: UD112175: UD112186: UD112197: UD11220EndTable12211222# Grp11A and Grp11B are expressed as Grp11 in Intel SDM1223GrpTable: Grp11A12240: MOV Eb,Ib12257: XABORT Ib (000),(11B)1226EndTable12271228GrpTable: Grp11B12290: MOV Eb,Iz12307: XBEGIN Jz (000),(11B)1231EndTable12321233GrpTable: Grp1212342: psrlw Nq,Ib (11B) | vpsrlw Hx,Ux,Ib (66),(11B),(v1)12354: psraw Nq,Ib (11B) | vpsraw Hx,Ux,Ib (66),(11B),(v1)12366: psllw Nq,Ib (11B) | vpsllw Hx,Ux,Ib (66),(11B),(v1)1237EndTable12381239GrpTable: Grp1312400: vprord/q Hx,Wx,Ib (66),(ev)12411: vprold/q Hx,Wx,Ib (66),(ev)12422: psrld Nq,Ib (11B) | vpsrld Hx,Ux,Ib (66),(11B),(v1)12434: psrad Nq,Ib (11B) | vpsrad Hx,Ux,Ib (66),(11B),(v1) | vpsrad/q Hx,Ux,Ib (66),(evo)12446: pslld Nq,Ib (11B) | vpslld Hx,Ux,Ib (66),(11B),(v1)1245EndTable12461247GrpTable: Grp1412482: psrlq Nq,Ib (11B) | vpsrlq Hx,Ux,Ib (66),(11B),(v1)12493: vpsrldq Hx,Ux,Ib (66),(11B),(v1)12506: psllq Nq,Ib (11B) | vpsllq Hx,Ux,Ib (66),(11B),(v1)12517: vpslldq Hx,Ux,Ib (66),(11B),(v1)1252EndTable12531254GrpTable: Grp1512550: fxsave | RDFSBASE Ry (F3),(11B)12561: fxstor | RDGSBASE Ry (F3),(11B)12572: vldmxcsr Md (v1) | WRFSBASE Ry (F3),(11B)12583: vstmxcsr Md (v1) | WRGSBASE Ry (F3),(11B)12594: XSAVE | ptwrite Ey (F3),(11B)12605: XRSTOR | lfence (11B) | INCSSPD/Q Ry (F3),(11B)12616: XSAVEOPT | clwb (66) | mfence (11B) | TPAUSE Rd (66),(11B) | UMONITOR Rv (F3),(11B) | UMWAIT Rd (F2),(11B) | CLRSSBSY Mq (F3)12627: clflush | clflushopt (66) | sfence (11B)1263EndTable12641265GrpTable: Grp1612660: prefetch NTA12671: prefetch T012682: prefetch T112693: prefetch T212706: prefetch IT112717: prefetch IT01272EndTable12731274GrpTable: Grp1712751: BLSR By,Ey (v)12762: BLSMSK By,Ey (v)12773: BLSI By,Ey (v)1278EndTable12791280GrpTable: Grp1812811: vgatherpf0dps/d Wx (66),(ev)12822: vgatherpf1dps/d Wx (66),(ev)12835: vscatterpf0dps/d Wx (66),(ev)12846: vscatterpf1dps/d Wx (66),(ev)1285EndTable12861287GrpTable: Grp1912881: vgatherpf0qps/d Wx (66),(ev)12892: vgatherpf1qps/d Wx (66),(ev)12905: vscatterpf0qps/d Wx (66),(ev)12916: vscatterpf1qps/d Wx (66),(ev)1292EndTable12931294GrpTable: Grp2012950: cldemote Mb1296EndTable12971298GrpTable: Grp2112991: RDSSPD/Q Ry (F3),(11B)13007: ENDBR64 (F3),(010),(11B) | ENDBR32 (F3),(011),(11B)1301EndTable13021303# AMD's Prefetch Group1304GrpTable: GrpP13050: PREFETCH13061: PREFETCHW1307EndTable13081309GrpTable: GrpPDLK13100: MONTMUL13111: XSHA113122: XSHA21313EndTable13141315GrpTable: GrpRNG13160: xstore-rng13171: xcrypt-ecb13182: xcrypt-cbc13194: xcrypt-cfb13205: xcrypt-ofb1321EndTable132213231324