This is the mail archive of the
mailing list for the GCC project.
Re: Rewrite some jump.c routines to use flags
- From: Richard Sandiford <richard dot sandiford at arm dot com>
- To: Eric Botcazou <ebotcazou at adacore dot com>
- Cc: <gcc-patches at gcc dot gnu dot org>
- Date: Fri, 12 Jul 2019 11:31:55 +0100
- Subject: Re: Rewrite some jump.c routines to use flags
- References: <firstname.lastname@example.org> <3970490.yAij4KOnj2@polaris> <email@example.com> <4683101.0dOKtXP93x@polaris>
Eric Botcazou <firstname.lastname@example.org> writes:
>> ...trapping on signalling NaNs is enough for the field to be true.
> So what's the point in encoding this? The main distinction, and the only one
> relevant for the RTL middle-end, is whether the operator traps on quiet NaNs
> since this can change the comparison instruction emitted by the back-end.
AIUI, neither ORDERED nor UNEQ trap on signalling NaNs. Without this,
the follow-on patch would fold
(and (ordered x y) (uneq x y)) -> (eq x y)
which is the same thing for quiet NaNs but not for signalling NaNs.