[dpdk-dev] [PATCH] eal/arm64: fix instrinsic for ARM64 NEON with GCC < 4.9

Jerin Jacob jerin.jacob at caviumnetworks.com
Wed Jan 31 06:42:41 CET 2018


-----Original Message-----
> Date: Tue, 30 Jan 2018 16:07:08 -0800
> From: Yongseok Koh <yskoh at mellanox.com>
> To: jerin.jacob at caviumnetworks.com, jianbo.liu at arm.com
> CC: dev at dpdk.org, Yongseok Koh <yskoh at mellanox.com>, stable at dpdk.org
> Subject: [PATCH] eal/arm64: fix instrinsic for ARM64 NEON with GCC < 4.9
> X-Mailer: git-send-email 2.11.0
> 
> vceqzq_u32() is being used by mlx5 PMD but added since gcc 4.9.
> 
> Fixes: 570acdb1da8a ("net/mlx5: add vectorized Rx/Tx burst for ARM")
> Cc: stable at dpdk.org
> 
> Signed-off-by: Yongseok Koh <yskoh at mellanox.com>

Acked-by: Jerin Jacob <jerin.jacob at caviumnetworks.com>

> ---
>  lib/librte_eal/common/include/arch/arm/rte_vect.h | 6 ++++++
>  1 file changed, 6 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 5cc34190f..2a18a6854 100644
> --- a/lib/librte_eal/common/include/arch/arm/rte_vect.h
> +++ b/lib/librte_eal/common/include/arch/arm/rte_vect.h
> @@ -78,6 +78,12 @@ vcopyq_laneq_u32(uint32x4_t a, const int lane_a,
>  typedef uint64_t poly64_t;
>  typedef uint64x2_t poly64x2_t;
>  typedef uint8_t poly128_t __attribute__((vector_size(16), aligned(16)));
> +
> +static inline uint32x4_t
> +vceqzq_u32(uint32x4_t a)
> +{
> +	return (a == 0);
> +}
>  #endif
>  
>  /* NEON intrinsic vreinterpretq_u64_p128() is supported since GCC version 7 */
> -- 
> 2.11.0
> 


More information about the dev mailing list