264863512ef348ffdaa20e3c07603e8f45aaafb4
[oota-llvm.git] / test / CodeGen / Thumb2 / inflate-regs.ll
1 ; RUN: llc < %s -mcpu=cortex-a8 | FileCheck %s
2 target triple = "thumbv7-apple-ios"
3
4 ; CHECK: local_split
5 ;
6 ; The load must go into d0-15 which are all clobbered by the asm.
7 ; RAGreedy should split the range and use d16-d31 to avoid a spill.
8 ;
9 ; CHECK: vldr s
10 ; CHECK-NOT: vstr
11 ; CHECK: vadd.f32
12 ; CHECK-NOT: vstr
13 ; CHECK: vorr
14 ; CHECK: vstr s
15 define void @local_split(float* nocapture %p) nounwind ssp {
16 entry:
17   %x = load float* %p, align 4
18   %a = fadd float %x, 1.0
19   tail call void asm sideeffect "", "~{d0},~{d1},~{d2},~{d3},~{d4},~{d5},~{d6},~{d7},~{d8},~{d9},~{d10},~{d11},~{d12},~{d13},~{d14},~{d15}"() nounwind
20   store float %a, float* %p, align 4
21   ret void
22 }