Derived from the Setpember 2014 version of the *Intel® 64 and IA-32 Architectures Software Developer’s Manual*, volumes 2A and 2B.

More info at zneak/x86doc

**This reference is not perfect.** It's been mechanically separated into distinct files by a dumb script. It may be enough to replace the official documentation on your weekend reverse engineering project, but in doubt, go get the official and freely available documentation.

AAA | ASCII Adjust After Addition |

AAD | ASCII Adjust AX Before Division |

AAM | ASCII Adjust AX After Multiply |

AAS | ASCII Adjust AL After Subtraction |

ADC | Add with Carry |

ADCX | Unsigned Integer Addition of Two Operands with Carry Flag |

ADD | Add |

ADDPD | Add Packed Double-Precision Floating-Point Values |

ADDPS | Add Packed Single-Precision Floating-Point Values |

ADDSD | Add Scalar Double-Precision Floating-Point Values |

ADDSS | Add Scalar Single-Precision Floating-Point Values |

ADDSUBPD | Packed Double-FP Add/Subtract |

ADDSUBPS | Packed Single-FP Add/Subtract |

ADOX | Unsigned Integer Addition of Two Operands with Overflow Flag |

AESDEC | Perform One Round of an AES Decryption Flow |

AESDECLAST | Perform Last Round of an AES Decryption Flow |

AESENC | Perform One Round of an AES Encryption Flow |

AESENCLAST | Perform Last Round of an AES Encryption Flow |

AESIMC | Perform the AES InvMixColumn Transformation |

AESKEYGENASSIST | AES Round Key Generation Assist |

AND | Logical AND |

ANDN | Logical AND NOT |

ANDNPD | Bitwise Logical AND NOT of Packed Double-Precision Floating-Point Values |

ANDNPS | Bitwise Logical AND NOT of Packed Single-Precision Floating-Point Values |

ANDPD | Bitwise Logical AND of Packed Double-Precision Floating-Point Values |

ANDPS | Bitwise Logical AND of Packed Single-Precision Floating-Point Values |

ARPL | Adjust RPL Field of Segment Selector |

BEXTR | Bit Field Extract |

BLENDPD | Blend Packed Double Precision Floating-Point Values |

BLENDPS | Blend Packed Single Precision Floating-Point Values |

BLENDVPD | Variable Blend Packed Double Precision Floating-Point Values |

BLENDVPS | Variable Blend Packed Single Precision Floating-Point Values |

BLSI | Extract Lowest Set Isolated Bit |

BLSMSK | Get Mask Up to Lowest Set Bit |

BLSR | Reset Lowest Set Bit |

BOUND | Check Array Index Against Bounds |

BSF | Bit Scan Forward |

BSR | Bit Scan Reverse |

BSWAP | Byte Swap |

BT | Bit Test |

BTC | Bit Test and Complement |

BTR | Bit Test and Reset |

BTS | Bit Test and Set |

BZHI | Zero High Bits Starting with Specified Bit Position |

CALL | Call Procedure |

CBW | Convert Byte to Word/Convert Word to Doubleword/Convert Doubleword to Quadword |

CDQ | Convert Word to Doubleword/Convert Doubleword to Quadword |

CDQE | Convert Byte to Word/Convert Word to Doubleword/Convert Doubleword to Quadword |

CLAC | Clear AC Flag in EFLAGS Register |

CLC | Clear Carry Flag |

CLD | Clear Direction Flag |

CLFLUSH | Flush Cache Line |

CLI | Clear Interrupt Flag |

CLTS | Clear Task-Switched Flag in CR0 |

CMC | Complement Carry Flag |

CMOVcc | Conditional Move |

CMP | Compare Two Operands |

CMPPD | Compare Packed Double-Precision Floating-Point Values |

CMPPS | Compare Packed Single-Precision Floating-Point Values |

CMPS | Compare String Operands |

CMPSB | Compare String Operands |

CMPSD | Compare String Operands |

CMPSD | Compare Scalar Double-Precision Floating-Point Values |

CMPSQ | Compare String Operands |

CMPSS | Compare Scalar Single-Precision Floating-Point Values |

CMPSW | Compare String Operands |

CMPXCHG | Compare and Exchange |

CMPXCHG16B | Compare and Exchange Bytes |

CMPXCHG8B | Compare and Exchange Bytes |

COMISD | Compare Scalar Ordered Double-Precision Floating-Point Values and Set EFLAGS |

COMISS | Compare Scalar Ordered Single-Precision Floating-Point Values and Set EFLAGS |

CPUID | CPU Identification |

CQO | Convert Word to Doubleword/Convert Doubleword to Quadword |

CRC32 | Accumulate CRC32 Value |

CVTDQ2PD | Convert Packed Dword Integers to Packed Double-Precision FP Values |

CVTDQ2PS | Convert Packed Dword Integers to Packed Single-Precision FP Values |

CVTPD2DQ | Convert Packed Double-Precision FP Values to Packed Dword Integers |

CVTPD2PI | Convert Packed Double-Precision FP Values to Packed Dword Integers |

