; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: llc < %s -verify-machineinstrs  | FileCheck %s
target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128-ni:1:10:20"
target triple = "wasm32-unknown-unknown"

; Function Attrs: nounwind
define void @pass_s0() {
; CHECK-LABEL: pass_s0:
; CHECK:         .functype pass_s0 () -> ()
; CHECK-NEXT:  # %bb.0: # %entry
; CHECK-NEXT:    i32.const 0
; CHECK-NEXT:    call sink
; CHECK-NEXT:    # fallthrough-return
entry:
  tail call void (...) @sink()
  ret void
}

declare void @sink(...)

; Function Attrs: nounwind
define void @pass_s1(i8 %x.coerce) {
; CHECK-LABEL: pass_s1:
; CHECK:         .functype pass_s1 (i32) -> ()
; CHECK-NEXT:    .local i32
; CHECK-NEXT:  # %bb.0: # %entry
; CHECK-NEXT:    global.get __stack_pointer
; CHECK-NEXT:    i32.const 16
; CHECK-NEXT:    i32.sub
; CHECK-NEXT:    local.tee 1
; CHECK-NEXT:    global.set __stack_pointer
; CHECK-NEXT:    local.get 1
; CHECK-NEXT:    local.get 0
; CHECK-NEXT:    i32.store 0
; CHECK-NEXT:    local.get 1
; CHECK-NEXT:    call sink
; CHECK-NEXT:    local.get 1
; CHECK-NEXT:    i32.const 16
; CHECK-NEXT:    i32.add
; CHECK-NEXT:    global.set __stack_pointer
; CHECK-NEXT:    # fallthrough-return
entry:
  tail call void (...) @sink(i8 %x.coerce)
  ret void
}

; Function Attrs: nounwind
define void @pass_s2(i16 %x.coerce) {
; CHECK-LABEL: pass_s2:
; CHECK:         .functype pass_s2 (i32) -> ()
; CHECK-NEXT:    .local i32
; CHECK-NEXT:  # %bb.0: # %entry
; CHECK-NEXT:    global.get __stack_pointer
; CHECK-NEXT:    i32.const 16
; CHECK-NEXT:    i32.sub
; CHECK-NEXT:    local.tee 1
; CHECK-NEXT:    global.set __stack_pointer
; CHECK-NEXT:    local.get 1
; CHECK-NEXT:    local.get 0
; CHECK-NEXT:    i32.store 0
; CHECK-NEXT:    local.get 1
; CHECK-NEXT:    call sink
; CHECK-NEXT:    local.get 1
; CHECK-NEXT:    i32.const 16
; CHECK-NEXT:    i32.add
; CHECK-NEXT:    global.set __stack_pointer
; CHECK-NEXT:    # fallthrough-return
entry:
  tail call void (...) @sink(i16 %x.coerce)
  ret void
}

; Function Attrs: nounwind
define void @pass_s3(i32 %x.coerce) {
; CHECK-LABEL: pass_s3:
; CHECK:         .functype pass_s3 (i32) -> ()
; CHECK-NEXT:    .local i32
; CHECK-NEXT:  # %bb.0: # %entry
; CHECK-NEXT:    global.get __stack_pointer
; CHECK-NEXT:    i32.const 16
; CHECK-NEXT:    i32.sub
; CHECK-NEXT:    local.tee 1
; CHECK-NEXT:    global.set __stack_pointer
; CHECK-NEXT:    local.get 1
; CHECK-NEXT:    local.get 0
; CHECK-NEXT:    i32.store 0
; CHECK-NEXT:    local.get 1
; CHECK-NEXT:    call sink
; CHECK-NEXT:    local.get 1
; CHECK-NEXT:    i32.const 16
; CHECK-NEXT:    i32.add
; CHECK-NEXT:    global.set __stack_pointer
; CHECK-NEXT:    # fallthrough-return
entry:
  tail call void (...) @sink(i32 %x.coerce)
  ret void
}

