The fix for PR80530 included an accidental flipping of the
flag_finite_math_only check, so that -ffinite-math-only (and thus
-ffast-math) disabled approximate sqrt rather than enabling it.

This is tested by later patches but seemed worth splitting out.

Tested on aarch64-linux-gnu and aarch64_be-elf, pushed.

Richard


2020-02-21  Richard Sandiford  <richard.sandif...@arm.com>

gcc/
        * config/aarch64/aarch64.c (aarch64_emit_approx_sqrt): Fix inverted
        flag_finite_math_only condition.
---
 gcc/config/aarch64/aarch64.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
index 4a34dce5d79..6fb567ae4bf 100644
--- a/gcc/config/aarch64/aarch64.c
+++ b/gcc/config/aarch64/aarch64.c
@@ -12761,7 +12761,7 @@ aarch64_emit_approx_sqrt (rtx dst, rtx src, bool recp)
                & AARCH64_APPROX_MODE (mode))))
        return false;
 
-      if (flag_finite_math_only
+      if (!flag_finite_math_only
          || flag_trapping_math
          || !flag_unsafe_math_optimizations
          || optimize_function_for_size_p (cfun))

Reply via email to