Fixed a bug in X86TargetLowering::LowerVectorIntExtend() (assertion failure).
[oota-llvm.git] / test / CodeGen / R600 / llvm.SI.sample.ll
1 ;RUN: llc < %s -march=r600 -mcpu=SI | FileCheck %s
2
3 ;CHECK: IMAGE_SAMPLE
4 ;CHECK-NEXT: S_WAITCNT 1792
5 ;CHECK-NEXT: IMAGE_SAMPLE
6 ;CHECK-NEXT: S_WAITCNT 1792
7 ;CHECK-NEXT: IMAGE_SAMPLE
8 ;CHECK-NEXT: S_WAITCNT 1792
9 ;CHECK-NEXT: IMAGE_SAMPLE
10 ;CHECK-NEXT: S_WAITCNT 1792
11 ;CHECK-NEXT: IMAGE_SAMPLE
12 ;CHECK-NEXT: S_WAITCNT 1792
13 ;CHECK-NEXT: IMAGE_SAMPLE_C
14 ;CHECK-NEXT: S_WAITCNT 1792
15 ;CHECK-NEXT: IMAGE_SAMPLE_C
16 ;CHECK-NEXT: S_WAITCNT 1792
17 ;CHECK-NEXT: IMAGE_SAMPLE_C
18 ;CHECK-NEXT: S_WAITCNT 1792
19 ;CHECK-NEXT: IMAGE_SAMPLE
20 ;CHECK-NEXT: S_WAITCNT 1792
21 ;CHECK-NEXT: IMAGE_SAMPLE
22 ;CHECK-NEXT: S_WAITCNT 1792
23 ;CHECK-NEXT: IMAGE_SAMPLE_C
24 ;CHECK-NEXT: S_WAITCNT 1792
25 ;CHECK-NEXT: IMAGE_SAMPLE_C
26 ;CHECK-NEXT: S_WAITCNT 1792
27 ;CHECK-NEXT: IMAGE_SAMPLE_C
28 ;CHECK-NEXT: S_WAITCNT 1792
29 ;CHECK-NEXT: IMAGE_SAMPLE
30 ;CHECK-NEXT: S_WAITCNT 1792
31 ;CHECK-NEXT: IMAGE_SAMPLE
32 ;CHECK-NEXT: S_WAITCNT 1792
33 ;CHECK-NEXT: IMAGE_SAMPLE
34
35 define void @test() {
36    %res1 = call <4 x float> @llvm.SI.sample.(i32 15, <4 x i32> undef,
37       <8 x i32> undef, <4 x i32> undef, i32 1)
38    %res2 = call <4 x float> @llvm.SI.sample.(i32 15, <4 x i32> undef,
39       <8 x i32> undef, <4 x i32> undef, i32 2)
40    %res3 = call <4 x float> @llvm.SI.sample.(i32 15, <4 x i32> undef,
41       <8 x i32> undef, <4 x i32> undef, i32 3)
42    %res4 = call <4 x float> @llvm.SI.sample.(i32 15, <4 x i32> undef,
43       <8 x i32> undef, <4 x i32> undef, i32 4)
44    %res5 = call <4 x float> @llvm.SI.sample.(i32 15, <4 x i32> undef,
45       <8 x i32> undef, <4 x i32> undef, i32 5)
46    %res6 = call <4 x float> @llvm.SI.sample.(i32 15, <4 x i32> undef,
47       <8 x i32> undef, <4 x i32> undef, i32 6)
48    %res7 = call <4 x float> @llvm.SI.sample.(i32 15, <4 x i32> undef,
49       <8 x i32> undef, <4 x i32> undef, i32 7)
50    %res8 = call <4 x float> @llvm.SI.sample.(i32 15, <4 x i32> undef,
51       <8 x i32> undef, <4 x i32> undef, i32 8)
52    %res9 = call <4 x float> @llvm.SI.sample.(i32 15, <4 x i32> undef,
53       <8 x i32> undef, <4 x i32> undef, i32 9)
54    %res10 = call <4 x float> @llvm.SI.sample.(i32 15, <4 x i32> undef,
55       <8 x i32> undef, <4 x i32> undef, i32 10)
56    %res11 = call <4 x float> @llvm.SI.sample.(i32 15, <4 x i32> undef,
57       <8 x i32> undef, <4 x i32> undef, i32 11)
58    %res12 = call <4 x float> @llvm.SI.sample.(i32 15, <4 x i32> undef,
59       <8 x i32> undef, <4 x i32> undef, i32 12)
60    %res13 = call <4 x float> @llvm.SI.sample.(i32 15, <4 x i32> undef,
61       <8 x i32> undef, <4 x i32> undef, i32 13)
62    %res14 = call <4 x float> @llvm.SI.sample.(i32 15, <4 x i32> undef,
63       <8 x i32> undef, <4 x i32> undef, i32 14)
64    %res15 = call <4 x float> @llvm.SI.sample.(i32 15, <4 x i32> undef,
65       <8 x i32> undef, <4 x i32> undef, i32 15)
66    %res16 = call <4 x float> @llvm.SI.sample.(i32 15, <4 x i32> undef,
67       <8 x i32> undef, <4 x i32> undef, i32 16)
68    ret void
69 }
70
71 declare <4 x float> @llvm.SI.sample.(i32, <4 x i32>, <8 x i32>, <4 x i32>, i32)