mk: improve ARM NEON detection
authorJan Viktorin <viktorin@rehivetech.com>
Sat, 19 Mar 2016 19:58:03 +0000 (20:58 +0100)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Thu, 24 Mar 2016 16:46:58 +0000 (17:46 +0100)
The __ARM_NEON declares that the arm_neon.h is available
which is not always true for the __ARM_NEON_FP.

 $ 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

 $ 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

Signed-off-by: Jan Viktorin <viktorin@rehivetech.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
mk/rte.cpuflags.mk

index c494654..e634abc 100644 (file)
@@ -111,7 +111,7 @@ CPUFLAGS += VSX
 endif
 
 # ARM flags
 endif
 
 # ARM flags
-ifneq ($(filter $(AUTO_CPUFLAGS),__ARM_NEON_FP),)
+ifneq ($(filter $(AUTO_CPUFLAGS),__ARM_NEON),)
 CPUFLAGS += NEON
 endif
 
 CPUFLAGS += NEON
 endif