An instruction can stop with an exception instead of completing: #UD when the processor or the operating system does not allow it, #NM when the operating system has not yet switched the floating-point and vector registers to the running task (CR0.TS is set), #SS, #GP and #PF when a memory operand lies outside its segment, is misaligned or is not mapped, #AC when alignment checking catches a misaligned access, and #XM or #MF for floating-point errors. Which of these an instruction can raise, and in which processor mode, is the same for large groups of instructions. Intel’s manuals describe each group once, as an exception class, and the instruction pages refer to it.

Intel XED records the class of every instruction form. Each class below has a page with its conditions by processor mode, in our own words, and the instructions that XED puts in it.

Reading the class pages

Processor modes
Real-address mode, virtual-8086 mode, protected mode, which includes compatibility mode (32-bit code under a 64-bit operating system), and 64-bit mode.
Legacy, VEX and EVEX
The manual’s Exceptions Type 1 to 12 describe the legacy SSE and the VEX encoding of an instruction in one table. XED names the two halves separately, as SSE_TYPE_2 and avx-type-2, and so do these pages. A VEX- or EVEX-encoded instruction always raises #UD in real-address and virtual-8086 mode, so its other conditions matter in protected and 64-bit mode only, even where the manual’s table marks the other two modes as well.
#UD instead of #XM
An unmasked SIMD floating-point exception raises #XM only if the operating system has set CR4.OSXMMEXCPT to say that it handles #XM; otherwise the instruction raises #UD.
Fault suppression
Most classes of EVEX-encoded instructions suppress memory faults for the elements that the mask register turns off: only the enabled elements can raise #SS, #GP or #PF. The classes whose names end in NF have no such suppression.

SSE

ClassSummaryMnemonicsForms
SSE_TYPE_1Legacy SSE moves that need a 16-byte aligned memory operand, such as MOVAPS and MOVNTDQ, which Intel's manual calls Exceptions Type 1.716
SSE_TYPE_2Legacy SSE floating-point arithmetic on full 16-byte vectors, such as ADDPS, SQRTPD and CVTPS2DQ, which Intel's manual calls Exceptions Type 2.3060
SSE_TYPE_2DThe legacy SSE4.1 dot products DPPD and DPPS, which Intel's manual lists under Exceptions Type 2.24
SSE_TYPE_3Legacy SSE floating-point arithmetic on scalars and other operands smaller than 16 bytes, such as ADDSS, COMISD and CVTSI2SD, which Intel's manual calls Exceptions Type 3.3174
SSE_TYPE_4Legacy SSE instructions with a 16-byte memory operand and no floating-point exceptions, such as PADDD, PSHUFB, ANDPS and AESENC, which Intel's manual calls Exceptions Type 4.139274
SSE_TYPE_4MThe legacy unaligned moves MOVUPS, MOVUPD and MOVDQU, which Intel's manual refers to Exceptions Type 4 but exempts from its alignment rule.312
SSE_TYPE_5Legacy SSE moves, inserts, extracts and conversions on operands smaller than 16 bytes without floating-point exceptions, such as MOVD, PINSRW and PMOVZXBW, which Intel's manual calls Exceptions Type 5.3683
SSE_TYPE_7Legacy SSE instructions without a memory operand or floating-point exceptions, such as MOVMSKPS, PSLLDQ and the shifts by an immediate count, which Intel's manual calls Exceptions Type 7.1523

AVX

