summary refs log tree commit diff stats
diff options
context:
space:
mode:
authoredgar_igl <edgar_igl@c046a42c-6fe2-441c-8c8c-71466251a162>2008-10-28 00:13:15 +0000
committeredgar_igl <edgar_igl@c046a42c-6fe2-441c-8c8c-71466251a162>2008-10-28 00:13:15 +0000
commit44696296d5c2ffccef9d43d37d4f525bba7d9f5c (patch)
tree8484202edb9c1ee1e071cc184c651c9ee0153541
parent81d7087514eb067959560c672786c81fc9af39d6 (diff)
downloadfocaccia-qemu-44696296d5c2ffccef9d43d37d4f525bba7d9f5c.tar.gz
focaccia-qemu-44696296d5c2ffccef9d43d37d4f525bba7d9f5c.zip
CRIS: Plug more temp leaks.
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5560 c046a42c-6fe2-441c-8c8c-71466251a162
-rw-r--r--target-cris/translate.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/target-cris/translate.c b/target-cris/translate.c
index 6f71e19c07..49343092af 100644
--- a/target-cris/translate.c
+++ b/target-cris/translate.c
@@ -231,10 +231,9 @@ static void t_gen_lsl(TCGv d, TCGv a, TCGv b)
 	TCGv t0, t_31;
 
 	t0 = tcg_temp_new(TCG_TYPE_TL);
-	t_31 = tcg_temp_new(TCG_TYPE_TL);
+	t_31 = tcg_const_tl(31);
 	tcg_gen_shl_tl(d, a, b);
 
-	tcg_gen_movi_tl(t_31, 31);
 	tcg_gen_sub_tl(t0, t_31, b);
 	tcg_gen_sar_tl(t0, t0, t_31);
 	tcg_gen_and_tl(t0, t0, d);
@@ -929,15 +928,16 @@ static void cris_alu(DisasContext *dc, int op,
 
 	if (op == CC_OP_BOUND || op == CC_OP_BTST)
 		tmp = tcg_temp_local_new(TCG_TYPE_TL);
-	else
-		tmp = tcg_temp_new(TCG_TYPE_TL);
 
 	if (op == CC_OP_CMP) {
+		tmp = tcg_temp_new(TCG_TYPE_TL);
 		writeback = 0;
 	} else if (size == 4) {
 		tmp = d;
 		writeback = 0;
-	}
+	} else
+		tmp = tcg_temp_new(TCG_TYPE_TL);
+
 
 	cris_pre_alu_update_cc(dc, op, op_a, op_b, size);
 	cris_alu_op_exec(dc, op, tmp, op_a, op_b, size);