brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.5 KiB · 5650d78 Raw
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