aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorGeoff Keating <geoffk@cygnus.com>2000-03-22 23:16:21 +0000
committerGeoffrey Keating <geoffk@gcc.gnu.org>2000-03-22 23:16:21 +0000
commitfae8209ac434a651b79bb929d27c5e8ab7d8eab1 (patch)
tree86fedf323ec4045a9e49d7934a5a93dbc3dcf4fa /gcc
parentea2e5dbeca4179d9c4ab0544d17413b4b2c0715e (diff)
downloadgcc-fae8209ac434a651b79bb929d27c5e8ab7d8eab1.zip
gcc-fae8209ac434a651b79bb929d27c5e8ab7d8eab1.tar.gz
gcc-fae8209ac434a651b79bb929d27c5e8ab7d8eab1.tar.bz2
fp-bit.c (pack_d): Correct the case when a denormal is rounded up and stops being denormal.
* config/fp-bit.c (pack_d): Correct the case when a denormal is rounded up and stops being denormal. From-SVN: r32693
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/fp-bit.c5
2 files changed, 7 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 4a08c32..a563b74 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2000-03-22 Geoff Keating <geoffk@cygnus.com>
+
+ * config/fp-bit.c (pack_d): Correct the case when a denormal
+ is rounded up and stops being denormal.
+
2000-03-21 Richard Henderson <rth@cygnus.com>
* config/alpha/alpha.c (function_arg): Check for void_type_node
diff --git a/gcc/config/fp-bit.c b/gcc/config/fp-bit.c
index d4334521..75d2ee1 100644
--- a/gcc/config/fp-bit.c
+++ b/gcc/config/fp-bit.c
@@ -518,10 +518,9 @@ pack_d ( fp_number_type * src)
fraction += GARDROUND;
}
/* Perhaps the rounding means we now need to change the
- exponent. */
- if (fraction >= IMPLICIT_2)
+ exponent, because the fraction is no longer denormal. */
+ if (fraction >= IMPLICIT_1)
{
- fraction >>= 1;
exp += 1;
}
fraction >>= NGARDS;