summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoramodra <amodra@138bc75d-0d04-0410-961f-82ee72b054a4>2004-03-11 13:39:57 +0000
committeramodra <amodra@138bc75d-0d04-0410-961f-82ee72b054a4>2004-03-11 13:39:57 +0000
commitf706c513574e21e18171b9f53df05b0a4027290e (patch)
treee977d99500e84e3d5ac691bf24d2c44db0543f58
parenta809239748d82c65c23111930d3d94a49ddb49cd (diff)
downloadppe42-gcc-f706c513574e21e18171b9f53df05b0a4027290e.tar.gz
ppe42-gcc-f706c513574e21e18171b9f53df05b0a4027290e.zip
* real.c (encode_ibm_extended): Do round low word.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@79321 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/real.c5
2 files changed, 6 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 1f7162451ec..318b12f554a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2004-03-11 Alan Modra <amodra@bigpond.net.au>
+
+ * real.c (encode_ibm_extended): Do round low word.
+
2004-03-11 Ben Elliston <bje@wasabisystems.com>
* config/arm/arm.md (is_xscale): Comment this attribute and move
diff --git a/gcc/real.c b/gcc/real.c
index d578ace0883..72766bbec76 100644
--- a/gcc/real.c
+++ b/gcc/real.c
@@ -3248,9 +3248,8 @@ encode_ibm_extended (const struct real_format *fmt, long *buf,
if (u.class == rvc_normal)
{
do_add (&v, &normr, &u, 1);
- /* The low double won't need rounding, since we round to a 106 bit
- mantissa before calling this function, and we've just
- subtracted off the top 54 bits. (53+1 because u is rounded.) */
+ /* Call round_for_format since we might need to denormalize. */
+ round_for_format (base_fmt, &v);
encode_ieee_double (base_fmt, &buf[2], &v);
}
else
OpenPOWER on IntegriCloud