From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KhtM5-0005jJ-Qu for qemu-devel@nongnu.org; Mon, 22 Sep 2008 17:54:05 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KhtM4-0005is-Vd for qemu-devel@nongnu.org; Mon, 22 Sep 2008 17:54:05 -0400 Received: from [199.232.76.173] (port=45261 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KhtM4-0005io-QS for qemu-devel@nongnu.org; Mon, 22 Sep 2008 17:54:04 -0400 Received: from savannah.gnu.org ([199.232.41.3]:51080 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 1KhtM4-0004Li-4s for qemu-devel@nongnu.org; Mon, 22 Sep 2008 17:54:04 -0400 Received: from cvs.savannah.gnu.org ([199.232.41.69]) by sv.gnu.org with esmtp (Exim 4.63) (envelope-from ) id 1KhtM1-0003ol-MF for qemu-devel@nongnu.org; Mon, 22 Sep 2008 21:54:01 +0000 Received: from ths by cvs.savannah.gnu.org with local (Exim 4.63) (envelope-from ) id 1KhtM1-0003oc-6L for qemu-devel@nongnu.org; Mon, 22 Sep 2008 21:54:01 +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: Mon, 22 Sep 2008 21:54:01 +0000 Subject: [Qemu-devel] [5303] Use concet TCG instructions in the MIPS target. 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: 5303 http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=5303 Author: ths Date: 2008-09-22 21:54:00 +0000 (Mon, 22 Sep 2008) Log Message: ----------- Use concet TCG instructions in the MIPS target. Signed-off-by: Thiemo Seufer Modified Paths: -------------- trunk/target-mips/translate.c Modified: trunk/target-mips/translate.c =================================================================== --- trunk/target-mips/translate.c 2008-09-22 20:51:28 UTC (rev 5302) +++ trunk/target-mips/translate.c 2008-09-22 21:54:00 UTC (rev 5303) @@ -2129,7 +2129,6 @@ { TCGv r_tmp1 = tcg_temp_new(TCG_TYPE_I64); TCGv r_tmp2 = tcg_temp_new(TCG_TYPE_I64); - TCGv r_tmp3 = tcg_temp_new(TCG_TYPE_I64); tcg_gen_ext32s_tl(t0, t0); tcg_gen_ext32s_tl(t1, t1); @@ -2138,11 +2137,7 @@ tcg_gen_mul_i64(r_tmp1, r_tmp1, r_tmp2); gen_load_LO(t0, 0); gen_load_HI(t1, 0); - tcg_gen_extu_tl_i64(r_tmp2, t0); - tcg_gen_extu_tl_i64(r_tmp3, t1); - tcg_gen_shli_i64(r_tmp3, r_tmp3, 32); - tcg_gen_or_i64(r_tmp2, r_tmp2, r_tmp3); - tcg_temp_free(r_tmp3); + tcg_gen_concat_tl_i64(r_tmp2, t0, t1); tcg_gen_add_i64(r_tmp1, r_tmp1, r_tmp2); tcg_temp_free(r_tmp2); tcg_gen_trunc_i64_tl(t0, r_tmp1); @@ -2160,7 +2155,6 @@ { TCGv r_tmp1 = tcg_temp_new(TCG_TYPE_I64); TCGv r_tmp2 = tcg_temp_new(TCG_TYPE_I64); - TCGv r_tmp3 = tcg_temp_new(TCG_TYPE_I64); tcg_gen_ext32u_tl(t0, t0); tcg_gen_ext32u_tl(t1, t1); @@ -2169,11 +2163,7 @@ tcg_gen_mul_i64(r_tmp1, r_tmp1, r_tmp2); gen_load_LO(t0, 0); gen_load_HI(t1, 0); - tcg_gen_extu_tl_i64(r_tmp2, t0); - tcg_gen_extu_tl_i64(r_tmp3, t1); - tcg_gen_shli_i64(r_tmp3, r_tmp3, 32); - tcg_gen_or_i64(r_tmp2, r_tmp2, r_tmp3); - tcg_temp_free(r_tmp3); + tcg_gen_concat_tl_i64(r_tmp2, t0, t1); tcg_gen_add_i64(r_tmp1, r_tmp1, r_tmp2); tcg_temp_free(r_tmp2); tcg_gen_trunc_i64_tl(t0, r_tmp1); @@ -2191,7 +2181,6 @@ { TCGv r_tmp1 = tcg_temp_new(TCG_TYPE_I64); TCGv r_tmp2 = tcg_temp_new(TCG_TYPE_I64); - TCGv r_tmp3 = tcg_temp_new(TCG_TYPE_I64); tcg_gen_ext32s_tl(t0, t0); tcg_gen_ext32s_tl(t1, t1); @@ -2200,11 +2189,7 @@ tcg_gen_mul_i64(r_tmp1, r_tmp1, r_tmp2); gen_load_LO(t0, 0); gen_load_HI(t1, 0); - tcg_gen_extu_tl_i64(r_tmp2, t0); - tcg_gen_extu_tl_i64(r_tmp3, t1); - tcg_gen_shli_i64(r_tmp3, r_tmp3, 32); - tcg_gen_or_i64(r_tmp2, r_tmp2, r_tmp3); - tcg_temp_free(r_tmp3); + tcg_gen_concat_tl_i64(r_tmp2, t0, t1); tcg_gen_sub_i64(r_tmp1, r_tmp1, r_tmp2); tcg_temp_free(r_tmp2); tcg_gen_trunc_i64_tl(t0, r_tmp1); @@ -2222,7 +2207,6 @@ { TCGv r_tmp1 = tcg_temp_new(TCG_TYPE_I64); TCGv r_tmp2 = tcg_temp_new(TCG_TYPE_I64); - TCGv r_tmp3 = tcg_temp_new(TCG_TYPE_I64); tcg_gen_ext32u_tl(t0, t0); tcg_gen_ext32u_tl(t1, t1); @@ -2231,11 +2215,7 @@ tcg_gen_mul_i64(r_tmp1, r_tmp1, r_tmp2); gen_load_LO(t0, 0); gen_load_HI(t1, 0); - tcg_gen_extu_tl_i64(r_tmp2, t0); - tcg_gen_extu_tl_i64(r_tmp3, t1); - tcg_gen_shli_i64(r_tmp3, r_tmp3, 32); - tcg_gen_or_i64(r_tmp2, r_tmp2, r_tmp3); - tcg_temp_free(r_tmp3); + tcg_gen_concat_tl_i64(r_tmp2, t0, t1); tcg_gen_sub_i64(r_tmp1, r_tmp1, r_tmp2); tcg_temp_free(r_tmp2); tcg_gen_trunc_i64_tl(t0, r_tmp1);