From 4eb25acdb773b30c94adb0080659c9280bca4ee1 Mon Sep 17 00:00:00 2001 From: Ruifeng Wang Date: Wed, 24 Jun 2020 15:10:12 +0800 Subject: [PATCH] eal/arm: add vcopyq intrinsic for aarch32 vcopyq_laneq_u32 should be implemented for aarch32 which doesn't have the intrinsic. This fixes build of examples/l3fwd for armv7. Fixes: 3c4b4024c225 ("arch/arm: add vcopyq_laneq_u32 for old gcc") Cc: stable@dpdk.org Signed-off-by: Ruifeng Wang Reviewed-by: Ferruh Yigit --- lib/librte_eal/arm/include/rte_vect.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/librte_eal/arm/include/rte_vect.h b/lib/librte_eal/arm/include/rte_vect.h index 9287a11173..01c51712a1 100644 --- a/lib/librte_eal/arm/include/rte_vect.h +++ b/lib/librte_eal/arm/include/rte_vect.h @@ -62,7 +62,11 @@ vaddvq_u16(uint16x8_t a) #endif -#if RTE_CC_IS_GNU && (GCC_VERSION < 70000) +#if defined(RTE_ARCH_ARM) || \ +(defined(RTE_ARCH_ARM64) && RTE_CC_IS_GNU && (GCC_VERSION < 70000)) +/* NEON intrinsic vcopyq_laneq_u32() is not supported in ARMv7-A(AArch32) + * On AArch64, this intrinsic is supported since GCC version 7. + */ static inline uint32x4_t vcopyq_laneq_u32(uint32x4_t a, const int lane_a, uint32x4_t b, const int lane_b) -- 2.20.1