From: Sirshak Das Date: Wed, 22 Aug 2018 06:04:33 +0000 (+0800) Subject: Add u32x4_extend_to_u64x2 for aarch64 using NEON intrinsics X-Git-Tag: v18.10-rc1~225 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=8e5d5db24ed72da265cda75bb3f23d35530109e8;p=vpp.git 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 --- 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 */