[NFC][RemoveDIs] Prefer iterators over inst-pointers in InstCombine
[llvm-project.git] / llvm / test / CodeGen / AArch64 / win-align-chkstk.ll
blob5650d781418462502f9009f7d745143f340663c4
1 ; RUN: llc < %s -mtriple=aarch64-windows | FileCheck %s
3 define dso_local void @func() {
4 entry:
5   %buf = alloca [8192 x i8], align 32
6   %arraydecay = getelementptr inbounds [8192 x i8], ptr %buf, i64 0, i64 0
7   call void @other(ptr noundef %arraydecay)
8   ret void
11 declare dso_local void @other(ptr noundef)
13 ; CHECK-LABEL: func:
14 ; CHECK-NEXT: .seh_proc func
15 ; CHECK-NEXT: // %bb.0:
16 ; CHECK-NEXT: str x28, [sp, #-32]!
17 ; CHECK-NEXT: .seh_save_reg_x x28, 32
18 ; CHECK-NEXT: stp x29, x30, [sp, #8]
19 ; CHECK-NEXT: .seh_save_fplr 8
20 ; CHECK-NEXT: add x29, sp, #8
21 ; CHECK-NEXT: .seh_add_fp 8
22 ; CHECK-NEXT: .seh_endprologue
23 ; CHECK-NEXT: mov x15, #513
24 ; CHECK-NEXT: bl __chkstk
25 ; CHECK-NEXT: sub sp, sp, x15, lsl #4
26 ; CHECK-NEXT: add x15, sp, #16
27 ; CHECK-NEXT: and sp, x15, #0xffffffffffffffe0
29 define dso_local void @func2() {
30 entry:
31   %buf = alloca [8192 x i8], align 8192
32   %arraydecay = getelementptr inbounds [8192 x i8], ptr %buf, i64 0, i64 0
33   call void @other(ptr noundef %arraydecay)
34   ret void
37 ; CHECK-LABEL: func2:
38 ; CHECK-NEXT: .seh_proc func2
39 ; CHECK-NEXT: // %bb.0:
40 ; CHECK-NEXT: str x28, [sp, #-32]!
41 ; CHECK-NEXT: .seh_save_reg_x x28, 32
42 ; CHECK-NEXT: stp x29, x30, [sp, #8]
43 ; CHECK-NEXT: .seh_save_fplr 8
44 ; CHECK-NEXT: add x29, sp, #8
45 ; CHECK-NEXT: .seh_add_fp 8
46 ; CHECK-NEXT: .seh_endprologue
47 ; CHECK-NEXT: mov x15, #1533
48 ; CHECK-NEXT: bl __chkstk
49 ; CHECK-NEXT: sub sp, sp, x15, lsl #4
50 ; CHECK-NEXT: mov x16, #8176
51 ; CHECK-NEXT: add x15, sp, x16
52 ; CHECK-NEXT: and sp, x15, #0xffffffffffffe000