Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / CodeGen / AArch64 / arm64-zero-cycle-regmov.ll
blobb390853d44bffb9f960e9240ae6ce6bcb19cb9b7
1 ; RUN: llc < %s -mtriple=arm64-apple-ios -mattr=-zcm   | FileCheck %s -check-prefixes=CHECK,NOT
2 ; RUN: llc < %s -mtriple=arm64-apple-ios -mattr=+zcm   | FileCheck %s -check-prefixes=CHECK,YES
3 ; RUN: llc < %s -mtriple=arm64-apple-ios -mcpu=cyclone | FileCheck %s -check-prefixes=CHECK,YES
5 ; rdar://12254953
6 define i32 @t(i32 %a, i32 %b, i32 %c, i32 %d) nounwind ssp {
7 entry:
8 ; CHECK-LABEL: t:
9 ; NOT: mov [[REG2:w[0-9]+]], w3
10 ; NOT: mov [[REG1:w[0-9]+]], w2
11 ; YES: mov [[REG2:x[0-9]+]], x3
12 ; YES: mov [[REG1:x[0-9]+]], x2
13 ; CHECK: bl _foo
14 ; NOT: mov w0, [[REG1]]
15 ; NOT: mov w1, [[REG2]]
16 ; YES: mov x0, [[REG1]]
17 ; YES: mov x1, [[REG2]]
18   %call = call i32 @foo(i32 %c, i32 %d) nounwind
19   %call1 = call i32 @foo(i32 %c, i32 %d) nounwind
20   unreachable
23 declare i32 @foo(i32, i32)