APX
APX-EVEX-CET-WRSS exception class
APX-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.
- Class
APX-EVEX-CET-WRSSin Intel XED- Applies to
- The EVEX encodings of WRSSD and WRSSQ (CET), in map 4.
- Instructions
- 2 mnemonics, 2 forms
- Data
- Intel XED v2026.08.23
Exception conditions
| Exception | Real | Virtual-8086 | Protected | 64-bit | Condition |
|---|---|---|---|---|---|
#UD | yes | yes | no | no | Always: the EVEX prefix raises #UD in real-address and virtual-8086 mode. |
#UD | no | no | yes | no | Always: EVEX map 4, where these instructions are, exists only in 64-bit mode. |
#UD | no | no | no | yes | XCR0 bit 19 (APX) or CR4.OSXSAVE is 0: the operating system has not enabled APX. |
#UD | no | no | no | yes | A bit of the last EVEX payload byte other than V4 is 1, or EVEX.V4 and EVEX.vvvv are not all 1s. |
#UD | no | no | no | yes | The destination is a register (ModRM.mod = 11B): it must be memory. |
#UD | no | no | no | yes | Shadow stacks are off: CR4.CET is 0, or SH_STK_EN is 0 in IA32_U_CET (at CPL 3) or IA32_S_CET (below CPL 3). |
#UD | no | no | no | yes | Writes to the shadow stack are not allowed: WR_SHSTK_EN is 0 in IA32_U_CET (at CPL 3) or IA32_S_CET (below CPL 3). |
#UD | no | no | no | yes | A LOCK, 66H, F2H, F3H or REX prefix comes before the EVEX prefix. |
#UD | no | no | no | yes | CPUID reports no APX_F, or no shadow-stack support (CET_SS). |
#GP(0) | no | no | no | yes | The memory address is not canonical. |
#GP(0) | no | no | no | yes | The destination is not 4-byte aligned. |
#PF(fault-code) | no | no | no | yes | The destination is not a shadow-stack page of the current kind: a user shadow stack at CPL 3, a supervisor one below CPL 3. |
#PF(fault-code) | no | no | no | yes | Any other page fault on the write. |
Notes
WRSSD and WRSSQ work only where the operating system has set WR_SHSTK_EN for the current privilege level, and they write only shadow-stack pages: an ordinary page as the destination causes a page fault rather than a write. The EVEX encoding adds access to R16 to R31.
Related classes
Instructions
Intel XED puts forms of 2 mnemonics in this class, listed here by extension. Where a mnemonic also has forms of other classes, its link leads to its first form of this one.
APX
Sources
- Intel Advanced Performance Extensions (Intel APX) Architecture Specification, revision 7.0 (July 2025): Section 4.2.6, Table 4.7.
- Intel 64 and IA-32 Architectures Software Developer's Manual, Volume 2 (325383-093, September 2026): WRSSD/WRSSQ, opcode table and 64-Bit Mode Exceptions.
- Intel XED v2026.08.23 (commit
0bcb6237345c): the exception class of each instruction form.
The list of instructions is derived from Intel XED, Copyright Intel Corporation, licensed under the Apache License 2.0; x86-64.net converted and reformatted it. The text is our own.