Speed up m68k by 20%.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2855 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
pbrook 2007-05-23 22:07:36 +00:00
parent adb86c372e
commit 7ec47eadc7
1 changed files with 10 additions and 10 deletions

View File

@ -48,23 +48,23 @@ static long qreg_offsets[] = {
uint32_t uint32_t
get_op(int qreg) get_op(int qreg)
{ {
if (qreg == QREG_T0) { if (qreg >= TARGET_NUM_QREGS) {
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 env->qregs[qreg - TARGET_NUM_QREGS];
} else if (qreg == QREG_T0) {
return T0;
} else {
return *(uint32_t *)(((long)env) + qreg_offsets[qreg]);
} }
} }
void set_op(int qreg, uint32_t val) void set_op(int qreg, uint32_t val)
{ {
if (qreg == QREG_T0) { if (qreg >= TARGET_NUM_QREGS) {
T0 = val;
} else if (qreg < TARGET_NUM_QREGS) {
*(uint32_t *)(((long)env) + qreg_offsets[qreg]) = val;
} else {
env->qregs[qreg - TARGET_NUM_QREGS] = val; env->qregs[qreg - TARGET_NUM_QREGS] = val;
} else if (qreg == QREG_T0) {
T0 = val;
} else {
*(uint32_t *)(((long)env) + qreg_offsets[qreg]) = val;
} }
} }