[gcc/devel/ranger] dojump: Fix gcc.dg/torture/pr91323.c for aarch64 targets
Aldy Hernandez
aldyh@gcc.gnu.org
Wed Jun 17 18:19:58 GMT 2020
https://gcc.gnu.org/g:7974a14692cec3ecafed24bc275df803373f3230
commit 7974a14692cec3ecafed24bc275df803373f3230
Author: Richard Sandiford <richard.sandiford@arm.com>
Date: Thu Jan 16 19:20:18 2020 +0000
dojump: Fix gcc.dg/torture/pr91323.c for aarch64 targets
PR91323 was fixed for x86 and sparc in target code, but aarch64
instead relies on the target-independent comparison splitters.
Since LTGT is an unordered-signalling operation, we should split
it into unordered-signalling operations for any input that could
be NaN, not just inputs that could be signalling NaNs.
2020-01-27 Richard Sandiford <richard.sandiford@arm.com>
gcc/
* dojump.c (split_comparison): Use HONOR_NANS rather than
HONOR_SNANS when splitting LTGT.
Diff:
---
gcc/ChangeLog | 5 +++++
gcc/dojump.c | 2 +-
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 3541c6638f9..36932a17a6d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2020-01-27 Richard Sandiford <richard.sandiford@arm.com>
+
+ * dojump.c (split_comparison): Use HONOR_NANS rather than
+ HONOR_SNANS when splitting LTGT.
+
2020-01-27 Martin Liska <mliska@suse.cz>
PR driver/91220
diff --git a/gcc/dojump.c b/gcc/dojump.c
index 7bf578a7178..28b47b7ab6d 100644
--- a/gcc/dojump.c
+++ b/gcc/dojump.c
@@ -897,7 +897,7 @@ split_comparison (enum rtx_code code, machine_mode mode,
return false;
case LTGT:
/* Do not turn a trapping comparison into a non-trapping one. */
- if (HONOR_SNANS (mode))
+ if (HONOR_NANS (mode))
{
*code1 = LT;
*code2 = GT;
More information about the Gcc-cvs
mailing list