1- ; RUN: llc < %s -mtriple=arm64-apple-ios-8.0.0 | FileCheck %s
1+ ; RUN: llc < %s -mtriple=arm64-apple-ios-8.0.0 | FileCheck -check-prefix CHECK -check-prefix CHECK-DARWIN %s
2+ ; RUN: llc < %s -mtriple=aarch64-unknown-windows-msvc | FileCheck -check-prefix CHECK -check-prefix CHECK-WIN %s
23
34declare void @standard_cc_func ()
45declare preserve_mostcc void @preserve_mostcc_func ()
@@ -8,18 +9,26 @@ declare preserve_mostcc void @preserve_mostcc_func()
89define preserve_mostcc void @preserve_mostcc1 () nounwind {
910entry:
1011;CHECK-LABEL: preserve_mostcc1
11- ;CHECK-NOT: stp
12- ;CHECK-NOT: str
13- ;CHECK: str x15
14- ;CHECK-NEXT: stp x14, x13,
15- ;CHECK-NEXT: stp x12, x11,
16- ;CHECK-NEXT: stp x10, x9,
17- ;CHECK: bl _standard_cc_func
12+ ;CHECK-DARWIN-NOT: stp
13+ ;CHECK-DARWIN-NOT: str
14+ ;CHECK-DARWIN: str x15
15+ ;CHECK-DARWIN-NEXT: stp x14, x13,
16+ ;CHECK-DARWIN-NEXT: stp x12, x11,
17+ ;CHECK-DARWIN-NEXT: stp x10, x9,
18+ ;CHECK-WIN: stp x15, x14
19+ ;CHECK-WIN-NEXT: stp x13, x12,
20+ ;CHECK-WIN-NEXT: stp x11, x10,
21+ ;CHECK-WIN-NEXT: stp x9, x30
22+ ;CHECK: bl {{_?}}standard_cc_func
1823 call void @standard_cc_func ()
19- ;CHECK: ldp x10, x9,
20- ;CHECK-NEXT: ldp x12, x11,
21- ;CHECK-NEXT: ldp x14, x13,
22- ;CHECK-NEXT: ldr x15
24+ ;CHECK-DARWIN: ldp x10, x9,
25+ ;CHECK-DARWIN-NEXT: ldp x12, x11,
26+ ;CHECK-DARWIN-NEXT: ldp x14, x13,
27+ ;CHECK-DARWIN-NEXT: ldr x15
28+ ;CHECK-WIN: ldp x9, x30
29+ ;CHECK-WIN-NEXT: ldp x11, x10,
30+ ;CHECK-WIN-NEXT: ldp x13, x12,
31+ ;CHECK-WIN-NEXT: ldp x15, x14,
2332 ret void
2433}
2534
@@ -31,9 +40,10 @@ define preserve_mostcc void @preserve_mostcc2() nounwind {
3140entry:
3241;CHECK-LABEL: preserve_mostcc2
3342;CHECK-NOT: x14
34- ;CHECK: stp x29, x30,
43+ ;CHECK-DARWIN: stp x29, x30,
44+ ;CHECK-WIN: str x30
3545;CHECK-NOT: x14
36- ;CHECK: bl _preserve_mostcc_func
46+ ;CHECK: bl {{_?}}preserve_mostcc_func
3747 call preserve_mostcc void @preserve_mostcc_func ()
3848 ret void
3949}
0 commit comments