[Alignment][NFC] migrate DataLayout internal struct to llvm::Align
[llvm-core.git] / test / CodeGen / AArch64 / arm64-stack-no-frame.ll
blob22a67070a129493e9e88cd0721ad8d2e1c7f6a1e
1 ; RUN: llc -mtriple=arm64-apple-ios7.0 -o - %s | FileCheck %s
3 @global = global [20 x i64] zeroinitializer, align 8
5 ; The following function has enough locals to need some restoring, but not a
6 ; frame record. In an intermediate frame refactoring, prologue and epilogue were
7 ; inconsistent about how much to move SP.
8 define void @test_stack_no_frame() {
9 ; CHECK: test_stack_no_frame
10 ; CHECK: sub sp, sp, #[[STACKSIZE:[0-9]+]]
11   %local = alloca [20 x i64]
12   %val = load volatile [20 x i64], [20 x i64]* @global, align 8
13   store volatile [20 x i64] %val, [20 x i64]* %local, align 8
15   %val2 = load volatile [20 x i64], [20 x i64]* %local, align 8
16   store volatile [20 x i64] %val2, [20 x i64]* @global, align 8
18 ; CHECK: add sp, sp, #[[STACKSIZE]]
19   ret void