R600/SI: Update concat_vectors.ll to check for scratch usage
[oota-llvm.git] / test / CodeGen / R600 / llvm.SI.image.sample.ll
1 ;RUN: llc < %s -march=r600 -mcpu=verde -verify-machineinstrs | FileCheck %s
2
3 ;CHECK-LABEL: @sample
4 ;CHECK: IMAGE_SAMPLE {{v\[[0-9]+:[0-9]+\]}}, 15, 0, 0, 0, 0, 0, 0, 0, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}
5 define void @sample() #0 {
6 main_body:
7   %r = call <4 x float> @llvm.SI.image.sample.v4i32(<4 x i32> undef, <8 x i32> undef, <4 x i32> undef, i32 15, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0)
8   %r0 = extractelement <4 x float> %r, i32 0
9   %r1 = extractelement <4 x float> %r, i32 1
10   %r2 = extractelement <4 x float> %r, i32 2
11   %r3 = extractelement <4 x float> %r, i32 3
12   call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %r0, float %r1, float %r2, float %r3)
13   ret void
14 }
15
16 ;CHECK-LABEL: @sample_cl
17 ;CHECK: IMAGE_SAMPLE_CL {{v\[[0-9]+:[0-9]+\]}}, 15, 0, 0, 0, 0, 0, 0, 0, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}
18 define void @sample_cl() #0 {
19 main_body:
20   %r = call <4 x float> @llvm.SI.image.sample.cl.v4i32(<4 x i32> undef, <8 x i32> undef, <4 x i32> undef, i32 15, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0)
21   %r0 = extractelement <4 x float> %r, i32 0
22   %r1 = extractelement <4 x float> %r, i32 1
23   %r2 = extractelement <4 x float> %r, i32 2
24   %r3 = extractelement <4 x float> %r, i32 3
25   call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %r0, float %r1, float %r2, float %r3)
26   ret void
27 }
28
29 ;CHECK-LABEL: @sample_d
30 ;CHECK: IMAGE_SAMPLE_D {{v\[[0-9]+:[0-9]+\]}}, 15, 0, 0, 0, 0, 0, 0, 0, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}
31 define void @sample_d() #0 {
32 main_body:
33   %r = call <4 x float> @llvm.SI.image.sample.d.v4i32(<4 x i32> undef, <8 x i32> undef, <4 x i32> undef, i32 15, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0)
34   %r0 = extractelement <4 x float> %r, i32 0
35   %r1 = extractelement <4 x float> %r, i32 1
36   %r2 = extractelement <4 x float> %r, i32 2
37   %r3 = extractelement <4 x float> %r, i32 3
38   call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %r0, float %r1, float %r2, float %r3)
39   ret void
40 }
41
42 ;CHECK-LABEL: @sample_d_cl
43 ;CHECK: IMAGE_SAMPLE_D_CL {{v\[[0-9]+:[0-9]+\]}}, 15, 0, 0, 0, 0, 0, 0, 0, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}
44 define void @sample_d_cl() #0 {
45 main_body:
46   %r = call <4 x float> @llvm.SI.image.sample.d.cl.v4i32(<4 x i32> undef, <8 x i32> undef, <4 x i32> undef, i32 15, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0)
47   %r0 = extractelement <4 x float> %r, i32 0
48   %r1 = extractelement <4 x float> %r, i32 1
49   %r2 = extractelement <4 x float> %r, i32 2
50   %r3 = extractelement <4 x float> %r, i32 3
51   call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %r0, float %r1, float %r2, float %r3)
52   ret void
53 }
54
55 ;CHECK-LABEL: @sample_l
56 ;CHECK: IMAGE_SAMPLE_L {{v\[[0-9]+:[0-9]+\]}}, 15, 0, 0, 0, 0, 0, 0, 0, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}
57 define void @sample_l() #0 {
58 main_body:
59   %r = call <4 x float> @llvm.SI.image.sample.l.v4i32(<4 x i32> undef, <8 x i32> undef, <4 x i32> undef, i32 15, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0)
60   %r0 = extractelement <4 x float> %r, i32 0
61   %r1 = extractelement <4 x float> %r, i32 1
62   %r2 = extractelement <4 x float> %r, i32 2
63   %r3 = extractelement <4 x float> %r, i32 3
64   call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %r0, float %r1, float %r2, float %r3)
65   ret void
66 }
67
68 ;CHECK-LABEL: @sample_b
69 ;CHECK: IMAGE_SAMPLE_B {{v\[[0-9]+:[0-9]+\]}}, 15, 0, 0, 0, 0, 0, 0, 0, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}
70 define void @sample_b() #0 {
71 main_body:
72   %r = call <4 x float> @llvm.SI.image.sample.b.v4i32(<4 x i32> undef, <8 x i32> undef, <4 x i32> undef, i32 15, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0)
73   %r0 = extractelement <4 x float> %r, i32 0
74   %r1 = extractelement <4 x float> %r, i32 1
75   %r2 = extractelement <4 x float> %r, i32 2
76   %r3 = extractelement <4 x float> %r, i32 3
77   call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %r0, float %r1, float %r2, float %r3)
78   ret void
79 }
80
81 ;CHECK-LABEL: @sample_b_cl
82 ;CHECK: IMAGE_SAMPLE_B_CL {{v\[[0-9]+:[0-9]+\]}}, 15, 0, 0, 0, 0, 0, 0, 0, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}
83 define void @sample_b_cl() #0 {
84 main_body:
85   %r = call <4 x float> @llvm.SI.image.sample.b.cl.v4i32(<4 x i32> undef, <8 x i32> undef, <4 x i32> undef, i32 15, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0)
86   %r0 = extractelement <4 x float> %r, i32 0
87   %r1 = extractelement <4 x float> %r, i32 1
88   %r2 = extractelement <4 x float> %r, i32 2
89   %r3 = extractelement <4 x float> %r, i32 3
90   call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %r0, float %r1, float %r2, float %r3)
91   ret void
92 }
93
94 ;CHECK-LABEL: @sample_lz
95 ;CHECK: IMAGE_SAMPLE_LZ {{v\[[0-9]+:[0-9]+\]}}, 15, 0, 0, 0, 0, 0, 0, 0, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}
96 define void @sample_lz() #0 {
97 main_body:
98   %r = call <4 x float> @llvm.SI.image.sample.lz.v4i32(<4 x i32> undef, <8 x i32> undef, <4 x i32> undef, i32 15, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0)
99   %r0 = extractelement <4 x float> %r, i32 0
100   %r1 = extractelement <4 x float> %r, i32 1
101   %r2 = extractelement <4 x float> %r, i32 2
102   %r3 = extractelement <4 x float> %r, i32 3
103   call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %r0, float %r1, float %r2, float %r3)
104   ret void
105 }
106
107 ;CHECK-LABEL: @sample_cd
108 ;CHECK: IMAGE_SAMPLE_CD {{v\[[0-9]+:[0-9]+\]}}, 15, 0, 0, 0, 0, 0, 0, 0, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}
109 define void @sample_cd() #0 {
110 main_body:
111   %r = call <4 x float> @llvm.SI.image.sample.cd.v4i32(<4 x i32> undef, <8 x i32> undef, <4 x i32> undef, i32 15, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0)
112   %r0 = extractelement <4 x float> %r, i32 0
113   %r1 = extractelement <4 x float> %r, i32 1
114   %r2 = extractelement <4 x float> %r, i32 2
115   %r3 = extractelement <4 x float> %r, i32 3
116   call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %r0, float %r1, float %r2, float %r3)
117   ret void
118 }
119
120 ;CHECK-LABEL: @sample_cd_cl
121 ;CHECK: IMAGE_SAMPLE_CD_CL {{v\[[0-9]+:[0-9]+\]}}, 15, 0, 0, 0, 0, 0, 0, 0, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}
122 define void @sample_cd_cl() #0 {
123 main_body:
124   %r = call <4 x float> @llvm.SI.image.sample.cd.cl.v4i32(<4 x i32> undef, <8 x i32> undef, <4 x i32> undef, i32 15, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0)
125   %r0 = extractelement <4 x float> %r, i32 0
126   %r1 = extractelement <4 x float> %r, i32 1
127   %r2 = extractelement <4 x float> %r, i32 2
128   %r3 = extractelement <4 x float> %r, i32 3
129   call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %r0, float %r1, float %r2, float %r3)
130   ret void
131 }
132
133 ;CHECK-LABEL: @sample_c
134 ;CHECK: IMAGE_SAMPLE_C {{v\[[0-9]+:[0-9]+\]}}, 15, 0, 0, 0, 0, 0, 0, 0, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}
135 define void @sample_c() #0 {
136 main_body:
137   %r = call <4 x float> @llvm.SI.image.sample.c.v4i32(<4 x i32> undef, <8 x i32> undef, <4 x i32> undef, i32 15, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0)
138   %r0 = extractelement <4 x float> %r, i32 0
139   %r1 = extractelement <4 x float> %r, i32 1
140   %r2 = extractelement <4 x float> %r, i32 2
141   %r3 = extractelement <4 x float> %r, i32 3
142   call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %r0, float %r1, float %r2, float %r3)
143   ret void
144 }
145
146 ;CHECK-LABEL: @sample_c_cl
147 ;CHECK: IMAGE_SAMPLE_C_CL {{v\[[0-9]+:[0-9]+\]}}, 15, 0, 0, 0, 0, 0, 0, 0, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}
148 define void @sample_c_cl() #0 {
149 main_body:
150   %r = call <4 x float> @llvm.SI.image.sample.c.cl.v4i32(<4 x i32> undef, <8 x i32> undef, <4 x i32> undef, i32 15, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0)
151   %r0 = extractelement <4 x float> %r, i32 0
152   %r1 = extractelement <4 x float> %r, i32 1
153   %r2 = extractelement <4 x float> %r, i32 2
154   %r3 = extractelement <4 x float> %r, i32 3
155   call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %r0, float %r1, float %r2, float %r3)
156   ret void
157 }
158
159 ;CHECK-LABEL: @sample_c_d
160 ;CHECK: IMAGE_SAMPLE_C_D {{v\[[0-9]+:[0-9]+\]}}, 15, 0, 0, 0, 0, 0, 0, 0, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}
161 define void @sample_c_d() #0 {
162 main_body:
163   %r = call <4 x float> @llvm.SI.image.sample.c.d.v4i32(<4 x i32> undef, <8 x i32> undef, <4 x i32> undef, i32 15, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0)
164   %r0 = extractelement <4 x float> %r, i32 0
165   %r1 = extractelement <4 x float> %r, i32 1
166   %r2 = extractelement <4 x float> %r, i32 2
167   %r3 = extractelement <4 x float> %r, i32 3
168   call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %r0, float %r1, float %r2, float %r3)
169   ret void
170 }
171
172 ;CHECK-LABEL: @sample_c_d_cl
173 ;CHECK: IMAGE_SAMPLE_C_D_CL {{v\[[0-9]+:[0-9]+\]}}, 15, 0, 0, 0, 0, 0, 0, 0, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}
174 define void @sample_c_d_cl() #0 {
175 main_body:
176   %r = call <4 x float> @llvm.SI.image.sample.c.d.cl.v4i32(<4 x i32> undef, <8 x i32> undef, <4 x i32> undef, i32 15, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0)
177   %r0 = extractelement <4 x float> %r, i32 0
178   %r1 = extractelement <4 x float> %r, i32 1
179   %r2 = extractelement <4 x float> %r, i32 2
180   %r3 = extractelement <4 x float> %r, i32 3
181   call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %r0, float %r1, float %r2, float %r3)
182   ret void
183 }
184
185 ;CHECK-LABEL: @sample_c_l
186 ;CHECK: IMAGE_SAMPLE_C_L {{v\[[0-9]+:[0-9]+\]}}, 15, 0, 0, 0, 0, 0, 0, 0, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}
187 define void @sample_c_l() #0 {
188 main_body:
189   %r = call <4 x float> @llvm.SI.image.sample.c.l.v4i32(<4 x i32> undef, <8 x i32> undef, <4 x i32> undef, i32 15, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0)
190   %r0 = extractelement <4 x float> %r, i32 0
191   %r1 = extractelement <4 x float> %r, i32 1
192   %r2 = extractelement <4 x float> %r, i32 2
193   %r3 = extractelement <4 x float> %r, i32 3
194   call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %r0, float %r1, float %r2, float %r3)
195   ret void
196 }
197
198 ;CHECK-LABEL: @sample_c_b
199 ;CHECK: IMAGE_SAMPLE_C_B {{v\[[0-9]+:[0-9]+\]}}, 15, 0, 0, 0, 0, 0, 0, 0, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}
200 define void @sample_c_b() #0 {
201 main_body:
202   %r = call <4 x float> @llvm.SI.image.sample.c.b.v4i32(<4 x i32> undef, <8 x i32> undef, <4 x i32> undef, i32 15, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0)
203   %r0 = extractelement <4 x float> %r, i32 0
204   %r1 = extractelement <4 x float> %r, i32 1
205   %r2 = extractelement <4 x float> %r, i32 2
206   %r3 = extractelement <4 x float> %r, i32 3
207   call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %r0, float %r1, float %r2, float %r3)
208   ret void
209 }
210
211 ;CHECK-LABEL: @sample_c_b_cl
212 ;CHECK: IMAGE_SAMPLE_C_B_CL {{v\[[0-9]+:[0-9]+\]}}, 15, 0, 0, 0, 0, 0, 0, 0, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}
213 define void @sample_c_b_cl() #0 {
214 main_body:
215   %r = call <4 x float> @llvm.SI.image.sample.c.b.cl.v4i32(<4 x i32> undef, <8 x i32> undef, <4 x i32> undef, i32 15, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0)
216   %r0 = extractelement <4 x float> %r, i32 0
217   %r1 = extractelement <4 x float> %r, i32 1
218   %r2 = extractelement <4 x float> %r, i32 2
219   %r3 = extractelement <4 x float> %r, i32 3
220   call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %r0, float %r1, float %r2, float %r3)
221   ret void
222 }
223
224 ;CHECK-LABEL: @sample_c_lz
225 ;CHECK: IMAGE_SAMPLE_C_LZ {{v\[[0-9]+:[0-9]+\]}}, 15, 0, 0, 0, 0, 0, 0, 0, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}
226 define void @sample_c_lz() #0 {
227 main_body:
228   %r = call <4 x float> @llvm.SI.image.sample.c.lz.v4i32(<4 x i32> undef, <8 x i32> undef, <4 x i32> undef, i32 15, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0)
229   %r0 = extractelement <4 x float> %r, i32 0
230   %r1 = extractelement <4 x float> %r, i32 1
231   %r2 = extractelement <4 x float> %r, i32 2
232   %r3 = extractelement <4 x float> %r, i32 3
233   call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %r0, float %r1, float %r2, float %r3)
234   ret void
235 }
236
237 ;CHECK-LABEL: @sample_c_cd
238 ;CHECK: IMAGE_SAMPLE_C_CD {{v\[[0-9]+:[0-9]+\]}}, 15, 0, 0, 0, 0, 0, 0, 0, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}
239 define void @sample_c_cd() #0 {
240 main_body:
241   %r = call <4 x float> @llvm.SI.image.sample.c.cd.v4i32(<4 x i32> undef, <8 x i32> undef, <4 x i32> undef, i32 15, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0)
242   %r0 = extractelement <4 x float> %r, i32 0
243   %r1 = extractelement <4 x float> %r, i32 1
244   %r2 = extractelement <4 x float> %r, i32 2
245   %r3 = extractelement <4 x float> %r, i32 3
246   call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %r0, float %r1, float %r2, float %r3)
247   ret void
248 }
249
250 ;CHECK-LABEL: @sample_c_cd_cl
251 ;CHECK: IMAGE_SAMPLE_C_CD_CL {{v\[[0-9]+:[0-9]+\]}}, 15, 0, 0, 0, 0, 0, 0, 0, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}
252 define void @sample_c_cd_cl() #0 {
253 main_body:
254   %r = call <4 x float> @llvm.SI.image.sample.c.cd.cl.v4i32(<4 x i32> undef, <8 x i32> undef, <4 x i32> undef, i32 15, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0)
255   %r0 = extractelement <4 x float> %r, i32 0
256   %r1 = extractelement <4 x float> %r, i32 1
257   %r2 = extractelement <4 x float> %r, i32 2
258   %r3 = extractelement <4 x float> %r, i32 3
259   call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %r0, float %r1, float %r2, float %r3)
260   ret void
261 }
262
263
264 declare <4 x float> @llvm.SI.image.sample.v4i32(<4 x i32>, <8 x i32>, <4 x i32>, i32, i32, i32, i32, i32, i32, i32, i32) #1
265 declare <4 x float> @llvm.SI.image.sample.cl.v4i32(<4 x i32>, <8 x i32>, <4 x i32>, i32, i32, i32, i32, i32, i32, i32, i32) #1
266 declare <4 x float> @llvm.SI.image.sample.d.v4i32(<4 x i32>, <8 x i32>, <4 x i32>, i32, i32, i32, i32, i32, i32, i32, i32) #1
267 declare <4 x float> @llvm.SI.image.sample.d.cl.v4i32(<4 x i32>, <8 x i32>, <4 x i32>, i32, i32, i32, i32, i32, i32, i32, i32) #1
268 declare <4 x float> @llvm.SI.image.sample.l.v4i32(<4 x i32>, <8 x i32>, <4 x i32>, i32, i32, i32, i32, i32, i32, i32, i32) #1
269 declare <4 x float> @llvm.SI.image.sample.b.v4i32(<4 x i32>, <8 x i32>, <4 x i32>, i32, i32, i32, i32, i32, i32, i32, i32) #1
270 declare <4 x float> @llvm.SI.image.sample.b.cl.v4i32(<4 x i32>, <8 x i32>, <4 x i32>, i32, i32, i32, i32, i32, i32, i32, i32) #1
271 declare <4 x float> @llvm.SI.image.sample.lz.v4i32(<4 x i32>, <8 x i32>, <4 x i32>, i32, i32, i32, i32, i32, i32, i32, i32) #1
272 declare <4 x float> @llvm.SI.image.sample.cd.v4i32(<4 x i32>, <8 x i32>, <4 x i32>, i32, i32, i32, i32, i32, i32, i32, i32) #1
273 declare <4 x float> @llvm.SI.image.sample.cd.cl.v4i32(<4 x i32>, <8 x i32>, <4 x i32>, i32, i32, i32, i32, i32, i32, i32, i32) #1
274
275 declare <4 x float> @llvm.SI.image.sample.c.v4i32(<4 x i32>, <8 x i32>, <4 x i32>, i32, i32, i32, i32, i32, i32, i32, i32) #1
276 declare <4 x float> @llvm.SI.image.sample.c.cl.v4i32(<4 x i32>, <8 x i32>, <4 x i32>, i32, i32, i32, i32, i32, i32, i32, i32) #1
277 declare <4 x float> @llvm.SI.image.sample.c.d.v4i32(<4 x i32>, <8 x i32>, <4 x i32>, i32, i32, i32, i32, i32, i32, i32, i32) #1
278 declare <4 x float> @llvm.SI.image.sample.c.d.cl.v4i32(<4 x i32>, <8 x i32>, <4 x i32>, i32, i32, i32, i32, i32, i32, i32, i32) #1
279 declare <4 x float> @llvm.SI.image.sample.c.l.v4i32(<4 x i32>, <8 x i32>, <4 x i32>, i32, i32, i32, i32, i32, i32, i32, i32) #1
280 declare <4 x float> @llvm.SI.image.sample.c.b.v4i32(<4 x i32>, <8 x i32>, <4 x i32>, i32, i32, i32, i32, i32, i32, i32, i32) #1
281 declare <4 x float> @llvm.SI.image.sample.c.b.cl.v4i32(<4 x i32>, <8 x i32>, <4 x i32>, i32, i32, i32, i32, i32, i32, i32, i32) #1
282 declare <4 x float> @llvm.SI.image.sample.c.lz.v4i32(<4 x i32>, <8 x i32>, <4 x i32>, i32, i32, i32, i32, i32, i32, i32, i32) #1
283 declare <4 x float> @llvm.SI.image.sample.c.cd.v4i32(<4 x i32>, <8 x i32>, <4 x i32>, i32, i32, i32, i32, i32, i32, i32, i32) #1
284 declare <4 x float> @llvm.SI.image.sample.c.cd.cl.v4i32(<4 x i32>, <8 x i32>, <4 x i32>, i32, i32, i32, i32, i32, i32, i32, i32) #1
285
286 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float)
287
288 attributes #0 = { "ShaderType"="0" }
289 attributes #1 = { nounwind readnone }