; Function Attrs: nounwind
define void @pass_s4(i64 %x.coerce) {
; CHECK-LABEL: pass_s4:
; CHECK:         .functype pass_s4 (i64) -> ()
; CHECK-NEXT:    .local i32
; CHECK-NEXT:  # %bb.0: # %entry
; CHECK-NEXT:    global.get __stack_pointer
; CHECK-NEXT:    i32.const 16
; CHECK-NEXT:    i32.sub
; CHECK-NEXT:    local.tee 1
; CHECK-NEXT:    global.set __stack_pointer
; CHECK-NEXT:    local.get 1
; CHECK-NEXT:    local.get 0
; CHECK-NEXT:    i64.store 0
; CHECK-NEXT:    local.get 1
; CHECK-NEXT:    call sink
; CHECK-NEXT:    local.get 1
; CHECK-NEXT:    i32.const 16
; CHECK-NEXT:    i32.add
; CHECK-NEXT:    global.set __stack_pointer
; CHECK-NEXT:    # fallthrough-return
entry:
  tail call void (...) @sink(i64 %x.coerce)
  ret void
}

; Function Attrs: nounwind
define void @pass_s5(<4 x i32> noundef %x) {
; CHECK-LABEL: pass_s5:
; CHECK:         .functype pass_s5 (i32, i32, i32, i32) -> ()
; CHECK-NEXT:    .local i32
; CHECK-NEXT:  # %bb.0: # %entry
; CHECK-NEXT:    global.get __stack_pointer
; CHECK-NEXT:    i32.const 16
; CHECK-NEXT:    i32.sub
; CHECK-NEXT:    local.tee 4
; CHECK-NEXT:    global.set __stack_pointer
; CHECK-NEXT:    local.get 4
; CHECK-NEXT:    local.get 3
; CHECK-NEXT:    i32.store 12
; CHECK-NEXT:    local.get 4
; CHECK-NEXT:    local.get 2
; CHECK-NEXT:    i32.store 8
; CHECK-NEXT:    local.get 4
; CHECK-NEXT:    local.get 1
; CHECK-NEXT:    i32.store 4
; CHECK-NEXT:    local.get 4
; CHECK-NEXT:    local.get 0
; CHECK-NEXT:    i32.store 0
; CHECK-NEXT:    local.get 4
; CHECK-NEXT:    call sink
; CHECK-NEXT:    local.get 4
; CHECK-NEXT:    i32.const 16
; CHECK-NEXT:    i32.add
; CHECK-NEXT:    global.set __stack_pointer
; CHECK-NEXT:    # fallthrough-return
entry:
  tail call void (...) @sink(<4 x i32> noundef %x)
  ret void
}

; Function Attrs: nounwind
define void @pass_int_s0(i32 noundef %i) {
; CHECK-LABEL: pass_int_s0:
; CHECK:         .functype pass_int_s0 (i32) -> ()
; CHECK-NEXT:    .local i32
; CHECK-NEXT:  # %bb.0: # %entry
; CHECK-NEXT:    global.get __stack_pointer
; CHECK-NEXT:    i32.const 16
; CHECK-NEXT:    i32.sub
; CHECK-NEXT:    local.tee 1
; CHECK-NEXT:    global.set __stack_pointer
; CHECK-NEXT:    local.get 1
; CHECK-NEXT:    local.get 0
; CHECK-NEXT:    i32.store 0
; CHECK-NEXT:    local.get 1
; CHECK-NEXT:    call sink
; CHECK-NEXT:    local.get 1
; CHECK-NEXT:    i32.const 16
; CHECK-NEXT:    i32.add
; CHECK-NEXT:    global.set __stack_pointer
; CHECK-NEXT:    # fallthrough-return
entry:
  tail call void (...) @sink(i32 noundef %i)
  ret void
}

