======= wasm_to_wasm_function_returning_multiple_values/input.yul (Ewasm) ======= Pretty printed source: object "object" { code { function main() { let m, n:i32, p:i32, q := multireturn(1:i32, 2, 3, 4:i32) } function multireturn(a:i32, b, c, d:i32) -> x, y:i32, z:i32, w { x := b w := c y := a z := d } } } Binary representation: 0061736d01000000010c0260000060047f7e7e7f017e020100030302000105030100010610037f0141000b7f0141000b7e0142000b071102066d656d6f72790200046d61696e00000a52022603017e027f017e024002404101420242034104100121002300210123012102230221030b0b0b2903017e027f017e0240200121042002210720002105200321060b20052400200624012007240220040b Text representation: (module (memory $memory (export "memory") 1) (export "main" (func $main)) (global $global_ (mut i32) (i32.const 0)) (global $global__1 (mut i32) (i32.const 0)) (global $global__2 (mut i64) (i64.const 0)) (func $main (local $m i64) (local $n i32) (local $p i32) (local $q i64) (block $label_ (block (local.set $m (call $multireturn (i32.const 1) (i64.const 2) (i64.const 3) (i32.const 4))) (local.set $n (global.get $global_)) (local.set $p (global.get $global__1)) (local.set $q (global.get $global__2)) ) ) ) (func $multireturn (param $a i32) (param $b i64) (param $c i64) (param $d i32) (result i64) (local $x i64) (local $y i32) (local $z i32) (local $w i64) (block $label__3 (local.set $x (local.get $b)) (local.set $w (local.get $c)) (local.set $y (local.get $a)) (local.set $z (local.get $d)) ) (global.set $global_ (local.get $y)) (global.set $global__1 (local.get $z)) (global.set $global__2 (local.get $w)) (local.get $x) ) )