ClassSummaryMnemonicsForms
avx-type-1VEX-encoded moves whose memory operand must be aligned to its full size, such as VMOVAPS and VMOVNTDQ, which Intel's manual calls Exceptions Type 1.732
avx-type-2VEX-encoded floating-point arithmetic on full vectors, such as VADDPS, VSQRTPD and the FMA instructions, which Intel's manual calls Exceptions Type 2.66264
avx-type-2DThe VEX-encoded dot products VDPPD and VDPPS, which Intel's manual lists under Exceptions Type 2 with one more reason for #UD.26
avx-type-3VEX-encoded floating-point arithmetic on scalars and other operands smaller than 16 bytes, such as VADDSS, VCOMISD and the scalar FMA instructions, which Intel's manual calls Exceptions Type 3.55124
avx-type-4VEX-encoded integer, logical, shuffle and cryptographic instructions without floating-point exceptions, such as VPADDD, VPSHUFB and VAESENC, which Intel's manual calls Exceptions Type 4.170629
avx-type-4MThe VEX-encoded unaligned moves VMOVUPS, VMOVUPD and VMOVDQU, which Intel's manual refers to Exceptions Type 4 with one more reason for #UD.324
avx-type-5VEX-encoded moves, inserts, extracts and conversions on operands smaller than 16 bytes without floating-point exceptions, such as VMOVD, VPINSRB and VPMOVZXBW, which Intel's manual calls Exceptions Type 5.37114
avx-type-5LVLDMXCSR, which loads the MXCSR register from memory, with the conditions of Exceptions Type 5 of Intel's manual and a #GP for reserved bits.11
avx-type-6VEX-encoded instructions without a legacy SSE form, such as VBROADCASTSS, VINSERTF128, VPERM2I128 and VMASKMOVPS, which Intel's manual calls Exceptions Type 6.2579
avx-type-7VEX-encoded instructions without a memory operand or floating-point exceptions, such as VMOVMSKPS, VPSRLDQ and the shifts by an immediate count, which Intel's manual calls Exceptions Type 7.1544
avx-type-8VZEROALL and VZEROUPPER, which clear vector registers and take no operands, the class that Intel's manual calls Exceptions Type 8.22
avx-type-11The F16C conversions VCVTPH2PS and VCVTPS2PH between half and single precision, which Intel's manual calls Exceptions Type 11.28
avx-type-12The AVX2 gathers, such as VGATHERDPS and VPGATHERQQ, which load elements from the addresses in a vector of indices, the class that Intel's manual calls Exceptions Type 12.816
avx-type-14CMPccXADD, which compares a value in memory and adds to it in one atomic step, the class that Intel's manual calls Exceptions Type 14.12

AVX-512

ClassSummaryMnemonicsForms
AVX512-E1The EVEX-encoded aligned moves VMOVAPS, VMOVAPD, VMOVDQA32 and VMOVDQA64, whose memory operand must be aligned to its full size, which Intel's manual calls Exceptions Type E1.436
AVX512-E1NFThe EVEX-encoded non-temporal moves VMOVNTPS, VMOVNTPD, VMOVNTDQ and VMOVNTDQA, aligned and without fault suppression, which Intel's manual calls Exceptions Type E1NF.412
AVX512-E2EVEX-encoded floating-point arithmetic on full vectors, such as VADDPS, VFMADD231PD and VCVTPS2DQ, with memory fault suppression, which Intel's manual calls Exceptions Type E2.173992
AVX512-E3EVEX-encoded floating-point arithmetic on scalars, such as VADDSS, VFMADD231SD and VCMPSD, with memory fault suppression, which Intel's manual calls Exceptions Type E3.93186
AVX512-E3NFEVEX-encoded scalar floating-point compares and conversions without fault suppression, such as VCOMISS, VCVTSD2SI and VCVTSI2SS, which Intel's manual calls Exceptions Type E3NF.34108
AVX512-E4EVEX-encoded integer, logical and other instructions without floating-point exceptions, such as VPADDD, VPTERNLOGD and VMOVDQU32, with memory fault suppression, which Intel's manual calls Exceptions Type E4.2541,520
AVX512-E4NFEVEX-encoded permutes, shuffles and other instructions without floating-point exceptions or fault suppression, such as VPERMD, VSHUFPS and VPUNPCKLDQ, which Intel's manual calls Exceptions Type E4NF.86520
AVX512-E5EVEX-encoded instructions that read part of a vector or a scalar from memory, such as VPMOVZXBD and VCVTDQ2PD, with memory fault suppression, which Intel's manual calls Exceptions Type E5.1793
AVX512-E5NFThe EVEX-encoded VMOVDDUP, which duplicates double-precision elements, without fault suppression, the one instruction of what Intel's manual calls Exceptions Type E5NF.16
AVX512-E6EVEX-encoded broadcasts and down-converting stores, such as VBROADCASTSS and VPMOVDB, with memory fault suppression, which Intel's manual calls Exceptions Type E6.37125
AVX512-E6NFEVEX-encoded extracts and inserts of 128- and 256-bit lanes, such as VEXTRACTF32X4 and VINSERTI64X4, without fault suppression, which Intel's manual calls Exceptions Type E6NF.37111
AVX512-E7NMEVEX-encoded instructions without a memory operand, such as VPMOVM2D, VPMOVD2M and the broadcasts from a general-purpose register, which Intel's manual calls Exceptions Type E7NM.1648
AVX512-E7NM128The EVEX-encoded VMOVHLPS and VMOVLHPS, register moves that exist only as 128-bit forms, which Intel's manual calls Exceptions Type E7NM.128.22
AVX512-E9NFEVEX-encoded 128-bit moves, inserts and extracts of single elements, such as VMOVD, VPEXTRW and VINSERTPS, without fault suppression, which Intel's manual calls Exceptions Type E9NF.1748
AVX512-E10EVEX-encoded scalar instructions that ignore the vector length, such as VRCP14SS and VFPCLASSSH, with memory fault suppression, which Intel's manual calls Exceptions Type E10.1326
AVX512-E10NFEVEX-encoded scalar instructions without floating-point exceptions or fault suppression, VCVTSI2SD and VCVTUSI2SD from 32-bit integers and VCOMISBF16, which Intel's manual calls Exceptions Type E10NF.36
AVX512-E11The EVEX-encoded half-precision conversions VCVTPH2PS and VCVTPS2PH, with memory fault suppression, which Intel's manual calls Exceptions Type E11.212
AVX512-E12The EVEX-encoded gathers and scatters, such as VGATHERDPS and VPSCATTERQQ, which Intel's manual calls Exceptions Type E12.1648
AVX512-E12NPThe gather and scatter prefetches of the Xeon Phi, such as VGATHERPF0DPS and VSCATTERPF1QPD, which cannot fault, the class that Intel's manual calls Exceptions Type E12NP.1616
AVX512-K20VEX-encoded instructions on opmask registers without a memory operand, such as KANDW, KORTESTQ and KSHIFTLD, which Intel's manual calls Exceptions Type K20.5154
AVX512-K21The VEX-encoded opmask moves KMOVB, KMOVW, KMOVD and KMOVQ in the forms that can address memory, which Intel's manual calls Exceptions Type K21.413

