diff options
Diffstat (limited to 'pu2/pu2.out.c')
| -rw-r--r-- | pu2/pu2.out.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/pu2/pu2.out.c b/pu2/pu2.out.c index 347e6f4..f35a7ab 100644 --- a/pu2/pu2.out.c +++ b/pu2/pu2.out.c @@ -232,8 +232,8 @@ void __attribute__((hot, aligned(64))) pu2() { M += inst.v; goto PU2_START; CB_FIFTEEN: - // if (unlikely(inst.v == 7)) pc = m[ a ] >> 1; - if (unlikely(inst.v == a)) goto PU2_START; + //if (unlikely(inst.v == 7)) M = M2 + (m[a] >> 1); + //if (unlikely(inst.v == a)) goto PU2_START; m[ inst.v ] = m[ a ]; // asm("mov %1, %0" : "=r"(m[inst.v]) : "r"(m[a])); goto PU2_START; @@ -241,14 +241,14 @@ void __attribute__((hot, aligned(64))) pu2() { // asm("mov %1, %0" : "=r"(a) : "r"(m[inst.v])); a = m[ inst.v ]; goto PU2_START; - CB_SEVENTEEN: - // if (unlikely(a == 7)) pc = inst.v >> 1; + CB_SEVENTEEN: // beware, only instruction 17 (cb3) actually updates pc on an assignment to m[7]! + if (unlikely(a == 7)) M = M2 + (inst.v >> 1); // asm("mov %1, %0" : "=r"(m[a]) : "r"(inst.v)); m[ a ] = inst.v; goto PU2_START; CB_EIGHTEEN: - // if (unlikely(a == 7)) pc = m[ inst.v ] >> 1; - if (unlikely(inst.v == a)) goto PU2_START; + //if (unlikely(a == 7)) M = M2 + (m[inst.v] >> 1); + //if (unlikely(inst.v == a)) goto PU2_START; m[ a ] = m[ inst.v ]; // asm("mov %1, %0" : "=r"(m[a]) : "r"(m[inst.v])); goto PU2_START; |
