|
1 | 1 | ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
|
2 | 2 | ; RUN: llc -verify-machineinstrs -csky-no-aliases < %s -mtriple=csky | FileCheck %s
|
3 |
| -; RUN: llc -verify-machineinstrs -csky-no-aliases < %s -mtriple=csky -relocation-model=pic -code-model=small | FileCheck %s --check-prefix=CHECK-PIC-SMALL |
4 |
| -; RUN: llc -verify-machineinstrs -csky-no-aliases < %s -mtriple=csky -relocation-model=pic -code-model=large | FileCheck %s --check-prefix=CHECK-PIC-LARGE |
5 | 3 |
|
6 | 4 | @p_fun = global void (i32, i32)* @bar, align 8
|
7 | 5 |
|
@@ -29,69 +27,6 @@ define void @foo(i32 %a, i32* %ptr){
|
29 | 27 | ; CHECK-NEXT: .LCPI0_0:
|
30 | 28 | ; CHECK-NEXT: .long bar
|
31 | 29 | ;
|
32 |
| -; CHECK-PIC-SMALL-LABEL: foo: |
33 |
| -; CHECK-PIC-SMALL: # %bb.0: # %entry |
34 |
| -; CHECK-PIC-SMALL-NEXT: subi16 sp, sp, 8 |
35 |
| -; CHECK-PIC-SMALL-NEXT: .cfi_def_cfa_offset 8 |
36 |
| -; CHECK-PIC-SMALL-NEXT: st32.w rgb, (sp, 4) # 4-byte Folded Spill |
37 |
| -; CHECK-PIC-SMALL-NEXT: st32.w lr, (sp, 0) # 4-byte Folded Spill |
38 |
| -; CHECK-PIC-SMALL-NEXT: .cfi_offset rgb, -4 |
39 |
| -; CHECK-PIC-SMALL-NEXT: .cfi_offset lr, -8 |
40 |
| -; CHECK-PIC-SMALL-NEXT: subi16 sp, sp, 4 |
41 |
| -; CHECK-PIC-SMALL-NEXT: .cfi_def_cfa_offset 12 |
42 |
| -; CHECK-PIC-SMALL-NEXT: lrw32 rgb, [.LCPI0_0] |
43 |
| -; CHECK-PIC-SMALL-NEXT: mov32 a2, rgb |
44 |
| -; CHECK-PIC-SMALL-NEXT: ld16.w a1, (a1, 0) |
45 |
| -; CHECK-PIC-SMALL-NEXT: lrw32 a3, [.LCPI0_1] |
46 |
| -; CHECK-PIC-SMALL-NEXT: addu16 a2, a2, a3 |
47 |
| -; CHECK-PIC-SMALL-NEXT: ld16.w a2, (a2, 0) |
48 |
| -; CHECK-PIC-SMALL-NEXT: jsr16 a2 |
49 |
| -; CHECK-PIC-SMALL-NEXT: addi16 sp, sp, 4 |
50 |
| -; CHECK-PIC-SMALL-NEXT: ld32.w lr, (sp, 0) # 4-byte Folded Reload |
51 |
| -; CHECK-PIC-SMALL-NEXT: ld32.w rgb, (sp, 4) # 4-byte Folded Reload |
52 |
| -; CHECK-PIC-SMALL-NEXT: addi16 sp, sp, 8 |
53 |
| -; CHECK-PIC-SMALL-NEXT: rts16 |
54 |
| -; CHECK-PIC-SMALL-NEXT: .p2align 1 |
55 |
| -; CHECK-PIC-SMALL-NEXT: # %bb.1: |
56 |
| -; CHECK-PIC-SMALL-NEXT: .p2align 2 |
57 |
| -; CHECK-PIC-SMALL-NEXT: .LCPI0_0: |
58 |
| -; CHECK-PIC-SMALL-NEXT: .long _GLOBAL_OFFSET_TABLE_ |
59 |
| -; CHECK-PIC-SMALL-NEXT: .LCPI0_1: |
60 |
| -; CHECK-PIC-SMALL-NEXT: .long bar@PLT |
61 |
| -; |
62 |
| -; CHECK-PIC-LARGE-LABEL: foo: |
63 |
| -; CHECK-PIC-LARGE: # %bb.0: # %entry |
64 |
| -; CHECK-PIC-LARGE-NEXT: subi16 sp, sp, 8 |
65 |
| -; CHECK-PIC-LARGE-NEXT: .cfi_def_cfa_offset 8 |
66 |
| -; CHECK-PIC-LARGE-NEXT: st32.w rgb, (sp, 4) # 4-byte Folded Spill |
67 |
| -; CHECK-PIC-LARGE-NEXT: st32.w lr, (sp, 0) # 4-byte Folded Spill |
68 |
| -; CHECK-PIC-LARGE-NEXT: .cfi_offset rgb, -4 |
69 |
| -; CHECK-PIC-LARGE-NEXT: .cfi_offset lr, -8 |
70 |
| -; CHECK-PIC-LARGE-NEXT: subi16 sp, sp, 4 |
71 |
| -; CHECK-PIC-LARGE-NEXT: .cfi_def_cfa_offset 12 |
72 |
| -; CHECK-PIC-LARGE-NEXT: lrw32 rgb, [.LCPI0_0] |
73 |
| -; CHECK-PIC-LARGE-NEXT: mov32 a2, rgb |
74 |
| -; CHECK-PIC-LARGE-NEXT: ld16.w a1, (a1, 0) |
75 |
| -; CHECK-PIC-LARGE-NEXT: lrw32 a3, [.LCPI0_1] |
76 |
| -; CHECK-PIC-LARGE-NEXT: addu16 a2, a2, a3 |
77 |
| -; CHECK-PIC-LARGE-NEXT: ld16.w a2, (a2, 0) |
78 |
| -; CHECK-PIC-LARGE-NEXT: jsr16 a2 |
79 |
| -; CHECK-PIC-LARGE-NEXT: addi16 sp, sp, 4 |
80 |
| -; CHECK-PIC-LARGE-NEXT: ld32.w lr, (sp, 0) # 4-byte Folded Reload |
81 |
| -; CHECK-PIC-LARGE-NEXT: ld32.w rgb, (sp, 4) # 4-byte Folded Reload |
82 |
| -; CHECK-PIC-LARGE-NEXT: addi16 sp, sp, 8 |
83 |
| -; CHECK-PIC-LARGE-NEXT: rts16 |
84 |
| -; CHECK-PIC-LARGE-NEXT: .p2align 1 |
85 |
| -; CHECK-PIC-LARGE-NEXT: # %bb.1: |
86 |
| -; CHECK-PIC-LARGE-NEXT: .p2align 2 |
87 |
| -; CHECK-PIC-LARGE-NEXT: .LCPI0_0: |
88 |
| -; CHECK-PIC-LARGE-NEXT: .long _GLOBAL_OFFSET_TABLE_ |
89 |
| -; CHECK-PIC-LARGE-NEXT: .LCPI0_1: |
90 |
| -; CHECK-PIC-LARGE-NEXT: .long bar@PLT |
91 |
| -; CHECK-PIC-LABEL: foo: |
92 |
| -; CHECK-PIC: # %bb.0: # %entry |
93 |
| -; CHECK-PIC-NEXT: ld32.w a1, a1, 0 |
94 |
| -; CHECK-PIC-NEXT: br32 bar |
95 | 30 | entry:
|
96 | 31 | %0 = load i32, i32* %ptr
|
97 | 32 | tail call void (i32, i32) @bar(i32 %a, i32 %0)
|
@@ -121,75 +56,6 @@ define void @foo_indirect(i32 %a, i32* %ptr) {
|
121 | 56 | ; CHECK-NEXT: .LCPI1_0:
|
122 | 57 | ; CHECK-NEXT: .long p_fun
|
123 | 58 | ;
|
124 |
| -; CHECK-PIC-SMALL-LABEL: foo_indirect: |
125 |
| -; CHECK-PIC-SMALL: # %bb.0: # %entry |
126 |
| -; CHECK-PIC-SMALL-NEXT: subi16 sp, sp, 8 |
127 |
| -; CHECK-PIC-SMALL-NEXT: .cfi_def_cfa_offset 8 |
128 |
| -; CHECK-PIC-SMALL-NEXT: st32.w rgb, (sp, 4) # 4-byte Folded Spill |
129 |
| -; CHECK-PIC-SMALL-NEXT: st32.w lr, (sp, 0) # 4-byte Folded Spill |
130 |
| -; CHECK-PIC-SMALL-NEXT: .cfi_offset rgb, -4 |
131 |
| -; CHECK-PIC-SMALL-NEXT: .cfi_offset lr, -8 |
132 |
| -; CHECK-PIC-SMALL-NEXT: subi16 sp, sp, 4 |
133 |
| -; CHECK-PIC-SMALL-NEXT: .cfi_def_cfa_offset 12 |
134 |
| -; CHECK-PIC-SMALL-NEXT: lrw32 rgb, [.LCPI1_0] |
135 |
| -; CHECK-PIC-SMALL-NEXT: mov32 a2, rgb |
136 |
| -; CHECK-PIC-SMALL-NEXT: lrw32 a3, [.LCPI1_1] |
137 |
| -; CHECK-PIC-SMALL-NEXT: addu16 a2, a2, a3 |
138 |
| -; CHECK-PIC-SMALL-NEXT: ld16.w a2, (a2, 0) |
139 |
| -; CHECK-PIC-SMALL-NEXT: ld16.w a2, (a2, 0) |
140 |
| -; CHECK-PIC-SMALL-NEXT: ld16.w a1, (a1, 0) |
141 |
| -; CHECK-PIC-SMALL-NEXT: jsr16 a2 |
142 |
| -; CHECK-PIC-SMALL-NEXT: addi16 sp, sp, 4 |
143 |
| -; CHECK-PIC-SMALL-NEXT: ld32.w lr, (sp, 0) # 4-byte Folded Reload |
144 |
| -; CHECK-PIC-SMALL-NEXT: ld32.w rgb, (sp, 4) # 4-byte Folded Reload |
145 |
| -; CHECK-PIC-SMALL-NEXT: addi16 sp, sp, 8 |
146 |
| -; CHECK-PIC-SMALL-NEXT: rts16 |
147 |
| -; CHECK-PIC-SMALL-NEXT: .p2align 1 |
148 |
| -; CHECK-PIC-SMALL-NEXT: # %bb.1: |
149 |
| -; CHECK-PIC-SMALL-NEXT: .p2align 2 |
150 |
| -; CHECK-PIC-SMALL-NEXT: .LCPI1_0: |
151 |
| -; CHECK-PIC-SMALL-NEXT: .long _GLOBAL_OFFSET_TABLE_ |
152 |
| -; CHECK-PIC-SMALL-NEXT: .LCPI1_1: |
153 |
| -; CHECK-PIC-SMALL-NEXT: .long p_fun@GOT |
154 |
| -; |
155 |
| -; CHECK-PIC-LARGE-LABEL: foo_indirect: |
156 |
| -; CHECK-PIC-LARGE: # %bb.0: # %entry |
157 |
| -; CHECK-PIC-LARGE-NEXT: subi16 sp, sp, 8 |
158 |
| -; CHECK-PIC-LARGE-NEXT: .cfi_def_cfa_offset 8 |
159 |
| -; CHECK-PIC-LARGE-NEXT: st32.w rgb, (sp, 4) # 4-byte Folded Spill |
160 |
| -; CHECK-PIC-LARGE-NEXT: st32.w lr, (sp, 0) # 4-byte Folded Spill |
161 |
| -; CHECK-PIC-LARGE-NEXT: .cfi_offset rgb, -4 |
162 |
| -; CHECK-PIC-LARGE-NEXT: .cfi_offset lr, -8 |
163 |
| -; CHECK-PIC-LARGE-NEXT: subi16 sp, sp, 4 |
164 |
| -; CHECK-PIC-LARGE-NEXT: .cfi_def_cfa_offset 12 |
165 |
| -; CHECK-PIC-LARGE-NEXT: lrw32 rgb, [.LCPI1_0] |
166 |
| -; CHECK-PIC-LARGE-NEXT: mov32 a2, rgb |
167 |
| -; CHECK-PIC-LARGE-NEXT: lrw32 a3, [.LCPI1_1] |
168 |
| -; CHECK-PIC-LARGE-NEXT: addu16 a2, a2, a3 |
169 |
| -; CHECK-PIC-LARGE-NEXT: ld16.w a2, (a2, 0) |
170 |
| -; CHECK-PIC-LARGE-NEXT: ld16.w a2, (a2, 0) |
171 |
| -; CHECK-PIC-LARGE-NEXT: ld16.w a1, (a1, 0) |
172 |
| -; CHECK-PIC-LARGE-NEXT: jsr16 a2 |
173 |
| -; CHECK-PIC-LARGE-NEXT: addi16 sp, sp, 4 |
174 |
| -; CHECK-PIC-LARGE-NEXT: ld32.w lr, (sp, 0) # 4-byte Folded Reload |
175 |
| -; CHECK-PIC-LARGE-NEXT: ld32.w rgb, (sp, 4) # 4-byte Folded Reload |
176 |
| -; CHECK-PIC-LARGE-NEXT: addi16 sp, sp, 8 |
177 |
| -; CHECK-PIC-LARGE-NEXT: rts16 |
178 |
| -; CHECK-PIC-LARGE-NEXT: .p2align 1 |
179 |
| -; CHECK-PIC-LARGE-NEXT: # %bb.1: |
180 |
| -; CHECK-PIC-LARGE-NEXT: .p2align 2 |
181 |
| -; CHECK-PIC-LARGE-NEXT: .LCPI1_0: |
182 |
| -; CHECK-PIC-LARGE-NEXT: .long _GLOBAL_OFFSET_TABLE_ |
183 |
| -; CHECK-PIC-LARGE-NEXT: .LCPI1_1: |
184 |
| -; CHECK-PIC-LARGE-NEXT: .long p_fun@GOT |
185 |
| -; CHECK-PIC-LABEL: foo_indirect: |
186 |
| -; CHECK-PIC: # %bb.0: # %entry |
187 |
| -; CHECK-PIC-NEXT: movi32 a2, p_fun |
188 |
| -; CHECK-PIC-NEXT: movih32 a3, p_fun |
189 |
| -; CHECK-PIC-NEXT: or32 a2, a3, a2 |
190 |
| -; CHECK-PIC-NEXT: ld32.w a2, a2, 0 |
191 |
| -; CHECK-PIC-NEXT: ld32.w a1, a1, 0 |
192 |
| -; CHECK-PIC-NEXT: jmp32 a2 |
193 | 59 | entry:
|
194 | 60 | %0 = load void (i32, i32)*, void (i32, i32)** @p_fun, align 8
|
195 | 61 | %1 = load i32, i32* %ptr
|
|
0 commit comments