MMX

ClassSummaryMnemonicsForms
mmx-memMMX instructions on MMX registers and 8-byte memory operands, such as PADDB, PMADDWD and PSHUFW, which Intel's manual lists as SIMD/MMX instructions with a memory reference.71133
mmx-nomemPEXTRW and PMOVMSKB with MMX registers, which have no memory operand, as Intel's manual lists them among the SIMD/MMX instructions without a memory reference.22
mmx-nofp2The MMX moves MOVQ, MOVNTQ and MASKMOVQ, which raise no floating-point exceptions, as Intel's manual lists them among the legacy SIMD/MMX instructions without FP exception.310
mmx-nofpCVTPI2PD, which converts two integers from an MMX register or memory to double precision without floating-point exceptions, as Intel's manual lists it among the legacy SIMD/MMX instructions with XMM and without FP exception.12
mmx-fpThe SSE conversions CVTPI2PS, CVTPS2PI and CVTTPS2PI between MMX and XMM registers, which can raise SIMD floating-point exceptions, as Intel's manual lists them among the legacy SIMD/MMX instructions with XMM and FP exception.36
mmx-fp-16alignThe SSE2 conversions CVTPD2PI and CVTTPD2PI from double precision to integers in an MMX register, which need an aligned 16-byte memory operand, as Intel's manual lists them among the legacy SIMD/MMX instructions with FP exception and 16-byte alignment.24

AMX

ClassSummaryMnemonicsForms
AMX-E1AMX-E1 is the class that Intel's table of AMX exception classes gives LDTILECFG: the invalid-opcode checks shared by all AMX instructions, a general-protection fault for a tile configuration the processor rejects, and the faults of reading the 64-byte configuration from memory.11
AMX-E1-EVEXAMX-E1-EVEX is the ISE's and the APX specification's class for LDTILECFG in its EVEX encoding: all of AMX-E1, plus invalid-opcode checks on the EVEX fields that the instruction leaves unused.11
AMX-E2AMX-E2 is the class that Intel's table of AMX exception classes gives STTILECFG: the invalid-opcode checks shared by all AMX instructions and the faults of writing the 64-byte configuration to memory.11
AMX-E2-EVEXAMX-E2-EVEX is the ISE's and the APX specification's class for STTILECFG in its EVEX encoding: all of AMX-E2, plus invalid-opcode checks on the EVEX fields that the instruction leaves unused.11
AMX-E3AMX-E3 is the class that Intel's table of AMX exception classes gives the tile loads and stores: the shared AMX checks, a configured and valid tile, SIB addressing, the faults of the memory rows and #NM when extended feature disable blocks the tile data.55
AMX-E3-EVEXAMX-E3-EVEX is the ISE's and the APX specification's class for the tile loads and stores in their EVEX encoding: all of AMX-E3, plus invalid-opcode checks on the EVEX fields they leave unused.55
AMX-E4AMX-E4 is the class that Intel's table of AMX exception classes gives the tile matrix multiplications: the shared AMX checks, three distinct and valid tiles whose shapes fit a multiplication within the matrix unit's limits, and #NM when extended feature disable blocks the tile data.1212
AMX-E5AMX-E5 is the class that Intel's table of AMX exception classes gives TILEZERO: the shared AMX checks, a configured and valid destination tile, and #NM when extended feature disable blocks the tile data.11
AMX-E6AMX-E6 is the class that Intel's table of AMX exception classes gives TILERELEASE, which only makes the checks shared by all AMX instructions.11
AMX-E7-EVEXAMX-E7-EVEX is the ISE's AMX exception class for the AMX-AVX512 instructions that move a tile row, selected by an immediate, into a ZMM register (converting it in the TCVTROW forms): the AMX and AVX-512 enabling checks, a configured source tile, fixed EVEX fields, and #NM from CR0.TS or extended feature disable.66
AMX-E8-EVEXAMX-E8-EVEX is the ISE's AMX exception class for the AMX-AVX512 instructions that move a tile row, selected by a general-purpose register, into a ZMM register: the checks of AMX-E7-EVEX, except that EVEX.vvvv names that register.66

