diff options
author | pbrook <pbrook@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-05-23 22:07:36 +0000 |
---|---|---|
committer | pbrook <pbrook@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-05-23 22:07:36 +0000 |
commit | 7ec47eadc7048435b54bc53ccb41307851098409 (patch) | |
tree | 588391989793206f060c648da62875e2159b2e6e /target-m68k/op.c | |
parent | adb86c372e1596c07437682ff7aa71c905dbc14f (diff) |
Speed up m68k by 20%.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2855 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-m68k/op.c')
-rw-r--r-- | target-m68k/op.c | 16 |
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; } } |