CVTPD2PS | Convert Packed Double-Precision FP Values to Packed Single-Precision FP Values |

CVTPI2PD | Convert Packed Dword Integers to Packed Double-Precision FP Values |

CVTPI2PS | Convert Packed Dword Integers to Packed Single-Precision FP Values |

CVTPS2DQ | Convert Packed Single-Precision FP Values to Packed Dword Integers |

CVTPS2PD | Convert Packed Single-Precision FP Values to Packed Double-Precision FP Values |

CVTPS2PI | Convert Packed Single-Precision FP Values to Packed Dword Integers |

CVTSD2SI | Convert Scalar Double-Precision FP Value to Integer |

CVTSD2SS | Convert Scalar Double-Precision FP Value to Scalar Single-Precision FP Value |

CVTSI2SD | Convert Dword Integer to Scalar Double-Precision FP Value |

CVTSI2SS | Convert Dword Integer to Scalar Single-Precision FP Value |

CVTSS2SD | Convert Scalar Single-Precision FP Value to Scalar Double-Precision FP Value |

CVTSS2SI | Convert Scalar Single-Precision FP Value to Dword Integer |

CVTTPD2DQ | Convert with Truncation Packed Double-Precision FP Values to Packed Dword Integers |

CVTTPD2PI | Convert with Truncation Packed Double-Precision FP Values to Packed Dword Integers |

CVTTPS2DQ | Convert with Truncation Packed Single-Precision FP Values to Packed Dword Integers |

CVTTPS2PI | Convert with Truncation Packed Single-Precision FP Values to Packed Dword Integers |

CVTTSD2SI | Convert with Truncation Scalar Double-Precision FP Value to Signed Integer |

CVTTSS2SI | Convert with Truncation Scalar Single-Precision FP Value to Dword Integer |

CWD | Convert Word to Doubleword/Convert Doubleword to Quadword |

CWDE | Convert Byte to Word/Convert Word to Doubleword/Convert Doubleword to Quadword |

DAA | Decimal Adjust AL after Addition |

DAS | Decimal Adjust AL after Subtraction |

DEC | Decrement by 1 |

DIV | Unsigned Divide |

DIVPD | Divide Packed Double-Precision Floating-Point Values |

DIVPS | Divide Packed Single-Precision Floating-Point Values |

DIVSD | Divide Scalar Double-Precision Floating-Point Values |

DIVSS | Divide Scalar Single-Precision Floating-Point Values |

DPPD | Dot Product of Packed Double Precision Floating-Point Values |

DPPS | Dot Product of Packed Single Precision Floating-Point Values |

EMMS | Empty MMX Technology State |

ENTER | Make Stack Frame for Procedure Parameters |

EXTRACTPS | Extract Packed Single Precision Floating-Point Value |

F2XM1 | Compute 2x–1 |

FABS | Absolute Value |

FADD | Add |

FADDP | Add |

FBLD | Load Binary Coded Decimal |

FBSTP | Store BCD Integer and Pop |

FCHS | Change Sign |

FCLEX | Clear Exceptions |

FCMOVcc | Floating-Point Conditional Move |

FCOM | Compare Floating Point Values |

FCOMI | Compare Floating Point Values and Set EFLAGS |

FCOMIP | Compare Floating Point Values and Set EFLAGS |

FCOMP | Compare Floating Point Values |

FCOMPP | Compare Floating Point Values |

FCOS | Cosine |

FDECSTP | Decrement Stack-Top Pointer |

FDIV | Divide |

FDIVP | Divide |

FDIVR | Reverse Divide |

FDIVRP | Reverse Divide |

FFREE | Free Floating-Point Register |

FIADD | Add |

FICOM | Compare Integer |

FICOMP | Compare Integer |

FIDIV | Divide |

FIDIVR | Reverse Divide |

FILD | Load Integer |

FIMUL | Multiply |

FINCSTP | Increment Stack-Top Pointer |

FINIT | Initialize Floating-Point Unit |

FIST | Store Integer |

FISTP | Store Integer |

FISTTP | Store Integer with Truncation |

FISUB | Subtract |

FISUBR | Reverse Subtract |

FLD | Load Floating Point Value |

FLD1 | Load Constant |

FLDCW | Load x87 FPU Control Word |

FLDENV | Load x87 FPU Environment |

FLDL2E | Load Constant |

FLDL2T | Load Constant |

FLDLG2 | Load Constant |

FLDLN2 | Load Constant |

FLDPI | Load Constant |

FLDZ | Load Constant |

FMUL | Multiply |

FMULP | Multiply |

FNCLEX | Clear Exceptions |

FNINIT | Initialize Floating-Point Unit |

FNOP | No Operation |

FNSAVE | Store x87 FPU State |

FNSTCW | Store x87 FPU Control Word |

FNSTENV | Store x87 FPU Environment |

FNSTSW | Store x87 FPU Status Word |

FPATAN | Partial Arctangent |

FPREM | Partial Remainder |

FPREM1 | Partial Remainder |

FPTAN | Partial Tangent |

FRNDINT | Round to Integer |

FRSTOR | Restore x87 FPU State |

