diff --git a/lib/compile/bcc.ml b/lib/compile/bcc.ml index 83598de..1369cd1 100644 --- a/lib/compile/bcc.ml +++ b/lib/compile/bcc.ml @@ -81,11 +81,11 @@ let rec compile_lambda (lam : Ir.lambda) = | Ir.Bop (op, e1, e2) -> let r1 = emit_exp_s sp e1; sp in - let r2 = emit_exp sp e2 in + let r2 = emit_exp (suc sp) e2 in emit (match op with | Add -> ADD (sp, r1, r2) - | Sub -> ADD (sp, r1, r2) - | Mul -> ADD (sp, r1, r2) + | Sub -> SUB (sp, r1, r2) + | Mul -> MUL (sp, r1, r2) | Div -> failwith "Bcc.compile_exp: TODO(Bop(Div))" | Mod -> failwith "Bcc.compile_exp: TODO(Bop(Mod))" | Eql -> EQL (sp, r1, r2)