public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: Mike Frysinger <vapier@gentoo.org>
To: Faraz Shahbazker <fshahbazker@wavecomp.com>
Cc: gdb-patches@sourceware.org,
	"Maciej W . Rozycki" <macro@orcam.me.uk>,
	Chao-ying Fu <cfu@wavecomp.com>
Subject: Re: [PATCH 2/5] sim: Factor out NaN handling in floating point operations
Date: Fri, 21 May 2021 21:25:21 -0400	[thread overview]
Message-ID: <YKhdgW5gza2N3rPS@vapier> (raw)
In-Reply-To: <20210520074554.1465327-3-fshahbazker@wavecomp.com>

On 20 May 2021 13:15, Faraz Shahbazker wrote:
> --- a/sim/common/sim-fpu.c
> +++ b/sim/common/sim-fpu.c
>  
> +/* NaN handling for binary operations.  */
>  
> +INLINE_SIM_FPU (int)
> +sim_fpu_op_nan (sim_fpu *f, const sim_fpu *l, const sim_fpu *r)
> +{
> +  if (sim_fpu_is_snan (l) || sim_fpu_is_snan (r))
> +    {
> +      *f = sim_fpu_is_snan (l) ? *l : *r;
> +      f->class = sim_fpu_class_qnan;
> +      return sim_fpu_status_invalid_snan;
> +    }
> +   ASSERT (sim_fpu_is_nan (l) || sim_fpu_is_nan (r));

indent style of this func needs fixing as it's all over the place

> +   if (sim_fpu_is_qnan (l))
> +	*f = *l;
> +   else /* if (sim_fpu_is_qnan (r)) */
> +    *f = *r;

so some of the logic you replaced below do:
	if (sim_fpu_is_qnan (l))
	  {
	    *f = *l;
	    return 0;
	  }
	if (sim_fpu_is_qnan (r))
	  {
	    *f = *r;
	    return 0;
	  }

but others do:
	if (sim_fpu_is_qnan (l))
	  {
	    *f = *l;
	    f->class = sim_fpu_class_qnan;
	    return 0;
	  }
	if (sim_fpu_is_qnan (r))
	  {
	    *f = *r;
	    f->class = sim_fpu_class_qnan;
	    return 0;
	  }

it seems like we should have been consistently doing the latter ?
so it's a good time to fix with your new helper.

> +    return sim_fpu_op_nan (f, l, r);x

looks like you have a typo in there.  might want to do a compile test.
-mike

  reply	other threads:[~2021-05-22  1:25 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-20  7:45 [PATCH 0/5] Add support for MIPS32/64 revision 6 Faraz Shahbazker
2021-05-20  7:45 ` [PATCH 1/5] sim: Allow toggling of quiet NaN-bit semantics Faraz Shahbazker
2021-05-22  1:16   ` Mike Frysinger
2021-05-20  7:45 ` [PATCH 2/5] sim: Factor out NaN handling in floating point operations Faraz Shahbazker
2021-05-22  1:25   ` Mike Frysinger [this message]
2021-05-23  6:32     ` [EXTERNAL]Re: " Faraz Shahbazker
2021-05-24  1:26       ` Mike Frysinger
2021-05-20  7:45 ` [PATCH 3/5] sim: Add partial support for IEEE 754-2008 Faraz Shahbazker
2021-05-22  1:34   ` Mike Frysinger
2021-05-20  7:45 ` [PATCH 4/5] sim: mips: Add simulator support for mips32r6/mips64r6 Faraz Shahbazker
2021-05-22  1:46   ` Mike Frysinger
2021-05-22  6:20     ` Eli Zaretskii
2021-06-27 19:25       ` [EXTERNAL]Re: " Faraz Shahbazker
2021-06-27 19:33         ` Simon Marchi
2021-06-27 19:44           ` Eli Zaretskii
2021-06-27 20:24             ` Faraz Shahbazker
2021-06-28 12:17               ` Eli Zaretskii
2021-07-02 10:10                 ` Faraz Shahbazker
2021-12-24 18:42                   ` Mike Frysinger
2021-06-28  1:16           ` Mike Frysinger
2021-05-22  6:44     ` Faraz Shahbazker
2021-05-24 17:57     ` [PATCH v2 0/5] Add support for MIPS32/64 revision 6 Faraz Shahbazker
2021-05-24 17:57       ` [PATCH v2 1/5] sim: Allow toggling of quiet NaN-bit semantics Faraz Shahbazker
2021-05-24 17:57       ` [PATCH v2 2/5] sim: Factor out NaN handling in floating point operations Faraz Shahbazker
2021-05-24 17:58       ` [PATCH v2 3/5] sim: Add partial support for IEEE 754-2008 Faraz Shahbazker
2021-05-24 17:58       ` [PATCH v2 4/5] sim: mips: Add simulator support for mips32r6/mips64r6 Faraz Shahbazker
2021-05-24 17:58       ` [PATCH v2 5/5] gdb: mips: Add MIPSR6 support Faraz Shahbazker
2021-05-29  1:53         ` Simon Marchi
2021-06-27 19:10           ` [PATCH v3 " Faraz Shahbazker
2021-05-20  7:45 ` [PATCH " Faraz Shahbazker
2022-02-02 10:17 ` [PATCH v5 0/4] sim: Add support for MIPS32/64 revision 6 Dragan Mladjenovic
2022-02-02 10:17   ` [PATCH v5 1/4] sim: Allow toggling of quiet NaN-bit semantics Dragan Mladjenovic
2022-02-02 10:17   ` [PATCH v5 2/4] sim: Factor out NaN handling in floating point operations Dragan Mladjenovic
2022-02-02 10:17   ` [PATCH v5 3/4] sim: Add partial support for IEEE 754-2008 Dragan Mladjenovic
2022-02-02 10:17   ` [PATCH v5 4/4] sim: mips: Add simulator support for mips32r6/mips64r6 Dragan Mladjenovic
2022-12-25  0:26     ` Mike Frysinger
2022-12-27 19:35       ` Dragan Mladjenovic
2022-12-28  0:12         ` Mike Frysinger
2023-01-13 14:09           ` Dragan Mladjenovic
2022-02-04  5:48   ` [PATCH v5 0/4] sim: Add support for MIPS32/64 revision 6 Mike Frysinger
2022-02-04 12:29     ` Dragan Mladjenovic
2022-02-06 14:57       ` Joel Brobecker
2022-02-06 15:38         ` Dragan Mladjenovic
2022-02-06 16:28           ` Joel Brobecker
2022-02-06 18:49             ` Mike Frysinger
2022-02-07 11:48               ` Dragan Mladjenovic
2022-02-13 13:43                 ` Joel Brobecker
2022-02-14  0:04                   ` Mike Frysinger
2022-04-15  7:24                     ` Dragan Mladjenovic
2022-04-15  7:35                       ` Eli Zaretskii

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=YKhdgW5gza2N3rPS@vapier \
    --to=vapier@gentoo.org \
    --cc=cfu@wavecomp.com \
    --cc=fshahbazker@wavecomp.com \
    --cc=gdb-patches@sourceware.org \
    --cc=macro@orcam.me.uk \
    /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).