From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:51380) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UOBgQ-000500-Dq for qemu-devel@nongnu.org; Fri, 05 Apr 2013 14:48:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UOBgN-0003oJ-D3 for qemu-devel@nongnu.org; Fri, 05 Apr 2013 14:48:18 -0400 Received: from mail-qc0-x22e.google.com ([2607:f8b0:400d:c01::22e]:58402) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UOBgN-0003oF-9F for qemu-devel@nongnu.org; Fri, 05 Apr 2013 14:48:15 -0400 Received: by mail-qc0-f174.google.com with SMTP id z24so1024048qcq.19 for ; Fri, 05 Apr 2013 11:48:14 -0700 (PDT) Sender: Richard Henderson From: Richard Henderson Date: Fri, 5 Apr 2013 13:47:29 -0500 Message-Id: <1365187661-17023-2-git-send-email-rth@twiddle.net> In-Reply-To: <1365187661-17023-1-git-send-email-rth@twiddle.net> References: <1365187661-17023-1-git-send-email-rth@twiddle.net> Subject: [Qemu-devel] [PULL v2 01/13] tcg-s390: Fix movi List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: aliguori@us.ibm.com, aurelien@aurel32.net The code to load the high 64 bits assumed that the insn used to load the low 64 bits zero-extended. Enforce that. --- tcg/s390/tcg-target.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tcg/s390/tcg-target.c b/tcg/s390/tcg-target.c index e12a152..0132010 100644 --- a/tcg/s390/tcg-target.c +++ b/tcg/s390/tcg-target.c @@ -770,7 +770,7 @@ static void tcg_out_movi(TCGContext *s, TCGType type, /* If we get here, both the high and low parts have non-zero bits. */ /* Recurse to load the lower 32-bits. */ - tcg_out_movi(s, TCG_TYPE_I32, ret, sval); + tcg_out_movi(s, TCG_TYPE_I64, ret, uval & 0xffffffff); /* Insert data into the high 32-bits. */ uval = uval >> 31 >> 1; -- 1.8.1.4