aboutsummaryrefslogtreecommitdiff
path: root/pu2/pu2.out.c
diff options
context:
space:
mode:
authorGravatar moon <moon@coffin.ir> 2025-08-23 14:06:35 +0330
committerGravatar moon <moon@coffin.ir> 2025-08-23 14:06:35 +0330
commit4bccfb47a63461e53925faebca7132e262ebd9da (patch)
tree5c4340ec8f2efa304cfef306235f8c1f181f7a22 /pu2/pu2.out.c
parentif statements are now supported! (diff)
while loops!
Diffstat (limited to 'pu2/pu2.out.c')
-rw-r--r--pu2/pu2.out.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/pu2/pu2.out.c b/pu2/pu2.out.c
index f35a7ab..8bc9f52 100644
--- a/pu2/pu2.out.c
+++ b/pu2/pu2.out.c
@@ -153,7 +153,7 @@ void __attribute__((hot, aligned(64))) pu2() {
static int s1, s2, s3;
static const __attribute__((aligned(64))) void *PRECOMPUTED_TABLE[]
- = { &&C_ZERO, &&C_ONE, &&C_TWO, &&C_THREE, &&C_FOUR,
+ = { &&PU2_END, &&C_ONE, &&C_TWO, &&C_THREE, &&C_FOUR,
&&C_FIVE, &&C_SIX, &&C_SEVEN, &&C_EIGHT, &&C_NINE,
&&C_TEN, &&C_ELEVEN, &&C_TWELVE, &&C_THIRTEEN, &&CB_FOURTEEN,
&&CB_FIFTEEN, &&CB_SIXTEEN, &&CB_SEVENTEEN, &&CB_EIGHTEEN, [32] = 0 };
@@ -166,8 +166,8 @@ void __attribute__((hot, aligned(64))) pu2() {
__builtin_prefetch(M + 1, 0, 3);
goto *PRECOMPUTED_TABLE[ inst.c ];
- C_ZERO:
- goto PU2_END;
+// C_ZERO:
+// goto PU2_END;
C_ONE:
#ifndef PU2_NO_ASM
asm("mov %1, %0" : "=r"(a) : "r"(inst.v));
@@ -183,6 +183,7 @@ void __attribute__((hot, aligned(64))) pu2() {
#endif
goto PU2_START;
C_THREE:
+ // if (unlikely(a == 7)) printf("conditional jmp %i (%i) [a=%i b=%i u=%i]\n", M - M2, u, a, b, u);
if (likely(u)) {
if (unlikely(a == 7)) M = M2 + (b >> 1);
m[ a ] = b;