diff options
author | amodra <amodra@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-03-04 10:23:23 +0000 |
---|---|---|
committer | amodra <amodra@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-03-04 10:23:23 +0000 |
commit | 773d69917577e5c6708f7005e2055bf7347a2ec1 (patch) | |
tree | 2a5b34507a773fc68de86a6f3a19dec1a8df7b3e /gcc/real.c | |
parent | 7262f0b8f13f7befe0dedc0755d61fc0a9fd8516 (diff) | |
download | gcc-773d69917577e5c6708f7005e2055bf7347a2ec1.tar.gz |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@78900 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/real.c')
-rw-r--r-- | gcc/real.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/real.c b/gcc/real.c index ed671db0e4d..d578ace0883 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 |