; Function Attrs: nounwind
define void @pass_int_s1(i32 noundef %i, i8 %x.coerce) {
; CHECK-LABEL: pass_int_s1:
; CHECK:         .functype pass_int_s1 (i32, i32) -> ()
; CHECK-NEXT:    .local i32
; CHECK-NEXT:  # %bb.0: # %entry
; CHECK-NEXT:    global.get __stack_pointer
; CHECK-NEXT:    i32.const 16
; CHECK-NEXT:    i32.sub
; CHECK-NEXT:    local.tee 2
; CHECK-NEXT:    global.set __stack_pointer
; CHECK-NEXT:    local.get 2
; CHECK-NEXT:    local.get 1
; CHECK-NEXT:    i32.store 4
; CHECK-NEXT:    local.get 2
; CHECK-NEXT:    local.get 0
; CHECK-NEXT:    i32.store 0
; CHECK-NEXT:    local.get 2
; CHECK-NEXT:    call sink
; CHECK-NEXT:    local.get 2
; CHECK-NEXT:    i32.const 16
; CHECK-NEXT:    i32.add
; CHECK-NEXT:    global.set __stack_pointer
; CHECK-NEXT:    # fallthrough-return
entry:
  tail call void (...) @sink(i32 noundef %i, i8 %x.coerce)
  ret void
}

; Function Attrs: nounwind
define void @pass_int_s2(i32 noundef %i, i16 %x.coerce) {
; CHECK-LABEL: pass_int_s2:
; CHECK:         .functype pass_int_s2 (i32, i32) -> ()
; CHECK-NEXT:    .local i32
; CHECK-NEXT:  # %bb.0: # %entry
; CHECK-NEXT:    global.get __stack_pointer
; CHECK-NEXT:    i32.const 16
; CHECK-NEXT:    i32.sub
; CHECK-NEXT:    local.tee 2
; CHECK-NEXT:    global.set __stack_pointer
; CHECK-NEXT:    local.get 2
; CHECK-NEXT:    local.get 1
; CHECK-NEXT:    i32.store 4
; CHECK-NEXT:    local.get 2
; CHECK-NEXT:    local.get 0
; CHECK-NEXT:    i32.store 0
; CHECK-NEXT:    local.get 2
; CHECK-NEXT:    call sink
; CHECK-NEXT:    local.get 2
; CHECK-NEXT:    i32.const 16
; CHECK-NEXT:    i32.add
; CHECK-NEXT:    global.set __stack_pointer
; CHECK-NEXT:    # fallthrough-return
entry:
  tail call void (...) @sink(i32 noundef %i, i16 %x.coerce)
  ret void
}

; Function Attrs: nounwind
define void @pass_int_s3(i32 noundef %i, i32 %x.coerce) {
; CHECK-LABEL: pass_int_s3:
; CHECK:         .functype pass_int_s3 (i32, i32) -> ()
; CHECK-NEXT:    .local i32
; CHECK-NEXT:  # %bb.0: # %entry
; CHECK-NEXT:    global.get __stack_pointer
; CHECK-NEXT:    i32.const 16
; CHECK-NEXT:    i32.sub
; CHECK-NEXT:    local.tee 2
; CHECK-NEXT:    global.set __stack_pointer
; CHECK-NEXT:    local.get 2
; CHECK-NEXT:    local.get 1
; CHECK-NEXT:    i32.store 4
; CHECK-NEXT:    local.get 2
; CHECK-NEXT:    local.get 0
; CHECK-NEXT:    i32.store 0
; CHECK-NEXT:    local.get 2
; CHECK-NEXT:    call sink
; CHECK-NEXT:    local.get 2
; CHECK-NEXT:    i32.const 16
; CHECK-NEXT:    i32.add
; CHECK-NEXT:    global.set __stack_pointer
; CHECK-NEXT:    # fallthrough-return
entry:
  tail call void (...) @sink(i32 noundef %i, i32 %x.coerce)
  ret void
}

