summaryrefslogtreecommitdiff
path: root/lisc/test
diff options
context:
space:
mode:
authorQuentin Carbonneaux <quentin.carbonneaux@yale.edu>2015-08-16 14:19:54 -0400
committerQuentin Carbonneaux <quentin.carbonneaux@yale.edu>2015-09-15 23:01:31 -0400
commit7bbd361083db3f08e173bbf384e7369ab5ffee57 (patch)
treeac03cab8b793006864c97dff7b0fbe91c0129f98 /lisc/test
parent27f4eae43eebb4990bad59c8becdca41d2fb865d (diff)
downloadroux-7bbd361083db3f08e173bbf384e7369ab5ffee57.tar.gz
add the mul instruction
Diffstat (limited to 'lisc/test')
-rw-r--r--lisc/test/collatz.ssa15
1 files changed, 6 insertions, 9 deletions
diff --git a/lisc/test/collatz.ssa b/lisc/test/collatz.ssa
index 9696194..8918c76 100644
--- a/lisc/test/collatz.ssa
+++ b/lisc/test/collatz.ssa
@@ -32,8 +32,7 @@
jnz %p, @odd, @even
@odd
- %nn =w add %n0, %n0 # compute %n2 = 3 * %n0 + 1
- %n1 =w add %n0, %nn
+ %n1 =w mul 3, %n0 # compute %n2 = 3 * %n0 + 1
%n2 =w add %n1, 1
jmp @cloop
@@ -42,17 +41,15 @@
jmp @cloop
@getmemo
- %idx00 =l add %n0, %n0
- %idx0 =l add %idx00, %idx00
- %loc0 =l add %idx0, %mem
- %cn0 =w load %loc0
- %c2 =w add %c0, %cn0
+ %idx0 =l mul %n0, 4
+ %loc0 =l add %idx0, %mem
+ %cn0 =w load %loc0
+ %c2 =w add %c0, %cn0
@endcl
%c =w phi @getmemo %c2, @cloop %c0
- %idx10 =l add %n, %n
- %idx1 =l add %idx10, %idx10
+ %idx1 =l mul %n, 4
%loc1 =l add %idx1, %mem
storew %c, %loc1 # memorize the result
%n9 =w add 1, %n