83
|
1 ; RUN: llc < %s -relocation-model=pic | FileCheck %s
|
|
2
|
|
3 ; CHECK: calll L0$pb
|
|
4 ; CHECK-NEXT: L0$pb:
|
|
5 ; CHECK-NEXT: popl %eax
|
|
6 ; CHECK-NEXT: addl LJTI0_0(,%ecx,4), %eax
|
|
7 ; CHECK-NEXT: jmpl *%eax
|
|
8
|
|
9 ; CHECK: LJTI0_0:
|
|
10 ; CHECK-NEXT: .long LBB0_4-L0$pb
|
|
11 ; CHECK-NEXT: .long LBB0_5-L0$pb
|
|
12 ; CHECK-NEXT: .long LBB0_6-L0$pb
|
|
13 ; CHECK-NEXT: .long LBB0_7-L0$pb
|
|
14
|
|
15
|
|
16 target triple = "i686--windows-itanium"
|
|
17 define i32 @f(i64 %x) {
|
|
18 bb0:
|
|
19 switch i64 %x, label %bb5 [
|
|
20 i64 1, label %bb1
|
|
21 i64 2, label %bb2
|
|
22 i64 3, label %bb3
|
|
23 i64 4, label %bb4
|
|
24 ]
|
|
25 bb1:
|
|
26 br label %bb5
|
|
27 bb2:
|
|
28 br label %bb5
|
|
29 bb3:
|
|
30 br label %bb5
|
|
31 bb4:
|
|
32 br label %bb5
|
|
33 bb5:
|
|
34 %y = phi i32 [ 0, %bb0 ], [ 1, %bb1 ], [ 2, %bb2 ], [ 3, %bb3 ], [ 4, %bb4 ]
|
|
35 ret i32 %y
|
|
36 }
|