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

View file

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