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.
This commit is contained in:
parent
e97a3063fb
commit
7974a14692
|
@ -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>
|
2020-01-27 Martin Liska <mliska@suse.cz>
|
||||||
|
|
||||||
PR driver/91220
|
PR driver/91220
|
||||||
|
|
|
@ -897,7 +897,7 @@ split_comparison (enum rtx_code code, machine_mode mode,
|
||||||
return false;
|
return false;
|
||||||
case LTGT:
|
case LTGT:
|
||||||
/* Do not turn a trapping comparison into a non-trapping one. */
|
/* Do not turn a trapping comparison into a non-trapping one. */
|
||||||
if (HONOR_SNANS (mode))
|
if (HONOR_NANS (mode))
|
||||||
{
|
{
|
||||||
*code1 = LT;
|
*code1 = LT;
|
||||||
*code2 = GT;
|
*code2 = GT;
|
||||||
|
|
Loading…
Reference in New Issue