From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JydfA-0001ba-ME for qemu-devel@nongnu.org; Tue, 20 May 2008 22:02:44 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Jydf9-0001bK-2m for qemu-devel@nongnu.org; Tue, 20 May 2008 22:02:44 -0400 Received: from [199.232.76.173] (port=37832 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Jydf9-0001bH-0t for qemu-devel@nongnu.org; Tue, 20 May 2008 22:02:43 -0400 Received: from savannah.gnu.org ([199.232.41.3]:57413 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 1Jydf8-0007Me-Hm for qemu-devel@nongnu.org; Tue, 20 May 2008 22:02:42 -0400 Received: from cvs.savannah.gnu.org ([199.232.41.69]) by sv.gnu.org with esmtp (Exim 4.63) (envelope-from ) id 1Jydf6-0000UC-Lr for qemu-devel@nongnu.org; Wed, 21 May 2008 02:02:40 +0000 Received: from ths by cvs.savannah.gnu.org with local (Exim 4.63) (envelope-from ) id 1Jydf6-0000U6-6P for qemu-devel@nongnu.org; Wed, 21 May 2008 02:02:40 +0000 MIME-Version: 1.0 Errors-To: ths Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From: Thiemo Seufer Message-Id: Date: Wed, 21 May 2008 02:02:40 +0000 Subject: [Qemu-devel] [4506] Switch MIPS movn/movz to TCG. 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: 4506 http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=4506 Author: ths Date: 2008-05-21 02:02:39 +0000 (Wed, 21 May 2008) Log Message: ----------- Switch MIPS movn/movz to TCG. Modified Paths: -------------- trunk/target-mips/op.c trunk/target-mips/translate.c Modified: trunk/target-mips/op.c =================================================================== --- trunk/target-mips/op.c 2008-05-20 19:36:22 UTC (rev 4505) +++ trunk/target-mips/op.c 2008-05-21 02:02:39 UTC (rev 4506) @@ -510,20 +510,6 @@ #endif /* Conditional moves */ -void op_movn (void) -{ - if (T1 != 0) - env->gpr[env->current_tc][PARAM1] = T0; - FORCE_RET(); -} - -void op_movz (void) -{ - if (T1 == 0) - env->gpr[env->current_tc][PARAM1] = T0; - FORCE_RET(); -} - void op_movf (void) { if (!(env->fpu->fcr31 & PARAM1)) Modified: trunk/target-mips/translate.c =================================================================== --- trunk/target-mips/translate.c 2008-05-20 19:36:22 UTC (rev 4505) +++ trunk/target-mips/translate.c 2008-05-21 02:02:39 UTC (rev 4506) @@ -1707,11 +1707,23 @@ opn = "mul"; break; case OPC_MOVN: - gen_op_movn(rd); + { + int l1 = gen_new_label(); + + tcg_gen_brcond_tl(TCG_COND_EQ, cpu_T[1], tcg_const_tl(0), l1); + gen_op_store_gpr_T0(rd); + gen_set_label(l1); + } opn = "movn"; goto print; case OPC_MOVZ: - gen_op_movz(rd); + { + int l1 = gen_new_label(); + + tcg_gen_brcond_tl(TCG_COND_NE, cpu_T[1], tcg_const_tl(0), l1); + gen_op_store_gpr_T0(rd); + gen_set_label(l1); + } opn = "movz"; goto print; case OPC_SLLV: