Commit 7ec47eadc7048435b54bc53ccb41307851098409
1 parent
adb86c37
Speed up m68k by 20%.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2855 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
8 additions
and
8 deletions
target-m68k/op.c
@@ -48,23 +48,23 @@ static long qreg_offsets[] = { | @@ -48,23 +48,23 @@ static long qreg_offsets[] = { | ||
48 | uint32_t | 48 | uint32_t |
49 | get_op(int qreg) | 49 | get_op(int qreg) |
50 | { | 50 | { |
51 | - if (qreg == QREG_T0) { | 51 | + if (qreg >= TARGET_NUM_QREGS) { |
52 | + return env->qregs[qreg - TARGET_NUM_QREGS]; | ||
53 | + } else if (qreg == QREG_T0) { | ||
52 | return T0; | 54 | return T0; |
53 | - } else if (qreg < TARGET_NUM_QREGS) { | ||
54 | - return *(uint32_t *)(((long)env) + qreg_offsets[qreg]); | ||
55 | } else { | 55 | } else { |
56 | - return env->qregs[qreg - TARGET_NUM_QREGS]; | 56 | + return *(uint32_t *)(((long)env) + qreg_offsets[qreg]); |
57 | } | 57 | } |
58 | } | 58 | } |
59 | 59 | ||
60 | void set_op(int qreg, uint32_t val) | 60 | void set_op(int qreg, uint32_t val) |
61 | { | 61 | { |
62 | - if (qreg == QREG_T0) { | 62 | + if (qreg >= TARGET_NUM_QREGS) { |
63 | + env->qregs[qreg - TARGET_NUM_QREGS] = val; | ||
64 | + } else if (qreg == QREG_T0) { | ||
63 | T0 = val; | 65 | T0 = val; |
64 | - } else if (qreg < TARGET_NUM_QREGS) { | ||
65 | - *(uint32_t *)(((long)env) + qreg_offsets[qreg]) = val; | ||
66 | } else { | 66 | } else { |
67 | - env->qregs[qreg - TARGET_NUM_QREGS] = val; | 67 | + *(uint32_t *)(((long)env) + qreg_offsets[qreg]) = val; |
68 | } | 68 | } |
69 | } | 69 | } |
70 | 70 |