* Reorganize the global value kinds. This: - renames "deref" global values to "load" and gives it a offset that works like the "load" instructions' does - adds an explicit "iadd_imm" global value kind, which replaces the builtin iadd in "vmctx" and "deref" global values. - also renames "globalsym" to "symbol"
17 lines
410 B
Plaintext
17 lines
410 B
Plaintext
test verifier
|
|
|
|
function %add_members(i32, i64 vmctx) -> f32 baldrdash {
|
|
gv0 = vmctx
|
|
gv1 = load.i64 notrap aligned gv0+64
|
|
gv2 = load.i32 notrap aligned gv0+72
|
|
heap0 = dynamic gv1, min 0x1000, bound gv2, guard 0
|
|
|
|
ebb0(v0: i32, v6: i64):
|
|
v1 = heap_addr.i64 heap0, v0, 20
|
|
v2 = load.f32 v1+16
|
|
v3 = heap_addr.i64 heap0, v0, 24
|
|
v4 = load.f32 v3+20
|
|
v5 = fadd v2, v4
|
|
return v5
|
|
}
|