23 #if defined (_M_CEE_PURE)
24 #error ERROR: EMM intrinsics not supported in the pure mode!
34 #define _MM_FROUND_TO_NEAREST_INT 0x00
35 #define _MM_FROUND_TO_NEG_INF 0x01
36 #define _MM_FROUND_TO_POS_INF 0x02
37 #define _MM_FROUND_TO_ZERO 0x03
38 #define _MM_FROUND_CUR_DIRECTION 0x04
40 #define _MM_FROUND_RAISE_EXC 0x00
41 #define _MM_FROUND_NO_EXC 0x08
43 #define _MM_FROUND_NINT _MM_FROUND_TO_NEAREST_INT | _MM_FROUND_RAISE_EXC
44 #define _MM_FROUND_FLOOR _MM_FROUND_TO_NEG_INF | _MM_FROUND_RAISE_EXC
45 #define _MM_FROUND_CEIL _MM_FROUND_TO_POS_INF | _MM_FROUND_RAISE_EXC
46 #define _MM_FROUND_TRUNC _MM_FROUND_TO_ZERO | _MM_FROUND_RAISE_EXC
47 #define _MM_FROUND_RINT _MM_FROUND_CUR_DIRECTION | _MM_FROUND_RAISE_EXC
48 #define _MM_FROUND_NEARBYINT _MM_FROUND_CUR_DIRECTION | _MM_FROUND_NO_EXC
54 #define _mm_ceil_pd(val) _mm_round_pd((val), _MM_FROUND_CEIL)
55 #define _mm_ceil_sd(dst, val) _mm_round_sd((dst), (val), _MM_FROUND_CEIL)
57 #define _mm_floor_pd(val) _mm_round_pd((val), _MM_FROUND_FLOOR)
58 #define _mm_floor_sd(dst, val) _mm_round_sd((dst), (val), _MM_FROUND_FLOOR)
60 #define _mm_ceil_ps(val) _mm_round_ps((val), _MM_FROUND_CEIL)
61 #define _mm_ceil_ss(dst, val) _mm_round_ss((dst), (val), _MM_FROUND_CEIL)
63 #define _mm_floor_ps(val) _mm_round_ps((val), _MM_FROUND_FLOOR)
64 #define _mm_floor_ss(dst, val) _mm_round_ss((dst), (val), _MM_FROUND_FLOOR)
66 #define _mm_test_all_zeros(mask, val) _mm_testz_si128((mask), (val))
72 #define _mm_test_all_ones(val) \
73 _mm_testc_si128((val), _mm_cmpeq_epi32((val),(val)))
75 #define _mm_test_mix_ones_zeros(mask, val) _mm_testnzc_si128((mask), (val))
160 #define _MM_MK_INSERTPS_NDX(srcField, dstField, zeroMask) \
161 (((srcField)<<6) | ((dstField)<<4) | (zeroMask))
171 #define _MM_EXTRACT_FLOAT(dest, src, ndx) \
172 *((int*)&(dest)) = _mm_extract_ps((src), (ndx))
177 #define _MM_PICK_OUT_PS(src, num) \
178 _mm_insert_ps(_mm_setzero_ps(), (src), \
179 _MM_MK_INSERTPS_NDX((num), 0, 0x0e))
188 extern __m128i _mm_insert_epi64(
__m128i dst, __int64 s,
const int ndx);
197 extern __int64 _mm_extract_epi64(
__m128i src,
const int ndx);
251 #if defined __cplusplus
__m128d _mm_round_sd(__m128d dst, __m128d val, int iRoundMode)
__m128 _mm_insert_ps(__m128 dst, __m128 src, const int ndx)
__m128 _mm_dp_ps(__m128 val1, __m128 val2, const int mask)
__m128i _mm_cvtepi32_epi64(__m128i intValues)
__m128i _mm_minpos_epu16(__m128i shortValues)
__m128i _mm_cvtepi8_epi16(__m128i byteValues)
__m128i _mm_cvtepu32_epi64(__m128i intValues)
__m128i _mm_min_epu32(__m128i val1, __m128i val2)
__m128i _mm_blendv_epi8(__m128i v1, __m128i v2, __m128i mask)
__m128d _mm_dp_pd(__m128d val1, __m128d val2, const int mask)
__m128 _mm_blendv_ps(__m128 v1, __m128 v2, __m128 v3)
__m128d
Definition: emmintrin.h:48
__m128i _mm_stream_load_si128(__m128i *v1)
__m128 _mm_round_ss(__m128 dst, __m128 val, int iRoundMode)
__m128i _mm_cvtepi16_epi32(__m128i shortValues)
__m128 _mm_blend_ps(__m128 v1, __m128 v2, const int mask)
int _mm_testnzc_si128(__m128i mask, __m128i s2)
__m128 _mm_round_ps(__m128 val, int iRoundMode)
__m128i _mm_cvtepu8_epi16(__m128i byteValues)
__m128i _mm_min_epi32(__m128i val1, __m128i val2)
__m128i _mm_max_epu32(__m128i val1, __m128i val2)
int _mm_extract_epi32(__m128i src, const int ndx)
__m128i _mm_cvtepu16_epi32(__m128i shortValues)
int _mm_extract_epi8(__m128i src, const int ndx)
__m128i _mm_cvtepi8_epi32(__m128i byteValues)
__m128i _mm_cvtepu8_epi64(__m128i shortValues)
__m128d _mm_round_pd(__m128d val, int iRoundMode)
__m128i _mm_insert_epi32(__m128i dst, int s, const int ndx)
__m128i _mm_min_epi8(__m128i val1, __m128i val2)
__m128i _mm_mul_epi32(__m128i a, __m128i b)
__m128i
Definition: emmintrin.h:44
__m128
Definition: xmmintrin.h:70
__m128i _mm_mullo_epi32(__m128i a, __m128i b)
__m128i _mm_cmpeq_epi64(__m128i val1, __m128i val2)
__m128i _mm_max_epi8(__m128i val1, __m128i val2)
__m128i _mm_blend_epi16(__m128i v1, __m128i v2, const int mask)
int _mm_extract_ps(__m128 src, const int ndx)
__m128d _mm_blend_pd(__m128d v1, __m128d v2, const int mask)
__m128i _mm_min_epu16(__m128i val1, __m128i val2)
__m128i _mm_cvtepu8_epi32(__m128i byteValues)
__m128i _mm_cvtepi16_epi64(__m128i shortValues)
__m128d _mm_blendv_pd(__m128d v1, __m128d v2, __m128d v3)
__m128i _mm_max_epi32(__m128i val1, __m128i val2)
int _mm_testc_si128(__m128i mask, __m128i val)
__m128i _mm_cvtepu16_epi64(__m128i shortValues)
__m128i _mm_max_epu16(__m128i val1, __m128i val2)
int _mm_testz_si128(__m128i mask, __m128i val)
__m128i _mm_insert_epi8(__m128i dst, int s, const int ndx)
__m128i _mm_packus_epi32(__m128i val1, __m128i val2)
__m128i _mm_mpsadbw_epu8(__m128i s1, __m128i s2, const int msk)
__m128i _mm_cvtepi8_epi64(__m128i byteValues)