| ;;; TOOL: run-interp |
| (module |
| (func $i32_i64 (result i32 i64) |
| i32.const 1 |
| i64.const 2) |
| |
| (func (export "call-multi-result") (result i32) |
| call $i32_i64 |
| i32.wrap/i64 |
| i32.add) |
| |
| (func $rot_f32_3 (param f32 f32 f32) (result f32 f32 f32) |
| get_local 1 |
| get_local 2 |
| get_local 0) |
| |
| (func (export "call-multi-param-result") (result i32) |
| block $fail |
| f32.const 11 |
| f32.const 22 |
| f32.const 33 |
| |
| ;; updates stack: 11 22 33 -- 22 33 11 |
| call $rot_f32_3 |
| |
| f32.const 11 |
| f32.ne |
| br_if $fail |
| |
| f32.const 33 |
| f32.ne |
| br_if $fail |
| |
| f32.const 22 |
| f32.ne |
| br_if $fail |
| |
| i32.const 1 |
| return |
| end |
| |
| i32.const 0) |
| ) |
| (;; STDOUT ;;; |
| call-multi-result() => i32:3 |
| call-multi-param-result() => i32:1 |
| ;;; STDOUT ;;) |