[gcc(refs/users/marxin/heads/marxin-gcc-benchmark-branch)] aarch64: Fix inverted approx_sqrt condition

Martin Liska marxin@gcc.gnu.org
Mon Mar 30 10:15:16 GMT 2020


https://gcc.gnu.org/g:902d28bd838c4d3f9d28832d387812da2232e1ec

commit 902d28bd838c4d3f9d28832d387812da2232e1ec
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Thu Feb 20 14:16:12 2020 +0000

    aarch64: Fix inverted approx_sqrt condition
    
    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.
    
    2020-02-21  Richard Sandiford  <richard.sandiford@arm.com>
    
    gcc/
            * config/aarch64/aarch64.c (aarch64_emit_approx_sqrt): Fix inverted
            flag_finite_math_only condition.

Diff:
---
 gcc/ChangeLog                | 5 +++++
 gcc/config/aarch64/aarch64.c | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 15ce49c8c87..16a23d00944 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2020-02-21  Richard Sandiford  <richard.sandiford@arm.com>
+
+	* config/aarch64/aarch64.c (aarch64_emit_approx_sqrt): Fix inverted
+	flag_finite_math_only condition.
+
 2020-02-20  Uroš Bizjak  <ubizjak@gmail.com>
 
 	PR target/93828
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))


More information about the Gcc-cvs mailing list