From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Lrfcc-0004JH-CQ for qemu-devel@nongnu.org; Wed, 08 Apr 2009 17:47:50 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Lrfcb-0004Ip-PX for qemu-devel@nongnu.org; Wed, 08 Apr 2009 17:47:49 -0400 Received: from [199.232.76.173] (port=51480 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Lrfcb-0004Ig-D9 for qemu-devel@nongnu.org; Wed, 08 Apr 2009 17:47:49 -0400 Received: from savannah.gnu.org ([199.232.41.3]:40109 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 1Lrfcb-0003pL-3O for qemu-devel@nongnu.org; Wed, 08 Apr 2009 17:47:49 -0400 Received: from cvs.savannah.gnu.org ([199.232.41.69]) by sv.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Lrfca-0002og-Fj for qemu-devel@nongnu.org; Wed, 08 Apr 2009 21:47:48 +0000 Received: from aurel32 by cvs.savannah.gnu.org with local (Exim 4.69) (envelope-from ) id 1LrfcW-0002lb-Ii for qemu-devel@nongnu.org; Wed, 08 Apr 2009 21:47:48 +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: Wed, 08 Apr 2009 21:47:44 +0000 Subject: [Qemu-devel] [7041] target-mips: optimize gen_cp1() 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: 7041 http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=7041 Author: aurel32 Date: 2009-04-08 21:47:44 +0000 (Wed, 08 Apr 2009) Log Message: ----------- target-mips: optimize gen_cp1() Signed-off-by: Aurelien Jarno Modified Paths: -------------- trunk/target-mips/translate.c Modified: trunk/target-mips/translate.c =================================================================== --- trunk/target-mips/translate.c 2009-04-08 21:47:35 UTC (rev 7040) +++ trunk/target-mips/translate.c 2009-04-08 21:47:44 UTC (rev 7041) @@ -5578,7 +5578,7 @@ static void gen_cp1 (DisasContext *ctx, uint32_t opc, int rt, int fs) { const char *opn = "cp1 move"; - TCGv t0 = tcg_temp_local_new(); + TCGv t0 = tcg_temp_new(); switch (opc) { case OPC_MFC1: @@ -5613,28 +5613,18 @@ gen_helper_1i(ctc1, t0, fs); opn = "ctc1"; break; +#if defined(TARGET_MIPS64) case OPC_DMFC1: - { - TCGv_i64 fp0 = tcg_temp_new_i64(); - - gen_load_fpr64(ctx, fp0, fs); - tcg_gen_trunc_i64_tl(t0, fp0); - tcg_temp_free_i64(fp0); - } + gen_load_fpr64(ctx, t0, fs); gen_store_gpr(t0, rt); opn = "dmfc1"; break; case OPC_DMTC1: gen_load_gpr(t0, rt); - { - TCGv_i64 fp0 = tcg_temp_new_i64(); - - tcg_gen_extu_tl_i64(fp0, t0); - gen_store_fpr64(ctx, fp0, fs); - tcg_temp_free_i64(fp0); - } + gen_store_fpr64(ctx, t0, fs); opn = "dmtc1"; break; +#endif case OPC_MFHC1: { TCGv_i32 fp0 = tcg_temp_new_i32();