• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1;RUN: llc < %s -march=amdgcn -mcpu=verde -verify-machineinstrs | FileCheck %s
2;RUN: llc < %s -march=amdgcn -mcpu=tonga -verify-machineinstrs | FileCheck %s
3
4;CHECK-LABEL: {{^}}sample:
5;CHECK: s_wqm
6;CHECK: image_sample_o {{v\[[0-9]+:[0-9]+\]}}, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}} dmask:0xf
7define amdgpu_ps void @sample() {
8main_body:
9  %r = call <4 x float> @llvm.SI.image.sample.o.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)
10  %r0 = extractelement <4 x float> %r, i32 0
11  %r1 = extractelement <4 x float> %r, i32 1
12  %r2 = extractelement <4 x float> %r, i32 2
13  %r3 = extractelement <4 x float> %r, i32 3
14  call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %r0, float %r1, float %r2, float %r3)
15  ret void
16}
17
18;CHECK-LABEL: {{^}}sample_cl:
19;CHECK: s_wqm
20;CHECK: image_sample_cl_o {{v\[[0-9]+:[0-9]+\]}}, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}} dmask:0xf
21define amdgpu_ps void @sample_cl() {
22main_body:
23  %r = call <4 x float> @llvm.SI.image.sample.cl.o.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)
24  %r0 = extractelement <4 x float> %r, i32 0
25  %r1 = extractelement <4 x float> %r, i32 1
26  %r2 = extractelement <4 x float> %r, i32 2
27  %r3 = extractelement <4 x float> %r, i32 3
28  call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %r0, float %r1, float %r2, float %r3)
29  ret void
30}
31
32;CHECK-LABEL: {{^}}sample_d:
33;CHECK-NOT: s_wqm
34;CHECK: image_sample_d_o {{v\[[0-9]+:[0-9]+\]}}, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}} dmask:0xf
35define amdgpu_ps void @sample_d() {
36main_body:
37  %r = call <4 x float> @llvm.SI.image.sample.d.o.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)
38  %r0 = extractelement <4 x float> %r, i32 0
39  %r1 = extractelement <4 x float> %r, i32 1
40  %r2 = extractelement <4 x float> %r, i32 2
41  %r3 = extractelement <4 x float> %r, i32 3
42  call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %r0, float %r1, float %r2, float %r3)
43  ret void
44}
45
46;CHECK-LABEL: {{^}}sample_d_cl:
47;CHECK-NOT: s_wqm
48;CHECK: image_sample_d_cl_o {{v\[[0-9]+:[0-9]+\]}}, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}} dmask:0xf
49define amdgpu_ps void @sample_d_cl() {
50main_body:
51  %r = call <4 x float> @llvm.SI.image.sample.d.cl.o.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)
52  %r0 = extractelement <4 x float> %r, i32 0
53  %r1 = extractelement <4 x float> %r, i32 1
54  %r2 = extractelement <4 x float> %r, i32 2
55  %r3 = extractelement <4 x float> %r, i32 3
56  call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %r0, float %r1, float %r2, float %r3)
57  ret void
58}
59
60;CHECK-LABEL: {{^}}sample_l:
61;CHECK-NOT: s_wqm
62;CHECK: image_sample_l_o {{v\[[0-9]+:[0-9]+\]}}, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}} dmask:0xf
63define amdgpu_ps void @sample_l() {
64main_body:
65  %r = call <4 x float> @llvm.SI.image.sample.l.o.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)
66  %r0 = extractelement <4 x float> %r, i32 0
67  %r1 = extractelement <4 x float> %r, i32 1
68  %r2 = extractelement <4 x float> %r, i32 2
69  %r3 = extractelement <4 x float> %r, i32 3
70  call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %r0, float %r1, float %r2, float %r3)
71  ret void
72}
73
74;CHECK-LABEL: {{^}}sample_b:
75;CHECK: s_wqm
76;CHECK: image_sample_b_o {{v\[[0-9]+:[0-9]+\]}}, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}} dmask:0xf
77define amdgpu_ps void @sample_b() {
78main_body:
79  %r = call <4 x float> @llvm.SI.image.sample.b.o.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)
80  %r0 = extractelement <4 x float> %r, i32 0
81  %r1 = extractelement <4 x float> %r, i32 1
82  %r2 = extractelement <4 x float> %r, i32 2
83  %r3 = extractelement <4 x float> %r, i32 3
84  call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %r0, float %r1, float %r2, float %r3)
85  ret void
86}
87
88;CHECK-LABEL: {{^}}sample_b_cl:
89;CHECK: s_wqm
90;CHECK: image_sample_b_cl_o {{v\[[0-9]+:[0-9]+\]}}, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}} dmask:0xf
91define amdgpu_ps void @sample_b_cl() {
92main_body:
93  %r = call <4 x float> @llvm.SI.image.sample.b.cl.o.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)
94  %r0 = extractelement <4 x float> %r, i32 0
95  %r1 = extractelement <4 x float> %r, i32 1
96  %r2 = extractelement <4 x float> %r, i32 2
97  %r3 = extractelement <4 x float> %r, i32 3
98  call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %r0, float %r1, float %r2, float %r3)
99  ret void
100}
101
102;CHECK-LABEL: {{^}}sample_lz:
103;CHECK-NOT: s_wqm
104;CHECK: image_sample_lz_o {{v\[[0-9]+:[0-9]+\]}}, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}} dmask:0xf
105define amdgpu_ps void @sample_lz() {
106main_body:
107  %r = call <4 x float> @llvm.SI.image.sample.lz.o.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)
108  %r0 = extractelement <4 x float> %r, i32 0
109  %r1 = extractelement <4 x float> %r, i32 1
110  %r2 = extractelement <4 x float> %r, i32 2
111  %r3 = extractelement <4 x float> %r, i32 3
112  call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %r0, float %r1, float %r2, float %r3)
113  ret void
114}
115
116;CHECK-LABEL: {{^}}sample_cd:
117;CHECK-NOT: s_wqm
118;CHECK: image_sample_cd_o {{v\[[0-9]+:[0-9]+\]}}, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}} dmask:0xf
119define amdgpu_ps void @sample_cd() {
120main_body:
121  %r = call <4 x float> @llvm.SI.image.sample.cd.o.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)
122  %r0 = extractelement <4 x float> %r, i32 0
123  %r1 = extractelement <4 x float> %r, i32 1
124  %r2 = extractelement <4 x float> %r, i32 2
125  %r3 = extractelement <4 x float> %r, i32 3
126  call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %r0, float %r1, float %r2, float %r3)
127  ret void
128}
129
130;CHECK-LABEL: {{^}}sample_cd_cl:
131;CHECK-NOT: s_wqm
132;CHECK: image_sample_cd_cl_o {{v\[[0-9]+:[0-9]+\]}}, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}} dmask:0xf
133define amdgpu_ps void @sample_cd_cl() {
134main_body:
135  %r = call <4 x float> @llvm.SI.image.sample.cd.cl.o.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)
136  %r0 = extractelement <4 x float> %r, i32 0
137  %r1 = extractelement <4 x float> %r, i32 1
138  %r2 = extractelement <4 x float> %r, i32 2
139  %r3 = extractelement <4 x float> %r, i32 3
140  call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %r0, float %r1, float %r2, float %r3)
141  ret void
142}
143
144;CHECK-LABEL: {{^}}sample_c:
145;CHECK: s_wqm
146;CHECK: image_sample_c_o {{v\[[0-9]+:[0-9]+\]}}, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}} dmask:0xf
147define amdgpu_ps void @sample_c() {
148main_body:
149  %r = call <4 x float> @llvm.SI.image.sample.c.o.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)
150  %r0 = extractelement <4 x float> %r, i32 0
151  %r1 = extractelement <4 x float> %r, i32 1
152  %r2 = extractelement <4 x float> %r, i32 2
153  %r3 = extractelement <4 x float> %r, i32 3
154  call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %r0, float %r1, float %r2, float %r3)
155  ret void
156}
157
158;CHECK-LABEL: {{^}}sample_c_cl:
159;CHECK: s_wqm
160;CHECK: image_sample_c_cl_o {{v\[[0-9]+:[0-9]+\]}}, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}} dmask:0xf
161define amdgpu_ps void @sample_c_cl() {
162main_body:
163  %r = call <4 x float> @llvm.SI.image.sample.c.cl.o.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:
173;CHECK-NOT: s_wqm
174;CHECK: image_sample_c_d_o {{v\[[0-9]+:[0-9]+\]}}, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}} dmask:0xf
175define amdgpu_ps void @sample_c_d() {
176main_body:
177  %r = call <4 x float> @llvm.SI.image.sample.c.d.o.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)
178  %r0 = extractelement <4 x float> %r, i32 0
179  %r1 = extractelement <4 x float> %r, i32 1
180  %r2 = extractelement <4 x float> %r, i32 2
181  %r3 = extractelement <4 x float> %r, i32 3
182  call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %r0, float %r1, float %r2, float %r3)
183  ret void
184}
185
186;CHECK-LABEL: {{^}}sample_c_d_cl:
187;CHECK-NOT: s_wqm
188;CHECK: image_sample_c_d_cl_o {{v\[[0-9]+:[0-9]+\]}}, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}} dmask:0xf
189define amdgpu_ps void @sample_c_d_cl() {
190main_body:
191  %r = call <4 x float> @llvm.SI.image.sample.c.d.cl.o.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)
192  %r0 = extractelement <4 x float> %r, i32 0
193  %r1 = extractelement <4 x float> %r, i32 1
194  %r2 = extractelement <4 x float> %r, i32 2
195  %r3 = extractelement <4 x float> %r, i32 3
196  call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %r0, float %r1, float %r2, float %r3)
197  ret void
198}
199
200;CHECK-LABEL: {{^}}sample_c_l:
201;CHECK-NOT: s_wqm
202;CHECK: image_sample_c_l_o {{v\[[0-9]+:[0-9]+\]}}, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}} dmask:0xf
203define amdgpu_ps void @sample_c_l() {
204main_body:
205  %r = call <4 x float> @llvm.SI.image.sample.c.l.o.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)
206  %r0 = extractelement <4 x float> %r, i32 0
207  %r1 = extractelement <4 x float> %r, i32 1
208  %r2 = extractelement <4 x float> %r, i32 2
209  %r3 = extractelement <4 x float> %r, i32 3
210  call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %r0, float %r1, float %r2, float %r3)
211  ret void
212}
213
214;CHECK-LABEL: {{^}}sample_c_b:
215;CHECK: s_wqm
216;CHECK: image_sample_c_b_o {{v\[[0-9]+:[0-9]+\]}}, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}} dmask:0xf
217define amdgpu_ps void @sample_c_b() {
218main_body:
219  %r = call <4 x float> @llvm.SI.image.sample.c.b.o.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)
220  %r0 = extractelement <4 x float> %r, i32 0
221  %r1 = extractelement <4 x float> %r, i32 1
222  %r2 = extractelement <4 x float> %r, i32 2
223  %r3 = extractelement <4 x float> %r, i32 3
224  call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %r0, float %r1, float %r2, float %r3)
225  ret void
226}
227
228;CHECK-LABEL: {{^}}sample_c_b_cl:
229;CHECK: s_wqm
230;CHECK: image_sample_c_b_cl_o {{v\[[0-9]+:[0-9]+\]}}, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}} dmask:0xf
231define amdgpu_ps void @sample_c_b_cl() {
232main_body:
233  %r = call <4 x float> @llvm.SI.image.sample.c.b.cl.o.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)
234  %r0 = extractelement <4 x float> %r, i32 0
235  %r1 = extractelement <4 x float> %r, i32 1
236  %r2 = extractelement <4 x float> %r, i32 2
237  %r3 = extractelement <4 x float> %r, i32 3
238  call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %r0, float %r1, float %r2, float %r3)
239  ret void
240}
241
242;CHECK-LABEL: {{^}}sample_c_lz:
243;CHECK-NOT: s_wqm
244;CHECK: image_sample_c_lz_o {{v\[[0-9]+:[0-9]+\]}}, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}} dmask:0xf
245define amdgpu_ps void @sample_c_lz() {
246main_body:
247  %r = call <4 x float> @llvm.SI.image.sample.c.lz.o.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)
248  %r0 = extractelement <4 x float> %r, i32 0
249  %r1 = extractelement <4 x float> %r, i32 1
250  %r2 = extractelement <4 x float> %r, i32 2
251  %r3 = extractelement <4 x float> %r, i32 3
252  call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %r0, float %r1, float %r2, float %r3)
253  ret void
254}
255
256;CHECK-LABEL: {{^}}sample_c_cd:
257;CHECK-NOT: s_wqm
258;CHECK: image_sample_c_cd_o {{v\[[0-9]+:[0-9]+\]}}, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}} dmask:0xf
259define amdgpu_ps void @sample_c_cd() {
260main_body:
261  %r = call <4 x float> @llvm.SI.image.sample.c.cd.o.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)
262  %r0 = extractelement <4 x float> %r, i32 0
263  %r1 = extractelement <4 x float> %r, i32 1
264  %r2 = extractelement <4 x float> %r, i32 2
265  %r3 = extractelement <4 x float> %r, i32 3
266  call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %r0, float %r1, float %r2, float %r3)
267  ret void
268}
269
270;CHECK-LABEL: {{^}}sample_c_cd_cl:
271;CHECK-NOT: s_wqm
272;CHECK: image_sample_c_cd_cl_o {{v\[[0-9]+:[0-9]+\]}}, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}} dmask:0xf
273define amdgpu_ps void @sample_c_cd_cl() {
274main_body:
275  %r = call <4 x float> @llvm.SI.image.sample.c.cd.cl.o.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)
276  %r0 = extractelement <4 x float> %r, i32 0
277  %r1 = extractelement <4 x float> %r, i32 1
278  %r2 = extractelement <4 x float> %r, i32 2
279  %r3 = extractelement <4 x float> %r, i32 3
280  call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %r0, float %r1, float %r2, float %r3)
281  ret void
282}
283
284
285declare <4 x float> @llvm.SI.image.sample.o.v4i32(<4 x i32>, <8 x i32>, <4 x i32>, i32, i32, i32, i32, i32, i32, i32, i32) #0
286declare <4 x float> @llvm.SI.image.sample.cl.o.v4i32(<4 x i32>, <8 x i32>, <4 x i32>, i32, i32, i32, i32, i32, i32, i32, i32) #0
287declare <4 x float> @llvm.SI.image.sample.d.o.v4i32(<4 x i32>, <8 x i32>, <4 x i32>, i32, i32, i32, i32, i32, i32, i32, i32) #0
288declare <4 x float> @llvm.SI.image.sample.d.cl.o.v4i32(<4 x i32>, <8 x i32>, <4 x i32>, i32, i32, i32, i32, i32, i32, i32, i32) #0
289declare <4 x float> @llvm.SI.image.sample.l.o.v4i32(<4 x i32>, <8 x i32>, <4 x i32>, i32, i32, i32, i32, i32, i32, i32, i32) #0
290declare <4 x float> @llvm.SI.image.sample.b.o.v4i32(<4 x i32>, <8 x i32>, <4 x i32>, i32, i32, i32, i32, i32, i32, i32, i32) #0
291declare <4 x float> @llvm.SI.image.sample.b.cl.o.v4i32(<4 x i32>, <8 x i32>, <4 x i32>, i32, i32, i32, i32, i32, i32, i32, i32) #0
292declare <4 x float> @llvm.SI.image.sample.lz.o.v4i32(<4 x i32>, <8 x i32>, <4 x i32>, i32, i32, i32, i32, i32, i32, i32, i32) #0
293declare <4 x float> @llvm.SI.image.sample.cd.o.v4i32(<4 x i32>, <8 x i32>, <4 x i32>, i32, i32, i32, i32, i32, i32, i32, i32) #0
294declare <4 x float> @llvm.SI.image.sample.cd.cl.o.v4i32(<4 x i32>, <8 x i32>, <4 x i32>, i32, i32, i32, i32, i32, i32, i32, i32) #0
295
296declare <4 x float> @llvm.SI.image.sample.c.o.v4i32(<4 x i32>, <8 x i32>, <4 x i32>, i32, i32, i32, i32, i32, i32, i32, i32) #0
297declare <4 x float> @llvm.SI.image.sample.c.cl.o.v4i32(<4 x i32>, <8 x i32>, <4 x i32>, i32, i32, i32, i32, i32, i32, i32, i32) #0
298declare <4 x float> @llvm.SI.image.sample.c.d.o.v4i32(<4 x i32>, <8 x i32>, <4 x i32>, i32, i32, i32, i32, i32, i32, i32, i32) #0
299declare <4 x float> @llvm.SI.image.sample.c.d.cl.o.v4i32(<4 x i32>, <8 x i32>, <4 x i32>, i32, i32, i32, i32, i32, i32, i32, i32) #0
300declare <4 x float> @llvm.SI.image.sample.c.l.o.v4i32(<4 x i32>, <8 x i32>, <4 x i32>, i32, i32, i32, i32, i32, i32, i32, i32) #0
301declare <4 x float> @llvm.SI.image.sample.c.b.o.v4i32(<4 x i32>, <8 x i32>, <4 x i32>, i32, i32, i32, i32, i32, i32, i32, i32) #0
302declare <4 x float> @llvm.SI.image.sample.c.b.cl.o.v4i32(<4 x i32>, <8 x i32>, <4 x i32>, i32, i32, i32, i32, i32, i32, i32, i32) #0
303declare <4 x float> @llvm.SI.image.sample.c.lz.o.v4i32(<4 x i32>, <8 x i32>, <4 x i32>, i32, i32, i32, i32, i32, i32, i32, i32) #0
304declare <4 x float> @llvm.SI.image.sample.c.cd.o.v4i32(<4 x i32>, <8 x i32>, <4 x i32>, i32, i32, i32, i32, i32, i32, i32, i32) #0
305declare <4 x float> @llvm.SI.image.sample.c.cd.cl.o.v4i32(<4 x i32>, <8 x i32>, <4 x i32>, i32, i32, i32, i32, i32, i32, i32, i32) #0
306
307declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float)
308
309attributes #0 = { nounwind readnone }
310