summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--target-mips/translate.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/target-mips/translate.c b/target-mips/translate.c
index 0473060f7c..0c88d2f072 100644
--- a/target-mips/translate.c
+++ b/target-mips/translate.c
@@ -5790,13 +5790,13 @@ static void gen_movci (DisasContext *ctx, int rd, int rs, int cc, int tf)
t0 = tcg_temp_new_i32();
tcg_gen_andi_i32(t0, fpu_fcr31, get_fp_bit(cc));
tcg_gen_brcondi_i32(cond, t0, 0, l1);
+ tcg_temp_free_i32(t0);
if (rs == 0) {
tcg_gen_movi_tl(cpu_gpr[rd], 0);
} else {
tcg_gen_mov_tl(cpu_gpr[rd], cpu_gpr[rs]);
}
gen_set_label(l1);
- tcg_temp_free_i32(t0);
}
static inline void gen_movcf_s (int fs, int fd, int cc, int tf)
@@ -5832,12 +5832,12 @@ static inline void gen_movcf_d (DisasContext *ctx, int fs, int fd, int cc, int t
tcg_gen_andi_i32(t0, fpu_fcr31, get_fp_bit(cc));
tcg_gen_brcondi_i32(cond, t0, 0, l1);
+ tcg_temp_free_i32(t0);
fp0 = tcg_temp_local_new_i64();
gen_load_fpr64(ctx, fp0, fs);
gen_store_fpr64(ctx, fp0, fd);
tcg_temp_free_i64(fp0);
gen_set_label(l1);
- tcg_temp_free_i32(t0);
}
static inline void gen_movcf_ps (int fs, int fd, int cc, int tf)
@@ -5860,11 +5860,11 @@ static inline void gen_movcf_ps (int fs, int fd, int cc, int tf)
tcg_gen_andi_i32(t0, fpu_fcr31, get_fp_bit(cc+1));
tcg_gen_brcondi_i32(cond, t0, 0, l2);
+ tcg_temp_free_i32(t0);
gen_load_fpr32h(t0, fs);
gen_store_fpr32h(t0, fd);
gen_set_label(l2);
- tcg_temp_free_i32(t0);
}