x86 Instruction Set Reference

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.

Download documentation set

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