From: Richard Sandiford Date: Thu, 16 Jan 2020 19:20:18 +0000 (+0000) Subject: dojump: Fix gcc.dg/torture/pr91323.c for aarch64 targets X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7974a14692cec3ecafed24bc275df803373f3230;p=gcc.git 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. --- 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;