FSAVE | Store x87 FPU State |

FSCALE | Scale |

FSIN | Sine |

FSINCOS | Sine and Cosine |

FSQRT | Square Root |

FST | Store Floating Point Value |

FSTCW | Store x87 FPU Control Word |

FSTENV | Store x87 FPU Environment |

FSTP | Store Floating Point Value |

FSTSW | Store x87 FPU Status Word |

FSUB | Subtract |

FSUBP | Subtract |

FSUBR | Reverse Subtract |

FSUBRP | Reverse Subtract |

FTST | TEST |

FUCOM | Unordered Compare Floating Point Values |

FUCOMI | Compare Floating Point Values and Set EFLAGS |

FUCOMIP | Compare Floating Point Values and Set EFLAGS |

FUCOMP | Unordered Compare Floating Point Values |

FUCOMPP | Unordered Compare Floating Point Values |

FWAIT | Wait |

FXAM | Examine ModR/M |

FXCH | Exchange Register Contents |

FXRSTOR | Restore x87 FPU, MMX, XMM, and MXCSR State |

FXSAVE | Save x87 FPU, MMX Technology, and SSE State |

FXTRACT | Extract Exponent and Significand |

FYL2X | Compute y ∗ log2x |

FYL2XP1 | Compute y ∗ log2(x +1) |

HADDPD | Packed Double-FP Horizontal Add |

HADDPS | Packed Single-FP Horizontal Add |

HLT | Halt |

HSUBPD | Packed Double-FP Horizontal Subtract |

HSUBPS | Packed Single-FP Horizontal Subtract |

IDIV | Signed Divide |

IMUL | Signed Multiply |

IN | Input from Port |

INC | Increment by 1 |

INS | Input from Port to String |

INSB | Input from Port to String |

INSD | Input from Port to String |

INSERTPS | Insert Packed Single Precision Floating-Point Value |

INSW | Input from Port to String |

INT 3 | Call to Interrupt Procedure |

INT n | Call to Interrupt Procedure |

INTO | Call to Interrupt Procedure |

INVD | Invalidate Internal Caches |

INVLPG | Invalidate TLB Entries |

INVPCID | Invalidate Process-Context Identifier |

IRET | Interrupt Return |

IRETD | Interrupt Return |

JMP | Jump |

Jcc | Jump if Condition Is Met |

LAHF | Load Status Flags into AH Register |

LAR | Load Access Rights Byte |

LDDQU | Load Unaligned Integer 128 Bits |

LDMXCSR | Load MXCSR Register |

LDS | Load Far Pointer |

LEA | Load Effective Address |

LEAVE | High Level Procedure Exit |

LES | Load Far Pointer |

LFENCE | Load Fence |

LFS | Load Far Pointer |

LGDT | Load Global/Interrupt Descriptor Table Register |

LGS | Load Far Pointer |

LIDT | Load Global/Interrupt Descriptor Table Register |

LLDT | Load Local Descriptor Table Register |

LMSW | Load Machine Status Word |

LOCK | Assert LOCK# Signal Prefix |

LODS | Load String |

LODSB | Load String |

LODSD | Load String |

LODSQ | Load String |

LODSW | Load String |

LOOP | Loop According to ECX Counter |

LOOPcc | Loop According to ECX Counter |

LSL | Load Segment Limit |

LSS | Load Far Pointer |

LTR | Load Task Register |

LZCNT | Count the Number of Leading Zero Bits |

MASKMOVDQU | Store Selected Bytes of Double Quadword |

MASKMOVQ | Store Selected Bytes of Quadword |

MAXPD | Return Maximum Packed Double-Precision Floating-Point Values |

MAXPS | Return Maximum Packed Single-Precision Floating-Point Values |

MAXSD | Return Maximum Scalar Double-Precision Floating-Point Value |

MAXSS | Return Maximum Scalar Single-Precision Floating-Point Value |

MFENCE | Memory Fence |

MINPD | Return Minimum Packed Double-Precision Floating-Point Values |

MINPS | Return Minimum Packed Single-Precision Floating-Point Values |

MINSD | Return Minimum Scalar Double-Precision Floating-Point Value |

MINSS | Return Minimum Scalar Single-Precision Floating-Point Value |

MONITOR | Set Up Monitor Address |

MOV | Move |

MOV | Move to/from Control Registers |

MOV | Move to/from Debug Registers |

MOVAPD | Move Aligned Packed Double-Precision Floating-Point Values |

MOVAPS | Move Aligned Packed Single-Precision Floating-Point Values |

MOVBE | Move Data After Swapping Bytes |

MOVD | Move Doubleword/Move Quadword |

MOVDDUP | Move One Double-FP and Duplicate |

MOVDQ2Q | Move Quadword from XMM to MMX Technology Register |

MOVDQA | Move Aligned Double Quadword |

MOVDQU | Move Unaligned Double Quadword |

MOVHLPS | Move Packed Single-Precision Floating-Point Values High to Low |

MOVHPD | Move High Packed Double-Precision Floating-Point Value |

