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