C-3
COMPILER INTRINSICS AND FUNCTIONAL EQUIVALENTS
COMISSint _mm_comieq_ss(__m128 a, __m128 b)
Compares the lower SP FP value of a and
b for a equal to b. If a and b are equal, 1 is
returned. Otherwise 0 is returned.
int _mm_comilt_ss(__m128 a, __m128 b)
Compares the lower SP FP value of a and
b for a less than b. If a is less than b, 1 is
returned. Otherwise 0 is returned.
int _mm_comile_ss(__m128 a, __m128 b)
Compares the lower SP FP value of a and
b for a less than or equal to b. If a is less
than or equal to b, 1 is returned. Otherwise
0 is returned.
int _mm_comigt_ss(__m128 a, __m128 b)
Compares the lower SP FP value of a and
b for a greater than b. If a is greater than b
are equal, 1 is returned. Otherwise 0 is
returned.
int _mm_comige_ss(__m128 a, __m128 b)
Compares the lower SP FP value of a and
b for a greater than or equal to b. If a is
greater than or equal to b, 1 is returned.
Otherwise 0 is returned.
int _mm_comineq_ss(__m128 a, __m128 b)
Compares the lower SP FP value of a and
b for a not equal to b. If a and b are not
equal, 1 is returned. Otherwise 0 is
returned.
CVTPI2PS__m128 _mm_cvt_pi2ps(__m128 a, __m64 b)
__m128 _mm_cvtpi32_ps(__m128 a, __m64b)
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.
CVTPS2PI__m64 _mm_cvt_ps2pi(__m128 a)
__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.
CVTSI2SS__m128 _mm_cvt_si2ss(__m128 a, int b)
__m128 _mm_cvtsi32_ss(__m128a, 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.
CVTSS2SIint _mm_cvt_ss2si(__m128 a)
int _mm_cvtss_si32(__m128 a)
Convert the lower SP FP value of a to a 32-
bit integer with truncation.
CVTTPS2PI__m64 _mm_cvtt_ps2pi(__m128 a)
__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.
CVTTSS2SIint _mm_cvtt_ss2si(__m128 a)
int _mm_cvttss_si32(__m128 a)
Convert the lower SP FP value of a to a 32-
bit integer according to the current rounding
mode.
__m64 _m_from_int(int i)
__m64 _mm_cvtsi32_si64(int i)
Convert the integer object i to a 64-bit
__m64 object. The integer value is zero
extended to 64 bits.
int _m_to_int(__m64 m)
int _mm_cvtsi64_si32(__m64 m)
Convert the lower 32 bits of the __m64
object m to an integer.
DIVPS
__m128 _mm_div_ps(__m128 a, __m128 b)
Divides the four SP FP values of a and b.
DIVSS
__m128 _mm_div_ss(__m128 a, __m128 b)
Divides the lower SP FP values of a and b;
the upper three SP FP values are passed
through from a.
EMMS
void _m_empty()
void _mm_empty()
Clears the MMX technology state.
Table C-1. Simple Intrinsics
Mnemonic
Intrinsic
Description