|
#define | foreach_avx2_vec256i _(i,8,32,epi8) _(i,16,16,epi16) _(i,32,8,epi32) _(i,64,4,epi64) |
|
#define | foreach_avx2_vec256u _(u,8,32,epi8) _(u,16,16,epi16) _(u,32,8,epi32) _(u,64,4,epi64) |
|
#define | foreach_avx2_vec256f _(f,32,8,ps) _(f,64,4,pd) |
|
#define | u8x32_align_right(a, b, imm) (u8x32) _mm256_alignr_epi8 ((__m256i) a, (__m256i) b, imm) |
|
#define | u32x8_blend(a, b, m) (u32x8) _mm256_blend_epi32 ((__m256i) a, (__m256i) b, m) |
|
#define | u16x16_blend(v1, v2, mask) (u16x16) _mm256_blend_epi16 ((__m256i) (v1), (__m256i) (v2), mask) |
|
#define | u32x8_permute_lanes(a, b, m) (u32x8) _mm256_permute2x128_si256 ((__m256i) a, (__m256i) b, m) |
|
#define | u64x4_permute_lanes(a, b, m) (u64x4) _mm256_permute2x128_si256 ((__m256i) a, (__m256i) b, m) |
|
|
foreach_avx2_vec256i static foreach_avx2_vec256u u32x8 | u32x8_permute (u32x8 v, u32x8 idx) |
|
u16x16 u64x4 static_always_inline u32 | u8x32_msb_mask (u8x32 v) |
|
epu16_epi64 epu8_epi64 epu8_epi64 epi16_epi64 epi8_epi64 epi8_epi64 static_always_inline u64x4 | u64x4_byte_swap (u64x4 v) |
|
static_always_inline u32x8 | u32x8_byte_swap (u32x8 v) |
|
static_always_inline u16x16 | u16x16_byte_swap (u16x16 v) |
|
static_always_inline u8x32 | u8x32_shuffle (u8x32 v, u8x32 m) |
|
static_always_inline u32 | u32x8_sum_elts (u32x8 sum8) |
|
static_always_inline u32x8 | u32x8_hadd (u32x8 v1, u32x8 v2) |
|
static_always_inline u16x16 | u16x16_mask_last (u16x16 v, u8 n_last) |
|
static_always_inline f32x8 | f32x8_from_u32x8 (u32x8 v) |
|
static_always_inline u32x8 | u32x8_from_f32x8 (f32x8 v) |
|
static_always_inline u64x4 | u64x4_gather (void *p0, void *p1, void *p2, void *p3) |
|
static_always_inline u32x8 | u32x8_gather (void *p0, void *p1, void *p2, void *p3, void *p4, void *p5, void *p6, void *p7) |
|
static_always_inline void | u64x4_scatter (u64x4 r, void *p0, void *p1, void *p2, void *p3) |
|
static_always_inline void | u32x8_scatter (u32x8 r, void *p0, void *p1, void *p2, void *p3, void *p4, void *p5, void *p6, void *p7) |
|
static_always_inline void | u64x4_scatter_one (u64x4 r, int index, void *p) |
|
static_always_inline void | u32x8_scatter_one (u32x8 r, int index, void *p) |
|
static_always_inline u8x32 | u8x32_is_greater (u8x32 v1, u8x32 v2) |
|
static_always_inline u8x32 | u8x32_blend (u8x32 v1, u8x32 v2, u8x32 mask) |
|
static_always_inline u32x8 | u32x8_min (u32x8 a, u32x8 b) |
|
static_always_inline u32 | u32x8_min_scalar (u32x8 v) |
|
static_always_inline void | u32x8_transpose (u32x8 a[8]) |
|
static_always_inline void | u64x4_transpose (u64x4 a[8]) |
|