To see the details about an intrinsic, click on that intrinsic name in the following table.
The results of each intrinsic operation are placed in a register. This register is illustrated for each intrinsic with R or R0-R3. R0, R1, R2 and R3 each represent one of the 4 32-bit pieces of the result register.
To see detailed information about an intrinsic, click on that intrinsic name in the following table.
The prototypes for Streaming SIMD Extensions (SSE) intrinsics are in the xmmintrin.h header file.
Intrinsic Name |
Operation | Corresponding SSE Instruction |
---|---|---|
_mm_cvtss_si32 | Convert to 32-bit integer | CVTSS2SI |
_mm_cvtss_si64 | Convert to 64-bit integer | CVTSS2SI |
_mm_cvtps_pi32 | Convert to two 32-bit integers | CVTPS2PI |
_mm_cvttss_si32 | Convert to 32-bit integer | CVTTSS2SI |
_mm_cvttss_si64 | Convert to 64-bit integer | CVTTSS2SI |
_mm_cvttps_pi32 | Convert to two 32-bit integers | CVTTPS2PI |
_mm_cvtsi32_ss | Convert from 32-bit integer | CVTSI2SS |
_mm_cvtsi64_ss | Convert from 64-bit integer | CVTSI2SS |
_mm_cvtpi32_ps | Convert from two 32-bit integers | CVTTPI2PS |
_mm_cvtpi16_ps | Convert from four 16-bit integers | composite |
_mm_cvtpu16_ps | Convert from four 16-bit integers |
composite |
_mm_cvtpi8_ps | Convert from four 8-bit integers | composite |
_mm_cvtpu8_ps | Convert from four 8-bit integers | composite |
_mm_cvtpi32x2_ps | Convert from four 32-bit integers | composite |
_mm_cvtps_pi16 | Convert to four 16-bit integers | composite |
_mm_cvtps_pi8 | Convert to four 8-bit integers | composite |
_mm_cvtss_f32 | Extract | composite |
int _mm_cvtss_si32(__m128 a)
Convert the lower SP FP value of a to a 32-bit integer according to the current rounding mode.
R |
---|
(int)a0 |
R |
---|
(__int64)a0 |
__m64 _mm_cvtps_pi32(__m128 a)
Convert the two lower SP FP values of a to two 32-bit integers according to the current rounding mode, returning the integers in packed form.
R0 | R1 |
---|---|
(int)a0 | (int)a1 |
R |
---|
(int)a0 |
R |
---|
(__int64)a0 |
__m64 _mm_cvttps_pi32(__m128 a)
Convert the two lower SP FP values of a to two 32-bit integer with truncation, returning the integers in packed form.
R0 | R1 |
---|---|
(int)a0 | (int)a1 |
__m128 _mm_cvtsi32_ss(__m128 a, int b)
Convert the 32-bit integer value b to an SP FP value; the upper three SP FP values are passed through from a.
R0 | R1 | R2 | R3 |
---|---|---|---|
(float)b | a1 | a2 | a3 |
__m128 _mm_cvtsi64_ss(__m128 a, __int64 b)
Convert the signed 64-bit integer value b to an SP FP value; the upper three SP FP values are passed through from a.
R0 | R1 | R2 | R3 |
---|---|---|---|
(float)b | a1 | a2 | a3 |
__m128 _mm_cvtpi32_ps(__m128 a, __m64 b)
Convert the two 32-bit integer values in packed form in b to two SP FP values; the upper two SP FP values are passed through from a.
R0 | R1 | R2 | R3 |
---|---|---|---|
(float)b0 | (float)b1 | a2 | a3 |
__m128 _mm_cvtpi16_ps(__m64 a)
Convert the four 16-bit signed integer values in a to four single precision FP values.
R0 | R1 | R2 | R3 |
---|---|---|---|
(float)a0 | (float)a1 | (float)a2 | (float)a3 |
__m128 _mm_cvtpu16_ps(__m64 a)
Convert the four 16-bit unsigned integer values in a to four single precision FP values.
R0 | R1 | R2 | R3 |
---|---|---|---|
(float)a0 | (float)a1 | (float)a2 | (float)a3 |
__m128 _mm_cvtpi8_ps(__m64 a)
Convert the lower four 8-bit signed integer values in a to four single precision FP values.
R0 | R1 | R2 | R3 |
---|---|---|---|
(float)a0 | (float)a1 | (float)a2 | (float)a3 |
__m128 _mm_cvtpu8_ps(__m64 a)
Convert the lower four 8-bit unsigned integer values in a to four single precision FP values.
R0 | R1 | R2 | R3 |
---|---|---|---|
(float)a0 | (float)a1 | (float)a2 | (float)a3 |
__m128 _mm_cvtpi32x2_ps(__m64 a, __m64 b)
Convert the two 32-bit signed integer values in a and the two 32-bit signed integer values in b to four single precision FP values.
R0 | R1 | R2 | R3 |
---|---|---|---|
(float)a0 | (float)a1 | (float)b0 | (float)b1 |
__m64 _mm_cvtps_pi16(__m128 a)
Convert the four single precision FP values in a to four signed 16-bit integer values.
R0 | R1 | R2 | R3 |
---|---|---|---|
(short)a0 | (short)a1 | (short)a2 | (short)a3 |
__m64 _mm_cvtps_pi8(__m128 a)
Convert the four single precision FP values in a to the lower four signed 8-bit integer values of the result.
R0 | R1 | R2 | R3 |
---|---|---|---|
(char)a0 | (char)a1 | (char)a2 | (char)a3 |
float _mm_cvtss_f32(__m128 a)
This intrinsic extracts a single precision floating point value from the first vector element of an __m128. It does so in the most effecient manner possible in the context used.