diff options
author | Richard Sandiford <richard.sandiford@arm.com> | 2020-02-20 14:16:12 +0000 |
---|---|---|
committer | Richard Sandiford <richard.sandiford@arm.com> | 2020-02-21 10:17:27 +0000 |
commit | 902d28bd838c4d3f9d28832d387812da2232e1ec (patch) | |
tree | b79c38c73a3b3ddd0fe80a919fa8fd80fb739569 | |
parent | 6f83ceb8cf613d37d010a17b23ebc98cdb8dc89d (diff) | |
download | gcc-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/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/aarch64/aarch64.c | 2 |
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)) |