blob: 9340c183aa90637dab5fd0bbf08214084bce8b06 [file] [log] [blame]
(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 (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 (result i32 i64 f32)
(tuple.make
(i32.const 42)
(i64.const 7)
(f32.const 13)
)
)
(func $get-first (result i32)
(tuple.extract 0
(call $triple)
)
)
(func $get-second (result i64)
(tuple.extract 1
(call $triple)
)
)
(func $get-third (result f32)
(tuple.extract 2
(call $triple)
)
)
(func $reverse (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 (result i64)
(tuple.extract 1
(tuple.make
(i32.const 42)
(i64.const 7)
(unreachable)
)
)
)
(func $global (result i32 i64)
(global.set $g1
(tuple.make
(i32.const 42)
(i64.const 7)
)
)
(global.get $g2)
)
(func $drop-call
(drop
(call $pair)
)
)
(func $drop-tuple-make
(drop
(tuple.make
(i32.const 42)
(i64.const 42)
)
)
)
(func $drop-block
(drop
(block $block (result i32 i64)
(tuple.make
(i32.const 42)
(i64.const 42)
)
)
)
)
(func $mv-return (result i32 i64)
(return
(tuple.make
(i32.const 42)
(i64.const 42)
)
)
)
(func $mv-return-in-block (result i32 i64)
(block $block (result i32 i64)
(return
(tuple.make
(i32.const 42)
(i64.const 42)
)
)
)
)
(func $mv-block-break (result i32 i64)
(block $l (result i32 i64)
(br $l
(tuple.make
(i32.const 42)
(i64.const 42)
)
)
)
)
(func $mv-block-br-if (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 (result i32 i64 externref)
(if (result i32 i64 externref)
(i32.const 1)
(tuple.make
(i32.const 42)
(i64.const 42)
(ref.null extern)
)
(tuple.make
(i32.const 42)
(i64.const 42)
(ref.null extern)
)
)
)
(func $mv-loop (result i32 i64)
(loop $loop-in (result i32 i64)
(tuple.make
(i32.const 42)
(i64.const 42)
)
)
)
(func $mv-switch (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)
)
)
)
)
)