diff options
author | Sirshak Das <sirshak.das@arm.com> | 2018-08-22 14:04:33 +0800 |
---|---|---|
committer | Damjan Marion <dmarion@me.com> | 2018-09-11 08:39:49 +0000 |
commit | 8e5d5db24ed72da265cda75bb3f23d35530109e8 (patch) | |
tree | 649b1bef1b557c9ae8d0169162caa021cf310b0e /src/vppinfra | |
parent | 61f325d195976cafac2cae2619b259c1f0013596 (diff) |
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 <sirshak.das@arm.com>
Reviewed-by: Steve Capper <steve.capper@arm.com>
Reviewed-by: Brian Brooks <brian.brooks@arm.com>
Reviewed-by: Yi He <yi.he@arm.com>
Verified-by: Lijian Zhang <lijian.zhang@arm.com>
Diffstat (limited to 'src/vppinfra')
-rw-r--r-- | src/vppinfra/vector_neon.h | 6 |
1 files changed, 6 insertions, 0 deletions
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 */ |