xref: /llvm-project/llvm/test/CodeGen/RISCV/stack-offset.ll (revision 97982a8c605fac7c86d02e641a6cd7898b3ca343)
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2; RUN: llc -mtriple=riscv32 -verify-machineinstrs < %s \
3; RUN:   | FileCheck %s -check-prefixes=RV32,RV32I
4; RUN: llc -mtriple=riscv32 -verify-machineinstrs -mattr=+zba < %s \
5; RUN:   | FileCheck %s -check-prefixes=RV32,RV32ZBA
6; RUN: llc -mtriple=riscv64 -verify-machineinstrs < %s \
7; RUN:   | FileCheck %s -check-prefixes=RV64,RV64I
8; RUN: llc -mtriple=riscv64 -verify-machineinstrs -mattr=+zba < %s \
9; RUN:   | FileCheck %s -check-prefixes=RV64,RV64ZBA
10
11declare void @inspect(...)
12
13define void @test() {
14; RV32I-LABEL: test:
15; RV32I:       # %bb.0:
16; RV32I-NEXT:    addi sp, sp, -2032
17; RV32I-NEXT:    .cfi_def_cfa_offset 2032
18; RV32I-NEXT:    sw ra, 2028(sp) # 4-byte Folded Spill
19; RV32I-NEXT:    .cfi_offset ra, -4
20; RV32I-NEXT:    addi sp, sp, -2048
21; RV32I-NEXT:    addi sp, sp, -1120
22; RV32I-NEXT:    .cfi_def_cfa_offset 5200
23; RV32I-NEXT:    addi a0, sp, 12
24; RV32I-NEXT:    addi a1, sp, 2047
25; RV32I-NEXT:    addi a1, a1, 13
26; RV32I-NEXT:    lui a2, 1
27; RV32I-NEXT:    addi a2, a2, 12
28; RV32I-NEXT:    add a2, sp, a2
29; RV32I-NEXT:    lui a3, 1
30; RV32I-NEXT:    addi a3, a3, 1036
31; RV32I-NEXT:    add a3, sp, a3
32; RV32I-NEXT:    call inspect
33; RV32I-NEXT:    addi sp, sp, 2032
34; RV32I-NEXT:    addi sp, sp, 1136
35; RV32I-NEXT:    .cfi_def_cfa_offset 2032
36; RV32I-NEXT:    lw ra, 2028(sp) # 4-byte Folded Reload
37; RV32I-NEXT:    .cfi_restore ra
38; RV32I-NEXT:    addi sp, sp, 2032
39; RV32I-NEXT:    .cfi_def_cfa_offset 0
40; RV32I-NEXT:    ret
41;
42; RV32ZBA-LABEL: test:
43; RV32ZBA:       # %bb.0:
44; RV32ZBA-NEXT:    addi sp, sp, -2032
45; RV32ZBA-NEXT:    .cfi_def_cfa_offset 2032
46; RV32ZBA-NEXT:    sw ra, 2028(sp) # 4-byte Folded Spill
47; RV32ZBA-NEXT:    .cfi_offset ra, -4
48; RV32ZBA-NEXT:    addi sp, sp, -2048
49; RV32ZBA-NEXT:    addi sp, sp, -1120
50; RV32ZBA-NEXT:    .cfi_def_cfa_offset 5200
51; RV32ZBA-NEXT:    addi a0, sp, 12
52; RV32ZBA-NEXT:    addi a1, sp, 2047
53; RV32ZBA-NEXT:    addi a1, a1, 13
54; RV32ZBA-NEXT:    li a2, 1027
55; RV32ZBA-NEXT:    sh2add a2, a2, sp
56; RV32ZBA-NEXT:    li a3, 1283
57; RV32ZBA-NEXT:    sh2add a3, a3, sp
58; RV32ZBA-NEXT:    call inspect
59; RV32ZBA-NEXT:    addi sp, sp, 2032
60; RV32ZBA-NEXT:    addi sp, sp, 1136
61; RV32ZBA-NEXT:    .cfi_def_cfa_offset 2032
62; RV32ZBA-NEXT:    lw ra, 2028(sp) # 4-byte Folded Reload
63; RV32ZBA-NEXT:    .cfi_restore ra
64; RV32ZBA-NEXT:    addi sp, sp, 2032
65; RV32ZBA-NEXT:    .cfi_def_cfa_offset 0
66; RV32ZBA-NEXT:    ret
67;
68; RV64I-LABEL: test:
69; RV64I:       # %bb.0:
70; RV64I-NEXT:    addi sp, sp, -2032
71; RV64I-NEXT:    .cfi_def_cfa_offset 2032
72; RV64I-NEXT:    sd ra, 2024(sp) # 8-byte Folded Spill
73; RV64I-NEXT:    .cfi_offset ra, -8
74; RV64I-NEXT:    addi sp, sp, -2048
75; RV64I-NEXT:    addi sp, sp, -1120
76; RV64I-NEXT:    .cfi_def_cfa_offset 5200
77; RV64I-NEXT:    addi a0, sp, 8
78; RV64I-NEXT:    addi a1, sp, 2047
79; RV64I-NEXT:    addi a1, a1, 9
80; RV64I-NEXT:    lui a2, 1
81; RV64I-NEXT:    addiw a2, a2, 8
82; RV64I-NEXT:    add a2, sp, a2
83; RV64I-NEXT:    lui a3, 1
84; RV64I-NEXT:    addiw a3, a3, 1032
85; RV64I-NEXT:    add a3, sp, a3
86; RV64I-NEXT:    call inspect
87; RV64I-NEXT:    addi sp, sp, 2032
88; RV64I-NEXT:    addi sp, sp, 1136
89; RV64I-NEXT:    .cfi_def_cfa_offset 2032
90; RV64I-NEXT:    ld ra, 2024(sp) # 8-byte Folded Reload
91; RV64I-NEXT:    .cfi_restore ra
92; RV64I-NEXT:    addi sp, sp, 2032
93; RV64I-NEXT:    .cfi_def_cfa_offset 0
94; RV64I-NEXT:    ret
95;
96; RV64ZBA-LABEL: test:
97; RV64ZBA:       # %bb.0:
98; RV64ZBA-NEXT:    addi sp, sp, -2032
99; RV64ZBA-NEXT:    .cfi_def_cfa_offset 2032
100; RV64ZBA-NEXT:    sd ra, 2024(sp) # 8-byte Folded Spill
101; RV64ZBA-NEXT:    .cfi_offset ra, -8
102; RV64ZBA-NEXT:    addi sp, sp, -2048
103; RV64ZBA-NEXT:    addi sp, sp, -1120
104; RV64ZBA-NEXT:    .cfi_def_cfa_offset 5200
105; RV64ZBA-NEXT:    addi a0, sp, 8
106; RV64ZBA-NEXT:    addi a1, sp, 2047
107; RV64ZBA-NEXT:    addi a1, a1, 9
108; RV64ZBA-NEXT:    li a2, 513
109; RV64ZBA-NEXT:    sh3add a2, a2, sp
110; RV64ZBA-NEXT:    li a3, 641
111; RV64ZBA-NEXT:    sh3add a3, a3, sp
112; RV64ZBA-NEXT:    call inspect
113; RV64ZBA-NEXT:    addi sp, sp, 2032
114; RV64ZBA-NEXT:    addi sp, sp, 1136
115; RV64ZBA-NEXT:    .cfi_def_cfa_offset 2032
116; RV64ZBA-NEXT:    ld ra, 2024(sp) # 8-byte Folded Reload
117; RV64ZBA-NEXT:    .cfi_restore ra
118; RV64ZBA-NEXT:    addi sp, sp, 2032
119; RV64ZBA-NEXT:    .cfi_def_cfa_offset 0
120; RV64ZBA-NEXT:    ret
121  %p4 = alloca [64 x i8], align 1
122  %p3 = alloca [1024 x i8], align 1
123  %p2 = alloca [2048 x i8], align 1
124  %p1 = alloca [2048 x i8], align 1
125  call void (...) @inspect(ptr %p1, ptr %p2, ptr %p3, ptr %p4)
126  ret void
127}
128
129define void @align_8() {
130; RV32I-LABEL: align_8:
131; RV32I:       # %bb.0:
132; RV32I-NEXT:    addi sp, sp, -2032
133; RV32I-NEXT:    .cfi_def_cfa_offset 2032
134; RV32I-NEXT:    sw ra, 2028(sp) # 4-byte Folded Spill
135; RV32I-NEXT:    .cfi_offset ra, -4
136; RV32I-NEXT:    addi sp, sp, -2048
137; RV32I-NEXT:    addi sp, sp, -32
138; RV32I-NEXT:    .cfi_def_cfa_offset 4112
139; RV32I-NEXT:    addi a0, sp, 7
140; RV32I-NEXT:    lui a1, 1
141; RV32I-NEXT:    addi a1, a1, 8
142; RV32I-NEXT:    add a1, sp, a1
143; RV32I-NEXT:    call inspect
144; RV32I-NEXT:    addi sp, sp, 2032
145; RV32I-NEXT:    addi sp, sp, 48
146; RV32I-NEXT:    .cfi_def_cfa_offset 2032
147; RV32I-NEXT:    lw ra, 2028(sp) # 4-byte Folded Reload
148; RV32I-NEXT:    .cfi_restore ra
149; RV32I-NEXT:    addi sp, sp, 2032
150; RV32I-NEXT:    .cfi_def_cfa_offset 0
151; RV32I-NEXT:    ret
152;
153; RV32ZBA-LABEL: align_8:
154; RV32ZBA:       # %bb.0:
155; RV32ZBA-NEXT:    addi sp, sp, -2032
156; RV32ZBA-NEXT:    .cfi_def_cfa_offset 2032
157; RV32ZBA-NEXT:    sw ra, 2028(sp) # 4-byte Folded Spill
158; RV32ZBA-NEXT:    .cfi_offset ra, -4
159; RV32ZBA-NEXT:    addi sp, sp, -2048
160; RV32ZBA-NEXT:    addi sp, sp, -32
161; RV32ZBA-NEXT:    .cfi_def_cfa_offset 4112
162; RV32ZBA-NEXT:    addi a0, sp, 7
163; RV32ZBA-NEXT:    li a1, 513
164; RV32ZBA-NEXT:    sh3add a1, a1, sp
165; RV32ZBA-NEXT:    call inspect
166; RV32ZBA-NEXT:    addi sp, sp, 2032
167; RV32ZBA-NEXT:    addi sp, sp, 48
168; RV32ZBA-NEXT:    .cfi_def_cfa_offset 2032
169; RV32ZBA-NEXT:    lw ra, 2028(sp) # 4-byte Folded Reload
170; RV32ZBA-NEXT:    .cfi_restore ra
171; RV32ZBA-NEXT:    addi sp, sp, 2032
172; RV32ZBA-NEXT:    .cfi_def_cfa_offset 0
173; RV32ZBA-NEXT:    ret
174;
175; RV64I-LABEL: align_8:
176; RV64I:       # %bb.0:
177; RV64I-NEXT:    addi sp, sp, -2032
178; RV64I-NEXT:    .cfi_def_cfa_offset 2032
179; RV64I-NEXT:    sd ra, 2024(sp) # 8-byte Folded Spill
180; RV64I-NEXT:    .cfi_offset ra, -8
181; RV64I-NEXT:    addi sp, sp, -2048
182; RV64I-NEXT:    addi sp, sp, -48
183; RV64I-NEXT:    .cfi_def_cfa_offset 4128
184; RV64I-NEXT:    addi a0, sp, 15
185; RV64I-NEXT:    lui a1, 1
186; RV64I-NEXT:    addiw a1, a1, 16
187; RV64I-NEXT:    add a1, sp, a1
188; RV64I-NEXT:    call inspect
189; RV64I-NEXT:    addi sp, sp, 2032
190; RV64I-NEXT:    addi sp, sp, 64
191; RV64I-NEXT:    .cfi_def_cfa_offset 2032
192; RV64I-NEXT:    ld ra, 2024(sp) # 8-byte Folded Reload
193; RV64I-NEXT:    .cfi_restore ra
194; RV64I-NEXT:    addi sp, sp, 2032
195; RV64I-NEXT:    .cfi_def_cfa_offset 0
196; RV64I-NEXT:    ret
197;
198; RV64ZBA-LABEL: align_8:
199; RV64ZBA:       # %bb.0:
200; RV64ZBA-NEXT:    addi sp, sp, -2032
201; RV64ZBA-NEXT:    .cfi_def_cfa_offset 2032
202; RV64ZBA-NEXT:    sd ra, 2024(sp) # 8-byte Folded Spill
203; RV64ZBA-NEXT:    .cfi_offset ra, -8
204; RV64ZBA-NEXT:    addi sp, sp, -2048
205; RV64ZBA-NEXT:    addi sp, sp, -48
206; RV64ZBA-NEXT:    .cfi_def_cfa_offset 4128
207; RV64ZBA-NEXT:    addi a0, sp, 15
208; RV64ZBA-NEXT:    li a1, 514
209; RV64ZBA-NEXT:    sh3add a1, a1, sp
210; RV64ZBA-NEXT:    call inspect
211; RV64ZBA-NEXT:    addi sp, sp, 2032
212; RV64ZBA-NEXT:    addi sp, sp, 64
213; RV64ZBA-NEXT:    .cfi_def_cfa_offset 2032
214; RV64ZBA-NEXT:    ld ra, 2024(sp) # 8-byte Folded Reload
215; RV64ZBA-NEXT:    .cfi_restore ra
216; RV64ZBA-NEXT:    addi sp, sp, 2032
217; RV64ZBA-NEXT:    .cfi_def_cfa_offset 0
218; RV64ZBA-NEXT:    ret
219  %p2 = alloca i8, align 8
220  %p1 = alloca [4097 x i8], align 1
221  call void (...) @inspect(ptr %p1, ptr %p2)
222  ret void
223}
224
225define void @align_4() {
226; RV32I-LABEL: align_4:
227; RV32I:       # %bb.0:
228; RV32I-NEXT:    addi sp, sp, -2032
229; RV32I-NEXT:    .cfi_def_cfa_offset 2032
230; RV32I-NEXT:    sw ra, 2028(sp) # 4-byte Folded Spill
231; RV32I-NEXT:    .cfi_offset ra, -4
232; RV32I-NEXT:    addi sp, sp, -2048
233; RV32I-NEXT:    addi sp, sp, -32
234; RV32I-NEXT:    .cfi_def_cfa_offset 4112
235; RV32I-NEXT:    addi a0, sp, 7
236; RV32I-NEXT:    lui a1, 1
237; RV32I-NEXT:    addi a1, a1, 8
238; RV32I-NEXT:    add a1, sp, a1
239; RV32I-NEXT:    call inspect
240; RV32I-NEXT:    addi sp, sp, 2032
241; RV32I-NEXT:    addi sp, sp, 48
242; RV32I-NEXT:    .cfi_def_cfa_offset 2032
243; RV32I-NEXT:    lw ra, 2028(sp) # 4-byte Folded Reload
244; RV32I-NEXT:    .cfi_restore ra
245; RV32I-NEXT:    addi sp, sp, 2032
246; RV32I-NEXT:    .cfi_def_cfa_offset 0
247; RV32I-NEXT:    ret
248;
249; RV32ZBA-LABEL: align_4:
250; RV32ZBA:       # %bb.0:
251; RV32ZBA-NEXT:    addi sp, sp, -2032
252; RV32ZBA-NEXT:    .cfi_def_cfa_offset 2032
253; RV32ZBA-NEXT:    sw ra, 2028(sp) # 4-byte Folded Spill
254; RV32ZBA-NEXT:    .cfi_offset ra, -4
255; RV32ZBA-NEXT:    addi sp, sp, -2048
256; RV32ZBA-NEXT:    addi sp, sp, -32
257; RV32ZBA-NEXT:    .cfi_def_cfa_offset 4112
258; RV32ZBA-NEXT:    addi a0, sp, 7
259; RV32ZBA-NEXT:    li a1, 513
260; RV32ZBA-NEXT:    sh3add a1, a1, sp
261; RV32ZBA-NEXT:    call inspect
262; RV32ZBA-NEXT:    addi sp, sp, 2032
263; RV32ZBA-NEXT:    addi sp, sp, 48
264; RV32ZBA-NEXT:    .cfi_def_cfa_offset 2032
265; RV32ZBA-NEXT:    lw ra, 2028(sp) # 4-byte Folded Reload
266; RV32ZBA-NEXT:    .cfi_restore ra
267; RV32ZBA-NEXT:    addi sp, sp, 2032
268; RV32ZBA-NEXT:    .cfi_def_cfa_offset 0
269; RV32ZBA-NEXT:    ret
270;
271; RV64I-LABEL: align_4:
272; RV64I:       # %bb.0:
273; RV64I-NEXT:    addi sp, sp, -2032
274; RV64I-NEXT:    .cfi_def_cfa_offset 2032
275; RV64I-NEXT:    sd ra, 2024(sp) # 8-byte Folded Spill
276; RV64I-NEXT:    .cfi_offset ra, -8
277; RV64I-NEXT:    addi sp, sp, -2048
278; RV64I-NEXT:    addi sp, sp, -48
279; RV64I-NEXT:    .cfi_def_cfa_offset 4128
280; RV64I-NEXT:    addi a0, sp, 19
281; RV64I-NEXT:    lui a1, 1
282; RV64I-NEXT:    addiw a1, a1, 20
283; RV64I-NEXT:    add a1, sp, a1
284; RV64I-NEXT:    call inspect
285; RV64I-NEXT:    addi sp, sp, 2032
286; RV64I-NEXT:    addi sp, sp, 64
287; RV64I-NEXT:    .cfi_def_cfa_offset 2032
288; RV64I-NEXT:    ld ra, 2024(sp) # 8-byte Folded Reload
289; RV64I-NEXT:    .cfi_restore ra
290; RV64I-NEXT:    addi sp, sp, 2032
291; RV64I-NEXT:    .cfi_def_cfa_offset 0
292; RV64I-NEXT:    ret
293;
294; RV64ZBA-LABEL: align_4:
295; RV64ZBA:       # %bb.0:
296; RV64ZBA-NEXT:    addi sp, sp, -2032
297; RV64ZBA-NEXT:    .cfi_def_cfa_offset 2032
298; RV64ZBA-NEXT:    sd ra, 2024(sp) # 8-byte Folded Spill
299; RV64ZBA-NEXT:    .cfi_offset ra, -8
300; RV64ZBA-NEXT:    addi sp, sp, -2048
301; RV64ZBA-NEXT:    addi sp, sp, -48
302; RV64ZBA-NEXT:    .cfi_def_cfa_offset 4128
303; RV64ZBA-NEXT:    addi a0, sp, 19
304; RV64ZBA-NEXT:    li a1, 1029
305; RV64ZBA-NEXT:    sh2add a1, a1, sp
306; RV64ZBA-NEXT:    call inspect
307; RV64ZBA-NEXT:    addi sp, sp, 2032
308; RV64ZBA-NEXT:    addi sp, sp, 64
309; RV64ZBA-NEXT:    .cfi_def_cfa_offset 2032
310; RV64ZBA-NEXT:    ld ra, 2024(sp) # 8-byte Folded Reload
311; RV64ZBA-NEXT:    .cfi_restore ra
312; RV64ZBA-NEXT:    addi sp, sp, 2032
313; RV64ZBA-NEXT:    .cfi_def_cfa_offset 0
314; RV64ZBA-NEXT:    ret
315  %p2 = alloca i8, align 4
316  %p1 = alloca [4097 x i8], align 1
317  call void (...) @inspect(ptr %p1, ptr %p2)
318  ret void
319}
320
321define void @align_2() {
322; RV32-LABEL: align_2:
323; RV32:       # %bb.0:
324; RV32-NEXT:    addi sp, sp, -2032
325; RV32-NEXT:    .cfi_def_cfa_offset 2032
326; RV32-NEXT:    sw ra, 2028(sp) # 4-byte Folded Spill
327; RV32-NEXT:    .cfi_offset ra, -4
328; RV32-NEXT:    addi sp, sp, -2048
329; RV32-NEXT:    addi sp, sp, -32
330; RV32-NEXT:    .cfi_def_cfa_offset 4112
331; RV32-NEXT:    addi a0, sp, 9
332; RV32-NEXT:    lui a1, 1
333; RV32-NEXT:    addi a1, a1, 10
334; RV32-NEXT:    add a1, sp, a1
335; RV32-NEXT:    call inspect
336; RV32-NEXT:    addi sp, sp, 2032
337; RV32-NEXT:    addi sp, sp, 48
338; RV32-NEXT:    .cfi_def_cfa_offset 2032
339; RV32-NEXT:    lw ra, 2028(sp) # 4-byte Folded Reload
340; RV32-NEXT:    .cfi_restore ra
341; RV32-NEXT:    addi sp, sp, 2032
342; RV32-NEXT:    .cfi_def_cfa_offset 0
343; RV32-NEXT:    ret
344;
345; RV64-LABEL: align_2:
346; RV64:       # %bb.0:
347; RV64-NEXT:    addi sp, sp, -2032
348; RV64-NEXT:    .cfi_def_cfa_offset 2032
349; RV64-NEXT:    sd ra, 2024(sp) # 8-byte Folded Spill
350; RV64-NEXT:    .cfi_offset ra, -8
351; RV64-NEXT:    addi sp, sp, -2048
352; RV64-NEXT:    addi sp, sp, -48
353; RV64-NEXT:    .cfi_def_cfa_offset 4128
354; RV64-NEXT:    addi a0, sp, 21
355; RV64-NEXT:    lui a1, 1
356; RV64-NEXT:    addiw a1, a1, 22
357; RV64-NEXT:    add a1, sp, a1
358; RV64-NEXT:    call inspect
359; RV64-NEXT:    addi sp, sp, 2032
360; RV64-NEXT:    addi sp, sp, 64
361; RV64-NEXT:    .cfi_def_cfa_offset 2032
362; RV64-NEXT:    ld ra, 2024(sp) # 8-byte Folded Reload
363; RV64-NEXT:    .cfi_restore ra
364; RV64-NEXT:    addi sp, sp, 2032
365; RV64-NEXT:    .cfi_def_cfa_offset 0
366; RV64-NEXT:    ret
367  %p2 = alloca i8, align 2
368  %p1 = alloca [4097 x i8], align 1
369  call void (...) @inspect(ptr %p1, ptr %p2)
370  ret void
371}
372
373
374define void @align_1() {
375; RV32-LABEL: align_1:
376; RV32:       # %bb.0:
377; RV32-NEXT:    addi sp, sp, -2032
378; RV32-NEXT:    .cfi_def_cfa_offset 2032
379; RV32-NEXT:    sw ra, 2028(sp) # 4-byte Folded Spill
380; RV32-NEXT:    .cfi_offset ra, -4
381; RV32-NEXT:    addi sp, sp, -2048
382; RV32-NEXT:    addi sp, sp, -32
383; RV32-NEXT:    .cfi_def_cfa_offset 4112
384; RV32-NEXT:    addi a0, sp, 10
385; RV32-NEXT:    lui a1, 1
386; RV32-NEXT:    addi a1, a1, 11
387; RV32-NEXT:    add a1, sp, a1
388; RV32-NEXT:    call inspect
389; RV32-NEXT:    addi sp, sp, 2032
390; RV32-NEXT:    addi sp, sp, 48
391; RV32-NEXT:    .cfi_def_cfa_offset 2032
392; RV32-NEXT:    lw ra, 2028(sp) # 4-byte Folded Reload
393; RV32-NEXT:    .cfi_restore ra
394; RV32-NEXT:    addi sp, sp, 2032
395; RV32-NEXT:    .cfi_def_cfa_offset 0
396; RV32-NEXT:    ret
397;
398; RV64-LABEL: align_1:
399; RV64:       # %bb.0:
400; RV64-NEXT:    addi sp, sp, -2032
401; RV64-NEXT:    .cfi_def_cfa_offset 2032
402; RV64-NEXT:    sd ra, 2024(sp) # 8-byte Folded Spill
403; RV64-NEXT:    .cfi_offset ra, -8
404; RV64-NEXT:    addi sp, sp, -2048
405; RV64-NEXT:    addi sp, sp, -48
406; RV64-NEXT:    .cfi_def_cfa_offset 4128
407; RV64-NEXT:    addi a0, sp, 22
408; RV64-NEXT:    lui a1, 1
409; RV64-NEXT:    addiw a1, a1, 23
410; RV64-NEXT:    add a1, sp, a1
411; RV64-NEXT:    call inspect
412; RV64-NEXT:    addi sp, sp, 2032
413; RV64-NEXT:    addi sp, sp, 64
414; RV64-NEXT:    .cfi_def_cfa_offset 2032
415; RV64-NEXT:    ld ra, 2024(sp) # 8-byte Folded Reload
416; RV64-NEXT:    .cfi_restore ra
417; RV64-NEXT:    addi sp, sp, 2032
418; RV64-NEXT:    .cfi_def_cfa_offset 0
419; RV64-NEXT:    ret
420  %p2 = alloca i8, align 1
421  %p1 = alloca [4097 x i8], align 1
422  call void (...) @inspect(ptr %p1, ptr %p2)
423  ret void
424}
425