[ARM] Generate 8.1-m CSINC, CSNEG and CSINV instructions.
[llvm-core.git] / test / CodeGen / Thumb2 / 2011-04-21-FILoweringBug.ll
blob9878ae862c7a23d10cf51bd22b3c3bdd908200eb
1 ; RUN: llc < %s -mtriple=thumbv7-apple-darwin | FileCheck %s
3 ; Use sp, #imm to lower frame indices when the offset is multiple of 4
4 ; and in the range of 0-1020. This saves code size by utilizing
5 ; 16-bit instructions.
6 ; rdar://9321541
8 define i32 @t() nounwind {
9 entry:
10 ; CHECK-LABEL: t:
11 ; CHECK: sub sp, #12
12 ; CHECK-NOT: sub
13 ; CHECK: add r0, sp, #4
14 ; CHECK: add r1, sp, #8
15 ; CHECK: mov r2, sp
16   %size = alloca i32, align 4
17   %count = alloca i32, align 4
18   %index = alloca i32, align 4
19   %0 = call i32 @foo(i32* %count, i32* %size, i32* %index) nounwind
20   ret i32 %0
23 declare i32 @foo(i32*, i32*, i32*)