X86: More efficient legalization of wide integer compares
[oota-llvm.git] / test / CodeGen / X86 / win32-pic-jumptable.ll
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_2-L0$pb
11 ; CHECK-NEXT:   .long LBB0_3-L0$pb
12 ; CHECK-NEXT:   .long LBB0_4-L0$pb
13 ; CHECK-NEXT:   .long LBB0_5-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 }