summaryrefslogtreecommitdiff
path: root/target-mips/translate.c
diff options
context:
space:
mode:
authorths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>2008-05-24 19:46:23 +0000
committerths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>2008-05-24 19:46:23 +0000
commite6bb7d7efd76a8aeed5300e72481646e4d2b4d7e (patch)
tree910c56c3da6917f06d75c1acf2aa92714a033acf /target-mips/translate.c
parent2784847001ba054a2912460f9735fd4497327d02 (diff)
downloadqemu-e6bb7d7efd76a8aeed5300e72481646e4d2b4d7e.tar.gz
Fix mov[tf].ps handling for MIPS, by Richard Sandiford.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4563 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-mips/translate.c')
-rw-r--r--target-mips/translate.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/target-mips/translate.c b/target-mips/translate.c
index 9c91f7ef48..673439069a 100644
--- a/target-mips/translate.c
+++ b/target-mips/translate.c
@@ -5594,7 +5594,6 @@ static void glue(gen_movcf_, fmt) (DisasContext *ctx, int cc, int tf) \
}
GEN_MOVCF(d);
GEN_MOVCF(s);
-GEN_MOVCF(ps);
#undef GEN_MOVCF
static void gen_farith (DisasContext *ctx, uint32_t op1,
@@ -6213,7 +6212,10 @@ static void gen_farith (DisasContext *ctx, uint32_t op1,
GEN_LOAD_FREG_FTN(WTH0, fs);
GEN_LOAD_FREG_FTN(WT2, fd);
GEN_LOAD_FREG_FTN(WTH2, fd);
- gen_movcf_ps(ctx, (ft >> 2) & 0x7, ft & 0x1);
+ if (ft & 0x1)
+ gen_op_float_movt_ps ((ft >> 2) & 0x7);
+ else
+ gen_op_float_movf_ps ((ft >> 2) & 0x7);
GEN_STORE_FTN_FREG(fd, WT2);
GEN_STORE_FTN_FREG(fd, WTH2);
opn = "movcf.ps";