From 7974a14692cec3ecafed24bc275df803373f3230 Mon Sep 17 00:00:00 2001 From: Richard Sandiford Date: Thu, 16 Jan 2020 19:20:18 +0000 Subject: [PATCH] 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 gcc/ * dojump.c (split_comparison): Use HONOR_NANS rather than HONOR_SNANS when splitting LTGT. --- 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 + + * dojump.c (split_comparison): Use HONOR_NANS rather than + HONOR_SNANS when splitting LTGT. + 2020-01-27 Martin Liska 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; -- 2.30.2