aboutsummaryrefslogtreecommitdiff
path: root/gcc/real.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2004-03-04 10:23:23 +0000
committerAlan Modra <amodra@gcc.gnu.org>2004-03-04 20:53:23 +1030
commitddc6856430bcef3e68563b08cc513f794a5cb57e (patch)
tree2a5b34507a773fc68de86a6f3a19dec1a8df7b3e /gcc/real.c
parentca87076c9bfac0090fcc26c06dd1c24dc5e72bc9 (diff)
downloadgcc-ddc6856430bcef3e68563b08cc513f794a5cb57e.zip
gcc-ddc6856430bcef3e68563b08cc513f794a5cb57e.tar.gz
gcc-ddc6856430bcef3e68563b08cc513f794a5cb57e.tar.bz2
real.c (encode_ibm_extended): Don't bother rounding low double.
* real.c (encode_ibm_extended): Don't bother rounding low double. * c-cppbuiltin.c (builtin_define_float_constants): Tweak MAX when fmt->pnan < fmt->p. From-SVN: r78900
Diffstat (limited to 'gcc/real.c')
-rw-r--r--gcc/real.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/real.c b/gcc/real.c
index ed671db..d578ace 100644
--- a/gcc/real.c
+++ b/gcc/real.c
@@ -3248,7 +3248,9 @@ encode_ibm_extended (const struct real_format *fmt, long *buf,
if (u.class == rvc_normal)
{
do_add (&v, &normr, &u, 1);
- round_for_format (base_fmt, &v);
+ /* 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.) */
encode_ieee_double (base_fmt, &buf[2], &v);
}
else