Revision 5e755519 target-mips/fop_template.c

b/target-mips/fop_template.c
49 49
#define OP_DLOAD_FREG(treg, tregname, FREG)              \
50 50
    void glue(glue(op_load_fpr_,tregname), FREG) (void)  \
51 51
    {                                                    \
52
        if (env->CP0_Status & (1 << CP0St_FR))           \
52
        if (env->hflags & MIPS_HFLAG_F64)                \
53 53
            treg = env->fpr[FREG].fd;                    \
54 54
        else                                             \
55 55
            treg = (uint64_t)(env->fpr[FREG | 1].fs[FP_ENDIAN_IDX]) << 32 | \
......
60 60
#define OP_DSTORE_FREG(treg, tregname, FREG)             \
61 61
    void glue(glue(op_store_fpr_,tregname), FREG) (void) \
62 62
    {                                                    \
63
        if (env->CP0_Status & (1 << CP0St_FR))           \
63
        if (env->hflags & MIPS_HFLAG_F64)                \
64 64
            env->fpr[FREG].fd = treg;                    \
65 65
        else {                                           \
66 66
            env->fpr[FREG | 1].fs[FP_ENDIAN_IDX] = treg >> 32; \

Also available in: Unified diff