From 40131a384c12ca47a142e349af17bc14345015ff Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Thu, 11 Mar 2004 13:39:57 +0000 Subject: [PATCH] * real.c (encode_ibm_extended): Do round low word. From-SVN: r79321 --- gcc/ChangeLog | 4 ++++ gcc/real.c | 5 ++--- 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 + + * real.c (encode_ibm_extended): Do round low word. + 2004-03-11 Ben Elliston * 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