2003-06-11 Jeff Johnston <jjohnstn@redhat.com>

* doublest.c (convert_doublest_to_floatformat): When dealing
        with the implied integer bit, only alter mant_bits if we are
        processing a full 32 bits of mantissa.
This commit is contained in:
Jeff Johnston 2003-06-11 23:34:53 +00:00
parent de4f826b0f
commit 0619414842
2 changed files with 15 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2003-06-11 Jeff Johnston <jjohnstn@redhat.com>
* doublest.c (convert_doublest_to_floatformat): When dealing
with the implied integer bit, only alter mant_bits if we are
processing a full 32 bits of mantissa.
2003-06-11 David Carlton <carlton@bactrian.org>
* dictionary.h: New.

View File

@ -404,7 +404,15 @@ convert_doublest_to_floatformat (CONST struct floatformat *fmt,
{
mant_long <<= 1;
mant_long &= 0xffffffffL;
mant_bits -= 1;
/* If we are processing the top 32 mantissa bits of a doublest
so as to convert to a float value with implied integer bit,
we will only be putting 31 of those 32 bits into the
final value due to the discarding of the top bit. In the
case of a small float value where the number of mantissa
bits is less than 32, discarding the top bit does not alter
the number of bits we will be adding to the result. */
if (mant_bits == 32)
mant_bits -= 1;
}
if (mant_bits < 32)