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