blob: 43dfd1a6d67fb5d3d2bd54322923c49879ac14ab [file] [log] [blame]
Changpeng Fangfb9c3812016-08-10 21:15:30 +00001; RUN: llc < %s -march=amdgcn -mcpu=verde -verify-machineinstrs | FileCheck --check-prefix=GCN %s
2; RUN: llc < %s -march=amdgcn -mcpu=tonga -verify-machineinstrs | FileCheck --check-prefix=GCN %s
3
4; GCN-LABEL: {{^}}sample:
5; GCN: image_sample {{v\[[0-9]+:[0-9]+\]}}, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}} dmask:0xf
6define void @sample(<4 x float> addrspace(1)* %out) {
7main_body:
8 %r = call <4 x float> @llvm.amdgcn.image.sample.v4f32.v4f32.v8i32(<4 x float> undef, <8 x i32> undef, <4 x i32> undef, i32 15, i1 0, i1 0, i1 0, i1 0, i1 0)
9 store <4 x float> %r, <4 x float> addrspace(1)* %out
10 ret void
11}
12
13; GCN-LABEL: {{^}}sample_cl:
14; GCN: image_sample_cl {{v\[[0-9]+:[0-9]+\]}}, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}} dmask:0xf
15define void @sample_cl(<4 x float> addrspace(1)* %out) {
16main_body:
17 %r = call <4 x float> @llvm.amdgcn.image.sample.cl.v4f32.v4f32.v8i32(<4 x float> undef, <8 x i32> undef, <4 x i32> undef, i32 15, i1 0, i1 0, i1 0, i1 0, i1 0)
18 store <4 x float> %r, <4 x float> addrspace(1)* %out
19 ret void
20}
21
22; GCN-LABEL: {{^}}sample_d:
23; GCN: image_sample_d {{v\[[0-9]+:[0-9]+\]}}, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}} dmask:0xf
24define void @sample_d(<4 x float> addrspace(1)* %out) {
25main_body:
26 %r = call <4 x float> @llvm.amdgcn.image.sample.d.v4f32.v4f32.v8i32(<4 x float> undef, <8 x i32> undef, <4 x i32> undef, i32 15, i1 0, i1 0, i1 0, i1 0, i1 0)
27 store <4 x float> %r, <4 x float> addrspace(1)* %out
28 ret void
29}
30
31; GCN-LABEL: {{^}}sample_d_cl:
32; GCN: image_sample_d_cl {{v\[[0-9]+:[0-9]+\]}}, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}} dmask:0xf
33define void @sample_d_cl(<4 x float> addrspace(1)* %out) {
34main_body:
35 %r = call <4 x float> @llvm.amdgcn.image.sample.d.cl.v4f32.v4f32.v8i32(<4 x float> undef, <8 x i32> undef, <4 x i32> undef, i32 15, i1 0, i1 0, i1 0, i1 0, i1 0)
36 store <4 x float> %r, <4 x float> addrspace(1)* %out
37 ret void
38}
39
40; GCN-LABEL: {{^}}sample_l:
41; GCN: image_sample_l {{v\[[0-9]+:[0-9]+\]}}, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}} dmask:0xf
42define void @sample_l(<4 x float> addrspace(1)* %out) {
43main_body:
44 %r = call <4 x float> @llvm.amdgcn.image.sample.l.v4f32.v4f32.v8i32(<4 x float> undef, <8 x i32> undef, <4 x i32> undef, i32 15, i1 0, i1 0, i1 0, i1 0, i1 0)
45 store <4 x float> %r, <4 x float> addrspace(1)* %out
46 ret void
47}
48
49; GCN-LABEL: {{^}}sample_b:
50; GCN: image_sample_b {{v\[[0-9]+:[0-9]+\]}}, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}} dmask:0xf
51define void @sample_b(<4 x float> addrspace(1)* %out) {
52main_body:
53 %r = call <4 x float> @llvm.amdgcn.image.sample.b.v4f32.v4f32.v8i32(<4 x float> undef, <8 x i32> undef, <4 x i32> undef, i32 15, i1 0, i1 0, i1 0, i1 0, i1 0)
54 store <4 x float> %r, <4 x float> addrspace(1)* %out
55 ret void
56}
57
58; GCN-LABEL: {{^}}sample_b_cl:
59; GCN: image_sample_b_cl {{v\[[0-9]+:[0-9]+\]}}, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}} dmask:0xf
60define void @sample_b_cl(<4 x float> addrspace(1)* %out) {
61main_body:
62 %r = call <4 x float> @llvm.amdgcn.image.sample.b.cl.v4f32.v4f32.v8i32(<4 x float> undef, <8 x i32> undef, <4 x i32> undef, i32 15, i1 0, i1 0, i1 0, i1 0, i1 0)
63 store <4 x float> %r, <4 x float> addrspace(1)* %out
64 ret void
65}
66
67; GCN-LABEL: {{^}}sample_lz:
68; GCN: image_sample_lz {{v\[[0-9]+:[0-9]+\]}}, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}} dmask:0xf
69define void @sample_lz(<4 x float> addrspace(1)* %out) {
70main_body:
71 %r = call <4 x float> @llvm.amdgcn.image.sample.lz.v4f32.v4f32.v8i32(<4 x float> undef, <8 x i32> undef, <4 x i32> undef, i32 15, i1 0, i1 0, i1 0, i1 0, i1 0)
72 store <4 x float> %r, <4 x float> addrspace(1)* %out
73 ret void
74}
75
76; GCN-LABEL: {{^}}sample_cd:
77; GCN: image_sample_cd {{v\[[0-9]+:[0-9]+\]}}, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}} dmask:0xf
78define void @sample_cd(<4 x float> addrspace(1)* %out) {
79main_body:
80 %r = call <4 x float> @llvm.amdgcn.image.sample.cd.v4f32.v4f32.v8i32(<4 x float> undef, <8 x i32> undef, <4 x i32> undef, i32 15, i1 0, i1 0, i1 0, i1 0, i1 0)
81 store <4 x float> %r, <4 x float> addrspace(1)* %out
82 ret void
83}
84
85; GCN-LABEL: {{^}}sample_cd_cl:
86; GCN: image_sample_cd_cl {{v\[[0-9]+:[0-9]+\]}}, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}} dmask:0xf
87define void @sample_cd_cl(<4 x float> addrspace(1)* %out) {
88main_body:
89 %r = call <4 x float> @llvm.amdgcn.image.sample.cd.cl.v4f32.v4f32.v8i32(<4 x float> undef, <8 x i32> undef, <4 x i32> undef, i32 15, i1 0, i1 0, i1 0, i1 0, i1 0)
90 store <4 x float> %r, <4 x float> addrspace(1)* %out
91 ret void
92}
93
94; GCN-LABEL: {{^}}sample_c:
95; GCN: image_sample_c {{v\[[0-9]+:[0-9]+\]}}, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}} dmask:0xf
96define void @sample_c(<4 x float> addrspace(1)* %out) {
97main_body:
98 %r = call <4 x float> @llvm.amdgcn.image.sample.c.v4f32.v4f32.v8i32(<4 x float> undef, <8 x i32> undef, <4 x i32> undef, i32 15, i1 0, i1 0, i1 0, i1 0, i1 0)
99 store <4 x float> %r, <4 x float> addrspace(1)* %out
100 ret void
101}
102
103; GCN-LABEL: {{^}}sample_c_cl:
104; GCN: image_sample_c_cl {{v\[[0-9]+:[0-9]+\]}}, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}} dmask:0xf
105define void @sample_c_cl(<4 x float> addrspace(1)* %out) {
106main_body:
107 %r = call <4 x float> @llvm.amdgcn.image.sample.c.cl.v4f32.v4f32.v8i32(<4 x float> undef, <8 x i32> undef, <4 x i32> undef, i32 15, i1 0, i1 0, i1 0, i1 0, i1 0)
108 store <4 x float> %r, <4 x float> addrspace(1)* %out
109 ret void
110}
111
112; GCN-LABEL: {{^}}sample_c_d:
113; GCN: image_sample_c_d {{v\[[0-9]+:[0-9]+\]}}, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}} dmask:0xf
114define void @sample_c_d(<4 x float> addrspace(1)* %out) {
115main_body:
116 %r = call <4 x float> @llvm.amdgcn.image.sample.c.d.v4f32.v4f32.v8i32(<4 x float> undef, <8 x i32> undef, <4 x i32> undef, i32 15, i1 0, i1 0, i1 0, i1 0, i1 0)
117 store <4 x float> %r, <4 x float> addrspace(1)* %out
118 ret void
119}
120
121; GCN-LABEL: {{^}}sample_c_d_cl:
122; GCN: image_sample_c_d_cl {{v\[[0-9]+:[0-9]+\]}}, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}} dmask:0xf
123define void @sample_c_d_cl(<4 x float> addrspace(1)* %out) {
124main_body:
125 %r = call <4 x float> @llvm.amdgcn.image.sample.c.d.cl.v4f32.v4f32.v8i32(<4 x float> undef, <8 x i32> undef, <4 x i32> undef, i32 15, i1 0, i1 0, i1 0, i1 0, i1 0)
126 store <4 x float> %r, <4 x float> addrspace(1)* %out
127 ret void
128}
129
130; GCN-LABEL: {{^}}sample_c_l:
131; GCN: image_sample_c_l {{v\[[0-9]+:[0-9]+\]}}, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}} dmask:0xf
132define void @sample_c_l(<4 x float> addrspace(1)* %out) {
133main_body:
134 %r = call <4 x float> @llvm.amdgcn.image.sample.c.l.v4f32.v4f32.v8i32(<4 x float> undef, <8 x i32> undef, <4 x i32> undef, i32 15, i1 0, i1 0, i1 0, i1 0, i1 0)
135 store <4 x float> %r, <4 x float> addrspace(1)* %out
136 ret void
137}
138
139; GCN-LABEL: {{^}}sample_c_b:
140; GCN: image_sample_c_b {{v\[[0-9]+:[0-9]+\]}}, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}} dmask:0xf
141define void @sample_c_b(<4 x float> addrspace(1)* %out) {
142main_body:
143 %r = call <4 x float> @llvm.amdgcn.image.sample.c.b.v4f32.v4f32.v8i32(<4 x float> undef, <8 x i32> undef, <4 x i32> undef, i32 15, i1 0, i1 0, i1 0, i1 0, i1 0)
144 store <4 x float> %r, <4 x float> addrspace(1)* %out
145 ret void
146}
147
148; GCN-LABEL: {{^}}sample_c_b_cl:
149; GCN: image_sample_c_b_cl {{v\[[0-9]+:[0-9]+\]}}, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}} dmask:0xf
150define void @sample_c_b_cl(<4 x float> addrspace(1)* %out) {
151main_body:
152 %r = call <4 x float> @llvm.amdgcn.image.sample.c.b.cl.v4f32.v4f32.v8i32(<4 x float> undef, <8 x i32> undef, <4 x i32> undef, i32 15, i1 0, i1 0, i1 0, i1 0, i1 0)
153 store <4 x float> %r, <4 x float> addrspace(1)* %out
154 ret void
155}
156
157; GCN-LABEL: {{^}}sample_c_lz:
158; GCN: image_sample_c_lz {{v\[[0-9]+:[0-9]+\]}}, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}} dmask:0xf
159define void @sample_c_lz(<4 x float> addrspace(1)* %out) {
160main_body:
161 %r = call <4 x float> @llvm.amdgcn.image.sample.c.lz.v4f32.v4f32.v8i32(<4 x float> undef, <8 x i32> undef, <4 x i32> undef, i32 15, i1 0, i1 0, i1 0, i1 0, i1 0)
162 store <4 x float> %r, <4 x float> addrspace(1)* %out
163 ret void
164}
165
166; GCN-LABEL: {{^}}sample_c_cd:
167; GCN: image_sample_c_cd {{v\[[0-9]+:[0-9]+\]}}, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}} dmask:0xf
168define void @sample_c_cd(<4 x float> addrspace(1)* %out) {
169main_body:
170 %r = call <4 x float> @llvm.amdgcn.image.sample.c.cd.v4f32.v4f32.v8i32(<4 x float> undef, <8 x i32> undef, <4 x i32> undef, i32 15, i1 0, i1 0, i1 0, i1 0, i1 0)
171 store <4 x float> %r, <4 x float> addrspace(1)* %out
172 ret void
173}
174
175; GCN-LABEL: {{^}}sample_c_cd_cl:
176; GCN: image_sample_c_cd_cl {{v\[[0-9]+:[0-9]+\]}}, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}} dmask:0xf
177define void @sample_c_cd_cl(<4 x float> addrspace(1)* %out) {
178main_body:
179 %r = call <4 x float> @llvm.amdgcn.image.sample.c.cd.cl.v4f32.v4f32.v8i32(<4 x float> undef, <8 x i32> undef, <4 x i32> undef, i32 15, i1 0, i1 0, i1 0, i1 0, i1 0)
180 store <4 x float> %r, <4 x float> addrspace(1)* %out
181 ret void
182}
183
Changpeng Fang8236fe12016-11-14 18:33:18 +0000184; GCN-LABEL: {{^}}sample_f32:
185; GCN: image_sample {{v[0-9]+}}, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}} dmask:0x1
186define void @sample_f32(float addrspace(1)* %out) {
187main_body:
188 %r = call float @llvm.amdgcn.image.sample.f32.v2f32.v8i32(<2 x float> undef, <8 x i32> undef, <4 x i32> undef, i32 1, i1 0, i1 0, i1 0, i1 0, i1 0)
189 store float %r, float addrspace(1)* %out
190 ret void
191}
192
193; GCN-LABEL: {{^}}sample_v2f32:
194; GCN: image_sample {{v\[[0-9]+:[0-9]+\]}}, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}} dmask:0x3
195define void @sample_v2f32(<2 x float> addrspace(1)* %out) {
196main_body:
197 %r = call <2 x float> @llvm.amdgcn.image.sample.v2f32.v4f32.v8i32(<4 x float> undef, <8 x i32> undef, <4 x i32> undef, i32 3, i1 0, i1 0, i1 0, i1 0, i1 0)
198 store <2 x float> %r, <2 x float> addrspace(1)* %out
199 ret void
200}
Changpeng Fangfb9c3812016-08-10 21:15:30 +0000201
Matt Arsenault93e65ea2017-02-22 21:16:41 +0000202; GCN-LABEL: {{^}}adjust_writemask_sample_0:
203; GCN: image_sample v{{[0-9]+}}, v{{\[[0-9]+:[0-9]+\]}}, s{{\[[0-9]+:[0-9]+\]}}, s{{\[[0-9]+:[0-9]+\]}} dmask:0x1{{$}}
204define void @adjust_writemask_sample_0(float addrspace(1)* %out) {
205main_body:
206 %r = call <4 x float> @llvm.amdgcn.image.sample.v4f32.v4f32.v8i32(<4 x float> undef, <8 x i32> undef, <4 x i32> undef, i32 15, i1 0, i1 0, i1 0, i1 0, i1 0)
207 %elt0 = extractelement <4 x float> %r, i32 0
208 store float %elt0, float addrspace(1)* %out
209 ret void
210}
211
212; GCN-LABEL: {{^}}adjust_writemask_sample_01:
213; GCN: image_sample v{{\[[0-9]+:[0-9]+\]}}, v{{\[[0-9]+:[0-9]+\]}}, s{{\[[0-9]+:[0-9]+\]}}, s{{\[[0-9]+:[0-9]+\]}} dmask:0x3{{$}}
214define void @adjust_writemask_sample_01(float addrspace(1)* %out) {
215main_body:
216 %r = call <4 x float> @llvm.amdgcn.image.sample.v4f32.v4f32.v8i32(<4 x float> undef, <8 x i32> undef, <4 x i32> undef, i32 15, i1 0, i1 0, i1 0, i1 0, i1 0)
217 %elt0 = extractelement <4 x float> %r, i32 0
218 %elt1 = extractelement <4 x float> %r, i32 1
219 store volatile float %elt0, float addrspace(1)* %out
220 store volatile float %elt1, float addrspace(1)* %out
221 ret void
222}
223
224; GCN-LABEL: {{^}}adjust_writemask_sample_012:
225; GCN: image_sample v{{\[[0-9]+:[0-9]+\]}}, v{{\[[0-9]+:[0-9]+\]}}, s{{\[[0-9]+:[0-9]+\]}}, s{{\[[0-9]+:[0-9]+\]}} dmask:0x7{{$}}
226define void @adjust_writemask_sample_012(float addrspace(1)* %out) {
227main_body:
228 %r = call <4 x float> @llvm.amdgcn.image.sample.v4f32.v4f32.v8i32(<4 x float> undef, <8 x i32> undef, <4 x i32> undef, i32 15, i1 0, i1 0, i1 0, i1 0, i1 0)
229 %elt0 = extractelement <4 x float> %r, i32 0
230 %elt1 = extractelement <4 x float> %r, i32 1
231 %elt2 = extractelement <4 x float> %r, i32 2
232 store volatile float %elt0, float addrspace(1)* %out
233 store volatile float %elt1, float addrspace(1)* %out
234 store volatile float %elt2, float addrspace(1)* %out
235 ret void
236}
237
238; GCN-LABEL: {{^}}adjust_writemask_sample_12:
239; GCN: image_sample v{{\[[0-9]+:[0-9]+\]}}, v{{\[[0-9]+:[0-9]+\]}}, s{{\[[0-9]+:[0-9]+\]}}, s{{\[[0-9]+:[0-9]+\]}} dmask:0x6{{$}}
240define void @adjust_writemask_sample_12(float addrspace(1)* %out) {
241main_body:
242 %r = call <4 x float> @llvm.amdgcn.image.sample.v4f32.v4f32.v8i32(<4 x float> undef, <8 x i32> undef, <4 x i32> undef, i32 15, i1 0, i1 0, i1 0, i1 0, i1 0)
243 %elt1 = extractelement <4 x float> %r, i32 1
244 %elt2 = extractelement <4 x float> %r, i32 2
245 store volatile float %elt1, float addrspace(1)* %out
246 store volatile float %elt2, float addrspace(1)* %out
247 ret void
248}
249
250; GCN-LABEL: {{^}}adjust_writemask_sample_03:
251; GCN: image_sample v{{\[[0-9]+:[0-9]+\]}}, v{{\[[0-9]+:[0-9]+\]}}, s{{\[[0-9]+:[0-9]+\]}}, s{{\[[0-9]+:[0-9]+\]}} dmask:0x9{{$}}
252define void @adjust_writemask_sample_03(float addrspace(1)* %out) {
253main_body:
254 %r = call <4 x float> @llvm.amdgcn.image.sample.v4f32.v4f32.v8i32(<4 x float> undef, <8 x i32> undef, <4 x i32> undef, i32 15, i1 0, i1 0, i1 0, i1 0, i1 0)
255 %elt0 = extractelement <4 x float> %r, i32 0
256 %elt3 = extractelement <4 x float> %r, i32 3
257 store volatile float %elt0, float addrspace(1)* %out
258 store volatile float %elt3, float addrspace(1)* %out
259 ret void
260}
261
262; GCN-LABEL: {{^}}adjust_writemask_sample_13:
263; GCN: image_sample v{{\[[0-9]+:[0-9]+\]}}, v{{\[[0-9]+:[0-9]+\]}}, s{{\[[0-9]+:[0-9]+\]}}, s{{\[[0-9]+:[0-9]+\]}} dmask:0xa{{$}}
264define void @adjust_writemask_sample_13(float addrspace(1)* %out) {
265main_body:
266 %r = call <4 x float> @llvm.amdgcn.image.sample.v4f32.v4f32.v8i32(<4 x float> undef, <8 x i32> undef, <4 x i32> undef, i32 15, i1 0, i1 0, i1 0, i1 0, i1 0)
267 %elt1 = extractelement <4 x float> %r, i32 1
268 %elt3 = extractelement <4 x float> %r, i32 3
269 store volatile float %elt1, float addrspace(1)* %out
270 store volatile float %elt3, float addrspace(1)* %out
271 ret void
272}
273
274; GCN-LABEL: {{^}}adjust_writemask_sample_123:
275; GCN: image_sample v{{\[[0-9]+:[0-9]+\]}}, v{{\[[0-9]+:[0-9]+\]}}, s{{\[[0-9]+:[0-9]+\]}}, s{{\[[0-9]+:[0-9]+\]}} dmask:0xe{{$}}
276define void @adjust_writemask_sample_123(float addrspace(1)* %out) {
277main_body:
278 %r = call <4 x float> @llvm.amdgcn.image.sample.v4f32.v4f32.v8i32(<4 x float> undef, <8 x i32> undef, <4 x i32> undef, i32 15, i1 0, i1 0, i1 0, i1 0, i1 0)
279 %elt1 = extractelement <4 x float> %r, i32 1
280 %elt2 = extractelement <4 x float> %r, i32 2
281 %elt3 = extractelement <4 x float> %r, i32 3
282 store volatile float %elt1, float addrspace(1)* %out
283 store volatile float %elt2, float addrspace(1)* %out
284 store volatile float %elt3, float addrspace(1)* %out
285 ret void
286}
287
Changpeng Fangfb9c3812016-08-10 21:15:30 +0000288declare <4 x float> @llvm.amdgcn.image.sample.v4f32.v4f32.v8i32(<4 x float>, <8 x i32>, <4 x i32>, i32, i1, i1, i1, i1, i1) #0
289declare <4 x float> @llvm.amdgcn.image.sample.cl.v4f32.v4f32.v8i32(<4 x float>, <8 x i32>, <4 x i32>, i32, i1, i1, i1, i1, i1) #0
290declare <4 x float> @llvm.amdgcn.image.sample.d.v4f32.v4f32.v8i32(<4 x float>, <8 x i32>, <4 x i32>, i32, i1, i1, i1, i1, i1) #0
291declare <4 x float> @llvm.amdgcn.image.sample.d.cl.v4f32.v4f32.v8i32(<4 x float>, <8 x i32>, <4 x i32>, i32, i1, i1, i1, i1, i1) #0
292declare <4 x float> @llvm.amdgcn.image.sample.l.v4f32.v4f32.v8i32(<4 x float>, <8 x i32>, <4 x i32>, i32, i1, i1, i1, i1, i1) #0
293declare <4 x float> @llvm.amdgcn.image.sample.b.v4f32.v4f32.v8i32(<4 x float>, <8 x i32>, <4 x i32>, i32, i1, i1, i1, i1, i1) #0
294declare <4 x float> @llvm.amdgcn.image.sample.b.cl.v4f32.v4f32.v8i32(<4 x float>, <8 x i32>, <4 x i32>, i32, i1, i1, i1, i1, i1) #0
295declare <4 x float> @llvm.amdgcn.image.sample.lz.v4f32.v4f32.v8i32(<4 x float>, <8 x i32>, <4 x i32>, i32, i1, i1, i1, i1, i1) #0
296declare <4 x float> @llvm.amdgcn.image.sample.cd.v4f32.v4f32.v8i32(<4 x float>, <8 x i32>, <4 x i32>, i32, i1, i1, i1, i1, i1) #0
297declare <4 x float> @llvm.amdgcn.image.sample.cd.cl.v4f32.v4f32.v8i32(<4 x float>, <8 x i32>, <4 x i32>, i32, i1, i1, i1, i1, i1) #0
298
299declare <4 x float> @llvm.amdgcn.image.sample.c.v4f32.v4f32.v8i32(<4 x float>, <8 x i32>, <4 x i32>, i32, i1, i1, i1, i1, i1) #0
300declare <4 x float> @llvm.amdgcn.image.sample.c.cl.v4f32.v4f32.v8i32(<4 x float>, <8 x i32>, <4 x i32>, i32, i1, i1, i1, i1, i1) #0
301declare <4 x float> @llvm.amdgcn.image.sample.c.d.v4f32.v4f32.v8i32(<4 x float>, <8 x i32>, <4 x i32>, i32, i1, i1, i1, i1, i1) #0
302declare <4 x float> @llvm.amdgcn.image.sample.c.d.cl.v4f32.v4f32.v8i32(<4 x float>, <8 x i32>, <4 x i32>, i32, i1, i1, i1, i1, i1) #0
303declare <4 x float> @llvm.amdgcn.image.sample.c.l.v4f32.v4f32.v8i32(<4 x float>, <8 x i32>, <4 x i32>, i32, i1, i1, i1, i1, i1) #0
304declare <4 x float> @llvm.amdgcn.image.sample.c.b.v4f32.v4f32.v8i32(<4 x float>, <8 x i32>, <4 x i32>, i32, i1, i1, i1, i1, i1) #0
305declare <4 x float> @llvm.amdgcn.image.sample.c.b.cl.v4f32.v4f32.v8i32(<4 x float>, <8 x i32>, <4 x i32>, i32, i1, i1, i1, i1, i1) #0
306declare <4 x float> @llvm.amdgcn.image.sample.c.lz.v4f32.v4f32.v8i32(<4 x float>, <8 x i32>, <4 x i32>, i32, i1, i1, i1, i1, i1) #0
307declare <4 x float> @llvm.amdgcn.image.sample.c.cd.v4f32.v4f32.v8i32(<4 x float>, <8 x i32>, <4 x i32>, i32, i1, i1, i1, i1, i1) #0
308declare <4 x float> @llvm.amdgcn.image.sample.c.cd.cl.v4f32.v4f32.v8i32(<4 x float>, <8 x i32>, <4 x i32>, i32, i1, i1, i1, i1, i1) #0
309
Changpeng Fang8236fe12016-11-14 18:33:18 +0000310declare float @llvm.amdgcn.image.sample.f32.v2f32.v8i32(<2 x float>, <8 x i32>, <4 x i32>, i32, i1, i1, i1, i1, i1) #0
311declare <2 x float> @llvm.amdgcn.image.sample.v2f32.v4f32.v8i32(<4 x float>, <8 x i32>, <4 x i32>, i32, i1, i1, i1, i1, i1) #0
Changpeng Fangfb9c3812016-08-10 21:15:30 +0000312
313attributes #0 = { nounwind readnone }