qemu-stable
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-stable] [PATCH v5 01/28] fpu/softfloat: Fix conversion from ui


From: Alex Bennée
Subject: Re: [Qemu-stable] [PATCH v5 01/28] fpu/softfloat: Fix conversion from uint64 to float128
Date: Tue, 15 May 2018 11:52:14 +0100
User-agent: mu4e 1.1.0; emacs 26.1

Richard Henderson <address@hidden> writes:

> From: Petr Tesarik <address@hidden>
>
> The significand is passed to normalizeRoundAndPackFloat128() as high
> first, low second. The current code passes the integer first, so the
> result is incorrectly shifted left by 64 bits.
>
> This bug affects the emulation of s390x instruction CXLGBR (convert
> from logical 64-bit binary-integer operand to extended BFP result).
>
> Cc: address@hidden
> Reviewed-by: Peter Maydell <address@hidden>
> Signed-off-by: Petr Tesarik <address@hidden>
> Message-Id: <address@hidden>
> Signed-off-by: Richard Henderson <address@hidden>
> ---
>  fpu/softfloat.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fpu/softfloat.c b/fpu/softfloat.c
> index bc0f52fa54..d07419324a 100644
> --- a/fpu/softfloat.c
> +++ b/fpu/softfloat.c
> @@ -3147,7 +3147,7 @@ float128 uint64_to_float128(uint64_t a, float_status 
> *status)
>      if (a == 0) {
>          return float128_zero;
>      }
> -    return normalizeRoundAndPackFloat128(0, 0x406E, a, 0, status);
> +    return normalizeRoundAndPackFloat128(0, 0x406E, 0, a, status);

This brings back memories :-/

Reviewed-by: Alex Bennée <address@hidden>

--
Alex Bennée



reply via email to

[Prev in Thread] Current Thread [Next in Thread]