lib/arm: NEON intrinsics require hardware floating point support

NEON intrinsics cannot be used when compiling for an ARM CPU without
hardware floating point support, e.g. the Debian armel port.  In this
case arm_neon.h cannot even be included as it causes an #error.

[Based on a patch by Adrian Bunk <bunk@debian.org>, but changed to check
 for __ARM_FP instead of !__SOFTFP__ to be consistent with arm_neon.h,
 and added a comment.]
This commit is contained in:
Eric Biggers 2018-12-22 00:00:04 -06:00
parent d6d50c6955
commit becd91bb63

View File

@ -86,7 +86,9 @@
# define COMPILER_SUPPORTS_AVX2_TARGET_INTRINSICS \
COMPILER_SUPPORTS_AVX2_TARGET
# endif
# elif defined(__arm__) || defined(__aarch64__)
# elif (defined(__arm__) && defined(__ARM_FP)) || defined(__aarch64__)
/* arm: including arm_neon.h requires hardware fp support */
/*
* Prior to gcc 6.1 (r230411 for arm, r226563 for aarch64), NEON
* and crypto intrinsics not available in the main target could not be