; Function Attrs: nounwind
define void @pass_int_s4(i32 noundef %i, i64 %x.coerce) {
; CHECK-LABEL: pass_int_s4:
; CHECK:         .functype pass_int_s4 (i32, i64) -> ()
; CHECK-NEXT:    .local i32
; CHECK-NEXT:  # %bb.0: # %entry
; CHECK-NEXT:    global.get __stack_pointer
; CHECK-NEXT:    i32.const 16
; CHECK-NEXT:    i32.sub
; CHECK-NEXT:    local.tee 2
; CHECK-NEXT:    global.set __stack_pointer
; CHECK-NEXT:    local.get 2
; CHECK-NEXT:    local.get 1
; CHECK-NEXT:    i64.store 8
; CHECK-NEXT:    local.get 2
; CHECK-NEXT:    local.get 0
; CHECK-NEXT:    i32.store 0
; CHECK-NEXT:    local.get 2
; CHECK-NEXT:    call sink
; CHECK-NEXT:    local.get 2
; CHECK-NEXT:    i32.const 16
; CHECK-NEXT:    i32.add
; CHECK-NEXT:    global.set __stack_pointer
; CHECK-NEXT:    # fallthrough-return
entry:
  tail call void (...) @sink(i32 noundef %i, i64 %x.coerce)
  ret void
}

; Function Attrs: nounwind
define void @pass_int_s5(i32 noundef %i, <4 x i32> noundef %x) {
; CHECK-LABEL: pass_int_s5:
; CHECK:         .functype pass_int_s5 (i32, i32, i32, i32, i32) -> ()
; CHECK-NEXT:    .local i32
; CHECK-NEXT:  # %bb.0: # %entry
; CHECK-NEXT:    global.get __stack_pointer
; CHECK-NEXT:    i32.const 32
; CHECK-NEXT:    i32.sub
; CHECK-NEXT:    local.tee 5
; CHECK-NEXT:    global.set __stack_pointer
; CHECK-NEXT:    local.get 5
; CHECK-NEXT:    i32.const 28
; CHECK-NEXT:    i32.add
; CHECK-NEXT:    local.get 4
; CHECK-NEXT:    i32.store 0
; CHECK-NEXT:    local.get 5
; CHECK-NEXT:    i32.const 24
; CHECK-NEXT:    i32.add
; CHECK-NEXT:    local.get 3
; CHECK-NEXT:    i32.store 0
; CHECK-NEXT:    local.get 5
; CHECK-NEXT:    i32.const 20
; CHECK-NEXT:    i32.add
; CHECK-NEXT:    local.get 2
; CHECK-NEXT:    i32.store 0
; CHECK-NEXT:    local.get 5
; CHECK-NEXT:    i32.const 16
; CHECK-NEXT:    i32.add
; CHECK-NEXT:    local.get 1
; CHECK-NEXT:    i32.store 0
; CHECK-NEXT:    local.get 5
; CHECK-NEXT:    local.get 0
; CHECK-NEXT:    i32.store 0
; CHECK-NEXT:    local.get 5
; CHECK-NEXT:    call sink
; CHECK-NEXT:    local.get 5
; CHECK-NEXT:    i32.const 32
; CHECK-NEXT:    i32.add
; CHECK-NEXT:    global.set __stack_pointer
; CHECK-NEXT:    # fallthrough-return
entry:
  tail call void (...) @sink(i32 noundef %i, <4 x i32> noundef %x)
  ret void
}

