]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/llvm/tools/clang/lib/Headers/opencl-c.h
Update clang to trunk r290819 and resolve conflicts.
[FreeBSD/FreeBSD.git] / contrib / llvm / tools / clang / lib / Headers / opencl-c.h
1 //===--- opencl-c.h - OpenCL C language builtin function header -----------===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9
10 #ifndef _OPENCL_H_
11 #define _OPENCL_H_
12
13 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
14 #ifndef cl_khr_depth_images
15 #define cl_khr_depth_images
16 #endif //cl_khr_depth_images
17 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
18
19 #define __ovld __attribute__((overloadable))
20 #define __conv __attribute__((convergent))
21
22 // Optimizations
23 #define __purefn __attribute__((pure))
24 #define __cnfn __attribute__((const))
25
26 // built-in scalar data types:
27
28 /**
29  * An unsigned 8-bit integer.
30  */
31 typedef unsigned char uchar;
32
33 /**
34  * An unsigned 16-bit integer.
35  */
36 typedef unsigned short ushort;
37
38 /**
39  * An unsigned 32-bit integer.
40  */
41 typedef unsigned int uint;
42
43 /**
44  * An unsigned 64-bit integer.
45  */
46 typedef unsigned long ulong;
47
48 /**
49  * The unsigned integer type of the result of the sizeof operator. This
50  * is a 32-bit unsigned integer if CL_DEVICE_ADDRESS_BITS
51  * defined in table 4.3 is 32-bits and is a 64-bit unsigned integer if
52  * CL_DEVICE_ADDRESS_BITS is 64-bits.
53  */
54 typedef __SIZE_TYPE__ size_t;
55
56 /**
57  * A signed integer type that is the result of subtracting two pointers.
58  * This is a 32-bit signed integer if CL_DEVICE_ADDRESS_BITS
59  * defined in table 4.3 is 32-bits and is a 64-bit signed integer if
60  * CL_DEVICE_ADDRESS_BITS is 64-bits.
61  */
62 typedef __PTRDIFF_TYPE__ ptrdiff_t;
63
64 /**
65 * A signed integer type with the property that any valid pointer to
66 * void can be converted to this type, then converted back to pointer
67 * to void, and the result will compare equal to the original pointer.
68 */
69 typedef __INTPTR_TYPE__ intptr_t;
70
71 /**
72 * An unsigned integer type with the property that any valid pointer to
73 * void can be converted to this type, then converted back to pointer
74 * to void, and the result will compare equal to the original pointer.
75 */
76 typedef __UINTPTR_TYPE__ uintptr_t;
77
78 // built-in vector data types:
79 typedef char char2 __attribute__((ext_vector_type(2)));
80 typedef char char3 __attribute__((ext_vector_type(3)));
81 typedef char char4 __attribute__((ext_vector_type(4)));
82 typedef char char8 __attribute__((ext_vector_type(8)));
83 typedef char char16 __attribute__((ext_vector_type(16)));
84 typedef uchar uchar2 __attribute__((ext_vector_type(2)));
85 typedef uchar uchar3 __attribute__((ext_vector_type(3)));
86 typedef uchar uchar4 __attribute__((ext_vector_type(4)));
87 typedef uchar uchar8 __attribute__((ext_vector_type(8)));
88 typedef uchar uchar16 __attribute__((ext_vector_type(16)));
89 typedef short short2 __attribute__((ext_vector_type(2)));
90 typedef short short3 __attribute__((ext_vector_type(3)));
91 typedef short short4 __attribute__((ext_vector_type(4)));
92 typedef short short8 __attribute__((ext_vector_type(8)));
93 typedef short short16 __attribute__((ext_vector_type(16)));
94 typedef ushort ushort2 __attribute__((ext_vector_type(2)));
95 typedef ushort ushort3 __attribute__((ext_vector_type(3)));
96 typedef ushort ushort4 __attribute__((ext_vector_type(4)));
97 typedef ushort ushort8 __attribute__((ext_vector_type(8)));
98 typedef ushort ushort16 __attribute__((ext_vector_type(16)));
99 typedef int int2 __attribute__((ext_vector_type(2)));
100 typedef int int3 __attribute__((ext_vector_type(3)));
101 typedef int int4 __attribute__((ext_vector_type(4)));
102 typedef int int8 __attribute__((ext_vector_type(8)));
103 typedef int int16 __attribute__((ext_vector_type(16)));
104 typedef uint uint2 __attribute__((ext_vector_type(2)));
105 typedef uint uint3 __attribute__((ext_vector_type(3)));
106 typedef uint uint4 __attribute__((ext_vector_type(4)));
107 typedef uint uint8 __attribute__((ext_vector_type(8)));
108 typedef uint uint16 __attribute__((ext_vector_type(16)));
109 typedef long long2 __attribute__((ext_vector_type(2)));
110 typedef long long3 __attribute__((ext_vector_type(3)));
111 typedef long long4 __attribute__((ext_vector_type(4)));
112 typedef long long8 __attribute__((ext_vector_type(8)));
113 typedef long long16 __attribute__((ext_vector_type(16)));
114 typedef ulong ulong2 __attribute__((ext_vector_type(2)));
115 typedef ulong ulong3 __attribute__((ext_vector_type(3)));
116 typedef ulong ulong4 __attribute__((ext_vector_type(4)));
117 typedef ulong ulong8 __attribute__((ext_vector_type(8)));
118 typedef ulong ulong16 __attribute__((ext_vector_type(16)));
119 typedef float float2 __attribute__((ext_vector_type(2)));
120 typedef float float3 __attribute__((ext_vector_type(3)));
121 typedef float float4 __attribute__((ext_vector_type(4)));
122 typedef float float8 __attribute__((ext_vector_type(8)));
123 typedef float float16 __attribute__((ext_vector_type(16)));
124 #ifdef cl_khr_fp16
125 #pragma OPENCL EXTENSION cl_khr_fp16 : enable
126 typedef half half2 __attribute__((ext_vector_type(2)));
127 typedef half half3 __attribute__((ext_vector_type(3)));
128 typedef half half4 __attribute__((ext_vector_type(4)));
129 typedef half half8 __attribute__((ext_vector_type(8)));
130 typedef half half16 __attribute__((ext_vector_type(16)));
131 #endif
132 #ifdef cl_khr_fp64
133 #if __OPENCL_C_VERSION__ < CL_VERSION_1_2
134 #pragma OPENCL EXTENSION cl_khr_fp64 : enable
135 #endif
136 typedef double double2 __attribute__((ext_vector_type(2)));
137 typedef double double3 __attribute__((ext_vector_type(3)));
138 typedef double double4 __attribute__((ext_vector_type(4)));
139 typedef double double8 __attribute__((ext_vector_type(8)));
140 typedef double double16 __attribute__((ext_vector_type(16)));
141 #endif
142
143 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
144 #define NULL ((void*)0)
145 #endif
146
147 /**
148  * Value of maximum non-infinite single-precision floating-point
149  * number.
150  */
151 #define MAXFLOAT 0x1.fffffep127f
152
153 /**
154  * A positive float constant expression. HUGE_VALF evaluates
155  * to +infinity. Used as an error value returned by the built-in
156  * math functions.
157  */
158 #define HUGE_VALF (__builtin_huge_valf())
159
160 /**
161  * A positive double constant expression. HUGE_VAL evaluates
162  * to +infinity. Used as an error value returned by the built-in
163  * math functions.
164  */
165 #define HUGE_VAL (__builtin_huge_val())
166
167 /**
168  * A constant expression of type float representing positive or
169  * unsigned infinity.
170  */
171 #define INFINITY (__builtin_inff())
172
173 /**
174  * A constant expression of type float representing a quiet NaN.
175  */
176 #define NAN as_float(INT_MAX)
177
178 #define FP_ILOGB0    INT_MIN
179 #define FP_ILOGBNAN    INT_MAX
180
181 #define FLT_DIG 6
182 #define FLT_MANT_DIG 24
183 #define FLT_MAX_10_EXP +38
184 #define FLT_MAX_EXP +128
185 #define FLT_MIN_10_EXP -37
186 #define FLT_MIN_EXP -125
187 #define FLT_RADIX 2
188 #define FLT_MAX 0x1.fffffep127f
189 #define FLT_MIN 0x1.0p-126f
190 #define FLT_EPSILON 0x1.0p-23f
191
192 #define M_E_F         2.71828182845904523536028747135266250f
193 #define M_LOG2E_F     1.44269504088896340735992468100189214f
194 #define M_LOG10E_F    0.434294481903251827651128918916605082f
195 #define M_LN2_F       0.693147180559945309417232121458176568f
196 #define M_LN10_F      2.30258509299404568401799145468436421f
197 #define M_PI_F        3.14159265358979323846264338327950288f
198 #define M_PI_2_F      1.57079632679489661923132169163975144f
199 #define M_PI_4_F      0.785398163397448309615660845819875721f
200 #define M_1_PI_F      0.318309886183790671537767526745028724f
201 #define M_2_PI_F      0.636619772367581343075535053490057448f
202 #define M_2_SQRTPI_F  1.12837916709551257389615890312154517f
203 #define M_SQRT2_F     1.41421356237309504880168872420969808f
204 #define M_SQRT1_2_F   0.707106781186547524400844362104849039f
205
206 #define DBL_DIG 15
207 #define DBL_MANT_DIG 53
208 #define DBL_MAX_10_EXP +308
209 #define DBL_MAX_EXP +1024
210 #define DBL_MIN_10_EXP -307
211 #define DBL_MIN_EXP -1021
212 #define DBL_RADIX 2
213 #define DBL_MAX 0x1.fffffffffffffp1023
214 #define DBL_MIN 0x1.0p-1022
215 #define DBL_EPSILON 0x1.0p-52
216
217 #define M_E           0x1.5bf0a8b145769p+1
218 #define M_LOG2E       0x1.71547652b82fep+0
219 #define M_LOG10E      0x1.bcb7b1526e50ep-2
220 #define M_LN2         0x1.62e42fefa39efp-1
221 #define M_LN10        0x1.26bb1bbb55516p+1
222 #define M_PI          0x1.921fb54442d18p+1
223 #define M_PI_2        0x1.921fb54442d18p+0
224 #define M_PI_4        0x1.921fb54442d18p-1
225 #define M_1_PI        0x1.45f306dc9c883p-2
226 #define M_2_PI        0x1.45f306dc9c883p-1
227 #define M_2_SQRTPI    0x1.20dd750429b6dp+0
228 #define M_SQRT2       0x1.6a09e667f3bcdp+0
229 #define M_SQRT1_2     0x1.6a09e667f3bcdp-1
230
231 #ifdef cl_khr_fp16
232
233 #define HALF_DIG 3
234 #define HALF_MANT_DIG 11
235 #define HALF_MAX_10_EXP +4
236 #define HALF_MAX_EXP +16
237 #define HALF_MIN_10_EXP -4
238 #define HALF_MIN_EXP -13
239 #define HALF_RADIX 2
240 #define HALF_MAX ((0x1.ffcp15h))
241 #define HALF_MIN ((0x1.0p-14h))
242 #define HALF_EPSILON ((0x1.0p-10h))
243
244 #define M_E_H         2.71828182845904523536028747135266250h
245 #define M_LOG2E_H     1.44269504088896340735992468100189214h
246 #define M_LOG10E_H    0.434294481903251827651128918916605082h
247 #define M_LN2_H       0.693147180559945309417232121458176568h
248 #define M_LN10_H      2.30258509299404568401799145468436421h
249 #define M_PI_H        3.14159265358979323846264338327950288h
250 #define M_PI_2_H      1.57079632679489661923132169163975144h
251 #define M_PI_4_H      0.785398163397448309615660845819875721h
252 #define M_1_PI_H      0.318309886183790671537767526745028724h
253 #define M_2_PI_H      0.636619772367581343075535053490057448h
254 #define M_2_SQRTPI_H  1.12837916709551257389615890312154517h
255 #define M_SQRT2_H     1.41421356237309504880168872420969808h
256 #define M_SQRT1_2_H   0.707106781186547524400844362104849039h
257
258 #endif //cl_khr_fp16
259
260 #define CHAR_BIT    8
261 #define SCHAR_MAX  127
262 #define SCHAR_MIN  (-128)
263 #define UCHAR_MAX  255
264 #define CHAR_MAX  SCHAR_MAX
265 #define CHAR_MIN  SCHAR_MIN
266 #define USHRT_MAX  65535
267 #define SHRT_MAX  32767
268 #define SHRT_MIN  (-32768)
269 #define UINT_MAX  0xffffffff
270 #define INT_MAX    2147483647
271 #define INT_MIN    (-2147483647-1)
272 #define ULONG_MAX  0xffffffffffffffffUL
273 #define LONG_MAX  0x7fffffffffffffffL
274 #define LONG_MIN  (-0x7fffffffffffffffL-1)
275
276 // OpenCL v1.1/1.2/2.0 s6.2.3 - Explicit conversions
277
278 char __ovld __cnfn convert_char_rte(char);
279 char __ovld __cnfn convert_char_sat_rte(char);
280 char __ovld __cnfn convert_char_rtz(char);
281 char __ovld __cnfn convert_char_sat_rtz(char);
282 char __ovld __cnfn convert_char_rtp(char);
283 char __ovld __cnfn convert_char_sat_rtp(char);
284 char __ovld __cnfn convert_char_rtn(char);
285 char __ovld __cnfn convert_char_sat_rtn(char);
286 char __ovld __cnfn convert_char(char);
287 char __ovld __cnfn convert_char_sat(char);
288 char __ovld __cnfn convert_char_rte(uchar);
289 char __ovld __cnfn convert_char_sat_rte(uchar);
290 char __ovld __cnfn convert_char_rtz(uchar);
291 char __ovld __cnfn convert_char_sat_rtz(uchar);
292 char __ovld __cnfn convert_char_rtp(uchar);
293 char __ovld __cnfn convert_char_sat_rtp(uchar);
294 char __ovld __cnfn convert_char_rtn(uchar);
295 char __ovld __cnfn convert_char_sat_rtn(uchar);
296 char __ovld __cnfn convert_char(uchar);
297 char __ovld __cnfn convert_char_sat(uchar);
298 char __ovld __cnfn convert_char_rte(short);
299 char __ovld __cnfn convert_char_sat_rte(short);
300 char __ovld __cnfn convert_char_rtz(short);
301 char __ovld __cnfn convert_char_sat_rtz(short);
302 char __ovld __cnfn convert_char_rtp(short);
303 char __ovld __cnfn convert_char_sat_rtp(short);
304 char __ovld __cnfn convert_char_rtn(short);
305 char __ovld __cnfn convert_char_sat_rtn(short);
306 char __ovld __cnfn convert_char(short);
307 char __ovld __cnfn convert_char_sat(short);
308 char __ovld __cnfn convert_char_rte(ushort);
309 char __ovld __cnfn convert_char_sat_rte(ushort);
310 char __ovld __cnfn convert_char_rtz(ushort);
311 char __ovld __cnfn convert_char_sat_rtz(ushort);
312 char __ovld __cnfn convert_char_rtp(ushort);
313 char __ovld __cnfn convert_char_sat_rtp(ushort);
314 char __ovld __cnfn convert_char_rtn(ushort);
315 char __ovld __cnfn convert_char_sat_rtn(ushort);
316 char __ovld __cnfn convert_char(ushort);
317 char __ovld __cnfn convert_char_sat(ushort);
318 char __ovld __cnfn convert_char_rte(int);
319 char __ovld __cnfn convert_char_sat_rte(int);
320 char __ovld __cnfn convert_char_rtz(int);
321 char __ovld __cnfn convert_char_sat_rtz(int);
322 char __ovld __cnfn convert_char_rtp(int);
323 char __ovld __cnfn convert_char_sat_rtp(int);
324 char __ovld __cnfn convert_char_rtn(int);
325 char __ovld __cnfn convert_char_sat_rtn(int);
326 char __ovld __cnfn convert_char(int);
327 char __ovld __cnfn convert_char_sat(int);
328 char __ovld __cnfn convert_char_rte(uint);
329 char __ovld __cnfn convert_char_sat_rte(uint);
330 char __ovld __cnfn convert_char_rtz(uint);
331 char __ovld __cnfn convert_char_sat_rtz(uint);
332 char __ovld __cnfn convert_char_rtp(uint);
333 char __ovld __cnfn convert_char_sat_rtp(uint);
334 char __ovld __cnfn convert_char_rtn(uint);
335 char __ovld __cnfn convert_char_sat_rtn(uint);
336 char __ovld __cnfn convert_char(uint);
337 char __ovld __cnfn convert_char_sat(uint);
338 char __ovld __cnfn convert_char_rte(long);
339 char __ovld __cnfn convert_char_sat_rte(long);
340 char __ovld __cnfn convert_char_rtz(long);
341 char __ovld __cnfn convert_char_sat_rtz(long);
342 char __ovld __cnfn convert_char_rtp(long);
343 char __ovld __cnfn convert_char_sat_rtp(long);
344 char __ovld __cnfn convert_char_rtn(long);
345 char __ovld __cnfn convert_char_sat_rtn(long);
346 char __ovld __cnfn convert_char(long);
347 char __ovld __cnfn convert_char_sat(long);
348 char __ovld __cnfn convert_char_rte(ulong);
349 char __ovld __cnfn convert_char_sat_rte(ulong);
350 char __ovld __cnfn convert_char_rtz(ulong);
351 char __ovld __cnfn convert_char_sat_rtz(ulong);
352 char __ovld __cnfn convert_char_rtp(ulong);
353 char __ovld __cnfn convert_char_sat_rtp(ulong);
354 char __ovld __cnfn convert_char_rtn(ulong);
355 char __ovld __cnfn convert_char_sat_rtn(ulong);
356 char __ovld __cnfn convert_char(ulong);
357 char __ovld __cnfn convert_char_sat(ulong);
358 char __ovld __cnfn convert_char_rte(float);
359 char __ovld __cnfn convert_char_sat_rte(float);
360 char __ovld __cnfn convert_char_rtz(float);
361 char __ovld __cnfn convert_char_sat_rtz(float);
362 char __ovld __cnfn convert_char_rtp(float);
363 char __ovld __cnfn convert_char_sat_rtp(float);
364 char __ovld __cnfn convert_char_rtn(float);
365 char __ovld __cnfn convert_char_sat_rtn(float);
366 char __ovld __cnfn convert_char(float);
367 char __ovld __cnfn convert_char_sat(float);
368 uchar __ovld __cnfn convert_uchar_rte(char);
369 uchar __ovld __cnfn convert_uchar_sat_rte(char);
370 uchar __ovld __cnfn convert_uchar_rtz(char);
371 uchar __ovld __cnfn convert_uchar_sat_rtz(char);
372 uchar __ovld __cnfn convert_uchar_rtp(char);
373 uchar __ovld __cnfn convert_uchar_sat_rtp(char);
374 uchar __ovld __cnfn convert_uchar_rtn(char);
375 uchar __ovld __cnfn convert_uchar_sat_rtn(char);
376 uchar __ovld __cnfn convert_uchar(char);
377 uchar __ovld __cnfn convert_uchar_sat(char);
378 uchar __ovld __cnfn convert_uchar_rte(uchar);
379 uchar __ovld __cnfn convert_uchar_sat_rte(uchar);
380 uchar __ovld __cnfn convert_uchar_rtz(uchar);
381 uchar __ovld __cnfn convert_uchar_sat_rtz(uchar);
382 uchar __ovld __cnfn convert_uchar_rtp(uchar);
383 uchar __ovld __cnfn convert_uchar_sat_rtp(uchar);
384 uchar __ovld __cnfn convert_uchar_rtn(uchar);
385 uchar __ovld __cnfn convert_uchar_sat_rtn(uchar);
386 uchar __ovld __cnfn convert_uchar(uchar);
387 uchar __ovld __cnfn convert_uchar_sat(uchar);
388 uchar __ovld __cnfn convert_uchar_rte(short);
389 uchar __ovld __cnfn convert_uchar_sat_rte(short);
390 uchar __ovld __cnfn convert_uchar_rtz(short);
391 uchar __ovld __cnfn convert_uchar_sat_rtz(short);
392 uchar __ovld __cnfn convert_uchar_rtp(short);
393 uchar __ovld __cnfn convert_uchar_sat_rtp(short);
394 uchar __ovld __cnfn convert_uchar_rtn(short);
395 uchar __ovld __cnfn convert_uchar_sat_rtn(short);
396 uchar __ovld __cnfn convert_uchar(short);
397 uchar __ovld __cnfn convert_uchar_sat(short);
398 uchar __ovld __cnfn convert_uchar_rte(ushort);
399 uchar __ovld __cnfn convert_uchar_sat_rte(ushort);
400 uchar __ovld __cnfn convert_uchar_rtz(ushort);
401 uchar __ovld __cnfn convert_uchar_sat_rtz(ushort);
402 uchar __ovld __cnfn convert_uchar_rtp(ushort);
403 uchar __ovld __cnfn convert_uchar_sat_rtp(ushort);
404 uchar __ovld __cnfn convert_uchar_rtn(ushort);
405 uchar __ovld __cnfn convert_uchar_sat_rtn(ushort);
406 uchar __ovld __cnfn convert_uchar(ushort);
407 uchar __ovld __cnfn convert_uchar_sat(ushort);
408 uchar __ovld __cnfn convert_uchar_rte(int);
409 uchar __ovld __cnfn convert_uchar_sat_rte(int);
410 uchar __ovld __cnfn convert_uchar_rtz(int);
411 uchar __ovld __cnfn convert_uchar_sat_rtz(int);
412 uchar __ovld __cnfn convert_uchar_rtp(int);
413 uchar __ovld __cnfn convert_uchar_sat_rtp(int);
414 uchar __ovld __cnfn convert_uchar_rtn(int);
415 uchar __ovld __cnfn convert_uchar_sat_rtn(int);
416 uchar __ovld __cnfn convert_uchar(int);
417 uchar __ovld __cnfn convert_uchar_sat(int);
418 uchar __ovld __cnfn convert_uchar_rte(uint);
419 uchar __ovld __cnfn convert_uchar_sat_rte(uint);
420 uchar __ovld __cnfn convert_uchar_rtz(uint);
421 uchar __ovld __cnfn convert_uchar_sat_rtz(uint);
422 uchar __ovld __cnfn convert_uchar_rtp(uint);
423 uchar __ovld __cnfn convert_uchar_sat_rtp(uint);
424 uchar __ovld __cnfn convert_uchar_rtn(uint);
425 uchar __ovld __cnfn convert_uchar_sat_rtn(uint);
426 uchar __ovld __cnfn convert_uchar(uint);
427 uchar __ovld __cnfn convert_uchar_sat(uint);
428 uchar __ovld __cnfn convert_uchar_rte(long);
429 uchar __ovld __cnfn convert_uchar_sat_rte(long);
430 uchar __ovld __cnfn convert_uchar_rtz(long);
431 uchar __ovld __cnfn convert_uchar_sat_rtz(long);
432 uchar __ovld __cnfn convert_uchar_rtp(long);
433 uchar __ovld __cnfn convert_uchar_sat_rtp(long);
434 uchar __ovld __cnfn convert_uchar_rtn(long);
435 uchar __ovld __cnfn convert_uchar_sat_rtn(long);
436 uchar __ovld __cnfn convert_uchar(long);
437 uchar __ovld __cnfn convert_uchar_sat(long);
438 uchar __ovld __cnfn convert_uchar_rte(ulong);
439 uchar __ovld __cnfn convert_uchar_sat_rte(ulong);
440 uchar __ovld __cnfn convert_uchar_rtz(ulong);
441 uchar __ovld __cnfn convert_uchar_sat_rtz(ulong);
442 uchar __ovld __cnfn convert_uchar_rtp(ulong);
443 uchar __ovld __cnfn convert_uchar_sat_rtp(ulong);
444 uchar __ovld __cnfn convert_uchar_rtn(ulong);
445 uchar __ovld __cnfn convert_uchar_sat_rtn(ulong);
446 uchar __ovld __cnfn convert_uchar(ulong);
447 uchar __ovld __cnfn convert_uchar_sat(ulong);
448 uchar __ovld __cnfn convert_uchar_rte(float);
449 uchar __ovld __cnfn convert_uchar_sat_rte(float);
450 uchar __ovld __cnfn convert_uchar_rtz(float);
451 uchar __ovld __cnfn convert_uchar_sat_rtz(float);
452 uchar __ovld __cnfn convert_uchar_rtp(float);
453 uchar __ovld __cnfn convert_uchar_sat_rtp(float);
454 uchar __ovld __cnfn convert_uchar_rtn(float);
455 uchar __ovld __cnfn convert_uchar_sat_rtn(float);
456 uchar __ovld __cnfn convert_uchar(float);
457 uchar __ovld __cnfn convert_uchar_sat(float);
458
459 short __ovld __cnfn convert_short_rte(char);
460 short __ovld __cnfn convert_short_sat_rte(char);
461 short __ovld __cnfn convert_short_rtz(char);
462 short __ovld __cnfn convert_short_sat_rtz(char);
463 short __ovld __cnfn convert_short_rtp(char);
464 short __ovld __cnfn convert_short_sat_rtp(char);
465 short __ovld __cnfn convert_short_rtn(char);
466 short __ovld __cnfn convert_short_sat_rtn(char);
467 short __ovld __cnfn convert_short(char);
468 short __ovld __cnfn convert_short_sat(char);
469 short __ovld __cnfn convert_short_rte(uchar);
470 short __ovld __cnfn convert_short_sat_rte(uchar);
471 short __ovld __cnfn convert_short_rtz(uchar);
472 short __ovld __cnfn convert_short_sat_rtz(uchar);
473 short __ovld __cnfn convert_short_rtp(uchar);
474 short __ovld __cnfn convert_short_sat_rtp(uchar);
475 short __ovld __cnfn convert_short_rtn(uchar);
476 short __ovld __cnfn convert_short_sat_rtn(uchar);
477 short __ovld __cnfn convert_short(uchar);
478 short __ovld __cnfn convert_short_sat(uchar);
479 short __ovld __cnfn convert_short_rte(short);
480 short __ovld __cnfn convert_short_sat_rte(short);
481 short __ovld __cnfn convert_short_rtz(short);
482 short __ovld __cnfn convert_short_sat_rtz(short);
483 short __ovld __cnfn convert_short_rtp(short);
484 short __ovld __cnfn convert_short_sat_rtp(short);
485 short __ovld __cnfn convert_short_rtn(short);
486 short __ovld __cnfn convert_short_sat_rtn(short);
487 short __ovld __cnfn convert_short(short);
488 short __ovld __cnfn convert_short_sat(short);
489 short __ovld __cnfn convert_short_rte(ushort);
490 short __ovld __cnfn convert_short_sat_rte(ushort);
491 short __ovld __cnfn convert_short_rtz(ushort);
492 short __ovld __cnfn convert_short_sat_rtz(ushort);
493 short __ovld __cnfn convert_short_rtp(ushort);
494 short __ovld __cnfn convert_short_sat_rtp(ushort);
495 short __ovld __cnfn convert_short_rtn(ushort);
496 short __ovld __cnfn convert_short_sat_rtn(ushort);
497 short __ovld __cnfn convert_short(ushort);
498 short __ovld __cnfn convert_short_sat(ushort);
499 short __ovld __cnfn convert_short_rte(int);
500 short __ovld __cnfn convert_short_sat_rte(int);
501 short __ovld __cnfn convert_short_rtz(int);
502 short __ovld __cnfn convert_short_sat_rtz(int);
503 short __ovld __cnfn convert_short_rtp(int);
504 short __ovld __cnfn convert_short_sat_rtp(int);
505 short __ovld __cnfn convert_short_rtn(int);
506 short __ovld __cnfn convert_short_sat_rtn(int);
507 short __ovld __cnfn convert_short(int);
508 short __ovld __cnfn convert_short_sat(int);
509 short __ovld __cnfn convert_short_rte(uint);
510 short __ovld __cnfn convert_short_sat_rte(uint);
511 short __ovld __cnfn convert_short_rtz(uint);
512 short __ovld __cnfn convert_short_sat_rtz(uint);
513 short __ovld __cnfn convert_short_rtp(uint);
514 short __ovld __cnfn convert_short_sat_rtp(uint);
515 short __ovld __cnfn convert_short_rtn(uint);
516 short __ovld __cnfn convert_short_sat_rtn(uint);
517 short __ovld __cnfn convert_short(uint);
518 short __ovld __cnfn convert_short_sat(uint);
519 short __ovld __cnfn convert_short_rte(long);
520 short __ovld __cnfn convert_short_sat_rte(long);
521 short __ovld __cnfn convert_short_rtz(long);
522 short __ovld __cnfn convert_short_sat_rtz(long);
523 short __ovld __cnfn convert_short_rtp(long);
524 short __ovld __cnfn convert_short_sat_rtp(long);
525 short __ovld __cnfn convert_short_rtn(long);
526 short __ovld __cnfn convert_short_sat_rtn(long);
527 short __ovld __cnfn convert_short(long);
528 short __ovld __cnfn convert_short_sat(long);
529 short __ovld __cnfn convert_short_rte(ulong);
530 short __ovld __cnfn convert_short_sat_rte(ulong);
531 short __ovld __cnfn convert_short_rtz(ulong);
532 short __ovld __cnfn convert_short_sat_rtz(ulong);
533 short __ovld __cnfn convert_short_rtp(ulong);
534 short __ovld __cnfn convert_short_sat_rtp(ulong);
535 short __ovld __cnfn convert_short_rtn(ulong);
536 short __ovld __cnfn convert_short_sat_rtn(ulong);
537 short __ovld __cnfn convert_short(ulong);
538 short __ovld __cnfn convert_short_sat(ulong);
539 short __ovld __cnfn convert_short_rte(float);
540 short __ovld __cnfn convert_short_sat_rte(float);
541 short __ovld __cnfn convert_short_rtz(float);
542 short __ovld __cnfn convert_short_sat_rtz(float);
543 short __ovld __cnfn convert_short_rtp(float);
544 short __ovld __cnfn convert_short_sat_rtp(float);
545 short __ovld __cnfn convert_short_rtn(float);
546 short __ovld __cnfn convert_short_sat_rtn(float);
547 short __ovld __cnfn convert_short(float);
548 short __ovld __cnfn convert_short_sat(float);
549 ushort __ovld __cnfn convert_ushort_rte(char);
550 ushort __ovld __cnfn convert_ushort_sat_rte(char);
551 ushort __ovld __cnfn convert_ushort_rtz(char);
552 ushort __ovld __cnfn convert_ushort_sat_rtz(char);
553 ushort __ovld __cnfn convert_ushort_rtp(char);
554 ushort __ovld __cnfn convert_ushort_sat_rtp(char);
555 ushort __ovld __cnfn convert_ushort_rtn(char);
556 ushort __ovld __cnfn convert_ushort_sat_rtn(char);
557 ushort __ovld __cnfn convert_ushort(char);
558 ushort __ovld __cnfn convert_ushort_sat(char);
559 ushort __ovld __cnfn convert_ushort_rte(uchar);
560 ushort __ovld __cnfn convert_ushort_sat_rte(uchar);
561 ushort __ovld __cnfn convert_ushort_rtz(uchar);
562 ushort __ovld __cnfn convert_ushort_sat_rtz(uchar);
563 ushort __ovld __cnfn convert_ushort_rtp(uchar);
564 ushort __ovld __cnfn convert_ushort_sat_rtp(uchar);
565 ushort __ovld __cnfn convert_ushort_rtn(uchar);
566 ushort __ovld __cnfn convert_ushort_sat_rtn(uchar);
567 ushort __ovld __cnfn convert_ushort(uchar);
568 ushort __ovld __cnfn convert_ushort_sat(uchar);
569 ushort __ovld __cnfn convert_ushort_rte(short);
570 ushort __ovld __cnfn convert_ushort_sat_rte(short);
571 ushort __ovld __cnfn convert_ushort_rtz(short);
572 ushort __ovld __cnfn convert_ushort_sat_rtz(short);
573 ushort __ovld __cnfn convert_ushort_rtp(short);
574 ushort __ovld __cnfn convert_ushort_sat_rtp(short);
575 ushort __ovld __cnfn convert_ushort_rtn(short);
576 ushort __ovld __cnfn convert_ushort_sat_rtn(short);
577 ushort __ovld __cnfn convert_ushort(short);
578 ushort __ovld __cnfn convert_ushort_sat(short);
579 ushort __ovld __cnfn convert_ushort_rte(ushort);
580 ushort __ovld __cnfn convert_ushort_sat_rte(ushort);
581 ushort __ovld __cnfn convert_ushort_rtz(ushort);
582 ushort __ovld __cnfn convert_ushort_sat_rtz(ushort);
583 ushort __ovld __cnfn convert_ushort_rtp(ushort);
584 ushort __ovld __cnfn convert_ushort_sat_rtp(ushort);
585 ushort __ovld __cnfn convert_ushort_rtn(ushort);
586 ushort __ovld __cnfn convert_ushort_sat_rtn(ushort);
587 ushort __ovld __cnfn convert_ushort(ushort);
588 ushort __ovld __cnfn convert_ushort_sat(ushort);
589 ushort __ovld __cnfn convert_ushort_rte(int);
590 ushort __ovld __cnfn convert_ushort_sat_rte(int);
591 ushort __ovld __cnfn convert_ushort_rtz(int);
592 ushort __ovld __cnfn convert_ushort_sat_rtz(int);
593 ushort __ovld __cnfn convert_ushort_rtp(int);
594 ushort __ovld __cnfn convert_ushort_sat_rtp(int);
595 ushort __ovld __cnfn convert_ushort_rtn(int);
596 ushort __ovld __cnfn convert_ushort_sat_rtn(int);
597 ushort __ovld __cnfn convert_ushort(int);
598 ushort __ovld __cnfn convert_ushort_sat(int);
599 ushort __ovld __cnfn convert_ushort_rte(uint);
600 ushort __ovld __cnfn convert_ushort_sat_rte(uint);
601 ushort __ovld __cnfn convert_ushort_rtz(uint);
602 ushort __ovld __cnfn convert_ushort_sat_rtz(uint);
603 ushort __ovld __cnfn convert_ushort_rtp(uint);
604 ushort __ovld __cnfn convert_ushort_sat_rtp(uint);
605 ushort __ovld __cnfn convert_ushort_rtn(uint);
606 ushort __ovld __cnfn convert_ushort_sat_rtn(uint);
607 ushort __ovld __cnfn convert_ushort(uint);
608 ushort __ovld __cnfn convert_ushort_sat(uint);
609 ushort __ovld __cnfn convert_ushort_rte(long);
610 ushort __ovld __cnfn convert_ushort_sat_rte(long);
611 ushort __ovld __cnfn convert_ushort_rtz(long);
612 ushort __ovld __cnfn convert_ushort_sat_rtz(long);
613 ushort __ovld __cnfn convert_ushort_rtp(long);
614 ushort __ovld __cnfn convert_ushort_sat_rtp(long);
615 ushort __ovld __cnfn convert_ushort_rtn(long);
616 ushort __ovld __cnfn convert_ushort_sat_rtn(long);
617 ushort __ovld __cnfn convert_ushort(long);
618 ushort __ovld __cnfn convert_ushort_sat(long);
619 ushort __ovld __cnfn convert_ushort_rte(ulong);
620 ushort __ovld __cnfn convert_ushort_sat_rte(ulong);
621 ushort __ovld __cnfn convert_ushort_rtz(ulong);
622 ushort __ovld __cnfn convert_ushort_sat_rtz(ulong);
623 ushort __ovld __cnfn convert_ushort_rtp(ulong);
624 ushort __ovld __cnfn convert_ushort_sat_rtp(ulong);
625 ushort __ovld __cnfn convert_ushort_rtn(ulong);
626 ushort __ovld __cnfn convert_ushort_sat_rtn(ulong);
627 ushort __ovld __cnfn convert_ushort(ulong);
628 ushort __ovld __cnfn convert_ushort_sat(ulong);
629 ushort __ovld __cnfn convert_ushort_rte(float);
630 ushort __ovld __cnfn convert_ushort_sat_rte(float);
631 ushort __ovld __cnfn convert_ushort_rtz(float);
632 ushort __ovld __cnfn convert_ushort_sat_rtz(float);
633 ushort __ovld __cnfn convert_ushort_rtp(float);
634 ushort __ovld __cnfn convert_ushort_sat_rtp(float);
635 ushort __ovld __cnfn convert_ushort_rtn(float);
636 ushort __ovld __cnfn convert_ushort_sat_rtn(float);
637 ushort __ovld __cnfn convert_ushort(float);
638 ushort __ovld __cnfn convert_ushort_sat(float);
639 int __ovld __cnfn convert_int_rte(char);
640 int __ovld __cnfn convert_int_sat_rte(char);
641 int __ovld __cnfn convert_int_rtz(char);
642 int __ovld __cnfn convert_int_sat_rtz(char);
643 int __ovld __cnfn convert_int_rtp(char);
644 int __ovld __cnfn convert_int_sat_rtp(char);
645 int __ovld __cnfn convert_int_rtn(char);
646 int __ovld __cnfn convert_int_sat_rtn(char);
647 int __ovld __cnfn convert_int(char);
648 int __ovld __cnfn convert_int_sat(char);
649 int __ovld __cnfn convert_int_rte(uchar);
650 int __ovld __cnfn convert_int_sat_rte(uchar);
651 int __ovld __cnfn convert_int_rtz(uchar);
652 int __ovld __cnfn convert_int_sat_rtz(uchar);
653 int __ovld __cnfn convert_int_rtp(uchar);
654 int __ovld __cnfn convert_int_sat_rtp(uchar);
655 int __ovld __cnfn convert_int_rtn(uchar);
656 int __ovld __cnfn convert_int_sat_rtn(uchar);
657 int __ovld __cnfn convert_int(uchar);
658 int __ovld __cnfn convert_int_sat(uchar);
659 int __ovld __cnfn convert_int_rte(short);
660 int __ovld __cnfn convert_int_sat_rte(short);
661 int __ovld __cnfn convert_int_rtz(short);
662 int __ovld __cnfn convert_int_sat_rtz(short);
663 int __ovld __cnfn convert_int_rtp(short);
664 int __ovld __cnfn convert_int_sat_rtp(short);
665 int __ovld __cnfn convert_int_rtn(short);
666 int __ovld __cnfn convert_int_sat_rtn(short);
667 int __ovld __cnfn convert_int(short);
668 int __ovld __cnfn convert_int_sat(short);
669 int __ovld __cnfn convert_int_rte(ushort);
670 int __ovld __cnfn convert_int_sat_rte(ushort);
671 int __ovld __cnfn convert_int_rtz(ushort);
672 int __ovld __cnfn convert_int_sat_rtz(ushort);
673 int __ovld __cnfn convert_int_rtp(ushort);
674 int __ovld __cnfn convert_int_sat_rtp(ushort);
675 int __ovld __cnfn convert_int_rtn(ushort);
676 int __ovld __cnfn convert_int_sat_rtn(ushort);
677 int __ovld __cnfn convert_int(ushort);
678 int __ovld __cnfn convert_int_sat(ushort);
679 int __ovld __cnfn convert_int_rte(int);
680 int __ovld __cnfn convert_int_sat_rte(int);
681 int __ovld __cnfn convert_int_rtz(int);
682 int __ovld __cnfn convert_int_sat_rtz(int);
683 int __ovld __cnfn convert_int_rtp(int);
684 int __ovld __cnfn convert_int_sat_rtp(int);
685 int __ovld __cnfn convert_int_rtn(int);
686 int __ovld __cnfn convert_int_sat_rtn(int);
687 int __ovld __cnfn convert_int(int);
688 int __ovld __cnfn convert_int_sat(int);
689 int __ovld __cnfn convert_int_rte(uint);
690 int __ovld __cnfn convert_int_sat_rte(uint);
691 int __ovld __cnfn convert_int_rtz(uint);
692 int __ovld __cnfn convert_int_sat_rtz(uint);
693 int __ovld __cnfn convert_int_rtp(uint);
694 int __ovld __cnfn convert_int_sat_rtp(uint);
695 int __ovld __cnfn convert_int_rtn(uint);
696 int __ovld __cnfn convert_int_sat_rtn(uint);
697 int __ovld __cnfn convert_int(uint);
698 int __ovld __cnfn convert_int_sat(uint);
699 int __ovld __cnfn convert_int_rte(long);
700 int __ovld __cnfn convert_int_sat_rte(long);
701 int __ovld __cnfn convert_int_rtz(long);
702 int __ovld __cnfn convert_int_sat_rtz(long);
703 int __ovld __cnfn convert_int_rtp(long);
704 int __ovld __cnfn convert_int_sat_rtp(long);
705 int __ovld __cnfn convert_int_rtn(long);
706 int __ovld __cnfn convert_int_sat_rtn(long);
707 int __ovld __cnfn convert_int(long);
708 int __ovld __cnfn convert_int_sat(long);
709 int __ovld __cnfn convert_int_rte(ulong);
710 int __ovld __cnfn convert_int_sat_rte(ulong);
711 int __ovld __cnfn convert_int_rtz(ulong);
712 int __ovld __cnfn convert_int_sat_rtz(ulong);
713 int __ovld __cnfn convert_int_rtp(ulong);
714 int __ovld __cnfn convert_int_sat_rtp(ulong);
715 int __ovld __cnfn convert_int_rtn(ulong);
716 int __ovld __cnfn convert_int_sat_rtn(ulong);
717 int __ovld __cnfn convert_int(ulong);
718 int __ovld __cnfn convert_int_sat(ulong);
719 int __ovld __cnfn convert_int_rte(float);
720 int __ovld __cnfn convert_int_sat_rte(float);
721 int __ovld __cnfn convert_int_rtz(float);
722 int __ovld __cnfn convert_int_sat_rtz(float);
723 int __ovld __cnfn convert_int_rtp(float);
724 int __ovld __cnfn convert_int_sat_rtp(float);
725 int __ovld __cnfn convert_int_rtn(float);
726 int __ovld __cnfn convert_int_sat_rtn(float);
727 int __ovld __cnfn convert_int(float);
728 int __ovld __cnfn convert_int_sat(float);
729 uint __ovld __cnfn convert_uint_rte(char);
730 uint __ovld __cnfn convert_uint_sat_rte(char);
731 uint __ovld __cnfn convert_uint_rtz(char);
732 uint __ovld __cnfn convert_uint_sat_rtz(char);
733 uint __ovld __cnfn convert_uint_rtp(char);
734 uint __ovld __cnfn convert_uint_sat_rtp(char);
735 uint __ovld __cnfn convert_uint_rtn(char);
736 uint __ovld __cnfn convert_uint_sat_rtn(char);
737 uint __ovld __cnfn convert_uint(char);
738 uint __ovld __cnfn convert_uint_sat(char);
739 uint __ovld __cnfn convert_uint_rte(uchar);
740 uint __ovld __cnfn convert_uint_sat_rte(uchar);
741 uint __ovld __cnfn convert_uint_rtz(uchar);
742 uint __ovld __cnfn convert_uint_sat_rtz(uchar);
743 uint __ovld __cnfn convert_uint_rtp(uchar);
744 uint __ovld __cnfn convert_uint_sat_rtp(uchar);
745 uint __ovld __cnfn convert_uint_rtn(uchar);
746 uint __ovld __cnfn convert_uint_sat_rtn(uchar);
747 uint __ovld __cnfn convert_uint(uchar);
748 uint __ovld __cnfn convert_uint_sat(uchar);
749 uint __ovld __cnfn convert_uint_rte(short);
750 uint __ovld __cnfn convert_uint_sat_rte(short);
751 uint __ovld __cnfn convert_uint_rtz(short);
752 uint __ovld __cnfn convert_uint_sat_rtz(short);
753 uint __ovld __cnfn convert_uint_rtp(short);
754 uint __ovld __cnfn convert_uint_sat_rtp(short);
755 uint __ovld __cnfn convert_uint_rtn(short);
756 uint __ovld __cnfn convert_uint_sat_rtn(short);
757 uint __ovld __cnfn convert_uint(short);
758 uint __ovld __cnfn convert_uint_sat(short);
759 uint __ovld __cnfn convert_uint_rte(ushort);
760 uint __ovld __cnfn convert_uint_sat_rte(ushort);
761 uint __ovld __cnfn convert_uint_rtz(ushort);
762 uint __ovld __cnfn convert_uint_sat_rtz(ushort);
763 uint __ovld __cnfn convert_uint_rtp(ushort);
764 uint __ovld __cnfn convert_uint_sat_rtp(ushort);
765 uint __ovld __cnfn convert_uint_rtn(ushort);
766 uint __ovld __cnfn convert_uint_sat_rtn(ushort);
767 uint __ovld __cnfn convert_uint(ushort);
768 uint __ovld __cnfn convert_uint_sat(ushort);
769 uint __ovld __cnfn convert_uint_rte(int);
770 uint __ovld __cnfn convert_uint_sat_rte(int);
771 uint __ovld __cnfn convert_uint_rtz(int);
772 uint __ovld __cnfn convert_uint_sat_rtz(int);
773 uint __ovld __cnfn convert_uint_rtp(int);
774 uint __ovld __cnfn convert_uint_sat_rtp(int);
775 uint __ovld __cnfn convert_uint_rtn(int);
776 uint __ovld __cnfn convert_uint_sat_rtn(int);
777 uint __ovld __cnfn convert_uint(int);
778 uint __ovld __cnfn convert_uint_sat(int);
779 uint __ovld __cnfn convert_uint_rte(uint);
780 uint __ovld __cnfn convert_uint_sat_rte(uint);
781 uint __ovld __cnfn convert_uint_rtz(uint);
782 uint __ovld __cnfn convert_uint_sat_rtz(uint);
783 uint __ovld __cnfn convert_uint_rtp(uint);
784 uint __ovld __cnfn convert_uint_sat_rtp(uint);
785 uint __ovld __cnfn convert_uint_rtn(uint);
786 uint __ovld __cnfn convert_uint_sat_rtn(uint);
787 uint __ovld __cnfn convert_uint(uint);
788 uint __ovld __cnfn convert_uint_sat(uint);
789 uint __ovld __cnfn convert_uint_rte(long);
790 uint __ovld __cnfn convert_uint_sat_rte(long);
791 uint __ovld __cnfn convert_uint_rtz(long);
792 uint __ovld __cnfn convert_uint_sat_rtz(long);
793 uint __ovld __cnfn convert_uint_rtp(long);
794 uint __ovld __cnfn convert_uint_sat_rtp(long);
795 uint __ovld __cnfn convert_uint_rtn(long);
796 uint __ovld __cnfn convert_uint_sat_rtn(long);
797 uint __ovld __cnfn convert_uint(long);
798 uint __ovld __cnfn convert_uint_sat(long);
799 uint __ovld __cnfn convert_uint_rte(ulong);
800 uint __ovld __cnfn convert_uint_sat_rte(ulong);
801 uint __ovld __cnfn convert_uint_rtz(ulong);
802 uint __ovld __cnfn convert_uint_sat_rtz(ulong);
803 uint __ovld __cnfn convert_uint_rtp(ulong);
804 uint __ovld __cnfn convert_uint_sat_rtp(ulong);
805 uint __ovld __cnfn convert_uint_rtn(ulong);
806 uint __ovld __cnfn convert_uint_sat_rtn(ulong);
807 uint __ovld __cnfn convert_uint(ulong);
808 uint __ovld __cnfn convert_uint_sat(ulong);
809 uint __ovld __cnfn convert_uint_rte(float);
810 uint __ovld __cnfn convert_uint_sat_rte(float);
811 uint __ovld __cnfn convert_uint_rtz(float);
812 uint __ovld __cnfn convert_uint_sat_rtz(float);
813 uint __ovld __cnfn convert_uint_rtp(float);
814 uint __ovld __cnfn convert_uint_sat_rtp(float);
815 uint __ovld __cnfn convert_uint_rtn(float);
816 uint __ovld __cnfn convert_uint_sat_rtn(float);
817 uint __ovld __cnfn convert_uint(float);
818 uint __ovld __cnfn convert_uint_sat(float);
819 long __ovld __cnfn convert_long_rte(char);
820 long __ovld __cnfn convert_long_sat_rte(char);
821 long __ovld __cnfn convert_long_rtz(char);
822 long __ovld __cnfn convert_long_sat_rtz(char);
823 long __ovld __cnfn convert_long_rtp(char);
824 long __ovld __cnfn convert_long_sat_rtp(char);
825 long __ovld __cnfn convert_long_rtn(char);
826 long __ovld __cnfn convert_long_sat_rtn(char);
827 long __ovld __cnfn convert_long(char);
828 long __ovld __cnfn convert_long_sat(char);
829 long __ovld __cnfn convert_long_rte(uchar);
830 long __ovld __cnfn convert_long_sat_rte(uchar);
831 long __ovld __cnfn convert_long_rtz(uchar);
832 long __ovld __cnfn convert_long_sat_rtz(uchar);
833 long __ovld __cnfn convert_long_rtp(uchar);
834 long __ovld __cnfn convert_long_sat_rtp(uchar);
835 long __ovld __cnfn convert_long_rtn(uchar);
836 long __ovld __cnfn convert_long_sat_rtn(uchar);
837 long __ovld __cnfn convert_long(uchar);
838 long __ovld __cnfn convert_long_sat(uchar);
839 long __ovld __cnfn convert_long_rte(short);
840 long __ovld __cnfn convert_long_sat_rte(short);
841 long __ovld __cnfn convert_long_rtz(short);
842 long __ovld __cnfn convert_long_sat_rtz(short);
843 long __ovld __cnfn convert_long_rtp(short);
844 long __ovld __cnfn convert_long_sat_rtp(short);
845 long __ovld __cnfn convert_long_rtn(short);
846 long __ovld __cnfn convert_long_sat_rtn(short);
847 long __ovld __cnfn convert_long(short);
848 long __ovld __cnfn convert_long_sat(short);
849 long __ovld __cnfn convert_long_rte(ushort);
850 long __ovld __cnfn convert_long_sat_rte(ushort);
851 long __ovld __cnfn convert_long_rtz(ushort);
852 long __ovld __cnfn convert_long_sat_rtz(ushort);
853 long __ovld __cnfn convert_long_rtp(ushort);
854 long __ovld __cnfn convert_long_sat_rtp(ushort);
855 long __ovld __cnfn convert_long_rtn(ushort);
856 long __ovld __cnfn convert_long_sat_rtn(ushort);
857 long __ovld __cnfn convert_long(ushort);
858 long __ovld __cnfn convert_long_sat(ushort);
859 long __ovld __cnfn convert_long_rte(int);
860 long __ovld __cnfn convert_long_sat_rte(int);
861 long __ovld __cnfn convert_long_rtz(int);
862 long __ovld __cnfn convert_long_sat_rtz(int);
863 long __ovld __cnfn convert_long_rtp(int);
864 long __ovld __cnfn convert_long_sat_rtp(int);
865 long __ovld __cnfn convert_long_rtn(int);
866 long __ovld __cnfn convert_long_sat_rtn(int);
867 long __ovld __cnfn convert_long(int);
868 long __ovld __cnfn convert_long_sat(int);
869 long __ovld __cnfn convert_long_rte(uint);
870 long __ovld __cnfn convert_long_sat_rte(uint);
871 long __ovld __cnfn convert_long_rtz(uint);
872 long __ovld __cnfn convert_long_sat_rtz(uint);
873 long __ovld __cnfn convert_long_rtp(uint);
874 long __ovld __cnfn convert_long_sat_rtp(uint);
875 long __ovld __cnfn convert_long_rtn(uint);
876 long __ovld __cnfn convert_long_sat_rtn(uint);
877 long __ovld __cnfn convert_long(uint);
878 long __ovld __cnfn convert_long_sat(uint);
879 long __ovld __cnfn convert_long_rte(long);
880 long __ovld __cnfn convert_long_sat_rte(long);
881 long __ovld __cnfn convert_long_rtz(long);
882 long __ovld __cnfn convert_long_sat_rtz(long);
883 long __ovld __cnfn convert_long_rtp(long);
884 long __ovld __cnfn convert_long_sat_rtp(long);
885 long __ovld __cnfn convert_long_rtn(long);
886 long __ovld __cnfn convert_long_sat_rtn(long);
887 long __ovld __cnfn convert_long(long);
888 long __ovld __cnfn convert_long_sat(long);
889 long __ovld __cnfn convert_long_rte(ulong);
890 long __ovld __cnfn convert_long_sat_rte(ulong);
891 long __ovld __cnfn convert_long_rtz(ulong);
892 long __ovld __cnfn convert_long_sat_rtz(ulong);
893 long __ovld __cnfn convert_long_rtp(ulong);
894 long __ovld __cnfn convert_long_sat_rtp(ulong);
895 long __ovld __cnfn convert_long_rtn(ulong);
896 long __ovld __cnfn convert_long_sat_rtn(ulong);
897 long __ovld __cnfn convert_long(ulong);
898 long __ovld __cnfn convert_long_sat(ulong);
899 long __ovld __cnfn convert_long_rte(float);
900 long __ovld __cnfn convert_long_sat_rte(float);
901 long __ovld __cnfn convert_long_rtz(float);
902 long __ovld __cnfn convert_long_sat_rtz(float);
903 long __ovld __cnfn convert_long_rtp(float);
904 long __ovld __cnfn convert_long_sat_rtp(float);
905 long __ovld __cnfn convert_long_rtn(float);
906 long __ovld __cnfn convert_long_sat_rtn(float);
907 long __ovld __cnfn convert_long(float);
908 long __ovld __cnfn convert_long_sat(float);
909 ulong __ovld __cnfn convert_ulong_rte(char);
910 ulong __ovld __cnfn convert_ulong_sat_rte(char);
911 ulong __ovld __cnfn convert_ulong_rtz(char);
912 ulong __ovld __cnfn convert_ulong_sat_rtz(char);
913 ulong __ovld __cnfn convert_ulong_rtp(char);
914 ulong __ovld __cnfn convert_ulong_sat_rtp(char);
915 ulong __ovld __cnfn convert_ulong_rtn(char);
916 ulong __ovld __cnfn convert_ulong_sat_rtn(char);
917 ulong __ovld __cnfn convert_ulong(char);
918 ulong __ovld __cnfn convert_ulong_sat(char);
919 ulong __ovld __cnfn convert_ulong_rte(uchar);
920 ulong __ovld __cnfn convert_ulong_sat_rte(uchar);
921 ulong __ovld __cnfn convert_ulong_rtz(uchar);
922 ulong __ovld __cnfn convert_ulong_sat_rtz(uchar);
923 ulong __ovld __cnfn convert_ulong_rtp(uchar);
924 ulong __ovld __cnfn convert_ulong_sat_rtp(uchar);
925 ulong __ovld __cnfn convert_ulong_rtn(uchar);
926 ulong __ovld __cnfn convert_ulong_sat_rtn(uchar);
927 ulong __ovld __cnfn convert_ulong(uchar);
928 ulong __ovld __cnfn convert_ulong_sat(uchar);
929 ulong __ovld __cnfn convert_ulong_rte(short);
930 ulong __ovld __cnfn convert_ulong_sat_rte(short);
931 ulong __ovld __cnfn convert_ulong_rtz(short);
932 ulong __ovld __cnfn convert_ulong_sat_rtz(short);
933 ulong __ovld __cnfn convert_ulong_rtp(short);
934 ulong __ovld __cnfn convert_ulong_sat_rtp(short);
935 ulong __ovld __cnfn convert_ulong_rtn(short);
936 ulong __ovld __cnfn convert_ulong_sat_rtn(short);
937 ulong __ovld __cnfn convert_ulong(short);
938 ulong __ovld __cnfn convert_ulong_sat(short);
939 ulong __ovld __cnfn convert_ulong_rte(ushort);
940 ulong __ovld __cnfn convert_ulong_sat_rte(ushort);
941 ulong __ovld __cnfn convert_ulong_rtz(ushort);
942 ulong __ovld __cnfn convert_ulong_sat_rtz(ushort);
943 ulong __ovld __cnfn convert_ulong_rtp(ushort);
944 ulong __ovld __cnfn convert_ulong_sat_rtp(ushort);
945 ulong __ovld __cnfn convert_ulong_rtn(ushort);
946 ulong __ovld __cnfn convert_ulong_sat_rtn(ushort);
947 ulong __ovld __cnfn convert_ulong(ushort);
948 ulong __ovld __cnfn convert_ulong_sat(ushort);
949 ulong __ovld __cnfn convert_ulong_rte(int);
950 ulong __ovld __cnfn convert_ulong_sat_rte(int);
951 ulong __ovld __cnfn convert_ulong_rtz(int);
952 ulong __ovld __cnfn convert_ulong_sat_rtz(int);
953 ulong __ovld __cnfn convert_ulong_rtp(int);
954 ulong __ovld __cnfn convert_ulong_sat_rtp(int);
955 ulong __ovld __cnfn convert_ulong_rtn(int);
956 ulong __ovld __cnfn convert_ulong_sat_rtn(int);
957 ulong __ovld __cnfn convert_ulong(int);
958 ulong __ovld __cnfn convert_ulong_sat(int);
959 ulong __ovld __cnfn convert_ulong_rte(uint);
960 ulong __ovld __cnfn convert_ulong_sat_rte(uint);
961 ulong __ovld __cnfn convert_ulong_rtz(uint);
962 ulong __ovld __cnfn convert_ulong_sat_rtz(uint);
963 ulong __ovld __cnfn convert_ulong_rtp(uint);
964 ulong __ovld __cnfn convert_ulong_sat_rtp(uint);
965 ulong __ovld __cnfn convert_ulong_rtn(uint);
966 ulong __ovld __cnfn convert_ulong_sat_rtn(uint);
967 ulong __ovld __cnfn convert_ulong(uint);
968 ulong __ovld __cnfn convert_ulong_sat(uint);
969 ulong __ovld __cnfn convert_ulong_rte(long);
970 ulong __ovld __cnfn convert_ulong_sat_rte(long);
971 ulong __ovld __cnfn convert_ulong_rtz(long);
972 ulong __ovld __cnfn convert_ulong_sat_rtz(long);
973 ulong __ovld __cnfn convert_ulong_rtp(long);
974 ulong __ovld __cnfn convert_ulong_sat_rtp(long);
975 ulong __ovld __cnfn convert_ulong_rtn(long);
976 ulong __ovld __cnfn convert_ulong_sat_rtn(long);
977 ulong __ovld __cnfn convert_ulong(long);
978 ulong __ovld __cnfn convert_ulong_sat(long);
979 ulong __ovld __cnfn convert_ulong_rte(ulong);
980 ulong __ovld __cnfn convert_ulong_sat_rte(ulong);
981 ulong __ovld __cnfn convert_ulong_rtz(ulong);
982 ulong __ovld __cnfn convert_ulong_sat_rtz(ulong);
983 ulong __ovld __cnfn convert_ulong_rtp(ulong);
984 ulong __ovld __cnfn convert_ulong_sat_rtp(ulong);
985 ulong __ovld __cnfn convert_ulong_rtn(ulong);
986 ulong __ovld __cnfn convert_ulong_sat_rtn(ulong);
987 ulong __ovld __cnfn convert_ulong(ulong);
988 ulong __ovld __cnfn convert_ulong_sat(ulong);
989 ulong __ovld __cnfn convert_ulong_rte(float);
990 ulong __ovld __cnfn convert_ulong_sat_rte(float);
991 ulong __ovld __cnfn convert_ulong_rtz(float);
992 ulong __ovld __cnfn convert_ulong_sat_rtz(float);
993 ulong __ovld __cnfn convert_ulong_rtp(float);
994 ulong __ovld __cnfn convert_ulong_sat_rtp(float);
995 ulong __ovld __cnfn convert_ulong_rtn(float);
996 ulong __ovld __cnfn convert_ulong_sat_rtn(float);
997 ulong __ovld __cnfn convert_ulong(float);
998 ulong __ovld __cnfn convert_ulong_sat(float);
999 float __ovld __cnfn convert_float_rte(char);
1000 float __ovld __cnfn convert_float_rtz(char);
1001 float __ovld __cnfn convert_float_rtp(char);
1002 float __ovld __cnfn convert_float_rtn(char);
1003 float __ovld __cnfn convert_float(char);
1004 float __ovld __cnfn convert_float_rte(uchar);
1005 float __ovld __cnfn convert_float_rtz(uchar);
1006 float __ovld __cnfn convert_float_rtp(uchar);
1007 float __ovld __cnfn convert_float_rtn(uchar);
1008 float __ovld __cnfn convert_float(uchar);
1009 float __ovld __cnfn convert_float_rte(short);
1010 float __ovld __cnfn convert_float_rtz(short);
1011 float __ovld __cnfn convert_float_rtp(short);
1012 float __ovld __cnfn convert_float_rtn(short);
1013 float __ovld __cnfn convert_float(short);
1014 float __ovld __cnfn convert_float_rte(ushort);
1015 float __ovld __cnfn convert_float_rtz(ushort);
1016 float __ovld __cnfn convert_float_rtp(ushort);
1017 float __ovld __cnfn convert_float_rtn(ushort);
1018 float __ovld __cnfn convert_float(ushort);
1019 float __ovld __cnfn convert_float_rte(int);
1020 float __ovld __cnfn convert_float_rtz(int);
1021 float __ovld __cnfn convert_float_rtp(int);
1022 float __ovld __cnfn convert_float_rtn(int);
1023 float __ovld __cnfn convert_float(int);
1024 float __ovld __cnfn convert_float_rte(uint);
1025 float __ovld __cnfn convert_float_rtz(uint);
1026 float __ovld __cnfn convert_float_rtp(uint);
1027 float __ovld __cnfn convert_float_rtn(uint);
1028 float __ovld __cnfn convert_float(uint);
1029 float __ovld __cnfn convert_float_rte(long);
1030 float __ovld __cnfn convert_float_rtz(long);
1031 float __ovld __cnfn convert_float_rtp(long);
1032 float __ovld __cnfn convert_float_rtn(long);
1033 float __ovld __cnfn convert_float(long);
1034 float __ovld __cnfn convert_float_rte(ulong);
1035 float __ovld __cnfn convert_float_rtz(ulong);
1036 float __ovld __cnfn convert_float_rtp(ulong);
1037 float __ovld __cnfn convert_float_rtn(ulong);
1038 float __ovld __cnfn convert_float(ulong);
1039 float __ovld __cnfn convert_float_rte(float);
1040 float __ovld __cnfn convert_float_rtz(float);
1041 float __ovld __cnfn convert_float_rtp(float);
1042 float __ovld __cnfn convert_float_rtn(float);
1043 float __ovld __cnfn convert_float(float);
1044 char2 __ovld __cnfn convert_char2_rte(char2);
1045 char2 __ovld __cnfn convert_char2_sat_rte(char2);
1046 char2 __ovld __cnfn convert_char2_rtz(char2);
1047 char2 __ovld __cnfn convert_char2_sat_rtz(char2);
1048 char2 __ovld __cnfn convert_char2_rtp(char2);
1049 char2 __ovld __cnfn convert_char2_sat_rtp(char2);
1050 char2 __ovld __cnfn convert_char2_rtn(char2);
1051 char2 __ovld __cnfn convert_char2_sat_rtn(char2);
1052 char2 __ovld __cnfn convert_char2(char2);
1053 char2 __ovld __cnfn convert_char2_sat(char2);
1054 char2 __ovld __cnfn convert_char2_rte(uchar2);
1055 char2 __ovld __cnfn convert_char2_sat_rte(uchar2);
1056 char2 __ovld __cnfn convert_char2_rtz(uchar2);
1057 char2 __ovld __cnfn convert_char2_sat_rtz(uchar2);
1058 char2 __ovld __cnfn convert_char2_rtp(uchar2);
1059 char2 __ovld __cnfn convert_char2_sat_rtp(uchar2);
1060 char2 __ovld __cnfn convert_char2_rtn(uchar2);
1061 char2 __ovld __cnfn convert_char2_sat_rtn(uchar2);
1062 char2 __ovld __cnfn convert_char2(uchar2);
1063 char2 __ovld __cnfn convert_char2_sat(uchar2);
1064 char2 __ovld __cnfn convert_char2_rte(short2);
1065 char2 __ovld __cnfn convert_char2_sat_rte(short2);
1066 char2 __ovld __cnfn convert_char2_rtz(short2);
1067 char2 __ovld __cnfn convert_char2_sat_rtz(short2);
1068 char2 __ovld __cnfn convert_char2_rtp(short2);
1069 char2 __ovld __cnfn convert_char2_sat_rtp(short2);
1070 char2 __ovld __cnfn convert_char2_rtn(short2);
1071 char2 __ovld __cnfn convert_char2_sat_rtn(short2);
1072 char2 __ovld __cnfn convert_char2(short2);
1073 char2 __ovld __cnfn convert_char2_sat(short2);
1074 char2 __ovld __cnfn convert_char2_rte(ushort2);
1075 char2 __ovld __cnfn convert_char2_sat_rte(ushort2);
1076 char2 __ovld __cnfn convert_char2_rtz(ushort2);
1077 char2 __ovld __cnfn convert_char2_sat_rtz(ushort2);
1078 char2 __ovld __cnfn convert_char2_rtp(ushort2);
1079 char2 __ovld __cnfn convert_char2_sat_rtp(ushort2);
1080 char2 __ovld __cnfn convert_char2_rtn(ushort2);
1081 char2 __ovld __cnfn convert_char2_sat_rtn(ushort2);
1082 char2 __ovld __cnfn convert_char2(ushort2);
1083 char2 __ovld __cnfn convert_char2_sat(ushort2);
1084 char2 __ovld __cnfn convert_char2_rte(int2);
1085 char2 __ovld __cnfn convert_char2_sat_rte(int2);
1086 char2 __ovld __cnfn convert_char2_rtz(int2);
1087 char2 __ovld __cnfn convert_char2_sat_rtz(int2);
1088 char2 __ovld __cnfn convert_char2_rtp(int2);
1089 char2 __ovld __cnfn convert_char2_sat_rtp(int2);
1090 char2 __ovld __cnfn convert_char2_rtn(int2);
1091 char2 __ovld __cnfn convert_char2_sat_rtn(int2);
1092 char2 __ovld __cnfn convert_char2(int2);
1093 char2 __ovld __cnfn convert_char2_sat(int2);
1094 char2 __ovld __cnfn convert_char2_rte(uint2);
1095 char2 __ovld __cnfn convert_char2_sat_rte(uint2);
1096 char2 __ovld __cnfn convert_char2_rtz(uint2);
1097 char2 __ovld __cnfn convert_char2_sat_rtz(uint2);
1098 char2 __ovld __cnfn convert_char2_rtp(uint2);
1099 char2 __ovld __cnfn convert_char2_sat_rtp(uint2);
1100 char2 __ovld __cnfn convert_char2_rtn(uint2);
1101 char2 __ovld __cnfn convert_char2_sat_rtn(uint2);
1102 char2 __ovld __cnfn convert_char2(uint2);
1103 char2 __ovld __cnfn convert_char2_sat(uint2);
1104 char2 __ovld __cnfn convert_char2_rte(long2);
1105 char2 __ovld __cnfn convert_char2_sat_rte(long2);
1106 char2 __ovld __cnfn convert_char2_rtz(long2);
1107 char2 __ovld __cnfn convert_char2_sat_rtz(long2);
1108 char2 __ovld __cnfn convert_char2_rtp(long2);
1109 char2 __ovld __cnfn convert_char2_sat_rtp(long2);
1110 char2 __ovld __cnfn convert_char2_rtn(long2);
1111 char2 __ovld __cnfn convert_char2_sat_rtn(long2);
1112 char2 __ovld __cnfn convert_char2(long2);
1113 char2 __ovld __cnfn convert_char2_sat(long2);
1114 char2 __ovld __cnfn convert_char2_rte(ulong2);
1115 char2 __ovld __cnfn convert_char2_sat_rte(ulong2);
1116 char2 __ovld __cnfn convert_char2_rtz(ulong2);
1117 char2 __ovld __cnfn convert_char2_sat_rtz(ulong2);
1118 char2 __ovld __cnfn convert_char2_rtp(ulong2);
1119 char2 __ovld __cnfn convert_char2_sat_rtp(ulong2);
1120 char2 __ovld __cnfn convert_char2_rtn(ulong2);
1121 char2 __ovld __cnfn convert_char2_sat_rtn(ulong2);
1122 char2 __ovld __cnfn convert_char2(ulong2);
1123 char2 __ovld __cnfn convert_char2_sat(ulong2);
1124 char2 __ovld __cnfn convert_char2_rte(float2);
1125 char2 __ovld __cnfn convert_char2_sat_rte(float2);
1126 char2 __ovld __cnfn convert_char2_rtz(float2);
1127 char2 __ovld __cnfn convert_char2_sat_rtz(float2);
1128 char2 __ovld __cnfn convert_char2_rtp(float2);
1129 char2 __ovld __cnfn convert_char2_sat_rtp(float2);
1130 char2 __ovld __cnfn convert_char2_rtn(float2);
1131 char2 __ovld __cnfn convert_char2_sat_rtn(float2);
1132 char2 __ovld __cnfn convert_char2(float2);
1133 char2 __ovld __cnfn convert_char2_sat(float2);
1134 uchar2 __ovld __cnfn convert_uchar2_rte(char2);
1135 uchar2 __ovld __cnfn convert_uchar2_sat_rte(char2);
1136 uchar2 __ovld __cnfn convert_uchar2_rtz(char2);
1137 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(char2);
1138 uchar2 __ovld __cnfn convert_uchar2_rtp(char2);
1139 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(char2);
1140 uchar2 __ovld __cnfn convert_uchar2_rtn(char2);
1141 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(char2);
1142 uchar2 __ovld __cnfn convert_uchar2(char2);
1143 uchar2 __ovld __cnfn convert_uchar2_sat(char2);
1144 uchar2 __ovld __cnfn convert_uchar2_rte(uchar2);
1145 uchar2 __ovld __cnfn convert_uchar2_sat_rte(uchar2);
1146 uchar2 __ovld __cnfn convert_uchar2_rtz(uchar2);
1147 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(uchar2);
1148 uchar2 __ovld __cnfn convert_uchar2_rtp(uchar2);
1149 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(uchar2);
1150 uchar2 __ovld __cnfn convert_uchar2_rtn(uchar2);
1151 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(uchar2);
1152 uchar2 __ovld __cnfn convert_uchar2(uchar2);
1153 uchar2 __ovld __cnfn convert_uchar2_sat(uchar2);
1154 uchar2 __ovld __cnfn convert_uchar2_rte(short2);
1155 uchar2 __ovld __cnfn convert_uchar2_sat_rte(short2);
1156 uchar2 __ovld __cnfn convert_uchar2_rtz(short2);
1157 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(short2);
1158 uchar2 __ovld __cnfn convert_uchar2_rtp(short2);
1159 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(short2);
1160 uchar2 __ovld __cnfn convert_uchar2_rtn(short2);
1161 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(short2);
1162 uchar2 __ovld __cnfn convert_uchar2(short2);
1163 uchar2 __ovld __cnfn convert_uchar2_sat(short2);
1164 uchar2 __ovld __cnfn convert_uchar2_rte(ushort2);
1165 uchar2 __ovld __cnfn convert_uchar2_sat_rte(ushort2);
1166 uchar2 __ovld __cnfn convert_uchar2_rtz(ushort2);
1167 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(ushort2);
1168 uchar2 __ovld __cnfn convert_uchar2_rtp(ushort2);
1169 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(ushort2);
1170 uchar2 __ovld __cnfn convert_uchar2_rtn(ushort2);
1171 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(ushort2);
1172 uchar2 __ovld __cnfn convert_uchar2(ushort2);
1173 uchar2 __ovld __cnfn convert_uchar2_sat(ushort2);
1174 uchar2 __ovld __cnfn convert_uchar2_rte(int2);
1175 uchar2 __ovld __cnfn convert_uchar2_sat_rte(int2);
1176 uchar2 __ovld __cnfn convert_uchar2_rtz(int2);
1177 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(int2);
1178 uchar2 __ovld __cnfn convert_uchar2_rtp(int2);
1179 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(int2);
1180 uchar2 __ovld __cnfn convert_uchar2_rtn(int2);
1181 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(int2);
1182 uchar2 __ovld __cnfn convert_uchar2(int2);
1183 uchar2 __ovld __cnfn convert_uchar2_sat(int2);
1184 uchar2 __ovld __cnfn convert_uchar2_rte(uint2);
1185 uchar2 __ovld __cnfn convert_uchar2_sat_rte(uint2);
1186 uchar2 __ovld __cnfn convert_uchar2_rtz(uint2);
1187 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(uint2);
1188 uchar2 __ovld __cnfn convert_uchar2_rtp(uint2);
1189 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(uint2);
1190 uchar2 __ovld __cnfn convert_uchar2_rtn(uint2);
1191 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(uint2);
1192 uchar2 __ovld __cnfn convert_uchar2(uint2);
1193 uchar2 __ovld __cnfn convert_uchar2_sat(uint2);
1194 uchar2 __ovld __cnfn convert_uchar2_rte(long2);
1195 uchar2 __ovld __cnfn convert_uchar2_sat_rte(long2);
1196 uchar2 __ovld __cnfn convert_uchar2_rtz(long2);
1197 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(long2);
1198 uchar2 __ovld __cnfn convert_uchar2_rtp(long2);
1199 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(long2);
1200 uchar2 __ovld __cnfn convert_uchar2_rtn(long2);
1201 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(long2);
1202 uchar2 __ovld __cnfn convert_uchar2(long2);
1203 uchar2 __ovld __cnfn convert_uchar2_sat(long2);
1204 uchar2 __ovld __cnfn convert_uchar2_rte(ulong2);
1205 uchar2 __ovld __cnfn convert_uchar2_sat_rte(ulong2);
1206 uchar2 __ovld __cnfn convert_uchar2_rtz(ulong2);
1207 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(ulong2);
1208 uchar2 __ovld __cnfn convert_uchar2_rtp(ulong2);
1209 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(ulong2);
1210 uchar2 __ovld __cnfn convert_uchar2_rtn(ulong2);
1211 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(ulong2);
1212 uchar2 __ovld __cnfn convert_uchar2(ulong2);
1213 uchar2 __ovld __cnfn convert_uchar2_sat(ulong2);
1214 uchar2 __ovld __cnfn convert_uchar2_rte(float2);
1215 uchar2 __ovld __cnfn convert_uchar2_sat_rte(float2);
1216 uchar2 __ovld __cnfn convert_uchar2_rtz(float2);
1217 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(float2);
1218 uchar2 __ovld __cnfn convert_uchar2_rtp(float2);
1219 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(float2);
1220 uchar2 __ovld __cnfn convert_uchar2_rtn(float2);
1221 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(float2);
1222 uchar2 __ovld __cnfn convert_uchar2(float2);
1223 uchar2 __ovld __cnfn convert_uchar2_sat(float2);
1224 short2 __ovld __cnfn convert_short2_rte(char2);
1225 short2 __ovld __cnfn convert_short2_sat_rte(char2);
1226 short2 __ovld __cnfn convert_short2_rtz(char2);
1227 short2 __ovld __cnfn convert_short2_sat_rtz(char2);
1228 short2 __ovld __cnfn convert_short2_rtp(char2);
1229 short2 __ovld __cnfn convert_short2_sat_rtp(char2);
1230 short2 __ovld __cnfn convert_short2_rtn(char2);
1231 short2 __ovld __cnfn convert_short2_sat_rtn(char2);
1232 short2 __ovld __cnfn convert_short2(char2);
1233 short2 __ovld __cnfn convert_short2_sat(char2);
1234 short2 __ovld __cnfn convert_short2_rte(uchar2);
1235 short2 __ovld __cnfn convert_short2_sat_rte(uchar2);
1236 short2 __ovld __cnfn convert_short2_rtz(uchar2);
1237 short2 __ovld __cnfn convert_short2_sat_rtz(uchar2);
1238 short2 __ovld __cnfn convert_short2_rtp(uchar2);
1239 short2 __ovld __cnfn convert_short2_sat_rtp(uchar2);
1240 short2 __ovld __cnfn convert_short2_rtn(uchar2);
1241 short2 __ovld __cnfn convert_short2_sat_rtn(uchar2);
1242 short2 __ovld __cnfn convert_short2(uchar2);
1243 short2 __ovld __cnfn convert_short2_sat(uchar2);
1244 short2 __ovld __cnfn convert_short2_rte(short2);
1245 short2 __ovld __cnfn convert_short2_sat_rte(short2);
1246 short2 __ovld __cnfn convert_short2_rtz(short2);
1247 short2 __ovld __cnfn convert_short2_sat_rtz(short2);
1248 short2 __ovld __cnfn convert_short2_rtp(short2);
1249 short2 __ovld __cnfn convert_short2_sat_rtp(short2);
1250 short2 __ovld __cnfn convert_short2_rtn(short2);
1251 short2 __ovld __cnfn convert_short2_sat_rtn(short2);
1252 short2 __ovld __cnfn convert_short2(short2);
1253 short2 __ovld __cnfn convert_short2_sat(short2);
1254 short2 __ovld __cnfn convert_short2_rte(ushort2);
1255 short2 __ovld __cnfn convert_short2_sat_rte(ushort2);
1256 short2 __ovld __cnfn convert_short2_rtz(ushort2);
1257 short2 __ovld __cnfn convert_short2_sat_rtz(ushort2);
1258 short2 __ovld __cnfn convert_short2_rtp(ushort2);
1259 short2 __ovld __cnfn convert_short2_sat_rtp(ushort2);
1260 short2 __ovld __cnfn convert_short2_rtn(ushort2);
1261 short2 __ovld __cnfn convert_short2_sat_rtn(ushort2);
1262 short2 __ovld __cnfn convert_short2(ushort2);
1263 short2 __ovld __cnfn convert_short2_sat(ushort2);
1264 short2 __ovld __cnfn convert_short2_rte(int2);
1265 short2 __ovld __cnfn convert_short2_sat_rte(int2);
1266 short2 __ovld __cnfn convert_short2_rtz(int2);
1267 short2 __ovld __cnfn convert_short2_sat_rtz(int2);
1268 short2 __ovld __cnfn convert_short2_rtp(int2);
1269 short2 __ovld __cnfn convert_short2_sat_rtp(int2);
1270 short2 __ovld __cnfn convert_short2_rtn(int2);
1271 short2 __ovld __cnfn convert_short2_sat_rtn(int2);
1272 short2 __ovld __cnfn convert_short2(int2);
1273 short2 __ovld __cnfn convert_short2_sat(int2);
1274 short2 __ovld __cnfn convert_short2_rte(uint2);
1275 short2 __ovld __cnfn convert_short2_sat_rte(uint2);
1276 short2 __ovld __cnfn convert_short2_rtz(uint2);
1277 short2 __ovld __cnfn convert_short2_sat_rtz(uint2);
1278 short2 __ovld __cnfn convert_short2_rtp(uint2);
1279 short2 __ovld __cnfn convert_short2_sat_rtp(uint2);
1280 short2 __ovld __cnfn convert_short2_rtn(uint2);
1281 short2 __ovld __cnfn convert_short2_sat_rtn(uint2);
1282 short2 __ovld __cnfn convert_short2(uint2);
1283 short2 __ovld __cnfn convert_short2_sat(uint2);
1284 short2 __ovld __cnfn convert_short2_rte(long2);
1285 short2 __ovld __cnfn convert_short2_sat_rte(long2);
1286 short2 __ovld __cnfn convert_short2_rtz(long2);
1287 short2 __ovld __cnfn convert_short2_sat_rtz(long2);
1288 short2 __ovld __cnfn convert_short2_rtp(long2);
1289 short2 __ovld __cnfn convert_short2_sat_rtp(long2);
1290 short2 __ovld __cnfn convert_short2_rtn(long2);
1291 short2 __ovld __cnfn convert_short2_sat_rtn(long2);
1292 short2 __ovld __cnfn convert_short2(long2);
1293 short2 __ovld __cnfn convert_short2_sat(long2);
1294 short2 __ovld __cnfn convert_short2_rte(ulong2);
1295 short2 __ovld __cnfn convert_short2_sat_rte(ulong2);
1296 short2 __ovld __cnfn convert_short2_rtz(ulong2);
1297 short2 __ovld __cnfn convert_short2_sat_rtz(ulong2);
1298 short2 __ovld __cnfn convert_short2_rtp(ulong2);
1299 short2 __ovld __cnfn convert_short2_sat_rtp(ulong2);
1300 short2 __ovld __cnfn convert_short2_rtn(ulong2);
1301 short2 __ovld __cnfn convert_short2_sat_rtn(ulong2);
1302 short2 __ovld __cnfn convert_short2(ulong2);
1303 short2 __ovld __cnfn convert_short2_sat(ulong2);
1304 short2 __ovld __cnfn convert_short2_rte(float2);
1305 short2 __ovld __cnfn convert_short2_sat_rte(float2);
1306 short2 __ovld __cnfn convert_short2_rtz(float2);
1307 short2 __ovld __cnfn convert_short2_sat_rtz(float2);
1308 short2 __ovld __cnfn convert_short2_rtp(float2);
1309 short2 __ovld __cnfn convert_short2_sat_rtp(float2);
1310 short2 __ovld __cnfn convert_short2_rtn(float2);
1311 short2 __ovld __cnfn convert_short2_sat_rtn(float2);
1312 short2 __ovld __cnfn convert_short2(float2);
1313 short2 __ovld __cnfn convert_short2_sat(float2);
1314 ushort2 __ovld __cnfn convert_ushort2_rte(char2);
1315 ushort2 __ovld __cnfn convert_ushort2_sat_rte(char2);
1316 ushort2 __ovld __cnfn convert_ushort2_rtz(char2);
1317 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(char2);
1318 ushort2 __ovld __cnfn convert_ushort2_rtp(char2);
1319 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(char2);
1320 ushort2 __ovld __cnfn convert_ushort2_rtn(char2);
1321 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(char2);
1322 ushort2 __ovld __cnfn convert_ushort2(char2);
1323 ushort2 __ovld __cnfn convert_ushort2_sat(char2);
1324 ushort2 __ovld __cnfn convert_ushort2_rte(uchar2);
1325 ushort2 __ovld __cnfn convert_ushort2_sat_rte(uchar2);
1326 ushort2 __ovld __cnfn convert_ushort2_rtz(uchar2);
1327 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(uchar2);
1328 ushort2 __ovld __cnfn convert_ushort2_rtp(uchar2);
1329 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(uchar2);
1330 ushort2 __ovld __cnfn convert_ushort2_rtn(uchar2);
1331 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(uchar2);
1332 ushort2 __ovld __cnfn convert_ushort2(uchar2);
1333 ushort2 __ovld __cnfn convert_ushort2_sat(uchar2);
1334 ushort2 __ovld __cnfn convert_ushort2_rte(short2);
1335 ushort2 __ovld __cnfn convert_ushort2_sat_rte(short2);
1336 ushort2 __ovld __cnfn convert_ushort2_rtz(short2);
1337 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(short2);
1338 ushort2 __ovld __cnfn convert_ushort2_rtp(short2);
1339 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(short2);
1340 ushort2 __ovld __cnfn convert_ushort2_rtn(short2);
1341 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(short2);
1342 ushort2 __ovld __cnfn convert_ushort2(short2);
1343 ushort2 __ovld __cnfn convert_ushort2_sat(short2);
1344 ushort2 __ovld __cnfn convert_ushort2_rte(ushort2);
1345 ushort2 __ovld __cnfn convert_ushort2_sat_rte(ushort2);
1346 ushort2 __ovld __cnfn convert_ushort2_rtz(ushort2);
1347 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(ushort2);
1348 ushort2 __ovld __cnfn convert_ushort2_rtp(ushort2);
1349 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(ushort2);
1350 ushort2 __ovld __cnfn convert_ushort2_rtn(ushort2);
1351 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(ushort2);
1352 ushort2 __ovld __cnfn convert_ushort2(ushort2);
1353 ushort2 __ovld __cnfn convert_ushort2_sat(ushort2);
1354 ushort2 __ovld __cnfn convert_ushort2_rte(int2);
1355 ushort2 __ovld __cnfn convert_ushort2_sat_rte(int2);
1356 ushort2 __ovld __cnfn convert_ushort2_rtz(int2);
1357 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(int2);
1358 ushort2 __ovld __cnfn convert_ushort2_rtp(int2);
1359 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(int2);
1360 ushort2 __ovld __cnfn convert_ushort2_rtn(int2);
1361 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(int2);
1362 ushort2 __ovld __cnfn convert_ushort2(int2);
1363 ushort2 __ovld __cnfn convert_ushort2_sat(int2);
1364 ushort2 __ovld __cnfn convert_ushort2_rte(uint2);
1365 ushort2 __ovld __cnfn convert_ushort2_sat_rte(uint2);
1366 ushort2 __ovld __cnfn convert_ushort2_rtz(uint2);
1367 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(uint2);
1368 ushort2 __ovld __cnfn convert_ushort2_rtp(uint2);
1369 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(uint2);
1370 ushort2 __ovld __cnfn convert_ushort2_rtn(uint2);
1371 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(uint2);
1372 ushort2 __ovld __cnfn convert_ushort2(uint2);
1373 ushort2 __ovld __cnfn convert_ushort2_sat(uint2);
1374 ushort2 __ovld __cnfn convert_ushort2_rte(long2);
1375 ushort2 __ovld __cnfn convert_ushort2_sat_rte(long2);
1376 ushort2 __ovld __cnfn convert_ushort2_rtz(long2);
1377 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(long2);
1378 ushort2 __ovld __cnfn convert_ushort2_rtp(long2);
1379 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(long2);
1380 ushort2 __ovld __cnfn convert_ushort2_rtn(long2);
1381 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(long2);
1382 ushort2 __ovld __cnfn convert_ushort2(long2);
1383 ushort2 __ovld __cnfn convert_ushort2_sat(long2);
1384 ushort2 __ovld __cnfn convert_ushort2_rte(ulong2);
1385 ushort2 __ovld __cnfn convert_ushort2_sat_rte(ulong2);
1386 ushort2 __ovld __cnfn convert_ushort2_rtz(ulong2);
1387 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(ulong2);
1388 ushort2 __ovld __cnfn convert_ushort2_rtp(ulong2);
1389 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(ulong2);
1390 ushort2 __ovld __cnfn convert_ushort2_rtn(ulong2);
1391 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(ulong2);
1392 ushort2 __ovld __cnfn convert_ushort2(ulong2);
1393 ushort2 __ovld __cnfn convert_ushort2_sat(ulong2);
1394 ushort2 __ovld __cnfn convert_ushort2_rte(float2);
1395 ushort2 __ovld __cnfn convert_ushort2_sat_rte(float2);
1396 ushort2 __ovld __cnfn convert_ushort2_rtz(float2);
1397 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(float2);
1398 ushort2 __ovld __cnfn convert_ushort2_rtp(float2);
1399 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(float2);
1400 ushort2 __ovld __cnfn convert_ushort2_rtn(float2);
1401 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(float2);
1402 ushort2 __ovld __cnfn convert_ushort2(float2);
1403 ushort2 __ovld __cnfn convert_ushort2_sat(float2);
1404 int2 __ovld __cnfn convert_int2_rte(char2);
1405 int2 __ovld __cnfn convert_int2_sat_rte(char2);
1406 int2 __ovld __cnfn convert_int2_rtz(char2);
1407 int2 __ovld __cnfn convert_int2_sat_rtz(char2);
1408 int2 __ovld __cnfn convert_int2_rtp(char2);
1409 int2 __ovld __cnfn convert_int2_sat_rtp(char2);
1410 int2 __ovld __cnfn convert_int2_rtn(char2);
1411 int2 __ovld __cnfn convert_int2_sat_rtn(char2);
1412 int2 __ovld __cnfn convert_int2(char2);
1413 int2 __ovld __cnfn convert_int2_sat(char2);
1414 int2 __ovld __cnfn convert_int2_rte(uchar2);
1415 int2 __ovld __cnfn convert_int2_sat_rte(uchar2);
1416 int2 __ovld __cnfn convert_int2_rtz(uchar2);
1417 int2 __ovld __cnfn convert_int2_sat_rtz(uchar2);
1418 int2 __ovld __cnfn convert_int2_rtp(uchar2);
1419 int2 __ovld __cnfn convert_int2_sat_rtp(uchar2);
1420 int2 __ovld __cnfn convert_int2_rtn(uchar2);
1421 int2 __ovld __cnfn convert_int2_sat_rtn(uchar2);
1422 int2 __ovld __cnfn convert_int2(uchar2);
1423 int2 __ovld __cnfn convert_int2_sat(uchar2);
1424 int2 __ovld __cnfn convert_int2_rte(short2);
1425 int2 __ovld __cnfn convert_int2_sat_rte(short2);
1426 int2 __ovld __cnfn convert_int2_rtz(short2);
1427 int2 __ovld __cnfn convert_int2_sat_rtz(short2);
1428 int2 __ovld __cnfn convert_int2_rtp(short2);
1429 int2 __ovld __cnfn convert_int2_sat_rtp(short2);
1430 int2 __ovld __cnfn convert_int2_rtn(short2);
1431 int2 __ovld __cnfn convert_int2_sat_rtn(short2);
1432 int2 __ovld __cnfn convert_int2(short2);
1433 int2 __ovld __cnfn convert_int2_sat(short2);
1434 int2 __ovld __cnfn convert_int2_rte(ushort2);
1435 int2 __ovld __cnfn convert_int2_sat_rte(ushort2);
1436 int2 __ovld __cnfn convert_int2_rtz(ushort2);
1437 int2 __ovld __cnfn convert_int2_sat_rtz(ushort2);
1438 int2 __ovld __cnfn convert_int2_rtp(ushort2);
1439 int2 __ovld __cnfn convert_int2_sat_rtp(ushort2);
1440 int2 __ovld __cnfn convert_int2_rtn(ushort2);
1441 int2 __ovld __cnfn convert_int2_sat_rtn(ushort2);
1442 int2 __ovld __cnfn convert_int2(ushort2);
1443 int2 __ovld __cnfn convert_int2_sat(ushort2);
1444 int2 __ovld __cnfn convert_int2_rte(int2);
1445 int2 __ovld __cnfn convert_int2_sat_rte(int2);
1446 int2 __ovld __cnfn convert_int2_rtz(int2);
1447 int2 __ovld __cnfn convert_int2_sat_rtz(int2);
1448 int2 __ovld __cnfn convert_int2_rtp(int2);
1449 int2 __ovld __cnfn convert_int2_sat_rtp(int2);
1450 int2 __ovld __cnfn convert_int2_rtn(int2);
1451 int2 __ovld __cnfn convert_int2_sat_rtn(int2);
1452 int2 __ovld __cnfn convert_int2(int2);
1453 int2 __ovld __cnfn convert_int2_sat(int2);
1454 int2 __ovld __cnfn convert_int2_rte(uint2);
1455 int2 __ovld __cnfn convert_int2_sat_rte(uint2);
1456 int2 __ovld __cnfn convert_int2_rtz(uint2);
1457 int2 __ovld __cnfn convert_int2_sat_rtz(uint2);
1458 int2 __ovld __cnfn convert_int2_rtp(uint2);
1459 int2 __ovld __cnfn convert_int2_sat_rtp(uint2);
1460 int2 __ovld __cnfn convert_int2_rtn(uint2);
1461 int2 __ovld __cnfn convert_int2_sat_rtn(uint2);
1462 int2 __ovld __cnfn convert_int2(uint2);
1463 int2 __ovld __cnfn convert_int2_sat(uint2);
1464 int2 __ovld __cnfn convert_int2_rte(long2);
1465 int2 __ovld __cnfn convert_int2_sat_rte(long2);
1466 int2 __ovld __cnfn convert_int2_rtz(long2);
1467 int2 __ovld __cnfn convert_int2_sat_rtz(long2);
1468 int2 __ovld __cnfn convert_int2_rtp(long2);
1469 int2 __ovld __cnfn convert_int2_sat_rtp(long2);
1470 int2 __ovld __cnfn convert_int2_rtn(long2);
1471 int2 __ovld __cnfn convert_int2_sat_rtn(long2);
1472 int2 __ovld __cnfn convert_int2(long2);
1473 int2 __ovld __cnfn convert_int2_sat(long2);
1474 int2 __ovld __cnfn convert_int2_rte(ulong2);
1475 int2 __ovld __cnfn convert_int2_sat_rte(ulong2);
1476 int2 __ovld __cnfn convert_int2_rtz(ulong2);
1477 int2 __ovld __cnfn convert_int2_sat_rtz(ulong2);
1478 int2 __ovld __cnfn convert_int2_rtp(ulong2);
1479 int2 __ovld __cnfn convert_int2_sat_rtp(ulong2);
1480 int2 __ovld __cnfn convert_int2_rtn(ulong2);
1481 int2 __ovld __cnfn convert_int2_sat_rtn(ulong2);
1482 int2 __ovld __cnfn convert_int2(ulong2);
1483 int2 __ovld __cnfn convert_int2_sat(ulong2);
1484 int2 __ovld __cnfn convert_int2_rte(float2);
1485 int2 __ovld __cnfn convert_int2_sat_rte(float2);
1486 int2 __ovld __cnfn convert_int2_rtz(float2);
1487 int2 __ovld __cnfn convert_int2_sat_rtz(float2);
1488 int2 __ovld __cnfn convert_int2_rtp(float2);
1489 int2 __ovld __cnfn convert_int2_sat_rtp(float2);
1490 int2 __ovld __cnfn convert_int2_rtn(float2);
1491 int2 __ovld __cnfn convert_int2_sat_rtn(float2);
1492 int2 __ovld __cnfn convert_int2(float2);
1493 int2 __ovld __cnfn convert_int2_sat(float2);
1494 uint2 __ovld __cnfn convert_uint2_rte(char2);
1495 uint2 __ovld __cnfn convert_uint2_sat_rte(char2);
1496 uint2 __ovld __cnfn convert_uint2_rtz(char2);
1497 uint2 __ovld __cnfn convert_uint2_sat_rtz(char2);
1498 uint2 __ovld __cnfn convert_uint2_rtp(char2);
1499 uint2 __ovld __cnfn convert_uint2_sat_rtp(char2);
1500 uint2 __ovld __cnfn convert_uint2_rtn(char2);
1501 uint2 __ovld __cnfn convert_uint2_sat_rtn(char2);
1502 uint2 __ovld __cnfn convert_uint2(char2);
1503 uint2 __ovld __cnfn convert_uint2_sat(char2);
1504 uint2 __ovld __cnfn convert_uint2_rte(uchar2);
1505 uint2 __ovld __cnfn convert_uint2_sat_rte(uchar2);
1506 uint2 __ovld __cnfn convert_uint2_rtz(uchar2);
1507 uint2 __ovld __cnfn convert_uint2_sat_rtz(uchar2);
1508 uint2 __ovld __cnfn convert_uint2_rtp(uchar2);
1509 uint2 __ovld __cnfn convert_uint2_sat_rtp(uchar2);
1510 uint2 __ovld __cnfn convert_uint2_rtn(uchar2);
1511 uint2 __ovld __cnfn convert_uint2_sat_rtn(uchar2);
1512 uint2 __ovld __cnfn convert_uint2(uchar2);
1513 uint2 __ovld __cnfn convert_uint2_sat(uchar2);
1514 uint2 __ovld __cnfn convert_uint2_rte(short2);
1515 uint2 __ovld __cnfn convert_uint2_sat_rte(short2);
1516 uint2 __ovld __cnfn convert_uint2_rtz(short2);
1517 uint2 __ovld __cnfn convert_uint2_sat_rtz(short2);
1518 uint2 __ovld __cnfn convert_uint2_rtp(short2);
1519 uint2 __ovld __cnfn convert_uint2_sat_rtp(short2);
1520 uint2 __ovld __cnfn convert_uint2_rtn(short2);
1521 uint2 __ovld __cnfn convert_uint2_sat_rtn(short2);
1522 uint2 __ovld __cnfn convert_uint2(short2);
1523 uint2 __ovld __cnfn convert_uint2_sat(short2);
1524 uint2 __ovld __cnfn convert_uint2_rte(ushort2);
1525 uint2 __ovld __cnfn convert_uint2_sat_rte(ushort2);
1526 uint2 __ovld __cnfn convert_uint2_rtz(ushort2);
1527 uint2 __ovld __cnfn convert_uint2_sat_rtz(ushort2);
1528 uint2 __ovld __cnfn convert_uint2_rtp(ushort2);
1529 uint2 __ovld __cnfn convert_uint2_sat_rtp(ushort2);
1530 uint2 __ovld __cnfn convert_uint2_rtn(ushort2);
1531 uint2 __ovld __cnfn convert_uint2_sat_rtn(ushort2);
1532 uint2 __ovld __cnfn convert_uint2(ushort2);
1533 uint2 __ovld __cnfn convert_uint2_sat(ushort2);
1534 uint2 __ovld __cnfn convert_uint2_rte(int2);
1535 uint2 __ovld __cnfn convert_uint2_sat_rte(int2);
1536 uint2 __ovld __cnfn convert_uint2_rtz(int2);
1537 uint2 __ovld __cnfn convert_uint2_sat_rtz(int2);
1538 uint2 __ovld __cnfn convert_uint2_rtp(int2);
1539 uint2 __ovld __cnfn convert_uint2_sat_rtp(int2);
1540 uint2 __ovld __cnfn convert_uint2_rtn(int2);
1541 uint2 __ovld __cnfn convert_uint2_sat_rtn(int2);
1542 uint2 __ovld __cnfn convert_uint2(int2);
1543 uint2 __ovld __cnfn convert_uint2_sat(int2);
1544 uint2 __ovld __cnfn convert_uint2_rte(uint2);
1545 uint2 __ovld __cnfn convert_uint2_sat_rte(uint2);
1546 uint2 __ovld __cnfn convert_uint2_rtz(uint2);
1547 uint2 __ovld __cnfn convert_uint2_sat_rtz(uint2);
1548 uint2 __ovld __cnfn convert_uint2_rtp(uint2);
1549 uint2 __ovld __cnfn convert_uint2_sat_rtp(uint2);
1550 uint2 __ovld __cnfn convert_uint2_rtn(uint2);
1551 uint2 __ovld __cnfn convert_uint2_sat_rtn(uint2);
1552 uint2 __ovld __cnfn convert_uint2(uint2);
1553 uint2 __ovld __cnfn convert_uint2_sat(uint2);
1554 uint2 __ovld __cnfn convert_uint2_rte(long2);
1555 uint2 __ovld __cnfn convert_uint2_sat_rte(long2);
1556 uint2 __ovld __cnfn convert_uint2_rtz(long2);
1557 uint2 __ovld __cnfn convert_uint2_sat_rtz(long2);
1558 uint2 __ovld __cnfn convert_uint2_rtp(long2);
1559 uint2 __ovld __cnfn convert_uint2_sat_rtp(long2);
1560 uint2 __ovld __cnfn convert_uint2_rtn(long2);
1561 uint2 __ovld __cnfn convert_uint2_sat_rtn(long2);
1562 uint2 __ovld __cnfn convert_uint2(long2);
1563 uint2 __ovld __cnfn convert_uint2_sat(long2);
1564 uint2 __ovld __cnfn convert_uint2_rte(ulong2);
1565 uint2 __ovld __cnfn convert_uint2_sat_rte(ulong2);
1566 uint2 __ovld __cnfn convert_uint2_rtz(ulong2);
1567 uint2 __ovld __cnfn convert_uint2_sat_rtz(ulong2);
1568 uint2 __ovld __cnfn convert_uint2_rtp(ulong2);
1569 uint2 __ovld __cnfn convert_uint2_sat_rtp(ulong2);
1570 uint2 __ovld __cnfn convert_uint2_rtn(ulong2);
1571 uint2 __ovld __cnfn convert_uint2_sat_rtn(ulong2);
1572 uint2 __ovld __cnfn convert_uint2(ulong2);
1573 uint2 __ovld __cnfn convert_uint2_sat(ulong2);
1574 uint2 __ovld __cnfn convert_uint2_rte(float2);
1575 uint2 __ovld __cnfn convert_uint2_sat_rte(float2);
1576 uint2 __ovld __cnfn convert_uint2_rtz(float2);
1577 uint2 __ovld __cnfn convert_uint2_sat_rtz(float2);
1578 uint2 __ovld __cnfn convert_uint2_rtp(float2);
1579 uint2 __ovld __cnfn convert_uint2_sat_rtp(float2);
1580 uint2 __ovld __cnfn convert_uint2_rtn(float2);
1581 uint2 __ovld __cnfn convert_uint2_sat_rtn(float2);
1582 uint2 __ovld __cnfn convert_uint2(float2);
1583 uint2 __ovld __cnfn convert_uint2_sat(float2);
1584 long2 __ovld __cnfn convert_long2_rte(char2);
1585 long2 __ovld __cnfn convert_long2_sat_rte(char2);
1586 long2 __ovld __cnfn convert_long2_rtz(char2);
1587 long2 __ovld __cnfn convert_long2_sat_rtz(char2);
1588 long2 __ovld __cnfn convert_long2_rtp(char2);
1589 long2 __ovld __cnfn convert_long2_sat_rtp(char2);
1590 long2 __ovld __cnfn convert_long2_rtn(char2);
1591 long2 __ovld __cnfn convert_long2_sat_rtn(char2);
1592 long2 __ovld __cnfn convert_long2(char2);
1593 long2 __ovld __cnfn convert_long2_sat(char2);
1594 long2 __ovld __cnfn convert_long2_rte(uchar2);
1595 long2 __ovld __cnfn convert_long2_sat_rte(uchar2);
1596 long2 __ovld __cnfn convert_long2_rtz(uchar2);
1597 long2 __ovld __cnfn convert_long2_sat_rtz(uchar2);
1598 long2 __ovld __cnfn convert_long2_rtp(uchar2);
1599 long2 __ovld __cnfn convert_long2_sat_rtp(uchar2);
1600 long2 __ovld __cnfn convert_long2_rtn(uchar2);
1601 long2 __ovld __cnfn convert_long2_sat_rtn(uchar2);
1602 long2 __ovld __cnfn convert_long2(uchar2);
1603 long2 __ovld __cnfn convert_long2_sat(uchar2);
1604 long2 __ovld __cnfn convert_long2_rte(short2);
1605 long2 __ovld __cnfn convert_long2_sat_rte(short2);
1606 long2 __ovld __cnfn convert_long2_rtz(short2);
1607 long2 __ovld __cnfn convert_long2_sat_rtz(short2);
1608 long2 __ovld __cnfn convert_long2_rtp(short2);
1609 long2 __ovld __cnfn convert_long2_sat_rtp(short2);
1610 long2 __ovld __cnfn convert_long2_rtn(short2);
1611 long2 __ovld __cnfn convert_long2_sat_rtn(short2);
1612 long2 __ovld __cnfn convert_long2(short2);
1613 long2 __ovld __cnfn convert_long2_sat(short2);
1614 long2 __ovld __cnfn convert_long2_rte(ushort2);
1615 long2 __ovld __cnfn convert_long2_sat_rte(ushort2);
1616 long2 __ovld __cnfn convert_long2_rtz(ushort2);
1617 long2 __ovld __cnfn convert_long2_sat_rtz(ushort2);
1618 long2 __ovld __cnfn convert_long2_rtp(ushort2);
1619 long2 __ovld __cnfn convert_long2_sat_rtp(ushort2);
1620 long2 __ovld __cnfn convert_long2_rtn(ushort2);
1621 long2 __ovld __cnfn convert_long2_sat_rtn(ushort2);
1622 long2 __ovld __cnfn convert_long2(ushort2);
1623 long2 __ovld __cnfn convert_long2_sat(ushort2);
1624 long2 __ovld __cnfn convert_long2_rte(int2);
1625 long2 __ovld __cnfn convert_long2_sat_rte(int2);
1626 long2 __ovld __cnfn convert_long2_rtz(int2);
1627 long2 __ovld __cnfn convert_long2_sat_rtz(int2);
1628 long2 __ovld __cnfn convert_long2_rtp(int2);
1629 long2 __ovld __cnfn convert_long2_sat_rtp(int2);
1630 long2 __ovld __cnfn convert_long2_rtn(int2);
1631 long2 __ovld __cnfn convert_long2_sat_rtn(int2);
1632 long2 __ovld __cnfn convert_long2(int2);
1633 long2 __ovld __cnfn convert_long2_sat(int2);
1634 long2 __ovld __cnfn convert_long2_rte(uint2);
1635 long2 __ovld __cnfn convert_long2_sat_rte(uint2);
1636 long2 __ovld __cnfn convert_long2_rtz(uint2);
1637 long2 __ovld __cnfn convert_long2_sat_rtz(uint2);
1638 long2 __ovld __cnfn convert_long2_rtp(uint2);
1639 long2 __ovld __cnfn convert_long2_sat_rtp(uint2);
1640 long2 __ovld __cnfn convert_long2_rtn(uint2);
1641 long2 __ovld __cnfn convert_long2_sat_rtn(uint2);
1642 long2 __ovld __cnfn convert_long2(uint2);
1643 long2 __ovld __cnfn convert_long2_sat(uint2);
1644 long2 __ovld __cnfn convert_long2_rte(long2);
1645 long2 __ovld __cnfn convert_long2_sat_rte(long2);
1646 long2 __ovld __cnfn convert_long2_rtz(long2);
1647 long2 __ovld __cnfn convert_long2_sat_rtz(long2);
1648 long2 __ovld __cnfn convert_long2_rtp(long2);
1649 long2 __ovld __cnfn convert_long2_sat_rtp(long2);
1650 long2 __ovld __cnfn convert_long2_rtn(long2);
1651 long2 __ovld __cnfn convert_long2_sat_rtn(long2);
1652 long2 __ovld __cnfn convert_long2(long2);
1653 long2 __ovld __cnfn convert_long2_sat(long2);
1654 long2 __ovld __cnfn convert_long2_rte(ulong2);
1655 long2 __ovld __cnfn convert_long2_sat_rte(ulong2);
1656 long2 __ovld __cnfn convert_long2_rtz(ulong2);
1657 long2 __ovld __cnfn convert_long2_sat_rtz(ulong2);
1658 long2 __ovld __cnfn convert_long2_rtp(ulong2);
1659 long2 __ovld __cnfn convert_long2_sat_rtp(ulong2);
1660 long2 __ovld __cnfn convert_long2_rtn(ulong2);
1661 long2 __ovld __cnfn convert_long2_sat_rtn(ulong2);
1662 long2 __ovld __cnfn convert_long2(ulong2);
1663 long2 __ovld __cnfn convert_long2_sat(ulong2);
1664 long2 __ovld __cnfn convert_long2_rte(float2);
1665 long2 __ovld __cnfn convert_long2_sat_rte(float2);
1666 long2 __ovld __cnfn convert_long2_rtz(float2);
1667 long2 __ovld __cnfn convert_long2_sat_rtz(float2);
1668 long2 __ovld __cnfn convert_long2_rtp(float2);
1669 long2 __ovld __cnfn convert_long2_sat_rtp(float2);
1670 long2 __ovld __cnfn convert_long2_rtn(float2);
1671 long2 __ovld __cnfn convert_long2_sat_rtn(float2);
1672 long2 __ovld __cnfn convert_long2(float2);
1673 long2 __ovld __cnfn convert_long2_sat(float2);
1674 ulong2 __ovld __cnfn convert_ulong2_rte(char2);
1675 ulong2 __ovld __cnfn convert_ulong2_sat_rte(char2);
1676 ulong2 __ovld __cnfn convert_ulong2_rtz(char2);
1677 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(char2);
1678 ulong2 __ovld __cnfn convert_ulong2_rtp(char2);
1679 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(char2);
1680 ulong2 __ovld __cnfn convert_ulong2_rtn(char2);
1681 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(char2);
1682 ulong2 __ovld __cnfn convert_ulong2(char2);
1683 ulong2 __ovld __cnfn convert_ulong2_sat(char2);
1684 ulong2 __ovld __cnfn convert_ulong2_rte(uchar2);
1685 ulong2 __ovld __cnfn convert_ulong2_sat_rte(uchar2);
1686 ulong2 __ovld __cnfn convert_ulong2_rtz(uchar2);
1687 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(uchar2);
1688 ulong2 __ovld __cnfn convert_ulong2_rtp(uchar2);
1689 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(uchar2);
1690 ulong2 __ovld __cnfn convert_ulong2_rtn(uchar2);
1691 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(uchar2);
1692 ulong2 __ovld __cnfn convert_ulong2(uchar2);
1693 ulong2 __ovld __cnfn convert_ulong2_sat(uchar2);
1694 ulong2 __ovld __cnfn convert_ulong2_rte(short2);
1695 ulong2 __ovld __cnfn convert_ulong2_sat_rte(short2);
1696 ulong2 __ovld __cnfn convert_ulong2_rtz(short2);
1697 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(short2);
1698 ulong2 __ovld __cnfn convert_ulong2_rtp(short2);
1699 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(short2);
1700 ulong2 __ovld __cnfn convert_ulong2_rtn(short2);
1701 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(short2);
1702 ulong2 __ovld __cnfn convert_ulong2(short2);
1703 ulong2 __ovld __cnfn convert_ulong2_sat(short2);
1704 ulong2 __ovld __cnfn convert_ulong2_rte(ushort2);
1705 ulong2 __ovld __cnfn convert_ulong2_sat_rte(ushort2);
1706 ulong2 __ovld __cnfn convert_ulong2_rtz(ushort2);
1707 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(ushort2);
1708 ulong2 __ovld __cnfn convert_ulong2_rtp(ushort2);
1709 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(ushort2);
1710 ulong2 __ovld __cnfn convert_ulong2_rtn(ushort2);
1711 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(ushort2);
1712 ulong2 __ovld __cnfn convert_ulong2(ushort2);
1713 ulong2 __ovld __cnfn convert_ulong2_sat(ushort2);
1714 ulong2 __ovld __cnfn convert_ulong2_rte(int2);
1715 ulong2 __ovld __cnfn convert_ulong2_sat_rte(int2);
1716 ulong2 __ovld __cnfn convert_ulong2_rtz(int2);
1717 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(int2);
1718 ulong2 __ovld __cnfn convert_ulong2_rtp(int2);
1719 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(int2);
1720 ulong2 __ovld __cnfn convert_ulong2_rtn(int2);
1721 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(int2);
1722 ulong2 __ovld __cnfn convert_ulong2(int2);
1723 ulong2 __ovld __cnfn convert_ulong2_sat(int2);
1724 ulong2 __ovld __cnfn convert_ulong2_rte(uint2);
1725 ulong2 __ovld __cnfn convert_ulong2_sat_rte(uint2);
1726 ulong2 __ovld __cnfn convert_ulong2_rtz(uint2);
1727 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(uint2);
1728 ulong2 __ovld __cnfn convert_ulong2_rtp(uint2);
1729 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(uint2);
1730 ulong2 __ovld __cnfn convert_ulong2_rtn(uint2);
1731 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(uint2);
1732 ulong2 __ovld __cnfn convert_ulong2(uint2);
1733 ulong2 __ovld __cnfn convert_ulong2_sat(uint2);
1734 ulong2 __ovld __cnfn convert_ulong2_rte(long2);
1735 ulong2 __ovld __cnfn convert_ulong2_sat_rte(long2);
1736 ulong2 __ovld __cnfn convert_ulong2_rtz(long2);
1737 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(long2);
1738 ulong2 __ovld __cnfn convert_ulong2_rtp(long2);
1739 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(long2);
1740 ulong2 __ovld __cnfn convert_ulong2_rtn(long2);
1741 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(long2);
1742 ulong2 __ovld __cnfn convert_ulong2(long2);
1743 ulong2 __ovld __cnfn convert_ulong2_sat(long2);
1744 ulong2 __ovld __cnfn convert_ulong2_rte(ulong2);
1745 ulong2 __ovld __cnfn convert_ulong2_sat_rte(ulong2);
1746 ulong2 __ovld __cnfn convert_ulong2_rtz(ulong2);
1747 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(ulong2);
1748 ulong2 __ovld __cnfn convert_ulong2_rtp(ulong2);
1749 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(ulong2);
1750 ulong2 __ovld __cnfn convert_ulong2_rtn(ulong2);
1751 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(ulong2);
1752 ulong2 __ovld __cnfn convert_ulong2(ulong2);
1753 ulong2 __ovld __cnfn convert_ulong2_sat(ulong2);
1754 ulong2 __ovld __cnfn convert_ulong2_rte(float2);
1755 ulong2 __ovld __cnfn convert_ulong2_sat_rte(float2);
1756 ulong2 __ovld __cnfn convert_ulong2_rtz(float2);
1757 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(float2);
1758 ulong2 __ovld __cnfn convert_ulong2_rtp(float2);
1759 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(float2);
1760 ulong2 __ovld __cnfn convert_ulong2_rtn(float2);
1761 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(float2);
1762 ulong2 __ovld __cnfn convert_ulong2(float2);
1763 ulong2 __ovld __cnfn convert_ulong2_sat(float2);
1764 float2 __ovld __cnfn convert_float2_rte(char2);
1765 float2 __ovld __cnfn convert_float2_rtz(char2);
1766 float2 __ovld __cnfn convert_float2_rtp(char2);
1767 float2 __ovld __cnfn convert_float2_rtn(char2);
1768 float2 __ovld __cnfn convert_float2(char2);
1769 float2 __ovld __cnfn convert_float2_rte(uchar2);
1770 float2 __ovld __cnfn convert_float2_rtz(uchar2);
1771 float2 __ovld __cnfn convert_float2_rtp(uchar2);
1772 float2 __ovld __cnfn convert_float2_rtn(uchar2);
1773 float2 __ovld __cnfn convert_float2(uchar2);
1774 float2 __ovld __cnfn convert_float2_rte(short2);
1775 float2 __ovld __cnfn convert_float2_rtz(short2);
1776 float2 __ovld __cnfn convert_float2_rtp(short2);
1777 float2 __ovld __cnfn convert_float2_rtn(short2);
1778 float2 __ovld __cnfn convert_float2(short2);
1779 float2 __ovld __cnfn convert_float2_rte(ushort2);
1780 float2 __ovld __cnfn convert_float2_rtz(ushort2);
1781 float2 __ovld __cnfn convert_float2_rtp(ushort2);
1782 float2 __ovld __cnfn convert_float2_rtn(ushort2);
1783 float2 __ovld __cnfn convert_float2(ushort2);
1784 float2 __ovld __cnfn convert_float2_rte(int2);
1785 float2 __ovld __cnfn convert_float2_rtz(int2);
1786 float2 __ovld __cnfn convert_float2_rtp(int2);
1787 float2 __ovld __cnfn convert_float2_rtn(int2);
1788 float2 __ovld __cnfn convert_float2(int2);
1789 float2 __ovld __cnfn convert_float2_rte(uint2);
1790 float2 __ovld __cnfn convert_float2_rtz(uint2);
1791 float2 __ovld __cnfn convert_float2_rtp(uint2);
1792 float2 __ovld __cnfn convert_float2_rtn(uint2);
1793 float2 __ovld __cnfn convert_float2(uint2);
1794 float2 __ovld __cnfn convert_float2_rte(long2);
1795 float2 __ovld __cnfn convert_float2_rtz(long2);
1796 float2 __ovld __cnfn convert_float2_rtp(long2);
1797 float2 __ovld __cnfn convert_float2_rtn(long2);
1798 float2 __ovld __cnfn convert_float2(long2);
1799 float2 __ovld __cnfn convert_float2_rte(ulong2);
1800 float2 __ovld __cnfn convert_float2_rtz(ulong2);
1801 float2 __ovld __cnfn convert_float2_rtp(ulong2);
1802 float2 __ovld __cnfn convert_float2_rtn(ulong2);
1803 float2 __ovld __cnfn convert_float2(ulong2);
1804 float2 __ovld __cnfn convert_float2_rte(float2);
1805 float2 __ovld __cnfn convert_float2_rtz(float2);
1806 float2 __ovld __cnfn convert_float2_rtp(float2);
1807 float2 __ovld __cnfn convert_float2_rtn(float2);
1808 float2 __ovld __cnfn convert_float2(float2);
1809 char3 __ovld __cnfn convert_char3_rte(char3);
1810 char3 __ovld __cnfn convert_char3_sat_rte(char3);
1811 char3 __ovld __cnfn convert_char3_rtz(char3);
1812 char3 __ovld __cnfn convert_char3_sat_rtz(char3);
1813 char3 __ovld __cnfn convert_char3_rtp(char3);
1814 char3 __ovld __cnfn convert_char3_sat_rtp(char3);
1815 char3 __ovld __cnfn convert_char3_rtn(char3);
1816 char3 __ovld __cnfn convert_char3_sat_rtn(char3);
1817 char3 __ovld __cnfn convert_char3(char3);
1818 char3 __ovld __cnfn convert_char3_sat(char3);
1819 char3 __ovld __cnfn convert_char3_rte(uchar3);
1820 char3 __ovld __cnfn convert_char3_sat_rte(uchar3);
1821 char3 __ovld __cnfn convert_char3_rtz(uchar3);
1822 char3 __ovld __cnfn convert_char3_sat_rtz(uchar3);
1823 char3 __ovld __cnfn convert_char3_rtp(uchar3);
1824 char3 __ovld __cnfn convert_char3_sat_rtp(uchar3);
1825 char3 __ovld __cnfn convert_char3_rtn(uchar3);
1826 char3 __ovld __cnfn convert_char3_sat_rtn(uchar3);
1827 char3 __ovld __cnfn convert_char3(uchar3);
1828 char3 __ovld __cnfn convert_char3_sat(uchar3);
1829 char3 __ovld __cnfn convert_char3_rte(short3);
1830 char3 __ovld __cnfn convert_char3_sat_rte(short3);
1831 char3 __ovld __cnfn convert_char3_rtz(short3);
1832 char3 __ovld __cnfn convert_char3_sat_rtz(short3);
1833 char3 __ovld __cnfn convert_char3_rtp(short3);
1834 char3 __ovld __cnfn convert_char3_sat_rtp(short3);
1835 char3 __ovld __cnfn convert_char3_rtn(short3);
1836 char3 __ovld __cnfn convert_char3_sat_rtn(short3);
1837 char3 __ovld __cnfn convert_char3(short3);
1838 char3 __ovld __cnfn convert_char3_sat(short3);
1839 char3 __ovld __cnfn convert_char3_rte(ushort3);
1840 char3 __ovld __cnfn convert_char3_sat_rte(ushort3);
1841 char3 __ovld __cnfn convert_char3_rtz(ushort3);
1842 char3 __ovld __cnfn convert_char3_sat_rtz(ushort3);
1843 char3 __ovld __cnfn convert_char3_rtp(ushort3);
1844 char3 __ovld __cnfn convert_char3_sat_rtp(ushort3);
1845 char3 __ovld __cnfn convert_char3_rtn(ushort3);
1846 char3 __ovld __cnfn convert_char3_sat_rtn(ushort3);
1847 char3 __ovld __cnfn convert_char3(ushort3);
1848 char3 __ovld __cnfn convert_char3_sat(ushort3);
1849 char3 __ovld __cnfn convert_char3_rte(int3);
1850 char3 __ovld __cnfn convert_char3_sat_rte(int3);
1851 char3 __ovld __cnfn convert_char3_rtz(int3);
1852 char3 __ovld __cnfn convert_char3_sat_rtz(int3);
1853 char3 __ovld __cnfn convert_char3_rtp(int3);
1854 char3 __ovld __cnfn convert_char3_sat_rtp(int3);
1855 char3 __ovld __cnfn convert_char3_rtn(int3);
1856 char3 __ovld __cnfn convert_char3_sat_rtn(int3);
1857 char3 __ovld __cnfn convert_char3(int3);
1858 char3 __ovld __cnfn convert_char3_sat(int3);
1859 char3 __ovld __cnfn convert_char3_rte(uint3);
1860 char3 __ovld __cnfn convert_char3_sat_rte(uint3);
1861 char3 __ovld __cnfn convert_char3_rtz(uint3);
1862 char3 __ovld __cnfn convert_char3_sat_rtz(uint3);
1863 char3 __ovld __cnfn convert_char3_rtp(uint3);
1864 char3 __ovld __cnfn convert_char3_sat_rtp(uint3);
1865 char3 __ovld __cnfn convert_char3_rtn(uint3);
1866 char3 __ovld __cnfn convert_char3_sat_rtn(uint3);
1867 char3 __ovld __cnfn convert_char3(uint3);
1868 char3 __ovld __cnfn convert_char3_sat(uint3);
1869 char3 __ovld __cnfn convert_char3_rte(long3);
1870 char3 __ovld __cnfn convert_char3_sat_rte(long3);
1871 char3 __ovld __cnfn convert_char3_rtz(long3);
1872 char3 __ovld __cnfn convert_char3_sat_rtz(long3);
1873 char3 __ovld __cnfn convert_char3_rtp(long3);
1874 char3 __ovld __cnfn convert_char3_sat_rtp(long3);
1875 char3 __ovld __cnfn convert_char3_rtn(long3);
1876 char3 __ovld __cnfn convert_char3_sat_rtn(long3);
1877 char3 __ovld __cnfn convert_char3(long3);
1878 char3 __ovld __cnfn convert_char3_sat(long3);
1879 char3 __ovld __cnfn convert_char3_rte(ulong3);
1880 char3 __ovld __cnfn convert_char3_sat_rte(ulong3);
1881 char3 __ovld __cnfn convert_char3_rtz(ulong3);
1882 char3 __ovld __cnfn convert_char3_sat_rtz(ulong3);
1883 char3 __ovld __cnfn convert_char3_rtp(ulong3);
1884 char3 __ovld __cnfn convert_char3_sat_rtp(ulong3);
1885 char3 __ovld __cnfn convert_char3_rtn(ulong3);
1886 char3 __ovld __cnfn convert_char3_sat_rtn(ulong3);
1887 char3 __ovld __cnfn convert_char3(ulong3);
1888 char3 __ovld __cnfn convert_char3_sat(ulong3);
1889 char3 __ovld __cnfn convert_char3_rte(float3);
1890 char3 __ovld __cnfn convert_char3_sat_rte(float3);
1891 char3 __ovld __cnfn convert_char3_rtz(float3);
1892 char3 __ovld __cnfn convert_char3_sat_rtz(float3);
1893 char3 __ovld __cnfn convert_char3_rtp(float3);
1894 char3 __ovld __cnfn convert_char3_sat_rtp(float3);
1895 char3 __ovld __cnfn convert_char3_rtn(float3);
1896 char3 __ovld __cnfn convert_char3_sat_rtn(float3);
1897 char3 __ovld __cnfn convert_char3(float3);
1898 char3 __ovld __cnfn convert_char3_sat(float3);
1899 uchar3 __ovld __cnfn convert_uchar3_rte(char3);
1900 uchar3 __ovld __cnfn convert_uchar3_sat_rte(char3);
1901 uchar3 __ovld __cnfn convert_uchar3_rtz(char3);
1902 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(char3);
1903 uchar3 __ovld __cnfn convert_uchar3_rtp(char3);
1904 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(char3);
1905 uchar3 __ovld __cnfn convert_uchar3_rtn(char3);
1906 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(char3);
1907 uchar3 __ovld __cnfn convert_uchar3(char3);
1908 uchar3 __ovld __cnfn convert_uchar3_sat(char3);
1909 uchar3 __ovld __cnfn convert_uchar3_rte(uchar3);
1910 uchar3 __ovld __cnfn convert_uchar3_sat_rte(uchar3);
1911 uchar3 __ovld __cnfn convert_uchar3_rtz(uchar3);
1912 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(uchar3);
1913 uchar3 __ovld __cnfn convert_uchar3_rtp(uchar3);
1914 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(uchar3);
1915 uchar3 __ovld __cnfn convert_uchar3_rtn(uchar3);
1916 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(uchar3);
1917 uchar3 __ovld __cnfn convert_uchar3(uchar3);
1918 uchar3 __ovld __cnfn convert_uchar3_sat(uchar3);
1919 uchar3 __ovld __cnfn convert_uchar3_rte(short3);
1920 uchar3 __ovld __cnfn convert_uchar3_sat_rte(short3);
1921 uchar3 __ovld __cnfn convert_uchar3_rtz(short3);
1922 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(short3);
1923 uchar3 __ovld __cnfn convert_uchar3_rtp(short3);
1924 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(short3);
1925 uchar3 __ovld __cnfn convert_uchar3_rtn(short3);
1926 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(short3);
1927 uchar3 __ovld __cnfn convert_uchar3(short3);
1928 uchar3 __ovld __cnfn convert_uchar3_sat(short3);
1929 uchar3 __ovld __cnfn convert_uchar3_rte(ushort3);
1930 uchar3 __ovld __cnfn convert_uchar3_sat_rte(ushort3);
1931 uchar3 __ovld __cnfn convert_uchar3_rtz(ushort3);
1932 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(ushort3);
1933 uchar3 __ovld __cnfn convert_uchar3_rtp(ushort3);
1934 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(ushort3);
1935 uchar3 __ovld __cnfn convert_uchar3_rtn(ushort3);
1936 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(ushort3);
1937 uchar3 __ovld __cnfn convert_uchar3(ushort3);
1938 uchar3 __ovld __cnfn convert_uchar3_sat(ushort3);
1939 uchar3 __ovld __cnfn convert_uchar3_rte(int3);
1940 uchar3 __ovld __cnfn convert_uchar3_sat_rte(int3);
1941 uchar3 __ovld __cnfn convert_uchar3_rtz(int3);
1942 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(int3);
1943 uchar3 __ovld __cnfn convert_uchar3_rtp(int3);
1944 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(int3);
1945 uchar3 __ovld __cnfn convert_uchar3_rtn(int3);
1946 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(int3);
1947 uchar3 __ovld __cnfn convert_uchar3(int3);
1948 uchar3 __ovld __cnfn convert_uchar3_sat(int3);
1949 uchar3 __ovld __cnfn convert_uchar3_rte(uint3);
1950 uchar3 __ovld __cnfn convert_uchar3_sat_rte(uint3);
1951 uchar3 __ovld __cnfn convert_uchar3_rtz(uint3);
1952 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(uint3);
1953 uchar3 __ovld __cnfn convert_uchar3_rtp(uint3);
1954 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(uint3);
1955 uchar3 __ovld __cnfn convert_uchar3_rtn(uint3);
1956 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(uint3);
1957 uchar3 __ovld __cnfn convert_uchar3(uint3);
1958 uchar3 __ovld __cnfn convert_uchar3_sat(uint3);
1959 uchar3 __ovld __cnfn convert_uchar3_rte(long3);
1960 uchar3 __ovld __cnfn convert_uchar3_sat_rte(long3);
1961 uchar3 __ovld __cnfn convert_uchar3_rtz(long3);
1962 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(long3);
1963 uchar3 __ovld __cnfn convert_uchar3_rtp(long3);
1964 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(long3);
1965 uchar3 __ovld __cnfn convert_uchar3_rtn(long3);
1966 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(long3);
1967 uchar3 __ovld __cnfn convert_uchar3(long3);
1968 uchar3 __ovld __cnfn convert_uchar3_sat(long3);
1969 uchar3 __ovld __cnfn convert_uchar3_rte(ulong3);
1970 uchar3 __ovld __cnfn convert_uchar3_sat_rte(ulong3);
1971 uchar3 __ovld __cnfn convert_uchar3_rtz(ulong3);
1972 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(ulong3);
1973 uchar3 __ovld __cnfn convert_uchar3_rtp(ulong3);
1974 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(ulong3);
1975 uchar3 __ovld __cnfn convert_uchar3_rtn(ulong3);
1976 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(ulong3);
1977 uchar3 __ovld __cnfn convert_uchar3(ulong3);
1978 uchar3 __ovld __cnfn convert_uchar3_sat(ulong3);
1979 uchar3 __ovld __cnfn convert_uchar3_rte(float3);
1980 uchar3 __ovld __cnfn convert_uchar3_sat_rte(float3);
1981 uchar3 __ovld __cnfn convert_uchar3_rtz(float3);
1982 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(float3);
1983 uchar3 __ovld __cnfn convert_uchar3_rtp(float3);
1984 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(float3);
1985 uchar3 __ovld __cnfn convert_uchar3_rtn(float3);
1986 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(float3);
1987 uchar3 __ovld __cnfn convert_uchar3(float3);
1988 uchar3 __ovld __cnfn convert_uchar3_sat(float3);
1989 short3 __ovld __cnfn convert_short3_rte(char3);
1990 short3 __ovld __cnfn convert_short3_sat_rte(char3);
1991 short3 __ovld __cnfn convert_short3_rtz(char3);
1992 short3 __ovld __cnfn convert_short3_sat_rtz(char3);
1993 short3 __ovld __cnfn convert_short3_rtp(char3);
1994 short3 __ovld __cnfn convert_short3_sat_rtp(char3);
1995 short3 __ovld __cnfn convert_short3_rtn(char3);
1996 short3 __ovld __cnfn convert_short3_sat_rtn(char3);
1997 short3 __ovld __cnfn convert_short3(char3);
1998 short3 __ovld __cnfn convert_short3_sat(char3);
1999 short3 __ovld __cnfn convert_short3_rte(uchar3);
2000 short3 __ovld __cnfn convert_short3_sat_rte(uchar3);
2001 short3 __ovld __cnfn convert_short3_rtz(uchar3);
2002 short3 __ovld __cnfn convert_short3_sat_rtz(uchar3);
2003 short3 __ovld __cnfn convert_short3_rtp(uchar3);
2004 short3 __ovld __cnfn convert_short3_sat_rtp(uchar3);
2005 short3 __ovld __cnfn convert_short3_rtn(uchar3);
2006 short3 __ovld __cnfn convert_short3_sat_rtn(uchar3);
2007 short3 __ovld __cnfn convert_short3(uchar3);
2008 short3 __ovld __cnfn convert_short3_sat(uchar3);
2009 short3 __ovld __cnfn convert_short3_rte(short3);
2010 short3 __ovld __cnfn convert_short3_sat_rte(short3);
2011 short3 __ovld __cnfn convert_short3_rtz(short3);
2012 short3 __ovld __cnfn convert_short3_sat_rtz(short3);
2013 short3 __ovld __cnfn convert_short3_rtp(short3);
2014 short3 __ovld __cnfn convert_short3_sat_rtp(short3);
2015 short3 __ovld __cnfn convert_short3_rtn(short3);
2016 short3 __ovld __cnfn convert_short3_sat_rtn(short3);
2017 short3 __ovld __cnfn convert_short3(short3);
2018 short3 __ovld __cnfn convert_short3_sat(short3);
2019 short3 __ovld __cnfn convert_short3_rte(ushort3);
2020 short3 __ovld __cnfn convert_short3_sat_rte(ushort3);
2021 short3 __ovld __cnfn convert_short3_rtz(ushort3);
2022 short3 __ovld __cnfn convert_short3_sat_rtz(ushort3);
2023 short3 __ovld __cnfn convert_short3_rtp(ushort3);
2024 short3 __ovld __cnfn convert_short3_sat_rtp(ushort3);
2025 short3 __ovld __cnfn convert_short3_rtn(ushort3);
2026 short3 __ovld __cnfn convert_short3_sat_rtn(ushort3);
2027 short3 __ovld __cnfn convert_short3(ushort3);
2028 short3 __ovld __cnfn convert_short3_sat(ushort3);
2029 short3 __ovld __cnfn convert_short3_rte(int3);
2030 short3 __ovld __cnfn convert_short3_sat_rte(int3);
2031 short3 __ovld __cnfn convert_short3_rtz(int3);
2032 short3 __ovld __cnfn convert_short3_sat_rtz(int3);
2033 short3 __ovld __cnfn convert_short3_rtp(int3);
2034 short3 __ovld __cnfn convert_short3_sat_rtp(int3);
2035 short3 __ovld __cnfn convert_short3_rtn(int3);
2036 short3 __ovld __cnfn convert_short3_sat_rtn(int3);
2037 short3 __ovld __cnfn convert_short3(int3);
2038 short3 __ovld __cnfn convert_short3_sat(int3);
2039 short3 __ovld __cnfn convert_short3_rte(uint3);
2040 short3 __ovld __cnfn convert_short3_sat_rte(uint3);
2041 short3 __ovld __cnfn convert_short3_rtz(uint3);
2042 short3 __ovld __cnfn convert_short3_sat_rtz(uint3);
2043 short3 __ovld __cnfn convert_short3_rtp(uint3);
2044 short3 __ovld __cnfn convert_short3_sat_rtp(uint3);
2045 short3 __ovld __cnfn convert_short3_rtn(uint3);
2046 short3 __ovld __cnfn convert_short3_sat_rtn(uint3);
2047 short3 __ovld __cnfn convert_short3(uint3);
2048 short3 __ovld __cnfn convert_short3_sat(uint3);
2049 short3 __ovld __cnfn convert_short3_rte(long3);
2050 short3 __ovld __cnfn convert_short3_sat_rte(long3);
2051 short3 __ovld __cnfn convert_short3_rtz(long3);
2052 short3 __ovld __cnfn convert_short3_sat_rtz(long3);
2053 short3 __ovld __cnfn convert_short3_rtp(long3);
2054 short3 __ovld __cnfn convert_short3_sat_rtp(long3);
2055 short3 __ovld __cnfn convert_short3_rtn(long3);
2056 short3 __ovld __cnfn convert_short3_sat_rtn(long3);
2057 short3 __ovld __cnfn convert_short3(long3);
2058 short3 __ovld __cnfn convert_short3_sat(long3);
2059 short3 __ovld __cnfn convert_short3_rte(ulong3);
2060 short3 __ovld __cnfn convert_short3_sat_rte(ulong3);
2061 short3 __ovld __cnfn convert_short3_rtz(ulong3);
2062 short3 __ovld __cnfn convert_short3_sat_rtz(ulong3);
2063 short3 __ovld __cnfn convert_short3_rtp(ulong3);
2064 short3 __ovld __cnfn convert_short3_sat_rtp(ulong3);
2065 short3 __ovld __cnfn convert_short3_rtn(ulong3);
2066 short3 __ovld __cnfn convert_short3_sat_rtn(ulong3);
2067 short3 __ovld __cnfn convert_short3(ulong3);
2068 short3 __ovld __cnfn convert_short3_sat(ulong3);
2069 short3 __ovld __cnfn convert_short3_rte(float3);
2070 short3 __ovld __cnfn convert_short3_sat_rte(float3);
2071 short3 __ovld __cnfn convert_short3_rtz(float3);
2072 short3 __ovld __cnfn convert_short3_sat_rtz(float3);
2073 short3 __ovld __cnfn convert_short3_rtp(float3);
2074 short3 __ovld __cnfn convert_short3_sat_rtp(float3);
2075 short3 __ovld __cnfn convert_short3_rtn(float3);
2076 short3 __ovld __cnfn convert_short3_sat_rtn(float3);
2077 short3 __ovld __cnfn convert_short3(float3);
2078 short3 __ovld __cnfn convert_short3_sat(float3);
2079 ushort3 __ovld __cnfn convert_ushort3_rte(char3);
2080 ushort3 __ovld __cnfn convert_ushort3_sat_rte(char3);
2081 ushort3 __ovld __cnfn convert_ushort3_rtz(char3);
2082 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(char3);
2083 ushort3 __ovld __cnfn convert_ushort3_rtp(char3);
2084 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(char3);
2085 ushort3 __ovld __cnfn convert_ushort3_rtn(char3);
2086 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(char3);
2087 ushort3 __ovld __cnfn convert_ushort3(char3);
2088 ushort3 __ovld __cnfn convert_ushort3_sat(char3);
2089 ushort3 __ovld __cnfn convert_ushort3_rte(uchar3);
2090 ushort3 __ovld __cnfn convert_ushort3_sat_rte(uchar3);
2091 ushort3 __ovld __cnfn convert_ushort3_rtz(uchar3);
2092 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(uchar3);
2093 ushort3 __ovld __cnfn convert_ushort3_rtp(uchar3);
2094 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(uchar3);
2095 ushort3 __ovld __cnfn convert_ushort3_rtn(uchar3);
2096 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(uchar3);
2097 ushort3 __ovld __cnfn convert_ushort3(uchar3);
2098 ushort3 __ovld __cnfn convert_ushort3_sat(uchar3);
2099 ushort3 __ovld __cnfn convert_ushort3_rte(short3);
2100 ushort3 __ovld __cnfn convert_ushort3_sat_rte(short3);
2101 ushort3 __ovld __cnfn convert_ushort3_rtz(short3);
2102 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(short3);
2103 ushort3 __ovld __cnfn convert_ushort3_rtp(short3);
2104 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(short3);
2105 ushort3 __ovld __cnfn convert_ushort3_rtn(short3);
2106 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(short3);
2107 ushort3 __ovld __cnfn convert_ushort3(short3);
2108 ushort3 __ovld __cnfn convert_ushort3_sat(short3);
2109 ushort3 __ovld __cnfn convert_ushort3_rte(ushort3);
2110 ushort3 __ovld __cnfn convert_ushort3_sat_rte(ushort3);
2111 ushort3 __ovld __cnfn convert_ushort3_rtz(ushort3);
2112 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(ushort3);
2113 ushort3 __ovld __cnfn convert_ushort3_rtp(ushort3);
2114 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(ushort3);
2115 ushort3 __ovld __cnfn convert_ushort3_rtn(ushort3);
2116 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(ushort3);
2117 ushort3 __ovld __cnfn convert_ushort3(ushort3);
2118 ushort3 __ovld __cnfn convert_ushort3_sat(ushort3);
2119 ushort3 __ovld __cnfn convert_ushort3_rte(int3);
2120 ushort3 __ovld __cnfn convert_ushort3_sat_rte(int3);
2121 ushort3 __ovld __cnfn convert_ushort3_rtz(int3);
2122 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(int3);
2123 ushort3 __ovld __cnfn convert_ushort3_rtp(int3);
2124 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(int3);
2125 ushort3 __ovld __cnfn convert_ushort3_rtn(int3);
2126 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(int3);
2127 ushort3 __ovld __cnfn convert_ushort3(int3);
2128 ushort3 __ovld __cnfn convert_ushort3_sat(int3);
2129 ushort3 __ovld __cnfn convert_ushort3_rte(uint3);
2130 ushort3 __ovld __cnfn convert_ushort3_sat_rte(uint3);
2131 ushort3 __ovld __cnfn convert_ushort3_rtz(uint3);
2132 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(uint3);
2133 ushort3 __ovld __cnfn convert_ushort3_rtp(uint3);
2134 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(uint3);
2135 ushort3 __ovld __cnfn convert_ushort3_rtn(uint3);
2136 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(uint3);
2137 ushort3 __ovld __cnfn convert_ushort3(uint3);
2138 ushort3 __ovld __cnfn convert_ushort3_sat(uint3);
2139 ushort3 __ovld __cnfn convert_ushort3_rte(long3);
2140 ushort3 __ovld __cnfn convert_ushort3_sat_rte(long3);
2141 ushort3 __ovld __cnfn convert_ushort3_rtz(long3);
2142 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(long3);
2143 ushort3 __ovld __cnfn convert_ushort3_rtp(long3);
2144 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(long3);
2145 ushort3 __ovld __cnfn convert_ushort3_rtn(long3);
2146 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(long3);
2147 ushort3 __ovld __cnfn convert_ushort3(long3);
2148 ushort3 __ovld __cnfn convert_ushort3_sat(long3);
2149 ushort3 __ovld __cnfn convert_ushort3_rte(ulong3);
2150 ushort3 __ovld __cnfn convert_ushort3_sat_rte(ulong3);
2151 ushort3 __ovld __cnfn convert_ushort3_rtz(ulong3);
2152 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(ulong3);
2153 ushort3 __ovld __cnfn convert_ushort3_rtp(ulong3);
2154 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(ulong3);
2155 ushort3 __ovld __cnfn convert_ushort3_rtn(ulong3);
2156 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(ulong3);
2157 ushort3 __ovld __cnfn convert_ushort3(ulong3);
2158 ushort3 __ovld __cnfn convert_ushort3_sat(ulong3);
2159 ushort3 __ovld __cnfn convert_ushort3_rte(float3);
2160 ushort3 __ovld __cnfn convert_ushort3_sat_rte(float3);
2161 ushort3 __ovld __cnfn convert_ushort3_rtz(float3);
2162 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(float3);
2163 ushort3 __ovld __cnfn convert_ushort3_rtp(float3);
2164 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(float3);
2165 ushort3 __ovld __cnfn convert_ushort3_rtn(float3);
2166 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(float3);
2167 ushort3 __ovld __cnfn convert_ushort3(float3);
2168 ushort3 __ovld __cnfn convert_ushort3_sat(float3);
2169 int3 __ovld __cnfn convert_int3_rte(char3);
2170 int3 __ovld __cnfn convert_int3_sat_rte(char3);
2171 int3 __ovld __cnfn convert_int3_rtz(char3);
2172 int3 __ovld __cnfn convert_int3_sat_rtz(char3);
2173 int3 __ovld __cnfn convert_int3_rtp(char3);
2174 int3 __ovld __cnfn convert_int3_sat_rtp(char3);
2175 int3 __ovld __cnfn convert_int3_rtn(char3);
2176 int3 __ovld __cnfn convert_int3_sat_rtn(char3);
2177 int3 __ovld __cnfn convert_int3(char3);
2178 int3 __ovld __cnfn convert_int3_sat(char3);
2179 int3 __ovld __cnfn convert_int3_rte(uchar3);
2180 int3 __ovld __cnfn convert_int3_sat_rte(uchar3);
2181 int3 __ovld __cnfn convert_int3_rtz(uchar3);
2182 int3 __ovld __cnfn convert_int3_sat_rtz(uchar3);
2183 int3 __ovld __cnfn convert_int3_rtp(uchar3);
2184 int3 __ovld __cnfn convert_int3_sat_rtp(uchar3);
2185 int3 __ovld __cnfn convert_int3_rtn(uchar3);
2186 int3 __ovld __cnfn convert_int3_sat_rtn(uchar3);
2187 int3 __ovld __cnfn convert_int3(uchar3);
2188 int3 __ovld __cnfn convert_int3_sat(uchar3);
2189 int3 __ovld __cnfn convert_int3_rte(short3);
2190 int3 __ovld __cnfn convert_int3_sat_rte(short3);
2191 int3 __ovld __cnfn convert_int3_rtz(short3);
2192 int3 __ovld __cnfn convert_int3_sat_rtz(short3);
2193 int3 __ovld __cnfn convert_int3_rtp(short3);
2194 int3 __ovld __cnfn convert_int3_sat_rtp(short3);
2195 int3 __ovld __cnfn convert_int3_rtn(short3);
2196 int3 __ovld __cnfn convert_int3_sat_rtn(short3);
2197 int3 __ovld __cnfn convert_int3(short3);
2198 int3 __ovld __cnfn convert_int3_sat(short3);
2199 int3 __ovld __cnfn convert_int3_rte(ushort3);
2200 int3 __ovld __cnfn convert_int3_sat_rte(ushort3);
2201 int3 __ovld __cnfn convert_int3_rtz(ushort3);
2202 int3 __ovld __cnfn convert_int3_sat_rtz(ushort3);
2203 int3 __ovld __cnfn convert_int3_rtp(ushort3);
2204 int3 __ovld __cnfn convert_int3_sat_rtp(ushort3);
2205 int3 __ovld __cnfn convert_int3_rtn(ushort3);
2206 int3 __ovld __cnfn convert_int3_sat_rtn(ushort3);
2207 int3 __ovld __cnfn convert_int3(ushort3);
2208 int3 __ovld __cnfn convert_int3_sat(ushort3);
2209 int3 __ovld __cnfn convert_int3_rte(int3);
2210 int3 __ovld __cnfn convert_int3_sat_rte(int3);
2211 int3 __ovld __cnfn convert_int3_rtz(int3);
2212 int3 __ovld __cnfn convert_int3_sat_rtz(int3);
2213 int3 __ovld __cnfn convert_int3_rtp(int3);
2214 int3 __ovld __cnfn convert_int3_sat_rtp(int3);
2215 int3 __ovld __cnfn convert_int3_rtn(int3);
2216 int3 __ovld __cnfn convert_int3_sat_rtn(int3);
2217 int3 __ovld __cnfn convert_int3(int3);
2218 int3 __ovld __cnfn convert_int3_sat(int3);
2219 int3 __ovld __cnfn convert_int3_rte(uint3);
2220 int3 __ovld __cnfn convert_int3_sat_rte(uint3);
2221 int3 __ovld __cnfn convert_int3_rtz(uint3);
2222 int3 __ovld __cnfn convert_int3_sat_rtz(uint3);
2223 int3 __ovld __cnfn convert_int3_rtp(uint3);
2224 int3 __ovld __cnfn convert_int3_sat_rtp(uint3);
2225 int3 __ovld __cnfn convert_int3_rtn(uint3);
2226 int3 __ovld __cnfn convert_int3_sat_rtn(uint3);
2227 int3 __ovld __cnfn convert_int3(uint3);
2228 int3 __ovld __cnfn convert_int3_sat(uint3);
2229 int3 __ovld __cnfn convert_int3_rte(long3);
2230 int3 __ovld __cnfn convert_int3_sat_rte(long3);
2231 int3 __ovld __cnfn convert_int3_rtz(long3);
2232 int3 __ovld __cnfn convert_int3_sat_rtz(long3);
2233 int3 __ovld __cnfn convert_int3_rtp(long3);
2234 int3 __ovld __cnfn convert_int3_sat_rtp(long3);
2235 int3 __ovld __cnfn convert_int3_rtn(long3);
2236 int3 __ovld __cnfn convert_int3_sat_rtn(long3);
2237 int3 __ovld __cnfn convert_int3(long3);
2238 int3 __ovld __cnfn convert_int3_sat(long3);
2239 int3 __ovld __cnfn convert_int3_rte(ulong3);
2240 int3 __ovld __cnfn convert_int3_sat_rte(ulong3);
2241 int3 __ovld __cnfn convert_int3_rtz(ulong3);
2242 int3 __ovld __cnfn convert_int3_sat_rtz(ulong3);
2243 int3 __ovld __cnfn convert_int3_rtp(ulong3);
2244 int3 __ovld __cnfn convert_int3_sat_rtp(ulong3);
2245 int3 __ovld __cnfn convert_int3_rtn(ulong3);
2246 int3 __ovld __cnfn convert_int3_sat_rtn(ulong3);
2247 int3 __ovld __cnfn convert_int3(ulong3);
2248 int3 __ovld __cnfn convert_int3_sat(ulong3);
2249 int3 __ovld __cnfn convert_int3_rte(float3);
2250 int3 __ovld __cnfn convert_int3_sat_rte(float3);
2251 int3 __ovld __cnfn convert_int3_rtz(float3);
2252 int3 __ovld __cnfn convert_int3_sat_rtz(float3);
2253 int3 __ovld __cnfn convert_int3_rtp(float3);
2254 int3 __ovld __cnfn convert_int3_sat_rtp(float3);
2255 int3 __ovld __cnfn convert_int3_rtn(float3);
2256 int3 __ovld __cnfn convert_int3_sat_rtn(float3);
2257 int3 __ovld __cnfn convert_int3(float3);
2258 int3 __ovld __cnfn convert_int3_sat(float3);
2259 uint3 __ovld __cnfn convert_uint3_rte(char3);
2260 uint3 __ovld __cnfn convert_uint3_sat_rte(char3);
2261 uint3 __ovld __cnfn convert_uint3_rtz(char3);
2262 uint3 __ovld __cnfn convert_uint3_sat_rtz(char3);
2263 uint3 __ovld __cnfn convert_uint3_rtp(char3);
2264 uint3 __ovld __cnfn convert_uint3_sat_rtp(char3);
2265 uint3 __ovld __cnfn convert_uint3_rtn(char3);
2266 uint3 __ovld __cnfn convert_uint3_sat_rtn(char3);
2267 uint3 __ovld __cnfn convert_uint3(char3);
2268 uint3 __ovld __cnfn convert_uint3_sat(char3);
2269 uint3 __ovld __cnfn convert_uint3_rte(uchar3);
2270 uint3 __ovld __cnfn convert_uint3_sat_rte(uchar3);
2271 uint3 __ovld __cnfn convert_uint3_rtz(uchar3);
2272 uint3 __ovld __cnfn convert_uint3_sat_rtz(uchar3);
2273 uint3 __ovld __cnfn convert_uint3_rtp(uchar3);
2274 uint3 __ovld __cnfn convert_uint3_sat_rtp(uchar3);
2275 uint3 __ovld __cnfn convert_uint3_rtn(uchar3);
2276 uint3 __ovld __cnfn convert_uint3_sat_rtn(uchar3);
2277 uint3 __ovld __cnfn convert_uint3(uchar3);
2278 uint3 __ovld __cnfn convert_uint3_sat(uchar3);
2279 uint3 __ovld __cnfn convert_uint3_rte(short3);
2280 uint3 __ovld __cnfn convert_uint3_sat_rte(short3);
2281 uint3 __ovld __cnfn convert_uint3_rtz(short3);
2282 uint3 __ovld __cnfn convert_uint3_sat_rtz(short3);
2283 uint3 __ovld __cnfn convert_uint3_rtp(short3);
2284 uint3 __ovld __cnfn convert_uint3_sat_rtp(short3);
2285 uint3 __ovld __cnfn convert_uint3_rtn(short3);
2286 uint3 __ovld __cnfn convert_uint3_sat_rtn(short3);
2287 uint3 __ovld __cnfn convert_uint3(short3);
2288 uint3 __ovld __cnfn convert_uint3_sat(short3);
2289 uint3 __ovld __cnfn convert_uint3_rte(ushort3);
2290 uint3 __ovld __cnfn convert_uint3_sat_rte(ushort3);
2291 uint3 __ovld __cnfn convert_uint3_rtz(ushort3);
2292 uint3 __ovld __cnfn convert_uint3_sat_rtz(ushort3);
2293 uint3 __ovld __cnfn convert_uint3_rtp(ushort3);
2294 uint3 __ovld __cnfn convert_uint3_sat_rtp(ushort3);
2295 uint3 __ovld __cnfn convert_uint3_rtn(ushort3);
2296 uint3 __ovld __cnfn convert_uint3_sat_rtn(ushort3);
2297 uint3 __ovld __cnfn convert_uint3(ushort3);
2298 uint3 __ovld __cnfn convert_uint3_sat(ushort3);
2299 uint3 __ovld __cnfn convert_uint3_rte(int3);
2300 uint3 __ovld __cnfn convert_uint3_sat_rte(int3);
2301 uint3 __ovld __cnfn convert_uint3_rtz(int3);
2302 uint3 __ovld __cnfn convert_uint3_sat_rtz(int3);
2303 uint3 __ovld __cnfn convert_uint3_rtp(int3);
2304 uint3 __ovld __cnfn convert_uint3_sat_rtp(int3);
2305 uint3 __ovld __cnfn convert_uint3_rtn(int3);
2306 uint3 __ovld __cnfn convert_uint3_sat_rtn(int3);
2307 uint3 __ovld __cnfn convert_uint3(int3);
2308 uint3 __ovld __cnfn convert_uint3_sat(int3);
2309 uint3 __ovld __cnfn convert_uint3_rte(uint3);
2310 uint3 __ovld __cnfn convert_uint3_sat_rte(uint3);
2311 uint3 __ovld __cnfn convert_uint3_rtz(uint3);
2312 uint3 __ovld __cnfn convert_uint3_sat_rtz(uint3);
2313 uint3 __ovld __cnfn convert_uint3_rtp(uint3);
2314 uint3 __ovld __cnfn convert_uint3_sat_rtp(uint3);
2315 uint3 __ovld __cnfn convert_uint3_rtn(uint3);
2316 uint3 __ovld __cnfn convert_uint3_sat_rtn(uint3);
2317 uint3 __ovld __cnfn convert_uint3(uint3);
2318 uint3 __ovld __cnfn convert_uint3_sat(uint3);
2319 uint3 __ovld __cnfn convert_uint3_rte(long3);
2320 uint3 __ovld __cnfn convert_uint3_sat_rte(long3);
2321 uint3 __ovld __cnfn convert_uint3_rtz(long3);
2322 uint3 __ovld __cnfn convert_uint3_sat_rtz(long3);
2323 uint3 __ovld __cnfn convert_uint3_rtp(long3);
2324 uint3 __ovld __cnfn convert_uint3_sat_rtp(long3);
2325 uint3 __ovld __cnfn convert_uint3_rtn(long3);
2326 uint3 __ovld __cnfn convert_uint3_sat_rtn(long3);
2327 uint3 __ovld __cnfn convert_uint3(long3);
2328 uint3 __ovld __cnfn convert_uint3_sat(long3);
2329 uint3 __ovld __cnfn convert_uint3_rte(ulong3);
2330 uint3 __ovld __cnfn convert_uint3_sat_rte(ulong3);
2331 uint3 __ovld __cnfn convert_uint3_rtz(ulong3);
2332 uint3 __ovld __cnfn convert_uint3_sat_rtz(ulong3);
2333 uint3 __ovld __cnfn convert_uint3_rtp(ulong3);
2334 uint3 __ovld __cnfn convert_uint3_sat_rtp(ulong3);
2335 uint3 __ovld __cnfn convert_uint3_rtn(ulong3);
2336 uint3 __ovld __cnfn convert_uint3_sat_rtn(ulong3);
2337 uint3 __ovld __cnfn convert_uint3(ulong3);
2338 uint3 __ovld __cnfn convert_uint3_sat(ulong3);
2339 uint3 __ovld __cnfn convert_uint3_rte(float3);
2340 uint3 __ovld __cnfn convert_uint3_sat_rte(float3);
2341 uint3 __ovld __cnfn convert_uint3_rtz(float3);
2342 uint3 __ovld __cnfn convert_uint3_sat_rtz(float3);
2343 uint3 __ovld __cnfn convert_uint3_rtp(float3);
2344 uint3 __ovld __cnfn convert_uint3_sat_rtp(float3);
2345 uint3 __ovld __cnfn convert_uint3_rtn(float3);
2346 uint3 __ovld __cnfn convert_uint3_sat_rtn(float3);
2347 uint3 __ovld __cnfn convert_uint3(float3);
2348 uint3 __ovld __cnfn convert_uint3_sat(float3);
2349 long3 __ovld __cnfn convert_long3_rte(char3);
2350 long3 __ovld __cnfn convert_long3_sat_rte(char3);
2351 long3 __ovld __cnfn convert_long3_rtz(char3);
2352 long3 __ovld __cnfn convert_long3_sat_rtz(char3);
2353 long3 __ovld __cnfn convert_long3_rtp(char3);
2354 long3 __ovld __cnfn convert_long3_sat_rtp(char3);
2355 long3 __ovld __cnfn convert_long3_rtn(char3);
2356 long3 __ovld __cnfn convert_long3_sat_rtn(char3);
2357 long3 __ovld __cnfn convert_long3(char3);
2358 long3 __ovld __cnfn convert_long3_sat(char3);
2359 long3 __ovld __cnfn convert_long3_rte(uchar3);
2360 long3 __ovld __cnfn convert_long3_sat_rte(uchar3);
2361 long3 __ovld __cnfn convert_long3_rtz(uchar3);
2362 long3 __ovld __cnfn convert_long3_sat_rtz(uchar3);
2363 long3 __ovld __cnfn convert_long3_rtp(uchar3);
2364 long3 __ovld __cnfn convert_long3_sat_rtp(uchar3);
2365 long3 __ovld __cnfn convert_long3_rtn(uchar3);
2366 long3 __ovld __cnfn convert_long3_sat_rtn(uchar3);
2367 long3 __ovld __cnfn convert_long3(uchar3);
2368 long3 __ovld __cnfn convert_long3_sat(uchar3);
2369 long3 __ovld __cnfn convert_long3_rte(short3);
2370 long3 __ovld __cnfn convert_long3_sat_rte(short3);
2371 long3 __ovld __cnfn convert_long3_rtz(short3);
2372 long3 __ovld __cnfn convert_long3_sat_rtz(short3);
2373 long3 __ovld __cnfn convert_long3_rtp(short3);
2374 long3 __ovld __cnfn convert_long3_sat_rtp(short3);
2375 long3 __ovld __cnfn convert_long3_rtn(short3);
2376 long3 __ovld __cnfn convert_long3_sat_rtn(short3);
2377 long3 __ovld __cnfn convert_long3(short3);
2378 long3 __ovld __cnfn convert_long3_sat(short3);
2379 long3 __ovld __cnfn convert_long3_rte(ushort3);
2380 long3 __ovld __cnfn convert_long3_sat_rte(ushort3);
2381 long3 __ovld __cnfn convert_long3_rtz(ushort3);
2382 long3 __ovld __cnfn convert_long3_sat_rtz(ushort3);
2383 long3 __ovld __cnfn convert_long3_rtp(ushort3);
2384 long3 __ovld __cnfn convert_long3_sat_rtp(ushort3);
2385 long3 __ovld __cnfn convert_long3_rtn(ushort3);
2386 long3 __ovld __cnfn convert_long3_sat_rtn(ushort3);
2387 long3 __ovld __cnfn convert_long3(ushort3);
2388 long3 __ovld __cnfn convert_long3_sat(ushort3);
2389 long3 __ovld __cnfn convert_long3_rte(int3);
2390 long3 __ovld __cnfn convert_long3_sat_rte(int3);
2391 long3 __ovld __cnfn convert_long3_rtz(int3);
2392 long3 __ovld __cnfn convert_long3_sat_rtz(int3);
2393 long3 __ovld __cnfn convert_long3_rtp(int3);
2394 long3 __ovld __cnfn convert_long3_sat_rtp(int3);
2395 long3 __ovld __cnfn convert_long3_rtn(int3);
2396 long3 __ovld __cnfn convert_long3_sat_rtn(int3);
2397 long3 __ovld __cnfn convert_long3(int3);
2398 long3 __ovld __cnfn convert_long3_sat(int3);
2399 long3 __ovld __cnfn convert_long3_rte(uint3);
2400 long3 __ovld __cnfn convert_long3_sat_rte(uint3);
2401 long3 __ovld __cnfn convert_long3_rtz(uint3);
2402 long3 __ovld __cnfn convert_long3_sat_rtz(uint3);
2403 long3 __ovld __cnfn convert_long3_rtp(uint3);
2404 long3 __ovld __cnfn convert_long3_sat_rtp(uint3);
2405 long3 __ovld __cnfn convert_long3_rtn(uint3);
2406 long3 __ovld __cnfn convert_long3_sat_rtn(uint3);
2407 long3 __ovld __cnfn convert_long3(uint3);
2408 long3 __ovld __cnfn convert_long3_sat(uint3);
2409 long3 __ovld __cnfn convert_long3_rte(long3);
2410 long3 __ovld __cnfn convert_long3_sat_rte(long3);
2411 long3 __ovld __cnfn convert_long3_rtz(long3);
2412 long3 __ovld __cnfn convert_long3_sat_rtz(long3);
2413 long3 __ovld __cnfn convert_long3_rtp(long3);
2414 long3 __ovld __cnfn convert_long3_sat_rtp(long3);
2415 long3 __ovld __cnfn convert_long3_rtn(long3);
2416 long3 __ovld __cnfn convert_long3_sat_rtn(long3);
2417 long3 __ovld __cnfn convert_long3(long3);
2418 long3 __ovld __cnfn convert_long3_sat(long3);
2419 long3 __ovld __cnfn convert_long3_rte(ulong3);
2420 long3 __ovld __cnfn convert_long3_sat_rte(ulong3);
2421 long3 __ovld __cnfn convert_long3_rtz(ulong3);
2422 long3 __ovld __cnfn convert_long3_sat_rtz(ulong3);
2423 long3 __ovld __cnfn convert_long3_rtp(ulong3);
2424 long3 __ovld __cnfn convert_long3_sat_rtp(ulong3);
2425 long3 __ovld __cnfn convert_long3_rtn(ulong3);
2426 long3 __ovld __cnfn convert_long3_sat_rtn(ulong3);
2427 long3 __ovld __cnfn convert_long3(ulong3);
2428 long3 __ovld __cnfn convert_long3_sat(ulong3);
2429 long3 __ovld __cnfn convert_long3_rte(float3);
2430 long3 __ovld __cnfn convert_long3_sat_rte(float3);
2431 long3 __ovld __cnfn convert_long3_rtz(float3);
2432 long3 __ovld __cnfn convert_long3_sat_rtz(float3);
2433 long3 __ovld __cnfn convert_long3_rtp(float3);
2434 long3 __ovld __cnfn convert_long3_sat_rtp(float3);
2435 long3 __ovld __cnfn convert_long3_rtn(float3);
2436 long3 __ovld __cnfn convert_long3_sat_rtn(float3);
2437 long3 __ovld __cnfn convert_long3(float3);
2438 long3 __ovld __cnfn convert_long3_sat(float3);
2439 ulong3 __ovld __cnfn convert_ulong3_rte(char3);
2440 ulong3 __ovld __cnfn convert_ulong3_sat_rte(char3);
2441 ulong3 __ovld __cnfn convert_ulong3_rtz(char3);
2442 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(char3);
2443 ulong3 __ovld __cnfn convert_ulong3_rtp(char3);
2444 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(char3);
2445 ulong3 __ovld __cnfn convert_ulong3_rtn(char3);
2446 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(char3);
2447 ulong3 __ovld __cnfn convert_ulong3(char3);
2448 ulong3 __ovld __cnfn convert_ulong3_sat(char3);
2449 ulong3 __ovld __cnfn convert_ulong3_rte(uchar3);
2450 ulong3 __ovld __cnfn convert_ulong3_sat_rte(uchar3);
2451 ulong3 __ovld __cnfn convert_ulong3_rtz(uchar3);
2452 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(uchar3);
2453 ulong3 __ovld __cnfn convert_ulong3_rtp(uchar3);
2454 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(uchar3);
2455 ulong3 __ovld __cnfn convert_ulong3_rtn(uchar3);
2456 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(uchar3);
2457 ulong3 __ovld __cnfn convert_ulong3(uchar3);
2458 ulong3 __ovld __cnfn convert_ulong3_sat(uchar3);
2459 ulong3 __ovld __cnfn convert_ulong3_rte(short3);
2460 ulong3 __ovld __cnfn convert_ulong3_sat_rte(short3);
2461 ulong3 __ovld __cnfn convert_ulong3_rtz(short3);
2462 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(short3);
2463 ulong3 __ovld __cnfn convert_ulong3_rtp(short3);
2464 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(short3);
2465 ulong3 __ovld __cnfn convert_ulong3_rtn(short3);
2466 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(short3);
2467 ulong3 __ovld __cnfn convert_ulong3(short3);
2468 ulong3 __ovld __cnfn convert_ulong3_sat(short3);
2469 ulong3 __ovld __cnfn convert_ulong3_rte(ushort3);
2470 ulong3 __ovld __cnfn convert_ulong3_sat_rte(ushort3);
2471 ulong3 __ovld __cnfn convert_ulong3_rtz(ushort3);
2472 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(ushort3);
2473 ulong3 __ovld __cnfn convert_ulong3_rtp(ushort3);
2474 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(ushort3);
2475 ulong3 __ovld __cnfn convert_ulong3_rtn(ushort3);
2476 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(ushort3);
2477 ulong3 __ovld __cnfn convert_ulong3(ushort3);
2478 ulong3 __ovld __cnfn convert_ulong3_sat(ushort3);
2479 ulong3 __ovld __cnfn convert_ulong3_rte(int3);
2480 ulong3 __ovld __cnfn convert_ulong3_sat_rte(int3);
2481 ulong3 __ovld __cnfn convert_ulong3_rtz(int3);
2482 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(int3);
2483 ulong3 __ovld __cnfn convert_ulong3_rtp(int3);
2484 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(int3);
2485 ulong3 __ovld __cnfn convert_ulong3_rtn(int3);
2486 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(int3);
2487 ulong3 __ovld __cnfn convert_ulong3(int3);
2488 ulong3 __ovld __cnfn convert_ulong3_sat(int3);
2489 ulong3 __ovld __cnfn convert_ulong3_rte(uint3);
2490 ulong3 __ovld __cnfn convert_ulong3_sat_rte(uint3);
2491 ulong3 __ovld __cnfn convert_ulong3_rtz(uint3);
2492 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(uint3);
2493 ulong3 __ovld __cnfn convert_ulong3_rtp(uint3);
2494 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(uint3);
2495 ulong3 __ovld __cnfn convert_ulong3_rtn(uint3);
2496 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(uint3);
2497 ulong3 __ovld __cnfn convert_ulong3(uint3);
2498 ulong3 __ovld __cnfn convert_ulong3_sat(uint3);
2499 ulong3 __ovld __cnfn convert_ulong3_rte(long3);
2500 ulong3 __ovld __cnfn convert_ulong3_sat_rte(long3);
2501 ulong3 __ovld __cnfn convert_ulong3_rtz(long3);
2502 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(long3);
2503 ulong3 __ovld __cnfn convert_ulong3_rtp(long3);
2504 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(long3);
2505 ulong3 __ovld __cnfn convert_ulong3_rtn(long3);
2506 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(long3);
2507 ulong3 __ovld __cnfn convert_ulong3(long3);
2508 ulong3 __ovld __cnfn convert_ulong3_sat(long3);
2509 ulong3 __ovld __cnfn convert_ulong3_rte(ulong3);
2510 ulong3 __ovld __cnfn convert_ulong3_sat_rte(ulong3);
2511 ulong3 __ovld __cnfn convert_ulong3_rtz(ulong3);
2512 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(ulong3);
2513 ulong3 __ovld __cnfn convert_ulong3_rtp(ulong3);
2514 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(ulong3);
2515 ulong3 __ovld __cnfn convert_ulong3_rtn(ulong3);
2516 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(ulong3);
2517 ulong3 __ovld __cnfn convert_ulong3(ulong3);
2518 ulong3 __ovld __cnfn convert_ulong3_sat(ulong3);
2519 ulong3 __ovld __cnfn convert_ulong3_rte(float3);
2520 ulong3 __ovld __cnfn convert_ulong3_sat_rte(float3);
2521 ulong3 __ovld __cnfn convert_ulong3_rtz(float3);
2522 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(float3);
2523 ulong3 __ovld __cnfn convert_ulong3_rtp(float3);
2524 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(float3);
2525 ulong3 __ovld __cnfn convert_ulong3_rtn(float3);
2526 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(float3);
2527 ulong3 __ovld __cnfn convert_ulong3(float3);
2528 ulong3 __ovld __cnfn convert_ulong3_sat(float3);
2529 float3 __ovld __cnfn convert_float3_rte(char3);
2530 float3 __ovld __cnfn convert_float3_rtz(char3);
2531 float3 __ovld __cnfn convert_float3_rtp(char3);
2532 float3 __ovld __cnfn convert_float3_rtn(char3);
2533 float3 __ovld __cnfn convert_float3(char3);
2534 float3 __ovld __cnfn convert_float3_rte(uchar3);
2535 float3 __ovld __cnfn convert_float3_rtz(uchar3);
2536 float3 __ovld __cnfn convert_float3_rtp(uchar3);
2537 float3 __ovld __cnfn convert_float3_rtn(uchar3);
2538 float3 __ovld __cnfn convert_float3(uchar3);
2539 float3 __ovld __cnfn convert_float3_rte(short3);
2540 float3 __ovld __cnfn convert_float3_rtz(short3);
2541 float3 __ovld __cnfn convert_float3_rtp(short3);
2542 float3 __ovld __cnfn convert_float3_rtn(short3);
2543 float3 __ovld __cnfn convert_float3(short3);
2544 float3 __ovld __cnfn convert_float3_rte(ushort3);
2545 float3 __ovld __cnfn convert_float3_rtz(ushort3);
2546 float3 __ovld __cnfn convert_float3_rtp(ushort3);
2547 float3 __ovld __cnfn convert_float3_rtn(ushort3);
2548 float3 __ovld __cnfn convert_float3(ushort3);
2549 float3 __ovld __cnfn convert_float3_rte(int3);
2550 float3 __ovld __cnfn convert_float3_rtz(int3);
2551 float3 __ovld __cnfn convert_float3_rtp(int3);
2552 float3 __ovld __cnfn convert_float3_rtn(int3);
2553 float3 __ovld __cnfn convert_float3(int3);
2554 float3 __ovld __cnfn convert_float3_rte(uint3);
2555 float3 __ovld __cnfn convert_float3_rtz(uint3);
2556 float3 __ovld __cnfn convert_float3_rtp(uint3);
2557 float3 __ovld __cnfn convert_float3_rtn(uint3);
2558 float3 __ovld __cnfn convert_float3(uint3);
2559 float3 __ovld __cnfn convert_float3_rte(long3);
2560 float3 __ovld __cnfn convert_float3_rtz(long3);
2561 float3 __ovld __cnfn convert_float3_rtp(long3);
2562 float3 __ovld __cnfn convert_float3_rtn(long3);
2563 float3 __ovld __cnfn convert_float3(long3);
2564 float3 __ovld __cnfn convert_float3_rte(ulong3);
2565 float3 __ovld __cnfn convert_float3_rtz(ulong3);
2566 float3 __ovld __cnfn convert_float3_rtp(ulong3);
2567 float3 __ovld __cnfn convert_float3_rtn(ulong3);
2568 float3 __ovld __cnfn convert_float3(ulong3);
2569 float3 __ovld __cnfn convert_float3_rte(float3);
2570 float3 __ovld __cnfn convert_float3_rtz(float3);
2571 float3 __ovld __cnfn convert_float3_rtp(float3);
2572 float3 __ovld __cnfn convert_float3_rtn(float3);
2573 float3 __ovld __cnfn convert_float3(float3);
2574 char4 __ovld __cnfn convert_char4_rte(char4);
2575 char4 __ovld __cnfn convert_char4_sat_rte(char4);
2576 char4 __ovld __cnfn convert_char4_rtz(char4);
2577 char4 __ovld __cnfn convert_char4_sat_rtz(char4);
2578 char4 __ovld __cnfn convert_char4_rtp(char4);
2579 char4 __ovld __cnfn convert_char4_sat_rtp(char4);
2580 char4 __ovld __cnfn convert_char4_rtn(char4);
2581 char4 __ovld __cnfn convert_char4_sat_rtn(char4);
2582 char4 __ovld __cnfn convert_char4(char4);
2583 char4 __ovld __cnfn convert_char4_sat(char4);
2584 char4 __ovld __cnfn convert_char4_rte(uchar4);
2585 char4 __ovld __cnfn convert_char4_sat_rte(uchar4);
2586 char4 __ovld __cnfn convert_char4_rtz(uchar4);
2587 char4 __ovld __cnfn convert_char4_sat_rtz(uchar4);
2588 char4 __ovld __cnfn convert_char4_rtp(uchar4);
2589 char4 __ovld __cnfn convert_char4_sat_rtp(uchar4);
2590 char4 __ovld __cnfn convert_char4_rtn(uchar4);
2591 char4 __ovld __cnfn convert_char4_sat_rtn(uchar4);
2592 char4 __ovld __cnfn convert_char4(uchar4);
2593 char4 __ovld __cnfn convert_char4_sat(uchar4);
2594 char4 __ovld __cnfn convert_char4_rte(short4);
2595 char4 __ovld __cnfn convert_char4_sat_rte(short4);
2596 char4 __ovld __cnfn convert_char4_rtz(short4);
2597 char4 __ovld __cnfn convert_char4_sat_rtz(short4);
2598 char4 __ovld __cnfn convert_char4_rtp(short4);
2599 char4 __ovld __cnfn convert_char4_sat_rtp(short4);
2600 char4 __ovld __cnfn convert_char4_rtn(short4);
2601 char4 __ovld __cnfn convert_char4_sat_rtn(short4);
2602 char4 __ovld __cnfn convert_char4(short4);
2603 char4 __ovld __cnfn convert_char4_sat(short4);
2604 char4 __ovld __cnfn convert_char4_rte(ushort4);
2605 char4 __ovld __cnfn convert_char4_sat_rte(ushort4);
2606 char4 __ovld __cnfn convert_char4_rtz(ushort4);
2607 char4 __ovld __cnfn convert_char4_sat_rtz(ushort4);
2608 char4 __ovld __cnfn convert_char4_rtp(ushort4);
2609 char4 __ovld __cnfn convert_char4_sat_rtp(ushort4);
2610 char4 __ovld __cnfn convert_char4_rtn(ushort4);
2611 char4 __ovld __cnfn convert_char4_sat_rtn(ushort4);
2612 char4 __ovld __cnfn convert_char4(ushort4);
2613 char4 __ovld __cnfn convert_char4_sat(ushort4);
2614 char4 __ovld __cnfn convert_char4_rte(int4);
2615 char4 __ovld __cnfn convert_char4_sat_rte(int4);
2616 char4 __ovld __cnfn convert_char4_rtz(int4);
2617 char4 __ovld __cnfn convert_char4_sat_rtz(int4);
2618 char4 __ovld __cnfn convert_char4_rtp(int4);
2619 char4 __ovld __cnfn convert_char4_sat_rtp(int4);
2620 char4 __ovld __cnfn convert_char4_rtn(int4);
2621 char4 __ovld __cnfn convert_char4_sat_rtn(int4);
2622 char4 __ovld __cnfn convert_char4(int4);
2623 char4 __ovld __cnfn convert_char4_sat(int4);
2624 char4 __ovld __cnfn convert_char4_rte(uint4);
2625 char4 __ovld __cnfn convert_char4_sat_rte(uint4);
2626 char4 __ovld __cnfn convert_char4_rtz(uint4);
2627 char4 __ovld __cnfn convert_char4_sat_rtz(uint4);
2628 char4 __ovld __cnfn convert_char4_rtp(uint4);
2629 char4 __ovld __cnfn convert_char4_sat_rtp(uint4);
2630 char4 __ovld __cnfn convert_char4_rtn(uint4);
2631 char4 __ovld __cnfn convert_char4_sat_rtn(uint4);
2632 char4 __ovld __cnfn convert_char4(uint4);
2633 char4 __ovld __cnfn convert_char4_sat(uint4);
2634 char4 __ovld __cnfn convert_char4_rte(long4);
2635 char4 __ovld __cnfn convert_char4_sat_rte(long4);
2636 char4 __ovld __cnfn convert_char4_rtz(long4);
2637 char4 __ovld __cnfn convert_char4_sat_rtz(long4);
2638 char4 __ovld __cnfn convert_char4_rtp(long4);
2639 char4 __ovld __cnfn convert_char4_sat_rtp(long4);
2640 char4 __ovld __cnfn convert_char4_rtn(long4);
2641 char4 __ovld __cnfn convert_char4_sat_rtn(long4);
2642 char4 __ovld __cnfn convert_char4(long4);
2643 char4 __ovld __cnfn convert_char4_sat(long4);
2644 char4 __ovld __cnfn convert_char4_rte(ulong4);
2645 char4 __ovld __cnfn convert_char4_sat_rte(ulong4);
2646 char4 __ovld __cnfn convert_char4_rtz(ulong4);
2647 char4 __ovld __cnfn convert_char4_sat_rtz(ulong4);
2648 char4 __ovld __cnfn convert_char4_rtp(ulong4);
2649 char4 __ovld __cnfn convert_char4_sat_rtp(ulong4);
2650 char4 __ovld __cnfn convert_char4_rtn(ulong4);
2651 char4 __ovld __cnfn convert_char4_sat_rtn(ulong4);
2652 char4 __ovld __cnfn convert_char4(ulong4);
2653 char4 __ovld __cnfn convert_char4_sat(ulong4);
2654 char4 __ovld __cnfn convert_char4_rte(float4);
2655 char4 __ovld __cnfn convert_char4_sat_rte(float4);
2656 char4 __ovld __cnfn convert_char4_rtz(float4);
2657 char4 __ovld __cnfn convert_char4_sat_rtz(float4);
2658 char4 __ovld __cnfn convert_char4_rtp(float4);
2659 char4 __ovld __cnfn convert_char4_sat_rtp(float4);
2660 char4 __ovld __cnfn convert_char4_rtn(float4);
2661 char4 __ovld __cnfn convert_char4_sat_rtn(float4);
2662 char4 __ovld __cnfn convert_char4(float4);
2663 char4 __ovld __cnfn convert_char4_sat(float4);
2664 uchar4 __ovld __cnfn convert_uchar4_rte(char4);
2665 uchar4 __ovld __cnfn convert_uchar4_sat_rte(char4);
2666 uchar4 __ovld __cnfn convert_uchar4_rtz(char4);
2667 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(char4);
2668 uchar4 __ovld __cnfn convert_uchar4_rtp(char4);
2669 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(char4);
2670 uchar4 __ovld __cnfn convert_uchar4_rtn(char4);
2671 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(char4);
2672 uchar4 __ovld __cnfn convert_uchar4(char4);
2673 uchar4 __ovld __cnfn convert_uchar4_sat(char4);
2674 uchar4 __ovld __cnfn convert_uchar4_rte(uchar4);
2675 uchar4 __ovld __cnfn convert_uchar4_sat_rte(uchar4);
2676 uchar4 __ovld __cnfn convert_uchar4_rtz(uchar4);
2677 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(uchar4);
2678 uchar4 __ovld __cnfn convert_uchar4_rtp(uchar4);
2679 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(uchar4);
2680 uchar4 __ovld __cnfn convert_uchar4_rtn(uchar4);
2681 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(uchar4);
2682 uchar4 __ovld __cnfn convert_uchar4(uchar4);
2683 uchar4 __ovld __cnfn convert_uchar4_sat(uchar4);
2684 uchar4 __ovld __cnfn convert_uchar4_rte(short4);
2685 uchar4 __ovld __cnfn convert_uchar4_sat_rte(short4);
2686 uchar4 __ovld __cnfn convert_uchar4_rtz(short4);
2687 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(short4);
2688 uchar4 __ovld __cnfn convert_uchar4_rtp(short4);
2689 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(short4);
2690 uchar4 __ovld __cnfn convert_uchar4_rtn(short4);
2691 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(short4);
2692 uchar4 __ovld __cnfn convert_uchar4(short4);
2693 uchar4 __ovld __cnfn convert_uchar4_sat(short4);
2694 uchar4 __ovld __cnfn convert_uchar4_rte(ushort4);
2695 uchar4 __ovld __cnfn convert_uchar4_sat_rte(ushort4);
2696 uchar4 __ovld __cnfn convert_uchar4_rtz(ushort4);
2697 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(ushort4);
2698 uchar4 __ovld __cnfn convert_uchar4_rtp(ushort4);
2699 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(ushort4);
2700 uchar4 __ovld __cnfn convert_uchar4_rtn(ushort4);
2701 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(ushort4);
2702 uchar4 __ovld __cnfn convert_uchar4(ushort4);
2703 uchar4 __ovld __cnfn convert_uchar4_sat(ushort4);
2704 uchar4 __ovld __cnfn convert_uchar4_rte(int4);
2705 uchar4 __ovld __cnfn convert_uchar4_sat_rte(int4);
2706 uchar4 __ovld __cnfn convert_uchar4_rtz(int4);
2707 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(int4);
2708 uchar4 __ovld __cnfn convert_uchar4_rtp(int4);
2709 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(int4);
2710 uchar4 __ovld __cnfn convert_uchar4_rtn(int4);
2711 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(int4);
2712 uchar4 __ovld __cnfn convert_uchar4(int4);
2713 uchar4 __ovld __cnfn convert_uchar4_sat(int4);
2714 uchar4 __ovld __cnfn convert_uchar4_rte(uint4);
2715 uchar4 __ovld __cnfn convert_uchar4_sat_rte(uint4);
2716 uchar4 __ovld __cnfn convert_uchar4_rtz(uint4);
2717 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(uint4);
2718 uchar4 __ovld __cnfn convert_uchar4_rtp(uint4);
2719 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(uint4);
2720 uchar4 __ovld __cnfn convert_uchar4_rtn(uint4);
2721 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(uint4);
2722 uchar4 __ovld __cnfn convert_uchar4(uint4);
2723 uchar4 __ovld __cnfn convert_uchar4_sat(uint4);
2724 uchar4 __ovld __cnfn convert_uchar4_rte(long4);
2725 uchar4 __ovld __cnfn convert_uchar4_sat_rte(long4);
2726 uchar4 __ovld __cnfn convert_uchar4_rtz(long4);
2727 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(long4);
2728 uchar4 __ovld __cnfn convert_uchar4_rtp(long4);
2729 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(long4);
2730 uchar4 __ovld __cnfn convert_uchar4_rtn(long4);
2731 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(long4);
2732 uchar4 __ovld __cnfn convert_uchar4(long4);
2733 uchar4 __ovld __cnfn convert_uchar4_sat(long4);
2734 uchar4 __ovld __cnfn convert_uchar4_rte(ulong4);
2735 uchar4 __ovld __cnfn convert_uchar4_sat_rte(ulong4);
2736 uchar4 __ovld __cnfn convert_uchar4_rtz(ulong4);
2737 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(ulong4);
2738 uchar4 __ovld __cnfn convert_uchar4_rtp(ulong4);
2739 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(ulong4);
2740 uchar4 __ovld __cnfn convert_uchar4_rtn(ulong4);
2741 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(ulong4);
2742 uchar4 __ovld __cnfn convert_uchar4(ulong4);
2743 uchar4 __ovld __cnfn convert_uchar4_sat(ulong4);
2744 uchar4 __ovld __cnfn convert_uchar4_rte(float4);
2745 uchar4 __ovld __cnfn convert_uchar4_sat_rte(float4);
2746 uchar4 __ovld __cnfn convert_uchar4_rtz(float4);
2747 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(float4);
2748 uchar4 __ovld __cnfn convert_uchar4_rtp(float4);
2749 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(float4);
2750 uchar4 __ovld __cnfn convert_uchar4_rtn(float4);
2751 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(float4);
2752 uchar4 __ovld __cnfn convert_uchar4(float4);
2753 uchar4 __ovld __cnfn convert_uchar4_sat(float4);
2754 short4 __ovld __cnfn convert_short4_rte(char4);
2755 short4 __ovld __cnfn convert_short4_sat_rte(char4);
2756 short4 __ovld __cnfn convert_short4_rtz(char4);
2757 short4 __ovld __cnfn convert_short4_sat_rtz(char4);
2758 short4 __ovld __cnfn convert_short4_rtp(char4);
2759 short4 __ovld __cnfn convert_short4_sat_rtp(char4);
2760 short4 __ovld __cnfn convert_short4_rtn(char4);
2761 short4 __ovld __cnfn convert_short4_sat_rtn(char4);
2762 short4 __ovld __cnfn convert_short4(char4);
2763 short4 __ovld __cnfn convert_short4_sat(char4);
2764 short4 __ovld __cnfn convert_short4_rte(uchar4);
2765 short4 __ovld __cnfn convert_short4_sat_rte(uchar4);
2766 short4 __ovld __cnfn convert_short4_rtz(uchar4);
2767 short4 __ovld __cnfn convert_short4_sat_rtz(uchar4);
2768 short4 __ovld __cnfn convert_short4_rtp(uchar4);
2769 short4 __ovld __cnfn convert_short4_sat_rtp(uchar4);
2770 short4 __ovld __cnfn convert_short4_rtn(uchar4);
2771 short4 __ovld __cnfn convert_short4_sat_rtn(uchar4);
2772 short4 __ovld __cnfn convert_short4(uchar4);
2773 short4 __ovld __cnfn convert_short4_sat(uchar4);
2774 short4 __ovld __cnfn convert_short4_rte(short4);
2775 short4 __ovld __cnfn convert_short4_sat_rte(short4);
2776 short4 __ovld __cnfn convert_short4_rtz(short4);
2777 short4 __ovld __cnfn convert_short4_sat_rtz(short4);
2778 short4 __ovld __cnfn convert_short4_rtp(short4);
2779 short4 __ovld __cnfn convert_short4_sat_rtp(short4);
2780 short4 __ovld __cnfn convert_short4_rtn(short4);
2781 short4 __ovld __cnfn convert_short4_sat_rtn(short4);
2782 short4 __ovld __cnfn convert_short4(short4);
2783 short4 __ovld __cnfn convert_short4_sat(short4);
2784 short4 __ovld __cnfn convert_short4_rte(ushort4);
2785 short4 __ovld __cnfn convert_short4_sat_rte(ushort4);
2786 short4 __ovld __cnfn convert_short4_rtz(ushort4);
2787 short4 __ovld __cnfn convert_short4_sat_rtz(ushort4);
2788 short4 __ovld __cnfn convert_short4_rtp(ushort4);
2789 short4 __ovld __cnfn convert_short4_sat_rtp(ushort4);
2790 short4 __ovld __cnfn convert_short4_rtn(ushort4);
2791 short4 __ovld __cnfn convert_short4_sat_rtn(ushort4);
2792 short4 __ovld __cnfn convert_short4(ushort4);
2793 short4 __ovld __cnfn convert_short4_sat(ushort4);
2794 short4 __ovld __cnfn convert_short4_rte(int4);
2795 short4 __ovld __cnfn convert_short4_sat_rte(int4);
2796 short4 __ovld __cnfn convert_short4_rtz(int4);
2797 short4 __ovld __cnfn convert_short4_sat_rtz(int4);
2798 short4 __ovld __cnfn convert_short4_rtp(int4);
2799 short4 __ovld __cnfn convert_short4_sat_rtp(int4);
2800 short4 __ovld __cnfn convert_short4_rtn(int4);
2801 short4 __ovld __cnfn convert_short4_sat_rtn(int4);
2802 short4 __ovld __cnfn convert_short4(int4);
2803 short4 __ovld __cnfn convert_short4_sat(int4);
2804 short4 __ovld __cnfn convert_short4_rte(uint4);
2805 short4 __ovld __cnfn convert_short4_sat_rte(uint4);
2806 short4 __ovld __cnfn convert_short4_rtz(uint4);
2807 short4 __ovld __cnfn convert_short4_sat_rtz(uint4);
2808 short4 __ovld __cnfn convert_short4_rtp(uint4);
2809 short4 __ovld __cnfn convert_short4_sat_rtp(uint4);
2810 short4 __ovld __cnfn convert_short4_rtn(uint4);
2811 short4 __ovld __cnfn convert_short4_sat_rtn(uint4);
2812 short4 __ovld __cnfn convert_short4(uint4);
2813 short4 __ovld __cnfn convert_short4_sat(uint4);
2814 short4 __ovld __cnfn convert_short4_rte(long4);
2815 short4 __ovld __cnfn convert_short4_sat_rte(long4);
2816 short4 __ovld __cnfn convert_short4_rtz(long4);
2817 short4 __ovld __cnfn convert_short4_sat_rtz(long4);
2818 short4 __ovld __cnfn convert_short4_rtp(long4);
2819 short4 __ovld __cnfn convert_short4_sat_rtp(long4);
2820 short4 __ovld __cnfn convert_short4_rtn(long4);
2821 short4 __ovld __cnfn convert_short4_sat_rtn(long4);
2822 short4 __ovld __cnfn convert_short4(long4);
2823 short4 __ovld __cnfn convert_short4_sat(long4);
2824 short4 __ovld __cnfn convert_short4_rte(ulong4);
2825 short4 __ovld __cnfn convert_short4_sat_rte(ulong4);
2826 short4 __ovld __cnfn convert_short4_rtz(ulong4);
2827 short4 __ovld __cnfn convert_short4_sat_rtz(ulong4);
2828 short4 __ovld __cnfn convert_short4_rtp(ulong4);
2829 short4 __ovld __cnfn convert_short4_sat_rtp(ulong4);
2830 short4 __ovld __cnfn convert_short4_rtn(ulong4);
2831 short4 __ovld __cnfn convert_short4_sat_rtn(ulong4);
2832 short4 __ovld __cnfn convert_short4(ulong4);
2833 short4 __ovld __cnfn convert_short4_sat(ulong4);
2834 short4 __ovld __cnfn convert_short4_rte(float4);
2835 short4 __ovld __cnfn convert_short4_sat_rte(float4);
2836 short4 __ovld __cnfn convert_short4_rtz(float4);
2837 short4 __ovld __cnfn convert_short4_sat_rtz(float4);
2838 short4 __ovld __cnfn convert_short4_rtp(float4);
2839 short4 __ovld __cnfn convert_short4_sat_rtp(float4);
2840 short4 __ovld __cnfn convert_short4_rtn(float4);
2841 short4 __ovld __cnfn convert_short4_sat_rtn(float4);
2842 short4 __ovld __cnfn convert_short4(float4);
2843 short4 __ovld __cnfn convert_short4_sat(float4);
2844 ushort4 __ovld __cnfn convert_ushort4_rte(char4);
2845 ushort4 __ovld __cnfn convert_ushort4_sat_rte(char4);
2846 ushort4 __ovld __cnfn convert_ushort4_rtz(char4);
2847 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(char4);
2848 ushort4 __ovld __cnfn convert_ushort4_rtp(char4);
2849 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(char4);
2850 ushort4 __ovld __cnfn convert_ushort4_rtn(char4);
2851 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(char4);
2852 ushort4 __ovld __cnfn convert_ushort4(char4);
2853 ushort4 __ovld __cnfn convert_ushort4_sat(char4);
2854 ushort4 __ovld __cnfn convert_ushort4_rte(uchar4);
2855 ushort4 __ovld __cnfn convert_ushort4_sat_rte(uchar4);
2856 ushort4 __ovld __cnfn convert_ushort4_rtz(uchar4);
2857 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(uchar4);
2858 ushort4 __ovld __cnfn convert_ushort4_rtp(uchar4);
2859 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(uchar4);
2860 ushort4 __ovld __cnfn convert_ushort4_rtn(uchar4);
2861 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(uchar4);
2862 ushort4 __ovld __cnfn convert_ushort4(uchar4);
2863 ushort4 __ovld __cnfn convert_ushort4_sat(uchar4);
2864 ushort4 __ovld __cnfn convert_ushort4_rte(short4);
2865 ushort4 __ovld __cnfn convert_ushort4_sat_rte(short4);
2866 ushort4 __ovld __cnfn convert_ushort4_rtz(short4);
2867 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(short4);
2868 ushort4 __ovld __cnfn convert_ushort4_rtp(short4);
2869 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(short4);
2870 ushort4 __ovld __cnfn convert_ushort4_rtn(short4);
2871 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(short4);
2872 ushort4 __ovld __cnfn convert_ushort4(short4);
2873 ushort4 __ovld __cnfn convert_ushort4_sat(short4);
2874 ushort4 __ovld __cnfn convert_ushort4_rte(ushort4);
2875 ushort4 __ovld __cnfn convert_ushort4_sat_rte(ushort4);
2876 ushort4 __ovld __cnfn convert_ushort4_rtz(ushort4);
2877 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(ushort4);
2878 ushort4 __ovld __cnfn convert_ushort4_rtp(ushort4);
2879 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(ushort4);
2880 ushort4 __ovld __cnfn convert_ushort4_rtn(ushort4);
2881 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(ushort4);
2882 ushort4 __ovld __cnfn convert_ushort4(ushort4);
2883 ushort4 __ovld __cnfn convert_ushort4_sat(ushort4);
2884 ushort4 __ovld __cnfn convert_ushort4_rte(int4);
2885 ushort4 __ovld __cnfn convert_ushort4_sat_rte(int4);
2886 ushort4 __ovld __cnfn convert_ushort4_rtz(int4);
2887 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(int4);
2888 ushort4 __ovld __cnfn convert_ushort4_rtp(int4);
2889 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(int4);
2890 ushort4 __ovld __cnfn convert_ushort4_rtn(int4);
2891 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(int4);
2892 ushort4 __ovld __cnfn convert_ushort4(int4);
2893 ushort4 __ovld __cnfn convert_ushort4_sat(int4);
2894 ushort4 __ovld __cnfn convert_ushort4_rte(uint4);
2895 ushort4 __ovld __cnfn convert_ushort4_sat_rte(uint4);
2896 ushort4 __ovld __cnfn convert_ushort4_rtz(uint4);
2897 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(uint4);
2898 ushort4 __ovld __cnfn convert_ushort4_rtp(uint4);
2899 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(uint4);
2900 ushort4 __ovld __cnfn convert_ushort4_rtn(uint4);
2901 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(uint4);
2902 ushort4 __ovld __cnfn convert_ushort4(uint4);
2903 ushort4 __ovld __cnfn convert_ushort4_sat(uint4);
2904 ushort4 __ovld __cnfn convert_ushort4_rte(long4);
2905 ushort4 __ovld __cnfn convert_ushort4_sat_rte(long4);
2906 ushort4 __ovld __cnfn convert_ushort4_rtz(long4);
2907 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(long4);
2908 ushort4 __ovld __cnfn convert_ushort4_rtp(long4);
2909 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(long4);
2910 ushort4 __ovld __cnfn convert_ushort4_rtn(long4);
2911 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(long4);
2912 ushort4 __ovld __cnfn convert_ushort4(long4);
2913 ushort4 __ovld __cnfn convert_ushort4_sat(long4);
2914 ushort4 __ovld __cnfn convert_ushort4_rte(ulong4);
2915 ushort4 __ovld __cnfn convert_ushort4_sat_rte(ulong4);
2916 ushort4 __ovld __cnfn convert_ushort4_rtz(ulong4);
2917 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(ulong4);
2918 ushort4 __ovld __cnfn convert_ushort4_rtp(ulong4);
2919 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(ulong4);
2920 ushort4 __ovld __cnfn convert_ushort4_rtn(ulong4);
2921 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(ulong4);
2922 ushort4 __ovld __cnfn convert_ushort4(ulong4);
2923 ushort4 __ovld __cnfn convert_ushort4_sat(ulong4);
2924 ushort4 __ovld __cnfn convert_ushort4_rte(float4);
2925 ushort4 __ovld __cnfn convert_ushort4_sat_rte(float4);
2926 ushort4 __ovld __cnfn convert_ushort4_rtz(float4);
2927 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(float4);
2928 ushort4 __ovld __cnfn convert_ushort4_rtp(float4);
2929 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(float4);
2930 ushort4 __ovld __cnfn convert_ushort4_rtn(float4);
2931 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(float4);
2932 ushort4 __ovld __cnfn convert_ushort4(float4);
2933 ushort4 __ovld __cnfn convert_ushort4_sat(float4);
2934 int4 __ovld __cnfn convert_int4_rte(char4);
2935 int4 __ovld __cnfn convert_int4_sat_rte(char4);
2936 int4 __ovld __cnfn convert_int4_rtz(char4);
2937 int4 __ovld __cnfn convert_int4_sat_rtz(char4);
2938 int4 __ovld __cnfn convert_int4_rtp(char4);
2939 int4 __ovld __cnfn convert_int4_sat_rtp(char4);
2940 int4 __ovld __cnfn convert_int4_rtn(char4);
2941 int4 __ovld __cnfn convert_int4_sat_rtn(char4);
2942 int4 __ovld __cnfn convert_int4(char4);
2943 int4 __ovld __cnfn convert_int4_sat(char4);
2944 int4 __ovld __cnfn convert_int4_rte(uchar4);
2945 int4 __ovld __cnfn convert_int4_sat_rte(uchar4);
2946 int4 __ovld __cnfn convert_int4_rtz(uchar4);
2947 int4 __ovld __cnfn convert_int4_sat_rtz(uchar4);
2948 int4 __ovld __cnfn convert_int4_rtp(uchar4);
2949 int4 __ovld __cnfn convert_int4_sat_rtp(uchar4);
2950 int4 __ovld __cnfn convert_int4_rtn(uchar4);
2951 int4 __ovld __cnfn convert_int4_sat_rtn(uchar4);
2952 int4 __ovld __cnfn convert_int4(uchar4);
2953 int4 __ovld __cnfn convert_int4_sat(uchar4);
2954 int4 __ovld __cnfn convert_int4_rte(short4);
2955 int4 __ovld __cnfn convert_int4_sat_rte(short4);
2956 int4 __ovld __cnfn convert_int4_rtz(short4);
2957 int4 __ovld __cnfn convert_int4_sat_rtz(short4);
2958 int4 __ovld __cnfn convert_int4_rtp(short4);
2959 int4 __ovld __cnfn convert_int4_sat_rtp(short4);
2960 int4 __ovld __cnfn convert_int4_rtn(short4);
2961 int4 __ovld __cnfn convert_int4_sat_rtn(short4);
2962 int4 __ovld __cnfn convert_int4(short4);
2963 int4 __ovld __cnfn convert_int4_sat(short4);
2964 int4 __ovld __cnfn convert_int4_rte(ushort4);
2965 int4 __ovld __cnfn convert_int4_sat_rte(ushort4);
2966 int4 __ovld __cnfn convert_int4_rtz(ushort4);
2967 int4 __ovld __cnfn convert_int4_sat_rtz(ushort4);
2968 int4 __ovld __cnfn convert_int4_rtp(ushort4);
2969 int4 __ovld __cnfn convert_int4_sat_rtp(ushort4);
2970 int4 __ovld __cnfn convert_int4_rtn(ushort4);
2971 int4 __ovld __cnfn convert_int4_sat_rtn(ushort4);
2972 int4 __ovld __cnfn convert_int4(ushort4);
2973 int4 __ovld __cnfn convert_int4_sat(ushort4);
2974 int4 __ovld __cnfn convert_int4_rte(int4);
2975 int4 __ovld __cnfn convert_int4_sat_rte(int4);
2976 int4 __ovld __cnfn convert_int4_rtz(int4);
2977 int4 __ovld __cnfn convert_int4_sat_rtz(int4);
2978 int4 __ovld __cnfn convert_int4_rtp(int4);
2979 int4 __ovld __cnfn convert_int4_sat_rtp(int4);
2980 int4 __ovld __cnfn convert_int4_rtn(int4);
2981 int4 __ovld __cnfn convert_int4_sat_rtn(int4);
2982 int4 __ovld __cnfn convert_int4(int4);
2983 int4 __ovld __cnfn convert_int4_sat(int4);
2984 int4 __ovld __cnfn convert_int4_rte(uint4);
2985 int4 __ovld __cnfn convert_int4_sat_rte(uint4);
2986 int4 __ovld __cnfn convert_int4_rtz(uint4);
2987 int4 __ovld __cnfn convert_int4_sat_rtz(uint4);
2988 int4 __ovld __cnfn convert_int4_rtp(uint4);
2989 int4 __ovld __cnfn convert_int4_sat_rtp(uint4);
2990 int4 __ovld __cnfn convert_int4_rtn(uint4);
2991 int4 __ovld __cnfn convert_int4_sat_rtn(uint4);
2992 int4 __ovld __cnfn convert_int4(uint4);
2993 int4 __ovld __cnfn convert_int4_sat(uint4);
2994 int4 __ovld __cnfn convert_int4_rte(long4);
2995 int4 __ovld __cnfn convert_int4_sat_rte(long4);
2996 int4 __ovld __cnfn convert_int4_rtz(long4);
2997 int4 __ovld __cnfn convert_int4_sat_rtz(long4);
2998 int4 __ovld __cnfn convert_int4_rtp(long4);
2999 int4 __ovld __cnfn convert_int4_sat_rtp(long4);
3000 int4 __ovld __cnfn convert_int4_rtn(long4);
3001 int4 __ovld __cnfn convert_int4_sat_rtn(long4);
3002 int4 __ovld __cnfn convert_int4(long4);
3003 int4 __ovld __cnfn convert_int4_sat(long4);
3004 int4 __ovld __cnfn convert_int4_rte(ulong4);
3005 int4 __ovld __cnfn convert_int4_sat_rte(ulong4);
3006 int4 __ovld __cnfn convert_int4_rtz(ulong4);
3007 int4 __ovld __cnfn convert_int4_sat_rtz(ulong4);
3008 int4 __ovld __cnfn convert_int4_rtp(ulong4);
3009 int4 __ovld __cnfn convert_int4_sat_rtp(ulong4);
3010 int4 __ovld __cnfn convert_int4_rtn(ulong4);
3011 int4 __ovld __cnfn convert_int4_sat_rtn(ulong4);
3012 int4 __ovld __cnfn convert_int4(ulong4);
3013 int4 __ovld __cnfn convert_int4_sat(ulong4);
3014 int4 __ovld __cnfn convert_int4_rte(float4);
3015 int4 __ovld __cnfn convert_int4_sat_rte(float4);
3016 int4 __ovld __cnfn convert_int4_rtz(float4);
3017 int4 __ovld __cnfn convert_int4_sat_rtz(float4);
3018 int4 __ovld __cnfn convert_int4_rtp(float4);
3019 int4 __ovld __cnfn convert_int4_sat_rtp(float4);
3020 int4 __ovld __cnfn convert_int4_rtn(float4);
3021 int4 __ovld __cnfn convert_int4_sat_rtn(float4);
3022 int4 __ovld __cnfn convert_int4(float4);
3023 int4 __ovld __cnfn convert_int4_sat(float4);
3024 uint4 __ovld __cnfn convert_uint4_rte(char4);
3025 uint4 __ovld __cnfn convert_uint4_sat_rte(char4);
3026 uint4 __ovld __cnfn convert_uint4_rtz(char4);
3027 uint4 __ovld __cnfn convert_uint4_sat_rtz(char4);
3028 uint4 __ovld __cnfn convert_uint4_rtp(char4);
3029 uint4 __ovld __cnfn convert_uint4_sat_rtp(char4);
3030 uint4 __ovld __cnfn convert_uint4_rtn(char4);
3031 uint4 __ovld __cnfn convert_uint4_sat_rtn(char4);
3032 uint4 __ovld __cnfn convert_uint4(char4);
3033 uint4 __ovld __cnfn convert_uint4_sat(char4);
3034 uint4 __ovld __cnfn convert_uint4_rte(uchar4);
3035 uint4 __ovld __cnfn convert_uint4_sat_rte(uchar4);
3036 uint4 __ovld __cnfn convert_uint4_rtz(uchar4);
3037 uint4 __ovld __cnfn convert_uint4_sat_rtz(uchar4);
3038 uint4 __ovld __cnfn convert_uint4_rtp(uchar4);
3039 uint4 __ovld __cnfn convert_uint4_sat_rtp(uchar4);
3040 uint4 __ovld __cnfn convert_uint4_rtn(uchar4);
3041 uint4 __ovld __cnfn convert_uint4_sat_rtn(uchar4);
3042 uint4 __ovld __cnfn convert_uint4(uchar4);
3043 uint4 __ovld __cnfn convert_uint4_sat(uchar4);
3044 uint4 __ovld __cnfn convert_uint4_rte(short4);
3045 uint4 __ovld __cnfn convert_uint4_sat_rte(short4);
3046 uint4 __ovld __cnfn convert_uint4_rtz(short4);
3047 uint4 __ovld __cnfn convert_uint4_sat_rtz(short4);
3048 uint4 __ovld __cnfn convert_uint4_rtp(short4);
3049 uint4 __ovld __cnfn convert_uint4_sat_rtp(short4);
3050 uint4 __ovld __cnfn convert_uint4_rtn(short4);
3051 uint4 __ovld __cnfn convert_uint4_sat_rtn(short4);
3052 uint4 __ovld __cnfn convert_uint4(short4);
3053 uint4 __ovld __cnfn convert_uint4_sat(short4);
3054 uint4 __ovld __cnfn convert_uint4_rte(ushort4);
3055 uint4 __ovld __cnfn convert_uint4_sat_rte(ushort4);
3056 uint4 __ovld __cnfn convert_uint4_rtz(ushort4);
3057 uint4 __ovld __cnfn convert_uint4_sat_rtz(ushort4);
3058 uint4 __ovld __cnfn convert_uint4_rtp(ushort4);
3059 uint4 __ovld __cnfn convert_uint4_sat_rtp(ushort4);
3060 uint4 __ovld __cnfn convert_uint4_rtn(ushort4);
3061 uint4 __ovld __cnfn convert_uint4_sat_rtn(ushort4);
3062 uint4 __ovld __cnfn convert_uint4(ushort4);
3063 uint4 __ovld __cnfn convert_uint4_sat(ushort4);
3064 uint4 __ovld __cnfn convert_uint4_rte(int4);
3065 uint4 __ovld __cnfn convert_uint4_sat_rte(int4);
3066 uint4 __ovld __cnfn convert_uint4_rtz(int4);
3067 uint4 __ovld __cnfn convert_uint4_sat_rtz(int4);
3068 uint4 __ovld __cnfn convert_uint4_rtp(int4);
3069 uint4 __ovld __cnfn convert_uint4_sat_rtp(int4);
3070 uint4 __ovld __cnfn convert_uint4_rtn(int4);
3071 uint4 __ovld __cnfn convert_uint4_sat_rtn(int4);
3072 uint4 __ovld __cnfn convert_uint4(int4);
3073 uint4 __ovld __cnfn convert_uint4_sat(int4);
3074 uint4 __ovld __cnfn convert_uint4_rte(uint4);
3075 uint4 __ovld __cnfn convert_uint4_sat_rte(uint4);
3076 uint4 __ovld __cnfn convert_uint4_rtz(uint4);
3077 uint4 __ovld __cnfn convert_uint4_sat_rtz(uint4);
3078 uint4 __ovld __cnfn convert_uint4_rtp(uint4);
3079 uint4 __ovld __cnfn convert_uint4_sat_rtp(uint4);
3080 uint4 __ovld __cnfn convert_uint4_rtn(uint4);
3081 uint4 __ovld __cnfn convert_uint4_sat_rtn(uint4);
3082 uint4 __ovld __cnfn convert_uint4(uint4);
3083 uint4 __ovld __cnfn convert_uint4_sat(uint4);
3084 uint4 __ovld __cnfn convert_uint4_rte(long4);
3085 uint4 __ovld __cnfn convert_uint4_sat_rte(long4);
3086 uint4 __ovld __cnfn convert_uint4_rtz(long4);
3087 uint4 __ovld __cnfn convert_uint4_sat_rtz(long4);
3088 uint4 __ovld __cnfn convert_uint4_rtp(long4);
3089 uint4 __ovld __cnfn convert_uint4_sat_rtp(long4);
3090 uint4 __ovld __cnfn convert_uint4_rtn(long4);
3091 uint4 __ovld __cnfn convert_uint4_sat_rtn(long4);
3092 uint4 __ovld __cnfn convert_uint4(long4);
3093 uint4 __ovld __cnfn convert_uint4_sat(long4);
3094 uint4 __ovld __cnfn convert_uint4_rte(ulong4);
3095 uint4 __ovld __cnfn convert_uint4_sat_rte(ulong4);
3096 uint4 __ovld __cnfn convert_uint4_rtz(ulong4);
3097 uint4 __ovld __cnfn convert_uint4_sat_rtz(ulong4);
3098 uint4 __ovld __cnfn convert_uint4_rtp(ulong4);
3099 uint4 __ovld __cnfn convert_uint4_sat_rtp(ulong4);
3100 uint4 __ovld __cnfn convert_uint4_rtn(ulong4);
3101 uint4 __ovld __cnfn convert_uint4_sat_rtn(ulong4);
3102 uint4 __ovld __cnfn convert_uint4(ulong4);
3103 uint4 __ovld __cnfn convert_uint4_sat(ulong4);
3104 uint4 __ovld __cnfn convert_uint4_rte(float4);
3105 uint4 __ovld __cnfn convert_uint4_sat_rte(float4);
3106 uint4 __ovld __cnfn convert_uint4_rtz(float4);
3107 uint4 __ovld __cnfn convert_uint4_sat_rtz(float4);
3108 uint4 __ovld __cnfn convert_uint4_rtp(float4);
3109 uint4 __ovld __cnfn convert_uint4_sat_rtp(float4);
3110 uint4 __ovld __cnfn convert_uint4_rtn(float4);
3111 uint4 __ovld __cnfn convert_uint4_sat_rtn(float4);
3112 uint4 __ovld __cnfn convert_uint4(float4);
3113 uint4 __ovld __cnfn convert_uint4_sat(float4);
3114 long4 __ovld __cnfn convert_long4_rte(char4);
3115 long4 __ovld __cnfn convert_long4_sat_rte(char4);
3116 long4 __ovld __cnfn convert_long4_rtz(char4);
3117 long4 __ovld __cnfn convert_long4_sat_rtz(char4);
3118 long4 __ovld __cnfn convert_long4_rtp(char4);
3119 long4 __ovld __cnfn convert_long4_sat_rtp(char4);
3120 long4 __ovld __cnfn convert_long4_rtn(char4);
3121 long4 __ovld __cnfn convert_long4_sat_rtn(char4);
3122 long4 __ovld __cnfn convert_long4(char4);
3123 long4 __ovld __cnfn convert_long4_sat(char4);
3124 long4 __ovld __cnfn convert_long4_rte(uchar4);
3125 long4 __ovld __cnfn convert_long4_sat_rte(uchar4);
3126 long4 __ovld __cnfn convert_long4_rtz(uchar4);
3127 long4 __ovld __cnfn convert_long4_sat_rtz(uchar4);
3128 long4 __ovld __cnfn convert_long4_rtp(uchar4);
3129 long4 __ovld __cnfn convert_long4_sat_rtp(uchar4);
3130 long4 __ovld __cnfn convert_long4_rtn(uchar4);
3131 long4 __ovld __cnfn convert_long4_sat_rtn(uchar4);
3132 long4 __ovld __cnfn convert_long4(uchar4);
3133 long4 __ovld __cnfn convert_long4_sat(uchar4);
3134 long4 __ovld __cnfn convert_long4_rte(short4);
3135 long4 __ovld __cnfn convert_long4_sat_rte(short4);
3136 long4 __ovld __cnfn convert_long4_rtz(short4);
3137 long4 __ovld __cnfn convert_long4_sat_rtz(short4);
3138 long4 __ovld __cnfn convert_long4_rtp(short4);
3139 long4 __ovld __cnfn convert_long4_sat_rtp(short4);
3140 long4 __ovld __cnfn convert_long4_rtn(short4);
3141 long4 __ovld __cnfn convert_long4_sat_rtn(short4);
3142 long4 __ovld __cnfn convert_long4(short4);
3143 long4 __ovld __cnfn convert_long4_sat(short4);
3144 long4 __ovld __cnfn convert_long4_rte(ushort4);
3145 long4 __ovld __cnfn convert_long4_sat_rte(ushort4);
3146 long4 __ovld __cnfn convert_long4_rtz(ushort4);
3147 long4 __ovld __cnfn convert_long4_sat_rtz(ushort4);
3148 long4 __ovld __cnfn convert_long4_rtp(ushort4);
3149 long4 __ovld __cnfn convert_long4_sat_rtp(ushort4);
3150 long4 __ovld __cnfn convert_long4_rtn(ushort4);
3151 long4 __ovld __cnfn convert_long4_sat_rtn(ushort4);
3152 long4 __ovld __cnfn convert_long4(ushort4);
3153 long4 __ovld __cnfn convert_long4_sat(ushort4);
3154 long4 __ovld __cnfn convert_long4_rte(int4);
3155 long4 __ovld __cnfn convert_long4_sat_rte(int4);
3156 long4 __ovld __cnfn convert_long4_rtz(int4);
3157 long4 __ovld __cnfn convert_long4_sat_rtz(int4);
3158 long4 __ovld __cnfn convert_long4_rtp(int4);
3159 long4 __ovld __cnfn convert_long4_sat_rtp(int4);
3160 long4 __ovld __cnfn convert_long4_rtn(int4);
3161 long4 __ovld __cnfn convert_long4_sat_rtn(int4);
3162 long4 __ovld __cnfn convert_long4(int4);
3163 long4 __ovld __cnfn convert_long4_sat(int4);
3164 long4 __ovld __cnfn convert_long4_rte(uint4);
3165 long4 __ovld __cnfn convert_long4_sat_rte(uint4);
3166 long4 __ovld __cnfn convert_long4_rtz(uint4);
3167 long4 __ovld __cnfn convert_long4_sat_rtz(uint4);
3168 long4 __ovld __cnfn convert_long4_rtp(uint4);
3169 long4 __ovld __cnfn convert_long4_sat_rtp(uint4);
3170 long4 __ovld __cnfn convert_long4_rtn(uint4);
3171 long4 __ovld __cnfn convert_long4_sat_rtn(uint4);
3172 long4 __ovld __cnfn convert_long4(uint4);
3173 long4 __ovld __cnfn convert_long4_sat(uint4);
3174 long4 __ovld __cnfn convert_long4_rte(long4);
3175 long4 __ovld __cnfn convert_long4_sat_rte(long4);
3176 long4 __ovld __cnfn convert_long4_rtz(long4);
3177 long4 __ovld __cnfn convert_long4_sat_rtz(long4);
3178 long4 __ovld __cnfn convert_long4_rtp(long4);
3179 long4 __ovld __cnfn convert_long4_sat_rtp(long4);
3180 long4 __ovld __cnfn convert_long4_rtn(long4);
3181 long4 __ovld __cnfn convert_long4_sat_rtn(long4);
3182 long4 __ovld __cnfn convert_long4(long4);
3183 long4 __ovld __cnfn convert_long4_sat(long4);
3184 long4 __ovld __cnfn convert_long4_rte(ulong4);
3185 long4 __ovld __cnfn convert_long4_sat_rte(ulong4);
3186 long4 __ovld __cnfn convert_long4_rtz(ulong4);
3187 long4 __ovld __cnfn convert_long4_sat_rtz(ulong4);
3188 long4 __ovld __cnfn convert_long4_rtp(ulong4);
3189 long4 __ovld __cnfn convert_long4_sat_rtp(ulong4);
3190 long4 __ovld __cnfn convert_long4_rtn(ulong4);
3191 long4 __ovld __cnfn convert_long4_sat_rtn(ulong4);
3192 long4 __ovld __cnfn convert_long4(ulong4);
3193 long4 __ovld __cnfn convert_long4_sat(ulong4);
3194 long4 __ovld __cnfn convert_long4_rte(float4);
3195 long4 __ovld __cnfn convert_long4_sat_rte(float4);
3196 long4 __ovld __cnfn convert_long4_rtz(float4);
3197 long4 __ovld __cnfn convert_long4_sat_rtz(float4);
3198 long4 __ovld __cnfn convert_long4_rtp(float4);
3199 long4 __ovld __cnfn convert_long4_sat_rtp(float4);
3200 long4 __ovld __cnfn convert_long4_rtn(float4);
3201 long4 __ovld __cnfn convert_long4_sat_rtn(float4);
3202 long4 __ovld __cnfn convert_long4(float4);
3203 long4 __ovld __cnfn convert_long4_sat(float4);
3204 ulong4 __ovld __cnfn convert_ulong4_rte(char4);
3205 ulong4 __ovld __cnfn convert_ulong4_sat_rte(char4);
3206 ulong4 __ovld __cnfn convert_ulong4_rtz(char4);
3207 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(char4);
3208 ulong4 __ovld __cnfn convert_ulong4_rtp(char4);
3209 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(char4);
3210 ulong4 __ovld __cnfn convert_ulong4_rtn(char4);
3211 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(char4);
3212 ulong4 __ovld __cnfn convert_ulong4(char4);
3213 ulong4 __ovld __cnfn convert_ulong4_sat(char4);
3214 ulong4 __ovld __cnfn convert_ulong4_rte(uchar4);
3215 ulong4 __ovld __cnfn convert_ulong4_sat_rte(uchar4);
3216 ulong4 __ovld __cnfn convert_ulong4_rtz(uchar4);
3217 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(uchar4);
3218 ulong4 __ovld __cnfn convert_ulong4_rtp(uchar4);
3219 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(uchar4);
3220 ulong4 __ovld __cnfn convert_ulong4_rtn(uchar4);
3221 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(uchar4);
3222 ulong4 __ovld __cnfn convert_ulong4(uchar4);
3223 ulong4 __ovld __cnfn convert_ulong4_sat(uchar4);
3224 ulong4 __ovld __cnfn convert_ulong4_rte(short4);
3225 ulong4 __ovld __cnfn convert_ulong4_sat_rte(short4);
3226 ulong4 __ovld __cnfn convert_ulong4_rtz(short4);
3227 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(short4);
3228 ulong4 __ovld __cnfn convert_ulong4_rtp(short4);
3229 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(short4);
3230 ulong4 __ovld __cnfn convert_ulong4_rtn(short4);
3231 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(short4);
3232 ulong4 __ovld __cnfn convert_ulong4(short4);
3233 ulong4 __ovld __cnfn convert_ulong4_sat(short4);
3234 ulong4 __ovld __cnfn convert_ulong4_rte(ushort4);
3235 ulong4 __ovld __cnfn convert_ulong4_sat_rte(ushort4);
3236 ulong4 __ovld __cnfn convert_ulong4_rtz(ushort4);
3237 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(ushort4);
3238 ulong4 __ovld __cnfn convert_ulong4_rtp(ushort4);
3239 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(ushort4);
3240 ulong4 __ovld __cnfn convert_ulong4_rtn(ushort4);
3241 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(ushort4);
3242 ulong4 __ovld __cnfn convert_ulong4(ushort4);
3243 ulong4 __ovld __cnfn convert_ulong4_sat(ushort4);
3244 ulong4 __ovld __cnfn convert_ulong4_rte(int4);
3245 ulong4 __ovld __cnfn convert_ulong4_sat_rte(int4);
3246 ulong4 __ovld __cnfn convert_ulong4_rtz(int4);
3247 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(int4);
3248 ulong4 __ovld __cnfn convert_ulong4_rtp(int4);
3249 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(int4);
3250 ulong4 __ovld __cnfn convert_ulong4_rtn(int4);
3251 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(int4);
3252 ulong4 __ovld __cnfn convert_ulong4(int4);
3253 ulong4 __ovld __cnfn convert_ulong4_sat(int4);
3254 ulong4 __ovld __cnfn convert_ulong4_rte(uint4);
3255 ulong4 __ovld __cnfn convert_ulong4_sat_rte(uint4);
3256 ulong4 __ovld __cnfn convert_ulong4_rtz(uint4);
3257 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(uint4);
3258 ulong4 __ovld __cnfn convert_ulong4_rtp(uint4);
3259 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(uint4);
3260 ulong4 __ovld __cnfn convert_ulong4_rtn(uint4);
3261 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(uint4);
3262 ulong4 __ovld __cnfn convert_ulong4(uint4);
3263 ulong4 __ovld __cnfn convert_ulong4_sat(uint4);
3264 ulong4 __ovld __cnfn convert_ulong4_rte(long4);
3265 ulong4 __ovld __cnfn convert_ulong4_sat_rte(long4);
3266 ulong4 __ovld __cnfn convert_ulong4_rtz(long4);
3267 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(long4);
3268 ulong4 __ovld __cnfn convert_ulong4_rtp(long4);
3269 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(long4);
3270 ulong4 __ovld __cnfn convert_ulong4_rtn(long4);
3271 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(long4);
3272 ulong4 __ovld __cnfn convert_ulong4(long4);
3273 ulong4 __ovld __cnfn convert_ulong4_sat(long4);
3274 ulong4 __ovld __cnfn convert_ulong4_rte(ulong4);
3275 ulong4 __ovld __cnfn convert_ulong4_sat_rte(ulong4);
3276 ulong4 __ovld __cnfn convert_ulong4_rtz(ulong4);
3277 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(ulong4);
3278 ulong4 __ovld __cnfn convert_ulong4_rtp(ulong4);
3279 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(ulong4);
3280 ulong4 __ovld __cnfn convert_ulong4_rtn(ulong4);
3281 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(ulong4);
3282 ulong4 __ovld __cnfn convert_ulong4(ulong4);
3283 ulong4 __ovld __cnfn convert_ulong4_sat(ulong4);
3284 ulong4 __ovld __cnfn convert_ulong4_rte(float4);
3285 ulong4 __ovld __cnfn convert_ulong4_sat_rte(float4);
3286 ulong4 __ovld __cnfn convert_ulong4_rtz(float4);
3287 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(float4);
3288 ulong4 __ovld __cnfn convert_ulong4_rtp(float4);
3289 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(float4);
3290 ulong4 __ovld __cnfn convert_ulong4_rtn(float4);
3291 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(float4);
3292 ulong4 __ovld __cnfn convert_ulong4(float4);
3293 ulong4 __ovld __cnfn convert_ulong4_sat(float4);
3294 float4 __ovld __cnfn convert_float4_rte(char4);
3295 float4 __ovld __cnfn convert_float4_rtz(char4);
3296 float4 __ovld __cnfn convert_float4_rtp(char4);
3297 float4 __ovld __cnfn convert_float4_rtn(char4);
3298 float4 __ovld __cnfn convert_float4(char4);
3299 float4 __ovld __cnfn convert_float4_rte(uchar4);
3300 float4 __ovld __cnfn convert_float4_rtz(uchar4);
3301 float4 __ovld __cnfn convert_float4_rtp(uchar4);
3302 float4 __ovld __cnfn convert_float4_rtn(uchar4);
3303 float4 __ovld __cnfn convert_float4(uchar4);
3304 float4 __ovld __cnfn convert_float4_rte(short4);
3305 float4 __ovld __cnfn convert_float4_rtz(short4);
3306 float4 __ovld __cnfn convert_float4_rtp(short4);
3307 float4 __ovld __cnfn convert_float4_rtn(short4);
3308 float4 __ovld __cnfn convert_float4(short4);
3309 float4 __ovld __cnfn convert_float4_rte(ushort4);
3310 float4 __ovld __cnfn convert_float4_rtz(ushort4);
3311 float4 __ovld __cnfn convert_float4_rtp(ushort4);
3312 float4 __ovld __cnfn convert_float4_rtn(ushort4);
3313 float4 __ovld __cnfn convert_float4(ushort4);
3314 float4 __ovld __cnfn convert_float4_rte(int4);
3315 float4 __ovld __cnfn convert_float4_rtz(int4);
3316 float4 __ovld __cnfn convert_float4_rtp(int4);
3317 float4 __ovld __cnfn convert_float4_rtn(int4);
3318 float4 __ovld __cnfn convert_float4(int4);
3319 float4 __ovld __cnfn convert_float4_rte(uint4);
3320 float4 __ovld __cnfn convert_float4_rtz(uint4);
3321 float4 __ovld __cnfn convert_float4_rtp(uint4);
3322 float4 __ovld __cnfn convert_float4_rtn(uint4);
3323 float4 __ovld __cnfn convert_float4(uint4);
3324 float4 __ovld __cnfn convert_float4_rte(long4);
3325 float4 __ovld __cnfn convert_float4_rtz(long4);
3326 float4 __ovld __cnfn convert_float4_rtp(long4);
3327 float4 __ovld __cnfn convert_float4_rtn(long4);
3328 float4 __ovld __cnfn convert_float4(long4);
3329 float4 __ovld __cnfn convert_float4_rte(ulong4);
3330 float4 __ovld __cnfn convert_float4_rtz(ulong4);
3331 float4 __ovld __cnfn convert_float4_rtp(ulong4);
3332 float4 __ovld __cnfn convert_float4_rtn(ulong4);
3333 float4 __ovld __cnfn convert_float4(ulong4);
3334 float4 __ovld __cnfn convert_float4_rte(float4);
3335 float4 __ovld __cnfn convert_float4_rtz(float4);
3336 float4 __ovld __cnfn convert_float4_rtp(float4);
3337 float4 __ovld __cnfn convert_float4_rtn(float4);
3338 float4 __ovld __cnfn convert_float4(float4);
3339 char8 __ovld __cnfn convert_char8_rte(char8);
3340 char8 __ovld __cnfn convert_char8_sat_rte(char8);
3341 char8 __ovld __cnfn convert_char8_rtz(char8);
3342 char8 __ovld __cnfn convert_char8_sat_rtz(char8);
3343 char8 __ovld __cnfn convert_char8_rtp(char8);
3344 char8 __ovld __cnfn convert_char8_sat_rtp(char8);
3345 char8 __ovld __cnfn convert_char8_rtn(char8);
3346 char8 __ovld __cnfn convert_char8_sat_rtn(char8);
3347 char8 __ovld __cnfn convert_char8(char8);
3348 char8 __ovld __cnfn convert_char8_sat(char8);
3349 char8 __ovld __cnfn convert_char8_rte(uchar8);
3350 char8 __ovld __cnfn convert_char8_sat_rte(uchar8);
3351 char8 __ovld __cnfn convert_char8_rtz(uchar8);
3352 char8 __ovld __cnfn convert_char8_sat_rtz(uchar8);
3353 char8 __ovld __cnfn convert_char8_rtp(uchar8);
3354 char8 __ovld __cnfn convert_char8_sat_rtp(uchar8);
3355 char8 __ovld __cnfn convert_char8_rtn(uchar8);
3356 char8 __ovld __cnfn convert_char8_sat_rtn(uchar8);
3357 char8 __ovld __cnfn convert_char8(uchar8);
3358 char8 __ovld __cnfn convert_char8_sat(uchar8);
3359 char8 __ovld __cnfn convert_char8_rte(short8);
3360 char8 __ovld __cnfn convert_char8_sat_rte(short8);
3361 char8 __ovld __cnfn convert_char8_rtz(short8);
3362 char8 __ovld __cnfn convert_char8_sat_rtz(short8);
3363 char8 __ovld __cnfn convert_char8_rtp(short8);
3364 char8 __ovld __cnfn convert_char8_sat_rtp(short8);
3365 char8 __ovld __cnfn convert_char8_rtn(short8);
3366 char8 __ovld __cnfn convert_char8_sat_rtn(short8);
3367 char8 __ovld __cnfn convert_char8(short8);
3368 char8 __ovld __cnfn convert_char8_sat(short8);
3369 char8 __ovld __cnfn convert_char8_rte(ushort8);
3370 char8 __ovld __cnfn convert_char8_sat_rte(ushort8);
3371 char8 __ovld __cnfn convert_char8_rtz(ushort8);
3372 char8 __ovld __cnfn convert_char8_sat_rtz(ushort8);
3373 char8 __ovld __cnfn convert_char8_rtp(ushort8);
3374 char8 __ovld __cnfn convert_char8_sat_rtp(ushort8);
3375 char8 __ovld __cnfn convert_char8_rtn(ushort8);
3376 char8 __ovld __cnfn convert_char8_sat_rtn(ushort8);
3377 char8 __ovld __cnfn convert_char8(ushort8);
3378 char8 __ovld __cnfn convert_char8_sat(ushort8);
3379 char8 __ovld __cnfn convert_char8_rte(int8);
3380 char8 __ovld __cnfn convert_char8_sat_rte(int8);
3381 char8 __ovld __cnfn convert_char8_rtz(int8);
3382 char8 __ovld __cnfn convert_char8_sat_rtz(int8);
3383 char8 __ovld __cnfn convert_char8_rtp(int8);
3384 char8 __ovld __cnfn convert_char8_sat_rtp(int8);
3385 char8 __ovld __cnfn convert_char8_rtn(int8);
3386 char8 __ovld __cnfn convert_char8_sat_rtn(int8);
3387 char8 __ovld __cnfn convert_char8(int8);
3388 char8 __ovld __cnfn convert_char8_sat(int8);
3389 char8 __ovld __cnfn convert_char8_rte(uint8);
3390 char8 __ovld __cnfn convert_char8_sat_rte(uint8);
3391 char8 __ovld __cnfn convert_char8_rtz(uint8);
3392 char8 __ovld __cnfn convert_char8_sat_rtz(uint8);
3393 char8 __ovld __cnfn convert_char8_rtp(uint8);
3394 char8 __ovld __cnfn convert_char8_sat_rtp(uint8);
3395 char8 __ovld __cnfn convert_char8_rtn(uint8);
3396 char8 __ovld __cnfn convert_char8_sat_rtn(uint8);
3397 char8 __ovld __cnfn convert_char8(uint8);
3398 char8 __ovld __cnfn convert_char8_sat(uint8);
3399 char8 __ovld __cnfn convert_char8_rte(long8);
3400 char8 __ovld __cnfn convert_char8_sat_rte(long8);
3401 char8 __ovld __cnfn convert_char8_rtz(long8);
3402 char8 __ovld __cnfn convert_char8_sat_rtz(long8);
3403 char8 __ovld __cnfn convert_char8_rtp(long8);
3404 char8 __ovld __cnfn convert_char8_sat_rtp(long8);
3405 char8 __ovld __cnfn convert_char8_rtn(long8);
3406 char8 __ovld __cnfn convert_char8_sat_rtn(long8);
3407 char8 __ovld __cnfn convert_char8(long8);
3408 char8 __ovld __cnfn convert_char8_sat(long8);
3409 char8 __ovld __cnfn convert_char8_rte(ulong8);
3410 char8 __ovld __cnfn convert_char8_sat_rte(ulong8);
3411 char8 __ovld __cnfn convert_char8_rtz(ulong8);
3412 char8 __ovld __cnfn convert_char8_sat_rtz(ulong8);
3413 char8 __ovld __cnfn convert_char8_rtp(ulong8);
3414 char8 __ovld __cnfn convert_char8_sat_rtp(ulong8);
3415 char8 __ovld __cnfn convert_char8_rtn(ulong8);
3416 char8 __ovld __cnfn convert_char8_sat_rtn(ulong8);
3417 char8 __ovld __cnfn convert_char8(ulong8);
3418 char8 __ovld __cnfn convert_char8_sat(ulong8);
3419 char8 __ovld __cnfn convert_char8_rte(float8);
3420 char8 __ovld __cnfn convert_char8_sat_rte(float8);
3421 char8 __ovld __cnfn convert_char8_rtz(float8);
3422 char8 __ovld __cnfn convert_char8_sat_rtz(float8);
3423 char8 __ovld __cnfn convert_char8_rtp(float8);
3424 char8 __ovld __cnfn convert_char8_sat_rtp(float8);
3425 char8 __ovld __cnfn convert_char8_rtn(float8);
3426 char8 __ovld __cnfn convert_char8_sat_rtn(float8);
3427 char8 __ovld __cnfn convert_char8(float8);
3428 char8 __ovld __cnfn convert_char8_sat(float8);
3429 uchar8 __ovld __cnfn convert_uchar8_rte(char8);
3430 uchar8 __ovld __cnfn convert_uchar8_sat_rte(char8);
3431 uchar8 __ovld __cnfn convert_uchar8_rtz(char8);
3432 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(char8);
3433 uchar8 __ovld __cnfn convert_uchar8_rtp(char8);
3434 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(char8);
3435 uchar8 __ovld __cnfn convert_uchar8_rtn(char8);
3436 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(char8);
3437 uchar8 __ovld __cnfn convert_uchar8(char8);
3438 uchar8 __ovld __cnfn convert_uchar8_sat(char8);
3439 uchar8 __ovld __cnfn convert_uchar8_rte(uchar8);
3440 uchar8 __ovld __cnfn convert_uchar8_sat_rte(uchar8);
3441 uchar8 __ovld __cnfn convert_uchar8_rtz(uchar8);
3442 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(uchar8);
3443 uchar8 __ovld __cnfn convert_uchar8_rtp(uchar8);
3444 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(uchar8);
3445 uchar8 __ovld __cnfn convert_uchar8_rtn(uchar8);
3446 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(uchar8);
3447 uchar8 __ovld __cnfn convert_uchar8(uchar8);
3448 uchar8 __ovld __cnfn convert_uchar8_sat(uchar8);
3449 uchar8 __ovld __cnfn convert_uchar8_rte(short8);
3450 uchar8 __ovld __cnfn convert_uchar8_sat_rte(short8);
3451 uchar8 __ovld __cnfn convert_uchar8_rtz(short8);
3452 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(short8);
3453 uchar8 __ovld __cnfn convert_uchar8_rtp(short8);
3454 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(short8);
3455 uchar8 __ovld __cnfn convert_uchar8_rtn(short8);
3456 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(short8);
3457 uchar8 __ovld __cnfn convert_uchar8(short8);
3458 uchar8 __ovld __cnfn convert_uchar8_sat(short8);
3459 uchar8 __ovld __cnfn convert_uchar8_rte(ushort8);
3460 uchar8 __ovld __cnfn convert_uchar8_sat_rte(ushort8);
3461 uchar8 __ovld __cnfn convert_uchar8_rtz(ushort8);
3462 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(ushort8);
3463 uchar8 __ovld __cnfn convert_uchar8_rtp(ushort8);
3464 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(ushort8);
3465 uchar8 __ovld __cnfn convert_uchar8_rtn(ushort8);
3466 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(ushort8);
3467 uchar8 __ovld __cnfn convert_uchar8(ushort8);
3468 uchar8 __ovld __cnfn convert_uchar8_sat(ushort8);
3469 uchar8 __ovld __cnfn convert_uchar8_rte(int8);
3470 uchar8 __ovld __cnfn convert_uchar8_sat_rte(int8);
3471 uchar8 __ovld __cnfn convert_uchar8_rtz(int8);
3472 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(int8);
3473 uchar8 __ovld __cnfn convert_uchar8_rtp(int8);
3474 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(int8);
3475 uchar8 __ovld __cnfn convert_uchar8_rtn(int8);
3476 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(int8);
3477 uchar8 __ovld __cnfn convert_uchar8(int8);
3478 uchar8 __ovld __cnfn convert_uchar8_sat(int8);
3479 uchar8 __ovld __cnfn convert_uchar8_rte(uint8);
3480 uchar8 __ovld __cnfn convert_uchar8_sat_rte(uint8);
3481 uchar8 __ovld __cnfn convert_uchar8_rtz(uint8);
3482 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(uint8);
3483 uchar8 __ovld __cnfn convert_uchar8_rtp(uint8);
3484 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(uint8);
3485 uchar8 __ovld __cnfn convert_uchar8_rtn(uint8);
3486 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(uint8);
3487 uchar8 __ovld __cnfn convert_uchar8(uint8);
3488 uchar8 __ovld __cnfn convert_uchar8_sat(uint8);
3489 uchar8 __ovld __cnfn convert_uchar8_rte(long8);
3490 uchar8 __ovld __cnfn convert_uchar8_sat_rte(long8);
3491 uchar8 __ovld __cnfn convert_uchar8_rtz(long8);
3492 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(long8);
3493 uchar8 __ovld __cnfn convert_uchar8_rtp(long8);
3494 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(long8);
3495 uchar8 __ovld __cnfn convert_uchar8_rtn(long8);
3496 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(long8);
3497 uchar8 __ovld __cnfn convert_uchar8(long8);
3498 uchar8 __ovld __cnfn convert_uchar8_sat(long8);
3499 uchar8 __ovld __cnfn convert_uchar8_rte(ulong8);
3500 uchar8 __ovld __cnfn convert_uchar8_sat_rte(ulong8);
3501 uchar8 __ovld __cnfn convert_uchar8_rtz(ulong8);
3502 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(ulong8);
3503 uchar8 __ovld __cnfn convert_uchar8_rtp(ulong8);
3504 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(ulong8);
3505 uchar8 __ovld __cnfn convert_uchar8_rtn(ulong8);
3506 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(ulong8);
3507 uchar8 __ovld __cnfn convert_uchar8(ulong8);
3508 uchar8 __ovld __cnfn convert_uchar8_sat(ulong8);
3509 uchar8 __ovld __cnfn convert_uchar8_rte(float8);
3510 uchar8 __ovld __cnfn convert_uchar8_sat_rte(float8);
3511 uchar8 __ovld __cnfn convert_uchar8_rtz(float8);
3512 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(float8);
3513 uchar8 __ovld __cnfn convert_uchar8_rtp(float8);
3514 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(float8);
3515 uchar8 __ovld __cnfn convert_uchar8_rtn(float8);
3516 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(float8);
3517 uchar8 __ovld __cnfn convert_uchar8(float8);
3518 uchar8 __ovld __cnfn convert_uchar8_sat(float8);
3519 short8 __ovld __cnfn convert_short8_rte(char8);
3520 short8 __ovld __cnfn convert_short8_sat_rte(char8);
3521 short8 __ovld __cnfn convert_short8_rtz(char8);
3522 short8 __ovld __cnfn convert_short8_sat_rtz(char8);
3523 short8 __ovld __cnfn convert_short8_rtp(char8);
3524 short8 __ovld __cnfn convert_short8_sat_rtp(char8);
3525 short8 __ovld __cnfn convert_short8_rtn(char8);
3526 short8 __ovld __cnfn convert_short8_sat_rtn(char8);
3527 short8 __ovld __cnfn convert_short8(char8);
3528 short8 __ovld __cnfn convert_short8_sat(char8);
3529 short8 __ovld __cnfn convert_short8_rte(uchar8);
3530 short8 __ovld __cnfn convert_short8_sat_rte(uchar8);
3531 short8 __ovld __cnfn convert_short8_rtz(uchar8);
3532 short8 __ovld __cnfn convert_short8_sat_rtz(uchar8);
3533 short8 __ovld __cnfn convert_short8_rtp(uchar8);
3534 short8 __ovld __cnfn convert_short8_sat_rtp(uchar8);
3535 short8 __ovld __cnfn convert_short8_rtn(uchar8);
3536 short8 __ovld __cnfn convert_short8_sat_rtn(uchar8);
3537 short8 __ovld __cnfn convert_short8(uchar8);
3538 short8 __ovld __cnfn convert_short8_sat(uchar8);
3539 short8 __ovld __cnfn convert_short8_rte(short8);
3540 short8 __ovld __cnfn convert_short8_sat_rte(short8);
3541 short8 __ovld __cnfn convert_short8_rtz(short8);
3542 short8 __ovld __cnfn convert_short8_sat_rtz(short8);
3543 short8 __ovld __cnfn convert_short8_rtp(short8);
3544 short8 __ovld __cnfn convert_short8_sat_rtp(short8);
3545 short8 __ovld __cnfn convert_short8_rtn(short8);
3546 short8 __ovld __cnfn convert_short8_sat_rtn(short8);
3547 short8 __ovld __cnfn convert_short8(short8);
3548 short8 __ovld __cnfn convert_short8_sat(short8);
3549 short8 __ovld __cnfn convert_short8_rte(ushort8);
3550 short8 __ovld __cnfn convert_short8_sat_rte(ushort8);
3551 short8 __ovld __cnfn convert_short8_rtz(ushort8);
3552 short8 __ovld __cnfn convert_short8_sat_rtz(ushort8);
3553 short8 __ovld __cnfn convert_short8_rtp(ushort8);
3554 short8 __ovld __cnfn convert_short8_sat_rtp(ushort8);
3555 short8 __ovld __cnfn convert_short8_rtn(ushort8);
3556 short8 __ovld __cnfn convert_short8_sat_rtn(ushort8);
3557 short8 __ovld __cnfn convert_short8(ushort8);
3558 short8 __ovld __cnfn convert_short8_sat(ushort8);
3559 short8 __ovld __cnfn convert_short8_rte(int8);
3560 short8 __ovld __cnfn convert_short8_sat_rte(int8);
3561 short8 __ovld __cnfn convert_short8_rtz(int8);
3562 short8 __ovld __cnfn convert_short8_sat_rtz(int8);
3563 short8 __ovld __cnfn convert_short8_rtp(int8);
3564 short8 __ovld __cnfn convert_short8_sat_rtp(int8);
3565 short8 __ovld __cnfn convert_short8_rtn(int8);
3566 short8 __ovld __cnfn convert_short8_sat_rtn(int8);
3567 short8 __ovld __cnfn convert_short8(int8);
3568 short8 __ovld __cnfn convert_short8_sat(int8);
3569 short8 __ovld __cnfn convert_short8_rte(uint8);
3570 short8 __ovld __cnfn convert_short8_sat_rte(uint8);
3571 short8 __ovld __cnfn convert_short8_rtz(uint8);
3572 short8 __ovld __cnfn convert_short8_sat_rtz(uint8);
3573 short8 __ovld __cnfn convert_short8_rtp(uint8);
3574 short8 __ovld __cnfn convert_short8_sat_rtp(uint8);
3575 short8 __ovld __cnfn convert_short8_rtn(uint8);
3576 short8 __ovld __cnfn convert_short8_sat_rtn(uint8);
3577 short8 __ovld __cnfn convert_short8(uint8);
3578 short8 __ovld __cnfn convert_short8_sat(uint8);
3579 short8 __ovld __cnfn convert_short8_rte(long8);
3580 short8 __ovld __cnfn convert_short8_sat_rte(long8);
3581 short8 __ovld __cnfn convert_short8_rtz(long8);
3582 short8 __ovld __cnfn convert_short8_sat_rtz(long8);
3583 short8 __ovld __cnfn convert_short8_rtp(long8);
3584 short8 __ovld __cnfn convert_short8_sat_rtp(long8);
3585 short8 __ovld __cnfn convert_short8_rtn(long8);
3586 short8 __ovld __cnfn convert_short8_sat_rtn(long8);
3587 short8 __ovld __cnfn convert_short8(long8);
3588 short8 __ovld __cnfn convert_short8_sat(long8);
3589 short8 __ovld __cnfn convert_short8_rte(ulong8);
3590 short8 __ovld __cnfn convert_short8_sat_rte(ulong8);
3591 short8 __ovld __cnfn convert_short8_rtz(ulong8);
3592 short8 __ovld __cnfn convert_short8_sat_rtz(ulong8);
3593 short8 __ovld __cnfn convert_short8_rtp(ulong8);
3594 short8 __ovld __cnfn convert_short8_sat_rtp(ulong8);
3595 short8 __ovld __cnfn convert_short8_rtn(ulong8);
3596 short8 __ovld __cnfn convert_short8_sat_rtn(ulong8);
3597 short8 __ovld __cnfn convert_short8(ulong8);
3598 short8 __ovld __cnfn convert_short8_sat(ulong8);
3599 short8 __ovld __cnfn convert_short8_rte(float8);
3600 short8 __ovld __cnfn convert_short8_sat_rte(float8);
3601 short8 __ovld __cnfn convert_short8_rtz(float8);
3602 short8 __ovld __cnfn convert_short8_sat_rtz(float8);
3603 short8 __ovld __cnfn convert_short8_rtp(float8);
3604 short8 __ovld __cnfn convert_short8_sat_rtp(float8);
3605 short8 __ovld __cnfn convert_short8_rtn(float8);
3606 short8 __ovld __cnfn convert_short8_sat_rtn(float8);
3607 short8 __ovld __cnfn convert_short8(float8);
3608 short8 __ovld __cnfn convert_short8_sat(float8);
3609 ushort8 __ovld __cnfn convert_ushort8_rte(char8);
3610 ushort8 __ovld __cnfn convert_ushort8_sat_rte(char8);
3611 ushort8 __ovld __cnfn convert_ushort8_rtz(char8);
3612 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(char8);
3613 ushort8 __ovld __cnfn convert_ushort8_rtp(char8);
3614 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(char8);
3615 ushort8 __ovld __cnfn convert_ushort8_rtn(char8);
3616 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(char8);
3617 ushort8 __ovld __cnfn convert_ushort8(char8);
3618 ushort8 __ovld __cnfn convert_ushort8_sat(char8);
3619 ushort8 __ovld __cnfn convert_ushort8_rte(uchar8);
3620 ushort8 __ovld __cnfn convert_ushort8_sat_rte(uchar8);
3621 ushort8 __ovld __cnfn convert_ushort8_rtz(uchar8);
3622 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(uchar8);
3623 ushort8 __ovld __cnfn convert_ushort8_rtp(uchar8);
3624 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(uchar8);
3625 ushort8 __ovld __cnfn convert_ushort8_rtn(uchar8);
3626 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(uchar8);
3627 ushort8 __ovld __cnfn convert_ushort8(uchar8);
3628 ushort8 __ovld __cnfn convert_ushort8_sat(uchar8);
3629 ushort8 __ovld __cnfn convert_ushort8_rte(short8);
3630 ushort8 __ovld __cnfn convert_ushort8_sat_rte(short8);
3631 ushort8 __ovld __cnfn convert_ushort8_rtz(short8);
3632 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(short8);
3633 ushort8 __ovld __cnfn convert_ushort8_rtp(short8);
3634 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(short8);
3635 ushort8 __ovld __cnfn convert_ushort8_rtn(short8);
3636 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(short8);
3637 ushort8 __ovld __cnfn convert_ushort8(short8);
3638 ushort8 __ovld __cnfn convert_ushort8_sat(short8);
3639 ushort8 __ovld __cnfn convert_ushort8_rte(ushort8);
3640 ushort8 __ovld __cnfn convert_ushort8_sat_rte(ushort8);
3641 ushort8 __ovld __cnfn convert_ushort8_rtz(ushort8);
3642 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(ushort8);
3643 ushort8 __ovld __cnfn convert_ushort8_rtp(ushort8);
3644 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(ushort8);
3645 ushort8 __ovld __cnfn convert_ushort8_rtn(ushort8);
3646 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(ushort8);
3647 ushort8 __ovld __cnfn convert_ushort8(ushort8);
3648 ushort8 __ovld __cnfn convert_ushort8_sat(ushort8);
3649 ushort8 __ovld __cnfn convert_ushort8_rte(int8);
3650 ushort8 __ovld __cnfn convert_ushort8_sat_rte(int8);
3651 ushort8 __ovld __cnfn convert_ushort8_rtz(int8);
3652 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(int8);
3653 ushort8 __ovld __cnfn convert_ushort8_rtp(int8);
3654 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(int8);
3655 ushort8 __ovld __cnfn convert_ushort8_rtn(int8);
3656 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(int8);
3657 ushort8 __ovld __cnfn convert_ushort8(int8);
3658 ushort8 __ovld __cnfn convert_ushort8_sat(int8);
3659 ushort8 __ovld __cnfn convert_ushort8_rte(uint8);
3660 ushort8 __ovld __cnfn convert_ushort8_sat_rte(uint8);
3661 ushort8 __ovld __cnfn convert_ushort8_rtz(uint8);
3662 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(uint8);
3663 ushort8 __ovld __cnfn convert_ushort8_rtp(uint8);
3664 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(uint8);
3665 ushort8 __ovld __cnfn convert_ushort8_rtn(uint8);
3666 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(uint8);
3667 ushort8 __ovld __cnfn convert_ushort8(uint8);
3668 ushort8 __ovld __cnfn convert_ushort8_sat(uint8);
3669 ushort8 __ovld __cnfn convert_ushort8_rte(long8);
3670 ushort8 __ovld __cnfn convert_ushort8_sat_rte(long8);
3671 ushort8 __ovld __cnfn convert_ushort8_rtz(long8);
3672 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(long8);
3673 ushort8 __ovld __cnfn convert_ushort8_rtp(long8);
3674 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(long8);
3675 ushort8 __ovld __cnfn convert_ushort8_rtn(long8);
3676 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(long8);
3677 ushort8 __ovld __cnfn convert_ushort8(long8);
3678 ushort8 __ovld __cnfn convert_ushort8_sat(long8);
3679 ushort8 __ovld __cnfn convert_ushort8_rte(ulong8);
3680 ushort8 __ovld __cnfn convert_ushort8_sat_rte(ulong8);
3681 ushort8 __ovld __cnfn convert_ushort8_rtz(ulong8);
3682 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(ulong8);
3683 ushort8 __ovld __cnfn convert_ushort8_rtp(ulong8);
3684 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(ulong8);
3685 ushort8 __ovld __cnfn convert_ushort8_rtn(ulong8);
3686 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(ulong8);
3687 ushort8 __ovld __cnfn convert_ushort8(ulong8);
3688 ushort8 __ovld __cnfn convert_ushort8_sat(ulong8);
3689 ushort8 __ovld __cnfn convert_ushort8_rte(float8);
3690 ushort8 __ovld __cnfn convert_ushort8_sat_rte(float8);
3691 ushort8 __ovld __cnfn convert_ushort8_rtz(float8);
3692 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(float8);
3693 ushort8 __ovld __cnfn convert_ushort8_rtp(float8);
3694 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(float8);
3695 ushort8 __ovld __cnfn convert_ushort8_rtn(float8);
3696 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(float8);
3697 ushort8 __ovld __cnfn convert_ushort8(float8);
3698 ushort8 __ovld __cnfn convert_ushort8_sat(float8);
3699 int8 __ovld __cnfn convert_int8_rte(char8);
3700 int8 __ovld __cnfn convert_int8_sat_rte(char8);
3701 int8 __ovld __cnfn convert_int8_rtz(char8);
3702 int8 __ovld __cnfn convert_int8_sat_rtz(char8);
3703 int8 __ovld __cnfn convert_int8_rtp(char8);
3704 int8 __ovld __cnfn convert_int8_sat_rtp(char8);
3705 int8 __ovld __cnfn convert_int8_rtn(char8);
3706 int8 __ovld __cnfn convert_int8_sat_rtn(char8);
3707 int8 __ovld __cnfn convert_int8(char8);
3708 int8 __ovld __cnfn convert_int8_sat(char8);
3709 int8 __ovld __cnfn convert_int8_rte(uchar8);
3710 int8 __ovld __cnfn convert_int8_sat_rte(uchar8);
3711 int8 __ovld __cnfn convert_int8_rtz(uchar8);
3712 int8 __ovld __cnfn convert_int8_sat_rtz(uchar8);
3713 int8 __ovld __cnfn convert_int8_rtp(uchar8);
3714 int8 __ovld __cnfn convert_int8_sat_rtp(uchar8);
3715 int8 __ovld __cnfn convert_int8_rtn(uchar8);
3716 int8 __ovld __cnfn convert_int8_sat_rtn(uchar8);
3717 int8 __ovld __cnfn convert_int8(uchar8);
3718 int8 __ovld __cnfn convert_int8_sat(uchar8);
3719 int8 __ovld __cnfn convert_int8_rte(short8);
3720 int8 __ovld __cnfn convert_int8_sat_rte(short8);
3721 int8 __ovld __cnfn convert_int8_rtz(short8);
3722 int8 __ovld __cnfn convert_int8_sat_rtz(short8);
3723 int8 __ovld __cnfn convert_int8_rtp(short8);
3724 int8 __ovld __cnfn convert_int8_sat_rtp(short8);
3725 int8 __ovld __cnfn convert_int8_rtn(short8);
3726 int8 __ovld __cnfn convert_int8_sat_rtn(short8);
3727 int8 __ovld __cnfn convert_int8(short8);
3728 int8 __ovld __cnfn convert_int8_sat(short8);
3729 int8 __ovld __cnfn convert_int8_rte(ushort8);
3730 int8 __ovld __cnfn convert_int8_sat_rte(ushort8);
3731 int8 __ovld __cnfn convert_int8_rtz(ushort8);
3732 int8 __ovld __cnfn convert_int8_sat_rtz(ushort8);
3733 int8 __ovld __cnfn convert_int8_rtp(ushort8);
3734 int8 __ovld __cnfn convert_int8_sat_rtp(ushort8);
3735 int8 __ovld __cnfn convert_int8_rtn(ushort8);
3736 int8 __ovld __cnfn convert_int8_sat_rtn(ushort8);
3737 int8 __ovld __cnfn convert_int8(ushort8);
3738 int8 __ovld __cnfn convert_int8_sat(ushort8);
3739 int8 __ovld __cnfn convert_int8_rte(int8);
3740 int8 __ovld __cnfn convert_int8_sat_rte(int8);
3741 int8 __ovld __cnfn convert_int8_rtz(int8);
3742 int8 __ovld __cnfn convert_int8_sat_rtz(int8);
3743 int8 __ovld __cnfn convert_int8_rtp(int8);
3744 int8 __ovld __cnfn convert_int8_sat_rtp(int8);
3745 int8 __ovld __cnfn convert_int8_rtn(int8);
3746 int8 __ovld __cnfn convert_int8_sat_rtn(int8);
3747 int8 __ovld __cnfn convert_int8(int8);
3748 int8 __ovld __cnfn convert_int8_sat(int8);
3749 int8 __ovld __cnfn convert_int8_rte(uint8);
3750 int8 __ovld __cnfn convert_int8_sat_rte(uint8);
3751 int8 __ovld __cnfn convert_int8_rtz(uint8);
3752 int8 __ovld __cnfn convert_int8_sat_rtz(uint8);
3753 int8 __ovld __cnfn convert_int8_rtp(uint8);
3754 int8 __ovld __cnfn convert_int8_sat_rtp(uint8);
3755 int8 __ovld __cnfn convert_int8_rtn(uint8);
3756 int8 __ovld __cnfn convert_int8_sat_rtn(uint8);
3757 int8 __ovld __cnfn convert_int8(uint8);
3758 int8 __ovld __cnfn convert_int8_sat(uint8);
3759 int8 __ovld __cnfn convert_int8_rte(long8);
3760 int8 __ovld __cnfn convert_int8_sat_rte(long8);
3761 int8 __ovld __cnfn convert_int8_rtz(long8);
3762 int8 __ovld __cnfn convert_int8_sat_rtz(long8);
3763 int8 __ovld __cnfn convert_int8_rtp(long8);
3764 int8 __ovld __cnfn convert_int8_sat_rtp(long8);
3765 int8 __ovld __cnfn convert_int8_rtn(long8);
3766 int8 __ovld __cnfn convert_int8_sat_rtn(long8);
3767 int8 __ovld __cnfn convert_int8(long8);
3768 int8 __ovld __cnfn convert_int8_sat(long8);
3769 int8 __ovld __cnfn convert_int8_rte(ulong8);
3770 int8 __ovld __cnfn convert_int8_sat_rte(ulong8);
3771 int8 __ovld __cnfn convert_int8_rtz(ulong8);
3772 int8 __ovld __cnfn convert_int8_sat_rtz(ulong8);
3773 int8 __ovld __cnfn convert_int8_rtp(ulong8);
3774 int8 __ovld __cnfn convert_int8_sat_rtp(ulong8);
3775 int8 __ovld __cnfn convert_int8_rtn(ulong8);
3776 int8 __ovld __cnfn convert_int8_sat_rtn(ulong8);
3777 int8 __ovld __cnfn convert_int8(ulong8);
3778 int8 __ovld __cnfn convert_int8_sat(ulong8);
3779 int8 __ovld __cnfn convert_int8_rte(float8);
3780 int8 __ovld __cnfn convert_int8_sat_rte(float8);
3781 int8 __ovld __cnfn convert_int8_rtz(float8);
3782 int8 __ovld __cnfn convert_int8_sat_rtz(float8);
3783 int8 __ovld __cnfn convert_int8_rtp(float8);
3784 int8 __ovld __cnfn convert_int8_sat_rtp(float8);
3785 int8 __ovld __cnfn convert_int8_rtn(float8);
3786 int8 __ovld __cnfn convert_int8_sat_rtn(float8);
3787 int8 __ovld __cnfn convert_int8(float8);
3788 int8 __ovld __cnfn convert_int8_sat(float8);
3789 uint8 __ovld __cnfn convert_uint8_rte(char8);
3790 uint8 __ovld __cnfn convert_uint8_sat_rte(char8);
3791 uint8 __ovld __cnfn convert_uint8_rtz(char8);
3792 uint8 __ovld __cnfn convert_uint8_sat_rtz(char8);
3793 uint8 __ovld __cnfn convert_uint8_rtp(char8);
3794 uint8 __ovld __cnfn convert_uint8_sat_rtp(char8);
3795 uint8 __ovld __cnfn convert_uint8_rtn(char8);
3796 uint8 __ovld __cnfn convert_uint8_sat_rtn(char8);
3797 uint8 __ovld __cnfn convert_uint8(char8);
3798 uint8 __ovld __cnfn convert_uint8_sat(char8);
3799 uint8 __ovld __cnfn convert_uint8_rte(uchar8);
3800 uint8 __ovld __cnfn convert_uint8_sat_rte(uchar8);
3801 uint8 __ovld __cnfn convert_uint8_rtz(uchar8);
3802 uint8 __ovld __cnfn convert_uint8_sat_rtz(uchar8);
3803 uint8 __ovld __cnfn convert_uint8_rtp(uchar8);
3804 uint8 __ovld __cnfn convert_uint8_sat_rtp(uchar8);
3805 uint8 __ovld __cnfn convert_uint8_rtn(uchar8);
3806 uint8 __ovld __cnfn convert_uint8_sat_rtn(uchar8);
3807 uint8 __ovld __cnfn convert_uint8(uchar8);
3808 uint8 __ovld __cnfn convert_uint8_sat(uchar8);
3809 uint8 __ovld __cnfn convert_uint8_rte(short8);
3810 uint8 __ovld __cnfn convert_uint8_sat_rte(short8);
3811 uint8 __ovld __cnfn convert_uint8_rtz(short8);
3812 uint8 __ovld __cnfn convert_uint8_sat_rtz(short8);
3813 uint8 __ovld __cnfn convert_uint8_rtp(short8);
3814 uint8 __ovld __cnfn convert_uint8_sat_rtp(short8);
3815 uint8 __ovld __cnfn convert_uint8_rtn(short8);
3816 uint8 __ovld __cnfn convert_uint8_sat_rtn(short8);
3817 uint8 __ovld __cnfn convert_uint8(short8);
3818 uint8 __ovld __cnfn convert_uint8_sat(short8);
3819 uint8 __ovld __cnfn convert_uint8_rte(ushort8);
3820 uint8 __ovld __cnfn convert_uint8_sat_rte(ushort8);
3821 uint8 __ovld __cnfn convert_uint8_rtz(ushort8);
3822 uint8 __ovld __cnfn convert_uint8_sat_rtz(ushort8);
3823 uint8 __ovld __cnfn convert_uint8_rtp(ushort8);
3824 uint8 __ovld __cnfn convert_uint8_sat_rtp(ushort8);
3825 uint8 __ovld __cnfn convert_uint8_rtn(ushort8);
3826 uint8 __ovld __cnfn convert_uint8_sat_rtn(ushort8);
3827 uint8 __ovld __cnfn convert_uint8(ushort8);
3828 uint8 __ovld __cnfn convert_uint8_sat(ushort8);
3829 uint8 __ovld __cnfn convert_uint8_rte(int8);
3830 uint8 __ovld __cnfn convert_uint8_sat_rte(int8);
3831 uint8 __ovld __cnfn convert_uint8_rtz(int8);
3832 uint8 __ovld __cnfn convert_uint8_sat_rtz(int8);
3833 uint8 __ovld __cnfn convert_uint8_rtp(int8);
3834 uint8 __ovld __cnfn convert_uint8_sat_rtp(int8);
3835 uint8 __ovld __cnfn convert_uint8_rtn(int8);
3836 uint8 __ovld __cnfn convert_uint8_sat_rtn(int8);
3837 uint8 __ovld __cnfn convert_uint8(int8);
3838 uint8 __ovld __cnfn convert_uint8_sat(int8);
3839 uint8 __ovld __cnfn convert_uint8_rte(uint8);
3840 uint8 __ovld __cnfn convert_uint8_sat_rte(uint8);
3841 uint8 __ovld __cnfn convert_uint8_rtz(uint8);
3842 uint8 __ovld __cnfn convert_uint8_sat_rtz(uint8);
3843 uint8 __ovld __cnfn convert_uint8_rtp(uint8);
3844 uint8 __ovld __cnfn convert_uint8_sat_rtp(uint8);
3845 uint8 __ovld __cnfn convert_uint8_rtn(uint8);
3846 uint8 __ovld __cnfn convert_uint8_sat_rtn(uint8);
3847 uint8 __ovld __cnfn convert_uint8(uint8);
3848 uint8 __ovld __cnfn convert_uint8_sat(uint8);
3849 uint8 __ovld __cnfn convert_uint8_rte(long8);
3850 uint8 __ovld __cnfn convert_uint8_sat_rte(long8);
3851 uint8 __ovld __cnfn convert_uint8_rtz(long8);
3852 uint8 __ovld __cnfn convert_uint8_sat_rtz(long8);
3853 uint8 __ovld __cnfn convert_uint8_rtp(long8);
3854 uint8 __ovld __cnfn convert_uint8_sat_rtp(long8);
3855 uint8 __ovld __cnfn convert_uint8_rtn(long8);
3856 uint8 __ovld __cnfn convert_uint8_sat_rtn(long8);
3857 uint8 __ovld __cnfn convert_uint8(long8);
3858 uint8 __ovld __cnfn convert_uint8_sat(long8);
3859 uint8 __ovld __cnfn convert_uint8_rte(ulong8);
3860 uint8 __ovld __cnfn convert_uint8_sat_rte(ulong8);
3861 uint8 __ovld __cnfn convert_uint8_rtz(ulong8);
3862 uint8 __ovld __cnfn convert_uint8_sat_rtz(ulong8);
3863 uint8 __ovld __cnfn convert_uint8_rtp(ulong8);
3864 uint8 __ovld __cnfn convert_uint8_sat_rtp(ulong8);
3865 uint8 __ovld __cnfn convert_uint8_rtn(ulong8);
3866 uint8 __ovld __cnfn convert_uint8_sat_rtn(ulong8);
3867 uint8 __ovld __cnfn convert_uint8(ulong8);
3868 uint8 __ovld __cnfn convert_uint8_sat(ulong8);
3869 uint8 __ovld __cnfn convert_uint8_rte(float8);
3870 uint8 __ovld __cnfn convert_uint8_sat_rte(float8);
3871 uint8 __ovld __cnfn convert_uint8_rtz(float8);
3872 uint8 __ovld __cnfn convert_uint8_sat_rtz(float8);
3873 uint8 __ovld __cnfn convert_uint8_rtp(float8);
3874 uint8 __ovld __cnfn convert_uint8_sat_rtp(float8);
3875 uint8 __ovld __cnfn convert_uint8_rtn(float8);
3876 uint8 __ovld __cnfn convert_uint8_sat_rtn(float8);
3877 uint8 __ovld __cnfn convert_uint8(float8);
3878 uint8 __ovld __cnfn convert_uint8_sat(float8);
3879 long8 __ovld __cnfn convert_long8_rte(char8);
3880 long8 __ovld __cnfn convert_long8_sat_rte(char8);
3881 long8 __ovld __cnfn convert_long8_rtz(char8);
3882 long8 __ovld __cnfn convert_long8_sat_rtz(char8);
3883 long8 __ovld __cnfn convert_long8_rtp(char8);
3884 long8 __ovld __cnfn convert_long8_sat_rtp(char8);
3885 long8 __ovld __cnfn convert_long8_rtn(char8);
3886 long8 __ovld __cnfn convert_long8_sat_rtn(char8);
3887 long8 __ovld __cnfn convert_long8(char8);
3888 long8 __ovld __cnfn convert_long8_sat(char8);
3889 long8 __ovld __cnfn convert_long8_rte(uchar8);
3890 long8 __ovld __cnfn convert_long8_sat_rte(uchar8);
3891 long8 __ovld __cnfn convert_long8_rtz(uchar8);
3892 long8 __ovld __cnfn convert_long8_sat_rtz(uchar8);
3893 long8 __ovld __cnfn convert_long8_rtp(uchar8);
3894 long8 __ovld __cnfn convert_long8_sat_rtp(uchar8);
3895 long8 __ovld __cnfn convert_long8_rtn(uchar8);
3896 long8 __ovld __cnfn convert_long8_sat_rtn(uchar8);
3897 long8 __ovld __cnfn convert_long8(uchar8);
3898 long8 __ovld __cnfn convert_long8_sat(uchar8);
3899 long8 __ovld __cnfn convert_long8_rte(short8);
3900 long8 __ovld __cnfn convert_long8_sat_rte(short8);
3901 long8 __ovld __cnfn convert_long8_rtz(short8);
3902 long8 __ovld __cnfn convert_long8_sat_rtz(short8);
3903 long8 __ovld __cnfn convert_long8_rtp(short8);
3904 long8 __ovld __cnfn convert_long8_sat_rtp(short8);
3905 long8 __ovld __cnfn convert_long8_rtn(short8);
3906 long8 __ovld __cnfn convert_long8_sat_rtn(short8);
3907 long8 __ovld __cnfn convert_long8(short8);
3908 long8 __ovld __cnfn convert_long8_sat(short8);
3909 long8 __ovld __cnfn convert_long8_rte(ushort8);
3910 long8 __ovld __cnfn convert_long8_sat_rte(ushort8);
3911 long8 __ovld __cnfn convert_long8_rtz(ushort8);
3912 long8 __ovld __cnfn convert_long8_sat_rtz(ushort8);
3913 long8 __ovld __cnfn convert_long8_rtp(ushort8);
3914 long8 __ovld __cnfn convert_long8_sat_rtp(ushort8);
3915 long8 __ovld __cnfn convert_long8_rtn(ushort8);
3916 long8 __ovld __cnfn convert_long8_sat_rtn(ushort8);
3917 long8 __ovld __cnfn convert_long8(ushort8);
3918 long8 __ovld __cnfn convert_long8_sat(ushort8);
3919 long8 __ovld __cnfn convert_long8_rte(int8);
3920 long8 __ovld __cnfn convert_long8_sat_rte(int8);
3921 long8 __ovld __cnfn convert_long8_rtz(int8);
3922 long8 __ovld __cnfn convert_long8_sat_rtz(int8);
3923 long8 __ovld __cnfn convert_long8_rtp(int8);
3924 long8 __ovld __cnfn convert_long8_sat_rtp(int8);
3925 long8 __ovld __cnfn convert_long8_rtn(int8);
3926 long8 __ovld __cnfn convert_long8_sat_rtn(int8);
3927 long8 __ovld __cnfn convert_long8(int8);
3928 long8 __ovld __cnfn convert_long8_sat(int8);
3929 long8 __ovld __cnfn convert_long8_rte(uint8);
3930 long8 __ovld __cnfn convert_long8_sat_rte(uint8);
3931 long8 __ovld __cnfn convert_long8_rtz(uint8);
3932 long8 __ovld __cnfn convert_long8_sat_rtz(uint8);
3933 long8 __ovld __cnfn convert_long8_rtp(uint8);
3934 long8 __ovld __cnfn convert_long8_sat_rtp(uint8);
3935 long8 __ovld __cnfn convert_long8_rtn(uint8);
3936 long8 __ovld __cnfn convert_long8_sat_rtn(uint8);
3937 long8 __ovld __cnfn convert_long8(uint8);
3938 long8 __ovld __cnfn convert_long8_sat(uint8);
3939 long8 __ovld __cnfn convert_long8_rte(long8);
3940 long8 __ovld __cnfn convert_long8_sat_rte(long8);
3941 long8 __ovld __cnfn convert_long8_rtz(long8);
3942 long8 __ovld __cnfn convert_long8_sat_rtz(long8);
3943 long8 __ovld __cnfn convert_long8_rtp(long8);
3944 long8 __ovld __cnfn convert_long8_sat_rtp(long8);
3945 long8 __ovld __cnfn convert_long8_rtn(long8);
3946 long8 __ovld __cnfn convert_long8_sat_rtn(long8);
3947 long8 __ovld __cnfn convert_long8(long8);
3948 long8 __ovld __cnfn convert_long8_sat(long8);
3949 long8 __ovld __cnfn convert_long8_rte(ulong8);
3950 long8 __ovld __cnfn convert_long8_sat_rte(ulong8);
3951 long8 __ovld __cnfn convert_long8_rtz(ulong8);
3952 long8 __ovld __cnfn convert_long8_sat_rtz(ulong8);
3953 long8 __ovld __cnfn convert_long8_rtp(ulong8);
3954 long8 __ovld __cnfn convert_long8_sat_rtp(ulong8);
3955 long8 __ovld __cnfn convert_long8_rtn(ulong8);
3956 long8 __ovld __cnfn convert_long8_sat_rtn(ulong8);
3957 long8 __ovld __cnfn convert_long8(ulong8);
3958 long8 __ovld __cnfn convert_long8_sat(ulong8);
3959 long8 __ovld __cnfn convert_long8_rte(float8);
3960 long8 __ovld __cnfn convert_long8_sat_rte(float8);
3961 long8 __ovld __cnfn convert_long8_rtz(float8);
3962 long8 __ovld __cnfn convert_long8_sat_rtz(float8);
3963 long8 __ovld __cnfn convert_long8_rtp(float8);
3964 long8 __ovld __cnfn convert_long8_sat_rtp(float8);
3965 long8 __ovld __cnfn convert_long8_rtn(float8);
3966 long8 __ovld __cnfn convert_long8_sat_rtn(float8);
3967 long8 __ovld __cnfn convert_long8(float8);
3968 long8 __ovld __cnfn convert_long8_sat(float8);
3969 ulong8 __ovld __cnfn convert_ulong8_rte(char8);
3970 ulong8 __ovld __cnfn convert_ulong8_sat_rte(char8);
3971 ulong8 __ovld __cnfn convert_ulong8_rtz(char8);
3972 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(char8);
3973 ulong8 __ovld __cnfn convert_ulong8_rtp(char8);
3974 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(char8);
3975 ulong8 __ovld __cnfn convert_ulong8_rtn(char8);
3976 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(char8);
3977 ulong8 __ovld __cnfn convert_ulong8(char8);
3978 ulong8 __ovld __cnfn convert_ulong8_sat(char8);
3979 ulong8 __ovld __cnfn convert_ulong8_rte(uchar8);
3980 ulong8 __ovld __cnfn convert_ulong8_sat_rte(uchar8);
3981 ulong8 __ovld __cnfn convert_ulong8_rtz(uchar8);
3982 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(uchar8);
3983 ulong8 __ovld __cnfn convert_ulong8_rtp(uchar8);
3984 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(uchar8);
3985 ulong8 __ovld __cnfn convert_ulong8_rtn(uchar8);
3986 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(uchar8);
3987 ulong8 __ovld __cnfn convert_ulong8(uchar8);
3988 ulong8 __ovld __cnfn convert_ulong8_sat(uchar8);
3989 ulong8 __ovld __cnfn convert_ulong8_rte(short8);
3990 ulong8 __ovld __cnfn convert_ulong8_sat_rte(short8);
3991 ulong8 __ovld __cnfn convert_ulong8_rtz(short8);
3992 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(short8);
3993 ulong8 __ovld __cnfn convert_ulong8_rtp(short8);
3994 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(short8);
3995 ulong8 __ovld __cnfn convert_ulong8_rtn(short8);
3996 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(short8);
3997 ulong8 __ovld __cnfn convert_ulong8(short8);
3998 ulong8 __ovld __cnfn convert_ulong8_sat(short8);
3999 ulong8 __ovld __cnfn convert_ulong8_rte(ushort8);
4000 ulong8 __ovld __cnfn convert_ulong8_sat_rte(ushort8);
4001 ulong8 __ovld __cnfn convert_ulong8_rtz(ushort8);
4002 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(ushort8);
4003 ulong8 __ovld __cnfn convert_ulong8_rtp(ushort8);
4004 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(ushort8);
4005 ulong8 __ovld __cnfn convert_ulong8_rtn(ushort8);
4006 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(ushort8);
4007 ulong8 __ovld __cnfn convert_ulong8(ushort8);
4008 ulong8 __ovld __cnfn convert_ulong8_sat(ushort8);
4009 ulong8 __ovld __cnfn convert_ulong8_rte(int8);
4010 ulong8 __ovld __cnfn convert_ulong8_sat_rte(int8);
4011 ulong8 __ovld __cnfn convert_ulong8_rtz(int8);
4012 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(int8);
4013 ulong8 __ovld __cnfn convert_ulong8_rtp(int8);
4014 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(int8);
4015 ulong8 __ovld __cnfn convert_ulong8_rtn(int8);
4016 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(int8);
4017 ulong8 __ovld __cnfn convert_ulong8(int8);
4018 ulong8 __ovld __cnfn convert_ulong8_sat(int8);
4019 ulong8 __ovld __cnfn convert_ulong8_rte(uint8);
4020 ulong8 __ovld __cnfn convert_ulong8_sat_rte(uint8);
4021 ulong8 __ovld __cnfn convert_ulong8_rtz(uint8);
4022 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(uint8);
4023 ulong8 __ovld __cnfn convert_ulong8_rtp(uint8);
4024 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(uint8);
4025 ulong8 __ovld __cnfn convert_ulong8_rtn(uint8);
4026 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(uint8);
4027 ulong8 __ovld __cnfn convert_ulong8(uint8);
4028 ulong8 __ovld __cnfn convert_ulong8_sat(uint8);
4029 ulong8 __ovld __cnfn convert_ulong8_rte(long8);
4030 ulong8 __ovld __cnfn convert_ulong8_sat_rte(long8);
4031 ulong8 __ovld __cnfn convert_ulong8_rtz(long8);
4032 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(long8);
4033 ulong8 __ovld __cnfn convert_ulong8_rtp(long8);
4034 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(long8);
4035 ulong8 __ovld __cnfn convert_ulong8_rtn(long8);
4036 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(long8);
4037 ulong8 __ovld __cnfn convert_ulong8(long8);
4038 ulong8 __ovld __cnfn convert_ulong8_sat(long8);
4039 ulong8 __ovld __cnfn convert_ulong8_rte(ulong8);
4040 ulong8 __ovld __cnfn convert_ulong8_sat_rte(ulong8);
4041 ulong8 __ovld __cnfn convert_ulong8_rtz(ulong8);
4042 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(ulong8);
4043 ulong8 __ovld __cnfn convert_ulong8_rtp(ulong8);
4044 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(ulong8);
4045 ulong8 __ovld __cnfn convert_ulong8_rtn(ulong8);
4046 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(ulong8);
4047 ulong8 __ovld __cnfn convert_ulong8(ulong8);
4048 ulong8 __ovld __cnfn convert_ulong8_sat(ulong8);
4049 ulong8 __ovld __cnfn convert_ulong8_rte(float8);
4050 ulong8 __ovld __cnfn convert_ulong8_sat_rte(float8);
4051 ulong8 __ovld __cnfn convert_ulong8_rtz(float8);
4052 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(float8);
4053 ulong8 __ovld __cnfn convert_ulong8_rtp(float8);
4054 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(float8);
4055 ulong8 __ovld __cnfn convert_ulong8_rtn(float8);
4056 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(float8);
4057 ulong8 __ovld __cnfn convert_ulong8(float8);
4058 ulong8 __ovld __cnfn convert_ulong8_sat(float8);
4059 float8 __ovld __cnfn convert_float8_rte(char8);
4060 float8 __ovld __cnfn convert_float8_rtz(char8);
4061 float8 __ovld __cnfn convert_float8_rtp(char8);
4062 float8 __ovld __cnfn convert_float8_rtn(char8);
4063 float8 __ovld __cnfn convert_float8(char8);
4064 float8 __ovld __cnfn convert_float8_rte(uchar8);
4065 float8 __ovld __cnfn convert_float8_rtz(uchar8);
4066 float8 __ovld __cnfn convert_float8_rtp(uchar8);
4067 float8 __ovld __cnfn convert_float8_rtn(uchar8);
4068 float8 __ovld __cnfn convert_float8(uchar8);
4069 float8 __ovld __cnfn convert_float8_rte(short8);
4070 float8 __ovld __cnfn convert_float8_rtz(short8);
4071 float8 __ovld __cnfn convert_float8_rtp(short8);
4072 float8 __ovld __cnfn convert_float8_rtn(short8);
4073 float8 __ovld __cnfn convert_float8(short8);
4074 float8 __ovld __cnfn convert_float8_rte(ushort8);
4075 float8 __ovld __cnfn convert_float8_rtz(ushort8);
4076 float8 __ovld __cnfn convert_float8_rtp(ushort8);
4077 float8 __ovld __cnfn convert_float8_rtn(ushort8);
4078 float8 __ovld __cnfn convert_float8(ushort8);
4079 float8 __ovld __cnfn convert_float8_rte(int8);
4080 float8 __ovld __cnfn convert_float8_rtz(int8);
4081 float8 __ovld __cnfn convert_float8_rtp(int8);
4082 float8 __ovld __cnfn convert_float8_rtn(int8);
4083 float8 __ovld __cnfn convert_float8(int8);
4084 float8 __ovld __cnfn convert_float8_rte(uint8);
4085 float8 __ovld __cnfn convert_float8_rtz(uint8);
4086 float8 __ovld __cnfn convert_float8_rtp(uint8);
4087 float8 __ovld __cnfn convert_float8_rtn(uint8);
4088 float8 __ovld __cnfn convert_float8(uint8);
4089 float8 __ovld __cnfn convert_float8_rte(long8);
4090 float8 __ovld __cnfn convert_float8_rtz(long8);
4091 float8 __ovld __cnfn convert_float8_rtp(long8);
4092 float8 __ovld __cnfn convert_float8_rtn(long8);
4093 float8 __ovld __cnfn convert_float8(long8);
4094 float8 __ovld __cnfn convert_float8_rte(ulong8);
4095 float8 __ovld __cnfn convert_float8_rtz(ulong8);
4096 float8 __ovld __cnfn convert_float8_rtp(ulong8);
4097 float8 __ovld __cnfn convert_float8_rtn(ulong8);
4098 float8 __ovld __cnfn convert_float8(ulong8);
4099 float8 __ovld __cnfn convert_float8_rte(float8);
4100 float8 __ovld __cnfn convert_float8_rtz(float8);
4101 float8 __ovld __cnfn convert_float8_rtp(float8);
4102 float8 __ovld __cnfn convert_float8_rtn(float8);
4103 float8 __ovld __cnfn convert_float8(float8);
4104 char16 __ovld __cnfn convert_char16_rte(char16);
4105 char16 __ovld __cnfn convert_char16_sat_rte(char16);
4106 char16 __ovld __cnfn convert_char16_rtz(char16);
4107 char16 __ovld __cnfn convert_char16_sat_rtz(char16);
4108 char16 __ovld __cnfn convert_char16_rtp(char16);
4109 char16 __ovld __cnfn convert_char16_sat_rtp(char16);
4110 char16 __ovld __cnfn convert_char16_rtn(char16);
4111 char16 __ovld __cnfn convert_char16_sat_rtn(char16);
4112 char16 __ovld __cnfn convert_char16(char16);
4113 char16 __ovld __cnfn convert_char16_sat(char16);
4114 char16 __ovld __cnfn convert_char16_rte(uchar16);
4115 char16 __ovld __cnfn convert_char16_sat_rte(uchar16);
4116 char16 __ovld __cnfn convert_char16_rtz(uchar16);
4117 char16 __ovld __cnfn convert_char16_sat_rtz(uchar16);
4118 char16 __ovld __cnfn convert_char16_rtp(uchar16);
4119 char16 __ovld __cnfn convert_char16_sat_rtp(uchar16);
4120 char16 __ovld __cnfn convert_char16_rtn(uchar16);
4121 char16 __ovld __cnfn convert_char16_sat_rtn(uchar16);
4122 char16 __ovld __cnfn convert_char16(uchar16);
4123 char16 __ovld __cnfn convert_char16_sat(uchar16);
4124 char16 __ovld __cnfn convert_char16_rte(short16);
4125 char16 __ovld __cnfn convert_char16_sat_rte(short16);
4126 char16 __ovld __cnfn convert_char16_rtz(short16);
4127 char16 __ovld __cnfn convert_char16_sat_rtz(short16);
4128 char16 __ovld __cnfn convert_char16_rtp(short16);
4129 char16 __ovld __cnfn convert_char16_sat_rtp(short16);
4130 char16 __ovld __cnfn convert_char16_rtn(short16);
4131 char16 __ovld __cnfn convert_char16_sat_rtn(short16);
4132 char16 __ovld __cnfn convert_char16(short16);
4133 char16 __ovld __cnfn convert_char16_sat(short16);
4134 char16 __ovld __cnfn convert_char16_rte(ushort16);
4135 char16 __ovld __cnfn convert_char16_sat_rte(ushort16);
4136 char16 __ovld __cnfn convert_char16_rtz(ushort16);
4137 char16 __ovld __cnfn convert_char16_sat_rtz(ushort16);
4138 char16 __ovld __cnfn convert_char16_rtp(ushort16);
4139 char16 __ovld __cnfn convert_char16_sat_rtp(ushort16);
4140 char16 __ovld __cnfn convert_char16_rtn(ushort16);
4141 char16 __ovld __cnfn convert_char16_sat_rtn(ushort16);
4142 char16 __ovld __cnfn convert_char16(ushort16);
4143 char16 __ovld __cnfn convert_char16_sat(ushort16);
4144 char16 __ovld __cnfn convert_char16_rte(int16);
4145 char16 __ovld __cnfn convert_char16_sat_rte(int16);
4146 char16 __ovld __cnfn convert_char16_rtz(int16);
4147 char16 __ovld __cnfn convert_char16_sat_rtz(int16);
4148 char16 __ovld __cnfn convert_char16_rtp(int16);
4149 char16 __ovld __cnfn convert_char16_sat_rtp(int16);
4150 char16 __ovld __cnfn convert_char16_rtn(int16);
4151 char16 __ovld __cnfn convert_char16_sat_rtn(int16);
4152 char16 __ovld __cnfn convert_char16(int16);
4153 char16 __ovld __cnfn convert_char16_sat(int16);
4154 char16 __ovld __cnfn convert_char16_rte(uint16);
4155 char16 __ovld __cnfn convert_char16_sat_rte(uint16);
4156 char16 __ovld __cnfn convert_char16_rtz(uint16);
4157 char16 __ovld __cnfn convert_char16_sat_rtz(uint16);
4158 char16 __ovld __cnfn convert_char16_rtp(uint16);
4159 char16 __ovld __cnfn convert_char16_sat_rtp(uint16);
4160 char16 __ovld __cnfn convert_char16_rtn(uint16);
4161 char16 __ovld __cnfn convert_char16_sat_rtn(uint16);
4162 char16 __ovld __cnfn convert_char16(uint16);
4163 char16 __ovld __cnfn convert_char16_sat(uint16);
4164 char16 __ovld __cnfn convert_char16_rte(long16);
4165 char16 __ovld __cnfn convert_char16_sat_rte(long16);
4166 char16 __ovld __cnfn convert_char16_rtz(long16);
4167 char16 __ovld __cnfn convert_char16_sat_rtz(long16);
4168 char16 __ovld __cnfn convert_char16_rtp(long16);
4169 char16 __ovld __cnfn convert_char16_sat_rtp(long16);
4170 char16 __ovld __cnfn convert_char16_rtn(long16);
4171 char16 __ovld __cnfn convert_char16_sat_rtn(long16);
4172 char16 __ovld __cnfn convert_char16(long16);
4173 char16 __ovld __cnfn convert_char16_sat(long16);
4174 char16 __ovld __cnfn convert_char16_rte(ulong16);
4175 char16 __ovld __cnfn convert_char16_sat_rte(ulong16);
4176 char16 __ovld __cnfn convert_char16_rtz(ulong16);
4177 char16 __ovld __cnfn convert_char16_sat_rtz(ulong16);
4178 char16 __ovld __cnfn convert_char16_rtp(ulong16);
4179 char16 __ovld __cnfn convert_char16_sat_rtp(ulong16);
4180 char16 __ovld __cnfn convert_char16_rtn(ulong16);
4181 char16 __ovld __cnfn convert_char16_sat_rtn(ulong16);
4182 char16 __ovld __cnfn convert_char16(ulong16);
4183 char16 __ovld __cnfn convert_char16_sat(ulong16);
4184 char16 __ovld __cnfn convert_char16_rte(float16);
4185 char16 __ovld __cnfn convert_char16_sat_rte(float16);
4186 char16 __ovld __cnfn convert_char16_rtz(float16);
4187 char16 __ovld __cnfn convert_char16_sat_rtz(float16);
4188 char16 __ovld __cnfn convert_char16_rtp(float16);
4189 char16 __ovld __cnfn convert_char16_sat_rtp(float16);
4190 char16 __ovld __cnfn convert_char16_rtn(float16);
4191 char16 __ovld __cnfn convert_char16_sat_rtn(float16);
4192 char16 __ovld __cnfn convert_char16(float16);
4193 char16 __ovld __cnfn convert_char16_sat(float16);
4194 uchar16 __ovld __cnfn convert_uchar16_rte(char16);
4195 uchar16 __ovld __cnfn convert_uchar16_sat_rte(char16);
4196 uchar16 __ovld __cnfn convert_uchar16_rtz(char16);
4197 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(char16);
4198 uchar16 __ovld __cnfn convert_uchar16_rtp(char16);
4199 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(char16);
4200 uchar16 __ovld __cnfn convert_uchar16_rtn(char16);
4201 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(char16);
4202 uchar16 __ovld __cnfn convert_uchar16(char16);
4203 uchar16 __ovld __cnfn convert_uchar16_sat(char16);
4204 uchar16 __ovld __cnfn convert_uchar16_rte(uchar16);
4205 uchar16 __ovld __cnfn convert_uchar16_sat_rte(uchar16);
4206 uchar16 __ovld __cnfn convert_uchar16_rtz(uchar16);
4207 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(uchar16);
4208 uchar16 __ovld __cnfn convert_uchar16_rtp(uchar16);
4209 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(uchar16);
4210 uchar16 __ovld __cnfn convert_uchar16_rtn(uchar16);
4211 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(uchar16);
4212 uchar16 __ovld __cnfn convert_uchar16(uchar16);
4213 uchar16 __ovld __cnfn convert_uchar16_sat(uchar16);
4214 uchar16 __ovld __cnfn convert_uchar16_rte(short16);
4215 uchar16 __ovld __cnfn convert_uchar16_sat_rte(short16);
4216 uchar16 __ovld __cnfn convert_uchar16_rtz(short16);
4217 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(short16);
4218 uchar16 __ovld __cnfn convert_uchar16_rtp(short16);
4219 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(short16);
4220 uchar16 __ovld __cnfn convert_uchar16_rtn(short16);
4221 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(short16);
4222 uchar16 __ovld __cnfn convert_uchar16(short16);
4223 uchar16 __ovld __cnfn convert_uchar16_sat(short16);
4224 uchar16 __ovld __cnfn convert_uchar16_rte(ushort16);
4225 uchar16 __ovld __cnfn convert_uchar16_sat_rte(ushort16);
4226 uchar16 __ovld __cnfn convert_uchar16_rtz(ushort16);
4227 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(ushort16);
4228 uchar16 __ovld __cnfn convert_uchar16_rtp(ushort16);
4229 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(ushort16);
4230 uchar16 __ovld __cnfn convert_uchar16_rtn(ushort16);
4231 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(ushort16);
4232 uchar16 __ovld __cnfn convert_uchar16(ushort16);
4233 uchar16 __ovld __cnfn convert_uchar16_sat(ushort16);
4234 uchar16 __ovld __cnfn convert_uchar16_rte(int16);
4235 uchar16 __ovld __cnfn convert_uchar16_sat_rte(int16);
4236 uchar16 __ovld __cnfn convert_uchar16_rtz(int16);
4237 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(int16);
4238 uchar16 __ovld __cnfn convert_uchar16_rtp(int16);
4239 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(int16);
4240 uchar16 __ovld __cnfn convert_uchar16_rtn(int16);
4241 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(int16);
4242 uchar16 __ovld __cnfn convert_uchar16(int16);
4243 uchar16 __ovld __cnfn convert_uchar16_sat(int16);
4244 uchar16 __ovld __cnfn convert_uchar16_rte(uint16);
4245 uchar16 __ovld __cnfn convert_uchar16_sat_rte(uint16);
4246 uchar16 __ovld __cnfn convert_uchar16_rtz(uint16);
4247 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(uint16);
4248 uchar16 __ovld __cnfn convert_uchar16_rtp(uint16);
4249 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(uint16);
4250 uchar16 __ovld __cnfn convert_uchar16_rtn(uint16);
4251 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(uint16);
4252 uchar16 __ovld __cnfn convert_uchar16(uint16);
4253 uchar16 __ovld __cnfn convert_uchar16_sat(uint16);
4254 uchar16 __ovld __cnfn convert_uchar16_rte(long16);
4255 uchar16 __ovld __cnfn convert_uchar16_sat_rte(long16);
4256 uchar16 __ovld __cnfn convert_uchar16_rtz(long16);
4257 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(long16);
4258 uchar16 __ovld __cnfn convert_uchar16_rtp(long16);
4259 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(long16);
4260 uchar16 __ovld __cnfn convert_uchar16_rtn(long16);
4261 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(long16);
4262 uchar16 __ovld __cnfn convert_uchar16(long16);
4263 uchar16 __ovld __cnfn convert_uchar16_sat(long16);
4264 uchar16 __ovld __cnfn convert_uchar16_rte(ulong16);
4265 uchar16 __ovld __cnfn convert_uchar16_sat_rte(ulong16);
4266 uchar16 __ovld __cnfn convert_uchar16_rtz(ulong16);
4267 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(ulong16);
4268 uchar16 __ovld __cnfn convert_uchar16_rtp(ulong16);
4269 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(ulong16);
4270 uchar16 __ovld __cnfn convert_uchar16_rtn(ulong16);
4271 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(ulong16);
4272 uchar16 __ovld __cnfn convert_uchar16(ulong16);
4273 uchar16 __ovld __cnfn convert_uchar16_sat(ulong16);
4274 uchar16 __ovld __cnfn convert_uchar16_rte(float16);
4275 uchar16 __ovld __cnfn convert_uchar16_sat_rte(float16);
4276 uchar16 __ovld __cnfn convert_uchar16_rtz(float16);
4277 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(float16);
4278 uchar16 __ovld __cnfn convert_uchar16_rtp(float16);
4279 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(float16);
4280 uchar16 __ovld __cnfn convert_uchar16_rtn(float16);
4281 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(float16);
4282 uchar16 __ovld __cnfn convert_uchar16(float16);
4283 uchar16 __ovld __cnfn convert_uchar16_sat(float16);
4284 short16 __ovld __cnfn convert_short16_rte(char16);
4285 short16 __ovld __cnfn convert_short16_sat_rte(char16);
4286 short16 __ovld __cnfn convert_short16_rtz(char16);
4287 short16 __ovld __cnfn convert_short16_sat_rtz(char16);
4288 short16 __ovld __cnfn convert_short16_rtp(char16);
4289 short16 __ovld __cnfn convert_short16_sat_rtp(char16);
4290 short16 __ovld __cnfn convert_short16_rtn(char16);
4291 short16 __ovld __cnfn convert_short16_sat_rtn(char16);
4292 short16 __ovld __cnfn convert_short16(char16);
4293 short16 __ovld __cnfn convert_short16_sat(char16);
4294 short16 __ovld __cnfn convert_short16_rte(uchar16);
4295 short16 __ovld __cnfn convert_short16_sat_rte(uchar16);
4296 short16 __ovld __cnfn convert_short16_rtz(uchar16);
4297 short16 __ovld __cnfn convert_short16_sat_rtz(uchar16);
4298 short16 __ovld __cnfn convert_short16_rtp(uchar16);
4299 short16 __ovld __cnfn convert_short16_sat_rtp(uchar16);
4300 short16 __ovld __cnfn convert_short16_rtn(uchar16);
4301 short16 __ovld __cnfn convert_short16_sat_rtn(uchar16);
4302 short16 __ovld __cnfn convert_short16(uchar16);
4303 short16 __ovld __cnfn convert_short16_sat(uchar16);
4304 short16 __ovld __cnfn convert_short16_rte(short16);
4305 short16 __ovld __cnfn convert_short16_sat_rte(short16);
4306 short16 __ovld __cnfn convert_short16_rtz(short16);
4307 short16 __ovld __cnfn convert_short16_sat_rtz(short16);
4308 short16 __ovld __cnfn convert_short16_rtp(short16);
4309 short16 __ovld __cnfn convert_short16_sat_rtp(short16);
4310 short16 __ovld __cnfn convert_short16_rtn(short16);
4311 short16 __ovld __cnfn convert_short16_sat_rtn(short16);
4312 short16 __ovld __cnfn convert_short16(short16);
4313 short16 __ovld __cnfn convert_short16_sat(short16);
4314 short16 __ovld __cnfn convert_short16_rte(ushort16);
4315 short16 __ovld __cnfn convert_short16_sat_rte(ushort16);
4316 short16 __ovld __cnfn convert_short16_rtz(ushort16);
4317 short16 __ovld __cnfn convert_short16_sat_rtz(ushort16);
4318 short16 __ovld __cnfn convert_short16_rtp(ushort16);
4319 short16 __ovld __cnfn convert_short16_sat_rtp(ushort16);
4320 short16 __ovld __cnfn convert_short16_rtn(ushort16);
4321 short16 __ovld __cnfn convert_short16_sat_rtn(ushort16);
4322 short16 __ovld __cnfn convert_short16(ushort16);
4323 short16 __ovld __cnfn convert_short16_sat(ushort16);
4324 short16 __ovld __cnfn convert_short16_rte(int16);
4325 short16 __ovld __cnfn convert_short16_sat_rte(int16);
4326 short16 __ovld __cnfn convert_short16_rtz(int16);
4327 short16 __ovld __cnfn convert_short16_sat_rtz(int16);
4328 short16 __ovld __cnfn convert_short16_rtp(int16);
4329 short16 __ovld __cnfn convert_short16_sat_rtp(int16);
4330 short16 __ovld __cnfn convert_short16_rtn(int16);
4331 short16 __ovld __cnfn convert_short16_sat_rtn(int16);
4332 short16 __ovld __cnfn convert_short16(int16);
4333 short16 __ovld __cnfn convert_short16_sat(int16);
4334 short16 __ovld __cnfn convert_short16_rte(uint16);
4335 short16 __ovld __cnfn convert_short16_sat_rte(uint16);
4336 short16 __ovld __cnfn convert_short16_rtz(uint16);
4337 short16 __ovld __cnfn convert_short16_sat_rtz(uint16);
4338 short16 __ovld __cnfn convert_short16_rtp(uint16);
4339 short16 __ovld __cnfn convert_short16_sat_rtp(uint16);
4340 short16 __ovld __cnfn convert_short16_rtn(uint16);
4341 short16 __ovld __cnfn convert_short16_sat_rtn(uint16);
4342 short16 __ovld __cnfn convert_short16(uint16);
4343 short16 __ovld __cnfn convert_short16_sat(uint16);
4344 short16 __ovld __cnfn convert_short16_rte(long16);
4345 short16 __ovld __cnfn convert_short16_sat_rte(long16);
4346 short16 __ovld __cnfn convert_short16_rtz(long16);
4347 short16 __ovld __cnfn convert_short16_sat_rtz(long16);
4348 short16 __ovld __cnfn convert_short16_rtp(long16);
4349 short16 __ovld __cnfn convert_short16_sat_rtp(long16);
4350 short16 __ovld __cnfn convert_short16_rtn(long16);
4351 short16 __ovld __cnfn convert_short16_sat_rtn(long16);
4352 short16 __ovld __cnfn convert_short16(long16);
4353 short16 __ovld __cnfn convert_short16_sat(long16);
4354 short16 __ovld __cnfn convert_short16_rte(ulong16);
4355 short16 __ovld __cnfn convert_short16_sat_rte(ulong16);
4356 short16 __ovld __cnfn convert_short16_rtz(ulong16);
4357 short16 __ovld __cnfn convert_short16_sat_rtz(ulong16);
4358 short16 __ovld __cnfn convert_short16_rtp(ulong16);
4359 short16 __ovld __cnfn convert_short16_sat_rtp(ulong16);
4360 short16 __ovld __cnfn convert_short16_rtn(ulong16);
4361 short16 __ovld __cnfn convert_short16_sat_rtn(ulong16);
4362 short16 __ovld __cnfn convert_short16(ulong16);
4363 short16 __ovld __cnfn convert_short16_sat(ulong16);
4364 short16 __ovld __cnfn convert_short16_rte(float16);
4365 short16 __ovld __cnfn convert_short16_sat_rte(float16);
4366 short16 __ovld __cnfn convert_short16_rtz(float16);
4367 short16 __ovld __cnfn convert_short16_sat_rtz(float16);
4368 short16 __ovld __cnfn convert_short16_rtp(float16);
4369 short16 __ovld __cnfn convert_short16_sat_rtp(float16);
4370 short16 __ovld __cnfn convert_short16_rtn(float16);
4371 short16 __ovld __cnfn convert_short16_sat_rtn(float16);
4372 short16 __ovld __cnfn convert_short16(float16);
4373 short16 __ovld __cnfn convert_short16_sat(float16);
4374 ushort16 __ovld __cnfn convert_ushort16_rte(char16);
4375 ushort16 __ovld __cnfn convert_ushort16_sat_rte(char16);
4376 ushort16 __ovld __cnfn convert_ushort16_rtz(char16);
4377 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(char16);
4378 ushort16 __ovld __cnfn convert_ushort16_rtp(char16);
4379 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(char16);
4380 ushort16 __ovld __cnfn convert_ushort16_rtn(char16);
4381 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(char16);
4382 ushort16 __ovld __cnfn convert_ushort16(char16);
4383 ushort16 __ovld __cnfn convert_ushort16_sat(char16);
4384 ushort16 __ovld __cnfn convert_ushort16_rte(uchar16);
4385 ushort16 __ovld __cnfn convert_ushort16_sat_rte(uchar16);
4386 ushort16 __ovld __cnfn convert_ushort16_rtz(uchar16);
4387 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(uchar16);
4388 ushort16 __ovld __cnfn convert_ushort16_rtp(uchar16);
4389 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(uchar16);
4390 ushort16 __ovld __cnfn convert_ushort16_rtn(uchar16);
4391 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(uchar16);
4392 ushort16 __ovld __cnfn convert_ushort16(uchar16);
4393 ushort16 __ovld __cnfn convert_ushort16_sat(uchar16);
4394 ushort16 __ovld __cnfn convert_ushort16_rte(short16);
4395 ushort16 __ovld __cnfn convert_ushort16_sat_rte(short16);
4396 ushort16 __ovld __cnfn convert_ushort16_rtz(short16);
4397 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(short16);
4398 ushort16 __ovld __cnfn convert_ushort16_rtp(short16);
4399 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(short16);
4400 ushort16 __ovld __cnfn convert_ushort16_rtn(short16);
4401 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(short16);
4402 ushort16 __ovld __cnfn convert_ushort16(short16);
4403 ushort16 __ovld __cnfn convert_ushort16_sat(short16);
4404 ushort16 __ovld __cnfn convert_ushort16_rte(ushort16);
4405 ushort16 __ovld __cnfn convert_ushort16_sat_rte(ushort16);
4406 ushort16 __ovld __cnfn convert_ushort16_rtz(ushort16);
4407 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(ushort16);
4408 ushort16 __ovld __cnfn convert_ushort16_rtp(ushort16);
4409 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(ushort16);
4410 ushort16 __ovld __cnfn convert_ushort16_rtn(ushort16);
4411 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(ushort16);
4412 ushort16 __ovld __cnfn convert_ushort16(ushort16);
4413 ushort16 __ovld __cnfn convert_ushort16_sat(ushort16);
4414 ushort16 __ovld __cnfn convert_ushort16_rte(int16);
4415 ushort16 __ovld __cnfn convert_ushort16_sat_rte(int16);
4416 ushort16 __ovld __cnfn convert_ushort16_rtz(int16);
4417 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(int16);
4418 ushort16 __ovld __cnfn convert_ushort16_rtp(int16);
4419 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(int16);
4420 ushort16 __ovld __cnfn convert_ushort16_rtn(int16);
4421 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(int16);
4422 ushort16 __ovld __cnfn convert_ushort16(int16);
4423 ushort16 __ovld __cnfn convert_ushort16_sat(int16);
4424 ushort16 __ovld __cnfn convert_ushort16_rte(uint16);
4425 ushort16 __ovld __cnfn convert_ushort16_sat_rte(uint16);
4426 ushort16 __ovld __cnfn convert_ushort16_rtz(uint16);
4427 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(uint16);
4428 ushort16 __ovld __cnfn convert_ushort16_rtp(uint16);
4429 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(uint16);
4430 ushort16 __ovld __cnfn convert_ushort16_rtn(uint16);
4431 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(uint16);
4432 ushort16 __ovld __cnfn convert_ushort16(uint16);
4433 ushort16 __ovld __cnfn convert_ushort16_sat(uint16);
4434 ushort16 __ovld __cnfn convert_ushort16_rte(long16);
4435 ushort16 __ovld __cnfn convert_ushort16_sat_rte(long16);
4436 ushort16 __ovld __cnfn convert_ushort16_rtz(long16);
4437 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(long16);
4438 ushort16 __ovld __cnfn convert_ushort16_rtp(long16);
4439 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(long16);
4440 ushort16 __ovld __cnfn convert_ushort16_rtn(long16);
4441 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(long16);
4442 ushort16 __ovld __cnfn convert_ushort16(long16);
4443 ushort16 __ovld __cnfn convert_ushort16_sat(long16);
4444 ushort16 __ovld __cnfn convert_ushort16_rte(ulong16);
4445 ushort16 __ovld __cnfn convert_ushort16_sat_rte(ulong16);
4446 ushort16 __ovld __cnfn convert_ushort16_rtz(ulong16);
4447 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(ulong16);
4448 ushort16 __ovld __cnfn convert_ushort16_rtp(ulong16);
4449 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(ulong16);
4450 ushort16 __ovld __cnfn convert_ushort16_rtn(ulong16);
4451 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(ulong16);
4452 ushort16 __ovld __cnfn convert_ushort16(ulong16);
4453 ushort16 __ovld __cnfn convert_ushort16_sat(ulong16);
4454 ushort16 __ovld __cnfn convert_ushort16_rte(float16);
4455 ushort16 __ovld __cnfn convert_ushort16_sat_rte(float16);
4456 ushort16 __ovld __cnfn convert_ushort16_rtz(float16);
4457 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(float16);
4458 ushort16 __ovld __cnfn convert_ushort16_rtp(float16);
4459 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(float16);
4460 ushort16 __ovld __cnfn convert_ushort16_rtn(float16);
4461 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(float16);
4462 ushort16 __ovld __cnfn convert_ushort16(float16);
4463 ushort16 __ovld __cnfn convert_ushort16_sat(float16);
4464 int16 __ovld __cnfn convert_int16_rte(char16);
4465 int16 __ovld __cnfn convert_int16_sat_rte(char16);
4466 int16 __ovld __cnfn convert_int16_rtz(char16);
4467 int16 __ovld __cnfn convert_int16_sat_rtz(char16);
4468 int16 __ovld __cnfn convert_int16_rtp(char16);
4469 int16 __ovld __cnfn convert_int16_sat_rtp(char16);
4470 int16 __ovld __cnfn convert_int16_rtn(char16);
4471 int16 __ovld __cnfn convert_int16_sat_rtn(char16);
4472 int16 __ovld __cnfn convert_int16(char16);
4473 int16 __ovld __cnfn convert_int16_sat(char16);
4474 int16 __ovld __cnfn convert_int16_rte(uchar16);
4475 int16 __ovld __cnfn convert_int16_sat_rte(uchar16);
4476 int16 __ovld __cnfn convert_int16_rtz(uchar16);
4477 int16 __ovld __cnfn convert_int16_sat_rtz(uchar16);
4478 int16 __ovld __cnfn convert_int16_rtp(uchar16);
4479 int16 __ovld __cnfn convert_int16_sat_rtp(uchar16);
4480 int16 __ovld __cnfn convert_int16_rtn(uchar16);
4481 int16 __ovld __cnfn convert_int16_sat_rtn(uchar16);
4482 int16 __ovld __cnfn convert_int16(uchar16);
4483 int16 __ovld __cnfn convert_int16_sat(uchar16);
4484 int16 __ovld __cnfn convert_int16_rte(short16);
4485 int16 __ovld __cnfn convert_int16_sat_rte(short16);
4486 int16 __ovld __cnfn convert_int16_rtz(short16);
4487 int16 __ovld __cnfn convert_int16_sat_rtz(short16);
4488 int16 __ovld __cnfn convert_int16_rtp(short16);
4489 int16 __ovld __cnfn convert_int16_sat_rtp(short16);
4490 int16 __ovld __cnfn convert_int16_rtn(short16);
4491 int16 __ovld __cnfn convert_int16_sat_rtn(short16);
4492 int16 __ovld __cnfn convert_int16(short16);
4493 int16 __ovld __cnfn convert_int16_sat(short16);
4494 int16 __ovld __cnfn convert_int16_rte(ushort16);
4495 int16 __ovld __cnfn convert_int16_sat_rte(ushort16);
4496 int16 __ovld __cnfn convert_int16_rtz(ushort16);
4497 int16 __ovld __cnfn convert_int16_sat_rtz(ushort16);
4498 int16 __ovld __cnfn convert_int16_rtp(ushort16);
4499 int16 __ovld __cnfn convert_int16_sat_rtp(ushort16);
4500 int16 __ovld __cnfn convert_int16_rtn(ushort16);
4501 int16 __ovld __cnfn convert_int16_sat_rtn(ushort16);
4502 int16 __ovld __cnfn convert_int16(ushort16);
4503 int16 __ovld __cnfn convert_int16_sat(ushort16);
4504 int16 __ovld __cnfn convert_int16_rte(int16);
4505 int16 __ovld __cnfn convert_int16_sat_rte(int16);
4506 int16 __ovld __cnfn convert_int16_rtz(int16);
4507 int16 __ovld __cnfn convert_int16_sat_rtz(int16);
4508 int16 __ovld __cnfn convert_int16_rtp(int16);
4509 int16 __ovld __cnfn convert_int16_sat_rtp(int16);
4510 int16 __ovld __cnfn convert_int16_rtn(int16);
4511 int16 __ovld __cnfn convert_int16_sat_rtn(int16);
4512 int16 __ovld __cnfn convert_int16(int16);
4513 int16 __ovld __cnfn convert_int16_sat(int16);
4514 int16 __ovld __cnfn convert_int16_rte(uint16);
4515 int16 __ovld __cnfn convert_int16_sat_rte(uint16);
4516 int16 __ovld __cnfn convert_int16_rtz(uint16);
4517 int16 __ovld __cnfn convert_int16_sat_rtz(uint16);
4518 int16 __ovld __cnfn convert_int16_rtp(uint16);
4519 int16 __ovld __cnfn convert_int16_sat_rtp(uint16);
4520 int16 __ovld __cnfn convert_int16_rtn(uint16);
4521 int16 __ovld __cnfn convert_int16_sat_rtn(uint16);
4522 int16 __ovld __cnfn convert_int16(uint16);
4523 int16 __ovld __cnfn convert_int16_sat(uint16);
4524 int16 __ovld __cnfn convert_int16_rte(long16);
4525 int16 __ovld __cnfn convert_int16_sat_rte(long16);
4526 int16 __ovld __cnfn convert_int16_rtz(long16);
4527 int16 __ovld __cnfn convert_int16_sat_rtz(long16);
4528 int16 __ovld __cnfn convert_int16_rtp(long16);
4529 int16 __ovld __cnfn convert_int16_sat_rtp(long16);
4530 int16 __ovld __cnfn convert_int16_rtn(long16);
4531 int16 __ovld __cnfn convert_int16_sat_rtn(long16);
4532 int16 __ovld __cnfn convert_int16(long16);
4533 int16 __ovld __cnfn convert_int16_sat(long16);
4534 int16 __ovld __cnfn convert_int16_rte(ulong16);
4535 int16 __ovld __cnfn convert_int16_sat_rte(ulong16);
4536 int16 __ovld __cnfn convert_int16_rtz(ulong16);
4537 int16 __ovld __cnfn convert_int16_sat_rtz(ulong16);
4538 int16 __ovld __cnfn convert_int16_rtp(ulong16);
4539 int16 __ovld __cnfn convert_int16_sat_rtp(ulong16);
4540 int16 __ovld __cnfn convert_int16_rtn(ulong16);
4541 int16 __ovld __cnfn convert_int16_sat_rtn(ulong16);
4542 int16 __ovld __cnfn convert_int16(ulong16);
4543 int16 __ovld __cnfn convert_int16_sat(ulong16);
4544 int16 __ovld __cnfn convert_int16_rte(float16);
4545 int16 __ovld __cnfn convert_int16_sat_rte(float16);
4546 int16 __ovld __cnfn convert_int16_rtz(float16);
4547 int16 __ovld __cnfn convert_int16_sat_rtz(float16);
4548 int16 __ovld __cnfn convert_int16_rtp(float16);
4549 int16 __ovld __cnfn convert_int16_sat_rtp(float16);
4550 int16 __ovld __cnfn convert_int16_rtn(float16);
4551 int16 __ovld __cnfn convert_int16_sat_rtn(float16);
4552 int16 __ovld __cnfn convert_int16(float16);
4553 int16 __ovld __cnfn convert_int16_sat(float16);
4554 uint16 __ovld __cnfn convert_uint16_rte(char16);
4555 uint16 __ovld __cnfn convert_uint16_sat_rte(char16);
4556 uint16 __ovld __cnfn convert_uint16_rtz(char16);
4557 uint16 __ovld __cnfn convert_uint16_sat_rtz(char16);
4558 uint16 __ovld __cnfn convert_uint16_rtp(char16);
4559 uint16 __ovld __cnfn convert_uint16_sat_rtp(char16);
4560 uint16 __ovld __cnfn convert_uint16_rtn(char16);
4561 uint16 __ovld __cnfn convert_uint16_sat_rtn(char16);
4562 uint16 __ovld __cnfn convert_uint16(char16);
4563 uint16 __ovld __cnfn convert_uint16_sat(char16);
4564 uint16 __ovld __cnfn convert_uint16_rte(uchar16);
4565 uint16 __ovld __cnfn convert_uint16_sat_rte(uchar16);
4566 uint16 __ovld __cnfn convert_uint16_rtz(uchar16);
4567 uint16 __ovld __cnfn convert_uint16_sat_rtz(uchar16);
4568 uint16 __ovld __cnfn convert_uint16_rtp(uchar16);
4569 uint16 __ovld __cnfn convert_uint16_sat_rtp(uchar16);
4570 uint16 __ovld __cnfn convert_uint16_rtn(uchar16);
4571 uint16 __ovld __cnfn convert_uint16_sat_rtn(uchar16);
4572 uint16 __ovld __cnfn convert_uint16(uchar16);
4573 uint16 __ovld __cnfn convert_uint16_sat(uchar16);
4574 uint16 __ovld __cnfn convert_uint16_rte(short16);
4575 uint16 __ovld __cnfn convert_uint16_sat_rte(short16);
4576 uint16 __ovld __cnfn convert_uint16_rtz(short16);
4577 uint16 __ovld __cnfn convert_uint16_sat_rtz(short16);
4578 uint16 __ovld __cnfn convert_uint16_rtp(short16);
4579 uint16 __ovld __cnfn convert_uint16_sat_rtp(short16);
4580 uint16 __ovld __cnfn convert_uint16_rtn(short16);
4581 uint16 __ovld __cnfn convert_uint16_sat_rtn(short16);
4582 uint16 __ovld __cnfn convert_uint16(short16);
4583 uint16 __ovld __cnfn convert_uint16_sat(short16);
4584 uint16 __ovld __cnfn convert_uint16_rte(ushort16);
4585 uint16 __ovld __cnfn convert_uint16_sat_rte(ushort16);
4586 uint16 __ovld __cnfn convert_uint16_rtz(ushort16);
4587 uint16 __ovld __cnfn convert_uint16_sat_rtz(ushort16);
4588 uint16 __ovld __cnfn convert_uint16_rtp(ushort16);
4589 uint16 __ovld __cnfn convert_uint16_sat_rtp(ushort16);
4590 uint16 __ovld __cnfn convert_uint16_rtn(ushort16);
4591 uint16 __ovld __cnfn convert_uint16_sat_rtn(ushort16);
4592 uint16 __ovld __cnfn convert_uint16(ushort16);
4593 uint16 __ovld __cnfn convert_uint16_sat(ushort16);
4594 uint16 __ovld __cnfn convert_uint16_rte(int16);
4595 uint16 __ovld __cnfn convert_uint16_sat_rte(int16);
4596 uint16 __ovld __cnfn convert_uint16_rtz(int16);
4597 uint16 __ovld __cnfn convert_uint16_sat_rtz(int16);
4598 uint16 __ovld __cnfn convert_uint16_rtp(int16);
4599 uint16 __ovld __cnfn convert_uint16_sat_rtp(int16);
4600 uint16 __ovld __cnfn convert_uint16_rtn(int16);
4601 uint16 __ovld __cnfn convert_uint16_sat_rtn(int16);
4602 uint16 __ovld __cnfn convert_uint16(int16);
4603 uint16 __ovld __cnfn convert_uint16_sat(int16);
4604 uint16 __ovld __cnfn convert_uint16_rte(uint16);
4605 uint16 __ovld __cnfn convert_uint16_sat_rte(uint16);
4606 uint16 __ovld __cnfn convert_uint16_rtz(uint16);
4607 uint16 __ovld __cnfn convert_uint16_sat_rtz(uint16);
4608 uint16 __ovld __cnfn convert_uint16_rtp(uint16);
4609 uint16 __ovld __cnfn convert_uint16_sat_rtp(uint16);
4610 uint16 __ovld __cnfn convert_uint16_rtn(uint16);
4611 uint16 __ovld __cnfn convert_uint16_sat_rtn(uint16);
4612 uint16 __ovld __cnfn convert_uint16(uint16);
4613 uint16 __ovld __cnfn convert_uint16_sat(uint16);
4614 uint16 __ovld __cnfn convert_uint16_rte(long16);
4615 uint16 __ovld __cnfn convert_uint16_sat_rte(long16);
4616 uint16 __ovld __cnfn convert_uint16_rtz(long16);
4617 uint16 __ovld __cnfn convert_uint16_sat_rtz(long16);
4618 uint16 __ovld __cnfn convert_uint16_rtp(long16);
4619 uint16 __ovld __cnfn convert_uint16_sat_rtp(long16);
4620 uint16 __ovld __cnfn convert_uint16_rtn(long16);
4621 uint16 __ovld __cnfn convert_uint16_sat_rtn(long16);
4622 uint16 __ovld __cnfn convert_uint16(long16);
4623 uint16 __ovld __cnfn convert_uint16_sat(long16);
4624 uint16 __ovld __cnfn convert_uint16_rte(ulong16);
4625 uint16 __ovld __cnfn convert_uint16_sat_rte(ulong16);
4626 uint16 __ovld __cnfn convert_uint16_rtz(ulong16);
4627 uint16 __ovld __cnfn convert_uint16_sat_rtz(ulong16);
4628 uint16 __ovld __cnfn convert_uint16_rtp(ulong16);
4629 uint16 __ovld __cnfn convert_uint16_sat_rtp(ulong16);
4630 uint16 __ovld __cnfn convert_uint16_rtn(ulong16);
4631 uint16 __ovld __cnfn convert_uint16_sat_rtn(ulong16);
4632 uint16 __ovld __cnfn convert_uint16(ulong16);
4633 uint16 __ovld __cnfn convert_uint16_sat(ulong16);
4634 uint16 __ovld __cnfn convert_uint16_rte(float16);
4635 uint16 __ovld __cnfn convert_uint16_sat_rte(float16);
4636 uint16 __ovld __cnfn convert_uint16_rtz(float16);
4637 uint16 __ovld __cnfn convert_uint16_sat_rtz(float16);
4638 uint16 __ovld __cnfn convert_uint16_rtp(float16);
4639 uint16 __ovld __cnfn convert_uint16_sat_rtp(float16);
4640 uint16 __ovld __cnfn convert_uint16_rtn(float16);
4641 uint16 __ovld __cnfn convert_uint16_sat_rtn(float16);
4642 uint16 __ovld __cnfn convert_uint16(float16);
4643 uint16 __ovld __cnfn convert_uint16_sat(float16);
4644 long16 __ovld __cnfn convert_long16_rte(char16);
4645 long16 __ovld __cnfn convert_long16_sat_rte(char16);
4646 long16 __ovld __cnfn convert_long16_rtz(char16);
4647 long16 __ovld __cnfn convert_long16_sat_rtz(char16);
4648 long16 __ovld __cnfn convert_long16_rtp(char16);
4649 long16 __ovld __cnfn convert_long16_sat_rtp(char16);
4650 long16 __ovld __cnfn convert_long16_rtn(char16);
4651 long16 __ovld __cnfn convert_long16_sat_rtn(char16);
4652 long16 __ovld __cnfn convert_long16(char16);
4653 long16 __ovld __cnfn convert_long16_sat(char16);
4654 long16 __ovld __cnfn convert_long16_rte(uchar16);
4655 long16 __ovld __cnfn convert_long16_sat_rte(uchar16);
4656 long16 __ovld __cnfn convert_long16_rtz(uchar16);
4657 long16 __ovld __cnfn convert_long16_sat_rtz(uchar16);
4658 long16 __ovld __cnfn convert_long16_rtp(uchar16);
4659 long16 __ovld __cnfn convert_long16_sat_rtp(uchar16);
4660 long16 __ovld __cnfn convert_long16_rtn(uchar16);
4661 long16 __ovld __cnfn convert_long16_sat_rtn(uchar16);
4662 long16 __ovld __cnfn convert_long16(uchar16);
4663 long16 __ovld __cnfn convert_long16_sat(uchar16);
4664 long16 __ovld __cnfn convert_long16_rte(short16);
4665 long16 __ovld __cnfn convert_long16_sat_rte(short16);
4666 long16 __ovld __cnfn convert_long16_rtz(short16);
4667 long16 __ovld __cnfn convert_long16_sat_rtz(short16);
4668 long16 __ovld __cnfn convert_long16_rtp(short16);
4669 long16 __ovld __cnfn convert_long16_sat_rtp(short16);
4670 long16 __ovld __cnfn convert_long16_rtn(short16);
4671 long16 __ovld __cnfn convert_long16_sat_rtn(short16);
4672 long16 __ovld __cnfn convert_long16(short16);
4673 long16 __ovld __cnfn convert_long16_sat(short16);
4674 long16 __ovld __cnfn convert_long16_rte(ushort16);
4675 long16 __ovld __cnfn convert_long16_sat_rte(ushort16);
4676 long16 __ovld __cnfn convert_long16_rtz(ushort16);
4677 long16 __ovld __cnfn convert_long16_sat_rtz(ushort16);
4678 long16 __ovld __cnfn convert_long16_rtp(ushort16);
4679 long16 __ovld __cnfn convert_long16_sat_rtp(ushort16);
4680 long16 __ovld __cnfn convert_long16_rtn(ushort16);
4681 long16 __ovld __cnfn convert_long16_sat_rtn(ushort16);
4682 long16 __ovld __cnfn convert_long16(ushort16);
4683 long16 __ovld __cnfn convert_long16_sat(ushort16);
4684 long16 __ovld __cnfn convert_long16_rte(int16);
4685 long16 __ovld __cnfn convert_long16_sat_rte(int16);
4686 long16 __ovld __cnfn convert_long16_rtz(int16);
4687 long16 __ovld __cnfn convert_long16_sat_rtz(int16);
4688 long16 __ovld __cnfn convert_long16_rtp(int16);
4689 long16 __ovld __cnfn convert_long16_sat_rtp(int16);
4690 long16 __ovld __cnfn convert_long16_rtn(int16);
4691 long16 __ovld __cnfn convert_long16_sat_rtn(int16);
4692 long16 __ovld __cnfn convert_long16(int16);
4693 long16 __ovld __cnfn convert_long16_sat(int16);
4694 long16 __ovld __cnfn convert_long16_rte(uint16);
4695 long16 __ovld __cnfn convert_long16_sat_rte(uint16);
4696 long16 __ovld __cnfn convert_long16_rtz(uint16);
4697 long16 __ovld __cnfn convert_long16_sat_rtz(uint16);
4698 long16 __ovld __cnfn convert_long16_rtp(uint16);
4699 long16 __ovld __cnfn convert_long16_sat_rtp(uint16);
4700 long16 __ovld __cnfn convert_long16_rtn(uint16);
4701 long16 __ovld __cnfn convert_long16_sat_rtn(uint16);
4702 long16 __ovld __cnfn convert_long16(uint16);
4703 long16 __ovld __cnfn convert_long16_sat(uint16);
4704 long16 __ovld __cnfn convert_long16_rte(long16);
4705 long16 __ovld __cnfn convert_long16_sat_rte(long16);
4706 long16 __ovld __cnfn convert_long16_rtz(long16);
4707 long16 __ovld __cnfn convert_long16_sat_rtz(long16);
4708 long16 __ovld __cnfn convert_long16_rtp(long16);
4709 long16 __ovld __cnfn convert_long16_sat_rtp(long16);
4710 long16 __ovld __cnfn convert_long16_rtn(long16);
4711 long16 __ovld __cnfn convert_long16_sat_rtn(long16);
4712 long16 __ovld __cnfn convert_long16(long16);
4713 long16 __ovld __cnfn convert_long16_sat(long16);
4714 long16 __ovld __cnfn convert_long16_rte(ulong16);
4715 long16 __ovld __cnfn convert_long16_sat_rte(ulong16);
4716 long16 __ovld __cnfn convert_long16_rtz(ulong16);
4717 long16 __ovld __cnfn convert_long16_sat_rtz(ulong16);
4718 long16 __ovld __cnfn convert_long16_rtp(ulong16);
4719 long16 __ovld __cnfn convert_long16_sat_rtp(ulong16);
4720 long16 __ovld __cnfn convert_long16_rtn(ulong16);
4721 long16 __ovld __cnfn convert_long16_sat_rtn(ulong16);
4722 long16 __ovld __cnfn convert_long16(ulong16);
4723 long16 __ovld __cnfn convert_long16_sat(ulong16);
4724 long16 __ovld __cnfn convert_long16_rte(float16);
4725 long16 __ovld __cnfn convert_long16_sat_rte(float16);
4726 long16 __ovld __cnfn convert_long16_rtz(float16);
4727 long16 __ovld __cnfn convert_long16_sat_rtz(float16);
4728 long16 __ovld __cnfn convert_long16_rtp(float16);
4729 long16 __ovld __cnfn convert_long16_sat_rtp(float16);
4730 long16 __ovld __cnfn convert_long16_rtn(float16);
4731 long16 __ovld __cnfn convert_long16_sat_rtn(float16);
4732 long16 __ovld __cnfn convert_long16(float16);
4733 long16 __ovld __cnfn convert_long16_sat(float16);
4734 ulong16 __ovld __cnfn convert_ulong16_rte(char16);
4735 ulong16 __ovld __cnfn convert_ulong16_sat_rte(char16);
4736 ulong16 __ovld __cnfn convert_ulong16_rtz(char16);
4737 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(char16);
4738 ulong16 __ovld __cnfn convert_ulong16_rtp(char16);
4739 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(char16);
4740 ulong16 __ovld __cnfn convert_ulong16_rtn(char16);
4741 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(char16);
4742 ulong16 __ovld __cnfn convert_ulong16(char16);
4743 ulong16 __ovld __cnfn convert_ulong16_sat(char16);
4744 ulong16 __ovld __cnfn convert_ulong16_rte(uchar16);
4745 ulong16 __ovld __cnfn convert_ulong16_sat_rte(uchar16);
4746 ulong16 __ovld __cnfn convert_ulong16_rtz(uchar16);
4747 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(uchar16);
4748 ulong16 __ovld __cnfn convert_ulong16_rtp(uchar16);
4749 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(uchar16);
4750 ulong16 __ovld __cnfn convert_ulong16_rtn(uchar16);
4751 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(uchar16);
4752 ulong16 __ovld __cnfn convert_ulong16(uchar16);
4753 ulong16 __ovld __cnfn convert_ulong16_sat(uchar16);
4754 ulong16 __ovld __cnfn convert_ulong16_rte(short16);
4755 ulong16 __ovld __cnfn convert_ulong16_sat_rte(short16);
4756 ulong16 __ovld __cnfn convert_ulong16_rtz(short16);
4757 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(short16);
4758 ulong16 __ovld __cnfn convert_ulong16_rtp(short16);
4759 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(short16);
4760 ulong16 __ovld __cnfn convert_ulong16_rtn(short16);
4761 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(short16);
4762 ulong16 __ovld __cnfn convert_ulong16(short16);
4763 ulong16 __ovld __cnfn convert_ulong16_sat(short16);
4764 ulong16 __ovld __cnfn convert_ulong16_rte(ushort16);
4765 ulong16 __ovld __cnfn convert_ulong16_sat_rte(ushort16);
4766 ulong16 __ovld __cnfn convert_ulong16_rtz(ushort16);
4767 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(ushort16);
4768 ulong16 __ovld __cnfn convert_ulong16_rtp(ushort16);
4769 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(ushort16);
4770 ulong16 __ovld __cnfn convert_ulong16_rtn(ushort16);
4771 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(ushort16);
4772 ulong16 __ovld __cnfn convert_ulong16(ushort16);
4773 ulong16 __ovld __cnfn convert_ulong16_sat(ushort16);
4774 ulong16 __ovld __cnfn convert_ulong16_rte(int16);
4775 ulong16 __ovld __cnfn convert_ulong16_sat_rte(int16);
4776 ulong16 __ovld __cnfn convert_ulong16_rtz(int16);
4777 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(int16);
4778 ulong16 __ovld __cnfn convert_ulong16_rtp(int16);
4779 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(int16);
4780 ulong16 __ovld __cnfn convert_ulong16_rtn(int16);
4781 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(int16);
4782 ulong16 __ovld __cnfn convert_ulong16(int16);
4783 ulong16 __ovld __cnfn convert_ulong16_sat(int16);
4784 ulong16 __ovld __cnfn convert_ulong16_rte(uint16);
4785 ulong16 __ovld __cnfn convert_ulong16_sat_rte(uint16);
4786 ulong16 __ovld __cnfn convert_ulong16_rtz(uint16);
4787 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(uint16);
4788 ulong16 __ovld __cnfn convert_ulong16_rtp(uint16);
4789 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(uint16);
4790 ulong16 __ovld __cnfn convert_ulong16_rtn(uint16);
4791 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(uint16);
4792 ulong16 __ovld __cnfn convert_ulong16(uint16);
4793 ulong16 __ovld __cnfn convert_ulong16_sat(uint16);
4794 ulong16 __ovld __cnfn convert_ulong16_rte(long16);
4795 ulong16 __ovld __cnfn convert_ulong16_sat_rte(long16);
4796 ulong16 __ovld __cnfn convert_ulong16_rtz(long16);
4797 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(long16);
4798 ulong16 __ovld __cnfn convert_ulong16_rtp(long16);
4799 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(long16);
4800 ulong16 __ovld __cnfn convert_ulong16_rtn(long16);
4801 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(long16);
4802 ulong16 __ovld __cnfn convert_ulong16(long16);
4803 ulong16 __ovld __cnfn convert_ulong16_sat(long16);
4804 ulong16 __ovld __cnfn convert_ulong16_rte(ulong16);
4805 ulong16 __ovld __cnfn convert_ulong16_sat_rte(ulong16);
4806 ulong16 __ovld __cnfn convert_ulong16_rtz(ulong16);
4807 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(ulong16);
4808 ulong16 __ovld __cnfn convert_ulong16_rtp(ulong16);
4809 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(ulong16);
4810 ulong16 __ovld __cnfn convert_ulong16_rtn(ulong16);
4811 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(ulong16);
4812 ulong16 __ovld __cnfn convert_ulong16(ulong16);
4813 ulong16 __ovld __cnfn convert_ulong16_sat(ulong16);
4814 ulong16 __ovld __cnfn convert_ulong16_rte(float16);
4815 ulong16 __ovld __cnfn convert_ulong16_sat_rte(float16);
4816 ulong16 __ovld __cnfn convert_ulong16_rtz(float16);
4817 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(float16);
4818 ulong16 __ovld __cnfn convert_ulong16_rtp(float16);
4819 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(float16);
4820 ulong16 __ovld __cnfn convert_ulong16_rtn(float16);
4821 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(float16);
4822 ulong16 __ovld __cnfn convert_ulong16(float16);
4823 ulong16 __ovld __cnfn convert_ulong16_sat(float16);
4824 float16 __ovld __cnfn convert_float16_rte(char16);
4825 float16 __ovld __cnfn convert_float16_rtz(char16);
4826 float16 __ovld __cnfn convert_float16_rtp(char16);
4827 float16 __ovld __cnfn convert_float16_rtn(char16);
4828 float16 __ovld __cnfn convert_float16(char16);
4829 float16 __ovld __cnfn convert_float16_rte(uchar16);
4830 float16 __ovld __cnfn convert_float16_rtz(uchar16);
4831 float16 __ovld __cnfn convert_float16_rtp(uchar16);
4832 float16 __ovld __cnfn convert_float16_rtn(uchar16);
4833 float16 __ovld __cnfn convert_float16(uchar16);
4834 float16 __ovld __cnfn convert_float16_rte(short16);
4835 float16 __ovld __cnfn convert_float16_rtz(short16);
4836 float16 __ovld __cnfn convert_float16_rtp(short16);
4837 float16 __ovld __cnfn convert_float16_rtn(short16);
4838 float16 __ovld __cnfn convert_float16(short16);
4839 float16 __ovld __cnfn convert_float16_rte(ushort16);
4840 float16 __ovld __cnfn convert_float16_rtz(ushort16);
4841 float16 __ovld __cnfn convert_float16_rtp(ushort16);
4842 float16 __ovld __cnfn convert_float16_rtn(ushort16);
4843 float16 __ovld __cnfn convert_float16(ushort16);
4844 float16 __ovld __cnfn convert_float16_rte(int16);
4845 float16 __ovld __cnfn convert_float16_rtz(int16);
4846 float16 __ovld __cnfn convert_float16_rtp(int16);
4847 float16 __ovld __cnfn convert_float16_rtn(int16);
4848 float16 __ovld __cnfn convert_float16(int16);
4849 float16 __ovld __cnfn convert_float16_rte(uint16);
4850 float16 __ovld __cnfn convert_float16_rtz(uint16);
4851 float16 __ovld __cnfn convert_float16_rtp(uint16);
4852 float16 __ovld __cnfn convert_float16_rtn(uint16);
4853 float16 __ovld __cnfn convert_float16(uint16);
4854 float16 __ovld __cnfn convert_float16_rte(long16);
4855 float16 __ovld __cnfn convert_float16_rtz(long16);
4856 float16 __ovld __cnfn convert_float16_rtp(long16);
4857 float16 __ovld __cnfn convert_float16_rtn(long16);
4858 float16 __ovld __cnfn convert_float16(long16);
4859 float16 __ovld __cnfn convert_float16_rte(ulong16);
4860 float16 __ovld __cnfn convert_float16_rtz(ulong16);
4861 float16 __ovld __cnfn convert_float16_rtp(ulong16);
4862 float16 __ovld __cnfn convert_float16_rtn(ulong16);
4863 float16 __ovld __cnfn convert_float16(ulong16);
4864 float16 __ovld __cnfn convert_float16_rte(float16);
4865 float16 __ovld __cnfn convert_float16_rtz(float16);
4866 float16 __ovld __cnfn convert_float16_rtp(float16);
4867 float16 __ovld __cnfn convert_float16_rtn(float16);
4868 float16 __ovld __cnfn convert_float16(float16);
4869
4870 // Conversions with double data type parameters or return value.
4871
4872 #ifdef cl_khr_fp64
4873 char __ovld __cnfn convert_char(double);
4874 char __ovld __cnfn convert_char_rte(double);
4875 char __ovld __cnfn convert_char_rtn(double);
4876 char __ovld __cnfn convert_char_rtp(double);
4877 char __ovld __cnfn convert_char_rtz(double);
4878 char __ovld __cnfn convert_char_sat(double);
4879 char __ovld __cnfn convert_char_sat_rte(double);
4880 char __ovld __cnfn convert_char_sat_rtn(double);
4881 char __ovld __cnfn convert_char_sat_rtp(double);
4882 char __ovld __cnfn convert_char_sat_rtz(double);
4883 char2 __ovld __cnfn convert_char2(double2);
4884 char2 __ovld __cnfn convert_char2_rte(double2);
4885 char2 __ovld __cnfn convert_char2_rtn(double2);
4886 char2 __ovld __cnfn convert_char2_rtp(double2);
4887 char2 __ovld __cnfn convert_char2_rtz(double2);
4888 char2 __ovld __cnfn convert_char2_sat(double2);
4889 char2 __ovld __cnfn convert_char2_sat_rte(double2);
4890 char2 __ovld __cnfn convert_char2_sat_rtn(double2);
4891 char2 __ovld __cnfn convert_char2_sat_rtp(double2);
4892 char2 __ovld __cnfn convert_char2_sat_rtz(double2);
4893 char3 __ovld __cnfn convert_char3(double3);
4894 char3 __ovld __cnfn convert_char3_rte(double3);
4895 char3 __ovld __cnfn convert_char3_rtn(double3);
4896 char3 __ovld __cnfn convert_char3_rtp(double3);
4897 char3 __ovld __cnfn convert_char3_rtz(double3);
4898 char3 __ovld __cnfn convert_char3_sat(double3);
4899 char3 __ovld __cnfn convert_char3_sat_rte(double3);
4900 char3 __ovld __cnfn convert_char3_sat_rtn(double3);
4901 char3 __ovld __cnfn convert_char3_sat_rtp(double3);
4902 char3 __ovld __cnfn convert_char3_sat_rtz(double3);
4903 char4 __ovld __cnfn convert_char4(double4);
4904 char4 __ovld __cnfn convert_char4_rte(double4);
4905 char4 __ovld __cnfn convert_char4_rtn(double4);
4906 char4 __ovld __cnfn convert_char4_rtp(double4);
4907 char4 __ovld __cnfn convert_char4_rtz(double4);
4908 char4 __ovld __cnfn convert_char4_sat(double4);
4909 char4 __ovld __cnfn convert_char4_sat_rte(double4);
4910 char4 __ovld __cnfn convert_char4_sat_rtn(double4);
4911 char4 __ovld __cnfn convert_char4_sat_rtp(double4);
4912 char4 __ovld __cnfn convert_char4_sat_rtz(double4);
4913 char8 __ovld __cnfn convert_char8(double8);
4914 char8 __ovld __cnfn convert_char8_rte(double8);
4915 char8 __ovld __cnfn convert_char8_rtn(double8);
4916 char8 __ovld __cnfn convert_char8_rtp(double8);
4917 char8 __ovld __cnfn convert_char8_rtz(double8);
4918 char8 __ovld __cnfn convert_char8_sat(double8);
4919 char8 __ovld __cnfn convert_char8_sat_rte(double8);
4920 char8 __ovld __cnfn convert_char8_sat_rtn(double8);
4921 char8 __ovld __cnfn convert_char8_sat_rtp(double8);
4922 char8 __ovld __cnfn convert_char8_sat_rtz(double8);
4923 char16 __ovld __cnfn convert_char16(double16);
4924 char16 __ovld __cnfn convert_char16_rte(double16);
4925 char16 __ovld __cnfn convert_char16_rtn(double16);
4926 char16 __ovld __cnfn convert_char16_rtp(double16);
4927 char16 __ovld __cnfn convert_char16_rtz(double16);
4928 char16 __ovld __cnfn convert_char16_sat(double16);
4929 char16 __ovld __cnfn convert_char16_sat_rte(double16);
4930 char16 __ovld __cnfn convert_char16_sat_rtn(double16);
4931 char16 __ovld __cnfn convert_char16_sat_rtp(double16);
4932 char16 __ovld __cnfn convert_char16_sat_rtz(double16);
4933
4934 uchar __ovld __cnfn convert_uchar(double);
4935 uchar __ovld __cnfn convert_uchar_rte(double);
4936 uchar __ovld __cnfn convert_uchar_rtn(double);
4937 uchar __ovld __cnfn convert_uchar_rtp(double);
4938 uchar __ovld __cnfn convert_uchar_rtz(double);
4939 uchar __ovld __cnfn convert_uchar_sat(double);
4940 uchar __ovld __cnfn convert_uchar_sat_rte(double);
4941 uchar __ovld __cnfn convert_uchar_sat_rtn(double);
4942 uchar __ovld __cnfn convert_uchar_sat_rtp(double);
4943 uchar __ovld __cnfn convert_uchar_sat_rtz(double);
4944 uchar2 __ovld __cnfn convert_uchar2(double2);
4945 uchar2 __ovld __cnfn convert_uchar2_rte(double2);
4946 uchar2 __ovld __cnfn convert_uchar2_rtn(double2);
4947 uchar2 __ovld __cnfn convert_uchar2_rtp(double2);
4948 uchar2 __ovld __cnfn convert_uchar2_rtz(double2);
4949 uchar2 __ovld __cnfn convert_uchar2_sat(double2);
4950 uchar2 __ovld __cnfn convert_uchar2_sat_rte(double2);
4951 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(double2);
4952 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(double2);
4953 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(double2);
4954 uchar3 __ovld __cnfn convert_uchar3(double3);
4955 uchar3 __ovld __cnfn convert_uchar3_rte(double3);
4956 uchar3 __ovld __cnfn convert_uchar3_rtn(double3);
4957 uchar3 __ovld __cnfn convert_uchar3_rtp(double3);
4958 uchar3 __ovld __cnfn convert_uchar3_rtz(double3);
4959 uchar3 __ovld __cnfn convert_uchar3_sat(double3);
4960 uchar3 __ovld __cnfn convert_uchar3_sat_rte(double3);
4961 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(double3);
4962 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(double3);
4963 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(double3);
4964 uchar4 __ovld __cnfn convert_uchar4(double4);
4965 uchar4 __ovld __cnfn convert_uchar4_rte(double4);
4966 uchar4 __ovld __cnfn convert_uchar4_rtn(double4);
4967 uchar4 __ovld __cnfn convert_uchar4_rtp(double4);
4968 uchar4 __ovld __cnfn convert_uchar4_rtz(double4);
4969 uchar4 __ovld __cnfn convert_uchar4_sat(double4);
4970 uchar4 __ovld __cnfn convert_uchar4_sat_rte(double4);
4971 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(double4);
4972 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(double4);
4973 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(double4);
4974 uchar8 __ovld __cnfn convert_uchar8(double8);
4975 uchar8 __ovld __cnfn convert_uchar8_rte(double8);
4976 uchar8 __ovld __cnfn convert_uchar8_rtn(double8);
4977 uchar8 __ovld __cnfn convert_uchar8_rtp(double8);
4978 uchar8 __ovld __cnfn convert_uchar8_rtz(double8);
4979 uchar8 __ovld __cnfn convert_uchar8_sat(double8);
4980 uchar8 __ovld __cnfn convert_uchar8_sat_rte(double8);
4981 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(double8);
4982 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(double8);
4983 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(double8);
4984 uchar16 __ovld __cnfn convert_uchar16(double16);
4985 uchar16 __ovld __cnfn convert_uchar16_rte(double16);
4986 uchar16 __ovld __cnfn convert_uchar16_rtn(double16);
4987 uchar16 __ovld __cnfn convert_uchar16_rtp(double16);
4988 uchar16 __ovld __cnfn convert_uchar16_rtz(double16);
4989 uchar16 __ovld __cnfn convert_uchar16_sat(double16);
4990 uchar16 __ovld __cnfn convert_uchar16_sat_rte(double16);
4991 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(double16);
4992 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(double16);
4993 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(double16);
4994
4995 short __ovld __cnfn convert_short(double);
4996 short __ovld __cnfn convert_short_rte(double);
4997 short __ovld __cnfn convert_short_rtn(double);
4998 short __ovld __cnfn convert_short_rtp(double);
4999 short __ovld __cnfn convert_short_rtz(double);
5000 short __ovld __cnfn convert_short_sat(double);
5001 short __ovld __cnfn convert_short_sat_rte(double);
5002 short __ovld __cnfn convert_short_sat_rtn(double);
5003 short __ovld __cnfn convert_short_sat_rtp(double);
5004 short __ovld __cnfn convert_short_sat_rtz(double);
5005 short2 __ovld __cnfn convert_short2(double2);
5006 short2 __ovld __cnfn convert_short2_rte(double2);
5007 short2 __ovld __cnfn convert_short2_rtn(double2);
5008 short2 __ovld __cnfn convert_short2_rtp(double2);
5009 short2 __ovld __cnfn convert_short2_rtz(double2);
5010 short2 __ovld __cnfn convert_short2_sat(double2);
5011 short2 __ovld __cnfn convert_short2_sat_rte(double2);
5012 short2 __ovld __cnfn convert_short2_sat_rtn(double2);
5013 short2 __ovld __cnfn convert_short2_sat_rtp(double2);
5014 short2 __ovld __cnfn convert_short2_sat_rtz(double2);
5015 short3 __ovld __cnfn convert_short3(double3);
5016 short3 __ovld __cnfn convert_short3_rte(double3);
5017 short3 __ovld __cnfn convert_short3_rtn(double3);
5018 short3 __ovld __cnfn convert_short3_rtp(double3);
5019 short3 __ovld __cnfn convert_short3_rtz(double3);
5020 short3 __ovld __cnfn convert_short3_sat(double3);
5021 short3 __ovld __cnfn convert_short3_sat_rte(double3);
5022 short3 __ovld __cnfn convert_short3_sat_rtn(double3);
5023 short3 __ovld __cnfn convert_short3_sat_rtp(double3);
5024 short3 __ovld __cnfn convert_short3_sat_rtz(double3);
5025 short4 __ovld __cnfn convert_short4(double4);
5026 short4 __ovld __cnfn convert_short4_rte(double4);
5027 short4 __ovld __cnfn convert_short4_rtn(double4);
5028 short4 __ovld __cnfn convert_short4_rtp(double4);
5029 short4 __ovld __cnfn convert_short4_rtz(double4);
5030 short4 __ovld __cnfn convert_short4_sat(double4);
5031 short4 __ovld __cnfn convert_short4_sat_rte(double4);
5032 short4 __ovld __cnfn convert_short4_sat_rtn(double4);
5033 short4 __ovld __cnfn convert_short4_sat_rtp(double4);
5034 short4 __ovld __cnfn convert_short4_sat_rtz(double4);
5035 short8 __ovld __cnfn convert_short8(double8);
5036 short8 __ovld __cnfn convert_short8_rte(double8);
5037 short8 __ovld __cnfn convert_short8_rtn(double8);
5038 short8 __ovld __cnfn convert_short8_rtp(double8);
5039 short8 __ovld __cnfn convert_short8_rtz(double8);
5040 short8 __ovld __cnfn convert_short8_sat(double8);
5041 short8 __ovld __cnfn convert_short8_sat_rte(double8);
5042 short8 __ovld __cnfn convert_short8_sat_rtn(double8);
5043 short8 __ovld __cnfn convert_short8_sat_rtp(double8);
5044 short8 __ovld __cnfn convert_short8_sat_rtz(double8);
5045 short16 __ovld __cnfn convert_short16(double16);
5046 short16 __ovld __cnfn convert_short16_rte(double16);
5047 short16 __ovld __cnfn convert_short16_rtn(double16);
5048 short16 __ovld __cnfn convert_short16_rtp(double16);
5049 short16 __ovld __cnfn convert_short16_rtz(double16);
5050 short16 __ovld __cnfn convert_short16_sat(double16);
5051 short16 __ovld __cnfn convert_short16_sat_rte(double16);
5052 short16 __ovld __cnfn convert_short16_sat_rtn(double16);
5053 short16 __ovld __cnfn convert_short16_sat_rtp(double16);
5054 short16 __ovld __cnfn convert_short16_sat_rtz(double16);
5055
5056 ushort __ovld __cnfn convert_ushort(double);
5057 ushort __ovld __cnfn convert_ushort_rte(double);
5058 ushort __ovld __cnfn convert_ushort_rtn(double);
5059 ushort __ovld __cnfn convert_ushort_rtp(double);
5060 ushort __ovld __cnfn convert_ushort_rtz(double);
5061 ushort __ovld __cnfn convert_ushort_sat(double);
5062 ushort __ovld __cnfn convert_ushort_sat_rte(double);
5063 ushort __ovld __cnfn convert_ushort_sat_rtn(double);
5064 ushort __ovld __cnfn convert_ushort_sat_rtp(double);
5065 ushort __ovld __cnfn convert_ushort_sat_rtz(double);
5066 ushort2 __ovld __cnfn convert_ushort2(double2);
5067 ushort2 __ovld __cnfn convert_ushort2_rte(double2);
5068 ushort2 __ovld __cnfn convert_ushort2_rtn(double2);
5069 ushort2 __ovld __cnfn convert_ushort2_rtp(double2);
5070 ushort2 __ovld __cnfn convert_ushort2_rtz(double2);
5071 ushort2 __ovld __cnfn convert_ushort2_sat(double2);
5072 ushort2 __ovld __cnfn convert_ushort2_sat_rte(double2);
5073 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(double2);
5074 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(double2);
5075 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(double2);
5076 ushort3 __ovld __cnfn convert_ushort3(double3);
5077 ushort3 __ovld __cnfn convert_ushort3_rte(double3);
5078 ushort3 __ovld __cnfn convert_ushort3_rtn(double3);
5079 ushort3 __ovld __cnfn convert_ushort3_rtp(double3);
5080 ushort3 __ovld __cnfn convert_ushort3_rtz(double3);
5081 ushort3 __ovld __cnfn convert_ushort3_sat(double3);
5082 ushort3 __ovld __cnfn convert_ushort3_sat_rte(double3);
5083 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(double3);
5084 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(double3);
5085 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(double3);
5086 ushort4 __ovld __cnfn convert_ushort4(double4);
5087 ushort4 __ovld __cnfn convert_ushort4_rte(double4);
5088 ushort4 __ovld __cnfn convert_ushort4_rtn(double4);
5089 ushort4 __ovld __cnfn convert_ushort4_rtp(double4);
5090 ushort4 __ovld __cnfn convert_ushort4_rtz(double4);
5091 ushort4 __ovld __cnfn convert_ushort4_sat(double4);
5092 ushort4 __ovld __cnfn convert_ushort4_sat_rte(double4);
5093 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(double4);
5094 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(double4);
5095 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(double4);
5096 ushort8 __ovld __cnfn convert_ushort8(double8);
5097 ushort8 __ovld __cnfn convert_ushort8_rte(double8);
5098 ushort8 __ovld __cnfn convert_ushort8_rtn(double8);
5099 ushort8 __ovld __cnfn convert_ushort8_rtp(double8);
5100 ushort8 __ovld __cnfn convert_ushort8_rtz(double8);
5101 ushort8 __ovld __cnfn convert_ushort8_sat(double8);
5102 ushort8 __ovld __cnfn convert_ushort8_sat_rte(double8);
5103 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(double8);
5104 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(double8);
5105 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(double8);
5106 ushort16 __ovld __cnfn convert_ushort16(double16);
5107 ushort16 __ovld __cnfn convert_ushort16_rte(double16);
5108 ushort16 __ovld __cnfn convert_ushort16_rtn(double16);
5109 ushort16 __ovld __cnfn convert_ushort16_rtp(double16);
5110 ushort16 __ovld __cnfn convert_ushort16_rtz(double16);
5111 ushort16 __ovld __cnfn convert_ushort16_sat(double16);
5112 ushort16 __ovld __cnfn convert_ushort16_sat_rte(double16);
5113 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(double16);
5114 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(double16);
5115 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(double16);
5116
5117 int __ovld __cnfn convert_int(double);
5118 int __ovld __cnfn convert_int_rte(double);
5119 int __ovld __cnfn convert_int_rtn(double);
5120 int __ovld __cnfn convert_int_rtp(double);
5121 int __ovld __cnfn convert_int_rtz(double);
5122 int __ovld __cnfn convert_int_sat(double);
5123 int __ovld __cnfn convert_int_sat_rte(double);
5124 int __ovld __cnfn convert_int_sat_rtn(double);
5125 int __ovld __cnfn convert_int_sat_rtp(double);
5126 int __ovld __cnfn convert_int_sat_rtz(double);
5127 int2 __ovld __cnfn convert_int2(double2);
5128 int2 __ovld __cnfn convert_int2_rte(double2);
5129 int2 __ovld __cnfn convert_int2_rtn(double2);
5130 int2 __ovld __cnfn convert_int2_rtp(double2);
5131 int2 __ovld __cnfn convert_int2_rtz(double2);
5132 int2 __ovld __cnfn convert_int2_sat(double2);
5133 int2 __ovld __cnfn convert_int2_sat_rte(double2);
5134 int2 __ovld __cnfn convert_int2_sat_rtn(double2);
5135 int2 __ovld __cnfn convert_int2_sat_rtp(double2);
5136 int2 __ovld __cnfn convert_int2_sat_rtz(double2);
5137 int3 __ovld __cnfn convert_int3(double3);
5138 int3 __ovld __cnfn convert_int3_rte(double3);
5139 int3 __ovld __cnfn convert_int3_rtn(double3);
5140 int3 __ovld __cnfn convert_int3_rtp(double3);
5141 int3 __ovld __cnfn convert_int3_rtz(double3);
5142 int3 __ovld __cnfn convert_int3_sat(double3);
5143 int3 __ovld __cnfn convert_int3_sat_rte(double3);
5144 int3 __ovld __cnfn convert_int3_sat_rtn(double3);
5145 int3 __ovld __cnfn convert_int3_sat_rtp(double3);
5146 int3 __ovld __cnfn convert_int3_sat_rtz(double3);
5147 int4 __ovld __cnfn convert_int4(double4);
5148 int4 __ovld __cnfn convert_int4_rte(double4);
5149 int4 __ovld __cnfn convert_int4_rtn(double4);
5150 int4 __ovld __cnfn convert_int4_rtp(double4);
5151 int4 __ovld __cnfn convert_int4_rtz(double4);
5152 int4 __ovld __cnfn convert_int4_sat(double4);
5153 int4 __ovld __cnfn convert_int4_sat_rte(double4);
5154 int4 __ovld __cnfn convert_int4_sat_rtn(double4);
5155 int4 __ovld __cnfn convert_int4_sat_rtp(double4);
5156 int4 __ovld __cnfn convert_int4_sat_rtz(double4);
5157 int8 __ovld __cnfn convert_int8(double8);
5158 int8 __ovld __cnfn convert_int8_rte(double8);
5159 int8 __ovld __cnfn convert_int8_rtn(double8);
5160 int8 __ovld __cnfn convert_int8_rtp(double8);
5161 int8 __ovld __cnfn convert_int8_rtz(double8);
5162 int8 __ovld __cnfn convert_int8_sat(double8);
5163 int8 __ovld __cnfn convert_int8_sat_rte(double8);
5164 int8 __ovld __cnfn convert_int8_sat_rtn(double8);
5165 int8 __ovld __cnfn convert_int8_sat_rtp(double8);
5166 int8 __ovld __cnfn convert_int8_sat_rtz(double8);
5167 int16 __ovld __cnfn convert_int16(double16);
5168 int16 __ovld __cnfn convert_int16_rte(double16);
5169 int16 __ovld __cnfn convert_int16_rtn(double16);
5170 int16 __ovld __cnfn convert_int16_rtp(double16);
5171 int16 __ovld __cnfn convert_int16_rtz(double16);
5172 int16 __ovld __cnfn convert_int16_sat(double16);
5173 int16 __ovld __cnfn convert_int16_sat_rte(double16);
5174 int16 __ovld __cnfn convert_int16_sat_rtn(double16);
5175 int16 __ovld __cnfn convert_int16_sat_rtp(double16);
5176 int16 __ovld __cnfn convert_int16_sat_rtz(double16);
5177
5178 uint __ovld __cnfn convert_uint(double);
5179 uint __ovld __cnfn convert_uint_rte(double);
5180 uint __ovld __cnfn convert_uint_rtn(double);
5181 uint __ovld __cnfn convert_uint_rtp(double);
5182 uint __ovld __cnfn convert_uint_rtz(double);
5183 uint __ovld __cnfn convert_uint_sat(double);
5184 uint __ovld __cnfn convert_uint_sat_rte(double);
5185 uint __ovld __cnfn convert_uint_sat_rtn(double);
5186 uint __ovld __cnfn convert_uint_sat_rtp(double);
5187 uint __ovld __cnfn convert_uint_sat_rtz(double);
5188 uint2 __ovld __cnfn convert_uint2(double2);
5189 uint2 __ovld __cnfn convert_uint2_rte(double2);
5190 uint2 __ovld __cnfn convert_uint2_rtn(double2);
5191 uint2 __ovld __cnfn convert_uint2_rtp(double2);
5192 uint2 __ovld __cnfn convert_uint2_rtz(double2);
5193 uint2 __ovld __cnfn convert_uint2_sat(double2);
5194 uint2 __ovld __cnfn convert_uint2_sat_rte(double2);
5195 uint2 __ovld __cnfn convert_uint2_sat_rtn(double2);
5196 uint2 __ovld __cnfn convert_uint2_sat_rtp(double2);
5197 uint2 __ovld __cnfn convert_uint2_sat_rtz(double2);
5198 uint3 __ovld __cnfn convert_uint3(double3);
5199 uint3 __ovld __cnfn convert_uint3_rte(double3);
5200 uint3 __ovld __cnfn convert_uint3_rtn(double3);
5201 uint3 __ovld __cnfn convert_uint3_rtp(double3);
5202 uint3 __ovld __cnfn convert_uint3_rtz(double3);
5203 uint3 __ovld __cnfn convert_uint3_sat(double3);
5204 uint3 __ovld __cnfn convert_uint3_sat_rte(double3);
5205 uint3 __ovld __cnfn convert_uint3_sat_rtn(double3);
5206 uint3 __ovld __cnfn convert_uint3_sat_rtp(double3);
5207 uint3 __ovld __cnfn convert_uint3_sat_rtz(double3);
5208 uint4 __ovld __cnfn convert_uint4(double4);
5209 uint4 __ovld __cnfn convert_uint4_rte(double4);
5210 uint4 __ovld __cnfn convert_uint4_rtn(double4);
5211 uint4 __ovld __cnfn convert_uint4_rtp(double4);
5212 uint4 __ovld __cnfn convert_uint4_rtz(double4);
5213 uint4 __ovld __cnfn convert_uint4_sat(double4);
5214 uint4 __ovld __cnfn convert_uint4_sat_rte(double4);
5215 uint4 __ovld __cnfn convert_uint4_sat_rtn(double4);
5216 uint4 __ovld __cnfn convert_uint4_sat_rtp(double4);
5217 uint4 __ovld __cnfn convert_uint4_sat_rtz(double4);
5218 uint8 __ovld __cnfn convert_uint8(double8);
5219 uint8 __ovld __cnfn convert_uint8_rte(double8);
5220 uint8 __ovld __cnfn convert_uint8_rtn(double8);
5221 uint8 __ovld __cnfn convert_uint8_rtp(double8);
5222 uint8 __ovld __cnfn convert_uint8_rtz(double8);
5223 uint8 __ovld __cnfn convert_uint8_sat(double8);
5224 uint8 __ovld __cnfn convert_uint8_sat_rte(double8);
5225 uint8 __ovld __cnfn convert_uint8_sat_rtn(double8);
5226 uint8 __ovld __cnfn convert_uint8_sat_rtp(double8);
5227 uint8 __ovld __cnfn convert_uint8_sat_rtz(double8);
5228 uint16 __ovld __cnfn convert_uint16(double16);
5229 uint16 __ovld __cnfn convert_uint16_rte(double16);
5230 uint16 __ovld __cnfn convert_uint16_rtn(double16);
5231 uint16 __ovld __cnfn convert_uint16_rtp(double16);
5232 uint16 __ovld __cnfn convert_uint16_rtz(double16);
5233 uint16 __ovld __cnfn convert_uint16_sat(double16);
5234 uint16 __ovld __cnfn convert_uint16_sat_rte(double16);
5235 uint16 __ovld __cnfn convert_uint16_sat_rtn(double16);
5236 uint16 __ovld __cnfn convert_uint16_sat_rtp(double16);
5237 uint16 __ovld __cnfn convert_uint16_sat_rtz(double16);
5238
5239 long __ovld __cnfn convert_long(double);
5240 long __ovld __cnfn convert_long_rte(double);
5241 long __ovld __cnfn convert_long_rtn(double);
5242 long __ovld __cnfn convert_long_rtp(double);
5243 long __ovld __cnfn convert_long_rtz(double);
5244 long __ovld __cnfn convert_long_sat(double);
5245 long __ovld __cnfn convert_long_sat_rte(double);
5246 long __ovld __cnfn convert_long_sat_rtn(double);
5247 long __ovld __cnfn convert_long_sat_rtp(double);
5248 long __ovld __cnfn convert_long_sat_rtz(double);
5249 long2 __ovld __cnfn convert_long2(double2);
5250 long2 __ovld __cnfn convert_long2_rte(double2);
5251 long2 __ovld __cnfn convert_long2_rtn(double2);
5252 long2 __ovld __cnfn convert_long2_rtp(double2);
5253 long2 __ovld __cnfn convert_long2_rtz(double2);
5254 long2 __ovld __cnfn convert_long2_sat(double2);
5255 long2 __ovld __cnfn convert_long2_sat_rte(double2);
5256 long2 __ovld __cnfn convert_long2_sat_rtn(double2);
5257 long2 __ovld __cnfn convert_long2_sat_rtp(double2);
5258 long2 __ovld __cnfn convert_long2_sat_rtz(double2);
5259 long3 __ovld __cnfn convert_long3(double3);
5260 long3 __ovld __cnfn convert_long3_rte(double3);
5261 long3 __ovld __cnfn convert_long3_rtn(double3);
5262 long3 __ovld __cnfn convert_long3_rtp(double3);
5263 long3 __ovld __cnfn convert_long3_rtz(double3);
5264 long3 __ovld __cnfn convert_long3_sat(double3);
5265 long3 __ovld __cnfn convert_long3_sat_rte(double3);
5266 long3 __ovld __cnfn convert_long3_sat_rtn(double3);
5267 long3 __ovld __cnfn convert_long3_sat_rtp(double3);
5268 long3 __ovld __cnfn convert_long3_sat_rtz(double3);
5269 long4 __ovld __cnfn convert_long4(double4);
5270 long4 __ovld __cnfn convert_long4_rte(double4);
5271 long4 __ovld __cnfn convert_long4_rtn(double4);
5272 long4 __ovld __cnfn convert_long4_rtp(double4);
5273 long4 __ovld __cnfn convert_long4_rtz(double4);
5274 long4 __ovld __cnfn convert_long4_sat(double4);
5275 long4 __ovld __cnfn convert_long4_sat_rte(double4);
5276 long4 __ovld __cnfn convert_long4_sat_rtn(double4);
5277 long4 __ovld __cnfn convert_long4_sat_rtp(double4);
5278 long4 __ovld __cnfn convert_long4_sat_rtz(double4);
5279 long8 __ovld __cnfn convert_long8(double8);
5280 long8 __ovld __cnfn convert_long8_rte(double8);
5281 long8 __ovld __cnfn convert_long8_rtn(double8);
5282 long8 __ovld __cnfn convert_long8_rtp(double8);
5283 long8 __ovld __cnfn convert_long8_rtz(double8);
5284 long8 __ovld __cnfn convert_long8_sat(double8);
5285 long8 __ovld __cnfn convert_long8_sat_rte(double8);
5286 long8 __ovld __cnfn convert_long8_sat_rtn(double8);
5287 long8 __ovld __cnfn convert_long8_sat_rtp(double8);
5288 long8 __ovld __cnfn convert_long8_sat_rtz(double8);
5289 long16 __ovld __cnfn convert_long16(double16);
5290 long16 __ovld __cnfn convert_long16_rte(double16);
5291 long16 __ovld __cnfn convert_long16_rtn(double16);
5292 long16 __ovld __cnfn convert_long16_rtp(double16);
5293 long16 __ovld __cnfn convert_long16_rtz(double16);
5294 long16 __ovld __cnfn convert_long16_sat(double16);
5295 long16 __ovld __cnfn convert_long16_sat_rte(double16);
5296 long16 __ovld __cnfn convert_long16_sat_rtn(double16);
5297 long16 __ovld __cnfn convert_long16_sat_rtp(double16);
5298 long16 __ovld __cnfn convert_long16_sat_rtz(double16);
5299
5300 ulong __ovld __cnfn convert_ulong(double);
5301 ulong __ovld __cnfn convert_ulong_rte(double);
5302 ulong __ovld __cnfn convert_ulong_rtn(double);
5303 ulong __ovld __cnfn convert_ulong_rtp(double);
5304 ulong __ovld __cnfn convert_ulong_rtz(double);
5305 ulong __ovld __cnfn convert_ulong_sat(double);
5306 ulong __ovld __cnfn convert_ulong_sat_rte(double);
5307 ulong __ovld __cnfn convert_ulong_sat_rtn(double);
5308 ulong __ovld __cnfn convert_ulong_sat_rtp(double);
5309 ulong __ovld __cnfn convert_ulong_sat_rtz(double);
5310 ulong2 __ovld __cnfn convert_ulong2(double2);
5311 ulong2 __ovld __cnfn convert_ulong2_rte(double2);
5312 ulong2 __ovld __cnfn convert_ulong2_rtn(double2);
5313 ulong2 __ovld __cnfn convert_ulong2_rtp(double2);
5314 ulong2 __ovld __cnfn convert_ulong2_rtz(double2);
5315 ulong2 __ovld __cnfn convert_ulong2_sat(double2);
5316 ulong2 __ovld __cnfn convert_ulong2_sat_rte(double2);
5317 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(double2);
5318 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(double2);
5319 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(double2);
5320 ulong3 __ovld __cnfn convert_ulong3(double3);
5321 ulong3 __ovld __cnfn convert_ulong3_rte(double3);
5322 ulong3 __ovld __cnfn convert_ulong3_rtn(double3);
5323 ulong3 __ovld __cnfn convert_ulong3_rtp(double3);
5324 ulong3 __ovld __cnfn convert_ulong3_rtz(double3);
5325 ulong3 __ovld __cnfn convert_ulong3_sat(double3);
5326 ulong3 __ovld __cnfn convert_ulong3_sat_rte(double3);
5327 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(double3);
5328 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(double3);
5329 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(double3);
5330 ulong4 __ovld __cnfn convert_ulong4(double4);
5331 ulong4 __ovld __cnfn convert_ulong4_rte(double4);
5332 ulong4 __ovld __cnfn convert_ulong4_rtn(double4);
5333 ulong4 __ovld __cnfn convert_ulong4_rtp(double4);
5334 ulong4 __ovld __cnfn convert_ulong4_rtz(double4);
5335 ulong4 __ovld __cnfn convert_ulong4_sat(double4);
5336 ulong4 __ovld __cnfn convert_ulong4_sat_rte(double4);
5337 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(double4);
5338 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(double4);
5339 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(double4);
5340 ulong8 __ovld __cnfn convert_ulong8(double8);
5341 ulong8 __ovld __cnfn convert_ulong8_rte(double8);
5342 ulong8 __ovld __cnfn convert_ulong8_rtn(double8);
5343 ulong8 __ovld __cnfn convert_ulong8_rtp(double8);
5344 ulong8 __ovld __cnfn convert_ulong8_rtz(double8);
5345 ulong8 __ovld __cnfn convert_ulong8_sat(double8);
5346 ulong8 __ovld __cnfn convert_ulong8_sat_rte(double8);
5347 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(double8);
5348 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(double8);
5349 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(double8);
5350 ulong16 __ovld __cnfn convert_ulong16(double16);
5351 ulong16 __ovld __cnfn convert_ulong16_rte(double16);
5352 ulong16 __ovld __cnfn convert_ulong16_rtn(double16);
5353 ulong16 __ovld __cnfn convert_ulong16_rtp(double16);
5354 ulong16 __ovld __cnfn convert_ulong16_rtz(double16);
5355 ulong16 __ovld __cnfn convert_ulong16_sat(double16);
5356 ulong16 __ovld __cnfn convert_ulong16_sat_rte(double16);
5357 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(double16);
5358 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(double16);
5359 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(double16);
5360
5361 float __ovld __cnfn convert_float(double);
5362 float __ovld __cnfn convert_float_rte(double);
5363 float __ovld __cnfn convert_float_rtn(double);
5364 float __ovld __cnfn convert_float_rtp(double);
5365 float __ovld __cnfn convert_float_rtz(double);
5366 float2 __ovld __cnfn convert_float2(double2);
5367 float2 __ovld __cnfn convert_float2_rte(double2);
5368 float2 __ovld __cnfn convert_float2_rtn(double2);
5369 float2 __ovld __cnfn convert_float2_rtp(double2);
5370 float2 __ovld __cnfn convert_float2_rtz(double2);
5371 float3 __ovld __cnfn convert_float3(double3);
5372 float3 __ovld __cnfn convert_float3_rte(double3);
5373 float3 __ovld __cnfn convert_float3_rtn(double3);
5374 float3 __ovld __cnfn convert_float3_rtp(double3);
5375 float3 __ovld __cnfn convert_float3_rtz(double3);
5376 float4 __ovld __cnfn convert_float4(double4);
5377 float4 __ovld __cnfn convert_float4_rte(double4);
5378 float4 __ovld __cnfn convert_float4_rtn(double4);
5379 float4 __ovld __cnfn convert_float4_rtp(double4);
5380 float4 __ovld __cnfn convert_float4_rtz(double4);
5381 float8 __ovld __cnfn convert_float8(double8);
5382 float8 __ovld __cnfn convert_float8_rte(double8);
5383 float8 __ovld __cnfn convert_float8_rtn(double8);
5384 float8 __ovld __cnfn convert_float8_rtp(double8);
5385 float8 __ovld __cnfn convert_float8_rtz(double8);
5386 float16 __ovld __cnfn convert_float16(double16);
5387 float16 __ovld __cnfn convert_float16_rte(double16);
5388 float16 __ovld __cnfn convert_float16_rtn(double16);
5389 float16 __ovld __cnfn convert_float16_rtp(double16);
5390 float16 __ovld __cnfn convert_float16_rtz(double16);
5391
5392 double __ovld __cnfn convert_double(char);
5393 double __ovld __cnfn convert_double(double);
5394 double __ovld __cnfn convert_double(float);
5395 double __ovld __cnfn convert_double(int);
5396 double __ovld __cnfn convert_double(long);
5397 double __ovld __cnfn convert_double(short);
5398 double __ovld __cnfn convert_double(uchar);
5399 double __ovld __cnfn convert_double(uint);
5400 double __ovld __cnfn convert_double(ulong);
5401 double __ovld __cnfn convert_double(ushort);
5402 double __ovld __cnfn convert_double_rte(char);
5403 double __ovld __cnfn convert_double_rte(double);
5404 double __ovld __cnfn convert_double_rte(float);
5405 double __ovld __cnfn convert_double_rte(int);
5406 double __ovld __cnfn convert_double_rte(long);
5407 double __ovld __cnfn convert_double_rte(short);
5408 double __ovld __cnfn convert_double_rte(uchar);
5409 double __ovld __cnfn convert_double_rte(uint);
5410 double __ovld __cnfn convert_double_rte(ulong);
5411 double __ovld __cnfn convert_double_rte(ushort);
5412 double __ovld __cnfn convert_double_rtn(char);
5413 double __ovld __cnfn convert_double_rtn(double);
5414 double __ovld __cnfn convert_double_rtn(float);
5415 double __ovld __cnfn convert_double_rtn(int);
5416 double __ovld __cnfn convert_double_rtn(long);
5417 double __ovld __cnfn convert_double_rtn(short);
5418 double __ovld __cnfn convert_double_rtn(uchar);
5419 double __ovld __cnfn convert_double_rtn(uint);
5420 double __ovld __cnfn convert_double_rtn(ulong);
5421 double __ovld __cnfn convert_double_rtn(ushort);
5422 double __ovld __cnfn convert_double_rtp(char);
5423 double __ovld __cnfn convert_double_rtp(double);
5424 double __ovld __cnfn convert_double_rtp(float);
5425 double __ovld __cnfn convert_double_rtp(int);
5426 double __ovld __cnfn convert_double_rtp(long);
5427 double __ovld __cnfn convert_double_rtp(short);
5428 double __ovld __cnfn convert_double_rtp(uchar);
5429 double __ovld __cnfn convert_double_rtp(uint);
5430 double __ovld __cnfn convert_double_rtp(ulong);
5431 double __ovld __cnfn convert_double_rtp(ushort);
5432 double __ovld __cnfn convert_double_rtz(char);
5433 double __ovld __cnfn convert_double_rtz(double);
5434 double __ovld __cnfn convert_double_rtz(float);
5435 double __ovld __cnfn convert_double_rtz(int);
5436 double __ovld __cnfn convert_double_rtz(long);
5437 double __ovld __cnfn convert_double_rtz(short);
5438 double __ovld __cnfn convert_double_rtz(uchar);
5439 double __ovld __cnfn convert_double_rtz(uint);
5440 double __ovld __cnfn convert_double_rtz(ulong);
5441 double __ovld __cnfn convert_double_rtz(ushort);
5442 double2 __ovld __cnfn convert_double2(char2);
5443 double2 __ovld __cnfn convert_double2(double2);
5444 double2 __ovld __cnfn convert_double2(float2);
5445 double2 __ovld __cnfn convert_double2(int2);
5446 double2 __ovld __cnfn convert_double2(long2);
5447 double2 __ovld __cnfn convert_double2(short2);
5448 double2 __ovld __cnfn convert_double2(uchar2);
5449 double2 __ovld __cnfn convert_double2(uint2);
5450 double2 __ovld __cnfn convert_double2(ulong2);
5451 double2 __ovld __cnfn convert_double2(ushort2);
5452 double2 __ovld __cnfn convert_double2_rte(char2);
5453 double2 __ovld __cnfn convert_double2_rte(double2);
5454 double2 __ovld __cnfn convert_double2_rte(float2);
5455 double2 __ovld __cnfn convert_double2_rte(int2);
5456 double2 __ovld __cnfn convert_double2_rte(long2);
5457 double2 __ovld __cnfn convert_double2_rte(short2);
5458 double2 __ovld __cnfn convert_double2_rte(uchar2);
5459 double2 __ovld __cnfn convert_double2_rte(uint2);
5460 double2 __ovld __cnfn convert_double2_rte(ulong2);
5461 double2 __ovld __cnfn convert_double2_rte(ushort2);
5462 double2 __ovld __cnfn convert_double2_rtn(char2);
5463 double2 __ovld __cnfn convert_double2_rtn(double2);
5464 double2 __ovld __cnfn convert_double2_rtn(float2);
5465 double2 __ovld __cnfn convert_double2_rtn(int2);
5466 double2 __ovld __cnfn convert_double2_rtn(long2);
5467 double2 __ovld __cnfn convert_double2_rtn(short2);
5468 double2 __ovld __cnfn convert_double2_rtn(uchar2);
5469 double2 __ovld __cnfn convert_double2_rtn(uint2);
5470 double2 __ovld __cnfn convert_double2_rtn(ulong2);
5471 double2 __ovld __cnfn convert_double2_rtn(ushort2);
5472 double2 __ovld __cnfn convert_double2_rtp(char2);
5473 double2 __ovld __cnfn convert_double2_rtp(double2);
5474 double2 __ovld __cnfn convert_double2_rtp(float2);
5475 double2 __ovld __cnfn convert_double2_rtp(int2);
5476 double2 __ovld __cnfn convert_double2_rtp(long2);
5477 double2 __ovld __cnfn convert_double2_rtp(short2);
5478 double2 __ovld __cnfn convert_double2_rtp(uchar2);
5479 double2 __ovld __cnfn convert_double2_rtp(uint2);
5480 double2 __ovld __cnfn convert_double2_rtp(ulong2);
5481 double2 __ovld __cnfn convert_double2_rtp(ushort2);
5482 double2 __ovld __cnfn convert_double2_rtz(char2);
5483 double2 __ovld __cnfn convert_double2_rtz(double2);
5484 double2 __ovld __cnfn convert_double2_rtz(float2);
5485 double2 __ovld __cnfn convert_double2_rtz(int2);
5486 double2 __ovld __cnfn convert_double2_rtz(long2);
5487 double2 __ovld __cnfn convert_double2_rtz(short2);
5488 double2 __ovld __cnfn convert_double2_rtz(uchar2);
5489 double2 __ovld __cnfn convert_double2_rtz(uint2);
5490 double2 __ovld __cnfn convert_double2_rtz(ulong2);
5491 double2 __ovld __cnfn convert_double2_rtz(ushort2);
5492 double3 __ovld __cnfn convert_double3(char3);
5493 double3 __ovld __cnfn convert_double3(double3);
5494 double3 __ovld __cnfn convert_double3(float3);
5495 double3 __ovld __cnfn convert_double3(int3);
5496 double3 __ovld __cnfn convert_double3(long3);
5497 double3 __ovld __cnfn convert_double3(short3);
5498 double3 __ovld __cnfn convert_double3(uchar3);
5499 double3 __ovld __cnfn convert_double3(uint3);
5500 double3 __ovld __cnfn convert_double3(ulong3);
5501 double3 __ovld __cnfn convert_double3(ushort3);
5502 double3 __ovld __cnfn convert_double3_rte(char3);
5503 double3 __ovld __cnfn convert_double3_rte(double3);
5504 double3 __ovld __cnfn convert_double3_rte(float3);
5505 double3 __ovld __cnfn convert_double3_rte(int3);
5506 double3 __ovld __cnfn convert_double3_rte(long3);
5507 double3 __ovld __cnfn convert_double3_rte(short3);
5508 double3 __ovld __cnfn convert_double3_rte(uchar3);
5509 double3 __ovld __cnfn convert_double3_rte(uint3);
5510 double3 __ovld __cnfn convert_double3_rte(ulong3);
5511 double3 __ovld __cnfn convert_double3_rte(ushort3);
5512 double3 __ovld __cnfn convert_double3_rtn(char3);
5513 double3 __ovld __cnfn convert_double3_rtn(double3);
5514 double3 __ovld __cnfn convert_double3_rtn(float3);
5515 double3 __ovld __cnfn convert_double3_rtn(int3);
5516 double3 __ovld __cnfn convert_double3_rtn(long3);
5517 double3 __ovld __cnfn convert_double3_rtn(short3);
5518 double3 __ovld __cnfn convert_double3_rtn(uchar3);
5519 double3 __ovld __cnfn convert_double3_rtn(uint3);
5520 double3 __ovld __cnfn convert_double3_rtn(ulong3);
5521 double3 __ovld __cnfn convert_double3_rtn(ushort3);
5522 double3 __ovld __cnfn convert_double3_rtp(char3);
5523 double3 __ovld __cnfn convert_double3_rtp(double3);
5524 double3 __ovld __cnfn convert_double3_rtp(float3);
5525 double3 __ovld __cnfn convert_double3_rtp(int3);
5526 double3 __ovld __cnfn convert_double3_rtp(long3);
5527 double3 __ovld __cnfn convert_double3_rtp(short3);
5528 double3 __ovld __cnfn convert_double3_rtp(uchar3);
5529 double3 __ovld __cnfn convert_double3_rtp(uint3);
5530 double3 __ovld __cnfn convert_double3_rtp(ulong3);
5531 double3 __ovld __cnfn convert_double3_rtp(ushort3);
5532 double3 __ovld __cnfn convert_double3_rtz(char3);
5533 double3 __ovld __cnfn convert_double3_rtz(double3);
5534 double3 __ovld __cnfn convert_double3_rtz(float3);
5535 double3 __ovld __cnfn convert_double3_rtz(int3);
5536 double3 __ovld __cnfn convert_double3_rtz(long3);
5537 double3 __ovld __cnfn convert_double3_rtz(short3);
5538 double3 __ovld __cnfn convert_double3_rtz(uchar3);
5539 double3 __ovld __cnfn convert_double3_rtz(uint3);
5540 double3 __ovld __cnfn convert_double3_rtz(ulong3);
5541 double3 __ovld __cnfn convert_double3_rtz(ushort3);
5542 double4 __ovld __cnfn convert_double4(char4);
5543 double4 __ovld __cnfn convert_double4(double4);
5544 double4 __ovld __cnfn convert_double4(float4);
5545 double4 __ovld __cnfn convert_double4(int4);
5546 double4 __ovld __cnfn convert_double4(long4);
5547 double4 __ovld __cnfn convert_double4(short4);
5548 double4 __ovld __cnfn convert_double4(uchar4);
5549 double4 __ovld __cnfn convert_double4(uint4);
5550 double4 __ovld __cnfn convert_double4(ulong4);
5551 double4 __ovld __cnfn convert_double4(ushort4);
5552 double4 __ovld __cnfn convert_double4_rte(char4);
5553 double4 __ovld __cnfn convert_double4_rte(double4);
5554 double4 __ovld __cnfn convert_double4_rte(float4);
5555 double4 __ovld __cnfn convert_double4_rte(int4);
5556 double4 __ovld __cnfn convert_double4_rte(long4);
5557 double4 __ovld __cnfn convert_double4_rte(short4);
5558 double4 __ovld __cnfn convert_double4_rte(uchar4);
5559 double4 __ovld __cnfn convert_double4_rte(uint4);
5560 double4 __ovld __cnfn convert_double4_rte(ulong4);
5561 double4 __ovld __cnfn convert_double4_rte(ushort4);
5562 double4 __ovld __cnfn convert_double4_rtn(char4);
5563 double4 __ovld __cnfn convert_double4_rtn(double4);
5564 double4 __ovld __cnfn convert_double4_rtn(float4);
5565 double4 __ovld __cnfn convert_double4_rtn(int4);
5566 double4 __ovld __cnfn convert_double4_rtn(long4);
5567 double4 __ovld __cnfn convert_double4_rtn(short4);
5568 double4 __ovld __cnfn convert_double4_rtn(uchar4);
5569 double4 __ovld __cnfn convert_double4_rtn(uint4);
5570 double4 __ovld __cnfn convert_double4_rtn(ulong4);
5571 double4 __ovld __cnfn convert_double4_rtn(ushort4);
5572 double4 __ovld __cnfn convert_double4_rtp(char4);
5573 double4 __ovld __cnfn convert_double4_rtp(double4);
5574 double4 __ovld __cnfn convert_double4_rtp(float4);
5575 double4 __ovld __cnfn convert_double4_rtp(int4);
5576 double4 __ovld __cnfn convert_double4_rtp(long4);
5577 double4 __ovld __cnfn convert_double4_rtp(short4);
5578 double4 __ovld __cnfn convert_double4_rtp(uchar4);
5579 double4 __ovld __cnfn convert_double4_rtp(uint4);
5580 double4 __ovld __cnfn convert_double4_rtp(ulong4);
5581 double4 __ovld __cnfn convert_double4_rtp(ushort4);
5582 double4 __ovld __cnfn convert_double4_rtz(char4);
5583 double4 __ovld __cnfn convert_double4_rtz(double4);
5584 double4 __ovld __cnfn convert_double4_rtz(float4);
5585 double4 __ovld __cnfn convert_double4_rtz(int4);
5586 double4 __ovld __cnfn convert_double4_rtz(long4);
5587 double4 __ovld __cnfn convert_double4_rtz(short4);
5588 double4 __ovld __cnfn convert_double4_rtz(uchar4);
5589 double4 __ovld __cnfn convert_double4_rtz(uint4);
5590 double4 __ovld __cnfn convert_double4_rtz(ulong4);
5591 double4 __ovld __cnfn convert_double4_rtz(ushort4);
5592 double8 __ovld __cnfn convert_double8(char8);
5593 double8 __ovld __cnfn convert_double8(double8);
5594 double8 __ovld __cnfn convert_double8(float8);
5595 double8 __ovld __cnfn convert_double8(int8);
5596 double8 __ovld __cnfn convert_double8(long8);
5597 double8 __ovld __cnfn convert_double8(short8);
5598 double8 __ovld __cnfn convert_double8(uchar8);
5599 double8 __ovld __cnfn convert_double8(uint8);
5600 double8 __ovld __cnfn convert_double8(ulong8);
5601 double8 __ovld __cnfn convert_double8(ushort8);
5602 double8 __ovld __cnfn convert_double8_rte(char8);
5603 double8 __ovld __cnfn convert_double8_rte(double8);
5604 double8 __ovld __cnfn convert_double8_rte(float8);
5605 double8 __ovld __cnfn convert_double8_rte(int8);
5606 double8 __ovld __cnfn convert_double8_rte(long8);
5607 double8 __ovld __cnfn convert_double8_rte(short8);
5608 double8 __ovld __cnfn convert_double8_rte(uchar8);
5609 double8 __ovld __cnfn convert_double8_rte(uint8);
5610 double8 __ovld __cnfn convert_double8_rte(ulong8);
5611 double8 __ovld __cnfn convert_double8_rte(ushort8);
5612 double8 __ovld __cnfn convert_double8_rtn(char8);
5613 double8 __ovld __cnfn convert_double8_rtn(double8);
5614 double8 __ovld __cnfn convert_double8_rtn(float8);
5615 double8 __ovld __cnfn convert_double8_rtn(int8);
5616 double8 __ovld __cnfn convert_double8_rtn(long8);
5617 double8 __ovld __cnfn convert_double8_rtn(short8);
5618 double8 __ovld __cnfn convert_double8_rtn(uchar8);
5619 double8 __ovld __cnfn convert_double8_rtn(uint8);
5620 double8 __ovld __cnfn convert_double8_rtn(ulong8);
5621 double8 __ovld __cnfn convert_double8_rtn(ushort8);
5622 double8 __ovld __cnfn convert_double8_rtp(char8);
5623 double8 __ovld __cnfn convert_double8_rtp(double8);
5624 double8 __ovld __cnfn convert_double8_rtp(float8);
5625 double8 __ovld __cnfn convert_double8_rtp(int8);
5626 double8 __ovld __cnfn convert_double8_rtp(long8);
5627 double8 __ovld __cnfn convert_double8_rtp(short8);
5628 double8 __ovld __cnfn convert_double8_rtp(uchar8);
5629 double8 __ovld __cnfn convert_double8_rtp(uint8);
5630 double8 __ovld __cnfn convert_double8_rtp(ulong8);
5631 double8 __ovld __cnfn convert_double8_rtp(ushort8);
5632 double8 __ovld __cnfn convert_double8_rtz(char8);
5633 double8 __ovld __cnfn convert_double8_rtz(double8);
5634 double8 __ovld __cnfn convert_double8_rtz(float8);
5635 double8 __ovld __cnfn convert_double8_rtz(int8);
5636 double8 __ovld __cnfn convert_double8_rtz(long8);
5637 double8 __ovld __cnfn convert_double8_rtz(short8);
5638 double8 __ovld __cnfn convert_double8_rtz(uchar8);
5639 double8 __ovld __cnfn convert_double8_rtz(uint8);
5640 double8 __ovld __cnfn convert_double8_rtz(ulong8);
5641 double8 __ovld __cnfn convert_double8_rtz(ushort8);
5642 double16 __ovld __cnfn convert_double16(char16);
5643 double16 __ovld __cnfn convert_double16(double16);
5644 double16 __ovld __cnfn convert_double16(float16);
5645 double16 __ovld __cnfn convert_double16(int16);
5646 double16 __ovld __cnfn convert_double16(long16);
5647 double16 __ovld __cnfn convert_double16(short16);
5648 double16 __ovld __cnfn convert_double16(uchar16);
5649 double16 __ovld __cnfn convert_double16(uint16);
5650 double16 __ovld __cnfn convert_double16(ulong16);
5651 double16 __ovld __cnfn convert_double16(ushort16);
5652 double16 __ovld __cnfn convert_double16_rte(char16);
5653 double16 __ovld __cnfn convert_double16_rte(double16);
5654 double16 __ovld __cnfn convert_double16_rte(float16);
5655 double16 __ovld __cnfn convert_double16_rte(int16);
5656 double16 __ovld __cnfn convert_double16_rte(long16);
5657 double16 __ovld __cnfn convert_double16_rte(short16);
5658 double16 __ovld __cnfn convert_double16_rte(uchar16);
5659 double16 __ovld __cnfn convert_double16_rte(uint16);
5660 double16 __ovld __cnfn convert_double16_rte(ulong16);
5661 double16 __ovld __cnfn convert_double16_rte(ushort16);
5662 double16 __ovld __cnfn convert_double16_rtn(char16);
5663 double16 __ovld __cnfn convert_double16_rtn(double16);
5664 double16 __ovld __cnfn convert_double16_rtn(float16);
5665 double16 __ovld __cnfn convert_double16_rtn(int16);
5666 double16 __ovld __cnfn convert_double16_rtn(long16);
5667 double16 __ovld __cnfn convert_double16_rtn(short16);
5668 double16 __ovld __cnfn convert_double16_rtn(uchar16);
5669 double16 __ovld __cnfn convert_double16_rtn(uint16);
5670 double16 __ovld __cnfn convert_double16_rtn(ulong16);
5671 double16 __ovld __cnfn convert_double16_rtn(ushort16);
5672 double16 __ovld __cnfn convert_double16_rtp(char16);
5673 double16 __ovld __cnfn convert_double16_rtp(double16);
5674 double16 __ovld __cnfn convert_double16_rtp(float16);
5675 double16 __ovld __cnfn convert_double16_rtp(int16);
5676 double16 __ovld __cnfn convert_double16_rtp(long16);
5677 double16 __ovld __cnfn convert_double16_rtp(short16);
5678 double16 __ovld __cnfn convert_double16_rtp(uchar16);
5679 double16 __ovld __cnfn convert_double16_rtp(uint16);
5680 double16 __ovld __cnfn convert_double16_rtp(ulong16);
5681 double16 __ovld __cnfn convert_double16_rtp(ushort16);
5682 double16 __ovld __cnfn convert_double16_rtz(char16);
5683 double16 __ovld __cnfn convert_double16_rtz(double16);
5684 double16 __ovld __cnfn convert_double16_rtz(float16);
5685 double16 __ovld __cnfn convert_double16_rtz(int16);
5686 double16 __ovld __cnfn convert_double16_rtz(long16);
5687 double16 __ovld __cnfn convert_double16_rtz(short16);
5688 double16 __ovld __cnfn convert_double16_rtz(uchar16);
5689 double16 __ovld __cnfn convert_double16_rtz(uint16);
5690 double16 __ovld __cnfn convert_double16_rtz(ulong16);
5691 double16 __ovld __cnfn convert_double16_rtz(ushort16);
5692 #endif //cl_khr_fp64
5693
5694 #ifdef cl_khr_fp16
5695 // Convert half types to non-double types.
5696 uchar __ovld __cnfn convert_uchar(half);
5697 uchar __ovld __cnfn convert_uchar_rte(half);
5698 uchar __ovld __cnfn convert_uchar_rtp(half);
5699 uchar __ovld __cnfn convert_uchar_rtn(half);
5700 uchar __ovld __cnfn convert_uchar_rtz(half);
5701 uchar __ovld __cnfn convert_uchar_sat(half);
5702 uchar __ovld __cnfn convert_uchar_sat_rte(half);
5703 uchar __ovld __cnfn convert_uchar_sat_rtp(half);
5704 uchar __ovld __cnfn convert_uchar_sat_rtn(half);
5705 uchar __ovld __cnfn convert_uchar_sat_rtz(half);
5706 uchar2 __ovld __cnfn convert_uchar2(half2);
5707 uchar2 __ovld __cnfn convert_uchar2_rte(half2);
5708 uchar2 __ovld __cnfn convert_uchar2_rtp(half2);
5709 uchar2 __ovld __cnfn convert_uchar2_rtn(half2);
5710 uchar2 __ovld __cnfn convert_uchar2_rtz(half2);
5711 uchar2 __ovld __cnfn convert_uchar2_sat(half2);
5712 uchar2 __ovld __cnfn convert_uchar2_sat_rte(half2);
5713 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(half2);
5714 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(half2);
5715 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(half2);
5716 uchar3 __ovld __cnfn convert_uchar3(half3);
5717 uchar3 __ovld __cnfn convert_uchar3_rte(half3);
5718 uchar3 __ovld __cnfn convert_uchar3_rtp(half3);
5719 uchar3 __ovld __cnfn convert_uchar3_rtn(half3);
5720 uchar3 __ovld __cnfn convert_uchar3_rtz(half3);
5721 uchar3 __ovld __cnfn convert_uchar3_sat(half3);
5722 uchar3 __ovld __cnfn convert_uchar3_sat_rte(half3);
5723 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(half3);
5724 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(half3);
5725 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(half3);
5726 uchar4 __ovld __cnfn convert_uchar4(half4);
5727 uchar4 __ovld __cnfn convert_uchar4_rte(half4);
5728 uchar4 __ovld __cnfn convert_uchar4_rtp(half4);
5729 uchar4 __ovld __cnfn convert_uchar4_rtn(half4);
5730 uchar4 __ovld __cnfn convert_uchar4_rtz(half4);
5731 uchar4 __ovld __cnfn convert_uchar4_sat(half4);
5732 uchar4 __ovld __cnfn convert_uchar4_sat_rte(half4);
5733 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(half4);
5734 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(half4);
5735 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(half4);
5736 uchar8 __ovld __cnfn convert_uchar8(half8);
5737 uchar8 __ovld __cnfn convert_uchar8_rte(half8);
5738 uchar8 __ovld __cnfn convert_uchar8_rtp(half8);
5739 uchar8 __ovld __cnfn convert_uchar8_rtn(half8);
5740 uchar8 __ovld __cnfn convert_uchar8_rtz(half8);
5741 uchar8 __ovld __cnfn convert_uchar8_sat(half8);
5742 uchar8 __ovld __cnfn convert_uchar8_sat_rte(half8);
5743 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(half8);
5744 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(half8);
5745 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(half8);
5746 uchar16 __ovld __cnfn convert_uchar16(half16);
5747 uchar16 __ovld __cnfn convert_uchar16_rte(half16);
5748 uchar16 __ovld __cnfn convert_uchar16_rtp(half16);
5749 uchar16 __ovld __cnfn convert_uchar16_rtn(half16);
5750 uchar16 __ovld __cnfn convert_uchar16_rtz(half16);
5751 uchar16 __ovld __cnfn convert_uchar16_sat(half16);
5752 uchar16 __ovld __cnfn convert_uchar16_sat_rte(half16);
5753 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(half16);
5754 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(half16);
5755 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(half16);
5756 ushort __ovld __cnfn convert_ushort(half);
5757 ushort __ovld __cnfn convert_ushort_rte(half);
5758 ushort __ovld __cnfn convert_ushort_rtp(half);
5759 ushort __ovld __cnfn convert_ushort_rtn(half);
5760 ushort __ovld __cnfn convert_ushort_rtz(half);
5761 ushort __ovld __cnfn convert_ushort_sat(half);
5762 ushort __ovld __cnfn convert_ushort_sat_rte(half);
5763 ushort __ovld __cnfn convert_ushort_sat_rtp(half);
5764 ushort __ovld __cnfn convert_ushort_sat_rtn(half);
5765 ushort __ovld __cnfn convert_ushort_sat_rtz(half);
5766 ushort2 __ovld __cnfn convert_ushort2(half2);
5767 ushort2 __ovld __cnfn convert_ushort2_rte(half2);
5768 ushort2 __ovld __cnfn convert_ushort2_rtp(half2);
5769 ushort2 __ovld __cnfn convert_ushort2_rtn(half2);
5770 ushort2 __ovld __cnfn convert_ushort2_rtz(half2);
5771 ushort2 __ovld __cnfn convert_ushort2_sat(half2);
5772 ushort2 __ovld __cnfn convert_ushort2_sat_rte(half2);
5773 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(half2);
5774 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(half2);
5775 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(half2);
5776 ushort3 __ovld __cnfn convert_ushort3(half3);
5777 ushort3 __ovld __cnfn convert_ushort3_rte(half3);
5778 ushort3 __ovld __cnfn convert_ushort3_rtp(half3);
5779 ushort3 __ovld __cnfn convert_ushort3_rtn(half3);
5780 ushort3 __ovld __cnfn convert_ushort3_rtz(half3);
5781 ushort3 __ovld __cnfn convert_ushort3_sat(half3);
5782 ushort3 __ovld __cnfn convert_ushort3_sat_rte(half3);
5783 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(half3);
5784 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(half3);
5785 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(half3);
5786 ushort4 __ovld __cnfn convert_ushort4(half4);
5787 ushort4 __ovld __cnfn convert_ushort4_rte(half4);
5788 ushort4 __ovld __cnfn convert_ushort4_rtp(half4);
5789 ushort4 __ovld __cnfn convert_ushort4_rtn(half4);
5790 ushort4 __ovld __cnfn convert_ushort4_rtz(half4);
5791 ushort4 __ovld __cnfn convert_ushort4_sat(half4);
5792 ushort4 __ovld __cnfn convert_ushort4_sat_rte(half4);
5793 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(half4);
5794 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(half4);
5795 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(half4);
5796 ushort8 __ovld __cnfn convert_ushort8(half8);
5797 ushort8 __ovld __cnfn convert_ushort8_rte(half8);
5798 ushort8 __ovld __cnfn convert_ushort8_rtp(half8);
5799 ushort8 __ovld __cnfn convert_ushort8_rtn(half8);
5800 ushort8 __ovld __cnfn convert_ushort8_rtz(half8);
5801 ushort8 __ovld __cnfn convert_ushort8_sat(half8);
5802 ushort8 __ovld __cnfn convert_ushort8_sat_rte(half8);
5803 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(half8);
5804 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(half8);
5805 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(half8);
5806 ushort16 __ovld __cnfn convert_ushort16(half16);
5807 ushort16 __ovld __cnfn convert_ushort16_rte(half16);
5808 ushort16 __ovld __cnfn convert_ushort16_rtp(half16);
5809 ushort16 __ovld __cnfn convert_ushort16_rtn(half16);
5810 ushort16 __ovld __cnfn convert_ushort16_rtz(half16);
5811 ushort16 __ovld __cnfn convert_ushort16_sat(half16);
5812 ushort16 __ovld __cnfn convert_ushort16_sat_rte(half16);
5813 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(half16);
5814 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(half16);
5815 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(half16);
5816 uint __ovld __cnfn convert_uint(half);
5817 uint __ovld __cnfn convert_uint_rte(half);
5818 uint __ovld __cnfn convert_uint_rtp(half);
5819 uint __ovld __cnfn convert_uint_rtn(half);
5820 uint __ovld __cnfn convert_uint_rtz(half);
5821 uint __ovld __cnfn convert_uint_sat(half);
5822 uint __ovld __cnfn convert_uint_sat_rte(half);
5823 uint __ovld __cnfn convert_uint_sat_rtp(half);
5824 uint __ovld __cnfn convert_uint_sat_rtn(half);
5825 uint __ovld __cnfn convert_uint_sat_rtz(half);
5826 uint2 __ovld __cnfn convert_uint2(half2);
5827 uint2 __ovld __cnfn convert_uint2_rte(half2);
5828 uint2 __ovld __cnfn convert_uint2_rtp(half2);
5829 uint2 __ovld __cnfn convert_uint2_rtn(half2);
5830 uint2 __ovld __cnfn convert_uint2_rtz(half2);
5831 uint2 __ovld __cnfn convert_uint2_sat(half2);
5832 uint2 __ovld __cnfn convert_uint2_sat_rte(half2);
5833 uint2 __ovld __cnfn convert_uint2_sat_rtp(half2);
5834 uint2 __ovld __cnfn convert_uint2_sat_rtn(half2);
5835 uint2 __ovld __cnfn convert_uint2_sat_rtz(half2);
5836 uint3 __ovld __cnfn convert_uint3(half3);
5837 uint3 __ovld __cnfn convert_uint3_rte(half3);
5838 uint3 __ovld __cnfn convert_uint3_rtp(half3);
5839 uint3 __ovld __cnfn convert_uint3_rtn(half3);
5840 uint3 __ovld __cnfn convert_uint3_rtz(half3);
5841 uint3 __ovld __cnfn convert_uint3_sat(half3);
5842 uint3 __ovld __cnfn convert_uint3_sat_rte(half3);
5843 uint3 __ovld __cnfn convert_uint3_sat_rtp(half3);
5844 uint3 __ovld __cnfn convert_uint3_sat_rtn(half3);
5845 uint3 __ovld __cnfn convert_uint3_sat_rtz(half3);
5846 uint4 __ovld __cnfn convert_uint4(half4);
5847 uint4 __ovld __cnfn convert_uint4_rte(half4);
5848 uint4 __ovld __cnfn convert_uint4_rtp(half4);
5849 uint4 __ovld __cnfn convert_uint4_rtn(half4);
5850 uint4 __ovld __cnfn convert_uint4_rtz(half4);
5851 uint4 __ovld __cnfn convert_uint4_sat(half4);
5852 uint4 __ovld __cnfn convert_uint4_sat_rte(half4);
5853 uint4 __ovld __cnfn convert_uint4_sat_rtp(half4);
5854 uint4 __ovld __cnfn convert_uint4_sat_rtn(half4);
5855 uint4 __ovld __cnfn convert_uint4_sat_rtz(half4);
5856 uint8 __ovld __cnfn convert_uint8(half8);
5857 uint8 __ovld __cnfn convert_uint8_rte(half8);
5858 uint8 __ovld __cnfn convert_uint8_rtp(half8);
5859 uint8 __ovld __cnfn convert_uint8_rtn(half8);
5860 uint8 __ovld __cnfn convert_uint8_rtz(half8);
5861 uint8 __ovld __cnfn convert_uint8_sat(half8);
5862 uint8 __ovld __cnfn convert_uint8_sat_rte(half8);
5863 uint8 __ovld __cnfn convert_uint8_sat_rtp(half8);
5864 uint8 __ovld __cnfn convert_uint8_sat_rtn(half8);
5865 uint8 __ovld __cnfn convert_uint8_sat_rtz(half8);
5866 uint16 __ovld __cnfn convert_uint16(half16);
5867 uint16 __ovld __cnfn convert_uint16_rte(half16);
5868 uint16 __ovld __cnfn convert_uint16_rtp(half16);
5869 uint16 __ovld __cnfn convert_uint16_rtn(half16);
5870 uint16 __ovld __cnfn convert_uint16_rtz(half16);
5871 uint16 __ovld __cnfn convert_uint16_sat(half16);
5872 uint16 __ovld __cnfn convert_uint16_sat_rte(half16);
5873 uint16 __ovld __cnfn convert_uint16_sat_rtp(half16);
5874 uint16 __ovld __cnfn convert_uint16_sat_rtn(half16);
5875 uint16 __ovld __cnfn convert_uint16_sat_rtz(half16);
5876 ulong __ovld __cnfn convert_ulong(half);
5877 ulong __ovld __cnfn convert_ulong_rte(half);
5878 ulong __ovld __cnfn convert_ulong_rtp(half);
5879 ulong __ovld __cnfn convert_ulong_rtn(half);
5880 ulong __ovld __cnfn convert_ulong_rtz(half);
5881 ulong __ovld __cnfn convert_ulong_sat(half);
5882 ulong __ovld __cnfn convert_ulong_sat_rte(half);
5883 ulong __ovld __cnfn convert_ulong_sat_rtp(half);
5884 ulong __ovld __cnfn convert_ulong_sat_rtn(half);
5885 ulong __ovld __cnfn convert_ulong_sat_rtz(half);
5886 ulong2 __ovld __cnfn convert_ulong2(half2);
5887 ulong2 __ovld __cnfn convert_ulong2_rte(half2);
5888 ulong2 __ovld __cnfn convert_ulong2_rtp(half2);
5889 ulong2 __ovld __cnfn convert_ulong2_rtn(half2);
5890 ulong2 __ovld __cnfn convert_ulong2_rtz(half2);
5891 ulong2 __ovld __cnfn convert_ulong2_sat(half2);
5892 ulong2 __ovld __cnfn convert_ulong2_sat_rte(half2);
5893 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(half2);
5894 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(half2);
5895 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(half2);
5896 ulong3 __ovld __cnfn convert_ulong3(half3);
5897 ulong3 __ovld __cnfn convert_ulong3_rte(half3);
5898 ulong3 __ovld __cnfn convert_ulong3_rtp(half3);
5899 ulong3 __ovld __cnfn convert_ulong3_rtn(half3);
5900 ulong3 __ovld __cnfn convert_ulong3_rtz(half3);
5901 ulong3 __ovld __cnfn convert_ulong3_sat(half3);
5902 ulong3 __ovld __cnfn convert_ulong3_sat_rte(half3);
5903 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(half3);
5904 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(half3);
5905 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(half3);
5906 ulong4 __ovld __cnfn convert_ulong4(half4);
5907 ulong4 __ovld __cnfn convert_ulong4_rte(half4);
5908 ulong4 __ovld __cnfn convert_ulong4_rtp(half4);
5909 ulong4 __ovld __cnfn convert_ulong4_rtn(half4);
5910 ulong4 __ovld __cnfn convert_ulong4_rtz(half4);
5911 ulong4 __ovld __cnfn convert_ulong4_sat(half4);
5912 ulong4 __ovld __cnfn convert_ulong4_sat_rte(half4);
5913 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(half4);
5914 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(half4);
5915 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(half4);
5916 ulong8 __ovld __cnfn convert_ulong8(half8);
5917 ulong8 __ovld __cnfn convert_ulong8_rte(half8);
5918 ulong8 __ovld __cnfn convert_ulong8_rtp(half8);
5919 ulong8 __ovld __cnfn convert_ulong8_rtn(half8);
5920 ulong8 __ovld __cnfn convert_ulong8_rtz(half8);
5921 ulong8 __ovld __cnfn convert_ulong8_sat(half8);
5922 ulong8 __ovld __cnfn convert_ulong8_sat_rte(half8);
5923 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(half8);
5924 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(half8);
5925 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(half8);
5926 ulong16 __ovld __cnfn convert_ulong16(half16);
5927 ulong16 __ovld __cnfn convert_ulong16_rte(half16);
5928 ulong16 __ovld __cnfn convert_ulong16_rtp(half16);
5929 ulong16 __ovld __cnfn convert_ulong16_rtn(half16);
5930 ulong16 __ovld __cnfn convert_ulong16_rtz(half16);
5931 ulong16 __ovld __cnfn convert_ulong16_sat(half16);
5932 ulong16 __ovld __cnfn convert_ulong16_sat_rte(half16);
5933 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(half16);
5934 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(half16);
5935 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(half16);
5936 char __ovld __cnfn convert_char(half);
5937 char __ovld __cnfn convert_char_rte(half);
5938 char __ovld __cnfn convert_char_rtp(half);
5939 char __ovld __cnfn convert_char_rtn(half);
5940 char __ovld __cnfn convert_char_rtz(half);
5941 char __ovld __cnfn convert_char_sat(half);
5942 char __ovld __cnfn convert_char_sat_rte(half);
5943 char __ovld __cnfn convert_char_sat_rtp(half);
5944 char __ovld __cnfn convert_char_sat_rtn(half);
5945 char __ovld __cnfn convert_char_sat_rtz(half);
5946 char2 __ovld __cnfn convert_char2(half2);
5947 char2 __ovld __cnfn convert_char2_rte(half2);
5948 char2 __ovld __cnfn convert_char2_rtp(half2);
5949 char2 __ovld __cnfn convert_char2_rtn(half2);
5950 char2 __ovld __cnfn convert_char2_rtz(half2);
5951 char2 __ovld __cnfn convert_char2_sat(half2);
5952 char2 __ovld __cnfn convert_char2_sat_rte(half2);
5953 char2 __ovld __cnfn convert_char2_sat_rtp(half2);
5954 char2 __ovld __cnfn convert_char2_sat_rtn(half2);
5955 char2 __ovld __cnfn convert_char2_sat_rtz(half2);
5956 char3 __ovld __cnfn convert_char3(half3);
5957 char3 __ovld __cnfn convert_char3_rte(half3);
5958 char3 __ovld __cnfn convert_char3_rtp(half3);
5959 char3 __ovld __cnfn convert_char3_rtn(half3);
5960 char3 __ovld __cnfn convert_char3_rtz(half3);
5961 char3 __ovld __cnfn convert_char3_sat(half3);
5962 char3 __ovld __cnfn convert_char3_sat_rte(half3);
5963 char3 __ovld __cnfn convert_char3_sat_rtp(half3);
5964 char3 __ovld __cnfn convert_char3_sat_rtn(half3);
5965 char3 __ovld __cnfn convert_char3_sat_rtz(half3);
5966 char4 __ovld __cnfn convert_char4(half4);
5967 char4 __ovld __cnfn convert_char4_rte(half4);
5968 char4 __ovld __cnfn convert_char4_rtp(half4);
5969 char4 __ovld __cnfn convert_char4_rtn(half4);
5970 char4 __ovld __cnfn convert_char4_rtz(half4);
5971 char4 __ovld __cnfn convert_char4_sat(half4);
5972 char4 __ovld __cnfn convert_char4_sat_rte(half4);
5973 char4 __ovld __cnfn convert_char4_sat_rtp(half4);
5974 char4 __ovld __cnfn convert_char4_sat_rtn(half4);
5975 char4 __ovld __cnfn convert_char4_sat_rtz(half4);
5976 char8 __ovld __cnfn convert_char8(half8);
5977 char8 __ovld __cnfn convert_char8_rte(half8);
5978 char8 __ovld __cnfn convert_char8_rtp(half8);
5979 char8 __ovld __cnfn convert_char8_rtn(half8);
5980 char8 __ovld __cnfn convert_char8_rtz(half8);
5981 char8 __ovld __cnfn convert_char8_sat(half8);
5982 char8 __ovld __cnfn convert_char8_sat_rte(half8);
5983 char8 __ovld __cnfn convert_char8_sat_rtp(half8);
5984 char8 __ovld __cnfn convert_char8_sat_rtn(half8);
5985 char8 __ovld __cnfn convert_char8_sat_rtz(half8);
5986 char16 __ovld __cnfn convert_char16(half16);
5987 char16 __ovld __cnfn convert_char16_rte(half16);
5988 char16 __ovld __cnfn convert_char16_rtp(half16);
5989 char16 __ovld __cnfn convert_char16_rtn(half16);
5990 char16 __ovld __cnfn convert_char16_rtz(half16);
5991 char16 __ovld __cnfn convert_char16_sat(half16);
5992 char16 __ovld __cnfn convert_char16_sat_rte(half16);
5993 char16 __ovld __cnfn convert_char16_sat_rtp(half16);
5994 char16 __ovld __cnfn convert_char16_sat_rtn(half16);
5995 char16 __ovld __cnfn convert_char16_sat_rtz(half16);
5996 short __ovld __cnfn convert_short(half);
5997 short __ovld __cnfn convert_short_rte(half);
5998 short __ovld __cnfn convert_short_rtp(half);
5999 short __ovld __cnfn convert_short_rtn(half);
6000 short __ovld __cnfn convert_short_rtz(half);
6001 short __ovld __cnfn convert_short_sat(half);
6002 short __ovld __cnfn convert_short_sat_rte(half);
6003 short __ovld __cnfn convert_short_sat_rtp(half);
6004 short __ovld __cnfn convert_short_sat_rtn(half);
6005 short __ovld __cnfn convert_short_sat_rtz(half);
6006 short2 __ovld __cnfn convert_short2(half2);
6007 short2 __ovld __cnfn convert_short2_rte(half2);
6008 short2 __ovld __cnfn convert_short2_rtp(half2);
6009 short2 __ovld __cnfn convert_short2_rtn(half2);
6010 short2 __ovld __cnfn convert_short2_rtz(half2);
6011 short2 __ovld __cnfn convert_short2_sat(half2);
6012 short2 __ovld __cnfn convert_short2_sat_rte(half2);
6013 short2 __ovld __cnfn convert_short2_sat_rtp(half2);
6014 short2 __ovld __cnfn convert_short2_sat_rtn(half2);
6015 short2 __ovld __cnfn convert_short2_sat_rtz(half2);
6016 short3 __ovld __cnfn convert_short3(half3);
6017 short3 __ovld __cnfn convert_short3_rte(half3);
6018 short3 __ovld __cnfn convert_short3_rtp(half3);
6019 short3 __ovld __cnfn convert_short3_rtn(half3);
6020 short3 __ovld __cnfn convert_short3_rtz(half3);
6021 short3 __ovld __cnfn convert_short3_sat(half3);
6022 short3 __ovld __cnfn convert_short3_sat_rte(half3);
6023 short3 __ovld __cnfn convert_short3_sat_rtp(half3);
6024 short3 __ovld __cnfn convert_short3_sat_rtn(half3);
6025 short3 __ovld __cnfn convert_short3_sat_rtz(half3);
6026 short4 __ovld __cnfn convert_short4(half4);
6027 short4 __ovld __cnfn convert_short4_rte(half4);
6028 short4 __ovld __cnfn convert_short4_rtp(half4);
6029 short4 __ovld __cnfn convert_short4_rtn(half4);
6030 short4 __ovld __cnfn convert_short4_rtz(half4);
6031 short4 __ovld __cnfn convert_short4_sat(half4);
6032 short4 __ovld __cnfn convert_short4_sat_rte(half4);
6033 short4 __ovld __cnfn convert_short4_sat_rtp(half4);
6034 short4 __ovld __cnfn convert_short4_sat_rtn(half4);
6035 short4 __ovld __cnfn convert_short4_sat_rtz(half4);
6036 short8 __ovld __cnfn convert_short8(half8);
6037 short8 __ovld __cnfn convert_short8_rte(half8);
6038 short8 __ovld __cnfn convert_short8_rtp(half8);
6039 short8 __ovld __cnfn convert_short8_rtn(half8);
6040 short8 __ovld __cnfn convert_short8_rtz(half8);
6041 short8 __ovld __cnfn convert_short8_sat(half8);
6042 short8 __ovld __cnfn convert_short8_sat_rte(half8);
6043 short8 __ovld __cnfn convert_short8_sat_rtp(half8);
6044 short8 __ovld __cnfn convert_short8_sat_rtn(half8);
6045 short8 __ovld __cnfn convert_short8_sat_rtz(half8);
6046 short16 __ovld __cnfn convert_short16(half16);
6047 short16 __ovld __cnfn convert_short16_rte(half16);
6048 short16 __ovld __cnfn convert_short16_rtp(half16);
6049 short16 __ovld __cnfn convert_short16_rtn(half16);
6050 short16 __ovld __cnfn convert_short16_rtz(half16);
6051 short16 __ovld __cnfn convert_short16_sat(half16);
6052 short16 __ovld __cnfn convert_short16_sat_rte(half16);
6053 short16 __ovld __cnfn convert_short16_sat_rtp(half16);
6054 short16 __ovld __cnfn convert_short16_sat_rtn(half16);
6055 short16 __ovld __cnfn convert_short16_sat_rtz(half16);
6056 int __ovld __cnfn convert_int(half);
6057 int __ovld __cnfn convert_int_rte(half);
6058 int __ovld __cnfn convert_int_rtp(half);
6059 int __ovld __cnfn convert_int_rtn(half);
6060 int __ovld __cnfn convert_int_rtz(half);
6061 int __ovld __cnfn convert_int_sat(half);
6062 int __ovld __cnfn convert_int_sat_rte(half);
6063 int __ovld __cnfn convert_int_sat_rtp(half);
6064 int __ovld __cnfn convert_int_sat_rtn(half);
6065 int __ovld __cnfn convert_int_sat_rtz(half);
6066 int2 __ovld __cnfn convert_int2(half2);
6067 int2 __ovld __cnfn convert_int2_rte(half2);
6068 int2 __ovld __cnfn convert_int2_rtp(half2);
6069 int2 __ovld __cnfn convert_int2_rtn(half2);
6070 int2 __ovld __cnfn convert_int2_rtz(half2);
6071 int2 __ovld __cnfn convert_int2_sat(half2);
6072 int2 __ovld __cnfn convert_int2_sat_rte(half2);
6073 int2 __ovld __cnfn convert_int2_sat_rtp(half2);
6074 int2 __ovld __cnfn convert_int2_sat_rtn(half2);
6075 int2 __ovld __cnfn convert_int2_sat_rtz(half2);
6076 int3 __ovld __cnfn convert_int3(half3);
6077 int3 __ovld __cnfn convert_int3_rte(half3);
6078 int3 __ovld __cnfn convert_int3_rtp(half3);
6079 int3 __ovld __cnfn convert_int3_rtn(half3);
6080 int3 __ovld __cnfn convert_int3_rtz(half3);
6081 int3 __ovld __cnfn convert_int3_sat(half3);
6082 int3 __ovld __cnfn convert_int3_sat_rte(half3);
6083 int3 __ovld __cnfn convert_int3_sat_rtp(half3);
6084 int3 __ovld __cnfn convert_int3_sat_rtn(half3);
6085 int3 __ovld __cnfn convert_int3_sat_rtz(half3);
6086 int4 __ovld __cnfn convert_int4(half4);
6087 int4 __ovld __cnfn convert_int4_rte(half4);
6088 int4 __ovld __cnfn convert_int4_rtp(half4);
6089 int4 __ovld __cnfn convert_int4_rtn(half4);
6090 int4 __ovld __cnfn convert_int4_rtz(half4);
6091 int4 __ovld __cnfn convert_int4_sat(half4);
6092 int4 __ovld __cnfn convert_int4_sat_rte(half4);
6093 int4 __ovld __cnfn convert_int4_sat_rtp(half4);
6094 int4 __ovld __cnfn convert_int4_sat_rtn(half4);
6095 int4 __ovld __cnfn convert_int4_sat_rtz(half4);
6096 int8 __ovld __cnfn convert_int8(half8);
6097 int8 __ovld __cnfn convert_int8_rte(half8);
6098 int8 __ovld __cnfn convert_int8_rtp(half8);
6099 int8 __ovld __cnfn convert_int8_rtn(half8);
6100 int8 __ovld __cnfn convert_int8_rtz(half8);
6101 int8 __ovld __cnfn convert_int8_sat(half8);
6102 int8 __ovld __cnfn convert_int8_sat_rte(half8);
6103 int8 __ovld __cnfn convert_int8_sat_rtp(half8);
6104 int8 __ovld __cnfn convert_int8_sat_rtn(half8);
6105 int8 __ovld __cnfn convert_int8_sat_rtz(half8);
6106 int16 __ovld __cnfn convert_int16(half16);
6107 int16 __ovld __cnfn convert_int16_rte(half16);
6108 int16 __ovld __cnfn convert_int16_rtp(half16);
6109 int16 __ovld __cnfn convert_int16_rtn(half16);
6110 int16 __ovld __cnfn convert_int16_rtz(half16);
6111 int16 __ovld __cnfn convert_int16_sat(half16);
6112 int16 __ovld __cnfn convert_int16_sat_rte(half16);
6113 int16 __ovld __cnfn convert_int16_sat_rtp(half16);
6114 int16 __ovld __cnfn convert_int16_sat_rtn(half16);
6115 int16 __ovld __cnfn convert_int16_sat_rtz(half16);
6116 long __ovld __cnfn convert_long(half);
6117 long __ovld __cnfn convert_long_rte(half);
6118 long __ovld __cnfn convert_long_rtp(half);
6119 long __ovld __cnfn convert_long_rtn(half);
6120 long __ovld __cnfn convert_long_rtz(half);
6121 long __ovld __cnfn convert_long_sat(half);
6122 long __ovld __cnfn convert_long_sat_rte(half);
6123 long __ovld __cnfn convert_long_sat_rtp(half);
6124 long __ovld __cnfn convert_long_sat_rtn(half);
6125 long __ovld __cnfn convert_long_sat_rtz(half);
6126 long2 __ovld __cnfn convert_long2(half2);
6127 long2 __ovld __cnfn convert_long2_rte(half2);
6128 long2 __ovld __cnfn convert_long2_rtp(half2);
6129 long2 __ovld __cnfn convert_long2_rtn(half2);
6130 long2 __ovld __cnfn convert_long2_rtz(half2);
6131 long2 __ovld __cnfn convert_long2_sat(half2);
6132 long2 __ovld __cnfn convert_long2_sat_rte(half2);
6133 long2 __ovld __cnfn convert_long2_sat_rtp(half2);
6134 long2 __ovld __cnfn convert_long2_sat_rtn(half2);
6135 long2 __ovld __cnfn convert_long2_sat_rtz(half2);
6136 long3 __ovld __cnfn convert_long3(half3);
6137 long3 __ovld __cnfn convert_long3_rte(half3);
6138 long3 __ovld __cnfn convert_long3_rtp(half3);
6139 long3 __ovld __cnfn convert_long3_rtn(half3);
6140 long3 __ovld __cnfn convert_long3_rtz(half3);
6141 long3 __ovld __cnfn convert_long3_sat(half3);
6142 long3 __ovld __cnfn convert_long3_sat_rte(half3);
6143 long3 __ovld __cnfn convert_long3_sat_rtp(half3);
6144 long3 __ovld __cnfn convert_long3_sat_rtn(half3);
6145 long3 __ovld __cnfn convert_long3_sat_rtz(half3);
6146 long4 __ovld __cnfn convert_long4(half4);
6147 long4 __ovld __cnfn convert_long4_rte(half4);
6148 long4 __ovld __cnfn convert_long4_rtp(half4);
6149 long4 __ovld __cnfn convert_long4_rtn(half4);
6150 long4 __ovld __cnfn convert_long4_rtz(half4);
6151 long4 __ovld __cnfn convert_long4_sat(half4);
6152 long4 __ovld __cnfn convert_long4_sat_rte(half4);
6153 long4 __ovld __cnfn convert_long4_sat_rtp(half4);
6154 long4 __ovld __cnfn convert_long4_sat_rtn(half4);
6155 long4 __ovld __cnfn convert_long4_sat_rtz(half4);
6156 long8 __ovld __cnfn convert_long8(half8);
6157 long8 __ovld __cnfn convert_long8_rte(half8);
6158 long8 __ovld __cnfn convert_long8_rtp(half8);
6159 long8 __ovld __cnfn convert_long8_rtn(half8);
6160 long8 __ovld __cnfn convert_long8_rtz(half8);
6161 long8 __ovld __cnfn convert_long8_sat(half8);
6162 long8 __ovld __cnfn convert_long8_sat_rte(half8);
6163 long8 __ovld __cnfn convert_long8_sat_rtp(half8);
6164 long8 __ovld __cnfn convert_long8_sat_rtn(half8);
6165 long8 __ovld __cnfn convert_long8_sat_rtz(half8);
6166 long16 __ovld __cnfn convert_long16(half16);
6167 long16 __ovld __cnfn convert_long16_rte(half16);
6168 long16 __ovld __cnfn convert_long16_rtp(half16);
6169 long16 __ovld __cnfn convert_long16_rtn(half16);
6170 long16 __ovld __cnfn convert_long16_rtz(half16);
6171 long16 __ovld __cnfn convert_long16_sat(half16);
6172 long16 __ovld __cnfn convert_long16_sat_rte(half16);
6173 long16 __ovld __cnfn convert_long16_sat_rtp(half16);
6174 long16 __ovld __cnfn convert_long16_sat_rtn(half16);
6175 long16 __ovld __cnfn convert_long16_sat_rtz(half16);
6176 float __ovld __cnfn convert_float(half);
6177 float __ovld __cnfn convert_float_rte(half);
6178 float __ovld __cnfn convert_float_rtp(half);
6179 float __ovld __cnfn convert_float_rtn(half);
6180 float __ovld __cnfn convert_float_rtz(half);
6181 float2 __ovld __cnfn convert_float2(half2);
6182 float2 __ovld __cnfn convert_float2_rte(half2);
6183 float2 __ovld __cnfn convert_float2_rtp(half2);
6184 float2 __ovld __cnfn convert_float2_rtn(half2);
6185 float2 __ovld __cnfn convert_float2_rtz(half2);
6186 float3 __ovld __cnfn convert_float3(half3);
6187 float3 __ovld __cnfn convert_float3_rte(half3);
6188 float3 __ovld __cnfn convert_float3_rtp(half3);
6189 float3 __ovld __cnfn convert_float3_rtn(half3);
6190 float3 __ovld __cnfn convert_float3_rtz(half3);
6191 float4 __ovld __cnfn convert_float4(half4);
6192 float4 __ovld __cnfn convert_float4_rte(half4);
6193 float4 __ovld __cnfn convert_float4_rtp(half4);
6194 float4 __ovld __cnfn convert_float4_rtn(half4);
6195 float4 __ovld __cnfn convert_float4_rtz(half4);
6196 float8 __ovld __cnfn convert_float8(half8);
6197 float8 __ovld __cnfn convert_float8_rte(half8);
6198 float8 __ovld __cnfn convert_float8_rtp(half8);
6199 float8 __ovld __cnfn convert_float8_rtn(half8);
6200 float8 __ovld __cnfn convert_float8_rtz(half8);
6201 float16 __ovld __cnfn convert_float16(half16);
6202 float16 __ovld __cnfn convert_float16_rte(half16);
6203 float16 __ovld __cnfn convert_float16_rtp(half16);
6204 float16 __ovld __cnfn convert_float16_rtn(half16);
6205 float16 __ovld __cnfn convert_float16_rtz(half16);
6206
6207 // Convert non-double types to half types.
6208 half __ovld __cnfn convert_half(uchar);
6209 half __ovld __cnfn convert_half(ushort);
6210 half __ovld __cnfn convert_half(uint);
6211 half __ovld __cnfn convert_half(ulong);
6212 half __ovld __cnfn convert_half(char);
6213 half __ovld __cnfn convert_half(short);
6214 half __ovld __cnfn convert_half(int);
6215 half __ovld __cnfn convert_half(long);
6216 half __ovld __cnfn convert_half(float);
6217 half __ovld __cnfn convert_half(half);
6218 half __ovld __cnfn convert_half_rte(uchar);
6219 half __ovld __cnfn convert_half_rte(ushort);
6220 half __ovld __cnfn convert_half_rte(uint);
6221 half __ovld __cnfn convert_half_rte(ulong);
6222 half __ovld __cnfn convert_half_rte(char);
6223 half __ovld __cnfn convert_half_rte(short);
6224 half __ovld __cnfn convert_half_rte(int);
6225 half __ovld __cnfn convert_half_rte(long);
6226 half __ovld __cnfn convert_half_rte(float);
6227 half __ovld __cnfn convert_half_rte(half);
6228 half __ovld __cnfn convert_half_rtp(uchar);
6229 half __ovld __cnfn convert_half_rtp(ushort);
6230 half __ovld __cnfn convert_half_rtp(uint);
6231 half __ovld __cnfn convert_half_rtp(ulong);
6232 half __ovld __cnfn convert_half_rtp(char);
6233 half __ovld __cnfn convert_half_rtp(short);
6234 half __ovld __cnfn convert_half_rtp(int);
6235 half __ovld __cnfn convert_half_rtp(long);
6236 half __ovld __cnfn convert_half_rtp(float);
6237 half __ovld __cnfn convert_half_rtp(half);
6238 half __ovld __cnfn convert_half_rtn(uchar);
6239 half __ovld __cnfn convert_half_rtn(ushort);
6240 half __ovld __cnfn convert_half_rtn(uint);
6241 half __ovld __cnfn convert_half_rtn(ulong);
6242 half __ovld __cnfn convert_half_rtn(char);
6243 half __ovld __cnfn convert_half_rtn(short);
6244 half __ovld __cnfn convert_half_rtn(int);
6245 half __ovld __cnfn convert_half_rtn(long);
6246 half __ovld __cnfn convert_half_rtn(float);
6247 half __ovld __cnfn convert_half_rtn(half);
6248 half __ovld __cnfn convert_half_rtz(uchar);
6249 half __ovld __cnfn convert_half_rtz(ushort);
6250 half __ovld __cnfn convert_half_rtz(uint);
6251 half __ovld __cnfn convert_half_rtz(ulong);
6252 half __ovld __cnfn convert_half_rtz(char);
6253 half __ovld __cnfn convert_half_rtz(short);
6254 half __ovld __cnfn convert_half_rtz(int);
6255 half __ovld __cnfn convert_half_rtz(long);
6256 half __ovld __cnfn convert_half_rtz(float);
6257 half __ovld __cnfn convert_half_rtz(half);
6258 half2 __ovld __cnfn convert_half2(char2);
6259 half2 __ovld __cnfn convert_half2(uchar2);
6260 half2 __ovld __cnfn convert_half2(short2);
6261 half2 __ovld __cnfn convert_half2(ushort2);
6262 half2 __ovld __cnfn convert_half2(int2);
6263 half2 __ovld __cnfn convert_half2(uint2);
6264 half2 __ovld __cnfn convert_half2(long2);
6265 half2 __ovld __cnfn convert_half2(ulong2);
6266 half2 __ovld __cnfn convert_half2(float2);
6267 half2 __ovld __cnfn convert_half2(half2);
6268 half2 __ovld __cnfn convert_half2_rte(char2);
6269 half2 __ovld __cnfn convert_half2_rte(uchar2);
6270 half2 __ovld __cnfn convert_half2_rte(short2);
6271 half2 __ovld __cnfn convert_half2_rte(ushort2);
6272 half2 __ovld __cnfn convert_half2_rte(int2);
6273 half2 __ovld __cnfn convert_half2_rte(uint2);
6274 half2 __ovld __cnfn convert_half2_rte(long2);
6275 half2 __ovld __cnfn convert_half2_rte(ulong2);
6276 half2 __ovld __cnfn convert_half2_rte(float2);
6277 half2 __ovld __cnfn convert_half2_rte(half2);
6278 half2 __ovld __cnfn convert_half2_rtp(char2);
6279 half2 __ovld __cnfn convert_half2_rtp(uchar2);
6280 half2 __ovld __cnfn convert_half2_rtp(short2);
6281 half2 __ovld __cnfn convert_half2_rtp(ushort2);
6282 half2 __ovld __cnfn convert_half2_rtp(int2);
6283 half2 __ovld __cnfn convert_half2_rtp(uint2);
6284 half2 __ovld __cnfn convert_half2_rtp(long2);
6285 half2 __ovld __cnfn convert_half2_rtp(ulong2);
6286 half2 __ovld __cnfn convert_half2_rtp(float2);
6287 half2 __ovld __cnfn convert_half2_rtp(half2);
6288 half2 __ovld __cnfn convert_half2_rtn(char2);
6289 half2 __ovld __cnfn convert_half2_rtn(uchar2);
6290 half2 __ovld __cnfn convert_half2_rtn(short2);
6291 half2 __ovld __cnfn convert_half2_rtn(ushort2);
6292 half2 __ovld __cnfn convert_half2_rtn(int2);
6293 half2 __ovld __cnfn convert_half2_rtn(uint2);
6294 half2 __ovld __cnfn convert_half2_rtn(long2);
6295 half2 __ovld __cnfn convert_half2_rtn(ulong2);
6296 half2 __ovld __cnfn convert_half2_rtn(float2);
6297 half2 __ovld __cnfn convert_half2_rtn(half2);
6298 half2 __ovld __cnfn convert_half2_rtz(char2);
6299 half2 __ovld __cnfn convert_half2_rtz(uchar2);
6300 half2 __ovld __cnfn convert_half2_rtz(short2);
6301 half2 __ovld __cnfn convert_half2_rtz(ushort2);
6302 half2 __ovld __cnfn convert_half2_rtz(int2);
6303 half2 __ovld __cnfn convert_half2_rtz(uint2);
6304 half2 __ovld __cnfn convert_half2_rtz(long2);
6305 half2 __ovld __cnfn convert_half2_rtz(ulong2);
6306 half2 __ovld __cnfn convert_half2_rtz(float2);
6307 half2 __ovld __cnfn convert_half2_rtz(half2);
6308 half3 __ovld __cnfn convert_half3(char3);
6309 half3 __ovld __cnfn convert_half3(uchar3);
6310 half3 __ovld __cnfn convert_half3(short3);
6311 half3 __ovld __cnfn convert_half3(ushort3);
6312 half3 __ovld __cnfn convert_half3(int3);
6313 half3 __ovld __cnfn convert_half3(uint3);
6314 half3 __ovld __cnfn convert_half3(long3);
6315 half3 __ovld __cnfn convert_half3(ulong3);
6316 half3 __ovld __cnfn convert_half3(float3);
6317 half3 __ovld __cnfn convert_half3(half3);
6318 half3 __ovld __cnfn convert_half3_rte(char3);
6319 half3 __ovld __cnfn convert_half3_rte(uchar3);
6320 half3 __ovld __cnfn convert_half3_rte(short3);
6321 half3 __ovld __cnfn convert_half3_rte(ushort3);
6322 half3 __ovld __cnfn convert_half3_rte(int3);
6323 half3 __ovld __cnfn convert_half3_rte(uint3);
6324 half3 __ovld __cnfn convert_half3_rte(long3);
6325 half3 __ovld __cnfn convert_half3_rte(ulong3);
6326 half3 __ovld __cnfn convert_half3_rte(float3);
6327 half3 __ovld __cnfn convert_half3_rte(half3);
6328 half3 __ovld __cnfn convert_half3_rtp(char3);
6329 half3 __ovld __cnfn convert_half3_rtp(uchar3);
6330 half3 __ovld __cnfn convert_half3_rtp(short3);
6331 half3 __ovld __cnfn convert_half3_rtp(ushort3);
6332 half3 __ovld __cnfn convert_half3_rtp(int3);
6333 half3 __ovld __cnfn convert_half3_rtp(uint3);
6334 half3 __ovld __cnfn convert_half3_rtp(long3);
6335 half3 __ovld __cnfn convert_half3_rtp(ulong3);
6336 half3 __ovld __cnfn convert_half3_rtp(float3);
6337 half3 __ovld __cnfn convert_half3_rtp(half3);
6338 half3 __ovld __cnfn convert_half3_rtn(char3);
6339 half3 __ovld __cnfn convert_half3_rtn(uchar3);
6340 half3 __ovld __cnfn convert_half3_rtn(short3);
6341 half3 __ovld __cnfn convert_half3_rtn(ushort3);
6342 half3 __ovld __cnfn convert_half3_rtn(int3);
6343 half3 __ovld __cnfn convert_half3_rtn(uint3);
6344 half3 __ovld __cnfn convert_half3_rtn(long3);
6345 half3 __ovld __cnfn convert_half3_rtn(ulong3);
6346 half3 __ovld __cnfn convert_half3_rtn(float3);
6347 half3 __ovld __cnfn convert_half3_rtn(half3);
6348 half3 __ovld __cnfn convert_half3_rtz(char3);
6349 half3 __ovld __cnfn convert_half3_rtz(uchar3);
6350 half3 __ovld __cnfn convert_half3_rtz(short3);
6351 half3 __ovld __cnfn convert_half3_rtz(ushort3);
6352 half3 __ovld __cnfn convert_half3_rtz(int3);
6353 half3 __ovld __cnfn convert_half3_rtz(uint3);
6354 half3 __ovld __cnfn convert_half3_rtz(long3);
6355 half3 __ovld __cnfn convert_half3_rtz(ulong3);
6356 half3 __ovld __cnfn convert_half3_rtz(float3);
6357 half3 __ovld __cnfn convert_half3_rtz(half3);
6358 half4 __ovld __cnfn convert_half4(char4);
6359 half4 __ovld __cnfn convert_half4(uchar4);
6360 half4 __ovld __cnfn convert_half4(short4);
6361 half4 __ovld __cnfn convert_half4(ushort4);
6362 half4 __ovld __cnfn convert_half4(int4);
6363 half4 __ovld __cnfn convert_half4(uint4);
6364 half4 __ovld __cnfn convert_half4(long4);
6365 half4 __ovld __cnfn convert_half4(ulong4);
6366 half4 __ovld __cnfn convert_half4(float4);
6367 half4 __ovld __cnfn convert_half4(half4);
6368 half4 __ovld __cnfn convert_half4_rte(char4);
6369 half4 __ovld __cnfn convert_half4_rte(uchar4);
6370 half4 __ovld __cnfn convert_half4_rte(short4);
6371 half4 __ovld __cnfn convert_half4_rte(ushort4);
6372 half4 __ovld __cnfn convert_half4_rte(int4);
6373 half4 __ovld __cnfn convert_half4_rte(uint4);
6374 half4 __ovld __cnfn convert_half4_rte(long4);
6375 half4 __ovld __cnfn convert_half4_rte(ulong4);
6376 half4 __ovld __cnfn convert_half4_rte(float4);
6377 half4 __ovld __cnfn convert_half4_rte(half4);
6378 half4 __ovld __cnfn convert_half4_rtp(char4);
6379 half4 __ovld __cnfn convert_half4_rtp(uchar4);
6380 half4 __ovld __cnfn convert_half4_rtp(short4);
6381 half4 __ovld __cnfn convert_half4_rtp(ushort4);
6382 half4 __ovld __cnfn convert_half4_rtp(int4);
6383 half4 __ovld __cnfn convert_half4_rtp(uint4);
6384 half4 __ovld __cnfn convert_half4_rtp(long4);
6385 half4 __ovld __cnfn convert_half4_rtp(ulong4);
6386 half4 __ovld __cnfn convert_half4_rtp(float4);
6387 half4 __ovld __cnfn convert_half4_rtp(half4);
6388 half4 __ovld __cnfn convert_half4_rtn(char4);
6389 half4 __ovld __cnfn convert_half4_rtn(uchar4);
6390 half4 __ovld __cnfn convert_half4_rtn(short4);
6391 half4 __ovld __cnfn convert_half4_rtn(ushort4);
6392 half4 __ovld __cnfn convert_half4_rtn(int4);
6393 half4 __ovld __cnfn convert_half4_rtn(uint4);
6394 half4 __ovld __cnfn convert_half4_rtn(long4);
6395 half4 __ovld __cnfn convert_half4_rtn(ulong4);
6396 half4 __ovld __cnfn convert_half4_rtn(float4);
6397 half4 __ovld __cnfn convert_half4_rtn(half4);
6398 half4 __ovld __cnfn convert_half4_rtz(char4);
6399 half4 __ovld __cnfn convert_half4_rtz(uchar4);
6400 half4 __ovld __cnfn convert_half4_rtz(short4);
6401 half4 __ovld __cnfn convert_half4_rtz(ushort4);
6402 half4 __ovld __cnfn convert_half4_rtz(int4);
6403 half4 __ovld __cnfn convert_half4_rtz(uint4);
6404 half4 __ovld __cnfn convert_half4_rtz(long4);
6405 half4 __ovld __cnfn convert_half4_rtz(ulong4);
6406 half4 __ovld __cnfn convert_half4_rtz(float4);
6407 half4 __ovld __cnfn convert_half4_rtz(half4);
6408 half8 __ovld __cnfn convert_half8(char8);
6409 half8 __ovld __cnfn convert_half8(uchar8);
6410 half8 __ovld __cnfn convert_half8(short8);
6411 half8 __ovld __cnfn convert_half8(ushort8);
6412 half8 __ovld __cnfn convert_half8(int8);
6413 half8 __ovld __cnfn convert_half8(uint8);
6414 half8 __ovld __cnfn convert_half8(long8);
6415 half8 __ovld __cnfn convert_half8(ulong8);
6416 half8 __ovld __cnfn convert_half8(float8);
6417 half8 __ovld __cnfn convert_half8(half8);
6418 half8 __ovld __cnfn convert_half8_rte(char8);
6419 half8 __ovld __cnfn convert_half8_rte(uchar8);
6420 half8 __ovld __cnfn convert_half8_rte(short8);
6421 half8 __ovld __cnfn convert_half8_rte(ushort8);
6422 half8 __ovld __cnfn convert_half8_rte(int8);
6423 half8 __ovld __cnfn convert_half8_rte(uint8);
6424 half8 __ovld __cnfn convert_half8_rte(long8);
6425 half8 __ovld __cnfn convert_half8_rte(ulong8);
6426 half8 __ovld __cnfn convert_half8_rte(float8);
6427 half8 __ovld __cnfn convert_half8_rte(half8);
6428 half8 __ovld __cnfn convert_half8_rtp(char8);
6429 half8 __ovld __cnfn convert_half8_rtp(uchar8);
6430 half8 __ovld __cnfn convert_half8_rtp(short8);
6431 half8 __ovld __cnfn convert_half8_rtp(ushort8);
6432 half8 __ovld __cnfn convert_half8_rtp(int8);
6433 half8 __ovld __cnfn convert_half8_rtp(uint8);
6434 half8 __ovld __cnfn convert_half8_rtp(long8);
6435 half8 __ovld __cnfn convert_half8_rtp(ulong8);
6436 half8 __ovld __cnfn convert_half8_rtp(float8);
6437 half8 __ovld __cnfn convert_half8_rtp(half8);
6438 half8 __ovld __cnfn convert_half8_rtn(char8);
6439 half8 __ovld __cnfn convert_half8_rtn(uchar8);
6440 half8 __ovld __cnfn convert_half8_rtn(short8);
6441 half8 __ovld __cnfn convert_half8_rtn(ushort8);
6442 half8 __ovld __cnfn convert_half8_rtn(int8);
6443 half8 __ovld __cnfn convert_half8_rtn(uint8);
6444 half8 __ovld __cnfn convert_half8_rtn(long8);
6445 half8 __ovld __cnfn convert_half8_rtn(ulong8);
6446 half8 __ovld __cnfn convert_half8_rtn(float8);
6447 half8 __ovld __cnfn convert_half8_rtn(half8);
6448 half8 __ovld __cnfn convert_half8_rtz(char8);
6449 half8 __ovld __cnfn convert_half8_rtz(uchar8);
6450 half8 __ovld __cnfn convert_half8_rtz(short8);
6451 half8 __ovld __cnfn convert_half8_rtz(ushort8);
6452 half8 __ovld __cnfn convert_half8_rtz(int8);
6453 half8 __ovld __cnfn convert_half8_rtz(uint8);
6454 half8 __ovld __cnfn convert_half8_rtz(long8);
6455 half8 __ovld __cnfn convert_half8_rtz(ulong8);
6456 half8 __ovld __cnfn convert_half8_rtz(float8);
6457 half8 __ovld __cnfn convert_half8_rtz(half8);
6458 half16 __ovld __cnfn convert_half16(char16);
6459 half16 __ovld __cnfn convert_half16(uchar16);
6460 half16 __ovld __cnfn convert_half16(short16);
6461 half16 __ovld __cnfn convert_half16(ushort16);
6462 half16 __ovld __cnfn convert_half16(int16);
6463 half16 __ovld __cnfn convert_half16(uint16);
6464 half16 __ovld __cnfn convert_half16(long16);
6465 half16 __ovld __cnfn convert_half16(ulong16);
6466 half16 __ovld __cnfn convert_half16(float16);
6467 half16 __ovld __cnfn convert_half16(half16);
6468 half16 __ovld __cnfn convert_half16_rte(char16);
6469 half16 __ovld __cnfn convert_half16_rte(uchar16);
6470 half16 __ovld __cnfn convert_half16_rte(short16);
6471 half16 __ovld __cnfn convert_half16_rte(ushort16);
6472 half16 __ovld __cnfn convert_half16_rte(int16);
6473 half16 __ovld __cnfn convert_half16_rte(uint16);
6474 half16 __ovld __cnfn convert_half16_rte(long16);
6475 half16 __ovld __cnfn convert_half16_rte(ulong16);
6476 half16 __ovld __cnfn convert_half16_rte(float16);
6477 half16 __ovld __cnfn convert_half16_rte(half16);
6478 half16 __ovld __cnfn convert_half16_rtp(char16);
6479 half16 __ovld __cnfn convert_half16_rtp(uchar16);
6480 half16 __ovld __cnfn convert_half16_rtp(short16);
6481 half16 __ovld __cnfn convert_half16_rtp(ushort16);
6482 half16 __ovld __cnfn convert_half16_rtp(int16);
6483 half16 __ovld __cnfn convert_half16_rtp(uint16);
6484 half16 __ovld __cnfn convert_half16_rtp(long16);
6485 half16 __ovld __cnfn convert_half16_rtp(ulong16);
6486 half16 __ovld __cnfn convert_half16_rtp(float16);
6487 half16 __ovld __cnfn convert_half16_rtp(half16);
6488 half16 __ovld __cnfn convert_half16_rtn(char16);
6489 half16 __ovld __cnfn convert_half16_rtn(uchar16);
6490 half16 __ovld __cnfn convert_half16_rtn(short16);
6491 half16 __ovld __cnfn convert_half16_rtn(ushort16);
6492 half16 __ovld __cnfn convert_half16_rtn(int16);
6493 half16 __ovld __cnfn convert_half16_rtn(uint16);
6494 half16 __ovld __cnfn convert_half16_rtn(long16);
6495 half16 __ovld __cnfn convert_half16_rtn(ulong16);
6496 half16 __ovld __cnfn convert_half16_rtn(float16);
6497 half16 __ovld __cnfn convert_half16_rtn(half16);
6498 half16 __ovld __cnfn convert_half16_rtz(char16);
6499 half16 __ovld __cnfn convert_half16_rtz(uchar16);
6500 half16 __ovld __cnfn convert_half16_rtz(short16);
6501 half16 __ovld __cnfn convert_half16_rtz(ushort16);
6502 half16 __ovld __cnfn convert_half16_rtz(int16);
6503 half16 __ovld __cnfn convert_half16_rtz(uint16);
6504 half16 __ovld __cnfn convert_half16_rtz(long16);
6505 half16 __ovld __cnfn convert_half16_rtz(ulong16);
6506 half16 __ovld __cnfn convert_half16_rtz(float16);
6507 half16 __ovld __cnfn convert_half16_rtz(half16);
6508
6509 // Convert half types to double types.
6510 #ifdef cl_khr_fp64
6511 double __ovld __cnfn convert_double(half);
6512 double __ovld __cnfn convert_double_rte(half);
6513 double __ovld __cnfn convert_double_rtp(half);
6514 double __ovld __cnfn convert_double_rtn(half);
6515 double __ovld __cnfn convert_double_rtz(half);
6516 double2 __ovld __cnfn convert_double2(half2);
6517 double2 __ovld __cnfn convert_double2_rte(half2);
6518 double2 __ovld __cnfn convert_double2_rtp(half2);
6519 double2 __ovld __cnfn convert_double2_rtn(half2);
6520 double2 __ovld __cnfn convert_double2_rtz(half2);
6521 double3 __ovld __cnfn convert_double3(half3);
6522 double3 __ovld __cnfn convert_double3_rte(half3);
6523 double3 __ovld __cnfn convert_double3_rtp(half3);
6524 double3 __ovld __cnfn convert_double3_rtn(half3);
6525 double3 __ovld __cnfn convert_double3_rtz(half3);
6526 double4 __ovld __cnfn convert_double4(half4);
6527 double4 __ovld __cnfn convert_double4_rte(half4);
6528 double4 __ovld __cnfn convert_double4_rtp(half4);
6529 double4 __ovld __cnfn convert_double4_rtn(half4);
6530 double4 __ovld __cnfn convert_double4_rtz(half4);
6531 double8 __ovld __cnfn convert_double8(half8);
6532 double8 __ovld __cnfn convert_double8_rte(half8);
6533 double8 __ovld __cnfn convert_double8_rtp(half8);
6534 double8 __ovld __cnfn convert_double8_rtn(half8);
6535 double8 __ovld __cnfn convert_double8_rtz(half8);
6536 double16 __ovld __cnfn convert_double16(half16);
6537 double16 __ovld __cnfn convert_double16_rte(half16);
6538 double16 __ovld __cnfn convert_double16_rtp(half16);
6539 double16 __ovld __cnfn convert_double16_rtn(half16);
6540 double16 __ovld __cnfn convert_double16_rtz(half16);
6541
6542 // Convert double types to half types.
6543 half __ovld __cnfn convert_half(double);
6544 half __ovld __cnfn convert_half_rte(double);
6545 half __ovld __cnfn convert_half_rtp(double);
6546 half __ovld __cnfn convert_half_rtn(double);
6547 half __ovld __cnfn convert_half_rtz(double);
6548 half2 __ovld __cnfn convert_half2(double2);
6549 half2 __ovld __cnfn convert_half2_rte(double2);
6550 half2 __ovld __cnfn convert_half2_rtp(double2);
6551 half2 __ovld __cnfn convert_half2_rtn(double2);
6552 half2 __ovld __cnfn convert_half2_rtz(double2);
6553 half3 __ovld __cnfn convert_half3(double3);
6554 half3 __ovld __cnfn convert_half3_rte(double3);
6555 half3 __ovld __cnfn convert_half3_rtp(double3);
6556 half3 __ovld __cnfn convert_half3_rtn(double3);
6557 half3 __ovld __cnfn convert_half3_rtz(double3);
6558 half4 __ovld __cnfn convert_half4(double4);
6559 half4 __ovld __cnfn convert_half4_rte(double4);
6560 half4 __ovld __cnfn convert_half4_rtp(double4);
6561 half4 __ovld __cnfn convert_half4_rtn(double4);
6562 half4 __ovld __cnfn convert_half4_rtz(double4);
6563 half8 __ovld __cnfn convert_half8(double8);
6564 half8 __ovld __cnfn convert_half8_rte(double8);
6565 half8 __ovld __cnfn convert_half8_rtp(double8);
6566 half8 __ovld __cnfn convert_half8_rtn(double8);
6567 half8 __ovld __cnfn convert_half8_rtz(double8);
6568 half16 __ovld __cnfn convert_half16(double16);
6569 half16 __ovld __cnfn convert_half16_rte(double16);
6570 half16 __ovld __cnfn convert_half16_rtp(double16);
6571 half16 __ovld __cnfn convert_half16_rtn(double16);
6572 half16 __ovld __cnfn convert_half16_rtz(double16);
6573 #endif //cl_khr_fp64
6574
6575 #endif // cl_khr_fp16
6576
6577 /**
6578  * OpenCL v1.1/1.2/2.0 s6.2.4.2 - as_type operators
6579  * Reinterprets a data type as another data type of the same size
6580  */
6581 char __ovld __cnfn as_char(char);
6582 char __ovld __cnfn as_char(uchar);
6583
6584 char2 __ovld __cnfn as_char2(char2);
6585 char2 __ovld __cnfn as_char2(uchar2);
6586 char2 __ovld __cnfn as_char2(short);
6587 char2 __ovld __cnfn as_char2(ushort);
6588
6589 char3 __ovld __cnfn as_char3(char3);
6590 char3 __ovld __cnfn as_char3(char4);
6591 char3 __ovld __cnfn as_char3(uchar3);
6592 char3 __ovld __cnfn as_char3(uchar4);
6593 char3 __ovld __cnfn as_char3(short2);
6594 char3 __ovld __cnfn as_char3(ushort2);
6595 char3 __ovld __cnfn as_char3(int);
6596 char3 __ovld __cnfn as_char3(uint);
6597 char3 __ovld __cnfn as_char3(float);
6598
6599 char4 __ovld __cnfn as_char4(char3);
6600 char4 __ovld __cnfn as_char4(char4);
6601 char4 __ovld __cnfn as_char4(uchar3);
6602 char4 __ovld __cnfn as_char4(uchar4);
6603 char4 __ovld __cnfn as_char4(short2);
6604 char4 __ovld __cnfn as_char4(ushort2);
6605 char4 __ovld __cnfn as_char4(int);
6606 char4 __ovld __cnfn as_char4(uint);
6607 char4 __ovld __cnfn as_char4(float);
6608
6609 char8 __ovld __cnfn as_char8(char8);
6610 char8 __ovld __cnfn as_char8(uchar8);
6611 char8 __ovld __cnfn as_char8(short3);
6612 char8 __ovld __cnfn as_char8(short4);
6613 char8 __ovld __cnfn as_char8(ushort3);
6614 char8 __ovld __cnfn as_char8(ushort4);
6615 char8 __ovld __cnfn as_char8(int2);
6616 char8 __ovld __cnfn as_char8(uint2);
6617 char8 __ovld __cnfn as_char8(long);
6618 char8 __ovld __cnfn as_char8(ulong);
6619 char8 __ovld __cnfn as_char8(float2);
6620
6621 char16 __ovld __cnfn as_char16(char16);
6622 char16 __ovld __cnfn as_char16(uchar16);
6623 char16 __ovld __cnfn as_char16(short8);
6624 char16 __ovld __cnfn as_char16(ushort8);
6625 char16 __ovld __cnfn as_char16(int3);
6626 char16 __ovld __cnfn as_char16(int4);
6627 char16 __ovld __cnfn as_char16(uint3);
6628 char16 __ovld __cnfn as_char16(uint4);
6629 char16 __ovld __cnfn as_char16(long2);
6630 char16 __ovld __cnfn as_char16(ulong2);
6631 char16 __ovld __cnfn as_char16(float3);
6632 char16 __ovld __cnfn as_char16(float4);
6633
6634 uchar __ovld __cnfn as_uchar(char);
6635 uchar __ovld __cnfn as_uchar(uchar);
6636
6637 uchar2 __ovld __cnfn as_uchar2(char2);
6638 uchar2 __ovld __cnfn as_uchar2(uchar2);
6639 uchar2 __ovld __cnfn as_uchar2(short);
6640 uchar2 __ovld __cnfn as_uchar2(ushort);
6641
6642 uchar3 __ovld __cnfn as_uchar3(char3);
6643 uchar3 __ovld __cnfn as_uchar3(char4);
6644 uchar3 __ovld __cnfn as_uchar3(uchar3);
6645 uchar3 __ovld __cnfn as_uchar3(uchar4);
6646 uchar3 __ovld __cnfn as_uchar3(short2);
6647 uchar3 __ovld __cnfn as_uchar3(ushort2);
6648 uchar3 __ovld __cnfn as_uchar3(int);
6649 uchar3 __ovld __cnfn as_uchar3(uint);
6650 uchar3 __ovld __cnfn as_uchar3(float);
6651
6652 uchar4 __ovld __cnfn as_uchar4(char3);
6653 uchar4 __ovld __cnfn as_uchar4(char4);
6654 uchar4 __ovld __cnfn as_uchar4(uchar3);
6655 uchar4 __ovld __cnfn as_uchar4(uchar4);
6656 uchar4 __ovld __cnfn as_uchar4(short2);
6657 uchar4 __ovld __cnfn as_uchar4(ushort2);
6658 uchar4 __ovld __cnfn as_uchar4(int);
6659 uchar4 __ovld __cnfn as_uchar4(uint);
6660 uchar4 __ovld __cnfn as_uchar4(float);
6661
6662 uchar8 __ovld __cnfn as_uchar8(char8);
6663 uchar8 __ovld __cnfn as_uchar8(uchar8);
6664 uchar8 __ovld __cnfn as_uchar8(short3);
6665 uchar8 __ovld __cnfn as_uchar8(short4);
6666 uchar8 __ovld __cnfn as_uchar8(ushort3);
6667 uchar8 __ovld __cnfn as_uchar8(ushort4);
6668 uchar8 __ovld __cnfn as_uchar8(int2);
6669 uchar8 __ovld __cnfn as_uchar8(uint2);
6670 uchar8 __ovld __cnfn as_uchar8(long);
6671 uchar8 __ovld __cnfn as_uchar8(ulong);
6672 uchar8 __ovld __cnfn as_uchar8(float2);
6673
6674 uchar16 __ovld __cnfn as_uchar16(char16);
6675 uchar16 __ovld __cnfn as_uchar16(uchar16);
6676 uchar16 __ovld __cnfn as_uchar16(short8);
6677 uchar16 __ovld __cnfn as_uchar16(ushort8);
6678 uchar16 __ovld __cnfn as_uchar16(int3);
6679 uchar16 __ovld __cnfn as_uchar16(int4);
6680 uchar16 __ovld __cnfn as_uchar16(uint3);
6681 uchar16 __ovld __cnfn as_uchar16(uint4);
6682 uchar16 __ovld __cnfn as_uchar16(long2);
6683 uchar16 __ovld __cnfn as_uchar16(ulong2);
6684 uchar16 __ovld __cnfn as_uchar16(float3);
6685 uchar16 __ovld __cnfn as_uchar16(float4);
6686
6687 short __ovld __cnfn as_short(char2);
6688 short __ovld __cnfn as_short(uchar2);
6689 short __ovld __cnfn as_short(short);
6690 short __ovld __cnfn as_short(ushort);
6691
6692 short2 __ovld __cnfn as_short2(char3);
6693 short2 __ovld __cnfn as_short2(char4);
6694 short2 __ovld __cnfn as_short2(uchar3);
6695 short2 __ovld __cnfn as_short2(uchar4);
6696 short2 __ovld __cnfn as_short2(short2);
6697 short2 __ovld __cnfn as_short2(ushort2);
6698 short2 __ovld __cnfn as_short2(int);
6699 short2 __ovld __cnfn as_short2(uint);
6700 short2 __ovld __cnfn as_short2(float);
6701
6702 short3 __ovld __cnfn as_short3(char8);
6703 short3 __ovld __cnfn as_short3(uchar8);
6704 short3 __ovld __cnfn as_short3(short3);
6705 short3 __ovld __cnfn as_short3(short4);
6706 short3 __ovld __cnfn as_short3(ushort3);
6707 short3 __ovld __cnfn as_short3(ushort4);
6708 short3 __ovld __cnfn as_short3(int2);
6709 short3 __ovld __cnfn as_short3(uint2);
6710 short3 __ovld __cnfn as_short3(long);
6711 short3 __ovld __cnfn as_short3(ulong);
6712 short3 __ovld __cnfn as_short3(float2);
6713
6714 short4 __ovld __cnfn as_short4(char8);
6715 short4 __ovld __cnfn as_short4(uchar8);
6716 short4 __ovld __cnfn as_short4(short3);
6717 short4 __ovld __cnfn as_short4(short4);
6718 short4 __ovld __cnfn as_short4(ushort3);
6719 short4 __ovld __cnfn as_short4(ushort4);
6720 short4 __ovld __cnfn as_short4(int2);
6721 short4 __ovld __cnfn as_short4(uint2);
6722 short4 __ovld __cnfn as_short4(long);
6723 short4 __ovld __cnfn as_short4(ulong);
6724 short4 __ovld __cnfn as_short4(float2);
6725
6726 short8 __ovld __cnfn as_short8(char16);
6727 short8 __ovld __cnfn as_short8(uchar16);
6728 short8 __ovld __cnfn as_short8(short8);
6729 short8 __ovld __cnfn as_short8(ushort8);
6730 short8 __ovld __cnfn as_short8(int3);
6731 short8 __ovld __cnfn as_short8(int4);
6732 short8 __ovld __cnfn as_short8(uint3);
6733 short8 __ovld __cnfn as_short8(uint4);
6734 short8 __ovld __cnfn as_short8(long2);
6735 short8 __ovld __cnfn as_short8(ulong2);
6736 short8 __ovld __cnfn as_short8(float3);
6737 short8 __ovld __cnfn as_short8(float4);
6738
6739 short16 __ovld __cnfn as_short16(short16);
6740 short16 __ovld __cnfn as_short16(ushort16);
6741 short16 __ovld __cnfn as_short16(int8);
6742 short16 __ovld __cnfn as_short16(uint8);
6743 short16 __ovld __cnfn as_short16(long3);
6744 short16 __ovld __cnfn as_short16(long4);
6745 short16 __ovld __cnfn as_short16(ulong3);
6746 short16 __ovld __cnfn as_short16(ulong4);
6747 short16 __ovld __cnfn as_short16(float8);
6748
6749 ushort __ovld __cnfn as_ushort(char2);
6750 ushort __ovld __cnfn as_ushort(uchar2);
6751 ushort __ovld __cnfn as_ushort(short);
6752 ushort __ovld __cnfn as_ushort(ushort);
6753
6754 ushort2 __ovld __cnfn as_ushort2(char3);
6755 ushort2 __ovld __cnfn as_ushort2(char4);
6756 ushort2 __ovld __cnfn as_ushort2(uchar3);
6757 ushort2 __ovld __cnfn as_ushort2(uchar4);
6758 ushort2 __ovld __cnfn as_ushort2(short2);
6759 ushort2 __ovld __cnfn as_ushort2(ushort2);
6760 ushort2 __ovld __cnfn as_ushort2(int);
6761 ushort2 __ovld __cnfn as_ushort2(uint);
6762 ushort2 __ovld __cnfn as_ushort2(float);
6763
6764 ushort3 __ovld __cnfn as_ushort3(char8);
6765 ushort3 __ovld __cnfn as_ushort3(uchar8);
6766 ushort3 __ovld __cnfn as_ushort3(short3);
6767 ushort3 __ovld __cnfn as_ushort3(short4);
6768 ushort3 __ovld __cnfn as_ushort3(ushort3);
6769 ushort3 __ovld __cnfn as_ushort3(ushort4);
6770 ushort3 __ovld __cnfn as_ushort3(int2);
6771 ushort3 __ovld __cnfn as_ushort3(uint2);
6772 ushort3 __ovld __cnfn as_ushort3(long);
6773 ushort3 __ovld __cnfn as_ushort3(ulong);
6774 ushort3 __ovld __cnfn as_ushort3(float2);
6775
6776 ushort4 __ovld __cnfn as_ushort4(char8);
6777 ushort4 __ovld __cnfn as_ushort4(uchar8);
6778 ushort4 __ovld __cnfn as_ushort4(short3);
6779 ushort4 __ovld __cnfn as_ushort4(short4);
6780 ushort4 __ovld __cnfn as_ushort4(ushort3);
6781 ushort4 __ovld __cnfn as_ushort4(ushort4);
6782 ushort4 __ovld __cnfn as_ushort4(int2);
6783 ushort4 __ovld __cnfn as_ushort4(uint2);
6784 ushort4 __ovld __cnfn as_ushort4(long);
6785 ushort4 __ovld __cnfn as_ushort4(ulong);
6786 ushort4 __ovld __cnfn as_ushort4(float2);
6787
6788 ushort8 __ovld __cnfn as_ushort8(char16);
6789 ushort8 __ovld __cnfn as_ushort8(uchar16);
6790 ushort8 __ovld __cnfn as_ushort8(short8);
6791 ushort8 __ovld __cnfn as_ushort8(ushort8);
6792 ushort8 __ovld __cnfn as_ushort8(int3);
6793 ushort8 __ovld __cnfn as_ushort8(int4);
6794 ushort8 __ovld __cnfn as_ushort8(uint3);
6795 ushort8 __ovld __cnfn as_ushort8(uint4);
6796 ushort8 __ovld __cnfn as_ushort8(long2);
6797 ushort8 __ovld __cnfn as_ushort8(ulong2);
6798 ushort8 __ovld __cnfn as_ushort8(float3);
6799 ushort8 __ovld __cnfn as_ushort8(float4);
6800
6801 ushort16 __ovld __cnfn as_ushort16(short16);
6802 ushort16 __ovld __cnfn as_ushort16(ushort16);
6803 ushort16 __ovld __cnfn as_ushort16(int8);
6804 ushort16 __ovld __cnfn as_ushort16(uint8);
6805 ushort16 __ovld __cnfn as_ushort16(long3);
6806 ushort16 __ovld __cnfn as_ushort16(long4);
6807 ushort16 __ovld __cnfn as_ushort16(ulong3);
6808 ushort16 __ovld __cnfn as_ushort16(ulong4);
6809 ushort16 __ovld __cnfn as_ushort16(float8);
6810
6811 int __ovld __cnfn as_int(char3);
6812 int __ovld __cnfn as_int(char4);
6813 int __ovld __cnfn as_int(uchar3);
6814 int __ovld __cnfn as_int(uchar4);
6815 int __ovld __cnfn as_int(short2);
6816 int __ovld __cnfn as_int(ushort2);
6817 int __ovld __cnfn as_int(int);
6818 int __ovld __cnfn as_int(uint);
6819 int __ovld __cnfn as_int(float);
6820
6821 int2 __ovld __cnfn as_int2(char8);
6822 int2 __ovld __cnfn as_int2(uchar8);
6823 int2 __ovld __cnfn as_int2(short3);
6824 int2 __ovld __cnfn as_int2(short4);
6825 int2 __ovld __cnfn as_int2(ushort3);
6826 int2 __ovld __cnfn as_int2(ushort4);
6827 int2 __ovld __cnfn as_int2(int2);
6828 int2 __ovld __cnfn as_int2(uint2);
6829 int2 __ovld __cnfn as_int2(long);
6830 int2 __ovld __cnfn as_int2(ulong);
6831 int2 __ovld __cnfn as_int2(float2);
6832
6833 int3 __ovld __cnfn as_int3(char16);
6834 int3 __ovld __cnfn as_int3(uchar16);
6835 int3 __ovld __cnfn as_int3(short8);
6836 int3 __ovld __cnfn as_int3(ushort8);
6837 int3 __ovld __cnfn as_int3(int3);
6838 int3 __ovld __cnfn as_int3(int4);
6839 int3 __ovld __cnfn as_int3(uint3);
6840 int3 __ovld __cnfn as_int3(uint4);
6841 int3 __ovld __cnfn as_int3(long2);
6842 int3 __ovld __cnfn as_int3(ulong2);
6843 int3 __ovld __cnfn as_int3(float3);
6844 int3 __ovld __cnfn as_int3(float4);
6845
6846 int4 __ovld __cnfn as_int4(char16);
6847 int4 __ovld __cnfn as_int4(uchar16);
6848 int4 __ovld __cnfn as_int4(short8);
6849 int4 __ovld __cnfn as_int4(ushort8);
6850 int4 __ovld __cnfn as_int4(int3);
6851 int4 __ovld __cnfn as_int4(int4);
6852 int4 __ovld __cnfn as_int4(uint3);
6853 int4 __ovld __cnfn as_int4(uint4);
6854 int4 __ovld __cnfn as_int4(long2);
6855 int4 __ovld __cnfn as_int4(ulong2);
6856 int4 __ovld __cnfn as_int4(float3);
6857 int4 __ovld __cnfn as_int4(float4);
6858
6859 int8 __ovld __cnfn as_int8(short16);
6860 int8 __ovld __cnfn as_int8(ushort16);
6861 int8 __ovld __cnfn as_int8(int8);
6862 int8 __ovld __cnfn as_int8(uint8);
6863 int8 __ovld __cnfn as_int8(long3);
6864 int8 __ovld __cnfn as_int8(long4);
6865 int8 __ovld __cnfn as_int8(ulong3);
6866 int8 __ovld __cnfn as_int8(ulong4);
6867 int8 __ovld __cnfn as_int8(float8);
6868
6869 int16 __ovld __cnfn as_int16(int16);
6870 int16 __ovld __cnfn as_int16(uint16);
6871 int16 __ovld __cnfn as_int16(long8);
6872 int16 __ovld __cnfn as_int16(ulong8);
6873 int16 __ovld __cnfn as_int16(float16);
6874
6875 uint __ovld __cnfn as_uint(char3);
6876 uint __ovld __cnfn as_uint(char4);
6877 uint __ovld __cnfn as_uint(uchar3);
6878 uint __ovld __cnfn as_uint(uchar4);
6879 uint __ovld __cnfn as_uint(short2);
6880 uint __ovld __cnfn as_uint(ushort2);
6881 uint __ovld __cnfn as_uint(int);
6882 uint __ovld __cnfn as_uint(uint);
6883 uint __ovld __cnfn as_uint(float);
6884
6885 uint2 __ovld __cnfn as_uint2(char8);
6886 uint2 __ovld __cnfn as_uint2(uchar8);
6887 uint2 __ovld __cnfn as_uint2(short3);
6888 uint2 __ovld __cnfn as_uint2(short4);
6889 uint2 __ovld __cnfn as_uint2(ushort3);
6890 uint2 __ovld __cnfn as_uint2(ushort4);
6891 uint2 __ovld __cnfn as_uint2(int2);
6892 uint2 __ovld __cnfn as_uint2(uint2);
6893 uint2 __ovld __cnfn as_uint2(long);
6894 uint2 __ovld __cnfn as_uint2(ulong);
6895 uint2 __ovld __cnfn as_uint2(float2);
6896
6897 uint3 __ovld __cnfn as_uint3(char16);
6898 uint3 __ovld __cnfn as_uint3(uchar16);
6899 uint3 __ovld __cnfn as_uint3(short8);
6900 uint3 __ovld __cnfn as_uint3(ushort8);
6901 uint3 __ovld __cnfn as_uint3(int3);
6902 uint3 __ovld __cnfn as_uint3(int4);
6903 uint3 __ovld __cnfn as_uint3(uint3);
6904 uint3 __ovld __cnfn as_uint3(uint4);
6905 uint3 __ovld __cnfn as_uint3(long2);
6906 uint3 __ovld __cnfn as_uint3(ulong2);
6907 uint3 __ovld __cnfn as_uint3(float3);
6908 uint3 __ovld __cnfn as_uint3(float4);
6909
6910 uint4 __ovld __cnfn as_uint4(char16);
6911 uint4 __ovld __cnfn as_uint4(uchar16);
6912 uint4 __ovld __cnfn as_uint4(short8);
6913 uint4 __ovld __cnfn as_uint4(ushort8);
6914 uint4 __ovld __cnfn as_uint4(int3);
6915 uint4 __ovld __cnfn as_uint4(int4);
6916 uint4 __ovld __cnfn as_uint4(uint3);
6917 uint4 __ovld __cnfn as_uint4(uint4);
6918 uint4 __ovld __cnfn as_uint4(long2);
6919 uint4 __ovld __cnfn as_uint4(ulong2);
6920 uint4 __ovld __cnfn as_uint4(float3);
6921 uint4 __ovld __cnfn as_uint4(float4);
6922
6923 uint8 __ovld __cnfn as_uint8(short16);
6924 uint8 __ovld __cnfn as_uint8(ushort16);
6925 uint8 __ovld __cnfn as_uint8(int8);
6926 uint8 __ovld __cnfn as_uint8(uint8);
6927 uint8 __ovld __cnfn as_uint8(long3);
6928 uint8 __ovld __cnfn as_uint8(long4);
6929 uint8 __ovld __cnfn as_uint8(ulong3);
6930 uint8 __ovld __cnfn as_uint8(ulong4);
6931 uint8 __ovld __cnfn as_uint8(float8);
6932
6933 uint16 __ovld __cnfn as_uint16(int16);
6934 uint16 __ovld __cnfn as_uint16(uint16);
6935 uint16 __ovld __cnfn as_uint16(long8);
6936 uint16 __ovld __cnfn as_uint16(ulong8);
6937 uint16 __ovld __cnfn as_uint16(float16);
6938
6939 long __ovld __cnfn as_long(char8);
6940 long __ovld __cnfn as_long(uchar8);
6941 long __ovld __cnfn as_long(short3);
6942 long __ovld __cnfn as_long(short4);
6943 long __ovld __cnfn as_long(ushort3);
6944 long __ovld __cnfn as_long(ushort4);
6945 long __ovld __cnfn as_long(int2);
6946 long __ovld __cnfn as_long(uint2);
6947 long __ovld __cnfn as_long(long);
6948 long __ovld __cnfn as_long(ulong);
6949 long __ovld __cnfn as_long(float2);
6950
6951 long2 __ovld __cnfn as_long2(char16);
6952 long2 __ovld __cnfn as_long2(uchar16);
6953 long2 __ovld __cnfn as_long2(short8);
6954 long2 __ovld __cnfn as_long2(ushort8);
6955 long2 __ovld __cnfn as_long2(int3);
6956 long2 __ovld __cnfn as_long2(int4);
6957 long2 __ovld __cnfn as_long2(uint3);
6958 long2 __ovld __cnfn as_long2(uint4);
6959 long2 __ovld __cnfn as_long2(long2);
6960 long2 __ovld __cnfn as_long2(ulong2);
6961 long2 __ovld __cnfn as_long2(float3);
6962 long2 __ovld __cnfn as_long2(float4);
6963
6964 long3 __ovld __cnfn as_long3(short16);
6965 long3 __ovld __cnfn as_long3(ushort16);
6966 long3 __ovld __cnfn as_long3(int8);
6967 long3 __ovld __cnfn as_long3(uint8);
6968 long3 __ovld __cnfn as_long3(long3);
6969 long3 __ovld __cnfn as_long3(long4);
6970 long3 __ovld __cnfn as_long3(ulong3);
6971 long3 __ovld __cnfn as_long3(ulong4);
6972 long3 __ovld __cnfn as_long3(float8);
6973
6974 long4 __ovld __cnfn as_long4(short16);
6975 long4 __ovld __cnfn as_long4(ushort16);
6976 long4 __ovld __cnfn as_long4(int8);
6977 long4 __ovld __cnfn as_long4(uint8);
6978 long4 __ovld __cnfn as_long4(long3);
6979 long4 __ovld __cnfn as_long4(long4);
6980 long4 __ovld __cnfn as_long4(ulong3);
6981 long4 __ovld __cnfn as_long4(ulong4);
6982 long4 __ovld __cnfn as_long4(float8);
6983
6984 long8 __ovld __cnfn as_long8(int16);
6985 long8 __ovld __cnfn as_long8(uint16);
6986 long8 __ovld __cnfn as_long8(long8);
6987 long8 __ovld __cnfn as_long8(ulong8);
6988 long8 __ovld __cnfn as_long8(float16);
6989
6990 long16 __ovld __cnfn as_long16(long16);
6991 long16 __ovld __cnfn as_long16(ulong16);
6992
6993 ulong __ovld __cnfn as_ulong(char8);
6994 ulong __ovld __cnfn as_ulong(uchar8);
6995 ulong __ovld __cnfn as_ulong(short3);
6996 ulong __ovld __cnfn as_ulong(short4);
6997 ulong __ovld __cnfn as_ulong(ushort3);
6998 ulong __ovld __cnfn as_ulong(ushort4);
6999 ulong __ovld __cnfn as_ulong(int2);
7000 ulong __ovld __cnfn as_ulong(uint2);
7001 ulong __ovld __cnfn as_ulong(long);
7002 ulong __ovld __cnfn as_ulong(ulong);
7003 ulong __ovld __cnfn as_ulong(float2);
7004
7005 ulong2 __ovld __cnfn as_ulong2(char16);
7006 ulong2 __ovld __cnfn as_ulong2(uchar16);
7007 ulong2 __ovld __cnfn as_ulong2(short8);
7008 ulong2 __ovld __cnfn as_ulong2(ushort8);
7009 ulong2 __ovld __cnfn as_ulong2(int3);
7010 ulong2 __ovld __cnfn as_ulong2(int4);
7011 ulong2 __ovld __cnfn as_ulong2(uint3);
7012 ulong2 __ovld __cnfn as_ulong2(uint4);
7013 ulong2 __ovld __cnfn as_ulong2(long2);
7014 ulong2 __ovld __cnfn as_ulong2(ulong2);
7015 ulong2 __ovld __cnfn as_ulong2(float3);
7016 ulong2 __ovld __cnfn as_ulong2(float4);
7017
7018 ulong3 __ovld __cnfn as_ulong3(short16);
7019 ulong3 __ovld __cnfn as_ulong3(ushort16);
7020 ulong3 __ovld __cnfn as_ulong3(int8);
7021 ulong3 __ovld __cnfn as_ulong3(uint8);
7022 ulong3 __ovld __cnfn as_ulong3(long3);
7023 ulong3 __ovld __cnfn as_ulong3(long4);
7024 ulong3 __ovld __cnfn as_ulong3(ulong3);
7025 ulong3 __ovld __cnfn as_ulong3(ulong4);
7026 ulong3 __ovld __cnfn as_ulong3(float8);
7027
7028 ulong4 __ovld __cnfn as_ulong4(short16);
7029 ulong4 __ovld __cnfn as_ulong4(ushort16);
7030 ulong4 __ovld __cnfn as_ulong4(int8);
7031 ulong4 __ovld __cnfn as_ulong4(uint8);
7032 ulong4 __ovld __cnfn as_ulong4(long3);
7033 ulong4 __ovld __cnfn as_ulong4(long4);
7034 ulong4 __ovld __cnfn as_ulong4(ulong3);
7035 ulong4 __ovld __cnfn as_ulong4(ulong4);
7036 ulong4 __ovld __cnfn as_ulong4(float8);
7037
7038 ulong8 __ovld __cnfn as_ulong8(int16);
7039 ulong8 __ovld __cnfn as_ulong8(uint16);
7040 ulong8 __ovld __cnfn as_ulong8(long8);
7041 ulong8 __ovld __cnfn as_ulong8(ulong8);
7042 ulong8 __ovld __cnfn as_ulong8(float16);
7043
7044 ulong16 __ovld __cnfn as_ulong16(long16);
7045 ulong16 __ovld __cnfn as_ulong16(ulong16);
7046
7047 float __ovld __cnfn as_float(char3);
7048 float __ovld __cnfn as_float(char4);
7049 float __ovld __cnfn as_float(uchar3);
7050 float __ovld __cnfn as_float(uchar4);
7051 float __ovld __cnfn as_float(short2);
7052 float __ovld __cnfn as_float(ushort2);
7053 float __ovld __cnfn as_float(int);
7054 float __ovld __cnfn as_float(uint);
7055 float __ovld __cnfn as_float(float);
7056
7057 float2 __ovld __cnfn as_float2(char8);
7058 float2 __ovld __cnfn as_float2(uchar8);
7059 float2 __ovld __cnfn as_float2(short3);
7060 float2 __ovld __cnfn as_float2(short4);
7061 float2 __ovld __cnfn as_float2(ushort3);
7062 float2 __ovld __cnfn as_float2(ushort4);
7063 float2 __ovld __cnfn as_float2(int2);
7064 float2 __ovld __cnfn as_float2(uint2);
7065 float2 __ovld __cnfn as_float2(long);
7066 float2 __ovld __cnfn as_float2(ulong);
7067 float2 __ovld __cnfn as_float2(float2);
7068
7069 float3 __ovld __cnfn as_float3(char16);
7070 float3 __ovld __cnfn as_float3(uchar16);
7071 float3 __ovld __cnfn as_float3(short8);
7072 float3 __ovld __cnfn as_float3(ushort8);
7073 float3 __ovld __cnfn as_float3(int3);
7074 float3 __ovld __cnfn as_float3(int4);
7075 float3 __ovld __cnfn as_float3(uint3);
7076 float3 __ovld __cnfn as_float3(uint4);
7077 float3 __ovld __cnfn as_float3(long2);
7078 float3 __ovld __cnfn as_float3(ulong2);
7079 float3 __ovld __cnfn as_float3(float3);
7080 float3 __ovld __cnfn as_float3(float4);
7081
7082 float4 __ovld __cnfn as_float4(char16);
7083 float4 __ovld __cnfn as_float4(uchar16);
7084 float4 __ovld __cnfn as_float4(short8);
7085 float4 __ovld __cnfn as_float4(ushort8);
7086 float4 __ovld __cnfn as_float4(int3);
7087 float4 __ovld __cnfn as_float4(int4);
7088 float4 __ovld __cnfn as_float4(uint3);
7089 float4 __ovld __cnfn as_float4(uint4);
7090 float4 __ovld __cnfn as_float4(long2);
7091 float4 __ovld __cnfn as_float4(ulong2);
7092 float4 __ovld __cnfn as_float4(float3);
7093 float4 __ovld __cnfn as_float4(float4);
7094
7095 float8 __ovld __cnfn as_float8(short16);
7096 float8 __ovld __cnfn as_float8(ushort16);
7097 float8 __ovld __cnfn as_float8(int8);
7098 float8 __ovld __cnfn as_float8(uint8);
7099 float8 __ovld __cnfn as_float8(long3);
7100 float8 __ovld __cnfn as_float8(long4);
7101 float8 __ovld __cnfn as_float8(ulong3);
7102 float8 __ovld __cnfn as_float8(ulong4);
7103 float8 __ovld __cnfn as_float8(float8);
7104
7105 float16 __ovld __cnfn as_float16(int16);
7106 float16 __ovld __cnfn as_float16(uint16);
7107 float16 __ovld __cnfn as_float16(long8);
7108 float16 __ovld __cnfn as_float16(ulong8);
7109 float16 __ovld __cnfn as_float16(float16);
7110
7111 #ifdef cl_khr_fp64
7112 char8 __ovld __cnfn as_char8(double);
7113 char16 __ovld __cnfn as_char16(double2);
7114 uchar8 __ovld __cnfn as_uchar8(double);
7115 uchar16 __ovld __cnfn as_uchar16(double2);
7116 short3 __ovld __cnfn as_short3(double);
7117 short4 __ovld __cnfn as_short4(double);
7118 short8 __ovld __cnfn as_short8(double2);
7119 short16 __ovld __cnfn as_short16(double3);
7120 short16 __ovld __cnfn as_short16(double4);
7121 ushort3 __ovld __cnfn as_ushort3(double);
7122 ushort4 __ovld __cnfn as_ushort4(double);
7123 ushort8 __ovld __cnfn as_ushort8(double2);
7124 ushort16 __ovld __cnfn as_ushort16(double3);
7125 ushort16 __ovld __cnfn as_ushort16(double4);
7126 int2 __ovld __cnfn as_int2(double);
7127 int3 __ovld __cnfn as_int3(double2);
7128 int4 __ovld __cnfn as_int4(double2);
7129 int8 __ovld __cnfn as_int8(double3);
7130 int8 __ovld __cnfn as_int8(double4);
7131 int16 __ovld __cnfn as_int16(double8);
7132 uint2 __ovld __cnfn as_uint2(double);
7133 uint3 __ovld __cnfn as_uint3(double2);
7134 uint4 __ovld __cnfn as_uint4(double2);
7135 uint8 __ovld __cnfn as_uint8(double3);
7136 uint8 __ovld __cnfn as_uint8(double4);
7137 uint16 __ovld __cnfn as_uint16(double8);
7138 long __ovld __cnfn as_long(double);
7139 long2 __ovld __cnfn as_long2(double2);
7140 long3 __ovld __cnfn as_long3(double3);
7141 long3 __ovld __cnfn as_long3(double4);
7142 long4 __ovld __cnfn as_long4(double3);
7143 long4 __ovld __cnfn as_long4(double4);
7144 long8 __ovld __cnfn as_long8(double8);
7145 long16 __ovld __cnfn as_long16(double16);
7146 ulong __ovld __cnfn as_ulong(double);
7147 ulong2 __ovld __cnfn as_ulong2(double2);
7148 ulong3 __ovld __cnfn as_ulong3(double3);
7149 ulong3 __ovld __cnfn as_ulong3(double4);
7150 ulong4 __ovld __cnfn as_ulong4(double3);
7151 ulong4 __ovld __cnfn as_ulong4(double4);
7152 ulong8 __ovld __cnfn as_ulong8(double8);
7153 ulong16 __ovld __cnfn as_ulong16(double16);
7154 float2 __ovld __cnfn as_float2(double);
7155 float3 __ovld __cnfn as_float3(double2);
7156 float4 __ovld __cnfn as_float4(double2);
7157 float8 __ovld __cnfn as_float8(double3);
7158 float8 __ovld __cnfn as_float8(double4);
7159 float16 __ovld __cnfn as_float16(double8);
7160 double __ovld __cnfn as_double(char8);
7161 double __ovld __cnfn as_double(uchar8);
7162 double __ovld __cnfn as_double(short3);
7163 double __ovld __cnfn as_double(short4);
7164 double __ovld __cnfn as_double(ushort3);
7165 double __ovld __cnfn as_double(ushort4);
7166 double __ovld __cnfn as_double(int2);
7167 double __ovld __cnfn as_double(uint2);
7168 double __ovld __cnfn as_double(long);
7169 double __ovld __cnfn as_double(ulong);
7170 double __ovld __cnfn as_double(float2);
7171 double __ovld __cnfn as_double(double);
7172 double2 __ovld __cnfn as_double2(char16);
7173 double2 __ovld __cnfn as_double2(uchar16);
7174 double2 __ovld __cnfn as_double2(short8);
7175 double2 __ovld __cnfn as_double2(ushort8);
7176 double2 __ovld __cnfn as_double2(int3);
7177 double2 __ovld __cnfn as_double2(int4);
7178 double2 __ovld __cnfn as_double2(uint3);
7179 double2 __ovld __cnfn as_double2(uint4);
7180 double2 __ovld __cnfn as_double2(long2);
7181 double2 __ovld __cnfn as_double2(ulong2);
7182 double2 __ovld __cnfn as_double2(float3);
7183 double2 __ovld __cnfn as_double2(float4);
7184 double2 __ovld __cnfn as_double2(double2);
7185 double3 __ovld __cnfn as_double3(short16);
7186 double3 __ovld __cnfn as_double3(ushort16);
7187 double3 __ovld __cnfn as_double3(int8);
7188 double3 __ovld __cnfn as_double3(uint8);
7189 double3 __ovld __cnfn as_double3(long3);
7190 double3 __ovld __cnfn as_double3(long4);
7191 double3 __ovld __cnfn as_double3(ulong3);
7192 double3 __ovld __cnfn as_double3(ulong4);
7193 double3 __ovld __cnfn as_double3(float8);
7194 double3 __ovld __cnfn as_double3(double3);
7195 double3 __ovld __cnfn as_double3(double4);
7196 double4 __ovld __cnfn as_double4(short16);
7197 double4 __ovld __cnfn as_double4(ushort16);
7198 double4 __ovld __cnfn as_double4(int8);
7199 double4 __ovld __cnfn as_double4(uint8);
7200 double4 __ovld __cnfn as_double4(long3);
7201 double4 __ovld __cnfn as_double4(long4);
7202 double4 __ovld __cnfn as_double4(ulong3);
7203 double4 __ovld __cnfn as_double4(ulong4);
7204 double4 __ovld __cnfn as_double4(float8);
7205 double4 __ovld __cnfn as_double4(double3);
7206 double4 __ovld __cnfn as_double4(double4);
7207 double8 __ovld __cnfn as_double8(int16);
7208 double8 __ovld __cnfn as_double8(uint16);
7209 double8 __ovld __cnfn as_double8(long8);
7210 double8 __ovld __cnfn as_double8(ulong8);
7211 double8 __ovld __cnfn as_double8(float16);
7212 double8 __ovld __cnfn as_double8(double8);
7213 double16 __ovld __cnfn as_double16(long16);
7214 double16 __ovld __cnfn as_double16(ulong16);
7215 double16 __ovld __cnfn as_double16(double16);
7216 #endif //cl_khr_fp64
7217
7218 #ifdef cl_khr_fp16
7219 char2 __ovld __cnfn as_char2(half);
7220 char3 __ovld __cnfn as_char3(half2);
7221 char4 __ovld __cnfn as_char4(half2);
7222 char8 __ovld __cnfn as_char8(half3);
7223 char8 __ovld __cnfn as_char8(half4);
7224 char16 __ovld __cnfn as_char16(half8);
7225 uchar2 __ovld __cnfn as_uchar2(half);
7226 uchar3 __ovld __cnfn as_uchar3(half2);
7227 uchar4 __ovld __cnfn as_uchar4(half2);
7228 uchar8 __ovld __cnfn as_uchar8(half3);
7229 uchar8 __ovld __cnfn as_uchar8(half4);
7230 uchar16 __ovld __cnfn as_uchar16(half8);
7231 short __ovld __cnfn as_short(half);
7232 short2 __ovld __cnfn as_short2(half2);
7233 short3 __ovld __cnfn as_short3(half3);
7234 short3 __ovld __cnfn as_short3(half4);
7235 short4 __ovld __cnfn as_short4(half3);
7236 short4 __ovld __cnfn as_short4(half4);
7237 short8 __ovld __cnfn as_short8(half8);
7238 short16 __ovld __cnfn as_short16(half16);
7239 ushort __ovld __cnfn as_ushort(half);
7240 ushort2 __ovld __cnfn as_ushort2(half2);
7241 ushort3 __ovld __cnfn as_ushort3(half3);
7242 ushort3 __ovld __cnfn as_ushort3(half4);
7243 ushort4 __ovld __cnfn as_ushort4(half3);
7244 ushort4 __ovld __cnfn as_ushort4(half4);
7245 ushort8 __ovld __cnfn as_ushort8(half8);
7246 ushort16 __ovld __cnfn as_ushort16(half16);
7247 int __ovld __cnfn as_int(half2);
7248 int2 __ovld __cnfn as_int2(half3);
7249 int2 __ovld __cnfn as_int2(half4);
7250 int3 __ovld __cnfn as_int3(half8);
7251 int4 __ovld __cnfn as_int4(half8);
7252 int8 __ovld __cnfn as_int8(half16);
7253 uint __ovld __cnfn as_uint(half2);
7254 uint2 __ovld __cnfn as_uint2(half3);
7255 uint2 __ovld __cnfn as_uint2(half4);
7256 uint3 __ovld __cnfn as_uint3(half8);
7257 uint4 __ovld __cnfn as_uint4(half8);
7258 uint8 __ovld __cnfn as_uint8(half16);
7259 long __ovld __cnfn as_long(half3);
7260 long __ovld __cnfn as_long(half4);
7261 long2 __ovld __cnfn as_long2(half8);
7262 long3 __ovld __cnfn as_long3(half16);
7263 long4 __ovld __cnfn as_long4(half16);
7264 ulong __ovld __cnfn as_ulong(half3);
7265 ulong __ovld __cnfn as_ulong(half4);
7266 ulong2 __ovld __cnfn as_ulong2(half8);
7267 ulong3 __ovld __cnfn as_ulong3(half16);
7268 ulong4 __ovld __cnfn as_ulong4(half16);
7269 half __ovld __cnfn as_half(char2);
7270 half __ovld __cnfn as_half(uchar2);
7271 half __ovld __cnfn as_half(short);
7272 half __ovld __cnfn as_half(ushort);
7273 half __ovld __cnfn as_half(half);
7274 half2 __ovld __cnfn as_half2(char3);
7275 half2 __ovld __cnfn as_half2(char4);
7276 half2 __ovld __cnfn as_half2(uchar3);
7277 half2 __ovld __cnfn as_half2(uchar4);
7278 half2 __ovld __cnfn as_half2(short2);
7279 half2 __ovld __cnfn as_half2(ushort2);
7280 half2 __ovld __cnfn as_half2(int);
7281 half2 __ovld __cnfn as_half2(uint);
7282 half2 __ovld __cnfn as_half2(half2);
7283 half2 __ovld __cnfn as_half2(float);
7284 half3 __ovld __cnfn as_half3(char8);
7285 half3 __ovld __cnfn as_half3(uchar8);
7286 half3 __ovld __cnfn as_half3(short3);
7287 half3 __ovld __cnfn as_half3(short4);
7288 half3 __ovld __cnfn as_half3(ushort3);
7289 half3 __ovld __cnfn as_half3(ushort4);
7290 half3 __ovld __cnfn as_half3(int2);
7291 half3 __ovld __cnfn as_half3(uint2);
7292 half3 __ovld __cnfn as_half3(long);
7293 half3 __ovld __cnfn as_half3(ulong);
7294 half3 __ovld __cnfn as_half3(half3);
7295 half3 __ovld __cnfn as_half3(half4);
7296 half3 __ovld __cnfn as_half3(float2);
7297 half4 __ovld __cnfn as_half4(char8);
7298 half4 __ovld __cnfn as_half4(uchar8);
7299 half4 __ovld __cnfn as_half4(short3);
7300 half4 __ovld __cnfn as_half4(short4);
7301 half4 __ovld __cnfn as_half4(ushort3);
7302 half4 __ovld __cnfn as_half4(ushort4);
7303 half4 __ovld __cnfn as_half4(int2);
7304 half4 __ovld __cnfn as_half4(uint2);
7305 half4 __ovld __cnfn as_half4(long);
7306 half4 __ovld __cnfn as_half4(ulong);
7307 half4 __ovld __cnfn as_half4(half3);
7308 half4 __ovld __cnfn as_half4(half4);
7309 half4 __ovld __cnfn as_half4(float2);
7310 half8 __ovld __cnfn as_half8(char16);
7311 half8 __ovld __cnfn as_half8(uchar16);
7312 half8 __ovld __cnfn as_half8(short8);
7313 half8 __ovld __cnfn as_half8(ushort8);
7314 half8 __ovld __cnfn as_half8(int3);
7315 half8 __ovld __cnfn as_half8(int4);
7316 half8 __ovld __cnfn as_half8(uint3);
7317 half8 __ovld __cnfn as_half8(uint4);
7318 half8 __ovld __cnfn as_half8(long2);
7319 half8 __ovld __cnfn as_half8(ulong2);
7320 half8 __ovld __cnfn as_half8(half8);
7321 half8 __ovld __cnfn as_half8(float3);
7322 half8 __ovld __cnfn as_half8(float4);
7323 half16 __ovld __cnfn as_half16(short16);
7324 half16 __ovld __cnfn as_half16(ushort16);
7325 half16 __ovld __cnfn as_half16(int8);
7326 half16 __ovld __cnfn as_half16(uint8);
7327 half16 __ovld __cnfn as_half16(long3);
7328 half16 __ovld __cnfn as_half16(long4);
7329 half16 __ovld __cnfn as_half16(ulong3);
7330 half16 __ovld __cnfn as_half16(ulong4);
7331 half16 __ovld __cnfn as_half16(half16);
7332 half16 __ovld __cnfn as_half16(float8);
7333 float __ovld __cnfn as_float(half2);
7334 float2 __ovld __cnfn as_float2(half3);
7335 float2 __ovld __cnfn as_float2(half4);
7336 float3 __ovld __cnfn as_float3(half8);
7337 float4 __ovld __cnfn as_float4(half8);
7338 float8 __ovld __cnfn as_float8(half16);
7339
7340 #ifdef cl_khr_fp64
7341 half3 __ovld __cnfn as_half3(double);
7342 half4 __ovld __cnfn as_half4(double);
7343 half8 __ovld __cnfn as_half8(double2);
7344 half16 __ovld __cnfn as_half16(double3);
7345 half16 __ovld __cnfn as_half16(double4);
7346 double __ovld __cnfn as_double(half3);
7347 double __ovld __cnfn as_double(half4);
7348 double2 __ovld __cnfn as_double2(half8);
7349 double3 __ovld __cnfn as_double3(half16);
7350 double4 __ovld __cnfn as_double4(half16);
7351 #endif //cl_khr_fp64
7352 #endif //cl_khr_fp16
7353
7354 // OpenCL v1.1 s6.9, v1.2/2.0 s6.10 - Function qualifiers
7355
7356 #define __kernel_exec(X, typen) __kernel \
7357         __attribute__((work_group_size_hint(X, 1, 1))) \
7358         __attribute__((vec_type_hint(typen)))
7359
7360 #define kernel_exec(X, typen) __kernel \
7361         __attribute__((work_group_size_hint(X, 1, 1))) \
7362         __attribute__((vec_type_hint(typen)))
7363
7364 // OpenCL v1.1 s6.11.1, v1.2 s6.12.1, v2.0 s6.13.1 - Work-item Functions
7365
7366 /**
7367  * Returns the number of dimensions in use. This is the
7368  * value given to the work_dim argument specified in
7369  * clEnqueueNDRangeKernel.
7370  * For clEnqueueTask, this returns 1.
7371  */
7372 uint __ovld __cnfn get_work_dim(void);
7373
7374 /**
7375  * Returns the number of global work-items specified for
7376  * dimension identified by dimindx. This value is given by
7377  * the global_work_size argument to
7378  * clEnqueueNDRangeKernel. Valid values of dimindx
7379  * are 0 to get_work_dim() - 1. For other values of
7380  * dimindx, get_global_size() returns 1.
7381  * For clEnqueueTask, this always returns 1.
7382  */
7383 size_t __ovld __cnfn get_global_size(uint dimindx);
7384
7385 /**
7386  * Returns the unique global work-item ID value for
7387  * dimension identified by dimindx. The global work-item
7388  * ID specifies the work-item ID based on the number of
7389  * global work-items specified to execute the kernel. Valid
7390  * values of dimindx are 0 to get_work_dim() - 1. For
7391  * other values of dimindx, get_global_id() returns 0.
7392  * For clEnqueueTask, this returns 0.
7393  */
7394 size_t __ovld __cnfn get_global_id(uint dimindx);
7395
7396 /**
7397  * Returns the number of local work-items specified in
7398  * dimension identified by dimindx. This value is given by
7399  * the local_work_size argument to
7400  * clEnqueueNDRangeKernel if local_work_size is not
7401  * NULL; otherwise the OpenCL implementation chooses
7402  * an appropriate local_work_size value which is returned
7403  * by this function. Valid values of dimindx are 0 to
7404  * get_work_dim() - 1. For other values of dimindx,
7405  * get_local_size() returns 1.
7406  * For clEnqueueTask, this always returns 1.
7407  */
7408 size_t __ovld __cnfn get_local_size(uint dimindx);
7409
7410 /**
7411  * Returns the unique local work-item ID i.e. a work-item
7412  * within a specific work-group for dimension identified by
7413  * dimindx. Valid values of dimindx are 0 to
7414  * get_work_dim() - 1. For other values of dimindx,
7415  * get_local_id() returns 0.
7416  * For clEnqueueTask, this returns 0.
7417  */
7418 size_t __ovld __cnfn get_local_id(uint dimindx);
7419
7420 /**
7421  * Returns the number of work-groups that will execute a
7422  * kernel for dimension identified by dimindx.
7423  * Valid values of dimindx are 0 to get_work_dim() - 1.
7424  * For other values of dimindx, get_num_groups () returns
7425  * 1.
7426  * For clEnqueueTask, this always returns 1.
7427  */
7428 size_t __ovld __cnfn get_num_groups(uint dimindx);
7429
7430 /**
7431  * get_group_id returns the work-group ID which is a
7432  * number from 0 .. get_num_groups(dimindx) - 1.
7433  * Valid values of dimindx are 0 to get_work_dim() - 1.
7434  * For other values, get_group_id() returns 0.
7435  * For clEnqueueTask, this returns 0.
7436  */
7437 size_t __ovld __cnfn get_group_id(uint dimindx);
7438
7439 /**
7440  * get_global_offset returns the offset values specified in
7441  * global_work_offset argument to
7442  * clEnqueueNDRangeKernel.
7443  * Valid values of dimindx are 0 to get_work_dim() - 1.
7444  * For other values, get_global_offset() returns 0.
7445  * For clEnqueueTask, this returns 0.
7446  */
7447 size_t __ovld __cnfn get_global_offset(uint dimindx);
7448
7449 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
7450 size_t __ovld get_enqueued_local_size(uint dimindx);
7451 size_t __ovld get_global_linear_id(void);
7452 size_t __ovld get_local_linear_id(void);
7453 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
7454
7455 // OpenCL v1.1 s6.11.2, v1.2 s6.12.2, v2.0 s6.13.2 - Math functions
7456
7457 /**
7458  * Arc cosine function.
7459  */
7460 float __ovld __cnfn acos(float);
7461 float2 __ovld __cnfn acos(float2);
7462 float3 __ovld __cnfn acos(float3);
7463 float4 __ovld __cnfn acos(float4);
7464 float8 __ovld __cnfn acos(float8);
7465 float16 __ovld __cnfn acos(float16);
7466 #ifdef cl_khr_fp64
7467 double __ovld __cnfn acos(double);
7468 double2 __ovld __cnfn acos(double2);
7469 double3 __ovld __cnfn acos(double3);
7470 double4 __ovld __cnfn acos(double4);
7471 double8 __ovld __cnfn acos(double8);
7472 double16 __ovld __cnfn acos(double16);
7473 #endif //cl_khr_fp64
7474 #ifdef cl_khr_fp16
7475 half __ovld __cnfn acos(half);
7476 half2 __ovld __cnfn acos(half2);
7477 half3 __ovld __cnfn acos(half3);
7478 half4 __ovld __cnfn acos(half4);
7479 half8 __ovld __cnfn acos(half8);
7480 half16 __ovld __cnfn acos(half16);
7481 #endif //cl_khr_fp16
7482
7483 /**
7484  * Inverse hyperbolic cosine.
7485  */
7486 float __ovld __cnfn acosh(float);
7487 float2 __ovld __cnfn acosh(float2);
7488 float3 __ovld __cnfn acosh(float3);
7489 float4 __ovld __cnfn acosh(float4);
7490 float8 __ovld __cnfn acosh(float8);
7491 float16 __ovld __cnfn acosh(float16);
7492 #ifdef cl_khr_fp64
7493 double __ovld __cnfn acosh(double);
7494 double2 __ovld __cnfn acosh(double2);
7495 double3 __ovld __cnfn acosh(double3);
7496 double4 __ovld __cnfn acosh(double4);
7497 double8 __ovld __cnfn acosh(double8);
7498 double16 __ovld __cnfn acosh(double16);
7499 #endif //cl_khr_fp64
7500 #ifdef cl_khr_fp16
7501 half __ovld __cnfn acosh(half);
7502 half2 __ovld __cnfn acosh(half2);
7503 half3 __ovld __cnfn acosh(half3);
7504 half4 __ovld __cnfn acosh(half4);
7505 half8 __ovld __cnfn acosh(half8);
7506 half16 __ovld __cnfn acosh(half16);
7507 #endif //cl_khr_fp16
7508
7509 /**
7510  * Compute acos (x) / PI.
7511  */
7512 float __ovld __cnfn acospi(float x);
7513 float2 __ovld __cnfn acospi(float2 x);
7514 float3 __ovld __cnfn acospi(float3 x);
7515 float4 __ovld __cnfn acospi(float4 x);
7516 float8 __ovld __cnfn acospi(float8 x);
7517 float16 __ovld __cnfn acospi(float16 x);
7518 #ifdef cl_khr_fp64
7519 double __ovld __cnfn acospi(double x);
7520 double2 __ovld __cnfn acospi(double2 x);
7521 double3 __ovld __cnfn acospi(double3 x);
7522 double4 __ovld __cnfn acospi(double4 x);
7523 double8 __ovld __cnfn acospi(double8 x);
7524 double16 __ovld __cnfn acospi(double16 x);
7525 #endif //cl_khr_fp64
7526 #ifdef cl_khr_fp16
7527 half __ovld __cnfn acospi(half x);
7528 half2 __ovld __cnfn acospi(half2 x);
7529 half3 __ovld __cnfn acospi(half3 x);
7530 half4 __ovld __cnfn acospi(half4 x);
7531 half8 __ovld __cnfn acospi(half8 x);
7532 half16 __ovld __cnfn acospi(half16 x);
7533 #endif //cl_khr_fp16
7534
7535 /**
7536  * Arc sine function.
7537  */
7538 float __ovld __cnfn asin(float);
7539 float2 __ovld __cnfn asin(float2);
7540 float3 __ovld __cnfn asin(float3);
7541 float4 __ovld __cnfn asin(float4);
7542 float8 __ovld __cnfn asin(float8);
7543 float16 __ovld __cnfn asin(float16);
7544 #ifdef cl_khr_fp64
7545 double __ovld __cnfn asin(double);
7546 double2 __ovld __cnfn asin(double2);
7547 double3 __ovld __cnfn asin(double3);
7548 double4 __ovld __cnfn asin(double4);
7549 double8 __ovld __cnfn asin(double8);
7550 double16 __ovld __cnfn asin(double16);
7551 #endif //cl_khr_fp64
7552 #ifdef cl_khr_fp16
7553 half __ovld __cnfn asin(half);
7554 half2 __ovld __cnfn asin(half2);
7555 half3 __ovld __cnfn asin(half3);
7556 half4 __ovld __cnfn asin(half4);
7557 half8 __ovld __cnfn asin(half8);
7558 half16 __ovld __cnfn asin(half16);
7559 #endif //cl_khr_fp16
7560
7561 /**
7562  * Inverse hyperbolic sine.
7563  */
7564 float __ovld __cnfn asinh(float);
7565 float2 __ovld __cnfn asinh(float2);
7566 float3 __ovld __cnfn asinh(float3);
7567 float4 __ovld __cnfn asinh(float4);
7568 float8 __ovld __cnfn asinh(float8);
7569 float16 __ovld __cnfn asinh(float16);
7570 #ifdef cl_khr_fp64
7571 double __ovld __cnfn asinh(double);
7572 double2 __ovld __cnfn asinh(double2);
7573 double3 __ovld __cnfn asinh(double3);
7574 double4 __ovld __cnfn asinh(double4);
7575 double8 __ovld __cnfn asinh(double8);
7576 double16 __ovld __cnfn asinh(double16);
7577 #endif //cl_khr_fp64
7578 #ifdef cl_khr_fp16
7579 half __ovld __cnfn asinh(half);
7580 half2 __ovld __cnfn asinh(half2);
7581 half3 __ovld __cnfn asinh(half3);
7582 half4 __ovld __cnfn asinh(half4);
7583 half8 __ovld __cnfn asinh(half8);
7584 half16 __ovld __cnfn asinh(half16);
7585 #endif //cl_khr_fp16
7586
7587 /**
7588  * Compute asin (x) / PI.
7589  */
7590 float __ovld __cnfn asinpi(float x);
7591 float2 __ovld __cnfn asinpi(float2 x);
7592 float3 __ovld __cnfn asinpi(float3 x);
7593 float4 __ovld __cnfn asinpi(float4 x);
7594 float8 __ovld __cnfn asinpi(float8 x);
7595 float16 __ovld __cnfn asinpi(float16 x);
7596 #ifdef cl_khr_fp64
7597 double __ovld __cnfn asinpi(double x);
7598 double2 __ovld __cnfn asinpi(double2 x);
7599 double3 __ovld __cnfn asinpi(double3 x);
7600 double4 __ovld __cnfn asinpi(double4 x);
7601 double8 __ovld __cnfn asinpi(double8 x);
7602 double16 __ovld __cnfn asinpi(double16 x);
7603 #endif //cl_khr_fp64
7604 #ifdef cl_khr_fp16
7605 half __ovld __cnfn asinpi(half x);
7606 half2 __ovld __cnfn asinpi(half2 x);
7607 half3 __ovld __cnfn asinpi(half3 x);
7608 half4 __ovld __cnfn asinpi(half4 x);
7609 half8 __ovld __cnfn asinpi(half8 x);
7610 half16 __ovld __cnfn asinpi(half16 x);
7611 #endif //cl_khr_fp16
7612
7613 /**
7614  * Arc tangent function.
7615  */
7616 float __ovld __cnfn atan(float y_over_x);
7617 float2 __ovld __cnfn atan(float2 y_over_x);
7618 float3 __ovld __cnfn atan(float3 y_over_x);
7619 float4 __ovld __cnfn atan(float4 y_over_x);
7620 float8 __ovld __cnfn atan(float8 y_over_x);
7621 float16 __ovld __cnfn atan(float16 y_over_x);
7622 #ifdef cl_khr_fp64
7623 double __ovld __cnfn atan(double y_over_x);
7624 double2 __ovld __cnfn atan(double2 y_over_x);
7625 double3 __ovld __cnfn atan(double3 y_over_x);
7626 double4 __ovld __cnfn atan(double4 y_over_x);
7627 double8 __ovld __cnfn atan(double8 y_over_x);
7628 double16 __ovld __cnfn atan(double16 y_over_x);
7629 #endif //cl_khr_fp64
7630 #ifdef cl_khr_fp16
7631 half __ovld __cnfn atan(half y_over_x);
7632 half2 __ovld __cnfn atan(half2 y_over_x);
7633 half3 __ovld __cnfn atan(half3 y_over_x);
7634 half4 __ovld __cnfn atan(half4 y_over_x);
7635 half8 __ovld __cnfn atan(half8 y_over_x);
7636 half16 __ovld __cnfn atan(half16 y_over_x);
7637 #endif //cl_khr_fp16
7638
7639 /**
7640  * Arc tangent of y / x.
7641  */
7642 float __ovld __cnfn atan2(float y, float x);
7643 float2 __ovld __cnfn atan2(float2 y, float2 x);
7644 float3 __ovld __cnfn atan2(float3 y, float3 x);
7645 float4 __ovld __cnfn atan2(float4 y, float4 x);
7646 float8 __ovld __cnfn atan2(float8 y, float8 x);
7647 float16 __ovld __cnfn atan2(float16 y, float16 x);
7648 #ifdef cl_khr_fp64
7649 double __ovld __cnfn atan2(double y, double x);
7650 double2 __ovld __cnfn atan2(double2 y, double2 x);
7651 double3 __ovld __cnfn atan2(double3 y, double3 x);
7652 double4 __ovld __cnfn atan2(double4 y, double4 x);
7653 double8 __ovld __cnfn atan2(double8 y, double8 x);
7654 double16 __ovld __cnfn atan2(double16 y, double16 x);
7655 #endif //cl_khr_fp64
7656 #ifdef cl_khr_fp16
7657 half __ovld __cnfn atan2(half y, half x);
7658 half2 __ovld __cnfn atan2(half2 y, half2 x);
7659 half3 __ovld __cnfn atan2(half3 y, half3 x);
7660 half4 __ovld __cnfn atan2(half4 y, half4 x);
7661 half8 __ovld __cnfn atan2(half8 y, half8 x);
7662 half16 __ovld __cnfn atan2(half16 y, half16 x);
7663 #endif //cl_khr_fp16
7664
7665 /**
7666  * Hyperbolic arc tangent.
7667  */
7668 float __ovld __cnfn atanh(float);
7669 float2 __ovld __cnfn atanh(float2);
7670 float3 __ovld __cnfn atanh(float3);
7671 float4 __ovld __cnfn atanh(float4);
7672 float8 __ovld __cnfn atanh(float8);
7673 float16 __ovld __cnfn atanh(float16);
7674 #ifdef cl_khr_fp64
7675 double __ovld __cnfn atanh(double);
7676 double2 __ovld __cnfn atanh(double2);
7677 double3 __ovld __cnfn atanh(double3);
7678 double4 __ovld __cnfn atanh(double4);
7679 double8 __ovld __cnfn atanh(double8);
7680 double16 __ovld __cnfn atanh(double16);
7681 #endif //cl_khr_fp64
7682 #ifdef cl_khr_fp16
7683 half __ovld __cnfn atanh(half);
7684 half2 __ovld __cnfn atanh(half2);
7685 half3 __ovld __cnfn atanh(half3);
7686 half4 __ovld __cnfn atanh(half4);
7687 half8 __ovld __cnfn atanh(half8);
7688 half16 __ovld __cnfn atanh(half16);
7689 #endif //cl_khr_fp16
7690
7691 /**
7692  * Compute atan (x) / PI.
7693  */
7694 float __ovld __cnfn atanpi(float x);
7695 float2 __ovld __cnfn atanpi(float2 x);
7696 float3 __ovld __cnfn atanpi(float3 x);
7697 float4 __ovld __cnfn atanpi(float4 x);
7698 float8 __ovld __cnfn atanpi(float8 x);
7699 float16 __ovld __cnfn atanpi(float16 x);
7700 #ifdef cl_khr_fp64
7701 double __ovld __cnfn atanpi(double x);
7702 double2 __ovld __cnfn atanpi(double2 x);
7703 double3 __ovld __cnfn atanpi(double3 x);
7704 double4 __ovld __cnfn atanpi(double4 x);
7705 double8 __ovld __cnfn atanpi(double8 x);
7706 double16 __ovld __cnfn atanpi(double16 x);
7707 #endif //cl_khr_fp64
7708 #ifdef cl_khr_fp16
7709 half __ovld __cnfn atanpi(half x);
7710 half2 __ovld __cnfn atanpi(half2 x);
7711 half3 __ovld __cnfn atanpi(half3 x);
7712 half4 __ovld __cnfn atanpi(half4 x);
7713 half8 __ovld __cnfn atanpi(half8 x);
7714 half16 __ovld __cnfn atanpi(half16 x);
7715 #endif //cl_khr_fp16
7716
7717 /**
7718  * Compute atan2 (y, x) / PI.
7719  */
7720 float __ovld __cnfn atan2pi(float y, float x);
7721 float2 __ovld __cnfn atan2pi(float2 y, float2 x);
7722 float3 __ovld __cnfn atan2pi(float3 y, float3 x);
7723 float4 __ovld __cnfn atan2pi(float4 y, float4 x);
7724 float8 __ovld __cnfn atan2pi(float8 y, float8 x);
7725 float16 __ovld __cnfn atan2pi(float16 y, float16 x);
7726 #ifdef cl_khr_fp64
7727 double __ovld __cnfn atan2pi(double y, double x);
7728 double2 __ovld __cnfn atan2pi(double2 y, double2 x);
7729 double3 __ovld __cnfn atan2pi(double3 y, double3 x);
7730 double4 __ovld __cnfn atan2pi(double4 y, double4 x);
7731 double8 __ovld __cnfn atan2pi(double8 y, double8 x);
7732 double16 __ovld __cnfn atan2pi(double16 y, double16 x);
7733 #endif //cl_khr_fp64
7734 #ifdef cl_khr_fp16
7735 half __ovld __cnfn atan2pi(half y, half x);
7736 half2 __ovld __cnfn atan2pi(half2 y, half2 x);
7737 half3 __ovld __cnfn atan2pi(half3 y, half3 x);
7738 half4 __ovld __cnfn atan2pi(half4 y, half4 x);
7739 half8 __ovld __cnfn atan2pi(half8 y, half8 x);
7740 half16 __ovld __cnfn atan2pi(half16 y, half16 x);
7741 #endif //cl_khr_fp16
7742
7743 /**
7744  * Compute cube-root.
7745  */
7746 float __ovld __cnfn cbrt(float);
7747 float2 __ovld __cnfn cbrt(float2);
7748 float3 __ovld __cnfn cbrt(float3);
7749 float4 __ovld __cnfn cbrt(float4);
7750 float8 __ovld __cnfn cbrt(float8);
7751 float16 __ovld __cnfn cbrt(float16);
7752 #ifdef cl_khr_fp64
7753 double __ovld __cnfn cbrt(double);
7754 double2 __ovld __cnfn cbrt(double2);
7755 double3 __ovld __cnfn cbrt(double3);
7756 double4 __ovld __cnfn cbrt(double4);
7757 double8 __ovld __cnfn cbrt(double8);
7758 double16 __ovld __cnfn cbrt(double16);
7759 #endif //cl_khr_fp64
7760 #ifdef cl_khr_fp16
7761 half __ovld __cnfn cbrt(half);
7762 half2 __ovld __cnfn cbrt(half2);
7763 half3 __ovld __cnfn cbrt(half3);
7764 half4 __ovld __cnfn cbrt(half4);
7765 half8 __ovld __cnfn cbrt(half8);
7766 half16 __ovld __cnfn cbrt(half16);
7767 #endif //cl_khr_fp16
7768
7769 /**
7770  * Round to integral value using the round to positive
7771  * infinity rounding mode.
7772  */
7773 float __ovld __cnfn ceil(float);
7774 float2 __ovld __cnfn ceil(float2);
7775 float3 __ovld __cnfn ceil(float3);
7776 float4 __ovld __cnfn ceil(float4);
7777 float8 __ovld __cnfn ceil(float8);
7778 float16 __ovld __cnfn ceil(float16);
7779 #ifdef cl_khr_fp64
7780 double __ovld __cnfn ceil(double);
7781 double2 __ovld __cnfn ceil(double2);
7782 double3 __ovld __cnfn ceil(double3);
7783 double4 __ovld __cnfn ceil(double4);
7784 double8 __ovld __cnfn ceil(double8);
7785 double16 __ovld __cnfn ceil(double16);
7786 #endif //cl_khr_fp64
7787 #ifdef cl_khr_fp16
7788 half __ovld __cnfn ceil(half);
7789 half2 __ovld __cnfn ceil(half2);
7790 half3 __ovld __cnfn ceil(half3);
7791 half4 __ovld __cnfn ceil(half4);
7792 half8 __ovld __cnfn ceil(half8);
7793 half16 __ovld __cnfn ceil(half16);
7794 #endif //cl_khr_fp16
7795
7796 /**
7797  * Returns x with its sign changed to match the sign of y.
7798  */
7799 float __ovld __cnfn copysign(float x, float y);
7800 float2 __ovld __cnfn copysign(float2 x, float2 y);
7801 float3 __ovld __cnfn copysign(float3 x, float3 y);
7802 float4 __ovld __cnfn copysign(float4 x, float4 y);
7803 float8 __ovld __cnfn copysign(float8 x, float8 y);
7804 float16 __ovld __cnfn copysign(float16 x, float16 y);
7805 #ifdef cl_khr_fp64
7806 double __ovld __cnfn copysign(double x, double y);
7807 double2 __ovld __cnfn copysign(double2 x, double2 y);
7808 double3 __ovld __cnfn copysign(double3 x, double3 y);
7809 double4 __ovld __cnfn copysign(double4 x, double4 y);
7810 double8 __ovld __cnfn copysign(double8 x, double8 y);
7811 double16 __ovld __cnfn copysign(double16 x, double16 y);
7812 #endif //cl_khr_fp64
7813 #ifdef cl_khr_fp16
7814 half __ovld __cnfn copysign(half x, half y);
7815 half2 __ovld __cnfn copysign(half2 x, half2 y);
7816 half3 __ovld __cnfn copysign(half3 x, half3 y);
7817 half4 __ovld __cnfn copysign(half4 x, half4 y);
7818 half8 __ovld __cnfn copysign(half8 x, half8 y);
7819 half16 __ovld __cnfn copysign(half16 x, half16 y);
7820 #endif //cl_khr_fp16
7821
7822 /**
7823  * Compute cosine.
7824  */
7825 float __ovld __cnfn cos(float);
7826 float2 __ovld __cnfn cos(float2);
7827 float3 __ovld __cnfn cos(float3);
7828 float4 __ovld __cnfn cos(float4);
7829 float8 __ovld __cnfn cos(float8);
7830 float16 __ovld __cnfn cos(float16);
7831 #ifdef cl_khr_fp64
7832 double __ovld __cnfn cos(double);
7833 double2 __ovld __cnfn cos(double2);
7834 double3 __ovld __cnfn cos(double3);
7835 double4 __ovld __cnfn cos(double4);
7836 double8 __ovld __cnfn cos(double8);
7837 double16 __ovld __cnfn cos(double16);
7838 #endif //cl_khr_fp64
7839 #ifdef cl_khr_fp16
7840 half __ovld __cnfn cos(half);
7841 half2 __ovld __cnfn cos(half2);
7842 half3 __ovld __cnfn cos(half3);
7843 half4 __ovld __cnfn cos(half4);
7844 half8 __ovld __cnfn cos(half8);
7845 half16 __ovld __cnfn cos(half16);
7846 #endif //cl_khr_fp16
7847
7848 /**
7849  * Compute hyperbolic cosine.
7850  */
7851 float __ovld __cnfn cosh(float);
7852 float2 __ovld __cnfn cosh(float2);
7853 float3 __ovld __cnfn cosh(float3);
7854 float4 __ovld __cnfn cosh(float4);
7855 float8 __ovld __cnfn cosh(float8);
7856 float16 __ovld __cnfn cosh(float16);
7857 #ifdef cl_khr_fp64
7858 double __ovld __cnfn cosh(double);
7859 double2 __ovld __cnfn cosh(double2);
7860 double3 __ovld __cnfn cosh(double3);
7861 double4 __ovld __cnfn cosh(double4);
7862 double8 __ovld __cnfn cosh(double8);
7863 double16 __ovld __cnfn cosh(double16);
7864 #endif //cl_khr_fp64
7865 #ifdef cl_khr_fp16
7866 half __ovld __cnfn cosh(half);
7867 half2 __ovld __cnfn cosh(half2);
7868 half3 __ovld __cnfn cosh(half3);
7869 half4 __ovld __cnfn cosh(half4);
7870 half8 __ovld __cnfn cosh(half8);
7871 half16 __ovld __cnfn cosh(half16);
7872 #endif //cl_khr_fp16
7873
7874 /**
7875  * Compute cos (PI * x).
7876  */
7877 float __ovld __cnfn cospi(float x);
7878 float2 __ovld __cnfn cospi(float2 x);
7879 float3 __ovld __cnfn cospi(float3 x);
7880 float4 __ovld __cnfn cospi(float4 x);
7881 float8 __ovld __cnfn cospi(float8 x);
7882 float16 __ovld __cnfn cospi(float16 x);
7883 #ifdef cl_khr_fp64
7884 double __ovld __cnfn cospi(double x);
7885 double2 __ovld __cnfn cospi(double2 x);
7886 double3 __ovld __cnfn cospi(double3 x);
7887 double4 __ovld __cnfn cospi(double4 x);
7888 double8 __ovld __cnfn cospi(double8 x);
7889 double16 __ovld __cnfn cospi(double16 x);
7890 #endif //cl_khr_fp64
7891 #ifdef cl_khr_fp16
7892 half __ovld __cnfn cospi(half x);
7893 half2 __ovld __cnfn cospi(half2 x);
7894 half3 __ovld __cnfn cospi(half3 x);
7895 half4 __ovld __cnfn cospi(half4 x);
7896 half8 __ovld __cnfn cospi(half8 x);
7897 half16 __ovld __cnfn cospi(half16 x);
7898 #endif //cl_khr_fp16
7899
7900 /**
7901  * Complementary error function.
7902  */
7903 float __ovld __cnfn erfc(float);
7904 float2 __ovld __cnfn erfc(float2);
7905 float3 __ovld __cnfn erfc(float3);
7906 float4 __ovld __cnfn erfc(float4);
7907 float8 __ovld __cnfn erfc(float8);
7908 float16 __ovld __cnfn erfc(float16);
7909 #ifdef cl_khr_fp64
7910 double __ovld __cnfn erfc(double);
7911 double2 __ovld __cnfn erfc(double2);
7912 double3 __ovld __cnfn erfc(double3);
7913 double4 __ovld __cnfn erfc(double4);
7914 double8 __ovld __cnfn erfc(double8);
7915 double16 __ovld __cnfn erfc(double16);
7916 #endif //cl_khr_fp64
7917 #ifdef cl_khr_fp16
7918 half __ovld __cnfn erfc(half);
7919 half2 __ovld __cnfn erfc(half2);
7920 half3 __ovld __cnfn erfc(half3);
7921 half4 __ovld __cnfn erfc(half4);
7922 half8 __ovld __cnfn erfc(half8);
7923 half16 __ovld __cnfn erfc(half16);
7924 #endif //cl_khr_fp16
7925
7926 /**
7927  * Error function encountered in integrating the
7928  * normal distribution.
7929  */
7930 float __ovld __cnfn erf(float);
7931 float2 __ovld __cnfn erf(float2);
7932 float3 __ovld __cnfn erf(float3);
7933 float4 __ovld __cnfn erf(float4);
7934 float8 __ovld __cnfn erf(float8);
7935 float16 __ovld __cnfn erf(float16);
7936 #ifdef cl_khr_fp64
7937 double __ovld __cnfn erf(double);
7938 double2 __ovld __cnfn erf(double2);
7939 double3 __ovld __cnfn erf(double3);
7940 double4 __ovld __cnfn erf(double4);
7941 double8 __ovld __cnfn erf(double8);
7942 double16 __ovld __cnfn erf(double16);
7943 #endif //cl_khr_fp64
7944 #ifdef cl_khr_fp16
7945 half __ovld __cnfn erf(half);
7946 half2 __ovld __cnfn erf(half2);
7947 half3 __ovld __cnfn erf(half3);
7948 half4 __ovld __cnfn erf(half4);
7949 half8 __ovld __cnfn erf(half8);
7950 half16 __ovld __cnfn erf(half16);
7951 #endif //cl_khr_fp16
7952
7953 /**
7954  * Compute the base e exponential function of x.
7955  */
7956 float __ovld __cnfn exp(float x);
7957 float2 __ovld __cnfn exp(float2 x);
7958 float3 __ovld __cnfn exp(float3 x);
7959 float4 __ovld __cnfn exp(float4 x);
7960 float8 __ovld __cnfn exp(float8 x);
7961 float16 __ovld __cnfn exp(float16 x);
7962 #ifdef cl_khr_fp64
7963 double __ovld __cnfn exp(double x);
7964 double2 __ovld __cnfn exp(double2 x);
7965 double3 __ovld __cnfn exp(double3 x);
7966 double4 __ovld __cnfn exp(double4 x);
7967 double8 __ovld __cnfn exp(double8 x);
7968 double16 __ovld __cnfn exp(double16 x);
7969 #endif //cl_khr_fp64
7970 #ifdef cl_khr_fp16
7971 half __ovld __cnfn exp(half x);
7972 half2 __ovld __cnfn exp(half2 x);
7973 half3 __ovld __cnfn exp(half3 x);
7974 half4 __ovld __cnfn exp(half4 x);
7975 half8 __ovld __cnfn exp(half8 x);
7976 half16 __ovld __cnfn exp(half16 x);
7977 #endif //cl_khr_fp16
7978
7979 /**
7980  * Exponential base 2 function.
7981  */
7982 float __ovld __cnfn exp2(float);
7983 float2 __ovld __cnfn exp2(float2);
7984 float3 __ovld __cnfn exp2(float3);
7985 float4 __ovld __cnfn exp2(float4);
7986 float8 __ovld __cnfn exp2(float8);
7987 float16 __ovld __cnfn exp2(float16);
7988 #ifdef cl_khr_fp64
7989 double __ovld __cnfn exp2(double);
7990 double2 __ovld __cnfn exp2(double2);
7991 double3 __ovld __cnfn exp2(double3);
7992 double4 __ovld __cnfn exp2(double4);
7993 double8 __ovld __cnfn exp2(double8);
7994 double16 __ovld __cnfn exp2(double16);
7995 #endif //cl_khr_fp64
7996 #ifdef cl_khr_fp16
7997 half __ovld __cnfn exp2(half);
7998 half2 __ovld __cnfn exp2(half2);
7999 half3 __ovld __cnfn exp2(half3);
8000 half4 __ovld __cnfn exp2(half4);
8001 half8 __ovld __cnfn exp2(half8);
8002 half16 __ovld __cnfn exp2(half16);
8003 #endif //cl_khr_fp16
8004
8005 /**
8006  * Exponential base 10 function.
8007  */
8008 float __ovld __cnfn exp10(float);
8009 float2 __ovld __cnfn exp10(float2);
8010 float3 __ovld __cnfn exp10(float3);
8011 float4 __ovld __cnfn exp10(float4);
8012 float8 __ovld __cnfn exp10(float8);
8013 float16 __ovld __cnfn exp10(float16);
8014 #ifdef cl_khr_fp64
8015 double __ovld __cnfn exp10(double);
8016 double2 __ovld __cnfn exp10(double2);
8017 double3 __ovld __cnfn exp10(double3);
8018 double4 __ovld __cnfn exp10(double4);
8019 double8 __ovld __cnfn exp10(double8);
8020 double16 __ovld __cnfn exp10(double16);
8021 #endif //cl_khr_fp64
8022 #ifdef cl_khr_fp16
8023 half __ovld __cnfn exp10(half);
8024 half2 __ovld __cnfn exp10(half2);
8025 half3 __ovld __cnfn exp10(half3);
8026 half4 __ovld __cnfn exp10(half4);
8027 half8 __ovld __cnfn exp10(half8);
8028 half16 __ovld __cnfn exp10(half16);
8029 #endif //cl_khr_fp16
8030
8031 /**
8032  * Compute e^x- 1.0.
8033  */
8034 float __ovld __cnfn expm1(float x);
8035 float2 __ovld __cnfn expm1(float2 x);
8036 float3 __ovld __cnfn expm1(float3 x);
8037 float4 __ovld __cnfn expm1(float4 x);
8038 float8 __ovld __cnfn expm1(float8 x);
8039 float16 __ovld __cnfn expm1(float16 x);
8040 #ifdef cl_khr_fp64
8041 double __ovld __cnfn expm1(double x);
8042 double2 __ovld __cnfn expm1(double2 x);
8043 double3 __ovld __cnfn expm1(double3 x);
8044 double4 __ovld __cnfn expm1(double4 x);
8045 double8 __ovld __cnfn expm1(double8 x);
8046 double16 __ovld __cnfn expm1(double16 x);
8047 #endif //cl_khr_fp64
8048 #ifdef cl_khr_fp16
8049 half __ovld __cnfn expm1(half x);
8050 half2 __ovld __cnfn expm1(half2 x);
8051 half3 __ovld __cnfn expm1(half3 x);
8052 half4 __ovld __cnfn expm1(half4 x);
8053 half8 __ovld __cnfn expm1(half8 x);
8054 half16 __ovld __cnfn expm1(half16 x);
8055 #endif //cl_khr_fp16
8056
8057 /**
8058  * Compute absolute value of a floating-point number.
8059  */
8060 float __ovld __cnfn fabs(float);
8061 float2 __ovld __cnfn fabs(float2);
8062 float3 __ovld __cnfn fabs(float3);
8063 float4 __ovld __cnfn fabs(float4);
8064 float8 __ovld __cnfn fabs(float8);
8065 float16 __ovld __cnfn fabs(float16);
8066 #ifdef cl_khr_fp64
8067 double __ovld __cnfn fabs(double);
8068 double2 __ovld __cnfn fabs(double2);
8069 double3 __ovld __cnfn fabs(double3);
8070 double4 __ovld __cnfn fabs(double4);
8071 double8 __ovld __cnfn fabs(double8);
8072 double16 __ovld __cnfn fabs(double16);
8073 #endif //cl_khr_fp64
8074 #ifdef cl_khr_fp16
8075 half __ovld __cnfn fabs(half);
8076 half2 __ovld __cnfn fabs(half2);
8077 half3 __ovld __cnfn fabs(half3);
8078 half4 __ovld __cnfn fabs(half4);
8079 half8 __ovld __cnfn fabs(half8);
8080 half16 __ovld __cnfn fabs(half16);
8081 #endif //cl_khr_fp16
8082
8083 /**
8084  * x - y if x > y, +0 if x is less than or equal to y.
8085  */
8086 float __ovld __cnfn fdim(float x, float y);
8087 float2 __ovld __cnfn fdim(float2 x, float2 y);
8088 float3 __ovld __cnfn fdim(float3 x, float3 y);
8089 float4 __ovld __cnfn fdim(float4 x, float4 y);
8090 float8 __ovld __cnfn fdim(float8 x, float8 y);
8091 float16 __ovld __cnfn fdim(float16 x, float16 y);
8092 #ifdef cl_khr_fp64
8093 double __ovld __cnfn fdim(double x, double y);
8094 double2 __ovld __cnfn fdim(double2 x, double2 y);
8095 double3 __ovld __cnfn fdim(double3 x, double3 y);
8096 double4 __ovld __cnfn fdim(double4 x, double4 y);
8097 double8 __ovld __cnfn fdim(double8 x, double8 y);
8098 double16 __ovld __cnfn fdim(double16 x, double16 y);
8099 #endif //cl_khr_fp64
8100 #ifdef cl_khr_fp16
8101 half __ovld __cnfn fdim(half x, half y);
8102 half2 __ovld __cnfn fdim(half2 x, half2 y);
8103 half3 __ovld __cnfn fdim(half3 x, half3 y);
8104 half4 __ovld __cnfn fdim(half4 x, half4 y);
8105 half8 __ovld __cnfn fdim(half8 x, half8 y);
8106 half16 __ovld __cnfn fdim(half16 x, half16 y);
8107 #endif //cl_khr_fp16
8108
8109 /**
8110  * Round to integral value using the round to -ve
8111  * infinity rounding mode.
8112  */
8113 float __ovld __cnfn floor(float);
8114 float2 __ovld __cnfn floor(float2);
8115 float3 __ovld __cnfn floor(float3);
8116 float4 __ovld __cnfn floor(float4);
8117 float8 __ovld __cnfn floor(float8);
8118 float16 __ovld __cnfn floor(float16);
8119 #ifdef cl_khr_fp64
8120 double __ovld __cnfn floor(double);
8121 double2 __ovld __cnfn floor(double2);
8122 double3 __ovld __cnfn floor(double3);
8123 double4 __ovld __cnfn floor(double4);
8124 double8 __ovld __cnfn floor(double8);
8125 double16 __ovld __cnfn floor(double16);
8126 #endif //cl_khr_fp64
8127 #ifdef cl_khr_fp16
8128 half __ovld __cnfn floor(half);
8129 half2 __ovld __cnfn floor(half2);
8130 half3 __ovld __cnfn floor(half3);
8131 half4 __ovld __cnfn floor(half4);
8132 half8 __ovld __cnfn floor(half8);
8133 half16 __ovld __cnfn floor(half16);
8134 #endif //cl_khr_fp16
8135
8136 /**
8137  * Returns the correctly rounded floating-point
8138  * representation of the sum of c with the infinitely
8139  * precise product of a and b. Rounding of
8140  * intermediate products shall not occur. Edge case
8141  * behavior is per the IEEE 754-2008 standard.
8142  */
8143 float __ovld __cnfn fma(float a, float b, float c);
8144 float2 __ovld __cnfn fma(float2 a, float2 b, float2 c);
8145 float3 __ovld __cnfn fma(float3 a, float3 b, float3 c);
8146 float4 __ovld __cnfn fma(float4 a, float4 b, float4 c);
8147 float8 __ovld __cnfn fma(float8 a, float8 b, float8 c);
8148 float16 __ovld __cnfn fma(float16 a, float16 b, float16 c);
8149 #ifdef cl_khr_fp64
8150 double __ovld __cnfn fma(double a, double b, double c);
8151 double2 __ovld __cnfn fma(double2 a, double2 b, double2 c);
8152 double3 __ovld __cnfn fma(double3 a, double3 b, double3 c);
8153 double4 __ovld __cnfn fma(double4 a, double4 b, double4 c);
8154 double8 __ovld __cnfn fma(double8 a, double8 b, double8 c);
8155 double16 __ovld __cnfn fma(double16 a, double16 b, double16 c);
8156 #endif //cl_khr_fp64
8157 #ifdef cl_khr_fp16
8158 half __ovld __cnfn fma(half a, half b, half c);
8159 half2 __ovld __cnfn fma(half2 a, half2 b, half2 c);
8160 half3 __ovld __cnfn fma(half3 a, half3 b, half3 c);
8161 half4 __ovld __cnfn fma(half4 a, half4 b, half4 c);
8162 half8 __ovld __cnfn fma(half8 a, half8 b, half8 c);
8163 half16 __ovld __cnfn fma(half16 a, half16 b, half16 c);
8164 #endif //cl_khr_fp16
8165
8166 /**
8167  * Returns y if x < y, otherwise it returns x. If one
8168  * argument is a NaN, fmax() returns the other
8169  * argument. If both arguments are NaNs, fmax()
8170  * returns a NaN.
8171  */
8172 float __ovld __cnfn fmax(float x, float y);
8173 float2 __ovld __cnfn fmax(float2 x, float2 y);
8174 float3 __ovld __cnfn fmax(float3 x, float3 y);
8175 float4 __ovld __cnfn fmax(float4 x, float4 y);
8176 float8 __ovld __cnfn fmax(float8 x, float8 y);
8177 float16 __ovld __cnfn fmax(float16 x, float16 y);
8178 float2 __ovld __cnfn fmax(float2 x, float y);
8179 float3 __ovld __cnfn fmax(float3 x, float y);
8180 float4 __ovld __cnfn fmax(float4 x, float y);
8181 float8 __ovld __cnfn fmax(float8 x, float y);
8182 float16 __ovld __cnfn fmax(float16 x, float y);
8183 #ifdef cl_khr_fp64
8184 double __ovld __cnfn fmax(double x, double y);
8185 double2 __ovld __cnfn fmax(double2 x, double2 y);
8186 double3 __ovld __cnfn fmax(double3 x, double3 y);
8187 double4 __ovld __cnfn fmax(double4 x, double4 y);
8188 double8 __ovld __cnfn fmax(double8 x, double8 y);
8189 double16 __ovld __cnfn fmax(double16 x, double16 y);
8190 double2 __ovld __cnfn fmax(double2 x, double y);
8191 double3 __ovld __cnfn fmax(double3 x, double y);
8192 double4 __ovld __cnfn fmax(double4 x, double y);
8193 double8 __ovld __cnfn fmax(double8 x, double y);
8194 double16 __ovld __cnfn fmax(double16 x, double y);
8195 #endif //cl_khr_fp64
8196 #ifdef cl_khr_fp16
8197 half __ovld __cnfn fmax(half x, half y);
8198 half2 __ovld __cnfn fmax(half2 x, half2 y);
8199 half3 __ovld __cnfn fmax(half3 x, half3 y);
8200 half4 __ovld __cnfn fmax(half4 x, half4 y);
8201 half8 __ovld __cnfn fmax(half8 x, half8 y);
8202 half16 __ovld __cnfn fmax(half16 x, half16 y);
8203 half2 __ovld __cnfn fmax(half2 x, half y);
8204 half3 __ovld __cnfn fmax(half3 x, half y);
8205 half4 __ovld __cnfn fmax(half4 x, half y);
8206 half8 __ovld __cnfn fmax(half8 x, half y);
8207 half16 __ovld __cnfn fmax(half16 x, half y);
8208 #endif //cl_khr_fp16
8209
8210 /**
8211  * Returns y if y < x, otherwise it returns x. If one
8212  * argument is a NaN, fmin() returns the other
8213  * argument. If both arguments are NaNs, fmin()
8214  * returns a NaN.
8215  */
8216 float __ovld __cnfn fmin(float x, float y);
8217 float2 __ovld __cnfn fmin(float2 x, float2 y);
8218 float3 __ovld __cnfn fmin(float3 x, float3 y);
8219 float4 __ovld __cnfn fmin(float4 x, float4 y);
8220 float8 __ovld __cnfn fmin(float8 x, float8 y);
8221 float16 __ovld __cnfn fmin(float16 x, float16 y);
8222 float2 __ovld __cnfn fmin(float2 x, float y);
8223 float3 __ovld __cnfn fmin(float3 x, float y);
8224 float4 __ovld __cnfn fmin(float4 x, float y);
8225 float8 __ovld __cnfn fmin(float8 x, float y);
8226 float16 __ovld __cnfn fmin(float16 x, float y);
8227 #ifdef cl_khr_fp64
8228 double __ovld __cnfn fmin(double x, double y);
8229 double2 __ovld __cnfn fmin(double2 x, double2 y);
8230 double3 __ovld __cnfn fmin(double3 x, double3 y);
8231 double4 __ovld __cnfn fmin(double4 x, double4 y);
8232 double8 __ovld __cnfn fmin(double8 x, double8 y);
8233 double16 __ovld __cnfn fmin(double16 x, double16 y);
8234 double2 __ovld __cnfn fmin(double2 x, double y);
8235 double3 __ovld __cnfn fmin(double3 x, double y);
8236 double4 __ovld __cnfn fmin(double4 x, double y);
8237 double8 __ovld __cnfn fmin(double8 x, double y);
8238 double16 __ovld __cnfn fmin(double16 x, double y);
8239 #endif //cl_khr_fp64
8240 #ifdef cl_khr_fp16
8241 half __ovld __cnfn fmin(half x, half y);
8242 half2 __ovld __cnfn fmin(half2 x, half2 y);
8243 half3 __ovld __cnfn fmin(half3 x, half3 y);
8244 half4 __ovld __cnfn fmin(half4 x, half4 y);
8245 half8 __ovld __cnfn fmin(half8 x, half8 y);
8246 half16 __ovld __cnfn fmin(half16 x, half16 y);
8247 half2 __ovld __cnfn fmin(half2 x, half y);
8248 half3 __ovld __cnfn fmin(half3 x, half y);
8249 half4 __ovld __cnfn fmin(half4 x, half y);
8250 half8 __ovld __cnfn fmin(half8 x, half y);
8251 half16 __ovld __cnfn fmin(half16 x, half y);
8252 #endif //cl_khr_fp16
8253
8254 /**
8255  * Modulus. Returns x - y * trunc (x/y).
8256  */
8257 float __ovld __cnfn fmod(float x, float y);
8258 float2 __ovld __cnfn fmod(float2 x, float2 y);
8259 float3 __ovld __cnfn fmod(float3 x, float3 y);
8260 float4 __ovld __cnfn fmod(float4 x, float4 y);
8261 float8 __ovld __cnfn fmod(float8 x, float8 y);
8262 float16 __ovld __cnfn fmod(float16 x, float16 y);
8263 #ifdef cl_khr_fp64
8264 double __ovld __cnfn fmod(double x, double y);
8265 double2 __ovld __cnfn fmod(double2 x, double2 y);
8266 double3 __ovld __cnfn fmod(double3 x, double3 y);
8267 double4 __ovld __cnfn fmod(double4 x, double4 y);
8268 double8 __ovld __cnfn fmod(double8 x, double8 y);
8269 double16 __ovld __cnfn fmod(double16 x, double16 y);
8270 #endif //cl_khr_fp64
8271 #ifdef cl_khr_fp16
8272 half __ovld __cnfn fmod(half x, half y);
8273 half2 __ovld __cnfn fmod(half2 x, half2 y);
8274 half3 __ovld __cnfn fmod(half3 x, half3 y);
8275 half4 __ovld __cnfn fmod(half4 x, half4 y);
8276 half8 __ovld __cnfn fmod(half8 x, half8 y);
8277 half16 __ovld __cnfn fmod(half16 x, half16 y);
8278 #endif //cl_khr_fp16
8279
8280 /**
8281  * Returns fmin(x - floor (x), 0x1.fffffep-1f ).
8282  * floor(x) is returned in iptr.
8283  */
8284 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
8285 float __ovld fract(float x, float *iptr);
8286 float2 __ovld fract(float2 x, float2 *iptr);
8287 float3 __ovld fract(float3 x, float3 *iptr);
8288 float4 __ovld fract(float4 x, float4 *iptr);
8289 float8 __ovld fract(float8 x, float8 *iptr);
8290 float16 __ovld fract(float16 x, float16 *iptr);
8291 #ifdef cl_khr_fp64
8292 double __ovld fract(double x, double *iptr);
8293 double2 __ovld fract(double2 x, double2 *iptr);
8294 double3 __ovld fract(double3 x, double3 *iptr);
8295 double4 __ovld fract(double4 x, double4 *iptr);
8296 double8 __ovld fract(double8 x, double8 *iptr);
8297 double16 __ovld fract(double16 x, double16 *iptr);
8298 #endif //cl_khr_fp64
8299 #ifdef cl_khr_fp16
8300 half __ovld fract(half x, half *iptr);
8301 half2 __ovld fract(half2 x, half2 *iptr);
8302 half3 __ovld fract(half3 x, half3 *iptr);
8303 half4 __ovld fract(half4 x, half4 *iptr);
8304 half8 __ovld fract(half8 x, half8 *iptr);
8305 half16 __ovld fract(half16 x, half16 *iptr);
8306 #endif //cl_khr_fp16
8307 #else
8308 float __ovld fract(float x, __global float *iptr);
8309 float2 __ovld fract(float2 x, __global float2 *iptr);
8310 float3 __ovld fract(float3 x, __global float3 *iptr);
8311 float4 __ovld fract(float4 x, __global float4 *iptr);
8312 float8 __ovld fract(float8 x, __global float8 *iptr);
8313 float16 __ovld fract(float16 x, __global float16 *iptr);
8314 float __ovld fract(float x, __local float *iptr);
8315 float2 __ovld fract(float2 x, __local float2 *iptr);
8316 float3 __ovld fract(float3 x, __local float3 *iptr);
8317 float4 __ovld fract(float4 x, __local float4 *iptr);
8318 float8 __ovld fract(float8 x, __local float8 *iptr);
8319 float16 __ovld fract(float16 x, __local float16 *iptr);
8320 float __ovld fract(float x, __private float *iptr);
8321 float2 __ovld fract(float2 x, __private float2 *iptr);
8322 float3 __ovld fract(float3 x, __private float3 *iptr);
8323 float4 __ovld fract(float4 x, __private float4 *iptr);
8324 float8 __ovld fract(float8 x, __private float8 *iptr);
8325 float16 __ovld fract(float16 x, __private float16 *iptr);
8326 #ifdef cl_khr_fp64
8327 double __ovld fract(double x, __global double *iptr);
8328 double2 __ovld fract(double2 x, __global double2 *iptr);
8329 double3 __ovld fract(double3 x, __global double3 *iptr);
8330 double4 __ovld fract(double4 x, __global double4 *iptr);
8331 double8 __ovld fract(double8 x, __global double8 *iptr);
8332 double16 __ovld fract(double16 x, __global double16 *iptr);
8333 double __ovld fract(double x, __local double *iptr);
8334 double2 __ovld fract(double2 x, __local double2 *iptr);
8335 double3 __ovld fract(double3 x, __local double3 *iptr);
8336 double4 __ovld fract(double4 x, __local double4 *iptr);
8337 double8 __ovld fract(double8 x, __local double8 *iptr);
8338 double16 __ovld fract(double16 x, __local double16 *iptr);
8339 double __ovld fract(double x, __private double *iptr);
8340 double2 __ovld fract(double2 x, __private double2 *iptr);
8341 double3 __ovld fract(double3 x, __private double3 *iptr);
8342 double4 __ovld fract(double4 x, __private double4 *iptr);
8343 double8 __ovld fract(double8 x, __private double8 *iptr);
8344 double16 __ovld fract(double16 x, __private double16 *iptr);
8345 #endif //cl_khr_fp64
8346 #ifdef cl_khr_fp16
8347 half __ovld fract(half x, __global half *iptr);
8348 half2 __ovld fract(half2 x, __global half2 *iptr);
8349 half3 __ovld fract(half3 x, __global half3 *iptr);
8350 half4 __ovld fract(half4 x, __global half4 *iptr);
8351 half8 __ovld fract(half8 x, __global half8 *iptr);
8352 half16 __ovld fract(half16 x, __global half16 *iptr);
8353 half __ovld fract(half x, __local half *iptr);
8354 half2 __ovld fract(half2 x, __local half2 *iptr);
8355 half3 __ovld fract(half3 x, __local half3 *iptr);
8356 half4 __ovld fract(half4 x, __local half4 *iptr);
8357 half8 __ovld fract(half8 x, __local half8 *iptr);
8358 half16 __ovld fract(half16 x, __local half16 *iptr);
8359 half __ovld fract(half x, __private half *iptr);
8360 half2 __ovld fract(half2 x, __private half2 *iptr);
8361 half3 __ovld fract(half3 x, __private half3 *iptr);
8362 half4 __ovld fract(half4 x, __private half4 *iptr);
8363 half8 __ovld fract(half8 x, __private half8 *iptr);
8364 half16 __ovld fract(half16 x, __private half16 *iptr);
8365 #endif //cl_khr_fp16
8366 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
8367
8368 /**
8369  * Extract mantissa and exponent from x. For each
8370  * component the mantissa returned is a float with
8371  * magnitude in the interval [1/2, 1) or 0. Each
8372  * component of x equals mantissa returned * 2^exp.
8373  */
8374 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
8375 float __ovld frexp(float x, int *exp);
8376 float2 __ovld frexp(float2 x, int2 *exp);
8377 float3 __ovld frexp(float3 x, int3 *exp);
8378 float4 __ovld frexp(float4 x, int4 *exp);
8379 float8 __ovld frexp(float8 x, int8 *exp);
8380 float16 __ovld frexp(float16 x, int16 *exp);
8381 #ifdef cl_khr_fp64
8382 double __ovld frexp(double x, int *exp);
8383 double2 __ovld frexp(double2 x, int2 *exp);
8384 double3 __ovld frexp(double3 x, int3 *exp);
8385 double4 __ovld frexp(double4 x, int4 *exp);
8386 double8 __ovld frexp(double8 x, int8 *exp);
8387 double16 __ovld frexp(double16 x, int16 *exp);
8388 #endif //cl_khr_fp64
8389 #ifdef cl_khr_fp16
8390 half __ovld frexp(half x, int *exp);
8391 half2 __ovld frexp(half2 x, int2 *exp);
8392 half3 __ovld frexp(half3 x, int3 *exp);
8393 half4 __ovld frexp(half4 x, int4 *exp);
8394 half8 __ovld frexp(half8 x, int8 *exp);
8395 half16 __ovld frexp(half16 x, int16 *exp);
8396 #endif //cl_khr_fp16
8397 #else
8398 float __ovld frexp(float x, __global int *exp);
8399 float2 __ovld frexp(float2 x, __global int2 *exp);
8400 float3 __ovld frexp(float3 x, __global int3 *exp);
8401 float4 __ovld frexp(float4 x, __global int4 *exp);
8402 float8 __ovld frexp(float8 x, __global int8 *exp);
8403 float16 __ovld frexp(float16 x, __global int16 *exp);
8404 float __ovld frexp(float x, __local int *exp);
8405 float2 __ovld frexp(float2 x, __local int2 *exp);
8406 float3 __ovld frexp(float3 x, __local int3 *exp);
8407 float4 __ovld frexp(float4 x, __local int4 *exp);
8408 float8 __ovld frexp(float8 x, __local int8 *exp);
8409 float16 __ovld frexp(float16 x, __local int16 *exp);
8410 float __ovld frexp(float x, __private int *exp);
8411 float2 __ovld frexp(float2 x, __private int2 *exp);
8412 float3 __ovld frexp(float3 x, __private int3 *exp);
8413 float4 __ovld frexp(float4 x, __private int4 *exp);
8414 float8 __ovld frexp(float8 x, __private int8 *exp);
8415 float16 __ovld frexp(float16 x, __private int16 *exp);
8416 #ifdef cl_khr_fp64
8417 double __ovld frexp(double x, __global int *exp);
8418 double2 __ovld frexp(double2 x, __global int2 *exp);
8419 double3 __ovld frexp(double3 x, __global int3 *exp);
8420 double4 __ovld frexp(double4 x, __global int4 *exp);
8421 double8 __ovld frexp(double8 x, __global int8 *exp);
8422 double16 __ovld frexp(double16 x, __global int16 *exp);
8423 double __ovld frexp(double x, __local int *exp);
8424 double2 __ovld frexp(double2 x, __local int2 *exp);
8425 double3 __ovld frexp(double3 x, __local int3 *exp);
8426 double4 __ovld frexp(double4 x, __local int4 *exp);
8427 double8 __ovld frexp(double8 x, __local int8 *exp);
8428 double16 __ovld frexp(double16 x, __local int16 *exp);
8429 double __ovld frexp(double x, __private int *exp);
8430 double2 __ovld frexp(double2 x, __private int2 *exp);
8431 double3 __ovld frexp(double3 x, __private int3 *exp);
8432 double4 __ovld frexp(double4 x, __private int4 *exp);
8433 double8 __ovld frexp(double8 x, __private int8 *exp);
8434 double16 __ovld frexp(double16 x, __private int16 *exp);
8435 #endif //cl_khr_fp64
8436 #ifdef cl_khr_fp16
8437 half __ovld frexp(half x, __global int *exp);
8438 half2 __ovld frexp(half2 x, __global int2 *exp);
8439 half3 __ovld frexp(half3 x, __global int3 *exp);
8440 half4 __ovld frexp(half4 x, __global int4 *exp);
8441 half8 __ovld frexp(half8 x, __global int8 *exp);
8442 half16 __ovld frexp(half16 x, __global int16 *exp);
8443 half __ovld frexp(half x, __local int *exp);
8444 half2 __ovld frexp(half2 x, __local int2 *exp);
8445 half3 __ovld frexp(half3 x, __local int3 *exp);
8446 half4 __ovld frexp(half4 x, __local int4 *exp);
8447 half8 __ovld frexp(half8 x, __local int8 *exp);
8448 half16 __ovld frexp(half16 x, __local int16 *exp);
8449 half __ovld frexp(half x, __private int *exp);
8450 half2 __ovld frexp(half2 x, __private int2 *exp);
8451 half3 __ovld frexp(half3 x, __private int3 *exp);
8452 half4 __ovld frexp(half4 x, __private int4 *exp);
8453 half8 __ovld frexp(half8 x, __private int8 *exp);
8454 half16 __ovld frexp(half16 x, __private int16 *exp);
8455 #endif //cl_khr_fp16
8456 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
8457
8458 /**
8459  * Compute the value of the square root of x^2 + y^2
8460  * without undue overflow or underflow.
8461  */
8462 float __ovld __cnfn hypot(float x, float y);
8463 float2 __ovld __cnfn hypot(float2 x, float2 y);
8464 float3 __ovld __cnfn hypot(float3 x, float3 y);
8465 float4 __ovld __cnfn hypot(float4 x, float4 y);
8466 float8 __ovld __cnfn hypot(float8 x, float8 y);
8467 float16 __ovld __cnfn hypot(float16 x, float16 y);
8468 #ifdef cl_khr_fp64
8469 double __ovld __cnfn hypot(double x, double y);
8470 double2 __ovld __cnfn hypot(double2 x, double2 y);
8471 double3 __ovld __cnfn hypot(double3 x, double3 y);
8472 double4 __ovld __cnfn hypot(double4 x, double4 y);
8473 double8 __ovld __cnfn hypot(double8 x, double8 y);
8474 double16 __ovld __cnfn hypot(double16 x, double16 y);
8475 #endif //cl_khr_fp64
8476 #ifdef cl_khr_fp16
8477 half __ovld __cnfn hypot(half x, half y);
8478 half2 __ovld __cnfn hypot(half2 x, half2 y);
8479 half3 __ovld __cnfn hypot(half3 x, half3 y);
8480 half4 __ovld __cnfn hypot(half4 x, half4 y);
8481 half8 __ovld __cnfn hypot(half8 x, half8 y);
8482 half16 __ovld __cnfn hypot(half16 x, half16 y);
8483 #endif //cl_khr_fp16
8484
8485 /**
8486  * Return the exponent as an integer value.
8487  */
8488 int __ovld __cnfn ilogb(float x);
8489 int2 __ovld __cnfn ilogb(float2 x);
8490 int3 __ovld __cnfn ilogb(float3 x);
8491 int4 __ovld __cnfn ilogb(float4 x);
8492 int8 __ovld __cnfn ilogb(float8 x);
8493 int16 __ovld __cnfn ilogb(float16 x);
8494 #ifdef cl_khr_fp64
8495 int __ovld __cnfn ilogb(double x);
8496 int2 __ovld __cnfn ilogb(double2 x);
8497 int3 __ovld __cnfn ilogb(double3 x);
8498 int4 __ovld __cnfn ilogb(double4 x);
8499 int8 __ovld __cnfn ilogb(double8 x);
8500 int16 __ovld __cnfn ilogb(double16 x);
8501 #endif //cl_khr_fp64
8502 #ifdef cl_khr_fp16
8503 int __ovld __cnfn ilogb(half x);
8504 int2 __ovld __cnfn ilogb(half2 x);
8505 int3 __ovld __cnfn ilogb(half3 x);
8506 int4 __ovld __cnfn ilogb(half4 x);
8507 int8 __ovld __cnfn ilogb(half8 x);
8508 int16 __ovld __cnfn ilogb(half16 x);
8509 #endif //cl_khr_fp16
8510
8511 /**
8512  * Multiply x by 2 to the power n.
8513  */
8514 float __ovld __cnfn ldexp(float x, int n);
8515 float2 __ovld __cnfn ldexp(float2 x, int2 n);
8516 float3 __ovld __cnfn ldexp(float3 x, int3 n);
8517 float4 __ovld __cnfn ldexp(float4 x, int4 n);
8518 float8 __ovld __cnfn ldexp(float8 x, int8 n);
8519 float16 __ovld __cnfn ldexp(float16 x, int16 n);
8520 float2 __ovld __cnfn ldexp(float2 x, int n);
8521 float3 __ovld __cnfn ldexp(float3 x, int n);
8522 float4 __ovld __cnfn ldexp(float4 x, int n);
8523 float8 __ovld __cnfn ldexp(float8 x, int n);
8524 float16 __ovld __cnfn ldexp(float16 x, int n);
8525 #ifdef cl_khr_fp64
8526 double __ovld __cnfn ldexp(double x, int n);
8527 double2 __ovld __cnfn ldexp(double2 x, int2 n);
8528 double3 __ovld __cnfn ldexp(double3 x, int3 n);
8529 double4 __ovld __cnfn ldexp(double4 x, int4 n);
8530 double8 __ovld __cnfn ldexp(double8 x, int8 n);
8531 double16 __ovld __cnfn ldexp(double16 x, int16 n);
8532 double2 __ovld __cnfn ldexp(double2 x, int n);
8533 double3 __ovld __cnfn ldexp(double3 x, int n);
8534 double4 __ovld __cnfn ldexp(double4 x, int n);
8535 double8 __ovld __cnfn ldexp(double8 x, int n);
8536 double16 __ovld __cnfn ldexp(double16 x, int n);
8537 #endif //cl_khr_fp64
8538 #ifdef cl_khr_fp16
8539 half __ovld __cnfn ldexp(half x, int n);
8540 half2 __ovld __cnfn ldexp(half2 x, int2 n);
8541 half3 __ovld __cnfn ldexp(half3 x, int3 n);
8542 half4 __ovld __cnfn ldexp(half4 x, int4 n);
8543 half8 __ovld __cnfn ldexp(half8 x, int8 n);
8544 half16 __ovld __cnfn ldexp(half16 x, int16 n);
8545 half2 __ovld __cnfn ldexp(half2 x, int n);
8546 half3 __ovld __cnfn ldexp(half3 x, int n);
8547 half4 __ovld __cnfn ldexp(half4 x, int n);
8548 half8 __ovld __cnfn ldexp(half8 x, int n);
8549 half16 __ovld __cnfn ldexp(half16 x, int n);
8550 #endif //cl_khr_fp16
8551
8552 /**
8553  * Log gamma function. Returns the natural
8554  * logarithm of the absolute value of the gamma
8555  * function. The sign of the gamma function is
8556  * returned in the signp argument of lgamma_r.
8557  */
8558 float __ovld __cnfn lgamma(float x);
8559 float2 __ovld __cnfn lgamma(float2 x);
8560 float3 __ovld __cnfn lgamma(float3 x);
8561 float4 __ovld __cnfn lgamma(float4 x);
8562 float8 __ovld __cnfn lgamma(float8 x);
8563 float16 __ovld __cnfn lgamma(float16 x);
8564 #ifdef cl_khr_fp64
8565 double __ovld __cnfn lgamma(double x);
8566 double2 __ovld __cnfn lgamma(double2 x);
8567 double3 __ovld __cnfn lgamma(double3 x);
8568 double4 __ovld __cnfn lgamma(double4 x);
8569 double8 __ovld __cnfn lgamma(double8 x);
8570 double16 __ovld __cnfn lgamma(double16 x);
8571 #endif //cl_khr_fp64
8572 #ifdef cl_khr_fp16
8573 half __ovld __cnfn lgamma(half x);
8574 half2 __ovld __cnfn lgamma(half2 x);
8575 half3 __ovld __cnfn lgamma(half3 x);
8576 half4 __ovld __cnfn lgamma(half4 x);
8577 half8 __ovld __cnfn lgamma(half8 x);
8578 half16 __ovld __cnfn lgamma(half16 x);
8579 #endif //cl_khr_fp16
8580
8581 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
8582 float __ovld lgamma_r(float x, int *signp);
8583 float2 __ovld lgamma_r(float2 x, int2 *signp);
8584 float3 __ovld lgamma_r(float3 x, int3 *signp);
8585 float4 __ovld lgamma_r(float4 x, int4 *signp);
8586 float8 __ovld lgamma_r(float8 x, int8 *signp);
8587 float16 __ovld lgamma_r(float16 x, int16 *signp);
8588 #ifdef cl_khr_fp64
8589 double __ovld lgamma_r(double x, int *signp);
8590 double2 __ovld lgamma_r(double2 x, int2 *signp);
8591 double3 __ovld lgamma_r(double3 x, int3 *signp);
8592 double4 __ovld lgamma_r(double4 x, int4 *signp);
8593 double8 __ovld lgamma_r(double8 x, int8 *signp);
8594 double16 __ovld lgamma_r(double16 x, int16 *signp);
8595 #endif //cl_khr_fp64
8596 #ifdef cl_khr_fp16
8597 half __ovld lgamma_r(half x, int *signp);
8598 half2 __ovld lgamma_r(half2 x, int2 *signp);
8599 half3 __ovld lgamma_r(half3 x, int3 *signp);
8600 half4 __ovld lgamma_r(half4 x, int4 *signp);
8601 half8 __ovld lgamma_r(half8 x, int8 *signp);
8602 half16 __ovld lgamma_r(half16 x, int16 *signp);
8603 #endif //cl_khr_fp16
8604 #else
8605 float __ovld lgamma_r(float x, __global int *signp);
8606 float2 __ovld lgamma_r(float2 x, __global int2 *signp);
8607 float3 __ovld lgamma_r(float3 x, __global int3 *signp);
8608 float4 __ovld lgamma_r(float4 x, __global int4 *signp);
8609 float8 __ovld lgamma_r(float8 x, __global int8 *signp);
8610 float16 __ovld lgamma_r(float16 x, __global int16 *signp);
8611 float __ovld lgamma_r(float x, __local int *signp);
8612 float2 __ovld lgamma_r(float2 x, __local int2 *signp);
8613 float3 __ovld lgamma_r(float3 x, __local int3 *signp);
8614 float4 __ovld lgamma_r(float4 x, __local int4 *signp);
8615 float8 __ovld lgamma_r(float8 x, __local int8 *signp);
8616 float16 __ovld lgamma_r(float16 x, __local int16 *signp);
8617 float __ovld lgamma_r(float x, __private int *signp);
8618 float2 __ovld lgamma_r(float2 x, __private int2 *signp);
8619 float3 __ovld lgamma_r(float3 x, __private int3 *signp);
8620 float4 __ovld lgamma_r(float4 x, __private int4 *signp);
8621 float8 __ovld lgamma_r(float8 x, __private int8 *signp);
8622 float16 __ovld lgamma_r(float16 x, __private int16 *signp);
8623 #ifdef cl_khr_fp64
8624 double __ovld lgamma_r(double x, __global int *signp);
8625 double2 __ovld lgamma_r(double2 x, __global int2 *signp);
8626 double3 __ovld lgamma_r(double3 x, __global int3 *signp);
8627 double4 __ovld lgamma_r(double4 x, __global int4 *signp);
8628 double8 __ovld lgamma_r(double8 x, __global int8 *signp);
8629 double16 __ovld lgamma_r(double16 x, __global int16 *signp);
8630 double __ovld lgamma_r(double x, __local int *signp);
8631 double2 __ovld lgamma_r(double2 x, __local int2 *signp);
8632 double3 __ovld lgamma_r(double3 x, __local int3 *signp);
8633 double4 __ovld lgamma_r(double4 x, __local int4 *signp);
8634 double8 __ovld lgamma_r(double8 x, __local int8 *signp);
8635 double16 __ovld lgamma_r(double16 x, __local int16 *signp);
8636 double __ovld lgamma_r(double x, __private int *signp);
8637 double2 __ovld lgamma_r(double2 x, __private int2 *signp);
8638 double3 __ovld lgamma_r(double3 x, __private int3 *signp);
8639 double4 __ovld lgamma_r(double4 x, __private int4 *signp);
8640 double8 __ovld lgamma_r(double8 x, __private int8 *signp);
8641 double16 __ovld lgamma_r(double16 x, __private int16 *signp);
8642 #endif //cl_khr_fp64
8643 #ifdef cl_khr_fp16
8644 half __ovld lgamma_r(half x, __global int *signp);
8645 half2 __ovld lgamma_r(half2 x, __global int2 *signp);
8646 half3 __ovld lgamma_r(half3 x, __global int3 *signp);
8647 half4 __ovld lgamma_r(half4 x, __global int4 *signp);
8648 half8 __ovld lgamma_r(half8 x, __global int8 *signp);
8649 half16 __ovld lgamma_r(half16 x, __global int16 *signp);
8650 half __ovld lgamma_r(half x, __local int *signp);
8651 half2 __ovld lgamma_r(half2 x, __local int2 *signp);
8652 half3 __ovld lgamma_r(half3 x, __local int3 *signp);
8653 half4 __ovld lgamma_r(half4 x, __local int4 *signp);
8654 half8 __ovld lgamma_r(half8 x, __local int8 *signp);
8655 half16 __ovld lgamma_r(half16 x, __local int16 *signp);
8656 half __ovld lgamma_r(half x, __private int *signp);
8657 half2 __ovld lgamma_r(half2 x, __private int2 *signp);
8658 half3 __ovld lgamma_r(half3 x, __private int3 *signp);
8659 half4 __ovld lgamma_r(half4 x, __private int4 *signp);
8660 half8 __ovld lgamma_r(half8 x, __private int8 *signp);
8661 half16 __ovld lgamma_r(half16 x, __private int16 *signp);
8662 #endif //cl_khr_fp16
8663 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
8664
8665 /**
8666  * Compute natural logarithm.
8667  */
8668 float __ovld __cnfn log(float);
8669 float2 __ovld __cnfn log(float2);
8670 float3 __ovld __cnfn log(float3);
8671 float4 __ovld __cnfn log(float4);
8672 float8 __ovld __cnfn log(float8);
8673 float16 __ovld __cnfn log(float16);
8674 #ifdef cl_khr_fp64
8675 double __ovld __cnfn log(double);
8676 double2 __ovld __cnfn log(double2);
8677 double3 __ovld __cnfn log(double3);
8678 double4 __ovld __cnfn log(double4);
8679 double8 __ovld __cnfn log(double8);
8680 double16 __ovld __cnfn log(double16);
8681 #endif //cl_khr_fp64
8682 #ifdef cl_khr_fp16
8683 half __ovld __cnfn log(half);
8684 half2 __ovld __cnfn log(half2);
8685 half3 __ovld __cnfn log(half3);
8686 half4 __ovld __cnfn log(half4);
8687 half8 __ovld __cnfn log(half8);
8688 half16 __ovld __cnfn log(half16);
8689 #endif //cl_khr_fp16
8690
8691 /**
8692  * Compute a base 2 logarithm.
8693  */
8694 float __ovld __cnfn log2(float);
8695 float2 __ovld __cnfn log2(float2);
8696 float3 __ovld __cnfn log2(float3);
8697 float4 __ovld __cnfn log2(float4);
8698 float8 __ovld __cnfn log2(float8);
8699 float16 __ovld __cnfn log2(float16);
8700 #ifdef cl_khr_fp64
8701 double __ovld __cnfn log2(double);
8702 double2 __ovld __cnfn log2(double2);
8703 double3 __ovld __cnfn log2(double3);
8704 double4 __ovld __cnfn log2(double4);
8705 double8 __ovld __cnfn log2(double8);
8706 double16 __ovld __cnfn log2(double16);
8707 #endif //cl_khr_fp64
8708 #ifdef cl_khr_fp16
8709 half __ovld __cnfn log2(half);
8710 half2 __ovld __cnfn log2(half2);
8711 half3 __ovld __cnfn log2(half3);
8712 half4 __ovld __cnfn log2(half4);
8713 half8 __ovld __cnfn log2(half8);
8714 half16 __ovld __cnfn log2(half16);
8715 #endif //cl_khr_fp16
8716
8717 /**
8718  * Compute a base 10 logarithm.
8719  */
8720 float __ovld __cnfn log10(float);
8721 float2 __ovld __cnfn log10(float2);
8722 float3 __ovld __cnfn log10(float3);
8723 float4 __ovld __cnfn log10(float4);
8724 float8 __ovld __cnfn log10(float8);
8725 float16 __ovld __cnfn log10(float16);
8726 #ifdef cl_khr_fp64
8727 double __ovld __cnfn log10(double);
8728 double2 __ovld __cnfn log10(double2);
8729 double3 __ovld __cnfn log10(double3);
8730 double4 __ovld __cnfn log10(double4);
8731 double8 __ovld __cnfn log10(double8);
8732 double16 __ovld __cnfn log10(double16);
8733 #endif //cl_khr_fp64
8734 #ifdef cl_khr_fp16
8735 half __ovld __cnfn log10(half);
8736 half2 __ovld __cnfn log10(half2);
8737 half3 __ovld __cnfn log10(half3);
8738 half4 __ovld __cnfn log10(half4);
8739 half8 __ovld __cnfn log10(half8);
8740 half16 __ovld __cnfn log10(half16);
8741 #endif //cl_khr_fp16
8742
8743 /**
8744  * Compute a base e logarithm of (1.0 + x).
8745  */
8746 float __ovld __cnfn log1p(float x);
8747 float2 __ovld __cnfn log1p(float2 x);
8748 float3 __ovld __cnfn log1p(float3 x);
8749 float4 __ovld __cnfn log1p(float4 x);
8750 float8 __ovld __cnfn log1p(float8 x);
8751 float16 __ovld __cnfn log1p(float16 x);
8752 #ifdef cl_khr_fp64
8753 double __ovld __cnfn log1p(double x);
8754 double2 __ovld __cnfn log1p(double2 x);
8755 double3 __ovld __cnfn log1p(double3 x);
8756 double4 __ovld __cnfn log1p(double4 x);
8757 double8 __ovld __cnfn log1p(double8 x);
8758 double16 __ovld __cnfn log1p(double16 x);
8759 #endif //cl_khr_fp64
8760 #ifdef cl_khr_fp16
8761 half __ovld __cnfn log1p(half x);
8762 half2 __ovld __cnfn log1p(half2 x);
8763 half3 __ovld __cnfn log1p(half3 x);
8764 half4 __ovld __cnfn log1p(half4 x);
8765 half8 __ovld __cnfn log1p(half8 x);
8766 half16 __ovld __cnfn log1p(half16 x);
8767 #endif //cl_khr_fp16
8768
8769 /**
8770  * Compute the exponent of x, which is the integral
8771  * part of logr | x |.
8772  */
8773 float __ovld __cnfn logb(float x);
8774 float2 __ovld __cnfn logb(float2 x);
8775 float3 __ovld __cnfn logb(float3 x);
8776 float4 __ovld __cnfn logb(float4 x);
8777 float8 __ovld __cnfn logb(float8 x);
8778 float16 __ovld __cnfn logb(float16 x);
8779 #ifdef cl_khr_fp64
8780 double __ovld __cnfn logb(double x);
8781 double2 __ovld __cnfn logb(double2 x);
8782 double3 __ovld __cnfn logb(double3 x);
8783 double4 __ovld __cnfn logb(double4 x);
8784 double8 __ovld __cnfn logb(double8 x);
8785 double16 __ovld __cnfn logb(double16 x);
8786 #endif //cl_khr_fp64
8787 #ifdef cl_khr_fp16
8788 half __ovld __cnfn logb(half x);
8789 half2 __ovld __cnfn logb(half2 x);
8790 half3 __ovld __cnfn logb(half3 x);
8791 half4 __ovld __cnfn logb(half4 x);
8792 half8 __ovld __cnfn logb(half8 x);
8793 half16 __ovld __cnfn logb(half16 x);
8794 #endif //cl_khr_fp16
8795
8796 /**
8797  * mad approximates a * b + c. Whether or how the
8798  * product of a * b is rounded and how supernormal or
8799  * subnormal intermediate products are handled is not
8800  * defined. mad is intended to be used where speed is
8801  * preferred over accuracy.
8802  */
8803 float __ovld __cnfn mad(float a, float b, float c);
8804 float2 __ovld __cnfn mad(float2 a, float2 b, float2 c);
8805 float3 __ovld __cnfn mad(float3 a, float3 b, float3 c);
8806 float4 __ovld __cnfn mad(float4 a, float4 b, float4 c);
8807 float8 __ovld __cnfn mad(float8 a, float8 b, float8 c);
8808 float16 __ovld __cnfn mad(float16 a, float16 b, float16 c);
8809 #ifdef cl_khr_fp64
8810 double __ovld __cnfn mad(double a, double b, double c);
8811 double2 __ovld __cnfn mad(double2 a, double2 b, double2 c);
8812 double3 __ovld __cnfn mad(double3 a, double3 b, double3 c);
8813 double4 __ovld __cnfn mad(double4 a, double4 b, double4 c);
8814 double8 __ovld __cnfn mad(double8 a, double8 b, double8 c);
8815 double16 __ovld __cnfn mad(double16 a, double16 b, double16 c);
8816 #endif //cl_khr_fp64
8817 #ifdef cl_khr_fp16
8818 half __ovld __cnfn mad(half a, half b, half c);
8819 half2 __ovld __cnfn mad(half2 a, half2 b, half2 c);
8820 half3 __ovld __cnfn mad(half3 a, half3 b, half3 c);
8821 half4 __ovld __cnfn mad(half4 a, half4 b, half4 c);
8822 half8 __ovld __cnfn mad(half8 a, half8 b, half8 c);
8823 half16 __ovld __cnfn mad(half16 a, half16 b, half16 c);
8824 #endif //cl_khr_fp16
8825
8826 /**
8827  * Returns x if | x | > | y |, y if | y | > | x |, otherwise
8828  * fmax(x, y).
8829  */
8830 float __ovld __cnfn maxmag(float x, float y);
8831 float2 __ovld __cnfn maxmag(float2 x, float2 y);
8832 float3 __ovld __cnfn maxmag(float3 x, float3 y);
8833 float4 __ovld __cnfn maxmag(float4 x, float4 y);
8834 float8 __ovld __cnfn maxmag(float8 x, float8 y);
8835 float16 __ovld __cnfn maxmag(float16 x, float16 y);
8836 #ifdef cl_khr_fp64
8837 double __ovld __cnfn maxmag(double x, double y);
8838 double2 __ovld __cnfn maxmag(double2 x, double2 y);
8839 double3 __ovld __cnfn maxmag(double3 x, double3 y);
8840 double4 __ovld __cnfn maxmag(double4 x, double4 y);
8841 double8 __ovld __cnfn maxmag(double8 x, double8 y);
8842 double16 __ovld __cnfn maxmag(double16 x, double16 y);
8843 #endif //cl_khr_fp64
8844 #ifdef cl_khr_fp16
8845 half __ovld __cnfn maxmag(half x, half y);
8846 half2 __ovld __cnfn maxmag(half2 x, half2 y);
8847 half3 __ovld __cnfn maxmag(half3 x, half3 y);
8848 half4 __ovld __cnfn maxmag(half4 x, half4 y);
8849 half8 __ovld __cnfn maxmag(half8 x, half8 y);
8850 half16 __ovld __cnfn maxmag(half16 x, half16 y);
8851 #endif //cl_khr_fp16
8852
8853 /**
8854  * Returns x if | x | < | y |, y if | y | < | x |, otherwise
8855  * fmin(x, y).
8856  */
8857 float __ovld __cnfn minmag(float x, float y);
8858 float2 __ovld __cnfn minmag(float2 x, float2 y);
8859 float3 __ovld __cnfn minmag(float3 x, float3 y);
8860 float4 __ovld __cnfn minmag(float4 x, float4 y);
8861 float8 __ovld __cnfn minmag(float8 x, float8 y);
8862 float16 __ovld __cnfn minmag(float16 x, float16 y);
8863 #ifdef cl_khr_fp64
8864 double __ovld __cnfn minmag(double x, double y);
8865 double2 __ovld __cnfn minmag(double2 x, double2 y);
8866 double3 __ovld __cnfn minmag(double3 x, double3 y);
8867 double4 __ovld __cnfn minmag(double4 x, double4 y);
8868 double8 __ovld __cnfn minmag(double8 x, double8 y);
8869 double16 __ovld __cnfn minmag(double16 x, double16 y);
8870 #endif //cl_khr_fp64
8871 #ifdef cl_khr_fp16
8872 half __ovld __cnfn minmag(half x, half y);
8873 half2 __ovld __cnfn minmag(half2 x, half2 y);
8874 half3 __ovld __cnfn minmag(half3 x, half3 y);
8875 half4 __ovld __cnfn minmag(half4 x, half4 y);
8876 half8 __ovld __cnfn minmag(half8 x, half8 y);
8877 half16 __ovld __cnfn minmag(half16 x, half16 y);
8878 #endif //cl_khr_fp16
8879
8880 /**
8881  * Decompose a floating-point number. The modf
8882  * function breaks the argument x into integral and
8883  * fractional parts, each of which has the same sign as
8884  * the argument. It stores the integral part in the object
8885  * pointed to by iptr.
8886  */
8887 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
8888 float __ovld modf(float x, float *iptr);
8889 float2 __ovld modf(float2 x, float2 *iptr);
8890 float3 __ovld modf(float3 x, float3 *iptr);
8891 float4 __ovld modf(float4 x, float4 *iptr);
8892 float8 __ovld modf(float8 x, float8 *iptr);
8893 float16 __ovld modf(float16 x, float16 *iptr);
8894 #ifdef cl_khr_fp64
8895 double __ovld modf(double x, double *iptr);
8896 double2 __ovld modf(double2 x, double2 *iptr);
8897 double3 __ovld modf(double3 x, double3 *iptr);
8898 double4 __ovld modf(double4 x, double4 *iptr);
8899 double8 __ovld modf(double8 x, double8 *iptr);
8900 double16 __ovld modf(double16 x, double16 *iptr);
8901 #endif //cl_khr_fp64
8902 #ifdef cl_khr_fp16
8903 half __ovld modf(half x, half *iptr);
8904 half2 __ovld modf(half2 x, half2 *iptr);
8905 half3 __ovld modf(half3 x, half3 *iptr);
8906 half4 __ovld modf(half4 x, half4 *iptr);
8907 half8 __ovld modf(half8 x, half8 *iptr);
8908 half16 __ovld modf(half16 x, half16 *iptr);
8909 #endif //cl_khr_fp16
8910 #else
8911 float __ovld modf(float x, __global float *iptr);
8912 float2 __ovld modf(float2 x, __global float2 *iptr);
8913 float3 __ovld modf(float3 x, __global float3 *iptr);
8914 float4 __ovld modf(float4 x, __global float4 *iptr);
8915 float8 __ovld modf(float8 x, __global float8 *iptr);
8916 float16 __ovld modf(float16 x, __global float16 *iptr);
8917 float __ovld modf(float x, __local float *iptr);
8918 float2 __ovld modf(float2 x, __local float2 *iptr);
8919 float3 __ovld modf(float3 x, __local float3 *iptr);
8920 float4 __ovld modf(float4 x, __local float4 *iptr);
8921 float8 __ovld modf(float8 x, __local float8 *iptr);
8922 float16 __ovld modf(float16 x, __local float16 *iptr);
8923 float __ovld modf(float x, __private float *iptr);
8924 float2 __ovld modf(float2 x, __private float2 *iptr);
8925 float3 __ovld modf(float3 x, __private float3 *iptr);
8926 float4 __ovld modf(float4 x, __private float4 *iptr);
8927 float8 __ovld modf(float8 x, __private float8 *iptr);
8928 float16 __ovld modf(float16 x, __private float16 *iptr);
8929 #ifdef cl_khr_fp64
8930 double __ovld modf(double x, __global double *iptr);
8931 double2 __ovld modf(double2 x, __global double2 *iptr);
8932 double3 __ovld modf(double3 x, __global double3 *iptr);
8933 double4 __ovld modf(double4 x, __global double4 *iptr);
8934 double8 __ovld modf(double8 x, __global double8 *iptr);
8935 double16 __ovld modf(double16 x, __global double16 *iptr);
8936 double __ovld modf(double x, __local double *iptr);
8937 double2 __ovld modf(double2 x, __local double2 *iptr);
8938 double3 __ovld modf(double3 x, __local double3 *iptr);
8939 double4 __ovld modf(double4 x, __local double4 *iptr);
8940 double8 __ovld modf(double8 x, __local double8 *iptr);
8941 double16 __ovld modf(double16 x, __local double16 *iptr);
8942 double __ovld modf(double x, __private double *iptr);
8943 double2 __ovld modf(double2 x, __private double2 *iptr);
8944 double3 __ovld modf(double3 x, __private double3 *iptr);
8945 double4 __ovld modf(double4 x, __private double4 *iptr);
8946 double8 __ovld modf(double8 x, __private double8 *iptr);
8947 double16 __ovld modf(double16 x, __private double16 *iptr);
8948 #endif //cl_khr_fp64
8949 #ifdef cl_khr_fp16
8950 half __ovld modf(half x, __global half *iptr);
8951 half2 __ovld modf(half2 x, __global half2 *iptr);
8952 half3 __ovld modf(half3 x, __global half3 *iptr);
8953 half4 __ovld modf(half4 x, __global half4 *iptr);
8954 half8 __ovld modf(half8 x, __global half8 *iptr);
8955 half16 __ovld modf(half16 x, __global half16 *iptr);
8956 half __ovld modf(half x, __local half *iptr);
8957 half2 __ovld modf(half2 x, __local half2 *iptr);
8958 half3 __ovld modf(half3 x, __local half3 *iptr);
8959 half4 __ovld modf(half4 x, __local half4 *iptr);
8960 half8 __ovld modf(half8 x, __local half8 *iptr);
8961 half16 __ovld modf(half16 x, __local half16 *iptr);
8962 half __ovld modf(half x, __private half *iptr);
8963 half2 __ovld modf(half2 x, __private half2 *iptr);
8964 half3 __ovld modf(half3 x, __private half3 *iptr);
8965 half4 __ovld modf(half4 x, __private half4 *iptr);
8966 half8 __ovld modf(half8 x, __private half8 *iptr);
8967 half16 __ovld modf(half16 x, __private half16 *iptr);
8968 #endif //cl_khr_fp16
8969 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
8970
8971 /**
8972  * Returns a quiet NaN. The nancode may be placed
8973  * in the significand of the resulting NaN.
8974  */
8975 float __ovld __cnfn nan(uint nancode);
8976 float2 __ovld __cnfn nan(uint2 nancode);
8977 float3 __ovld __cnfn nan(uint3 nancode);
8978 float4 __ovld __cnfn nan(uint4 nancode);
8979 float8 __ovld __cnfn nan(uint8 nancode);
8980 float16 __ovld __cnfn nan(uint16 nancode);
8981 #ifdef cl_khr_fp64
8982 double __ovld __cnfn nan(ulong nancode);
8983 double2 __ovld __cnfn nan(ulong2 nancode);
8984 double3 __ovld __cnfn nan(ulong3 nancode);
8985 double4 __ovld __cnfn nan(ulong4 nancode);
8986 double8 __ovld __cnfn nan(ulong8 nancode);
8987 double16 __ovld __cnfn nan(ulong16 nancode);
8988 #endif //cl_khr_fp64
8989 #ifdef cl_khr_fp16
8990 half __ovld __cnfn nan(ushort nancode);
8991 half2 __ovld __cnfn nan(ushort2 nancode);
8992 half3 __ovld __cnfn nan(ushort3 nancode);
8993 half4 __ovld __cnfn nan(ushort4 nancode);
8994 half8 __ovld __cnfn nan(ushort8 nancode);
8995 half16 __ovld __cnfn nan(ushort16 nancode);
8996 #endif //cl_khr_fp16
8997
8998 /**
8999  * Computes the next representable single-precision
9000  * floating-point value following x in the direction of
9001  * y. Thus, if y is less than x, nextafter() returns the
9002  * largest representable floating-point number less
9003  * than x.
9004  */
9005 float __ovld __cnfn nextafter(float x, float y);
9006 float2 __ovld __cnfn nextafter(float2 x, float2 y);
9007 float3 __ovld __cnfn nextafter(float3 x, float3 y);
9008 float4 __ovld __cnfn nextafter(float4 x, float4 y);
9009 float8 __ovld __cnfn nextafter(float8 x, float8 y);
9010 float16 __ovld __cnfn nextafter(float16 x, float16 y);
9011 #ifdef cl_khr_fp64
9012 double __ovld __cnfn nextafter(double x, double y);
9013 double2 __ovld __cnfn nextafter(double2 x, double2 y);
9014 double3 __ovld __cnfn nextafter(double3 x, double3 y);
9015 double4 __ovld __cnfn nextafter(double4 x, double4 y);
9016 double8 __ovld __cnfn nextafter(double8 x, double8 y);
9017 double16 __ovld __cnfn nextafter(double16 x, double16 y);
9018 #endif //cl_khr_fp64
9019 #ifdef cl_khr_fp16
9020 half __ovld __cnfn nextafter(half x, half y);
9021 half2 __ovld __cnfn nextafter(half2 x, half2 y);
9022 half3 __ovld __cnfn nextafter(half3 x, half3 y);
9023 half4 __ovld __cnfn nextafter(half4 x, half4 y);
9024 half8 __ovld __cnfn nextafter(half8 x, half8 y);
9025 half16 __ovld __cnfn nextafter(half16 x, half16 y);
9026 #endif //cl_khr_fp16
9027
9028 /**
9029  * Compute x to the power y.
9030  */
9031 float __ovld __cnfn pow(float x, float y);
9032 float2 __ovld __cnfn pow(float2 x, float2 y);
9033 float3 __ovld __cnfn pow(float3 x, float3 y);
9034 float4 __ovld __cnfn pow(float4 x, float4 y);
9035 float8 __ovld __cnfn pow(float8 x, float8 y);
9036 float16 __ovld __cnfn pow(float16 x, float16 y);
9037 #ifdef cl_khr_fp64
9038 double __ovld __cnfn pow(double x, double y);
9039 double2 __ovld __cnfn pow(double2 x, double2 y);
9040 double3 __ovld __cnfn pow(double3 x, double3 y);
9041 double4 __ovld __cnfn pow(double4 x, double4 y);
9042 double8 __ovld __cnfn pow(double8 x, double8 y);
9043 double16 __ovld __cnfn pow(double16 x, double16 y);
9044 #endif //cl_khr_fp64
9045 #ifdef cl_khr_fp16
9046 half __ovld __cnfn pow(half x, half y);
9047 half2 __ovld __cnfn pow(half2 x, half2 y);
9048 half3 __ovld __cnfn pow(half3 x, half3 y);
9049 half4 __ovld __cnfn pow(half4 x, half4 y);
9050 half8 __ovld __cnfn pow(half8 x, half8 y);
9051 half16 __ovld __cnfn pow(half16 x, half16 y);
9052 #endif //cl_khr_fp16
9053
9054 /**
9055  * Compute x to the power y, where y is an integer.
9056  */
9057 float __ovld __cnfn pown(float x, int y);
9058 float2 __ovld __cnfn pown(float2 x, int2 y);
9059 float3 __ovld __cnfn pown(float3 x, int3 y);
9060 float4 __ovld __cnfn pown(float4 x, int4 y);
9061 float8 __ovld __cnfn pown(float8 x, int8 y);
9062 float16 __ovld __cnfn pown(float16 x, int16 y);
9063 #ifdef cl_khr_fp64
9064 double __ovld __cnfn pown(double x, int y);
9065 double2 __ovld __cnfn pown(double2 x, int2 y);
9066 double3 __ovld __cnfn pown(double3 x, int3 y);
9067 double4 __ovld __cnfn pown(double4 x, int4 y);
9068 double8 __ovld __cnfn pown(double8 x, int8 y);
9069 double16 __ovld __cnfn pown(double16 x, int16 y);
9070 #endif //cl_khr_fp64
9071 #ifdef cl_khr_fp16
9072 half __ovld __cnfn pown(half x, int y);
9073 half2 __ovld __cnfn pown(half2 x, int2 y);
9074 half3 __ovld __cnfn pown(half3 x, int3 y);
9075 half4 __ovld __cnfn pown(half4 x, int4 y);
9076 half8 __ovld __cnfn pown(half8 x, int8 y);
9077 half16 __ovld __cnfn pown(half16 x, int16 y);
9078 #endif //cl_khr_fp16
9079
9080 /**
9081  * Compute x to the power y, where x is >= 0.
9082  */
9083 float __ovld __cnfn powr(float x, float y);
9084 float2 __ovld __cnfn powr(float2 x, float2 y);
9085 float3 __ovld __cnfn powr(float3 x, float3 y);
9086 float4 __ovld __cnfn powr(float4 x, float4 y);
9087 float8 __ovld __cnfn powr(float8 x, float8 y);
9088 float16 __ovld __cnfn powr(float16 x, float16 y);
9089 #ifdef cl_khr_fp64
9090 double __ovld __cnfn powr(double x, double y);
9091 double2 __ovld __cnfn powr(double2 x, double2 y);
9092 double3 __ovld __cnfn powr(double3 x, double3 y);
9093 double4 __ovld __cnfn powr(double4 x, double4 y);
9094 double8 __ovld __cnfn powr(double8 x, double8 y);
9095 double16 __ovld __cnfn powr(double16 x, double16 y);
9096 #endif //cl_khr_fp64
9097 #ifdef cl_khr_fp16
9098 half __ovld __cnfn powr(half x, half y);
9099 half2 __ovld __cnfn powr(half2 x, half2 y);
9100 half3 __ovld __cnfn powr(half3 x, half3 y);
9101 half4 __ovld __cnfn powr(half4 x, half4 y);
9102 half8 __ovld __cnfn powr(half8 x, half8 y);
9103 half16 __ovld __cnfn powr(half16 x, half16 y);
9104 #endif //cl_khr_fp16
9105
9106 /**
9107  * Compute the value r such that r = x - n*y, where n
9108  * is the integer nearest the exact value of x/y. If there
9109  * are two integers closest to x/y, n shall be the even
9110  * one. If r is zero, it is given the same sign as x.
9111  */
9112 float __ovld __cnfn remainder(float x, float y);
9113 float2 __ovld __cnfn remainder(float2 x, float2 y);
9114 float3 __ovld __cnfn remainder(float3 x, float3 y);
9115 float4 __ovld __cnfn remainder(float4 x, float4 y);
9116 float8 __ovld __cnfn remainder(float8 x, float8 y);
9117 float16 __ovld __cnfn remainder(float16 x, float16 y);
9118 #ifdef cl_khr_fp64
9119 double __ovld __cnfn remainder(double x, double y);
9120 double2 __ovld __cnfn remainder(double2 x, double2 y);
9121 double3 __ovld __cnfn remainder(double3 x, double3 y);
9122 double4 __ovld __cnfn remainder(double4 x, double4 y);
9123 double8 __ovld __cnfn remainder(double8 x, double8 y);
9124 double16 __ovld __cnfn remainder(double16 x, double16 y);
9125 #endif //cl_khr_fp64
9126 #ifdef cl_khr_fp16
9127 half __ovld __cnfn remainder(half x, half y);
9128 half2 __ovld __cnfn remainder(half2 x, half2 y);
9129 half3 __ovld __cnfn remainder(half3 x, half3 y);
9130 half4 __ovld __cnfn remainder(half4 x, half4 y);
9131 half8 __ovld __cnfn remainder(half8 x, half8 y);
9132 half16 __ovld __cnfn remainder(half16 x, half16 y);
9133 #endif //cl_khr_fp16
9134
9135 /**
9136  * The remquo function computes the value r such
9137  * that r = x - n*y, where n is the integer nearest the
9138  * exact value of x/y. If there are two integers closest
9139  * to x/y, n shall be the even one. If r is zero, it is
9140  * given the same sign as x. This is the same value
9141  * that is returned by the remainder function.
9142  * remquo also calculates the lower seven bits of the
9143  * integral quotient x/y, and gives that value the same
9144  * sign as x/y. It stores this signed value in the object
9145  * pointed to by quo.
9146  */
9147 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
9148 float __ovld remquo(float x, float y, int *quo);
9149 float2 __ovld remquo(float2 x, float2 y, int2 *quo);
9150 float3 __ovld remquo(float3 x, float3 y, int3 *quo);
9151 float4 __ovld remquo(float4 x, float4 y, int4 *quo);
9152 float8 __ovld remquo(float8 x, float8 y, int8 *quo);
9153 float16 __ovld remquo(float16 x, float16 y, int16 *quo);
9154 #ifdef cl_khr_fp64
9155 double __ovld remquo(double x, double y, int *quo);
9156 double2 __ovld remquo(double2 x, double2 y, int2 *quo);
9157 double3 __ovld remquo(double3 x, double3 y, int3 *quo);
9158 double4 __ovld remquo(double4 x, double4 y, int4 *quo);
9159 double8 __ovld remquo(double8 x, double8 y, int8 *quo);
9160 double16 __ovld remquo(double16 x, double16 y, int16 *quo);
9161 #endif //cl_khr_fp64
9162 #ifdef cl_khr_fp16
9163 half __ovld remquo(half x, half y, int *quo);
9164 half2 __ovld remquo(half2 x, half2 y, int2 *quo);
9165 half3 __ovld remquo(half3 x, half3 y, int3 *quo);
9166 half4 __ovld remquo(half4 x, half4 y, int4 *quo);
9167 half8 __ovld remquo(half8 x, half8 y, int8 *quo);
9168 half16 __ovld remquo(half16 x, half16 y, int16 *quo);
9169
9170 #endif //cl_khr_fp16
9171 #else
9172 float __ovld remquo(float x, float y, __global int *quo);
9173 float2 __ovld remquo(float2 x, float2 y, __global int2 *quo);
9174 float3 __ovld remquo(float3 x, float3 y, __global int3 *quo);
9175 float4 __ovld remquo(float4 x, float4 y, __global int4 *quo);
9176 float8 __ovld remquo(float8 x, float8 y, __global int8 *quo);
9177 float16 __ovld remquo(float16 x, float16 y, __global int16 *quo);
9178 float __ovld remquo(float x, float y, __local int *quo);
9179 float2 __ovld remquo(float2 x, float2 y, __local int2 *quo);
9180 float3 __ovld remquo(float3 x, float3 y, __local int3 *quo);
9181 float4 __ovld remquo(float4 x, float4 y, __local int4 *quo);
9182 float8 __ovld remquo(float8 x, float8 y, __local int8 *quo);
9183 float16 __ovld remquo(float16 x, float16 y, __local int16 *quo);
9184 float __ovld remquo(float x, float y, __private int *quo);
9185 float2 __ovld remquo(float2 x, float2 y, __private int2 *quo);
9186 float3 __ovld remquo(float3 x, float3 y, __private int3 *quo);
9187 float4 __ovld remquo(float4 x, float4 y, __private int4 *quo);
9188 float8 __ovld remquo(float8 x, float8 y, __private int8 *quo);
9189 float16 __ovld remquo(float16 x, float16 y, __private int16 *quo);
9190 #ifdef cl_khr_fp64
9191 double __ovld remquo(double x, double y, __global int *quo);
9192 double2 __ovld remquo(double2 x, double2 y, __global int2 *quo);
9193 double3 __ovld remquo(double3 x, double3 y, __global int3 *quo);
9194 double4 __ovld remquo(double4 x, double4 y, __global int4 *quo);
9195 double8 __ovld remquo(double8 x, double8 y, __global int8 *quo);
9196 double16 __ovld remquo(double16 x, double16 y, __global int16 *quo);
9197 double __ovld remquo(double x, double y, __local int *quo);
9198 double2 __ovld remquo(double2 x, double2 y, __local int2 *quo);
9199 double3 __ovld remquo(double3 x, double3 y, __local int3 *quo);
9200 double4 __ovld remquo(double4 x, double4 y, __local int4 *quo);
9201 double8 __ovld remquo(double8 x, double8 y, __local int8 *quo);
9202 double16 __ovld remquo(double16 x, double16 y, __local int16 *quo);
9203 double __ovld remquo(double x, double y, __private int *quo);
9204 double2 __ovld remquo(double2 x, double2 y, __private int2 *quo);
9205 double3 __ovld remquo(double3 x, double3 y, __private int3 *quo);
9206 double4 __ovld remquo(double4 x, double4 y, __private int4 *quo);
9207 double8 __ovld remquo(double8 x, double8 y, __private int8 *quo);
9208 double16 __ovld remquo(double16 x, double16 y, __private int16 *quo);
9209 #endif //cl_khr_fp64
9210 #ifdef cl_khr_fp16
9211 half __ovld remquo(half x, half y, __global int *quo);
9212 half2 __ovld remquo(half2 x, half2 y, __global int2 *quo);
9213 half3 __ovld remquo(half3 x, half3 y, __global int3 *quo);
9214 half4 __ovld remquo(half4 x, half4 y, __global int4 *quo);
9215 half8 __ovld remquo(half8 x, half8 y, __global int8 *quo);
9216 half16 __ovld remquo(half16 x, half16 y, __global int16 *quo);
9217 half __ovld remquo(half x, half y, __local int *quo);
9218 half2 __ovld remquo(half2 x, half2 y, __local int2 *quo);
9219 half3 __ovld remquo(half3 x, half3 y, __local int3 *quo);
9220 half4 __ovld remquo(half4 x, half4 y, __local int4 *quo);
9221 half8 __ovld remquo(half8 x, half8 y, __local int8 *quo);
9222 half16 __ovld remquo(half16 x, half16 y, __local int16 *quo);
9223 half __ovld remquo(half x, half y, __private int *quo);
9224 half2 __ovld remquo(half2 x, half2 y, __private int2 *quo);
9225 half3 __ovld remquo(half3 x, half3 y, __private int3 *quo);
9226 half4 __ovld remquo(half4 x, half4 y, __private int4 *quo);
9227 half8 __ovld remquo(half8 x, half8 y, __private int8 *quo);
9228 half16 __ovld remquo(half16 x, half16 y, __private int16 *quo);
9229 #endif //cl_khr_fp16
9230 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
9231 /**
9232  * Round to integral value (using round to nearest
9233  * even rounding mode) in floating-point format.
9234  * Refer to section 7.1 for description of rounding
9235  * modes.
9236  */
9237 float __ovld __cnfn rint(float);
9238 float2 __ovld __cnfn rint(float2);
9239 float3 __ovld __cnfn rint(float3);
9240 float4 __ovld __cnfn rint(float4);
9241 float8 __ovld __cnfn rint(float8);
9242 float16 __ovld __cnfn rint(float16);
9243 #ifdef cl_khr_fp64
9244 double __ovld __cnfn rint(double);
9245 double2 __ovld __cnfn rint(double2);
9246 double3 __ovld __cnfn rint(double3);
9247 double4 __ovld __cnfn rint(double4);
9248 double8 __ovld __cnfn rint(double8);
9249 double16 __ovld __cnfn rint(double16);
9250 #endif //cl_khr_fp64
9251 #ifdef cl_khr_fp16
9252 half __ovld __cnfn rint(half);
9253 half2 __ovld __cnfn rint(half2);
9254 half3 __ovld __cnfn rint(half3);
9255 half4 __ovld __cnfn rint(half4);
9256 half8 __ovld __cnfn rint(half8);
9257 half16 __ovld __cnfn rint(half16);
9258 #endif //cl_khr_fp16
9259
9260 /**
9261  * Compute x to the power 1/y.
9262  */
9263 float __ovld __cnfn rootn(float x, int y);
9264 float2 __ovld __cnfn rootn(float2 x, int2 y);
9265 float3 __ovld __cnfn rootn(float3 x, int3 y);
9266 float4 __ovld __cnfn rootn(float4 x, int4 y);
9267 float8 __ovld __cnfn rootn(float8 x, int8 y);
9268 float16 __ovld __cnfn rootn(float16 x, int16 y);
9269 #ifdef cl_khr_fp64
9270 double __ovld __cnfn rootn(double x, int y);
9271 double2 __ovld __cnfn rootn(double2 x, int2 y);
9272 double3 __ovld __cnfn rootn(double3 x, int3 y);
9273 double4 __ovld __cnfn rootn(double4 x, int4 y);
9274 double8 __ovld __cnfn rootn(double8 x, int8 y);
9275 double16 __ovld __cnfn rootn(double16 x, int16 y);
9276 #endif //cl_khr_fp64
9277 #ifdef cl_khr_fp16
9278 half __ovld __cnfn rootn(half x, int y);
9279 half2 __ovld __cnfn rootn(half2 x, int2 y);
9280 half3 __ovld __cnfn rootn(half3 x, int3 y);
9281 half4 __ovld __cnfn rootn(half4 x, int4 y);
9282 half8 __ovld __cnfn rootn(half8 x, int8 y);
9283 half16 __ovld __cnfn rootn(half16 x, int16 y);
9284 #endif //cl_khr_fp16
9285
9286 /**
9287  * Return the integral value nearest to x rounding
9288  * halfway cases away from zero, regardless of the
9289  * current rounding direction.
9290  */
9291 float __ovld __cnfn round(float x);
9292 float2 __ovld __cnfn round(float2 x);
9293 float3 __ovld __cnfn round(float3 x);
9294 float4 __ovld __cnfn round(float4 x);
9295 float8 __ovld __cnfn round(float8 x);
9296 float16 __ovld __cnfn round(float16 x);
9297 #ifdef cl_khr_fp64
9298 double __ovld __cnfn round(double x);
9299 double2 __ovld __cnfn round(double2 x);
9300 double3 __ovld __cnfn round(double3 x);
9301 double4 __ovld __cnfn round(double4 x);
9302 double8 __ovld __cnfn round(double8 x);
9303 double16 __ovld __cnfn round(double16 x);
9304 #endif //cl_khr_fp64
9305 #ifdef cl_khr_fp16
9306 half __ovld __cnfn round(half x);
9307 half2 __ovld __cnfn round(half2 x);
9308 half3 __ovld __cnfn round(half3 x);
9309 half4 __ovld __cnfn round(half4 x);
9310 half8 __ovld __cnfn round(half8 x);
9311 half16 __ovld __cnfn round(half16 x);
9312 #endif //cl_khr_fp16
9313
9314 /**
9315  * Compute inverse square root.
9316  */
9317 float __ovld __cnfn rsqrt(float);
9318 float2 __ovld __cnfn rsqrt(float2);
9319 float3 __ovld __cnfn rsqrt(float3);
9320 float4 __ovld __cnfn rsqrt(float4);
9321 float8 __ovld __cnfn rsqrt(float8);
9322 float16 __ovld __cnfn rsqrt(float16);
9323 #ifdef cl_khr_fp64
9324 double __ovld __cnfn rsqrt(double);
9325 double2 __ovld __cnfn rsqrt(double2);
9326 double3 __ovld __cnfn rsqrt(double3);
9327 double4 __ovld __cnfn rsqrt(double4);
9328 double8 __ovld __cnfn rsqrt(double8);
9329 double16 __ovld __cnfn rsqrt(double16);
9330 #endif //cl_khr_fp64
9331 #ifdef cl_khr_fp16
9332 half __ovld __cnfn rsqrt(half);
9333 half2 __ovld __cnfn rsqrt(half2);
9334 half3 __ovld __cnfn rsqrt(half3);
9335 half4 __ovld __cnfn rsqrt(half4);
9336 half8 __ovld __cnfn rsqrt(half8);
9337 half16 __ovld __cnfn rsqrt(half16);
9338 #endif //cl_khr_fp16
9339
9340 /**
9341  * Compute sine.
9342  */
9343 float __ovld __cnfn sin(float);
9344 float2 __ovld __cnfn sin(float2);
9345 float3 __ovld __cnfn sin(float3);
9346 float4 __ovld __cnfn sin(float4);
9347 float8 __ovld __cnfn sin(float8);
9348 float16 __ovld __cnfn sin(float16);
9349 #ifdef cl_khr_fp64
9350 double __ovld __cnfn sin(double);
9351 double2 __ovld __cnfn sin(double2);
9352 double3 __ovld __cnfn sin(double3);
9353 double4 __ovld __cnfn sin(double4);
9354 double8 __ovld __cnfn sin(double8);
9355 double16 __ovld __cnfn sin(double16);
9356 #endif //cl_khr_fp64
9357 #ifdef cl_khr_fp16
9358 half __ovld __cnfn sin(half);
9359 half2 __ovld __cnfn sin(half2);
9360 half3 __ovld __cnfn sin(half3);
9361 half4 __ovld __cnfn sin(half4);
9362 half8 __ovld __cnfn sin(half8);
9363 half16 __ovld __cnfn sin(half16);
9364 #endif //cl_khr_fp16
9365
9366 /**
9367  * Compute sine and cosine of x. The computed sine
9368  * is the return value and computed cosine is returned
9369  * in cosval.
9370  */
9371 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
9372 float __ovld sincos(float x, float *cosval);
9373 float2 __ovld sincos(float2 x, float2 *cosval);
9374 float3 __ovld sincos(float3 x, float3 *cosval);
9375 float4 __ovld sincos(float4 x, float4 *cosval);
9376 float8 __ovld sincos(float8 x, float8 *cosval);
9377 float16 __ovld sincos(float16 x, float16 *cosval);
9378 #ifdef cl_khr_fp64
9379 double __ovld sincos(double x, double *cosval);
9380 double2 __ovld sincos(double2 x, double2 *cosval);
9381 double3 __ovld sincos(double3 x, double3 *cosval);
9382 double4 __ovld sincos(double4 x, double4 *cosval);
9383 double8 __ovld sincos(double8 x, double8 *cosval);
9384 double16 __ovld sincos(double16 x, double16 *cosval);
9385 #endif //cl_khr_fp64
9386 #ifdef cl_khr_fp16
9387 half __ovld sincos(half x, half *cosval);
9388 half2 __ovld sincos(half2 x, half2 *cosval);
9389 half3 __ovld sincos(half3 x, half3 *cosval);
9390 half4 __ovld sincos(half4 x, half4 *cosval);
9391 half8 __ovld sincos(half8 x, half8 *cosval);
9392 half16 __ovld sincos(half16 x, half16 *cosval);
9393 #endif //cl_khr_fp16
9394 #else
9395 float __ovld sincos(float x, __global float *cosval);
9396 float2 __ovld sincos(float2 x, __global float2 *cosval);
9397 float3 __ovld sincos(float3 x, __global float3 *cosval);
9398 float4 __ovld sincos(float4 x, __global float4 *cosval);
9399 float8 __ovld sincos(float8 x, __global float8 *cosval);
9400 float16 __ovld sincos(float16 x, __global float16 *cosval);
9401 float __ovld sincos(float x, __local float *cosval);
9402 float2 __ovld sincos(float2 x, __local float2 *cosval);
9403 float3 __ovld sincos(float3 x, __local float3 *cosval);
9404 float4 __ovld sincos(float4 x, __local float4 *cosval);
9405 float8 __ovld sincos(float8 x, __local float8 *cosval);
9406 float16 __ovld sincos(float16 x, __local float16 *cosval);
9407 float __ovld sincos(float x, __private float *cosval);
9408 float2 __ovld sincos(float2 x, __private float2 *cosval);
9409 float3 __ovld sincos(float3 x, __private float3 *cosval);
9410 float4 __ovld sincos(float4 x, __private float4 *cosval);
9411 float8 __ovld sincos(float8 x, __private float8 *cosval);
9412 float16 __ovld sincos(float16 x, __private float16 *cosval);
9413 #ifdef cl_khr_fp64
9414 double __ovld sincos(double x, __global double *cosval);
9415 double2 __ovld sincos(double2 x, __global double2 *cosval);
9416 double3 __ovld sincos(double3 x, __global double3 *cosval);
9417 double4 __ovld sincos(double4 x, __global double4 *cosval);
9418 double8 __ovld sincos(double8 x, __global double8 *cosval);
9419 double16 __ovld sincos(double16 x, __global double16 *cosval);
9420 double __ovld sincos(double x, __local double *cosval);
9421 double2 __ovld sincos(double2 x, __local double2 *cosval);
9422 double3 __ovld sincos(double3 x, __local double3 *cosval);
9423 double4 __ovld sincos(double4 x, __local double4 *cosval);
9424 double8 __ovld sincos(double8 x, __local double8 *cosval);
9425 double16 __ovld sincos(double16 x, __local double16 *cosval);
9426 double __ovld sincos(double x, __private double *cosval);
9427 double2 __ovld sincos(double2 x, __private double2 *cosval);
9428 double3 __ovld sincos(double3 x, __private double3 *cosval);
9429 double4 __ovld sincos(double4 x, __private double4 *cosval);
9430 double8 __ovld sincos(double8 x, __private double8 *cosval);
9431 double16 __ovld sincos(double16 x, __private double16 *cosval);
9432 #endif //cl_khr_fp64
9433 #ifdef cl_khr_fp16
9434 half __ovld sincos(half x, __global half *cosval);
9435 half2 __ovld sincos(half2 x, __global half2 *cosval);
9436 half3 __ovld sincos(half3 x, __global half3 *cosval);
9437 half4 __ovld sincos(half4 x, __global half4 *cosval);
9438 half8 __ovld sincos(half8 x, __global half8 *cosval);
9439 half16 __ovld sincos(half16 x, __global half16 *cosval);
9440 half __ovld sincos(half x, __local half *cosval);
9441 half2 __ovld sincos(half2 x, __local half2 *cosval);
9442 half3 __ovld sincos(half3 x, __local half3 *cosval);
9443 half4 __ovld sincos(half4 x, __local half4 *cosval);
9444 half8 __ovld sincos(half8 x, __local half8 *cosval);
9445 half16 __ovld sincos(half16 x, __local half16 *cosval);
9446 half __ovld sincos(half x, __private half *cosval);
9447 half2 __ovld sincos(half2 x, __private half2 *cosval);
9448 half3 __ovld sincos(half3 x, __private half3 *cosval);
9449 half4 __ovld sincos(half4 x, __private half4 *cosval);
9450 half8 __ovld sincos(half8 x, __private half8 *cosval);
9451 half16 __ovld sincos(half16 x, __private half16 *cosval);
9452 #endif //cl_khr_fp16
9453 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
9454
9455 /**
9456  * Compute hyperbolic sine.
9457  */
9458 float __ovld __cnfn sinh(float);
9459 float2 __ovld __cnfn sinh(float2);
9460 float3 __ovld __cnfn sinh(float3);
9461 float4 __ovld __cnfn sinh(float4);
9462 float8 __ovld __cnfn sinh(float8);
9463 float16 __ovld __cnfn sinh(float16);
9464 #ifdef cl_khr_fp64
9465 double __ovld __cnfn sinh(double);
9466 double2 __ovld __cnfn sinh(double2);
9467 double3 __ovld __cnfn sinh(double3);
9468 double4 __ovld __cnfn sinh(double4);
9469 double8 __ovld __cnfn sinh(double8);
9470 double16 __ovld __cnfn sinh(double16);
9471 #endif //cl_khr_fp64
9472 #ifdef cl_khr_fp16
9473 half __ovld __cnfn sinh(half);
9474 half2 __ovld __cnfn sinh(half2);
9475 half3 __ovld __cnfn sinh(half3);
9476 half4 __ovld __cnfn sinh(half4);
9477 half8 __ovld __cnfn sinh(half8);
9478 half16 __ovld __cnfn sinh(half16);
9479 #endif //cl_khr_fp16
9480
9481 /**
9482  * Compute sin (PI * x).
9483  */
9484 float __ovld __cnfn sinpi(float x);
9485 float2 __ovld __cnfn sinpi(float2 x);
9486 float3 __ovld __cnfn sinpi(float3 x);
9487 float4 __ovld __cnfn sinpi(float4 x);
9488 float8 __ovld __cnfn sinpi(float8 x);
9489 float16 __ovld __cnfn sinpi(float16 x);
9490 #ifdef cl_khr_fp64
9491 double __ovld __cnfn sinpi(double x);
9492 double2 __ovld __cnfn sinpi(double2 x);
9493 double3 __ovld __cnfn sinpi(double3 x);
9494 double4 __ovld __cnfn sinpi(double4 x);
9495 double8 __ovld __cnfn sinpi(double8 x);
9496 double16 __ovld __cnfn sinpi(double16 x);
9497 #endif //cl_khr_fp64
9498 #ifdef cl_khr_fp16
9499 half __ovld __cnfn sinpi(half x);
9500 half2 __ovld __cnfn sinpi(half2 x);
9501 half3 __ovld __cnfn sinpi(half3 x);
9502 half4 __ovld __cnfn sinpi(half4 x);
9503 half8 __ovld __cnfn sinpi(half8 x);
9504 half16 __ovld __cnfn sinpi(half16 x);
9505 #endif //cl_khr_fp16
9506
9507 /**
9508  * Compute square root.
9509  */
9510 float __ovld __cnfn sqrt(float);
9511 float2 __ovld __cnfn sqrt(float2);
9512 float3 __ovld __cnfn sqrt(float3);
9513 float4 __ovld __cnfn sqrt(float4);
9514 float8 __ovld __cnfn sqrt(float8);
9515 float16 __ovld __cnfn sqrt(float16);
9516 #ifdef cl_khr_fp64
9517 double __ovld __cnfn sqrt(double);
9518 double2 __ovld __cnfn sqrt(double2);
9519 double3 __ovld __cnfn sqrt(double3);
9520 double4 __ovld __cnfn sqrt(double4);
9521 double8 __ovld __cnfn sqrt(double8);
9522 double16 __ovld __cnfn sqrt(double16);
9523 #endif //cl_khr_fp64
9524 #ifdef cl_khr_fp16
9525 half __ovld __cnfn sqrt(half);
9526 half2 __ovld __cnfn sqrt(half2);
9527 half3 __ovld __cnfn sqrt(half3);
9528 half4 __ovld __cnfn sqrt(half4);
9529 half8 __ovld __cnfn sqrt(half8);
9530 half16 __ovld __cnfn sqrt(half16);
9531 #endif //cl_khr_fp16
9532
9533 /**
9534  * Compute tangent.
9535  */
9536 float __ovld __cnfn tan(float);
9537 float2 __ovld __cnfn tan(float2);
9538 float3 __ovld __cnfn tan(float3);
9539 float4 __ovld __cnfn tan(float4);
9540 float8 __ovld __cnfn tan(float8);
9541 float16 __ovld __cnfn tan(float16);
9542 #ifdef cl_khr_fp64
9543 double __ovld __cnfn tan(double);
9544 double2 __ovld __cnfn tan(double2);
9545 double3 __ovld __cnfn tan(double3);
9546 double4 __ovld __cnfn tan(double4);
9547 double8 __ovld __cnfn tan(double8);
9548 double16 __ovld __cnfn tan(double16);
9549 #endif //cl_khr_fp64
9550 #ifdef cl_khr_fp16
9551 half __ovld __cnfn tan(half);
9552 half2 __ovld __cnfn tan(half2);
9553 half3 __ovld __cnfn tan(half3);
9554 half4 __ovld __cnfn tan(half4);
9555 half8 __ovld __cnfn tan(half8);
9556 half16 __ovld __cnfn tan(half16);
9557 #endif //cl_khr_fp16
9558
9559 /**
9560  * Compute hyperbolic tangent.
9561  */
9562 float __ovld __cnfn tanh(float);
9563 float2 __ovld __cnfn tanh(float2);
9564 float3 __ovld __cnfn tanh(float3);
9565 float4 __ovld __cnfn tanh(float4);
9566 float8 __ovld __cnfn tanh(float8);
9567 float16 __ovld __cnfn tanh(float16);
9568 #ifdef cl_khr_fp64
9569 double __ovld __cnfn tanh(double);
9570 double2 __ovld __cnfn tanh(double2);
9571 double3 __ovld __cnfn tanh(double3);
9572 double4 __ovld __cnfn tanh(double4);
9573 double8 __ovld __cnfn tanh(double8);
9574 double16 __ovld __cnfn tanh(double16);
9575 #endif //cl_khr_fp64
9576 #ifdef cl_khr_fp16
9577 half __ovld __cnfn tanh(half);
9578 half2 __ovld __cnfn tanh(half2);
9579 half3 __ovld __cnfn tanh(half3);
9580 half4 __ovld __cnfn tanh(half4);
9581 half8 __ovld __cnfn tanh(half8);
9582 half16 __ovld __cnfn tanh(half16);
9583 #endif //cl_khr_fp16
9584
9585 /**
9586  * Compute tan (PI * x).
9587  */
9588 float __ovld __cnfn tanpi(float x);
9589 float2 __ovld __cnfn tanpi(float2 x);
9590 float3 __ovld __cnfn tanpi(float3 x);
9591 float4 __ovld __cnfn tanpi(float4 x);
9592 float8 __ovld __cnfn tanpi(float8 x);
9593 float16 __ovld __cnfn tanpi(float16 x);
9594 #ifdef cl_khr_fp64
9595 double __ovld __cnfn tanpi(double x);
9596 double2 __ovld __cnfn tanpi(double2 x);
9597 double3 __ovld __cnfn tanpi(double3 x);
9598 double4 __ovld __cnfn tanpi(double4 x);
9599 double8 __ovld __cnfn tanpi(double8 x);
9600 double16 __ovld __cnfn tanpi(double16 x);
9601 #endif //cl_khr_fp64
9602 #ifdef cl_khr_fp16
9603 half __ovld __cnfn tanpi(half x);
9604 half2 __ovld __cnfn tanpi(half2 x);
9605 half3 __ovld __cnfn tanpi(half3 x);
9606 half4 __ovld __cnfn tanpi(half4 x);
9607 half8 __ovld __cnfn tanpi(half8 x);
9608 half16 __ovld __cnfn tanpi(half16 x);
9609 #endif //cl_khr_fp16
9610
9611 /**
9612  * Compute the gamma function.
9613  */
9614 float __ovld __cnfn tgamma(float);
9615 float2 __ovld __cnfn tgamma(float2);
9616 float3 __ovld __cnfn tgamma(float3);
9617 float4 __ovld __cnfn tgamma(float4);
9618 float8 __ovld __cnfn tgamma(float8);
9619 float16 __ovld __cnfn tgamma(float16);
9620 #ifdef cl_khr_fp64
9621 double __ovld __cnfn tgamma(double);
9622 double2 __ovld __cnfn tgamma(double2);
9623 double3 __ovld __cnfn tgamma(double3);
9624 double4 __ovld __cnfn tgamma(double4);
9625 double8 __ovld __cnfn tgamma(double8);
9626 double16 __ovld __cnfn tgamma(double16);
9627 #endif //cl_khr_fp64
9628 #ifdef cl_khr_fp16
9629 half __ovld __cnfn tgamma(half);
9630 half2 __ovld __cnfn tgamma(half2);
9631 half3 __ovld __cnfn tgamma(half3);
9632 half4 __ovld __cnfn tgamma(half4);
9633 half8 __ovld __cnfn tgamma(half8);
9634 half16 __ovld __cnfn tgamma(half16);
9635 #endif //cl_khr_fp16
9636
9637 /**
9638  * Round to integral value using the round to zero
9639  * rounding mode.
9640  */
9641 float __ovld __cnfn trunc(float);
9642 float2 __ovld __cnfn trunc(float2);
9643 float3 __ovld __cnfn trunc(float3);
9644 float4 __ovld __cnfn trunc(float4);
9645 float8 __ovld __cnfn trunc(float8);
9646 float16 __ovld __cnfn trunc(float16);
9647 #ifdef cl_khr_fp64
9648 double __ovld __cnfn trunc(double);
9649 double2 __ovld __cnfn trunc(double2);
9650 double3 __ovld __cnfn trunc(double3);
9651 double4 __ovld __cnfn trunc(double4);
9652 double8 __ovld __cnfn trunc(double8);
9653 double16 __ovld __cnfn trunc(double16);
9654 #endif //cl_khr_fp64
9655 #ifdef cl_khr_fp16
9656 half __ovld __cnfn trunc(half);
9657 half2 __ovld __cnfn trunc(half2);
9658 half3 __ovld __cnfn trunc(half3);
9659 half4 __ovld __cnfn trunc(half4);
9660 half8 __ovld __cnfn trunc(half8);
9661 half16 __ovld __cnfn trunc(half16);
9662 #endif //cl_khr_fp16
9663
9664 /**
9665  * Compute cosine. x must be in the range -2^16 ... +2^16.
9666  */
9667 float __ovld __cnfn half_cos(float x);
9668 float2 __ovld __cnfn half_cos(float2 x);
9669 float3 __ovld __cnfn half_cos(float3 x);
9670 float4 __ovld __cnfn half_cos(float4 x);
9671 float8 __ovld __cnfn half_cos(float8 x);
9672 float16 __ovld __cnfn half_cos(float16 x);
9673
9674 /**
9675  * Compute x / y.
9676  */
9677 float __ovld __cnfn half_divide(float x, float y);
9678 float2 __ovld __cnfn half_divide(float2 x, float2 y);
9679 float3 __ovld __cnfn half_divide(float3 x, float3 y);
9680 float4 __ovld __cnfn half_divide(float4 x, float4 y);
9681 float8 __ovld __cnfn half_divide(float8 x, float8 y);
9682 float16 __ovld __cnfn half_divide(float16 x, float16 y);
9683
9684 /**
9685  * Compute the base- e exponential of x.
9686  */
9687 float __ovld __cnfn half_exp(float x);
9688 float2 __ovld __cnfn half_exp(float2 x);
9689 float3 __ovld __cnfn half_exp(float3 x);
9690 float4 __ovld __cnfn half_exp(float4 x);
9691 float8 __ovld __cnfn half_exp(float8 x);
9692 float16 __ovld __cnfn half_exp(float16 x);
9693
9694 /**
9695  * Compute the base- 2 exponential of x.
9696  */
9697 float __ovld __cnfn half_exp2(float x);
9698 float2 __ovld __cnfn half_exp2(float2 x);
9699 float3 __ovld __cnfn half_exp2(float3 x);
9700 float4 __ovld __cnfn half_exp2(float4 x);
9701 float8 __ovld __cnfn half_exp2(float8 x);
9702 float16 __ovld __cnfn half_exp2(float16 x);
9703
9704 /**
9705  * Compute the base- 10 exponential of x.
9706  */
9707 float __ovld __cnfn half_exp10(float x);
9708 float2 __ovld __cnfn half_exp10(float2 x);
9709 float3 __ovld __cnfn half_exp10(float3 x);
9710 float4 __ovld __cnfn half_exp10(float4 x);
9711 float8 __ovld __cnfn half_exp10(float8 x);
9712 float16 __ovld __cnfn half_exp10(float16 x);
9713
9714 /**
9715  * Compute natural logarithm.
9716  */
9717 float __ovld __cnfn half_log(float x);
9718 float2 __ovld __cnfn half_log(float2 x);
9719 float3 __ovld __cnfn half_log(float3 x);
9720 float4 __ovld __cnfn half_log(float4 x);
9721 float8 __ovld __cnfn half_log(float8 x);
9722 float16 __ovld __cnfn half_log(float16 x);
9723
9724 /**
9725  * Compute a base 2 logarithm.
9726  */
9727 float __ovld __cnfn half_log2(float x);
9728 float2 __ovld __cnfn half_log2(float2 x);
9729 float3 __ovld __cnfn half_log2(float3 x);
9730 float4 __ovld __cnfn half_log2(float4 x);
9731 float8 __ovld __cnfn half_log2(float8 x);
9732 float16 __ovld __cnfn half_log2(float16 x);
9733
9734 /**
9735  * Compute a base 10 logarithm.
9736  */
9737 float __ovld __cnfn half_log10(float x);
9738 float2 __ovld __cnfn half_log10(float2 x);
9739 float3 __ovld __cnfn half_log10(float3 x);
9740 float4 __ovld __cnfn half_log10(float4 x);
9741 float8 __ovld __cnfn half_log10(float8 x);
9742 float16 __ovld __cnfn half_log10(float16 x);
9743
9744 /**
9745  * Compute x to the power y, where x is >= 0.
9746  */
9747 float __ovld __cnfn half_powr(float x, float y);
9748 float2 __ovld __cnfn half_powr(float2 x, float2 y);
9749 float3 __ovld __cnfn half_powr(float3 x, float3 y);
9750 float4 __ovld __cnfn half_powr(float4 x, float4 y);
9751 float8 __ovld __cnfn half_powr(float8 x, float8 y);
9752 float16 __ovld __cnfn half_powr(float16 x, float16 y);
9753
9754 /**
9755  * Compute reciprocal.
9756  */
9757 float __ovld __cnfn half_recip(float x);
9758 float2 __ovld __cnfn half_recip(float2 x);
9759 float3 __ovld __cnfn half_recip(float3 x);
9760 float4 __ovld __cnfn half_recip(float4 x);
9761 float8 __ovld __cnfn half_recip(float8 x);
9762 float16 __ovld __cnfn half_recip(float16 x);
9763
9764 /**
9765  * Compute inverse square root.
9766  */
9767 float __ovld __cnfn half_rsqrt(float x);
9768 float2 __ovld __cnfn half_rsqrt(float2 x);
9769 float3 __ovld __cnfn half_rsqrt(float3 x);
9770 float4 __ovld __cnfn half_rsqrt(float4 x);
9771 float8 __ovld __cnfn half_rsqrt(float8 x);
9772 float16 __ovld __cnfn half_rsqrt(float16 x);
9773
9774 /**
9775  * Compute sine. x must be in the range -2^16 ... +2^16.
9776  */
9777 float __ovld __cnfn half_sin(float x);
9778 float2 __ovld __cnfn half_sin(float2 x);
9779 float3 __ovld __cnfn half_sin(float3 x);
9780 float4 __ovld __cnfn half_sin(float4 x);
9781 float8 __ovld __cnfn half_sin(float8 x);
9782 float16 __ovld __cnfn half_sin(float16 x);
9783
9784 /**
9785  * Compute square root.
9786  */
9787 float __ovld __cnfn half_sqrt(float x);
9788 float2 __ovld __cnfn half_sqrt(float2 x);
9789 float3 __ovld __cnfn half_sqrt(float3 x);
9790 float4 __ovld __cnfn half_sqrt(float4 x);
9791 float8 __ovld __cnfn half_sqrt(float8 x);
9792 float16 __ovld __cnfn half_sqrt(float16 x);
9793
9794 /**
9795  * Compute tangent. x must be in the range -216 ... +216.
9796  */
9797 float __ovld __cnfn half_tan(float x);
9798 float2 __ovld __cnfn half_tan(float2 x);
9799 float3 __ovld __cnfn half_tan(float3 x);
9800 float4 __ovld __cnfn half_tan(float4 x);
9801 float8 __ovld __cnfn half_tan(float8 x);
9802 float16 __ovld __cnfn half_tan(float16 x);
9803
9804 /**
9805  * Compute cosine over an implementation-defined range.
9806  * The maximum error is implementation-defined.
9807  */
9808 float __ovld __cnfn native_cos(float x);
9809 float2 __ovld __cnfn native_cos(float2 x);
9810 float3 __ovld __cnfn native_cos(float3 x);
9811 float4 __ovld __cnfn native_cos(float4 x);
9812 float8 __ovld __cnfn native_cos(float8 x);
9813 float16 __ovld __cnfn native_cos(float16 x);
9814
9815 /**
9816  * Compute x / y over an implementation-defined range.
9817  * The maximum error is implementation-defined.
9818  */
9819 float __ovld __cnfn native_divide(float x, float y);
9820 float2 __ovld __cnfn native_divide(float2 x, float2 y);
9821 float3 __ovld __cnfn native_divide(float3 x, float3 y);
9822 float4 __ovld __cnfn native_divide(float4 x, float4 y);
9823 float8 __ovld __cnfn native_divide(float8 x, float8 y);
9824 float16 __ovld __cnfn native_divide(float16 x, float16 y);
9825
9826 /**
9827  * Compute the base- e exponential of x over an
9828  * implementation-defined range. The maximum error is
9829  * implementation-defined.
9830  */
9831 float __ovld __cnfn native_exp(float x);
9832 float2 __ovld __cnfn native_exp(float2 x);
9833 float3 __ovld __cnfn native_exp(float3 x);
9834 float4 __ovld __cnfn native_exp(float4 x);
9835 float8 __ovld __cnfn native_exp(float8 x);
9836 float16 __ovld __cnfn native_exp(float16 x);
9837
9838 /**
9839  * Compute the base- 2 exponential of x over an
9840  * implementation-defined range. The maximum error is
9841  * implementation-defined.
9842  */
9843 float __ovld __cnfn native_exp2(float x);
9844 float2 __ovld __cnfn native_exp2(float2 x);
9845 float3 __ovld __cnfn native_exp2(float3 x);
9846 float4 __ovld __cnfn native_exp2(float4 x);
9847 float8 __ovld __cnfn native_exp2(float8 x);
9848 float16 __ovld __cnfn native_exp2(float16 x);
9849
9850 /**
9851  * Compute the base- 10 exponential of x over an
9852  * implementation-defined range. The maximum error is
9853  * implementation-defined.
9854  */
9855 float __ovld __cnfn native_exp10(float x);
9856 float2 __ovld __cnfn native_exp10(float2 x);
9857 float3 __ovld __cnfn native_exp10(float3 x);
9858 float4 __ovld __cnfn native_exp10(float4 x);
9859 float8 __ovld __cnfn native_exp10(float8 x);
9860 float16 __ovld __cnfn native_exp10(float16 x);
9861
9862 /**
9863  * Compute natural logarithm over an implementationdefined
9864  * range. The maximum error is implementation
9865  * defined.
9866  */
9867 float __ovld __cnfn native_log(float x);
9868 float2 __ovld __cnfn native_log(float2 x);
9869 float3 __ovld __cnfn native_log(float3 x);
9870 float4 __ovld __cnfn native_log(float4 x);
9871 float8 __ovld __cnfn native_log(float8 x);
9872 float16 __ovld __cnfn native_log(float16 x);
9873
9874 /**
9875  * Compute a base 2 logarithm over an implementationdefined
9876  * range. The maximum error is implementationdefined.
9877  */
9878 float __ovld __cnfn native_log2(float x);
9879 float2 __ovld __cnfn native_log2(float2 x);
9880 float3 __ovld __cnfn native_log2(float3 x);
9881 float4 __ovld __cnfn native_log2(float4 x);
9882 float8 __ovld __cnfn native_log2(float8 x);
9883 float16 __ovld __cnfn native_log2(float16 x);
9884
9885 /**
9886  * Compute a base 10 logarithm over an implementationdefined
9887  * range. The maximum error is implementationdefined.
9888  */
9889 float __ovld __cnfn native_log10(float x);
9890 float2 __ovld __cnfn native_log10(float2 x);
9891 float3 __ovld __cnfn native_log10(float3 x);
9892 float4 __ovld __cnfn native_log10(float4 x);
9893 float8 __ovld __cnfn native_log10(float8 x);
9894 float16 __ovld __cnfn native_log10(float16 x);
9895
9896 /**
9897  * Compute x to the power y, where x is >= 0. The range of
9898  * x and y are implementation-defined. The maximum error
9899  * is implementation-defined.
9900  */
9901 float __ovld __cnfn native_powr(float x, float y);
9902 float2 __ovld __cnfn native_powr(float2 x, float2 y);
9903 float3 __ovld __cnfn native_powr(float3 x, float3 y);
9904 float4 __ovld __cnfn native_powr(float4 x, float4 y);
9905 float8 __ovld __cnfn native_powr(float8 x, float8 y);
9906 float16 __ovld __cnfn native_powr(float16 x, float16 y);
9907
9908 /**
9909  * Compute reciprocal over an implementation-defined
9910  * range. The maximum error is implementation-defined.
9911  */
9912 float __ovld __cnfn native_recip(float x);
9913 float2 __ovld __cnfn native_recip(float2 x);
9914 float3 __ovld __cnfn native_recip(float3 x);
9915 float4 __ovld __cnfn native_recip(float4 x);
9916 float8 __ovld __cnfn native_recip(float8 x);
9917 float16 __ovld __cnfn native_recip(float16 x);
9918
9919 /**
9920  * Compute inverse square root over an implementationdefined
9921  * range. The maximum error is implementationdefined.
9922  */
9923 float __ovld __cnfn native_rsqrt(float x);
9924 float2 __ovld __cnfn native_rsqrt(float2 x);
9925 float3 __ovld __cnfn native_rsqrt(float3 x);
9926 float4 __ovld __cnfn native_rsqrt(float4 x);
9927 float8 __ovld __cnfn native_rsqrt(float8 x);
9928 float16 __ovld __cnfn native_rsqrt(float16 x);
9929
9930 /**
9931  * Compute sine over an implementation-defined range.
9932  * The maximum error is implementation-defined.
9933  */
9934 float __ovld __cnfn native_sin(float x);
9935 float2 __ovld __cnfn native_sin(float2 x);
9936 float3 __ovld __cnfn native_sin(float3 x);
9937 float4 __ovld __cnfn native_sin(float4 x);
9938 float8 __ovld __cnfn native_sin(float8 x);
9939 float16 __ovld __cnfn native_sin(float16 x);
9940
9941 /**
9942  * Compute square root over an implementation-defined
9943  * range. The maximum error is implementation-defined.
9944  */
9945 float __ovld __cnfn native_sqrt(float x);
9946 float2 __ovld __cnfn native_sqrt(float2 x);
9947 float3 __ovld __cnfn native_sqrt(float3 x);
9948 float4 __ovld __cnfn native_sqrt(float4 x);
9949 float8 __ovld __cnfn native_sqrt(float8 x);
9950 float16 __ovld __cnfn native_sqrt(float16 x);
9951
9952 /**
9953  * Compute tangent over an implementation-defined range.
9954  * The maximum error is implementation-defined.
9955  */
9956 float __ovld __cnfn native_tan(float x);
9957 float2 __ovld __cnfn native_tan(float2 x);
9958 float3 __ovld __cnfn native_tan(float3 x);
9959 float4 __ovld __cnfn native_tan(float4 x);
9960 float8 __ovld __cnfn native_tan(float8 x);
9961 float16 __ovld __cnfn native_tan(float16 x);
9962
9963 // OpenCL v1.1 s6.11.3, v1.2 s6.12.3, v2.0 s6.13.3 - Integer Functions
9964
9965 /**
9966  * Returns | x |.
9967  */
9968 uchar __ovld __cnfn abs(char x);
9969 uchar __ovld __cnfn abs(uchar x);
9970 uchar2 __ovld __cnfn abs(char2 x);
9971 uchar2 __ovld __cnfn abs(uchar2 x);
9972 uchar3 __ovld __cnfn abs(char3 x);
9973 uchar3 __ovld __cnfn abs(uchar3 x);
9974 uchar4 __ovld __cnfn abs(char4 x);
9975 uchar4 __ovld __cnfn abs(uchar4 x);
9976 uchar8 __ovld __cnfn abs(char8 x);
9977 uchar8 __ovld __cnfn abs(uchar8 x);
9978 uchar16 __ovld __cnfn abs(char16 x);
9979 uchar16 __ovld __cnfn abs(uchar16 x);
9980 ushort __ovld __cnfn abs(short x);
9981 ushort __ovld __cnfn abs(ushort x);
9982 ushort2 __ovld __cnfn abs(short2 x);
9983 ushort2 __ovld __cnfn abs(ushort2 x);
9984 ushort3 __ovld __cnfn abs(short3 x);
9985 ushort3 __ovld __cnfn abs(ushort3 x);
9986 ushort4 __ovld __cnfn abs(short4 x);
9987 ushort4 __ovld __cnfn abs(ushort4 x);
9988 ushort8 __ovld __cnfn abs(short8 x);
9989 ushort8 __ovld __cnfn abs(ushort8 x);
9990 ushort16 __ovld __cnfn abs(short16 x);
9991 ushort16 __ovld __cnfn abs(ushort16 x);
9992 uint __ovld __cnfn abs(int x);
9993 uint __ovld __cnfn abs(uint x);
9994 uint2 __ovld __cnfn abs(int2 x);
9995 uint2 __ovld __cnfn abs(uint2 x);
9996 uint3 __ovld __cnfn abs(int3 x);
9997 uint3 __ovld __cnfn abs(uint3 x);
9998 uint4 __ovld __cnfn abs(int4 x);
9999 uint4 __ovld __cnfn abs(uint4 x);
10000 uint8 __ovld __cnfn abs(int8 x);
10001 uint8 __ovld __cnfn abs(uint8 x);
10002 uint16 __ovld __cnfn abs(int16 x);
10003 uint16 __ovld __cnfn abs(uint16 x);
10004 ulong __ovld __cnfn abs(long x);
10005 ulong __ovld __cnfn abs(ulong x);
10006 ulong2 __ovld __cnfn abs(long2 x);
10007 ulong2 __ovld __cnfn abs(ulong2 x);
10008 ulong3 __ovld __cnfn abs(long3 x);
10009 ulong3 __ovld __cnfn abs(ulong3 x);
10010 ulong4 __ovld __cnfn abs(long4 x);
10011 ulong4 __ovld __cnfn abs(ulong4 x);
10012 ulong8 __ovld __cnfn abs(long8 x);
10013 ulong8 __ovld __cnfn abs(ulong8 x);
10014 ulong16 __ovld __cnfn abs(long16 x);
10015 ulong16 __ovld __cnfn abs(ulong16 x);
10016
10017 /**
10018  * Returns | x - y | without modulo overflow.
10019  */
10020 uchar __ovld __cnfn abs_diff(char x, char y);
10021 uchar __ovld __cnfn abs_diff(uchar x, uchar y);
10022 uchar2 __ovld __cnfn abs_diff(char2 x, char2 y);
10023 uchar2 __ovld __cnfn abs_diff(uchar2 x, uchar2 y);
10024 uchar3 __ovld __cnfn abs_diff(char3 x, char3 y);
10025 uchar3 __ovld __cnfn abs_diff(uchar3 x, uchar3 y);
10026 uchar4 __ovld __cnfn abs_diff(char4 x, char4 y);
10027 uchar4 __ovld __cnfn abs_diff(uchar4 x, uchar4 y);
10028 uchar8 __ovld __cnfn abs_diff(char8 x, char8 y);
10029 uchar8 __ovld __cnfn abs_diff(uchar8 x, uchar8 y);
10030 uchar16 __ovld __cnfn abs_diff(char16 x, char16 y);
10031 uchar16 __ovld __cnfn abs_diff(uchar16 x, uchar16 y);
10032 ushort __ovld __cnfn abs_diff(short x, short y);
10033 ushort __ovld __cnfn abs_diff(ushort x, ushort y);
10034 ushort2 __ovld __cnfn abs_diff(short2 x, short2 y);
10035 ushort2 __ovld __cnfn abs_diff(ushort2 x, ushort2 y);
10036 ushort3 __ovld __cnfn abs_diff(short3 x, short3 y);
10037 ushort3 __ovld __cnfn abs_diff(ushort3 x, ushort3 y);
10038 ushort4 __ovld __cnfn abs_diff(short4 x, short4 y);
10039 ushort4 __ovld __cnfn abs_diff(ushort4 x, ushort4 y);
10040 ushort8 __ovld __cnfn abs_diff(short8 x, short8 y);
10041 ushort8 __ovld __cnfn abs_diff(ushort8 x, ushort8 y);
10042 ushort16 __ovld __cnfn abs_diff(short16 x, short16 y);
10043 ushort16 __ovld __cnfn abs_diff(ushort16 x, ushort16 y);
10044 uint __ovld __cnfn abs_diff(int x, int y);
10045 uint __ovld __cnfn abs_diff(uint x, uint y);
10046 uint2 __ovld __cnfn abs_diff(int2 x, int2 y);
10047 uint2 __ovld __cnfn abs_diff(uint2 x, uint2 y);
10048 uint3 __ovld __cnfn abs_diff(int3 x, int3 y);
10049 uint3 __ovld __cnfn abs_diff(uint3 x, uint3 y);
10050 uint4 __ovld __cnfn abs_diff(int4 x, int4 y);
10051 uint4 __ovld __cnfn abs_diff(uint4 x, uint4 y);
10052 uint8 __ovld __cnfn abs_diff(int8 x, int8 y);
10053 uint8 __ovld __cnfn abs_diff(uint8 x, uint8 y);
10054 uint16 __ovld __cnfn abs_diff(int16 x, int16 y);
10055 uint16 __ovld __cnfn abs_diff(uint16 x, uint16 y);
10056 ulong __ovld __cnfn abs_diff(long x, long y);
10057 ulong __ovld __cnfn abs_diff(ulong x, ulong y);
10058 ulong2 __ovld __cnfn abs_diff(long2 x, long2 y);
10059 ulong2 __ovld __cnfn abs_diff(ulong2 x, ulong2 y);
10060 ulong3 __ovld __cnfn abs_diff(long3 x, long3 y);
10061 ulong3 __ovld __cnfn abs_diff(ulong3 x, ulong3 y);
10062 ulong4 __ovld __cnfn abs_diff(long4 x, long4 y);
10063 ulong4 __ovld __cnfn abs_diff(ulong4 x, ulong4 y);
10064 ulong8 __ovld __cnfn abs_diff(long8 x, long8 y);
10065 ulong8 __ovld __cnfn abs_diff(ulong8 x, ulong8 y);
10066 ulong16 __ovld __cnfn abs_diff(long16 x, long16 y);
10067 ulong16 __ovld __cnfn abs_diff(ulong16 x, ulong16 y);
10068
10069 /**
10070  * Returns x + y and saturates the result.
10071  */
10072 char __ovld __cnfn add_sat(char x, char y);
10073 uchar __ovld __cnfn add_sat(uchar x, uchar y);
10074 char2 __ovld __cnfn add_sat(char2 x, char2 y);
10075 uchar2 __ovld __cnfn add_sat(uchar2 x, uchar2 y);
10076 char3 __ovld __cnfn add_sat(char3 x, char3 y);
10077 uchar3 __ovld __cnfn add_sat(uchar3 x, uchar3 y);
10078 char4 __ovld __cnfn add_sat(char4 x, char4 y);
10079 uchar4 __ovld __cnfn add_sat(uchar4 x, uchar4 y);
10080 char8 __ovld __cnfn add_sat(char8 x, char8 y);
10081 uchar8 __ovld __cnfn add_sat(uchar8 x, uchar8 y);
10082 char16 __ovld __cnfn add_sat(char16 x, char16 y);
10083 uchar16 __ovld __cnfn add_sat(uchar16 x, uchar16 y);
10084 short __ovld __cnfn add_sat(short x, short y);
10085 ushort __ovld __cnfn add_sat(ushort x, ushort y);
10086 short2 __ovld __cnfn add_sat(short2 x, short2 y);
10087 ushort2 __ovld __cnfn add_sat(ushort2 x, ushort2 y);
10088 short3 __ovld __cnfn add_sat(short3 x, short3 y);
10089 ushort3 __ovld __cnfn add_sat(ushort3 x, ushort3 y);
10090 short4 __ovld __cnfn add_sat(short4 x, short4 y);
10091 ushort4 __ovld __cnfn add_sat(ushort4 x, ushort4 y);
10092 short8 __ovld __cnfn add_sat(short8 x, short8 y);
10093 ushort8 __ovld __cnfn add_sat(ushort8 x, ushort8 y);
10094 short16 __ovld __cnfn add_sat(short16 x, short16 y);
10095 ushort16 __ovld __cnfn add_sat(ushort16 x, ushort16 y);
10096 int __ovld __cnfn add_sat(int x, int y);
10097 uint __ovld __cnfn add_sat(uint x, uint y);
10098 int2 __ovld __cnfn add_sat(int2 x, int2 y);
10099 uint2 __ovld __cnfn add_sat(uint2 x, uint2 y);
10100 int3 __ovld __cnfn add_sat(int3 x, int3 y);
10101 uint3 __ovld __cnfn add_sat(uint3 x, uint3 y);
10102 int4 __ovld __cnfn add_sat(int4 x, int4 y);
10103 uint4 __ovld __cnfn add_sat(uint4 x, uint4 y);
10104 int8 __ovld __cnfn add_sat(int8 x, int8 y);
10105 uint8 __ovld __cnfn add_sat(uint8 x, uint8 y);
10106 int16 __ovld __cnfn add_sat(int16 x, int16 y);
10107 uint16 __ovld __cnfn add_sat(uint16 x, uint16 y);
10108 long __ovld __cnfn add_sat(long x, long y);
10109 ulong __ovld __cnfn add_sat(ulong x, ulong y);
10110 long2 __ovld __cnfn add_sat(long2 x, long2 y);
10111 ulong2 __ovld __cnfn add_sat(ulong2 x, ulong2 y);
10112 long3 __ovld __cnfn add_sat(long3 x, long3 y);
10113 ulong3 __ovld __cnfn add_sat(ulong3 x, ulong3 y);
10114 long4 __ovld __cnfn add_sat(long4 x, long4 y);
10115 ulong4 __ovld __cnfn add_sat(ulong4 x, ulong4 y);
10116 long8 __ovld __cnfn add_sat(long8 x, long8 y);
10117 ulong8 __ovld __cnfn add_sat(ulong8 x, ulong8 y);
10118 long16 __ovld __cnfn add_sat(long16 x, long16 y);
10119 ulong16 __ovld __cnfn add_sat(ulong16 x, ulong16 y);
10120
10121 /**
10122  * Returns (x + y) >> 1. The intermediate sum does
10123  * not modulo overflow.
10124  */
10125 char __ovld __cnfn hadd(char x, char y);
10126 uchar __ovld __cnfn hadd(uchar x, uchar y);
10127 char2 __ovld __cnfn hadd(char2 x, char2 y);
10128 uchar2 __ovld __cnfn hadd(uchar2 x, uchar2 y);
10129 char3 __ovld __cnfn hadd(char3 x, char3 y);
10130 uchar3 __ovld __cnfn hadd(uchar3 x, uchar3 y);
10131 char4 __ovld __cnfn hadd(char4 x, char4 y);
10132 uchar4 __ovld __cnfn hadd(uchar4 x, uchar4 y);
10133 char8 __ovld __cnfn hadd(char8 x, char8 y);
10134 uchar8 __ovld __cnfn hadd(uchar8 x, uchar8 y);
10135 char16 __ovld __cnfn hadd(char16 x, char16 y);
10136 uchar16 __ovld __cnfn hadd(uchar16 x, uchar16 y);
10137 short __ovld __cnfn hadd(short x, short y);
10138 ushort __ovld __cnfn hadd(ushort x, ushort y);
10139 short2 __ovld __cnfn hadd(short2 x, short2 y);
10140 ushort2 __ovld __cnfn hadd(ushort2 x, ushort2 y);
10141 short3 __ovld __cnfn hadd(short3 x, short3 y);
10142 ushort3 __ovld __cnfn hadd(ushort3 x, ushort3 y);
10143 short4 __ovld __cnfn hadd(short4 x, short4 y);
10144 ushort4 __ovld __cnfn hadd(ushort4 x, ushort4 y);
10145 short8 __ovld __cnfn hadd(short8 x, short8 y);
10146 ushort8 __ovld __cnfn hadd(ushort8 x, ushort8 y);
10147 short16 __ovld __cnfn hadd(short16 x, short16 y);
10148 ushort16 __ovld __cnfn hadd(ushort16 x, ushort16 y);
10149 int __ovld __cnfn hadd(int x, int y);
10150 uint __ovld __cnfn hadd(uint x, uint y);
10151 int2 __ovld __cnfn hadd(int2 x, int2 y);
10152 uint2 __ovld __cnfn hadd(uint2 x, uint2 y);
10153 int3 __ovld __cnfn hadd(int3 x, int3 y);
10154 uint3 __ovld __cnfn hadd(uint3 x, uint3 y);
10155 int4 __ovld __cnfn hadd(int4 x, int4 y);
10156 uint4 __ovld __cnfn hadd(uint4 x, uint4 y);
10157 int8 __ovld __cnfn hadd(int8 x, int8 y);
10158 uint8 __ovld __cnfn hadd(uint8 x, uint8 y);
10159 int16 __ovld __cnfn hadd(int16 x, int16 y);
10160 uint16 __ovld __cnfn hadd(uint16 x, uint16 y);
10161 long __ovld __cnfn hadd(long x, long y);
10162 ulong __ovld __cnfn hadd(ulong x, ulong y);
10163 long2 __ovld __cnfn hadd(long2 x, long2 y);
10164 ulong2 __ovld __cnfn hadd(ulong2 x, ulong2 y);
10165 long3 __ovld __cnfn hadd(long3 x, long3 y);
10166 ulong3 __ovld __cnfn hadd(ulong3 x, ulong3 y);
10167 long4 __ovld __cnfn hadd(long4 x, long4 y);
10168 ulong4 __ovld __cnfn hadd(ulong4 x, ulong4 y);
10169 long8 __ovld __cnfn hadd(long8 x, long8 y);
10170 ulong8 __ovld __cnfn hadd(ulong8 x, ulong8 y);
10171 long16 __ovld __cnfn hadd(long16 x, long16 y);
10172 ulong16 __ovld __cnfn hadd(ulong16 x, ulong16 y);
10173
10174 /**
10175  * Returns (x + y + 1) >> 1. The intermediate sum
10176  * does not modulo overflow.
10177  */
10178 char __ovld __cnfn rhadd(char x, char y);
10179 uchar __ovld __cnfn rhadd(uchar x, uchar y);
10180 char2 __ovld __cnfn rhadd(char2 x, char2 y);
10181 uchar2 __ovld __cnfn rhadd(uchar2 x, uchar2 y);
10182 char3 __ovld __cnfn rhadd(char3 x, char3 y);
10183 uchar3 __ovld __cnfn rhadd(uchar3 x, uchar3 y);
10184 char4 __ovld __cnfn rhadd(char4 x, char4 y);
10185 uchar4 __ovld __cnfn rhadd(uchar4 x, uchar4 y);
10186 char8 __ovld __cnfn rhadd(char8 x, char8 y);
10187 uchar8 __ovld __cnfn rhadd(uchar8 x, uchar8 y);
10188 char16 __ovld __cnfn rhadd(char16 x, char16 y);
10189 uchar16 __ovld __cnfn rhadd(uchar16 x, uchar16 y);
10190 short __ovld __cnfn rhadd(short x, short y);
10191 ushort __ovld __cnfn rhadd(ushort x, ushort y);
10192 short2 __ovld __cnfn rhadd(short2 x, short2 y);
10193 ushort2 __ovld __cnfn rhadd(ushort2 x, ushort2 y);
10194 short3 __ovld __cnfn rhadd(short3 x, short3 y);
10195 ushort3 __ovld __cnfn rhadd(ushort3 x, ushort3 y);
10196 short4 __ovld __cnfn rhadd(short4 x, short4 y);
10197 ushort4 __ovld __cnfn rhadd(ushort4 x, ushort4 y);
10198 short8 __ovld __cnfn rhadd(short8 x, short8 y);
10199 ushort8 __ovld __cnfn rhadd(ushort8 x, ushort8 y);
10200 short16 __ovld __cnfn rhadd(short16 x, short16 y);
10201 ushort16 __ovld __cnfn rhadd(ushort16 x, ushort16 y);
10202 int __ovld __cnfn rhadd(int x, int y);
10203 uint __ovld __cnfn rhadd(uint x, uint y);
10204 int2 __ovld __cnfn rhadd(int2 x, int2 y);
10205 uint2 __ovld __cnfn rhadd(uint2 x, uint2 y);
10206 int3 __ovld __cnfn rhadd(int3 x, int3 y);
10207 uint3 __ovld __cnfn rhadd(uint3 x, uint3 y);
10208 int4 __ovld __cnfn rhadd(int4 x, int4 y);
10209 uint4 __ovld __cnfn rhadd(uint4 x, uint4 y);
10210 int8 __ovld __cnfn rhadd(int8 x, int8 y);
10211 uint8 __ovld __cnfn rhadd(uint8 x, uint8 y);
10212 int16 __ovld __cnfn rhadd(int16 x, int16 y);
10213 uint16 __ovld __cnfn rhadd(uint16 x, uint16 y);
10214 long __ovld __cnfn rhadd(long x, long y);
10215 ulong __ovld __cnfn rhadd(ulong x, ulong y);
10216 long2 __ovld __cnfn rhadd(long2 x, long2 y);
10217 ulong2 __ovld __cnfn rhadd(ulong2 x, ulong2 y);
10218 long3 __ovld __cnfn rhadd(long3 x, long3 y);
10219 ulong3 __ovld __cnfn rhadd(ulong3 x, ulong3 y);
10220 long4 __ovld __cnfn rhadd(long4 x, long4 y);
10221 ulong4 __ovld __cnfn rhadd(ulong4 x, ulong4 y);
10222 long8 __ovld __cnfn rhadd(long8 x, long8 y);
10223 ulong8 __ovld __cnfn rhadd(ulong8 x, ulong8 y);
10224 long16 __ovld __cnfn rhadd(long16 x, long16 y);
10225 ulong16 __ovld __cnfn rhadd(ulong16 x, ulong16 y);
10226
10227 /**
10228  * Returns min(max(x, minval), maxval).
10229  * Results are undefined if minval > maxval.
10230  */
10231 char __ovld __cnfn clamp(char x, char minval, char maxval);
10232 uchar __ovld __cnfn clamp(uchar x, uchar minval, uchar maxval);
10233 char2 __ovld __cnfn clamp(char2 x, char2 minval, char2 maxval);
10234 uchar2 __ovld __cnfn clamp(uchar2 x, uchar2 minval, uchar2 maxval);
10235 char3 __ovld __cnfn clamp(char3 x, char3 minval, char3 maxval);
10236 uchar3 __ovld __cnfn clamp(uchar3 x, uchar3 minval, uchar3 maxval);
10237 char4 __ovld __cnfn clamp(char4 x, char4 minval, char4 maxval);
10238 uchar4 __ovld __cnfn clamp(uchar4 x, uchar4 minval, uchar4 maxval);
10239 char8 __ovld __cnfn clamp(char8 x, char8 minval, char8 maxval);
10240 uchar8 __ovld __cnfn clamp(uchar8 x, uchar8 minval, uchar8 maxval);
10241 char16 __ovld __cnfn clamp(char16 x, char16 minval, char16 maxval);
10242 uchar16 __ovld __cnfn clamp(uchar16 x, uchar16 minval, uchar16 maxval);
10243 short __ovld __cnfn clamp(short x, short minval, short maxval);
10244 ushort __ovld __cnfn clamp(ushort x, ushort minval, ushort maxval);
10245 short2 __ovld __cnfn clamp(short2 x, short2 minval, short2 maxval);
10246 ushort2 __ovld __cnfn clamp(ushort2 x, ushort2 minval, ushort2 maxval);
10247 short3 __ovld __cnfn clamp(short3 x, short3 minval, short3 maxval);
10248 ushort3 __ovld __cnfn clamp(ushort3 x, ushort3 minval, ushort3 maxval);
10249 short4 __ovld __cnfn clamp(short4 x, short4 minval, short4 maxval);
10250 ushort4 __ovld __cnfn clamp(ushort4 x, ushort4 minval, ushort4 maxval);
10251 short8 __ovld __cnfn clamp(short8 x, short8 minval, short8 maxval);
10252 ushort8 __ovld __cnfn clamp(ushort8 x, ushort8 minval, ushort8 maxval);
10253 short16 __ovld __cnfn clamp(short16 x, short16 minval, short16 maxval);
10254 ushort16 __ovld __cnfn clamp(ushort16 x, ushort16 minval, ushort16 maxval);
10255 int __ovld __cnfn clamp(int x, int minval, int maxval);
10256 uint __ovld __cnfn clamp(uint x, uint minval, uint maxval);
10257 int2 __ovld __cnfn clamp(int2 x, int2 minval, int2 maxval);
10258 uint2 __ovld __cnfn clamp(uint2 x, uint2 minval, uint2 maxval);
10259 int3 __ovld __cnfn clamp(int3 x, int3 minval, int3 maxval);
10260 uint3 __ovld __cnfn clamp(uint3 x, uint3 minval, uint3 maxval);
10261 int4 __ovld __cnfn clamp(int4 x, int4 minval, int4 maxval);
10262 uint4 __ovld __cnfn clamp(uint4 x, uint4 minval, uint4 maxval);
10263 int8 __ovld __cnfn clamp(int8 x, int8 minval, int8 maxval);
10264 uint8 __ovld __cnfn clamp(uint8 x, uint8 minval, uint8 maxval);
10265 int16 __ovld __cnfn clamp(int16 x, int16 minval, int16 maxval);
10266 uint16 __ovld __cnfn clamp(uint16 x, uint16 minval, uint16 maxval);
10267 long __ovld __cnfn clamp(long x, long minval, long maxval);
10268 ulong __ovld __cnfn clamp(ulong x, ulong minval, ulong maxval);
10269 long2 __ovld __cnfn clamp(long2 x, long2 minval, long2 maxval);
10270 ulong2 __ovld __cnfn clamp(ulong2 x, ulong2 minval, ulong2 maxval);
10271 long3 __ovld __cnfn clamp(long3 x, long3 minval, long3 maxval);
10272 ulong3 __ovld __cnfn clamp(ulong3 x, ulong3 minval, ulong3 maxval);
10273 long4 __ovld __cnfn clamp(long4 x, long4 minval, long4 maxval);
10274 ulong4 __ovld __cnfn clamp(ulong4 x, ulong4 minval, ulong4 maxval);
10275 long8 __ovld __cnfn clamp(long8 x, long8 minval, long8 maxval);
10276 ulong8 __ovld __cnfn clamp(ulong8 x, ulong8 minval, ulong8 maxval);
10277 long16 __ovld __cnfn clamp(long16 x, long16 minval, long16 maxval);
10278 ulong16 __ovld __cnfn clamp(ulong16 x, ulong16 minval, ulong16 maxval);
10279 char __ovld __cnfn clamp(char x, char minval, char maxval);
10280 uchar __ovld __cnfn clamp(uchar x, uchar minval, uchar maxval);
10281 char2 __ovld __cnfn clamp(char2 x, char minval, char maxval);
10282 uchar2 __ovld __cnfn clamp(uchar2 x, uchar minval, uchar maxval);
10283 char3 __ovld __cnfn clamp(char3 x, char minval, char maxval);
10284 uchar3 __ovld __cnfn clamp(uchar3 x, uchar minval, uchar maxval);
10285 char4 __ovld __cnfn clamp(char4 x, char minval, char maxval);
10286 uchar4 __ovld __cnfn clamp(uchar4 x, uchar minval, uchar maxval);
10287 char8 __ovld __cnfn clamp(char8 x, char minval, char maxval);
10288 uchar8 __ovld __cnfn clamp(uchar8 x, uchar minval, uchar maxval);
10289 char16 __ovld __cnfn clamp(char16 x, char minval, char maxval);
10290 uchar16 __ovld __cnfn clamp(uchar16 x, uchar minval, uchar maxval);
10291 short __ovld __cnfn clamp(short x, short minval, short maxval);
10292 ushort __ovld __cnfn clamp(ushort x, ushort minval, ushort maxval);
10293 short2 __ovld __cnfn clamp(short2 x, short minval, short maxval);
10294 ushort2 __ovld __cnfn clamp(ushort2 x, ushort minval, ushort maxval);
10295 short3 __ovld __cnfn clamp(short3 x, short minval, short maxval);
10296 ushort3 __ovld __cnfn clamp(ushort3 x, ushort minval, ushort maxval);
10297 short4 __ovld __cnfn clamp(short4 x, short minval, short maxval);
10298 ushort4 __ovld __cnfn clamp(ushort4 x, ushort minval, ushort maxval);
10299 short8 __ovld __cnfn clamp(short8 x, short minval, short maxval);
10300 ushort8 __ovld __cnfn clamp(ushort8 x, ushort minval, ushort maxval);
10301 short16 __ovld __cnfn clamp(short16 x, short minval, short maxval);
10302 ushort16 __ovld __cnfn clamp(ushort16 x, ushort minval, ushort maxval);
10303 int __ovld __cnfn clamp(int x, int minval, int maxval);
10304 uint __ovld __cnfn clamp(uint x, uint minval, uint maxval);
10305 int2 __ovld __cnfn clamp(int2 x, int minval, int maxval);
10306 uint2 __ovld __cnfn clamp(uint2 x, uint minval, uint maxval);
10307 int3 __ovld __cnfn clamp(int3 x, int minval, int maxval);
10308 uint3 __ovld __cnfn clamp(uint3 x, uint minval, uint maxval);
10309 int4 __ovld __cnfn clamp(int4 x, int minval, int maxval);
10310 uint4 __ovld __cnfn clamp(uint4 x, uint minval, uint maxval);
10311 int8 __ovld __cnfn clamp(int8 x, int minval, int maxval);
10312 uint8 __ovld __cnfn clamp(uint8 x, uint minval, uint maxval);
10313 int16 __ovld __cnfn clamp(int16 x, int minval, int maxval);
10314 uint16 __ovld __cnfn clamp(uint16 x, uint minval, uint maxval);
10315 long __ovld __cnfn clamp(long x, long minval, long maxval);
10316 ulong __ovld __cnfn clamp(ulong x, ulong minval, ulong maxval);
10317 long2 __ovld __cnfn clamp(long2 x, long minval, long maxval);
10318 ulong2 __ovld __cnfn clamp(ulong2 x, ulong minval, ulong maxval);
10319 long3 __ovld __cnfn clamp(long3 x, long minval, long maxval);
10320 ulong3 __ovld __cnfn clamp(ulong3 x, ulong minval, ulong maxval);
10321 long4 __ovld __cnfn clamp(long4 x, long minval, long maxval);
10322 ulong4 __ovld __cnfn clamp(ulong4 x, ulong minval, ulong maxval);
10323 long8 __ovld __cnfn clamp(long8 x, long minval, long maxval);
10324 ulong8 __ovld __cnfn clamp(ulong8 x, ulong minval, ulong maxval);
10325 long16 __ovld __cnfn clamp(long16 x, long minval, long maxval);
10326 ulong16 __ovld __cnfn clamp(ulong16 x, ulong minval, ulong maxval);
10327
10328 /**
10329  * Returns the number of leading 0-bits in x, starting
10330  * at the most significant bit position.
10331  */
10332 char __ovld __cnfn clz(char x);
10333 uchar __ovld __cnfn clz(uchar x);
10334 char2 __ovld __cnfn clz(char2 x);
10335 uchar2 __ovld __cnfn clz(uchar2 x);
10336 char3 __ovld __cnfn clz(char3 x);
10337 uchar3 __ovld __cnfn clz(uchar3 x);
10338 char4 __ovld __cnfn clz(char4 x);
10339 uchar4 __ovld __cnfn clz(uchar4 x);
10340 char8 __ovld __cnfn clz(char8 x);
10341 uchar8 __ovld __cnfn clz(uchar8 x);
10342 char16 __ovld __cnfn clz(char16 x);
10343 uchar16 __ovld __cnfn clz(uchar16 x);
10344 short __ovld __cnfn clz(short x);
10345 ushort __ovld __cnfn clz(ushort x);
10346 short2 __ovld __cnfn clz(short2 x);
10347 ushort2 __ovld __cnfn clz(ushort2 x);
10348 short3 __ovld __cnfn clz(short3 x);
10349 ushort3 __ovld __cnfn clz(ushort3 x);
10350 short4 __ovld __cnfn clz(short4 x);
10351 ushort4 __ovld __cnfn clz(ushort4 x);
10352 short8 __ovld __cnfn clz(short8 x);
10353 ushort8 __ovld __cnfn clz(ushort8 x);
10354 short16 __ovld __cnfn clz(short16 x);
10355 ushort16 __ovld __cnfn clz(ushort16 x);
10356 int __ovld __cnfn clz(int x);
10357 uint __ovld __cnfn clz(uint x);
10358 int2 __ovld __cnfn clz(int2 x);
10359 uint2 __ovld __cnfn clz(uint2 x);
10360 int3 __ovld __cnfn clz(int3 x);
10361 uint3 __ovld __cnfn clz(uint3 x);
10362 int4 __ovld __cnfn clz(int4 x);
10363 uint4 __ovld __cnfn clz(uint4 x);
10364 int8 __ovld __cnfn clz(int8 x);
10365 uint8 __ovld __cnfn clz(uint8 x);
10366 int16 __ovld __cnfn clz(int16 x);
10367 uint16 __ovld __cnfn clz(uint16 x);
10368 long __ovld __cnfn clz(long x);
10369 ulong __ovld __cnfn clz(ulong x);
10370 long2 __ovld __cnfn clz(long2 x);
10371 ulong2 __ovld __cnfn clz(ulong2 x);
10372 long3 __ovld __cnfn clz(long3 x);
10373 ulong3 __ovld __cnfn clz(ulong3 x);
10374 long4 __ovld __cnfn clz(long4 x);
10375 ulong4 __ovld __cnfn clz(ulong4 x);
10376 long8 __ovld __cnfn clz(long8 x);
10377 ulong8 __ovld __cnfn clz(ulong8 x);
10378 long16 __ovld __cnfn clz(long16 x);
10379 ulong16 __ovld __cnfn clz(ulong16 x);
10380
10381 /**
10382  * Returns the count of trailing 0-bits in x. If x is 0,
10383  * returns the size in bits of the type of x or
10384  * component type of x, if x is a vector.
10385  */
10386 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
10387 char __ovld ctz(char x);
10388 uchar __ovld ctz(uchar x);
10389 char2 __ovld ctz(char2 x);
10390 uchar2 __ovld ctz(uchar2 x);
10391 char3 __ovld ctz(char3 x);
10392 uchar3 __ovld ctz(uchar3 x);
10393 char4 __ovld ctz(char4 x);
10394 uchar4 __ovld ctz(uchar4 x);
10395 char8 __ovld ctz(char8 x);
10396 uchar8 __ovld ctz(uchar8 x);
10397 char16 __ovld ctz(char16 x);
10398 uchar16 __ovld ctz(uchar16 x);
10399 short __ovld ctz(short x);
10400 ushort __ovld ctz(ushort x);
10401 short2 __ovld ctz(short2 x);
10402 ushort2 __ovld ctz(ushort2 x);
10403 short3 __ovld ctz(short3 x);
10404 ushort3 __ovld ctz(ushort3 x);
10405 short4 __ovld ctz(short4 x);
10406 ushort4 __ovld ctz(ushort4 x);
10407 short8 __ovld ctz(short8 x);
10408 ushort8 __ovld ctz(ushort8 x);
10409 short16 __ovld ctz(short16 x);
10410 ushort16 __ovld ctz(ushort16 x);
10411 int __ovld ctz(int x);
10412 uint __ovld ctz(uint x);
10413 int2 __ovld ctz(int2 x);
10414 uint2 __ovld ctz(uint2 x);
10415 int3 __ovld ctz(int3 x);
10416 uint3 __ovld ctz(uint3 x);
10417 int4 __ovld ctz(int4 x);
10418 uint4 __ovld ctz(uint4 x);
10419 int8 __ovld ctz(int8 x);
10420 uint8 __ovld ctz(uint8 x);
10421 int16 __ovld ctz(int16 x);
10422 uint16 __ovld ctz(uint16 x);
10423 long __ovld ctz(long x);
10424 ulong __ovld ctz(ulong x);
10425 long2 __ovld ctz(long2 x);
10426 ulong2 __ovld ctz(ulong2 x);
10427 long3 __ovld ctz(long3 x);
10428 ulong3 __ovld ctz(ulong3 x);
10429 long4 __ovld ctz(long4 x);
10430 ulong4 __ovld ctz(ulong4 x);
10431 long8 __ovld ctz(long8 x);
10432 ulong8 __ovld ctz(ulong8 x);
10433 long16 __ovld ctz(long16 x);
10434 ulong16 __ovld ctz(ulong16 x);
10435 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
10436
10437 /**
10438  * Returns mul_hi(a, b) + c.
10439  */
10440 char __ovld __cnfn mad_hi(char a, char b, char c);
10441 uchar __ovld __cnfn mad_hi(uchar a, uchar b, uchar c);
10442 char2 __ovld __cnfn mad_hi(char2 a, char2 b, char2 c);
10443 uchar2 __ovld __cnfn mad_hi(uchar2 a, uchar2 b, uchar2 c);
10444 char3 __ovld __cnfn mad_hi(char3 a, char3 b, char3 c);
10445 uchar3 __ovld __cnfn mad_hi(uchar3 a, uchar3 b, uchar3 c);
10446 char4 __ovld __cnfn mad_hi(char4 a, char4 b, char4 c);
10447 uchar4 __ovld __cnfn mad_hi(uchar4 a, uchar4 b, uchar4 c);
10448 char8 __ovld __cnfn mad_hi(char8 a, char8 b, char8 c);
10449 uchar8 __ovld __cnfn mad_hi(uchar8 a, uchar8 b, uchar8 c);
10450 char16 __ovld __cnfn mad_hi(char16 a, char16 b, char16 c);
10451 uchar16 __ovld __cnfn mad_hi(uchar16 a, uchar16 b, uchar16 c);
10452 short __ovld __cnfn mad_hi(short a, short b, short c);
10453 ushort __ovld __cnfn mad_hi(ushort a, ushort b, ushort c);
10454 short2 __ovld __cnfn mad_hi(short2 a, short2 b, short2 c);
10455 ushort2 __ovld __cnfn mad_hi(ushort2 a, ushort2 b, ushort2 c);
10456 short3 __ovld __cnfn mad_hi(short3 a, short3 b, short3 c);
10457 ushort3 __ovld __cnfn mad_hi(ushort3 a, ushort3 b, ushort3 c);
10458 short4 __ovld __cnfn mad_hi(short4 a, short4 b, short4 c);
10459 ushort4 __ovld __cnfn mad_hi(ushort4 a, ushort4 b, ushort4 c);
10460 short8 __ovld __cnfn mad_hi(short8 a, short8 b, short8 c);
10461 ushort8 __ovld __cnfn mad_hi(ushort8 a, ushort8 b, ushort8 c);
10462 short16 __ovld __cnfn mad_hi(short16 a, short16 b, short16 c);
10463 ushort16 __ovld __cnfn mad_hi(ushort16 a, ushort16 b, ushort16 c);
10464 int __ovld __cnfn mad_hi(int a, int b, int c);
10465 uint __ovld __cnfn mad_hi(uint a, uint b, uint c);
10466 int2 __ovld __cnfn mad_hi(int2 a, int2 b, int2 c);
10467 uint2 __ovld __cnfn mad_hi(uint2 a, uint2 b, uint2 c);
10468 int3 __ovld __cnfn mad_hi(int3 a, int3 b, int3 c);
10469 uint3 __ovld __cnfn mad_hi(uint3 a, uint3 b, uint3 c);
10470 int4 __ovld __cnfn mad_hi(int4 a, int4 b, int4 c);
10471 uint4 __ovld __cnfn mad_hi(uint4 a, uint4 b, uint4 c);
10472 int8 __ovld __cnfn mad_hi(int8 a, int8 b, int8 c);
10473 uint8 __ovld __cnfn mad_hi(uint8 a, uint8 b, uint8 c);
10474 int16 __ovld __cnfn mad_hi(int16 a, int16 b, int16 c);
10475 uint16 __ovld __cnfn mad_hi(uint16 a, uint16 b, uint16 c);
10476 long __ovld __cnfn mad_hi(long a, long b, long c);
10477 ulong __ovld __cnfn mad_hi(ulong a, ulong b, ulong c);
10478 long2 __ovld __cnfn mad_hi(long2 a, long2 b, long2 c);
10479 ulong2 __ovld __cnfn mad_hi(ulong2 a, ulong2 b, ulong2 c);
10480 long3 __ovld __cnfn mad_hi(long3 a, long3 b, long3 c);
10481 ulong3 __ovld __cnfn mad_hi(ulong3 a, ulong3 b, ulong3 c);
10482 long4 __ovld __cnfn mad_hi(long4 a, long4 b, long4 c);
10483 ulong4 __ovld __cnfn mad_hi(ulong4 a, ulong4 b, ulong4 c);
10484 long8 __ovld __cnfn mad_hi(long8 a, long8 b, long8 c);
10485 ulong8 __ovld __cnfn mad_hi(ulong8 a, ulong8 b, ulong8 c);
10486 long16 __ovld __cnfn mad_hi(long16 a, long16 b, long16 c);
10487 ulong16 __ovld __cnfn mad_hi(ulong16 a, ulong16 b, ulong16 c);
10488
10489 /**
10490  * Returns a * b + c and saturates the result.
10491  */
10492 char __ovld __cnfn mad_sat(char a, char b, char c);
10493 uchar __ovld __cnfn mad_sat(uchar a, uchar b, uchar c);
10494 char2 __ovld __cnfn mad_sat(char2 a, char2 b, char2 c);
10495 uchar2 __ovld __cnfn mad_sat(uchar2 a, uchar2 b, uchar2 c);
10496 char3 __ovld __cnfn mad_sat(char3 a, char3 b, char3 c);
10497 uchar3 __ovld __cnfn mad_sat(uchar3 a, uchar3 b, uchar3 c);
10498 char4 __ovld __cnfn mad_sat(char4 a, char4 b, char4 c);
10499 uchar4 __ovld __cnfn mad_sat(uchar4 a, uchar4 b, uchar4 c);
10500 char8 __ovld __cnfn mad_sat(char8 a, char8 b, char8 c);
10501 uchar8 __ovld __cnfn mad_sat(uchar8 a, uchar8 b, uchar8 c);
10502 char16 __ovld __cnfn mad_sat(char16 a, char16 b, char16 c);
10503 uchar16 __ovld __cnfn mad_sat(uchar16 a, uchar16 b, uchar16 c);
10504 short __ovld __cnfn mad_sat(short a, short b, short c);
10505 ushort __ovld __cnfn mad_sat(ushort a, ushort b, ushort c);
10506 short2 __ovld __cnfn mad_sat(short2 a, short2 b, short2 c);
10507 ushort2 __ovld __cnfn mad_sat(ushort2 a, ushort2 b, ushort2 c);
10508 short3 __ovld __cnfn mad_sat(short3 a, short3 b, short3 c);
10509 ushort3 __ovld __cnfn mad_sat(ushort3 a, ushort3 b, ushort3 c);
10510 short4 __ovld __cnfn mad_sat(short4 a, short4 b, short4 c);
10511 ushort4 __ovld __cnfn mad_sat(ushort4 a, ushort4 b, ushort4 c);
10512 short8 __ovld __cnfn mad_sat(short8 a, short8 b, short8 c);
10513 ushort8 __ovld __cnfn mad_sat(ushort8 a, ushort8 b, ushort8 c);
10514 short16 __ovld __cnfn mad_sat(short16 a, short16 b, short16 c);
10515 ushort16 __ovld __cnfn mad_sat(ushort16 a, ushort16 b, ushort16 c);
10516 int __ovld __cnfn mad_sat(int a, int b, int c);
10517 uint __ovld __cnfn mad_sat(uint a, uint b, uint c);
10518 int2 __ovld __cnfn mad_sat(int2 a, int2 b, int2 c);
10519 uint2 __ovld __cnfn mad_sat(uint2 a, uint2 b, uint2 c);
10520 int3 __ovld __cnfn mad_sat(int3 a, int3 b, int3 c);
10521 uint3 __ovld __cnfn mad_sat(uint3 a, uint3 b, uint3 c);
10522 int4 __ovld __cnfn mad_sat(int4 a, int4 b, int4 c);
10523 uint4 __ovld __cnfn mad_sat(uint4 a, uint4 b, uint4 c);
10524 int8 __ovld __cnfn mad_sat(int8 a, int8 b, int8 c);
10525 uint8 __ovld __cnfn mad_sat(uint8 a, uint8 b, uint8 c);
10526 int16 __ovld __cnfn mad_sat(int16 a, int16 b, int16 c);
10527 uint16 __ovld __cnfn mad_sat(uint16 a, uint16 b, uint16 c);
10528 long __ovld __cnfn mad_sat(long a, long b, long c);
10529 ulong __ovld __cnfn mad_sat(ulong a, ulong b, ulong c);
10530 long2 __ovld __cnfn mad_sat(long2 a, long2 b, long2 c);
10531 ulong2 __ovld __cnfn mad_sat(ulong2 a, ulong2 b, ulong2 c);
10532 long3 __ovld __cnfn mad_sat(long3 a, long3 b, long3 c);
10533 ulong3 __ovld __cnfn mad_sat(ulong3 a, ulong3 b, ulong3 c);
10534 long4 __ovld __cnfn mad_sat(long4 a, long4 b, long4 c);
10535 ulong4 __ovld __cnfn mad_sat(ulong4 a, ulong4 b, ulong4 c);
10536 long8 __ovld __cnfn mad_sat(long8 a, long8 b, long8 c);
10537 ulong8 __ovld __cnfn mad_sat(ulong8 a, ulong8 b, ulong8 c);
10538 long16 __ovld __cnfn mad_sat(long16 a, long16 b, long16 c);
10539 ulong16 __ovld __cnfn mad_sat(ulong16 a, ulong16 b, ulong16 c);
10540
10541 /**
10542  * Returns y if x < y, otherwise it returns x.
10543  */
10544 char __ovld __cnfn max(char x, char y);
10545 uchar __ovld __cnfn max(uchar x, uchar y);
10546 char2 __ovld __cnfn max(char2 x, char2 y);
10547 uchar2 __ovld __cnfn max(uchar2 x, uchar2 y);
10548 char3 __ovld __cnfn max(char3 x, char3 y);
10549 uchar3 __ovld __cnfn max(uchar3 x, uchar3 y);
10550 char4 __ovld __cnfn max(char4 x, char4 y);
10551 uchar4 __ovld __cnfn max(uchar4 x, uchar4 y);
10552 char8 __ovld __cnfn max(char8 x, char8 y);
10553 uchar8 __ovld __cnfn max(uchar8 x, uchar8 y);
10554 char16 __ovld __cnfn max(char16 x, char16 y);
10555 uchar16 __ovld __cnfn max(uchar16 x, uchar16 y);
10556 short __ovld __cnfn max(short x, short y);
10557 ushort __ovld __cnfn max(ushort x, ushort y);
10558 short2 __ovld __cnfn max(short2 x, short2 y);
10559 ushort2 __ovld __cnfn max(ushort2 x, ushort2 y);
10560 short3 __ovld __cnfn max(short3 x, short3 y);
10561 ushort3 __ovld __cnfn max(ushort3 x, ushort3 y);
10562 short4 __ovld __cnfn max(short4 x, short4 y);
10563 ushort4 __ovld __cnfn max(ushort4 x, ushort4 y);
10564 short8 __ovld __cnfn max(short8 x, short8 y);
10565 ushort8 __ovld __cnfn max(ushort8 x, ushort8 y);
10566 short16 __ovld __cnfn max(short16 x, short16 y);
10567 ushort16 __ovld __cnfn max(ushort16 x, ushort16 y);
10568 int __ovld __cnfn max(int x, int y);
10569 uint __ovld __cnfn max(uint x, uint y);
10570 int2 __ovld __cnfn max(int2 x, int2 y);
10571 uint2 __ovld __cnfn max(uint2 x, uint2 y);
10572 int3 __ovld __cnfn max(int3 x, int3 y);
10573 uint3 __ovld __cnfn max(uint3 x, uint3 y);
10574 int4 __ovld __cnfn max(int4 x, int4 y);
10575 uint4 __ovld __cnfn max(uint4 x, uint4 y);
10576 int8 __ovld __cnfn max(int8 x, int8 y);
10577 uint8 __ovld __cnfn max(uint8 x, uint8 y);
10578 int16 __ovld __cnfn max(int16 x, int16 y);
10579 uint16 __ovld __cnfn max(uint16 x, uint16 y);
10580 long __ovld __cnfn max(long x, long y);
10581 ulong __ovld __cnfn max(ulong x, ulong y);
10582 long2 __ovld __cnfn max(long2 x, long2 y);
10583 ulong2 __ovld __cnfn max(ulong2 x, ulong2 y);
10584 long3 __ovld __cnfn max(long3 x, long3 y);
10585 ulong3 __ovld __cnfn max(ulong3 x, ulong3 y);
10586 long4 __ovld __cnfn max(long4 x, long4 y);
10587 ulong4 __ovld __cnfn max(ulong4 x, ulong4 y);
10588 long8 __ovld __cnfn max(long8 x, long8 y);
10589 ulong8 __ovld __cnfn max(ulong8 x, ulong8 y);
10590 long16 __ovld __cnfn max(long16 x, long16 y);
10591 ulong16 __ovld __cnfn max(ulong16 x, ulong16 y);
10592 char __ovld __cnfn max(char x, char y);
10593 uchar __ovld __cnfn max(uchar x, uchar y);
10594 char2 __ovld __cnfn max(char2 x, char y);
10595 uchar2 __ovld __cnfn max(uchar2 x, uchar y);
10596 char3 __ovld __cnfn max(char3 x, char y);
10597 uchar3 __ovld __cnfn max(uchar3 x, uchar y);
10598 char4 __ovld __cnfn max(char4 x, char y);
10599 uchar4 __ovld __cnfn max(uchar4 x, uchar y);
10600 char8 __ovld __cnfn max(char8 x, char y);
10601 uchar8 __ovld __cnfn max(uchar8 x, uchar y);
10602 char16 __ovld __cnfn max(char16 x, char y);
10603 uchar16 __ovld __cnfn max(uchar16 x, uchar y);
10604 short __ovld __cnfn max(short x, short y);
10605 ushort __ovld __cnfn max(ushort x, ushort y);
10606 short2 __ovld __cnfn max(short2 x, short y);
10607 ushort2 __ovld __cnfn max(ushort2 x, ushort y);
10608 short3 __ovld __cnfn max(short3 x, short y);
10609 ushort3 __ovld __cnfn max(ushort3 x, ushort y);
10610 short4 __ovld __cnfn max(short4 x, short y);
10611 ushort4 __ovld __cnfn max(ushort4 x, ushort y);
10612 short8 __ovld __cnfn max(short8 x, short y);
10613 ushort8 __ovld __cnfn max(ushort8 x, ushort y);
10614 short16 __ovld __cnfn max(short16 x, short y);
10615 ushort16 __ovld __cnfn max(ushort16 x, ushort y);
10616 int __ovld __cnfn max(int x, int y);
10617 uint __ovld __cnfn max(uint x, uint y);
10618 int2 __ovld __cnfn max(int2 x, int y);
10619 uint2 __ovld __cnfn max(uint2 x, uint y);
10620 int3 __ovld __cnfn max(int3 x, int y);
10621 uint3 __ovld __cnfn max(uint3 x, uint y);
10622 int4 __ovld __cnfn max(int4 x, int y);
10623 uint4 __ovld __cnfn max(uint4 x, uint y);
10624 int8 __ovld __cnfn max(int8 x, int y);
10625 uint8 __ovld __cnfn max(uint8 x, uint y);
10626 int16 __ovld __cnfn max(int16 x, int y);
10627 uint16 __ovld __cnfn max(uint16 x, uint y);
10628 long __ovld __cnfn max(long x, long y);
10629 ulong __ovld __cnfn max(ulong x, ulong y);
10630 long2 __ovld __cnfn max(long2 x, long y);
10631 ulong2 __ovld __cnfn max(ulong2 x, ulong y);
10632 long3 __ovld __cnfn max(long3 x, long y);
10633 ulong3 __ovld __cnfn max(ulong3 x, ulong y);
10634 long4 __ovld __cnfn max(long4 x, long y);
10635 ulong4 __ovld __cnfn max(ulong4 x, ulong y);
10636 long8 __ovld __cnfn max(long8 x, long y);
10637 ulong8 __ovld __cnfn max(ulong8 x, ulong y);
10638 long16 __ovld __cnfn max(long16 x, long y);
10639 ulong16 __ovld __cnfn max(ulong16 x, ulong y);
10640
10641 /**
10642  * Returns y if y < x, otherwise it returns x.
10643  */
10644 char __ovld __cnfn min(char x, char y);
10645 uchar __ovld __cnfn min(uchar x, uchar y);
10646 char2 __ovld __cnfn min(char2 x, char2 y);
10647 uchar2 __ovld __cnfn min(uchar2 x, uchar2 y);
10648 char3 __ovld __cnfn min(char3 x, char3 y);
10649 uchar3 __ovld __cnfn min(uchar3 x, uchar3 y);
10650 char4 __ovld __cnfn min(char4 x, char4 y);
10651 uchar4 __ovld __cnfn min(uchar4 x, uchar4 y);
10652 char8 __ovld __cnfn min(char8 x, char8 y);
10653 uchar8 __ovld __cnfn min(uchar8 x, uchar8 y);
10654 char16 __ovld __cnfn min(char16 x, char16 y);
10655 uchar16 __ovld __cnfn min(uchar16 x, uchar16 y);
10656 short __ovld __cnfn min(short x, short y);
10657 ushort __ovld __cnfn min(ushort x, ushort y);
10658 short2 __ovld __cnfn min(short2 x, short2 y);
10659 ushort2 __ovld __cnfn min(ushort2 x, ushort2 y);
10660 short3 __ovld __cnfn min(short3 x, short3 y);
10661 ushort3 __ovld __cnfn min(ushort3 x, ushort3 y);
10662 short4 __ovld __cnfn min(short4 x, short4 y);
10663 ushort4 __ovld __cnfn min(ushort4 x, ushort4 y);
10664 short8 __ovld __cnfn min(short8 x, short8 y);
10665 ushort8 __ovld __cnfn min(ushort8 x, ushort8 y);
10666 short16 __ovld __cnfn min(short16 x, short16 y);
10667 ushort16 __ovld __cnfn min(ushort16 x, ushort16 y);
10668 int __ovld __cnfn min(int x, int y);
10669 uint __ovld __cnfn min(uint x, uint y);
10670 int2 __ovld __cnfn min(int2 x, int2 y);
10671 uint2 __ovld __cnfn min(uint2 x, uint2 y);
10672 int3 __ovld __cnfn min(int3 x, int3 y);
10673 uint3 __ovld __cnfn min(uint3 x, uint3 y);
10674 int4 __ovld __cnfn min(int4 x, int4 y);
10675 uint4 __ovld __cnfn min(uint4 x, uint4 y);
10676 int8 __ovld __cnfn min(int8 x, int8 y);
10677 uint8 __ovld __cnfn min(uint8 x, uint8 y);
10678 int16 __ovld __cnfn min(int16 x, int16 y);
10679 uint16 __ovld __cnfn min(uint16 x, uint16 y);
10680 long __ovld __cnfn min(long x, long y);
10681 ulong __ovld __cnfn min(ulong x, ulong y);
10682 long2 __ovld __cnfn min(long2 x, long2 y);
10683 ulong2 __ovld __cnfn min(ulong2 x, ulong2 y);
10684 long3 __ovld __cnfn min(long3 x, long3 y);
10685 ulong3 __ovld __cnfn min(ulong3 x, ulong3 y);
10686 long4 __ovld __cnfn min(long4 x, long4 y);
10687 ulong4 __ovld __cnfn min(ulong4 x, ulong4 y);
10688 long8 __ovld __cnfn min(long8 x, long8 y);
10689 ulong8 __ovld __cnfn min(ulong8 x, ulong8 y);
10690 long16 __ovld __cnfn min(long16 x, long16 y);
10691 ulong16 __ovld __cnfn min(ulong16 x, ulong16 y);
10692 char __ovld __cnfn min(char x, char y);
10693 uchar __ovld __cnfn min(uchar x, uchar y);
10694 char2 __ovld __cnfn min(char2 x, char y);
10695 uchar2 __ovld __cnfn min(uchar2 x, uchar y);
10696 char3 __ovld __cnfn min(char3 x, char y);
10697 uchar3 __ovld __cnfn min(uchar3 x, uchar y);
10698 char4 __ovld __cnfn min(char4 x, char y);
10699 uchar4 __ovld __cnfn min(uchar4 x, uchar y);
10700 char8 __ovld __cnfn min(char8 x, char y);
10701 uchar8 __ovld __cnfn min(uchar8 x, uchar y);
10702 char16 __ovld __cnfn min(char16 x, char y);
10703 uchar16 __ovld __cnfn min(uchar16 x, uchar y);
10704 short __ovld __cnfn min(short x, short y);
10705 ushort __ovld __cnfn min(ushort x, ushort y);
10706 short2 __ovld __cnfn min(short2 x, short y);
10707 ushort2 __ovld __cnfn min(ushort2 x, ushort y);
10708 short3 __ovld __cnfn min(short3 x, short y);
10709 ushort3 __ovld __cnfn min(ushort3 x, ushort y);
10710 short4 __ovld __cnfn min(short4 x, short y);
10711 ushort4 __ovld __cnfn min(ushort4 x, ushort y);
10712 short8 __ovld __cnfn min(short8 x, short y);
10713 ushort8 __ovld __cnfn min(ushort8 x, ushort y);
10714 short16 __ovld __cnfn min(short16 x, short y);
10715 ushort16 __ovld __cnfn min(ushort16 x, ushort y);
10716 int __ovld __cnfn min(int x, int y);
10717 uint __ovld __cnfn min(uint x, uint y);
10718 int2 __ovld __cnfn min(int2 x, int y);
10719 uint2 __ovld __cnfn min(uint2 x, uint y);
10720 int3 __ovld __cnfn min(int3 x, int y);
10721 uint3 __ovld __cnfn min(uint3 x, uint y);
10722 int4 __ovld __cnfn min(int4 x, int y);
10723 uint4 __ovld __cnfn min(uint4 x, uint y);
10724 int8 __ovld __cnfn min(int8 x, int y);
10725 uint8 __ovld __cnfn min(uint8 x, uint y);
10726 int16 __ovld __cnfn min(int16 x, int y);
10727 uint16 __ovld __cnfn min(uint16 x, uint y);
10728 long __ovld __cnfn min(long x, long y);
10729 ulong __ovld __cnfn min(ulong x, ulong y);
10730 long2 __ovld __cnfn min(long2 x, long y);
10731 ulong2 __ovld __cnfn min(ulong2 x, ulong y);
10732 long3 __ovld __cnfn min(long3 x, long y);
10733 ulong3 __ovld __cnfn min(ulong3 x, ulong y);
10734 long4 __ovld __cnfn min(long4 x, long y);
10735 ulong4 __ovld __cnfn min(ulong4 x, ulong y);
10736 long8 __ovld __cnfn min(long8 x, long y);
10737 ulong8 __ovld __cnfn min(ulong8 x, ulong y);
10738 long16 __ovld __cnfn min(long16 x, long y);
10739 ulong16 __ovld __cnfn min(ulong16 x, ulong y);
10740
10741 /**
10742  * Computes x * y and returns the high half of the
10743  * product of x and y.
10744  */
10745 char __ovld __cnfn mul_hi(char x, char y);
10746 uchar __ovld __cnfn mul_hi(uchar x, uchar y);
10747 char2 __ovld __cnfn mul_hi(char2 x, char2 y);
10748 uchar2 __ovld __cnfn mul_hi(uchar2 x, uchar2 y);
10749 char3 __ovld __cnfn mul_hi(char3 x, char3 y);
10750 uchar3 __ovld __cnfn mul_hi(uchar3 x, uchar3 y);
10751 char4 __ovld __cnfn mul_hi(char4 x, char4 y);
10752 uchar4 __ovld __cnfn mul_hi(uchar4 x, uchar4 y);
10753 char8 __ovld __cnfn mul_hi(char8 x, char8 y);
10754 uchar8 __ovld __cnfn mul_hi(uchar8 x, uchar8 y);
10755 char16 __ovld __cnfn mul_hi(char16 x, char16 y);
10756 uchar16 __ovld __cnfn mul_hi(uchar16 x, uchar16 y);
10757 short __ovld __cnfn mul_hi(short x, short y);
10758 ushort __ovld __cnfn mul_hi(ushort x, ushort y);
10759 short2 __ovld __cnfn mul_hi(short2 x, short2 y);
10760 ushort2 __ovld __cnfn mul_hi(ushort2 x, ushort2 y);
10761 short3 __ovld __cnfn mul_hi(short3 x, short3 y);
10762 ushort3 __ovld __cnfn mul_hi(ushort3 x, ushort3 y);
10763 short4 __ovld __cnfn mul_hi(short4 x, short4 y);
10764 ushort4 __ovld __cnfn mul_hi(ushort4 x, ushort4 y);
10765 short8 __ovld __cnfn mul_hi(short8 x, short8 y);
10766 ushort8 __ovld __cnfn mul_hi(ushort8 x, ushort8 y);
10767 short16 __ovld __cnfn mul_hi(short16 x, short16 y);
10768 ushort16 __ovld __cnfn mul_hi(ushort16 x, ushort16 y);
10769 int __ovld __cnfn mul_hi(int x, int y);
10770 uint __ovld __cnfn mul_hi(uint x, uint y);
10771 int2 __ovld __cnfn mul_hi(int2 x, int2 y);
10772 uint2 __ovld __cnfn mul_hi(uint2 x, uint2 y);
10773 int3 __ovld __cnfn mul_hi(int3 x, int3 y);
10774 uint3 __ovld __cnfn mul_hi(uint3 x, uint3 y);
10775 int4 __ovld __cnfn mul_hi(int4 x, int4 y);
10776 uint4 __ovld __cnfn mul_hi(uint4 x, uint4 y);
10777 int8 __ovld __cnfn mul_hi(int8 x, int8 y);
10778 uint8 __ovld __cnfn mul_hi(uint8 x, uint8 y);
10779 int16 __ovld __cnfn mul_hi(int16 x, int16 y);
10780 uint16 __ovld __cnfn mul_hi(uint16 x, uint16 y);
10781 long __ovld __cnfn mul_hi(long x, long y);
10782 ulong __ovld __cnfn mul_hi(ulong x, ulong y);
10783 long2 __ovld __cnfn mul_hi(long2 x, long2 y);
10784 ulong2 __ovld __cnfn mul_hi(ulong2 x, ulong2 y);
10785 long3 __ovld __cnfn mul_hi(long3 x, long3 y);
10786 ulong3 __ovld __cnfn mul_hi(ulong3 x, ulong3 y);
10787 long4 __ovld __cnfn mul_hi(long4 x, long4 y);
10788 ulong4 __ovld __cnfn mul_hi(ulong4 x, ulong4 y);
10789 long8 __ovld __cnfn mul_hi(long8 x, long8 y);
10790 ulong8 __ovld __cnfn mul_hi(ulong8 x, ulong8 y);
10791 long16 __ovld __cnfn mul_hi(long16 x, long16 y);
10792 ulong16 __ovld __cnfn mul_hi(ulong16 x, ulong16 y);
10793
10794 /**
10795  * For each element in v, the bits are shifted left by
10796  * the number of bits given by the corresponding
10797  * element in i (subject to usual shift modulo rules
10798  * described in section 6.3). Bits shifted off the left
10799  * side of the element are shifted back in from the
10800  * right.
10801  */
10802 char __ovld __cnfn rotate(char v, char i);
10803 uchar __ovld __cnfn rotate(uchar v, uchar i);
10804 char2 __ovld __cnfn rotate(char2 v, char2 i);
10805 uchar2 __ovld __cnfn rotate(uchar2 v, uchar2 i);
10806 char3 __ovld __cnfn rotate(char3 v, char3 i);
10807 uchar3 __ovld __cnfn rotate(uchar3 v, uchar3 i);
10808 char4 __ovld __cnfn rotate(char4 v, char4 i);
10809 uchar4 __ovld __cnfn rotate(uchar4 v, uchar4 i);
10810 char8 __ovld __cnfn rotate(char8 v, char8 i);
10811 uchar8 __ovld __cnfn rotate(uchar8 v, uchar8 i);
10812 char16 __ovld __cnfn rotate(char16 v, char16 i);
10813 uchar16 __ovld __cnfn rotate(uchar16 v, uchar16 i);
10814 short __ovld __cnfn rotate(short v, short i);
10815 ushort __ovld __cnfn rotate(ushort v, ushort i);
10816 short2 __ovld __cnfn rotate(short2 v, short2 i);
10817 ushort2 __ovld __cnfn rotate(ushort2 v, ushort2 i);
10818 short3 __ovld __cnfn rotate(short3 v, short3 i);
10819 ushort3 __ovld __cnfn rotate(ushort3 v, ushort3 i);
10820 short4 __ovld __cnfn rotate(short4 v, short4 i);
10821 ushort4 __ovld __cnfn rotate(ushort4 v, ushort4 i);
10822 short8 __ovld __cnfn rotate(short8 v, short8 i);
10823 ushort8 __ovld __cnfn rotate(ushort8 v, ushort8 i);
10824 short16 __ovld __cnfn rotate(short16 v, short16 i);
10825 ushort16 __ovld __cnfn rotate(ushort16 v, ushort16 i);
10826 int __ovld __cnfn rotate(int v, int i);
10827 uint __ovld __cnfn rotate(uint v, uint i);
10828 int2 __ovld __cnfn rotate(int2 v, int2 i);
10829 uint2 __ovld __cnfn rotate(uint2 v, uint2 i);
10830 int3 __ovld __cnfn rotate(int3 v, int3 i);
10831 uint3 __ovld __cnfn rotate(uint3 v, uint3 i);
10832 int4 __ovld __cnfn rotate(int4 v, int4 i);
10833 uint4 __ovld __cnfn rotate(uint4 v, uint4 i);
10834 int8 __ovld __cnfn rotate(int8 v, int8 i);
10835 uint8 __ovld __cnfn rotate(uint8 v, uint8 i);
10836 int16 __ovld __cnfn rotate(int16 v, int16 i);
10837 uint16 __ovld __cnfn rotate(uint16 v, uint16 i);
10838 long __ovld __cnfn rotate(long v, long i);
10839 ulong __ovld __cnfn rotate(ulong v, ulong i);
10840 long2 __ovld __cnfn rotate(long2 v, long2 i);
10841 ulong2 __ovld __cnfn rotate(ulong2 v, ulong2 i);
10842 long3 __ovld __cnfn rotate(long3 v, long3 i);
10843 ulong3 __ovld __cnfn rotate(ulong3 v, ulong3 i);
10844 long4 __ovld __cnfn rotate(long4 v, long4 i);
10845 ulong4 __ovld __cnfn rotate(ulong4 v, ulong4 i);
10846 long8 __ovld __cnfn rotate(long8 v, long8 i);
10847 ulong8 __ovld __cnfn rotate(ulong8 v, ulong8 i);
10848 long16 __ovld __cnfn rotate(long16 v, long16 i);
10849 ulong16 __ovld __cnfn rotate(ulong16 v, ulong16 i);
10850
10851 /**
10852  * Returns x - y and saturates the result.
10853  */
10854 char __ovld __cnfn sub_sat(char x, char y);
10855 uchar __ovld __cnfn sub_sat(uchar x, uchar y);
10856 char2 __ovld __cnfn sub_sat(char2 x, char2 y);
10857 uchar2 __ovld __cnfn sub_sat(uchar2 x, uchar2 y);
10858 char3 __ovld __cnfn sub_sat(char3 x, char3 y);
10859 uchar3 __ovld __cnfn sub_sat(uchar3 x, uchar3 y);
10860 char4 __ovld __cnfn sub_sat(char4 x, char4 y);
10861 uchar4 __ovld __cnfn sub_sat(uchar4 x, uchar4 y);
10862 char8 __ovld __cnfn sub_sat(char8 x, char8 y);
10863 uchar8 __ovld __cnfn sub_sat(uchar8 x, uchar8 y);
10864 char16 __ovld __cnfn sub_sat(char16 x, char16 y);
10865 uchar16 __ovld __cnfn sub_sat(uchar16 x, uchar16 y);
10866 short __ovld __cnfn sub_sat(short x, short y);
10867 ushort __ovld __cnfn sub_sat(ushort x, ushort y);
10868 short2 __ovld __cnfn sub_sat(short2 x, short2 y);
10869 ushort2 __ovld __cnfn sub_sat(ushort2 x, ushort2 y);
10870 short3 __ovld __cnfn sub_sat(short3 x, short3 y);
10871 ushort3 __ovld __cnfn sub_sat(ushort3 x, ushort3 y);
10872 short4 __ovld __cnfn sub_sat(short4 x, short4 y);
10873 ushort4 __ovld __cnfn sub_sat(ushort4 x, ushort4 y);
10874 short8 __ovld __cnfn sub_sat(short8 x, short8 y);
10875 ushort8 __ovld __cnfn sub_sat(ushort8 x, ushort8 y);
10876 short16 __ovld __cnfn sub_sat(short16 x, short16 y);
10877 ushort16 __ovld __cnfn sub_sat(ushort16 x, ushort16 y);
10878 int __ovld __cnfn sub_sat(int x, int y);
10879 uint __ovld __cnfn sub_sat(uint x, uint y);
10880 int2 __ovld __cnfn sub_sat(int2 x, int2 y);
10881 uint2 __ovld __cnfn sub_sat(uint2 x, uint2 y);
10882 int3 __ovld __cnfn sub_sat(int3 x, int3 y);
10883 uint3 __ovld __cnfn sub_sat(uint3 x, uint3 y);
10884 int4 __ovld __cnfn sub_sat(int4 x, int4 y);
10885 uint4 __ovld __cnfn sub_sat(uint4 x, uint4 y);
10886 int8 __ovld __cnfn sub_sat(int8 x, int8 y);
10887 uint8 __ovld __cnfn sub_sat(uint8 x, uint8 y);
10888 int16 __ovld __cnfn sub_sat(int16 x, int16 y);
10889 uint16 __ovld __cnfn sub_sat(uint16 x, uint16 y);
10890 long __ovld __cnfn sub_sat(long x, long y);
10891 ulong __ovld __cnfn sub_sat(ulong x, ulong y);
10892 long2 __ovld __cnfn sub_sat(long2 x, long2 y);
10893 ulong2 __ovld __cnfn sub_sat(ulong2 x, ulong2 y);
10894 long3 __ovld __cnfn sub_sat(long3 x, long3 y);
10895 ulong3 __ovld __cnfn sub_sat(ulong3 x, ulong3 y);
10896 long4 __ovld __cnfn sub_sat(long4 x, long4 y);
10897 ulong4 __ovld __cnfn sub_sat(ulong4 x, ulong4 y);
10898 long8 __ovld __cnfn sub_sat(long8 x, long8 y);
10899 ulong8 __ovld __cnfn sub_sat(ulong8 x, ulong8 y);
10900 long16 __ovld __cnfn sub_sat(long16 x, long16 y);
10901 ulong16 __ovld __cnfn sub_sat(ulong16 x, ulong16 y);
10902
10903 /**
10904  * result[i] = ((short)hi[i] << 8) | lo[i]
10905  * result[i] = ((ushort)hi[i] << 8) | lo[i]
10906  */
10907 short __ovld __cnfn upsample(char hi, uchar lo);
10908 ushort __ovld __cnfn upsample(uchar hi, uchar lo);
10909 short2 __ovld __cnfn upsample(char2 hi, uchar2 lo);
10910 short3 __ovld __cnfn upsample(char3 hi, uchar3 lo);
10911 short4 __ovld __cnfn upsample(char4 hi, uchar4 lo);
10912 short8 __ovld __cnfn upsample(char8 hi, uchar8 lo);
10913 short16 __ovld __cnfn upsample(char16 hi, uchar16 lo);
10914 ushort2 __ovld __cnfn upsample(uchar2 hi, uchar2 lo);
10915 ushort3 __ovld __cnfn upsample(uchar3 hi, uchar3 lo);
10916 ushort4 __ovld __cnfn upsample(uchar4 hi, uchar4 lo);
10917 ushort8 __ovld __cnfn upsample(uchar8 hi, uchar8 lo);
10918 ushort16 __ovld __cnfn upsample(uchar16 hi, uchar16 lo);
10919
10920 /**
10921  * result[i] = ((int)hi[i] << 16) | lo[i]
10922  * result[i] = ((uint)hi[i] << 16) | lo[i]
10923  */
10924 int __ovld __cnfn upsample(short hi, ushort lo);
10925 uint __ovld __cnfn upsample(ushort hi, ushort lo);
10926 int2 __ovld __cnfn upsample(short2 hi, ushort2 lo);
10927 int3 __ovld __cnfn upsample(short3 hi, ushort3 lo);
10928 int4 __ovld __cnfn upsample(short4 hi, ushort4 lo);
10929 int8 __ovld __cnfn upsample(short8 hi, ushort8 lo);
10930 int16 __ovld __cnfn upsample(short16 hi, ushort16 lo);
10931 uint2 __ovld __cnfn upsample(ushort2 hi, ushort2 lo);
10932 uint3 __ovld __cnfn upsample(ushort3 hi, ushort3 lo);
10933 uint4 __ovld __cnfn upsample(ushort4 hi, ushort4 lo);
10934 uint8 __ovld __cnfn upsample(ushort8 hi, ushort8 lo);
10935 uint16 __ovld __cnfn upsample(ushort16 hi, ushort16 lo);
10936 /**
10937  * result[i] = ((long)hi[i] << 32) | lo[i]
10938  * result[i] = ((ulong)hi[i] << 32) | lo[i]
10939  */
10940 long __ovld __cnfn upsample(int hi, uint lo);
10941 ulong __ovld __cnfn upsample(uint hi, uint lo);
10942 long2 __ovld __cnfn upsample(int2 hi, uint2 lo);
10943 long3 __ovld __cnfn upsample(int3 hi, uint3 lo);
10944 long4 __ovld __cnfn upsample(int4 hi, uint4 lo);
10945 long8 __ovld __cnfn upsample(int8 hi, uint8 lo);
10946 long16 __ovld __cnfn upsample(int16 hi, uint16 lo);
10947 ulong2 __ovld __cnfn upsample(uint2 hi, uint2 lo);
10948 ulong3 __ovld __cnfn upsample(uint3 hi, uint3 lo);
10949 ulong4 __ovld __cnfn upsample(uint4 hi, uint4 lo);
10950 ulong8 __ovld __cnfn upsample(uint8 hi, uint8 lo);
10951 ulong16 __ovld __cnfn upsample(uint16 hi, uint16 lo);
10952
10953 /*
10954  * popcount(x): returns the number of set bit in x
10955  */
10956 char __ovld __cnfn popcount(char x);
10957 uchar __ovld __cnfn popcount(uchar x);
10958 char2 __ovld __cnfn popcount(char2 x);
10959 uchar2 __ovld __cnfn popcount(uchar2 x);
10960 char3 __ovld __cnfn popcount(char3 x);
10961 uchar3 __ovld __cnfn popcount(uchar3 x);
10962 char4 __ovld __cnfn popcount(char4 x);
10963 uchar4 __ovld __cnfn popcount(uchar4 x);
10964 char8 __ovld __cnfn popcount(char8 x);
10965 uchar8 __ovld __cnfn popcount(uchar8 x);
10966 char16 __ovld __cnfn popcount(char16 x);
10967 uchar16 __ovld __cnfn popcount(uchar16 x);
10968 short __ovld __cnfn popcount(short x);
10969 ushort __ovld __cnfn popcount(ushort x);
10970 short2 __ovld __cnfn popcount(short2 x);
10971 ushort2 __ovld __cnfn popcount(ushort2 x);
10972 short3 __ovld __cnfn popcount(short3 x);
10973 ushort3 __ovld __cnfn popcount(ushort3 x);
10974 short4 __ovld __cnfn popcount(short4 x);
10975 ushort4 __ovld __cnfn popcount(ushort4 x);
10976 short8 __ovld __cnfn popcount(short8 x);
10977 ushort8 __ovld __cnfn popcount(ushort8 x);
10978 short16 __ovld __cnfn popcount(short16 x);
10979 ushort16 __ovld __cnfn popcount(ushort16 x);
10980 int __ovld __cnfn popcount(int x);
10981 uint __ovld __cnfn popcount(uint x);
10982 int2 __ovld __cnfn popcount(int2 x);
10983 uint2 __ovld __cnfn popcount(uint2 x);
10984 int3 __ovld __cnfn popcount(int3 x);
10985 uint3 __ovld __cnfn popcount(uint3 x);
10986 int4 __ovld __cnfn popcount(int4 x);
10987 uint4 __ovld __cnfn popcount(uint4 x);
10988 int8 __ovld __cnfn popcount(int8 x);
10989 uint8 __ovld __cnfn popcount(uint8 x);
10990 int16 __ovld __cnfn popcount(int16 x);
10991 uint16 __ovld __cnfn popcount(uint16 x);
10992 long __ovld __cnfn popcount(long x);
10993 ulong __ovld __cnfn popcount(ulong x);
10994 long2 __ovld __cnfn popcount(long2 x);
10995 ulong2 __ovld __cnfn popcount(ulong2 x);
10996 long3 __ovld __cnfn popcount(long3 x);
10997 ulong3 __ovld __cnfn popcount(ulong3 x);
10998 long4 __ovld __cnfn popcount(long4 x);
10999 ulong4 __ovld __cnfn popcount(ulong4 x);
11000 long8 __ovld __cnfn popcount(long8 x);
11001 ulong8 __ovld __cnfn popcount(ulong8 x);
11002 long16 __ovld __cnfn popcount(long16 x);
11003 ulong16 __ovld __cnfn popcount(ulong16 x);
11004
11005 /**
11006  * Multiply two 24-bit integer values x and y and add
11007  * the 32-bit integer result to the 32-bit integer z.
11008  * Refer to definition of mul24 to see how the 24-bit
11009  * integer multiplication is performed.
11010  */
11011 int __ovld __cnfn mad24(int x, int y, int z);
11012 uint __ovld __cnfn mad24(uint x, uint y, uint z);
11013 int2 __ovld __cnfn mad24(int2 x, int2 y, int2 z);
11014 uint2 __ovld __cnfn mad24(uint2 x, uint2 y, uint2 z);
11015 int3 __ovld __cnfn mad24(int3 x, int3 y, int3 z);
11016 uint3 __ovld __cnfn mad24(uint3 x, uint3 y, uint3 z);
11017 int4 __ovld __cnfn mad24(int4 x, int4 y, int4 z);
11018 uint4 __ovld __cnfn mad24(uint4 x, uint4 y, uint4 z);
11019 int8 __ovld __cnfn mad24(int8 x, int8 y, int8 z);
11020 uint8 __ovld __cnfn mad24(uint8 x, uint8 y, uint8 z);
11021 int16 __ovld __cnfn mad24(int16 x, int16 y, int16 z);
11022 uint16 __ovld __cnfn mad24(uint16 x, uint16 y, uint16 z);
11023
11024 /**
11025  * Multiply two 24-bit integer values x and y. x and y
11026  * are 32-bit integers but only the low 24-bits are used
11027  * to perform the multiplication. mul24 should only
11028  * be used when values in x and y are in the range [-
11029  * 2^23, 2^23-1] if x and y are signed integers and in the
11030  * range [0, 2^24-1] if x and y are unsigned integers. If
11031  * x and y are not in this range, the multiplication
11032  * result is implementation-defined.
11033  */
11034 int __ovld __cnfn mul24(int x, int y);
11035 uint __ovld __cnfn mul24(uint x, uint y);
11036 int2 __ovld __cnfn mul24(int2 x, int2 y);
11037 uint2 __ovld __cnfn mul24(uint2 x, uint2 y);
11038 int3 __ovld __cnfn mul24(int3 x, int3 y);
11039 uint3 __ovld __cnfn mul24(uint3 x, uint3 y);
11040 int4 __ovld __cnfn mul24(int4 x, int4 y);
11041 uint4 __ovld __cnfn mul24(uint4 x, uint4 y);
11042 int8 __ovld __cnfn mul24(int8 x, int8 y);
11043 uint8 __ovld __cnfn mul24(uint8 x, uint8 y);
11044 int16 __ovld __cnfn mul24(int16 x, int16 y);
11045 uint16 __ovld __cnfn mul24(uint16 x, uint16 y);
11046
11047 // OpenCL v1.1 s6.11.4, v1.2 s6.12.4, v2.0 s6.13.4 - Common Functions
11048
11049 /**
11050  * Returns fmin(fmax(x, minval), maxval).
11051  * Results are undefined if minval > maxval.
11052  */
11053 float __ovld __cnfn clamp(float x, float minval, float maxval);
11054 float2 __ovld __cnfn clamp(float2 x, float2 minval, float2 maxval);
11055 float3 __ovld __cnfn clamp(float3 x, float3 minval, float3 maxval);
11056 float4 __ovld __cnfn clamp(float4 x, float4 minval, float4 maxval);
11057 float8 __ovld __cnfn clamp(float8 x, float8 minval, float8 maxval);
11058 float16 __ovld __cnfn clamp(float16 x, float16 minval, float16 maxval);
11059 float2 __ovld __cnfn clamp(float2 x, float minval, float maxval);
11060 float3 __ovld __cnfn clamp(float3 x, float minval, float maxval);
11061 float4 __ovld __cnfn clamp(float4 x, float minval, float maxval);
11062 float8 __ovld __cnfn clamp(float8 x, float minval, float maxval);
11063 float16 __ovld __cnfn clamp(float16 x, float minval, float maxval);
11064 #ifdef cl_khr_fp64
11065 double __ovld __cnfn clamp(double x, double minval, double maxval);
11066 double2 __ovld __cnfn clamp(double2 x, double2 minval, double2 maxval);
11067 double3 __ovld __cnfn clamp(double3 x, double3 minval, double3 maxval);
11068 double4 __ovld __cnfn clamp(double4 x, double4 minval, double4 maxval);
11069 double8 __ovld __cnfn clamp(double8 x, double8 minval, double8 maxval);
11070 double16 __ovld __cnfn clamp(double16 x, double16 minval, double16 maxval);
11071 double2 __ovld __cnfn clamp(double2 x, double minval, double maxval);
11072 double3 __ovld __cnfn clamp(double3 x, double minval, double maxval);
11073 double4 __ovld __cnfn clamp(double4 x, double minval, double maxval);
11074 double8 __ovld __cnfn clamp(double8 x, double minval, double maxval);
11075 double16 __ovld __cnfn clamp(double16 x, double minval, double maxval);
11076 #endif //cl_khr_fp64
11077 #ifdef cl_khr_fp16
11078 half __ovld __cnfn clamp(half x, half minval, half maxval);
11079 half2 __ovld __cnfn clamp(half2 x, half2 minval, half2 maxval);
11080 half3 __ovld __cnfn clamp(half3 x, half3 minval, half3 maxval);
11081 half4 __ovld __cnfn clamp(half4 x, half4 minval, half4 maxval);
11082 half8 __ovld __cnfn clamp(half8 x, half8 minval, half8 maxval);
11083 half16 __ovld __cnfn clamp(half16 x, half16 minval, half16 maxval);
11084 half2 __ovld __cnfn clamp(half2 x, half minval, half maxval);
11085 half3 __ovld __cnfn clamp(half3 x, half minval, half maxval);
11086 half4 __ovld __cnfn clamp(half4 x, half minval, half maxval);
11087 half8 __ovld __cnfn clamp(half8 x, half minval, half maxval);
11088 half16 __ovld __cnfn clamp(half16 x, half minval, half maxval);
11089 #endif //cl_khr_fp16
11090
11091 /**
11092  * Converts radians to degrees, i.e. (180 / PI) *
11093  * radians.
11094  */
11095 float __ovld __cnfn degrees(float radians);
11096 float2 __ovld __cnfn degrees(float2 radians);
11097 float3 __ovld __cnfn degrees(float3 radians);
11098 float4 __ovld __cnfn degrees(float4 radians);
11099 float8 __ovld __cnfn degrees(float8 radians);
11100 float16 __ovld __cnfn degrees(float16 radians);
11101 #ifdef cl_khr_fp64
11102 double __ovld __cnfn degrees(double radians);
11103 double2 __ovld __cnfn degrees(double2 radians);
11104 double3 __ovld __cnfn degrees(double3 radians);
11105 double4 __ovld __cnfn degrees(double4 radians);
11106 double8 __ovld __cnfn degrees(double8 radians);
11107 double16 __ovld __cnfn degrees(double16 radians);
11108 #endif //cl_khr_fp64
11109 #ifdef cl_khr_fp16
11110 half __ovld __cnfn degrees(half radians);
11111 half2 __ovld __cnfn degrees(half2 radians);
11112 half3 __ovld __cnfn degrees(half3 radians);
11113 half4 __ovld __cnfn degrees(half4 radians);
11114 half8 __ovld __cnfn degrees(half8 radians);
11115 half16 __ovld __cnfn degrees(half16 radians);
11116 #endif //cl_khr_fp16
11117
11118 /**
11119  * Returns y if x < y, otherwise it returns x. If x and y
11120  * are infinite or NaN, the return values are undefined.
11121  */
11122 float __ovld __cnfn max(float x, float y);
11123 float2 __ovld __cnfn max(float2 x, float2 y);
11124 float3 __ovld __cnfn max(float3 x, float3 y);
11125 float4 __ovld __cnfn max(float4 x, float4 y);
11126 float8 __ovld __cnfn max(float8 x, float8 y);
11127 float16 __ovld __cnfn max(float16 x, float16 y);
11128 float2 __ovld __cnfn max(float2 x, float y);
11129 float3 __ovld __cnfn max(float3 x, float y);
11130 float4 __ovld __cnfn max(float4 x, float y);
11131 float8 __ovld __cnfn max(float8 x, float y);
11132 float16 __ovld __cnfn max(float16 x, float y);
11133 #ifdef cl_khr_fp64
11134 double __ovld __cnfn max(double x, double y);
11135 double2 __ovld __cnfn max(double2 x, double2 y);
11136 double3 __ovld __cnfn max(double3 x, double3 y);
11137 double4 __ovld __cnfn max(double4 x, double4 y);
11138 double8 __ovld __cnfn max(double8 x, double8 y);
11139 double16 __ovld __cnfn max(double16 x, double16 y);
11140 double2 __ovld __cnfn max(double2 x, double y);
11141 double3 __ovld __cnfn max(double3 x, double y);
11142 double4 __ovld __cnfn max(double4 x, double y);
11143 double8 __ovld __cnfn max(double8 x, double y);
11144 double16 __ovld __cnfn max(double16 x, double y);
11145 #endif //cl_khr_fp64
11146 #ifdef cl_khr_fp16
11147 half __ovld __cnfn max(half x, half y);
11148 half2 __ovld __cnfn max(half2 x, half2 y);
11149 half3 __ovld __cnfn max(half3 x, half3 y);
11150 half4 __ovld __cnfn max(half4 x, half4 y);
11151 half8 __ovld __cnfn max(half8 x, half8 y);
11152 half16 __ovld __cnfn max(half16 x, half16 y);
11153 half2 __ovld __cnfn max(half2 x, half y);
11154 half3 __ovld __cnfn max(half3 x, half y);
11155 half4 __ovld __cnfn max(half4 x, half y);
11156 half8 __ovld __cnfn max(half8 x, half y);
11157 half16 __ovld __cnfn max(half16 x, half y);
11158 #endif //cl_khr_fp16
11159
11160 /**
11161  * Returns y if y < x, otherwise it returns x. If x and y
11162  * are infinite or NaN, the return values are undefined.
11163  */
11164 float __ovld __cnfn min(float x, float y);
11165 float2 __ovld __cnfn min(float2 x, float2 y);
11166 float3 __ovld __cnfn min(float3 x, float3 y);
11167 float4 __ovld __cnfn min(float4 x, float4 y);
11168 float8 __ovld __cnfn min(float8 x, float8 y);
11169 float16 __ovld __cnfn min(float16 x, float16 y);
11170 float2 __ovld __cnfn min(float2 x, float y);
11171 float3 __ovld __cnfn min(float3 x, float y);
11172 float4 __ovld __cnfn min(float4 x, float y);
11173 float8 __ovld __cnfn min(float8 x, float y);
11174 float16 __ovld __cnfn min(float16 x, float y);
11175 #ifdef cl_khr_fp64
11176 double __ovld __cnfn min(double x, double y);
11177 double2 __ovld __cnfn min(double2 x, double2 y);
11178 double3 __ovld __cnfn min(double3 x, double3 y);
11179 double4 __ovld __cnfn min(double4 x, double4 y);
11180 double8 __ovld __cnfn min(double8 x, double8 y);
11181 double16 __ovld __cnfn min(double16 x, double16 y);
11182 double2 __ovld __cnfn min(double2 x, double y);
11183 double3 __ovld __cnfn min(double3 x, double y);
11184 double4 __ovld __cnfn min(double4 x, double y);
11185 double8 __ovld __cnfn min(double8 x, double y);
11186 double16 __ovld __cnfn min(double16 x, double y);
11187 #endif //cl_khr_fp64
11188 #ifdef cl_khr_fp16
11189 half __ovld __cnfn min(half x, half y);
11190 half2 __ovld __cnfn min(half2 x, half2 y);
11191 half3 __ovld __cnfn min(half3 x, half3 y);
11192 half4 __ovld __cnfn min(half4 x, half4 y);
11193 half8 __ovld __cnfn min(half8 x, half8 y);
11194 half16 __ovld __cnfn min(half16 x, half16 y);
11195 half2 __ovld __cnfn min(half2 x, half y);
11196 half3 __ovld __cnfn min(half3 x, half y);
11197 half4 __ovld __cnfn min(half4 x, half y);
11198 half8 __ovld __cnfn min(half8 x, half y);
11199 half16 __ovld __cnfn min(half16 x, half y);
11200 #endif //cl_khr_fp16
11201
11202 /**
11203  * Returns the linear blend of x & y implemented as:
11204  * x + (y - x) * a
11205  * a must be a value in the range 0.0 ... 1.0. If a is not
11206  * in the range 0.0 ... 1.0, the return values are
11207  * undefined.
11208  */
11209 float __ovld __cnfn mix(float x, float y, float a);
11210 float2 __ovld __cnfn mix(float2 x, float2 y, float2 a);
11211 float3 __ovld __cnfn mix(float3 x, float3 y, float3 a);
11212 float4 __ovld __cnfn mix(float4 x, float4 y, float4 a);
11213 float8 __ovld __cnfn mix(float8 x, float8 y, float8 a);
11214 float16 __ovld __cnfn mix(float16 x, float16 y, float16 a);
11215 float2 __ovld __cnfn mix(float2 x, float2 y, float a);
11216 float3 __ovld __cnfn mix(float3 x, float3 y, float a);
11217 float4 __ovld __cnfn mix(float4 x, float4 y, float a);
11218 float8 __ovld __cnfn mix(float8 x, float8 y, float a);
11219 float16 __ovld __cnfn mix(float16 x, float16 y, float a);
11220 #ifdef cl_khr_fp64
11221 double __ovld __cnfn mix(double x, double y, double a);
11222 double2 __ovld __cnfn mix(double2 x, double2 y, double2 a);
11223 double3 __ovld __cnfn mix(double3 x, double3 y, double3 a);
11224 double4 __ovld __cnfn mix(double4 x, double4 y, double4 a);
11225 double8 __ovld __cnfn mix(double8 x, double8 y, double8 a);
11226 double16 __ovld __cnfn mix(double16 x, double16 y, double16 a);
11227 double2 __ovld __cnfn mix(double2 x, double2 y, double a);
11228 double3 __ovld __cnfn mix(double3 x, double3 y, double a);
11229 double4 __ovld __cnfn mix(double4 x, double4 y, double a);
11230 double8 __ovld __cnfn mix(double8 x, double8 y, double a);
11231 double16 __ovld __cnfn mix(double16 x, double16 y, double a);
11232 #endif //cl_khr_fp64
11233 #ifdef cl_khr_fp16
11234 half __ovld __cnfn mix(half x, half y, half a);
11235 half2 __ovld __cnfn mix(half2 x, half2 y, half2 a);
11236 half3 __ovld __cnfn mix(half3 x, half3 y, half3 a);
11237 half4 __ovld __cnfn mix(half4 x, half4 y, half4 a);
11238 half8 __ovld __cnfn mix(half8 x, half8 y, half8 a);
11239 half16 __ovld __cnfn mix(half16 x, half16 y, half16 a);
11240 half2 __ovld __cnfn mix(half2 x, half2 y, half a);
11241 half3 __ovld __cnfn mix(half3 x, half3 y, half a);
11242 half4 __ovld __cnfn mix(half4 x, half4 y, half a);
11243 half8 __ovld __cnfn mix(half8 x, half8 y, half a);
11244 half16 __ovld __cnfn mix(half16 x, half16 y, half a);
11245 #endif //cl_khr_fp16
11246
11247 /**
11248  * Converts degrees to radians, i.e. (PI / 180) *
11249  * degrees.
11250  */
11251 float __ovld __cnfn radians(float degrees);
11252 float2 __ovld __cnfn radians(float2 degrees);
11253 float3 __ovld __cnfn radians(float3 degrees);
11254 float4 __ovld __cnfn radians(float4 degrees);
11255 float8 __ovld __cnfn radians(float8 degrees);
11256 float16 __ovld __cnfn radians(float16 degrees);
11257 #ifdef cl_khr_fp64
11258 double __ovld __cnfn radians(double degrees);
11259 double2 __ovld __cnfn radians(double2 degrees);
11260 double3 __ovld __cnfn radians(double3 degrees);
11261 double4 __ovld __cnfn radians(double4 degrees);
11262 double8 __ovld __cnfn radians(double8 degrees);
11263 double16 __ovld __cnfn radians(double16 degrees);
11264 #endif //cl_khr_fp64
11265 #ifdef cl_khr_fp16
11266 half __ovld __cnfn radians(half degrees);
11267 half2 __ovld __cnfn radians(half2 degrees);
11268 half3 __ovld __cnfn radians(half3 degrees);
11269 half4 __ovld __cnfn radians(half4 degrees);
11270 half8 __ovld __cnfn radians(half8 degrees);
11271 half16 __ovld __cnfn radians(half16 degrees);
11272 #endif //cl_khr_fp16
11273
11274 /**
11275  * Returns 0.0 if x < edge, otherwise it returns 1.0.
11276  */
11277 float __ovld __cnfn step(float edge, float x);
11278 float2 __ovld __cnfn step(float2 edge, float2 x);
11279 float3 __ovld __cnfn step(float3 edge, float3 x);
11280 float4 __ovld __cnfn step(float4 edge, float4 x);
11281 float8 __ovld __cnfn step(float8 edge, float8 x);
11282 float16 __ovld __cnfn step(float16 edge, float16 x);
11283 float2 __ovld __cnfn step(float edge, float2 x);
11284 float3 __ovld __cnfn step(float edge, float3 x);
11285 float4 __ovld __cnfn step(float edge, float4 x);
11286 float8 __ovld __cnfn step(float edge, float8 x);
11287 float16 __ovld __cnfn step(float edge, float16 x);
11288 #ifdef cl_khr_fp64
11289 double __ovld __cnfn step(double edge, double x);
11290 double2 __ovld __cnfn step(double2 edge, double2 x);
11291 double3 __ovld __cnfn step(double3 edge, double3 x);
11292 double4 __ovld __cnfn step(double4 edge, double4 x);
11293 double8 __ovld __cnfn step(double8 edge, double8 x);
11294 double16 __ovld __cnfn step(double16 edge, double16 x);
11295 double2 __ovld __cnfn step(double edge, double2 x);
11296 double3 __ovld __cnfn step(double edge, double3 x);
11297 double4 __ovld __cnfn step(double edge, double4 x);
11298 double8 __ovld __cnfn step(double edge, double8 x);
11299 double16 __ovld __cnfn step(double edge, double16 x);
11300 #endif //cl_khr_fp64
11301 #ifdef cl_khr_fp16
11302 half __ovld __cnfn step(half edge, half x);
11303 half2 __ovld __cnfn step(half2 edge, half2 x);
11304 half3 __ovld __cnfn step(half3 edge, half3 x);
11305 half4 __ovld __cnfn step(half4 edge, half4 x);
11306 half8 __ovld __cnfn step(half8 edge, half8 x);
11307 half16 __ovld __cnfn step(half16 edge, half16 x);
11308 half __ovld __cnfn step(half edge, half x);
11309 half2 __ovld __cnfn step(half edge, half2 x);
11310 half3 __ovld __cnfn step(half edge, half3 x);
11311 half4 __ovld __cnfn step(half edge, half4 x);
11312 half8 __ovld __cnfn step(half edge, half8 x);
11313 half16 __ovld __cnfn step(half edge, half16 x);
11314 #endif //cl_khr_fp16
11315
11316 /**
11317  * Returns 0.0 if x <= edge0 and 1.0 if x >= edge1 and
11318  * performs smooth Hermite interpolation between 0
11319  * and 1when edge0 < x < edge1. This is useful in
11320  * cases where you would want a threshold function
11321  * with a smooth transition.
11322  * This is equivalent to:
11323  * gentype t;
11324  * t = clamp ((x - edge0) / (edge1 - edge0), 0, 1);
11325  * return t * t * (3 - 2 * t);
11326  * Results are undefined if edge0 >= edge1 or if x,
11327  * edge0 or edge1 is a NaN.
11328  */
11329 float __ovld __cnfn smoothstep(float edge0, float edge1, float x);
11330 float2 __ovld __cnfn smoothstep(float2 edge0, float2 edge1, float2 x);
11331 float3 __ovld __cnfn smoothstep(float3 edge0, float3 edge1, float3 x);
11332 float4 __ovld __cnfn smoothstep(float4 edge0, float4 edge1, float4 x);
11333 float8 __ovld __cnfn smoothstep(float8 edge0, float8 edge1, float8 x);
11334 float16 __ovld __cnfn smoothstep(float16 edge0, float16 edge1, float16 x);
11335 float2 __ovld __cnfn smoothstep(float edge0, float edge1, float2 x);
11336 float3 __ovld __cnfn smoothstep(float edge0, float edge1, float3 x);
11337 float4 __ovld __cnfn smoothstep(float edge0, float edge1, float4 x);
11338 float8 __ovld __cnfn smoothstep(float edge0, float edge1, float8 x);
11339 float16 __ovld __cnfn smoothstep(float edge0, float edge1, float16 x);
11340 #ifdef cl_khr_fp64
11341 double __ovld __cnfn smoothstep(double edge0, double edge1, double x);
11342 double2 __ovld __cnfn smoothstep(double2 edge0, double2 edge1, double2 x);
11343 double3 __ovld __cnfn smoothstep(double3 edge0, double3 edge1, double3 x);
11344 double4 __ovld __cnfn smoothstep(double4 edge0, double4 edge1, double4 x);
11345 double8 __ovld __cnfn smoothstep(double8 edge0, double8 edge1, double8 x);
11346 double16 __ovld __cnfn smoothstep(double16 edge0, double16 edge1, double16 x);
11347 double2 __ovld __cnfn smoothstep(double edge0, double edge1, double2 x);
11348 double3 __ovld __cnfn smoothstep(double edge0, double edge1, double3 x);
11349 double4 __ovld __cnfn smoothstep(double edge0, double edge1, double4 x);
11350 double8 __ovld __cnfn smoothstep(double edge0, double edge1, double8 x);
11351 double16 __ovld __cnfn smoothstep(double edge0, double edge1, double16 x);
11352 #endif //cl_khr_fp64
11353 #ifdef cl_khr_fp16
11354 half __ovld __cnfn smoothstep(half edge0, half edge1, half x);
11355 half2 __ovld __cnfn smoothstep(half2 edge0, half2 edge1, half2 x);
11356 half3 __ovld __cnfn smoothstep(half3 edge0, half3 edge1, half3 x);
11357 half4 __ovld __cnfn smoothstep(half4 edge0, half4 edge1, half4 x);
11358 half8 __ovld __cnfn smoothstep(half8 edge0, half8 edge1, half8 x);
11359 half16 __ovld __cnfn smoothstep(half16 edge0, half16 edge1, half16 x);
11360 half __ovld __cnfn smoothstep(half edge0, half edge1, half x);
11361 half2 __ovld __cnfn smoothstep(half edge0, half edge1, half2 x);
11362 half3 __ovld __cnfn smoothstep(half edge0, half edge1, half3 x);
11363 half4 __ovld __cnfn smoothstep(half edge0, half edge1, half4 x);
11364 half8 __ovld __cnfn smoothstep(half edge0, half edge1, half8 x);
11365 half16 __ovld __cnfn smoothstep(half edge0, half edge1, half16 x);
11366 #endif //cl_khr_fp16
11367
11368 /**
11369  * Returns 1.0 if x > 0, -0.0 if x = -0.0, +0.0 if x =
11370  * +0.0, or -1.0 if x < 0. Returns 0.0 if x is a NaN.
11371  */
11372 float __ovld __cnfn sign(float x);
11373 float2 __ovld __cnfn sign(float2 x);
11374 float3 __ovld __cnfn sign(float3 x);
11375 float4 __ovld __cnfn sign(float4 x);
11376 float8 __ovld __cnfn sign(float8 x);
11377 float16 __ovld __cnfn sign(float16 x);
11378 #ifdef cl_khr_fp64
11379 double __ovld __cnfn sign(double x);
11380 double2 __ovld __cnfn sign(double2 x);
11381 double3 __ovld __cnfn sign(double3 x);
11382 double4 __ovld __cnfn sign(double4 x);
11383 double8 __ovld __cnfn sign(double8 x);
11384 double16 __ovld __cnfn sign(double16 x);
11385 #endif //cl_khr_fp64
11386 #ifdef cl_khr_fp16
11387 half __ovld __cnfn sign(half x);
11388 half2 __ovld __cnfn sign(half2 x);
11389 half3 __ovld __cnfn sign(half3 x);
11390 half4 __ovld __cnfn sign(half4 x);
11391 half8 __ovld __cnfn sign(half8 x);
11392 half16 __ovld __cnfn sign(half16 x);
11393 #endif //cl_khr_fp16
11394
11395 // OpenCL v1.1 s6.11.5, v1.2 s6.12.5, v2.0 s6.13.5 - Geometric Functions
11396
11397 /**
11398  * Returns the cross product of p0.xyz and p1.xyz. The
11399  * w component of float4 result returned will be 0.0.
11400  */
11401 float4 __ovld __cnfn cross(float4 p0, float4 p1);
11402 float3 __ovld __cnfn cross(float3 p0, float3 p1);
11403 #ifdef cl_khr_fp64
11404 double4 __ovld __cnfn cross(double4 p0, double4 p1);
11405 double3 __ovld __cnfn cross(double3 p0, double3 p1);
11406 #endif //cl_khr_fp64
11407 #ifdef cl_khr_fp16
11408 half4 __ovld __cnfn cross(half4 p0, half4 p1);
11409 half3 __ovld __cnfn cross(half3 p0, half3 p1);
11410 #endif //cl_khr_fp16
11411
11412 /**
11413  * Compute dot product.
11414  */
11415 float __ovld __cnfn dot(float p0, float p1);
11416 float __ovld __cnfn dot(float2 p0, float2 p1);
11417 float __ovld __cnfn dot(float3 p0, float3 p1);
11418 float __ovld __cnfn dot(float4 p0, float4 p1);
11419 #ifdef cl_khr_fp64
11420 double __ovld __cnfn dot(double p0, double p1);
11421 double __ovld __cnfn dot(double2 p0, double2 p1);
11422 double __ovld __cnfn dot(double3 p0, double3 p1);
11423 double __ovld __cnfn dot(double4 p0, double4 p1);
11424 #endif //cl_khr_fp64
11425 #ifdef cl_khr_fp16
11426 half __ovld __cnfn dot(half p0, half p1);
11427 half __ovld __cnfn dot(half2 p0, half2 p1);
11428 half __ovld __cnfn dot(half3 p0, half3 p1);
11429 half __ovld __cnfn dot(half4 p0, half4 p1);
11430 #endif //cl_khr_fp16
11431
11432 /**
11433  * Returns the distance between p0 and p1. This is
11434  * calculated as length(p0 - p1).
11435  */
11436 float __ovld __cnfn distance(float p0, float p1);
11437 float __ovld __cnfn distance(float2 p0, float2 p1);
11438 float __ovld __cnfn distance(float3 p0, float3 p1);
11439 float __ovld __cnfn distance(float4 p0, float4 p1);
11440 #ifdef cl_khr_fp64
11441 double __ovld __cnfn distance(double p0, double p1);
11442 double __ovld __cnfn distance(double2 p0, double2 p1);
11443 double __ovld __cnfn distance(double3 p0, double3 p1);
11444 double __ovld __cnfn distance(double4 p0, double4 p1);
11445 #endif //cl_khr_fp64
11446 #ifdef cl_khr_fp16
11447 half __ovld __cnfn distance(half p0, half p1);
11448 half __ovld __cnfn distance(half2 p0, half2 p1);
11449 half __ovld __cnfn distance(half3 p0, half3 p1);
11450 half __ovld __cnfn distance(half4 p0, half4 p1);
11451 #endif //cl_khr_fp16
11452
11453 /**
11454  * Return the length of vector p, i.e.,
11455  * sqrt(p.x2 + p.y 2 + ...)
11456  */
11457 float __ovld __cnfn length(float p);
11458 float __ovld __cnfn length(float2 p);
11459 float __ovld __cnfn length(float3 p);
11460 float __ovld __cnfn length(float4 p);
11461 #ifdef cl_khr_fp64
11462 double __ovld __cnfn length(double p);
11463 double __ovld __cnfn length(double2 p);
11464 double __ovld __cnfn length(double3 p);
11465 double __ovld __cnfn length(double4 p);
11466 #endif //cl_khr_fp64
11467 #ifdef cl_khr_fp16
11468 half __ovld __cnfn length(half p);
11469 half __ovld __cnfn length(half2 p);
11470 half __ovld __cnfn length(half3 p);
11471 half __ovld __cnfn length(half4 p);
11472 #endif //cl_khr_fp16
11473
11474 /**
11475  * Returns a vector in the same direction as p but with a
11476  * length of 1.
11477  */
11478 float __ovld __cnfn normalize(float p);
11479 float2 __ovld __cnfn normalize(float2 p);
11480 float3 __ovld __cnfn normalize(float3 p);
11481 float4 __ovld __cnfn normalize(float4 p);
11482 #ifdef cl_khr_fp64
11483 double __ovld __cnfn normalize(double p);
11484 double2 __ovld __cnfn normalize(double2 p);
11485 double3 __ovld __cnfn normalize(double3 p);
11486 double4 __ovld __cnfn normalize(double4 p);
11487 #endif //cl_khr_fp64
11488 #ifdef cl_khr_fp16
11489 half __ovld __cnfn normalize(half p);
11490 half2 __ovld __cnfn normalize(half2 p);
11491 half3 __ovld __cnfn normalize(half3 p);
11492 half4 __ovld __cnfn normalize(half4 p);
11493 #endif //cl_khr_fp16
11494
11495 /**
11496  * Returns fast_length(p0 - p1).
11497  */
11498 float __ovld __cnfn fast_distance(float p0, float p1);
11499 float __ovld __cnfn fast_distance(float2 p0, float2 p1);
11500 float __ovld __cnfn fast_distance(float3 p0, float3 p1);
11501 float __ovld __cnfn fast_distance(float4 p0, float4 p1);
11502 #ifdef cl_khr_fp16
11503 half __ovld __cnfn fast_distance(half p0, half p1);
11504 half __ovld __cnfn fast_distance(half2 p0, half2 p1);
11505 half __ovld __cnfn fast_distance(half3 p0, half3 p1);
11506 half __ovld __cnfn fast_distance(half4 p0, half4 p1);
11507 #endif //cl_khr_fp16
11508
11509 /**
11510  * Returns the length of vector p computed as:
11511  * half_sqrt(p.x2 + p.y2 + ...)
11512  */
11513 float __ovld __cnfn fast_length(float p);
11514 float __ovld __cnfn fast_length(float2 p);
11515 float __ovld __cnfn fast_length(float3 p);
11516 float __ovld __cnfn fast_length(float4 p);
11517 #ifdef cl_khr_fp16
11518 half __ovld __cnfn fast_length(half p);
11519 half __ovld __cnfn fast_length(half2 p);
11520 half __ovld __cnfn fast_length(half3 p);
11521 half __ovld __cnfn fast_length(half4 p);
11522 #endif //cl_khr_fp16
11523
11524 /**
11525  * Returns a vector in the same direction as p but with a
11526  * length of 1. fast_normalize is computed as:
11527  * p * half_rsqrt (p.x^2 + p.y^2 + ... )
11528  * The result shall be within 8192 ulps error from the
11529  * infinitely precise result of
11530  * if (all(p == 0.0f))
11531  * result = p;
11532  * else
11533  * result = p / sqrt (p.x^2 + p.y^2 + ...);
11534  * with the following exceptions:
11535  * 1) If the sum of squares is greater than FLT_MAX
11536  * then the value of the floating-point values in the
11537  * result vector are undefined.
11538  * 2) If the sum of squares is less than FLT_MIN then
11539  * the implementation may return back p.
11540  * 3) If the device is in "denorms are flushed to zero"
11541  * mode, individual operand elements with magnitude
11542  * less than sqrt(FLT_MIN) may be flushed to zero
11543  * before proceeding with the calculation.
11544  */
11545 float __ovld __cnfn fast_normalize(float p);
11546 float2 __ovld __cnfn fast_normalize(float2 p);
11547 float3 __ovld __cnfn fast_normalize(float3 p);
11548 float4 __ovld __cnfn fast_normalize(float4 p);
11549 #ifdef cl_khr_fp16
11550 half __ovld __cnfn fast_normalize(half p);
11551 half2 __ovld __cnfn fast_normalize(half2 p);
11552 half3 __ovld __cnfn fast_normalize(half3 p);
11553 half4 __ovld __cnfn fast_normalize(half4 p);
11554 #endif //cl_khr_fp16
11555
11556 // OpenCL v1.1 s6.11.6, v1.2 s6.12.6, v2.0 s6.13.6 - Relational Functions
11557
11558 /**
11559  * intn isequal (floatn x, floatn y)
11560  * Returns the component-wise compare of x == y.
11561  */
11562 int __ovld __cnfn isequal(float x, float y);
11563 int2 __ovld __cnfn isequal(float2 x, float2 y);
11564 int3 __ovld __cnfn isequal(float3 x, float3 y);
11565 int4 __ovld __cnfn isequal(float4 x, float4 y);
11566 int8 __ovld __cnfn isequal(float8 x, float8 y);
11567 int16 __ovld __cnfn isequal(float16 x, float16 y);
11568 #ifdef cl_khr_fp64
11569 int __ovld __cnfn isequal(double x, double y);
11570 long2 __ovld __cnfn isequal(double2 x, double2 y);
11571 long3 __ovld __cnfn isequal(double3 x, double3 y);
11572 long4 __ovld __cnfn isequal(double4 x, double4 y);
11573 long8 __ovld __cnfn isequal(double8 x, double8 y);
11574 long16 __ovld __cnfn isequal(double16 x, double16 y);
11575 #endif //cl_khr_fp64
11576 #ifdef cl_khr_fp16
11577 int __ovld __cnfn isequal(half x, half y);
11578 short2 __ovld __cnfn isequal(half2 x, half2 y);
11579 short3 __ovld __cnfn isequal(half3 x, half3 y);
11580 short4 __ovld __cnfn isequal(half4 x, half4 y);
11581 short8 __ovld __cnfn isequal(half8 x, half8 y);
11582 short16 __ovld __cnfn isequal(half16 x, half16 y);
11583 #endif //cl_khr_fp16
11584
11585 /**
11586  * Returns the component-wise compare of x != y.
11587  */
11588 int __ovld __cnfn isnotequal(float x, float y);
11589 int2 __ovld __cnfn isnotequal(float2 x, float2 y);
11590 int3 __ovld __cnfn isnotequal(float3 x, float3 y);
11591 int4 __ovld __cnfn isnotequal(float4 x, float4 y);
11592 int8 __ovld __cnfn isnotequal(float8 x, float8 y);
11593 int16 __ovld __cnfn isnotequal(float16 x, float16 y);
11594 #ifdef cl_khr_fp64
11595 int __ovld __cnfn isnotequal(double x, double y);
11596 long2 __ovld __cnfn isnotequal(double2 x, double2 y);
11597 long3 __ovld __cnfn isnotequal(double3 x, double3 y);
11598 long4 __ovld __cnfn isnotequal(double4 x, double4 y);
11599 long8 __ovld __cnfn isnotequal(double8 x, double8 y);
11600 long16 __ovld __cnfn isnotequal(double16 x, double16 y);
11601 #endif //cl_khr_fp64
11602 #ifdef cl_khr_fp16
11603 int __ovld __cnfn isnotequal(half x, half y);
11604 short2 __ovld __cnfn isnotequal(half2 x, half2 y);
11605 short3 __ovld __cnfn isnotequal(half3 x, half3 y);
11606 short4 __ovld __cnfn isnotequal(half4 x, half4 y);
11607 short8 __ovld __cnfn isnotequal(half8 x, half8 y);
11608 short16 __ovld __cnfn isnotequal(half16 x, half16 y);
11609 #endif //cl_khr_fp16
11610
11611 /**
11612  * Returns the component-wise compare of x > y.
11613  */
11614 int __ovld __cnfn isgreater(float x, float y);
11615 int2 __ovld __cnfn isgreater(float2 x, float2 y);
11616 int3 __ovld __cnfn isgreater(float3 x, float3 y);
11617 int4 __ovld __cnfn isgreater(float4 x, float4 y);
11618 int8 __ovld __cnfn isgreater(float8 x, float8 y);
11619 int16 __ovld __cnfn isgreater(float16 x, float16 y);
11620 #ifdef cl_khr_fp64
11621 int __ovld __cnfn isgreater(double x, double y);
11622 long2 __ovld __cnfn isgreater(double2 x, double2 y);
11623 long3 __ovld __cnfn isgreater(double3 x, double3 y);
11624 long4 __ovld __cnfn isgreater(double4 x, double4 y);
11625 long8 __ovld __cnfn isgreater(double8 x, double8 y);
11626 long16 __ovld __cnfn isgreater(double16 x, double16 y);
11627 #endif //cl_khr_fp64
11628 #ifdef cl_khr_fp16
11629 int __ovld __cnfn isgreater(half x, half y);
11630 short2 __ovld __cnfn isgreater(half2 x, half2 y);
11631 short3 __ovld __cnfn isgreater(half3 x, half3 y);
11632 short4 __ovld __cnfn isgreater(half4 x, half4 y);
11633 short8 __ovld __cnfn isgreater(half8 x, half8 y);
11634 short16 __ovld __cnfn isgreater(half16 x, half16 y);
11635 #endif //cl_khr_fp16
11636
11637 /**
11638  * Returns the component-wise compare of x >= y.
11639  */
11640 int __ovld __cnfn isgreaterequal(float x, float y);
11641 int2 __ovld __cnfn isgreaterequal(float2 x, float2 y);
11642 int3 __ovld __cnfn isgreaterequal(float3 x, float3 y);
11643 int4 __ovld __cnfn isgreaterequal(float4 x, float4 y);
11644 int8 __ovld __cnfn isgreaterequal(float8 x, float8 y);
11645 int16 __ovld __cnfn isgreaterequal(float16 x, float16 y);
11646 #ifdef cl_khr_fp64
11647 int __ovld __cnfn isgreaterequal(double x, double y);
11648 long2 __ovld __cnfn isgreaterequal(double2 x, double2 y);
11649 long3 __ovld __cnfn isgreaterequal(double3 x, double3 y);
11650 long4 __ovld __cnfn isgreaterequal(double4 x, double4 y);
11651 long8 __ovld __cnfn isgreaterequal(double8 x, double8 y);
11652 long16 __ovld __cnfn isgreaterequal(double16 x, double16 y);
11653 #endif //cl_khr_fp64
11654 #ifdef cl_khr_fp16
11655 int __ovld __cnfn isgreaterequal(half x, half y);
11656 short2 __ovld __cnfn isgreaterequal(half2 x, half2 y);
11657 short3 __ovld __cnfn isgreaterequal(half3 x, half3 y);
11658 short4 __ovld __cnfn isgreaterequal(half4 x, half4 y);
11659 short8 __ovld __cnfn isgreaterequal(half8 x, half8 y);
11660 short16 __ovld __cnfn isgreaterequal(half16 x, half16 y);
11661 #endif //cl_khr_fp16
11662
11663 /**
11664  * Returns the component-wise compare of x < y.
11665  */
11666 int __ovld __cnfn isless(float x, float y);
11667 int2 __ovld __cnfn isless(float2 x, float2 y);
11668 int3 __ovld __cnfn isless(float3 x, float3 y);
11669 int4 __ovld __cnfn isless(float4 x, float4 y);
11670 int8 __ovld __cnfn isless(float8 x, float8 y);
11671 int16 __ovld __cnfn isless(float16 x, float16 y);
11672 #ifdef cl_khr_fp64
11673 int __ovld __cnfn isless(double x, double y);
11674 long2 __ovld __cnfn isless(double2 x, double2 y);
11675 long3 __ovld __cnfn isless(double3 x, double3 y);
11676 long4 __ovld __cnfn isless(double4 x, double4 y);
11677 long8 __ovld __cnfn isless(double8 x, double8 y);
11678 long16 __ovld __cnfn isless(double16 x, double16 y);
11679 #endif //cl_khr_fp64
11680 #ifdef cl_khr_fp16
11681 int __ovld __cnfn isless(half x, half y);
11682 short2 __ovld __cnfn isless(half2 x, half2 y);
11683 short3 __ovld __cnfn isless(half3 x, half3 y);
11684 short4 __ovld __cnfn isless(half4 x, half4 y);
11685 short8 __ovld __cnfn isless(half8 x, half8 y);
11686 short16 __ovld __cnfn isless(half16 x, half16 y);
11687 #endif //cl_khr_fp16
11688
11689 /**
11690  * Returns the component-wise compare of x <= y.
11691  */
11692 int __ovld __cnfn islessequal(float x, float y);
11693 int2 __ovld __cnfn islessequal(float2 x, float2 y);
11694 int3 __ovld __cnfn islessequal(float3 x, float3 y);
11695 int4 __ovld __cnfn islessequal(float4 x, float4 y);
11696 int8 __ovld __cnfn islessequal(float8 x, float8 y);
11697 int16 __ovld __cnfn islessequal(float16 x, float16 y);
11698 #ifdef cl_khr_fp64
11699 int __ovld __cnfn islessequal(double x, double y);
11700 long2 __ovld __cnfn islessequal(double2 x, double2 y);
11701 long3 __ovld __cnfn islessequal(double3 x, double3 y);
11702 long4 __ovld __cnfn islessequal(double4 x, double4 y);
11703 long8 __ovld __cnfn islessequal(double8 x, double8 y);
11704 long16 __ovld __cnfn islessequal(double16 x, double16 y);
11705 #endif //cl_khr_fp64
11706 #ifdef cl_khr_fp16
11707 int __ovld __cnfn islessequal(half x, half y);
11708 short2 __ovld __cnfn islessequal(half2 x, half2 y);
11709 short3 __ovld __cnfn islessequal(half3 x, half3 y);
11710 short4 __ovld __cnfn islessequal(half4 x, half4 y);
11711 short8 __ovld __cnfn islessequal(half8 x, half8 y);
11712 short16 __ovld __cnfn islessequal(half16 x, half16 y);
11713 #endif //cl_khr_fp16
11714
11715 /**
11716  * Returns the component-wise compare of
11717  * (x < y) || (x > y) .
11718  */
11719 int __ovld __cnfn islessgreater(float x, float y);
11720 int2 __ovld __cnfn islessgreater(float2 x, float2 y);
11721 int3 __ovld __cnfn islessgreater(float3 x, float3 y);
11722 int4 __ovld __cnfn islessgreater(float4 x, float4 y);
11723 int8 __ovld __cnfn islessgreater(float8 x, float8 y);
11724 int16 __ovld __cnfn islessgreater(float16 x, float16 y);
11725 #ifdef cl_khr_fp64
11726 int __ovld __cnfn islessgreater(double x, double y);
11727 long2 __ovld __cnfn islessgreater(double2 x, double2 y);
11728 long3 __ovld __cnfn islessgreater(double3 x, double3 y);
11729 long4 __ovld __cnfn islessgreater(double4 x, double4 y);
11730 long8 __ovld __cnfn islessgreater(double8 x, double8 y);
11731 long16 __ovld __cnfn islessgreater(double16 x, double16 y);
11732 #endif //cl_khr_fp64
11733 #ifdef cl_khr_fp16
11734 int __ovld __cnfn islessgreater(half x, half y);
11735 short2 __ovld __cnfn islessgreater(half2 x, half2 y);
11736 short3 __ovld __cnfn islessgreater(half3 x, half3 y);
11737 short4 __ovld __cnfn islessgreater(half4 x, half4 y);
11738 short8 __ovld __cnfn islessgreater(half8 x, half8 y);
11739 short16 __ovld __cnfn islessgreater(half16 x, half16 y);
11740 #endif //cl_khr_fp16
11741
11742 /**
11743  * Test for finite value.
11744  */
11745 int __ovld __cnfn isfinite(float);
11746 int2 __ovld __cnfn isfinite(float2);
11747 int3 __ovld __cnfn isfinite(float3);
11748 int4 __ovld __cnfn isfinite(float4);
11749 int8 __ovld __cnfn isfinite(float8);
11750 int16 __ovld __cnfn isfinite(float16);
11751 #ifdef cl_khr_fp64
11752 int __ovld __cnfn isfinite(double);
11753 long2 __ovld __cnfn isfinite(double2);
11754 long3 __ovld __cnfn isfinite(double3);
11755 long4 __ovld __cnfn isfinite(double4);
11756 long8 __ovld __cnfn isfinite(double8);
11757 long16 __ovld __cnfn isfinite(double16);
11758 #endif //cl_khr_fp64
11759 #ifdef cl_khr_fp16
11760 int __ovld __cnfn isfinite(half);
11761 short2 __ovld __cnfn isfinite(half2);
11762 short3 __ovld __cnfn isfinite(half3);
11763 short4 __ovld __cnfn isfinite(half4);
11764 short8 __ovld __cnfn isfinite(half8);
11765 short16 __ovld __cnfn isfinite(half16);
11766 #endif //cl_khr_fp16
11767
11768 /**
11769  * Test for infinity value (+ve or -ve) .
11770  */
11771 int __ovld __cnfn isinf(float);
11772 int2 __ovld __cnfn isinf(float2);
11773 int3 __ovld __cnfn isinf(float3);
11774 int4 __ovld __cnfn isinf(float4);
11775 int8 __ovld __cnfn isinf(float8);
11776 int16 __ovld __cnfn isinf(float16);
11777 #ifdef cl_khr_fp64
11778 int __ovld __cnfn isinf(double);
11779 long2 __ovld __cnfn isinf(double2);
11780 long3 __ovld __cnfn isinf(double3);
11781 long4 __ovld __cnfn isinf(double4);
11782 long8 __ovld __cnfn isinf(double8);
11783 long16 __ovld __cnfn isinf(double16);
11784 #endif //cl_khr_fp64
11785 #ifdef cl_khr_fp16
11786 int __ovld __cnfn isinf(half);
11787 short2 __ovld __cnfn isinf(half2);
11788 short3 __ovld __cnfn isinf(half3);
11789 short4 __ovld __cnfn isinf(half4);
11790 short8 __ovld __cnfn isinf(half8);
11791 short16 __ovld __cnfn isinf(half16);
11792 #endif //cl_khr_fp16
11793
11794 /**
11795  * Test for a NaN.
11796  */
11797 int __ovld __cnfn isnan(float);
11798 int2 __ovld __cnfn isnan(float2);
11799 int3 __ovld __cnfn isnan(float3);
11800 int4 __ovld __cnfn isnan(float4);
11801 int8 __ovld __cnfn isnan(float8);
11802 int16 __ovld __cnfn isnan(float16);
11803 #ifdef cl_khr_fp64
11804 int __ovld __cnfn isnan(double);
11805 long2 __ovld __cnfn isnan(double2);
11806 long3 __ovld __cnfn isnan(double3);
11807 long4 __ovld __cnfn isnan(double4);
11808 long8 __ovld __cnfn isnan(double8);
11809 long16 __ovld __cnfn isnan(double16);
11810 #endif //cl_khr_fp64
11811 #ifdef cl_khr_fp16
11812 int __ovld __cnfn isnan(half);
11813 short2 __ovld __cnfn isnan(half2);
11814 short3 __ovld __cnfn isnan(half3);
11815 short4 __ovld __cnfn isnan(half4);
11816 short8 __ovld __cnfn isnan(half8);
11817 short16 __ovld __cnfn isnan(half16);
11818 #endif //cl_khr_fp16
11819
11820 /**
11821  * Test for a normal value.
11822  */
11823 int __ovld __cnfn isnormal(float);
11824 int2 __ovld __cnfn isnormal(float2);
11825 int3 __ovld __cnfn isnormal(float3);
11826 int4 __ovld __cnfn isnormal(float4);
11827 int8 __ovld __cnfn isnormal(float8);
11828 int16 __ovld __cnfn isnormal(float16);
11829 #ifdef cl_khr_fp64
11830 int __ovld __cnfn isnormal(double);
11831 long2 __ovld __cnfn isnormal(double2);
11832 long3 __ovld __cnfn isnormal(double3);
11833 long4 __ovld __cnfn isnormal(double4);
11834 long8 __ovld __cnfn isnormal(double8);
11835 long16 __ovld __cnfn isnormal(double16);
11836 #endif //cl_khr_fp64
11837 #ifdef cl_khr_fp16
11838 int __ovld __cnfn isnormal(half);
11839 short2 __ovld __cnfn isnormal(half2);
11840 short3 __ovld __cnfn isnormal(half3);
11841 short4 __ovld __cnfn isnormal(half4);
11842 short8 __ovld __cnfn isnormal(half8);
11843 short16 __ovld __cnfn isnormal(half16);
11844 #endif //cl_khr_fp16
11845
11846 /**
11847  * Test if arguments are ordered. isordered() takes
11848  * arguments x and y, and returns the result
11849  * isequal(x, x) && isequal(y, y).
11850  */
11851 int __ovld __cnfn isordered(float x, float y);
11852 int2 __ovld __cnfn isordered(float2 x, float2 y);
11853 int3 __ovld __cnfn isordered(float3 x, float3 y);
11854 int4 __ovld __cnfn isordered(float4 x, float4 y);
11855 int8 __ovld __cnfn isordered(float8 x, float8 y);
11856 int16 __ovld __cnfn isordered(float16 x, float16 y);
11857 #ifdef cl_khr_fp64
11858 int __ovld __cnfn isordered(double x, double y);
11859 long2 __ovld __cnfn isordered(double2 x, double2 y);
11860 long3 __ovld __cnfn isordered(double3 x, double3 y);
11861 long4 __ovld __cnfn isordered(double4 x, double4 y);
11862 long8 __ovld __cnfn isordered(double8 x, double8 y);
11863 long16 __ovld __cnfn isordered(double16 x, double16 y);
11864 #endif //cl_khr_fp64
11865 #ifdef cl_khr_fp16
11866 int __ovld __cnfn isordered(half x, half y);
11867 short2 __ovld __cnfn isordered(half2 x, half2 y);
11868 short3 __ovld __cnfn isordered(half3 x, half3 y);
11869 short4 __ovld __cnfn isordered(half4 x, half4 y);
11870 short8 __ovld __cnfn isordered(half8 x, half8 y);
11871 short16 __ovld __cnfn isordered(half16 x, half16 y);
11872 #endif //cl_khr_fp16
11873
11874 /**
11875  * Test if arguments are unordered. isunordered()
11876  * takes arguments x and y, returning non-zero if x or y
11877  * is NaN, and zero otherwise.
11878  */
11879 int __ovld __cnfn isunordered(float x, float y);
11880 int2 __ovld __cnfn isunordered(float2 x, float2 y);
11881 int3 __ovld __cnfn isunordered(float3 x, float3 y);
11882 int4 __ovld __cnfn isunordered(float4 x, float4 y);
11883 int8 __ovld __cnfn isunordered(float8 x, float8 y);
11884 int16 __ovld __cnfn isunordered(float16 x, float16 y);
11885 #ifdef cl_khr_fp64
11886 int __ovld __cnfn isunordered(double x, double y);
11887 long2 __ovld __cnfn isunordered(double2 x, double2 y);
11888 long3 __ovld __cnfn isunordered(double3 x, double3 y);
11889 long4 __ovld __cnfn isunordered(double4 x, double4 y);
11890 long8 __ovld __cnfn isunordered(double8 x, double8 y);
11891 long16 __ovld __cnfn isunordered(double16 x, double16 y);
11892 #endif //cl_khr_fp64
11893 #ifdef cl_khr_fp16
11894 int __ovld __cnfn isunordered(half x, half y);
11895 short2 __ovld __cnfn isunordered(half2 x, half2 y);
11896 short3 __ovld __cnfn isunordered(half3 x, half3 y);
11897 short4 __ovld __cnfn isunordered(half4 x, half4 y);
11898 short8 __ovld __cnfn isunordered(half8 x, half8 y);
11899 short16 __ovld __cnfn isunordered(half16 x, half16 y);
11900 #endif //cl_khr_fp16
11901
11902 /**
11903  * Test for sign bit. The scalar version of the function
11904  * returns a 1 if the sign bit in the float is set else returns
11905  * 0. The vector version of the function returns the
11906  * following for each component in floatn: a -1 if the
11907  * sign bit in the float is set else returns 0.
11908  */
11909 int __ovld __cnfn signbit(float);
11910 int2 __ovld __cnfn signbit(float2);
11911 int3 __ovld __cnfn signbit(float3);
11912 int4 __ovld __cnfn signbit(float4);
11913 int8 __ovld __cnfn signbit(float8);
11914 int16 __ovld __cnfn signbit(float16);
11915 #ifdef cl_khr_fp64
11916 int __ovld __cnfn signbit(double);
11917 long2 __ovld __cnfn signbit(double2);
11918 long3 __ovld __cnfn signbit(double3);
11919 long4 __ovld __cnfn signbit(double4);
11920 long8 __ovld __cnfn signbit(double8);
11921 long16 __ovld __cnfn signbit(double16);
11922 #endif //cl_khr_fp64
11923 #ifdef cl_khr_fp16
11924 int __ovld __cnfn signbit(half);
11925 short2 __ovld __cnfn signbit(half2);
11926 short3 __ovld __cnfn signbit(half3);
11927 short4 __ovld __cnfn signbit(half4);
11928 short8 __ovld __cnfn signbit(half8);
11929 short16 __ovld __cnfn signbit(half16);
11930 #endif //cl_khr_fp16
11931
11932 /**
11933  * Returns 1 if the most significant bit in any component
11934  * of x is set; otherwise returns 0.
11935  */
11936 int __ovld __cnfn any(char x);
11937 int __ovld __cnfn any(char2 x);
11938 int __ovld __cnfn any(char3 x);
11939 int __ovld __cnfn any(char4 x);
11940 int __ovld __cnfn any(char8 x);
11941 int __ovld __cnfn any(char16 x);
11942 int __ovld __cnfn any(short x);
11943 int __ovld __cnfn any(short2 x);
11944 int __ovld __cnfn any(short3 x);
11945 int __ovld __cnfn any(short4 x);
11946 int __ovld __cnfn any(short8 x);
11947 int __ovld __cnfn any(short16 x);
11948 int __ovld __cnfn any(int x);
11949 int __ovld __cnfn any(int2 x);
11950 int __ovld __cnfn any(int3 x);
11951 int __ovld __cnfn any(int4 x);
11952 int __ovld __cnfn any(int8 x);
11953 int __ovld __cnfn any(int16 x);
11954 int __ovld __cnfn any(long x);
11955 int __ovld __cnfn any(long2 x);
11956 int __ovld __cnfn any(long3 x);
11957 int __ovld __cnfn any(long4 x);
11958 int __ovld __cnfn any(long8 x);
11959 int __ovld __cnfn any(long16 x);
11960
11961 /**
11962  * Returns 1 if the most significant bit in all components
11963  * of x is set; otherwise returns 0.
11964  */
11965 int __ovld __cnfn all(char x);
11966 int __ovld __cnfn all(char2 x);
11967 int __ovld __cnfn all(char3 x);
11968 int __ovld __cnfn all(char4 x);
11969 int __ovld __cnfn all(char8 x);
11970 int __ovld __cnfn all(char16 x);
11971 int __ovld __cnfn all(short x);
11972 int __ovld __cnfn all(short2 x);
11973 int __ovld __cnfn all(short3 x);
11974 int __ovld __cnfn all(short4 x);
11975 int __ovld __cnfn all(short8 x);
11976 int __ovld __cnfn all(short16 x);
11977 int __ovld __cnfn all(int x);
11978 int __ovld __cnfn all(int2 x);
11979 int __ovld __cnfn all(int3 x);
11980 int __ovld __cnfn all(int4 x);
11981 int __ovld __cnfn all(int8 x);
11982 int __ovld __cnfn all(int16 x);
11983 int __ovld __cnfn all(long x);
11984 int __ovld __cnfn all(long2 x);
11985 int __ovld __cnfn all(long3 x);
11986 int __ovld __cnfn all(long4 x);
11987 int __ovld __cnfn all(long8 x);
11988 int __ovld __cnfn all(long16 x);
11989
11990 /**
11991  * Each bit of the result is the corresponding bit of a if
11992  * the corresponding bit of c is 0. Otherwise it is the
11993  * corresponding bit of b.
11994  */
11995 char __ovld __cnfn bitselect(char a, char b, char c);
11996 uchar __ovld __cnfn bitselect(uchar a, uchar b, uchar c);
11997 char2 __ovld __cnfn bitselect(char2 a, char2 b, char2 c);
11998 uchar2 __ovld __cnfn bitselect(uchar2 a, uchar2 b, uchar2 c);
11999 char3 __ovld __cnfn bitselect(char3 a, char3 b, char3 c);
12000 uchar3 __ovld __cnfn bitselect(uchar3 a, uchar3 b, uchar3 c);
12001 char4 __ovld __cnfn bitselect(char4 a, char4 b, char4 c);
12002 uchar4 __ovld __cnfn bitselect(uchar4 a, uchar4 b, uchar4 c);
12003 char8 __ovld __cnfn bitselect(char8 a, char8 b, char8 c);
12004 uchar8 __ovld __cnfn bitselect(uchar8 a, uchar8 b, uchar8 c);
12005 char16 __ovld __cnfn bitselect(char16 a, char16 b, char16 c);
12006 uchar16 __ovld __cnfn bitselect(uchar16 a, uchar16 b, uchar16 c);
12007 short __ovld __cnfn bitselect(short a, short b, short c);
12008 ushort __ovld __cnfn bitselect(ushort a, ushort b, ushort c);
12009 short2 __ovld __cnfn bitselect(short2 a, short2 b, short2 c);
12010 ushort2 __ovld __cnfn bitselect(ushort2 a, ushort2 b, ushort2 c);
12011 short3 __ovld __cnfn bitselect(short3 a, short3 b, short3 c);
12012 ushort3 __ovld __cnfn bitselect(ushort3 a, ushort3 b, ushort3 c);
12013 short4 __ovld __cnfn bitselect(short4 a, short4 b, short4 c);
12014 ushort4 __ovld __cnfn bitselect(ushort4 a, ushort4 b, ushort4 c);
12015 short8 __ovld __cnfn bitselect(short8 a, short8 b, short8 c);
12016 ushort8 __ovld __cnfn bitselect(ushort8 a, ushort8 b, ushort8 c);
12017 short16 __ovld __cnfn bitselect(short16 a, short16 b, short16 c);
12018 ushort16 __ovld __cnfn bitselect(ushort16 a, ushort16 b, ushort16 c);
12019 int __ovld __cnfn bitselect(int a, int b, int c);
12020 uint __ovld __cnfn bitselect(uint a, uint b, uint c);
12021 int2 __ovld __cnfn bitselect(int2 a, int2 b, int2 c);
12022 uint2 __ovld __cnfn bitselect(uint2 a, uint2 b, uint2 c);
12023 int3 __ovld __cnfn bitselect(int3 a, int3 b, int3 c);
12024 uint3 __ovld __cnfn bitselect(uint3 a, uint3 b, uint3 c);
12025 int4 __ovld __cnfn bitselect(int4 a, int4 b, int4 c);
12026 uint4 __ovld __cnfn bitselect(uint4 a, uint4 b, uint4 c);
12027 int8 __ovld __cnfn bitselect(int8 a, int8 b, int8 c);
12028 uint8 __ovld __cnfn bitselect(uint8 a, uint8 b, uint8 c);
12029 int16 __ovld __cnfn bitselect(int16 a, int16 b, int16 c);
12030 uint16 __ovld __cnfn bitselect(uint16 a, uint16 b, uint16 c);
12031 long __ovld __cnfn bitselect(long a, long b, long c);
12032 ulong __ovld __cnfn bitselect(ulong a, ulong b, ulong c);
12033 long2 __ovld __cnfn bitselect(long2 a, long2 b, long2 c);
12034 ulong2 __ovld __cnfn bitselect(ulong2 a, ulong2 b, ulong2 c);
12035 long3 __ovld __cnfn bitselect(long3 a, long3 b, long3 c);
12036 ulong3 __ovld __cnfn bitselect(ulong3 a, ulong3 b, ulong3 c);
12037 long4 __ovld __cnfn bitselect(long4 a, long4 b, long4 c);
12038 ulong4 __ovld __cnfn bitselect(ulong4 a, ulong4 b, ulong4 c);
12039 long8 __ovld __cnfn bitselect(long8 a, long8 b, long8 c);
12040 ulong8 __ovld __cnfn bitselect(ulong8 a, ulong8 b, ulong8 c);
12041 long16 __ovld __cnfn bitselect(long16 a, long16 b, long16 c);
12042 ulong16 __ovld __cnfn bitselect(ulong16 a, ulong16 b, ulong16 c);
12043 float __ovld __cnfn bitselect(float a, float b, float c);
12044 float2 __ovld __cnfn bitselect(float2 a, float2 b, float2 c);
12045 float3 __ovld __cnfn bitselect(float3 a, float3 b, float3 c);
12046 float4 __ovld __cnfn bitselect(float4 a, float4 b, float4 c);
12047 float8 __ovld __cnfn bitselect(float8 a, float8 b, float8 c);
12048 float16 __ovld __cnfn bitselect(float16 a, float16 b, float16 c);
12049 #ifdef cl_khr_fp64
12050 double __ovld __cnfn bitselect(double a, double b, double c);
12051 double2 __ovld __cnfn bitselect(double2 a, double2 b, double2 c);
12052 double3 __ovld __cnfn bitselect(double3 a, double3 b, double3 c);
12053 double4 __ovld __cnfn bitselect(double4 a, double4 b, double4 c);
12054 double8 __ovld __cnfn bitselect(double8 a, double8 b, double8 c);
12055 double16 __ovld __cnfn bitselect(double16 a, double16 b, double16 c);
12056 #endif //cl_khr_fp64
12057 #ifdef cl_khr_fp16
12058 half __ovld __cnfn bitselect(half a, half b, half c);
12059 half2 __ovld __cnfn bitselect(half2 a, half2 b, half2 c);
12060 half3 __ovld __cnfn bitselect(half3 a, half3 b, half3 c);
12061 half4 __ovld __cnfn bitselect(half4 a, half4 b, half4 c);
12062 half8 __ovld __cnfn bitselect(half8 a, half8 b, half8 c);
12063 half16 __ovld __cnfn bitselect(half16 a, half16 b, half16 c);
12064 #endif //cl_khr_fp16
12065
12066 /**
12067  * For each component of a vector type,
12068  * result[i] = if MSB of c[i] is set ? b[i] : a[i].
12069  * For a scalar type, result = c ? b : a.
12070  */
12071 char __ovld __cnfn select(char a, char b, char c);
12072 uchar __ovld __cnfn select(uchar a, uchar b, char c);
12073 char2 __ovld __cnfn select(char2 a, char2 b, char2 c);
12074 uchar2 __ovld __cnfn select(uchar2 a, uchar2 b, char2 c);
12075 char3 __ovld __cnfn select(char3 a, char3 b, char3 c);
12076 uchar3 __ovld __cnfn select(uchar3 a, uchar3 b, char3 c);
12077 char4 __ovld __cnfn select(char4 a, char4 b, char4 c);
12078 uchar4 __ovld __cnfn select(uchar4 a, uchar4 b, char4 c);
12079 char8 __ovld __cnfn select(char8 a, char8 b, char8 c);
12080 uchar8 __ovld __cnfn select(uchar8 a, uchar8 b, char8 c);
12081 char16 __ovld __cnfn select(char16 a, char16 b, char16 c);
12082 uchar16 __ovld __cnfn select(uchar16 a, uchar16 b, char16 c);
12083 short __ovld __cnfn select(short a, short b, char c);
12084 ushort __ovld __cnfn select(ushort a, ushort b, char c);
12085 short2 __ovld __cnfn select(short2 a, short2 b, char2 c);
12086 ushort2 __ovld __cnfn select(ushort2 a, ushort2 b, char2 c);
12087 short3 __ovld __cnfn select(short3 a, short3 b, char3 c);
12088 ushort3 __ovld __cnfn select(ushort3 a, ushort3 b, char3 c);
12089 short4 __ovld __cnfn select(short4 a, short4 b, char4 c);
12090 ushort4 __ovld __cnfn select(ushort4 a, ushort4 b, char4 c);
12091 short8 __ovld __cnfn select(short8 a, short8 b, char8 c);
12092 ushort8 __ovld __cnfn select(ushort8 a, ushort8 b, char8 c);
12093 short16 __ovld __cnfn select(short16 a, short16 b, char16 c);
12094 ushort16 __ovld __cnfn select(ushort16 a, ushort16 b, char16 c);
12095 int __ovld __cnfn select(int a, int b, char c);
12096 uint __ovld __cnfn select(uint a, uint b, char c);
12097 int2 __ovld __cnfn select(int2 a, int2 b, char2 c);
12098 uint2 __ovld __cnfn select(uint2 a, uint2 b, char2 c);
12099 int3 __ovld __cnfn select(int3 a, int3 b, char3 c);
12100 uint3 __ovld __cnfn select(uint3 a, uint3 b, char3 c);
12101 int4 __ovld __cnfn select(int4 a, int4 b, char4 c);
12102 uint4 __ovld __cnfn select(uint4 a, uint4 b, char4 c);
12103 int8 __ovld __cnfn select(int8 a, int8 b, char8 c);
12104 uint8 __ovld __cnfn select(uint8 a, uint8 b, char8 c);
12105 int16 __ovld __cnfn select(int16 a, int16 b, char16 c);
12106 uint16 __ovld __cnfn select(uint16 a, uint16 b, char16 c);
12107 long __ovld __cnfn select(long a, long b, char c);
12108 ulong __ovld __cnfn select(ulong a, ulong b, char c);
12109 long2 __ovld __cnfn select(long2 a, long2 b, char2 c);
12110 ulong2 __ovld __cnfn select(ulong2 a, ulong2 b, char2 c);
12111 long3 __ovld __cnfn select(long3 a, long3 b, char3 c);
12112 ulong3 __ovld __cnfn select(ulong3 a, ulong3 b, char3 c);
12113 long4 __ovld __cnfn select(long4 a, long4 b, char4 c);
12114 ulong4 __ovld __cnfn select(ulong4 a, ulong4 b, char4 c);
12115 long8 __ovld __cnfn select(long8 a, long8 b, char8 c);
12116 ulong8 __ovld __cnfn select(ulong8 a, ulong8 b, char8 c);
12117 long16 __ovld __cnfn select(long16 a, long16 b, char16 c);
12118 ulong16 __ovld __cnfn select(ulong16 a, ulong16 b, char16 c);
12119 float __ovld __cnfn select(float a, float b, char c);
12120 float2 __ovld __cnfn select(float2 a, float2 b, char2 c);
12121 float3 __ovld __cnfn select(float3 a, float3 b, char3 c);
12122 float4 __ovld __cnfn select(float4 a, float4 b, char4 c);
12123 float8 __ovld __cnfn select(float8 a, float8 b, char8 c);
12124 float16 __ovld __cnfn select(float16 a, float16 b, char16 c);
12125 char __ovld __cnfn select(char a, char b, short c);
12126 uchar __ovld __cnfn select(uchar a, uchar b, short c);
12127 char2 __ovld __cnfn select(char2 a, char2 b, short2 c);
12128 uchar2 __ovld __cnfn select(uchar2 a, uchar2 b, short2 c);
12129 char3 __ovld __cnfn select(char3 a, char3 b, short3 c);
12130 uchar3 __ovld __cnfn select(uchar3 a, uchar3 b, short3 c);
12131 char4 __ovld __cnfn select(char4 a, char4 b, short4 c);
12132 uchar4 __ovld __cnfn select(uchar4 a, uchar4 b, short4 c);
12133 char8 __ovld __cnfn select(char8 a, char8 b, short8 c);
12134 uchar8 __ovld __cnfn select(uchar8 a, uchar8 b, short8 c);
12135 char16 __ovld __cnfn select(char16 a, char16 b, short16 c);
12136 uchar16 __ovld __cnfn select(uchar16 a, uchar16 b, short16 c);
12137 short __ovld __cnfn select(short a, short b, short c);
12138 ushort __ovld __cnfn select(ushort a, ushort b, short c);
12139 short2 __ovld __cnfn select(short2 a, short2 b, short2 c);
12140 ushort2 __ovld __cnfn select(ushort2 a, ushort2 b, short2 c);
12141 short3 __ovld __cnfn select(short3 a, short3 b, short3 c);
12142 ushort3 __ovld __cnfn select(ushort3 a, ushort3 b, short3 c);
12143 short4 __ovld __cnfn select(short4 a, short4 b, short4 c);
12144 ushort4 __ovld __cnfn select(ushort4 a, ushort4 b, short4 c);
12145 short8 __ovld __cnfn select(short8 a, short8 b, short8 c);
12146 ushort8 __ovld __cnfn select(ushort8 a, ushort8 b, short8 c);
12147 short16 __ovld __cnfn select(short16 a, short16 b, short16 c);
12148 ushort16 __ovld __cnfn select(ushort16 a, ushort16 b, short16 c);
12149 int __ovld __cnfn select(int a, int b, short c);
12150 uint __ovld __cnfn select(uint a, uint b, short c);
12151 int2 __ovld __cnfn select(int2 a, int2 b, short2 c);
12152 uint2 __ovld __cnfn select(uint2 a, uint2 b, short2 c);
12153 int3 __ovld __cnfn select(int3 a, int3 b, short3 c);
12154 uint3 __ovld __cnfn select(uint3 a, uint3 b, short3 c);
12155 int4 __ovld __cnfn select(int4 a, int4 b, short4 c);
12156 uint4 __ovld __cnfn select(uint4 a, uint4 b, short4 c);
12157 int8 __ovld __cnfn select(int8 a, int8 b, short8 c);
12158 uint8 __ovld __cnfn select(uint8 a, uint8 b, short8 c);
12159 int16 __ovld __cnfn select(int16 a, int16 b, short16 c);
12160 uint16 __ovld __cnfn select(uint16 a, uint16 b, short16 c);
12161 long __ovld __cnfn select(long a, long b, short c);
12162 ulong __ovld __cnfn select(ulong a, ulong b, short c);
12163 long2 __ovld __cnfn select(long2 a, long2 b, short2 c);
12164 ulong2 __ovld __cnfn select(ulong2 a, ulong2 b, short2 c);
12165 long3 __ovld __cnfn select(long3 a, long3 b, short3 c);
12166 ulong3 __ovld __cnfn select(ulong3 a, ulong3 b, short3 c);
12167 long4 __ovld __cnfn select(long4 a, long4 b, short4 c);
12168 ulong4 __ovld __cnfn select(ulong4 a, ulong4 b, short4 c);
12169 long8 __ovld __cnfn select(long8 a, long8 b, short8 c);
12170 ulong8 __ovld __cnfn select(ulong8 a, ulong8 b, short8 c);
12171 long16 __ovld __cnfn select(long16 a, long16 b, short16 c);
12172 ulong16 __ovld __cnfn select(ulong16 a, ulong16 b, short16 c);
12173 float __ovld __cnfn select(float a, float b, short c);
12174 float2 __ovld __cnfn select(float2 a, float2 b, short2 c);
12175 float3 __ovld __cnfn select(float3 a, float3 b, short3 c);
12176 float4 __ovld __cnfn select(float4 a, float4 b, short4 c);
12177 float8 __ovld __cnfn select(float8 a, float8 b, short8 c);
12178 float16 __ovld __cnfn select(float16 a, float16 b, short16 c);
12179 char __ovld __cnfn select(char a, char b, int c);
12180 uchar __ovld __cnfn select(uchar a, uchar b, int c);
12181 char2 __ovld __cnfn select(char2 a, char2 b, int2 c);
12182 uchar2 __ovld __cnfn select(uchar2 a, uchar2 b, int2 c);
12183 char3 __ovld __cnfn select(char3 a, char3 b, int3 c);
12184 uchar3 __ovld __cnfn select(uchar3 a, uchar3 b, int3 c);
12185 char4 __ovld __cnfn select(char4 a, char4 b, int4 c);
12186 uchar4 __ovld __cnfn select(uchar4 a, uchar4 b, int4 c);
12187 char8 __ovld __cnfn select(char8 a, char8 b, int8 c);
12188 uchar8 __ovld __cnfn select(uchar8 a, uchar8 b, int8 c);
12189 char16 __ovld __cnfn select(char16 a, char16 b, int16 c);
12190 uchar16 __ovld __cnfn select(uchar16 a, uchar16 b, int16 c);
12191 short __ovld __cnfn select(short a, short b, int c);
12192 ushort __ovld __cnfn select(ushort a, ushort b, int c);
12193 short2 __ovld __cnfn select(short2 a, short2 b, int2 c);
12194 ushort2 __ovld __cnfn select(ushort2 a, ushort2 b, int2 c);
12195 short3 __ovld __cnfn select(short3 a, short3 b, int3 c);
12196 ushort3 __ovld __cnfn select(ushort3 a, ushort3 b, int3 c);
12197 short4 __ovld __cnfn select(short4 a, short4 b, int4 c);
12198 ushort4 __ovld __cnfn select(ushort4 a, ushort4 b, int4 c);
12199 short8 __ovld __cnfn select(short8 a, short8 b, int8 c);
12200 ushort8 __ovld __cnfn select(ushort8 a, ushort8 b, int8 c);
12201 short16 __ovld __cnfn select(short16 a, short16 b, int16 c);
12202 ushort16 __ovld __cnfn select(ushort16 a, ushort16 b, int16 c);
12203 int __ovld __cnfn select(int a, int b, int c);
12204 uint __ovld __cnfn select(uint a, uint b, int c);
12205 int2 __ovld __cnfn select(int2 a, int2 b, int2 c);
12206 uint2 __ovld __cnfn select(uint2 a, uint2 b, int2 c);
12207 int3 __ovld __cnfn select(int3 a, int3 b, int3 c);
12208 uint3 __ovld __cnfn select(uint3 a, uint3 b, int3 c);
12209 int4 __ovld __cnfn select(int4 a, int4 b, int4 c);
12210 uint4 __ovld __cnfn select(uint4 a, uint4 b, int4 c);
12211 int8 __ovld __cnfn select(int8 a, int8 b, int8 c);
12212 uint8 __ovld __cnfn select(uint8 a, uint8 b, int8 c);
12213 int16 __ovld __cnfn select(int16 a, int16 b, int16 c);
12214 uint16 __ovld __cnfn select(uint16 a, uint16 b, int16 c);
12215 long __ovld __cnfn select(long a, long b, int c);
12216 ulong __ovld __cnfn select(ulong a, ulong b, int c);
12217 long2 __ovld __cnfn select(long2 a, long2 b, int2 c);
12218 ulong2 __ovld __cnfn select(ulong2 a, ulong2 b, int2 c);
12219 long3 __ovld __cnfn select(long3 a, long3 b, int3 c);
12220 ulong3 __ovld __cnfn select(ulong3 a, ulong3 b, int3 c);
12221 long4 __ovld __cnfn select(long4 a, long4 b, int4 c);
12222 ulong4 __ovld __cnfn select(ulong4 a, ulong4 b, int4 c);
12223 long8 __ovld __cnfn select(long8 a, long8 b, int8 c);
12224 ulong8 __ovld __cnfn select(ulong8 a, ulong8 b, int8 c);
12225 long16 __ovld __cnfn select(long16 a, long16 b, int16 c);
12226 ulong16 __ovld __cnfn select(ulong16 a, ulong16 b, int16 c);
12227 float __ovld __cnfn select(float a, float b, int c);
12228 float2 __ovld __cnfn select(float2 a, float2 b, int2 c);
12229 float3 __ovld __cnfn select(float3 a, float3 b, int3 c);
12230 float4 __ovld __cnfn select(float4 a, float4 b, int4 c);
12231 float8 __ovld __cnfn select(float8 a, float8 b, int8 c);
12232 float16 __ovld __cnfn select(float16 a, float16 b, int16 c);
12233 char __ovld __cnfn select(char a, char b, long c);
12234 uchar __ovld __cnfn select(uchar a, uchar b, long c);
12235 char2 __ovld __cnfn select(char2 a, char2 b, long2 c);
12236 uchar2 __ovld __cnfn select(uchar2 a, uchar2 b, long2 c);
12237 char3 __ovld __cnfn select(char3 a, char3 b, long3 c);
12238 uchar3 __ovld __cnfn select(uchar3 a, uchar3 b, long3 c);
12239 char4 __ovld __cnfn select(char4 a, char4 b, long4 c);
12240 uchar4 __ovld __cnfn select(uchar4 a, uchar4 b, long4 c);
12241 char8 __ovld __cnfn select(char8 a, char8 b, long8 c);
12242 uchar8 __ovld __cnfn select(uchar8 a, uchar8 b, long8 c);
12243 char16 __ovld __cnfn select(char16 a, char16 b, long16 c);
12244 uchar16 __ovld __cnfn select(uchar16 a, uchar16 b, long16 c);
12245 short __ovld __cnfn select(short a, short b, long c);
12246 ushort __ovld __cnfn select(ushort a, ushort b, long c);
12247 short2 __ovld __cnfn select(short2 a, short2 b, long2 c);
12248 ushort2 __ovld __cnfn select(ushort2 a, ushort2 b, long2 c);
12249 short3 __ovld __cnfn select(short3 a, short3 b, long3 c);
12250 ushort3 __ovld __cnfn select(ushort3 a, ushort3 b, long3 c);
12251 short4 __ovld __cnfn select(short4 a, short4 b, long4 c);
12252 ushort4 __ovld __cnfn select(ushort4 a, ushort4 b, long4 c);
12253 short8 __ovld __cnfn select(short8 a, short8 b, long8 c);
12254 ushort8 __ovld __cnfn select(ushort8 a, ushort8 b, long8 c);
12255 short16 __ovld __cnfn select(short16 a, short16 b, long16 c);
12256 ushort16 __ovld __cnfn select(ushort16 a, ushort16 b, long16 c);
12257 int __ovld __cnfn select(int a, int b, long c);
12258 uint __ovld __cnfn select(uint a, uint b, long c);
12259 int2 __ovld __cnfn select(int2 a, int2 b, long2 c);
12260 uint2 __ovld __cnfn select(uint2 a, uint2 b, long2 c);
12261 int3 __ovld __cnfn select(int3 a, int3 b, long3 c);
12262 uint3 __ovld __cnfn select(uint3 a, uint3 b, long3 c);
12263 int4 __ovld __cnfn select(int4 a, int4 b, long4 c);
12264 uint4 __ovld __cnfn select(uint4 a, uint4 b, long4 c);
12265 int8 __ovld __cnfn select(int8 a, int8 b, long8 c);
12266 uint8 __ovld __cnfn select(uint8 a, uint8 b, long8 c);
12267 int16 __ovld __cnfn select(int16 a, int16 b, long16 c);
12268 uint16 __ovld __cnfn select(uint16 a, uint16 b, long16 c);
12269 long __ovld __cnfn select(long a, long b, long c);
12270 ulong __ovld __cnfn select(ulong a, ulong b, long c);
12271 long2 __ovld __cnfn select(long2 a, long2 b, long2 c);
12272 ulong2 __ovld __cnfn select(ulong2 a, ulong2 b, long2 c);
12273 long3 __ovld __cnfn select(long3 a, long3 b, long3 c);
12274 ulong3 __ovld __cnfn select(ulong3 a, ulong3 b, long3 c);
12275 long4 __ovld __cnfn select(long4 a, long4 b, long4 c);
12276 ulong4 __ovld __cnfn select(ulong4 a, ulong4 b, long4 c);
12277 long8 __ovld __cnfn select(long8 a, long8 b, long8 c);
12278 ulong8 __ovld __cnfn select(ulong8 a, ulong8 b, long8 c);
12279 long16 __ovld __cnfn select(long16 a, long16 b, long16 c);
12280 ulong16 __ovld __cnfn select(ulong16 a, ulong16 b, long16 c);
12281 float __ovld __cnfn select(float a, float b, long c);
12282 float2 __ovld __cnfn select(float2 a, float2 b, long2 c);
12283 float3 __ovld __cnfn select(float3 a, float3 b, long3 c);
12284 float4 __ovld __cnfn select(float4 a, float4 b, long4 c);
12285 float8 __ovld __cnfn select(float8 a, float8 b, long8 c);
12286 float16 __ovld __cnfn select(float16 a, float16 b, long16 c);
12287 char __ovld __cnfn select(char a, char b, uchar c);
12288 uchar __ovld __cnfn select(uchar a, uchar b, uchar c);
12289 char2 __ovld __cnfn select(char2 a, char2 b, uchar2 c);
12290 uchar2 __ovld __cnfn select(uchar2 a, uchar2 b, uchar2 c);
12291 char3 __ovld __cnfn select(char3 a, char3 b, uchar3 c);
12292 uchar3 __ovld __cnfn select(uchar3 a, uchar3 b, uchar3 c);
12293 char4 __ovld __cnfn select(char4 a, char4 b, uchar4 c);
12294 uchar4 __ovld __cnfn select(uchar4 a, uchar4 b, uchar4 c);
12295 char8 __ovld __cnfn select(char8 a, char8 b, uchar8 c);
12296 uchar8 __ovld __cnfn select(uchar8 a, uchar8 b, uchar8 c);
12297 char16 __ovld __cnfn select(char16 a, char16 b, uchar16 c);
12298 uchar16 __ovld __cnfn select(uchar16 a, uchar16 b, uchar16 c);
12299 short __ovld __cnfn select(short a, short b, uchar c);
12300 ushort __ovld __cnfn select(ushort a, ushort b, uchar c);
12301 short2 __ovld __cnfn select(short2 a, short2 b, uchar2 c);
12302 ushort2 __ovld __cnfn select(ushort2 a, ushort2 b, uchar2 c);
12303 short3 __ovld __cnfn select(short3 a, short3 b, uchar3 c);
12304 ushort3 __ovld __cnfn select(ushort3 a, ushort3 b, uchar3 c);
12305 short4 __ovld __cnfn select(short4 a, short4 b, uchar4 c);
12306 ushort4 __ovld __cnfn select(ushort4 a, ushort4 b, uchar4 c);
12307 short8 __ovld __cnfn select(short8 a, short8 b, uchar8 c);
12308 ushort8 __ovld __cnfn select(ushort8 a, ushort8 b, uchar8 c);
12309 short16 __ovld __cnfn select(short16 a, short16 b, uchar16 c);
12310 ushort16 __ovld __cnfn select(ushort16 a, ushort16 b, uchar16 c);
12311 int __ovld __cnfn select(int a, int b, uchar c);
12312 uint __ovld __cnfn select(uint a, uint b, uchar c);
12313 int2 __ovld __cnfn select(int2 a, int2 b, uchar2 c);
12314 uint2 __ovld __cnfn select(uint2 a, uint2 b, uchar2 c);
12315 int3 __ovld __cnfn select(int3 a, int3 b, uchar3 c);
12316 uint3 __ovld __cnfn select(uint3 a, uint3 b, uchar3 c);
12317 int4 __ovld __cnfn select(int4 a, int4 b, uchar4 c);
12318 uint4 __ovld __cnfn select(uint4 a, uint4 b, uchar4 c);
12319 int8 __ovld __cnfn select(int8 a, int8 b, uchar8 c);
12320 uint8 __ovld __cnfn select(uint8 a, uint8 b, uchar8 c);
12321 int16 __ovld __cnfn select(int16 a, int16 b, uchar16 c);
12322 uint16 __ovld __cnfn select(uint16 a, uint16 b, uchar16 c);
12323 long __ovld __cnfn select(long a, long b, uchar c);
12324 ulong __ovld __cnfn select(ulong a, ulong b, uchar c);
12325 long2 __ovld __cnfn select(long2 a, long2 b, uchar2 c);
12326 ulong2 __ovld __cnfn select(ulong2 a, ulong2 b, uchar2 c);
12327 long3 __ovld __cnfn select(long3 a, long3 b, uchar3 c);
12328 ulong3 __ovld __cnfn select(ulong3 a, ulong3 b, uchar3 c);
12329 long4 __ovld __cnfn select(long4 a, long4 b, uchar4 c);
12330 ulong4 __ovld __cnfn select(ulong4 a, ulong4 b, uchar4 c);
12331 long8 __ovld __cnfn select(long8 a, long8 b, uchar8 c);
12332 ulong8 __ovld __cnfn select(ulong8 a, ulong8 b, uchar8 c);
12333 long16 __ovld __cnfn select(long16 a, long16 b, uchar16 c);
12334 ulong16 __ovld __cnfn select(ulong16 a, ulong16 b, uchar16 c);
12335 float __ovld __cnfn select(float a, float b, uchar c);
12336 float2 __ovld __cnfn select(float2 a, float2 b, uchar2 c);
12337 float3 __ovld __cnfn select(float3 a, float3 b, uchar3 c);
12338 float4 __ovld __cnfn select(float4 a, float4 b, uchar4 c);
12339 float8 __ovld __cnfn select(float8 a, float8 b, uchar8 c);
12340 float16 __ovld __cnfn select(float16 a, float16 b, uchar16 c);
12341 char __ovld __cnfn select(char a, char b, ushort c);
12342 uchar __ovld __cnfn select(uchar a, uchar b, ushort c);
12343 char2 __ovld __cnfn select(char2 a, char2 b, ushort2 c);
12344 uchar2 __ovld __cnfn select(uchar2 a, uchar2 b, ushort2 c);
12345 char3 __ovld __cnfn select(char3 a, char3 b, ushort3 c);
12346 uchar3 __ovld __cnfn select(uchar3 a, uchar3 b, ushort3 c);
12347 char4 __ovld __cnfn select(char4 a, char4 b, ushort4 c);
12348 uchar4 __ovld __cnfn select(uchar4 a, uchar4 b, ushort4 c);
12349 char8 __ovld __cnfn select(char8 a, char8 b, ushort8 c);
12350 uchar8 __ovld __cnfn select(uchar8 a, uchar8 b, ushort8 c);
12351 char16 __ovld __cnfn select(char16 a, char16 b, ushort16 c);
12352 uchar16 __ovld __cnfn select(uchar16 a, uchar16 b, ushort16 c);
12353 short __ovld __cnfn select(short a, short b, ushort c);
12354 ushort __ovld __cnfn select(ushort a, ushort b, ushort c);
12355 short2 __ovld __cnfn select(short2 a, short2 b, ushort2 c);
12356 ushort2 __ovld __cnfn select(ushort2 a, ushort2 b, ushort2 c);
12357 short3 __ovld __cnfn select(short3 a, short3 b, ushort3 c);
12358 ushort3 __ovld __cnfn select(ushort3 a, ushort3 b, ushort3 c);
12359 short4 __ovld __cnfn select(short4 a, short4 b, ushort4 c);
12360 ushort4 __ovld __cnfn select(ushort4 a, ushort4 b, ushort4 c);
12361 short8 __ovld __cnfn select(short8 a, short8 b, ushort8 c);
12362 ushort8 __ovld __cnfn select(ushort8 a, ushort8 b, ushort8 c);
12363 short16 __ovld __cnfn select(short16 a, short16 b, ushort16 c);
12364 ushort16 __ovld __cnfn select(ushort16 a, ushort16 b, ushort16 c);
12365 int __ovld __cnfn select(int a, int b, ushort c);
12366 uint __ovld __cnfn select(uint a, uint b, ushort c);
12367 int2 __ovld __cnfn select(int2 a, int2 b, ushort2 c);
12368 uint2 __ovld __cnfn select(uint2 a, uint2 b, ushort2 c);
12369 int3 __ovld __cnfn select(int3 a, int3 b, ushort3 c);
12370 uint3 __ovld __cnfn select(uint3 a, uint3 b, ushort3 c);
12371 int4 __ovld __cnfn select(int4 a, int4 b, ushort4 c);
12372 uint4 __ovld __cnfn select(uint4 a, uint4 b, ushort4 c);
12373 int8 __ovld __cnfn select(int8 a, int8 b, ushort8 c);
12374 uint8 __ovld __cnfn select(uint8 a, uint8 b, ushort8 c);
12375 int16 __ovld __cnfn select(int16 a, int16 b, ushort16 c);
12376 uint16 __ovld __cnfn select(uint16 a, uint16 b, ushort16 c);
12377 long __ovld __cnfn select(long a, long b, ushort c);
12378 ulong __ovld __cnfn select(ulong a, ulong b, ushort c);
12379 long2 __ovld __cnfn select(long2 a, long2 b, ushort2 c);
12380 ulong2 __ovld __cnfn select(ulong2 a, ulong2 b, ushort2 c);
12381 long3 __ovld __cnfn select(long3 a, long3 b, ushort3 c);
12382 ulong3 __ovld __cnfn select(ulong3 a, ulong3 b, ushort3 c);
12383 long4 __ovld __cnfn select(long4 a, long4 b, ushort4 c);
12384 ulong4 __ovld __cnfn select(ulong4 a, ulong4 b, ushort4 c);
12385 long8 __ovld __cnfn select(long8 a, long8 b, ushort8 c);
12386 ulong8 __ovld __cnfn select(ulong8 a, ulong8 b, ushort8 c);
12387 long16 __ovld __cnfn select(long16 a, long16 b, ushort16 c);
12388 ulong16 __ovld __cnfn select(ulong16 a, ulong16 b, ushort16 c);
12389 float __ovld __cnfn select(float a, float b, ushort c);
12390 float2 __ovld __cnfn select(float2 a, float2 b, ushort2 c);
12391 float3 __ovld __cnfn select(float3 a, float3 b, ushort3 c);
12392 float4 __ovld __cnfn select(float4 a, float4 b, ushort4 c);
12393 float8 __ovld __cnfn select(float8 a, float8 b, ushort8 c);
12394 float16 __ovld __cnfn select(float16 a, float16 b, ushort16 c);
12395 char __ovld __cnfn select(char a, char b, uint c);
12396 uchar __ovld __cnfn select(uchar a, uchar b, uint c);
12397 char2 __ovld __cnfn select(char2 a, char2 b, uint2 c);
12398 uchar2 __ovld __cnfn select(uchar2 a, uchar2 b, uint2 c);
12399 char3 __ovld __cnfn select(char3 a, char3 b, uint3 c);
12400 uchar3 __ovld __cnfn select(uchar3 a, uchar3 b, uint3 c);
12401 char4 __ovld __cnfn select(char4 a, char4 b, uint4 c);
12402 uchar4 __ovld __cnfn select(uchar4 a, uchar4 b, uint4 c);
12403 char8 __ovld __cnfn select(char8 a, char8 b, uint8 c);
12404 uchar8 __ovld __cnfn select(uchar8 a, uchar8 b, uint8 c);
12405 char16 __ovld __cnfn select(char16 a, char16 b, uint16 c);
12406 uchar16 __ovld __cnfn select(uchar16 a, uchar16 b, uint16 c);
12407 short __ovld __cnfn select(short a, short b, uint c);
12408 ushort __ovld __cnfn select(ushort a, ushort b, uint c);
12409 short2 __ovld __cnfn select(short2 a, short2 b, uint2 c);
12410 ushort2 __ovld __cnfn select(ushort2 a, ushort2 b, uint2 c);
12411 short3 __ovld __cnfn select(short3 a, short3 b, uint3 c);
12412 ushort3 __ovld __cnfn select(ushort3 a, ushort3 b, uint3 c);
12413 short4 __ovld __cnfn select(short4 a, short4 b, uint4 c);
12414 ushort4 __ovld __cnfn select(ushort4 a, ushort4 b, uint4 c);
12415 short8 __ovld __cnfn select(short8 a, short8 b, uint8 c);
12416 ushort8 __ovld __cnfn select(ushort8 a, ushort8 b, uint8 c);
12417 short16 __ovld __cnfn select(short16 a, short16 b, uint16 c);
12418 ushort16 __ovld __cnfn select(ushort16 a, ushort16 b, uint16 c);
12419 int __ovld __cnfn select(int a, int b, uint c);
12420 uint __ovld __cnfn select(uint a, uint b, uint c);
12421 int2 __ovld __cnfn select(int2 a, int2 b, uint2 c);
12422 uint2 __ovld __cnfn select(uint2 a, uint2 b, uint2 c);
12423 int3 __ovld __cnfn select(int3 a, int3 b, uint3 c);
12424 uint3 __ovld __cnfn select(uint3 a, uint3 b, uint3 c);
12425 int4 __ovld __cnfn select(int4 a, int4 b, uint4 c);
12426 uint4 __ovld __cnfn select(uint4 a, uint4 b, uint4 c);
12427 int8 __ovld __cnfn select(int8 a, int8 b, uint8 c);
12428 uint8 __ovld __cnfn select(uint8 a, uint8 b, uint8 c);
12429 int16 __ovld __cnfn select(int16 a, int16 b, uint16 c);
12430 uint16 __ovld __cnfn select(uint16 a, uint16 b, uint16 c);
12431 long __ovld __cnfn select(long a, long b, uint c);
12432 ulong __ovld __cnfn select(ulong a, ulong b, uint c);
12433 long2 __ovld __cnfn select(long2 a, long2 b, uint2 c);
12434 ulong2 __ovld __cnfn select(ulong2 a, ulong2 b, uint2 c);
12435 long3 __ovld __cnfn select(long3 a, long3 b, uint3 c);
12436 ulong3 __ovld __cnfn select(ulong3 a, ulong3 b, uint3 c);
12437 long4 __ovld __cnfn select(long4 a, long4 b, uint4 c);
12438 ulong4 __ovld __cnfn select(ulong4 a, ulong4 b, uint4 c);
12439 long8 __ovld __cnfn select(long8 a, long8 b, uint8 c);
12440 ulong8 __ovld __cnfn select(ulong8 a, ulong8 b, uint8 c);
12441 long16 __ovld __cnfn select(long16 a, long16 b, uint16 c);
12442 ulong16 __ovld __cnfn select(ulong16 a, ulong16 b, uint16 c);
12443 float __ovld __cnfn select(float a, float b, uint c);
12444 float2 __ovld __cnfn select(float2 a, float2 b, uint2 c);
12445 float3 __ovld __cnfn select(float3 a, float3 b, uint3 c);
12446 float4 __ovld __cnfn select(float4 a, float4 b, uint4 c);
12447 float8 __ovld __cnfn select(float8 a, float8 b, uint8 c);
12448 float16 __ovld __cnfn select(float16 a, float16 b, uint16 c);
12449 char __ovld __cnfn select(char a, char b, ulong c);
12450 uchar __ovld __cnfn select(uchar a, uchar b, ulong c);
12451 char2 __ovld __cnfn select(char2 a, char2 b, ulong2 c);
12452 uchar2 __ovld __cnfn select(uchar2 a, uchar2 b, ulong2 c);
12453 char3 __ovld __cnfn select(char3 a, char3 b, ulong3 c);
12454 uchar3 __ovld __cnfn select(uchar3 a, uchar3 b, ulong3 c);
12455 char4 __ovld __cnfn select(char4 a, char4 b, ulong4 c);
12456 uchar4 __ovld __cnfn select(uchar4 a, uchar4 b, ulong4 c);
12457 char8 __ovld __cnfn select(char8 a, char8 b, ulong8 c);
12458 uchar8 __ovld __cnfn select(uchar8 a, uchar8 b, ulong8 c);
12459 char16 __ovld __cnfn select(char16 a, char16 b, ulong16 c);
12460 uchar16 __ovld __cnfn select(uchar16 a, uchar16 b, ulong16 c);
12461 short __ovld __cnfn select(short a, short b, ulong c);
12462 ushort __ovld __cnfn select(ushort a, ushort b, ulong c);
12463 short2 __ovld __cnfn select(short2 a, short2 b, ulong2 c);
12464 ushort2 __ovld __cnfn select(ushort2 a, ushort2 b, ulong2 c);
12465 short3 __ovld __cnfn select(short3 a, short3 b, ulong3 c);
12466 ushort3 __ovld __cnfn select(ushort3 a, ushort3 b, ulong3 c);
12467 short4 __ovld __cnfn select(short4 a, short4 b, ulong4 c);
12468 ushort4 __ovld __cnfn select(ushort4 a, ushort4 b, ulong4 c);
12469 short8 __ovld __cnfn select(short8 a, short8 b, ulong8 c);
12470 ushort8 __ovld __cnfn select(ushort8 a, ushort8 b, ulong8 c);
12471 short16 __ovld __cnfn select(short16 a, short16 b, ulong16 c);
12472 ushort16 __ovld __cnfn select(ushort16 a, ushort16 b, ulong16 c);
12473 int __ovld __cnfn select(int a, int b, ulong c);
12474 uint __ovld __cnfn select(uint a, uint b, ulong c);
12475 int2 __ovld __cnfn select(int2 a, int2 b, ulong2 c);
12476 uint2 __ovld __cnfn select(uint2 a, uint2 b, ulong2 c);
12477 int3 __ovld __cnfn select(int3 a, int3 b, ulong3 c);
12478 uint3 __ovld __cnfn select(uint3 a, uint3 b, ulong3 c);
12479 int4 __ovld __cnfn select(int4 a, int4 b, ulong4 c);
12480 uint4 __ovld __cnfn select(uint4 a, uint4 b, ulong4 c);
12481 int8 __ovld __cnfn select(int8 a, int8 b, ulong8 c);
12482 uint8 __ovld __cnfn select(uint8 a, uint8 b, ulong8 c);
12483 int16 __ovld __cnfn select(int16 a, int16 b, ulong16 c);
12484 uint16 __ovld __cnfn select(uint16 a, uint16 b, ulong16 c);
12485 long __ovld __cnfn select(long a, long b, ulong c);
12486 ulong __ovld __cnfn select(ulong a, ulong b, ulong c);
12487 long2 __ovld __cnfn select(long2 a, long2 b, ulong2 c);
12488 ulong2 __ovld __cnfn select(ulong2 a, ulong2 b, ulong2 c);
12489 long3 __ovld __cnfn select(long3 a, long3 b, ulong3 c);
12490 ulong3 __ovld __cnfn select(ulong3 a, ulong3 b, ulong3 c);
12491 long4 __ovld __cnfn select(long4 a, long4 b, ulong4 c);
12492 ulong4 __ovld __cnfn select(ulong4 a, ulong4 b, ulong4 c);
12493 long8 __ovld __cnfn select(long8 a, long8 b, ulong8 c);
12494 ulong8 __ovld __cnfn select(ulong8 a, ulong8 b, ulong8 c);
12495 long16 __ovld __cnfn select(long16 a, long16 b, ulong16 c);
12496 ulong16 __ovld __cnfn select(ulong16 a, ulong16 b, ulong16 c);
12497 float __ovld __cnfn select(float a, float b, ulong c);
12498 float2 __ovld __cnfn select(float2 a, float2 b, ulong2 c);
12499 float3 __ovld __cnfn select(float3 a, float3 b, ulong3 c);
12500 float4 __ovld __cnfn select(float4 a, float4 b, ulong4 c);
12501 float8 __ovld __cnfn select(float8 a, float8 b, ulong8 c);
12502 float16 __ovld __cnfn select(float16 a, float16 b, ulong16 c);
12503 #ifdef cl_khr_fp64
12504 double __ovld __cnfn select(double a, double b, long c);
12505 double2 __ovld __cnfn select(double2 a, double2 b, long2 c);
12506 double3 __ovld __cnfn select(double3 a, double3 b, long3 c);
12507 double4 __ovld __cnfn select(double4 a, double4 b, long4 c);
12508 double8 __ovld __cnfn select(double8 a, double8 b, long8 c);
12509 double16 __ovld __cnfn select(double16 a, double16 b, long16 c);
12510 double __ovld __cnfn select(double a, double b, ulong c);
12511 double2 __ovld __cnfn select(double2 a, double2 b, ulong2 c);
12512 double3 __ovld __cnfn select(double3 a, double3 b, ulong3 c);
12513 double4 __ovld __cnfn select(double4 a, double4 b, ulong4 c);
12514 double8 __ovld __cnfn select(double8 a, double8 b, ulong8 c);
12515 double16 __ovld __cnfn select(double16 a, double16 b, ulong16 c);
12516 #endif //cl_khr_fp64
12517 #ifdef cl_khr_fp16
12518 half __ovld __cnfn select(half a, half b, short c);
12519 half2 __ovld __cnfn select(half2 a, half2 b, short2 c);
12520 half3 __ovld __cnfn select(half3 a, half3 b, short3 c);
12521 half4 __ovld __cnfn select(half4 a, half4 b, short4 c);
12522 half8 __ovld __cnfn select(half8 a, half8 b, short8 c);
12523 half16 __ovld __cnfn select(half16 a, half16 b, short16 c);
12524 half __ovld __cnfn select(half a, half b, ushort c);
12525 half2 __ovld __cnfn select(half2 a, half2 b, ushort2 c);
12526 half3 __ovld __cnfn select(half3 a, half3 b, ushort3 c);
12527 half4 __ovld __cnfn select(half4 a, half4 b, ushort4 c);
12528 half8 __ovld __cnfn select(half8 a, half8 b, ushort8 c);
12529 half16 __ovld __cnfn select(half16 a, half16 b, ushort16 c);
12530 #endif //cl_khr_fp16
12531
12532 // OpenCL v1.1 s6.11.7, v1.2 s6.12.7, v2.0 s6.13.7 - Vector Data Load and Store Functions
12533 // 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
12534 /**
12535  * Use generic type gentype to indicate the built-in data types
12536  * char, uchar, short, ushort, int, uint, long, ulong, float,
12537  * double or half.
12538  *
12539  * vloadn return sizeof (gentypen) bytes of data read from address (p + (offset * n)).
12540  *
12541  * vstoren write sizeof (gentypen) bytes given by data to address (p + (offset * n)).
12542  *
12543  * The address computed as (p + (offset * n)) must be 
12544  * 8-bit aligned if gentype is char, uchar;
12545  * 16-bit aligned if gentype is short, ushort, half;
12546  * 32-bit aligned if gentype is int, uint, float;
12547  * 64-bit aligned if gentype is long, ulong, double.
12548  */
12549
12550 char2 __ovld vload2(size_t offset, const __constant char *p);
12551 uchar2 __ovld vload2(size_t offset, const __constant uchar *p);
12552 short2 __ovld vload2(size_t offset, const __constant short *p);
12553 ushort2 __ovld vload2(size_t offset, const __constant ushort *p);
12554 int2 __ovld vload2(size_t offset, const __constant int *p);
12555 uint2 __ovld vload2(size_t offset, const __constant uint *p);
12556 long2 __ovld vload2(size_t offset, const __constant long *p);
12557 ulong2 __ovld vload2(size_t offset, const __constant ulong *p);
12558 float2 __ovld vload2(size_t offset, const __constant float *p);
12559 char3 __ovld vload3(size_t offset, const __constant char *p);
12560 uchar3 __ovld vload3(size_t offset, const __constant uchar *p);
12561 short3 __ovld vload3(size_t offset, const __constant short *p);
12562 ushort3 __ovld vload3(size_t offset, const __constant ushort *p);
12563 int3 __ovld vload3(size_t offset, const __constant int *p);
12564 uint3 __ovld vload3(size_t offset, const __constant uint *p);
12565 long3 __ovld vload3(size_t offset, const __constant long *p);
12566 ulong3 __ovld vload3(size_t offset, const __constant ulong *p);
12567 float3 __ovld vload3(size_t offset, const __constant float *p);
12568 char4 __ovld vload4(size_t offset, const __constant char *p);
12569 uchar4 __ovld vload4(size_t offset, const __constant uchar *p);
12570 short4 __ovld vload4(size_t offset, const __constant short *p);
12571 ushort4 __ovld vload4(size_t offset, const __constant ushort *p);
12572 int4 __ovld vload4(size_t offset, const __constant int *p);
12573 uint4 __ovld vload4(size_t offset, const __constant uint *p);
12574 long4 __ovld vload4(size_t offset, const __constant long *p);
12575 ulong4 __ovld vload4(size_t offset, const __constant ulong *p);
12576 float4 __ovld vload4(size_t offset, const __constant float *p);
12577 char8 __ovld vload8(size_t offset, const __constant char *p);
12578 uchar8 __ovld vload8(size_t offset, const __constant uchar *p);
12579 short8 __ovld vload8(size_t offset, const __constant short *p);
12580 ushort8 __ovld vload8(size_t offset, const __constant ushort *p);
12581 int8 __ovld vload8(size_t offset, const __constant int *p);
12582 uint8 __ovld vload8(size_t offset, const __constant uint *p);
12583 long8 __ovld vload8(size_t offset, const __constant long *p);
12584 ulong8 __ovld vload8(size_t offset, const __constant ulong *p);
12585 float8 __ovld vload8(size_t offset, const __constant float *p);
12586 char16 __ovld vload16(size_t offset, const __constant char *p);
12587 uchar16 __ovld vload16(size_t offset, const __constant uchar *p);
12588 short16 __ovld vload16(size_t offset, const __constant short *p);
12589 ushort16 __ovld vload16(size_t offset, const __constant ushort *p);
12590 int16 __ovld vload16(size_t offset, const __constant int *p);
12591 uint16 __ovld vload16(size_t offset, const __constant uint *p);
12592 long16 __ovld vload16(size_t offset, const __constant long *p);
12593 ulong16 __ovld vload16(size_t offset, const __constant ulong *p);
12594 float16 __ovld vload16(size_t offset, const __constant float *p);
12595 #ifdef cl_khr_fp64
12596 double2 __ovld vload2(size_t offset, const __constant double *p);
12597 double3 __ovld vload3(size_t offset, const __constant double *p);
12598 double4 __ovld vload4(size_t offset, const __constant double *p);
12599 double8 __ovld vload8(size_t offset, const __constant double *p);
12600 double16 __ovld vload16(size_t offset, const __constant double *p);
12601 #endif //cl_khr_fp64
12602
12603 #ifdef cl_khr_fp16
12604 half __ovld vload(size_t offset, const __constant half *p);
12605 half2 __ovld vload2(size_t offset, const __constant half *p);
12606 half3 __ovld vload3(size_t offset, const __constant half *p);
12607 half4 __ovld vload4(size_t offset, const __constant half *p);
12608 half8 __ovld vload8(size_t offset, const __constant half *p);
12609 half16 __ovld vload16(size_t offset, const __constant half *p);
12610 #endif //cl_khr_fp16
12611
12612 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
12613 char2 __ovld vload2(size_t offset, const char *p);
12614 uchar2 __ovld vload2(size_t offset, const uchar *p);
12615 short2 __ovld vload2(size_t offset, const short *p);
12616 ushort2 __ovld vload2(size_t offset, const ushort *p);
12617 int2 __ovld vload2(size_t offset, const int *p);
12618 uint2 __ovld vload2(size_t offset, const uint *p);
12619 long2 __ovld vload2(size_t offset, const long *p);
12620 ulong2 __ovld vload2(size_t offset, const ulong *p);
12621 float2 __ovld vload2(size_t offset, const float *p);
12622 char3 __ovld vload3(size_t offset, const char *p);
12623 uchar3 __ovld vload3(size_t offset, const uchar *p);
12624 short3 __ovld vload3(size_t offset, const short *p);
12625 ushort3 __ovld vload3(size_t offset, const ushort *p);
12626 int3 __ovld vload3(size_t offset, const int *p);
12627 uint3 __ovld vload3(size_t offset, const uint *p);
12628 long3 __ovld vload3(size_t offset, const long *p);
12629 ulong3 __ovld vload3(size_t offset, const ulong *p);
12630 float3 __ovld vload3(size_t offset, const float *p);
12631 char4 __ovld vload4(size_t offset, const char *p);
12632 uchar4 __ovld vload4(size_t offset, const uchar *p);
12633 short4 __ovld vload4(size_t offset, const short *p);
12634 ushort4 __ovld vload4(size_t offset, const ushort *p);
12635 int4 __ovld vload4(size_t offset, const int *p);
12636 uint4 __ovld vload4(size_t offset, const uint *p);
12637 long4 __ovld vload4(size_t offset, const long *p);
12638 ulong4 __ovld vload4(size_t offset, const ulong *p);
12639 float4 __ovld vload4(size_t offset, const float *p);
12640 char8 __ovld vload8(size_t offset, const char *p);
12641 uchar8 __ovld vload8(size_t offset, const uchar *p);
12642 short8 __ovld vload8(size_t offset, const short *p);
12643 ushort8 __ovld vload8(size_t offset, const ushort *p);
12644 int8 __ovld vload8(size_t offset, const int *p);
12645 uint8 __ovld vload8(size_t offset, const uint *p);
12646 long8 __ovld vload8(size_t offset, const long *p);
12647 ulong8 __ovld vload8(size_t offset, const ulong *p);
12648 float8 __ovld vload8(size_t offset, const float *p);
12649 char16 __ovld vload16(size_t offset, const char *p);
12650 uchar16 __ovld vload16(size_t offset, const uchar *p);
12651 short16 __ovld vload16(size_t offset, const short *p);
12652 ushort16 __ovld vload16(size_t offset, const ushort *p);
12653 int16 __ovld vload16(size_t offset, const int *p);
12654 uint16 __ovld vload16(size_t offset, const uint *p);
12655 long16 __ovld vload16(size_t offset, const long *p);
12656 ulong16 __ovld vload16(size_t offset, const ulong *p);
12657 float16 __ovld vload16(size_t offset, const float *p);
12658
12659 #ifdef cl_khr_fp64
12660 double2 __ovld vload2(size_t offset, const double *p);
12661 double3 __ovld vload3(size_t offset, const double *p);
12662 double4 __ovld vload4(size_t offset, const double *p);
12663 double8 __ovld vload8(size_t offset, const double *p);
12664 double16 __ovld vload16(size_t offset, const double *p);
12665 #endif //cl_khr_fp64
12666
12667 #ifdef cl_khr_fp16
12668 half __ovld vload(size_t offset, const half *p);
12669 half2 __ovld vload2(size_t offset, const half *p);
12670 half3 __ovld vload3(size_t offset, const half *p);
12671 half4 __ovld vload4(size_t offset, const half *p);
12672 half8 __ovld vload8(size_t offset, const half *p);
12673 half16 __ovld vload16(size_t offset, const half *p);
12674 #endif //cl_khr_fp16
12675 #else
12676 char2 __ovld vload2(size_t offset, const __global char *p);
12677 uchar2 __ovld vload2(size_t offset, const __global uchar *p);
12678 short2 __ovld vload2(size_t offset, const __global short *p);
12679 ushort2 __ovld vload2(size_t offset, const __global ushort *p);
12680 int2 __ovld vload2(size_t offset, const __global int *p);
12681 uint2 __ovld vload2(size_t offset, const __global uint *p);
12682 long2 __ovld vload2(size_t offset, const __global long *p);
12683 ulong2 __ovld vload2(size_t offset, const __global ulong *p);
12684 float2 __ovld vload2(size_t offset, const __global float *p);
12685 char3 __ovld vload3(size_t offset, const __global char *p);
12686 uchar3 __ovld vload3(size_t offset, const __global uchar *p);
12687 short3 __ovld vload3(size_t offset, const __global short *p);
12688 ushort3 __ovld vload3(size_t offset, const __global ushort *p);
12689 int3 __ovld vload3(size_t offset, const __global int *p);
12690 uint3 __ovld vload3(size_t offset, const __global uint *p);
12691 long3 __ovld vload3(size_t offset, const __global long *p);
12692 ulong3 __ovld vload3(size_t offset, const __global ulong *p);
12693 float3 __ovld vload3(size_t offset, const __global float *p);
12694 char4 __ovld vload4(size_t offset, const __global char *p);
12695 uchar4 __ovld vload4(size_t offset, const __global uchar *p);
12696 short4 __ovld vload4(size_t offset, const __global short *p);
12697 ushort4 __ovld vload4(size_t offset, const __global ushort *p);
12698 int4 __ovld vload4(size_t offset, const __global int *p);
12699 uint4 __ovld vload4(size_t offset, const __global uint *p);
12700 long4 __ovld vload4(size_t offset, const __global long *p);
12701 ulong4 __ovld vload4(size_t offset, const __global ulong *p);
12702 float4 __ovld vload4(size_t offset, const __global float *p);
12703 char8 __ovld vload8(size_t offset, const __global char *p);
12704 uchar8 __ovld vload8(size_t offset, const __global uchar *p);
12705 short8 __ovld vload8(size_t offset, const __global short *p);
12706 ushort8 __ovld vload8(size_t offset, const __global ushort *p);
12707 int8 __ovld vload8(size_t offset, const __global int *p);
12708 uint8 __ovld vload8(size_t offset, const __global uint *p);
12709 long8 __ovld vload8(size_t offset, const __global long *p);
12710 ulong8 __ovld vload8(size_t offset, const __global ulong *p);
12711 float8 __ovld vload8(size_t offset, const __global float *p);
12712 char16 __ovld vload16(size_t offset, const __global char *p);
12713 uchar16 __ovld vload16(size_t offset, const __global uchar *p);
12714 short16 __ovld vload16(size_t offset, const __global short *p);
12715 ushort16 __ovld vload16(size_t offset, const __global ushort *p);
12716 int16 __ovld vload16(size_t offset, const __global int *p);
12717 uint16 __ovld vload16(size_t offset, const __global uint *p);
12718 long16 __ovld vload16(size_t offset, const __global long *p);
12719 ulong16 __ovld vload16(size_t offset, const __global ulong *p);
12720 float16 __ovld vload16(size_t offset, const __global float *p);
12721 char2 __ovld vload2(size_t offset, const __local char *p);
12722 uchar2 __ovld vload2(size_t offset, const __local uchar *p);
12723 short2 __ovld vload2(size_t offset, const __local short *p);
12724 ushort2 __ovld vload2(size_t offset, const __local ushort *p);
12725 int2 __ovld vload2(size_t offset, const __local int *p);
12726 uint2 __ovld vload2(size_t offset, const __local uint *p);
12727 long2 __ovld vload2(size_t offset, const __local long *p);
12728 ulong2 __ovld vload2(size_t offset, const __local ulong *p);
12729 float2 __ovld vload2(size_t offset, const __local float *p);
12730 char3 __ovld vload3(size_t offset, const __local char *p);
12731 uchar3 __ovld vload3(size_t offset, const __local uchar *p);
12732 short3 __ovld vload3(size_t offset, const __local short *p);
12733 ushort3 __ovld vload3(size_t offset, const __local ushort *p);
12734 int3 __ovld vload3(size_t offset, const __local int *p);
12735 uint3 __ovld vload3(size_t offset, const __local uint *p);
12736 long3 __ovld vload3(size_t offset, const __local long *p);
12737 ulong3 __ovld vload3(size_t offset, const __local ulong *p);
12738 float3 __ovld vload3(size_t offset, const __local float *p);
12739 char4 __ovld vload4(size_t offset, const __local char *p);
12740 uchar4 __ovld vload4(size_t offset, const __local uchar *p);
12741 short4 __ovld vload4(size_t offset, const __local short *p);
12742 ushort4 __ovld vload4(size_t offset, const __local ushort *p);
12743 int4 __ovld vload4(size_t offset, const __local int *p);
12744 uint4 __ovld vload4(size_t offset, const __local uint *p);
12745 long4 __ovld vload4(size_t offset, const __local long *p);
12746 ulong4 __ovld vload4(size_t offset, const __local ulong *p);
12747 float4 __ovld vload4(size_t offset, const __local float *p);
12748 char8 __ovld vload8(size_t offset, const __local char *p);
12749 uchar8 __ovld vload8(size_t offset, const __local uchar *p);
12750 short8 __ovld vload8(size_t offset, const __local short *p);
12751 ushort8 __ovld vload8(size_t offset, const __local ushort *p);
12752 int8 __ovld vload8(size_t offset, const __local int *p);
12753 uint8 __ovld vload8(size_t offset, const __local uint *p);
12754 long8 __ovld vload8(size_t offset, const __local long *p);
12755 ulong8 __ovld vload8(size_t offset, const __local ulong *p);
12756 float8 __ovld vload8(size_t offset, const __local float *p);
12757 char16 __ovld vload16(size_t offset, const __local char *p);
12758 uchar16 __ovld vload16(size_t offset, const __local uchar *p);
12759 short16 __ovld vload16(size_t offset, const __local short *p);
12760 ushort16 __ovld vload16(size_t offset, const __local ushort *p);
12761 int16 __ovld vload16(size_t offset, const __local int *p);
12762 uint16 __ovld vload16(size_t offset, const __local uint *p);
12763 long16 __ovld vload16(size_t offset, const __local long *p);
12764 ulong16 __ovld vload16(size_t offset, const __local ulong *p);
12765 float16 __ovld vload16(size_t offset, const __local float *p);
12766 char2 __ovld vload2(size_t offset, const __private char *p);
12767 uchar2 __ovld vload2(size_t offset, const __private uchar *p);
12768 short2 __ovld vload2(size_t offset, const __private short *p);
12769 ushort2 __ovld vload2(size_t offset, const __private ushort *p);
12770 int2 __ovld vload2(size_t offset, const __private int *p);
12771 uint2 __ovld vload2(size_t offset, const __private uint *p);
12772 long2 __ovld vload2(size_t offset, const __private long *p);
12773 ulong2 __ovld vload2(size_t offset, const __private ulong *p);
12774 float2 __ovld vload2(size_t offset, const __private float *p);
12775 char3 __ovld vload3(size_t offset, const __private char *p);
12776 uchar3 __ovld vload3(size_t offset, const __private uchar *p);
12777 short3 __ovld vload3(size_t offset, const __private short *p);
12778 ushort3 __ovld vload3(size_t offset, const __private ushort *p);
12779 int3 __ovld vload3(size_t offset, const __private int *p);
12780 uint3 __ovld vload3(size_t offset, const __private uint *p);
12781 long3 __ovld vload3(size_t offset, const __private long *p);
12782 ulong3 __ovld vload3(size_t offset, const __private ulong *p);
12783 float3 __ovld vload3(size_t offset, const __private float *p);
12784 char4 __ovld vload4(size_t offset, const __private char *p);
12785 uchar4 __ovld vload4(size_t offset, const __private uchar *p);
12786 short4 __ovld vload4(size_t offset, const __private short *p);
12787 ushort4 __ovld vload4(size_t offset, const __private ushort *p);
12788 int4 __ovld vload4(size_t offset, const __private int *p);
12789 uint4 __ovld vload4(size_t offset, const __private uint *p);
12790 long4 __ovld vload4(size_t offset, const __private long *p);
12791 ulong4 __ovld vload4(size_t offset, const __private ulong *p);
12792 float4 __ovld vload4(size_t offset, const __private float *p);
12793 char8 __ovld vload8(size_t offset, const __private char *p);
12794 uchar8 __ovld vload8(size_t offset, const __private uchar *p);
12795 short8 __ovld vload8(size_t offset, const __private short *p);
12796 ushort8 __ovld vload8(size_t offset, const __private ushort *p);
12797 int8 __ovld vload8(size_t offset, const __private int *p);
12798 uint8 __ovld vload8(size_t offset, const __private uint *p);
12799 long8 __ovld vload8(size_t offset, const __private long *p);
12800 ulong8 __ovld vload8(size_t offset, const __private ulong *p);
12801 float8 __ovld vload8(size_t offset, const __private float *p);
12802 char16 __ovld vload16(size_t offset, const __private char *p);
12803 uchar16 __ovld vload16(size_t offset, const __private uchar *p);
12804 short16 __ovld vload16(size_t offset, const __private short *p);
12805 ushort16 __ovld vload16(size_t offset, const __private ushort *p);
12806 int16 __ovld vload16(size_t offset, const __private int *p);
12807 uint16 __ovld vload16(size_t offset, const __private uint *p);
12808 long16 __ovld vload16(size_t offset, const __private long *p);
12809 ulong16 __ovld vload16(size_t offset, const __private ulong *p);
12810 float16 __ovld vload16(size_t offset, const __private float *p);
12811
12812 #ifdef cl_khr_fp64
12813 double2 __ovld vload2(size_t offset, const __global double *p);
12814 double3 __ovld vload3(size_t offset, const __global double *p);
12815 double4 __ovld vload4(size_t offset, const __global double *p);
12816 double8 __ovld vload8(size_t offset, const __global double *p);
12817 double16 __ovld vload16(size_t offset, const __global double *p);
12818 double2 __ovld vload2(size_t offset, const __local double *p);
12819 double3 __ovld vload3(size_t offset, const __local double *p);
12820 double4 __ovld vload4(size_t offset, const __local double *p);
12821 double8 __ovld vload8(size_t offset, const __local double *p);
12822 double16 __ovld vload16(size_t offset, const __local double *p);
12823 double2 __ovld vload2(size_t offset, const __private double *p);
12824 double3 __ovld vload3(size_t offset, const __private double *p);
12825 double4 __ovld vload4(size_t offset, const __private double *p);
12826 double8 __ovld vload8(size_t offset, const __private double *p);
12827 double16 __ovld vload16(size_t offset, const __private double *p);
12828 #endif //cl_khr_fp64
12829
12830 #ifdef cl_khr_fp16
12831 half __ovld vload(size_t offset, const __global half *p);
12832 half2 __ovld vload2(size_t offset, const __global half *p);
12833 half3 __ovld vload3(size_t offset, const __global half *p);
12834 half4 __ovld vload4(size_t offset, const __global half *p);
12835 half8 __ovld vload8(size_t offset, const __global half *p);
12836 half16 __ovld vload16(size_t offset, const __global half *p);
12837 half __ovld vload(size_t offset, const __local half *p);
12838 half2 __ovld vload2(size_t offset, const __local half *p);
12839 half3 __ovld vload3(size_t offset, const __local half *p);
12840 half4 __ovld vload4(size_t offset, const __local half *p);
12841 half8 __ovld vload8(size_t offset, const __local half *p);
12842 half16 __ovld vload16(size_t offset, const __local half *p);
12843 half __ovld vload(size_t offset, const __private half *p);
12844 half2 __ovld vload2(size_t offset, const __private half *p);
12845 half3 __ovld vload3(size_t offset, const __private half *p);
12846 half4 __ovld vload4(size_t offset, const __private half *p);
12847 half8 __ovld vload8(size_t offset, const __private half *p);
12848 half16 __ovld vload16(size_t offset, const __private half *p);
12849 #endif //cl_khr_fp16
12850 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
12851
12852 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
12853 void __ovld vstore2(char2 data, size_t offset, char *p);
12854 void __ovld vstore2(uchar2 data, size_t offset, uchar *p);
12855 void __ovld vstore2(short2 data, size_t offset, short *p);
12856 void __ovld vstore2(ushort2 data, size_t offset, ushort *p);
12857 void __ovld vstore2(int2 data, size_t offset, int *p);
12858 void __ovld vstore2(uint2 data, size_t offset, uint *p);
12859 void __ovld vstore2(long2 data, size_t offset, long *p);
12860 void __ovld vstore2(ulong2 data, size_t offset, ulong *p);
12861 void __ovld vstore2(float2 data, size_t offset, float *p);
12862 void __ovld vstore3(char3 data, size_t offset, char *p);
12863 void __ovld vstore3(uchar3 data, size_t offset, uchar *p);
12864 void __ovld vstore3(short3 data, size_t offset, short *p);
12865 void __ovld vstore3(ushort3 data, size_t offset, ushort *p);
12866 void __ovld vstore3(int3 data, size_t offset, int *p);
12867 void __ovld vstore3(uint3 data, size_t offset, uint *p);
12868 void __ovld vstore3(long3 data, size_t offset, long *p);
12869 void __ovld vstore3(ulong3 data, size_t offset, ulong *p);
12870 void __ovld vstore3(float3 data, size_t offset, float *p);
12871 void __ovld vstore4(char4 data, size_t offset, char *p);
12872 void __ovld vstore4(uchar4 data, size_t offset, uchar *p);
12873 void __ovld vstore4(short4 data, size_t offset, short *p);
12874 void __ovld vstore4(ushort4 data, size_t offset, ushort *p);
12875 void __ovld vstore4(int4 data, size_t offset, int *p);
12876 void __ovld vstore4(uint4 data, size_t offset, uint *p);
12877 void __ovld vstore4(long4 data, size_t offset, long *p);
12878 void __ovld vstore4(ulong4 data, size_t offset, ulong *p);
12879 void __ovld vstore4(float4 data, size_t offset, float *p);
12880 void __ovld vstore8(char8 data, size_t offset, char *p);
12881 void __ovld vstore8(uchar8 data, size_t offset, uchar *p);
12882 void __ovld vstore8(short8 data, size_t offset, short *p);
12883 void __ovld vstore8(ushort8 data, size_t offset, ushort *p);
12884 void __ovld vstore8(int8 data, size_t offset, int *p);
12885 void __ovld vstore8(uint8 data, size_t offset, uint *p);
12886 void __ovld vstore8(long8 data, size_t offset, long *p);
12887 void __ovld vstore8(ulong8 data, size_t offset, ulong *p);
12888 void __ovld vstore8(float8 data, size_t offset, float *p);
12889 void __ovld vstore16(char16 data, size_t offset, char *p);
12890 void __ovld vstore16(uchar16 data, size_t offset, uchar *p);
12891 void __ovld vstore16(short16 data, size_t offset, short *p);
12892 void __ovld vstore16(ushort16 data, size_t offset, ushort *p);
12893 void __ovld vstore16(int16 data, size_t offset, int *p);
12894 void __ovld vstore16(uint16 data, size_t offset, uint *p);
12895 void __ovld vstore16(long16 data, size_t offset, long *p);
12896 void __ovld vstore16(ulong16 data, size_t offset, ulong *p);
12897 void __ovld vstore16(float16 data, size_t offset, float *p);
12898 #ifdef cl_khr_fp64
12899 void __ovld vstore2(double2 data, size_t offset, double *p);
12900 void __ovld vstore3(double3 data, size_t offset, double *p);
12901 void __ovld vstore4(double4 data, size_t offset, double *p);
12902 void __ovld vstore8(double8 data, size_t offset, double *p);
12903 void __ovld vstore16(double16 data, size_t offset, double *p);
12904 #endif //cl_khr_fp64
12905 #ifdef cl_khr_fp16
12906 void __ovld vstore(half data, size_t offset, half *p);
12907 void __ovld vstore2(half2 data, size_t offset, half *p);
12908 void __ovld vstore3(half3 data, size_t offset, half *p);
12909 void __ovld vstore4(half4 data, size_t offset, half *p);
12910 void __ovld vstore8(half8 data, size_t offset, half *p);
12911 void __ovld vstore16(half16 data, size_t offset, half *p);
12912 #endif //cl_khr_fp16
12913 #else
12914 void __ovld vstore2(char2 data, size_t offset, __global char *p);
12915 void __ovld vstore2(uchar2 data, size_t offset, __global uchar *p);
12916 void __ovld vstore2(short2 data, size_t offset, __global short *p);
12917 void __ovld vstore2(ushort2 data, size_t offset, __global ushort *p);
12918 void __ovld vstore2(int2 data, size_t offset, __global int *p);
12919 void __ovld vstore2(uint2 data, size_t offset, __global uint *p);
12920 void __ovld vstore2(long2 data, size_t offset, __global long *p);
12921 void __ovld vstore2(ulong2 data, size_t offset, __global ulong *p);
12922 void __ovld vstore2(float2 data, size_t offset, __global float *p);
12923 void __ovld vstore3(char3 data, size_t offset, __global char *p);
12924 void __ovld vstore3(uchar3 data, size_t offset, __global uchar *p);
12925 void __ovld vstore3(short3 data, size_t offset, __global short *p);
12926 void __ovld vstore3(ushort3 data, size_t offset, __global ushort *p);
12927 void __ovld vstore3(int3 data, size_t offset, __global int *p);
12928 void __ovld vstore3(uint3 data, size_t offset, __global uint *p);
12929 void __ovld vstore3(long3 data, size_t offset, __global long *p);
12930 void __ovld vstore3(ulong3 data, size_t offset, __global ulong *p);
12931 void __ovld vstore3(float3 data, size_t offset, __global float *p);
12932 void __ovld vstore4(char4 data, size_t offset, __global char *p);
12933 void __ovld vstore4(uchar4 data, size_t offset, __global uchar *p);
12934 void __ovld vstore4(short4 data, size_t offset, __global short *p);
12935 void __ovld vstore4(ushort4 data, size_t offset, __global ushort *p);
12936 void __ovld vstore4(int4 data, size_t offset, __global int *p);
12937 void __ovld vstore4(uint4 data, size_t offset, __global uint *p);
12938 void __ovld vstore4(long4 data, size_t offset, __global long *p);
12939 void __ovld vstore4(ulong4 data, size_t offset, __global ulong *p);
12940 void __ovld vstore4(float4 data, size_t offset, __global float *p);
12941 void __ovld vstore8(char8 data, size_t offset, __global char *p);
12942 void __ovld vstore8(uchar8 data, size_t offset, __global uchar *p);
12943 void __ovld vstore8(short8 data, size_t offset, __global short *p);
12944 void __ovld vstore8(ushort8 data, size_t offset, __global ushort *p);
12945 void __ovld vstore8(int8 data, size_t offset, __global int *p);
12946 void __ovld vstore8(uint8 data, size_t offset, __global uint *p);
12947 void __ovld vstore8(long8 data, size_t offset, __global long *p);
12948 void __ovld vstore8(ulong8 data, size_t offset, __global ulong *p);
12949 void __ovld vstore8(float8 data, size_t offset, __global float *p);
12950 void __ovld vstore16(char16 data, size_t offset, __global char *p);
12951 void __ovld vstore16(uchar16 data, size_t offset, __global uchar *p);
12952 void __ovld vstore16(short16 data, size_t offset, __global short *p);
12953 void __ovld vstore16(ushort16 data, size_t offset, __global ushort *p);
12954 void __ovld vstore16(int16 data, size_t offset, __global int *p);
12955 void __ovld vstore16(uint16 data, size_t offset, __global uint *p);
12956 void __ovld vstore16(long16 data, size_t offset, __global long *p);
12957 void __ovld vstore16(ulong16 data, size_t offset, __global ulong *p);
12958 void __ovld vstore16(float16 data, size_t offset, __global float *p);
12959 void __ovld vstore2(char2 data, size_t offset, __local char *p);
12960 void __ovld vstore2(uchar2 data, size_t offset, __local uchar *p);
12961 void __ovld vstore2(short2 data, size_t offset, __local short *p);
12962 void __ovld vstore2(ushort2 data, size_t offset, __local ushort *p);
12963 void __ovld vstore2(int2 data, size_t offset, __local int *p);
12964 void __ovld vstore2(uint2 data, size_t offset, __local uint *p);
12965 void __ovld vstore2(long2 data, size_t offset, __local long *p);
12966 void __ovld vstore2(ulong2 data, size_t offset, __local ulong *p);
12967 void __ovld vstore2(float2 data, size_t offset, __local float *p);
12968 void __ovld vstore3(char3 data, size_t offset, __local char *p);
12969 void __ovld vstore3(uchar3 data, size_t offset, __local uchar *p);
12970 void __ovld vstore3(short3 data, size_t offset, __local short *p);
12971 void __ovld vstore3(ushort3 data, size_t offset, __local ushort *p);
12972 void __ovld vstore3(int3 data, size_t offset, __local int *p);
12973 void __ovld vstore3(uint3 data, size_t offset, __local uint *p);
12974 void __ovld vstore3(long3 data, size_t offset, __local long *p);
12975 void __ovld vstore3(ulong3 data, size_t offset, __local ulong *p);
12976 void __ovld vstore3(float3 data, size_t offset, __local float *p);
12977 void __ovld vstore4(char4 data, size_t offset, __local char *p);
12978 void __ovld vstore4(uchar4 data, size_t offset, __local uchar *p);
12979 void __ovld vstore4(short4 data, size_t offset, __local short *p);
12980 void __ovld vstore4(ushort4 data, size_t offset, __local ushort *p);
12981 void __ovld vstore4(int4 data, size_t offset, __local int *p);
12982 void __ovld vstore4(uint4 data, size_t offset, __local uint *p);
12983 void __ovld vstore4(long4 data, size_t offset, __local long *p);
12984 void __ovld vstore4(ulong4 data, size_t offset, __local ulong *p);
12985 void __ovld vstore4(float4 data, size_t offset, __local float *p);
12986 void __ovld vstore8(char8 data, size_t offset, __local char *p);
12987 void __ovld vstore8(uchar8 data, size_t offset, __local uchar *p);
12988 void __ovld vstore8(short8 data, size_t offset, __local short *p);
12989 void __ovld vstore8(ushort8 data, size_t offset, __local ushort *p);
12990 void __ovld vstore8(int8 data, size_t offset, __local int *p);
12991 void __ovld vstore8(uint8 data, size_t offset, __local uint *p);
12992 void __ovld vstore8(long8 data, size_t offset, __local long *p);
12993 void __ovld vstore8(ulong8 data, size_t offset, __local ulong *p);
12994 void __ovld vstore8(float8 data, size_t offset, __local float *p);
12995 void __ovld vstore16(char16 data, size_t offset, __local char *p);
12996 void __ovld vstore16(uchar16 data, size_t offset, __local uchar *p);
12997 void __ovld vstore16(short16 data, size_t offset, __local short *p);
12998 void __ovld vstore16(ushort16 data, size_t offset, __local ushort *p);
12999 void __ovld vstore16(int16 data, size_t offset, __local int *p);
13000 void __ovld vstore16(uint16 data, size_t offset, __local uint *p);
13001 void __ovld vstore16(long16 data, size_t offset, __local long *p);
13002 void __ovld vstore16(ulong16 data, size_t offset, __local ulong *p);
13003 void __ovld vstore16(float16 data, size_t offset, __local float *p);
13004 void __ovld vstore2(char2 data, size_t offset, __private char *p);
13005 void __ovld vstore2(uchar2 data, size_t offset, __private uchar *p);
13006 void __ovld vstore2(short2 data, size_t offset, __private short *p);
13007 void __ovld vstore2(ushort2 data, size_t offset, __private ushort *p);
13008 void __ovld vstore2(int2 data, size_t offset, __private int *p);
13009 void __ovld vstore2(uint2 data, size_t offset, __private uint *p);
13010 void __ovld vstore2(long2 data, size_t offset, __private long *p);
13011 void __ovld vstore2(ulong2 data, size_t offset, __private ulong *p);
13012 void __ovld vstore2(float2 data, size_t offset, __private float *p);
13013 void __ovld vstore3(char3 data, size_t offset, __private char *p);
13014 void __ovld vstore3(uchar3 data, size_t offset, __private uchar *p);
13015 void __ovld vstore3(short3 data, size_t offset, __private short *p);
13016 void __ovld vstore3(ushort3 data, size_t offset, __private ushort *p);
13017 void __ovld vstore3(int3 data, size_t offset, __private int *p);
13018 void __ovld vstore3(uint3 data, size_t offset, __private uint *p);
13019 void __ovld vstore3(long3 data, size_t offset, __private long *p);
13020 void __ovld vstore3(ulong3 data, size_t offset, __private ulong *p);
13021 void __ovld vstore3(float3 data, size_t offset, __private float *p);
13022 void __ovld vstore4(char4 data, size_t offset, __private char *p);
13023 void __ovld vstore4(uchar4 data, size_t offset, __private uchar *p);
13024 void __ovld vstore4(short4 data, size_t offset, __private short *p);
13025 void __ovld vstore4(ushort4 data, size_t offset, __private ushort *p);
13026 void __ovld vstore4(int4 data, size_t offset, __private int *p);
13027 void __ovld vstore4(uint4 data, size_t offset, __private uint *p);
13028 void __ovld vstore4(long4 data, size_t offset, __private long *p);
13029 void __ovld vstore4(ulong4 data, size_t offset, __private ulong *p);
13030 void __ovld vstore4(float4 data, size_t offset, __private float *p);
13031 void __ovld vstore8(char8 data, size_t offset, __private char *p);
13032 void __ovld vstore8(uchar8 data, size_t offset, __private uchar *p);
13033 void __ovld vstore8(short8 data, size_t offset, __private short *p);
13034 void __ovld vstore8(ushort8 data, size_t offset, __private ushort *p);
13035 void __ovld vstore8(int8 data, size_t offset, __private int *p);
13036 void __ovld vstore8(uint8 data, size_t offset, __private uint *p);
13037 void __ovld vstore8(long8 data, size_t offset, __private long *p);
13038 void __ovld vstore8(ulong8 data, size_t offset, __private ulong *p);
13039 void __ovld vstore8(float8 data, size_t offset, __private float *p);
13040 void __ovld vstore16(char16 data, size_t offset, __private char *p);
13041 void __ovld vstore16(uchar16 data, size_t offset, __private uchar *p);
13042 void __ovld vstore16(short16 data, size_t offset, __private short *p);
13043 void __ovld vstore16(ushort16 data, size_t offset, __private ushort *p);
13044 void __ovld vstore16(int16 data, size_t offset, __private int *p);
13045 void __ovld vstore16(uint16 data, size_t offset, __private uint *p);
13046 void __ovld vstore16(long16 data, size_t offset, __private long *p);
13047 void __ovld vstore16(ulong16 data, size_t offset, __private ulong *p);
13048 void __ovld vstore16(float16 data, size_t offset, __private float *p);
13049 #ifdef cl_khr_fp64
13050 void __ovld vstore2(double2 data, size_t offset, __global double *p);
13051 void __ovld vstore3(double3 data, size_t offset, __global double *p);
13052 void __ovld vstore4(double4 data, size_t offset, __global double *p);
13053 void __ovld vstore8(double8 data, size_t offset, __global double *p);
13054 void __ovld vstore16(double16 data, size_t offset, __global double *p);
13055 void __ovld vstore2(double2 data, size_t offset, __local double *p);
13056 void __ovld vstore3(double3 data, size_t offset, __local double *p);
13057 void __ovld vstore4(double4 data, size_t offset, __local double *p);
13058 void __ovld vstore8(double8 data, size_t offset, __local double *p);
13059 void __ovld vstore16(double16 data, size_t offset, __local double *p);
13060 void __ovld vstore2(double2 data, size_t offset, __private double *p);
13061 void __ovld vstore3(double3 data, size_t offset, __private double *p);
13062 void __ovld vstore4(double4 data, size_t offset, __private double *p);
13063 void __ovld vstore8(double8 data, size_t offset, __private double *p);
13064 void __ovld vstore16(double16 data, size_t offset, __private double *p);
13065 #endif //cl_khr_fp64
13066 #ifdef cl_khr_fp16
13067 void __ovld vstore(half data, size_t offset, __global half *p);
13068 void __ovld vstore2(half2 data, size_t offset, __global half *p);
13069 void __ovld vstore3(half3 data, size_t offset, __global half *p);
13070 void __ovld vstore4(half4 data, size_t offset, __global half *p);
13071 void __ovld vstore8(half8 data, size_t offset, __global half *p);
13072 void __ovld vstore16(half16 data, size_t offset, __global half *p);
13073 void __ovld vstore(half data, size_t offset, __local half *p);
13074 void __ovld vstore2(half2 data, size_t offset, __local half *p);
13075 void __ovld vstore3(half3 data, size_t offset, __local half *p);
13076 void __ovld vstore4(half4 data, size_t offset, __local half *p);
13077 void __ovld vstore8(half8 data, size_t offset, __local half *p);
13078 void __ovld vstore16(half16 data, size_t offset, __local half *p);
13079 void __ovld vstore(half data, size_t offset, __private half *p);
13080 void __ovld vstore2(half2 data, size_t offset, __private half *p);
13081 void __ovld vstore3(half3 data, size_t offset, __private half *p);
13082 void __ovld vstore4(half4 data, size_t offset, __private half *p);
13083 void __ovld vstore8(half8 data, size_t offset, __private half *p);
13084 void __ovld vstore16(half16 data, size_t offset, __private half *p);
13085 #endif //cl_khr_fp16
13086 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
13087
13088 /**
13089  * Read sizeof (half) bytes of data from address
13090  * (p + offset). The data read is interpreted as a
13091  * half value. The half value is converted to a
13092  * float value and the float value is returned.
13093  * The read address computed as (p + offset)
13094  * must be 16-bit aligned.
13095  */
13096 float __ovld vload_half(size_t offset, const __constant half *p);
13097 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
13098 float __ovld vload_half(size_t offset, const half *p);
13099 #else
13100 float __ovld vload_half(size_t offset, const __global half *p);
13101 float __ovld vload_half(size_t offset, const __local half *p);
13102 float __ovld vload_half(size_t offset, const __private half *p);
13103 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
13104
13105 /**
13106  * Read sizeof (halfn) bytes of data from address
13107  * (p + (offset * n)). The data read is interpreted
13108  * as a halfn value. The halfn value read is
13109  * converted to a floatn value and the floatn
13110  * value is returned. The read address computed
13111  * as (p + (offset * n)) must be 16-bit aligned.
13112  */
13113 float2 __ovld vload_half2(size_t offset, const __constant half *p);
13114 float3 __ovld vload_half3(size_t offset, const __constant half *p);
13115 float4 __ovld vload_half4(size_t offset, const __constant half *p);
13116 float8 __ovld vload_half8(size_t offset, const __constant half *p);
13117 float16 __ovld vload_half16(size_t offset, const __constant half *p);
13118 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
13119 float2 __ovld vload_half2(size_t offset, const half *p);
13120 float3 __ovld vload_half3(size_t offset, const half *p);
13121 float4 __ovld vload_half4(size_t offset, const half *p);
13122 float8 __ovld vload_half8(size_t offset, const half *p);
13123 float16 __ovld vload_half16(size_t offset, const half *p);
13124 #else
13125 float2 __ovld vload_half2(size_t offset, const __global half *p);
13126 float3 __ovld vload_half3(size_t offset, const __global half *p);
13127 float4 __ovld vload_half4(size_t offset, const __global half *p);
13128 float8 __ovld vload_half8(size_t offset, const __global half *p);
13129 float16 __ovld vload_half16(size_t offset, const __global half *p);
13130 float2 __ovld vload_half2(size_t offset, const __local half *p);
13131 float3 __ovld vload_half3(size_t offset, const __local half *p);
13132 float4 __ovld vload_half4(size_t offset, const __local half *p);
13133 float8 __ovld vload_half8(size_t offset, const __local half *p);
13134 float16 __ovld vload_half16(size_t offset, const __local half *p);
13135 float2 __ovld vload_half2(size_t offset, const __private half *p);
13136 float3 __ovld vload_half3(size_t offset, const __private half *p);
13137 float4 __ovld vload_half4(size_t offset, const __private half *p);
13138 float8 __ovld vload_half8(size_t offset, const __private half *p);
13139 float16 __ovld vload_half16(size_t offset, const __private half *p);
13140 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
13141
13142 /**
13143  * The float value given by data is first
13144  * converted to a half value using the appropriate
13145  * rounding mode. The half value is then written
13146  * to address computed as (p + offset). The
13147  * address computed as (p + offset) must be 16-
13148  * bit aligned.
13149  * vstore_half use the current rounding mode.
13150  * The default current rounding mode is round to
13151  * nearest even.
13152  */
13153 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
13154 void __ovld vstore_half(float data, size_t offset, half *p);
13155 void __ovld vstore_half_rte(float data, size_t offset, half *p);
13156 void __ovld vstore_half_rtz(float data, size_t offset, half *p);
13157 void __ovld vstore_half_rtp(float data, size_t offset, half *p);
13158 void __ovld vstore_half_rtn(float data, size_t offset, half *p);
13159 #ifdef cl_khr_fp64
13160 void __ovld vstore_half(double data, size_t offset, half *p);
13161 void __ovld vstore_half_rte(double data, size_t offset, half *p);
13162 void __ovld vstore_half_rtz(double data, size_t offset, half *p);
13163 void __ovld vstore_half_rtp(double data, size_t offset, half *p);
13164 void __ovld vstore_half_rtn(double data, size_t offset, half *p);
13165 #endif //cl_khr_fp64
13166 #else
13167 void __ovld vstore_half(float data, size_t offset, __global half *p);
13168 void __ovld vstore_half_rte(float data, size_t offset, __global half *p);
13169 void __ovld vstore_half_rtz(float data, size_t offset, __global half *p);
13170 void __ovld vstore_half_rtp(float data, size_t offset, __global half *p);
13171 void __ovld vstore_half_rtn(float data, size_t offset, __global half *p);
13172 void __ovld vstore_half(float data, size_t offset, __local half *p);
13173 void __ovld vstore_half_rte(float data, size_t offset, __local half *p);
13174 void __ovld vstore_half_rtz(float data, size_t offset, __local half *p);
13175 void __ovld vstore_half_rtp(float data, size_t offset, __local half *p);
13176 void __ovld vstore_half_rtn(float data, size_t offset, __local half *p);
13177 void __ovld vstore_half(float data, size_t offset, __private half *p);
13178 void __ovld vstore_half_rte(float data, size_t offset, __private half *p);
13179 void __ovld vstore_half_rtz(float data, size_t offset, __private half *p);
13180 void __ovld vstore_half_rtp(float data, size_t offset, __private half *p);
13181 void __ovld vstore_half_rtn(float data, size_t offset, __private half *p);
13182 #ifdef cl_khr_fp64
13183 void __ovld vstore_half(double data, size_t offset, __global half *p);
13184 void __ovld vstore_half_rte(double data, size_t offset, __global half *p);
13185 void __ovld vstore_half_rtz(double data, size_t offset, __global half *p);
13186 void __ovld vstore_half_rtp(double data, size_t offset, __global half *p);
13187 void __ovld vstore_half_rtn(double data, size_t offset, __global half *p);
13188 void __ovld vstore_half(double data, size_t offset, __local half *p);
13189 void __ovld vstore_half_rte(double data, size_t offset, __local half *p);
13190 void __ovld vstore_half_rtz(double data, size_t offset, __local half *p);
13191 void __ovld vstore_half_rtp(double data, size_t offset, __local half *p);
13192 void __ovld vstore_half_rtn(double data, size_t offset, __local half *p);
13193 void __ovld vstore_half(double data, size_t offset, __private half *p);
13194 void __ovld vstore_half_rte(double data, size_t offset, __private half *p);
13195 void __ovld vstore_half_rtz(double data, size_t offset, __private half *p);
13196 void __ovld vstore_half_rtp(double data, size_t offset, __private half *p);
13197 void __ovld vstore_half_rtn(double data, size_t offset, __private half *p);
13198 #endif //cl_khr_fp64
13199 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
13200
13201 /**
13202  * The floatn value given by data is converted to
13203  * a halfn value using the appropriate rounding
13204  * mode. The halfn value is then written to
13205  * address computed as (p + (offset * n)). The
13206  * address computed as (p + (offset * n)) must be
13207  * 16-bit aligned.
13208  * vstore_halfn uses the current rounding mode.
13209  * The default current rounding mode is round to
13210  * nearest even.
13211  */
13212 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
13213 void __ovld vstore_half2(float2 data, size_t offset, half *p);
13214 void __ovld vstore_half3(float3 data, size_t offset, half *p);
13215 void __ovld vstore_half4(float4 data, size_t offset, half *p);
13216 void __ovld vstore_half8(float8 data, size_t offset, half *p);
13217 void __ovld vstore_half16(float16 data, size_t offset, half *p);
13218 void __ovld vstore_half2_rte(float2 data, size_t offset, half *p);
13219 void __ovld vstore_half3_rte(float3 data, size_t offset, half *p);
13220 void __ovld vstore_half4_rte(float4 data, size_t offset, half *p);
13221 void __ovld vstore_half8_rte(float8 data, size_t offset, half *p);
13222 void __ovld vstore_half16_rte(float16 data, size_t offset, half *p);
13223 void __ovld vstore_half2_rtz(float2 data, size_t offset, half *p);
13224 void __ovld vstore_half3_rtz(float3 data, size_t offset, half *p);
13225 void __ovld vstore_half4_rtz(float4 data, size_t offset, half *p);
13226 void __ovld vstore_half8_rtz(float8 data, size_t offset, half *p);
13227 void __ovld vstore_half16_rtz(float16 data, size_t offset, half *p);
13228 void __ovld vstore_half2_rtp(float2 data, size_t offset, half *p);
13229 void __ovld vstore_half3_rtp(float3 data, size_t offset, half *p);
13230 void __ovld vstore_half4_rtp(float4 data, size_t offset, half *p);
13231 void __ovld vstore_half8_rtp(float8 data, size_t offset, half *p);
13232 void __ovld vstore_half16_rtp(float16 data, size_t offset, half *p);
13233 void __ovld vstore_half2_rtn(float2 data, size_t offset, half *p);
13234 void __ovld vstore_half3_rtn(float3 data, size_t offset, half *p);
13235 void __ovld vstore_half4_rtn(float4 data, size_t offset, half *p);
13236 void __ovld vstore_half8_rtn(float8 data, size_t offset, half *p);
13237 void __ovld vstore_half16_rtn(float16 data, size_t offset, half *p);
13238 #ifdef cl_khr_fp64
13239 void __ovld vstore_half2(double2 data, size_t offset, half *p);
13240 void __ovld vstore_half3(double3 data, size_t offset, half *p);
13241 void __ovld vstore_half4(double4 data, size_t offset, half *p);
13242 void __ovld vstore_half8(double8 data, size_t offset, half *p);
13243 void __ovld vstore_half16(double16 data, size_t offset, half *p);
13244 void __ovld vstore_half2_rte(double2 data, size_t offset, half *p);
13245 void __ovld vstore_half3_rte(double3 data, size_t offset, half *p);
13246 void __ovld vstore_half4_rte(double4 data, size_t offset, half *p);
13247 void __ovld vstore_half8_rte(double8 data, size_t offset, half *p);
13248 void __ovld vstore_half16_rte(double16 data, size_t offset, half *p);
13249 void __ovld vstore_half2_rtz(double2 data, size_t offset, half *p);
13250 void __ovld vstore_half3_rtz(double3 data, size_t offset, half *p);
13251 void __ovld vstore_half4_rtz(double4 data, size_t offset, half *p);
13252 void __ovld vstore_half8_rtz(double8 data, size_t offset, half *p);
13253 void __ovld vstore_half16_rtz(double16 data, size_t offset, half *p);
13254 void __ovld vstore_half2_rtp(double2 data, size_t offset, half *p);
13255 void __ovld vstore_half3_rtp(double3 data, size_t offset, half *p);
13256 void __ovld vstore_half4_rtp(double4 data, size_t offset, half *p);
13257 void __ovld vstore_half8_rtp(double8 data, size_t offset, half *p);
13258 void __ovld vstore_half16_rtp(double16 data, size_t offset, half *p);
13259 void __ovld vstore_half2_rtn(double2 data, size_t offset, half *p);
13260 void __ovld vstore_half3_rtn(double3 data, size_t offset, half *p);
13261 void __ovld vstore_half4_rtn(double4 data, size_t offset, half *p);
13262 void __ovld vstore_half8_rtn(double8 data, size_t offset, half *p);
13263 void __ovld vstore_half16_rtn(double16 data, size_t offset, half *p);
13264 #endif //cl_khr_fp64
13265 #else
13266 void __ovld vstore_half2(float2 data, size_t offset, __global half *p);
13267 void __ovld vstore_half3(float3 data, size_t offset, __global half *p);
13268 void __ovld vstore_half4(float4 data, size_t offset, __global half *p);
13269 void __ovld vstore_half8(float8 data, size_t offset, __global half *p);
13270 void __ovld vstore_half16(float16 data, size_t offset, __global half *p);
13271 void __ovld vstore_half2_rte(float2 data, size_t offset, __global half *p);
13272 void __ovld vstore_half3_rte(float3 data, size_t offset, __global half *p);
13273 void __ovld vstore_half4_rte(float4 data, size_t offset, __global half *p);
13274 void __ovld vstore_half8_rte(float8 data, size_t offset, __global half *p);
13275 void __ovld vstore_half16_rte(float16 data, size_t offset, __global half *p);
13276 void __ovld vstore_half2_rtz(float2 data, size_t offset, __global half *p);
13277 void __ovld vstore_half3_rtz(float3 data, size_t offset, __global half *p);
13278 void __ovld vstore_half4_rtz(float4 data, size_t offset, __global half *p);
13279 void __ovld vstore_half8_rtz(float8 data, size_t offset, __global half *p);
13280 void __ovld vstore_half16_rtz(float16 data, size_t offset, __global half *p);
13281 void __ovld vstore_half2_rtp(float2 data, size_t offset, __global half *p);
13282 void __ovld vstore_half3_rtp(float3 data, size_t offset, __global half *p);
13283 void __ovld vstore_half4_rtp(float4 data, size_t offset, __global half *p);
13284 void __ovld vstore_half8_rtp(float8 data, size_t offset, __global half *p);
13285 void __ovld vstore_half16_rtp(float16 data, size_t offset, __global half *p);
13286 void __ovld vstore_half2_rtn(float2 data, size_t offset, __global half *p);
13287 void __ovld vstore_half3_rtn(float3 data, size_t offset, __global half *p);
13288 void __ovld vstore_half4_rtn(float4 data, size_t offset, __global half *p);
13289 void __ovld vstore_half8_rtn(float8 data, size_t offset, __global half *p);
13290 void __ovld vstore_half16_rtn(float16 data, size_t offset, __global half *p);
13291 void __ovld vstore_half2(float2 data, size_t offset, __local half *p);
13292 void __ovld vstore_half3(float3 data, size_t offset, __local half *p);
13293 void __ovld vstore_half4(float4 data, size_t offset, __local half *p);
13294 void __ovld vstore_half8(float8 data, size_t offset, __local half *p);
13295 void __ovld vstore_half16(float16 data, size_t offset, __local half *p);
13296 void __ovld vstore_half2_rte(float2 data, size_t offset, __local half *p);
13297 void __ovld vstore_half3_rte(float3 data, size_t offset, __local half *p);
13298 void __ovld vstore_half4_rte(float4 data, size_t offset, __local half *p);
13299 void __ovld vstore_half8_rte(float8 data, size_t offset, __local half *p);
13300 void __ovld vstore_half16_rte(float16 data, size_t offset, __local half *p);
13301 void __ovld vstore_half2_rtz(float2 data, size_t offset, __local half *p);
13302 void __ovld vstore_half3_rtz(float3 data, size_t offset, __local half *p);
13303 void __ovld vstore_half4_rtz(float4 data, size_t offset, __local half *p);
13304 void __ovld vstore_half8_rtz(float8 data, size_t offset, __local half *p);
13305 void __ovld vstore_half16_rtz(float16 data, size_t offset, __local half *p);
13306 void __ovld vstore_half2_rtp(float2 data, size_t offset, __local half *p);
13307 void __ovld vstore_half3_rtp(float3 data, size_t offset, __local half *p);
13308 void __ovld vstore_half4_rtp(float4 data, size_t offset, __local half *p);
13309 void __ovld vstore_half8_rtp(float8 data, size_t offset, __local half *p);
13310 void __ovld vstore_half16_rtp(float16 data, size_t offset, __local half *p);
13311 void __ovld vstore_half2_rtn(float2 data, size_t offset, __local half *p);
13312 void __ovld vstore_half3_rtn(float3 data, size_t offset, __local half *p);
13313 void __ovld vstore_half4_rtn(float4 data, size_t offset, __local half *p);
13314 void __ovld vstore_half8_rtn(float8 data, size_t offset, __local half *p);
13315 void __ovld vstore_half16_rtn(float16 data, size_t offset, __local half *p);
13316 void __ovld vstore_half2(float2 data, size_t offset, __private half *p);
13317 void __ovld vstore_half3(float3 data, size_t offset, __private half *p);
13318 void __ovld vstore_half4(float4 data, size_t offset, __private half *p);
13319 void __ovld vstore_half8(float8 data, size_t offset, __private half *p);
13320 void __ovld vstore_half16(float16 data, size_t offset, __private half *p);
13321 void __ovld vstore_half2_rte(float2 data, size_t offset, __private half *p);
13322 void __ovld vstore_half3_rte(float3 data, size_t offset, __private half *p);
13323 void __ovld vstore_half4_rte(float4 data, size_t offset, __private half *p);
13324 void __ovld vstore_half8_rte(float8 data, size_t offset, __private half *p);
13325 void __ovld vstore_half16_rte(float16 data, size_t offset, __private half *p);
13326 void __ovld vstore_half2_rtz(float2 data, size_t offset, __private half *p);
13327 void __ovld vstore_half3_rtz(float3 data, size_t offset, __private half *p);
13328 void __ovld vstore_half4_rtz(float4 data, size_t offset, __private half *p);
13329 void __ovld vstore_half8_rtz(float8 data, size_t offset, __private half *p);
13330 void __ovld vstore_half16_rtz(float16 data, size_t offset, __private half *p);
13331 void __ovld vstore_half2_rtp(float2 data, size_t offset, __private half *p);
13332 void __ovld vstore_half3_rtp(float3 data, size_t offset, __private half *p);
13333 void __ovld vstore_half4_rtp(float4 data, size_t offset, __private half *p);
13334 void __ovld vstore_half8_rtp(float8 data, size_t offset, __private half *p);
13335 void __ovld vstore_half16_rtp(float16 data, size_t offset, __private half *p);
13336 void __ovld vstore_half2_rtn(float2 data, size_t offset, __private half *p);
13337 void __ovld vstore_half3_rtn(float3 data, size_t offset, __private half *p);
13338 void __ovld vstore_half4_rtn(float4 data, size_t offset, __private half *p);
13339 void __ovld vstore_half8_rtn(float8 data, size_t offset, __private half *p);
13340 void __ovld vstore_half16_rtn(float16 data, size_t offset, __private half *p);
13341 #ifdef cl_khr_fp64
13342 void __ovld vstore_half2(double2 data, size_t offset, __global half *p);
13343 void __ovld vstore_half3(double3 data, size_t offset, __global half *p);
13344 void __ovld vstore_half4(double4 data, size_t offset, __global half *p);
13345 void __ovld vstore_half8(double8 data, size_t offset, __global half *p);
13346 void __ovld vstore_half16(double16 data, size_t offset, __global half *p);
13347 void __ovld vstore_half2_rte(double2 data, size_t offset, __global half *p);
13348 void __ovld vstore_half3_rte(double3 data, size_t offset, __global half *p);
13349 void __ovld vstore_half4_rte(double4 data, size_t offset, __global half *p);
13350 void __ovld vstore_half8_rte(double8 data, size_t offset, __global half *p);
13351 void __ovld vstore_half16_rte(double16 data, size_t offset, __global half *p);
13352 void __ovld vstore_half2_rtz(double2 data, size_t offset, __global half *p);
13353 void __ovld vstore_half3_rtz(double3 data, size_t offset, __global half *p);
13354 void __ovld vstore_half4_rtz(double4 data, size_t offset, __global half *p);
13355 void __ovld vstore_half8_rtz(double8 data, size_t offset, __global half *p);
13356 void __ovld vstore_half16_rtz(double16 data, size_t offset, __global half *p);
13357 void __ovld vstore_half2_rtp(double2 data, size_t offset, __global half *p);
13358 void __ovld vstore_half3_rtp(double3 data, size_t offset, __global half *p);
13359 void __ovld vstore_half4_rtp(double4 data, size_t offset, __global half *p);
13360 void __ovld vstore_half8_rtp(double8 data, size_t offset, __global half *p);
13361 void __ovld vstore_half16_rtp(double16 data, size_t offset, __global half *p);
13362 void __ovld vstore_half2_rtn(double2 data, size_t offset, __global half *p);
13363 void __ovld vstore_half3_rtn(double3 data, size_t offset, __global half *p);
13364 void __ovld vstore_half4_rtn(double4 data, size_t offset, __global half *p);
13365 void __ovld vstore_half8_rtn(double8 data, size_t offset, __global half *p);
13366 void __ovld vstore_half16_rtn(double16 data, size_t offset, __global half *p);
13367 void __ovld vstore_half2(double2 data, size_t offset, __local half *p);
13368 void __ovld vstore_half3(double3 data, size_t offset, __local half *p);
13369 void __ovld vstore_half4(double4 data, size_t offset, __local half *p);
13370 void __ovld vstore_half8(double8 data, size_t offset, __local half *p);
13371 void __ovld vstore_half16(double16 data, size_t offset, __local half *p);
13372 void __ovld vstore_half2_rte(double2 data, size_t offset, __local half *p);
13373 void __ovld vstore_half3_rte(double3 data, size_t offset, __local half *p);
13374 void __ovld vstore_half4_rte(double4 data, size_t offset, __local half *p);
13375 void __ovld vstore_half8_rte(double8 data, size_t offset, __local half *p);
13376 void __ovld vstore_half16_rte(double16 data, size_t offset, __local half *p);
13377 void __ovld vstore_half2_rtz(double2 data, size_t offset, __local half *p);
13378 void __ovld vstore_half3_rtz(double3 data, size_t offset, __local half *p);
13379 void __ovld vstore_half4_rtz(double4 data, size_t offset, __local half *p);
13380 void __ovld vstore_half8_rtz(double8 data, size_t offset, __local half *p);
13381 void __ovld vstore_half16_rtz(double16 data, size_t offset, __local half *p);
13382 void __ovld vstore_half2_rtp(double2 data, size_t offset, __local half *p);
13383 void __ovld vstore_half3_rtp(double3 data, size_t offset, __local half *p);
13384 void __ovld vstore_half4_rtp(double4 data, size_t offset, __local half *p);
13385 void __ovld vstore_half8_rtp(double8 data, size_t offset, __local half *p);
13386 void __ovld vstore_half16_rtp(double16 data, size_t offset, __local half *p);
13387 void __ovld vstore_half2_rtn(double2 data, size_t offset, __local half *p);
13388 void __ovld vstore_half3_rtn(double3 data, size_t offset, __local half *p);
13389 void __ovld vstore_half4_rtn(double4 data, size_t offset, __local half *p);
13390 void __ovld vstore_half8_rtn(double8 data, size_t offset, __local half *p);
13391 void __ovld vstore_half16_rtn(double16 data, size_t offset, __local half *p);
13392 void __ovld vstore_half2(double2 data, size_t offset, __private half *p);
13393 void __ovld vstore_half3(double3 data, size_t offset, __private half *p);
13394 void __ovld vstore_half4(double4 data, size_t offset, __private half *p);
13395 void __ovld vstore_half8(double8 data, size_t offset, __private half *p);
13396 void __ovld vstore_half16(double16 data, size_t offset, __private half *p);
13397 void __ovld vstore_half2_rte(double2 data, size_t offset, __private half *p);
13398 void __ovld vstore_half3_rte(double3 data, size_t offset, __private half *p);
13399 void __ovld vstore_half4_rte(double4 data, size_t offset, __private half *p);
13400 void __ovld vstore_half8_rte(double8 data, size_t offset, __private half *p);
13401 void __ovld vstore_half16_rte(double16 data, size_t offset, __private half *p);
13402 void __ovld vstore_half2_rtz(double2 data, size_t offset, __private half *p);
13403 void __ovld vstore_half3_rtz(double3 data, size_t offset, __private half *p);
13404 void __ovld vstore_half4_rtz(double4 data, size_t offset, __private half *p);
13405 void __ovld vstore_half8_rtz(double8 data, size_t offset, __private half *p);
13406 void __ovld vstore_half16_rtz(double16 data, size_t offset, __private half *p);
13407 void __ovld vstore_half2_rtp(double2 data, size_t offset, __private half *p);
13408 void __ovld vstore_half3_rtp(double3 data, size_t offset, __private half *p);
13409 void __ovld vstore_half4_rtp(double4 data, size_t offset, __private half *p);
13410 void __ovld vstore_half8_rtp(double8 data, size_t offset, __private half *p);
13411 void __ovld vstore_half16_rtp(double16 data, size_t offset, __private half *p);
13412 void __ovld vstore_half2_rtn(double2 data, size_t offset, __private half *p);
13413 void __ovld vstore_half3_rtn(double3 data, size_t offset, __private half *p);
13414 void __ovld vstore_half4_rtn(double4 data, size_t offset, __private half *p);
13415 void __ovld vstore_half8_rtn(double8 data, size_t offset, __private half *p);
13416 void __ovld vstore_half16_rtn(double16 data, size_t offset, __private half *p);
13417 #endif //cl_khr_fp64
13418 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
13419
13420 /**
13421  * For n = 1, 2, 4, 8 and 16 read sizeof (halfn)
13422  * bytes of data from address (p + (offset * n)).
13423  * The data read is interpreted as a halfn value.
13424  * The halfn value read is converted to a floatn
13425  * value and the floatn value is returned.
13426  * The address computed as (p + (offset * n))
13427  * must be aligned to sizeof (halfn) bytes.
13428  * For n = 3, vloada_half3 reads a half3 from
13429  * address (p + (offset * 4)) and returns a float3.
13430  * The address computed as (p + (offset * 4))
13431  * must be aligned to sizeof (half) * 4 bytes.
13432  */
13433 float __ovld vloada_half(size_t offset, const __constant half *p);
13434 float2 __ovld vloada_half2(size_t offset, const __constant half *p);
13435 float3 __ovld vloada_half3(size_t offset, const __constant half *p);
13436 float4 __ovld vloada_half4(size_t offset, const __constant half *p);
13437 float8 __ovld vloada_half8(size_t offset, const __constant half *p);
13438 float16 __ovld vloada_half16(size_t offset, const __constant half *p);
13439 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
13440 float __ovld vloada_half(size_t offset, const half *p);
13441 float2 __ovld vloada_half2(size_t offset, const half *p);
13442 float3 __ovld vloada_half3(size_t offset, const half *p);
13443 float4 __ovld vloada_half4(size_t offset, const half *p);
13444 float8 __ovld vloada_half8(size_t offset, const half *p);
13445 float16 __ovld vloada_half16(size_t offset, const half *p);
13446 #else
13447 float __ovld vloada_half(size_t offset, const __global half *p);
13448 float2 __ovld vloada_half2(size_t offset, const __global half *p);
13449 float3 __ovld vloada_half3(size_t offset, const __global half *p);
13450 float4 __ovld vloada_half4(size_t offset, const __global half *p);
13451 float8 __ovld vloada_half8(size_t offset, const __global half *p);
13452 float16 __ovld vloada_half16(size_t offset, const __global half *p);
13453 float __ovld vloada_half(size_t offset, const __local half *p);
13454 float2 __ovld vloada_half2(size_t offset, const __local half *p);
13455 float3 __ovld vloada_half3(size_t offset, const __local half *p);
13456 float4 __ovld vloada_half4(size_t offset, const __local half *p);
13457 float8 __ovld vloada_half8(size_t offset, const __local half *p);
13458 float16 __ovld vloada_half16(size_t offset, const __local half *p);
13459 float __ovld vloada_half(size_t offset, const __private half *p);
13460 float2 __ovld vloada_half2(size_t offset, const __private half *p);
13461 float3 __ovld vloada_half3(size_t offset, const __private half *p);
13462 float4 __ovld vloada_half4(size_t offset, const __private half *p);
13463 float8 __ovld vloada_half8(size_t offset, const __private half *p);
13464 float16 __ovld vloada_half16(size_t offset, const __private half *p);
13465 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
13466
13467 /**
13468  * The floatn value given by data is converted to
13469  * a halfn value using the appropriate rounding
13470  * mode.
13471  * For n = 1, 2, 4, 8 and 16, the halfn value is
13472  * written to the address computed as (p + (offset
13473  * * n)). The address computed as (p + (offset *
13474  * n)) must be aligned to sizeof (halfn) bytes.
13475  * For n = 3, the half3 value is written to the
13476  * address computed as (p + (offset * 4)). The
13477  * address computed as (p + (offset * 4)) must be
13478  * aligned to sizeof (half) * 4 bytes.
13479  * vstorea_halfn uses the current rounding
13480  * mode. The default current rounding mode is
13481  * round to nearest even.
13482  */
13483 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
13484 void __ovld vstorea_half(float data, size_t offset, half *p);
13485 void __ovld vstorea_half2(float2 data, size_t offset, half *p);
13486 void __ovld vstorea_half3(float3 data, size_t offset, half *p);
13487 void __ovld vstorea_half4(float4 data, size_t offset, half *p);
13488 void __ovld vstorea_half8(float8 data, size_t offset, half *p);
13489 void __ovld vstorea_half16(float16 data, size_t offset, half *p);
13490
13491 void __ovld vstorea_half_rte(float data, size_t offset, half *p);
13492 void __ovld vstorea_half2_rte(float2 data, size_t offset, half *p);
13493 void __ovld vstorea_half3_rte(float3 data, size_t offset, half *p);
13494 void __ovld vstorea_half4_rte(float4 data, size_t offset, half *p);
13495 void __ovld vstorea_half8_rte(float8 data, size_t offset, half *p);
13496 void __ovld vstorea_half16_rte(float16 data, size_t offset, half *p);
13497
13498 void __ovld vstorea_half_rtz(float data, size_t offset, half *p);
13499 void __ovld vstorea_half2_rtz(float2 data, size_t offset, half *p);
13500 void __ovld vstorea_half3_rtz(float3 data, size_t offset, half *p);
13501 void __ovld vstorea_half4_rtz(float4 data, size_t offset, half *p);
13502 void __ovld vstorea_half8_rtz(float8 data, size_t offset, half *p);
13503 void __ovld vstorea_half16_rtz(float16 data, size_t offset, half *p);
13504
13505 void __ovld vstorea_half_rtp(float data, size_t offset, half *p);
13506 void __ovld vstorea_half2_rtp(float2 data, size_t offset, half *p);
13507 void __ovld vstorea_half3_rtp(float3 data, size_t offset, half *p);
13508 void __ovld vstorea_half4_rtp(float4 data, size_t offset, half *p);
13509 void __ovld vstorea_half8_rtp(float8 data, size_t offset, half *p);
13510 void __ovld vstorea_half16_rtp(float16 data, size_t offset, half *p);
13511
13512 void __ovld vstorea_half_rtn(float data, size_t offset, half *p);
13513 void __ovld vstorea_half2_rtn(float2 data, size_t offset, half *p);
13514 void __ovld vstorea_half3_rtn(float3 data, size_t offset, half *p);
13515 void __ovld vstorea_half4_rtn(float4 data, size_t offset, half *p);
13516 void __ovld vstorea_half8_rtn(float8 data, size_t offset, half *p);
13517 void __ovld vstorea_half16_rtn(float16 data, size_t offset, half *p);
13518
13519 #ifdef cl_khr_fp64
13520 void __ovld vstorea_half(double data, size_t offset, half *p);
13521 void __ovld vstorea_half2(double2 data, size_t offset, half *p);
13522 void __ovld vstorea_half3(double3 data, size_t offset, half *p);
13523 void __ovld vstorea_half4(double4 data, size_t offset, half *p);
13524 void __ovld vstorea_half8(double8 data, size_t offset, half *p);
13525 void __ovld vstorea_half16(double16 data, size_t offset, half *p);
13526
13527 void __ovld vstorea_half_rte(double data, size_t offset, half *p);
13528 void __ovld vstorea_half2_rte(double2 data, size_t offset, half *p);
13529 void __ovld vstorea_half3_rte(double3 data, size_t offset, half *p);
13530 void __ovld vstorea_half4_rte(double4 data, size_t offset, half *p);
13531 void __ovld vstorea_half8_rte(double8 data, size_t offset, half *p);
13532 void __ovld vstorea_half16_rte(double16 data, size_t offset, half *p);
13533
13534 void __ovld vstorea_half_rtz(double data, size_t offset, half *p);
13535 void __ovld vstorea_half2_rtz(double2 data, size_t offset, half *p);
13536 void __ovld vstorea_half3_rtz(double3 data, size_t offset, half *p);
13537 void __ovld vstorea_half4_rtz(double4 data, size_t offset, half *p);
13538 void __ovld vstorea_half8_rtz(double8 data, size_t offset, half *p);
13539 void __ovld vstorea_half16_rtz(double16 data, size_t offset, half *p);
13540
13541 void __ovld vstorea_half_rtp(double data, size_t offset, half *p);
13542 void __ovld vstorea_half2_rtp(double2 data, size_t offset, half *p);
13543 void __ovld vstorea_half3_rtp(double3 data, size_t offset, half *p);
13544 void __ovld vstorea_half4_rtp(double4 data, size_t offset, half *p);
13545 void __ovld vstorea_half8_rtp(double8 data, size_t offset, half *p);
13546 void __ovld vstorea_half16_rtp(double16 data, size_t offset, half *p);
13547
13548 void __ovld vstorea_half_rtn(double data, size_t offset, half *p);
13549 void __ovld vstorea_half2_rtn(double2 data, size_t offset, half *p);
13550 void __ovld vstorea_half3_rtn(double3 data, size_t offset, half *p);
13551 void __ovld vstorea_half4_rtn(double4 data, size_t offset, half *p);
13552 void __ovld vstorea_half8_rtn(double8 data, size_t offset, half *p);
13553 void __ovld vstorea_half16_rtn(double16 data, size_t offset, half *p);
13554 #endif //cl_khr_fp64
13555
13556 #else
13557 void __ovld vstorea_half(float data, size_t offset, __global half *p);
13558 void __ovld vstorea_half2(float2 data, size_t offset, __global half *p);
13559 void __ovld vstorea_half3(float3 data, size_t offset, __global half *p);
13560 void __ovld vstorea_half4(float4 data, size_t offset, __global half *p);
13561 void __ovld vstorea_half8(float8 data, size_t offset, __global half *p);
13562 void __ovld vstorea_half16(float16 data, size_t offset, __global half *p);
13563
13564 void __ovld vstorea_half_rte(float data, size_t offset, __global half *p);
13565 void __ovld vstorea_half2_rte(float2 data, size_t offset, __global half *p);
13566 void __ovld vstorea_half3_rte(float3 data, size_t offset, __global half *p);
13567 void __ovld vstorea_half4_rte(float4 data, size_t offset, __global half *p);
13568 void __ovld vstorea_half8_rte(float8 data, size_t offset, __global half *p);
13569 void __ovld vstorea_half16_rte(float16 data, size_t offset, __global half *p);
13570
13571 void __ovld vstorea_half_rtz(float data, size_t offset, __global half *p);
13572 void __ovld vstorea_half2_rtz(float2 data, size_t offset, __global half *p);
13573 void __ovld vstorea_half3_rtz(float3 data, size_t offset, __global half *p);
13574 void __ovld vstorea_half4_rtz(float4 data, size_t offset, __global half *p);
13575 void __ovld vstorea_half8_rtz(float8 data, size_t offset, __global half *p);
13576 void __ovld vstorea_half16_rtz(float16 data, size_t offset, __global half *p);
13577
13578 void __ovld vstorea_half_rtp(float data, size_t offset, __global half *p);
13579 void __ovld vstorea_half2_rtp(float2 data, size_t offset, __global half *p);
13580 void __ovld vstorea_half3_rtp(float3 data, size_t offset, __global half *p);
13581 void __ovld vstorea_half4_rtp(float4 data, size_t offset, __global half *p);
13582 void __ovld vstorea_half8_rtp(float8 data, size_t offset, __global half *p);
13583 void __ovld vstorea_half16_rtp(float16 data, size_t offset, __global half *p);
13584
13585 void __ovld vstorea_half_rtn(float data, size_t offset, __global half *p);
13586 void __ovld vstorea_half2_rtn(float2 data, size_t offset, __global half *p);
13587 void __ovld vstorea_half3_rtn(float3 data, size_t offset, __global half *p);
13588 void __ovld vstorea_half4_rtn(float4 data, size_t offset, __global half *p);
13589 void __ovld vstorea_half8_rtn(float8 data, size_t offset, __global half *p);
13590 void __ovld vstorea_half16_rtn(float16 data, size_t offset, __global half *p);
13591
13592 void __ovld vstorea_half(float data, size_t offset, __local half *p);
13593 void __ovld vstorea_half2(float2 data, size_t offset, __local half *p);
13594 void __ovld vstorea_half3(float3 data, size_t offset, __local half *p);
13595 void __ovld vstorea_half4(float4 data, size_t offset, __local half *p);
13596 void __ovld vstorea_half8(float8 data, size_t offset, __local half *p);
13597 void __ovld vstorea_half16(float16 data, size_t offset, __local half *p);
13598
13599 void __ovld vstorea_half_rte(float data, size_t offset, __local half *p);
13600 void __ovld vstorea_half2_rte(float2 data, size_t offset, __local half *p);
13601 void __ovld vstorea_half3_rte(float3 data, size_t offset, __local half *p);
13602 void __ovld vstorea_half4_rte(float4 data, size_t offset, __local half *p);
13603 void __ovld vstorea_half8_rte(float8 data, size_t offset, __local half *p);
13604 void __ovld vstorea_half16_rte(float16 data, size_t offset, __local half *p);
13605
13606 void __ovld vstorea_half_rtz(float data, size_t offset, __local half *p);
13607 void __ovld vstorea_half2_rtz(float2 data, size_t offset, __local half *p);
13608 void __ovld vstorea_half3_rtz(float3 data, size_t offset, __local half *p);
13609 void __ovld vstorea_half4_rtz(float4 data, size_t offset, __local half *p);
13610 void __ovld vstorea_half8_rtz(float8 data, size_t offset, __local half *p);
13611 void __ovld vstorea_half16_rtz(float16 data, size_t offset, __local half *p);
13612
13613 void __ovld vstorea_half_rtp(float data, size_t offset, __local half *p);
13614 void __ovld vstorea_half2_rtp(float2 data, size_t offset, __local half *p);
13615 void __ovld vstorea_half3_rtp(float3 data, size_t offset, __local half *p);
13616 void __ovld vstorea_half4_rtp(float4 data, size_t offset, __local half *p);
13617 void __ovld vstorea_half8_rtp(float8 data, size_t offset, __local half *p);
13618 void __ovld vstorea_half16_rtp(float16 data, size_t offset, __local half *p);
13619
13620 void __ovld vstorea_half_rtn(float data, size_t offset, __local half *p);
13621 void __ovld vstorea_half2_rtn(float2 data, size_t offset, __local half *p);
13622 void __ovld vstorea_half3_rtn(float3 data, size_t offset, __local half *p);
13623 void __ovld vstorea_half4_rtn(float4 data, size_t offset, __local half *p);
13624 void __ovld vstorea_half8_rtn(float8 data, size_t offset, __local half *p);
13625 void __ovld vstorea_half16_rtn(float16 data, size_t offset, __local half *p);
13626
13627 void __ovld vstorea_half(float data, size_t offset, __private half *p);
13628 void __ovld vstorea_half2(float2 data, size_t offset, __private half *p);
13629 void __ovld vstorea_half3(float3 data, size_t offset, __private half *p);
13630 void __ovld vstorea_half4(float4 data, size_t offset, __private half *p);
13631 void __ovld vstorea_half8(float8 data, size_t offset, __private half *p);
13632 void __ovld vstorea_half16(float16 data, size_t offset, __private half *p);
13633
13634 void __ovld vstorea_half_rte(float data, size_t offset, __private half *p);
13635 void __ovld vstorea_half2_rte(float2 data, size_t offset, __private half *p);
13636 void __ovld vstorea_half3_rte(float3 data, size_t offset, __private half *p);
13637 void __ovld vstorea_half4_rte(float4 data, size_t offset, __private half *p);
13638 void __ovld vstorea_half8_rte(float8 data, size_t offset, __private half *p);
13639 void __ovld vstorea_half16_rte(float16 data, size_t offset, __private half *p);
13640
13641 void __ovld vstorea_half_rtz(float data, size_t offset, __private half *p);
13642 void __ovld vstorea_half2_rtz(float2 data, size_t offset, __private half *p);
13643 void __ovld vstorea_half3_rtz(float3 data, size_t offset, __private half *p);
13644 void __ovld vstorea_half4_rtz(float4 data, size_t offset, __private half *p);
13645 void __ovld vstorea_half8_rtz(float8 data, size_t offset, __private half *p);
13646 void __ovld vstorea_half16_rtz(float16 data, size_t offset, __private half *p);
13647
13648 void __ovld vstorea_half_rtp(float data, size_t offset, __private half *p);
13649 void __ovld vstorea_half2_rtp(float2 data, size_t offset, __private half *p);
13650 void __ovld vstorea_half3_rtp(float3 data, size_t offset, __private half *p);
13651 void __ovld vstorea_half4_rtp(float4 data, size_t offset, __private half *p);
13652 void __ovld vstorea_half8_rtp(float8 data, size_t offset, __private half *p);
13653 void __ovld vstorea_half16_rtp(float16 data, size_t offset, __private half *p);
13654
13655 void __ovld vstorea_half_rtn(float data, size_t offset, __private half *p);
13656 void __ovld vstorea_half2_rtn(float2 data, size_t offset, __private half *p);
13657 void __ovld vstorea_half3_rtn(float3 data, size_t offset, __private half *p);
13658 void __ovld vstorea_half4_rtn(float4 data, size_t offset, __private half *p);
13659 void __ovld vstorea_half8_rtn(float8 data, size_t offset, __private half *p);
13660 void __ovld vstorea_half16_rtn(float16 data, size_t offset, __private half *p);
13661
13662 #ifdef cl_khr_fp64
13663 void __ovld vstorea_half(double data, size_t offset, __global half *p);
13664 void __ovld vstorea_half2(double2 data, size_t offset, __global half *p);
13665 void __ovld vstorea_half3(double3 data, size_t offset, __global half *p);
13666 void __ovld vstorea_half4(double4 data, size_t offset, __global half *p);
13667 void __ovld vstorea_half8(double8 data, size_t offset, __global half *p);
13668 void __ovld vstorea_half16(double16 data, size_t offset, __global half *p);
13669
13670 void __ovld vstorea_half_rte(double data, size_t offset, __global half *p);
13671 void __ovld vstorea_half2_rte(double2 data, size_t offset, __global half *p);
13672 void __ovld vstorea_half3_rte(double3 data, size_t offset, __global half *p);
13673 void __ovld vstorea_half4_rte(double4 data, size_t offset, __global half *p);
13674 void __ovld vstorea_half8_rte(double8 data, size_t offset, __global half *p);
13675 void __ovld vstorea_half16_rte(double16 data, size_t offset, __global half *p);
13676
13677 void __ovld vstorea_half_rtz(double data, size_t offset, __global half *p);
13678 void __ovld vstorea_half2_rtz(double2 data, size_t offset, __global half *p);
13679 void __ovld vstorea_half3_rtz(double3 data, size_t offset, __global half *p);
13680 void __ovld vstorea_half4_rtz(double4 data, size_t offset, __global half *p);
13681 void __ovld vstorea_half8_rtz(double8 data, size_t offset, __global half *p);
13682 void __ovld vstorea_half16_rtz(double16 data, size_t offset, __global half *p);
13683
13684 void __ovld vstorea_half_rtp(double data, size_t offset, __global half *p);
13685 void __ovld vstorea_half2_rtp(double2 data, size_t offset, __global half *p);
13686 void __ovld vstorea_half3_rtp(double3 data, size_t offset, __global half *p);
13687 void __ovld vstorea_half4_rtp(double4 data, size_t offset, __global half *p);
13688 void __ovld vstorea_half8_rtp(double8 data, size_t offset, __global half *p);
13689 void __ovld vstorea_half16_rtp(double16 data, size_t offset, __global half *p);
13690
13691 void __ovld vstorea_half_rtn(double data, size_t offset, __global half *p);
13692 void __ovld vstorea_half2_rtn(double2 data, size_t offset, __global half *p);
13693 void __ovld vstorea_half3_rtn(double3 data, size_t offset, __global half *p);
13694 void __ovld vstorea_half4_rtn(double4 data, size_t offset, __global half *p);
13695 void __ovld vstorea_half8_rtn(double8 data, size_t offset, __global half *p);
13696 void __ovld vstorea_half16_rtn(double16 data, size_t offset, __global half *p);
13697
13698 void __ovld vstorea_half(double data, size_t offset, __local half *p);
13699 void __ovld vstorea_half2(double2 data, size_t offset, __local half *p);
13700 void __ovld vstorea_half3(double3 data, size_t offset, __local half *p);
13701 void __ovld vstorea_half4(double4 data, size_t offset, __local half *p);
13702 void __ovld vstorea_half8(double8 data, size_t offset, __local half *p);
13703 void __ovld vstorea_half16(double16 data, size_t offset, __local half *p);
13704
13705 void __ovld vstorea_half_rte(double data, size_t offset, __local half *p);
13706 void __ovld vstorea_half2_rte(double2 data, size_t offset, __local half *p);
13707 void __ovld vstorea_half3_rte(double3 data, size_t offset, __local half *p);
13708 void __ovld vstorea_half4_rte(double4 data, size_t offset, __local half *p);
13709 void __ovld vstorea_half8_rte(double8 data, size_t offset, __local half *p);
13710 void __ovld vstorea_half16_rte(double16 data, size_t offset, __local half *p);
13711
13712 void __ovld vstorea_half_rtz(double data, size_t offset, __local half *p);
13713 void __ovld vstorea_half2_rtz(double2 data, size_t offset, __local half *p);
13714 void __ovld vstorea_half3_rtz(double3 data, size_t offset, __local half *p);
13715 void __ovld vstorea_half4_rtz(double4 data, size_t offset, __local half *p);
13716 void __ovld vstorea_half8_rtz(double8 data, size_t offset, __local half *p);
13717 void __ovld vstorea_half16_rtz(double16 data, size_t offset, __local half *p);
13718
13719 void __ovld vstorea_half_rtp(double data, size_t offset, __local half *p);
13720 void __ovld vstorea_half2_rtp(double2 data, size_t offset, __local half *p);
13721 void __ovld vstorea_half3_rtp(double3 data, size_t offset, __local half *p);
13722 void __ovld vstorea_half4_rtp(double4 data, size_t offset, __local half *p);
13723 void __ovld vstorea_half8_rtp(double8 data, size_t offset, __local half *p);
13724 void __ovld vstorea_half16_rtp(double16 data, size_t offset, __local half *p);
13725
13726 void __ovld vstorea_half_rtn(double data, size_t offset, __local half *p);
13727 void __ovld vstorea_half2_rtn(double2 data, size_t offset, __local half *p);
13728 void __ovld vstorea_half3_rtn(double3 data, size_t offset, __local half *p);
13729 void __ovld vstorea_half4_rtn(double4 data, size_t offset, __local half *p);
13730 void __ovld vstorea_half8_rtn(double8 data, size_t offset, __local half *p);
13731 void __ovld vstorea_half16_rtn(double16 data, size_t offset, __local half *p);
13732
13733 void __ovld vstorea_half(double data, size_t offset, __private half *p);
13734 void __ovld vstorea_half2(double2 data, size_t offset, __private half *p);
13735 void __ovld vstorea_half3(double3 data, size_t offset, __private half *p);
13736 void __ovld vstorea_half4(double4 data, size_t offset, __private half *p);
13737 void __ovld vstorea_half8(double8 data, size_t offset, __private half *p);
13738 void __ovld vstorea_half16(double16 data, size_t offset, __private half *p);
13739
13740 void __ovld vstorea_half_rte(double data, size_t offset, __private half *p);
13741 void __ovld vstorea_half2_rte(double2 data, size_t offset, __private half *p);
13742 void __ovld vstorea_half3_rte(double3 data, size_t offset, __private half *p);
13743 void __ovld vstorea_half4_rte(double4 data, size_t offset, __private half *p);
13744 void __ovld vstorea_half8_rte(double8 data, size_t offset, __private half *p);
13745 void __ovld vstorea_half16_rte(double16 data, size_t offset, __private half *p);
13746
13747 void __ovld vstorea_half_rtz(double data, size_t offset, __private half *p);
13748 void __ovld vstorea_half2_rtz(double2 data, size_t offset, __private half *p);
13749 void __ovld vstorea_half3_rtz(double3 data, size_t offset, __private half *p);
13750 void __ovld vstorea_half4_rtz(double4 data, size_t offset, __private half *p);
13751 void __ovld vstorea_half8_rtz(double8 data, size_t offset, __private half *p);
13752 void __ovld vstorea_half16_rtz(double16 data, size_t offset, __private half *p);
13753
13754 void __ovld vstorea_half_rtp(double data, size_t offset, __private half *p);
13755 void __ovld vstorea_half2_rtp(double2 data, size_t offset, __private half *p);
13756 void __ovld vstorea_half3_rtp(double3 data, size_t offset, __private half *p);
13757 void __ovld vstorea_half4_rtp(double4 data, size_t offset, __private half *p);
13758 void __ovld vstorea_half8_rtp(double8 data, size_t offset, __private half *p);
13759 void __ovld vstorea_half16_rtp(double16 data, size_t offset, __private half *p);
13760
13761 void __ovld vstorea_half_rtn(double data, size_t offset, __private half *p);
13762 void __ovld vstorea_half2_rtn(double2 data,size_t offset, __private half *p);
13763 void __ovld vstorea_half3_rtn(double3 data,size_t offset, __private half *p);
13764 void __ovld vstorea_half4_rtn(double4 data,size_t offset, __private half *p);
13765 void __ovld vstorea_half8_rtn(double8 data,size_t offset, __private half *p);
13766 void __ovld vstorea_half16_rtn(double16 data,size_t offset, __private half *p);
13767 #endif //cl_khr_fp64
13768 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
13769
13770 // OpenCL v1.1 s6.11.8, v1.2 s6.12.8, v2.0 s6.13.8 - Synchronization Functions
13771
13772 // Flag type and values for barrier, mem_fence, read_mem_fence, write_mem_fence
13773 typedef uint cl_mem_fence_flags;
13774
13775 /**
13776  * Queue a memory fence to ensure correct
13777  * ordering of memory operations to local memory
13778  */
13779 #define CLK_LOCAL_MEM_FENCE    0x01
13780
13781 /**
13782  * Queue a memory fence to ensure correct
13783  * ordering of memory operations to global memory
13784  */
13785 #define CLK_GLOBAL_MEM_FENCE   0x02
13786
13787 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
13788 /**
13789  * Queue a memory fence to ensure correct ordering of memory
13790  * operations between work-items of a work-group to
13791  * image memory.
13792  */
13793 #define CLK_IMAGE_MEM_FENCE  0x04
13794 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
13795
13796 /**
13797  * All work-items in a work-group executing the kernel
13798  * on a processor must execute this function before any
13799  * are allowed to continue execution beyond the barrier.
13800  * This function must be encountered by all work-items in
13801  * a work-group executing the kernel.
13802  * If barrier is inside a conditional statement, then all
13803  * work-items must enter the conditional if any work-item
13804  * enters the conditional statement and executes the
13805  * barrier.
13806  * If barrer is inside a loop, all work-items must execute
13807  * the barrier for each iteration of the loop before any are
13808  * allowed to continue execution beyond the barrier.
13809  * The barrier function also queues a memory fence
13810  * (reads and writes) to ensure correct ordering of
13811  * memory operations to local or global memory.
13812  * The flags argument specifies the memory address space
13813  * and can be set to a combination of the following literal
13814  * values.
13815  * CLK_LOCAL_MEM_FENCE - The barrier function
13816  * will either flush any variables stored in local memory
13817  * or queue a memory fence to ensure correct ordering of
13818  * memory operations to local memory.
13819  * CLK_GLOBAL_MEM_FENCE - The barrier function
13820  * will queue a memory fence to ensure correct ordering
13821  * of memory operations to global memory. This can be
13822  * useful when work-items, for example, write to buffer or
13823  * image objects and then want to read the updated data.
13824  */
13825
13826 void __ovld __conv barrier(cl_mem_fence_flags flags);
13827
13828 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
13829
13830 typedef enum memory_scope
13831 {
13832   memory_scope_work_item,
13833   memory_scope_work_group,
13834   memory_scope_device,
13835   memory_scope_all_svm_devices,
13836   memory_scope_sub_group
13837 } memory_scope;
13838
13839 void __ovld __conv work_group_barrier(cl_mem_fence_flags flags, memory_scope scope);
13840 void __ovld __conv work_group_barrier(cl_mem_fence_flags flags);
13841 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
13842
13843 // OpenCL v1.1 s6.11.9, v1.2 s6.12.9 - Explicit Memory Fence Functions
13844
13845 /**
13846  * Orders loads and stores of a work-item
13847  * executing a kernel. This means that loads
13848  * and stores preceding the mem_fence will
13849  * be committed to memory before any loads
13850  * and stores following the mem_fence.
13851  * The flags argument specifies the memory
13852  * address space and can be set to a
13853  * combination of the following literal
13854  * values:
13855  * CLK_LOCAL_MEM_FENCE
13856  * CLK_GLOBAL_MEM_FENCE.
13857  */
13858 void __ovld mem_fence(cl_mem_fence_flags flags);
13859
13860 /**
13861  * Read memory barrier that orders only
13862  * loads.
13863  * The flags argument specifies the memory
13864  * address space and can be set to to a
13865  * combination of the following literal
13866  * values:
13867  * CLK_LOCAL_MEM_FENCE
13868  * CLK_GLOBAL_MEM_FENCE.
13869  */
13870 void __ovld read_mem_fence(cl_mem_fence_flags flags);
13871
13872 /**
13873  * Write memory barrier that orders only
13874  * stores.
13875  * The flags argument specifies the memory
13876  * address space and can be set to to a
13877  * combination of the following literal
13878  * values:
13879  * CLK_LOCAL_MEM_FENCE
13880  * CLK_GLOBAL_MEM_FENCE.
13881  */
13882 void __ovld write_mem_fence(cl_mem_fence_flags flags);
13883
13884 // OpenCL v2.0 s6.13.9 - Address Space Qualifier Functions
13885
13886 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
13887 cl_mem_fence_flags __ovld get_fence(const void *ptr);
13888 cl_mem_fence_flags __ovld get_fence(void *ptr);
13889
13890 /** 
13891  * Builtin functions to_global, to_local, and to_private need to be declared as Clang builtin functions
13892  * and checked in Sema since they should be declared as
13893  *   addr gentype* to_addr (gentype*);
13894  * where gentype is builtin type or user defined type.
13895  */
13896
13897 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
13898
13899 // 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
13900
13901 /**
13902  * event_t async_work_group_copy (
13903  * __global gentype *dst,
13904  * const __local gentype *src,
13905  * size_t num_elements,
13906  * event_t event)
13907  * Perform an async copy of num_elements
13908  * gentype elements from src to dst. The async
13909  * copy is performed by all work-items in a workgroup
13910  * and this built-in function must therefore
13911  * be encountered by all work-items in a workgroup
13912  * executing the kernel with the same
13913  * argument values; otherwise the results are
13914  * undefined.
13915  * Returns an event object that can be used by
13916  * wait_group_events to wait for the async copy
13917  * to finish. The event argument can also be used
13918  * to associate the async_work_group_copy with
13919  * a previous async copy allowing an event to be
13920  * shared by multiple async copies; otherwise event
13921  * should be zero.
13922  * If event argument is non-zero, the event object
13923  * supplied in event argument will be returned.
13924  * This function does not perform any implicit
13925  * synchronization of source data such as using a
13926  * barrier before performing the copy.
13927  */
13928 event_t __ovld async_work_group_copy(__local char *dst, const __global char *src, size_t num_elements, event_t event);
13929 event_t __ovld async_work_group_copy(__local uchar *dst, const __global uchar *src, size_t num_elements, event_t event);
13930 event_t __ovld async_work_group_copy(__local short *dst, const __global short *src, size_t num_elements, event_t event);
13931 event_t __ovld async_work_group_copy(__local ushort *dst, const __global ushort *src, size_t num_elements, event_t event);
13932 event_t __ovld async_work_group_copy(__local int *dst, const __global int *src, size_t num_elements, event_t event);
13933 event_t __ovld async_work_group_copy(__local uint *dst, const __global uint *src, size_t num_elements, event_t event);
13934 event_t __ovld async_work_group_copy(__local long *dst, const __global long *src, size_t num_elements, event_t event);
13935 event_t __ovld async_work_group_copy(__local ulong *dst, const __global ulong *src, size_t num_elements, event_t event);
13936 event_t __ovld async_work_group_copy(__local float *dst, const __global float *src, size_t num_elements, event_t event);
13937 event_t __ovld async_work_group_copy(__local char2 *dst, const __global char2 *src, size_t num_elements, event_t event);
13938 event_t __ovld async_work_group_copy(__local uchar2 *dst, const __global uchar2 *src, size_t num_elements, event_t event);
13939 event_t __ovld async_work_group_copy(__local short2 *dst, const __global short2 *src, size_t num_elements, event_t event);
13940 event_t __ovld async_work_group_copy(__local ushort2 *dst, const __global ushort2 *src, size_t num_elements, event_t event);
13941 event_t __ovld async_work_group_copy(__local int2 *dst, const __global int2 *src, size_t num_elements, event_t event);
13942 event_t __ovld async_work_group_copy(__local uint2 *dst, const __global uint2 *src, size_t num_elements, event_t event);
13943 event_t __ovld async_work_group_copy(__local long2 *dst, const __global long2 *src, size_t num_elements, event_t event);
13944 event_t __ovld async_work_group_copy(__local ulong2 *dst, const __global ulong2 *src, size_t num_elements, event_t event);
13945 event_t __ovld async_work_group_copy(__local float2 *dst, const __global float2 *src, size_t num_elements, event_t event);
13946 event_t __ovld async_work_group_copy(__local char3 *dst, const __global char3 *src, size_t num_elements, event_t event);
13947 event_t __ovld async_work_group_copy(__local uchar3 *dst, const __global uchar3 *src, size_t num_elements, event_t event);
13948 event_t __ovld async_work_group_copy(__local short3 *dst, const __global short3 *src, size_t num_elements, event_t event);
13949 event_t __ovld async_work_group_copy(__local ushort3 *dst, const __global ushort3 *src, size_t num_elements, event_t event);
13950 event_t __ovld async_work_group_copy(__local int3 *dst, const __global int3 *src, size_t num_elements, event_t event);
13951 event_t __ovld async_work_group_copy(__local uint3 *dst, const __global uint3 *src, size_t num_elements, event_t event);
13952 event_t __ovld async_work_group_copy(__local long3 *dst, const __global long3 *src, size_t num_elements, event_t event);
13953 event_t __ovld async_work_group_copy(__local ulong3 *dst, const __global ulong3 *src, size_t num_elements, event_t event);
13954 event_t __ovld async_work_group_copy(__local float3 *dst, const __global float3 *src, size_t num_elements, event_t event);
13955 event_t __ovld async_work_group_copy(__local char4 *dst, const __global char4 *src, size_t num_elements, event_t event);
13956 event_t __ovld async_work_group_copy(__local uchar4 *dst, const __global uchar4 *src, size_t num_elements, event_t event);
13957 event_t __ovld async_work_group_copy(__local short4 *dst, const __global short4 *src, size_t num_elements, event_t event);
13958 event_t __ovld async_work_group_copy(__local ushort4 *dst, const __global ushort4 *src, size_t num_elements, event_t event);
13959 event_t __ovld async_work_group_copy(__local int4 *dst, const __global int4 *src, size_t num_elements, event_t event);
13960 event_t __ovld async_work_group_copy(__local uint4 *dst, const __global uint4 *src, size_t num_elements, event_t event);
13961 event_t __ovld async_work_group_copy(__local long4 *dst, const __global long4 *src, size_t num_elements, event_t event);
13962 event_t __ovld async_work_group_copy(__local ulong4 *dst, const __global ulong4 *src, size_t num_elements, event_t event);
13963 event_t __ovld async_work_group_copy(__local float4 *dst, const __global float4 *src, size_t num_elements, event_t event);
13964 event_t __ovld async_work_group_copy(__local char8 *dst, const __global char8 *src, size_t num_elements, event_t event);
13965 event_t __ovld async_work_group_copy(__local uchar8 *dst, const __global uchar8 *src, size_t num_elements, event_t event);
13966 event_t __ovld async_work_group_copy(__local short8 *dst, const __global short8 *src, size_t num_elements, event_t event);
13967 event_t __ovld async_work_group_copy(__local ushort8 *dst, const __global ushort8 *src, size_t num_elements, event_t event);
13968 event_t __ovld async_work_group_copy(__local int8 *dst, const __global int8 *src, size_t num_elements, event_t event);
13969 event_t __ovld async_work_group_copy(__local uint8 *dst, const __global uint8 *src, size_t num_elements, event_t event);
13970 event_t __ovld async_work_group_copy(__local long8 *dst, const __global long8 *src, size_t num_elements, event_t event);
13971 event_t __ovld async_work_group_copy(__local ulong8 *dst, const __global ulong8 *src, size_t num_elements, event_t event);
13972 event_t __ovld async_work_group_copy(__local float8 *dst, const __global float8 *src, size_t num_elements, event_t event);
13973 event_t __ovld async_work_group_copy(__local char16 *dst, const __global char16 *src, size_t num_elements, event_t event);
13974 event_t __ovld async_work_group_copy(__local uchar16 *dst, const __global uchar16 *src, size_t num_elements, event_t event);
13975 event_t __ovld async_work_group_copy(__local short16 *dst, const __global short16 *src, size_t num_elements, event_t event);
13976 event_t __ovld async_work_group_copy(__local ushort16 *dst, const __global ushort16 *src, size_t num_elements, event_t event);
13977 event_t __ovld async_work_group_copy(__local int16 *dst, const __global int16 *src, size_t num_elements, event_t event);
13978 event_t __ovld async_work_group_copy(__local uint16 *dst, const __global uint16 *src, size_t num_elements, event_t event);
13979 event_t __ovld async_work_group_copy(__local long16 *dst, const __global long16 *src, size_t num_elements, event_t event);
13980 event_t __ovld async_work_group_copy(__local ulong16 *dst, const __global ulong16 *src, size_t num_elements, event_t event);
13981 event_t __ovld async_work_group_copy(__local float16 *dst, const __global float16 *src, size_t num_elements, event_t event);
13982 event_t __ovld async_work_group_copy(__global char *dst, const __local char *src, size_t num_elements, event_t event);
13983 event_t __ovld async_work_group_copy(__global uchar *dst, const __local uchar *src, size_t num_elements, event_t event);
13984 event_t __ovld async_work_group_copy(__global short *dst, const __local short *src, size_t num_elements, event_t event);
13985 event_t __ovld async_work_group_copy(__global ushort *dst, const __local ushort *src, size_t num_elements, event_t event);
13986 event_t __ovld async_work_group_copy(__global int *dst, const __local int *src, size_t num_elements, event_t event);
13987 event_t __ovld async_work_group_copy(__global uint *dst, const __local uint *src, size_t num_elements, event_t event);
13988 event_t __ovld async_work_group_copy(__global long *dst, const __local long *src, size_t num_elements, event_t event);
13989 event_t __ovld async_work_group_copy(__global ulong *dst, const __local ulong *src, size_t num_elements, event_t event);
13990 event_t __ovld async_work_group_copy(__global float *dst, const __local float *src, size_t num_elements, event_t event);
13991 event_t __ovld async_work_group_copy(__global char2 *dst, const __local char2 *src, size_t num_elements, event_t event);
13992 event_t __ovld async_work_group_copy(__global uchar2 *dst, const __local uchar2 *src, size_t num_elements, event_t event);
13993 event_t __ovld async_work_group_copy(__global short2 *dst, const __local short2 *src, size_t num_elements, event_t event);
13994 event_t __ovld async_work_group_copy(__global ushort2 *dst, const __local ushort2 *src, size_t num_elements, event_t event);
13995 event_t __ovld async_work_group_copy(__global int2 *dst, const __local int2 *src, size_t num_elements, event_t event);
13996 event_t __ovld async_work_group_copy(__global uint2 *dst, const __local uint2 *src, size_t num_elements, event_t event);
13997 event_t __ovld async_work_group_copy(__global long2 *dst, const __local long2 *src, size_t num_elements, event_t event);
13998 event_t __ovld async_work_group_copy(__global ulong2 *dst, const __local ulong2 *src, size_t num_elements, event_t event);
13999 event_t __ovld async_work_group_copy(__global float2 *dst, const __local float2 *src, size_t num_elements, event_t event);
14000 event_t __ovld async_work_group_copy(__global char3 *dst, const __local char3 *src, size_t num_elements, event_t event);
14001 event_t __ovld async_work_group_copy(__global uchar3 *dst, const __local uchar3 *src, size_t num_elements, event_t event);
14002 event_t __ovld async_work_group_copy(__global short3 *dst, const __local short3 *src, size_t num_elements, event_t event);
14003 event_t __ovld async_work_group_copy(__global ushort3 *dst, const __local ushort3 *src, size_t num_elements, event_t event);
14004 event_t __ovld async_work_group_copy(__global int3 *dst, const __local int3 *src, size_t num_elements, event_t event);
14005 event_t __ovld async_work_group_copy(__global uint3 *dst, const __local uint3 *src, size_t num_elements, event_t event);
14006 event_t __ovld async_work_group_copy(__global long3 *dst, const __local long3 *src, size_t num_elements, event_t event);
14007 event_t __ovld async_work_group_copy(__global ulong3 *dst, const __local ulong3 *src, size_t num_elements, event_t event);
14008 event_t __ovld async_work_group_copy(__global float3 *dst, const __local float3 *src, size_t num_elements, event_t event);
14009 event_t __ovld async_work_group_copy(__global char4 *dst, const __local char4 *src, size_t num_elements, event_t event);
14010 event_t __ovld async_work_group_copy(__global uchar4 *dst, const __local uchar4 *src, size_t num_elements, event_t event);
14011 event_t __ovld async_work_group_copy(__global short4 *dst, const __local short4 *src, size_t num_elements, event_t event);
14012 event_t __ovld async_work_group_copy(__global ushort4 *dst, const __local ushort4 *src, size_t num_elements, event_t event);
14013 event_t __ovld async_work_group_copy(__global int4 *dst, const __local int4 *src, size_t num_elements, event_t event);
14014 event_t __ovld async_work_group_copy(__global uint4 *dst, const __local uint4 *src, size_t num_elements, event_t event);
14015 event_t __ovld async_work_group_copy(__global long4 *dst, const __local long4 *src, size_t num_elements, event_t event);
14016 event_t __ovld async_work_group_copy(__global ulong4 *dst, const __local ulong4 *src, size_t num_elements, event_t event);
14017 event_t __ovld async_work_group_copy(__global float4 *dst, const __local float4 *src, size_t num_elements, event_t event);
14018 event_t __ovld async_work_group_copy(__global char8 *dst, const __local char8 *src, size_t num_elements, event_t event);
14019 event_t __ovld async_work_group_copy(__global uchar8 *dst, const __local uchar8 *src, size_t num_elements, event_t event);
14020 event_t __ovld async_work_group_copy(__global short8 *dst, const __local short8 *src, size_t num_elements, event_t event);
14021 event_t __ovld async_work_group_copy(__global ushort8 *dst, const __local ushort8 *src, size_t num_elements, event_t event);
14022 event_t __ovld async_work_group_copy(__global int8 *dst, const __local int8 *src, size_t num_elements, event_t event);
14023 event_t __ovld async_work_group_copy(__global uint8 *dst, const __local uint8 *src, size_t num_elements, event_t event);
14024 event_t __ovld async_work_group_copy(__global long8 *dst, const __local long8 *src, size_t num_elements, event_t event);
14025 event_t __ovld async_work_group_copy(__global ulong8 *dst, const __local ulong8 *src, size_t num_elements, event_t event);
14026 event_t __ovld async_work_group_copy(__global float8 *dst, const __local float8 *src, size_t num_elements, event_t event);
14027 event_t __ovld async_work_group_copy(__global char16 *dst, const __local char16 *src, size_t num_elements, event_t event);
14028 event_t __ovld async_work_group_copy(__global uchar16 *dst, const __local uchar16 *src, size_t num_elements, event_t event);
14029 event_t __ovld async_work_group_copy(__global short16 *dst, const __local short16 *src, size_t num_elements, event_t event);
14030 event_t __ovld async_work_group_copy(__global ushort16 *dst, const __local ushort16 *src, size_t num_elements, event_t event);
14031 event_t __ovld async_work_group_copy(__global int16 *dst, const __local int16 *src, size_t num_elements, event_t event);
14032 event_t __ovld async_work_group_copy(__global uint16 *dst, const __local uint16 *src, size_t num_elements, event_t event);
14033 event_t __ovld async_work_group_copy(__global long16 *dst, const __local long16 *src, size_t num_elements, event_t event);
14034 event_t __ovld async_work_group_copy(__global ulong16 *dst, const __local ulong16 *src, size_t num_elements, event_t event);
14035 event_t __ovld async_work_group_copy(__global float16 *dst, const __local float16 *src, size_t num_elements, event_t event);
14036 #ifdef cl_khr_fp64
14037 event_t __ovld async_work_group_copy(__local double *dst, const __global double *src, size_t num_elements, event_t event);
14038 event_t __ovld async_work_group_copy(__local double2 *dst, const __global double2 *src, size_t num_elements, event_t event);
14039 event_t __ovld async_work_group_copy(__local double3 *dst, const __global double3 *src, size_t num_elements, event_t event);
14040 event_t __ovld async_work_group_copy(__local double4 *dst, const __global double4 *src, size_t num_elements, event_t event);
14041 event_t __ovld async_work_group_copy(__local double8 *dst, const __global double8 *src, size_t num_elements, event_t event);
14042 event_t __ovld async_work_group_copy(__local double16 *dst, const __global double16 *src, size_t num_elements, event_t event);
14043 event_t __ovld async_work_group_copy(__global double *dst, const __local double *src, size_t num_elements, event_t event);
14044 event_t __ovld async_work_group_copy(__global double2 *dst, const __local double2 *src, size_t num_elements, event_t event);
14045 event_t __ovld async_work_group_copy(__global double3 *dst, const __local double3 *src, size_t num_elements, event_t event);
14046 event_t __ovld async_work_group_copy(__global double4 *dst, const __local double4 *src, size_t num_elements, event_t event);
14047 event_t __ovld async_work_group_copy(__global double8 *dst, const __local double8 *src, size_t num_elements, event_t event);
14048 event_t __ovld async_work_group_copy(__global double16 *dst, const __local double16 *src, size_t num_elements, event_t event);
14049 #endif //cl_khr_fp64
14050 #ifdef cl_khr_fp16
14051 event_t __ovld async_work_group_copy(__local half *dst, const __global half *src, size_t num_elements, event_t event);
14052 event_t __ovld async_work_group_copy(__local half2 *dst, const __global half2 *src, size_t num_elements, event_t event);
14053 event_t __ovld async_work_group_copy(__local half3 *dst, const __global half3 *src, size_t num_elements, event_t event);
14054 event_t __ovld async_work_group_copy(__local half4 *dst, const __global half4 *src, size_t num_elements, event_t event);
14055 event_t __ovld async_work_group_copy(__local half8 *dst, const __global half8 *src, size_t num_elements, event_t event);
14056 event_t __ovld async_work_group_copy(__local half16 *dst, const __global half16 *src, size_t num_elements, event_t event);
14057 event_t __ovld async_work_group_copy(__global half *dst, const __local half *src, size_t num_elements, event_t event);
14058 event_t __ovld async_work_group_copy(__global half2 *dst, const __local half2 *src, size_t num_elements, event_t event);
14059 event_t __ovld async_work_group_copy(__global half3 *dst, const __local half3 *src, size_t num_elements, event_t event);
14060 event_t __ovld async_work_group_copy(__global half4 *dst, const __local half4 *src, size_t num_elements, event_t event);
14061 event_t __ovld async_work_group_copy(__global half8 *dst, const __local half8 *src, size_t num_elements, event_t event);
14062 event_t __ovld async_work_group_copy(__global half16 *dst, const __local half16 *src, size_t num_elements, event_t event);
14063 #endif //cl_khr_fp16
14064
14065 /**
14066  * Perform an async gather of num_elements
14067  * gentype elements from src to dst. The
14068  * src_stride is the stride in elements for each
14069  * gentype element read from src. The dst_stride
14070  * is the stride in elements for each gentype
14071  * element written to dst. The async gather is
14072  * performed by all work-items in a work-group.
14073  * This built-in function must therefore be
14074  * encountered by all work-items in a work-group
14075  * executing the kernel with the same argument
14076  * values; otherwise the results are undefined.
14077  * Returns an event object that can be used by
14078  * wait_group_events to wait for the async copy
14079  * to finish. The event argument can also be used
14080  * to associate the
14081  * async_work_group_strided_copy with a
14082  * previous async copy allowing an event to be
14083  * shared by multiple async copies; otherwise event
14084  * should be zero.
14085  * If event argument is non-zero, the event object
14086  * supplied in event argument will be returned.
14087  * This function does not perform any implicit
14088  * synchronization of source data such as using a
14089  * barrier before performing the copy.
14090  */
14091 event_t __ovld async_work_group_strided_copy(__local char *dst, const __global char *src, size_t num_elements, size_t src_stride, event_t event);
14092 event_t __ovld async_work_group_strided_copy(__local uchar *dst, const __global uchar *src, size_t num_elements, size_t src_stride, event_t event);
14093 event_t __ovld async_work_group_strided_copy(__local short *dst, const __global short *src, size_t num_elements, size_t src_stride, event_t event);
14094 event_t __ovld async_work_group_strided_copy(__local ushort *dst, const __global ushort *src, size_t num_elements, size_t src_stride, event_t event);
14095 event_t __ovld async_work_group_strided_copy(__local int *dst, const __global int *src, size_t num_elements, size_t src_stride, event_t event);
14096 event_t __ovld async_work_group_strided_copy(__local uint *dst, const __global uint *src, size_t num_elements, size_t src_stride, event_t event);
14097 event_t __ovld async_work_group_strided_copy(__local long *dst, const __global long *src, size_t num_elements, size_t src_stride, event_t event);
14098 event_t __ovld async_work_group_strided_copy(__local ulong *dst, const __global ulong *src, size_t num_elements, size_t src_stride, event_t event);
14099 event_t __ovld async_work_group_strided_copy(__local float *dst, const __global float *src, size_t num_elements, size_t src_stride, event_t event);
14100 event_t __ovld async_work_group_strided_copy(__local char2 *dst, const __global char2 *src, size_t num_elements, size_t src_stride, event_t event);
14101 event_t __ovld async_work_group_strided_copy(__local uchar2 *dst, const __global uchar2 *src, size_t num_elements, size_t src_stride, event_t event);
14102 event_t __ovld async_work_group_strided_copy(__local short2 *dst, const __global short2 *src, size_t num_elements, size_t src_stride, event_t event);
14103 event_t __ovld async_work_group_strided_copy(__local ushort2 *dst, const __global ushort2 *src, size_t num_elements, size_t src_stride, event_t event);
14104 event_t __ovld async_work_group_strided_copy(__local int2 *dst, const __global int2 *src, size_t num_elements, size_t src_stride, event_t event);
14105 event_t __ovld async_work_group_strided_copy(__local uint2 *dst, const __global uint2 *src, size_t num_elements, size_t src_stride, event_t event);
14106 event_t __ovld async_work_group_strided_copy(__local long2 *dst, const __global long2 *src, size_t num_elements, size_t src_stride, event_t event);
14107 event_t __ovld async_work_group_strided_copy(__local ulong2 *dst, const __global ulong2 *src, size_t num_elements, size_t src_stride, event_t event);
14108 event_t __ovld async_work_group_strided_copy(__local float2 *dst, const __global float2 *src, size_t num_elements, size_t src_stride, event_t event);
14109 event_t __ovld async_work_group_strided_copy(__local char3 *dst, const __global char3 *src, size_t num_elements, size_t src_stride, event_t event);
14110 event_t __ovld async_work_group_strided_copy(__local uchar3 *dst, const __global uchar3 *src, size_t num_elements, size_t src_stride, event_t event);
14111 event_t __ovld async_work_group_strided_copy(__local short3 *dst, const __global short3 *src, size_t num_elements, size_t src_stride, event_t event);
14112 event_t __ovld async_work_group_strided_copy(__local ushort3 *dst, const __global ushort3 *src, size_t num_elements, size_t src_stride, event_t event);
14113 event_t __ovld async_work_group_strided_copy(__local int3 *dst, const __global int3 *src, size_t num_elements, size_t src_stride, event_t event);
14114 event_t __ovld async_work_group_strided_copy(__local uint3 *dst, const __global uint3 *src, size_t num_elements, size_t src_stride, event_t event);
14115 event_t __ovld async_work_group_strided_copy(__local long3 *dst, const __global long3 *src, size_t num_elements, size_t src_stride, event_t event);
14116 event_t __ovld async_work_group_strided_copy(__local ulong3 *dst, const __global ulong3 *src, size_t num_elements, size_t src_stride, event_t event);
14117 event_t __ovld async_work_group_strided_copy(__local float3 *dst, const __global float3 *src, size_t num_elements, size_t src_stride, event_t event);
14118 event_t __ovld async_work_group_strided_copy(__local char4 *dst, const __global char4 *src, size_t num_elements, size_t src_stride, event_t event);
14119 event_t __ovld async_work_group_strided_copy(__local uchar4 *dst, const __global uchar4 *src, size_t num_elements, size_t src_stride, event_t event);
14120 event_t __ovld async_work_group_strided_copy(__local short4 *dst, const __global short4 *src, size_t num_elements, size_t src_stride, event_t event);
14121 event_t __ovld async_work_group_strided_copy(__local ushort4 *dst, const __global ushort4 *src, size_t num_elements, size_t src_stride, event_t event);
14122 event_t __ovld async_work_group_strided_copy(__local int4 *dst, const __global int4 *src, size_t num_elements, size_t src_stride, event_t event);
14123 event_t __ovld async_work_group_strided_copy(__local uint4 *dst, const __global uint4 *src, size_t num_elements, size_t src_stride, event_t event);
14124 event_t __ovld async_work_group_strided_copy(__local long4 *dst, const __global long4 *src, size_t num_elements, size_t src_stride, event_t event);
14125 event_t __ovld async_work_group_strided_copy(__local ulong4 *dst, const __global ulong4 *src, size_t num_elements, size_t src_stride, event_t event);
14126 event_t __ovld async_work_group_strided_copy(__local float4 *dst, const __global float4 *src, size_t num_elements, size_t src_stride, event_t event);
14127 event_t __ovld async_work_group_strided_copy(__local char8 *dst, const __global char8 *src, size_t num_elements, size_t src_stride, event_t event);
14128 event_t __ovld async_work_group_strided_copy(__local uchar8 *dst, const __global uchar8 *src, size_t num_elements, size_t src_stride, event_t event);
14129 event_t __ovld async_work_group_strided_copy(__local short8 *dst, const __global short8 *src, size_t num_elements, size_t src_stride, event_t event);
14130 event_t __ovld async_work_group_strided_copy(__local ushort8 *dst, const __global ushort8 *src, size_t num_elements, size_t src_stride, event_t event);
14131 event_t __ovld async_work_group_strided_copy(__local int8 *dst, const __global int8 *src, size_t num_elements, size_t src_stride, event_t event);
14132 event_t __ovld async_work_group_strided_copy(__local uint8 *dst, const __global uint8 *src, size_t num_elements, size_t src_stride, event_t event);
14133 event_t __ovld async_work_group_strided_copy(__local long8 *dst, const __global long8 *src, size_t num_elements, size_t src_stride, event_t event);
14134 event_t __ovld async_work_group_strided_copy(__local ulong8 *dst, const __global ulong8 *src, size_t num_elements, size_t src_stride, event_t event);
14135 event_t __ovld async_work_group_strided_copy(__local float8 *dst, const __global float8 *src, size_t num_elements, size_t src_stride, event_t event);
14136 event_t __ovld async_work_group_strided_copy(__local char16 *dst, const __global char16 *src, size_t num_elements, size_t src_stride, event_t event);
14137 event_t __ovld async_work_group_strided_copy(__local uchar16 *dst, const __global uchar16 *src, size_t num_elements, size_t src_stride, event_t event);
14138 event_t __ovld async_work_group_strided_copy(__local short16 *dst, const __global short16 *src, size_t num_elements, size_t src_stride, event_t event);
14139 event_t __ovld async_work_group_strided_copy(__local ushort16 *dst, const __global ushort16 *src, size_t num_elements, size_t src_stride, event_t event);
14140 event_t __ovld async_work_group_strided_copy(__local int16 *dst, const __global int16 *src, size_t num_elements, size_t src_stride, event_t event);
14141 event_t __ovld async_work_group_strided_copy(__local uint16 *dst, const __global uint16 *src, size_t num_elements, size_t src_stride, event_t event);
14142 event_t __ovld async_work_group_strided_copy(__local long16 *dst, const __global long16 *src, size_t num_elements, size_t src_stride, event_t event);
14143 event_t __ovld async_work_group_strided_copy(__local ulong16 *dst, const __global ulong16 *src, size_t num_elements, size_t src_stride, event_t event);
14144 event_t __ovld async_work_group_strided_copy(__local float16 *dst, const __global float16 *src, size_t num_elements, size_t src_stride, event_t event);
14145 event_t __ovld async_work_group_strided_copy(__global char *dst, const __local char *src, size_t num_elements, size_t dst_stride, event_t event);
14146 event_t __ovld async_work_group_strided_copy(__global uchar *dst, const __local uchar *src, size_t num_elements, size_t dst_stride, event_t event);
14147 event_t __ovld async_work_group_strided_copy(__global short *dst, const __local short *src, size_t num_elements, size_t dst_stride, event_t event);
14148 event_t __ovld async_work_group_strided_copy(__global ushort *dst, const __local ushort *src, size_t num_elements, size_t dst_stride, event_t event);
14149 event_t __ovld async_work_group_strided_copy(__global int *dst, const __local int *src, size_t num_elements, size_t dst_stride, event_t event);
14150 event_t __ovld async_work_group_strided_copy(__global uint *dst, const __local uint *src, size_t num_elements, size_t dst_stride, event_t event);
14151 event_t __ovld async_work_group_strided_copy(__global long *dst, const __local long *src, size_t num_elements, size_t dst_stride, event_t event);
14152 event_t __ovld async_work_group_strided_copy(__global ulong *dst, const __local ulong *src, size_t num_elements, size_t dst_stride, event_t event);
14153 event_t __ovld async_work_group_strided_copy(__global float *dst, const __local float *src, size_t num_elements, size_t dst_stride, event_t event);
14154 event_t __ovld async_work_group_strided_copy(__global char2 *dst, const __local char2 *src, size_t num_elements, size_t dst_stride, event_t event);
14155 event_t __ovld async_work_group_strided_copy(__global uchar2 *dst, const __local uchar2 *src, size_t num_elements, size_t dst_stride, event_t event);
14156 event_t __ovld async_work_group_strided_copy(__global short2 *dst, const __local short2 *src, size_t num_elements, size_t dst_stride, event_t event);
14157 event_t __ovld async_work_group_strided_copy(__global ushort2 *dst, const __local ushort2 *src, size_t num_elements, size_t dst_stride, event_t event);
14158 event_t __ovld async_work_group_strided_copy(__global int2 *dst, const __local int2 *src, size_t num_elements, size_t dst_stride, event_t event);
14159 event_t __ovld async_work_group_strided_copy(__global uint2 *dst, const __local uint2 *src, size_t num_elements, size_t dst_stride, event_t event);
14160 event_t __ovld async_work_group_strided_copy(__global long2 *dst, const __local long2 *src, size_t num_elements, size_t dst_stride, event_t event);
14161 event_t __ovld async_work_group_strided_copy(__global ulong2 *dst, const __local ulong2 *src, size_t num_elements, size_t dst_stride, event_t event);
14162 event_t __ovld async_work_group_strided_copy(__global float2 *dst, const __local float2 *src, size_t num_elements, size_t dst_stride, event_t event);
14163 event_t __ovld async_work_group_strided_copy(__global char3 *dst, const __local char3 *src, size_t num_elements, size_t dst_stride, event_t event);
14164 event_t __ovld async_work_group_strided_copy(__global uchar3 *dst, const __local uchar3 *src, size_t num_elements, size_t dst_stride, event_t event);
14165 event_t __ovld async_work_group_strided_copy(__global short3 *dst, const __local short3 *src, size_t num_elements, size_t dst_stride, event_t event);
14166 event_t __ovld async_work_group_strided_copy(__global ushort3 *dst, const __local ushort3 *src, size_t num_elements, size_t dst_stride, event_t event);
14167 event_t __ovld async_work_group_strided_copy(__global int3 *dst, const __local int3 *src, size_t num_elements, size_t dst_stride, event_t event);
14168 event_t __ovld async_work_group_strided_copy(__global uint3 *dst, const __local uint3 *src, size_t num_elements, size_t dst_stride, event_t event);
14169 event_t __ovld async_work_group_strided_copy(__global long3 *dst, const __local long3 *src, size_t num_elements, size_t dst_stride, event_t event);
14170 event_t __ovld async_work_group_strided_copy(__global ulong3 *dst, const __local ulong3 *src, size_t num_elements, size_t dst_stride, event_t event);
14171 event_t __ovld async_work_group_strided_copy(__global float3 *dst, const __local float3 *src, size_t num_elements, size_t dst_stride, event_t event);
14172 event_t __ovld async_work_group_strided_copy(__global char4 *dst, const __local char4 *src, size_t num_elements, size_t dst_stride, event_t event);
14173 event_t __ovld async_work_group_strided_copy(__global uchar4 *dst, const __local uchar4 *src, size_t num_elements, size_t dst_stride, event_t event);
14174 event_t __ovld async_work_group_strided_copy(__global short4 *dst, const __local short4 *src, size_t num_elements, size_t dst_stride, event_t event);
14175 event_t __ovld async_work_group_strided_copy(__global ushort4 *dst, const __local ushort4 *src, size_t num_elements, size_t dst_stride, event_t event);
14176 event_t __ovld async_work_group_strided_copy(__global int4 *dst, const __local int4 *src, size_t num_elements, size_t dst_stride, event_t event);
14177 event_t __ovld async_work_group_strided_copy(__global uint4 *dst, const __local uint4 *src, size_t num_elements, size_t dst_stride, event_t event);
14178 event_t __ovld async_work_group_strided_copy(__global long4 *dst, const __local long4 *src, size_t num_elements, size_t dst_stride, event_t event);
14179 event_t __ovld async_work_group_strided_copy(__global ulong4 *dst, const __local ulong4 *src, size_t num_elements, size_t dst_stride, event_t event);
14180 event_t __ovld async_work_group_strided_copy(__global float4 *dst, const __local float4 *src, size_t num_elements, size_t dst_stride, event_t event);
14181 event_t __ovld async_work_group_strided_copy(__global char8 *dst, const __local char8 *src, size_t num_elements, size_t dst_stride, event_t event);
14182 event_t __ovld async_work_group_strided_copy(__global uchar8 *dst, const __local uchar8 *src, size_t num_elements, size_t dst_stride, event_t event);
14183 event_t __ovld async_work_group_strided_copy(__global short8 *dst, const __local short8 *src, size_t num_elements, size_t dst_stride, event_t event);
14184 event_t __ovld async_work_group_strided_copy(__global ushort8 *dst, const __local ushort8 *src, size_t num_elements, size_t dst_stride, event_t event);
14185 event_t __ovld async_work_group_strided_copy(__global int8 *dst, const __local int8 *src, size_t num_elements, size_t dst_stride, event_t event);
14186 event_t __ovld async_work_group_strided_copy(__global uint8 *dst, const __local uint8 *src, size_t num_elements, size_t dst_stride, event_t event);
14187 event_t __ovld async_work_group_strided_copy(__global long8 *dst, const __local long8 *src, size_t num_elements, size_t dst_stride, event_t event);
14188 event_t __ovld async_work_group_strided_copy(__global ulong8 *dst, const __local ulong8 *src, size_t num_elements, size_t dst_stride, event_t event);
14189 event_t __ovld async_work_group_strided_copy(__global float8 *dst, const __local float8 *src, size_t num_elements, size_t dst_stride, event_t event);
14190 event_t __ovld async_work_group_strided_copy(__global char16 *dst, const __local char16 *src, size_t num_elements, size_t dst_stride, event_t event);
14191 event_t __ovld async_work_group_strided_copy(__global uchar16 *dst, const __local uchar16 *src, size_t num_elements, size_t dst_stride, event_t event);
14192 event_t __ovld async_work_group_strided_copy(__global short16 *dst, const __local short16 *src, size_t num_elements, size_t dst_stride, event_t event);
14193 event_t __ovld async_work_group_strided_copy(__global ushort16 *dst, const __local ushort16 *src, size_t num_elements, size_t dst_stride, event_t event);
14194 event_t __ovld async_work_group_strided_copy(__global int16 *dst, const __local int16 *src, size_t num_elements, size_t dst_stride, event_t event);
14195 event_t __ovld async_work_group_strided_copy(__global uint16 *dst, const __local uint16 *src, size_t num_elements, size_t dst_stride, event_t event);
14196 event_t __ovld async_work_group_strided_copy(__global long16 *dst, const __local long16 *src, size_t num_elements, size_t dst_stride, event_t event);
14197 event_t __ovld async_work_group_strided_copy(__global ulong16 *dst, const __local ulong16 *src, size_t num_elements, size_t dst_stride, event_t event);
14198 event_t __ovld async_work_group_strided_copy(__global float16 *dst, const __local float16 *src, size_t num_elements, size_t dst_stride, event_t event);
14199 #ifdef cl_khr_fp64
14200 event_t __ovld async_work_group_strided_copy(__local double *dst, const __global double *src, size_t num_elements, size_t src_stride, event_t event);
14201 event_t __ovld async_work_group_strided_copy(__local double2 *dst, const __global double2 *src, size_t num_elements, size_t src_stride, event_t event);
14202 event_t __ovld async_work_group_strided_copy(__local double3 *dst, const __global double3 *src, size_t num_elements, size_t src_stride, event_t event);
14203 event_t __ovld async_work_group_strided_copy(__local double4 *dst, const __global double4 *src, size_t num_elements, size_t src_stride, event_t event);
14204 event_t __ovld async_work_group_strided_copy(__local double8 *dst, const __global double8 *src, size_t num_elements, size_t src_stride, event_t event);
14205 event_t __ovld async_work_group_strided_copy(__local double16 *dst, const __global double16 *src, size_t num_elements, size_t src_stride, event_t event);
14206 event_t __ovld async_work_group_strided_copy(__global double *dst, const __local double *src, size_t num_elements, size_t dst_stride, event_t event);
14207 event_t __ovld async_work_group_strided_copy(__global double2 *dst, const __local double2 *src, size_t num_elements, size_t dst_stride, event_t event);
14208 event_t __ovld async_work_group_strided_copy(__global double3 *dst, const __local double3 *src, size_t num_elements, size_t dst_stride, event_t event);
14209 event_t __ovld async_work_group_strided_copy(__global double4 *dst, const __local double4 *src, size_t num_elements, size_t dst_stride, event_t event);
14210 event_t __ovld async_work_group_strided_copy(__global double8 *dst, const __local double8 *src, size_t num_elements, size_t dst_stride, event_t event);
14211 event_t __ovld async_work_group_strided_copy(__global double16 *dst, const __local double16 *src, size_t num_elements, size_t dst_stride, event_t event);
14212 #endif //cl_khr_fp64
14213 #ifdef cl_khr_fp16
14214 event_t __ovld async_work_group_strided_copy(__local half *dst, const __global half *src, size_t num_elements, size_t src_stride, event_t event);
14215 event_t __ovld async_work_group_strided_copy(__local half2 *dst, const __global half2 *src, size_t num_elements, size_t src_stride, event_t event);
14216 event_t __ovld async_work_group_strided_copy(__local half3 *dst, const __global half3 *src, size_t num_elements, size_t src_stride, event_t event);
14217 event_t __ovld async_work_group_strided_copy(__local half4 *dst, const __global half4 *src, size_t num_elements, size_t src_stride, event_t event);
14218 event_t __ovld async_work_group_strided_copy(__local half8 *dst, const __global half8 *src, size_t num_elements, size_t src_stride, event_t event);
14219 event_t __ovld async_work_group_strided_copy(__local half16 *dst, const __global half16 *src, size_t num_elements, size_t src_stride, event_t event);
14220 event_t __ovld async_work_group_strided_copy(__global half *dst, const __local half *src, size_t num_elements, size_t dst_stride, event_t event);
14221 event_t __ovld async_work_group_strided_copy(__global half2 *dst, const __local half2 *src, size_t num_elements, size_t dst_stride, event_t event);
14222 event_t __ovld async_work_group_strided_copy(__global half3 *dst, const __local half3 *src, size_t num_elements, size_t dst_stride, event_t event);
14223 event_t __ovld async_work_group_strided_copy(__global half4 *dst, const __local half4 *src, size_t num_elements, size_t dst_stride, event_t event);
14224 event_t __ovld async_work_group_strided_copy(__global half8 *dst, const __local half8 *src, size_t num_elements, size_t dst_stride, event_t event);
14225 event_t __ovld async_work_group_strided_copy(__global half16 *dst, const __local half16 *src, size_t num_elements, size_t dst_stride, event_t event);
14226 #endif //cl_khr_fp16
14227
14228 /**
14229  * Wait for events that identify the
14230  * async_work_group_copy operations to
14231  * complete. The event objects specified in
14232  * event_list will be released after the wait is
14233  * performed.
14234  * This function must be encountered by all workitems
14235  * in a work-group executing the kernel with
14236  * the same num_events and event objects specified
14237  * in event_list; otherwise the results are undefined.
14238  */
14239 void __ovld wait_group_events(int num_events, event_t *event_list);
14240
14241 /**
14242  * Prefetch num_elements * sizeof(gentype)
14243  * bytes into the global cache. The prefetch
14244  * instruction is applied to a work-item in a workgroup
14245  * and does not affect the functional
14246  * behavior of the kernel.
14247  */
14248 void __ovld prefetch(const __global char *p, size_t num_elements);
14249 void __ovld prefetch(const __global uchar *p, size_t num_elements);
14250 void __ovld prefetch(const __global short *p, size_t num_elements);
14251 void __ovld prefetch(const __global ushort *p, size_t num_elements);
14252 void __ovld prefetch(const __global int *p, size_t num_elements);
14253 void __ovld prefetch(const __global uint *p, size_t num_elements);
14254 void __ovld prefetch(const __global long *p, size_t num_elements);
14255 void __ovld prefetch(const __global ulong *p, size_t num_elements);
14256 void __ovld prefetch(const __global float *p, size_t num_elements);
14257 void __ovld prefetch(const __global char2 *p, size_t num_elements);
14258 void __ovld prefetch(const __global uchar2 *p, size_t num_elements);
14259 void __ovld prefetch(const __global short2 *p, size_t num_elements);
14260 void __ovld prefetch(const __global ushort2 *p, size_t num_elements);
14261 void __ovld prefetch(const __global int2 *p, size_t num_elements);
14262 void __ovld prefetch(const __global uint2 *p, size_t num_elements);
14263 void __ovld prefetch(const __global long2 *p, size_t num_elements);
14264 void __ovld prefetch(const __global ulong2 *p, size_t num_elements);
14265 void __ovld prefetch(const __global float2 *p, size_t num_elements);
14266 void __ovld prefetch(const __global char3 *p, size_t num_elements);
14267 void __ovld prefetch(const __global uchar3 *p, size_t num_elements);
14268 void __ovld prefetch(const __global short3 *p, size_t num_elements);
14269 void __ovld prefetch(const __global ushort3 *p, size_t num_elements);
14270 void __ovld prefetch(const __global int3 *p, size_t num_elements);
14271 void __ovld prefetch(const __global uint3 *p, size_t num_elements);
14272 void __ovld prefetch(const __global long3 *p, size_t num_elements);
14273 void __ovld prefetch(const __global ulong3 *p, size_t num_elements);
14274 void __ovld prefetch(const __global float3 *p, size_t num_elements);
14275 void __ovld prefetch(const __global char4 *p, size_t num_elements);
14276 void __ovld prefetch(const __global uchar4 *p, size_t num_elements);
14277 void __ovld prefetch(const __global short4 *p, size_t num_elements);
14278 void __ovld prefetch(const __global ushort4 *p, size_t num_elements);
14279 void __ovld prefetch(const __global int4 *p, size_t num_elements);
14280 void __ovld prefetch(const __global uint4 *p, size_t num_elements);
14281 void __ovld prefetch(const __global long4 *p, size_t num_elements);
14282 void __ovld prefetch(const __global ulong4 *p, size_t num_elements);
14283 void __ovld prefetch(const __global float4 *p, size_t num_elements);
14284 void __ovld prefetch(const __global char8 *p, size_t num_elements);
14285 void __ovld prefetch(const __global uchar8 *p, size_t num_elements);
14286 void __ovld prefetch(const __global short8 *p, size_t num_elements);
14287 void __ovld prefetch(const __global ushort8 *p, size_t num_elements);
14288 void __ovld prefetch(const __global int8 *p, size_t num_elements);
14289 void __ovld prefetch(const __global uint8 *p, size_t num_elements);
14290 void __ovld prefetch(const __global long8 *p, size_t num_elements);
14291 void __ovld prefetch(const __global ulong8 *p, size_t num_elements);
14292 void __ovld prefetch(const __global float8 *p, size_t num_elements);
14293 void __ovld prefetch(const __global char16 *p, size_t num_elements);
14294 void __ovld prefetch(const __global uchar16 *p, size_t num_elements);
14295 void __ovld prefetch(const __global short16 *p, size_t num_elements);
14296 void __ovld prefetch(const __global ushort16 *p, size_t num_elements);
14297 void __ovld prefetch(const __global int16 *p, size_t num_elements);
14298 void __ovld prefetch(const __global uint16 *p, size_t num_elements);
14299 void __ovld prefetch(const __global long16 *p, size_t num_elements);
14300 void __ovld prefetch(const __global ulong16 *p, size_t num_elements);
14301 void __ovld prefetch(const __global float16 *p, size_t num_elements);
14302 #ifdef cl_khr_fp64
14303 void __ovld prefetch(const __global double *p, size_t num_elements);
14304 void __ovld prefetch(const __global double2 *p, size_t num_elements);
14305 void __ovld prefetch(const __global double3 *p, size_t num_elements);
14306 void __ovld prefetch(const __global double4 *p, size_t num_elements);
14307 void __ovld prefetch(const __global double8 *p, size_t num_elements);
14308 void __ovld prefetch(const __global double16 *p, size_t num_elements);
14309 #endif //cl_khr_fp64
14310 #ifdef cl_khr_fp16
14311 void __ovld prefetch(const __global half *p, size_t num_elements);
14312 void __ovld prefetch(const __global half2 *p, size_t num_elements);
14313 void __ovld prefetch(const __global half3 *p, size_t num_elements);
14314 void __ovld prefetch(const __global half4 *p, size_t num_elements);
14315 void __ovld prefetch(const __global half8 *p, size_t num_elements);
14316 void __ovld prefetch(const __global half16 *p, size_t num_elements);
14317 #endif // cl_khr_fp16
14318
14319 // OpenCL v1.1 s6.11.1, v1.2 s6.12.11 - Atomic Functions
14320
14321 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
14322 #pragma OPENCL EXTENSION cl_khr_int64_base_atomics : enable
14323 #pragma OPENCL EXTENSION cl_khr_int64_extended_atomics : enable
14324 #endif
14325 /**
14326  * Read the 32-bit value (referred to as old)
14327  * stored at location pointed by p. Compute
14328  * (old + val) and store result at location
14329  * pointed by p. The function returns old.
14330  */
14331 int __ovld atomic_add(volatile __global int *p, int val);
14332 unsigned int __ovld atomic_add(volatile __global unsigned int *p, unsigned int val);
14333 int __ovld atomic_add(volatile __local int *p, int val);
14334 unsigned int __ovld atomic_add(volatile __local unsigned int *p, unsigned int val);
14335
14336 #if defined(cl_khr_global_int32_base_atomics)
14337 int __ovld atom_add(volatile __global int *p, int val);
14338 unsigned int __ovld atom_add(volatile __global unsigned int *p, unsigned int val);
14339 #endif
14340 #if defined(cl_khr_local_int32_base_atomics)
14341 int __ovld atom_add(volatile __local int *p, int val);
14342 unsigned int __ovld atom_add(volatile __local unsigned int *p, unsigned int val);
14343 #endif
14344
14345 #if defined(cl_khr_int64_base_atomics)
14346 long __ovld atom_add(volatile __global long *p, long val);
14347 unsigned long __ovld atom_add(volatile __global unsigned long *p, unsigned long val);
14348 long __ovld atom_add(volatile __local long *p, long val);
14349 unsigned long __ovld atom_add(volatile __local unsigned long *p, unsigned long val);
14350 #endif
14351
14352 /**
14353  * Read the 32-bit value (referred to as old) stored at location pointed by p.
14354  * Compute (old - val) and store result at location pointed by p. The function
14355  * returns old.
14356  */
14357 int __ovld atomic_sub(volatile __global int *p, int val);
14358 unsigned int __ovld atomic_sub(volatile __global unsigned int *p, unsigned int val);
14359 int __ovld atomic_sub(volatile __local int *p, int val);
14360 unsigned int __ovld atomic_sub(volatile __local unsigned int *p, unsigned int val);
14361
14362 #if defined(cl_khr_global_int32_base_atomics)
14363 int __ovld atom_sub(volatile __global int *p, int val);
14364 unsigned int __ovld atom_sub(volatile __global unsigned int *p, unsigned int val);
14365 #endif
14366 #if defined(cl_khr_local_int32_base_atomics)
14367 int __ovld atom_sub(volatile __local int *p, int val);
14368 unsigned int __ovld atom_sub(volatile __local unsigned int *p, unsigned int val);
14369 #endif
14370
14371 #if defined(cl_khr_int64_base_atomics)
14372 long __ovld atom_sub(volatile __global long *p, long val);
14373 unsigned long __ovld atom_sub(volatile __global unsigned long *p, unsigned long val);
14374 long __ovld atom_sub(volatile __local long *p, long val);
14375 unsigned long __ovld atom_sub(volatile __local unsigned long *p, unsigned long val);
14376 #endif
14377
14378 /**
14379  * Swaps the old value stored at location p
14380  * with new value given by val. Returns old
14381  * value.
14382  */
14383 int __ovld atomic_xchg(volatile __global int *p, int val);
14384 unsigned int __ovld atomic_xchg(volatile __global unsigned int *p, unsigned int val);
14385 int __ovld atomic_xchg(volatile __local int *p, int val);
14386 unsigned int __ovld atomic_xchg(volatile __local unsigned int *p, unsigned int val);
14387 float __ovld atomic_xchg(volatile __global float *p, float val);
14388 float __ovld atomic_xchg(volatile __local float *p, float val);
14389
14390 #if defined(cl_khr_global_int32_base_atomics)
14391 int __ovld atom_xchg(volatile __global int *p, int val);
14392 int __ovld atom_xchg(volatile __local int *p, int val);
14393 #endif
14394 #if defined(cl_khr_local_int32_base_atomics)
14395 unsigned int __ovld atom_xchg(volatile __global unsigned int *p, unsigned int val);
14396 unsigned int __ovld atom_xchg(volatile __local unsigned int *p, unsigned int val);
14397 #endif
14398
14399 #if defined(cl_khr_int64_base_atomics)
14400 long __ovld atom_xchg(volatile __global long *p, long val);
14401 long __ovld atom_xchg(volatile __local long *p, long val);
14402 unsigned long __ovld atom_xchg(volatile __global unsigned long *p, unsigned long val);
14403 unsigned long __ovld atom_xchg(volatile __local unsigned long *p, unsigned long val);
14404 #endif
14405
14406 /**
14407  * Read the 32-bit value (referred to as old)
14408  * stored at location pointed by p. Compute
14409  * (old + 1) and store result at location
14410  * pointed by p. The function returns old.
14411  */
14412 int __ovld atomic_inc(volatile __global int *p);
14413 unsigned int __ovld atomic_inc(volatile __global unsigned int *p);
14414 int __ovld atomic_inc(volatile __local int *p);
14415 unsigned int __ovld atomic_inc(volatile __local unsigned int *p);
14416
14417 #if defined(cl_khr_global_int32_base_atomics)
14418 int __ovld atom_inc(volatile __global int *p);
14419 unsigned int __ovld atom_inc(volatile __global unsigned int *p);
14420 #endif
14421 #if defined(cl_khr_local_int32_base_atomics)
14422 int __ovld atom_inc(volatile __local int *p);
14423 unsigned int __ovld atom_inc(volatile __local unsigned int *p);
14424 #endif
14425
14426 #if defined(cl_khr_int64_base_atomics)
14427 long __ovld atom_inc(volatile __global long *p);
14428 unsigned long __ovld atom_inc(volatile __global unsigned long *p);
14429 long __ovld atom_inc(volatile __local long *p);
14430 unsigned long __ovld atom_inc(volatile __local unsigned long *p);
14431 #endif
14432
14433 /**
14434  * Read the 32-bit value (referred to as old)
14435  * stored at location pointed by p. Compute
14436  * (old - 1) and store result at location
14437  * pointed by p. The function returns old.
14438  */
14439 int __ovld atomic_dec(volatile __global int *p);
14440 unsigned int __ovld atomic_dec(volatile __global unsigned int *p);
14441 int __ovld atomic_dec(volatile __local int *p);
14442 unsigned int __ovld atomic_dec(volatile __local unsigned int *p);
14443
14444 #if defined(cl_khr_global_int32_base_atomics)
14445 int __ovld atom_dec(volatile __global int *p);
14446 unsigned int __ovld atom_dec(volatile __global unsigned int *p);
14447 #endif
14448 #if defined(cl_khr_local_int32_base_atomics)
14449 int __ovld atom_dec(volatile __local int *p);
14450 unsigned int __ovld atom_dec(volatile __local unsigned int *p);
14451 #endif
14452
14453 #if defined(cl_khr_int64_base_atomics)
14454 long __ovld atom_dec(volatile __global long *p);
14455 unsigned long __ovld atom_dec(volatile __global unsigned long *p);
14456 long __ovld atom_dec(volatile __local long *p);
14457 unsigned long __ovld atom_dec(volatile __local unsigned long *p);
14458 #endif
14459
14460 /**
14461  * Read the 32-bit value (referred to as old)
14462  * stored at location pointed by p. Compute
14463  * (old == cmp) ? val : old and store result at
14464  * location pointed by p. The function
14465  * returns old.
14466  */
14467 int __ovld atomic_cmpxchg(volatile __global int *p, int cmp, int val);
14468 unsigned int __ovld atomic_cmpxchg(volatile __global unsigned int *p, unsigned int cmp, unsigned int val);
14469 int __ovld atomic_cmpxchg(volatile __local int *p, int cmp, int val);
14470 unsigned int __ovld atomic_cmpxchg(volatile __local unsigned int *p, unsigned int cmp, unsigned int val);
14471
14472 #if defined(cl_khr_global_int32_base_atomics)
14473 int __ovld atom_cmpxchg(volatile __global int *p, int cmp, int val);
14474 unsigned int __ovld atom_cmpxchg(volatile __global unsigned int *p, unsigned int cmp, unsigned int val);
14475 #endif
14476 #if defined(cl_khr_local_int32_base_atomics)
14477 int __ovld atom_cmpxchg(volatile __local int *p, int cmp, int val);
14478 unsigned int __ovld atom_cmpxchg(volatile __local unsigned int *p, unsigned int cmp, unsigned int val);
14479 #endif
14480
14481 #if defined(cl_khr_int64_base_atomics)
14482 long __ovld atom_cmpxchg(volatile __global long *p, long cmp, long val);
14483 unsigned long __ovld atom_cmpxchg(volatile __global unsigned long *p, unsigned long cmp, unsigned long val);
14484 long __ovld atom_cmpxchg(volatile __local long *p, long cmp, long val);
14485 unsigned long __ovld atom_cmpxchg(volatile __local unsigned long *p, unsigned long cmp, unsigned long val);
14486 #endif
14487
14488 /**
14489  * Read the 32-bit value (referred to as old)
14490  * stored at location pointed by p. Compute
14491  * min(old, val) and store minimum value at
14492  * location pointed by p. The function
14493  * returns old.
14494  */
14495 int __ovld atomic_min(volatile __global int *p, int val);
14496 unsigned int __ovld atomic_min(volatile __global unsigned int *p, unsigned int val);
14497 int __ovld atomic_min(volatile __local int *p, int val);
14498 unsigned int __ovld atomic_min(volatile __local unsigned int *p, unsigned int val);
14499
14500 #if defined(cl_khr_global_int32_extended_atomics)
14501 int __ovld atom_min(volatile __global int *p, int val);
14502 unsigned int __ovld atom_min(volatile __global unsigned int *p, unsigned int val);
14503 #endif
14504 #if defined(cl_khr_local_int32_extended_atomics)
14505 int __ovld atom_min(volatile __local int *p, int val);
14506 unsigned int __ovld atom_min(volatile __local unsigned int *p, unsigned int val);
14507 #endif
14508
14509 #if defined(cl_khr_int64_extended_atomics)
14510 long __ovld atom_min(volatile __global long *p, long val);
14511 unsigned long __ovld atom_min(volatile __global unsigned long *p, unsigned long val);
14512 #endif
14513 #if defined(cl_khr_local_int32_extended_atomics)
14514 long __ovld atom_min(volatile __local long *p, long val);
14515 unsigned long __ovld atom_min(volatile __local unsigned long *p, unsigned long val);
14516 #endif
14517
14518 /**
14519  * Read the 32-bit value (referred to as old)
14520  * stored at location pointed by p. Compute
14521  * max(old, val) and store maximum value at
14522  * location pointed by p. The function
14523  * returns old.
14524  */
14525 int __ovld atomic_max(volatile __global int *p, int val);
14526 unsigned int __ovld atomic_max(volatile __global unsigned int *p, unsigned int val);
14527 int __ovld atomic_max(volatile __local int *p, int val);
14528 unsigned int __ovld atomic_max(volatile __local unsigned int *p, unsigned int val);
14529
14530 #if defined(cl_khr_global_int32_extended_atomics)
14531 int __ovld atom_max(volatile __global int *p, int val);
14532 unsigned int __ovld atom_max(volatile __global unsigned int *p, unsigned int val);
14533 #endif
14534 #if defined(cl_khr_local_int32_extended_atomics)
14535 int __ovld atom_max(volatile __local int *p, int val);
14536 unsigned int __ovld atom_max(volatile __local unsigned int *p, unsigned int val);
14537 #endif
14538
14539 #if defined(cl_khr_int64_extended_atomics)
14540 long __ovld atom_max(volatile __global long *p, long val);
14541 unsigned long __ovld atom_max(volatile __global unsigned long *p, unsigned long val);
14542 long __ovld atom_max(volatile __local long *p, long val);
14543 unsigned long __ovld atom_max(volatile __local unsigned long *p, unsigned long val);
14544 #endif
14545
14546 /**
14547  * Read the 32-bit value (referred to as old)
14548  * stored at location pointed by p. Compute
14549  * (old & val) and store result at location
14550  * pointed by p. The function returns old.
14551  */
14552 int __ovld atomic_and(volatile __global int *p, int val);
14553 unsigned int __ovld atomic_and(volatile __global unsigned int *p, unsigned int val);
14554 int __ovld atomic_and(volatile __local int *p, int val);
14555 unsigned int __ovld atomic_and(volatile __local unsigned int *p, unsigned int val);
14556
14557 #if defined(cl_khr_global_int32_extended_atomics)
14558 int __ovld atom_and(volatile __global int *p, int val);
14559 unsigned int __ovld atom_and(volatile __global unsigned int *p, unsigned int val);
14560 #endif
14561 #if defined(cl_khr_local_int32_extended_atomics)
14562 int __ovld atom_and(volatile __local int *p, int val);
14563 unsigned int __ovld atom_and(volatile __local unsigned int *p, unsigned int val);
14564 #endif
14565
14566 #if defined(cl_khr_int64_extended_atomics)
14567 long __ovld atom_and(volatile __global long *p, long val);
14568 unsigned long __ovld atom_and(volatile __global unsigned long *p, unsigned long val);
14569 long __ovld atom_and(volatile __local long *p, long val);
14570 unsigned long __ovld atom_and(volatile __local unsigned long *p, unsigned long val);
14571 #endif
14572
14573 /**
14574  * Read the 32-bit value (referred to as old)
14575  * stored at location pointed by p. Compute
14576  * (old | val) and store result at location
14577  * pointed by p. The function returns old.
14578  */
14579 int __ovld atomic_or(volatile __global int *p, int val);
14580 unsigned int __ovld atomic_or(volatile __global unsigned int *p, unsigned int val);
14581 int __ovld atomic_or(volatile __local int *p, int val);
14582 unsigned int __ovld atomic_or(volatile __local unsigned int *p, unsigned int val);
14583
14584 #if defined(cl_khr_global_int32_extended_atomics)
14585 int __ovld atom_or(volatile __global int *p, int val);
14586 unsigned int __ovld atom_or(volatile __global unsigned int *p, unsigned int val);
14587 #endif
14588 #if defined(cl_khr_local_int32_extended_atomics)
14589 int __ovld atom_or(volatile __local int *p, int val);
14590 unsigned int __ovld atom_or(volatile __local unsigned int *p, unsigned int val);
14591 #endif
14592
14593 #if defined(cl_khr_int64_extended_atomics)
14594 long __ovld atom_or(volatile __global long *p, long val);
14595 unsigned long __ovld atom_or(volatile __global unsigned long *p, unsigned long val);
14596 long __ovld atom_or(volatile __local long *p, long val);
14597 unsigned long __ovld atom_or(volatile __local unsigned long *p, unsigned long val);
14598 #endif
14599
14600 /**
14601  * Read the 32-bit value (referred to as old)
14602  * stored at location pointed by p. Compute
14603  * (old ^ val) and store result at location
14604  * pointed by p. The function returns old.
14605  */
14606 int __ovld atomic_xor(volatile __global int *p, int val);
14607 unsigned int __ovld atomic_xor(volatile __global unsigned int *p, unsigned int val);
14608 int __ovld atomic_xor(volatile __local int *p, int val);
14609 unsigned int __ovld atomic_xor(volatile __local unsigned int *p, unsigned int val);
14610
14611 #if defined(cl_khr_global_int32_extended_atomics)
14612 int __ovld atom_xor(volatile __global int *p, int val);
14613 unsigned int __ovld atom_xor(volatile __global unsigned int *p, unsigned int val);
14614 #endif
14615 #if defined(cl_khr_local_int32_extended_atomics)
14616 int __ovld atom_xor(volatile __local int *p, int val);
14617 unsigned int __ovld atom_xor(volatile __local unsigned int *p, unsigned int val);
14618 #endif
14619
14620 #if defined(cl_khr_int64_extended_atomics)
14621 long __ovld atom_xor(volatile __global long *p, long val);
14622 unsigned long __ovld atom_xor(volatile __global unsigned long *p, unsigned long val);
14623 long __ovld atom_xor(volatile __local long *p, long val);
14624 unsigned long __ovld atom_xor(volatile __local unsigned long *p, unsigned long val);
14625 #endif
14626
14627 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
14628 #pragma OPENCL EXTENSION cl_khr_int64_base_atomics : disable
14629 #pragma OPENCL EXTENSION cl_khr_int64_extended_atomics : disable
14630 #endif
14631
14632 // OpenCL v2.0 s6.13.11 - Atomics Functions
14633
14634 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
14635 #ifndef ATOMIC_VAR_INIT
14636 #define ATOMIC_VAR_INIT(x) (x)
14637 #endif //ATOMIC_VAR_INIT
14638 #define ATOMIC_FLAG_INIT 0
14639
14640 // enum values aligned with what clang uses in EmitAtomicExpr()
14641 typedef enum memory_order
14642 {
14643   memory_order_relaxed,
14644   memory_order_acquire,
14645   memory_order_release,
14646   memory_order_acq_rel,
14647   memory_order_seq_cst
14648 } memory_order;
14649
14650 // double atomics support requires extensions cl_khr_int64_base_atomics and cl_khr_int64_extended_atomics
14651 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
14652 #pragma OPENCL EXTENSION cl_khr_int64_base_atomics : enable
14653 #pragma OPENCL EXTENSION cl_khr_int64_extended_atomics : enable
14654 #endif
14655
14656 // atomic_init()
14657 void __ovld atomic_init(volatile atomic_int *object, int value);
14658 void __ovld atomic_init(volatile atomic_uint *object, uint value);
14659 void __ovld atomic_init(volatile atomic_float *object, float value);
14660 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
14661 void __ovld atomic_init(volatile atomic_long *object, long value);
14662 void __ovld atomic_init(volatile atomic_ulong *object, ulong value);
14663 #ifdef cl_khr_fp64
14664 void __ovld atomic_init(volatile atomic_double *object, double value);
14665 #endif //cl_khr_fp64
14666 #endif
14667
14668 // atomic_work_item_fence()
14669 void __ovld atomic_work_item_fence(cl_mem_fence_flags flags, memory_order order, memory_scope scope);
14670
14671 // atomic_fetch()
14672
14673 int __ovld atomic_fetch_add(volatile atomic_int *object, int operand);
14674 int __ovld atomic_fetch_add_explicit(volatile atomic_int *object, int operand, memory_order order);
14675 int __ovld atomic_fetch_add_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
14676 uint __ovld atomic_fetch_add(volatile atomic_uint *object, uint operand);
14677 uint __ovld atomic_fetch_add_explicit(volatile atomic_uint *object, uint operand, memory_order order);
14678 uint __ovld atomic_fetch_add_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
14679 int __ovld atomic_fetch_sub(volatile atomic_int *object, int operand);
14680 int __ovld atomic_fetch_sub_explicit(volatile atomic_int *object, int operand, memory_order order);
14681 int __ovld atomic_fetch_sub_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
14682 uint __ovld atomic_fetch_sub(volatile atomic_uint *object, uint operand);
14683 uint __ovld atomic_fetch_sub_explicit(volatile atomic_uint *object, uint operand, memory_order order);
14684 uint __ovld atomic_fetch_sub_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
14685 int __ovld atomic_fetch_or(volatile atomic_int *object, int operand);
14686 int __ovld atomic_fetch_or_explicit(volatile atomic_int *object, int operand, memory_order order);
14687 int __ovld atomic_fetch_or_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
14688 uint __ovld atomic_fetch_or(volatile atomic_uint *object, uint operand);
14689 uint __ovld atomic_fetch_or_explicit(volatile atomic_uint *object, uint operand, memory_order order);
14690 uint __ovld atomic_fetch_or_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
14691 int __ovld atomic_fetch_xor(volatile atomic_int *object, int operand);
14692 int __ovld atomic_fetch_xor_explicit(volatile atomic_int *object, int operand, memory_order order);
14693 int __ovld atomic_fetch_xor_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
14694 uint __ovld atomic_fetch_xor(volatile atomic_uint *object, uint operand);
14695 uint __ovld atomic_fetch_xor_explicit(volatile atomic_uint *object, uint operand, memory_order order);
14696 uint __ovld atomic_fetch_xor_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
14697 int __ovld atomic_fetch_and(volatile atomic_int *object, int operand);
14698 int __ovld atomic_fetch_and_explicit(volatile atomic_int *object, int operand, memory_order order);
14699 int __ovld atomic_fetch_and_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
14700 uint __ovld atomic_fetch_and(volatile atomic_uint *object, uint operand);
14701 uint __ovld atomic_fetch_and_explicit(volatile atomic_uint *object, uint operand, memory_order order);
14702 uint __ovld atomic_fetch_and_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
14703 int __ovld atomic_fetch_min(volatile atomic_int *object, int operand);
14704 int __ovld atomic_fetch_min_explicit(volatile atomic_int *object, int operand, memory_order order);
14705 int __ovld atomic_fetch_min_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
14706 uint __ovld atomic_fetch_min(volatile atomic_uint *object, uint operand);
14707 uint __ovld atomic_fetch_min_explicit(volatile atomic_uint *object, uint operand, memory_order order);
14708 uint __ovld atomic_fetch_min_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
14709 uint __ovld atomic_fetch_min(volatile atomic_uint *object, int operand);
14710 uint __ovld atomic_fetch_min_explicit(volatile atomic_uint *object, int operand, memory_order order);
14711 uint __ovld atomic_fetch_min_explicit(volatile atomic_uint *object, int operand, memory_order order, memory_scope scope);
14712 int __ovld atomic_fetch_max(volatile atomic_int *object, int operand);
14713 int __ovld atomic_fetch_max_explicit(volatile atomic_int *object, int operand, memory_order order);
14714 int __ovld atomic_fetch_max_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
14715 uint __ovld atomic_fetch_max(volatile atomic_uint *object, uint operand);
14716 uint __ovld atomic_fetch_max_explicit(volatile atomic_uint *object, uint operand, memory_order order);
14717 uint __ovld atomic_fetch_max_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
14718 uint __ovld atomic_fetch_max(volatile atomic_uint *object, int operand);
14719 uint __ovld atomic_fetch_max_explicit(volatile atomic_uint *object, int operand, memory_order order);
14720 uint __ovld atomic_fetch_max_explicit(volatile atomic_uint *object, int operand, memory_order order, memory_scope scope);
14721
14722 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
14723 long __ovld atomic_fetch_add(volatile atomic_long *object, long operand);
14724 long __ovld atomic_fetch_add_explicit(volatile atomic_long *object, long operand, memory_order order);
14725 long __ovld atomic_fetch_add_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
14726 ulong __ovld atomic_fetch_add(volatile atomic_ulong *object, ulong operand);
14727 ulong __ovld atomic_fetch_add_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
14728 ulong __ovld atomic_fetch_add_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
14729 long __ovld atomic_fetch_sub(volatile atomic_long *object, long operand);
14730 long __ovld atomic_fetch_sub_explicit(volatile atomic_long *object, long operand, memory_order order);
14731 long __ovld atomic_fetch_sub_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
14732 ulong __ovld atomic_fetch_sub(volatile atomic_ulong *object, ulong operand);
14733 ulong __ovld atomic_fetch_sub_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
14734 ulong __ovld atomic_fetch_sub_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
14735 long __ovld atomic_fetch_or(volatile atomic_long *object, long operand);
14736 long __ovld atomic_fetch_or_explicit(volatile atomic_long *object, long operand, memory_order order);
14737 long __ovld atomic_fetch_or_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
14738 ulong __ovld atomic_fetch_or(volatile atomic_ulong *object, ulong operand);
14739 ulong __ovld atomic_fetch_or_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
14740 ulong __ovld atomic_fetch_or_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
14741 long __ovld atomic_fetch_xor(volatile atomic_long *object, long operand);
14742 long __ovld atomic_fetch_xor_explicit(volatile atomic_long *object, long operand, memory_order order);
14743 long __ovld atomic_fetch_xor_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
14744 ulong __ovld atomic_fetch_xor(volatile atomic_ulong *object, ulong operand);
14745 ulong __ovld atomic_fetch_xor_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
14746 ulong __ovld atomic_fetch_xor_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
14747 long __ovld atomic_fetch_and(volatile atomic_long *object, long operand);
14748 long __ovld atomic_fetch_and_explicit(volatile atomic_long *object, long operand, memory_order order);
14749 long __ovld atomic_fetch_and_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
14750 ulong __ovld atomic_fetch_and(volatile atomic_ulong *object, ulong operand);
14751 ulong __ovld atomic_fetch_and_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
14752 ulong __ovld atomic_fetch_and_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
14753 long __ovld atomic_fetch_min(volatile atomic_long *object, long operand);
14754 long __ovld atomic_fetch_min_explicit(volatile atomic_long *object, long operand, memory_order order);
14755 long __ovld atomic_fetch_min_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
14756 ulong __ovld atomic_fetch_min(volatile atomic_ulong *object, ulong operand);
14757 ulong __ovld atomic_fetch_min_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
14758 ulong __ovld atomic_fetch_min_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
14759 ulong __ovld atomic_fetch_min(volatile atomic_ulong *object, long operand);
14760 ulong __ovld atomic_fetch_min_explicit(volatile atomic_ulong *object, long operand, memory_order order);
14761 ulong __ovld atomic_fetch_min_explicit(volatile atomic_ulong *object, long operand, memory_order order, memory_scope scope);
14762 long __ovld atomic_fetch_max(volatile atomic_long *object, long operand);
14763 long __ovld atomic_fetch_max_explicit(volatile atomic_long *object, long operand, memory_order order);
14764 long __ovld atomic_fetch_max_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
14765 ulong __ovld atomic_fetch_max(volatile atomic_ulong *object, ulong operand);
14766 ulong __ovld atomic_fetch_max_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
14767 ulong __ovld atomic_fetch_max_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
14768 ulong __ovld atomic_fetch_max(volatile atomic_ulong *object, long operand);
14769 ulong __ovld atomic_fetch_max_explicit(volatile atomic_ulong *object, long operand, memory_order order);
14770 ulong __ovld atomic_fetch_max_explicit(volatile atomic_ulong *object, long operand, memory_order order, memory_scope scope);
14771 #endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
14772
14773 // OpenCL v2.0 s6.13.11.7.5:
14774 // add/sub: atomic type argument can be uintptr_t/intptr_t, value type argument can be ptrdiff_t.
14775 // or/xor/and/min/max: atomic type argument can be intptr_t/uintptr_t, value type argument can be intptr_t/uintptr_t.
14776
14777 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics) 
14778 uintptr_t __ovld atomic_fetch_add(volatile atomic_uintptr_t *object, ptrdiff_t operand);
14779 uintptr_t __ovld atomic_fetch_add_explicit(volatile atomic_uintptr_t *object, ptrdiff_t operand, memory_order order);
14780 uintptr_t __ovld atomic_fetch_add_explicit(volatile atomic_uintptr_t *object, ptrdiff_t operand, memory_order order, memory_scope scope);
14781 uintptr_t __ovld atomic_fetch_sub(volatile atomic_uintptr_t *object, ptrdiff_t operand);
14782 uintptr_t __ovld atomic_fetch_sub_explicit(volatile atomic_uintptr_t *object, ptrdiff_t operand, memory_order order);
14783 uintptr_t __ovld atomic_fetch_sub_explicit(volatile atomic_uintptr_t *object, ptrdiff_t operand, memory_order order, memory_scope scope);
14784
14785 uintptr_t __ovld atomic_fetch_or(volatile atomic_uintptr_t *object, intptr_t operand);
14786 uintptr_t __ovld atomic_fetch_or_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order);
14787 uintptr_t __ovld atomic_fetch_or_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order, memory_scope scope);
14788 uintptr_t __ovld atomic_fetch_xor(volatile atomic_uintptr_t *object, intptr_t operand);
14789 uintptr_t __ovld atomic_fetch_xor_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order);
14790 uintptr_t __ovld atomic_fetch_xor_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order, memory_scope scope);
14791 uintptr_t __ovld atomic_fetch_and(volatile atomic_uintptr_t *object, intptr_t operand);
14792 uintptr_t __ovld atomic_fetch_and_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order);
14793 uintptr_t __ovld atomic_fetch_and_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order, memory_scope scope);
14794 uintptr_t __ovld atomic_fetch_min(volatile atomic_uintptr_t *object, intptr_t opermax);
14795 uintptr_t __ovld atomic_fetch_min_explicit(volatile atomic_uintptr_t *object, intptr_t opermax, memory_order minder);
14796 uintptr_t __ovld atomic_fetch_min_explicit(volatile atomic_uintptr_t *object, intptr_t opermax, memory_order minder, memory_scope scope);
14797 uintptr_t __ovld atomic_fetch_max(volatile atomic_uintptr_t *object, intptr_t opermax);
14798 uintptr_t __ovld atomic_fetch_max_explicit(volatile atomic_uintptr_t *object, intptr_t opermax, memory_order minder);
14799 uintptr_t __ovld atomic_fetch_max_explicit(volatile atomic_uintptr_t *object, intptr_t opermax, memory_order minder, memory_scope scope);
14800
14801 intptr_t __ovld atomic_fetch_or(volatile atomic_intptr_t *object, uintptr_t operand);
14802 intptr_t __ovld atomic_fetch_or_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order);
14803 intptr_t __ovld atomic_fetch_or_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order, memory_scope scope);
14804 intptr_t __ovld atomic_fetch_xor(volatile atomic_intptr_t *object, uintptr_t operand);
14805 intptr_t __ovld atomic_fetch_xor_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order);
14806 intptr_t __ovld atomic_fetch_xor_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order, memory_scope scope);
14807 intptr_t __ovld atomic_fetch_and(volatile atomic_intptr_t *object, uintptr_t operand);
14808 intptr_t __ovld atomic_fetch_and_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order);
14809 intptr_t __ovld atomic_fetch_and_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order, memory_scope scope);
14810 intptr_t __ovld atomic_fetch_min(volatile atomic_intptr_t *object, uintptr_t opermax);
14811 intptr_t __ovld atomic_fetch_min_explicit(volatile atomic_intptr_t *object, uintptr_t opermax, memory_order minder);
14812 intptr_t __ovld atomic_fetch_min_explicit(volatile atomic_intptr_t *object, uintptr_t opermax, memory_order minder, memory_scope scope);
14813 intptr_t __ovld atomic_fetch_max(volatile atomic_intptr_t *object, uintptr_t opermax);
14814 intptr_t __ovld atomic_fetch_max_explicit(volatile atomic_intptr_t *object, uintptr_t opermax, memory_order minder);
14815 intptr_t __ovld atomic_fetch_max_explicit(volatile atomic_intptr_t *object, uintptr_t opermax, memory_order minder, memory_scope scope);
14816 #endif
14817
14818 // atomic_store()
14819
14820 void __ovld atomic_store(volatile atomic_int *object, int desired);
14821 void __ovld atomic_store_explicit(volatile atomic_int *object, int desired, memory_order order);
14822 void __ovld atomic_store_explicit(volatile atomic_int *object, int desired, memory_order order, memory_scope scope);
14823 void __ovld atomic_store(volatile atomic_uint *object, uint desired);
14824 void __ovld atomic_store_explicit(volatile atomic_uint *object, uint desired, memory_order order);
14825 void __ovld atomic_store_explicit(volatile atomic_uint *object, uint desired, memory_order order, memory_scope scope);
14826 void __ovld atomic_store(volatile atomic_float *object, float desired);
14827 void __ovld atomic_store_explicit(volatile atomic_float *object, float desired, memory_order order);
14828 void __ovld atomic_store_explicit(volatile atomic_float *object, float desired, memory_order order, memory_scope scope);
14829 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
14830 #ifdef cl_khr_fp64
14831 void __ovld atomic_store(volatile atomic_double *object, double desired);
14832 void __ovld atomic_store_explicit(volatile atomic_double *object, double desired, memory_order order);
14833 void __ovld atomic_store_explicit(volatile atomic_double *object, double desired, memory_order order, memory_scope scope);
14834 #endif //cl_khr_fp64
14835 void __ovld atomic_store(volatile atomic_long *object, long desired);
14836 void __ovld atomic_store_explicit(volatile atomic_long *object, long desired, memory_order order);
14837 void __ovld atomic_store_explicit(volatile atomic_long *object, long desired, memory_order order, memory_scope scope);
14838 void __ovld atomic_store(volatile atomic_ulong *object, ulong desired);
14839 void __ovld atomic_store_explicit(volatile atomic_ulong *object, ulong desired, memory_order order);
14840 void __ovld atomic_store_explicit(volatile atomic_ulong *object, ulong desired, memory_order order, memory_scope scope);
14841 #endif
14842
14843 // atomic_load()
14844
14845 int __ovld atomic_load(volatile atomic_int *object);
14846 int __ovld atomic_load_explicit(volatile atomic_int *object, memory_order order);
14847 int __ovld atomic_load_explicit(volatile atomic_int *object, memory_order order, memory_scope scope);
14848 uint __ovld atomic_load(volatile atomic_uint *object);
14849 uint __ovld atomic_load_explicit(volatile atomic_uint *object, memory_order order);
14850 uint __ovld atomic_load_explicit(volatile atomic_uint *object, memory_order order, memory_scope scope);
14851 float __ovld atomic_load(volatile atomic_float *object);
14852 float __ovld atomic_load_explicit(volatile atomic_float *object, memory_order order);
14853 float __ovld atomic_load_explicit(volatile atomic_float *object, memory_order order, memory_scope scope);
14854 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
14855 #ifdef cl_khr_fp64
14856 double __ovld atomic_load(volatile atomic_double *object);
14857 double __ovld atomic_load_explicit(volatile atomic_double *object, memory_order order);
14858 double __ovld atomic_load_explicit(volatile atomic_double *object, memory_order order, memory_scope scope);
14859 #endif //cl_khr_fp64
14860 long __ovld atomic_load(volatile atomic_long *object);
14861 long __ovld atomic_load_explicit(volatile atomic_long *object, memory_order order);
14862 long __ovld atomic_load_explicit(volatile atomic_long *object, memory_order order, memory_scope scope);
14863 ulong __ovld atomic_load(volatile atomic_ulong *object);
14864 ulong __ovld atomic_load_explicit(volatile atomic_ulong *object, memory_order order);
14865 ulong __ovld atomic_load_explicit(volatile atomic_ulong *object, memory_order order, memory_scope scope);
14866 #endif
14867
14868 // atomic_exchange()
14869
14870 int __ovld atomic_exchange(volatile atomic_int *object, int desired);
14871 int __ovld atomic_exchange_explicit(volatile atomic_int *object, int desired, memory_order order);
14872 int __ovld atomic_exchange_explicit(volatile atomic_int *object, int desired, memory_order order, memory_scope scope);
14873 uint __ovld atomic_exchange(volatile atomic_uint *object, uint desired);
14874 uint __ovld atomic_exchange_explicit(volatile atomic_uint *object, uint desired, memory_order order);
14875 uint __ovld atomic_exchange_explicit(volatile atomic_uint *object, uint desired, memory_order order, memory_scope scope);
14876 float __ovld atomic_exchange(volatile atomic_float *object, float desired);
14877 float __ovld atomic_exchange_explicit(volatile atomic_float *object, float desired, memory_order order);
14878 float __ovld atomic_exchange_explicit(volatile atomic_float *object, float desired, memory_order order, memory_scope scope);
14879 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
14880 #ifdef cl_khr_fp64
14881 double __ovld atomic_exchange(volatile atomic_double *object, double desired);
14882 double __ovld atomic_exchange_explicit(volatile atomic_double *object, double desired, memory_order order);
14883 double __ovld atomic_exchange_explicit(volatile atomic_double *object, double desired, memory_order order, memory_scope scope);
14884 #endif //cl_khr_fp64
14885 long __ovld atomic_exchange(volatile atomic_long *object, long desired);
14886 long __ovld atomic_exchange_explicit(volatile atomic_long *object, long desired, memory_order order);
14887 long __ovld atomic_exchange_explicit(volatile atomic_long *object, long desired, memory_order order, memory_scope scope);
14888 ulong __ovld atomic_exchange(volatile atomic_ulong *object, ulong desired);
14889 ulong __ovld atomic_exchange_explicit(volatile atomic_ulong *object, ulong desired, memory_order order);
14890 ulong __ovld atomic_exchange_explicit(volatile atomic_ulong *object, ulong desired, memory_order order, memory_scope scope);
14891 #endif
14892
14893 // atomic_compare_exchange_strong() and atomic_compare_exchange_weak()
14894
14895 bool __ovld atomic_compare_exchange_strong(volatile atomic_int *object, int *expected, int desired);
14896 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_int *object, int *expected,
14897                                                                                  int desired, memory_order success, memory_order failure);
14898 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_int *object, int *expected,
14899                                                                                  int desired, memory_order success, memory_order failure, memory_scope scope);
14900 bool __ovld atomic_compare_exchange_strong(volatile atomic_uint *object, uint *expected, uint desired);
14901 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_uint *object, uint *expected,
14902                                                                                  uint desired, memory_order success, memory_order failure);
14903 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_uint *object, uint *expected,
14904                                                                                  uint desired, memory_order success, memory_order failure, memory_scope scope);
14905 bool __ovld atomic_compare_exchange_weak(volatile atomic_int *object, int *expected, int desired);
14906 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_int *object, int *expected,
14907                                                                                  int desired, memory_order success, memory_order failure);
14908 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_int *object, int *expected,
14909                                                                                  int desired, memory_order success, memory_order failure, memory_scope scope);
14910 bool __ovld atomic_compare_exchange_weak(volatile atomic_uint *object, uint *expected, uint desired);
14911 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_uint *object, uint *expected,
14912                                                                                  uint desired, memory_order success, memory_order failure);
14913 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_uint *object, uint *expected,
14914                                                                                  uint desired, memory_order success, memory_order failure, memory_scope scope);
14915 bool __ovld atomic_compare_exchange_strong(volatile atomic_float *object, float *expected, float desired);
14916 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_float *object, float *expected,
14917                                                                                  float desired, memory_order success, memory_order failure);
14918 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_float *object, float *expected,
14919                                                                                  float desired, memory_order success, memory_order failure, memory_scope scope);
14920 bool __ovld atomic_compare_exchange_weak(volatile atomic_float *object, float *expected, float desired);
14921 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_float *object, float *expected,
14922                                                                                  float desired, memory_order success, memory_order failure);
14923 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_float *object, float *expected,
14924                                                                                  float desired, memory_order success, memory_order failure, memory_scope scope);
14925 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
14926 #ifdef cl_khr_fp64
14927 bool __ovld atomic_compare_exchange_strong(volatile atomic_double *object, double *expected, double desired);
14928 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_double *object, double *expected,
14929                                                                                  double desired, memory_order success, memory_order failure);
14930 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_double *object, double *expected,
14931                                                                                  double desired, memory_order success, memory_order failure, memory_scope scope);
14932 bool __ovld atomic_compare_exchange_weak(volatile atomic_double *object, double *expected, double desired);
14933 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_double *object, double *expected,
14934                                                                                  double desired, memory_order success, memory_order failure);
14935 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_double *object, double *expected,
14936                                                                                  double desired, memory_order success, memory_order failure, memory_scope scope);
14937 #endif //cl_khr_fp64
14938 bool __ovld atomic_compare_exchange_strong(volatile atomic_long *object, long *expected, long desired);
14939 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_long *object, long *expected,
14940                                                                                  long desired, memory_order success, memory_order failure);
14941 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_long *object, long *expected,
14942                                                                                  long desired, memory_order success, memory_order failure, memory_scope scope);
14943 bool __ovld atomic_compare_exchange_weak(volatile atomic_long *object, long *expected, long desired);
14944 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_long *object, long *expected,
14945                                                                                  long desired, memory_order success, memory_order failure);
14946 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_long *object, long *expected,
14947                                                                                  long desired, memory_order success, memory_order failure, memory_scope scope);
14948 bool __ovld atomic_compare_exchange_strong(volatile atomic_ulong *object, ulong *expected, ulong desired);
14949 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_ulong *object, ulong *expected,
14950                                                                                  ulong desired, memory_order success, memory_order failure);
14951 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_ulong *object, ulong *expected,
14952                                                                                  ulong desired, memory_order success, memory_order failure, memory_scope scope);
14953 bool __ovld atomic_compare_exchange_weak(volatile atomic_ulong *object, ulong *expected, ulong desired);
14954 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_ulong *object, ulong *expected,
14955                                                                                  ulong desired, memory_order success, memory_order failure);
14956 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_ulong *object, ulong *expected,
14957                                                                                  ulong desired, memory_order success, memory_order failure, memory_scope scope);
14958 #endif
14959
14960 // atomic_flag_test_and_set() and atomic_flag_clear()
14961
14962 bool __ovld atomic_flag_test_and_set(volatile atomic_flag *object);
14963 bool __ovld atomic_flag_test_and_set_explicit(volatile atomic_flag *object, memory_order order);
14964 bool __ovld atomic_flag_test_and_set_explicit(volatile atomic_flag *object, memory_order order, memory_scope scope);
14965 void __ovld atomic_flag_clear(volatile atomic_flag *object);
14966 void __ovld atomic_flag_clear_explicit(volatile atomic_flag *object, memory_order order);
14967 void __ovld atomic_flag_clear_explicit(volatile atomic_flag *object, memory_order order, memory_scope scope);
14968
14969 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
14970
14971 // OpenCL v1.1 s6.11.12, v1.2 s6.12.12, v2.0 s6.13.12 - Miscellaneous Vector Functions
14972
14973 /**
14974  * The shuffle and shuffle2 built-in functions construct
14975  * a permutation of elements from one or two input
14976  * vectors respectively that are of the same type,
14977  * returning a vector with the same element type as the
14978  * input and length that is the same as the shuffle mask.
14979  * The size of each element in the mask must match the
14980  * size of each element in the result. For shuffle, only
14981  * the ilogb(2m-1) least significant bits of each mask
14982  * element are considered. For shuffle2, only the
14983  * ilogb(2m-1)+1 least significant bits of each mask
14984  * element are considered. Other bits in the mask shall
14985  * be ignored.
14986  * The elements of the input vectors are numbered from
14987  * left to right across one or both of the vectors. For this
14988  * purpose, the number of elements in a vector is given
14989  * by vec_step(gentypem). The shuffle mask operand
14990  * specifies, for each element of the result vector, which
14991  * element of the one or two input vectors the result
14992  * element gets.
14993  * Examples:
14994  * uint4 mask = (uint4)(3, 2,
14995  * 1, 0);
14996  * float4 a;
14997  * float4 r = shuffle(a, mask);
14998  * // r.s0123 = a.wzyx
14999  * uint8 mask = (uint8)(0, 1, 2, 3,
15000  * 4, 5, 6, 7);
15001  * float4 a, b;
15002  * float8 r = shuffle2(a, b, mask);
15003  * // r.s0123 = a.xyzw
15004  * // r.s4567 = b.xyzw
15005  * uint4 mask;
15006  * float8 a;
15007  * float4 b;
15008  * b = shuffle(a, mask);
15009  * Examples that are not valid are:
15010  * uint8 mask;
15011  * short16 a;
15012  * short8 b;
15013  * b = shuffle(a, mask); <- not valid
15014  */
15015 char2 __ovld __cnfn shuffle(char2 x, uchar2 mask);
15016 char2 __ovld __cnfn shuffle(char4 x, uchar2 mask);
15017 char2 __ovld __cnfn shuffle(char8 x, uchar2 mask);
15018 char2 __ovld __cnfn shuffle(char16 x, uchar2 mask);
15019
15020 uchar2 __ovld __cnfn shuffle(uchar2 x, uchar2 mask);
15021 uchar2 __ovld __cnfn shuffle(uchar4 x, uchar2 mask);
15022 uchar2 __ovld __cnfn shuffle(uchar8 x, uchar2 mask);
15023 uchar2 __ovld __cnfn shuffle(uchar16 x, uchar2 mask);
15024
15025 short2 __ovld __cnfn shuffle(short2 x, ushort2 mask);
15026 short2 __ovld __cnfn shuffle(short4 x, ushort2 mask);
15027 short2 __ovld __cnfn shuffle(short8 x, ushort2 mask);
15028 short2 __ovld __cnfn shuffle(short16 x, ushort2 mask);
15029
15030 ushort2 __ovld __cnfn shuffle(ushort2 x, ushort2 mask);
15031 ushort2 __ovld __cnfn shuffle(ushort4 x, ushort2 mask);
15032 ushort2 __ovld __cnfn shuffle(ushort8 x, ushort2 mask);
15033 ushort2 __ovld __cnfn shuffle(ushort16 x, ushort2 mask);
15034
15035 int2 __ovld __cnfn shuffle(int2 x, uint2 mask);
15036 int2 __ovld __cnfn shuffle(int4 x, uint2 mask);
15037 int2 __ovld __cnfn shuffle(int8 x, uint2 mask);
15038 int2 __ovld __cnfn shuffle(int16 x, uint2 mask);
15039
15040 uint2 __ovld __cnfn shuffle(uint2 x, uint2 mask);
15041 uint2 __ovld __cnfn shuffle(uint4 x, uint2 mask);
15042 uint2 __ovld __cnfn shuffle(uint8 x, uint2 mask);
15043 uint2 __ovld __cnfn shuffle(uint16 x, uint2 mask);
15044
15045 long2 __ovld __cnfn shuffle(long2 x, ulong2 mask);
15046 long2 __ovld __cnfn shuffle(long4 x, ulong2 mask);
15047 long2 __ovld __cnfn shuffle(long8 x, ulong2 mask);
15048 long2 __ovld __cnfn shuffle(long16 x, ulong2 mask);
15049
15050 ulong2 __ovld __cnfn shuffle(ulong2 x, ulong2 mask);
15051 ulong2 __ovld __cnfn shuffle(ulong4 x, ulong2 mask);
15052 ulong2 __ovld __cnfn shuffle(ulong8 x, ulong2 mask);
15053 ulong2 __ovld __cnfn shuffle(ulong16 x, ulong2 mask);
15054
15055 float2 __ovld __cnfn shuffle(float2 x, uint2 mask);
15056 float2 __ovld __cnfn shuffle(float4 x, uint2 mask);
15057 float2 __ovld __cnfn shuffle(float8 x, uint2 mask);
15058 float2 __ovld __cnfn shuffle(float16 x, uint2 mask);
15059
15060 char4 __ovld __cnfn shuffle(char2 x, uchar4 mask);
15061 char4 __ovld __cnfn shuffle(char4 x, uchar4 mask);
15062 char4 __ovld __cnfn shuffle(char8 x, uchar4 mask);
15063 char4 __ovld __cnfn shuffle(char16 x, uchar4 mask);
15064
15065 uchar4 __ovld __cnfn shuffle(uchar2 x, uchar4 mask);
15066 uchar4 __ovld __cnfn shuffle(uchar4 x, uchar4 mask);
15067 uchar4 __ovld __cnfn shuffle(uchar8 x, uchar4 mask);
15068 uchar4 __ovld __cnfn shuffle(uchar16 x, uchar4 mask);
15069
15070 short4 __ovld __cnfn shuffle(short2 x, ushort4 mask);
15071 short4 __ovld __cnfn shuffle(short4 x, ushort4 mask);
15072 short4 __ovld __cnfn shuffle(short8 x, ushort4 mask);
15073 short4 __ovld __cnfn shuffle(short16 x, ushort4 mask);
15074
15075 ushort4 __ovld __cnfn shuffle(ushort2 x, ushort4 mask);
15076 ushort4 __ovld __cnfn shuffle(ushort4 x, ushort4 mask);
15077 ushort4 __ovld __cnfn shuffle(ushort8 x, ushort4 mask);
15078 ushort4 __ovld __cnfn shuffle(ushort16 x, ushort4 mask);
15079
15080 int4 __ovld __cnfn shuffle(int2 x, uint4 mask);
15081 int4 __ovld __cnfn shuffle(int4 x, uint4 mask);
15082 int4 __ovld __cnfn shuffle(int8 x, uint4 mask);
15083 int4 __ovld __cnfn shuffle(int16 x, uint4 mask);
15084
15085 uint4 __ovld __cnfn shuffle(uint2 x, uint4 mask);
15086 uint4 __ovld __cnfn shuffle(uint4 x, uint4 mask);
15087 uint4 __ovld __cnfn shuffle(uint8 x, uint4 mask);
15088 uint4 __ovld __cnfn shuffle(uint16 x, uint4 mask);
15089
15090 long4 __ovld __cnfn shuffle(long2 x, ulong4 mask);
15091 long4 __ovld __cnfn shuffle(long4 x, ulong4 mask);
15092 long4 __ovld __cnfn shuffle(long8 x, ulong4 mask);
15093 long4 __ovld __cnfn shuffle(long16 x, ulong4 mask);
15094
15095 ulong4 __ovld __cnfn shuffle(ulong2 x, ulong4 mask);
15096 ulong4 __ovld __cnfn shuffle(ulong4 x, ulong4 mask);
15097 ulong4 __ovld __cnfn shuffle(ulong8 x, ulong4 mask);
15098 ulong4 __ovld __cnfn shuffle(ulong16 x, ulong4 mask);
15099
15100 float4 __ovld __cnfn shuffle(float2 x, uint4 mask);
15101 float4 __ovld __cnfn shuffle(float4 x, uint4 mask);
15102 float4 __ovld __cnfn shuffle(float8 x, uint4 mask);
15103 float4 __ovld __cnfn shuffle(float16 x, uint4 mask);
15104
15105 char8 __ovld __cnfn shuffle(char2 x, uchar8 mask);
15106 char8 __ovld __cnfn shuffle(char4 x, uchar8 mask);
15107 char8 __ovld __cnfn shuffle(char8 x, uchar8 mask);
15108 char8 __ovld __cnfn shuffle(char16 x, uchar8 mask);
15109
15110 uchar8 __ovld __cnfn shuffle(uchar2 x, uchar8 mask);
15111 uchar8 __ovld __cnfn shuffle(uchar4 x, uchar8 mask);
15112 uchar8 __ovld __cnfn shuffle(uchar8 x, uchar8 mask);
15113 uchar8 __ovld __cnfn shuffle(uchar16 x, uchar8 mask);
15114
15115 short8 __ovld __cnfn shuffle(short2 x, ushort8 mask);
15116 short8 __ovld __cnfn shuffle(short4 x, ushort8 mask);
15117 short8 __ovld __cnfn shuffle(short8 x, ushort8 mask);
15118 short8 __ovld __cnfn shuffle(short16 x, ushort8 mask);
15119
15120 ushort8 __ovld __cnfn shuffle(ushort2 x, ushort8 mask);
15121 ushort8 __ovld __cnfn shuffle(ushort4 x, ushort8 mask);
15122 ushort8 __ovld __cnfn shuffle(ushort8 x, ushort8 mask);
15123 ushort8 __ovld __cnfn shuffle(ushort16 x, ushort8 mask);
15124
15125 int8 __ovld __cnfn shuffle(int2 x, uint8 mask);
15126 int8 __ovld __cnfn shuffle(int4 x, uint8 mask);
15127 int8 __ovld __cnfn shuffle(int8 x, uint8 mask);
15128 int8 __ovld __cnfn shuffle(int16 x, uint8 mask);
15129
15130 uint8 __ovld __cnfn shuffle(uint2 x, uint8 mask);
15131 uint8 __ovld __cnfn shuffle(uint4 x, uint8 mask);
15132 uint8 __ovld __cnfn shuffle(uint8 x, uint8 mask);
15133 uint8 __ovld __cnfn shuffle(uint16 x, uint8 mask);
15134
15135 long8 __ovld __cnfn shuffle(long2 x, ulong8 mask);
15136 long8 __ovld __cnfn shuffle(long4 x, ulong8 mask);
15137 long8 __ovld __cnfn shuffle(long8 x, ulong8 mask);
15138 long8 __ovld __cnfn shuffle(long16 x, ulong8 mask);
15139
15140 ulong8 __ovld __cnfn shuffle(ulong2 x, ulong8 mask);
15141 ulong8 __ovld __cnfn shuffle(ulong4 x, ulong8 mask);
15142 ulong8 __ovld __cnfn shuffle(ulong8 x, ulong8 mask);
15143 ulong8 __ovld __cnfn shuffle(ulong16 x, ulong8 mask);
15144
15145 float8 __ovld __cnfn shuffle(float2 x, uint8 mask);
15146 float8 __ovld __cnfn shuffle(float4 x, uint8 mask);
15147 float8 __ovld __cnfn shuffle(float8 x, uint8 mask);
15148 float8 __ovld __cnfn shuffle(float16 x, uint8 mask);
15149
15150 char16 __ovld __cnfn shuffle(char2 x, uchar16 mask);
15151 char16 __ovld __cnfn shuffle(char4 x, uchar16 mask);
15152 char16 __ovld __cnfn shuffle(char8 x, uchar16 mask);
15153 char16 __ovld __cnfn shuffle(char16 x, uchar16 mask);
15154
15155 uchar16 __ovld __cnfn shuffle(uchar2 x, uchar16 mask);
15156 uchar16 __ovld __cnfn shuffle(uchar4 x, uchar16 mask);
15157 uchar16 __ovld __cnfn shuffle(uchar8 x, uchar16 mask);
15158 uchar16 __ovld __cnfn shuffle(uchar16 x, uchar16 mask);
15159
15160 short16 __ovld __cnfn shuffle(short2 x, ushort16 mask);
15161 short16 __ovld __cnfn shuffle(short4 x, ushort16 mask);
15162 short16 __ovld __cnfn shuffle(short8 x, ushort16 mask);
15163 short16 __ovld __cnfn shuffle(short16 x, ushort16 mask);
15164
15165 ushort16 __ovld __cnfn shuffle(ushort2 x, ushort16 mask);
15166 ushort16 __ovld __cnfn shuffle(ushort4 x, ushort16 mask);
15167 ushort16 __ovld __cnfn shuffle(ushort8 x, ushort16 mask);
15168 ushort16 __ovld __cnfn shuffle(ushort16 x, ushort16 mask);
15169
15170 int16 __ovld __cnfn shuffle(int2 x, uint16 mask);
15171 int16 __ovld __cnfn shuffle(int4 x, uint16 mask);
15172 int16 __ovld __cnfn shuffle(int8 x, uint16 mask);
15173 int16 __ovld __cnfn shuffle(int16 x, uint16 mask);
15174
15175 uint16 __ovld __cnfn shuffle(uint2 x, uint16 mask);
15176 uint16 __ovld __cnfn shuffle(uint4 x, uint16 mask);
15177 uint16 __ovld __cnfn shuffle(uint8 x, uint16 mask);
15178 uint16 __ovld __cnfn shuffle(uint16 x, uint16 mask);
15179
15180 long16 __ovld __cnfn shuffle(long2 x, ulong16 mask);
15181 long16 __ovld __cnfn shuffle(long4 x, ulong16 mask);
15182 long16 __ovld __cnfn shuffle(long8 x, ulong16 mask);
15183 long16 __ovld __cnfn shuffle(long16 x, ulong16 mask);
15184
15185 ulong16 __ovld __cnfn shuffle(ulong2 x, ulong16 mask);
15186 ulong16 __ovld __cnfn shuffle(ulong4 x, ulong16 mask);
15187 ulong16 __ovld __cnfn shuffle(ulong8 x, ulong16 mask);
15188 ulong16 __ovld __cnfn shuffle(ulong16 x, ulong16 mask);
15189
15190 float16 __ovld __cnfn shuffle(float2 x, uint16 mask);
15191 float16 __ovld __cnfn shuffle(float4 x, uint16 mask);
15192 float16 __ovld __cnfn shuffle(float8 x, uint16 mask);
15193 float16 __ovld __cnfn shuffle(float16 x, uint16 mask);
15194
15195 #ifdef cl_khr_fp64
15196 double2 __ovld __cnfn shuffle(double2 x, ulong2 mask);
15197 double2 __ovld __cnfn shuffle(double4 x, ulong2 mask);
15198 double2 __ovld __cnfn shuffle(double8 x, ulong2 mask);
15199 double2 __ovld __cnfn shuffle(double16 x, ulong2 mask);
15200
15201 double4 __ovld __cnfn shuffle(double2 x, ulong4 mask);
15202 double4 __ovld __cnfn shuffle(double4 x, ulong4 mask);
15203 double4 __ovld __cnfn shuffle(double8 x, ulong4 mask);
15204 double4 __ovld __cnfn shuffle(double16 x, ulong4 mask);
15205
15206 double8 __ovld __cnfn shuffle(double2 x, ulong8 mask);
15207 double8 __ovld __cnfn shuffle(double4 x, ulong8 mask);
15208 double8 __ovld __cnfn shuffle(double8 x, ulong8 mask);
15209 double8 __ovld __cnfn shuffle(double16 x, ulong8 mask);
15210
15211 double16 __ovld __cnfn shuffle(double2 x, ulong16 mask);
15212 double16 __ovld __cnfn shuffle(double4 x, ulong16 mask);
15213 double16 __ovld __cnfn shuffle(double8 x, ulong16 mask);
15214 double16 __ovld __cnfn shuffle(double16 x, ulong16 mask);
15215 #endif //cl_khr_fp64
15216
15217 #ifdef cl_khr_fp16
15218 half2 __ovld __cnfn shuffle(half2 x, ushort2 mask);
15219 half2 __ovld __cnfn shuffle(half4 x, ushort2 mask);
15220 half2 __ovld __cnfn shuffle(half8 x, ushort2 mask);
15221 half2 __ovld __cnfn shuffle(half16 x, ushort2 mask);
15222
15223 half4 __ovld __cnfn shuffle(half2 x, ushort4 mask);
15224 half4 __ovld __cnfn shuffle(half4 x, ushort4 mask);
15225 half4 __ovld __cnfn shuffle(half8 x, ushort4 mask);
15226 half4 __ovld __cnfn shuffle(half16 x, ushort4 mask);
15227
15228 half8 __ovld __cnfn shuffle(half2 x, ushort8 mask);
15229 half8 __ovld __cnfn shuffle(half4 x, ushort8 mask);
15230 half8 __ovld __cnfn shuffle(half8 x, ushort8 mask);
15231 half8 __ovld __cnfn shuffle(half16 x, ushort8 mask);
15232
15233 half16 __ovld __cnfn shuffle(half2 x, ushort16 mask);
15234 half16 __ovld __cnfn shuffle(half4 x, ushort16 mask);
15235 half16 __ovld __cnfn shuffle(half8 x, ushort16 mask);
15236 half16 __ovld __cnfn shuffle(half16 x, ushort16 mask);
15237 #endif //cl_khr_fp16
15238
15239 char2 __ovld __cnfn shuffle2(char2 x, char2 y, uchar2 mask);
15240 char2 __ovld __cnfn shuffle2(char4 x, char4 y, uchar2 mask);
15241 char2 __ovld __cnfn shuffle2(char8 x, char8 y, uchar2 mask);
15242 char2 __ovld __cnfn shuffle2(char16 x, char16 y, uchar2 mask);
15243
15244 uchar2 __ovld __cnfn shuffle2(uchar2 x, uchar2 y, uchar2 mask);
15245 uchar2 __ovld __cnfn shuffle2(uchar4 x, uchar4 y, uchar2 mask);
15246 uchar2 __ovld __cnfn shuffle2(uchar8 x, uchar8 y, uchar2 mask);
15247 uchar2 __ovld __cnfn shuffle2(uchar16 x, uchar16 y, uchar2 mask);
15248
15249 short2 __ovld __cnfn shuffle2(short2 x, short2 y, ushort2 mask);
15250 short2 __ovld __cnfn shuffle2(short4 x, short4 y, ushort2 mask);
15251 short2 __ovld __cnfn shuffle2(short8 x, short8 y, ushort2 mask);
15252 short2 __ovld __cnfn shuffle2(short16 x, short16 y, ushort2 mask);
15253
15254 ushort2 __ovld __cnfn shuffle2(ushort2 x, ushort2 y, ushort2 mask);
15255 ushort2 __ovld __cnfn shuffle2(ushort4 x, ushort4 y, ushort2 mask);
15256 ushort2 __ovld __cnfn shuffle2(ushort8 x, ushort8 y, ushort2 mask);
15257 ushort2 __ovld __cnfn shuffle2(ushort16 x, ushort16 y, ushort2 mask);
15258
15259 int2 __ovld __cnfn shuffle2(int2 x, int2 y, uint2 mask);
15260 int2 __ovld __cnfn shuffle2(int4 x, int4 y, uint2 mask);
15261 int2 __ovld __cnfn shuffle2(int8 x, int8 y, uint2 mask);
15262 int2 __ovld __cnfn shuffle2(int16 x, int16 y, uint2 mask);
15263
15264 uint2 __ovld __cnfn shuffle2(uint2 x, uint2 y, uint2 mask);
15265 uint2 __ovld __cnfn shuffle2(uint4 x, uint4 y, uint2 mask);
15266 uint2 __ovld __cnfn shuffle2(uint8 x, uint8 y, uint2 mask);
15267 uint2 __ovld __cnfn shuffle2(uint16 x, uint16 y, uint2 mask);
15268
15269 long2 __ovld __cnfn shuffle2(long2 x, long2 y, ulong2 mask);
15270 long2 __ovld __cnfn shuffle2(long4 x, long4 y, ulong2 mask);
15271 long2 __ovld __cnfn shuffle2(long8 x, long8 y, ulong2 mask);
15272 long2 __ovld __cnfn shuffle2(long16 x, long16 y, ulong2 mask);
15273
15274 ulong2 __ovld __cnfn shuffle2(ulong2 x, ulong2 y, ulong2 mask);
15275 ulong2 __ovld __cnfn shuffle2(ulong4 x, ulong4 y, ulong2 mask);
15276 ulong2 __ovld __cnfn shuffle2(ulong8 x, ulong8 y, ulong2 mask);
15277 ulong2 __ovld __cnfn shuffle2(ulong16 x, ulong16 y, ulong2 mask);
15278
15279 float2 __ovld __cnfn shuffle2(float2 x, float2 y, uint2 mask);
15280 float2 __ovld __cnfn shuffle2(float4 x, float4 y, uint2 mask);
15281 float2 __ovld __cnfn shuffle2(float8 x, float8 y, uint2 mask);
15282 float2 __ovld __cnfn shuffle2(float16 x, float16 y, uint2 mask);
15283
15284 char4 __ovld __cnfn shuffle2(char2 x, char2 y, uchar4 mask);
15285 char4 __ovld __cnfn shuffle2(char4 x, char4 y, uchar4 mask);
15286 char4 __ovld __cnfn shuffle2(char8 x, char8 y, uchar4 mask);
15287 char4 __ovld __cnfn shuffle2(char16 x, char16 y, uchar4 mask);
15288
15289 uchar4 __ovld __cnfn shuffle2(uchar2 x, uchar2 y, uchar4 mask);
15290 uchar4 __ovld __cnfn shuffle2(uchar4 x, uchar4 y, uchar4 mask);
15291 uchar4 __ovld __cnfn shuffle2(uchar8 x, uchar8 y, uchar4 mask);
15292 uchar4 __ovld __cnfn shuffle2(uchar16 x, uchar16 y, uchar4 mask);
15293
15294 short4 __ovld __cnfn shuffle2(short2 x, short2 y, ushort4 mask);
15295 short4 __ovld __cnfn shuffle2(short4 x, short4 y, ushort4 mask);
15296 short4 __ovld __cnfn shuffle2(short8 x, short8 y, ushort4 mask);
15297 short4 __ovld __cnfn shuffle2(short16 x, short16 y, ushort4 mask);
15298
15299 ushort4 __ovld __cnfn shuffle2(ushort2 x, ushort2 y, ushort4 mask);
15300 ushort4 __ovld __cnfn shuffle2(ushort4 x, ushort4 y, ushort4 mask);
15301 ushort4 __ovld __cnfn shuffle2(ushort8 x, ushort8 y, ushort4 mask);
15302 ushort4 __ovld __cnfn shuffle2(ushort16 x, ushort16 y, ushort4 mask);
15303
15304 int4 __ovld __cnfn shuffle2(int2 x, int2 y, uint4 mask);
15305 int4 __ovld __cnfn shuffle2(int4 x, int4 y, uint4 mask);
15306 int4 __ovld __cnfn shuffle2(int8 x, int8 y, uint4 mask);
15307 int4 __ovld __cnfn shuffle2(int16 x, int16 y, uint4 mask);
15308
15309 uint4 __ovld __cnfn shuffle2(uint2 x, uint2 y, uint4 mask);
15310 uint4 __ovld __cnfn shuffle2(uint4 x, uint4 y, uint4 mask);
15311 uint4 __ovld __cnfn shuffle2(uint8 x, uint8 y, uint4 mask);
15312 uint4 __ovld __cnfn shuffle2(uint16 x, uint16 y, uint4 mask);
15313
15314 long4 __ovld __cnfn shuffle2(long2 x, long2 y, ulong4 mask);
15315 long4 __ovld __cnfn shuffle2(long4 x, long4 y, ulong4 mask);
15316 long4 __ovld __cnfn shuffle2(long8 x, long8 y, ulong4 mask);
15317 long4 __ovld __cnfn shuffle2(long16 x, long16 y, ulong4 mask);
15318
15319 ulong4 __ovld __cnfn shuffle2(ulong2 x, ulong2 y, ulong4 mask);
15320 ulong4 __ovld __cnfn shuffle2(ulong4 x, ulong4 y, ulong4 mask);
15321 ulong4 __ovld __cnfn shuffle2(ulong8 x, ulong8 y, ulong4 mask);
15322 ulong4 __ovld __cnfn shuffle2(ulong16 x, ulong16 y, ulong4 mask);
15323
15324 float4 __ovld __cnfn shuffle2(float2 x, float2 y, uint4 mask);
15325 float4 __ovld __cnfn shuffle2(float4 x, float4 y, uint4 mask);
15326 float4 __ovld __cnfn shuffle2(float8 x, float8 y, uint4 mask);
15327 float4 __ovld __cnfn shuffle2(float16 x, float16 y, uint4 mask);
15328
15329 char8 __ovld __cnfn shuffle2(char2 x, char2 y, uchar8 mask);
15330 char8 __ovld __cnfn shuffle2(char4 x, char4 y, uchar8 mask);
15331 char8 __ovld __cnfn shuffle2(char8 x, char8 y, uchar8 mask);
15332 char8 __ovld __cnfn shuffle2(char16 x, char16 y, uchar8 mask);
15333
15334 uchar8 __ovld __cnfn shuffle2(uchar2 x, uchar2 y, uchar8 mask);
15335 uchar8 __ovld __cnfn shuffle2(uchar4 x, uchar4 y, uchar8 mask);
15336 uchar8 __ovld __cnfn shuffle2(uchar8 x, uchar8 y, uchar8 mask);
15337 uchar8 __ovld __cnfn shuffle2(uchar16 x, uchar16 y, uchar8 mask);
15338
15339 short8 __ovld __cnfn shuffle2(short2 x, short2 y, ushort8 mask);
15340 short8 __ovld __cnfn shuffle2(short4 x, short4 y, ushort8 mask);
15341 short8 __ovld __cnfn shuffle2(short8 x, short8 y, ushort8 mask);
15342 short8 __ovld __cnfn shuffle2(short16 x, short16 y, ushort8 mask);
15343
15344 ushort8 __ovld __cnfn shuffle2(ushort2 x, ushort2 y, ushort8 mask);
15345 ushort8 __ovld __cnfn shuffle2(ushort4 x, ushort4 y, ushort8 mask);
15346 ushort8 __ovld __cnfn shuffle2(ushort8 x, ushort8 y, ushort8 mask);
15347 ushort8 __ovld __cnfn shuffle2(ushort16 x, ushort16 y, ushort8 mask);
15348
15349 int8 __ovld __cnfn shuffle2(int2 x, int2 y, uint8 mask);
15350 int8 __ovld __cnfn shuffle2(int4 x, int4 y, uint8 mask);
15351 int8 __ovld __cnfn shuffle2(int8 x, int8 y, uint8 mask);
15352 int8 __ovld __cnfn shuffle2(int16 x, int16 y, uint8 mask);
15353
15354 uint8 __ovld __cnfn shuffle2(uint2 x, uint2 y, uint8 mask);
15355 uint8 __ovld __cnfn shuffle2(uint4 x, uint4 y, uint8 mask);
15356 uint8 __ovld __cnfn shuffle2(uint8 x, uint8 y, uint8 mask);
15357 uint8 __ovld __cnfn shuffle2(uint16 x, uint16 y, uint8 mask);
15358
15359 long8 __ovld __cnfn shuffle2(long2 x, long2 y, ulong8 mask);
15360 long8 __ovld __cnfn shuffle2(long4 x, long4 y, ulong8 mask);
15361 long8 __ovld __cnfn shuffle2(long8 x, long8 y, ulong8 mask);
15362 long8 __ovld __cnfn shuffle2(long16 x, long16 y, ulong8 mask);
15363
15364 ulong8 __ovld __cnfn shuffle2(ulong2 x, ulong2 y, ulong8 mask);
15365 ulong8 __ovld __cnfn shuffle2(ulong4 x, ulong4 y, ulong8 mask);
15366 ulong8 __ovld __cnfn shuffle2(ulong8 x, ulong8 y, ulong8 mask);
15367 ulong8 __ovld __cnfn shuffle2(ulong16 x, ulong16 y, ulong8 mask);
15368
15369 float8 __ovld __cnfn shuffle2(float2 x, float2 y, uint8 mask);
15370 float8 __ovld __cnfn shuffle2(float4 x, float4 y, uint8 mask);
15371 float8 __ovld __cnfn shuffle2(float8 x, float8 y, uint8 mask);
15372 float8 __ovld __cnfn shuffle2(float16 x, float16 y, uint8 mask);
15373
15374 char16 __ovld __cnfn shuffle2(char2 x, char2 y, uchar16 mask);
15375 char16 __ovld __cnfn shuffle2(char4 x, char4 y, uchar16 mask);
15376 char16 __ovld __cnfn shuffle2(char8 x, char8 y, uchar16 mask);
15377 char16 __ovld __cnfn shuffle2(char16 x, char16 y, uchar16 mask);
15378
15379 uchar16 __ovld __cnfn shuffle2(uchar2 x, uchar2 y, uchar16 mask);
15380 uchar16 __ovld __cnfn shuffle2(uchar4 x, uchar4 y, uchar16 mask);
15381 uchar16 __ovld __cnfn shuffle2(uchar8 x, uchar8 y, uchar16 mask);
15382 uchar16 __ovld __cnfn shuffle2(uchar16 x, uchar16 y, uchar16 mask);
15383
15384 short16 __ovld __cnfn shuffle2(short2 x, short2 y, ushort16 mask);
15385 short16 __ovld __cnfn shuffle2(short4 x, short4 y, ushort16 mask);
15386 short16 __ovld __cnfn shuffle2(short8 x, short8 y, ushort16 mask);
15387 short16 __ovld __cnfn shuffle2(short16 x, short16 y, ushort16 mask);
15388
15389 ushort16 __ovld __cnfn shuffle2(ushort2 x, ushort2 y, ushort16 mask);
15390 ushort16 __ovld __cnfn shuffle2(ushort4 x, ushort4 y, ushort16 mask);
15391 ushort16 __ovld __cnfn shuffle2(ushort8 x, ushort8 y, ushort16 mask);
15392 ushort16 __ovld __cnfn shuffle2(ushort16 x, ushort16 y, ushort16 mask);
15393
15394 int16 __ovld __cnfn shuffle2(int2 x, int2 y, uint16 mask);
15395 int16 __ovld __cnfn shuffle2(int4 x, int4 y, uint16 mask);
15396 int16 __ovld __cnfn shuffle2(int8 x, int8 y, uint16 mask);
15397 int16 __ovld __cnfn shuffle2(int16 x, int16 y, uint16 mask);
15398
15399 uint16 __ovld __cnfn shuffle2(uint2 x, uint2 y, uint16 mask);
15400 uint16 __ovld __cnfn shuffle2(uint4 x, uint4 y, uint16 mask);
15401 uint16 __ovld __cnfn shuffle2(uint8 x, uint8 y, uint16 mask);
15402 uint16 __ovld __cnfn shuffle2(uint16 x, uint16 y, uint16 mask);
15403
15404 long16 __ovld __cnfn shuffle2(long2 x, long2 y, ulong16 mask);
15405 long16 __ovld __cnfn shuffle2(long4 x, long4 y, ulong16 mask);
15406 long16 __ovld __cnfn shuffle2(long8 x, long8 y, ulong16 mask);
15407 long16 __ovld __cnfn shuffle2(long16 x, long16 y, ulong16 mask);
15408
15409 ulong16 __ovld __cnfn shuffle2(ulong2 x, ulong2 y, ulong16 mask);
15410 ulong16 __ovld __cnfn shuffle2(ulong4 x, ulong4 y, ulong16 mask);
15411 ulong16 __ovld __cnfn shuffle2(ulong8 x, ulong8 y, ulong16 mask);
15412 ulong16 __ovld __cnfn shuffle2(ulong16 x, ulong16 y, ulong16 mask);
15413
15414 float16 __ovld __cnfn shuffle2(float2 x, float2 y, uint16 mask);
15415 float16 __ovld __cnfn shuffle2(float4 x, float4 y, uint16 mask);
15416 float16 __ovld __cnfn shuffle2(float8 x, float8 y, uint16 mask);
15417 float16 __ovld __cnfn shuffle2(float16 x, float16 y, uint16 mask);
15418
15419 #ifdef cl_khr_fp64
15420 double2 __ovld __cnfn shuffle2(double2 x, double2 y, ulong2 mask);
15421 double2 __ovld __cnfn shuffle2(double4 x, double4 y, ulong2 mask);
15422 double2 __ovld __cnfn shuffle2(double8 x, double8 y, ulong2 mask);
15423 double2 __ovld __cnfn shuffle2(double16 x, double16 y, ulong2 mask);
15424
15425 double4 __ovld __cnfn shuffle2(double2 x, double2 y, ulong4 mask);
15426 double4 __ovld __cnfn shuffle2(double4 x, double4 y, ulong4 mask);
15427 double4 __ovld __cnfn shuffle2(double8 x, double8 y, ulong4 mask);
15428 double4 __ovld __cnfn shuffle2(double16 x, double16 y, ulong4 mask);
15429
15430 double8 __ovld __cnfn shuffle2(double2 x, double2 y, ulong8 mask);
15431 double8 __ovld __cnfn shuffle2(double4 x, double4 y, ulong8 mask);
15432 double8 __ovld __cnfn shuffle2(double8 x, double8 y, ulong8 mask);
15433 double8 __ovld __cnfn shuffle2(double16 x, double16 y, ulong8 mask);
15434
15435 double16 __ovld __cnfn shuffle2(double2 x, double2 y, ulong16 mask);
15436 double16 __ovld __cnfn shuffle2(double4 x, double4 y, ulong16 mask);
15437 double16 __ovld __cnfn shuffle2(double8 x, double8 y, ulong16 mask);
15438 double16 __ovld __cnfn shuffle2(double16 x, double16 y, ulong16 mask);
15439 #endif //cl_khr_fp64
15440
15441 #ifdef cl_khr_fp16
15442 half2 __ovld __cnfn shuffle2(half2 x, half2 y, ushort2 mask);
15443 half2 __ovld __cnfn shuffle2(half4 x, half4 y, ushort2 mask);
15444 half2 __ovld __cnfn shuffle2(half8 x, half8 y, ushort2 mask);
15445 half2 __ovld __cnfn shuffle2(half16 x, half16 y, ushort2 mask);
15446
15447 half4 __ovld __cnfn shuffle2(half2 x, half2 y, ushort4 mask);
15448 half4 __ovld __cnfn shuffle2(half4 x, half4 y, ushort4 mask);
15449 half4 __ovld __cnfn shuffle2(half8 x, half8 y, ushort4 mask);
15450 half4 __ovld __cnfn shuffle2(half16 x, half16 y, ushort4 mask);
15451
15452 half8 __ovld __cnfn shuffle2(half2 x, half2 y, ushort8 mask);
15453 half8 __ovld __cnfn shuffle2(half4 x, half4 y, ushort8 mask);
15454 half8 __ovld __cnfn shuffle2(half8 x, half8 y, ushort8 mask);
15455 half8 __ovld __cnfn shuffle2(half16 x, half16 y, ushort8 mask);
15456
15457 half16 __ovld __cnfn shuffle2(half2 x, half2 y, ushort16 mask);
15458 half16 __ovld __cnfn shuffle2(half4 x, half4 y, ushort16 mask);
15459 half16 __ovld __cnfn shuffle2(half8 x, half8 y, ushort16 mask);
15460 half16 __ovld __cnfn shuffle2(half16 x, half16 y, ushort16 mask);
15461 #endif //cl_khr_fp16
15462
15463 #if __OPENCL_C_VERSION__ >= CL_VERSION_1_2
15464 // OpenCL v1.2 s6.12.13, v2.0 s6.13.13 - printf
15465
15466 int printf(__constant const char* st, ...);
15467 #endif
15468
15469 // OpenCL v1.1 s6.11.3, v1.2 s6.12.14, v2.0 s6.13.14 - Image Read and Write Functions
15470
15471 // These values need to match the runtime equivalent
15472 //
15473 // Addressing Mode.
15474 //
15475 #define CLK_ADDRESS_NONE                0
15476 #define CLK_ADDRESS_CLAMP_TO_EDGE       2
15477 #define CLK_ADDRESS_CLAMP               4
15478 #define CLK_ADDRESS_REPEAT              6
15479 #define CLK_ADDRESS_MIRRORED_REPEAT     8
15480
15481 //
15482 // Coordination Normalization
15483 //
15484 #define CLK_NORMALIZED_COORDS_FALSE     0
15485 #define CLK_NORMALIZED_COORDS_TRUE      1
15486
15487 //
15488 // Filtering Mode.
15489 //
15490 #define CLK_FILTER_NEAREST              0x10
15491 #define CLK_FILTER_LINEAR               0x20
15492
15493 #ifdef cl_khr_gl_msaa_sharing
15494 #pragma OPENCL EXTENSION cl_khr_gl_msaa_sharing : enable
15495 #endif //cl_khr_gl_msaa_sharing
15496
15497 /**
15498  * Use the coordinate (coord.xy) to do an element lookup in
15499  * the 2D image object specified by image.
15500  *
15501  * Use the coordinate (coord.x, coord.y, coord.z) to do
15502  * an element lookup in the 3D image object specified
15503  * by image. coord.w is ignored.
15504  *
15505  * Use the coordinate (coord.z) to index into the
15506  * 2D image array object specified by image_array
15507  * and (coord.x, coord.y) to do an element lookup in
15508  * the 2D image object specified by image.
15509  *
15510  * Use the coordinate (x) to do an element lookup in
15511  * the 1D image object specified by image.
15512  *
15513  * Use the coordinate (coord.y) to index into the
15514  * 1D image array object specified by image_array
15515  * and (coord.x) to do an element lookup in
15516  * the 1D image object specified by image.
15517  *
15518  * Use the coordinate (cood.xy) and sample to do an
15519  * element lookup in the 2D multi-sample image specified
15520  * by image.
15521  *
15522  * Use coord.xy and sample to do an element
15523  * lookup in the 2D multi-sample image layer
15524  * identified by index coord.z in the 2D multi-sample
15525  * image array specified by image.
15526  *
15527  * For mipmap images, use the mip-level specified by
15528  * the Level-of-Detail (lod) or use gradients for LOD
15529  * computation.
15530  *
15531  * read_imagef returns floating-point values in the
15532  * range [0.0 ... 1.0] for image objects created with
15533  * image_channel_data_type set to one of the predefined
15534  * packed formats or CL_UNORM_INT8, or
15535  * CL_UNORM_INT16.
15536  *
15537  * read_imagef returns floating-point values in the
15538  * range [-1.0 ... 1.0] for image objects created with
15539  * image_channel_data_type set to CL_SNORM_INT8,
15540  * or CL_SNORM_INT16.
15541  *
15542  * read_imagef returns floating-point values for image
15543  * objects created with image_channel_data_type set to
15544  * CL_HALF_FLOAT or CL_FLOAT.
15545  *
15546  * read_imagei and read_imageui return
15547  * unnormalized signed integer and unsigned integer
15548  * values respectively. Each channel will be stored in a
15549  * 32-bit integer.
15550  *
15551  * read_imagei can only be used with image objects
15552  * created with image_channel_data_type set to one of
15553  * the following values:
15554  * CL_SIGNED_INT8,
15555  * CL_SIGNED_INT16 and
15556  * CL_SIGNED_INT32.
15557  * If the image_channel_data_type is not one of the
15558  * above values, the values returned by read_imagei
15559  * are undefined.
15560  *
15561  * read_imageui can only be used with image objects
15562  * created with image_channel_data_type set to one of
15563  * the following values:
15564  * CL_UNSIGNED_INT8,
15565  * CL_UNSIGNED_INT16 and
15566  * CL_UNSIGNED_INT32.
15567  * If the image_channel_data_type is not one of the
15568  * above values, the values returned by read_imageui
15569  * are undefined.
15570  *
15571  * The read_image{i|ui} calls support a nearest filter
15572  * only. The filter_mode specified in sampler
15573  * must be set to CLK_FILTER_NEAREST; otherwise
15574  * the values returned are undefined.
15575  
15576  * The read_image{f|i|ui} calls that take
15577  * integer coordinates must use a sampler with
15578  * normalized coordinates set to
15579  * CLK_NORMALIZED_COORDS_FALSE and
15580  * addressing mode set to
15581  * CLK_ADDRESS_CLAMP_TO_EDGE,
15582  * CLK_ADDRESS_CLAMP or CLK_ADDRESS_NONE;
15583  * otherwise the values returned are undefined.
15584  *
15585  * Values returned by read_imagef for image objects
15586  * with image_channel_data_type values not specified
15587  * in the description above are undefined.
15588  */
15589
15590 float4 __purefn __ovld read_imagef(read_only image2d_t image, sampler_t sampler, int2 coord);
15591 float4 __purefn __ovld read_imagef(read_only image2d_t image, sampler_t sampler, float2 coord);
15592
15593 int4 __purefn __ovld read_imagei(read_only image2d_t image, sampler_t sampler, int2 coord);
15594 int4 __purefn __ovld read_imagei(read_only image2d_t image, sampler_t sampler, float2 coord);
15595 uint4 __purefn __ovld read_imageui(read_only image2d_t image, sampler_t sampler, int2 coord);
15596 uint4 __purefn __ovld read_imageui(read_only image2d_t image, sampler_t sampler, float2 coord);
15597
15598 float4 __purefn __ovld read_imagef(read_only image3d_t image, sampler_t sampler, int4 coord);
15599 float4 __purefn __ovld read_imagef(read_only image3d_t image, sampler_t sampler, float4 coord);
15600
15601 int4 __purefn __ovld read_imagei(read_only image3d_t image, sampler_t sampler, int4 coord);
15602 int4 __purefn __ovld read_imagei(read_only image3d_t image, sampler_t sampler, float4 coord);
15603 uint4 __purefn __ovld read_imageui(read_only image3d_t image, sampler_t sampler, int4 coord);
15604 uint4 __purefn __ovld read_imageui(read_only image3d_t image, sampler_t sampler, float4 coord);
15605
15606 float4 __purefn __ovld read_imagef(read_only image2d_array_t image_array, sampler_t sampler, int4 coord);
15607 float4 __purefn __ovld read_imagef(read_only image2d_array_t image_array, sampler_t sampler, float4 coord);
15608
15609 int4 __purefn __ovld read_imagei(read_only image2d_array_t image_array, sampler_t sampler, int4 coord);
15610 int4 __purefn __ovld read_imagei(read_only image2d_array_t image_array, sampler_t sampler, float4 coord);
15611 uint4 __purefn __ovld read_imageui(read_only image2d_array_t image_array, sampler_t sampler, int4 coord);
15612 uint4 __purefn __ovld read_imageui(read_only image2d_array_t image_array, sampler_t sampler, float4 coord);
15613
15614 float4 __purefn __ovld read_imagef(read_only image1d_t image, sampler_t sampler, int coord);
15615 float4 __purefn __ovld read_imagef(read_only image1d_t image, sampler_t sampler, float coord);
15616
15617 int4 __purefn __ovld read_imagei(read_only image1d_t image, sampler_t sampler, int coord);
15618 int4 __purefn __ovld read_imagei(read_only image1d_t image, sampler_t sampler, float coord);
15619 uint4 __purefn __ovld read_imageui(read_only image1d_t image, sampler_t sampler, int coord);
15620 uint4 __purefn __ovld read_imageui(read_only image1d_t image, sampler_t sampler, float coord);
15621
15622 float4 __purefn __ovld read_imagef(read_only image1d_array_t image_array, sampler_t sampler, int2 coord);
15623 float4 __purefn __ovld read_imagef(read_only image1d_array_t image_array, sampler_t sampler, float2 coord);
15624
15625 int4 __purefn __ovld read_imagei(read_only image1d_array_t image_array, sampler_t sampler, int2 coord);
15626 int4 __purefn __ovld read_imagei(read_only image1d_array_t image_array, sampler_t sampler, float2 coord);
15627 uint4 __purefn __ovld read_imageui(read_only image1d_array_t image_array, sampler_t sampler, int2 coord);
15628 uint4 __purefn __ovld read_imageui(read_only image1d_array_t image_array, sampler_t sampler, float2 coord);
15629
15630 #ifdef cl_khr_depth_images
15631 float __purefn __ovld read_imagef(read_only image2d_depth_t image, sampler_t sampler, float2 coord);
15632 float __purefn __ovld read_imagef(read_only image2d_depth_t image, sampler_t sampler, int2 coord);
15633
15634 float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, sampler_t sampler, float4 coord);
15635 float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, sampler_t sampler, int4 coord);
15636 #endif //cl_khr_depth_images
15637
15638 #if defined(cl_khr_gl_msaa_sharing)
15639 float4 __purefn __ovld read_imagef(read_only image2d_msaa_t image, int2 coord, int sample);
15640 int4 __purefn __ovld read_imagei(read_only image2d_msaa_t image, int2 coord, int sample);
15641 uint4 __purefn __ovld read_imageui(read_only image2d_msaa_t image, int2 coord, int sample);
15642
15643 float __purefn __ovld read_imagef(read_only image2d_msaa_depth_t image, int2 coord, int sample);
15644
15645 float4 __purefn __ovld read_imagef(read_only image2d_array_msaa_t image, int4 coord, int sample);
15646 int4 __purefn __ovld read_imagei(read_only image2d_array_msaa_t image, int4 coord, int sample);
15647 uint4 __purefn __ovld read_imageui(read_only image2d_array_msaa_t image, int4 coord, int sample);
15648
15649 float __purefn __ovld read_imagef(read_only image2d_array_msaa_depth_t image, int4 coord, int sample);
15650 #endif //cl_khr_gl_msaa_sharing
15651
15652 // OpenCL Extension v2.0 s9.18 - Mipmaps
15653 #ifdef cl_khr_mipmap_image
15654
15655 float4 __purefn __ovld read_imagef(read_only image1d_t image, sampler_t sampler, float coord, float lod);
15656 int4 __purefn __ovld read_imagei(read_only image1d_t image, sampler_t sampler, float coord, float lod);
15657 uint4 __purefn __ovld read_imageui(read_only image1d_t image, sampler_t sampler, float coord, float lod);
15658
15659 float4 __purefn __ovld read_imagef(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
15660 int4 __purefn __ovld read_imagei(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
15661 uint4 __purefn __ovld read_imageui(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
15662
15663 float4 __purefn __ovld read_imagef(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
15664 int4 __purefn __ovld read_imagei(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
15665 uint4 __purefn __ovld read_imageui(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
15666
15667 float __purefn __ovld read_imagef(read_only image2d_depth_t image, sampler_t sampler, float2 coord, float lod);
15668
15669 float4 __purefn __ovld read_imagef(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
15670 int4 __purefn __ovld read_imagei(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
15671 uint4 __purefn __ovld read_imageui(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
15672
15673 float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, sampler_t sampler, float4 coord, float lod);
15674
15675 float4 __purefn __ovld read_imagef(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
15676 int4 __purefn __ovld read_imagei(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
15677 uint4 __purefn __ovld read_imageui(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
15678
15679 float4 __purefn __ovld read_imagef(read_only image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
15680 int4 __purefn __ovld read_imagei(read_only image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
15681 uint4 __purefn __ovld read_imageui(read_only image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
15682
15683 float4 __purefn __ovld read_imagef(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
15684 int4 __purefn __ovld read_imagei(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
15685 uint4 __purefn __ovld read_imageui(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
15686
15687 float4 __purefn __ovld read_imagef(read_only image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
15688 int4 __purefn __ovld read_imagei(read_only image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
15689 uint4 __purefn __ovld read_imageui(read_only image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
15690
15691 float __purefn __ovld read_imagef(read_only image2d_depth_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
15692
15693 float4 __purefn __ovld read_imagef(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
15694 int4 __purefn __ovld read_imagei(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
15695 uint4 __purefn __ovld read_imageui(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
15696
15697 float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
15698
15699 float4 __purefn __ovld read_imagef(read_only image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
15700 int4 __purefn __ovld read_imagei(read_only image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
15701 uint4 __purefn __ovld read_imageui(read_only image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
15702
15703 float4 __purefn __ovld read_imagef(read_only image1d_t image, sampler_t sampler, float coord, float lod);
15704 int4 __purefn __ovld read_imagei(read_only image1d_t image, sampler_t sampler, float coord, float lod);
15705 uint4 __purefn __ovld read_imageui(read_only image1d_t image, sampler_t sampler, float coord, float lod);
15706
15707 float4 __purefn __ovld read_imagef(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
15708 int4 __purefn __ovld read_imagei(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
15709 uint4 __purefn __ovld read_imageui(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
15710
15711 float4 __purefn __ovld read_imagef(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
15712 int4 __purefn __ovld read_imagei(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
15713 uint4 __purefn __ovld read_imageui(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
15714
15715 float __purefn __ovld read_imagef(read_only image2d_depth_t image, sampler_t sampler, float2 coord, float lod);
15716
15717 float4 __purefn __ovld read_imagef(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
15718 int4 __purefn __ovld read_imagei(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
15719 uint4 __purefn __ovld read_imageui(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
15720
15721 float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, sampler_t sampler, float4 coord, float lod);
15722
15723 float4 __purefn __ovld read_imagef(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
15724 int4 __purefn __ovld read_imagei(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
15725 uint4 __purefn __ovld read_imageui(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
15726
15727 #endif //cl_khr_mipmap_image
15728
15729 /**
15730 * Sampler-less Image Access
15731 */
15732
15733 float4 __purefn __ovld read_imagef(read_only image1d_t image, int coord);
15734 int4 __purefn __ovld read_imagei(read_only image1d_t image, int coord);
15735 uint4 __purefn __ovld read_imageui(read_only image1d_t image, int coord);
15736
15737 float4 __purefn __ovld read_imagef(read_only image1d_buffer_t image, int coord);
15738 int4 __purefn __ovld read_imagei(read_only image1d_buffer_t image, int coord);
15739 uint4 __purefn __ovld read_imageui(read_only image1d_buffer_t image, int coord);
15740
15741 float4 __purefn __ovld read_imagef(read_only image1d_array_t image, int2 coord);
15742 int4 __purefn __ovld read_imagei(read_only image1d_array_t image, int2 coord);
15743 uint4 __purefn __ovld read_imageui(read_only image1d_array_t image, int2 coord);
15744
15745 float4 __purefn __ovld read_imagef(read_only image2d_t image, int2 coord);
15746 int4 __purefn __ovld read_imagei(read_only image2d_t image, int2 coord);
15747 uint4 __purefn __ovld read_imageui(read_only image2d_t image, int2 coord);
15748
15749 float4 __purefn __ovld read_imagef(read_only image2d_array_t image, int4 coord);
15750 int4 __purefn __ovld read_imagei(read_only image2d_array_t image, int4 coord);
15751 uint4 __purefn __ovld read_imageui(read_only image2d_array_t image, int4 coord);
15752
15753 #ifdef cl_khr_depth_images
15754 float __purefn __ovld read_imagef(read_only image2d_depth_t image, int2 coord);
15755 float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, int4 coord);
15756 #endif //cl_khr_depth_images
15757
15758 float4 __purefn __ovld read_imagef(read_only image3d_t image, int4 coord);
15759 int4 __purefn __ovld read_imagei(read_only image3d_t image, int4 coord);
15760 uint4 __purefn __ovld read_imageui(read_only image3d_t image, int4 coord);
15761
15762 // Image read functions returning half4 type
15763 #ifdef cl_khr_fp16
15764 half4 __purefn __ovld read_imageh(read_only image1d_t image, sampler_t sampler, int coord);
15765 half4 __purefn __ovld read_imageh(read_only image1d_t image, sampler_t sampler, float coord);
15766 half4 __purefn __ovld read_imageh(read_only image1d_array_t image, sampler_t sampler, int2 coord);
15767 half4 __purefn __ovld read_imageh(read_only image1d_array_t image, sampler_t sampler, float2 coord);
15768 half4 __purefn __ovld read_imageh(read_only image2d_t image, sampler_t sampler, int2 coord);
15769 half4 __purefn __ovld read_imageh(read_only image2d_t image, sampler_t sampler, float2 coord);
15770 half4 __purefn __ovld read_imageh(read_only image3d_t image, sampler_t sampler, int4 coord);
15771 half4 __purefn __ovld read_imageh(read_only image3d_t image, sampler_t sampler, float4 coord);
15772 half4 __purefn __ovld read_imageh(read_only image2d_array_t image, sampler_t sampler, int4 coord);
15773 half4 __purefn __ovld read_imageh(read_only image2d_array_t image, sampler_t sampler, float4 coord);
15774 half4 __purefn __ovld read_imageh(read_only image1d_t image, int coord);
15775 half4 __purefn __ovld read_imageh(read_only image2d_t image, int2 coord);
15776 half4 __purefn __ovld read_imageh(read_only image3d_t image, int4 coord);
15777 half4 __purefn __ovld read_imageh(read_only image1d_array_t image, int2 coord);
15778 half4 __purefn __ovld read_imageh(read_only image2d_array_t image, int4 coord);
15779 half4 __purefn __ovld read_imageh(read_only image1d_buffer_t image, int coord);
15780 #endif //cl_khr_fp16
15781
15782 // Image read functions for read_write images
15783 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
15784 float4 __purefn __ovld read_imagef(read_write image1d_t image, int coord);
15785 int4 __purefn __ovld read_imagei(read_write image1d_t image, int coord);
15786 uint4 __purefn __ovld read_imageui(read_write image1d_t image, int coord);
15787
15788 float4 __purefn __ovld read_imagef(read_write image1d_buffer_t image, int coord);
15789 int4 __purefn __ovld read_imagei(read_write image1d_buffer_t image, int coord);
15790 uint4 __purefn __ovld read_imageui(read_write image1d_buffer_t image, int coord);
15791
15792 float4 __purefn __ovld read_imagef(read_write image1d_array_t image, int2 coord);
15793 int4 __purefn __ovld read_imagei(read_write image1d_array_t image, int2 coord);
15794 uint4 __purefn __ovld read_imageui(read_write image1d_array_t image, int2 coord);
15795
15796 float4 __purefn __ovld read_imagef(read_write image2d_t image, int2 coord);
15797 int4 __purefn __ovld read_imagei(read_write image2d_t image, int2 coord);
15798 uint4 __purefn __ovld read_imageui(read_write image2d_t image, int2 coord);
15799
15800 float4 __purefn __ovld read_imagef(read_write image2d_array_t image, int4 coord);
15801 int4 __purefn __ovld read_imagei(read_write image2d_array_t image, int4 coord);
15802 uint4 __purefn __ovld read_imageui(read_write image2d_array_t image, int4 coord);
15803
15804 float4 __purefn __ovld read_imagef(read_write image3d_t image, int4 coord);
15805 int4 __purefn __ovld read_imagei(read_write image3d_t image, int4 coord);
15806 uint4 __purefn __ovld read_imageui(read_write image3d_t image, int4 coord);
15807
15808 #ifdef cl_khr_depth_images
15809 float __purefn __ovld read_imagef(read_write image2d_depth_t image, int2 coord);
15810 float __purefn __ovld read_imagef(read_write image2d_array_depth_t image, int4 coord);
15811 #endif //cl_khr_depth_images
15812
15813 #if cl_khr_gl_msaa_sharing
15814 float4 __purefn __ovld read_imagef(read_write image2d_msaa_t image, int2 coord, int sample);
15815 int4 __purefn __ovld read_imagei(read_write image2d_msaa_t image, int2 coord, int sample);
15816 uint4 __purefn __ovld read_imageui(read_write image2d_msaa_t image, int2 coord, int sample);
15817
15818 float4 __purefn __ovld read_imagef(read_write image2d_array_msaa_t image, int4 coord, int sample);
15819 int4 __purefn __ovld read_imagei(read_write image2d_array_msaa_t image, int4 coord, int sample);
15820 uint4 __purefn __ovld read_imageui(read_write image2d_array_msaa_t image, int4 coord, int sample);
15821
15822 float __purefn __ovld read_imagef(read_write image2d_msaa_depth_t image, int2 coord, int sample);
15823 float __purefn __ovld read_imagef(read_write image2d_array_msaa_depth_t image, int4 coord, int sample);
15824 #endif //cl_khr_gl_msaa_sharing
15825
15826 #ifdef cl_khr_mipmap_image
15827 float4 __purefn __ovld read_imagef(read_write image1d_t image, sampler_t sampler, float coord, float lod);
15828 int4 __purefn __ovld read_imagei(read_write image1d_t image, sampler_t sampler, float coord, float lod);
15829 uint4 __purefn __ovld read_imageui(read_write image1d_t image, sampler_t sampler, float coord, float lod);
15830
15831 float4 __purefn __ovld read_imagef(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
15832 int4 __purefn __ovld read_imagei(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
15833 uint4 __purefn __ovld read_imageui(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
15834
15835 float4 __purefn __ovld read_imagef(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
15836 int4 __purefn __ovld read_imagei(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
15837 uint4 __purefn __ovld read_imageui(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
15838
15839 float __purefn __ovld read_imagef(read_write image2d_depth_t image, sampler_t sampler, float2 coord, float lod);
15840
15841 float4 __purefn __ovld read_imagef(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
15842 int4 __purefn __ovld read_imagei(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
15843 uint4 __purefn __ovld read_imageui(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
15844
15845 float __purefn __ovld read_imagef(read_write image2d_array_depth_t image, sampler_t sampler, float4 coord, float lod);
15846
15847 float4 __purefn __ovld read_imagef(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
15848 int4 __purefn __ovld read_imagei(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
15849 uint4 __purefn __ovld read_imageui(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
15850
15851 float4 __purefn __ovld read_imagef(read_write image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
15852 int4 __purefn __ovld read_imagei(read_write image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
15853 uint4 __purefn __ovld read_imageui(read_write image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
15854
15855 float4 __purefn __ovld read_imagef(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
15856 int4 __purefn __ovld read_imagei(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
15857 uint4 __purefn __ovld read_imageui(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
15858
15859 float4 __purefn __ovld read_imagef(read_write image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
15860 int4 __purefn __ovld read_imagei(read_write image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
15861 uint4 __purefn __ovld read_imageui(read_write image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
15862
15863 float __purefn __ovld read_imagef(read_write image2d_depth_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
15864
15865 float4 __purefn __ovld read_imagef(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
15866 int4 __purefn __ovld read_imagei(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
15867 uint4 __purefn __ovld read_imageui(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
15868
15869 float __purefn __ovld read_imagef(read_write image2d_array_depth_t image, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
15870
15871 float4 __purefn __ovld read_imagef(read_write image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
15872 int4 __purefn __ovld read_imagei(read_write image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
15873 uint4 __purefn __ovld read_imageui(read_write image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
15874
15875 float4 __purefn __ovld read_imagef(read_write image1d_t image, sampler_t sampler, float coord, float lod);
15876 int4 __purefn __ovld read_imagei(read_write image1d_t image, sampler_t sampler, float coord, float lod);
15877 uint4 __purefn __ovld read_imageui(read_write image1d_t image, sampler_t sampler, float coord, float lod);
15878
15879 float4 __purefn __ovld read_imagef(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
15880 int4 __purefn __ovld read_imagei(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
15881 uint4 __purefn __ovld read_imageui(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
15882
15883 float4 __purefn __ovld read_imagef(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
15884 int4 __purefn __ovld read_imagei(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
15885 uint4 __purefn __ovld read_imageui(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
15886
15887 float __purefn __ovld read_imagef(read_write image2d_depth_t image, sampler_t sampler, float2 coord, float lod);
15888
15889 float4 __purefn __ovld read_imagef(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
15890 int4 __purefn __ovld read_imagei(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
15891 uint4 __purefn __ovld read_imageui(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
15892
15893 float __purefn __ovld read_imagef(read_write image2d_array_depth_t image, sampler_t sampler, float4 coord, float lod);
15894
15895 float4 __purefn __ovld read_imagef(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
15896 int4 __purefn __ovld read_imagei(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
15897 uint4 __purefn __ovld read_imageui(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
15898 #endif //cl_khr_mipmap_image
15899
15900 // Image read functions returning half4 type
15901 #ifdef cl_khr_fp16
15902 half4 __purefn __ovld read_imageh(read_write image1d_t image, int coord);
15903 half4 __purefn __ovld read_imageh(read_write image2d_t image, int2 coord);
15904 half4 __purefn __ovld read_imageh(read_write image3d_t image, int4 coord);
15905 half4 __purefn __ovld read_imageh(read_write image1d_array_t image, int2 coord);
15906 half4 __purefn __ovld read_imageh(read_write image2d_array_t image, int4 coord);
15907 half4 __purefn __ovld read_imageh(read_write image1d_buffer_t image, int coord);
15908 #endif //cl_khr_fp16
15909 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
15910
15911 /**
15912  * Write color value to location specified by coordinate
15913  * (coord.x, coord.y) in the 2D image object specified by image.
15914  * (coord.x, coord.y) are considered to be unnormalized coordinates
15915  * and must be in the range 0 ... image width - 1, and 0
15916  * ... image height - 1.
15917
15918  * Write color value to location specified by coordinate
15919  * (coord.x, coord.y) in the 2D image object specified by index
15920  * (coord.z) of the 2D image array object image_array.
15921  * (coord.x, coord.y) are considered to be unnormalized
15922  * coordinates and must be in the range 0 ... image width
15923  * - 1.
15924  *
15925  * Write color value to location specified by coordinate
15926  * (coord) in the 1D image (buffer) object specified by image.
15927  * coord is considered to be unnormalized coordinates
15928  * and must be in the range 0 ... image width - 1.
15929  *
15930  * Write color value to location specified by coordinate
15931  * (coord.x) in the 1D image object specified by index
15932  * (coord.y) of the 1D image array object image_array.
15933  * x is considered to be unnormalized coordinates
15934  * and must be in the range 0 ... image width - 1.
15935  *
15936  * Write color value to location specified by coordinate
15937  * (coord.x, coord.y, coord.z) in the 3D image object specified by image.
15938  * coord.x & coord.y are considered to be unnormalized coordinates
15939  * and must be in the range 0 ... image width - 1, and 0
15940  * ... image height - 1.
15941  *
15942  * For mipmap images, use mip-level specified by lod.
15943  *
15944  * Appropriate data format conversion to the specified
15945  * image format is done before writing the color value.
15946  *
15947  * write_imagef can only be used with image objects
15948  * created with image_channel_data_type set to one of
15949  * the pre-defined packed formats or set to
15950  * CL_SNORM_INT8, CL_UNORM_INT8,
15951  * CL_SNORM_INT16, CL_UNORM_INT16,
15952  * CL_HALF_FLOAT or CL_FLOAT. Appropriate data
15953  * format conversion will be done to convert channel
15954  * data from a floating-point value to actual data format
15955  * in which the channels are stored.
15956  *
15957  * write_imagei can only be used with image objects
15958  * created with image_channel_data_type set to one of
15959  * the following values:
15960  * CL_SIGNED_INT8,
15961  * CL_SIGNED_INT16 and
15962  * CL_SIGNED_INT32.
15963  *
15964  * write_imageui can only be used with image objects
15965  * created with image_channel_data_type set to one of
15966  * the following values:
15967  * CL_UNSIGNED_INT8,
15968  * CL_UNSIGNED_INT16 and
15969  * CL_UNSIGNED_INT32.
15970  *
15971  * The behavior of write_imagef, write_imagei and
15972  * write_imageui for image objects created with
15973  * image_channel_data_type values not specified in
15974  * the description above or with (x, y) coordinate
15975  * values that are not in the range (0 ... image width -1,
15976  * 0 ... image height - 1), respectively, is undefined.
15977  */
15978 void __ovld write_imagef(write_only image2d_t image, int2 coord, float4 color);
15979 void __ovld write_imagei(write_only image2d_t image, int2 coord, int4 color);
15980 void __ovld write_imageui(write_only image2d_t image, int2 coord, uint4 color);
15981
15982 void __ovld write_imagef(write_only image2d_array_t image_array, int4 coord, float4 color);
15983 void __ovld write_imagei(write_only image2d_array_t image_array, int4 coord, int4 color);
15984 void __ovld write_imageui(write_only image2d_array_t image_array, int4 coord, uint4 color);
15985
15986 void __ovld write_imagef(write_only image1d_t image, int coord, float4 color);
15987 void __ovld write_imagei(write_only image1d_t image, int coord, int4 color);
15988 void __ovld write_imageui(write_only image1d_t image, int coord, uint4 color);
15989
15990 void __ovld write_imagef(write_only image1d_buffer_t image, int coord, float4 color);
15991 void __ovld write_imagei(write_only image1d_buffer_t image, int coord, int4 color);
15992 void __ovld write_imageui(write_only image1d_buffer_t image, int coord, uint4 color);
15993
15994 void __ovld write_imagef(write_only image1d_array_t image_array, int2 coord, float4 color);
15995 void __ovld write_imagei(write_only image1d_array_t image_array, int2 coord, int4 color);
15996 void __ovld write_imageui(write_only image1d_array_t image_array, int2 coord, uint4 color);
15997
15998 void __ovld write_imagef(write_only image3d_t image, int4 coord, float4 color);
15999 void __ovld write_imagei(write_only image3d_t image, int4 coord, int4 color);
16000 void __ovld write_imageui(write_only image3d_t image, int4 coord, uint4 color);
16001
16002 #ifdef cl_khr_depth_images
16003 void __ovld write_imagef(write_only image2d_depth_t image, int2 coord, float color);
16004 void __ovld write_imagef(write_only image2d_array_depth_t image, int4 coord, float color);
16005 #endif //cl_khr_depth_images
16006
16007 // OpenCL Extension v2.0 s9.18 - Mipmaps
16008 #ifdef cl_khr_mipmap_image
16009 void __ovld write_imagef(write_only image1d_t image, int coord, int lod, float4 color);
16010 void __ovld write_imagei(write_only image1d_t image, int coord, int lod, int4 color);
16011 void __ovld write_imageui(write_only image1d_t image, int coord, int lod, uint4 color);
16012
16013 void __ovld write_imagef(write_only image1d_array_t image_array, int2 coord, int lod, float4 color);
16014 void __ovld write_imagei(write_only image1d_array_t image_array, int2 coord, int lod, int4 color);
16015 void __ovld write_imageui(write_only image1d_array_t image_array, int2 coord, int lod, uint4 color);
16016
16017 void __ovld write_imagef(write_only image2d_t image, int2 coord, int lod, float4 color);
16018 void __ovld write_imagei(write_only image2d_t image, int2 coord, int lod, int4 color);
16019 void __ovld write_imageui(write_only image2d_t image, int2 coord, int lod, uint4 color);
16020
16021 void __ovld write_imagef(write_only image2d_array_t image_array, int4 coord, int lod, float4 color);
16022 void __ovld write_imagei(write_only image2d_array_t image_array, int4 coord, int lod, int4 color);
16023 void __ovld write_imageui(write_only image2d_array_t image_array, int4 coord, int lod, uint4 color);
16024
16025 void __ovld write_imagef(write_only image2d_depth_t image, int2 coord, int lod, float color);
16026 void __ovld write_imagef(write_only image2d_array_depth_t image, int4 coord, int lod, float color);
16027
16028 void __ovld write_imagef(write_only image3d_t image, int4 coord, int lod, float4 color);
16029 void __ovld write_imagei(write_only image3d_t image, int4 coord, int lod, int4 color);
16030 void __ovld write_imageui(write_only image3d_t image, int4 coord, int lod, uint4 color);
16031 #endif //cl_khr_mipmap_image
16032
16033 // Image write functions for half4 type
16034 #ifdef cl_khr_fp16
16035 void __ovld write_imageh(write_only image1d_t image, int coord, half4 color);
16036 void __ovld write_imageh(write_only image2d_t image, int2 coord, half4 color);
16037 void __ovld write_imageh(write_only image3d_t image, int4 coord, half4 color);
16038 void __ovld write_imageh(write_only image1d_array_t image, int2 coord, half4 color);
16039 void __ovld write_imageh(write_only image2d_array_t image, int4 coord, half4 color);
16040 void __ovld write_imageh(write_only image1d_buffer_t image, int coord, half4 color);
16041 #endif //cl_khr_fp16
16042
16043 // Image write functions for read_write images
16044 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
16045 void __ovld write_imagef(read_write image2d_t image, int2 coord, float4 color);
16046 void __ovld write_imagei(read_write image2d_t image, int2 coord, int4 color);
16047 void __ovld write_imageui(read_write image2d_t image, int2 coord, uint4 color);
16048
16049 void __ovld write_imagef(read_write image2d_array_t image_array, int4 coord, float4 color);
16050 void __ovld write_imagei(read_write image2d_array_t image_array, int4 coord, int4 color);
16051 void __ovld write_imageui(read_write image2d_array_t image_array, int4 coord, uint4 color);
16052
16053 void __ovld write_imagef(read_write image1d_t image, int coord, float4 color);
16054 void __ovld write_imagei(read_write image1d_t image, int coord, int4 color);
16055 void __ovld write_imageui(read_write image1d_t image, int coord, uint4 color);
16056
16057 void __ovld write_imagef(read_write image1d_buffer_t image, int coord, float4 color);
16058 void __ovld write_imagei(read_write image1d_buffer_t image, int coord, int4 color);
16059 void __ovld write_imageui(read_write image1d_buffer_t image, int coord, uint4 color);
16060
16061 void __ovld write_imagef(read_write image1d_array_t image_array, int2 coord, float4 color);
16062 void __ovld write_imagei(read_write image1d_array_t image_array, int2 coord, int4 color);
16063 void __ovld write_imageui(read_write image1d_array_t image_array, int2 coord, uint4 color);
16064
16065 void __ovld write_imagef(read_write image3d_t image, int4 coord, float4 color);
16066 void __ovld write_imagei(read_write image3d_t image, int4 coord, int4 color);
16067 void __ovld write_imageui(read_write image3d_t image, int4 coord, uint4 color);
16068
16069 #ifdef cl_khr_depth_images
16070 void __ovld write_imagef(read_write image2d_depth_t image, int2 coord, float color);
16071 void __ovld write_imagef(read_write image2d_array_depth_t image, int4 coord, float color);
16072 #endif //cl_khr_depth_images
16073
16074 #ifdef cl_khr_mipmap_image
16075 void __ovld write_imagef(read_write image1d_t image, int coord, int lod, float4 color);
16076 void __ovld write_imagei(read_write image1d_t image, int coord, int lod, int4 color);
16077 void __ovld write_imageui(read_write image1d_t image, int coord, int lod, uint4 color);
16078
16079 void __ovld write_imagef(read_write image1d_array_t image_array, int2 coord, int lod, float4 color);
16080 void __ovld write_imagei(read_write image1d_array_t image_array, int2 coord, int lod, int4 color);
16081 void __ovld write_imageui(read_write image1d_array_t image_array, int2 coord, int lod, uint4 color);
16082
16083 void __ovld write_imagef(read_write image2d_t image, int2 coord, int lod, float4 color);
16084 void __ovld write_imagei(read_write image2d_t image, int2 coord, int lod, int4 color);
16085 void __ovld write_imageui(read_write image2d_t image, int2 coord, int lod, uint4 color);
16086
16087 void __ovld write_imagef(read_write image2d_array_t image_array, int4 coord, int lod, float4 color);
16088 void __ovld write_imagei(read_write image2d_array_t image_array, int4 coord, int lod, int4 color);
16089 void __ovld write_imageui(read_write image2d_array_t image_array, int4 coord, int lod, uint4 color);
16090
16091 void __ovld write_imagef(read_write image2d_depth_t image, int2 coord, int lod, float color);
16092 void __ovld write_imagef(read_write image2d_array_depth_t image, int4 coord, int lod, float color);
16093
16094 void __ovld write_imagef(read_write image3d_t image, int4 coord, int lod, float4 color);
16095 void __ovld write_imagei(read_write image3d_t image, int4 coord, int lod, int4 color);
16096 void __ovld write_imageui(read_write image3d_t image, int4 coord, int lod, uint4 color);
16097 #endif //cl_khr_mipmap_image
16098
16099 // Image write functions for half4 type
16100 #ifdef cl_khr_fp16
16101 void __ovld write_imageh(read_write image1d_t image, int coord, half4 color);
16102 void __ovld write_imageh(read_write image2d_t image, int2 coord, half4 color);
16103 void __ovld write_imageh(read_write image3d_t image, int4 coord, half4 color);
16104 void __ovld write_imageh(read_write image1d_array_t image, int2 coord, half4 color);
16105 void __ovld write_imageh(read_write image2d_array_t image, int4 coord, half4 color);
16106 void __ovld write_imageh(read_write image1d_buffer_t image, int coord, half4 color);
16107 #endif //cl_khr_fp16
16108 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
16109
16110 // Note: In OpenCL v1.0/1.1/1.2, image argument of image query builtin functions does not have
16111 // access qualifier, which by default assume read_only access qualifier. Image query builtin
16112 // functions with write_only image argument should also be declared.
16113
16114 /**
16115  * Return the image width in pixels.
16116  *
16117   */
16118 int __ovld __cnfn get_image_width(read_only image1d_t image);
16119 int __ovld __cnfn get_image_width(read_only image1d_buffer_t image);
16120 int __ovld __cnfn get_image_width(read_only image2d_t image);
16121 int __ovld __cnfn get_image_width(read_only image3d_t image);
16122 int __ovld __cnfn get_image_width(read_only image1d_array_t image);
16123 int __ovld __cnfn get_image_width(read_only image2d_array_t image);
16124 #ifdef cl_khr_depth_images
16125 int __ovld __cnfn get_image_width(read_only image2d_depth_t image);
16126 int __ovld __cnfn get_image_width(read_only image2d_array_depth_t image);
16127 #endif //cl_khr_depth_images
16128 #if defined(cl_khr_gl_msaa_sharing)
16129 int __ovld __cnfn get_image_width(read_only image2d_msaa_t image);
16130 int __ovld __cnfn get_image_width(read_only image2d_msaa_depth_t image);
16131 int __ovld __cnfn get_image_width(read_only image2d_array_msaa_t image);
16132 int __ovld __cnfn get_image_width(read_only image2d_array_msaa_depth_t image);
16133 #endif //cl_khr_gl_msaa_sharing
16134
16135 int __ovld __cnfn get_image_width(write_only image1d_t image);
16136 int __ovld __cnfn get_image_width(write_only image1d_buffer_t image);
16137 int __ovld __cnfn get_image_width(write_only image2d_t image);
16138 int __ovld __cnfn get_image_width(write_only image3d_t image);
16139 int __ovld __cnfn get_image_width(write_only image1d_array_t image);
16140 int __ovld __cnfn get_image_width(write_only image2d_array_t image);
16141 #ifdef cl_khr_depth_images
16142 int __ovld __cnfn get_image_width(write_only image2d_depth_t image);
16143 int __ovld __cnfn get_image_width(write_only image2d_array_depth_t image);
16144 #endif //cl_khr_depth_images
16145 #if defined(cl_khr_gl_msaa_sharing)
16146 int __ovld __cnfn get_image_width(write_only image2d_msaa_t image);
16147 int __ovld __cnfn get_image_width(write_only image2d_msaa_depth_t image);
16148 int __ovld __cnfn get_image_width(write_only image2d_array_msaa_t image);
16149 int __ovld __cnfn get_image_width(write_only image2d_array_msaa_depth_t image);
16150 #endif //cl_khr_gl_msaa_sharing
16151
16152 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
16153 int __ovld __cnfn get_image_width(read_write image1d_t image);
16154 int __ovld __cnfn get_image_width(read_write image1d_buffer_t image);
16155 int __ovld __cnfn get_image_width(read_write image2d_t image);
16156 int __ovld __cnfn get_image_width(read_write image3d_t image);
16157 int __ovld __cnfn get_image_width(read_write image1d_array_t image);
16158 int __ovld __cnfn get_image_width(read_write image2d_array_t image);
16159 #ifdef cl_khr_depth_images
16160 int __ovld __cnfn get_image_width(read_write image2d_depth_t image);
16161 int __ovld __cnfn get_image_width(read_write image2d_array_depth_t image);
16162 #endif //cl_khr_depth_images
16163 #if defined(cl_khr_gl_msaa_sharing)
16164 int __ovld __cnfn get_image_width(read_write image2d_msaa_t image);
16165 int __ovld __cnfn get_image_width(read_write image2d_msaa_depth_t image);
16166 int __ovld __cnfn get_image_width(read_write image2d_array_msaa_t image);
16167 int __ovld __cnfn get_image_width(read_write image2d_array_msaa_depth_t image);
16168 #endif //cl_khr_gl_msaa_sharing
16169 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
16170
16171 /**
16172  * Return the image height in pixels.
16173  */
16174 int __ovld __cnfn get_image_height(read_only image2d_t image);
16175 int __ovld __cnfn get_image_height(read_only image3d_t image);
16176 int __ovld __cnfn get_image_height(read_only image2d_array_t image);
16177 #ifdef cl_khr_depth_images
16178 int __ovld __cnfn get_image_height(read_only image2d_depth_t image);
16179 int __ovld __cnfn get_image_height(read_only image2d_array_depth_t image);
16180 #endif //cl_khr_depth_images
16181 #if defined(cl_khr_gl_msaa_sharing)
16182 int __ovld __cnfn get_image_height(read_only image2d_msaa_t image);
16183 int __ovld __cnfn get_image_height(read_only image2d_msaa_depth_t image);
16184 int __ovld __cnfn get_image_height(read_only image2d_array_msaa_t image);
16185 int __ovld __cnfn get_image_height(read_only image2d_array_msaa_depth_t image);
16186 #endif //cl_khr_gl_msaa_sharing
16187
16188 int __ovld __cnfn get_image_height(write_only image2d_t image);
16189 int __ovld __cnfn get_image_height(write_only image3d_t image);
16190 int __ovld __cnfn get_image_height(write_only image2d_array_t image);
16191 #ifdef cl_khr_depth_images
16192 int __ovld __cnfn get_image_height(write_only image2d_depth_t image);
16193 int __ovld __cnfn get_image_height(write_only image2d_array_depth_t image);
16194 #endif //cl_khr_depth_images
16195 #if defined(cl_khr_gl_msaa_sharing)
16196 int __ovld __cnfn get_image_height(write_only image2d_msaa_t image);
16197 int __ovld __cnfn get_image_height(write_only image2d_msaa_depth_t image);
16198 int __ovld __cnfn get_image_height(write_only image2d_array_msaa_t image);
16199 int __ovld __cnfn get_image_height(write_only image2d_array_msaa_depth_t image);
16200 #endif //cl_khr_gl_msaa_sharing
16201
16202 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
16203 int __ovld __cnfn get_image_height(read_write image2d_t image);
16204 int __ovld __cnfn get_image_height(read_write image3d_t image);
16205 int __ovld __cnfn get_image_height(read_write image2d_array_t image);
16206 #ifdef cl_khr_depth_images
16207 int __ovld __cnfn get_image_height(read_write image2d_depth_t image);
16208 int __ovld __cnfn get_image_height(read_write image2d_array_depth_t image);
16209 #endif //cl_khr_depth_images
16210 #if defined(cl_khr_gl_msaa_sharing)
16211 int __ovld __cnfn get_image_height(read_write image2d_msaa_t image);
16212 int __ovld __cnfn get_image_height(read_write image2d_msaa_depth_t image);
16213 int __ovld __cnfn get_image_height(read_write image2d_array_msaa_t image);
16214 int __ovld __cnfn get_image_height(read_write image2d_array_msaa_depth_t image);
16215 #endif //cl_khr_gl_msaa_sharing
16216 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
16217
16218 /**
16219  * Return the image depth in pixels.
16220  */
16221 int __ovld __cnfn get_image_depth(read_only image3d_t image);
16222
16223 int __ovld __cnfn get_image_depth(write_only image3d_t image);
16224
16225 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
16226 int __ovld __cnfn get_image_depth(read_write image3d_t image);
16227 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
16228
16229 // OpenCL Extension v2.0 s9.18 - Mipmaps
16230 #ifdef cl_khr_mipmap_image
16231 /**
16232  * Return the image miplevels.
16233  */
16234
16235 int __ovld get_image_num_mip_levels(read_only image1d_t image);
16236 int __ovld get_image_num_mip_levels(read_only image2d_t image);
16237 int __ovld get_image_num_mip_levels(read_only image3d_t image);
16238
16239 int __ovld get_image_num_mip_levels(write_only image1d_t image);
16240 int __ovld get_image_num_mip_levels(write_only image2d_t image);
16241 int __ovld get_image_num_mip_levels(write_only image3d_t image);
16242
16243 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
16244 int __ovld get_image_num_mip_levels(read_write image1d_t image);
16245 int __ovld get_image_num_mip_levels(read_write image2d_t image);
16246 int __ovld get_image_num_mip_levels(read_write image3d_t image);
16247 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
16248
16249 int __ovld get_image_num_mip_levels(read_only image1d_array_t image);
16250 int __ovld get_image_num_mip_levels(read_only image2d_array_t image);
16251 int __ovld get_image_num_mip_levels(read_only image2d_array_depth_t image);
16252 int __ovld get_image_num_mip_levels(read_only image2d_depth_t image);
16253
16254 int __ovld get_image_num_mip_levels(write_only image1d_array_t image);
16255 int __ovld get_image_num_mip_levels(write_only image2d_array_t image);
16256 int __ovld get_image_num_mip_levels(write_only image2d_array_depth_t image);
16257 int __ovld get_image_num_mip_levels(write_only image2d_depth_t image);
16258
16259 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
16260 int __ovld get_image_num_mip_levels(read_write image1d_array_t image);
16261 int __ovld get_image_num_mip_levels(read_write image2d_array_t image);
16262 int __ovld get_image_num_mip_levels(read_write image2d_array_depth_t image);
16263 int __ovld get_image_num_mip_levels(read_write image2d_depth_t image);
16264 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
16265
16266 #endif //cl_khr_mipmap_image
16267
16268 /**
16269  * Return the channel data type. Valid values are:
16270  * CLK_SNORM_INT8
16271  * CLK_SNORM_INT16
16272  * CLK_UNORM_INT8
16273  * CLK_UNORM_INT16
16274  * CLK_UNORM_SHORT_565
16275  * CLK_UNORM_SHORT_555
16276  * CLK_UNORM_SHORT_101010
16277  * CLK_SIGNED_INT8
16278  * CLK_SIGNED_INT16
16279  * CLK_SIGNED_INT32
16280  * CLK_UNSIGNED_INT8
16281  * CLK_UNSIGNED_INT16
16282  * CLK_UNSIGNED_INT32
16283  * CLK_HALF_FLOAT
16284  * CLK_FLOAT
16285  */
16286
16287 //
16288 // Channel Datatype.
16289 //
16290 #define CLK_SNORM_INT8        0x10D0
16291 #define CLK_SNORM_INT16       0x10D1
16292 #define CLK_UNORM_INT8        0x10D2
16293 #define CLK_UNORM_INT16       0x10D3
16294 #define CLK_UNORM_SHORT_565   0x10D4
16295 #define CLK_UNORM_SHORT_555   0x10D5
16296 #define CLK_UNORM_INT_101010  0x10D6
16297 #define CLK_SIGNED_INT8       0x10D7
16298 #define CLK_SIGNED_INT16      0x10D8
16299 #define CLK_SIGNED_INT32      0x10D9
16300 #define CLK_UNSIGNED_INT8     0x10DA
16301 #define CLK_UNSIGNED_INT16    0x10DB
16302 #define CLK_UNSIGNED_INT32    0x10DC
16303 #define CLK_HALF_FLOAT        0x10DD
16304 #define CLK_FLOAT             0x10DE
16305 #define CLK_UNORM_INT24       0x10DF
16306
16307 int __ovld __cnfn get_image_channel_data_type(read_only image1d_t image);
16308 int __ovld __cnfn get_image_channel_data_type(read_only image1d_buffer_t image);
16309 int __ovld __cnfn get_image_channel_data_type(read_only image2d_t image);
16310 int __ovld __cnfn get_image_channel_data_type(read_only image3d_t image);
16311 int __ovld __cnfn get_image_channel_data_type(read_only image1d_array_t image);
16312 int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_t image);
16313 #ifdef cl_khr_depth_images
16314 int __ovld __cnfn get_image_channel_data_type(read_only image2d_depth_t image);
16315 int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_depth_t image);
16316 #endif //cl_khr_depth_images
16317 #if defined(cl_khr_gl_msaa_sharing)
16318 int __ovld __cnfn get_image_channel_data_type(read_only image2d_msaa_t image);
16319 int __ovld __cnfn get_image_channel_data_type(read_only image2d_msaa_depth_t image);
16320 int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_msaa_t image);
16321 int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_msaa_depth_t image);
16322 #endif //cl_khr_gl_msaa_sharing
16323
16324 int __ovld __cnfn get_image_channel_data_type(write_only image1d_t image);
16325 int __ovld __cnfn get_image_channel_data_type(write_only image1d_buffer_t image);
16326 int __ovld __cnfn get_image_channel_data_type(write_only image2d_t image);
16327 int __ovld __cnfn get_image_channel_data_type(write_only image3d_t image);
16328 int __ovld __cnfn get_image_channel_data_type(write_only image1d_array_t image);
16329 int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_t image);
16330 #ifdef cl_khr_depth_images
16331 int __ovld __cnfn get_image_channel_data_type(write_only image2d_depth_t image);
16332 int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_depth_t image);
16333 #endif //cl_khr_depth_images
16334 #if defined(cl_khr_gl_msaa_sharing)
16335 int __ovld __cnfn get_image_channel_data_type(write_only image2d_msaa_t image);
16336 int __ovld __cnfn get_image_channel_data_type(write_only image2d_msaa_depth_t image);
16337 int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_msaa_t image);
16338 int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_msaa_depth_t image);
16339 #endif //cl_khr_gl_msaa_sharing
16340
16341 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
16342 int __ovld __cnfn get_image_channel_data_type(read_write image1d_t image);
16343 int __ovld __cnfn get_image_channel_data_type(read_write image1d_buffer_t image);
16344 int __ovld __cnfn get_image_channel_data_type(read_write image2d_t image);
16345 int __ovld __cnfn get_image_channel_data_type(read_write image3d_t image);
16346 int __ovld __cnfn get_image_channel_data_type(read_write image1d_array_t image);
16347 int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_t image);
16348 #ifdef cl_khr_depth_images
16349 int __ovld __cnfn get_image_channel_data_type(read_write image2d_depth_t image);
16350 int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_depth_t image);
16351 #endif //cl_khr_depth_images
16352 #if defined(cl_khr_gl_msaa_sharing)
16353 int __ovld __cnfn get_image_channel_data_type(read_write image2d_msaa_t image);
16354 int __ovld __cnfn get_image_channel_data_type(read_write image2d_msaa_depth_t image);
16355 int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_msaa_t image);
16356 int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_msaa_depth_t image);
16357 #endif //cl_khr_gl_msaa_sharing
16358 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
16359
16360 /**
16361  * Return the image channel order. Valid values are:
16362  * CLK_A
16363  * CLK_R
16364  * CLK_Rx
16365  * CLK_RG
16366  * CLK_RGx
16367  * CLK_RA
16368  * CLK_RGB
16369  * CLK_RGBx
16370  * CLK_RGBA
16371  * CLK_ARGB
16372  * CLK_BGRA
16373  * CLK_INTENSITY
16374  * CLK_LUMINANCE
16375  */
16376 // Channel order, numbering must be aligned with cl_channel_order in cl.h
16377 //
16378 #define CLK_R         0x10B0
16379 #define CLK_A         0x10B1
16380 #define CLK_RG        0x10B2
16381 #define CLK_RA        0x10B3
16382 #define CLK_RGB       0x10B4
16383 #define CLK_RGBA      0x10B5
16384 #define CLK_BGRA      0x10B6
16385 #define CLK_ARGB      0x10B7
16386 #define CLK_INTENSITY 0x10B8
16387 #define CLK_LUMINANCE 0x10B9
16388 #define CLK_Rx                0x10BA
16389 #define CLK_RGx               0x10BB
16390 #define CLK_RGBx              0x10BC
16391 #define CLK_DEPTH             0x10BD
16392 #define CLK_DEPTH_STENCIL     0x10BE
16393 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
16394 #define CLK_sRGB              0x10BF
16395 #define CLK_sRGBA             0x10C1
16396 #define CLK_sRGBx             0x10C0
16397 #define CLK_sBGRA             0x10C2
16398 #define CLK_ABGR              0x10C3
16399 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
16400
16401 int __ovld __cnfn get_image_channel_order(read_only image1d_t image);
16402 int __ovld __cnfn get_image_channel_order(read_only image1d_buffer_t image);
16403 int __ovld __cnfn get_image_channel_order(read_only image2d_t image);
16404 int __ovld __cnfn get_image_channel_order(read_only image3d_t image);
16405 int __ovld __cnfn get_image_channel_order(read_only image1d_array_t image);
16406 int __ovld __cnfn get_image_channel_order(read_only image2d_array_t image);
16407 #ifdef cl_khr_depth_images
16408 int __ovld __cnfn get_image_channel_order(read_only image2d_depth_t image);
16409 int __ovld __cnfn get_image_channel_order(read_only image2d_array_depth_t image);
16410 #endif //cl_khr_depth_images
16411 #if defined(cl_khr_gl_msaa_sharing)
16412 int __ovld __cnfn get_image_channel_order(read_only image2d_msaa_t image);
16413 int __ovld __cnfn get_image_channel_order(read_only image2d_msaa_depth_t image);
16414 int __ovld __cnfn get_image_channel_order(read_only image2d_array_msaa_t image);
16415 int __ovld __cnfn get_image_channel_order(read_only image2d_array_msaa_depth_t image);
16416 #endif //cl_khr_gl_msaa_sharing
16417
16418 int __ovld __cnfn get_image_channel_order(write_only image1d_t image);
16419 int __ovld __cnfn get_image_channel_order(write_only image1d_buffer_t image);
16420 int __ovld __cnfn get_image_channel_order(write_only image2d_t image);
16421 int __ovld __cnfn get_image_channel_order(write_only image3d_t image);
16422 int __ovld __cnfn get_image_channel_order(write_only image1d_array_t image);
16423 int __ovld __cnfn get_image_channel_order(write_only image2d_array_t image);
16424 #ifdef cl_khr_depth_images
16425 int __ovld __cnfn get_image_channel_order(write_only image2d_depth_t image);
16426 int __ovld __cnfn get_image_channel_order(write_only image2d_array_depth_t image);
16427 #endif //cl_khr_depth_images
16428 #if defined(cl_khr_gl_msaa_sharing)
16429 int __ovld __cnfn get_image_channel_order(write_only image2d_msaa_t image);
16430 int __ovld __cnfn get_image_channel_order(write_only image2d_msaa_depth_t image);
16431 int __ovld __cnfn get_image_channel_order(write_only image2d_array_msaa_t image);
16432 int __ovld __cnfn get_image_channel_order(write_only image2d_array_msaa_depth_t image);
16433 #endif //cl_khr_gl_msaa_sharing
16434
16435 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
16436 int __ovld __cnfn get_image_channel_order(read_write image1d_t image);
16437 int __ovld __cnfn get_image_channel_order(read_write image1d_buffer_t image);
16438 int __ovld __cnfn get_image_channel_order(read_write image2d_t image);
16439 int __ovld __cnfn get_image_channel_order(read_write image3d_t image);
16440 int __ovld __cnfn get_image_channel_order(read_write image1d_array_t image);
16441 int __ovld __cnfn get_image_channel_order(read_write image2d_array_t image);
16442 #ifdef cl_khr_depth_images
16443 int __ovld __cnfn get_image_channel_order(read_write image2d_depth_t image);
16444 int __ovld __cnfn get_image_channel_order(read_write image2d_array_depth_t image);
16445 #endif //cl_khr_depth_images
16446 #if defined(cl_khr_gl_msaa_sharing)
16447 int __ovld __cnfn get_image_channel_order(read_write image2d_msaa_t image);
16448 int __ovld __cnfn get_image_channel_order(read_write image2d_msaa_depth_t image);
16449 int __ovld __cnfn get_image_channel_order(read_write image2d_array_msaa_t image);
16450 int __ovld __cnfn get_image_channel_order(read_write image2d_array_msaa_depth_t image);
16451 #endif //cl_khr_gl_msaa_sharing
16452 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
16453
16454 /**
16455  * Return the 2D image width and height as an int2
16456  * type. The width is returned in the x component, and
16457  * the height in the y component.
16458  */
16459 int2 __ovld __cnfn get_image_dim(read_only image2d_t image);
16460 int2 __ovld __cnfn get_image_dim(read_only image2d_array_t image);
16461 #ifdef cl_khr_depth_images
16462 int2 __ovld __cnfn get_image_dim(read_only image2d_array_depth_t image);
16463 int2 __ovld __cnfn get_image_dim(read_only image2d_depth_t image);
16464 #endif //cl_khr_depth_images
16465 #if defined(cl_khr_gl_msaa_sharing)
16466 int2 __ovld __cnfn get_image_dim(read_only image2d_msaa_t image);
16467 int2 __ovld __cnfn get_image_dim(read_only image2d_msaa_depth_t image);
16468 int2 __ovld __cnfn get_image_dim(read_only image2d_array_msaa_t image);
16469 int2 __ovld __cnfn get_image_dim(read_only image2d_array_msaa_depth_t image);
16470 #endif //cl_khr_gl_msaa_sharing
16471
16472 int2 __ovld __cnfn get_image_dim(write_only image2d_t image);
16473 int2 __ovld __cnfn get_image_dim(write_only image2d_array_t image);
16474 #ifdef cl_khr_depth_images
16475 int2 __ovld __cnfn get_image_dim(write_only image2d_array_depth_t image);
16476 int2 __ovld __cnfn get_image_dim(write_only image2d_depth_t image);
16477 #endif //cl_khr_depth_images
16478 #if defined(cl_khr_gl_msaa_sharing)
16479 int2 __ovld __cnfn get_image_dim(write_only image2d_msaa_t image);
16480 int2 __ovld __cnfn get_image_dim(write_only image2d_msaa_depth_t image);
16481 int2 __ovld __cnfn get_image_dim(write_only image2d_array_msaa_t image);
16482 int2 __ovld __cnfn get_image_dim(write_only image2d_array_msaa_depth_t image);
16483 #endif //cl_khr_gl_msaa_sharing
16484
16485 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
16486 int2 __ovld __cnfn get_image_dim(read_write image2d_t image);
16487 int2 __ovld __cnfn get_image_dim(read_write image2d_array_t image);
16488 #ifdef cl_khr_depth_images
16489 int2 __ovld __cnfn get_image_dim(read_write image2d_array_depth_t image);
16490 int2 __ovld __cnfn get_image_dim(read_write image2d_depth_t image);
16491 #endif //cl_khr_depth_images
16492 #if defined(cl_khr_gl_msaa_sharing)
16493 int2 __ovld __cnfn get_image_dim(read_write image2d_msaa_t image);
16494 int2 __ovld __cnfn get_image_dim(read_write image2d_msaa_depth_t image);
16495 int2 __ovld __cnfn get_image_dim(read_write image2d_array_msaa_t image);
16496 int2 __ovld __cnfn get_image_dim(read_write image2d_array_msaa_depth_t image);
16497 #endif //cl_khr_gl_msaa_sharing
16498 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
16499
16500 /**
16501  * Return the 3D image width, height, and depth as an
16502  * int4 type. The width is returned in the x
16503  * component, height in the y component, depth in the z
16504  * component and the w component is 0.
16505  */
16506 int4 __ovld __cnfn get_image_dim(read_only image3d_t image);
16507 int4 __ovld __cnfn get_image_dim(write_only image3d_t image);
16508 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
16509 int4 __ovld __cnfn get_image_dim(read_write image3d_t image);
16510 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
16511
16512 /**
16513  * Return the image array size.
16514  */
16515
16516 size_t __ovld __cnfn get_image_array_size(read_only image1d_array_t image_array);
16517 size_t __ovld __cnfn get_image_array_size(read_only image2d_array_t image_array);
16518 #ifdef cl_khr_depth_images
16519 size_t __ovld __cnfn get_image_array_size(read_only image2d_array_depth_t image_array);
16520 #endif //cl_khr_depth_images
16521 #if defined(cl_khr_gl_msaa_sharing)
16522 size_t __ovld __cnfn get_image_array_size(read_only image2d_array_msaa_t image_array);
16523 size_t __ovld __cnfn get_image_array_size(read_only image2d_array_msaa_depth_t image_array);
16524 #endif //cl_khr_gl_msaa_sharing
16525
16526 size_t __ovld __cnfn get_image_array_size(write_only image1d_array_t image_array);
16527 size_t __ovld __cnfn get_image_array_size(write_only image2d_array_t image_array);
16528 #ifdef cl_khr_depth_images
16529 size_t __ovld __cnfn get_image_array_size(write_only image2d_array_depth_t image_array);
16530 #endif //cl_khr_depth_images
16531 #if defined(cl_khr_gl_msaa_sharing)
16532 size_t __ovld __cnfn get_image_array_size(write_only image2d_array_msaa_t image_array);
16533 size_t __ovld __cnfn get_image_array_size(write_only image2d_array_msaa_depth_t image_array);
16534 #endif //cl_khr_gl_msaa_sharing
16535
16536 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
16537 size_t __ovld __cnfn get_image_array_size(read_write image1d_array_t image_array);
16538 size_t __ovld __cnfn get_image_array_size(read_write image2d_array_t image_array);
16539 #ifdef cl_khr_depth_images
16540 size_t __ovld __cnfn get_image_array_size(read_write image2d_array_depth_t image_array);
16541 #endif //cl_khr_depth_images
16542 #if defined(cl_khr_gl_msaa_sharing)
16543 size_t __ovld __cnfn get_image_array_size(read_write image2d_array_msaa_t image_array);
16544 size_t __ovld __cnfn get_image_array_size(read_write image2d_array_msaa_depth_t image_array);
16545 #endif //cl_khr_gl_msaa_sharing
16546 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
16547
16548 /**
16549 * Return the number of samples associated with image
16550 */
16551 #if defined(cl_khr_gl_msaa_sharing)
16552 int __ovld get_image_num_samples(read_only image2d_msaa_t image);
16553 int __ovld get_image_num_samples(read_only image2d_msaa_depth_t image);
16554 int __ovld get_image_num_samples(read_only image2d_array_msaa_depth_t image);
16555 int __ovld get_image_num_samples(read_only image2d_array_msaa_t image);
16556 int __ovld get_image_num_samples(read_only image2d_array_msaa_depth_t image);
16557
16558 int __ovld get_image_num_samples(write_only image2d_msaa_t image);
16559 int __ovld get_image_num_samples(write_only image2d_msaa_depth_t image);
16560 int __ovld get_image_num_samples(write_only image2d_array_msaa_depth_t image);
16561 int __ovld get_image_num_samples(write_only image2d_array_msaa_t image);
16562 int __ovld get_image_num_samples(write_only image2d_array_msaa_depth_t image);
16563
16564 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
16565 int __ovld get_image_num_samples(read_write image2d_msaa_t image);
16566 int __ovld get_image_num_samples(read_write image2d_msaa_depth_t image);
16567 int __ovld get_image_num_samples(read_write image2d_array_msaa_depth_t image);
16568 int __ovld get_image_num_samples(read_write image2d_array_msaa_t image);
16569 int __ovld get_image_num_samples(read_write image2d_array_msaa_depth_t image);
16570 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
16571 #endif
16572
16573 // OpenCL v2.0 s6.13.15 - Work-group Functions
16574
16575 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
16576 int __ovld __conv work_group_all(int predicate);
16577 int __ovld __conv work_group_any(int predicate);
16578
16579 #ifdef cl_khr_fp16
16580 half __ovld __conv work_group_broadcast(half a, size_t local_id);
16581 half __ovld __conv work_group_broadcast(half a, size_t x, size_t y);
16582 half __ovld __conv work_group_broadcast(half a, size_t x, size_t y, size_t z);
16583 #endif
16584 int __ovld __conv work_group_broadcast(int a, size_t local_id);
16585 int __ovld __conv work_group_broadcast(int a, size_t x, size_t y);
16586 int __ovld __conv work_group_broadcast(int a, size_t x, size_t y, size_t z);
16587 uint __ovld __conv work_group_broadcast(uint a, size_t local_id);
16588 uint __ovld __conv work_group_broadcast(uint a, size_t x, size_t y);
16589 uint __ovld __conv work_group_broadcast(uint a, size_t x, size_t y, size_t z);
16590 long __ovld __conv work_group_broadcast(long a, size_t local_id);
16591 long __ovld __conv work_group_broadcast(long a, size_t x, size_t y);
16592 long __ovld __conv work_group_broadcast(long a, size_t x, size_t y, size_t z);
16593 ulong __ovld __conv work_group_broadcast(ulong a, size_t local_id);
16594 ulong __ovld __conv work_group_broadcast(ulong a, size_t x, size_t y);
16595 ulong __ovld __conv work_group_broadcast(ulong a, size_t x, size_t y, size_t z);
16596 float __ovld __conv work_group_broadcast(float a, size_t local_id);
16597 float __ovld __conv work_group_broadcast(float a, size_t x, size_t y);
16598 float __ovld __conv work_group_broadcast(float a, size_t x, size_t y, size_t z);
16599 #ifdef cl_khr_fp64
16600 double __ovld __conv work_group_broadcast(double a, size_t local_id);
16601 double __ovld __conv work_group_broadcast(double a, size_t x, size_t y);
16602 double __ovld __conv work_group_broadcast(double a, size_t x, size_t y, size_t z);
16603 #endif //cl_khr_fp64
16604
16605 #ifdef cl_khr_fp16
16606 half __ovld __conv work_group_reduce_add(half x);
16607 half __ovld __conv work_group_reduce_min(half x);
16608 half __ovld __conv work_group_reduce_max(half x);
16609 half __ovld __conv work_group_scan_exclusive_add(half x);
16610 half __ovld __conv work_group_scan_exclusive_min(half x);
16611 half __ovld __conv work_group_scan_exclusive_max(half x);
16612 half __ovld __conv work_group_scan_inclusive_add(half x);
16613 half __ovld __conv work_group_scan_inclusive_min(half x);
16614 half __ovld __conv work_group_scan_inclusive_max(half x);
16615 #endif
16616 int __ovld __conv work_group_reduce_add(int x);
16617 int __ovld __conv work_group_reduce_min(int x);
16618 int __ovld __conv work_group_reduce_max(int x);
16619 int __ovld __conv work_group_scan_exclusive_add(int x);
16620 int __ovld __conv work_group_scan_exclusive_min(int x);
16621 int __ovld __conv work_group_scan_exclusive_max(int x);
16622 int __ovld __conv work_group_scan_inclusive_add(int x);
16623 int __ovld __conv work_group_scan_inclusive_min(int x);
16624 int __ovld __conv work_group_scan_inclusive_max(int x);
16625 uint __ovld __conv work_group_reduce_add(uint x);
16626 uint __ovld __conv work_group_reduce_min(uint x);
16627 uint __ovld __conv work_group_reduce_max(uint x);
16628 uint __ovld __conv work_group_scan_exclusive_add(uint x);
16629 uint __ovld __conv work_group_scan_exclusive_min(uint x);
16630 uint __ovld __conv work_group_scan_exclusive_max(uint x);
16631 uint __ovld __conv work_group_scan_inclusive_add(uint x);
16632 uint __ovld __conv work_group_scan_inclusive_min(uint x);
16633 uint __ovld __conv work_group_scan_inclusive_max(uint x);
16634 long __ovld __conv work_group_reduce_add(long x);
16635 long __ovld __conv work_group_reduce_min(long x);
16636 long __ovld __conv work_group_reduce_max(long x);
16637 long __ovld __conv work_group_scan_exclusive_add(long x);
16638 long __ovld __conv work_group_scan_exclusive_min(long x);
16639 long __ovld __conv work_group_scan_exclusive_max(long x);
16640 long __ovld __conv work_group_scan_inclusive_add(long x);
16641 long __ovld __conv work_group_scan_inclusive_min(long x);
16642 long __ovld __conv work_group_scan_inclusive_max(long x);
16643 ulong __ovld __conv work_group_reduce_add(ulong x);
16644 ulong __ovld __conv work_group_reduce_min(ulong x);
16645 ulong __ovld __conv work_group_reduce_max(ulong x);
16646 ulong __ovld __conv work_group_scan_exclusive_add(ulong x);
16647 ulong __ovld __conv work_group_scan_exclusive_min(ulong x);
16648 ulong __ovld __conv work_group_scan_exclusive_max(ulong x);
16649 ulong __ovld __conv work_group_scan_inclusive_add(ulong x);
16650 ulong __ovld __conv work_group_scan_inclusive_min(ulong x);
16651 ulong __ovld __conv work_group_scan_inclusive_max(ulong x);
16652 float __ovld __conv work_group_reduce_add(float x);
16653 float __ovld __conv work_group_reduce_min(float x);
16654 float __ovld __conv work_group_reduce_max(float x);
16655 float __ovld __conv work_group_scan_exclusive_add(float x);
16656 float __ovld __conv work_group_scan_exclusive_min(float x);
16657 float __ovld __conv work_group_scan_exclusive_max(float x);
16658 float __ovld __conv work_group_scan_inclusive_add(float x);
16659 float __ovld __conv work_group_scan_inclusive_min(float x);
16660 float __ovld __conv work_group_scan_inclusive_max(float x);
16661 #ifdef cl_khr_fp64
16662 double __ovld __conv work_group_reduce_add(double x);
16663 double __ovld __conv work_group_reduce_min(double x);
16664 double __ovld __conv work_group_reduce_max(double x);
16665 double __ovld __conv work_group_scan_exclusive_add(double x);
16666 double __ovld __conv work_group_scan_exclusive_min(double x);
16667 double __ovld __conv work_group_scan_exclusive_max(double x);
16668 double __ovld __conv work_group_scan_inclusive_add(double x);
16669 double __ovld __conv work_group_scan_inclusive_min(double x);
16670 double __ovld __conv work_group_scan_inclusive_max(double x);
16671 #endif //cl_khr_fp64
16672
16673 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
16674
16675 // OpenCL v2.0 s6.13.16 - Pipe Functions
16676 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
16677 #define PIPE_RESERVE_ID_VALID_BIT (1U << 30)
16678 #define CLK_NULL_RESERVE_ID (__builtin_astype(((void*)(__SIZE_MAX__)), reserve_id_t))
16679 bool __ovld is_valid_reserve_id(reserve_id_t reserve_id);
16680 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
16681
16682
16683 // OpenCL v2.0 s6.13.17 - Enqueue Kernels
16684 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
16685
16686 #define CL_COMPLETE                                 0x0
16687 #define CL_RUNNING                                  0x1
16688 #define CL_SUBMITTED                                0x2
16689 #define CL_QUEUED                                   0x3
16690
16691 #define CLK_SUCCESS                                 0
16692 #define CLK_ENQUEUE_FAILURE                         -101
16693 #define CLK_INVALID_QUEUE                           -102
16694 #define CLK_INVALID_NDRANGE                         -160
16695 #define CLK_INVALID_EVENT_WAIT_LIST                 -57
16696 #define CLK_DEVICE_QUEUE_FULL                       -161
16697 #define CLK_INVALID_ARG_SIZE                        -51
16698 #define CLK_EVENT_ALLOCATION_FAILURE                -100
16699 #define CLK_OUT_OF_RESOURCES                        -5
16700
16701 #define CLK_NULL_QUEUE                              0
16702 #define CLK_NULL_EVENT (__builtin_astype(((void*)(__SIZE_MAX__)), clk_event_t))
16703
16704 // execution model related definitions
16705 #define CLK_ENQUEUE_FLAGS_NO_WAIT                   0x0
16706 #define CLK_ENQUEUE_FLAGS_WAIT_KERNEL               0x1
16707 #define CLK_ENQUEUE_FLAGS_WAIT_WORK_GROUP           0x2
16708
16709 typedef int kernel_enqueue_flags_t;
16710 typedef int clk_profiling_info;
16711
16712 // Profiling info name (see capture_event_profiling_info)
16713 #define CLK_PROFILING_COMMAND_EXEC_TIME 0x1
16714
16715 #define MAX_WORK_DIM        3
16716
16717 // ToDo: Remove definition of ndrange_t in Clang as an opaque type and add back
16718 // the following ndrange_t definition.
16719 #if 0
16720 typedef struct {
16721     unsigned int workDimension;
16722     size_t globalWorkOffset[MAX_WORK_DIM];
16723     size_t globalWorkSize[MAX_WORK_DIM];
16724     size_t localWorkSize[MAX_WORK_DIM];
16725 } ndrange_t;
16726 #endif
16727
16728 ndrange_t __ovld ndrange_1D(size_t);
16729 ndrange_t __ovld ndrange_1D(size_t, size_t);
16730 ndrange_t __ovld ndrange_1D(size_t, size_t, size_t);
16731
16732 ndrange_t __ovld ndrange_2D(const size_t[2]);
16733 ndrange_t __ovld ndrange_2D(const size_t[2], const size_t[2]);
16734 ndrange_t __ovld ndrange_2D(const size_t[2], const size_t[2], const size_t[2]);
16735
16736 ndrange_t __ovld ndrange_3D(const size_t[3]);
16737 ndrange_t __ovld ndrange_3D(const size_t[3], const size_t[3]);
16738 ndrange_t __ovld ndrange_3D(const size_t[3], const size_t[3], const size_t[3]);
16739
16740 int __ovld enqueue_marker(queue_t, uint, const __private clk_event_t*, __private clk_event_t*);
16741
16742 void __ovld retain_event(clk_event_t);
16743
16744 void __ovld release_event(clk_event_t);
16745
16746 clk_event_t __ovld create_user_event(void);
16747
16748 void __ovld set_user_event_status(clk_event_t e, int state);
16749
16750 bool __ovld is_valid_event (clk_event_t event);
16751
16752 void __ovld capture_event_profiling_info(clk_event_t, clk_profiling_info, __global void* value);
16753
16754 queue_t __ovld get_default_queue(void);
16755 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
16756
16757 // OpenCL Extension v2.0 s9.17 - Sub-groups
16758
16759 #if defined(cl_intel_subgroups) || defined(cl_khr_subgroups)
16760 // Shared Sub Group Functions
16761 uint    __ovld get_sub_group_size(void);
16762 uint    __ovld get_max_sub_group_size(void);
16763 uint    __ovld get_num_sub_groups(void);
16764 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
16765 uint    __ovld get_enqueued_num_sub_groups(void);
16766 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
16767 uint    __ovld get_sub_group_id(void);
16768 uint    __ovld get_sub_group_local_id(void);
16769
16770 void    __ovld __conv sub_group_barrier(cl_mem_fence_flags flags);
16771 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
16772 void    __ovld __conv sub_group_barrier(cl_mem_fence_flags flags, memory_scope scope);
16773 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
16774
16775 int     __ovld __conv sub_group_all(int predicate);
16776 int     __ovld __conv sub_group_any(int predicate);
16777
16778 int     __ovld __conv sub_group_broadcast(int   x, uint sub_group_local_id);
16779 uint    __ovld __conv sub_group_broadcast(uint  x, uint sub_group_local_id);
16780 long    __ovld __conv sub_group_broadcast(long  x, uint sub_group_local_id);
16781 ulong   __ovld __conv sub_group_broadcast(ulong x, uint sub_group_local_id);
16782 float   __ovld __conv sub_group_broadcast(float x, uint sub_group_local_id);
16783
16784 int     __ovld __conv sub_group_reduce_add(int   x);
16785 uint    __ovld __conv sub_group_reduce_add(uint  x);
16786 long    __ovld __conv sub_group_reduce_add(long  x);
16787 ulong   __ovld __conv sub_group_reduce_add(ulong x);
16788 float   __ovld __conv sub_group_reduce_add(float x);
16789 int     __ovld __conv sub_group_reduce_min(int   x);
16790 uint    __ovld __conv sub_group_reduce_min(uint  x);
16791 long    __ovld __conv sub_group_reduce_min(long  x);
16792 ulong   __ovld __conv sub_group_reduce_min(ulong x);
16793 float   __ovld __conv sub_group_reduce_min(float x);
16794 int     __ovld __conv sub_group_reduce_max(int   x);
16795 uint    __ovld __conv sub_group_reduce_max(uint  x);
16796 long    __ovld __conv sub_group_reduce_max(long  x);
16797 ulong   __ovld __conv sub_group_reduce_max(ulong x);
16798 float   __ovld __conv sub_group_reduce_max(float x);
16799
16800 int     __ovld __conv sub_group_scan_exclusive_add(int   x);
16801 uint    __ovld __conv sub_group_scan_exclusive_add(uint  x);
16802 long    __ovld __conv sub_group_scan_exclusive_add(long  x);
16803 ulong   __ovld __conv sub_group_scan_exclusive_add(ulong x);
16804 float   __ovld __conv sub_group_scan_exclusive_add(float x);
16805 int     __ovld __conv sub_group_scan_exclusive_min(int   x);
16806 uint    __ovld __conv sub_group_scan_exclusive_min(uint  x);
16807 long    __ovld __conv sub_group_scan_exclusive_min(long  x);
16808 ulong   __ovld __conv sub_group_scan_exclusive_min(ulong x);
16809 float   __ovld __conv sub_group_scan_exclusive_min(float x);
16810 int     __ovld __conv sub_group_scan_exclusive_max(int   x);
16811 uint    __ovld __conv sub_group_scan_exclusive_max(uint  x);
16812 long    __ovld __conv sub_group_scan_exclusive_max(long  x);
16813 ulong   __ovld __conv sub_group_scan_exclusive_max(ulong x);
16814 float   __ovld __conv sub_group_scan_exclusive_max(float x);
16815
16816 int     __ovld __conv sub_group_scan_inclusive_add(int   x);
16817 uint    __ovld __conv sub_group_scan_inclusive_add(uint  x);
16818 long    __ovld __conv sub_group_scan_inclusive_add(long  x);
16819 ulong   __ovld __conv sub_group_scan_inclusive_add(ulong x);
16820 float   __ovld __conv sub_group_scan_inclusive_add(float x);
16821 int     __ovld __conv sub_group_scan_inclusive_min(int   x);
16822 uint    __ovld __conv sub_group_scan_inclusive_min(uint  x);
16823 long    __ovld __conv sub_group_scan_inclusive_min(long  x);
16824 ulong   __ovld __conv sub_group_scan_inclusive_min(ulong x);
16825 float   __ovld __conv sub_group_scan_inclusive_min(float x);
16826 int     __ovld __conv sub_group_scan_inclusive_max(int   x);
16827 uint    __ovld __conv sub_group_scan_inclusive_max(uint  x);
16828 long    __ovld __conv sub_group_scan_inclusive_max(long  x);
16829 ulong   __ovld __conv sub_group_scan_inclusive_max(ulong x);
16830 float   __ovld __conv sub_group_scan_inclusive_max(float x);
16831
16832 #ifdef cl_khr_fp16
16833 half    __ovld __conv sub_group_broadcast(half x, uint sub_group_local_id);
16834 half    __ovld __conv sub_group_reduce_add(half x);
16835 half    __ovld __conv sub_group_reduce_min(half x);
16836 half    __ovld __conv sub_group_reduce_max(half x);
16837 half    __ovld __conv sub_group_scan_exclusive_add(half x);
16838 half    __ovld __conv sub_group_scan_exclusive_min(half x);
16839 half    __ovld __conv sub_group_scan_exclusive_max(half x);
16840 half    __ovld __conv sub_group_scan_inclusive_add(half x);
16841 half    __ovld __conv sub_group_scan_inclusive_min(half x);
16842 half    __ovld __conv sub_group_scan_inclusive_max(half x);
16843 #endif //cl_khr_fp16
16844
16845 #ifdef cl_khr_fp64
16846 double  __ovld __conv sub_group_broadcast(double x, uint sub_group_local_id);
16847 double  __ovld __conv sub_group_reduce_add(double x);
16848 double  __ovld __conv sub_group_reduce_min(double x);
16849 double  __ovld __conv sub_group_reduce_max(double x);
16850 double  __ovld __conv sub_group_scan_exclusive_add(double x);
16851 double  __ovld __conv sub_group_scan_exclusive_min(double x);
16852 double  __ovld __conv sub_group_scan_exclusive_max(double x);
16853 double  __ovld __conv sub_group_scan_inclusive_add(double x);
16854 double  __ovld __conv sub_group_scan_inclusive_min(double x);
16855 double  __ovld __conv sub_group_scan_inclusive_max(double x);
16856 #endif //cl_khr_fp64
16857
16858 #endif //cl_khr_subgroups cl_intel_subgroups
16859
16860 #ifdef cl_amd_media_ops
16861 uint __ovld amd_bitalign(uint a, uint b, uint c);
16862 uint2 __ovld amd_bitalign(uint2 a, uint2 b, uint2 c);
16863 uint3 __ovld amd_bitalign(uint3 a, uint3 b, uint3 c);
16864 uint4 __ovld amd_bitalign(uint4 a, uint4 b, uint4 c);
16865 uint8 __ovld amd_bitalign(uint8 a, uint8 b, uint8 c);
16866 uint16 __ovld amd_bitalign(uint16 a, uint16 b, uint16 c);
16867
16868 uint __ovld amd_bytealign(uint a, uint b, uint c);
16869 uint2 __ovld amd_bytealign(uint2 a, uint2 b, uint2 c);
16870 uint3 __ovld amd_bytealign(uint3 a, uint3 b, uint3 c);
16871 uint4 __ovld amd_bytealign(uint4 a, uint4 b, uint4 c);
16872 uint8 __ovld amd_bytealign(uint8 a, uint8 b, uint8 c);
16873 uint16 __ovld amd_bytealign(uint16 a, uint16 b, uint16 c);
16874
16875 uint __ovld amd_lerp(uint a, uint b, uint c);
16876 uint2 __ovld amd_lerp(uint2 a, uint2 b, uint2 c);
16877 uint3 __ovld amd_lerp(uint3 a, uint3 b, uint3 c);
16878 uint4 __ovld amd_lerp(uint4 a, uint4 b, uint4 c);
16879 uint8 __ovld amd_lerp(uint8 a, uint8 b, uint8 c);
16880 uint16 __ovld amd_lerp(uint16 a, uint16 b, uint16 c);
16881
16882 uint __ovld amd_pack(float4 v);
16883
16884 uint __ovld amd_sad4(uint4 x, uint4 y, uint z);
16885
16886 uint __ovld amd_sadhi(uint a, uint b, uint c);
16887 uint2 __ovld amd_sadhi(uint2 a, uint2 b, uint2 c);
16888 uint3 __ovld amd_sadhi(uint3 a, uint3 b, uint3 c);
16889 uint4 __ovld amd_sadhi(uint4 a, uint4 b, uint4 c);
16890 uint8 __ovld amd_sadhi(uint8 a, uint8 b, uint8 c);
16891 uint16 __ovld amd_sadhi(uint16 a, uint16 b, uint16 c);
16892
16893 uint __ovld amd_sad(uint a, uint b, uint c);
16894 uint2 __ovld amd_sad(uint2 a, uint2 b, uint2 c);
16895 uint3 __ovld amd_sad(uint3 a, uint3 b, uint3 c);
16896 uint4 __ovld amd_sad(uint4 a, uint4 b, uint4 c);
16897 uint8 __ovld amd_sad(uint8 a, uint8 b, uint8 c);
16898 uint16 __ovld amd_sad(uint16 a, uint16 b, uint16 c);
16899
16900 float __ovld amd_unpack0(uint a);
16901 float2 __ovld amd_unpack0(uint2 a);
16902 float3 __ovld amd_unpack0(uint3 a);
16903 float4 __ovld amd_unpack0(uint4 a);
16904 float8 __ovld amd_unpack0(uint8 a);
16905 float16 __ovld amd_unpack0(uint16 a);
16906
16907 float __ovld amd_unpack1(uint a);
16908 float2 __ovld amd_unpack1(uint2 a);
16909 float3 __ovld amd_unpack1(uint3 a);
16910 float4 __ovld amd_unpack1(uint4 a);
16911 float8 __ovld amd_unpack1(uint8 a);
16912 float16 __ovld amd_unpack1(uint16 a);
16913
16914 float __ovld amd_unpack2(uint a);
16915 float2 __ovld amd_unpack2(uint2 a);
16916 float3 __ovld amd_unpack2(uint3 a);
16917 float4 __ovld amd_unpack2(uint4 a);
16918 float8 __ovld amd_unpack2(uint8 a);
16919 float16 __ovld amd_unpack2(uint16 a);
16920
16921 float __ovld amd_unpack3(uint a);
16922 float2 __ovld amd_unpack3(uint2 a);
16923 float3 __ovld amd_unpack3(uint3 a);
16924 float4 __ovld amd_unpack3(uint4 a);
16925 float8 __ovld amd_unpack3(uint8 a);
16926 float16 __ovld amd_unpack3(uint16 a);
16927 #endif // cl_amd_media_ops
16928
16929 #ifdef cl_amd_media_ops2
16930 int __ovld amd_bfe(int src0, uint src1, uint src2);
16931 int2 __ovld amd_bfe(int2 src0, uint2 src1, uint2 src2);
16932 int3 __ovld amd_bfe(int3 src0, uint3 src1, uint3 src2);
16933 int4 __ovld amd_bfe(int4 src0, uint4 src1, uint4 src2);
16934 int8 __ovld amd_bfe(int8 src0, uint8 src1, uint8 src2);
16935 int16 __ovld amd_bfe(int16 src0, uint16 src1, uint16 src2);
16936
16937 uint __ovld amd_bfe(uint src0, uint src1, uint src2);
16938 uint2 __ovld amd_bfe(uint2 src0, uint2 src1, uint2 src2);
16939 uint3 __ovld amd_bfe(uint3 src0, uint3 src1, uint3 src2);
16940 uint4 __ovld amd_bfe(uint4 src0, uint4 src1, uint4 src2);
16941 uint8 __ovld amd_bfe(uint8 src0, uint8 src1, uint8 src2);
16942 uint16 __ovld amd_bfe(uint16 src0, uint16 src1, uint16 src2);
16943
16944 uint __ovld amd_bfm(uint src0, uint src1);
16945 uint2 __ovld amd_bfm(uint2 src0, uint2 src1);
16946 uint3 __ovld amd_bfm(uint3 src0, uint3 src1);
16947 uint4 __ovld amd_bfm(uint4 src0, uint4 src1);
16948 uint8 __ovld amd_bfm(uint8 src0, uint8 src1);
16949 uint16 __ovld amd_bfm(uint16 src0, uint16 src1);
16950
16951 float __ovld amd_max3(float src0, float src1, float src2);
16952 float2 __ovld amd_max3(float2 src0, float2 src1, float2 src2);
16953 float3 __ovld amd_max3(float3 src0, float3 src1, float3 src2);
16954 float4 __ovld amd_max3(float4 src0, float4 src1, float4 src2);
16955 float8 __ovld amd_max3(float8 src0, float8 src1, float8 src2);
16956 float16 __ovld amd_max3(float16 src0, float16 src1, float16 src2);
16957
16958 int __ovld amd_max3(int src0, int src1, int src2);
16959 int2 __ovld amd_max3(int2 src0, int2 src1, int2 src2);
16960 int3 __ovld amd_max3(int3 src0, int3 src1, int3 src2);
16961 int4 __ovld amd_max3(int4 src0, int4 src1, int4 src2);
16962 int8 __ovld amd_max3(int8 src0, int8 src1, int8 src2);
16963 int16 __ovld amd_max3(int16 src0, int16 src1, int16 src2);
16964
16965 uint __ovld amd_max3(uint src0, uint src1, uint src2);
16966 uint2 __ovld amd_max3(uint2 src0, uint2 src1, uint2 src2);
16967 uint3 __ovld amd_max3(uint3 src0, uint3 src1, uint3 src2);
16968 uint4 __ovld amd_max3(uint4 src0, uint4 src1, uint4 src2);
16969 uint8 __ovld amd_max3(uint8 src0, uint8 src1, uint8 src2);
16970 uint16 __ovld amd_max3(uint16 src0, uint16 src1, uint16 src2);
16971
16972 float __ovld amd_median3(float src0, float src1, float src2);
16973 float2 __ovld amd_median3(float2 src0, float2 src1, float2 src2);
16974 float3 __ovld amd_median3(float3 src0, float3 src1, float3 src2);
16975 float4 __ovld amd_median3(float4 src0, float4 src1, float4 src2);
16976 float8 __ovld amd_median3(float8 src0, float8 src1, float8 src2);
16977 float16 __ovld amd_median3(float16 src0, float16 src1, float16 src2);
16978
16979 int __ovld amd_median3(int src0, int src1, int src2);
16980 int2 __ovld amd_median3(int2 src0, int2 src1, int2 src2);
16981 int3 __ovld amd_median3(int3 src0, int3 src1, int3 src2);
16982 int4 __ovld amd_median3(int4 src0, int4 src1, int4 src2);
16983 int8 __ovld amd_median3(int8 src0, int8 src1, int8 src2);
16984 int16 __ovld amd_median3(int16 src0, int16 src1, int16 src2);
16985
16986 uint __ovld amd_median3(uint src0, uint src1, uint src2);
16987 uint2 __ovld amd_median3(uint2 src0, uint2 src1, uint2 src2);
16988 uint3 __ovld amd_median3(uint3 src0, uint3 src1, uint3 src2);
16989 uint4 __ovld amd_median3(uint4 src0, uint4 src1, uint4 src2);
16990 uint8 __ovld amd_median3(uint8 src0, uint8 src1, uint8 src2);
16991 uint16 __ovld amd_median3(uint16 src0, uint16 src1, uint16 src2);
16992
16993 float __ovld amd_min3(float src0, float src1, float src);
16994 float2 __ovld amd_min3(float2 src0, float2 src1, float2 src);
16995 float3 __ovld amd_min3(float3 src0, float3 src1, float3 src);
16996 float4 __ovld amd_min3(float4 src0, float4 src1, float4 src);
16997 float8 __ovld amd_min3(float8 src0, float8 src1, float8 src);
16998 float16 __ovld amd_min3(float16 src0, float16 src1, float16 src);
16999
17000 int __ovld amd_min3(int src0, int src1, int src2);
17001 int2 __ovld amd_min3(int2 src0, int2 src1, int2 src2);
17002 int3 __ovld amd_min3(int3 src0, int3 src1, int3 src2);
17003 int4 __ovld amd_min3(int4 src0, int4 src1, int4 src2);
17004 int8 __ovld amd_min3(int8 src0, int8 src1, int8 src2);
17005 int16 __ovld amd_min3(int16 src0, int16 src1, int16 src2);
17006
17007 uint __ovld amd_min3(uint src0, uint src1, uint src2);
17008 uint2 __ovld amd_min3(uint2 src0, uint2 src1, uint2 src2);
17009 uint3 __ovld amd_min3(uint3 src0, uint3 src1, uint3 src2);
17010 uint4 __ovld amd_min3(uint4 src0, uint4 src1, uint4 src2);
17011 uint8 __ovld amd_min3(uint8 src0, uint8 src1, uint8 src2);
17012 uint16 __ovld amd_min3(uint16 src0, uint16 src1, uint16 src2);
17013
17014 ulong __ovld amd_mqsad(ulong src0, uint src1, ulong src2);
17015 ulong2 __ovld amd_mqsad(ulong2 src0, uint2 src1, ulong2 src2);
17016 ulong3 __ovld amd_mqsad(ulong3 src0, uint3 src1, ulong3 src2);
17017 ulong4 __ovld amd_mqsad(ulong4 src0, uint4 src1, ulong4 src2);
17018 ulong8 __ovld amd_mqsad(ulong8 src0, uint8 src1, ulong8 src2);
17019 ulong16 __ovld amd_mqsad(ulong16 src0, uint16 src1, ulong16 src2);
17020
17021 ulong __ovld amd_qsad(ulong src0, uint src1, ulong src2);
17022 ulong2 __ovld amd_qsad(ulong2 src0, uint2 src1, ulong2 src2);
17023 ulong3 __ovld amd_qsad(ulong3 src0, uint3 src1, ulong3 src2);
17024 ulong4 __ovld amd_qsad(ulong4 src0, uint4 src1, ulong4 src2);
17025 ulong8 __ovld amd_qsad(ulong8 src0, uint8 src1, ulong8 src2);
17026 ulong16 __ovld amd_qsad(ulong16 src0, uint16 src1, ulong16 src2);
17027
17028 uint __ovld amd_msad(uint src0, uint src1, uint src2);
17029 uint2 __ovld amd_msad(uint2 src0, uint2 src1, uint2 src2);
17030 uint3 __ovld amd_msad(uint3 src0, uint3 src1, uint3 src2);
17031 uint4 __ovld amd_msad(uint4 src0, uint4 src1, uint4 src2);
17032 uint8 __ovld amd_msad(uint8 src0, uint8 src1, uint8 src2);
17033 uint16 __ovld amd_msad(uint16 src0, uint16 src1, uint16 src2);
17034
17035 uint __ovld amd_sadd(uint src0, uint src1, uint src2);
17036 uint2 __ovld amd_sadd(uint2 src0, uint2 src1, uint2 src2);
17037 uint3 __ovld amd_sadd(uint3 src0, uint3 src1, uint3 src2);
17038 uint4 __ovld amd_sadd(uint4 src0, uint4 src1, uint4 src2);
17039 uint8 __ovld amd_sadd(uint8 src0, uint8 src1, uint8 src2);
17040 uint16 __ovld amd_sadd(uint16 src0, uint16 src1, uint16 src2);
17041
17042 uint __ovld amd_sadw(uint src0, uint src1, uint src2);
17043 uint2 __ovld amd_sadw(uint2 src0, uint2 src1, uint2 src2);
17044 uint3 __ovld amd_sadw(uint3 src0, uint3 src1, uint3 src2);
17045 uint4 __ovld amd_sadw(uint4 src0, uint4 src1, uint4 src2);
17046 uint8 __ovld amd_sadw(uint8 src0, uint8 src1, uint8 src2);
17047 uint16 __ovld amd_sadw(uint16 src0, uint16 src1, uint16 src2);
17048 #endif // cl_amd_media_ops2
17049
17050 // Disable any extensions we may have enabled previously.
17051 #pragma OPENCL EXTENSION all : disable
17052
17053 #undef __cnfn
17054 #undef __ovld
17055 #endif //_OPENCL_H_