[clang-format] Fix a bug in aligning comments above PPDirective (#72791)
[llvm-project.git] / clang / lib / Headers / opencl-c.h
blob1efbbf8f8ee6a01b024986bcff847a1cb8cc17a8
1 //===--- opencl-c.h - OpenCL C language builtin function header -----------===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
9 #ifndef _OPENCL_H_
10 #define _OPENCL_H_
12 #include "opencl-c-base.h"
14 #if defined(__opencl_c_images)
15 #ifndef cl_khr_depth_images
16 #define cl_khr_depth_images
17 #endif //cl_khr_depth_images
18 #endif //defined(__opencl_c_images)
20 #if __OPENCL_C_VERSION__ < CL_VERSION_2_0
21 #ifdef cl_khr_3d_image_writes
22 #pragma OPENCL EXTENSION cl_khr_3d_image_writes : enable
23 #endif //cl_khr_3d_image_writes
24 #endif //__OPENCL_C_VERSION__ < CL_VERSION_2_0
26 #if (defined(__OPENCL_CPP_VERSION__) || \
27 (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)) && \
28 (defined(__SPIR__) || defined(__SPIRV__))
29 #pragma OPENCL EXTENSION cl_intel_planar_yuv : begin
30 #pragma OPENCL EXTENSION cl_intel_planar_yuv : end
31 #endif // (defined(__OPENCL_CPP_VERSION__) ||
32 // (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)) &&
33 // (defined(__SPIR__) || defined(__SPIRV__))
35 #define __ovld __attribute__((overloadable))
36 #define __conv __attribute__((convergent))
38 // Optimizations
39 #define __purefn __attribute__((pure))
40 #define __cnfn __attribute__((const))
43 // OpenCL v1.1/1.2/2.0 s6.2.3 - Explicit conversions
45 char __ovld __cnfn convert_char_rte(char);
46 char __ovld __cnfn convert_char_sat_rte(char);
47 char __ovld __cnfn convert_char_rtz(char);
48 char __ovld __cnfn convert_char_sat_rtz(char);
49 char __ovld __cnfn convert_char_rtp(char);
50 char __ovld __cnfn convert_char_sat_rtp(char);
51 char __ovld __cnfn convert_char_rtn(char);
52 char __ovld __cnfn convert_char_sat_rtn(char);
53 char __ovld __cnfn convert_char(char);
54 char __ovld __cnfn convert_char_sat(char);
55 char __ovld __cnfn convert_char_rte(uchar);
56 char __ovld __cnfn convert_char_sat_rte(uchar);
57 char __ovld __cnfn convert_char_rtz(uchar);
58 char __ovld __cnfn convert_char_sat_rtz(uchar);
59 char __ovld __cnfn convert_char_rtp(uchar);
60 char __ovld __cnfn convert_char_sat_rtp(uchar);
61 char __ovld __cnfn convert_char_rtn(uchar);
62 char __ovld __cnfn convert_char_sat_rtn(uchar);
63 char __ovld __cnfn convert_char(uchar);
64 char __ovld __cnfn convert_char_sat(uchar);
65 char __ovld __cnfn convert_char_rte(short);
66 char __ovld __cnfn convert_char_sat_rte(short);
67 char __ovld __cnfn convert_char_rtz(short);
68 char __ovld __cnfn convert_char_sat_rtz(short);
69 char __ovld __cnfn convert_char_rtp(short);
70 char __ovld __cnfn convert_char_sat_rtp(short);
71 char __ovld __cnfn convert_char_rtn(short);
72 char __ovld __cnfn convert_char_sat_rtn(short);
73 char __ovld __cnfn convert_char(short);
74 char __ovld __cnfn convert_char_sat(short);
75 char __ovld __cnfn convert_char_rte(ushort);
76 char __ovld __cnfn convert_char_sat_rte(ushort);
77 char __ovld __cnfn convert_char_rtz(ushort);
78 char __ovld __cnfn convert_char_sat_rtz(ushort);
79 char __ovld __cnfn convert_char_rtp(ushort);
80 char __ovld __cnfn convert_char_sat_rtp(ushort);
81 char __ovld __cnfn convert_char_rtn(ushort);
82 char __ovld __cnfn convert_char_sat_rtn(ushort);
83 char __ovld __cnfn convert_char(ushort);
84 char __ovld __cnfn convert_char_sat(ushort);
85 char __ovld __cnfn convert_char_rte(int);
86 char __ovld __cnfn convert_char_sat_rte(int);
87 char __ovld __cnfn convert_char_rtz(int);
88 char __ovld __cnfn convert_char_sat_rtz(int);
89 char __ovld __cnfn convert_char_rtp(int);
90 char __ovld __cnfn convert_char_sat_rtp(int);
91 char __ovld __cnfn convert_char_rtn(int);
92 char __ovld __cnfn convert_char_sat_rtn(int);
93 char __ovld __cnfn convert_char(int);
94 char __ovld __cnfn convert_char_sat(int);
95 char __ovld __cnfn convert_char_rte(uint);
96 char __ovld __cnfn convert_char_sat_rte(uint);
97 char __ovld __cnfn convert_char_rtz(uint);
98 char __ovld __cnfn convert_char_sat_rtz(uint);
99 char __ovld __cnfn convert_char_rtp(uint);
100 char __ovld __cnfn convert_char_sat_rtp(uint);
101 char __ovld __cnfn convert_char_rtn(uint);
102 char __ovld __cnfn convert_char_sat_rtn(uint);
103 char __ovld __cnfn convert_char(uint);
104 char __ovld __cnfn convert_char_sat(uint);
105 char __ovld __cnfn convert_char_rte(long);
106 char __ovld __cnfn convert_char_sat_rte(long);
107 char __ovld __cnfn convert_char_rtz(long);
108 char __ovld __cnfn convert_char_sat_rtz(long);
109 char __ovld __cnfn convert_char_rtp(long);
110 char __ovld __cnfn convert_char_sat_rtp(long);
111 char __ovld __cnfn convert_char_rtn(long);
112 char __ovld __cnfn convert_char_sat_rtn(long);
113 char __ovld __cnfn convert_char(long);
114 char __ovld __cnfn convert_char_sat(long);
115 char __ovld __cnfn convert_char_rte(ulong);
116 char __ovld __cnfn convert_char_sat_rte(ulong);
117 char __ovld __cnfn convert_char_rtz(ulong);
118 char __ovld __cnfn convert_char_sat_rtz(ulong);
119 char __ovld __cnfn convert_char_rtp(ulong);
120 char __ovld __cnfn convert_char_sat_rtp(ulong);
121 char __ovld __cnfn convert_char_rtn(ulong);
122 char __ovld __cnfn convert_char_sat_rtn(ulong);
123 char __ovld __cnfn convert_char(ulong);
124 char __ovld __cnfn convert_char_sat(ulong);
125 char __ovld __cnfn convert_char_rte(float);
126 char __ovld __cnfn convert_char_sat_rte(float);
127 char __ovld __cnfn convert_char_rtz(float);
128 char __ovld __cnfn convert_char_sat_rtz(float);
129 char __ovld __cnfn convert_char_rtp(float);
130 char __ovld __cnfn convert_char_sat_rtp(float);
131 char __ovld __cnfn convert_char_rtn(float);
132 char __ovld __cnfn convert_char_sat_rtn(float);
133 char __ovld __cnfn convert_char(float);
134 char __ovld __cnfn convert_char_sat(float);
135 uchar __ovld __cnfn convert_uchar_rte(char);
136 uchar __ovld __cnfn convert_uchar_sat_rte(char);
137 uchar __ovld __cnfn convert_uchar_rtz(char);
138 uchar __ovld __cnfn convert_uchar_sat_rtz(char);
139 uchar __ovld __cnfn convert_uchar_rtp(char);
140 uchar __ovld __cnfn convert_uchar_sat_rtp(char);
141 uchar __ovld __cnfn convert_uchar_rtn(char);
142 uchar __ovld __cnfn convert_uchar_sat_rtn(char);
143 uchar __ovld __cnfn convert_uchar(char);
144 uchar __ovld __cnfn convert_uchar_sat(char);
145 uchar __ovld __cnfn convert_uchar_rte(uchar);
146 uchar __ovld __cnfn convert_uchar_sat_rte(uchar);
147 uchar __ovld __cnfn convert_uchar_rtz(uchar);
148 uchar __ovld __cnfn convert_uchar_sat_rtz(uchar);
149 uchar __ovld __cnfn convert_uchar_rtp(uchar);
150 uchar __ovld __cnfn convert_uchar_sat_rtp(uchar);
151 uchar __ovld __cnfn convert_uchar_rtn(uchar);
152 uchar __ovld __cnfn convert_uchar_sat_rtn(uchar);
153 uchar __ovld __cnfn convert_uchar(uchar);
154 uchar __ovld __cnfn convert_uchar_sat(uchar);
155 uchar __ovld __cnfn convert_uchar_rte(short);
156 uchar __ovld __cnfn convert_uchar_sat_rte(short);
157 uchar __ovld __cnfn convert_uchar_rtz(short);
158 uchar __ovld __cnfn convert_uchar_sat_rtz(short);
159 uchar __ovld __cnfn convert_uchar_rtp(short);
160 uchar __ovld __cnfn convert_uchar_sat_rtp(short);
161 uchar __ovld __cnfn convert_uchar_rtn(short);
162 uchar __ovld __cnfn convert_uchar_sat_rtn(short);
163 uchar __ovld __cnfn convert_uchar(short);
164 uchar __ovld __cnfn convert_uchar_sat(short);
165 uchar __ovld __cnfn convert_uchar_rte(ushort);
166 uchar __ovld __cnfn convert_uchar_sat_rte(ushort);
167 uchar __ovld __cnfn convert_uchar_rtz(ushort);
168 uchar __ovld __cnfn convert_uchar_sat_rtz(ushort);
169 uchar __ovld __cnfn convert_uchar_rtp(ushort);
170 uchar __ovld __cnfn convert_uchar_sat_rtp(ushort);
171 uchar __ovld __cnfn convert_uchar_rtn(ushort);
172 uchar __ovld __cnfn convert_uchar_sat_rtn(ushort);
173 uchar __ovld __cnfn convert_uchar(ushort);
174 uchar __ovld __cnfn convert_uchar_sat(ushort);
175 uchar __ovld __cnfn convert_uchar_rte(int);
176 uchar __ovld __cnfn convert_uchar_sat_rte(int);
177 uchar __ovld __cnfn convert_uchar_rtz(int);
178 uchar __ovld __cnfn convert_uchar_sat_rtz(int);
179 uchar __ovld __cnfn convert_uchar_rtp(int);
180 uchar __ovld __cnfn convert_uchar_sat_rtp(int);
181 uchar __ovld __cnfn convert_uchar_rtn(int);
182 uchar __ovld __cnfn convert_uchar_sat_rtn(int);
183 uchar __ovld __cnfn convert_uchar(int);
184 uchar __ovld __cnfn convert_uchar_sat(int);
185 uchar __ovld __cnfn convert_uchar_rte(uint);
186 uchar __ovld __cnfn convert_uchar_sat_rte(uint);
187 uchar __ovld __cnfn convert_uchar_rtz(uint);
188 uchar __ovld __cnfn convert_uchar_sat_rtz(uint);
189 uchar __ovld __cnfn convert_uchar_rtp(uint);
190 uchar __ovld __cnfn convert_uchar_sat_rtp(uint);
191 uchar __ovld __cnfn convert_uchar_rtn(uint);
192 uchar __ovld __cnfn convert_uchar_sat_rtn(uint);
193 uchar __ovld __cnfn convert_uchar(uint);
194 uchar __ovld __cnfn convert_uchar_sat(uint);
195 uchar __ovld __cnfn convert_uchar_rte(long);
196 uchar __ovld __cnfn convert_uchar_sat_rte(long);
197 uchar __ovld __cnfn convert_uchar_rtz(long);
198 uchar __ovld __cnfn convert_uchar_sat_rtz(long);
199 uchar __ovld __cnfn convert_uchar_rtp(long);
200 uchar __ovld __cnfn convert_uchar_sat_rtp(long);
201 uchar __ovld __cnfn convert_uchar_rtn(long);
202 uchar __ovld __cnfn convert_uchar_sat_rtn(long);
203 uchar __ovld __cnfn convert_uchar(long);
204 uchar __ovld __cnfn convert_uchar_sat(long);
205 uchar __ovld __cnfn convert_uchar_rte(ulong);
206 uchar __ovld __cnfn convert_uchar_sat_rte(ulong);
207 uchar __ovld __cnfn convert_uchar_rtz(ulong);
208 uchar __ovld __cnfn convert_uchar_sat_rtz(ulong);
209 uchar __ovld __cnfn convert_uchar_rtp(ulong);
210 uchar __ovld __cnfn convert_uchar_sat_rtp(ulong);
211 uchar __ovld __cnfn convert_uchar_rtn(ulong);
212 uchar __ovld __cnfn convert_uchar_sat_rtn(ulong);
213 uchar __ovld __cnfn convert_uchar(ulong);
214 uchar __ovld __cnfn convert_uchar_sat(ulong);
215 uchar __ovld __cnfn convert_uchar_rte(float);
216 uchar __ovld __cnfn convert_uchar_sat_rte(float);
217 uchar __ovld __cnfn convert_uchar_rtz(float);
218 uchar __ovld __cnfn convert_uchar_sat_rtz(float);
219 uchar __ovld __cnfn convert_uchar_rtp(float);
220 uchar __ovld __cnfn convert_uchar_sat_rtp(float);
221 uchar __ovld __cnfn convert_uchar_rtn(float);
222 uchar __ovld __cnfn convert_uchar_sat_rtn(float);
223 uchar __ovld __cnfn convert_uchar(float);
224 uchar __ovld __cnfn convert_uchar_sat(float);
226 short __ovld __cnfn convert_short_rte(char);
227 short __ovld __cnfn convert_short_sat_rte(char);
228 short __ovld __cnfn convert_short_rtz(char);
229 short __ovld __cnfn convert_short_sat_rtz(char);
230 short __ovld __cnfn convert_short_rtp(char);
231 short __ovld __cnfn convert_short_sat_rtp(char);
232 short __ovld __cnfn convert_short_rtn(char);
233 short __ovld __cnfn convert_short_sat_rtn(char);
234 short __ovld __cnfn convert_short(char);
235 short __ovld __cnfn convert_short_sat(char);
236 short __ovld __cnfn convert_short_rte(uchar);
237 short __ovld __cnfn convert_short_sat_rte(uchar);
238 short __ovld __cnfn convert_short_rtz(uchar);
239 short __ovld __cnfn convert_short_sat_rtz(uchar);
240 short __ovld __cnfn convert_short_rtp(uchar);
241 short __ovld __cnfn convert_short_sat_rtp(uchar);
242 short __ovld __cnfn convert_short_rtn(uchar);
243 short __ovld __cnfn convert_short_sat_rtn(uchar);
244 short __ovld __cnfn convert_short(uchar);
245 short __ovld __cnfn convert_short_sat(uchar);
246 short __ovld __cnfn convert_short_rte(short);
247 short __ovld __cnfn convert_short_sat_rte(short);
248 short __ovld __cnfn convert_short_rtz(short);
249 short __ovld __cnfn convert_short_sat_rtz(short);
250 short __ovld __cnfn convert_short_rtp(short);
251 short __ovld __cnfn convert_short_sat_rtp(short);
252 short __ovld __cnfn convert_short_rtn(short);
253 short __ovld __cnfn convert_short_sat_rtn(short);
254 short __ovld __cnfn convert_short(short);
255 short __ovld __cnfn convert_short_sat(short);
256 short __ovld __cnfn convert_short_rte(ushort);
257 short __ovld __cnfn convert_short_sat_rte(ushort);
258 short __ovld __cnfn convert_short_rtz(ushort);
259 short __ovld __cnfn convert_short_sat_rtz(ushort);
260 short __ovld __cnfn convert_short_rtp(ushort);
261 short __ovld __cnfn convert_short_sat_rtp(ushort);
262 short __ovld __cnfn convert_short_rtn(ushort);
263 short __ovld __cnfn convert_short_sat_rtn(ushort);
264 short __ovld __cnfn convert_short(ushort);
265 short __ovld __cnfn convert_short_sat(ushort);
266 short __ovld __cnfn convert_short_rte(int);
267 short __ovld __cnfn convert_short_sat_rte(int);
268 short __ovld __cnfn convert_short_rtz(int);
269 short __ovld __cnfn convert_short_sat_rtz(int);
270 short __ovld __cnfn convert_short_rtp(int);
271 short __ovld __cnfn convert_short_sat_rtp(int);
272 short __ovld __cnfn convert_short_rtn(int);
273 short __ovld __cnfn convert_short_sat_rtn(int);
274 short __ovld __cnfn convert_short(int);
275 short __ovld __cnfn convert_short_sat(int);
276 short __ovld __cnfn convert_short_rte(uint);
277 short __ovld __cnfn convert_short_sat_rte(uint);
278 short __ovld __cnfn convert_short_rtz(uint);
279 short __ovld __cnfn convert_short_sat_rtz(uint);
280 short __ovld __cnfn convert_short_rtp(uint);
281 short __ovld __cnfn convert_short_sat_rtp(uint);
282 short __ovld __cnfn convert_short_rtn(uint);
283 short __ovld __cnfn convert_short_sat_rtn(uint);
284 short __ovld __cnfn convert_short(uint);
285 short __ovld __cnfn convert_short_sat(uint);
286 short __ovld __cnfn convert_short_rte(long);
287 short __ovld __cnfn convert_short_sat_rte(long);
288 short __ovld __cnfn convert_short_rtz(long);
289 short __ovld __cnfn convert_short_sat_rtz(long);
290 short __ovld __cnfn convert_short_rtp(long);
291 short __ovld __cnfn convert_short_sat_rtp(long);
292 short __ovld __cnfn convert_short_rtn(long);
293 short __ovld __cnfn convert_short_sat_rtn(long);
294 short __ovld __cnfn convert_short(long);
295 short __ovld __cnfn convert_short_sat(long);
296 short __ovld __cnfn convert_short_rte(ulong);
297 short __ovld __cnfn convert_short_sat_rte(ulong);
298 short __ovld __cnfn convert_short_rtz(ulong);
299 short __ovld __cnfn convert_short_sat_rtz(ulong);
300 short __ovld __cnfn convert_short_rtp(ulong);
301 short __ovld __cnfn convert_short_sat_rtp(ulong);
302 short __ovld __cnfn convert_short_rtn(ulong);
303 short __ovld __cnfn convert_short_sat_rtn(ulong);
304 short __ovld __cnfn convert_short(ulong);
305 short __ovld __cnfn convert_short_sat(ulong);
306 short __ovld __cnfn convert_short_rte(float);
307 short __ovld __cnfn convert_short_sat_rte(float);
308 short __ovld __cnfn convert_short_rtz(float);
309 short __ovld __cnfn convert_short_sat_rtz(float);
310 short __ovld __cnfn convert_short_rtp(float);
311 short __ovld __cnfn convert_short_sat_rtp(float);
312 short __ovld __cnfn convert_short_rtn(float);
313 short __ovld __cnfn convert_short_sat_rtn(float);
314 short __ovld __cnfn convert_short(float);
315 short __ovld __cnfn convert_short_sat(float);
316 ushort __ovld __cnfn convert_ushort_rte(char);
317 ushort __ovld __cnfn convert_ushort_sat_rte(char);
318 ushort __ovld __cnfn convert_ushort_rtz(char);
319 ushort __ovld __cnfn convert_ushort_sat_rtz(char);
320 ushort __ovld __cnfn convert_ushort_rtp(char);
321 ushort __ovld __cnfn convert_ushort_sat_rtp(char);
322 ushort __ovld __cnfn convert_ushort_rtn(char);
323 ushort __ovld __cnfn convert_ushort_sat_rtn(char);
324 ushort __ovld __cnfn convert_ushort(char);
325 ushort __ovld __cnfn convert_ushort_sat(char);
326 ushort __ovld __cnfn convert_ushort_rte(uchar);
327 ushort __ovld __cnfn convert_ushort_sat_rte(uchar);
328 ushort __ovld __cnfn convert_ushort_rtz(uchar);
329 ushort __ovld __cnfn convert_ushort_sat_rtz(uchar);
330 ushort __ovld __cnfn convert_ushort_rtp(uchar);
331 ushort __ovld __cnfn convert_ushort_sat_rtp(uchar);
332 ushort __ovld __cnfn convert_ushort_rtn(uchar);
333 ushort __ovld __cnfn convert_ushort_sat_rtn(uchar);
334 ushort __ovld __cnfn convert_ushort(uchar);
335 ushort __ovld __cnfn convert_ushort_sat(uchar);
336 ushort __ovld __cnfn convert_ushort_rte(short);
337 ushort __ovld __cnfn convert_ushort_sat_rte(short);
338 ushort __ovld __cnfn convert_ushort_rtz(short);
339 ushort __ovld __cnfn convert_ushort_sat_rtz(short);
340 ushort __ovld __cnfn convert_ushort_rtp(short);
341 ushort __ovld __cnfn convert_ushort_sat_rtp(short);
342 ushort __ovld __cnfn convert_ushort_rtn(short);
343 ushort __ovld __cnfn convert_ushort_sat_rtn(short);
344 ushort __ovld __cnfn convert_ushort(short);
345 ushort __ovld __cnfn convert_ushort_sat(short);
346 ushort __ovld __cnfn convert_ushort_rte(ushort);
347 ushort __ovld __cnfn convert_ushort_sat_rte(ushort);
348 ushort __ovld __cnfn convert_ushort_rtz(ushort);
349 ushort __ovld __cnfn convert_ushort_sat_rtz(ushort);
350 ushort __ovld __cnfn convert_ushort_rtp(ushort);
351 ushort __ovld __cnfn convert_ushort_sat_rtp(ushort);
352 ushort __ovld __cnfn convert_ushort_rtn(ushort);
353 ushort __ovld __cnfn convert_ushort_sat_rtn(ushort);
354 ushort __ovld __cnfn convert_ushort(ushort);
355 ushort __ovld __cnfn convert_ushort_sat(ushort);
356 ushort __ovld __cnfn convert_ushort_rte(int);
357 ushort __ovld __cnfn convert_ushort_sat_rte(int);
358 ushort __ovld __cnfn convert_ushort_rtz(int);
359 ushort __ovld __cnfn convert_ushort_sat_rtz(int);
360 ushort __ovld __cnfn convert_ushort_rtp(int);
361 ushort __ovld __cnfn convert_ushort_sat_rtp(int);
362 ushort __ovld __cnfn convert_ushort_rtn(int);
363 ushort __ovld __cnfn convert_ushort_sat_rtn(int);
364 ushort __ovld __cnfn convert_ushort(int);
365 ushort __ovld __cnfn convert_ushort_sat(int);
366 ushort __ovld __cnfn convert_ushort_rte(uint);
367 ushort __ovld __cnfn convert_ushort_sat_rte(uint);
368 ushort __ovld __cnfn convert_ushort_rtz(uint);
369 ushort __ovld __cnfn convert_ushort_sat_rtz(uint);
370 ushort __ovld __cnfn convert_ushort_rtp(uint);
371 ushort __ovld __cnfn convert_ushort_sat_rtp(uint);
372 ushort __ovld __cnfn convert_ushort_rtn(uint);
373 ushort __ovld __cnfn convert_ushort_sat_rtn(uint);
374 ushort __ovld __cnfn convert_ushort(uint);
375 ushort __ovld __cnfn convert_ushort_sat(uint);
376 ushort __ovld __cnfn convert_ushort_rte(long);
377 ushort __ovld __cnfn convert_ushort_sat_rte(long);
378 ushort __ovld __cnfn convert_ushort_rtz(long);
379 ushort __ovld __cnfn convert_ushort_sat_rtz(long);
380 ushort __ovld __cnfn convert_ushort_rtp(long);
381 ushort __ovld __cnfn convert_ushort_sat_rtp(long);
382 ushort __ovld __cnfn convert_ushort_rtn(long);
383 ushort __ovld __cnfn convert_ushort_sat_rtn(long);
384 ushort __ovld __cnfn convert_ushort(long);
385 ushort __ovld __cnfn convert_ushort_sat(long);
386 ushort __ovld __cnfn convert_ushort_rte(ulong);
387 ushort __ovld __cnfn convert_ushort_sat_rte(ulong);
388 ushort __ovld __cnfn convert_ushort_rtz(ulong);
389 ushort __ovld __cnfn convert_ushort_sat_rtz(ulong);
390 ushort __ovld __cnfn convert_ushort_rtp(ulong);
391 ushort __ovld __cnfn convert_ushort_sat_rtp(ulong);
392 ushort __ovld __cnfn convert_ushort_rtn(ulong);
393 ushort __ovld __cnfn convert_ushort_sat_rtn(ulong);
394 ushort __ovld __cnfn convert_ushort(ulong);
395 ushort __ovld __cnfn convert_ushort_sat(ulong);
396 ushort __ovld __cnfn convert_ushort_rte(float);
397 ushort __ovld __cnfn convert_ushort_sat_rte(float);
398 ushort __ovld __cnfn convert_ushort_rtz(float);
399 ushort __ovld __cnfn convert_ushort_sat_rtz(float);
400 ushort __ovld __cnfn convert_ushort_rtp(float);
401 ushort __ovld __cnfn convert_ushort_sat_rtp(float);
402 ushort __ovld __cnfn convert_ushort_rtn(float);
403 ushort __ovld __cnfn convert_ushort_sat_rtn(float);
404 ushort __ovld __cnfn convert_ushort(float);
405 ushort __ovld __cnfn convert_ushort_sat(float);
406 int __ovld __cnfn convert_int_rte(char);
407 int __ovld __cnfn convert_int_sat_rte(char);
408 int __ovld __cnfn convert_int_rtz(char);
409 int __ovld __cnfn convert_int_sat_rtz(char);
410 int __ovld __cnfn convert_int_rtp(char);
411 int __ovld __cnfn convert_int_sat_rtp(char);
412 int __ovld __cnfn convert_int_rtn(char);
413 int __ovld __cnfn convert_int_sat_rtn(char);
414 int __ovld __cnfn convert_int(char);
415 int __ovld __cnfn convert_int_sat(char);
416 int __ovld __cnfn convert_int_rte(uchar);
417 int __ovld __cnfn convert_int_sat_rte(uchar);
418 int __ovld __cnfn convert_int_rtz(uchar);
419 int __ovld __cnfn convert_int_sat_rtz(uchar);
420 int __ovld __cnfn convert_int_rtp(uchar);
421 int __ovld __cnfn convert_int_sat_rtp(uchar);
422 int __ovld __cnfn convert_int_rtn(uchar);
423 int __ovld __cnfn convert_int_sat_rtn(uchar);
424 int __ovld __cnfn convert_int(uchar);
425 int __ovld __cnfn convert_int_sat(uchar);
426 int __ovld __cnfn convert_int_rte(short);
427 int __ovld __cnfn convert_int_sat_rte(short);
428 int __ovld __cnfn convert_int_rtz(short);
429 int __ovld __cnfn convert_int_sat_rtz(short);
430 int __ovld __cnfn convert_int_rtp(short);
431 int __ovld __cnfn convert_int_sat_rtp(short);
432 int __ovld __cnfn convert_int_rtn(short);
433 int __ovld __cnfn convert_int_sat_rtn(short);
434 int __ovld __cnfn convert_int(short);
435 int __ovld __cnfn convert_int_sat(short);
436 int __ovld __cnfn convert_int_rte(ushort);
437 int __ovld __cnfn convert_int_sat_rte(ushort);
438 int __ovld __cnfn convert_int_rtz(ushort);
439 int __ovld __cnfn convert_int_sat_rtz(ushort);
440 int __ovld __cnfn convert_int_rtp(ushort);
441 int __ovld __cnfn convert_int_sat_rtp(ushort);
442 int __ovld __cnfn convert_int_rtn(ushort);
443 int __ovld __cnfn convert_int_sat_rtn(ushort);
444 int __ovld __cnfn convert_int(ushort);
445 int __ovld __cnfn convert_int_sat(ushort);
446 int __ovld __cnfn convert_int_rte(int);
447 int __ovld __cnfn convert_int_sat_rte(int);
448 int __ovld __cnfn convert_int_rtz(int);
449 int __ovld __cnfn convert_int_sat_rtz(int);
450 int __ovld __cnfn convert_int_rtp(int);
451 int __ovld __cnfn convert_int_sat_rtp(int);
452 int __ovld __cnfn convert_int_rtn(int);
453 int __ovld __cnfn convert_int_sat_rtn(int);
454 int __ovld __cnfn convert_int(int);
455 int __ovld __cnfn convert_int_sat(int);
456 int __ovld __cnfn convert_int_rte(uint);
457 int __ovld __cnfn convert_int_sat_rte(uint);
458 int __ovld __cnfn convert_int_rtz(uint);
459 int __ovld __cnfn convert_int_sat_rtz(uint);
460 int __ovld __cnfn convert_int_rtp(uint);
461 int __ovld __cnfn convert_int_sat_rtp(uint);
462 int __ovld __cnfn convert_int_rtn(uint);
463 int __ovld __cnfn convert_int_sat_rtn(uint);
464 int __ovld __cnfn convert_int(uint);
465 int __ovld __cnfn convert_int_sat(uint);
466 int __ovld __cnfn convert_int_rte(long);
467 int __ovld __cnfn convert_int_sat_rte(long);
468 int __ovld __cnfn convert_int_rtz(long);
469 int __ovld __cnfn convert_int_sat_rtz(long);
470 int __ovld __cnfn convert_int_rtp(long);
471 int __ovld __cnfn convert_int_sat_rtp(long);
472 int __ovld __cnfn convert_int_rtn(long);
473 int __ovld __cnfn convert_int_sat_rtn(long);
474 int __ovld __cnfn convert_int(long);
475 int __ovld __cnfn convert_int_sat(long);
476 int __ovld __cnfn convert_int_rte(ulong);
477 int __ovld __cnfn convert_int_sat_rte(ulong);
478 int __ovld __cnfn convert_int_rtz(ulong);
479 int __ovld __cnfn convert_int_sat_rtz(ulong);
480 int __ovld __cnfn convert_int_rtp(ulong);
481 int __ovld __cnfn convert_int_sat_rtp(ulong);
482 int __ovld __cnfn convert_int_rtn(ulong);
483 int __ovld __cnfn convert_int_sat_rtn(ulong);
484 int __ovld __cnfn convert_int(ulong);
485 int __ovld __cnfn convert_int_sat(ulong);
486 int __ovld __cnfn convert_int_rte(float);
487 int __ovld __cnfn convert_int_sat_rte(float);
488 int __ovld __cnfn convert_int_rtz(float);
489 int __ovld __cnfn convert_int_sat_rtz(float);
490 int __ovld __cnfn convert_int_rtp(float);
491 int __ovld __cnfn convert_int_sat_rtp(float);
492 int __ovld __cnfn convert_int_rtn(float);
493 int __ovld __cnfn convert_int_sat_rtn(float);
494 int __ovld __cnfn convert_int(float);
495 int __ovld __cnfn convert_int_sat(float);
496 uint __ovld __cnfn convert_uint_rte(char);
497 uint __ovld __cnfn convert_uint_sat_rte(char);
498 uint __ovld __cnfn convert_uint_rtz(char);
499 uint __ovld __cnfn convert_uint_sat_rtz(char);
500 uint __ovld __cnfn convert_uint_rtp(char);
501 uint __ovld __cnfn convert_uint_sat_rtp(char);
502 uint __ovld __cnfn convert_uint_rtn(char);
503 uint __ovld __cnfn convert_uint_sat_rtn(char);
504 uint __ovld __cnfn convert_uint(char);
505 uint __ovld __cnfn convert_uint_sat(char);
506 uint __ovld __cnfn convert_uint_rte(uchar);
507 uint __ovld __cnfn convert_uint_sat_rte(uchar);
508 uint __ovld __cnfn convert_uint_rtz(uchar);
509 uint __ovld __cnfn convert_uint_sat_rtz(uchar);
510 uint __ovld __cnfn convert_uint_rtp(uchar);
511 uint __ovld __cnfn convert_uint_sat_rtp(uchar);
512 uint __ovld __cnfn convert_uint_rtn(uchar);
513 uint __ovld __cnfn convert_uint_sat_rtn(uchar);
514 uint __ovld __cnfn convert_uint(uchar);
515 uint __ovld __cnfn convert_uint_sat(uchar);
516 uint __ovld __cnfn convert_uint_rte(short);
517 uint __ovld __cnfn convert_uint_sat_rte(short);
518 uint __ovld __cnfn convert_uint_rtz(short);
519 uint __ovld __cnfn convert_uint_sat_rtz(short);
520 uint __ovld __cnfn convert_uint_rtp(short);
521 uint __ovld __cnfn convert_uint_sat_rtp(short);
522 uint __ovld __cnfn convert_uint_rtn(short);
523 uint __ovld __cnfn convert_uint_sat_rtn(short);
524 uint __ovld __cnfn convert_uint(short);
525 uint __ovld __cnfn convert_uint_sat(short);
526 uint __ovld __cnfn convert_uint_rte(ushort);
527 uint __ovld __cnfn convert_uint_sat_rte(ushort);
528 uint __ovld __cnfn convert_uint_rtz(ushort);
529 uint __ovld __cnfn convert_uint_sat_rtz(ushort);
530 uint __ovld __cnfn convert_uint_rtp(ushort);
531 uint __ovld __cnfn convert_uint_sat_rtp(ushort);
532 uint __ovld __cnfn convert_uint_rtn(ushort);
533 uint __ovld __cnfn convert_uint_sat_rtn(ushort);
534 uint __ovld __cnfn convert_uint(ushort);
535 uint __ovld __cnfn convert_uint_sat(ushort);
536 uint __ovld __cnfn convert_uint_rte(int);
537 uint __ovld __cnfn convert_uint_sat_rte(int);
538 uint __ovld __cnfn convert_uint_rtz(int);
539 uint __ovld __cnfn convert_uint_sat_rtz(int);
540 uint __ovld __cnfn convert_uint_rtp(int);
541 uint __ovld __cnfn convert_uint_sat_rtp(int);
542 uint __ovld __cnfn convert_uint_rtn(int);
543 uint __ovld __cnfn convert_uint_sat_rtn(int);
544 uint __ovld __cnfn convert_uint(int);
545 uint __ovld __cnfn convert_uint_sat(int);
546 uint __ovld __cnfn convert_uint_rte(uint);
547 uint __ovld __cnfn convert_uint_sat_rte(uint);
548 uint __ovld __cnfn convert_uint_rtz(uint);
549 uint __ovld __cnfn convert_uint_sat_rtz(uint);
550 uint __ovld __cnfn convert_uint_rtp(uint);
551 uint __ovld __cnfn convert_uint_sat_rtp(uint);
552 uint __ovld __cnfn convert_uint_rtn(uint);
553 uint __ovld __cnfn convert_uint_sat_rtn(uint);
554 uint __ovld __cnfn convert_uint(uint);
555 uint __ovld __cnfn convert_uint_sat(uint);
556 uint __ovld __cnfn convert_uint_rte(long);
557 uint __ovld __cnfn convert_uint_sat_rte(long);
558 uint __ovld __cnfn convert_uint_rtz(long);
559 uint __ovld __cnfn convert_uint_sat_rtz(long);
560 uint __ovld __cnfn convert_uint_rtp(long);
561 uint __ovld __cnfn convert_uint_sat_rtp(long);
562 uint __ovld __cnfn convert_uint_rtn(long);
563 uint __ovld __cnfn convert_uint_sat_rtn(long);
564 uint __ovld __cnfn convert_uint(long);
565 uint __ovld __cnfn convert_uint_sat(long);
566 uint __ovld __cnfn convert_uint_rte(ulong);
567 uint __ovld __cnfn convert_uint_sat_rte(ulong);
568 uint __ovld __cnfn convert_uint_rtz(ulong);
569 uint __ovld __cnfn convert_uint_sat_rtz(ulong);
570 uint __ovld __cnfn convert_uint_rtp(ulong);
571 uint __ovld __cnfn convert_uint_sat_rtp(ulong);
572 uint __ovld __cnfn convert_uint_rtn(ulong);
573 uint __ovld __cnfn convert_uint_sat_rtn(ulong);
574 uint __ovld __cnfn convert_uint(ulong);
575 uint __ovld __cnfn convert_uint_sat(ulong);
576 uint __ovld __cnfn convert_uint_rte(float);
577 uint __ovld __cnfn convert_uint_sat_rte(float);
578 uint __ovld __cnfn convert_uint_rtz(float);
579 uint __ovld __cnfn convert_uint_sat_rtz(float);
580 uint __ovld __cnfn convert_uint_rtp(float);
581 uint __ovld __cnfn convert_uint_sat_rtp(float);
582 uint __ovld __cnfn convert_uint_rtn(float);
583 uint __ovld __cnfn convert_uint_sat_rtn(float);
584 uint __ovld __cnfn convert_uint(float);
585 uint __ovld __cnfn convert_uint_sat(float);
586 long __ovld __cnfn convert_long_rte(char);
587 long __ovld __cnfn convert_long_sat_rte(char);
588 long __ovld __cnfn convert_long_rtz(char);
589 long __ovld __cnfn convert_long_sat_rtz(char);
590 long __ovld __cnfn convert_long_rtp(char);
591 long __ovld __cnfn convert_long_sat_rtp(char);
592 long __ovld __cnfn convert_long_rtn(char);
593 long __ovld __cnfn convert_long_sat_rtn(char);
594 long __ovld __cnfn convert_long(char);
595 long __ovld __cnfn convert_long_sat(char);
596 long __ovld __cnfn convert_long_rte(uchar);
597 long __ovld __cnfn convert_long_sat_rte(uchar);
598 long __ovld __cnfn convert_long_rtz(uchar);
599 long __ovld __cnfn convert_long_sat_rtz(uchar);
600 long __ovld __cnfn convert_long_rtp(uchar);
601 long __ovld __cnfn convert_long_sat_rtp(uchar);
602 long __ovld __cnfn convert_long_rtn(uchar);
603 long __ovld __cnfn convert_long_sat_rtn(uchar);
604 long __ovld __cnfn convert_long(uchar);
605 long __ovld __cnfn convert_long_sat(uchar);
606 long __ovld __cnfn convert_long_rte(short);
607 long __ovld __cnfn convert_long_sat_rte(short);
608 long __ovld __cnfn convert_long_rtz(short);
609 long __ovld __cnfn convert_long_sat_rtz(short);
610 long __ovld __cnfn convert_long_rtp(short);
611 long __ovld __cnfn convert_long_sat_rtp(short);
612 long __ovld __cnfn convert_long_rtn(short);
613 long __ovld __cnfn convert_long_sat_rtn(short);
614 long __ovld __cnfn convert_long(short);
615 long __ovld __cnfn convert_long_sat(short);
616 long __ovld __cnfn convert_long_rte(ushort);
617 long __ovld __cnfn convert_long_sat_rte(ushort);
618 long __ovld __cnfn convert_long_rtz(ushort);
619 long __ovld __cnfn convert_long_sat_rtz(ushort);
620 long __ovld __cnfn convert_long_rtp(ushort);
621 long __ovld __cnfn convert_long_sat_rtp(ushort);
622 long __ovld __cnfn convert_long_rtn(ushort);
623 long __ovld __cnfn convert_long_sat_rtn(ushort);
624 long __ovld __cnfn convert_long(ushort);
625 long __ovld __cnfn convert_long_sat(ushort);
626 long __ovld __cnfn convert_long_rte(int);
627 long __ovld __cnfn convert_long_sat_rte(int);
628 long __ovld __cnfn convert_long_rtz(int);
629 long __ovld __cnfn convert_long_sat_rtz(int);
630 long __ovld __cnfn convert_long_rtp(int);
631 long __ovld __cnfn convert_long_sat_rtp(int);
632 long __ovld __cnfn convert_long_rtn(int);
633 long __ovld __cnfn convert_long_sat_rtn(int);
634 long __ovld __cnfn convert_long(int);
635 long __ovld __cnfn convert_long_sat(int);
636 long __ovld __cnfn convert_long_rte(uint);
637 long __ovld __cnfn convert_long_sat_rte(uint);
638 long __ovld __cnfn convert_long_rtz(uint);
639 long __ovld __cnfn convert_long_sat_rtz(uint);
640 long __ovld __cnfn convert_long_rtp(uint);
641 long __ovld __cnfn convert_long_sat_rtp(uint);
642 long __ovld __cnfn convert_long_rtn(uint);
643 long __ovld __cnfn convert_long_sat_rtn(uint);
644 long __ovld __cnfn convert_long(uint);
645 long __ovld __cnfn convert_long_sat(uint);
646 long __ovld __cnfn convert_long_rte(long);
647 long __ovld __cnfn convert_long_sat_rte(long);
648 long __ovld __cnfn convert_long_rtz(long);
649 long __ovld __cnfn convert_long_sat_rtz(long);
650 long __ovld __cnfn convert_long_rtp(long);
651 long __ovld __cnfn convert_long_sat_rtp(long);
652 long __ovld __cnfn convert_long_rtn(long);
653 long __ovld __cnfn convert_long_sat_rtn(long);
654 long __ovld __cnfn convert_long(long);
655 long __ovld __cnfn convert_long_sat(long);
656 long __ovld __cnfn convert_long_rte(ulong);
657 long __ovld __cnfn convert_long_sat_rte(ulong);
658 long __ovld __cnfn convert_long_rtz(ulong);
659 long __ovld __cnfn convert_long_sat_rtz(ulong);
660 long __ovld __cnfn convert_long_rtp(ulong);
661 long __ovld __cnfn convert_long_sat_rtp(ulong);
662 long __ovld __cnfn convert_long_rtn(ulong);
663 long __ovld __cnfn convert_long_sat_rtn(ulong);
664 long __ovld __cnfn convert_long(ulong);
665 long __ovld __cnfn convert_long_sat(ulong);
666 long __ovld __cnfn convert_long_rte(float);
667 long __ovld __cnfn convert_long_sat_rte(float);
668 long __ovld __cnfn convert_long_rtz(float);
669 long __ovld __cnfn convert_long_sat_rtz(float);
670 long __ovld __cnfn convert_long_rtp(float);
671 long __ovld __cnfn convert_long_sat_rtp(float);
672 long __ovld __cnfn convert_long_rtn(float);
673 long __ovld __cnfn convert_long_sat_rtn(float);
674 long __ovld __cnfn convert_long(float);
675 long __ovld __cnfn convert_long_sat(float);
676 ulong __ovld __cnfn convert_ulong_rte(char);
677 ulong __ovld __cnfn convert_ulong_sat_rte(char);
678 ulong __ovld __cnfn convert_ulong_rtz(char);
679 ulong __ovld __cnfn convert_ulong_sat_rtz(char);
680 ulong __ovld __cnfn convert_ulong_rtp(char);
681 ulong __ovld __cnfn convert_ulong_sat_rtp(char);
682 ulong __ovld __cnfn convert_ulong_rtn(char);
683 ulong __ovld __cnfn convert_ulong_sat_rtn(char);
684 ulong __ovld __cnfn convert_ulong(char);
685 ulong __ovld __cnfn convert_ulong_sat(char);
686 ulong __ovld __cnfn convert_ulong_rte(uchar);
687 ulong __ovld __cnfn convert_ulong_sat_rte(uchar);
688 ulong __ovld __cnfn convert_ulong_rtz(uchar);
689 ulong __ovld __cnfn convert_ulong_sat_rtz(uchar);
690 ulong __ovld __cnfn convert_ulong_rtp(uchar);
691 ulong __ovld __cnfn convert_ulong_sat_rtp(uchar);
692 ulong __ovld __cnfn convert_ulong_rtn(uchar);
693 ulong __ovld __cnfn convert_ulong_sat_rtn(uchar);
694 ulong __ovld __cnfn convert_ulong(uchar);
695 ulong __ovld __cnfn convert_ulong_sat(uchar);
696 ulong __ovld __cnfn convert_ulong_rte(short);
697 ulong __ovld __cnfn convert_ulong_sat_rte(short);
698 ulong __ovld __cnfn convert_ulong_rtz(short);
699 ulong __ovld __cnfn convert_ulong_sat_rtz(short);
700 ulong __ovld __cnfn convert_ulong_rtp(short);
701 ulong __ovld __cnfn convert_ulong_sat_rtp(short);
702 ulong __ovld __cnfn convert_ulong_rtn(short);
703 ulong __ovld __cnfn convert_ulong_sat_rtn(short);
704 ulong __ovld __cnfn convert_ulong(short);
705 ulong __ovld __cnfn convert_ulong_sat(short);
706 ulong __ovld __cnfn convert_ulong_rte(ushort);
707 ulong __ovld __cnfn convert_ulong_sat_rte(ushort);
708 ulong __ovld __cnfn convert_ulong_rtz(ushort);
709 ulong __ovld __cnfn convert_ulong_sat_rtz(ushort);
710 ulong __ovld __cnfn convert_ulong_rtp(ushort);
711 ulong __ovld __cnfn convert_ulong_sat_rtp(ushort);
712 ulong __ovld __cnfn convert_ulong_rtn(ushort);
713 ulong __ovld __cnfn convert_ulong_sat_rtn(ushort);
714 ulong __ovld __cnfn convert_ulong(ushort);
715 ulong __ovld __cnfn convert_ulong_sat(ushort);
716 ulong __ovld __cnfn convert_ulong_rte(int);
717 ulong __ovld __cnfn convert_ulong_sat_rte(int);
718 ulong __ovld __cnfn convert_ulong_rtz(int);
719 ulong __ovld __cnfn convert_ulong_sat_rtz(int);
720 ulong __ovld __cnfn convert_ulong_rtp(int);
721 ulong __ovld __cnfn convert_ulong_sat_rtp(int);
722 ulong __ovld __cnfn convert_ulong_rtn(int);
723 ulong __ovld __cnfn convert_ulong_sat_rtn(int);
724 ulong __ovld __cnfn convert_ulong(int);
725 ulong __ovld __cnfn convert_ulong_sat(int);
726 ulong __ovld __cnfn convert_ulong_rte(uint);
727 ulong __ovld __cnfn convert_ulong_sat_rte(uint);
728 ulong __ovld __cnfn convert_ulong_rtz(uint);
729 ulong __ovld __cnfn convert_ulong_sat_rtz(uint);
730 ulong __ovld __cnfn convert_ulong_rtp(uint);
731 ulong __ovld __cnfn convert_ulong_sat_rtp(uint);
732 ulong __ovld __cnfn convert_ulong_rtn(uint);
733 ulong __ovld __cnfn convert_ulong_sat_rtn(uint);
734 ulong __ovld __cnfn convert_ulong(uint);
735 ulong __ovld __cnfn convert_ulong_sat(uint);
736 ulong __ovld __cnfn convert_ulong_rte(long);
737 ulong __ovld __cnfn convert_ulong_sat_rte(long);
738 ulong __ovld __cnfn convert_ulong_rtz(long);
739 ulong __ovld __cnfn convert_ulong_sat_rtz(long);
740 ulong __ovld __cnfn convert_ulong_rtp(long);
741 ulong __ovld __cnfn convert_ulong_sat_rtp(long);
742 ulong __ovld __cnfn convert_ulong_rtn(long);
743 ulong __ovld __cnfn convert_ulong_sat_rtn(long);
744 ulong __ovld __cnfn convert_ulong(long);
745 ulong __ovld __cnfn convert_ulong_sat(long);
746 ulong __ovld __cnfn convert_ulong_rte(ulong);
747 ulong __ovld __cnfn convert_ulong_sat_rte(ulong);
748 ulong __ovld __cnfn convert_ulong_rtz(ulong);
749 ulong __ovld __cnfn convert_ulong_sat_rtz(ulong);
750 ulong __ovld __cnfn convert_ulong_rtp(ulong);
751 ulong __ovld __cnfn convert_ulong_sat_rtp(ulong);
752 ulong __ovld __cnfn convert_ulong_rtn(ulong);
753 ulong __ovld __cnfn convert_ulong_sat_rtn(ulong);
754 ulong __ovld __cnfn convert_ulong(ulong);
755 ulong __ovld __cnfn convert_ulong_sat(ulong);
756 ulong __ovld __cnfn convert_ulong_rte(float);
757 ulong __ovld __cnfn convert_ulong_sat_rte(float);
758 ulong __ovld __cnfn convert_ulong_rtz(float);
759 ulong __ovld __cnfn convert_ulong_sat_rtz(float);
760 ulong __ovld __cnfn convert_ulong_rtp(float);
761 ulong __ovld __cnfn convert_ulong_sat_rtp(float);
762 ulong __ovld __cnfn convert_ulong_rtn(float);
763 ulong __ovld __cnfn convert_ulong_sat_rtn(float);
764 ulong __ovld __cnfn convert_ulong(float);
765 ulong __ovld __cnfn convert_ulong_sat(float);
766 float __ovld __cnfn convert_float_rte(char);
767 float __ovld __cnfn convert_float_rtz(char);
768 float __ovld __cnfn convert_float_rtp(char);
769 float __ovld __cnfn convert_float_rtn(char);
770 float __ovld __cnfn convert_float(char);
771 float __ovld __cnfn convert_float_rte(uchar);
772 float __ovld __cnfn convert_float_rtz(uchar);
773 float __ovld __cnfn convert_float_rtp(uchar);
774 float __ovld __cnfn convert_float_rtn(uchar);
775 float __ovld __cnfn convert_float(uchar);
776 float __ovld __cnfn convert_float_rte(short);
777 float __ovld __cnfn convert_float_rtz(short);
778 float __ovld __cnfn convert_float_rtp(short);
779 float __ovld __cnfn convert_float_rtn(short);
780 float __ovld __cnfn convert_float(short);
781 float __ovld __cnfn convert_float_rte(ushort);
782 float __ovld __cnfn convert_float_rtz(ushort);
783 float __ovld __cnfn convert_float_rtp(ushort);
784 float __ovld __cnfn convert_float_rtn(ushort);
785 float __ovld __cnfn convert_float(ushort);
786 float __ovld __cnfn convert_float_rte(int);
787 float __ovld __cnfn convert_float_rtz(int);
788 float __ovld __cnfn convert_float_rtp(int);
789 float __ovld __cnfn convert_float_rtn(int);
790 float __ovld __cnfn convert_float(int);
791 float __ovld __cnfn convert_float_rte(uint);
792 float __ovld __cnfn convert_float_rtz(uint);
793 float __ovld __cnfn convert_float_rtp(uint);
794 float __ovld __cnfn convert_float_rtn(uint);
795 float __ovld __cnfn convert_float(uint);
796 float __ovld __cnfn convert_float_rte(long);
797 float __ovld __cnfn convert_float_rtz(long);
798 float __ovld __cnfn convert_float_rtp(long);
799 float __ovld __cnfn convert_float_rtn(long);
800 float __ovld __cnfn convert_float(long);
801 float __ovld __cnfn convert_float_rte(ulong);
802 float __ovld __cnfn convert_float_rtz(ulong);
803 float __ovld __cnfn convert_float_rtp(ulong);
804 float __ovld __cnfn convert_float_rtn(ulong);
805 float __ovld __cnfn convert_float(ulong);
806 float __ovld __cnfn convert_float_rte(float);
807 float __ovld __cnfn convert_float_rtz(float);
808 float __ovld __cnfn convert_float_rtp(float);
809 float __ovld __cnfn convert_float_rtn(float);
810 float __ovld __cnfn convert_float(float);
811 char2 __ovld __cnfn convert_char2_rte(char2);
812 char2 __ovld __cnfn convert_char2_sat_rte(char2);
813 char2 __ovld __cnfn convert_char2_rtz(char2);
814 char2 __ovld __cnfn convert_char2_sat_rtz(char2);
815 char2 __ovld __cnfn convert_char2_rtp(char2);
816 char2 __ovld __cnfn convert_char2_sat_rtp(char2);
817 char2 __ovld __cnfn convert_char2_rtn(char2);
818 char2 __ovld __cnfn convert_char2_sat_rtn(char2);
819 char2 __ovld __cnfn convert_char2(char2);
820 char2 __ovld __cnfn convert_char2_sat(char2);
821 char2 __ovld __cnfn convert_char2_rte(uchar2);
822 char2 __ovld __cnfn convert_char2_sat_rte(uchar2);
823 char2 __ovld __cnfn convert_char2_rtz(uchar2);
824 char2 __ovld __cnfn convert_char2_sat_rtz(uchar2);
825 char2 __ovld __cnfn convert_char2_rtp(uchar2);
826 char2 __ovld __cnfn convert_char2_sat_rtp(uchar2);
827 char2 __ovld __cnfn convert_char2_rtn(uchar2);
828 char2 __ovld __cnfn convert_char2_sat_rtn(uchar2);
829 char2 __ovld __cnfn convert_char2(uchar2);
830 char2 __ovld __cnfn convert_char2_sat(uchar2);
831 char2 __ovld __cnfn convert_char2_rte(short2);
832 char2 __ovld __cnfn convert_char2_sat_rte(short2);
833 char2 __ovld __cnfn convert_char2_rtz(short2);
834 char2 __ovld __cnfn convert_char2_sat_rtz(short2);
835 char2 __ovld __cnfn convert_char2_rtp(short2);
836 char2 __ovld __cnfn convert_char2_sat_rtp(short2);
837 char2 __ovld __cnfn convert_char2_rtn(short2);
838 char2 __ovld __cnfn convert_char2_sat_rtn(short2);
839 char2 __ovld __cnfn convert_char2(short2);
840 char2 __ovld __cnfn convert_char2_sat(short2);
841 char2 __ovld __cnfn convert_char2_rte(ushort2);
842 char2 __ovld __cnfn convert_char2_sat_rte(ushort2);
843 char2 __ovld __cnfn convert_char2_rtz(ushort2);
844 char2 __ovld __cnfn convert_char2_sat_rtz(ushort2);
845 char2 __ovld __cnfn convert_char2_rtp(ushort2);
846 char2 __ovld __cnfn convert_char2_sat_rtp(ushort2);
847 char2 __ovld __cnfn convert_char2_rtn(ushort2);
848 char2 __ovld __cnfn convert_char2_sat_rtn(ushort2);
849 char2 __ovld __cnfn convert_char2(ushort2);
850 char2 __ovld __cnfn convert_char2_sat(ushort2);
851 char2 __ovld __cnfn convert_char2_rte(int2);
852 char2 __ovld __cnfn convert_char2_sat_rte(int2);
853 char2 __ovld __cnfn convert_char2_rtz(int2);
854 char2 __ovld __cnfn convert_char2_sat_rtz(int2);
855 char2 __ovld __cnfn convert_char2_rtp(int2);
856 char2 __ovld __cnfn convert_char2_sat_rtp(int2);
857 char2 __ovld __cnfn convert_char2_rtn(int2);
858 char2 __ovld __cnfn convert_char2_sat_rtn(int2);
859 char2 __ovld __cnfn convert_char2(int2);
860 char2 __ovld __cnfn convert_char2_sat(int2);
861 char2 __ovld __cnfn convert_char2_rte(uint2);
862 char2 __ovld __cnfn convert_char2_sat_rte(uint2);
863 char2 __ovld __cnfn convert_char2_rtz(uint2);
864 char2 __ovld __cnfn convert_char2_sat_rtz(uint2);
865 char2 __ovld __cnfn convert_char2_rtp(uint2);
866 char2 __ovld __cnfn convert_char2_sat_rtp(uint2);
867 char2 __ovld __cnfn convert_char2_rtn(uint2);
868 char2 __ovld __cnfn convert_char2_sat_rtn(uint2);
869 char2 __ovld __cnfn convert_char2(uint2);
870 char2 __ovld __cnfn convert_char2_sat(uint2);
871 char2 __ovld __cnfn convert_char2_rte(long2);
872 char2 __ovld __cnfn convert_char2_sat_rte(long2);
873 char2 __ovld __cnfn convert_char2_rtz(long2);
874 char2 __ovld __cnfn convert_char2_sat_rtz(long2);
875 char2 __ovld __cnfn convert_char2_rtp(long2);
876 char2 __ovld __cnfn convert_char2_sat_rtp(long2);
877 char2 __ovld __cnfn convert_char2_rtn(long2);
878 char2 __ovld __cnfn convert_char2_sat_rtn(long2);
879 char2 __ovld __cnfn convert_char2(long2);
880 char2 __ovld __cnfn convert_char2_sat(long2);
881 char2 __ovld __cnfn convert_char2_rte(ulong2);
882 char2 __ovld __cnfn convert_char2_sat_rte(ulong2);
883 char2 __ovld __cnfn convert_char2_rtz(ulong2);
884 char2 __ovld __cnfn convert_char2_sat_rtz(ulong2);
885 char2 __ovld __cnfn convert_char2_rtp(ulong2);
886 char2 __ovld __cnfn convert_char2_sat_rtp(ulong2);
887 char2 __ovld __cnfn convert_char2_rtn(ulong2);
888 char2 __ovld __cnfn convert_char2_sat_rtn(ulong2);
889 char2 __ovld __cnfn convert_char2(ulong2);
890 char2 __ovld __cnfn convert_char2_sat(ulong2);
891 char2 __ovld __cnfn convert_char2_rte(float2);
892 char2 __ovld __cnfn convert_char2_sat_rte(float2);
893 char2 __ovld __cnfn convert_char2_rtz(float2);
894 char2 __ovld __cnfn convert_char2_sat_rtz(float2);
895 char2 __ovld __cnfn convert_char2_rtp(float2);
896 char2 __ovld __cnfn convert_char2_sat_rtp(float2);
897 char2 __ovld __cnfn convert_char2_rtn(float2);
898 char2 __ovld __cnfn convert_char2_sat_rtn(float2);
899 char2 __ovld __cnfn convert_char2(float2);
900 char2 __ovld __cnfn convert_char2_sat(float2);
901 uchar2 __ovld __cnfn convert_uchar2_rte(char2);
902 uchar2 __ovld __cnfn convert_uchar2_sat_rte(char2);
903 uchar2 __ovld __cnfn convert_uchar2_rtz(char2);
904 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(char2);
905 uchar2 __ovld __cnfn convert_uchar2_rtp(char2);
906 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(char2);
907 uchar2 __ovld __cnfn convert_uchar2_rtn(char2);
908 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(char2);
909 uchar2 __ovld __cnfn convert_uchar2(char2);
910 uchar2 __ovld __cnfn convert_uchar2_sat(char2);
911 uchar2 __ovld __cnfn convert_uchar2_rte(uchar2);
912 uchar2 __ovld __cnfn convert_uchar2_sat_rte(uchar2);
913 uchar2 __ovld __cnfn convert_uchar2_rtz(uchar2);
914 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(uchar2);
915 uchar2 __ovld __cnfn convert_uchar2_rtp(uchar2);
916 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(uchar2);
917 uchar2 __ovld __cnfn convert_uchar2_rtn(uchar2);
918 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(uchar2);
919 uchar2 __ovld __cnfn convert_uchar2(uchar2);
920 uchar2 __ovld __cnfn convert_uchar2_sat(uchar2);
921 uchar2 __ovld __cnfn convert_uchar2_rte(short2);
922 uchar2 __ovld __cnfn convert_uchar2_sat_rte(short2);
923 uchar2 __ovld __cnfn convert_uchar2_rtz(short2);
924 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(short2);
925 uchar2 __ovld __cnfn convert_uchar2_rtp(short2);
926 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(short2);
927 uchar2 __ovld __cnfn convert_uchar2_rtn(short2);
928 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(short2);
929 uchar2 __ovld __cnfn convert_uchar2(short2);
930 uchar2 __ovld __cnfn convert_uchar2_sat(short2);
931 uchar2 __ovld __cnfn convert_uchar2_rte(ushort2);
932 uchar2 __ovld __cnfn convert_uchar2_sat_rte(ushort2);
933 uchar2 __ovld __cnfn convert_uchar2_rtz(ushort2);
934 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(ushort2);
935 uchar2 __ovld __cnfn convert_uchar2_rtp(ushort2);
936 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(ushort2);
937 uchar2 __ovld __cnfn convert_uchar2_rtn(ushort2);
938 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(ushort2);
939 uchar2 __ovld __cnfn convert_uchar2(ushort2);
940 uchar2 __ovld __cnfn convert_uchar2_sat(ushort2);
941 uchar2 __ovld __cnfn convert_uchar2_rte(int2);
942 uchar2 __ovld __cnfn convert_uchar2_sat_rte(int2);
943 uchar2 __ovld __cnfn convert_uchar2_rtz(int2);
944 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(int2);
945 uchar2 __ovld __cnfn convert_uchar2_rtp(int2);
946 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(int2);
947 uchar2 __ovld __cnfn convert_uchar2_rtn(int2);
948 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(int2);
949 uchar2 __ovld __cnfn convert_uchar2(int2);
950 uchar2 __ovld __cnfn convert_uchar2_sat(int2);
951 uchar2 __ovld __cnfn convert_uchar2_rte(uint2);
952 uchar2 __ovld __cnfn convert_uchar2_sat_rte(uint2);
953 uchar2 __ovld __cnfn convert_uchar2_rtz(uint2);
954 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(uint2);
955 uchar2 __ovld __cnfn convert_uchar2_rtp(uint2);
956 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(uint2);
957 uchar2 __ovld __cnfn convert_uchar2_rtn(uint2);
958 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(uint2);
959 uchar2 __ovld __cnfn convert_uchar2(uint2);
960 uchar2 __ovld __cnfn convert_uchar2_sat(uint2);
961 uchar2 __ovld __cnfn convert_uchar2_rte(long2);
962 uchar2 __ovld __cnfn convert_uchar2_sat_rte(long2);
963 uchar2 __ovld __cnfn convert_uchar2_rtz(long2);
964 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(long2);
965 uchar2 __ovld __cnfn convert_uchar2_rtp(long2);
966 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(long2);
967 uchar2 __ovld __cnfn convert_uchar2_rtn(long2);
968 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(long2);
969 uchar2 __ovld __cnfn convert_uchar2(long2);
970 uchar2 __ovld __cnfn convert_uchar2_sat(long2);
971 uchar2 __ovld __cnfn convert_uchar2_rte(ulong2);
972 uchar2 __ovld __cnfn convert_uchar2_sat_rte(ulong2);
973 uchar2 __ovld __cnfn convert_uchar2_rtz(ulong2);
974 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(ulong2);
975 uchar2 __ovld __cnfn convert_uchar2_rtp(ulong2);
976 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(ulong2);
977 uchar2 __ovld __cnfn convert_uchar2_rtn(ulong2);
978 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(ulong2);
979 uchar2 __ovld __cnfn convert_uchar2(ulong2);
980 uchar2 __ovld __cnfn convert_uchar2_sat(ulong2);
981 uchar2 __ovld __cnfn convert_uchar2_rte(float2);
982 uchar2 __ovld __cnfn convert_uchar2_sat_rte(float2);
983 uchar2 __ovld __cnfn convert_uchar2_rtz(float2);
984 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(float2);
985 uchar2 __ovld __cnfn convert_uchar2_rtp(float2);
986 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(float2);
987 uchar2 __ovld __cnfn convert_uchar2_rtn(float2);
988 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(float2);
989 uchar2 __ovld __cnfn convert_uchar2(float2);
990 uchar2 __ovld __cnfn convert_uchar2_sat(float2);
991 short2 __ovld __cnfn convert_short2_rte(char2);
992 short2 __ovld __cnfn convert_short2_sat_rte(char2);
993 short2 __ovld __cnfn convert_short2_rtz(char2);
994 short2 __ovld __cnfn convert_short2_sat_rtz(char2);
995 short2 __ovld __cnfn convert_short2_rtp(char2);
996 short2 __ovld __cnfn convert_short2_sat_rtp(char2);
997 short2 __ovld __cnfn convert_short2_rtn(char2);
998 short2 __ovld __cnfn convert_short2_sat_rtn(char2);
999 short2 __ovld __cnfn convert_short2(char2);
1000 short2 __ovld __cnfn convert_short2_sat(char2);
1001 short2 __ovld __cnfn convert_short2_rte(uchar2);
1002 short2 __ovld __cnfn convert_short2_sat_rte(uchar2);
1003 short2 __ovld __cnfn convert_short2_rtz(uchar2);
1004 short2 __ovld __cnfn convert_short2_sat_rtz(uchar2);
1005 short2 __ovld __cnfn convert_short2_rtp(uchar2);
1006 short2 __ovld __cnfn convert_short2_sat_rtp(uchar2);
1007 short2 __ovld __cnfn convert_short2_rtn(uchar2);
1008 short2 __ovld __cnfn convert_short2_sat_rtn(uchar2);
1009 short2 __ovld __cnfn convert_short2(uchar2);
1010 short2 __ovld __cnfn convert_short2_sat(uchar2);
1011 short2 __ovld __cnfn convert_short2_rte(short2);
1012 short2 __ovld __cnfn convert_short2_sat_rte(short2);
1013 short2 __ovld __cnfn convert_short2_rtz(short2);
1014 short2 __ovld __cnfn convert_short2_sat_rtz(short2);
1015 short2 __ovld __cnfn convert_short2_rtp(short2);
1016 short2 __ovld __cnfn convert_short2_sat_rtp(short2);
1017 short2 __ovld __cnfn convert_short2_rtn(short2);
1018 short2 __ovld __cnfn convert_short2_sat_rtn(short2);
1019 short2 __ovld __cnfn convert_short2(short2);
1020 short2 __ovld __cnfn convert_short2_sat(short2);
1021 short2 __ovld __cnfn convert_short2_rte(ushort2);
1022 short2 __ovld __cnfn convert_short2_sat_rte(ushort2);
1023 short2 __ovld __cnfn convert_short2_rtz(ushort2);
1024 short2 __ovld __cnfn convert_short2_sat_rtz(ushort2);
1025 short2 __ovld __cnfn convert_short2_rtp(ushort2);
1026 short2 __ovld __cnfn convert_short2_sat_rtp(ushort2);
1027 short2 __ovld __cnfn convert_short2_rtn(ushort2);
1028 short2 __ovld __cnfn convert_short2_sat_rtn(ushort2);
1029 short2 __ovld __cnfn convert_short2(ushort2);
1030 short2 __ovld __cnfn convert_short2_sat(ushort2);
1031 short2 __ovld __cnfn convert_short2_rte(int2);
1032 short2 __ovld __cnfn convert_short2_sat_rte(int2);
1033 short2 __ovld __cnfn convert_short2_rtz(int2);
1034 short2 __ovld __cnfn convert_short2_sat_rtz(int2);
1035 short2 __ovld __cnfn convert_short2_rtp(int2);
1036 short2 __ovld __cnfn convert_short2_sat_rtp(int2);
1037 short2 __ovld __cnfn convert_short2_rtn(int2);
1038 short2 __ovld __cnfn convert_short2_sat_rtn(int2);
1039 short2 __ovld __cnfn convert_short2(int2);
1040 short2 __ovld __cnfn convert_short2_sat(int2);
1041 short2 __ovld __cnfn convert_short2_rte(uint2);
1042 short2 __ovld __cnfn convert_short2_sat_rte(uint2);
1043 short2 __ovld __cnfn convert_short2_rtz(uint2);
1044 short2 __ovld __cnfn convert_short2_sat_rtz(uint2);
1045 short2 __ovld __cnfn convert_short2_rtp(uint2);
1046 short2 __ovld __cnfn convert_short2_sat_rtp(uint2);
1047 short2 __ovld __cnfn convert_short2_rtn(uint2);
1048 short2 __ovld __cnfn convert_short2_sat_rtn(uint2);
1049 short2 __ovld __cnfn convert_short2(uint2);
1050 short2 __ovld __cnfn convert_short2_sat(uint2);
1051 short2 __ovld __cnfn convert_short2_rte(long2);
1052 short2 __ovld __cnfn convert_short2_sat_rte(long2);
1053 short2 __ovld __cnfn convert_short2_rtz(long2);
1054 short2 __ovld __cnfn convert_short2_sat_rtz(long2);
1055 short2 __ovld __cnfn convert_short2_rtp(long2);
1056 short2 __ovld __cnfn convert_short2_sat_rtp(long2);
1057 short2 __ovld __cnfn convert_short2_rtn(long2);
1058 short2 __ovld __cnfn convert_short2_sat_rtn(long2);
1059 short2 __ovld __cnfn convert_short2(long2);
1060 short2 __ovld __cnfn convert_short2_sat(long2);
1061 short2 __ovld __cnfn convert_short2_rte(ulong2);
1062 short2 __ovld __cnfn convert_short2_sat_rte(ulong2);
1063 short2 __ovld __cnfn convert_short2_rtz(ulong2);
1064 short2 __ovld __cnfn convert_short2_sat_rtz(ulong2);
1065 short2 __ovld __cnfn convert_short2_rtp(ulong2);
1066 short2 __ovld __cnfn convert_short2_sat_rtp(ulong2);
1067 short2 __ovld __cnfn convert_short2_rtn(ulong2);
1068 short2 __ovld __cnfn convert_short2_sat_rtn(ulong2);
1069 short2 __ovld __cnfn convert_short2(ulong2);
1070 short2 __ovld __cnfn convert_short2_sat(ulong2);
1071 short2 __ovld __cnfn convert_short2_rte(float2);
1072 short2 __ovld __cnfn convert_short2_sat_rte(float2);
1073 short2 __ovld __cnfn convert_short2_rtz(float2);
1074 short2 __ovld __cnfn convert_short2_sat_rtz(float2);
1075 short2 __ovld __cnfn convert_short2_rtp(float2);
1076 short2 __ovld __cnfn convert_short2_sat_rtp(float2);
1077 short2 __ovld __cnfn convert_short2_rtn(float2);
1078 short2 __ovld __cnfn convert_short2_sat_rtn(float2);
1079 short2 __ovld __cnfn convert_short2(float2);
1080 short2 __ovld __cnfn convert_short2_sat(float2);
1081 ushort2 __ovld __cnfn convert_ushort2_rte(char2);
1082 ushort2 __ovld __cnfn convert_ushort2_sat_rte(char2);
1083 ushort2 __ovld __cnfn convert_ushort2_rtz(char2);
1084 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(char2);
1085 ushort2 __ovld __cnfn convert_ushort2_rtp(char2);
1086 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(char2);
1087 ushort2 __ovld __cnfn convert_ushort2_rtn(char2);
1088 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(char2);
1089 ushort2 __ovld __cnfn convert_ushort2(char2);
1090 ushort2 __ovld __cnfn convert_ushort2_sat(char2);
1091 ushort2 __ovld __cnfn convert_ushort2_rte(uchar2);
1092 ushort2 __ovld __cnfn convert_ushort2_sat_rte(uchar2);
1093 ushort2 __ovld __cnfn convert_ushort2_rtz(uchar2);
1094 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(uchar2);
1095 ushort2 __ovld __cnfn convert_ushort2_rtp(uchar2);
1096 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(uchar2);
1097 ushort2 __ovld __cnfn convert_ushort2_rtn(uchar2);
1098 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(uchar2);
1099 ushort2 __ovld __cnfn convert_ushort2(uchar2);
1100 ushort2 __ovld __cnfn convert_ushort2_sat(uchar2);
1101 ushort2 __ovld __cnfn convert_ushort2_rte(short2);
1102 ushort2 __ovld __cnfn convert_ushort2_sat_rte(short2);
1103 ushort2 __ovld __cnfn convert_ushort2_rtz(short2);
1104 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(short2);
1105 ushort2 __ovld __cnfn convert_ushort2_rtp(short2);
1106 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(short2);
1107 ushort2 __ovld __cnfn convert_ushort2_rtn(short2);
1108 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(short2);
1109 ushort2 __ovld __cnfn convert_ushort2(short2);
1110 ushort2 __ovld __cnfn convert_ushort2_sat(short2);
1111 ushort2 __ovld __cnfn convert_ushort2_rte(ushort2);
1112 ushort2 __ovld __cnfn convert_ushort2_sat_rte(ushort2);
1113 ushort2 __ovld __cnfn convert_ushort2_rtz(ushort2);
1114 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(ushort2);
1115 ushort2 __ovld __cnfn convert_ushort2_rtp(ushort2);
1116 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(ushort2);
1117 ushort2 __ovld __cnfn convert_ushort2_rtn(ushort2);
1118 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(ushort2);
1119 ushort2 __ovld __cnfn convert_ushort2(ushort2);
1120 ushort2 __ovld __cnfn convert_ushort2_sat(ushort2);
1121 ushort2 __ovld __cnfn convert_ushort2_rte(int2);
1122 ushort2 __ovld __cnfn convert_ushort2_sat_rte(int2);
1123 ushort2 __ovld __cnfn convert_ushort2_rtz(int2);
1124 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(int2);
1125 ushort2 __ovld __cnfn convert_ushort2_rtp(int2);
1126 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(int2);
1127 ushort2 __ovld __cnfn convert_ushort2_rtn(int2);
1128 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(int2);
1129 ushort2 __ovld __cnfn convert_ushort2(int2);
1130 ushort2 __ovld __cnfn convert_ushort2_sat(int2);
1131 ushort2 __ovld __cnfn convert_ushort2_rte(uint2);
1132 ushort2 __ovld __cnfn convert_ushort2_sat_rte(uint2);
1133 ushort2 __ovld __cnfn convert_ushort2_rtz(uint2);
1134 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(uint2);
1135 ushort2 __ovld __cnfn convert_ushort2_rtp(uint2);
1136 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(uint2);
1137 ushort2 __ovld __cnfn convert_ushort2_rtn(uint2);
1138 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(uint2);
1139 ushort2 __ovld __cnfn convert_ushort2(uint2);
1140 ushort2 __ovld __cnfn convert_ushort2_sat(uint2);
1141 ushort2 __ovld __cnfn convert_ushort2_rte(long2);
1142 ushort2 __ovld __cnfn convert_ushort2_sat_rte(long2);
1143 ushort2 __ovld __cnfn convert_ushort2_rtz(long2);
1144 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(long2);
1145 ushort2 __ovld __cnfn convert_ushort2_rtp(long2);
1146 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(long2);
1147 ushort2 __ovld __cnfn convert_ushort2_rtn(long2);
1148 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(long2);
1149 ushort2 __ovld __cnfn convert_ushort2(long2);
1150 ushort2 __ovld __cnfn convert_ushort2_sat(long2);
1151 ushort2 __ovld __cnfn convert_ushort2_rte(ulong2);
1152 ushort2 __ovld __cnfn convert_ushort2_sat_rte(ulong2);
1153 ushort2 __ovld __cnfn convert_ushort2_rtz(ulong2);
1154 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(ulong2);
1155 ushort2 __ovld __cnfn convert_ushort2_rtp(ulong2);
1156 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(ulong2);
1157 ushort2 __ovld __cnfn convert_ushort2_rtn(ulong2);
1158 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(ulong2);
1159 ushort2 __ovld __cnfn convert_ushort2(ulong2);
1160 ushort2 __ovld __cnfn convert_ushort2_sat(ulong2);
1161 ushort2 __ovld __cnfn convert_ushort2_rte(float2);
1162 ushort2 __ovld __cnfn convert_ushort2_sat_rte(float2);
1163 ushort2 __ovld __cnfn convert_ushort2_rtz(float2);
1164 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(float2);
1165 ushort2 __ovld __cnfn convert_ushort2_rtp(float2);
1166 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(float2);
1167 ushort2 __ovld __cnfn convert_ushort2_rtn(float2);
1168 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(float2);
1169 ushort2 __ovld __cnfn convert_ushort2(float2);
1170 ushort2 __ovld __cnfn convert_ushort2_sat(float2);
1171 int2 __ovld __cnfn convert_int2_rte(char2);
1172 int2 __ovld __cnfn convert_int2_sat_rte(char2);
1173 int2 __ovld __cnfn convert_int2_rtz(char2);
1174 int2 __ovld __cnfn convert_int2_sat_rtz(char2);
1175 int2 __ovld __cnfn convert_int2_rtp(char2);
1176 int2 __ovld __cnfn convert_int2_sat_rtp(char2);
1177 int2 __ovld __cnfn convert_int2_rtn(char2);
1178 int2 __ovld __cnfn convert_int2_sat_rtn(char2);
1179 int2 __ovld __cnfn convert_int2(char2);
1180 int2 __ovld __cnfn convert_int2_sat(char2);
1181 int2 __ovld __cnfn convert_int2_rte(uchar2);
1182 int2 __ovld __cnfn convert_int2_sat_rte(uchar2);
1183 int2 __ovld __cnfn convert_int2_rtz(uchar2);
1184 int2 __ovld __cnfn convert_int2_sat_rtz(uchar2);
1185 int2 __ovld __cnfn convert_int2_rtp(uchar2);
1186 int2 __ovld __cnfn convert_int2_sat_rtp(uchar2);
1187 int2 __ovld __cnfn convert_int2_rtn(uchar2);
1188 int2 __ovld __cnfn convert_int2_sat_rtn(uchar2);
1189 int2 __ovld __cnfn convert_int2(uchar2);
1190 int2 __ovld __cnfn convert_int2_sat(uchar2);
1191 int2 __ovld __cnfn convert_int2_rte(short2);
1192 int2 __ovld __cnfn convert_int2_sat_rte(short2);
1193 int2 __ovld __cnfn convert_int2_rtz(short2);
1194 int2 __ovld __cnfn convert_int2_sat_rtz(short2);
1195 int2 __ovld __cnfn convert_int2_rtp(short2);
1196 int2 __ovld __cnfn convert_int2_sat_rtp(short2);
1197 int2 __ovld __cnfn convert_int2_rtn(short2);
1198 int2 __ovld __cnfn convert_int2_sat_rtn(short2);
1199 int2 __ovld __cnfn convert_int2(short2);
1200 int2 __ovld __cnfn convert_int2_sat(short2);
1201 int2 __ovld __cnfn convert_int2_rte(ushort2);
1202 int2 __ovld __cnfn convert_int2_sat_rte(ushort2);
1203 int2 __ovld __cnfn convert_int2_rtz(ushort2);
1204 int2 __ovld __cnfn convert_int2_sat_rtz(ushort2);
1205 int2 __ovld __cnfn convert_int2_rtp(ushort2);
1206 int2 __ovld __cnfn convert_int2_sat_rtp(ushort2);
1207 int2 __ovld __cnfn convert_int2_rtn(ushort2);
1208 int2 __ovld __cnfn convert_int2_sat_rtn(ushort2);
1209 int2 __ovld __cnfn convert_int2(ushort2);
1210 int2 __ovld __cnfn convert_int2_sat(ushort2);
1211 int2 __ovld __cnfn convert_int2_rte(int2);
1212 int2 __ovld __cnfn convert_int2_sat_rte(int2);
1213 int2 __ovld __cnfn convert_int2_rtz(int2);
1214 int2 __ovld __cnfn convert_int2_sat_rtz(int2);
1215 int2 __ovld __cnfn convert_int2_rtp(int2);
1216 int2 __ovld __cnfn convert_int2_sat_rtp(int2);
1217 int2 __ovld __cnfn convert_int2_rtn(int2);
1218 int2 __ovld __cnfn convert_int2_sat_rtn(int2);
1219 int2 __ovld __cnfn convert_int2(int2);
1220 int2 __ovld __cnfn convert_int2_sat(int2);
1221 int2 __ovld __cnfn convert_int2_rte(uint2);
1222 int2 __ovld __cnfn convert_int2_sat_rte(uint2);
1223 int2 __ovld __cnfn convert_int2_rtz(uint2);
1224 int2 __ovld __cnfn convert_int2_sat_rtz(uint2);
1225 int2 __ovld __cnfn convert_int2_rtp(uint2);
1226 int2 __ovld __cnfn convert_int2_sat_rtp(uint2);
1227 int2 __ovld __cnfn convert_int2_rtn(uint2);
1228 int2 __ovld __cnfn convert_int2_sat_rtn(uint2);
1229 int2 __ovld __cnfn convert_int2(uint2);
1230 int2 __ovld __cnfn convert_int2_sat(uint2);
1231 int2 __ovld __cnfn convert_int2_rte(long2);
1232 int2 __ovld __cnfn convert_int2_sat_rte(long2);
1233 int2 __ovld __cnfn convert_int2_rtz(long2);
1234 int2 __ovld __cnfn convert_int2_sat_rtz(long2);
1235 int2 __ovld __cnfn convert_int2_rtp(long2);
1236 int2 __ovld __cnfn convert_int2_sat_rtp(long2);
1237 int2 __ovld __cnfn convert_int2_rtn(long2);
1238 int2 __ovld __cnfn convert_int2_sat_rtn(long2);
1239 int2 __ovld __cnfn convert_int2(long2);
1240 int2 __ovld __cnfn convert_int2_sat(long2);
1241 int2 __ovld __cnfn convert_int2_rte(ulong2);
1242 int2 __ovld __cnfn convert_int2_sat_rte(ulong2);
1243 int2 __ovld __cnfn convert_int2_rtz(ulong2);
1244 int2 __ovld __cnfn convert_int2_sat_rtz(ulong2);
1245 int2 __ovld __cnfn convert_int2_rtp(ulong2);
1246 int2 __ovld __cnfn convert_int2_sat_rtp(ulong2);
1247 int2 __ovld __cnfn convert_int2_rtn(ulong2);
1248 int2 __ovld __cnfn convert_int2_sat_rtn(ulong2);
1249 int2 __ovld __cnfn convert_int2(ulong2);
1250 int2 __ovld __cnfn convert_int2_sat(ulong2);
1251 int2 __ovld __cnfn convert_int2_rte(float2);
1252 int2 __ovld __cnfn convert_int2_sat_rte(float2);
1253 int2 __ovld __cnfn convert_int2_rtz(float2);
1254 int2 __ovld __cnfn convert_int2_sat_rtz(float2);
1255 int2 __ovld __cnfn convert_int2_rtp(float2);
1256 int2 __ovld __cnfn convert_int2_sat_rtp(float2);
1257 int2 __ovld __cnfn convert_int2_rtn(float2);
1258 int2 __ovld __cnfn convert_int2_sat_rtn(float2);
1259 int2 __ovld __cnfn convert_int2(float2);
1260 int2 __ovld __cnfn convert_int2_sat(float2);
1261 uint2 __ovld __cnfn convert_uint2_rte(char2);
1262 uint2 __ovld __cnfn convert_uint2_sat_rte(char2);
1263 uint2 __ovld __cnfn convert_uint2_rtz(char2);
1264 uint2 __ovld __cnfn convert_uint2_sat_rtz(char2);
1265 uint2 __ovld __cnfn convert_uint2_rtp(char2);
1266 uint2 __ovld __cnfn convert_uint2_sat_rtp(char2);
1267 uint2 __ovld __cnfn convert_uint2_rtn(char2);
1268 uint2 __ovld __cnfn convert_uint2_sat_rtn(char2);
1269 uint2 __ovld __cnfn convert_uint2(char2);
1270 uint2 __ovld __cnfn convert_uint2_sat(char2);
1271 uint2 __ovld __cnfn convert_uint2_rte(uchar2);
1272 uint2 __ovld __cnfn convert_uint2_sat_rte(uchar2);
1273 uint2 __ovld __cnfn convert_uint2_rtz(uchar2);
1274 uint2 __ovld __cnfn convert_uint2_sat_rtz(uchar2);
1275 uint2 __ovld __cnfn convert_uint2_rtp(uchar2);
1276 uint2 __ovld __cnfn convert_uint2_sat_rtp(uchar2);
1277 uint2 __ovld __cnfn convert_uint2_rtn(uchar2);
1278 uint2 __ovld __cnfn convert_uint2_sat_rtn(uchar2);
1279 uint2 __ovld __cnfn convert_uint2(uchar2);
1280 uint2 __ovld __cnfn convert_uint2_sat(uchar2);
1281 uint2 __ovld __cnfn convert_uint2_rte(short2);
1282 uint2 __ovld __cnfn convert_uint2_sat_rte(short2);
1283 uint2 __ovld __cnfn convert_uint2_rtz(short2);
1284 uint2 __ovld __cnfn convert_uint2_sat_rtz(short2);
1285 uint2 __ovld __cnfn convert_uint2_rtp(short2);
1286 uint2 __ovld __cnfn convert_uint2_sat_rtp(short2);
1287 uint2 __ovld __cnfn convert_uint2_rtn(short2);
1288 uint2 __ovld __cnfn convert_uint2_sat_rtn(short2);
1289 uint2 __ovld __cnfn convert_uint2(short2);
1290 uint2 __ovld __cnfn convert_uint2_sat(short2);
1291 uint2 __ovld __cnfn convert_uint2_rte(ushort2);
1292 uint2 __ovld __cnfn convert_uint2_sat_rte(ushort2);
1293 uint2 __ovld __cnfn convert_uint2_rtz(ushort2);
1294 uint2 __ovld __cnfn convert_uint2_sat_rtz(ushort2);
1295 uint2 __ovld __cnfn convert_uint2_rtp(ushort2);
1296 uint2 __ovld __cnfn convert_uint2_sat_rtp(ushort2);
1297 uint2 __ovld __cnfn convert_uint2_rtn(ushort2);
1298 uint2 __ovld __cnfn convert_uint2_sat_rtn(ushort2);
1299 uint2 __ovld __cnfn convert_uint2(ushort2);
1300 uint2 __ovld __cnfn convert_uint2_sat(ushort2);
1301 uint2 __ovld __cnfn convert_uint2_rte(int2);
1302 uint2 __ovld __cnfn convert_uint2_sat_rte(int2);
1303 uint2 __ovld __cnfn convert_uint2_rtz(int2);
1304 uint2 __ovld __cnfn convert_uint2_sat_rtz(int2);
1305 uint2 __ovld __cnfn convert_uint2_rtp(int2);
1306 uint2 __ovld __cnfn convert_uint2_sat_rtp(int2);
1307 uint2 __ovld __cnfn convert_uint2_rtn(int2);
1308 uint2 __ovld __cnfn convert_uint2_sat_rtn(int2);
1309 uint2 __ovld __cnfn convert_uint2(int2);
1310 uint2 __ovld __cnfn convert_uint2_sat(int2);
1311 uint2 __ovld __cnfn convert_uint2_rte(uint2);
1312 uint2 __ovld __cnfn convert_uint2_sat_rte(uint2);
1313 uint2 __ovld __cnfn convert_uint2_rtz(uint2);
1314 uint2 __ovld __cnfn convert_uint2_sat_rtz(uint2);
1315 uint2 __ovld __cnfn convert_uint2_rtp(uint2);
1316 uint2 __ovld __cnfn convert_uint2_sat_rtp(uint2);
1317 uint2 __ovld __cnfn convert_uint2_rtn(uint2);
1318 uint2 __ovld __cnfn convert_uint2_sat_rtn(uint2);
1319 uint2 __ovld __cnfn convert_uint2(uint2);
1320 uint2 __ovld __cnfn convert_uint2_sat(uint2);
1321 uint2 __ovld __cnfn convert_uint2_rte(long2);
1322 uint2 __ovld __cnfn convert_uint2_sat_rte(long2);
1323 uint2 __ovld __cnfn convert_uint2_rtz(long2);
1324 uint2 __ovld __cnfn convert_uint2_sat_rtz(long2);
1325 uint2 __ovld __cnfn convert_uint2_rtp(long2);
1326 uint2 __ovld __cnfn convert_uint2_sat_rtp(long2);
1327 uint2 __ovld __cnfn convert_uint2_rtn(long2);
1328 uint2 __ovld __cnfn convert_uint2_sat_rtn(long2);
1329 uint2 __ovld __cnfn convert_uint2(long2);
1330 uint2 __ovld __cnfn convert_uint2_sat(long2);
1331 uint2 __ovld __cnfn convert_uint2_rte(ulong2);
1332 uint2 __ovld __cnfn convert_uint2_sat_rte(ulong2);
1333 uint2 __ovld __cnfn convert_uint2_rtz(ulong2);
1334 uint2 __ovld __cnfn convert_uint2_sat_rtz(ulong2);
1335 uint2 __ovld __cnfn convert_uint2_rtp(ulong2);
1336 uint2 __ovld __cnfn convert_uint2_sat_rtp(ulong2);
1337 uint2 __ovld __cnfn convert_uint2_rtn(ulong2);
1338 uint2 __ovld __cnfn convert_uint2_sat_rtn(ulong2);
1339 uint2 __ovld __cnfn convert_uint2(ulong2);
1340 uint2 __ovld __cnfn convert_uint2_sat(ulong2);
1341 uint2 __ovld __cnfn convert_uint2_rte(float2);
1342 uint2 __ovld __cnfn convert_uint2_sat_rte(float2);
1343 uint2 __ovld __cnfn convert_uint2_rtz(float2);
1344 uint2 __ovld __cnfn convert_uint2_sat_rtz(float2);
1345 uint2 __ovld __cnfn convert_uint2_rtp(float2);
1346 uint2 __ovld __cnfn convert_uint2_sat_rtp(float2);
1347 uint2 __ovld __cnfn convert_uint2_rtn(float2);
1348 uint2 __ovld __cnfn convert_uint2_sat_rtn(float2);
1349 uint2 __ovld __cnfn convert_uint2(float2);
1350 uint2 __ovld __cnfn convert_uint2_sat(float2);
1351 long2 __ovld __cnfn convert_long2_rte(char2);
1352 long2 __ovld __cnfn convert_long2_sat_rte(char2);
1353 long2 __ovld __cnfn convert_long2_rtz(char2);
1354 long2 __ovld __cnfn convert_long2_sat_rtz(char2);
1355 long2 __ovld __cnfn convert_long2_rtp(char2);
1356 long2 __ovld __cnfn convert_long2_sat_rtp(char2);
1357 long2 __ovld __cnfn convert_long2_rtn(char2);
1358 long2 __ovld __cnfn convert_long2_sat_rtn(char2);
1359 long2 __ovld __cnfn convert_long2(char2);
1360 long2 __ovld __cnfn convert_long2_sat(char2);
1361 long2 __ovld __cnfn convert_long2_rte(uchar2);
1362 long2 __ovld __cnfn convert_long2_sat_rte(uchar2);
1363 long2 __ovld __cnfn convert_long2_rtz(uchar2);
1364 long2 __ovld __cnfn convert_long2_sat_rtz(uchar2);
1365 long2 __ovld __cnfn convert_long2_rtp(uchar2);
1366 long2 __ovld __cnfn convert_long2_sat_rtp(uchar2);
1367 long2 __ovld __cnfn convert_long2_rtn(uchar2);
1368 long2 __ovld __cnfn convert_long2_sat_rtn(uchar2);
1369 long2 __ovld __cnfn convert_long2(uchar2);
1370 long2 __ovld __cnfn convert_long2_sat(uchar2);
1371 long2 __ovld __cnfn convert_long2_rte(short2);
1372 long2 __ovld __cnfn convert_long2_sat_rte(short2);
1373 long2 __ovld __cnfn convert_long2_rtz(short2);
1374 long2 __ovld __cnfn convert_long2_sat_rtz(short2);
1375 long2 __ovld __cnfn convert_long2_rtp(short2);
1376 long2 __ovld __cnfn convert_long2_sat_rtp(short2);
1377 long2 __ovld __cnfn convert_long2_rtn(short2);
1378 long2 __ovld __cnfn convert_long2_sat_rtn(short2);
1379 long2 __ovld __cnfn convert_long2(short2);
1380 long2 __ovld __cnfn convert_long2_sat(short2);
1381 long2 __ovld __cnfn convert_long2_rte(ushort2);
1382 long2 __ovld __cnfn convert_long2_sat_rte(ushort2);
1383 long2 __ovld __cnfn convert_long2_rtz(ushort2);
1384 long2 __ovld __cnfn convert_long2_sat_rtz(ushort2);
1385 long2 __ovld __cnfn convert_long2_rtp(ushort2);
1386 long2 __ovld __cnfn convert_long2_sat_rtp(ushort2);
1387 long2 __ovld __cnfn convert_long2_rtn(ushort2);
1388 long2 __ovld __cnfn convert_long2_sat_rtn(ushort2);
1389 long2 __ovld __cnfn convert_long2(ushort2);
1390 long2 __ovld __cnfn convert_long2_sat(ushort2);
1391 long2 __ovld __cnfn convert_long2_rte(int2);
1392 long2 __ovld __cnfn convert_long2_sat_rte(int2);
1393 long2 __ovld __cnfn convert_long2_rtz(int2);
1394 long2 __ovld __cnfn convert_long2_sat_rtz(int2);
1395 long2 __ovld __cnfn convert_long2_rtp(int2);
1396 long2 __ovld __cnfn convert_long2_sat_rtp(int2);
1397 long2 __ovld __cnfn convert_long2_rtn(int2);
1398 long2 __ovld __cnfn convert_long2_sat_rtn(int2);
1399 long2 __ovld __cnfn convert_long2(int2);
1400 long2 __ovld __cnfn convert_long2_sat(int2);
1401 long2 __ovld __cnfn convert_long2_rte(uint2);
1402 long2 __ovld __cnfn convert_long2_sat_rte(uint2);
1403 long2 __ovld __cnfn convert_long2_rtz(uint2);
1404 long2 __ovld __cnfn convert_long2_sat_rtz(uint2);
1405 long2 __ovld __cnfn convert_long2_rtp(uint2);
1406 long2 __ovld __cnfn convert_long2_sat_rtp(uint2);
1407 long2 __ovld __cnfn convert_long2_rtn(uint2);
1408 long2 __ovld __cnfn convert_long2_sat_rtn(uint2);
1409 long2 __ovld __cnfn convert_long2(uint2);
1410 long2 __ovld __cnfn convert_long2_sat(uint2);
1411 long2 __ovld __cnfn convert_long2_rte(long2);
1412 long2 __ovld __cnfn convert_long2_sat_rte(long2);
1413 long2 __ovld __cnfn convert_long2_rtz(long2);
1414 long2 __ovld __cnfn convert_long2_sat_rtz(long2);
1415 long2 __ovld __cnfn convert_long2_rtp(long2);
1416 long2 __ovld __cnfn convert_long2_sat_rtp(long2);
1417 long2 __ovld __cnfn convert_long2_rtn(long2);
1418 long2 __ovld __cnfn convert_long2_sat_rtn(long2);
1419 long2 __ovld __cnfn convert_long2(long2);
1420 long2 __ovld __cnfn convert_long2_sat(long2);
1421 long2 __ovld __cnfn convert_long2_rte(ulong2);
1422 long2 __ovld __cnfn convert_long2_sat_rte(ulong2);
1423 long2 __ovld __cnfn convert_long2_rtz(ulong2);
1424 long2 __ovld __cnfn convert_long2_sat_rtz(ulong2);
1425 long2 __ovld __cnfn convert_long2_rtp(ulong2);
1426 long2 __ovld __cnfn convert_long2_sat_rtp(ulong2);
1427 long2 __ovld __cnfn convert_long2_rtn(ulong2);
1428 long2 __ovld __cnfn convert_long2_sat_rtn(ulong2);
1429 long2 __ovld __cnfn convert_long2(ulong2);
1430 long2 __ovld __cnfn convert_long2_sat(ulong2);
1431 long2 __ovld __cnfn convert_long2_rte(float2);
1432 long2 __ovld __cnfn convert_long2_sat_rte(float2);
1433 long2 __ovld __cnfn convert_long2_rtz(float2);
1434 long2 __ovld __cnfn convert_long2_sat_rtz(float2);
1435 long2 __ovld __cnfn convert_long2_rtp(float2);
1436 long2 __ovld __cnfn convert_long2_sat_rtp(float2);
1437 long2 __ovld __cnfn convert_long2_rtn(float2);
1438 long2 __ovld __cnfn convert_long2_sat_rtn(float2);
1439 long2 __ovld __cnfn convert_long2(float2);
1440 long2 __ovld __cnfn convert_long2_sat(float2);
1441 ulong2 __ovld __cnfn convert_ulong2_rte(char2);
1442 ulong2 __ovld __cnfn convert_ulong2_sat_rte(char2);
1443 ulong2 __ovld __cnfn convert_ulong2_rtz(char2);
1444 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(char2);
1445 ulong2 __ovld __cnfn convert_ulong2_rtp(char2);
1446 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(char2);
1447 ulong2 __ovld __cnfn convert_ulong2_rtn(char2);
1448 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(char2);
1449 ulong2 __ovld __cnfn convert_ulong2(char2);
1450 ulong2 __ovld __cnfn convert_ulong2_sat(char2);
1451 ulong2 __ovld __cnfn convert_ulong2_rte(uchar2);
1452 ulong2 __ovld __cnfn convert_ulong2_sat_rte(uchar2);
1453 ulong2 __ovld __cnfn convert_ulong2_rtz(uchar2);
1454 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(uchar2);
1455 ulong2 __ovld __cnfn convert_ulong2_rtp(uchar2);
1456 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(uchar2);
1457 ulong2 __ovld __cnfn convert_ulong2_rtn(uchar2);
1458 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(uchar2);
1459 ulong2 __ovld __cnfn convert_ulong2(uchar2);
1460 ulong2 __ovld __cnfn convert_ulong2_sat(uchar2);
1461 ulong2 __ovld __cnfn convert_ulong2_rte(short2);
1462 ulong2 __ovld __cnfn convert_ulong2_sat_rte(short2);
1463 ulong2 __ovld __cnfn convert_ulong2_rtz(short2);
1464 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(short2);
1465 ulong2 __ovld __cnfn convert_ulong2_rtp(short2);
1466 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(short2);
1467 ulong2 __ovld __cnfn convert_ulong2_rtn(short2);
1468 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(short2);
1469 ulong2 __ovld __cnfn convert_ulong2(short2);
1470 ulong2 __ovld __cnfn convert_ulong2_sat(short2);
1471 ulong2 __ovld __cnfn convert_ulong2_rte(ushort2);
1472 ulong2 __ovld __cnfn convert_ulong2_sat_rte(ushort2);
1473 ulong2 __ovld __cnfn convert_ulong2_rtz(ushort2);
1474 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(ushort2);
1475 ulong2 __ovld __cnfn convert_ulong2_rtp(ushort2);
1476 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(ushort2);
1477 ulong2 __ovld __cnfn convert_ulong2_rtn(ushort2);
1478 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(ushort2);
1479 ulong2 __ovld __cnfn convert_ulong2(ushort2);
1480 ulong2 __ovld __cnfn convert_ulong2_sat(ushort2);
1481 ulong2 __ovld __cnfn convert_ulong2_rte(int2);
1482 ulong2 __ovld __cnfn convert_ulong2_sat_rte(int2);
1483 ulong2 __ovld __cnfn convert_ulong2_rtz(int2);
1484 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(int2);
1485 ulong2 __ovld __cnfn convert_ulong2_rtp(int2);
1486 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(int2);
1487 ulong2 __ovld __cnfn convert_ulong2_rtn(int2);
1488 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(int2);
1489 ulong2 __ovld __cnfn convert_ulong2(int2);
1490 ulong2 __ovld __cnfn convert_ulong2_sat(int2);
1491 ulong2 __ovld __cnfn convert_ulong2_rte(uint2);
1492 ulong2 __ovld __cnfn convert_ulong2_sat_rte(uint2);
1493 ulong2 __ovld __cnfn convert_ulong2_rtz(uint2);
1494 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(uint2);
1495 ulong2 __ovld __cnfn convert_ulong2_rtp(uint2);
1496 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(uint2);
1497 ulong2 __ovld __cnfn convert_ulong2_rtn(uint2);
1498 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(uint2);
1499 ulong2 __ovld __cnfn convert_ulong2(uint2);
1500 ulong2 __ovld __cnfn convert_ulong2_sat(uint2);
1501 ulong2 __ovld __cnfn convert_ulong2_rte(long2);
1502 ulong2 __ovld __cnfn convert_ulong2_sat_rte(long2);
1503 ulong2 __ovld __cnfn convert_ulong2_rtz(long2);
1504 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(long2);
1505 ulong2 __ovld __cnfn convert_ulong2_rtp(long2);
1506 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(long2);
1507 ulong2 __ovld __cnfn convert_ulong2_rtn(long2);
1508 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(long2);
1509 ulong2 __ovld __cnfn convert_ulong2(long2);
1510 ulong2 __ovld __cnfn convert_ulong2_sat(long2);
1511 ulong2 __ovld __cnfn convert_ulong2_rte(ulong2);
1512 ulong2 __ovld __cnfn convert_ulong2_sat_rte(ulong2);
1513 ulong2 __ovld __cnfn convert_ulong2_rtz(ulong2);
1514 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(ulong2);
1515 ulong2 __ovld __cnfn convert_ulong2_rtp(ulong2);
1516 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(ulong2);
1517 ulong2 __ovld __cnfn convert_ulong2_rtn(ulong2);
1518 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(ulong2);
1519 ulong2 __ovld __cnfn convert_ulong2(ulong2);
1520 ulong2 __ovld __cnfn convert_ulong2_sat(ulong2);
1521 ulong2 __ovld __cnfn convert_ulong2_rte(float2);
1522 ulong2 __ovld __cnfn convert_ulong2_sat_rte(float2);
1523 ulong2 __ovld __cnfn convert_ulong2_rtz(float2);
1524 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(float2);
1525 ulong2 __ovld __cnfn convert_ulong2_rtp(float2);
1526 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(float2);
1527 ulong2 __ovld __cnfn convert_ulong2_rtn(float2);
1528 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(float2);
1529 ulong2 __ovld __cnfn convert_ulong2(float2);
1530 ulong2 __ovld __cnfn convert_ulong2_sat(float2);
1531 float2 __ovld __cnfn convert_float2_rte(char2);
1532 float2 __ovld __cnfn convert_float2_rtz(char2);
1533 float2 __ovld __cnfn convert_float2_rtp(char2);
1534 float2 __ovld __cnfn convert_float2_rtn(char2);
1535 float2 __ovld __cnfn convert_float2(char2);
1536 float2 __ovld __cnfn convert_float2_rte(uchar2);
1537 float2 __ovld __cnfn convert_float2_rtz(uchar2);
1538 float2 __ovld __cnfn convert_float2_rtp(uchar2);
1539 float2 __ovld __cnfn convert_float2_rtn(uchar2);
1540 float2 __ovld __cnfn convert_float2(uchar2);
1541 float2 __ovld __cnfn convert_float2_rte(short2);
1542 float2 __ovld __cnfn convert_float2_rtz(short2);
1543 float2 __ovld __cnfn convert_float2_rtp(short2);
1544 float2 __ovld __cnfn convert_float2_rtn(short2);
1545 float2 __ovld __cnfn convert_float2(short2);
1546 float2 __ovld __cnfn convert_float2_rte(ushort2);
1547 float2 __ovld __cnfn convert_float2_rtz(ushort2);
1548 float2 __ovld __cnfn convert_float2_rtp(ushort2);
1549 float2 __ovld __cnfn convert_float2_rtn(ushort2);
1550 float2 __ovld __cnfn convert_float2(ushort2);
1551 float2 __ovld __cnfn convert_float2_rte(int2);
1552 float2 __ovld __cnfn convert_float2_rtz(int2);
1553 float2 __ovld __cnfn convert_float2_rtp(int2);
1554 float2 __ovld __cnfn convert_float2_rtn(int2);
1555 float2 __ovld __cnfn convert_float2(int2);
1556 float2 __ovld __cnfn convert_float2_rte(uint2);
1557 float2 __ovld __cnfn convert_float2_rtz(uint2);
1558 float2 __ovld __cnfn convert_float2_rtp(uint2);
1559 float2 __ovld __cnfn convert_float2_rtn(uint2);
1560 float2 __ovld __cnfn convert_float2(uint2);
1561 float2 __ovld __cnfn convert_float2_rte(long2);
1562 float2 __ovld __cnfn convert_float2_rtz(long2);
1563 float2 __ovld __cnfn convert_float2_rtp(long2);
1564 float2 __ovld __cnfn convert_float2_rtn(long2);
1565 float2 __ovld __cnfn convert_float2(long2);
1566 float2 __ovld __cnfn convert_float2_rte(ulong2);
1567 float2 __ovld __cnfn convert_float2_rtz(ulong2);
1568 float2 __ovld __cnfn convert_float2_rtp(ulong2);
1569 float2 __ovld __cnfn convert_float2_rtn(ulong2);
1570 float2 __ovld __cnfn convert_float2(ulong2);
1571 float2 __ovld __cnfn convert_float2_rte(float2);
1572 float2 __ovld __cnfn convert_float2_rtz(float2);
1573 float2 __ovld __cnfn convert_float2_rtp(float2);
1574 float2 __ovld __cnfn convert_float2_rtn(float2);
1575 float2 __ovld __cnfn convert_float2(float2);
1576 char3 __ovld __cnfn convert_char3_rte(char3);
1577 char3 __ovld __cnfn convert_char3_sat_rte(char3);
1578 char3 __ovld __cnfn convert_char3_rtz(char3);
1579 char3 __ovld __cnfn convert_char3_sat_rtz(char3);
1580 char3 __ovld __cnfn convert_char3_rtp(char3);
1581 char3 __ovld __cnfn convert_char3_sat_rtp(char3);
1582 char3 __ovld __cnfn convert_char3_rtn(char3);
1583 char3 __ovld __cnfn convert_char3_sat_rtn(char3);
1584 char3 __ovld __cnfn convert_char3(char3);
1585 char3 __ovld __cnfn convert_char3_sat(char3);
1586 char3 __ovld __cnfn convert_char3_rte(uchar3);
1587 char3 __ovld __cnfn convert_char3_sat_rte(uchar3);
1588 char3 __ovld __cnfn convert_char3_rtz(uchar3);
1589 char3 __ovld __cnfn convert_char3_sat_rtz(uchar3);
1590 char3 __ovld __cnfn convert_char3_rtp(uchar3);
1591 char3 __ovld __cnfn convert_char3_sat_rtp(uchar3);
1592 char3 __ovld __cnfn convert_char3_rtn(uchar3);
1593 char3 __ovld __cnfn convert_char3_sat_rtn(uchar3);
1594 char3 __ovld __cnfn convert_char3(uchar3);
1595 char3 __ovld __cnfn convert_char3_sat(uchar3);
1596 char3 __ovld __cnfn convert_char3_rte(short3);
1597 char3 __ovld __cnfn convert_char3_sat_rte(short3);
1598 char3 __ovld __cnfn convert_char3_rtz(short3);
1599 char3 __ovld __cnfn convert_char3_sat_rtz(short3);
1600 char3 __ovld __cnfn convert_char3_rtp(short3);
1601 char3 __ovld __cnfn convert_char3_sat_rtp(short3);
1602 char3 __ovld __cnfn convert_char3_rtn(short3);
1603 char3 __ovld __cnfn convert_char3_sat_rtn(short3);
1604 char3 __ovld __cnfn convert_char3(short3);
1605 char3 __ovld __cnfn convert_char3_sat(short3);
1606 char3 __ovld __cnfn convert_char3_rte(ushort3);
1607 char3 __ovld __cnfn convert_char3_sat_rte(ushort3);
1608 char3 __ovld __cnfn convert_char3_rtz(ushort3);
1609 char3 __ovld __cnfn convert_char3_sat_rtz(ushort3);
1610 char3 __ovld __cnfn convert_char3_rtp(ushort3);
1611 char3 __ovld __cnfn convert_char3_sat_rtp(ushort3);
1612 char3 __ovld __cnfn convert_char3_rtn(ushort3);
1613 char3 __ovld __cnfn convert_char3_sat_rtn(ushort3);
1614 char3 __ovld __cnfn convert_char3(ushort3);
1615 char3 __ovld __cnfn convert_char3_sat(ushort3);
1616 char3 __ovld __cnfn convert_char3_rte(int3);
1617 char3 __ovld __cnfn convert_char3_sat_rte(int3);
1618 char3 __ovld __cnfn convert_char3_rtz(int3);
1619 char3 __ovld __cnfn convert_char3_sat_rtz(int3);
1620 char3 __ovld __cnfn convert_char3_rtp(int3);
1621 char3 __ovld __cnfn convert_char3_sat_rtp(int3);
1622 char3 __ovld __cnfn convert_char3_rtn(int3);
1623 char3 __ovld __cnfn convert_char3_sat_rtn(int3);
1624 char3 __ovld __cnfn convert_char3(int3);
1625 char3 __ovld __cnfn convert_char3_sat(int3);
1626 char3 __ovld __cnfn convert_char3_rte(uint3);
1627 char3 __ovld __cnfn convert_char3_sat_rte(uint3);
1628 char3 __ovld __cnfn convert_char3_rtz(uint3);
1629 char3 __ovld __cnfn convert_char3_sat_rtz(uint3);
1630 char3 __ovld __cnfn convert_char3_rtp(uint3);
1631 char3 __ovld __cnfn convert_char3_sat_rtp(uint3);
1632 char3 __ovld __cnfn convert_char3_rtn(uint3);
1633 char3 __ovld __cnfn convert_char3_sat_rtn(uint3);
1634 char3 __ovld __cnfn convert_char3(uint3);
1635 char3 __ovld __cnfn convert_char3_sat(uint3);
1636 char3 __ovld __cnfn convert_char3_rte(long3);
1637 char3 __ovld __cnfn convert_char3_sat_rte(long3);
1638 char3 __ovld __cnfn convert_char3_rtz(long3);
1639 char3 __ovld __cnfn convert_char3_sat_rtz(long3);
1640 char3 __ovld __cnfn convert_char3_rtp(long3);
1641 char3 __ovld __cnfn convert_char3_sat_rtp(long3);
1642 char3 __ovld __cnfn convert_char3_rtn(long3);
1643 char3 __ovld __cnfn convert_char3_sat_rtn(long3);
1644 char3 __ovld __cnfn convert_char3(long3);
1645 char3 __ovld __cnfn convert_char3_sat(long3);
1646 char3 __ovld __cnfn convert_char3_rte(ulong3);
1647 char3 __ovld __cnfn convert_char3_sat_rte(ulong3);
1648 char3 __ovld __cnfn convert_char3_rtz(ulong3);
1649 char3 __ovld __cnfn convert_char3_sat_rtz(ulong3);
1650 char3 __ovld __cnfn convert_char3_rtp(ulong3);
1651 char3 __ovld __cnfn convert_char3_sat_rtp(ulong3);
1652 char3 __ovld __cnfn convert_char3_rtn(ulong3);
1653 char3 __ovld __cnfn convert_char3_sat_rtn(ulong3);
1654 char3 __ovld __cnfn convert_char3(ulong3);
1655 char3 __ovld __cnfn convert_char3_sat(ulong3);
1656 char3 __ovld __cnfn convert_char3_rte(float3);
1657 char3 __ovld __cnfn convert_char3_sat_rte(float3);
1658 char3 __ovld __cnfn convert_char3_rtz(float3);
1659 char3 __ovld __cnfn convert_char3_sat_rtz(float3);
1660 char3 __ovld __cnfn convert_char3_rtp(float3);
1661 char3 __ovld __cnfn convert_char3_sat_rtp(float3);
1662 char3 __ovld __cnfn convert_char3_rtn(float3);
1663 char3 __ovld __cnfn convert_char3_sat_rtn(float3);
1664 char3 __ovld __cnfn convert_char3(float3);
1665 char3 __ovld __cnfn convert_char3_sat(float3);
1666 uchar3 __ovld __cnfn convert_uchar3_rte(char3);
1667 uchar3 __ovld __cnfn convert_uchar3_sat_rte(char3);
1668 uchar3 __ovld __cnfn convert_uchar3_rtz(char3);
1669 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(char3);
1670 uchar3 __ovld __cnfn convert_uchar3_rtp(char3);
1671 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(char3);
1672 uchar3 __ovld __cnfn convert_uchar3_rtn(char3);
1673 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(char3);
1674 uchar3 __ovld __cnfn convert_uchar3(char3);
1675 uchar3 __ovld __cnfn convert_uchar3_sat(char3);
1676 uchar3 __ovld __cnfn convert_uchar3_rte(uchar3);
1677 uchar3 __ovld __cnfn convert_uchar3_sat_rte(uchar3);
1678 uchar3 __ovld __cnfn convert_uchar3_rtz(uchar3);
1679 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(uchar3);
1680 uchar3 __ovld __cnfn convert_uchar3_rtp(uchar3);
1681 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(uchar3);
1682 uchar3 __ovld __cnfn convert_uchar3_rtn(uchar3);
1683 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(uchar3);
1684 uchar3 __ovld __cnfn convert_uchar3(uchar3);
1685 uchar3 __ovld __cnfn convert_uchar3_sat(uchar3);
1686 uchar3 __ovld __cnfn convert_uchar3_rte(short3);
1687 uchar3 __ovld __cnfn convert_uchar3_sat_rte(short3);
1688 uchar3 __ovld __cnfn convert_uchar3_rtz(short3);
1689 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(short3);
1690 uchar3 __ovld __cnfn convert_uchar3_rtp(short3);
1691 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(short3);
1692 uchar3 __ovld __cnfn convert_uchar3_rtn(short3);
1693 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(short3);
1694 uchar3 __ovld __cnfn convert_uchar3(short3);
1695 uchar3 __ovld __cnfn convert_uchar3_sat(short3);
1696 uchar3 __ovld __cnfn convert_uchar3_rte(ushort3);
1697 uchar3 __ovld __cnfn convert_uchar3_sat_rte(ushort3);
1698 uchar3 __ovld __cnfn convert_uchar3_rtz(ushort3);
1699 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(ushort3);
1700 uchar3 __ovld __cnfn convert_uchar3_rtp(ushort3);
1701 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(ushort3);
1702 uchar3 __ovld __cnfn convert_uchar3_rtn(ushort3);
1703 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(ushort3);
1704 uchar3 __ovld __cnfn convert_uchar3(ushort3);
1705 uchar3 __ovld __cnfn convert_uchar3_sat(ushort3);
1706 uchar3 __ovld __cnfn convert_uchar3_rte(int3);
1707 uchar3 __ovld __cnfn convert_uchar3_sat_rte(int3);
1708 uchar3 __ovld __cnfn convert_uchar3_rtz(int3);
1709 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(int3);
1710 uchar3 __ovld __cnfn convert_uchar3_rtp(int3);
1711 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(int3);
1712 uchar3 __ovld __cnfn convert_uchar3_rtn(int3);
1713 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(int3);
1714 uchar3 __ovld __cnfn convert_uchar3(int3);
1715 uchar3 __ovld __cnfn convert_uchar3_sat(int3);
1716 uchar3 __ovld __cnfn convert_uchar3_rte(uint3);
1717 uchar3 __ovld __cnfn convert_uchar3_sat_rte(uint3);
1718 uchar3 __ovld __cnfn convert_uchar3_rtz(uint3);
1719 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(uint3);
1720 uchar3 __ovld __cnfn convert_uchar3_rtp(uint3);
1721 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(uint3);
1722 uchar3 __ovld __cnfn convert_uchar3_rtn(uint3);
1723 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(uint3);
1724 uchar3 __ovld __cnfn convert_uchar3(uint3);
1725 uchar3 __ovld __cnfn convert_uchar3_sat(uint3);
1726 uchar3 __ovld __cnfn convert_uchar3_rte(long3);
1727 uchar3 __ovld __cnfn convert_uchar3_sat_rte(long3);
1728 uchar3 __ovld __cnfn convert_uchar3_rtz(long3);
1729 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(long3);
1730 uchar3 __ovld __cnfn convert_uchar3_rtp(long3);
1731 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(long3);
1732 uchar3 __ovld __cnfn convert_uchar3_rtn(long3);
1733 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(long3);
1734 uchar3 __ovld __cnfn convert_uchar3(long3);
1735 uchar3 __ovld __cnfn convert_uchar3_sat(long3);
1736 uchar3 __ovld __cnfn convert_uchar3_rte(ulong3);
1737 uchar3 __ovld __cnfn convert_uchar3_sat_rte(ulong3);
1738 uchar3 __ovld __cnfn convert_uchar3_rtz(ulong3);
1739 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(ulong3);
1740 uchar3 __ovld __cnfn convert_uchar3_rtp(ulong3);
1741 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(ulong3);
1742 uchar3 __ovld __cnfn convert_uchar3_rtn(ulong3);
1743 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(ulong3);
1744 uchar3 __ovld __cnfn convert_uchar3(ulong3);
1745 uchar3 __ovld __cnfn convert_uchar3_sat(ulong3);
1746 uchar3 __ovld __cnfn convert_uchar3_rte(float3);
1747 uchar3 __ovld __cnfn convert_uchar3_sat_rte(float3);
1748 uchar3 __ovld __cnfn convert_uchar3_rtz(float3);
1749 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(float3);
1750 uchar3 __ovld __cnfn convert_uchar3_rtp(float3);
1751 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(float3);
1752 uchar3 __ovld __cnfn convert_uchar3_rtn(float3);
1753 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(float3);
1754 uchar3 __ovld __cnfn convert_uchar3(float3);
1755 uchar3 __ovld __cnfn convert_uchar3_sat(float3);
1756 short3 __ovld __cnfn convert_short3_rte(char3);
1757 short3 __ovld __cnfn convert_short3_sat_rte(char3);
1758 short3 __ovld __cnfn convert_short3_rtz(char3);
1759 short3 __ovld __cnfn convert_short3_sat_rtz(char3);
1760 short3 __ovld __cnfn convert_short3_rtp(char3);
1761 short3 __ovld __cnfn convert_short3_sat_rtp(char3);
1762 short3 __ovld __cnfn convert_short3_rtn(char3);
1763 short3 __ovld __cnfn convert_short3_sat_rtn(char3);
1764 short3 __ovld __cnfn convert_short3(char3);
1765 short3 __ovld __cnfn convert_short3_sat(char3);
1766 short3 __ovld __cnfn convert_short3_rte(uchar3);
1767 short3 __ovld __cnfn convert_short3_sat_rte(uchar3);
1768 short3 __ovld __cnfn convert_short3_rtz(uchar3);
1769 short3 __ovld __cnfn convert_short3_sat_rtz(uchar3);
1770 short3 __ovld __cnfn convert_short3_rtp(uchar3);
1771 short3 __ovld __cnfn convert_short3_sat_rtp(uchar3);
1772 short3 __ovld __cnfn convert_short3_rtn(uchar3);
1773 short3 __ovld __cnfn convert_short3_sat_rtn(uchar3);
1774 short3 __ovld __cnfn convert_short3(uchar3);
1775 short3 __ovld __cnfn convert_short3_sat(uchar3);
1776 short3 __ovld __cnfn convert_short3_rte(short3);
1777 short3 __ovld __cnfn convert_short3_sat_rte(short3);
1778 short3 __ovld __cnfn convert_short3_rtz(short3);
1779 short3 __ovld __cnfn convert_short3_sat_rtz(short3);
1780 short3 __ovld __cnfn convert_short3_rtp(short3);
1781 short3 __ovld __cnfn convert_short3_sat_rtp(short3);
1782 short3 __ovld __cnfn convert_short3_rtn(short3);
1783 short3 __ovld __cnfn convert_short3_sat_rtn(short3);
1784 short3 __ovld __cnfn convert_short3(short3);
1785 short3 __ovld __cnfn convert_short3_sat(short3);
1786 short3 __ovld __cnfn convert_short3_rte(ushort3);
1787 short3 __ovld __cnfn convert_short3_sat_rte(ushort3);
1788 short3 __ovld __cnfn convert_short3_rtz(ushort3);
1789 short3 __ovld __cnfn convert_short3_sat_rtz(ushort3);
1790 short3 __ovld __cnfn convert_short3_rtp(ushort3);
1791 short3 __ovld __cnfn convert_short3_sat_rtp(ushort3);
1792 short3 __ovld __cnfn convert_short3_rtn(ushort3);
1793 short3 __ovld __cnfn convert_short3_sat_rtn(ushort3);
1794 short3 __ovld __cnfn convert_short3(ushort3);
1795 short3 __ovld __cnfn convert_short3_sat(ushort3);
1796 short3 __ovld __cnfn convert_short3_rte(int3);
1797 short3 __ovld __cnfn convert_short3_sat_rte(int3);
1798 short3 __ovld __cnfn convert_short3_rtz(int3);
1799 short3 __ovld __cnfn convert_short3_sat_rtz(int3);
1800 short3 __ovld __cnfn convert_short3_rtp(int3);
1801 short3 __ovld __cnfn convert_short3_sat_rtp(int3);
1802 short3 __ovld __cnfn convert_short3_rtn(int3);
1803 short3 __ovld __cnfn convert_short3_sat_rtn(int3);
1804 short3 __ovld __cnfn convert_short3(int3);
1805 short3 __ovld __cnfn convert_short3_sat(int3);
1806 short3 __ovld __cnfn convert_short3_rte(uint3);
1807 short3 __ovld __cnfn convert_short3_sat_rte(uint3);
1808 short3 __ovld __cnfn convert_short3_rtz(uint3);
1809 short3 __ovld __cnfn convert_short3_sat_rtz(uint3);
1810 short3 __ovld __cnfn convert_short3_rtp(uint3);
1811 short3 __ovld __cnfn convert_short3_sat_rtp(uint3);
1812 short3 __ovld __cnfn convert_short3_rtn(uint3);
1813 short3 __ovld __cnfn convert_short3_sat_rtn(uint3);
1814 short3 __ovld __cnfn convert_short3(uint3);
1815 short3 __ovld __cnfn convert_short3_sat(uint3);
1816 short3 __ovld __cnfn convert_short3_rte(long3);
1817 short3 __ovld __cnfn convert_short3_sat_rte(long3);
1818 short3 __ovld __cnfn convert_short3_rtz(long3);
1819 short3 __ovld __cnfn convert_short3_sat_rtz(long3);
1820 short3 __ovld __cnfn convert_short3_rtp(long3);
1821 short3 __ovld __cnfn convert_short3_sat_rtp(long3);
1822 short3 __ovld __cnfn convert_short3_rtn(long3);
1823 short3 __ovld __cnfn convert_short3_sat_rtn(long3);
1824 short3 __ovld __cnfn convert_short3(long3);
1825 short3 __ovld __cnfn convert_short3_sat(long3);
1826 short3 __ovld __cnfn convert_short3_rte(ulong3);
1827 short3 __ovld __cnfn convert_short3_sat_rte(ulong3);
1828 short3 __ovld __cnfn convert_short3_rtz(ulong3);
1829 short3 __ovld __cnfn convert_short3_sat_rtz(ulong3);
1830 short3 __ovld __cnfn convert_short3_rtp(ulong3);
1831 short3 __ovld __cnfn convert_short3_sat_rtp(ulong3);
1832 short3 __ovld __cnfn convert_short3_rtn(ulong3);
1833 short3 __ovld __cnfn convert_short3_sat_rtn(ulong3);
1834 short3 __ovld __cnfn convert_short3(ulong3);
1835 short3 __ovld __cnfn convert_short3_sat(ulong3);
1836 short3 __ovld __cnfn convert_short3_rte(float3);
1837 short3 __ovld __cnfn convert_short3_sat_rte(float3);
1838 short3 __ovld __cnfn convert_short3_rtz(float3);
1839 short3 __ovld __cnfn convert_short3_sat_rtz(float3);
1840 short3 __ovld __cnfn convert_short3_rtp(float3);
1841 short3 __ovld __cnfn convert_short3_sat_rtp(float3);
1842 short3 __ovld __cnfn convert_short3_rtn(float3);
1843 short3 __ovld __cnfn convert_short3_sat_rtn(float3);
1844 short3 __ovld __cnfn convert_short3(float3);
1845 short3 __ovld __cnfn convert_short3_sat(float3);
1846 ushort3 __ovld __cnfn convert_ushort3_rte(char3);
1847 ushort3 __ovld __cnfn convert_ushort3_sat_rte(char3);
1848 ushort3 __ovld __cnfn convert_ushort3_rtz(char3);
1849 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(char3);
1850 ushort3 __ovld __cnfn convert_ushort3_rtp(char3);
1851 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(char3);
1852 ushort3 __ovld __cnfn convert_ushort3_rtn(char3);
1853 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(char3);
1854 ushort3 __ovld __cnfn convert_ushort3(char3);
1855 ushort3 __ovld __cnfn convert_ushort3_sat(char3);
1856 ushort3 __ovld __cnfn convert_ushort3_rte(uchar3);
1857 ushort3 __ovld __cnfn convert_ushort3_sat_rte(uchar3);
1858 ushort3 __ovld __cnfn convert_ushort3_rtz(uchar3);
1859 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(uchar3);
1860 ushort3 __ovld __cnfn convert_ushort3_rtp(uchar3);
1861 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(uchar3);
1862 ushort3 __ovld __cnfn convert_ushort3_rtn(uchar3);
1863 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(uchar3);
1864 ushort3 __ovld __cnfn convert_ushort3(uchar3);
1865 ushort3 __ovld __cnfn convert_ushort3_sat(uchar3);
1866 ushort3 __ovld __cnfn convert_ushort3_rte(short3);
1867 ushort3 __ovld __cnfn convert_ushort3_sat_rte(short3);
1868 ushort3 __ovld __cnfn convert_ushort3_rtz(short3);
1869 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(short3);
1870 ushort3 __ovld __cnfn convert_ushort3_rtp(short3);
1871 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(short3);
1872 ushort3 __ovld __cnfn convert_ushort3_rtn(short3);
1873 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(short3);
1874 ushort3 __ovld __cnfn convert_ushort3(short3);
1875 ushort3 __ovld __cnfn convert_ushort3_sat(short3);
1876 ushort3 __ovld __cnfn convert_ushort3_rte(ushort3);
1877 ushort3 __ovld __cnfn convert_ushort3_sat_rte(ushort3);
1878 ushort3 __ovld __cnfn convert_ushort3_rtz(ushort3);
1879 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(ushort3);
1880 ushort3 __ovld __cnfn convert_ushort3_rtp(ushort3);
1881 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(ushort3);
1882 ushort3 __ovld __cnfn convert_ushort3_rtn(ushort3);
1883 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(ushort3);
1884 ushort3 __ovld __cnfn convert_ushort3(ushort3);
1885 ushort3 __ovld __cnfn convert_ushort3_sat(ushort3);
1886 ushort3 __ovld __cnfn convert_ushort3_rte(int3);
1887 ushort3 __ovld __cnfn convert_ushort3_sat_rte(int3);
1888 ushort3 __ovld __cnfn convert_ushort3_rtz(int3);
1889 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(int3);
1890 ushort3 __ovld __cnfn convert_ushort3_rtp(int3);
1891 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(int3);
1892 ushort3 __ovld __cnfn convert_ushort3_rtn(int3);
1893 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(int3);
1894 ushort3 __ovld __cnfn convert_ushort3(int3);
1895 ushort3 __ovld __cnfn convert_ushort3_sat(int3);
1896 ushort3 __ovld __cnfn convert_ushort3_rte(uint3);
1897 ushort3 __ovld __cnfn convert_ushort3_sat_rte(uint3);
1898 ushort3 __ovld __cnfn convert_ushort3_rtz(uint3);
1899 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(uint3);
1900 ushort3 __ovld __cnfn convert_ushort3_rtp(uint3);
1901 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(uint3);
1902 ushort3 __ovld __cnfn convert_ushort3_rtn(uint3);
1903 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(uint3);
1904 ushort3 __ovld __cnfn convert_ushort3(uint3);
1905 ushort3 __ovld __cnfn convert_ushort3_sat(uint3);
1906 ushort3 __ovld __cnfn convert_ushort3_rte(long3);
1907 ushort3 __ovld __cnfn convert_ushort3_sat_rte(long3);
1908 ushort3 __ovld __cnfn convert_ushort3_rtz(long3);
1909 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(long3);
1910 ushort3 __ovld __cnfn convert_ushort3_rtp(long3);
1911 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(long3);
1912 ushort3 __ovld __cnfn convert_ushort3_rtn(long3);
1913 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(long3);
1914 ushort3 __ovld __cnfn convert_ushort3(long3);
1915 ushort3 __ovld __cnfn convert_ushort3_sat(long3);
1916 ushort3 __ovld __cnfn convert_ushort3_rte(ulong3);
1917 ushort3 __ovld __cnfn convert_ushort3_sat_rte(ulong3);
1918 ushort3 __ovld __cnfn convert_ushort3_rtz(ulong3);
1919 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(ulong3);
1920 ushort3 __ovld __cnfn convert_ushort3_rtp(ulong3);
1921 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(ulong3);
1922 ushort3 __ovld __cnfn convert_ushort3_rtn(ulong3);
1923 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(ulong3);
1924 ushort3 __ovld __cnfn convert_ushort3(ulong3);
1925 ushort3 __ovld __cnfn convert_ushort3_sat(ulong3);
1926 ushort3 __ovld __cnfn convert_ushort3_rte(float3);
1927 ushort3 __ovld __cnfn convert_ushort3_sat_rte(float3);
1928 ushort3 __ovld __cnfn convert_ushort3_rtz(float3);
1929 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(float3);
1930 ushort3 __ovld __cnfn convert_ushort3_rtp(float3);
1931 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(float3);
1932 ushort3 __ovld __cnfn convert_ushort3_rtn(float3);
1933 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(float3);
1934 ushort3 __ovld __cnfn convert_ushort3(float3);
1935 ushort3 __ovld __cnfn convert_ushort3_sat(float3);
1936 int3 __ovld __cnfn convert_int3_rte(char3);
1937 int3 __ovld __cnfn convert_int3_sat_rte(char3);
1938 int3 __ovld __cnfn convert_int3_rtz(char3);
1939 int3 __ovld __cnfn convert_int3_sat_rtz(char3);
1940 int3 __ovld __cnfn convert_int3_rtp(char3);
1941 int3 __ovld __cnfn convert_int3_sat_rtp(char3);
1942 int3 __ovld __cnfn convert_int3_rtn(char3);
1943 int3 __ovld __cnfn convert_int3_sat_rtn(char3);
1944 int3 __ovld __cnfn convert_int3(char3);
1945 int3 __ovld __cnfn convert_int3_sat(char3);
1946 int3 __ovld __cnfn convert_int3_rte(uchar3);
1947 int3 __ovld __cnfn convert_int3_sat_rte(uchar3);
1948 int3 __ovld __cnfn convert_int3_rtz(uchar3);
1949 int3 __ovld __cnfn convert_int3_sat_rtz(uchar3);
1950 int3 __ovld __cnfn convert_int3_rtp(uchar3);
1951 int3 __ovld __cnfn convert_int3_sat_rtp(uchar3);
1952 int3 __ovld __cnfn convert_int3_rtn(uchar3);
1953 int3 __ovld __cnfn convert_int3_sat_rtn(uchar3);
1954 int3 __ovld __cnfn convert_int3(uchar3);
1955 int3 __ovld __cnfn convert_int3_sat(uchar3);
1956 int3 __ovld __cnfn convert_int3_rte(short3);
1957 int3 __ovld __cnfn convert_int3_sat_rte(short3);
1958 int3 __ovld __cnfn convert_int3_rtz(short3);
1959 int3 __ovld __cnfn convert_int3_sat_rtz(short3);
1960 int3 __ovld __cnfn convert_int3_rtp(short3);
1961 int3 __ovld __cnfn convert_int3_sat_rtp(short3);
1962 int3 __ovld __cnfn convert_int3_rtn(short3);
1963 int3 __ovld __cnfn convert_int3_sat_rtn(short3);
1964 int3 __ovld __cnfn convert_int3(short3);
1965 int3 __ovld __cnfn convert_int3_sat(short3);
1966 int3 __ovld __cnfn convert_int3_rte(ushort3);
1967 int3 __ovld __cnfn convert_int3_sat_rte(ushort3);
1968 int3 __ovld __cnfn convert_int3_rtz(ushort3);
1969 int3 __ovld __cnfn convert_int3_sat_rtz(ushort3);
1970 int3 __ovld __cnfn convert_int3_rtp(ushort3);
1971 int3 __ovld __cnfn convert_int3_sat_rtp(ushort3);
1972 int3 __ovld __cnfn convert_int3_rtn(ushort3);
1973 int3 __ovld __cnfn convert_int3_sat_rtn(ushort3);
1974 int3 __ovld __cnfn convert_int3(ushort3);
1975 int3 __ovld __cnfn convert_int3_sat(ushort3);
1976 int3 __ovld __cnfn convert_int3_rte(int3);
1977 int3 __ovld __cnfn convert_int3_sat_rte(int3);
1978 int3 __ovld __cnfn convert_int3_rtz(int3);
1979 int3 __ovld __cnfn convert_int3_sat_rtz(int3);
1980 int3 __ovld __cnfn convert_int3_rtp(int3);
1981 int3 __ovld __cnfn convert_int3_sat_rtp(int3);
1982 int3 __ovld __cnfn convert_int3_rtn(int3);
1983 int3 __ovld __cnfn convert_int3_sat_rtn(int3);
1984 int3 __ovld __cnfn convert_int3(int3);
1985 int3 __ovld __cnfn convert_int3_sat(int3);
1986 int3 __ovld __cnfn convert_int3_rte(uint3);
1987 int3 __ovld __cnfn convert_int3_sat_rte(uint3);
1988 int3 __ovld __cnfn convert_int3_rtz(uint3);
1989 int3 __ovld __cnfn convert_int3_sat_rtz(uint3);
1990 int3 __ovld __cnfn convert_int3_rtp(uint3);
1991 int3 __ovld __cnfn convert_int3_sat_rtp(uint3);
1992 int3 __ovld __cnfn convert_int3_rtn(uint3);
1993 int3 __ovld __cnfn convert_int3_sat_rtn(uint3);
1994 int3 __ovld __cnfn convert_int3(uint3);
1995 int3 __ovld __cnfn convert_int3_sat(uint3);
1996 int3 __ovld __cnfn convert_int3_rte(long3);
1997 int3 __ovld __cnfn convert_int3_sat_rte(long3);
1998 int3 __ovld __cnfn convert_int3_rtz(long3);
1999 int3 __ovld __cnfn convert_int3_sat_rtz(long3);
2000 int3 __ovld __cnfn convert_int3_rtp(long3);
2001 int3 __ovld __cnfn convert_int3_sat_rtp(long3);
2002 int3 __ovld __cnfn convert_int3_rtn(long3);
2003 int3 __ovld __cnfn convert_int3_sat_rtn(long3);
2004 int3 __ovld __cnfn convert_int3(long3);
2005 int3 __ovld __cnfn convert_int3_sat(long3);
2006 int3 __ovld __cnfn convert_int3_rte(ulong3);
2007 int3 __ovld __cnfn convert_int3_sat_rte(ulong3);
2008 int3 __ovld __cnfn convert_int3_rtz(ulong3);
2009 int3 __ovld __cnfn convert_int3_sat_rtz(ulong3);
2010 int3 __ovld __cnfn convert_int3_rtp(ulong3);
2011 int3 __ovld __cnfn convert_int3_sat_rtp(ulong3);
2012 int3 __ovld __cnfn convert_int3_rtn(ulong3);
2013 int3 __ovld __cnfn convert_int3_sat_rtn(ulong3);
2014 int3 __ovld __cnfn convert_int3(ulong3);
2015 int3 __ovld __cnfn convert_int3_sat(ulong3);
2016 int3 __ovld __cnfn convert_int3_rte(float3);
2017 int3 __ovld __cnfn convert_int3_sat_rte(float3);
2018 int3 __ovld __cnfn convert_int3_rtz(float3);
2019 int3 __ovld __cnfn convert_int3_sat_rtz(float3);
2020 int3 __ovld __cnfn convert_int3_rtp(float3);
2021 int3 __ovld __cnfn convert_int3_sat_rtp(float3);
2022 int3 __ovld __cnfn convert_int3_rtn(float3);
2023 int3 __ovld __cnfn convert_int3_sat_rtn(float3);
2024 int3 __ovld __cnfn convert_int3(float3);
2025 int3 __ovld __cnfn convert_int3_sat(float3);
2026 uint3 __ovld __cnfn convert_uint3_rte(char3);
2027 uint3 __ovld __cnfn convert_uint3_sat_rte(char3);
2028 uint3 __ovld __cnfn convert_uint3_rtz(char3);
2029 uint3 __ovld __cnfn convert_uint3_sat_rtz(char3);
2030 uint3 __ovld __cnfn convert_uint3_rtp(char3);
2031 uint3 __ovld __cnfn convert_uint3_sat_rtp(char3);
2032 uint3 __ovld __cnfn convert_uint3_rtn(char3);
2033 uint3 __ovld __cnfn convert_uint3_sat_rtn(char3);
2034 uint3 __ovld __cnfn convert_uint3(char3);
2035 uint3 __ovld __cnfn convert_uint3_sat(char3);
2036 uint3 __ovld __cnfn convert_uint3_rte(uchar3);
2037 uint3 __ovld __cnfn convert_uint3_sat_rte(uchar3);
2038 uint3 __ovld __cnfn convert_uint3_rtz(uchar3);
2039 uint3 __ovld __cnfn convert_uint3_sat_rtz(uchar3);
2040 uint3 __ovld __cnfn convert_uint3_rtp(uchar3);
2041 uint3 __ovld __cnfn convert_uint3_sat_rtp(uchar3);
2042 uint3 __ovld __cnfn convert_uint3_rtn(uchar3);
2043 uint3 __ovld __cnfn convert_uint3_sat_rtn(uchar3);
2044 uint3 __ovld __cnfn convert_uint3(uchar3);
2045 uint3 __ovld __cnfn convert_uint3_sat(uchar3);
2046 uint3 __ovld __cnfn convert_uint3_rte(short3);
2047 uint3 __ovld __cnfn convert_uint3_sat_rte(short3);
2048 uint3 __ovld __cnfn convert_uint3_rtz(short3);
2049 uint3 __ovld __cnfn convert_uint3_sat_rtz(short3);
2050 uint3 __ovld __cnfn convert_uint3_rtp(short3);
2051 uint3 __ovld __cnfn convert_uint3_sat_rtp(short3);
2052 uint3 __ovld __cnfn convert_uint3_rtn(short3);
2053 uint3 __ovld __cnfn convert_uint3_sat_rtn(short3);
2054 uint3 __ovld __cnfn convert_uint3(short3);
2055 uint3 __ovld __cnfn convert_uint3_sat(short3);
2056 uint3 __ovld __cnfn convert_uint3_rte(ushort3);
2057 uint3 __ovld __cnfn convert_uint3_sat_rte(ushort3);
2058 uint3 __ovld __cnfn convert_uint3_rtz(ushort3);
2059 uint3 __ovld __cnfn convert_uint3_sat_rtz(ushort3);
2060 uint3 __ovld __cnfn convert_uint3_rtp(ushort3);
2061 uint3 __ovld __cnfn convert_uint3_sat_rtp(ushort3);
2062 uint3 __ovld __cnfn convert_uint3_rtn(ushort3);
2063 uint3 __ovld __cnfn convert_uint3_sat_rtn(ushort3);
2064 uint3 __ovld __cnfn convert_uint3(ushort3);
2065 uint3 __ovld __cnfn convert_uint3_sat(ushort3);
2066 uint3 __ovld __cnfn convert_uint3_rte(int3);
2067 uint3 __ovld __cnfn convert_uint3_sat_rte(int3);
2068 uint3 __ovld __cnfn convert_uint3_rtz(int3);
2069 uint3 __ovld __cnfn convert_uint3_sat_rtz(int3);
2070 uint3 __ovld __cnfn convert_uint3_rtp(int3);
2071 uint3 __ovld __cnfn convert_uint3_sat_rtp(int3);
2072 uint3 __ovld __cnfn convert_uint3_rtn(int3);
2073 uint3 __ovld __cnfn convert_uint3_sat_rtn(int3);
2074 uint3 __ovld __cnfn convert_uint3(int3);
2075 uint3 __ovld __cnfn convert_uint3_sat(int3);
2076 uint3 __ovld __cnfn convert_uint3_rte(uint3);
2077 uint3 __ovld __cnfn convert_uint3_sat_rte(uint3);
2078 uint3 __ovld __cnfn convert_uint3_rtz(uint3);
2079 uint3 __ovld __cnfn convert_uint3_sat_rtz(uint3);
2080 uint3 __ovld __cnfn convert_uint3_rtp(uint3);
2081 uint3 __ovld __cnfn convert_uint3_sat_rtp(uint3);
2082 uint3 __ovld __cnfn convert_uint3_rtn(uint3);
2083 uint3 __ovld __cnfn convert_uint3_sat_rtn(uint3);
2084 uint3 __ovld __cnfn convert_uint3(uint3);
2085 uint3 __ovld __cnfn convert_uint3_sat(uint3);
2086 uint3 __ovld __cnfn convert_uint3_rte(long3);
2087 uint3 __ovld __cnfn convert_uint3_sat_rte(long3);
2088 uint3 __ovld __cnfn convert_uint3_rtz(long3);
2089 uint3 __ovld __cnfn convert_uint3_sat_rtz(long3);
2090 uint3 __ovld __cnfn convert_uint3_rtp(long3);
2091 uint3 __ovld __cnfn convert_uint3_sat_rtp(long3);
2092 uint3 __ovld __cnfn convert_uint3_rtn(long3);
2093 uint3 __ovld __cnfn convert_uint3_sat_rtn(long3);
2094 uint3 __ovld __cnfn convert_uint3(long3);
2095 uint3 __ovld __cnfn convert_uint3_sat(long3);
2096 uint3 __ovld __cnfn convert_uint3_rte(ulong3);
2097 uint3 __ovld __cnfn convert_uint3_sat_rte(ulong3);
2098 uint3 __ovld __cnfn convert_uint3_rtz(ulong3);
2099 uint3 __ovld __cnfn convert_uint3_sat_rtz(ulong3);
2100 uint3 __ovld __cnfn convert_uint3_rtp(ulong3);
2101 uint3 __ovld __cnfn convert_uint3_sat_rtp(ulong3);
2102 uint3 __ovld __cnfn convert_uint3_rtn(ulong3);
2103 uint3 __ovld __cnfn convert_uint3_sat_rtn(ulong3);
2104 uint3 __ovld __cnfn convert_uint3(ulong3);
2105 uint3 __ovld __cnfn convert_uint3_sat(ulong3);
2106 uint3 __ovld __cnfn convert_uint3_rte(float3);
2107 uint3 __ovld __cnfn convert_uint3_sat_rte(float3);
2108 uint3 __ovld __cnfn convert_uint3_rtz(float3);
2109 uint3 __ovld __cnfn convert_uint3_sat_rtz(float3);
2110 uint3 __ovld __cnfn convert_uint3_rtp(float3);
2111 uint3 __ovld __cnfn convert_uint3_sat_rtp(float3);
2112 uint3 __ovld __cnfn convert_uint3_rtn(float3);
2113 uint3 __ovld __cnfn convert_uint3_sat_rtn(float3);
2114 uint3 __ovld __cnfn convert_uint3(float3);
2115 uint3 __ovld __cnfn convert_uint3_sat(float3);
2116 long3 __ovld __cnfn convert_long3_rte(char3);
2117 long3 __ovld __cnfn convert_long3_sat_rte(char3);
2118 long3 __ovld __cnfn convert_long3_rtz(char3);
2119 long3 __ovld __cnfn convert_long3_sat_rtz(char3);
2120 long3 __ovld __cnfn convert_long3_rtp(char3);
2121 long3 __ovld __cnfn convert_long3_sat_rtp(char3);
2122 long3 __ovld __cnfn convert_long3_rtn(char3);
2123 long3 __ovld __cnfn convert_long3_sat_rtn(char3);
2124 long3 __ovld __cnfn convert_long3(char3);
2125 long3 __ovld __cnfn convert_long3_sat(char3);
2126 long3 __ovld __cnfn convert_long3_rte(uchar3);
2127 long3 __ovld __cnfn convert_long3_sat_rte(uchar3);
2128 long3 __ovld __cnfn convert_long3_rtz(uchar3);
2129 long3 __ovld __cnfn convert_long3_sat_rtz(uchar3);
2130 long3 __ovld __cnfn convert_long3_rtp(uchar3);
2131 long3 __ovld __cnfn convert_long3_sat_rtp(uchar3);
2132 long3 __ovld __cnfn convert_long3_rtn(uchar3);
2133 long3 __ovld __cnfn convert_long3_sat_rtn(uchar3);
2134 long3 __ovld __cnfn convert_long3(uchar3);
2135 long3 __ovld __cnfn convert_long3_sat(uchar3);
2136 long3 __ovld __cnfn convert_long3_rte(short3);
2137 long3 __ovld __cnfn convert_long3_sat_rte(short3);
2138 long3 __ovld __cnfn convert_long3_rtz(short3);
2139 long3 __ovld __cnfn convert_long3_sat_rtz(short3);
2140 long3 __ovld __cnfn convert_long3_rtp(short3);
2141 long3 __ovld __cnfn convert_long3_sat_rtp(short3);
2142 long3 __ovld __cnfn convert_long3_rtn(short3);
2143 long3 __ovld __cnfn convert_long3_sat_rtn(short3);
2144 long3 __ovld __cnfn convert_long3(short3);
2145 long3 __ovld __cnfn convert_long3_sat(short3);
2146 long3 __ovld __cnfn convert_long3_rte(ushort3);
2147 long3 __ovld __cnfn convert_long3_sat_rte(ushort3);
2148 long3 __ovld __cnfn convert_long3_rtz(ushort3);
2149 long3 __ovld __cnfn convert_long3_sat_rtz(ushort3);
2150 long3 __ovld __cnfn convert_long3_rtp(ushort3);
2151 long3 __ovld __cnfn convert_long3_sat_rtp(ushort3);
2152 long3 __ovld __cnfn convert_long3_rtn(ushort3);
2153 long3 __ovld __cnfn convert_long3_sat_rtn(ushort3);
2154 long3 __ovld __cnfn convert_long3(ushort3);
2155 long3 __ovld __cnfn convert_long3_sat(ushort3);
2156 long3 __ovld __cnfn convert_long3_rte(int3);
2157 long3 __ovld __cnfn convert_long3_sat_rte(int3);
2158 long3 __ovld __cnfn convert_long3_rtz(int3);
2159 long3 __ovld __cnfn convert_long3_sat_rtz(int3);
2160 long3 __ovld __cnfn convert_long3_rtp(int3);
2161 long3 __ovld __cnfn convert_long3_sat_rtp(int3);
2162 long3 __ovld __cnfn convert_long3_rtn(int3);
2163 long3 __ovld __cnfn convert_long3_sat_rtn(int3);
2164 long3 __ovld __cnfn convert_long3(int3);
2165 long3 __ovld __cnfn convert_long3_sat(int3);
2166 long3 __ovld __cnfn convert_long3_rte(uint3);
2167 long3 __ovld __cnfn convert_long3_sat_rte(uint3);
2168 long3 __ovld __cnfn convert_long3_rtz(uint3);
2169 long3 __ovld __cnfn convert_long3_sat_rtz(uint3);
2170 long3 __ovld __cnfn convert_long3_rtp(uint3);
2171 long3 __ovld __cnfn convert_long3_sat_rtp(uint3);
2172 long3 __ovld __cnfn convert_long3_rtn(uint3);
2173 long3 __ovld __cnfn convert_long3_sat_rtn(uint3);
2174 long3 __ovld __cnfn convert_long3(uint3);
2175 long3 __ovld __cnfn convert_long3_sat(uint3);
2176 long3 __ovld __cnfn convert_long3_rte(long3);
2177 long3 __ovld __cnfn convert_long3_sat_rte(long3);
2178 long3 __ovld __cnfn convert_long3_rtz(long3);
2179 long3 __ovld __cnfn convert_long3_sat_rtz(long3);
2180 long3 __ovld __cnfn convert_long3_rtp(long3);
2181 long3 __ovld __cnfn convert_long3_sat_rtp(long3);
2182 long3 __ovld __cnfn convert_long3_rtn(long3);
2183 long3 __ovld __cnfn convert_long3_sat_rtn(long3);
2184 long3 __ovld __cnfn convert_long3(long3);
2185 long3 __ovld __cnfn convert_long3_sat(long3);
2186 long3 __ovld __cnfn convert_long3_rte(ulong3);
2187 long3 __ovld __cnfn convert_long3_sat_rte(ulong3);
2188 long3 __ovld __cnfn convert_long3_rtz(ulong3);
2189 long3 __ovld __cnfn convert_long3_sat_rtz(ulong3);
2190 long3 __ovld __cnfn convert_long3_rtp(ulong3);
2191 long3 __ovld __cnfn convert_long3_sat_rtp(ulong3);
2192 long3 __ovld __cnfn convert_long3_rtn(ulong3);
2193 long3 __ovld __cnfn convert_long3_sat_rtn(ulong3);
2194 long3 __ovld __cnfn convert_long3(ulong3);
2195 long3 __ovld __cnfn convert_long3_sat(ulong3);
2196 long3 __ovld __cnfn convert_long3_rte(float3);
2197 long3 __ovld __cnfn convert_long3_sat_rte(float3);
2198 long3 __ovld __cnfn convert_long3_rtz(float3);
2199 long3 __ovld __cnfn convert_long3_sat_rtz(float3);
2200 long3 __ovld __cnfn convert_long3_rtp(float3);
2201 long3 __ovld __cnfn convert_long3_sat_rtp(float3);
2202 long3 __ovld __cnfn convert_long3_rtn(float3);
2203 long3 __ovld __cnfn convert_long3_sat_rtn(float3);
2204 long3 __ovld __cnfn convert_long3(float3);
2205 long3 __ovld __cnfn convert_long3_sat(float3);
2206 ulong3 __ovld __cnfn convert_ulong3_rte(char3);
2207 ulong3 __ovld __cnfn convert_ulong3_sat_rte(char3);
2208 ulong3 __ovld __cnfn convert_ulong3_rtz(char3);
2209 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(char3);
2210 ulong3 __ovld __cnfn convert_ulong3_rtp(char3);
2211 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(char3);
2212 ulong3 __ovld __cnfn convert_ulong3_rtn(char3);
2213 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(char3);
2214 ulong3 __ovld __cnfn convert_ulong3(char3);
2215 ulong3 __ovld __cnfn convert_ulong3_sat(char3);
2216 ulong3 __ovld __cnfn convert_ulong3_rte(uchar3);
2217 ulong3 __ovld __cnfn convert_ulong3_sat_rte(uchar3);
2218 ulong3 __ovld __cnfn convert_ulong3_rtz(uchar3);
2219 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(uchar3);
2220 ulong3 __ovld __cnfn convert_ulong3_rtp(uchar3);
2221 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(uchar3);
2222 ulong3 __ovld __cnfn convert_ulong3_rtn(uchar3);
2223 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(uchar3);
2224 ulong3 __ovld __cnfn convert_ulong3(uchar3);
2225 ulong3 __ovld __cnfn convert_ulong3_sat(uchar3);
2226 ulong3 __ovld __cnfn convert_ulong3_rte(short3);
2227 ulong3 __ovld __cnfn convert_ulong3_sat_rte(short3);
2228 ulong3 __ovld __cnfn convert_ulong3_rtz(short3);
2229 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(short3);
2230 ulong3 __ovld __cnfn convert_ulong3_rtp(short3);
2231 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(short3);
2232 ulong3 __ovld __cnfn convert_ulong3_rtn(short3);
2233 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(short3);
2234 ulong3 __ovld __cnfn convert_ulong3(short3);
2235 ulong3 __ovld __cnfn convert_ulong3_sat(short3);
2236 ulong3 __ovld __cnfn convert_ulong3_rte(ushort3);
2237 ulong3 __ovld __cnfn convert_ulong3_sat_rte(ushort3);
2238 ulong3 __ovld __cnfn convert_ulong3_rtz(ushort3);
2239 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(ushort3);
2240 ulong3 __ovld __cnfn convert_ulong3_rtp(ushort3);
2241 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(ushort3);
2242 ulong3 __ovld __cnfn convert_ulong3_rtn(ushort3);
2243 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(ushort3);
2244 ulong3 __ovld __cnfn convert_ulong3(ushort3);
2245 ulong3 __ovld __cnfn convert_ulong3_sat(ushort3);
2246 ulong3 __ovld __cnfn convert_ulong3_rte(int3);
2247 ulong3 __ovld __cnfn convert_ulong3_sat_rte(int3);
2248 ulong3 __ovld __cnfn convert_ulong3_rtz(int3);
2249 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(int3);
2250 ulong3 __ovld __cnfn convert_ulong3_rtp(int3);
2251 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(int3);
2252 ulong3 __ovld __cnfn convert_ulong3_rtn(int3);
2253 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(int3);
2254 ulong3 __ovld __cnfn convert_ulong3(int3);
2255 ulong3 __ovld __cnfn convert_ulong3_sat(int3);
2256 ulong3 __ovld __cnfn convert_ulong3_rte(uint3);
2257 ulong3 __ovld __cnfn convert_ulong3_sat_rte(uint3);
2258 ulong3 __ovld __cnfn convert_ulong3_rtz(uint3);
2259 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(uint3);
2260 ulong3 __ovld __cnfn convert_ulong3_rtp(uint3);
2261 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(uint3);
2262 ulong3 __ovld __cnfn convert_ulong3_rtn(uint3);
2263 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(uint3);
2264 ulong3 __ovld __cnfn convert_ulong3(uint3);
2265 ulong3 __ovld __cnfn convert_ulong3_sat(uint3);
2266 ulong3 __ovld __cnfn convert_ulong3_rte(long3);
2267 ulong3 __ovld __cnfn convert_ulong3_sat_rte(long3);
2268 ulong3 __ovld __cnfn convert_ulong3_rtz(long3);
2269 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(long3);
2270 ulong3 __ovld __cnfn convert_ulong3_rtp(long3);
2271 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(long3);
2272 ulong3 __ovld __cnfn convert_ulong3_rtn(long3);
2273 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(long3);
2274 ulong3 __ovld __cnfn convert_ulong3(long3);
2275 ulong3 __ovld __cnfn convert_ulong3_sat(long3);
2276 ulong3 __ovld __cnfn convert_ulong3_rte(ulong3);
2277 ulong3 __ovld __cnfn convert_ulong3_sat_rte(ulong3);
2278 ulong3 __ovld __cnfn convert_ulong3_rtz(ulong3);
2279 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(ulong3);
2280 ulong3 __ovld __cnfn convert_ulong3_rtp(ulong3);
2281 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(ulong3);
2282 ulong3 __ovld __cnfn convert_ulong3_rtn(ulong3);
2283 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(ulong3);
2284 ulong3 __ovld __cnfn convert_ulong3(ulong3);
2285 ulong3 __ovld __cnfn convert_ulong3_sat(ulong3);
2286 ulong3 __ovld __cnfn convert_ulong3_rte(float3);
2287 ulong3 __ovld __cnfn convert_ulong3_sat_rte(float3);
2288 ulong3 __ovld __cnfn convert_ulong3_rtz(float3);
2289 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(float3);
2290 ulong3 __ovld __cnfn convert_ulong3_rtp(float3);
2291 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(float3);
2292 ulong3 __ovld __cnfn convert_ulong3_rtn(float3);
2293 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(float3);
2294 ulong3 __ovld __cnfn convert_ulong3(float3);
2295 ulong3 __ovld __cnfn convert_ulong3_sat(float3);
2296 float3 __ovld __cnfn convert_float3_rte(char3);
2297 float3 __ovld __cnfn convert_float3_rtz(char3);
2298 float3 __ovld __cnfn convert_float3_rtp(char3);
2299 float3 __ovld __cnfn convert_float3_rtn(char3);
2300 float3 __ovld __cnfn convert_float3(char3);
2301 float3 __ovld __cnfn convert_float3_rte(uchar3);
2302 float3 __ovld __cnfn convert_float3_rtz(uchar3);
2303 float3 __ovld __cnfn convert_float3_rtp(uchar3);
2304 float3 __ovld __cnfn convert_float3_rtn(uchar3);
2305 float3 __ovld __cnfn convert_float3(uchar3);
2306 float3 __ovld __cnfn convert_float3_rte(short3);
2307 float3 __ovld __cnfn convert_float3_rtz(short3);
2308 float3 __ovld __cnfn convert_float3_rtp(short3);
2309 float3 __ovld __cnfn convert_float3_rtn(short3);
2310 float3 __ovld __cnfn convert_float3(short3);
2311 float3 __ovld __cnfn convert_float3_rte(ushort3);
2312 float3 __ovld __cnfn convert_float3_rtz(ushort3);
2313 float3 __ovld __cnfn convert_float3_rtp(ushort3);
2314 float3 __ovld __cnfn convert_float3_rtn(ushort3);
2315 float3 __ovld __cnfn convert_float3(ushort3);
2316 float3 __ovld __cnfn convert_float3_rte(int3);
2317 float3 __ovld __cnfn convert_float3_rtz(int3);
2318 float3 __ovld __cnfn convert_float3_rtp(int3);
2319 float3 __ovld __cnfn convert_float3_rtn(int3);
2320 float3 __ovld __cnfn convert_float3(int3);
2321 float3 __ovld __cnfn convert_float3_rte(uint3);
2322 float3 __ovld __cnfn convert_float3_rtz(uint3);
2323 float3 __ovld __cnfn convert_float3_rtp(uint3);
2324 float3 __ovld __cnfn convert_float3_rtn(uint3);
2325 float3 __ovld __cnfn convert_float3(uint3);
2326 float3 __ovld __cnfn convert_float3_rte(long3);
2327 float3 __ovld __cnfn convert_float3_rtz(long3);
2328 float3 __ovld __cnfn convert_float3_rtp(long3);
2329 float3 __ovld __cnfn convert_float3_rtn(long3);
2330 float3 __ovld __cnfn convert_float3(long3);
2331 float3 __ovld __cnfn convert_float3_rte(ulong3);
2332 float3 __ovld __cnfn convert_float3_rtz(ulong3);
2333 float3 __ovld __cnfn convert_float3_rtp(ulong3);
2334 float3 __ovld __cnfn convert_float3_rtn(ulong3);
2335 float3 __ovld __cnfn convert_float3(ulong3);
2336 float3 __ovld __cnfn convert_float3_rte(float3);
2337 float3 __ovld __cnfn convert_float3_rtz(float3);
2338 float3 __ovld __cnfn convert_float3_rtp(float3);
2339 float3 __ovld __cnfn convert_float3_rtn(float3);
2340 float3 __ovld __cnfn convert_float3(float3);
2341 char4 __ovld __cnfn convert_char4_rte(char4);
2342 char4 __ovld __cnfn convert_char4_sat_rte(char4);
2343 char4 __ovld __cnfn convert_char4_rtz(char4);
2344 char4 __ovld __cnfn convert_char4_sat_rtz(char4);
2345 char4 __ovld __cnfn convert_char4_rtp(char4);
2346 char4 __ovld __cnfn convert_char4_sat_rtp(char4);
2347 char4 __ovld __cnfn convert_char4_rtn(char4);
2348 char4 __ovld __cnfn convert_char4_sat_rtn(char4);
2349 char4 __ovld __cnfn convert_char4(char4);
2350 char4 __ovld __cnfn convert_char4_sat(char4);
2351 char4 __ovld __cnfn convert_char4_rte(uchar4);
2352 char4 __ovld __cnfn convert_char4_sat_rte(uchar4);
2353 char4 __ovld __cnfn convert_char4_rtz(uchar4);
2354 char4 __ovld __cnfn convert_char4_sat_rtz(uchar4);
2355 char4 __ovld __cnfn convert_char4_rtp(uchar4);
2356 char4 __ovld __cnfn convert_char4_sat_rtp(uchar4);
2357 char4 __ovld __cnfn convert_char4_rtn(uchar4);
2358 char4 __ovld __cnfn convert_char4_sat_rtn(uchar4);
2359 char4 __ovld __cnfn convert_char4(uchar4);
2360 char4 __ovld __cnfn convert_char4_sat(uchar4);
2361 char4 __ovld __cnfn convert_char4_rte(short4);
2362 char4 __ovld __cnfn convert_char4_sat_rte(short4);
2363 char4 __ovld __cnfn convert_char4_rtz(short4);
2364 char4 __ovld __cnfn convert_char4_sat_rtz(short4);
2365 char4 __ovld __cnfn convert_char4_rtp(short4);
2366 char4 __ovld __cnfn convert_char4_sat_rtp(short4);
2367 char4 __ovld __cnfn convert_char4_rtn(short4);
2368 char4 __ovld __cnfn convert_char4_sat_rtn(short4);
2369 char4 __ovld __cnfn convert_char4(short4);
2370 char4 __ovld __cnfn convert_char4_sat(short4);
2371 char4 __ovld __cnfn convert_char4_rte(ushort4);
2372 char4 __ovld __cnfn convert_char4_sat_rte(ushort4);
2373 char4 __ovld __cnfn convert_char4_rtz(ushort4);
2374 char4 __ovld __cnfn convert_char4_sat_rtz(ushort4);
2375 char4 __ovld __cnfn convert_char4_rtp(ushort4);
2376 char4 __ovld __cnfn convert_char4_sat_rtp(ushort4);
2377 char4 __ovld __cnfn convert_char4_rtn(ushort4);
2378 char4 __ovld __cnfn convert_char4_sat_rtn(ushort4);
2379 char4 __ovld __cnfn convert_char4(ushort4);
2380 char4 __ovld __cnfn convert_char4_sat(ushort4);
2381 char4 __ovld __cnfn convert_char4_rte(int4);
2382 char4 __ovld __cnfn convert_char4_sat_rte(int4);
2383 char4 __ovld __cnfn convert_char4_rtz(int4);
2384 char4 __ovld __cnfn convert_char4_sat_rtz(int4);
2385 char4 __ovld __cnfn convert_char4_rtp(int4);
2386 char4 __ovld __cnfn convert_char4_sat_rtp(int4);
2387 char4 __ovld __cnfn convert_char4_rtn(int4);
2388 char4 __ovld __cnfn convert_char4_sat_rtn(int4);
2389 char4 __ovld __cnfn convert_char4(int4);
2390 char4 __ovld __cnfn convert_char4_sat(int4);
2391 char4 __ovld __cnfn convert_char4_rte(uint4);
2392 char4 __ovld __cnfn convert_char4_sat_rte(uint4);
2393 char4 __ovld __cnfn convert_char4_rtz(uint4);
2394 char4 __ovld __cnfn convert_char4_sat_rtz(uint4);
2395 char4 __ovld __cnfn convert_char4_rtp(uint4);
2396 char4 __ovld __cnfn convert_char4_sat_rtp(uint4);
2397 char4 __ovld __cnfn convert_char4_rtn(uint4);
2398 char4 __ovld __cnfn convert_char4_sat_rtn(uint4);
2399 char4 __ovld __cnfn convert_char4(uint4);
2400 char4 __ovld __cnfn convert_char4_sat(uint4);
2401 char4 __ovld __cnfn convert_char4_rte(long4);
2402 char4 __ovld __cnfn convert_char4_sat_rte(long4);
2403 char4 __ovld __cnfn convert_char4_rtz(long4);
2404 char4 __ovld __cnfn convert_char4_sat_rtz(long4);
2405 char4 __ovld __cnfn convert_char4_rtp(long4);
2406 char4 __ovld __cnfn convert_char4_sat_rtp(long4);
2407 char4 __ovld __cnfn convert_char4_rtn(long4);
2408 char4 __ovld __cnfn convert_char4_sat_rtn(long4);
2409 char4 __ovld __cnfn convert_char4(long4);
2410 char4 __ovld __cnfn convert_char4_sat(long4);
2411 char4 __ovld __cnfn convert_char4_rte(ulong4);
2412 char4 __ovld __cnfn convert_char4_sat_rte(ulong4);
2413 char4 __ovld __cnfn convert_char4_rtz(ulong4);
2414 char4 __ovld __cnfn convert_char4_sat_rtz(ulong4);
2415 char4 __ovld __cnfn convert_char4_rtp(ulong4);
2416 char4 __ovld __cnfn convert_char4_sat_rtp(ulong4);
2417 char4 __ovld __cnfn convert_char4_rtn(ulong4);
2418 char4 __ovld __cnfn convert_char4_sat_rtn(ulong4);
2419 char4 __ovld __cnfn convert_char4(ulong4);
2420 char4 __ovld __cnfn convert_char4_sat(ulong4);
2421 char4 __ovld __cnfn convert_char4_rte(float4);
2422 char4 __ovld __cnfn convert_char4_sat_rte(float4);
2423 char4 __ovld __cnfn convert_char4_rtz(float4);
2424 char4 __ovld __cnfn convert_char4_sat_rtz(float4);
2425 char4 __ovld __cnfn convert_char4_rtp(float4);
2426 char4 __ovld __cnfn convert_char4_sat_rtp(float4);
2427 char4 __ovld __cnfn convert_char4_rtn(float4);
2428 char4 __ovld __cnfn convert_char4_sat_rtn(float4);
2429 char4 __ovld __cnfn convert_char4(float4);
2430 char4 __ovld __cnfn convert_char4_sat(float4);
2431 uchar4 __ovld __cnfn convert_uchar4_rte(char4);
2432 uchar4 __ovld __cnfn convert_uchar4_sat_rte(char4);
2433 uchar4 __ovld __cnfn convert_uchar4_rtz(char4);
2434 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(char4);
2435 uchar4 __ovld __cnfn convert_uchar4_rtp(char4);
2436 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(char4);
2437 uchar4 __ovld __cnfn convert_uchar4_rtn(char4);
2438 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(char4);
2439 uchar4 __ovld __cnfn convert_uchar4(char4);
2440 uchar4 __ovld __cnfn convert_uchar4_sat(char4);
2441 uchar4 __ovld __cnfn convert_uchar4_rte(uchar4);
2442 uchar4 __ovld __cnfn convert_uchar4_sat_rte(uchar4);
2443 uchar4 __ovld __cnfn convert_uchar4_rtz(uchar4);
2444 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(uchar4);
2445 uchar4 __ovld __cnfn convert_uchar4_rtp(uchar4);
2446 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(uchar4);
2447 uchar4 __ovld __cnfn convert_uchar4_rtn(uchar4);
2448 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(uchar4);
2449 uchar4 __ovld __cnfn convert_uchar4(uchar4);
2450 uchar4 __ovld __cnfn convert_uchar4_sat(uchar4);
2451 uchar4 __ovld __cnfn convert_uchar4_rte(short4);
2452 uchar4 __ovld __cnfn convert_uchar4_sat_rte(short4);
2453 uchar4 __ovld __cnfn convert_uchar4_rtz(short4);
2454 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(short4);
2455 uchar4 __ovld __cnfn convert_uchar4_rtp(short4);
2456 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(short4);
2457 uchar4 __ovld __cnfn convert_uchar4_rtn(short4);
2458 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(short4);
2459 uchar4 __ovld __cnfn convert_uchar4(short4);
2460 uchar4 __ovld __cnfn convert_uchar4_sat(short4);
2461 uchar4 __ovld __cnfn convert_uchar4_rte(ushort4);
2462 uchar4 __ovld __cnfn convert_uchar4_sat_rte(ushort4);
2463 uchar4 __ovld __cnfn convert_uchar4_rtz(ushort4);
2464 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(ushort4);
2465 uchar4 __ovld __cnfn convert_uchar4_rtp(ushort4);
2466 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(ushort4);
2467 uchar4 __ovld __cnfn convert_uchar4_rtn(ushort4);
2468 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(ushort4);
2469 uchar4 __ovld __cnfn convert_uchar4(ushort4);
2470 uchar4 __ovld __cnfn convert_uchar4_sat(ushort4);
2471 uchar4 __ovld __cnfn convert_uchar4_rte(int4);
2472 uchar4 __ovld __cnfn convert_uchar4_sat_rte(int4);
2473 uchar4 __ovld __cnfn convert_uchar4_rtz(int4);
2474 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(int4);
2475 uchar4 __ovld __cnfn convert_uchar4_rtp(int4);
2476 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(int4);
2477 uchar4 __ovld __cnfn convert_uchar4_rtn(int4);
2478 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(int4);
2479 uchar4 __ovld __cnfn convert_uchar4(int4);
2480 uchar4 __ovld __cnfn convert_uchar4_sat(int4);
2481 uchar4 __ovld __cnfn convert_uchar4_rte(uint4);
2482 uchar4 __ovld __cnfn convert_uchar4_sat_rte(uint4);
2483 uchar4 __ovld __cnfn convert_uchar4_rtz(uint4);
2484 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(uint4);
2485 uchar4 __ovld __cnfn convert_uchar4_rtp(uint4);
2486 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(uint4);
2487 uchar4 __ovld __cnfn convert_uchar4_rtn(uint4);
2488 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(uint4);
2489 uchar4 __ovld __cnfn convert_uchar4(uint4);
2490 uchar4 __ovld __cnfn convert_uchar4_sat(uint4);
2491 uchar4 __ovld __cnfn convert_uchar4_rte(long4);
2492 uchar4 __ovld __cnfn convert_uchar4_sat_rte(long4);
2493 uchar4 __ovld __cnfn convert_uchar4_rtz(long4);
2494 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(long4);
2495 uchar4 __ovld __cnfn convert_uchar4_rtp(long4);
2496 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(long4);
2497 uchar4 __ovld __cnfn convert_uchar4_rtn(long4);
2498 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(long4);
2499 uchar4 __ovld __cnfn convert_uchar4(long4);
2500 uchar4 __ovld __cnfn convert_uchar4_sat(long4);
2501 uchar4 __ovld __cnfn convert_uchar4_rte(ulong4);
2502 uchar4 __ovld __cnfn convert_uchar4_sat_rte(ulong4);
2503 uchar4 __ovld __cnfn convert_uchar4_rtz(ulong4);
2504 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(ulong4);
2505 uchar4 __ovld __cnfn convert_uchar4_rtp(ulong4);
2506 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(ulong4);
2507 uchar4 __ovld __cnfn convert_uchar4_rtn(ulong4);
2508 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(ulong4);
2509 uchar4 __ovld __cnfn convert_uchar4(ulong4);
2510 uchar4 __ovld __cnfn convert_uchar4_sat(ulong4);
2511 uchar4 __ovld __cnfn convert_uchar4_rte(float4);
2512 uchar4 __ovld __cnfn convert_uchar4_sat_rte(float4);
2513 uchar4 __ovld __cnfn convert_uchar4_rtz(float4);
2514 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(float4);
2515 uchar4 __ovld __cnfn convert_uchar4_rtp(float4);
2516 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(float4);
2517 uchar4 __ovld __cnfn convert_uchar4_rtn(float4);
2518 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(float4);
2519 uchar4 __ovld __cnfn convert_uchar4(float4);
2520 uchar4 __ovld __cnfn convert_uchar4_sat(float4);
2521 short4 __ovld __cnfn convert_short4_rte(char4);
2522 short4 __ovld __cnfn convert_short4_sat_rte(char4);
2523 short4 __ovld __cnfn convert_short4_rtz(char4);
2524 short4 __ovld __cnfn convert_short4_sat_rtz(char4);
2525 short4 __ovld __cnfn convert_short4_rtp(char4);
2526 short4 __ovld __cnfn convert_short4_sat_rtp(char4);
2527 short4 __ovld __cnfn convert_short4_rtn(char4);
2528 short4 __ovld __cnfn convert_short4_sat_rtn(char4);
2529 short4 __ovld __cnfn convert_short4(char4);
2530 short4 __ovld __cnfn convert_short4_sat(char4);
2531 short4 __ovld __cnfn convert_short4_rte(uchar4);
2532 short4 __ovld __cnfn convert_short4_sat_rte(uchar4);
2533 short4 __ovld __cnfn convert_short4_rtz(uchar4);
2534 short4 __ovld __cnfn convert_short4_sat_rtz(uchar4);
2535 short4 __ovld __cnfn convert_short4_rtp(uchar4);
2536 short4 __ovld __cnfn convert_short4_sat_rtp(uchar4);
2537 short4 __ovld __cnfn convert_short4_rtn(uchar4);
2538 short4 __ovld __cnfn convert_short4_sat_rtn(uchar4);
2539 short4 __ovld __cnfn convert_short4(uchar4);
2540 short4 __ovld __cnfn convert_short4_sat(uchar4);
2541 short4 __ovld __cnfn convert_short4_rte(short4);
2542 short4 __ovld __cnfn convert_short4_sat_rte(short4);
2543 short4 __ovld __cnfn convert_short4_rtz(short4);
2544 short4 __ovld __cnfn convert_short4_sat_rtz(short4);
2545 short4 __ovld __cnfn convert_short4_rtp(short4);
2546 short4 __ovld __cnfn convert_short4_sat_rtp(short4);
2547 short4 __ovld __cnfn convert_short4_rtn(short4);
2548 short4 __ovld __cnfn convert_short4_sat_rtn(short4);
2549 short4 __ovld __cnfn convert_short4(short4);
2550 short4 __ovld __cnfn convert_short4_sat(short4);
2551 short4 __ovld __cnfn convert_short4_rte(ushort4);
2552 short4 __ovld __cnfn convert_short4_sat_rte(ushort4);
2553 short4 __ovld __cnfn convert_short4_rtz(ushort4);
2554 short4 __ovld __cnfn convert_short4_sat_rtz(ushort4);
2555 short4 __ovld __cnfn convert_short4_rtp(ushort4);
2556 short4 __ovld __cnfn convert_short4_sat_rtp(ushort4);
2557 short4 __ovld __cnfn convert_short4_rtn(ushort4);
2558 short4 __ovld __cnfn convert_short4_sat_rtn(ushort4);
2559 short4 __ovld __cnfn convert_short4(ushort4);
2560 short4 __ovld __cnfn convert_short4_sat(ushort4);
2561 short4 __ovld __cnfn convert_short4_rte(int4);
2562 short4 __ovld __cnfn convert_short4_sat_rte(int4);
2563 short4 __ovld __cnfn convert_short4_rtz(int4);
2564 short4 __ovld __cnfn convert_short4_sat_rtz(int4);
2565 short4 __ovld __cnfn convert_short4_rtp(int4);
2566 short4 __ovld __cnfn convert_short4_sat_rtp(int4);
2567 short4 __ovld __cnfn convert_short4_rtn(int4);
2568 short4 __ovld __cnfn convert_short4_sat_rtn(int4);
2569 short4 __ovld __cnfn convert_short4(int4);
2570 short4 __ovld __cnfn convert_short4_sat(int4);
2571 short4 __ovld __cnfn convert_short4_rte(uint4);
2572 short4 __ovld __cnfn convert_short4_sat_rte(uint4);
2573 short4 __ovld __cnfn convert_short4_rtz(uint4);
2574 short4 __ovld __cnfn convert_short4_sat_rtz(uint4);
2575 short4 __ovld __cnfn convert_short4_rtp(uint4);
2576 short4 __ovld __cnfn convert_short4_sat_rtp(uint4);
2577 short4 __ovld __cnfn convert_short4_rtn(uint4);
2578 short4 __ovld __cnfn convert_short4_sat_rtn(uint4);
2579 short4 __ovld __cnfn convert_short4(uint4);
2580 short4 __ovld __cnfn convert_short4_sat(uint4);
2581 short4 __ovld __cnfn convert_short4_rte(long4);
2582 short4 __ovld __cnfn convert_short4_sat_rte(long4);
2583 short4 __ovld __cnfn convert_short4_rtz(long4);
2584 short4 __ovld __cnfn convert_short4_sat_rtz(long4);
2585 short4 __ovld __cnfn convert_short4_rtp(long4);
2586 short4 __ovld __cnfn convert_short4_sat_rtp(long4);
2587 short4 __ovld __cnfn convert_short4_rtn(long4);
2588 short4 __ovld __cnfn convert_short4_sat_rtn(long4);
2589 short4 __ovld __cnfn convert_short4(long4);
2590 short4 __ovld __cnfn convert_short4_sat(long4);
2591 short4 __ovld __cnfn convert_short4_rte(ulong4);
2592 short4 __ovld __cnfn convert_short4_sat_rte(ulong4);
2593 short4 __ovld __cnfn convert_short4_rtz(ulong4);
2594 short4 __ovld __cnfn convert_short4_sat_rtz(ulong4);
2595 short4 __ovld __cnfn convert_short4_rtp(ulong4);
2596 short4 __ovld __cnfn convert_short4_sat_rtp(ulong4);
2597 short4 __ovld __cnfn convert_short4_rtn(ulong4);
2598 short4 __ovld __cnfn convert_short4_sat_rtn(ulong4);
2599 short4 __ovld __cnfn convert_short4(ulong4);
2600 short4 __ovld __cnfn convert_short4_sat(ulong4);
2601 short4 __ovld __cnfn convert_short4_rte(float4);
2602 short4 __ovld __cnfn convert_short4_sat_rte(float4);
2603 short4 __ovld __cnfn convert_short4_rtz(float4);
2604 short4 __ovld __cnfn convert_short4_sat_rtz(float4);
2605 short4 __ovld __cnfn convert_short4_rtp(float4);
2606 short4 __ovld __cnfn convert_short4_sat_rtp(float4);
2607 short4 __ovld __cnfn convert_short4_rtn(float4);
2608 short4 __ovld __cnfn convert_short4_sat_rtn(float4);
2609 short4 __ovld __cnfn convert_short4(float4);
2610 short4 __ovld __cnfn convert_short4_sat(float4);
2611 ushort4 __ovld __cnfn convert_ushort4_rte(char4);
2612 ushort4 __ovld __cnfn convert_ushort4_sat_rte(char4);
2613 ushort4 __ovld __cnfn convert_ushort4_rtz(char4);
2614 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(char4);
2615 ushort4 __ovld __cnfn convert_ushort4_rtp(char4);
2616 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(char4);
2617 ushort4 __ovld __cnfn convert_ushort4_rtn(char4);
2618 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(char4);
2619 ushort4 __ovld __cnfn convert_ushort4(char4);
2620 ushort4 __ovld __cnfn convert_ushort4_sat(char4);
2621 ushort4 __ovld __cnfn convert_ushort4_rte(uchar4);
2622 ushort4 __ovld __cnfn convert_ushort4_sat_rte(uchar4);
2623 ushort4 __ovld __cnfn convert_ushort4_rtz(uchar4);
2624 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(uchar4);
2625 ushort4 __ovld __cnfn convert_ushort4_rtp(uchar4);
2626 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(uchar4);
2627 ushort4 __ovld __cnfn convert_ushort4_rtn(uchar4);
2628 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(uchar4);
2629 ushort4 __ovld __cnfn convert_ushort4(uchar4);
2630 ushort4 __ovld __cnfn convert_ushort4_sat(uchar4);
2631 ushort4 __ovld __cnfn convert_ushort4_rte(short4);
2632 ushort4 __ovld __cnfn convert_ushort4_sat_rte(short4);
2633 ushort4 __ovld __cnfn convert_ushort4_rtz(short4);
2634 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(short4);
2635 ushort4 __ovld __cnfn convert_ushort4_rtp(short4);
2636 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(short4);
2637 ushort4 __ovld __cnfn convert_ushort4_rtn(short4);
2638 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(short4);
2639 ushort4 __ovld __cnfn convert_ushort4(short4);
2640 ushort4 __ovld __cnfn convert_ushort4_sat(short4);
2641 ushort4 __ovld __cnfn convert_ushort4_rte(ushort4);
2642 ushort4 __ovld __cnfn convert_ushort4_sat_rte(ushort4);
2643 ushort4 __ovld __cnfn convert_ushort4_rtz(ushort4);
2644 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(ushort4);
2645 ushort4 __ovld __cnfn convert_ushort4_rtp(ushort4);
2646 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(ushort4);
2647 ushort4 __ovld __cnfn convert_ushort4_rtn(ushort4);
2648 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(ushort4);
2649 ushort4 __ovld __cnfn convert_ushort4(ushort4);
2650 ushort4 __ovld __cnfn convert_ushort4_sat(ushort4);
2651 ushort4 __ovld __cnfn convert_ushort4_rte(int4);
2652 ushort4 __ovld __cnfn convert_ushort4_sat_rte(int4);
2653 ushort4 __ovld __cnfn convert_ushort4_rtz(int4);
2654 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(int4);
2655 ushort4 __ovld __cnfn convert_ushort4_rtp(int4);
2656 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(int4);
2657 ushort4 __ovld __cnfn convert_ushort4_rtn(int4);
2658 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(int4);
2659 ushort4 __ovld __cnfn convert_ushort4(int4);
2660 ushort4 __ovld __cnfn convert_ushort4_sat(int4);
2661 ushort4 __ovld __cnfn convert_ushort4_rte(uint4);
2662 ushort4 __ovld __cnfn convert_ushort4_sat_rte(uint4);
2663 ushort4 __ovld __cnfn convert_ushort4_rtz(uint4);
2664 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(uint4);
2665 ushort4 __ovld __cnfn convert_ushort4_rtp(uint4);
2666 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(uint4);
2667 ushort4 __ovld __cnfn convert_ushort4_rtn(uint4);
2668 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(uint4);
2669 ushort4 __ovld __cnfn convert_ushort4(uint4);
2670 ushort4 __ovld __cnfn convert_ushort4_sat(uint4);
2671 ushort4 __ovld __cnfn convert_ushort4_rte(long4);
2672 ushort4 __ovld __cnfn convert_ushort4_sat_rte(long4);
2673 ushort4 __ovld __cnfn convert_ushort4_rtz(long4);
2674 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(long4);
2675 ushort4 __ovld __cnfn convert_ushort4_rtp(long4);
2676 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(long4);
2677 ushort4 __ovld __cnfn convert_ushort4_rtn(long4);
2678 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(long4);
2679 ushort4 __ovld __cnfn convert_ushort4(long4);
2680 ushort4 __ovld __cnfn convert_ushort4_sat(long4);
2681 ushort4 __ovld __cnfn convert_ushort4_rte(ulong4);
2682 ushort4 __ovld __cnfn convert_ushort4_sat_rte(ulong4);
2683 ushort4 __ovld __cnfn convert_ushort4_rtz(ulong4);
2684 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(ulong4);
2685 ushort4 __ovld __cnfn convert_ushort4_rtp(ulong4);
2686 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(ulong4);
2687 ushort4 __ovld __cnfn convert_ushort4_rtn(ulong4);
2688 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(ulong4);
2689 ushort4 __ovld __cnfn convert_ushort4(ulong4);
2690 ushort4 __ovld __cnfn convert_ushort4_sat(ulong4);
2691 ushort4 __ovld __cnfn convert_ushort4_rte(float4);
2692 ushort4 __ovld __cnfn convert_ushort4_sat_rte(float4);
2693 ushort4 __ovld __cnfn convert_ushort4_rtz(float4);
2694 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(float4);
2695 ushort4 __ovld __cnfn convert_ushort4_rtp(float4);
2696 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(float4);
2697 ushort4 __ovld __cnfn convert_ushort4_rtn(float4);
2698 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(float4);
2699 ushort4 __ovld __cnfn convert_ushort4(float4);
2700 ushort4 __ovld __cnfn convert_ushort4_sat(float4);
2701 int4 __ovld __cnfn convert_int4_rte(char4);
2702 int4 __ovld __cnfn convert_int4_sat_rte(char4);
2703 int4 __ovld __cnfn convert_int4_rtz(char4);
2704 int4 __ovld __cnfn convert_int4_sat_rtz(char4);
2705 int4 __ovld __cnfn convert_int4_rtp(char4);
2706 int4 __ovld __cnfn convert_int4_sat_rtp(char4);
2707 int4 __ovld __cnfn convert_int4_rtn(char4);
2708 int4 __ovld __cnfn convert_int4_sat_rtn(char4);
2709 int4 __ovld __cnfn convert_int4(char4);
2710 int4 __ovld __cnfn convert_int4_sat(char4);
2711 int4 __ovld __cnfn convert_int4_rte(uchar4);
2712 int4 __ovld __cnfn convert_int4_sat_rte(uchar4);
2713 int4 __ovld __cnfn convert_int4_rtz(uchar4);
2714 int4 __ovld __cnfn convert_int4_sat_rtz(uchar4);
2715 int4 __ovld __cnfn convert_int4_rtp(uchar4);
2716 int4 __ovld __cnfn convert_int4_sat_rtp(uchar4);
2717 int4 __ovld __cnfn convert_int4_rtn(uchar4);
2718 int4 __ovld __cnfn convert_int4_sat_rtn(uchar4);
2719 int4 __ovld __cnfn convert_int4(uchar4);
2720 int4 __ovld __cnfn convert_int4_sat(uchar4);
2721 int4 __ovld __cnfn convert_int4_rte(short4);
2722 int4 __ovld __cnfn convert_int4_sat_rte(short4);
2723 int4 __ovld __cnfn convert_int4_rtz(short4);
2724 int4 __ovld __cnfn convert_int4_sat_rtz(short4);
2725 int4 __ovld __cnfn convert_int4_rtp(short4);
2726 int4 __ovld __cnfn convert_int4_sat_rtp(short4);
2727 int4 __ovld __cnfn convert_int4_rtn(short4);
2728 int4 __ovld __cnfn convert_int4_sat_rtn(short4);
2729 int4 __ovld __cnfn convert_int4(short4);
2730 int4 __ovld __cnfn convert_int4_sat(short4);
2731 int4 __ovld __cnfn convert_int4_rte(ushort4);
2732 int4 __ovld __cnfn convert_int4_sat_rte(ushort4);
2733 int4 __ovld __cnfn convert_int4_rtz(ushort4);
2734 int4 __ovld __cnfn convert_int4_sat_rtz(ushort4);
2735 int4 __ovld __cnfn convert_int4_rtp(ushort4);
2736 int4 __ovld __cnfn convert_int4_sat_rtp(ushort4);
2737 int4 __ovld __cnfn convert_int4_rtn(ushort4);
2738 int4 __ovld __cnfn convert_int4_sat_rtn(ushort4);
2739 int4 __ovld __cnfn convert_int4(ushort4);
2740 int4 __ovld __cnfn convert_int4_sat(ushort4);
2741 int4 __ovld __cnfn convert_int4_rte(int4);
2742 int4 __ovld __cnfn convert_int4_sat_rte(int4);
2743 int4 __ovld __cnfn convert_int4_rtz(int4);
2744 int4 __ovld __cnfn convert_int4_sat_rtz(int4);
2745 int4 __ovld __cnfn convert_int4_rtp(int4);
2746 int4 __ovld __cnfn convert_int4_sat_rtp(int4);
2747 int4 __ovld __cnfn convert_int4_rtn(int4);
2748 int4 __ovld __cnfn convert_int4_sat_rtn(int4);
2749 int4 __ovld __cnfn convert_int4(int4);
2750 int4 __ovld __cnfn convert_int4_sat(int4);
2751 int4 __ovld __cnfn convert_int4_rte(uint4);
2752 int4 __ovld __cnfn convert_int4_sat_rte(uint4);
2753 int4 __ovld __cnfn convert_int4_rtz(uint4);
2754 int4 __ovld __cnfn convert_int4_sat_rtz(uint4);
2755 int4 __ovld __cnfn convert_int4_rtp(uint4);
2756 int4 __ovld __cnfn convert_int4_sat_rtp(uint4);
2757 int4 __ovld __cnfn convert_int4_rtn(uint4);
2758 int4 __ovld __cnfn convert_int4_sat_rtn(uint4);
2759 int4 __ovld __cnfn convert_int4(uint4);
2760 int4 __ovld __cnfn convert_int4_sat(uint4);
2761 int4 __ovld __cnfn convert_int4_rte(long4);
2762 int4 __ovld __cnfn convert_int4_sat_rte(long4);
2763 int4 __ovld __cnfn convert_int4_rtz(long4);
2764 int4 __ovld __cnfn convert_int4_sat_rtz(long4);
2765 int4 __ovld __cnfn convert_int4_rtp(long4);
2766 int4 __ovld __cnfn convert_int4_sat_rtp(long4);
2767 int4 __ovld __cnfn convert_int4_rtn(long4);
2768 int4 __ovld __cnfn convert_int4_sat_rtn(long4);
2769 int4 __ovld __cnfn convert_int4(long4);
2770 int4 __ovld __cnfn convert_int4_sat(long4);
2771 int4 __ovld __cnfn convert_int4_rte(ulong4);
2772 int4 __ovld __cnfn convert_int4_sat_rte(ulong4);
2773 int4 __ovld __cnfn convert_int4_rtz(ulong4);
2774 int4 __ovld __cnfn convert_int4_sat_rtz(ulong4);
2775 int4 __ovld __cnfn convert_int4_rtp(ulong4);
2776 int4 __ovld __cnfn convert_int4_sat_rtp(ulong4);
2777 int4 __ovld __cnfn convert_int4_rtn(ulong4);
2778 int4 __ovld __cnfn convert_int4_sat_rtn(ulong4);
2779 int4 __ovld __cnfn convert_int4(ulong4);
2780 int4 __ovld __cnfn convert_int4_sat(ulong4);
2781 int4 __ovld __cnfn convert_int4_rte(float4);
2782 int4 __ovld __cnfn convert_int4_sat_rte(float4);
2783 int4 __ovld __cnfn convert_int4_rtz(float4);
2784 int4 __ovld __cnfn convert_int4_sat_rtz(float4);
2785 int4 __ovld __cnfn convert_int4_rtp(float4);
2786 int4 __ovld __cnfn convert_int4_sat_rtp(float4);
2787 int4 __ovld __cnfn convert_int4_rtn(float4);
2788 int4 __ovld __cnfn convert_int4_sat_rtn(float4);
2789 int4 __ovld __cnfn convert_int4(float4);
2790 int4 __ovld __cnfn convert_int4_sat(float4);
2791 uint4 __ovld __cnfn convert_uint4_rte(char4);
2792 uint4 __ovld __cnfn convert_uint4_sat_rte(char4);
2793 uint4 __ovld __cnfn convert_uint4_rtz(char4);
2794 uint4 __ovld __cnfn convert_uint4_sat_rtz(char4);
2795 uint4 __ovld __cnfn convert_uint4_rtp(char4);
2796 uint4 __ovld __cnfn convert_uint4_sat_rtp(char4);
2797 uint4 __ovld __cnfn convert_uint4_rtn(char4);
2798 uint4 __ovld __cnfn convert_uint4_sat_rtn(char4);
2799 uint4 __ovld __cnfn convert_uint4(char4);
2800 uint4 __ovld __cnfn convert_uint4_sat(char4);
2801 uint4 __ovld __cnfn convert_uint4_rte(uchar4);
2802 uint4 __ovld __cnfn convert_uint4_sat_rte(uchar4);
2803 uint4 __ovld __cnfn convert_uint4_rtz(uchar4);
2804 uint4 __ovld __cnfn convert_uint4_sat_rtz(uchar4);
2805 uint4 __ovld __cnfn convert_uint4_rtp(uchar4);
2806 uint4 __ovld __cnfn convert_uint4_sat_rtp(uchar4);
2807 uint4 __ovld __cnfn convert_uint4_rtn(uchar4);
2808 uint4 __ovld __cnfn convert_uint4_sat_rtn(uchar4);
2809 uint4 __ovld __cnfn convert_uint4(uchar4);
2810 uint4 __ovld __cnfn convert_uint4_sat(uchar4);
2811 uint4 __ovld __cnfn convert_uint4_rte(short4);
2812 uint4 __ovld __cnfn convert_uint4_sat_rte(short4);
2813 uint4 __ovld __cnfn convert_uint4_rtz(short4);
2814 uint4 __ovld __cnfn convert_uint4_sat_rtz(short4);
2815 uint4 __ovld __cnfn convert_uint4_rtp(short4);
2816 uint4 __ovld __cnfn convert_uint4_sat_rtp(short4);
2817 uint4 __ovld __cnfn convert_uint4_rtn(short4);
2818 uint4 __ovld __cnfn convert_uint4_sat_rtn(short4);
2819 uint4 __ovld __cnfn convert_uint4(short4);
2820 uint4 __ovld __cnfn convert_uint4_sat(short4);
2821 uint4 __ovld __cnfn convert_uint4_rte(ushort4);
2822 uint4 __ovld __cnfn convert_uint4_sat_rte(ushort4);
2823 uint4 __ovld __cnfn convert_uint4_rtz(ushort4);
2824 uint4 __ovld __cnfn convert_uint4_sat_rtz(ushort4);
2825 uint4 __ovld __cnfn convert_uint4_rtp(ushort4);
2826 uint4 __ovld __cnfn convert_uint4_sat_rtp(ushort4);
2827 uint4 __ovld __cnfn convert_uint4_rtn(ushort4);
2828 uint4 __ovld __cnfn convert_uint4_sat_rtn(ushort4);
2829 uint4 __ovld __cnfn convert_uint4(ushort4);
2830 uint4 __ovld __cnfn convert_uint4_sat(ushort4);
2831 uint4 __ovld __cnfn convert_uint4_rte(int4);
2832 uint4 __ovld __cnfn convert_uint4_sat_rte(int4);
2833 uint4 __ovld __cnfn convert_uint4_rtz(int4);
2834 uint4 __ovld __cnfn convert_uint4_sat_rtz(int4);
2835 uint4 __ovld __cnfn convert_uint4_rtp(int4);
2836 uint4 __ovld __cnfn convert_uint4_sat_rtp(int4);
2837 uint4 __ovld __cnfn convert_uint4_rtn(int4);
2838 uint4 __ovld __cnfn convert_uint4_sat_rtn(int4);
2839 uint4 __ovld __cnfn convert_uint4(int4);
2840 uint4 __ovld __cnfn convert_uint4_sat(int4);
2841 uint4 __ovld __cnfn convert_uint4_rte(uint4);
2842 uint4 __ovld __cnfn convert_uint4_sat_rte(uint4);
2843 uint4 __ovld __cnfn convert_uint4_rtz(uint4);
2844 uint4 __ovld __cnfn convert_uint4_sat_rtz(uint4);
2845 uint4 __ovld __cnfn convert_uint4_rtp(uint4);
2846 uint4 __ovld __cnfn convert_uint4_sat_rtp(uint4);
2847 uint4 __ovld __cnfn convert_uint4_rtn(uint4);
2848 uint4 __ovld __cnfn convert_uint4_sat_rtn(uint4);
2849 uint4 __ovld __cnfn convert_uint4(uint4);
2850 uint4 __ovld __cnfn convert_uint4_sat(uint4);
2851 uint4 __ovld __cnfn convert_uint4_rte(long4);
2852 uint4 __ovld __cnfn convert_uint4_sat_rte(long4);
2853 uint4 __ovld __cnfn convert_uint4_rtz(long4);
2854 uint4 __ovld __cnfn convert_uint4_sat_rtz(long4);
2855 uint4 __ovld __cnfn convert_uint4_rtp(long4);
2856 uint4 __ovld __cnfn convert_uint4_sat_rtp(long4);
2857 uint4 __ovld __cnfn convert_uint4_rtn(long4);
2858 uint4 __ovld __cnfn convert_uint4_sat_rtn(long4);
2859 uint4 __ovld __cnfn convert_uint4(long4);
2860 uint4 __ovld __cnfn convert_uint4_sat(long4);
2861 uint4 __ovld __cnfn convert_uint4_rte(ulong4);
2862 uint4 __ovld __cnfn convert_uint4_sat_rte(ulong4);
2863 uint4 __ovld __cnfn convert_uint4_rtz(ulong4);
2864 uint4 __ovld __cnfn convert_uint4_sat_rtz(ulong4);
2865 uint4 __ovld __cnfn convert_uint4_rtp(ulong4);
2866 uint4 __ovld __cnfn convert_uint4_sat_rtp(ulong4);
2867 uint4 __ovld __cnfn convert_uint4_rtn(ulong4);
2868 uint4 __ovld __cnfn convert_uint4_sat_rtn(ulong4);
2869 uint4 __ovld __cnfn convert_uint4(ulong4);
2870 uint4 __ovld __cnfn convert_uint4_sat(ulong4);
2871 uint4 __ovld __cnfn convert_uint4_rte(float4);
2872 uint4 __ovld __cnfn convert_uint4_sat_rte(float4);
2873 uint4 __ovld __cnfn convert_uint4_rtz(float4);
2874 uint4 __ovld __cnfn convert_uint4_sat_rtz(float4);
2875 uint4 __ovld __cnfn convert_uint4_rtp(float4);
2876 uint4 __ovld __cnfn convert_uint4_sat_rtp(float4);
2877 uint4 __ovld __cnfn convert_uint4_rtn(float4);
2878 uint4 __ovld __cnfn convert_uint4_sat_rtn(float4);
2879 uint4 __ovld __cnfn convert_uint4(float4);
2880 uint4 __ovld __cnfn convert_uint4_sat(float4);
2881 long4 __ovld __cnfn convert_long4_rte(char4);
2882 long4 __ovld __cnfn convert_long4_sat_rte(char4);
2883 long4 __ovld __cnfn convert_long4_rtz(char4);
2884 long4 __ovld __cnfn convert_long4_sat_rtz(char4);
2885 long4 __ovld __cnfn convert_long4_rtp(char4);
2886 long4 __ovld __cnfn convert_long4_sat_rtp(char4);
2887 long4 __ovld __cnfn convert_long4_rtn(char4);
2888 long4 __ovld __cnfn convert_long4_sat_rtn(char4);
2889 long4 __ovld __cnfn convert_long4(char4);
2890 long4 __ovld __cnfn convert_long4_sat(char4);
2891 long4 __ovld __cnfn convert_long4_rte(uchar4);
2892 long4 __ovld __cnfn convert_long4_sat_rte(uchar4);
2893 long4 __ovld __cnfn convert_long4_rtz(uchar4);
2894 long4 __ovld __cnfn convert_long4_sat_rtz(uchar4);
2895 long4 __ovld __cnfn convert_long4_rtp(uchar4);
2896 long4 __ovld __cnfn convert_long4_sat_rtp(uchar4);
2897 long4 __ovld __cnfn convert_long4_rtn(uchar4);
2898 long4 __ovld __cnfn convert_long4_sat_rtn(uchar4);
2899 long4 __ovld __cnfn convert_long4(uchar4);
2900 long4 __ovld __cnfn convert_long4_sat(uchar4);
2901 long4 __ovld __cnfn convert_long4_rte(short4);
2902 long4 __ovld __cnfn convert_long4_sat_rte(short4);
2903 long4 __ovld __cnfn convert_long4_rtz(short4);
2904 long4 __ovld __cnfn convert_long4_sat_rtz(short4);
2905 long4 __ovld __cnfn convert_long4_rtp(short4);
2906 long4 __ovld __cnfn convert_long4_sat_rtp(short4);
2907 long4 __ovld __cnfn convert_long4_rtn(short4);
2908 long4 __ovld __cnfn convert_long4_sat_rtn(short4);
2909 long4 __ovld __cnfn convert_long4(short4);
2910 long4 __ovld __cnfn convert_long4_sat(short4);
2911 long4 __ovld __cnfn convert_long4_rte(ushort4);
2912 long4 __ovld __cnfn convert_long4_sat_rte(ushort4);
2913 long4 __ovld __cnfn convert_long4_rtz(ushort4);
2914 long4 __ovld __cnfn convert_long4_sat_rtz(ushort4);
2915 long4 __ovld __cnfn convert_long4_rtp(ushort4);
2916 long4 __ovld __cnfn convert_long4_sat_rtp(ushort4);
2917 long4 __ovld __cnfn convert_long4_rtn(ushort4);
2918 long4 __ovld __cnfn convert_long4_sat_rtn(ushort4);
2919 long4 __ovld __cnfn convert_long4(ushort4);
2920 long4 __ovld __cnfn convert_long4_sat(ushort4);
2921 long4 __ovld __cnfn convert_long4_rte(int4);
2922 long4 __ovld __cnfn convert_long4_sat_rte(int4);
2923 long4 __ovld __cnfn convert_long4_rtz(int4);
2924 long4 __ovld __cnfn convert_long4_sat_rtz(int4);
2925 long4 __ovld __cnfn convert_long4_rtp(int4);
2926 long4 __ovld __cnfn convert_long4_sat_rtp(int4);
2927 long4 __ovld __cnfn convert_long4_rtn(int4);
2928 long4 __ovld __cnfn convert_long4_sat_rtn(int4);
2929 long4 __ovld __cnfn convert_long4(int4);
2930 long4 __ovld __cnfn convert_long4_sat(int4);
2931 long4 __ovld __cnfn convert_long4_rte(uint4);
2932 long4 __ovld __cnfn convert_long4_sat_rte(uint4);
2933 long4 __ovld __cnfn convert_long4_rtz(uint4);
2934 long4 __ovld __cnfn convert_long4_sat_rtz(uint4);
2935 long4 __ovld __cnfn convert_long4_rtp(uint4);
2936 long4 __ovld __cnfn convert_long4_sat_rtp(uint4);
2937 long4 __ovld __cnfn convert_long4_rtn(uint4);
2938 long4 __ovld __cnfn convert_long4_sat_rtn(uint4);
2939 long4 __ovld __cnfn convert_long4(uint4);
2940 long4 __ovld __cnfn convert_long4_sat(uint4);
2941 long4 __ovld __cnfn convert_long4_rte(long4);
2942 long4 __ovld __cnfn convert_long4_sat_rte(long4);
2943 long4 __ovld __cnfn convert_long4_rtz(long4);
2944 long4 __ovld __cnfn convert_long4_sat_rtz(long4);
2945 long4 __ovld __cnfn convert_long4_rtp(long4);
2946 long4 __ovld __cnfn convert_long4_sat_rtp(long4);
2947 long4 __ovld __cnfn convert_long4_rtn(long4);
2948 long4 __ovld __cnfn convert_long4_sat_rtn(long4);
2949 long4 __ovld __cnfn convert_long4(long4);
2950 long4 __ovld __cnfn convert_long4_sat(long4);
2951 long4 __ovld __cnfn convert_long4_rte(ulong4);
2952 long4 __ovld __cnfn convert_long4_sat_rte(ulong4);
2953 long4 __ovld __cnfn convert_long4_rtz(ulong4);
2954 long4 __ovld __cnfn convert_long4_sat_rtz(ulong4);
2955 long4 __ovld __cnfn convert_long4_rtp(ulong4);
2956 long4 __ovld __cnfn convert_long4_sat_rtp(ulong4);
2957 long4 __ovld __cnfn convert_long4_rtn(ulong4);
2958 long4 __ovld __cnfn convert_long4_sat_rtn(ulong4);
2959 long4 __ovld __cnfn convert_long4(ulong4);
2960 long4 __ovld __cnfn convert_long4_sat(ulong4);
2961 long4 __ovld __cnfn convert_long4_rte(float4);
2962 long4 __ovld __cnfn convert_long4_sat_rte(float4);
2963 long4 __ovld __cnfn convert_long4_rtz(float4);
2964 long4 __ovld __cnfn convert_long4_sat_rtz(float4);
2965 long4 __ovld __cnfn convert_long4_rtp(float4);
2966 long4 __ovld __cnfn convert_long4_sat_rtp(float4);
2967 long4 __ovld __cnfn convert_long4_rtn(float4);
2968 long4 __ovld __cnfn convert_long4_sat_rtn(float4);
2969 long4 __ovld __cnfn convert_long4(float4);
2970 long4 __ovld __cnfn convert_long4_sat(float4);
2971 ulong4 __ovld __cnfn convert_ulong4_rte(char4);
2972 ulong4 __ovld __cnfn convert_ulong4_sat_rte(char4);
2973 ulong4 __ovld __cnfn convert_ulong4_rtz(char4);
2974 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(char4);
2975 ulong4 __ovld __cnfn convert_ulong4_rtp(char4);
2976 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(char4);
2977 ulong4 __ovld __cnfn convert_ulong4_rtn(char4);
2978 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(char4);
2979 ulong4 __ovld __cnfn convert_ulong4(char4);
2980 ulong4 __ovld __cnfn convert_ulong4_sat(char4);
2981 ulong4 __ovld __cnfn convert_ulong4_rte(uchar4);
2982 ulong4 __ovld __cnfn convert_ulong4_sat_rte(uchar4);
2983 ulong4 __ovld __cnfn convert_ulong4_rtz(uchar4);
2984 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(uchar4);
2985 ulong4 __ovld __cnfn convert_ulong4_rtp(uchar4);
2986 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(uchar4);
2987 ulong4 __ovld __cnfn convert_ulong4_rtn(uchar4);
2988 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(uchar4);
2989 ulong4 __ovld __cnfn convert_ulong4(uchar4);
2990 ulong4 __ovld __cnfn convert_ulong4_sat(uchar4);
2991 ulong4 __ovld __cnfn convert_ulong4_rte(short4);
2992 ulong4 __ovld __cnfn convert_ulong4_sat_rte(short4);
2993 ulong4 __ovld __cnfn convert_ulong4_rtz(short4);
2994 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(short4);
2995 ulong4 __ovld __cnfn convert_ulong4_rtp(short4);
2996 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(short4);
2997 ulong4 __ovld __cnfn convert_ulong4_rtn(short4);
2998 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(short4);
2999 ulong4 __ovld __cnfn convert_ulong4(short4);
3000 ulong4 __ovld __cnfn convert_ulong4_sat(short4);
3001 ulong4 __ovld __cnfn convert_ulong4_rte(ushort4);
3002 ulong4 __ovld __cnfn convert_ulong4_sat_rte(ushort4);
3003 ulong4 __ovld __cnfn convert_ulong4_rtz(ushort4);
3004 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(ushort4);
3005 ulong4 __ovld __cnfn convert_ulong4_rtp(ushort4);
3006 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(ushort4);
3007 ulong4 __ovld __cnfn convert_ulong4_rtn(ushort4);
3008 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(ushort4);
3009 ulong4 __ovld __cnfn convert_ulong4(ushort4);
3010 ulong4 __ovld __cnfn convert_ulong4_sat(ushort4);
3011 ulong4 __ovld __cnfn convert_ulong4_rte(int4);
3012 ulong4 __ovld __cnfn convert_ulong4_sat_rte(int4);
3013 ulong4 __ovld __cnfn convert_ulong4_rtz(int4);
3014 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(int4);
3015 ulong4 __ovld __cnfn convert_ulong4_rtp(int4);
3016 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(int4);
3017 ulong4 __ovld __cnfn convert_ulong4_rtn(int4);
3018 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(int4);
3019 ulong4 __ovld __cnfn convert_ulong4(int4);
3020 ulong4 __ovld __cnfn convert_ulong4_sat(int4);
3021 ulong4 __ovld __cnfn convert_ulong4_rte(uint4);
3022 ulong4 __ovld __cnfn convert_ulong4_sat_rte(uint4);
3023 ulong4 __ovld __cnfn convert_ulong4_rtz(uint4);
3024 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(uint4);
3025 ulong4 __ovld __cnfn convert_ulong4_rtp(uint4);
3026 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(uint4);
3027 ulong4 __ovld __cnfn convert_ulong4_rtn(uint4);
3028 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(uint4);
3029 ulong4 __ovld __cnfn convert_ulong4(uint4);
3030 ulong4 __ovld __cnfn convert_ulong4_sat(uint4);
3031 ulong4 __ovld __cnfn convert_ulong4_rte(long4);
3032 ulong4 __ovld __cnfn convert_ulong4_sat_rte(long4);
3033 ulong4 __ovld __cnfn convert_ulong4_rtz(long4);
3034 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(long4);
3035 ulong4 __ovld __cnfn convert_ulong4_rtp(long4);
3036 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(long4);
3037 ulong4 __ovld __cnfn convert_ulong4_rtn(long4);
3038 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(long4);
3039 ulong4 __ovld __cnfn convert_ulong4(long4);
3040 ulong4 __ovld __cnfn convert_ulong4_sat(long4);
3041 ulong4 __ovld __cnfn convert_ulong4_rte(ulong4);
3042 ulong4 __ovld __cnfn convert_ulong4_sat_rte(ulong4);
3043 ulong4 __ovld __cnfn convert_ulong4_rtz(ulong4);
3044 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(ulong4);
3045 ulong4 __ovld __cnfn convert_ulong4_rtp(ulong4);
3046 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(ulong4);
3047 ulong4 __ovld __cnfn convert_ulong4_rtn(ulong4);
3048 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(ulong4);
3049 ulong4 __ovld __cnfn convert_ulong4(ulong4);
3050 ulong4 __ovld __cnfn convert_ulong4_sat(ulong4);
3051 ulong4 __ovld __cnfn convert_ulong4_rte(float4);
3052 ulong4 __ovld __cnfn convert_ulong4_sat_rte(float4);
3053 ulong4 __ovld __cnfn convert_ulong4_rtz(float4);
3054 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(float4);
3055 ulong4 __ovld __cnfn convert_ulong4_rtp(float4);
3056 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(float4);
3057 ulong4 __ovld __cnfn convert_ulong4_rtn(float4);
3058 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(float4);
3059 ulong4 __ovld __cnfn convert_ulong4(float4);
3060 ulong4 __ovld __cnfn convert_ulong4_sat(float4);
3061 float4 __ovld __cnfn convert_float4_rte(char4);
3062 float4 __ovld __cnfn convert_float4_rtz(char4);
3063 float4 __ovld __cnfn convert_float4_rtp(char4);
3064 float4 __ovld __cnfn convert_float4_rtn(char4);
3065 float4 __ovld __cnfn convert_float4(char4);
3066 float4 __ovld __cnfn convert_float4_rte(uchar4);
3067 float4 __ovld __cnfn convert_float4_rtz(uchar4);
3068 float4 __ovld __cnfn convert_float4_rtp(uchar4);
3069 float4 __ovld __cnfn convert_float4_rtn(uchar4);
3070 float4 __ovld __cnfn convert_float4(uchar4);
3071 float4 __ovld __cnfn convert_float4_rte(short4);
3072 float4 __ovld __cnfn convert_float4_rtz(short4);
3073 float4 __ovld __cnfn convert_float4_rtp(short4);
3074 float4 __ovld __cnfn convert_float4_rtn(short4);
3075 float4 __ovld __cnfn convert_float4(short4);
3076 float4 __ovld __cnfn convert_float4_rte(ushort4);
3077 float4 __ovld __cnfn convert_float4_rtz(ushort4);
3078 float4 __ovld __cnfn convert_float4_rtp(ushort4);
3079 float4 __ovld __cnfn convert_float4_rtn(ushort4);
3080 float4 __ovld __cnfn convert_float4(ushort4);
3081 float4 __ovld __cnfn convert_float4_rte(int4);
3082 float4 __ovld __cnfn convert_float4_rtz(int4);
3083 float4 __ovld __cnfn convert_float4_rtp(int4);
3084 float4 __ovld __cnfn convert_float4_rtn(int4);
3085 float4 __ovld __cnfn convert_float4(int4);
3086 float4 __ovld __cnfn convert_float4_rte(uint4);
3087 float4 __ovld __cnfn convert_float4_rtz(uint4);
3088 float4 __ovld __cnfn convert_float4_rtp(uint4);
3089 float4 __ovld __cnfn convert_float4_rtn(uint4);
3090 float4 __ovld __cnfn convert_float4(uint4);
3091 float4 __ovld __cnfn convert_float4_rte(long4);
3092 float4 __ovld __cnfn convert_float4_rtz(long4);
3093 float4 __ovld __cnfn convert_float4_rtp(long4);
3094 float4 __ovld __cnfn convert_float4_rtn(long4);
3095 float4 __ovld __cnfn convert_float4(long4);
3096 float4 __ovld __cnfn convert_float4_rte(ulong4);
3097 float4 __ovld __cnfn convert_float4_rtz(ulong4);
3098 float4 __ovld __cnfn convert_float4_rtp(ulong4);
3099 float4 __ovld __cnfn convert_float4_rtn(ulong4);
3100 float4 __ovld __cnfn convert_float4(ulong4);
3101 float4 __ovld __cnfn convert_float4_rte(float4);
3102 float4 __ovld __cnfn convert_float4_rtz(float4);
3103 float4 __ovld __cnfn convert_float4_rtp(float4);
3104 float4 __ovld __cnfn convert_float4_rtn(float4);
3105 float4 __ovld __cnfn convert_float4(float4);
3106 char8 __ovld __cnfn convert_char8_rte(char8);
3107 char8 __ovld __cnfn convert_char8_sat_rte(char8);
3108 char8 __ovld __cnfn convert_char8_rtz(char8);
3109 char8 __ovld __cnfn convert_char8_sat_rtz(char8);
3110 char8 __ovld __cnfn convert_char8_rtp(char8);
3111 char8 __ovld __cnfn convert_char8_sat_rtp(char8);
3112 char8 __ovld __cnfn convert_char8_rtn(char8);
3113 char8 __ovld __cnfn convert_char8_sat_rtn(char8);
3114 char8 __ovld __cnfn convert_char8(char8);
3115 char8 __ovld __cnfn convert_char8_sat(char8);
3116 char8 __ovld __cnfn convert_char8_rte(uchar8);
3117 char8 __ovld __cnfn convert_char8_sat_rte(uchar8);
3118 char8 __ovld __cnfn convert_char8_rtz(uchar8);
3119 char8 __ovld __cnfn convert_char8_sat_rtz(uchar8);
3120 char8 __ovld __cnfn convert_char8_rtp(uchar8);
3121 char8 __ovld __cnfn convert_char8_sat_rtp(uchar8);
3122 char8 __ovld __cnfn convert_char8_rtn(uchar8);
3123 char8 __ovld __cnfn convert_char8_sat_rtn(uchar8);
3124 char8 __ovld __cnfn convert_char8(uchar8);
3125 char8 __ovld __cnfn convert_char8_sat(uchar8);
3126 char8 __ovld __cnfn convert_char8_rte(short8);
3127 char8 __ovld __cnfn convert_char8_sat_rte(short8);
3128 char8 __ovld __cnfn convert_char8_rtz(short8);
3129 char8 __ovld __cnfn convert_char8_sat_rtz(short8);
3130 char8 __ovld __cnfn convert_char8_rtp(short8);
3131 char8 __ovld __cnfn convert_char8_sat_rtp(short8);
3132 char8 __ovld __cnfn convert_char8_rtn(short8);
3133 char8 __ovld __cnfn convert_char8_sat_rtn(short8);
3134 char8 __ovld __cnfn convert_char8(short8);
3135 char8 __ovld __cnfn convert_char8_sat(short8);
3136 char8 __ovld __cnfn convert_char8_rte(ushort8);
3137 char8 __ovld __cnfn convert_char8_sat_rte(ushort8);
3138 char8 __ovld __cnfn convert_char8_rtz(ushort8);
3139 char8 __ovld __cnfn convert_char8_sat_rtz(ushort8);
3140 char8 __ovld __cnfn convert_char8_rtp(ushort8);
3141 char8 __ovld __cnfn convert_char8_sat_rtp(ushort8);
3142 char8 __ovld __cnfn convert_char8_rtn(ushort8);
3143 char8 __ovld __cnfn convert_char8_sat_rtn(ushort8);
3144 char8 __ovld __cnfn convert_char8(ushort8);
3145 char8 __ovld __cnfn convert_char8_sat(ushort8);
3146 char8 __ovld __cnfn convert_char8_rte(int8);
3147 char8 __ovld __cnfn convert_char8_sat_rte(int8);
3148 char8 __ovld __cnfn convert_char8_rtz(int8);
3149 char8 __ovld __cnfn convert_char8_sat_rtz(int8);
3150 char8 __ovld __cnfn convert_char8_rtp(int8);
3151 char8 __ovld __cnfn convert_char8_sat_rtp(int8);
3152 char8 __ovld __cnfn convert_char8_rtn(int8);
3153 char8 __ovld __cnfn convert_char8_sat_rtn(int8);
3154 char8 __ovld __cnfn convert_char8(int8);
3155 char8 __ovld __cnfn convert_char8_sat(int8);
3156 char8 __ovld __cnfn convert_char8_rte(uint8);
3157 char8 __ovld __cnfn convert_char8_sat_rte(uint8);
3158 char8 __ovld __cnfn convert_char8_rtz(uint8);
3159 char8 __ovld __cnfn convert_char8_sat_rtz(uint8);
3160 char8 __ovld __cnfn convert_char8_rtp(uint8);
3161 char8 __ovld __cnfn convert_char8_sat_rtp(uint8);
3162 char8 __ovld __cnfn convert_char8_rtn(uint8);
3163 char8 __ovld __cnfn convert_char8_sat_rtn(uint8);
3164 char8 __ovld __cnfn convert_char8(uint8);
3165 char8 __ovld __cnfn convert_char8_sat(uint8);
3166 char8 __ovld __cnfn convert_char8_rte(long8);
3167 char8 __ovld __cnfn convert_char8_sat_rte(long8);
3168 char8 __ovld __cnfn convert_char8_rtz(long8);
3169 char8 __ovld __cnfn convert_char8_sat_rtz(long8);
3170 char8 __ovld __cnfn convert_char8_rtp(long8);
3171 char8 __ovld __cnfn convert_char8_sat_rtp(long8);
3172 char8 __ovld __cnfn convert_char8_rtn(long8);
3173 char8 __ovld __cnfn convert_char8_sat_rtn(long8);
3174 char8 __ovld __cnfn convert_char8(long8);
3175 char8 __ovld __cnfn convert_char8_sat(long8);
3176 char8 __ovld __cnfn convert_char8_rte(ulong8);
3177 char8 __ovld __cnfn convert_char8_sat_rte(ulong8);
3178 char8 __ovld __cnfn convert_char8_rtz(ulong8);
3179 char8 __ovld __cnfn convert_char8_sat_rtz(ulong8);
3180 char8 __ovld __cnfn convert_char8_rtp(ulong8);
3181 char8 __ovld __cnfn convert_char8_sat_rtp(ulong8);
3182 char8 __ovld __cnfn convert_char8_rtn(ulong8);
3183 char8 __ovld __cnfn convert_char8_sat_rtn(ulong8);
3184 char8 __ovld __cnfn convert_char8(ulong8);
3185 char8 __ovld __cnfn convert_char8_sat(ulong8);
3186 char8 __ovld __cnfn convert_char8_rte(float8);
3187 char8 __ovld __cnfn convert_char8_sat_rte(float8);
3188 char8 __ovld __cnfn convert_char8_rtz(float8);
3189 char8 __ovld __cnfn convert_char8_sat_rtz(float8);
3190 char8 __ovld __cnfn convert_char8_rtp(float8);
3191 char8 __ovld __cnfn convert_char8_sat_rtp(float8);
3192 char8 __ovld __cnfn convert_char8_rtn(float8);
3193 char8 __ovld __cnfn convert_char8_sat_rtn(float8);
3194 char8 __ovld __cnfn convert_char8(float8);
3195 char8 __ovld __cnfn convert_char8_sat(float8);
3196 uchar8 __ovld __cnfn convert_uchar8_rte(char8);
3197 uchar8 __ovld __cnfn convert_uchar8_sat_rte(char8);
3198 uchar8 __ovld __cnfn convert_uchar8_rtz(char8);
3199 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(char8);
3200 uchar8 __ovld __cnfn convert_uchar8_rtp(char8);
3201 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(char8);
3202 uchar8 __ovld __cnfn convert_uchar8_rtn(char8);
3203 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(char8);
3204 uchar8 __ovld __cnfn convert_uchar8(char8);
3205 uchar8 __ovld __cnfn convert_uchar8_sat(char8);
3206 uchar8 __ovld __cnfn convert_uchar8_rte(uchar8);
3207 uchar8 __ovld __cnfn convert_uchar8_sat_rte(uchar8);
3208 uchar8 __ovld __cnfn convert_uchar8_rtz(uchar8);
3209 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(uchar8);
3210 uchar8 __ovld __cnfn convert_uchar8_rtp(uchar8);
3211 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(uchar8);
3212 uchar8 __ovld __cnfn convert_uchar8_rtn(uchar8);
3213 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(uchar8);
3214 uchar8 __ovld __cnfn convert_uchar8(uchar8);
3215 uchar8 __ovld __cnfn convert_uchar8_sat(uchar8);
3216 uchar8 __ovld __cnfn convert_uchar8_rte(short8);
3217 uchar8 __ovld __cnfn convert_uchar8_sat_rte(short8);
3218 uchar8 __ovld __cnfn convert_uchar8_rtz(short8);
3219 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(short8);
3220 uchar8 __ovld __cnfn convert_uchar8_rtp(short8);
3221 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(short8);
3222 uchar8 __ovld __cnfn convert_uchar8_rtn(short8);
3223 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(short8);
3224 uchar8 __ovld __cnfn convert_uchar8(short8);
3225 uchar8 __ovld __cnfn convert_uchar8_sat(short8);
3226 uchar8 __ovld __cnfn convert_uchar8_rte(ushort8);
3227 uchar8 __ovld __cnfn convert_uchar8_sat_rte(ushort8);
3228 uchar8 __ovld __cnfn convert_uchar8_rtz(ushort8);
3229 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(ushort8);
3230 uchar8 __ovld __cnfn convert_uchar8_rtp(ushort8);
3231 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(ushort8);
3232 uchar8 __ovld __cnfn convert_uchar8_rtn(ushort8);
3233 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(ushort8);
3234 uchar8 __ovld __cnfn convert_uchar8(ushort8);
3235 uchar8 __ovld __cnfn convert_uchar8_sat(ushort8);
3236 uchar8 __ovld __cnfn convert_uchar8_rte(int8);
3237 uchar8 __ovld __cnfn convert_uchar8_sat_rte(int8);
3238 uchar8 __ovld __cnfn convert_uchar8_rtz(int8);
3239 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(int8);
3240 uchar8 __ovld __cnfn convert_uchar8_rtp(int8);
3241 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(int8);
3242 uchar8 __ovld __cnfn convert_uchar8_rtn(int8);
3243 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(int8);
3244 uchar8 __ovld __cnfn convert_uchar8(int8);
3245 uchar8 __ovld __cnfn convert_uchar8_sat(int8);
3246 uchar8 __ovld __cnfn convert_uchar8_rte(uint8);
3247 uchar8 __ovld __cnfn convert_uchar8_sat_rte(uint8);
3248 uchar8 __ovld __cnfn convert_uchar8_rtz(uint8);
3249 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(uint8);
3250 uchar8 __ovld __cnfn convert_uchar8_rtp(uint8);
3251 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(uint8);
3252 uchar8 __ovld __cnfn convert_uchar8_rtn(uint8);
3253 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(uint8);
3254 uchar8 __ovld __cnfn convert_uchar8(uint8);
3255 uchar8 __ovld __cnfn convert_uchar8_sat(uint8);
3256 uchar8 __ovld __cnfn convert_uchar8_rte(long8);
3257 uchar8 __ovld __cnfn convert_uchar8_sat_rte(long8);
3258 uchar8 __ovld __cnfn convert_uchar8_rtz(long8);
3259 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(long8);
3260 uchar8 __ovld __cnfn convert_uchar8_rtp(long8);
3261 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(long8);
3262 uchar8 __ovld __cnfn convert_uchar8_rtn(long8);
3263 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(long8);
3264 uchar8 __ovld __cnfn convert_uchar8(long8);
3265 uchar8 __ovld __cnfn convert_uchar8_sat(long8);
3266 uchar8 __ovld __cnfn convert_uchar8_rte(ulong8);
3267 uchar8 __ovld __cnfn convert_uchar8_sat_rte(ulong8);
3268 uchar8 __ovld __cnfn convert_uchar8_rtz(ulong8);
3269 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(ulong8);
3270 uchar8 __ovld __cnfn convert_uchar8_rtp(ulong8);
3271 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(ulong8);
3272 uchar8 __ovld __cnfn convert_uchar8_rtn(ulong8);
3273 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(ulong8);
3274 uchar8 __ovld __cnfn convert_uchar8(ulong8);
3275 uchar8 __ovld __cnfn convert_uchar8_sat(ulong8);
3276 uchar8 __ovld __cnfn convert_uchar8_rte(float8);
3277 uchar8 __ovld __cnfn convert_uchar8_sat_rte(float8);
3278 uchar8 __ovld __cnfn convert_uchar8_rtz(float8);
3279 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(float8);
3280 uchar8 __ovld __cnfn convert_uchar8_rtp(float8);
3281 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(float8);
3282 uchar8 __ovld __cnfn convert_uchar8_rtn(float8);
3283 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(float8);
3284 uchar8 __ovld __cnfn convert_uchar8(float8);
3285 uchar8 __ovld __cnfn convert_uchar8_sat(float8);
3286 short8 __ovld __cnfn convert_short8_rte(char8);
3287 short8 __ovld __cnfn convert_short8_sat_rte(char8);
3288 short8 __ovld __cnfn convert_short8_rtz(char8);
3289 short8 __ovld __cnfn convert_short8_sat_rtz(char8);
3290 short8 __ovld __cnfn convert_short8_rtp(char8);
3291 short8 __ovld __cnfn convert_short8_sat_rtp(char8);
3292 short8 __ovld __cnfn convert_short8_rtn(char8);
3293 short8 __ovld __cnfn convert_short8_sat_rtn(char8);
3294 short8 __ovld __cnfn convert_short8(char8);
3295 short8 __ovld __cnfn convert_short8_sat(char8);
3296 short8 __ovld __cnfn convert_short8_rte(uchar8);
3297 short8 __ovld __cnfn convert_short8_sat_rte(uchar8);
3298 short8 __ovld __cnfn convert_short8_rtz(uchar8);
3299 short8 __ovld __cnfn convert_short8_sat_rtz(uchar8);
3300 short8 __ovld __cnfn convert_short8_rtp(uchar8);
3301 short8 __ovld __cnfn convert_short8_sat_rtp(uchar8);
3302 short8 __ovld __cnfn convert_short8_rtn(uchar8);
3303 short8 __ovld __cnfn convert_short8_sat_rtn(uchar8);
3304 short8 __ovld __cnfn convert_short8(uchar8);
3305 short8 __ovld __cnfn convert_short8_sat(uchar8);
3306 short8 __ovld __cnfn convert_short8_rte(short8);
3307 short8 __ovld __cnfn convert_short8_sat_rte(short8);
3308 short8 __ovld __cnfn convert_short8_rtz(short8);
3309 short8 __ovld __cnfn convert_short8_sat_rtz(short8);
3310 short8 __ovld __cnfn convert_short8_rtp(short8);
3311 short8 __ovld __cnfn convert_short8_sat_rtp(short8);
3312 short8 __ovld __cnfn convert_short8_rtn(short8);
3313 short8 __ovld __cnfn convert_short8_sat_rtn(short8);
3314 short8 __ovld __cnfn convert_short8(short8);
3315 short8 __ovld __cnfn convert_short8_sat(short8);
3316 short8 __ovld __cnfn convert_short8_rte(ushort8);
3317 short8 __ovld __cnfn convert_short8_sat_rte(ushort8);
3318 short8 __ovld __cnfn convert_short8_rtz(ushort8);
3319 short8 __ovld __cnfn convert_short8_sat_rtz(ushort8);
3320 short8 __ovld __cnfn convert_short8_rtp(ushort8);
3321 short8 __ovld __cnfn convert_short8_sat_rtp(ushort8);
3322 short8 __ovld __cnfn convert_short8_rtn(ushort8);
3323 short8 __ovld __cnfn convert_short8_sat_rtn(ushort8);
3324 short8 __ovld __cnfn convert_short8(ushort8);
3325 short8 __ovld __cnfn convert_short8_sat(ushort8);
3326 short8 __ovld __cnfn convert_short8_rte(int8);
3327 short8 __ovld __cnfn convert_short8_sat_rte(int8);
3328 short8 __ovld __cnfn convert_short8_rtz(int8);
3329 short8 __ovld __cnfn convert_short8_sat_rtz(int8);
3330 short8 __ovld __cnfn convert_short8_rtp(int8);
3331 short8 __ovld __cnfn convert_short8_sat_rtp(int8);
3332 short8 __ovld __cnfn convert_short8_rtn(int8);
3333 short8 __ovld __cnfn convert_short8_sat_rtn(int8);
3334 short8 __ovld __cnfn convert_short8(int8);
3335 short8 __ovld __cnfn convert_short8_sat(int8);
3336 short8 __ovld __cnfn convert_short8_rte(uint8);
3337 short8 __ovld __cnfn convert_short8_sat_rte(uint8);
3338 short8 __ovld __cnfn convert_short8_rtz(uint8);
3339 short8 __ovld __cnfn convert_short8_sat_rtz(uint8);
3340 short8 __ovld __cnfn convert_short8_rtp(uint8);
3341 short8 __ovld __cnfn convert_short8_sat_rtp(uint8);
3342 short8 __ovld __cnfn convert_short8_rtn(uint8);
3343 short8 __ovld __cnfn convert_short8_sat_rtn(uint8);
3344 short8 __ovld __cnfn convert_short8(uint8);
3345 short8 __ovld __cnfn convert_short8_sat(uint8);
3346 short8 __ovld __cnfn convert_short8_rte(long8);
3347 short8 __ovld __cnfn convert_short8_sat_rte(long8);
3348 short8 __ovld __cnfn convert_short8_rtz(long8);
3349 short8 __ovld __cnfn convert_short8_sat_rtz(long8);
3350 short8 __ovld __cnfn convert_short8_rtp(long8);
3351 short8 __ovld __cnfn convert_short8_sat_rtp(long8);
3352 short8 __ovld __cnfn convert_short8_rtn(long8);
3353 short8 __ovld __cnfn convert_short8_sat_rtn(long8);
3354 short8 __ovld __cnfn convert_short8(long8);
3355 short8 __ovld __cnfn convert_short8_sat(long8);
3356 short8 __ovld __cnfn convert_short8_rte(ulong8);
3357 short8 __ovld __cnfn convert_short8_sat_rte(ulong8);
3358 short8 __ovld __cnfn convert_short8_rtz(ulong8);
3359 short8 __ovld __cnfn convert_short8_sat_rtz(ulong8);
3360 short8 __ovld __cnfn convert_short8_rtp(ulong8);
3361 short8 __ovld __cnfn convert_short8_sat_rtp(ulong8);
3362 short8 __ovld __cnfn convert_short8_rtn(ulong8);
3363 short8 __ovld __cnfn convert_short8_sat_rtn(ulong8);
3364 short8 __ovld __cnfn convert_short8(ulong8);
3365 short8 __ovld __cnfn convert_short8_sat(ulong8);
3366 short8 __ovld __cnfn convert_short8_rte(float8);
3367 short8 __ovld __cnfn convert_short8_sat_rte(float8);
3368 short8 __ovld __cnfn convert_short8_rtz(float8);
3369 short8 __ovld __cnfn convert_short8_sat_rtz(float8);
3370 short8 __ovld __cnfn convert_short8_rtp(float8);
3371 short8 __ovld __cnfn convert_short8_sat_rtp(float8);
3372 short8 __ovld __cnfn convert_short8_rtn(float8);
3373 short8 __ovld __cnfn convert_short8_sat_rtn(float8);
3374 short8 __ovld __cnfn convert_short8(float8);
3375 short8 __ovld __cnfn convert_short8_sat(float8);
3376 ushort8 __ovld __cnfn convert_ushort8_rte(char8);
3377 ushort8 __ovld __cnfn convert_ushort8_sat_rte(char8);
3378 ushort8 __ovld __cnfn convert_ushort8_rtz(char8);
3379 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(char8);
3380 ushort8 __ovld __cnfn convert_ushort8_rtp(char8);
3381 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(char8);
3382 ushort8 __ovld __cnfn convert_ushort8_rtn(char8);
3383 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(char8);
3384 ushort8 __ovld __cnfn convert_ushort8(char8);
3385 ushort8 __ovld __cnfn convert_ushort8_sat(char8);
3386 ushort8 __ovld __cnfn convert_ushort8_rte(uchar8);
3387 ushort8 __ovld __cnfn convert_ushort8_sat_rte(uchar8);
3388 ushort8 __ovld __cnfn convert_ushort8_rtz(uchar8);
3389 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(uchar8);
3390 ushort8 __ovld __cnfn convert_ushort8_rtp(uchar8);
3391 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(uchar8);
3392 ushort8 __ovld __cnfn convert_ushort8_rtn(uchar8);
3393 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(uchar8);
3394 ushort8 __ovld __cnfn convert_ushort8(uchar8);
3395 ushort8 __ovld __cnfn convert_ushort8_sat(uchar8);
3396 ushort8 __ovld __cnfn convert_ushort8_rte(short8);
3397 ushort8 __ovld __cnfn convert_ushort8_sat_rte(short8);
3398 ushort8 __ovld __cnfn convert_ushort8_rtz(short8);
3399 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(short8);
3400 ushort8 __ovld __cnfn convert_ushort8_rtp(short8);
3401 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(short8);
3402 ushort8 __ovld __cnfn convert_ushort8_rtn(short8);
3403 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(short8);
3404 ushort8 __ovld __cnfn convert_ushort8(short8);
3405 ushort8 __ovld __cnfn convert_ushort8_sat(short8);
3406 ushort8 __ovld __cnfn convert_ushort8_rte(ushort8);
3407 ushort8 __ovld __cnfn convert_ushort8_sat_rte(ushort8);
3408 ushort8 __ovld __cnfn convert_ushort8_rtz(ushort8);
3409 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(ushort8);
3410 ushort8 __ovld __cnfn convert_ushort8_rtp(ushort8);
3411 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(ushort8);
3412 ushort8 __ovld __cnfn convert_ushort8_rtn(ushort8);
3413 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(ushort8);
3414 ushort8 __ovld __cnfn convert_ushort8(ushort8);
3415 ushort8 __ovld __cnfn convert_ushort8_sat(ushort8);
3416 ushort8 __ovld __cnfn convert_ushort8_rte(int8);
3417 ushort8 __ovld __cnfn convert_ushort8_sat_rte(int8);
3418 ushort8 __ovld __cnfn convert_ushort8_rtz(int8);
3419 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(int8);
3420 ushort8 __ovld __cnfn convert_ushort8_rtp(int8);
3421 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(int8);
3422 ushort8 __ovld __cnfn convert_ushort8_rtn(int8);
3423 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(int8);
3424 ushort8 __ovld __cnfn convert_ushort8(int8);
3425 ushort8 __ovld __cnfn convert_ushort8_sat(int8);
3426 ushort8 __ovld __cnfn convert_ushort8_rte(uint8);
3427 ushort8 __ovld __cnfn convert_ushort8_sat_rte(uint8);
3428 ushort8 __ovld __cnfn convert_ushort8_rtz(uint8);
3429 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(uint8);
3430 ushort8 __ovld __cnfn convert_ushort8_rtp(uint8);
3431 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(uint8);
3432 ushort8 __ovld __cnfn convert_ushort8_rtn(uint8);
3433 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(uint8);
3434 ushort8 __ovld __cnfn convert_ushort8(uint8);
3435 ushort8 __ovld __cnfn convert_ushort8_sat(uint8);
3436 ushort8 __ovld __cnfn convert_ushort8_rte(long8);
3437 ushort8 __ovld __cnfn convert_ushort8_sat_rte(long8);
3438 ushort8 __ovld __cnfn convert_ushort8_rtz(long8);
3439 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(long8);
3440 ushort8 __ovld __cnfn convert_ushort8_rtp(long8);
3441 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(long8);
3442 ushort8 __ovld __cnfn convert_ushort8_rtn(long8);
3443 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(long8);
3444 ushort8 __ovld __cnfn convert_ushort8(long8);
3445 ushort8 __ovld __cnfn convert_ushort8_sat(long8);
3446 ushort8 __ovld __cnfn convert_ushort8_rte(ulong8);
3447 ushort8 __ovld __cnfn convert_ushort8_sat_rte(ulong8);
3448 ushort8 __ovld __cnfn convert_ushort8_rtz(ulong8);
3449 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(ulong8);
3450 ushort8 __ovld __cnfn convert_ushort8_rtp(ulong8);
3451 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(ulong8);
3452 ushort8 __ovld __cnfn convert_ushort8_rtn(ulong8);
3453 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(ulong8);
3454 ushort8 __ovld __cnfn convert_ushort8(ulong8);
3455 ushort8 __ovld __cnfn convert_ushort8_sat(ulong8);
3456 ushort8 __ovld __cnfn convert_ushort8_rte(float8);
3457 ushort8 __ovld __cnfn convert_ushort8_sat_rte(float8);
3458 ushort8 __ovld __cnfn convert_ushort8_rtz(float8);
3459 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(float8);
3460 ushort8 __ovld __cnfn convert_ushort8_rtp(float8);
3461 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(float8);
3462 ushort8 __ovld __cnfn convert_ushort8_rtn(float8);
3463 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(float8);
3464 ushort8 __ovld __cnfn convert_ushort8(float8);
3465 ushort8 __ovld __cnfn convert_ushort8_sat(float8);
3466 int8 __ovld __cnfn convert_int8_rte(char8);
3467 int8 __ovld __cnfn convert_int8_sat_rte(char8);
3468 int8 __ovld __cnfn convert_int8_rtz(char8);
3469 int8 __ovld __cnfn convert_int8_sat_rtz(char8);
3470 int8 __ovld __cnfn convert_int8_rtp(char8);
3471 int8 __ovld __cnfn convert_int8_sat_rtp(char8);
3472 int8 __ovld __cnfn convert_int8_rtn(char8);
3473 int8 __ovld __cnfn convert_int8_sat_rtn(char8);
3474 int8 __ovld __cnfn convert_int8(char8);
3475 int8 __ovld __cnfn convert_int8_sat(char8);
3476 int8 __ovld __cnfn convert_int8_rte(uchar8);
3477 int8 __ovld __cnfn convert_int8_sat_rte(uchar8);
3478 int8 __ovld __cnfn convert_int8_rtz(uchar8);
3479 int8 __ovld __cnfn convert_int8_sat_rtz(uchar8);
3480 int8 __ovld __cnfn convert_int8_rtp(uchar8);
3481 int8 __ovld __cnfn convert_int8_sat_rtp(uchar8);
3482 int8 __ovld __cnfn convert_int8_rtn(uchar8);
3483 int8 __ovld __cnfn convert_int8_sat_rtn(uchar8);
3484 int8 __ovld __cnfn convert_int8(uchar8);
3485 int8 __ovld __cnfn convert_int8_sat(uchar8);
3486 int8 __ovld __cnfn convert_int8_rte(short8);
3487 int8 __ovld __cnfn convert_int8_sat_rte(short8);
3488 int8 __ovld __cnfn convert_int8_rtz(short8);
3489 int8 __ovld __cnfn convert_int8_sat_rtz(short8);
3490 int8 __ovld __cnfn convert_int8_rtp(short8);
3491 int8 __ovld __cnfn convert_int8_sat_rtp(short8);
3492 int8 __ovld __cnfn convert_int8_rtn(short8);
3493 int8 __ovld __cnfn convert_int8_sat_rtn(short8);
3494 int8 __ovld __cnfn convert_int8(short8);
3495 int8 __ovld __cnfn convert_int8_sat(short8);
3496 int8 __ovld __cnfn convert_int8_rte(ushort8);
3497 int8 __ovld __cnfn convert_int8_sat_rte(ushort8);
3498 int8 __ovld __cnfn convert_int8_rtz(ushort8);
3499 int8 __ovld __cnfn convert_int8_sat_rtz(ushort8);
3500 int8 __ovld __cnfn convert_int8_rtp(ushort8);
3501 int8 __ovld __cnfn convert_int8_sat_rtp(ushort8);
3502 int8 __ovld __cnfn convert_int8_rtn(ushort8);
3503 int8 __ovld __cnfn convert_int8_sat_rtn(ushort8);
3504 int8 __ovld __cnfn convert_int8(ushort8);
3505 int8 __ovld __cnfn convert_int8_sat(ushort8);
3506 int8 __ovld __cnfn convert_int8_rte(int8);
3507 int8 __ovld __cnfn convert_int8_sat_rte(int8);
3508 int8 __ovld __cnfn convert_int8_rtz(int8);
3509 int8 __ovld __cnfn convert_int8_sat_rtz(int8);
3510 int8 __ovld __cnfn convert_int8_rtp(int8);
3511 int8 __ovld __cnfn convert_int8_sat_rtp(int8);
3512 int8 __ovld __cnfn convert_int8_rtn(int8);
3513 int8 __ovld __cnfn convert_int8_sat_rtn(int8);
3514 int8 __ovld __cnfn convert_int8(int8);
3515 int8 __ovld __cnfn convert_int8_sat(int8);
3516 int8 __ovld __cnfn convert_int8_rte(uint8);
3517 int8 __ovld __cnfn convert_int8_sat_rte(uint8);
3518 int8 __ovld __cnfn convert_int8_rtz(uint8);
3519 int8 __ovld __cnfn convert_int8_sat_rtz(uint8);
3520 int8 __ovld __cnfn convert_int8_rtp(uint8);
3521 int8 __ovld __cnfn convert_int8_sat_rtp(uint8);
3522 int8 __ovld __cnfn convert_int8_rtn(uint8);
3523 int8 __ovld __cnfn convert_int8_sat_rtn(uint8);
3524 int8 __ovld __cnfn convert_int8(uint8);
3525 int8 __ovld __cnfn convert_int8_sat(uint8);
3526 int8 __ovld __cnfn convert_int8_rte(long8);
3527 int8 __ovld __cnfn convert_int8_sat_rte(long8);
3528 int8 __ovld __cnfn convert_int8_rtz(long8);
3529 int8 __ovld __cnfn convert_int8_sat_rtz(long8);
3530 int8 __ovld __cnfn convert_int8_rtp(long8);
3531 int8 __ovld __cnfn convert_int8_sat_rtp(long8);
3532 int8 __ovld __cnfn convert_int8_rtn(long8);
3533 int8 __ovld __cnfn convert_int8_sat_rtn(long8);
3534 int8 __ovld __cnfn convert_int8(long8);
3535 int8 __ovld __cnfn convert_int8_sat(long8);
3536 int8 __ovld __cnfn convert_int8_rte(ulong8);
3537 int8 __ovld __cnfn convert_int8_sat_rte(ulong8);
3538 int8 __ovld __cnfn convert_int8_rtz(ulong8);
3539 int8 __ovld __cnfn convert_int8_sat_rtz(ulong8);
3540 int8 __ovld __cnfn convert_int8_rtp(ulong8);
3541 int8 __ovld __cnfn convert_int8_sat_rtp(ulong8);
3542 int8 __ovld __cnfn convert_int8_rtn(ulong8);
3543 int8 __ovld __cnfn convert_int8_sat_rtn(ulong8);
3544 int8 __ovld __cnfn convert_int8(ulong8);
3545 int8 __ovld __cnfn convert_int8_sat(ulong8);
3546 int8 __ovld __cnfn convert_int8_rte(float8);
3547 int8 __ovld __cnfn convert_int8_sat_rte(float8);
3548 int8 __ovld __cnfn convert_int8_rtz(float8);
3549 int8 __ovld __cnfn convert_int8_sat_rtz(float8);
3550 int8 __ovld __cnfn convert_int8_rtp(float8);
3551 int8 __ovld __cnfn convert_int8_sat_rtp(float8);
3552 int8 __ovld __cnfn convert_int8_rtn(float8);
3553 int8 __ovld __cnfn convert_int8_sat_rtn(float8);
3554 int8 __ovld __cnfn convert_int8(float8);
3555 int8 __ovld __cnfn convert_int8_sat(float8);
3556 uint8 __ovld __cnfn convert_uint8_rte(char8);
3557 uint8 __ovld __cnfn convert_uint8_sat_rte(char8);
3558 uint8 __ovld __cnfn convert_uint8_rtz(char8);
3559 uint8 __ovld __cnfn convert_uint8_sat_rtz(char8);
3560 uint8 __ovld __cnfn convert_uint8_rtp(char8);
3561 uint8 __ovld __cnfn convert_uint8_sat_rtp(char8);
3562 uint8 __ovld __cnfn convert_uint8_rtn(char8);
3563 uint8 __ovld __cnfn convert_uint8_sat_rtn(char8);
3564 uint8 __ovld __cnfn convert_uint8(char8);
3565 uint8 __ovld __cnfn convert_uint8_sat(char8);
3566 uint8 __ovld __cnfn convert_uint8_rte(uchar8);
3567 uint8 __ovld __cnfn convert_uint8_sat_rte(uchar8);
3568 uint8 __ovld __cnfn convert_uint8_rtz(uchar8);
3569 uint8 __ovld __cnfn convert_uint8_sat_rtz(uchar8);
3570 uint8 __ovld __cnfn convert_uint8_rtp(uchar8);
3571 uint8 __ovld __cnfn convert_uint8_sat_rtp(uchar8);
3572 uint8 __ovld __cnfn convert_uint8_rtn(uchar8);
3573 uint8 __ovld __cnfn convert_uint8_sat_rtn(uchar8);
3574 uint8 __ovld __cnfn convert_uint8(uchar8);
3575 uint8 __ovld __cnfn convert_uint8_sat(uchar8);
3576 uint8 __ovld __cnfn convert_uint8_rte(short8);
3577 uint8 __ovld __cnfn convert_uint8_sat_rte(short8);
3578 uint8 __ovld __cnfn convert_uint8_rtz(short8);
3579 uint8 __ovld __cnfn convert_uint8_sat_rtz(short8);
3580 uint8 __ovld __cnfn convert_uint8_rtp(short8);
3581 uint8 __ovld __cnfn convert_uint8_sat_rtp(short8);
3582 uint8 __ovld __cnfn convert_uint8_rtn(short8);
3583 uint8 __ovld __cnfn convert_uint8_sat_rtn(short8);
3584 uint8 __ovld __cnfn convert_uint8(short8);
3585 uint8 __ovld __cnfn convert_uint8_sat(short8);
3586 uint8 __ovld __cnfn convert_uint8_rte(ushort8);
3587 uint8 __ovld __cnfn convert_uint8_sat_rte(ushort8);
3588 uint8 __ovld __cnfn convert_uint8_rtz(ushort8);
3589 uint8 __ovld __cnfn convert_uint8_sat_rtz(ushort8);
3590 uint8 __ovld __cnfn convert_uint8_rtp(ushort8);
3591 uint8 __ovld __cnfn convert_uint8_sat_rtp(ushort8);
3592 uint8 __ovld __cnfn convert_uint8_rtn(ushort8);
3593 uint8 __ovld __cnfn convert_uint8_sat_rtn(ushort8);
3594 uint8 __ovld __cnfn convert_uint8(ushort8);
3595 uint8 __ovld __cnfn convert_uint8_sat(ushort8);
3596 uint8 __ovld __cnfn convert_uint8_rte(int8);
3597 uint8 __ovld __cnfn convert_uint8_sat_rte(int8);
3598 uint8 __ovld __cnfn convert_uint8_rtz(int8);
3599 uint8 __ovld __cnfn convert_uint8_sat_rtz(int8);
3600 uint8 __ovld __cnfn convert_uint8_rtp(int8);
3601 uint8 __ovld __cnfn convert_uint8_sat_rtp(int8);
3602 uint8 __ovld __cnfn convert_uint8_rtn(int8);
3603 uint8 __ovld __cnfn convert_uint8_sat_rtn(int8);
3604 uint8 __ovld __cnfn convert_uint8(int8);
3605 uint8 __ovld __cnfn convert_uint8_sat(int8);
3606 uint8 __ovld __cnfn convert_uint8_rte(uint8);
3607 uint8 __ovld __cnfn convert_uint8_sat_rte(uint8);
3608 uint8 __ovld __cnfn convert_uint8_rtz(uint8);
3609 uint8 __ovld __cnfn convert_uint8_sat_rtz(uint8);
3610 uint8 __ovld __cnfn convert_uint8_rtp(uint8);
3611 uint8 __ovld __cnfn convert_uint8_sat_rtp(uint8);
3612 uint8 __ovld __cnfn convert_uint8_rtn(uint8);
3613 uint8 __ovld __cnfn convert_uint8_sat_rtn(uint8);
3614 uint8 __ovld __cnfn convert_uint8(uint8);
3615 uint8 __ovld __cnfn convert_uint8_sat(uint8);
3616 uint8 __ovld __cnfn convert_uint8_rte(long8);
3617 uint8 __ovld __cnfn convert_uint8_sat_rte(long8);
3618 uint8 __ovld __cnfn convert_uint8_rtz(long8);
3619 uint8 __ovld __cnfn convert_uint8_sat_rtz(long8);
3620 uint8 __ovld __cnfn convert_uint8_rtp(long8);
3621 uint8 __ovld __cnfn convert_uint8_sat_rtp(long8);
3622 uint8 __ovld __cnfn convert_uint8_rtn(long8);
3623 uint8 __ovld __cnfn convert_uint8_sat_rtn(long8);
3624 uint8 __ovld __cnfn convert_uint8(long8);
3625 uint8 __ovld __cnfn convert_uint8_sat(long8);
3626 uint8 __ovld __cnfn convert_uint8_rte(ulong8);
3627 uint8 __ovld __cnfn convert_uint8_sat_rte(ulong8);
3628 uint8 __ovld __cnfn convert_uint8_rtz(ulong8);
3629 uint8 __ovld __cnfn convert_uint8_sat_rtz(ulong8);
3630 uint8 __ovld __cnfn convert_uint8_rtp(ulong8);
3631 uint8 __ovld __cnfn convert_uint8_sat_rtp(ulong8);
3632 uint8 __ovld __cnfn convert_uint8_rtn(ulong8);
3633 uint8 __ovld __cnfn convert_uint8_sat_rtn(ulong8);
3634 uint8 __ovld __cnfn convert_uint8(ulong8);
3635 uint8 __ovld __cnfn convert_uint8_sat(ulong8);
3636 uint8 __ovld __cnfn convert_uint8_rte(float8);
3637 uint8 __ovld __cnfn convert_uint8_sat_rte(float8);
3638 uint8 __ovld __cnfn convert_uint8_rtz(float8);
3639 uint8 __ovld __cnfn convert_uint8_sat_rtz(float8);
3640 uint8 __ovld __cnfn convert_uint8_rtp(float8);
3641 uint8 __ovld __cnfn convert_uint8_sat_rtp(float8);
3642 uint8 __ovld __cnfn convert_uint8_rtn(float8);
3643 uint8 __ovld __cnfn convert_uint8_sat_rtn(float8);
3644 uint8 __ovld __cnfn convert_uint8(float8);
3645 uint8 __ovld __cnfn convert_uint8_sat(float8);
3646 long8 __ovld __cnfn convert_long8_rte(char8);
3647 long8 __ovld __cnfn convert_long8_sat_rte(char8);
3648 long8 __ovld __cnfn convert_long8_rtz(char8);
3649 long8 __ovld __cnfn convert_long8_sat_rtz(char8);
3650 long8 __ovld __cnfn convert_long8_rtp(char8);
3651 long8 __ovld __cnfn convert_long8_sat_rtp(char8);
3652 long8 __ovld __cnfn convert_long8_rtn(char8);
3653 long8 __ovld __cnfn convert_long8_sat_rtn(char8);
3654 long8 __ovld __cnfn convert_long8(char8);
3655 long8 __ovld __cnfn convert_long8_sat(char8);
3656 long8 __ovld __cnfn convert_long8_rte(uchar8);
3657 long8 __ovld __cnfn convert_long8_sat_rte(uchar8);
3658 long8 __ovld __cnfn convert_long8_rtz(uchar8);
3659 long8 __ovld __cnfn convert_long8_sat_rtz(uchar8);
3660 long8 __ovld __cnfn convert_long8_rtp(uchar8);
3661 long8 __ovld __cnfn convert_long8_sat_rtp(uchar8);
3662 long8 __ovld __cnfn convert_long8_rtn(uchar8);
3663 long8 __ovld __cnfn convert_long8_sat_rtn(uchar8);
3664 long8 __ovld __cnfn convert_long8(uchar8);
3665 long8 __ovld __cnfn convert_long8_sat(uchar8);
3666 long8 __ovld __cnfn convert_long8_rte(short8);
3667 long8 __ovld __cnfn convert_long8_sat_rte(short8);
3668 long8 __ovld __cnfn convert_long8_rtz(short8);
3669 long8 __ovld __cnfn convert_long8_sat_rtz(short8);
3670 long8 __ovld __cnfn convert_long8_rtp(short8);
3671 long8 __ovld __cnfn convert_long8_sat_rtp(short8);
3672 long8 __ovld __cnfn convert_long8_rtn(short8);
3673 long8 __ovld __cnfn convert_long8_sat_rtn(short8);
3674 long8 __ovld __cnfn convert_long8(short8);
3675 long8 __ovld __cnfn convert_long8_sat(short8);
3676 long8 __ovld __cnfn convert_long8_rte(ushort8);
3677 long8 __ovld __cnfn convert_long8_sat_rte(ushort8);
3678 long8 __ovld __cnfn convert_long8_rtz(ushort8);
3679 long8 __ovld __cnfn convert_long8_sat_rtz(ushort8);
3680 long8 __ovld __cnfn convert_long8_rtp(ushort8);
3681 long8 __ovld __cnfn convert_long8_sat_rtp(ushort8);
3682 long8 __ovld __cnfn convert_long8_rtn(ushort8);
3683 long8 __ovld __cnfn convert_long8_sat_rtn(ushort8);
3684 long8 __ovld __cnfn convert_long8(ushort8);
3685 long8 __ovld __cnfn convert_long8_sat(ushort8);
3686 long8 __ovld __cnfn convert_long8_rte(int8);
3687 long8 __ovld __cnfn convert_long8_sat_rte(int8);
3688 long8 __ovld __cnfn convert_long8_rtz(int8);
3689 long8 __ovld __cnfn convert_long8_sat_rtz(int8);
3690 long8 __ovld __cnfn convert_long8_rtp(int8);
3691 long8 __ovld __cnfn convert_long8_sat_rtp(int8);
3692 long8 __ovld __cnfn convert_long8_rtn(int8);
3693 long8 __ovld __cnfn convert_long8_sat_rtn(int8);
3694 long8 __ovld __cnfn convert_long8(int8);
3695 long8 __ovld __cnfn convert_long8_sat(int8);
3696 long8 __ovld __cnfn convert_long8_rte(uint8);
3697 long8 __ovld __cnfn convert_long8_sat_rte(uint8);
3698 long8 __ovld __cnfn convert_long8_rtz(uint8);
3699 long8 __ovld __cnfn convert_long8_sat_rtz(uint8);
3700 long8 __ovld __cnfn convert_long8_rtp(uint8);
3701 long8 __ovld __cnfn convert_long8_sat_rtp(uint8);
3702 long8 __ovld __cnfn convert_long8_rtn(uint8);
3703 long8 __ovld __cnfn convert_long8_sat_rtn(uint8);
3704 long8 __ovld __cnfn convert_long8(uint8);
3705 long8 __ovld __cnfn convert_long8_sat(uint8);
3706 long8 __ovld __cnfn convert_long8_rte(long8);
3707 long8 __ovld __cnfn convert_long8_sat_rte(long8);
3708 long8 __ovld __cnfn convert_long8_rtz(long8);
3709 long8 __ovld __cnfn convert_long8_sat_rtz(long8);
3710 long8 __ovld __cnfn convert_long8_rtp(long8);
3711 long8 __ovld __cnfn convert_long8_sat_rtp(long8);
3712 long8 __ovld __cnfn convert_long8_rtn(long8);
3713 long8 __ovld __cnfn convert_long8_sat_rtn(long8);
3714 long8 __ovld __cnfn convert_long8(long8);
3715 long8 __ovld __cnfn convert_long8_sat(long8);
3716 long8 __ovld __cnfn convert_long8_rte(ulong8);
3717 long8 __ovld __cnfn convert_long8_sat_rte(ulong8);
3718 long8 __ovld __cnfn convert_long8_rtz(ulong8);
3719 long8 __ovld __cnfn convert_long8_sat_rtz(ulong8);
3720 long8 __ovld __cnfn convert_long8_rtp(ulong8);
3721 long8 __ovld __cnfn convert_long8_sat_rtp(ulong8);
3722 long8 __ovld __cnfn convert_long8_rtn(ulong8);
3723 long8 __ovld __cnfn convert_long8_sat_rtn(ulong8);
3724 long8 __ovld __cnfn convert_long8(ulong8);
3725 long8 __ovld __cnfn convert_long8_sat(ulong8);
3726 long8 __ovld __cnfn convert_long8_rte(float8);
3727 long8 __ovld __cnfn convert_long8_sat_rte(float8);
3728 long8 __ovld __cnfn convert_long8_rtz(float8);
3729 long8 __ovld __cnfn convert_long8_sat_rtz(float8);
3730 long8 __ovld __cnfn convert_long8_rtp(float8);
3731 long8 __ovld __cnfn convert_long8_sat_rtp(float8);
3732 long8 __ovld __cnfn convert_long8_rtn(float8);
3733 long8 __ovld __cnfn convert_long8_sat_rtn(float8);
3734 long8 __ovld __cnfn convert_long8(float8);
3735 long8 __ovld __cnfn convert_long8_sat(float8);
3736 ulong8 __ovld __cnfn convert_ulong8_rte(char8);
3737 ulong8 __ovld __cnfn convert_ulong8_sat_rte(char8);
3738 ulong8 __ovld __cnfn convert_ulong8_rtz(char8);
3739 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(char8);
3740 ulong8 __ovld __cnfn convert_ulong8_rtp(char8);
3741 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(char8);
3742 ulong8 __ovld __cnfn convert_ulong8_rtn(char8);
3743 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(char8);
3744 ulong8 __ovld __cnfn convert_ulong8(char8);
3745 ulong8 __ovld __cnfn convert_ulong8_sat(char8);
3746 ulong8 __ovld __cnfn convert_ulong8_rte(uchar8);
3747 ulong8 __ovld __cnfn convert_ulong8_sat_rte(uchar8);
3748 ulong8 __ovld __cnfn convert_ulong8_rtz(uchar8);
3749 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(uchar8);
3750 ulong8 __ovld __cnfn convert_ulong8_rtp(uchar8);
3751 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(uchar8);
3752 ulong8 __ovld __cnfn convert_ulong8_rtn(uchar8);
3753 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(uchar8);
3754 ulong8 __ovld __cnfn convert_ulong8(uchar8);
3755 ulong8 __ovld __cnfn convert_ulong8_sat(uchar8);
3756 ulong8 __ovld __cnfn convert_ulong8_rte(short8);
3757 ulong8 __ovld __cnfn convert_ulong8_sat_rte(short8);
3758 ulong8 __ovld __cnfn convert_ulong8_rtz(short8);
3759 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(short8);
3760 ulong8 __ovld __cnfn convert_ulong8_rtp(short8);
3761 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(short8);
3762 ulong8 __ovld __cnfn convert_ulong8_rtn(short8);
3763 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(short8);
3764 ulong8 __ovld __cnfn convert_ulong8(short8);
3765 ulong8 __ovld __cnfn convert_ulong8_sat(short8);
3766 ulong8 __ovld __cnfn convert_ulong8_rte(ushort8);
3767 ulong8 __ovld __cnfn convert_ulong8_sat_rte(ushort8);
3768 ulong8 __ovld __cnfn convert_ulong8_rtz(ushort8);
3769 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(ushort8);
3770 ulong8 __ovld __cnfn convert_ulong8_rtp(ushort8);
3771 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(ushort8);
3772 ulong8 __ovld __cnfn convert_ulong8_rtn(ushort8);
3773 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(ushort8);
3774 ulong8 __ovld __cnfn convert_ulong8(ushort8);
3775 ulong8 __ovld __cnfn convert_ulong8_sat(ushort8);
3776 ulong8 __ovld __cnfn convert_ulong8_rte(int8);
3777 ulong8 __ovld __cnfn convert_ulong8_sat_rte(int8);
3778 ulong8 __ovld __cnfn convert_ulong8_rtz(int8);
3779 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(int8);
3780 ulong8 __ovld __cnfn convert_ulong8_rtp(int8);
3781 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(int8);
3782 ulong8 __ovld __cnfn convert_ulong8_rtn(int8);
3783 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(int8);
3784 ulong8 __ovld __cnfn convert_ulong8(int8);
3785 ulong8 __ovld __cnfn convert_ulong8_sat(int8);
3786 ulong8 __ovld __cnfn convert_ulong8_rte(uint8);
3787 ulong8 __ovld __cnfn convert_ulong8_sat_rte(uint8);
3788 ulong8 __ovld __cnfn convert_ulong8_rtz(uint8);
3789 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(uint8);
3790 ulong8 __ovld __cnfn convert_ulong8_rtp(uint8);
3791 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(uint8);
3792 ulong8 __ovld __cnfn convert_ulong8_rtn(uint8);
3793 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(uint8);
3794 ulong8 __ovld __cnfn convert_ulong8(uint8);
3795 ulong8 __ovld __cnfn convert_ulong8_sat(uint8);
3796 ulong8 __ovld __cnfn convert_ulong8_rte(long8);
3797 ulong8 __ovld __cnfn convert_ulong8_sat_rte(long8);
3798 ulong8 __ovld __cnfn convert_ulong8_rtz(long8);
3799 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(long8);
3800 ulong8 __ovld __cnfn convert_ulong8_rtp(long8);
3801 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(long8);
3802 ulong8 __ovld __cnfn convert_ulong8_rtn(long8);
3803 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(long8);
3804 ulong8 __ovld __cnfn convert_ulong8(long8);
3805 ulong8 __ovld __cnfn convert_ulong8_sat(long8);
3806 ulong8 __ovld __cnfn convert_ulong8_rte(ulong8);
3807 ulong8 __ovld __cnfn convert_ulong8_sat_rte(ulong8);
3808 ulong8 __ovld __cnfn convert_ulong8_rtz(ulong8);
3809 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(ulong8);
3810 ulong8 __ovld __cnfn convert_ulong8_rtp(ulong8);
3811 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(ulong8);
3812 ulong8 __ovld __cnfn convert_ulong8_rtn(ulong8);
3813 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(ulong8);
3814 ulong8 __ovld __cnfn convert_ulong8(ulong8);
3815 ulong8 __ovld __cnfn convert_ulong8_sat(ulong8);
3816 ulong8 __ovld __cnfn convert_ulong8_rte(float8);
3817 ulong8 __ovld __cnfn convert_ulong8_sat_rte(float8);
3818 ulong8 __ovld __cnfn convert_ulong8_rtz(float8);
3819 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(float8);
3820 ulong8 __ovld __cnfn convert_ulong8_rtp(float8);
3821 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(float8);
3822 ulong8 __ovld __cnfn convert_ulong8_rtn(float8);
3823 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(float8);
3824 ulong8 __ovld __cnfn convert_ulong8(float8);
3825 ulong8 __ovld __cnfn convert_ulong8_sat(float8);
3826 float8 __ovld __cnfn convert_float8_rte(char8);
3827 float8 __ovld __cnfn convert_float8_rtz(char8);
3828 float8 __ovld __cnfn convert_float8_rtp(char8);
3829 float8 __ovld __cnfn convert_float8_rtn(char8);
3830 float8 __ovld __cnfn convert_float8(char8);
3831 float8 __ovld __cnfn convert_float8_rte(uchar8);
3832 float8 __ovld __cnfn convert_float8_rtz(uchar8);
3833 float8 __ovld __cnfn convert_float8_rtp(uchar8);
3834 float8 __ovld __cnfn convert_float8_rtn(uchar8);
3835 float8 __ovld __cnfn convert_float8(uchar8);
3836 float8 __ovld __cnfn convert_float8_rte(short8);
3837 float8 __ovld __cnfn convert_float8_rtz(short8);
3838 float8 __ovld __cnfn convert_float8_rtp(short8);
3839 float8 __ovld __cnfn convert_float8_rtn(short8);
3840 float8 __ovld __cnfn convert_float8(short8);
3841 float8 __ovld __cnfn convert_float8_rte(ushort8);
3842 float8 __ovld __cnfn convert_float8_rtz(ushort8);
3843 float8 __ovld __cnfn convert_float8_rtp(ushort8);
3844 float8 __ovld __cnfn convert_float8_rtn(ushort8);
3845 float8 __ovld __cnfn convert_float8(ushort8);
3846 float8 __ovld __cnfn convert_float8_rte(int8);
3847 float8 __ovld __cnfn convert_float8_rtz(int8);
3848 float8 __ovld __cnfn convert_float8_rtp(int8);
3849 float8 __ovld __cnfn convert_float8_rtn(int8);
3850 float8 __ovld __cnfn convert_float8(int8);
3851 float8 __ovld __cnfn convert_float8_rte(uint8);
3852 float8 __ovld __cnfn convert_float8_rtz(uint8);
3853 float8 __ovld __cnfn convert_float8_rtp(uint8);
3854 float8 __ovld __cnfn convert_float8_rtn(uint8);
3855 float8 __ovld __cnfn convert_float8(uint8);
3856 float8 __ovld __cnfn convert_float8_rte(long8);
3857 float8 __ovld __cnfn convert_float8_rtz(long8);
3858 float8 __ovld __cnfn convert_float8_rtp(long8);
3859 float8 __ovld __cnfn convert_float8_rtn(long8);
3860 float8 __ovld __cnfn convert_float8(long8);
3861 float8 __ovld __cnfn convert_float8_rte(ulong8);
3862 float8 __ovld __cnfn convert_float8_rtz(ulong8);
3863 float8 __ovld __cnfn convert_float8_rtp(ulong8);
3864 float8 __ovld __cnfn convert_float8_rtn(ulong8);
3865 float8 __ovld __cnfn convert_float8(ulong8);
3866 float8 __ovld __cnfn convert_float8_rte(float8);
3867 float8 __ovld __cnfn convert_float8_rtz(float8);
3868 float8 __ovld __cnfn convert_float8_rtp(float8);
3869 float8 __ovld __cnfn convert_float8_rtn(float8);
3870 float8 __ovld __cnfn convert_float8(float8);
3871 char16 __ovld __cnfn convert_char16_rte(char16);
3872 char16 __ovld __cnfn convert_char16_sat_rte(char16);
3873 char16 __ovld __cnfn convert_char16_rtz(char16);
3874 char16 __ovld __cnfn convert_char16_sat_rtz(char16);
3875 char16 __ovld __cnfn convert_char16_rtp(char16);
3876 char16 __ovld __cnfn convert_char16_sat_rtp(char16);
3877 char16 __ovld __cnfn convert_char16_rtn(char16);
3878 char16 __ovld __cnfn convert_char16_sat_rtn(char16);
3879 char16 __ovld __cnfn convert_char16(char16);
3880 char16 __ovld __cnfn convert_char16_sat(char16);
3881 char16 __ovld __cnfn convert_char16_rte(uchar16);
3882 char16 __ovld __cnfn convert_char16_sat_rte(uchar16);
3883 char16 __ovld __cnfn convert_char16_rtz(uchar16);
3884 char16 __ovld __cnfn convert_char16_sat_rtz(uchar16);
3885 char16 __ovld __cnfn convert_char16_rtp(uchar16);
3886 char16 __ovld __cnfn convert_char16_sat_rtp(uchar16);
3887 char16 __ovld __cnfn convert_char16_rtn(uchar16);
3888 char16 __ovld __cnfn convert_char16_sat_rtn(uchar16);
3889 char16 __ovld __cnfn convert_char16(uchar16);
3890 char16 __ovld __cnfn convert_char16_sat(uchar16);
3891 char16 __ovld __cnfn convert_char16_rte(short16);
3892 char16 __ovld __cnfn convert_char16_sat_rte(short16);
3893 char16 __ovld __cnfn convert_char16_rtz(short16);
3894 char16 __ovld __cnfn convert_char16_sat_rtz(short16);
3895 char16 __ovld __cnfn convert_char16_rtp(short16);
3896 char16 __ovld __cnfn convert_char16_sat_rtp(short16);
3897 char16 __ovld __cnfn convert_char16_rtn(short16);
3898 char16 __ovld __cnfn convert_char16_sat_rtn(short16);
3899 char16 __ovld __cnfn convert_char16(short16);
3900 char16 __ovld __cnfn convert_char16_sat(short16);
3901 char16 __ovld __cnfn convert_char16_rte(ushort16);
3902 char16 __ovld __cnfn convert_char16_sat_rte(ushort16);
3903 char16 __ovld __cnfn convert_char16_rtz(ushort16);
3904 char16 __ovld __cnfn convert_char16_sat_rtz(ushort16);
3905 char16 __ovld __cnfn convert_char16_rtp(ushort16);
3906 char16 __ovld __cnfn convert_char16_sat_rtp(ushort16);
3907 char16 __ovld __cnfn convert_char16_rtn(ushort16);
3908 char16 __ovld __cnfn convert_char16_sat_rtn(ushort16);
3909 char16 __ovld __cnfn convert_char16(ushort16);
3910 char16 __ovld __cnfn convert_char16_sat(ushort16);
3911 char16 __ovld __cnfn convert_char16_rte(int16);
3912 char16 __ovld __cnfn convert_char16_sat_rte(int16);
3913 char16 __ovld __cnfn convert_char16_rtz(int16);
3914 char16 __ovld __cnfn convert_char16_sat_rtz(int16);
3915 char16 __ovld __cnfn convert_char16_rtp(int16);
3916 char16 __ovld __cnfn convert_char16_sat_rtp(int16);
3917 char16 __ovld __cnfn convert_char16_rtn(int16);
3918 char16 __ovld __cnfn convert_char16_sat_rtn(int16);
3919 char16 __ovld __cnfn convert_char16(int16);
3920 char16 __ovld __cnfn convert_char16_sat(int16);
3921 char16 __ovld __cnfn convert_char16_rte(uint16);
3922 char16 __ovld __cnfn convert_char16_sat_rte(uint16);
3923 char16 __ovld __cnfn convert_char16_rtz(uint16);
3924 char16 __ovld __cnfn convert_char16_sat_rtz(uint16);
3925 char16 __ovld __cnfn convert_char16_rtp(uint16);
3926 char16 __ovld __cnfn convert_char16_sat_rtp(uint16);
3927 char16 __ovld __cnfn convert_char16_rtn(uint16);
3928 char16 __ovld __cnfn convert_char16_sat_rtn(uint16);
3929 char16 __ovld __cnfn convert_char16(uint16);
3930 char16 __ovld __cnfn convert_char16_sat(uint16);
3931 char16 __ovld __cnfn convert_char16_rte(long16);
3932 char16 __ovld __cnfn convert_char16_sat_rte(long16);
3933 char16 __ovld __cnfn convert_char16_rtz(long16);
3934 char16 __ovld __cnfn convert_char16_sat_rtz(long16);
3935 char16 __ovld __cnfn convert_char16_rtp(long16);
3936 char16 __ovld __cnfn convert_char16_sat_rtp(long16);
3937 char16 __ovld __cnfn convert_char16_rtn(long16);
3938 char16 __ovld __cnfn convert_char16_sat_rtn(long16);
3939 char16 __ovld __cnfn convert_char16(long16);
3940 char16 __ovld __cnfn convert_char16_sat(long16);
3941 char16 __ovld __cnfn convert_char16_rte(ulong16);
3942 char16 __ovld __cnfn convert_char16_sat_rte(ulong16);
3943 char16 __ovld __cnfn convert_char16_rtz(ulong16);
3944 char16 __ovld __cnfn convert_char16_sat_rtz(ulong16);
3945 char16 __ovld __cnfn convert_char16_rtp(ulong16);
3946 char16 __ovld __cnfn convert_char16_sat_rtp(ulong16);
3947 char16 __ovld __cnfn convert_char16_rtn(ulong16);
3948 char16 __ovld __cnfn convert_char16_sat_rtn(ulong16);
3949 char16 __ovld __cnfn convert_char16(ulong16);
3950 char16 __ovld __cnfn convert_char16_sat(ulong16);
3951 char16 __ovld __cnfn convert_char16_rte(float16);
3952 char16 __ovld __cnfn convert_char16_sat_rte(float16);
3953 char16 __ovld __cnfn convert_char16_rtz(float16);
3954 char16 __ovld __cnfn convert_char16_sat_rtz(float16);
3955 char16 __ovld __cnfn convert_char16_rtp(float16);
3956 char16 __ovld __cnfn convert_char16_sat_rtp(float16);
3957 char16 __ovld __cnfn convert_char16_rtn(float16);
3958 char16 __ovld __cnfn convert_char16_sat_rtn(float16);
3959 char16 __ovld __cnfn convert_char16(float16);
3960 char16 __ovld __cnfn convert_char16_sat(float16);
3961 uchar16 __ovld __cnfn convert_uchar16_rte(char16);
3962 uchar16 __ovld __cnfn convert_uchar16_sat_rte(char16);
3963 uchar16 __ovld __cnfn convert_uchar16_rtz(char16);
3964 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(char16);
3965 uchar16 __ovld __cnfn convert_uchar16_rtp(char16);
3966 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(char16);
3967 uchar16 __ovld __cnfn convert_uchar16_rtn(char16);
3968 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(char16);
3969 uchar16 __ovld __cnfn convert_uchar16(char16);
3970 uchar16 __ovld __cnfn convert_uchar16_sat(char16);
3971 uchar16 __ovld __cnfn convert_uchar16_rte(uchar16);
3972 uchar16 __ovld __cnfn convert_uchar16_sat_rte(uchar16);
3973 uchar16 __ovld __cnfn convert_uchar16_rtz(uchar16);
3974 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(uchar16);
3975 uchar16 __ovld __cnfn convert_uchar16_rtp(uchar16);
3976 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(uchar16);
3977 uchar16 __ovld __cnfn convert_uchar16_rtn(uchar16);
3978 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(uchar16);
3979 uchar16 __ovld __cnfn convert_uchar16(uchar16);
3980 uchar16 __ovld __cnfn convert_uchar16_sat(uchar16);
3981 uchar16 __ovld __cnfn convert_uchar16_rte(short16);
3982 uchar16 __ovld __cnfn convert_uchar16_sat_rte(short16);
3983 uchar16 __ovld __cnfn convert_uchar16_rtz(short16);
3984 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(short16);
3985 uchar16 __ovld __cnfn convert_uchar16_rtp(short16);
3986 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(short16);
3987 uchar16 __ovld __cnfn convert_uchar16_rtn(short16);
3988 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(short16);
3989 uchar16 __ovld __cnfn convert_uchar16(short16);
3990 uchar16 __ovld __cnfn convert_uchar16_sat(short16);
3991 uchar16 __ovld __cnfn convert_uchar16_rte(ushort16);
3992 uchar16 __ovld __cnfn convert_uchar16_sat_rte(ushort16);
3993 uchar16 __ovld __cnfn convert_uchar16_rtz(ushort16);
3994 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(ushort16);
3995 uchar16 __ovld __cnfn convert_uchar16_rtp(ushort16);
3996 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(ushort16);
3997 uchar16 __ovld __cnfn convert_uchar16_rtn(ushort16);
3998 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(ushort16);
3999 uchar16 __ovld __cnfn convert_uchar16(ushort16);
4000 uchar16 __ovld __cnfn convert_uchar16_sat(ushort16);
4001 uchar16 __ovld __cnfn convert_uchar16_rte(int16);
4002 uchar16 __ovld __cnfn convert_uchar16_sat_rte(int16);
4003 uchar16 __ovld __cnfn convert_uchar16_rtz(int16);
4004 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(int16);
4005 uchar16 __ovld __cnfn convert_uchar16_rtp(int16);
4006 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(int16);
4007 uchar16 __ovld __cnfn convert_uchar16_rtn(int16);
4008 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(int16);
4009 uchar16 __ovld __cnfn convert_uchar16(int16);
4010 uchar16 __ovld __cnfn convert_uchar16_sat(int16);
4011 uchar16 __ovld __cnfn convert_uchar16_rte(uint16);
4012 uchar16 __ovld __cnfn convert_uchar16_sat_rte(uint16);
4013 uchar16 __ovld __cnfn convert_uchar16_rtz(uint16);
4014 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(uint16);
4015 uchar16 __ovld __cnfn convert_uchar16_rtp(uint16);
4016 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(uint16);
4017 uchar16 __ovld __cnfn convert_uchar16_rtn(uint16);
4018 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(uint16);
4019 uchar16 __ovld __cnfn convert_uchar16(uint16);
4020 uchar16 __ovld __cnfn convert_uchar16_sat(uint16);
4021 uchar16 __ovld __cnfn convert_uchar16_rte(long16);
4022 uchar16 __ovld __cnfn convert_uchar16_sat_rte(long16);
4023 uchar16 __ovld __cnfn convert_uchar16_rtz(long16);
4024 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(long16);
4025 uchar16 __ovld __cnfn convert_uchar16_rtp(long16);
4026 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(long16);
4027 uchar16 __ovld __cnfn convert_uchar16_rtn(long16);
4028 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(long16);
4029 uchar16 __ovld __cnfn convert_uchar16(long16);
4030 uchar16 __ovld __cnfn convert_uchar16_sat(long16);
4031 uchar16 __ovld __cnfn convert_uchar16_rte(ulong16);
4032 uchar16 __ovld __cnfn convert_uchar16_sat_rte(ulong16);
4033 uchar16 __ovld __cnfn convert_uchar16_rtz(ulong16);
4034 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(ulong16);
4035 uchar16 __ovld __cnfn convert_uchar16_rtp(ulong16);
4036 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(ulong16);
4037 uchar16 __ovld __cnfn convert_uchar16_rtn(ulong16);
4038 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(ulong16);
4039 uchar16 __ovld __cnfn convert_uchar16(ulong16);
4040 uchar16 __ovld __cnfn convert_uchar16_sat(ulong16);
4041 uchar16 __ovld __cnfn convert_uchar16_rte(float16);
4042 uchar16 __ovld __cnfn convert_uchar16_sat_rte(float16);
4043 uchar16 __ovld __cnfn convert_uchar16_rtz(float16);
4044 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(float16);
4045 uchar16 __ovld __cnfn convert_uchar16_rtp(float16);
4046 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(float16);
4047 uchar16 __ovld __cnfn convert_uchar16_rtn(float16);
4048 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(float16);
4049 uchar16 __ovld __cnfn convert_uchar16(float16);
4050 uchar16 __ovld __cnfn convert_uchar16_sat(float16);
4051 short16 __ovld __cnfn convert_short16_rte(char16);
4052 short16 __ovld __cnfn convert_short16_sat_rte(char16);
4053 short16 __ovld __cnfn convert_short16_rtz(char16);
4054 short16 __ovld __cnfn convert_short16_sat_rtz(char16);
4055 short16 __ovld __cnfn convert_short16_rtp(char16);
4056 short16 __ovld __cnfn convert_short16_sat_rtp(char16);
4057 short16 __ovld __cnfn convert_short16_rtn(char16);
4058 short16 __ovld __cnfn convert_short16_sat_rtn(char16);
4059 short16 __ovld __cnfn convert_short16(char16);
4060 short16 __ovld __cnfn convert_short16_sat(char16);
4061 short16 __ovld __cnfn convert_short16_rte(uchar16);
4062 short16 __ovld __cnfn convert_short16_sat_rte(uchar16);
4063 short16 __ovld __cnfn convert_short16_rtz(uchar16);
4064 short16 __ovld __cnfn convert_short16_sat_rtz(uchar16);
4065 short16 __ovld __cnfn convert_short16_rtp(uchar16);
4066 short16 __ovld __cnfn convert_short16_sat_rtp(uchar16);
4067 short16 __ovld __cnfn convert_short16_rtn(uchar16);
4068 short16 __ovld __cnfn convert_short16_sat_rtn(uchar16);
4069 short16 __ovld __cnfn convert_short16(uchar16);
4070 short16 __ovld __cnfn convert_short16_sat(uchar16);
4071 short16 __ovld __cnfn convert_short16_rte(short16);
4072 short16 __ovld __cnfn convert_short16_sat_rte(short16);
4073 short16 __ovld __cnfn convert_short16_rtz(short16);
4074 short16 __ovld __cnfn convert_short16_sat_rtz(short16);
4075 short16 __ovld __cnfn convert_short16_rtp(short16);
4076 short16 __ovld __cnfn convert_short16_sat_rtp(short16);
4077 short16 __ovld __cnfn convert_short16_rtn(short16);
4078 short16 __ovld __cnfn convert_short16_sat_rtn(short16);
4079 short16 __ovld __cnfn convert_short16(short16);
4080 short16 __ovld __cnfn convert_short16_sat(short16);
4081 short16 __ovld __cnfn convert_short16_rte(ushort16);
4082 short16 __ovld __cnfn convert_short16_sat_rte(ushort16);
4083 short16 __ovld __cnfn convert_short16_rtz(ushort16);
4084 short16 __ovld __cnfn convert_short16_sat_rtz(ushort16);
4085 short16 __ovld __cnfn convert_short16_rtp(ushort16);
4086 short16 __ovld __cnfn convert_short16_sat_rtp(ushort16);
4087 short16 __ovld __cnfn convert_short16_rtn(ushort16);
4088 short16 __ovld __cnfn convert_short16_sat_rtn(ushort16);
4089 short16 __ovld __cnfn convert_short16(ushort16);
4090 short16 __ovld __cnfn convert_short16_sat(ushort16);
4091 short16 __ovld __cnfn convert_short16_rte(int16);
4092 short16 __ovld __cnfn convert_short16_sat_rte(int16);
4093 short16 __ovld __cnfn convert_short16_rtz(int16);
4094 short16 __ovld __cnfn convert_short16_sat_rtz(int16);
4095 short16 __ovld __cnfn convert_short16_rtp(int16);
4096 short16 __ovld __cnfn convert_short16_sat_rtp(int16);
4097 short16 __ovld __cnfn convert_short16_rtn(int16);
4098 short16 __ovld __cnfn convert_short16_sat_rtn(int16);
4099 short16 __ovld __cnfn convert_short16(int16);
4100 short16 __ovld __cnfn convert_short16_sat(int16);
4101 short16 __ovld __cnfn convert_short16_rte(uint16);
4102 short16 __ovld __cnfn convert_short16_sat_rte(uint16);
4103 short16 __ovld __cnfn convert_short16_rtz(uint16);
4104 short16 __ovld __cnfn convert_short16_sat_rtz(uint16);
4105 short16 __ovld __cnfn convert_short16_rtp(uint16);
4106 short16 __ovld __cnfn convert_short16_sat_rtp(uint16);
4107 short16 __ovld __cnfn convert_short16_rtn(uint16);
4108 short16 __ovld __cnfn convert_short16_sat_rtn(uint16);
4109 short16 __ovld __cnfn convert_short16(uint16);
4110 short16 __ovld __cnfn convert_short16_sat(uint16);
4111 short16 __ovld __cnfn convert_short16_rte(long16);
4112 short16 __ovld __cnfn convert_short16_sat_rte(long16);
4113 short16 __ovld __cnfn convert_short16_rtz(long16);
4114 short16 __ovld __cnfn convert_short16_sat_rtz(long16);
4115 short16 __ovld __cnfn convert_short16_rtp(long16);
4116 short16 __ovld __cnfn convert_short16_sat_rtp(long16);
4117 short16 __ovld __cnfn convert_short16_rtn(long16);
4118 short16 __ovld __cnfn convert_short16_sat_rtn(long16);
4119 short16 __ovld __cnfn convert_short16(long16);
4120 short16 __ovld __cnfn convert_short16_sat(long16);
4121 short16 __ovld __cnfn convert_short16_rte(ulong16);
4122 short16 __ovld __cnfn convert_short16_sat_rte(ulong16);
4123 short16 __ovld __cnfn convert_short16_rtz(ulong16);
4124 short16 __ovld __cnfn convert_short16_sat_rtz(ulong16);
4125 short16 __ovld __cnfn convert_short16_rtp(ulong16);
4126 short16 __ovld __cnfn convert_short16_sat_rtp(ulong16);
4127 short16 __ovld __cnfn convert_short16_rtn(ulong16);
4128 short16 __ovld __cnfn convert_short16_sat_rtn(ulong16);
4129 short16 __ovld __cnfn convert_short16(ulong16);
4130 short16 __ovld __cnfn convert_short16_sat(ulong16);
4131 short16 __ovld __cnfn convert_short16_rte(float16);
4132 short16 __ovld __cnfn convert_short16_sat_rte(float16);
4133 short16 __ovld __cnfn convert_short16_rtz(float16);
4134 short16 __ovld __cnfn convert_short16_sat_rtz(float16);
4135 short16 __ovld __cnfn convert_short16_rtp(float16);
4136 short16 __ovld __cnfn convert_short16_sat_rtp(float16);
4137 short16 __ovld __cnfn convert_short16_rtn(float16);
4138 short16 __ovld __cnfn convert_short16_sat_rtn(float16);
4139 short16 __ovld __cnfn convert_short16(float16);
4140 short16 __ovld __cnfn convert_short16_sat(float16);
4141 ushort16 __ovld __cnfn convert_ushort16_rte(char16);
4142 ushort16 __ovld __cnfn convert_ushort16_sat_rte(char16);
4143 ushort16 __ovld __cnfn convert_ushort16_rtz(char16);
4144 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(char16);
4145 ushort16 __ovld __cnfn convert_ushort16_rtp(char16);
4146 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(char16);
4147 ushort16 __ovld __cnfn convert_ushort16_rtn(char16);
4148 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(char16);
4149 ushort16 __ovld __cnfn convert_ushort16(char16);
4150 ushort16 __ovld __cnfn convert_ushort16_sat(char16);
4151 ushort16 __ovld __cnfn convert_ushort16_rte(uchar16);
4152 ushort16 __ovld __cnfn convert_ushort16_sat_rte(uchar16);
4153 ushort16 __ovld __cnfn convert_ushort16_rtz(uchar16);
4154 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(uchar16);
4155 ushort16 __ovld __cnfn convert_ushort16_rtp(uchar16);
4156 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(uchar16);
4157 ushort16 __ovld __cnfn convert_ushort16_rtn(uchar16);
4158 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(uchar16);
4159 ushort16 __ovld __cnfn convert_ushort16(uchar16);
4160 ushort16 __ovld __cnfn convert_ushort16_sat(uchar16);
4161 ushort16 __ovld __cnfn convert_ushort16_rte(short16);
4162 ushort16 __ovld __cnfn convert_ushort16_sat_rte(short16);
4163 ushort16 __ovld __cnfn convert_ushort16_rtz(short16);
4164 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(short16);
4165 ushort16 __ovld __cnfn convert_ushort16_rtp(short16);
4166 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(short16);
4167 ushort16 __ovld __cnfn convert_ushort16_rtn(short16);
4168 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(short16);
4169 ushort16 __ovld __cnfn convert_ushort16(short16);
4170 ushort16 __ovld __cnfn convert_ushort16_sat(short16);
4171 ushort16 __ovld __cnfn convert_ushort16_rte(ushort16);
4172 ushort16 __ovld __cnfn convert_ushort16_sat_rte(ushort16);
4173 ushort16 __ovld __cnfn convert_ushort16_rtz(ushort16);
4174 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(ushort16);
4175 ushort16 __ovld __cnfn convert_ushort16_rtp(ushort16);
4176 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(ushort16);
4177 ushort16 __ovld __cnfn convert_ushort16_rtn(ushort16);
4178 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(ushort16);
4179 ushort16 __ovld __cnfn convert_ushort16(ushort16);
4180 ushort16 __ovld __cnfn convert_ushort16_sat(ushort16);
4181 ushort16 __ovld __cnfn convert_ushort16_rte(int16);
4182 ushort16 __ovld __cnfn convert_ushort16_sat_rte(int16);
4183 ushort16 __ovld __cnfn convert_ushort16_rtz(int16);
4184 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(int16);
4185 ushort16 __ovld __cnfn convert_ushort16_rtp(int16);
4186 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(int16);
4187 ushort16 __ovld __cnfn convert_ushort16_rtn(int16);
4188 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(int16);
4189 ushort16 __ovld __cnfn convert_ushort16(int16);
4190 ushort16 __ovld __cnfn convert_ushort16_sat(int16);
4191 ushort16 __ovld __cnfn convert_ushort16_rte(uint16);
4192 ushort16 __ovld __cnfn convert_ushort16_sat_rte(uint16);
4193 ushort16 __ovld __cnfn convert_ushort16_rtz(uint16);
4194 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(uint16);
4195 ushort16 __ovld __cnfn convert_ushort16_rtp(uint16);
4196 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(uint16);
4197 ushort16 __ovld __cnfn convert_ushort16_rtn(uint16);
4198 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(uint16);
4199 ushort16 __ovld __cnfn convert_ushort16(uint16);
4200 ushort16 __ovld __cnfn convert_ushort16_sat(uint16);
4201 ushort16 __ovld __cnfn convert_ushort16_rte(long16);
4202 ushort16 __ovld __cnfn convert_ushort16_sat_rte(long16);
4203 ushort16 __ovld __cnfn convert_ushort16_rtz(long16);
4204 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(long16);
4205 ushort16 __ovld __cnfn convert_ushort16_rtp(long16);
4206 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(long16);
4207 ushort16 __ovld __cnfn convert_ushort16_rtn(long16);
4208 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(long16);
4209 ushort16 __ovld __cnfn convert_ushort16(long16);
4210 ushort16 __ovld __cnfn convert_ushort16_sat(long16);
4211 ushort16 __ovld __cnfn convert_ushort16_rte(ulong16);
4212 ushort16 __ovld __cnfn convert_ushort16_sat_rte(ulong16);
4213 ushort16 __ovld __cnfn convert_ushort16_rtz(ulong16);
4214 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(ulong16);
4215 ushort16 __ovld __cnfn convert_ushort16_rtp(ulong16);
4216 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(ulong16);
4217 ushort16 __ovld __cnfn convert_ushort16_rtn(ulong16);
4218 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(ulong16);
4219 ushort16 __ovld __cnfn convert_ushort16(ulong16);
4220 ushort16 __ovld __cnfn convert_ushort16_sat(ulong16);
4221 ushort16 __ovld __cnfn convert_ushort16_rte(float16);
4222 ushort16 __ovld __cnfn convert_ushort16_sat_rte(float16);
4223 ushort16 __ovld __cnfn convert_ushort16_rtz(float16);
4224 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(float16);
4225 ushort16 __ovld __cnfn convert_ushort16_rtp(float16);
4226 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(float16);
4227 ushort16 __ovld __cnfn convert_ushort16_rtn(float16);
4228 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(float16);
4229 ushort16 __ovld __cnfn convert_ushort16(float16);
4230 ushort16 __ovld __cnfn convert_ushort16_sat(float16);
4231 int16 __ovld __cnfn convert_int16_rte(char16);
4232 int16 __ovld __cnfn convert_int16_sat_rte(char16);
4233 int16 __ovld __cnfn convert_int16_rtz(char16);
4234 int16 __ovld __cnfn convert_int16_sat_rtz(char16);
4235 int16 __ovld __cnfn convert_int16_rtp(char16);
4236 int16 __ovld __cnfn convert_int16_sat_rtp(char16);
4237 int16 __ovld __cnfn convert_int16_rtn(char16);
4238 int16 __ovld __cnfn convert_int16_sat_rtn(char16);
4239 int16 __ovld __cnfn convert_int16(char16);
4240 int16 __ovld __cnfn convert_int16_sat(char16);
4241 int16 __ovld __cnfn convert_int16_rte(uchar16);
4242 int16 __ovld __cnfn convert_int16_sat_rte(uchar16);
4243 int16 __ovld __cnfn convert_int16_rtz(uchar16);
4244 int16 __ovld __cnfn convert_int16_sat_rtz(uchar16);
4245 int16 __ovld __cnfn convert_int16_rtp(uchar16);
4246 int16 __ovld __cnfn convert_int16_sat_rtp(uchar16);
4247 int16 __ovld __cnfn convert_int16_rtn(uchar16);
4248 int16 __ovld __cnfn convert_int16_sat_rtn(uchar16);
4249 int16 __ovld __cnfn convert_int16(uchar16);
4250 int16 __ovld __cnfn convert_int16_sat(uchar16);
4251 int16 __ovld __cnfn convert_int16_rte(short16);
4252 int16 __ovld __cnfn convert_int16_sat_rte(short16);
4253 int16 __ovld __cnfn convert_int16_rtz(short16);
4254 int16 __ovld __cnfn convert_int16_sat_rtz(short16);
4255 int16 __ovld __cnfn convert_int16_rtp(short16);
4256 int16 __ovld __cnfn convert_int16_sat_rtp(short16);
4257 int16 __ovld __cnfn convert_int16_rtn(short16);
4258 int16 __ovld __cnfn convert_int16_sat_rtn(short16);
4259 int16 __ovld __cnfn convert_int16(short16);
4260 int16 __ovld __cnfn convert_int16_sat(short16);
4261 int16 __ovld __cnfn convert_int16_rte(ushort16);
4262 int16 __ovld __cnfn convert_int16_sat_rte(ushort16);
4263 int16 __ovld __cnfn convert_int16_rtz(ushort16);
4264 int16 __ovld __cnfn convert_int16_sat_rtz(ushort16);
4265 int16 __ovld __cnfn convert_int16_rtp(ushort16);
4266 int16 __ovld __cnfn convert_int16_sat_rtp(ushort16);
4267 int16 __ovld __cnfn convert_int16_rtn(ushort16);
4268 int16 __ovld __cnfn convert_int16_sat_rtn(ushort16);
4269 int16 __ovld __cnfn convert_int16(ushort16);
4270 int16 __ovld __cnfn convert_int16_sat(ushort16);
4271 int16 __ovld __cnfn convert_int16_rte(int16);
4272 int16 __ovld __cnfn convert_int16_sat_rte(int16);
4273 int16 __ovld __cnfn convert_int16_rtz(int16);
4274 int16 __ovld __cnfn convert_int16_sat_rtz(int16);
4275 int16 __ovld __cnfn convert_int16_rtp(int16);
4276 int16 __ovld __cnfn convert_int16_sat_rtp(int16);
4277 int16 __ovld __cnfn convert_int16_rtn(int16);
4278 int16 __ovld __cnfn convert_int16_sat_rtn(int16);
4279 int16 __ovld __cnfn convert_int16(int16);
4280 int16 __ovld __cnfn convert_int16_sat(int16);
4281 int16 __ovld __cnfn convert_int16_rte(uint16);
4282 int16 __ovld __cnfn convert_int16_sat_rte(uint16);
4283 int16 __ovld __cnfn convert_int16_rtz(uint16);
4284 int16 __ovld __cnfn convert_int16_sat_rtz(uint16);
4285 int16 __ovld __cnfn convert_int16_rtp(uint16);
4286 int16 __ovld __cnfn convert_int16_sat_rtp(uint16);
4287 int16 __ovld __cnfn convert_int16_rtn(uint16);
4288 int16 __ovld __cnfn convert_int16_sat_rtn(uint16);
4289 int16 __ovld __cnfn convert_int16(uint16);
4290 int16 __ovld __cnfn convert_int16_sat(uint16);
4291 int16 __ovld __cnfn convert_int16_rte(long16);
4292 int16 __ovld __cnfn convert_int16_sat_rte(long16);
4293 int16 __ovld __cnfn convert_int16_rtz(long16);
4294 int16 __ovld __cnfn convert_int16_sat_rtz(long16);
4295 int16 __ovld __cnfn convert_int16_rtp(long16);
4296 int16 __ovld __cnfn convert_int16_sat_rtp(long16);
4297 int16 __ovld __cnfn convert_int16_rtn(long16);
4298 int16 __ovld __cnfn convert_int16_sat_rtn(long16);
4299 int16 __ovld __cnfn convert_int16(long16);
4300 int16 __ovld __cnfn convert_int16_sat(long16);
4301 int16 __ovld __cnfn convert_int16_rte(ulong16);
4302 int16 __ovld __cnfn convert_int16_sat_rte(ulong16);
4303 int16 __ovld __cnfn convert_int16_rtz(ulong16);
4304 int16 __ovld __cnfn convert_int16_sat_rtz(ulong16);
4305 int16 __ovld __cnfn convert_int16_rtp(ulong16);
4306 int16 __ovld __cnfn convert_int16_sat_rtp(ulong16);
4307 int16 __ovld __cnfn convert_int16_rtn(ulong16);
4308 int16 __ovld __cnfn convert_int16_sat_rtn(ulong16);
4309 int16 __ovld __cnfn convert_int16(ulong16);
4310 int16 __ovld __cnfn convert_int16_sat(ulong16);
4311 int16 __ovld __cnfn convert_int16_rte(float16);
4312 int16 __ovld __cnfn convert_int16_sat_rte(float16);
4313 int16 __ovld __cnfn convert_int16_rtz(float16);
4314 int16 __ovld __cnfn convert_int16_sat_rtz(float16);
4315 int16 __ovld __cnfn convert_int16_rtp(float16);
4316 int16 __ovld __cnfn convert_int16_sat_rtp(float16);
4317 int16 __ovld __cnfn convert_int16_rtn(float16);
4318 int16 __ovld __cnfn convert_int16_sat_rtn(float16);
4319 int16 __ovld __cnfn convert_int16(float16);
4320 int16 __ovld __cnfn convert_int16_sat(float16);
4321 uint16 __ovld __cnfn convert_uint16_rte(char16);
4322 uint16 __ovld __cnfn convert_uint16_sat_rte(char16);
4323 uint16 __ovld __cnfn convert_uint16_rtz(char16);
4324 uint16 __ovld __cnfn convert_uint16_sat_rtz(char16);
4325 uint16 __ovld __cnfn convert_uint16_rtp(char16);
4326 uint16 __ovld __cnfn convert_uint16_sat_rtp(char16);
4327 uint16 __ovld __cnfn convert_uint16_rtn(char16);
4328 uint16 __ovld __cnfn convert_uint16_sat_rtn(char16);
4329 uint16 __ovld __cnfn convert_uint16(char16);
4330 uint16 __ovld __cnfn convert_uint16_sat(char16);
4331 uint16 __ovld __cnfn convert_uint16_rte(uchar16);
4332 uint16 __ovld __cnfn convert_uint16_sat_rte(uchar16);
4333 uint16 __ovld __cnfn convert_uint16_rtz(uchar16);
4334 uint16 __ovld __cnfn convert_uint16_sat_rtz(uchar16);
4335 uint16 __ovld __cnfn convert_uint16_rtp(uchar16);
4336 uint16 __ovld __cnfn convert_uint16_sat_rtp(uchar16);
4337 uint16 __ovld __cnfn convert_uint16_rtn(uchar16);
4338 uint16 __ovld __cnfn convert_uint16_sat_rtn(uchar16);
4339 uint16 __ovld __cnfn convert_uint16(uchar16);
4340 uint16 __ovld __cnfn convert_uint16_sat(uchar16);
4341 uint16 __ovld __cnfn convert_uint16_rte(short16);
4342 uint16 __ovld __cnfn convert_uint16_sat_rte(short16);
4343 uint16 __ovld __cnfn convert_uint16_rtz(short16);
4344 uint16 __ovld __cnfn convert_uint16_sat_rtz(short16);
4345 uint16 __ovld __cnfn convert_uint16_rtp(short16);
4346 uint16 __ovld __cnfn convert_uint16_sat_rtp(short16);
4347 uint16 __ovld __cnfn convert_uint16_rtn(short16);
4348 uint16 __ovld __cnfn convert_uint16_sat_rtn(short16);
4349 uint16 __ovld __cnfn convert_uint16(short16);
4350 uint16 __ovld __cnfn convert_uint16_sat(short16);
4351 uint16 __ovld __cnfn convert_uint16_rte(ushort16);
4352 uint16 __ovld __cnfn convert_uint16_sat_rte(ushort16);
4353 uint16 __ovld __cnfn convert_uint16_rtz(ushort16);
4354 uint16 __ovld __cnfn convert_uint16_sat_rtz(ushort16);
4355 uint16 __ovld __cnfn convert_uint16_rtp(ushort16);
4356 uint16 __ovld __cnfn convert_uint16_sat_rtp(ushort16);
4357 uint16 __ovld __cnfn convert_uint16_rtn(ushort16);
4358 uint16 __ovld __cnfn convert_uint16_sat_rtn(ushort16);
4359 uint16 __ovld __cnfn convert_uint16(ushort16);
4360 uint16 __ovld __cnfn convert_uint16_sat(ushort16);
4361 uint16 __ovld __cnfn convert_uint16_rte(int16);
4362 uint16 __ovld __cnfn convert_uint16_sat_rte(int16);
4363 uint16 __ovld __cnfn convert_uint16_rtz(int16);
4364 uint16 __ovld __cnfn convert_uint16_sat_rtz(int16);
4365 uint16 __ovld __cnfn convert_uint16_rtp(int16);
4366 uint16 __ovld __cnfn convert_uint16_sat_rtp(int16);
4367 uint16 __ovld __cnfn convert_uint16_rtn(int16);
4368 uint16 __ovld __cnfn convert_uint16_sat_rtn(int16);
4369 uint16 __ovld __cnfn convert_uint16(int16);
4370 uint16 __ovld __cnfn convert_uint16_sat(int16);
4371 uint16 __ovld __cnfn convert_uint16_rte(uint16);
4372 uint16 __ovld __cnfn convert_uint16_sat_rte(uint16);
4373 uint16 __ovld __cnfn convert_uint16_rtz(uint16);
4374 uint16 __ovld __cnfn convert_uint16_sat_rtz(uint16);
4375 uint16 __ovld __cnfn convert_uint16_rtp(uint16);
4376 uint16 __ovld __cnfn convert_uint16_sat_rtp(uint16);
4377 uint16 __ovld __cnfn convert_uint16_rtn(uint16);
4378 uint16 __ovld __cnfn convert_uint16_sat_rtn(uint16);
4379 uint16 __ovld __cnfn convert_uint16(uint16);
4380 uint16 __ovld __cnfn convert_uint16_sat(uint16);
4381 uint16 __ovld __cnfn convert_uint16_rte(long16);
4382 uint16 __ovld __cnfn convert_uint16_sat_rte(long16);
4383 uint16 __ovld __cnfn convert_uint16_rtz(long16);
4384 uint16 __ovld __cnfn convert_uint16_sat_rtz(long16);
4385 uint16 __ovld __cnfn convert_uint16_rtp(long16);
4386 uint16 __ovld __cnfn convert_uint16_sat_rtp(long16);
4387 uint16 __ovld __cnfn convert_uint16_rtn(long16);
4388 uint16 __ovld __cnfn convert_uint16_sat_rtn(long16);
4389 uint16 __ovld __cnfn convert_uint16(long16);
4390 uint16 __ovld __cnfn convert_uint16_sat(long16);
4391 uint16 __ovld __cnfn convert_uint16_rte(ulong16);
4392 uint16 __ovld __cnfn convert_uint16_sat_rte(ulong16);
4393 uint16 __ovld __cnfn convert_uint16_rtz(ulong16);
4394 uint16 __ovld __cnfn convert_uint16_sat_rtz(ulong16);
4395 uint16 __ovld __cnfn convert_uint16_rtp(ulong16);
4396 uint16 __ovld __cnfn convert_uint16_sat_rtp(ulong16);
4397 uint16 __ovld __cnfn convert_uint16_rtn(ulong16);
4398 uint16 __ovld __cnfn convert_uint16_sat_rtn(ulong16);
4399 uint16 __ovld __cnfn convert_uint16(ulong16);
4400 uint16 __ovld __cnfn convert_uint16_sat(ulong16);
4401 uint16 __ovld __cnfn convert_uint16_rte(float16);
4402 uint16 __ovld __cnfn convert_uint16_sat_rte(float16);
4403 uint16 __ovld __cnfn convert_uint16_rtz(float16);
4404 uint16 __ovld __cnfn convert_uint16_sat_rtz(float16);
4405 uint16 __ovld __cnfn convert_uint16_rtp(float16);
4406 uint16 __ovld __cnfn convert_uint16_sat_rtp(float16);
4407 uint16 __ovld __cnfn convert_uint16_rtn(float16);
4408 uint16 __ovld __cnfn convert_uint16_sat_rtn(float16);
4409 uint16 __ovld __cnfn convert_uint16(float16);
4410 uint16 __ovld __cnfn convert_uint16_sat(float16);
4411 long16 __ovld __cnfn convert_long16_rte(char16);
4412 long16 __ovld __cnfn convert_long16_sat_rte(char16);
4413 long16 __ovld __cnfn convert_long16_rtz(char16);
4414 long16 __ovld __cnfn convert_long16_sat_rtz(char16);
4415 long16 __ovld __cnfn convert_long16_rtp(char16);
4416 long16 __ovld __cnfn convert_long16_sat_rtp(char16);
4417 long16 __ovld __cnfn convert_long16_rtn(char16);
4418 long16 __ovld __cnfn convert_long16_sat_rtn(char16);
4419 long16 __ovld __cnfn convert_long16(char16);
4420 long16 __ovld __cnfn convert_long16_sat(char16);
4421 long16 __ovld __cnfn convert_long16_rte(uchar16);
4422 long16 __ovld __cnfn convert_long16_sat_rte(uchar16);
4423 long16 __ovld __cnfn convert_long16_rtz(uchar16);
4424 long16 __ovld __cnfn convert_long16_sat_rtz(uchar16);
4425 long16 __ovld __cnfn convert_long16_rtp(uchar16);
4426 long16 __ovld __cnfn convert_long16_sat_rtp(uchar16);
4427 long16 __ovld __cnfn convert_long16_rtn(uchar16);
4428 long16 __ovld __cnfn convert_long16_sat_rtn(uchar16);
4429 long16 __ovld __cnfn convert_long16(uchar16);
4430 long16 __ovld __cnfn convert_long16_sat(uchar16);
4431 long16 __ovld __cnfn convert_long16_rte(short16);
4432 long16 __ovld __cnfn convert_long16_sat_rte(short16);
4433 long16 __ovld __cnfn convert_long16_rtz(short16);
4434 long16 __ovld __cnfn convert_long16_sat_rtz(short16);
4435 long16 __ovld __cnfn convert_long16_rtp(short16);
4436 long16 __ovld __cnfn convert_long16_sat_rtp(short16);
4437 long16 __ovld __cnfn convert_long16_rtn(short16);
4438 long16 __ovld __cnfn convert_long16_sat_rtn(short16);
4439 long16 __ovld __cnfn convert_long16(short16);
4440 long16 __ovld __cnfn convert_long16_sat(short16);
4441 long16 __ovld __cnfn convert_long16_rte(ushort16);
4442 long16 __ovld __cnfn convert_long16_sat_rte(ushort16);
4443 long16 __ovld __cnfn convert_long16_rtz(ushort16);
4444 long16 __ovld __cnfn convert_long16_sat_rtz(ushort16);
4445 long16 __ovld __cnfn convert_long16_rtp(ushort16);
4446 long16 __ovld __cnfn convert_long16_sat_rtp(ushort16);
4447 long16 __ovld __cnfn convert_long16_rtn(ushort16);
4448 long16 __ovld __cnfn convert_long16_sat_rtn(ushort16);
4449 long16 __ovld __cnfn convert_long16(ushort16);
4450 long16 __ovld __cnfn convert_long16_sat(ushort16);
4451 long16 __ovld __cnfn convert_long16_rte(int16);
4452 long16 __ovld __cnfn convert_long16_sat_rte(int16);
4453 long16 __ovld __cnfn convert_long16_rtz(int16);
4454 long16 __ovld __cnfn convert_long16_sat_rtz(int16);
4455 long16 __ovld __cnfn convert_long16_rtp(int16);
4456 long16 __ovld __cnfn convert_long16_sat_rtp(int16);
4457 long16 __ovld __cnfn convert_long16_rtn(int16);
4458 long16 __ovld __cnfn convert_long16_sat_rtn(int16);
4459 long16 __ovld __cnfn convert_long16(int16);
4460 long16 __ovld __cnfn convert_long16_sat(int16);
4461 long16 __ovld __cnfn convert_long16_rte(uint16);
4462 long16 __ovld __cnfn convert_long16_sat_rte(uint16);
4463 long16 __ovld __cnfn convert_long16_rtz(uint16);
4464 long16 __ovld __cnfn convert_long16_sat_rtz(uint16);
4465 long16 __ovld __cnfn convert_long16_rtp(uint16);
4466 long16 __ovld __cnfn convert_long16_sat_rtp(uint16);
4467 long16 __ovld __cnfn convert_long16_rtn(uint16);
4468 long16 __ovld __cnfn convert_long16_sat_rtn(uint16);
4469 long16 __ovld __cnfn convert_long16(uint16);
4470 long16 __ovld __cnfn convert_long16_sat(uint16);
4471 long16 __ovld __cnfn convert_long16_rte(long16);
4472 long16 __ovld __cnfn convert_long16_sat_rte(long16);
4473 long16 __ovld __cnfn convert_long16_rtz(long16);
4474 long16 __ovld __cnfn convert_long16_sat_rtz(long16);
4475 long16 __ovld __cnfn convert_long16_rtp(long16);
4476 long16 __ovld __cnfn convert_long16_sat_rtp(long16);
4477 long16 __ovld __cnfn convert_long16_rtn(long16);
4478 long16 __ovld __cnfn convert_long16_sat_rtn(long16);
4479 long16 __ovld __cnfn convert_long16(long16);
4480 long16 __ovld __cnfn convert_long16_sat(long16);
4481 long16 __ovld __cnfn convert_long16_rte(ulong16);
4482 long16 __ovld __cnfn convert_long16_sat_rte(ulong16);
4483 long16 __ovld __cnfn convert_long16_rtz(ulong16);
4484 long16 __ovld __cnfn convert_long16_sat_rtz(ulong16);
4485 long16 __ovld __cnfn convert_long16_rtp(ulong16);
4486 long16 __ovld __cnfn convert_long16_sat_rtp(ulong16);
4487 long16 __ovld __cnfn convert_long16_rtn(ulong16);
4488 long16 __ovld __cnfn convert_long16_sat_rtn(ulong16);
4489 long16 __ovld __cnfn convert_long16(ulong16);
4490 long16 __ovld __cnfn convert_long16_sat(ulong16);
4491 long16 __ovld __cnfn convert_long16_rte(float16);
4492 long16 __ovld __cnfn convert_long16_sat_rte(float16);
4493 long16 __ovld __cnfn convert_long16_rtz(float16);
4494 long16 __ovld __cnfn convert_long16_sat_rtz(float16);
4495 long16 __ovld __cnfn convert_long16_rtp(float16);
4496 long16 __ovld __cnfn convert_long16_sat_rtp(float16);
4497 long16 __ovld __cnfn convert_long16_rtn(float16);
4498 long16 __ovld __cnfn convert_long16_sat_rtn(float16);
4499 long16 __ovld __cnfn convert_long16(float16);
4500 long16 __ovld __cnfn convert_long16_sat(float16);
4501 ulong16 __ovld __cnfn convert_ulong16_rte(char16);
4502 ulong16 __ovld __cnfn convert_ulong16_sat_rte(char16);
4503 ulong16 __ovld __cnfn convert_ulong16_rtz(char16);
4504 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(char16);
4505 ulong16 __ovld __cnfn convert_ulong16_rtp(char16);
4506 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(char16);
4507 ulong16 __ovld __cnfn convert_ulong16_rtn(char16);
4508 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(char16);
4509 ulong16 __ovld __cnfn convert_ulong16(char16);
4510 ulong16 __ovld __cnfn convert_ulong16_sat(char16);
4511 ulong16 __ovld __cnfn convert_ulong16_rte(uchar16);
4512 ulong16 __ovld __cnfn convert_ulong16_sat_rte(uchar16);
4513 ulong16 __ovld __cnfn convert_ulong16_rtz(uchar16);
4514 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(uchar16);
4515 ulong16 __ovld __cnfn convert_ulong16_rtp(uchar16);
4516 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(uchar16);
4517 ulong16 __ovld __cnfn convert_ulong16_rtn(uchar16);
4518 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(uchar16);
4519 ulong16 __ovld __cnfn convert_ulong16(uchar16);
4520 ulong16 __ovld __cnfn convert_ulong16_sat(uchar16);
4521 ulong16 __ovld __cnfn convert_ulong16_rte(short16);
4522 ulong16 __ovld __cnfn convert_ulong16_sat_rte(short16);
4523 ulong16 __ovld __cnfn convert_ulong16_rtz(short16);
4524 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(short16);
4525 ulong16 __ovld __cnfn convert_ulong16_rtp(short16);
4526 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(short16);
4527 ulong16 __ovld __cnfn convert_ulong16_rtn(short16);
4528 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(short16);
4529 ulong16 __ovld __cnfn convert_ulong16(short16);
4530 ulong16 __ovld __cnfn convert_ulong16_sat(short16);
4531 ulong16 __ovld __cnfn convert_ulong16_rte(ushort16);
4532 ulong16 __ovld __cnfn convert_ulong16_sat_rte(ushort16);
4533 ulong16 __ovld __cnfn convert_ulong16_rtz(ushort16);
4534 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(ushort16);
4535 ulong16 __ovld __cnfn convert_ulong16_rtp(ushort16);
4536 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(ushort16);
4537 ulong16 __ovld __cnfn convert_ulong16_rtn(ushort16);
4538 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(ushort16);
4539 ulong16 __ovld __cnfn convert_ulong16(ushort16);
4540 ulong16 __ovld __cnfn convert_ulong16_sat(ushort16);
4541 ulong16 __ovld __cnfn convert_ulong16_rte(int16);
4542 ulong16 __ovld __cnfn convert_ulong16_sat_rte(int16);
4543 ulong16 __ovld __cnfn convert_ulong16_rtz(int16);
4544 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(int16);
4545 ulong16 __ovld __cnfn convert_ulong16_rtp(int16);
4546 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(int16);
4547 ulong16 __ovld __cnfn convert_ulong16_rtn(int16);
4548 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(int16);
4549 ulong16 __ovld __cnfn convert_ulong16(int16);
4550 ulong16 __ovld __cnfn convert_ulong16_sat(int16);
4551 ulong16 __ovld __cnfn convert_ulong16_rte(uint16);
4552 ulong16 __ovld __cnfn convert_ulong16_sat_rte(uint16);
4553 ulong16 __ovld __cnfn convert_ulong16_rtz(uint16);
4554 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(uint16);
4555 ulong16 __ovld __cnfn convert_ulong16_rtp(uint16);
4556 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(uint16);
4557 ulong16 __ovld __cnfn convert_ulong16_rtn(uint16);
4558 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(uint16);
4559 ulong16 __ovld __cnfn convert_ulong16(uint16);
4560 ulong16 __ovld __cnfn convert_ulong16_sat(uint16);
4561 ulong16 __ovld __cnfn convert_ulong16_rte(long16);
4562 ulong16 __ovld __cnfn convert_ulong16_sat_rte(long16);
4563 ulong16 __ovld __cnfn convert_ulong16_rtz(long16);
4564 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(long16);
4565 ulong16 __ovld __cnfn convert_ulong16_rtp(long16);
4566 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(long16);
4567 ulong16 __ovld __cnfn convert_ulong16_rtn(long16);
4568 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(long16);
4569 ulong16 __ovld __cnfn convert_ulong16(long16);
4570 ulong16 __ovld __cnfn convert_ulong16_sat(long16);
4571 ulong16 __ovld __cnfn convert_ulong16_rte(ulong16);
4572 ulong16 __ovld __cnfn convert_ulong16_sat_rte(ulong16);
4573 ulong16 __ovld __cnfn convert_ulong16_rtz(ulong16);
4574 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(ulong16);
4575 ulong16 __ovld __cnfn convert_ulong16_rtp(ulong16);
4576 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(ulong16);
4577 ulong16 __ovld __cnfn convert_ulong16_rtn(ulong16);
4578 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(ulong16);
4579 ulong16 __ovld __cnfn convert_ulong16(ulong16);
4580 ulong16 __ovld __cnfn convert_ulong16_sat(ulong16);
4581 ulong16 __ovld __cnfn convert_ulong16_rte(float16);
4582 ulong16 __ovld __cnfn convert_ulong16_sat_rte(float16);
4583 ulong16 __ovld __cnfn convert_ulong16_rtz(float16);
4584 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(float16);
4585 ulong16 __ovld __cnfn convert_ulong16_rtp(float16);
4586 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(float16);
4587 ulong16 __ovld __cnfn convert_ulong16_rtn(float16);
4588 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(float16);
4589 ulong16 __ovld __cnfn convert_ulong16(float16);
4590 ulong16 __ovld __cnfn convert_ulong16_sat(float16);
4591 float16 __ovld __cnfn convert_float16_rte(char16);
4592 float16 __ovld __cnfn convert_float16_rtz(char16);
4593 float16 __ovld __cnfn convert_float16_rtp(char16);
4594 float16 __ovld __cnfn convert_float16_rtn(char16);
4595 float16 __ovld __cnfn convert_float16(char16);
4596 float16 __ovld __cnfn convert_float16_rte(uchar16);
4597 float16 __ovld __cnfn convert_float16_rtz(uchar16);
4598 float16 __ovld __cnfn convert_float16_rtp(uchar16);
4599 float16 __ovld __cnfn convert_float16_rtn(uchar16);
4600 float16 __ovld __cnfn convert_float16(uchar16);
4601 float16 __ovld __cnfn convert_float16_rte(short16);
4602 float16 __ovld __cnfn convert_float16_rtz(short16);
4603 float16 __ovld __cnfn convert_float16_rtp(short16);
4604 float16 __ovld __cnfn convert_float16_rtn(short16);
4605 float16 __ovld __cnfn convert_float16(short16);
4606 float16 __ovld __cnfn convert_float16_rte(ushort16);
4607 float16 __ovld __cnfn convert_float16_rtz(ushort16);
4608 float16 __ovld __cnfn convert_float16_rtp(ushort16);
4609 float16 __ovld __cnfn convert_float16_rtn(ushort16);
4610 float16 __ovld __cnfn convert_float16(ushort16);
4611 float16 __ovld __cnfn convert_float16_rte(int16);
4612 float16 __ovld __cnfn convert_float16_rtz(int16);
4613 float16 __ovld __cnfn convert_float16_rtp(int16);
4614 float16 __ovld __cnfn convert_float16_rtn(int16);
4615 float16 __ovld __cnfn convert_float16(int16);
4616 float16 __ovld __cnfn convert_float16_rte(uint16);
4617 float16 __ovld __cnfn convert_float16_rtz(uint16);
4618 float16 __ovld __cnfn convert_float16_rtp(uint16);
4619 float16 __ovld __cnfn convert_float16_rtn(uint16);
4620 float16 __ovld __cnfn convert_float16(uint16);
4621 float16 __ovld __cnfn convert_float16_rte(long16);
4622 float16 __ovld __cnfn convert_float16_rtz(long16);
4623 float16 __ovld __cnfn convert_float16_rtp(long16);
4624 float16 __ovld __cnfn convert_float16_rtn(long16);
4625 float16 __ovld __cnfn convert_float16(long16);
4626 float16 __ovld __cnfn convert_float16_rte(ulong16);
4627 float16 __ovld __cnfn convert_float16_rtz(ulong16);
4628 float16 __ovld __cnfn convert_float16_rtp(ulong16);
4629 float16 __ovld __cnfn convert_float16_rtn(ulong16);
4630 float16 __ovld __cnfn convert_float16(ulong16);
4631 float16 __ovld __cnfn convert_float16_rte(float16);
4632 float16 __ovld __cnfn convert_float16_rtz(float16);
4633 float16 __ovld __cnfn convert_float16_rtp(float16);
4634 float16 __ovld __cnfn convert_float16_rtn(float16);
4635 float16 __ovld __cnfn convert_float16(float16);
4637 // Conversions with double data type parameters or return value.
4639 #ifdef cl_khr_fp64
4640 #pragma OPENCL EXTENSION cl_khr_fp64 : enable
4641 char __ovld __cnfn convert_char(double);
4642 char __ovld __cnfn convert_char_rte(double);
4643 char __ovld __cnfn convert_char_rtn(double);
4644 char __ovld __cnfn convert_char_rtp(double);
4645 char __ovld __cnfn convert_char_rtz(double);
4646 char __ovld __cnfn convert_char_sat(double);
4647 char __ovld __cnfn convert_char_sat_rte(double);
4648 char __ovld __cnfn convert_char_sat_rtn(double);
4649 char __ovld __cnfn convert_char_sat_rtp(double);
4650 char __ovld __cnfn convert_char_sat_rtz(double);
4651 char2 __ovld __cnfn convert_char2(double2);
4652 char2 __ovld __cnfn convert_char2_rte(double2);
4653 char2 __ovld __cnfn convert_char2_rtn(double2);
4654 char2 __ovld __cnfn convert_char2_rtp(double2);
4655 char2 __ovld __cnfn convert_char2_rtz(double2);
4656 char2 __ovld __cnfn convert_char2_sat(double2);
4657 char2 __ovld __cnfn convert_char2_sat_rte(double2);
4658 char2 __ovld __cnfn convert_char2_sat_rtn(double2);
4659 char2 __ovld __cnfn convert_char2_sat_rtp(double2);
4660 char2 __ovld __cnfn convert_char2_sat_rtz(double2);
4661 char3 __ovld __cnfn convert_char3(double3);
4662 char3 __ovld __cnfn convert_char3_rte(double3);
4663 char3 __ovld __cnfn convert_char3_rtn(double3);
4664 char3 __ovld __cnfn convert_char3_rtp(double3);
4665 char3 __ovld __cnfn convert_char3_rtz(double3);
4666 char3 __ovld __cnfn convert_char3_sat(double3);
4667 char3 __ovld __cnfn convert_char3_sat_rte(double3);
4668 char3 __ovld __cnfn convert_char3_sat_rtn(double3);
4669 char3 __ovld __cnfn convert_char3_sat_rtp(double3);
4670 char3 __ovld __cnfn convert_char3_sat_rtz(double3);
4671 char4 __ovld __cnfn convert_char4(double4);
4672 char4 __ovld __cnfn convert_char4_rte(double4);
4673 char4 __ovld __cnfn convert_char4_rtn(double4);
4674 char4 __ovld __cnfn convert_char4_rtp(double4);
4675 char4 __ovld __cnfn convert_char4_rtz(double4);
4676 char4 __ovld __cnfn convert_char4_sat(double4);
4677 char4 __ovld __cnfn convert_char4_sat_rte(double4);
4678 char4 __ovld __cnfn convert_char4_sat_rtn(double4);
4679 char4 __ovld __cnfn convert_char4_sat_rtp(double4);
4680 char4 __ovld __cnfn convert_char4_sat_rtz(double4);
4681 char8 __ovld __cnfn convert_char8(double8);
4682 char8 __ovld __cnfn convert_char8_rte(double8);
4683 char8 __ovld __cnfn convert_char8_rtn(double8);
4684 char8 __ovld __cnfn convert_char8_rtp(double8);
4685 char8 __ovld __cnfn convert_char8_rtz(double8);
4686 char8 __ovld __cnfn convert_char8_sat(double8);
4687 char8 __ovld __cnfn convert_char8_sat_rte(double8);
4688 char8 __ovld __cnfn convert_char8_sat_rtn(double8);
4689 char8 __ovld __cnfn convert_char8_sat_rtp(double8);
4690 char8 __ovld __cnfn convert_char8_sat_rtz(double8);
4691 char16 __ovld __cnfn convert_char16(double16);
4692 char16 __ovld __cnfn convert_char16_rte(double16);
4693 char16 __ovld __cnfn convert_char16_rtn(double16);
4694 char16 __ovld __cnfn convert_char16_rtp(double16);
4695 char16 __ovld __cnfn convert_char16_rtz(double16);
4696 char16 __ovld __cnfn convert_char16_sat(double16);
4697 char16 __ovld __cnfn convert_char16_sat_rte(double16);
4698 char16 __ovld __cnfn convert_char16_sat_rtn(double16);
4699 char16 __ovld __cnfn convert_char16_sat_rtp(double16);
4700 char16 __ovld __cnfn convert_char16_sat_rtz(double16);
4702 uchar __ovld __cnfn convert_uchar(double);
4703 uchar __ovld __cnfn convert_uchar_rte(double);
4704 uchar __ovld __cnfn convert_uchar_rtn(double);
4705 uchar __ovld __cnfn convert_uchar_rtp(double);
4706 uchar __ovld __cnfn convert_uchar_rtz(double);
4707 uchar __ovld __cnfn convert_uchar_sat(double);
4708 uchar __ovld __cnfn convert_uchar_sat_rte(double);
4709 uchar __ovld __cnfn convert_uchar_sat_rtn(double);
4710 uchar __ovld __cnfn convert_uchar_sat_rtp(double);
4711 uchar __ovld __cnfn convert_uchar_sat_rtz(double);
4712 uchar2 __ovld __cnfn convert_uchar2(double2);
4713 uchar2 __ovld __cnfn convert_uchar2_rte(double2);
4714 uchar2 __ovld __cnfn convert_uchar2_rtn(double2);
4715 uchar2 __ovld __cnfn convert_uchar2_rtp(double2);
4716 uchar2 __ovld __cnfn convert_uchar2_rtz(double2);
4717 uchar2 __ovld __cnfn convert_uchar2_sat(double2);
4718 uchar2 __ovld __cnfn convert_uchar2_sat_rte(double2);
4719 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(double2);
4720 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(double2);
4721 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(double2);
4722 uchar3 __ovld __cnfn convert_uchar3(double3);
4723 uchar3 __ovld __cnfn convert_uchar3_rte(double3);
4724 uchar3 __ovld __cnfn convert_uchar3_rtn(double3);
4725 uchar3 __ovld __cnfn convert_uchar3_rtp(double3);
4726 uchar3 __ovld __cnfn convert_uchar3_rtz(double3);
4727 uchar3 __ovld __cnfn convert_uchar3_sat(double3);
4728 uchar3 __ovld __cnfn convert_uchar3_sat_rte(double3);
4729 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(double3);
4730 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(double3);
4731 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(double3);
4732 uchar4 __ovld __cnfn convert_uchar4(double4);
4733 uchar4 __ovld __cnfn convert_uchar4_rte(double4);
4734 uchar4 __ovld __cnfn convert_uchar4_rtn(double4);
4735 uchar4 __ovld __cnfn convert_uchar4_rtp(double4);
4736 uchar4 __ovld __cnfn convert_uchar4_rtz(double4);
4737 uchar4 __ovld __cnfn convert_uchar4_sat(double4);
4738 uchar4 __ovld __cnfn convert_uchar4_sat_rte(double4);
4739 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(double4);
4740 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(double4);
4741 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(double4);
4742 uchar8 __ovld __cnfn convert_uchar8(double8);
4743 uchar8 __ovld __cnfn convert_uchar8_rte(double8);
4744 uchar8 __ovld __cnfn convert_uchar8_rtn(double8);
4745 uchar8 __ovld __cnfn convert_uchar8_rtp(double8);
4746 uchar8 __ovld __cnfn convert_uchar8_rtz(double8);
4747 uchar8 __ovld __cnfn convert_uchar8_sat(double8);
4748 uchar8 __ovld __cnfn convert_uchar8_sat_rte(double8);
4749 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(double8);
4750 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(double8);
4751 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(double8);
4752 uchar16 __ovld __cnfn convert_uchar16(double16);
4753 uchar16 __ovld __cnfn convert_uchar16_rte(double16);
4754 uchar16 __ovld __cnfn convert_uchar16_rtn(double16);
4755 uchar16 __ovld __cnfn convert_uchar16_rtp(double16);
4756 uchar16 __ovld __cnfn convert_uchar16_rtz(double16);
4757 uchar16 __ovld __cnfn convert_uchar16_sat(double16);
4758 uchar16 __ovld __cnfn convert_uchar16_sat_rte(double16);
4759 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(double16);
4760 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(double16);
4761 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(double16);
4763 short __ovld __cnfn convert_short(double);
4764 short __ovld __cnfn convert_short_rte(double);
4765 short __ovld __cnfn convert_short_rtn(double);
4766 short __ovld __cnfn convert_short_rtp(double);
4767 short __ovld __cnfn convert_short_rtz(double);
4768 short __ovld __cnfn convert_short_sat(double);
4769 short __ovld __cnfn convert_short_sat_rte(double);
4770 short __ovld __cnfn convert_short_sat_rtn(double);
4771 short __ovld __cnfn convert_short_sat_rtp(double);
4772 short __ovld __cnfn convert_short_sat_rtz(double);
4773 short2 __ovld __cnfn convert_short2(double2);
4774 short2 __ovld __cnfn convert_short2_rte(double2);
4775 short2 __ovld __cnfn convert_short2_rtn(double2);
4776 short2 __ovld __cnfn convert_short2_rtp(double2);
4777 short2 __ovld __cnfn convert_short2_rtz(double2);
4778 short2 __ovld __cnfn convert_short2_sat(double2);
4779 short2 __ovld __cnfn convert_short2_sat_rte(double2);
4780 short2 __ovld __cnfn convert_short2_sat_rtn(double2);
4781 short2 __ovld __cnfn convert_short2_sat_rtp(double2);
4782 short2 __ovld __cnfn convert_short2_sat_rtz(double2);
4783 short3 __ovld __cnfn convert_short3(double3);
4784 short3 __ovld __cnfn convert_short3_rte(double3);
4785 short3 __ovld __cnfn convert_short3_rtn(double3);
4786 short3 __ovld __cnfn convert_short3_rtp(double3);
4787 short3 __ovld __cnfn convert_short3_rtz(double3);
4788 short3 __ovld __cnfn convert_short3_sat(double3);
4789 short3 __ovld __cnfn convert_short3_sat_rte(double3);
4790 short3 __ovld __cnfn convert_short3_sat_rtn(double3);
4791 short3 __ovld __cnfn convert_short3_sat_rtp(double3);
4792 short3 __ovld __cnfn convert_short3_sat_rtz(double3);
4793 short4 __ovld __cnfn convert_short4(double4);
4794 short4 __ovld __cnfn convert_short4_rte(double4);
4795 short4 __ovld __cnfn convert_short4_rtn(double4);
4796 short4 __ovld __cnfn convert_short4_rtp(double4);
4797 short4 __ovld __cnfn convert_short4_rtz(double4);
4798 short4 __ovld __cnfn convert_short4_sat(double4);
4799 short4 __ovld __cnfn convert_short4_sat_rte(double4);
4800 short4 __ovld __cnfn convert_short4_sat_rtn(double4);
4801 short4 __ovld __cnfn convert_short4_sat_rtp(double4);
4802 short4 __ovld __cnfn convert_short4_sat_rtz(double4);
4803 short8 __ovld __cnfn convert_short8(double8);
4804 short8 __ovld __cnfn convert_short8_rte(double8);
4805 short8 __ovld __cnfn convert_short8_rtn(double8);
4806 short8 __ovld __cnfn convert_short8_rtp(double8);
4807 short8 __ovld __cnfn convert_short8_rtz(double8);
4808 short8 __ovld __cnfn convert_short8_sat(double8);
4809 short8 __ovld __cnfn convert_short8_sat_rte(double8);
4810 short8 __ovld __cnfn convert_short8_sat_rtn(double8);
4811 short8 __ovld __cnfn convert_short8_sat_rtp(double8);
4812 short8 __ovld __cnfn convert_short8_sat_rtz(double8);
4813 short16 __ovld __cnfn convert_short16(double16);
4814 short16 __ovld __cnfn convert_short16_rte(double16);
4815 short16 __ovld __cnfn convert_short16_rtn(double16);
4816 short16 __ovld __cnfn convert_short16_rtp(double16);
4817 short16 __ovld __cnfn convert_short16_rtz(double16);
4818 short16 __ovld __cnfn convert_short16_sat(double16);
4819 short16 __ovld __cnfn convert_short16_sat_rte(double16);
4820 short16 __ovld __cnfn convert_short16_sat_rtn(double16);
4821 short16 __ovld __cnfn convert_short16_sat_rtp(double16);
4822 short16 __ovld __cnfn convert_short16_sat_rtz(double16);
4824 ushort __ovld __cnfn convert_ushort(double);
4825 ushort __ovld __cnfn convert_ushort_rte(double);
4826 ushort __ovld __cnfn convert_ushort_rtn(double);
4827 ushort __ovld __cnfn convert_ushort_rtp(double);
4828 ushort __ovld __cnfn convert_ushort_rtz(double);
4829 ushort __ovld __cnfn convert_ushort_sat(double);
4830 ushort __ovld __cnfn convert_ushort_sat_rte(double);
4831 ushort __ovld __cnfn convert_ushort_sat_rtn(double);
4832 ushort __ovld __cnfn convert_ushort_sat_rtp(double);
4833 ushort __ovld __cnfn convert_ushort_sat_rtz(double);
4834 ushort2 __ovld __cnfn convert_ushort2(double2);
4835 ushort2 __ovld __cnfn convert_ushort2_rte(double2);
4836 ushort2 __ovld __cnfn convert_ushort2_rtn(double2);
4837 ushort2 __ovld __cnfn convert_ushort2_rtp(double2);
4838 ushort2 __ovld __cnfn convert_ushort2_rtz(double2);
4839 ushort2 __ovld __cnfn convert_ushort2_sat(double2);
4840 ushort2 __ovld __cnfn convert_ushort2_sat_rte(double2);
4841 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(double2);
4842 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(double2);
4843 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(double2);
4844 ushort3 __ovld __cnfn convert_ushort3(double3);
4845 ushort3 __ovld __cnfn convert_ushort3_rte(double3);
4846 ushort3 __ovld __cnfn convert_ushort3_rtn(double3);
4847 ushort3 __ovld __cnfn convert_ushort3_rtp(double3);
4848 ushort3 __ovld __cnfn convert_ushort3_rtz(double3);
4849 ushort3 __ovld __cnfn convert_ushort3_sat(double3);
4850 ushort3 __ovld __cnfn convert_ushort3_sat_rte(double3);
4851 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(double3);
4852 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(double3);
4853 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(double3);
4854 ushort4 __ovld __cnfn convert_ushort4(double4);
4855 ushort4 __ovld __cnfn convert_ushort4_rte(double4);
4856 ushort4 __ovld __cnfn convert_ushort4_rtn(double4);
4857 ushort4 __ovld __cnfn convert_ushort4_rtp(double4);
4858 ushort4 __ovld __cnfn convert_ushort4_rtz(double4);
4859 ushort4 __ovld __cnfn convert_ushort4_sat(double4);
4860 ushort4 __ovld __cnfn convert_ushort4_sat_rte(double4);
4861 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(double4);
4862 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(double4);
4863 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(double4);
4864 ushort8 __ovld __cnfn convert_ushort8(double8);
4865 ushort8 __ovld __cnfn convert_ushort8_rte(double8);
4866 ushort8 __ovld __cnfn convert_ushort8_rtn(double8);
4867 ushort8 __ovld __cnfn convert_ushort8_rtp(double8);
4868 ushort8 __ovld __cnfn convert_ushort8_rtz(double8);
4869 ushort8 __ovld __cnfn convert_ushort8_sat(double8);
4870 ushort8 __ovld __cnfn convert_ushort8_sat_rte(double8);
4871 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(double8);
4872 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(double8);
4873 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(double8);
4874 ushort16 __ovld __cnfn convert_ushort16(double16);
4875 ushort16 __ovld __cnfn convert_ushort16_rte(double16);
4876 ushort16 __ovld __cnfn convert_ushort16_rtn(double16);
4877 ushort16 __ovld __cnfn convert_ushort16_rtp(double16);
4878 ushort16 __ovld __cnfn convert_ushort16_rtz(double16);
4879 ushort16 __ovld __cnfn convert_ushort16_sat(double16);
4880 ushort16 __ovld __cnfn convert_ushort16_sat_rte(double16);
4881 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(double16);
4882 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(double16);
4883 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(double16);
4885 int __ovld __cnfn convert_int(double);
4886 int __ovld __cnfn convert_int_rte(double);
4887 int __ovld __cnfn convert_int_rtn(double);
4888 int __ovld __cnfn convert_int_rtp(double);
4889 int __ovld __cnfn convert_int_rtz(double);
4890 int __ovld __cnfn convert_int_sat(double);
4891 int __ovld __cnfn convert_int_sat_rte(double);
4892 int __ovld __cnfn convert_int_sat_rtn(double);
4893 int __ovld __cnfn convert_int_sat_rtp(double);
4894 int __ovld __cnfn convert_int_sat_rtz(double);
4895 int2 __ovld __cnfn convert_int2(double2);
4896 int2 __ovld __cnfn convert_int2_rte(double2);
4897 int2 __ovld __cnfn convert_int2_rtn(double2);
4898 int2 __ovld __cnfn convert_int2_rtp(double2);
4899 int2 __ovld __cnfn convert_int2_rtz(double2);
4900 int2 __ovld __cnfn convert_int2_sat(double2);
4901 int2 __ovld __cnfn convert_int2_sat_rte(double2);
4902 int2 __ovld __cnfn convert_int2_sat_rtn(double2);
4903 int2 __ovld __cnfn convert_int2_sat_rtp(double2);
4904 int2 __ovld __cnfn convert_int2_sat_rtz(double2);
4905 int3 __ovld __cnfn convert_int3(double3);
4906 int3 __ovld __cnfn convert_int3_rte(double3);
4907 int3 __ovld __cnfn convert_int3_rtn(double3);
4908 int3 __ovld __cnfn convert_int3_rtp(double3);
4909 int3 __ovld __cnfn convert_int3_rtz(double3);
4910 int3 __ovld __cnfn convert_int3_sat(double3);
4911 int3 __ovld __cnfn convert_int3_sat_rte(double3);
4912 int3 __ovld __cnfn convert_int3_sat_rtn(double3);
4913 int3 __ovld __cnfn convert_int3_sat_rtp(double3);
4914 int3 __ovld __cnfn convert_int3_sat_rtz(double3);
4915 int4 __ovld __cnfn convert_int4(double4);
4916 int4 __ovld __cnfn convert_int4_rte(double4);
4917 int4 __ovld __cnfn convert_int4_rtn(double4);
4918 int4 __ovld __cnfn convert_int4_rtp(double4);
4919 int4 __ovld __cnfn convert_int4_rtz(double4);
4920 int4 __ovld __cnfn convert_int4_sat(double4);
4921 int4 __ovld __cnfn convert_int4_sat_rte(double4);
4922 int4 __ovld __cnfn convert_int4_sat_rtn(double4);
4923 int4 __ovld __cnfn convert_int4_sat_rtp(double4);
4924 int4 __ovld __cnfn convert_int4_sat_rtz(double4);
4925 int8 __ovld __cnfn convert_int8(double8);
4926 int8 __ovld __cnfn convert_int8_rte(double8);
4927 int8 __ovld __cnfn convert_int8_rtn(double8);
4928 int8 __ovld __cnfn convert_int8_rtp(double8);
4929 int8 __ovld __cnfn convert_int8_rtz(double8);
4930 int8 __ovld __cnfn convert_int8_sat(double8);
4931 int8 __ovld __cnfn convert_int8_sat_rte(double8);
4932 int8 __ovld __cnfn convert_int8_sat_rtn(double8);
4933 int8 __ovld __cnfn convert_int8_sat_rtp(double8);
4934 int8 __ovld __cnfn convert_int8_sat_rtz(double8);
4935 int16 __ovld __cnfn convert_int16(double16);
4936 int16 __ovld __cnfn convert_int16_rte(double16);
4937 int16 __ovld __cnfn convert_int16_rtn(double16);
4938 int16 __ovld __cnfn convert_int16_rtp(double16);
4939 int16 __ovld __cnfn convert_int16_rtz(double16);
4940 int16 __ovld __cnfn convert_int16_sat(double16);
4941 int16 __ovld __cnfn convert_int16_sat_rte(double16);
4942 int16 __ovld __cnfn convert_int16_sat_rtn(double16);
4943 int16 __ovld __cnfn convert_int16_sat_rtp(double16);
4944 int16 __ovld __cnfn convert_int16_sat_rtz(double16);
4946 uint __ovld __cnfn convert_uint(double);
4947 uint __ovld __cnfn convert_uint_rte(double);
4948 uint __ovld __cnfn convert_uint_rtn(double);
4949 uint __ovld __cnfn convert_uint_rtp(double);
4950 uint __ovld __cnfn convert_uint_rtz(double);
4951 uint __ovld __cnfn convert_uint_sat(double);
4952 uint __ovld __cnfn convert_uint_sat_rte(double);
4953 uint __ovld __cnfn convert_uint_sat_rtn(double);
4954 uint __ovld __cnfn convert_uint_sat_rtp(double);
4955 uint __ovld __cnfn convert_uint_sat_rtz(double);
4956 uint2 __ovld __cnfn convert_uint2(double2);
4957 uint2 __ovld __cnfn convert_uint2_rte(double2);
4958 uint2 __ovld __cnfn convert_uint2_rtn(double2);
4959 uint2 __ovld __cnfn convert_uint2_rtp(double2);
4960 uint2 __ovld __cnfn convert_uint2_rtz(double2);
4961 uint2 __ovld __cnfn convert_uint2_sat(double2);
4962 uint2 __ovld __cnfn convert_uint2_sat_rte(double2);
4963 uint2 __ovld __cnfn convert_uint2_sat_rtn(double2);
4964 uint2 __ovld __cnfn convert_uint2_sat_rtp(double2);
4965 uint2 __ovld __cnfn convert_uint2_sat_rtz(double2);
4966 uint3 __ovld __cnfn convert_uint3(double3);
4967 uint3 __ovld __cnfn convert_uint3_rte(double3);
4968 uint3 __ovld __cnfn convert_uint3_rtn(double3);
4969 uint3 __ovld __cnfn convert_uint3_rtp(double3);
4970 uint3 __ovld __cnfn convert_uint3_rtz(double3);
4971 uint3 __ovld __cnfn convert_uint3_sat(double3);
4972 uint3 __ovld __cnfn convert_uint3_sat_rte(double3);
4973 uint3 __ovld __cnfn convert_uint3_sat_rtn(double3);
4974 uint3 __ovld __cnfn convert_uint3_sat_rtp(double3);
4975 uint3 __ovld __cnfn convert_uint3_sat_rtz(double3);
4976 uint4 __ovld __cnfn convert_uint4(double4);
4977 uint4 __ovld __cnfn convert_uint4_rte(double4);
4978 uint4 __ovld __cnfn convert_uint4_rtn(double4);
4979 uint4 __ovld __cnfn convert_uint4_rtp(double4);
4980 uint4 __ovld __cnfn convert_uint4_rtz(double4);
4981 uint4 __ovld __cnfn convert_uint4_sat(double4);
4982 uint4 __ovld __cnfn convert_uint4_sat_rte(double4);
4983 uint4 __ovld __cnfn convert_uint4_sat_rtn(double4);
4984 uint4 __ovld __cnfn convert_uint4_sat_rtp(double4);
4985 uint4 __ovld __cnfn convert_uint4_sat_rtz(double4);
4986 uint8 __ovld __cnfn convert_uint8(double8);
4987 uint8 __ovld __cnfn convert_uint8_rte(double8);
4988 uint8 __ovld __cnfn convert_uint8_rtn(double8);
4989 uint8 __ovld __cnfn convert_uint8_rtp(double8);
4990 uint8 __ovld __cnfn convert_uint8_rtz(double8);
4991 uint8 __ovld __cnfn convert_uint8_sat(double8);
4992 uint8 __ovld __cnfn convert_uint8_sat_rte(double8);
4993 uint8 __ovld __cnfn convert_uint8_sat_rtn(double8);
4994 uint8 __ovld __cnfn convert_uint8_sat_rtp(double8);
4995 uint8 __ovld __cnfn convert_uint8_sat_rtz(double8);
4996 uint16 __ovld __cnfn convert_uint16(double16);
4997 uint16 __ovld __cnfn convert_uint16_rte(double16);
4998 uint16 __ovld __cnfn convert_uint16_rtn(double16);
4999 uint16 __ovld __cnfn convert_uint16_rtp(double16);
5000 uint16 __ovld __cnfn convert_uint16_rtz(double16);
5001 uint16 __ovld __cnfn convert_uint16_sat(double16);
5002 uint16 __ovld __cnfn convert_uint16_sat_rte(double16);
5003 uint16 __ovld __cnfn convert_uint16_sat_rtn(double16);
5004 uint16 __ovld __cnfn convert_uint16_sat_rtp(double16);
5005 uint16 __ovld __cnfn convert_uint16_sat_rtz(double16);
5007 long __ovld __cnfn convert_long(double);
5008 long __ovld __cnfn convert_long_rte(double);
5009 long __ovld __cnfn convert_long_rtn(double);
5010 long __ovld __cnfn convert_long_rtp(double);
5011 long __ovld __cnfn convert_long_rtz(double);
5012 long __ovld __cnfn convert_long_sat(double);
5013 long __ovld __cnfn convert_long_sat_rte(double);
5014 long __ovld __cnfn convert_long_sat_rtn(double);
5015 long __ovld __cnfn convert_long_sat_rtp(double);
5016 long __ovld __cnfn convert_long_sat_rtz(double);
5017 long2 __ovld __cnfn convert_long2(double2);
5018 long2 __ovld __cnfn convert_long2_rte(double2);
5019 long2 __ovld __cnfn convert_long2_rtn(double2);
5020 long2 __ovld __cnfn convert_long2_rtp(double2);
5021 long2 __ovld __cnfn convert_long2_rtz(double2);
5022 long2 __ovld __cnfn convert_long2_sat(double2);
5023 long2 __ovld __cnfn convert_long2_sat_rte(double2);
5024 long2 __ovld __cnfn convert_long2_sat_rtn(double2);
5025 long2 __ovld __cnfn convert_long2_sat_rtp(double2);
5026 long2 __ovld __cnfn convert_long2_sat_rtz(double2);
5027 long3 __ovld __cnfn convert_long3(double3);
5028 long3 __ovld __cnfn convert_long3_rte(double3);
5029 long3 __ovld __cnfn convert_long3_rtn(double3);
5030 long3 __ovld __cnfn convert_long3_rtp(double3);
5031 long3 __ovld __cnfn convert_long3_rtz(double3);
5032 long3 __ovld __cnfn convert_long3_sat(double3);
5033 long3 __ovld __cnfn convert_long3_sat_rte(double3);
5034 long3 __ovld __cnfn convert_long3_sat_rtn(double3);
5035 long3 __ovld __cnfn convert_long3_sat_rtp(double3);
5036 long3 __ovld __cnfn convert_long3_sat_rtz(double3);
5037 long4 __ovld __cnfn convert_long4(double4);
5038 long4 __ovld __cnfn convert_long4_rte(double4);
5039 long4 __ovld __cnfn convert_long4_rtn(double4);
5040 long4 __ovld __cnfn convert_long4_rtp(double4);
5041 long4 __ovld __cnfn convert_long4_rtz(double4);
5042 long4 __ovld __cnfn convert_long4_sat(double4);
5043 long4 __ovld __cnfn convert_long4_sat_rte(double4);
5044 long4 __ovld __cnfn convert_long4_sat_rtn(double4);
5045 long4 __ovld __cnfn convert_long4_sat_rtp(double4);
5046 long4 __ovld __cnfn convert_long4_sat_rtz(double4);
5047 long8 __ovld __cnfn convert_long8(double8);
5048 long8 __ovld __cnfn convert_long8_rte(double8);
5049 long8 __ovld __cnfn convert_long8_rtn(double8);
5050 long8 __ovld __cnfn convert_long8_rtp(double8);
5051 long8 __ovld __cnfn convert_long8_rtz(double8);
5052 long8 __ovld __cnfn convert_long8_sat(double8);
5053 long8 __ovld __cnfn convert_long8_sat_rte(double8);
5054 long8 __ovld __cnfn convert_long8_sat_rtn(double8);
5055 long8 __ovld __cnfn convert_long8_sat_rtp(double8);
5056 long8 __ovld __cnfn convert_long8_sat_rtz(double8);
5057 long16 __ovld __cnfn convert_long16(double16);
5058 long16 __ovld __cnfn convert_long16_rte(double16);
5059 long16 __ovld __cnfn convert_long16_rtn(double16);
5060 long16 __ovld __cnfn convert_long16_rtp(double16);
5061 long16 __ovld __cnfn convert_long16_rtz(double16);
5062 long16 __ovld __cnfn convert_long16_sat(double16);
5063 long16 __ovld __cnfn convert_long16_sat_rte(double16);
5064 long16 __ovld __cnfn convert_long16_sat_rtn(double16);
5065 long16 __ovld __cnfn convert_long16_sat_rtp(double16);
5066 long16 __ovld __cnfn convert_long16_sat_rtz(double16);
5068 ulong __ovld __cnfn convert_ulong(double);
5069 ulong __ovld __cnfn convert_ulong_rte(double);
5070 ulong __ovld __cnfn convert_ulong_rtn(double);
5071 ulong __ovld __cnfn convert_ulong_rtp(double);
5072 ulong __ovld __cnfn convert_ulong_rtz(double);
5073 ulong __ovld __cnfn convert_ulong_sat(double);
5074 ulong __ovld __cnfn convert_ulong_sat_rte(double);
5075 ulong __ovld __cnfn convert_ulong_sat_rtn(double);
5076 ulong __ovld __cnfn convert_ulong_sat_rtp(double);
5077 ulong __ovld __cnfn convert_ulong_sat_rtz(double);
5078 ulong2 __ovld __cnfn convert_ulong2(double2);
5079 ulong2 __ovld __cnfn convert_ulong2_rte(double2);
5080 ulong2 __ovld __cnfn convert_ulong2_rtn(double2);
5081 ulong2 __ovld __cnfn convert_ulong2_rtp(double2);
5082 ulong2 __ovld __cnfn convert_ulong2_rtz(double2);
5083 ulong2 __ovld __cnfn convert_ulong2_sat(double2);
5084 ulong2 __ovld __cnfn convert_ulong2_sat_rte(double2);
5085 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(double2);
5086 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(double2);
5087 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(double2);
5088 ulong3 __ovld __cnfn convert_ulong3(double3);
5089 ulong3 __ovld __cnfn convert_ulong3_rte(double3);
5090 ulong3 __ovld __cnfn convert_ulong3_rtn(double3);
5091 ulong3 __ovld __cnfn convert_ulong3_rtp(double3);
5092 ulong3 __ovld __cnfn convert_ulong3_rtz(double3);
5093 ulong3 __ovld __cnfn convert_ulong3_sat(double3);
5094 ulong3 __ovld __cnfn convert_ulong3_sat_rte(double3);
5095 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(double3);
5096 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(double3);
5097 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(double3);
5098 ulong4 __ovld __cnfn convert_ulong4(double4);
5099 ulong4 __ovld __cnfn convert_ulong4_rte(double4);
5100 ulong4 __ovld __cnfn convert_ulong4_rtn(double4);
5101 ulong4 __ovld __cnfn convert_ulong4_rtp(double4);
5102 ulong4 __ovld __cnfn convert_ulong4_rtz(double4);
5103 ulong4 __ovld __cnfn convert_ulong4_sat(double4);
5104 ulong4 __ovld __cnfn convert_ulong4_sat_rte(double4);
5105 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(double4);
5106 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(double4);
5107 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(double4);
5108 ulong8 __ovld __cnfn convert_ulong8(double8);
5109 ulong8 __ovld __cnfn convert_ulong8_rte(double8);
5110 ulong8 __ovld __cnfn convert_ulong8_rtn(double8);
5111 ulong8 __ovld __cnfn convert_ulong8_rtp(double8);
5112 ulong8 __ovld __cnfn convert_ulong8_rtz(double8);
5113 ulong8 __ovld __cnfn convert_ulong8_sat(double8);
5114 ulong8 __ovld __cnfn convert_ulong8_sat_rte(double8);
5115 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(double8);
5116 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(double8);
5117 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(double8);
5118 ulong16 __ovld __cnfn convert_ulong16(double16);
5119 ulong16 __ovld __cnfn convert_ulong16_rte(double16);
5120 ulong16 __ovld __cnfn convert_ulong16_rtn(double16);
5121 ulong16 __ovld __cnfn convert_ulong16_rtp(double16);
5122 ulong16 __ovld __cnfn convert_ulong16_rtz(double16);
5123 ulong16 __ovld __cnfn convert_ulong16_sat(double16);
5124 ulong16 __ovld __cnfn convert_ulong16_sat_rte(double16);
5125 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(double16);
5126 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(double16);
5127 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(double16);
5129 float __ovld __cnfn convert_float(double);
5130 float __ovld __cnfn convert_float_rte(double);
5131 float __ovld __cnfn convert_float_rtn(double);
5132 float __ovld __cnfn convert_float_rtp(double);
5133 float __ovld __cnfn convert_float_rtz(double);
5134 float2 __ovld __cnfn convert_float2(double2);
5135 float2 __ovld __cnfn convert_float2_rte(double2);
5136 float2 __ovld __cnfn convert_float2_rtn(double2);
5137 float2 __ovld __cnfn convert_float2_rtp(double2);
5138 float2 __ovld __cnfn convert_float2_rtz(double2);
5139 float3 __ovld __cnfn convert_float3(double3);
5140 float3 __ovld __cnfn convert_float3_rte(double3);
5141 float3 __ovld __cnfn convert_float3_rtn(double3);
5142 float3 __ovld __cnfn convert_float3_rtp(double3);
5143 float3 __ovld __cnfn convert_float3_rtz(double3);
5144 float4 __ovld __cnfn convert_float4(double4);
5145 float4 __ovld __cnfn convert_float4_rte(double4);
5146 float4 __ovld __cnfn convert_float4_rtn(double4);
5147 float4 __ovld __cnfn convert_float4_rtp(double4);
5148 float4 __ovld __cnfn convert_float4_rtz(double4);
5149 float8 __ovld __cnfn convert_float8(double8);
5150 float8 __ovld __cnfn convert_float8_rte(double8);
5151 float8 __ovld __cnfn convert_float8_rtn(double8);
5152 float8 __ovld __cnfn convert_float8_rtp(double8);
5153 float8 __ovld __cnfn convert_float8_rtz(double8);
5154 float16 __ovld __cnfn convert_float16(double16);
5155 float16 __ovld __cnfn convert_float16_rte(double16);
5156 float16 __ovld __cnfn convert_float16_rtn(double16);
5157 float16 __ovld __cnfn convert_float16_rtp(double16);
5158 float16 __ovld __cnfn convert_float16_rtz(double16);
5160 double __ovld __cnfn convert_double(char);
5161 double __ovld __cnfn convert_double(double);
5162 double __ovld __cnfn convert_double(float);
5163 double __ovld __cnfn convert_double(int);
5164 double __ovld __cnfn convert_double(long);
5165 double __ovld __cnfn convert_double(short);
5166 double __ovld __cnfn convert_double(uchar);
5167 double __ovld __cnfn convert_double(uint);
5168 double __ovld __cnfn convert_double(ulong);
5169 double __ovld __cnfn convert_double(ushort);
5170 double __ovld __cnfn convert_double_rte(char);
5171 double __ovld __cnfn convert_double_rte(double);
5172 double __ovld __cnfn convert_double_rte(float);
5173 double __ovld __cnfn convert_double_rte(int);
5174 double __ovld __cnfn convert_double_rte(long);
5175 double __ovld __cnfn convert_double_rte(short);
5176 double __ovld __cnfn convert_double_rte(uchar);
5177 double __ovld __cnfn convert_double_rte(uint);
5178 double __ovld __cnfn convert_double_rte(ulong);
5179 double __ovld __cnfn convert_double_rte(ushort);
5180 double __ovld __cnfn convert_double_rtn(char);
5181 double __ovld __cnfn convert_double_rtn(double);
5182 double __ovld __cnfn convert_double_rtn(float);
5183 double __ovld __cnfn convert_double_rtn(int);
5184 double __ovld __cnfn convert_double_rtn(long);
5185 double __ovld __cnfn convert_double_rtn(short);
5186 double __ovld __cnfn convert_double_rtn(uchar);
5187 double __ovld __cnfn convert_double_rtn(uint);
5188 double __ovld __cnfn convert_double_rtn(ulong);
5189 double __ovld __cnfn convert_double_rtn(ushort);
5190 double __ovld __cnfn convert_double_rtp(char);
5191 double __ovld __cnfn convert_double_rtp(double);
5192 double __ovld __cnfn convert_double_rtp(float);
5193 double __ovld __cnfn convert_double_rtp(int);
5194 double __ovld __cnfn convert_double_rtp(long);
5195 double __ovld __cnfn convert_double_rtp(short);
5196 double __ovld __cnfn convert_double_rtp(uchar);
5197 double __ovld __cnfn convert_double_rtp(uint);
5198 double __ovld __cnfn convert_double_rtp(ulong);
5199 double __ovld __cnfn convert_double_rtp(ushort);
5200 double __ovld __cnfn convert_double_rtz(char);
5201 double __ovld __cnfn convert_double_rtz(double);
5202 double __ovld __cnfn convert_double_rtz(float);
5203 double __ovld __cnfn convert_double_rtz(int);
5204 double __ovld __cnfn convert_double_rtz(long);
5205 double __ovld __cnfn convert_double_rtz(short);
5206 double __ovld __cnfn convert_double_rtz(uchar);
5207 double __ovld __cnfn convert_double_rtz(uint);
5208 double __ovld __cnfn convert_double_rtz(ulong);
5209 double __ovld __cnfn convert_double_rtz(ushort);
5210 double2 __ovld __cnfn convert_double2(char2);
5211 double2 __ovld __cnfn convert_double2(double2);
5212 double2 __ovld __cnfn convert_double2(float2);
5213 double2 __ovld __cnfn convert_double2(int2);
5214 double2 __ovld __cnfn convert_double2(long2);
5215 double2 __ovld __cnfn convert_double2(short2);
5216 double2 __ovld __cnfn convert_double2(uchar2);
5217 double2 __ovld __cnfn convert_double2(uint2);
5218 double2 __ovld __cnfn convert_double2(ulong2);
5219 double2 __ovld __cnfn convert_double2(ushort2);
5220 double2 __ovld __cnfn convert_double2_rte(char2);
5221 double2 __ovld __cnfn convert_double2_rte(double2);
5222 double2 __ovld __cnfn convert_double2_rte(float2);
5223 double2 __ovld __cnfn convert_double2_rte(int2);
5224 double2 __ovld __cnfn convert_double2_rte(long2);
5225 double2 __ovld __cnfn convert_double2_rte(short2);
5226 double2 __ovld __cnfn convert_double2_rte(uchar2);
5227 double2 __ovld __cnfn convert_double2_rte(uint2);
5228 double2 __ovld __cnfn convert_double2_rte(ulong2);
5229 double2 __ovld __cnfn convert_double2_rte(ushort2);
5230 double2 __ovld __cnfn convert_double2_rtn(char2);
5231 double2 __ovld __cnfn convert_double2_rtn(double2);
5232 double2 __ovld __cnfn convert_double2_rtn(float2);
5233 double2 __ovld __cnfn convert_double2_rtn(int2);
5234 double2 __ovld __cnfn convert_double2_rtn(long2);
5235 double2 __ovld __cnfn convert_double2_rtn(short2);
5236 double2 __ovld __cnfn convert_double2_rtn(uchar2);
5237 double2 __ovld __cnfn convert_double2_rtn(uint2);
5238 double2 __ovld __cnfn convert_double2_rtn(ulong2);
5239 double2 __ovld __cnfn convert_double2_rtn(ushort2);
5240 double2 __ovld __cnfn convert_double2_rtp(char2);
5241 double2 __ovld __cnfn convert_double2_rtp(double2);
5242 double2 __ovld __cnfn convert_double2_rtp(float2);
5243 double2 __ovld __cnfn convert_double2_rtp(int2);
5244 double2 __ovld __cnfn convert_double2_rtp(long2);
5245 double2 __ovld __cnfn convert_double2_rtp(short2);
5246 double2 __ovld __cnfn convert_double2_rtp(uchar2);
5247 double2 __ovld __cnfn convert_double2_rtp(uint2);
5248 double2 __ovld __cnfn convert_double2_rtp(ulong2);
5249 double2 __ovld __cnfn convert_double2_rtp(ushort2);
5250 double2 __ovld __cnfn convert_double2_rtz(char2);
5251 double2 __ovld __cnfn convert_double2_rtz(double2);
5252 double2 __ovld __cnfn convert_double2_rtz(float2);
5253 double2 __ovld __cnfn convert_double2_rtz(int2);
5254 double2 __ovld __cnfn convert_double2_rtz(long2);
5255 double2 __ovld __cnfn convert_double2_rtz(short2);
5256 double2 __ovld __cnfn convert_double2_rtz(uchar2);
5257 double2 __ovld __cnfn convert_double2_rtz(uint2);
5258 double2 __ovld __cnfn convert_double2_rtz(ulong2);
5259 double2 __ovld __cnfn convert_double2_rtz(ushort2);
5260 double3 __ovld __cnfn convert_double3(char3);
5261 double3 __ovld __cnfn convert_double3(double3);
5262 double3 __ovld __cnfn convert_double3(float3);
5263 double3 __ovld __cnfn convert_double3(int3);
5264 double3 __ovld __cnfn convert_double3(long3);
5265 double3 __ovld __cnfn convert_double3(short3);
5266 double3 __ovld __cnfn convert_double3(uchar3);
5267 double3 __ovld __cnfn convert_double3(uint3);
5268 double3 __ovld __cnfn convert_double3(ulong3);
5269 double3 __ovld __cnfn convert_double3(ushort3);
5270 double3 __ovld __cnfn convert_double3_rte(char3);
5271 double3 __ovld __cnfn convert_double3_rte(double3);
5272 double3 __ovld __cnfn convert_double3_rte(float3);
5273 double3 __ovld __cnfn convert_double3_rte(int3);
5274 double3 __ovld __cnfn convert_double3_rte(long3);
5275 double3 __ovld __cnfn convert_double3_rte(short3);
5276 double3 __ovld __cnfn convert_double3_rte(uchar3);
5277 double3 __ovld __cnfn convert_double3_rte(uint3);
5278 double3 __ovld __cnfn convert_double3_rte(ulong3);
5279 double3 __ovld __cnfn convert_double3_rte(ushort3);
5280 double3 __ovld __cnfn convert_double3_rtn(char3);
5281 double3 __ovld __cnfn convert_double3_rtn(double3);
5282 double3 __ovld __cnfn convert_double3_rtn(float3);
5283 double3 __ovld __cnfn convert_double3_rtn(int3);
5284 double3 __ovld __cnfn convert_double3_rtn(long3);
5285 double3 __ovld __cnfn convert_double3_rtn(short3);
5286 double3 __ovld __cnfn convert_double3_rtn(uchar3);
5287 double3 __ovld __cnfn convert_double3_rtn(uint3);
5288 double3 __ovld __cnfn convert_double3_rtn(ulong3);
5289 double3 __ovld __cnfn convert_double3_rtn(ushort3);
5290 double3 __ovld __cnfn convert_double3_rtp(char3);
5291 double3 __ovld __cnfn convert_double3_rtp(double3);
5292 double3 __ovld __cnfn convert_double3_rtp(float3);
5293 double3 __ovld __cnfn convert_double3_rtp(int3);
5294 double3 __ovld __cnfn convert_double3_rtp(long3);
5295 double3 __ovld __cnfn convert_double3_rtp(short3);
5296 double3 __ovld __cnfn convert_double3_rtp(uchar3);
5297 double3 __ovld __cnfn convert_double3_rtp(uint3);
5298 double3 __ovld __cnfn convert_double3_rtp(ulong3);
5299 double3 __ovld __cnfn convert_double3_rtp(ushort3);
5300 double3 __ovld __cnfn convert_double3_rtz(char3);
5301 double3 __ovld __cnfn convert_double3_rtz(double3);
5302 double3 __ovld __cnfn convert_double3_rtz(float3);
5303 double3 __ovld __cnfn convert_double3_rtz(int3);
5304 double3 __ovld __cnfn convert_double3_rtz(long3);
5305 double3 __ovld __cnfn convert_double3_rtz(short3);
5306 double3 __ovld __cnfn convert_double3_rtz(uchar3);
5307 double3 __ovld __cnfn convert_double3_rtz(uint3);
5308 double3 __ovld __cnfn convert_double3_rtz(ulong3);
5309 double3 __ovld __cnfn convert_double3_rtz(ushort3);
5310 double4 __ovld __cnfn convert_double4(char4);
5311 double4 __ovld __cnfn convert_double4(double4);
5312 double4 __ovld __cnfn convert_double4(float4);
5313 double4 __ovld __cnfn convert_double4(int4);
5314 double4 __ovld __cnfn convert_double4(long4);
5315 double4 __ovld __cnfn convert_double4(short4);
5316 double4 __ovld __cnfn convert_double4(uchar4);
5317 double4 __ovld __cnfn convert_double4(uint4);
5318 double4 __ovld __cnfn convert_double4(ulong4);
5319 double4 __ovld __cnfn convert_double4(ushort4);
5320 double4 __ovld __cnfn convert_double4_rte(char4);
5321 double4 __ovld __cnfn convert_double4_rte(double4);
5322 double4 __ovld __cnfn convert_double4_rte(float4);
5323 double4 __ovld __cnfn convert_double4_rte(int4);
5324 double4 __ovld __cnfn convert_double4_rte(long4);
5325 double4 __ovld __cnfn convert_double4_rte(short4);
5326 double4 __ovld __cnfn convert_double4_rte(uchar4);
5327 double4 __ovld __cnfn convert_double4_rte(uint4);
5328 double4 __ovld __cnfn convert_double4_rte(ulong4);
5329 double4 __ovld __cnfn convert_double4_rte(ushort4);
5330 double4 __ovld __cnfn convert_double4_rtn(char4);
5331 double4 __ovld __cnfn convert_double4_rtn(double4);
5332 double4 __ovld __cnfn convert_double4_rtn(float4);
5333 double4 __ovld __cnfn convert_double4_rtn(int4);
5334 double4 __ovld __cnfn convert_double4_rtn(long4);
5335 double4 __ovld __cnfn convert_double4_rtn(short4);
5336 double4 __ovld __cnfn convert_double4_rtn(uchar4);
5337 double4 __ovld __cnfn convert_double4_rtn(uint4);
5338 double4 __ovld __cnfn convert_double4_rtn(ulong4);
5339 double4 __ovld __cnfn convert_double4_rtn(ushort4);
5340 double4 __ovld __cnfn convert_double4_rtp(char4);
5341 double4 __ovld __cnfn convert_double4_rtp(double4);
5342 double4 __ovld __cnfn convert_double4_rtp(float4);
5343 double4 __ovld __cnfn convert_double4_rtp(int4);
5344 double4 __ovld __cnfn convert_double4_rtp(long4);
5345 double4 __ovld __cnfn convert_double4_rtp(short4);
5346 double4 __ovld __cnfn convert_double4_rtp(uchar4);
5347 double4 __ovld __cnfn convert_double4_rtp(uint4);
5348 double4 __ovld __cnfn convert_double4_rtp(ulong4);
5349 double4 __ovld __cnfn convert_double4_rtp(ushort4);
5350 double4 __ovld __cnfn convert_double4_rtz(char4);
5351 double4 __ovld __cnfn convert_double4_rtz(double4);
5352 double4 __ovld __cnfn convert_double4_rtz(float4);
5353 double4 __ovld __cnfn convert_double4_rtz(int4);
5354 double4 __ovld __cnfn convert_double4_rtz(long4);
5355 double4 __ovld __cnfn convert_double4_rtz(short4);
5356 double4 __ovld __cnfn convert_double4_rtz(uchar4);
5357 double4 __ovld __cnfn convert_double4_rtz(uint4);
5358 double4 __ovld __cnfn convert_double4_rtz(ulong4);
5359 double4 __ovld __cnfn convert_double4_rtz(ushort4);
5360 double8 __ovld __cnfn convert_double8(char8);
5361 double8 __ovld __cnfn convert_double8(double8);
5362 double8 __ovld __cnfn convert_double8(float8);
5363 double8 __ovld __cnfn convert_double8(int8);
5364 double8 __ovld __cnfn convert_double8(long8);
5365 double8 __ovld __cnfn convert_double8(short8);
5366 double8 __ovld __cnfn convert_double8(uchar8);
5367 double8 __ovld __cnfn convert_double8(uint8);
5368 double8 __ovld __cnfn convert_double8(ulong8);
5369 double8 __ovld __cnfn convert_double8(ushort8);
5370 double8 __ovld __cnfn convert_double8_rte(char8);
5371 double8 __ovld __cnfn convert_double8_rte(double8);
5372 double8 __ovld __cnfn convert_double8_rte(float8);
5373 double8 __ovld __cnfn convert_double8_rte(int8);
5374 double8 __ovld __cnfn convert_double8_rte(long8);
5375 double8 __ovld __cnfn convert_double8_rte(short8);
5376 double8 __ovld __cnfn convert_double8_rte(uchar8);
5377 double8 __ovld __cnfn convert_double8_rte(uint8);
5378 double8 __ovld __cnfn convert_double8_rte(ulong8);
5379 double8 __ovld __cnfn convert_double8_rte(ushort8);
5380 double8 __ovld __cnfn convert_double8_rtn(char8);
5381 double8 __ovld __cnfn convert_double8_rtn(double8);
5382 double8 __ovld __cnfn convert_double8_rtn(float8);
5383 double8 __ovld __cnfn convert_double8_rtn(int8);
5384 double8 __ovld __cnfn convert_double8_rtn(long8);
5385 double8 __ovld __cnfn convert_double8_rtn(short8);
5386 double8 __ovld __cnfn convert_double8_rtn(uchar8);
5387 double8 __ovld __cnfn convert_double8_rtn(uint8);
5388 double8 __ovld __cnfn convert_double8_rtn(ulong8);
5389 double8 __ovld __cnfn convert_double8_rtn(ushort8);
5390 double8 __ovld __cnfn convert_double8_rtp(char8);
5391 double8 __ovld __cnfn convert_double8_rtp(double8);
5392 double8 __ovld __cnfn convert_double8_rtp(float8);
5393 double8 __ovld __cnfn convert_double8_rtp(int8);
5394 double8 __ovld __cnfn convert_double8_rtp(long8);
5395 double8 __ovld __cnfn convert_double8_rtp(short8);
5396 double8 __ovld __cnfn convert_double8_rtp(uchar8);
5397 double8 __ovld __cnfn convert_double8_rtp(uint8);
5398 double8 __ovld __cnfn convert_double8_rtp(ulong8);
5399 double8 __ovld __cnfn convert_double8_rtp(ushort8);
5400 double8 __ovld __cnfn convert_double8_rtz(char8);
5401 double8 __ovld __cnfn convert_double8_rtz(double8);
5402 double8 __ovld __cnfn convert_double8_rtz(float8);
5403 double8 __ovld __cnfn convert_double8_rtz(int8);
5404 double8 __ovld __cnfn convert_double8_rtz(long8);
5405 double8 __ovld __cnfn convert_double8_rtz(short8);
5406 double8 __ovld __cnfn convert_double8_rtz(uchar8);
5407 double8 __ovld __cnfn convert_double8_rtz(uint8);
5408 double8 __ovld __cnfn convert_double8_rtz(ulong8);
5409 double8 __ovld __cnfn convert_double8_rtz(ushort8);
5410 double16 __ovld __cnfn convert_double16(char16);
5411 double16 __ovld __cnfn convert_double16(double16);
5412 double16 __ovld __cnfn convert_double16(float16);
5413 double16 __ovld __cnfn convert_double16(int16);
5414 double16 __ovld __cnfn convert_double16(long16);
5415 double16 __ovld __cnfn convert_double16(short16);
5416 double16 __ovld __cnfn convert_double16(uchar16);
5417 double16 __ovld __cnfn convert_double16(uint16);
5418 double16 __ovld __cnfn convert_double16(ulong16);
5419 double16 __ovld __cnfn convert_double16(ushort16);
5420 double16 __ovld __cnfn convert_double16_rte(char16);
5421 double16 __ovld __cnfn convert_double16_rte(double16);
5422 double16 __ovld __cnfn convert_double16_rte(float16);
5423 double16 __ovld __cnfn convert_double16_rte(int16);
5424 double16 __ovld __cnfn convert_double16_rte(long16);
5425 double16 __ovld __cnfn convert_double16_rte(short16);
5426 double16 __ovld __cnfn convert_double16_rte(uchar16);
5427 double16 __ovld __cnfn convert_double16_rte(uint16);
5428 double16 __ovld __cnfn convert_double16_rte(ulong16);
5429 double16 __ovld __cnfn convert_double16_rte(ushort16);
5430 double16 __ovld __cnfn convert_double16_rtn(char16);
5431 double16 __ovld __cnfn convert_double16_rtn(double16);
5432 double16 __ovld __cnfn convert_double16_rtn(float16);
5433 double16 __ovld __cnfn convert_double16_rtn(int16);
5434 double16 __ovld __cnfn convert_double16_rtn(long16);
5435 double16 __ovld __cnfn convert_double16_rtn(short16);
5436 double16 __ovld __cnfn convert_double16_rtn(uchar16);
5437 double16 __ovld __cnfn convert_double16_rtn(uint16);
5438 double16 __ovld __cnfn convert_double16_rtn(ulong16);
5439 double16 __ovld __cnfn convert_double16_rtn(ushort16);
5440 double16 __ovld __cnfn convert_double16_rtp(char16);
5441 double16 __ovld __cnfn convert_double16_rtp(double16);
5442 double16 __ovld __cnfn convert_double16_rtp(float16);
5443 double16 __ovld __cnfn convert_double16_rtp(int16);
5444 double16 __ovld __cnfn convert_double16_rtp(long16);
5445 double16 __ovld __cnfn convert_double16_rtp(short16);
5446 double16 __ovld __cnfn convert_double16_rtp(uchar16);
5447 double16 __ovld __cnfn convert_double16_rtp(uint16);
5448 double16 __ovld __cnfn convert_double16_rtp(ulong16);
5449 double16 __ovld __cnfn convert_double16_rtp(ushort16);
5450 double16 __ovld __cnfn convert_double16_rtz(char16);
5451 double16 __ovld __cnfn convert_double16_rtz(double16);
5452 double16 __ovld __cnfn convert_double16_rtz(float16);
5453 double16 __ovld __cnfn convert_double16_rtz(int16);
5454 double16 __ovld __cnfn convert_double16_rtz(long16);
5455 double16 __ovld __cnfn convert_double16_rtz(short16);
5456 double16 __ovld __cnfn convert_double16_rtz(uchar16);
5457 double16 __ovld __cnfn convert_double16_rtz(uint16);
5458 double16 __ovld __cnfn convert_double16_rtz(ulong16);
5459 double16 __ovld __cnfn convert_double16_rtz(ushort16);
5460 #endif //cl_khr_fp64
5462 #ifdef cl_khr_fp16
5463 #pragma OPENCL EXTENSION cl_khr_fp16 : enable
5464 // Convert half types to non-double types.
5465 uchar __ovld __cnfn convert_uchar(half);
5466 uchar __ovld __cnfn convert_uchar_rte(half);
5467 uchar __ovld __cnfn convert_uchar_rtp(half);
5468 uchar __ovld __cnfn convert_uchar_rtn(half);
5469 uchar __ovld __cnfn convert_uchar_rtz(half);
5470 uchar __ovld __cnfn convert_uchar_sat(half);
5471 uchar __ovld __cnfn convert_uchar_sat_rte(half);
5472 uchar __ovld __cnfn convert_uchar_sat_rtp(half);
5473 uchar __ovld __cnfn convert_uchar_sat_rtn(half);
5474 uchar __ovld __cnfn convert_uchar_sat_rtz(half);
5475 uchar2 __ovld __cnfn convert_uchar2(half2);
5476 uchar2 __ovld __cnfn convert_uchar2_rte(half2);
5477 uchar2 __ovld __cnfn convert_uchar2_rtp(half2);
5478 uchar2 __ovld __cnfn convert_uchar2_rtn(half2);
5479 uchar2 __ovld __cnfn convert_uchar2_rtz(half2);
5480 uchar2 __ovld __cnfn convert_uchar2_sat(half2);
5481 uchar2 __ovld __cnfn convert_uchar2_sat_rte(half2);
5482 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(half2);
5483 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(half2);
5484 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(half2);
5485 uchar3 __ovld __cnfn convert_uchar3(half3);
5486 uchar3 __ovld __cnfn convert_uchar3_rte(half3);
5487 uchar3 __ovld __cnfn convert_uchar3_rtp(half3);
5488 uchar3 __ovld __cnfn convert_uchar3_rtn(half3);
5489 uchar3 __ovld __cnfn convert_uchar3_rtz(half3);
5490 uchar3 __ovld __cnfn convert_uchar3_sat(half3);
5491 uchar3 __ovld __cnfn convert_uchar3_sat_rte(half3);
5492 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(half3);
5493 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(half3);
5494 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(half3);
5495 uchar4 __ovld __cnfn convert_uchar4(half4);
5496 uchar4 __ovld __cnfn convert_uchar4_rte(half4);
5497 uchar4 __ovld __cnfn convert_uchar4_rtp(half4);
5498 uchar4 __ovld __cnfn convert_uchar4_rtn(half4);
5499 uchar4 __ovld __cnfn convert_uchar4_rtz(half4);
5500 uchar4 __ovld __cnfn convert_uchar4_sat(half4);
5501 uchar4 __ovld __cnfn convert_uchar4_sat_rte(half4);
5502 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(half4);
5503 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(half4);
5504 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(half4);
5505 uchar8 __ovld __cnfn convert_uchar8(half8);
5506 uchar8 __ovld __cnfn convert_uchar8_rte(half8);
5507 uchar8 __ovld __cnfn convert_uchar8_rtp(half8);
5508 uchar8 __ovld __cnfn convert_uchar8_rtn(half8);
5509 uchar8 __ovld __cnfn convert_uchar8_rtz(half8);
5510 uchar8 __ovld __cnfn convert_uchar8_sat(half8);
5511 uchar8 __ovld __cnfn convert_uchar8_sat_rte(half8);
5512 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(half8);
5513 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(half8);
5514 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(half8);
5515 uchar16 __ovld __cnfn convert_uchar16(half16);
5516 uchar16 __ovld __cnfn convert_uchar16_rte(half16);
5517 uchar16 __ovld __cnfn convert_uchar16_rtp(half16);
5518 uchar16 __ovld __cnfn convert_uchar16_rtn(half16);
5519 uchar16 __ovld __cnfn convert_uchar16_rtz(half16);
5520 uchar16 __ovld __cnfn convert_uchar16_sat(half16);
5521 uchar16 __ovld __cnfn convert_uchar16_sat_rte(half16);
5522 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(half16);
5523 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(half16);
5524 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(half16);
5525 ushort __ovld __cnfn convert_ushort(half);
5526 ushort __ovld __cnfn convert_ushort_rte(half);
5527 ushort __ovld __cnfn convert_ushort_rtp(half);
5528 ushort __ovld __cnfn convert_ushort_rtn(half);
5529 ushort __ovld __cnfn convert_ushort_rtz(half);
5530 ushort __ovld __cnfn convert_ushort_sat(half);
5531 ushort __ovld __cnfn convert_ushort_sat_rte(half);
5532 ushort __ovld __cnfn convert_ushort_sat_rtp(half);
5533 ushort __ovld __cnfn convert_ushort_sat_rtn(half);
5534 ushort __ovld __cnfn convert_ushort_sat_rtz(half);
5535 ushort2 __ovld __cnfn convert_ushort2(half2);
5536 ushort2 __ovld __cnfn convert_ushort2_rte(half2);
5537 ushort2 __ovld __cnfn convert_ushort2_rtp(half2);
5538 ushort2 __ovld __cnfn convert_ushort2_rtn(half2);
5539 ushort2 __ovld __cnfn convert_ushort2_rtz(half2);
5540 ushort2 __ovld __cnfn convert_ushort2_sat(half2);
5541 ushort2 __ovld __cnfn convert_ushort2_sat_rte(half2);
5542 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(half2);
5543 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(half2);
5544 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(half2);
5545 ushort3 __ovld __cnfn convert_ushort3(half3);
5546 ushort3 __ovld __cnfn convert_ushort3_rte(half3);
5547 ushort3 __ovld __cnfn convert_ushort3_rtp(half3);
5548 ushort3 __ovld __cnfn convert_ushort3_rtn(half3);
5549 ushort3 __ovld __cnfn convert_ushort3_rtz(half3);
5550 ushort3 __ovld __cnfn convert_ushort3_sat(half3);
5551 ushort3 __ovld __cnfn convert_ushort3_sat_rte(half3);
5552 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(half3);
5553 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(half3);
5554 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(half3);
5555 ushort4 __ovld __cnfn convert_ushort4(half4);
5556 ushort4 __ovld __cnfn convert_ushort4_rte(half4);
5557 ushort4 __ovld __cnfn convert_ushort4_rtp(half4);
5558 ushort4 __ovld __cnfn convert_ushort4_rtn(half4);
5559 ushort4 __ovld __cnfn convert_ushort4_rtz(half4);
5560 ushort4 __ovld __cnfn convert_ushort4_sat(half4);
5561 ushort4 __ovld __cnfn convert_ushort4_sat_rte(half4);
5562 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(half4);
5563 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(half4);
5564 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(half4);
5565 ushort8 __ovld __cnfn convert_ushort8(half8);
5566 ushort8 __ovld __cnfn convert_ushort8_rte(half8);
5567 ushort8 __ovld __cnfn convert_ushort8_rtp(half8);
5568 ushort8 __ovld __cnfn convert_ushort8_rtn(half8);
5569 ushort8 __ovld __cnfn convert_ushort8_rtz(half8);
5570 ushort8 __ovld __cnfn convert_ushort8_sat(half8);
5571 ushort8 __ovld __cnfn convert_ushort8_sat_rte(half8);
5572 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(half8);
5573 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(half8);
5574 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(half8);
5575 ushort16 __ovld __cnfn convert_ushort16(half16);
5576 ushort16 __ovld __cnfn convert_ushort16_rte(half16);
5577 ushort16 __ovld __cnfn convert_ushort16_rtp(half16);
5578 ushort16 __ovld __cnfn convert_ushort16_rtn(half16);
5579 ushort16 __ovld __cnfn convert_ushort16_rtz(half16);
5580 ushort16 __ovld __cnfn convert_ushort16_sat(half16);
5581 ushort16 __ovld __cnfn convert_ushort16_sat_rte(half16);
5582 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(half16);
5583 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(half16);
5584 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(half16);
5585 uint __ovld __cnfn convert_uint(half);
5586 uint __ovld __cnfn convert_uint_rte(half);
5587 uint __ovld __cnfn convert_uint_rtp(half);
5588 uint __ovld __cnfn convert_uint_rtn(half);
5589 uint __ovld __cnfn convert_uint_rtz(half);
5590 uint __ovld __cnfn convert_uint_sat(half);
5591 uint __ovld __cnfn convert_uint_sat_rte(half);
5592 uint __ovld __cnfn convert_uint_sat_rtp(half);
5593 uint __ovld __cnfn convert_uint_sat_rtn(half);
5594 uint __ovld __cnfn convert_uint_sat_rtz(half);
5595 uint2 __ovld __cnfn convert_uint2(half2);
5596 uint2 __ovld __cnfn convert_uint2_rte(half2);
5597 uint2 __ovld __cnfn convert_uint2_rtp(half2);
5598 uint2 __ovld __cnfn convert_uint2_rtn(half2);
5599 uint2 __ovld __cnfn convert_uint2_rtz(half2);
5600 uint2 __ovld __cnfn convert_uint2_sat(half2);
5601 uint2 __ovld __cnfn convert_uint2_sat_rte(half2);
5602 uint2 __ovld __cnfn convert_uint2_sat_rtp(half2);
5603 uint2 __ovld __cnfn convert_uint2_sat_rtn(half2);
5604 uint2 __ovld __cnfn convert_uint2_sat_rtz(half2);
5605 uint3 __ovld __cnfn convert_uint3(half3);
5606 uint3 __ovld __cnfn convert_uint3_rte(half3);
5607 uint3 __ovld __cnfn convert_uint3_rtp(half3);
5608 uint3 __ovld __cnfn convert_uint3_rtn(half3);
5609 uint3 __ovld __cnfn convert_uint3_rtz(half3);
5610 uint3 __ovld __cnfn convert_uint3_sat(half3);
5611 uint3 __ovld __cnfn convert_uint3_sat_rte(half3);
5612 uint3 __ovld __cnfn convert_uint3_sat_rtp(half3);
5613 uint3 __ovld __cnfn convert_uint3_sat_rtn(half3);
5614 uint3 __ovld __cnfn convert_uint3_sat_rtz(half3);
5615 uint4 __ovld __cnfn convert_uint4(half4);
5616 uint4 __ovld __cnfn convert_uint4_rte(half4);
5617 uint4 __ovld __cnfn convert_uint4_rtp(half4);
5618 uint4 __ovld __cnfn convert_uint4_rtn(half4);
5619 uint4 __ovld __cnfn convert_uint4_rtz(half4);
5620 uint4 __ovld __cnfn convert_uint4_sat(half4);
5621 uint4 __ovld __cnfn convert_uint4_sat_rte(half4);
5622 uint4 __ovld __cnfn convert_uint4_sat_rtp(half4);
5623 uint4 __ovld __cnfn convert_uint4_sat_rtn(half4);
5624 uint4 __ovld __cnfn convert_uint4_sat_rtz(half4);
5625 uint8 __ovld __cnfn convert_uint8(half8);
5626 uint8 __ovld __cnfn convert_uint8_rte(half8);
5627 uint8 __ovld __cnfn convert_uint8_rtp(half8);
5628 uint8 __ovld __cnfn convert_uint8_rtn(half8);
5629 uint8 __ovld __cnfn convert_uint8_rtz(half8);
5630 uint8 __ovld __cnfn convert_uint8_sat(half8);
5631 uint8 __ovld __cnfn convert_uint8_sat_rte(half8);
5632 uint8 __ovld __cnfn convert_uint8_sat_rtp(half8);
5633 uint8 __ovld __cnfn convert_uint8_sat_rtn(half8);
5634 uint8 __ovld __cnfn convert_uint8_sat_rtz(half8);
5635 uint16 __ovld __cnfn convert_uint16(half16);
5636 uint16 __ovld __cnfn convert_uint16_rte(half16);
5637 uint16 __ovld __cnfn convert_uint16_rtp(half16);
5638 uint16 __ovld __cnfn convert_uint16_rtn(half16);
5639 uint16 __ovld __cnfn convert_uint16_rtz(half16);
5640 uint16 __ovld __cnfn convert_uint16_sat(half16);
5641 uint16 __ovld __cnfn convert_uint16_sat_rte(half16);
5642 uint16 __ovld __cnfn convert_uint16_sat_rtp(half16);
5643 uint16 __ovld __cnfn convert_uint16_sat_rtn(half16);
5644 uint16 __ovld __cnfn convert_uint16_sat_rtz(half16);
5645 ulong __ovld __cnfn convert_ulong(half);
5646 ulong __ovld __cnfn convert_ulong_rte(half);
5647 ulong __ovld __cnfn convert_ulong_rtp(half);
5648 ulong __ovld __cnfn convert_ulong_rtn(half);
5649 ulong __ovld __cnfn convert_ulong_rtz(half);
5650 ulong __ovld __cnfn convert_ulong_sat(half);
5651 ulong __ovld __cnfn convert_ulong_sat_rte(half);
5652 ulong __ovld __cnfn convert_ulong_sat_rtp(half);
5653 ulong __ovld __cnfn convert_ulong_sat_rtn(half);
5654 ulong __ovld __cnfn convert_ulong_sat_rtz(half);
5655 ulong2 __ovld __cnfn convert_ulong2(half2);
5656 ulong2 __ovld __cnfn convert_ulong2_rte(half2);
5657 ulong2 __ovld __cnfn convert_ulong2_rtp(half2);
5658 ulong2 __ovld __cnfn convert_ulong2_rtn(half2);
5659 ulong2 __ovld __cnfn convert_ulong2_rtz(half2);
5660 ulong2 __ovld __cnfn convert_ulong2_sat(half2);
5661 ulong2 __ovld __cnfn convert_ulong2_sat_rte(half2);
5662 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(half2);
5663 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(half2);
5664 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(half2);
5665 ulong3 __ovld __cnfn convert_ulong3(half3);
5666 ulong3 __ovld __cnfn convert_ulong3_rte(half3);
5667 ulong3 __ovld __cnfn convert_ulong3_rtp(half3);
5668 ulong3 __ovld __cnfn convert_ulong3_rtn(half3);
5669 ulong3 __ovld __cnfn convert_ulong3_rtz(half3);
5670 ulong3 __ovld __cnfn convert_ulong3_sat(half3);
5671 ulong3 __ovld __cnfn convert_ulong3_sat_rte(half3);
5672 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(half3);
5673 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(half3);
5674 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(half3);
5675 ulong4 __ovld __cnfn convert_ulong4(half4);
5676 ulong4 __ovld __cnfn convert_ulong4_rte(half4);
5677 ulong4 __ovld __cnfn convert_ulong4_rtp(half4);
5678 ulong4 __ovld __cnfn convert_ulong4_rtn(half4);
5679 ulong4 __ovld __cnfn convert_ulong4_rtz(half4);
5680 ulong4 __ovld __cnfn convert_ulong4_sat(half4);
5681 ulong4 __ovld __cnfn convert_ulong4_sat_rte(half4);
5682 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(half4);
5683 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(half4);
5684 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(half4);
5685 ulong8 __ovld __cnfn convert_ulong8(half8);
5686 ulong8 __ovld __cnfn convert_ulong8_rte(half8);
5687 ulong8 __ovld __cnfn convert_ulong8_rtp(half8);
5688 ulong8 __ovld __cnfn convert_ulong8_rtn(half8);
5689 ulong8 __ovld __cnfn convert_ulong8_rtz(half8);
5690 ulong8 __ovld __cnfn convert_ulong8_sat(half8);
5691 ulong8 __ovld __cnfn convert_ulong8_sat_rte(half8);
5692 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(half8);
5693 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(half8);
5694 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(half8);
5695 ulong16 __ovld __cnfn convert_ulong16(half16);
5696 ulong16 __ovld __cnfn convert_ulong16_rte(half16);
5697 ulong16 __ovld __cnfn convert_ulong16_rtp(half16);
5698 ulong16 __ovld __cnfn convert_ulong16_rtn(half16);
5699 ulong16 __ovld __cnfn convert_ulong16_rtz(half16);
5700 ulong16 __ovld __cnfn convert_ulong16_sat(half16);
5701 ulong16 __ovld __cnfn convert_ulong16_sat_rte(half16);
5702 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(half16);
5703 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(half16);
5704 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(half16);
5705 char __ovld __cnfn convert_char(half);
5706 char __ovld __cnfn convert_char_rte(half);
5707 char __ovld __cnfn convert_char_rtp(half);
5708 char __ovld __cnfn convert_char_rtn(half);
5709 char __ovld __cnfn convert_char_rtz(half);
5710 char __ovld __cnfn convert_char_sat(half);
5711 char __ovld __cnfn convert_char_sat_rte(half);
5712 char __ovld __cnfn convert_char_sat_rtp(half);
5713 char __ovld __cnfn convert_char_sat_rtn(half);
5714 char __ovld __cnfn convert_char_sat_rtz(half);
5715 char2 __ovld __cnfn convert_char2(half2);
5716 char2 __ovld __cnfn convert_char2_rte(half2);
5717 char2 __ovld __cnfn convert_char2_rtp(half2);
5718 char2 __ovld __cnfn convert_char2_rtn(half2);
5719 char2 __ovld __cnfn convert_char2_rtz(half2);
5720 char2 __ovld __cnfn convert_char2_sat(half2);
5721 char2 __ovld __cnfn convert_char2_sat_rte(half2);
5722 char2 __ovld __cnfn convert_char2_sat_rtp(half2);
5723 char2 __ovld __cnfn convert_char2_sat_rtn(half2);
5724 char2 __ovld __cnfn convert_char2_sat_rtz(half2);
5725 char3 __ovld __cnfn convert_char3(half3);
5726 char3 __ovld __cnfn convert_char3_rte(half3);
5727 char3 __ovld __cnfn convert_char3_rtp(half3);
5728 char3 __ovld __cnfn convert_char3_rtn(half3);
5729 char3 __ovld __cnfn convert_char3_rtz(half3);
5730 char3 __ovld __cnfn convert_char3_sat(half3);
5731 char3 __ovld __cnfn convert_char3_sat_rte(half3);
5732 char3 __ovld __cnfn convert_char3_sat_rtp(half3);
5733 char3 __ovld __cnfn convert_char3_sat_rtn(half3);
5734 char3 __ovld __cnfn convert_char3_sat_rtz(half3);
5735 char4 __ovld __cnfn convert_char4(half4);
5736 char4 __ovld __cnfn convert_char4_rte(half4);
5737 char4 __ovld __cnfn convert_char4_rtp(half4);
5738 char4 __ovld __cnfn convert_char4_rtn(half4);
5739 char4 __ovld __cnfn convert_char4_rtz(half4);
5740 char4 __ovld __cnfn convert_char4_sat(half4);
5741 char4 __ovld __cnfn convert_char4_sat_rte(half4);
5742 char4 __ovld __cnfn convert_char4_sat_rtp(half4);
5743 char4 __ovld __cnfn convert_char4_sat_rtn(half4);
5744 char4 __ovld __cnfn convert_char4_sat_rtz(half4);
5745 char8 __ovld __cnfn convert_char8(half8);
5746 char8 __ovld __cnfn convert_char8_rte(half8);
5747 char8 __ovld __cnfn convert_char8_rtp(half8);
5748 char8 __ovld __cnfn convert_char8_rtn(half8);
5749 char8 __ovld __cnfn convert_char8_rtz(half8);
5750 char8 __ovld __cnfn convert_char8_sat(half8);
5751 char8 __ovld __cnfn convert_char8_sat_rte(half8);
5752 char8 __ovld __cnfn convert_char8_sat_rtp(half8);
5753 char8 __ovld __cnfn convert_char8_sat_rtn(half8);
5754 char8 __ovld __cnfn convert_char8_sat_rtz(half8);
5755 char16 __ovld __cnfn convert_char16(half16);
5756 char16 __ovld __cnfn convert_char16_rte(half16);
5757 char16 __ovld __cnfn convert_char16_rtp(half16);
5758 char16 __ovld __cnfn convert_char16_rtn(half16);
5759 char16 __ovld __cnfn convert_char16_rtz(half16);
5760 char16 __ovld __cnfn convert_char16_sat(half16);
5761 char16 __ovld __cnfn convert_char16_sat_rte(half16);
5762 char16 __ovld __cnfn convert_char16_sat_rtp(half16);
5763 char16 __ovld __cnfn convert_char16_sat_rtn(half16);
5764 char16 __ovld __cnfn convert_char16_sat_rtz(half16);
5765 short __ovld __cnfn convert_short(half);
5766 short __ovld __cnfn convert_short_rte(half);
5767 short __ovld __cnfn convert_short_rtp(half);
5768 short __ovld __cnfn convert_short_rtn(half);
5769 short __ovld __cnfn convert_short_rtz(half);
5770 short __ovld __cnfn convert_short_sat(half);
5771 short __ovld __cnfn convert_short_sat_rte(half);
5772 short __ovld __cnfn convert_short_sat_rtp(half);
5773 short __ovld __cnfn convert_short_sat_rtn(half);
5774 short __ovld __cnfn convert_short_sat_rtz(half);
5775 short2 __ovld __cnfn convert_short2(half2);
5776 short2 __ovld __cnfn convert_short2_rte(half2);
5777 short2 __ovld __cnfn convert_short2_rtp(half2);
5778 short2 __ovld __cnfn convert_short2_rtn(half2);
5779 short2 __ovld __cnfn convert_short2_rtz(half2);
5780 short2 __ovld __cnfn convert_short2_sat(half2);
5781 short2 __ovld __cnfn convert_short2_sat_rte(half2);
5782 short2 __ovld __cnfn convert_short2_sat_rtp(half2);
5783 short2 __ovld __cnfn convert_short2_sat_rtn(half2);
5784 short2 __ovld __cnfn convert_short2_sat_rtz(half2);
5785 short3 __ovld __cnfn convert_short3(half3);
5786 short3 __ovld __cnfn convert_short3_rte(half3);
5787 short3 __ovld __cnfn convert_short3_rtp(half3);
5788 short3 __ovld __cnfn convert_short3_rtn(half3);
5789 short3 __ovld __cnfn convert_short3_rtz(half3);
5790 short3 __ovld __cnfn convert_short3_sat(half3);
5791 short3 __ovld __cnfn convert_short3_sat_rte(half3);
5792 short3 __ovld __cnfn convert_short3_sat_rtp(half3);
5793 short3 __ovld __cnfn convert_short3_sat_rtn(half3);
5794 short3 __ovld __cnfn convert_short3_sat_rtz(half3);
5795 short4 __ovld __cnfn convert_short4(half4);
5796 short4 __ovld __cnfn convert_short4_rte(half4);
5797 short4 __ovld __cnfn convert_short4_rtp(half4);
5798 short4 __ovld __cnfn convert_short4_rtn(half4);
5799 short4 __ovld __cnfn convert_short4_rtz(half4);
5800 short4 __ovld __cnfn convert_short4_sat(half4);
5801 short4 __ovld __cnfn convert_short4_sat_rte(half4);
5802 short4 __ovld __cnfn convert_short4_sat_rtp(half4);
5803 short4 __ovld __cnfn convert_short4_sat_rtn(half4);
5804 short4 __ovld __cnfn convert_short4_sat_rtz(half4);
5805 short8 __ovld __cnfn convert_short8(half8);
5806 short8 __ovld __cnfn convert_short8_rte(half8);
5807 short8 __ovld __cnfn convert_short8_rtp(half8);
5808 short8 __ovld __cnfn convert_short8_rtn(half8);
5809 short8 __ovld __cnfn convert_short8_rtz(half8);
5810 short8 __ovld __cnfn convert_short8_sat(half8);
5811 short8 __ovld __cnfn convert_short8_sat_rte(half8);
5812 short8 __ovld __cnfn convert_short8_sat_rtp(half8);
5813 short8 __ovld __cnfn convert_short8_sat_rtn(half8);
5814 short8 __ovld __cnfn convert_short8_sat_rtz(half8);
5815 short16 __ovld __cnfn convert_short16(half16);
5816 short16 __ovld __cnfn convert_short16_rte(half16);
5817 short16 __ovld __cnfn convert_short16_rtp(half16);
5818 short16 __ovld __cnfn convert_short16_rtn(half16);
5819 short16 __ovld __cnfn convert_short16_rtz(half16);
5820 short16 __ovld __cnfn convert_short16_sat(half16);
5821 short16 __ovld __cnfn convert_short16_sat_rte(half16);
5822 short16 __ovld __cnfn convert_short16_sat_rtp(half16);
5823 short16 __ovld __cnfn convert_short16_sat_rtn(half16);
5824 short16 __ovld __cnfn convert_short16_sat_rtz(half16);
5825 int __ovld __cnfn convert_int(half);
5826 int __ovld __cnfn convert_int_rte(half);
5827 int __ovld __cnfn convert_int_rtp(half);
5828 int __ovld __cnfn convert_int_rtn(half);
5829 int __ovld __cnfn convert_int_rtz(half);
5830 int __ovld __cnfn convert_int_sat(half);
5831 int __ovld __cnfn convert_int_sat_rte(half);
5832 int __ovld __cnfn convert_int_sat_rtp(half);
5833 int __ovld __cnfn convert_int_sat_rtn(half);
5834 int __ovld __cnfn convert_int_sat_rtz(half);
5835 int2 __ovld __cnfn convert_int2(half2);
5836 int2 __ovld __cnfn convert_int2_rte(half2);
5837 int2 __ovld __cnfn convert_int2_rtp(half2);
5838 int2 __ovld __cnfn convert_int2_rtn(half2);
5839 int2 __ovld __cnfn convert_int2_rtz(half2);
5840 int2 __ovld __cnfn convert_int2_sat(half2);
5841 int2 __ovld __cnfn convert_int2_sat_rte(half2);
5842 int2 __ovld __cnfn convert_int2_sat_rtp(half2);
5843 int2 __ovld __cnfn convert_int2_sat_rtn(half2);
5844 int2 __ovld __cnfn convert_int2_sat_rtz(half2);
5845 int3 __ovld __cnfn convert_int3(half3);
5846 int3 __ovld __cnfn convert_int3_rte(half3);
5847 int3 __ovld __cnfn convert_int3_rtp(half3);
5848 int3 __ovld __cnfn convert_int3_rtn(half3);
5849 int3 __ovld __cnfn convert_int3_rtz(half3);
5850 int3 __ovld __cnfn convert_int3_sat(half3);
5851 int3 __ovld __cnfn convert_int3_sat_rte(half3);
5852 int3 __ovld __cnfn convert_int3_sat_rtp(half3);
5853 int3 __ovld __cnfn convert_int3_sat_rtn(half3);
5854 int3 __ovld __cnfn convert_int3_sat_rtz(half3);
5855 int4 __ovld __cnfn convert_int4(half4);
5856 int4 __ovld __cnfn convert_int4_rte(half4);
5857 int4 __ovld __cnfn convert_int4_rtp(half4);
5858 int4 __ovld __cnfn convert_int4_rtn(half4);
5859 int4 __ovld __cnfn convert_int4_rtz(half4);
5860 int4 __ovld __cnfn convert_int4_sat(half4);
5861 int4 __ovld __cnfn convert_int4_sat_rte(half4);
5862 int4 __ovld __cnfn convert_int4_sat_rtp(half4);
5863 int4 __ovld __cnfn convert_int4_sat_rtn(half4);
5864 int4 __ovld __cnfn convert_int4_sat_rtz(half4);
5865 int8 __ovld __cnfn convert_int8(half8);
5866 int8 __ovld __cnfn convert_int8_rte(half8);
5867 int8 __ovld __cnfn convert_int8_rtp(half8);
5868 int8 __ovld __cnfn convert_int8_rtn(half8);
5869 int8 __ovld __cnfn convert_int8_rtz(half8);
5870 int8 __ovld __cnfn convert_int8_sat(half8);
5871 int8 __ovld __cnfn convert_int8_sat_rte(half8);
5872 int8 __ovld __cnfn convert_int8_sat_rtp(half8);
5873 int8 __ovld __cnfn convert_int8_sat_rtn(half8);
5874 int8 __ovld __cnfn convert_int8_sat_rtz(half8);
5875 int16 __ovld __cnfn convert_int16(half16);
5876 int16 __ovld __cnfn convert_int16_rte(half16);
5877 int16 __ovld __cnfn convert_int16_rtp(half16);
5878 int16 __ovld __cnfn convert_int16_rtn(half16);
5879 int16 __ovld __cnfn convert_int16_rtz(half16);
5880 int16 __ovld __cnfn convert_int16_sat(half16);
5881 int16 __ovld __cnfn convert_int16_sat_rte(half16);
5882 int16 __ovld __cnfn convert_int16_sat_rtp(half16);
5883 int16 __ovld __cnfn convert_int16_sat_rtn(half16);
5884 int16 __ovld __cnfn convert_int16_sat_rtz(half16);
5885 long __ovld __cnfn convert_long(half);
5886 long __ovld __cnfn convert_long_rte(half);
5887 long __ovld __cnfn convert_long_rtp(half);
5888 long __ovld __cnfn convert_long_rtn(half);
5889 long __ovld __cnfn convert_long_rtz(half);
5890 long __ovld __cnfn convert_long_sat(half);
5891 long __ovld __cnfn convert_long_sat_rte(half);
5892 long __ovld __cnfn convert_long_sat_rtp(half);
5893 long __ovld __cnfn convert_long_sat_rtn(half);
5894 long __ovld __cnfn convert_long_sat_rtz(half);
5895 long2 __ovld __cnfn convert_long2(half2);
5896 long2 __ovld __cnfn convert_long2_rte(half2);
5897 long2 __ovld __cnfn convert_long2_rtp(half2);
5898 long2 __ovld __cnfn convert_long2_rtn(half2);
5899 long2 __ovld __cnfn convert_long2_rtz(half2);
5900 long2 __ovld __cnfn convert_long2_sat(half2);
5901 long2 __ovld __cnfn convert_long2_sat_rte(half2);
5902 long2 __ovld __cnfn convert_long2_sat_rtp(half2);
5903 long2 __ovld __cnfn convert_long2_sat_rtn(half2);
5904 long2 __ovld __cnfn convert_long2_sat_rtz(half2);
5905 long3 __ovld __cnfn convert_long3(half3);
5906 long3 __ovld __cnfn convert_long3_rte(half3);
5907 long3 __ovld __cnfn convert_long3_rtp(half3);
5908 long3 __ovld __cnfn convert_long3_rtn(half3);
5909 long3 __ovld __cnfn convert_long3_rtz(half3);
5910 long3 __ovld __cnfn convert_long3_sat(half3);
5911 long3 __ovld __cnfn convert_long3_sat_rte(half3);
5912 long3 __ovld __cnfn convert_long3_sat_rtp(half3);
5913 long3 __ovld __cnfn convert_long3_sat_rtn(half3);
5914 long3 __ovld __cnfn convert_long3_sat_rtz(half3);
5915 long4 __ovld __cnfn convert_long4(half4);
5916 long4 __ovld __cnfn convert_long4_rte(half4);
5917 long4 __ovld __cnfn convert_long4_rtp(half4);
5918 long4 __ovld __cnfn convert_long4_rtn(half4);
5919 long4 __ovld __cnfn convert_long4_rtz(half4);
5920 long4 __ovld __cnfn convert_long4_sat(half4);
5921 long4 __ovld __cnfn convert_long4_sat_rte(half4);
5922 long4 __ovld __cnfn convert_long4_sat_rtp(half4);
5923 long4 __ovld __cnfn convert_long4_sat_rtn(half4);
5924 long4 __ovld __cnfn convert_long4_sat_rtz(half4);
5925 long8 __ovld __cnfn convert_long8(half8);
5926 long8 __ovld __cnfn convert_long8_rte(half8);
5927 long8 __ovld __cnfn convert_long8_rtp(half8);
5928 long8 __ovld __cnfn convert_long8_rtn(half8);
5929 long8 __ovld __cnfn convert_long8_rtz(half8);
5930 long8 __ovld __cnfn convert_long8_sat(half8);
5931 long8 __ovld __cnfn convert_long8_sat_rte(half8);
5932 long8 __ovld __cnfn convert_long8_sat_rtp(half8);
5933 long8 __ovld __cnfn convert_long8_sat_rtn(half8);
5934 long8 __ovld __cnfn convert_long8_sat_rtz(half8);
5935 long16 __ovld __cnfn convert_long16(half16);
5936 long16 __ovld __cnfn convert_long16_rte(half16);
5937 long16 __ovld __cnfn convert_long16_rtp(half16);
5938 long16 __ovld __cnfn convert_long16_rtn(half16);
5939 long16 __ovld __cnfn convert_long16_rtz(half16);
5940 long16 __ovld __cnfn convert_long16_sat(half16);
5941 long16 __ovld __cnfn convert_long16_sat_rte(half16);
5942 long16 __ovld __cnfn convert_long16_sat_rtp(half16);
5943 long16 __ovld __cnfn convert_long16_sat_rtn(half16);
5944 long16 __ovld __cnfn convert_long16_sat_rtz(half16);
5945 float __ovld __cnfn convert_float(half);
5946 float __ovld __cnfn convert_float_rte(half);
5947 float __ovld __cnfn convert_float_rtp(half);
5948 float __ovld __cnfn convert_float_rtn(half);
5949 float __ovld __cnfn convert_float_rtz(half);
5950 float2 __ovld __cnfn convert_float2(half2);
5951 float2 __ovld __cnfn convert_float2_rte(half2);
5952 float2 __ovld __cnfn convert_float2_rtp(half2);
5953 float2 __ovld __cnfn convert_float2_rtn(half2);
5954 float2 __ovld __cnfn convert_float2_rtz(half2);
5955 float3 __ovld __cnfn convert_float3(half3);
5956 float3 __ovld __cnfn convert_float3_rte(half3);
5957 float3 __ovld __cnfn convert_float3_rtp(half3);
5958 float3 __ovld __cnfn convert_float3_rtn(half3);
5959 float3 __ovld __cnfn convert_float3_rtz(half3);
5960 float4 __ovld __cnfn convert_float4(half4);
5961 float4 __ovld __cnfn convert_float4_rte(half4);
5962 float4 __ovld __cnfn convert_float4_rtp(half4);
5963 float4 __ovld __cnfn convert_float4_rtn(half4);
5964 float4 __ovld __cnfn convert_float4_rtz(half4);
5965 float8 __ovld __cnfn convert_float8(half8);
5966 float8 __ovld __cnfn convert_float8_rte(half8);
5967 float8 __ovld __cnfn convert_float8_rtp(half8);
5968 float8 __ovld __cnfn convert_float8_rtn(half8);
5969 float8 __ovld __cnfn convert_float8_rtz(half8);
5970 float16 __ovld __cnfn convert_float16(half16);
5971 float16 __ovld __cnfn convert_float16_rte(half16);
5972 float16 __ovld __cnfn convert_float16_rtp(half16);
5973 float16 __ovld __cnfn convert_float16_rtn(half16);
5974 float16 __ovld __cnfn convert_float16_rtz(half16);
5976 // Convert non-double types to half types.
5977 half __ovld __cnfn convert_half(uchar);
5978 half __ovld __cnfn convert_half(ushort);
5979 half __ovld __cnfn convert_half(uint);
5980 half __ovld __cnfn convert_half(ulong);
5981 half __ovld __cnfn convert_half(char);
5982 half __ovld __cnfn convert_half(short);
5983 half __ovld __cnfn convert_half(int);
5984 half __ovld __cnfn convert_half(long);
5985 half __ovld __cnfn convert_half(float);
5986 half __ovld __cnfn convert_half(half);
5987 half __ovld __cnfn convert_half_rte(uchar);
5988 half __ovld __cnfn convert_half_rte(ushort);
5989 half __ovld __cnfn convert_half_rte(uint);
5990 half __ovld __cnfn convert_half_rte(ulong);
5991 half __ovld __cnfn convert_half_rte(char);
5992 half __ovld __cnfn convert_half_rte(short);
5993 half __ovld __cnfn convert_half_rte(int);
5994 half __ovld __cnfn convert_half_rte(long);
5995 half __ovld __cnfn convert_half_rte(float);
5996 half __ovld __cnfn convert_half_rte(half);
5997 half __ovld __cnfn convert_half_rtp(uchar);
5998 half __ovld __cnfn convert_half_rtp(ushort);
5999 half __ovld __cnfn convert_half_rtp(uint);
6000 half __ovld __cnfn convert_half_rtp(ulong);
6001 half __ovld __cnfn convert_half_rtp(char);
6002 half __ovld __cnfn convert_half_rtp(short);
6003 half __ovld __cnfn convert_half_rtp(int);
6004 half __ovld __cnfn convert_half_rtp(long);
6005 half __ovld __cnfn convert_half_rtp(float);
6006 half __ovld __cnfn convert_half_rtp(half);
6007 half __ovld __cnfn convert_half_rtn(uchar);
6008 half __ovld __cnfn convert_half_rtn(ushort);
6009 half __ovld __cnfn convert_half_rtn(uint);
6010 half __ovld __cnfn convert_half_rtn(ulong);
6011 half __ovld __cnfn convert_half_rtn(char);
6012 half __ovld __cnfn convert_half_rtn(short);
6013 half __ovld __cnfn convert_half_rtn(int);
6014 half __ovld __cnfn convert_half_rtn(long);
6015 half __ovld __cnfn convert_half_rtn(float);
6016 half __ovld __cnfn convert_half_rtn(half);
6017 half __ovld __cnfn convert_half_rtz(uchar);
6018 half __ovld __cnfn convert_half_rtz(ushort);
6019 half __ovld __cnfn convert_half_rtz(uint);
6020 half __ovld __cnfn convert_half_rtz(ulong);
6021 half __ovld __cnfn convert_half_rtz(char);
6022 half __ovld __cnfn convert_half_rtz(short);
6023 half __ovld __cnfn convert_half_rtz(int);
6024 half __ovld __cnfn convert_half_rtz(long);
6025 half __ovld __cnfn convert_half_rtz(float);
6026 half __ovld __cnfn convert_half_rtz(half);
6027 half2 __ovld __cnfn convert_half2(char2);
6028 half2 __ovld __cnfn convert_half2(uchar2);
6029 half2 __ovld __cnfn convert_half2(short2);
6030 half2 __ovld __cnfn convert_half2(ushort2);
6031 half2 __ovld __cnfn convert_half2(int2);
6032 half2 __ovld __cnfn convert_half2(uint2);
6033 half2 __ovld __cnfn convert_half2(long2);
6034 half2 __ovld __cnfn convert_half2(ulong2);
6035 half2 __ovld __cnfn convert_half2(float2);
6036 half2 __ovld __cnfn convert_half2(half2);
6037 half2 __ovld __cnfn convert_half2_rte(char2);
6038 half2 __ovld __cnfn convert_half2_rte(uchar2);
6039 half2 __ovld __cnfn convert_half2_rte(short2);
6040 half2 __ovld __cnfn convert_half2_rte(ushort2);
6041 half2 __ovld __cnfn convert_half2_rte(int2);
6042 half2 __ovld __cnfn convert_half2_rte(uint2);
6043 half2 __ovld __cnfn convert_half2_rte(long2);
6044 half2 __ovld __cnfn convert_half2_rte(ulong2);
6045 half2 __ovld __cnfn convert_half2_rte(float2);
6046 half2 __ovld __cnfn convert_half2_rte(half2);
6047 half2 __ovld __cnfn convert_half2_rtp(char2);
6048 half2 __ovld __cnfn convert_half2_rtp(uchar2);
6049 half2 __ovld __cnfn convert_half2_rtp(short2);
6050 half2 __ovld __cnfn convert_half2_rtp(ushort2);
6051 half2 __ovld __cnfn convert_half2_rtp(int2);
6052 half2 __ovld __cnfn convert_half2_rtp(uint2);
6053 half2 __ovld __cnfn convert_half2_rtp(long2);
6054 half2 __ovld __cnfn convert_half2_rtp(ulong2);
6055 half2 __ovld __cnfn convert_half2_rtp(float2);
6056 half2 __ovld __cnfn convert_half2_rtp(half2);
6057 half2 __ovld __cnfn convert_half2_rtn(char2);
6058 half2 __ovld __cnfn convert_half2_rtn(uchar2);
6059 half2 __ovld __cnfn convert_half2_rtn(short2);
6060 half2 __ovld __cnfn convert_half2_rtn(ushort2);
6061 half2 __ovld __cnfn convert_half2_rtn(int2);
6062 half2 __ovld __cnfn convert_half2_rtn(uint2);
6063 half2 __ovld __cnfn convert_half2_rtn(long2);
6064 half2 __ovld __cnfn convert_half2_rtn(ulong2);
6065 half2 __ovld __cnfn convert_half2_rtn(float2);
6066 half2 __ovld __cnfn convert_half2_rtn(half2);
6067 half2 __ovld __cnfn convert_half2_rtz(char2);
6068 half2 __ovld __cnfn convert_half2_rtz(uchar2);
6069 half2 __ovld __cnfn convert_half2_rtz(short2);
6070 half2 __ovld __cnfn convert_half2_rtz(ushort2);
6071 half2 __ovld __cnfn convert_half2_rtz(int2);
6072 half2 __ovld __cnfn convert_half2_rtz(uint2);
6073 half2 __ovld __cnfn convert_half2_rtz(long2);
6074 half2 __ovld __cnfn convert_half2_rtz(ulong2);
6075 half2 __ovld __cnfn convert_half2_rtz(float2);
6076 half2 __ovld __cnfn convert_half2_rtz(half2);
6077 half3 __ovld __cnfn convert_half3(char3);
6078 half3 __ovld __cnfn convert_half3(uchar3);
6079 half3 __ovld __cnfn convert_half3(short3);
6080 half3 __ovld __cnfn convert_half3(ushort3);
6081 half3 __ovld __cnfn convert_half3(int3);
6082 half3 __ovld __cnfn convert_half3(uint3);
6083 half3 __ovld __cnfn convert_half3(long3);
6084 half3 __ovld __cnfn convert_half3(ulong3);
6085 half3 __ovld __cnfn convert_half3(float3);
6086 half3 __ovld __cnfn convert_half3(half3);
6087 half3 __ovld __cnfn convert_half3_rte(char3);
6088 half3 __ovld __cnfn convert_half3_rte(uchar3);
6089 half3 __ovld __cnfn convert_half3_rte(short3);
6090 half3 __ovld __cnfn convert_half3_rte(ushort3);
6091 half3 __ovld __cnfn convert_half3_rte(int3);
6092 half3 __ovld __cnfn convert_half3_rte(uint3);
6093 half3 __ovld __cnfn convert_half3_rte(long3);
6094 half3 __ovld __cnfn convert_half3_rte(ulong3);
6095 half3 __ovld __cnfn convert_half3_rte(float3);
6096 half3 __ovld __cnfn convert_half3_rte(half3);
6097 half3 __ovld __cnfn convert_half3_rtp(char3);
6098 half3 __ovld __cnfn convert_half3_rtp(uchar3);
6099 half3 __ovld __cnfn convert_half3_rtp(short3);
6100 half3 __ovld __cnfn convert_half3_rtp(ushort3);
6101 half3 __ovld __cnfn convert_half3_rtp(int3);
6102 half3 __ovld __cnfn convert_half3_rtp(uint3);
6103 half3 __ovld __cnfn convert_half3_rtp(long3);
6104 half3 __ovld __cnfn convert_half3_rtp(ulong3);
6105 half3 __ovld __cnfn convert_half3_rtp(float3);
6106 half3 __ovld __cnfn convert_half3_rtp(half3);
6107 half3 __ovld __cnfn convert_half3_rtn(char3);
6108 half3 __ovld __cnfn convert_half3_rtn(uchar3);
6109 half3 __ovld __cnfn convert_half3_rtn(short3);
6110 half3 __ovld __cnfn convert_half3_rtn(ushort3);
6111 half3 __ovld __cnfn convert_half3_rtn(int3);
6112 half3 __ovld __cnfn convert_half3_rtn(uint3);
6113 half3 __ovld __cnfn convert_half3_rtn(long3);
6114 half3 __ovld __cnfn convert_half3_rtn(ulong3);
6115 half3 __ovld __cnfn convert_half3_rtn(float3);
6116 half3 __ovld __cnfn convert_half3_rtn(half3);
6117 half3 __ovld __cnfn convert_half3_rtz(char3);
6118 half3 __ovld __cnfn convert_half3_rtz(uchar3);
6119 half3 __ovld __cnfn convert_half3_rtz(short3);
6120 half3 __ovld __cnfn convert_half3_rtz(ushort3);
6121 half3 __ovld __cnfn convert_half3_rtz(int3);
6122 half3 __ovld __cnfn convert_half3_rtz(uint3);
6123 half3 __ovld __cnfn convert_half3_rtz(long3);
6124 half3 __ovld __cnfn convert_half3_rtz(ulong3);
6125 half3 __ovld __cnfn convert_half3_rtz(float3);
6126 half3 __ovld __cnfn convert_half3_rtz(half3);
6127 half4 __ovld __cnfn convert_half4(char4);
6128 half4 __ovld __cnfn convert_half4(uchar4);
6129 half4 __ovld __cnfn convert_half4(short4);
6130 half4 __ovld __cnfn convert_half4(ushort4);
6131 half4 __ovld __cnfn convert_half4(int4);
6132 half4 __ovld __cnfn convert_half4(uint4);
6133 half4 __ovld __cnfn convert_half4(long4);
6134 half4 __ovld __cnfn convert_half4(ulong4);
6135 half4 __ovld __cnfn convert_half4(float4);
6136 half4 __ovld __cnfn convert_half4(half4);
6137 half4 __ovld __cnfn convert_half4_rte(char4);
6138 half4 __ovld __cnfn convert_half4_rte(uchar4);
6139 half4 __ovld __cnfn convert_half4_rte(short4);
6140 half4 __ovld __cnfn convert_half4_rte(ushort4);
6141 half4 __ovld __cnfn convert_half4_rte(int4);
6142 half4 __ovld __cnfn convert_half4_rte(uint4);
6143 half4 __ovld __cnfn convert_half4_rte(long4);
6144 half4 __ovld __cnfn convert_half4_rte(ulong4);
6145 half4 __ovld __cnfn convert_half4_rte(float4);
6146 half4 __ovld __cnfn convert_half4_rte(half4);
6147 half4 __ovld __cnfn convert_half4_rtp(char4);
6148 half4 __ovld __cnfn convert_half4_rtp(uchar4);
6149 half4 __ovld __cnfn convert_half4_rtp(short4);
6150 half4 __ovld __cnfn convert_half4_rtp(ushort4);
6151 half4 __ovld __cnfn convert_half4_rtp(int4);
6152 half4 __ovld __cnfn convert_half4_rtp(uint4);
6153 half4 __ovld __cnfn convert_half4_rtp(long4);
6154 half4 __ovld __cnfn convert_half4_rtp(ulong4);
6155 half4 __ovld __cnfn convert_half4_rtp(float4);
6156 half4 __ovld __cnfn convert_half4_rtp(half4);
6157 half4 __ovld __cnfn convert_half4_rtn(char4);
6158 half4 __ovld __cnfn convert_half4_rtn(uchar4);
6159 half4 __ovld __cnfn convert_half4_rtn(short4);
6160 half4 __ovld __cnfn convert_half4_rtn(ushort4);
6161 half4 __ovld __cnfn convert_half4_rtn(int4);
6162 half4 __ovld __cnfn convert_half4_rtn(uint4);
6163 half4 __ovld __cnfn convert_half4_rtn(long4);
6164 half4 __ovld __cnfn convert_half4_rtn(ulong4);
6165 half4 __ovld __cnfn convert_half4_rtn(float4);
6166 half4 __ovld __cnfn convert_half4_rtn(half4);
6167 half4 __ovld __cnfn convert_half4_rtz(char4);
6168 half4 __ovld __cnfn convert_half4_rtz(uchar4);
6169 half4 __ovld __cnfn convert_half4_rtz(short4);
6170 half4 __ovld __cnfn convert_half4_rtz(ushort4);
6171 half4 __ovld __cnfn convert_half4_rtz(int4);
6172 half4 __ovld __cnfn convert_half4_rtz(uint4);
6173 half4 __ovld __cnfn convert_half4_rtz(long4);
6174 half4 __ovld __cnfn convert_half4_rtz(ulong4);
6175 half4 __ovld __cnfn convert_half4_rtz(float4);
6176 half4 __ovld __cnfn convert_half4_rtz(half4);
6177 half8 __ovld __cnfn convert_half8(char8);
6178 half8 __ovld __cnfn convert_half8(uchar8);
6179 half8 __ovld __cnfn convert_half8(short8);
6180 half8 __ovld __cnfn convert_half8(ushort8);
6181 half8 __ovld __cnfn convert_half8(int8);
6182 half8 __ovld __cnfn convert_half8(uint8);
6183 half8 __ovld __cnfn convert_half8(long8);
6184 half8 __ovld __cnfn convert_half8(ulong8);
6185 half8 __ovld __cnfn convert_half8(float8);
6186 half8 __ovld __cnfn convert_half8(half8);
6187 half8 __ovld __cnfn convert_half8_rte(char8);
6188 half8 __ovld __cnfn convert_half8_rte(uchar8);
6189 half8 __ovld __cnfn convert_half8_rte(short8);
6190 half8 __ovld __cnfn convert_half8_rte(ushort8);
6191 half8 __ovld __cnfn convert_half8_rte(int8);
6192 half8 __ovld __cnfn convert_half8_rte(uint8);
6193 half8 __ovld __cnfn convert_half8_rte(long8);
6194 half8 __ovld __cnfn convert_half8_rte(ulong8);
6195 half8 __ovld __cnfn convert_half8_rte(float8);
6196 half8 __ovld __cnfn convert_half8_rte(half8);
6197 half8 __ovld __cnfn convert_half8_rtp(char8);
6198 half8 __ovld __cnfn convert_half8_rtp(uchar8);
6199 half8 __ovld __cnfn convert_half8_rtp(short8);
6200 half8 __ovld __cnfn convert_half8_rtp(ushort8);
6201 half8 __ovld __cnfn convert_half8_rtp(int8);
6202 half8 __ovld __cnfn convert_half8_rtp(uint8);
6203 half8 __ovld __cnfn convert_half8_rtp(long8);
6204 half8 __ovld __cnfn convert_half8_rtp(ulong8);
6205 half8 __ovld __cnfn convert_half8_rtp(float8);
6206 half8 __ovld __cnfn convert_half8_rtp(half8);
6207 half8 __ovld __cnfn convert_half8_rtn(char8);
6208 half8 __ovld __cnfn convert_half8_rtn(uchar8);
6209 half8 __ovld __cnfn convert_half8_rtn(short8);
6210 half8 __ovld __cnfn convert_half8_rtn(ushort8);
6211 half8 __ovld __cnfn convert_half8_rtn(int8);
6212 half8 __ovld __cnfn convert_half8_rtn(uint8);
6213 half8 __ovld __cnfn convert_half8_rtn(long8);
6214 half8 __ovld __cnfn convert_half8_rtn(ulong8);
6215 half8 __ovld __cnfn convert_half8_rtn(float8);
6216 half8 __ovld __cnfn convert_half8_rtn(half8);
6217 half8 __ovld __cnfn convert_half8_rtz(char8);
6218 half8 __ovld __cnfn convert_half8_rtz(uchar8);
6219 half8 __ovld __cnfn convert_half8_rtz(short8);
6220 half8 __ovld __cnfn convert_half8_rtz(ushort8);
6221 half8 __ovld __cnfn convert_half8_rtz(int8);
6222 half8 __ovld __cnfn convert_half8_rtz(uint8);
6223 half8 __ovld __cnfn convert_half8_rtz(long8);
6224 half8 __ovld __cnfn convert_half8_rtz(ulong8);
6225 half8 __ovld __cnfn convert_half8_rtz(float8);
6226 half8 __ovld __cnfn convert_half8_rtz(half8);
6227 half16 __ovld __cnfn convert_half16(char16);
6228 half16 __ovld __cnfn convert_half16(uchar16);
6229 half16 __ovld __cnfn convert_half16(short16);
6230 half16 __ovld __cnfn convert_half16(ushort16);
6231 half16 __ovld __cnfn convert_half16(int16);
6232 half16 __ovld __cnfn convert_half16(uint16);
6233 half16 __ovld __cnfn convert_half16(long16);
6234 half16 __ovld __cnfn convert_half16(ulong16);
6235 half16 __ovld __cnfn convert_half16(float16);
6236 half16 __ovld __cnfn convert_half16(half16);
6237 half16 __ovld __cnfn convert_half16_rte(char16);
6238 half16 __ovld __cnfn convert_half16_rte(uchar16);
6239 half16 __ovld __cnfn convert_half16_rte(short16);
6240 half16 __ovld __cnfn convert_half16_rte(ushort16);
6241 half16 __ovld __cnfn convert_half16_rte(int16);
6242 half16 __ovld __cnfn convert_half16_rte(uint16);
6243 half16 __ovld __cnfn convert_half16_rte(long16);
6244 half16 __ovld __cnfn convert_half16_rte(ulong16);
6245 half16 __ovld __cnfn convert_half16_rte(float16);
6246 half16 __ovld __cnfn convert_half16_rte(half16);
6247 half16 __ovld __cnfn convert_half16_rtp(char16);
6248 half16 __ovld __cnfn convert_half16_rtp(uchar16);
6249 half16 __ovld __cnfn convert_half16_rtp(short16);
6250 half16 __ovld __cnfn convert_half16_rtp(ushort16);
6251 half16 __ovld __cnfn convert_half16_rtp(int16);
6252 half16 __ovld __cnfn convert_half16_rtp(uint16);
6253 half16 __ovld __cnfn convert_half16_rtp(long16);
6254 half16 __ovld __cnfn convert_half16_rtp(ulong16);
6255 half16 __ovld __cnfn convert_half16_rtp(float16);
6256 half16 __ovld __cnfn convert_half16_rtp(half16);
6257 half16 __ovld __cnfn convert_half16_rtn(char16);
6258 half16 __ovld __cnfn convert_half16_rtn(uchar16);
6259 half16 __ovld __cnfn convert_half16_rtn(short16);
6260 half16 __ovld __cnfn convert_half16_rtn(ushort16);
6261 half16 __ovld __cnfn convert_half16_rtn(int16);
6262 half16 __ovld __cnfn convert_half16_rtn(uint16);
6263 half16 __ovld __cnfn convert_half16_rtn(long16);
6264 half16 __ovld __cnfn convert_half16_rtn(ulong16);
6265 half16 __ovld __cnfn convert_half16_rtn(float16);
6266 half16 __ovld __cnfn convert_half16_rtn(half16);
6267 half16 __ovld __cnfn convert_half16_rtz(char16);
6268 half16 __ovld __cnfn convert_half16_rtz(uchar16);
6269 half16 __ovld __cnfn convert_half16_rtz(short16);
6270 half16 __ovld __cnfn convert_half16_rtz(ushort16);
6271 half16 __ovld __cnfn convert_half16_rtz(int16);
6272 half16 __ovld __cnfn convert_half16_rtz(uint16);
6273 half16 __ovld __cnfn convert_half16_rtz(long16);
6274 half16 __ovld __cnfn convert_half16_rtz(ulong16);
6275 half16 __ovld __cnfn convert_half16_rtz(float16);
6276 half16 __ovld __cnfn convert_half16_rtz(half16);
6278 // Convert half types to double types.
6279 #ifdef cl_khr_fp64
6280 double __ovld __cnfn convert_double(half);
6281 double __ovld __cnfn convert_double_rte(half);
6282 double __ovld __cnfn convert_double_rtp(half);
6283 double __ovld __cnfn convert_double_rtn(half);
6284 double __ovld __cnfn convert_double_rtz(half);
6285 double2 __ovld __cnfn convert_double2(half2);
6286 double2 __ovld __cnfn convert_double2_rte(half2);
6287 double2 __ovld __cnfn convert_double2_rtp(half2);
6288 double2 __ovld __cnfn convert_double2_rtn(half2);
6289 double2 __ovld __cnfn convert_double2_rtz(half2);
6290 double3 __ovld __cnfn convert_double3(half3);
6291 double3 __ovld __cnfn convert_double3_rte(half3);
6292 double3 __ovld __cnfn convert_double3_rtp(half3);
6293 double3 __ovld __cnfn convert_double3_rtn(half3);
6294 double3 __ovld __cnfn convert_double3_rtz(half3);
6295 double4 __ovld __cnfn convert_double4(half4);
6296 double4 __ovld __cnfn convert_double4_rte(half4);
6297 double4 __ovld __cnfn convert_double4_rtp(half4);
6298 double4 __ovld __cnfn convert_double4_rtn(half4);
6299 double4 __ovld __cnfn convert_double4_rtz(half4);
6300 double8 __ovld __cnfn convert_double8(half8);
6301 double8 __ovld __cnfn convert_double8_rte(half8);
6302 double8 __ovld __cnfn convert_double8_rtp(half8);
6303 double8 __ovld __cnfn convert_double8_rtn(half8);
6304 double8 __ovld __cnfn convert_double8_rtz(half8);
6305 double16 __ovld __cnfn convert_double16(half16);
6306 double16 __ovld __cnfn convert_double16_rte(half16);
6307 double16 __ovld __cnfn convert_double16_rtp(half16);
6308 double16 __ovld __cnfn convert_double16_rtn(half16);
6309 double16 __ovld __cnfn convert_double16_rtz(half16);
6311 // Convert double types to half types.
6312 half __ovld __cnfn convert_half(double);
6313 half __ovld __cnfn convert_half_rte(double);
6314 half __ovld __cnfn convert_half_rtp(double);
6315 half __ovld __cnfn convert_half_rtn(double);
6316 half __ovld __cnfn convert_half_rtz(double);
6317 half2 __ovld __cnfn convert_half2(double2);
6318 half2 __ovld __cnfn convert_half2_rte(double2);
6319 half2 __ovld __cnfn convert_half2_rtp(double2);
6320 half2 __ovld __cnfn convert_half2_rtn(double2);
6321 half2 __ovld __cnfn convert_half2_rtz(double2);
6322 half3 __ovld __cnfn convert_half3(double3);
6323 half3 __ovld __cnfn convert_half3_rte(double3);
6324 half3 __ovld __cnfn convert_half3_rtp(double3);
6325 half3 __ovld __cnfn convert_half3_rtn(double3);
6326 half3 __ovld __cnfn convert_half3_rtz(double3);
6327 half4 __ovld __cnfn convert_half4(double4);
6328 half4 __ovld __cnfn convert_half4_rte(double4);
6329 half4 __ovld __cnfn convert_half4_rtp(double4);
6330 half4 __ovld __cnfn convert_half4_rtn(double4);
6331 half4 __ovld __cnfn convert_half4_rtz(double4);
6332 half8 __ovld __cnfn convert_half8(double8);
6333 half8 __ovld __cnfn convert_half8_rte(double8);
6334 half8 __ovld __cnfn convert_half8_rtp(double8);
6335 half8 __ovld __cnfn convert_half8_rtn(double8);
6336 half8 __ovld __cnfn convert_half8_rtz(double8);
6337 half16 __ovld __cnfn convert_half16(double16);
6338 half16 __ovld __cnfn convert_half16_rte(double16);
6339 half16 __ovld __cnfn convert_half16_rtp(double16);
6340 half16 __ovld __cnfn convert_half16_rtn(double16);
6341 half16 __ovld __cnfn convert_half16_rtz(double16);
6342 #endif //cl_khr_fp64
6344 #endif // cl_khr_fp16
6346 // OpenCL v1.1 s6.11.1, v1.2 s6.12.1, v2.0 s6.13.1 - Work-item Functions
6349 * Returns the number of dimensions in use. This is the
6350 * value given to the work_dim argument specified in
6351 * clEnqueueNDRangeKernel.
6352 * For clEnqueueTask, this returns 1.
6354 uint __ovld __cnfn get_work_dim(void);
6357 * Returns the number of global work-items specified for
6358 * dimension identified by dimindx. This value is given by
6359 * the global_work_size argument to
6360 * clEnqueueNDRangeKernel. Valid values of dimindx
6361 * are 0 to get_work_dim() - 1. For other values of
6362 * dimindx, get_global_size() returns 1.
6363 * For clEnqueueTask, this always returns 1.
6365 size_t __ovld __cnfn get_global_size(uint);
6368 * Returns the unique global work-item ID value for
6369 * dimension identified by dimindx. The global work-item
6370 * ID specifies the work-item ID based on the number of
6371 * global work-items specified to execute the kernel. Valid
6372 * values of dimindx are 0 to get_work_dim() - 1. For
6373 * other values of dimindx, get_global_id() returns 0.
6374 * For clEnqueueTask, this returns 0.
6376 size_t __ovld __cnfn get_global_id(uint);
6379 * Returns the number of local work-items specified in
6380 * dimension identified by dimindx. This value is given by
6381 * the local_work_size argument to
6382 * clEnqueueNDRangeKernel if local_work_size is not
6383 * NULL; otherwise the OpenCL implementation chooses
6384 * an appropriate local_work_size value which is returned
6385 * by this function. Valid values of dimindx are 0 to
6386 * get_work_dim() - 1. For other values of dimindx,
6387 * get_local_size() returns 1.
6388 * For clEnqueueTask, this always returns 1.
6390 size_t __ovld __cnfn get_local_size(uint);
6393 * Returns the unique local work-item ID i.e. a work-item
6394 * within a specific work-group for dimension identified by
6395 * dimindx. Valid values of dimindx are 0 to
6396 * get_work_dim() - 1. For other values of dimindx,
6397 * get_local_id() returns 0.
6398 * For clEnqueueTask, this returns 0.
6400 size_t __ovld __cnfn get_local_id(uint);
6403 * Returns the number of work-groups that will execute a
6404 * kernel for dimension identified by dimindx.
6405 * Valid values of dimindx are 0 to get_work_dim() - 1.
6406 * For other values of dimindx, get_num_groups() returns 1.
6407 * For clEnqueueTask, this always returns 1.
6409 size_t __ovld __cnfn get_num_groups(uint);
6412 * get_group_id returns the work-group ID which is a
6413 * number from 0 .. get_num_groups(dimindx) - 1.
6414 * Valid values of dimindx are 0 to get_work_dim() - 1.
6415 * For other values, get_group_id() returns 0.
6416 * For clEnqueueTask, this returns 0.
6418 size_t __ovld __cnfn get_group_id(uint);
6421 * get_global_offset returns the offset values specified in
6422 * global_work_offset argument to
6423 * clEnqueueNDRangeKernel.
6424 * Valid values of dimindx are 0 to get_work_dim() - 1.
6425 * For other values, get_global_offset() returns 0.
6426 * For clEnqueueTask, this returns 0.
6428 size_t __ovld __cnfn get_global_offset(uint);
6430 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
6431 size_t __ovld get_enqueued_local_size(uint);
6432 size_t __ovld get_global_linear_id(void);
6433 size_t __ovld get_local_linear_id(void);
6434 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
6436 // OpenCL v1.1 s6.11.2, v1.2 s6.12.2, v2.0 s6.13.2 - Math functions
6439 * Arc cosine function.
6441 float __ovld __cnfn acos(float);
6442 float2 __ovld __cnfn acos(float2);
6443 float3 __ovld __cnfn acos(float3);
6444 float4 __ovld __cnfn acos(float4);
6445 float8 __ovld __cnfn acos(float8);
6446 float16 __ovld __cnfn acos(float16);
6447 #ifdef cl_khr_fp64
6448 double __ovld __cnfn acos(double);
6449 double2 __ovld __cnfn acos(double2);
6450 double3 __ovld __cnfn acos(double3);
6451 double4 __ovld __cnfn acos(double4);
6452 double8 __ovld __cnfn acos(double8);
6453 double16 __ovld __cnfn acos(double16);
6454 #endif //cl_khr_fp64
6455 #ifdef cl_khr_fp16
6456 half __ovld __cnfn acos(half);
6457 half2 __ovld __cnfn acos(half2);
6458 half3 __ovld __cnfn acos(half3);
6459 half4 __ovld __cnfn acos(half4);
6460 half8 __ovld __cnfn acos(half8);
6461 half16 __ovld __cnfn acos(half16);
6462 #endif //cl_khr_fp16
6465 * Inverse hyperbolic cosine.
6467 float __ovld __cnfn acosh(float);
6468 float2 __ovld __cnfn acosh(float2);
6469 float3 __ovld __cnfn acosh(float3);
6470 float4 __ovld __cnfn acosh(float4);
6471 float8 __ovld __cnfn acosh(float8);
6472 float16 __ovld __cnfn acosh(float16);
6473 #ifdef cl_khr_fp64
6474 double __ovld __cnfn acosh(double);
6475 double2 __ovld __cnfn acosh(double2);
6476 double3 __ovld __cnfn acosh(double3);
6477 double4 __ovld __cnfn acosh(double4);
6478 double8 __ovld __cnfn acosh(double8);
6479 double16 __ovld __cnfn acosh(double16);
6480 #endif //cl_khr_fp64
6481 #ifdef cl_khr_fp16
6482 half __ovld __cnfn acosh(half);
6483 half2 __ovld __cnfn acosh(half2);
6484 half3 __ovld __cnfn acosh(half3);
6485 half4 __ovld __cnfn acosh(half4);
6486 half8 __ovld __cnfn acosh(half8);
6487 half16 __ovld __cnfn acosh(half16);
6488 #endif //cl_khr_fp16
6491 * Compute acos (x) / PI.
6493 float __ovld __cnfn acospi(float);
6494 float2 __ovld __cnfn acospi(float2);
6495 float3 __ovld __cnfn acospi(float3);
6496 float4 __ovld __cnfn acospi(float4);
6497 float8 __ovld __cnfn acospi(float8);
6498 float16 __ovld __cnfn acospi(float16);
6499 #ifdef cl_khr_fp64
6500 double __ovld __cnfn acospi(double);
6501 double2 __ovld __cnfn acospi(double2);
6502 double3 __ovld __cnfn acospi(double3);
6503 double4 __ovld __cnfn acospi(double4);
6504 double8 __ovld __cnfn acospi(double8);
6505 double16 __ovld __cnfn acospi(double16);
6506 #endif //cl_khr_fp64
6507 #ifdef cl_khr_fp16
6508 half __ovld __cnfn acospi(half);
6509 half2 __ovld __cnfn acospi(half2);
6510 half3 __ovld __cnfn acospi(half3);
6511 half4 __ovld __cnfn acospi(half4);
6512 half8 __ovld __cnfn acospi(half8);
6513 half16 __ovld __cnfn acospi(half16);
6514 #endif //cl_khr_fp16
6517 * Arc sine function.
6519 float __ovld __cnfn asin(float);
6520 float2 __ovld __cnfn asin(float2);
6521 float3 __ovld __cnfn asin(float3);
6522 float4 __ovld __cnfn asin(float4);
6523 float8 __ovld __cnfn asin(float8);
6524 float16 __ovld __cnfn asin(float16);
6525 #ifdef cl_khr_fp64
6526 double __ovld __cnfn asin(double);
6527 double2 __ovld __cnfn asin(double2);
6528 double3 __ovld __cnfn asin(double3);
6529 double4 __ovld __cnfn asin(double4);
6530 double8 __ovld __cnfn asin(double8);
6531 double16 __ovld __cnfn asin(double16);
6532 #endif //cl_khr_fp64
6533 #ifdef cl_khr_fp16
6534 half __ovld __cnfn asin(half);
6535 half2 __ovld __cnfn asin(half2);
6536 half3 __ovld __cnfn asin(half3);
6537 half4 __ovld __cnfn asin(half4);
6538 half8 __ovld __cnfn asin(half8);
6539 half16 __ovld __cnfn asin(half16);
6540 #endif //cl_khr_fp16
6543 * Inverse hyperbolic sine.
6545 float __ovld __cnfn asinh(float);
6546 float2 __ovld __cnfn asinh(float2);
6547 float3 __ovld __cnfn asinh(float3);
6548 float4 __ovld __cnfn asinh(float4);
6549 float8 __ovld __cnfn asinh(float8);
6550 float16 __ovld __cnfn asinh(float16);
6551 #ifdef cl_khr_fp64
6552 double __ovld __cnfn asinh(double);
6553 double2 __ovld __cnfn asinh(double2);
6554 double3 __ovld __cnfn asinh(double3);
6555 double4 __ovld __cnfn asinh(double4);
6556 double8 __ovld __cnfn asinh(double8);
6557 double16 __ovld __cnfn asinh(double16);
6558 #endif //cl_khr_fp64
6559 #ifdef cl_khr_fp16
6560 half __ovld __cnfn asinh(half);
6561 half2 __ovld __cnfn asinh(half2);
6562 half3 __ovld __cnfn asinh(half3);
6563 half4 __ovld __cnfn asinh(half4);
6564 half8 __ovld __cnfn asinh(half8);
6565 half16 __ovld __cnfn asinh(half16);
6566 #endif //cl_khr_fp16
6569 * Compute asin (x) / PI.
6571 float __ovld __cnfn asinpi(float);
6572 float2 __ovld __cnfn asinpi(float2);
6573 float3 __ovld __cnfn asinpi(float3);
6574 float4 __ovld __cnfn asinpi(float4);
6575 float8 __ovld __cnfn asinpi(float8);
6576 float16 __ovld __cnfn asinpi(float16);
6577 #ifdef cl_khr_fp64
6578 double __ovld __cnfn asinpi(double);
6579 double2 __ovld __cnfn asinpi(double2);
6580 double3 __ovld __cnfn asinpi(double3);
6581 double4 __ovld __cnfn asinpi(double4);
6582 double8 __ovld __cnfn asinpi(double8);
6583 double16 __ovld __cnfn asinpi(double16);
6584 #endif //cl_khr_fp64
6585 #ifdef cl_khr_fp16
6586 half __ovld __cnfn asinpi(half);
6587 half2 __ovld __cnfn asinpi(half2);
6588 half3 __ovld __cnfn asinpi(half3);
6589 half4 __ovld __cnfn asinpi(half4);
6590 half8 __ovld __cnfn asinpi(half8);
6591 half16 __ovld __cnfn asinpi(half16);
6592 #endif //cl_khr_fp16
6595 * Arc tangent function.
6597 float __ovld __cnfn atan(float);
6598 float2 __ovld __cnfn atan(float2);
6599 float3 __ovld __cnfn atan(float3);
6600 float4 __ovld __cnfn atan(float4);
6601 float8 __ovld __cnfn atan(float8);
6602 float16 __ovld __cnfn atan(float16);
6603 #ifdef cl_khr_fp64
6604 double __ovld __cnfn atan(double);
6605 double2 __ovld __cnfn atan(double2);
6606 double3 __ovld __cnfn atan(double3);
6607 double4 __ovld __cnfn atan(double4);
6608 double8 __ovld __cnfn atan(double8);
6609 double16 __ovld __cnfn atan(double16);
6610 #endif //cl_khr_fp64
6611 #ifdef cl_khr_fp16
6612 half __ovld __cnfn atan(half);
6613 half2 __ovld __cnfn atan(half2);
6614 half3 __ovld __cnfn atan(half3);
6615 half4 __ovld __cnfn atan(half4);
6616 half8 __ovld __cnfn atan(half8);
6617 half16 __ovld __cnfn atan(half16);
6618 #endif //cl_khr_fp16
6621 * Arc tangent of y / x.
6623 float __ovld __cnfn atan2(float, float);
6624 float2 __ovld __cnfn atan2(float2, float2);
6625 float3 __ovld __cnfn atan2(float3, float3);
6626 float4 __ovld __cnfn atan2(float4, float4);
6627 float8 __ovld __cnfn atan2(float8, float8);
6628 float16 __ovld __cnfn atan2(float16, float16);
6629 #ifdef cl_khr_fp64
6630 double __ovld __cnfn atan2(double, double);
6631 double2 __ovld __cnfn atan2(double2, double2);
6632 double3 __ovld __cnfn atan2(double3, double3);
6633 double4 __ovld __cnfn atan2(double4, double4);
6634 double8 __ovld __cnfn atan2(double8, double8);
6635 double16 __ovld __cnfn atan2(double16, double16);
6636 #endif //cl_khr_fp64
6637 #ifdef cl_khr_fp16
6638 half __ovld __cnfn atan2(half, half);
6639 half2 __ovld __cnfn atan2(half2, half2);
6640 half3 __ovld __cnfn atan2(half3, half3);
6641 half4 __ovld __cnfn atan2(half4, half4);
6642 half8 __ovld __cnfn atan2(half8, half8);
6643 half16 __ovld __cnfn atan2(half16, half16);
6644 #endif //cl_khr_fp16
6647 * Hyperbolic arc tangent.
6649 float __ovld __cnfn atanh(float);
6650 float2 __ovld __cnfn atanh(float2);
6651 float3 __ovld __cnfn atanh(float3);
6652 float4 __ovld __cnfn atanh(float4);
6653 float8 __ovld __cnfn atanh(float8);
6654 float16 __ovld __cnfn atanh(float16);
6655 #ifdef cl_khr_fp64
6656 double __ovld __cnfn atanh(double);
6657 double2 __ovld __cnfn atanh(double2);
6658 double3 __ovld __cnfn atanh(double3);
6659 double4 __ovld __cnfn atanh(double4);
6660 double8 __ovld __cnfn atanh(double8);
6661 double16 __ovld __cnfn atanh(double16);
6662 #endif //cl_khr_fp64
6663 #ifdef cl_khr_fp16
6664 half __ovld __cnfn atanh(half);
6665 half2 __ovld __cnfn atanh(half2);
6666 half3 __ovld __cnfn atanh(half3);
6667 half4 __ovld __cnfn atanh(half4);
6668 half8 __ovld __cnfn atanh(half8);
6669 half16 __ovld __cnfn atanh(half16);
6670 #endif //cl_khr_fp16
6673 * Compute atan (x) / PI.
6675 float __ovld __cnfn atanpi(float);
6676 float2 __ovld __cnfn atanpi(float2);
6677 float3 __ovld __cnfn atanpi(float3);
6678 float4 __ovld __cnfn atanpi(float4);
6679 float8 __ovld __cnfn atanpi(float8);
6680 float16 __ovld __cnfn atanpi(float16);
6681 #ifdef cl_khr_fp64
6682 double __ovld __cnfn atanpi(double);
6683 double2 __ovld __cnfn atanpi(double2);
6684 double3 __ovld __cnfn atanpi(double3);
6685 double4 __ovld __cnfn atanpi(double4);
6686 double8 __ovld __cnfn atanpi(double8);
6687 double16 __ovld __cnfn atanpi(double16);
6688 #endif //cl_khr_fp64
6689 #ifdef cl_khr_fp16
6690 half __ovld __cnfn atanpi(half);
6691 half2 __ovld __cnfn atanpi(half2);
6692 half3 __ovld __cnfn atanpi(half3);
6693 half4 __ovld __cnfn atanpi(half4);
6694 half8 __ovld __cnfn atanpi(half8);
6695 half16 __ovld __cnfn atanpi(half16);
6696 #endif //cl_khr_fp16
6699 * Compute atan2 (y, x) / PI.
6701 float __ovld __cnfn atan2pi(float, float);
6702 float2 __ovld __cnfn atan2pi(float2, float2);
6703 float3 __ovld __cnfn atan2pi(float3, float3);
6704 float4 __ovld __cnfn atan2pi(float4, float4);
6705 float8 __ovld __cnfn atan2pi(float8, float8);
6706 float16 __ovld __cnfn atan2pi(float16, float16);
6707 #ifdef cl_khr_fp64
6708 double __ovld __cnfn atan2pi(double, double);
6709 double2 __ovld __cnfn atan2pi(double2, double2);
6710 double3 __ovld __cnfn atan2pi(double3, double3);
6711 double4 __ovld __cnfn atan2pi(double4, double4);
6712 double8 __ovld __cnfn atan2pi(double8, double8);
6713 double16 __ovld __cnfn atan2pi(double16, double16);
6714 #endif //cl_khr_fp64
6715 #ifdef cl_khr_fp16
6716 half __ovld __cnfn atan2pi(half, half);
6717 half2 __ovld __cnfn atan2pi(half2, half2);
6718 half3 __ovld __cnfn atan2pi(half3, half3);
6719 half4 __ovld __cnfn atan2pi(half4, half4);
6720 half8 __ovld __cnfn atan2pi(half8, half8);
6721 half16 __ovld __cnfn atan2pi(half16, half16);
6722 #endif //cl_khr_fp16
6725 * Compute cube-root.
6727 float __ovld __cnfn cbrt(float);
6728 float2 __ovld __cnfn cbrt(float2);
6729 float3 __ovld __cnfn cbrt(float3);
6730 float4 __ovld __cnfn cbrt(float4);
6731 float8 __ovld __cnfn cbrt(float8);
6732 float16 __ovld __cnfn cbrt(float16);
6733 #ifdef cl_khr_fp64
6734 double __ovld __cnfn cbrt(double);
6735 double2 __ovld __cnfn cbrt(double2);
6736 double3 __ovld __cnfn cbrt(double3);
6737 double4 __ovld __cnfn cbrt(double4);
6738 double8 __ovld __cnfn cbrt(double8);
6739 double16 __ovld __cnfn cbrt(double16);
6740 #endif //cl_khr_fp64
6741 #ifdef cl_khr_fp16
6742 half __ovld __cnfn cbrt(half);
6743 half2 __ovld __cnfn cbrt(half2);
6744 half3 __ovld __cnfn cbrt(half3);
6745 half4 __ovld __cnfn cbrt(half4);
6746 half8 __ovld __cnfn cbrt(half8);
6747 half16 __ovld __cnfn cbrt(half16);
6748 #endif //cl_khr_fp16
6751 * Round to integral value using the round to positive
6752 * infinity rounding mode.
6754 float __ovld __cnfn ceil(float);
6755 float2 __ovld __cnfn ceil(float2);
6756 float3 __ovld __cnfn ceil(float3);
6757 float4 __ovld __cnfn ceil(float4);
6758 float8 __ovld __cnfn ceil(float8);
6759 float16 __ovld __cnfn ceil(float16);
6760 #ifdef cl_khr_fp64
6761 double __ovld __cnfn ceil(double);
6762 double2 __ovld __cnfn ceil(double2);
6763 double3 __ovld __cnfn ceil(double3);
6764 double4 __ovld __cnfn ceil(double4);
6765 double8 __ovld __cnfn ceil(double8);
6766 double16 __ovld __cnfn ceil(double16);
6767 #endif //cl_khr_fp64
6768 #ifdef cl_khr_fp16
6769 half __ovld __cnfn ceil(half);
6770 half2 __ovld __cnfn ceil(half2);
6771 half3 __ovld __cnfn ceil(half3);
6772 half4 __ovld __cnfn ceil(half4);
6773 half8 __ovld __cnfn ceil(half8);
6774 half16 __ovld __cnfn ceil(half16);
6775 #endif //cl_khr_fp16
6778 * Returns x with its sign changed to match the sign of y.
6780 float __ovld __cnfn copysign(float, float);
6781 float2 __ovld __cnfn copysign(float2, float2);
6782 float3 __ovld __cnfn copysign(float3, float3);
6783 float4 __ovld __cnfn copysign(float4, float4);
6784 float8 __ovld __cnfn copysign(float8, float8);
6785 float16 __ovld __cnfn copysign(float16, float16);
6786 #ifdef cl_khr_fp64
6787 double __ovld __cnfn copysign(double, double);
6788 double2 __ovld __cnfn copysign(double2, double2);
6789 double3 __ovld __cnfn copysign(double3, double3);
6790 double4 __ovld __cnfn copysign(double4, double4);
6791 double8 __ovld __cnfn copysign(double8, double8);
6792 double16 __ovld __cnfn copysign(double16, double16);
6793 #endif //cl_khr_fp64
6794 #ifdef cl_khr_fp16
6795 half __ovld __cnfn copysign(half, half);
6796 half2 __ovld __cnfn copysign(half2, half2);
6797 half3 __ovld __cnfn copysign(half3, half3);
6798 half4 __ovld __cnfn copysign(half4, half4);
6799 half8 __ovld __cnfn copysign(half8, half8);
6800 half16 __ovld __cnfn copysign(half16, half16);
6801 #endif //cl_khr_fp16
6804 * Compute cosine.
6806 float __ovld __cnfn cos(float);
6807 float2 __ovld __cnfn cos(float2);
6808 float3 __ovld __cnfn cos(float3);
6809 float4 __ovld __cnfn cos(float4);
6810 float8 __ovld __cnfn cos(float8);
6811 float16 __ovld __cnfn cos(float16);
6812 #ifdef cl_khr_fp64
6813 double __ovld __cnfn cos(double);
6814 double2 __ovld __cnfn cos(double2);
6815 double3 __ovld __cnfn cos(double3);
6816 double4 __ovld __cnfn cos(double4);
6817 double8 __ovld __cnfn cos(double8);
6818 double16 __ovld __cnfn cos(double16);
6819 #endif //cl_khr_fp64
6820 #ifdef cl_khr_fp16
6821 half __ovld __cnfn cos(half);
6822 half2 __ovld __cnfn cos(half2);
6823 half3 __ovld __cnfn cos(half3);
6824 half4 __ovld __cnfn cos(half4);
6825 half8 __ovld __cnfn cos(half8);
6826 half16 __ovld __cnfn cos(half16);
6827 #endif //cl_khr_fp16
6830 * Compute hyperbolic cosine.
6832 float __ovld __cnfn cosh(float);
6833 float2 __ovld __cnfn cosh(float2);
6834 float3 __ovld __cnfn cosh(float3);
6835 float4 __ovld __cnfn cosh(float4);
6836 float8 __ovld __cnfn cosh(float8);
6837 float16 __ovld __cnfn cosh(float16);
6838 #ifdef cl_khr_fp64
6839 double __ovld __cnfn cosh(double);
6840 double2 __ovld __cnfn cosh(double2);
6841 double3 __ovld __cnfn cosh(double3);
6842 double4 __ovld __cnfn cosh(double4);
6843 double8 __ovld __cnfn cosh(double8);
6844 double16 __ovld __cnfn cosh(double16);
6845 #endif //cl_khr_fp64
6846 #ifdef cl_khr_fp16
6847 half __ovld __cnfn cosh(half);
6848 half2 __ovld __cnfn cosh(half2);
6849 half3 __ovld __cnfn cosh(half3);
6850 half4 __ovld __cnfn cosh(half4);
6851 half8 __ovld __cnfn cosh(half8);
6852 half16 __ovld __cnfn cosh(half16);
6853 #endif //cl_khr_fp16
6856 * Compute cos (PI * x).
6858 float __ovld __cnfn cospi(float);
6859 float2 __ovld __cnfn cospi(float2);
6860 float3 __ovld __cnfn cospi(float3);
6861 float4 __ovld __cnfn cospi(float4);
6862 float8 __ovld __cnfn cospi(float8);
6863 float16 __ovld __cnfn cospi(float16);
6864 #ifdef cl_khr_fp64
6865 double __ovld __cnfn cospi(double);
6866 double2 __ovld __cnfn cospi(double2);
6867 double3 __ovld __cnfn cospi(double3);
6868 double4 __ovld __cnfn cospi(double4);
6869 double8 __ovld __cnfn cospi(double8);
6870 double16 __ovld __cnfn cospi(double16);
6871 #endif //cl_khr_fp64
6872 #ifdef cl_khr_fp16
6873 half __ovld __cnfn cospi(half);
6874 half2 __ovld __cnfn cospi(half2);
6875 half3 __ovld __cnfn cospi(half3);
6876 half4 __ovld __cnfn cospi(half4);
6877 half8 __ovld __cnfn cospi(half8);
6878 half16 __ovld __cnfn cospi(half16);
6879 #endif //cl_khr_fp16
6882 * Complementary error function.
6884 float __ovld __cnfn erfc(float);
6885 float2 __ovld __cnfn erfc(float2);
6886 float3 __ovld __cnfn erfc(float3);
6887 float4 __ovld __cnfn erfc(float4);
6888 float8 __ovld __cnfn erfc(float8);
6889 float16 __ovld __cnfn erfc(float16);
6890 #ifdef cl_khr_fp64
6891 double __ovld __cnfn erfc(double);
6892 double2 __ovld __cnfn erfc(double2);
6893 double3 __ovld __cnfn erfc(double3);
6894 double4 __ovld __cnfn erfc(double4);
6895 double8 __ovld __cnfn erfc(double8);
6896 double16 __ovld __cnfn erfc(double16);
6897 #endif //cl_khr_fp64
6898 #ifdef cl_khr_fp16
6899 half __ovld __cnfn erfc(half);
6900 half2 __ovld __cnfn erfc(half2);
6901 half3 __ovld __cnfn erfc(half3);
6902 half4 __ovld __cnfn erfc(half4);
6903 half8 __ovld __cnfn erfc(half8);
6904 half16 __ovld __cnfn erfc(half16);
6905 #endif //cl_khr_fp16
6908 * Error function encountered in integrating the
6909 * normal distribution.
6911 float __ovld __cnfn erf(float);
6912 float2 __ovld __cnfn erf(float2);
6913 float3 __ovld __cnfn erf(float3);
6914 float4 __ovld __cnfn erf(float4);
6915 float8 __ovld __cnfn erf(float8);
6916 float16 __ovld __cnfn erf(float16);
6917 #ifdef cl_khr_fp64
6918 double __ovld __cnfn erf(double);
6919 double2 __ovld __cnfn erf(double2);
6920 double3 __ovld __cnfn erf(double3);
6921 double4 __ovld __cnfn erf(double4);
6922 double8 __ovld __cnfn erf(double8);
6923 double16 __ovld __cnfn erf(double16);
6924 #endif //cl_khr_fp64
6925 #ifdef cl_khr_fp16
6926 half __ovld __cnfn erf(half);
6927 half2 __ovld __cnfn erf(half2);
6928 half3 __ovld __cnfn erf(half3);
6929 half4 __ovld __cnfn erf(half4);
6930 half8 __ovld __cnfn erf(half8);
6931 half16 __ovld __cnfn erf(half16);
6932 #endif //cl_khr_fp16
6935 * Compute the base e exponential function of x.
6937 float __ovld __cnfn exp(float);
6938 float2 __ovld __cnfn exp(float2);
6939 float3 __ovld __cnfn exp(float3);
6940 float4 __ovld __cnfn exp(float4);
6941 float8 __ovld __cnfn exp(float8);
6942 float16 __ovld __cnfn exp(float16);
6943 #ifdef cl_khr_fp64
6944 double __ovld __cnfn exp(double);
6945 double2 __ovld __cnfn exp(double2);
6946 double3 __ovld __cnfn exp(double3);
6947 double4 __ovld __cnfn exp(double4);
6948 double8 __ovld __cnfn exp(double8);
6949 double16 __ovld __cnfn exp(double16);
6950 #endif //cl_khr_fp64
6951 #ifdef cl_khr_fp16
6952 half __ovld __cnfn exp(half);
6953 half2 __ovld __cnfn exp(half2);
6954 half3 __ovld __cnfn exp(half3);
6955 half4 __ovld __cnfn exp(half4);
6956 half8 __ovld __cnfn exp(half8);
6957 half16 __ovld __cnfn exp(half16);
6958 #endif //cl_khr_fp16
6961 * Exponential base 2 function.
6963 float __ovld __cnfn exp2(float);
6964 float2 __ovld __cnfn exp2(float2);
6965 float3 __ovld __cnfn exp2(float3);
6966 float4 __ovld __cnfn exp2(float4);
6967 float8 __ovld __cnfn exp2(float8);
6968 float16 __ovld __cnfn exp2(float16);
6969 #ifdef cl_khr_fp64
6970 double __ovld __cnfn exp2(double);
6971 double2 __ovld __cnfn exp2(double2);
6972 double3 __ovld __cnfn exp2(double3);
6973 double4 __ovld __cnfn exp2(double4);
6974 double8 __ovld __cnfn exp2(double8);
6975 double16 __ovld __cnfn exp2(double16);
6976 #endif //cl_khr_fp64
6977 #ifdef cl_khr_fp16
6978 half __ovld __cnfn exp2(half);
6979 half2 __ovld __cnfn exp2(half2);
6980 half3 __ovld __cnfn exp2(half3);
6981 half4 __ovld __cnfn exp2(half4);
6982 half8 __ovld __cnfn exp2(half8);
6983 half16 __ovld __cnfn exp2(half16);
6984 #endif //cl_khr_fp16
6987 * Exponential base 10 function.
6989 float __ovld __cnfn exp10(float);
6990 float2 __ovld __cnfn exp10(float2);
6991 float3 __ovld __cnfn exp10(float3);
6992 float4 __ovld __cnfn exp10(float4);
6993 float8 __ovld __cnfn exp10(float8);
6994 float16 __ovld __cnfn exp10(float16);
6995 #ifdef cl_khr_fp64
6996 double __ovld __cnfn exp10(double);
6997 double2 __ovld __cnfn exp10(double2);
6998 double3 __ovld __cnfn exp10(double3);
6999 double4 __ovld __cnfn exp10(double4);
7000 double8 __ovld __cnfn exp10(double8);
7001 double16 __ovld __cnfn exp10(double16);
7002 #endif //cl_khr_fp64
7003 #ifdef cl_khr_fp16
7004 half __ovld __cnfn exp10(half);
7005 half2 __ovld __cnfn exp10(half2);
7006 half3 __ovld __cnfn exp10(half3);
7007 half4 __ovld __cnfn exp10(half4);
7008 half8 __ovld __cnfn exp10(half8);
7009 half16 __ovld __cnfn exp10(half16);
7010 #endif //cl_khr_fp16
7013 * Compute e^x- 1.0.
7015 float __ovld __cnfn expm1(float);
7016 float2 __ovld __cnfn expm1(float2);
7017 float3 __ovld __cnfn expm1(float3);
7018 float4 __ovld __cnfn expm1(float4);
7019 float8 __ovld __cnfn expm1(float8);
7020 float16 __ovld __cnfn expm1(float16);
7021 #ifdef cl_khr_fp64
7022 double __ovld __cnfn expm1(double);
7023 double2 __ovld __cnfn expm1(double2);
7024 double3 __ovld __cnfn expm1(double3);
7025 double4 __ovld __cnfn expm1(double4);
7026 double8 __ovld __cnfn expm1(double8);
7027 double16 __ovld __cnfn expm1(double16);
7028 #endif //cl_khr_fp64
7029 #ifdef cl_khr_fp16
7030 half __ovld __cnfn expm1(half);
7031 half2 __ovld __cnfn expm1(half2);
7032 half3 __ovld __cnfn expm1(half3);
7033 half4 __ovld __cnfn expm1(half4);
7034 half8 __ovld __cnfn expm1(half8);
7035 half16 __ovld __cnfn expm1(half16);
7036 #endif //cl_khr_fp16
7039 * Compute absolute value of a floating-point number.
7041 float __ovld __cnfn fabs(float);
7042 float2 __ovld __cnfn fabs(float2);
7043 float3 __ovld __cnfn fabs(float3);
7044 float4 __ovld __cnfn fabs(float4);
7045 float8 __ovld __cnfn fabs(float8);
7046 float16 __ovld __cnfn fabs(float16);
7047 #ifdef cl_khr_fp64
7048 double __ovld __cnfn fabs(double);
7049 double2 __ovld __cnfn fabs(double2);
7050 double3 __ovld __cnfn fabs(double3);
7051 double4 __ovld __cnfn fabs(double4);
7052 double8 __ovld __cnfn fabs(double8);
7053 double16 __ovld __cnfn fabs(double16);
7054 #endif //cl_khr_fp64
7055 #ifdef cl_khr_fp16
7056 half __ovld __cnfn fabs(half);
7057 half2 __ovld __cnfn fabs(half2);
7058 half3 __ovld __cnfn fabs(half3);
7059 half4 __ovld __cnfn fabs(half4);
7060 half8 __ovld __cnfn fabs(half8);
7061 half16 __ovld __cnfn fabs(half16);
7062 #endif //cl_khr_fp16
7065 * x - y if x > y, +0 if x is less than or equal to y.
7067 float __ovld __cnfn fdim(float, float);
7068 float2 __ovld __cnfn fdim(float2, float2);
7069 float3 __ovld __cnfn fdim(float3, float3);
7070 float4 __ovld __cnfn fdim(float4, float4);
7071 float8 __ovld __cnfn fdim(float8, float8);
7072 float16 __ovld __cnfn fdim(float16, float16);
7073 #ifdef cl_khr_fp64
7074 double __ovld __cnfn fdim(double, double);
7075 double2 __ovld __cnfn fdim(double2, double2);
7076 double3 __ovld __cnfn fdim(double3, double3);
7077 double4 __ovld __cnfn fdim(double4, double4);
7078 double8 __ovld __cnfn fdim(double8, double8);
7079 double16 __ovld __cnfn fdim(double16, double16);
7080 #endif //cl_khr_fp64
7081 #ifdef cl_khr_fp16
7082 half __ovld __cnfn fdim(half, half);
7083 half2 __ovld __cnfn fdim(half2, half2);
7084 half3 __ovld __cnfn fdim(half3, half3);
7085 half4 __ovld __cnfn fdim(half4, half4);
7086 half8 __ovld __cnfn fdim(half8, half8);
7087 half16 __ovld __cnfn fdim(half16, half16);
7088 #endif //cl_khr_fp16
7091 * Round to integral value using the round to -ve
7092 * infinity rounding mode.
7094 float __ovld __cnfn floor(float);
7095 float2 __ovld __cnfn floor(float2);
7096 float3 __ovld __cnfn floor(float3);
7097 float4 __ovld __cnfn floor(float4);
7098 float8 __ovld __cnfn floor(float8);
7099 float16 __ovld __cnfn floor(float16);
7100 #ifdef cl_khr_fp64
7101 double __ovld __cnfn floor(double);
7102 double2 __ovld __cnfn floor(double2);
7103 double3 __ovld __cnfn floor(double3);
7104 double4 __ovld __cnfn floor(double4);
7105 double8 __ovld __cnfn floor(double8);
7106 double16 __ovld __cnfn floor(double16);
7107 #endif //cl_khr_fp64
7108 #ifdef cl_khr_fp16
7109 half __ovld __cnfn floor(half);
7110 half2 __ovld __cnfn floor(half2);
7111 half3 __ovld __cnfn floor(half3);
7112 half4 __ovld __cnfn floor(half4);
7113 half8 __ovld __cnfn floor(half8);
7114 half16 __ovld __cnfn floor(half16);
7115 #endif //cl_khr_fp16
7118 * Returns the correctly rounded floating-point
7119 * representation of the sum of c with the infinitely
7120 * precise product of a and b. Rounding of
7121 * intermediate products shall not occur. Edge case
7122 * behavior is per the IEEE 754-2008 standard.
7124 float __ovld __cnfn fma(float, float, float);
7125 float2 __ovld __cnfn fma(float2, float2, float2);
7126 float3 __ovld __cnfn fma(float3, float3, float3);
7127 float4 __ovld __cnfn fma(float4, float4, float4);
7128 float8 __ovld __cnfn fma(float8, float8, float8);
7129 float16 __ovld __cnfn fma(float16, float16, float16);
7130 #ifdef cl_khr_fp64
7131 double __ovld __cnfn fma(double, double, double);
7132 double2 __ovld __cnfn fma(double2, double2, double2);
7133 double3 __ovld __cnfn fma(double3, double3, double3);
7134 double4 __ovld __cnfn fma(double4, double4, double4);
7135 double8 __ovld __cnfn fma(double8, double8, double8);
7136 double16 __ovld __cnfn fma(double16, double16, double16);
7137 #endif //cl_khr_fp64
7138 #ifdef cl_khr_fp16
7139 half __ovld __cnfn fma(half, half, half);
7140 half2 __ovld __cnfn fma(half2, half2, half2);
7141 half3 __ovld __cnfn fma(half3, half3, half3);
7142 half4 __ovld __cnfn fma(half4, half4, half4);
7143 half8 __ovld __cnfn fma(half8, half8, half8);
7144 half16 __ovld __cnfn fma(half16, half16, half16);
7145 #endif //cl_khr_fp16
7148 * Returns y if x < y, otherwise it returns x. If one
7149 * argument is a NaN, fmax() returns the other
7150 * argument. If both arguments are NaNs, fmax()
7151 * returns a NaN.
7153 float __ovld __cnfn fmax(float, float);
7154 float2 __ovld __cnfn fmax(float2, float2);
7155 float3 __ovld __cnfn fmax(float3, float3);
7156 float4 __ovld __cnfn fmax(float4, float4);
7157 float8 __ovld __cnfn fmax(float8, float8);
7158 float16 __ovld __cnfn fmax(float16, float16);
7159 float2 __ovld __cnfn fmax(float2, float);
7160 float3 __ovld __cnfn fmax(float3, float);
7161 float4 __ovld __cnfn fmax(float4, float);
7162 float8 __ovld __cnfn fmax(float8, float);
7163 float16 __ovld __cnfn fmax(float16, float);
7164 #ifdef cl_khr_fp64
7165 double __ovld __cnfn fmax(double, double);
7166 double2 __ovld __cnfn fmax(double2, double2);
7167 double3 __ovld __cnfn fmax(double3, double3);
7168 double4 __ovld __cnfn fmax(double4, double4);
7169 double8 __ovld __cnfn fmax(double8, double8);
7170 double16 __ovld __cnfn fmax(double16, double16);
7171 double2 __ovld __cnfn fmax(double2, double);
7172 double3 __ovld __cnfn fmax(double3, double);
7173 double4 __ovld __cnfn fmax(double4, double);
7174 double8 __ovld __cnfn fmax(double8, double);
7175 double16 __ovld __cnfn fmax(double16, double);
7176 #endif //cl_khr_fp64
7177 #ifdef cl_khr_fp16
7178 half __ovld __cnfn fmax(half, half);
7179 half2 __ovld __cnfn fmax(half2, half2);
7180 half3 __ovld __cnfn fmax(half3, half3);
7181 half4 __ovld __cnfn fmax(half4, half4);
7182 half8 __ovld __cnfn fmax(half8, half8);
7183 half16 __ovld __cnfn fmax(half16, half16);
7184 half2 __ovld __cnfn fmax(half2, half);
7185 half3 __ovld __cnfn fmax(half3, half);
7186 half4 __ovld __cnfn fmax(half4, half);
7187 half8 __ovld __cnfn fmax(half8, half);
7188 half16 __ovld __cnfn fmax(half16, half);
7189 #endif //cl_khr_fp16
7192 * Returns y if y < x, otherwise it returns x. If one
7193 * argument is a NaN, fmin() returns the other
7194 * argument. If both arguments are NaNs, fmin()
7195 * returns a NaN.
7197 float __ovld __cnfn fmin(float, float);
7198 float2 __ovld __cnfn fmin(float2, float2);
7199 float3 __ovld __cnfn fmin(float3, float3);
7200 float4 __ovld __cnfn fmin(float4, float4);
7201 float8 __ovld __cnfn fmin(float8, float8);
7202 float16 __ovld __cnfn fmin(float16, float16);
7203 float2 __ovld __cnfn fmin(float2, float);
7204 float3 __ovld __cnfn fmin(float3, float);
7205 float4 __ovld __cnfn fmin(float4, float);
7206 float8 __ovld __cnfn fmin(float8, float);
7207 float16 __ovld __cnfn fmin(float16, float);
7208 #ifdef cl_khr_fp64
7209 double __ovld __cnfn fmin(double, double);
7210 double2 __ovld __cnfn fmin(double2, double2);
7211 double3 __ovld __cnfn fmin(double3, double3);
7212 double4 __ovld __cnfn fmin(double4, double4);
7213 double8 __ovld __cnfn fmin(double8, double8);
7214 double16 __ovld __cnfn fmin(double16, double16);
7215 double2 __ovld __cnfn fmin(double2, double);
7216 double3 __ovld __cnfn fmin(double3, double);
7217 double4 __ovld __cnfn fmin(double4, double);
7218 double8 __ovld __cnfn fmin(double8, double);
7219 double16 __ovld __cnfn fmin(double16, double);
7220 #endif //cl_khr_fp64
7221 #ifdef cl_khr_fp16
7222 half __ovld __cnfn fmin(half, half);
7223 half2 __ovld __cnfn fmin(half2, half2);
7224 half3 __ovld __cnfn fmin(half3, half3);
7225 half4 __ovld __cnfn fmin(half4, half4);
7226 half8 __ovld __cnfn fmin(half8, half8);
7227 half16 __ovld __cnfn fmin(half16, half16);
7228 half2 __ovld __cnfn fmin(half2, half);
7229 half3 __ovld __cnfn fmin(half3, half);
7230 half4 __ovld __cnfn fmin(half4, half);
7231 half8 __ovld __cnfn fmin(half8, half);
7232 half16 __ovld __cnfn fmin(half16, half);
7233 #endif //cl_khr_fp16
7236 * Modulus. Returns x - y * trunc (x/y).
7238 float __ovld __cnfn fmod(float, float);
7239 float2 __ovld __cnfn fmod(float2, float2);
7240 float3 __ovld __cnfn fmod(float3, float3);
7241 float4 __ovld __cnfn fmod(float4, float4);
7242 float8 __ovld __cnfn fmod(float8, float8);
7243 float16 __ovld __cnfn fmod(float16, float16);
7244 #ifdef cl_khr_fp64
7245 double __ovld __cnfn fmod(double, double);
7246 double2 __ovld __cnfn fmod(double2, double2);
7247 double3 __ovld __cnfn fmod(double3, double3);
7248 double4 __ovld __cnfn fmod(double4, double4);
7249 double8 __ovld __cnfn fmod(double8, double8);
7250 double16 __ovld __cnfn fmod(double16, double16);
7251 #endif //cl_khr_fp64
7252 #ifdef cl_khr_fp16
7253 half __ovld __cnfn fmod(half, half);
7254 half2 __ovld __cnfn fmod(half2, half2);
7255 half3 __ovld __cnfn fmod(half3, half3);
7256 half4 __ovld __cnfn fmod(half4, half4);
7257 half8 __ovld __cnfn fmod(half8, half8);
7258 half16 __ovld __cnfn fmod(half16, half16);
7259 #endif //cl_khr_fp16
7262 * Returns fmin(x - floor (x), 0x1.fffffep-1f ).
7263 * floor(x) is returned in iptr.
7265 #if defined(__opencl_c_generic_address_space)
7266 float __ovld fract(float, float *);
7267 float2 __ovld fract(float2, float2 *);
7268 float3 __ovld fract(float3, float3 *);
7269 float4 __ovld fract(float4, float4 *);
7270 float8 __ovld fract(float8, float8 *);
7271 float16 __ovld fract(float16, float16 *);
7272 #ifdef cl_khr_fp64
7273 double __ovld fract(double, double *);
7274 double2 __ovld fract(double2, double2 *);
7275 double3 __ovld fract(double3, double3 *);
7276 double4 __ovld fract(double4, double4 *);
7277 double8 __ovld fract(double8, double8 *);
7278 double16 __ovld fract(double16, double16 *);
7279 #endif //cl_khr_fp64
7280 #ifdef cl_khr_fp16
7281 half __ovld fract(half, half *);
7282 half2 __ovld fract(half2, half2 *);
7283 half3 __ovld fract(half3, half3 *);
7284 half4 __ovld fract(half4, half4 *);
7285 half8 __ovld fract(half8, half8 *);
7286 half16 __ovld fract(half16, half16 *);
7287 #endif //cl_khr_fp16
7288 #endif //defined(__opencl_c_generic_address_space)
7290 #if defined(__opencl_c_named_address_space_builtins)
7291 float __ovld fract(float, __global float *);
7292 float2 __ovld fract(float2, __global float2 *);
7293 float3 __ovld fract(float3, __global float3 *);
7294 float4 __ovld fract(float4, __global float4 *);
7295 float8 __ovld fract(float8, __global float8 *);
7296 float16 __ovld fract(float16, __global float16 *);
7297 float __ovld fract(float, __local float *);
7298 float2 __ovld fract(float2, __local float2 *);
7299 float3 __ovld fract(float3, __local float3 *);
7300 float4 __ovld fract(float4, __local float4 *);
7301 float8 __ovld fract(float8, __local float8 *);
7302 float16 __ovld fract(float16, __local float16 *);
7303 float __ovld fract(float, __private float *);
7304 float2 __ovld fract(float2, __private float2 *);
7305 float3 __ovld fract(float3, __private float3 *);
7306 float4 __ovld fract(float4, __private float4 *);
7307 float8 __ovld fract(float8, __private float8 *);
7308 float16 __ovld fract(float16, __private float16 *);
7309 #ifdef cl_khr_fp64
7310 double __ovld fract(double, __global double *);
7311 double2 __ovld fract(double2, __global double2 *);
7312 double3 __ovld fract(double3, __global double3 *);
7313 double4 __ovld fract(double4, __global double4 *);
7314 double8 __ovld fract(double8, __global double8 *);
7315 double16 __ovld fract(double16, __global double16 *);
7316 double __ovld fract(double, __local double *);
7317 double2 __ovld fract(double2, __local double2 *);
7318 double3 __ovld fract(double3, __local double3 *);
7319 double4 __ovld fract(double4, __local double4 *);
7320 double8 __ovld fract(double8, __local double8 *);
7321 double16 __ovld fract(double16, __local double16 *);
7322 double __ovld fract(double, __private double *);
7323 double2 __ovld fract(double2, __private double2 *);
7324 double3 __ovld fract(double3, __private double3 *);
7325 double4 __ovld fract(double4, __private double4 *);
7326 double8 __ovld fract(double8, __private double8 *);
7327 double16 __ovld fract(double16, __private double16 *);
7328 #endif //cl_khr_fp64
7329 #ifdef cl_khr_fp16
7330 half __ovld fract(half, __global half *);
7331 half2 __ovld fract(half2, __global half2 *);
7332 half3 __ovld fract(half3, __global half3 *);
7333 half4 __ovld fract(half4, __global half4 *);
7334 half8 __ovld fract(half8, __global half8 *);
7335 half16 __ovld fract(half16, __global half16 *);
7336 half __ovld fract(half, __local half *);
7337 half2 __ovld fract(half2, __local half2 *);
7338 half3 __ovld fract(half3, __local half3 *);
7339 half4 __ovld fract(half4, __local half4 *);
7340 half8 __ovld fract(half8, __local half8 *);
7341 half16 __ovld fract(half16, __local half16 *);
7342 half __ovld fract(half, __private half *);
7343 half2 __ovld fract(half2, __private half2 *);
7344 half3 __ovld fract(half3, __private half3 *);
7345 half4 __ovld fract(half4, __private half4 *);
7346 half8 __ovld fract(half8, __private half8 *);
7347 half16 __ovld fract(half16, __private half16 *);
7348 #endif //cl_khr_fp16
7349 #endif //defined(__opencl_c_named_address_space_builtins)
7352 * Extract mantissa and exponent from x. For each
7353 * component the mantissa returned is a float with
7354 * magnitude in the interval [1/2, 1) or 0. Each
7355 * component of x equals mantissa returned * 2^exp.
7357 #if defined(__opencl_c_generic_address_space)
7358 float __ovld frexp(float, int *);
7359 float2 __ovld frexp(float2, int2 *);
7360 float3 __ovld frexp(float3, int3 *);
7361 float4 __ovld frexp(float4, int4 *);
7362 float8 __ovld frexp(float8, int8 *);
7363 float16 __ovld frexp(float16, int16 *);
7364 #ifdef cl_khr_fp64
7365 double __ovld frexp(double, int *);
7366 double2 __ovld frexp(double2, int2 *);
7367 double3 __ovld frexp(double3, int3 *);
7368 double4 __ovld frexp(double4, int4 *);
7369 double8 __ovld frexp(double8, int8 *);
7370 double16 __ovld frexp(double16, int16 *);
7371 #endif //cl_khr_fp64
7372 #ifdef cl_khr_fp16
7373 half __ovld frexp(half, int *);
7374 half2 __ovld frexp(half2, int2 *);
7375 half3 __ovld frexp(half3, int3 *);
7376 half4 __ovld frexp(half4, int4 *);
7377 half8 __ovld frexp(half8, int8 *);
7378 half16 __ovld frexp(half16, int16 *);
7379 #endif //cl_khr_fp16
7380 #endif //defined(__opencl_c_generic_address_space)
7382 #if defined(__opencl_c_named_address_space_builtins)
7383 float __ovld frexp(float, __global int *);
7384 float2 __ovld frexp(float2, __global int2 *);
7385 float3 __ovld frexp(float3, __global int3 *);
7386 float4 __ovld frexp(float4, __global int4 *);
7387 float8 __ovld frexp(float8, __global int8 *);
7388 float16 __ovld frexp(float16, __global int16 *);
7389 float __ovld frexp(float, __local int *);
7390 float2 __ovld frexp(float2, __local int2 *);
7391 float3 __ovld frexp(float3, __local int3 *);
7392 float4 __ovld frexp(float4, __local int4 *);
7393 float8 __ovld frexp(float8, __local int8 *);
7394 float16 __ovld frexp(float16, __local int16 *);
7395 float __ovld frexp(float, __private int *);
7396 float2 __ovld frexp(float2, __private int2 *);
7397 float3 __ovld frexp(float3, __private int3 *);
7398 float4 __ovld frexp(float4, __private int4 *);
7399 float8 __ovld frexp(float8, __private int8 *);
7400 float16 __ovld frexp(float16, __private int16 *);
7401 #ifdef cl_khr_fp64
7402 double __ovld frexp(double, __global int *);
7403 double2 __ovld frexp(double2, __global int2 *);
7404 double3 __ovld frexp(double3, __global int3 *);
7405 double4 __ovld frexp(double4, __global int4 *);
7406 double8 __ovld frexp(double8, __global int8 *);
7407 double16 __ovld frexp(double16, __global int16 *);
7408 double __ovld frexp(double, __local int *);
7409 double2 __ovld frexp(double2, __local int2 *);
7410 double3 __ovld frexp(double3, __local int3 *);
7411 double4 __ovld frexp(double4, __local int4 *);
7412 double8 __ovld frexp(double8, __local int8 *);
7413 double16 __ovld frexp(double16, __local int16 *);
7414 double __ovld frexp(double, __private int *);
7415 double2 __ovld frexp(double2, __private int2 *);
7416 double3 __ovld frexp(double3, __private int3 *);
7417 double4 __ovld frexp(double4, __private int4 *);
7418 double8 __ovld frexp(double8, __private int8 *);
7419 double16 __ovld frexp(double16, __private int16 *);
7420 #endif //cl_khr_fp64
7421 #ifdef cl_khr_fp16
7422 half __ovld frexp(half, __global int *);
7423 half2 __ovld frexp(half2, __global int2 *);
7424 half3 __ovld frexp(half3, __global int3 *);
7425 half4 __ovld frexp(half4, __global int4 *);
7426 half8 __ovld frexp(half8, __global int8 *);
7427 half16 __ovld frexp(half16, __global int16 *);
7428 half __ovld frexp(half, __local int *);
7429 half2 __ovld frexp(half2, __local int2 *);
7430 half3 __ovld frexp(half3, __local int3 *);
7431 half4 __ovld frexp(half4, __local int4 *);
7432 half8 __ovld frexp(half8, __local int8 *);
7433 half16 __ovld frexp(half16, __local int16 *);
7434 half __ovld frexp(half, __private int *);
7435 half2 __ovld frexp(half2, __private int2 *);
7436 half3 __ovld frexp(half3, __private int3 *);
7437 half4 __ovld frexp(half4, __private int4 *);
7438 half8 __ovld frexp(half8, __private int8 *);
7439 half16 __ovld frexp(half16, __private int16 *);
7440 #endif //cl_khr_fp16
7441 #endif //defined(__opencl_c_named_address_space_builtins)
7444 * Compute the value of the square root of x^2 + y^2
7445 * without undue overflow or underflow.
7447 float __ovld __cnfn hypot(float, float);
7448 float2 __ovld __cnfn hypot(float2, float2);
7449 float3 __ovld __cnfn hypot(float3, float3);
7450 float4 __ovld __cnfn hypot(float4, float4);
7451 float8 __ovld __cnfn hypot(float8, float8);
7452 float16 __ovld __cnfn hypot(float16, float16);
7453 #ifdef cl_khr_fp64
7454 double __ovld __cnfn hypot(double, double);
7455 double2 __ovld __cnfn hypot(double2, double2);
7456 double3 __ovld __cnfn hypot(double3, double3);
7457 double4 __ovld __cnfn hypot(double4, double4);
7458 double8 __ovld __cnfn hypot(double8, double8);
7459 double16 __ovld __cnfn hypot(double16, double16);
7460 #endif //cl_khr_fp64
7461 #ifdef cl_khr_fp16
7462 half __ovld __cnfn hypot(half, half);
7463 half2 __ovld __cnfn hypot(half2, half2);
7464 half3 __ovld __cnfn hypot(half3, half3);
7465 half4 __ovld __cnfn hypot(half4, half4);
7466 half8 __ovld __cnfn hypot(half8, half8);
7467 half16 __ovld __cnfn hypot(half16, half16);
7468 #endif //cl_khr_fp16
7471 * Return the exponent as an integer value.
7473 int __ovld __cnfn ilogb(float);
7474 int2 __ovld __cnfn ilogb(float2);
7475 int3 __ovld __cnfn ilogb(float3);
7476 int4 __ovld __cnfn ilogb(float4);
7477 int8 __ovld __cnfn ilogb(float8);
7478 int16 __ovld __cnfn ilogb(float16);
7479 #ifdef cl_khr_fp64
7480 int __ovld __cnfn ilogb(double);
7481 int2 __ovld __cnfn ilogb(double2);
7482 int3 __ovld __cnfn ilogb(double3);
7483 int4 __ovld __cnfn ilogb(double4);
7484 int8 __ovld __cnfn ilogb(double8);
7485 int16 __ovld __cnfn ilogb(double16);
7486 #endif //cl_khr_fp64
7487 #ifdef cl_khr_fp16
7488 int __ovld __cnfn ilogb(half);
7489 int2 __ovld __cnfn ilogb(half2);
7490 int3 __ovld __cnfn ilogb(half3);
7491 int4 __ovld __cnfn ilogb(half4);
7492 int8 __ovld __cnfn ilogb(half8);
7493 int16 __ovld __cnfn ilogb(half16);
7494 #endif //cl_khr_fp16
7497 * Multiply x by 2 to the power n.
7499 float __ovld __cnfn ldexp(float, int);
7500 float2 __ovld __cnfn ldexp(float2, int2);
7501 float3 __ovld __cnfn ldexp(float3, int3);
7502 float4 __ovld __cnfn ldexp(float4, int4);
7503 float8 __ovld __cnfn ldexp(float8, int8);
7504 float16 __ovld __cnfn ldexp(float16, int16);
7505 float2 __ovld __cnfn ldexp(float2, int);
7506 float3 __ovld __cnfn ldexp(float3, int);
7507 float4 __ovld __cnfn ldexp(float4, int);
7508 float8 __ovld __cnfn ldexp(float8, int);
7509 float16 __ovld __cnfn ldexp(float16, int);
7510 #ifdef cl_khr_fp64
7511 double __ovld __cnfn ldexp(double, int);
7512 double2 __ovld __cnfn ldexp(double2, int2);
7513 double3 __ovld __cnfn ldexp(double3, int3);
7514 double4 __ovld __cnfn ldexp(double4, int4);
7515 double8 __ovld __cnfn ldexp(double8, int8);
7516 double16 __ovld __cnfn ldexp(double16, int16);
7517 double2 __ovld __cnfn ldexp(double2, int);
7518 double3 __ovld __cnfn ldexp(double3, int);
7519 double4 __ovld __cnfn ldexp(double4, int);
7520 double8 __ovld __cnfn ldexp(double8, int);
7521 double16 __ovld __cnfn ldexp(double16, int);
7522 #endif //cl_khr_fp64
7523 #ifdef cl_khr_fp16
7524 half __ovld __cnfn ldexp(half, int);
7525 half2 __ovld __cnfn ldexp(half2, int2);
7526 half3 __ovld __cnfn ldexp(half3, int3);
7527 half4 __ovld __cnfn ldexp(half4, int4);
7528 half8 __ovld __cnfn ldexp(half8, int8);
7529 half16 __ovld __cnfn ldexp(half16, int16);
7530 half2 __ovld __cnfn ldexp(half2, int);
7531 half3 __ovld __cnfn ldexp(half3, int);
7532 half4 __ovld __cnfn ldexp(half4, int);
7533 half8 __ovld __cnfn ldexp(half8, int);
7534 half16 __ovld __cnfn ldexp(half16, int);
7535 #endif //cl_khr_fp16
7538 * Log gamma function. Returns the natural
7539 * logarithm of the absolute value of the gamma
7540 * function. The sign of the gamma function is
7541 * returned in the signp argument of lgamma_r.
7543 float __ovld __cnfn lgamma(float);
7544 float2 __ovld __cnfn lgamma(float2);
7545 float3 __ovld __cnfn lgamma(float3);
7546 float4 __ovld __cnfn lgamma(float4);
7547 float8 __ovld __cnfn lgamma(float8);
7548 float16 __ovld __cnfn lgamma(float16);
7549 #ifdef cl_khr_fp64
7550 double __ovld __cnfn lgamma(double);
7551 double2 __ovld __cnfn lgamma(double2);
7552 double3 __ovld __cnfn lgamma(double3);
7553 double4 __ovld __cnfn lgamma(double4);
7554 double8 __ovld __cnfn lgamma(double8);
7555 double16 __ovld __cnfn lgamma(double16);
7556 #endif //cl_khr_fp64
7557 #ifdef cl_khr_fp16
7558 half __ovld __cnfn lgamma(half);
7559 half2 __ovld __cnfn lgamma(half2);
7560 half3 __ovld __cnfn lgamma(half3);
7561 half4 __ovld __cnfn lgamma(half4);
7562 half8 __ovld __cnfn lgamma(half8);
7563 half16 __ovld __cnfn lgamma(half16);
7564 #endif //cl_khr_fp16
7566 #if defined(__opencl_c_generic_address_space)
7567 float __ovld lgamma_r(float, int *);
7568 float2 __ovld lgamma_r(float2, int2 *);
7569 float3 __ovld lgamma_r(float3, int3 *);
7570 float4 __ovld lgamma_r(float4, int4 *);
7571 float8 __ovld lgamma_r(float8, int8 *);
7572 float16 __ovld lgamma_r(float16, int16 *);
7573 #ifdef cl_khr_fp64
7574 double __ovld lgamma_r(double, int *);
7575 double2 __ovld lgamma_r(double2, int2 *);
7576 double3 __ovld lgamma_r(double3, int3 *);
7577 double4 __ovld lgamma_r(double4, int4 *);
7578 double8 __ovld lgamma_r(double8, int8 *);
7579 double16 __ovld lgamma_r(double16, int16 *);
7580 #endif //cl_khr_fp64
7581 #ifdef cl_khr_fp16
7582 half __ovld lgamma_r(half, int *);
7583 half2 __ovld lgamma_r(half2, int2 *);
7584 half3 __ovld lgamma_r(half3, int3 *);
7585 half4 __ovld lgamma_r(half4, int4 *);
7586 half8 __ovld lgamma_r(half8, int8 *);
7587 half16 __ovld lgamma_r(half16, int16 *);
7588 #endif //cl_khr_fp16
7589 #endif //defined(__opencl_c_generic_address_space)
7591 #if defined(__opencl_c_named_address_space_builtins)
7592 float __ovld lgamma_r(float, __global int *);
7593 float2 __ovld lgamma_r(float2, __global int2 *);
7594 float3 __ovld lgamma_r(float3, __global int3 *);
7595 float4 __ovld lgamma_r(float4, __global int4 *);
7596 float8 __ovld lgamma_r(float8, __global int8 *);
7597 float16 __ovld lgamma_r(float16, __global int16 *);
7598 float __ovld lgamma_r(float, __local int *);
7599 float2 __ovld lgamma_r(float2, __local int2 *);
7600 float3 __ovld lgamma_r(float3, __local int3 *);
7601 float4 __ovld lgamma_r(float4, __local int4 *);
7602 float8 __ovld lgamma_r(float8, __local int8 *);
7603 float16 __ovld lgamma_r(float16, __local int16 *);
7604 float __ovld lgamma_r(float, __private int *);
7605 float2 __ovld lgamma_r(float2, __private int2 *);
7606 float3 __ovld lgamma_r(float3, __private int3 *);
7607 float4 __ovld lgamma_r(float4, __private int4 *);
7608 float8 __ovld lgamma_r(float8, __private int8 *);
7609 float16 __ovld lgamma_r(float16, __private int16 *);
7610 #ifdef cl_khr_fp64
7611 double __ovld lgamma_r(double, __global int *);
7612 double2 __ovld lgamma_r(double2, __global int2 *);
7613 double3 __ovld lgamma_r(double3, __global int3 *);
7614 double4 __ovld lgamma_r(double4, __global int4 *);
7615 double8 __ovld lgamma_r(double8, __global int8 *);
7616 double16 __ovld lgamma_r(double16, __global int16 *);
7617 double __ovld lgamma_r(double, __local int *);
7618 double2 __ovld lgamma_r(double2, __local int2 *);
7619 double3 __ovld lgamma_r(double3, __local int3 *);
7620 double4 __ovld lgamma_r(double4, __local int4 *);
7621 double8 __ovld lgamma_r(double8, __local int8 *);
7622 double16 __ovld lgamma_r(double16, __local int16 *);
7623 double __ovld lgamma_r(double, __private int *);
7624 double2 __ovld lgamma_r(double2, __private int2 *);
7625 double3 __ovld lgamma_r(double3, __private int3 *);
7626 double4 __ovld lgamma_r(double4, __private int4 *);
7627 double8 __ovld lgamma_r(double8, __private int8 *);
7628 double16 __ovld lgamma_r(double16, __private int16 *);
7629 #endif //cl_khr_fp64
7630 #ifdef cl_khr_fp16
7631 half __ovld lgamma_r(half, __global int *);
7632 half2 __ovld lgamma_r(half2, __global int2 *);
7633 half3 __ovld lgamma_r(half3, __global int3 *);
7634 half4 __ovld lgamma_r(half4, __global int4 *);
7635 half8 __ovld lgamma_r(half8, __global int8 *);
7636 half16 __ovld lgamma_r(half16, __global int16 *);
7637 half __ovld lgamma_r(half, __local int *);
7638 half2 __ovld lgamma_r(half2, __local int2 *);
7639 half3 __ovld lgamma_r(half3, __local int3 *);
7640 half4 __ovld lgamma_r(half4, __local int4 *);
7641 half8 __ovld lgamma_r(half8, __local int8 *);
7642 half16 __ovld lgamma_r(half16, __local int16 *);
7643 half __ovld lgamma_r(half, __private int *);
7644 half2 __ovld lgamma_r(half2, __private int2 *);
7645 half3 __ovld lgamma_r(half3, __private int3 *);
7646 half4 __ovld lgamma_r(half4, __private int4 *);
7647 half8 __ovld lgamma_r(half8, __private int8 *);
7648 half16 __ovld lgamma_r(half16, __private int16 *);
7649 #endif //cl_khr_fp16
7650 #endif //defined(__opencl_c_named_address_space_builtins)
7653 * Compute natural logarithm.
7655 float __ovld __cnfn log(float);
7656 float2 __ovld __cnfn log(float2);
7657 float3 __ovld __cnfn log(float3);
7658 float4 __ovld __cnfn log(float4);
7659 float8 __ovld __cnfn log(float8);
7660 float16 __ovld __cnfn log(float16);
7661 #ifdef cl_khr_fp64
7662 double __ovld __cnfn log(double);
7663 double2 __ovld __cnfn log(double2);
7664 double3 __ovld __cnfn log(double3);
7665 double4 __ovld __cnfn log(double4);
7666 double8 __ovld __cnfn log(double8);
7667 double16 __ovld __cnfn log(double16);
7668 #endif //cl_khr_fp64
7669 #ifdef cl_khr_fp16
7670 half __ovld __cnfn log(half);
7671 half2 __ovld __cnfn log(half2);
7672 half3 __ovld __cnfn log(half3);
7673 half4 __ovld __cnfn log(half4);
7674 half8 __ovld __cnfn log(half8);
7675 half16 __ovld __cnfn log(half16);
7676 #endif //cl_khr_fp16
7679 * Compute a base 2 logarithm.
7681 float __ovld __cnfn log2(float);
7682 float2 __ovld __cnfn log2(float2);
7683 float3 __ovld __cnfn log2(float3);
7684 float4 __ovld __cnfn log2(float4);
7685 float8 __ovld __cnfn log2(float8);
7686 float16 __ovld __cnfn log2(float16);
7687 #ifdef cl_khr_fp64
7688 double __ovld __cnfn log2(double);
7689 double2 __ovld __cnfn log2(double2);
7690 double3 __ovld __cnfn log2(double3);
7691 double4 __ovld __cnfn log2(double4);
7692 double8 __ovld __cnfn log2(double8);
7693 double16 __ovld __cnfn log2(double16);
7694 #endif //cl_khr_fp64
7695 #ifdef cl_khr_fp16
7696 half __ovld __cnfn log2(half);
7697 half2 __ovld __cnfn log2(half2);
7698 half3 __ovld __cnfn log2(half3);
7699 half4 __ovld __cnfn log2(half4);
7700 half8 __ovld __cnfn log2(half8);
7701 half16 __ovld __cnfn log2(half16);
7702 #endif //cl_khr_fp16
7705 * Compute a base 10 logarithm.
7707 float __ovld __cnfn log10(float);
7708 float2 __ovld __cnfn log10(float2);
7709 float3 __ovld __cnfn log10(float3);
7710 float4 __ovld __cnfn log10(float4);
7711 float8 __ovld __cnfn log10(float8);
7712 float16 __ovld __cnfn log10(float16);
7713 #ifdef cl_khr_fp64
7714 double __ovld __cnfn log10(double);
7715 double2 __ovld __cnfn log10(double2);
7716 double3 __ovld __cnfn log10(double3);
7717 double4 __ovld __cnfn log10(double4);
7718 double8 __ovld __cnfn log10(double8);
7719 double16 __ovld __cnfn log10(double16);
7720 #endif //cl_khr_fp64
7721 #ifdef cl_khr_fp16
7722 half __ovld __cnfn log10(half);
7723 half2 __ovld __cnfn log10(half2);
7724 half3 __ovld __cnfn log10(half3);
7725 half4 __ovld __cnfn log10(half4);
7726 half8 __ovld __cnfn log10(half8);
7727 half16 __ovld __cnfn log10(half16);
7728 #endif //cl_khr_fp16
7731 * Compute a base e logarithm of (1.0 + x).
7733 float __ovld __cnfn log1p(float);
7734 float2 __ovld __cnfn log1p(float2);
7735 float3 __ovld __cnfn log1p(float3);
7736 float4 __ovld __cnfn log1p(float4);
7737 float8 __ovld __cnfn log1p(float8);
7738 float16 __ovld __cnfn log1p(float16);
7739 #ifdef cl_khr_fp64
7740 double __ovld __cnfn log1p(double);
7741 double2 __ovld __cnfn log1p(double2);
7742 double3 __ovld __cnfn log1p(double3);
7743 double4 __ovld __cnfn log1p(double4);
7744 double8 __ovld __cnfn log1p(double8);
7745 double16 __ovld __cnfn log1p(double16);
7746 #endif //cl_khr_fp64
7747 #ifdef cl_khr_fp16
7748 half __ovld __cnfn log1p(half);
7749 half2 __ovld __cnfn log1p(half2);
7750 half3 __ovld __cnfn log1p(half3);
7751 half4 __ovld __cnfn log1p(half4);
7752 half8 __ovld __cnfn log1p(half8);
7753 half16 __ovld __cnfn log1p(half16);
7754 #endif //cl_khr_fp16
7757 * Compute the exponent of x, which is the integral
7758 * part of logr | x |.
7760 float __ovld __cnfn logb(float);
7761 float2 __ovld __cnfn logb(float2);
7762 float3 __ovld __cnfn logb(float3);
7763 float4 __ovld __cnfn logb(float4);
7764 float8 __ovld __cnfn logb(float8);
7765 float16 __ovld __cnfn logb(float16);
7766 #ifdef cl_khr_fp64
7767 double __ovld __cnfn logb(double);
7768 double2 __ovld __cnfn logb(double2);
7769 double3 __ovld __cnfn logb(double3);
7770 double4 __ovld __cnfn logb(double4);
7771 double8 __ovld __cnfn logb(double8);
7772 double16 __ovld __cnfn logb(double16);
7773 #endif //cl_khr_fp64
7774 #ifdef cl_khr_fp16
7775 half __ovld __cnfn logb(half);
7776 half2 __ovld __cnfn logb(half2);
7777 half3 __ovld __cnfn logb(half3);
7778 half4 __ovld __cnfn logb(half4);
7779 half8 __ovld __cnfn logb(half8);
7780 half16 __ovld __cnfn logb(half16);
7781 #endif //cl_khr_fp16
7784 * mad approximates a * b + c. Whether or how the
7785 * product of a * b is rounded and how supernormal or
7786 * subnormal intermediate products are handled is not
7787 * defined. mad is intended to be used where speed is
7788 * preferred over accuracy.
7790 float __ovld __cnfn mad(float, float, float);
7791 float2 __ovld __cnfn mad(float2, float2, float2);
7792 float3 __ovld __cnfn mad(float3, float3, float3);
7793 float4 __ovld __cnfn mad(float4, float4, float4);
7794 float8 __ovld __cnfn mad(float8, float8, float8);
7795 float16 __ovld __cnfn mad(float16, float16, float16);
7796 #ifdef cl_khr_fp64
7797 double __ovld __cnfn mad(double, double, double);
7798 double2 __ovld __cnfn mad(double2, double2, double2);
7799 double3 __ovld __cnfn mad(double3, double3, double3);
7800 double4 __ovld __cnfn mad(double4, double4, double4);
7801 double8 __ovld __cnfn mad(double8, double8, double8);
7802 double16 __ovld __cnfn mad(double16, double16, double16);
7803 #endif //cl_khr_fp64
7804 #ifdef cl_khr_fp16
7805 half __ovld __cnfn mad(half, half, half);
7806 half2 __ovld __cnfn mad(half2, half2, half2);
7807 half3 __ovld __cnfn mad(half3, half3, half3);
7808 half4 __ovld __cnfn mad(half4, half4, half4);
7809 half8 __ovld __cnfn mad(half8, half8, half8);
7810 half16 __ovld __cnfn mad(half16, half16, half16);
7811 #endif //cl_khr_fp16
7814 * Returns x if | x | > | y |, y if | y | > | x |, otherwise
7815 * fmax(x, y).
7817 float __ovld __cnfn maxmag(float, float);
7818 float2 __ovld __cnfn maxmag(float2, float2);
7819 float3 __ovld __cnfn maxmag(float3, float3);
7820 float4 __ovld __cnfn maxmag(float4, float4);
7821 float8 __ovld __cnfn maxmag(float8, float8);
7822 float16 __ovld __cnfn maxmag(float16, float16);
7823 #ifdef cl_khr_fp64
7824 double __ovld __cnfn maxmag(double, double);
7825 double2 __ovld __cnfn maxmag(double2, double2);
7826 double3 __ovld __cnfn maxmag(double3, double3);
7827 double4 __ovld __cnfn maxmag(double4, double4);
7828 double8 __ovld __cnfn maxmag(double8, double8);
7829 double16 __ovld __cnfn maxmag(double16, double16);
7830 #endif //cl_khr_fp64
7831 #ifdef cl_khr_fp16
7832 half __ovld __cnfn maxmag(half, half);
7833 half2 __ovld __cnfn maxmag(half2, half2);
7834 half3 __ovld __cnfn maxmag(half3, half3);
7835 half4 __ovld __cnfn maxmag(half4, half4);
7836 half8 __ovld __cnfn maxmag(half8, half8);
7837 half16 __ovld __cnfn maxmag(half16, half16);
7838 #endif //cl_khr_fp16
7841 * Returns x if | x | < | y |, y if | y | < | x |, otherwise
7842 * fmin(x, y).
7844 float __ovld __cnfn minmag(float, float);
7845 float2 __ovld __cnfn minmag(float2, float2);
7846 float3 __ovld __cnfn minmag(float3, float3);
7847 float4 __ovld __cnfn minmag(float4, float4);
7848 float8 __ovld __cnfn minmag(float8, float8);
7849 float16 __ovld __cnfn minmag(float16, float16);
7850 #ifdef cl_khr_fp64
7851 double __ovld __cnfn minmag(double, double);
7852 double2 __ovld __cnfn minmag(double2, double2);
7853 double3 __ovld __cnfn minmag(double3, double3);
7854 double4 __ovld __cnfn minmag(double4, double4);
7855 double8 __ovld __cnfn minmag(double8, double8);
7856 double16 __ovld __cnfn minmag(double16, double16);
7857 #endif //cl_khr_fp64
7858 #ifdef cl_khr_fp16
7859 half __ovld __cnfn minmag(half, half);
7860 half2 __ovld __cnfn minmag(half2, half2);
7861 half3 __ovld __cnfn minmag(half3, half3);
7862 half4 __ovld __cnfn minmag(half4, half4);
7863 half8 __ovld __cnfn minmag(half8, half8);
7864 half16 __ovld __cnfn minmag(half16, half16);
7865 #endif //cl_khr_fp16
7868 * Decompose a floating-point number. The modf
7869 * function breaks the argument x into integral and
7870 * fractional parts, each of which has the same sign as
7871 * the argument. It stores the integral part in the object
7872 * pointed to by iptr.
7874 #if defined(__opencl_c_generic_address_space)
7875 float __ovld modf(float, float *);
7876 float2 __ovld modf(float2, float2 *);
7877 float3 __ovld modf(float3, float3 *);
7878 float4 __ovld modf(float4, float4 *);
7879 float8 __ovld modf(float8, float8 *);
7880 float16 __ovld modf(float16, float16 *);
7881 #ifdef cl_khr_fp64
7882 double __ovld modf(double, double *);
7883 double2 __ovld modf(double2, double2 *);
7884 double3 __ovld modf(double3, double3 *);
7885 double4 __ovld modf(double4, double4 *);
7886 double8 __ovld modf(double8, double8 *);
7887 double16 __ovld modf(double16, double16 *);
7888 #endif //cl_khr_fp64
7889 #ifdef cl_khr_fp16
7890 half __ovld modf(half, half *);
7891 half2 __ovld modf(half2, half2 *);
7892 half3 __ovld modf(half3, half3 *);
7893 half4 __ovld modf(half4, half4 *);
7894 half8 __ovld modf(half8, half8 *);
7895 half16 __ovld modf(half16, half16 *);
7896 #endif //cl_khr_fp16
7897 #endif //defined(__opencl_c_generic_address_space)
7899 #if defined(__opencl_c_named_address_space_builtins)
7900 float __ovld modf(float, __global float *);
7901 float2 __ovld modf(float2, __global float2 *);
7902 float3 __ovld modf(float3, __global float3 *);
7903 float4 __ovld modf(float4, __global float4 *);
7904 float8 __ovld modf(float8, __global float8 *);
7905 float16 __ovld modf(float16, __global float16 *);
7906 float __ovld modf(float, __local float *);
7907 float2 __ovld modf(float2, __local float2 *);
7908 float3 __ovld modf(float3, __local float3 *);
7909 float4 __ovld modf(float4, __local float4 *);
7910 float8 __ovld modf(float8, __local float8 *);
7911 float16 __ovld modf(float16, __local float16 *);
7912 float __ovld modf(float, __private float *);
7913 float2 __ovld modf(float2, __private float2 *);
7914 float3 __ovld modf(float3, __private float3 *);
7915 float4 __ovld modf(float4, __private float4 *);
7916 float8 __ovld modf(float8, __private float8 *);
7917 float16 __ovld modf(float16, __private float16 *);
7918 #ifdef cl_khr_fp64
7919 double __ovld modf(double, __global double *);
7920 double2 __ovld modf(double2, __global double2 *);
7921 double3 __ovld modf(double3, __global double3 *);
7922 double4 __ovld modf(double4, __global double4 *);
7923 double8 __ovld modf(double8, __global double8 *);
7924 double16 __ovld modf(double16, __global double16 *);
7925 double __ovld modf(double, __local double *);
7926 double2 __ovld modf(double2, __local double2 *);
7927 double3 __ovld modf(double3, __local double3 *);
7928 double4 __ovld modf(double4, __local double4 *);
7929 double8 __ovld modf(double8, __local double8 *);
7930 double16 __ovld modf(double16, __local double16 *);
7931 double __ovld modf(double, __private double *);
7932 double2 __ovld modf(double2, __private double2 *);
7933 double3 __ovld modf(double3, __private double3 *);
7934 double4 __ovld modf(double4, __private double4 *);
7935 double8 __ovld modf(double8, __private double8 *);
7936 double16 __ovld modf(double16, __private double16 *);
7937 #endif //cl_khr_fp64
7938 #ifdef cl_khr_fp16
7939 half __ovld modf(half, __global half *);
7940 half2 __ovld modf(half2, __global half2 *);
7941 half3 __ovld modf(half3, __global half3 *);
7942 half4 __ovld modf(half4, __global half4 *);
7943 half8 __ovld modf(half8, __global half8 *);
7944 half16 __ovld modf(half16, __global half16 *);
7945 half __ovld modf(half, __local half *);
7946 half2 __ovld modf(half2, __local half2 *);
7947 half3 __ovld modf(half3, __local half3 *);
7948 half4 __ovld modf(half4, __local half4 *);
7949 half8 __ovld modf(half8, __local half8 *);
7950 half16 __ovld modf(half16, __local half16 *);
7951 half __ovld modf(half, __private half *);
7952 half2 __ovld modf(half2, __private half2 *);
7953 half3 __ovld modf(half3, __private half3 *);
7954 half4 __ovld modf(half4, __private half4 *);
7955 half8 __ovld modf(half8, __private half8 *);
7956 half16 __ovld modf(half16, __private half16 *);
7957 #endif //cl_khr_fp16
7958 #endif //defined(__opencl_c_named_address_space_builtins)
7961 * Returns a quiet NaN. The nancode may be placed
7962 * in the significand of the resulting NaN.
7964 float __ovld __cnfn nan(uint);
7965 float2 __ovld __cnfn nan(uint2);
7966 float3 __ovld __cnfn nan(uint3);
7967 float4 __ovld __cnfn nan(uint4);
7968 float8 __ovld __cnfn nan(uint8);
7969 float16 __ovld __cnfn nan(uint16);
7970 #ifdef cl_khr_fp64
7971 double __ovld __cnfn nan(ulong);
7972 double2 __ovld __cnfn nan(ulong2);
7973 double3 __ovld __cnfn nan(ulong3);
7974 double4 __ovld __cnfn nan(ulong4);
7975 double8 __ovld __cnfn nan(ulong8);
7976 double16 __ovld __cnfn nan(ulong16);
7977 #endif //cl_khr_fp64
7978 #ifdef cl_khr_fp16
7979 half __ovld __cnfn nan(ushort);
7980 half2 __ovld __cnfn nan(ushort2);
7981 half3 __ovld __cnfn nan(ushort3);
7982 half4 __ovld __cnfn nan(ushort4);
7983 half8 __ovld __cnfn nan(ushort8);
7984 half16 __ovld __cnfn nan(ushort16);
7985 #endif //cl_khr_fp16
7988 * Computes the next representable single-precision
7989 * floating-point value following x in the direction of
7990 * y. Thus, if y is less than x, nextafter() returns the
7991 * largest representable floating-point number less
7992 * than x.
7994 float __ovld __cnfn nextafter(float, float);
7995 float2 __ovld __cnfn nextafter(float2, float2);
7996 float3 __ovld __cnfn nextafter(float3, float3);
7997 float4 __ovld __cnfn nextafter(float4, float4);
7998 float8 __ovld __cnfn nextafter(float8, float8);
7999 float16 __ovld __cnfn nextafter(float16, float16);
8000 #ifdef cl_khr_fp64
8001 double __ovld __cnfn nextafter(double, double);
8002 double2 __ovld __cnfn nextafter(double2, double2);
8003 double3 __ovld __cnfn nextafter(double3, double3);
8004 double4 __ovld __cnfn nextafter(double4, double4);
8005 double8 __ovld __cnfn nextafter(double8, double8);
8006 double16 __ovld __cnfn nextafter(double16, double16);
8007 #endif //cl_khr_fp64
8008 #ifdef cl_khr_fp16
8009 half __ovld __cnfn nextafter(half, half);
8010 half2 __ovld __cnfn nextafter(half2, half2);
8011 half3 __ovld __cnfn nextafter(half3, half3);
8012 half4 __ovld __cnfn nextafter(half4, half4);
8013 half8 __ovld __cnfn nextafter(half8, half8);
8014 half16 __ovld __cnfn nextafter(half16, half16);
8015 #endif //cl_khr_fp16
8018 * Compute x to the power y.
8020 float __ovld __cnfn pow(float, float);
8021 float2 __ovld __cnfn pow(float2, float2);
8022 float3 __ovld __cnfn pow(float3, float3);
8023 float4 __ovld __cnfn pow(float4, float4);
8024 float8 __ovld __cnfn pow(float8, float8);
8025 float16 __ovld __cnfn pow(float16, float16);
8026 #ifdef cl_khr_fp64
8027 double __ovld __cnfn pow(double, double);
8028 double2 __ovld __cnfn pow(double2, double2);
8029 double3 __ovld __cnfn pow(double3, double3);
8030 double4 __ovld __cnfn pow(double4, double4);
8031 double8 __ovld __cnfn pow(double8, double8);
8032 double16 __ovld __cnfn pow(double16, double16);
8033 #endif //cl_khr_fp64
8034 #ifdef cl_khr_fp16
8035 half __ovld __cnfn pow(half, half);
8036 half2 __ovld __cnfn pow(half2, half2);
8037 half3 __ovld __cnfn pow(half3, half3);
8038 half4 __ovld __cnfn pow(half4, half4);
8039 half8 __ovld __cnfn pow(half8, half8);
8040 half16 __ovld __cnfn pow(half16, half16);
8041 #endif //cl_khr_fp16
8044 * Compute x to the power y, where y is an integer.
8046 float __ovld __cnfn pown(float, int);
8047 float2 __ovld __cnfn pown(float2, int2);
8048 float3 __ovld __cnfn pown(float3, int3);
8049 float4 __ovld __cnfn pown(float4, int4);
8050 float8 __ovld __cnfn pown(float8, int8);
8051 float16 __ovld __cnfn pown(float16, int16);
8052 #ifdef cl_khr_fp64
8053 double __ovld __cnfn pown(double, int);
8054 double2 __ovld __cnfn pown(double2, int2);
8055 double3 __ovld __cnfn pown(double3, int3);
8056 double4 __ovld __cnfn pown(double4, int4);
8057 double8 __ovld __cnfn pown(double8, int8);
8058 double16 __ovld __cnfn pown(double16, int16);
8059 #endif //cl_khr_fp64
8060 #ifdef cl_khr_fp16
8061 half __ovld __cnfn pown(half, int);
8062 half2 __ovld __cnfn pown(half2, int2);
8063 half3 __ovld __cnfn pown(half3, int3);
8064 half4 __ovld __cnfn pown(half4, int4);
8065 half8 __ovld __cnfn pown(half8, int8);
8066 half16 __ovld __cnfn pown(half16, int16);
8067 #endif //cl_khr_fp16
8070 * Compute x to the power y, where x is >= 0.
8072 float __ovld __cnfn powr(float, float);
8073 float2 __ovld __cnfn powr(float2, float2);
8074 float3 __ovld __cnfn powr(float3, float3);
8075 float4 __ovld __cnfn powr(float4, float4);
8076 float8 __ovld __cnfn powr(float8, float8);
8077 float16 __ovld __cnfn powr(float16, float16);
8078 #ifdef cl_khr_fp64
8079 double __ovld __cnfn powr(double, double);
8080 double2 __ovld __cnfn powr(double2, double2);
8081 double3 __ovld __cnfn powr(double3, double3);
8082 double4 __ovld __cnfn powr(double4, double4);
8083 double8 __ovld __cnfn powr(double8, double8);
8084 double16 __ovld __cnfn powr(double16, double16);
8085 #endif //cl_khr_fp64
8086 #ifdef cl_khr_fp16
8087 half __ovld __cnfn powr(half, half);
8088 half2 __ovld __cnfn powr(half2, half2);
8089 half3 __ovld __cnfn powr(half3, half3);
8090 half4 __ovld __cnfn powr(half4, half4);
8091 half8 __ovld __cnfn powr(half8, half8);
8092 half16 __ovld __cnfn powr(half16, half16);
8093 #endif //cl_khr_fp16
8096 * Compute the value r such that r = x - n*y, where n
8097 * is the integer nearest the exact value of x/y. If there
8098 * are two integers closest to x/y, n shall be the even
8099 * one. If r is zero, it is given the same sign as x.
8101 float __ovld __cnfn remainder(float, float);
8102 float2 __ovld __cnfn remainder(float2, float2);
8103 float3 __ovld __cnfn remainder(float3, float3);
8104 float4 __ovld __cnfn remainder(float4, float4);
8105 float8 __ovld __cnfn remainder(float8, float8);
8106 float16 __ovld __cnfn remainder(float16, float16);
8107 #ifdef cl_khr_fp64
8108 double __ovld __cnfn remainder(double, double);
8109 double2 __ovld __cnfn remainder(double2, double2);
8110 double3 __ovld __cnfn remainder(double3, double3);
8111 double4 __ovld __cnfn remainder(double4, double4);
8112 double8 __ovld __cnfn remainder(double8, double8);
8113 double16 __ovld __cnfn remainder(double16, double16);
8114 #endif //cl_khr_fp64
8115 #ifdef cl_khr_fp16
8116 half __ovld __cnfn remainder(half, half);
8117 half2 __ovld __cnfn remainder(half2, half2);
8118 half3 __ovld __cnfn remainder(half3, half3);
8119 half4 __ovld __cnfn remainder(half4, half4);
8120 half8 __ovld __cnfn remainder(half8, half8);
8121 half16 __ovld __cnfn remainder(half16, half16);
8122 #endif //cl_khr_fp16
8125 * The remquo function computes the value r such
8126 * that r = x - n*y, where n is the integer nearest the
8127 * exact value of x/y. If there are two integers closest
8128 * to x/y, n shall be the even one. If r is zero, it is
8129 * given the same sign as x. This is the same value
8130 * that is returned by the remainder function.
8131 * remquo also calculates the lower seven bits of the
8132 * integral quotient x/y, and gives that value the same
8133 * sign as x/y. It stores this signed value in the object
8134 * pointed to by quo.
8136 #if defined(__opencl_c_generic_address_space)
8137 float __ovld remquo(float, float, int *);
8138 float2 __ovld remquo(float2, float2, int2 *);
8139 float3 __ovld remquo(float3, float3, int3 *);
8140 float4 __ovld remquo(float4, float4, int4 *);
8141 float8 __ovld remquo(float8, float8, int8 *);
8142 float16 __ovld remquo(float16, float16, int16 *);
8143 #ifdef cl_khr_fp64
8144 double __ovld remquo(double, double, int *);
8145 double2 __ovld remquo(double2, double2, int2 *);
8146 double3 __ovld remquo(double3, double3, int3 *);
8147 double4 __ovld remquo(double4, double4, int4 *);
8148 double8 __ovld remquo(double8, double8, int8 *);
8149 double16 __ovld remquo(double16, double16, int16 *);
8150 #endif //cl_khr_fp64
8151 #ifdef cl_khr_fp16
8152 half __ovld remquo(half, half, int *);
8153 half2 __ovld remquo(half2, half2, int2 *);
8154 half3 __ovld remquo(half3, half3, int3 *);
8155 half4 __ovld remquo(half4, half4, int4 *);
8156 half8 __ovld remquo(half8, half8, int8 *);
8157 half16 __ovld remquo(half16, half16, int16 *);
8158 #endif //cl_khr_fp16
8159 #endif //defined(__opencl_c_generic_address_space)
8161 #if defined(__opencl_c_named_address_space_builtins)
8162 float __ovld remquo(float, float, __global int *);
8163 float2 __ovld remquo(float2, float2, __global int2 *);
8164 float3 __ovld remquo(float3, float3, __global int3 *);
8165 float4 __ovld remquo(float4, float4, __global int4 *);
8166 float8 __ovld remquo(float8, float8, __global int8 *);
8167 float16 __ovld remquo(float16, float16, __global int16 *);
8168 float __ovld remquo(float, float, __local int *);
8169 float2 __ovld remquo(float2, float2, __local int2 *);
8170 float3 __ovld remquo(float3, float3, __local int3 *);
8171 float4 __ovld remquo(float4, float4, __local int4 *);
8172 float8 __ovld remquo(float8, float8, __local int8 *);
8173 float16 __ovld remquo(float16, float16, __local int16 *);
8174 float __ovld remquo(float, float, __private int *);
8175 float2 __ovld remquo(float2, float2, __private int2 *);
8176 float3 __ovld remquo(float3, float3, __private int3 *);
8177 float4 __ovld remquo(float4, float4, __private int4 *);
8178 float8 __ovld remquo(float8, float8, __private int8 *);
8179 float16 __ovld remquo(float16, float16, __private int16 *);
8180 #ifdef cl_khr_fp64
8181 double __ovld remquo(double, double, __global int *);
8182 double2 __ovld remquo(double2, double2, __global int2 *);
8183 double3 __ovld remquo(double3, double3, __global int3 *);
8184 double4 __ovld remquo(double4, double4, __global int4 *);
8185 double8 __ovld remquo(double8, double8, __global int8 *);
8186 double16 __ovld remquo(double16, double16, __global int16 *);
8187 double __ovld remquo(double, double, __local int *);
8188 double2 __ovld remquo(double2, double2, __local int2 *);
8189 double3 __ovld remquo(double3, double3, __local int3 *);
8190 double4 __ovld remquo(double4, double4, __local int4 *);
8191 double8 __ovld remquo(double8, double8, __local int8 *);
8192 double16 __ovld remquo(double16, double16, __local int16 *);
8193 double __ovld remquo(double, double, __private int *);
8194 double2 __ovld remquo(double2, double2, __private int2 *);
8195 double3 __ovld remquo(double3, double3, __private int3 *);
8196 double4 __ovld remquo(double4, double4, __private int4 *);
8197 double8 __ovld remquo(double8, double8, __private int8 *);
8198 double16 __ovld remquo(double16, double16, __private int16 *);
8199 #endif //cl_khr_fp64
8200 #ifdef cl_khr_fp16
8201 half __ovld remquo(half, half, __global int *);
8202 half2 __ovld remquo(half2, half2, __global int2 *);
8203 half3 __ovld remquo(half3, half3, __global int3 *);
8204 half4 __ovld remquo(half4, half4, __global int4 *);
8205 half8 __ovld remquo(half8, half8, __global int8 *);
8206 half16 __ovld remquo(half16, half16, __global int16 *);
8207 half __ovld remquo(half, half, __local int *);
8208 half2 __ovld remquo(half2, half2, __local int2 *);
8209 half3 __ovld remquo(half3, half3, __local int3 *);
8210 half4 __ovld remquo(half4, half4, __local int4 *);
8211 half8 __ovld remquo(half8, half8, __local int8 *);
8212 half16 __ovld remquo(half16, half16, __local int16 *);
8213 half __ovld remquo(half, half, __private int *);
8214 half2 __ovld remquo(half2, half2, __private int2 *);
8215 half3 __ovld remquo(half3, half3, __private int3 *);
8216 half4 __ovld remquo(half4, half4, __private int4 *);
8217 half8 __ovld remquo(half8, half8, __private int8 *);
8218 half16 __ovld remquo(half16, half16, __private int16 *);
8219 #endif //cl_khr_fp16
8220 #endif //defined(__opencl_c_named_address_space_builtins)
8222 * Round to integral value (using round to nearest
8223 * even rounding mode) in floating-point format.
8224 * Refer to section 7.1 for description of rounding
8225 * modes.
8227 float __ovld __cnfn rint(float);
8228 float2 __ovld __cnfn rint(float2);
8229 float3 __ovld __cnfn rint(float3);
8230 float4 __ovld __cnfn rint(float4);
8231 float8 __ovld __cnfn rint(float8);
8232 float16 __ovld __cnfn rint(float16);
8233 #ifdef cl_khr_fp64
8234 double __ovld __cnfn rint(double);
8235 double2 __ovld __cnfn rint(double2);
8236 double3 __ovld __cnfn rint(double3);
8237 double4 __ovld __cnfn rint(double4);
8238 double8 __ovld __cnfn rint(double8);
8239 double16 __ovld __cnfn rint(double16);
8240 #endif //cl_khr_fp64
8241 #ifdef cl_khr_fp16
8242 half __ovld __cnfn rint(half);
8243 half2 __ovld __cnfn rint(half2);
8244 half3 __ovld __cnfn rint(half3);
8245 half4 __ovld __cnfn rint(half4);
8246 half8 __ovld __cnfn rint(half8);
8247 half16 __ovld __cnfn rint(half16);
8248 #endif //cl_khr_fp16
8251 * Compute x to the power 1/y.
8253 float __ovld __cnfn rootn(float, int);
8254 float2 __ovld __cnfn rootn(float2, int2);
8255 float3 __ovld __cnfn rootn(float3, int3);
8256 float4 __ovld __cnfn rootn(float4, int4);
8257 float8 __ovld __cnfn rootn(float8, int8);
8258 float16 __ovld __cnfn rootn(float16, int16);
8259 #ifdef cl_khr_fp64
8260 double __ovld __cnfn rootn(double, int);
8261 double2 __ovld __cnfn rootn(double2, int2);
8262 double3 __ovld __cnfn rootn(double3, int3);
8263 double4 __ovld __cnfn rootn(double4, int4);
8264 double8 __ovld __cnfn rootn(double8, int8);
8265 double16 __ovld __cnfn rootn(double16, int16);
8266 #endif //cl_khr_fp64
8267 #ifdef cl_khr_fp16
8268 half __ovld __cnfn rootn(half, int);
8269 half2 __ovld __cnfn rootn(half2, int2);
8270 half3 __ovld __cnfn rootn(half3, int3);
8271 half4 __ovld __cnfn rootn(half4, int4);
8272 half8 __ovld __cnfn rootn(half8, int8);
8273 half16 __ovld __cnfn rootn(half16, int16);
8274 #endif //cl_khr_fp16
8277 * Return the integral value nearest to x rounding
8278 * halfway cases away from zero, regardless of the
8279 * current rounding direction.
8281 float __ovld __cnfn round(float);
8282 float2 __ovld __cnfn round(float2);
8283 float3 __ovld __cnfn round(float3);
8284 float4 __ovld __cnfn round(float4);
8285 float8 __ovld __cnfn round(float8);
8286 float16 __ovld __cnfn round(float16);
8287 #ifdef cl_khr_fp64
8288 double __ovld __cnfn round(double);
8289 double2 __ovld __cnfn round(double2);
8290 double3 __ovld __cnfn round(double3);
8291 double4 __ovld __cnfn round(double4);
8292 double8 __ovld __cnfn round(double8);
8293 double16 __ovld __cnfn round(double16);
8294 #endif //cl_khr_fp64
8295 #ifdef cl_khr_fp16
8296 half __ovld __cnfn round(half);
8297 half2 __ovld __cnfn round(half2);
8298 half3 __ovld __cnfn round(half3);
8299 half4 __ovld __cnfn round(half4);
8300 half8 __ovld __cnfn round(half8);
8301 half16 __ovld __cnfn round(half16);
8302 #endif //cl_khr_fp16
8305 * Compute inverse square root.
8307 float __ovld __cnfn rsqrt(float);
8308 float2 __ovld __cnfn rsqrt(float2);
8309 float3 __ovld __cnfn rsqrt(float3);
8310 float4 __ovld __cnfn rsqrt(float4);
8311 float8 __ovld __cnfn rsqrt(float8);
8312 float16 __ovld __cnfn rsqrt(float16);
8313 #ifdef cl_khr_fp64
8314 double __ovld __cnfn rsqrt(double);
8315 double2 __ovld __cnfn rsqrt(double2);
8316 double3 __ovld __cnfn rsqrt(double3);
8317 double4 __ovld __cnfn rsqrt(double4);
8318 double8 __ovld __cnfn rsqrt(double8);
8319 double16 __ovld __cnfn rsqrt(double16);
8320 #endif //cl_khr_fp64
8321 #ifdef cl_khr_fp16
8322 half __ovld __cnfn rsqrt(half);
8323 half2 __ovld __cnfn rsqrt(half2);
8324 half3 __ovld __cnfn rsqrt(half3);
8325 half4 __ovld __cnfn rsqrt(half4);
8326 half8 __ovld __cnfn rsqrt(half8);
8327 half16 __ovld __cnfn rsqrt(half16);
8328 #endif //cl_khr_fp16
8331 * Compute sine.
8333 float __ovld __cnfn sin(float);
8334 float2 __ovld __cnfn sin(float2);
8335 float3 __ovld __cnfn sin(float3);
8336 float4 __ovld __cnfn sin(float4);
8337 float8 __ovld __cnfn sin(float8);
8338 float16 __ovld __cnfn sin(float16);
8339 #ifdef cl_khr_fp64
8340 double __ovld __cnfn sin(double);
8341 double2 __ovld __cnfn sin(double2);
8342 double3 __ovld __cnfn sin(double3);
8343 double4 __ovld __cnfn sin(double4);
8344 double8 __ovld __cnfn sin(double8);
8345 double16 __ovld __cnfn sin(double16);
8346 #endif //cl_khr_fp64
8347 #ifdef cl_khr_fp16
8348 half __ovld __cnfn sin(half);
8349 half2 __ovld __cnfn sin(half2);
8350 half3 __ovld __cnfn sin(half3);
8351 half4 __ovld __cnfn sin(half4);
8352 half8 __ovld __cnfn sin(half8);
8353 half16 __ovld __cnfn sin(half16);
8354 #endif //cl_khr_fp16
8357 * Compute sine and cosine of x. The computed sine
8358 * is the return value and computed cosine is returned
8359 * in cosval.
8361 #if defined(__opencl_c_generic_address_space)
8362 float __ovld sincos(float, float *);
8363 float2 __ovld sincos(float2, float2 *);
8364 float3 __ovld sincos(float3, float3 *);
8365 float4 __ovld sincos(float4, float4 *);
8366 float8 __ovld sincos(float8, float8 *);
8367 float16 __ovld sincos(float16, float16 *);
8368 #ifdef cl_khr_fp64
8369 double __ovld sincos(double, double *);
8370 double2 __ovld sincos(double2, double2 *);
8371 double3 __ovld sincos(double3, double3 *);
8372 double4 __ovld sincos(double4, double4 *);
8373 double8 __ovld sincos(double8, double8 *);
8374 double16 __ovld sincos(double16, double16 *);
8375 #endif //cl_khr_fp64
8376 #ifdef cl_khr_fp16
8377 half __ovld sincos(half, half *);
8378 half2 __ovld sincos(half2, half2 *);
8379 half3 __ovld sincos(half3, half3 *);
8380 half4 __ovld sincos(half4, half4 *);
8381 half8 __ovld sincos(half8, half8 *);
8382 half16 __ovld sincos(half16, half16 *);
8383 #endif //cl_khr_fp16
8384 #endif //defined(__opencl_c_generic_address_space)
8386 #if defined(__opencl_c_named_address_space_builtins)
8387 float __ovld sincos(float, __global float *);
8388 float2 __ovld sincos(float2, __global float2 *);
8389 float3 __ovld sincos(float3, __global float3 *);
8390 float4 __ovld sincos(float4, __global float4 *);
8391 float8 __ovld sincos(float8, __global float8 *);
8392 float16 __ovld sincos(float16, __global float16 *);
8393 float __ovld sincos(float, __local float *);
8394 float2 __ovld sincos(float2, __local float2 *);
8395 float3 __ovld sincos(float3, __local float3 *);
8396 float4 __ovld sincos(float4, __local float4 *);
8397 float8 __ovld sincos(float8, __local float8 *);
8398 float16 __ovld sincos(float16, __local float16 *);
8399 float __ovld sincos(float, __private float *);
8400 float2 __ovld sincos(float2, __private float2 *);
8401 float3 __ovld sincos(float3, __private float3 *);
8402 float4 __ovld sincos(float4, __private float4 *);
8403 float8 __ovld sincos(float8, __private float8 *);
8404 float16 __ovld sincos(float16, __private float16 *);
8405 #ifdef cl_khr_fp64
8406 double __ovld sincos(double, __global double *);
8407 double2 __ovld sincos(double2, __global double2 *);
8408 double3 __ovld sincos(double3, __global double3 *);
8409 double4 __ovld sincos(double4, __global double4 *);
8410 double8 __ovld sincos(double8, __global double8 *);
8411 double16 __ovld sincos(double16, __global double16 *);
8412 double __ovld sincos(double, __local double *);
8413 double2 __ovld sincos(double2, __local double2 *);
8414 double3 __ovld sincos(double3, __local double3 *);
8415 double4 __ovld sincos(double4, __local double4 *);
8416 double8 __ovld sincos(double8, __local double8 *);
8417 double16 __ovld sincos(double16, __local double16 *);
8418 double __ovld sincos(double, __private double *);
8419 double2 __ovld sincos(double2, __private double2 *);
8420 double3 __ovld sincos(double3, __private double3 *);
8421 double4 __ovld sincos(double4, __private double4 *);
8422 double8 __ovld sincos(double8, __private double8 *);
8423 double16 __ovld sincos(double16, __private double16 *);
8424 #endif //cl_khr_fp64
8425 #ifdef cl_khr_fp16
8426 half __ovld sincos(half, __global half *);
8427 half2 __ovld sincos(half2, __global half2 *);
8428 half3 __ovld sincos(half3, __global half3 *);
8429 half4 __ovld sincos(half4, __global half4 *);
8430 half8 __ovld sincos(half8, __global half8 *);
8431 half16 __ovld sincos(half16, __global half16 *);
8432 half __ovld sincos(half, __local half *);
8433 half2 __ovld sincos(half2, __local half2 *);
8434 half3 __ovld sincos(half3, __local half3 *);
8435 half4 __ovld sincos(half4, __local half4 *);
8436 half8 __ovld sincos(half8, __local half8 *);
8437 half16 __ovld sincos(half16, __local half16 *);
8438 half __ovld sincos(half, __private half *);
8439 half2 __ovld sincos(half2, __private half2 *);
8440 half3 __ovld sincos(half3, __private half3 *);
8441 half4 __ovld sincos(half4, __private half4 *);
8442 half8 __ovld sincos(half8, __private half8 *);
8443 half16 __ovld sincos(half16, __private half16 *);
8444 #endif //cl_khr_fp16
8445 #endif //defined(__opencl_c_named_address_space_builtins)
8448 * Compute hyperbolic sine.
8450 float __ovld __cnfn sinh(float);
8451 float2 __ovld __cnfn sinh(float2);
8452 float3 __ovld __cnfn sinh(float3);
8453 float4 __ovld __cnfn sinh(float4);
8454 float8 __ovld __cnfn sinh(float8);
8455 float16 __ovld __cnfn sinh(float16);
8456 #ifdef cl_khr_fp64
8457 double __ovld __cnfn sinh(double);
8458 double2 __ovld __cnfn sinh(double2);
8459 double3 __ovld __cnfn sinh(double3);
8460 double4 __ovld __cnfn sinh(double4);
8461 double8 __ovld __cnfn sinh(double8);
8462 double16 __ovld __cnfn sinh(double16);
8463 #endif //cl_khr_fp64
8464 #ifdef cl_khr_fp16
8465 half __ovld __cnfn sinh(half);
8466 half2 __ovld __cnfn sinh(half2);
8467 half3 __ovld __cnfn sinh(half3);
8468 half4 __ovld __cnfn sinh(half4);
8469 half8 __ovld __cnfn sinh(half8);
8470 half16 __ovld __cnfn sinh(half16);
8471 #endif //cl_khr_fp16
8474 * Compute sin (PI * x).
8476 float __ovld __cnfn sinpi(float);
8477 float2 __ovld __cnfn sinpi(float2);
8478 float3 __ovld __cnfn sinpi(float3);
8479 float4 __ovld __cnfn sinpi(float4);
8480 float8 __ovld __cnfn sinpi(float8);
8481 float16 __ovld __cnfn sinpi(float16);
8482 #ifdef cl_khr_fp64
8483 double __ovld __cnfn sinpi(double);
8484 double2 __ovld __cnfn sinpi(double2);
8485 double3 __ovld __cnfn sinpi(double3);
8486 double4 __ovld __cnfn sinpi(double4);
8487 double8 __ovld __cnfn sinpi(double8);
8488 double16 __ovld __cnfn sinpi(double16);
8489 #endif //cl_khr_fp64
8490 #ifdef cl_khr_fp16
8491 half __ovld __cnfn sinpi(half);
8492 half2 __ovld __cnfn sinpi(half2);
8493 half3 __ovld __cnfn sinpi(half3);
8494 half4 __ovld __cnfn sinpi(half4);
8495 half8 __ovld __cnfn sinpi(half8);
8496 half16 __ovld __cnfn sinpi(half16);
8497 #endif //cl_khr_fp16
8500 * Compute tangent.
8502 float __ovld __cnfn tan(float);
8503 float2 __ovld __cnfn tan(float2);
8504 float3 __ovld __cnfn tan(float3);
8505 float4 __ovld __cnfn tan(float4);
8506 float8 __ovld __cnfn tan(float8);
8507 float16 __ovld __cnfn tan(float16);
8508 #ifdef cl_khr_fp64
8509 double __ovld __cnfn tan(double);
8510 double2 __ovld __cnfn tan(double2);
8511 double3 __ovld __cnfn tan(double3);
8512 double4 __ovld __cnfn tan(double4);
8513 double8 __ovld __cnfn tan(double8);
8514 double16 __ovld __cnfn tan(double16);
8515 #endif //cl_khr_fp64
8516 #ifdef cl_khr_fp16
8517 half __ovld __cnfn tan(half);
8518 half2 __ovld __cnfn tan(half2);
8519 half3 __ovld __cnfn tan(half3);
8520 half4 __ovld __cnfn tan(half4);
8521 half8 __ovld __cnfn tan(half8);
8522 half16 __ovld __cnfn tan(half16);
8523 #endif //cl_khr_fp16
8526 * Compute hyperbolic tangent.
8528 float __ovld __cnfn tanh(float);
8529 float2 __ovld __cnfn tanh(float2);
8530 float3 __ovld __cnfn tanh(float3);
8531 float4 __ovld __cnfn tanh(float4);
8532 float8 __ovld __cnfn tanh(float8);
8533 float16 __ovld __cnfn tanh(float16);
8534 #ifdef cl_khr_fp64
8535 double __ovld __cnfn tanh(double);
8536 double2 __ovld __cnfn tanh(double2);
8537 double3 __ovld __cnfn tanh(double3);
8538 double4 __ovld __cnfn tanh(double4);
8539 double8 __ovld __cnfn tanh(double8);
8540 double16 __ovld __cnfn tanh(double16);
8541 #endif //cl_khr_fp64
8542 #ifdef cl_khr_fp16
8543 half __ovld __cnfn tanh(half);
8544 half2 __ovld __cnfn tanh(half2);
8545 half3 __ovld __cnfn tanh(half3);
8546 half4 __ovld __cnfn tanh(half4);
8547 half8 __ovld __cnfn tanh(half8);
8548 half16 __ovld __cnfn tanh(half16);
8549 #endif //cl_khr_fp16
8552 * Compute tan (PI * x).
8554 float __ovld __cnfn tanpi(float);
8555 float2 __ovld __cnfn tanpi(float2);
8556 float3 __ovld __cnfn tanpi(float3);
8557 float4 __ovld __cnfn tanpi(float4);
8558 float8 __ovld __cnfn tanpi(float8);
8559 float16 __ovld __cnfn tanpi(float16);
8560 #ifdef cl_khr_fp64
8561 double __ovld __cnfn tanpi(double);
8562 double2 __ovld __cnfn tanpi(double2);
8563 double3 __ovld __cnfn tanpi(double3);
8564 double4 __ovld __cnfn tanpi(double4);
8565 double8 __ovld __cnfn tanpi(double8);
8566 double16 __ovld __cnfn tanpi(double16);
8567 #endif //cl_khr_fp64
8568 #ifdef cl_khr_fp16
8569 half __ovld __cnfn tanpi(half);
8570 half2 __ovld __cnfn tanpi(half2);
8571 half3 __ovld __cnfn tanpi(half3);
8572 half4 __ovld __cnfn tanpi(half4);
8573 half8 __ovld __cnfn tanpi(half8);
8574 half16 __ovld __cnfn tanpi(half16);
8575 #endif //cl_khr_fp16
8578 * Compute the gamma function.
8580 float __ovld __cnfn tgamma(float);
8581 float2 __ovld __cnfn tgamma(float2);
8582 float3 __ovld __cnfn tgamma(float3);
8583 float4 __ovld __cnfn tgamma(float4);
8584 float8 __ovld __cnfn tgamma(float8);
8585 float16 __ovld __cnfn tgamma(float16);
8586 #ifdef cl_khr_fp64
8587 double __ovld __cnfn tgamma(double);
8588 double2 __ovld __cnfn tgamma(double2);
8589 double3 __ovld __cnfn tgamma(double3);
8590 double4 __ovld __cnfn tgamma(double4);
8591 double8 __ovld __cnfn tgamma(double8);
8592 double16 __ovld __cnfn tgamma(double16);
8593 #endif //cl_khr_fp64
8594 #ifdef cl_khr_fp16
8595 half __ovld __cnfn tgamma(half);
8596 half2 __ovld __cnfn tgamma(half2);
8597 half3 __ovld __cnfn tgamma(half3);
8598 half4 __ovld __cnfn tgamma(half4);
8599 half8 __ovld __cnfn tgamma(half8);
8600 half16 __ovld __cnfn tgamma(half16);
8601 #endif //cl_khr_fp16
8604 * Round to integral value using the round to zero
8605 * rounding mode.
8607 float __ovld __cnfn trunc(float);
8608 float2 __ovld __cnfn trunc(float2);
8609 float3 __ovld __cnfn trunc(float3);
8610 float4 __ovld __cnfn trunc(float4);
8611 float8 __ovld __cnfn trunc(float8);
8612 float16 __ovld __cnfn trunc(float16);
8613 #ifdef cl_khr_fp64
8614 double __ovld __cnfn trunc(double);
8615 double2 __ovld __cnfn trunc(double2);
8616 double3 __ovld __cnfn trunc(double3);
8617 double4 __ovld __cnfn trunc(double4);
8618 double8 __ovld __cnfn trunc(double8);
8619 double16 __ovld __cnfn trunc(double16);
8620 #endif //cl_khr_fp64
8621 #ifdef cl_khr_fp16
8622 half __ovld __cnfn trunc(half);
8623 half2 __ovld __cnfn trunc(half2);
8624 half3 __ovld __cnfn trunc(half3);
8625 half4 __ovld __cnfn trunc(half4);
8626 half8 __ovld __cnfn trunc(half8);
8627 half16 __ovld __cnfn trunc(half16);
8628 #endif //cl_khr_fp16
8631 * Compute cosine. x must be in the range -2^16 ... +2^16.
8633 float __ovld __cnfn half_cos(float);
8634 float2 __ovld __cnfn half_cos(float2);
8635 float3 __ovld __cnfn half_cos(float3);
8636 float4 __ovld __cnfn half_cos(float4);
8637 float8 __ovld __cnfn half_cos(float8);
8638 float16 __ovld __cnfn half_cos(float16);
8641 * Compute x / y.
8643 float __ovld __cnfn half_divide(float, float);
8644 float2 __ovld __cnfn half_divide(float2, float2);
8645 float3 __ovld __cnfn half_divide(float3, float3);
8646 float4 __ovld __cnfn half_divide(float4, float4);
8647 float8 __ovld __cnfn half_divide(float8, float8);
8648 float16 __ovld __cnfn half_divide(float16, float16);
8651 * Compute the base- e exponential of x.
8653 float __ovld __cnfn half_exp(float);
8654 float2 __ovld __cnfn half_exp(float2);
8655 float3 __ovld __cnfn half_exp(float3);
8656 float4 __ovld __cnfn half_exp(float4);
8657 float8 __ovld __cnfn half_exp(float8);
8658 float16 __ovld __cnfn half_exp(float16);
8661 * Compute the base- 2 exponential of x.
8663 float __ovld __cnfn half_exp2(float);
8664 float2 __ovld __cnfn half_exp2(float2);
8665 float3 __ovld __cnfn half_exp2(float3);
8666 float4 __ovld __cnfn half_exp2(float4);
8667 float8 __ovld __cnfn half_exp2(float8);
8668 float16 __ovld __cnfn half_exp2(float16);
8671 * Compute the base- 10 exponential of x.
8673 float __ovld __cnfn half_exp10(float);
8674 float2 __ovld __cnfn half_exp10(float2);
8675 float3 __ovld __cnfn half_exp10(float3);
8676 float4 __ovld __cnfn half_exp10(float4);
8677 float8 __ovld __cnfn half_exp10(float8);
8678 float16 __ovld __cnfn half_exp10(float16);
8681 * Compute natural logarithm.
8683 float __ovld __cnfn half_log(float);
8684 float2 __ovld __cnfn half_log(float2);
8685 float3 __ovld __cnfn half_log(float3);
8686 float4 __ovld __cnfn half_log(float4);
8687 float8 __ovld __cnfn half_log(float8);
8688 float16 __ovld __cnfn half_log(float16);
8691 * Compute a base 2 logarithm.
8693 float __ovld __cnfn half_log2(float);
8694 float2 __ovld __cnfn half_log2(float2);
8695 float3 __ovld __cnfn half_log2(float3);
8696 float4 __ovld __cnfn half_log2(float4);
8697 float8 __ovld __cnfn half_log2(float8);
8698 float16 __ovld __cnfn half_log2(float16);
8701 * Compute a base 10 logarithm.
8703 float __ovld __cnfn half_log10(float);
8704 float2 __ovld __cnfn half_log10(float2);
8705 float3 __ovld __cnfn half_log10(float3);
8706 float4 __ovld __cnfn half_log10(float4);
8707 float8 __ovld __cnfn half_log10(float8);
8708 float16 __ovld __cnfn half_log10(float16);
8711 * Compute x to the power y, where x is >= 0.
8713 float __ovld __cnfn half_powr(float, float);
8714 float2 __ovld __cnfn half_powr(float2, float2);
8715 float3 __ovld __cnfn half_powr(float3, float3);
8716 float4 __ovld __cnfn half_powr(float4, float4);
8717 float8 __ovld __cnfn half_powr(float8, float8);
8718 float16 __ovld __cnfn half_powr(float16, float16);
8721 * Compute reciprocal.
8723 float __ovld __cnfn half_recip(float);
8724 float2 __ovld __cnfn half_recip(float2);
8725 float3 __ovld __cnfn half_recip(float3);
8726 float4 __ovld __cnfn half_recip(float4);
8727 float8 __ovld __cnfn half_recip(float8);
8728 float16 __ovld __cnfn half_recip(float16);
8731 * Compute inverse square root.
8733 float __ovld __cnfn half_rsqrt(float);
8734 float2 __ovld __cnfn half_rsqrt(float2);
8735 float3 __ovld __cnfn half_rsqrt(float3);
8736 float4 __ovld __cnfn half_rsqrt(float4);
8737 float8 __ovld __cnfn half_rsqrt(float8);
8738 float16 __ovld __cnfn half_rsqrt(float16);
8741 * Compute sine. x must be in the range -2^16 ... +2^16.
8743 float __ovld __cnfn half_sin(float);
8744 float2 __ovld __cnfn half_sin(float2);
8745 float3 __ovld __cnfn half_sin(float3);
8746 float4 __ovld __cnfn half_sin(float4);
8747 float8 __ovld __cnfn half_sin(float8);
8748 float16 __ovld __cnfn half_sin(float16);
8751 * Compute square root.
8753 float __ovld __cnfn half_sqrt(float);
8754 float2 __ovld __cnfn half_sqrt(float2);
8755 float3 __ovld __cnfn half_sqrt(float3);
8756 float4 __ovld __cnfn half_sqrt(float4);
8757 float8 __ovld __cnfn half_sqrt(float8);
8758 float16 __ovld __cnfn half_sqrt(float16);
8761 * Compute tangent. x must be in the range -216 ... +216.
8763 float __ovld __cnfn half_tan(float);
8764 float2 __ovld __cnfn half_tan(float2);
8765 float3 __ovld __cnfn half_tan(float3);
8766 float4 __ovld __cnfn half_tan(float4);
8767 float8 __ovld __cnfn half_tan(float8);
8768 float16 __ovld __cnfn half_tan(float16);
8771 * Compute cosine over an implementation-defined range.
8772 * The maximum error is implementation-defined.
8774 float __ovld __cnfn native_cos(float);
8775 float2 __ovld __cnfn native_cos(float2);
8776 float3 __ovld __cnfn native_cos(float3);
8777 float4 __ovld __cnfn native_cos(float4);
8778 float8 __ovld __cnfn native_cos(float8);
8779 float16 __ovld __cnfn native_cos(float16);
8782 * Compute x / y over an implementation-defined range.
8783 * The maximum error is implementation-defined.
8785 float __ovld __cnfn native_divide(float, float);
8786 float2 __ovld __cnfn native_divide(float2, float2);
8787 float3 __ovld __cnfn native_divide(float3, float3);
8788 float4 __ovld __cnfn native_divide(float4, float4);
8789 float8 __ovld __cnfn native_divide(float8, float8);
8790 float16 __ovld __cnfn native_divide(float16, float16);
8793 * Compute the base- e exponential of x over an
8794 * implementation-defined range. The maximum error is
8795 * implementation-defined.
8797 float __ovld __cnfn native_exp(float);
8798 float2 __ovld __cnfn native_exp(float2);
8799 float3 __ovld __cnfn native_exp(float3);
8800 float4 __ovld __cnfn native_exp(float4);
8801 float8 __ovld __cnfn native_exp(float8);
8802 float16 __ovld __cnfn native_exp(float16);
8805 * Compute the base- 2 exponential of x over an
8806 * implementation-defined range. The maximum error is
8807 * implementation-defined.
8809 float __ovld __cnfn native_exp2(float);
8810 float2 __ovld __cnfn native_exp2(float2);
8811 float3 __ovld __cnfn native_exp2(float3);
8812 float4 __ovld __cnfn native_exp2(float4);
8813 float8 __ovld __cnfn native_exp2(float8);
8814 float16 __ovld __cnfn native_exp2(float16);
8817 * Compute the base- 10 exponential of x over an
8818 * implementation-defined range. The maximum error is
8819 * implementation-defined.
8821 float __ovld __cnfn native_exp10(float);
8822 float2 __ovld __cnfn native_exp10(float2);
8823 float3 __ovld __cnfn native_exp10(float3);
8824 float4 __ovld __cnfn native_exp10(float4);
8825 float8 __ovld __cnfn native_exp10(float8);
8826 float16 __ovld __cnfn native_exp10(float16);
8829 * Compute natural logarithm over an implementationdefined
8830 * range. The maximum error is implementation
8831 * defined.
8833 float __ovld __cnfn native_log(float);
8834 float2 __ovld __cnfn native_log(float2);
8835 float3 __ovld __cnfn native_log(float3);
8836 float4 __ovld __cnfn native_log(float4);
8837 float8 __ovld __cnfn native_log(float8);
8838 float16 __ovld __cnfn native_log(float16);
8841 * Compute a base 2 logarithm over an implementationdefined
8842 * range. The maximum error is implementationdefined.
8844 float __ovld __cnfn native_log2(float);
8845 float2 __ovld __cnfn native_log2(float2);
8846 float3 __ovld __cnfn native_log2(float3);
8847 float4 __ovld __cnfn native_log2(float4);
8848 float8 __ovld __cnfn native_log2(float8);
8849 float16 __ovld __cnfn native_log2(float16);
8852 * Compute a base 10 logarithm over an implementationdefined
8853 * range. The maximum error is implementationdefined.
8855 float __ovld __cnfn native_log10(float);
8856 float2 __ovld __cnfn native_log10(float2);
8857 float3 __ovld __cnfn native_log10(float3);
8858 float4 __ovld __cnfn native_log10(float4);
8859 float8 __ovld __cnfn native_log10(float8);
8860 float16 __ovld __cnfn native_log10(float16);
8863 * Compute x to the power y, where x is >= 0. The range of
8864 * x and y are implementation-defined. The maximum error
8865 * is implementation-defined.
8867 float __ovld __cnfn native_powr(float, float);
8868 float2 __ovld __cnfn native_powr(float2, float2);
8869 float3 __ovld __cnfn native_powr(float3, float3);
8870 float4 __ovld __cnfn native_powr(float4, float4);
8871 float8 __ovld __cnfn native_powr(float8, float8);
8872 float16 __ovld __cnfn native_powr(float16, float16);
8875 * Compute reciprocal over an implementation-defined
8876 * range. The maximum error is implementation-defined.
8878 float __ovld __cnfn native_recip(float);
8879 float2 __ovld __cnfn native_recip(float2);
8880 float3 __ovld __cnfn native_recip(float3);
8881 float4 __ovld __cnfn native_recip(float4);
8882 float8 __ovld __cnfn native_recip(float8);
8883 float16 __ovld __cnfn native_recip(float16);
8886 * Compute inverse square root over an implementationdefined
8887 * range. The maximum error is implementationdefined.
8889 float __ovld __cnfn native_rsqrt(float);
8890 float2 __ovld __cnfn native_rsqrt(float2);
8891 float3 __ovld __cnfn native_rsqrt(float3);
8892 float4 __ovld __cnfn native_rsqrt(float4);
8893 float8 __ovld __cnfn native_rsqrt(float8);
8894 float16 __ovld __cnfn native_rsqrt(float16);
8897 * Compute sine over an implementation-defined range.
8898 * The maximum error is implementation-defined.
8900 float __ovld __cnfn native_sin(float);
8901 float2 __ovld __cnfn native_sin(float2);
8902 float3 __ovld __cnfn native_sin(float3);
8903 float4 __ovld __cnfn native_sin(float4);
8904 float8 __ovld __cnfn native_sin(float8);
8905 float16 __ovld __cnfn native_sin(float16);
8908 * Compute square root over an implementation-defined
8909 * range. The maximum error is implementation-defined.
8911 float __ovld __cnfn native_sqrt(float);
8912 float2 __ovld __cnfn native_sqrt(float2);
8913 float3 __ovld __cnfn native_sqrt(float3);
8914 float4 __ovld __cnfn native_sqrt(float4);
8915 float8 __ovld __cnfn native_sqrt(float8);
8916 float16 __ovld __cnfn native_sqrt(float16);
8919 * Compute tangent over an implementation-defined range.
8920 * The maximum error is implementation-defined.
8922 float __ovld __cnfn native_tan(float);
8923 float2 __ovld __cnfn native_tan(float2);
8924 float3 __ovld __cnfn native_tan(float3);
8925 float4 __ovld __cnfn native_tan(float4);
8926 float8 __ovld __cnfn native_tan(float8);
8927 float16 __ovld __cnfn native_tan(float16);
8929 // OpenCL v1.1 s6.11.3, v1.2 s6.12.3, v2.0 s6.13.3 - Integer Functions
8932 * Returns | x |.
8934 uchar __ovld __cnfn abs(char);
8935 uchar __ovld __cnfn abs(uchar);
8936 uchar2 __ovld __cnfn abs(char2);
8937 uchar2 __ovld __cnfn abs(uchar2);
8938 uchar3 __ovld __cnfn abs(char3);
8939 uchar3 __ovld __cnfn abs(uchar3);
8940 uchar4 __ovld __cnfn abs(char4);
8941 uchar4 __ovld __cnfn abs(uchar4);
8942 uchar8 __ovld __cnfn abs(char8);
8943 uchar8 __ovld __cnfn abs(uchar8);
8944 uchar16 __ovld __cnfn abs(char16);
8945 uchar16 __ovld __cnfn abs(uchar16);
8946 ushort __ovld __cnfn abs(short);
8947 ushort __ovld __cnfn abs(ushort);
8948 ushort2 __ovld __cnfn abs(short2);
8949 ushort2 __ovld __cnfn abs(ushort2);
8950 ushort3 __ovld __cnfn abs(short3);
8951 ushort3 __ovld __cnfn abs(ushort3);
8952 ushort4 __ovld __cnfn abs(short4);
8953 ushort4 __ovld __cnfn abs(ushort4);
8954 ushort8 __ovld __cnfn abs(short8);
8955 ushort8 __ovld __cnfn abs(ushort8);
8956 ushort16 __ovld __cnfn abs(short16);
8957 ushort16 __ovld __cnfn abs(ushort16);
8958 uint __ovld __cnfn abs(int);
8959 uint __ovld __cnfn abs(uint);
8960 uint2 __ovld __cnfn abs(int2);
8961 uint2 __ovld __cnfn abs(uint2);
8962 uint3 __ovld __cnfn abs(int3);
8963 uint3 __ovld __cnfn abs(uint3);
8964 uint4 __ovld __cnfn abs(int4);
8965 uint4 __ovld __cnfn abs(uint4);
8966 uint8 __ovld __cnfn abs(int8);
8967 uint8 __ovld __cnfn abs(uint8);
8968 uint16 __ovld __cnfn abs(int16);
8969 uint16 __ovld __cnfn abs(uint16);
8970 ulong __ovld __cnfn abs(long);
8971 ulong __ovld __cnfn abs(ulong);
8972 ulong2 __ovld __cnfn abs(long2);
8973 ulong2 __ovld __cnfn abs(ulong2);
8974 ulong3 __ovld __cnfn abs(long3);
8975 ulong3 __ovld __cnfn abs(ulong3);
8976 ulong4 __ovld __cnfn abs(long4);
8977 ulong4 __ovld __cnfn abs(ulong4);
8978 ulong8 __ovld __cnfn abs(long8);
8979 ulong8 __ovld __cnfn abs(ulong8);
8980 ulong16 __ovld __cnfn abs(long16);
8981 ulong16 __ovld __cnfn abs(ulong16);
8984 * Returns | x - y | without modulo overflow.
8986 uchar __ovld __cnfn abs_diff(char, char);
8987 uchar __ovld __cnfn abs_diff(uchar, uchar);
8988 uchar2 __ovld __cnfn abs_diff(char2, char2);
8989 uchar2 __ovld __cnfn abs_diff(uchar2, uchar2);
8990 uchar3 __ovld __cnfn abs_diff(char3, char3);
8991 uchar3 __ovld __cnfn abs_diff(uchar3, uchar3);
8992 uchar4 __ovld __cnfn abs_diff(char4, char4);
8993 uchar4 __ovld __cnfn abs_diff(uchar4, uchar4);
8994 uchar8 __ovld __cnfn abs_diff(char8, char8);
8995 uchar8 __ovld __cnfn abs_diff(uchar8, uchar8);
8996 uchar16 __ovld __cnfn abs_diff(char16, char16);
8997 uchar16 __ovld __cnfn abs_diff(uchar16, uchar16);
8998 ushort __ovld __cnfn abs_diff(short, short);
8999 ushort __ovld __cnfn abs_diff(ushort, ushort);
9000 ushort2 __ovld __cnfn abs_diff(short2, short2);
9001 ushort2 __ovld __cnfn abs_diff(ushort2, ushort2);
9002 ushort3 __ovld __cnfn abs_diff(short3, short3);
9003 ushort3 __ovld __cnfn abs_diff(ushort3, ushort3);
9004 ushort4 __ovld __cnfn abs_diff(short4, short4);
9005 ushort4 __ovld __cnfn abs_diff(ushort4, ushort4);
9006 ushort8 __ovld __cnfn abs_diff(short8, short8);
9007 ushort8 __ovld __cnfn abs_diff(ushort8, ushort8);
9008 ushort16 __ovld __cnfn abs_diff(short16, short16);
9009 ushort16 __ovld __cnfn abs_diff(ushort16, ushort16);
9010 uint __ovld __cnfn abs_diff(int, int);
9011 uint __ovld __cnfn abs_diff(uint, uint);
9012 uint2 __ovld __cnfn abs_diff(int2, int2);
9013 uint2 __ovld __cnfn abs_diff(uint2, uint2);
9014 uint3 __ovld __cnfn abs_diff(int3, int3);
9015 uint3 __ovld __cnfn abs_diff(uint3, uint3);
9016 uint4 __ovld __cnfn abs_diff(int4, int4);
9017 uint4 __ovld __cnfn abs_diff(uint4, uint4);
9018 uint8 __ovld __cnfn abs_diff(int8, int8);
9019 uint8 __ovld __cnfn abs_diff(uint8, uint8);
9020 uint16 __ovld __cnfn abs_diff(int16, int16);
9021 uint16 __ovld __cnfn abs_diff(uint16, uint16);
9022 ulong __ovld __cnfn abs_diff(long, long);
9023 ulong __ovld __cnfn abs_diff(ulong, ulong);
9024 ulong2 __ovld __cnfn abs_diff(long2, long2);
9025 ulong2 __ovld __cnfn abs_diff(ulong2, ulong2);
9026 ulong3 __ovld __cnfn abs_diff(long3, long3);
9027 ulong3 __ovld __cnfn abs_diff(ulong3, ulong3);
9028 ulong4 __ovld __cnfn abs_diff(long4, long4);
9029 ulong4 __ovld __cnfn abs_diff(ulong4, ulong4);
9030 ulong8 __ovld __cnfn abs_diff(long8, long8);
9031 ulong8 __ovld __cnfn abs_diff(ulong8, ulong8);
9032 ulong16 __ovld __cnfn abs_diff(long16, long16);
9033 ulong16 __ovld __cnfn abs_diff(ulong16, ulong16);
9036 * Returns x + y and saturates the result.
9038 char __ovld __cnfn add_sat(char, char);
9039 uchar __ovld __cnfn add_sat(uchar, uchar);
9040 char2 __ovld __cnfn add_sat(char2, char2);
9041 uchar2 __ovld __cnfn add_sat(uchar2, uchar2);
9042 char3 __ovld __cnfn add_sat(char3, char3);
9043 uchar3 __ovld __cnfn add_sat(uchar3, uchar3);
9044 char4 __ovld __cnfn add_sat(char4, char4);
9045 uchar4 __ovld __cnfn add_sat(uchar4, uchar4);
9046 char8 __ovld __cnfn add_sat(char8, char8);
9047 uchar8 __ovld __cnfn add_sat(uchar8, uchar8);
9048 char16 __ovld __cnfn add_sat(char16, char16);
9049 uchar16 __ovld __cnfn add_sat(uchar16, uchar16);
9050 short __ovld __cnfn add_sat(short, short);
9051 ushort __ovld __cnfn add_sat(ushort, ushort);
9052 short2 __ovld __cnfn add_sat(short2, short2);
9053 ushort2 __ovld __cnfn add_sat(ushort2, ushort2);
9054 short3 __ovld __cnfn add_sat(short3, short3);
9055 ushort3 __ovld __cnfn add_sat(ushort3, ushort3);
9056 short4 __ovld __cnfn add_sat(short4, short4);
9057 ushort4 __ovld __cnfn add_sat(ushort4, ushort4);
9058 short8 __ovld __cnfn add_sat(short8, short8);
9059 ushort8 __ovld __cnfn add_sat(ushort8, ushort8);
9060 short16 __ovld __cnfn add_sat(short16, short16);
9061 ushort16 __ovld __cnfn add_sat(ushort16, ushort16);
9062 int __ovld __cnfn add_sat(int, int);
9063 uint __ovld __cnfn add_sat(uint, uint);
9064 int2 __ovld __cnfn add_sat(int2, int2);
9065 uint2 __ovld __cnfn add_sat(uint2, uint2);
9066 int3 __ovld __cnfn add_sat(int3, int3);
9067 uint3 __ovld __cnfn add_sat(uint3, uint3);
9068 int4 __ovld __cnfn add_sat(int4, int4);
9069 uint4 __ovld __cnfn add_sat(uint4, uint4);
9070 int8 __ovld __cnfn add_sat(int8, int8);
9071 uint8 __ovld __cnfn add_sat(uint8, uint8);
9072 int16 __ovld __cnfn add_sat(int16, int16);
9073 uint16 __ovld __cnfn add_sat(uint16, uint16);
9074 long __ovld __cnfn add_sat(long, long);
9075 ulong __ovld __cnfn add_sat(ulong, ulong);
9076 long2 __ovld __cnfn add_sat(long2, long2);
9077 ulong2 __ovld __cnfn add_sat(ulong2, ulong2);
9078 long3 __ovld __cnfn add_sat(long3, long3);
9079 ulong3 __ovld __cnfn add_sat(ulong3, ulong3);
9080 long4 __ovld __cnfn add_sat(long4, long4);
9081 ulong4 __ovld __cnfn add_sat(ulong4, ulong4);
9082 long8 __ovld __cnfn add_sat(long8, long8);
9083 ulong8 __ovld __cnfn add_sat(ulong8, ulong8);
9084 long16 __ovld __cnfn add_sat(long16, long16);
9085 ulong16 __ovld __cnfn add_sat(ulong16, ulong16);
9088 * Returns (x + y) >> 1. The intermediate sum does
9089 * not modulo overflow.
9091 char __ovld __cnfn hadd(char, char);
9092 uchar __ovld __cnfn hadd(uchar, uchar);
9093 char2 __ovld __cnfn hadd(char2, char2);
9094 uchar2 __ovld __cnfn hadd(uchar2, uchar2);
9095 char3 __ovld __cnfn hadd(char3, char3);
9096 uchar3 __ovld __cnfn hadd(uchar3, uchar3);
9097 char4 __ovld __cnfn hadd(char4, char4);
9098 uchar4 __ovld __cnfn hadd(uchar4, uchar4);
9099 char8 __ovld __cnfn hadd(char8, char8);
9100 uchar8 __ovld __cnfn hadd(uchar8, uchar8);
9101 char16 __ovld __cnfn hadd(char16, char16);
9102 uchar16 __ovld __cnfn hadd(uchar16, uchar16);
9103 short __ovld __cnfn hadd(short, short);
9104 ushort __ovld __cnfn hadd(ushort, ushort);
9105 short2 __ovld __cnfn hadd(short2, short2);
9106 ushort2 __ovld __cnfn hadd(ushort2, ushort2);
9107 short3 __ovld __cnfn hadd(short3, short3);
9108 ushort3 __ovld __cnfn hadd(ushort3, ushort3);
9109 short4 __ovld __cnfn hadd(short4, short4);
9110 ushort4 __ovld __cnfn hadd(ushort4, ushort4);
9111 short8 __ovld __cnfn hadd(short8, short8);
9112 ushort8 __ovld __cnfn hadd(ushort8, ushort8);
9113 short16 __ovld __cnfn hadd(short16, short16);
9114 ushort16 __ovld __cnfn hadd(ushort16, ushort16);
9115 int __ovld __cnfn hadd(int, int);
9116 uint __ovld __cnfn hadd(uint, uint);
9117 int2 __ovld __cnfn hadd(int2, int2);
9118 uint2 __ovld __cnfn hadd(uint2, uint2);
9119 int3 __ovld __cnfn hadd(int3, int3);
9120 uint3 __ovld __cnfn hadd(uint3, uint3);
9121 int4 __ovld __cnfn hadd(int4, int4);
9122 uint4 __ovld __cnfn hadd(uint4, uint4);
9123 int8 __ovld __cnfn hadd(int8, int8);
9124 uint8 __ovld __cnfn hadd(uint8, uint8);
9125 int16 __ovld __cnfn hadd(int16, int16);
9126 uint16 __ovld __cnfn hadd(uint16, uint16);
9127 long __ovld __cnfn hadd(long, long);
9128 ulong __ovld __cnfn hadd(ulong, ulong);
9129 long2 __ovld __cnfn hadd(long2, long2);
9130 ulong2 __ovld __cnfn hadd(ulong2, ulong2);
9131 long3 __ovld __cnfn hadd(long3, long3);
9132 ulong3 __ovld __cnfn hadd(ulong3, ulong3);
9133 long4 __ovld __cnfn hadd(long4, long4);
9134 ulong4 __ovld __cnfn hadd(ulong4, ulong4);
9135 long8 __ovld __cnfn hadd(long8, long8);
9136 ulong8 __ovld __cnfn hadd(ulong8, ulong8);
9137 long16 __ovld __cnfn hadd(long16, long16);
9138 ulong16 __ovld __cnfn hadd(ulong16, ulong16);
9141 * Returns (x + y + 1) >> 1. The intermediate sum
9142 * does not modulo overflow.
9144 char __ovld __cnfn rhadd(char, char);
9145 uchar __ovld __cnfn rhadd(uchar, uchar);
9146 char2 __ovld __cnfn rhadd(char2, char2);
9147 uchar2 __ovld __cnfn rhadd(uchar2, uchar2);
9148 char3 __ovld __cnfn rhadd(char3, char3);
9149 uchar3 __ovld __cnfn rhadd(uchar3, uchar3);
9150 char4 __ovld __cnfn rhadd(char4, char4);
9151 uchar4 __ovld __cnfn rhadd(uchar4, uchar4);
9152 char8 __ovld __cnfn rhadd(char8, char8);
9153 uchar8 __ovld __cnfn rhadd(uchar8, uchar8);
9154 char16 __ovld __cnfn rhadd(char16, char16);
9155 uchar16 __ovld __cnfn rhadd(uchar16, uchar16);
9156 short __ovld __cnfn rhadd(short, short);
9157 ushort __ovld __cnfn rhadd(ushort, ushort);
9158 short2 __ovld __cnfn rhadd(short2, short2);
9159 ushort2 __ovld __cnfn rhadd(ushort2, ushort2);
9160 short3 __ovld __cnfn rhadd(short3, short3);
9161 ushort3 __ovld __cnfn rhadd(ushort3, ushort3);
9162 short4 __ovld __cnfn rhadd(short4, short4);
9163 ushort4 __ovld __cnfn rhadd(ushort4, ushort4);
9164 short8 __ovld __cnfn rhadd(short8, short8);
9165 ushort8 __ovld __cnfn rhadd(ushort8, ushort8);
9166 short16 __ovld __cnfn rhadd(short16, short16);
9167 ushort16 __ovld __cnfn rhadd(ushort16, ushort16);
9168 int __ovld __cnfn rhadd(int, int);
9169 uint __ovld __cnfn rhadd(uint, uint);
9170 int2 __ovld __cnfn rhadd(int2, int2);
9171 uint2 __ovld __cnfn rhadd(uint2, uint2);
9172 int3 __ovld __cnfn rhadd(int3, int3);
9173 uint3 __ovld __cnfn rhadd(uint3, uint3);
9174 int4 __ovld __cnfn rhadd(int4, int4);
9175 uint4 __ovld __cnfn rhadd(uint4, uint4);
9176 int8 __ovld __cnfn rhadd(int8, int8);
9177 uint8 __ovld __cnfn rhadd(uint8, uint8);
9178 int16 __ovld __cnfn rhadd(int16, int16);
9179 uint16 __ovld __cnfn rhadd(uint16, uint16);
9180 long __ovld __cnfn rhadd(long, long);
9181 ulong __ovld __cnfn rhadd(ulong, ulong);
9182 long2 __ovld __cnfn rhadd(long2, long2);
9183 ulong2 __ovld __cnfn rhadd(ulong2, ulong2);
9184 long3 __ovld __cnfn rhadd(long3, long3);
9185 ulong3 __ovld __cnfn rhadd(ulong3, ulong3);
9186 long4 __ovld __cnfn rhadd(long4, long4);
9187 ulong4 __ovld __cnfn rhadd(ulong4, ulong4);
9188 long8 __ovld __cnfn rhadd(long8, long8);
9189 ulong8 __ovld __cnfn rhadd(ulong8, ulong8);
9190 long16 __ovld __cnfn rhadd(long16, long16);
9191 ulong16 __ovld __cnfn rhadd(ulong16, ulong16);
9194 * Returns min(max(x, minval), maxval).
9195 * Results are undefined if minval > maxval.
9197 char __ovld __cnfn clamp(char, char, char);
9198 uchar __ovld __cnfn clamp(uchar, uchar, uchar);
9199 char2 __ovld __cnfn clamp(char2, char2, char2);
9200 uchar2 __ovld __cnfn clamp(uchar2, uchar2, uchar2);
9201 char3 __ovld __cnfn clamp(char3, char3, char3);
9202 uchar3 __ovld __cnfn clamp(uchar3, uchar3, uchar3);
9203 char4 __ovld __cnfn clamp(char4, char4, char4);
9204 uchar4 __ovld __cnfn clamp(uchar4, uchar4, uchar4);
9205 char8 __ovld __cnfn clamp(char8, char8, char8);
9206 uchar8 __ovld __cnfn clamp(uchar8, uchar8, uchar8);
9207 char16 __ovld __cnfn clamp(char16, char16, char16);
9208 uchar16 __ovld __cnfn clamp(uchar16, uchar16, uchar16);
9209 short __ovld __cnfn clamp(short, short, short);
9210 ushort __ovld __cnfn clamp(ushort, ushort, ushort);
9211 short2 __ovld __cnfn clamp(short2, short2, short2);
9212 ushort2 __ovld __cnfn clamp(ushort2, ushort2, ushort2);
9213 short3 __ovld __cnfn clamp(short3, short3, short3);
9214 ushort3 __ovld __cnfn clamp(ushort3, ushort3, ushort3);
9215 short4 __ovld __cnfn clamp(short4, short4, short4);
9216 ushort4 __ovld __cnfn clamp(ushort4, ushort4, ushort4);
9217 short8 __ovld __cnfn clamp(short8, short8, short8);
9218 ushort8 __ovld __cnfn clamp(ushort8, ushort8, ushort8);
9219 short16 __ovld __cnfn clamp(short16, short16, short16);
9220 ushort16 __ovld __cnfn clamp(ushort16, ushort16, ushort16);
9221 int __ovld __cnfn clamp(int, int, int);
9222 uint __ovld __cnfn clamp(uint, uint, uint);
9223 int2 __ovld __cnfn clamp(int2, int2, int2);
9224 uint2 __ovld __cnfn clamp(uint2, uint2, uint2);
9225 int3 __ovld __cnfn clamp(int3, int3, int3);
9226 uint3 __ovld __cnfn clamp(uint3, uint3, uint3);
9227 int4 __ovld __cnfn clamp(int4, int4, int4);
9228 uint4 __ovld __cnfn clamp(uint4, uint4, uint4);
9229 int8 __ovld __cnfn clamp(int8, int8, int8);
9230 uint8 __ovld __cnfn clamp(uint8, uint8, uint8);
9231 int16 __ovld __cnfn clamp(int16, int16, int16);
9232 uint16 __ovld __cnfn clamp(uint16, uint16, uint16);
9233 long __ovld __cnfn clamp(long, long, long);
9234 ulong __ovld __cnfn clamp(ulong, ulong, ulong);
9235 long2 __ovld __cnfn clamp(long2, long2, long2);
9236 ulong2 __ovld __cnfn clamp(ulong2, ulong2, ulong2);
9237 long3 __ovld __cnfn clamp(long3, long3, long3);
9238 ulong3 __ovld __cnfn clamp(ulong3, ulong3, ulong3);
9239 long4 __ovld __cnfn clamp(long4, long4, long4);
9240 ulong4 __ovld __cnfn clamp(ulong4, ulong4, ulong4);
9241 long8 __ovld __cnfn clamp(long8, long8, long8);
9242 ulong8 __ovld __cnfn clamp(ulong8, ulong8, ulong8);
9243 long16 __ovld __cnfn clamp(long16, long16, long16);
9244 ulong16 __ovld __cnfn clamp(ulong16, ulong16, ulong16);
9245 char2 __ovld __cnfn clamp(char2, char, char);
9246 uchar2 __ovld __cnfn clamp(uchar2, uchar, uchar);
9247 char3 __ovld __cnfn clamp(char3, char, char);
9248 uchar3 __ovld __cnfn clamp(uchar3, uchar, uchar);
9249 char4 __ovld __cnfn clamp(char4, char, char);
9250 uchar4 __ovld __cnfn clamp(uchar4, uchar, uchar);
9251 char8 __ovld __cnfn clamp(char8, char, char);
9252 uchar8 __ovld __cnfn clamp(uchar8, uchar, uchar);
9253 char16 __ovld __cnfn clamp(char16, char, char);
9254 uchar16 __ovld __cnfn clamp(uchar16, uchar, uchar);
9255 short2 __ovld __cnfn clamp(short2, short, short);
9256 ushort2 __ovld __cnfn clamp(ushort2, ushort, ushort);
9257 short3 __ovld __cnfn clamp(short3, short, short);
9258 ushort3 __ovld __cnfn clamp(ushort3, ushort, ushort);
9259 short4 __ovld __cnfn clamp(short4, short, short);
9260 ushort4 __ovld __cnfn clamp(ushort4, ushort, ushort);
9261 short8 __ovld __cnfn clamp(short8, short, short);
9262 ushort8 __ovld __cnfn clamp(ushort8, ushort, ushort);
9263 short16 __ovld __cnfn clamp(short16, short, short);
9264 ushort16 __ovld __cnfn clamp(ushort16, ushort, ushort);
9265 int2 __ovld __cnfn clamp(int2, int, int);
9266 uint2 __ovld __cnfn clamp(uint2, uint, uint);
9267 int3 __ovld __cnfn clamp(int3, int, int);
9268 uint3 __ovld __cnfn clamp(uint3, uint, uint);
9269 int4 __ovld __cnfn clamp(int4, int, int);
9270 uint4 __ovld __cnfn clamp(uint4, uint, uint);
9271 int8 __ovld __cnfn clamp(int8, int, int);
9272 uint8 __ovld __cnfn clamp(uint8, uint, uint);
9273 int16 __ovld __cnfn clamp(int16, int, int);
9274 uint16 __ovld __cnfn clamp(uint16, uint, uint);
9275 long2 __ovld __cnfn clamp(long2, long, long);
9276 ulong2 __ovld __cnfn clamp(ulong2, ulong, ulong);
9277 long3 __ovld __cnfn clamp(long3, long, long);
9278 ulong3 __ovld __cnfn clamp(ulong3, ulong, ulong);
9279 long4 __ovld __cnfn clamp(long4, long, long);
9280 ulong4 __ovld __cnfn clamp(ulong4, ulong, ulong);
9281 long8 __ovld __cnfn clamp(long8, long, long);
9282 ulong8 __ovld __cnfn clamp(ulong8, ulong, ulong);
9283 long16 __ovld __cnfn clamp(long16, long, long);
9284 ulong16 __ovld __cnfn clamp(ulong16, ulong, ulong);
9287 * Returns the number of leading 0-bits in x, starting
9288 * at the most significant bit position.
9290 char __ovld __cnfn clz(char);
9291 uchar __ovld __cnfn clz(uchar);
9292 char2 __ovld __cnfn clz(char2);
9293 uchar2 __ovld __cnfn clz(uchar2);
9294 char3 __ovld __cnfn clz(char3);
9295 uchar3 __ovld __cnfn clz(uchar3);
9296 char4 __ovld __cnfn clz(char4);
9297 uchar4 __ovld __cnfn clz(uchar4);
9298 char8 __ovld __cnfn clz(char8);
9299 uchar8 __ovld __cnfn clz(uchar8);
9300 char16 __ovld __cnfn clz(char16);
9301 uchar16 __ovld __cnfn clz(uchar16);
9302 short __ovld __cnfn clz(short);
9303 ushort __ovld __cnfn clz(ushort);
9304 short2 __ovld __cnfn clz(short2);
9305 ushort2 __ovld __cnfn clz(ushort2);
9306 short3 __ovld __cnfn clz(short3);
9307 ushort3 __ovld __cnfn clz(ushort3);
9308 short4 __ovld __cnfn clz(short4);
9309 ushort4 __ovld __cnfn clz(ushort4);
9310 short8 __ovld __cnfn clz(short8);
9311 ushort8 __ovld __cnfn clz(ushort8);
9312 short16 __ovld __cnfn clz(short16);
9313 ushort16 __ovld __cnfn clz(ushort16);
9314 int __ovld __cnfn clz(int);
9315 uint __ovld __cnfn clz(uint);
9316 int2 __ovld __cnfn clz(int2);
9317 uint2 __ovld __cnfn clz(uint2);
9318 int3 __ovld __cnfn clz(int3);
9319 uint3 __ovld __cnfn clz(uint3);
9320 int4 __ovld __cnfn clz(int4);
9321 uint4 __ovld __cnfn clz(uint4);
9322 int8 __ovld __cnfn clz(int8);
9323 uint8 __ovld __cnfn clz(uint8);
9324 int16 __ovld __cnfn clz(int16);
9325 uint16 __ovld __cnfn clz(uint16);
9326 long __ovld __cnfn clz(long);
9327 ulong __ovld __cnfn clz(ulong);
9328 long2 __ovld __cnfn clz(long2);
9329 ulong2 __ovld __cnfn clz(ulong2);
9330 long3 __ovld __cnfn clz(long3);
9331 ulong3 __ovld __cnfn clz(ulong3);
9332 long4 __ovld __cnfn clz(long4);
9333 ulong4 __ovld __cnfn clz(ulong4);
9334 long8 __ovld __cnfn clz(long8);
9335 ulong8 __ovld __cnfn clz(ulong8);
9336 long16 __ovld __cnfn clz(long16);
9337 ulong16 __ovld __cnfn clz(ulong16);
9340 * Returns the count of trailing 0-bits in x. If x is 0,
9341 * returns the size in bits of the type of x or
9342 * component type of x, if x is a vector.
9344 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
9345 char __ovld __cnfn ctz(char);
9346 uchar __ovld __cnfn ctz(uchar);
9347 char2 __ovld __cnfn ctz(char2);
9348 uchar2 __ovld __cnfn ctz(uchar2);
9349 char3 __ovld __cnfn ctz(char3);
9350 uchar3 __ovld __cnfn ctz(uchar3);
9351 char4 __ovld __cnfn ctz(char4);
9352 uchar4 __ovld __cnfn ctz(uchar4);
9353 char8 __ovld __cnfn ctz(char8);
9354 uchar8 __ovld __cnfn ctz(uchar8);
9355 char16 __ovld __cnfn ctz(char16);
9356 uchar16 __ovld __cnfn ctz(uchar16);
9357 short __ovld __cnfn ctz(short);
9358 ushort __ovld __cnfn ctz(ushort);
9359 short2 __ovld __cnfn ctz(short2);
9360 ushort2 __ovld __cnfn ctz(ushort2);
9361 short3 __ovld __cnfn ctz(short3);
9362 ushort3 __ovld __cnfn ctz(ushort3);
9363 short4 __ovld __cnfn ctz(short4);
9364 ushort4 __ovld __cnfn ctz(ushort4);
9365 short8 __ovld __cnfn ctz(short8);
9366 ushort8 __ovld __cnfn ctz(ushort8);
9367 short16 __ovld __cnfn ctz(short16);
9368 ushort16 __ovld __cnfn ctz(ushort16);
9369 int __ovld __cnfn ctz(int);
9370 uint __ovld __cnfn ctz(uint);
9371 int2 __ovld __cnfn ctz(int2);
9372 uint2 __ovld __cnfn ctz(uint2);
9373 int3 __ovld __cnfn ctz(int3);
9374 uint3 __ovld __cnfn ctz(uint3);
9375 int4 __ovld __cnfn ctz(int4);
9376 uint4 __ovld __cnfn ctz(uint4);
9377 int8 __ovld __cnfn ctz(int8);
9378 uint8 __ovld __cnfn ctz(uint8);
9379 int16 __ovld __cnfn ctz(int16);
9380 uint16 __ovld __cnfn ctz(uint16);
9381 long __ovld __cnfn ctz(long);
9382 ulong __ovld __cnfn ctz(ulong);
9383 long2 __ovld __cnfn ctz(long2);
9384 ulong2 __ovld __cnfn ctz(ulong2);
9385 long3 __ovld __cnfn ctz(long3);
9386 ulong3 __ovld __cnfn ctz(ulong3);
9387 long4 __ovld __cnfn ctz(long4);
9388 ulong4 __ovld __cnfn ctz(ulong4);
9389 long8 __ovld __cnfn ctz(long8);
9390 ulong8 __ovld __cnfn ctz(ulong8);
9391 long16 __ovld __cnfn ctz(long16);
9392 ulong16 __ovld __cnfn ctz(ulong16);
9393 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
9396 * Returns mul_hi(a, b) + c.
9398 char __ovld __cnfn mad_hi(char, char, char);
9399 uchar __ovld __cnfn mad_hi(uchar, uchar, uchar);
9400 char2 __ovld __cnfn mad_hi(char2, char2, char2);
9401 uchar2 __ovld __cnfn mad_hi(uchar2, uchar2, uchar2);
9402 char3 __ovld __cnfn mad_hi(char3, char3, char3);
9403 uchar3 __ovld __cnfn mad_hi(uchar3, uchar3, uchar3);
9404 char4 __ovld __cnfn mad_hi(char4, char4, char4);
9405 uchar4 __ovld __cnfn mad_hi(uchar4, uchar4, uchar4);
9406 char8 __ovld __cnfn mad_hi(char8, char8, char8);
9407 uchar8 __ovld __cnfn mad_hi(uchar8, uchar8, uchar8);
9408 char16 __ovld __cnfn mad_hi(char16, char16, char16);
9409 uchar16 __ovld __cnfn mad_hi(uchar16, uchar16, uchar16);
9410 short __ovld __cnfn mad_hi(short, short, short);
9411 ushort __ovld __cnfn mad_hi(ushort, ushort, ushort);
9412 short2 __ovld __cnfn mad_hi(short2, short2, short2);
9413 ushort2 __ovld __cnfn mad_hi(ushort2, ushort2, ushort2);
9414 short3 __ovld __cnfn mad_hi(short3, short3, short3);
9415 ushort3 __ovld __cnfn mad_hi(ushort3, ushort3, ushort3);
9416 short4 __ovld __cnfn mad_hi(short4, short4, short4);
9417 ushort4 __ovld __cnfn mad_hi(ushort4, ushort4, ushort4);
9418 short8 __ovld __cnfn mad_hi(short8, short8, short8);
9419 ushort8 __ovld __cnfn mad_hi(ushort8, ushort8, ushort8);
9420 short16 __ovld __cnfn mad_hi(short16, short16, short16);
9421 ushort16 __ovld __cnfn mad_hi(ushort16, ushort16, ushort16);
9422 int __ovld __cnfn mad_hi(int, int, int);
9423 uint __ovld __cnfn mad_hi(uint, uint, uint);
9424 int2 __ovld __cnfn mad_hi(int2, int2, int2);
9425 uint2 __ovld __cnfn mad_hi(uint2, uint2, uint2);
9426 int3 __ovld __cnfn mad_hi(int3, int3, int3);
9427 uint3 __ovld __cnfn mad_hi(uint3, uint3, uint3);
9428 int4 __ovld __cnfn mad_hi(int4, int4, int4);
9429 uint4 __ovld __cnfn mad_hi(uint4, uint4, uint4);
9430 int8 __ovld __cnfn mad_hi(int8, int8, int8);
9431 uint8 __ovld __cnfn mad_hi(uint8, uint8, uint8);
9432 int16 __ovld __cnfn mad_hi(int16, int16, int16);
9433 uint16 __ovld __cnfn mad_hi(uint16, uint16, uint16);
9434 long __ovld __cnfn mad_hi(long, long, long);
9435 ulong __ovld __cnfn mad_hi(ulong, ulong, ulong);
9436 long2 __ovld __cnfn mad_hi(long2, long2, long2);
9437 ulong2 __ovld __cnfn mad_hi(ulong2, ulong2, ulong2);
9438 long3 __ovld __cnfn mad_hi(long3, long3, long3);
9439 ulong3 __ovld __cnfn mad_hi(ulong3, ulong3, ulong3);
9440 long4 __ovld __cnfn mad_hi(long4, long4, long4);
9441 ulong4 __ovld __cnfn mad_hi(ulong4, ulong4, ulong4);
9442 long8 __ovld __cnfn mad_hi(long8, long8, long8);
9443 ulong8 __ovld __cnfn mad_hi(ulong8, ulong8, ulong8);
9444 long16 __ovld __cnfn mad_hi(long16, long16, long16);
9445 ulong16 __ovld __cnfn mad_hi(ulong16, ulong16, ulong16);
9448 * Returns a * b + c and saturates the result.
9450 char __ovld __cnfn mad_sat(char, char, char);
9451 uchar __ovld __cnfn mad_sat(uchar, uchar, uchar);
9452 char2 __ovld __cnfn mad_sat(char2, char2, char2);
9453 uchar2 __ovld __cnfn mad_sat(uchar2, uchar2, uchar2);
9454 char3 __ovld __cnfn mad_sat(char3, char3, char3);
9455 uchar3 __ovld __cnfn mad_sat(uchar3, uchar3, uchar3);
9456 char4 __ovld __cnfn mad_sat(char4, char4, char4);
9457 uchar4 __ovld __cnfn mad_sat(uchar4, uchar4, uchar4);
9458 char8 __ovld __cnfn mad_sat(char8, char8, char8);
9459 uchar8 __ovld __cnfn mad_sat(uchar8, uchar8, uchar8);
9460 char16 __ovld __cnfn mad_sat(char16, char16, char16);
9461 uchar16 __ovld __cnfn mad_sat(uchar16, uchar16, uchar16);
9462 short __ovld __cnfn mad_sat(short, short, short);
9463 ushort __ovld __cnfn mad_sat(ushort, ushort, ushort);
9464 short2 __ovld __cnfn mad_sat(short2, short2, short2);
9465 ushort2 __ovld __cnfn mad_sat(ushort2, ushort2, ushort2);
9466 short3 __ovld __cnfn mad_sat(short3, short3, short3);
9467 ushort3 __ovld __cnfn mad_sat(ushort3, ushort3, ushort3);
9468 short4 __ovld __cnfn mad_sat(short4, short4, short4);
9469 ushort4 __ovld __cnfn mad_sat(ushort4, ushort4, ushort4);
9470 short8 __ovld __cnfn mad_sat(short8, short8, short8);
9471 ushort8 __ovld __cnfn mad_sat(ushort8, ushort8, ushort8);
9472 short16 __ovld __cnfn mad_sat(short16, short16, short16);
9473 ushort16 __ovld __cnfn mad_sat(ushort16, ushort16, ushort16);
9474 int __ovld __cnfn mad_sat(int, int, int);
9475 uint __ovld __cnfn mad_sat(uint, uint, uint);
9476 int2 __ovld __cnfn mad_sat(int2, int2, int2);
9477 uint2 __ovld __cnfn mad_sat(uint2, uint2, uint2);
9478 int3 __ovld __cnfn mad_sat(int3, int3, int3);
9479 uint3 __ovld __cnfn mad_sat(uint3, uint3, uint3);
9480 int4 __ovld __cnfn mad_sat(int4, int4, int4);
9481 uint4 __ovld __cnfn mad_sat(uint4, uint4, uint4);
9482 int8 __ovld __cnfn mad_sat(int8, int8, int8);
9483 uint8 __ovld __cnfn mad_sat(uint8, uint8, uint8);
9484 int16 __ovld __cnfn mad_sat(int16, int16, int16);
9485 uint16 __ovld __cnfn mad_sat(uint16, uint16, uint16);
9486 long __ovld __cnfn mad_sat(long, long, long);
9487 ulong __ovld __cnfn mad_sat(ulong, ulong, ulong);
9488 long2 __ovld __cnfn mad_sat(long2, long2, long2);
9489 ulong2 __ovld __cnfn mad_sat(ulong2, ulong2, ulong2);
9490 long3 __ovld __cnfn mad_sat(long3, long3, long3);
9491 ulong3 __ovld __cnfn mad_sat(ulong3, ulong3, ulong3);
9492 long4 __ovld __cnfn mad_sat(long4, long4, long4);
9493 ulong4 __ovld __cnfn mad_sat(ulong4, ulong4, ulong4);
9494 long8 __ovld __cnfn mad_sat(long8, long8, long8);
9495 ulong8 __ovld __cnfn mad_sat(ulong8, ulong8, ulong8);
9496 long16 __ovld __cnfn mad_sat(long16, long16, long16);
9497 ulong16 __ovld __cnfn mad_sat(ulong16, ulong16, ulong16);
9500 * Returns y if x < y, otherwise it returns x.
9502 char __ovld __cnfn max(char, char);
9503 uchar __ovld __cnfn max(uchar, uchar);
9504 char2 __ovld __cnfn max(char2, char2);
9505 uchar2 __ovld __cnfn max(uchar2, uchar2);
9506 char3 __ovld __cnfn max(char3, char3);
9507 uchar3 __ovld __cnfn max(uchar3, uchar3);
9508 char4 __ovld __cnfn max(char4, char4);
9509 uchar4 __ovld __cnfn max(uchar4, uchar4);
9510 char8 __ovld __cnfn max(char8, char8);
9511 uchar8 __ovld __cnfn max(uchar8, uchar8);
9512 char16 __ovld __cnfn max(char16, char16);
9513 uchar16 __ovld __cnfn max(uchar16, uchar16);
9514 short __ovld __cnfn max(short, short);
9515 ushort __ovld __cnfn max(ushort, ushort);
9516 short2 __ovld __cnfn max(short2, short2);
9517 ushort2 __ovld __cnfn max(ushort2, ushort2);
9518 short3 __ovld __cnfn max(short3, short3);
9519 ushort3 __ovld __cnfn max(ushort3, ushort3);
9520 short4 __ovld __cnfn max(short4, short4);
9521 ushort4 __ovld __cnfn max(ushort4, ushort4);
9522 short8 __ovld __cnfn max(short8, short8);
9523 ushort8 __ovld __cnfn max(ushort8, ushort8);
9524 short16 __ovld __cnfn max(short16, short16);
9525 ushort16 __ovld __cnfn max(ushort16, ushort16);
9526 int __ovld __cnfn max(int, int);
9527 uint __ovld __cnfn max(uint, uint);
9528 int2 __ovld __cnfn max(int2, int2);
9529 uint2 __ovld __cnfn max(uint2, uint2);
9530 int3 __ovld __cnfn max(int3, int3);
9531 uint3 __ovld __cnfn max(uint3, uint3);
9532 int4 __ovld __cnfn max(int4, int4);
9533 uint4 __ovld __cnfn max(uint4, uint4);
9534 int8 __ovld __cnfn max(int8, int8);
9535 uint8 __ovld __cnfn max(uint8, uint8);
9536 int16 __ovld __cnfn max(int16, int16);
9537 uint16 __ovld __cnfn max(uint16, uint16);
9538 long __ovld __cnfn max(long, long);
9539 ulong __ovld __cnfn max(ulong, ulong);
9540 long2 __ovld __cnfn max(long2, long2);
9541 ulong2 __ovld __cnfn max(ulong2, ulong2);
9542 long3 __ovld __cnfn max(long3, long3);
9543 ulong3 __ovld __cnfn max(ulong3, ulong3);
9544 long4 __ovld __cnfn max(long4, long4);
9545 ulong4 __ovld __cnfn max(ulong4, ulong4);
9546 long8 __ovld __cnfn max(long8, long8);
9547 ulong8 __ovld __cnfn max(ulong8, ulong8);
9548 long16 __ovld __cnfn max(long16, long16);
9549 ulong16 __ovld __cnfn max(ulong16, ulong16);
9550 char2 __ovld __cnfn max(char2, char);
9551 uchar2 __ovld __cnfn max(uchar2, uchar);
9552 char3 __ovld __cnfn max(char3, char);
9553 uchar3 __ovld __cnfn max(uchar3, uchar);
9554 char4 __ovld __cnfn max(char4, char);
9555 uchar4 __ovld __cnfn max(uchar4, uchar);
9556 char8 __ovld __cnfn max(char8, char);
9557 uchar8 __ovld __cnfn max(uchar8, uchar);
9558 char16 __ovld __cnfn max(char16, char);
9559 uchar16 __ovld __cnfn max(uchar16, uchar);
9560 short2 __ovld __cnfn max(short2, short);
9561 ushort2 __ovld __cnfn max(ushort2, ushort);
9562 short3 __ovld __cnfn max(short3, short);
9563 ushort3 __ovld __cnfn max(ushort3, ushort);
9564 short4 __ovld __cnfn max(short4, short);
9565 ushort4 __ovld __cnfn max(ushort4, ushort);
9566 short8 __ovld __cnfn max(short8, short);
9567 ushort8 __ovld __cnfn max(ushort8, ushort);
9568 short16 __ovld __cnfn max(short16, short);
9569 ushort16 __ovld __cnfn max(ushort16, ushort);
9570 int2 __ovld __cnfn max(int2, int);
9571 uint2 __ovld __cnfn max(uint2, uint);
9572 int3 __ovld __cnfn max(int3, int);
9573 uint3 __ovld __cnfn max(uint3, uint);
9574 int4 __ovld __cnfn max(int4, int);
9575 uint4 __ovld __cnfn max(uint4, uint);
9576 int8 __ovld __cnfn max(int8, int);
9577 uint8 __ovld __cnfn max(uint8, uint);
9578 int16 __ovld __cnfn max(int16, int);
9579 uint16 __ovld __cnfn max(uint16, uint);
9580 long2 __ovld __cnfn max(long2, long);
9581 ulong2 __ovld __cnfn max(ulong2, ulong);
9582 long3 __ovld __cnfn max(long3, long);
9583 ulong3 __ovld __cnfn max(ulong3, ulong);
9584 long4 __ovld __cnfn max(long4, long);
9585 ulong4 __ovld __cnfn max(ulong4, ulong);
9586 long8 __ovld __cnfn max(long8, long);
9587 ulong8 __ovld __cnfn max(ulong8, ulong);
9588 long16 __ovld __cnfn max(long16, long);
9589 ulong16 __ovld __cnfn max(ulong16, ulong);
9592 * Returns y if y < x, otherwise it returns x.
9594 char __ovld __cnfn min(char, char);
9595 uchar __ovld __cnfn min(uchar, uchar);
9596 char2 __ovld __cnfn min(char2, char2);
9597 uchar2 __ovld __cnfn min(uchar2, uchar2);
9598 char3 __ovld __cnfn min(char3, char3);
9599 uchar3 __ovld __cnfn min(uchar3, uchar3);
9600 char4 __ovld __cnfn min(char4, char4);
9601 uchar4 __ovld __cnfn min(uchar4, uchar4);
9602 char8 __ovld __cnfn min(char8, char8);
9603 uchar8 __ovld __cnfn min(uchar8, uchar8);
9604 char16 __ovld __cnfn min(char16, char16);
9605 uchar16 __ovld __cnfn min(uchar16, uchar16);
9606 short __ovld __cnfn min(short, short);
9607 ushort __ovld __cnfn min(ushort, ushort);
9608 short2 __ovld __cnfn min(short2, short2);
9609 ushort2 __ovld __cnfn min(ushort2, ushort2);
9610 short3 __ovld __cnfn min(short3, short3);
9611 ushort3 __ovld __cnfn min(ushort3, ushort3);
9612 short4 __ovld __cnfn min(short4, short4);
9613 ushort4 __ovld __cnfn min(ushort4, ushort4);
9614 short8 __ovld __cnfn min(short8, short8);
9615 ushort8 __ovld __cnfn min(ushort8, ushort8);
9616 short16 __ovld __cnfn min(short16, short16);
9617 ushort16 __ovld __cnfn min(ushort16, ushort16);
9618 int __ovld __cnfn min(int, int);
9619 uint __ovld __cnfn min(uint, uint);
9620 int2 __ovld __cnfn min(int2, int2);
9621 uint2 __ovld __cnfn min(uint2, uint2);
9622 int3 __ovld __cnfn min(int3, int3);
9623 uint3 __ovld __cnfn min(uint3, uint3);
9624 int4 __ovld __cnfn min(int4, int4);
9625 uint4 __ovld __cnfn min(uint4, uint4);
9626 int8 __ovld __cnfn min(int8, int8);
9627 uint8 __ovld __cnfn min(uint8, uint8);
9628 int16 __ovld __cnfn min(int16, int16);
9629 uint16 __ovld __cnfn min(uint16, uint16);
9630 long __ovld __cnfn min(long, long);
9631 ulong __ovld __cnfn min(ulong, ulong);
9632 long2 __ovld __cnfn min(long2, long2);
9633 ulong2 __ovld __cnfn min(ulong2, ulong2);
9634 long3 __ovld __cnfn min(long3, long3);
9635 ulong3 __ovld __cnfn min(ulong3, ulong3);
9636 long4 __ovld __cnfn min(long4, long4);
9637 ulong4 __ovld __cnfn min(ulong4, ulong4);
9638 long8 __ovld __cnfn min(long8, long8);
9639 ulong8 __ovld __cnfn min(ulong8, ulong8);
9640 long16 __ovld __cnfn min(long16, long16);
9641 ulong16 __ovld __cnfn min(ulong16, ulong16);
9642 char2 __ovld __cnfn min(char2, char);
9643 uchar2 __ovld __cnfn min(uchar2, uchar);
9644 char3 __ovld __cnfn min(char3, char);
9645 uchar3 __ovld __cnfn min(uchar3, uchar);
9646 char4 __ovld __cnfn min(char4, char);
9647 uchar4 __ovld __cnfn min(uchar4, uchar);
9648 char8 __ovld __cnfn min(char8, char);
9649 uchar8 __ovld __cnfn min(uchar8, uchar);
9650 char16 __ovld __cnfn min(char16, char);
9651 uchar16 __ovld __cnfn min(uchar16, uchar);
9652 short2 __ovld __cnfn min(short2, short);
9653 ushort2 __ovld __cnfn min(ushort2, ushort);
9654 short3 __ovld __cnfn min(short3, short);
9655 ushort3 __ovld __cnfn min(ushort3, ushort);
9656 short4 __ovld __cnfn min(short4, short);
9657 ushort4 __ovld __cnfn min(ushort4, ushort);
9658 short8 __ovld __cnfn min(short8, short);
9659 ushort8 __ovld __cnfn min(ushort8, ushort);
9660 short16 __ovld __cnfn min(short16, short);
9661 ushort16 __ovld __cnfn min(ushort16, ushort);
9662 int2 __ovld __cnfn min(int2, int);
9663 uint2 __ovld __cnfn min(uint2, uint);
9664 int3 __ovld __cnfn min(int3, int);
9665 uint3 __ovld __cnfn min(uint3, uint);
9666 int4 __ovld __cnfn min(int4, int);
9667 uint4 __ovld __cnfn min(uint4, uint);
9668 int8 __ovld __cnfn min(int8, int);
9669 uint8 __ovld __cnfn min(uint8, uint);
9670 int16 __ovld __cnfn min(int16, int);
9671 uint16 __ovld __cnfn min(uint16, uint);
9672 long2 __ovld __cnfn min(long2, long);
9673 ulong2 __ovld __cnfn min(ulong2, ulong);
9674 long3 __ovld __cnfn min(long3, long);
9675 ulong3 __ovld __cnfn min(ulong3, ulong);
9676 long4 __ovld __cnfn min(long4, long);
9677 ulong4 __ovld __cnfn min(ulong4, ulong);
9678 long8 __ovld __cnfn min(long8, long);
9679 ulong8 __ovld __cnfn min(ulong8, ulong);
9680 long16 __ovld __cnfn min(long16, long);
9681 ulong16 __ovld __cnfn min(ulong16, ulong);
9684 * Computes x * y and returns the high half of the
9685 * product of x and y.
9687 char __ovld __cnfn mul_hi(char, char);
9688 uchar __ovld __cnfn mul_hi(uchar, uchar);
9689 char2 __ovld __cnfn mul_hi(char2, char2);
9690 uchar2 __ovld __cnfn mul_hi(uchar2, uchar2);
9691 char3 __ovld __cnfn mul_hi(char3, char3);
9692 uchar3 __ovld __cnfn mul_hi(uchar3, uchar3);
9693 char4 __ovld __cnfn mul_hi(char4, char4);
9694 uchar4 __ovld __cnfn mul_hi(uchar4, uchar4);
9695 char8 __ovld __cnfn mul_hi(char8, char8);
9696 uchar8 __ovld __cnfn mul_hi(uchar8, uchar8);
9697 char16 __ovld __cnfn mul_hi(char16, char16);
9698 uchar16 __ovld __cnfn mul_hi(uchar16, uchar16);
9699 short __ovld __cnfn mul_hi(short, short);
9700 ushort __ovld __cnfn mul_hi(ushort, ushort);
9701 short2 __ovld __cnfn mul_hi(short2, short2);
9702 ushort2 __ovld __cnfn mul_hi(ushort2, ushort2);
9703 short3 __ovld __cnfn mul_hi(short3, short3);
9704 ushort3 __ovld __cnfn mul_hi(ushort3, ushort3);
9705 short4 __ovld __cnfn mul_hi(short4, short4);
9706 ushort4 __ovld __cnfn mul_hi(ushort4, ushort4);
9707 short8 __ovld __cnfn mul_hi(short8, short8);
9708 ushort8 __ovld __cnfn mul_hi(ushort8, ushort8);
9709 short16 __ovld __cnfn mul_hi(short16, short16);
9710 ushort16 __ovld __cnfn mul_hi(ushort16, ushort16);
9711 int __ovld __cnfn mul_hi(int, int);
9712 uint __ovld __cnfn mul_hi(uint, uint);
9713 int2 __ovld __cnfn mul_hi(int2, int2);
9714 uint2 __ovld __cnfn mul_hi(uint2, uint2);
9715 int3 __ovld __cnfn mul_hi(int3, int3);
9716 uint3 __ovld __cnfn mul_hi(uint3, uint3);
9717 int4 __ovld __cnfn mul_hi(int4, int4);
9718 uint4 __ovld __cnfn mul_hi(uint4, uint4);
9719 int8 __ovld __cnfn mul_hi(int8, int8);
9720 uint8 __ovld __cnfn mul_hi(uint8, uint8);
9721 int16 __ovld __cnfn mul_hi(int16, int16);
9722 uint16 __ovld __cnfn mul_hi(uint16, uint16);
9723 long __ovld __cnfn mul_hi(long, long);
9724 ulong __ovld __cnfn mul_hi(ulong, ulong);
9725 long2 __ovld __cnfn mul_hi(long2, long2);
9726 ulong2 __ovld __cnfn mul_hi(ulong2, ulong2);
9727 long3 __ovld __cnfn mul_hi(long3, long3);
9728 ulong3 __ovld __cnfn mul_hi(ulong3, ulong3);
9729 long4 __ovld __cnfn mul_hi(long4, long4);
9730 ulong4 __ovld __cnfn mul_hi(ulong4, ulong4);
9731 long8 __ovld __cnfn mul_hi(long8, long8);
9732 ulong8 __ovld __cnfn mul_hi(ulong8, ulong8);
9733 long16 __ovld __cnfn mul_hi(long16, long16);
9734 ulong16 __ovld __cnfn mul_hi(ulong16, ulong16);
9737 * For each element in v, the bits are shifted left by
9738 * the number of bits given by the corresponding
9739 * element in i (subject to usual shift modulo rules
9740 * described in section 6.3). Bits shifted off the left
9741 * side of the element are shifted back in from the
9742 * right.
9744 char __ovld __cnfn rotate(char, char);
9745 uchar __ovld __cnfn rotate(uchar, uchar);
9746 char2 __ovld __cnfn rotate(char2, char2);
9747 uchar2 __ovld __cnfn rotate(uchar2, uchar2);
9748 char3 __ovld __cnfn rotate(char3, char3);
9749 uchar3 __ovld __cnfn rotate(uchar3, uchar3);
9750 char4 __ovld __cnfn rotate(char4, char4);
9751 uchar4 __ovld __cnfn rotate(uchar4, uchar4);
9752 char8 __ovld __cnfn rotate(char8, char8);
9753 uchar8 __ovld __cnfn rotate(uchar8, uchar8);
9754 char16 __ovld __cnfn rotate(char16, char16);
9755 uchar16 __ovld __cnfn rotate(uchar16, uchar16);
9756 short __ovld __cnfn rotate(short, short);
9757 ushort __ovld __cnfn rotate(ushort, ushort);
9758 short2 __ovld __cnfn rotate(short2, short2);
9759 ushort2 __ovld __cnfn rotate(ushort2, ushort2);
9760 short3 __ovld __cnfn rotate(short3, short3);
9761 ushort3 __ovld __cnfn rotate(ushort3, ushort3);
9762 short4 __ovld __cnfn rotate(short4, short4);
9763 ushort4 __ovld __cnfn rotate(ushort4, ushort4);
9764 short8 __ovld __cnfn rotate(short8, short8);
9765 ushort8 __ovld __cnfn rotate(ushort8, ushort8);
9766 short16 __ovld __cnfn rotate(short16, short16);
9767 ushort16 __ovld __cnfn rotate(ushort16, ushort16);
9768 int __ovld __cnfn rotate(int, int);
9769 uint __ovld __cnfn rotate(uint, uint);
9770 int2 __ovld __cnfn rotate(int2, int2);
9771 uint2 __ovld __cnfn rotate(uint2, uint2);
9772 int3 __ovld __cnfn rotate(int3, int3);
9773 uint3 __ovld __cnfn rotate(uint3, uint3);
9774 int4 __ovld __cnfn rotate(int4, int4);
9775 uint4 __ovld __cnfn rotate(uint4, uint4);
9776 int8 __ovld __cnfn rotate(int8, int8);
9777 uint8 __ovld __cnfn rotate(uint8, uint8);
9778 int16 __ovld __cnfn rotate(int16, int16);
9779 uint16 __ovld __cnfn rotate(uint16, uint16);
9780 long __ovld __cnfn rotate(long, long);
9781 ulong __ovld __cnfn rotate(ulong, ulong);
9782 long2 __ovld __cnfn rotate(long2, long2);
9783 ulong2 __ovld __cnfn rotate(ulong2, ulong2);
9784 long3 __ovld __cnfn rotate(long3, long3);
9785 ulong3 __ovld __cnfn rotate(ulong3, ulong3);
9786 long4 __ovld __cnfn rotate(long4, long4);
9787 ulong4 __ovld __cnfn rotate(ulong4, ulong4);
9788 long8 __ovld __cnfn rotate(long8, long8);
9789 ulong8 __ovld __cnfn rotate(ulong8, ulong8);
9790 long16 __ovld __cnfn rotate(long16, long16);
9791 ulong16 __ovld __cnfn rotate(ulong16, ulong16);
9794 * Returns x - y and saturates the result.
9796 char __ovld __cnfn sub_sat(char, char);
9797 uchar __ovld __cnfn sub_sat(uchar, uchar);
9798 char2 __ovld __cnfn sub_sat(char2, char2);
9799 uchar2 __ovld __cnfn sub_sat(uchar2, uchar2);
9800 char3 __ovld __cnfn sub_sat(char3, char3);
9801 uchar3 __ovld __cnfn sub_sat(uchar3, uchar3);
9802 char4 __ovld __cnfn sub_sat(char4, char4);
9803 uchar4 __ovld __cnfn sub_sat(uchar4, uchar4);
9804 char8 __ovld __cnfn sub_sat(char8, char8);
9805 uchar8 __ovld __cnfn sub_sat(uchar8, uchar8);
9806 char16 __ovld __cnfn sub_sat(char16, char16);
9807 uchar16 __ovld __cnfn sub_sat(uchar16, uchar16);
9808 short __ovld __cnfn sub_sat(short, short);
9809 ushort __ovld __cnfn sub_sat(ushort, ushort);
9810 short2 __ovld __cnfn sub_sat(short2, short2);
9811 ushort2 __ovld __cnfn sub_sat(ushort2, ushort2);
9812 short3 __ovld __cnfn sub_sat(short3, short3);
9813 ushort3 __ovld __cnfn sub_sat(ushort3, ushort3);
9814 short4 __ovld __cnfn sub_sat(short4, short4);
9815 ushort4 __ovld __cnfn sub_sat(ushort4, ushort4);
9816 short8 __ovld __cnfn sub_sat(short8, short8);
9817 ushort8 __ovld __cnfn sub_sat(ushort8, ushort8);
9818 short16 __ovld __cnfn sub_sat(short16, short16);
9819 ushort16 __ovld __cnfn sub_sat(ushort16, ushort16);
9820 int __ovld __cnfn sub_sat(int, int);
9821 uint __ovld __cnfn sub_sat(uint, uint);
9822 int2 __ovld __cnfn sub_sat(int2, int2);
9823 uint2 __ovld __cnfn sub_sat(uint2, uint2);
9824 int3 __ovld __cnfn sub_sat(int3, int3);
9825 uint3 __ovld __cnfn sub_sat(uint3, uint3);
9826 int4 __ovld __cnfn sub_sat(int4, int4);
9827 uint4 __ovld __cnfn sub_sat(uint4, uint4);
9828 int8 __ovld __cnfn sub_sat(int8, int8);
9829 uint8 __ovld __cnfn sub_sat(uint8, uint8);
9830 int16 __ovld __cnfn sub_sat(int16, int16);
9831 uint16 __ovld __cnfn sub_sat(uint16, uint16);
9832 long __ovld __cnfn sub_sat(long, long);
9833 ulong __ovld __cnfn sub_sat(ulong, ulong);
9834 long2 __ovld __cnfn sub_sat(long2, long2);
9835 ulong2 __ovld __cnfn sub_sat(ulong2, ulong2);
9836 long3 __ovld __cnfn sub_sat(long3, long3);
9837 ulong3 __ovld __cnfn sub_sat(ulong3, ulong3);
9838 long4 __ovld __cnfn sub_sat(long4, long4);
9839 ulong4 __ovld __cnfn sub_sat(ulong4, ulong4);
9840 long8 __ovld __cnfn sub_sat(long8, long8);
9841 ulong8 __ovld __cnfn sub_sat(ulong8, ulong8);
9842 long16 __ovld __cnfn sub_sat(long16, long16);
9843 ulong16 __ovld __cnfn sub_sat(ulong16, ulong16);
9846 * result[i] = ((short)hi[i] << 8) | lo[i]
9847 * result[i] = ((ushort)hi[i] << 8) | lo[i]
9849 short __ovld __cnfn upsample(char, uchar);
9850 ushort __ovld __cnfn upsample(uchar, uchar);
9851 short2 __ovld __cnfn upsample(char2, uchar2);
9852 short3 __ovld __cnfn upsample(char3, uchar3);
9853 short4 __ovld __cnfn upsample(char4, uchar4);
9854 short8 __ovld __cnfn upsample(char8, uchar8);
9855 short16 __ovld __cnfn upsample(char16, uchar16);
9856 ushort2 __ovld __cnfn upsample(uchar2, uchar2);
9857 ushort3 __ovld __cnfn upsample(uchar3, uchar3);
9858 ushort4 __ovld __cnfn upsample(uchar4, uchar4);
9859 ushort8 __ovld __cnfn upsample(uchar8, uchar8);
9860 ushort16 __ovld __cnfn upsample(uchar16, uchar16);
9863 * result[i] = ((int)hi[i] << 16) | lo[i]
9864 * result[i] = ((uint)hi[i] << 16) | lo[i]
9866 int __ovld __cnfn upsample(short, ushort);
9867 uint __ovld __cnfn upsample(ushort, ushort);
9868 int2 __ovld __cnfn upsample(short2, ushort2);
9869 int3 __ovld __cnfn upsample(short3, ushort3);
9870 int4 __ovld __cnfn upsample(short4, ushort4);
9871 int8 __ovld __cnfn upsample(short8, ushort8);
9872 int16 __ovld __cnfn upsample(short16, ushort16);
9873 uint2 __ovld __cnfn upsample(ushort2, ushort2);
9874 uint3 __ovld __cnfn upsample(ushort3, ushort3);
9875 uint4 __ovld __cnfn upsample(ushort4, ushort4);
9876 uint8 __ovld __cnfn upsample(ushort8, ushort8);
9877 uint16 __ovld __cnfn upsample(ushort16, ushort16);
9879 * result[i] = ((long)hi[i] << 32) | lo[i]
9880 * result[i] = ((ulong)hi[i] << 32) | lo[i]
9882 long __ovld __cnfn upsample(int, uint);
9883 ulong __ovld __cnfn upsample(uint, uint);
9884 long2 __ovld __cnfn upsample(int2, uint2);
9885 long3 __ovld __cnfn upsample(int3, uint3);
9886 long4 __ovld __cnfn upsample(int4, uint4);
9887 long8 __ovld __cnfn upsample(int8, uint8);
9888 long16 __ovld __cnfn upsample(int16, uint16);
9889 ulong2 __ovld __cnfn upsample(uint2, uint2);
9890 ulong3 __ovld __cnfn upsample(uint3, uint3);
9891 ulong4 __ovld __cnfn upsample(uint4, uint4);
9892 ulong8 __ovld __cnfn upsample(uint8, uint8);
9893 ulong16 __ovld __cnfn upsample(uint16, uint16);
9896 * popcount(x): returns the number of set bit in x
9898 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
9899 char __ovld __cnfn popcount(char);
9900 uchar __ovld __cnfn popcount(uchar);
9901 char2 __ovld __cnfn popcount(char2);
9902 uchar2 __ovld __cnfn popcount(uchar2);
9903 char3 __ovld __cnfn popcount(char3);
9904 uchar3 __ovld __cnfn popcount(uchar3);
9905 char4 __ovld __cnfn popcount(char4);
9906 uchar4 __ovld __cnfn popcount(uchar4);
9907 char8 __ovld __cnfn popcount(char8);
9908 uchar8 __ovld __cnfn popcount(uchar8);
9909 char16 __ovld __cnfn popcount(char16);
9910 uchar16 __ovld __cnfn popcount(uchar16);
9911 short __ovld __cnfn popcount(short);
9912 ushort __ovld __cnfn popcount(ushort);
9913 short2 __ovld __cnfn popcount(short2);
9914 ushort2 __ovld __cnfn popcount(ushort2);
9915 short3 __ovld __cnfn popcount(short3);
9916 ushort3 __ovld __cnfn popcount(ushort3);
9917 short4 __ovld __cnfn popcount(short4);
9918 ushort4 __ovld __cnfn popcount(ushort4);
9919 short8 __ovld __cnfn popcount(short8);
9920 ushort8 __ovld __cnfn popcount(ushort8);
9921 short16 __ovld __cnfn popcount(short16);
9922 ushort16 __ovld __cnfn popcount(ushort16);
9923 int __ovld __cnfn popcount(int);
9924 uint __ovld __cnfn popcount(uint);
9925 int2 __ovld __cnfn popcount(int2);
9926 uint2 __ovld __cnfn popcount(uint2);
9927 int3 __ovld __cnfn popcount(int3);
9928 uint3 __ovld __cnfn popcount(uint3);
9929 int4 __ovld __cnfn popcount(int4);
9930 uint4 __ovld __cnfn popcount(uint4);
9931 int8 __ovld __cnfn popcount(int8);
9932 uint8 __ovld __cnfn popcount(uint8);
9933 int16 __ovld __cnfn popcount(int16);
9934 uint16 __ovld __cnfn popcount(uint16);
9935 long __ovld __cnfn popcount(long);
9936 ulong __ovld __cnfn popcount(ulong);
9937 long2 __ovld __cnfn popcount(long2);
9938 ulong2 __ovld __cnfn popcount(ulong2);
9939 long3 __ovld __cnfn popcount(long3);
9940 ulong3 __ovld __cnfn popcount(ulong3);
9941 long4 __ovld __cnfn popcount(long4);
9942 ulong4 __ovld __cnfn popcount(ulong4);
9943 long8 __ovld __cnfn popcount(long8);
9944 ulong8 __ovld __cnfn popcount(ulong8);
9945 long16 __ovld __cnfn popcount(long16);
9946 ulong16 __ovld __cnfn popcount(ulong16);
9947 #endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
9950 * Multiply two 24-bit integer values x and y and add
9951 * the 32-bit integer result to the 32-bit integer z.
9952 * Refer to definition of mul24 to see how the 24-bit
9953 * integer multiplication is performed.
9955 int __ovld __cnfn mad24(int, int, int);
9956 uint __ovld __cnfn mad24(uint, uint, uint);
9957 int2 __ovld __cnfn mad24(int2, int2, int2);
9958 uint2 __ovld __cnfn mad24(uint2, uint2, uint2);
9959 int3 __ovld __cnfn mad24(int3, int3, int3);
9960 uint3 __ovld __cnfn mad24(uint3, uint3, uint3);
9961 int4 __ovld __cnfn mad24(int4, int4, int4);
9962 uint4 __ovld __cnfn mad24(uint4, uint4, uint4);
9963 int8 __ovld __cnfn mad24(int8, int8, int8);
9964 uint8 __ovld __cnfn mad24(uint8, uint8, uint8);
9965 int16 __ovld __cnfn mad24(int16, int16, int16);
9966 uint16 __ovld __cnfn mad24(uint16, uint16, uint16);
9969 * Multiply two 24-bit integer values x and y. x and y
9970 * are 32-bit integers but only the low 24-bits are used
9971 * to perform the multiplication. mul24 should only
9972 * be used when values in x and y are in the range [-
9973 * 2^23, 2^23-1] if x and y are signed integers and in the
9974 * range [0, 2^24-1] if x and y are unsigned integers. If
9975 * x and y are not in this range, the multiplication
9976 * result is implementation-defined.
9978 int __ovld __cnfn mul24(int, int);
9979 uint __ovld __cnfn mul24(uint, uint);
9980 int2 __ovld __cnfn mul24(int2, int2);
9981 uint2 __ovld __cnfn mul24(uint2, uint2);
9982 int3 __ovld __cnfn mul24(int3, int3);
9983 uint3 __ovld __cnfn mul24(uint3, uint3);
9984 int4 __ovld __cnfn mul24(int4, int4);
9985 uint4 __ovld __cnfn mul24(uint4, uint4);
9986 int8 __ovld __cnfn mul24(int8, int8);
9987 uint8 __ovld __cnfn mul24(uint8, uint8);
9988 int16 __ovld __cnfn mul24(int16, int16);
9989 uint16 __ovld __cnfn mul24(uint16, uint16);
9991 // OpenCL v1.1 s6.11.4, v1.2 s6.12.4, v2.0 s6.13.4 - Common Functions
9994 * Returns fmin(fmax(x, minval), maxval).
9995 * Results are undefined if minval > maxval.
9997 float __ovld __cnfn clamp(float, float, float);
9998 float2 __ovld __cnfn clamp(float2, float2, float2);
9999 float3 __ovld __cnfn clamp(float3, float3, float3);
10000 float4 __ovld __cnfn clamp(float4, float4, float4);
10001 float8 __ovld __cnfn clamp(float8, float8, float8);
10002 float16 __ovld __cnfn clamp(float16, float16, float16);
10003 float2 __ovld __cnfn clamp(float2, float, float);
10004 float3 __ovld __cnfn clamp(float3, float, float);
10005 float4 __ovld __cnfn clamp(float4, float, float);
10006 float8 __ovld __cnfn clamp(float8, float, float);
10007 float16 __ovld __cnfn clamp(float16, float, float);
10008 #ifdef cl_khr_fp64
10009 double __ovld __cnfn clamp(double, double, double);
10010 double2 __ovld __cnfn clamp(double2, double2, double2);
10011 double3 __ovld __cnfn clamp(double3, double3, double3);
10012 double4 __ovld __cnfn clamp(double4, double4, double4);
10013 double8 __ovld __cnfn clamp(double8, double8, double8);
10014 double16 __ovld __cnfn clamp(double16, double16, double16);
10015 double2 __ovld __cnfn clamp(double2, double, double);
10016 double3 __ovld __cnfn clamp(double3, double, double);
10017 double4 __ovld __cnfn clamp(double4, double, double);
10018 double8 __ovld __cnfn clamp(double8, double, double);
10019 double16 __ovld __cnfn clamp(double16, double, double);
10020 #endif //cl_khr_fp64
10021 #ifdef cl_khr_fp16
10022 half __ovld __cnfn clamp(half, half, half);
10023 half2 __ovld __cnfn clamp(half2, half2, half2);
10024 half3 __ovld __cnfn clamp(half3, half3, half3);
10025 half4 __ovld __cnfn clamp(half4, half4, half4);
10026 half8 __ovld __cnfn clamp(half8, half8, half8);
10027 half16 __ovld __cnfn clamp(half16, half16, half16);
10028 half2 __ovld __cnfn clamp(half2, half, half);
10029 half3 __ovld __cnfn clamp(half3, half, half);
10030 half4 __ovld __cnfn clamp(half4, half, half);
10031 half8 __ovld __cnfn clamp(half8, half, half);
10032 half16 __ovld __cnfn clamp(half16, half, half);
10033 #endif //cl_khr_fp16
10036 * Converts radians to degrees, i.e. (180 / PI) *
10037 * radians.
10039 float __ovld __cnfn degrees(float);
10040 float2 __ovld __cnfn degrees(float2);
10041 float3 __ovld __cnfn degrees(float3);
10042 float4 __ovld __cnfn degrees(float4);
10043 float8 __ovld __cnfn degrees(float8);
10044 float16 __ovld __cnfn degrees(float16);
10045 #ifdef cl_khr_fp64
10046 double __ovld __cnfn degrees(double);
10047 double2 __ovld __cnfn degrees(double2);
10048 double3 __ovld __cnfn degrees(double3);
10049 double4 __ovld __cnfn degrees(double4);
10050 double8 __ovld __cnfn degrees(double8);
10051 double16 __ovld __cnfn degrees(double16);
10052 #endif //cl_khr_fp64
10053 #ifdef cl_khr_fp16
10054 half __ovld __cnfn degrees(half);
10055 half2 __ovld __cnfn degrees(half2);
10056 half3 __ovld __cnfn degrees(half3);
10057 half4 __ovld __cnfn degrees(half4);
10058 half8 __ovld __cnfn degrees(half8);
10059 half16 __ovld __cnfn degrees(half16);
10060 #endif //cl_khr_fp16
10063 * Returns y if x < y, otherwise it returns x. If x and y
10064 * are infinite or NaN, the return values are undefined.
10066 float __ovld __cnfn max(float, float);
10067 float2 __ovld __cnfn max(float2, float2);
10068 float3 __ovld __cnfn max(float3, float3);
10069 float4 __ovld __cnfn max(float4, float4);
10070 float8 __ovld __cnfn max(float8, float8);
10071 float16 __ovld __cnfn max(float16, float16);
10072 float2 __ovld __cnfn max(float2, float);
10073 float3 __ovld __cnfn max(float3, float);
10074 float4 __ovld __cnfn max(float4, float);
10075 float8 __ovld __cnfn max(float8, float);
10076 float16 __ovld __cnfn max(float16, float);
10077 #ifdef cl_khr_fp64
10078 double __ovld __cnfn max(double, double);
10079 double2 __ovld __cnfn max(double2, double2);
10080 double3 __ovld __cnfn max(double3, double3);
10081 double4 __ovld __cnfn max(double4, double4);
10082 double8 __ovld __cnfn max(double8, double8);
10083 double16 __ovld __cnfn max(double16, double16);
10084 double2 __ovld __cnfn max(double2, double);
10085 double3 __ovld __cnfn max(double3, double);
10086 double4 __ovld __cnfn max(double4, double);
10087 double8 __ovld __cnfn max(double8, double);
10088 double16 __ovld __cnfn max(double16, double);
10089 #endif //cl_khr_fp64
10090 #ifdef cl_khr_fp16
10091 half __ovld __cnfn max(half, half);
10092 half2 __ovld __cnfn max(half2, half2);
10093 half3 __ovld __cnfn max(half3, half3);
10094 half4 __ovld __cnfn max(half4, half4);
10095 half8 __ovld __cnfn max(half8, half8);
10096 half16 __ovld __cnfn max(half16, half16);
10097 half2 __ovld __cnfn max(half2, half);
10098 half3 __ovld __cnfn max(half3, half);
10099 half4 __ovld __cnfn max(half4, half);
10100 half8 __ovld __cnfn max(half8, half);
10101 half16 __ovld __cnfn max(half16, half);
10102 #endif //cl_khr_fp16
10105 * Returns y if y < x, otherwise it returns x. If x and y
10106 * are infinite or NaN, the return values are undefined.
10108 float __ovld __cnfn min(float, float);
10109 float2 __ovld __cnfn min(float2, float2);
10110 float3 __ovld __cnfn min(float3, float3);
10111 float4 __ovld __cnfn min(float4, float4);
10112 float8 __ovld __cnfn min(float8, float8);
10113 float16 __ovld __cnfn min(float16, float16);
10114 float2 __ovld __cnfn min(float2, float);
10115 float3 __ovld __cnfn min(float3, float);
10116 float4 __ovld __cnfn min(float4, float);
10117 float8 __ovld __cnfn min(float8, float);
10118 float16 __ovld __cnfn min(float16, float);
10119 #ifdef cl_khr_fp64
10120 double __ovld __cnfn min(double, double);
10121 double2 __ovld __cnfn min(double2, double2);
10122 double3 __ovld __cnfn min(double3, double3);
10123 double4 __ovld __cnfn min(double4, double4);
10124 double8 __ovld __cnfn min(double8, double8);
10125 double16 __ovld __cnfn min(double16, double16);
10126 double2 __ovld __cnfn min(double2, double);
10127 double3 __ovld __cnfn min(double3, double);
10128 double4 __ovld __cnfn min(double4, double);
10129 double8 __ovld __cnfn min(double8, double);
10130 double16 __ovld __cnfn min(double16, double);
10131 #endif //cl_khr_fp64
10132 #ifdef cl_khr_fp16
10133 half __ovld __cnfn min(half, half);
10134 half2 __ovld __cnfn min(half2, half2);
10135 half3 __ovld __cnfn min(half3, half3);
10136 half4 __ovld __cnfn min(half4, half4);
10137 half8 __ovld __cnfn min(half8, half8);
10138 half16 __ovld __cnfn min(half16, half16);
10139 half2 __ovld __cnfn min(half2, half);
10140 half3 __ovld __cnfn min(half3, half);
10141 half4 __ovld __cnfn min(half4, half);
10142 half8 __ovld __cnfn min(half8, half);
10143 half16 __ovld __cnfn min(half16, half);
10144 #endif //cl_khr_fp16
10147 * Returns the linear blend of x & y implemented as:
10148 * x + (y - x) * a
10149 * a must be a value in the range 0.0 ... 1.0. If a is not
10150 * in the range 0.0 ... 1.0, the return values are
10151 * undefined.
10153 float __ovld __cnfn mix(float, float, float);
10154 float2 __ovld __cnfn mix(float2, float2, float2);
10155 float3 __ovld __cnfn mix(float3, float3, float3);
10156 float4 __ovld __cnfn mix(float4, float4, float4);
10157 float8 __ovld __cnfn mix(float8, float8, float8);
10158 float16 __ovld __cnfn mix(float16, float16, float16);
10159 float2 __ovld __cnfn mix(float2, float2, float);
10160 float3 __ovld __cnfn mix(float3, float3, float);
10161 float4 __ovld __cnfn mix(float4, float4, float);
10162 float8 __ovld __cnfn mix(float8, float8, float);
10163 float16 __ovld __cnfn mix(float16, float16, float);
10164 #ifdef cl_khr_fp64
10165 double __ovld __cnfn mix(double, double, double);
10166 double2 __ovld __cnfn mix(double2, double2, double2);
10167 double3 __ovld __cnfn mix(double3, double3, double3);
10168 double4 __ovld __cnfn mix(double4, double4, double4);
10169 double8 __ovld __cnfn mix(double8, double8, double8);
10170 double16 __ovld __cnfn mix(double16, double16, double16);
10171 double2 __ovld __cnfn mix(double2, double2, double);
10172 double3 __ovld __cnfn mix(double3, double3, double);
10173 double4 __ovld __cnfn mix(double4, double4, double);
10174 double8 __ovld __cnfn mix(double8, double8, double);
10175 double16 __ovld __cnfn mix(double16, double16, double);
10176 #endif //cl_khr_fp64
10177 #ifdef cl_khr_fp16
10178 half __ovld __cnfn mix(half, half, half);
10179 half2 __ovld __cnfn mix(half2, half2, half2);
10180 half3 __ovld __cnfn mix(half3, half3, half3);
10181 half4 __ovld __cnfn mix(half4, half4, half4);
10182 half8 __ovld __cnfn mix(half8, half8, half8);
10183 half16 __ovld __cnfn mix(half16, half16, half16);
10184 half2 __ovld __cnfn mix(half2, half2, half);
10185 half3 __ovld __cnfn mix(half3, half3, half);
10186 half4 __ovld __cnfn mix(half4, half4, half);
10187 half8 __ovld __cnfn mix(half8, half8, half);
10188 half16 __ovld __cnfn mix(half16, half16, half);
10189 #endif //cl_khr_fp16
10192 * Converts degrees to radians, i.e. (PI / 180) *
10193 * degrees.
10195 float __ovld __cnfn radians(float);
10196 float2 __ovld __cnfn radians(float2);
10197 float3 __ovld __cnfn radians(float3);
10198 float4 __ovld __cnfn radians(float4);
10199 float8 __ovld __cnfn radians(float8);
10200 float16 __ovld __cnfn radians(float16);
10201 #ifdef cl_khr_fp64
10202 double __ovld __cnfn radians(double);
10203 double2 __ovld __cnfn radians(double2);
10204 double3 __ovld __cnfn radians(double3);
10205 double4 __ovld __cnfn radians(double4);
10206 double8 __ovld __cnfn radians(double8);
10207 double16 __ovld __cnfn radians(double16);
10208 #endif //cl_khr_fp64
10209 #ifdef cl_khr_fp16
10210 half __ovld __cnfn radians(half);
10211 half2 __ovld __cnfn radians(half2);
10212 half3 __ovld __cnfn radians(half3);
10213 half4 __ovld __cnfn radians(half4);
10214 half8 __ovld __cnfn radians(half8);
10215 half16 __ovld __cnfn radians(half16);
10216 #endif //cl_khr_fp16
10219 * Returns 0.0 if x < edge, otherwise it returns 1.0.
10221 float __ovld __cnfn step(float, float);
10222 float2 __ovld __cnfn step(float2, float2);
10223 float3 __ovld __cnfn step(float3, float3);
10224 float4 __ovld __cnfn step(float4, float4);
10225 float8 __ovld __cnfn step(float8, float8);
10226 float16 __ovld __cnfn step(float16, float16);
10227 float2 __ovld __cnfn step(float, float2);
10228 float3 __ovld __cnfn step(float, float3);
10229 float4 __ovld __cnfn step(float, float4);
10230 float8 __ovld __cnfn step(float, float8);
10231 float16 __ovld __cnfn step(float, float16);
10232 #ifdef cl_khr_fp64
10233 double __ovld __cnfn step(double, double);
10234 double2 __ovld __cnfn step(double2, double2);
10235 double3 __ovld __cnfn step(double3, double3);
10236 double4 __ovld __cnfn step(double4, double4);
10237 double8 __ovld __cnfn step(double8, double8);
10238 double16 __ovld __cnfn step(double16, double16);
10239 double2 __ovld __cnfn step(double, double2);
10240 double3 __ovld __cnfn step(double, double3);
10241 double4 __ovld __cnfn step(double, double4);
10242 double8 __ovld __cnfn step(double, double8);
10243 double16 __ovld __cnfn step(double, double16);
10244 #endif //cl_khr_fp64
10245 #ifdef cl_khr_fp16
10246 half __ovld __cnfn step(half, half);
10247 half2 __ovld __cnfn step(half2, half2);
10248 half3 __ovld __cnfn step(half3, half3);
10249 half4 __ovld __cnfn step(half4, half4);
10250 half8 __ovld __cnfn step(half8, half8);
10251 half16 __ovld __cnfn step(half16, half16);
10252 half2 __ovld __cnfn step(half, half2);
10253 half3 __ovld __cnfn step(half, half3);
10254 half4 __ovld __cnfn step(half, half4);
10255 half8 __ovld __cnfn step(half, half8);
10256 half16 __ovld __cnfn step(half, half16);
10257 #endif //cl_khr_fp16
10260 * Returns 0.0 if x <= edge0 and 1.0 if x >= edge1 and
10261 * performs smooth Hermite interpolation between 0
10262 * and 1when edge0 < x < edge1. This is useful in
10263 * cases where you would want a threshold function
10264 * with a smooth transition.
10265 * This is equivalent to:
10266 * gentype t;
10267 * t = clamp ((x - edge0) / (edge1 - edge0), 0, 1);
10268 * return t * t * (3 - 2 * t);
10269 * Results are undefined if edge0 >= edge1 or if x,
10270 * edge0 or edge1 is a NaN.
10272 float __ovld __cnfn smoothstep(float, float, float);
10273 float2 __ovld __cnfn smoothstep(float2, float2, float2);
10274 float3 __ovld __cnfn smoothstep(float3, float3, float3);
10275 float4 __ovld __cnfn smoothstep(float4, float4, float4);
10276 float8 __ovld __cnfn smoothstep(float8, float8, float8);
10277 float16 __ovld __cnfn smoothstep(float16, float16, float16);
10278 float2 __ovld __cnfn smoothstep(float, float, float2);
10279 float3 __ovld __cnfn smoothstep(float, float, float3);
10280 float4 __ovld __cnfn smoothstep(float, float, float4);
10281 float8 __ovld __cnfn smoothstep(float, float, float8);
10282 float16 __ovld __cnfn smoothstep(float, float, float16);
10283 #ifdef cl_khr_fp64
10284 double __ovld __cnfn smoothstep(double, double, double);
10285 double2 __ovld __cnfn smoothstep(double2, double2, double2);
10286 double3 __ovld __cnfn smoothstep(double3, double3, double3);
10287 double4 __ovld __cnfn smoothstep(double4, double4, double4);
10288 double8 __ovld __cnfn smoothstep(double8, double8, double8);
10289 double16 __ovld __cnfn smoothstep(double16, double16, double16);
10290 double2 __ovld __cnfn smoothstep(double, double, double2);
10291 double3 __ovld __cnfn smoothstep(double, double, double3);
10292 double4 __ovld __cnfn smoothstep(double, double, double4);
10293 double8 __ovld __cnfn smoothstep(double, double, double8);
10294 double16 __ovld __cnfn smoothstep(double, double, double16);
10295 #endif //cl_khr_fp64
10296 #ifdef cl_khr_fp16
10297 half __ovld __cnfn smoothstep(half, half, half);
10298 half2 __ovld __cnfn smoothstep(half2, half2, half2);
10299 half3 __ovld __cnfn smoothstep(half3, half3, half3);
10300 half4 __ovld __cnfn smoothstep(half4, half4, half4);
10301 half8 __ovld __cnfn smoothstep(half8, half8, half8);
10302 half16 __ovld __cnfn smoothstep(half16, half16, half16);
10303 half2 __ovld __cnfn smoothstep(half, half, half2);
10304 half3 __ovld __cnfn smoothstep(half, half, half3);
10305 half4 __ovld __cnfn smoothstep(half, half, half4);
10306 half8 __ovld __cnfn smoothstep(half, half, half8);
10307 half16 __ovld __cnfn smoothstep(half, half, half16);
10308 #endif //cl_khr_fp16
10311 * Returns 1.0 if x > 0, -0.0 if x = -0.0, +0.0 if x =
10312 * +0.0, or -1.0 if x < 0. Returns 0.0 if x is a NaN.
10314 float __ovld __cnfn sign(float);
10315 float2 __ovld __cnfn sign(float2);
10316 float3 __ovld __cnfn sign(float3);
10317 float4 __ovld __cnfn sign(float4);
10318 float8 __ovld __cnfn sign(float8);
10319 float16 __ovld __cnfn sign(float16);
10320 #ifdef cl_khr_fp64
10321 double __ovld __cnfn sign(double);
10322 double2 __ovld __cnfn sign(double2);
10323 double3 __ovld __cnfn sign(double3);
10324 double4 __ovld __cnfn sign(double4);
10325 double8 __ovld __cnfn sign(double8);
10326 double16 __ovld __cnfn sign(double16);
10327 #endif //cl_khr_fp64
10328 #ifdef cl_khr_fp16
10329 half __ovld __cnfn sign(half);
10330 half2 __ovld __cnfn sign(half2);
10331 half3 __ovld __cnfn sign(half3);
10332 half4 __ovld __cnfn sign(half4);
10333 half8 __ovld __cnfn sign(half8);
10334 half16 __ovld __cnfn sign(half16);
10335 #endif //cl_khr_fp16
10337 // OpenCL v1.1 s6.11.5, v1.2 s6.12.5, v2.0 s6.13.5 - Geometric Functions
10340 * Returns the cross product of p0.xyz and p1.xyz. The
10341 * w component of float4 result returned will be 0.0.
10343 float4 __ovld __cnfn cross(float4, float4);
10344 float3 __ovld __cnfn cross(float3, float3);
10345 #ifdef cl_khr_fp64
10346 double4 __ovld __cnfn cross(double4, double4);
10347 double3 __ovld __cnfn cross(double3, double3);
10348 #endif //cl_khr_fp64
10349 #ifdef cl_khr_fp16
10350 half4 __ovld __cnfn cross(half4, half4);
10351 half3 __ovld __cnfn cross(half3, half3);
10352 #endif //cl_khr_fp16
10355 * Compute dot product.
10357 float __ovld __cnfn dot(float, float);
10358 float __ovld __cnfn dot(float2, float2);
10359 float __ovld __cnfn dot(float3, float3);
10360 float __ovld __cnfn dot(float4, float4);
10361 #ifdef cl_khr_fp64
10362 double __ovld __cnfn dot(double, double);
10363 double __ovld __cnfn dot(double2, double2);
10364 double __ovld __cnfn dot(double3, double3);
10365 double __ovld __cnfn dot(double4, double4);
10366 #endif //cl_khr_fp64
10367 #ifdef cl_khr_fp16
10368 half __ovld __cnfn dot(half, half);
10369 half __ovld __cnfn dot(half2, half2);
10370 half __ovld __cnfn dot(half3, half3);
10371 half __ovld __cnfn dot(half4, half4);
10372 #endif //cl_khr_fp16
10375 * Returns the distance between p0 and p1. This is
10376 * calculated as length(p0 - p1).
10378 float __ovld __cnfn distance(float, float);
10379 float __ovld __cnfn distance(float2, float2);
10380 float __ovld __cnfn distance(float3, float3);
10381 float __ovld __cnfn distance(float4, float4);
10382 #ifdef cl_khr_fp64
10383 double __ovld __cnfn distance(double, double);
10384 double __ovld __cnfn distance(double2, double2);
10385 double __ovld __cnfn distance(double3, double3);
10386 double __ovld __cnfn distance(double4, double4);
10387 #endif //cl_khr_fp64
10388 #ifdef cl_khr_fp16
10389 half __ovld __cnfn distance(half, half);
10390 half __ovld __cnfn distance(half2, half2);
10391 half __ovld __cnfn distance(half3, half3);
10392 half __ovld __cnfn distance(half4, half4);
10393 #endif //cl_khr_fp16
10396 * Return the length of vector p, i.e.,
10397 * sqrt(p.x2 + p.y 2 + ...)
10399 float __ovld __cnfn length(float);
10400 float __ovld __cnfn length(float2);
10401 float __ovld __cnfn length(float3);
10402 float __ovld __cnfn length(float4);
10403 #ifdef cl_khr_fp64
10404 double __ovld __cnfn length(double);
10405 double __ovld __cnfn length(double2);
10406 double __ovld __cnfn length(double3);
10407 double __ovld __cnfn length(double4);
10408 #endif //cl_khr_fp64
10409 #ifdef cl_khr_fp16
10410 half __ovld __cnfn length(half);
10411 half __ovld __cnfn length(half2);
10412 half __ovld __cnfn length(half3);
10413 half __ovld __cnfn length(half4);
10414 #endif //cl_khr_fp16
10417 * Returns a vector in the same direction as p but with a
10418 * length of 1.
10420 float __ovld __cnfn normalize(float);
10421 float2 __ovld __cnfn normalize(float2);
10422 float3 __ovld __cnfn normalize(float3);
10423 float4 __ovld __cnfn normalize(float4);
10424 #ifdef cl_khr_fp64
10425 double __ovld __cnfn normalize(double);
10426 double2 __ovld __cnfn normalize(double2);
10427 double3 __ovld __cnfn normalize(double3);
10428 double4 __ovld __cnfn normalize(double4);
10429 #endif //cl_khr_fp64
10430 #ifdef cl_khr_fp16
10431 half __ovld __cnfn normalize(half);
10432 half2 __ovld __cnfn normalize(half2);
10433 half3 __ovld __cnfn normalize(half3);
10434 half4 __ovld __cnfn normalize(half4);
10435 #endif //cl_khr_fp16
10438 * Returns fast_length(p0 - p1).
10440 float __ovld __cnfn fast_distance(float, float);
10441 float __ovld __cnfn fast_distance(float2, float2);
10442 float __ovld __cnfn fast_distance(float3, float3);
10443 float __ovld __cnfn fast_distance(float4, float4);
10446 * Returns the length of vector p computed as:
10447 * half_sqrt(p.x2 + p.y2 + ...)
10449 float __ovld __cnfn fast_length(float);
10450 float __ovld __cnfn fast_length(float2);
10451 float __ovld __cnfn fast_length(float3);
10452 float __ovld __cnfn fast_length(float4);
10455 * Returns a vector in the same direction as p but with a
10456 * length of 1. fast_normalize is computed as:
10457 * p * half_rsqrt (p.x^2 + p.y^2 + ... )
10458 * The result shall be within 8192 ulps error from the
10459 * infinitely precise result of
10460 * if (all(p == 0.0f))
10461 * result = p;
10462 * else
10463 * result = p / sqrt (p.x^2 + p.y^2 + ...);
10464 * with the following exceptions:
10465 * 1) If the sum of squares is greater than FLT_MAX
10466 * then the value of the floating-point values in the
10467 * result vector are undefined.
10468 * 2) If the sum of squares is less than FLT_MIN then
10469 * the implementation may return back p.
10470 * 3) If the device is in "denorms are flushed to zero"
10471 * mode, individual operand elements with magnitude
10472 * less than sqrt(FLT_MIN) may be flushed to zero
10473 * before proceeding with the calculation.
10475 float __ovld __cnfn fast_normalize(float);
10476 float2 __ovld __cnfn fast_normalize(float2);
10477 float3 __ovld __cnfn fast_normalize(float3);
10478 float4 __ovld __cnfn fast_normalize(float4);
10480 // OpenCL v1.1 s6.11.6, v1.2 s6.12.6, v2.0 s6.13.6 - Relational Functions
10483 * intn isequal (floatn x, floatn y)
10484 * Returns the component-wise compare of x == y.
10486 int __ovld __cnfn isequal(float, float);
10487 int2 __ovld __cnfn isequal(float2, float2);
10488 int3 __ovld __cnfn isequal(float3, float3);
10489 int4 __ovld __cnfn isequal(float4, float4);
10490 int8 __ovld __cnfn isequal(float8, float8);
10491 int16 __ovld __cnfn isequal(float16, float16);
10492 #ifdef cl_khr_fp64
10493 int __ovld __cnfn isequal(double, double);
10494 long2 __ovld __cnfn isequal(double2, double2);
10495 long3 __ovld __cnfn isequal(double3, double3);
10496 long4 __ovld __cnfn isequal(double4, double4);
10497 long8 __ovld __cnfn isequal(double8, double8);
10498 long16 __ovld __cnfn isequal(double16, double16);
10499 #endif //cl_khr_fp64
10500 #ifdef cl_khr_fp16
10501 int __ovld __cnfn isequal(half, half);
10502 short2 __ovld __cnfn isequal(half2, half2);
10503 short3 __ovld __cnfn isequal(half3, half3);
10504 short4 __ovld __cnfn isequal(half4, half4);
10505 short8 __ovld __cnfn isequal(half8, half8);
10506 short16 __ovld __cnfn isequal(half16, half16);
10507 #endif //cl_khr_fp16
10510 * Returns the component-wise compare of x != y.
10512 int __ovld __cnfn isnotequal(float, float);
10513 int2 __ovld __cnfn isnotequal(float2, float2);
10514 int3 __ovld __cnfn isnotequal(float3, float3);
10515 int4 __ovld __cnfn isnotequal(float4, float4);
10516 int8 __ovld __cnfn isnotequal(float8, float8);
10517 int16 __ovld __cnfn isnotequal(float16, float16);
10518 #ifdef cl_khr_fp64
10519 int __ovld __cnfn isnotequal(double, double);
10520 long2 __ovld __cnfn isnotequal(double2, double2);
10521 long3 __ovld __cnfn isnotequal(double3, double3);
10522 long4 __ovld __cnfn isnotequal(double4, double4);
10523 long8 __ovld __cnfn isnotequal(double8, double8);
10524 long16 __ovld __cnfn isnotequal(double16, double16);
10525 #endif //cl_khr_fp64
10526 #ifdef cl_khr_fp16
10527 int __ovld __cnfn isnotequal(half, half);
10528 short2 __ovld __cnfn isnotequal(half2, half2);
10529 short3 __ovld __cnfn isnotequal(half3, half3);
10530 short4 __ovld __cnfn isnotequal(half4, half4);
10531 short8 __ovld __cnfn isnotequal(half8, half8);
10532 short16 __ovld __cnfn isnotequal(half16, half16);
10533 #endif //cl_khr_fp16
10536 * Returns the component-wise compare of x > y.
10538 int __ovld __cnfn isgreater(float, float);
10539 int2 __ovld __cnfn isgreater(float2, float2);
10540 int3 __ovld __cnfn isgreater(float3, float3);
10541 int4 __ovld __cnfn isgreater(float4, float4);
10542 int8 __ovld __cnfn isgreater(float8, float8);
10543 int16 __ovld __cnfn isgreater(float16, float16);
10544 #ifdef cl_khr_fp64
10545 int __ovld __cnfn isgreater(double, double);
10546 long2 __ovld __cnfn isgreater(double2, double2);
10547 long3 __ovld __cnfn isgreater(double3, double3);
10548 long4 __ovld __cnfn isgreater(double4, double4);
10549 long8 __ovld __cnfn isgreater(double8, double8);
10550 long16 __ovld __cnfn isgreater(double16, double16);
10551 #endif //cl_khr_fp64
10552 #ifdef cl_khr_fp16
10553 int __ovld __cnfn isgreater(half, half);
10554 short2 __ovld __cnfn isgreater(half2, half2);
10555 short3 __ovld __cnfn isgreater(half3, half3);
10556 short4 __ovld __cnfn isgreater(half4, half4);
10557 short8 __ovld __cnfn isgreater(half8, half8);
10558 short16 __ovld __cnfn isgreater(half16, half16);
10559 #endif //cl_khr_fp16
10562 * Returns the component-wise compare of x >= y.
10564 int __ovld __cnfn isgreaterequal(float, float);
10565 int2 __ovld __cnfn isgreaterequal(float2, float2);
10566 int3 __ovld __cnfn isgreaterequal(float3, float3);
10567 int4 __ovld __cnfn isgreaterequal(float4, float4);
10568 int8 __ovld __cnfn isgreaterequal(float8, float8);
10569 int16 __ovld __cnfn isgreaterequal(float16, float16);
10570 #ifdef cl_khr_fp64
10571 int __ovld __cnfn isgreaterequal(double, double);
10572 long2 __ovld __cnfn isgreaterequal(double2, double2);
10573 long3 __ovld __cnfn isgreaterequal(double3, double3);
10574 long4 __ovld __cnfn isgreaterequal(double4, double4);
10575 long8 __ovld __cnfn isgreaterequal(double8, double8);
10576 long16 __ovld __cnfn isgreaterequal(double16, double16);
10577 #endif //cl_khr_fp64
10578 #ifdef cl_khr_fp16
10579 int __ovld __cnfn isgreaterequal(half, half);
10580 short2 __ovld __cnfn isgreaterequal(half2, half2);
10581 short3 __ovld __cnfn isgreaterequal(half3, half3);
10582 short4 __ovld __cnfn isgreaterequal(half4, half4);
10583 short8 __ovld __cnfn isgreaterequal(half8, half8);
10584 short16 __ovld __cnfn isgreaterequal(half16, half16);
10585 #endif //cl_khr_fp16
10588 * Returns the component-wise compare of x < y.
10590 int __ovld __cnfn isless(float, float);
10591 int2 __ovld __cnfn isless(float2, float2);
10592 int3 __ovld __cnfn isless(float3, float3);
10593 int4 __ovld __cnfn isless(float4, float4);
10594 int8 __ovld __cnfn isless(float8, float8);
10595 int16 __ovld __cnfn isless(float16, float16);
10596 #ifdef cl_khr_fp64
10597 int __ovld __cnfn isless(double, double);
10598 long2 __ovld __cnfn isless(double2, double2);
10599 long3 __ovld __cnfn isless(double3, double3);
10600 long4 __ovld __cnfn isless(double4, double4);
10601 long8 __ovld __cnfn isless(double8, double8);
10602 long16 __ovld __cnfn isless(double16, double16);
10603 #endif //cl_khr_fp64
10604 #ifdef cl_khr_fp16
10605 int __ovld __cnfn isless(half, half);
10606 short2 __ovld __cnfn isless(half2, half2);
10607 short3 __ovld __cnfn isless(half3, half3);
10608 short4 __ovld __cnfn isless(half4, half4);
10609 short8 __ovld __cnfn isless(half8, half8);
10610 short16 __ovld __cnfn isless(half16, half16);
10611 #endif //cl_khr_fp16
10614 * Returns the component-wise compare of x <= y.
10616 int __ovld __cnfn islessequal(float, float);
10617 int2 __ovld __cnfn islessequal(float2, float2);
10618 int3 __ovld __cnfn islessequal(float3, float3);
10619 int4 __ovld __cnfn islessequal(float4, float4);
10620 int8 __ovld __cnfn islessequal(float8, float8);
10621 int16 __ovld __cnfn islessequal(float16, float16);
10622 #ifdef cl_khr_fp64
10623 int __ovld __cnfn islessequal(double, double);
10624 long2 __ovld __cnfn islessequal(double2, double2);
10625 long3 __ovld __cnfn islessequal(double3, double3);
10626 long4 __ovld __cnfn islessequal(double4, double4);
10627 long8 __ovld __cnfn islessequal(double8, double8);
10628 long16 __ovld __cnfn islessequal(double16, double16);
10629 #endif //cl_khr_fp64
10630 #ifdef cl_khr_fp16
10631 int __ovld __cnfn islessequal(half, half);
10632 short2 __ovld __cnfn islessequal(half2, half2);
10633 short3 __ovld __cnfn islessequal(half3, half3);
10634 short4 __ovld __cnfn islessequal(half4, half4);
10635 short8 __ovld __cnfn islessequal(half8, half8);
10636 short16 __ovld __cnfn islessequal(half16, half16);
10637 #endif //cl_khr_fp16
10640 * Returns the component-wise compare of
10641 * (x < y) || (x > y) .
10643 int __ovld __cnfn islessgreater(float, float);
10644 int2 __ovld __cnfn islessgreater(float2, float2);
10645 int3 __ovld __cnfn islessgreater(float3, float3);
10646 int4 __ovld __cnfn islessgreater(float4, float4);
10647 int8 __ovld __cnfn islessgreater(float8, float8);
10648 int16 __ovld __cnfn islessgreater(float16, float16);
10649 #ifdef cl_khr_fp64
10650 int __ovld __cnfn islessgreater(double, double);
10651 long2 __ovld __cnfn islessgreater(double2, double2);
10652 long3 __ovld __cnfn islessgreater(double3, double3);
10653 long4 __ovld __cnfn islessgreater(double4, double4);
10654 long8 __ovld __cnfn islessgreater(double8, double8);
10655 long16 __ovld __cnfn islessgreater(double16, double16);
10656 #endif //cl_khr_fp64
10657 #ifdef cl_khr_fp16
10658 int __ovld __cnfn islessgreater(half, half);
10659 short2 __ovld __cnfn islessgreater(half2, half2);
10660 short3 __ovld __cnfn islessgreater(half3, half3);
10661 short4 __ovld __cnfn islessgreater(half4, half4);
10662 short8 __ovld __cnfn islessgreater(half8, half8);
10663 short16 __ovld __cnfn islessgreater(half16, half16);
10664 #endif //cl_khr_fp16
10667 * Test for finite value.
10669 int __ovld __cnfn isfinite(float);
10670 int2 __ovld __cnfn isfinite(float2);
10671 int3 __ovld __cnfn isfinite(float3);
10672 int4 __ovld __cnfn isfinite(float4);
10673 int8 __ovld __cnfn isfinite(float8);
10674 int16 __ovld __cnfn isfinite(float16);
10675 #ifdef cl_khr_fp64
10676 int __ovld __cnfn isfinite(double);
10677 long2 __ovld __cnfn isfinite(double2);
10678 long3 __ovld __cnfn isfinite(double3);
10679 long4 __ovld __cnfn isfinite(double4);
10680 long8 __ovld __cnfn isfinite(double8);
10681 long16 __ovld __cnfn isfinite(double16);
10682 #endif //cl_khr_fp64
10683 #ifdef cl_khr_fp16
10684 int __ovld __cnfn isfinite(half);
10685 short2 __ovld __cnfn isfinite(half2);
10686 short3 __ovld __cnfn isfinite(half3);
10687 short4 __ovld __cnfn isfinite(half4);
10688 short8 __ovld __cnfn isfinite(half8);
10689 short16 __ovld __cnfn isfinite(half16);
10690 #endif //cl_khr_fp16
10693 * Test for infinity value (+ve or -ve) .
10695 int __ovld __cnfn isinf(float);
10696 int2 __ovld __cnfn isinf(float2);
10697 int3 __ovld __cnfn isinf(float3);
10698 int4 __ovld __cnfn isinf(float4);
10699 int8 __ovld __cnfn isinf(float8);
10700 int16 __ovld __cnfn isinf(float16);
10701 #ifdef cl_khr_fp64
10702 int __ovld __cnfn isinf(double);
10703 long2 __ovld __cnfn isinf(double2);
10704 long3 __ovld __cnfn isinf(double3);
10705 long4 __ovld __cnfn isinf(double4);
10706 long8 __ovld __cnfn isinf(double8);
10707 long16 __ovld __cnfn isinf(double16);
10708 #endif //cl_khr_fp64
10709 #ifdef cl_khr_fp16
10710 int __ovld __cnfn isinf(half);
10711 short2 __ovld __cnfn isinf(half2);
10712 short3 __ovld __cnfn isinf(half3);
10713 short4 __ovld __cnfn isinf(half4);
10714 short8 __ovld __cnfn isinf(half8);
10715 short16 __ovld __cnfn isinf(half16);
10716 #endif //cl_khr_fp16
10719 * Test for a NaN.
10721 int __ovld __cnfn isnan(float);
10722 int2 __ovld __cnfn isnan(float2);
10723 int3 __ovld __cnfn isnan(float3);
10724 int4 __ovld __cnfn isnan(float4);
10725 int8 __ovld __cnfn isnan(float8);
10726 int16 __ovld __cnfn isnan(float16);
10727 #ifdef cl_khr_fp64
10728 int __ovld __cnfn isnan(double);
10729 long2 __ovld __cnfn isnan(double2);
10730 long3 __ovld __cnfn isnan(double3);
10731 long4 __ovld __cnfn isnan(double4);
10732 long8 __ovld __cnfn isnan(double8);
10733 long16 __ovld __cnfn isnan(double16);
10734 #endif //cl_khr_fp64
10735 #ifdef cl_khr_fp16
10736 int __ovld __cnfn isnan(half);
10737 short2 __ovld __cnfn isnan(half2);
10738 short3 __ovld __cnfn isnan(half3);
10739 short4 __ovld __cnfn isnan(half4);
10740 short8 __ovld __cnfn isnan(half8);
10741 short16 __ovld __cnfn isnan(half16);
10742 #endif //cl_khr_fp16
10745 * Test for a normal value.
10747 int __ovld __cnfn isnormal(float);
10748 int2 __ovld __cnfn isnormal(float2);
10749 int3 __ovld __cnfn isnormal(float3);
10750 int4 __ovld __cnfn isnormal(float4);
10751 int8 __ovld __cnfn isnormal(float8);
10752 int16 __ovld __cnfn isnormal(float16);
10753 #ifdef cl_khr_fp64
10754 int __ovld __cnfn isnormal(double);
10755 long2 __ovld __cnfn isnormal(double2);
10756 long3 __ovld __cnfn isnormal(double3);
10757 long4 __ovld __cnfn isnormal(double4);
10758 long8 __ovld __cnfn isnormal(double8);
10759 long16 __ovld __cnfn isnormal(double16);
10760 #endif //cl_khr_fp64
10761 #ifdef cl_khr_fp16
10762 int __ovld __cnfn isnormal(half);
10763 short2 __ovld __cnfn isnormal(half2);
10764 short3 __ovld __cnfn isnormal(half3);
10765 short4 __ovld __cnfn isnormal(half4);
10766 short8 __ovld __cnfn isnormal(half8);
10767 short16 __ovld __cnfn isnormal(half16);
10768 #endif //cl_khr_fp16
10771 * Test if arguments are ordered. isordered() takes
10772 * arguments x and y, and returns the result
10773 * isequal(x, x) && isequal(y, y).
10775 int __ovld __cnfn isordered(float, float);
10776 int2 __ovld __cnfn isordered(float2, float2);
10777 int3 __ovld __cnfn isordered(float3, float3);
10778 int4 __ovld __cnfn isordered(float4, float4);
10779 int8 __ovld __cnfn isordered(float8, float8);
10780 int16 __ovld __cnfn isordered(float16, float16);
10781 #ifdef cl_khr_fp64
10782 int __ovld __cnfn isordered(double, double);
10783 long2 __ovld __cnfn isordered(double2, double2);
10784 long3 __ovld __cnfn isordered(double3, double3);
10785 long4 __ovld __cnfn isordered(double4, double4);
10786 long8 __ovld __cnfn isordered(double8, double8);
10787 long16 __ovld __cnfn isordered(double16, double16);
10788 #endif //cl_khr_fp64
10789 #ifdef cl_khr_fp16
10790 int __ovld __cnfn isordered(half, half);
10791 short2 __ovld __cnfn isordered(half2, half2);
10792 short3 __ovld __cnfn isordered(half3, half3);
10793 short4 __ovld __cnfn isordered(half4, half4);
10794 short8 __ovld __cnfn isordered(half8, half8);
10795 short16 __ovld __cnfn isordered(half16, half16);
10796 #endif //cl_khr_fp16
10799 * Test if arguments are unordered. isunordered()
10800 * takes arguments x and y, returning non-zero if x or y
10801 * is NaN, and zero otherwise.
10803 int __ovld __cnfn isunordered(float, float);
10804 int2 __ovld __cnfn isunordered(float2, float2);
10805 int3 __ovld __cnfn isunordered(float3, float3);
10806 int4 __ovld __cnfn isunordered(float4, float4);
10807 int8 __ovld __cnfn isunordered(float8, float8);
10808 int16 __ovld __cnfn isunordered(float16, float16);
10809 #ifdef cl_khr_fp64
10810 int __ovld __cnfn isunordered(double, double);
10811 long2 __ovld __cnfn isunordered(double2, double2);
10812 long3 __ovld __cnfn isunordered(double3, double3);
10813 long4 __ovld __cnfn isunordered(double4, double4);
10814 long8 __ovld __cnfn isunordered(double8, double8);
10815 long16 __ovld __cnfn isunordered(double16, double16);
10816 #endif //cl_khr_fp64
10817 #ifdef cl_khr_fp16
10818 int __ovld __cnfn isunordered(half, half);
10819 short2 __ovld __cnfn isunordered(half2, half2);
10820 short3 __ovld __cnfn isunordered(half3, half3);
10821 short4 __ovld __cnfn isunordered(half4, half4);
10822 short8 __ovld __cnfn isunordered(half8, half8);
10823 short16 __ovld __cnfn isunordered(half16, half16);
10824 #endif //cl_khr_fp16
10827 * Test for sign bit. The scalar version of the function
10828 * returns a 1 if the sign bit in the float is set else returns
10829 * 0. The vector version of the function returns the
10830 * following for each component in floatn: a -1 if the
10831 * sign bit in the float is set else returns 0.
10833 int __ovld __cnfn signbit(float);
10834 int2 __ovld __cnfn signbit(float2);
10835 int3 __ovld __cnfn signbit(float3);
10836 int4 __ovld __cnfn signbit(float4);
10837 int8 __ovld __cnfn signbit(float8);
10838 int16 __ovld __cnfn signbit(float16);
10839 #ifdef cl_khr_fp64
10840 int __ovld __cnfn signbit(double);
10841 long2 __ovld __cnfn signbit(double2);
10842 long3 __ovld __cnfn signbit(double3);
10843 long4 __ovld __cnfn signbit(double4);
10844 long8 __ovld __cnfn signbit(double8);
10845 long16 __ovld __cnfn signbit(double16);
10846 #endif //cl_khr_fp64
10847 #ifdef cl_khr_fp16
10848 int __ovld __cnfn signbit(half);
10849 short2 __ovld __cnfn signbit(half2);
10850 short3 __ovld __cnfn signbit(half3);
10851 short4 __ovld __cnfn signbit(half4);
10852 short8 __ovld __cnfn signbit(half8);
10853 short16 __ovld __cnfn signbit(half16);
10854 #endif //cl_khr_fp16
10857 * Returns 1 if the most significant bit in any component
10858 * of x is set; otherwise returns 0.
10860 int __ovld __cnfn any(char);
10861 int __ovld __cnfn any(char2);
10862 int __ovld __cnfn any(char3);
10863 int __ovld __cnfn any(char4);
10864 int __ovld __cnfn any(char8);
10865 int __ovld __cnfn any(char16);
10866 int __ovld __cnfn any(short);
10867 int __ovld __cnfn any(short2);
10868 int __ovld __cnfn any(short3);
10869 int __ovld __cnfn any(short4);
10870 int __ovld __cnfn any(short8);
10871 int __ovld __cnfn any(short16);
10872 int __ovld __cnfn any(int);
10873 int __ovld __cnfn any(int2);
10874 int __ovld __cnfn any(int3);
10875 int __ovld __cnfn any(int4);
10876 int __ovld __cnfn any(int8);
10877 int __ovld __cnfn any(int16);
10878 int __ovld __cnfn any(long);
10879 int __ovld __cnfn any(long2);
10880 int __ovld __cnfn any(long3);
10881 int __ovld __cnfn any(long4);
10882 int __ovld __cnfn any(long8);
10883 int __ovld __cnfn any(long16);
10886 * Returns 1 if the most significant bit in all components
10887 * of x is set; otherwise returns 0.
10889 int __ovld __cnfn all(char);
10890 int __ovld __cnfn all(char2);
10891 int __ovld __cnfn all(char3);
10892 int __ovld __cnfn all(char4);
10893 int __ovld __cnfn all(char8);
10894 int __ovld __cnfn all(char16);
10895 int __ovld __cnfn all(short);
10896 int __ovld __cnfn all(short2);
10897 int __ovld __cnfn all(short3);
10898 int __ovld __cnfn all(short4);
10899 int __ovld __cnfn all(short8);
10900 int __ovld __cnfn all(short16);
10901 int __ovld __cnfn all(int);
10902 int __ovld __cnfn all(int2);
10903 int __ovld __cnfn all(int3);
10904 int __ovld __cnfn all(int4);
10905 int __ovld __cnfn all(int8);
10906 int __ovld __cnfn all(int16);
10907 int __ovld __cnfn all(long);
10908 int __ovld __cnfn all(long2);
10909 int __ovld __cnfn all(long3);
10910 int __ovld __cnfn all(long4);
10911 int __ovld __cnfn all(long8);
10912 int __ovld __cnfn all(long16);
10915 * Each bit of the result is the corresponding bit of a if
10916 * the corresponding bit of c is 0. Otherwise it is the
10917 * corresponding bit of b.
10919 char __ovld __cnfn bitselect(char, char, char);
10920 uchar __ovld __cnfn bitselect(uchar, uchar, uchar);
10921 char2 __ovld __cnfn bitselect(char2, char2, char2);
10922 uchar2 __ovld __cnfn bitselect(uchar2, uchar2, uchar2);
10923 char3 __ovld __cnfn bitselect(char3, char3, char3);
10924 uchar3 __ovld __cnfn bitselect(uchar3, uchar3, uchar3);
10925 char4 __ovld __cnfn bitselect(char4, char4, char4);
10926 uchar4 __ovld __cnfn bitselect(uchar4, uchar4, uchar4);
10927 char8 __ovld __cnfn bitselect(char8, char8, char8);
10928 uchar8 __ovld __cnfn bitselect(uchar8, uchar8, uchar8);
10929 char16 __ovld __cnfn bitselect(char16, char16, char16);
10930 uchar16 __ovld __cnfn bitselect(uchar16, uchar16, uchar16);
10931 short __ovld __cnfn bitselect(short, short, short);
10932 ushort __ovld __cnfn bitselect(ushort, ushort, ushort);
10933 short2 __ovld __cnfn bitselect(short2, short2, short2);
10934 ushort2 __ovld __cnfn bitselect(ushort2, ushort2, ushort2);
10935 short3 __ovld __cnfn bitselect(short3, short3, short3);
10936 ushort3 __ovld __cnfn bitselect(ushort3, ushort3, ushort3);
10937 short4 __ovld __cnfn bitselect(short4, short4, short4);
10938 ushort4 __ovld __cnfn bitselect(ushort4, ushort4, ushort4);
10939 short8 __ovld __cnfn bitselect(short8, short8, short8);
10940 ushort8 __ovld __cnfn bitselect(ushort8, ushort8, ushort8);
10941 short16 __ovld __cnfn bitselect(short16, short16, short16);
10942 ushort16 __ovld __cnfn bitselect(ushort16, ushort16, ushort16);
10943 int __ovld __cnfn bitselect(int, int, int);
10944 uint __ovld __cnfn bitselect(uint, uint, uint);
10945 int2 __ovld __cnfn bitselect(int2, int2, int2);
10946 uint2 __ovld __cnfn bitselect(uint2, uint2, uint2);
10947 int3 __ovld __cnfn bitselect(int3, int3, int3);
10948 uint3 __ovld __cnfn bitselect(uint3, uint3, uint3);
10949 int4 __ovld __cnfn bitselect(int4, int4, int4);
10950 uint4 __ovld __cnfn bitselect(uint4, uint4, uint4);
10951 int8 __ovld __cnfn bitselect(int8, int8, int8);
10952 uint8 __ovld __cnfn bitselect(uint8, uint8, uint8);
10953 int16 __ovld __cnfn bitselect(int16, int16, int16);
10954 uint16 __ovld __cnfn bitselect(uint16, uint16, uint16);
10955 long __ovld __cnfn bitselect(long, long, long);
10956 ulong __ovld __cnfn bitselect(ulong, ulong, ulong);
10957 long2 __ovld __cnfn bitselect(long2, long2, long2);
10958 ulong2 __ovld __cnfn bitselect(ulong2, ulong2, ulong2);
10959 long3 __ovld __cnfn bitselect(long3, long3, long3);
10960 ulong3 __ovld __cnfn bitselect(ulong3, ulong3, ulong3);
10961 long4 __ovld __cnfn bitselect(long4, long4, long4);
10962 ulong4 __ovld __cnfn bitselect(ulong4, ulong4, ulong4);
10963 long8 __ovld __cnfn bitselect(long8, long8, long8);
10964 ulong8 __ovld __cnfn bitselect(ulong8, ulong8, ulong8);
10965 long16 __ovld __cnfn bitselect(long16, long16, long16);
10966 ulong16 __ovld __cnfn bitselect(ulong16, ulong16, ulong16);
10967 float __ovld __cnfn bitselect(float, float, float);
10968 float2 __ovld __cnfn bitselect(float2, float2, float2);
10969 float3 __ovld __cnfn bitselect(float3, float3, float3);
10970 float4 __ovld __cnfn bitselect(float4, float4, float4);
10971 float8 __ovld __cnfn bitselect(float8, float8, float8);
10972 float16 __ovld __cnfn bitselect(float16, float16, float16);
10973 #ifdef cl_khr_fp64
10974 double __ovld __cnfn bitselect(double, double, double);
10975 double2 __ovld __cnfn bitselect(double2, double2, double2);
10976 double3 __ovld __cnfn bitselect(double3, double3, double3);
10977 double4 __ovld __cnfn bitselect(double4, double4, double4);
10978 double8 __ovld __cnfn bitselect(double8, double8, double8);
10979 double16 __ovld __cnfn bitselect(double16, double16, double16);
10980 #endif //cl_khr_fp64
10981 #ifdef cl_khr_fp16
10982 half __ovld __cnfn bitselect(half, half, half);
10983 half2 __ovld __cnfn bitselect(half2, half2, half2);
10984 half3 __ovld __cnfn bitselect(half3, half3, half3);
10985 half4 __ovld __cnfn bitselect(half4, half4, half4);
10986 half8 __ovld __cnfn bitselect(half8, half8, half8);
10987 half16 __ovld __cnfn bitselect(half16, half16, half16);
10988 #endif //cl_khr_fp16
10991 * For each component of a vector type,
10992 * result[i] = if MSB of c[i] is set ? b[i] : a[i].
10993 * For a scalar type, result = c ? b : a.
10994 * b and a must have the same type.
10995 * c must have the same number of elements and bits as a.
10997 char __ovld __cnfn select(char, char, char);
10998 uchar __ovld __cnfn select(uchar, uchar, char);
10999 char2 __ovld __cnfn select(char2, char2, char2);
11000 uchar2 __ovld __cnfn select(uchar2, uchar2, char2);
11001 char3 __ovld __cnfn select(char3, char3, char3);
11002 uchar3 __ovld __cnfn select(uchar3, uchar3, char3);
11003 char4 __ovld __cnfn select(char4, char4, char4);
11004 uchar4 __ovld __cnfn select(uchar4, uchar4, char4);
11005 char8 __ovld __cnfn select(char8, char8, char8);
11006 uchar8 __ovld __cnfn select(uchar8, uchar8, char8);
11007 char16 __ovld __cnfn select(char16, char16, char16);
11008 uchar16 __ovld __cnfn select(uchar16, uchar16, char16);
11010 short __ovld __cnfn select(short, short, short);
11011 ushort __ovld __cnfn select(ushort, ushort, short);
11012 short2 __ovld __cnfn select(short2, short2, short2);
11013 ushort2 __ovld __cnfn select(ushort2, ushort2, short2);
11014 short3 __ovld __cnfn select(short3, short3, short3);
11015 ushort3 __ovld __cnfn select(ushort3, ushort3, short3);
11016 short4 __ovld __cnfn select(short4, short4, short4);
11017 ushort4 __ovld __cnfn select(ushort4, ushort4, short4);
11018 short8 __ovld __cnfn select(short8, short8, short8);
11019 ushort8 __ovld __cnfn select(ushort8, ushort8, short8);
11020 short16 __ovld __cnfn select(short16, short16, short16);
11021 ushort16 __ovld __cnfn select(ushort16, ushort16, short16);
11023 int __ovld __cnfn select(int, int, int);
11024 uint __ovld __cnfn select(uint, uint, int);
11025 int2 __ovld __cnfn select(int2, int2, int2);
11026 uint2 __ovld __cnfn select(uint2, uint2, int2);
11027 int3 __ovld __cnfn select(int3, int3, int3);
11028 uint3 __ovld __cnfn select(uint3, uint3, int3);
11029 int4 __ovld __cnfn select(int4, int4, int4);
11030 uint4 __ovld __cnfn select(uint4, uint4, int4);
11031 int8 __ovld __cnfn select(int8, int8, int8);
11032 uint8 __ovld __cnfn select(uint8, uint8, int8);
11033 int16 __ovld __cnfn select(int16, int16, int16);
11034 uint16 __ovld __cnfn select(uint16, uint16, int16);
11035 float __ovld __cnfn select(float, float, int);
11036 float2 __ovld __cnfn select(float2, float2, int2);
11037 float3 __ovld __cnfn select(float3, float3, int3);
11038 float4 __ovld __cnfn select(float4, float4, int4);
11039 float8 __ovld __cnfn select(float8, float8, int8);
11040 float16 __ovld __cnfn select(float16, float16, int16);
11042 long __ovld __cnfn select(long, long, long);
11043 ulong __ovld __cnfn select(ulong, ulong, long);
11044 long2 __ovld __cnfn select(long2, long2, long2);
11045 ulong2 __ovld __cnfn select(ulong2, ulong2, long2);
11046 long3 __ovld __cnfn select(long3, long3, long3);
11047 ulong3 __ovld __cnfn select(ulong3, ulong3, long3);
11048 long4 __ovld __cnfn select(long4, long4, long4);
11049 ulong4 __ovld __cnfn select(ulong4, ulong4, long4);
11050 long8 __ovld __cnfn select(long8, long8, long8);
11051 ulong8 __ovld __cnfn select(ulong8, ulong8, long8);
11052 long16 __ovld __cnfn select(long16, long16, long16);
11053 ulong16 __ovld __cnfn select(ulong16, ulong16, long16);
11055 char __ovld __cnfn select(char, char, uchar);
11056 uchar __ovld __cnfn select(uchar, uchar, uchar);
11057 char2 __ovld __cnfn select(char2, char2, uchar2);
11058 uchar2 __ovld __cnfn select(uchar2, uchar2, uchar2);
11059 char3 __ovld __cnfn select(char3, char3, uchar3);
11060 uchar3 __ovld __cnfn select(uchar3, uchar3, uchar3);
11061 char4 __ovld __cnfn select(char4, char4, uchar4);
11062 uchar4 __ovld __cnfn select(uchar4, uchar4, uchar4);
11063 char8 __ovld __cnfn select(char8, char8, uchar8);
11064 uchar8 __ovld __cnfn select(uchar8, uchar8, uchar8);
11065 char16 __ovld __cnfn select(char16, char16, uchar16);
11066 uchar16 __ovld __cnfn select(uchar16, uchar16, uchar16);
11068 short __ovld __cnfn select(short, short, ushort);
11069 ushort __ovld __cnfn select(ushort, ushort, ushort);
11070 short2 __ovld __cnfn select(short2, short2, ushort2);
11071 ushort2 __ovld __cnfn select(ushort2, ushort2, ushort2);
11072 short3 __ovld __cnfn select(short3, short3, ushort3);
11073 ushort3 __ovld __cnfn select(ushort3, ushort3, ushort3);
11074 short4 __ovld __cnfn select(short4, short4, ushort4);
11075 ushort4 __ovld __cnfn select(ushort4, ushort4, ushort4);
11076 short8 __ovld __cnfn select(short8, short8, ushort8);
11077 ushort8 __ovld __cnfn select(ushort8, ushort8, ushort8);
11078 short16 __ovld __cnfn select(short16, short16, ushort16);
11079 ushort16 __ovld __cnfn select(ushort16, ushort16, ushort16);
11081 int __ovld __cnfn select(int, int, uint);
11082 uint __ovld __cnfn select(uint, uint, uint);
11083 int2 __ovld __cnfn select(int2, int2, uint2);
11084 uint2 __ovld __cnfn select(uint2, uint2, uint2);
11085 int3 __ovld __cnfn select(int3, int3, uint3);
11086 uint3 __ovld __cnfn select(uint3, uint3, uint3);
11087 int4 __ovld __cnfn select(int4, int4, uint4);
11088 uint4 __ovld __cnfn select(uint4, uint4, uint4);
11089 int8 __ovld __cnfn select(int8, int8, uint8);
11090 uint8 __ovld __cnfn select(uint8, uint8, uint8);
11091 int16 __ovld __cnfn select(int16, int16, uint16);
11092 uint16 __ovld __cnfn select(uint16, uint16, uint16);
11093 float __ovld __cnfn select(float, float, uint);
11094 float2 __ovld __cnfn select(float2, float2, uint2);
11095 float3 __ovld __cnfn select(float3, float3, uint3);
11096 float4 __ovld __cnfn select(float4, float4, uint4);
11097 float8 __ovld __cnfn select(float8, float8, uint8);
11098 float16 __ovld __cnfn select(float16, float16, uint16);
11100 long __ovld __cnfn select(long, long, ulong);
11101 ulong __ovld __cnfn select(ulong, ulong, ulong);
11102 long2 __ovld __cnfn select(long2, long2, ulong2);
11103 ulong2 __ovld __cnfn select(ulong2, ulong2, ulong2);
11104 long3 __ovld __cnfn select(long3, long3, ulong3);
11105 ulong3 __ovld __cnfn select(ulong3, ulong3, ulong3);
11106 long4 __ovld __cnfn select(long4, long4, ulong4);
11107 ulong4 __ovld __cnfn select(ulong4, ulong4, ulong4);
11108 long8 __ovld __cnfn select(long8, long8, ulong8);
11109 ulong8 __ovld __cnfn select(ulong8, ulong8, ulong8);
11110 long16 __ovld __cnfn select(long16, long16, ulong16);
11111 ulong16 __ovld __cnfn select(ulong16, ulong16, ulong16);
11113 #ifdef cl_khr_fp64
11114 double __ovld __cnfn select(double, double, long);
11115 double2 __ovld __cnfn select(double2, double2, long2);
11116 double3 __ovld __cnfn select(double3, double3, long3);
11117 double4 __ovld __cnfn select(double4, double4, long4);
11118 double8 __ovld __cnfn select(double8, double8, long8);
11119 double16 __ovld __cnfn select(double16, double16, long16);
11120 double __ovld __cnfn select(double, double, ulong);
11121 double2 __ovld __cnfn select(double2, double2, ulong2);
11122 double3 __ovld __cnfn select(double3, double3, ulong3);
11123 double4 __ovld __cnfn select(double4, double4, ulong4);
11124 double8 __ovld __cnfn select(double8, double8, ulong8);
11125 double16 __ovld __cnfn select(double16, double16, ulong16);
11126 #endif //cl_khr_fp64
11127 #ifdef cl_khr_fp16
11128 half __ovld __cnfn select(half, half, short);
11129 half2 __ovld __cnfn select(half2, half2, short2);
11130 half3 __ovld __cnfn select(half3, half3, short3);
11131 half4 __ovld __cnfn select(half4, half4, short4);
11132 half8 __ovld __cnfn select(half8, half8, short8);
11133 half16 __ovld __cnfn select(half16, half16, short16);
11134 half __ovld __cnfn select(half, half, ushort);
11135 half2 __ovld __cnfn select(half2, half2, ushort2);
11136 half3 __ovld __cnfn select(half3, half3, ushort3);
11137 half4 __ovld __cnfn select(half4, half4, ushort4);
11138 half8 __ovld __cnfn select(half8, half8, ushort8);
11139 half16 __ovld __cnfn select(half16, half16, ushort16);
11140 #endif //cl_khr_fp16
11142 // OpenCL v1.1 s6.11.7, v1.2 s6.12.7, v2.0 s6.13.7 - Vector Data Load and Store Functions
11143 // OpenCL extensions v1.1 s9.6.6, v1.2 s9.5.6, v2.0 s9.4.6 - Vector Data Load and Store Functions for Half Type
11145 * Use generic type gentype to indicate the built-in data types
11146 * char, uchar, short, ushort, int, uint, long, ulong, float,
11147 * double or half.
11149 * vloadn return sizeof (gentypen) bytes of data read from address (p + (offset * n)).
11151 * vstoren write sizeof (gentypen) bytes given by data to address (p + (offset * n)).
11153 * The address computed as (p + (offset * n)) must be
11154 * 8-bit aligned if gentype is char, uchar;
11155 * 16-bit aligned if gentype is short, ushort, half;
11156 * 32-bit aligned if gentype is int, uint, float;
11157 * 64-bit aligned if gentype is long, ulong, double.
11160 char2 __ovld __purefn vload2(size_t, const __constant char *);
11161 uchar2 __ovld __purefn vload2(size_t, const __constant uchar *);
11162 short2 __ovld __purefn vload2(size_t, const __constant short *);
11163 ushort2 __ovld __purefn vload2(size_t, const __constant ushort *);
11164 int2 __ovld __purefn vload2(size_t, const __constant int *);
11165 uint2 __ovld __purefn vload2(size_t, const __constant uint *);
11166 long2 __ovld __purefn vload2(size_t, const __constant long *);
11167 ulong2 __ovld __purefn vload2(size_t, const __constant ulong *);
11168 float2 __ovld __purefn vload2(size_t, const __constant float *);
11169 char3 __ovld __purefn vload3(size_t, const __constant char *);
11170 uchar3 __ovld __purefn vload3(size_t, const __constant uchar *);
11171 short3 __ovld __purefn vload3(size_t, const __constant short *);
11172 ushort3 __ovld __purefn vload3(size_t, const __constant ushort *);
11173 int3 __ovld __purefn vload3(size_t, const __constant int *);
11174 uint3 __ovld __purefn vload3(size_t, const __constant uint *);
11175 long3 __ovld __purefn vload3(size_t, const __constant long *);
11176 ulong3 __ovld __purefn vload3(size_t, const __constant ulong *);
11177 float3 __ovld __purefn vload3(size_t, const __constant float *);
11178 char4 __ovld __purefn vload4(size_t, const __constant char *);
11179 uchar4 __ovld __purefn vload4(size_t, const __constant uchar *);
11180 short4 __ovld __purefn vload4(size_t, const __constant short *);
11181 ushort4 __ovld __purefn vload4(size_t, const __constant ushort *);
11182 int4 __ovld __purefn vload4(size_t, const __constant int *);
11183 uint4 __ovld __purefn vload4(size_t, const __constant uint *);
11184 long4 __ovld __purefn vload4(size_t, const __constant long *);
11185 ulong4 __ovld __purefn vload4(size_t, const __constant ulong *);
11186 float4 __ovld __purefn vload4(size_t, const __constant float *);
11187 char8 __ovld __purefn vload8(size_t, const __constant char *);
11188 uchar8 __ovld __purefn vload8(size_t, const __constant uchar *);
11189 short8 __ovld __purefn vload8(size_t, const __constant short *);
11190 ushort8 __ovld __purefn vload8(size_t, const __constant ushort *);
11191 int8 __ovld __purefn vload8(size_t, const __constant int *);
11192 uint8 __ovld __purefn vload8(size_t, const __constant uint *);
11193 long8 __ovld __purefn vload8(size_t, const __constant long *);
11194 ulong8 __ovld __purefn vload8(size_t, const __constant ulong *);
11195 float8 __ovld __purefn vload8(size_t, const __constant float *);
11196 char16 __ovld __purefn vload16(size_t, const __constant char *);
11197 uchar16 __ovld __purefn vload16(size_t, const __constant uchar *);
11198 short16 __ovld __purefn vload16(size_t, const __constant short *);
11199 ushort16 __ovld __purefn vload16(size_t, const __constant ushort *);
11200 int16 __ovld __purefn vload16(size_t, const __constant int *);
11201 uint16 __ovld __purefn vload16(size_t, const __constant uint *);
11202 long16 __ovld __purefn vload16(size_t, const __constant long *);
11203 ulong16 __ovld __purefn vload16(size_t, const __constant ulong *);
11204 float16 __ovld __purefn vload16(size_t, const __constant float *);
11205 #ifdef cl_khr_fp64
11206 double2 __ovld __purefn vload2(size_t, const __constant double *);
11207 double3 __ovld __purefn vload3(size_t, const __constant double *);
11208 double4 __ovld __purefn vload4(size_t, const __constant double *);
11209 double8 __ovld __purefn vload8(size_t, const __constant double *);
11210 double16 __ovld __purefn vload16(size_t, const __constant double *);
11211 #endif //cl_khr_fp64
11213 #ifdef cl_khr_fp16
11214 half2 __ovld __purefn vload2(size_t, const __constant half *);
11215 half3 __ovld __purefn vload3(size_t, const __constant half *);
11216 half4 __ovld __purefn vload4(size_t, const __constant half *);
11217 half8 __ovld __purefn vload8(size_t, const __constant half *);
11218 half16 __ovld __purefn vload16(size_t, const __constant half *);
11219 #endif //cl_khr_fp16
11221 #if defined(__opencl_c_generic_address_space)
11222 char2 __ovld __purefn vload2(size_t, const char *);
11223 uchar2 __ovld __purefn vload2(size_t, const uchar *);
11224 short2 __ovld __purefn vload2(size_t, const short *);
11225 ushort2 __ovld __purefn vload2(size_t, const ushort *);
11226 int2 __ovld __purefn vload2(size_t, const int *);
11227 uint2 __ovld __purefn vload2(size_t, const uint *);
11228 long2 __ovld __purefn vload2(size_t, const long *);
11229 ulong2 __ovld __purefn vload2(size_t, const ulong *);
11230 float2 __ovld __purefn vload2(size_t, const float *);
11231 char3 __ovld __purefn vload3(size_t, const char *);
11232 uchar3 __ovld __purefn vload3(size_t, const uchar *);
11233 short3 __ovld __purefn vload3(size_t, const short *);
11234 ushort3 __ovld __purefn vload3(size_t, const ushort *);
11235 int3 __ovld __purefn vload3(size_t, const int *);
11236 uint3 __ovld __purefn vload3(size_t, const uint *);
11237 long3 __ovld __purefn vload3(size_t, const long *);
11238 ulong3 __ovld __purefn vload3(size_t, const ulong *);
11239 float3 __ovld __purefn vload3(size_t, const float *);
11240 char4 __ovld __purefn vload4(size_t, const char *);
11241 uchar4 __ovld __purefn vload4(size_t, const uchar *);
11242 short4 __ovld __purefn vload4(size_t, const short *);
11243 ushort4 __ovld __purefn vload4(size_t, const ushort *);
11244 int4 __ovld __purefn vload4(size_t, const int *);
11245 uint4 __ovld __purefn vload4(size_t, const uint *);
11246 long4 __ovld __purefn vload4(size_t, const long *);
11247 ulong4 __ovld __purefn vload4(size_t, const ulong *);
11248 float4 __ovld __purefn vload4(size_t, const float *);
11249 char8 __ovld __purefn vload8(size_t, const char *);
11250 uchar8 __ovld __purefn vload8(size_t, const uchar *);
11251 short8 __ovld __purefn vload8(size_t, const short *);
11252 ushort8 __ovld __purefn vload8(size_t, const ushort *);
11253 int8 __ovld __purefn vload8(size_t, const int *);
11254 uint8 __ovld __purefn vload8(size_t, const uint *);
11255 long8 __ovld __purefn vload8(size_t, const long *);
11256 ulong8 __ovld __purefn vload8(size_t, const ulong *);
11257 float8 __ovld __purefn vload8(size_t, const float *);
11258 char16 __ovld __purefn vload16(size_t, const char *);
11259 uchar16 __ovld __purefn vload16(size_t, const uchar *);
11260 short16 __ovld __purefn vload16(size_t, const short *);
11261 ushort16 __ovld __purefn vload16(size_t, const ushort *);
11262 int16 __ovld __purefn vload16(size_t, const int *);
11263 uint16 __ovld __purefn vload16(size_t, const uint *);
11264 long16 __ovld __purefn vload16(size_t, const long *);
11265 ulong16 __ovld __purefn vload16(size_t, const ulong *);
11266 float16 __ovld __purefn vload16(size_t, const float *);
11268 #ifdef cl_khr_fp64
11269 double2 __ovld __purefn vload2(size_t, const double *);
11270 double3 __ovld __purefn vload3(size_t, const double *);
11271 double4 __ovld __purefn vload4(size_t, const double *);
11272 double8 __ovld __purefn vload8(size_t, const double *);
11273 double16 __ovld __purefn vload16(size_t, const double *);
11274 #endif //cl_khr_fp64
11276 #ifdef cl_khr_fp16
11277 half2 __ovld __purefn vload2(size_t, const half *);
11278 half3 __ovld __purefn vload3(size_t, const half *);
11279 half4 __ovld __purefn vload4(size_t, const half *);
11280 half8 __ovld __purefn vload8(size_t, const half *);
11281 half16 __ovld __purefn vload16(size_t, const half *);
11282 #endif //cl_khr_fp16
11283 #endif //defined(__opencl_c_generic_address_space)
11285 #if defined(__opencl_c_named_address_space_builtins)
11286 char2 __ovld __purefn vload2(size_t, const __global char *);
11287 uchar2 __ovld __purefn vload2(size_t, const __global uchar *);
11288 short2 __ovld __purefn vload2(size_t, const __global short *);
11289 ushort2 __ovld __purefn vload2(size_t, const __global ushort *);
11290 int2 __ovld __purefn vload2(size_t, const __global int *);
11291 uint2 __ovld __purefn vload2(size_t, const __global uint *);
11292 long2 __ovld __purefn vload2(size_t, const __global long *);
11293 ulong2 __ovld __purefn vload2(size_t, const __global ulong *);
11294 float2 __ovld __purefn vload2(size_t, const __global float *);
11295 char3 __ovld __purefn vload3(size_t, const __global char *);
11296 uchar3 __ovld __purefn vload3(size_t, const __global uchar *);
11297 short3 __ovld __purefn vload3(size_t, const __global short *);
11298 ushort3 __ovld __purefn vload3(size_t, const __global ushort *);
11299 int3 __ovld __purefn vload3(size_t, const __global int *);
11300 uint3 __ovld __purefn vload3(size_t, const __global uint *);
11301 long3 __ovld __purefn vload3(size_t, const __global long *);
11302 ulong3 __ovld __purefn vload3(size_t, const __global ulong *);
11303 float3 __ovld __purefn vload3(size_t, const __global float *);
11304 char4 __ovld __purefn vload4(size_t, const __global char *);
11305 uchar4 __ovld __purefn vload4(size_t, const __global uchar *);
11306 short4 __ovld __purefn vload4(size_t, const __global short *);
11307 ushort4 __ovld __purefn vload4(size_t, const __global ushort *);
11308 int4 __ovld __purefn vload4(size_t, const __global int *);
11309 uint4 __ovld __purefn vload4(size_t, const __global uint *);
11310 long4 __ovld __purefn vload4(size_t, const __global long *);
11311 ulong4 __ovld __purefn vload4(size_t, const __global ulong *);
11312 float4 __ovld __purefn vload4(size_t, const __global float *);
11313 char8 __ovld __purefn vload8(size_t, const __global char *);
11314 uchar8 __ovld __purefn vload8(size_t, const __global uchar *);
11315 short8 __ovld __purefn vload8(size_t, const __global short *);
11316 ushort8 __ovld __purefn vload8(size_t, const __global ushort *);
11317 int8 __ovld __purefn vload8(size_t, const __global int *);
11318 uint8 __ovld __purefn vload8(size_t, const __global uint *);
11319 long8 __ovld __purefn vload8(size_t, const __global long *);
11320 ulong8 __ovld __purefn vload8(size_t, const __global ulong *);
11321 float8 __ovld __purefn vload8(size_t, const __global float *);
11322 char16 __ovld __purefn vload16(size_t, const __global char *);
11323 uchar16 __ovld __purefn vload16(size_t, const __global uchar *);
11324 short16 __ovld __purefn vload16(size_t, const __global short *);
11325 ushort16 __ovld __purefn vload16(size_t, const __global ushort *);
11326 int16 __ovld __purefn vload16(size_t, const __global int *);
11327 uint16 __ovld __purefn vload16(size_t, const __global uint *);
11328 long16 __ovld __purefn vload16(size_t, const __global long *);
11329 ulong16 __ovld __purefn vload16(size_t, const __global ulong *);
11330 float16 __ovld __purefn vload16(size_t, const __global float *);
11331 char2 __ovld __purefn vload2(size_t, const __local char *);
11332 uchar2 __ovld __purefn vload2(size_t, const __local uchar *);
11333 short2 __ovld __purefn vload2(size_t, const __local short *);
11334 ushort2 __ovld __purefn vload2(size_t, const __local ushort *);
11335 int2 __ovld __purefn vload2(size_t, const __local int *);
11336 uint2 __ovld __purefn vload2(size_t, const __local uint *);
11337 long2 __ovld __purefn vload2(size_t, const __local long *);
11338 ulong2 __ovld __purefn vload2(size_t, const __local ulong *);
11339 float2 __ovld __purefn vload2(size_t, const __local float *);
11340 char3 __ovld __purefn vload3(size_t, const __local char *);
11341 uchar3 __ovld __purefn vload3(size_t, const __local uchar *);
11342 short3 __ovld __purefn vload3(size_t, const __local short *);
11343 ushort3 __ovld __purefn vload3(size_t, const __local ushort *);
11344 int3 __ovld __purefn vload3(size_t, const __local int *);
11345 uint3 __ovld __purefn vload3(size_t, const __local uint *);
11346 long3 __ovld __purefn vload3(size_t, const __local long *);
11347 ulong3 __ovld __purefn vload3(size_t, const __local ulong *);
11348 float3 __ovld __purefn vload3(size_t, const __local float *);
11349 char4 __ovld __purefn vload4(size_t, const __local char *);
11350 uchar4 __ovld __purefn vload4(size_t, const __local uchar *);
11351 short4 __ovld __purefn vload4(size_t, const __local short *);
11352 ushort4 __ovld __purefn vload4(size_t, const __local ushort *);
11353 int4 __ovld __purefn vload4(size_t, const __local int *);
11354 uint4 __ovld __purefn vload4(size_t, const __local uint *);
11355 long4 __ovld __purefn vload4(size_t, const __local long *);
11356 ulong4 __ovld __purefn vload4(size_t, const __local ulong *);
11357 float4 __ovld __purefn vload4(size_t, const __local float *);
11358 char8 __ovld __purefn vload8(size_t, const __local char *);
11359 uchar8 __ovld __purefn vload8(size_t, const __local uchar *);
11360 short8 __ovld __purefn vload8(size_t, const __local short *);
11361 ushort8 __ovld __purefn vload8(size_t, const __local ushort *);
11362 int8 __ovld __purefn vload8(size_t, const __local int *);
11363 uint8 __ovld __purefn vload8(size_t, const __local uint *);
11364 long8 __ovld __purefn vload8(size_t, const __local long *);
11365 ulong8 __ovld __purefn vload8(size_t, const __local ulong *);
11366 float8 __ovld __purefn vload8(size_t, const __local float *);
11367 char16 __ovld __purefn vload16(size_t, const __local char *);
11368 uchar16 __ovld __purefn vload16(size_t, const __local uchar *);
11369 short16 __ovld __purefn vload16(size_t, const __local short *);
11370 ushort16 __ovld __purefn vload16(size_t, const __local ushort *);
11371 int16 __ovld __purefn vload16(size_t, const __local int *);
11372 uint16 __ovld __purefn vload16(size_t, const __local uint *);
11373 long16 __ovld __purefn vload16(size_t, const __local long *);
11374 ulong16 __ovld __purefn vload16(size_t, const __local ulong *);
11375 float16 __ovld __purefn vload16(size_t, const __local float *);
11376 char2 __ovld __purefn vload2(size_t, const __private char *);
11377 uchar2 __ovld __purefn vload2(size_t, const __private uchar *);
11378 short2 __ovld __purefn vload2(size_t, const __private short *);
11379 ushort2 __ovld __purefn vload2(size_t, const __private ushort *);
11380 int2 __ovld __purefn vload2(size_t, const __private int *);
11381 uint2 __ovld __purefn vload2(size_t, const __private uint *);
11382 long2 __ovld __purefn vload2(size_t, const __private long *);
11383 ulong2 __ovld __purefn vload2(size_t, const __private ulong *);
11384 float2 __ovld __purefn vload2(size_t, const __private float *);
11385 char3 __ovld __purefn vload3(size_t, const __private char *);
11386 uchar3 __ovld __purefn vload3(size_t, const __private uchar *);
11387 short3 __ovld __purefn vload3(size_t, const __private short *);
11388 ushort3 __ovld __purefn vload3(size_t, const __private ushort *);
11389 int3 __ovld __purefn vload3(size_t, const __private int *);
11390 uint3 __ovld __purefn vload3(size_t, const __private uint *);
11391 long3 __ovld __purefn vload3(size_t, const __private long *);
11392 ulong3 __ovld __purefn vload3(size_t, const __private ulong *);
11393 float3 __ovld __purefn vload3(size_t, const __private float *);
11394 char4 __ovld __purefn vload4(size_t, const __private char *);
11395 uchar4 __ovld __purefn vload4(size_t, const __private uchar *);
11396 short4 __ovld __purefn vload4(size_t, const __private short *);
11397 ushort4 __ovld __purefn vload4(size_t, const __private ushort *);
11398 int4 __ovld __purefn vload4(size_t, const __private int *);
11399 uint4 __ovld __purefn vload4(size_t, const __private uint *);
11400 long4 __ovld __purefn vload4(size_t, const __private long *);
11401 ulong4 __ovld __purefn vload4(size_t, const __private ulong *);
11402 float4 __ovld __purefn vload4(size_t, const __private float *);
11403 char8 __ovld __purefn vload8(size_t, const __private char *);
11404 uchar8 __ovld __purefn vload8(size_t, const __private uchar *);
11405 short8 __ovld __purefn vload8(size_t, const __private short *);
11406 ushort8 __ovld __purefn vload8(size_t, const __private ushort *);
11407 int8 __ovld __purefn vload8(size_t, const __private int *);
11408 uint8 __ovld __purefn vload8(size_t, const __private uint *);
11409 long8 __ovld __purefn vload8(size_t, const __private long *);
11410 ulong8 __ovld __purefn vload8(size_t, const __private ulong *);
11411 float8 __ovld __purefn vload8(size_t, const __private float *);
11412 char16 __ovld __purefn vload16(size_t, const __private char *);
11413 uchar16 __ovld __purefn vload16(size_t, const __private uchar *);
11414 short16 __ovld __purefn vload16(size_t, const __private short *);
11415 ushort16 __ovld __purefn vload16(size_t, const __private ushort *);
11416 int16 __ovld __purefn vload16(size_t, const __private int *);
11417 uint16 __ovld __purefn vload16(size_t, const __private uint *);
11418 long16 __ovld __purefn vload16(size_t, const __private long *);
11419 ulong16 __ovld __purefn vload16(size_t, const __private ulong *);
11420 float16 __ovld __purefn vload16(size_t, const __private float *);
11422 #ifdef cl_khr_fp64
11423 double2 __ovld __purefn vload2(size_t, const __global double *);
11424 double3 __ovld __purefn vload3(size_t, const __global double *);
11425 double4 __ovld __purefn vload4(size_t, const __global double *);
11426 double8 __ovld __purefn vload8(size_t, const __global double *);
11427 double16 __ovld __purefn vload16(size_t, const __global double *);
11428 double2 __ovld __purefn vload2(size_t, const __local double *);
11429 double3 __ovld __purefn vload3(size_t, const __local double *);
11430 double4 __ovld __purefn vload4(size_t, const __local double *);
11431 double8 __ovld __purefn vload8(size_t, const __local double *);
11432 double16 __ovld __purefn vload16(size_t, const __local double *);
11433 double2 __ovld __purefn vload2(size_t, const __private double *);
11434 double3 __ovld __purefn vload3(size_t, const __private double *);
11435 double4 __ovld __purefn vload4(size_t, const __private double *);
11436 double8 __ovld __purefn vload8(size_t, const __private double *);
11437 double16 __ovld __purefn vload16(size_t, const __private double *);
11438 #endif //cl_khr_fp64
11440 #ifdef cl_khr_fp16
11441 half2 __ovld __purefn vload2(size_t, const __global half *);
11442 half3 __ovld __purefn vload3(size_t, const __global half *);
11443 half4 __ovld __purefn vload4(size_t, const __global half *);
11444 half8 __ovld __purefn vload8(size_t, const __global half *);
11445 half16 __ovld __purefn vload16(size_t, const __global half *);
11446 half2 __ovld __purefn vload2(size_t, const __local half *);
11447 half3 __ovld __purefn vload3(size_t, const __local half *);
11448 half4 __ovld __purefn vload4(size_t, const __local half *);
11449 half8 __ovld __purefn vload8(size_t, const __local half *);
11450 half16 __ovld __purefn vload16(size_t, const __local half *);
11451 half2 __ovld __purefn vload2(size_t, const __private half *);
11452 half3 __ovld __purefn vload3(size_t, const __private half *);
11453 half4 __ovld __purefn vload4(size_t, const __private half *);
11454 half8 __ovld __purefn vload8(size_t, const __private half *);
11455 half16 __ovld __purefn vload16(size_t, const __private half *);
11456 #endif //cl_khr_fp16
11457 #endif //defined(__opencl_c_named_address_space_builtins)
11459 #if defined(__opencl_c_generic_address_space)
11460 void __ovld vstore2(char2, size_t, char *);
11461 void __ovld vstore2(uchar2, size_t, uchar *);
11462 void __ovld vstore2(short2, size_t, short *);
11463 void __ovld vstore2(ushort2, size_t, ushort *);
11464 void __ovld vstore2(int2, size_t, int *);
11465 void __ovld vstore2(uint2, size_t, uint *);
11466 void __ovld vstore2(long2, size_t, long *);
11467 void __ovld vstore2(ulong2, size_t, ulong *);
11468 void __ovld vstore2(float2, size_t, float *);
11469 void __ovld vstore3(char3, size_t, char *);
11470 void __ovld vstore3(uchar3, size_t, uchar *);
11471 void __ovld vstore3(short3, size_t, short *);
11472 void __ovld vstore3(ushort3, size_t, ushort *);
11473 void __ovld vstore3(int3, size_t, int *);
11474 void __ovld vstore3(uint3, size_t, uint *);
11475 void __ovld vstore3(long3, size_t, long *);
11476 void __ovld vstore3(ulong3, size_t, ulong *);
11477 void __ovld vstore3(float3, size_t, float *);
11478 void __ovld vstore4(char4, size_t, char *);
11479 void __ovld vstore4(uchar4, size_t, uchar *);
11480 void __ovld vstore4(short4, size_t, short *);
11481 void __ovld vstore4(ushort4, size_t, ushort *);
11482 void __ovld vstore4(int4, size_t, int *);
11483 void __ovld vstore4(uint4, size_t, uint *);
11484 void __ovld vstore4(long4, size_t, long *);
11485 void __ovld vstore4(ulong4, size_t, ulong *);
11486 void __ovld vstore4(float4, size_t, float *);
11487 void __ovld vstore8(char8, size_t, char *);
11488 void __ovld vstore8(uchar8, size_t, uchar *);
11489 void __ovld vstore8(short8, size_t, short *);
11490 void __ovld vstore8(ushort8, size_t, ushort *);
11491 void __ovld vstore8(int8, size_t, int *);
11492 void __ovld vstore8(uint8, size_t, uint *);
11493 void __ovld vstore8(long8, size_t, long *);
11494 void __ovld vstore8(ulong8, size_t, ulong *);
11495 void __ovld vstore8(float8, size_t, float *);
11496 void __ovld vstore16(char16, size_t, char *);
11497 void __ovld vstore16(uchar16, size_t, uchar *);
11498 void __ovld vstore16(short16, size_t, short *);
11499 void __ovld vstore16(ushort16, size_t, ushort *);
11500 void __ovld vstore16(int16, size_t, int *);
11501 void __ovld vstore16(uint16, size_t, uint *);
11502 void __ovld vstore16(long16, size_t, long *);
11503 void __ovld vstore16(ulong16, size_t, ulong *);
11504 void __ovld vstore16(float16, size_t, float *);
11505 #ifdef cl_khr_fp64
11506 void __ovld vstore2(double2, size_t, double *);
11507 void __ovld vstore3(double3, size_t, double *);
11508 void __ovld vstore4(double4, size_t, double *);
11509 void __ovld vstore8(double8, size_t, double *);
11510 void __ovld vstore16(double16, size_t, double *);
11511 #endif //cl_khr_fp64
11512 #ifdef cl_khr_fp16
11513 void __ovld vstore2(half2, size_t, half *);
11514 void __ovld vstore3(half3, size_t, half *);
11515 void __ovld vstore4(half4, size_t, half *);
11516 void __ovld vstore8(half8, size_t, half *);
11517 void __ovld vstore16(half16, size_t, half *);
11518 #endif //cl_khr_fp16
11519 #endif //defined(__opencl_c_generic_address_space)
11521 #if defined(__opencl_c_named_address_space_builtins)
11522 void __ovld vstore2(char2, size_t, __global char *);
11523 void __ovld vstore2(uchar2, size_t, __global uchar *);
11524 void __ovld vstore2(short2, size_t, __global short *);
11525 void __ovld vstore2(ushort2, size_t, __global ushort *);
11526 void __ovld vstore2(int2, size_t, __global int *);
11527 void __ovld vstore2(uint2, size_t, __global uint *);
11528 void __ovld vstore2(long2, size_t, __global long *);
11529 void __ovld vstore2(ulong2, size_t, __global ulong *);
11530 void __ovld vstore2(float2, size_t, __global float *);
11531 void __ovld vstore3(char3, size_t, __global char *);
11532 void __ovld vstore3(uchar3, size_t, __global uchar *);
11533 void __ovld vstore3(short3, size_t, __global short *);
11534 void __ovld vstore3(ushort3, size_t, __global ushort *);
11535 void __ovld vstore3(int3, size_t, __global int *);
11536 void __ovld vstore3(uint3, size_t, __global uint *);
11537 void __ovld vstore3(long3, size_t, __global long *);
11538 void __ovld vstore3(ulong3, size_t, __global ulong *);
11539 void __ovld vstore3(float3, size_t, __global float *);
11540 void __ovld vstore4(char4, size_t, __global char *);
11541 void __ovld vstore4(uchar4, size_t, __global uchar *);
11542 void __ovld vstore4(short4, size_t, __global short *);
11543 void __ovld vstore4(ushort4, size_t, __global ushort *);
11544 void __ovld vstore4(int4, size_t, __global int *);
11545 void __ovld vstore4(uint4, size_t, __global uint *);
11546 void __ovld vstore4(long4, size_t, __global long *);
11547 void __ovld vstore4(ulong4, size_t, __global ulong *);
11548 void __ovld vstore4(float4, size_t, __global float *);
11549 void __ovld vstore8(char8, size_t, __global char *);
11550 void __ovld vstore8(uchar8, size_t, __global uchar *);
11551 void __ovld vstore8(short8, size_t, __global short *);
11552 void __ovld vstore8(ushort8, size_t, __global ushort *);
11553 void __ovld vstore8(int8, size_t, __global int *);
11554 void __ovld vstore8(uint8, size_t, __global uint *);
11555 void __ovld vstore8(long8, size_t, __global long *);
11556 void __ovld vstore8(ulong8, size_t, __global ulong *);
11557 void __ovld vstore8(float8, size_t, __global float *);
11558 void __ovld vstore16(char16, size_t, __global char *);
11559 void __ovld vstore16(uchar16, size_t, __global uchar *);
11560 void __ovld vstore16(short16, size_t, __global short *);
11561 void __ovld vstore16(ushort16, size_t, __global ushort *);
11562 void __ovld vstore16(int16, size_t, __global int *);
11563 void __ovld vstore16(uint16, size_t, __global uint *);
11564 void __ovld vstore16(long16, size_t, __global long *);
11565 void __ovld vstore16(ulong16, size_t, __global ulong *);
11566 void __ovld vstore16(float16, size_t, __global float *);
11567 void __ovld vstore2(char2, size_t, __local char *);
11568 void __ovld vstore2(uchar2, size_t, __local uchar *);
11569 void __ovld vstore2(short2, size_t, __local short *);
11570 void __ovld vstore2(ushort2, size_t, __local ushort *);
11571 void __ovld vstore2(int2, size_t, __local int *);
11572 void __ovld vstore2(uint2, size_t, __local uint *);
11573 void __ovld vstore2(long2, size_t, __local long *);
11574 void __ovld vstore2(ulong2, size_t, __local ulong *);
11575 void __ovld vstore2(float2, size_t, __local float *);
11576 void __ovld vstore3(char3, size_t, __local char *);
11577 void __ovld vstore3(uchar3, size_t, __local uchar *);
11578 void __ovld vstore3(short3, size_t, __local short *);
11579 void __ovld vstore3(ushort3, size_t, __local ushort *);
11580 void __ovld vstore3(int3, size_t, __local int *);
11581 void __ovld vstore3(uint3, size_t, __local uint *);
11582 void __ovld vstore3(long3, size_t, __local long *);
11583 void __ovld vstore3(ulong3, size_t, __local ulong *);
11584 void __ovld vstore3(float3, size_t, __local float *);
11585 void __ovld vstore4(char4, size_t, __local char *);
11586 void __ovld vstore4(uchar4, size_t, __local uchar *);
11587 void __ovld vstore4(short4, size_t, __local short *);
11588 void __ovld vstore4(ushort4, size_t, __local ushort *);
11589 void __ovld vstore4(int4, size_t, __local int *);
11590 void __ovld vstore4(uint4, size_t, __local uint *);
11591 void __ovld vstore4(long4, size_t, __local long *);
11592 void __ovld vstore4(ulong4, size_t, __local ulong *);
11593 void __ovld vstore4(float4, size_t, __local float *);
11594 void __ovld vstore8(char8, size_t, __local char *);
11595 void __ovld vstore8(uchar8, size_t, __local uchar *);
11596 void __ovld vstore8(short8, size_t, __local short *);
11597 void __ovld vstore8(ushort8, size_t, __local ushort *);
11598 void __ovld vstore8(int8, size_t, __local int *);
11599 void __ovld vstore8(uint8, size_t, __local uint *);
11600 void __ovld vstore8(long8, size_t, __local long *);
11601 void __ovld vstore8(ulong8, size_t, __local ulong *);
11602 void __ovld vstore8(float8, size_t, __local float *);
11603 void __ovld vstore16(char16, size_t, __local char *);
11604 void __ovld vstore16(uchar16, size_t, __local uchar *);
11605 void __ovld vstore16(short16, size_t, __local short *);
11606 void __ovld vstore16(ushort16, size_t, __local ushort *);
11607 void __ovld vstore16(int16, size_t, __local int *);
11608 void __ovld vstore16(uint16, size_t, __local uint *);
11609 void __ovld vstore16(long16, size_t, __local long *);
11610 void __ovld vstore16(ulong16, size_t, __local ulong *);
11611 void __ovld vstore16(float16, size_t, __local float *);
11612 void __ovld vstore2(char2, size_t, __private char *);
11613 void __ovld vstore2(uchar2, size_t, __private uchar *);
11614 void __ovld vstore2(short2, size_t, __private short *);
11615 void __ovld vstore2(ushort2, size_t, __private ushort *);
11616 void __ovld vstore2(int2, size_t, __private int *);
11617 void __ovld vstore2(uint2, size_t, __private uint *);
11618 void __ovld vstore2(long2, size_t, __private long *);
11619 void __ovld vstore2(ulong2, size_t, __private ulong *);
11620 void __ovld vstore2(float2, size_t, __private float *);
11621 void __ovld vstore3(char3, size_t, __private char *);
11622 void __ovld vstore3(uchar3, size_t, __private uchar *);
11623 void __ovld vstore3(short3, size_t, __private short *);
11624 void __ovld vstore3(ushort3, size_t, __private ushort *);
11625 void __ovld vstore3(int3, size_t, __private int *);
11626 void __ovld vstore3(uint3, size_t, __private uint *);
11627 void __ovld vstore3(long3, size_t, __private long *);
11628 void __ovld vstore3(ulong3, size_t, __private ulong *);
11629 void __ovld vstore3(float3, size_t, __private float *);
11630 void __ovld vstore4(char4, size_t, __private char *);
11631 void __ovld vstore4(uchar4, size_t, __private uchar *);
11632 void __ovld vstore4(short4, size_t, __private short *);
11633 void __ovld vstore4(ushort4, size_t, __private ushort *);
11634 void __ovld vstore4(int4, size_t, __private int *);
11635 void __ovld vstore4(uint4, size_t, __private uint *);
11636 void __ovld vstore4(long4, size_t, __private long *);
11637 void __ovld vstore4(ulong4, size_t, __private ulong *);
11638 void __ovld vstore4(float4, size_t, __private float *);
11639 void __ovld vstore8(char8, size_t, __private char *);
11640 void __ovld vstore8(uchar8, size_t, __private uchar *);
11641 void __ovld vstore8(short8, size_t, __private short *);
11642 void __ovld vstore8(ushort8, size_t, __private ushort *);
11643 void __ovld vstore8(int8, size_t, __private int *);
11644 void __ovld vstore8(uint8, size_t, __private uint *);
11645 void __ovld vstore8(long8, size_t, __private long *);
11646 void __ovld vstore8(ulong8, size_t, __private ulong *);
11647 void __ovld vstore8(float8, size_t, __private float *);
11648 void __ovld vstore16(char16, size_t, __private char *);
11649 void __ovld vstore16(uchar16, size_t, __private uchar *);
11650 void __ovld vstore16(short16, size_t, __private short *);
11651 void __ovld vstore16(ushort16, size_t, __private ushort *);
11652 void __ovld vstore16(int16, size_t, __private int *);
11653 void __ovld vstore16(uint16, size_t, __private uint *);
11654 void __ovld vstore16(long16, size_t, __private long *);
11655 void __ovld vstore16(ulong16, size_t, __private ulong *);
11656 void __ovld vstore16(float16, size_t, __private float *);
11657 #ifdef cl_khr_fp64
11658 void __ovld vstore2(double2, size_t, __global double *);
11659 void __ovld vstore3(double3, size_t, __global double *);
11660 void __ovld vstore4(double4, size_t, __global double *);
11661 void __ovld vstore8(double8, size_t, __global double *);
11662 void __ovld vstore16(double16, size_t, __global double *);
11663 void __ovld vstore2(double2, size_t, __local double *);
11664 void __ovld vstore3(double3, size_t, __local double *);
11665 void __ovld vstore4(double4, size_t, __local double *);
11666 void __ovld vstore8(double8, size_t, __local double *);
11667 void __ovld vstore16(double16, size_t, __local double *);
11668 void __ovld vstore2(double2, size_t, __private double *);
11669 void __ovld vstore3(double3, size_t, __private double *);
11670 void __ovld vstore4(double4, size_t, __private double *);
11671 void __ovld vstore8(double8, size_t, __private double *);
11672 void __ovld vstore16(double16, size_t, __private double *);
11673 #endif //cl_khr_fp64
11674 #ifdef cl_khr_fp16
11675 void __ovld vstore2(half2, size_t, __global half *);
11676 void __ovld vstore3(half3, size_t, __global half *);
11677 void __ovld vstore4(half4, size_t, __global half *);
11678 void __ovld vstore8(half8, size_t, __global half *);
11679 void __ovld vstore16(half16, size_t, __global half *);
11680 void __ovld vstore2(half2, size_t, __local half *);
11681 void __ovld vstore3(half3, size_t, __local half *);
11682 void __ovld vstore4(half4, size_t, __local half *);
11683 void __ovld vstore8(half8, size_t, __local half *);
11684 void __ovld vstore16(half16, size_t, __local half *);
11685 void __ovld vstore2(half2, size_t, __private half *);
11686 void __ovld vstore3(half3, size_t, __private half *);
11687 void __ovld vstore4(half4, size_t, __private half *);
11688 void __ovld vstore8(half8, size_t, __private half *);
11689 void __ovld vstore16(half16, size_t, __private half *);
11690 #endif //cl_khr_fp16
11691 #endif //defined(__opencl_c_named_address_space_builtins)
11694 * Read sizeof (half) bytes of data from address
11695 * (p + offset). The data read is interpreted as a
11696 * half value. The half value is converted to a
11697 * float value and the float value is returned.
11698 * The read address computed as (p + offset)
11699 * must be 16-bit aligned.
11701 float __ovld __purefn vload_half(size_t, const __constant half *);
11702 #if defined(__opencl_c_generic_address_space)
11703 float __ovld __purefn vload_half(size_t, const half *);
11704 #endif //defined(__opencl_c_generic_address_space)
11706 #if defined(__opencl_c_named_address_space_builtins)
11707 float __ovld __purefn vload_half(size_t, const __global half *);
11708 float __ovld __purefn vload_half(size_t, const __local half *);
11709 float __ovld __purefn vload_half(size_t, const __private half *);
11710 #endif //defined(__opencl_c_named_address_space_builtins)
11713 * Read sizeof (halfn) bytes of data from address
11714 * (p + (offset * n)). The data read is interpreted
11715 * as a halfn value. The halfn value read is
11716 * converted to a floatn value and the floatn
11717 * value is returned. The read address computed
11718 * as (p + (offset * n)) must be 16-bit aligned.
11720 float2 __ovld __purefn vload_half2(size_t, const __constant half *);
11721 float3 __ovld __purefn vload_half3(size_t, const __constant half *);
11722 float4 __ovld __purefn vload_half4(size_t, const __constant half *);
11723 float8 __ovld __purefn vload_half8(size_t, const __constant half *);
11724 float16 __ovld __purefn vload_half16(size_t, const __constant half *);
11725 #if defined(__opencl_c_generic_address_space)
11726 float2 __ovld __purefn vload_half2(size_t, const half *);
11727 float3 __ovld __purefn vload_half3(size_t, const half *);
11728 float4 __ovld __purefn vload_half4(size_t, const half *);
11729 float8 __ovld __purefn vload_half8(size_t, const half *);
11730 float16 __ovld __purefn vload_half16(size_t, const half *);
11731 #endif //defined(__opencl_c_generic_address_space)
11733 #if defined(__opencl_c_named_address_space_builtins)
11734 float2 __ovld __purefn vload_half2(size_t, const __global half *);
11735 float3 __ovld __purefn vload_half3(size_t, const __global half *);
11736 float4 __ovld __purefn vload_half4(size_t, const __global half *);
11737 float8 __ovld __purefn vload_half8(size_t, const __global half *);
11738 float16 __ovld __purefn vload_half16(size_t, const __global half *);
11739 float2 __ovld __purefn vload_half2(size_t, const __local half *);
11740 float3 __ovld __purefn vload_half3(size_t, const __local half *);
11741 float4 __ovld __purefn vload_half4(size_t, const __local half *);
11742 float8 __ovld __purefn vload_half8(size_t, const __local half *);
11743 float16 __ovld __purefn vload_half16(size_t, const __local half *);
11744 float2 __ovld __purefn vload_half2(size_t, const __private half *);
11745 float3 __ovld __purefn vload_half3(size_t, const __private half *);
11746 float4 __ovld __purefn vload_half4(size_t, const __private half *);
11747 float8 __ovld __purefn vload_half8(size_t, const __private half *);
11748 float16 __ovld __purefn vload_half16(size_t, const __private half *);
11749 #endif //defined(__opencl_c_named_address_space_builtins)
11752 * The float value given by data is first
11753 * converted to a half value using the appropriate
11754 * rounding mode. The half value is then written
11755 * to address computed as (p + offset). The
11756 * address computed as (p + offset) must be 16-
11757 * bit aligned.
11758 * vstore_half use the current rounding mode.
11759 * The default current rounding mode is round to
11760 * nearest even.
11762 #if defined(__opencl_c_generic_address_space)
11763 void __ovld vstore_half(float, size_t, half *);
11764 void __ovld vstore_half_rte(float, size_t, half *);
11765 void __ovld vstore_half_rtz(float, size_t, half *);
11766 void __ovld vstore_half_rtp(float, size_t, half *);
11767 void __ovld vstore_half_rtn(float, size_t, half *);
11768 #ifdef cl_khr_fp64
11769 void __ovld vstore_half(double, size_t, half *);
11770 void __ovld vstore_half_rte(double, size_t, half *);
11771 void __ovld vstore_half_rtz(double, size_t, half *);
11772 void __ovld vstore_half_rtp(double, size_t, half *);
11773 void __ovld vstore_half_rtn(double, size_t, half *);
11774 #endif //cl_khr_fp64
11775 #endif //defined(__opencl_c_generic_address_space)
11777 #if defined(__opencl_c_named_address_space_builtins)
11778 void __ovld vstore_half(float, size_t, __global half *);
11779 void __ovld vstore_half_rte(float, size_t, __global half *);
11780 void __ovld vstore_half_rtz(float, size_t, __global half *);
11781 void __ovld vstore_half_rtp(float, size_t, __global half *);
11782 void __ovld vstore_half_rtn(float, size_t, __global half *);
11783 void __ovld vstore_half(float, size_t, __local half *);
11784 void __ovld vstore_half_rte(float, size_t, __local half *);
11785 void __ovld vstore_half_rtz(float, size_t, __local half *);
11786 void __ovld vstore_half_rtp(float, size_t, __local half *);
11787 void __ovld vstore_half_rtn(float, size_t, __local half *);
11788 void __ovld vstore_half(float, size_t, __private half *);
11789 void __ovld vstore_half_rte(float, size_t, __private half *);
11790 void __ovld vstore_half_rtz(float, size_t, __private half *);
11791 void __ovld vstore_half_rtp(float, size_t, __private half *);
11792 void __ovld vstore_half_rtn(float, size_t, __private half *);
11793 #ifdef cl_khr_fp64
11794 void __ovld vstore_half(double, size_t, __global half *);
11795 void __ovld vstore_half_rte(double, size_t, __global half *);
11796 void __ovld vstore_half_rtz(double, size_t, __global half *);
11797 void __ovld vstore_half_rtp(double, size_t, __global half *);
11798 void __ovld vstore_half_rtn(double, size_t, __global half *);
11799 void __ovld vstore_half(double, size_t, __local half *);
11800 void __ovld vstore_half_rte(double, size_t, __local half *);
11801 void __ovld vstore_half_rtz(double, size_t, __local half *);
11802 void __ovld vstore_half_rtp(double, size_t, __local half *);
11803 void __ovld vstore_half_rtn(double, size_t, __local half *);
11804 void __ovld vstore_half(double, size_t, __private half *);
11805 void __ovld vstore_half_rte(double, size_t, __private half *);
11806 void __ovld vstore_half_rtz(double, size_t, __private half *);
11807 void __ovld vstore_half_rtp(double, size_t, __private half *);
11808 void __ovld vstore_half_rtn(double, size_t, __private half *);
11809 #endif //cl_khr_fp64
11810 #endif //defined(__opencl_c_named_address_space_builtins)
11813 * The floatn value given by data is converted to
11814 * a halfn value using the appropriate rounding
11815 * mode. The halfn value is then written to
11816 * address computed as (p + (offset * n)). The
11817 * address computed as (p + (offset * n)) must be
11818 * 16-bit aligned.
11819 * vstore_halfn uses the current rounding mode.
11820 * The default current rounding mode is round to
11821 * nearest even.
11823 #if defined(__opencl_c_generic_address_space)
11824 void __ovld vstore_half2(float2, size_t, half *);
11825 void __ovld vstore_half3(float3, size_t, half *);
11826 void __ovld vstore_half4(float4, size_t, half *);
11827 void __ovld vstore_half8(float8, size_t, half *);
11828 void __ovld vstore_half16(float16, size_t, half *);
11829 void __ovld vstore_half2_rte(float2, size_t, half *);
11830 void __ovld vstore_half3_rte(float3, size_t, half *);
11831 void __ovld vstore_half4_rte(float4, size_t, half *);
11832 void __ovld vstore_half8_rte(float8, size_t, half *);
11833 void __ovld vstore_half16_rte(float16, size_t, half *);
11834 void __ovld vstore_half2_rtz(float2, size_t, half *);
11835 void __ovld vstore_half3_rtz(float3, size_t, half *);
11836 void __ovld vstore_half4_rtz(float4, size_t, half *);
11837 void __ovld vstore_half8_rtz(float8, size_t, half *);
11838 void __ovld vstore_half16_rtz(float16, size_t, half *);
11839 void __ovld vstore_half2_rtp(float2, size_t, half *);
11840 void __ovld vstore_half3_rtp(float3, size_t, half *);
11841 void __ovld vstore_half4_rtp(float4, size_t, half *);
11842 void __ovld vstore_half8_rtp(float8, size_t, half *);
11843 void __ovld vstore_half16_rtp(float16, size_t, half *);
11844 void __ovld vstore_half2_rtn(float2, size_t, half *);
11845 void __ovld vstore_half3_rtn(float3, size_t, half *);
11846 void __ovld vstore_half4_rtn(float4, size_t, half *);
11847 void __ovld vstore_half8_rtn(float8, size_t, half *);
11848 void __ovld vstore_half16_rtn(float16, size_t, half *);
11849 #ifdef cl_khr_fp64
11850 void __ovld vstore_half2(double2, size_t, half *);
11851 void __ovld vstore_half3(double3, size_t, half *);
11852 void __ovld vstore_half4(double4, size_t, half *);
11853 void __ovld vstore_half8(double8, size_t, half *);
11854 void __ovld vstore_half16(double16, size_t, half *);
11855 void __ovld vstore_half2_rte(double2, size_t, half *);
11856 void __ovld vstore_half3_rte(double3, size_t, half *);
11857 void __ovld vstore_half4_rte(double4, size_t, half *);
11858 void __ovld vstore_half8_rte(double8, size_t, half *);
11859 void __ovld vstore_half16_rte(double16, size_t, half *);
11860 void __ovld vstore_half2_rtz(double2, size_t, half *);
11861 void __ovld vstore_half3_rtz(double3, size_t, half *);
11862 void __ovld vstore_half4_rtz(double4, size_t, half *);
11863 void __ovld vstore_half8_rtz(double8, size_t, half *);
11864 void __ovld vstore_half16_rtz(double16, size_t, half *);
11865 void __ovld vstore_half2_rtp(double2, size_t, half *);
11866 void __ovld vstore_half3_rtp(double3, size_t, half *);
11867 void __ovld vstore_half4_rtp(double4, size_t, half *);
11868 void __ovld vstore_half8_rtp(double8, size_t, half *);
11869 void __ovld vstore_half16_rtp(double16, size_t, half *);
11870 void __ovld vstore_half2_rtn(double2, size_t, half *);
11871 void __ovld vstore_half3_rtn(double3, size_t, half *);
11872 void __ovld vstore_half4_rtn(double4, size_t, half *);
11873 void __ovld vstore_half8_rtn(double8, size_t, half *);
11874 void __ovld vstore_half16_rtn(double16, size_t, half *);
11875 #endif //cl_khr_fp64
11876 #endif //defined(__opencl_c_generic_address_space)
11878 #if defined(__opencl_c_named_address_space_builtins)
11879 void __ovld vstore_half2(float2, size_t, __global half *);
11880 void __ovld vstore_half3(float3, size_t, __global half *);
11881 void __ovld vstore_half4(float4, size_t, __global half *);
11882 void __ovld vstore_half8(float8, size_t, __global half *);
11883 void __ovld vstore_half16(float16, size_t, __global half *);
11884 void __ovld vstore_half2_rte(float2, size_t, __global half *);
11885 void __ovld vstore_half3_rte(float3, size_t, __global half *);
11886 void __ovld vstore_half4_rte(float4, size_t, __global half *);
11887 void __ovld vstore_half8_rte(float8, size_t, __global half *);
11888 void __ovld vstore_half16_rte(float16, size_t, __global half *);
11889 void __ovld vstore_half2_rtz(float2, size_t, __global half *);
11890 void __ovld vstore_half3_rtz(float3, size_t, __global half *);
11891 void __ovld vstore_half4_rtz(float4, size_t, __global half *);
11892 void __ovld vstore_half8_rtz(float8, size_t, __global half *);
11893 void __ovld vstore_half16_rtz(float16, size_t, __global half *);
11894 void __ovld vstore_half2_rtp(float2, size_t, __global half *);
11895 void __ovld vstore_half3_rtp(float3, size_t, __global half *);
11896 void __ovld vstore_half4_rtp(float4, size_t, __global half *);
11897 void __ovld vstore_half8_rtp(float8, size_t, __global half *);
11898 void __ovld vstore_half16_rtp(float16, size_t, __global half *);
11899 void __ovld vstore_half2_rtn(float2, size_t, __global half *);
11900 void __ovld vstore_half3_rtn(float3, size_t, __global half *);
11901 void __ovld vstore_half4_rtn(float4, size_t, __global half *);
11902 void __ovld vstore_half8_rtn(float8, size_t, __global half *);
11903 void __ovld vstore_half16_rtn(float16, size_t, __global half *);
11904 void __ovld vstore_half2(float2, size_t, __local half *);
11905 void __ovld vstore_half3(float3, size_t, __local half *);
11906 void __ovld vstore_half4(float4, size_t, __local half *);
11907 void __ovld vstore_half8(float8, size_t, __local half *);
11908 void __ovld vstore_half16(float16, size_t, __local half *);
11909 void __ovld vstore_half2_rte(float2, size_t, __local half *);
11910 void __ovld vstore_half3_rte(float3, size_t, __local half *);
11911 void __ovld vstore_half4_rte(float4, size_t, __local half *);
11912 void __ovld vstore_half8_rte(float8, size_t, __local half *);
11913 void __ovld vstore_half16_rte(float16, size_t, __local half *);
11914 void __ovld vstore_half2_rtz(float2, size_t, __local half *);
11915 void __ovld vstore_half3_rtz(float3, size_t, __local half *);
11916 void __ovld vstore_half4_rtz(float4, size_t, __local half *);
11917 void __ovld vstore_half8_rtz(float8, size_t, __local half *);
11918 void __ovld vstore_half16_rtz(float16, size_t, __local half *);
11919 void __ovld vstore_half2_rtp(float2, size_t, __local half *);
11920 void __ovld vstore_half3_rtp(float3, size_t, __local half *);
11921 void __ovld vstore_half4_rtp(float4, size_t, __local half *);
11922 void __ovld vstore_half8_rtp(float8, size_t, __local half *);
11923 void __ovld vstore_half16_rtp(float16, size_t, __local half *);
11924 void __ovld vstore_half2_rtn(float2, size_t, __local half *);
11925 void __ovld vstore_half3_rtn(float3, size_t, __local half *);
11926 void __ovld vstore_half4_rtn(float4, size_t, __local half *);
11927 void __ovld vstore_half8_rtn(float8, size_t, __local half *);
11928 void __ovld vstore_half16_rtn(float16, size_t, __local half *);
11929 void __ovld vstore_half2(float2, size_t, __private half *);
11930 void __ovld vstore_half3(float3, size_t, __private half *);
11931 void __ovld vstore_half4(float4, size_t, __private half *);
11932 void __ovld vstore_half8(float8, size_t, __private half *);
11933 void __ovld vstore_half16(float16, size_t, __private half *);
11934 void __ovld vstore_half2_rte(float2, size_t, __private half *);
11935 void __ovld vstore_half3_rte(float3, size_t, __private half *);
11936 void __ovld vstore_half4_rte(float4, size_t, __private half *);
11937 void __ovld vstore_half8_rte(float8, size_t, __private half *);
11938 void __ovld vstore_half16_rte(float16, size_t, __private half *);
11939 void __ovld vstore_half2_rtz(float2, size_t, __private half *);
11940 void __ovld vstore_half3_rtz(float3, size_t, __private half *);
11941 void __ovld vstore_half4_rtz(float4, size_t, __private half *);
11942 void __ovld vstore_half8_rtz(float8, size_t, __private half *);
11943 void __ovld vstore_half16_rtz(float16, size_t, __private half *);
11944 void __ovld vstore_half2_rtp(float2, size_t, __private half *);
11945 void __ovld vstore_half3_rtp(float3, size_t, __private half *);
11946 void __ovld vstore_half4_rtp(float4, size_t, __private half *);
11947 void __ovld vstore_half8_rtp(float8, size_t, __private half *);
11948 void __ovld vstore_half16_rtp(float16, size_t, __private half *);
11949 void __ovld vstore_half2_rtn(float2, size_t, __private half *);
11950 void __ovld vstore_half3_rtn(float3, size_t, __private half *);
11951 void __ovld vstore_half4_rtn(float4, size_t, __private half *);
11952 void __ovld vstore_half8_rtn(float8, size_t, __private half *);
11953 void __ovld vstore_half16_rtn(float16, size_t, __private half *);
11954 #ifdef cl_khr_fp64
11955 void __ovld vstore_half2(double2, size_t, __global half *);
11956 void __ovld vstore_half3(double3, size_t, __global half *);
11957 void __ovld vstore_half4(double4, size_t, __global half *);
11958 void __ovld vstore_half8(double8, size_t, __global half *);
11959 void __ovld vstore_half16(double16, size_t, __global half *);
11960 void __ovld vstore_half2_rte(double2, size_t, __global half *);
11961 void __ovld vstore_half3_rte(double3, size_t, __global half *);
11962 void __ovld vstore_half4_rte(double4, size_t, __global half *);
11963 void __ovld vstore_half8_rte(double8, size_t, __global half *);
11964 void __ovld vstore_half16_rte(double16, size_t, __global half *);
11965 void __ovld vstore_half2_rtz(double2, size_t, __global half *);
11966 void __ovld vstore_half3_rtz(double3, size_t, __global half *);
11967 void __ovld vstore_half4_rtz(double4, size_t, __global half *);
11968 void __ovld vstore_half8_rtz(double8, size_t, __global half *);
11969 void __ovld vstore_half16_rtz(double16, size_t, __global half *);
11970 void __ovld vstore_half2_rtp(double2, size_t, __global half *);
11971 void __ovld vstore_half3_rtp(double3, size_t, __global half *);
11972 void __ovld vstore_half4_rtp(double4, size_t, __global half *);
11973 void __ovld vstore_half8_rtp(double8, size_t, __global half *);
11974 void __ovld vstore_half16_rtp(double16, size_t, __global half *);
11975 void __ovld vstore_half2_rtn(double2, size_t, __global half *);
11976 void __ovld vstore_half3_rtn(double3, size_t, __global half *);
11977 void __ovld vstore_half4_rtn(double4, size_t, __global half *);
11978 void __ovld vstore_half8_rtn(double8, size_t, __global half *);
11979 void __ovld vstore_half16_rtn(double16, size_t, __global half *);
11980 void __ovld vstore_half2(double2, size_t, __local half *);
11981 void __ovld vstore_half3(double3, size_t, __local half *);
11982 void __ovld vstore_half4(double4, size_t, __local half *);
11983 void __ovld vstore_half8(double8, size_t, __local half *);
11984 void __ovld vstore_half16(double16, size_t, __local half *);
11985 void __ovld vstore_half2_rte(double2, size_t, __local half *);
11986 void __ovld vstore_half3_rte(double3, size_t, __local half *);
11987 void __ovld vstore_half4_rte(double4, size_t, __local half *);
11988 void __ovld vstore_half8_rte(double8, size_t, __local half *);
11989 void __ovld vstore_half16_rte(double16, size_t, __local half *);
11990 void __ovld vstore_half2_rtz(double2, size_t, __local half *);
11991 void __ovld vstore_half3_rtz(double3, size_t, __local half *);
11992 void __ovld vstore_half4_rtz(double4, size_t, __local half *);
11993 void __ovld vstore_half8_rtz(double8, size_t, __local half *);
11994 void __ovld vstore_half16_rtz(double16, size_t, __local half *);
11995 void __ovld vstore_half2_rtp(double2, size_t, __local half *);
11996 void __ovld vstore_half3_rtp(double3, size_t, __local half *);
11997 void __ovld vstore_half4_rtp(double4, size_t, __local half *);
11998 void __ovld vstore_half8_rtp(double8, size_t, __local half *);
11999 void __ovld vstore_half16_rtp(double16, size_t, __local half *);
12000 void __ovld vstore_half2_rtn(double2, size_t, __local half *);
12001 void __ovld vstore_half3_rtn(double3, size_t, __local half *);
12002 void __ovld vstore_half4_rtn(double4, size_t, __local half *);
12003 void __ovld vstore_half8_rtn(double8, size_t, __local half *);
12004 void __ovld vstore_half16_rtn(double16, size_t, __local half *);
12005 void __ovld vstore_half2(double2, size_t, __private half *);
12006 void __ovld vstore_half3(double3, size_t, __private half *);
12007 void __ovld vstore_half4(double4, size_t, __private half *);
12008 void __ovld vstore_half8(double8, size_t, __private half *);
12009 void __ovld vstore_half16(double16, size_t, __private half *);
12010 void __ovld vstore_half2_rte(double2, size_t, __private half *);
12011 void __ovld vstore_half3_rte(double3, size_t, __private half *);
12012 void __ovld vstore_half4_rte(double4, size_t, __private half *);
12013 void __ovld vstore_half8_rte(double8, size_t, __private half *);
12014 void __ovld vstore_half16_rte(double16, size_t, __private half *);
12015 void __ovld vstore_half2_rtz(double2, size_t, __private half *);
12016 void __ovld vstore_half3_rtz(double3, size_t, __private half *);
12017 void __ovld vstore_half4_rtz(double4, size_t, __private half *);
12018 void __ovld vstore_half8_rtz(double8, size_t, __private half *);
12019 void __ovld vstore_half16_rtz(double16, size_t, __private half *);
12020 void __ovld vstore_half2_rtp(double2, size_t, __private half *);
12021 void __ovld vstore_half3_rtp(double3, size_t, __private half *);
12022 void __ovld vstore_half4_rtp(double4, size_t, __private half *);
12023 void __ovld vstore_half8_rtp(double8, size_t, __private half *);
12024 void __ovld vstore_half16_rtp(double16, size_t, __private half *);
12025 void __ovld vstore_half2_rtn(double2, size_t, __private half *);
12026 void __ovld vstore_half3_rtn(double3, size_t, __private half *);
12027 void __ovld vstore_half4_rtn(double4, size_t, __private half *);
12028 void __ovld vstore_half8_rtn(double8, size_t, __private half *);
12029 void __ovld vstore_half16_rtn(double16, size_t, __private half *);
12030 #endif //cl_khr_fp64
12031 #endif //defined(__opencl_c_named_address_space_builtins)
12034 * For n = 1, 2, 4, 8 and 16 read sizeof (halfn)
12035 * bytes of data from address (p + (offset * n)).
12036 * The data read is interpreted as a halfn value.
12037 * The halfn value read is converted to a floatn
12038 * value and the floatn value is returned.
12039 * The address computed as (p + (offset * n))
12040 * must be aligned to sizeof (halfn) bytes.
12041 * For n = 3, vloada_half3 reads a half3 from
12042 * address (p + (offset * 4)) and returns a float3.
12043 * The address computed as (p + (offset * 4))
12044 * must be aligned to sizeof (half) * 4 bytes.
12046 float2 __ovld __purefn vloada_half2(size_t, const __constant half *);
12047 float3 __ovld __purefn vloada_half3(size_t, const __constant half *);
12048 float4 __ovld __purefn vloada_half4(size_t, const __constant half *);
12049 float8 __ovld __purefn vloada_half8(size_t, const __constant half *);
12050 float16 __ovld __purefn vloada_half16(size_t, const __constant half *);
12051 #if defined(__opencl_c_generic_address_space)
12052 float2 __ovld __purefn vloada_half2(size_t, const half *);
12053 float3 __ovld __purefn vloada_half3(size_t, const half *);
12054 float4 __ovld __purefn vloada_half4(size_t, const half *);
12055 float8 __ovld __purefn vloada_half8(size_t, const half *);
12056 float16 __ovld __purefn vloada_half16(size_t, const half *);
12057 #endif //defined(__opencl_c_generic_address_space)
12059 #if defined(__opencl_c_named_address_space_builtins)
12060 float2 __ovld __purefn vloada_half2(size_t, const __global half *);
12061 float3 __ovld __purefn vloada_half3(size_t, const __global half *);
12062 float4 __ovld __purefn vloada_half4(size_t, const __global half *);
12063 float8 __ovld __purefn vloada_half8(size_t, const __global half *);
12064 float16 __ovld __purefn vloada_half16(size_t, const __global half *);
12065 float2 __ovld __purefn vloada_half2(size_t, const __local half *);
12066 float3 __ovld __purefn vloada_half3(size_t, const __local half *);
12067 float4 __ovld __purefn vloada_half4(size_t, const __local half *);
12068 float8 __ovld __purefn vloada_half8(size_t, const __local half *);
12069 float16 __ovld __purefn vloada_half16(size_t, const __local half *);
12070 float2 __ovld __purefn vloada_half2(size_t, const __private half *);
12071 float3 __ovld __purefn vloada_half3(size_t, const __private half *);
12072 float4 __ovld __purefn vloada_half4(size_t, const __private half *);
12073 float8 __ovld __purefn vloada_half8(size_t, const __private half *);
12074 float16 __ovld __purefn vloada_half16(size_t, const __private half *);
12075 #endif //defined(__opencl_c_named_address_space_builtins)
12078 * The floatn value given by data is converted to
12079 * a halfn value using the appropriate rounding
12080 * mode.
12081 * For n = 1, 2, 4, 8 and 16, the halfn value is
12082 * written to the address computed as (p + (offset
12083 * * n)). The address computed as (p + (offset *
12084 * n)) must be aligned to sizeof (halfn) bytes.
12085 * For n = 3, the half3 value is written to the
12086 * address computed as (p + (offset * 4)). The
12087 * address computed as (p + (offset * 4)) must be
12088 * aligned to sizeof (half) * 4 bytes.
12089 * vstorea_halfn uses the current rounding
12090 * mode. The default current rounding mode is
12091 * round to nearest even.
12093 #if defined(__opencl_c_generic_address_space)
12094 void __ovld vstorea_half2(float2, size_t, half *);
12095 void __ovld vstorea_half3(float3, size_t, half *);
12096 void __ovld vstorea_half4(float4, size_t, half *);
12097 void __ovld vstorea_half8(float8, size_t, half *);
12098 void __ovld vstorea_half16(float16, size_t, half *);
12100 void __ovld vstorea_half2_rte(float2, size_t, half *);
12101 void __ovld vstorea_half3_rte(float3, size_t, half *);
12102 void __ovld vstorea_half4_rte(float4, size_t, half *);
12103 void __ovld vstorea_half8_rte(float8, size_t, half *);
12104 void __ovld vstorea_half16_rte(float16, size_t, half *);
12106 void __ovld vstorea_half2_rtz(float2, size_t, half *);
12107 void __ovld vstorea_half3_rtz(float3, size_t, half *);
12108 void __ovld vstorea_half4_rtz(float4, size_t, half *);
12109 void __ovld vstorea_half8_rtz(float8, size_t, half *);
12110 void __ovld vstorea_half16_rtz(float16, size_t, half *);
12112 void __ovld vstorea_half2_rtp(float2, size_t, half *);
12113 void __ovld vstorea_half3_rtp(float3, size_t, half *);
12114 void __ovld vstorea_half4_rtp(float4, size_t, half *);
12115 void __ovld vstorea_half8_rtp(float8, size_t, half *);
12116 void __ovld vstorea_half16_rtp(float16, size_t, half *);
12118 void __ovld vstorea_half2_rtn(float2, size_t, half *);
12119 void __ovld vstorea_half3_rtn(float3, size_t, half *);
12120 void __ovld vstorea_half4_rtn(float4, size_t, half *);
12121 void __ovld vstorea_half8_rtn(float8, size_t, half *);
12122 void __ovld vstorea_half16_rtn(float16, size_t, half *);
12124 #ifdef cl_khr_fp64
12125 void __ovld vstorea_half2(double2, size_t, half *);
12126 void __ovld vstorea_half3(double3, size_t, half *);
12127 void __ovld vstorea_half4(double4, size_t, half *);
12128 void __ovld vstorea_half8(double8, size_t, half *);
12129 void __ovld vstorea_half16(double16, size_t, half *);
12131 void __ovld vstorea_half2_rte(double2, size_t, half *);
12132 void __ovld vstorea_half3_rte(double3, size_t, half *);
12133 void __ovld vstorea_half4_rte(double4, size_t, half *);
12134 void __ovld vstorea_half8_rte(double8, size_t, half *);
12135 void __ovld vstorea_half16_rte(double16, size_t, half *);
12137 void __ovld vstorea_half2_rtz(double2, size_t, half *);
12138 void __ovld vstorea_half3_rtz(double3, size_t, half *);
12139 void __ovld vstorea_half4_rtz(double4, size_t, half *);
12140 void __ovld vstorea_half8_rtz(double8, size_t, half *);
12141 void __ovld vstorea_half16_rtz(double16, size_t, half *);
12143 void __ovld vstorea_half2_rtp(double2, size_t, half *);
12144 void __ovld vstorea_half3_rtp(double3, size_t, half *);
12145 void __ovld vstorea_half4_rtp(double4, size_t, half *);
12146 void __ovld vstorea_half8_rtp(double8, size_t, half *);
12147 void __ovld vstorea_half16_rtp(double16, size_t, half *);
12149 void __ovld vstorea_half2_rtn(double2, size_t, half *);
12150 void __ovld vstorea_half3_rtn(double3, size_t, half *);
12151 void __ovld vstorea_half4_rtn(double4, size_t, half *);
12152 void __ovld vstorea_half8_rtn(double8, size_t, half *);
12153 void __ovld vstorea_half16_rtn(double16, size_t, half *);
12154 #endif //cl_khr_fp64
12155 #endif //defined(__opencl_c_generic_address_space)
12157 #if defined(__opencl_c_named_address_space_builtins)
12158 void __ovld vstorea_half2(float2, size_t, __global half *);
12159 void __ovld vstorea_half3(float3, size_t, __global half *);
12160 void __ovld vstorea_half4(float4, size_t, __global half *);
12161 void __ovld vstorea_half8(float8, size_t, __global half *);
12162 void __ovld vstorea_half16(float16, size_t, __global half *);
12164 void __ovld vstorea_half2_rte(float2, size_t, __global half *);
12165 void __ovld vstorea_half3_rte(float3, size_t, __global half *);
12166 void __ovld vstorea_half4_rte(float4, size_t, __global half *);
12167 void __ovld vstorea_half8_rte(float8, size_t, __global half *);
12168 void __ovld vstorea_half16_rte(float16, size_t, __global half *);
12170 void __ovld vstorea_half2_rtz(float2, size_t, __global half *);
12171 void __ovld vstorea_half3_rtz(float3, size_t, __global half *);
12172 void __ovld vstorea_half4_rtz(float4, size_t, __global half *);
12173 void __ovld vstorea_half8_rtz(float8, size_t, __global half *);
12174 void __ovld vstorea_half16_rtz(float16, size_t, __global half *);
12176 void __ovld vstorea_half2_rtp(float2, size_t, __global half *);
12177 void __ovld vstorea_half3_rtp(float3, size_t, __global half *);
12178 void __ovld vstorea_half4_rtp(float4, size_t, __global half *);
12179 void __ovld vstorea_half8_rtp(float8, size_t, __global half *);
12180 void __ovld vstorea_half16_rtp(float16, size_t, __global half *);
12182 void __ovld vstorea_half2_rtn(float2, size_t, __global half *);
12183 void __ovld vstorea_half3_rtn(float3, size_t, __global half *);
12184 void __ovld vstorea_half4_rtn(float4, size_t, __global half *);
12185 void __ovld vstorea_half8_rtn(float8, size_t, __global half *);
12186 void __ovld vstorea_half16_rtn(float16, size_t, __global half *);
12188 void __ovld vstorea_half2(float2, size_t, __local half *);
12189 void __ovld vstorea_half3(float3, size_t, __local half *);
12190 void __ovld vstorea_half4(float4, size_t, __local half *);
12191 void __ovld vstorea_half8(float8, size_t, __local half *);
12192 void __ovld vstorea_half16(float16, size_t, __local half *);
12194 void __ovld vstorea_half2_rte(float2, size_t, __local half *);
12195 void __ovld vstorea_half3_rte(float3, size_t, __local half *);
12196 void __ovld vstorea_half4_rte(float4, size_t, __local half *);
12197 void __ovld vstorea_half8_rte(float8, size_t, __local half *);
12198 void __ovld vstorea_half16_rte(float16, size_t, __local half *);
12200 void __ovld vstorea_half2_rtz(float2, size_t, __local half *);
12201 void __ovld vstorea_half3_rtz(float3, size_t, __local half *);
12202 void __ovld vstorea_half4_rtz(float4, size_t, __local half *);
12203 void __ovld vstorea_half8_rtz(float8, size_t, __local half *);
12204 void __ovld vstorea_half16_rtz(float16, size_t, __local half *);
12206 void __ovld vstorea_half2_rtp(float2, size_t, __local half *);
12207 void __ovld vstorea_half3_rtp(float3, size_t, __local half *);
12208 void __ovld vstorea_half4_rtp(float4, size_t, __local half *);
12209 void __ovld vstorea_half8_rtp(float8, size_t, __local half *);
12210 void __ovld vstorea_half16_rtp(float16, size_t, __local half *);
12212 void __ovld vstorea_half2_rtn(float2, size_t, __local half *);
12213 void __ovld vstorea_half3_rtn(float3, size_t, __local half *);
12214 void __ovld vstorea_half4_rtn(float4, size_t, __local half *);
12215 void __ovld vstorea_half8_rtn(float8, size_t, __local half *);
12216 void __ovld vstorea_half16_rtn(float16, size_t, __local half *);
12218 void __ovld vstorea_half2(float2, size_t, __private half *);
12219 void __ovld vstorea_half3(float3, size_t, __private half *);
12220 void __ovld vstorea_half4(float4, size_t, __private half *);
12221 void __ovld vstorea_half8(float8, size_t, __private half *);
12222 void __ovld vstorea_half16(float16, size_t, __private half *);
12224 void __ovld vstorea_half2_rte(float2, size_t, __private half *);
12225 void __ovld vstorea_half3_rte(float3, size_t, __private half *);
12226 void __ovld vstorea_half4_rte(float4, size_t, __private half *);
12227 void __ovld vstorea_half8_rte(float8, size_t, __private half *);
12228 void __ovld vstorea_half16_rte(float16, size_t, __private half *);
12230 void __ovld vstorea_half2_rtz(float2, size_t, __private half *);
12231 void __ovld vstorea_half3_rtz(float3, size_t, __private half *);
12232 void __ovld vstorea_half4_rtz(float4, size_t, __private half *);
12233 void __ovld vstorea_half8_rtz(float8, size_t, __private half *);
12234 void __ovld vstorea_half16_rtz(float16, size_t, __private half *);
12236 void __ovld vstorea_half2_rtp(float2, size_t, __private half *);
12237 void __ovld vstorea_half3_rtp(float3, size_t, __private half *);
12238 void __ovld vstorea_half4_rtp(float4, size_t, __private half *);
12239 void __ovld vstorea_half8_rtp(float8, size_t, __private half *);
12240 void __ovld vstorea_half16_rtp(float16, size_t, __private half *);
12242 void __ovld vstorea_half2_rtn(float2, size_t, __private half *);
12243 void __ovld vstorea_half3_rtn(float3, size_t, __private half *);
12244 void __ovld vstorea_half4_rtn(float4, size_t, __private half *);
12245 void __ovld vstorea_half8_rtn(float8, size_t, __private half *);
12246 void __ovld vstorea_half16_rtn(float16, size_t, __private half *);
12248 #ifdef cl_khr_fp64
12249 void __ovld vstorea_half2(double2, size_t, __global half *);
12250 void __ovld vstorea_half3(double3, size_t, __global half *);
12251 void __ovld vstorea_half4(double4, size_t, __global half *);
12252 void __ovld vstorea_half8(double8, size_t, __global half *);
12253 void __ovld vstorea_half16(double16, size_t, __global half *);
12255 void __ovld vstorea_half2_rte(double2, size_t, __global half *);
12256 void __ovld vstorea_half3_rte(double3, size_t, __global half *);
12257 void __ovld vstorea_half4_rte(double4, size_t, __global half *);
12258 void __ovld vstorea_half8_rte(double8, size_t, __global half *);
12259 void __ovld vstorea_half16_rte(double16, size_t, __global half *);
12261 void __ovld vstorea_half2_rtz(double2, size_t, __global half *);
12262 void __ovld vstorea_half3_rtz(double3, size_t, __global half *);
12263 void __ovld vstorea_half4_rtz(double4, size_t, __global half *);
12264 void __ovld vstorea_half8_rtz(double8, size_t, __global half *);
12265 void __ovld vstorea_half16_rtz(double16, size_t, __global half *);
12267 void __ovld vstorea_half2_rtp(double2, size_t, __global half *);
12268 void __ovld vstorea_half3_rtp(double3, size_t, __global half *);
12269 void __ovld vstorea_half4_rtp(double4, size_t, __global half *);
12270 void __ovld vstorea_half8_rtp(double8, size_t, __global half *);
12271 void __ovld vstorea_half16_rtp(double16, size_t, __global half *);
12273 void __ovld vstorea_half2_rtn(double2, size_t, __global half *);
12274 void __ovld vstorea_half3_rtn(double3, size_t, __global half *);
12275 void __ovld vstorea_half4_rtn(double4, size_t, __global half *);
12276 void __ovld vstorea_half8_rtn(double8, size_t, __global half *);
12277 void __ovld vstorea_half16_rtn(double16, size_t, __global half *);
12279 void __ovld vstorea_half2(double2, size_t, __local half *);
12280 void __ovld vstorea_half3(double3, size_t, __local half *);
12281 void __ovld vstorea_half4(double4, size_t, __local half *);
12282 void __ovld vstorea_half8(double8, size_t, __local half *);
12283 void __ovld vstorea_half16(double16, size_t, __local half *);
12285 void __ovld vstorea_half2_rte(double2, size_t, __local half *);
12286 void __ovld vstorea_half3_rte(double3, size_t, __local half *);
12287 void __ovld vstorea_half4_rte(double4, size_t, __local half *);
12288 void __ovld vstorea_half8_rte(double8, size_t, __local half *);
12289 void __ovld vstorea_half16_rte(double16, size_t, __local half *);
12291 void __ovld vstorea_half2_rtz(double2, size_t, __local half *);
12292 void __ovld vstorea_half3_rtz(double3, size_t, __local half *);
12293 void __ovld vstorea_half4_rtz(double4, size_t, __local half *);
12294 void __ovld vstorea_half8_rtz(double8, size_t, __local half *);
12295 void __ovld vstorea_half16_rtz(double16, size_t, __local half *);
12297 void __ovld vstorea_half2_rtp(double2, size_t, __local half *);
12298 void __ovld vstorea_half3_rtp(double3, size_t, __local half *);
12299 void __ovld vstorea_half4_rtp(double4, size_t, __local half *);
12300 void __ovld vstorea_half8_rtp(double8, size_t, __local half *);
12301 void __ovld vstorea_half16_rtp(double16, size_t, __local half *);
12303 void __ovld vstorea_half2_rtn(double2, size_t, __local half *);
12304 void __ovld vstorea_half3_rtn(double3, size_t, __local half *);
12305 void __ovld vstorea_half4_rtn(double4, size_t, __local half *);
12306 void __ovld vstorea_half8_rtn(double8, size_t, __local half *);
12307 void __ovld vstorea_half16_rtn(double16, size_t, __local half *);
12309 void __ovld vstorea_half2(double2, size_t, __private half *);
12310 void __ovld vstorea_half3(double3, size_t, __private half *);
12311 void __ovld vstorea_half4(double4, size_t, __private half *);
12312 void __ovld vstorea_half8(double8, size_t, __private half *);
12313 void __ovld vstorea_half16(double16, size_t, __private half *);
12315 void __ovld vstorea_half2_rte(double2, size_t, __private half *);
12316 void __ovld vstorea_half3_rte(double3, size_t, __private half *);
12317 void __ovld vstorea_half4_rte(double4, size_t, __private half *);
12318 void __ovld vstorea_half8_rte(double8, size_t, __private half *);
12319 void __ovld vstorea_half16_rte(double16, size_t, __private half *);
12321 void __ovld vstorea_half2_rtz(double2, size_t, __private half *);
12322 void __ovld vstorea_half3_rtz(double3, size_t, __private half *);
12323 void __ovld vstorea_half4_rtz(double4, size_t, __private half *);
12324 void __ovld vstorea_half8_rtz(double8, size_t, __private half *);
12325 void __ovld vstorea_half16_rtz(double16, size_t, __private half *);
12327 void __ovld vstorea_half2_rtp(double2, size_t, __private half *);
12328 void __ovld vstorea_half3_rtp(double3, size_t, __private half *);
12329 void __ovld vstorea_half4_rtp(double4, size_t, __private half *);
12330 void __ovld vstorea_half8_rtp(double8, size_t, __private half *);
12331 void __ovld vstorea_half16_rtp(double16, size_t, __private half *);
12333 void __ovld vstorea_half2_rtn(double2, size_t, __private half *);
12334 void __ovld vstorea_half3_rtn(double3, size_t, __private half *);
12335 void __ovld vstorea_half4_rtn(double4, size_t, __private half *);
12336 void __ovld vstorea_half8_rtn(double8, size_t, __private half *);
12337 void __ovld vstorea_half16_rtn(double16, size_t, __private half *);
12338 #endif //cl_khr_fp64
12339 #endif //defined(__opencl_c_named_address_space_builtins)
12341 // OpenCL v1.1 s6.11.8, v1.2 s6.12.8, v2.0 s6.13.8 - Synchronization Functions
12344 * All work-items in a work-group executing the kernel
12345 * on a processor must execute this function before any
12346 * are allowed to continue execution beyond the barrier.
12347 * This function must be encountered by all work-items in
12348 * a work-group executing the kernel.
12349 * If barrier is inside a conditional statement, then all
12350 * work-items must enter the conditional if any work-item
12351 * enters the conditional statement and executes the
12352 * barrier.
12353 * If barrer is inside a loop, all work-items must execute
12354 * the barrier for each iteration of the loop before any are
12355 * allowed to continue execution beyond the barrier.
12356 * The barrier function also queues a memory fence
12357 * (reads and writes) to ensure correct ordering of
12358 * memory operations to local or global memory.
12359 * The flags argument specifies the memory address space
12360 * and can be set to a combination of the following literal
12361 * values.
12362 * CLK_LOCAL_MEM_FENCE - The barrier function
12363 * will either flush any variables stored in local memory
12364 * or queue a memory fence to ensure correct ordering of
12365 * memory operations to local memory.
12366 * CLK_GLOBAL_MEM_FENCE - The barrier function
12367 * will queue a memory fence to ensure correct ordering
12368 * of memory operations to global memory. This can be
12369 * useful when work-items, for example, write to buffer or
12370 * image objects and then want to read the updated data.
12373 void __ovld __conv barrier(cl_mem_fence_flags);
12375 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
12376 void __ovld __conv work_group_barrier(cl_mem_fence_flags, memory_scope);
12377 void __ovld __conv work_group_barrier(cl_mem_fence_flags);
12378 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
12380 // OpenCL v1.1 s6.11.9, v1.2 s6.12.9 - Explicit Memory Fence Functions
12383 * Orders loads and stores of a work-item
12384 * executing a kernel. This means that loads
12385 * and stores preceding the mem_fence will
12386 * be committed to memory before any loads
12387 * and stores following the mem_fence.
12388 * The flags argument specifies the memory
12389 * address space and can be set to a
12390 * combination of the following literal
12391 * values:
12392 * CLK_LOCAL_MEM_FENCE
12393 * CLK_GLOBAL_MEM_FENCE.
12395 void __ovld mem_fence(cl_mem_fence_flags);
12398 * Read memory barrier that orders only
12399 * loads.
12400 * The flags argument specifies the memory
12401 * address space and can be set to a
12402 * combination of the following literal
12403 * values:
12404 * CLK_LOCAL_MEM_FENCE
12405 * CLK_GLOBAL_MEM_FENCE.
12407 void __ovld read_mem_fence(cl_mem_fence_flags);
12410 * Write memory barrier that orders only
12411 * stores.
12412 * The flags argument specifies the memory
12413 * address space and can be set to a
12414 * combination of the following literal
12415 * values:
12416 * CLK_LOCAL_MEM_FENCE
12417 * CLK_GLOBAL_MEM_FENCE.
12419 void __ovld write_mem_fence(cl_mem_fence_flags);
12421 // OpenCL v2.0 s6.13.9 - Address Space Qualifier Functions
12423 #if defined(__opencl_c_generic_address_space)
12424 cl_mem_fence_flags __ovld get_fence(const void *ptr);
12425 cl_mem_fence_flags __ovld get_fence(void *ptr);
12428 * Builtin functions to_global, to_local, and to_private need to be declared as Clang builtin functions
12429 * and checked in Sema since they should be declared as
12430 * addr gentype* to_addr (gentype*);
12431 * where gentype is builtin type or user defined type.
12434 #endif //defined(__opencl_c_generic_address_space)
12436 // OpenCL v1.1 s6.11.10, v1.2 s6.12.10, v2.0 s6.13.10 - Async Copies from Global to Local Memory, Local to Global Memory, and Prefetch
12439 * event_t async_work_group_copy (
12440 * __global gentype *dst,
12441 * const __local gentype *src,
12442 * size_t num_elements,
12443 * event_t event)
12444 * Perform an async copy of num_elements
12445 * gentype elements from src to dst. The async
12446 * copy is performed by all work-items in a workgroup
12447 * and this built-in function must therefore
12448 * be encountered by all work-items in a workgroup
12449 * executing the kernel with the same
12450 * argument values; otherwise the results are
12451 * undefined.
12452 * Returns an event object that can be used by
12453 * wait_group_events to wait for the async copy
12454 * to finish. The event argument can also be used
12455 * to associate the async_work_group_copy with
12456 * a previous async copy allowing an event to be
12457 * shared by multiple async copies; otherwise event
12458 * should be zero.
12459 * If event argument is non-zero, the event object
12460 * supplied in event argument will be returned.
12461 * This function does not perform any implicit
12462 * synchronization of source data such as using a
12463 * barrier before performing the copy.
12465 event_t __ovld async_work_group_copy(__local char *, const __global char *, size_t, event_t);
12466 event_t __ovld async_work_group_copy(__local uchar *, const __global uchar *, size_t, event_t);
12467 event_t __ovld async_work_group_copy(__local short *, const __global short *, size_t, event_t);
12468 event_t __ovld async_work_group_copy(__local ushort *, const __global ushort *, size_t, event_t);
12469 event_t __ovld async_work_group_copy(__local int *, const __global int *, size_t, event_t);
12470 event_t __ovld async_work_group_copy(__local uint *, const __global uint *, size_t, event_t);
12471 event_t __ovld async_work_group_copy(__local long *, const __global long *, size_t, event_t);
12472 event_t __ovld async_work_group_copy(__local ulong *, const __global ulong *, size_t, event_t);
12473 event_t __ovld async_work_group_copy(__local float *, const __global float *, size_t, event_t);
12474 event_t __ovld async_work_group_copy(__local char2 *, const __global char2 *, size_t, event_t);
12475 event_t __ovld async_work_group_copy(__local uchar2 *, const __global uchar2 *, size_t, event_t);
12476 event_t __ovld async_work_group_copy(__local short2 *, const __global short2 *, size_t, event_t);
12477 event_t __ovld async_work_group_copy(__local ushort2 *, const __global ushort2 *, size_t, event_t);
12478 event_t __ovld async_work_group_copy(__local int2 *, const __global int2 *, size_t, event_t);
12479 event_t __ovld async_work_group_copy(__local uint2 *, const __global uint2 *, size_t, event_t);
12480 event_t __ovld async_work_group_copy(__local long2 *, const __global long2 *, size_t, event_t);
12481 event_t __ovld async_work_group_copy(__local ulong2 *, const __global ulong2 *, size_t, event_t);
12482 event_t __ovld async_work_group_copy(__local float2 *, const __global float2 *, size_t, event_t);
12483 event_t __ovld async_work_group_copy(__local char3 *, const __global char3 *, size_t, event_t);
12484 event_t __ovld async_work_group_copy(__local uchar3 *, const __global uchar3 *, size_t, event_t);
12485 event_t __ovld async_work_group_copy(__local short3 *, const __global short3 *, size_t, event_t);
12486 event_t __ovld async_work_group_copy(__local ushort3 *, const __global ushort3 *, size_t, event_t);
12487 event_t __ovld async_work_group_copy(__local int3 *, const __global int3 *, size_t, event_t);
12488 event_t __ovld async_work_group_copy(__local uint3 *, const __global uint3 *, size_t, event_t);
12489 event_t __ovld async_work_group_copy(__local long3 *, const __global long3 *, size_t, event_t);
12490 event_t __ovld async_work_group_copy(__local ulong3 *, const __global ulong3 *, size_t, event_t);
12491 event_t __ovld async_work_group_copy(__local float3 *, const __global float3 *, size_t, event_t);
12492 event_t __ovld async_work_group_copy(__local char4 *, const __global char4 *, size_t, event_t);
12493 event_t __ovld async_work_group_copy(__local uchar4 *, const __global uchar4 *, size_t, event_t);
12494 event_t __ovld async_work_group_copy(__local short4 *, const __global short4 *, size_t, event_t);
12495 event_t __ovld async_work_group_copy(__local ushort4 *, const __global ushort4 *, size_t, event_t);
12496 event_t __ovld async_work_group_copy(__local int4 *, const __global int4 *, size_t, event_t);
12497 event_t __ovld async_work_group_copy(__local uint4 *, const __global uint4 *, size_t, event_t);
12498 event_t __ovld async_work_group_copy(__local long4 *, const __global long4 *, size_t, event_t);
12499 event_t __ovld async_work_group_copy(__local ulong4 *, const __global ulong4 *, size_t, event_t);
12500 event_t __ovld async_work_group_copy(__local float4 *, const __global float4 *, size_t, event_t);
12501 event_t __ovld async_work_group_copy(__local char8 *, const __global char8 *, size_t, event_t);
12502 event_t __ovld async_work_group_copy(__local uchar8 *, const __global uchar8 *, size_t, event_t);
12503 event_t __ovld async_work_group_copy(__local short8 *, const __global short8 *, size_t, event_t);
12504 event_t __ovld async_work_group_copy(__local ushort8 *, const __global ushort8 *, size_t, event_t);
12505 event_t __ovld async_work_group_copy(__local int8 *, const __global int8 *, size_t, event_t);
12506 event_t __ovld async_work_group_copy(__local uint8 *, const __global uint8 *, size_t, event_t);
12507 event_t __ovld async_work_group_copy(__local long8 *, const __global long8 *, size_t, event_t);
12508 event_t __ovld async_work_group_copy(__local ulong8 *, const __global ulong8 *, size_t, event_t);
12509 event_t __ovld async_work_group_copy(__local float8 *, const __global float8 *, size_t, event_t);
12510 event_t __ovld async_work_group_copy(__local char16 *, const __global char16 *, size_t, event_t);
12511 event_t __ovld async_work_group_copy(__local uchar16 *, const __global uchar16 *, size_t, event_t);
12512 event_t __ovld async_work_group_copy(__local short16 *, const __global short16 *, size_t, event_t);
12513 event_t __ovld async_work_group_copy(__local ushort16 *, const __global ushort16 *, size_t, event_t);
12514 event_t __ovld async_work_group_copy(__local int16 *, const __global int16 *, size_t, event_t);
12515 event_t __ovld async_work_group_copy(__local uint16 *, const __global uint16 *, size_t, event_t);
12516 event_t __ovld async_work_group_copy(__local long16 *, const __global long16 *, size_t, event_t);
12517 event_t __ovld async_work_group_copy(__local ulong16 *, const __global ulong16 *, size_t, event_t);
12518 event_t __ovld async_work_group_copy(__local float16 *, const __global float16 *, size_t, event_t);
12519 event_t __ovld async_work_group_copy(__global char *, const __local char *, size_t, event_t);
12520 event_t __ovld async_work_group_copy(__global uchar *, const __local uchar *, size_t, event_t);
12521 event_t __ovld async_work_group_copy(__global short *, const __local short *, size_t, event_t);
12522 event_t __ovld async_work_group_copy(__global ushort *, const __local ushort *, size_t, event_t);
12523 event_t __ovld async_work_group_copy(__global int *, const __local int *, size_t, event_t);
12524 event_t __ovld async_work_group_copy(__global uint *, const __local uint *, size_t, event_t);
12525 event_t __ovld async_work_group_copy(__global long *, const __local long *, size_t, event_t);
12526 event_t __ovld async_work_group_copy(__global ulong *, const __local ulong *, size_t, event_t);
12527 event_t __ovld async_work_group_copy(__global float *, const __local float *, size_t, event_t);
12528 event_t __ovld async_work_group_copy(__global char2 *, const __local char2 *, size_t, event_t);
12529 event_t __ovld async_work_group_copy(__global uchar2 *, const __local uchar2 *, size_t, event_t);
12530 event_t __ovld async_work_group_copy(__global short2 *, const __local short2 *, size_t, event_t);
12531 event_t __ovld async_work_group_copy(__global ushort2 *, const __local ushort2 *, size_t, event_t);
12532 event_t __ovld async_work_group_copy(__global int2 *, const __local int2 *, size_t, event_t);
12533 event_t __ovld async_work_group_copy(__global uint2 *, const __local uint2 *, size_t, event_t);
12534 event_t __ovld async_work_group_copy(__global long2 *, const __local long2 *, size_t, event_t);
12535 event_t __ovld async_work_group_copy(__global ulong2 *, const __local ulong2 *, size_t, event_t);
12536 event_t __ovld async_work_group_copy(__global float2 *, const __local float2 *, size_t, event_t);
12537 event_t __ovld async_work_group_copy(__global char3 *, const __local char3 *, size_t, event_t);
12538 event_t __ovld async_work_group_copy(__global uchar3 *, const __local uchar3 *, size_t, event_t);
12539 event_t __ovld async_work_group_copy(__global short3 *, const __local short3 *, size_t, event_t);
12540 event_t __ovld async_work_group_copy(__global ushort3 *, const __local ushort3 *, size_t, event_t);
12541 event_t __ovld async_work_group_copy(__global int3 *, const __local int3 *, size_t, event_t);
12542 event_t __ovld async_work_group_copy(__global uint3 *, const __local uint3 *, size_t, event_t);
12543 event_t __ovld async_work_group_copy(__global long3 *, const __local long3 *, size_t, event_t);
12544 event_t __ovld async_work_group_copy(__global ulong3 *, const __local ulong3 *, size_t, event_t);
12545 event_t __ovld async_work_group_copy(__global float3 *, const __local float3 *, size_t, event_t);
12546 event_t __ovld async_work_group_copy(__global char4 *, const __local char4 *, size_t, event_t);
12547 event_t __ovld async_work_group_copy(__global uchar4 *, const __local uchar4 *, size_t, event_t);
12548 event_t __ovld async_work_group_copy(__global short4 *, const __local short4 *, size_t, event_t);
12549 event_t __ovld async_work_group_copy(__global ushort4 *, const __local ushort4 *, size_t, event_t);
12550 event_t __ovld async_work_group_copy(__global int4 *, const __local int4 *, size_t, event_t);
12551 event_t __ovld async_work_group_copy(__global uint4 *, const __local uint4 *, size_t, event_t);
12552 event_t __ovld async_work_group_copy(__global long4 *, const __local long4 *, size_t, event_t);
12553 event_t __ovld async_work_group_copy(__global ulong4 *, const __local ulong4 *, size_t, event_t);
12554 event_t __ovld async_work_group_copy(__global float4 *, const __local float4 *, size_t, event_t);
12555 event_t __ovld async_work_group_copy(__global char8 *, const __local char8 *, size_t, event_t);
12556 event_t __ovld async_work_group_copy(__global uchar8 *, const __local uchar8 *, size_t, event_t);
12557 event_t __ovld async_work_group_copy(__global short8 *, const __local short8 *, size_t, event_t);
12558 event_t __ovld async_work_group_copy(__global ushort8 *, const __local ushort8 *, size_t, event_t);
12559 event_t __ovld async_work_group_copy(__global int8 *, const __local int8 *, size_t, event_t);
12560 event_t __ovld async_work_group_copy(__global uint8 *, const __local uint8 *, size_t, event_t);
12561 event_t __ovld async_work_group_copy(__global long8 *, const __local long8 *, size_t, event_t);
12562 event_t __ovld async_work_group_copy(__global ulong8 *, const __local ulong8 *, size_t, event_t);
12563 event_t __ovld async_work_group_copy(__global float8 *, const __local float8 *, size_t, event_t);
12564 event_t __ovld async_work_group_copy(__global char16 *, const __local char16 *, size_t, event_t);
12565 event_t __ovld async_work_group_copy(__global uchar16 *, const __local uchar16 *, size_t, event_t);
12566 event_t __ovld async_work_group_copy(__global short16 *, const __local short16 *, size_t, event_t);
12567 event_t __ovld async_work_group_copy(__global ushort16 *, const __local ushort16 *, size_t, event_t);
12568 event_t __ovld async_work_group_copy(__global int16 *, const __local int16 *, size_t, event_t);
12569 event_t __ovld async_work_group_copy(__global uint16 *, const __local uint16 *, size_t, event_t);
12570 event_t __ovld async_work_group_copy(__global long16 *, const __local long16 *, size_t, event_t);
12571 event_t __ovld async_work_group_copy(__global ulong16 *, const __local ulong16 *, size_t, event_t);
12572 event_t __ovld async_work_group_copy(__global float16 *, const __local float16 *, size_t, event_t);
12573 #ifdef cl_khr_fp64
12574 event_t __ovld async_work_group_copy(__local double *, const __global double *, size_t, event_t);
12575 event_t __ovld async_work_group_copy(__local double2 *, const __global double2 *, size_t, event_t);
12576 event_t __ovld async_work_group_copy(__local double3 *, const __global double3 *, size_t, event_t);
12577 event_t __ovld async_work_group_copy(__local double4 *, const __global double4 *, size_t, event_t);
12578 event_t __ovld async_work_group_copy(__local double8 *, const __global double8 *, size_t, event_t);
12579 event_t __ovld async_work_group_copy(__local double16 *, const __global double16 *, size_t, event_t);
12580 event_t __ovld async_work_group_copy(__global double *, const __local double *, size_t, event_t);
12581 event_t __ovld async_work_group_copy(__global double2 *, const __local double2 *, size_t, event_t);
12582 event_t __ovld async_work_group_copy(__global double3 *, const __local double3 *, size_t, event_t);
12583 event_t __ovld async_work_group_copy(__global double4 *, const __local double4 *, size_t, event_t);
12584 event_t __ovld async_work_group_copy(__global double8 *, const __local double8 *, size_t, event_t);
12585 event_t __ovld async_work_group_copy(__global double16 *, const __local double16 *, size_t, event_t);
12586 #endif //cl_khr_fp64
12587 #ifdef cl_khr_fp16
12588 event_t __ovld async_work_group_copy(__local half *, const __global half *, size_t, event_t);
12589 event_t __ovld async_work_group_copy(__local half2 *, const __global half2 *, size_t, event_t);
12590 event_t __ovld async_work_group_copy(__local half3 *, const __global half3 *, size_t, event_t);
12591 event_t __ovld async_work_group_copy(__local half4 *, const __global half4 *, size_t, event_t);
12592 event_t __ovld async_work_group_copy(__local half8 *, const __global half8 *, size_t, event_t);
12593 event_t __ovld async_work_group_copy(__local half16 *, const __global half16 *, size_t, event_t);
12594 event_t __ovld async_work_group_copy(__global half *, const __local half *, size_t, event_t);
12595 event_t __ovld async_work_group_copy(__global half2 *, const __local half2 *, size_t, event_t);
12596 event_t __ovld async_work_group_copy(__global half3 *, const __local half3 *, size_t, event_t);
12597 event_t __ovld async_work_group_copy(__global half4 *, const __local half4 *, size_t, event_t);
12598 event_t __ovld async_work_group_copy(__global half8 *, const __local half8 *, size_t, event_t);
12599 event_t __ovld async_work_group_copy(__global half16 *, const __local half16 *, size_t, event_t);
12600 #endif //cl_khr_fp16
12603 * Perform an async gather of num_elements
12604 * gentype elements from src to dst. The
12605 * src_stride is the stride in elements for each
12606 * gentype element read from src. The dst_stride
12607 * is the stride in elements for each gentype
12608 * element written to dst. The async gather is
12609 * performed by all work-items in a work-group.
12610 * This built-in function must therefore be
12611 * encountered by all work-items in a work-group
12612 * executing the kernel with the same argument
12613 * values; otherwise the results are undefined.
12614 * Returns an event object that can be used by
12615 * wait_group_events to wait for the async copy
12616 * to finish. The event argument can also be used
12617 * to associate the
12618 * async_work_group_strided_copy with a
12619 * previous async copy allowing an event to be
12620 * shared by multiple async copies; otherwise event
12621 * should be zero.
12622 * If event argument is non-zero, the event object
12623 * supplied in event argument will be returned.
12624 * This function does not perform any implicit
12625 * synchronization of source data such as using a
12626 * barrier before performing the copy.
12628 event_t __ovld async_work_group_strided_copy(__local char *, const __global char *, size_t, size_t, event_t);
12629 event_t __ovld async_work_group_strided_copy(__local uchar *, const __global uchar *, size_t, size_t, event_t);
12630 event_t __ovld async_work_group_strided_copy(__local short *, const __global short *, size_t, size_t, event_t);
12631 event_t __ovld async_work_group_strided_copy(__local ushort *, const __global ushort *, size_t, size_t, event_t);
12632 event_t __ovld async_work_group_strided_copy(__local int *, const __global int *, size_t, size_t, event_t);
12633 event_t __ovld async_work_group_strided_copy(__local uint *, const __global uint *, size_t, size_t, event_t);
12634 event_t __ovld async_work_group_strided_copy(__local long *, const __global long *, size_t, size_t, event_t);
12635 event_t __ovld async_work_group_strided_copy(__local ulong *, const __global ulong *, size_t, size_t, event_t);
12636 event_t __ovld async_work_group_strided_copy(__local float *, const __global float *, size_t, size_t, event_t);
12637 event_t __ovld async_work_group_strided_copy(__local char2 *, const __global char2 *, size_t, size_t, event_t);
12638 event_t __ovld async_work_group_strided_copy(__local uchar2 *, const __global uchar2 *, size_t, size_t, event_t);
12639 event_t __ovld async_work_group_strided_copy(__local short2 *, const __global short2 *, size_t, size_t, event_t);
12640 event_t __ovld async_work_group_strided_copy(__local ushort2 *, const __global ushort2 *, size_t, size_t, event_t);
12641 event_t __ovld async_work_group_strided_copy(__local int2 *, const __global int2 *, size_t, size_t, event_t);
12642 event_t __ovld async_work_group_strided_copy(__local uint2 *, const __global uint2 *, size_t, size_t, event_t);
12643 event_t __ovld async_work_group_strided_copy(__local long2 *, const __global long2 *, size_t, size_t, event_t);
12644 event_t __ovld async_work_group_strided_copy(__local ulong2 *, const __global ulong2 *, size_t, size_t, event_t);
12645 event_t __ovld async_work_group_strided_copy(__local float2 *, const __global float2 *, size_t, size_t, event_t);
12646 event_t __ovld async_work_group_strided_copy(__local char3 *, const __global char3 *, size_t, size_t, event_t);
12647 event_t __ovld async_work_group_strided_copy(__local uchar3 *, const __global uchar3 *, size_t, size_t, event_t);
12648 event_t __ovld async_work_group_strided_copy(__local short3 *, const __global short3 *, size_t, size_t, event_t);
12649 event_t __ovld async_work_group_strided_copy(__local ushort3 *, const __global ushort3 *, size_t, size_t, event_t);
12650 event_t __ovld async_work_group_strided_copy(__local int3 *, const __global int3 *, size_t, size_t, event_t);
12651 event_t __ovld async_work_group_strided_copy(__local uint3 *, const __global uint3 *, size_t, size_t, event_t);
12652 event_t __ovld async_work_group_strided_copy(__local long3 *, const __global long3 *, size_t, size_t, event_t);
12653 event_t __ovld async_work_group_strided_copy(__local ulong3 *, const __global ulong3 *, size_t, size_t, event_t);
12654 event_t __ovld async_work_group_strided_copy(__local float3 *, const __global float3 *, size_t, size_t, event_t);
12655 event_t __ovld async_work_group_strided_copy(__local char4 *, const __global char4 *, size_t, size_t, event_t);
12656 event_t __ovld async_work_group_strided_copy(__local uchar4 *, const __global uchar4 *, size_t, size_t, event_t);
12657 event_t __ovld async_work_group_strided_copy(__local short4 *, const __global short4 *, size_t, size_t, event_t);
12658 event_t __ovld async_work_group_strided_copy(__local ushort4 *, const __global ushort4 *, size_t, size_t, event_t);
12659 event_t __ovld async_work_group_strided_copy(__local int4 *, const __global int4 *, size_t, size_t, event_t);
12660 event_t __ovld async_work_group_strided_copy(__local uint4 *, const __global uint4 *, size_t, size_t, event_t);
12661 event_t __ovld async_work_group_strided_copy(__local long4 *, const __global long4 *, size_t, size_t, event_t);
12662 event_t __ovld async_work_group_strided_copy(__local ulong4 *, const __global ulong4 *, size_t, size_t, event_t);
12663 event_t __ovld async_work_group_strided_copy(__local float4 *, const __global float4 *, size_t, size_t, event_t);
12664 event_t __ovld async_work_group_strided_copy(__local char8 *, const __global char8 *, size_t, size_t, event_t);
12665 event_t __ovld async_work_group_strided_copy(__local uchar8 *, const __global uchar8 *, size_t, size_t, event_t);
12666 event_t __ovld async_work_group_strided_copy(__local short8 *, const __global short8 *, size_t, size_t, event_t);
12667 event_t __ovld async_work_group_strided_copy(__local ushort8 *, const __global ushort8 *, size_t, size_t, event_t);
12668 event_t __ovld async_work_group_strided_copy(__local int8 *, const __global int8 *, size_t, size_t, event_t);
12669 event_t __ovld async_work_group_strided_copy(__local uint8 *, const __global uint8 *, size_t, size_t, event_t);
12670 event_t __ovld async_work_group_strided_copy(__local long8 *, const __global long8 *, size_t, size_t, event_t);
12671 event_t __ovld async_work_group_strided_copy(__local ulong8 *, const __global ulong8 *, size_t, size_t, event_t);
12672 event_t __ovld async_work_group_strided_copy(__local float8 *, const __global float8 *, size_t, size_t, event_t);
12673 event_t __ovld async_work_group_strided_copy(__local char16 *, const __global char16 *, size_t, size_t, event_t);
12674 event_t __ovld async_work_group_strided_copy(__local uchar16 *, const __global uchar16 *, size_t, size_t, event_t);
12675 event_t __ovld async_work_group_strided_copy(__local short16 *, const __global short16 *, size_t, size_t, event_t);
12676 event_t __ovld async_work_group_strided_copy(__local ushort16 *, const __global ushort16 *, size_t, size_t, event_t);
12677 event_t __ovld async_work_group_strided_copy(__local int16 *, const __global int16 *, size_t, size_t, event_t);
12678 event_t __ovld async_work_group_strided_copy(__local uint16 *, const __global uint16 *, size_t, size_t, event_t);
12679 event_t __ovld async_work_group_strided_copy(__local long16 *, const __global long16 *, size_t, size_t, event_t);
12680 event_t __ovld async_work_group_strided_copy(__local ulong16 *, const __global ulong16 *, size_t, size_t, event_t);
12681 event_t __ovld async_work_group_strided_copy(__local float16 *, const __global float16 *, size_t, size_t, event_t);
12682 event_t __ovld async_work_group_strided_copy(__global char *, const __local char *, size_t, size_t, event_t);
12683 event_t __ovld async_work_group_strided_copy(__global uchar *, const __local uchar *, size_t, size_t, event_t);
12684 event_t __ovld async_work_group_strided_copy(__global short *, const __local short *, size_t, size_t, event_t);
12685 event_t __ovld async_work_group_strided_copy(__global ushort *, const __local ushort *, size_t, size_t, event_t);
12686 event_t __ovld async_work_group_strided_copy(__global int *, const __local int *, size_t, size_t, event_t);
12687 event_t __ovld async_work_group_strided_copy(__global uint *, const __local uint *, size_t, size_t, event_t);
12688 event_t __ovld async_work_group_strided_copy(__global long *, const __local long *, size_t, size_t, event_t);
12689 event_t __ovld async_work_group_strided_copy(__global ulong *, const __local ulong *, size_t, size_t, event_t);
12690 event_t __ovld async_work_group_strided_copy(__global float *, const __local float *, size_t, size_t, event_t);
12691 event_t __ovld async_work_group_strided_copy(__global char2 *, const __local char2 *, size_t, size_t, event_t);
12692 event_t __ovld async_work_group_strided_copy(__global uchar2 *, const __local uchar2 *, size_t, size_t, event_t);
12693 event_t __ovld async_work_group_strided_copy(__global short2 *, const __local short2 *, size_t, size_t, event_t);
12694 event_t __ovld async_work_group_strided_copy(__global ushort2 *, const __local ushort2 *, size_t, size_t, event_t);
12695 event_t __ovld async_work_group_strided_copy(__global int2 *, const __local int2 *, size_t, size_t, event_t);
12696 event_t __ovld async_work_group_strided_copy(__global uint2 *, const __local uint2 *, size_t, size_t, event_t);
12697 event_t __ovld async_work_group_strided_copy(__global long2 *, const __local long2 *, size_t, size_t, event_t);
12698 event_t __ovld async_work_group_strided_copy(__global ulong2 *, const __local ulong2 *, size_t, size_t, event_t);
12699 event_t __ovld async_work_group_strided_copy(__global float2 *, const __local float2 *, size_t, size_t, event_t);
12700 event_t __ovld async_work_group_strided_copy(__global char3 *, const __local char3 *, size_t, size_t, event_t);
12701 event_t __ovld async_work_group_strided_copy(__global uchar3 *, const __local uchar3 *, size_t, size_t, event_t);
12702 event_t __ovld async_work_group_strided_copy(__global short3 *, const __local short3 *, size_t, size_t, event_t);
12703 event_t __ovld async_work_group_strided_copy(__global ushort3 *, const __local ushort3 *, size_t, size_t, event_t);
12704 event_t __ovld async_work_group_strided_copy(__global int3 *, const __local int3 *, size_t, size_t, event_t);
12705 event_t __ovld async_work_group_strided_copy(__global uint3 *, const __local uint3 *, size_t, size_t, event_t);
12706 event_t __ovld async_work_group_strided_copy(__global long3 *, const __local long3 *, size_t, size_t, event_t);
12707 event_t __ovld async_work_group_strided_copy(__global ulong3 *, const __local ulong3 *, size_t, size_t, event_t);
12708 event_t __ovld async_work_group_strided_copy(__global float3 *, const __local float3 *, size_t, size_t, event_t);
12709 event_t __ovld async_work_group_strided_copy(__global char4 *, const __local char4 *, size_t, size_t, event_t);
12710 event_t __ovld async_work_group_strided_copy(__global uchar4 *, const __local uchar4 *, size_t, size_t, event_t);
12711 event_t __ovld async_work_group_strided_copy(__global short4 *, const __local short4 *, size_t, size_t, event_t);
12712 event_t __ovld async_work_group_strided_copy(__global ushort4 *, const __local ushort4 *, size_t, size_t, event_t);
12713 event_t __ovld async_work_group_strided_copy(__global int4 *, const __local int4 *, size_t, size_t, event_t);
12714 event_t __ovld async_work_group_strided_copy(__global uint4 *, const __local uint4 *, size_t, size_t, event_t);
12715 event_t __ovld async_work_group_strided_copy(__global long4 *, const __local long4 *, size_t, size_t, event_t);
12716 event_t __ovld async_work_group_strided_copy(__global ulong4 *, const __local ulong4 *, size_t, size_t, event_t);
12717 event_t __ovld async_work_group_strided_copy(__global float4 *, const __local float4 *, size_t, size_t, event_t);
12718 event_t __ovld async_work_group_strided_copy(__global char8 *, const __local char8 *, size_t, size_t, event_t);
12719 event_t __ovld async_work_group_strided_copy(__global uchar8 *, const __local uchar8 *, size_t, size_t, event_t);
12720 event_t __ovld async_work_group_strided_copy(__global short8 *, const __local short8 *, size_t, size_t, event_t);
12721 event_t __ovld async_work_group_strided_copy(__global ushort8 *, const __local ushort8 *, size_t, size_t, event_t);
12722 event_t __ovld async_work_group_strided_copy(__global int8 *, const __local int8 *, size_t, size_t, event_t);
12723 event_t __ovld async_work_group_strided_copy(__global uint8 *, const __local uint8 *, size_t, size_t, event_t);
12724 event_t __ovld async_work_group_strided_copy(__global long8 *, const __local long8 *, size_t, size_t, event_t);
12725 event_t __ovld async_work_group_strided_copy(__global ulong8 *, const __local ulong8 *, size_t, size_t, event_t);
12726 event_t __ovld async_work_group_strided_copy(__global float8 *, const __local float8 *, size_t, size_t, event_t);
12727 event_t __ovld async_work_group_strided_copy(__global char16 *, const __local char16 *, size_t, size_t, event_t);
12728 event_t __ovld async_work_group_strided_copy(__global uchar16 *, const __local uchar16 *, size_t, size_t, event_t);
12729 event_t __ovld async_work_group_strided_copy(__global short16 *, const __local short16 *, size_t, size_t, event_t);
12730 event_t __ovld async_work_group_strided_copy(__global ushort16 *, const __local ushort16 *, size_t, size_t, event_t);
12731 event_t __ovld async_work_group_strided_copy(__global int16 *, const __local int16 *, size_t, size_t, event_t);
12732 event_t __ovld async_work_group_strided_copy(__global uint16 *, const __local uint16 *, size_t, size_t, event_t);
12733 event_t __ovld async_work_group_strided_copy(__global long16 *, const __local long16 *, size_t, size_t, event_t);
12734 event_t __ovld async_work_group_strided_copy(__global ulong16 *, const __local ulong16 *, size_t, size_t, event_t);
12735 event_t __ovld async_work_group_strided_copy(__global float16 *, const __local float16 *, size_t, size_t, event_t);
12736 #ifdef cl_khr_fp64
12737 event_t __ovld async_work_group_strided_copy(__local double *, const __global double *, size_t, size_t, event_t);
12738 event_t __ovld async_work_group_strided_copy(__local double2 *, const __global double2 *, size_t, size_t, event_t);
12739 event_t __ovld async_work_group_strided_copy(__local double3 *, const __global double3 *, size_t, size_t, event_t);
12740 event_t __ovld async_work_group_strided_copy(__local double4 *, const __global double4 *, size_t, size_t, event_t);
12741 event_t __ovld async_work_group_strided_copy(__local double8 *, const __global double8 *, size_t, size_t, event_t);
12742 event_t __ovld async_work_group_strided_copy(__local double16 *, const __global double16 *, size_t, size_t, event_t);
12743 event_t __ovld async_work_group_strided_copy(__global double *, const __local double *, size_t, size_t, event_t);
12744 event_t __ovld async_work_group_strided_copy(__global double2 *, const __local double2 *, size_t, size_t, event_t);
12745 event_t __ovld async_work_group_strided_copy(__global double3 *, const __local double3 *, size_t, size_t, event_t);
12746 event_t __ovld async_work_group_strided_copy(__global double4 *, const __local double4 *, size_t, size_t, event_t);
12747 event_t __ovld async_work_group_strided_copy(__global double8 *, const __local double8 *, size_t, size_t, event_t);
12748 event_t __ovld async_work_group_strided_copy(__global double16 *, const __local double16 *, size_t, size_t, event_t);
12749 #endif //cl_khr_fp64
12750 #ifdef cl_khr_fp16
12751 event_t __ovld async_work_group_strided_copy(__local half *, const __global half *, size_t, size_t, event_t);
12752 event_t __ovld async_work_group_strided_copy(__local half2 *, const __global half2 *, size_t, size_t, event_t);
12753 event_t __ovld async_work_group_strided_copy(__local half3 *, const __global half3 *, size_t, size_t, event_t);
12754 event_t __ovld async_work_group_strided_copy(__local half4 *, const __global half4 *, size_t, size_t, event_t);
12755 event_t __ovld async_work_group_strided_copy(__local half8 *, const __global half8 *, size_t, size_t, event_t);
12756 event_t __ovld async_work_group_strided_copy(__local half16 *, const __global half16 *, size_t, size_t, event_t);
12757 event_t __ovld async_work_group_strided_copy(__global half *, const __local half *, size_t, size_t, event_t);
12758 event_t __ovld async_work_group_strided_copy(__global half2 *, const __local half2 *, size_t, size_t, event_t);
12759 event_t __ovld async_work_group_strided_copy(__global half3 *, const __local half3 *, size_t, size_t, event_t);
12760 event_t __ovld async_work_group_strided_copy(__global half4 *, const __local half4 *, size_t, size_t, event_t);
12761 event_t __ovld async_work_group_strided_copy(__global half8 *, const __local half8 *, size_t, size_t, event_t);
12762 event_t __ovld async_work_group_strided_copy(__global half16 *, const __local half16 *, size_t, size_t, event_t);
12763 #endif //cl_khr_fp16
12766 * Wait for events that identify the
12767 * async_work_group_copy operations to
12768 * complete. The event objects specified in
12769 * event_list will be released after the wait is
12770 * performed.
12771 * This function must be encountered by all workitems
12772 * in a work-group executing the kernel with
12773 * the same num_events and event objects specified
12774 * in event_list; otherwise the results are undefined.
12776 void __ovld wait_group_events(int, event_t *);
12779 * Prefetch num_elements * sizeof(gentype)
12780 * bytes into the global cache. The prefetch
12781 * instruction is applied to a work-item in a workgroup
12782 * and does not affect the functional
12783 * behavior of the kernel.
12785 void __ovld prefetch(const __global char *, size_t);
12786 void __ovld prefetch(const __global uchar *, size_t);
12787 void __ovld prefetch(const __global short *, size_t);
12788 void __ovld prefetch(const __global ushort *, size_t);
12789 void __ovld prefetch(const __global int *, size_t);
12790 void __ovld prefetch(const __global uint *, size_t);
12791 void __ovld prefetch(const __global long *, size_t);
12792 void __ovld prefetch(const __global ulong *, size_t);
12793 void __ovld prefetch(const __global float *, size_t);
12794 void __ovld prefetch(const __global char2 *, size_t);
12795 void __ovld prefetch(const __global uchar2 *, size_t);
12796 void __ovld prefetch(const __global short2 *, size_t);
12797 void __ovld prefetch(const __global ushort2 *, size_t);
12798 void __ovld prefetch(const __global int2 *, size_t);
12799 void __ovld prefetch(const __global uint2 *, size_t);
12800 void __ovld prefetch(const __global long2 *, size_t);
12801 void __ovld prefetch(const __global ulong2 *, size_t);
12802 void __ovld prefetch(const __global float2 *, size_t);
12803 void __ovld prefetch(const __global char3 *, size_t);
12804 void __ovld prefetch(const __global uchar3 *, size_t);
12805 void __ovld prefetch(const __global short3 *, size_t);
12806 void __ovld prefetch(const __global ushort3 *, size_t);
12807 void __ovld prefetch(const __global int3 *, size_t);
12808 void __ovld prefetch(const __global uint3 *, size_t);
12809 void __ovld prefetch(const __global long3 *, size_t);
12810 void __ovld prefetch(const __global ulong3 *, size_t);
12811 void __ovld prefetch(const __global float3 *, size_t);
12812 void __ovld prefetch(const __global char4 *, size_t);
12813 void __ovld prefetch(const __global uchar4 *, size_t);
12814 void __ovld prefetch(const __global short4 *, size_t);
12815 void __ovld prefetch(const __global ushort4 *, size_t);
12816 void __ovld prefetch(const __global int4 *, size_t);
12817 void __ovld prefetch(const __global uint4 *, size_t);
12818 void __ovld prefetch(const __global long4 *, size_t);
12819 void __ovld prefetch(const __global ulong4 *, size_t);
12820 void __ovld prefetch(const __global float4 *, size_t);
12821 void __ovld prefetch(const __global char8 *, size_t);
12822 void __ovld prefetch(const __global uchar8 *, size_t);
12823 void __ovld prefetch(const __global short8 *, size_t);
12824 void __ovld prefetch(const __global ushort8 *, size_t);
12825 void __ovld prefetch(const __global int8 *, size_t);
12826 void __ovld prefetch(const __global uint8 *, size_t);
12827 void __ovld prefetch(const __global long8 *, size_t);
12828 void __ovld prefetch(const __global ulong8 *, size_t);
12829 void __ovld prefetch(const __global float8 *, size_t);
12830 void __ovld prefetch(const __global char16 *, size_t);
12831 void __ovld prefetch(const __global uchar16 *, size_t);
12832 void __ovld prefetch(const __global short16 *, size_t);
12833 void __ovld prefetch(const __global ushort16 *, size_t);
12834 void __ovld prefetch(const __global int16 *, size_t);
12835 void __ovld prefetch(const __global uint16 *, size_t);
12836 void __ovld prefetch(const __global long16 *, size_t);
12837 void __ovld prefetch(const __global ulong16 *, size_t);
12838 void __ovld prefetch(const __global float16 *, size_t);
12839 #ifdef cl_khr_fp64
12840 void __ovld prefetch(const __global double *, size_t);
12841 void __ovld prefetch(const __global double2 *, size_t);
12842 void __ovld prefetch(const __global double3 *, size_t);
12843 void __ovld prefetch(const __global double4 *, size_t);
12844 void __ovld prefetch(const __global double8 *, size_t);
12845 void __ovld prefetch(const __global double16 *, size_t);
12846 #endif //cl_khr_fp64
12847 #ifdef cl_khr_fp16
12848 void __ovld prefetch(const __global half *, size_t);
12849 void __ovld prefetch(const __global half2 *, size_t);
12850 void __ovld prefetch(const __global half3 *, size_t);
12851 void __ovld prefetch(const __global half4 *, size_t);
12852 void __ovld prefetch(const __global half8 *, size_t);
12853 void __ovld prefetch(const __global half16 *, size_t);
12854 #endif // cl_khr_fp16
12856 // OpenCL v1.1 s6.11.1, v1.2 s6.12.11 - Atomic Functions
12858 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
12859 #pragma OPENCL EXTENSION cl_khr_int64_base_atomics : enable
12860 #pragma OPENCL EXTENSION cl_khr_int64_extended_atomics : enable
12861 #endif
12863 * Read the 32-bit value (referred to as old)
12864 * stored at location pointed by p. Compute
12865 * (old + val) and store result at location
12866 * pointed by p. The function returns old.
12868 int __ovld atomic_add(volatile __global int *, int);
12869 uint __ovld atomic_add(volatile __global uint *, uint);
12870 int __ovld atomic_add(volatile __local int *, int);
12871 uint __ovld atomic_add(volatile __local uint *, uint);
12872 #ifdef __OPENCL_CPP_VERSION__
12873 int __ovld atomic_add(volatile int *, int);
12874 uint __ovld atomic_add(volatile uint *, uint);
12875 #endif
12877 #if defined(cl_khr_global_int32_base_atomics)
12878 int __ovld atom_add(volatile __global int *, int);
12879 uint __ovld atom_add(volatile __global uint *, uint);
12880 #endif
12881 #if defined(cl_khr_local_int32_base_atomics)
12882 int __ovld atom_add(volatile __local int *, int);
12883 uint __ovld atom_add(volatile __local uint *, uint);
12884 #endif
12886 #if defined(cl_khr_int64_base_atomics)
12887 long __ovld atom_add(volatile __global long *, long);
12888 ulong __ovld atom_add(volatile __global ulong *, ulong);
12889 long __ovld atom_add(volatile __local long *, long);
12890 ulong __ovld atom_add(volatile __local ulong *, ulong);
12891 #endif
12894 * Read the 32-bit value (referred to as old) stored at location pointed by p.
12895 * Compute (old - val) and store result at location pointed by p. The function
12896 * returns old.
12898 int __ovld atomic_sub(volatile __global int *, int);
12899 uint __ovld atomic_sub(volatile __global uint *, uint);
12900 int __ovld atomic_sub(volatile __local int *, int);
12901 uint __ovld atomic_sub(volatile __local uint *, uint);
12902 #ifdef __OPENCL_CPP_VERSION__
12903 int __ovld atomic_sub(volatile int *, int);
12904 uint __ovld atomic_sub(volatile uint *, uint);
12905 #endif
12907 #if defined(cl_khr_global_int32_base_atomics)
12908 int __ovld atom_sub(volatile __global int *, int);
12909 uint __ovld atom_sub(volatile __global uint *, uint);
12910 #endif
12911 #if defined(cl_khr_local_int32_base_atomics)
12912 int __ovld atom_sub(volatile __local int *, int);
12913 uint __ovld atom_sub(volatile __local uint *, uint);
12914 #endif
12916 #if defined(cl_khr_int64_base_atomics)
12917 long __ovld atom_sub(volatile __global long *, long);
12918 ulong __ovld atom_sub(volatile __global ulong *, ulong);
12919 long __ovld atom_sub(volatile __local long *, long);
12920 ulong __ovld atom_sub(volatile __local ulong *, ulong);
12921 #endif
12924 * Swaps the old value stored at location p
12925 * with new value given by val. Returns old
12926 * value.
12928 int __ovld atomic_xchg(volatile __global int *, int);
12929 uint __ovld atomic_xchg(volatile __global uint *, uint);
12930 int __ovld atomic_xchg(volatile __local int *, int);
12931 uint __ovld atomic_xchg(volatile __local uint *, uint);
12932 float __ovld atomic_xchg(volatile __global float *, float);
12933 float __ovld atomic_xchg(volatile __local float *, float);
12934 #ifdef __OPENCL_CPP_VERSION__
12935 int __ovld atomic_xchg(volatile int *, int);
12936 uint __ovld atomic_xchg(volatile uint *, uint);
12937 float __ovld atomic_xchg(volatile float *, float);
12938 #endif
12940 #if defined(cl_khr_global_int32_base_atomics)
12941 int __ovld atom_xchg(volatile __global int *, int);
12942 uint __ovld atom_xchg(volatile __global uint *, uint);
12943 #endif
12944 #if defined(cl_khr_local_int32_base_atomics)
12945 int __ovld atom_xchg(volatile __local int *, int);
12946 uint __ovld atom_xchg(volatile __local uint *, uint);
12947 #endif
12949 #if defined(cl_khr_int64_base_atomics)
12950 long __ovld atom_xchg(volatile __global long *, long);
12951 long __ovld atom_xchg(volatile __local long *, long);
12952 ulong __ovld atom_xchg(volatile __global ulong *, ulong);
12953 ulong __ovld atom_xchg(volatile __local ulong *, ulong);
12954 #endif
12957 * Read the 32-bit value (referred to as old)
12958 * stored at location pointed by p. Compute
12959 * (old + 1) and store result at location
12960 * pointed by p. The function returns old.
12962 int __ovld atomic_inc(volatile __global int *);
12963 uint __ovld atomic_inc(volatile __global uint *);
12964 int __ovld atomic_inc(volatile __local int *);
12965 uint __ovld atomic_inc(volatile __local uint *);
12966 #ifdef __OPENCL_CPP_VERSION__
12967 int __ovld atomic_inc(volatile int *);
12968 uint __ovld atomic_inc(volatile uint *);
12969 #endif
12971 #if defined(cl_khr_global_int32_base_atomics)
12972 int __ovld atom_inc(volatile __global int *);
12973 uint __ovld atom_inc(volatile __global uint *);
12974 #endif
12975 #if defined(cl_khr_local_int32_base_atomics)
12976 int __ovld atom_inc(volatile __local int *);
12977 uint __ovld atom_inc(volatile __local uint *);
12978 #endif
12980 #if defined(cl_khr_int64_base_atomics)
12981 long __ovld atom_inc(volatile __global long *);
12982 ulong __ovld atom_inc(volatile __global ulong *);
12983 long __ovld atom_inc(volatile __local long *);
12984 ulong __ovld atom_inc(volatile __local ulong *);
12985 #endif
12988 * Read the 32-bit value (referred to as old)
12989 * stored at location pointed by p. Compute
12990 * (old - 1) and store result at location
12991 * pointed by p. The function returns old.
12993 int __ovld atomic_dec(volatile __global int *);
12994 uint __ovld atomic_dec(volatile __global uint *);
12995 int __ovld atomic_dec(volatile __local int *);
12996 uint __ovld atomic_dec(volatile __local uint *);
12997 #ifdef __OPENCL_CPP_VERSION__
12998 int __ovld atomic_dec(volatile int *);
12999 uint __ovld atomic_dec(volatile uint *);
13000 #endif
13002 #if defined(cl_khr_global_int32_base_atomics)
13003 int __ovld atom_dec(volatile __global int *);
13004 uint __ovld atom_dec(volatile __global uint *);
13005 #endif
13006 #if defined(cl_khr_local_int32_base_atomics)
13007 int __ovld atom_dec(volatile __local int *);
13008 uint __ovld atom_dec(volatile __local uint *);
13009 #endif
13011 #if defined(cl_khr_int64_base_atomics)
13012 long __ovld atom_dec(volatile __global long *);
13013 ulong __ovld atom_dec(volatile __global ulong *);
13014 long __ovld atom_dec(volatile __local long *);
13015 ulong __ovld atom_dec(volatile __local ulong *);
13016 #endif
13019 * Read the 32-bit value (referred to as old)
13020 * stored at location pointed by p. Compute
13021 * (old == cmp) ? val : old and store result at
13022 * location pointed by p. The function
13023 * returns old.
13025 int __ovld atomic_cmpxchg(volatile __global int *, int, int);
13026 uint __ovld atomic_cmpxchg(volatile __global uint *, uint, uint);
13027 int __ovld atomic_cmpxchg(volatile __local int *, int, int);
13028 uint __ovld atomic_cmpxchg(volatile __local uint *, uint, uint);
13029 #ifdef __OPENCL_CPP_VERSION__
13030 int __ovld atomic_cmpxchg(volatile int *, int, int);
13031 uint __ovld atomic_cmpxchg(volatile uint *, uint, uint);
13032 #endif
13034 #if defined(cl_khr_global_int32_base_atomics)
13035 int __ovld atom_cmpxchg(volatile __global int *, int, int);
13036 uint __ovld atom_cmpxchg(volatile __global uint *, uint, uint);
13037 #endif
13038 #if defined(cl_khr_local_int32_base_atomics)
13039 int __ovld atom_cmpxchg(volatile __local int *, int, int);
13040 uint __ovld atom_cmpxchg(volatile __local uint *, uint, uint);
13041 #endif
13043 #if defined(cl_khr_int64_base_atomics)
13044 long __ovld atom_cmpxchg(volatile __global long *, long, long);
13045 ulong __ovld atom_cmpxchg(volatile __global ulong *, ulong, ulong);
13046 long __ovld atom_cmpxchg(volatile __local long *, long, long);
13047 ulong __ovld atom_cmpxchg(volatile __local ulong *, ulong, ulong);
13048 #endif
13051 * Read the 32-bit value (referred to as old)
13052 * stored at location pointed by p. Compute
13053 * min(old, val) and store minimum value at
13054 * location pointed by p. The function
13055 * returns old.
13057 int __ovld atomic_min(volatile __global int *, int);
13058 uint __ovld atomic_min(volatile __global uint *, uint);
13059 int __ovld atomic_min(volatile __local int *, int);
13060 uint __ovld atomic_min(volatile __local uint *, uint);
13061 #ifdef __OPENCL_CPP_VERSION__
13062 int __ovld atomic_min(volatile int *, int);
13063 uint __ovld atomic_min(volatile uint *, uint);
13064 #endif
13066 #if defined(cl_khr_global_int32_extended_atomics)
13067 int __ovld atom_min(volatile __global int *, int);
13068 uint __ovld atom_min(volatile __global uint *, uint);
13069 #endif
13070 #if defined(cl_khr_local_int32_extended_atomics)
13071 int __ovld atom_min(volatile __local int *, int);
13072 uint __ovld atom_min(volatile __local uint *, uint);
13073 #endif
13075 #if defined(cl_khr_int64_extended_atomics)
13076 long __ovld atom_min(volatile __global long *, long);
13077 ulong __ovld atom_min(volatile __global ulong *, ulong);
13078 long __ovld atom_min(volatile __local long *, long);
13079 ulong __ovld atom_min(volatile __local ulong *, ulong);
13080 #endif
13083 * Read the 32-bit value (referred to as old)
13084 * stored at location pointed by p. Compute
13085 * max(old, val) and store maximum value at
13086 * location pointed by p. The function
13087 * returns old.
13089 int __ovld atomic_max(volatile __global int *, int);
13090 uint __ovld atomic_max(volatile __global uint *, uint);
13091 int __ovld atomic_max(volatile __local int *, int);
13092 uint __ovld atomic_max(volatile __local uint *, uint);
13093 #ifdef __OPENCL_CPP_VERSION__
13094 int __ovld atomic_max(volatile int *, int);
13095 uint __ovld atomic_max(volatile uint *, uint);
13096 #endif
13098 #if defined(cl_khr_global_int32_extended_atomics)
13099 int __ovld atom_max(volatile __global int *, int);
13100 uint __ovld atom_max(volatile __global uint *, uint);
13101 #endif
13102 #if defined(cl_khr_local_int32_extended_atomics)
13103 int __ovld atom_max(volatile __local int *, int);
13104 uint __ovld atom_max(volatile __local uint *, uint);
13105 #endif
13107 #if defined(cl_khr_int64_extended_atomics)
13108 long __ovld atom_max(volatile __global long *, long);
13109 ulong __ovld atom_max(volatile __global ulong *, ulong);
13110 long __ovld atom_max(volatile __local long *, long);
13111 ulong __ovld atom_max(volatile __local ulong *, ulong);
13112 #endif
13115 * Read the 32-bit value (referred to as old)
13116 * stored at location pointed by p. Compute
13117 * (old & val) and store result at location
13118 * pointed by p. The function returns old.
13120 int __ovld atomic_and(volatile __global int *, int);
13121 uint __ovld atomic_and(volatile __global uint *, uint);
13122 int __ovld atomic_and(volatile __local int *, int);
13123 uint __ovld atomic_and(volatile __local uint *, uint);
13124 #ifdef __OPENCL_CPP_VERSION__
13125 int __ovld atomic_and(volatile int *, int);
13126 uint __ovld atomic_and(volatile uint *, uint);
13127 #endif
13129 #if defined(cl_khr_global_int32_extended_atomics)
13130 int __ovld atom_and(volatile __global int *, int);
13131 uint __ovld atom_and(volatile __global uint *, uint);
13132 #endif
13133 #if defined(cl_khr_local_int32_extended_atomics)
13134 int __ovld atom_and(volatile __local int *, int);
13135 uint __ovld atom_and(volatile __local uint *, uint);
13136 #endif
13138 #if defined(cl_khr_int64_extended_atomics)
13139 long __ovld atom_and(volatile __global long *, long);
13140 ulong __ovld atom_and(volatile __global ulong *, ulong);
13141 long __ovld atom_and(volatile __local long *, long);
13142 ulong __ovld atom_and(volatile __local ulong *, ulong);
13143 #endif
13146 * Read the 32-bit value (referred to as old)
13147 * stored at location pointed by p. Compute
13148 * (old | val) and store result at location
13149 * pointed by p. The function returns old.
13151 int __ovld atomic_or(volatile __global int *, int);
13152 uint __ovld atomic_or(volatile __global uint *, uint);
13153 int __ovld atomic_or(volatile __local int *, int);
13154 uint __ovld atomic_or(volatile __local uint *, uint);
13155 #ifdef __OPENCL_CPP_VERSION__
13156 int __ovld atomic_or(volatile int *, int);
13157 uint __ovld atomic_or(volatile uint *, uint);
13158 #endif
13160 #if defined(cl_khr_global_int32_extended_atomics)
13161 int __ovld atom_or(volatile __global int *, int);
13162 uint __ovld atom_or(volatile __global uint *, uint);
13163 #endif
13164 #if defined(cl_khr_local_int32_extended_atomics)
13165 int __ovld atom_or(volatile __local int *, int);
13166 uint __ovld atom_or(volatile __local uint *, uint);
13167 #endif
13169 #if defined(cl_khr_int64_extended_atomics)
13170 long __ovld atom_or(volatile __global long *, long);
13171 ulong __ovld atom_or(volatile __global ulong *, ulong);
13172 long __ovld atom_or(volatile __local long *, long);
13173 ulong __ovld atom_or(volatile __local ulong *, ulong);
13174 #endif
13177 * Read the 32-bit value (referred to as old)
13178 * stored at location pointed by p. Compute
13179 * (old ^ val) and store result at location
13180 * pointed by p. The function returns old.
13182 int __ovld atomic_xor(volatile __global int *, int);
13183 uint __ovld atomic_xor(volatile __global uint *, uint);
13184 int __ovld atomic_xor(volatile __local int *, int);
13185 uint __ovld atomic_xor(volatile __local uint *, uint);
13186 #ifdef __OPENCL_CPP_VERSION__
13187 int __ovld atomic_xor(volatile int *, int);
13188 uint __ovld atomic_xor(volatile uint *, uint);
13189 #endif
13191 #if defined(cl_khr_global_int32_extended_atomics)
13192 int __ovld atom_xor(volatile __global int *, int);
13193 uint __ovld atom_xor(volatile __global uint *, uint);
13194 #endif
13195 #if defined(cl_khr_local_int32_extended_atomics)
13196 int __ovld atom_xor(volatile __local int *, int);
13197 uint __ovld atom_xor(volatile __local uint *, uint);
13198 #endif
13200 #if defined(cl_khr_int64_extended_atomics)
13201 long __ovld atom_xor(volatile __global long *, long);
13202 ulong __ovld atom_xor(volatile __global ulong *, ulong);
13203 long __ovld atom_xor(volatile __local long *, long);
13204 ulong __ovld atom_xor(volatile __local ulong *, ulong);
13205 #endif
13207 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13208 #pragma OPENCL EXTENSION cl_khr_int64_base_atomics : disable
13209 #pragma OPENCL EXTENSION cl_khr_int64_extended_atomics : disable
13210 #endif
13212 // OpenCL v2.0 s6.13.11 - Atomics Functions
13214 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
13216 // double atomics support requires extensions cl_khr_int64_base_atomics and cl_khr_int64_extended_atomics
13217 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13218 #pragma OPENCL EXTENSION cl_khr_int64_base_atomics : enable
13219 #pragma OPENCL EXTENSION cl_khr_int64_extended_atomics : enable
13220 #endif
13222 // atomic_init()
13223 #if defined(__opencl_c_generic_address_space)
13224 void __ovld atomic_init(volatile atomic_int *, int);
13225 void __ovld atomic_init(volatile atomic_uint *, uint);
13226 void __ovld atomic_init(volatile atomic_float *, float);
13227 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13228 void __ovld atomic_init(volatile atomic_long *, long);
13229 void __ovld atomic_init(volatile atomic_ulong *, ulong);
13230 #ifdef cl_khr_fp64
13231 void __ovld atomic_init(volatile atomic_double *, double);
13232 #endif //cl_khr_fp64
13233 #endif
13234 #endif //defined(__opencl_c_generic_address_space)
13235 #if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
13236 void __ovld atomic_init(volatile __global atomic_int *, int);
13237 void __ovld atomic_init(volatile __local atomic_int *, int);
13238 void __ovld atomic_init(volatile __global atomic_uint *, uint);
13239 void __ovld atomic_init(volatile __local atomic_uint *, uint);
13240 void __ovld atomic_init(volatile __global atomic_float *, float);
13241 void __ovld atomic_init(volatile __local atomic_float *, float);
13242 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13243 void __ovld atomic_init(volatile __global atomic_long *, long);
13244 void __ovld atomic_init(volatile __local atomic_long *, long);
13245 void __ovld atomic_init(volatile __global atomic_ulong *, ulong);
13246 void __ovld atomic_init(volatile __local atomic_ulong *, ulong);
13247 #ifdef cl_khr_fp64
13248 void __ovld atomic_init(volatile __global atomic_double *, double);
13249 void __ovld atomic_init(volatile __local atomic_double *, double);
13250 #endif //cl_khr_fp64
13251 #endif
13252 #endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
13254 // atomic_work_item_fence()
13255 void __ovld atomic_work_item_fence(cl_mem_fence_flags, memory_order, memory_scope);
13257 // atomic_fetch()
13258 // OpenCL v2.0 s6.13.11.7.5:
13259 // add/sub: atomic type argument can be uintptr_t/intptr_t, value type argument can be ptrdiff_t.
13261 #if defined(__opencl_c_atomic_order_seq_cst) && defined(__opencl_c_atomic_scope_device)
13262 #if defined(__opencl_c_generic_address_space)
13263 int __ovld atomic_fetch_add(volatile atomic_int *, int);
13264 uint __ovld atomic_fetch_add(volatile atomic_uint *, uint);
13265 int __ovld atomic_fetch_sub(volatile atomic_int *, int);
13266 uint __ovld atomic_fetch_sub(volatile atomic_uint *, uint);
13267 int __ovld atomic_fetch_or(volatile atomic_int *, int);
13268 uint __ovld atomic_fetch_or(volatile atomic_uint *, uint);
13269 int __ovld atomic_fetch_xor(volatile atomic_int *, int);
13270 uint __ovld atomic_fetch_xor(volatile atomic_uint *, uint);
13271 int __ovld atomic_fetch_and(volatile atomic_int *, int);
13272 uint __ovld atomic_fetch_and(volatile atomic_uint *, uint);
13273 int __ovld atomic_fetch_min(volatile atomic_int *, int);
13274 uint __ovld atomic_fetch_min(volatile atomic_uint *, uint);
13275 int __ovld atomic_fetch_max(volatile atomic_int *, int);
13276 uint __ovld atomic_fetch_max(volatile atomic_uint *, uint);
13277 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13278 long __ovld atomic_fetch_add(volatile atomic_long *, long);
13279 ulong __ovld atomic_fetch_add(volatile atomic_ulong *, ulong);
13280 long __ovld atomic_fetch_sub(volatile atomic_long *, long);
13281 ulong __ovld atomic_fetch_sub(volatile atomic_ulong *, ulong);
13282 long __ovld atomic_fetch_or(volatile atomic_long *, long);
13283 ulong __ovld atomic_fetch_or(volatile atomic_ulong *, ulong);
13284 long __ovld atomic_fetch_xor(volatile atomic_long *, long);
13285 ulong __ovld atomic_fetch_xor(volatile atomic_ulong *, ulong);
13286 long __ovld atomic_fetch_and(volatile atomic_long *, long);
13287 ulong __ovld atomic_fetch_and(volatile atomic_ulong *, ulong);
13288 long __ovld atomic_fetch_min(volatile atomic_long *, long);
13289 ulong __ovld atomic_fetch_min(volatile atomic_ulong *, ulong);
13290 long __ovld atomic_fetch_max(volatile atomic_long *, long);
13291 ulong __ovld atomic_fetch_max(volatile atomic_ulong *, ulong);
13292 uintptr_t __ovld atomic_fetch_add(volatile atomic_uintptr_t *, ptrdiff_t);
13293 uintptr_t __ovld atomic_fetch_sub(volatile atomic_uintptr_t *, ptrdiff_t);
13294 #endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13295 #endif //defined(__opencl_c_generic_address_space)
13296 #if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
13297 int __ovld atomic_fetch_add(volatile __global atomic_int *, int);
13298 int __ovld atomic_fetch_add(volatile __local atomic_int *, int);
13299 uint __ovld atomic_fetch_add(volatile __global atomic_uint *, uint);
13300 uint __ovld atomic_fetch_add(volatile __local atomic_uint *, uint);
13301 int __ovld atomic_fetch_sub(volatile __global atomic_int *, int);
13302 int __ovld atomic_fetch_sub(volatile __local atomic_int *, int);
13303 uint __ovld atomic_fetch_sub(volatile __global atomic_uint *, uint);
13304 uint __ovld atomic_fetch_sub(volatile __local atomic_uint *, uint);
13305 int __ovld atomic_fetch_or(volatile __global atomic_int *, int);
13306 int __ovld atomic_fetch_or(volatile __local atomic_int *, int);
13307 uint __ovld atomic_fetch_or(volatile __global atomic_uint *, uint);
13308 uint __ovld atomic_fetch_or(volatile __local atomic_uint *, uint);
13309 int __ovld atomic_fetch_xor(volatile __global atomic_int *, int);
13310 int __ovld atomic_fetch_xor(volatile __local atomic_int *, int);
13311 uint __ovld atomic_fetch_xor(volatile __global atomic_uint *, uint);
13312 uint __ovld atomic_fetch_xor(volatile __local atomic_uint *, uint);
13313 int __ovld atomic_fetch_and(volatile __global atomic_int *, int);
13314 int __ovld atomic_fetch_and(volatile __local atomic_int *, int);
13315 uint __ovld atomic_fetch_and(volatile __global atomic_uint *, uint);
13316 uint __ovld atomic_fetch_and(volatile __local atomic_uint *, uint);
13317 int __ovld atomic_fetch_min(volatile __global atomic_int *, int);
13318 int __ovld atomic_fetch_min(volatile __local atomic_int *, int);
13319 uint __ovld atomic_fetch_min(volatile __global atomic_uint *, uint);
13320 uint __ovld atomic_fetch_min(volatile __local atomic_uint *, uint);
13321 int __ovld atomic_fetch_max(volatile __global atomic_int *, int);
13322 int __ovld atomic_fetch_max(volatile __local atomic_int *, int);
13323 uint __ovld atomic_fetch_max(volatile __global atomic_uint *, uint);
13324 uint __ovld atomic_fetch_max(volatile __local atomic_uint *, uint);
13325 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13326 long __ovld atomic_fetch_add(volatile __global atomic_long *, long);
13327 long __ovld atomic_fetch_add(volatile __local atomic_long *, long);
13328 ulong __ovld atomic_fetch_add(volatile __global atomic_ulong *, ulong);
13329 ulong __ovld atomic_fetch_add(volatile __local atomic_ulong *, ulong);
13330 uintptr_t __ovld atomic_fetch_add(volatile __global atomic_uintptr_t *, ptrdiff_t);
13331 uintptr_t __ovld atomic_fetch_add(volatile __local atomic_uintptr_t *, ptrdiff_t);
13332 long __ovld atomic_fetch_sub(volatile __global atomic_long *, long);
13333 long __ovld atomic_fetch_sub(volatile __local atomic_long *, long);
13334 ulong __ovld atomic_fetch_sub(volatile __global atomic_ulong *, ulong);
13335 ulong __ovld atomic_fetch_sub(volatile __local atomic_ulong *, ulong);
13336 uintptr_t __ovld atomic_fetch_sub(volatile __global atomic_uintptr_t *, ptrdiff_t);
13337 uintptr_t __ovld atomic_fetch_sub(volatile __local atomic_uintptr_t *, ptrdiff_t);
13338 long __ovld atomic_fetch_or(volatile __global atomic_long *, long);
13339 long __ovld atomic_fetch_or(volatile __local atomic_long *, long);
13340 ulong __ovld atomic_fetch_or(volatile __global atomic_ulong *, ulong);
13341 ulong __ovld atomic_fetch_or(volatile __local atomic_ulong *, ulong);
13342 uintptr_t __ovld atomic_fetch_or(volatile __global atomic_uintptr_t *, intptr_t);
13343 uintptr_t __ovld atomic_fetch_or(volatile __local atomic_uintptr_t *, intptr_t);
13344 intptr_t __ovld atomic_fetch_or(volatile __global atomic_intptr_t *, uintptr_t);
13345 intptr_t __ovld atomic_fetch_or(volatile __local atomic_intptr_t *, uintptr_t);
13346 long __ovld atomic_fetch_xor(volatile __global atomic_long *, long);
13347 long __ovld atomic_fetch_xor(volatile __local atomic_long *, long);
13348 ulong __ovld atomic_fetch_xor(volatile __global atomic_ulong *, ulong);
13349 ulong __ovld atomic_fetch_xor(volatile __local atomic_ulong *, ulong);
13350 uintptr_t __ovld atomic_fetch_xor(volatile __global atomic_uintptr_t *, intptr_t);
13351 uintptr_t __ovld atomic_fetch_xor(volatile __local atomic_uintptr_t *, intptr_t);
13352 intptr_t __ovld atomic_fetch_xor(volatile __global atomic_intptr_t *, uintptr_t);
13353 intptr_t __ovld atomic_fetch_xor(volatile __local atomic_intptr_t *, uintptr_t);
13354 long __ovld atomic_fetch_and(volatile __global atomic_long *, long);
13355 long __ovld atomic_fetch_and(volatile __local atomic_long *, long);
13356 ulong __ovld atomic_fetch_and(volatile __global atomic_ulong *, ulong);
13357 ulong __ovld atomic_fetch_and(volatile __local atomic_ulong *, ulong);
13358 uintptr_t __ovld atomic_fetch_and(volatile __global atomic_uintptr_t *, intptr_t);
13359 uintptr_t __ovld atomic_fetch_and(volatile __local atomic_uintptr_t *, intptr_t);
13360 intptr_t __ovld atomic_fetch_and(volatile __global atomic_intptr_t *, uintptr_t);
13361 intptr_t __ovld atomic_fetch_and(volatile __local atomic_intptr_t *, uintptr_t);
13362 long __ovld atomic_fetch_min(volatile __global atomic_long *, long);
13363 long __ovld atomic_fetch_min(volatile __local atomic_long *, long);
13364 ulong __ovld atomic_fetch_min(volatile __global atomic_ulong *, ulong);
13365 ulong __ovld atomic_fetch_min(volatile __local atomic_ulong *, ulong);
13366 uintptr_t __ovld atomic_fetch_min(volatile __global atomic_uintptr_t *, intptr_t);
13367 uintptr_t __ovld atomic_fetch_min(volatile __local atomic_uintptr_t *, intptr_t);
13368 intptr_t __ovld atomic_fetch_min(volatile __global atomic_intptr_t *, uintptr_t);
13369 intptr_t __ovld atomic_fetch_min(volatile __local atomic_intptr_t *, uintptr_t);
13370 long __ovld atomic_fetch_max(volatile __global atomic_long *, long);
13371 long __ovld atomic_fetch_max(volatile __local atomic_long *, long);
13372 ulong __ovld atomic_fetch_max(volatile __global atomic_ulong *, ulong);
13373 ulong __ovld atomic_fetch_max(volatile __local atomic_ulong *, ulong);
13374 uintptr_t __ovld atomic_fetch_max(volatile __global atomic_uintptr_t *, uintptr_t);
13375 uintptr_t __ovld atomic_fetch_max(volatile __local atomic_uintptr_t *, uintptr_t);
13376 #endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13377 #endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
13378 #endif
13380 #if defined(__opencl_c_atomic_scope_device)
13381 #if defined(__opencl_c_generic_address_space)
13382 int __ovld atomic_fetch_add_explicit(volatile atomic_int *, int, memory_order);
13383 uint __ovld atomic_fetch_add_explicit(volatile atomic_uint *, uint, memory_order);
13384 int __ovld atomic_fetch_sub_explicit(volatile atomic_int *, int, memory_order);
13385 uint __ovld atomic_fetch_sub_explicit(volatile atomic_uint *, uint, memory_order);
13386 int __ovld atomic_fetch_or_explicit(volatile atomic_int *, int, memory_order);
13387 uint __ovld atomic_fetch_or_explicit(volatile atomic_uint *, uint, memory_order);
13388 int __ovld atomic_fetch_xor_explicit(volatile atomic_int *, int, memory_order);
13389 uint __ovld atomic_fetch_xor_explicit(volatile atomic_uint *, uint, memory_order);
13390 int __ovld atomic_fetch_and_explicit(volatile atomic_int *, int, memory_order);
13391 uint __ovld atomic_fetch_and_explicit(volatile atomic_uint *, uint, memory_order);
13392 int __ovld atomic_fetch_min_explicit(volatile atomic_int *, int, memory_order);
13393 uint __ovld atomic_fetch_min_explicit(volatile atomic_uint *, uint, memory_order);
13394 int __ovld atomic_fetch_max_explicit(volatile atomic_int *, int, memory_order);
13395 uint __ovld atomic_fetch_max_explicit(volatile atomic_uint *, uint, memory_order);
13396 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13397 long __ovld atomic_fetch_add_explicit(volatile atomic_long *, long, memory_order);
13398 ulong __ovld atomic_fetch_add_explicit(volatile atomic_ulong *, ulong, memory_order);
13399 long __ovld atomic_fetch_sub_explicit(volatile atomic_long *, long, memory_order);
13400 ulong __ovld atomic_fetch_sub_explicit(volatile atomic_ulong *, ulong, memory_order);
13401 long __ovld atomic_fetch_or_explicit(volatile atomic_long *, long, memory_order);
13402 ulong __ovld atomic_fetch_or_explicit(volatile atomic_ulong *, ulong, memory_order);
13403 long __ovld atomic_fetch_xor_explicit(volatile atomic_long *, long, memory_order);
13404 ulong __ovld atomic_fetch_xor_explicit(volatile atomic_ulong *, ulong, memory_order);
13405 long __ovld atomic_fetch_and_explicit(volatile atomic_long *, long, memory_order);
13406 ulong __ovld atomic_fetch_and_explicit(volatile atomic_ulong *, ulong, memory_order);
13407 long __ovld atomic_fetch_min_explicit(volatile atomic_long *, long, memory_order);
13408 ulong __ovld atomic_fetch_min_explicit(volatile atomic_ulong *, ulong, memory_order);
13409 long __ovld atomic_fetch_max_explicit(volatile atomic_long *, long, memory_order);
13410 ulong __ovld atomic_fetch_max_explicit(volatile atomic_ulong *, ulong, memory_order);
13411 uintptr_t __ovld atomic_fetch_add_explicit(volatile atomic_uintptr_t *, ptrdiff_t, memory_order);
13412 uintptr_t __ovld atomic_fetch_sub_explicit(volatile atomic_uintptr_t *, ptrdiff_t, memory_order);
13413 #endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13414 #endif //defined(__opencl_c_generic_address_space)
13415 #if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
13416 int __ovld atomic_fetch_add_explicit(volatile __global atomic_int *, int, memory_order);
13417 int __ovld atomic_fetch_add_explicit(volatile __local atomic_int *, int, memory_order);
13418 uint __ovld atomic_fetch_add_explicit(volatile __global atomic_uint *, uint, memory_order);
13419 uint __ovld atomic_fetch_add_explicit(volatile __local atomic_uint *, uint, memory_order);
13420 int __ovld atomic_fetch_sub_explicit(volatile __global atomic_int *, int, memory_order);
13421 int __ovld atomic_fetch_sub_explicit(volatile __local atomic_int *, int, memory_order);
13422 uint __ovld atomic_fetch_sub_explicit(volatile __global atomic_uint *, uint, memory_order);
13423 uint __ovld atomic_fetch_sub_explicit(volatile __local atomic_uint *, uint, memory_order);
13424 int __ovld atomic_fetch_or_explicit(volatile __global atomic_int *, int, memory_order);
13425 int __ovld atomic_fetch_or_explicit(volatile __local atomic_int *, int, memory_order);
13426 uint __ovld atomic_fetch_or_explicit(volatile __global atomic_uint *, uint, memory_order);
13427 uint __ovld atomic_fetch_or_explicit(volatile __local atomic_uint *, uint, memory_order);
13428 int __ovld atomic_fetch_xor_explicit(volatile __global atomic_int *, int, memory_order);
13429 int __ovld atomic_fetch_xor_explicit(volatile __local atomic_int *, int, memory_order);
13430 uint __ovld atomic_fetch_xor_explicit(volatile __global atomic_uint *, uint, memory_order);
13431 uint __ovld atomic_fetch_xor_explicit(volatile __local atomic_uint *, uint, memory_order);
13432 int __ovld atomic_fetch_and_explicit(volatile __global atomic_int *, int, memory_order);
13433 int __ovld atomic_fetch_and_explicit(volatile __local atomic_int *, int, memory_order);
13434 uint __ovld atomic_fetch_and_explicit(volatile __global atomic_uint *, uint, memory_order);
13435 uint __ovld atomic_fetch_and_explicit(volatile __local atomic_uint *, uint, memory_order);
13436 int __ovld atomic_fetch_min_explicit(volatile __global atomic_int *, int, memory_order);
13437 int __ovld atomic_fetch_min_explicit(volatile __local atomic_int *, int, memory_order);
13438 uint __ovld atomic_fetch_min_explicit(volatile __global atomic_uint *, uint, memory_order);
13439 uint __ovld atomic_fetch_min_explicit(volatile __local atomic_uint *, uint, memory_order);
13440 int __ovld atomic_fetch_max_explicit(volatile __global atomic_int *, int, memory_order);
13441 int __ovld atomic_fetch_max_explicit(volatile __local atomic_int *, int, memory_order);
13442 uint __ovld atomic_fetch_max_explicit(volatile __global atomic_uint *, uint, memory_order);
13443 uint __ovld atomic_fetch_max_explicit(volatile __local atomic_uint *, uint, memory_order);
13444 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13445 long __ovld atomic_fetch_add_explicit(volatile __global atomic_long *, long, memory_order);
13446 long __ovld atomic_fetch_add_explicit(volatile __local atomic_long *, long, memory_order);
13447 ulong __ovld atomic_fetch_add_explicit(volatile __global atomic_ulong *, ulong, memory_order);
13448 ulong __ovld atomic_fetch_add_explicit(volatile __local atomic_ulong *, ulong, memory_order);
13449 uintptr_t __ovld atomic_fetch_add_explicit(volatile __global atomic_uintptr_t *, ptrdiff_t, memory_order);
13450 uintptr_t __ovld atomic_fetch_add_explicit(volatile __local atomic_uintptr_t *, ptrdiff_t, memory_order);
13451 long __ovld atomic_fetch_sub_explicit(volatile __global atomic_long *, long, memory_order);
13452 long __ovld atomic_fetch_sub_explicit(volatile __local atomic_long *, long, memory_order);
13453 ulong __ovld atomic_fetch_sub_explicit(volatile __global atomic_ulong *, ulong, memory_order);
13454 ulong __ovld atomic_fetch_sub_explicit(volatile __local atomic_ulong *, ulong, memory_order);
13455 uintptr_t __ovld atomic_fetch_sub_explicit(volatile __global atomic_uintptr_t *, ptrdiff_t, memory_order);
13456 uintptr_t __ovld atomic_fetch_sub_explicit(volatile __local atomic_uintptr_t *, ptrdiff_t, memory_order);
13457 long __ovld atomic_fetch_or_explicit(volatile __global atomic_long *, long, memory_order);
13458 long __ovld atomic_fetch_or_explicit(volatile __local atomic_long *, long, memory_order);
13459 ulong __ovld atomic_fetch_or_explicit(volatile __global atomic_ulong *, ulong, memory_order);
13460 ulong __ovld atomic_fetch_or_explicit(volatile __local atomic_ulong *, ulong, memory_order);
13461 uintptr_t __ovld atomic_fetch_or_explicit(volatile __global atomic_uintptr_t *, intptr_t, memory_order);
13462 uintptr_t __ovld atomic_fetch_or_explicit(volatile __local atomic_uintptr_t *, intptr_t, memory_order);
13463 intptr_t __ovld atomic_fetch_or_explicit(volatile __global atomic_intptr_t *, uintptr_t, memory_order);
13464 intptr_t __ovld atomic_fetch_or_explicit(volatile __local atomic_intptr_t *, uintptr_t, memory_order);
13465 long __ovld atomic_fetch_xor_explicit(volatile __global atomic_long *, long, memory_order);
13466 long __ovld atomic_fetch_xor_explicit(volatile __local atomic_long *, long, memory_order);
13467 ulong __ovld atomic_fetch_xor_explicit(volatile __global atomic_ulong *, ulong, memory_order);
13468 ulong __ovld atomic_fetch_xor_explicit(volatile __local atomic_ulong *, ulong, memory_order);
13469 uintptr_t __ovld atomic_fetch_xor_explicit(volatile __global atomic_uintptr_t *, intptr_t, memory_order);
13470 uintptr_t __ovld atomic_fetch_xor_explicit(volatile __local atomic_uintptr_t *, intptr_t, memory_order);
13471 intptr_t __ovld atomic_fetch_xor_explicit(volatile __global atomic_intptr_t *, uintptr_t, memory_order);
13472 intptr_t __ovld atomic_fetch_xor_explicit(volatile __local atomic_intptr_t *, uintptr_t, memory_order);
13473 long __ovld atomic_fetch_and_explicit(volatile __global atomic_long *, long, memory_order);
13474 long __ovld atomic_fetch_and_explicit(volatile __local atomic_long *, long, memory_order);
13475 ulong __ovld atomic_fetch_and_explicit(volatile __global atomic_ulong *, ulong, memory_order);
13476 ulong __ovld atomic_fetch_and_explicit(volatile __local atomic_ulong *, ulong, memory_order);
13477 uintptr_t __ovld atomic_fetch_and_explicit(volatile __global atomic_uintptr_t *, intptr_t, memory_order);
13478 uintptr_t __ovld atomic_fetch_and_explicit(volatile __local atomic_uintptr_t *, intptr_t, memory_order);
13479 intptr_t __ovld atomic_fetch_and_explicit(volatile __global atomic_intptr_t *, uintptr_t, memory_order);
13480 intptr_t __ovld atomic_fetch_and_explicit(volatile __local atomic_intptr_t *, uintptr_t, memory_order);
13481 long __ovld atomic_fetch_min_explicit(volatile __global atomic_long *, long, memory_order);
13482 long __ovld atomic_fetch_min_explicit(volatile __local atomic_long *, long, memory_order);
13483 ulong __ovld atomic_fetch_min_explicit(volatile __global atomic_ulong *, ulong, memory_order);
13484 ulong __ovld atomic_fetch_min_explicit(volatile __local atomic_ulong *, ulong, memory_order);
13485 uintptr_t __ovld atomic_fetch_min_explicit(volatile __global atomic_uintptr_t *, intptr_t, memory_order);
13486 uintptr_t __ovld atomic_fetch_min_explicit(volatile __local atomic_uintptr_t *, intptr_t, memory_order);
13487 intptr_t __ovld atomic_fetch_min_explicit(volatile __global atomic_intptr_t *, uintptr_t, memory_order);
13488 intptr_t __ovld atomic_fetch_min_explicit(volatile __local atomic_intptr_t *, uintptr_t, memory_order);
13489 long __ovld atomic_fetch_max_explicit(volatile __global atomic_long *, long, memory_order);
13490 long __ovld atomic_fetch_max_explicit(volatile __local atomic_long *, long, memory_order);
13491 ulong __ovld atomic_fetch_max_explicit(volatile __global atomic_ulong *, ulong, memory_order);
13492 ulong __ovld atomic_fetch_max_explicit(volatile __local atomic_ulong *, ulong, memory_order);
13493 uintptr_t __ovld atomic_fetch_max_explicit(volatile __global atomic_uintptr_t *, uintptr_t, memory_order);
13494 uintptr_t __ovld atomic_fetch_max_explicit(volatile __local atomic_uintptr_t *, uintptr_t, memory_order);
13495 #endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13496 #endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
13497 #endif
13499 #if defined(__opencl_c_generic_address_space)
13500 int __ovld atomic_fetch_add_explicit(volatile atomic_int *, int, memory_order, memory_scope);
13501 uint __ovld atomic_fetch_add_explicit(volatile atomic_uint *, uint, memory_order, memory_scope);
13502 int __ovld atomic_fetch_sub_explicit(volatile atomic_int *, int, memory_order, memory_scope);
13503 uint __ovld atomic_fetch_sub_explicit(volatile atomic_uint *, uint, memory_order, memory_scope);
13504 int __ovld atomic_fetch_or_explicit(volatile atomic_int *, int, memory_order, memory_scope);
13505 uint __ovld atomic_fetch_or_explicit(volatile atomic_uint *, uint, memory_order, memory_scope);
13506 int __ovld atomic_fetch_xor_explicit(volatile atomic_int *, int, memory_order, memory_scope);
13507 uint __ovld atomic_fetch_xor_explicit(volatile atomic_uint *, uint, memory_order, memory_scope);
13508 int __ovld atomic_fetch_and_explicit(volatile atomic_int *, int, memory_order, memory_scope);
13509 uint __ovld atomic_fetch_and_explicit(volatile atomic_uint *, uint, memory_order, memory_scope);
13510 int __ovld atomic_fetch_min_explicit(volatile atomic_int *, int, memory_order, memory_scope);
13511 uint __ovld atomic_fetch_min_explicit(volatile atomic_uint *, uint, memory_order, memory_scope);
13512 int __ovld atomic_fetch_max_explicit(volatile atomic_int *, int, memory_order, memory_scope);
13513 uint __ovld atomic_fetch_max_explicit(volatile atomic_uint *, uint, memory_order, memory_scope);
13514 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13515 long __ovld atomic_fetch_add_explicit(volatile atomic_long *, long, memory_order, memory_scope);
13516 ulong __ovld atomic_fetch_add_explicit(volatile atomic_ulong *, ulong, memory_order, memory_scope);
13517 long __ovld atomic_fetch_sub_explicit(volatile atomic_long *, long, memory_order, memory_scope);
13518 ulong __ovld atomic_fetch_sub_explicit(volatile atomic_ulong *, ulong, memory_order, memory_scope);
13519 long __ovld atomic_fetch_or_explicit(volatile atomic_long *, long, memory_order, memory_scope);
13520 ulong __ovld atomic_fetch_or_explicit(volatile atomic_ulong *, ulong, memory_order, memory_scope);
13521 long __ovld atomic_fetch_xor_explicit(volatile atomic_long *, long, memory_order, memory_scope);
13522 ulong __ovld atomic_fetch_xor_explicit(volatile atomic_ulong *, ulong, memory_order, memory_scope);
13523 long __ovld atomic_fetch_and_explicit(volatile atomic_long *, long, memory_order, memory_scope);
13524 ulong __ovld atomic_fetch_and_explicit(volatile atomic_ulong *, ulong, memory_order, memory_scope);
13525 long __ovld atomic_fetch_min_explicit(volatile atomic_long *, long, memory_order, memory_scope);
13526 ulong __ovld atomic_fetch_min_explicit(volatile atomic_ulong *, ulong, memory_order, memory_scope);
13527 long __ovld atomic_fetch_max_explicit(volatile atomic_long *, long, memory_order, memory_scope);
13528 ulong __ovld atomic_fetch_max_explicit(volatile atomic_ulong *, ulong, memory_order, memory_scope);
13529 uintptr_t __ovld atomic_fetch_add_explicit(volatile atomic_uintptr_t *, ptrdiff_t, memory_order, memory_scope);
13530 uintptr_t __ovld atomic_fetch_sub_explicit(volatile atomic_uintptr_t *, ptrdiff_t, memory_order, memory_scope);
13531 #endif
13532 #endif //defined(__opencl_c_generic_address_space)
13533 #if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
13534 int __ovld atomic_fetch_add_explicit(volatile __global atomic_int *, int, memory_order, memory_scope);
13535 int __ovld atomic_fetch_add_explicit(volatile __local atomic_int *, int, memory_order, memory_scope);
13536 uint __ovld atomic_fetch_add_explicit(volatile __global atomic_uint *, uint, memory_order, memory_scope);
13537 uint __ovld atomic_fetch_add_explicit(volatile __local atomic_uint *, uint, memory_order, memory_scope);
13538 int __ovld atomic_fetch_sub_explicit(volatile __global atomic_int *, int, memory_order, memory_scope);
13539 int __ovld atomic_fetch_sub_explicit(volatile __local atomic_int *, int, memory_order, memory_scope);
13540 uint __ovld atomic_fetch_sub_explicit(volatile __global atomic_uint *, uint, memory_order, memory_scope);
13541 uint __ovld atomic_fetch_sub_explicit(volatile __local atomic_uint *, uint, memory_order, memory_scope);
13542 int __ovld atomic_fetch_or_explicit(volatile __global atomic_int *, int, memory_order, memory_scope);
13543 int __ovld atomic_fetch_or_explicit(volatile __local atomic_int *, int, memory_order, memory_scope);
13544 uint __ovld atomic_fetch_or_explicit(volatile __global atomic_uint *, uint, memory_order, memory_scope);
13545 uint __ovld atomic_fetch_or_explicit(volatile __local atomic_uint *, uint, memory_order, memory_scope);
13546 int __ovld atomic_fetch_xor_explicit(volatile __global atomic_int *, int, memory_order, memory_scope);
13547 int __ovld atomic_fetch_xor_explicit(volatile __local atomic_int *, int, memory_order, memory_scope);
13548 uint __ovld atomic_fetch_xor_explicit(volatile __global atomic_uint *, uint, memory_order, memory_scope);
13549 uint __ovld atomic_fetch_xor_explicit(volatile __local atomic_uint *, uint, memory_order, memory_scope);
13550 int __ovld atomic_fetch_and_explicit(volatile __global atomic_int *, int, memory_order, memory_scope);
13551 int __ovld atomic_fetch_and_explicit(volatile __local atomic_int *, int, memory_order, memory_scope);
13552 uint __ovld atomic_fetch_and_explicit(volatile __global atomic_uint *, uint, memory_order, memory_scope);
13553 uint __ovld atomic_fetch_and_explicit(volatile __local atomic_uint *, uint, memory_order, memory_scope);
13554 int __ovld atomic_fetch_min_explicit(volatile __global atomic_int *, int, memory_order, memory_scope);
13555 int __ovld atomic_fetch_min_explicit(volatile __local atomic_int *, int, memory_order, memory_scope);
13556 uint __ovld atomic_fetch_min_explicit(volatile __global atomic_uint *, uint, memory_order, memory_scope);
13557 uint __ovld atomic_fetch_min_explicit(volatile __local atomic_uint *, uint, memory_order, memory_scope);
13558 int __ovld atomic_fetch_max_explicit(volatile __global atomic_int *, int, memory_order, memory_scope);
13559 int __ovld atomic_fetch_max_explicit(volatile __local atomic_int *, int, memory_order, memory_scope);
13560 uint __ovld atomic_fetch_max_explicit(volatile __global atomic_uint *, uint, memory_order, memory_scope);
13561 uint __ovld atomic_fetch_max_explicit(volatile __local atomic_uint *, uint, memory_order, memory_scope);
13562 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13563 long __ovld atomic_fetch_add_explicit(volatile __global atomic_long *, long, memory_order, memory_scope);
13564 long __ovld atomic_fetch_add_explicit(volatile __local atomic_long *, long, memory_order, memory_scope);
13565 uintptr_t __ovld atomic_fetch_add_explicit(volatile __global atomic_uintptr_t *, ptrdiff_t, memory_order, memory_scope);
13566 uintptr_t __ovld atomic_fetch_add_explicit(volatile __local atomic_uintptr_t *, ptrdiff_t, memory_order, memory_scope);
13567 ulong __ovld atomic_fetch_add_explicit(volatile __global atomic_ulong *, ulong, memory_order, memory_scope);
13568 ulong __ovld atomic_fetch_add_explicit(volatile __local atomic_ulong *, ulong, memory_order, memory_scope);
13569 long __ovld atomic_fetch_sub_explicit(volatile __global atomic_long *, long, memory_order, memory_scope);
13570 long __ovld atomic_fetch_sub_explicit(volatile __local atomic_long *, long, memory_order, memory_scope);
13571 ulong __ovld atomic_fetch_sub_explicit(volatile __global atomic_ulong *, ulong, memory_order, memory_scope);
13572 ulong __ovld atomic_fetch_sub_explicit(volatile __local atomic_ulong *, ulong, memory_order, memory_scope);
13573 uintptr_t __ovld atomic_fetch_sub_explicit(volatile __global atomic_uintptr_t *, ptrdiff_t, memory_order, memory_scope);
13574 uintptr_t __ovld atomic_fetch_sub_explicit(volatile __local atomic_uintptr_t *, ptrdiff_t, memory_order, memory_scope);
13575 long __ovld atomic_fetch_or_explicit(volatile __global atomic_long *, long, memory_order, memory_scope);
13576 long __ovld atomic_fetch_or_explicit(volatile __local atomic_long *, long, memory_order, memory_scope);
13577 ulong __ovld atomic_fetch_or_explicit(volatile __global atomic_ulong *, ulong, memory_order, memory_scope);
13578 ulong __ovld atomic_fetch_or_explicit(volatile __local atomic_ulong *, ulong, memory_order, memory_scope);
13579 uintptr_t __ovld atomic_fetch_or_explicit(volatile __global atomic_uintptr_t *, intptr_t, memory_order, memory_scope);
13580 uintptr_t __ovld atomic_fetch_or_explicit(volatile __local atomic_uintptr_t *, intptr_t, memory_order, memory_scope);
13581 intptr_t __ovld atomic_fetch_or_explicit(volatile __global atomic_intptr_t *, uintptr_t, memory_order, memory_scope);
13582 intptr_t __ovld atomic_fetch_or_explicit(volatile __local atomic_intptr_t *, uintptr_t, memory_order, memory_scope);
13583 long __ovld atomic_fetch_xor_explicit(volatile __global atomic_long *, long, memory_order, memory_scope);
13584 long __ovld atomic_fetch_xor_explicit(volatile __local atomic_long *, long, memory_order, memory_scope);
13585 ulong __ovld atomic_fetch_xor_explicit(volatile __global atomic_ulong *, ulong, memory_order, memory_scope);
13586 ulong __ovld atomic_fetch_xor_explicit(volatile __local atomic_ulong *, ulong, memory_order, memory_scope);
13587 uintptr_t __ovld atomic_fetch_xor_explicit(volatile __global atomic_uintptr_t *, intptr_t, memory_order, memory_scope);
13588 uintptr_t __ovld atomic_fetch_xor_explicit(volatile __local atomic_uintptr_t *, intptr_t, memory_order, memory_scope);
13589 intptr_t __ovld atomic_fetch_xor_explicit(volatile __global atomic_intptr_t *, uintptr_t, memory_order, memory_scope);
13590 intptr_t __ovld atomic_fetch_xor_explicit(volatile __local atomic_intptr_t *, uintptr_t, memory_order, memory_scope);
13591 long __ovld atomic_fetch_and_explicit(volatile __global atomic_long *, long, memory_order, memory_scope);
13592 long __ovld atomic_fetch_and_explicit(volatile __local atomic_long *, long, memory_order, memory_scope);
13593 ulong __ovld atomic_fetch_and_explicit(volatile __global atomic_ulong *, ulong, memory_order, memory_scope);
13594 ulong __ovld atomic_fetch_and_explicit(volatile __local atomic_ulong *, ulong, memory_order, memory_scope);
13595 uintptr_t __ovld atomic_fetch_and_explicit(volatile __global atomic_uintptr_t *, intptr_t, memory_order, memory_scope);
13596 uintptr_t __ovld atomic_fetch_and_explicit(volatile __local atomic_uintptr_t *, intptr_t, memory_order, memory_scope);
13597 intptr_t __ovld atomic_fetch_and_explicit(volatile __global atomic_intptr_t *, uintptr_t, memory_order, memory_scope);
13598 intptr_t __ovld atomic_fetch_and_explicit(volatile __local atomic_intptr_t *, uintptr_t, memory_order, memory_scope);
13599 long __ovld atomic_fetch_min_explicit(volatile __global atomic_long *, long, memory_order, memory_scope);
13600 long __ovld atomic_fetch_min_explicit(volatile __local atomic_long *, long, memory_order, memory_scope);
13601 ulong __ovld atomic_fetch_min_explicit(volatile __global atomic_ulong *, ulong, memory_order, memory_scope);
13602 ulong __ovld atomic_fetch_min_explicit(volatile __local atomic_ulong *, ulong, memory_order, memory_scope);
13603 uintptr_t __ovld atomic_fetch_min_explicit(volatile __global atomic_uintptr_t *, intptr_t, memory_order, memory_scope);
13604 uintptr_t __ovld atomic_fetch_min_explicit(volatile __local atomic_uintptr_t *, intptr_t, memory_order, memory_scope);
13605 intptr_t __ovld atomic_fetch_min_explicit(volatile __global atomic_intptr_t *, uintptr_t, memory_order, memory_scope);
13606 intptr_t __ovld atomic_fetch_min_explicit(volatile __local atomic_intptr_t *, uintptr_t, memory_order, memory_scope);
13607 long __ovld atomic_fetch_max_explicit(volatile __global atomic_long *, long, memory_order, memory_scope);
13608 long __ovld atomic_fetch_max_explicit(volatile __local atomic_long *, long, memory_order, memory_scope);
13609 ulong __ovld atomic_fetch_max_explicit(volatile __global atomic_ulong *, ulong, memory_order, memory_scope);
13610 ulong __ovld atomic_fetch_max_explicit(volatile __local atomic_ulong *, ulong, memory_order, memory_scope);
13611 uintptr_t __ovld atomic_fetch_max_explicit(volatile __global atomic_uintptr_t *, uintptr_t, memory_order, memory_scope);
13612 uintptr_t __ovld atomic_fetch_max_explicit(volatile __local atomic_uintptr_t *, uintptr_t, memory_order, memory_scope);
13613 #endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13614 #endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
13616 // The functionality added by cl_ext_float_atomics extension
13617 #if defined(cl_ext_float_atomics)
13619 #if defined(__opencl_c_ext_fp16_global_atomic_load_store)
13620 void __ovld atomic_store(volatile __global atomic_half *, half);
13621 void __ovld atomic_store_explicit(volatile __global atomic_half *,
13622 half, memory_order);
13623 void __ovld atomic_store_explicit(volatile __global atomic_half *,
13624 half, memory_order, memory_scope);
13625 half __ovld atomic_load(volatile __global atomic_half *);
13626 half __ovld atomic_load_explicit(volatile __global atomic_half *,
13627 memory_order);
13628 half __ovld atomic_load_explicit(volatile __global atomic_half *,
13629 memory_order, memory_scope);
13630 half __ovld atomic_exchange(volatile __global atomic_half *, half);
13631 half __ovld atomic_exchange_explicit(volatile __global atomic_half *,
13632 half, memory_order);
13633 half __ovld atomic_exchange_explicit(volatile __global atomic_half *,
13634 half, memory_order, memory_scope);
13635 #endif // defined(__opencl_c_ext_fp16_global_atomic_load_store)
13637 #if defined(__opencl_c_ext_fp16_local_atomic_load_store)
13638 void __ovld atomic_store(volatile __local atomic_half *, half);
13639 void __ovld atomic_store_explicit(volatile __local atomic_half *,
13640 half, memory_order);
13641 void __ovld atomic_store_explicit(volatile __local atomic_half *,
13642 half, memory_order, memory_scope);
13643 half __ovld atomic_load(volatile __local atomic_half *);
13644 half __ovld atomic_load_explicit(volatile __local atomic_half *,
13645 memory_order);
13646 half __ovld atomic_load_explicit(volatile __local atomic_half *,
13647 memory_order, memory_scope);
13648 half __ovld atomic_exchange(volatile __local atomic_half *, half);
13649 half __ovld atomic_exchange_explicit(volatile __local atomic_half *,
13650 half, memory_order);
13651 half __ovld atomic_exchange_explicit(volatile __local atomic_half *,
13652 half, memory_order, memory_scope);
13653 #endif // defined(__opencl_c_ext_fp16_local_atomic_load_store)
13655 #if defined(__opencl_c_ext_fp16_global_atomic_load_store) && \
13656 defined(__opencl_c_ext_fp16_local_atomic_load_store)
13657 void __ovld atomic_store(volatile atomic_half *, half);
13658 void __ovld atomic_store_explicit(volatile atomic_half *, half,
13659 memory_order);
13660 void __ovld atomic_store_explicit(volatile atomic_half *, half,
13661 memory_order, memory_scope);
13662 half __ovld atomic_load(volatile atomic_half *);
13663 half __ovld atomic_load_explicit(volatile atomic_half *,
13664 memory_order);
13665 half __ovld atomic_load_explicit(volatile atomic_half *,
13666 memory_order, memory_scope);
13667 half __ovld atomic_exchange(volatile atomic_half *, half);
13668 half __ovld atomic_exchange_explicit(volatile atomic_half *, half,
13669 memory_order);
13670 half __ovld atomic_exchange_explicit(volatile atomic_half *, half,
13671 memory_order, memory_scope);
13672 #endif // defined(__opencl_c_ext_fp16_global_atomic_load_store) &&
13673 // defined(__opencl_c_ext_fp16_local_atomic_load_store)
13675 #if defined(__opencl_c_ext_fp16_global_atomic_min_max)
13676 half __ovld atomic_fetch_min(volatile __global atomic_half *, half);
13677 half __ovld atomic_fetch_max(volatile __global atomic_half *, half);
13678 half __ovld atomic_fetch_min_explicit(volatile __global atomic_half *,
13679 half, memory_order);
13680 half __ovld atomic_fetch_max_explicit(volatile __global atomic_half *,
13681 half, memory_order);
13682 half __ovld atomic_fetch_min_explicit(volatile __global atomic_half *,
13683 half, memory_order, memory_scope);
13684 half __ovld atomic_fetch_max_explicit(volatile __global atomic_half *,
13685 half, memory_order, memory_scope);
13686 #endif // defined(__opencl_c_ext_fp16_global_atomic_min_max)
13688 #if defined(__opencl_c_ext_fp16_local_atomic_min_max)
13689 half __ovld atomic_fetch_min(volatile __local atomic_half *, half);
13690 half __ovld atomic_fetch_max(volatile __local atomic_half *, half);
13691 half __ovld atomic_fetch_min_explicit(volatile __local atomic_half *,
13692 half, memory_order);
13693 half __ovld atomic_fetch_max_explicit(volatile __local atomic_half *,
13694 half, memory_order);
13695 half __ovld atomic_fetch_min_explicit(volatile __local atomic_half *,
13696 half, memory_order, memory_scope);
13697 half __ovld atomic_fetch_max_explicit(volatile __local atomic_half *,
13698 half, memory_order, memory_scope);
13699 #endif // defined(__opencl_c_ext_fp16_local_atomic_min_max)
13701 #if defined(__opencl_c_ext_fp16_global_atomic_min_max) && \
13702 defined(__opencl_c_ext_fp16_local_atomic_min_max)
13703 half __ovld atomic_fetch_min(volatile atomic_half *, half);
13704 half __ovld atomic_fetch_max(volatile atomic_half *, half);
13705 half __ovld atomic_fetch_min_explicit(volatile atomic_half *,
13706 half, memory_order);
13707 half __ovld atomic_fetch_max_explicit(volatile atomic_half *,
13708 half, memory_order);
13709 half __ovld atomic_fetch_min_explicit(volatile atomic_half *,
13710 half, memory_order, memory_scope);
13711 half __ovld atomic_fetch_max_explicit(volatile atomic_half *,
13712 half, memory_order, memory_scope);
13713 #endif // defined(__opencl_c_ext_fp16_global_atomic_min_max) && \
13714 defined(__opencl_c_ext_fp16_local_atomic_min_max)
13716 #if defined(__opencl_c_ext_fp32_global_atomic_min_max)
13717 float __ovld atomic_fetch_min(volatile __global atomic_float *, float);
13718 float __ovld atomic_fetch_max(volatile __global atomic_float *, float);
13719 float __ovld atomic_fetch_min_explicit(volatile __global atomic_float *,
13720 float, memory_order);
13721 float __ovld atomic_fetch_max_explicit(volatile __global atomic_float *,
13722 float, memory_order);
13723 float __ovld atomic_fetch_min_explicit(volatile __global atomic_float *,
13724 float, memory_order, memory_scope);
13725 float __ovld atomic_fetch_max_explicit(volatile __global atomic_float *,
13726 float, memory_order, memory_scope);
13727 #endif // defined(__opencl_c_ext_fp32_global_atomic_min_max)
13729 #if defined(__opencl_c_ext_fp32_local_atomic_min_max)
13730 float __ovld atomic_fetch_min(volatile __local atomic_float *, float);
13731 float __ovld atomic_fetch_max(volatile __local atomic_float *, float);
13732 float __ovld atomic_fetch_min_explicit(volatile __local atomic_float *,
13733 float, memory_order);
13734 float __ovld atomic_fetch_max_explicit(volatile __local atomic_float *,
13735 float, memory_order);
13736 float __ovld atomic_fetch_min_explicit(volatile __local atomic_float *,
13737 float, memory_order, memory_scope);
13738 float __ovld atomic_fetch_max_explicit(volatile __local atomic_float *,
13739 float, memory_order, memory_scope);
13740 #endif // defined(__opencl_c_ext_fp32_local_atomic_min_max)
13742 #if defined(__opencl_c_ext_fp32_global_atomic_min_max) && \
13743 defined(__opencl_c_ext_fp32_local_atomic_min_max)
13744 float __ovld atomic_fetch_min(volatile atomic_float *, float);
13745 float __ovld atomic_fetch_max(volatile atomic_float *, float);
13746 float __ovld atomic_fetch_min_explicit(volatile atomic_float *,
13747 float, memory_order);
13748 float __ovld atomic_fetch_max_explicit(volatile atomic_float *,
13749 float, memory_order);
13750 float __ovld atomic_fetch_min_explicit(volatile atomic_float *,
13751 float, memory_order, memory_scope);
13752 float __ovld atomic_fetch_max_explicit(volatile atomic_float *,
13753 float, memory_order, memory_scope);
13754 #endif // defined(__opencl_c_ext_fp32_global_atomic_min_max) && \
13755 defined(__opencl_c_ext_fp32_local_atomic_min_max)
13757 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13758 #if defined(__opencl_c_ext_fp64_global_atomic_min_max)
13759 double __ovld atomic_fetch_min(volatile __global atomic_double *, double);
13760 double __ovld atomic_fetch_max(volatile __global atomic_double *, double);
13761 double __ovld atomic_fetch_min_explicit(volatile __global atomic_double *,
13762 double, memory_order);
13763 double __ovld atomic_fetch_max_explicit(volatile __global atomic_double *,
13764 double, memory_order);
13765 double __ovld atomic_fetch_min_explicit(volatile __global atomic_double *,
13766 double, memory_order, memory_scope);
13767 double __ovld atomic_fetch_max_explicit(volatile __global atomic_double *,
13768 double, memory_order, memory_scope);
13769 #endif // defined(__opencl_c_ext_fp64_global_atomic_min_max)
13771 #if defined(__opencl_c_ext_fp64_local_atomic_min_max)
13772 double __ovld atomic_fetch_min(volatile __local atomic_double *, double);
13773 double __ovld atomic_fetch_max(volatile __local atomic_double *, double);
13774 double __ovld atomic_fetch_min_explicit(volatile __local atomic_double *,
13775 double, memory_order);
13776 double __ovld atomic_fetch_max_explicit(volatile __local atomic_double *,
13777 double, memory_order);
13778 double __ovld atomic_fetch_min_explicit(volatile __local atomic_double *,
13779 double, memory_order, memory_scope);
13780 double __ovld atomic_fetch_max_explicit(volatile __local atomic_double *,
13781 double, memory_order, memory_scope);
13782 #endif // defined(__opencl_c_ext_fp64_local_atomic_min_max)
13784 #if defined(__opencl_c_ext_fp64_global_atomic_min_max) && \
13785 defined(__opencl_c_ext_fp64_local_atomic_min_max)
13786 double __ovld atomic_fetch_min(volatile atomic_double *, double);
13787 double __ovld atomic_fetch_max(volatile atomic_double *, double);
13788 double __ovld atomic_fetch_min_explicit(volatile atomic_double *,
13789 double, memory_order);
13790 double __ovld atomic_fetch_max_explicit(volatile atomic_double *,
13791 double, memory_order);
13792 double __ovld atomic_fetch_min_explicit(volatile atomic_double *,
13793 double, memory_order, memory_scope);
13794 double __ovld atomic_fetch_max_explicit(volatile atomic_double *,
13795 double, memory_order, memory_scope);
13796 #endif // defined(__opencl_c_ext_fp64_global_atomic_min_max) && \
13797 defined(__opencl_c_ext_fp64_local_atomic_min_max)
13798 #endif // defined(cl_khr_int64_base_atomics) && \
13799 defined(cl_khr_int64_extended_atomics)
13801 #if defined(__opencl_c_ext_fp16_global_atomic_add)
13802 half __ovld atomic_fetch_add(volatile __global atomic_half *, half);
13803 half __ovld atomic_fetch_sub(volatile __global atomic_half *, half);
13804 half __ovld atomic_fetch_add_explicit(volatile __global atomic_half *,
13805 half, memory_order);
13806 half __ovld atomic_fetch_sub_explicit(volatile __global atomic_half *,
13807 half, memory_order);
13808 half __ovld atomic_fetch_add_explicit(volatile __global atomic_half *,
13809 half, memory_order, memory_scope);
13810 half __ovld atomic_fetch_sub_explicit(volatile __global atomic_half *,
13811 half, memory_order, memory_scope);
13812 #endif // defined(__opencl_c_ext_fp16_global_atomic_add)
13814 #if defined(__opencl_c_ext_fp16_local_atomic_add)
13815 half __ovld atomic_fetch_add(volatile __local atomic_half *, half);
13816 half __ovld atomic_fetch_sub(volatile __local atomic_half *, half);
13817 half __ovld atomic_fetch_add_explicit(volatile __local atomic_half *,
13818 half, memory_order);
13819 half __ovld atomic_fetch_sub_explicit(volatile __local atomic_half *,
13820 half, memory_order);
13821 half __ovld atomic_fetch_add_explicit(volatile __local atomic_half *,
13822 half, memory_order, memory_scope);
13823 half __ovld atomic_fetch_sub_explicit(volatile __local atomic_half *,
13824 half, memory_order, memory_scope);
13825 #endif // defined(__opencl_c_ext_fp16_local_atomic_add)
13827 #if defined(__opencl_c_ext_fp16_global_atomic_add) && \
13828 defined(__opencl_c_ext_fp16_local_atomic_add)
13829 half __ovld atomic_fetch_add(volatile atomic_half *, half);
13830 half __ovld atomic_fetch_sub(volatile atomic_half *, half);
13831 half __ovld atomic_fetch_add_explicit(volatile atomic_half *,
13832 half, memory_order);
13833 half __ovld atomic_fetch_sub_explicit(volatile atomic_half *,
13834 half, memory_order);
13835 half __ovld atomic_fetch_add_explicit(volatile atomic_half *,
13836 half, memory_order, memory_scope);
13837 half __ovld atomic_fetch_sub_explicit(volatile atomic_half *,
13838 half, memory_order, memory_scope);
13839 #endif // defined(__opencl_c_ext_fp16_global_atomic_add) && \
13840 defined(__opencl_c_ext_fp16_local_atomic_add)
13842 #if defined(__opencl_c_ext_fp32_global_atomic_add)
13843 float __ovld atomic_fetch_add(volatile __global atomic_float *, float);
13844 float __ovld atomic_fetch_sub(volatile __global atomic_float *, float);
13845 float __ovld atomic_fetch_add_explicit(volatile __global atomic_float *,
13846 float, memory_order);
13847 float __ovld atomic_fetch_sub_explicit(volatile __global atomic_float *,
13848 float, memory_order);
13849 float __ovld atomic_fetch_add_explicit(volatile __global atomic_float *,
13850 float, memory_order, memory_scope);
13851 float __ovld atomic_fetch_sub_explicit(volatile __global atomic_float *,
13852 float, memory_order, memory_scope);
13853 #endif // defined(__opencl_c_ext_fp32_global_atomic_add)
13855 #if defined(__opencl_c_ext_fp32_local_atomic_add)
13856 float __ovld atomic_fetch_add(volatile __local atomic_float *, float);
13857 float __ovld atomic_fetch_sub(volatile __local atomic_float *, float);
13858 float __ovld atomic_fetch_add_explicit(volatile __local atomic_float *,
13859 float, memory_order);
13860 float __ovld atomic_fetch_sub_explicit(volatile __local atomic_float *,
13861 float, memory_order);
13862 float __ovld atomic_fetch_add_explicit(volatile __local atomic_float *,
13863 float, memory_order, memory_scope);
13864 float __ovld atomic_fetch_sub_explicit(volatile __local atomic_float *,
13865 float, memory_order, memory_scope);
13866 #endif // defined(__opencl_c_ext_fp32_local_atomic_add)
13868 #if defined(__opencl_c_ext_fp32_global_atomic_add) && \
13869 defined(__opencl_c_ext_fp32_local_atomic_add)
13870 float __ovld atomic_fetch_add(volatile atomic_float *, float);
13871 float __ovld atomic_fetch_sub(volatile atomic_float *, float);
13872 float __ovld atomic_fetch_add_explicit(volatile atomic_float *,
13873 float, memory_order);
13874 float __ovld atomic_fetch_sub_explicit(volatile atomic_float *,
13875 float, memory_order);
13876 float __ovld atomic_fetch_add_explicit(volatile atomic_float *,
13877 float, memory_order, memory_scope);
13878 float __ovld atomic_fetch_sub_explicit(volatile atomic_float *,
13879 float, memory_order, memory_scope);
13880 #endif // defined(__opencl_c_ext_fp32_global_atomic_add) && \
13881 defined(__opencl_c_ext_fp32_local_atomic_add)
13883 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13884 #if defined(__opencl_c_ext_fp64_global_atomic_add)
13885 double __ovld atomic_fetch_add(volatile __global atomic_double *, double);
13886 double __ovld atomic_fetch_sub(volatile __global atomic_double *, double);
13887 double __ovld atomic_fetch_add_explicit(volatile __global atomic_double *,
13888 double, memory_order);
13889 double __ovld atomic_fetch_sub_explicit(volatile __global atomic_double *,
13890 double, memory_order);
13891 double __ovld atomic_fetch_add_explicit(volatile __global atomic_double *,
13892 double, memory_order, memory_scope);
13893 double __ovld atomic_fetch_sub_explicit(volatile __global atomic_double *,
13894 double, memory_order, memory_scope);
13895 #endif // defined(__opencl_c_ext_fp64_global_atomic_add)
13897 #if defined(__opencl_c_ext_fp64_local_atomic_add)
13898 double __ovld atomic_fetch_add(volatile __local atomic_double *, double);
13899 double __ovld atomic_fetch_sub(volatile __local atomic_double *, double);
13900 double __ovld atomic_fetch_add_explicit(volatile __local atomic_double *,
13901 double, memory_order);
13902 double __ovld atomic_fetch_sub_explicit(volatile __local atomic_double *,
13903 double, memory_order);
13904 double __ovld atomic_fetch_add_explicit(volatile __local atomic_double *,
13905 double, memory_order, memory_scope);
13906 double __ovld atomic_fetch_sub_explicit(volatile __local atomic_double *,
13907 double, memory_order, memory_scope);
13908 #endif // defined(__opencl_c_ext_fp64_local_atomic_add)
13910 #if defined(__opencl_c_ext_fp64_global_atomic_add) && \
13911 defined(__opencl_c_ext_fp64_local_atomic_add)
13912 double __ovld atomic_fetch_add(volatile atomic_double *, double);
13913 double __ovld atomic_fetch_sub(volatile atomic_double *, double);
13914 double __ovld atomic_fetch_add_explicit(volatile atomic_double *,
13915 double, memory_order);
13916 double __ovld atomic_fetch_sub_explicit(volatile atomic_double *,
13917 double, memory_order);
13918 double __ovld atomic_fetch_add_explicit(volatile atomic_double *,
13919 double, memory_order, memory_scope);
13920 double __ovld atomic_fetch_sub_explicit(volatile atomic_double *,
13921 double, memory_order, memory_scope);
13922 #endif // defined(__opencl_c_ext_fp64_global_atomic_add) && \
13923 defined(__opencl_c_ext_fp64_local_atomic_add)
13924 #endif // defined(cl_khr_int64_base_atomics) && \
13925 defined(cl_khr_int64_extended_atomics)
13927 #endif // cl_ext_float_atomics
13929 // atomic_store()
13931 #if defined(__opencl_c_atomic_order_seq_cst) && defined(__opencl_c_atomic_scope_device)
13932 #if defined(__opencl_c_generic_address_space)
13933 void __ovld atomic_store(volatile atomic_int *, int);
13934 void __ovld atomic_store(volatile atomic_uint *, uint);
13935 void __ovld atomic_store(volatile atomic_float *, float);
13937 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13938 #ifdef cl_khr_fp64
13939 void __ovld atomic_store(volatile atomic_double *, double);
13940 #endif //cl_khr_fp64
13941 void __ovld atomic_store(volatile atomic_long *, long);
13942 void __ovld atomic_store(volatile atomic_ulong *, ulong);
13943 #endif
13944 #endif //defined(__opencl_c_generic_address_space)
13945 #if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
13946 void __ovld atomic_store(volatile __global atomic_int *, int);
13947 void __ovld atomic_store(volatile __local atomic_int *, int);
13948 void __ovld atomic_store(volatile __global atomic_uint *, uint);
13949 void __ovld atomic_store(volatile __local atomic_uint *, uint);
13950 void __ovld atomic_store(volatile __global atomic_float *, float);
13951 void __ovld atomic_store(volatile __local atomic_float *, float);
13952 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13953 #ifdef cl_khr_fp64
13954 void __ovld atomic_store(volatile __global atomic_double *, double);
13955 void __ovld atomic_store(volatile __local atomic_double *, double);
13956 #endif //cl_khr_fp64
13957 void __ovld atomic_store(volatile __global atomic_long *, long);
13958 void __ovld atomic_store(volatile __local atomic_long *, long);
13959 void __ovld atomic_store(volatile __global atomic_ulong *, ulong);
13960 void __ovld atomic_store(volatile __local atomic_ulong *, ulong);
13961 #endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13962 #endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
13963 #endif
13965 #if defined(__opencl_c_atomic_scope_device)
13966 #if defined(__opencl_c_generic_address_space)
13967 void __ovld atomic_store_explicit(volatile atomic_int *, int, memory_order);
13968 void __ovld atomic_store_explicit(volatile atomic_uint *, uint, memory_order);
13969 void __ovld atomic_store_explicit(volatile atomic_float *, float, memory_order);
13970 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13971 #ifdef cl_khr_fp64
13972 void __ovld atomic_store_explicit(volatile atomic_double *, double, memory_order);
13973 #endif //cl_khr_fp64
13974 void __ovld atomic_store_explicit(volatile atomic_long *, long, memory_order);
13975 void __ovld atomic_store_explicit(volatile atomic_ulong *, ulong, memory_order);
13976 #endif
13977 #endif //defined(__opencl_c_generic_address_space)
13978 #if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
13979 void __ovld atomic_store_explicit(volatile __global atomic_int *, int, memory_order);
13980 void __ovld atomic_store_explicit(volatile __local atomic_int *, int, memory_order);
13981 void __ovld atomic_store_explicit(volatile __global atomic_uint *, uint, memory_order);
13982 void __ovld atomic_store_explicit(volatile __local atomic_uint *, uint, memory_order);
13983 void __ovld atomic_store_explicit(volatile __global atomic_float *, float, memory_order);
13984 void __ovld atomic_store_explicit(volatile __local atomic_float *, float, memory_order);
13985 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13986 #ifdef cl_khr_fp64
13987 void __ovld atomic_store_explicit(volatile __global atomic_double *, double, memory_order);
13988 void __ovld atomic_store_explicit(volatile __local atomic_double *, double, memory_order);
13989 #endif
13990 void __ovld atomic_store_explicit(volatile __global atomic_long *, long, memory_order);
13991 void __ovld atomic_store_explicit(volatile __local atomic_long *, long, memory_order);
13992 void __ovld atomic_store_explicit(volatile __global atomic_ulong *, ulong, memory_order);
13993 void __ovld atomic_store_explicit(volatile __local atomic_ulong *, ulong, memory_order);
13994 #endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13995 #endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
13996 #endif
13998 #if defined(__opencl_c_generic_address_space)
13999 void __ovld atomic_store_explicit(volatile atomic_int *, int, memory_order, memory_scope);
14000 void __ovld atomic_store_explicit(volatile atomic_uint *, uint, memory_order, memory_scope);
14001 void __ovld atomic_store_explicit(volatile atomic_float *, float, memory_order, memory_scope);
14002 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
14003 #ifdef cl_khr_fp64
14004 void __ovld atomic_store_explicit(volatile atomic_double *, double, memory_order, memory_scope);
14005 #endif //cl_khr_fp64
14006 void __ovld atomic_store_explicit(volatile atomic_long *, long, memory_order, memory_scope);
14007 void __ovld atomic_store_explicit(volatile atomic_ulong *, ulong, memory_order, memory_scope);
14008 #endif
14009 #endif //defined(__opencl_c_generic_address_space)
14010 #if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
14011 void __ovld atomic_store_explicit(volatile __global atomic_int *, int, memory_order, memory_scope);
14012 void __ovld atomic_store_explicit(volatile __local atomic_int *, int, memory_order, memory_scope);
14013 void __ovld atomic_store_explicit(volatile __global atomic_uint *, uint, memory_order, memory_scope);
14014 void __ovld atomic_store_explicit(volatile __local atomic_uint *, uint, memory_order, memory_scope);
14015 void __ovld atomic_store_explicit(volatile __global atomic_float *, float, memory_order, memory_scope);
14016 void __ovld atomic_store_explicit(volatile __local atomic_float *, float, memory_order, memory_scope);
14017 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
14018 #ifdef cl_khr_fp64
14019 void __ovld atomic_store_explicit(volatile __global atomic_double *, double, memory_order, memory_scope);
14020 void __ovld atomic_store_explicit(volatile __local atomic_double *, double, memory_order, memory_scope);
14021 #endif //cl_khr_fp64
14022 void __ovld atomic_store_explicit(volatile __global atomic_long *, long, memory_order, memory_scope);
14023 void __ovld atomic_store_explicit(volatile __local atomic_long *, long, memory_order, memory_scope);
14024 void __ovld atomic_store_explicit(volatile __global atomic_ulong *, ulong, memory_order, memory_scope);
14025 void __ovld atomic_store_explicit(volatile __local atomic_ulong *, ulong, memory_order, memory_scope);
14026 #endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
14027 #endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
14029 // atomic_load()
14030 #if defined(__opencl_c_atomic_order_seq_cst) && defined(__opencl_c_atomic_scope_device)
14031 #if defined(__opencl_c_generic_address_space)
14032 int __ovld atomic_load(volatile atomic_int *);
14033 uint __ovld atomic_load(volatile atomic_uint *);
14034 float __ovld atomic_load(volatile atomic_float *);
14035 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
14036 #ifdef cl_khr_fp64
14037 double __ovld atomic_load(volatile atomic_double *);
14038 #endif //cl_khr_fp64
14039 long __ovld atomic_load(volatile atomic_long *);
14040 ulong __ovld atomic_load(volatile atomic_ulong *);
14041 #endif
14042 #endif //defined(__opencl_c_generic_address_space)
14043 #if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
14044 int __ovld atomic_load(volatile __global atomic_int *);
14045 int __ovld atomic_load(volatile __local atomic_int *);
14046 uint __ovld atomic_load(volatile __global atomic_uint *);
14047 uint __ovld atomic_load(volatile __local atomic_uint *);
14048 float __ovld atomic_load(volatile __global atomic_float *);
14049 float __ovld atomic_load(volatile __local atomic_float *);
14050 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
14051 #ifdef cl_khr_fp64
14052 double __ovld atomic_load(volatile __global atomic_double *);
14053 double __ovld atomic_load(volatile __local atomic_double *);
14054 #endif //cl_khr_fp64
14055 long __ovld atomic_load(volatile __global atomic_long *);
14056 long __ovld atomic_load(volatile __local atomic_long *);
14057 ulong __ovld atomic_load(volatile __global atomic_ulong *);
14058 ulong __ovld atomic_load(volatile __local atomic_ulong *);
14059 #endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
14060 #endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
14061 #endif
14063 #if defined(__opencl_c_atomic_scope_device)
14064 #if defined(__opencl_c_generic_address_space)
14065 int __ovld atomic_load_explicit(volatile atomic_int *, memory_order);
14066 uint __ovld atomic_load_explicit(volatile atomic_uint *, memory_order);
14067 float __ovld atomic_load_explicit(volatile atomic_float *, memory_order);
14068 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
14069 #ifdef cl_khr_fp64
14070 double __ovld atomic_load_explicit(volatile atomic_double *, memory_order);
14071 #endif //cl_khr_fp64
14072 long __ovld atomic_load_explicit(volatile atomic_long *, memory_order);
14073 ulong __ovld atomic_load_explicit(volatile atomic_ulong *, memory_order);
14074 #endif
14075 #endif //defined(__opencl_c_generic_address_space)
14076 #if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
14077 int __ovld atomic_load_explicit(volatile __global atomic_int *, memory_order);
14078 int __ovld atomic_load_explicit(volatile __local atomic_int *, memory_order);
14079 uint __ovld atomic_load_explicit(volatile __global atomic_uint *, memory_order);
14080 uint __ovld atomic_load_explicit(volatile __local atomic_uint *, memory_order);
14081 float __ovld atomic_load_explicit(volatile __global atomic_float *, memory_order);
14082 float __ovld atomic_load_explicit(volatile __local atomic_float *, memory_order);
14083 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
14084 #ifdef cl_khr_fp64
14085 double __ovld atomic_load_explicit(volatile __global atomic_double *, memory_order);
14086 double __ovld atomic_load_explicit(volatile __local atomic_double *, memory_order);
14087 #endif //cl_khr_fp64
14088 long __ovld atomic_load_explicit(volatile __global atomic_long *, memory_order);
14089 long __ovld atomic_load_explicit(volatile __local atomic_long *, memory_order);
14090 ulong __ovld atomic_load_explicit(volatile __global atomic_ulong *, memory_order);
14091 ulong __ovld atomic_load_explicit(volatile __local atomic_ulong *, memory_order);
14092 #endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
14093 #endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
14094 #endif
14096 #if defined(__opencl_c_generic_address_space)
14097 int __ovld atomic_load_explicit(volatile atomic_int *, memory_order, memory_scope);
14098 uint __ovld atomic_load_explicit(volatile atomic_uint *, memory_order, memory_scope);
14099 float __ovld atomic_load_explicit(volatile atomic_float *, memory_order, memory_scope);
14100 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
14101 #ifdef cl_khr_fp64
14102 double __ovld atomic_load_explicit(volatile atomic_double *, memory_order, memory_scope);
14103 #endif //cl_khr_fp64
14104 long __ovld atomic_load_explicit(volatile atomic_long *, memory_order, memory_scope);
14105 ulong __ovld atomic_load_explicit(volatile atomic_ulong *, memory_order, memory_scope);
14106 #endif
14107 #endif //defined(__opencl_c_generic_address_space)
14108 #if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
14109 int __ovld atomic_load_explicit(volatile __global atomic_int *, memory_order, memory_scope);
14110 int __ovld atomic_load_explicit(volatile __local atomic_int *, memory_order, memory_scope);
14111 uint __ovld atomic_load_explicit(volatile __global atomic_uint *, memory_order, memory_scope);
14112 uint __ovld atomic_load_explicit(volatile __local atomic_uint *, memory_order, memory_scope);
14113 float __ovld atomic_load_explicit(volatile __global atomic_float *, memory_order, memory_scope);
14114 float __ovld atomic_load_explicit(volatile __local atomic_float *, memory_order, memory_scope);
14115 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
14116 #ifdef cl_khr_fp64
14117 double __ovld atomic_load_explicit(volatile __global atomic_double *, memory_order, memory_scope);
14118 double __ovld atomic_load_explicit(volatile __local atomic_double *, memory_order, memory_scope);
14119 #endif
14120 long __ovld atomic_load_explicit(volatile __global atomic_long *, memory_order, memory_scope);
14121 long __ovld atomic_load_explicit(volatile __local atomic_long *, memory_order, memory_scope);
14122 ulong __ovld atomic_load_explicit(volatile __global atomic_ulong *, memory_order, memory_scope);
14123 ulong __ovld atomic_load_explicit(volatile __local atomic_ulong *, memory_order, memory_scope);
14124 #endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
14125 #endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
14127 // atomic_exchange()
14129 #if defined(__opencl_c_atomic_order_seq_cst) && defined(__opencl_c_atomic_scope_device)
14130 #if defined(__opencl_c_generic_address_space)
14131 int __ovld atomic_exchange(volatile atomic_int *, int);
14132 uint __ovld atomic_exchange(volatile atomic_uint *, uint);
14133 float __ovld atomic_exchange(volatile atomic_float *, float);
14134 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
14135 #ifdef cl_khr_fp64
14136 double __ovld atomic_exchange(volatile atomic_double *, double);
14137 #endif //cl_khr_fp64
14138 long __ovld atomic_exchange(volatile atomic_long *, long);
14139 ulong __ovld atomic_exchange(volatile atomic_ulong *, ulong);
14140 #endif
14141 #endif //defined(__opencl_c_generic_address_space)
14142 #if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
14143 int __ovld atomic_exchange(volatile __global atomic_int *, int);
14144 int __ovld atomic_exchange(volatile __local atomic_int *, int);
14145 uint __ovld atomic_exchange(volatile __global atomic_uint *, uint);
14146 uint __ovld atomic_exchange(volatile __local atomic_uint *, uint);
14147 float __ovld atomic_exchange(volatile __global atomic_float *, float);
14148 float __ovld atomic_exchange(volatile __local atomic_float *, float);
14149 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
14150 #ifdef cl_khr_fp64
14151 double __ovld atomic_exchange(volatile __global atomic_double *, double);
14152 double __ovld atomic_exchange(volatile __local atomic_double *, double);
14153 #endif //cl_khr_fp64
14154 long __ovld atomic_exchange(volatile __global atomic_long *, long);
14155 long __ovld atomic_exchange(volatile __local atomic_long *, long);
14156 ulong __ovld atomic_exchange(volatile __global atomic_ulong *, ulong);
14157 ulong __ovld atomic_exchange(volatile __local atomic_ulong *, ulong);
14158 #endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
14159 #endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
14160 #endif
14162 #if defined(__opencl_c_atomic_scope_device)
14163 #if defined(__opencl_c_generic_address_space)
14164 int __ovld atomic_exchange_explicit(volatile atomic_int *, int, memory_order);
14165 uint __ovld atomic_exchange_explicit(volatile atomic_uint *, uint, memory_order);
14166 float __ovld atomic_exchange_explicit(volatile atomic_float *, float, memory_order);
14167 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
14168 #ifdef cl_khr_fp64
14169 double __ovld atomic_exchange_explicit(volatile atomic_double *, double, memory_order);
14170 #endif //cl_khr_fp64
14171 long __ovld atomic_exchange_explicit(volatile atomic_long *, long, memory_order);
14172 ulong __ovld atomic_exchange_explicit(volatile atomic_ulong *, ulong, memory_order);
14173 #endif
14174 #endif //defined(__opencl_c_generic_address_space)
14175 #if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
14176 int __ovld atomic_exchange_explicit(volatile __global atomic_int *, int, memory_order);
14177 int __ovld atomic_exchange_explicit(volatile __local atomic_int *, int, memory_order);
14178 uint __ovld atomic_exchange_explicit(volatile __global atomic_uint *, uint, memory_order);
14179 uint __ovld atomic_exchange_explicit(volatile __local atomic_uint *, uint, memory_order);
14180 float __ovld atomic_exchange_explicit(volatile __global atomic_float *, float, memory_order);
14181 float __ovld atomic_exchange_explicit(volatile __local atomic_float *, float, memory_order);
14182 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
14183 #ifdef cl_khr_fp64
14184 double __ovld atomic_exchange_explicit(volatile __global atomic_double *, double, memory_order);
14185 double __ovld atomic_exchange_explicit(volatile __local atomic_double *, double, memory_order);
14186 #endif //cl_khr_fp64
14187 long __ovld atomic_exchange_explicit(volatile __global atomic_long *, long, memory_order);
14188 long __ovld atomic_exchange_explicit(volatile __local atomic_long *, long, memory_order);
14189 ulong __ovld atomic_exchange_explicit(volatile __global atomic_ulong *, ulong, memory_order);
14190 ulong __ovld atomic_exchange_explicit(volatile __local atomic_ulong *, ulong, memory_order);
14191 #endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)wi
14192 #endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
14193 #endif
14195 #if defined(__opencl_c_generic_address_space)
14196 int __ovld atomic_exchange_explicit(volatile atomic_int *, int, memory_order, memory_scope);
14197 uint __ovld atomic_exchange_explicit(volatile atomic_uint *, uint, memory_order, memory_scope);
14198 float __ovld atomic_exchange_explicit(volatile atomic_float *, float, memory_order, memory_scope);
14199 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
14200 #ifdef cl_khr_fp64
14201 double __ovld atomic_exchange_explicit(volatile atomic_double *, double, memory_order, memory_scope);
14202 #endif //cl_khr_fp64
14203 long __ovld atomic_exchange_explicit(volatile atomic_long *, long, memory_order, memory_scope);
14204 ulong __ovld atomic_exchange_explicit(volatile atomic_ulong *, ulong, memory_order, memory_scope);
14205 #endif
14206 #endif //defined(__opencl_c_generic_address_space)
14207 #if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
14208 int __ovld atomic_exchange_explicit(volatile __global atomic_int *, int, memory_order, memory_scope);
14209 int __ovld atomic_exchange_explicit(volatile __local atomic_int *, int, memory_order, memory_scope);
14210 uint __ovld atomic_exchange_explicit(volatile __global atomic_uint *, uint, memory_order, memory_scope);
14211 uint __ovld atomic_exchange_explicit(volatile __local atomic_uint *, uint, memory_order, memory_scope);
14212 float __ovld atomic_exchange_explicit(volatile __global atomic_float *, float, memory_order, memory_scope);
14213 float __ovld atomic_exchange_explicit(volatile __local atomic_float *, float, memory_order, memory_scope);
14214 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
14215 #ifdef cl_khr_fp64
14216 double __ovld atomic_exchange_explicit(volatile __global atomic_double *, double, memory_order, memory_scope);
14217 double __ovld atomic_exchange_explicit(volatile __local atomic_double *, double, memory_order, memory_scope);
14218 #endif //cl_khr_fp64
14219 long __ovld atomic_exchange_explicit(volatile __global atomic_long *, long, memory_order, memory_scope);
14220 long __ovld atomic_exchange_explicit(volatile __local atomic_long *, long, memory_order, memory_scope);
14221 ulong __ovld atomic_exchange_explicit(volatile __global atomic_ulong *, ulong, memory_order, memory_scope);
14222 ulong __ovld atomic_exchange_explicit(volatile __local atomic_ulong *, ulong, memory_order, memory_scope);
14223 #endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
14224 #endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
14226 // atomic_compare_exchange_strong() and atomic_compare_exchange_weak()
14227 #if defined(__opencl_c_atomic_order_seq_cst) && defined(__opencl_c_atomic_scope_device)
14228 #if defined(__opencl_c_generic_address_space)
14229 bool __ovld atomic_compare_exchange_strong(volatile atomic_int *, int *, int);
14230 bool __ovld atomic_compare_exchange_strong(volatile atomic_uint *, uint *, uint);
14231 bool __ovld atomic_compare_exchange_weak(volatile atomic_int *, int *, int);
14232 bool __ovld atomic_compare_exchange_weak(volatile atomic_uint *, uint *, uint);
14233 bool __ovld atomic_compare_exchange_strong(volatile atomic_float *, float *, float);
14234 bool __ovld atomic_compare_exchange_weak(volatile atomic_float *, float *, float);
14235 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
14236 #ifdef cl_khr_fp64
14237 bool __ovld atomic_compare_exchange_strong(volatile atomic_double *, double *, double);
14238 bool __ovld atomic_compare_exchange_weak(volatile atomic_double *, double *, double);
14239 #endif //cl_khr_fp64
14240 bool __ovld atomic_compare_exchange_strong(volatile atomic_long *, long *, long);
14241 bool __ovld atomic_compare_exchange_weak(volatile atomic_long *, long *, long);
14242 bool __ovld atomic_compare_exchange_strong(volatile atomic_ulong *, ulong *, ulong);
14243 bool __ovld atomic_compare_exchange_weak(volatile atomic_ulong *, ulong *, ulong);
14244 #endif
14245 #endif //defined(__opencl_c_generic_address_space)
14246 #if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
14247 bool __ovld atomic_compare_exchange_strong(volatile __global atomic_int *, __global int *, int);
14248 bool __ovld atomic_compare_exchange_strong(volatile __global atomic_int *, __local int *, int);
14249 bool __ovld atomic_compare_exchange_strong(volatile __global atomic_int *, __private int *, int);
14250 bool __ovld atomic_compare_exchange_strong(volatile __local atomic_int *, __global int *, int);
14251 bool __ovld atomic_compare_exchange_strong(volatile __local atomic_int *, __local int *, int);
14252 bool __ovld atomic_compare_exchange_strong(volatile __local atomic_int *, __private int *, int);
14253 bool __ovld atomic_compare_exchange_strong(volatile __global atomic_uint *, __global uint *, uint);
14254 bool __ovld atomic_compare_exchange_strong(volatile __global atomic_uint *, __local uint *, uint);
14255 bool __ovld atomic_compare_exchange_strong(volatile __global atomic_uint *, __private uint *, uint);
14256 bool __ovld atomic_compare_exchange_strong(volatile __local atomic_uint *, __global uint *, uint);
14257 bool __ovld atomic_compare_exchange_strong(volatile __local atomic_uint *, __local uint *, uint);
14258 bool __ovld atomic_compare_exchange_strong(volatile __local atomic_uint *, __private uint *, uint);
14259 bool __ovld atomic_compare_exchange_strong(volatile __global atomic_float *, __global float *, float);
14260 bool __ovld atomic_compare_exchange_strong(volatile __global atomic_float *, __local float *, float);
14261 bool __ovld atomic_compare_exchange_strong(volatile __global atomic_float *, __private float *, float);
14262 bool __ovld atomic_compare_exchange_strong(volatile __local atomic_float *, __global float *, float);
14263 bool __ovld atomic_compare_exchange_strong(volatile __local atomic_float *, __local float *, float);
14264 bool __ovld atomic_compare_exchange_strong(volatile __local atomic_float *, __private float *, float);
14265 bool __ovld atomic_compare_exchange_weak(volatile __global atomic_int *, __global int *, int);
14266 bool __ovld atomic_compare_exchange_weak(volatile __global atomic_int *, __local int *, int);
14267 bool __ovld atomic_compare_exchange_weak(volatile __global atomic_int *, __private int *, int);
14268 bool __ovld atomic_compare_exchange_weak(volatile __local atomic_int *, __global int *, int);
14269 bool __ovld atomic_compare_exchange_weak(volatile __local atomic_int *, __local int *, int);
14270 bool __ovld atomic_compare_exchange_weak(volatile __local atomic_int *, __private int *, int);
14271 bool __ovld atomic_compare_exchange_weak(volatile __global atomic_uint *, __global uint *, uint);
14272 bool __ovld atomic_compare_exchange_weak(volatile __global atomic_uint *, __local uint *, uint);
14273 bool __ovld atomic_compare_exchange_weak(volatile __global atomic_uint *, __private uint *, uint);
14274 bool __ovld atomic_compare_exchange_weak(volatile __local atomic_uint *, __global uint *, uint);
14275 bool __ovld atomic_compare_exchange_weak(volatile __local atomic_uint *, __local uint *, uint);
14276 bool __ovld atomic_compare_exchange_weak(volatile __local atomic_uint *, __private uint *, uint);
14277 bool __ovld atomic_compare_exchange_weak(volatile __global atomic_float *, __global float *, float);
14278 bool __ovld atomic_compare_exchange_weak(volatile __global atomic_float *, __local float *, float);
14279 bool __ovld atomic_compare_exchange_weak(volatile __global atomic_float *, __private float *, float);
14280 bool __ovld atomic_compare_exchange_weak(volatile __local atomic_float *, __global float *, float);
14281 bool __ovld atomic_compare_exchange_weak(volatile __local atomic_float *, __local float *, float);
14282 bool __ovld atomic_compare_exchange_weak(volatile __local atomic_float *, __private float *, float);
14283 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
14284 #ifdef cl_khr_fp64
14285 bool __ovld atomic_compare_exchange_strong(volatile __global atomic_double *, __global double *, double);
14286 bool __ovld atomic_compare_exchange_strong(volatile __global atomic_double *, __local double *, double);
14287 bool __ovld atomic_compare_exchange_strong(volatile __global atomic_double *, __private double *, double);
14288 bool __ovld atomic_compare_exchange_strong(volatile __local atomic_double *, __global double *, double);
14289 bool __ovld atomic_compare_exchange_strong(volatile __local atomic_double *, __local double *, double);
14290 bool __ovld atomic_compare_exchange_strong(volatile __local atomic_double *, __private double *, double);
14291 bool __ovld atomic_compare_exchange_weak(volatile __global atomic_double *, __global double *, double);
14292 bool __ovld atomic_compare_exchange_weak(volatile __global atomic_double *, __local double *, double);
14293 bool __ovld atomic_compare_exchange_weak(volatile __global atomic_double *, __private double *, double);
14294 bool __ovld atomic_compare_exchange_weak(volatile __local atomic_double *, __global double *, double);
14295 bool __ovld atomic_compare_exchange_weak(volatile __local atomic_double *, __local double *, double);
14296 bool __ovld atomic_compare_exchange_weak(volatile __local atomic_double *, __private double *, double);
14297 #endif //cl_khr_fp64
14298 bool __ovld atomic_compare_exchange_strong(volatile __global atomic_long *, __global long *, long);
14299 bool __ovld atomic_compare_exchange_strong(volatile __global atomic_long *, __local long *, long);
14300 bool __ovld atomic_compare_exchange_strong(volatile __global atomic_long *, __private long *, long);
14301 bool __ovld atomic_compare_exchange_strong(volatile __local atomic_long *, __global long *, long);
14302 bool __ovld atomic_compare_exchange_strong(volatile __local atomic_long *, __local long *, long);
14303 bool __ovld atomic_compare_exchange_strong(volatile __local atomic_long *, __private long *, long);
14304 bool __ovld atomic_compare_exchange_strong(volatile __global atomic_ulong *, __global ulong *, ulong);
14305 bool __ovld atomic_compare_exchange_strong(volatile __global atomic_ulong *, __local ulong *, ulong);
14306 bool __ovld atomic_compare_exchange_strong(volatile __global atomic_ulong *, __private ulong *, ulong);
14307 bool __ovld atomic_compare_exchange_strong(volatile __local atomic_ulong *, __global ulong *, ulong);
14308 bool __ovld atomic_compare_exchange_strong(volatile __local atomic_ulong *, __local ulong *, ulong);
14309 bool __ovld atomic_compare_exchange_strong(volatile __local atomic_ulong *, __private ulong *, ulong);
14310 bool __ovld atomic_compare_exchange_weak(volatile __global atomic_long *, __global long *, long);
14311 bool __ovld atomic_compare_exchange_weak(volatile __global atomic_long *, __local long *, long);
14312 bool __ovld atomic_compare_exchange_weak(volatile __global atomic_long *, __private long *, long);
14313 bool __ovld atomic_compare_exchange_weak(volatile __local atomic_long *, __global long *, long);
14314 bool __ovld atomic_compare_exchange_weak(volatile __local atomic_long *, __local long *, long);
14315 bool __ovld atomic_compare_exchange_weak(volatile __local atomic_long *, __private long *, long);
14316 bool __ovld atomic_compare_exchange_weak(volatile __global atomic_ulong *, __global ulong *, ulong);
14317 bool __ovld atomic_compare_exchange_weak(volatile __global atomic_ulong *, __local ulong *, ulong);
14318 bool __ovld atomic_compare_exchange_weak(volatile __global atomic_ulong *, __private ulong *, ulong);
14319 bool __ovld atomic_compare_exchange_weak(volatile __local atomic_ulong *, __global ulong *, ulong);
14320 bool __ovld atomic_compare_exchange_weak(volatile __local atomic_ulong *, __local ulong *, ulong);
14321 bool __ovld atomic_compare_exchange_weak(volatile __local atomic_ulong *, __private ulong *, ulong);
14322 #endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
14323 #endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
14324 #endif
14326 #if defined(__opencl_c_atomic_scope_device)
14327 #if defined(__opencl_c_generic_address_space)
14328 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_int *, int *, int, memory_order, memory_order);
14329 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_uint *, uint *, uint, memory_order, memory_order);
14330 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_int *, int *, int, memory_order, memory_order);
14331 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_uint *, uint *, uint, memory_order, memory_order);
14332 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_float *, float *, float, memory_order, memory_order);
14333 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_float *, float *, float, memory_order, memory_order);
14334 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
14335 #ifdef cl_khr_fp64
14336 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_double *, double *, double, memory_order, memory_order);
14337 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_double *, double *, double, memory_order, memory_order);
14338 #endif //cl_khr_fp64
14339 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_long *, long *, long, memory_order, memory_order);
14340 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_long *, long *, long, memory_order, memory_order);
14341 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_ulong *, ulong *, ulong, memory_order, memory_order);
14342 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_ulong *, ulong *, ulong, memory_order, memory_order);
14343 #endif
14344 #endif //defined(__opencl_c_generic_address_space)
14345 #if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
14346 bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_int *, __global int *, int, memory_order, memory_order);
14347 bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_int *, __local int *, int, memory_order, memory_order);
14348 bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_int *, __private int *, int, memory_order, memory_order);
14349 bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_int *, __global int *, int, memory_order, memory_order);
14350 bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_int *, __local int *, int, memory_order, memory_order);
14351 bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_int *, __private int *, int, memory_order, memory_order);
14352 bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_uint *, __global uint *, uint, memory_order, memory_order);
14353 bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_uint *, __local uint *, uint, memory_order, memory_order);
14354 bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_uint *, __private uint *, uint, memory_order, memory_order);
14355 bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_uint *, __global uint *, uint, memory_order, memory_order);
14356 bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_uint *, __local uint *, uint, memory_order, memory_order);
14357 bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_uint *, __private uint *, uint, memory_order, memory_order);
14358 bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_float *, __global float *, float, memory_order, memory_order);
14359 bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_float *, __local float *, float, memory_order, memory_order);
14360 bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_float *, __private float *, float, memory_order, memory_order);
14361 bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_float *, __global float *, float, memory_order, memory_order);
14362 bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_float *, __local float *, float, memory_order, memory_order);
14363 bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_float *, __private float *, float, memory_order, memory_order);
14364 bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_int *, __global int *, int, memory_order, memory_order);
14365 bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_int *, __local int *, int, memory_order, memory_order);
14366 bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_int *, __private int *, int, memory_order, memory_order);
14367 bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_int *, __global int *, int, memory_order, memory_order);
14368 bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_int *, __local int *, int, memory_order, memory_order);
14369 bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_int *, __private int *, int, memory_order, memory_order);
14370 bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_uint *, __global uint *, uint, memory_order, memory_order);
14371 bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_uint *, __local uint *, uint, memory_order, memory_order);
14372 bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_uint *, __private uint *, uint, memory_order, memory_order);
14373 bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_uint *, __global uint *, uint, memory_order, memory_order);
14374 bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_uint *, __local uint *, uint, memory_order, memory_order);
14375 bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_uint *, __private uint *, uint, memory_order, memory_order);
14376 bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_float *, __global float *, float, memory_order, memory_order);
14377 bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_float *, __local float *, float, memory_order, memory_order);
14378 bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_float *, __private float *, float, memory_order, memory_order);
14379 bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_float *, __global float *, float, memory_order, memory_order);
14380 bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_float *, __local float *, float, memory_order, memory_order);
14381 bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_float *, __private float *, float, memory_order, memory_order);
14382 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
14383 #ifdef cl_khr_fp64
14384 bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_double *, __global double *, double, memory_order, memory_order);
14385 bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_double *, __local double *, double, memory_order, memory_order);
14386 bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_double *, __private double *, double, memory_order, memory_order);
14387 bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_double *, __global double *, double, memory_order, memory_order);
14388 bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_double *, __local double *, double, memory_order, memory_order);
14389 bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_double *, __private double *, double, memory_order, memory_order);
14390 bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_double *, __global double *, double, memory_order, memory_order);
14391 bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_double *, __local double *, double, memory_order, memory_order);
14392 bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_double *, __private double *, double, memory_order, memory_order);
14393 bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_double *, __global double *, double, memory_order, memory_order);
14394 bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_double *, __local double *, double, memory_order, memory_order);
14395 bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_double *, __private double *, double, memory_order, memory_order);
14396 #endif //cl_khr_fp64
14397 bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_long *, __global long *, long, memory_order, memory_order);
14398 bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_long *, __local long *, long, memory_order, memory_order);
14399 bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_long *, __private long *, long, memory_order, memory_order);
14400 bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_long *, __global long *, long, memory_order, memory_order);
14401 bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_long *, __local long *, long, memory_order, memory_order);
14402 bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_long *, __private long *, long, memory_order, memory_order);
14403 bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_ulong *, __global ulong *, ulong, memory_order, memory_order);
14404 bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_ulong *, __local ulong *, ulong, memory_order, memory_order);
14405 bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_ulong *, __private ulong *, ulong, memory_order, memory_order);
14406 bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_ulong *, __global ulong *, ulong, memory_order, memory_order);
14407 bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_ulong *, __local ulong *, ulong, memory_order, memory_order);
14408 bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_ulong *, __private ulong *, ulong, memory_order, memory_order);
14409 bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_long *, __global long *, long, memory_order, memory_order);
14410 bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_long *, __local long *, long, memory_order, memory_order);
14411 bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_long *, __private long *, long, memory_order, memory_order);
14412 bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_long *, __global long *, long, memory_order, memory_order);
14413 bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_long *, __local long *, long, memory_order, memory_order);
14414 bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_long *, __private long *, long, memory_order, memory_order);
14415 bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_ulong *, __global ulong *, ulong, memory_order, memory_order);
14416 bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_ulong *, __local ulong *, ulong, memory_order, memory_order);
14417 bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_ulong *, __private ulong *, ulong, memory_order, memory_order);
14418 bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_ulong *, __global ulong *, ulong, memory_order, memory_order);
14419 bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_ulong *, __local ulong *, ulong, memory_order, memory_order);
14420 bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_ulong *, __private ulong *, ulong, memory_order, memory_order);
14421 #endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
14422 #endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
14423 #endif //defined(__opencl_c_atomic_scope_device)
14425 #if defined(__opencl_c_generic_address_space)
14426 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_int *, int *, int, memory_order, memory_order, memory_scope);
14427 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_uint *, uint *, uint, memory_order, memory_order, memory_scope);
14428 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_int *, int *, int, memory_order, memory_order, memory_scope);
14429 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_uint *, uint *, uint, memory_order, memory_order, memory_scope);
14430 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_float *, float *, float, memory_order, memory_order, memory_scope);
14431 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_float *, float *, float, memory_order, memory_order, memory_scope);
14432 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
14433 #ifdef cl_khr_fp64
14434 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_double *, double *, double, memory_order, memory_order, memory_scope);
14435 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_double *, double *, double, memory_order, memory_order, memory_scope);
14436 #endif //cl_khr_fp64
14437 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_long *, long *, long, memory_order, memory_order, memory_scope);
14438 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_long *, long *, long, memory_order, memory_order, memory_scope);
14439 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_ulong *, ulong *, ulong, memory_order, memory_order, memory_scope);
14440 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_ulong *, ulong *, ulong, memory_order, memory_order, memory_scope);
14441 #endif
14442 #endif //defined(__opencl_c_generic_address_space)
14443 #if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
14444 bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_int *, __global int *, int, memory_order, memory_order, memory_scope);
14445 bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_int *, __local int *, int, memory_order, memory_order, memory_scope);
14446 bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_int *, __private int *, int, memory_order, memory_order, memory_scope);
14447 bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_int *, __global int *, int, memory_order, memory_order, memory_scope);
14448 bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_int *, __local int *, int, memory_order, memory_order, memory_scope);
14449 bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_int *, __private int *, int, memory_order, memory_order, memory_scope);
14450 bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_uint *, __global uint *, uint, memory_order, memory_order, memory_scope);
14451 bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_uint *, __local uint *, uint, memory_order, memory_order, memory_scope);
14452 bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_uint *, __private uint *, uint, memory_order, memory_order, memory_scope);
14453 bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_uint *, __global uint *, uint, memory_order, memory_order, memory_scope);
14454 bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_uint *, __local uint *, uint, memory_order, memory_order, memory_scope);
14455 bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_uint *, __private uint *, uint, memory_order, memory_order, memory_scope);
14456 bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_float *, __global float *, float, memory_order, memory_order, memory_scope);
14457 bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_float *, __local float *, float, memory_order, memory_order, memory_scope);
14458 bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_float *, __private float *, float, memory_order, memory_order, memory_scope);
14459 bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_float *, __global float *, float, memory_order, memory_order, memory_scope);
14460 bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_float *, __local float *, float, memory_order, memory_order, memory_scope);
14461 bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_float *, __private float *, float, memory_order, memory_order, memory_scope);
14462 bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_int *, __global int *, int, memory_order, memory_order, memory_scope);
14463 bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_int *, __local int *, int, memory_order, memory_order, memory_scope);
14464 bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_int *, __private int *, int, memory_order, memory_order, memory_scope);
14465 bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_int *, __global int *, int, memory_order, memory_order, memory_scope);
14466 bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_int *, __local int *, int, memory_order, memory_order, memory_scope);
14467 bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_int *, __private int *, int, memory_order, memory_order, memory_scope);
14468 bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_uint *, __global uint *, uint, memory_order, memory_order, memory_scope);
14469 bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_uint *, __local uint *, uint, memory_order, memory_order, memory_scope);
14470 bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_uint *, __private uint *, uint, memory_order, memory_order, memory_scope);
14471 bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_uint *, __global uint *, uint, memory_order, memory_order, memory_scope);
14472 bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_uint *, __local uint *, uint, memory_order, memory_order, memory_scope);
14473 bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_uint *, __private uint *, uint, memory_order, memory_order, memory_scope);
14474 bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_float *, __global float *, float, memory_order, memory_order, memory_scope);
14475 bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_float *, __local float *, float, memory_order, memory_order, memory_scope);
14476 bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_float *, __private float *, float, memory_order, memory_order, memory_scope);
14477 bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_float *, __global float *, float, memory_order, memory_order, memory_scope);
14478 bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_float *, __local float *, float, memory_order, memory_order, memory_scope);
14479 bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_float *, __private float *, float, memory_order, memory_order, memory_scope);
14480 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
14481 #ifdef cl_khr_fp64
14482 bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_double *, __global double *, double, memory_order, memory_order, memory_scope);
14483 bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_double *, __local double *, double, memory_order, memory_order, memory_scope);
14484 bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_double *, __private double *, double, memory_order, memory_order, memory_scope);
14485 bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_double *, __global double *, double, memory_order, memory_order, memory_scope);
14486 bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_double *, __local double *, double, memory_order, memory_order, memory_scope);
14487 bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_double *, __private double *, double, memory_order, memory_order, memory_scope);
14488 bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_double *, __global double *, double, memory_order, memory_order, memory_scope);
14489 bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_double *, __local double *, double, memory_order, memory_order, memory_scope);
14490 bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_double *, __private double *, double, memory_order, memory_order, memory_scope);
14491 bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_double *, __global double *, double, memory_order, memory_order, memory_scope);
14492 bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_double *, __local double *, double, memory_order, memory_order, memory_scope);
14493 bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_double *, __private double *, double, memory_order, memory_order, memory_scope);
14494 #endif //cl_khr_fp64
14495 bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_long *, __global long *, long, memory_order, memory_order, memory_scope);
14496 bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_long *, __local long *, long, memory_order, memory_order, memory_scope);
14497 bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_long *, __private long *, long, memory_order, memory_order, memory_scope);
14498 bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_long *, __global long *, long, memory_order, memory_order, memory_scope);
14499 bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_long *, __local long *, long, memory_order, memory_order, memory_scope);
14500 bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_long *, __private long *, long, memory_order, memory_order, memory_scope);
14501 bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_ulong *, __global ulong *, ulong, memory_order, memory_order, memory_scope);
14502 bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_ulong *, __local ulong *, ulong, memory_order, memory_order, memory_scope);
14503 bool __ovld atomic_compare_exchange_strong_explicit(volatile __global atomic_ulong *, __private ulong *, ulong, memory_order, memory_order, memory_scope);
14504 bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_ulong *, __global ulong *, ulong, memory_order, memory_order, memory_scope);
14505 bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_ulong *, __local ulong *, ulong, memory_order, memory_order, memory_scope);
14506 bool __ovld atomic_compare_exchange_strong_explicit(volatile __local atomic_ulong *, __private ulong *, ulong, memory_order, memory_order, memory_scope);
14507 bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_long *, __global long *, long, memory_order, memory_order, memory_scope);
14508 bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_long *, __local long *, long, memory_order, memory_order, memory_scope);
14509 bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_long *, __private long *, long, memory_order, memory_order, memory_scope);
14510 bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_long *, __global long *, long, memory_order, memory_order, memory_scope);
14511 bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_long *, __local long *, long, memory_order, memory_order, memory_scope);
14512 bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_long *, __private long *, long, memory_order, memory_order, memory_scope);
14513 bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_ulong *, __global ulong *, ulong, memory_order, memory_order, memory_scope);
14514 bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_ulong *, __local ulong *, ulong, memory_order, memory_order, memory_scope);
14515 bool __ovld atomic_compare_exchange_weak_explicit(volatile __global atomic_ulong *, __private ulong *, ulong, memory_order, memory_order, memory_scope);
14516 bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_ulong *, __global ulong *, ulong, memory_order, memory_order, memory_scope);
14517 bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_ulong *, __local ulong *, ulong, memory_order, memory_order, memory_scope);
14518 bool __ovld atomic_compare_exchange_weak_explicit(volatile __local atomic_ulong *, __private ulong *, ulong, memory_order, memory_order, memory_scope);
14519 #endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
14520 #endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
14522 // atomic_flag_test_and_set() and atomic_flag_clear()
14523 #if defined(__opencl_c_atomic_order_seq_cst) && defined(__opencl_c_atomic_scope_device)
14524 #if defined(__opencl_c_generic_address_space)
14525 bool __ovld atomic_flag_test_and_set(volatile atomic_flag *);
14526 void __ovld atomic_flag_clear(volatile atomic_flag *);
14527 #endif //defined(__opencl_c_generic_address_space)
14528 #if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
14529 bool __ovld atomic_flag_test_and_set(volatile __global atomic_flag *);
14530 bool __ovld atomic_flag_test_and_set(volatile __local atomic_flag *);
14531 void __ovld atomic_flag_clear(volatile __global atomic_flag *);
14532 void __ovld atomic_flag_clear(volatile __local atomic_flag *);
14533 #endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
14534 #endif
14536 #if defined(__opencl_c_atomic_scope_device)
14537 #if defined(__opencl_c_generic_address_space)
14538 bool __ovld atomic_flag_test_and_set_explicit(volatile atomic_flag *, memory_order);
14539 void __ovld atomic_flag_clear_explicit(volatile atomic_flag *, memory_order);
14540 #endif //defined(__opencl_c_generic_address_space)
14541 #if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
14542 bool __ovld atomic_flag_test_and_set_explicit(volatile __global atomic_flag *, memory_order);
14543 bool __ovld atomic_flag_test_and_set_explicit(volatile __local atomic_flag *, memory_order);
14544 void __ovld atomic_flag_clear_explicit(volatile __global atomic_flag *, memory_order);
14545 void __ovld atomic_flag_clear_explicit(volatile __local atomic_flag *, memory_order);
14546 #endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
14547 #endif
14549 #if defined(__opencl_c_generic_address_space)
14550 bool __ovld atomic_flag_test_and_set_explicit(volatile atomic_flag *, memory_order, memory_scope);
14551 void __ovld atomic_flag_clear_explicit(volatile atomic_flag *, memory_order, memory_scope);
14552 #endif //defined(__opencl_c_generic_address_space)
14553 #if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
14554 bool __ovld atomic_flag_test_and_set_explicit(volatile __global atomic_flag *, memory_order, memory_scope);
14555 bool __ovld atomic_flag_test_and_set_explicit(volatile __local atomic_flag *, memory_order, memory_scope);
14556 void __ovld atomic_flag_clear_explicit(volatile __global atomic_flag *, memory_order, memory_scope);
14557 void __ovld atomic_flag_clear_explicit(volatile __local atomic_flag *, memory_order, memory_scope);
14558 #endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
14559 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
14561 // OpenCL v1.1 s6.11.12, v1.2 s6.12.12, v2.0 s6.13.12 - Miscellaneous Vector Functions
14564 * The shuffle and shuffle2 built-in functions construct
14565 * a permutation of elements from one or two input
14566 * vectors respectively that are of the same type,
14567 * returning a vector with the same element type as the
14568 * input and length that is the same as the shuffle mask.
14569 * The size of each element in the mask must match the
14570 * size of each element in the result. For shuffle, only
14571 * the ilogb(2m-1) least significant bits of each mask
14572 * element are considered. For shuffle2, only the
14573 * ilogb(2m-1)+1 least significant bits of each mask
14574 * element are considered. Other bits in the mask shall
14575 * be ignored.
14576 * The elements of the input vectors are numbered from
14577 * left to right across one or both of the vectors. For this
14578 * purpose, the number of elements in a vector is given
14579 * by vec_step(gentypem). The shuffle mask operand
14580 * specifies, for each element of the result vector, which
14581 * element of the one or two input vectors the result
14582 * element gets.
14583 * Examples:
14584 * uint4 mask = (uint4)(3, 2,
14585 * 1, 0);
14586 * float4 a;
14587 * float4 r = shuffle(a, mask);
14588 * // r.s0123 = a.wzyx
14589 * uint8 mask = (uint8)(0, 1, 2, 3,
14590 * 4, 5, 6, 7);
14591 * float4 a, b;
14592 * float8 r = shuffle2(a, b, mask);
14593 * // r.s0123 = a.xyzw
14594 * // r.s4567 = b.xyzw
14595 * uint4 mask;
14596 * float8 a;
14597 * float4 b;
14598 * b = shuffle(a, mask);
14599 * Examples that are not valid are:
14600 * uint8 mask;
14601 * short16 a;
14602 * short8 b;
14603 * b = shuffle(a, mask); <- not valid
14605 char2 __ovld __cnfn shuffle(char2, uchar2);
14606 char2 __ovld __cnfn shuffle(char4, uchar2);
14607 char2 __ovld __cnfn shuffle(char8, uchar2);
14608 char2 __ovld __cnfn shuffle(char16, uchar2);
14610 uchar2 __ovld __cnfn shuffle(uchar2, uchar2);
14611 uchar2 __ovld __cnfn shuffle(uchar4, uchar2);
14612 uchar2 __ovld __cnfn shuffle(uchar8, uchar2);
14613 uchar2 __ovld __cnfn shuffle(uchar16, uchar2);
14615 short2 __ovld __cnfn shuffle(short2, ushort2);
14616 short2 __ovld __cnfn shuffle(short4, ushort2);
14617 short2 __ovld __cnfn shuffle(short8, ushort2);
14618 short2 __ovld __cnfn shuffle(short16, ushort2);
14620 ushort2 __ovld __cnfn shuffle(ushort2, ushort2);
14621 ushort2 __ovld __cnfn shuffle(ushort4, ushort2);
14622 ushort2 __ovld __cnfn shuffle(ushort8, ushort2);
14623 ushort2 __ovld __cnfn shuffle(ushort16, ushort2);
14625 int2 __ovld __cnfn shuffle(int2, uint2);
14626 int2 __ovld __cnfn shuffle(int4, uint2);
14627 int2 __ovld __cnfn shuffle(int8, uint2);
14628 int2 __ovld __cnfn shuffle(int16, uint2);
14630 uint2 __ovld __cnfn shuffle(uint2, uint2);
14631 uint2 __ovld __cnfn shuffle(uint4, uint2);
14632 uint2 __ovld __cnfn shuffle(uint8, uint2);
14633 uint2 __ovld __cnfn shuffle(uint16, uint2);
14635 long2 __ovld __cnfn shuffle(long2, ulong2);
14636 long2 __ovld __cnfn shuffle(long4, ulong2);
14637 long2 __ovld __cnfn shuffle(long8, ulong2);
14638 long2 __ovld __cnfn shuffle(long16, ulong2);
14640 ulong2 __ovld __cnfn shuffle(ulong2, ulong2);
14641 ulong2 __ovld __cnfn shuffle(ulong4, ulong2);
14642 ulong2 __ovld __cnfn shuffle(ulong8, ulong2);
14643 ulong2 __ovld __cnfn shuffle(ulong16, ulong2);
14645 float2 __ovld __cnfn shuffle(float2, uint2);
14646 float2 __ovld __cnfn shuffle(float4, uint2);
14647 float2 __ovld __cnfn shuffle(float8, uint2);
14648 float2 __ovld __cnfn shuffle(float16, uint2);
14650 char4 __ovld __cnfn shuffle(char2, uchar4);
14651 char4 __ovld __cnfn shuffle(char4, uchar4);
14652 char4 __ovld __cnfn shuffle(char8, uchar4);
14653 char4 __ovld __cnfn shuffle(char16, uchar4);
14655 uchar4 __ovld __cnfn shuffle(uchar2, uchar4);
14656 uchar4 __ovld __cnfn shuffle(uchar4, uchar4);
14657 uchar4 __ovld __cnfn shuffle(uchar8, uchar4);
14658 uchar4 __ovld __cnfn shuffle(uchar16, uchar4);
14660 short4 __ovld __cnfn shuffle(short2, ushort4);
14661 short4 __ovld __cnfn shuffle(short4, ushort4);
14662 short4 __ovld __cnfn shuffle(short8, ushort4);
14663 short4 __ovld __cnfn shuffle(short16, ushort4);
14665 ushort4 __ovld __cnfn shuffle(ushort2, ushort4);
14666 ushort4 __ovld __cnfn shuffle(ushort4, ushort4);
14667 ushort4 __ovld __cnfn shuffle(ushort8, ushort4);
14668 ushort4 __ovld __cnfn shuffle(ushort16, ushort4);
14670 int4 __ovld __cnfn shuffle(int2, uint4);
14671 int4 __ovld __cnfn shuffle(int4, uint4);
14672 int4 __ovld __cnfn shuffle(int8, uint4);
14673 int4 __ovld __cnfn shuffle(int16, uint4);
14675 uint4 __ovld __cnfn shuffle(uint2, uint4);
14676 uint4 __ovld __cnfn shuffle(uint4, uint4);
14677 uint4 __ovld __cnfn shuffle(uint8, uint4);
14678 uint4 __ovld __cnfn shuffle(uint16, uint4);
14680 long4 __ovld __cnfn shuffle(long2, ulong4);
14681 long4 __ovld __cnfn shuffle(long4, ulong4);
14682 long4 __ovld __cnfn shuffle(long8, ulong4);
14683 long4 __ovld __cnfn shuffle(long16, ulong4);
14685 ulong4 __ovld __cnfn shuffle(ulong2, ulong4);
14686 ulong4 __ovld __cnfn shuffle(ulong4, ulong4);
14687 ulong4 __ovld __cnfn shuffle(ulong8, ulong4);
14688 ulong4 __ovld __cnfn shuffle(ulong16, ulong4);
14690 float4 __ovld __cnfn shuffle(float2, uint4);
14691 float4 __ovld __cnfn shuffle(float4, uint4);
14692 float4 __ovld __cnfn shuffle(float8, uint4);
14693 float4 __ovld __cnfn shuffle(float16, uint4);
14695 char8 __ovld __cnfn shuffle(char2, uchar8);
14696 char8 __ovld __cnfn shuffle(char4, uchar8);
14697 char8 __ovld __cnfn shuffle(char8, uchar8);
14698 char8 __ovld __cnfn shuffle(char16, uchar8);
14700 uchar8 __ovld __cnfn shuffle(uchar2, uchar8);
14701 uchar8 __ovld __cnfn shuffle(uchar4, uchar8);
14702 uchar8 __ovld __cnfn shuffle(uchar8, uchar8);
14703 uchar8 __ovld __cnfn shuffle(uchar16, uchar8);
14705 short8 __ovld __cnfn shuffle(short2, ushort8);
14706 short8 __ovld __cnfn shuffle(short4, ushort8);
14707 short8 __ovld __cnfn shuffle(short8, ushort8);
14708 short8 __ovld __cnfn shuffle(short16, ushort8);
14710 ushort8 __ovld __cnfn shuffle(ushort2, ushort8);
14711 ushort8 __ovld __cnfn shuffle(ushort4, ushort8);
14712 ushort8 __ovld __cnfn shuffle(ushort8, ushort8);
14713 ushort8 __ovld __cnfn shuffle(ushort16, ushort8);
14715 int8 __ovld __cnfn shuffle(int2, uint8);
14716 int8 __ovld __cnfn shuffle(int4, uint8);
14717 int8 __ovld __cnfn shuffle(int8, uint8);
14718 int8 __ovld __cnfn shuffle(int16, uint8);
14720 uint8 __ovld __cnfn shuffle(uint2, uint8);
14721 uint8 __ovld __cnfn shuffle(uint4, uint8);
14722 uint8 __ovld __cnfn shuffle(uint8, uint8);
14723 uint8 __ovld __cnfn shuffle(uint16, uint8);
14725 long8 __ovld __cnfn shuffle(long2, ulong8);
14726 long8 __ovld __cnfn shuffle(long4, ulong8);
14727 long8 __ovld __cnfn shuffle(long8, ulong8);
14728 long8 __ovld __cnfn shuffle(long16, ulong8);
14730 ulong8 __ovld __cnfn shuffle(ulong2, ulong8);
14731 ulong8 __ovld __cnfn shuffle(ulong4, ulong8);
14732 ulong8 __ovld __cnfn shuffle(ulong8, ulong8);
14733 ulong8 __ovld __cnfn shuffle(ulong16, ulong8);
14735 float8 __ovld __cnfn shuffle(float2, uint8);
14736 float8 __ovld __cnfn shuffle(float4, uint8);
14737 float8 __ovld __cnfn shuffle(float8, uint8);
14738 float8 __ovld __cnfn shuffle(float16, uint8);
14740 char16 __ovld __cnfn shuffle(char2, uchar16);
14741 char16 __ovld __cnfn shuffle(char4, uchar16);
14742 char16 __ovld __cnfn shuffle(char8, uchar16);
14743 char16 __ovld __cnfn shuffle(char16, uchar16);
14745 uchar16 __ovld __cnfn shuffle(uchar2, uchar16);
14746 uchar16 __ovld __cnfn shuffle(uchar4, uchar16);
14747 uchar16 __ovld __cnfn shuffle(uchar8, uchar16);
14748 uchar16 __ovld __cnfn shuffle(uchar16, uchar16);
14750 short16 __ovld __cnfn shuffle(short2, ushort16);
14751 short16 __ovld __cnfn shuffle(short4, ushort16);
14752 short16 __ovld __cnfn shuffle(short8, ushort16);
14753 short16 __ovld __cnfn shuffle(short16, ushort16);
14755 ushort16 __ovld __cnfn shuffle(ushort2, ushort16);
14756 ushort16 __ovld __cnfn shuffle(ushort4, ushort16);
14757 ushort16 __ovld __cnfn shuffle(ushort8, ushort16);
14758 ushort16 __ovld __cnfn shuffle(ushort16, ushort16);
14760 int16 __ovld __cnfn shuffle(int2, uint16);
14761 int16 __ovld __cnfn shuffle(int4, uint16);
14762 int16 __ovld __cnfn shuffle(int8, uint16);
14763 int16 __ovld __cnfn shuffle(int16, uint16);
14765 uint16 __ovld __cnfn shuffle(uint2, uint16);
14766 uint16 __ovld __cnfn shuffle(uint4, uint16);
14767 uint16 __ovld __cnfn shuffle(uint8, uint16);
14768 uint16 __ovld __cnfn shuffle(uint16, uint16);
14770 long16 __ovld __cnfn shuffle(long2, ulong16);
14771 long16 __ovld __cnfn shuffle(long4, ulong16);
14772 long16 __ovld __cnfn shuffle(long8, ulong16);
14773 long16 __ovld __cnfn shuffle(long16, ulong16);
14775 ulong16 __ovld __cnfn shuffle(ulong2, ulong16);
14776 ulong16 __ovld __cnfn shuffle(ulong4, ulong16);
14777 ulong16 __ovld __cnfn shuffle(ulong8, ulong16);
14778 ulong16 __ovld __cnfn shuffle(ulong16, ulong16);
14780 float16 __ovld __cnfn shuffle(float2, uint16);
14781 float16 __ovld __cnfn shuffle(float4, uint16);
14782 float16 __ovld __cnfn shuffle(float8, uint16);
14783 float16 __ovld __cnfn shuffle(float16, uint16);
14785 #ifdef cl_khr_fp64
14786 double2 __ovld __cnfn shuffle(double2, ulong2);
14787 double2 __ovld __cnfn shuffle(double4, ulong2);
14788 double2 __ovld __cnfn shuffle(double8, ulong2);
14789 double2 __ovld __cnfn shuffle(double16, ulong2);
14791 double4 __ovld __cnfn shuffle(double2, ulong4);
14792 double4 __ovld __cnfn shuffle(double4, ulong4);
14793 double4 __ovld __cnfn shuffle(double8, ulong4);
14794 double4 __ovld __cnfn shuffle(double16, ulong4);
14796 double8 __ovld __cnfn shuffle(double2, ulong8);
14797 double8 __ovld __cnfn shuffle(double4, ulong8);
14798 double8 __ovld __cnfn shuffle(double8, ulong8);
14799 double8 __ovld __cnfn shuffle(double16, ulong8);
14801 double16 __ovld __cnfn shuffle(double2, ulong16);
14802 double16 __ovld __cnfn shuffle(double4, ulong16);
14803 double16 __ovld __cnfn shuffle(double8, ulong16);
14804 double16 __ovld __cnfn shuffle(double16, ulong16);
14805 #endif //cl_khr_fp64
14807 #ifdef cl_khr_fp16
14808 half2 __ovld __cnfn shuffle(half2, ushort2);
14809 half2 __ovld __cnfn shuffle(half4, ushort2);
14810 half2 __ovld __cnfn shuffle(half8, ushort2);
14811 half2 __ovld __cnfn shuffle(half16, ushort2);
14813 half4 __ovld __cnfn shuffle(half2, ushort4);
14814 half4 __ovld __cnfn shuffle(half4, ushort4);
14815 half4 __ovld __cnfn shuffle(half8, ushort4);
14816 half4 __ovld __cnfn shuffle(half16, ushort4);
14818 half8 __ovld __cnfn shuffle(half2, ushort8);
14819 half8 __ovld __cnfn shuffle(half4, ushort8);
14820 half8 __ovld __cnfn shuffle(half8, ushort8);
14821 half8 __ovld __cnfn shuffle(half16, ushort8);
14823 half16 __ovld __cnfn shuffle(half2, ushort16);
14824 half16 __ovld __cnfn shuffle(half4, ushort16);
14825 half16 __ovld __cnfn shuffle(half8, ushort16);
14826 half16 __ovld __cnfn shuffle(half16, ushort16);
14827 #endif //cl_khr_fp16
14829 char2 __ovld __cnfn shuffle2(char2, char2, uchar2);
14830 char2 __ovld __cnfn shuffle2(char4, char4, uchar2);
14831 char2 __ovld __cnfn shuffle2(char8, char8, uchar2);
14832 char2 __ovld __cnfn shuffle2(char16, char16, uchar2);
14834 uchar2 __ovld __cnfn shuffle2(uchar2, uchar2, uchar2);
14835 uchar2 __ovld __cnfn shuffle2(uchar4, uchar4, uchar2);
14836 uchar2 __ovld __cnfn shuffle2(uchar8, uchar8, uchar2);
14837 uchar2 __ovld __cnfn shuffle2(uchar16, uchar16, uchar2);
14839 short2 __ovld __cnfn shuffle2(short2, short2, ushort2);
14840 short2 __ovld __cnfn shuffle2(short4, short4, ushort2);
14841 short2 __ovld __cnfn shuffle2(short8, short8, ushort2);
14842 short2 __ovld __cnfn shuffle2(short16, short16, ushort2);
14844 ushort2 __ovld __cnfn shuffle2(ushort2, ushort2, ushort2);
14845 ushort2 __ovld __cnfn shuffle2(ushort4, ushort4, ushort2);
14846 ushort2 __ovld __cnfn shuffle2(ushort8, ushort8, ushort2);
14847 ushort2 __ovld __cnfn shuffle2(ushort16, ushort16, ushort2);
14849 int2 __ovld __cnfn shuffle2(int2, int2, uint2);
14850 int2 __ovld __cnfn shuffle2(int4, int4, uint2);
14851 int2 __ovld __cnfn shuffle2(int8, int8, uint2);
14852 int2 __ovld __cnfn shuffle2(int16, int16, uint2);
14854 uint2 __ovld __cnfn shuffle2(uint2, uint2, uint2);
14855 uint2 __ovld __cnfn shuffle2(uint4, uint4, uint2);
14856 uint2 __ovld __cnfn shuffle2(uint8, uint8, uint2);
14857 uint2 __ovld __cnfn shuffle2(uint16, uint16, uint2);
14859 long2 __ovld __cnfn shuffle2(long2, long2, ulong2);
14860 long2 __ovld __cnfn shuffle2(long4, long4, ulong2);
14861 long2 __ovld __cnfn shuffle2(long8, long8, ulong2);
14862 long2 __ovld __cnfn shuffle2(long16, long16, ulong2);
14864 ulong2 __ovld __cnfn shuffle2(ulong2, ulong2, ulong2);
14865 ulong2 __ovld __cnfn shuffle2(ulong4, ulong4, ulong2);
14866 ulong2 __ovld __cnfn shuffle2(ulong8, ulong8, ulong2);
14867 ulong2 __ovld __cnfn shuffle2(ulong16, ulong16, ulong2);
14869 float2 __ovld __cnfn shuffle2(float2, float2, uint2);
14870 float2 __ovld __cnfn shuffle2(float4, float4, uint2);
14871 float2 __ovld __cnfn shuffle2(float8, float8, uint2);
14872 float2 __ovld __cnfn shuffle2(float16, float16, uint2);
14874 char4 __ovld __cnfn shuffle2(char2, char2, uchar4);
14875 char4 __ovld __cnfn shuffle2(char4, char4, uchar4);
14876 char4 __ovld __cnfn shuffle2(char8, char8, uchar4);
14877 char4 __ovld __cnfn shuffle2(char16, char16, uchar4);
14879 uchar4 __ovld __cnfn shuffle2(uchar2, uchar2, uchar4);
14880 uchar4 __ovld __cnfn shuffle2(uchar4, uchar4, uchar4);
14881 uchar4 __ovld __cnfn shuffle2(uchar8, uchar8, uchar4);
14882 uchar4 __ovld __cnfn shuffle2(uchar16, uchar16, uchar4);
14884 short4 __ovld __cnfn shuffle2(short2, short2, ushort4);
14885 short4 __ovld __cnfn shuffle2(short4, short4, ushort4);
14886 short4 __ovld __cnfn shuffle2(short8, short8, ushort4);
14887 short4 __ovld __cnfn shuffle2(short16, short16, ushort4);
14889 ushort4 __ovld __cnfn shuffle2(ushort2, ushort2, ushort4);
14890 ushort4 __ovld __cnfn shuffle2(ushort4, ushort4, ushort4);
14891 ushort4 __ovld __cnfn shuffle2(ushort8, ushort8, ushort4);
14892 ushort4 __ovld __cnfn shuffle2(ushort16, ushort16, ushort4);
14894 int4 __ovld __cnfn shuffle2(int2, int2, uint4);
14895 int4 __ovld __cnfn shuffle2(int4, int4, uint4);
14896 int4 __ovld __cnfn shuffle2(int8, int8, uint4);
14897 int4 __ovld __cnfn shuffle2(int16, int16, uint4);
14899 uint4 __ovld __cnfn shuffle2(uint2, uint2, uint4);
14900 uint4 __ovld __cnfn shuffle2(uint4, uint4, uint4);
14901 uint4 __ovld __cnfn shuffle2(uint8, uint8, uint4);
14902 uint4 __ovld __cnfn shuffle2(uint16, uint16, uint4);
14904 long4 __ovld __cnfn shuffle2(long2, long2, ulong4);
14905 long4 __ovld __cnfn shuffle2(long4, long4, ulong4);
14906 long4 __ovld __cnfn shuffle2(long8, long8, ulong4);
14907 long4 __ovld __cnfn shuffle2(long16, long16, ulong4);
14909 ulong4 __ovld __cnfn shuffle2(ulong2, ulong2, ulong4);
14910 ulong4 __ovld __cnfn shuffle2(ulong4, ulong4, ulong4);
14911 ulong4 __ovld __cnfn shuffle2(ulong8, ulong8, ulong4);
14912 ulong4 __ovld __cnfn shuffle2(ulong16, ulong16, ulong4);
14914 float4 __ovld __cnfn shuffle2(float2, float2, uint4);
14915 float4 __ovld __cnfn shuffle2(float4, float4, uint4);
14916 float4 __ovld __cnfn shuffle2(float8, float8, uint4);
14917 float4 __ovld __cnfn shuffle2(float16, float16, uint4);
14919 char8 __ovld __cnfn shuffle2(char2, char2, uchar8);
14920 char8 __ovld __cnfn shuffle2(char4, char4, uchar8);
14921 char8 __ovld __cnfn shuffle2(char8, char8, uchar8);
14922 char8 __ovld __cnfn shuffle2(char16, char16, uchar8);
14924 uchar8 __ovld __cnfn shuffle2(uchar2, uchar2, uchar8);
14925 uchar8 __ovld __cnfn shuffle2(uchar4, uchar4, uchar8);
14926 uchar8 __ovld __cnfn shuffle2(uchar8, uchar8, uchar8);
14927 uchar8 __ovld __cnfn shuffle2(uchar16, uchar16, uchar8);
14929 short8 __ovld __cnfn shuffle2(short2, short2, ushort8);
14930 short8 __ovld __cnfn shuffle2(short4, short4, ushort8);
14931 short8 __ovld __cnfn shuffle2(short8, short8, ushort8);
14932 short8 __ovld __cnfn shuffle2(short16, short16, ushort8);
14934 ushort8 __ovld __cnfn shuffle2(ushort2, ushort2, ushort8);
14935 ushort8 __ovld __cnfn shuffle2(ushort4, ushort4, ushort8);
14936 ushort8 __ovld __cnfn shuffle2(ushort8, ushort8, ushort8);
14937 ushort8 __ovld __cnfn shuffle2(ushort16, ushort16, ushort8);
14939 int8 __ovld __cnfn shuffle2(int2, int2, uint8);
14940 int8 __ovld __cnfn shuffle2(int4, int4, uint8);
14941 int8 __ovld __cnfn shuffle2(int8, int8, uint8);
14942 int8 __ovld __cnfn shuffle2(int16, int16, uint8);
14944 uint8 __ovld __cnfn shuffle2(uint2, uint2, uint8);
14945 uint8 __ovld __cnfn shuffle2(uint4, uint4, uint8);
14946 uint8 __ovld __cnfn shuffle2(uint8, uint8, uint8);
14947 uint8 __ovld __cnfn shuffle2(uint16, uint16, uint8);
14949 long8 __ovld __cnfn shuffle2(long2, long2, ulong8);
14950 long8 __ovld __cnfn shuffle2(long4, long4, ulong8);
14951 long8 __ovld __cnfn shuffle2(long8, long8, ulong8);
14952 long8 __ovld __cnfn shuffle2(long16, long16, ulong8);
14954 ulong8 __ovld __cnfn shuffle2(ulong2, ulong2, ulong8);
14955 ulong8 __ovld __cnfn shuffle2(ulong4, ulong4, ulong8);
14956 ulong8 __ovld __cnfn shuffle2(ulong8, ulong8, ulong8);
14957 ulong8 __ovld __cnfn shuffle2(ulong16, ulong16, ulong8);
14959 float8 __ovld __cnfn shuffle2(float2, float2, uint8);
14960 float8 __ovld __cnfn shuffle2(float4, float4, uint8);
14961 float8 __ovld __cnfn shuffle2(float8, float8, uint8);
14962 float8 __ovld __cnfn shuffle2(float16, float16, uint8);
14964 char16 __ovld __cnfn shuffle2(char2, char2, uchar16);
14965 char16 __ovld __cnfn shuffle2(char4, char4, uchar16);
14966 char16 __ovld __cnfn shuffle2(char8, char8, uchar16);
14967 char16 __ovld __cnfn shuffle2(char16, char16, uchar16);
14969 uchar16 __ovld __cnfn shuffle2(uchar2, uchar2, uchar16);
14970 uchar16 __ovld __cnfn shuffle2(uchar4, uchar4, uchar16);
14971 uchar16 __ovld __cnfn shuffle2(uchar8, uchar8, uchar16);
14972 uchar16 __ovld __cnfn shuffle2(uchar16, uchar16, uchar16);
14974 short16 __ovld __cnfn shuffle2(short2, short2, ushort16);
14975 short16 __ovld __cnfn shuffle2(short4, short4, ushort16);
14976 short16 __ovld __cnfn shuffle2(short8, short8, ushort16);
14977 short16 __ovld __cnfn shuffle2(short16, short16, ushort16);
14979 ushort16 __ovld __cnfn shuffle2(ushort2, ushort2, ushort16);
14980 ushort16 __ovld __cnfn shuffle2(ushort4, ushort4, ushort16);
14981 ushort16 __ovld __cnfn shuffle2(ushort8, ushort8, ushort16);
14982 ushort16 __ovld __cnfn shuffle2(ushort16, ushort16, ushort16);
14984 int16 __ovld __cnfn shuffle2(int2, int2, uint16);
14985 int16 __ovld __cnfn shuffle2(int4, int4, uint16);
14986 int16 __ovld __cnfn shuffle2(int8, int8, uint16);
14987 int16 __ovld __cnfn shuffle2(int16, int16, uint16);
14989 uint16 __ovld __cnfn shuffle2(uint2, uint2, uint16);
14990 uint16 __ovld __cnfn shuffle2(uint4, uint4, uint16);
14991 uint16 __ovld __cnfn shuffle2(uint8, uint8, uint16);
14992 uint16 __ovld __cnfn shuffle2(uint16, uint16, uint16);
14994 long16 __ovld __cnfn shuffle2(long2, long2, ulong16);
14995 long16 __ovld __cnfn shuffle2(long4, long4, ulong16);
14996 long16 __ovld __cnfn shuffle2(long8, long8, ulong16);
14997 long16 __ovld __cnfn shuffle2(long16, long16, ulong16);
14999 ulong16 __ovld __cnfn shuffle2(ulong2, ulong2, ulong16);
15000 ulong16 __ovld __cnfn shuffle2(ulong4, ulong4, ulong16);
15001 ulong16 __ovld __cnfn shuffle2(ulong8, ulong8, ulong16);
15002 ulong16 __ovld __cnfn shuffle2(ulong16, ulong16, ulong16);
15004 float16 __ovld __cnfn shuffle2(float2, float2, uint16);
15005 float16 __ovld __cnfn shuffle2(float4, float4, uint16);
15006 float16 __ovld __cnfn shuffle2(float8, float8, uint16);
15007 float16 __ovld __cnfn shuffle2(float16, float16, uint16);
15009 #ifdef cl_khr_fp64
15010 double2 __ovld __cnfn shuffle2(double2, double2, ulong2);
15011 double2 __ovld __cnfn shuffle2(double4, double4, ulong2);
15012 double2 __ovld __cnfn shuffle2(double8, double8, ulong2);
15013 double2 __ovld __cnfn shuffle2(double16, double16, ulong2);
15015 double4 __ovld __cnfn shuffle2(double2, double2, ulong4);
15016 double4 __ovld __cnfn shuffle2(double4, double4, ulong4);
15017 double4 __ovld __cnfn shuffle2(double8, double8, ulong4);
15018 double4 __ovld __cnfn shuffle2(double16, double16, ulong4);
15020 double8 __ovld __cnfn shuffle2(double2, double2, ulong8);
15021 double8 __ovld __cnfn shuffle2(double4, double4, ulong8);
15022 double8 __ovld __cnfn shuffle2(double8, double8, ulong8);
15023 double8 __ovld __cnfn shuffle2(double16, double16, ulong8);
15025 double16 __ovld __cnfn shuffle2(double2, double2, ulong16);
15026 double16 __ovld __cnfn shuffle2(double4, double4, ulong16);
15027 double16 __ovld __cnfn shuffle2(double8, double8, ulong16);
15028 double16 __ovld __cnfn shuffle2(double16, double16, ulong16);
15029 #endif //cl_khr_fp64
15031 #ifdef cl_khr_fp16
15032 half2 __ovld __cnfn shuffle2(half2, half2, ushort2);
15033 half2 __ovld __cnfn shuffle2(half4, half4, ushort2);
15034 half2 __ovld __cnfn shuffle2(half8, half8, ushort2);
15035 half2 __ovld __cnfn shuffle2(half16, half16, ushort2);
15037 half4 __ovld __cnfn shuffle2(half2, half2, ushort4);
15038 half4 __ovld __cnfn shuffle2(half4, half4, ushort4);
15039 half4 __ovld __cnfn shuffle2(half8, half8, ushort4);
15040 half4 __ovld __cnfn shuffle2(half16, half16, ushort4);
15042 half8 __ovld __cnfn shuffle2(half2, half2, ushort8);
15043 half8 __ovld __cnfn shuffle2(half4, half4, ushort8);
15044 half8 __ovld __cnfn shuffle2(half8, half8, ushort8);
15045 half8 __ovld __cnfn shuffle2(half16, half16, ushort8);
15047 half16 __ovld __cnfn shuffle2(half2, half2, ushort16);
15048 half16 __ovld __cnfn shuffle2(half4, half4, ushort16);
15049 half16 __ovld __cnfn shuffle2(half8, half8, ushort16);
15050 half16 __ovld __cnfn shuffle2(half16, half16, ushort16);
15051 #endif //cl_khr_fp16
15053 // OpenCL v1.1 s6.11.3, v1.2 s6.12.14, v2.0 s6.13.14 - Image Read and Write Functions
15055 #ifdef cl_khr_gl_msaa_sharing
15056 #pragma OPENCL EXTENSION cl_khr_gl_msaa_sharing : enable
15057 #endif //cl_khr_gl_msaa_sharing
15060 * Use the coordinate (coord.xy) to do an element lookup in
15061 * the 2D image object specified by image.
15063 * Use the coordinate (coord.x, coord.y, coord.z) to do
15064 * an element lookup in the 3D image object specified
15065 * by image. coord.w is ignored.
15067 * Use the coordinate (coord.z) to index into the
15068 * 2D image array object specified by image_array
15069 * and (coord.x, coord.y) to do an element lookup in
15070 * the 2D image object specified by image.
15072 * Use the coordinate (x) to do an element lookup in
15073 * the 1D image object specified by image.
15075 * Use the coordinate (coord.y) to index into the
15076 * 1D image array object specified by image_array
15077 * and (coord.x) to do an element lookup in
15078 * the 1D image object specified by image.
15080 * Use the coordinate (cood.xy) and sample to do an
15081 * element lookup in the 2D multi-sample image specified
15082 * by image.
15084 * Use coord.xy and sample to do an element
15085 * lookup in the 2D multi-sample image layer
15086 * identified by index coord.z in the 2D multi-sample
15087 * image array specified by image.
15089 * For mipmap images, use the mip-level specified by
15090 * the Level-of-Detail (lod) or use gradients for LOD
15091 * computation.
15093 * read_imagef returns floating-point values in the
15094 * range [0.0 ... 1.0] for image objects created with
15095 * image_channel_data_type set to one of the predefined
15096 * packed formats or CL_UNORM_INT8, or
15097 * CL_UNORM_INT16.
15099 * read_imagef returns floating-point values in the
15100 * range [-1.0 ... 1.0] for image objects created with
15101 * image_channel_data_type set to CL_SNORM_INT8,
15102 * or CL_SNORM_INT16.
15104 * read_imagef returns floating-point values for image
15105 * objects created with image_channel_data_type set to
15106 * CL_HALF_FLOAT or CL_FLOAT.
15108 * read_imagei and read_imageui return
15109 * unnormalized signed integer and unsigned integer
15110 * values respectively. Each channel will be stored in a
15111 * 32-bit integer.
15113 * read_imagei can only be used with image objects
15114 * created with image_channel_data_type set to one of
15115 * the following values:
15116 * CL_SIGNED_INT8,
15117 * CL_SIGNED_INT16 and
15118 * CL_SIGNED_INT32.
15119 * If the image_channel_data_type is not one of the
15120 * above values, the values returned by read_imagei
15121 * are undefined.
15123 * read_imageui can only be used with image objects
15124 * created with image_channel_data_type set to one of
15125 * the following values:
15126 * CL_UNSIGNED_INT8,
15127 * CL_UNSIGNED_INT16 and
15128 * CL_UNSIGNED_INT32.
15129 * If the image_channel_data_type is not one of the
15130 * above values, the values returned by read_imageui
15131 * are undefined.
15133 * The read_image{i|ui} calls support a nearest filter
15134 * only. The filter_mode specified in sampler
15135 * must be set to CLK_FILTER_NEAREST; otherwise
15136 * the values returned are undefined.
15138 * The read_image{f|i|ui} calls that take
15139 * integer coordinates must use a sampler with
15140 * normalized coordinates set to
15141 * CLK_NORMALIZED_COORDS_FALSE and
15142 * addressing mode set to
15143 * CLK_ADDRESS_CLAMP_TO_EDGE,
15144 * CLK_ADDRESS_CLAMP or CLK_ADDRESS_NONE;
15145 * otherwise the values returned are undefined.
15147 * Values returned by read_imagef for image objects
15148 * with image_channel_data_type values not specified
15149 * in the description above are undefined.
15152 float4 __ovld __purefn read_imagef(read_only image2d_t, sampler_t, int2);
15153 float4 __ovld __purefn read_imagef(read_only image2d_t, sampler_t, float2);
15155 int4 __ovld __purefn read_imagei(read_only image2d_t, sampler_t, int2);
15156 int4 __ovld __purefn read_imagei(read_only image2d_t, sampler_t, float2);
15157 uint4 __ovld __purefn read_imageui(read_only image2d_t, sampler_t, int2);
15158 uint4 __ovld __purefn read_imageui(read_only image2d_t, sampler_t, float2);
15160 float4 __ovld __purefn read_imagef(read_only image3d_t, sampler_t, int4);
15161 float4 __ovld __purefn read_imagef(read_only image3d_t, sampler_t, float4);
15163 int4 __ovld __purefn read_imagei(read_only image3d_t, sampler_t, int4);
15164 int4 __ovld __purefn read_imagei(read_only image3d_t, sampler_t, float4);
15165 uint4 __ovld __purefn read_imageui(read_only image3d_t, sampler_t, int4);
15166 uint4 __ovld __purefn read_imageui(read_only image3d_t, sampler_t, float4);
15168 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
15169 float4 __ovld __purefn read_imagef(read_only image2d_array_t, sampler_t, int4);
15170 float4 __ovld __purefn read_imagef(read_only image2d_array_t, sampler_t, float4);
15172 int4 __ovld __purefn read_imagei(read_only image2d_array_t, sampler_t, int4);
15173 int4 __ovld __purefn read_imagei(read_only image2d_array_t, sampler_t, float4);
15174 uint4 __ovld __purefn read_imageui(read_only image2d_array_t, sampler_t, int4);
15175 uint4 __ovld __purefn read_imageui(read_only image2d_array_t, sampler_t, float4);
15176 #endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
15178 float4 __ovld __purefn read_imagef(read_only image1d_t, sampler_t, int);
15179 float4 __ovld __purefn read_imagef(read_only image1d_t, sampler_t, float);
15181 int4 __ovld __purefn read_imagei(read_only image1d_t, sampler_t, int);
15182 int4 __ovld __purefn read_imagei(read_only image1d_t, sampler_t, float);
15183 uint4 __ovld __purefn read_imageui(read_only image1d_t, sampler_t, int);
15184 uint4 __ovld __purefn read_imageui(read_only image1d_t, sampler_t, float);
15186 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
15187 float4 __ovld __purefn read_imagef(read_only image1d_array_t, sampler_t, int2);
15188 float4 __ovld __purefn read_imagef(read_only image1d_array_t, sampler_t, float2);
15190 int4 __ovld __purefn read_imagei(read_only image1d_array_t, sampler_t, int2);
15191 int4 __ovld __purefn read_imagei(read_only image1d_array_t, sampler_t, float2);
15192 uint4 __ovld __purefn read_imageui(read_only image1d_array_t, sampler_t, int2);
15193 uint4 __ovld __purefn read_imageui(read_only image1d_array_t, sampler_t, float2);
15194 #endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
15196 #ifdef cl_khr_depth_images
15197 float __ovld __purefn read_imagef(read_only image2d_depth_t, sampler_t, float2);
15198 float __ovld __purefn read_imagef(read_only image2d_depth_t, sampler_t, int2);
15200 float __ovld __purefn read_imagef(read_only image2d_array_depth_t, sampler_t, float4);
15201 float __ovld __purefn read_imagef(read_only image2d_array_depth_t, sampler_t, int4);
15202 #endif //cl_khr_depth_images
15204 #if defined(cl_khr_gl_msaa_sharing)
15205 float4 __ovld __purefn read_imagef(read_only image2d_msaa_t, int2, int);
15206 int4 __ovld __purefn read_imagei(read_only image2d_msaa_t, int2, int);
15207 uint4 __ovld __purefn read_imageui(read_only image2d_msaa_t, int2, int);
15209 float __ovld __purefn read_imagef(read_only image2d_msaa_depth_t, int2, int);
15211 float4 __ovld __purefn read_imagef(read_only image2d_array_msaa_t, int4, int);
15212 int4 __ovld __purefn read_imagei(read_only image2d_array_msaa_t, int4, int);
15213 uint4 __ovld __purefn read_imageui(read_only image2d_array_msaa_t, int4, int);
15215 float __ovld __purefn read_imagef(read_only image2d_array_msaa_depth_t, int4, int);
15216 #endif //cl_khr_gl_msaa_sharing
15218 // OpenCL Extension v2.0 s9.18 - Mipmaps
15219 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15220 #ifdef cl_khr_mipmap_image
15222 float4 __ovld __purefn read_imagef(read_only image1d_t, sampler_t, float, float);
15223 int4 __ovld __purefn read_imagei(read_only image1d_t, sampler_t, float, float);
15224 uint4 __ovld __purefn read_imageui(read_only image1d_t, sampler_t, float, float);
15226 float4 __ovld __purefn read_imagef(read_only image1d_array_t, sampler_t, float2, float);
15227 int4 __ovld __purefn read_imagei(read_only image1d_array_t, sampler_t, float2, float);
15228 uint4 __ovld __purefn read_imageui(read_only image1d_array_t, sampler_t, float2, float);
15230 float4 __ovld __purefn read_imagef(read_only image2d_t, sampler_t, float2, float);
15231 int4 __ovld __purefn read_imagei(read_only image2d_t, sampler_t, float2, float);
15232 uint4 __ovld __purefn read_imageui(read_only image2d_t, sampler_t, float2, float);
15234 #ifdef cl_khr_depth_images
15235 float __ovld __purefn read_imagef(read_only image2d_depth_t, sampler_t, float2, float);
15236 #endif // cl_khr_depth_images
15238 float4 __ovld __purefn read_imagef(read_only image2d_array_t, sampler_t, float4, float);
15239 int4 __ovld __purefn read_imagei(read_only image2d_array_t, sampler_t, float4, float);
15240 uint4 __ovld __purefn read_imageui(read_only image2d_array_t, sampler_t, float4, float);
15242 #ifdef cl_khr_depth_images
15243 float __ovld __purefn read_imagef(read_only image2d_array_depth_t, sampler_t, float4, float);
15244 #endif // cl_khr_depth_images
15246 float4 __ovld __purefn read_imagef(read_only image3d_t, sampler_t, float4, float);
15247 int4 __ovld __purefn read_imagei(read_only image3d_t, sampler_t, float4, float);
15248 uint4 __ovld __purefn read_imageui(read_only image3d_t, sampler_t, float4, float);
15250 float4 __ovld __purefn read_imagef(read_only image1d_t, sampler_t, float, float, float);
15251 int4 __ovld __purefn read_imagei(read_only image1d_t, sampler_t, float, float, float);
15252 uint4 __ovld __purefn read_imageui(read_only image1d_t, sampler_t, float, float, float);
15254 float4 __ovld __purefn read_imagef(read_only image1d_array_t, sampler_t, float2, float, float);
15255 int4 __ovld __purefn read_imagei(read_only image1d_array_t, sampler_t, float2, float, float);
15256 uint4 __ovld __purefn read_imageui(read_only image1d_array_t, sampler_t, float2, float, float);
15258 float4 __ovld __purefn read_imagef(read_only image2d_t, sampler_t, float2, float2, float2);
15259 int4 __ovld __purefn read_imagei(read_only image2d_t, sampler_t, float2, float2, float2);
15260 uint4 __ovld __purefn read_imageui(read_only image2d_t, sampler_t, float2, float2, float2);
15262 #ifdef cl_khr_depth_images
15263 float __ovld __purefn read_imagef(read_only image2d_depth_t, sampler_t, float2, float2, float2);
15264 #endif // cl_khr_depth_images
15266 float4 __ovld __purefn read_imagef(read_only image2d_array_t, sampler_t, float4, float2, float2);
15267 int4 __ovld __purefn read_imagei(read_only image2d_array_t, sampler_t, float4, float2, float2);
15268 uint4 __ovld __purefn read_imageui(read_only image2d_array_t, sampler_t, float4, float2, float2);
15270 #ifdef cl_khr_depth_images
15271 float __ovld __purefn read_imagef(read_only image2d_array_depth_t, sampler_t, float4, float2, float2);
15272 #endif // cl_khr_depth_images
15274 float4 __ovld __purefn read_imagef(read_only image3d_t, sampler_t, float4, float4, float4);
15275 int4 __ovld __purefn read_imagei(read_only image3d_t, sampler_t, float4, float4, float4);
15276 uint4 __ovld __purefn read_imageui(read_only image3d_t, sampler_t, float4, float4, float4);
15278 #endif //cl_khr_mipmap_image
15279 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15281 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
15284 * Sampler-less Image Access
15287 float4 __ovld __purefn read_imagef(read_only image1d_t, int);
15288 int4 __ovld __purefn read_imagei(read_only image1d_t, int);
15289 uint4 __ovld __purefn read_imageui(read_only image1d_t, int);
15291 float4 __ovld __purefn read_imagef(read_only image1d_buffer_t, int);
15292 int4 __ovld __purefn read_imagei(read_only image1d_buffer_t, int);
15293 uint4 __ovld __purefn read_imageui(read_only image1d_buffer_t, int);
15295 float4 __ovld __purefn read_imagef(read_only image1d_array_t, int2);
15296 int4 __ovld __purefn read_imagei(read_only image1d_array_t, int2);
15297 uint4 __ovld __purefn read_imageui(read_only image1d_array_t, int2);
15299 float4 __ovld __purefn read_imagef(read_only image2d_t, int2);
15300 int4 __ovld __purefn read_imagei(read_only image2d_t, int2);
15301 uint4 __ovld __purefn read_imageui(read_only image2d_t, int2);
15303 float4 __ovld __purefn read_imagef(read_only image2d_array_t, int4);
15304 int4 __ovld __purefn read_imagei(read_only image2d_array_t, int4);
15305 uint4 __ovld __purefn read_imageui(read_only image2d_array_t, int4);
15307 #ifdef cl_khr_depth_images
15308 float __ovld __purefn read_imagef(read_only image2d_depth_t, int2);
15309 float __ovld __purefn read_imagef(read_only image2d_array_depth_t, int4);
15310 #endif //cl_khr_depth_images
15312 float4 __ovld __purefn read_imagef(read_only image3d_t, int4);
15313 int4 __ovld __purefn read_imagei(read_only image3d_t, int4);
15314 uint4 __ovld __purefn read_imageui(read_only image3d_t, int4);
15316 #endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
15318 // Image read functions returning half4 type
15319 #ifdef cl_khr_fp16
15320 half4 __ovld __purefn read_imageh(read_only image1d_t, sampler_t, int);
15321 half4 __ovld __purefn read_imageh(read_only image1d_t, sampler_t, float);
15322 half4 __ovld __purefn read_imageh(read_only image2d_t, sampler_t, int2);
15323 half4 __ovld __purefn read_imageh(read_only image2d_t, sampler_t, float2);
15324 half4 __ovld __purefn read_imageh(read_only image3d_t, sampler_t, int4);
15325 half4 __ovld __purefn read_imageh(read_only image3d_t, sampler_t, float4);
15326 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
15327 half4 __ovld __purefn read_imageh(read_only image1d_array_t, sampler_t, int2);
15328 half4 __ovld __purefn read_imageh(read_only image1d_array_t, sampler_t, float2);
15329 half4 __ovld __purefn read_imageh(read_only image2d_array_t, sampler_t, int4);
15330 half4 __ovld __purefn read_imageh(read_only image2d_array_t, sampler_t, float4);
15332 * Sampler-less Image Access
15334 half4 __ovld __purefn read_imageh(read_only image1d_t, int);
15335 half4 __ovld __purefn read_imageh(read_only image2d_t, int2);
15336 half4 __ovld __purefn read_imageh(read_only image3d_t, int4);
15337 half4 __ovld __purefn read_imageh(read_only image1d_array_t, int2);
15338 half4 __ovld __purefn read_imageh(read_only image2d_array_t, int4);
15339 half4 __ovld __purefn read_imageh(read_only image1d_buffer_t, int);
15340 #endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
15341 #endif //cl_khr_fp16
15343 // Image read functions for read_write images
15344 #if defined(__opencl_c_read_write_images)
15345 float4 __ovld __purefn read_imagef(read_write image1d_t, int);
15346 int4 __ovld __purefn read_imagei(read_write image1d_t, int);
15347 uint4 __ovld __purefn read_imageui(read_write image1d_t, int);
15349 float4 __ovld __purefn read_imagef(read_write image1d_buffer_t, int);
15350 int4 __ovld __purefn read_imagei(read_write image1d_buffer_t, int);
15351 uint4 __ovld __purefn read_imageui(read_write image1d_buffer_t, int);
15353 float4 __ovld __purefn read_imagef(read_write image1d_array_t, int2);
15354 int4 __ovld __purefn read_imagei(read_write image1d_array_t, int2);
15355 uint4 __ovld __purefn read_imageui(read_write image1d_array_t, int2);
15357 float4 __ovld __purefn read_imagef(read_write image2d_t, int2);
15358 int4 __ovld __purefn read_imagei(read_write image2d_t, int2);
15359 uint4 __ovld __purefn read_imageui(read_write image2d_t, int2);
15361 float4 __ovld __purefn read_imagef(read_write image2d_array_t, int4);
15362 int4 __ovld __purefn read_imagei(read_write image2d_array_t, int4);
15363 uint4 __ovld __purefn read_imageui(read_write image2d_array_t, int4);
15365 #ifdef cl_khr_3d_image_writes
15366 float4 __ovld __purefn read_imagef(read_write image3d_t, int4);
15367 int4 __ovld __purefn read_imagei(read_write image3d_t, int4);
15368 uint4 __ovld __purefn read_imageui(read_write image3d_t, int4);
15369 #endif // cl_khr_3d_image_writes
15371 #ifdef cl_khr_depth_images
15372 float __ovld __purefn read_imagef(read_write image2d_depth_t, int2);
15373 float __ovld __purefn read_imagef(read_write image2d_array_depth_t, int4);
15374 #endif //cl_khr_depth_images
15376 #if cl_khr_gl_msaa_sharing
15377 float4 __ovld __purefn read_imagef(read_write image2d_msaa_t, int2, int);
15378 int4 __ovld __purefn read_imagei(read_write image2d_msaa_t, int2, int);
15379 uint4 __ovld __purefn read_imageui(read_write image2d_msaa_t, int2, int);
15381 float4 __ovld __purefn read_imagef(read_write image2d_array_msaa_t, int4, int);
15382 int4 __ovld __purefn read_imagei(read_write image2d_array_msaa_t, int4, int);
15383 uint4 __ovld __purefn read_imageui(read_write image2d_array_msaa_t, int4, int);
15385 float __ovld __purefn read_imagef(read_write image2d_msaa_depth_t, int2, int);
15386 float __ovld __purefn read_imagef(read_write image2d_array_msaa_depth_t, int4, int);
15387 #endif //cl_khr_gl_msaa_sharing
15389 #ifdef cl_khr_mipmap_image
15390 float4 __ovld __purefn read_imagef(read_write image1d_t, sampler_t, float, float);
15391 int4 __ovld __purefn read_imagei(read_write image1d_t, sampler_t, float, float);
15392 uint4 __ovld __purefn read_imageui(read_write image1d_t, sampler_t, float, float);
15394 float4 __ovld __purefn read_imagef(read_write image1d_array_t, sampler_t, float2, float);
15395 int4 __ovld __purefn read_imagei(read_write image1d_array_t, sampler_t, float2, float);
15396 uint4 __ovld __purefn read_imageui(read_write image1d_array_t, sampler_t, float2, float);
15398 float4 __ovld __purefn read_imagef(read_write image2d_t, sampler_t, float2, float);
15399 int4 __ovld __purefn read_imagei(read_write image2d_t, sampler_t, float2, float);
15400 uint4 __ovld __purefn read_imageui(read_write image2d_t, sampler_t, float2, float);
15402 float __ovld __purefn read_imagef(read_write image2d_depth_t, sampler_t, float2, float);
15404 float4 __ovld __purefn read_imagef(read_write image2d_array_t, sampler_t, float4, float);
15405 int4 __ovld __purefn read_imagei(read_write image2d_array_t, sampler_t, float4, float);
15406 uint4 __ovld __purefn read_imageui(read_write image2d_array_t, sampler_t, float4, float);
15408 float __ovld __purefn read_imagef(read_write image2d_array_depth_t, sampler_t, float4, float);
15410 #ifdef cl_khr_3d_image_writes
15411 float4 __ovld __purefn read_imagef(read_write image3d_t, sampler_t, float4, float);
15412 int4 __ovld __purefn read_imagei(read_write image3d_t, sampler_t, float4, float);
15413 uint4 __ovld __purefn read_imageui(read_write image3d_t, sampler_t, float4, float);
15414 #endif // cl_khr_3d_image_writes
15416 float4 __ovld __purefn read_imagef(read_write image1d_t, sampler_t, float, float, float);
15417 int4 __ovld __purefn read_imagei(read_write image1d_t, sampler_t, float, float, float);
15418 uint4 __ovld __purefn read_imageui(read_write image1d_t, sampler_t, float, float, float);
15420 float4 __ovld __purefn read_imagef(read_write image1d_array_t, sampler_t, float2, float, float);
15421 int4 __ovld __purefn read_imagei(read_write image1d_array_t, sampler_t, float2, float, float);
15422 uint4 __ovld __purefn read_imageui(read_write image1d_array_t, sampler_t, float2, float, float);
15424 float4 __ovld __purefn read_imagef(read_write image2d_t, sampler_t, float2, float2, float2);
15425 int4 __ovld __purefn read_imagei(read_write image2d_t, sampler_t, float2, float2, float2);
15426 uint4 __ovld __purefn read_imageui(read_write image2d_t, sampler_t, float2, float2, float2);
15428 float __ovld __purefn read_imagef(read_write image2d_depth_t, sampler_t, float2, float2, float2);
15430 float4 __ovld __purefn read_imagef(read_write image2d_array_t, sampler_t, float4, float2, float2);
15431 int4 __ovld __purefn read_imagei(read_write image2d_array_t, sampler_t, float4, float2, float2);
15432 uint4 __ovld __purefn read_imageui(read_write image2d_array_t, sampler_t, float4, float2, float2);
15434 float __ovld __purefn read_imagef(read_write image2d_array_depth_t, sampler_t, float4, float2, float2);
15436 #ifdef cl_khr_3d_image_writes
15437 float4 __ovld __purefn read_imagef(read_write image3d_t, sampler_t, float4, float4, float4);
15438 int4 __ovld __purefn read_imagei(read_write image3d_t, sampler_t, float4, float4, float4);
15439 uint4 __ovld __purefn read_imageui(read_write image3d_t, sampler_t, float4, float4, float4);
15440 #endif // cl_khr_3d_image_writes
15442 #endif //cl_khr_mipmap_image
15444 // Image read functions returning half4 type
15445 #ifdef cl_khr_fp16
15446 half4 __ovld __purefn read_imageh(read_write image1d_t, int);
15447 half4 __ovld __purefn read_imageh(read_write image2d_t, int2);
15448 #ifdef cl_khr_3d_image_writes
15449 half4 __ovld __purefn read_imageh(read_write image3d_t, int4);
15450 #endif // cl_khr_3d_image_writes
15451 half4 __ovld __purefn read_imageh(read_write image1d_array_t, int2);
15452 half4 __ovld __purefn read_imageh(read_write image2d_array_t, int4);
15453 half4 __ovld __purefn read_imageh(read_write image1d_buffer_t, int);
15454 #endif //cl_khr_fp16
15455 #endif //defined(__opencl_c_read_write_images)
15458 * Write color value to location specified by coordinate
15459 * (coord.x, coord.y) in the 2D image object specified by image.
15460 * (coord.x, coord.y) are considered to be unnormalized coordinates
15461 * and must be in the range 0 ... image width - 1, and 0
15462 * ... image height - 1.
15464 * Write color value to location specified by coordinate
15465 * (coord.x, coord.y) in the 2D image object specified by index
15466 * (coord.z) of the 2D image array object image_array.
15467 * (coord.x, coord.y) are considered to be unnormalized
15468 * coordinates and must be in the range 0 ... image width
15469 * - 1.
15471 * Write color value to location specified by coordinate
15472 * (coord) in the 1D image (buffer) object specified by image.
15473 * coord is considered to be unnormalized coordinates
15474 * and must be in the range 0 ... image width - 1.
15476 * Write color value to location specified by coordinate
15477 * (coord.x) in the 1D image object specified by index
15478 * (coord.y) of the 1D image array object image_array.
15479 * x is considered to be unnormalized coordinates
15480 * and must be in the range 0 ... image width - 1.
15482 * Write color value to location specified by coordinate
15483 * (coord.x, coord.y, coord.z) in the 3D image object specified by image.
15484 * coord.x & coord.y are considered to be unnormalized coordinates
15485 * and must be in the range 0 ... image width - 1, and 0
15486 * ... image height - 1.
15488 * For mipmap images, use mip-level specified by lod.
15490 * Appropriate data format conversion to the specified
15491 * image format is done before writing the color value.
15493 * write_imagef can only be used with image objects
15494 * created with image_channel_data_type set to one of
15495 * the pre-defined packed formats or set to
15496 * CL_SNORM_INT8, CL_UNORM_INT8,
15497 * CL_SNORM_INT16, CL_UNORM_INT16,
15498 * CL_HALF_FLOAT or CL_FLOAT. Appropriate data
15499 * format conversion will be done to convert channel
15500 * data from a floating-point value to actual data format
15501 * in which the channels are stored.
15503 * write_imagei can only be used with image objects
15504 * created with image_channel_data_type set to one of
15505 * the following values:
15506 * CL_SIGNED_INT8,
15507 * CL_SIGNED_INT16 and
15508 * CL_SIGNED_INT32.
15510 * write_imageui can only be used with image objects
15511 * created with image_channel_data_type set to one of
15512 * the following values:
15513 * CL_UNSIGNED_INT8,
15514 * CL_UNSIGNED_INT16 and
15515 * CL_UNSIGNED_INT32.
15517 * The behavior of write_imagef, write_imagei and
15518 * write_imageui for image objects created with
15519 * image_channel_data_type values not specified in
15520 * the description above or with (x, y) coordinate
15521 * values that are not in the range (0 ... image width -1,
15522 * 0 ... image height - 1), respectively, is undefined.
15524 void __ovld write_imagef(write_only image2d_t, int2, float4);
15525 void __ovld write_imagei(write_only image2d_t, int2, int4);
15526 void __ovld write_imageui(write_only image2d_t, int2, uint4);
15528 void __ovld write_imagef(write_only image2d_array_t, int4, float4);
15529 void __ovld write_imagei(write_only image2d_array_t, int4, int4);
15530 void __ovld write_imageui(write_only image2d_array_t, int4, uint4);
15532 void __ovld write_imagef(write_only image1d_t, int, float4);
15533 void __ovld write_imagei(write_only image1d_t, int, int4);
15534 void __ovld write_imageui(write_only image1d_t, int, uint4);
15536 void __ovld write_imagef(write_only image1d_buffer_t, int, float4);
15537 void __ovld write_imagei(write_only image1d_buffer_t, int, int4);
15538 void __ovld write_imageui(write_only image1d_buffer_t, int, uint4);
15540 void __ovld write_imagef(write_only image1d_array_t, int2, float4);
15541 void __ovld write_imagei(write_only image1d_array_t, int2, int4);
15542 void __ovld write_imageui(write_only image1d_array_t, int2, uint4);
15544 #ifdef cl_khr_3d_image_writes
15545 void __ovld write_imagef(write_only image3d_t, int4, float4);
15546 void __ovld write_imagei(write_only image3d_t, int4, int4);
15547 void __ovld write_imageui(write_only image3d_t, int4, uint4);
15548 #endif
15550 #ifdef cl_khr_depth_images
15551 void __ovld write_imagef(write_only image2d_depth_t, int2, float);
15552 void __ovld write_imagef(write_only image2d_array_depth_t, int4, float);
15553 #endif //cl_khr_depth_images
15555 // OpenCL Extension v2.0 s9.18 - Mipmaps
15556 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15557 #if defined(cl_khr_mipmap_image_writes)
15558 void __ovld write_imagef(write_only image1d_t, int, int, float4);
15559 void __ovld write_imagei(write_only image1d_t, int, int, int4);
15560 void __ovld write_imageui(write_only image1d_t, int, int, uint4);
15562 void __ovld write_imagef(write_only image1d_array_t, int2, int, float4);
15563 void __ovld write_imagei(write_only image1d_array_t, int2, int, int4);
15564 void __ovld write_imageui(write_only image1d_array_t, int2, int, uint4);
15566 void __ovld write_imagef(write_only image2d_t, int2, int, float4);
15567 void __ovld write_imagei(write_only image2d_t, int2, int, int4);
15568 void __ovld write_imageui(write_only image2d_t, int2, int, uint4);
15570 void __ovld write_imagef(write_only image2d_array_t, int4, int, float4);
15571 void __ovld write_imagei(write_only image2d_array_t, int4, int, int4);
15572 void __ovld write_imageui(write_only image2d_array_t, int4, int, uint4);
15574 void __ovld write_imagef(write_only image2d_depth_t, int2, int, float);
15575 void __ovld write_imagef(write_only image2d_array_depth_t, int4, int, float);
15577 #ifdef cl_khr_3d_image_writes
15578 void __ovld write_imagef(write_only image3d_t, int4, int, float4);
15579 void __ovld write_imagei(write_only image3d_t, int4, int, int4);
15580 void __ovld write_imageui(write_only image3d_t, int4, int, uint4);
15581 #endif //cl_khr_3d_image_writes
15583 #endif //defined(cl_khr_mipmap_image_writes)
15584 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15586 // Image write functions for half4 type
15587 #ifdef cl_khr_fp16
15588 void __ovld write_imageh(write_only image1d_t, int, half4);
15589 void __ovld write_imageh(write_only image2d_t, int2, half4);
15590 #ifdef cl_khr_3d_image_writes
15591 void __ovld write_imageh(write_only image3d_t, int4, half4);
15592 #endif
15593 void __ovld write_imageh(write_only image1d_array_t, int2, half4);
15594 void __ovld write_imageh(write_only image2d_array_t, int4, half4);
15595 void __ovld write_imageh(write_only image1d_buffer_t, int, half4);
15596 #endif //cl_khr_fp16
15598 // Image write functions for read_write images
15599 #if defined(__opencl_c_read_write_images)
15600 void __ovld write_imagef(read_write image2d_t, int2, float4);
15601 void __ovld write_imagei(read_write image2d_t, int2, int4);
15602 void __ovld write_imageui(read_write image2d_t, int2, uint4);
15604 void __ovld write_imagef(read_write image2d_array_t, int4, float4);
15605 void __ovld write_imagei(read_write image2d_array_t, int4, int4);
15606 void __ovld write_imageui(read_write image2d_array_t, int4, uint4);
15608 void __ovld write_imagef(read_write image1d_t, int, float4);
15609 void __ovld write_imagei(read_write image1d_t, int, int4);
15610 void __ovld write_imageui(read_write image1d_t, int, uint4);
15612 void __ovld write_imagef(read_write image1d_buffer_t, int, float4);
15613 void __ovld write_imagei(read_write image1d_buffer_t, int, int4);
15614 void __ovld write_imageui(read_write image1d_buffer_t, int, uint4);
15616 void __ovld write_imagef(read_write image1d_array_t, int2, float4);
15617 void __ovld write_imagei(read_write image1d_array_t, int2, int4);
15618 void __ovld write_imageui(read_write image1d_array_t, int2, uint4);
15620 #ifdef cl_khr_3d_image_writes
15621 void __ovld write_imagef(read_write image3d_t, int4, float4);
15622 void __ovld write_imagei(read_write image3d_t, int4, int4);
15623 void __ovld write_imageui(read_write image3d_t, int4, uint4);
15624 #endif
15626 #ifdef cl_khr_depth_images
15627 void __ovld write_imagef(read_write image2d_depth_t, int2, float);
15628 void __ovld write_imagef(read_write image2d_array_depth_t, int4, float);
15629 #endif //cl_khr_depth_images
15631 #if defined(cl_khr_mipmap_image_writes)
15632 void __ovld write_imagef(read_write image1d_t, int, int, float4);
15633 void __ovld write_imagei(read_write image1d_t, int, int, int4);
15634 void __ovld write_imageui(read_write image1d_t, int, int, uint4);
15636 void __ovld write_imagef(read_write image1d_array_t, int2, int, float4);
15637 void __ovld write_imagei(read_write image1d_array_t, int2, int, int4);
15638 void __ovld write_imageui(read_write image1d_array_t, int2, int, uint4);
15640 void __ovld write_imagef(read_write image2d_t, int2, int, float4);
15641 void __ovld write_imagei(read_write image2d_t, int2, int, int4);
15642 void __ovld write_imageui(read_write image2d_t, int2, int, uint4);
15644 void __ovld write_imagef(read_write image2d_array_t, int4, int, float4);
15645 void __ovld write_imagei(read_write image2d_array_t, int4, int, int4);
15646 void __ovld write_imageui(read_write image2d_array_t, int4, int, uint4);
15648 void __ovld write_imagef(read_write image2d_depth_t, int2, int, float);
15649 void __ovld write_imagef(read_write image2d_array_depth_t, int4, int, float);
15651 #ifdef cl_khr_3d_image_writes
15652 void __ovld write_imagef(read_write image3d_t, int4, int, float4);
15653 void __ovld write_imagei(read_write image3d_t, int4, int, int4);
15654 void __ovld write_imageui(read_write image3d_t, int4, int, uint4);
15655 #endif //cl_khr_3d_image_writes
15657 #endif //cl_khr_mipmap_image_writes
15659 // Image write functions for half4 type
15660 #ifdef cl_khr_fp16
15661 void __ovld write_imageh(read_write image1d_t, int, half4);
15662 void __ovld write_imageh(read_write image2d_t, int2, half4);
15663 #ifdef cl_khr_3d_image_writes
15664 void __ovld write_imageh(read_write image3d_t, int4, half4);
15665 #endif
15666 void __ovld write_imageh(read_write image1d_array_t, int2, half4);
15667 void __ovld write_imageh(read_write image2d_array_t, int4, half4);
15668 void __ovld write_imageh(read_write image1d_buffer_t, int, half4);
15669 #endif //cl_khr_fp16
15670 #endif //defined(__opencl_c_read_write_images)
15672 // Note: In OpenCL v1.0/1.1/1.2, image argument of image query builtin functions does not have
15673 // access qualifier, which by default assume read_only access qualifier. Image query builtin
15674 // functions with write_only image argument should also be declared.
15677 * Return the image width in pixels.
15680 int __ovld __cnfn get_image_width(read_only image1d_t);
15681 int __ovld __cnfn get_image_width(read_only image1d_buffer_t);
15682 int __ovld __cnfn get_image_width(read_only image2d_t);
15683 int __ovld __cnfn get_image_width(read_only image3d_t);
15684 int __ovld __cnfn get_image_width(read_only image1d_array_t);
15685 int __ovld __cnfn get_image_width(read_only image2d_array_t);
15686 #ifdef cl_khr_depth_images
15687 int __ovld __cnfn get_image_width(read_only image2d_depth_t);
15688 int __ovld __cnfn get_image_width(read_only image2d_array_depth_t);
15689 #endif //cl_khr_depth_images
15690 #if defined(cl_khr_gl_msaa_sharing)
15691 int __ovld __cnfn get_image_width(read_only image2d_msaa_t);
15692 int __ovld __cnfn get_image_width(read_only image2d_msaa_depth_t);
15693 int __ovld __cnfn get_image_width(read_only image2d_array_msaa_t);
15694 int __ovld __cnfn get_image_width(read_only image2d_array_msaa_depth_t);
15695 #endif //cl_khr_gl_msaa_sharing
15697 int __ovld __cnfn get_image_width(write_only image1d_t);
15698 int __ovld __cnfn get_image_width(write_only image1d_buffer_t);
15699 int __ovld __cnfn get_image_width(write_only image2d_t);
15700 #ifdef cl_khr_3d_image_writes
15701 int __ovld __cnfn get_image_width(write_only image3d_t);
15702 #endif
15703 int __ovld __cnfn get_image_width(write_only image1d_array_t);
15704 int __ovld __cnfn get_image_width(write_only image2d_array_t);
15705 #ifdef cl_khr_depth_images
15706 int __ovld __cnfn get_image_width(write_only image2d_depth_t);
15707 int __ovld __cnfn get_image_width(write_only image2d_array_depth_t);
15708 #endif //cl_khr_depth_images
15709 #if defined(cl_khr_gl_msaa_sharing)
15710 int __ovld __cnfn get_image_width(write_only image2d_msaa_t);
15711 int __ovld __cnfn get_image_width(write_only image2d_msaa_depth_t);
15712 int __ovld __cnfn get_image_width(write_only image2d_array_msaa_t);
15713 int __ovld __cnfn get_image_width(write_only image2d_array_msaa_depth_t);
15714 #endif //cl_khr_gl_msaa_sharing
15716 #if defined(__opencl_c_read_write_images)
15717 int __ovld __cnfn get_image_width(read_write image1d_t);
15718 int __ovld __cnfn get_image_width(read_write image1d_buffer_t);
15719 int __ovld __cnfn get_image_width(read_write image2d_t);
15720 #ifdef cl_khr_3d_image_writes
15721 int __ovld __cnfn get_image_width(read_write image3d_t);
15722 #endif // cl_khr_3d_image_writes
15723 int __ovld __cnfn get_image_width(read_write image1d_array_t);
15724 int __ovld __cnfn get_image_width(read_write image2d_array_t);
15725 #ifdef cl_khr_depth_images
15726 int __ovld __cnfn get_image_width(read_write image2d_depth_t);
15727 int __ovld __cnfn get_image_width(read_write image2d_array_depth_t);
15728 #endif //cl_khr_depth_images
15729 #if defined(cl_khr_gl_msaa_sharing)
15730 int __ovld __cnfn get_image_width(read_write image2d_msaa_t);
15731 int __ovld __cnfn get_image_width(read_write image2d_msaa_depth_t);
15732 int __ovld __cnfn get_image_width(read_write image2d_array_msaa_t);
15733 int __ovld __cnfn get_image_width(read_write image2d_array_msaa_depth_t);
15734 #endif //cl_khr_gl_msaa_sharing
15735 #endif //defined(__opencl_c_read_write_images)
15738 * Return the image height in pixels.
15740 int __ovld __cnfn get_image_height(read_only image2d_t);
15741 int __ovld __cnfn get_image_height(read_only image3d_t);
15742 int __ovld __cnfn get_image_height(read_only image2d_array_t);
15743 #ifdef cl_khr_depth_images
15744 int __ovld __cnfn get_image_height(read_only image2d_depth_t);
15745 int __ovld __cnfn get_image_height(read_only image2d_array_depth_t);
15746 #endif //cl_khr_depth_images
15747 #if defined(cl_khr_gl_msaa_sharing)
15748 int __ovld __cnfn get_image_height(read_only image2d_msaa_t);
15749 int __ovld __cnfn get_image_height(read_only image2d_msaa_depth_t);
15750 int __ovld __cnfn get_image_height(read_only image2d_array_msaa_t);
15751 int __ovld __cnfn get_image_height(read_only image2d_array_msaa_depth_t);
15752 #endif //cl_khr_gl_msaa_sharing
15754 int __ovld __cnfn get_image_height(write_only image2d_t);
15755 #ifdef cl_khr_3d_image_writes
15756 int __ovld __cnfn get_image_height(write_only image3d_t);
15757 #endif
15758 int __ovld __cnfn get_image_height(write_only image2d_array_t);
15759 #ifdef cl_khr_depth_images
15760 int __ovld __cnfn get_image_height(write_only image2d_depth_t);
15761 int __ovld __cnfn get_image_height(write_only image2d_array_depth_t);
15762 #endif //cl_khr_depth_images
15763 #if defined(cl_khr_gl_msaa_sharing)
15764 int __ovld __cnfn get_image_height(write_only image2d_msaa_t);
15765 int __ovld __cnfn get_image_height(write_only image2d_msaa_depth_t);
15766 int __ovld __cnfn get_image_height(write_only image2d_array_msaa_t);
15767 int __ovld __cnfn get_image_height(write_only image2d_array_msaa_depth_t);
15768 #endif //cl_khr_gl_msaa_sharing
15770 #if defined(__opencl_c_read_write_images)
15771 int __ovld __cnfn get_image_height(read_write image2d_t);
15772 #ifdef cl_khr_3d_image_writes
15773 int __ovld __cnfn get_image_height(read_write image3d_t);
15774 #endif // cl_khr_3d_image_writes
15775 int __ovld __cnfn get_image_height(read_write image2d_array_t);
15776 #ifdef cl_khr_depth_images
15777 int __ovld __cnfn get_image_height(read_write image2d_depth_t);
15778 int __ovld __cnfn get_image_height(read_write image2d_array_depth_t);
15779 #endif //cl_khr_depth_images
15780 #if defined(cl_khr_gl_msaa_sharing)
15781 int __ovld __cnfn get_image_height(read_write image2d_msaa_t);
15782 int __ovld __cnfn get_image_height(read_write image2d_msaa_depth_t);
15783 int __ovld __cnfn get_image_height(read_write image2d_array_msaa_t);
15784 int __ovld __cnfn get_image_height(read_write image2d_array_msaa_depth_t);
15785 #endif //cl_khr_gl_msaa_sharing
15786 #endif //defined(__opencl_c_read_write_images)
15789 * Return the image depth in pixels.
15791 int __ovld __cnfn get_image_depth(read_only image3d_t);
15793 #ifdef cl_khr_3d_image_writes
15794 int __ovld __cnfn get_image_depth(write_only image3d_t);
15796 #if defined(__opencl_c_read_write_images)
15797 int __ovld __cnfn get_image_depth(read_write image3d_t);
15798 #endif //defined(__opencl_c_read_write_images)
15799 #endif // cl_khr_3d_image_writes
15801 // OpenCL Extension v2.0 s9.18 - Mipmaps
15802 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15803 #ifdef cl_khr_mipmap_image
15805 * Return the image miplevels.
15808 int __ovld get_image_num_mip_levels(read_only image1d_t);
15809 int __ovld get_image_num_mip_levels(read_only image2d_t);
15810 int __ovld get_image_num_mip_levels(read_only image3d_t);
15812 int __ovld get_image_num_mip_levels(write_only image1d_t);
15813 int __ovld get_image_num_mip_levels(write_only image2d_t);
15814 #ifdef cl_khr_3d_image_writes
15815 int __ovld get_image_num_mip_levels(write_only image3d_t);
15816 #endif
15818 #if defined(__opencl_c_read_write_images)
15819 int __ovld get_image_num_mip_levels(read_write image1d_t);
15820 int __ovld get_image_num_mip_levels(read_write image2d_t);
15821 #ifdef cl_khr_3d_image_writes
15822 int __ovld get_image_num_mip_levels(read_write image3d_t);
15823 #endif // cl_khr_3d_image_writes
15824 #endif //defined(__opencl_c_read_write_images)
15826 int __ovld get_image_num_mip_levels(read_only image1d_array_t);
15827 int __ovld get_image_num_mip_levels(read_only image2d_array_t);
15828 #ifdef cl_khr_depth_images
15829 int __ovld get_image_num_mip_levels(read_only image2d_array_depth_t);
15830 int __ovld get_image_num_mip_levels(read_only image2d_depth_t);
15831 #endif // cl_khr_depth_images
15833 int __ovld get_image_num_mip_levels(write_only image1d_array_t);
15834 int __ovld get_image_num_mip_levels(write_only image2d_array_t);
15835 #ifdef cl_khr_depth_images
15836 int __ovld get_image_num_mip_levels(write_only image2d_array_depth_t);
15837 int __ovld get_image_num_mip_levels(write_only image2d_depth_t);
15838 #endif // cl_khr_depth_images
15840 #if defined(__opencl_c_read_write_images)
15841 int __ovld get_image_num_mip_levels(read_write image1d_array_t);
15842 int __ovld get_image_num_mip_levels(read_write image2d_array_t);
15843 #ifdef cl_khr_depth_images
15844 int __ovld get_image_num_mip_levels(read_write image2d_array_depth_t);
15845 int __ovld get_image_num_mip_levels(read_write image2d_depth_t);
15846 #endif // cl_khr_depth_images
15847 #endif //defined(__opencl_c_read_write_images)
15849 #endif //cl_khr_mipmap_image
15850 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
15853 * Return the channel data type. Valid values are:
15854 * CLK_SNORM_INT8
15855 * CLK_SNORM_INT16
15856 * CLK_UNORM_INT8
15857 * CLK_UNORM_INT16
15858 * CLK_UNORM_SHORT_565
15859 * CLK_UNORM_SHORT_555
15860 * CLK_UNORM_SHORT_101010
15861 * CLK_SIGNED_INT8
15862 * CLK_SIGNED_INT16
15863 * CLK_SIGNED_INT32
15864 * CLK_UNSIGNED_INT8
15865 * CLK_UNSIGNED_INT16
15866 * CLK_UNSIGNED_INT32
15867 * CLK_HALF_FLOAT
15868 * CLK_FLOAT
15871 int __ovld __cnfn get_image_channel_data_type(read_only image1d_t);
15872 int __ovld __cnfn get_image_channel_data_type(read_only image1d_buffer_t);
15873 int __ovld __cnfn get_image_channel_data_type(read_only image2d_t);
15874 int __ovld __cnfn get_image_channel_data_type(read_only image3d_t);
15875 int __ovld __cnfn get_image_channel_data_type(read_only image1d_array_t);
15876 int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_t);
15877 #ifdef cl_khr_depth_images
15878 int __ovld __cnfn get_image_channel_data_type(read_only image2d_depth_t);
15879 int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_depth_t);
15880 #endif //cl_khr_depth_images
15881 #if defined(cl_khr_gl_msaa_sharing)
15882 int __ovld __cnfn get_image_channel_data_type(read_only image2d_msaa_t);
15883 int __ovld __cnfn get_image_channel_data_type(read_only image2d_msaa_depth_t);
15884 int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_msaa_t);
15885 int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_msaa_depth_t);
15886 #endif //cl_khr_gl_msaa_sharing
15888 int __ovld __cnfn get_image_channel_data_type(write_only image1d_t);
15889 int __ovld __cnfn get_image_channel_data_type(write_only image1d_buffer_t);
15890 int __ovld __cnfn get_image_channel_data_type(write_only image2d_t);
15891 #ifdef cl_khr_3d_image_writes
15892 int __ovld __cnfn get_image_channel_data_type(write_only image3d_t);
15893 #endif
15894 int __ovld __cnfn get_image_channel_data_type(write_only image1d_array_t);
15895 int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_t);
15896 #ifdef cl_khr_depth_images
15897 int __ovld __cnfn get_image_channel_data_type(write_only image2d_depth_t);
15898 int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_depth_t);
15899 #endif //cl_khr_depth_images
15900 #if defined(cl_khr_gl_msaa_sharing)
15901 int __ovld __cnfn get_image_channel_data_type(write_only image2d_msaa_t);
15902 int __ovld __cnfn get_image_channel_data_type(write_only image2d_msaa_depth_t);
15903 int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_msaa_t);
15904 int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_msaa_depth_t);
15905 #endif //cl_khr_gl_msaa_sharing
15907 #if defined(__opencl_c_read_write_images)
15908 int __ovld __cnfn get_image_channel_data_type(read_write image1d_t);
15909 int __ovld __cnfn get_image_channel_data_type(read_write image1d_buffer_t);
15910 int __ovld __cnfn get_image_channel_data_type(read_write image2d_t);
15911 #ifdef cl_khr_3d_image_writes
15912 int __ovld __cnfn get_image_channel_data_type(read_write image3d_t);
15913 #endif // cl_khr_3d_image_writes
15914 int __ovld __cnfn get_image_channel_data_type(read_write image1d_array_t);
15915 int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_t);
15916 #ifdef cl_khr_depth_images
15917 int __ovld __cnfn get_image_channel_data_type(read_write image2d_depth_t);
15918 int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_depth_t);
15919 #endif //cl_khr_depth_images
15920 #if defined(cl_khr_gl_msaa_sharing)
15921 int __ovld __cnfn get_image_channel_data_type(read_write image2d_msaa_t);
15922 int __ovld __cnfn get_image_channel_data_type(read_write image2d_msaa_depth_t);
15923 int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_msaa_t);
15924 int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_msaa_depth_t);
15925 #endif //cl_khr_gl_msaa_sharing
15926 #endif //defined(__opencl_c_read_write_images)
15929 * Return the image channel order. Valid values are:
15930 * CLK_A
15931 * CLK_R
15932 * CLK_Rx
15933 * CLK_RG
15934 * CLK_RGx
15935 * CLK_RA
15936 * CLK_RGB
15937 * CLK_RGBx
15938 * CLK_RGBA
15939 * CLK_ARGB
15940 * CLK_BGRA
15941 * CLK_INTENSITY
15942 * CLK_LUMINANCE
15945 int __ovld __cnfn get_image_channel_order(read_only image1d_t);
15946 int __ovld __cnfn get_image_channel_order(read_only image1d_buffer_t);
15947 int __ovld __cnfn get_image_channel_order(read_only image2d_t);
15948 int __ovld __cnfn get_image_channel_order(read_only image3d_t);
15949 int __ovld __cnfn get_image_channel_order(read_only image1d_array_t);
15950 int __ovld __cnfn get_image_channel_order(read_only image2d_array_t);
15951 #ifdef cl_khr_depth_images
15952 int __ovld __cnfn get_image_channel_order(read_only image2d_depth_t);
15953 int __ovld __cnfn get_image_channel_order(read_only image2d_array_depth_t);
15954 #endif //cl_khr_depth_images
15955 #if defined(cl_khr_gl_msaa_sharing)
15956 int __ovld __cnfn get_image_channel_order(read_only image2d_msaa_t);
15957 int __ovld __cnfn get_image_channel_order(read_only image2d_msaa_depth_t);
15958 int __ovld __cnfn get_image_channel_order(read_only image2d_array_msaa_t);
15959 int __ovld __cnfn get_image_channel_order(read_only image2d_array_msaa_depth_t);
15960 #endif //cl_khr_gl_msaa_sharing
15962 int __ovld __cnfn get_image_channel_order(write_only image1d_t);
15963 int __ovld __cnfn get_image_channel_order(write_only image1d_buffer_t);
15964 int __ovld __cnfn get_image_channel_order(write_only image2d_t);
15965 #ifdef cl_khr_3d_image_writes
15966 int __ovld __cnfn get_image_channel_order(write_only image3d_t);
15967 #endif
15968 int __ovld __cnfn get_image_channel_order(write_only image1d_array_t);
15969 int __ovld __cnfn get_image_channel_order(write_only image2d_array_t);
15970 #ifdef cl_khr_depth_images
15971 int __ovld __cnfn get_image_channel_order(write_only image2d_depth_t);
15972 int __ovld __cnfn get_image_channel_order(write_only image2d_array_depth_t);
15973 #endif //cl_khr_depth_images
15974 #if defined(cl_khr_gl_msaa_sharing)
15975 int __ovld __cnfn get_image_channel_order(write_only image2d_msaa_t);
15976 int __ovld __cnfn get_image_channel_order(write_only image2d_msaa_depth_t);
15977 int __ovld __cnfn get_image_channel_order(write_only image2d_array_msaa_t);
15978 int __ovld __cnfn get_image_channel_order(write_only image2d_array_msaa_depth_t);
15979 #endif //cl_khr_gl_msaa_sharing
15981 #if defined(__opencl_c_read_write_images)
15982 int __ovld __cnfn get_image_channel_order(read_write image1d_t);
15983 int __ovld __cnfn get_image_channel_order(read_write image1d_buffer_t);
15984 int __ovld __cnfn get_image_channel_order(read_write image2d_t);
15985 #ifdef cl_khr_3d_image_writes
15986 int __ovld __cnfn get_image_channel_order(read_write image3d_t);
15987 #endif // cl_khr_3d_image_writes
15988 int __ovld __cnfn get_image_channel_order(read_write image1d_array_t);
15989 int __ovld __cnfn get_image_channel_order(read_write image2d_array_t);
15990 #ifdef cl_khr_depth_images
15991 int __ovld __cnfn get_image_channel_order(read_write image2d_depth_t);
15992 int __ovld __cnfn get_image_channel_order(read_write image2d_array_depth_t);
15993 #endif //cl_khr_depth_images
15994 #if defined(cl_khr_gl_msaa_sharing)
15995 int __ovld __cnfn get_image_channel_order(read_write image2d_msaa_t);
15996 int __ovld __cnfn get_image_channel_order(read_write image2d_msaa_depth_t);
15997 int __ovld __cnfn get_image_channel_order(read_write image2d_array_msaa_t);
15998 int __ovld __cnfn get_image_channel_order(read_write image2d_array_msaa_depth_t);
15999 #endif //cl_khr_gl_msaa_sharing
16000 #endif //defined(__opencl_c_read_write_images)
16003 * Return the 2D image width and height as an int2
16004 * type. The width is returned in the x component, and
16005 * the height in the y component.
16007 int2 __ovld __cnfn get_image_dim(read_only image2d_t);
16008 int2 __ovld __cnfn get_image_dim(read_only image2d_array_t);
16009 #ifdef cl_khr_depth_images
16010 int2 __ovld __cnfn get_image_dim(read_only image2d_array_depth_t);
16011 int2 __ovld __cnfn get_image_dim(read_only image2d_depth_t);
16012 #endif //cl_khr_depth_images
16013 #if defined(cl_khr_gl_msaa_sharing)
16014 int2 __ovld __cnfn get_image_dim(read_only image2d_msaa_t);
16015 int2 __ovld __cnfn get_image_dim(read_only image2d_msaa_depth_t);
16016 int2 __ovld __cnfn get_image_dim(read_only image2d_array_msaa_t);
16017 int2 __ovld __cnfn get_image_dim(read_only image2d_array_msaa_depth_t);
16018 #endif //cl_khr_gl_msaa_sharing
16020 int2 __ovld __cnfn get_image_dim(write_only image2d_t);
16021 int2 __ovld __cnfn get_image_dim(write_only image2d_array_t);
16022 #ifdef cl_khr_depth_images
16023 int2 __ovld __cnfn get_image_dim(write_only image2d_array_depth_t);
16024 int2 __ovld __cnfn get_image_dim(write_only image2d_depth_t);
16025 #endif //cl_khr_depth_images
16026 #if defined(cl_khr_gl_msaa_sharing)
16027 int2 __ovld __cnfn get_image_dim(write_only image2d_msaa_t);
16028 int2 __ovld __cnfn get_image_dim(write_only image2d_msaa_depth_t);
16029 int2 __ovld __cnfn get_image_dim(write_only image2d_array_msaa_t);
16030 int2 __ovld __cnfn get_image_dim(write_only image2d_array_msaa_depth_t);
16031 #endif //cl_khr_gl_msaa_sharing
16033 #if defined(__opencl_c_read_write_images)
16034 int2 __ovld __cnfn get_image_dim(read_write image2d_t);
16035 int2 __ovld __cnfn get_image_dim(read_write image2d_array_t);
16036 #ifdef cl_khr_depth_images
16037 int2 __ovld __cnfn get_image_dim(read_write image2d_array_depth_t);
16038 int2 __ovld __cnfn get_image_dim(read_write image2d_depth_t);
16039 #endif //cl_khr_depth_images
16040 #if defined(cl_khr_gl_msaa_sharing)
16041 int2 __ovld __cnfn get_image_dim(read_write image2d_msaa_t);
16042 int2 __ovld __cnfn get_image_dim(read_write image2d_msaa_depth_t);
16043 int2 __ovld __cnfn get_image_dim(read_write image2d_array_msaa_t);
16044 int2 __ovld __cnfn get_image_dim(read_write image2d_array_msaa_depth_t);
16045 #endif //cl_khr_gl_msaa_sharing
16046 #endif //defined(__opencl_c_read_write_images)
16049 * Return the 3D image width, height, and depth as an
16050 * int4 type. The width is returned in the x
16051 * component, height in the y component, depth in the z
16052 * component and the w component is 0.
16054 int4 __ovld __cnfn get_image_dim(read_only image3d_t);
16055 #ifdef cl_khr_3d_image_writes
16056 int4 __ovld __cnfn get_image_dim(write_only image3d_t);
16057 #if defined(__opencl_c_read_write_images)
16058 int4 __ovld __cnfn get_image_dim(read_write image3d_t);
16059 #endif //defined(__opencl_c_read_write_images)
16060 #endif // cl_khr_3d_image_writes
16063 * Return the image array size.
16066 size_t __ovld __cnfn get_image_array_size(read_only image1d_array_t);
16067 size_t __ovld __cnfn get_image_array_size(read_only image2d_array_t);
16068 #ifdef cl_khr_depth_images
16069 size_t __ovld __cnfn get_image_array_size(read_only image2d_array_depth_t);
16070 #endif //cl_khr_depth_images
16071 #if defined(cl_khr_gl_msaa_sharing)
16072 size_t __ovld __cnfn get_image_array_size(read_only image2d_array_msaa_t);
16073 size_t __ovld __cnfn get_image_array_size(read_only image2d_array_msaa_depth_t);
16074 #endif //cl_khr_gl_msaa_sharing
16076 size_t __ovld __cnfn get_image_array_size(write_only image1d_array_t);
16077 size_t __ovld __cnfn get_image_array_size(write_only image2d_array_t);
16078 #ifdef cl_khr_depth_images
16079 size_t __ovld __cnfn get_image_array_size(write_only image2d_array_depth_t);
16080 #endif //cl_khr_depth_images
16081 #if defined(cl_khr_gl_msaa_sharing)
16082 size_t __ovld __cnfn get_image_array_size(write_only image2d_array_msaa_t);
16083 size_t __ovld __cnfn get_image_array_size(write_only image2d_array_msaa_depth_t);
16084 #endif //cl_khr_gl_msaa_sharing
16086 #if defined(__opencl_c_read_write_images)
16087 size_t __ovld __cnfn get_image_array_size(read_write image1d_array_t);
16088 size_t __ovld __cnfn get_image_array_size(read_write image2d_array_t);
16089 #ifdef cl_khr_depth_images
16090 size_t __ovld __cnfn get_image_array_size(read_write image2d_array_depth_t);
16091 #endif //cl_khr_depth_images
16092 #if defined(cl_khr_gl_msaa_sharing)
16093 size_t __ovld __cnfn get_image_array_size(read_write image2d_array_msaa_t);
16094 size_t __ovld __cnfn get_image_array_size(read_write image2d_array_msaa_depth_t);
16095 #endif //cl_khr_gl_msaa_sharing
16096 #endif //defined(__opencl_c_read_write_images)
16099 * Return the number of samples associated with image
16101 #if defined(cl_khr_gl_msaa_sharing)
16102 int __ovld __cnfn get_image_num_samples(read_only image2d_msaa_t);
16103 int __ovld __cnfn get_image_num_samples(read_only image2d_msaa_depth_t);
16104 int __ovld __cnfn get_image_num_samples(read_only image2d_array_msaa_t);
16105 int __ovld __cnfn get_image_num_samples(read_only image2d_array_msaa_depth_t);
16107 int __ovld __cnfn get_image_num_samples(write_only image2d_msaa_t);
16108 int __ovld __cnfn get_image_num_samples(write_only image2d_msaa_depth_t);
16109 int __ovld __cnfn get_image_num_samples(write_only image2d_array_msaa_t);
16110 int __ovld __cnfn get_image_num_samples(write_only image2d_array_msaa_depth_t);
16112 #if defined(__opencl_c_read_write_images)
16113 int __ovld __cnfn get_image_num_samples(read_write image2d_msaa_t);
16114 int __ovld __cnfn get_image_num_samples(read_write image2d_msaa_depth_t);
16115 int __ovld __cnfn get_image_num_samples(read_write image2d_array_msaa_t);
16116 int __ovld __cnfn get_image_num_samples(read_write image2d_array_msaa_depth_t);
16117 #endif //defined(__opencl_c_read_write_images)
16118 #endif
16120 // OpenCL v2.0 s6.13.15 - Work-group Functions
16122 #if defined(__opencl_c_work_group_collective_functions)
16123 int __ovld __conv work_group_all(int predicate);
16124 int __ovld __conv work_group_any(int predicate);
16126 #ifdef cl_khr_fp16
16127 half __ovld __conv work_group_broadcast(half, size_t local_id);
16128 half __ovld __conv work_group_broadcast(half, size_t, size_t);
16129 half __ovld __conv work_group_broadcast(half, size_t, size_t, size_t);
16130 #endif
16131 int __ovld __conv work_group_broadcast(int, size_t local_id);
16132 int __ovld __conv work_group_broadcast(int, size_t, size_t);
16133 int __ovld __conv work_group_broadcast(int, size_t, size_t, size_t);
16134 uint __ovld __conv work_group_broadcast(uint, size_t local_id);
16135 uint __ovld __conv work_group_broadcast(uint, size_t, size_t);
16136 uint __ovld __conv work_group_broadcast(uint, size_t, size_t, size_t);
16137 long __ovld __conv work_group_broadcast(long, size_t local_id);
16138 long __ovld __conv work_group_broadcast(long, size_t, size_t);
16139 long __ovld __conv work_group_broadcast(long, size_t, size_t, size_t);
16140 ulong __ovld __conv work_group_broadcast(ulong, size_t local_id);
16141 ulong __ovld __conv work_group_broadcast(ulong, size_t, size_t);
16142 ulong __ovld __conv work_group_broadcast(ulong, size_t, size_t, size_t);
16143 float __ovld __conv work_group_broadcast(float, size_t local_id);
16144 float __ovld __conv work_group_broadcast(float, size_t, size_t);
16145 float __ovld __conv work_group_broadcast(float, size_t, size_t, size_t);
16146 #ifdef cl_khr_fp64
16147 double __ovld __conv work_group_broadcast(double, size_t local_id);
16148 double __ovld __conv work_group_broadcast(double, size_t, size_t);
16149 double __ovld __conv work_group_broadcast(double, size_t, size_t, size_t);
16150 #endif //cl_khr_fp64
16152 #ifdef cl_khr_fp16
16153 half __ovld __conv work_group_reduce_add(half);
16154 half __ovld __conv work_group_reduce_min(half);
16155 half __ovld __conv work_group_reduce_max(half);
16156 half __ovld __conv work_group_scan_exclusive_add(half);
16157 half __ovld __conv work_group_scan_exclusive_min(half);
16158 half __ovld __conv work_group_scan_exclusive_max(half);
16159 half __ovld __conv work_group_scan_inclusive_add(half);
16160 half __ovld __conv work_group_scan_inclusive_min(half);
16161 half __ovld __conv work_group_scan_inclusive_max(half);
16162 #endif
16163 int __ovld __conv work_group_reduce_add(int);
16164 int __ovld __conv work_group_reduce_min(int);
16165 int __ovld __conv work_group_reduce_max(int);
16166 int __ovld __conv work_group_scan_exclusive_add(int);
16167 int __ovld __conv work_group_scan_exclusive_min(int);
16168 int __ovld __conv work_group_scan_exclusive_max(int);
16169 int __ovld __conv work_group_scan_inclusive_add(int);
16170 int __ovld __conv work_group_scan_inclusive_min(int);
16171 int __ovld __conv work_group_scan_inclusive_max(int);
16172 uint __ovld __conv work_group_reduce_add(uint);
16173 uint __ovld __conv work_group_reduce_min(uint);
16174 uint __ovld __conv work_group_reduce_max(uint);
16175 uint __ovld __conv work_group_scan_exclusive_add(uint);
16176 uint __ovld __conv work_group_scan_exclusive_min(uint);
16177 uint __ovld __conv work_group_scan_exclusive_max(uint);
16178 uint __ovld __conv work_group_scan_inclusive_add(uint);
16179 uint __ovld __conv work_group_scan_inclusive_min(uint);
16180 uint __ovld __conv work_group_scan_inclusive_max(uint);
16181 long __ovld __conv work_group_reduce_add(long);
16182 long __ovld __conv work_group_reduce_min(long);
16183 long __ovld __conv work_group_reduce_max(long);
16184 long __ovld __conv work_group_scan_exclusive_add(long);
16185 long __ovld __conv work_group_scan_exclusive_min(long);
16186 long __ovld __conv work_group_scan_exclusive_max(long);
16187 long __ovld __conv work_group_scan_inclusive_add(long);
16188 long __ovld __conv work_group_scan_inclusive_min(long);
16189 long __ovld __conv work_group_scan_inclusive_max(long);
16190 ulong __ovld __conv work_group_reduce_add(ulong);
16191 ulong __ovld __conv work_group_reduce_min(ulong);
16192 ulong __ovld __conv work_group_reduce_max(ulong);
16193 ulong __ovld __conv work_group_scan_exclusive_add(ulong);
16194 ulong __ovld __conv work_group_scan_exclusive_min(ulong);
16195 ulong __ovld __conv work_group_scan_exclusive_max(ulong);
16196 ulong __ovld __conv work_group_scan_inclusive_add(ulong);
16197 ulong __ovld __conv work_group_scan_inclusive_min(ulong);
16198 ulong __ovld __conv work_group_scan_inclusive_max(ulong);
16199 float __ovld __conv work_group_reduce_add(float);
16200 float __ovld __conv work_group_reduce_min(float);
16201 float __ovld __conv work_group_reduce_max(float);
16202 float __ovld __conv work_group_scan_exclusive_add(float);
16203 float __ovld __conv work_group_scan_exclusive_min(float);
16204 float __ovld __conv work_group_scan_exclusive_max(float);
16205 float __ovld __conv work_group_scan_inclusive_add(float);
16206 float __ovld __conv work_group_scan_inclusive_min(float);
16207 float __ovld __conv work_group_scan_inclusive_max(float);
16208 #ifdef cl_khr_fp64
16209 double __ovld __conv work_group_reduce_add(double);
16210 double __ovld __conv work_group_reduce_min(double);
16211 double __ovld __conv work_group_reduce_max(double);
16212 double __ovld __conv work_group_scan_exclusive_add(double);
16213 double __ovld __conv work_group_scan_exclusive_min(double);
16214 double __ovld __conv work_group_scan_exclusive_max(double);
16215 double __ovld __conv work_group_scan_inclusive_add(double);
16216 double __ovld __conv work_group_scan_inclusive_min(double);
16217 double __ovld __conv work_group_scan_inclusive_max(double);
16218 #endif //cl_khr_fp64
16220 #endif //defined(__opencl_c_work_group_collective_functions)
16222 // OpenCL v2.0 s6.13.16 - Pipe Functions
16223 #if defined(__opencl_c_pipes)
16224 bool __ovld is_valid_reserve_id(reserve_id_t reserve_id);
16225 #endif //defined(__opencl_c_pipes)
16228 // OpenCL v2.0 s6.13.17 - Enqueue Kernels
16229 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
16231 #ifdef __opencl_c_device_enqueue
16232 ndrange_t __ovld ndrange_1D(size_t);
16233 ndrange_t __ovld ndrange_1D(size_t, size_t);
16234 ndrange_t __ovld ndrange_1D(size_t, size_t, size_t);
16236 ndrange_t __ovld ndrange_2D(const size_t[2]);
16237 ndrange_t __ovld ndrange_2D(const size_t[2], const size_t[2]);
16238 ndrange_t __ovld ndrange_2D(const size_t[2], const size_t[2], const size_t[2]);
16240 ndrange_t __ovld ndrange_3D(const size_t[3]);
16241 ndrange_t __ovld ndrange_3D(const size_t[3], const size_t[3]);
16242 ndrange_t __ovld ndrange_3D(const size_t[3], const size_t[3], const size_t[3]);
16244 int __ovld enqueue_marker(queue_t, uint, const clk_event_t*, clk_event_t*);
16246 void __ovld retain_event(clk_event_t);
16248 void __ovld release_event(clk_event_t);
16250 clk_event_t __ovld create_user_event(void);
16252 void __ovld set_user_event_status(clk_event_t e, int state);
16254 bool __ovld is_valid_event (clk_event_t event);
16256 void __ovld capture_event_profiling_info(clk_event_t, clk_profiling_info, __global void*);
16258 queue_t __ovld get_default_queue(void);
16259 #endif //__opencl_c_device_enqueue
16260 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
16262 // OpenCL Extension v2.0 s9.17 - Sub-groups
16264 #if defined(__opencl_subgroup_builtins)
16265 // Shared Sub Group Functions
16266 uint __ovld get_sub_group_size(void);
16267 uint __ovld get_max_sub_group_size(void);
16268 uint __ovld get_num_sub_groups(void);
16269 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
16270 uint __ovld get_enqueued_num_sub_groups(void);
16271 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
16272 uint __ovld get_sub_group_id(void);
16273 uint __ovld get_sub_group_local_id(void);
16275 void __ovld __conv sub_group_barrier(cl_mem_fence_flags);
16276 #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
16277 void __ovld __conv sub_group_barrier(cl_mem_fence_flags, memory_scope);
16278 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
16280 int __ovld __conv sub_group_all(int predicate);
16281 int __ovld __conv sub_group_any(int predicate);
16283 int __ovld __conv sub_group_broadcast(int , uint sub_group_local_id);
16284 uint __ovld __conv sub_group_broadcast(uint , uint sub_group_local_id);
16285 long __ovld __conv sub_group_broadcast(long , uint sub_group_local_id);
16286 ulong __ovld __conv sub_group_broadcast(ulong, uint sub_group_local_id);
16287 float __ovld __conv sub_group_broadcast(float, uint sub_group_local_id);
16289 int __ovld __conv sub_group_reduce_add(int );
16290 uint __ovld __conv sub_group_reduce_add(uint );
16291 long __ovld __conv sub_group_reduce_add(long );
16292 ulong __ovld __conv sub_group_reduce_add(ulong);
16293 float __ovld __conv sub_group_reduce_add(float);
16294 int __ovld __conv sub_group_reduce_min(int );
16295 uint __ovld __conv sub_group_reduce_min(uint );
16296 long __ovld __conv sub_group_reduce_min(long );
16297 ulong __ovld __conv sub_group_reduce_min(ulong);
16298 float __ovld __conv sub_group_reduce_min(float);
16299 int __ovld __conv sub_group_reduce_max(int );
16300 uint __ovld __conv sub_group_reduce_max(uint );
16301 long __ovld __conv sub_group_reduce_max(long );
16302 ulong __ovld __conv sub_group_reduce_max(ulong);
16303 float __ovld __conv sub_group_reduce_max(float);
16305 int __ovld __conv sub_group_scan_exclusive_add(int );
16306 uint __ovld __conv sub_group_scan_exclusive_add(uint );
16307 long __ovld __conv sub_group_scan_exclusive_add(long );
16308 ulong __ovld __conv sub_group_scan_exclusive_add(ulong);
16309 float __ovld __conv sub_group_scan_exclusive_add(float);
16310 int __ovld __conv sub_group_scan_exclusive_min(int );
16311 uint __ovld __conv sub_group_scan_exclusive_min(uint );
16312 long __ovld __conv sub_group_scan_exclusive_min(long );
16313 ulong __ovld __conv sub_group_scan_exclusive_min(ulong);
16314 float __ovld __conv sub_group_scan_exclusive_min(float);
16315 int __ovld __conv sub_group_scan_exclusive_max(int );
16316 uint __ovld __conv sub_group_scan_exclusive_max(uint );
16317 long __ovld __conv sub_group_scan_exclusive_max(long );
16318 ulong __ovld __conv sub_group_scan_exclusive_max(ulong);
16319 float __ovld __conv sub_group_scan_exclusive_max(float);
16321 int __ovld __conv sub_group_scan_inclusive_add(int );
16322 uint __ovld __conv sub_group_scan_inclusive_add(uint );
16323 long __ovld __conv sub_group_scan_inclusive_add(long );
16324 ulong __ovld __conv sub_group_scan_inclusive_add(ulong);
16325 float __ovld __conv sub_group_scan_inclusive_add(float);
16326 int __ovld __conv sub_group_scan_inclusive_min(int );
16327 uint __ovld __conv sub_group_scan_inclusive_min(uint );
16328 long __ovld __conv sub_group_scan_inclusive_min(long );
16329 ulong __ovld __conv sub_group_scan_inclusive_min(ulong);
16330 float __ovld __conv sub_group_scan_inclusive_min(float);
16331 int __ovld __conv sub_group_scan_inclusive_max(int );
16332 uint __ovld __conv sub_group_scan_inclusive_max(uint );
16333 long __ovld __conv sub_group_scan_inclusive_max(long );
16334 ulong __ovld __conv sub_group_scan_inclusive_max(ulong);
16335 float __ovld __conv sub_group_scan_inclusive_max(float);
16337 #ifdef cl_khr_fp16
16338 half __ovld __conv sub_group_broadcast(half, uint sub_group_local_id);
16339 half __ovld __conv sub_group_reduce_add(half);
16340 half __ovld __conv sub_group_reduce_min(half);
16341 half __ovld __conv sub_group_reduce_max(half);
16342 half __ovld __conv sub_group_scan_exclusive_add(half);
16343 half __ovld __conv sub_group_scan_exclusive_min(half);
16344 half __ovld __conv sub_group_scan_exclusive_max(half);
16345 half __ovld __conv sub_group_scan_inclusive_add(half);
16346 half __ovld __conv sub_group_scan_inclusive_min(half);
16347 half __ovld __conv sub_group_scan_inclusive_max(half);
16348 #endif //cl_khr_fp16
16350 #ifdef cl_khr_fp64
16351 double __ovld __conv sub_group_broadcast(double, uint sub_group_local_id);
16352 double __ovld __conv sub_group_reduce_add(double);
16353 double __ovld __conv sub_group_reduce_min(double);
16354 double __ovld __conv sub_group_reduce_max(double);
16355 double __ovld __conv sub_group_scan_exclusive_add(double);
16356 double __ovld __conv sub_group_scan_exclusive_min(double);
16357 double __ovld __conv sub_group_scan_exclusive_max(double);
16358 double __ovld __conv sub_group_scan_inclusive_add(double);
16359 double __ovld __conv sub_group_scan_inclusive_min(double);
16360 double __ovld __conv sub_group_scan_inclusive_max(double);
16361 #endif //cl_khr_fp64
16363 #endif // __opencl_subgroup_builtins
16365 #if defined(cl_khr_subgroup_extended_types)
16366 char __ovld __conv sub_group_broadcast( char value, uint index );
16367 char2 __ovld __conv sub_group_broadcast( char2 value, uint index );
16368 char3 __ovld __conv sub_group_broadcast( char3 value, uint index );
16369 char4 __ovld __conv sub_group_broadcast( char4 value, uint index );
16370 char8 __ovld __conv sub_group_broadcast( char8 value, uint index );
16371 char16 __ovld __conv sub_group_broadcast( char16 value, uint index );
16373 uchar __ovld __conv sub_group_broadcast( uchar value, uint index );
16374 uchar2 __ovld __conv sub_group_broadcast( uchar2 value, uint index );
16375 uchar3 __ovld __conv sub_group_broadcast( uchar3 value, uint index );
16376 uchar4 __ovld __conv sub_group_broadcast( uchar4 value, uint index );
16377 uchar8 __ovld __conv sub_group_broadcast( uchar8 value, uint index );
16378 uchar16 __ovld __conv sub_group_broadcast( uchar16 value, uint index );
16380 short __ovld __conv sub_group_broadcast( short value, uint index );
16381 short2 __ovld __conv sub_group_broadcast( short2 value, uint index );
16382 short3 __ovld __conv sub_group_broadcast( short3 value, uint index );
16383 short4 __ovld __conv sub_group_broadcast( short4 value, uint index );
16384 short8 __ovld __conv sub_group_broadcast( short8 value, uint index );
16385 short16 __ovld __conv sub_group_broadcast( short16 value, uint index );
16387 ushort __ovld __conv sub_group_broadcast( ushort value, uint index );
16388 ushort2 __ovld __conv sub_group_broadcast( ushort2 value, uint index );
16389 ushort3 __ovld __conv sub_group_broadcast( ushort3 value, uint index );
16390 ushort4 __ovld __conv sub_group_broadcast( ushort4 value, uint index );
16391 ushort8 __ovld __conv sub_group_broadcast( ushort8 value, uint index );
16392 ushort16 __ovld __conv sub_group_broadcast( ushort16 value, uint index );
16394 // scalar int broadcast is part of cl_khr_subgroups
16395 int2 __ovld __conv sub_group_broadcast( int2 value, uint index );
16396 int3 __ovld __conv sub_group_broadcast( int3 value, uint index );
16397 int4 __ovld __conv sub_group_broadcast( int4 value, uint index );
16398 int8 __ovld __conv sub_group_broadcast( int8 value, uint index );
16399 int16 __ovld __conv sub_group_broadcast( int16 value, uint index );
16401 // scalar uint broadcast is part of cl_khr_subgroups
16402 uint2 __ovld __conv sub_group_broadcast( uint2 value, uint index );
16403 uint3 __ovld __conv sub_group_broadcast( uint3 value, uint index );
16404 uint4 __ovld __conv sub_group_broadcast( uint4 value, uint index );
16405 uint8 __ovld __conv sub_group_broadcast( uint8 value, uint index );
16406 uint16 __ovld __conv sub_group_broadcast( uint16 value, uint index );
16408 // scalar long broadcast is part of cl_khr_subgroups
16409 long2 __ovld __conv sub_group_broadcast( long2 value, uint index );
16410 long3 __ovld __conv sub_group_broadcast( long3 value, uint index );
16411 long4 __ovld __conv sub_group_broadcast( long4 value, uint index );
16412 long8 __ovld __conv sub_group_broadcast( long8 value, uint index );
16413 long16 __ovld __conv sub_group_broadcast( long16 value, uint index );
16415 // scalar ulong broadcast is part of cl_khr_subgroups
16416 ulong2 __ovld __conv sub_group_broadcast( ulong2 value, uint index );
16417 ulong3 __ovld __conv sub_group_broadcast( ulong3 value, uint index );
16418 ulong4 __ovld __conv sub_group_broadcast( ulong4 value, uint index );
16419 ulong8 __ovld __conv sub_group_broadcast( ulong8 value, uint index );
16420 ulong16 __ovld __conv sub_group_broadcast( ulong16 value, uint index );
16422 // scalar float broadcast is part of cl_khr_subgroups
16423 float2 __ovld __conv sub_group_broadcast( float2 value, uint index );
16424 float3 __ovld __conv sub_group_broadcast( float3 value, uint index );
16425 float4 __ovld __conv sub_group_broadcast( float4 value, uint index );
16426 float8 __ovld __conv sub_group_broadcast( float8 value, uint index );
16427 float16 __ovld __conv sub_group_broadcast( float16 value, uint index );
16429 char __ovld __conv sub_group_reduce_add( char value );
16430 uchar __ovld __conv sub_group_reduce_add( uchar value );
16431 short __ovld __conv sub_group_reduce_add( short value );
16432 ushort __ovld __conv sub_group_reduce_add( ushort value );
16434 char __ovld __conv sub_group_reduce_min( char value );
16435 uchar __ovld __conv sub_group_reduce_min( uchar value );
16436 short __ovld __conv sub_group_reduce_min( short value );
16437 ushort __ovld __conv sub_group_reduce_min( ushort value );
16439 char __ovld __conv sub_group_reduce_max( char value );
16440 uchar __ovld __conv sub_group_reduce_max( uchar value );
16441 short __ovld __conv sub_group_reduce_max( short value );
16442 ushort __ovld __conv sub_group_reduce_max( ushort value );
16444 char __ovld __conv sub_group_scan_inclusive_add( char value );
16445 uchar __ovld __conv sub_group_scan_inclusive_add( uchar value );
16446 short __ovld __conv sub_group_scan_inclusive_add( short value );
16447 ushort __ovld __conv sub_group_scan_inclusive_add( ushort value );
16449 char __ovld __conv sub_group_scan_inclusive_min( char value );
16450 uchar __ovld __conv sub_group_scan_inclusive_min( uchar value );
16451 short __ovld __conv sub_group_scan_inclusive_min( short value );
16452 ushort __ovld __conv sub_group_scan_inclusive_min( ushort value );
16454 char __ovld __conv sub_group_scan_inclusive_max( char value );
16455 uchar __ovld __conv sub_group_scan_inclusive_max( uchar value );
16456 short __ovld __conv sub_group_scan_inclusive_max( short value );
16457 ushort __ovld __conv sub_group_scan_inclusive_max( ushort value );
16459 char __ovld __conv sub_group_scan_exclusive_add( char value );
16460 uchar __ovld __conv sub_group_scan_exclusive_add( uchar value );
16461 short __ovld __conv sub_group_scan_exclusive_add( short value );
16462 ushort __ovld __conv sub_group_scan_exclusive_add( ushort value );
16464 char __ovld __conv sub_group_scan_exclusive_min( char value );
16465 uchar __ovld __conv sub_group_scan_exclusive_min( uchar value );
16466 short __ovld __conv sub_group_scan_exclusive_min( short value );
16467 ushort __ovld __conv sub_group_scan_exclusive_min( ushort value );
16469 char __ovld __conv sub_group_scan_exclusive_max( char value );
16470 uchar __ovld __conv sub_group_scan_exclusive_max( uchar value );
16471 short __ovld __conv sub_group_scan_exclusive_max( short value );
16472 ushort __ovld __conv sub_group_scan_exclusive_max( ushort value );
16474 #if defined(cl_khr_fp16)
16475 // scalar half broadcast is part of cl_khr_subgroups
16476 half2 __ovld __conv sub_group_broadcast( half2 value, uint index );
16477 half3 __ovld __conv sub_group_broadcast( half3 value, uint index );
16478 half4 __ovld __conv sub_group_broadcast( half4 value, uint index );
16479 half8 __ovld __conv sub_group_broadcast( half8 value, uint index );
16480 half16 __ovld __conv sub_group_broadcast( half16 value, uint index );
16481 #endif // cl_khr_fp16
16483 #if defined(cl_khr_fp64)
16484 // scalar double broadcast is part of cl_khr_subgroups
16485 double2 __ovld __conv sub_group_broadcast( double2 value, uint index );
16486 double3 __ovld __conv sub_group_broadcast( double3 value, uint index );
16487 double4 __ovld __conv sub_group_broadcast( double4 value, uint index );
16488 double8 __ovld __conv sub_group_broadcast( double8 value, uint index );
16489 double16 __ovld __conv sub_group_broadcast( double16 value, uint index );
16490 #endif // cl_khr_fp64
16492 #endif // cl_khr_subgroup_extended_types
16494 #if defined(cl_khr_subgroup_non_uniform_vote)
16495 int __ovld sub_group_elect(void);
16496 int __ovld sub_group_non_uniform_all( int predicate );
16497 int __ovld sub_group_non_uniform_any( int predicate );
16499 int __ovld sub_group_non_uniform_all_equal( char value );
16500 int __ovld sub_group_non_uniform_all_equal( uchar value );
16501 int __ovld sub_group_non_uniform_all_equal( short value );
16502 int __ovld sub_group_non_uniform_all_equal( ushort value );
16503 int __ovld sub_group_non_uniform_all_equal( int value );
16504 int __ovld sub_group_non_uniform_all_equal( uint value );
16505 int __ovld sub_group_non_uniform_all_equal( long value );
16506 int __ovld sub_group_non_uniform_all_equal( ulong value );
16507 int __ovld sub_group_non_uniform_all_equal( float value );
16509 #if defined(cl_khr_fp16)
16510 int __ovld sub_group_non_uniform_all_equal( half value );
16511 #endif // cl_khr_fp16
16513 #if defined(cl_khr_fp64)
16514 int __ovld sub_group_non_uniform_all_equal( double value );
16515 #endif // cl_khr_fp64
16517 #endif // cl_khr_subgroup_non_uniform_vote
16519 #if defined(cl_khr_subgroup_ballot)
16520 char __ovld sub_group_non_uniform_broadcast( char value, uint index );
16521 char2 __ovld sub_group_non_uniform_broadcast( char2 value, uint index );
16522 char3 __ovld sub_group_non_uniform_broadcast( char3 value, uint index );
16523 char4 __ovld sub_group_non_uniform_broadcast( char4 value, uint index );
16524 char8 __ovld sub_group_non_uniform_broadcast( char8 value, uint index );
16525 char16 __ovld sub_group_non_uniform_broadcast( char16 value, uint index );
16527 uchar __ovld sub_group_non_uniform_broadcast( uchar value, uint index );
16528 uchar2 __ovld sub_group_non_uniform_broadcast( uchar2 value, uint index );
16529 uchar3 __ovld sub_group_non_uniform_broadcast( uchar3 value, uint index );
16530 uchar4 __ovld sub_group_non_uniform_broadcast( uchar4 value, uint index );
16531 uchar8 __ovld sub_group_non_uniform_broadcast( uchar8 value, uint index );
16532 uchar16 __ovld sub_group_non_uniform_broadcast( uchar16 value, uint index );
16534 short __ovld sub_group_non_uniform_broadcast( short value, uint index );
16535 short2 __ovld sub_group_non_uniform_broadcast( short2 value, uint index );
16536 short3 __ovld sub_group_non_uniform_broadcast( short3 value, uint index );
16537 short4 __ovld sub_group_non_uniform_broadcast( short4 value, uint index );
16538 short8 __ovld sub_group_non_uniform_broadcast( short8 value, uint index );
16539 short16 __ovld sub_group_non_uniform_broadcast( short16 value, uint index );
16541 ushort __ovld sub_group_non_uniform_broadcast( ushort value, uint index );
16542 ushort2 __ovld sub_group_non_uniform_broadcast( ushort2 value, uint index );
16543 ushort3 __ovld sub_group_non_uniform_broadcast( ushort3 value, uint index );
16544 ushort4 __ovld sub_group_non_uniform_broadcast( ushort4 value, uint index );
16545 ushort8 __ovld sub_group_non_uniform_broadcast( ushort8 value, uint index );
16546 ushort16 __ovld sub_group_non_uniform_broadcast( ushort16 value, uint index );
16548 int __ovld sub_group_non_uniform_broadcast( int value, uint index );
16549 int2 __ovld sub_group_non_uniform_broadcast( int2 value, uint index );
16550 int3 __ovld sub_group_non_uniform_broadcast( int3 value, uint index );
16551 int4 __ovld sub_group_non_uniform_broadcast( int4 value, uint index );
16552 int8 __ovld sub_group_non_uniform_broadcast( int8 value, uint index );
16553 int16 __ovld sub_group_non_uniform_broadcast( int16 value, uint index );
16555 uint __ovld sub_group_non_uniform_broadcast( uint value, uint index );
16556 uint2 __ovld sub_group_non_uniform_broadcast( uint2 value, uint index );
16557 uint3 __ovld sub_group_non_uniform_broadcast( uint3 value, uint index );
16558 uint4 __ovld sub_group_non_uniform_broadcast( uint4 value, uint index );
16559 uint8 __ovld sub_group_non_uniform_broadcast( uint8 value, uint index );
16560 uint16 __ovld sub_group_non_uniform_broadcast( uint16 value, uint index );
16562 long __ovld sub_group_non_uniform_broadcast( long value, uint index );
16563 long2 __ovld sub_group_non_uniform_broadcast( long2 value, uint index );
16564 long3 __ovld sub_group_non_uniform_broadcast( long3 value, uint index );
16565 long4 __ovld sub_group_non_uniform_broadcast( long4 value, uint index );
16566 long8 __ovld sub_group_non_uniform_broadcast( long8 value, uint index );
16567 long16 __ovld sub_group_non_uniform_broadcast( long16 value, uint index );
16569 ulong __ovld sub_group_non_uniform_broadcast( ulong value, uint index );
16570 ulong2 __ovld sub_group_non_uniform_broadcast( ulong2 value, uint index );
16571 ulong3 __ovld sub_group_non_uniform_broadcast( ulong3 value, uint index );
16572 ulong4 __ovld sub_group_non_uniform_broadcast( ulong4 value, uint index );
16573 ulong8 __ovld sub_group_non_uniform_broadcast( ulong8 value, uint index );
16574 ulong16 __ovld sub_group_non_uniform_broadcast( ulong16 value, uint index );
16576 float __ovld sub_group_non_uniform_broadcast( float value, uint index );
16577 float2 __ovld sub_group_non_uniform_broadcast( float2 value, uint index );
16578 float3 __ovld sub_group_non_uniform_broadcast( float3 value, uint index );
16579 float4 __ovld sub_group_non_uniform_broadcast( float4 value, uint index );
16580 float8 __ovld sub_group_non_uniform_broadcast( float8 value, uint index );
16581 float16 __ovld sub_group_non_uniform_broadcast( float16 value, uint index );
16583 char __ovld sub_group_broadcast_first( char value );
16584 uchar __ovld sub_group_broadcast_first( uchar value );
16585 short __ovld sub_group_broadcast_first( short value );
16586 ushort __ovld sub_group_broadcast_first( ushort value );
16587 int __ovld sub_group_broadcast_first( int value );
16588 uint __ovld sub_group_broadcast_first( uint value );
16589 long __ovld sub_group_broadcast_first( long value );
16590 ulong __ovld sub_group_broadcast_first( ulong value );
16591 float __ovld sub_group_broadcast_first( float value );
16593 uint4 __ovld sub_group_ballot( int predicate );
16594 int __ovld __cnfn sub_group_inverse_ballot( uint4 value );
16595 int __ovld __cnfn sub_group_ballot_bit_extract( uint4 value, uint index );
16596 uint __ovld __cnfn sub_group_ballot_bit_count( uint4 value );
16598 uint __ovld sub_group_ballot_inclusive_scan( uint4 value );
16599 uint __ovld sub_group_ballot_exclusive_scan( uint4 value );
16600 uint __ovld sub_group_ballot_find_lsb( uint4 value );
16601 uint __ovld sub_group_ballot_find_msb( uint4 value );
16603 uint4 __ovld __cnfn get_sub_group_eq_mask(void);
16604 uint4 __ovld __cnfn get_sub_group_ge_mask(void);
16605 uint4 __ovld __cnfn get_sub_group_gt_mask(void);
16606 uint4 __ovld __cnfn get_sub_group_le_mask(void);
16607 uint4 __ovld __cnfn get_sub_group_lt_mask(void);
16609 #if defined(cl_khr_fp16)
16610 half __ovld sub_group_non_uniform_broadcast( half value, uint index );
16611 half2 __ovld sub_group_non_uniform_broadcast( half2 value, uint index );
16612 half3 __ovld sub_group_non_uniform_broadcast( half3 value, uint index );
16613 half4 __ovld sub_group_non_uniform_broadcast( half4 value, uint index );
16614 half8 __ovld sub_group_non_uniform_broadcast( half8 value, uint index );
16615 half16 __ovld sub_group_non_uniform_broadcast( half16 value, uint index );
16617 half __ovld sub_group_broadcast_first( half value );
16618 #endif // cl_khr_fp16
16620 #if defined(cl_khr_fp64)
16621 double __ovld sub_group_non_uniform_broadcast( double value, uint index );
16622 double2 __ovld sub_group_non_uniform_broadcast( double2 value, uint index );
16623 double3 __ovld sub_group_non_uniform_broadcast( double3 value, uint index );
16624 double4 __ovld sub_group_non_uniform_broadcast( double4 value, uint index );
16625 double8 __ovld sub_group_non_uniform_broadcast( double8 value, uint index );
16626 double16 __ovld sub_group_non_uniform_broadcast( double16 value, uint index );
16628 double __ovld sub_group_broadcast_first( double value );
16629 #endif // cl_khr_fp64
16631 #endif // cl_khr_subgroup_ballot
16633 #if defined(cl_khr_subgroup_non_uniform_arithmetic)
16634 char __ovld sub_group_non_uniform_reduce_add( char value );
16635 uchar __ovld sub_group_non_uniform_reduce_add( uchar value );
16636 short __ovld sub_group_non_uniform_reduce_add( short value );
16637 ushort __ovld sub_group_non_uniform_reduce_add( ushort value );
16638 int __ovld sub_group_non_uniform_reduce_add( int value );
16639 uint __ovld sub_group_non_uniform_reduce_add( uint value );
16640 long __ovld sub_group_non_uniform_reduce_add( long value );
16641 ulong __ovld sub_group_non_uniform_reduce_add( ulong value );
16642 float __ovld sub_group_non_uniform_reduce_add( float value );
16644 char __ovld sub_group_non_uniform_reduce_mul( char value );
16645 uchar __ovld sub_group_non_uniform_reduce_mul( uchar value );
16646 short __ovld sub_group_non_uniform_reduce_mul( short value );
16647 ushort __ovld sub_group_non_uniform_reduce_mul( ushort value );
16648 int __ovld sub_group_non_uniform_reduce_mul( int value );
16649 uint __ovld sub_group_non_uniform_reduce_mul( uint value );
16650 long __ovld sub_group_non_uniform_reduce_mul( long value );
16651 ulong __ovld sub_group_non_uniform_reduce_mul( ulong value );
16652 float __ovld sub_group_non_uniform_reduce_mul( float value );
16654 char __ovld sub_group_non_uniform_reduce_min( char value );
16655 uchar __ovld sub_group_non_uniform_reduce_min( uchar value );
16656 short __ovld sub_group_non_uniform_reduce_min( short value );
16657 ushort __ovld sub_group_non_uniform_reduce_min( ushort value );
16658 int __ovld sub_group_non_uniform_reduce_min( int value );
16659 uint __ovld sub_group_non_uniform_reduce_min( uint value );
16660 long __ovld sub_group_non_uniform_reduce_min( long value );
16661 ulong __ovld sub_group_non_uniform_reduce_min( ulong value );
16662 float __ovld sub_group_non_uniform_reduce_min( float value );
16664 char __ovld sub_group_non_uniform_reduce_max( char value );
16665 uchar __ovld sub_group_non_uniform_reduce_max( uchar value );
16666 short __ovld sub_group_non_uniform_reduce_max( short value );
16667 ushort __ovld sub_group_non_uniform_reduce_max( ushort value );
16668 int __ovld sub_group_non_uniform_reduce_max( int value );
16669 uint __ovld sub_group_non_uniform_reduce_max( uint value );
16670 long __ovld sub_group_non_uniform_reduce_max( long value );
16671 ulong __ovld sub_group_non_uniform_reduce_max( ulong value );
16672 float __ovld sub_group_non_uniform_reduce_max( float value );
16674 char __ovld sub_group_non_uniform_scan_inclusive_add( char value );
16675 uchar __ovld sub_group_non_uniform_scan_inclusive_add( uchar value );
16676 short __ovld sub_group_non_uniform_scan_inclusive_add( short value );
16677 ushort __ovld sub_group_non_uniform_scan_inclusive_add( ushort value );
16678 int __ovld sub_group_non_uniform_scan_inclusive_add( int value );
16679 uint __ovld sub_group_non_uniform_scan_inclusive_add( uint value );
16680 long __ovld sub_group_non_uniform_scan_inclusive_add( long value );
16681 ulong __ovld sub_group_non_uniform_scan_inclusive_add( ulong value );
16682 float __ovld sub_group_non_uniform_scan_inclusive_add( float value );
16684 char __ovld sub_group_non_uniform_scan_inclusive_mul( char value );
16685 uchar __ovld sub_group_non_uniform_scan_inclusive_mul( uchar value );
16686 short __ovld sub_group_non_uniform_scan_inclusive_mul( short value );
16687 ushort __ovld sub_group_non_uniform_scan_inclusive_mul( ushort value );
16688 int __ovld sub_group_non_uniform_scan_inclusive_mul( int value );
16689 uint __ovld sub_group_non_uniform_scan_inclusive_mul( uint value );
16690 long __ovld sub_group_non_uniform_scan_inclusive_mul( long value );
16691 ulong __ovld sub_group_non_uniform_scan_inclusive_mul( ulong value );
16692 float __ovld sub_group_non_uniform_scan_inclusive_mul( float value );
16694 char __ovld sub_group_non_uniform_scan_inclusive_min( char value );
16695 uchar __ovld sub_group_non_uniform_scan_inclusive_min( uchar value );
16696 short __ovld sub_group_non_uniform_scan_inclusive_min( short value );
16697 ushort __ovld sub_group_non_uniform_scan_inclusive_min( ushort value );
16698 int __ovld sub_group_non_uniform_scan_inclusive_min( int value );
16699 uint __ovld sub_group_non_uniform_scan_inclusive_min( uint value );
16700 long __ovld sub_group_non_uniform_scan_inclusive_min( long value );
16701 ulong __ovld sub_group_non_uniform_scan_inclusive_min( ulong value );
16702 float __ovld sub_group_non_uniform_scan_inclusive_min( float value );
16704 char __ovld sub_group_non_uniform_scan_inclusive_max( char value );
16705 uchar __ovld sub_group_non_uniform_scan_inclusive_max( uchar value );
16706 short __ovld sub_group_non_uniform_scan_inclusive_max( short value );
16707 ushort __ovld sub_group_non_uniform_scan_inclusive_max( ushort value );
16708 int __ovld sub_group_non_uniform_scan_inclusive_max( int value );
16709 uint __ovld sub_group_non_uniform_scan_inclusive_max( uint value );
16710 long __ovld sub_group_non_uniform_scan_inclusive_max( long value );
16711 ulong __ovld sub_group_non_uniform_scan_inclusive_max( ulong value );
16712 float __ovld sub_group_non_uniform_scan_inclusive_max( float value );
16714 char __ovld sub_group_non_uniform_scan_exclusive_add( char value );
16715 uchar __ovld sub_group_non_uniform_scan_exclusive_add( uchar value );
16716 short __ovld sub_group_non_uniform_scan_exclusive_add( short value );
16717 ushort __ovld sub_group_non_uniform_scan_exclusive_add( ushort value );
16718 int __ovld sub_group_non_uniform_scan_exclusive_add( int value );
16719 uint __ovld sub_group_non_uniform_scan_exclusive_add( uint value );
16720 long __ovld sub_group_non_uniform_scan_exclusive_add( long value );
16721 ulong __ovld sub_group_non_uniform_scan_exclusive_add( ulong value );
16722 float __ovld sub_group_non_uniform_scan_exclusive_add( float value );
16724 char __ovld sub_group_non_uniform_scan_exclusive_mul( char value );
16725 uchar __ovld sub_group_non_uniform_scan_exclusive_mul( uchar value );
16726 short __ovld sub_group_non_uniform_scan_exclusive_mul( short value );
16727 ushort __ovld sub_group_non_uniform_scan_exclusive_mul( ushort value );
16728 int __ovld sub_group_non_uniform_scan_exclusive_mul( int value );
16729 uint __ovld sub_group_non_uniform_scan_exclusive_mul( uint value );
16730 long __ovld sub_group_non_uniform_scan_exclusive_mul( long value );
16731 ulong __ovld sub_group_non_uniform_scan_exclusive_mul( ulong value );
16732 float __ovld sub_group_non_uniform_scan_exclusive_mul( float value );
16734 char __ovld sub_group_non_uniform_scan_exclusive_min( char value );
16735 uchar __ovld sub_group_non_uniform_scan_exclusive_min( uchar value );
16736 short __ovld sub_group_non_uniform_scan_exclusive_min( short value );
16737 ushort __ovld sub_group_non_uniform_scan_exclusive_min( ushort value );
16738 int __ovld sub_group_non_uniform_scan_exclusive_min( int value );
16739 uint __ovld sub_group_non_uniform_scan_exclusive_min( uint value );
16740 long __ovld sub_group_non_uniform_scan_exclusive_min( long value );
16741 ulong __ovld sub_group_non_uniform_scan_exclusive_min( ulong value );
16742 float __ovld sub_group_non_uniform_scan_exclusive_min( float value );
16744 char __ovld sub_group_non_uniform_scan_exclusive_max( char value );
16745 uchar __ovld sub_group_non_uniform_scan_exclusive_max( uchar value );
16746 short __ovld sub_group_non_uniform_scan_exclusive_max( short value );
16747 ushort __ovld sub_group_non_uniform_scan_exclusive_max( ushort value );
16748 int __ovld sub_group_non_uniform_scan_exclusive_max( int value );
16749 uint __ovld sub_group_non_uniform_scan_exclusive_max( uint value );
16750 long __ovld sub_group_non_uniform_scan_exclusive_max( long value );
16751 ulong __ovld sub_group_non_uniform_scan_exclusive_max( ulong value );
16752 float __ovld sub_group_non_uniform_scan_exclusive_max( float value );
16754 char __ovld sub_group_non_uniform_reduce_and( char value );
16755 uchar __ovld sub_group_non_uniform_reduce_and( uchar value );
16756 short __ovld sub_group_non_uniform_reduce_and( short value );
16757 ushort __ovld sub_group_non_uniform_reduce_and( ushort value );
16758 int __ovld sub_group_non_uniform_reduce_and( int value );
16759 uint __ovld sub_group_non_uniform_reduce_and( uint value );
16760 long __ovld sub_group_non_uniform_reduce_and( long value );
16761 ulong __ovld sub_group_non_uniform_reduce_and( ulong value );
16763 char __ovld sub_group_non_uniform_reduce_or( char value );
16764 uchar __ovld sub_group_non_uniform_reduce_or( uchar value );
16765 short __ovld sub_group_non_uniform_reduce_or( short value );
16766 ushort __ovld sub_group_non_uniform_reduce_or( ushort value );
16767 int __ovld sub_group_non_uniform_reduce_or( int value );
16768 uint __ovld sub_group_non_uniform_reduce_or( uint value );
16769 long __ovld sub_group_non_uniform_reduce_or( long value );
16770 ulong __ovld sub_group_non_uniform_reduce_or( ulong value );
16772 char __ovld sub_group_non_uniform_reduce_xor( char value );
16773 uchar __ovld sub_group_non_uniform_reduce_xor( uchar value );
16774 short __ovld sub_group_non_uniform_reduce_xor( short value );
16775 ushort __ovld sub_group_non_uniform_reduce_xor( ushort value );
16776 int __ovld sub_group_non_uniform_reduce_xor( int value );
16777 uint __ovld sub_group_non_uniform_reduce_xor( uint value );
16778 long __ovld sub_group_non_uniform_reduce_xor( long value );
16779 ulong __ovld sub_group_non_uniform_reduce_xor( ulong value );
16781 char __ovld sub_group_non_uniform_scan_inclusive_and( char value );
16782 uchar __ovld sub_group_non_uniform_scan_inclusive_and( uchar value );
16783 short __ovld sub_group_non_uniform_scan_inclusive_and( short value );
16784 ushort __ovld sub_group_non_uniform_scan_inclusive_and( ushort value );
16785 int __ovld sub_group_non_uniform_scan_inclusive_and( int value );
16786 uint __ovld sub_group_non_uniform_scan_inclusive_and( uint value );
16787 long __ovld sub_group_non_uniform_scan_inclusive_and( long value );
16788 ulong __ovld sub_group_non_uniform_scan_inclusive_and( ulong value );
16790 char __ovld sub_group_non_uniform_scan_inclusive_or( char value );
16791 uchar __ovld sub_group_non_uniform_scan_inclusive_or( uchar value );
16792 short __ovld sub_group_non_uniform_scan_inclusive_or( short value );
16793 ushort __ovld sub_group_non_uniform_scan_inclusive_or( ushort value );
16794 int __ovld sub_group_non_uniform_scan_inclusive_or( int value );
16795 uint __ovld sub_group_non_uniform_scan_inclusive_or( uint value );
16796 long __ovld sub_group_non_uniform_scan_inclusive_or( long value );
16797 ulong __ovld sub_group_non_uniform_scan_inclusive_or( ulong value );
16799 char __ovld sub_group_non_uniform_scan_inclusive_xor( char value );
16800 uchar __ovld sub_group_non_uniform_scan_inclusive_xor( uchar value );
16801 short __ovld sub_group_non_uniform_scan_inclusive_xor( short value );
16802 ushort __ovld sub_group_non_uniform_scan_inclusive_xor( ushort value );
16803 int __ovld sub_group_non_uniform_scan_inclusive_xor( int value );
16804 uint __ovld sub_group_non_uniform_scan_inclusive_xor( uint value );
16805 long __ovld sub_group_non_uniform_scan_inclusive_xor( long value );
16806 ulong __ovld sub_group_non_uniform_scan_inclusive_xor( ulong value );
16808 char __ovld sub_group_non_uniform_scan_exclusive_and( char value );
16809 uchar __ovld sub_group_non_uniform_scan_exclusive_and( uchar value );
16810 short __ovld sub_group_non_uniform_scan_exclusive_and( short value );
16811 ushort __ovld sub_group_non_uniform_scan_exclusive_and( ushort value );
16812 int __ovld sub_group_non_uniform_scan_exclusive_and( int value );
16813 uint __ovld sub_group_non_uniform_scan_exclusive_and( uint value );
16814 long __ovld sub_group_non_uniform_scan_exclusive_and( long value );
16815 ulong __ovld sub_group_non_uniform_scan_exclusive_and( ulong value );
16817 char __ovld sub_group_non_uniform_scan_exclusive_or( char value );
16818 uchar __ovld sub_group_non_uniform_scan_exclusive_or( uchar value );
16819 short __ovld sub_group_non_uniform_scan_exclusive_or( short value );
16820 ushort __ovld sub_group_non_uniform_scan_exclusive_or( ushort value );
16821 int __ovld sub_group_non_uniform_scan_exclusive_or( int value );
16822 uint __ovld sub_group_non_uniform_scan_exclusive_or( uint value );
16823 long __ovld sub_group_non_uniform_scan_exclusive_or( long value );
16824 ulong __ovld sub_group_non_uniform_scan_exclusive_or( ulong value );
16826 char __ovld sub_group_non_uniform_scan_exclusive_xor( char value );
16827 uchar __ovld sub_group_non_uniform_scan_exclusive_xor( uchar value );
16828 short __ovld sub_group_non_uniform_scan_exclusive_xor( short value );
16829 ushort __ovld sub_group_non_uniform_scan_exclusive_xor( ushort value );
16830 int __ovld sub_group_non_uniform_scan_exclusive_xor( int value );
16831 uint __ovld sub_group_non_uniform_scan_exclusive_xor( uint value );
16832 long __ovld sub_group_non_uniform_scan_exclusive_xor( long value );
16833 ulong __ovld sub_group_non_uniform_scan_exclusive_xor( ulong value );
16835 int __ovld sub_group_non_uniform_reduce_logical_and( int predicate );
16836 int __ovld sub_group_non_uniform_reduce_logical_or( int predicate );
16837 int __ovld sub_group_non_uniform_reduce_logical_xor( int predicate );
16839 int __ovld sub_group_non_uniform_scan_inclusive_logical_and( int predicate );
16840 int __ovld sub_group_non_uniform_scan_inclusive_logical_or( int predicate );
16841 int __ovld sub_group_non_uniform_scan_inclusive_logical_xor( int predicate );
16843 int __ovld sub_group_non_uniform_scan_exclusive_logical_and( int predicate );
16844 int __ovld sub_group_non_uniform_scan_exclusive_logical_or( int predicate );
16845 int __ovld sub_group_non_uniform_scan_exclusive_logical_xor( int predicate );
16847 #if defined(cl_khr_fp16)
16848 half __ovld sub_group_non_uniform_reduce_add( half value );
16849 half __ovld sub_group_non_uniform_reduce_mul( half value );
16850 half __ovld sub_group_non_uniform_reduce_min( half value );
16851 half __ovld sub_group_non_uniform_reduce_max( half value );
16852 half __ovld sub_group_non_uniform_scan_inclusive_add( half value );
16853 half __ovld sub_group_non_uniform_scan_inclusive_mul( half value );
16854 half __ovld sub_group_non_uniform_scan_inclusive_min( half value );
16855 half __ovld sub_group_non_uniform_scan_inclusive_max( half value );
16856 half __ovld sub_group_non_uniform_scan_exclusive_add( half value );
16857 half __ovld sub_group_non_uniform_scan_exclusive_mul( half value );
16858 half __ovld sub_group_non_uniform_scan_exclusive_min( half value );
16859 half __ovld sub_group_non_uniform_scan_exclusive_max( half value );
16860 #endif // cl_khr_fp16
16862 #if defined(cl_khr_fp64)
16863 double __ovld sub_group_non_uniform_reduce_add( double value );
16864 double __ovld sub_group_non_uniform_reduce_mul( double value );
16865 double __ovld sub_group_non_uniform_reduce_min( double value );
16866 double __ovld sub_group_non_uniform_reduce_max( double value );
16867 double __ovld sub_group_non_uniform_scan_inclusive_add( double value );
16868 double __ovld sub_group_non_uniform_scan_inclusive_mul( double value );
16869 double __ovld sub_group_non_uniform_scan_inclusive_min( double value );
16870 double __ovld sub_group_non_uniform_scan_inclusive_max( double value );
16871 double __ovld sub_group_non_uniform_scan_exclusive_add( double value );
16872 double __ovld sub_group_non_uniform_scan_exclusive_mul( double value );
16873 double __ovld sub_group_non_uniform_scan_exclusive_min( double value );
16874 double __ovld sub_group_non_uniform_scan_exclusive_max( double value );
16875 #endif // cl_khr_fp64
16877 #endif // cl_khr_subgroup_non_uniform_arithmetic
16879 #if defined(cl_khr_subgroup_shuffle)
16880 char __ovld sub_group_shuffle( char value, uint index );
16881 uchar __ovld sub_group_shuffle( uchar value, uint index );
16882 short __ovld sub_group_shuffle( short value, uint index );
16883 ushort __ovld sub_group_shuffle( ushort value, uint index );
16884 int __ovld sub_group_shuffle( int value, uint index );
16885 uint __ovld sub_group_shuffle( uint value, uint index );
16886 long __ovld sub_group_shuffle( long value, uint index );
16887 ulong __ovld sub_group_shuffle( ulong value, uint index );
16888 float __ovld sub_group_shuffle( float value, uint index );
16890 char __ovld sub_group_shuffle_xor( char value, uint mask );
16891 uchar __ovld sub_group_shuffle_xor( uchar value, uint mask );
16892 short __ovld sub_group_shuffle_xor( short value, uint mask );
16893 ushort __ovld sub_group_shuffle_xor( ushort value, uint mask );
16894 int __ovld sub_group_shuffle_xor( int value, uint mask );
16895 uint __ovld sub_group_shuffle_xor( uint value, uint mask );
16896 long __ovld sub_group_shuffle_xor( long value, uint mask );
16897 ulong __ovld sub_group_shuffle_xor( ulong value, uint mask );
16898 float __ovld sub_group_shuffle_xor( float value, uint mask );
16900 #if defined(cl_khr_fp16)
16901 half __ovld sub_group_shuffle( half value, uint index );
16902 half __ovld sub_group_shuffle_xor( half value, uint mask );
16903 #endif // cl_khr_fp16
16905 #if defined(cl_khr_fp64)
16906 double __ovld sub_group_shuffle( double value, uint index );
16907 double __ovld sub_group_shuffle_xor( double value, uint mask );
16908 #endif // cl_khr_fp64
16910 #endif // cl_khr_subgroup_shuffle
16912 #if defined(cl_khr_subgroup_shuffle_relative)
16913 char __ovld sub_group_shuffle_up( char value, uint delta );
16914 uchar __ovld sub_group_shuffle_up( uchar value, uint delta );
16915 short __ovld sub_group_shuffle_up( short value, uint delta );
16916 ushort __ovld sub_group_shuffle_up( ushort value, uint delta );
16917 int __ovld sub_group_shuffle_up( int value, uint delta );
16918 uint __ovld sub_group_shuffle_up( uint value, uint delta );
16919 long __ovld sub_group_shuffle_up( long value, uint delta );
16920 ulong __ovld sub_group_shuffle_up( ulong value, uint delta );
16921 float __ovld sub_group_shuffle_up( float value, uint delta );
16923 char __ovld sub_group_shuffle_down( char value, uint delta );
16924 uchar __ovld sub_group_shuffle_down( uchar value, uint delta );
16925 short __ovld sub_group_shuffle_down( short value, uint delta );
16926 ushort __ovld sub_group_shuffle_down( ushort value, uint delta );
16927 int __ovld sub_group_shuffle_down( int value, uint delta );
16928 uint __ovld sub_group_shuffle_down( uint value, uint delta );
16929 long __ovld sub_group_shuffle_down( long value, uint delta );
16930 ulong __ovld sub_group_shuffle_down( ulong value, uint delta );
16931 float __ovld sub_group_shuffle_down( float value, uint delta );
16933 #if defined(cl_khr_fp16)
16934 half __ovld sub_group_shuffle_up( half value, uint delta );
16935 half __ovld sub_group_shuffle_down( half value, uint delta );
16936 #endif // cl_khr_fp16
16938 #if defined(cl_khr_fp64)
16939 double __ovld sub_group_shuffle_up( double value, uint delta );
16940 double __ovld sub_group_shuffle_down( double value, uint delta );
16941 #endif // cl_khr_fp64
16943 #endif // cl_khr_subgroup_shuffle_relative
16945 #if defined(cl_khr_subgroup_clustered_reduce)
16946 char __ovld sub_group_clustered_reduce_add( char value, uint clustersize );
16947 uchar __ovld sub_group_clustered_reduce_add( uchar value, uint clustersize );
16948 short __ovld sub_group_clustered_reduce_add( short value, uint clustersize );
16949 ushort __ovld sub_group_clustered_reduce_add( ushort value, uint clustersize );
16950 int __ovld sub_group_clustered_reduce_add( int value, uint clustersize );
16951 uint __ovld sub_group_clustered_reduce_add( uint value, uint clustersize );
16952 long __ovld sub_group_clustered_reduce_add( long value, uint clustersize );
16953 ulong __ovld sub_group_clustered_reduce_add( ulong value, uint clustersize );
16954 float __ovld sub_group_clustered_reduce_add( float value, uint clustersize );
16956 char __ovld sub_group_clustered_reduce_mul( char value, uint clustersize );
16957 uchar __ovld sub_group_clustered_reduce_mul( uchar value, uint clustersize );
16958 short __ovld sub_group_clustered_reduce_mul( short value, uint clustersize );
16959 ushort __ovld sub_group_clustered_reduce_mul( ushort value, uint clustersize );
16960 int __ovld sub_group_clustered_reduce_mul( int value, uint clustersize );
16961 uint __ovld sub_group_clustered_reduce_mul( uint value, uint clustersize );
16962 long __ovld sub_group_clustered_reduce_mul( long value, uint clustersize );
16963 ulong __ovld sub_group_clustered_reduce_mul( ulong value, uint clustersize );
16964 float __ovld sub_group_clustered_reduce_mul( float value, uint clustersize );
16966 char __ovld sub_group_clustered_reduce_min( char value, uint clustersize );
16967 uchar __ovld sub_group_clustered_reduce_min( uchar value, uint clustersize );
16968 short __ovld sub_group_clustered_reduce_min( short value, uint clustersize );
16969 ushort __ovld sub_group_clustered_reduce_min( ushort value, uint clustersize );
16970 int __ovld sub_group_clustered_reduce_min( int value, uint clustersize );
16971 uint __ovld sub_group_clustered_reduce_min( uint value, uint clustersize );
16972 long __ovld sub_group_clustered_reduce_min( long value, uint clustersize );
16973 ulong __ovld sub_group_clustered_reduce_min( ulong value, uint clustersize );
16974 float __ovld sub_group_clustered_reduce_min( float value, uint clustersize );
16976 char __ovld sub_group_clustered_reduce_max( char value, uint clustersize );
16977 uchar __ovld sub_group_clustered_reduce_max( uchar value, uint clustersize );
16978 short __ovld sub_group_clustered_reduce_max( short value, uint clustersize );
16979 ushort __ovld sub_group_clustered_reduce_max( ushort value, uint clustersize );
16980 int __ovld sub_group_clustered_reduce_max( int value, uint clustersize );
16981 uint __ovld sub_group_clustered_reduce_max( uint value, uint clustersize );
16982 long __ovld sub_group_clustered_reduce_max( long value, uint clustersize );
16983 ulong __ovld sub_group_clustered_reduce_max( ulong value, uint clustersize );
16984 float __ovld sub_group_clustered_reduce_max( float value, uint clustersize );
16986 char __ovld sub_group_clustered_reduce_and( char value, uint clustersize );
16987 uchar __ovld sub_group_clustered_reduce_and( uchar value, uint clustersize );
16988 short __ovld sub_group_clustered_reduce_and( short value, uint clustersize );
16989 ushort __ovld sub_group_clustered_reduce_and( ushort value, uint clustersize );
16990 int __ovld sub_group_clustered_reduce_and( int value, uint clustersize );
16991 uint __ovld sub_group_clustered_reduce_and( uint value, uint clustersize );
16992 long __ovld sub_group_clustered_reduce_and( long value, uint clustersize );
16993 ulong __ovld sub_group_clustered_reduce_and( ulong value, uint clustersize );
16995 char __ovld sub_group_clustered_reduce_or( char value, uint clustersize );
16996 uchar __ovld sub_group_clustered_reduce_or( uchar value, uint clustersize );
16997 short __ovld sub_group_clustered_reduce_or( short value, uint clustersize );
16998 ushort __ovld sub_group_clustered_reduce_or( ushort value, uint clustersize );
16999 int __ovld sub_group_clustered_reduce_or( int value, uint clustersize );
17000 uint __ovld sub_group_clustered_reduce_or( uint value, uint clustersize );
17001 long __ovld sub_group_clustered_reduce_or( long value, uint clustersize );
17002 ulong __ovld sub_group_clustered_reduce_or( ulong value, uint clustersize );
17004 char __ovld sub_group_clustered_reduce_xor( char value, uint clustersize );
17005 uchar __ovld sub_group_clustered_reduce_xor( uchar value, uint clustersize );
17006 short __ovld sub_group_clustered_reduce_xor( short value, uint clustersize );
17007 ushort __ovld sub_group_clustered_reduce_xor( ushort value, uint clustersize );
17008 int __ovld sub_group_clustered_reduce_xor( int value, uint clustersize );
17009 uint __ovld sub_group_clustered_reduce_xor( uint value, uint clustersize );
17010 long __ovld sub_group_clustered_reduce_xor( long value, uint clustersize );
17011 ulong __ovld sub_group_clustered_reduce_xor( ulong value, uint clustersize );
17013 int __ovld sub_group_clustered_reduce_logical_and( int predicate, uint clustersize );
17014 int __ovld sub_group_clustered_reduce_logical_or( int predicate, uint clustersize );
17015 int __ovld sub_group_clustered_reduce_logical_xor( int predicate, uint clustersize );
17017 #if defined(cl_khr_fp16)
17018 half __ovld sub_group_clustered_reduce_add( half value, uint clustersize );
17019 half __ovld sub_group_clustered_reduce_mul( half value, uint clustersize );
17020 half __ovld sub_group_clustered_reduce_min( half value, uint clustersize );
17021 half __ovld sub_group_clustered_reduce_max( half value, uint clustersize );
17022 #endif // cl_khr_fp16
17024 #if defined(cl_khr_fp64)
17025 double __ovld sub_group_clustered_reduce_add( double value, uint clustersize );
17026 double __ovld sub_group_clustered_reduce_mul( double value, uint clustersize );
17027 double __ovld sub_group_clustered_reduce_min( double value, uint clustersize );
17028 double __ovld sub_group_clustered_reduce_max( double value, uint clustersize );
17029 #endif // cl_khr_fp64
17031 #endif // cl_khr_subgroup_clustered_reduce
17033 #if defined(cl_khr_extended_bit_ops)
17034 char __ovld __cnfn bitfield_insert(char, char, uint, uint);
17035 uchar __ovld __cnfn bitfield_insert(uchar, uchar, uint, uint);
17036 short __ovld __cnfn bitfield_insert(short, short, uint, uint);
17037 ushort __ovld __cnfn bitfield_insert(ushort, ushort, uint, uint);
17038 int __ovld __cnfn bitfield_insert(int, int, uint, uint);
17039 uint __ovld __cnfn bitfield_insert(uint, uint, uint, uint);
17040 long __ovld __cnfn bitfield_insert(long, long, uint, uint);
17041 ulong __ovld __cnfn bitfield_insert(ulong, ulong, uint, uint);
17042 char2 __ovld __cnfn bitfield_insert(char2, char2, uint, uint);
17043 uchar2 __ovld __cnfn bitfield_insert(uchar2, uchar2, uint, uint);
17044 short2 __ovld __cnfn bitfield_insert(short2, short2, uint, uint);
17045 ushort2 __ovld __cnfn bitfield_insert(ushort2, ushort2, uint, uint);
17046 int2 __ovld __cnfn bitfield_insert(int2, int2, uint, uint);
17047 uint2 __ovld __cnfn bitfield_insert(uint2, uint2, uint, uint);
17048 long2 __ovld __cnfn bitfield_insert(long2, long2, uint, uint);
17049 ulong2 __ovld __cnfn bitfield_insert(ulong2, ulong2, uint, uint);
17050 char3 __ovld __cnfn bitfield_insert(char3, char3, uint, uint);
17051 uchar3 __ovld __cnfn bitfield_insert(uchar3, uchar3, uint, uint);
17052 short3 __ovld __cnfn bitfield_insert(short3, short3, uint, uint);
17053 ushort3 __ovld __cnfn bitfield_insert(ushort3, ushort3, uint, uint);
17054 int3 __ovld __cnfn bitfield_insert(int3, int3, uint, uint);
17055 uint3 __ovld __cnfn bitfield_insert(uint3, uint3, uint, uint);
17056 long3 __ovld __cnfn bitfield_insert(long3, long3, uint, uint);
17057 ulong3 __ovld __cnfn bitfield_insert(ulong3, ulong3, uint, uint);
17058 char4 __ovld __cnfn bitfield_insert(char4, char4, uint, uint);
17059 uchar4 __ovld __cnfn bitfield_insert(uchar4, uchar4, uint, uint);
17060 short4 __ovld __cnfn bitfield_insert(short4, short4, uint, uint);
17061 ushort4 __ovld __cnfn bitfield_insert(ushort4, ushort4, uint, uint);
17062 int4 __ovld __cnfn bitfield_insert(int4, int4, uint, uint);
17063 uint4 __ovld __cnfn bitfield_insert(uint4, uint4, uint, uint);
17064 long4 __ovld __cnfn bitfield_insert(long4, long4, uint, uint);
17065 ulong4 __ovld __cnfn bitfield_insert(ulong4, ulong4, uint, uint);
17066 char8 __ovld __cnfn bitfield_insert(char8, char8, uint, uint);
17067 uchar8 __ovld __cnfn bitfield_insert(uchar8, uchar8, uint, uint);
17068 short8 __ovld __cnfn bitfield_insert(short8, short8, uint, uint);
17069 ushort8 __ovld __cnfn bitfield_insert(ushort8, ushort8, uint, uint);
17070 int8 __ovld __cnfn bitfield_insert(int8, int8, uint, uint);
17071 uint8 __ovld __cnfn bitfield_insert(uint8, uint8, uint, uint);
17072 long8 __ovld __cnfn bitfield_insert(long8, long8, uint, uint);
17073 ulong8 __ovld __cnfn bitfield_insert(ulong8, ulong8, uint, uint);
17074 char16 __ovld __cnfn bitfield_insert(char16, char16, uint, uint);
17075 uchar16 __ovld __cnfn bitfield_insert(uchar16, uchar16, uint, uint);
17076 short16 __ovld __cnfn bitfield_insert(short16, short16, uint, uint);
17077 ushort16 __ovld __cnfn bitfield_insert(ushort16, ushort16, uint, uint);
17078 int16 __ovld __cnfn bitfield_insert(int16, int16, uint, uint);
17079 uint16 __ovld __cnfn bitfield_insert(uint16, uint16, uint, uint);
17080 long16 __ovld __cnfn bitfield_insert(long16, long16, uint, uint);
17081 ulong16 __ovld __cnfn bitfield_insert(ulong16, ulong16, uint, uint);
17083 char __ovld __cnfn bitfield_extract_signed(char, uint, uint);
17084 short __ovld __cnfn bitfield_extract_signed(short, uint, uint);
17085 int __ovld __cnfn bitfield_extract_signed(int, uint, uint);
17086 long __ovld __cnfn bitfield_extract_signed(long, uint, uint);
17087 char2 __ovld __cnfn bitfield_extract_signed(char2, uint, uint);
17088 short2 __ovld __cnfn bitfield_extract_signed(short2, uint, uint);
17089 int2 __ovld __cnfn bitfield_extract_signed(int2, uint, uint);
17090 long2 __ovld __cnfn bitfield_extract_signed(long2, uint, uint);
17091 char3 __ovld __cnfn bitfield_extract_signed(char3, uint, uint);
17092 short3 __ovld __cnfn bitfield_extract_signed(short3, uint, uint);
17093 int3 __ovld __cnfn bitfield_extract_signed(int3, uint, uint);
17094 long3 __ovld __cnfn bitfield_extract_signed(long3, uint, uint);
17095 char4 __ovld __cnfn bitfield_extract_signed(char4, uint, uint);
17096 short4 __ovld __cnfn bitfield_extract_signed(short4, uint, uint);
17097 int4 __ovld __cnfn bitfield_extract_signed(int4, uint, uint);
17098 long4 __ovld __cnfn bitfield_extract_signed(long4, uint, uint);
17099 char8 __ovld __cnfn bitfield_extract_signed(char8, uint, uint);
17100 short8 __ovld __cnfn bitfield_extract_signed(short8, uint, uint);
17101 int8 __ovld __cnfn bitfield_extract_signed(int8, uint, uint);
17102 long8 __ovld __cnfn bitfield_extract_signed(long8, uint, uint);
17103 char16 __ovld __cnfn bitfield_extract_signed(char16, uint, uint);
17104 short16 __ovld __cnfn bitfield_extract_signed(short16, uint, uint);
17105 int16 __ovld __cnfn bitfield_extract_signed(int16, uint, uint);
17106 long16 __ovld __cnfn bitfield_extract_signed(long16, uint, uint);
17108 char __ovld __cnfn bitfield_extract_signed(uchar, uint, uint);
17109 short __ovld __cnfn bitfield_extract_signed(ushort, uint, uint);
17110 int __ovld __cnfn bitfield_extract_signed(uint, uint, uint);
17111 long __ovld __cnfn bitfield_extract_signed(ulong, uint, uint);
17112 char2 __ovld __cnfn bitfield_extract_signed(uchar2, uint, uint);
17113 short2 __ovld __cnfn bitfield_extract_signed(ushort2, uint, uint);
17114 int2 __ovld __cnfn bitfield_extract_signed(uint2, uint, uint);
17115 long2 __ovld __cnfn bitfield_extract_signed(ulong2, uint, uint);
17116 char3 __ovld __cnfn bitfield_extract_signed(uchar3, uint, uint);
17117 short3 __ovld __cnfn bitfield_extract_signed(ushort3, uint, uint);
17118 int3 __ovld __cnfn bitfield_extract_signed(uint3, uint, uint);
17119 long3 __ovld __cnfn bitfield_extract_signed(ulong3, uint, uint);
17120 char4 __ovld __cnfn bitfield_extract_signed(uchar4, uint, uint);
17121 short4 __ovld __cnfn bitfield_extract_signed(ushort4, uint, uint);
17122 int4 __ovld __cnfn bitfield_extract_signed(uint4, uint, uint);
17123 long4 __ovld __cnfn bitfield_extract_signed(ulong4, uint, uint);
17124 char8 __ovld __cnfn bitfield_extract_signed(uchar8, uint, uint);
17125 short8 __ovld __cnfn bitfield_extract_signed(ushort8, uint, uint);
17126 int8 __ovld __cnfn bitfield_extract_signed(uint8, uint, uint);
17127 long8 __ovld __cnfn bitfield_extract_signed(ulong8, uint, uint);
17128 char16 __ovld __cnfn bitfield_extract_signed(uchar16, uint, uint);
17129 short16 __ovld __cnfn bitfield_extract_signed(ushort16, uint, uint);
17130 int16 __ovld __cnfn bitfield_extract_signed(uint16, uint, uint);
17131 long16 __ovld __cnfn bitfield_extract_signed(ulong16, uint, uint);
17133 uchar __ovld __cnfn bitfield_extract_unsigned(char, uint, uint);
17134 ushort __ovld __cnfn bitfield_extract_unsigned(short, uint, uint);
17135 uint __ovld __cnfn bitfield_extract_unsigned(int, uint, uint);
17136 ulong __ovld __cnfn bitfield_extract_unsigned(long, uint, uint);
17137 uchar2 __ovld __cnfn bitfield_extract_unsigned(char2, uint, uint);
17138 ushort2 __ovld __cnfn bitfield_extract_unsigned(short2, uint, uint);
17139 uint2 __ovld __cnfn bitfield_extract_unsigned(int2, uint, uint);
17140 ulong2 __ovld __cnfn bitfield_extract_unsigned(long2, uint, uint);
17141 uchar3 __ovld __cnfn bitfield_extract_unsigned(char3, uint, uint);
17142 ushort3 __ovld __cnfn bitfield_extract_unsigned(short3, uint, uint);
17143 uint3 __ovld __cnfn bitfield_extract_unsigned(int3, uint, uint);
17144 ulong3 __ovld __cnfn bitfield_extract_unsigned(long3, uint, uint);
17145 uchar4 __ovld __cnfn bitfield_extract_unsigned(char4, uint, uint);
17146 ushort4 __ovld __cnfn bitfield_extract_unsigned(short4, uint, uint);
17147 uint4 __ovld __cnfn bitfield_extract_unsigned(int4, uint, uint);
17148 ulong4 __ovld __cnfn bitfield_extract_unsigned(long4, uint, uint);
17149 uchar8 __ovld __cnfn bitfield_extract_unsigned(char8, uint, uint);
17150 ushort8 __ovld __cnfn bitfield_extract_unsigned(short8, uint, uint);
17151 uint8 __ovld __cnfn bitfield_extract_unsigned(int8, uint, uint);
17152 ulong8 __ovld __cnfn bitfield_extract_unsigned(long8, uint, uint);
17153 uchar16 __ovld __cnfn bitfield_extract_unsigned(char16, uint, uint);
17154 ushort16 __ovld __cnfn bitfield_extract_unsigned(short16, uint, uint);
17155 uint16 __ovld __cnfn bitfield_extract_unsigned(int16, uint, uint);
17156 ulong16 __ovld __cnfn bitfield_extract_unsigned(long16, uint, uint);
17158 uchar __ovld __cnfn bitfield_extract_unsigned(uchar, uint, uint);
17159 ushort __ovld __cnfn bitfield_extract_unsigned(ushort, uint, uint);
17160 uint __ovld __cnfn bitfield_extract_unsigned(uint, uint, uint);
17161 ulong __ovld __cnfn bitfield_extract_unsigned(ulong, uint, uint);
17162 uchar2 __ovld __cnfn bitfield_extract_unsigned(uchar2, uint, uint);
17163 ushort2 __ovld __cnfn bitfield_extract_unsigned(ushort2, uint, uint);
17164 uint2 __ovld __cnfn bitfield_extract_unsigned(uint2, uint, uint);
17165 ulong2 __ovld __cnfn bitfield_extract_unsigned(ulong2, uint, uint);
17166 uchar3 __ovld __cnfn bitfield_extract_unsigned(uchar3, uint, uint);
17167 ushort3 __ovld __cnfn bitfield_extract_unsigned(ushort3, uint, uint);
17168 uint3 __ovld __cnfn bitfield_extract_unsigned(uint3, uint, uint);
17169 ulong3 __ovld __cnfn bitfield_extract_unsigned(ulong3, uint, uint);
17170 uchar4 __ovld __cnfn bitfield_extract_unsigned(uchar4, uint, uint);
17171 ushort4 __ovld __cnfn bitfield_extract_unsigned(ushort4, uint, uint);
17172 uint4 __ovld __cnfn bitfield_extract_unsigned(uint4, uint, uint);
17173 ulong4 __ovld __cnfn bitfield_extract_unsigned(ulong4, uint, uint);
17174 uchar8 __ovld __cnfn bitfield_extract_unsigned(uchar8, uint, uint);
17175 ushort8 __ovld __cnfn bitfield_extract_unsigned(ushort8, uint, uint);
17176 uint8 __ovld __cnfn bitfield_extract_unsigned(uint8, uint, uint);
17177 ulong8 __ovld __cnfn bitfield_extract_unsigned(ulong8, uint, uint);
17178 uchar16 __ovld __cnfn bitfield_extract_unsigned(uchar16, uint, uint);
17179 ushort16 __ovld __cnfn bitfield_extract_unsigned(ushort16, uint, uint);
17180 uint16 __ovld __cnfn bitfield_extract_unsigned(uint16, uint, uint);
17181 ulong16 __ovld __cnfn bitfield_extract_unsigned(ulong16, uint, uint);
17183 char __ovld __cnfn bit_reverse(char);
17184 uchar __ovld __cnfn bit_reverse(uchar);
17185 short __ovld __cnfn bit_reverse(short);
17186 ushort __ovld __cnfn bit_reverse(ushort);
17187 int __ovld __cnfn bit_reverse(int);
17188 uint __ovld __cnfn bit_reverse(uint);
17189 long __ovld __cnfn bit_reverse(long);
17190 ulong __ovld __cnfn bit_reverse(ulong);
17191 char2 __ovld __cnfn bit_reverse(char2);
17192 uchar2 __ovld __cnfn bit_reverse(uchar2);
17193 short2 __ovld __cnfn bit_reverse(short2);
17194 ushort2 __ovld __cnfn bit_reverse(ushort2);
17195 int2 __ovld __cnfn bit_reverse(int2);
17196 uint2 __ovld __cnfn bit_reverse(uint2);
17197 long2 __ovld __cnfn bit_reverse(long2);
17198 ulong2 __ovld __cnfn bit_reverse(ulong2);
17199 char3 __ovld __cnfn bit_reverse(char3);
17200 uchar3 __ovld __cnfn bit_reverse(uchar3);
17201 short3 __ovld __cnfn bit_reverse(short3);
17202 ushort3 __ovld __cnfn bit_reverse(ushort3);
17203 int3 __ovld __cnfn bit_reverse(int3);
17204 uint3 __ovld __cnfn bit_reverse(uint3);
17205 long3 __ovld __cnfn bit_reverse(long3);
17206 ulong3 __ovld __cnfn bit_reverse(ulong3);
17207 char4 __ovld __cnfn bit_reverse(char4);
17208 uchar4 __ovld __cnfn bit_reverse(uchar4);
17209 short4 __ovld __cnfn bit_reverse(short4);
17210 ushort4 __ovld __cnfn bit_reverse(ushort4);
17211 int4 __ovld __cnfn bit_reverse(int4);
17212 uint4 __ovld __cnfn bit_reverse(uint4);
17213 long4 __ovld __cnfn bit_reverse(long4);
17214 ulong4 __ovld __cnfn bit_reverse(ulong4);
17215 char8 __ovld __cnfn bit_reverse(char8);
17216 uchar8 __ovld __cnfn bit_reverse(uchar8);
17217 short8 __ovld __cnfn bit_reverse(short8);
17218 ushort8 __ovld __cnfn bit_reverse(ushort8);
17219 int8 __ovld __cnfn bit_reverse(int8);
17220 uint8 __ovld __cnfn bit_reverse(uint8);
17221 long8 __ovld __cnfn bit_reverse(long8);
17222 ulong8 __ovld __cnfn bit_reverse(ulong8);
17223 char16 __ovld __cnfn bit_reverse(char16);
17224 uchar16 __ovld __cnfn bit_reverse(uchar16);
17225 short16 __ovld __cnfn bit_reverse(short16);
17226 ushort16 __ovld __cnfn bit_reverse(ushort16);
17227 int16 __ovld __cnfn bit_reverse(int16);
17228 uint16 __ovld __cnfn bit_reverse(uint16);
17229 long16 __ovld __cnfn bit_reverse(long16);
17230 ulong16 __ovld __cnfn bit_reverse(ulong16);
17231 #endif // cl_khr_extended_bit_ops
17233 #if defined(__opencl_c_integer_dot_product_input_4x8bit)
17234 uint __ovld __cnfn dot(uchar4, uchar4);
17235 int __ovld __cnfn dot(char4, char4);
17236 int __ovld __cnfn dot(uchar4, char4);
17237 int __ovld __cnfn dot(char4, uchar4);
17239 uint __ovld __cnfn dot_acc_sat(uchar4, uchar4, uint);
17240 int __ovld __cnfn dot_acc_sat(char4, char4, int);
17241 int __ovld __cnfn dot_acc_sat(uchar4, char4, int);
17242 int __ovld __cnfn dot_acc_sat(char4, uchar4, int);
17243 #endif // __opencl_c_integer_dot_product_input_4x8bit
17245 #if defined(__opencl_c_integer_dot_product_input_4x8bit_packed)
17246 uint __ovld __cnfn dot_4x8packed_uu_uint(uint, uint);
17247 int __ovld __cnfn dot_4x8packed_ss_int(uint, uint);
17248 int __ovld __cnfn dot_4x8packed_us_int(uint, uint);
17249 int __ovld __cnfn dot_4x8packed_su_int(uint, uint);
17251 uint __ovld __cnfn dot_acc_sat_4x8packed_uu_uint(uint, uint, uint);
17252 int __ovld __cnfn dot_acc_sat_4x8packed_ss_int(uint, uint, int);
17253 int __ovld __cnfn dot_acc_sat_4x8packed_us_int(uint, uint, int);
17254 int __ovld __cnfn dot_acc_sat_4x8packed_su_int(uint, uint, int);
17255 #endif // __opencl_c_integer_dot_product_input_4x8bit_packed
17257 #if defined(cl_khr_subgroup_rotate)
17258 char __ovld __conv sub_group_rotate(char, int);
17259 uchar __ovld __conv sub_group_rotate(uchar, int);
17260 short __ovld __conv sub_group_rotate(short, int);
17261 ushort __ovld __conv sub_group_rotate(ushort, int);
17262 int __ovld __conv sub_group_rotate(int, int);
17263 uint __ovld __conv sub_group_rotate(uint, int);
17264 long __ovld __conv sub_group_rotate(long, int);
17265 ulong __ovld __conv sub_group_rotate(ulong, int);
17266 float __ovld __conv sub_group_rotate(float, int);
17267 #if defined(cl_khr_fp64)
17268 double __ovld __conv sub_group_rotate(double, int);
17269 #endif // cl_khr_fp64
17270 #if defined(cl_khr_fp16)
17271 half __ovld __conv sub_group_rotate(half, int);
17272 #endif // cl_khr_fp16
17274 char __ovld __conv sub_group_clustered_rotate(char, int, uint);
17275 uchar __ovld __conv sub_group_clustered_rotate(uchar, int, uint);
17276 short __ovld __conv sub_group_clustered_rotate(short, int, uint);
17277 ushort __ovld __conv sub_group_clustered_rotate(ushort, int, uint);
17278 int __ovld __conv sub_group_clustered_rotate(int, int, uint);
17279 uint __ovld __conv sub_group_clustered_rotate(uint, int, uint);
17280 long __ovld __conv sub_group_clustered_rotate(long, int, uint);
17281 ulong __ovld __conv sub_group_clustered_rotate(ulong, int, uint);
17282 float __ovld __conv sub_group_clustered_rotate(float, int, uint);
17283 #if defined(cl_khr_fp64)
17284 double __ovld __conv sub_group_clustered_rotate(double, int, uint);
17285 #endif // cl_khr_fp64
17286 #if defined(cl_khr_fp16)
17287 half __ovld __conv sub_group_clustered_rotate(half, int, uint);
17288 #endif // cl_khr_fp16
17289 #endif // cl_khr_subgroup_rotate
17291 #if defined(cl_intel_subgroups)
17292 // Intel-Specific Sub Group Functions
17293 float __ovld __conv intel_sub_group_shuffle( float , uint );
17294 float2 __ovld __conv intel_sub_group_shuffle( float2, uint );
17295 float3 __ovld __conv intel_sub_group_shuffle( float3, uint );
17296 float4 __ovld __conv intel_sub_group_shuffle( float4, uint );
17297 float8 __ovld __conv intel_sub_group_shuffle( float8, uint );
17298 float16 __ovld __conv intel_sub_group_shuffle( float16, uint );
17300 int __ovld __conv intel_sub_group_shuffle( int , uint );
17301 int2 __ovld __conv intel_sub_group_shuffle( int2, uint );
17302 int3 __ovld __conv intel_sub_group_shuffle( int3, uint );
17303 int4 __ovld __conv intel_sub_group_shuffle( int4, uint );
17304 int8 __ovld __conv intel_sub_group_shuffle( int8, uint );
17305 int16 __ovld __conv intel_sub_group_shuffle( int16, uint );
17307 uint __ovld __conv intel_sub_group_shuffle( uint , uint );
17308 uint2 __ovld __conv intel_sub_group_shuffle( uint2, uint );
17309 uint3 __ovld __conv intel_sub_group_shuffle( uint3, uint );
17310 uint4 __ovld __conv intel_sub_group_shuffle( uint4, uint );
17311 uint8 __ovld __conv intel_sub_group_shuffle( uint8, uint );
17312 uint16 __ovld __conv intel_sub_group_shuffle( uint16, uint );
17314 long __ovld __conv intel_sub_group_shuffle( long, uint );
17315 ulong __ovld __conv intel_sub_group_shuffle( ulong, uint );
17317 float __ovld __conv intel_sub_group_shuffle_down( float cur, float next, uint );
17318 float2 __ovld __conv intel_sub_group_shuffle_down( float2 cur, float2 next, uint );
17319 float3 __ovld __conv intel_sub_group_shuffle_down( float3 cur, float3 next, uint );
17320 float4 __ovld __conv intel_sub_group_shuffle_down( float4 cur, float4 next, uint );
17321 float8 __ovld __conv intel_sub_group_shuffle_down( float8 cur, float8 next, uint );
17322 float16 __ovld __conv intel_sub_group_shuffle_down( float16 cur, float16 next, uint );
17324 int __ovld __conv intel_sub_group_shuffle_down( int cur, int next, uint );
17325 int2 __ovld __conv intel_sub_group_shuffle_down( int2 cur, int2 next, uint );
17326 int3 __ovld __conv intel_sub_group_shuffle_down( int3 cur, int3 next, uint );
17327 int4 __ovld __conv intel_sub_group_shuffle_down( int4 cur, int4 next, uint );
17328 int8 __ovld __conv intel_sub_group_shuffle_down( int8 cur, int8 next, uint );
17329 int16 __ovld __conv intel_sub_group_shuffle_down( int16 cur, int16 next, uint );
17331 uint __ovld __conv intel_sub_group_shuffle_down( uint cur, uint next, uint );
17332 uint2 __ovld __conv intel_sub_group_shuffle_down( uint2 cur, uint2 next, uint );
17333 uint3 __ovld __conv intel_sub_group_shuffle_down( uint3 cur, uint3 next, uint );
17334 uint4 __ovld __conv intel_sub_group_shuffle_down( uint4 cur, uint4 next, uint );
17335 uint8 __ovld __conv intel_sub_group_shuffle_down( uint8 cur, uint8 next, uint );
17336 uint16 __ovld __conv intel_sub_group_shuffle_down( uint16 cur, uint16 next, uint );
17338 long __ovld __conv intel_sub_group_shuffle_down( long prev, long cur, uint );
17339 ulong __ovld __conv intel_sub_group_shuffle_down( ulong prev, ulong cur, uint );
17341 float __ovld __conv intel_sub_group_shuffle_up( float prev, float cur, uint );
17342 float2 __ovld __conv intel_sub_group_shuffle_up( float2 prev, float2 cur, uint );
17343 float3 __ovld __conv intel_sub_group_shuffle_up( float3 prev, float3 cur, uint );
17344 float4 __ovld __conv intel_sub_group_shuffle_up( float4 prev, float4 cur, uint );
17345 float8 __ovld __conv intel_sub_group_shuffle_up( float8 prev, float8 cur, uint );
17346 float16 __ovld __conv intel_sub_group_shuffle_up( float16 prev, float16 cur, uint );
17348 int __ovld __conv intel_sub_group_shuffle_up( int prev, int cur, uint );
17349 int2 __ovld __conv intel_sub_group_shuffle_up( int2 prev, int2 cur, uint );
17350 int3 __ovld __conv intel_sub_group_shuffle_up( int3 prev, int3 cur, uint );
17351 int4 __ovld __conv intel_sub_group_shuffle_up( int4 prev, int4 cur, uint );
17352 int8 __ovld __conv intel_sub_group_shuffle_up( int8 prev, int8 cur, uint );
17353 int16 __ovld __conv intel_sub_group_shuffle_up( int16 prev, int16 cur, uint );
17355 uint __ovld __conv intel_sub_group_shuffle_up( uint prev, uint cur, uint );
17356 uint2 __ovld __conv intel_sub_group_shuffle_up( uint2 prev, uint2 cur, uint );
17357 uint3 __ovld __conv intel_sub_group_shuffle_up( uint3 prev, uint3 cur, uint );
17358 uint4 __ovld __conv intel_sub_group_shuffle_up( uint4 prev, uint4 cur, uint );
17359 uint8 __ovld __conv intel_sub_group_shuffle_up( uint8 prev, uint8 cur, uint );
17360 uint16 __ovld __conv intel_sub_group_shuffle_up( uint16 prev, uint16 cur, uint );
17362 long __ovld __conv intel_sub_group_shuffle_up( long prev, long cur, uint );
17363 ulong __ovld __conv intel_sub_group_shuffle_up( ulong prev, ulong cur, uint );
17365 float __ovld __conv intel_sub_group_shuffle_xor( float , uint );
17366 float2 __ovld __conv intel_sub_group_shuffle_xor( float2, uint );
17367 float3 __ovld __conv intel_sub_group_shuffle_xor( float3, uint );
17368 float4 __ovld __conv intel_sub_group_shuffle_xor( float4, uint );
17369 float8 __ovld __conv intel_sub_group_shuffle_xor( float8, uint );
17370 float16 __ovld __conv intel_sub_group_shuffle_xor( float16, uint );
17372 int __ovld __conv intel_sub_group_shuffle_xor( int , uint );
17373 int2 __ovld __conv intel_sub_group_shuffle_xor( int2, uint );
17374 int3 __ovld __conv intel_sub_group_shuffle_xor( int3, uint );
17375 int4 __ovld __conv intel_sub_group_shuffle_xor( int4, uint );
17376 int8 __ovld __conv intel_sub_group_shuffle_xor( int8, uint );
17377 int16 __ovld __conv intel_sub_group_shuffle_xor( int16, uint );
17379 uint __ovld __conv intel_sub_group_shuffle_xor( uint , uint );
17380 uint2 __ovld __conv intel_sub_group_shuffle_xor( uint2, uint );
17381 uint3 __ovld __conv intel_sub_group_shuffle_xor( uint3, uint );
17382 uint4 __ovld __conv intel_sub_group_shuffle_xor( uint4, uint );
17383 uint8 __ovld __conv intel_sub_group_shuffle_xor( uint8, uint );
17384 uint16 __ovld __conv intel_sub_group_shuffle_xor( uint16, uint );
17386 long __ovld __conv intel_sub_group_shuffle_xor( long, uint );
17387 ulong __ovld __conv intel_sub_group_shuffle_xor( ulong, uint );
17389 #if defined(__opencl_c_images)
17390 uint __ovld __conv intel_sub_group_block_read(read_only image2d_t, int2);
17391 uint2 __ovld __conv intel_sub_group_block_read2(read_only image2d_t, int2);
17392 uint4 __ovld __conv intel_sub_group_block_read4(read_only image2d_t, int2);
17393 uint8 __ovld __conv intel_sub_group_block_read8(read_only image2d_t, int2);
17394 #endif
17396 #if defined(__opencl_c_read_write_images)
17397 uint __ovld __conv intel_sub_group_block_read(read_write image2d_t, int2);
17398 uint2 __ovld __conv intel_sub_group_block_read2(read_write image2d_t, int2);
17399 uint4 __ovld __conv intel_sub_group_block_read4(read_write image2d_t, int2);
17400 uint8 __ovld __conv intel_sub_group_block_read8(read_write image2d_t, int2);
17401 #endif // defined(__opencl_c_read_write_images)
17403 uint __ovld __conv intel_sub_group_block_read( const __global uint* p );
17404 uint2 __ovld __conv intel_sub_group_block_read2( const __global uint* p );
17405 uint4 __ovld __conv intel_sub_group_block_read4( const __global uint* p );
17406 uint8 __ovld __conv intel_sub_group_block_read8( const __global uint* p );
17408 #if defined(__opencl_c_images)
17409 void __ovld __conv intel_sub_group_block_write(write_only image2d_t, int2, uint);
17410 void __ovld __conv intel_sub_group_block_write2(write_only image2d_t, int2, uint2);
17411 void __ovld __conv intel_sub_group_block_write4(write_only image2d_t, int2, uint4);
17412 void __ovld __conv intel_sub_group_block_write8(write_only image2d_t, int2, uint8);
17413 #endif // defined(__opencl_c_images)
17415 #if defined(__opencl_c_read_write_images)
17416 void __ovld __conv intel_sub_group_block_write(read_write image2d_t, int2, uint);
17417 void __ovld __conv intel_sub_group_block_write2(read_write image2d_t, int2, uint2);
17418 void __ovld __conv intel_sub_group_block_write4(read_write image2d_t, int2, uint4);
17419 void __ovld __conv intel_sub_group_block_write8(read_write image2d_t, int2, uint8);
17420 #endif // defined(__opencl_c_read_write_images)
17422 void __ovld __conv intel_sub_group_block_write( __global uint* p, uint data );
17423 void __ovld __conv intel_sub_group_block_write2( __global uint* p, uint2 data );
17424 void __ovld __conv intel_sub_group_block_write4( __global uint* p, uint4 data );
17425 void __ovld __conv intel_sub_group_block_write8( __global uint* p, uint8 data );
17427 #ifdef cl_khr_fp16
17428 half __ovld __conv intel_sub_group_shuffle( half, uint );
17429 half __ovld __conv intel_sub_group_shuffle_down( half prev, half cur, uint );
17430 half __ovld __conv intel_sub_group_shuffle_up( half prev, half cur, uint );
17431 half __ovld __conv intel_sub_group_shuffle_xor( half, uint );
17432 #endif
17434 #if defined(cl_khr_fp64)
17435 double __ovld __conv intel_sub_group_shuffle( double, uint );
17436 double __ovld __conv intel_sub_group_shuffle_down( double prev, double cur, uint );
17437 double __ovld __conv intel_sub_group_shuffle_up( double prev, double cur, uint );
17438 double __ovld __conv intel_sub_group_shuffle_xor( double, uint );
17439 #endif
17441 #endif //cl_intel_subgroups
17443 #if defined(cl_intel_subgroups_short)
17444 short __ovld __conv intel_sub_group_broadcast( short , uint sub_group_local_id );
17445 short2 __ovld __conv intel_sub_group_broadcast( short2, uint sub_group_local_id );
17446 short3 __ovld __conv intel_sub_group_broadcast( short3, uint sub_group_local_id );
17447 short4 __ovld __conv intel_sub_group_broadcast( short4, uint sub_group_local_id );
17448 short8 __ovld __conv intel_sub_group_broadcast( short8, uint sub_group_local_id );
17450 ushort __ovld __conv intel_sub_group_broadcast( ushort , uint sub_group_local_id );
17451 ushort2 __ovld __conv intel_sub_group_broadcast( ushort2, uint sub_group_local_id );
17452 ushort3 __ovld __conv intel_sub_group_broadcast( ushort3, uint sub_group_local_id );
17453 ushort4 __ovld __conv intel_sub_group_broadcast( ushort4, uint sub_group_local_id );
17454 ushort8 __ovld __conv intel_sub_group_broadcast( ushort8, uint sub_group_local_id );
17456 short __ovld __conv intel_sub_group_shuffle( short , uint );
17457 short2 __ovld __conv intel_sub_group_shuffle( short2 , uint );
17458 short3 __ovld __conv intel_sub_group_shuffle( short3 , uint );
17459 short4 __ovld __conv intel_sub_group_shuffle( short4 , uint );
17460 short8 __ovld __conv intel_sub_group_shuffle( short8 , uint );
17461 short16 __ovld __conv intel_sub_group_shuffle( short16, uint);
17463 ushort __ovld __conv intel_sub_group_shuffle( ushort , uint );
17464 ushort2 __ovld __conv intel_sub_group_shuffle( ushort2 , uint );
17465 ushort3 __ovld __conv intel_sub_group_shuffle( ushort3 , uint );
17466 ushort4 __ovld __conv intel_sub_group_shuffle( ushort4 , uint );
17467 ushort8 __ovld __conv intel_sub_group_shuffle( ushort8 , uint );
17468 ushort16 __ovld __conv intel_sub_group_shuffle( ushort16, uint );
17470 short __ovld __conv intel_sub_group_shuffle_down( short cur, short next, uint );
17471 short2 __ovld __conv intel_sub_group_shuffle_down( short2 cur, short2 next, uint );
17472 short3 __ovld __conv intel_sub_group_shuffle_down( short3 cur, short3 next, uint );
17473 short4 __ovld __conv intel_sub_group_shuffle_down( short4 cur, short4 next, uint );
17474 short8 __ovld __conv intel_sub_group_shuffle_down( short8 cur, short8 next, uint );
17475 short16 __ovld __conv intel_sub_group_shuffle_down( short16 cur, short16 next, uint );
17477 ushort __ovld __conv intel_sub_group_shuffle_down( ushort cur, ushort next, uint );
17478 ushort2 __ovld __conv intel_sub_group_shuffle_down( ushort2 cur, ushort2 next, uint );
17479 ushort3 __ovld __conv intel_sub_group_shuffle_down( ushort3 cur, ushort3 next, uint );
17480 ushort4 __ovld __conv intel_sub_group_shuffle_down( ushort4 cur, ushort4 next, uint );
17481 ushort8 __ovld __conv intel_sub_group_shuffle_down( ushort8 cur, ushort8 next, uint );
17482 ushort16 __ovld __conv intel_sub_group_shuffle_down( ushort16 cur, ushort16 next, uint );
17484 short __ovld __conv intel_sub_group_shuffle_up( short cur, short next, uint );
17485 short2 __ovld __conv intel_sub_group_shuffle_up( short2 cur, short2 next, uint );
17486 short3 __ovld __conv intel_sub_group_shuffle_up( short3 cur, short3 next, uint );
17487 short4 __ovld __conv intel_sub_group_shuffle_up( short4 cur, short4 next, uint );
17488 short8 __ovld __conv intel_sub_group_shuffle_up( short8 cur, short8 next, uint );
17489 short16 __ovld __conv intel_sub_group_shuffle_up( short16 cur, short16 next, uint );
17491 ushort __ovld __conv intel_sub_group_shuffle_up( ushort cur, ushort next, uint );
17492 ushort2 __ovld __conv intel_sub_group_shuffle_up( ushort2 cur, ushort2 next, uint );
17493 ushort3 __ovld __conv intel_sub_group_shuffle_up( ushort3 cur, ushort3 next, uint );
17494 ushort4 __ovld __conv intel_sub_group_shuffle_up( ushort4 cur, ushort4 next, uint );
17495 ushort8 __ovld __conv intel_sub_group_shuffle_up( ushort8 cur, ushort8 next, uint );
17496 ushort16 __ovld __conv intel_sub_group_shuffle_up( ushort16 cur, ushort16 next, uint );
17498 short __ovld __conv intel_sub_group_shuffle_xor( short , uint );
17499 short2 __ovld __conv intel_sub_group_shuffle_xor( short2 , uint );
17500 short3 __ovld __conv intel_sub_group_shuffle_xor( short3 , uint );
17501 short4 __ovld __conv intel_sub_group_shuffle_xor( short4 , uint );
17502 short8 __ovld __conv intel_sub_group_shuffle_xor( short8 , uint );
17503 short16 __ovld __conv intel_sub_group_shuffle_xor( short16, uint );
17505 ushort __ovld __conv intel_sub_group_shuffle_xor( ushort , uint );
17506 ushort2 __ovld __conv intel_sub_group_shuffle_xor( ushort2 , uint );
17507 ushort3 __ovld __conv intel_sub_group_shuffle_xor( ushort3 , uint );
17508 ushort4 __ovld __conv intel_sub_group_shuffle_xor( ushort4 , uint );
17509 ushort8 __ovld __conv intel_sub_group_shuffle_xor( ushort8 , uint );
17510 ushort16 __ovld __conv intel_sub_group_shuffle_xor( ushort16, uint );
17512 short __ovld __conv intel_sub_group_reduce_add( short x );
17513 ushort __ovld __conv intel_sub_group_reduce_add( ushort x );
17514 short __ovld __conv intel_sub_group_reduce_min( short x );
17515 ushort __ovld __conv intel_sub_group_reduce_min( ushort x );
17516 short __ovld __conv intel_sub_group_reduce_max( short x );
17517 ushort __ovld __conv intel_sub_group_reduce_max( ushort x );
17519 short __ovld __conv intel_sub_group_scan_exclusive_add( short x );
17520 ushort __ovld __conv intel_sub_group_scan_exclusive_add( ushort x );
17521 short __ovld __conv intel_sub_group_scan_exclusive_min( short x );
17522 ushort __ovld __conv intel_sub_group_scan_exclusive_min( ushort x );
17523 short __ovld __conv intel_sub_group_scan_exclusive_max( short x );
17524 ushort __ovld __conv intel_sub_group_scan_exclusive_max( ushort x );
17526 short __ovld __conv intel_sub_group_scan_inclusive_add( short x );
17527 ushort __ovld __conv intel_sub_group_scan_inclusive_add( ushort x );
17528 short __ovld __conv intel_sub_group_scan_inclusive_min( short x );
17529 ushort __ovld __conv intel_sub_group_scan_inclusive_min( ushort x );
17530 short __ovld __conv intel_sub_group_scan_inclusive_max( short x );
17531 ushort __ovld __conv intel_sub_group_scan_inclusive_max( ushort x );
17533 #if defined(__opencl_c_images)
17534 uint __ovld __conv intel_sub_group_block_read_ui(read_only image2d_t, int2);
17535 uint2 __ovld __conv intel_sub_group_block_read_ui2(read_only image2d_t, int2);
17536 uint4 __ovld __conv intel_sub_group_block_read_ui4(read_only image2d_t, int2);
17537 uint8 __ovld __conv intel_sub_group_block_read_ui8(read_only image2d_t, int2);
17538 #endif // defined(__opencl_c_images)
17540 #if defined(__opencl_c_read_write_images)
17541 uint __ovld __conv intel_sub_group_block_read_ui(read_write image2d_t, int2);
17542 uint2 __ovld __conv intel_sub_group_block_read_ui2(read_write image2d_t, int2);
17543 uint4 __ovld __conv intel_sub_group_block_read_ui4(read_write image2d_t, int2);
17544 uint8 __ovld __conv intel_sub_group_block_read_ui8(read_write image2d_t, int2);
17545 #endif // defined(__opencl_c_read_write_images)
17547 uint __ovld __conv intel_sub_group_block_read_ui( const __global uint* p );
17548 uint2 __ovld __conv intel_sub_group_block_read_ui2( const __global uint* p );
17549 uint4 __ovld __conv intel_sub_group_block_read_ui4( const __global uint* p );
17550 uint8 __ovld __conv intel_sub_group_block_read_ui8( const __global uint* p );
17552 #if defined(__opencl_c_images)
17553 void __ovld __conv intel_sub_group_block_write_ui(read_only image2d_t, int2, uint);
17554 void __ovld __conv intel_sub_group_block_write_ui2(read_only image2d_t, int2, uint2);
17555 void __ovld __conv intel_sub_group_block_write_ui4(read_only image2d_t, int2, uint4);
17556 void __ovld __conv intel_sub_group_block_write_ui8(read_only image2d_t, int2, uint8);
17557 #endif //defined(__opencl_c_images)
17559 #if defined(__opencl_c_read_write_images)
17560 void __ovld __conv intel_sub_group_block_write_ui(read_write image2d_t, int2, uint);
17561 void __ovld __conv intel_sub_group_block_write_ui2(read_write image2d_t, int2, uint2);
17562 void __ovld __conv intel_sub_group_block_write_ui4(read_write image2d_t, int2, uint4);
17563 void __ovld __conv intel_sub_group_block_write_ui8(read_write image2d_t, int2, uint8);
17564 #endif // defined(__opencl_c_read_write_images)
17566 void __ovld __conv intel_sub_group_block_write_ui( __global uint* p, uint data );
17567 void __ovld __conv intel_sub_group_block_write_ui2( __global uint* p, uint2 data );
17568 void __ovld __conv intel_sub_group_block_write_ui4( __global uint* p, uint4 data );
17569 void __ovld __conv intel_sub_group_block_write_ui8( __global uint* p, uint8 data );
17571 #if defined(__opencl_c_images)
17572 ushort __ovld __conv intel_sub_group_block_read_us(read_only image2d_t, int2);
17573 ushort2 __ovld __conv intel_sub_group_block_read_us2(read_only image2d_t, int2);
17574 ushort4 __ovld __conv intel_sub_group_block_read_us4(read_only image2d_t, int2);
17575 ushort8 __ovld __conv intel_sub_group_block_read_us8(read_only image2d_t, int2);
17576 #endif // defined(__opencl_c_images)
17578 #if defined(__opencl_c_read_write_images)
17579 ushort __ovld __conv intel_sub_group_block_read_us(read_write image2d_t, int2);
17580 ushort2 __ovld __conv intel_sub_group_block_read_us2(read_write image2d_t, int2);
17581 ushort4 __ovld __conv intel_sub_group_block_read_us4(read_write image2d_t, int2);
17582 ushort8 __ovld __conv intel_sub_group_block_read_us8(read_write image2d_t, int2);
17583 #endif // defined(__opencl_c_read_write_images)
17585 ushort __ovld __conv intel_sub_group_block_read_us( const __global ushort* p );
17586 ushort2 __ovld __conv intel_sub_group_block_read_us2( const __global ushort* p );
17587 ushort4 __ovld __conv intel_sub_group_block_read_us4( const __global ushort* p );
17588 ushort8 __ovld __conv intel_sub_group_block_read_us8( const __global ushort* p );
17590 #if defined(__opencl_c_images)
17591 void __ovld __conv intel_sub_group_block_write_us(write_only image2d_t, int2, ushort);
17592 void __ovld __conv intel_sub_group_block_write_us2(write_only image2d_t, int2, ushort2);
17593 void __ovld __conv intel_sub_group_block_write_us4(write_only image2d_t, int2, ushort4);
17594 void __ovld __conv intel_sub_group_block_write_us8(write_only image2d_t, int2, ushort8);
17595 #endif // defined(__opencl_c_images)
17597 #if defined(__opencl_c_read_write_images)
17598 void __ovld __conv intel_sub_group_block_write_us(read_write image2d_t, int2, ushort);
17599 void __ovld __conv intel_sub_group_block_write_us2(read_write image2d_t, int2, ushort2);
17600 void __ovld __conv intel_sub_group_block_write_us4(read_write image2d_t, int2, ushort4);
17601 void __ovld __conv intel_sub_group_block_write_us8(read_write image2d_t, int2, ushort8);
17602 #endif // defined(__opencl_c_read_write_images)
17604 void __ovld __conv intel_sub_group_block_write_us( __global ushort* p, ushort data );
17605 void __ovld __conv intel_sub_group_block_write_us2( __global ushort* p, ushort2 data );
17606 void __ovld __conv intel_sub_group_block_write_us4( __global ushort* p, ushort4 data );
17607 void __ovld __conv intel_sub_group_block_write_us8( __global ushort* p, ushort8 data );
17608 #endif // cl_intel_subgroups_short
17610 #ifdef cl_intel_device_side_avc_motion_estimation
17611 #pragma OPENCL EXTENSION cl_intel_device_side_avc_motion_estimation : begin
17613 // MCE built-in functions
17614 uchar __ovld
17615 intel_sub_group_avc_mce_get_default_inter_base_multi_reference_penalty(
17616 uchar slice_type, uchar qp);
17617 ulong __ovld intel_sub_group_avc_mce_get_default_inter_shape_penalty(
17618 uchar slice_type, uchar qp);
17619 uchar __ovld intel_sub_group_avc_mce_get_default_inter_direction_penalty(
17620 uchar slice_type, uchar qp);
17621 uint __ovld intel_sub_group_avc_mce_get_default_intra_luma_shape_penalty(
17622 uchar slice_type, uchar qp);
17623 uint2 __ovld
17624 intel_sub_group_avc_mce_get_default_inter_motion_vector_cost_table(
17625 uchar slice_type, uchar qp);
17626 uchar __ovld intel_sub_group_avc_mce_get_default_intra_luma_mode_penalty(
17627 uchar slice_type, uchar qp);
17629 uint2 __ovld intel_sub_group_avc_mce_get_default_high_penalty_cost_table();
17630 uint2 __ovld intel_sub_group_avc_mce_get_default_medium_penalty_cost_table();
17631 uint2 __ovld intel_sub_group_avc_mce_get_default_low_penalty_cost_table();
17632 uint __ovld intel_sub_group_avc_mce_get_default_non_dc_luma_intra_penalty();
17633 uchar __ovld
17634 intel_sub_group_avc_mce_get_default_intra_chroma_mode_base_penalty();
17636 intel_sub_group_avc_mce_payload_t __ovld
17637 intel_sub_group_avc_mce_set_inter_base_multi_reference_penalty(
17638 uchar reference_base_penalty, intel_sub_group_avc_mce_payload_t payload);
17639 intel_sub_group_avc_mce_payload_t __ovld
17640 intel_sub_group_avc_mce_set_inter_shape_penalty(
17641 ulong packed_shape_penalty, intel_sub_group_avc_mce_payload_t payload);
17642 intel_sub_group_avc_mce_payload_t __ovld
17643 intel_sub_group_avc_mce_set_inter_direction_penalty(
17644 uchar direction_cost, intel_sub_group_avc_mce_payload_t payload);
17645 intel_sub_group_avc_mce_payload_t __ovld
17646 intel_sub_group_avc_mce_set_motion_vector_cost_function(
17647 ulong packed_cost_center_delta, uint2 packed_cost_table,
17648 uchar cost_precision, intel_sub_group_avc_mce_payload_t payload);
17649 intel_sub_group_avc_mce_payload_t __ovld
17650 intel_sub_group_avc_mce_set_ac_only_haar(
17651 intel_sub_group_avc_mce_payload_t payload);
17652 intel_sub_group_avc_mce_payload_t __ovld
17653 intel_sub_group_avc_mce_set_source_interlaced_field_polarity(
17654 uchar src_field_polarity, intel_sub_group_avc_mce_payload_t payload);
17655 intel_sub_group_avc_mce_payload_t __ovld
17656 intel_sub_group_avc_mce_set_single_reference_interlaced_field_polarity(
17657 uchar ref_field_polarity, intel_sub_group_avc_mce_payload_t payload);
17658 intel_sub_group_avc_mce_payload_t __ovld
17659 intel_sub_group_avc_mce_set_dual_reference_interlaced_field_polarities(
17660 uchar fwd_ref_field_polarity, uchar bwd_ref_field_polarity,
17661 intel_sub_group_avc_mce_payload_t payload);
17663 ulong __ovld intel_sub_group_avc_mce_get_motion_vectors(
17664 intel_sub_group_avc_mce_result_t result);
17665 ushort __ovld intel_sub_group_avc_mce_get_inter_distortions(
17666 intel_sub_group_avc_mce_result_t result);
17667 ushort __ovld intel_sub_group_avc_mce_get_best_inter_distortion(
17668 intel_sub_group_avc_mce_result_t result);
17669 uchar __ovld intel_sub_group_avc_mce_get_inter_major_shape(
17670 intel_sub_group_avc_mce_result_t result);
17671 uchar __ovld intel_sub_group_avc_mce_get_inter_minor_shapes(
17672 intel_sub_group_avc_mce_result_t result);
17673 uchar __ovld intel_sub_group_avc_mce_get_inter_directions(
17674 intel_sub_group_avc_mce_result_t result);
17675 uchar __ovld intel_sub_group_avc_mce_get_inter_motion_vector_count(
17676 intel_sub_group_avc_mce_result_t result);
17677 uint __ovld intel_sub_group_avc_mce_get_inter_reference_ids(
17678 intel_sub_group_avc_mce_result_t result);
17679 uchar __ovld
17680 intel_sub_group_avc_mce_get_inter_reference_interlaced_field_polarities(
17681 uint packed_reference_ids, uint packed_reference_parameter_field_polarities,
17682 intel_sub_group_avc_mce_result_t result);
17684 // IME built-in functions
17685 intel_sub_group_avc_ime_payload_t __ovld
17686 intel_sub_group_avc_ime_initialize(
17687 ushort2 src_coord, uchar partition_mask, uchar sad_adjustment);
17688 intel_sub_group_avc_ime_payload_t __ovld
17689 intel_sub_group_avc_ime_set_single_reference(
17690 short2 ref_offset, uchar search_window_config,
17691 intel_sub_group_avc_ime_payload_t payload);
17692 intel_sub_group_avc_ime_payload_t __ovld
17693 intel_sub_group_avc_ime_set_dual_reference(
17694 short2 fwd_ref_offset, short2 bwd_ref_offset, uchar search_window_config,
17695 intel_sub_group_avc_ime_payload_t payload);
17696 intel_sub_group_avc_ime_payload_t __ovld
17697 intel_sub_group_avc_ime_set_max_motion_vector_count(
17698 uchar max_motion_vector_count, intel_sub_group_avc_ime_payload_t payload);
17699 intel_sub_group_avc_ime_payload_t __ovld
17700 intel_sub_group_avc_ime_set_unidirectional_mix_disable(
17701 intel_sub_group_avc_ime_payload_t payload);
17702 intel_sub_group_avc_ime_payload_t __ovld
17703 intel_sub_group_avc_ime_set_early_search_termination_threshold(
17704 uchar threshold, intel_sub_group_avc_ime_payload_t payload);
17705 intel_sub_group_avc_ime_payload_t __ovld
17706 intel_sub_group_avc_ime_set_weighted_sad(
17707 uint packed_sad_weights, intel_sub_group_avc_ime_payload_t payload);
17709 __attribute__((deprecated("If you use the latest Intel driver, please use "
17710 "intel_sub_group_avc_ime_ref_window_size instead",
17711 "intel_sub_group_avc_ime_ref_window_size")))
17712 ushort2 __ovld
17713 intel_sub_group_ime_ref_window_size(uchar search_window_config, char dual_ref);
17714 ushort2 __ovld intel_sub_group_avc_ime_ref_window_size(
17715 uchar search_window_config, char dual_ref);
17716 short2 __ovld intel_sub_group_avc_ime_adjust_ref_offset(
17717 short2 ref_offset, ushort2 src_coord, ushort2 ref_window_size,
17718 ushort2 image_size);
17720 #if defined(__opencl_c_images)
17721 intel_sub_group_avc_ime_result_t __ovld
17722 intel_sub_group_avc_ime_evaluate_with_single_reference(
17723 read_only image2d_t src_image, read_only image2d_t ref_image,
17724 sampler_t vme_media_sampler, intel_sub_group_avc_ime_payload_t payload);
17725 intel_sub_group_avc_ime_result_t __ovld
17726 intel_sub_group_avc_ime_evaluate_with_dual_reference(
17727 read_only image2d_t src_image, read_only image2d_t fwd_ref_image,
17728 read_only image2d_t bwd_ref_image, sampler_t vme_media_sampler,
17729 intel_sub_group_avc_ime_payload_t payload);
17730 intel_sub_group_avc_ime_result_single_reference_streamout_t __ovld
17731 intel_sub_group_avc_ime_evaluate_with_single_reference_streamout(
17732 read_only image2d_t src_image, read_only image2d_t ref_image,
17733 sampler_t vme_media_sampler, intel_sub_group_avc_ime_payload_t payload);
17734 intel_sub_group_avc_ime_result_dual_reference_streamout_t __ovld
17735 intel_sub_group_avc_ime_evaluate_with_dual_reference_streamout(
17736 read_only image2d_t src_image, read_only image2d_t fwd_ref_image,
17737 read_only image2d_t bwd_ref_image, sampler_t vme_media_sampler,
17738 intel_sub_group_avc_ime_payload_t payload);
17739 intel_sub_group_avc_ime_result_t __ovld
17740 intel_sub_group_avc_ime_evaluate_with_single_reference_streamin(
17741 read_only image2d_t src_image, read_only image2d_t ref_image,
17742 sampler_t vme_media_sampler, intel_sub_group_avc_ime_payload_t payload,
17743 intel_sub_group_avc_ime_single_reference_streamin_t streamin_components);
17744 intel_sub_group_avc_ime_result_t __ovld
17745 intel_sub_group_avc_ime_evaluate_with_dual_reference_streamin(
17746 read_only image2d_t src_image, read_only image2d_t fwd_ref_image,
17747 read_only image2d_t bwd_ref_image, sampler_t vme_media_sampler,
17748 intel_sub_group_avc_ime_payload_t payload,
17749 intel_sub_group_avc_ime_dual_reference_streamin_t streamin_components);
17750 intel_sub_group_avc_ime_result_single_reference_streamout_t __ovld
17751 intel_sub_group_avc_ime_evaluate_with_single_reference_streaminout(
17752 read_only image2d_t src_image, read_only image2d_t ref_image,
17753 sampler_t vme_media_sampler, intel_sub_group_avc_ime_payload_t payload,
17754 intel_sub_group_avc_ime_single_reference_streamin_t streamin_components);
17755 intel_sub_group_avc_ime_result_dual_reference_streamout_t __ovld
17756 intel_sub_group_avc_ime_evaluate_with_dual_reference_streaminout(
17757 read_only image2d_t src_image, read_only image2d_t fwd_ref_image,
17758 read_only image2d_t bwd_ref_image, sampler_t vme_media_sampler,
17759 intel_sub_group_avc_ime_payload_t payload,
17760 intel_sub_group_avc_ime_dual_reference_streamin_t streamin_components);
17761 #endif
17763 intel_sub_group_avc_ime_single_reference_streamin_t __ovld
17764 intel_sub_group_avc_ime_get_single_reference_streamin(
17765 intel_sub_group_avc_ime_result_single_reference_streamout_t result);
17766 intel_sub_group_avc_ime_dual_reference_streamin_t __ovld
17767 intel_sub_group_avc_ime_get_dual_reference_streamin(
17768 intel_sub_group_avc_ime_result_dual_reference_streamout_t result);
17769 intel_sub_group_avc_ime_result_t __ovld
17770 intel_sub_group_avc_ime_strip_single_reference_streamout(
17771 intel_sub_group_avc_ime_result_single_reference_streamout_t result);
17772 intel_sub_group_avc_ime_result_t __ovld
17773 intel_sub_group_avc_ime_strip_dual_reference_streamout(
17774 intel_sub_group_avc_ime_result_dual_reference_streamout_t result);
17776 uint __ovld intel_sub_group_avc_ime_get_streamout_major_shape_motion_vectors(
17777 intel_sub_group_avc_ime_result_single_reference_streamout_t result,
17778 uchar major_shape);
17779 ushort __ovld intel_sub_group_avc_ime_get_streamout_major_shape_distortions(
17780 intel_sub_group_avc_ime_result_single_reference_streamout_t result,
17781 uchar major_shape);
17782 uchar __ovld intel_sub_group_avc_ime_get_streamout_major_shape_reference_ids(
17783 intel_sub_group_avc_ime_result_single_reference_streamout_t result,
17784 uchar major_shape);
17785 uint __ovld intel_sub_group_avc_ime_get_streamout_major_shape_motion_vectors(
17786 intel_sub_group_avc_ime_result_dual_reference_streamout_t result,
17787 uchar major_shape, uchar direction);
17788 ushort __ovld intel_sub_group_avc_ime_get_streamout_major_shape_distortions(
17789 intel_sub_group_avc_ime_result_dual_reference_streamout_t result,
17790 uchar major_shape, uchar direction);
17791 uchar __ovld intel_sub_group_avc_ime_get_streamout_major_shape_reference_ids(
17792 intel_sub_group_avc_ime_result_dual_reference_streamout_t result,
17793 uchar major_shape, uchar direction);
17795 uchar __ovld intel_sub_group_avc_ime_get_border_reached(
17796 uchar image_select, intel_sub_group_avc_ime_result_t result);
17797 uchar __ovld intel_sub_group_avc_ime_get_truncated_search_indication(
17798 intel_sub_group_avc_ime_result_t result);
17799 uchar __ovld
17800 intel_sub_group_avc_ime_get_unidirectional_early_search_termination(
17801 intel_sub_group_avc_ime_result_t result);
17802 uint __ovld intel_sub_group_avc_ime_get_weighting_pattern_minimum_motion_vector(
17803 intel_sub_group_avc_ime_result_t result);
17804 ushort __ovld intel_sub_group_avc_ime_get_weighting_pattern_minimum_distortion(
17805 intel_sub_group_avc_ime_result_t result);
17807 // REF built-in functions
17808 intel_sub_group_avc_ref_payload_t __ovld
17809 intel_sub_group_avc_fme_initialize(
17810 ushort2 src_coord, ulong motion_vectors, uchar major_shapes,
17811 uchar minor_shapes, uchar directions, uchar pixel_resolution,
17812 uchar sad_adjustment);
17813 intel_sub_group_avc_ref_payload_t __ovld
17814 intel_sub_group_avc_bme_initialize(
17815 ushort2 src_coord, ulong motion_vectors, uchar major_shapes,
17816 uchar minor_shapes, uchar directions, uchar pixel_resolution,
17817 uchar bidirectional_weight, uchar sad_adjustment);
17819 intel_sub_group_avc_ref_payload_t __ovld
17820 intel_sub_group_avc_ref_set_bidirectional_mix_disable(
17821 intel_sub_group_avc_ref_payload_t payload);
17822 intel_sub_group_avc_ref_payload_t __ovld
17823 intel_sub_group_avc_ref_set_bilinear_filter_enable(
17824 intel_sub_group_avc_ref_payload_t payload);
17826 #if defined(__opencl_c_images)
17827 intel_sub_group_avc_ref_result_t __ovld
17828 intel_sub_group_avc_ref_evaluate_with_single_reference(
17829 read_only image2d_t src_image, read_only image2d_t ref_image,
17830 sampler_t vme_media_sampler, intel_sub_group_avc_ref_payload_t payload);
17831 intel_sub_group_avc_ref_result_t __ovld
17832 intel_sub_group_avc_ref_evaluate_with_dual_reference(
17833 read_only image2d_t src_image, read_only image2d_t fwd_ref_image,
17834 read_only image2d_t bwd_ref_image, sampler_t vme_media_sampler,
17835 intel_sub_group_avc_ref_payload_t payload);
17836 intel_sub_group_avc_ref_result_t __ovld
17837 intel_sub_group_avc_ref_evaluate_with_multi_reference(
17838 read_only image2d_t src_image, uint packed_reference_ids,
17839 sampler_t vme_media_sampler, intel_sub_group_avc_ref_payload_t payload);
17840 intel_sub_group_avc_ref_result_t __ovld
17841 intel_sub_group_avc_ref_evaluate_with_multi_reference(
17842 read_only image2d_t src_image, uint packed_reference_ids,
17843 uchar packed_reference_field_polarities, sampler_t vme_media_sampler,
17844 intel_sub_group_avc_ref_payload_t payload);
17845 #endif //defined(__opencl_c_images)
17847 // SIC built-in functions
17848 intel_sub_group_avc_sic_payload_t __ovld
17849 intel_sub_group_avc_sic_initialize(
17850 ushort2 src_coord);
17851 intel_sub_group_avc_sic_payload_t __ovld
17852 intel_sub_group_avc_sic_configure_skc(
17853 uint skip_block_partition_type, uint skip_motion_vector_mask,
17854 ulong motion_vectors, uchar bidirectional_weight, uchar skip_sad_adjustment,
17855 intel_sub_group_avc_sic_payload_t payload);
17856 intel_sub_group_avc_sic_payload_t __ovld intel_sub_group_avc_sic_configure_ipe(
17857 uchar luma_intra_partition_mask, uchar intra_neighbour_availability,
17858 uchar left_edge_luma_pixels, uchar upper_left_corner_luma_pixel,
17859 uchar upper_edge_luma_pixels, uchar upper_right_edge_luma_pixels,
17860 uchar intra_sad_adjustment, intel_sub_group_avc_sic_payload_t payload);
17861 intel_sub_group_avc_sic_payload_t __ovld intel_sub_group_avc_sic_configure_ipe(
17862 uchar luma_intra_partition_mask, uchar intra_neighbour_availability,
17863 uchar left_edge_luma_pixels, uchar upper_left_corner_luma_pixel,
17864 uchar upper_edge_luma_pixels, uchar upper_right_edge_luma_pixels,
17865 ushort left_edge_chroma_pixels, ushort upper_left_corner_chroma_pixel,
17866 ushort upper_edge_chroma_pixels, uchar intra_sad_adjustment,
17867 intel_sub_group_avc_sic_payload_t payload);
17868 uint __ovld
17869 intel_sub_group_avc_sic_get_motion_vector_mask(
17870 uint skip_block_partition_type, uchar direction);
17872 intel_sub_group_avc_sic_payload_t __ovld
17873 intel_sub_group_avc_sic_set_intra_luma_shape_penalty(
17874 uint packed_shape_cost, intel_sub_group_avc_sic_payload_t payload);
17875 intel_sub_group_avc_sic_payload_t __ovld
17876 intel_sub_group_avc_sic_set_intra_luma_mode_cost_function(
17877 uchar luma_mode_penalty, uint luma_packed_neighbor_modes,
17878 uint luma_packed_non_dc_penalty, intel_sub_group_avc_sic_payload_t payload);
17879 intel_sub_group_avc_sic_payload_t __ovld
17880 intel_sub_group_avc_sic_set_intra_chroma_mode_cost_function(
17881 uchar chroma_mode_penalty, intel_sub_group_avc_sic_payload_t payload);
17883 intel_sub_group_avc_sic_payload_t __ovld
17884 intel_sub_group_avc_sic_set_skc_bilinear_filter_enable(
17885 intel_sub_group_avc_sic_payload_t payload);
17886 intel_sub_group_avc_sic_payload_t __ovld
17887 intel_sub_group_avc_sic_set_skc_forward_transform_enable(
17888 ulong packed_sad_coefficients, intel_sub_group_avc_sic_payload_t payload);
17889 intel_sub_group_avc_sic_payload_t __ovld
17890 intel_sub_group_avc_sic_set_block_based_raw_skip_sad(
17891 uchar block_based_skip_type,
17892 intel_sub_group_avc_sic_payload_t payload);
17894 #if defined(__opencl_c_images)
17895 intel_sub_group_avc_sic_result_t __ovld
17896 intel_sub_group_avc_sic_evaluate_ipe(
17897 read_only image2d_t src_image, sampler_t vme_media_sampler,
17898 intel_sub_group_avc_sic_payload_t payload);
17899 intel_sub_group_avc_sic_result_t __ovld
17900 intel_sub_group_avc_sic_evaluate_with_single_reference(
17901 read_only image2d_t src_image, read_only image2d_t ref_image,
17902 sampler_t vme_media_sampler, intel_sub_group_avc_sic_payload_t payload);
17903 intel_sub_group_avc_sic_result_t __ovld
17904 intel_sub_group_avc_sic_evaluate_with_dual_reference(
17905 read_only image2d_t src_image, read_only image2d_t fwd_ref_image,
17906 read_only image2d_t bwd_ref_image, sampler_t vme_media_sampler,
17907 intel_sub_group_avc_sic_payload_t payload);
17908 intel_sub_group_avc_sic_result_t __ovld
17909 intel_sub_group_avc_sic_evaluate_with_multi_reference(
17910 read_only image2d_t src_image, uint packed_reference_ids,
17911 sampler_t vme_media_sampler, intel_sub_group_avc_sic_payload_t payload);
17912 intel_sub_group_avc_sic_result_t __ovld
17913 intel_sub_group_avc_sic_evaluate_with_multi_reference(
17914 read_only image2d_t src_image, uint packed_reference_ids,
17915 uchar packed_reference_field_polarities, sampler_t vme_media_sampler,
17916 intel_sub_group_avc_sic_payload_t payload);
17917 #endif //defined(__opencl_c_images)
17919 uchar __ovld intel_sub_group_avc_sic_get_ipe_luma_shape(
17920 intel_sub_group_avc_sic_result_t result);
17921 ushort __ovld intel_sub_group_avc_sic_get_best_ipe_luma_distortion(
17922 intel_sub_group_avc_sic_result_t result);
17923 ushort __ovld intel_sub_group_avc_sic_get_best_ipe_chroma_distortion(
17924 intel_sub_group_avc_sic_result_t result);
17925 ulong __ovld intel_sub_group_avc_sic_get_packed_ipe_luma_modes(
17926 intel_sub_group_avc_sic_result_t result);
17927 uchar __ovld intel_sub_group_avc_sic_get_ipe_chroma_mode(
17928 intel_sub_group_avc_sic_result_t result);
17929 uint __ovld intel_sub_group_avc_sic_get_packed_skc_luma_count_threshold(
17930 intel_sub_group_avc_sic_result_t result);
17931 ulong __ovld intel_sub_group_avc_sic_get_packed_skc_luma_sum_threshold(
17932 intel_sub_group_avc_sic_result_t result);
17933 ushort __ovld intel_sub_group_avc_sic_get_inter_raw_sads(
17934 intel_sub_group_avc_sic_result_t result);
17936 // Wrappers
17937 intel_sub_group_avc_ime_payload_t __ovld
17938 intel_sub_group_avc_ime_set_inter_base_multi_reference_penalty(
17939 uchar reference_base_penalty, intel_sub_group_avc_ime_payload_t payload);
17940 intel_sub_group_avc_ref_payload_t __ovld
17941 intel_sub_group_avc_ref_set_inter_base_multi_reference_penalty(
17942 uchar reference_base_penalty, intel_sub_group_avc_ref_payload_t payload);
17943 intel_sub_group_avc_sic_payload_t __ovld
17944 intel_sub_group_avc_sic_set_inter_base_multi_reference_penalty(
17945 uchar reference_base_penalty, intel_sub_group_avc_sic_payload_t payload);
17947 intel_sub_group_avc_ime_payload_t __ovld
17948 intel_sub_group_avc_ime_set_inter_shape_penalty(
17949 ulong packed_shape_cost, intel_sub_group_avc_ime_payload_t payload);
17950 intel_sub_group_avc_ref_payload_t __ovld
17951 intel_sub_group_avc_ref_set_inter_shape_penalty(
17952 ulong packed_shape_cost, intel_sub_group_avc_ref_payload_t payload);
17953 intel_sub_group_avc_sic_payload_t __ovld
17954 intel_sub_group_avc_sic_set_inter_shape_penalty(
17955 ulong packed_shape_cost, intel_sub_group_avc_sic_payload_t payload);
17957 intel_sub_group_avc_ime_payload_t __ovld
17958 intel_sub_group_avc_ime_set_inter_direction_penalty(
17959 uchar direction_cost, intel_sub_group_avc_ime_payload_t payload);
17960 intel_sub_group_avc_ref_payload_t __ovld
17961 intel_sub_group_avc_ref_set_inter_direction_penalty(
17962 uchar direction_cost, intel_sub_group_avc_ref_payload_t payload);
17963 intel_sub_group_avc_sic_payload_t __ovld
17964 intel_sub_group_avc_sic_set_inter_direction_penalty(
17965 uchar direction_cost, intel_sub_group_avc_sic_payload_t payload);
17967 intel_sub_group_avc_ime_payload_t __ovld
17968 intel_sub_group_avc_ime_set_motion_vector_cost_function(
17969 ulong packed_cost_center_delta, uint2 packed_cost_table,
17970 uchar cost_precision, intel_sub_group_avc_ime_payload_t payload);
17971 intel_sub_group_avc_ref_payload_t __ovld
17972 intel_sub_group_avc_ref_set_motion_vector_cost_function(
17973 ulong packed_cost_center_delta, uint2 packed_cost_table,
17974 uchar cost_precision, intel_sub_group_avc_ref_payload_t payload);
17975 intel_sub_group_avc_sic_payload_t __ovld
17976 intel_sub_group_avc_sic_set_motion_vector_cost_function(
17977 ulong packed_cost_center_delta, uint2 packed_cost_table,
17978 uchar cost_precision, intel_sub_group_avc_sic_payload_t payload);
17980 intel_sub_group_avc_ime_payload_t __ovld
17981 intel_sub_group_avc_ime_set_source_interlaced_field_polarity(
17982 uchar src_field_polarity, intel_sub_group_avc_ime_payload_t payload);
17983 intel_sub_group_avc_ref_payload_t __ovld
17984 intel_sub_group_avc_ref_set_source_interlaced_field_polarity(
17985 uchar src_field_polarity, intel_sub_group_avc_ref_payload_t payload);
17986 intel_sub_group_avc_sic_payload_t __ovld
17987 intel_sub_group_avc_sic_set_source_interlaced_field_polarity(
17988 uchar src_field_polarity, intel_sub_group_avc_sic_payload_t payload);
17990 intel_sub_group_avc_ime_payload_t __ovld
17991 intel_sub_group_avc_ime_set_single_reference_interlaced_field_polarity(
17992 uchar ref_field_polarity, intel_sub_group_avc_ime_payload_t payload);
17993 intel_sub_group_avc_ref_payload_t __ovld
17994 intel_sub_group_avc_ref_set_single_reference_interlaced_field_polarity(
17995 uchar ref_field_polarity, intel_sub_group_avc_ref_payload_t payload);
17996 intel_sub_group_avc_sic_payload_t __ovld
17997 intel_sub_group_avc_sic_set_single_reference_interlaced_field_polarity(
17998 uchar ref_field_polarity, intel_sub_group_avc_sic_payload_t payload);
17999 intel_sub_group_avc_ime_payload_t __ovld
18000 intel_sub_group_avc_ime_set_dual_reference_interlaced_field_polarities(
18001 uchar fwd_ref_field_polarity, uchar bwd_ref_field_polarity,
18002 intel_sub_group_avc_ime_payload_t payload);
18003 intel_sub_group_avc_ref_payload_t __ovld
18004 intel_sub_group_avc_ref_set_dual_reference_interlaced_field_polarities(
18005 uchar fwd_ref_field_polarity, uchar bwd_ref_field_polarity,
18006 intel_sub_group_avc_ref_payload_t payload);
18007 intel_sub_group_avc_sic_payload_t __ovld
18008 intel_sub_group_avc_sic_set_dual_reference_interlaced_field_polarities(
18009 uchar fwd_ref_field_polarity, uchar bwd_ref_field_polarity,
18010 intel_sub_group_avc_sic_payload_t payload);
18012 intel_sub_group_avc_ime_payload_t __ovld
18013 intel_sub_group_avc_ime_set_ac_only_haar(
18014 intel_sub_group_avc_ime_payload_t payload);
18015 intel_sub_group_avc_ref_payload_t __ovld
18016 intel_sub_group_avc_ref_set_ac_only_haar(
18017 intel_sub_group_avc_ref_payload_t payload);
18018 intel_sub_group_avc_sic_payload_t __ovld
18019 intel_sub_group_avc_sic_set_ac_only_haar(
18020 intel_sub_group_avc_sic_payload_t payload);
18022 ulong __ovld intel_sub_group_avc_ime_get_motion_vectors(
18023 intel_sub_group_avc_ime_result_t result);
18024 ulong __ovld intel_sub_group_avc_ref_get_motion_vectors(
18025 intel_sub_group_avc_ref_result_t result);
18027 ushort __ovld intel_sub_group_avc_ime_get_inter_distortions(
18028 intel_sub_group_avc_ime_result_t result);
18029 ushort __ovld intel_sub_group_avc_ref_get_inter_distortions(
18030 intel_sub_group_avc_ref_result_t result);
18031 ushort __ovld intel_sub_group_avc_sic_get_inter_distortions(
18032 intel_sub_group_avc_sic_result_t result);
18034 ushort __ovld intel_sub_group_avc_ime_get_best_inter_distortion(
18035 intel_sub_group_avc_ime_result_t result);
18036 ushort __ovld intel_sub_group_avc_ref_get_best_inter_distortion(
18037 intel_sub_group_avc_ref_result_t result);
18039 uchar __ovld intel_sub_group_avc_ime_get_inter_major_shape(
18040 intel_sub_group_avc_ime_result_t result);
18041 uchar __ovld intel_sub_group_avc_ref_get_inter_major_shape(
18042 intel_sub_group_avc_ref_result_t result);
18043 uchar __ovld intel_sub_group_avc_ime_get_inter_minor_shapes(
18044 intel_sub_group_avc_ime_result_t result);
18045 uchar __ovld intel_sub_group_avc_ref_get_inter_minor_shapes(
18046 intel_sub_group_avc_ref_result_t result);
18048 uchar __ovld intel_sub_group_avc_ime_get_inter_directions(
18049 intel_sub_group_avc_ime_result_t result);
18050 uchar __ovld intel_sub_group_avc_ref_get_inter_directions(
18051 intel_sub_group_avc_ref_result_t result);
18053 uchar __ovld intel_sub_group_avc_ime_get_inter_motion_vector_count(
18054 intel_sub_group_avc_ime_result_t result);
18055 uchar __ovld intel_sub_group_avc_ref_get_inter_motion_vector_count(
18056 intel_sub_group_avc_ref_result_t result);
18058 uint __ovld intel_sub_group_avc_ime_get_inter_reference_ids(
18059 intel_sub_group_avc_ime_result_t result);
18060 uint __ovld intel_sub_group_avc_ref_get_inter_reference_ids(
18061 intel_sub_group_avc_ref_result_t result);
18063 uchar __ovld
18064 intel_sub_group_avc_ime_get_inter_reference_interlaced_field_polarities(
18065 uint packed_reference_ids, uint packed_reference_parameter_field_polarities,
18066 intel_sub_group_avc_ime_result_t result);
18067 uchar __ovld
18068 intel_sub_group_avc_ref_get_inter_reference_interlaced_field_polarities(
18069 uint packed_reference_ids, uint packed_reference_parameter_field_polarities,
18070 intel_sub_group_avc_ref_result_t result);
18072 // Type conversion functions
18073 intel_sub_group_avc_mce_payload_t __ovld
18074 intel_sub_group_avc_ime_convert_to_mce_payload(
18075 intel_sub_group_avc_ime_payload_t payload);
18076 intel_sub_group_avc_ime_payload_t __ovld
18077 intel_sub_group_avc_mce_convert_to_ime_payload(
18078 intel_sub_group_avc_mce_payload_t payload);
18079 intel_sub_group_avc_mce_payload_t __ovld
18080 intel_sub_group_avc_ref_convert_to_mce_payload(
18081 intel_sub_group_avc_ref_payload_t payload);
18082 intel_sub_group_avc_ref_payload_t __ovld
18083 intel_sub_group_avc_mce_convert_to_ref_payload(
18084 intel_sub_group_avc_mce_payload_t payload);
18085 intel_sub_group_avc_mce_payload_t __ovld
18086 intel_sub_group_avc_sic_convert_to_mce_payload(
18087 intel_sub_group_avc_sic_payload_t payload);
18088 intel_sub_group_avc_sic_payload_t __ovld
18089 intel_sub_group_avc_mce_convert_to_sic_payload(
18090 intel_sub_group_avc_mce_payload_t payload);
18092 intel_sub_group_avc_mce_result_t __ovld
18093 intel_sub_group_avc_ime_convert_to_mce_result(
18094 intel_sub_group_avc_ime_result_t result);
18095 intel_sub_group_avc_ime_result_t __ovld
18096 intel_sub_group_avc_mce_convert_to_ime_result(
18097 intel_sub_group_avc_mce_result_t result);
18098 intel_sub_group_avc_mce_result_t __ovld
18099 intel_sub_group_avc_ref_convert_to_mce_result(
18100 intel_sub_group_avc_ref_result_t result);
18101 intel_sub_group_avc_ref_result_t __ovld
18102 intel_sub_group_avc_mce_convert_to_ref_result(
18103 intel_sub_group_avc_mce_result_t result);
18104 intel_sub_group_avc_mce_result_t __ovld
18105 intel_sub_group_avc_sic_convert_to_mce_result(
18106 intel_sub_group_avc_sic_result_t result);
18107 intel_sub_group_avc_sic_result_t __ovld
18108 intel_sub_group_avc_mce_convert_to_sic_result(
18109 intel_sub_group_avc_mce_result_t result);
18110 #pragma OPENCL EXTENSION cl_intel_device_side_avc_motion_estimation : end
18111 #endif // cl_intel_device_side_avc_motion_estimation
18113 #ifdef cl_amd_media_ops
18114 uint __ovld amd_bitalign(uint, uint, uint);
18115 uint2 __ovld amd_bitalign(uint2, uint2, uint2);
18116 uint3 __ovld amd_bitalign(uint3, uint3, uint3);
18117 uint4 __ovld amd_bitalign(uint4, uint4, uint4);
18118 uint8 __ovld amd_bitalign(uint8, uint8, uint8);
18119 uint16 __ovld amd_bitalign(uint16, uint16, uint16);
18121 uint __ovld amd_bytealign(uint, uint, uint);
18122 uint2 __ovld amd_bytealign(uint2, uint2, uint2);
18123 uint3 __ovld amd_bytealign(uint3, uint3, uint3);
18124 uint4 __ovld amd_bytealign(uint4, uint4, uint4);
18125 uint8 __ovld amd_bytealign(uint8, uint8, uint8);
18126 uint16 __ovld amd_bytealign(uint16, uint16, uint16);
18128 uint __ovld amd_lerp(uint, uint, uint);
18129 uint2 __ovld amd_lerp(uint2, uint2, uint2);
18130 uint3 __ovld amd_lerp(uint3, uint3, uint3);
18131 uint4 __ovld amd_lerp(uint4, uint4, uint4);
18132 uint8 __ovld amd_lerp(uint8, uint8, uint8);
18133 uint16 __ovld amd_lerp(uint16, uint16, uint16);
18135 uint __ovld amd_pack(float4 v);
18137 uint __ovld amd_sad4(uint4, uint4, uint);
18139 uint __ovld amd_sadhi(uint, uint, uint);
18140 uint2 __ovld amd_sadhi(uint2, uint2, uint2);
18141 uint3 __ovld amd_sadhi(uint3, uint3, uint3);
18142 uint4 __ovld amd_sadhi(uint4, uint4, uint4);
18143 uint8 __ovld amd_sadhi(uint8, uint8, uint8);
18144 uint16 __ovld amd_sadhi(uint16, uint16, uint16);
18146 uint __ovld amd_sad(uint, uint, uint);
18147 uint2 __ovld amd_sad(uint2, uint2, uint2);
18148 uint3 __ovld amd_sad(uint3, uint3, uint3);
18149 uint4 __ovld amd_sad(uint4, uint4, uint4);
18150 uint8 __ovld amd_sad(uint8, uint8, uint8);
18151 uint16 __ovld amd_sad(uint16, uint16, uint16);
18153 float __ovld amd_unpack0(uint);
18154 float2 __ovld amd_unpack0(uint2);
18155 float3 __ovld amd_unpack0(uint3);
18156 float4 __ovld amd_unpack0(uint4);
18157 float8 __ovld amd_unpack0(uint8);
18158 float16 __ovld amd_unpack0(uint16);
18160 float __ovld amd_unpack1(uint);
18161 float2 __ovld amd_unpack1(uint2);
18162 float3 __ovld amd_unpack1(uint3);
18163 float4 __ovld amd_unpack1(uint4);
18164 float8 __ovld amd_unpack1(uint8);
18165 float16 __ovld amd_unpack1(uint16);
18167 float __ovld amd_unpack2(uint);
18168 float2 __ovld amd_unpack2(uint2);
18169 float3 __ovld amd_unpack2(uint3);
18170 float4 __ovld amd_unpack2(uint4);
18171 float8 __ovld amd_unpack2(uint8);
18172 float16 __ovld amd_unpack2(uint16);
18174 float __ovld amd_unpack3(uint);
18175 float2 __ovld amd_unpack3(uint2);
18176 float3 __ovld amd_unpack3(uint3);
18177 float4 __ovld amd_unpack3(uint4);
18178 float8 __ovld amd_unpack3(uint8);
18179 float16 __ovld amd_unpack3(uint16);
18180 #endif // cl_amd_media_ops
18182 #ifdef cl_amd_media_ops2
18183 int __ovld amd_bfe(int src0, uint src1, uint src2);
18184 int2 __ovld amd_bfe(int2 src0, uint2 src1, uint2 src2);
18185 int3 __ovld amd_bfe(int3 src0, uint3 src1, uint3 src2);
18186 int4 __ovld amd_bfe(int4 src0, uint4 src1, uint4 src2);
18187 int8 __ovld amd_bfe(int8 src0, uint8 src1, uint8 src2);
18188 int16 __ovld amd_bfe(int16 src0, uint16 src1, uint16 src2);
18190 uint __ovld amd_bfe(uint src0, uint src1, uint src2);
18191 uint2 __ovld amd_bfe(uint2 src0, uint2 src1, uint2 src2);
18192 uint3 __ovld amd_bfe(uint3 src0, uint3 src1, uint3 src2);
18193 uint4 __ovld amd_bfe(uint4 src0, uint4 src1, uint4 src2);
18194 uint8 __ovld amd_bfe(uint8 src0, uint8 src1, uint8 src2);
18195 uint16 __ovld amd_bfe(uint16 src0, uint16 src1, uint16 src2);
18197 uint __ovld amd_bfm(uint src0, uint src1);
18198 uint2 __ovld amd_bfm(uint2 src0, uint2 src1);
18199 uint3 __ovld amd_bfm(uint3 src0, uint3 src1);
18200 uint4 __ovld amd_bfm(uint4 src0, uint4 src1);
18201 uint8 __ovld amd_bfm(uint8 src0, uint8 src1);
18202 uint16 __ovld amd_bfm(uint16 src0, uint16 src1);
18204 float __ovld amd_max3(float src0, float src1, float src2);
18205 float2 __ovld amd_max3(float2 src0, float2 src1, float2 src2);
18206 float3 __ovld amd_max3(float3 src0, float3 src1, float3 src2);
18207 float4 __ovld amd_max3(float4 src0, float4 src1, float4 src2);
18208 float8 __ovld amd_max3(float8 src0, float8 src1, float8 src2);
18209 float16 __ovld amd_max3(float16 src0, float16 src1, float16 src2);
18211 int __ovld amd_max3(int src0, int src1, int src2);
18212 int2 __ovld amd_max3(int2 src0, int2 src1, int2 src2);
18213 int3 __ovld amd_max3(int3 src0, int3 src1, int3 src2);
18214 int4 __ovld amd_max3(int4 src0, int4 src1, int4 src2);
18215 int8 __ovld amd_max3(int8 src0, int8 src1, int8 src2);
18216 int16 __ovld amd_max3(int16 src0, int16 src1, int16 src2);
18218 uint __ovld amd_max3(uint src0, uint src1, uint src2);
18219 uint2 __ovld amd_max3(uint2 src0, uint2 src1, uint2 src2);
18220 uint3 __ovld amd_max3(uint3 src0, uint3 src1, uint3 src2);
18221 uint4 __ovld amd_max3(uint4 src0, uint4 src1, uint4 src2);
18222 uint8 __ovld amd_max3(uint8 src0, uint8 src1, uint8 src2);
18223 uint16 __ovld amd_max3(uint16 src0, uint16 src1, uint16 src2);
18225 float __ovld amd_median3(float src0, float src1, float src2);
18226 float2 __ovld amd_median3(float2 src0, float2 src1, float2 src2);
18227 float3 __ovld amd_median3(float3 src0, float3 src1, float3 src2);
18228 float4 __ovld amd_median3(float4 src0, float4 src1, float4 src2);
18229 float8 __ovld amd_median3(float8 src0, float8 src1, float8 src2);
18230 float16 __ovld amd_median3(float16 src0, float16 src1, float16 src2);
18232 int __ovld amd_median3(int src0, int src1, int src2);
18233 int2 __ovld amd_median3(int2 src0, int2 src1, int2 src2);
18234 int3 __ovld amd_median3(int3 src0, int3 src1, int3 src2);
18235 int4 __ovld amd_median3(int4 src0, int4 src1, int4 src2);
18236 int8 __ovld amd_median3(int8 src0, int8 src1, int8 src2);
18237 int16 __ovld amd_median3(int16 src0, int16 src1, int16 src2);
18239 uint __ovld amd_median3(uint src0, uint src1, uint src2);
18240 uint2 __ovld amd_median3(uint2 src0, uint2 src1, uint2 src2);
18241 uint3 __ovld amd_median3(uint3 src0, uint3 src1, uint3 src2);
18242 uint4 __ovld amd_median3(uint4 src0, uint4 src1, uint4 src2);
18243 uint8 __ovld amd_median3(uint8 src0, uint8 src1, uint8 src2);
18244 uint16 __ovld amd_median3(uint16 src0, uint16 src1, uint16 src2);
18246 float __ovld amd_min3(float src0, float src1, float src);
18247 float2 __ovld amd_min3(float2 src0, float2 src1, float2 src);
18248 float3 __ovld amd_min3(float3 src0, float3 src1, float3 src);
18249 float4 __ovld amd_min3(float4 src0, float4 src1, float4 src);
18250 float8 __ovld amd_min3(float8 src0, float8 src1, float8 src);
18251 float16 __ovld amd_min3(float16 src0, float16 src1, float16 src);
18253 int __ovld amd_min3(int src0, int src1, int src2);
18254 int2 __ovld amd_min3(int2 src0, int2 src1, int2 src2);
18255 int3 __ovld amd_min3(int3 src0, int3 src1, int3 src2);
18256 int4 __ovld amd_min3(int4 src0, int4 src1, int4 src2);
18257 int8 __ovld amd_min3(int8 src0, int8 src1, int8 src2);
18258 int16 __ovld amd_min3(int16 src0, int16 src1, int16 src2);
18260 uint __ovld amd_min3(uint src0, uint src1, uint src2);
18261 uint2 __ovld amd_min3(uint2 src0, uint2 src1, uint2 src2);
18262 uint3 __ovld amd_min3(uint3 src0, uint3 src1, uint3 src2);
18263 uint4 __ovld amd_min3(uint4 src0, uint4 src1, uint4 src2);
18264 uint8 __ovld amd_min3(uint8 src0, uint8 src1, uint8 src2);
18265 uint16 __ovld amd_min3(uint16 src0, uint16 src1, uint16 src2);
18267 ulong __ovld amd_mqsad(ulong src0, uint src1, ulong src2);
18268 ulong2 __ovld amd_mqsad(ulong2 src0, uint2 src1, ulong2 src2);
18269 ulong3 __ovld amd_mqsad(ulong3 src0, uint3 src1, ulong3 src2);
18270 ulong4 __ovld amd_mqsad(ulong4 src0, uint4 src1, ulong4 src2);
18271 ulong8 __ovld amd_mqsad(ulong8 src0, uint8 src1, ulong8 src2);
18272 ulong16 __ovld amd_mqsad(ulong16 src0, uint16 src1, ulong16 src2);
18274 ulong __ovld amd_qsad(ulong src0, uint src1, ulong src2);
18275 ulong2 __ovld amd_qsad(ulong2 src0, uint2 src1, ulong2 src2);
18276 ulong3 __ovld amd_qsad(ulong3 src0, uint3 src1, ulong3 src2);
18277 ulong4 __ovld amd_qsad(ulong4 src0, uint4 src1, ulong4 src2);
18278 ulong8 __ovld amd_qsad(ulong8 src0, uint8 src1, ulong8 src2);
18279 ulong16 __ovld amd_qsad(ulong16 src0, uint16 src1, ulong16 src2);
18281 uint __ovld amd_msad(uint src0, uint src1, uint src2);
18282 uint2 __ovld amd_msad(uint2 src0, uint2 src1, uint2 src2);
18283 uint3 __ovld amd_msad(uint3 src0, uint3 src1, uint3 src2);
18284 uint4 __ovld amd_msad(uint4 src0, uint4 src1, uint4 src2);
18285 uint8 __ovld amd_msad(uint8 src0, uint8 src1, uint8 src2);
18286 uint16 __ovld amd_msad(uint16 src0, uint16 src1, uint16 src2);
18288 uint __ovld amd_sadd(uint src0, uint src1, uint src2);
18289 uint2 __ovld amd_sadd(uint2 src0, uint2 src1, uint2 src2);
18290 uint3 __ovld amd_sadd(uint3 src0, uint3 src1, uint3 src2);
18291 uint4 __ovld amd_sadd(uint4 src0, uint4 src1, uint4 src2);
18292 uint8 __ovld amd_sadd(uint8 src0, uint8 src1, uint8 src2);
18293 uint16 __ovld amd_sadd(uint16 src0, uint16 src1, uint16 src2);
18295 uint __ovld amd_sadw(uint src0, uint src1, uint src2);
18296 uint2 __ovld amd_sadw(uint2 src0, uint2 src1, uint2 src2);
18297 uint3 __ovld amd_sadw(uint3 src0, uint3 src1, uint3 src2);
18298 uint4 __ovld amd_sadw(uint4 src0, uint4 src1, uint4 src2);
18299 uint8 __ovld amd_sadw(uint8 src0, uint8 src1, uint8 src2);
18300 uint16 __ovld amd_sadw(uint16 src0, uint16 src1, uint16 src2);
18301 #endif // cl_amd_media_ops2
18303 #if defined(cl_arm_integer_dot_product_int8)
18304 uint __ovld arm_dot(uchar4, uchar4);
18305 int __ovld arm_dot(char4, char4);
18306 #endif // defined(cl_arm_integer_dot_product_int8)
18308 #if defined(cl_arm_integer_dot_product_accumulate_int8)
18309 uint __ovld arm_dot_acc(uchar4, uchar4, uint);
18310 int __ovld arm_dot_acc(char4, char4, int);
18311 #endif // defined(cl_arm_integer_dot_product_accumulate_int8)
18313 #if defined(cl_arm_integer_dot_product_accumulate_int16)
18314 uint __ovld arm_dot_acc(ushort2, ushort2, uint);
18315 int __ovld arm_dot_acc(short2, short2, int);
18316 #endif // defined(cl_arm_integer_dot_product_accumulate_int16)
18318 #if defined(cl_arm_integer_dot_product_accumulate_saturate_int8)
18319 uint __ovld arm_dot_acc_sat(uchar4, uchar4, uint);
18320 int __ovld arm_dot_acc_sat(char4, char4, int);
18321 #endif // defined(cl_arm_integer_dot_product_accumulate_saturate_int8)
18323 // Disable any extensions we may have enabled previously.
18324 #pragma OPENCL EXTENSION all : disable
18326 #undef __opencl_c_named_address_space_builtins
18328 #undef __cnfn
18329 #undef __ovld
18330 #endif //_OPENCL_H_