aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2020-02-20 14:16:12 +0000
committerRichard Sandiford <richard.sandiford@arm.com>2020-02-21 10:17:27 +0000
commit902d28bd838c4d3f9d28832d387812da2232e1ec (patch)
treeb79c38c73a3b3ddd0fe80a919fa8fd80fb739569
parent6f83ceb8cf613d37d010a17b23ebc98cdb8dc89d (diff)
downloadgcc-902d28bd838c4d3f9d28832d387812da2232e1ec.zip
gcc-902d28bd838c4d3f9d28832d387812da2232e1ec.tar.gz
gcc-902d28bd838c4d3f9d28832d387812da2232e1ec.tar.bz2
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.
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/aarch64/aarch64.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 15ce49c..16a23d0 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 4a34dce..6fb567a 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))