diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/fp-bit.c | 5 |
2 files changed, 7 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4a08c3258c8..a563b743edf 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 d433452194e..75d2ee1b31d 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; |