X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvppinfra%2Fvector_neon.h;h=307fbc541b20ccd2bf039b562d515fa1be5f5719;hb=9372374f0de1d4b2767bd8c9dbaa868a9975dfaa;hp=e0d0f065c0e4d9382fb42a4ca728ac14033af1db;hpb=0f9845120afb1dde120e2dac1ee0f280801307a4;p=vpp.git diff --git a/src/vppinfra/vector_neon.h b/src/vppinfra/vector_neon.h index e0d0f065c0e..307fbc541b2 100644 --- a/src/vppinfra/vector_neon.h +++ b/src/vppinfra/vector_neon.h @@ -176,6 +176,24 @@ u32x4_scatter (u32x4 r, void *p0, void *p1, void *p2, void *p3) *(u32 *) p3 = vgetq_lane_u32 (r, 3); } +static_always_inline u32 +u32x4_min_scalar (u32x4 v) +{ + return vminvq_u32 (v); +} + +static_always_inline u8x16 +u8x16_word_shift_left (u8x16 x, const int n) +{ + return vextq_u8 (u8x16_splat (0), x, 16 - n); +} + +static_always_inline u8x16 +u8x16_word_shift_right (u8x16 x, const int n) +{ + return vextq_u8 (x, u8x16_splat (0), n); +} + #define CLIB_HAVE_VEC128_MSB_MASK #define CLIB_HAVE_VEC128_UNALIGNED_LOAD_STORE