MOVHPS | Move High Packed Single-Precision Floating-Point Values |

MOVLHPS | Move Packed Single-Precision Floating-Point Values Low to High |

MOVLPD | Move Low Packed Double-Precision Floating-Point Value |

MOVLPS | Move Low Packed Single-Precision Floating-Point Values |

MOVMSKPD | Extract Packed Double-Precision Floating-Point Sign Mask |

MOVMSKPS | Extract Packed Single-Precision Floating-Point Sign Mask |

MOVNTDQ | Store Double Quadword Using Non-Temporal Hint |

MOVNTDQA | Load Double Quadword Non-Temporal Aligned Hint |

MOVNTI | Store Doubleword Using Non-Temporal Hint |

MOVNTPD | Store Packed Double-Precision Floating-Point Values Using Non-Temporal Hint |

MOVNTPS | Store Packed Single-Precision Floating-Point Values Using Non-Temporal Hint |

MOVNTQ | Store of Quadword Using Non-Temporal Hint |

MOVQ | Move Doubleword/Move Quadword |

MOVQ | Move Quadword |

MOVQ2DQ | Move Quadword from MMX Technology to XMM Register |

MOVS | Move Data from String to String |

MOVSB | Move Data from String to String |

MOVSD | Move Data from String to String |

MOVSD | Move Scalar Double-Precision Floating-Point Value |

MOVSHDUP | Move Packed Single-FP High and Duplicate |

MOVSLDUP | Move Packed Single-FP Low and Duplicate |

MOVSQ | Move Data from String to String |

MOVSS | Move Scalar Single-Precision Floating-Point Values |

MOVSW | Move Data from String to String |

MOVSX | Move with Sign-Extension |

MOVSXD | Move with Sign-Extension |

MOVUPD | Move Unaligned Packed Double-Precision Floating-Point Values |

MOVUPS | Move Unaligned Packed Single-Precision Floating-Point Values |

MOVZX | Move with Zero-Extend |

MPSADBW | Compute Multiple Packed Sums of Absolute Difference |

MUL | Unsigned Multiply |

MULPD | Multiply Packed Double-Precision Floating-Point Values |

MULPS | Multiply Packed Single-Precision Floating-Point Values |

MULSD | Multiply Scalar Double-Precision Floating-Point Values |

MULSS | Multiply Scalar Single-Precision Floating-Point Values |

MWAIT | Monitor Wait |

MULX | Unsigned Multiply Without Affecting Flags |

MWAIT | Monitor Wait |

NEG | Two's Complement Negation |

NOP | No Operation |

NOT | One's Complement Negation |

OR | Logical Inclusive OR |

ORPD | Bitwise Logical OR of Double-Precision Floating-Point Values |

ORPS | Bitwise Logical OR of Single-Precision Floating-Point Values |

OUT | Output to Port |

OUTS | Output String to Port |

OUTSB | Output String to Port |

OUTSD | Output String to Port |

OUTSW | Output String to Port |

PABSB | Packed Absolute Value |

PABSD | Packed Absolute Value |

PABSW | Packed Absolute Value |

PACKSSDW | Pack with Signed Saturation |

PACKSSWB | Pack with Signed Saturation |

PACKUSDW | Pack with Unsigned Saturation |

PACKUSWB | Pack with Unsigned Saturation |

PADDB | Add Packed Integers |

PADDD | Add Packed Integers |

PADDQ | Add Packed Quadword Integers |

PADDSB | Add Packed Signed Integers with Signed Saturation |

PADDSW | Add Packed Signed Integers with Signed Saturation |

PADDUSB | Add Packed Unsigned Integers with Unsigned Saturation |

PADDUSW | Add Packed Unsigned Integers with Unsigned Saturation |

PADDW | Add Packed Integers |

PALIGNR | Packed Align Right |

PAND | Logical AND |

PANDN | Logical AND NOT |

PAUSE | Spin Loop Hint |

PAVGB | Average Packed Integers |

PAVGW | Average Packed Integers |

PBLENDVB | Variable Blend Packed Bytes |

PBLENDW | Blend Packed Words |

PCLMULQDQ | Carry-Less Multiplication Quadword |

PCMPEQB | Compare Packed Data for Equal |

PCMPEQD | Compare Packed Data for Equal |

PCMPEQQ | Compare Packed Qword Data for Equal |

PCMPEQW | Compare Packed Data for Equal |

PCMPESTRI | Packed Compare Explicit Length Strings, Return Index |

PCMPESTRM | Packed Compare Explicit Length Strings, Return Mask |

PCMPGTB | Compare Packed Signed Integers for Greater Than |

PCMPGTD | Compare Packed Signed Integers for Greater Than |

PCMPGTQ | Compare Packed Data for Greater Than |

PCMPGTW | Compare Packed Signed Integers for Greater Than |

PCMPISTRI | Packed Compare Implicit Length Strings, Return Index |

PCMPISTRM | Packed Compare Implicit Length Strings, Return Mask |

PDEP | Parallel Bits Deposit |

PEXT | Parallel Bits Extract |

PEXTRB | Extract Byte/Dword/Qword |

