Opcode | Encoding | 16-bit | 32-bit | 64-bit | CPUID Feature Flag(s) | Description |
---|---|---|---|---|---|---|
NP 0F 2D /r CVTPS2PI mm1, xmm1/m64 | rm | Invalid | Valid | Valid | sse2 mmx | Convert packed single-precision floating-point values from xmm1/m64 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 CVTPS2PI
instruction converts two packed single-precision floating-point values from the source operand into packed doubleword integers. The result is stored in the destination operand.
Operation
public void CVTPS2PI(MmxI32 dest, SimdF32 src)
{
dest[0] = ConvertToI32(src[0]);
dest[1] = ConvertToI32(src[1]);
}
Intrinsics
__m64 _mm_cvtps_pi32(__m128 a)
Exceptions
SIMD Floating-Point
#XM
#I
- Invalid operation.#P
- Inexact result.