From 3c4b4024c2253d7016fefac39ff392016da27863 Mon Sep 17 00:00:00 2001 From: Jianbo Liu Date: Tue, 4 Jul 2017 18:24:02 +0800 Subject: [PATCH] arch/arm: add vcopyq_laneq_u32 for old gcc Implement vcopyq_laneq_u32 if gcc version is lower than 7. Signed-off-by: Jianbo Liu --- lib/librte_eal/common/include/arch/arm/rte_vect.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lib/librte_eal/common/include/arch/arm/rte_vect.h b/lib/librte_eal/common/include/arch/arm/rte_vect.h index 55e228a779..0670ca2ee4 100644 --- a/lib/librte_eal/common/include/arch/arm/rte_vect.h +++ b/lib/librte_eal/common/include/arch/arm/rte_vect.h @@ -79,6 +79,15 @@ vqtbl1q_u8(uint8x16_t a, uint8x16_t b) } #endif +#if defined(RTE_TOOLCHAIN_GCC) && (GCC_VERSION < 70000) +static inline uint32x4_t +vcopyq_laneq_u32(uint32x4_t a, const int lane_a, + uint32x4_t b, const int lane_b) +{ + return vsetq_lane_u32(vgetq_lane_u32(b, lane_b), a, lane_a); +} +#endif + #if defined(RTE_ARCH_ARM64) #if defined(RTE_TOOLCHAIN_GCC) && (GCC_VERSION < 70000) /* NEON intrinsic vreinterpretq_u64_p128() is supported since GCC version 7 */ -- 2.20.1