1; RUN: llvm-as < %s | llc -march=arm &&
2; RUN: llvm-as < %s | llc -march=arm -enable-thumb &&
3; RUN: llvm-as < %s | llc -march=arm -enable-thumb | not grep "ldr sp"
4
5	%struct.state = type { i32, %struct.info*, float**, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64, i64, i64, i64, i64, i64, i8* }
6	%struct.info = type { i32, i32, i32, i32, i32, i32, i32, i8* }
7
8define void @f1(%struct.state* %v) {
9	%tmp6 = load i32* null
10	%tmp8 = alloca float, i32 %tmp6
11	store i32 1, i32* null
12	br i1 false, label %bb123.preheader, label %return
13
14bb123.preheader:
15	br i1 false, label %bb43, label %return
16
17bb43:
18	call fastcc void @f2( float* %tmp8, float* null, i32 0 )
19	%tmp70 = load i32* null
20	%tmp85 = getelementptr float* %tmp8, i32 0
21	call fastcc void @f3( float* null, float* null, float* %tmp85, i32 %tmp70 )
22	ret void
23
24return:
25	ret void
26}
27
28declare fastcc void @f2(float*, float*, i32)
29
30declare fastcc void @f3(float*, float*, float*, i32)
31