1;RUN: llc < %s -march=r600 -mcpu=SI | FileCheck %s 2 3;CHECK: IMAGE_SAMPLE 4;CHECK-NEXT: S_WAITCNT 1904 5;CHECK-NEXT: IMAGE_SAMPLE 6;CHECK-NEXT: S_WAITCNT 1904 7;CHECK-NEXT: IMAGE_SAMPLE 8;CHECK-NEXT: S_WAITCNT 1904 9;CHECK-NEXT: IMAGE_SAMPLE 10;CHECK-NEXT: S_WAITCNT 1904 11;CHECK-NEXT: IMAGE_SAMPLE 12;CHECK-NEXT: S_WAITCNT 1904 13;CHECK-NEXT: IMAGE_SAMPLE_C 14;CHECK-NEXT: S_WAITCNT 1904 15;CHECK-NEXT: IMAGE_SAMPLE_C 16;CHECK-NEXT: S_WAITCNT 1904 17;CHECK-NEXT: IMAGE_SAMPLE_C 18;CHECK-NEXT: S_WAITCNT 1904 19;CHECK-NEXT: IMAGE_SAMPLE 20;CHECK-NEXT: S_WAITCNT 1904 21;CHECK-NEXT: IMAGE_SAMPLE 22;CHECK-NEXT: S_WAITCNT 1904 23;CHECK-NEXT: IMAGE_SAMPLE_C 24;CHECK-NEXT: S_WAITCNT 1904 25;CHECK-NEXT: IMAGE_SAMPLE_C 26;CHECK-NEXT: S_WAITCNT 1904 27;CHECK-NEXT: IMAGE_SAMPLE_C 28;CHECK-NEXT: S_WAITCNT 1904 29;CHECK-NEXT: IMAGE_SAMPLE 30;CHECK-NEXT: S_WAITCNT 1904 31;CHECK-NEXT: IMAGE_SAMPLE 32;CHECK-NEXT: S_WAITCNT 1904 33;CHECK-NEXT: IMAGE_SAMPLE 34 35define 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 71declare <4 x float> @llvm.SI.sample.(i32, <4 x i32>, <8 x i32>, <4 x i32>, i32) 72