xref: /llvm-project/llvm/test/CodeGen/AArch64/wineh-align-stack.ll (revision a07787c9a50c046e45921dd665f5a53a752bbc31)
1; RUN: llc < %s -mtriple=aarch64-windows | FileCheck %s
2
3define dso_local void @func() {
4entry:
5  %buf = alloca [64 x i8], align 32
6  %arraydecay = getelementptr inbounds [64 x i8], ptr %buf, i64 0, i64 0
7  call void @other(ptr noundef %arraydecay)
8  ret void
9}
10
11declare dso_local void @other(ptr noundef)
12
13; CHECK-LABEL: func:
14; CHECK-NEXT: .seh_proc func
15; CHECK-NEXT: // %bb.0:
16; CHECK-NEXT: stp x29, x30, [sp, #-16]!
17; CHECK-NEXT: .seh_save_fplr_x 16
18; CHECK-NEXT: mov x29, sp
19; CHECK-NEXT: .seh_set_fp
20; CHECK-NEXT: .seh_endprologue
21; CHECK-NEXT: sub x9, sp, #80
22; CHECK-NEXT: and sp, x9, #0xffffffffffffffe0
23