ARM test cases contributed by Apple.
[oota-llvm.git] / test / CodeGen / ARM / bx_fold.ll
1 ; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm
2 ; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | not grep bx
3
4 void %test(int %Ptr, ubyte* %L) {
5 entry:
6         br label %bb1
7
8 bb:
9         %tmp7 = getelementptr ubyte* %L, uint %indvar
10         store ubyte 0, ubyte* %tmp7
11         %indvar.next = add uint %indvar, 1
12         br label %bb1
13
14 bb1:
15         %indvar = phi uint [ 0, %entry ], [ %indvar.next, %bb ]
16         %i.0 = cast uint %indvar to int
17         %Ptr_addr.0 = sub int %Ptr, %i.0
18         %tmp12 = seteq int %i.0, %Ptr
19         %tmp12.not = xor bool %tmp12, true
20         %bothcond = and bool %tmp12.not, false
21         br bool %bothcond, label %bb, label %bb18
22
23 bb18:
24         ret void
25 }