PEXTRD | Extract Byte/Dword/Qword |

PEXTRQ | Extract Byte/Dword/Qword |

PEXTRW | Extract Word |

PHADDD | Packed Horizontal Add |

PHADDSW | Packed Horizontal Add and Saturate |

PHADDW | Packed Horizontal Add |

PHMINPOSUW | Packed Horizontal Word Minimum |

PHSUBD | Packed Horizontal Subtract |

PHSUBSW | Packed Horizontal Subtract and Saturate |

PHSUBW | Packed Horizontal Subtract |

PINSRB | Insert Byte/Dword/Qword |

PINSRD | Insert Byte/Dword/Qword |

PINSRQ | Insert Byte/Dword/Qword |

PINSRW | Insert Word |

PMADDUBSW | Multiply and Add Packed Signed and Unsigned Bytes |

PMADDWD | Multiply and Add Packed Integers |

PMAXSB | Maximum of Packed Signed Byte Integers |

PMAXSD | Maximum of Packed Signed Dword Integers |

PMAXSW | Maximum of Packed Signed Word Integers |

PMAXUB | Maximum of Packed Unsigned Byte Integers |

PMAXUD | Maximum of Packed Unsigned Dword Integers |

PMAXUW | Maximum of Packed Word Integers |

PMINSB | Minimum of Packed Signed Byte Integers |

PMINSD | Minimum of Packed Dword Integers |

PMINSW | Minimum of Packed Signed Word Integers |

PMINUB | Minimum of Packed Unsigned Byte Integers |

PMINUD | Minimum of Packed Dword Integers |

PMINUW | Minimum of Packed Word Integers |

PMOVMSKB | Move Byte Mask |

PMOVSX | Packed Move with Sign Extend |

PMOVZX | Packed Move with Zero Extend |

PMULDQ | Multiply Packed Signed Dword Integers |

PMULHRSW | Packed Multiply High with Round and Scale |

PMULHUW | Multiply Packed Unsigned Integers and Store High Result |

PMULHW | Multiply Packed Signed Integers and Store High Result |

PMULLD | Multiply Packed Signed Dword Integers and Store Low Result |

PMULLW | Multiply Packed Signed Integers and Store Low Result |

PMULUDQ | Multiply Packed Unsigned Doubleword Integers |

POP | Pop a Value from the Stack |

POPA | Pop All General-Purpose Registers |

POPAD | Pop All General-Purpose Registers |

POPCNT | Return the Count of Number of Bits Set to 1 |

POPF | Pop Stack into EFLAGS Register |

POPFD | Pop Stack into EFLAGS Register |

POPFQ | Pop Stack into EFLAGS Register |

POR | Bitwise Logical OR |

PREFETCHW | Prefetch Data into Caches in Anticipation of a Write |

PREFETCHWT1 | Prefetch Vector Data Into Caches with Intent to Write and T1 Hint |

PREFETCHh | Prefetch Data Into Caches |

PSADBW | Compute Sum of Absolute Differences |

PSHUFB | Packed Shuffle Bytes |

PSHUFD | Shuffle Packed Doublewords |

PSHUFHW | Shuffle Packed High Words |

PSHUFLW | Shuffle Packed Low Words |

PSHUFW | Shuffle Packed Words |

PSIGNB | Packed SIGN |

PSIGND | Packed SIGN |

PSIGNW | Packed SIGN |

PSLLD | Shift Packed Data Left Logical |

PSLLDQ | Shift Double Quadword Left Logical |

PSLLQ | Shift Packed Data Left Logical |

PSLLW | Shift Packed Data Left Logical |

PSRAD | Shift Packed Data Right Arithmetic |

PSRAW | Shift Packed Data Right Arithmetic |

PSRLD | Shift Packed Data Right Logical |

PSRLDQ | Shift Double Quadword Right Logical |

PSRLQ | Shift Packed Data Right Logical |

PSRLW | Shift Packed Data Right Logical |

PSUBB | Subtract Packed Integers |

PSUBD | Subtract Packed Integers |

PSUBQ | Subtract Packed Quadword Integers |

PSUBSB | Subtract Packed Signed Integers with Signed Saturation |

PSUBSW | Subtract Packed Signed Integers with Signed Saturation |

PSUBUSB | Subtract Packed Unsigned Integers with Unsigned Saturation |

PSUBUSW | Subtract Packed Unsigned Integers with Unsigned Saturation |

PSUBW | Subtract Packed Integers |

PTEST | Logical Compare |

PUNPCKHBW | Unpack High Data |

PUNPCKHDQ | Unpack High Data |

PUNPCKHQDQ | Unpack High Data |

PUNPCKHWD | Unpack High Data |

PUNPCKLBW | Unpack Low Data |

PUNPCKLDQ | Unpack Low Data |

PUNPCKLQDQ | Unpack Low Data |

PUNPCKLWD | Unpack Low Data |

PUSH | Push Word, Doubleword or Quadword Onto the Stack |

PUSHA | Push All General-Purpose Registers |

PUSHAD | Push All General-Purpose Registers |

