1; RUN: llc -o - %s | FileCheck %s 2target triple="arm--" 3 4@glob = external global i32* 5 6declare void @bar(i32*, [20000 x i8]* byval([20000 x i8])) 7 8; CHECK-LABEL: foo: 9; We should see the stack getting additional alignment 10; CHECK: sub sp, sp, #16 11; CHECK: bic sp, sp, #31 12; And a base pointer getting used. 13; CHECK: mov r6, sp 14; Which is passed to the call 15; CHECK: mov r0, r6 16; CHECK: bl bar 17define void @foo([20000 x i8]* %addr) { 18 %tmp = alloca [4 x i32], align 32 19 %tmp0 = getelementptr [4 x i32], [4 x i32]* %tmp, i32 0, i32 0 20 call void @bar(i32* %tmp0, [20000 x i8]* byval([20000 x i8]) %addr) 21 ret void 22} 23 24