AVX512: VPMOVAPS/PD and VPMOVUPS/PD (load) intrinsic implementation.
[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: 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 }