PUSHF | Push EFLAGS Register onto the Stack |

PUSHFD | Push EFLAGS Register onto the Stack |

PXOR | Logical Exclusive OR |

RCL | —Rotate |

RCPPS | Compute Reciprocals of Packed Single-Precision Floating-Point Values |

RCPSS | Compute Reciprocal of Scalar Single-Precision Floating-Point Values |

RCR | —Rotate |

RDFSBASE | Read FS/GS Segment Base |

RDGSBASE | Read FS/GS Segment Base |

RDMSR | Read from Model Specific Register |

RDPMC | Read Performance-Monitoring Counters |

RDRAND | Read Random Number |

RDSEED | Read Random SEED |

RDTSC | Read Time-Stamp Counter |

RDTSCP | Read Time-Stamp Counter and Processor ID |

REP | Repeat String Operation Prefix |

REPE | Repeat String Operation Prefix |

REPNE | Repeat String Operation Prefix |

REPNZ | Repeat String Operation Prefix |

REPZ | Repeat String Operation Prefix |

RET | Return from Procedure |

ROL | —Rotate |

ROR | —Rotate |

RORX | Rotate Right Logical Without Affecting Flags |

ROUNDPD | Round Packed Double Precision Floating-Point Values |

ROUNDPS | Round Packed Single Precision Floating-Point Values |

ROUNDSD | Round Scalar Double Precision Floating-Point Values |

ROUNDSS | Round Scalar Single Precision Floating-Point Values |

RSM | Resume from System Management Mode |

RSQRTPS | Compute Reciprocals of Square Roots of Packed Single-Precision Floating-Point Values |

RSQRTSS | Compute Reciprocal of Square Root of Scalar Single-Precision Floating-Point Value |

SAHF | Store AH into Flags |

SAL | Shift |

SAR | Shift |

SARX | Shift Without Affecting Flags |

SBB | Integer Subtraction with Borrow |

SCAS | Scan String |

SCASB | Scan String |

SCASD | Scan String |

SCASW | Scan String |

SETcc | Set Byte on Condition |

SFENCE | Store Fence |

SGDT | Store Global Descriptor Table Register |

SHL | Shift |

SHLD | Double Precision Shift Left |

SHLX | Shift Without Affecting Flags |

SHR | Shift |

SHRD | Double Precision Shift Right |

SHRX | Shift Without Affecting Flags |

SHUFPD | Shuffle Packed Double-Precision Floating-Point Values |

SHUFPS | Shuffle Packed Single-Precision Floating-Point Values |

SIDT | Store Interrupt Descriptor Table Register |

SLDT | Store Local Descriptor Table Register |

SMSW | Store Machine Status Word |

SQRTPD | Compute Square Roots of Packed Double-Precision Floating-Point Values |

SQRTPS | Compute Square Roots of Packed Single-Precision Floating-Point Values |

SQRTSD | Compute Square Root of Scalar Double-Precision Floating-Point Value |

SQRTSS | Compute Square Root of Scalar Single-Precision Floating-Point Value |

STAC | Set AC Flag in EFLAGS Register |

STC | Set Carry Flag |

STD | Set Direction Flag |

STI | Set Interrupt Flag |

STMXCSR | Store MXCSR Register State |

STOS | Store String |

STOSB | Store String |

STOSD | Store String |

STOSQ | Store String |

STOSW | Store String |

STR | Store Task Register |

SUB | Subtract |

SUBPD | Subtract Packed Double-Precision Floating-Point Values |

SUBPS | Subtract Packed Single-Precision Floating-Point Values |

SUBSD | Subtract Scalar Double-Precision Floating-Point Values |

SUBSS | Subtract Scalar Single-Precision Floating-Point Values |

SWAPGS | Swap GS Base Register |

SYSCALL | Fast System Call |

SYSENTER | Fast System Call |

SYSEXIT | Fast Return from Fast System Call |

SYSRET | Return From Fast System Call |

TEST | Logical Compare |

TZCNT | Count the Number of Trailing Zero Bits |

UCOMISD | Unordered Compare Scalar Double-Precision Floating-Point Values and Set EFLAGS |

UCOMISS | Unordered Compare Scalar Single-Precision Floating-Point Values and Set EFLAGS |

UD2 | Undefined Instruction |

UNPCKHPD | Unpack and Interleave High Packed Double-Precision Floating-Point Values |

UNPCKHPS | Unpack and Interleave High Packed Single-Precision Floating-Point Values |

UNPCKLPD | Unpack and Interleave Low Packed Double-Precision Floating-Point Values |

UNPCKLPS | Unpack and Interleave Low Packed Single-Precision Floating-Point Values |

VBROADCAST | Broadcast Floating-Point Data |

VCVTPH2PS | Convert 16-bit FP Values to Single-Precision FP Values |

VCVTPS2PH | Convert Single-Precision FP value to 16-bit FP value |

VERR | Verify a Segment for Reading or Writing |

VERW | Verify a Segment for Reading or Writing |

VEXTRACTF128 | Extract Packed Floating-Point Values |

VEXTRACTI128 | Extract packed Integer Values |