; Function Attrs: nounwind
define void @pass_asc(i8 %x1.coerce, i16 %x2.coerce, i32 %x3.coerce, i64 %x4.coerce, <4 x i32> noundef %x5) {
; CHECK-LABEL: pass_asc:
; CHECK:         .functype pass_asc (i32, i32, i32, i64, i32, i32, i32, i32) -> ()
; CHECK-NEXT:    .local i32
; CHECK-NEXT:  # %bb.0: # %entry
; CHECK-NEXT:    global.get __stack_pointer
; CHECK-NEXT:    i32.const 48
; CHECK-NEXT:    i32.sub
; CHECK-NEXT:    local.tee 8
; CHECK-NEXT:    global.set __stack_pointer
; CHECK-NEXT:    local.get 8
; CHECK-NEXT:    i32.const 44
; CHECK-NEXT:    i32.add
; CHECK-NEXT:    local.get 7
; CHECK-NEXT:    i32.store 0
; CHECK-NEXT:    local.get 8
; CHECK-NEXT:    i32.const 40
; CHECK-NEXT:    i32.add
; CHECK-NEXT:    local.get 6
; CHECK-NEXT:    i32.store 0
; CHECK-NEXT:    local.get 8
; CHECK-NEXT:    i32.const 36
; CHECK-NEXT:    i32.add
; CHECK-NEXT:    local.get 5
; CHECK-NEXT:    i32.store 0
; CHECK-NEXT:    local.get 8
; CHECK-NEXT:    i32.const 32
; CHECK-NEXT:    i32.add
; CHECK-NEXT:    local.get 4
; CHECK-NEXT:    i32.store 0
; CHECK-NEXT:    local.get 8
; CHECK-NEXT:    i32.const 16
; CHECK-NEXT:    i32.add
; CHECK-NEXT:    local.get 3
; CHECK-NEXT:    i64.store 0
; CHECK-NEXT:    local.get 8
; CHECK-NEXT:    local.get 2
; CHECK-NEXT:    i32.store 8
; CHECK-NEXT:    local.get 8
; CHECK-NEXT:    local.get 1
; CHECK-NEXT:    i32.store 4
; CHECK-NEXT:    local.get 8
; CHECK-NEXT:    local.get 0
; CHECK-NEXT:    i32.store 0
; CHECK-NEXT:    local.get 8
; CHECK-NEXT:    call sink
; CHECK-NEXT:    local.get 8
; CHECK-NEXT:    i32.const 48
; CHECK-NEXT:    i32.add
; CHECK-NEXT:    global.set __stack_pointer
; CHECK-NEXT:    # fallthrough-return
entry:
  tail call void (...) @sink(i8 %x1.coerce, i16 %x2.coerce, i32 %x3.coerce, i64 %x4.coerce, <4 x i32> noundef %x5)
  ret void
}

; Function Attrs: nounwind
define void @pass_dsc(<4 x i32> noundef %x0, i64 %x1.coerce, i32 %x2.coerce, i16 %x3.coerce, i8 %x4.coerce) {
; CHECK-LABEL: pass_dsc:
; CHECK:         .functype pass_dsc (i32, i32, i32, i32, i64, i32, i32, i32) -> ()
; CHECK-NEXT:    .local i32
; CHECK-NEXT:  # %bb.0: # %entry
; CHECK-NEXT:    global.get __stack_pointer
; CHECK-NEXT:    i32.const 48
; CHECK-NEXT:    i32.sub
; CHECK-NEXT:    local.tee 8
; CHECK-NEXT:    global.set __stack_pointer
; CHECK-NEXT:    local.get 8
; CHECK-NEXT:    i32.const 32
; CHECK-NEXT:    i32.add
; CHECK-NEXT:    local.get 7
; CHECK-NEXT:    i32.store 0
; CHECK-NEXT:    local.get 8
; CHECK-NEXT:    i32.const 28
; CHECK-NEXT:    i32.add
; CHECK-NEXT:    local.get 6
; CHECK-NEXT:    i32.store 0
; CHECK-NEXT:    local.get 8
; CHECK-NEXT:    i32.const 24
; CHECK-NEXT:    i32.add
; CHECK-NEXT:    local.get 5
; CHECK-NEXT:    i32.store 0
; CHECK-NEXT:    local.get 8
; CHECK-NEXT:    i32.const 16
; CHECK-NEXT:    i32.add
; CHECK-NEXT:    local.get 4
; CHECK-NEXT:    i64.store 0
; CHECK-NEXT:    local.get 8
; CHECK-NEXT:    local.get 3
; CHECK-NEXT:    i32.store 12
; CHECK-NEXT:    local.get 8
; CHECK-NEXT:    local.get 2
; CHECK-NEXT:    i32.store 8
; CHECK-NEXT:    local.get 8
; CHECK-NEXT:    local.get 1
; CHECK-NEXT:    i32.store 4
; CHECK-NEXT:    local.get 8
; CHECK-NEXT:    local.get 0
; CHECK-NEXT:    i32.store 0
; CHECK-NEXT:    local.get 8
; CHECK-NEXT:    call sink
; CHECK-NEXT:    local.get 8
; CHECK-NEXT:    i32.const 48
; CHECK-NEXT:    i32.add
; CHECK-NEXT:    global.set __stack_pointer
; CHECK-NEXT:    # fallthrough-return
entry:
  tail call void (...) @sink(<4 x i32> noundef %x0, i64 %x1.coerce, i32 %x2.coerce, i16 %x3.coerce, i8 %x4.coerce)
  ret void
}

