Speed up m68k by 20%.
authorpbrook <pbrook@c046a42c-6fe2-441c-8c8c-71466251a162>
Wed, 23 May 2007 22:07:36 +0000 (22:07 +0000)
committerpbrook <pbrook@c046a42c-6fe2-441c-8c8c-71466251a162>
Wed, 23 May 2007 22:07:36 +0000 (22:07 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2855 c046a42c-6fe2-441c-8c8c-71466251a162

target-m68k/op.c

index ad6f403..6134bb0 100644 (file)
@@ -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;
     }
 }