Added missing CMN case in Thumb2SizeReduction pass so that LLVM emits 16-bits encodin...
[oota-llvm.git] / test / CodeGen / Thumb2 / thumb2-tbb.ll
1 ; RUN: llc < %s -mtriple=thumbv7-apple-darwin | FileCheck %s
2 ; RUN: llc < %s -mtriple=thumbv7-apple-darwin -relocation-model=pic | FileCheck %s
3
4 define void @bar(i32 %n.u) {
5 entry:
6 ; CHECK: bar:
7 ; CHECK: tbb
8 ; CHECK: .align 1
9
10     switch i32 %n.u, label %bb12 [i32 1, label %bb i32 2, label %bb6 i32 4, label %bb7 i32 5, label %bb8 i32 6, label %bb10 i32 7, label %bb1 i32 8, label %bb3 i32 9, label %bb4 i32 10, label %bb9 i32 11, label %bb2 i32 12, label %bb5 i32 13, label %bb11 ]
11 bb:
12     tail call void(...)* @foo1()
13     ret void
14 bb1:
15     tail call void(...)* @foo2()
16     ret void
17 bb2:
18     tail call void(...)* @foo6()
19     ret void
20 bb3:
21     tail call void(...)* @foo3()
22     ret void
23 bb4:
24     tail call void(...)* @foo4()
25     ret void
26 bb5:
27     tail call void(...)* @foo5()
28     ret void
29 bb6:
30     tail call void(...)* @foo1()
31     ret void
32 bb7:
33     tail call void(...)* @foo2()
34     ret void
35 bb8:
36     tail call void(...)* @foo6()
37     ret void
38 bb9:
39     tail call void(...)* @foo3()
40     ret void
41 bb10:
42     tail call void(...)* @foo4()
43     ret void
44 bb11:
45     tail call void(...)* @foo5()
46     ret void
47 bb12:
48     tail call void(...)* @foo6()
49     ret void
50 }
51
52 declare void @foo1(...)
53 declare void @foo2(...)
54 declare void @foo6(...)
55 declare void @foo3(...)
56 declare void @foo4(...)
57 declare void @foo5(...)