From: Nathan Froyd <froydnj@codesourcery.com>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 08/12] ARM: Return correct result for single<->double conversion of NaN
Date: Mon, 29 Nov 2010 09:49:28 -0800 [thread overview]
Message-ID: <20101129174928.GE8544@codesourcery.com> (raw)
In-Reply-To: <1290538431-13170-9-git-send-email-peter.maydell@linaro.org>
On Tue, Nov 23, 2010 at 06:53:47PM +0000, Peter Maydell wrote:
> The ARM ARM defines that if the input to a single<->double conversion
> is a NaN then the output is always forced to be a quiet NaN by setting
> the most significant bit of the fraction part.
>
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
>
> @@ -2529,12 +2529,26 @@ float32 VFP_HELPER(tosiz, d)(float64 x, CPUState *env)
> /* floating point conversion */
> float64 VFP_HELPER(fcvtd, s)(float32 x, CPUState *env)
> {
> - return float32_to_float64(x, &env->vfp.fp_status);
> + float64 r = float32_to_float64(x, &env->vfp.fp_status);
> + /* ARM requires that S<->D conversion of any kind of NaN generates
> + * a quiet NaN by forcing the most significant frac bit to 1.
> + */
> + if (float64_is_signaling_nan(r)) {
> + return make_float64(float64_val(r) | (1LL << 51));
> + }
> + return r;
> }
As with other NaN-handling patches, I don't think the bit-twiddling here
is a good idea. Having a float*_maybe_silence_nan function in softfloat
would be a better approach.
-Nathan
next prev parent reply other threads:[~2010-11-29 17:49 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-23 18:53 [Qemu-devel] [PATCH 00/12] [PULL] ARM fixes Peter Maydell
2010-11-23 18:53 ` [Qemu-devel] [PATCH 01/12] target-arm: Add support for PKHxx in thumb2 Peter Maydell
2010-11-29 18:43 ` Nathan Froyd
2010-11-23 18:53 ` [Qemu-devel] [PATCH 02/12] target-arm: Fix mixup in decoding of saturating add and sub Peter Maydell
2010-11-29 17:01 ` Nathan Froyd
2010-11-23 18:53 ` [Qemu-devel] [PATCH 03/12] target-arm: Handle 'smc' as an undefined instruction Peter Maydell
2010-11-29 18:23 ` Nathan Froyd
2010-11-23 18:53 ` [Qemu-devel] [PATCH 04/12] ARM: Fix decoding of VFP forms of VCVT between float and int/fixed Peter Maydell
2010-11-23 18:53 ` [Qemu-devel] [PATCH 05/12] ARM: Fix decoding of Neon forms of VCVT between float and fixed point Peter Maydell
2010-11-29 18:11 ` Nathan Froyd
2010-11-23 18:53 ` [Qemu-devel] [PATCH 06/12] ARM: Fix sense of to_integer bit in Neon VCVT float/int conversion Peter Maydell
2010-11-29 16:34 ` Nathan Froyd
2010-11-23 18:53 ` [Qemu-devel] [PATCH 07/12] ARM: Return correct result for float-to-integer conversion of NaN Peter Maydell
2010-11-29 16:38 ` Nathan Froyd
2010-11-29 16:49 ` Peter Maydell
2010-11-29 16:58 ` Nathan Froyd
2010-11-23 18:53 ` [Qemu-devel] [PATCH 08/12] ARM: Return correct result for single<->double " Peter Maydell
2010-11-29 17:49 ` Nathan Froyd [this message]
2010-11-29 19:25 ` Peter Maydell
2010-11-29 19:54 ` Nathan Froyd
2010-11-29 20:04 ` Peter Maydell
2010-11-29 20:21 ` Nathan Froyd
2010-11-30 11:15 ` Peter Maydell
2010-12-01 15:39 ` Nathan Froyd
2010-12-01 17:52 ` Richard Henderson
2010-12-01 17:54 ` Nathan Froyd
2010-11-23 18:53 ` [Qemu-devel] [PATCH 09/12] ARM: Ignore top 16 bits when doing VCVT from 16 bit fixed point Peter Maydell
2010-11-29 17:02 ` Nathan Froyd
2010-11-23 18:53 ` [Qemu-devel] [PATCH 10/12] softfloat: Add float/double to 16 bit integer conversion functions Peter Maydell
2010-11-29 18:46 ` Nathan Froyd
2010-11-23 18:53 ` [Qemu-devel] [PATCH 11/12] ARM: Implement VCVT to 16 bit integer using new softfloat routines Peter Maydell
2010-11-29 18:47 ` Nathan Froyd
2010-11-23 18:53 ` [Qemu-devel] [PATCH 12/12] ARM: fix ldrexd/strexd Peter Maydell
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=20101129174928.GE8544@codesourcery.com \
--to=froydnj@codesourcery.com \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.