blob: e9a154c14370b555d18a10b63f01342f864ca427 [file] [log] [blame] [edit]
(module
(type $none_=>_i32_i64 (func (result i32 i64)))
(type $none_=>_none (func))
(type $none_=>_i64 (func (result i64)))
(type $none_=>_f32_i64_i32 (func (result f32 i64 i32)))
(type $none_=>_i32_i64_externref (func (result i32 i64 externref)))
(type $none_=>_i32_i64_f32 (func (result i32 i64 f32)))
(type $none_=>_i32 (func (result i32)))
(type $none_=>_f32 (func (result f32)))
(import "env" "pair" (func $pair (type $none_=>_i32_i64) (result i32 i64)))
(global $g1 (mut (i32 i64)) (tuple.make
(i32.const 0)
(i64.const 0)
))
(global $g2 (i32 i64) (tuple.make
(i32.const 0)
(i64.const 0)
))
(func $triple (type $none_=>_i32_i64_f32) (result i32 i64 f32)
(tuple.make
(i32.const 42)
(i64.const 7)
(f32.const 13)
)
)
(func $get-first (type $none_=>_i32) (result i32)
(tuple.extract 0
(call $triple)
)
)
(func $get-second (type $none_=>_i64) (result i64)
(tuple.extract 1
(call $triple)
)
)
(func $get-third (type $none_=>_f32) (result f32)
(tuple.extract 2
(call $triple)
)
)
(func $reverse (type $none_=>_f32_i64_i32) (result f32 i64 i32)
(local $x (i32 i64 f32))
(local.set $x
(call $triple)
)
(tuple.make
(tuple.extract 2
(local.get $x)
)
(tuple.extract 1
(local.get $x)
)
(tuple.extract 0
(local.get $x)
)
)
)
(func $unreachable (type $none_=>_i64) (result i64)
(tuple.extract 1
(tuple.make
(i32.const 42)
(i64.const 7)
(unreachable)
)
)
)
(func $global (type $none_=>_i32_i64) (result i32 i64)
(global.set $g1
(tuple.make
(i32.const 42)
(i64.const 7)
)
)
(global.get $g2)
)
(func $drop-call (type $none_=>_none)
(drop
(call $pair)
)
)
(func $drop-tuple-make (type $none_=>_none)
(drop
(tuple.make
(i32.const 42)
(i64.const 42)
)
)
)
(func $drop-block (type $none_=>_none)
(drop
(block $block (result i32 i64)
(tuple.make
(i32.const 42)
(i64.const 42)
)
)
)
)
(func $mv-return (type $none_=>_i32_i64) (result i32 i64)
(return
(tuple.make
(i32.const 42)
(i64.const 42)
)
)
)
(func $mv-return-in-block (type $none_=>_i32_i64) (result i32 i64)
(return
(tuple.make
(i32.const 42)
(i64.const 42)
)
)
)
(func $mv-block-break (type $none_=>_i32_i64) (result i32 i64)
(block $l (result i32 i64)
(br $l
(tuple.make
(i32.const 42)
(i64.const 42)
)
)
)
)
(func $mv-block-br-if (type $none_=>_i32_i64) (result i32 i64)
(block $l (result i32 i64)
(br_if $l
(tuple.make
(i32.const 42)
(i64.const 42)
)
(i32.const 1)
)
)
)
(func $mv-if (type $none_=>_i32_i64_externref) (result i32 i64 externref)
(if (result i32 i64 externref)
(i32.const 1)
(tuple.make
(i32.const 42)
(i64.const 42)
(ref.null noextern)
)
(tuple.make
(i32.const 42)
(i64.const 42)
(ref.null noextern)
)
)
)
(func $mv-loop (type $none_=>_i32_i64) (result i32 i64)
(loop $loop-in (result i32 i64)
(tuple.make
(i32.const 42)
(i64.const 42)
)
)
)
(func $mv-switch (type $none_=>_i32_i64) (result i32 i64)
(block $a (result i32 i64)
(block $b (result i32 i64)
(br_table $a $b
(tuple.make
(i32.const 42)
(i64.const 42)
)
(i32.const 0)
)
)
)
)
)