47 lines
943 B
Plaintext
47 lines
943 B
Plaintext
|
|
meta.source-filename "Simple.im"
|
||
|
|
|
||
|
|
ivy.package-scope "net.doorstuck.test"
|
||
|
|
|
||
|
|
ivy.package-ref "std.io"
|
||
|
|
|
||
|
|
ivy.module {
|
||
|
|
ivy.init-text {
|
||
|
|
%0 = i32.constant 32
|
||
|
|
%1 = i32.constant 64
|
||
|
|
%multmp = arith.mul %0, %1 : (i32, i32) -> i32
|
||
|
|
|
||
|
|
%y = ptr.alloca i32
|
||
|
|
ptr.store %multmp, %y : i32, ptr
|
||
|
|
|
||
|
|
%2 = i32.constant 64
|
||
|
|
%3 = i32.constant 4
|
||
|
|
%divtmp = arith.div %2, %3 : (i32, i32) -> i32
|
||
|
|
|
||
|
|
%z = ptr.alloca i32
|
||
|
|
ptr.store %divtmp, %z : i32, ptr
|
||
|
|
|
||
|
|
%4 = ptr.load %y : ptr -> i32
|
||
|
|
%5 = ptr.load %z : ptr -> i32
|
||
|
|
%addtmp = arith.add %4, %5 : (i32, i32) -> i32
|
||
|
|
|
||
|
|
%x = ptr.alloca i32
|
||
|
|
ptr.store %addtmp, %x : i32, ptr
|
||
|
|
|
||
|
|
%cout = ivy.global-ref @cout -> ptr
|
||
|
|
|
||
|
|
%6 = ivy.string-builder.begin
|
||
|
|
ivy.string-builder.add %6 << "Answer: "
|
||
|
|
|
||
|
|
%7 = ptr.load %x : ptr -> i32
|
||
|
|
ivy.string-builder.add %6 << %7 : i32
|
||
|
|
|
||
|
|
%8 = ivy.string-builder.end %6 -> #ivy.id
|
||
|
|
|
||
|
|
%9 = ptr.load %cout : ptr -> #ivy.id
|
||
|
|
|
||
|
|
ivy.msg.send to %9, put:%8 -> void
|
||
|
|
|
||
|
|
func.return : ()
|
||
|
|
}
|
||
|
|
}
|