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 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) 72