VFMADD132PD | Fused Multiply-Add of Packed Double-Precision Floating-Point Values |

VFMADD132PS | Fused Multiply-Add of Packed Single-Precision Floating-Point Values |

VFMADD132SD | Fused Multiply-Add of Scalar Double-Precision Floating-Point Values |

VFMADD132SS | Fused Multiply-Add of Scalar Single-Precision Floating-Point Values |

VFMADD213PD | Fused Multiply-Add of Packed Double-Precision Floating-Point Values |

VFMADD213PS | Fused Multiply-Add of Packed Single-Precision Floating-Point Values |

VFMADD213SD | Fused Multiply-Add of Scalar Double-Precision Floating-Point Values |

VFMADD213SS | Fused Multiply-Add of Scalar Single-Precision Floating-Point Values |

VFMADD231PD | Fused Multiply-Add of Packed Double-Precision Floating-Point Values |

VFMADD231PS | Fused Multiply-Add of Packed Single-Precision Floating-Point Values |

VFMADD231SD | Fused Multiply-Add of Scalar Double-Precision Floating-Point Values |

VFMADD231SS | Fused Multiply-Add of Scalar Single-Precision Floating-Point Values |

VFMADDSUB132PD | Fused Multiply-Alternating Add/Subtract of Packed Double-Precision Floating-Point Values |

VFMADDSUB132PS | Fused Multiply-Alternating Add/Subtract of Packed Single-Precision Floating-Point Values |

VFMADDSUB213PD | Fused Multiply-Alternating Add/Subtract of Packed Double-Precision Floating-Point Values |

VFMADDSUB213PS | Fused Multiply-Alternating Add/Subtract of Packed Single-Precision Floating-Point Values |

VFMADDSUB231PD | Fused Multiply-Alternating Add/Subtract of Packed Double-Precision Floating-Point Values |

VFMADDSUB231PS | Fused Multiply-Alternating Add/Subtract of Packed Single-Precision Floating-Point Values |

VFMSUB132PD | Fused Multiply-Subtract of Packed Double-Precision Floating-Point Values |

VFMSUB132PS | Fused Multiply-Subtract of Packed Single-Precision Floating-Point Values |

VFMSUB132SD | Fused Multiply-Subtract of Scalar Double-Precision Floating-Point Values |

VFMSUB132SS | Fused Multiply-Subtract of Scalar Single-Precision Floating-Point Values |

VFMSUB213PD | Fused Multiply-Subtract of Packed Double-Precision Floating-Point Values |

VFMSUB213PS | Fused Multiply-Subtract of Packed Single-Precision Floating-Point Values |

VFMSUB213SD | Fused Multiply-Subtract of Scalar Double-Precision Floating-Point Values |

VFMSUB213SS | Fused Multiply-Subtract of Scalar Single-Precision Floating-Point Values |

VFMSUB231PD | Fused Multiply-Subtract of Packed Double-Precision Floating-Point Values |

VFMSUB231PS | Fused Multiply-Subtract of Packed Single-Precision Floating-Point Values |

VFMSUB231SD | Fused Multiply-Subtract of Scalar Double-Precision Floating-Point Values |

VFMSUB231SS | Fused Multiply-Subtract of Scalar Single-Precision Floating-Point Values |

VFMSUBADD132PD | Fused Multiply-Alternating Subtract/Add of Packed Double-Precision Floating-Point Values |

VFMSUBADD132PS | Fused Multiply-Alternating Subtract/Add of Packed Single-Precision Floating-Point Values |

VFMSUBADD213PD | Fused Multiply-Alternating Subtract/Add of Packed Double-Precision Floating-Point Values |

VFMSUBADD213PS | Fused Multiply-Alternating Subtract/Add of Packed Single-Precision Floating-Point Values |

VFMSUBADD231PD | Fused Multiply-Alternating Subtract/Add of Packed Double-Precision Floating-Point Values |

VFMSUBADD231PS | Fused Multiply-Alternating Subtract/Add of Packed Single-Precision Floating-Point Values |

VFNMADD132PD | Fused Negative Multiply-Add of Packed Double-Precision Floating-Point Values |

VFNMADD132PS | Fused Negative Multiply-Add of Packed Single-Precision Floating-Point Values |

VFNMADD132SD | Fused Negative Multiply-Add of Scalar Double-Precision Floating-Point Values |

VFNMADD132SS | Fused Negative Multiply-Add of Scalar Single-Precision Floating-Point Values |

VFNMADD213PD | Fused Negative Multiply-Add of Packed Double-Precision Floating-Point Values |

VFNMADD213PS | Fused Negative Multiply-Add of Packed Single-Precision Floating-Point Values |

VFNMADD213SD | Fused Negative Multiply-Add of Scalar Double-Precision Floating-Point Values |

VFNMADD213SS | Fused Negative Multiply-Add of Scalar Single-Precision Floating-Point Values |

VFNMADD231PD | Fused Negative Multiply-Add of Packed Double-Precision Floating-Point Values |

VFNMADD231PS | Fused Negative Multiply-Add of Packed Single-Precision Floating-Point Values |

