aboutsummaryrefslogtreecommitdiff
path: root/target-mips/op.c
diff options
context:
space:
mode:
Diffstat (limited to 'target-mips/op.c')
-rw-r--r--target-mips/op.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/target-mips/op.c b/target-mips/op.c
index 7e5b1a7fd3..f09c2a4510 100644
--- a/target-mips/op.c
+++ b/target-mips/op.c
@@ -1632,10 +1632,11 @@ FLOAT_OP(movf, s)
}
FLOAT_OP(movf, ps)
{
- if (!(env->fpu->fcr31 & PARAM1)) {
+ unsigned int mask = GET_FP_COND (env->fpu) >> PARAM1;
+ if (!(mask & 1))
WT2 = WT0;
+ if (!(mask & 2))
WTH2 = WTH0;
- }
DEBUG_FPU_STATE();
FORCE_RET();
}
@@ -1655,10 +1656,11 @@ FLOAT_OP(movt, s)
}
FLOAT_OP(movt, ps)
{
- if (env->fpu->fcr31 & PARAM1) {
+ unsigned int mask = GET_FP_COND (env->fpu) >> PARAM1;
+ if (mask & 1)
WT2 = WT0;
+ if (mask & 2)
WTH2 = WTH0;
- }
DEBUG_FPU_STATE();
FORCE_RET();
}