11; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
22; RUN: llc < %s -mtriple=aarch64-w64-mingw32 | FileCheck %s --check-prefixes=CHECK,CHECK-SD
3- ; RUN: llc < %s -mtriple=aarch64-w64-mingw32 -global-isel | FileCheck %s --check-prefixes=CHECK-GI
3+ ; RUN: llc < %s -mtriple=aarch64-w64-mingw32 -global-isel | FileCheck %s --check-prefixes=CHECK,CHECK -GI
44
55@var = external local_unnamed_addr global i32 , align 4
66@dsolocalvar = external dso_local local_unnamed_addr global i32 , align 4
@@ -15,13 +15,6 @@ define dso_local i32 @getVar() {
1515; CHECK-NEXT: ldr x8, [x8, :lo12:.refptr.var]
1616; CHECK-NEXT: ldr w0, [x8]
1717; CHECK-NEXT: ret
18- ;
19- ; CHECK-GI-LABEL: getVar:
20- ; CHECK-GI: // %bb.0: // %entry
21- ; CHECK-GI-NEXT: adrp x8, .refptr.var
22- ; CHECK-GI-NEXT: ldr x8, [x8, :lo12:.refptr.var]
23- ; CHECK-GI-NEXT: ldr w0, [x8]
24- ; CHECK-GI-NEXT: ret
2518entry:
2619 %0 = load i32 , ptr @var , align 4
2720 ret i32 %0
@@ -33,12 +26,6 @@ define dso_local i32 @getDsoLocalVar() {
3326; CHECK-NEXT: adrp x8, dsolocalvar
3427; CHECK-NEXT: ldr w0, [x8, :lo12:dsolocalvar]
3528; CHECK-NEXT: ret
36- ;
37- ; CHECK-GI-LABEL: getDsoLocalVar:
38- ; CHECK-GI: // %bb.0: // %entry
39- ; CHECK-GI-NEXT: adrp x8, dsolocalvar
40- ; CHECK-GI-NEXT: ldr w0, [x8, :lo12:dsolocalvar]
41- ; CHECK-GI-NEXT: ret
4229entry:
4330 %0 = load i32 , ptr @dsolocalvar , align 4
4431 ret i32 %0
@@ -50,12 +37,6 @@ define dso_local i32 @getLocalVar() {
5037; CHECK-NEXT: adrp x8, localvar
5138; CHECK-NEXT: ldr w0, [x8, :lo12:localvar]
5239; CHECK-NEXT: ret
53- ;
54- ; CHECK-GI-LABEL: getLocalVar:
55- ; CHECK-GI: // %bb.0: // %entry
56- ; CHECK-GI-NEXT: adrp x8, localvar
57- ; CHECK-GI-NEXT: ldr w0, [x8, :lo12:localvar]
58- ; CHECK-GI-NEXT: ret
5940entry:
6041 %0 = load i32 , ptr @localvar , align 4
6142 ret i32 %0
@@ -67,12 +48,6 @@ define dso_local i32 @getLocalCommon() {
6748; CHECK-NEXT: adrp x8, localcommon
6849; CHECK-NEXT: ldr w0, [x8, :lo12:localcommon]
6950; CHECK-NEXT: ret
70- ;
71- ; CHECK-GI-LABEL: getLocalCommon:
72- ; CHECK-GI: // %bb.0: // %entry
73- ; CHECK-GI-NEXT: adrp x8, localcommon
74- ; CHECK-GI-NEXT: ldr w0, [x8, :lo12:localcommon]
75- ; CHECK-GI-NEXT: ret
7651entry:
7752 %0 = load i32 , ptr @localcommon , align 4
7853 ret i32 %0
@@ -85,13 +60,6 @@ define dso_local i32 @getExtVar() {
8560; CHECK-NEXT: ldr x8, [x8, :lo12:__imp_extvar]
8661; CHECK-NEXT: ldr w0, [x8]
8762; CHECK-NEXT: ret
88- ;
89- ; CHECK-GI-LABEL: getExtVar:
90- ; CHECK-GI: // %bb.0: // %entry
91- ; CHECK-GI-NEXT: adrp x8, __imp_extvar
92- ; CHECK-GI-NEXT: ldr x8, [x8, :lo12:__imp_extvar]
93- ; CHECK-GI-NEXT: ldr w0, [x8]
94- ; CHECK-GI-NEXT: ret
9563entry:
9664 %0 = load i32 , ptr @extvar , align 4
9765 ret i32 %0
@@ -101,10 +69,6 @@ define dso_local void @callFunc() {
10169; CHECK-LABEL: callFunc:
10270; CHECK: // %bb.0: // %entry
10371; CHECK-NEXT: b otherFunc
104- ;
105- ; CHECK-GI-LABEL: callFunc:
106- ; CHECK-GI: // %bb.0: // %entry
107- ; CHECK-GI-NEXT: b otherFunc
10872entry:
10973 tail call void @otherFunc ()
11074 ret void
@@ -113,41 +77,41 @@ entry:
11377declare dso_local void @otherFunc ()
11478
11579define dso_local void @sspFunc () #0 {
116- ; CHECK-LABEL: sspFunc:
117- ; CHECK: .seh_proc sspFunc
118- ; CHECK-NEXT: // %bb.0: // %entry
119- ; CHECK-NEXT: sub sp, sp, #32
120- ; CHECK-NEXT: .seh_stackalloc 32
121- ; CHECK-NEXT: str x30, [sp, #16] // 8-byte Spill
122- ; CHECK-NEXT: .seh_save_reg x30, 16
123- ; CHECK-NEXT: .seh_endprologue
124- ; CHECK-NEXT: adrp x8, .refptr.__stack_chk_guard
125- ; CHECK-NEXT: add x0, sp, #7
126- ; CHECK-NEXT: ldr x8, [x8, :lo12:.refptr.__stack_chk_guard]
127- ; CHECK-NEXT: ldr x8, [x8]
128- ; CHECK-NEXT: sub x8, sp, x8
129- ; CHECK-NEXT: str x8, [sp, #8]
130- ; CHECK-NEXT: bl ptrUser
131- ; CHECK-NEXT: adrp x8, .refptr.__stack_chk_guard
132- ; CHECK-NEXT: ldr x8, [x8, :lo12:.refptr.__stack_chk_guard]
133- ; CHECK-NEXT: ldr x9, [sp, #8]
134- ; CHECK-NEXT: ldr x8, [x8]
135- ; CHECK-NEXT: sub x8, sp, x8
136- ; CHECK-NEXT: cmp x8, x9
137- ; CHECK-NEXT: b.ne .LBB6_2
138- ; CHECK-NEXT: // %bb.1: // %entry
139- ; CHECK-NEXT: .seh_startepilogue
140- ; CHECK-NEXT: ldr x30, [sp, #16] // 8-byte Reload
141- ; CHECK-NEXT: .seh_save_reg x30, 16
142- ; CHECK-NEXT: add sp, sp, #32
143- ; CHECK-NEXT: .seh_stackalloc 32
144- ; CHECK-NEXT: .seh_endepilogue
145- ; CHECK-NEXT: ret
146- ; CHECK-NEXT: .LBB6_2: // %entry
147- ; CHECK-NEXT: bl __stack_chk_fail
148- ; CHECK-NEXT: brk #0x1
149- ; CHECK-NEXT: .seh_endfunclet
150- ; CHECK-NEXT: .seh_endproc
80+ ; CHECK-SD- LABEL: sspFunc:
81+ ; CHECK-SD : .seh_proc sspFunc
82+ ; CHECK-SD- NEXT: // %bb.0: // %entry
83+ ; CHECK-SD- NEXT: sub sp, sp, #32
84+ ; CHECK-SD- NEXT: .seh_stackalloc 32
85+ ; CHECK-SD- NEXT: str x30, [sp, #16] // 8-byte Spill
86+ ; CHECK-SD- NEXT: .seh_save_reg x30, 16
87+ ; CHECK-SD- NEXT: .seh_endprologue
88+ ; CHECK-SD- NEXT: adrp x8, .refptr.__stack_chk_guard
89+ ; CHECK-SD- NEXT: add x0, sp, #7
90+ ; CHECK-SD- NEXT: ldr x8, [x8, :lo12:.refptr.__stack_chk_guard]
91+ ; CHECK-SD- NEXT: ldr x8, [x8]
92+ ; CHECK-SD- NEXT: sub x8, sp, x8
93+ ; CHECK-SD- NEXT: str x8, [sp, #8]
94+ ; CHECK-SD- NEXT: bl ptrUser
95+ ; CHECK-SD- NEXT: adrp x8, .refptr.__stack_chk_guard
96+ ; CHECK-SD- NEXT: ldr x8, [x8, :lo12:.refptr.__stack_chk_guard]
97+ ; CHECK-SD- NEXT: ldr x9, [sp, #8]
98+ ; CHECK-SD- NEXT: ldr x8, [x8]
99+ ; CHECK-SD- NEXT: sub x8, sp, x8
100+ ; CHECK-SD- NEXT: cmp x8, x9
101+ ; CHECK-SD- NEXT: b.ne .LBB6_2
102+ ; CHECK-SD- NEXT: // %bb.1: // %entry
103+ ; CHECK-SD- NEXT: .seh_startepilogue
104+ ; CHECK-SD- NEXT: ldr x30, [sp, #16] // 8-byte Reload
105+ ; CHECK-SD- NEXT: .seh_save_reg x30, 16
106+ ; CHECK-SD- NEXT: add sp, sp, #32
107+ ; CHECK-SD- NEXT: .seh_stackalloc 32
108+ ; CHECK-SD- NEXT: .seh_endepilogue
109+ ; CHECK-SD- NEXT: ret
110+ ; CHECK-SD- NEXT: .LBB6_2: // %entry
111+ ; CHECK-SD- NEXT: bl __stack_chk_fail
112+ ; CHECK-SD- NEXT: brk #0x1
113+ ; CHECK-SD- NEXT: .seh_endfunclet
114+ ; CHECK-SD- NEXT: .seh_endproc
151115;
152116; CHECK-GI-LABEL: sspFunc:
153117; CHECK-GI: .seh_proc sspFunc
@@ -205,5 +169,3 @@ attributes #0 = { sspstrong }
205169; CHECK: .refptr.var:
206170; CHECK: .xword var
207171
208- ;; NOTE: These prefixes are unused and the list is autogenerated. Do not add tests below this line:
209- ; CHECK-SD: {{.*}}
0 commit comments