summaryrefslogtreecommitdiff
path: root/target-m68k
diff options
context:
space:
mode:
Diffstat (limited to 'target-m68k')
-rw-r--r--target-m68k/op.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/target-m68k/op.c b/target-m68k/op.c
index ad6f403f5c..6134bb018e 100644
--- a/target-m68k/op.c
+++ b/target-m68k/op.c
@@ -48,23 +48,23 @@ static long qreg_offsets[] = {
uint32_t
get_op(int qreg)
{
- if (qreg == QREG_T0) {
+ if (qreg >= TARGET_NUM_QREGS) {
+ return env->qregs[qreg - TARGET_NUM_QREGS];
+ } else if (qreg == QREG_T0) {
return T0;
- } else if (qreg < TARGET_NUM_QREGS) {
- return *(uint32_t *)(((long)env) + qreg_offsets[qreg]);
} else {
- return env->qregs[qreg - TARGET_NUM_QREGS];
+ return *(uint32_t *)(((long)env) + qreg_offsets[qreg]);
}
}
void set_op(int qreg, uint32_t val)
{
- if (qreg == QREG_T0) {
+ if (qreg >= TARGET_NUM_QREGS) {
+ env->qregs[qreg - TARGET_NUM_QREGS] = val;
+ } else if (qreg == QREG_T0) {
T0 = val;
- } else if (qreg < TARGET_NUM_QREGS) {
- *(uint32_t *)(((long)env) + qreg_offsets[qreg]) = val;
} else {
- env->qregs[qreg - TARGET_NUM_QREGS] = val;
+ *(uint32_t *)(((long)env) + qreg_offsets[qreg]) = val;
}
}