The roundAndPackFloat16 function should return a float16 value, not a float32 one. Fix that.
Cc: Peter Maydell <[email protected]> Signed-off-by: Aurelien Jarno <[email protected]> --- fpu/softfloat.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Peter, given you are working on softfloat patches, you might want to get this one merged at the same time. diff --git a/fpu/softfloat.c b/fpu/softfloat.c index f1170fe..acc9099 100644 --- a/fpu/softfloat.c +++ b/fpu/softfloat.c @@ -3368,7 +3368,7 @@ static float16 packFloat16(flag zSign, int_fast16_t zExp, uint16_t zSig) | Binary Floating-Point Arithmetic. *----------------------------------------------------------------------------*/ -static float32 roundAndPackFloat16(flag zSign, int_fast16_t zExp, +static float16 roundAndPackFloat16(flag zSign, int_fast16_t zExp, uint32_t zSig, flag ieee, float_status *status) { -- 2.1.4
