Revision ead9360e target-mips/fop_template.c
b/target-mips/fop_template.c | ||
---|---|---|
24 | 24 |
#define OP_WLOAD_FREG(treg, tregname, FREG) \ |
25 | 25 |
void glue(glue(op_load_fpr_,tregname), FREG) (void) \ |
26 | 26 |
{ \ |
27 |
treg = env->fpr[FREG].fs[FP_ENDIAN_IDX]; \
|
|
27 |
treg = env->fpu->fpr[FREG].fs[FP_ENDIAN_IDX]; \
|
|
28 | 28 |
RETURN(); \ |
29 | 29 |
} |
30 | 30 |
|
31 | 31 |
#define OP_WSTORE_FREG(treg, tregname, FREG) \ |
32 | 32 |
void glue(glue(op_store_fpr_,tregname), FREG) (void) \ |
33 | 33 |
{ \ |
34 |
env->fpr[FREG].fs[FP_ENDIAN_IDX] = treg; \
|
|
34 |
env->fpu->fpr[FREG].fs[FP_ENDIAN_IDX] = treg; \
|
|
35 | 35 |
RETURN(); \ |
36 | 36 |
} |
37 | 37 |
|
... | ... | |
50 | 50 |
void glue(glue(op_load_fpr_,tregname), FREG) (void) \ |
51 | 51 |
{ \ |
52 | 52 |
if (env->hflags & MIPS_HFLAG_F64) \ |
53 |
treg = env->fpr[FREG].fd; \
|
|
53 |
treg = env->fpu->fpr[FREG].fd; \
|
|
54 | 54 |
else \ |
55 |
treg = (uint64_t)(env->fpr[FREG | 1].fs[FP_ENDIAN_IDX]) << 32 | \ |
|
56 |
env->fpr[FREG & ~1].fs[FP_ENDIAN_IDX]; \ |
|
55 |
treg = (uint64_t)(env->fpu->fpr[FREG | 1].fs[FP_ENDIAN_IDX]) << 32 | \
|
|
56 |
env->fpu->fpr[FREG & ~1].fs[FP_ENDIAN_IDX]; \
|
|
57 | 57 |
RETURN(); \ |
58 | 58 |
} |
59 | 59 |
|
... | ... | |
61 | 61 |
void glue(glue(op_store_fpr_,tregname), FREG) (void) \ |
62 | 62 |
{ \ |
63 | 63 |
if (env->hflags & MIPS_HFLAG_F64) \ |
64 |
env->fpr[FREG].fd = treg; \
|
|
64 |
env->fpu->fpr[FREG].fd = treg; \
|
|
65 | 65 |
else { \ |
66 |
env->fpr[FREG | 1].fs[FP_ENDIAN_IDX] = treg >> 32; \ |
|
67 |
env->fpr[FREG & ~1].fs[FP_ENDIAN_IDX] = treg; \
|
|
66 |
env->fpu->fpr[FREG | 1].fs[FP_ENDIAN_IDX] = treg >> 32; \
|
|
67 |
env->fpu->fpr[FREG & ~1].fs[FP_ENDIAN_IDX] = treg; \
|
|
68 | 68 |
} \ |
69 | 69 |
RETURN(); \ |
70 | 70 |
} |
... | ... | |
81 | 81 |
#define OP_PSLOAD_FREG(treg, tregname, FREG) \ |
82 | 82 |
void glue(glue(op_load_fpr_,tregname), FREG) (void) \ |
83 | 83 |
{ \ |
84 |
treg = env->fpr[FREG].fs[!FP_ENDIAN_IDX]; \
|
|
84 |
treg = env->fpu->fpr[FREG].fs[!FP_ENDIAN_IDX]; \
|
|
85 | 85 |
RETURN(); \ |
86 | 86 |
} |
87 | 87 |
|
88 | 88 |
#define OP_PSSTORE_FREG(treg, tregname, FREG) \ |
89 | 89 |
void glue(glue(op_store_fpr_,tregname), FREG) (void) \ |
90 | 90 |
{ \ |
91 |
env->fpr[FREG].fs[!FP_ENDIAN_IDX] = treg; \
|
|
91 |
env->fpu->fpr[FREG].fs[!FP_ENDIAN_IDX] = treg; \
|
|
92 | 92 |
RETURN(); \ |
93 | 93 |
} |
94 | 94 |
|
Also available in: Unified diff