deepjit: saved one instr overall ... 1664
authorMartin Perner <martin@perner.cc>
Mon, 27 Dec 2010 00:57:50 +0000 (01:57 +0100)
committerMartin Perner <martin@perner.cc>
Mon, 27 Dec 2010 00:57:50 +0000 (01:57 +0100)
3_test/deepjit.s

index a786bf4c80297dbf013c037d493247958522b62e..58d6d23dca209be14e72617d9c7f67c3b58a6423 100644 (file)
@@ -72,10 +72,9 @@ prog_lessthan:
 .ifill subi r3, r3, 4;0xe1998020
 .ifill ldw r6, 0(r3);0xe7318000
 .ifill ldw r7, 0-4(r3);0xe739fffc
-.ifill ldis r8, 0;0xed400004
 .ifill cmp r7, r6;0xec3b0000
-.ifill ldislt r8, 0xFF;0xbd4007fc
-.ifill stw r8, 0-4(r3);0xe7c1fffc
+.ifill stwlt r14, 0-4(r3);
+.ifill stwge r15, 0-4(r3);
 
 prog_dup:
 .ifill ldw r6, 0-4(r3);0xe731fffc
@@ -136,6 +135,11 @@ main:
        ldil r3, stack@lo
        ldih r3, stack@hi
 
+       ;make r15 a 0-register
+       ldis r15, 0
+       ;make r14 a 8-bit -1-register
+       ldis r14, 0xFF
+
        ;call jit'ed prog
        call+ prog_start
 
@@ -351,7 +355,7 @@ vm_lessthan:
        ldil r4, prog_lessthan@lo
        ldih r4, prog_lessthan@hi
 
-       ;program instruction (7)
+       ;program instruction (6)
        ldw r0, 0(r4)
        stx r0, 0(r2)
        ldw r0, 4(r4)
@@ -364,11 +368,9 @@ vm_lessthan:
        stx r0, 16(r2)
        ldw r0, 20(r4)
        stx r0, 20(r2)
-       ldw r0, 24(r4)
-       stx r0, 24(r2)
 
        ;increment address
-       addi r2, r2, 28
+       addi r2, r2, 24
 
        br+ vm_loop