![]() |
FD.io VPP
v21.06-3-gbb25fbf28
Vector Packet Processing
|
Go to the source code of this file.
Macros | |
#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 | u64x4_permute(v, m0, m1, m2, m3) |
#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) |
Variables | |
u8x32 | |
_mm256_packus_epi16 | u16x16 |
u64x4 | |
epu16_epi64 epu8_epi16 epu8_epi64 | i64x4 |
epu16_epi64 epu8_epi16 epu8_epi64 epi16_epi64 | i16x16 |
Definition at line 27 of file vector_avx2.h.
Definition at line 23 of file vector_avx2.h.
#define foreach_avx2_vec256u _(u,8,32,epi8) _(u,16,16,epi16) _(u,32,8,epi32) _(u,64,4,epi64) |
Definition at line 25 of file vector_avx2.h.
#define u16x16_blend | ( | v1, | |
v2, | |||
mask | |||
) | (u16x16) _mm256_blend_epi16 ((__m256i) (v1), (__m256i) (v2), mask) |
Definition at line 252 of file vector_avx2.h.
Definition at line 249 of file vector_avx2.h.
#define u32x8_permute_lanes | ( | a, | |
b, | |||
m | |||
) | (u32x8) _mm256_permute2x128_si256 ((__m256i) a, (__m256i) b, m) |
Definition at line 324 of file vector_avx2.h.
#define u64x4_permute | ( | v, | |
m0, | |||
m1, | |||
m2, | |||
m3 | |||
) |
Definition at line 78 of file vector_avx2.h.
#define u64x4_permute_lanes | ( | a, | |
b, | |||
m | |||
) | (u64x4) _mm256_permute2x128_si256 ((__m256i) a, (__m256i) b, m) |
Definition at line 326 of file vector_avx2.h.
Definition at line 192 of file vector_avx2.h.
static_always_inline f32x8 f32x8_from_u32x8 | ( | u32x8 | v | ) |
static_always_inline u32 i8x32_msb_mask | ( | i8x32 | v | ) |
static_always_inline u16x16 u16x16_byte_swap | ( | u16x16 | v | ) |
static_always_inline u16x16 u16x16_mask_last | ( | u16x16 | v, |
u8 | n_last | ||
) |
static_always_inline u32x8 u32x8_byte_swap | ( | u32x8 | v | ) |
static_always_inline u32x8 u32x8_from_f32x8 | ( | f32x8 | v | ) |
static_always_inline u32x8 u32x8_gather | ( | void * | p0, |
void * | p1, | ||
void * | p2, | ||
void * | p3, | ||
void * | p4, | ||
void * | p5, | ||
void * | p6, | ||
void * | p7 | ||
) |
Definition at line 265 of file vector_avx2.h.
static_always_inline u32x8 u32x8_hadd | ( | u32x8 | v1, |
u32x8 | v2 | ||
) |
static_always_inline u32x8 u32x8_min | ( | u32x8 | a, |
u32x8 | b | ||
) |
static_always_inline u32 u32x8_min_scalar | ( | u32x8 | v | ) |
Definition at line 336 of file vector_avx2.h.
|
inlinestatic |
static_always_inline void u32x8_scatter | ( | u32x8 | r, |
void * | p0, | ||
void * | p1, | ||
void * | p2, | ||
void * | p3, | ||
void * | p4, | ||
void * | p5, | ||
void * | p6, | ||
void * | p7 | ||
) |
Definition at line 286 of file vector_avx2.h.
static_always_inline void u32x8_scatter_one | ( | u32x8 | r, |
int | index, | ||
void * | p | ||
) |
static_always_inline u32 u32x8_sum_elts | ( | u32x8 | sum8 | ) |
Definition at line 196 of file vector_avx2.h.
static_always_inline void u32x8_transpose | ( | u32x8 | a[8] | ) |
Definition at line 343 of file vector_avx2.h.
epu16_epi64 epu8_epi16 epu8_epi64 epi16_epi64 epi8_epi16 epi8_epi64 static_always_inline u64x4 u64x4_byte_swap | ( | u64x4 | v | ) |
Definition at line 157 of file vector_avx2.h.
static_always_inline u64x4 u64x4_gather | ( | void * | p0, |
void * | p1, | ||
void * | p2, | ||
void * | p3 | ||
) |
static_always_inline void u64x4_scatter | ( | u64x4 | r, |
void * | p0, | ||
void * | p1, | ||
void * | p2, | ||
void * | p3 | ||
) |
static_always_inline void u64x4_scatter_one | ( | u64x4 | r, |
int | index, | ||
void * | p | ||
) |
Definition at line 300 of file vector_avx2.h.
static_always_inline void u64x4_transpose | ( | u64x4 | a[8] | ) |
Definition at line 378 of file vector_avx2.h.
static_always_inline u8x32 u8x32_blend | ( | u8x32 | v1, |
u8x32 | v2, | ||
u8x32 | mask | ||
) |
static_always_inline u8x32 u8x32_is_greater | ( | u8x32 | v1, |
u8x32 | v2 | ||
) |
_mm256_packus_epi16 _mm256_packus_epi32 static_always_inline u32 u8x32_msb_mask | ( | u8x32 | v | ) |
static_always_inline u8x32 u8x32_shuffle | ( | u8x32 | v, |
u8x32 | m | ||
) |
Definition at line 187 of file vector_avx2.h.
epu16_epi64 epu8_epi16 epu8_epi64 epi16_epi64 i16x16 |
Definition at line 150 of file vector_avx2.h.
epu16_epi64 epu8_epi16 epu8_epi64 epi16_epi64 epi8_epi16 i64x4 |
Definition at line 148 of file vector_avx2.h.
epu16_epi64 u16x16 |
Definition at line 118 of file vector_avx2.h.
epu16_epi64 epu8_epi16 u64x4 |
Definition at line 142 of file vector_avx2.h.
u8x32 |
Definition at line 116 of file vector_avx2.h.