public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Andrew Waterman <andrew@sifive.com>
To: Jakub Jelinek <jakub@redhat.com>
Cc: Aldy Hernandez <aldyh@redhat.com>,
	GCC patches <gcc-patches@gcc.gnu.org>,
	 Andrew MacLeod <amacleod@redhat.com>
Subject: Re: [PATCH] [PR24021] Implement PLUS_EXPR range-op entry for floats.
Date: Tue, 8 Nov 2022 09:44:40 -0800	[thread overview]
Message-ID: <CA++6G0ARfnMA54pbc1UQ1mf4maxR=GbDd+qcDgCGwZ1nFkK_Pg@mail.gmail.com> (raw)
In-Reply-To: <Y2o7bdPhkVkp61qy@tucnak>

On Tue, Nov 8, 2022 at 3:20 AM Jakub Jelinek via Gcc-patches
<gcc-patches@gcc.gnu.org> wrote:
>
> On Mon, Nov 07, 2022 at 04:41:23PM +0100, Aldy Hernandez wrote:
> > As suggested upthread, I have also adjusted update_nan_sign() to drop
> > the NAN sign to VARYING if both operands are NAN.  As an optimization
> > I keep the sign if both operands are NAN and have the same sign.
>
> For NaNs this still relies on something IEEE754 doesn't guarantee,
> as I cited, after a binary operation the sign bit of the NaN is
> unspecified, whether there is one NaN operand or two.
> It might be that all CPUs handle it the way you've implemented
> (that for one NaN operand the sign of NaN result will be the same
> as that NaN operand and for two it will be the sign of one of the two
> NaNs operands, never something else), but I think we'd need to check
> more than one implementation for that (I've only tried x86_64 and thus
> SSE behavior in it), so one would need to test i387 long double behavior
> too, ARM/AArch64, PowerPC, s390{,x}, RISCV, ...
> The guarantee given by IEEE754 is only for those copy, negate, abs, copySign
> operations, so copying values around, NEG_EXPR, ABS_EXPR, __builtin_fabs*,
> __builtin_copysign*.

FWIW, RISC-V canonicalizes NaNs by clearing the sign bit; the signs of
the input NaNs do not factor in.

>
> Otherwise LGTM (but would be nice to get into GCC13 not just
> +, but also -, *, /, sqrt at least).
>
>         Jakub
>

  parent reply	other threads:[~2022-11-08 17:44 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-13 12:36 Aldy Hernandez
2022-10-13 13:02 ` Toon Moene
2022-10-13 13:44   ` Aldy Hernandez
2022-10-13 13:52     ` Toon Moene
2022-10-14  8:04       ` Aldy Hernandez
2022-10-13 17:57 ` Jakub Jelinek
2022-10-17  6:21   ` Aldy Hernandez
2022-10-24  6:04     ` Aldy Hernandez
2022-10-29  4:55       ` Jeff Law
2022-10-31  8:42       ` Aldy Hernandez
2022-11-04 13:16     ` Jakub Jelinek
2022-11-04 19:14     ` Jakub Jelinek
2022-11-04 19:53       ` Jakub Jelinek
2022-11-07 12:35         ` Aldy Hernandez
2022-11-07 12:43           ` Jakub Jelinek
2022-11-07 12:48             ` Aldy Hernandez
2022-11-07 12:56               ` Jakub Jelinek
2022-11-07 15:38                 ` Aldy Hernandez
2022-11-08 11:07                   ` Jakub Jelinek
2022-11-08 12:47                     ` Aldy Hernandez
2022-11-08 13:15                       ` Jakub Jelinek
2022-11-08 14:02                         ` Aldy Hernandez
2022-11-08 14:03                           ` Jakub Jelinek
2022-11-07 15:41       ` Aldy Hernandez
2022-11-08 11:20         ` Jakub Jelinek
2022-11-08 13:06           ` Aldy Hernandez
2022-11-08 13:24             ` Jakub Jelinek
2022-11-08 13:47               ` Aldy Hernandez
2022-11-08 13:50                 ` Jakub Jelinek
2022-11-08 14:06                   ` Aldy Hernandez
2022-11-08 14:11                     ` Jakub Jelinek
2022-11-08 14:14                       ` Aldy Hernandez
2022-11-08 23:05                       ` Aldy Hernandez
2022-11-09  6:59                         ` Aldy Hernandez
2022-11-08 17:44           ` Andrew Waterman [this message]
2022-11-08 18:11             ` Jakub Jelinek
2022-11-08 18:17               ` Andrew Waterman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CA++6G0ARfnMA54pbc1UQ1mf4maxR=GbDd+qcDgCGwZ1nFkK_Pg@mail.gmail.com' \
    --to=andrew@sifive.com \
    --cc=aldyh@redhat.com \
    --cc=amacleod@redhat.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=jakub@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).