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