From: Daniel Jacobowitz <drow@false.org>
To: qemu-devel@nongnu.org
Subject: [Qemu-devel] Another MIPS quiet NaN fix
Date: Mon, 24 Sep 2007 09:37:29 -0400 [thread overview]
Message-ID: <20070924133729.GA13307@caradoc.them.org> (raw)
Glibc's test-float failed on my qemu testing. I tracked it down to
these routines: if you count the bits carefully, you'll see that
0x7FC00000 sets the quiet NaN bit (on most hardware - signalling NaN
in the MIPS case); so does a.high >> 41, which copies it from the
original NaN. I think this routine should not force a quiet or
signalling NaN, but just preserve the input NaN's signalling-ness.
With the patch below, everything passes. cvt.d.s still produces an
ugly pattern different from the one real hardware produces when
converting a single-precision NaN to double; but now it's a quiet
NaN if the input was a quiet NaN so exp10(NaN) no longer raises
Invalid.
--
Daniel Jacobowitz
CodeSourcery
--- fpu/softfloat-specialize.h (revision 182529)
+++ fpu/softfloat-specialize.h (local)
@@ -120,9 +120,7 @@ static commonNaNT float32ToCommonNaN( fl
static float32 commonNaNToFloat32( commonNaNT a )
{
-
- return ( ( (bits32) a.sign )<<31 ) | 0x7FC00000 | ( a.high>>41 );
-
+ return ( ( (bits32) a.sign )<<31 ) | 0x7F800000 | ( a.high>>41 );
}
/*----------------------------------------------------------------------------
@@ -233,7 +231,7 @@ static float64 commonNaNToFloat64( commo
return
( ( (bits64) a.sign )<<63 )
- | LIT64( 0x7FF8000000000000 )
+ | LIT64( 0x7FF0000000000000 )
| ( a.high>>12 );
}
next reply other threads:[~2007-09-24 13:37 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-09-24 13:37 Daniel Jacobowitz [this message]
2007-09-24 14:05 ` [Qemu-devel] Another MIPS quiet NaN fix Andreas Schwab
2007-09-24 15:45 ` Daniel Jacobowitz
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=20070924133729.GA13307@caradoc.them.org \
--to=drow@false.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.