From aa63bc6cf4b9031c3fc6ae22aecd846cc712bc52 Mon Sep 17 00:00:00 2001 From: Damjan Marion Date: Mon, 8 Nov 2021 11:18:30 +0000 Subject: vppinfra: new vectorized ip checksum functions incl. csum_and_copy Type: improvement Change-Id: Id5810b7f4a6d6e4ce16b73c235b50db5d475ebf7 Signed-off-by: Damjan Marion --- src/vppinfra/vector_neon.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/vppinfra/vector_neon.h') diff --git a/src/vppinfra/vector_neon.h b/src/vppinfra/vector_neon.h index 70b05c60884..80d7bda9f3c 100644 --- a/src/vppinfra/vector_neon.h +++ b/src/vppinfra/vector_neon.h @@ -211,6 +211,18 @@ u32x4_min_scalar (u32x4 v) #define u8x16_word_shift_left(x,n) vextq_u8(u8x16_splat (0), x, 16 - n) #define u8x16_word_shift_right(x,n) vextq_u8(x, u8x16_splat (0), n) +always_inline u32x4 +u32x4_interleave_hi (u32x4 a, u32x4 b) +{ + return (u32x4) vzip2q_u32 (a, b); +} + +always_inline u32x4 +u32x4_interleave_lo (u32x4 a, u32x4 b) +{ + return (u32x4) vzip1q_u32 (a, b); +} + static_always_inline u8x16 u8x16_reflect (u8x16 v) { -- cgit 1.2.3-korg