From 8e5d5db24ed72da265cda75bb3f23d35530109e8 Mon Sep 17 00:00:00 2001 From: Sirshak Das Date: Wed, 22 Aug 2018 14:04:33 +0800 Subject: [PATCH] Add u32x4_extend_to_u64x2 for aarch64 using NEON intrinsics This is used in vlib_get_buffers_with_offset. Change-Id: If4ff776bc97d21a22e870300b164eeb6a5ec3638 Signed-off-by: Sirshak Das Reviewed-by: Steve Capper Reviewed-by: Brian Brooks Reviewed-by: Yi He Verified-by: Lijian Zhang --- src/vppinfra/vector_neon.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/vppinfra/vector_neon.h b/src/vppinfra/vector_neon.h index adea39a14ec..2c3578c1f35 100644 --- a/src/vppinfra/vector_neon.h +++ b/src/vppinfra/vector_neon.h @@ -140,6 +140,12 @@ u32x4_hadd (u32x4 v1, u32x4 v2) return (u32x4) vpaddq_u32 (v1, v2); } +static_always_inline u64x2 +u32x4_extend_to_u64x2 (u32x4 v) +{ + return vmovl_u32 (vget_low_u32 (v)); +} + #define CLIB_HAVE_VEC128_UNALIGNED_LOAD_STORE #define CLIB_VEC128_SPLAT_DEFINED #endif /* included_vector_neon_h */ -- 2.16.6