summary refs log tree commit diff
path: root/lo2.ml
diff options
context:
space:
mode:
authorQuentin Carbonneaux <quentin.carbonneaux@yale.edu>2015-04-05 16:16:59 -0400
committerQuentin Carbonneaux <quentin.carbonneaux@yale.edu>2015-09-15 23:01:27 -0400
commit379fb0df97a05af0de480c1a1edffd9762bfa9f4 (patch)
treeabf9f01fcc6e37f897b6135d91c42f243d570a52 /lo2.ml
parent5719df3ae48237e5e5628f035bd755a5a4919525 (diff)
downloadroux-379fb0df97a05af0de480c1a1edffd9762bfa9f4.tar.gz
fix addition opcodes
Diffstat (limited to 'lo2.ml')
-rw-r--r--lo2.ml8
1 files changed, 4 insertions, 4 deletions
diff --git a/lo2.ml b/lo2.ml
index fc93594..169258e 100644
--- a/lo2.ml
+++ b/lo2.ml
@@ -526,7 +526,7 @@ let codegen (p: mprog): string =
         begin match op with
         | Add ->
           begin match l2 with
-          | LCon k -> oins 0x83 0 (regn l); outs (lite k)
+          | LCon k -> oins 0x81 0 (regn l); outs (lite k)
           | LReg _ -> oins 0x01 (regn l2) (regn l)
           | _ -> assert false
           end
@@ -591,7 +591,7 @@ let pbasic: iprog =
 let pcount: iprog =
   [| { bb_name = "init"
      ; bb_phis = [||]
-     ; bb_inss = [| `Con 100; `Con 1 |]
+     ; bb_inss = [| `Con 1234567; `Con 1 |]
      ; bb_jmp = `Jmp 1
      }
    ; { bb_name = "loop"
@@ -602,7 +602,7 @@ let pcount: iprog =
    ; { bb_name = "end"
      ; bb_phis = [||]
      ; bb_inss = [| `Con 42 |]
-     ; bb_jmp = `Jmp (-1)
+     ; bb_jmp = `Ret (IRIns (0,1))
      }
   |]
 
@@ -663,7 +663,7 @@ let _ =
   if Array.length Sys.argv > 1 && Sys.argv.(1) = "test" then
     let oc = open_out "t.o" in
     nregs := 3; 
-    let s = psum |> regalloc |> movgen |> codegen in
+    let s = pspill |> regalloc |> movgen |> codegen in
     Elf.barebones_elf oc "f" s;
     close_out oc;
   else