Test case for X86 inline asm constraint 'I'
[oota-llvm.git] / test / CodeGen / X86 / test-pic-jtbl.ll
1 ; RUN: llvm-as < %s | llc -mtriple=i686-pc-linux-gnu -relocation-model=pic &&
2 ; RUN: llvm-as < %s | llc -mtriple=i686-pc-linux-gnu -relocation-model=pic | grep _GLOBAL_OFFSET_TABLE_ &&
3 ; RUN: llvm-as < %s | llc -mtriple=i686-pc-linux-gnu -relocation-model=pic | grep piclabel | wc -l | grep 3 &&
4 ; RUN: llvm-as < %s | llc -mtriple=i686-pc-linux-gnu -relocation-model=pic | grep PLT | wc -l | grep 13 &&
5 ; RUN: llvm-as < %s | llc -mtriple=i686-pc-linux-gnu -relocation-model=pic | grep GOTOFF | wc -l | grep 1 &&
6 ; RUN: llvm-as < %s | llc -mtriple=i686-pc-linux-gnu -relocation-model=pic | grep JTI | wc -l | grep 15
7
8 define void @bar(i32 %n.u) {
9 entry:
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(...)