MemoryObject - Abstract base class for contiguous addressable memory.
[oota-llvm.git] / test / CodeGen / Thumb2 / pic-jtbl.ll
1 ; RUN: llvm-as < %s | llc -mtriple=thumbv7-apple-darwin -relocation-model=pic | FileCheck %s
2
3 define void @bar(i32 %n.u) {
4 entry:
5 ; CHECK: bar:
6 ; CHECK: add pc
7     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 ]
8 bb:
9     tail call void(...)* @foo1()
10     ret void
11 bb1:
12     tail call void(...)* @foo2()
13     ret void
14 bb2:
15     tail call void(...)* @foo6()
16     ret void
17 bb3:
18     tail call void(...)* @foo3()
19     ret void
20 bb4:
21     tail call void(...)* @foo4()
22     ret void
23 bb5:
24     tail call void(...)* @foo5()
25     ret void
26 bb6:
27     tail call void(...)* @foo1()
28     ret void
29 bb7:
30     tail call void(...)* @foo2()
31     ret void
32 bb8:
33     tail call void(...)* @foo6()
34     ret void
35 bb9:
36     tail call void(...)* @foo3()
37     ret void
38 bb10:
39     tail call void(...)* @foo4()
40     ret void
41 bb11:
42     tail call void(...)* @foo5()
43     ret void
44 bb12:
45     tail call void(...)* @foo6()
46     ret void
47 }
48
49 declare void @foo1(...)
50 declare void @foo2(...)
51 declare void @foo6(...)
52 declare void @foo3(...)
53 declare void @foo4(...)
54 declare void @foo5(...)