|
#define | foreach_avx512_vec512i _(i,8,64,epi8) _(i,16,32,epi16) _(i,32,16,epi32) _(i,64,8,epi64) |
|
#define | foreach_avx512_vec512u _(u,8,64,epi8) _(u,16,32,epi16) _(u,32,16,epi32) _(u,64,8,epi64) |
|
#define | foreach_avx512_vec512f _(f,32,8,ps) _(f,64,4,pd) |
|
#define | u32x16_ternary_logic(a, b, c, d) (u32x16) _mm512_ternarylogic_epi32 ((__m512i) a, (__m512i) b, (__m512i) c, d) |
|
#define | u8x64_insert_u8x16(a, b, n) (u8x64) _mm512_inserti64x2 ((__m512i) (a), (__m128i) (b), n) |
|
#define | u8x64_extract_u8x16(a, n) (u8x16) _mm512_extracti64x2_epi64 ((__m512i) (a), n) |
|
#define | u8x64_word_shift_left(a, n) (u8x64) _mm512_bslli_epi128((__m512i) a, n) |
|
#define | u8x64_word_shift_right(a, n) (u8x64) _mm512_bsrli_epi128((__m512i) a, n) |
|
#define | u8x64_align_right(a, b, imm) (u8x64) _mm512_alignr_epi8 ((__m512i) a, (__m512i) b, imm) |
|
|
foreach_avx512_vec512i foreach_avx512_vec512u static_always_inline u32 | u16x32_msb_mask (u16x32 v) |
|
static_always_inline u32x16 | u32x16_byte_swap (u32x16 v) |
|
static_always_inline u16x32 | u16x32_byte_swap (u16x32 v) |
|
static_always_inline u32x8 | u32x16_extract_lo (u32x16 v) |
|
static_always_inline u32x8 | u32x16_extract_hi (u32x16 v) |
|
static_always_inline u8x32 | u8x64_extract_lo (u8x64 v) |
|
static_always_inline u8x32 | u8x64_extract_hi (u8x64 v) |
|
static_always_inline u32 | u32x16_min_scalar (u32x16 v) |
|
static_always_inline u32x16 | u32x16_insert_lo (u32x16 r, u32x8 v) |
|
static_always_inline u32x16 | u32x16_insert_hi (u32x16 r, u32x8 v) |
|
static_always_inline u64x8 | u64x8_permute (u64x8 a, u64x8 b, u64x8 mask) |
|
static_always_inline u8x64 | u8x64_xor3 (u8x64 a, u8x64 b, u8x64 c) |
|
static_always_inline u8x64 | u8x64_reflect_u8x16 (u8x64 x) |
|
static_always_inline u8x64 | u8x64_shuffle (u8x64 v, u8x64 m) |
|
static_always_inline u32 | u32x16_sum_elts (u32x16 sum16) |
|
static_always_inline u8x64 | u8x64_mask_load (u8x64 a, void *p, u64 mask) |
|
static_always_inline void | u8x64_mask_store (u8x64 a, void *p, u64 mask) |
|
static_always_inline u8x64 | u8x64_splat_u8x16 (u8x16 a) |
|
static_always_inline u32x16 | u32x16_splat_u32x4 (u32x4 a) |
|
static_always_inline u32x16 | u32x16_mask_blend (u32x16 a, u32x16 b, u16 mask) |
|
static_always_inline u8x64 | u8x64_mask_blend (u8x64 a, u8x64 b, u64 mask) |
|
static_always_inline u8 | u64x8_mask_is_equal (u64x8 a, u64x8 b) |
|
static_always_inline void | u32x16_transpose (u32x16 m[16]) |
|
static_always_inline void | u64x8_transpose (u64x8 m[8]) |
|