From: Richard Henderson <richard.henderson@linaro.org>
To: "Alex Bennée" <alex.bennee@linaro.org>,
peter.maydell@linaro.org, laurent@vivier.eu,
bharata@linux.vnet.ibm.com, andrew@andrewdutcher.com
Cc: qemu-devel@nongnu.org, Aurelien Jarno <aurelien@aurel32.net>
Subject: Re: [Qemu-devel] [PATCH v3 16/22] fpu/softfloat: re-factor round_to_int
Date: Wed, 24 Jan 2018 09:51:04 -0800 [thread overview]
Message-ID: <1649f8cf-7346-21e7-59f4-896bc7bfb8f6@linaro.org> (raw)
In-Reply-To: <20180124131315.30567-17-alex.bennee@linaro.org>
On 01/24/2018 05:13 AM, Alex Bennée wrote:
> +static FloatParts round_to_int(FloatParts a, int rounding_mode, float_status *s)
> +{
> +
> + switch (a.cls) {
> + case float_class_snan:
> + a.cls = s->default_nan_mode ? float_class_dnan : float_class_msnan;
> + s->float_exception_flags |= float_flag_invalid;
> + break;
> + case float_class_zero:
> + case float_class_inf:
> + case float_class_qnan:
> + /* already "integral" */
> + break;
This mishandles float_class_qnan + default_nan_mode.
Consider how this would pass though pick_nan_parts(a, a, s).
I suspect a single-argument version of pick_nan_parts would be helpful:
static FloatParts return_nan(FloatParts a, float_status *s)
{
switch (a.cls) {
case float_class_snan:
s->float_exception_flags |= float_flag_invalid;
a.cls = float_class_msnan;
/* FALLTHRU */
case float_class_qnan:
if (s->default_nan_mode) {
a.cls = float_class_dnan;
}
break;
default:
g_assert_not_reached();
}
}
and use this in round_to_int, scalbn, and sqrt.
r~
next prev parent reply other threads:[~2018-01-24 17:51 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-24 13:12 [Qemu-devel] [PATCH v3 00/22] re-factor softfloat and add fp16 functions Alex Bennée
2018-01-24 13:12 ` [Qemu-devel] [PATCH v3 01/22] fpu/softfloat: implement float16_squash_input_denormal Alex Bennée
2018-01-24 13:12 ` [Qemu-devel] [PATCH v3 02/22] include/fpu/softfloat: remove USE_SOFTFLOAT_STRUCT_TYPES Alex Bennée
2018-01-24 16:30 ` Richard Henderson
2018-01-24 13:12 ` [Qemu-devel] [PATCH v3 03/22] fpu/softfloat-types: new header to prevent excessive re-builds Alex Bennée
2018-01-24 16:31 ` Richard Henderson
2018-01-24 13:12 ` [Qemu-devel] [PATCH v3 04/22] target/*/cpu.h: remove softfloat.h Alex Bennée
2018-01-24 14:11 ` Philippe Mathieu-Daudé
2018-01-24 16:33 ` Richard Henderson
2018-01-24 22:12 ` David Gibson
2018-01-24 13:12 ` [Qemu-devel] [PATCH v3 05/22] include/fpu/softfloat: implement float16_abs helper Alex Bennée
2018-01-24 13:12 ` [Qemu-devel] [PATCH v3 06/22] include/fpu/softfloat: implement float16_chs helper Alex Bennée
2018-01-24 13:13 ` [Qemu-devel] [PATCH v3 07/22] include/fpu/softfloat: implement float16_set_sign helper Alex Bennée
2018-01-24 14:12 ` Philippe Mathieu-Daudé
2018-01-24 16:34 ` Richard Henderson
2018-01-24 13:13 ` [Qemu-devel] [PATCH v3 08/22] include/fpu/softfloat: add some float16 constants Alex Bennée
2018-01-24 16:34 ` Richard Henderson
2018-01-24 13:13 ` [Qemu-devel] [PATCH v3 09/22] fpu/softfloat: improve comments on ARM NaN propagation Alex Bennée
2018-01-24 13:13 ` [Qemu-devel] [PATCH v3 10/22] fpu/softfloat: move the extract functions to the top of the file Alex Bennée
2018-01-24 13:13 ` [Qemu-devel] [PATCH v3 11/22] fpu/softfloat: define decompose structures Alex Bennée
2018-01-24 14:22 ` Philippe Mathieu-Daudé
2018-01-24 13:13 ` [Qemu-devel] [PATCH v3 12/22] fpu/softfloat: re-factor add/sub Alex Bennée
2018-01-24 14:33 ` Philippe Mathieu-Daudé
2018-01-24 14:37 ` Philippe Mathieu-Daudé
2018-01-24 13:13 ` [Qemu-devel] [PATCH v3 13/22] fpu/softfloat: re-factor mul Alex Bennée
2018-01-24 16:53 ` Richard Henderson
2018-01-24 13:13 ` [Qemu-devel] [PATCH v3 14/22] fpu/softfloat: re-factor div Alex Bennée
2018-01-24 16:58 ` Richard Henderson
2018-01-24 13:13 ` [Qemu-devel] [PATCH v3 15/22] fpu/softfloat: re-factor muladd Alex Bennée
2018-01-24 17:24 ` Richard Henderson
2018-01-24 13:13 ` [Qemu-devel] [PATCH v3 16/22] fpu/softfloat: re-factor round_to_int Alex Bennée
2018-01-24 17:51 ` Richard Henderson [this message]
2018-01-24 13:13 ` [Qemu-devel] [PATCH v3 17/22] fpu/softfloat: re-factor float to int/uint Alex Bennée
2018-01-24 13:13 ` [Qemu-devel] [PATCH v3 18/22] fpu/softfloat: re-factor int/uint to float Alex Bennée
2018-01-24 13:13 ` [Qemu-devel] [PATCH v3 19/22] fpu/softfloat: re-factor scalbn Alex Bennée
2018-01-24 17:41 ` Richard Henderson
2018-01-29 11:59 ` Alex Bennée
2018-01-29 15:50 ` Richard Henderson
2018-01-29 15:56 ` Richard Henderson
2018-01-24 13:13 ` [Qemu-devel] [PATCH v3 20/22] fpu/softfloat: re-factor minmax Alex Bennée
2018-01-24 17:31 ` Richard Henderson
2018-01-24 13:13 ` [Qemu-devel] [PATCH v3 21/22] fpu/softfloat: re-factor compare Alex Bennée
2018-01-24 17:32 ` Richard Henderson
2018-01-24 13:13 ` [Qemu-devel] [PATCH v3 22/22] fpu/softfloat: re-factor sqrt Alex Bennée
2018-01-24 17:34 ` Richard Henderson
2018-01-24 13:42 ` [Qemu-devel] [PATCH v3 00/22] re-factor softfloat and add fp16 functions no-reply
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=1649f8cf-7346-21e7-59f4-896bc7bfb8f6@linaro.org \
--to=richard.henderson@linaro.org \
--cc=alex.bennee@linaro.org \
--cc=andrew@andrewdutcher.com \
--cc=aurelien@aurel32.net \
--cc=bharata@linux.vnet.ibm.com \
--cc=laurent@vivier.eu \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
/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 NNTP newsgroup(s).