FD.io VPP
v17.07-30-g839fa73
Vector Packet Processing
|
Go to the source code of this file.
Macros | |
#define | i64x2_splat u64x2_splat |
#define | i32x4_splat u32x4_splat |
#define | i16x8_splat u16x8_splat |
#define | i8x16_splat u8x16_splat |
#define | i32x2_splat u32x2_splat |
#define | i16x4_splat u16x4_splat |
#define | i8x8_splat u8x8_splat |
#define | u8x16_word_shift_left(a, n) (u8x16) _mm_slli_si128((__m128i) a, n) |
#define | u8x16_word_shift_right(a, n) (u8x16) _mm_srli_si128((__m128i) a, n) |
#define | i8x16_word_shift_left(a, n) ((i8x16) u8x16_word_shift_left((u8x16) (a), (n))) |
#define | i8x16_word_shift_right(a, n) ((i8x16) u8x16_word_shift_right((u8x16) (a), (n))) |
#define | u16x8_word_shift_left(a, n) ((u16x8) u8x16_word_shift_left((u8x16) (a), (n) * sizeof (u16))) |
#define | i16x8_word_shift_left(a, n) ((u16x8) u8x16_word_shift_left((u8x16) (a), (n) * sizeof (u16))) |
#define | u16x8_word_shift_right(a, n) ((u16x8) u8x16_word_shift_right((u8x16) (a), (n) * sizeof (u16))) |
#define | i16x8_word_shift_right(a, n) ((i16x8) u8x16_word_shift_right((u8x16) (a), (n) * sizeof (u16))) |
#define | u32x4_word_shift_left(a, n) ((u32x4) u8x16_word_shift_left((u8x16) (a), (n) * sizeof (u32))) |
#define | i32x4_word_shift_left(a, n) ((u32x4) u8x16_word_shift_left((u8x16) (a), (n) * sizeof (u32))) |
#define | u32x4_word_shift_right(a, n) ((u32x4) u8x16_word_shift_right((u8x16) (a), (n) * sizeof (u32))) |
#define | i32x4_word_shift_right(a, n) ((i32x4) u8x16_word_shift_right((u8x16) (a), (n) * sizeof (u32))) |
#define | u64x2_word_shift_left(a, n) ((u64x2) u8x16_word_shift_left((u8x16) (a), (n) * sizeof (u64))) |
#define | i64x2_word_shift_left(a, n) ((u64x2) u8x16_word_shift_left((u8x16) (a), (n) * sizeof (u64))) |
#define | u64x2_word_shift_right(a, n) ((u64x2) u8x16_word_shift_right((u8x16) (a), (n) * sizeof (u64))) |
#define | i64x2_word_shift_right(a, n) ((i64x2) u8x16_word_shift_right((u8x16) (a), (n) * sizeof (u64))) |
#define | u32x4_select(A, MASK) |
#define | u32x4_splat_word(x, i) |
Functions | |
static u8x16 | u8x16_interleave_hi (u8x16 a, u8x16 b) |
static u8x16 | u8x16_interleave_lo (u8x16 a, u8x16 b) |
static u16x8 | u16x8_interleave_hi (u16x8 a, u16x8 b) |
static u16x8 | u16x8_interleave_lo (u16x8 a, u16x8 b) |
static u32x4 | u32x4_interleave_hi (u32x4 a, u32x4 b) |
static u32x4 | u32x4_interleave_lo (u32x4 a, u32x4 b) |
static u64x2 | u64x2_interleave_hi (u64x2 a, u64x2 b) |
static u64x2 | u64x2_interleave_lo (u64x2 a, u64x2 b) |
static u8x8 | u8x8_interleave_hi (u8x8 a, u8x8 b) |
static u8x8 | u8x8_interleave_lo (u8x8 a, u8x8 b) |
static u16x4 | u16x4_interleave_hi (u16x4 a, u16x4 b) |
static u16x4 | u16x4_interleave_lo (u16x4 a, u16x4 b) |
static u32x2 | u32x2_interleave_hi (u32x2 a, u32x2 b) |
static u32x2 | u32x2_interleave_lo (u32x2 a, u32x2 b) |
static u8x16 | u16x8_pack (u16x8 lo, u16x8 hi) |
static i8x16 | i16x8_pack (i16x8 lo, i16x8 hi) |
static u16x8 | u32x4_pack (u32x4 lo, u32x4 hi) |
static u8x8 | u16x4_pack (u16x4 lo, u16x4 hi) |
static i8x8 | i16x4_pack (i16x4 lo, i16x4 hi) |
static u16x4 | u32x2_pack (u32x2 lo, u32x2 hi) |
static i16x4 | i32x2_pack (i32x2 lo, i32x2 hi) |
static u64x2 | u64x2_splat (u64 a) |
static u32x4 | u32x4_splat (u32 a) |
static u16x8 | u16x8_splat (u16 a) |
static u8x16 | u8x16_splat (u8 a) |
static u32x2 | u32x2_splat (u32 a) |
static u16x4 | u16x4_splat (u16 a) |
static u8x8 | u8x8_splat (u8 a) |
static u64x2 | u64x2_read_lo (u64x2 x, u64 *a) |
static u64x2 | u64x2_read_hi (u64x2 x, u64 *a) |
static void | u64x2_write_lo (u64x2 x, u64 *a) |
static void | u64x2_write_hi (u64x2 x, u64 *a) |
static u16x8 | u16x8_mul_lo (u16x8 x, u16x8 y) |
static i16x8 | i16x8_mul_hi (i16x8 x, i16x8 y) |
static u16x8 | u16x8_mul_hi (u16x8 x, u16x8 y) |
static u32x2 | u32x2_shift_left (u32x2 x, u32x2 i) |
static u16x4 | u16x4_shift_right (u16x4 x, u16x4 i) |
static u32x2 | u32x2_shift_right (u32x2 x, u32x2 i) |
static i16x4 | i16x4_shift_left (i16x4 x, i16x4 i) |
static i32x2 | i32x2_shift_left (i32x2 x, i32x2 i) |
static i16x4 | i16x4_shift_right (i16x4 x, i16x4 i) |
static i32x2 | i32x2_shift_right (i32x2 x, i32x2 i) |
static u8x16 | u8x16_is_equal (u8x16 x, u8x16 y) |
static i8x16 | i8x16_is_equal (i8x16 x, i8x16 y) |
static u16x8 | u16x8_is_equal (u16x8 x, u16x8 y) |
static i16x8 | i16x8_is_equal (i16x8 x, i16x8 y) |
static u32x4 | u32x4_is_equal (u32x4 x, u32x4 y) |
static i32x4 | i32x4_is_equal (i32x4 x, i32x4 y) |
static u8x16 | i8x16_is_greater (i8x16 x, i8x16 y) |
static u16x8 | i16x8_is_greater (i16x8 x, i16x8 y) |
static u32x4 | i32x4_is_greater (i32x4 x, i32x4 y) |
static u8x16 | u8x16_is_zero (u8x16 x) |
static u16x8 | u16x8_is_zero (u16x8 x) |
static u32x4 | u32x4_is_zero (u32x4 x) |
static u32 | u32x4_get0 (u32x4 x) |
static u32x4 | u32x4_set0 (u32 x) |
static i32x4 | i32x4_set0 (i32 x) |
static i32 | i32x4_get0 (i32x4 x) |
static u32 | u8x16_compare_byte_mask (u8x16 x) |
static u32 | u32x4_compare_word_mask (u32x4 x) |
static u32 | u8x16_zero_byte_mask (u8x16 x) |
static u32 | u16x8_zero_byte_mask (u16x8 x) |
static u32 | u32x4_zero_byte_mask (u32x4 x) |
static u8x16 | u8x16_max (u8x16 x, u8x16 y) |
static u32 | u8x16_max_scalar (u8x16 x) |
static u8x16 | u8x16_min (u8x16 x, u8x16 y) |
static u8 | u8x16_min_scalar (u8x16 x) |
static i16x8 | i16x8_max (i16x8 x, i16x8 y) |
static i16 | i16x8_max_scalar (i16x8 x) |
static i16x8 | i16x8_min (i16x8 x, i16x8 y) |
static i16 | i16x8_min_scalar (i16x8 x) |
Variables | |
add | |
add_epi add_epi | sub |
add_epi add_epi sub_epi sub_epi | add_saturate |
add_epi add_epi sub_epi sub_epi adds_epu | sub_saturate |
add_epi add_epi sub_epi sub_epi adds_epu subs_epu i16x8 | y |
left | |
sll | right |
sll srl srl sll sra u16x4 | i |
u8 | u32x4_compare_word_mask_table [256] |
#define i16x4_splat u16x4_splat |
Definition at line 229 of file vector_sse2.h.
#define i16x8_splat u16x8_splat |
Definition at line 226 of file vector_sse2.h.
#define i16x8_word_shift_left | ( | a, | |
n | |||
) | ((u16x8) u8x16_word_shift_left((u8x16) (a), (n) * sizeof (u16))) |
Definition at line 393 of file vector_sse2.h.
#define i16x8_word_shift_right | ( | a, | |
n | |||
) | ((i16x8) u8x16_word_shift_right((u8x16) (a), (n) * sizeof (u16))) |
Definition at line 397 of file vector_sse2.h.
#define i32x2_splat u32x2_splat |
Definition at line 228 of file vector_sse2.h.
#define i32x4_splat u32x4_splat |
Definition at line 225 of file vector_sse2.h.
#define i32x4_word_shift_left | ( | a, | |
n | |||
) | ((u32x4) u8x16_word_shift_left((u8x16) (a), (n) * sizeof (u32))) |
Definition at line 402 of file vector_sse2.h.
#define i32x4_word_shift_right | ( | a, | |
n | |||
) | ((i32x4) u8x16_word_shift_right((u8x16) (a), (n) * sizeof (u32))) |
Definition at line 406 of file vector_sse2.h.
#define i64x2_splat u64x2_splat |
Definition at line 224 of file vector_sse2.h.
#define i64x2_word_shift_left | ( | a, | |
n | |||
) | ((u64x2) u8x16_word_shift_left((u8x16) (a), (n) * sizeof (u64))) |
Definition at line 411 of file vector_sse2.h.
#define i64x2_word_shift_right | ( | a, | |
n | |||
) | ((i64x2) u8x16_word_shift_right((u8x16) (a), (n) * sizeof (u64))) |
Definition at line 415 of file vector_sse2.h.
#define i8x16_splat u8x16_splat |
Definition at line 227 of file vector_sse2.h.
#define i8x16_word_shift_left | ( | a, | |
n | |||
) | ((i8x16) u8x16_word_shift_left((u8x16) (a), (n))) |
Definition at line 386 of file vector_sse2.h.
#define i8x16_word_shift_right | ( | a, | |
n | |||
) | ((i8x16) u8x16_word_shift_right((u8x16) (a), (n))) |
Definition at line 388 of file vector_sse2.h.
#define i8x8_splat u8x8_splat |
Definition at line 230 of file vector_sse2.h.
#define u16x8_word_shift_left | ( | a, | |
n | |||
) | ((u16x8) u8x16_word_shift_left((u8x16) (a), (n) * sizeof (u16))) |
Definition at line 391 of file vector_sse2.h.
#define u16x8_word_shift_right | ( | a, | |
n | |||
) | ((u16x8) u8x16_word_shift_right((u8x16) (a), (n) * sizeof (u16))) |
Definition at line 395 of file vector_sse2.h.
#define u32x4_select | ( | A, | |
MASK | |||
) |
Definition at line 548 of file vector_sse2.h.
#define u32x4_splat_word | ( | x, | |
i | |||
) |
Definition at line 558 of file vector_sse2.h.
#define u32x4_word_shift_left | ( | a, | |
n | |||
) | ((u32x4) u8x16_word_shift_left((u8x16) (a), (n) * sizeof (u32))) |
Definition at line 400 of file vector_sse2.h.
#define u32x4_word_shift_right | ( | a, | |
n | |||
) | ((u32x4) u8x16_word_shift_right((u8x16) (a), (n) * sizeof (u32))) |
Definition at line 404 of file vector_sse2.h.
#define u64x2_word_shift_left | ( | a, | |
n | |||
) | ((u64x2) u8x16_word_shift_left((u8x16) (a), (n) * sizeof (u64))) |
Definition at line 409 of file vector_sse2.h.
#define u64x2_word_shift_right | ( | a, | |
n | |||
) | ((u64x2) u8x16_word_shift_right((u8x16) (a), (n) * sizeof (u64))) |
Definition at line 413 of file vector_sse2.h.
Definition at line 383 of file vector_sse2.h.
Definition at line 384 of file vector_sse2.h.
|
inlinestatic |
Definition at line 157 of file vector_sse2.h.
|
inlinestatic |
Definition at line 360 of file vector_sse2.h.
|
inlinestatic |
Definition at line 372 of file vector_sse2.h.
Definition at line 492 of file vector_sse2.h.
Definition at line 516 of file vector_sse2.h.
Definition at line 304 of file vector_sse2.h.
Definition at line 138 of file vector_sse2.h.
|
inlinestatic |
Definition at line 169 of file vector_sse2.h.
|
inlinestatic |
Definition at line 366 of file vector_sse2.h.
|
inlinestatic |
Definition at line 378 of file vector_sse2.h.
Definition at line 504 of file vector_sse2.h.
Definition at line 522 of file vector_sse2.h.
|
inlinestatic |
Definition at line 480 of file vector_sse2.h.
|
inlinestatic |
Definition at line 510 of file vector_sse2.h.
|
inlinestatic |
Definition at line 107 of file vector_sse2.h.
|
inlinestatic |
Definition at line 113 of file vector_sse2.h.
|
inlinestatic |
Definition at line 151 of file vector_sse2.h.
|
inlinestatic |
Definition at line 348 of file vector_sse2.h.
|
inlinestatic |
Definition at line 211 of file vector_sse2.h.
|
inlinestatic |
Definition at line 58 of file vector_sse2.h.
|
inlinestatic |
Definition at line 64 of file vector_sse2.h.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Definition at line 310 of file vector_sse2.h.
|
inlinestatic |
Definition at line 298 of file vector_sse2.h.
|
inlinestatic |
Definition at line 132 of file vector_sse2.h.
|
inlinestatic |
Definition at line 190 of file vector_sse2.h.
|
inlinestatic |
|
inlinestatic |
Definition at line 119 of file vector_sse2.h.
|
inlinestatic |
Definition at line 125 of file vector_sse2.h.
|
inlinestatic |
Definition at line 163 of file vector_sse2.h.
|
inlinestatic |
Definition at line 342 of file vector_sse2.h.
|
inlinestatic |
Definition at line 354 of file vector_sse2.h.
|
inlinestatic |
Definition at line 204 of file vector_sse2.h.
Definition at line 70 of file vector_sse2.h.
Definition at line 76 of file vector_sse2.h.
Definition at line 144 of file vector_sse2.h.
Definition at line 183 of file vector_sse2.h.
|
inlinestatic |
Definition at line 82 of file vector_sse2.h.
|
inlinestatic |
Definition at line 88 of file vector_sse2.h.
|
inlinestatic |
Definition at line 240 of file vector_sse2.h.
|
inlinestatic |
Definition at line 234 of file vector_sse2.h.
|
inlinestatic |
Definition at line 176 of file vector_sse2.h.
|
inlinestatic |
Definition at line 252 of file vector_sse2.h.
|
inlinestatic |
Definition at line 246 of file vector_sse2.h.
|
inlinestatic |
|
inlinestatic |
Definition at line 46 of file vector_sse2.h.
|
inlinestatic |
Definition at line 52 of file vector_sse2.h.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Definition at line 197 of file vector_sse2.h.
|
inlinestatic |
|
inlinestatic |
Definition at line 95 of file vector_sse2.h.
|
inlinestatic |
Definition at line 101 of file vector_sse2.h.
|
inlinestatic |
Definition at line 218 of file vector_sse2.h.
add_epi add |
Definition at line 279 of file vector_sse2.h.
add_epi add_epi sub_epi sub_epi add_saturate |
Definition at line 287 of file vector_sse2.h.
sll srl srl sll sra u16x4 i |
Definition at line 337 of file vector_sse2.h.
sll srl srl left |
Definition at line 325 of file vector_sse2.h.
sll srl srl sll right |
Definition at line 327 of file vector_sse2.h.
add_epi add_epi sub_epi sub |
Definition at line 283 of file vector_sse2.h.
add_epi add_epi sub_epi sub_epi adds_epu sub_saturate |
Definition at line 289 of file vector_sse2.h.
u8 u32x4_compare_word_mask_table[256] |
add_epi add_epi sub_epi sub_epi adds_epu subs_epu i16x8 y |
Definition at line 293 of file vector_sse2.h.