From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:40105) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WPcQn-0006W8-Eo for qemu-devel@nongnu.org; Mon, 17 Mar 2014 14:38:43 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WPcQh-00022V-HN for qemu-devel@nongnu.org; Mon, 17 Mar 2014 14:38:37 -0400 Received: from mail-qc0-x22f.google.com ([2607:f8b0:400d:c01::22f]:52348) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WPcQh-00022H-DW for qemu-devel@nongnu.org; Mon, 17 Mar 2014 14:38:31 -0400 Received: by mail-qc0-f175.google.com with SMTP id e16so6361594qcx.6 for ; Mon, 17 Mar 2014 11:38:31 -0700 (PDT) Sender: Richard Henderson From: Richard Henderson Date: Mon, 17 Mar 2014 11:37:54 -0700 Message-Id: <1395081476-6038-13-git-send-email-rth@twiddle.net> In-Reply-To: <1395081476-6038-1-git-send-email-rth@twiddle.net> References: <1395081476-6038-1-git-send-email-rth@twiddle.net> Subject: [Qemu-devel] [PATCH 12/14] tcg-sparc: Fix small 32-bit movi List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: blauwirbel@gmail.com, aurelien@aurel32.net We tested imm13 before discarding garbage high bits. Signed-off-by: Richard Henderson --- tcg/sparc/tcg-target.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tcg/sparc/tcg-target.c b/tcg/sparc/tcg-target.c index d4ef0d4..6498999 100644 --- a/tcg/sparc/tcg-target.c +++ b/tcg/sparc/tcg-target.c @@ -426,6 +426,11 @@ static void tcg_out_movi(TCGContext *s, TCGType type, { tcg_target_long hi, lo = (int32_t)arg; + /* Make sure we test 32-bit constants for imm13 properly. */ + if (type == TCG_TYPE_I32) { + arg = lo; + } + /* A 13-bit constant sign-extended to 64-bits. */ if (check_fit_tl(arg, 13)) { tcg_out_movi_imm13(s, ret, arg); -- 1.8.5.3