aboutsummaryrefslogtreecommitdiff
path: root/target-mips/fop_template.c
diff options
context:
space:
mode:
authorths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>2007-05-29 16:52:57 +0000
committerths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>2007-05-29 16:52:57 +0000
commit5e755519ac9d867f7da13f58a9d0c262db82e14c (patch)
treed456b4a7ec2d2b3b6ee6f8b4f87ab9a041b22555 /target-mips/fop_template.c
parentacf930aaa3763be08a41f2478b3e0b252f545cd0 (diff)
downloadqemu-5e755519ac9d867f7da13f58a9d0c262db82e14c.zip
qemu-5e755519ac9d867f7da13f58a9d0c262db82e14c.tar.gz
qemu-5e755519ac9d867f7da13f58a9d0c262db82e14c.tar.bz2
Don't check the FPU state for each FPU instruction, use hflags to
handle this per-tb. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2896 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-mips/fop_template.c')
-rw-r--r--target-mips/fop_template.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/target-mips/fop_template.c b/target-mips/fop_template.c
index bb288f1..0f1595f 100644
--- a/target-mips/fop_template.c
+++ b/target-mips/fop_template.c
@@ -49,7 +49,7 @@ OP_WSTORE_FREG(WT2, WT2_fpr, FREG)
#define OP_DLOAD_FREG(treg, tregname, FREG) \
void glue(glue(op_load_fpr_,tregname), FREG) (void) \
{ \
- if (env->CP0_Status & (1 << CP0St_FR)) \
+ if (env->hflags & MIPS_HFLAG_F64) \
treg = env->fpr[FREG].fd; \
else \
treg = (uint64_t)(env->fpr[FREG | 1].fs[FP_ENDIAN_IDX]) << 32 | \
@@ -60,7 +60,7 @@ OP_WSTORE_FREG(WT2, WT2_fpr, FREG)
#define OP_DSTORE_FREG(treg, tregname, FREG) \
void glue(glue(op_store_fpr_,tregname), FREG) (void) \
{ \
- if (env->CP0_Status & (1 << CP0St_FR)) \
+ if (env->hflags & MIPS_HFLAG_F64) \
env->fpr[FREG].fd = treg; \
else { \
env->fpr[FREG | 1].fs[FP_ENDIAN_IDX] = treg >> 32; \