xref: /llvm-project/llvm/test/CodeGen/AArch64/big-callframe.ll (revision 5ddce70ef0e5a641d7fea95e31fc5e2439cb98cb)
1; RUN: llc -o - %s -verify-machineinstrs | FileCheck %s
2; XFAIL: *
3; Make sure we use a frame pointer and fp relative addressing for the emergency
4; spillslot when we have gigantic callframes.
5; CHECK-LABEL: func:
6; CHECK: stur {{.*}}, [x29, #{{.*}}] // 8-byte Folded Spill
7; CHECK: ldur {{.*}}, [x29, #{{.*}}] // 8-byte Folded Reload
8target triple = "aarch64--"
9declare void @extfunc(ptr byval([4096 x i64]) %p)
10define void @func(ptr %z) {
11  %lvar = alloca [31 x i8]
12  %v = load volatile [31 x i8], ptr %lvar
13  store volatile [31 x i8] %v, ptr %lvar
14  call void @extfunc(ptr byval([4096 x i64]) %z)
15  ret void
16}
17