FD.io VPP  v18.10-32-g1161dda
Vector Packet Processing
vector_neon.h File Reference
+ Include dependency graph for vector_neon.h:

Go to the source code of this file.

Macros

#define u16x8_sub_saturate(a, b)   vsubq_u16(a,b)
 
#define i16x8_sub_saturate(a, b)   vsubq_s16(a,b)
 
#define foreach_neon_vec128i   _(i,8,16,s8) _(i,16,8,s16) _(i,32,4,s32) _(i,64,2,s64)
 
#define foreach_neon_vec128u   _(u,8,16,u8) _(u,16,8,u16) _(u,32,4,u32) _(u,64,2,u64)
 
#define foreach_neon_vec128f   _(f,32,4,f32) _(f,64,2,f64)
 
#define CLIB_HAVE_VEC128_UNALIGNED_LOAD_STORE
 
#define CLIB_VEC128_SPLAT_DEFINED
 

Functions

static u32 u8x16_compare_byte_mask (u8x16 x)
 
static u32 u16x8_zero_byte_mask (u16x8 input)
 
static u32 u8x16_zero_byte_mask (u8x16 input)
 
static u32 u32x4_zero_byte_mask (u32x4 input)
 
static u32 u64x2_zero_byte_mask (u64x2 input)
 
foreach_neon_vec128i foreach_neon_vec128u static_always_inline u16x8 u16x8_byte_swap (u16x8 v)
 
static_always_inline u8x16 u8x16_shuffle (u8x16 v, u8x16 m)
 
static_always_inline u32x4 u32x4_hadd (u32x4 v1, u32x4 v2)
 
static_always_inline u64x2 u32x4_extend_to_u64x2 (u32x4 v)
 
static_always_inline u64x2 u32x4_extend_to_u64x2_high (u32x4 v)
 

Macro Definition Documentation

#define CLIB_HAVE_VEC128_UNALIGNED_LOAD_STORE

Definition at line 151 of file vector_neon.h.

#define CLIB_VEC128_SPLAT_DEFINED

Definition at line 152 of file vector_neon.h.

#define foreach_neon_vec128f   _(f,32,4,f32) _(f,64,2,f64)

Definition at line 88 of file vector_neon.h.

#define foreach_neon_vec128i   _(i,8,16,s8) _(i,16,8,s16) _(i,32,4,s32) _(i,64,2,s64)

Definition at line 84 of file vector_neon.h.

#define foreach_neon_vec128u   _(u,8,16,u8) _(u,16,8,u16) _(u,32,4,u32) _(u,64,2,u64)

Definition at line 86 of file vector_neon.h.

#define i16x8_sub_saturate (   a,
 
)    vsubq_s16(a,b)

Definition at line 22 of file vector_neon.h.

#define u16x8_sub_saturate (   a,
 
)    vsubq_u16(a,b)

Definition at line 21 of file vector_neon.h.

Function Documentation

Definition at line 122 of file vector_neon.h.

static u32 u16x8_zero_byte_mask ( u16x8  input)
inlinestatic

Definition at line 40 of file vector_neon.h.

+ Here is the caller graph for this function:

static_always_inline u64x2 u32x4_extend_to_u64x2 ( u32x4  v)

Definition at line 140 of file vector_neon.h.

+ Here is the caller graph for this function:

static_always_inline u64x2 u32x4_extend_to_u64x2_high ( u32x4  v)

Definition at line 146 of file vector_neon.h.

+ Here is the caller graph for this function:

static_always_inline u32x4 u32x4_hadd ( u32x4  v1,
u32x4  v2 
)

Definition at line 134 of file vector_neon.h.

static u32 u32x4_zero_byte_mask ( u32x4  input)
inlinestatic

Definition at line 72 of file vector_neon.h.

+ Here is the call graph for this function:

static u32 u64x2_zero_byte_mask ( u64x2  input)
inlinestatic

Definition at line 78 of file vector_neon.h.

+ Here is the call graph for this function:

static u32 u8x16_compare_byte_mask ( u8x16  x)
inlinestatic

Definition at line 26 of file vector_neon.h.

static_always_inline u8x16 u8x16_shuffle ( u8x16  v,
u8x16  m 
)

Definition at line 128 of file vector_neon.h.

+ Here is the caller graph for this function:

static u32 u8x16_zero_byte_mask ( u8x16  input)
inlinestatic

Definition at line 66 of file vector_neon.h.

+ Here is the call graph for this function: