blob: b58e6de30f5e795121df4120948f23b3975a9f55 [file] [log] [blame]
Anton Korobeynikov7f705592007-01-12 19:20:47 +00001; 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
Reid Spencere3ff5ad2007-01-26 08:25:06 +00008define void @bar(i32 %n.u) {
Anton Korobeynikov7f705592007-01-12 19:20:47 +00009entry:
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 ]
11bb:
Reid Spencere3ff5ad2007-01-26 08:25:06 +000012 tail call void(...)* @foo1()
Anton Korobeynikov7f705592007-01-12 19:20:47 +000013 ret void
14bb1:
Reid Spencere3ff5ad2007-01-26 08:25:06 +000015 tail call void(...)* @foo2()
Anton Korobeynikov7f705592007-01-12 19:20:47 +000016 ret void
17bb2:
Reid Spencere3ff5ad2007-01-26 08:25:06 +000018 tail call void(...)* @foo6()
Anton Korobeynikov7f705592007-01-12 19:20:47 +000019 ret void
20bb3:
Reid Spencere3ff5ad2007-01-26 08:25:06 +000021 tail call void(...)* @foo3()
Anton Korobeynikov7f705592007-01-12 19:20:47 +000022 ret void
23bb4:
Reid Spencere3ff5ad2007-01-26 08:25:06 +000024 tail call void(...)* @foo4()
Anton Korobeynikov7f705592007-01-12 19:20:47 +000025 ret void
26bb5:
Reid Spencere3ff5ad2007-01-26 08:25:06 +000027 tail call void(...)* @foo5()
Anton Korobeynikov7f705592007-01-12 19:20:47 +000028 ret void
29bb6:
Reid Spencere3ff5ad2007-01-26 08:25:06 +000030 tail call void(...)* @foo1()
Anton Korobeynikov7f705592007-01-12 19:20:47 +000031 ret void
32bb7:
Reid Spencere3ff5ad2007-01-26 08:25:06 +000033 tail call void(...)* @foo2()
Anton Korobeynikov7f705592007-01-12 19:20:47 +000034 ret void
35bb8:
Reid Spencere3ff5ad2007-01-26 08:25:06 +000036 tail call void(...)* @foo6()
Anton Korobeynikov7f705592007-01-12 19:20:47 +000037 ret void
38bb9:
Reid Spencere3ff5ad2007-01-26 08:25:06 +000039 tail call void(...)* @foo3()
Anton Korobeynikov7f705592007-01-12 19:20:47 +000040 ret void
41bb10:
Reid Spencere3ff5ad2007-01-26 08:25:06 +000042 tail call void(...)* @foo4()
Anton Korobeynikov7f705592007-01-12 19:20:47 +000043 ret void
44bb11:
Reid Spencere3ff5ad2007-01-26 08:25:06 +000045 tail call void(...)* @foo5()
Anton Korobeynikov7f705592007-01-12 19:20:47 +000046 ret void
47bb12:
Reid Spencere3ff5ad2007-01-26 08:25:06 +000048 tail call void(...)* @foo6()
Anton Korobeynikov7f705592007-01-12 19:20:47 +000049 ret void
50}
51
Reid Spencere3ff5ad2007-01-26 08:25:06 +000052declare void @foo1(...)
53declare void @foo2(...)
54declare void @foo6(...)
55declare void @foo3(...)
56declare void @foo4(...)
57declare void @foo5(...)