[PowerPC] Recommit r314244 with refactoring and off by default
[llvm-core.git] / test / CodeGen / AMDGPU / llvm.amdgcn.image.sample.o.ll
blob42d7bc0e7778efa1ecbfdc48c2da938708bd9a76
1 ; 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
4 ; GCN-LABEL: {{^}}sample:
5 ; GCN: 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
6 define amdgpu_kernel void @sample(<4 x float> addrspace(1)* %out) {
7 main_body:
8   %r = call <4 x float> @llvm.amdgcn.image.sample.o.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
13 ; GCN-LABEL: {{^}}sample_cl:
14 ; GCN: 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
15 define amdgpu_kernel void @sample_cl(<4 x float> addrspace(1)* %out) {
16 main_body:
17   %r = call <4 x float> @llvm.amdgcn.image.sample.cl.o.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
22 ; GCN-LABEL: {{^}}sample_d:
23 ; GCN: 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
24 define amdgpu_kernel void @sample_d(<4 x float> addrspace(1)* %out) {
25 main_body:
26   %r = call <4 x float> @llvm.amdgcn.image.sample.d.o.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
31 ; GCN-LABEL: {{^}}sample_d_cl:
32 ; GCN: 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
33 define amdgpu_kernel void @sample_d_cl(<4 x float> addrspace(1)* %out) {
34 main_body:
35   %r = call <4 x float> @llvm.amdgcn.image.sample.d.cl.o.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
40 ; GCN-LABEL: {{^}}sample_l:
41 ; GCN: 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
42 define amdgpu_kernel void @sample_l(<4 x float> addrspace(1)* %out) {
43 main_body:
44   %r = call <4 x float> @llvm.amdgcn.image.sample.l.o.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
49 ; GCN-LABEL: {{^}}sample_b:
50 ; GCN: 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
51 define amdgpu_kernel void @sample_b(<4 x float> addrspace(1)* %out) {
52 main_body:
53   %r = call <4 x float> @llvm.amdgcn.image.sample.b.o.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
58 ; GCN-LABEL: {{^}}sample_b_cl:
59 ; GCN: 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
60 define amdgpu_kernel void @sample_b_cl(<4 x float> addrspace(1)* %out) {
61 main_body:
62   %r = call <4 x float> @llvm.amdgcn.image.sample.b.cl.o.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
67 ; GCN-LABEL: {{^}}sample_lz:
68 ; GCN: 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
69 define amdgpu_kernel void @sample_lz(<4 x float> addrspace(1)* %out) {
70 main_body:
71   %r = call <4 x float> @llvm.amdgcn.image.sample.lz.o.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
76 ; GCN-LABEL: {{^}}sample_cd:
77 ; GCN: 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
78 define amdgpu_kernel void @sample_cd(<4 x float> addrspace(1)* %out) {
79 main_body:
80   %r = call <4 x float> @llvm.amdgcn.image.sample.cd.o.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
85 ; GCN-LABEL: {{^}}sample_cd_cl:
86 ; GCN: 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
87 define amdgpu_kernel void @sample_cd_cl(<4 x float> addrspace(1)* %out) {
88 main_body:
89   %r = call <4 x float> @llvm.amdgcn.image.sample.cd.cl.o.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
94 ; GCN-LABEL: {{^}}sample_c:
95 ; GCN: 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
96 define amdgpu_kernel void @sample_c(<4 x float> addrspace(1)* %out) {
97 main_body:
98   %r = call <4 x float> @llvm.amdgcn.image.sample.c.o.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
103 ; GCN-LABEL: {{^}}sample_c_cl:
104 ; GCN: 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
105 define amdgpu_kernel void @sample_c_cl(<4 x float> addrspace(1)* %out) {
106 main_body:
107   %r = call <4 x float> @llvm.amdgcn.image.sample.c.cl.o.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
112 ; GCN-LABEL: {{^}}sample_c_d:
113 ; GCN: 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
114 define amdgpu_kernel void @sample_c_d(<4 x float> addrspace(1)* %out) {
115 main_body:
116   %r = call <4 x float> @llvm.amdgcn.image.sample.c.d.o.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
121 ; GCN-LABEL: {{^}}sample_c_d_cl:
122 ; GCN: 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
123 define amdgpu_kernel void @sample_c_d_cl(<4 x float> addrspace(1)* %out) {
124 main_body:
125   %r = call <4 x float> @llvm.amdgcn.image.sample.c.d.cl.o.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
130 ; GCN-LABEL: {{^}}sample_c_l:
131 ; GCN: 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
132 define amdgpu_kernel void @sample_c_l(<4 x float> addrspace(1)* %out) {
133 main_body:
134   %r = call <4 x float> @llvm.amdgcn.image.sample.c.l.o.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
139 ; GCN-LABEL: {{^}}sample_c_b:
140 ; GCN: 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
141 define amdgpu_kernel void @sample_c_b(<4 x float> addrspace(1)* %out) {
142 main_body:
143   %r = call <4 x float> @llvm.amdgcn.image.sample.c.b.o.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
148 ; GCN-LABEL: {{^}}sample_c_b_cl:
149 ; GCN: 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
150 define amdgpu_kernel void @sample_c_b_cl(<4 x float> addrspace(1)* %out) {
151 main_body:
152   %r = call <4 x float> @llvm.amdgcn.image.sample.c.b.cl.o.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
157 ; GCN-LABEL: {{^}}sample_c_lz:
158 ; GCN: 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
159 define amdgpu_kernel void @sample_c_lz(<4 x float> addrspace(1)* %out) {
160 main_body:
161   %r = call <4 x float> @llvm.amdgcn.image.sample.c.lz.o.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
166 ; GCN-LABEL: {{^}}sample_c_cd:
167 ; GCN: 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
168 define amdgpu_kernel void @sample_c_cd(<4 x float> addrspace(1)* %out) {
169 main_body:
170   %r = call <4 x float> @llvm.amdgcn.image.sample.c.cd.o.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
175 ; GCN-LABEL: {{^}}sample_c_cd_cl:
176 ; GCN: 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
177 define amdgpu_kernel void @sample_c_cd_cl(<4 x float> addrspace(1)* %out) {
178 main_body:
179   %r = call <4 x float> @llvm.amdgcn.image.sample.c.cd.cl.o.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
184 ; GCN-LABEL: {{^}}adjust_writemask_sample_o_none_enabled:
185 ; GCN-NOT: image
186 ; GCN-NOT: store
187 define amdgpu_kernel void @adjust_writemask_sample_o_none_enabled(float addrspace(1)* %out) {
188 main_body:
189   %r = call <4 x float> @llvm.amdgcn.image.sample.o.v4f32.v4f32.v8i32(<4 x float> undef, <8 x i32> undef, <4 x i32> undef, i32 0, i1 false, i1 false, i1 false, i1 false, i1 false)
190   %elt0 = extractelement <4 x float> %r, i32 0
191   store float %elt0, float addrspace(1)* %out
192   ret void
195 ; GCN-LABEL: {{^}}adjust_writemask_sample_cl_o_none_enabled:
196 ; GCN-NOT: image
197 ; GCN-NOT: store
198 define amdgpu_kernel void @adjust_writemask_sample_cl_o_none_enabled(float addrspace(1)* %out) {
199 main_body:
200   %r = call <4 x float> @llvm.amdgcn.image.sample.cl.o.v4f32.v4f32.v8i32(<4 x float> undef, <8 x i32> undef, <4 x i32> undef, i32 0, i1 false, i1 false, i1 false, i1 false, i1 false)
201   %elt0 = extractelement <4 x float> %r, i32 0
202   store float %elt0, float addrspace(1)* %out
203   ret void
206 ; GCN-LABEL: {{^}}adjust_writemask_sample_d_o_none_enabled:
207 ; GCN-NOT: image
208 ; GCN-NOT: store
209 define amdgpu_kernel void @adjust_writemask_sample_d_o_none_enabled(float addrspace(1)* %out) {
210 main_body:
211   %r = call <4 x float> @llvm.amdgcn.image.sample.d.o.v4f32.v4f32.v8i32(<4 x float> undef, <8 x i32> undef, <4 x i32> undef, i32 0, i1 false, i1 false, i1 false, i1 false, i1 false)
212   %elt0 = extractelement <4 x float> %r, i32 0
213   store float %elt0, float addrspace(1)* %out
214   ret void
217 ; GCN-LABEL: {{^}}adjust_writemask_sample_d_cl_o_none_enabled:
218 ; GCN-NOT: image
219 ; GCN-NOT: store
220 define amdgpu_kernel void @adjust_writemask_sample_d_cl_o_none_enabled(float addrspace(1)* %out) {
221 main_body:
222   %r = call <4 x float> @llvm.amdgcn.image.sample.d.cl.o.v4f32.v4f32.v8i32(<4 x float> undef, <8 x i32> undef, <4 x i32> undef, i32 0, i1 false, i1 false, i1 false, i1 false, i1 false)
223   %elt0 = extractelement <4 x float> %r, i32 0
224   store float %elt0, float addrspace(1)* %out
225   ret void
228 ; GCN-LABEL: {{^}}adjust_writemask_sample_l_o_none_enabled:
229 ; GCN-NOT: image
230 ; GCN-NOT: store
231 define amdgpu_kernel void @adjust_writemask_sample_l_o_none_enabled(float addrspace(1)* %out) {
232 main_body:
233   %r = call <4 x float> @llvm.amdgcn.image.sample.l.o.v4f32.v4f32.v8i32(<4 x float> undef, <8 x i32> undef, <4 x i32> undef, i32 0, i1 false, i1 false, i1 false, i1 false, i1 false)
234   %elt0 = extractelement <4 x float> %r, i32 0
235   store float %elt0, float addrspace(1)* %out
236   ret void
239 ; GCN-LABEL: {{^}}adjust_writemask_sample_b_o_none_enabled:
240 ; GCN-NOT: image
241 ; GCN-NOT: store
242 define amdgpu_kernel void @adjust_writemask_sample_b_o_none_enabled(float addrspace(1)* %out) {
243 main_body:
244   %r = call <4 x float> @llvm.amdgcn.image.sample.b.o.v4f32.v4f32.v8i32(<4 x float> undef, <8 x i32> undef, <4 x i32> undef, i32 0, i1 false, i1 false, i1 false, i1 false, i1 false)
245   %elt0 = extractelement <4 x float> %r, i32 0
246   store float %elt0, float addrspace(1)* %out
247   ret void
250 ; GCN-LABEL: {{^}}adjust_writemask_sample_b_cl_o_none_enabled:
251 ; GCN-NOT: image
252 ; GCN-NOT: store
253 define amdgpu_kernel void @adjust_writemask_sample_b_cl_o_none_enabled(float addrspace(1)* %out) {
254 main_body:
255   %r = call <4 x float> @llvm.amdgcn.image.sample.b.cl.o.v4f32.v4f32.v8i32(<4 x float> undef, <8 x i32> undef, <4 x i32> undef, i32 0, i1 false, i1 false, i1 false, i1 false, i1 false)
256   %elt0 = extractelement <4 x float> %r, i32 0
257   store float %elt0, float addrspace(1)* %out
258   ret void
261 ; GCN-LABEL: {{^}}adjust_writemask_sample_lz_o_none_enabled:
262 ; GCN-NOT: image
263 ; GCN-NOT: store
264 define amdgpu_kernel void @adjust_writemask_sample_lz_o_none_enabled(float addrspace(1)* %out) {
265 main_body:
266   %r = call <4 x float> @llvm.amdgcn.image.sample.lz.o.v4f32.v4f32.v8i32(<4 x float> undef, <8 x i32> undef, <4 x i32> undef, i32 0, i1 false, i1 false, i1 false, i1 false, i1 false)
267   %elt0 = extractelement <4 x float> %r, i32 0
268   store float %elt0, float addrspace(1)* %out
269   ret void
272 ; GCN-LABEL: {{^}}adjust_writemask_sample_cd_o_none_enabled:
273 ; GCN-NOT: image
274 ; GCN-NOT: store
275 define amdgpu_kernel void @adjust_writemask_sample_cd_o_none_enabled(float addrspace(1)* %out) {
276 main_body:
277   %r = call <4 x float> @llvm.amdgcn.image.sample.cd.o.v4f32.v4f32.v8i32(<4 x float> undef, <8 x i32> undef, <4 x i32> undef, i32 0, i1 false, i1 false, i1 false, i1 false, i1 false)
278   %elt0 = extractelement <4 x float> %r, i32 0
279   store float %elt0, float addrspace(1)* %out
280   ret void
283 ; GCN-LABEL: {{^}}adjust_writemask_sample_cd_cl_o_none_enabled:
284 ; GCN-NOT: image
285 ; GCN-NOT: store
286 define amdgpu_kernel void @adjust_writemask_sample_cd_cl_o_none_enabled(float addrspace(1)* %out) {
287 main_body:
288   %r = call <4 x float> @llvm.amdgcn.image.sample.cd.cl.o.v4f32.v4f32.v8i32(<4 x float> undef, <8 x i32> undef, <4 x i32> undef, i32 0, i1 false, i1 false, i1 false, i1 false, i1 false)
289   %elt0 = extractelement <4 x float> %r, i32 0
290   store float %elt0, float addrspace(1)* %out
291   ret void
294 ; GCN-LABEL: {{^}}adjust_writemask_sample_c_o_none_enabled:
295 ; GCN-NOT: image
296 ; GCN-NOT: store
297 define amdgpu_kernel void @adjust_writemask_sample_c_o_none_enabled(float addrspace(1)* %out) {
298 main_body:
299   %r = call <4 x float> @llvm.amdgcn.image.sample.c.o.v4f32.v4f32.v8i32(<4 x float> undef, <8 x i32> undef, <4 x i32> undef, i32 0, i1 false, i1 false, i1 false, i1 false, i1 false)
300   %elt0 = extractelement <4 x float> %r, i32 0
301   store float %elt0, float addrspace(1)* %out
302   ret void
305 ; GCN-LABEL: {{^}}adjust_writemask_sample_c_cl_o_none_enabled:
306 ; GCN-NOT: image
307 ; GCN-NOT: store
308 define amdgpu_kernel void @adjust_writemask_sample_c_cl_o_none_enabled(float addrspace(1)* %out) {
309 main_body:
310   %r = call <4 x float> @llvm.amdgcn.image.sample.c.cl.o.v4f32.v4f32.v8i32(<4 x float> undef, <8 x i32> undef, <4 x i32> undef, i32 0, i1 false, i1 false, i1 false, i1 false, i1 false)
311   %elt0 = extractelement <4 x float> %r, i32 0
312   store float %elt0, float addrspace(1)* %out
313   ret void
316 ; GCN-LABEL: {{^}}adjust_writemask_sample_c_d_o_none_enabled:
317 ; GCN-NOT: image
318 ; GCN-NOT: store
319 define amdgpu_kernel void @adjust_writemask_sample_c_d_o_none_enabled(float addrspace(1)* %out) {
320 main_body:
321   %r = call <4 x float> @llvm.amdgcn.image.sample.c.d.o.v4f32.v4f32.v8i32(<4 x float> undef, <8 x i32> undef, <4 x i32> undef, i32 0, i1 false, i1 false, i1 false, i1 false, i1 false)
322   %elt0 = extractelement <4 x float> %r, i32 0
323   store float %elt0, float addrspace(1)* %out
324   ret void
327 ; GCN-LABEL: {{^}}adjust_writemask_sample_c_d_cl_o_none_enabled:
328 ; GCN-NOT: image
329 ; GCN-NOT: store
330 define amdgpu_kernel void @adjust_writemask_sample_c_d_cl_o_none_enabled(float addrspace(1)* %out) {
331 main_body:
332   %r = call <4 x float> @llvm.amdgcn.image.sample.c.d.cl.o.v4f32.v4f32.v8i32(<4 x float> undef, <8 x i32> undef, <4 x i32> undef, i32 0, i1 false, i1 false, i1 false, i1 false, i1 false)
333   %elt0 = extractelement <4 x float> %r, i32 0
334   store float %elt0, float addrspace(1)* %out
335   ret void
338 ; GCN-LABEL: {{^}}adjust_writemask_sample_c_l_o_none_enabled:
339 ; GCN-NOT: image
340 ; GCN-NOT: store
341 define amdgpu_kernel void @adjust_writemask_sample_c_l_o_none_enabled(float addrspace(1)* %out) {
342 main_body:
343   %r = call <4 x float> @llvm.amdgcn.image.sample.c.l.o.v4f32.v4f32.v8i32(<4 x float> undef, <8 x i32> undef, <4 x i32> undef, i32 0, i1 false, i1 false, i1 false, i1 false, i1 false)
344   %elt0 = extractelement <4 x float> %r, i32 0
345   store float %elt0, float addrspace(1)* %out
346   ret void
349 ; GCN-LABEL: {{^}}adjust_writemask_sample_c_b_o_none_enabled:
350 ; GCN-NOT: image
351 ; GCN-NOT: store
352 define amdgpu_kernel void @adjust_writemask_sample_c_b_o_none_enabled(float addrspace(1)* %out) {
353 main_body:
354   %r = call <4 x float> @llvm.amdgcn.image.sample.c.b.o.v4f32.v4f32.v8i32(<4 x float> undef, <8 x i32> undef, <4 x i32> undef, i32 0, i1 false, i1 false, i1 false, i1 false, i1 false)
355   %elt0 = extractelement <4 x float> %r, i32 0
356   store float %elt0, float addrspace(1)* %out
357   ret void
360 ; GCN-LABEL: {{^}}adjust_writemask_sample_c_b_cl_o_none_enabled:
361 ; GCN-NOT: image
362 ; GCN-NOT: store
363 define amdgpu_kernel void @adjust_writemask_sample_c_b_cl_o_none_enabled(float addrspace(1)* %out) {
364 main_body:
365   %r = call <4 x float> @llvm.amdgcn.image.sample.c.b.cl.o.v4f32.v4f32.v8i32(<4 x float> undef, <8 x i32> undef, <4 x i32> undef, i32 0, i1 false, i1 false, i1 false, i1 false, i1 false)
366   %elt0 = extractelement <4 x float> %r, i32 0
367   store float %elt0, float addrspace(1)* %out
368   ret void
371 ; GCN-LABEL: {{^}}adjust_writemask_sample_c_lz_o_none_enabled:
372 ; GCN-NOT: image
373 ; GCN-NOT: store
374 define amdgpu_kernel void @adjust_writemask_sample_c_lz_o_none_enabled(float addrspace(1)* %out) {
375 main_body:
376   %r = call <4 x float> @llvm.amdgcn.image.sample.c.lz.o.v4f32.v4f32.v8i32(<4 x float> undef, <8 x i32> undef, <4 x i32> undef, i32 0, i1 false, i1 false, i1 false, i1 false, i1 false)
377   %elt0 = extractelement <4 x float> %r, i32 0
378   store float %elt0, float addrspace(1)* %out
379   ret void
382 ; GCN-LABEL: {{^}}adjust_writemask_sample_c_cd_o_none_enabled:
383 ; GCN-NOT: image
384 ; GCN-NOT: store
385 define amdgpu_kernel void @adjust_writemask_sample_c_cd_o_none_enabled(float addrspace(1)* %out) {
386 main_body:
387   %r = call <4 x float> @llvm.amdgcn.image.sample.c.cd.o.v4f32.v4f32.v8i32(<4 x float> undef, <8 x i32> undef, <4 x i32> undef, i32 0, i1 false, i1 false, i1 false, i1 false, i1 false)
388   %elt0 = extractelement <4 x float> %r, i32 0
389   store float %elt0, float addrspace(1)* %out
390   ret void
393 ; GCN-LABEL: {{^}}adjust_writemask_sample_c_cd_cl_o_none_enabled:
394 ; GCN-NOT: image
395 ; GCN-NOT: store
396 define amdgpu_kernel void @adjust_writemask_sample_c_cd_cl_o_none_enabled(float addrspace(1)* %out) {
397 main_body:
398   %r = call <4 x float> @llvm.amdgcn.image.sample.c.cd.cl.o.v4f32.v4f32.v8i32(<4 x float> undef, <8 x i32> undef, <4 x i32> undef, i32 0, i1 false, i1 false, i1 false, i1 false, i1 false)
399   %elt0 = extractelement <4 x float> %r, i32 0
400   store float %elt0, float addrspace(1)* %out
401   ret void
404 declare <4 x float> @llvm.amdgcn.image.sample.o.v4f32.v4f32.v8i32(<4 x float>, <8 x i32>, <4 x i32>, i32, i1, i1, i1, i1, i1) #0
405 declare <4 x float> @llvm.amdgcn.image.sample.cl.o.v4f32.v4f32.v8i32(<4 x float>, <8 x i32>, <4 x i32>, i32, i1, i1, i1, i1, i1) #0
406 declare <4 x float> @llvm.amdgcn.image.sample.d.o.v4f32.v4f32.v8i32(<4 x float>, <8 x i32>, <4 x i32>, i32, i1, i1, i1, i1, i1) #0
407 declare <4 x float> @llvm.amdgcn.image.sample.d.cl.o.v4f32.v4f32.v8i32(<4 x float>, <8 x i32>, <4 x i32>, i32, i1, i1, i1, i1, i1) #0
408 declare <4 x float> @llvm.amdgcn.image.sample.l.o.v4f32.v4f32.v8i32(<4 x float>, <8 x i32>, <4 x i32>, i32, i1, i1, i1, i1, i1) #0
409 declare <4 x float> @llvm.amdgcn.image.sample.b.o.v4f32.v4f32.v8i32(<4 x float>, <8 x i32>, <4 x i32>, i32, i1, i1, i1, i1, i1) #0
410 declare <4 x float> @llvm.amdgcn.image.sample.b.cl.o.v4f32.v4f32.v8i32(<4 x float>, <8 x i32>, <4 x i32>, i32, i1, i1, i1, i1, i1) #0
411 declare <4 x float> @llvm.amdgcn.image.sample.lz.o.v4f32.v4f32.v8i32(<4 x float>, <8 x i32>, <4 x i32>, i32, i1, i1, i1, i1, i1) #0
412 declare <4 x float> @llvm.amdgcn.image.sample.cd.o.v4f32.v4f32.v8i32(<4 x float>, <8 x i32>, <4 x i32>, i32, i1, i1, i1, i1, i1) #0
413 declare <4 x float> @llvm.amdgcn.image.sample.cd.cl.o.v4f32.v4f32.v8i32(<4 x float>, <8 x i32>, <4 x i32>, i32, i1, i1, i1, i1, i1) #0
415 declare <4 x float> @llvm.amdgcn.image.sample.c.o.v4f32.v4f32.v8i32(<4 x float>, <8 x i32>, <4 x i32>, i32, i1, i1, i1, i1, i1) #0
416 declare <4 x float> @llvm.amdgcn.image.sample.c.cl.o.v4f32.v4f32.v8i32(<4 x float>, <8 x i32>, <4 x i32>, i32, i1, i1, i1, i1, i1) #0
417 declare <4 x float> @llvm.amdgcn.image.sample.c.d.o.v4f32.v4f32.v8i32(<4 x float>, <8 x i32>, <4 x i32>, i32, i1, i1, i1, i1, i1) #0
418 declare <4 x float> @llvm.amdgcn.image.sample.c.d.cl.o.v4f32.v4f32.v8i32(<4 x float>, <8 x i32>, <4 x i32>, i32, i1, i1, i1, i1, i1) #0
419 declare <4 x float> @llvm.amdgcn.image.sample.c.l.o.v4f32.v4f32.v8i32(<4 x float>, <8 x i32>, <4 x i32>, i32, i1, i1, i1, i1, i1) #0
420 declare <4 x float> @llvm.amdgcn.image.sample.c.b.o.v4f32.v4f32.v8i32(<4 x float>, <8 x i32>, <4 x i32>, i32, i1, i1, i1, i1, i1) #0
421 declare <4 x float> @llvm.amdgcn.image.sample.c.b.cl.o.v4f32.v4f32.v8i32(<4 x float>, <8 x i32>, <4 x i32>, i32, i1, i1, i1, i1, i1) #0
422 declare <4 x float> @llvm.amdgcn.image.sample.c.lz.o.v4f32.v4f32.v8i32(<4 x float>, <8 x i32>, <4 x i32>, i32, i1, i1, i1, i1, i1) #0
423 declare <4 x float> @llvm.amdgcn.image.sample.c.cd.o.v4f32.v4f32.v8i32(<4 x float>, <8 x i32>, <4 x i32>, i32, i1, i1, i1, i1, i1) #0
424 declare <4 x float> @llvm.amdgcn.image.sample.c.cd.cl.o.v4f32.v4f32.v8i32(<4 x float>, <8 x i32>, <4 x i32>, i32, i1, i1, i1, i1, i1) #0
427 attributes #0 = { nounwind readnone }