ACE

ClassSummaryMnemonicsForms
ACE-E1ACE-E1 is the ACE specification's exception class for its tile moves with an immediate row or column number: the AMX, ACE and AVX-512 enabling checks, a configured and valid tile, fixed EVEX fields, and #NM from CR0.TS or extended feature disable.22
ACE-E2ACE-E2 is the ACE specification's exception class for BSRMOVF, which loads the whole block scale register: the ACE enabling checks, a loaded tile configuration, bsr0 as the only destination, #NM from CR0.TS or extended feature disable, and the faults of an optional memory source.12
ACE-E3ACE-E3 is the ACE specification's exception class for BSRMOVH and BSRMOVL, which move one half of the block scale register to or from a ZMM register or memory: the checks of ACE-E2 plus an unused EVEX.vvvv.28
ACE-E4ACE-E4 is the ACE specification's exception class for the outer products, which accumulate the outer product of two ZMM registers into a tile: the ACE and AVX-512 enabling checks, a configured and valid tile, fixed EVEX fields, and #NM from CR0.TS or extended feature disable.1010
ACE-E5ACE-E5 is the ACE specification's exception class for BSRINIT, which resets the block scale register: the tile and block scale enabling checks, a loaded tile configuration, bsr0 as the only operand, and #NM when extended feature disable blocks the tile data.11
ACE-E6ACE-E6 is the ACE specification's exception class for its tile moves with the row or column number in a general-purpose register: the checks of ACE-E1, except that EVEX.vvvv names that register.22

APX

