;; @xform export "foo" (i32 f32 f64 i64)
(module
(global (mut i32) (i32.const 0))
(memory 1)
(func $foo (export "foo") (param i32))
)
(; CHECK-ALL:
(module
(type (;0;) (func (result i32 f32 f64 i64)))
(type (;1;) (func (param i32)))
(memory (;0;) 1)
(global (;0;) (mut i32) i32.const 0)
(export "foo" (func $"foo multivalue shim"))
(func $"foo multivalue shim" (;0;) (type 0) (result i32 f32 f64 i64)
(local i32)
global.get 0
i32.const 32
i32.sub
local.tee 0
global.set 0
local.get 0
call $foo
local.get 0
i32.load
local.get 0
f32.load offset=4
local.get 0
f64.load offset=8
local.get 0
i64.load offset=16
local.get 0
i32.const 32
i32.add
global.set 0
)
(func $foo (;1;) (type 1) (param i32))
(@custom "target_features" (after code) "\01+\0amultivalue")
)
;)