diff options
author | Damjan Marion <damarion@cisco.com> | 2018-02-20 12:34:40 +0100 |
---|---|---|
committer | Dave Barach <openvpp@barachs.net> | 2018-02-20 21:11:06 +0000 |
commit | 6525c7f9022fbed15c519872833097eb8607118b (patch) | |
tree | c9b1632a16ae1f724d48b1a5bdb2aefab8634e9d /src/vppinfra/vector_neon.h | |
parent | ad099335c1c2de17fb0b3b29b008ef8623ee93c0 (diff) |
vppinfra: autogerate vector typedefs and basic inline functions
Change-Id: Ie9f611fa6a962b0937245f5cc949571ba11c5604
Signed-off-by: Damjan Marion <damarion@cisco.com>
Diffstat (limited to 'src/vppinfra/vector_neon.h')
-rw-r--r-- | src/vppinfra/vector_neon.h | 43 |
1 files changed, 0 insertions, 43 deletions
diff --git a/src/vppinfra/vector_neon.h b/src/vppinfra/vector_neon.h index 6357d68fabb..6a3e64e946d 100644 --- a/src/vppinfra/vector_neon.h +++ b/src/vppinfra/vector_neon.h @@ -17,53 +17,10 @@ #define included_vector_neon_h #include <arm_neon.h> -/* Splats. */ - -#define u8x16_splat(i) vdupq_n_u8(i) -#define u16x8_splat(i) vdupq_n_u16(i) -#define i16x8_splat(i) vdupq_n_s16(i) -#define u32x4_splat(i) vdupq_n_u32(i) -#define i32x4_splat(i) vdupq_n_s32(i) - /* Arithmetic */ -#define u16x8_add(a,b) vaddq_u16(a,b) -#define i16x8_add(a,b) vaddq_s16(a,b) #define u16x8_sub_saturate(a,b) vsubq_u16(a,b) #define i16x8_sub_saturate(a,b) vsubq_s16(a,b) - -/* Compare operations. */ -#define u8x16_is_equal(a,b) vceqq_u8(a,b) -#define i8x16_is_equal(a,b) vceqq_s8(a,b) -#define u16x8_is_equal(a,b) vceqq_u16(a,b) -#define i16x8_is_equal(a,b) vceqq_i16(a,b) -#define u32x4_is_equal(a,b) vceqq_u32(a,b) -#define i32x4_is_equal(a,b) vceqq_s32(a,b) -#define i8x16_is_greater(a,b) vcgtq_s8(a,b) -#define i16x8_is_greater(a,b) vcgtq_u8(a,b) -#define i32x4_is_greater(a,b) vcgtq_s32(a,b) - -always_inline u8x16 -u8x16_is_zero (u8x16 x) -{ - u8x16 zero = { 0 }; - return u8x16_is_equal (x, zero); -} - -always_inline u16x8 -u16x8_is_zero (u16x8 x) -{ - u16x8 zero = { 0 }; - return u16x8_is_equal (x, zero); -} - -always_inline u32x4 -u32x4_is_zero (u32x4 x) -{ - u32x4 zero = { 0 }; - return u32x4_is_equal (x, zero); -} - /* Converts all ones/zeros compare mask to bitmap. */ always_inline u32 u8x16_compare_byte_mask (u8x16 x) |