Opcode | Encoding | 16-bit | 32-bit | 64-bit | CPUID Feature Flag(s) | Description |
---|---|---|---|---|---|---|
66 0F 2D /r CVTPD2PI mm1, xmm1/m128 | rm | Invalid | Valid | Valid | sse2 mmx | Convert packed double-precision floating-point values from xmm1/m128 into packed doubleword integers. Store the result in mm1. |
Encoding
Encoding | Operand 1 | Operand 2 |
---|---|---|
rm | ModRM.reg[w] | ModRM.r/m[r] |
Description
The CVTPD2PI
instruction converts two packed double-precision floating-point values from the source operand into doubleword integer. The result is stored in the destination operand.
Operation
public void CVTPD2PI(MmxI32 dest, SimdF64 src)
{
dest[0] = ConvertToI32(src[0]);
dest[1] = ConvertToI32(src[1]);
}
Intrinsics
__m64 _mm_cvtpd_pi32(__m128d a)
Exceptions
SIMD Floating-Point
#XM
#I
- Invalid operation.#P
- Inexact result.