From: Martin Perner Date: Mon, 27 Dec 2010 00:57:50 +0000 (+0100) Subject: deepjit: saved one instr overall ... 1664 X-Git-Tag: bootrom_v1~48 X-Git-Url: http://wien.tomnetworks.com/gitweb/?p=calu.git;a=commitdiff_plain;h=a2b67127091af5a152659d73a7c71351e41c255e deepjit: saved one instr overall ... 1664 --- diff --git a/3_test/deepjit.s b/3_test/deepjit.s index a786bf4..58d6d23 100644 --- a/3_test/deepjit.s +++ b/3_test/deepjit.s @@ -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