MMX
mmx-fp-16align exception class
The 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.
- Class
mmx-fp-16alignin Intel XED- Applies to
- The legacy forms of CVTPD2PI and CVTTPD2PI.
- Instructions
- 2 mnemonics, 4 forms
- Data
- Intel XED v2026.08.23
Exception conditions
| Exception | Real | Virtual-8086 | Protected | 64-bit | Condition |
|---|---|---|---|---|---|
#UD | yes | yes | yes | yes | A SIMD floating-point exception that MXCSR does not mask occurs while CR4.OSXMMEXCPT is 0, the setting for an operating system that does not handle #XM. |
#UD | yes | yes | yes | yes | CR0.EM is 1, or CR4.OSFXSR is 0: the operating system has not enabled SSE. |
#UD | yes | yes | yes | yes | The instruction has a LOCK prefix (F0). |
#UD | yes | yes | yes | yes | The processor lacks the instruction’s extension: its CPUID feature flag is 0. |
#MF | yes | yes | yes | yes | An unmasked x87 floating-point exception from an earlier x87 instruction is still pending. |
#NM | yes | yes | yes | yes | CR0.TS (task switched, bit 3) is 1. |
#SS(0) | no | no | yes | no | A memory operand addressed through SS lies outside the stack segment. |
#SS(0) | no | no | no | yes | A memory operand addressed through SS has a non-canonical address. |
#GP(0) | yes | yes | yes | yes | A 16-byte memory operand starts at an address that is not a multiple of 16. |
#GP(0) | no | no | yes | no | A memory operand in the CS, DS, ES, FS or GS segment has an effective address that the segment does not allow, such as one beyond its limit. |
#GP(0) | no | no | no | yes | A memory operand has a non-canonical address. |
#GP(0) | yes | yes | no | no | A memory operand extends past offset FFFFh of its segment. |
#PF(fault-code) | no | yes | yes | yes | Accessing a memory operand causes a page fault. |
#XM | yes | yes | yes | yes | A SIMD floating-point exception that MXCSR does not mask occurs, and CR4.OSXMMEXCPT is 1. |
Notes
Like mmx-fp, but the source is a 16-byte vector of two doubles, which must be aligned in memory like the operands of SSE_TYPE_2: a misaligned one raises #GP(0), and the class has no #AC.
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.
SSE2
Sources
- Intel 64 and IA-32 Architectures Software Developer's Manual, Volume 3 (325384-093, September 2026): Section 25.25.3, Table 25-4.
- Intel 64 and IA-32 Architectures Software Developer's Manual, Volume 2 (325383-093, September 2026): Section 2.5, the note on instructions that operate on MMX registers.
- 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.