xref: /llvm-project/llvm/test/CodeGen/AArch64/varargs-fixed-i16.ll (revision 3ed58d4df65e00b0ed3679551394f794170233d0)
1; RUN: llc -mtriple=arm64-apple-macosx %s -o - | FileCheck %s --check-prefix=CHECK-DARWIN
2; RUN: llc -mtriple=arm64-apple-macosx %s -o - -global-isel | FileCheck %s --check-prefix=CHECK-DARWIN
3; RUN: llc -mtriple=aarch64-linux-gnu %s -o - | FileCheck %s --check-prefix=CHECK-LINWIN
4; RUN: llc -mtriple=aarch64-linux-gnu %s -o - -global-isel | FileCheck %s --check-prefix=CHECK-LINWIN
5; RUN: llc -mtriple=aarch64-windows-msvc %s -o - | FileCheck %s --check-prefix=CHECK-LINWIN
6; RUN: llc -mtriple=aarch64-windows-msvc %s -o - -global-isel | FileCheck %s --check-prefix=CHECK-LINWIN
7
8declare i16 @foo([8 x i64], i16 signext, i16 signext %a, ...)
9
10define void @bar() {
11; CHECK-DARWIN-LABEL: bar:
12; CHECK-LINWIN-LABEL: bar:
13
14; CHECK-DARWIN: mov [[TMP:w[0-9]+]], #2752512
15; CHECK-DARWIN: str [[TMP]], [sp]
16
17; CHECK-LINWIN: mov [[TMP:w[0-9]+]], #42
18; CHECK-LINWIN: str{{h?}} wzr, [sp]
19; CHECK-LINWIN: str{{h?}} [[TMP]], [sp, #8]
20
21  call i16([8 x i64], i16, i16, ...) @foo([8 x i64] poison, i16 signext 0, i16 signext 42)
22  ret void
23}
24