VFNMADD231SD | Fused Negative Multiply-Add of Scalar Double-Precision Floating-Point Values |

VFNMADD231SS | Fused Negative Multiply-Add of Scalar Single-Precision Floating-Point Values |

VFNMSUB132PD | Fused Negative Multiply-Subtract of Packed Double-Precision Floating-Point Values |

VFNMSUB132PS | Fused Negative Multiply-Subtract of Packed Single-Precision Floating-Point Values |

VFNMSUB132SD | Fused Negative Multiply-Subtract of Scalar Double-Precision Floating-Point Values |

VFNMSUB132SS | Fused Negative Multiply-Subtract of Scalar Single-Precision Floating-Point Values |

VFNMSUB213PD | Fused Negative Multiply-Subtract of Packed Double-Precision Floating-Point Values |

VFNMSUB213PS | Fused Negative Multiply-Subtract of Packed Single-Precision Floating-Point Values |

VFNMSUB213SD | Fused Negative Multiply-Subtract of Scalar Double-Precision Floating-Point Values |

VFNMSUB213SS | Fused Negative Multiply-Subtract of Scalar Single-Precision Floating-Point Values |

VFNMSUB231PD | Fused Negative Multiply-Subtract of Packed Double-Precision Floating-Point Values |

VFNMSUB231PS | Fused Negative Multiply-Subtract of Packed Single-Precision Floating-Point Values |

VFNMSUB231SD | Fused Negative Multiply-Subtract of Scalar Double-Precision Floating-Point Values |

VFNMSUB231SS | Fused Negative Multiply-Subtract of Scalar Single-Precision Floating-Point Values |

VGATHERDPD | Gather Packed DP FP Values Using Signed Dword/Qword Indices |

VGATHERDPS | Gather Packed SP FP values Using Signed Dword/Qword Indices |

VGATHERQPD | Gather Packed DP FP Values Using Signed Dword/Qword Indices |

VGATHERQPS | Gather Packed SP FP values Using Signed Dword/Qword Indices |

VINSERTF128 | Insert Packed Floating-Point Values |

VINSERTI128 | Insert Packed Integer Values |

VMASKMOV | Conditional SIMD Packed Loads and Stores |

VPBLENDD | Blend Packed Dwords |

VPBROADCAST | Broadcast Integer Data |

VPERM2F128 | Permute Floating-Point Values |

VPERM2I128 | Permute Integer Values |

VPERMD | Full Doublewords Element Permutation |

VPERMILPD | Permute Double-Precision Floating-Point Values |

VPERMILPS | Permute Single-Precision Floating-Point Values |

VPERMPD | Permute Double-Precision Floating-Point Elements |

VPERMPS | Permute Single-Precision Floating-Point Elements |

VPERMQ | Qwords Element Permutation |

VPGATHERDD | Gather Packed Dword Values Using Signed Dword/Qword Indices |

VPGATHERDQ | Gather Packed Qword Values Using Signed Dword/Qword Indices |

VPGATHERQD | Gather Packed Dword Values Using Signed Dword/Qword Indices |

VPGATHERQQ | Gather Packed Qword Values Using Signed Dword/Qword Indices |

VPMASKMOV | Conditional SIMD Integer Packed Loads and Stores |

VPSLLVD | Variable Bit Shift Left Logical |

VPSLLVQ | Variable Bit Shift Left Logical |

VPSRAVD | Variable Bit Shift Right Arithmetic |

VPSRLVD | Variable Bit Shift Right Logical |

VPSRLVQ | Variable Bit Shift Right Logical |

VTESTPD | Packed Bit Test |

VTESTPS | Packed Bit Test |

VZEROALL | Zero All YMM Registers |

VZEROUPPER | Zero Upper Bits of YMM Registers |

WAIT | Wait |

WBINVD | Write Back and Invalidate Cache |

WRFSBASE | Write FS/GS Segment Base |

WRGSBASE | Write FS/GS Segment Base |

WRMSR | Write to Model Specific Register |

XABORT | Transactional Abort |

XACQUIRE | Hardware Lock Elision Prefix Hints |

XADD | Exchange and Add |

XBEGIN | Transactional Begin |

XCHG | Exchange Register/Memory with Register |

XEND | Transactional End |

XGETBV | Get Value of Extended Control Register |

XLAT | Table Look-up Translation |

XLATB | Table Look-up Translation |

XOR | Logical Exclusive OR |

XORPD | Bitwise Logical XOR for Double-Precision Floating-Point Values |

XORPS | Bitwise Logical XOR for Single-Precision Floating-Point Values |

XRELEASE | Hardware Lock Elision Prefix Hints |

XRSTOR | Restore Processor Extended States |

XRSTORS | Restore Processor Extended States Supervisor |

XSAVE | Save Processor Extended States |

XSAVEC | Save Processor Extended States with Compaction |

XSAVEOPT | Save Processor Extended States Optimized |

XSAVES | Save Processor Extended States Supervisor |

XSETBV | Set Extended Control Register |

XTEST | Test If In Transactional Execution |