; Function Attrs: nounwind
define void @pass_multiple(i32 noundef %i, i8 %x1.coerce, i16 %x2.coerce, i32 %x3.coerce, i64 %x4.coerce, <4 x i32> noundef %x5) {
; CHECK-LABEL: pass_multiple:
; CHECK:         .functype pass_multiple (i32, i32, i32, i32, i64, i32, i32, i32, i32) -> ()
; CHECK-NEXT:    .local i32
; CHECK-NEXT:  # %bb.0: # %entry
; CHECK-NEXT:    global.get __stack_pointer
; CHECK-NEXT:    i32.const 48
; CHECK-NEXT:    i32.sub
; CHECK-NEXT:    local.tee 9
; CHECK-NEXT:    global.set __stack_pointer
; CHECK-NEXT:    local.get 9
; CHECK-NEXT:    local.get 4
; CHECK-NEXT:    i64.store 40
; CHECK-NEXT:    local.get 9
; CHECK-NEXT:    local.get 2
; CHECK-NEXT:    i32.store 36
; CHECK-NEXT:    local.get 9
; CHECK-NEXT:    local.get 0
; CHECK-NEXT:    i32.store 32
; CHECK-NEXT:    local.get 9
; CHECK-NEXT:    i32.const 32
; CHECK-NEXT:    i32.add
; CHECK-NEXT:    call sink
; CHECK-NEXT:    local.get 9
; CHECK-NEXT:    i32.const 28
; CHECK-NEXT:    i32.add
; CHECK-NEXT:    local.get 8
; CHECK-NEXT:    i32.store 0
; CHECK-NEXT:    local.get 9
; CHECK-NEXT:    i32.const 24
; CHECK-NEXT:    i32.add
; CHECK-NEXT:    local.get 7
; CHECK-NEXT:    i32.store 0
; CHECK-NEXT:    local.get 9
; CHECK-NEXT:    i32.const 20
; CHECK-NEXT:    i32.add
; CHECK-NEXT:    local.get 6
; CHECK-NEXT:    i32.store 0
; CHECK-NEXT:    local.get 9
; CHECK-NEXT:    i32.const 16
; CHECK-NEXT:    i32.add
; CHECK-NEXT:    local.get 5
; CHECK-NEXT:    i32.store 0
; CHECK-NEXT:    local.get 9
; CHECK-NEXT:    local.get 3
; CHECK-NEXT:    i32.store 8
; CHECK-NEXT:    local.get 9
; CHECK-NEXT:    local.get 1
; CHECK-NEXT:    i32.store 4
; CHECK-NEXT:    local.get 9
; CHECK-NEXT:    local.get 0
; CHECK-NEXT:    i32.store 0
; CHECK-NEXT:    local.get 9
; CHECK-NEXT:    call sink
; CHECK-NEXT:    local.get 9
; CHECK-NEXT:    i32.const 48
; CHECK-NEXT:    i32.add
; CHECK-NEXT:    global.set __stack_pointer
; CHECK-NEXT:    # fallthrough-return
entry:
  tail call void (...) @sink(i32 noundef %i, i16 %x2.coerce, i64 %x4.coerce)
  tail call void (...) @sink(i32 noundef %i, i8 %x1.coerce, i32 %x3.coerce, <4 x i32> noundef %x5)
  ret void
}

