blob: 14dff7eb5feaf2f9183ef91bf41c13ba042bae21 [file] [log] [blame]
Marek Olsakd8ecaee2014-07-11 17:11:46 +00001;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]+\]}}
5define void @sample() #0 {
6main_body:
Marek Olsakeac50622014-07-11 17:11:52 +00007 %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)
Marek Olsakd8ecaee2014-07-11 17:11:46 +00008 %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]+\]}}
18define void @sample_cl() #0 {
19main_body:
Marek Olsakeac50622014-07-11 17:11:52 +000020 %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)
Marek Olsakd8ecaee2014-07-11 17:11:46 +000021 %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]+\]}}
31define void @sample_d() #0 {
32main_body:
Marek Olsakeac50622014-07-11 17:11:52 +000033 %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)
Marek Olsakd8ecaee2014-07-11 17:11:46 +000034 %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]+\]}}
44define void @sample_d_cl() #0 {
45main_body:
Marek Olsakeac50622014-07-11 17:11:52 +000046 %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)
Marek Olsakd8ecaee2014-07-11 17:11:46 +000047 %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]+\]}}
57define void @sample_l() #0 {
58main_body:
Marek Olsakeac50622014-07-11 17:11:52 +000059 %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)
Marek Olsakd8ecaee2014-07-11 17:11:46 +000060 %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]+\]}}
70define void @sample_b() #0 {
71main_body:
Marek Olsakeac50622014-07-11 17:11:52 +000072 %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)
Marek Olsakd8ecaee2014-07-11 17:11:46 +000073 %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]+\]}}
83define void @sample_b_cl() #0 {
84main_body:
Marek Olsakeac50622014-07-11 17:11:52 +000085 %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)
Marek Olsakd8ecaee2014-07-11 17:11:46 +000086 %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]+\]}}
96define void @sample_lz() #0 {
97main_body:
Marek Olsakeac50622014-07-11 17:11:52 +000098 %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)
Marek Olsakd8ecaee2014-07-11 17:11:46 +000099 %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]+\]}}
109define void @sample_cd() #0 {
110main_body:
Marek Olsakeac50622014-07-11 17:11:52 +0000111 %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)
Marek Olsakd8ecaee2014-07-11 17:11:46 +0000112 %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]+\]}}
122define void @sample_cd_cl() #0 {
123main_body:
Marek Olsakeac50622014-07-11 17:11:52 +0000124 %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)
Marek Olsakd8ecaee2014-07-11 17:11:46 +0000125 %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]+\]}}
135define void @sample_c() #0 {
136main_body:
Marek Olsakeac50622014-07-11 17:11:52 +0000137 %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)
Marek Olsakd8ecaee2014-07-11 17:11:46 +0000138 %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]+\]}}
148define void @sample_c_cl() #0 {
149main_body:
Marek Olsakeac50622014-07-11 17:11:52 +0000150 %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)
Marek Olsakd8ecaee2014-07-11 17:11:46 +0000151 %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]+\]}}
161define void @sample_c_d() #0 {
162main_body:
Marek Olsakeac50622014-07-11 17:11:52 +0000163 %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)
Marek Olsakd8ecaee2014-07-11 17:11:46 +0000164 %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]+\]}}
174define void @sample_c_d_cl() #0 {
175main_body:
Marek Olsakeac50622014-07-11 17:11:52 +0000176 %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)
Marek Olsakd8ecaee2014-07-11 17:11:46 +0000177 %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]+\]}}
187define void @sample_c_l() #0 {
188main_body:
Marek Olsakeac50622014-07-11 17:11:52 +0000189 %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)
Marek Olsakd8ecaee2014-07-11 17:11:46 +0000190 %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]+\]}}
200define void @sample_c_b() #0 {
201main_body:
Marek Olsakeac50622014-07-11 17:11:52 +0000202 %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)
Marek Olsakd8ecaee2014-07-11 17:11:46 +0000203 %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]+\]}}
213define void @sample_c_b_cl() #0 {
214main_body:
Marek Olsakeac50622014-07-11 17:11:52 +0000215 %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)
Marek Olsakd8ecaee2014-07-11 17:11:46 +0000216 %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]+\]}}
226define void @sample_c_lz() #0 {
227main_body:
Marek Olsakeac50622014-07-11 17:11:52 +0000228 %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)
Marek Olsakd8ecaee2014-07-11 17:11:46 +0000229 %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]+\]}}
239define void @sample_c_cd() #0 {
240main_body:
Marek Olsakeac50622014-07-11 17:11:52 +0000241 %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)
Marek Olsakd8ecaee2014-07-11 17:11:46 +0000242 %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]+\]}}
252define void @sample_c_cd_cl() #0 {
253main_body:
Marek Olsakeac50622014-07-11 17:11:52 +0000254 %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)
Marek Olsakd8ecaee2014-07-11 17:11:46 +0000255 %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
Marek Olsakeac50622014-07-11 17:11:52 +0000264declare <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
265declare <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
266declare <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
267declare <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
268declare <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
269declare <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
270declare <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
271declare <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
272declare <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
273declare <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
Marek Olsakd8ecaee2014-07-11 17:11:46 +0000274
Marek Olsakeac50622014-07-11 17:11:52 +0000275declare <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
276declare <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
277declare <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
278declare <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
279declare <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
280declare <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
281declare <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
282declare <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
283declare <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
284declare <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
Marek Olsakd8ecaee2014-07-11 17:11:46 +0000285
286declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float)
287
288attributes #0 = { "ShaderType"="0" }
289attributes #1 = { nounwind readnone }