1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 2
2 # RUN: llc -mtriple=riscv32 -x mir -run-pass=prologepilog -verify-machineinstrs < %s \
3 # RUN: | FileCheck -check-prefixes=CHECK-RV32-NO-COM %s
4 # RUN: llc -mtriple=riscv32 -mattr=+c -x mir -run-pass=prologepilog \
5 # RUN: -verify-machineinstrs < %s | FileCheck -check-prefixes=CHECK-RV32-COM %s
6 # RUN: llc -mtriple=riscv64 -x mir -run-pass=prologepilog -verify-machineinstrs < %s \
7 # RUN: | FileCheck -check-prefixes=CHECK-RV64-NO-COM %s
8 # RUN: llc -mtriple=riscv64 -mattr=+c -x mir -run-pass=prologepilog \
9 # RUN: -verify-machineinstrs < %s | FileCheck -check-prefixes=CHECK-RV64-COM %s
11 define dso_local void @_Z15stack_size_2048v() {
16 declare dso_local void @_Z6calleePi(ptr noundef)
18 define dso_local void @_Z15stack_size_4096v() {
23 define dso_local void @_Z15stack_size_8192v() {
30 name: _Z15stack_size_2048v
32 tracksRegLiveness: true
39 - { id: 0, size: 2048, alignment: 4, local-offset: -2048 }
45 ; CHECK-RV32-NO-COM-LABEL: name: _Z15stack_size_2048v
46 ; CHECK-RV32-NO-COM: liveins: $x1
47 ; CHECK-RV32-NO-COM-NEXT: {{ $}}
48 ; CHECK-RV32-NO-COM-NEXT: $x2 = frame-setup ADDI $x2, -2032
49 ; CHECK-RV32-NO-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 2032
50 ; CHECK-RV32-NO-COM-NEXT: SW killed $x1, $x2, 2028 :: (store (s32) into %stack.1)
51 ; CHECK-RV32-NO-COM-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -4
52 ; CHECK-RV32-NO-COM-NEXT: $x2 = frame-setup ADDI $x2, -32
53 ; CHECK-RV32-NO-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 2064
54 ; CHECK-RV32-NO-COM-NEXT: renamable $x10 = ADDI $x2, 12
55 ; CHECK-RV32-NO-COM-NEXT: PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2
56 ; CHECK-RV32-NO-COM-NEXT: $x2 = frame-destroy ADDI $x2, 32
57 ; CHECK-RV32-NO-COM-NEXT: $x1 = LW $x2, 2028 :: (load (s32) from %stack.1)
58 ; CHECK-RV32-NO-COM-NEXT: $x2 = frame-destroy ADDI $x2, 2032
59 ; CHECK-RV32-NO-COM-NEXT: PseudoRET
61 ; CHECK-RV32-COM-LABEL: name: _Z15stack_size_2048v
62 ; CHECK-RV32-COM: liveins: $x1
63 ; CHECK-RV32-COM-NEXT: {{ $}}
64 ; CHECK-RV32-COM-NEXT: $x2 = frame-setup ADDI $x2, -256
65 ; CHECK-RV32-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 256
66 ; CHECK-RV32-COM-NEXT: SW killed $x1, $x2, 252 :: (store (s32) into %stack.1)
67 ; CHECK-RV32-COM-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -4
68 ; CHECK-RV32-COM-NEXT: $x2 = frame-setup ADDI $x2, -1808
69 ; CHECK-RV32-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 2064
70 ; CHECK-RV32-COM-NEXT: renamable $x10 = ADDI $x2, 12
71 ; CHECK-RV32-COM-NEXT: PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2
72 ; CHECK-RV32-COM-NEXT: $x2 = frame-destroy ADDI $x2, 1808
73 ; CHECK-RV32-COM-NEXT: $x1 = LW $x2, 252 :: (load (s32) from %stack.1)
74 ; CHECK-RV32-COM-NEXT: $x2 = frame-destroy ADDI $x2, 256
75 ; CHECK-RV32-COM-NEXT: PseudoRET
77 ; CHECK-RV64-NO-COM-LABEL: name: _Z15stack_size_2048v
78 ; CHECK-RV64-NO-COM: liveins: $x1
79 ; CHECK-RV64-NO-COM-NEXT: {{ $}}
80 ; CHECK-RV64-NO-COM-NEXT: $x2 = frame-setup ADDI $x2, -2032
81 ; CHECK-RV64-NO-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 2032
82 ; CHECK-RV64-NO-COM-NEXT: SD killed $x1, $x2, 2024 :: (store (s64) into %stack.1)
83 ; CHECK-RV64-NO-COM-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -8
84 ; CHECK-RV64-NO-COM-NEXT: $x2 = frame-setup ADDI $x2, -32
85 ; CHECK-RV64-NO-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 2064
86 ; CHECK-RV64-NO-COM-NEXT: renamable $x10 = ADDI $x2, 8
87 ; CHECK-RV64-NO-COM-NEXT: PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2
88 ; CHECK-RV64-NO-COM-NEXT: $x2 = frame-destroy ADDI $x2, 32
89 ; CHECK-RV64-NO-COM-NEXT: $x1 = LD $x2, 2024 :: (load (s64) from %stack.1)
90 ; CHECK-RV64-NO-COM-NEXT: $x2 = frame-destroy ADDI $x2, 2032
91 ; CHECK-RV64-NO-COM-NEXT: PseudoRET
93 ; CHECK-RV64-COM-LABEL: name: _Z15stack_size_2048v
94 ; CHECK-RV64-COM: liveins: $x1
95 ; CHECK-RV64-COM-NEXT: {{ $}}
96 ; CHECK-RV64-COM-NEXT: $x2 = frame-setup ADDI $x2, -496
97 ; CHECK-RV64-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 496
98 ; CHECK-RV64-COM-NEXT: SD killed $x1, $x2, 488 :: (store (s64) into %stack.1)
99 ; CHECK-RV64-COM-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -8
100 ; CHECK-RV64-COM-NEXT: $x2 = frame-setup ADDI $x2, -1568
101 ; CHECK-RV64-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 2064
102 ; CHECK-RV64-COM-NEXT: renamable $x10 = ADDI $x2, 8
103 ; CHECK-RV64-COM-NEXT: PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2
104 ; CHECK-RV64-COM-NEXT: $x2 = frame-destroy ADDI $x2, 1568
105 ; CHECK-RV64-COM-NEXT: $x1 = LD $x2, 488 :: (load (s64) from %stack.1)
106 ; CHECK-RV64-COM-NEXT: $x2 = frame-destroy ADDI $x2, 496
107 ; CHECK-RV64-COM-NEXT: PseudoRET
108 ADJCALLSTACKDOWN 0, 0, implicit-def dead $x2, implicit $x2
109 renamable $x10 = ADDI %stack.0, 0
110 PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2
111 ADJCALLSTACKUP 0, 0, implicit-def dead $x2, implicit $x2
116 name: _Z15stack_size_4096v
118 tracksRegLiveness: true
125 - { id: 0, size: 4096, alignment: 4, local-offset: -4096 }
131 ; CHECK-RV32-NO-COM-LABEL: name: _Z15stack_size_4096v
132 ; CHECK-RV32-NO-COM: liveins: $x1
133 ; CHECK-RV32-NO-COM-NEXT: {{ $}}
134 ; CHECK-RV32-NO-COM-NEXT: $x2 = frame-setup ADDI $x2, -2032
135 ; CHECK-RV32-NO-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 2032
136 ; CHECK-RV32-NO-COM-NEXT: SW killed $x1, $x2, 2028 :: (store (s32) into %stack.1)
137 ; CHECK-RV32-NO-COM-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -4
138 ; CHECK-RV32-NO-COM-NEXT: $x2 = frame-setup ADDI $x2, -2048
139 ; CHECK-RV32-NO-COM-NEXT: $x2 = frame-setup ADDI killed $x2, -32
140 ; CHECK-RV32-NO-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 4112
141 ; CHECK-RV32-NO-COM-NEXT: renamable $x10 = ADDI $x2, 12
142 ; CHECK-RV32-NO-COM-NEXT: PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2
143 ; CHECK-RV32-NO-COM-NEXT: $x2 = frame-destroy ADDI $x2, 2032
144 ; CHECK-RV32-NO-COM-NEXT: $x2 = frame-destroy ADDI killed $x2, 48
145 ; CHECK-RV32-NO-COM-NEXT: $x1 = LW $x2, 2028 :: (load (s32) from %stack.1)
146 ; CHECK-RV32-NO-COM-NEXT: $x2 = frame-destroy ADDI $x2, 2032
147 ; CHECK-RV32-NO-COM-NEXT: PseudoRET
149 ; CHECK-RV32-COM-LABEL: name: _Z15stack_size_4096v
150 ; CHECK-RV32-COM: liveins: $x1
151 ; CHECK-RV32-COM-NEXT: {{ $}}
152 ; CHECK-RV32-COM-NEXT: $x2 = frame-setup ADDI $x2, -256
153 ; CHECK-RV32-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 256
154 ; CHECK-RV32-COM-NEXT: SW killed $x1, $x2, 252 :: (store (s32) into %stack.1)
155 ; CHECK-RV32-COM-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -4
156 ; CHECK-RV32-COM-NEXT: $x2 = frame-setup ADDI $x2, -2048
157 ; CHECK-RV32-COM-NEXT: $x2 = frame-setup ADDI killed $x2, -1808
158 ; CHECK-RV32-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 4112
159 ; CHECK-RV32-COM-NEXT: renamable $x10 = ADDI $x2, 12
160 ; CHECK-RV32-COM-NEXT: PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2
161 ; CHECK-RV32-COM-NEXT: $x2 = frame-destroy ADDI $x2, 2032
162 ; CHECK-RV32-COM-NEXT: $x2 = frame-destroy ADDI killed $x2, 1824
163 ; CHECK-RV32-COM-NEXT: $x1 = LW $x2, 252 :: (load (s32) from %stack.1)
164 ; CHECK-RV32-COM-NEXT: $x2 = frame-destroy ADDI $x2, 256
165 ; CHECK-RV32-COM-NEXT: PseudoRET
167 ; CHECK-RV64-NO-COM-LABEL: name: _Z15stack_size_4096v
168 ; CHECK-RV64-NO-COM: liveins: $x1
169 ; CHECK-RV64-NO-COM-NEXT: {{ $}}
170 ; CHECK-RV64-NO-COM-NEXT: $x2 = frame-setup ADDI $x2, -2032
171 ; CHECK-RV64-NO-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 2032
172 ; CHECK-RV64-NO-COM-NEXT: SD killed $x1, $x2, 2024 :: (store (s64) into %stack.1)
173 ; CHECK-RV64-NO-COM-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -8
174 ; CHECK-RV64-NO-COM-NEXT: $x2 = frame-setup ADDI $x2, -2048
175 ; CHECK-RV64-NO-COM-NEXT: $x2 = frame-setup ADDI killed $x2, -32
176 ; CHECK-RV64-NO-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 4112
177 ; CHECK-RV64-NO-COM-NEXT: renamable $x10 = ADDI $x2, 8
178 ; CHECK-RV64-NO-COM-NEXT: PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2
179 ; CHECK-RV64-NO-COM-NEXT: $x2 = frame-destroy ADDI $x2, 2032
180 ; CHECK-RV64-NO-COM-NEXT: $x2 = frame-destroy ADDI killed $x2, 48
181 ; CHECK-RV64-NO-COM-NEXT: $x1 = LD $x2, 2024 :: (load (s64) from %stack.1)
182 ; CHECK-RV64-NO-COM-NEXT: $x2 = frame-destroy ADDI $x2, 2032
183 ; CHECK-RV64-NO-COM-NEXT: PseudoRET
185 ; CHECK-RV64-COM-LABEL: name: _Z15stack_size_4096v
186 ; CHECK-RV64-COM: liveins: $x1
187 ; CHECK-RV64-COM-NEXT: {{ $}}
188 ; CHECK-RV64-COM-NEXT: $x2 = frame-setup ADDI $x2, -496
189 ; CHECK-RV64-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 496
190 ; CHECK-RV64-COM-NEXT: SD killed $x1, $x2, 488 :: (store (s64) into %stack.1)
191 ; CHECK-RV64-COM-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -8
192 ; CHECK-RV64-COM-NEXT: $x2 = frame-setup ADDI $x2, -2048
193 ; CHECK-RV64-COM-NEXT: $x2 = frame-setup ADDI killed $x2, -1568
194 ; CHECK-RV64-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 4112
195 ; CHECK-RV64-COM-NEXT: renamable $x10 = ADDI $x2, 8
196 ; CHECK-RV64-COM-NEXT: PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2
197 ; CHECK-RV64-COM-NEXT: $x2 = frame-destroy ADDI $x2, 2032
198 ; CHECK-RV64-COM-NEXT: $x2 = frame-destroy ADDI killed $x2, 1584
199 ; CHECK-RV64-COM-NEXT: $x1 = LD $x2, 488 :: (load (s64) from %stack.1)
200 ; CHECK-RV64-COM-NEXT: $x2 = frame-destroy ADDI $x2, 496
201 ; CHECK-RV64-COM-NEXT: PseudoRET
202 ADJCALLSTACKDOWN 0, 0, implicit-def dead $x2, implicit $x2
203 renamable $x10 = ADDI %stack.0, 0
204 PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2
205 ADJCALLSTACKUP 0, 0, implicit-def dead $x2, implicit $x2
210 name: _Z15stack_size_8192v
212 tracksRegLiveness: true
219 - { id: 0, size: 8192, alignment: 4, local-offset: -8192 }
225 ; CHECK-RV32-NO-COM-LABEL: name: _Z15stack_size_8192v
226 ; CHECK-RV32-NO-COM: liveins: $x1
227 ; CHECK-RV32-NO-COM-NEXT: {{ $}}
228 ; CHECK-RV32-NO-COM-NEXT: $x2 = frame-setup ADDI $x2, -2032
229 ; CHECK-RV32-NO-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 2032
230 ; CHECK-RV32-NO-COM-NEXT: SW killed $x1, $x2, 2028 :: (store (s32) into %stack.1)
231 ; CHECK-RV32-NO-COM-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -4
232 ; CHECK-RV32-NO-COM-NEXT: $x10 = frame-setup LUI 2
233 ; CHECK-RV32-NO-COM-NEXT: $x10 = frame-setup ADDI killed $x10, -2016
234 ; CHECK-RV32-NO-COM-NEXT: $x2 = frame-setup SUB $x2, killed $x10
235 ; CHECK-RV32-NO-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 8208
236 ; CHECK-RV32-NO-COM-NEXT: renamable $x10 = ADDI $x2, 12
237 ; CHECK-RV32-NO-COM-NEXT: PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2
238 ; CHECK-RV32-NO-COM-NEXT: $x10 = frame-destroy LUI 2
239 ; CHECK-RV32-NO-COM-NEXT: $x10 = frame-destroy ADDI killed $x10, -2016
240 ; CHECK-RV32-NO-COM-NEXT: $x2 = frame-destroy ADD $x2, killed $x10
241 ; CHECK-RV32-NO-COM-NEXT: $x1 = LW $x2, 2028 :: (load (s32) from %stack.1)
242 ; CHECK-RV32-NO-COM-NEXT: $x2 = frame-destroy ADDI $x2, 2032
243 ; CHECK-RV32-NO-COM-NEXT: PseudoRET
245 ; CHECK-RV32-COM-LABEL: name: _Z15stack_size_8192v
246 ; CHECK-RV32-COM: liveins: $x1
247 ; CHECK-RV32-COM-NEXT: {{ $}}
248 ; CHECK-RV32-COM-NEXT: $x2 = frame-setup ADDI $x2, -256
249 ; CHECK-RV32-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 256
250 ; CHECK-RV32-COM-NEXT: SW killed $x1, $x2, 252 :: (store (s32) into %stack.1)
251 ; CHECK-RV32-COM-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -4
252 ; CHECK-RV32-COM-NEXT: $x10 = frame-setup LUI 2
253 ; CHECK-RV32-COM-NEXT: $x10 = frame-setup ADDI killed $x10, -240
254 ; CHECK-RV32-COM-NEXT: $x2 = frame-setup SUB $x2, killed $x10
255 ; CHECK-RV32-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 8208
256 ; CHECK-RV32-COM-NEXT: renamable $x10 = ADDI $x2, 12
257 ; CHECK-RV32-COM-NEXT: PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2
258 ; CHECK-RV32-COM-NEXT: $x10 = frame-destroy LUI 2
259 ; CHECK-RV32-COM-NEXT: $x10 = frame-destroy ADDI killed $x10, -240
260 ; CHECK-RV32-COM-NEXT: $x2 = frame-destroy ADD $x2, killed $x10
261 ; CHECK-RV32-COM-NEXT: $x1 = LW $x2, 252 :: (load (s32) from %stack.1)
262 ; CHECK-RV32-COM-NEXT: $x2 = frame-destroy ADDI $x2, 256
263 ; CHECK-RV32-COM-NEXT: PseudoRET
265 ; CHECK-RV64-NO-COM-LABEL: name: _Z15stack_size_8192v
266 ; CHECK-RV64-NO-COM: liveins: $x1
267 ; CHECK-RV64-NO-COM-NEXT: {{ $}}
268 ; CHECK-RV64-NO-COM-NEXT: $x2 = frame-setup ADDI $x2, -2032
269 ; CHECK-RV64-NO-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 2032
270 ; CHECK-RV64-NO-COM-NEXT: SD killed $x1, $x2, 2024 :: (store (s64) into %stack.1)
271 ; CHECK-RV64-NO-COM-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -8
272 ; CHECK-RV64-NO-COM-NEXT: $x10 = frame-setup LUI 2
273 ; CHECK-RV64-NO-COM-NEXT: $x10 = frame-setup ADDIW killed $x10, -2016
274 ; CHECK-RV64-NO-COM-NEXT: $x2 = frame-setup SUB $x2, killed $x10
275 ; CHECK-RV64-NO-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 8208
276 ; CHECK-RV64-NO-COM-NEXT: renamable $x10 = ADDI $x2, 8
277 ; CHECK-RV64-NO-COM-NEXT: PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2
278 ; CHECK-RV64-NO-COM-NEXT: $x10 = frame-destroy LUI 2
279 ; CHECK-RV64-NO-COM-NEXT: $x10 = frame-destroy ADDIW killed $x10, -2016
280 ; CHECK-RV64-NO-COM-NEXT: $x2 = frame-destroy ADD $x2, killed $x10
281 ; CHECK-RV64-NO-COM-NEXT: $x1 = LD $x2, 2024 :: (load (s64) from %stack.1)
282 ; CHECK-RV64-NO-COM-NEXT: $x2 = frame-destroy ADDI $x2, 2032
283 ; CHECK-RV64-NO-COM-NEXT: PseudoRET
285 ; CHECK-RV64-COM-LABEL: name: _Z15stack_size_8192v
286 ; CHECK-RV64-COM: liveins: $x1
287 ; CHECK-RV64-COM-NEXT: {{ $}}
288 ; CHECK-RV64-COM-NEXT: $x2 = frame-setup ADDI $x2, -496
289 ; CHECK-RV64-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 496
290 ; CHECK-RV64-COM-NEXT: SD killed $x1, $x2, 488 :: (store (s64) into %stack.1)
291 ; CHECK-RV64-COM-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -8
292 ; CHECK-RV64-COM-NEXT: $x10 = frame-setup LUI 2
293 ; CHECK-RV64-COM-NEXT: $x10 = frame-setup ADDIW killed $x10, -480
294 ; CHECK-RV64-COM-NEXT: $x2 = frame-setup SUB $x2, killed $x10
295 ; CHECK-RV64-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 8208
296 ; CHECK-RV64-COM-NEXT: renamable $x10 = ADDI $x2, 8
297 ; CHECK-RV64-COM-NEXT: PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2
298 ; CHECK-RV64-COM-NEXT: $x10 = frame-destroy LUI 2
299 ; CHECK-RV64-COM-NEXT: $x10 = frame-destroy ADDIW killed $x10, -480
300 ; CHECK-RV64-COM-NEXT: $x2 = frame-destroy ADD $x2, killed $x10
301 ; CHECK-RV64-COM-NEXT: $x1 = LD $x2, 488 :: (load (s64) from %stack.1)
302 ; CHECK-RV64-COM-NEXT: $x2 = frame-destroy ADDI $x2, 496
303 ; CHECK-RV64-COM-NEXT: PseudoRET
304 ADJCALLSTACKDOWN 0, 0, implicit-def dead $x2, implicit $x2
305 renamable $x10 = ADDI %stack.0, 0
306 PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2
307 ADJCALLSTACKUP 0, 0, implicit-def dead $x2, implicit $x2