[PATCH 1/3] libm: ARM without HW double does not have fast FMA
Keith Packard
keithp@keithp.com
Sat Aug 8 22:34:11 GMT 2020
32-bit ARM processors with HW float (but not HW double) may define
__ARM_FEATURE_FMA, but that only means they have fast FMA for 32-bit
floats.
Signed-off-by: Keith Packard <keithp@keithp.com>
---
newlib/libm/common/math_config.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/newlib/libm/common/math_config.h b/newlib/libm/common/math_config.h
index 1089b0ec6..df8f8d6e4 100644
--- a/newlib/libm/common/math_config.h
+++ b/newlib/libm/common/math_config.h
@@ -72,7 +72,7 @@
/* Compiler can inline fma as a single instruction. */
#ifndef HAVE_FAST_FMA
-# if __aarch64__ || __ARM_FEATURE_FMA
+# if __aarch64__ || (__ARM_FEATURE_FMA && (__ARM_FP & 8))
# define HAVE_FAST_FMA 1
# else
# define HAVE_FAST_FMA 0
--
2.28.0
More information about the Newlib
mailing list