Add trunc->branch support, this won't help with clang's i8->i1 truncations
[oota-llvm.git] / test / CodeGen / ARM / crash.ll
1 ; RUN: llc < %s -mtriple=thumbv7-apple-darwin10
2
3 ; <rdar://problem/8529919>
4 %struct.foo = type { i32, i32 }
5
6 define void @func() nounwind {
7 entry:
8   %tmp = load i32* undef, align 4
9   br label %bb1
10
11 bb1:
12   %tmp1 = and i32 %tmp, 16
13   %tmp2 = icmp eq i32 %tmp1, 0
14   %invok.1.i = select i1 %tmp2, i32 undef, i32 0
15   %tmp119 = add i32 %invok.1.i, 0
16   br i1 undef, label %bb2, label %exit
17
18 bb2:
19   %tmp120 = add i32 %tmp119, 0
20   %scevgep810.i = getelementptr %struct.foo* null, i32 %tmp120, i32 1
21   store i32 undef, i32* %scevgep810.i, align 4
22   br i1 undef, label %bb2, label %bb3
23
24 bb3:
25   br i1 %tmp2, label %bb2, label %bb2
26
27 exit:
28   ret void
29 }