softfloat: roundAndPackInt{32, 64}: Don't assume int32 is 32 bits
Fix code in roundAndPackInt32 that assumed that int32 was only 32 bits, by simply using int32_t instead. Fix the parallel bug in roundAndPackInt64 as well, although that one is only theoretical since it's unlikely that int64 will ever be more than 64 bits. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
This commit is contained in:
parent
b3a6a2e041
commit
760e141613
@ -117,7 +117,7 @@ static int32 roundAndPackInt32( flag zSign, uint64_t absZ STATUS_PARAM)
|
|||||||
int8 roundingMode;
|
int8 roundingMode;
|
||||||
flag roundNearestEven;
|
flag roundNearestEven;
|
||||||
int8 roundIncrement, roundBits;
|
int8 roundIncrement, roundBits;
|
||||||
int32 z;
|
int32_t z;
|
||||||
|
|
||||||
roundingMode = STATUS(float_rounding_mode);
|
roundingMode = STATUS(float_rounding_mode);
|
||||||
roundNearestEven = ( roundingMode == float_round_nearest_even );
|
roundNearestEven = ( roundingMode == float_round_nearest_even );
|
||||||
@ -166,7 +166,7 @@ static int64 roundAndPackInt64( flag zSign, uint64_t absZ0, uint64_t absZ1 STATU
|
|||||||
{
|
{
|
||||||
int8 roundingMode;
|
int8 roundingMode;
|
||||||
flag roundNearestEven, increment;
|
flag roundNearestEven, increment;
|
||||||
int64 z;
|
int64_t z;
|
||||||
|
|
||||||
roundingMode = STATUS(float_rounding_mode);
|
roundingMode = STATUS(float_rounding_mode);
|
||||||
roundNearestEven = ( roundingMode == float_round_nearest_even );
|
roundNearestEven = ( roundingMode == float_round_nearest_even );
|
||||||
|
Loading…
Reference in New Issue
Block a user