[ARM] Adjust how NEON shifts are lowered
[llvm-core.git] / test / CodeGen / ARM / alloca-align.ll
blob3326d361c07f07111e522e48d10dc655a1402df5
1 ; RUN: llc -o - %s | FileCheck %s
2 target triple="arm--"
4 @glob = external global i32*
6 declare void @bar(i32*, [20000 x i8]* byval)
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
17 define 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 %addr)
21   ret void