[dpdk-dev] [PATCH v3 2/4] arm: detect NEON cpu feature by checking __ARM_NEON

Jerin Jacob jerin.jacob at caviumnetworks.com
Sun Mar 20 18:27:37 CET 2016


On Sat, Mar 19, 2016 at 08:58:03PM +0100, Jan Viktorin wrote:
> The __ARM_NEON declares that the arm_neon.h is available which is not true for
> the __ARM_NEON_FP. The __ARM_NEON_FP is not provided by aarch64 gcc.

It depends on specific aarch64 compiler builds. Some aarch64 gcc versions
do provide __ARM_NEON_FP.

[~] $ aarch64-thunderx-linux-gnu-gcc -dM -E - < /dev/null |grep "NEON\|FP"
#define __ARM_FP 12
#define __ARM_NEON_FP 12
#define __FP_FAST_FMAF 1
#define __ARM_NEON 1
#define __FP_FAST_FMA 1

However, This patch is correct, we should use __ARM_NEON.

For this series,
Acked-by: Jerin Jacob <jerin.jacob at caviumnetworks.com>


> 
>  $ arm-linux-gnueabi-gcc -dM -E - < /dev/null  | grep "_FP\|_NEON"
>  #define __ARM_FP 12
>  #define __ARM_NEON_FP 4
>  #define __VFP_FP__ 1
> 
>  $ arm-linux-gnueabi-gcc -mfpu=neon -dM -E - < /dev/null  | grep "_FP\|_NEON"
>  #define __ARM_FP 12
>  #define __ARM_NEON_FP 4
>  #define __ARM_NEON__ 1
>  #define __VFP_FP__ 1
>  #define __ARM_NEON 1
> 
>  $ aarch64-linux-gnu-gcc -dM -E - < /dev/null | grep "NEON\|FP"
>  #define __FP_FAST_FMAF 1
>  #define __ARM_NEON 1
>  #define __FP_FAST_FMA 1
> 
> Signed-off-by: Jan Viktorin <viktorin at rehivetech.com>
> ---
>  mk/rte.cpuflags.mk | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/mk/rte.cpuflags.mk b/mk/rte.cpuflags.mk
> index 19a3e7e..529bcef 100644
> --- a/mk/rte.cpuflags.mk
> +++ b/mk/rte.cpuflags.mk
> @@ -111,7 +111,7 @@ CPUFLAGS += VSX
>  endif
>  
>  # ARM flags
> -ifneq ($(filter $(AUTO_CPUFLAGS),__ARM_NEON_FP),)
> +ifneq ($(filter $(AUTO_CPUFLAGS),__ARM_NEON),)
>  CPUFLAGS += NEON
>  endif
>  
> -- 
> 2.7.0
> 


More information about the dev mailing list