improve macro logic for enabling arm math asm
authorRich Felker <dalias@aerifal.cx>
Thu, 18 Feb 2016 23:53:03 +0000 (23:53 +0000)
committerRich Felker <dalias@aerifal.cx>
Thu, 18 Feb 2016 23:53:03 +0000 (23:53 +0000)
in order to take advantage of the fpu in -mfloat-abi=softfp mode, the
__VFP_FP__ (presence of vfp fpu) was checked instead of checking for
__ARM_PCS_VFP (hardfloat EABI variant). however, the latter macro is
the one that's actually specified by the ABI documents rather than
being compiler-specific, and should also be checked in case __VFP_FP__
is not defined on some compilers or some configurations.

src/math/arm/sqrt.c
src/math/arm/sqrtf.c

index c9c000831aa5b0e83a18892faff67accf2fb0291..874af9606c3c863a05a96ad89aa04c000fe37e69 100644 (file)
@@ -1,6 +1,6 @@
 #include <math.h>
 
-#if __VFP_FP__ && !__SOFTFP__
+#if __ARM_PCS_VFP || (__VFP_FP__ && !__SOFTFP__)
 
 double sqrt(double x)
 {
index e65766552589fd37998c46956e97f87d32c502eb..98858ecd7901d49452ac6500605a608790f8b78e 100644 (file)
@@ -1,6 +1,6 @@
 #include <math.h>
 
-#if __VFP_FP__ && !__SOFTFP__
+#if __ARM_PCS_VFP || (__VFP_FP__ && !__SOFTFP__)
 
 float sqrtf(float x)
 {