53 lines · plain
1; RUN: llc < %s -mtriple=aarch64-windows | FileCheck %s2 3define dso_local void @func() {4entry:5 %buf = alloca [8192 x i8], align 326 %arraydecay = getelementptr inbounds [8192 x i8], ptr %buf, i64 0, i64 07 call void @other(ptr noundef %arraydecay)8 ret void9}10 11declare dso_local void @other(ptr noundef)12 13; CHECK-LABEL: func:14; CHECK-NEXT: .seh_proc func15; CHECK-NEXT: // %bb.0:16; CHECK-NEXT: str x28, [sp, #-32]!17; CHECK-NEXT: .seh_save_reg_x x28, 3218; CHECK-NEXT: stp x29, x30, [sp, #8]19; CHECK-NEXT: .seh_save_fplr 820; CHECK-NEXT: add x29, sp, #821; CHECK-NEXT: .seh_add_fp 822; CHECK-NEXT: .seh_endprologue23; CHECK-NEXT: mov x15, #51324; CHECK-NEXT: bl __chkstk25; CHECK-NEXT: sub sp, sp, x15, lsl #426; CHECK-NEXT: add x15, sp, #1627; CHECK-NEXT: and sp, x15, #0xffffffffffffffe028 29define dso_local void @func2() {30entry:31 %buf = alloca [8192 x i8], align 819232 %arraydecay = getelementptr inbounds [8192 x i8], ptr %buf, i64 0, i64 033 call void @other(ptr noundef %arraydecay)34 ret void35}36 37; CHECK-LABEL: func2:38; CHECK-NEXT: .seh_proc func239; CHECK-NEXT: // %bb.0:40; CHECK-NEXT: str x28, [sp, #-32]!41; CHECK-NEXT: .seh_save_reg_x x28, 3242; CHECK-NEXT: stp x29, x30, [sp, #8]43; CHECK-NEXT: .seh_save_fplr 844; CHECK-NEXT: add x29, sp, #845; CHECK-NEXT: .seh_add_fp 846; CHECK-NEXT: .seh_endprologue47; CHECK-NEXT: mov x15, #153348; CHECK-NEXT: bl __chkstk49; CHECK-NEXT: sub sp, sp, x15, lsl #450; CHECK-NEXT: mov x16, #817651; CHECK-NEXT: add x15, sp, x1652; CHECK-NEXT: and sp, x15, #0xffffffffffffe00053