From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KwYE1-0007XS-On for qemu-devel@nongnu.org; Sun, 02 Nov 2008 03:22:21 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KwYE0-0007XE-Pm for qemu-devel@nongnu.org; Sun, 02 Nov 2008 03:22:21 -0500 Received: from [199.232.76.173] (port=44930 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KwYE0-0007XB-LK for qemu-devel@nongnu.org; Sun, 02 Nov 2008 03:22:20 -0500 Received: from savannah.gnu.org ([199.232.41.3]:52640 helo=sv.gnu.org) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1KwYE0-0003YC-45 for qemu-devel@nongnu.org; Sun, 02 Nov 2008 03:22:20 -0500 Received: from cvs.savannah.gnu.org ([199.232.41.69]) by sv.gnu.org with esmtp (Exim 4.63) (envelope-from ) id 1KwYDy-0006aS-S1 for qemu-devel@nongnu.org; Sun, 02 Nov 2008 08:22:19 +0000 Received: from aurel32 by cvs.savannah.gnu.org with local (Exim 4.63) (envelope-from ) id 1KwYDy-0006Zr-1a for qemu-devel@nongnu.org; Sun, 02 Nov 2008 08:22:18 +0000 MIME-Version: 1.0 Errors-To: aurel32 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From: Aurelien Jarno Message-Id: Date: Sun, 02 Nov 2008 08:22:18 +0000 Subject: [Qemu-devel] [5595] target-ppc: fix srw on 64-bit targets Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Revision: 5595 http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=5595 Author: aurel32 Date: 2008-11-02 08:22:16 +0000 (Sun, 02 Nov 2008) Log Message: ----------- target-ppc: fix srw on 64-bit targets Signed-off-by: Aurelien Jarno Modified Paths: -------------- trunk/target-ppc/translate.c Modified: trunk/target-ppc/translate.c =================================================================== --- trunk/target-ppc/translate.c 2008-11-01 14:50:20 UTC (rev 5594) +++ trunk/target-ppc/translate.c 2008-11-02 08:22:16 UTC (rev 5595) @@ -2012,7 +2012,7 @@ /* srw & srw. */ GEN_HANDLER(srw, 0x1F, 0x18, 0x10, 0x00000000, PPC_INTEGER) { - TCGv temp; + TCGv temp, temp2; int l1, l2; l1 = gen_new_label(); l2 = gen_new_label(); @@ -2024,8 +2024,10 @@ tcg_gen_br(l2); gen_set_label(l1); tcg_gen_andi_tl(temp, cpu_gpr[rB(ctx->opcode)], 0x3f); - tcg_gen_shr_tl(cpu_gpr[rA(ctx->opcode)], cpu_gpr[rS(ctx->opcode)], temp); - tcg_gen_ext32u_tl(cpu_gpr[rA(ctx->opcode)], cpu_gpr[rA(ctx->opcode)]); + temp2 = tcg_temp_new(TCG_TYPE_TL); + tcg_gen_ext32u_tl(temp2, cpu_gpr[rS(ctx->opcode)]); + tcg_gen_shr_tl(cpu_gpr[rA(ctx->opcode)], temp2, temp); + tcg_temp_free(temp2); gen_set_label(l2); tcg_temp_free(temp); if (unlikely(Rc(ctx->opcode) != 0))