qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Richard Henderson <richard.henderson@linaro.org>
To: qemu-devel@nongnu.org
Cc: peter.maydell@linaro.org, Petr Tesarik <ptesarik@suse.com>,
	qemu-stable@nongnu.org
Subject: [Qemu-devel] [PULL 01/28] fpu/softfloat: Fix conversion from uint64 to float128
Date: Wed, 16 May 2018 08:52:16 -0700	[thread overview]
Message-ID: <20180516155243.16937-2-richard.henderson@linaro.org> (raw)
In-Reply-To: <20180516155243.16937-1-richard.henderson@linaro.org>

From: Petr Tesarik <ptesarik@suse.com>

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: qemu-stable@nongnu.org
Tested-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Petr Tesarik <ptesarik@suse.com>
Message-Id: <20180511071052.1443-1-ptesarik@suse.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
 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);
 }
 
 
-- 
2.17.0

  reply	other threads:[~2018-05-16 15:52 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-16 15:52 [Qemu-devel] [PULL 00/28] softfloat patch roundup Richard Henderson
2018-05-16 15:52 ` Richard Henderson [this message]
2018-05-16 15:52 ` [Qemu-devel] [PULL 02/28] fpu/softfloat: Merge NO_SIGNALING_NANS definitions Richard Henderson
2018-05-16 15:52 ` [Qemu-devel] [PULL 03/28] fpu/softfloat: Split floatXX_silence_nan from floatXX_maybe_silence_nan Richard Henderson
2018-05-16 15:52 ` [Qemu-devel] [PULL 04/28] fpu/softfloat: Move softfloat-specialize.h below FloatParts definition Richard Henderson
2018-05-16 15:52 ` [Qemu-devel] [PULL 05/28] fpu/softfloat: Canonicalize NaN fraction Richard Henderson
2018-05-16 15:52 ` [Qemu-devel] [PULL 06/28] fpu/softfloat: Introduce parts_is_snan_frac Richard Henderson
2018-05-16 15:52 ` [Qemu-devel] [PULL 07/28] fpu/softfloat: Replace float_class_dnan with parts_default_nan Richard Henderson
2018-05-16 15:52 ` [Qemu-devel] [PULL 08/28] fpu/softfloat: Replace float_class_msnan with parts_silence_nan Richard Henderson
2018-05-16 15:52 ` [Qemu-devel] [PULL 09/28] target/arm: convert conversion helpers to fpst/ahp_flag Richard Henderson
2018-05-17 10:16   ` Peter Maydell
2018-05-17 22:19     ` Richard Henderson
2018-05-16 15:52 ` [Qemu-devel] [PULL 10/28] target/arm: squash FZ16 behaviour for conversions Richard Henderson
2018-05-16 15:52 ` [Qemu-devel] [PULL 11/28] fpu/softfloat: Partial support for ARM Alternative half-precision Richard Henderson
2018-05-16 15:52 ` [Qemu-devel] [PULL 12/28] fpu/softfloat: re-factor float to float conversions Richard Henderson
2018-05-16 15:52 ` [Qemu-devel] [PULL 13/28] target/arm: Use floatX_silence_nan when we have already checked for SNaN Richard Henderson
2018-05-16 15:52 ` [Qemu-devel] [PULL 14/28] target/arm: Remove floatX_maybe_silence_nan from conversions Richard Henderson
2018-05-16 15:52 ` [Qemu-devel] [PULL 15/28] target/hppa: " Richard Henderson
2018-05-16 15:52 ` [Qemu-devel] [PULL 16/28] target/m68k: Use floatX_silence_nan when we have already checked for SNaN Richard Henderson
2018-05-16 15:52 ` [Qemu-devel] [PULL 17/28] target/mips: Remove floatX_maybe_silence_nan from conversions Richard Henderson
2018-05-16 15:52 ` [Qemu-devel] [PULL 18/28] target/riscv: " Richard Henderson
2018-05-16 15:52 ` [Qemu-devel] [PULL 19/28] target/s390x: " Richard Henderson
2018-05-16 15:52 ` [Qemu-devel] [PULL 20/28] fpu/softfloat: Use float*_silence_nan in propagateFloat*NaN Richard Henderson
2018-05-16 15:52 ` [Qemu-devel] [PULL 21/28] fpu/softfloat: Remove floatX_maybe_silence_nan Richard Henderson
2018-05-16 15:52 ` [Qemu-devel] [PULL 22/28] fpu/softfloat: Specialize on snan_bit_is_one Richard Henderson
2018-05-16 15:52 ` [Qemu-devel] [PULL 23/28] fpu/softfloat: Make is_nan et al available to softfloat-specialize.h Richard Henderson
2018-05-16 15:52 ` [Qemu-devel] [PULL 24/28] fpu/softfloat: Pass FloatClass to pickNaN Richard Henderson
2018-05-16 15:52 ` [Qemu-devel] [PULL 25/28] fpu/softfloat: Pass FloatClass to pickNaNMulAdd Richard Henderson
2018-05-16 15:52 ` [Qemu-devel] [PULL 26/28] fpu/softfloat: Define floatN_default_nan in terms of parts_default_nan Richard Henderson
2018-05-16 15:52 ` [Qemu-devel] [PULL 27/28] fpu/softfloat: Clean up parts_default_nan Richard Henderson
2018-05-16 15:52 ` [Qemu-devel] [PULL 28/28] fpu/softfloat: Define floatN_silence_nan in terms of parts_silence_nan Richard Henderson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180516155243.16937-2-richard.henderson@linaro.org \
    --to=richard.henderson@linaro.org \
    --cc=peter.maydell@linaro.org \
    --cc=ptesarik@suse.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-stable@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).