From: Herbert Guan Date: Thu, 13 Jul 2017 02:16:42 +0000 (+0800) Subject: eal/arm64: fix poly64/128 compilation with GCC < 4.9 X-Git-Tag: spdx-start~2338 X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=b06c9b941f845c4c330d66c358419d4a98375d52;p=dpdk.git eal/arm64: fix poly64/128 compilation with GCC < 4.9 Use built-in data types for unsupported poly64/128 types for GCC version lower than 4.9.0 Fixes: 3c4b4024c225 ("arch/arm: add vcopyq_laneq_u32 for old gcc") Cc: stable@dpdk.org Signed-off-by: Herbert Guan --- 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 7fec25e534..782350d14f 100644 --- a/lib/librte_eal/common/include/arch/arm/rte_vect.h +++ b/lib/librte_eal/common/include/arch/arm/rte_vect.h @@ -101,6 +101,13 @@ vcopyq_laneq_u32(uint32x4_t a, const int lane_a, #if defined(RTE_ARCH_ARM64) #if defined(RTE_TOOLCHAIN_GCC) && (GCC_VERSION < 70000) + +#if (GCC_VERSION < 40900) +typedef uint64_t poly64_t; +typedef uint64x2_t poly64x2_t; +typedef uint8_t poly128_t __attribute__((vector_size(16), aligned(16))); +#endif + /* NEON intrinsic vreinterpretq_u64_p128() is supported since GCC version 7 */ static inline uint64x2_t vreinterpretq_u64_p128(poly128_t x)