projects
/
calu.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
d903086
)
deepjit: saved one instr overall ... 1664
author
Martin Perner
<martin@perner.cc>
Mon, 27 Dec 2010 00:57:50 +0000
(
01:57
+0100)
committer
Martin Perner
<martin@perner.cc>
Mon, 27 Dec 2010 00:57:50 +0000
(
01:57
+0100)
3_test/deepjit.s
patch
|
blob
|
history
diff --git
a/3_test/deepjit.s
b/3_test/deepjit.s
index a786bf4c80297dbf013c037d493247958522b62e..58d6d23dca209be14e72617d9c7f67c3b58a6423 100644
(file)
--- 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 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 cmp r7, r6;0xec3b0000
-.ifill
ldislt r8, 0xFF;0xbd4007fc
-.ifill stw
r8, 0-4(r3);0xe7c1fffc
+.ifill
stwlt r14, 0-4(r3);
+.ifill stw
ge r15, 0-4(r3);
prog_dup:
.ifill ldw r6, 0-4(r3);0xe731fffc
prog_dup:
.ifill ldw r6, 0-4(r3);0xe731fffc
@@
-136,6
+135,11
@@
main:
ldil r3, stack@lo
ldih r3, stack@hi
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
;call jit'ed prog
call+ prog_start
@@
-351,7
+355,7
@@
vm_lessthan:
ldil r4, prog_lessthan@lo
ldih r4, prog_lessthan@hi
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)
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)
stx r0, 16(r2)
ldw r0, 20(r4)
stx r0, 20(r2)
- ldw r0, 24(r4)
- stx r0, 24(r2)
;increment address
;increment address
- addi r2, r2, 2
8
+ addi r2, r2, 2
4
br+ vm_loop
br+ vm_loop