ClassSummaryMnemonicsForms
APX-EVEX-BMIAPX-EVEX-BMI is the APX specification's exception class for the BMI1 and BMI2 instructions in their EVEX encoding, which APX adds so that they can use the registers R16 to R31 and, for some of them, leave the flags unchanged.1376
APX-EVEX-CCMPAPX-EVEX-CCMP is the APX specification's exception class for CCMPscc and CTESTscc, the conditional compare and test instructions that APX adds in EVEX map 4.220
APX-EVEX-CET-WRSSAPX-EVEX-CET-WRSS is the APX specification's exception class for WRSSD and WRSSQ in their EVEX encoding, which write to the shadow stack of the current privilege level.22
APX-EVEX-CET-WRUSSAPX-EVEX-CET-WRUSS is the APX specification's exception class for WRUSSD and WRUSSQ in their EVEX encoding, with which code at CPL 0 writes to a user shadow stack.22
APX-EVEX-CFCMOVAPX-EVEX-CFCMOV is the APX specification's exception class for CFCMOVcc, the conditionally faulting CMOVcc of EVEX map 4, whose memory faults and debug exceptions occur only when the condition is true.15
APX-EVEX-CMPCCXADDAPX-EVEX-CMPCCXADD is the APX specification's exception class for CMPccXADD in its EVEX encoding, which APX adds so that the instruction can use the registers R16 to R31.12
APX-EVEX-ENQCMDAPX-EVEX-ENQCMD is the APX specification's exception class for ENQCMD and ENQCMDS in their EVEX encoding, which send a 64-byte command to a device's enqueue register.22
APX-EVEX-INTAPX-EVEX-INT is the APX specification's exception class for the integer instructions that APX promotes from the legacy maps into EVEX map 4, for the registers R16 to R31, a new destination register (NDD), flag suppression (NF) and zero-upper forms (ZU).35617
APX-EVEX-INVEPTAPX-EVEX-INVEPT is the APX specification's exception class for INVEPT in its EVEX encoding, the VMX instruction that invalidates translations derived from extended page tables (EPT).11
APX-EVEX-INVPCIDAPX-EVEX-INVPCID is the APX specification's exception class for INVPCID in its EVEX encoding, which invalidates TLB entries by process-context identifier (PCID).11
APX-EVEX-INVVPIDAPX-EVEX-INVVPID is the APX specification's exception class for INVVPID in its EVEX encoding, the VMX instruction that invalidates translations by virtual-processor identifier (VPID).11
APX-EVEX-KMOVAPX-EVEX-KMOV is the APX specification's exception class for KMOVB, KMOVW, KMOVD and KMOVQ in their EVEX encoding, which APX adds so that the moves between mask registers and general-purpose registers or memory can use R16 to R31.420
APX-EVEX-MOVRSAPX-EVEX-MOVRS is the APX specification's exception class for MOVRS in its EVEX encoding, a load with a hint that other processors will read the same data.12
APX-EVEX-PP2APX-EVEX-PP2 is the APX specification's exception class for PUSH2 and POP2, which push or pop two 64-bit registers at once, and for their forms with the balanced push-pop hint.44
APX-EVEX-RAO-INTAPX-EVEX-RAO-INT is the APX specification's exception class for the remote atomic operations AADD, AAND, AOR and AXOR in their EVEX encoding, which APX adds so that they can use the registers R16 to R31.48
APX-LEGACY-JMPABSAPX-LEGACY-JMPABS is the APX specification's exception class for JMPABS, the 64-bit absolute direct jump that APX encodes with a REX2 prefix in legacy map 0.11

MSR instructions

ClassSummaryMnemonicsForms
MSR-IMM-VEXMSR-IMM-VEX is XED's name for the exceptions of the VEX-encoded forms of RDMSR and WRMSRNS that take the MSR address as an immediate, which Intel documents on the instruction pages rather than as a named class.22
MSR-IMM-EVEXMSR-IMM-EVEX is the APX specification's exception class for RDMSR and WRMSRNS with an immediate MSR address in their EVEX encoding, which lets the register operand be R16 to R31.22
USER-MSR-LEGACYUSER-MSR-LEGACY is XED's name for the exceptions of URDMSR and UWRMSR with the MSR address in a register, which Intel documents on the instruction pages rather than as a named class.22
USER-MSR-VEXUSER-MSR-VEX is XED's name for the exceptions of the VEX-encoded URDMSR and UWRMSR with an immediate MSR address, which Intel documents on the instruction pages rather than as a named class.22
USER-MSR-EVEXUSER-MSR-EVEX is the APX specification's exception class for URDMSR and UWRMSR in their EVEX encoding, with the MSR address in a register or an immediate and the registers R16 to R31 available.24

Other legacy-encoded instructions

ClassSummaryMnemonicsForms
LEGACY-RAO-INTLEGACY-RAO-INT is XED's name for the exceptions of the remote atomic operations AADD, AAND, AOR and AXOR in their legacy encoding, which the ISE lists on the instruction pages rather than as a named class.48
LEGACY-MOVRSLEGACY-MOVRS is the ISE's exception class Legacy-MOVRS of the MOVRS load in its legacy encoding: #UD outside 64-bit mode or with a LOCK or REP prefix, and the faults of an ordinary load.12
LEGACY-PREFETCHLEGACY-PREFETCH is XED's name for the exceptions of PREFETCHRST2, which the ISE lists on the instruction's page: #UD for a LOCK prefix, in every mode, and nothing else.11

Sources

  1. Intel 64 and IA-32 Architectures Software Developer's Manual, Volume 2 (325383-093, September 2026), Chapter 2: the exception classes of SSE, AVX and AVX-512 instructions
  2. Intel 64 and IA-32 Architectures Software Developer's Manual, Volume 3 (325384-093, September 2026), Section 2.5: CR0.TS
  3. Intel 64 and IA-32 Architectures Software Developer's Manual, Volume 1 (253665-093, September 2026), Sections 11.5.1 and 15.6.1: SIMD floating-point exceptions and masking
  4. Intel XED, the X86 Encoder Decoder