aboutsummaryrefslogtreecommitdiff
path: root/target-mips/translate.c
diff options
context:
space:
mode:
authorths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>2008-06-10 01:18:32 +0000
committerths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>2008-06-10 01:18:32 +0000
commit2c2435bdd498ab177469bec25a44e915a4d4a63a (patch)
tree820b5a1b64478d8426b94deb3284296731600a72 /target-mips/translate.c
parenta8303d18e044b9c808c27a9c48888c6e639a321d (diff)
Fix data type mixup, spotted by malc.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4724 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-mips/translate.c')
-rw-r--r--target-mips/translate.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/target-mips/translate.c b/target-mips/translate.c
index c744c9afb5..0bd6fd9a61 100644
--- a/target-mips/translate.c
+++ b/target-mips/translate.c
@@ -2595,11 +2595,8 @@ static inline void gen_mfc0_load32 (TCGv t, target_ulong off)
static inline void gen_mfc0_load64 (TCGv t, target_ulong off)
{
- TCGv r_tmp = tcg_temp_new(TCG_TYPE_I64);
-
- tcg_gen_ld_i64(r_tmp, cpu_env, off);
- tcg_gen_trunc_i64_tl(t, r_tmp);
- tcg_temp_free(r_tmp);
+ tcg_gen_ld_tl(t, cpu_env, off);
+ tcg_gen_ext32s_tl(t, t);
}
static inline void gen_mtc0_store32 (TCGv t, target_ulong off)
@@ -2613,11 +2610,8 @@ static inline void gen_mtc0_store32 (TCGv t, target_ulong off)
static inline void gen_mtc0_store64 (TCGv t, target_ulong off)
{
- TCGv r_tmp = tcg_temp_new(TCG_TYPE_I64);
-
- tcg_gen_ext_tl_i64(r_tmp, t);
- tcg_gen_st_i64(r_tmp, cpu_env, off);
- tcg_temp_free(r_tmp);
+ tcg_gen_ext32s_tl(t, t);
+ tcg_gen_st_tl(t, cpu_env, off);
}
static void gen_mfc0 (CPUState *env, DisasContext *ctx, int reg, int sel)