Go to the source code of this file.
Defines |
| #define | _mm256_round_pd(V, M) |
| #define | _mm256_round_ps(V, M) |
| #define | _mm256_ceil_pd(V) _mm256_round_pd((V), _MM_FROUND_CEIL) |
| #define | _mm256_floor_pd(V) _mm256_round_pd((V), _MM_FROUND_FLOOR) |
| #define | _mm256_ceil_ps(V) _mm256_round_ps((V), _MM_FROUND_CEIL) |
| #define | _mm256_floor_ps(V) _mm256_round_ps((V), _MM_FROUND_FLOOR) |
| #define | _mm_permute_pd(A, C) |
| #define | _mm256_permute_pd(A, C) |
| #define | _mm_permute_ps(A, C) |
| #define | _mm256_permute_ps(A, C) |
| #define | _mm256_permute2f128_pd(V1, V2, M) |
| #define | _mm256_permute2f128_ps(V1, V2, M) |
| #define | _mm256_permute2f128_si256(V1, V2, M) |
| #define | _mm256_blend_pd(V1, V2, M) |
| #define | _mm256_blend_ps(V1, V2, M) |
| #define | _mm256_dp_ps(V1, V2, M) |
| #define | _mm256_shuffle_ps(a, b, mask) |
| #define | _mm256_shuffle_pd(a, b, mask) |
| #define | _CMP_EQ_OQ 0x00 |
| #define | _CMP_LT_OS 0x01 |
| #define | _CMP_LE_OS 0x02 |
| #define | _CMP_UNORD_Q 0x03 |
| #define | _CMP_NEQ_UQ 0x04 |
| #define | _CMP_NLT_US 0x05 |
| #define | _CMP_NLE_US 0x06 |
| #define | _CMP_ORD_Q 0x07 |
| #define | _CMP_EQ_UQ 0x08 |
| #define | _CMP_NGE_US 0x09 |
| #define | _CMP_NGT_US 0x0a |
| #define | _CMP_FALSE_OQ 0x0b |
| #define | _CMP_NEQ_OQ 0x0c |
| #define | _CMP_GE_OS 0x0d |
| #define | _CMP_GT_OS 0x0e |
| #define | _CMP_TRUE_UQ 0x0f |
| #define | _CMP_EQ_OS 0x10 |
| #define | _CMP_LT_OQ 0x11 |
| #define | _CMP_LE_OQ 0x12 |
| #define | _CMP_UNORD_S 0x13 |
| #define | _CMP_NEQ_US 0x14 |
| #define | _CMP_NLT_UQ 0x15 |
| #define | _CMP_NLE_UQ 0x16 |
| #define | _CMP_ORD_S 0x17 |
| #define | _CMP_EQ_US 0x18 |
| #define | _CMP_NGE_UQ 0x19 |
| #define | _CMP_NGT_UQ 0x1a |
| #define | _CMP_FALSE_OS 0x1b |
| #define | _CMP_NEQ_OS 0x1c |
| #define | _CMP_GE_OQ 0x1d |
| #define | _CMP_GT_OQ 0x1e |
| #define | _CMP_TRUE_US 0x1f |
| #define | _mm_cmp_pd(a, b, c) |
| #define | _mm_cmp_ps(a, b, c) |
| #define | _mm256_cmp_pd(a, b, c) |
| #define | _mm256_cmp_ps(a, b, c) |
| #define | _mm_cmp_sd(a, b, c) |
| #define | _mm_cmp_ss(a, b, c) |
| #define | _mm256_extractf128_pd(A, O) |
| #define | _mm256_extractf128_ps(A, O) |
| #define | _mm256_extractf128_si256(A, O) |
| #define | _mm256_insertf128_pd(V1, V2, O) |
| #define | _mm256_insertf128_ps(V1, V2, O) |
| #define | _mm256_insertf128_si256(V1, V2, O) |
Typedefs |
| typedef double __v4df | __attribute__ ((__vector_size__(32))) |
Functions |
| static __inline __m256d | __attribute__ ((__always_inline__, __nodebug__)) _mm256_add_pd(__m256d a |
Define Documentation
| #define _CMP_FALSE_OQ 0x0b |
| #define _CMP_FALSE_OS 0x1b |
| #define _CMP_TRUE_UQ 0x0f |
| #define _CMP_TRUE_US 0x1f |
| #define _CMP_UNORD_Q 0x03 |
| #define _CMP_UNORD_S 0x13 |
| #define _mm256_blend_pd |
( |
|
V1, |
|
|
|
V2, |
|
|
|
M |
|
) |
| |
Value:__extension__ ({ \
__m256d __V1 = (V1); \
__m256d __V2 = (V2); \
(__m256d)__builtin_ia32_blendpd256((__v4df)__V1, (__v4df)__V2, (M)); })
| #define _mm256_blend_ps |
( |
|
V1, |
|
|
|
V2, |
|
|
|
M |
|
) |
| |
Value:__extension__ ({ \
__m256 __V1 = (V1); \
__m256 __V2 = (V2); \
(__m256)__builtin_ia32_blendps256((__v8sf)__V1, (__v8sf)__V2, (M)); })
| #define _mm256_ceil_pd |
( |
|
V | ) |
_mm256_round_pd((V), _MM_FROUND_CEIL) |
| #define _mm256_ceil_ps |
( |
|
V | ) |
_mm256_round_ps((V), _MM_FROUND_CEIL) |
| #define _mm256_cmp_pd |
( |
|
a, |
|
|
|
b, |
|
|
|
c |
|
) |
| |
Value:__extension__ ({ \
__m256d __a = (a); \
__m256d __b = (b); \
(__m256d)__builtin_ia32_cmppd256((__v4df)__a, (__v4df)__b, (c)); })
| #define _mm256_cmp_ps |
( |
|
a, |
|
|
|
b, |
|
|
|
c |
|
) |
| |
Value:__extension__ ({ \
__m256 __a = (a); \
__m256 __b = (b); \
(__m256)__builtin_ia32_cmpps256((__v8sf)__a, (__v8sf)__b, (c)); })
| #define _mm256_dp_ps |
( |
|
V1, |
|
|
|
V2, |
|
|
|
M |
|
) |
| |
Value:__extension__ ({ \
__m256 __V1 = (V1); \
__m256 __V2 = (V2); \
(__m256)__builtin_ia32_dpps256((__v8sf)__V1, (__v8sf)__V2, (M)); })
| #define _mm256_extractf128_pd |
( |
|
A, |
|
|
|
O |
|
) |
| |
Value:__extension__ ({ \
__m256d __A = (A); \
(__m128d)__builtin_ia32_vextractf128_pd256((__v4df)__A, (O)); })
| #define _mm256_extractf128_ps |
( |
|
A, |
|
|
|
O |
|
) |
| |
Value:__extension__ ({ \
__m256 __A = (A); \
(__m128)__builtin_ia32_vextractf128_ps256((__v8sf)__A, (O)); })
| #define _mm256_extractf128_si256 |
( |
|
A, |
|
|
|
O |
|
) |
| |
Value:__extension__ ({ \
__m256i __A = (A); \
(__m128i)__builtin_ia32_vextractf128_si256((__v8si)__A, (O)); })
| #define _mm256_floor_pd |
( |
|
V | ) |
_mm256_round_pd((V), _MM_FROUND_FLOOR) |
| #define _mm256_floor_ps |
( |
|
V | ) |
_mm256_round_ps((V), _MM_FROUND_FLOOR) |
| #define _mm256_insertf128_pd |
( |
|
V1, |
|
|
|
V2, |
|
|
|
O |
|
) |
| |
Value:__extension__ ({ \
__m256d __V1 = (V1); \
__m128d __V2 = (V2); \
(__m256d)__builtin_ia32_vinsertf128_pd256((__v4df)__V1, (__v2df)__V2, (O)); })
| #define _mm256_insertf128_ps |
( |
|
V1, |
|
|
|
V2, |
|
|
|
O |
|
) |
| |
Value:__extension__ ({ \
__m256 __V1 = (V1); \
__m128 __V2 = (V2); \
(__m256)__builtin_ia32_vinsertf128_ps256((__v8sf)__V1, (__v4sf)__V2, (O)); })
| #define _mm256_insertf128_si256 |
( |
|
V1, |
|
|
|
V2, |
|
|
|
O |
|
) |
| |
Value:__extension__ ({ \
__m256i __V1 = (V1); \
__m128i __V2 = (V2); \
(__m256i)__builtin_ia32_vinsertf128_si256((__v8si)__V1, (__v4si)__V2, (O)); })
| #define _mm256_permute2f128_pd |
( |
|
V1, |
|
|
|
V2, |
|
|
|
M |
|
) |
| |
Value:__extension__ ({ \
__m256d __V1 = (V1); \
__m256d __V2 = (V2); \
(__m256d)__builtin_ia32_vperm2f128_pd256((__v4df)__V1, (__v4df)__V2, (M)); })
| #define _mm256_permute2f128_ps |
( |
|
V1, |
|
|
|
V2, |
|
|
|
M |
|
) |
| |
Value:__extension__ ({ \
__m256 __V1 = (V1); \
__m256 __V2 = (V2); \
(__m256)__builtin_ia32_vperm2f128_ps256((__v8sf)__V1, (__v8sf)__V2, (M)); })
| #define _mm256_permute2f128_si256 |
( |
|
V1, |
|
|
|
V2, |
|
|
|
M |
|
) |
| |
Value:__extension__ ({ \
__m256i __V1 = (V1); \
__m256i __V2 = (V2); \
(__m256i)__builtin_ia32_vperm2f128_si256((__v8si)__V1, (__v8si)__V2, (M)); })
| #define _mm256_permute_pd |
( |
|
A, |
|
|
|
C |
|
) |
| |
Value:__extension__ ({ \
__m256d __A = (A); \
(__m256d)__builtin_shufflevector((__v4df)__A, (__v4df) _mm256_setzero_pd(), \
(C) & 0x1, ((C) & 0x2) >> 1, \
2 + (((C) & 0x4) >> 2), \
2 + (((C) & 0x8) >> 3)); })
| #define _mm256_permute_ps |
( |
|
A, |
|
|
|
C |
|
) |
| |
Value:__extension__ ({ \
__m256 __A = (A); \
(__m256)__builtin_shufflevector((__v8sf)__A, (__v8sf) _mm256_setzero_ps(), \
(C) & 0x3, ((C) & 0xc) >> 2, \
((C) & 0x30) >> 4, ((C) & 0xc0) >> 6, \
4 + (((C) & 0x03) >> 0), \
4 + (((C) & 0x0c) >> 2), \
4 + (((C) & 0x30) >> 4), \
4 + (((C) & 0xc0) >> 6)); })
| #define _mm256_round_pd |
( |
|
V, |
|
|
|
M |
|
) |
| |
Value:__extension__ ({ \
__m256d __V = (V); \
(__m256d)__builtin_ia32_roundpd256((__v4df)__V, (M)); })
| #define _mm256_round_ps |
( |
|
V, |
|
|
|
M |
|
) |
| |
Value:__extension__ ({ \
__m256 __V = (V); \
(__m256)__builtin_ia32_roundps256((__v8sf)__V, (M)); })
| #define _mm256_shuffle_pd |
( |
|
a, |
|
|
|
b, |
|
|
|
mask |
|
) |
| |
Value:__extension__ ({ \
__m256d __a = (a); \
__m256d __b = (b); \
(__m256d)__builtin_shufflevector((__v4df)__a, (__v4df)__b, \
(mask) & 0x1, \
(((mask) & 0x2) >> 1) + 4, \
(((mask) & 0x4) >> 2) + 2, \
(((mask) & 0x8) >> 3) + 6); })
| #define _mm256_shuffle_ps |
( |
|
a, |
|
|
|
b, |
|
|
|
mask |
|
) |
| |
Value:__extension__ ({ \
__m256 __a = (a); \
__m256 __b = (b); \
(__m256)__builtin_shufflevector((__v8sf)__a, (__v8sf)__b, \
(mask) & 0x3, ((mask) & 0xc) >> 2, \
(((mask) & 0x30) >> 4) + 8, (((mask) & 0xc0) >> 6) + 8, \
((mask) & 0x3) + 4, (((mask) & 0xc) >> 2) + 4, \
(((mask) & 0x30) >> 4) + 12, (((mask) & 0xc0) >> 6) + 12); })
| #define _mm_cmp_pd |
( |
|
a, |
|
|
|
b, |
|
|
|
c |
|
) |
| |
Value:__extension__ ({ \
__m128d __a = (a); \
__m128d __b = (b); \
(__m128d)__builtin_ia32_cmppd((__v2df)__a, (__v2df)__b, (c)); })
| #define _mm_cmp_ps |
( |
|
a, |
|
|
|
b, |
|
|
|
c |
|
) |
| |
Value:__extension__ ({ \
__m128 __a = (a); \
__m128 __b = (b); \
(__m128)__builtin_ia32_cmpps((__v4sf)__a, (__v4sf)__b, (c)); })
| #define _mm_cmp_sd |
( |
|
a, |
|
|
|
b, |
|
|
|
c |
|
) |
| |
Value:__extension__ ({ \
__m128d __a = (a); \
__m128d __b = (b); \
(__m128d)__builtin_ia32_cmpsd((__v2df)__a, (__v2df)__b, (c)); })
| #define _mm_cmp_ss |
( |
|
a, |
|
|
|
b, |
|
|
|
c |
|
) |
| |
Value:__extension__ ({ \
__m128 __a = (a); \
__m128 __b = (b); \
(__m128)__builtin_ia32_cmpss((__v4sf)__a, (__v4sf)__b, (c)); })
| #define _mm_permute_pd |
( |
|
A, |
|
|
|
C |
|
) |
| |
Value:__extension__ ({ \
__m128d __A = (A); \
(__m128d)__builtin_shufflevector((__v2df)__A, (__v2df) _mm_setzero_pd(), \
(C) & 0x1, ((C) & 0x2) >> 1); })
| #define _mm_permute_ps |
( |
|
A, |
|
|
|
C |
|
) |
| |
Value:__extension__ ({ \
__m128 __A = (A); \
(__m128)__builtin_shufflevector((__v4sf)__A, (__v4sf) _mm_setzero_ps(), \
(C) & 0x3, ((C) & 0xc) >> 2, \
((C) & 0x30) >> 4, ((C) & 0xc0) >> 6); })
Typedef Documentation
| static __inline__ __m64 __attribute__ |
Function Documentation
| static __inline __m256d __attribute__ |
( |
(__always_inline__, __nodebug__) |
| ) |
[static] |