Revert the remaining portions of commits 75d62a5856 and 3430b0be36f which are under a SoftFloat-2b license, ie the functions uint64_to_float32() and uint64_to_float64(). (The float64_to_uint64() and float64_to_uint64_round_to_zero() functions were completely rewritten in commits fb3ea83aa and 0a87a3107d so can stay.)
Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> --- fpu/softfloat.c | 35 ----------------------------------- include/fpu/softfloat.h | 2 -- 2 files changed, 37 deletions(-) diff --git a/fpu/softfloat.c b/fpu/softfloat.c index 6041dbd..f79669f 100644 --- a/fpu/softfloat.c +++ b/fpu/softfloat.c @@ -1302,27 +1302,6 @@ float32 int64_to_float32(int64_t a STATUS_PARAM) } -float32 uint64_to_float32(uint64_t a STATUS_PARAM) -{ - int8 shiftCount; - - if ( a == 0 ) return float32_zero; - shiftCount = countLeadingZeros64( a ) - 40; - if ( 0 <= shiftCount ) { - return packFloat32(0, 0x95 - shiftCount, a<<shiftCount); - } - else { - shiftCount += 7; - if ( shiftCount < 0 ) { - shift64RightJamming( a, - shiftCount, &a ); - } - else { - a <<= shiftCount; - } - return roundAndPackFloat32(0, 0x9C - shiftCount, a STATUS_VAR); - } -} - /*---------------------------------------------------------------------------- | Returns the result of converting the 64-bit two's complement integer `a' | to the double-precision floating-point format. The conversion is performed @@ -1342,20 +1321,6 @@ float64 int64_to_float64(int64_t a STATUS_PARAM) } -float64 uint64_to_float64(uint64_t a STATUS_PARAM) -{ - int exp = 0x43C; - - if (a == 0) { - return float64_zero; - } - if ((int64_t)a < 0) { - shift64RightJamming(a, 1, &a); - exp += 1; - } - return normalizeRoundAndPackFloat64(0, exp, a STATUS_VAR); -} - /*---------------------------------------------------------------------------- | Returns the result of converting the 64-bit two's complement integer `a' | to the extended double-precision floating-point format. The conversion diff --git a/include/fpu/softfloat.h b/include/fpu/softfloat.h index 4da5778..772f9a1 100644 --- a/include/fpu/softfloat.h +++ b/include/fpu/softfloat.h @@ -273,9 +273,7 @@ float64 uint32_to_float64(uint32_t STATUS_PARAM); floatx80 int32_to_floatx80(int32_t STATUS_PARAM); float128 int32_to_float128(int32_t STATUS_PARAM); float32 int64_to_float32(int64_t STATUS_PARAM); -float32 uint64_to_float32(uint64_t STATUS_PARAM); float64 int64_to_float64(int64_t STATUS_PARAM); -float64 uint64_to_float64(uint64_t STATUS_PARAM); floatx80 int64_to_floatx80(int64_t STATUS_PARAM); float128 int64_to_float128(int64_t STATUS_PARAM); float128 uint64_to_float128(uint64_t STATUS_PARAM); -- 1.9.1