]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/llvm/tools/clang/lib/Headers/opencl-c.h
Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp
[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 #if __OPENCL_C_VERSION__ < CL_VERSION_2_0
20 #ifdef cl_khr_3d_image_writes
21 #pragma OPENCL EXTENSION cl_khr_3d_image_writes : enable
22 #endif //cl_khr_3d_image_writes
23 #endif //__OPENCL_C_VERSION__ < CL_VERSION_2_0
24
25 #if __OPENCL_C_VERSION__ >= CL_VERSION_1_2
26 #ifndef cl_intel_planar_yuv
27 #define cl_intel_planar_yuv
28 #endif // cl_intel_planar_yuv
29 #pragma OPENCL EXTENSION cl_intel_planar_yuv : begin
30 #pragma OPENCL EXTENSION cl_intel_planar_yuv : end
31 #endif // __OPENCL_C_VERSION__ >= CL_VERSION_1_2
32
33 #define __ovld __attribute__((overloadable))
34 #define __conv __attribute__((convergent))
35
36 // Optimizations
37 #define __purefn __attribute__((pure))
38 #define __cnfn __attribute__((const))
39
40 // built-in scalar data types:
41
42 /**
43  * An unsigned 8-bit integer.
44  */
45 typedef unsigned char uchar;
46
47 /**
48  * An unsigned 16-bit integer.
49  */
50 typedef unsigned short ushort;
51
52 /**
53  * An unsigned 32-bit integer.
54  */
55 typedef unsigned int uint;
56
57 /**
58  * An unsigned 64-bit integer.
59  */
60 typedef unsigned long ulong;
61
62 /**
63  * The unsigned integer type of the result of the sizeof operator. This
64  * is a 32-bit unsigned integer if CL_DEVICE_ADDRESS_BITS
65  * defined in table 4.3 is 32-bits and is a 64-bit unsigned integer if
66  * CL_DEVICE_ADDRESS_BITS is 64-bits.
67  */
68 typedef __SIZE_TYPE__ size_t;
69
70 /**
71  * A signed integer type that is the result of subtracting two pointers.
72  * This is a 32-bit signed integer if CL_DEVICE_ADDRESS_BITS
73  * defined in table 4.3 is 32-bits and is a 64-bit signed integer if
74  * CL_DEVICE_ADDRESS_BITS is 64-bits.
75  */
76 typedef __PTRDIFF_TYPE__ ptrdiff_t;
77
78 /**
79 * A signed integer type with the property that any valid pointer to
80 * void can be converted to this type, then converted back to pointer
81 * to void, and the result will compare equal to the original pointer.
82 */
83 typedef __INTPTR_TYPE__ intptr_t;
84
85 /**
86 * An unsigned integer type with the property that any valid pointer to
87 * void can be converted to this type, then converted back to pointer
88 * to void, and the result will compare equal to the original pointer.
89 */
90 typedef __UINTPTR_TYPE__ uintptr_t;
91
92 // built-in vector data types:
93 typedef char char2 __attribute__((ext_vector_type(2)));
94 typedef char char3 __attribute__((ext_vector_type(3)));
95 typedef char char4 __attribute__((ext_vector_type(4)));
96 typedef char char8 __attribute__((ext_vector_type(8)));
97 typedef char char16 __attribute__((ext_vector_type(16)));
98 typedef uchar uchar2 __attribute__((ext_vector_type(2)));
99 typedef uchar uchar3 __attribute__((ext_vector_type(3)));
100 typedef uchar uchar4 __attribute__((ext_vector_type(4)));
101 typedef uchar uchar8 __attribute__((ext_vector_type(8)));
102 typedef uchar uchar16 __attribute__((ext_vector_type(16)));
103 typedef short short2 __attribute__((ext_vector_type(2)));
104 typedef short short3 __attribute__((ext_vector_type(3)));
105 typedef short short4 __attribute__((ext_vector_type(4)));
106 typedef short short8 __attribute__((ext_vector_type(8)));
107 typedef short short16 __attribute__((ext_vector_type(16)));
108 typedef ushort ushort2 __attribute__((ext_vector_type(2)));
109 typedef ushort ushort3 __attribute__((ext_vector_type(3)));
110 typedef ushort ushort4 __attribute__((ext_vector_type(4)));
111 typedef ushort ushort8 __attribute__((ext_vector_type(8)));
112 typedef ushort ushort16 __attribute__((ext_vector_type(16)));
113 typedef int int2 __attribute__((ext_vector_type(2)));
114 typedef int int3 __attribute__((ext_vector_type(3)));
115 typedef int int4 __attribute__((ext_vector_type(4)));
116 typedef int int8 __attribute__((ext_vector_type(8)));
117 typedef int int16 __attribute__((ext_vector_type(16)));
118 typedef uint uint2 __attribute__((ext_vector_type(2)));
119 typedef uint uint3 __attribute__((ext_vector_type(3)));
120 typedef uint uint4 __attribute__((ext_vector_type(4)));
121 typedef uint uint8 __attribute__((ext_vector_type(8)));
122 typedef uint uint16 __attribute__((ext_vector_type(16)));
123 typedef long long2 __attribute__((ext_vector_type(2)));
124 typedef long long3 __attribute__((ext_vector_type(3)));
125 typedef long long4 __attribute__((ext_vector_type(4)));
126 typedef long long8 __attribute__((ext_vector_type(8)));
127 typedef long long16 __attribute__((ext_vector_type(16)));
128 typedef ulong ulong2 __attribute__((ext_vector_type(2)));
129 typedef ulong ulong3 __attribute__((ext_vector_type(3)));
130 typedef ulong ulong4 __attribute__((ext_vector_type(4)));
131 typedef ulong ulong8 __attribute__((ext_vector_type(8)));
132 typedef ulong ulong16 __attribute__((ext_vector_type(16)));
133 typedef float float2 __attribute__((ext_vector_type(2)));
134 typedef float float3 __attribute__((ext_vector_type(3)));
135 typedef float float4 __attribute__((ext_vector_type(4)));
136 typedef float float8 __attribute__((ext_vector_type(8)));
137 typedef float float16 __attribute__((ext_vector_type(16)));
138 #ifdef cl_khr_fp16
139 #pragma OPENCL EXTENSION cl_khr_fp16 : enable
140 typedef half half2 __attribute__((ext_vector_type(2)));
141 typedef half half3 __attribute__((ext_vector_type(3)));
142 typedef half half4 __attribute__((ext_vector_type(4)));
143 typedef half half8 __attribute__((ext_vector_type(8)));
144 typedef half half16 __attribute__((ext_vector_type(16)));
145 #endif
146 #ifdef cl_khr_fp64
147 #if __OPENCL_C_VERSION__ < CL_VERSION_1_2
148 #pragma OPENCL EXTENSION cl_khr_fp64 : enable
149 #endif
150 typedef double double2 __attribute__((ext_vector_type(2)));
151 typedef double double3 __attribute__((ext_vector_type(3)));
152 typedef double double4 __attribute__((ext_vector_type(4)));
153 typedef double double8 __attribute__((ext_vector_type(8)));
154 typedef double double16 __attribute__((ext_vector_type(16)));
155 #endif
156
157 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
158 #define NULL ((void*)0)
159 #endif
160
161 /**
162  * Value of maximum non-infinite single-precision floating-point
163  * number.
164  */
165 #define MAXFLOAT 0x1.fffffep127f
166
167 /**
168  * A positive float constant expression. HUGE_VALF evaluates
169  * to +infinity. Used as an error value returned by the built-in
170  * math functions.
171  */
172 #define HUGE_VALF (__builtin_huge_valf())
173
174 /**
175  * A positive double constant expression. HUGE_VAL evaluates
176  * to +infinity. Used as an error value returned by the built-in
177  * math functions.
178  */
179 #define HUGE_VAL (__builtin_huge_val())
180
181 /**
182  * A constant expression of type float representing positive or
183  * unsigned infinity.
184  */
185 #define INFINITY (__builtin_inff())
186
187 /**
188  * A constant expression of type float representing a quiet NaN.
189  */
190 #define NAN as_float(INT_MAX)
191
192 #define FP_ILOGB0    INT_MIN
193 #define FP_ILOGBNAN    INT_MAX
194
195 #define FLT_DIG 6
196 #define FLT_MANT_DIG 24
197 #define FLT_MAX_10_EXP +38
198 #define FLT_MAX_EXP +128
199 #define FLT_MIN_10_EXP -37
200 #define FLT_MIN_EXP -125
201 #define FLT_RADIX 2
202 #define FLT_MAX 0x1.fffffep127f
203 #define FLT_MIN 0x1.0p-126f
204 #define FLT_EPSILON 0x1.0p-23f
205
206 #define M_E_F         2.71828182845904523536028747135266250f
207 #define M_LOG2E_F     1.44269504088896340735992468100189214f
208 #define M_LOG10E_F    0.434294481903251827651128918916605082f
209 #define M_LN2_F       0.693147180559945309417232121458176568f
210 #define M_LN10_F      2.30258509299404568401799145468436421f
211 #define M_PI_F        3.14159265358979323846264338327950288f
212 #define M_PI_2_F      1.57079632679489661923132169163975144f
213 #define M_PI_4_F      0.785398163397448309615660845819875721f
214 #define M_1_PI_F      0.318309886183790671537767526745028724f
215 #define M_2_PI_F      0.636619772367581343075535053490057448f
216 #define M_2_SQRTPI_F  1.12837916709551257389615890312154517f
217 #define M_SQRT2_F     1.41421356237309504880168872420969808f
218 #define M_SQRT1_2_F   0.707106781186547524400844362104849039f
219
220 #define DBL_DIG 15
221 #define DBL_MANT_DIG 53
222 #define DBL_MAX_10_EXP +308
223 #define DBL_MAX_EXP +1024
224 #define DBL_MIN_10_EXP -307
225 #define DBL_MIN_EXP -1021
226 #define DBL_RADIX 2
227 #define DBL_MAX 0x1.fffffffffffffp1023
228 #define DBL_MIN 0x1.0p-1022
229 #define DBL_EPSILON 0x1.0p-52
230
231 #define M_E           0x1.5bf0a8b145769p+1
232 #define M_LOG2E       0x1.71547652b82fep+0
233 #define M_LOG10E      0x1.bcb7b1526e50ep-2
234 #define M_LN2         0x1.62e42fefa39efp-1
235 #define M_LN10        0x1.26bb1bbb55516p+1
236 #define M_PI          0x1.921fb54442d18p+1
237 #define M_PI_2        0x1.921fb54442d18p+0
238 #define M_PI_4        0x1.921fb54442d18p-1
239 #define M_1_PI        0x1.45f306dc9c883p-2
240 #define M_2_PI        0x1.45f306dc9c883p-1
241 #define M_2_SQRTPI    0x1.20dd750429b6dp+0
242 #define M_SQRT2       0x1.6a09e667f3bcdp+0
243 #define M_SQRT1_2     0x1.6a09e667f3bcdp-1
244
245 #ifdef cl_khr_fp16
246
247 #define HALF_DIG 3
248 #define HALF_MANT_DIG 11
249 #define HALF_MAX_10_EXP +4
250 #define HALF_MAX_EXP +16
251 #define HALF_MIN_10_EXP -4
252 #define HALF_MIN_EXP -13
253 #define HALF_RADIX 2
254 #define HALF_MAX ((0x1.ffcp15h))
255 #define HALF_MIN ((0x1.0p-14h))
256 #define HALF_EPSILON ((0x1.0p-10h))
257
258 #define M_E_H         2.71828182845904523536028747135266250h
259 #define M_LOG2E_H     1.44269504088896340735992468100189214h
260 #define M_LOG10E_H    0.434294481903251827651128918916605082h
261 #define M_LN2_H       0.693147180559945309417232121458176568h
262 #define M_LN10_H      2.30258509299404568401799145468436421h
263 #define M_PI_H        3.14159265358979323846264338327950288h
264 #define M_PI_2_H      1.57079632679489661923132169163975144h
265 #define M_PI_4_H      0.785398163397448309615660845819875721h
266 #define M_1_PI_H      0.318309886183790671537767526745028724h
267 #define M_2_PI_H      0.636619772367581343075535053490057448h
268 #define M_2_SQRTPI_H  1.12837916709551257389615890312154517h
269 #define M_SQRT2_H     1.41421356237309504880168872420969808h
270 #define M_SQRT1_2_H   0.707106781186547524400844362104849039h
271
272 #endif //cl_khr_fp16
273
274 #define CHAR_BIT    8
275 #define SCHAR_MAX  127
276 #define SCHAR_MIN  (-128)
277 #define UCHAR_MAX  255
278 #define CHAR_MAX  SCHAR_MAX
279 #define CHAR_MIN  SCHAR_MIN
280 #define USHRT_MAX  65535
281 #define SHRT_MAX  32767
282 #define SHRT_MIN  (-32768)
283 #define UINT_MAX  0xffffffff
284 #define INT_MAX    2147483647
285 #define INT_MIN    (-2147483647-1)
286 #define ULONG_MAX  0xffffffffffffffffUL
287 #define LONG_MAX  0x7fffffffffffffffL
288 #define LONG_MIN  (-0x7fffffffffffffffL-1)
289
290 // OpenCL v1.1/1.2/2.0 s6.2.3 - Explicit conversions
291
292 char __ovld __cnfn convert_char_rte(char);
293 char __ovld __cnfn convert_char_sat_rte(char);
294 char __ovld __cnfn convert_char_rtz(char);
295 char __ovld __cnfn convert_char_sat_rtz(char);
296 char __ovld __cnfn convert_char_rtp(char);
297 char __ovld __cnfn convert_char_sat_rtp(char);
298 char __ovld __cnfn convert_char_rtn(char);
299 char __ovld __cnfn convert_char_sat_rtn(char);
300 char __ovld __cnfn convert_char(char);
301 char __ovld __cnfn convert_char_sat(char);
302 char __ovld __cnfn convert_char_rte(uchar);
303 char __ovld __cnfn convert_char_sat_rte(uchar);
304 char __ovld __cnfn convert_char_rtz(uchar);
305 char __ovld __cnfn convert_char_sat_rtz(uchar);
306 char __ovld __cnfn convert_char_rtp(uchar);
307 char __ovld __cnfn convert_char_sat_rtp(uchar);
308 char __ovld __cnfn convert_char_rtn(uchar);
309 char __ovld __cnfn convert_char_sat_rtn(uchar);
310 char __ovld __cnfn convert_char(uchar);
311 char __ovld __cnfn convert_char_sat(uchar);
312 char __ovld __cnfn convert_char_rte(short);
313 char __ovld __cnfn convert_char_sat_rte(short);
314 char __ovld __cnfn convert_char_rtz(short);
315 char __ovld __cnfn convert_char_sat_rtz(short);
316 char __ovld __cnfn convert_char_rtp(short);
317 char __ovld __cnfn convert_char_sat_rtp(short);
318 char __ovld __cnfn convert_char_rtn(short);
319 char __ovld __cnfn convert_char_sat_rtn(short);
320 char __ovld __cnfn convert_char(short);
321 char __ovld __cnfn convert_char_sat(short);
322 char __ovld __cnfn convert_char_rte(ushort);
323 char __ovld __cnfn convert_char_sat_rte(ushort);
324 char __ovld __cnfn convert_char_rtz(ushort);
325 char __ovld __cnfn convert_char_sat_rtz(ushort);
326 char __ovld __cnfn convert_char_rtp(ushort);
327 char __ovld __cnfn convert_char_sat_rtp(ushort);
328 char __ovld __cnfn convert_char_rtn(ushort);
329 char __ovld __cnfn convert_char_sat_rtn(ushort);
330 char __ovld __cnfn convert_char(ushort);
331 char __ovld __cnfn convert_char_sat(ushort);
332 char __ovld __cnfn convert_char_rte(int);
333 char __ovld __cnfn convert_char_sat_rte(int);
334 char __ovld __cnfn convert_char_rtz(int);
335 char __ovld __cnfn convert_char_sat_rtz(int);
336 char __ovld __cnfn convert_char_rtp(int);
337 char __ovld __cnfn convert_char_sat_rtp(int);
338 char __ovld __cnfn convert_char_rtn(int);
339 char __ovld __cnfn convert_char_sat_rtn(int);
340 char __ovld __cnfn convert_char(int);
341 char __ovld __cnfn convert_char_sat(int);
342 char __ovld __cnfn convert_char_rte(uint);
343 char __ovld __cnfn convert_char_sat_rte(uint);
344 char __ovld __cnfn convert_char_rtz(uint);
345 char __ovld __cnfn convert_char_sat_rtz(uint);
346 char __ovld __cnfn convert_char_rtp(uint);
347 char __ovld __cnfn convert_char_sat_rtp(uint);
348 char __ovld __cnfn convert_char_rtn(uint);
349 char __ovld __cnfn convert_char_sat_rtn(uint);
350 char __ovld __cnfn convert_char(uint);
351 char __ovld __cnfn convert_char_sat(uint);
352 char __ovld __cnfn convert_char_rte(long);
353 char __ovld __cnfn convert_char_sat_rte(long);
354 char __ovld __cnfn convert_char_rtz(long);
355 char __ovld __cnfn convert_char_sat_rtz(long);
356 char __ovld __cnfn convert_char_rtp(long);
357 char __ovld __cnfn convert_char_sat_rtp(long);
358 char __ovld __cnfn convert_char_rtn(long);
359 char __ovld __cnfn convert_char_sat_rtn(long);
360 char __ovld __cnfn convert_char(long);
361 char __ovld __cnfn convert_char_sat(long);
362 char __ovld __cnfn convert_char_rte(ulong);
363 char __ovld __cnfn convert_char_sat_rte(ulong);
364 char __ovld __cnfn convert_char_rtz(ulong);
365 char __ovld __cnfn convert_char_sat_rtz(ulong);
366 char __ovld __cnfn convert_char_rtp(ulong);
367 char __ovld __cnfn convert_char_sat_rtp(ulong);
368 char __ovld __cnfn convert_char_rtn(ulong);
369 char __ovld __cnfn convert_char_sat_rtn(ulong);
370 char __ovld __cnfn convert_char(ulong);
371 char __ovld __cnfn convert_char_sat(ulong);
372 char __ovld __cnfn convert_char_rte(float);
373 char __ovld __cnfn convert_char_sat_rte(float);
374 char __ovld __cnfn convert_char_rtz(float);
375 char __ovld __cnfn convert_char_sat_rtz(float);
376 char __ovld __cnfn convert_char_rtp(float);
377 char __ovld __cnfn convert_char_sat_rtp(float);
378 char __ovld __cnfn convert_char_rtn(float);
379 char __ovld __cnfn convert_char_sat_rtn(float);
380 char __ovld __cnfn convert_char(float);
381 char __ovld __cnfn convert_char_sat(float);
382 uchar __ovld __cnfn convert_uchar_rte(char);
383 uchar __ovld __cnfn convert_uchar_sat_rte(char);
384 uchar __ovld __cnfn convert_uchar_rtz(char);
385 uchar __ovld __cnfn convert_uchar_sat_rtz(char);
386 uchar __ovld __cnfn convert_uchar_rtp(char);
387 uchar __ovld __cnfn convert_uchar_sat_rtp(char);
388 uchar __ovld __cnfn convert_uchar_rtn(char);
389 uchar __ovld __cnfn convert_uchar_sat_rtn(char);
390 uchar __ovld __cnfn convert_uchar(char);
391 uchar __ovld __cnfn convert_uchar_sat(char);
392 uchar __ovld __cnfn convert_uchar_rte(uchar);
393 uchar __ovld __cnfn convert_uchar_sat_rte(uchar);
394 uchar __ovld __cnfn convert_uchar_rtz(uchar);
395 uchar __ovld __cnfn convert_uchar_sat_rtz(uchar);
396 uchar __ovld __cnfn convert_uchar_rtp(uchar);
397 uchar __ovld __cnfn convert_uchar_sat_rtp(uchar);
398 uchar __ovld __cnfn convert_uchar_rtn(uchar);
399 uchar __ovld __cnfn convert_uchar_sat_rtn(uchar);
400 uchar __ovld __cnfn convert_uchar(uchar);
401 uchar __ovld __cnfn convert_uchar_sat(uchar);
402 uchar __ovld __cnfn convert_uchar_rte(short);
403 uchar __ovld __cnfn convert_uchar_sat_rte(short);
404 uchar __ovld __cnfn convert_uchar_rtz(short);
405 uchar __ovld __cnfn convert_uchar_sat_rtz(short);
406 uchar __ovld __cnfn convert_uchar_rtp(short);
407 uchar __ovld __cnfn convert_uchar_sat_rtp(short);
408 uchar __ovld __cnfn convert_uchar_rtn(short);
409 uchar __ovld __cnfn convert_uchar_sat_rtn(short);
410 uchar __ovld __cnfn convert_uchar(short);
411 uchar __ovld __cnfn convert_uchar_sat(short);
412 uchar __ovld __cnfn convert_uchar_rte(ushort);
413 uchar __ovld __cnfn convert_uchar_sat_rte(ushort);
414 uchar __ovld __cnfn convert_uchar_rtz(ushort);
415 uchar __ovld __cnfn convert_uchar_sat_rtz(ushort);
416 uchar __ovld __cnfn convert_uchar_rtp(ushort);
417 uchar __ovld __cnfn convert_uchar_sat_rtp(ushort);
418 uchar __ovld __cnfn convert_uchar_rtn(ushort);
419 uchar __ovld __cnfn convert_uchar_sat_rtn(ushort);
420 uchar __ovld __cnfn convert_uchar(ushort);
421 uchar __ovld __cnfn convert_uchar_sat(ushort);
422 uchar __ovld __cnfn convert_uchar_rte(int);
423 uchar __ovld __cnfn convert_uchar_sat_rte(int);
424 uchar __ovld __cnfn convert_uchar_rtz(int);
425 uchar __ovld __cnfn convert_uchar_sat_rtz(int);
426 uchar __ovld __cnfn convert_uchar_rtp(int);
427 uchar __ovld __cnfn convert_uchar_sat_rtp(int);
428 uchar __ovld __cnfn convert_uchar_rtn(int);
429 uchar __ovld __cnfn convert_uchar_sat_rtn(int);
430 uchar __ovld __cnfn convert_uchar(int);
431 uchar __ovld __cnfn convert_uchar_sat(int);
432 uchar __ovld __cnfn convert_uchar_rte(uint);
433 uchar __ovld __cnfn convert_uchar_sat_rte(uint);
434 uchar __ovld __cnfn convert_uchar_rtz(uint);
435 uchar __ovld __cnfn convert_uchar_sat_rtz(uint);
436 uchar __ovld __cnfn convert_uchar_rtp(uint);
437 uchar __ovld __cnfn convert_uchar_sat_rtp(uint);
438 uchar __ovld __cnfn convert_uchar_rtn(uint);
439 uchar __ovld __cnfn convert_uchar_sat_rtn(uint);
440 uchar __ovld __cnfn convert_uchar(uint);
441 uchar __ovld __cnfn convert_uchar_sat(uint);
442 uchar __ovld __cnfn convert_uchar_rte(long);
443 uchar __ovld __cnfn convert_uchar_sat_rte(long);
444 uchar __ovld __cnfn convert_uchar_rtz(long);
445 uchar __ovld __cnfn convert_uchar_sat_rtz(long);
446 uchar __ovld __cnfn convert_uchar_rtp(long);
447 uchar __ovld __cnfn convert_uchar_sat_rtp(long);
448 uchar __ovld __cnfn convert_uchar_rtn(long);
449 uchar __ovld __cnfn convert_uchar_sat_rtn(long);
450 uchar __ovld __cnfn convert_uchar(long);
451 uchar __ovld __cnfn convert_uchar_sat(long);
452 uchar __ovld __cnfn convert_uchar_rte(ulong);
453 uchar __ovld __cnfn convert_uchar_sat_rte(ulong);
454 uchar __ovld __cnfn convert_uchar_rtz(ulong);
455 uchar __ovld __cnfn convert_uchar_sat_rtz(ulong);
456 uchar __ovld __cnfn convert_uchar_rtp(ulong);
457 uchar __ovld __cnfn convert_uchar_sat_rtp(ulong);
458 uchar __ovld __cnfn convert_uchar_rtn(ulong);
459 uchar __ovld __cnfn convert_uchar_sat_rtn(ulong);
460 uchar __ovld __cnfn convert_uchar(ulong);
461 uchar __ovld __cnfn convert_uchar_sat(ulong);
462 uchar __ovld __cnfn convert_uchar_rte(float);
463 uchar __ovld __cnfn convert_uchar_sat_rte(float);
464 uchar __ovld __cnfn convert_uchar_rtz(float);
465 uchar __ovld __cnfn convert_uchar_sat_rtz(float);
466 uchar __ovld __cnfn convert_uchar_rtp(float);
467 uchar __ovld __cnfn convert_uchar_sat_rtp(float);
468 uchar __ovld __cnfn convert_uchar_rtn(float);
469 uchar __ovld __cnfn convert_uchar_sat_rtn(float);
470 uchar __ovld __cnfn convert_uchar(float);
471 uchar __ovld __cnfn convert_uchar_sat(float);
472
473 short __ovld __cnfn convert_short_rte(char);
474 short __ovld __cnfn convert_short_sat_rte(char);
475 short __ovld __cnfn convert_short_rtz(char);
476 short __ovld __cnfn convert_short_sat_rtz(char);
477 short __ovld __cnfn convert_short_rtp(char);
478 short __ovld __cnfn convert_short_sat_rtp(char);
479 short __ovld __cnfn convert_short_rtn(char);
480 short __ovld __cnfn convert_short_sat_rtn(char);
481 short __ovld __cnfn convert_short(char);
482 short __ovld __cnfn convert_short_sat(char);
483 short __ovld __cnfn convert_short_rte(uchar);
484 short __ovld __cnfn convert_short_sat_rte(uchar);
485 short __ovld __cnfn convert_short_rtz(uchar);
486 short __ovld __cnfn convert_short_sat_rtz(uchar);
487 short __ovld __cnfn convert_short_rtp(uchar);
488 short __ovld __cnfn convert_short_sat_rtp(uchar);
489 short __ovld __cnfn convert_short_rtn(uchar);
490 short __ovld __cnfn convert_short_sat_rtn(uchar);
491 short __ovld __cnfn convert_short(uchar);
492 short __ovld __cnfn convert_short_sat(uchar);
493 short __ovld __cnfn convert_short_rte(short);
494 short __ovld __cnfn convert_short_sat_rte(short);
495 short __ovld __cnfn convert_short_rtz(short);
496 short __ovld __cnfn convert_short_sat_rtz(short);
497 short __ovld __cnfn convert_short_rtp(short);
498 short __ovld __cnfn convert_short_sat_rtp(short);
499 short __ovld __cnfn convert_short_rtn(short);
500 short __ovld __cnfn convert_short_sat_rtn(short);
501 short __ovld __cnfn convert_short(short);
502 short __ovld __cnfn convert_short_sat(short);
503 short __ovld __cnfn convert_short_rte(ushort);
504 short __ovld __cnfn convert_short_sat_rte(ushort);
505 short __ovld __cnfn convert_short_rtz(ushort);
506 short __ovld __cnfn convert_short_sat_rtz(ushort);
507 short __ovld __cnfn convert_short_rtp(ushort);
508 short __ovld __cnfn convert_short_sat_rtp(ushort);
509 short __ovld __cnfn convert_short_rtn(ushort);
510 short __ovld __cnfn convert_short_sat_rtn(ushort);
511 short __ovld __cnfn convert_short(ushort);
512 short __ovld __cnfn convert_short_sat(ushort);
513 short __ovld __cnfn convert_short_rte(int);
514 short __ovld __cnfn convert_short_sat_rte(int);
515 short __ovld __cnfn convert_short_rtz(int);
516 short __ovld __cnfn convert_short_sat_rtz(int);
517 short __ovld __cnfn convert_short_rtp(int);
518 short __ovld __cnfn convert_short_sat_rtp(int);
519 short __ovld __cnfn convert_short_rtn(int);
520 short __ovld __cnfn convert_short_sat_rtn(int);
521 short __ovld __cnfn convert_short(int);
522 short __ovld __cnfn convert_short_sat(int);
523 short __ovld __cnfn convert_short_rte(uint);
524 short __ovld __cnfn convert_short_sat_rte(uint);
525 short __ovld __cnfn convert_short_rtz(uint);
526 short __ovld __cnfn convert_short_sat_rtz(uint);
527 short __ovld __cnfn convert_short_rtp(uint);
528 short __ovld __cnfn convert_short_sat_rtp(uint);
529 short __ovld __cnfn convert_short_rtn(uint);
530 short __ovld __cnfn convert_short_sat_rtn(uint);
531 short __ovld __cnfn convert_short(uint);
532 short __ovld __cnfn convert_short_sat(uint);
533 short __ovld __cnfn convert_short_rte(long);
534 short __ovld __cnfn convert_short_sat_rte(long);
535 short __ovld __cnfn convert_short_rtz(long);
536 short __ovld __cnfn convert_short_sat_rtz(long);
537 short __ovld __cnfn convert_short_rtp(long);
538 short __ovld __cnfn convert_short_sat_rtp(long);
539 short __ovld __cnfn convert_short_rtn(long);
540 short __ovld __cnfn convert_short_sat_rtn(long);
541 short __ovld __cnfn convert_short(long);
542 short __ovld __cnfn convert_short_sat(long);
543 short __ovld __cnfn convert_short_rte(ulong);
544 short __ovld __cnfn convert_short_sat_rte(ulong);
545 short __ovld __cnfn convert_short_rtz(ulong);
546 short __ovld __cnfn convert_short_sat_rtz(ulong);
547 short __ovld __cnfn convert_short_rtp(ulong);
548 short __ovld __cnfn convert_short_sat_rtp(ulong);
549 short __ovld __cnfn convert_short_rtn(ulong);
550 short __ovld __cnfn convert_short_sat_rtn(ulong);
551 short __ovld __cnfn convert_short(ulong);
552 short __ovld __cnfn convert_short_sat(ulong);
553 short __ovld __cnfn convert_short_rte(float);
554 short __ovld __cnfn convert_short_sat_rte(float);
555 short __ovld __cnfn convert_short_rtz(float);
556 short __ovld __cnfn convert_short_sat_rtz(float);
557 short __ovld __cnfn convert_short_rtp(float);
558 short __ovld __cnfn convert_short_sat_rtp(float);
559 short __ovld __cnfn convert_short_rtn(float);
560 short __ovld __cnfn convert_short_sat_rtn(float);
561 short __ovld __cnfn convert_short(float);
562 short __ovld __cnfn convert_short_sat(float);
563 ushort __ovld __cnfn convert_ushort_rte(char);
564 ushort __ovld __cnfn convert_ushort_sat_rte(char);
565 ushort __ovld __cnfn convert_ushort_rtz(char);
566 ushort __ovld __cnfn convert_ushort_sat_rtz(char);
567 ushort __ovld __cnfn convert_ushort_rtp(char);
568 ushort __ovld __cnfn convert_ushort_sat_rtp(char);
569 ushort __ovld __cnfn convert_ushort_rtn(char);
570 ushort __ovld __cnfn convert_ushort_sat_rtn(char);
571 ushort __ovld __cnfn convert_ushort(char);
572 ushort __ovld __cnfn convert_ushort_sat(char);
573 ushort __ovld __cnfn convert_ushort_rte(uchar);
574 ushort __ovld __cnfn convert_ushort_sat_rte(uchar);
575 ushort __ovld __cnfn convert_ushort_rtz(uchar);
576 ushort __ovld __cnfn convert_ushort_sat_rtz(uchar);
577 ushort __ovld __cnfn convert_ushort_rtp(uchar);
578 ushort __ovld __cnfn convert_ushort_sat_rtp(uchar);
579 ushort __ovld __cnfn convert_ushort_rtn(uchar);
580 ushort __ovld __cnfn convert_ushort_sat_rtn(uchar);
581 ushort __ovld __cnfn convert_ushort(uchar);
582 ushort __ovld __cnfn convert_ushort_sat(uchar);
583 ushort __ovld __cnfn convert_ushort_rte(short);
584 ushort __ovld __cnfn convert_ushort_sat_rte(short);
585 ushort __ovld __cnfn convert_ushort_rtz(short);
586 ushort __ovld __cnfn convert_ushort_sat_rtz(short);
587 ushort __ovld __cnfn convert_ushort_rtp(short);
588 ushort __ovld __cnfn convert_ushort_sat_rtp(short);
589 ushort __ovld __cnfn convert_ushort_rtn(short);
590 ushort __ovld __cnfn convert_ushort_sat_rtn(short);
591 ushort __ovld __cnfn convert_ushort(short);
592 ushort __ovld __cnfn convert_ushort_sat(short);
593 ushort __ovld __cnfn convert_ushort_rte(ushort);
594 ushort __ovld __cnfn convert_ushort_sat_rte(ushort);
595 ushort __ovld __cnfn convert_ushort_rtz(ushort);
596 ushort __ovld __cnfn convert_ushort_sat_rtz(ushort);
597 ushort __ovld __cnfn convert_ushort_rtp(ushort);
598 ushort __ovld __cnfn convert_ushort_sat_rtp(ushort);
599 ushort __ovld __cnfn convert_ushort_rtn(ushort);
600 ushort __ovld __cnfn convert_ushort_sat_rtn(ushort);
601 ushort __ovld __cnfn convert_ushort(ushort);
602 ushort __ovld __cnfn convert_ushort_sat(ushort);
603 ushort __ovld __cnfn convert_ushort_rte(int);
604 ushort __ovld __cnfn convert_ushort_sat_rte(int);
605 ushort __ovld __cnfn convert_ushort_rtz(int);
606 ushort __ovld __cnfn convert_ushort_sat_rtz(int);
607 ushort __ovld __cnfn convert_ushort_rtp(int);
608 ushort __ovld __cnfn convert_ushort_sat_rtp(int);
609 ushort __ovld __cnfn convert_ushort_rtn(int);
610 ushort __ovld __cnfn convert_ushort_sat_rtn(int);
611 ushort __ovld __cnfn convert_ushort(int);
612 ushort __ovld __cnfn convert_ushort_sat(int);
613 ushort __ovld __cnfn convert_ushort_rte(uint);
614 ushort __ovld __cnfn convert_ushort_sat_rte(uint);
615 ushort __ovld __cnfn convert_ushort_rtz(uint);
616 ushort __ovld __cnfn convert_ushort_sat_rtz(uint);
617 ushort __ovld __cnfn convert_ushort_rtp(uint);
618 ushort __ovld __cnfn convert_ushort_sat_rtp(uint);
619 ushort __ovld __cnfn convert_ushort_rtn(uint);
620 ushort __ovld __cnfn convert_ushort_sat_rtn(uint);
621 ushort __ovld __cnfn convert_ushort(uint);
622 ushort __ovld __cnfn convert_ushort_sat(uint);
623 ushort __ovld __cnfn convert_ushort_rte(long);
624 ushort __ovld __cnfn convert_ushort_sat_rte(long);
625 ushort __ovld __cnfn convert_ushort_rtz(long);
626 ushort __ovld __cnfn convert_ushort_sat_rtz(long);
627 ushort __ovld __cnfn convert_ushort_rtp(long);
628 ushort __ovld __cnfn convert_ushort_sat_rtp(long);
629 ushort __ovld __cnfn convert_ushort_rtn(long);
630 ushort __ovld __cnfn convert_ushort_sat_rtn(long);
631 ushort __ovld __cnfn convert_ushort(long);
632 ushort __ovld __cnfn convert_ushort_sat(long);
633 ushort __ovld __cnfn convert_ushort_rte(ulong);
634 ushort __ovld __cnfn convert_ushort_sat_rte(ulong);
635 ushort __ovld __cnfn convert_ushort_rtz(ulong);
636 ushort __ovld __cnfn convert_ushort_sat_rtz(ulong);
637 ushort __ovld __cnfn convert_ushort_rtp(ulong);
638 ushort __ovld __cnfn convert_ushort_sat_rtp(ulong);
639 ushort __ovld __cnfn convert_ushort_rtn(ulong);
640 ushort __ovld __cnfn convert_ushort_sat_rtn(ulong);
641 ushort __ovld __cnfn convert_ushort(ulong);
642 ushort __ovld __cnfn convert_ushort_sat(ulong);
643 ushort __ovld __cnfn convert_ushort_rte(float);
644 ushort __ovld __cnfn convert_ushort_sat_rte(float);
645 ushort __ovld __cnfn convert_ushort_rtz(float);
646 ushort __ovld __cnfn convert_ushort_sat_rtz(float);
647 ushort __ovld __cnfn convert_ushort_rtp(float);
648 ushort __ovld __cnfn convert_ushort_sat_rtp(float);
649 ushort __ovld __cnfn convert_ushort_rtn(float);
650 ushort __ovld __cnfn convert_ushort_sat_rtn(float);
651 ushort __ovld __cnfn convert_ushort(float);
652 ushort __ovld __cnfn convert_ushort_sat(float);
653 int __ovld __cnfn convert_int_rte(char);
654 int __ovld __cnfn convert_int_sat_rte(char);
655 int __ovld __cnfn convert_int_rtz(char);
656 int __ovld __cnfn convert_int_sat_rtz(char);
657 int __ovld __cnfn convert_int_rtp(char);
658 int __ovld __cnfn convert_int_sat_rtp(char);
659 int __ovld __cnfn convert_int_rtn(char);
660 int __ovld __cnfn convert_int_sat_rtn(char);
661 int __ovld __cnfn convert_int(char);
662 int __ovld __cnfn convert_int_sat(char);
663 int __ovld __cnfn convert_int_rte(uchar);
664 int __ovld __cnfn convert_int_sat_rte(uchar);
665 int __ovld __cnfn convert_int_rtz(uchar);
666 int __ovld __cnfn convert_int_sat_rtz(uchar);
667 int __ovld __cnfn convert_int_rtp(uchar);
668 int __ovld __cnfn convert_int_sat_rtp(uchar);
669 int __ovld __cnfn convert_int_rtn(uchar);
670 int __ovld __cnfn convert_int_sat_rtn(uchar);
671 int __ovld __cnfn convert_int(uchar);
672 int __ovld __cnfn convert_int_sat(uchar);
673 int __ovld __cnfn convert_int_rte(short);
674 int __ovld __cnfn convert_int_sat_rte(short);
675 int __ovld __cnfn convert_int_rtz(short);
676 int __ovld __cnfn convert_int_sat_rtz(short);
677 int __ovld __cnfn convert_int_rtp(short);
678 int __ovld __cnfn convert_int_sat_rtp(short);
679 int __ovld __cnfn convert_int_rtn(short);
680 int __ovld __cnfn convert_int_sat_rtn(short);
681 int __ovld __cnfn convert_int(short);
682 int __ovld __cnfn convert_int_sat(short);
683 int __ovld __cnfn convert_int_rte(ushort);
684 int __ovld __cnfn convert_int_sat_rte(ushort);
685 int __ovld __cnfn convert_int_rtz(ushort);
686 int __ovld __cnfn convert_int_sat_rtz(ushort);
687 int __ovld __cnfn convert_int_rtp(ushort);
688 int __ovld __cnfn convert_int_sat_rtp(ushort);
689 int __ovld __cnfn convert_int_rtn(ushort);
690 int __ovld __cnfn convert_int_sat_rtn(ushort);
691 int __ovld __cnfn convert_int(ushort);
692 int __ovld __cnfn convert_int_sat(ushort);
693 int __ovld __cnfn convert_int_rte(int);
694 int __ovld __cnfn convert_int_sat_rte(int);
695 int __ovld __cnfn convert_int_rtz(int);
696 int __ovld __cnfn convert_int_sat_rtz(int);
697 int __ovld __cnfn convert_int_rtp(int);
698 int __ovld __cnfn convert_int_sat_rtp(int);
699 int __ovld __cnfn convert_int_rtn(int);
700 int __ovld __cnfn convert_int_sat_rtn(int);
701 int __ovld __cnfn convert_int(int);
702 int __ovld __cnfn convert_int_sat(int);
703 int __ovld __cnfn convert_int_rte(uint);
704 int __ovld __cnfn convert_int_sat_rte(uint);
705 int __ovld __cnfn convert_int_rtz(uint);
706 int __ovld __cnfn convert_int_sat_rtz(uint);
707 int __ovld __cnfn convert_int_rtp(uint);
708 int __ovld __cnfn convert_int_sat_rtp(uint);
709 int __ovld __cnfn convert_int_rtn(uint);
710 int __ovld __cnfn convert_int_sat_rtn(uint);
711 int __ovld __cnfn convert_int(uint);
712 int __ovld __cnfn convert_int_sat(uint);
713 int __ovld __cnfn convert_int_rte(long);
714 int __ovld __cnfn convert_int_sat_rte(long);
715 int __ovld __cnfn convert_int_rtz(long);
716 int __ovld __cnfn convert_int_sat_rtz(long);
717 int __ovld __cnfn convert_int_rtp(long);
718 int __ovld __cnfn convert_int_sat_rtp(long);
719 int __ovld __cnfn convert_int_rtn(long);
720 int __ovld __cnfn convert_int_sat_rtn(long);
721 int __ovld __cnfn convert_int(long);
722 int __ovld __cnfn convert_int_sat(long);
723 int __ovld __cnfn convert_int_rte(ulong);
724 int __ovld __cnfn convert_int_sat_rte(ulong);
725 int __ovld __cnfn convert_int_rtz(ulong);
726 int __ovld __cnfn convert_int_sat_rtz(ulong);
727 int __ovld __cnfn convert_int_rtp(ulong);
728 int __ovld __cnfn convert_int_sat_rtp(ulong);
729 int __ovld __cnfn convert_int_rtn(ulong);
730 int __ovld __cnfn convert_int_sat_rtn(ulong);
731 int __ovld __cnfn convert_int(ulong);
732 int __ovld __cnfn convert_int_sat(ulong);
733 int __ovld __cnfn convert_int_rte(float);
734 int __ovld __cnfn convert_int_sat_rte(float);
735 int __ovld __cnfn convert_int_rtz(float);
736 int __ovld __cnfn convert_int_sat_rtz(float);
737 int __ovld __cnfn convert_int_rtp(float);
738 int __ovld __cnfn convert_int_sat_rtp(float);
739 int __ovld __cnfn convert_int_rtn(float);
740 int __ovld __cnfn convert_int_sat_rtn(float);
741 int __ovld __cnfn convert_int(float);
742 int __ovld __cnfn convert_int_sat(float);
743 uint __ovld __cnfn convert_uint_rte(char);
744 uint __ovld __cnfn convert_uint_sat_rte(char);
745 uint __ovld __cnfn convert_uint_rtz(char);
746 uint __ovld __cnfn convert_uint_sat_rtz(char);
747 uint __ovld __cnfn convert_uint_rtp(char);
748 uint __ovld __cnfn convert_uint_sat_rtp(char);
749 uint __ovld __cnfn convert_uint_rtn(char);
750 uint __ovld __cnfn convert_uint_sat_rtn(char);
751 uint __ovld __cnfn convert_uint(char);
752 uint __ovld __cnfn convert_uint_sat(char);
753 uint __ovld __cnfn convert_uint_rte(uchar);
754 uint __ovld __cnfn convert_uint_sat_rte(uchar);
755 uint __ovld __cnfn convert_uint_rtz(uchar);
756 uint __ovld __cnfn convert_uint_sat_rtz(uchar);
757 uint __ovld __cnfn convert_uint_rtp(uchar);
758 uint __ovld __cnfn convert_uint_sat_rtp(uchar);
759 uint __ovld __cnfn convert_uint_rtn(uchar);
760 uint __ovld __cnfn convert_uint_sat_rtn(uchar);
761 uint __ovld __cnfn convert_uint(uchar);
762 uint __ovld __cnfn convert_uint_sat(uchar);
763 uint __ovld __cnfn convert_uint_rte(short);
764 uint __ovld __cnfn convert_uint_sat_rte(short);
765 uint __ovld __cnfn convert_uint_rtz(short);
766 uint __ovld __cnfn convert_uint_sat_rtz(short);
767 uint __ovld __cnfn convert_uint_rtp(short);
768 uint __ovld __cnfn convert_uint_sat_rtp(short);
769 uint __ovld __cnfn convert_uint_rtn(short);
770 uint __ovld __cnfn convert_uint_sat_rtn(short);
771 uint __ovld __cnfn convert_uint(short);
772 uint __ovld __cnfn convert_uint_sat(short);
773 uint __ovld __cnfn convert_uint_rte(ushort);
774 uint __ovld __cnfn convert_uint_sat_rte(ushort);
775 uint __ovld __cnfn convert_uint_rtz(ushort);
776 uint __ovld __cnfn convert_uint_sat_rtz(ushort);
777 uint __ovld __cnfn convert_uint_rtp(ushort);
778 uint __ovld __cnfn convert_uint_sat_rtp(ushort);
779 uint __ovld __cnfn convert_uint_rtn(ushort);
780 uint __ovld __cnfn convert_uint_sat_rtn(ushort);
781 uint __ovld __cnfn convert_uint(ushort);
782 uint __ovld __cnfn convert_uint_sat(ushort);
783 uint __ovld __cnfn convert_uint_rte(int);
784 uint __ovld __cnfn convert_uint_sat_rte(int);
785 uint __ovld __cnfn convert_uint_rtz(int);
786 uint __ovld __cnfn convert_uint_sat_rtz(int);
787 uint __ovld __cnfn convert_uint_rtp(int);
788 uint __ovld __cnfn convert_uint_sat_rtp(int);
789 uint __ovld __cnfn convert_uint_rtn(int);
790 uint __ovld __cnfn convert_uint_sat_rtn(int);
791 uint __ovld __cnfn convert_uint(int);
792 uint __ovld __cnfn convert_uint_sat(int);
793 uint __ovld __cnfn convert_uint_rte(uint);
794 uint __ovld __cnfn convert_uint_sat_rte(uint);
795 uint __ovld __cnfn convert_uint_rtz(uint);
796 uint __ovld __cnfn convert_uint_sat_rtz(uint);
797 uint __ovld __cnfn convert_uint_rtp(uint);
798 uint __ovld __cnfn convert_uint_sat_rtp(uint);
799 uint __ovld __cnfn convert_uint_rtn(uint);
800 uint __ovld __cnfn convert_uint_sat_rtn(uint);
801 uint __ovld __cnfn convert_uint(uint);
802 uint __ovld __cnfn convert_uint_sat(uint);
803 uint __ovld __cnfn convert_uint_rte(long);
804 uint __ovld __cnfn convert_uint_sat_rte(long);
805 uint __ovld __cnfn convert_uint_rtz(long);
806 uint __ovld __cnfn convert_uint_sat_rtz(long);
807 uint __ovld __cnfn convert_uint_rtp(long);
808 uint __ovld __cnfn convert_uint_sat_rtp(long);
809 uint __ovld __cnfn convert_uint_rtn(long);
810 uint __ovld __cnfn convert_uint_sat_rtn(long);
811 uint __ovld __cnfn convert_uint(long);
812 uint __ovld __cnfn convert_uint_sat(long);
813 uint __ovld __cnfn convert_uint_rte(ulong);
814 uint __ovld __cnfn convert_uint_sat_rte(ulong);
815 uint __ovld __cnfn convert_uint_rtz(ulong);
816 uint __ovld __cnfn convert_uint_sat_rtz(ulong);
817 uint __ovld __cnfn convert_uint_rtp(ulong);
818 uint __ovld __cnfn convert_uint_sat_rtp(ulong);
819 uint __ovld __cnfn convert_uint_rtn(ulong);
820 uint __ovld __cnfn convert_uint_sat_rtn(ulong);
821 uint __ovld __cnfn convert_uint(ulong);
822 uint __ovld __cnfn convert_uint_sat(ulong);
823 uint __ovld __cnfn convert_uint_rte(float);
824 uint __ovld __cnfn convert_uint_sat_rte(float);
825 uint __ovld __cnfn convert_uint_rtz(float);
826 uint __ovld __cnfn convert_uint_sat_rtz(float);
827 uint __ovld __cnfn convert_uint_rtp(float);
828 uint __ovld __cnfn convert_uint_sat_rtp(float);
829 uint __ovld __cnfn convert_uint_rtn(float);
830 uint __ovld __cnfn convert_uint_sat_rtn(float);
831 uint __ovld __cnfn convert_uint(float);
832 uint __ovld __cnfn convert_uint_sat(float);
833 long __ovld __cnfn convert_long_rte(char);
834 long __ovld __cnfn convert_long_sat_rte(char);
835 long __ovld __cnfn convert_long_rtz(char);
836 long __ovld __cnfn convert_long_sat_rtz(char);
837 long __ovld __cnfn convert_long_rtp(char);
838 long __ovld __cnfn convert_long_sat_rtp(char);
839 long __ovld __cnfn convert_long_rtn(char);
840 long __ovld __cnfn convert_long_sat_rtn(char);
841 long __ovld __cnfn convert_long(char);
842 long __ovld __cnfn convert_long_sat(char);
843 long __ovld __cnfn convert_long_rte(uchar);
844 long __ovld __cnfn convert_long_sat_rte(uchar);
845 long __ovld __cnfn convert_long_rtz(uchar);
846 long __ovld __cnfn convert_long_sat_rtz(uchar);
847 long __ovld __cnfn convert_long_rtp(uchar);
848 long __ovld __cnfn convert_long_sat_rtp(uchar);
849 long __ovld __cnfn convert_long_rtn(uchar);
850 long __ovld __cnfn convert_long_sat_rtn(uchar);
851 long __ovld __cnfn convert_long(uchar);
852 long __ovld __cnfn convert_long_sat(uchar);
853 long __ovld __cnfn convert_long_rte(short);
854 long __ovld __cnfn convert_long_sat_rte(short);
855 long __ovld __cnfn convert_long_rtz(short);
856 long __ovld __cnfn convert_long_sat_rtz(short);
857 long __ovld __cnfn convert_long_rtp(short);
858 long __ovld __cnfn convert_long_sat_rtp(short);
859 long __ovld __cnfn convert_long_rtn(short);
860 long __ovld __cnfn convert_long_sat_rtn(short);
861 long __ovld __cnfn convert_long(short);
862 long __ovld __cnfn convert_long_sat(short);
863 long __ovld __cnfn convert_long_rte(ushort);
864 long __ovld __cnfn convert_long_sat_rte(ushort);
865 long __ovld __cnfn convert_long_rtz(ushort);
866 long __ovld __cnfn convert_long_sat_rtz(ushort);
867 long __ovld __cnfn convert_long_rtp(ushort);
868 long __ovld __cnfn convert_long_sat_rtp(ushort);
869 long __ovld __cnfn convert_long_rtn(ushort);
870 long __ovld __cnfn convert_long_sat_rtn(ushort);
871 long __ovld __cnfn convert_long(ushort);
872 long __ovld __cnfn convert_long_sat(ushort);
873 long __ovld __cnfn convert_long_rte(int);
874 long __ovld __cnfn convert_long_sat_rte(int);
875 long __ovld __cnfn convert_long_rtz(int);
876 long __ovld __cnfn convert_long_sat_rtz(int);
877 long __ovld __cnfn convert_long_rtp(int);
878 long __ovld __cnfn convert_long_sat_rtp(int);
879 long __ovld __cnfn convert_long_rtn(int);
880 long __ovld __cnfn convert_long_sat_rtn(int);
881 long __ovld __cnfn convert_long(int);
882 long __ovld __cnfn convert_long_sat(int);
883 long __ovld __cnfn convert_long_rte(uint);
884 long __ovld __cnfn convert_long_sat_rte(uint);
885 long __ovld __cnfn convert_long_rtz(uint);
886 long __ovld __cnfn convert_long_sat_rtz(uint);
887 long __ovld __cnfn convert_long_rtp(uint);
888 long __ovld __cnfn convert_long_sat_rtp(uint);
889 long __ovld __cnfn convert_long_rtn(uint);
890 long __ovld __cnfn convert_long_sat_rtn(uint);
891 long __ovld __cnfn convert_long(uint);
892 long __ovld __cnfn convert_long_sat(uint);
893 long __ovld __cnfn convert_long_rte(long);
894 long __ovld __cnfn convert_long_sat_rte(long);
895 long __ovld __cnfn convert_long_rtz(long);
896 long __ovld __cnfn convert_long_sat_rtz(long);
897 long __ovld __cnfn convert_long_rtp(long);
898 long __ovld __cnfn convert_long_sat_rtp(long);
899 long __ovld __cnfn convert_long_rtn(long);
900 long __ovld __cnfn convert_long_sat_rtn(long);
901 long __ovld __cnfn convert_long(long);
902 long __ovld __cnfn convert_long_sat(long);
903 long __ovld __cnfn convert_long_rte(ulong);
904 long __ovld __cnfn convert_long_sat_rte(ulong);
905 long __ovld __cnfn convert_long_rtz(ulong);
906 long __ovld __cnfn convert_long_sat_rtz(ulong);
907 long __ovld __cnfn convert_long_rtp(ulong);
908 long __ovld __cnfn convert_long_sat_rtp(ulong);
909 long __ovld __cnfn convert_long_rtn(ulong);
910 long __ovld __cnfn convert_long_sat_rtn(ulong);
911 long __ovld __cnfn convert_long(ulong);
912 long __ovld __cnfn convert_long_sat(ulong);
913 long __ovld __cnfn convert_long_rte(float);
914 long __ovld __cnfn convert_long_sat_rte(float);
915 long __ovld __cnfn convert_long_rtz(float);
916 long __ovld __cnfn convert_long_sat_rtz(float);
917 long __ovld __cnfn convert_long_rtp(float);
918 long __ovld __cnfn convert_long_sat_rtp(float);
919 long __ovld __cnfn convert_long_rtn(float);
920 long __ovld __cnfn convert_long_sat_rtn(float);
921 long __ovld __cnfn convert_long(float);
922 long __ovld __cnfn convert_long_sat(float);
923 ulong __ovld __cnfn convert_ulong_rte(char);
924 ulong __ovld __cnfn convert_ulong_sat_rte(char);
925 ulong __ovld __cnfn convert_ulong_rtz(char);
926 ulong __ovld __cnfn convert_ulong_sat_rtz(char);
927 ulong __ovld __cnfn convert_ulong_rtp(char);
928 ulong __ovld __cnfn convert_ulong_sat_rtp(char);
929 ulong __ovld __cnfn convert_ulong_rtn(char);
930 ulong __ovld __cnfn convert_ulong_sat_rtn(char);
931 ulong __ovld __cnfn convert_ulong(char);
932 ulong __ovld __cnfn convert_ulong_sat(char);
933 ulong __ovld __cnfn convert_ulong_rte(uchar);
934 ulong __ovld __cnfn convert_ulong_sat_rte(uchar);
935 ulong __ovld __cnfn convert_ulong_rtz(uchar);
936 ulong __ovld __cnfn convert_ulong_sat_rtz(uchar);
937 ulong __ovld __cnfn convert_ulong_rtp(uchar);
938 ulong __ovld __cnfn convert_ulong_sat_rtp(uchar);
939 ulong __ovld __cnfn convert_ulong_rtn(uchar);
940 ulong __ovld __cnfn convert_ulong_sat_rtn(uchar);
941 ulong __ovld __cnfn convert_ulong(uchar);
942 ulong __ovld __cnfn convert_ulong_sat(uchar);
943 ulong __ovld __cnfn convert_ulong_rte(short);
944 ulong __ovld __cnfn convert_ulong_sat_rte(short);
945 ulong __ovld __cnfn convert_ulong_rtz(short);
946 ulong __ovld __cnfn convert_ulong_sat_rtz(short);
947 ulong __ovld __cnfn convert_ulong_rtp(short);
948 ulong __ovld __cnfn convert_ulong_sat_rtp(short);
949 ulong __ovld __cnfn convert_ulong_rtn(short);
950 ulong __ovld __cnfn convert_ulong_sat_rtn(short);
951 ulong __ovld __cnfn convert_ulong(short);
952 ulong __ovld __cnfn convert_ulong_sat(short);
953 ulong __ovld __cnfn convert_ulong_rte(ushort);
954 ulong __ovld __cnfn convert_ulong_sat_rte(ushort);
955 ulong __ovld __cnfn convert_ulong_rtz(ushort);
956 ulong __ovld __cnfn convert_ulong_sat_rtz(ushort);
957 ulong __ovld __cnfn convert_ulong_rtp(ushort);
958 ulong __ovld __cnfn convert_ulong_sat_rtp(ushort);
959 ulong __ovld __cnfn convert_ulong_rtn(ushort);
960 ulong __ovld __cnfn convert_ulong_sat_rtn(ushort);
961 ulong __ovld __cnfn convert_ulong(ushort);
962 ulong __ovld __cnfn convert_ulong_sat(ushort);
963 ulong __ovld __cnfn convert_ulong_rte(int);
964 ulong __ovld __cnfn convert_ulong_sat_rte(int);
965 ulong __ovld __cnfn convert_ulong_rtz(int);
966 ulong __ovld __cnfn convert_ulong_sat_rtz(int);
967 ulong __ovld __cnfn convert_ulong_rtp(int);
968 ulong __ovld __cnfn convert_ulong_sat_rtp(int);
969 ulong __ovld __cnfn convert_ulong_rtn(int);
970 ulong __ovld __cnfn convert_ulong_sat_rtn(int);
971 ulong __ovld __cnfn convert_ulong(int);
972 ulong __ovld __cnfn convert_ulong_sat(int);
973 ulong __ovld __cnfn convert_ulong_rte(uint);
974 ulong __ovld __cnfn convert_ulong_sat_rte(uint);
975 ulong __ovld __cnfn convert_ulong_rtz(uint);
976 ulong __ovld __cnfn convert_ulong_sat_rtz(uint);
977 ulong __ovld __cnfn convert_ulong_rtp(uint);
978 ulong __ovld __cnfn convert_ulong_sat_rtp(uint);
979 ulong __ovld __cnfn convert_ulong_rtn(uint);
980 ulong __ovld __cnfn convert_ulong_sat_rtn(uint);
981 ulong __ovld __cnfn convert_ulong(uint);
982 ulong __ovld __cnfn convert_ulong_sat(uint);
983 ulong __ovld __cnfn convert_ulong_rte(long);
984 ulong __ovld __cnfn convert_ulong_sat_rte(long);
985 ulong __ovld __cnfn convert_ulong_rtz(long);
986 ulong __ovld __cnfn convert_ulong_sat_rtz(long);
987 ulong __ovld __cnfn convert_ulong_rtp(long);
988 ulong __ovld __cnfn convert_ulong_sat_rtp(long);
989 ulong __ovld __cnfn convert_ulong_rtn(long);
990 ulong __ovld __cnfn convert_ulong_sat_rtn(long);
991 ulong __ovld __cnfn convert_ulong(long);
992 ulong __ovld __cnfn convert_ulong_sat(long);
993 ulong __ovld __cnfn convert_ulong_rte(ulong);
994 ulong __ovld __cnfn convert_ulong_sat_rte(ulong);
995 ulong __ovld __cnfn convert_ulong_rtz(ulong);
996 ulong __ovld __cnfn convert_ulong_sat_rtz(ulong);
997 ulong __ovld __cnfn convert_ulong_rtp(ulong);
998 ulong __ovld __cnfn convert_ulong_sat_rtp(ulong);
999 ulong __ovld __cnfn convert_ulong_rtn(ulong);
1000 ulong __ovld __cnfn convert_ulong_sat_rtn(ulong);
1001 ulong __ovld __cnfn convert_ulong(ulong);
1002 ulong __ovld __cnfn convert_ulong_sat(ulong);
1003 ulong __ovld __cnfn convert_ulong_rte(float);
1004 ulong __ovld __cnfn convert_ulong_sat_rte(float);
1005 ulong __ovld __cnfn convert_ulong_rtz(float);
1006 ulong __ovld __cnfn convert_ulong_sat_rtz(float);
1007 ulong __ovld __cnfn convert_ulong_rtp(float);
1008 ulong __ovld __cnfn convert_ulong_sat_rtp(float);
1009 ulong __ovld __cnfn convert_ulong_rtn(float);
1010 ulong __ovld __cnfn convert_ulong_sat_rtn(float);
1011 ulong __ovld __cnfn convert_ulong(float);
1012 ulong __ovld __cnfn convert_ulong_sat(float);
1013 float __ovld __cnfn convert_float_rte(char);
1014 float __ovld __cnfn convert_float_rtz(char);
1015 float __ovld __cnfn convert_float_rtp(char);
1016 float __ovld __cnfn convert_float_rtn(char);
1017 float __ovld __cnfn convert_float(char);
1018 float __ovld __cnfn convert_float_rte(uchar);
1019 float __ovld __cnfn convert_float_rtz(uchar);
1020 float __ovld __cnfn convert_float_rtp(uchar);
1021 float __ovld __cnfn convert_float_rtn(uchar);
1022 float __ovld __cnfn convert_float(uchar);
1023 float __ovld __cnfn convert_float_rte(short);
1024 float __ovld __cnfn convert_float_rtz(short);
1025 float __ovld __cnfn convert_float_rtp(short);
1026 float __ovld __cnfn convert_float_rtn(short);
1027 float __ovld __cnfn convert_float(short);
1028 float __ovld __cnfn convert_float_rte(ushort);
1029 float __ovld __cnfn convert_float_rtz(ushort);
1030 float __ovld __cnfn convert_float_rtp(ushort);
1031 float __ovld __cnfn convert_float_rtn(ushort);
1032 float __ovld __cnfn convert_float(ushort);
1033 float __ovld __cnfn convert_float_rte(int);
1034 float __ovld __cnfn convert_float_rtz(int);
1035 float __ovld __cnfn convert_float_rtp(int);
1036 float __ovld __cnfn convert_float_rtn(int);
1037 float __ovld __cnfn convert_float(int);
1038 float __ovld __cnfn convert_float_rte(uint);
1039 float __ovld __cnfn convert_float_rtz(uint);
1040 float __ovld __cnfn convert_float_rtp(uint);
1041 float __ovld __cnfn convert_float_rtn(uint);
1042 float __ovld __cnfn convert_float(uint);
1043 float __ovld __cnfn convert_float_rte(long);
1044 float __ovld __cnfn convert_float_rtz(long);
1045 float __ovld __cnfn convert_float_rtp(long);
1046 float __ovld __cnfn convert_float_rtn(long);
1047 float __ovld __cnfn convert_float(long);
1048 float __ovld __cnfn convert_float_rte(ulong);
1049 float __ovld __cnfn convert_float_rtz(ulong);
1050 float __ovld __cnfn convert_float_rtp(ulong);
1051 float __ovld __cnfn convert_float_rtn(ulong);
1052 float __ovld __cnfn convert_float(ulong);
1053 float __ovld __cnfn convert_float_rte(float);
1054 float __ovld __cnfn convert_float_rtz(float);
1055 float __ovld __cnfn convert_float_rtp(float);
1056 float __ovld __cnfn convert_float_rtn(float);
1057 float __ovld __cnfn convert_float(float);
1058 char2 __ovld __cnfn convert_char2_rte(char2);
1059 char2 __ovld __cnfn convert_char2_sat_rte(char2);
1060 char2 __ovld __cnfn convert_char2_rtz(char2);
1061 char2 __ovld __cnfn convert_char2_sat_rtz(char2);
1062 char2 __ovld __cnfn convert_char2_rtp(char2);
1063 char2 __ovld __cnfn convert_char2_sat_rtp(char2);
1064 char2 __ovld __cnfn convert_char2_rtn(char2);
1065 char2 __ovld __cnfn convert_char2_sat_rtn(char2);
1066 char2 __ovld __cnfn convert_char2(char2);
1067 char2 __ovld __cnfn convert_char2_sat(char2);
1068 char2 __ovld __cnfn convert_char2_rte(uchar2);
1069 char2 __ovld __cnfn convert_char2_sat_rte(uchar2);
1070 char2 __ovld __cnfn convert_char2_rtz(uchar2);
1071 char2 __ovld __cnfn convert_char2_sat_rtz(uchar2);
1072 char2 __ovld __cnfn convert_char2_rtp(uchar2);
1073 char2 __ovld __cnfn convert_char2_sat_rtp(uchar2);
1074 char2 __ovld __cnfn convert_char2_rtn(uchar2);
1075 char2 __ovld __cnfn convert_char2_sat_rtn(uchar2);
1076 char2 __ovld __cnfn convert_char2(uchar2);
1077 char2 __ovld __cnfn convert_char2_sat(uchar2);
1078 char2 __ovld __cnfn convert_char2_rte(short2);
1079 char2 __ovld __cnfn convert_char2_sat_rte(short2);
1080 char2 __ovld __cnfn convert_char2_rtz(short2);
1081 char2 __ovld __cnfn convert_char2_sat_rtz(short2);
1082 char2 __ovld __cnfn convert_char2_rtp(short2);
1083 char2 __ovld __cnfn convert_char2_sat_rtp(short2);
1084 char2 __ovld __cnfn convert_char2_rtn(short2);
1085 char2 __ovld __cnfn convert_char2_sat_rtn(short2);
1086 char2 __ovld __cnfn convert_char2(short2);
1087 char2 __ovld __cnfn convert_char2_sat(short2);
1088 char2 __ovld __cnfn convert_char2_rte(ushort2);
1089 char2 __ovld __cnfn convert_char2_sat_rte(ushort2);
1090 char2 __ovld __cnfn convert_char2_rtz(ushort2);
1091 char2 __ovld __cnfn convert_char2_sat_rtz(ushort2);
1092 char2 __ovld __cnfn convert_char2_rtp(ushort2);
1093 char2 __ovld __cnfn convert_char2_sat_rtp(ushort2);
1094 char2 __ovld __cnfn convert_char2_rtn(ushort2);
1095 char2 __ovld __cnfn convert_char2_sat_rtn(ushort2);
1096 char2 __ovld __cnfn convert_char2(ushort2);
1097 char2 __ovld __cnfn convert_char2_sat(ushort2);
1098 char2 __ovld __cnfn convert_char2_rte(int2);
1099 char2 __ovld __cnfn convert_char2_sat_rte(int2);
1100 char2 __ovld __cnfn convert_char2_rtz(int2);
1101 char2 __ovld __cnfn convert_char2_sat_rtz(int2);
1102 char2 __ovld __cnfn convert_char2_rtp(int2);
1103 char2 __ovld __cnfn convert_char2_sat_rtp(int2);
1104 char2 __ovld __cnfn convert_char2_rtn(int2);
1105 char2 __ovld __cnfn convert_char2_sat_rtn(int2);
1106 char2 __ovld __cnfn convert_char2(int2);
1107 char2 __ovld __cnfn convert_char2_sat(int2);
1108 char2 __ovld __cnfn convert_char2_rte(uint2);
1109 char2 __ovld __cnfn convert_char2_sat_rte(uint2);
1110 char2 __ovld __cnfn convert_char2_rtz(uint2);
1111 char2 __ovld __cnfn convert_char2_sat_rtz(uint2);
1112 char2 __ovld __cnfn convert_char2_rtp(uint2);
1113 char2 __ovld __cnfn convert_char2_sat_rtp(uint2);
1114 char2 __ovld __cnfn convert_char2_rtn(uint2);
1115 char2 __ovld __cnfn convert_char2_sat_rtn(uint2);
1116 char2 __ovld __cnfn convert_char2(uint2);
1117 char2 __ovld __cnfn convert_char2_sat(uint2);
1118 char2 __ovld __cnfn convert_char2_rte(long2);
1119 char2 __ovld __cnfn convert_char2_sat_rte(long2);
1120 char2 __ovld __cnfn convert_char2_rtz(long2);
1121 char2 __ovld __cnfn convert_char2_sat_rtz(long2);
1122 char2 __ovld __cnfn convert_char2_rtp(long2);
1123 char2 __ovld __cnfn convert_char2_sat_rtp(long2);
1124 char2 __ovld __cnfn convert_char2_rtn(long2);
1125 char2 __ovld __cnfn convert_char2_sat_rtn(long2);
1126 char2 __ovld __cnfn convert_char2(long2);
1127 char2 __ovld __cnfn convert_char2_sat(long2);
1128 char2 __ovld __cnfn convert_char2_rte(ulong2);
1129 char2 __ovld __cnfn convert_char2_sat_rte(ulong2);
1130 char2 __ovld __cnfn convert_char2_rtz(ulong2);
1131 char2 __ovld __cnfn convert_char2_sat_rtz(ulong2);
1132 char2 __ovld __cnfn convert_char2_rtp(ulong2);
1133 char2 __ovld __cnfn convert_char2_sat_rtp(ulong2);
1134 char2 __ovld __cnfn convert_char2_rtn(ulong2);
1135 char2 __ovld __cnfn convert_char2_sat_rtn(ulong2);
1136 char2 __ovld __cnfn convert_char2(ulong2);
1137 char2 __ovld __cnfn convert_char2_sat(ulong2);
1138 char2 __ovld __cnfn convert_char2_rte(float2);
1139 char2 __ovld __cnfn convert_char2_sat_rte(float2);
1140 char2 __ovld __cnfn convert_char2_rtz(float2);
1141 char2 __ovld __cnfn convert_char2_sat_rtz(float2);
1142 char2 __ovld __cnfn convert_char2_rtp(float2);
1143 char2 __ovld __cnfn convert_char2_sat_rtp(float2);
1144 char2 __ovld __cnfn convert_char2_rtn(float2);
1145 char2 __ovld __cnfn convert_char2_sat_rtn(float2);
1146 char2 __ovld __cnfn convert_char2(float2);
1147 char2 __ovld __cnfn convert_char2_sat(float2);
1148 uchar2 __ovld __cnfn convert_uchar2_rte(char2);
1149 uchar2 __ovld __cnfn convert_uchar2_sat_rte(char2);
1150 uchar2 __ovld __cnfn convert_uchar2_rtz(char2);
1151 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(char2);
1152 uchar2 __ovld __cnfn convert_uchar2_rtp(char2);
1153 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(char2);
1154 uchar2 __ovld __cnfn convert_uchar2_rtn(char2);
1155 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(char2);
1156 uchar2 __ovld __cnfn convert_uchar2(char2);
1157 uchar2 __ovld __cnfn convert_uchar2_sat(char2);
1158 uchar2 __ovld __cnfn convert_uchar2_rte(uchar2);
1159 uchar2 __ovld __cnfn convert_uchar2_sat_rte(uchar2);
1160 uchar2 __ovld __cnfn convert_uchar2_rtz(uchar2);
1161 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(uchar2);
1162 uchar2 __ovld __cnfn convert_uchar2_rtp(uchar2);
1163 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(uchar2);
1164 uchar2 __ovld __cnfn convert_uchar2_rtn(uchar2);
1165 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(uchar2);
1166 uchar2 __ovld __cnfn convert_uchar2(uchar2);
1167 uchar2 __ovld __cnfn convert_uchar2_sat(uchar2);
1168 uchar2 __ovld __cnfn convert_uchar2_rte(short2);
1169 uchar2 __ovld __cnfn convert_uchar2_sat_rte(short2);
1170 uchar2 __ovld __cnfn convert_uchar2_rtz(short2);
1171 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(short2);
1172 uchar2 __ovld __cnfn convert_uchar2_rtp(short2);
1173 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(short2);
1174 uchar2 __ovld __cnfn convert_uchar2_rtn(short2);
1175 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(short2);
1176 uchar2 __ovld __cnfn convert_uchar2(short2);
1177 uchar2 __ovld __cnfn convert_uchar2_sat(short2);
1178 uchar2 __ovld __cnfn convert_uchar2_rte(ushort2);
1179 uchar2 __ovld __cnfn convert_uchar2_sat_rte(ushort2);
1180 uchar2 __ovld __cnfn convert_uchar2_rtz(ushort2);
1181 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(ushort2);
1182 uchar2 __ovld __cnfn convert_uchar2_rtp(ushort2);
1183 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(ushort2);
1184 uchar2 __ovld __cnfn convert_uchar2_rtn(ushort2);
1185 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(ushort2);
1186 uchar2 __ovld __cnfn convert_uchar2(ushort2);
1187 uchar2 __ovld __cnfn convert_uchar2_sat(ushort2);
1188 uchar2 __ovld __cnfn convert_uchar2_rte(int2);
1189 uchar2 __ovld __cnfn convert_uchar2_sat_rte(int2);
1190 uchar2 __ovld __cnfn convert_uchar2_rtz(int2);
1191 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(int2);
1192 uchar2 __ovld __cnfn convert_uchar2_rtp(int2);
1193 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(int2);
1194 uchar2 __ovld __cnfn convert_uchar2_rtn(int2);
1195 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(int2);
1196 uchar2 __ovld __cnfn convert_uchar2(int2);
1197 uchar2 __ovld __cnfn convert_uchar2_sat(int2);
1198 uchar2 __ovld __cnfn convert_uchar2_rte(uint2);
1199 uchar2 __ovld __cnfn convert_uchar2_sat_rte(uint2);
1200 uchar2 __ovld __cnfn convert_uchar2_rtz(uint2);
1201 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(uint2);
1202 uchar2 __ovld __cnfn convert_uchar2_rtp(uint2);
1203 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(uint2);
1204 uchar2 __ovld __cnfn convert_uchar2_rtn(uint2);
1205 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(uint2);
1206 uchar2 __ovld __cnfn convert_uchar2(uint2);
1207 uchar2 __ovld __cnfn convert_uchar2_sat(uint2);
1208 uchar2 __ovld __cnfn convert_uchar2_rte(long2);
1209 uchar2 __ovld __cnfn convert_uchar2_sat_rte(long2);
1210 uchar2 __ovld __cnfn convert_uchar2_rtz(long2);
1211 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(long2);
1212 uchar2 __ovld __cnfn convert_uchar2_rtp(long2);
1213 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(long2);
1214 uchar2 __ovld __cnfn convert_uchar2_rtn(long2);
1215 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(long2);
1216 uchar2 __ovld __cnfn convert_uchar2(long2);
1217 uchar2 __ovld __cnfn convert_uchar2_sat(long2);
1218 uchar2 __ovld __cnfn convert_uchar2_rte(ulong2);
1219 uchar2 __ovld __cnfn convert_uchar2_sat_rte(ulong2);
1220 uchar2 __ovld __cnfn convert_uchar2_rtz(ulong2);
1221 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(ulong2);
1222 uchar2 __ovld __cnfn convert_uchar2_rtp(ulong2);
1223 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(ulong2);
1224 uchar2 __ovld __cnfn convert_uchar2_rtn(ulong2);
1225 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(ulong2);
1226 uchar2 __ovld __cnfn convert_uchar2(ulong2);
1227 uchar2 __ovld __cnfn convert_uchar2_sat(ulong2);
1228 uchar2 __ovld __cnfn convert_uchar2_rte(float2);
1229 uchar2 __ovld __cnfn convert_uchar2_sat_rte(float2);
1230 uchar2 __ovld __cnfn convert_uchar2_rtz(float2);
1231 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(float2);
1232 uchar2 __ovld __cnfn convert_uchar2_rtp(float2);
1233 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(float2);
1234 uchar2 __ovld __cnfn convert_uchar2_rtn(float2);
1235 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(float2);
1236 uchar2 __ovld __cnfn convert_uchar2(float2);
1237 uchar2 __ovld __cnfn convert_uchar2_sat(float2);
1238 short2 __ovld __cnfn convert_short2_rte(char2);
1239 short2 __ovld __cnfn convert_short2_sat_rte(char2);
1240 short2 __ovld __cnfn convert_short2_rtz(char2);
1241 short2 __ovld __cnfn convert_short2_sat_rtz(char2);
1242 short2 __ovld __cnfn convert_short2_rtp(char2);
1243 short2 __ovld __cnfn convert_short2_sat_rtp(char2);
1244 short2 __ovld __cnfn convert_short2_rtn(char2);
1245 short2 __ovld __cnfn convert_short2_sat_rtn(char2);
1246 short2 __ovld __cnfn convert_short2(char2);
1247 short2 __ovld __cnfn convert_short2_sat(char2);
1248 short2 __ovld __cnfn convert_short2_rte(uchar2);
1249 short2 __ovld __cnfn convert_short2_sat_rte(uchar2);
1250 short2 __ovld __cnfn convert_short2_rtz(uchar2);
1251 short2 __ovld __cnfn convert_short2_sat_rtz(uchar2);
1252 short2 __ovld __cnfn convert_short2_rtp(uchar2);
1253 short2 __ovld __cnfn convert_short2_sat_rtp(uchar2);
1254 short2 __ovld __cnfn convert_short2_rtn(uchar2);
1255 short2 __ovld __cnfn convert_short2_sat_rtn(uchar2);
1256 short2 __ovld __cnfn convert_short2(uchar2);
1257 short2 __ovld __cnfn convert_short2_sat(uchar2);
1258 short2 __ovld __cnfn convert_short2_rte(short2);
1259 short2 __ovld __cnfn convert_short2_sat_rte(short2);
1260 short2 __ovld __cnfn convert_short2_rtz(short2);
1261 short2 __ovld __cnfn convert_short2_sat_rtz(short2);
1262 short2 __ovld __cnfn convert_short2_rtp(short2);
1263 short2 __ovld __cnfn convert_short2_sat_rtp(short2);
1264 short2 __ovld __cnfn convert_short2_rtn(short2);
1265 short2 __ovld __cnfn convert_short2_sat_rtn(short2);
1266 short2 __ovld __cnfn convert_short2(short2);
1267 short2 __ovld __cnfn convert_short2_sat(short2);
1268 short2 __ovld __cnfn convert_short2_rte(ushort2);
1269 short2 __ovld __cnfn convert_short2_sat_rte(ushort2);
1270 short2 __ovld __cnfn convert_short2_rtz(ushort2);
1271 short2 __ovld __cnfn convert_short2_sat_rtz(ushort2);
1272 short2 __ovld __cnfn convert_short2_rtp(ushort2);
1273 short2 __ovld __cnfn convert_short2_sat_rtp(ushort2);
1274 short2 __ovld __cnfn convert_short2_rtn(ushort2);
1275 short2 __ovld __cnfn convert_short2_sat_rtn(ushort2);
1276 short2 __ovld __cnfn convert_short2(ushort2);
1277 short2 __ovld __cnfn convert_short2_sat(ushort2);
1278 short2 __ovld __cnfn convert_short2_rte(int2);
1279 short2 __ovld __cnfn convert_short2_sat_rte(int2);
1280 short2 __ovld __cnfn convert_short2_rtz(int2);
1281 short2 __ovld __cnfn convert_short2_sat_rtz(int2);
1282 short2 __ovld __cnfn convert_short2_rtp(int2);
1283 short2 __ovld __cnfn convert_short2_sat_rtp(int2);
1284 short2 __ovld __cnfn convert_short2_rtn(int2);
1285 short2 __ovld __cnfn convert_short2_sat_rtn(int2);
1286 short2 __ovld __cnfn convert_short2(int2);
1287 short2 __ovld __cnfn convert_short2_sat(int2);
1288 short2 __ovld __cnfn convert_short2_rte(uint2);
1289 short2 __ovld __cnfn convert_short2_sat_rte(uint2);
1290 short2 __ovld __cnfn convert_short2_rtz(uint2);
1291 short2 __ovld __cnfn convert_short2_sat_rtz(uint2);
1292 short2 __ovld __cnfn convert_short2_rtp(uint2);
1293 short2 __ovld __cnfn convert_short2_sat_rtp(uint2);
1294 short2 __ovld __cnfn convert_short2_rtn(uint2);
1295 short2 __ovld __cnfn convert_short2_sat_rtn(uint2);
1296 short2 __ovld __cnfn convert_short2(uint2);
1297 short2 __ovld __cnfn convert_short2_sat(uint2);
1298 short2 __ovld __cnfn convert_short2_rte(long2);
1299 short2 __ovld __cnfn convert_short2_sat_rte(long2);
1300 short2 __ovld __cnfn convert_short2_rtz(long2);
1301 short2 __ovld __cnfn convert_short2_sat_rtz(long2);
1302 short2 __ovld __cnfn convert_short2_rtp(long2);
1303 short2 __ovld __cnfn convert_short2_sat_rtp(long2);
1304 short2 __ovld __cnfn convert_short2_rtn(long2);
1305 short2 __ovld __cnfn convert_short2_sat_rtn(long2);
1306 short2 __ovld __cnfn convert_short2(long2);
1307 short2 __ovld __cnfn convert_short2_sat(long2);
1308 short2 __ovld __cnfn convert_short2_rte(ulong2);
1309 short2 __ovld __cnfn convert_short2_sat_rte(ulong2);
1310 short2 __ovld __cnfn convert_short2_rtz(ulong2);
1311 short2 __ovld __cnfn convert_short2_sat_rtz(ulong2);
1312 short2 __ovld __cnfn convert_short2_rtp(ulong2);
1313 short2 __ovld __cnfn convert_short2_sat_rtp(ulong2);
1314 short2 __ovld __cnfn convert_short2_rtn(ulong2);
1315 short2 __ovld __cnfn convert_short2_sat_rtn(ulong2);
1316 short2 __ovld __cnfn convert_short2(ulong2);
1317 short2 __ovld __cnfn convert_short2_sat(ulong2);
1318 short2 __ovld __cnfn convert_short2_rte(float2);
1319 short2 __ovld __cnfn convert_short2_sat_rte(float2);
1320 short2 __ovld __cnfn convert_short2_rtz(float2);
1321 short2 __ovld __cnfn convert_short2_sat_rtz(float2);
1322 short2 __ovld __cnfn convert_short2_rtp(float2);
1323 short2 __ovld __cnfn convert_short2_sat_rtp(float2);
1324 short2 __ovld __cnfn convert_short2_rtn(float2);
1325 short2 __ovld __cnfn convert_short2_sat_rtn(float2);
1326 short2 __ovld __cnfn convert_short2(float2);
1327 short2 __ovld __cnfn convert_short2_sat(float2);
1328 ushort2 __ovld __cnfn convert_ushort2_rte(char2);
1329 ushort2 __ovld __cnfn convert_ushort2_sat_rte(char2);
1330 ushort2 __ovld __cnfn convert_ushort2_rtz(char2);
1331 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(char2);
1332 ushort2 __ovld __cnfn convert_ushort2_rtp(char2);
1333 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(char2);
1334 ushort2 __ovld __cnfn convert_ushort2_rtn(char2);
1335 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(char2);
1336 ushort2 __ovld __cnfn convert_ushort2(char2);
1337 ushort2 __ovld __cnfn convert_ushort2_sat(char2);
1338 ushort2 __ovld __cnfn convert_ushort2_rte(uchar2);
1339 ushort2 __ovld __cnfn convert_ushort2_sat_rte(uchar2);
1340 ushort2 __ovld __cnfn convert_ushort2_rtz(uchar2);
1341 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(uchar2);
1342 ushort2 __ovld __cnfn convert_ushort2_rtp(uchar2);
1343 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(uchar2);
1344 ushort2 __ovld __cnfn convert_ushort2_rtn(uchar2);
1345 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(uchar2);
1346 ushort2 __ovld __cnfn convert_ushort2(uchar2);
1347 ushort2 __ovld __cnfn convert_ushort2_sat(uchar2);
1348 ushort2 __ovld __cnfn convert_ushort2_rte(short2);
1349 ushort2 __ovld __cnfn convert_ushort2_sat_rte(short2);
1350 ushort2 __ovld __cnfn convert_ushort2_rtz(short2);
1351 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(short2);
1352 ushort2 __ovld __cnfn convert_ushort2_rtp(short2);
1353 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(short2);
1354 ushort2 __ovld __cnfn convert_ushort2_rtn(short2);
1355 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(short2);
1356 ushort2 __ovld __cnfn convert_ushort2(short2);
1357 ushort2 __ovld __cnfn convert_ushort2_sat(short2);
1358 ushort2 __ovld __cnfn convert_ushort2_rte(ushort2);
1359 ushort2 __ovld __cnfn convert_ushort2_sat_rte(ushort2);
1360 ushort2 __ovld __cnfn convert_ushort2_rtz(ushort2);
1361 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(ushort2);
1362 ushort2 __ovld __cnfn convert_ushort2_rtp(ushort2);
1363 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(ushort2);
1364 ushort2 __ovld __cnfn convert_ushort2_rtn(ushort2);
1365 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(ushort2);
1366 ushort2 __ovld __cnfn convert_ushort2(ushort2);
1367 ushort2 __ovld __cnfn convert_ushort2_sat(ushort2);
1368 ushort2 __ovld __cnfn convert_ushort2_rte(int2);
1369 ushort2 __ovld __cnfn convert_ushort2_sat_rte(int2);
1370 ushort2 __ovld __cnfn convert_ushort2_rtz(int2);
1371 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(int2);
1372 ushort2 __ovld __cnfn convert_ushort2_rtp(int2);
1373 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(int2);
1374 ushort2 __ovld __cnfn convert_ushort2_rtn(int2);
1375 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(int2);
1376 ushort2 __ovld __cnfn convert_ushort2(int2);
1377 ushort2 __ovld __cnfn convert_ushort2_sat(int2);
1378 ushort2 __ovld __cnfn convert_ushort2_rte(uint2);
1379 ushort2 __ovld __cnfn convert_ushort2_sat_rte(uint2);
1380 ushort2 __ovld __cnfn convert_ushort2_rtz(uint2);
1381 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(uint2);
1382 ushort2 __ovld __cnfn convert_ushort2_rtp(uint2);
1383 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(uint2);
1384 ushort2 __ovld __cnfn convert_ushort2_rtn(uint2);
1385 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(uint2);
1386 ushort2 __ovld __cnfn convert_ushort2(uint2);
1387 ushort2 __ovld __cnfn convert_ushort2_sat(uint2);
1388 ushort2 __ovld __cnfn convert_ushort2_rte(long2);
1389 ushort2 __ovld __cnfn convert_ushort2_sat_rte(long2);
1390 ushort2 __ovld __cnfn convert_ushort2_rtz(long2);
1391 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(long2);
1392 ushort2 __ovld __cnfn convert_ushort2_rtp(long2);
1393 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(long2);
1394 ushort2 __ovld __cnfn convert_ushort2_rtn(long2);
1395 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(long2);
1396 ushort2 __ovld __cnfn convert_ushort2(long2);
1397 ushort2 __ovld __cnfn convert_ushort2_sat(long2);
1398 ushort2 __ovld __cnfn convert_ushort2_rte(ulong2);
1399 ushort2 __ovld __cnfn convert_ushort2_sat_rte(ulong2);
1400 ushort2 __ovld __cnfn convert_ushort2_rtz(ulong2);
1401 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(ulong2);
1402 ushort2 __ovld __cnfn convert_ushort2_rtp(ulong2);
1403 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(ulong2);
1404 ushort2 __ovld __cnfn convert_ushort2_rtn(ulong2);
1405 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(ulong2);
1406 ushort2 __ovld __cnfn convert_ushort2(ulong2);
1407 ushort2 __ovld __cnfn convert_ushort2_sat(ulong2);
1408 ushort2 __ovld __cnfn convert_ushort2_rte(float2);
1409 ushort2 __ovld __cnfn convert_ushort2_sat_rte(float2);
1410 ushort2 __ovld __cnfn convert_ushort2_rtz(float2);
1411 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(float2);
1412 ushort2 __ovld __cnfn convert_ushort2_rtp(float2);
1413 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(float2);
1414 ushort2 __ovld __cnfn convert_ushort2_rtn(float2);
1415 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(float2);
1416 ushort2 __ovld __cnfn convert_ushort2(float2);
1417 ushort2 __ovld __cnfn convert_ushort2_sat(float2);
1418 int2 __ovld __cnfn convert_int2_rte(char2);
1419 int2 __ovld __cnfn convert_int2_sat_rte(char2);
1420 int2 __ovld __cnfn convert_int2_rtz(char2);
1421 int2 __ovld __cnfn convert_int2_sat_rtz(char2);
1422 int2 __ovld __cnfn convert_int2_rtp(char2);
1423 int2 __ovld __cnfn convert_int2_sat_rtp(char2);
1424 int2 __ovld __cnfn convert_int2_rtn(char2);
1425 int2 __ovld __cnfn convert_int2_sat_rtn(char2);
1426 int2 __ovld __cnfn convert_int2(char2);
1427 int2 __ovld __cnfn convert_int2_sat(char2);
1428 int2 __ovld __cnfn convert_int2_rte(uchar2);
1429 int2 __ovld __cnfn convert_int2_sat_rte(uchar2);
1430 int2 __ovld __cnfn convert_int2_rtz(uchar2);
1431 int2 __ovld __cnfn convert_int2_sat_rtz(uchar2);
1432 int2 __ovld __cnfn convert_int2_rtp(uchar2);
1433 int2 __ovld __cnfn convert_int2_sat_rtp(uchar2);
1434 int2 __ovld __cnfn convert_int2_rtn(uchar2);
1435 int2 __ovld __cnfn convert_int2_sat_rtn(uchar2);
1436 int2 __ovld __cnfn convert_int2(uchar2);
1437 int2 __ovld __cnfn convert_int2_sat(uchar2);
1438 int2 __ovld __cnfn convert_int2_rte(short2);
1439 int2 __ovld __cnfn convert_int2_sat_rte(short2);
1440 int2 __ovld __cnfn convert_int2_rtz(short2);
1441 int2 __ovld __cnfn convert_int2_sat_rtz(short2);
1442 int2 __ovld __cnfn convert_int2_rtp(short2);
1443 int2 __ovld __cnfn convert_int2_sat_rtp(short2);
1444 int2 __ovld __cnfn convert_int2_rtn(short2);
1445 int2 __ovld __cnfn convert_int2_sat_rtn(short2);
1446 int2 __ovld __cnfn convert_int2(short2);
1447 int2 __ovld __cnfn convert_int2_sat(short2);
1448 int2 __ovld __cnfn convert_int2_rte(ushort2);
1449 int2 __ovld __cnfn convert_int2_sat_rte(ushort2);
1450 int2 __ovld __cnfn convert_int2_rtz(ushort2);
1451 int2 __ovld __cnfn convert_int2_sat_rtz(ushort2);
1452 int2 __ovld __cnfn convert_int2_rtp(ushort2);
1453 int2 __ovld __cnfn convert_int2_sat_rtp(ushort2);
1454 int2 __ovld __cnfn convert_int2_rtn(ushort2);
1455 int2 __ovld __cnfn convert_int2_sat_rtn(ushort2);
1456 int2 __ovld __cnfn convert_int2(ushort2);
1457 int2 __ovld __cnfn convert_int2_sat(ushort2);
1458 int2 __ovld __cnfn convert_int2_rte(int2);
1459 int2 __ovld __cnfn convert_int2_sat_rte(int2);
1460 int2 __ovld __cnfn convert_int2_rtz(int2);
1461 int2 __ovld __cnfn convert_int2_sat_rtz(int2);
1462 int2 __ovld __cnfn convert_int2_rtp(int2);
1463 int2 __ovld __cnfn convert_int2_sat_rtp(int2);
1464 int2 __ovld __cnfn convert_int2_rtn(int2);
1465 int2 __ovld __cnfn convert_int2_sat_rtn(int2);
1466 int2 __ovld __cnfn convert_int2(int2);
1467 int2 __ovld __cnfn convert_int2_sat(int2);
1468 int2 __ovld __cnfn convert_int2_rte(uint2);
1469 int2 __ovld __cnfn convert_int2_sat_rte(uint2);
1470 int2 __ovld __cnfn convert_int2_rtz(uint2);
1471 int2 __ovld __cnfn convert_int2_sat_rtz(uint2);
1472 int2 __ovld __cnfn convert_int2_rtp(uint2);
1473 int2 __ovld __cnfn convert_int2_sat_rtp(uint2);
1474 int2 __ovld __cnfn convert_int2_rtn(uint2);
1475 int2 __ovld __cnfn convert_int2_sat_rtn(uint2);
1476 int2 __ovld __cnfn convert_int2(uint2);
1477 int2 __ovld __cnfn convert_int2_sat(uint2);
1478 int2 __ovld __cnfn convert_int2_rte(long2);
1479 int2 __ovld __cnfn convert_int2_sat_rte(long2);
1480 int2 __ovld __cnfn convert_int2_rtz(long2);
1481 int2 __ovld __cnfn convert_int2_sat_rtz(long2);
1482 int2 __ovld __cnfn convert_int2_rtp(long2);
1483 int2 __ovld __cnfn convert_int2_sat_rtp(long2);
1484 int2 __ovld __cnfn convert_int2_rtn(long2);
1485 int2 __ovld __cnfn convert_int2_sat_rtn(long2);
1486 int2 __ovld __cnfn convert_int2(long2);
1487 int2 __ovld __cnfn convert_int2_sat(long2);
1488 int2 __ovld __cnfn convert_int2_rte(ulong2);
1489 int2 __ovld __cnfn convert_int2_sat_rte(ulong2);
1490 int2 __ovld __cnfn convert_int2_rtz(ulong2);
1491 int2 __ovld __cnfn convert_int2_sat_rtz(ulong2);
1492 int2 __ovld __cnfn convert_int2_rtp(ulong2);
1493 int2 __ovld __cnfn convert_int2_sat_rtp(ulong2);
1494 int2 __ovld __cnfn convert_int2_rtn(ulong2);
1495 int2 __ovld __cnfn convert_int2_sat_rtn(ulong2);
1496 int2 __ovld __cnfn convert_int2(ulong2);
1497 int2 __ovld __cnfn convert_int2_sat(ulong2);
1498 int2 __ovld __cnfn convert_int2_rte(float2);
1499 int2 __ovld __cnfn convert_int2_sat_rte(float2);
1500 int2 __ovld __cnfn convert_int2_rtz(float2);
1501 int2 __ovld __cnfn convert_int2_sat_rtz(float2);
1502 int2 __ovld __cnfn convert_int2_rtp(float2);
1503 int2 __ovld __cnfn convert_int2_sat_rtp(float2);
1504 int2 __ovld __cnfn convert_int2_rtn(float2);
1505 int2 __ovld __cnfn convert_int2_sat_rtn(float2);
1506 int2 __ovld __cnfn convert_int2(float2);
1507 int2 __ovld __cnfn convert_int2_sat(float2);
1508 uint2 __ovld __cnfn convert_uint2_rte(char2);
1509 uint2 __ovld __cnfn convert_uint2_sat_rte(char2);
1510 uint2 __ovld __cnfn convert_uint2_rtz(char2);
1511 uint2 __ovld __cnfn convert_uint2_sat_rtz(char2);
1512 uint2 __ovld __cnfn convert_uint2_rtp(char2);
1513 uint2 __ovld __cnfn convert_uint2_sat_rtp(char2);
1514 uint2 __ovld __cnfn convert_uint2_rtn(char2);
1515 uint2 __ovld __cnfn convert_uint2_sat_rtn(char2);
1516 uint2 __ovld __cnfn convert_uint2(char2);
1517 uint2 __ovld __cnfn convert_uint2_sat(char2);
1518 uint2 __ovld __cnfn convert_uint2_rte(uchar2);
1519 uint2 __ovld __cnfn convert_uint2_sat_rte(uchar2);
1520 uint2 __ovld __cnfn convert_uint2_rtz(uchar2);
1521 uint2 __ovld __cnfn convert_uint2_sat_rtz(uchar2);
1522 uint2 __ovld __cnfn convert_uint2_rtp(uchar2);
1523 uint2 __ovld __cnfn convert_uint2_sat_rtp(uchar2);
1524 uint2 __ovld __cnfn convert_uint2_rtn(uchar2);
1525 uint2 __ovld __cnfn convert_uint2_sat_rtn(uchar2);
1526 uint2 __ovld __cnfn convert_uint2(uchar2);
1527 uint2 __ovld __cnfn convert_uint2_sat(uchar2);
1528 uint2 __ovld __cnfn convert_uint2_rte(short2);
1529 uint2 __ovld __cnfn convert_uint2_sat_rte(short2);
1530 uint2 __ovld __cnfn convert_uint2_rtz(short2);
1531 uint2 __ovld __cnfn convert_uint2_sat_rtz(short2);
1532 uint2 __ovld __cnfn convert_uint2_rtp(short2);
1533 uint2 __ovld __cnfn convert_uint2_sat_rtp(short2);
1534 uint2 __ovld __cnfn convert_uint2_rtn(short2);
1535 uint2 __ovld __cnfn convert_uint2_sat_rtn(short2);
1536 uint2 __ovld __cnfn convert_uint2(short2);
1537 uint2 __ovld __cnfn convert_uint2_sat(short2);
1538 uint2 __ovld __cnfn convert_uint2_rte(ushort2);
1539 uint2 __ovld __cnfn convert_uint2_sat_rte(ushort2);
1540 uint2 __ovld __cnfn convert_uint2_rtz(ushort2);
1541 uint2 __ovld __cnfn convert_uint2_sat_rtz(ushort2);
1542 uint2 __ovld __cnfn convert_uint2_rtp(ushort2);
1543 uint2 __ovld __cnfn convert_uint2_sat_rtp(ushort2);
1544 uint2 __ovld __cnfn convert_uint2_rtn(ushort2);
1545 uint2 __ovld __cnfn convert_uint2_sat_rtn(ushort2);
1546 uint2 __ovld __cnfn convert_uint2(ushort2);
1547 uint2 __ovld __cnfn convert_uint2_sat(ushort2);
1548 uint2 __ovld __cnfn convert_uint2_rte(int2);
1549 uint2 __ovld __cnfn convert_uint2_sat_rte(int2);
1550 uint2 __ovld __cnfn convert_uint2_rtz(int2);
1551 uint2 __ovld __cnfn convert_uint2_sat_rtz(int2);
1552 uint2 __ovld __cnfn convert_uint2_rtp(int2);
1553 uint2 __ovld __cnfn convert_uint2_sat_rtp(int2);
1554 uint2 __ovld __cnfn convert_uint2_rtn(int2);
1555 uint2 __ovld __cnfn convert_uint2_sat_rtn(int2);
1556 uint2 __ovld __cnfn convert_uint2(int2);
1557 uint2 __ovld __cnfn convert_uint2_sat(int2);
1558 uint2 __ovld __cnfn convert_uint2_rte(uint2);
1559 uint2 __ovld __cnfn convert_uint2_sat_rte(uint2);
1560 uint2 __ovld __cnfn convert_uint2_rtz(uint2);
1561 uint2 __ovld __cnfn convert_uint2_sat_rtz(uint2);
1562 uint2 __ovld __cnfn convert_uint2_rtp(uint2);
1563 uint2 __ovld __cnfn convert_uint2_sat_rtp(uint2);
1564 uint2 __ovld __cnfn convert_uint2_rtn(uint2);
1565 uint2 __ovld __cnfn convert_uint2_sat_rtn(uint2);
1566 uint2 __ovld __cnfn convert_uint2(uint2);
1567 uint2 __ovld __cnfn convert_uint2_sat(uint2);
1568 uint2 __ovld __cnfn convert_uint2_rte(long2);
1569 uint2 __ovld __cnfn convert_uint2_sat_rte(long2);
1570 uint2 __ovld __cnfn convert_uint2_rtz(long2);
1571 uint2 __ovld __cnfn convert_uint2_sat_rtz(long2);
1572 uint2 __ovld __cnfn convert_uint2_rtp(long2);
1573 uint2 __ovld __cnfn convert_uint2_sat_rtp(long2);
1574 uint2 __ovld __cnfn convert_uint2_rtn(long2);
1575 uint2 __ovld __cnfn convert_uint2_sat_rtn(long2);
1576 uint2 __ovld __cnfn convert_uint2(long2);
1577 uint2 __ovld __cnfn convert_uint2_sat(long2);
1578 uint2 __ovld __cnfn convert_uint2_rte(ulong2);
1579 uint2 __ovld __cnfn convert_uint2_sat_rte(ulong2);
1580 uint2 __ovld __cnfn convert_uint2_rtz(ulong2);
1581 uint2 __ovld __cnfn convert_uint2_sat_rtz(ulong2);
1582 uint2 __ovld __cnfn convert_uint2_rtp(ulong2);
1583 uint2 __ovld __cnfn convert_uint2_sat_rtp(ulong2);
1584 uint2 __ovld __cnfn convert_uint2_rtn(ulong2);
1585 uint2 __ovld __cnfn convert_uint2_sat_rtn(ulong2);
1586 uint2 __ovld __cnfn convert_uint2(ulong2);
1587 uint2 __ovld __cnfn convert_uint2_sat(ulong2);
1588 uint2 __ovld __cnfn convert_uint2_rte(float2);
1589 uint2 __ovld __cnfn convert_uint2_sat_rte(float2);
1590 uint2 __ovld __cnfn convert_uint2_rtz(float2);
1591 uint2 __ovld __cnfn convert_uint2_sat_rtz(float2);
1592 uint2 __ovld __cnfn convert_uint2_rtp(float2);
1593 uint2 __ovld __cnfn convert_uint2_sat_rtp(float2);
1594 uint2 __ovld __cnfn convert_uint2_rtn(float2);
1595 uint2 __ovld __cnfn convert_uint2_sat_rtn(float2);
1596 uint2 __ovld __cnfn convert_uint2(float2);
1597 uint2 __ovld __cnfn convert_uint2_sat(float2);
1598 long2 __ovld __cnfn convert_long2_rte(char2);
1599 long2 __ovld __cnfn convert_long2_sat_rte(char2);
1600 long2 __ovld __cnfn convert_long2_rtz(char2);
1601 long2 __ovld __cnfn convert_long2_sat_rtz(char2);
1602 long2 __ovld __cnfn convert_long2_rtp(char2);
1603 long2 __ovld __cnfn convert_long2_sat_rtp(char2);
1604 long2 __ovld __cnfn convert_long2_rtn(char2);
1605 long2 __ovld __cnfn convert_long2_sat_rtn(char2);
1606 long2 __ovld __cnfn convert_long2(char2);
1607 long2 __ovld __cnfn convert_long2_sat(char2);
1608 long2 __ovld __cnfn convert_long2_rte(uchar2);
1609 long2 __ovld __cnfn convert_long2_sat_rte(uchar2);
1610 long2 __ovld __cnfn convert_long2_rtz(uchar2);
1611 long2 __ovld __cnfn convert_long2_sat_rtz(uchar2);
1612 long2 __ovld __cnfn convert_long2_rtp(uchar2);
1613 long2 __ovld __cnfn convert_long2_sat_rtp(uchar2);
1614 long2 __ovld __cnfn convert_long2_rtn(uchar2);
1615 long2 __ovld __cnfn convert_long2_sat_rtn(uchar2);
1616 long2 __ovld __cnfn convert_long2(uchar2);
1617 long2 __ovld __cnfn convert_long2_sat(uchar2);
1618 long2 __ovld __cnfn convert_long2_rte(short2);
1619 long2 __ovld __cnfn convert_long2_sat_rte(short2);
1620 long2 __ovld __cnfn convert_long2_rtz(short2);
1621 long2 __ovld __cnfn convert_long2_sat_rtz(short2);
1622 long2 __ovld __cnfn convert_long2_rtp(short2);
1623 long2 __ovld __cnfn convert_long2_sat_rtp(short2);
1624 long2 __ovld __cnfn convert_long2_rtn(short2);
1625 long2 __ovld __cnfn convert_long2_sat_rtn(short2);
1626 long2 __ovld __cnfn convert_long2(short2);
1627 long2 __ovld __cnfn convert_long2_sat(short2);
1628 long2 __ovld __cnfn convert_long2_rte(ushort2);
1629 long2 __ovld __cnfn convert_long2_sat_rte(ushort2);
1630 long2 __ovld __cnfn convert_long2_rtz(ushort2);
1631 long2 __ovld __cnfn convert_long2_sat_rtz(ushort2);
1632 long2 __ovld __cnfn convert_long2_rtp(ushort2);
1633 long2 __ovld __cnfn convert_long2_sat_rtp(ushort2);
1634 long2 __ovld __cnfn convert_long2_rtn(ushort2);
1635 long2 __ovld __cnfn convert_long2_sat_rtn(ushort2);
1636 long2 __ovld __cnfn convert_long2(ushort2);
1637 long2 __ovld __cnfn convert_long2_sat(ushort2);
1638 long2 __ovld __cnfn convert_long2_rte(int2);
1639 long2 __ovld __cnfn convert_long2_sat_rte(int2);
1640 long2 __ovld __cnfn convert_long2_rtz(int2);
1641 long2 __ovld __cnfn convert_long2_sat_rtz(int2);
1642 long2 __ovld __cnfn convert_long2_rtp(int2);
1643 long2 __ovld __cnfn convert_long2_sat_rtp(int2);
1644 long2 __ovld __cnfn convert_long2_rtn(int2);
1645 long2 __ovld __cnfn convert_long2_sat_rtn(int2);
1646 long2 __ovld __cnfn convert_long2(int2);
1647 long2 __ovld __cnfn convert_long2_sat(int2);
1648 long2 __ovld __cnfn convert_long2_rte(uint2);
1649 long2 __ovld __cnfn convert_long2_sat_rte(uint2);
1650 long2 __ovld __cnfn convert_long2_rtz(uint2);
1651 long2 __ovld __cnfn convert_long2_sat_rtz(uint2);
1652 long2 __ovld __cnfn convert_long2_rtp(uint2);
1653 long2 __ovld __cnfn convert_long2_sat_rtp(uint2);
1654 long2 __ovld __cnfn convert_long2_rtn(uint2);
1655 long2 __ovld __cnfn convert_long2_sat_rtn(uint2);
1656 long2 __ovld __cnfn convert_long2(uint2);
1657 long2 __ovld __cnfn convert_long2_sat(uint2);
1658 long2 __ovld __cnfn convert_long2_rte(long2);
1659 long2 __ovld __cnfn convert_long2_sat_rte(long2);
1660 long2 __ovld __cnfn convert_long2_rtz(long2);
1661 long2 __ovld __cnfn convert_long2_sat_rtz(long2);
1662 long2 __ovld __cnfn convert_long2_rtp(long2);
1663 long2 __ovld __cnfn convert_long2_sat_rtp(long2);
1664 long2 __ovld __cnfn convert_long2_rtn(long2);
1665 long2 __ovld __cnfn convert_long2_sat_rtn(long2);
1666 long2 __ovld __cnfn convert_long2(long2);
1667 long2 __ovld __cnfn convert_long2_sat(long2);
1668 long2 __ovld __cnfn convert_long2_rte(ulong2);
1669 long2 __ovld __cnfn convert_long2_sat_rte(ulong2);
1670 long2 __ovld __cnfn convert_long2_rtz(ulong2);
1671 long2 __ovld __cnfn convert_long2_sat_rtz(ulong2);
1672 long2 __ovld __cnfn convert_long2_rtp(ulong2);
1673 long2 __ovld __cnfn convert_long2_sat_rtp(ulong2);
1674 long2 __ovld __cnfn convert_long2_rtn(ulong2);
1675 long2 __ovld __cnfn convert_long2_sat_rtn(ulong2);
1676 long2 __ovld __cnfn convert_long2(ulong2);
1677 long2 __ovld __cnfn convert_long2_sat(ulong2);
1678 long2 __ovld __cnfn convert_long2_rte(float2);
1679 long2 __ovld __cnfn convert_long2_sat_rte(float2);
1680 long2 __ovld __cnfn convert_long2_rtz(float2);
1681 long2 __ovld __cnfn convert_long2_sat_rtz(float2);
1682 long2 __ovld __cnfn convert_long2_rtp(float2);
1683 long2 __ovld __cnfn convert_long2_sat_rtp(float2);
1684 long2 __ovld __cnfn convert_long2_rtn(float2);
1685 long2 __ovld __cnfn convert_long2_sat_rtn(float2);
1686 long2 __ovld __cnfn convert_long2(float2);
1687 long2 __ovld __cnfn convert_long2_sat(float2);
1688 ulong2 __ovld __cnfn convert_ulong2_rte(char2);
1689 ulong2 __ovld __cnfn convert_ulong2_sat_rte(char2);
1690 ulong2 __ovld __cnfn convert_ulong2_rtz(char2);
1691 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(char2);
1692 ulong2 __ovld __cnfn convert_ulong2_rtp(char2);
1693 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(char2);
1694 ulong2 __ovld __cnfn convert_ulong2_rtn(char2);
1695 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(char2);
1696 ulong2 __ovld __cnfn convert_ulong2(char2);
1697 ulong2 __ovld __cnfn convert_ulong2_sat(char2);
1698 ulong2 __ovld __cnfn convert_ulong2_rte(uchar2);
1699 ulong2 __ovld __cnfn convert_ulong2_sat_rte(uchar2);
1700 ulong2 __ovld __cnfn convert_ulong2_rtz(uchar2);
1701 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(uchar2);
1702 ulong2 __ovld __cnfn convert_ulong2_rtp(uchar2);
1703 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(uchar2);
1704 ulong2 __ovld __cnfn convert_ulong2_rtn(uchar2);
1705 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(uchar2);
1706 ulong2 __ovld __cnfn convert_ulong2(uchar2);
1707 ulong2 __ovld __cnfn convert_ulong2_sat(uchar2);
1708 ulong2 __ovld __cnfn convert_ulong2_rte(short2);
1709 ulong2 __ovld __cnfn convert_ulong2_sat_rte(short2);
1710 ulong2 __ovld __cnfn convert_ulong2_rtz(short2);
1711 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(short2);
1712 ulong2 __ovld __cnfn convert_ulong2_rtp(short2);
1713 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(short2);
1714 ulong2 __ovld __cnfn convert_ulong2_rtn(short2);
1715 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(short2);
1716 ulong2 __ovld __cnfn convert_ulong2(short2);
1717 ulong2 __ovld __cnfn convert_ulong2_sat(short2);
1718 ulong2 __ovld __cnfn convert_ulong2_rte(ushort2);
1719 ulong2 __ovld __cnfn convert_ulong2_sat_rte(ushort2);
1720 ulong2 __ovld __cnfn convert_ulong2_rtz(ushort2);
1721 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(ushort2);
1722 ulong2 __ovld __cnfn convert_ulong2_rtp(ushort2);
1723 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(ushort2);
1724 ulong2 __ovld __cnfn convert_ulong2_rtn(ushort2);
1725 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(ushort2);
1726 ulong2 __ovld __cnfn convert_ulong2(ushort2);
1727 ulong2 __ovld __cnfn convert_ulong2_sat(ushort2);
1728 ulong2 __ovld __cnfn convert_ulong2_rte(int2);
1729 ulong2 __ovld __cnfn convert_ulong2_sat_rte(int2);
1730 ulong2 __ovld __cnfn convert_ulong2_rtz(int2);
1731 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(int2);
1732 ulong2 __ovld __cnfn convert_ulong2_rtp(int2);
1733 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(int2);
1734 ulong2 __ovld __cnfn convert_ulong2_rtn(int2);
1735 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(int2);
1736 ulong2 __ovld __cnfn convert_ulong2(int2);
1737 ulong2 __ovld __cnfn convert_ulong2_sat(int2);
1738 ulong2 __ovld __cnfn convert_ulong2_rte(uint2);
1739 ulong2 __ovld __cnfn convert_ulong2_sat_rte(uint2);
1740 ulong2 __ovld __cnfn convert_ulong2_rtz(uint2);
1741 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(uint2);
1742 ulong2 __ovld __cnfn convert_ulong2_rtp(uint2);
1743 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(uint2);
1744 ulong2 __ovld __cnfn convert_ulong2_rtn(uint2);
1745 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(uint2);
1746 ulong2 __ovld __cnfn convert_ulong2(uint2);
1747 ulong2 __ovld __cnfn convert_ulong2_sat(uint2);
1748 ulong2 __ovld __cnfn convert_ulong2_rte(long2);
1749 ulong2 __ovld __cnfn convert_ulong2_sat_rte(long2);
1750 ulong2 __ovld __cnfn convert_ulong2_rtz(long2);
1751 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(long2);
1752 ulong2 __ovld __cnfn convert_ulong2_rtp(long2);
1753 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(long2);
1754 ulong2 __ovld __cnfn convert_ulong2_rtn(long2);
1755 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(long2);
1756 ulong2 __ovld __cnfn convert_ulong2(long2);
1757 ulong2 __ovld __cnfn convert_ulong2_sat(long2);
1758 ulong2 __ovld __cnfn convert_ulong2_rte(ulong2);
1759 ulong2 __ovld __cnfn convert_ulong2_sat_rte(ulong2);
1760 ulong2 __ovld __cnfn convert_ulong2_rtz(ulong2);
1761 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(ulong2);
1762 ulong2 __ovld __cnfn convert_ulong2_rtp(ulong2);
1763 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(ulong2);
1764 ulong2 __ovld __cnfn convert_ulong2_rtn(ulong2);
1765 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(ulong2);
1766 ulong2 __ovld __cnfn convert_ulong2(ulong2);
1767 ulong2 __ovld __cnfn convert_ulong2_sat(ulong2);
1768 ulong2 __ovld __cnfn convert_ulong2_rte(float2);
1769 ulong2 __ovld __cnfn convert_ulong2_sat_rte(float2);
1770 ulong2 __ovld __cnfn convert_ulong2_rtz(float2);
1771 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(float2);
1772 ulong2 __ovld __cnfn convert_ulong2_rtp(float2);
1773 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(float2);
1774 ulong2 __ovld __cnfn convert_ulong2_rtn(float2);
1775 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(float2);
1776 ulong2 __ovld __cnfn convert_ulong2(float2);
1777 ulong2 __ovld __cnfn convert_ulong2_sat(float2);
1778 float2 __ovld __cnfn convert_float2_rte(char2);
1779 float2 __ovld __cnfn convert_float2_rtz(char2);
1780 float2 __ovld __cnfn convert_float2_rtp(char2);
1781 float2 __ovld __cnfn convert_float2_rtn(char2);
1782 float2 __ovld __cnfn convert_float2(char2);
1783 float2 __ovld __cnfn convert_float2_rte(uchar2);
1784 float2 __ovld __cnfn convert_float2_rtz(uchar2);
1785 float2 __ovld __cnfn convert_float2_rtp(uchar2);
1786 float2 __ovld __cnfn convert_float2_rtn(uchar2);
1787 float2 __ovld __cnfn convert_float2(uchar2);
1788 float2 __ovld __cnfn convert_float2_rte(short2);
1789 float2 __ovld __cnfn convert_float2_rtz(short2);
1790 float2 __ovld __cnfn convert_float2_rtp(short2);
1791 float2 __ovld __cnfn convert_float2_rtn(short2);
1792 float2 __ovld __cnfn convert_float2(short2);
1793 float2 __ovld __cnfn convert_float2_rte(ushort2);
1794 float2 __ovld __cnfn convert_float2_rtz(ushort2);
1795 float2 __ovld __cnfn convert_float2_rtp(ushort2);
1796 float2 __ovld __cnfn convert_float2_rtn(ushort2);
1797 float2 __ovld __cnfn convert_float2(ushort2);
1798 float2 __ovld __cnfn convert_float2_rte(int2);
1799 float2 __ovld __cnfn convert_float2_rtz(int2);
1800 float2 __ovld __cnfn convert_float2_rtp(int2);
1801 float2 __ovld __cnfn convert_float2_rtn(int2);
1802 float2 __ovld __cnfn convert_float2(int2);
1803 float2 __ovld __cnfn convert_float2_rte(uint2);
1804 float2 __ovld __cnfn convert_float2_rtz(uint2);
1805 float2 __ovld __cnfn convert_float2_rtp(uint2);
1806 float2 __ovld __cnfn convert_float2_rtn(uint2);
1807 float2 __ovld __cnfn convert_float2(uint2);
1808 float2 __ovld __cnfn convert_float2_rte(long2);
1809 float2 __ovld __cnfn convert_float2_rtz(long2);
1810 float2 __ovld __cnfn convert_float2_rtp(long2);
1811 float2 __ovld __cnfn convert_float2_rtn(long2);
1812 float2 __ovld __cnfn convert_float2(long2);
1813 float2 __ovld __cnfn convert_float2_rte(ulong2);
1814 float2 __ovld __cnfn convert_float2_rtz(ulong2);
1815 float2 __ovld __cnfn convert_float2_rtp(ulong2);
1816 float2 __ovld __cnfn convert_float2_rtn(ulong2);
1817 float2 __ovld __cnfn convert_float2(ulong2);
1818 float2 __ovld __cnfn convert_float2_rte(float2);
1819 float2 __ovld __cnfn convert_float2_rtz(float2);
1820 float2 __ovld __cnfn convert_float2_rtp(float2);
1821 float2 __ovld __cnfn convert_float2_rtn(float2);
1822 float2 __ovld __cnfn convert_float2(float2);
1823 char3 __ovld __cnfn convert_char3_rte(char3);
1824 char3 __ovld __cnfn convert_char3_sat_rte(char3);
1825 char3 __ovld __cnfn convert_char3_rtz(char3);
1826 char3 __ovld __cnfn convert_char3_sat_rtz(char3);
1827 char3 __ovld __cnfn convert_char3_rtp(char3);
1828 char3 __ovld __cnfn convert_char3_sat_rtp(char3);
1829 char3 __ovld __cnfn convert_char3_rtn(char3);
1830 char3 __ovld __cnfn convert_char3_sat_rtn(char3);
1831 char3 __ovld __cnfn convert_char3(char3);
1832 char3 __ovld __cnfn convert_char3_sat(char3);
1833 char3 __ovld __cnfn convert_char3_rte(uchar3);
1834 char3 __ovld __cnfn convert_char3_sat_rte(uchar3);
1835 char3 __ovld __cnfn convert_char3_rtz(uchar3);
1836 char3 __ovld __cnfn convert_char3_sat_rtz(uchar3);
1837 char3 __ovld __cnfn convert_char3_rtp(uchar3);
1838 char3 __ovld __cnfn convert_char3_sat_rtp(uchar3);
1839 char3 __ovld __cnfn convert_char3_rtn(uchar3);
1840 char3 __ovld __cnfn convert_char3_sat_rtn(uchar3);
1841 char3 __ovld __cnfn convert_char3(uchar3);
1842 char3 __ovld __cnfn convert_char3_sat(uchar3);
1843 char3 __ovld __cnfn convert_char3_rte(short3);
1844 char3 __ovld __cnfn convert_char3_sat_rte(short3);
1845 char3 __ovld __cnfn convert_char3_rtz(short3);
1846 char3 __ovld __cnfn convert_char3_sat_rtz(short3);
1847 char3 __ovld __cnfn convert_char3_rtp(short3);
1848 char3 __ovld __cnfn convert_char3_sat_rtp(short3);
1849 char3 __ovld __cnfn convert_char3_rtn(short3);
1850 char3 __ovld __cnfn convert_char3_sat_rtn(short3);
1851 char3 __ovld __cnfn convert_char3(short3);
1852 char3 __ovld __cnfn convert_char3_sat(short3);
1853 char3 __ovld __cnfn convert_char3_rte(ushort3);
1854 char3 __ovld __cnfn convert_char3_sat_rte(ushort3);
1855 char3 __ovld __cnfn convert_char3_rtz(ushort3);
1856 char3 __ovld __cnfn convert_char3_sat_rtz(ushort3);
1857 char3 __ovld __cnfn convert_char3_rtp(ushort3);
1858 char3 __ovld __cnfn convert_char3_sat_rtp(ushort3);
1859 char3 __ovld __cnfn convert_char3_rtn(ushort3);
1860 char3 __ovld __cnfn convert_char3_sat_rtn(ushort3);
1861 char3 __ovld __cnfn convert_char3(ushort3);
1862 char3 __ovld __cnfn convert_char3_sat(ushort3);
1863 char3 __ovld __cnfn convert_char3_rte(int3);
1864 char3 __ovld __cnfn convert_char3_sat_rte(int3);
1865 char3 __ovld __cnfn convert_char3_rtz(int3);
1866 char3 __ovld __cnfn convert_char3_sat_rtz(int3);
1867 char3 __ovld __cnfn convert_char3_rtp(int3);
1868 char3 __ovld __cnfn convert_char3_sat_rtp(int3);
1869 char3 __ovld __cnfn convert_char3_rtn(int3);
1870 char3 __ovld __cnfn convert_char3_sat_rtn(int3);
1871 char3 __ovld __cnfn convert_char3(int3);
1872 char3 __ovld __cnfn convert_char3_sat(int3);
1873 char3 __ovld __cnfn convert_char3_rte(uint3);
1874 char3 __ovld __cnfn convert_char3_sat_rte(uint3);
1875 char3 __ovld __cnfn convert_char3_rtz(uint3);
1876 char3 __ovld __cnfn convert_char3_sat_rtz(uint3);
1877 char3 __ovld __cnfn convert_char3_rtp(uint3);
1878 char3 __ovld __cnfn convert_char3_sat_rtp(uint3);
1879 char3 __ovld __cnfn convert_char3_rtn(uint3);
1880 char3 __ovld __cnfn convert_char3_sat_rtn(uint3);
1881 char3 __ovld __cnfn convert_char3(uint3);
1882 char3 __ovld __cnfn convert_char3_sat(uint3);
1883 char3 __ovld __cnfn convert_char3_rte(long3);
1884 char3 __ovld __cnfn convert_char3_sat_rte(long3);
1885 char3 __ovld __cnfn convert_char3_rtz(long3);
1886 char3 __ovld __cnfn convert_char3_sat_rtz(long3);
1887 char3 __ovld __cnfn convert_char3_rtp(long3);
1888 char3 __ovld __cnfn convert_char3_sat_rtp(long3);
1889 char3 __ovld __cnfn convert_char3_rtn(long3);
1890 char3 __ovld __cnfn convert_char3_sat_rtn(long3);
1891 char3 __ovld __cnfn convert_char3(long3);
1892 char3 __ovld __cnfn convert_char3_sat(long3);
1893 char3 __ovld __cnfn convert_char3_rte(ulong3);
1894 char3 __ovld __cnfn convert_char3_sat_rte(ulong3);
1895 char3 __ovld __cnfn convert_char3_rtz(ulong3);
1896 char3 __ovld __cnfn convert_char3_sat_rtz(ulong3);
1897 char3 __ovld __cnfn convert_char3_rtp(ulong3);
1898 char3 __ovld __cnfn convert_char3_sat_rtp(ulong3);
1899 char3 __ovld __cnfn convert_char3_rtn(ulong3);
1900 char3 __ovld __cnfn convert_char3_sat_rtn(ulong3);
1901 char3 __ovld __cnfn convert_char3(ulong3);
1902 char3 __ovld __cnfn convert_char3_sat(ulong3);
1903 char3 __ovld __cnfn convert_char3_rte(float3);
1904 char3 __ovld __cnfn convert_char3_sat_rte(float3);
1905 char3 __ovld __cnfn convert_char3_rtz(float3);
1906 char3 __ovld __cnfn convert_char3_sat_rtz(float3);
1907 char3 __ovld __cnfn convert_char3_rtp(float3);
1908 char3 __ovld __cnfn convert_char3_sat_rtp(float3);
1909 char3 __ovld __cnfn convert_char3_rtn(float3);
1910 char3 __ovld __cnfn convert_char3_sat_rtn(float3);
1911 char3 __ovld __cnfn convert_char3(float3);
1912 char3 __ovld __cnfn convert_char3_sat(float3);
1913 uchar3 __ovld __cnfn convert_uchar3_rte(char3);
1914 uchar3 __ovld __cnfn convert_uchar3_sat_rte(char3);
1915 uchar3 __ovld __cnfn convert_uchar3_rtz(char3);
1916 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(char3);
1917 uchar3 __ovld __cnfn convert_uchar3_rtp(char3);
1918 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(char3);
1919 uchar3 __ovld __cnfn convert_uchar3_rtn(char3);
1920 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(char3);
1921 uchar3 __ovld __cnfn convert_uchar3(char3);
1922 uchar3 __ovld __cnfn convert_uchar3_sat(char3);
1923 uchar3 __ovld __cnfn convert_uchar3_rte(uchar3);
1924 uchar3 __ovld __cnfn convert_uchar3_sat_rte(uchar3);
1925 uchar3 __ovld __cnfn convert_uchar3_rtz(uchar3);
1926 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(uchar3);
1927 uchar3 __ovld __cnfn convert_uchar3_rtp(uchar3);
1928 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(uchar3);
1929 uchar3 __ovld __cnfn convert_uchar3_rtn(uchar3);
1930 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(uchar3);
1931 uchar3 __ovld __cnfn convert_uchar3(uchar3);
1932 uchar3 __ovld __cnfn convert_uchar3_sat(uchar3);
1933 uchar3 __ovld __cnfn convert_uchar3_rte(short3);
1934 uchar3 __ovld __cnfn convert_uchar3_sat_rte(short3);
1935 uchar3 __ovld __cnfn convert_uchar3_rtz(short3);
1936 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(short3);
1937 uchar3 __ovld __cnfn convert_uchar3_rtp(short3);
1938 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(short3);
1939 uchar3 __ovld __cnfn convert_uchar3_rtn(short3);
1940 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(short3);
1941 uchar3 __ovld __cnfn convert_uchar3(short3);
1942 uchar3 __ovld __cnfn convert_uchar3_sat(short3);
1943 uchar3 __ovld __cnfn convert_uchar3_rte(ushort3);
1944 uchar3 __ovld __cnfn convert_uchar3_sat_rte(ushort3);
1945 uchar3 __ovld __cnfn convert_uchar3_rtz(ushort3);
1946 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(ushort3);
1947 uchar3 __ovld __cnfn convert_uchar3_rtp(ushort3);
1948 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(ushort3);
1949 uchar3 __ovld __cnfn convert_uchar3_rtn(ushort3);
1950 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(ushort3);
1951 uchar3 __ovld __cnfn convert_uchar3(ushort3);
1952 uchar3 __ovld __cnfn convert_uchar3_sat(ushort3);
1953 uchar3 __ovld __cnfn convert_uchar3_rte(int3);
1954 uchar3 __ovld __cnfn convert_uchar3_sat_rte(int3);
1955 uchar3 __ovld __cnfn convert_uchar3_rtz(int3);
1956 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(int3);
1957 uchar3 __ovld __cnfn convert_uchar3_rtp(int3);
1958 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(int3);
1959 uchar3 __ovld __cnfn convert_uchar3_rtn(int3);
1960 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(int3);
1961 uchar3 __ovld __cnfn convert_uchar3(int3);
1962 uchar3 __ovld __cnfn convert_uchar3_sat(int3);
1963 uchar3 __ovld __cnfn convert_uchar3_rte(uint3);
1964 uchar3 __ovld __cnfn convert_uchar3_sat_rte(uint3);
1965 uchar3 __ovld __cnfn convert_uchar3_rtz(uint3);
1966 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(uint3);
1967 uchar3 __ovld __cnfn convert_uchar3_rtp(uint3);
1968 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(uint3);
1969 uchar3 __ovld __cnfn convert_uchar3_rtn(uint3);
1970 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(uint3);
1971 uchar3 __ovld __cnfn convert_uchar3(uint3);
1972 uchar3 __ovld __cnfn convert_uchar3_sat(uint3);
1973 uchar3 __ovld __cnfn convert_uchar3_rte(long3);
1974 uchar3 __ovld __cnfn convert_uchar3_sat_rte(long3);
1975 uchar3 __ovld __cnfn convert_uchar3_rtz(long3);
1976 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(long3);
1977 uchar3 __ovld __cnfn convert_uchar3_rtp(long3);
1978 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(long3);
1979 uchar3 __ovld __cnfn convert_uchar3_rtn(long3);
1980 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(long3);
1981 uchar3 __ovld __cnfn convert_uchar3(long3);
1982 uchar3 __ovld __cnfn convert_uchar3_sat(long3);
1983 uchar3 __ovld __cnfn convert_uchar3_rte(ulong3);
1984 uchar3 __ovld __cnfn convert_uchar3_sat_rte(ulong3);
1985 uchar3 __ovld __cnfn convert_uchar3_rtz(ulong3);
1986 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(ulong3);
1987 uchar3 __ovld __cnfn convert_uchar3_rtp(ulong3);
1988 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(ulong3);
1989 uchar3 __ovld __cnfn convert_uchar3_rtn(ulong3);
1990 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(ulong3);
1991 uchar3 __ovld __cnfn convert_uchar3(ulong3);
1992 uchar3 __ovld __cnfn convert_uchar3_sat(ulong3);
1993 uchar3 __ovld __cnfn convert_uchar3_rte(float3);
1994 uchar3 __ovld __cnfn convert_uchar3_sat_rte(float3);
1995 uchar3 __ovld __cnfn convert_uchar3_rtz(float3);
1996 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(float3);
1997 uchar3 __ovld __cnfn convert_uchar3_rtp(float3);
1998 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(float3);
1999 uchar3 __ovld __cnfn convert_uchar3_rtn(float3);
2000 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(float3);
2001 uchar3 __ovld __cnfn convert_uchar3(float3);
2002 uchar3 __ovld __cnfn convert_uchar3_sat(float3);
2003 short3 __ovld __cnfn convert_short3_rte(char3);
2004 short3 __ovld __cnfn convert_short3_sat_rte(char3);
2005 short3 __ovld __cnfn convert_short3_rtz(char3);
2006 short3 __ovld __cnfn convert_short3_sat_rtz(char3);
2007 short3 __ovld __cnfn convert_short3_rtp(char3);
2008 short3 __ovld __cnfn convert_short3_sat_rtp(char3);
2009 short3 __ovld __cnfn convert_short3_rtn(char3);
2010 short3 __ovld __cnfn convert_short3_sat_rtn(char3);
2011 short3 __ovld __cnfn convert_short3(char3);
2012 short3 __ovld __cnfn convert_short3_sat(char3);
2013 short3 __ovld __cnfn convert_short3_rte(uchar3);
2014 short3 __ovld __cnfn convert_short3_sat_rte(uchar3);
2015 short3 __ovld __cnfn convert_short3_rtz(uchar3);
2016 short3 __ovld __cnfn convert_short3_sat_rtz(uchar3);
2017 short3 __ovld __cnfn convert_short3_rtp(uchar3);
2018 short3 __ovld __cnfn convert_short3_sat_rtp(uchar3);
2019 short3 __ovld __cnfn convert_short3_rtn(uchar3);
2020 short3 __ovld __cnfn convert_short3_sat_rtn(uchar3);
2021 short3 __ovld __cnfn convert_short3(uchar3);
2022 short3 __ovld __cnfn convert_short3_sat(uchar3);
2023 short3 __ovld __cnfn convert_short3_rte(short3);
2024 short3 __ovld __cnfn convert_short3_sat_rte(short3);
2025 short3 __ovld __cnfn convert_short3_rtz(short3);
2026 short3 __ovld __cnfn convert_short3_sat_rtz(short3);
2027 short3 __ovld __cnfn convert_short3_rtp(short3);
2028 short3 __ovld __cnfn convert_short3_sat_rtp(short3);
2029 short3 __ovld __cnfn convert_short3_rtn(short3);
2030 short3 __ovld __cnfn convert_short3_sat_rtn(short3);
2031 short3 __ovld __cnfn convert_short3(short3);
2032 short3 __ovld __cnfn convert_short3_sat(short3);
2033 short3 __ovld __cnfn convert_short3_rte(ushort3);
2034 short3 __ovld __cnfn convert_short3_sat_rte(ushort3);
2035 short3 __ovld __cnfn convert_short3_rtz(ushort3);
2036 short3 __ovld __cnfn convert_short3_sat_rtz(ushort3);
2037 short3 __ovld __cnfn convert_short3_rtp(ushort3);
2038 short3 __ovld __cnfn convert_short3_sat_rtp(ushort3);
2039 short3 __ovld __cnfn convert_short3_rtn(ushort3);
2040 short3 __ovld __cnfn convert_short3_sat_rtn(ushort3);
2041 short3 __ovld __cnfn convert_short3(ushort3);
2042 short3 __ovld __cnfn convert_short3_sat(ushort3);
2043 short3 __ovld __cnfn convert_short3_rte(int3);
2044 short3 __ovld __cnfn convert_short3_sat_rte(int3);
2045 short3 __ovld __cnfn convert_short3_rtz(int3);
2046 short3 __ovld __cnfn convert_short3_sat_rtz(int3);
2047 short3 __ovld __cnfn convert_short3_rtp(int3);
2048 short3 __ovld __cnfn convert_short3_sat_rtp(int3);
2049 short3 __ovld __cnfn convert_short3_rtn(int3);
2050 short3 __ovld __cnfn convert_short3_sat_rtn(int3);
2051 short3 __ovld __cnfn convert_short3(int3);
2052 short3 __ovld __cnfn convert_short3_sat(int3);
2053 short3 __ovld __cnfn convert_short3_rte(uint3);
2054 short3 __ovld __cnfn convert_short3_sat_rte(uint3);
2055 short3 __ovld __cnfn convert_short3_rtz(uint3);
2056 short3 __ovld __cnfn convert_short3_sat_rtz(uint3);
2057 short3 __ovld __cnfn convert_short3_rtp(uint3);
2058 short3 __ovld __cnfn convert_short3_sat_rtp(uint3);
2059 short3 __ovld __cnfn convert_short3_rtn(uint3);
2060 short3 __ovld __cnfn convert_short3_sat_rtn(uint3);
2061 short3 __ovld __cnfn convert_short3(uint3);
2062 short3 __ovld __cnfn convert_short3_sat(uint3);
2063 short3 __ovld __cnfn convert_short3_rte(long3);
2064 short3 __ovld __cnfn convert_short3_sat_rte(long3);
2065 short3 __ovld __cnfn convert_short3_rtz(long3);
2066 short3 __ovld __cnfn convert_short3_sat_rtz(long3);
2067 short3 __ovld __cnfn convert_short3_rtp(long3);
2068 short3 __ovld __cnfn convert_short3_sat_rtp(long3);
2069 short3 __ovld __cnfn convert_short3_rtn(long3);
2070 short3 __ovld __cnfn convert_short3_sat_rtn(long3);
2071 short3 __ovld __cnfn convert_short3(long3);
2072 short3 __ovld __cnfn convert_short3_sat(long3);
2073 short3 __ovld __cnfn convert_short3_rte(ulong3);
2074 short3 __ovld __cnfn convert_short3_sat_rte(ulong3);
2075 short3 __ovld __cnfn convert_short3_rtz(ulong3);
2076 short3 __ovld __cnfn convert_short3_sat_rtz(ulong3);
2077 short3 __ovld __cnfn convert_short3_rtp(ulong3);
2078 short3 __ovld __cnfn convert_short3_sat_rtp(ulong3);
2079 short3 __ovld __cnfn convert_short3_rtn(ulong3);
2080 short3 __ovld __cnfn convert_short3_sat_rtn(ulong3);
2081 short3 __ovld __cnfn convert_short3(ulong3);
2082 short3 __ovld __cnfn convert_short3_sat(ulong3);
2083 short3 __ovld __cnfn convert_short3_rte(float3);
2084 short3 __ovld __cnfn convert_short3_sat_rte(float3);
2085 short3 __ovld __cnfn convert_short3_rtz(float3);
2086 short3 __ovld __cnfn convert_short3_sat_rtz(float3);
2087 short3 __ovld __cnfn convert_short3_rtp(float3);
2088 short3 __ovld __cnfn convert_short3_sat_rtp(float3);
2089 short3 __ovld __cnfn convert_short3_rtn(float3);
2090 short3 __ovld __cnfn convert_short3_sat_rtn(float3);
2091 short3 __ovld __cnfn convert_short3(float3);
2092 short3 __ovld __cnfn convert_short3_sat(float3);
2093 ushort3 __ovld __cnfn convert_ushort3_rte(char3);
2094 ushort3 __ovld __cnfn convert_ushort3_sat_rte(char3);
2095 ushort3 __ovld __cnfn convert_ushort3_rtz(char3);
2096 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(char3);
2097 ushort3 __ovld __cnfn convert_ushort3_rtp(char3);
2098 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(char3);
2099 ushort3 __ovld __cnfn convert_ushort3_rtn(char3);
2100 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(char3);
2101 ushort3 __ovld __cnfn convert_ushort3(char3);
2102 ushort3 __ovld __cnfn convert_ushort3_sat(char3);
2103 ushort3 __ovld __cnfn convert_ushort3_rte(uchar3);
2104 ushort3 __ovld __cnfn convert_ushort3_sat_rte(uchar3);
2105 ushort3 __ovld __cnfn convert_ushort3_rtz(uchar3);
2106 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(uchar3);
2107 ushort3 __ovld __cnfn convert_ushort3_rtp(uchar3);
2108 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(uchar3);
2109 ushort3 __ovld __cnfn convert_ushort3_rtn(uchar3);
2110 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(uchar3);
2111 ushort3 __ovld __cnfn convert_ushort3(uchar3);
2112 ushort3 __ovld __cnfn convert_ushort3_sat(uchar3);
2113 ushort3 __ovld __cnfn convert_ushort3_rte(short3);
2114 ushort3 __ovld __cnfn convert_ushort3_sat_rte(short3);
2115 ushort3 __ovld __cnfn convert_ushort3_rtz(short3);
2116 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(short3);
2117 ushort3 __ovld __cnfn convert_ushort3_rtp(short3);
2118 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(short3);
2119 ushort3 __ovld __cnfn convert_ushort3_rtn(short3);
2120 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(short3);
2121 ushort3 __ovld __cnfn convert_ushort3(short3);
2122 ushort3 __ovld __cnfn convert_ushort3_sat(short3);
2123 ushort3 __ovld __cnfn convert_ushort3_rte(ushort3);
2124 ushort3 __ovld __cnfn convert_ushort3_sat_rte(ushort3);
2125 ushort3 __ovld __cnfn convert_ushort3_rtz(ushort3);
2126 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(ushort3);
2127 ushort3 __ovld __cnfn convert_ushort3_rtp(ushort3);
2128 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(ushort3);
2129 ushort3 __ovld __cnfn convert_ushort3_rtn(ushort3);
2130 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(ushort3);
2131 ushort3 __ovld __cnfn convert_ushort3(ushort3);
2132 ushort3 __ovld __cnfn convert_ushort3_sat(ushort3);
2133 ushort3 __ovld __cnfn convert_ushort3_rte(int3);
2134 ushort3 __ovld __cnfn convert_ushort3_sat_rte(int3);
2135 ushort3 __ovld __cnfn convert_ushort3_rtz(int3);
2136 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(int3);
2137 ushort3 __ovld __cnfn convert_ushort3_rtp(int3);
2138 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(int3);
2139 ushort3 __ovld __cnfn convert_ushort3_rtn(int3);
2140 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(int3);
2141 ushort3 __ovld __cnfn convert_ushort3(int3);
2142 ushort3 __ovld __cnfn convert_ushort3_sat(int3);
2143 ushort3 __ovld __cnfn convert_ushort3_rte(uint3);
2144 ushort3 __ovld __cnfn convert_ushort3_sat_rte(uint3);
2145 ushort3 __ovld __cnfn convert_ushort3_rtz(uint3);
2146 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(uint3);
2147 ushort3 __ovld __cnfn convert_ushort3_rtp(uint3);
2148 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(uint3);
2149 ushort3 __ovld __cnfn convert_ushort3_rtn(uint3);
2150 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(uint3);
2151 ushort3 __ovld __cnfn convert_ushort3(uint3);
2152 ushort3 __ovld __cnfn convert_ushort3_sat(uint3);
2153 ushort3 __ovld __cnfn convert_ushort3_rte(long3);
2154 ushort3 __ovld __cnfn convert_ushort3_sat_rte(long3);
2155 ushort3 __ovld __cnfn convert_ushort3_rtz(long3);
2156 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(long3);
2157 ushort3 __ovld __cnfn convert_ushort3_rtp(long3);
2158 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(long3);
2159 ushort3 __ovld __cnfn convert_ushort3_rtn(long3);
2160 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(long3);
2161 ushort3 __ovld __cnfn convert_ushort3(long3);
2162 ushort3 __ovld __cnfn convert_ushort3_sat(long3);
2163 ushort3 __ovld __cnfn convert_ushort3_rte(ulong3);
2164 ushort3 __ovld __cnfn convert_ushort3_sat_rte(ulong3);
2165 ushort3 __ovld __cnfn convert_ushort3_rtz(ulong3);
2166 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(ulong3);
2167 ushort3 __ovld __cnfn convert_ushort3_rtp(ulong3);
2168 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(ulong3);
2169 ushort3 __ovld __cnfn convert_ushort3_rtn(ulong3);
2170 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(ulong3);
2171 ushort3 __ovld __cnfn convert_ushort3(ulong3);
2172 ushort3 __ovld __cnfn convert_ushort3_sat(ulong3);
2173 ushort3 __ovld __cnfn convert_ushort3_rte(float3);
2174 ushort3 __ovld __cnfn convert_ushort3_sat_rte(float3);
2175 ushort3 __ovld __cnfn convert_ushort3_rtz(float3);
2176 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(float3);
2177 ushort3 __ovld __cnfn convert_ushort3_rtp(float3);
2178 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(float3);
2179 ushort3 __ovld __cnfn convert_ushort3_rtn(float3);
2180 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(float3);
2181 ushort3 __ovld __cnfn convert_ushort3(float3);
2182 ushort3 __ovld __cnfn convert_ushort3_sat(float3);
2183 int3 __ovld __cnfn convert_int3_rte(char3);
2184 int3 __ovld __cnfn convert_int3_sat_rte(char3);
2185 int3 __ovld __cnfn convert_int3_rtz(char3);
2186 int3 __ovld __cnfn convert_int3_sat_rtz(char3);
2187 int3 __ovld __cnfn convert_int3_rtp(char3);
2188 int3 __ovld __cnfn convert_int3_sat_rtp(char3);
2189 int3 __ovld __cnfn convert_int3_rtn(char3);
2190 int3 __ovld __cnfn convert_int3_sat_rtn(char3);
2191 int3 __ovld __cnfn convert_int3(char3);
2192 int3 __ovld __cnfn convert_int3_sat(char3);
2193 int3 __ovld __cnfn convert_int3_rte(uchar3);
2194 int3 __ovld __cnfn convert_int3_sat_rte(uchar3);
2195 int3 __ovld __cnfn convert_int3_rtz(uchar3);
2196 int3 __ovld __cnfn convert_int3_sat_rtz(uchar3);
2197 int3 __ovld __cnfn convert_int3_rtp(uchar3);
2198 int3 __ovld __cnfn convert_int3_sat_rtp(uchar3);
2199 int3 __ovld __cnfn convert_int3_rtn(uchar3);
2200 int3 __ovld __cnfn convert_int3_sat_rtn(uchar3);
2201 int3 __ovld __cnfn convert_int3(uchar3);
2202 int3 __ovld __cnfn convert_int3_sat(uchar3);
2203 int3 __ovld __cnfn convert_int3_rte(short3);
2204 int3 __ovld __cnfn convert_int3_sat_rte(short3);
2205 int3 __ovld __cnfn convert_int3_rtz(short3);
2206 int3 __ovld __cnfn convert_int3_sat_rtz(short3);
2207 int3 __ovld __cnfn convert_int3_rtp(short3);
2208 int3 __ovld __cnfn convert_int3_sat_rtp(short3);
2209 int3 __ovld __cnfn convert_int3_rtn(short3);
2210 int3 __ovld __cnfn convert_int3_sat_rtn(short3);
2211 int3 __ovld __cnfn convert_int3(short3);
2212 int3 __ovld __cnfn convert_int3_sat(short3);
2213 int3 __ovld __cnfn convert_int3_rte(ushort3);
2214 int3 __ovld __cnfn convert_int3_sat_rte(ushort3);
2215 int3 __ovld __cnfn convert_int3_rtz(ushort3);
2216 int3 __ovld __cnfn convert_int3_sat_rtz(ushort3);
2217 int3 __ovld __cnfn convert_int3_rtp(ushort3);
2218 int3 __ovld __cnfn convert_int3_sat_rtp(ushort3);
2219 int3 __ovld __cnfn convert_int3_rtn(ushort3);
2220 int3 __ovld __cnfn convert_int3_sat_rtn(ushort3);
2221 int3 __ovld __cnfn convert_int3(ushort3);
2222 int3 __ovld __cnfn convert_int3_sat(ushort3);
2223 int3 __ovld __cnfn convert_int3_rte(int3);
2224 int3 __ovld __cnfn convert_int3_sat_rte(int3);
2225 int3 __ovld __cnfn convert_int3_rtz(int3);
2226 int3 __ovld __cnfn convert_int3_sat_rtz(int3);
2227 int3 __ovld __cnfn convert_int3_rtp(int3);
2228 int3 __ovld __cnfn convert_int3_sat_rtp(int3);
2229 int3 __ovld __cnfn convert_int3_rtn(int3);
2230 int3 __ovld __cnfn convert_int3_sat_rtn(int3);
2231 int3 __ovld __cnfn convert_int3(int3);
2232 int3 __ovld __cnfn convert_int3_sat(int3);
2233 int3 __ovld __cnfn convert_int3_rte(uint3);
2234 int3 __ovld __cnfn convert_int3_sat_rte(uint3);
2235 int3 __ovld __cnfn convert_int3_rtz(uint3);
2236 int3 __ovld __cnfn convert_int3_sat_rtz(uint3);
2237 int3 __ovld __cnfn convert_int3_rtp(uint3);
2238 int3 __ovld __cnfn convert_int3_sat_rtp(uint3);
2239 int3 __ovld __cnfn convert_int3_rtn(uint3);
2240 int3 __ovld __cnfn convert_int3_sat_rtn(uint3);
2241 int3 __ovld __cnfn convert_int3(uint3);
2242 int3 __ovld __cnfn convert_int3_sat(uint3);
2243 int3 __ovld __cnfn convert_int3_rte(long3);
2244 int3 __ovld __cnfn convert_int3_sat_rte(long3);
2245 int3 __ovld __cnfn convert_int3_rtz(long3);
2246 int3 __ovld __cnfn convert_int3_sat_rtz(long3);
2247 int3 __ovld __cnfn convert_int3_rtp(long3);
2248 int3 __ovld __cnfn convert_int3_sat_rtp(long3);
2249 int3 __ovld __cnfn convert_int3_rtn(long3);
2250 int3 __ovld __cnfn convert_int3_sat_rtn(long3);
2251 int3 __ovld __cnfn convert_int3(long3);
2252 int3 __ovld __cnfn convert_int3_sat(long3);
2253 int3 __ovld __cnfn convert_int3_rte(ulong3);
2254 int3 __ovld __cnfn convert_int3_sat_rte(ulong3);
2255 int3 __ovld __cnfn convert_int3_rtz(ulong3);
2256 int3 __ovld __cnfn convert_int3_sat_rtz(ulong3);
2257 int3 __ovld __cnfn convert_int3_rtp(ulong3);
2258 int3 __ovld __cnfn convert_int3_sat_rtp(ulong3);
2259 int3 __ovld __cnfn convert_int3_rtn(ulong3);
2260 int3 __ovld __cnfn convert_int3_sat_rtn(ulong3);
2261 int3 __ovld __cnfn convert_int3(ulong3);
2262 int3 __ovld __cnfn convert_int3_sat(ulong3);
2263 int3 __ovld __cnfn convert_int3_rte(float3);
2264 int3 __ovld __cnfn convert_int3_sat_rte(float3);
2265 int3 __ovld __cnfn convert_int3_rtz(float3);
2266 int3 __ovld __cnfn convert_int3_sat_rtz(float3);
2267 int3 __ovld __cnfn convert_int3_rtp(float3);
2268 int3 __ovld __cnfn convert_int3_sat_rtp(float3);
2269 int3 __ovld __cnfn convert_int3_rtn(float3);
2270 int3 __ovld __cnfn convert_int3_sat_rtn(float3);
2271 int3 __ovld __cnfn convert_int3(float3);
2272 int3 __ovld __cnfn convert_int3_sat(float3);
2273 uint3 __ovld __cnfn convert_uint3_rte(char3);
2274 uint3 __ovld __cnfn convert_uint3_sat_rte(char3);
2275 uint3 __ovld __cnfn convert_uint3_rtz(char3);
2276 uint3 __ovld __cnfn convert_uint3_sat_rtz(char3);
2277 uint3 __ovld __cnfn convert_uint3_rtp(char3);
2278 uint3 __ovld __cnfn convert_uint3_sat_rtp(char3);
2279 uint3 __ovld __cnfn convert_uint3_rtn(char3);
2280 uint3 __ovld __cnfn convert_uint3_sat_rtn(char3);
2281 uint3 __ovld __cnfn convert_uint3(char3);
2282 uint3 __ovld __cnfn convert_uint3_sat(char3);
2283 uint3 __ovld __cnfn convert_uint3_rte(uchar3);
2284 uint3 __ovld __cnfn convert_uint3_sat_rte(uchar3);
2285 uint3 __ovld __cnfn convert_uint3_rtz(uchar3);
2286 uint3 __ovld __cnfn convert_uint3_sat_rtz(uchar3);
2287 uint3 __ovld __cnfn convert_uint3_rtp(uchar3);
2288 uint3 __ovld __cnfn convert_uint3_sat_rtp(uchar3);
2289 uint3 __ovld __cnfn convert_uint3_rtn(uchar3);
2290 uint3 __ovld __cnfn convert_uint3_sat_rtn(uchar3);
2291 uint3 __ovld __cnfn convert_uint3(uchar3);
2292 uint3 __ovld __cnfn convert_uint3_sat(uchar3);
2293 uint3 __ovld __cnfn convert_uint3_rte(short3);
2294 uint3 __ovld __cnfn convert_uint3_sat_rte(short3);
2295 uint3 __ovld __cnfn convert_uint3_rtz(short3);
2296 uint3 __ovld __cnfn convert_uint3_sat_rtz(short3);
2297 uint3 __ovld __cnfn convert_uint3_rtp(short3);
2298 uint3 __ovld __cnfn convert_uint3_sat_rtp(short3);
2299 uint3 __ovld __cnfn convert_uint3_rtn(short3);
2300 uint3 __ovld __cnfn convert_uint3_sat_rtn(short3);
2301 uint3 __ovld __cnfn convert_uint3(short3);
2302 uint3 __ovld __cnfn convert_uint3_sat(short3);
2303 uint3 __ovld __cnfn convert_uint3_rte(ushort3);
2304 uint3 __ovld __cnfn convert_uint3_sat_rte(ushort3);
2305 uint3 __ovld __cnfn convert_uint3_rtz(ushort3);
2306 uint3 __ovld __cnfn convert_uint3_sat_rtz(ushort3);
2307 uint3 __ovld __cnfn convert_uint3_rtp(ushort3);
2308 uint3 __ovld __cnfn convert_uint3_sat_rtp(ushort3);
2309 uint3 __ovld __cnfn convert_uint3_rtn(ushort3);
2310 uint3 __ovld __cnfn convert_uint3_sat_rtn(ushort3);
2311 uint3 __ovld __cnfn convert_uint3(ushort3);
2312 uint3 __ovld __cnfn convert_uint3_sat(ushort3);
2313 uint3 __ovld __cnfn convert_uint3_rte(int3);
2314 uint3 __ovld __cnfn convert_uint3_sat_rte(int3);
2315 uint3 __ovld __cnfn convert_uint3_rtz(int3);
2316 uint3 __ovld __cnfn convert_uint3_sat_rtz(int3);
2317 uint3 __ovld __cnfn convert_uint3_rtp(int3);
2318 uint3 __ovld __cnfn convert_uint3_sat_rtp(int3);
2319 uint3 __ovld __cnfn convert_uint3_rtn(int3);
2320 uint3 __ovld __cnfn convert_uint3_sat_rtn(int3);
2321 uint3 __ovld __cnfn convert_uint3(int3);
2322 uint3 __ovld __cnfn convert_uint3_sat(int3);
2323 uint3 __ovld __cnfn convert_uint3_rte(uint3);
2324 uint3 __ovld __cnfn convert_uint3_sat_rte(uint3);
2325 uint3 __ovld __cnfn convert_uint3_rtz(uint3);
2326 uint3 __ovld __cnfn convert_uint3_sat_rtz(uint3);
2327 uint3 __ovld __cnfn convert_uint3_rtp(uint3);
2328 uint3 __ovld __cnfn convert_uint3_sat_rtp(uint3);
2329 uint3 __ovld __cnfn convert_uint3_rtn(uint3);
2330 uint3 __ovld __cnfn convert_uint3_sat_rtn(uint3);
2331 uint3 __ovld __cnfn convert_uint3(uint3);
2332 uint3 __ovld __cnfn convert_uint3_sat(uint3);
2333 uint3 __ovld __cnfn convert_uint3_rte(long3);
2334 uint3 __ovld __cnfn convert_uint3_sat_rte(long3);
2335 uint3 __ovld __cnfn convert_uint3_rtz(long3);
2336 uint3 __ovld __cnfn convert_uint3_sat_rtz(long3);
2337 uint3 __ovld __cnfn convert_uint3_rtp(long3);
2338 uint3 __ovld __cnfn convert_uint3_sat_rtp(long3);
2339 uint3 __ovld __cnfn convert_uint3_rtn(long3);
2340 uint3 __ovld __cnfn convert_uint3_sat_rtn(long3);
2341 uint3 __ovld __cnfn convert_uint3(long3);
2342 uint3 __ovld __cnfn convert_uint3_sat(long3);
2343 uint3 __ovld __cnfn convert_uint3_rte(ulong3);
2344 uint3 __ovld __cnfn convert_uint3_sat_rte(ulong3);
2345 uint3 __ovld __cnfn convert_uint3_rtz(ulong3);
2346 uint3 __ovld __cnfn convert_uint3_sat_rtz(ulong3);
2347 uint3 __ovld __cnfn convert_uint3_rtp(ulong3);
2348 uint3 __ovld __cnfn convert_uint3_sat_rtp(ulong3);
2349 uint3 __ovld __cnfn convert_uint3_rtn(ulong3);
2350 uint3 __ovld __cnfn convert_uint3_sat_rtn(ulong3);
2351 uint3 __ovld __cnfn convert_uint3(ulong3);
2352 uint3 __ovld __cnfn convert_uint3_sat(ulong3);
2353 uint3 __ovld __cnfn convert_uint3_rte(float3);
2354 uint3 __ovld __cnfn convert_uint3_sat_rte(float3);
2355 uint3 __ovld __cnfn convert_uint3_rtz(float3);
2356 uint3 __ovld __cnfn convert_uint3_sat_rtz(float3);
2357 uint3 __ovld __cnfn convert_uint3_rtp(float3);
2358 uint3 __ovld __cnfn convert_uint3_sat_rtp(float3);
2359 uint3 __ovld __cnfn convert_uint3_rtn(float3);
2360 uint3 __ovld __cnfn convert_uint3_sat_rtn(float3);
2361 uint3 __ovld __cnfn convert_uint3(float3);
2362 uint3 __ovld __cnfn convert_uint3_sat(float3);
2363 long3 __ovld __cnfn convert_long3_rte(char3);
2364 long3 __ovld __cnfn convert_long3_sat_rte(char3);
2365 long3 __ovld __cnfn convert_long3_rtz(char3);
2366 long3 __ovld __cnfn convert_long3_sat_rtz(char3);
2367 long3 __ovld __cnfn convert_long3_rtp(char3);
2368 long3 __ovld __cnfn convert_long3_sat_rtp(char3);
2369 long3 __ovld __cnfn convert_long3_rtn(char3);
2370 long3 __ovld __cnfn convert_long3_sat_rtn(char3);
2371 long3 __ovld __cnfn convert_long3(char3);
2372 long3 __ovld __cnfn convert_long3_sat(char3);
2373 long3 __ovld __cnfn convert_long3_rte(uchar3);
2374 long3 __ovld __cnfn convert_long3_sat_rte(uchar3);
2375 long3 __ovld __cnfn convert_long3_rtz(uchar3);
2376 long3 __ovld __cnfn convert_long3_sat_rtz(uchar3);
2377 long3 __ovld __cnfn convert_long3_rtp(uchar3);
2378 long3 __ovld __cnfn convert_long3_sat_rtp(uchar3);
2379 long3 __ovld __cnfn convert_long3_rtn(uchar3);
2380 long3 __ovld __cnfn convert_long3_sat_rtn(uchar3);
2381 long3 __ovld __cnfn convert_long3(uchar3);
2382 long3 __ovld __cnfn convert_long3_sat(uchar3);
2383 long3 __ovld __cnfn convert_long3_rte(short3);
2384 long3 __ovld __cnfn convert_long3_sat_rte(short3);
2385 long3 __ovld __cnfn convert_long3_rtz(short3);
2386 long3 __ovld __cnfn convert_long3_sat_rtz(short3);
2387 long3 __ovld __cnfn convert_long3_rtp(short3);
2388 long3 __ovld __cnfn convert_long3_sat_rtp(short3);
2389 long3 __ovld __cnfn convert_long3_rtn(short3);
2390 long3 __ovld __cnfn convert_long3_sat_rtn(short3);
2391 long3 __ovld __cnfn convert_long3(short3);
2392 long3 __ovld __cnfn convert_long3_sat(short3);
2393 long3 __ovld __cnfn convert_long3_rte(ushort3);
2394 long3 __ovld __cnfn convert_long3_sat_rte(ushort3);
2395 long3 __ovld __cnfn convert_long3_rtz(ushort3);
2396 long3 __ovld __cnfn convert_long3_sat_rtz(ushort3);
2397 long3 __ovld __cnfn convert_long3_rtp(ushort3);
2398 long3 __ovld __cnfn convert_long3_sat_rtp(ushort3);
2399 long3 __ovld __cnfn convert_long3_rtn(ushort3);
2400 long3 __ovld __cnfn convert_long3_sat_rtn(ushort3);
2401 long3 __ovld __cnfn convert_long3(ushort3);
2402 long3 __ovld __cnfn convert_long3_sat(ushort3);
2403 long3 __ovld __cnfn convert_long3_rte(int3);
2404 long3 __ovld __cnfn convert_long3_sat_rte(int3);
2405 long3 __ovld __cnfn convert_long3_rtz(int3);
2406 long3 __ovld __cnfn convert_long3_sat_rtz(int3);
2407 long3 __ovld __cnfn convert_long3_rtp(int3);
2408 long3 __ovld __cnfn convert_long3_sat_rtp(int3);
2409 long3 __ovld __cnfn convert_long3_rtn(int3);
2410 long3 __ovld __cnfn convert_long3_sat_rtn(int3);
2411 long3 __ovld __cnfn convert_long3(int3);
2412 long3 __ovld __cnfn convert_long3_sat(int3);
2413 long3 __ovld __cnfn convert_long3_rte(uint3);
2414 long3 __ovld __cnfn convert_long3_sat_rte(uint3);
2415 long3 __ovld __cnfn convert_long3_rtz(uint3);
2416 long3 __ovld __cnfn convert_long3_sat_rtz(uint3);
2417 long3 __ovld __cnfn convert_long3_rtp(uint3);
2418 long3 __ovld __cnfn convert_long3_sat_rtp(uint3);
2419 long3 __ovld __cnfn convert_long3_rtn(uint3);
2420 long3 __ovld __cnfn convert_long3_sat_rtn(uint3);
2421 long3 __ovld __cnfn convert_long3(uint3);
2422 long3 __ovld __cnfn convert_long3_sat(uint3);
2423 long3 __ovld __cnfn convert_long3_rte(long3);
2424 long3 __ovld __cnfn convert_long3_sat_rte(long3);
2425 long3 __ovld __cnfn convert_long3_rtz(long3);
2426 long3 __ovld __cnfn convert_long3_sat_rtz(long3);
2427 long3 __ovld __cnfn convert_long3_rtp(long3);
2428 long3 __ovld __cnfn convert_long3_sat_rtp(long3);
2429 long3 __ovld __cnfn convert_long3_rtn(long3);
2430 long3 __ovld __cnfn convert_long3_sat_rtn(long3);
2431 long3 __ovld __cnfn convert_long3(long3);
2432 long3 __ovld __cnfn convert_long3_sat(long3);
2433 long3 __ovld __cnfn convert_long3_rte(ulong3);
2434 long3 __ovld __cnfn convert_long3_sat_rte(ulong3);
2435 long3 __ovld __cnfn convert_long3_rtz(ulong3);
2436 long3 __ovld __cnfn convert_long3_sat_rtz(ulong3);
2437 long3 __ovld __cnfn convert_long3_rtp(ulong3);
2438 long3 __ovld __cnfn convert_long3_sat_rtp(ulong3);
2439 long3 __ovld __cnfn convert_long3_rtn(ulong3);
2440 long3 __ovld __cnfn convert_long3_sat_rtn(ulong3);
2441 long3 __ovld __cnfn convert_long3(ulong3);
2442 long3 __ovld __cnfn convert_long3_sat(ulong3);
2443 long3 __ovld __cnfn convert_long3_rte(float3);
2444 long3 __ovld __cnfn convert_long3_sat_rte(float3);
2445 long3 __ovld __cnfn convert_long3_rtz(float3);
2446 long3 __ovld __cnfn convert_long3_sat_rtz(float3);
2447 long3 __ovld __cnfn convert_long3_rtp(float3);
2448 long3 __ovld __cnfn convert_long3_sat_rtp(float3);
2449 long3 __ovld __cnfn convert_long3_rtn(float3);
2450 long3 __ovld __cnfn convert_long3_sat_rtn(float3);
2451 long3 __ovld __cnfn convert_long3(float3);
2452 long3 __ovld __cnfn convert_long3_sat(float3);
2453 ulong3 __ovld __cnfn convert_ulong3_rte(char3);
2454 ulong3 __ovld __cnfn convert_ulong3_sat_rte(char3);
2455 ulong3 __ovld __cnfn convert_ulong3_rtz(char3);
2456 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(char3);
2457 ulong3 __ovld __cnfn convert_ulong3_rtp(char3);
2458 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(char3);
2459 ulong3 __ovld __cnfn convert_ulong3_rtn(char3);
2460 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(char3);
2461 ulong3 __ovld __cnfn convert_ulong3(char3);
2462 ulong3 __ovld __cnfn convert_ulong3_sat(char3);
2463 ulong3 __ovld __cnfn convert_ulong3_rte(uchar3);
2464 ulong3 __ovld __cnfn convert_ulong3_sat_rte(uchar3);
2465 ulong3 __ovld __cnfn convert_ulong3_rtz(uchar3);
2466 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(uchar3);
2467 ulong3 __ovld __cnfn convert_ulong3_rtp(uchar3);
2468 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(uchar3);
2469 ulong3 __ovld __cnfn convert_ulong3_rtn(uchar3);
2470 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(uchar3);
2471 ulong3 __ovld __cnfn convert_ulong3(uchar3);
2472 ulong3 __ovld __cnfn convert_ulong3_sat(uchar3);
2473 ulong3 __ovld __cnfn convert_ulong3_rte(short3);
2474 ulong3 __ovld __cnfn convert_ulong3_sat_rte(short3);
2475 ulong3 __ovld __cnfn convert_ulong3_rtz(short3);
2476 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(short3);
2477 ulong3 __ovld __cnfn convert_ulong3_rtp(short3);
2478 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(short3);
2479 ulong3 __ovld __cnfn convert_ulong3_rtn(short3);
2480 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(short3);
2481 ulong3 __ovld __cnfn convert_ulong3(short3);
2482 ulong3 __ovld __cnfn convert_ulong3_sat(short3);
2483 ulong3 __ovld __cnfn convert_ulong3_rte(ushort3);
2484 ulong3 __ovld __cnfn convert_ulong3_sat_rte(ushort3);
2485 ulong3 __ovld __cnfn convert_ulong3_rtz(ushort3);
2486 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(ushort3);
2487 ulong3 __ovld __cnfn convert_ulong3_rtp(ushort3);
2488 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(ushort3);
2489 ulong3 __ovld __cnfn convert_ulong3_rtn(ushort3);
2490 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(ushort3);
2491 ulong3 __ovld __cnfn convert_ulong3(ushort3);
2492 ulong3 __ovld __cnfn convert_ulong3_sat(ushort3);
2493 ulong3 __ovld __cnfn convert_ulong3_rte(int3);
2494 ulong3 __ovld __cnfn convert_ulong3_sat_rte(int3);
2495 ulong3 __ovld __cnfn convert_ulong3_rtz(int3);
2496 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(int3);
2497 ulong3 __ovld __cnfn convert_ulong3_rtp(int3);
2498 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(int3);
2499 ulong3 __ovld __cnfn convert_ulong3_rtn(int3);
2500 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(int3);
2501 ulong3 __ovld __cnfn convert_ulong3(int3);
2502 ulong3 __ovld __cnfn convert_ulong3_sat(int3);
2503 ulong3 __ovld __cnfn convert_ulong3_rte(uint3);
2504 ulong3 __ovld __cnfn convert_ulong3_sat_rte(uint3);
2505 ulong3 __ovld __cnfn convert_ulong3_rtz(uint3);
2506 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(uint3);
2507 ulong3 __ovld __cnfn convert_ulong3_rtp(uint3);
2508 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(uint3);
2509 ulong3 __ovld __cnfn convert_ulong3_rtn(uint3);
2510 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(uint3);
2511 ulong3 __ovld __cnfn convert_ulong3(uint3);
2512 ulong3 __ovld __cnfn convert_ulong3_sat(uint3);
2513 ulong3 __ovld __cnfn convert_ulong3_rte(long3);
2514 ulong3 __ovld __cnfn convert_ulong3_sat_rte(long3);
2515 ulong3 __ovld __cnfn convert_ulong3_rtz(long3);
2516 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(long3);
2517 ulong3 __ovld __cnfn convert_ulong3_rtp(long3);
2518 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(long3);
2519 ulong3 __ovld __cnfn convert_ulong3_rtn(long3);
2520 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(long3);
2521 ulong3 __ovld __cnfn convert_ulong3(long3);
2522 ulong3 __ovld __cnfn convert_ulong3_sat(long3);
2523 ulong3 __ovld __cnfn convert_ulong3_rte(ulong3);
2524 ulong3 __ovld __cnfn convert_ulong3_sat_rte(ulong3);
2525 ulong3 __ovld __cnfn convert_ulong3_rtz(ulong3);
2526 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(ulong3);
2527 ulong3 __ovld __cnfn convert_ulong3_rtp(ulong3);
2528 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(ulong3);
2529 ulong3 __ovld __cnfn convert_ulong3_rtn(ulong3);
2530 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(ulong3);
2531 ulong3 __ovld __cnfn convert_ulong3(ulong3);
2532 ulong3 __ovld __cnfn convert_ulong3_sat(ulong3);
2533 ulong3 __ovld __cnfn convert_ulong3_rte(float3);
2534 ulong3 __ovld __cnfn convert_ulong3_sat_rte(float3);
2535 ulong3 __ovld __cnfn convert_ulong3_rtz(float3);
2536 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(float3);
2537 ulong3 __ovld __cnfn convert_ulong3_rtp(float3);
2538 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(float3);
2539 ulong3 __ovld __cnfn convert_ulong3_rtn(float3);
2540 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(float3);
2541 ulong3 __ovld __cnfn convert_ulong3(float3);
2542 ulong3 __ovld __cnfn convert_ulong3_sat(float3);
2543 float3 __ovld __cnfn convert_float3_rte(char3);
2544 float3 __ovld __cnfn convert_float3_rtz(char3);
2545 float3 __ovld __cnfn convert_float3_rtp(char3);
2546 float3 __ovld __cnfn convert_float3_rtn(char3);
2547 float3 __ovld __cnfn convert_float3(char3);
2548 float3 __ovld __cnfn convert_float3_rte(uchar3);
2549 float3 __ovld __cnfn convert_float3_rtz(uchar3);
2550 float3 __ovld __cnfn convert_float3_rtp(uchar3);
2551 float3 __ovld __cnfn convert_float3_rtn(uchar3);
2552 float3 __ovld __cnfn convert_float3(uchar3);
2553 float3 __ovld __cnfn convert_float3_rte(short3);
2554 float3 __ovld __cnfn convert_float3_rtz(short3);
2555 float3 __ovld __cnfn convert_float3_rtp(short3);
2556 float3 __ovld __cnfn convert_float3_rtn(short3);
2557 float3 __ovld __cnfn convert_float3(short3);
2558 float3 __ovld __cnfn convert_float3_rte(ushort3);
2559 float3 __ovld __cnfn convert_float3_rtz(ushort3);
2560 float3 __ovld __cnfn convert_float3_rtp(ushort3);
2561 float3 __ovld __cnfn convert_float3_rtn(ushort3);
2562 float3 __ovld __cnfn convert_float3(ushort3);
2563 float3 __ovld __cnfn convert_float3_rte(int3);
2564 float3 __ovld __cnfn convert_float3_rtz(int3);
2565 float3 __ovld __cnfn convert_float3_rtp(int3);
2566 float3 __ovld __cnfn convert_float3_rtn(int3);
2567 float3 __ovld __cnfn convert_float3(int3);
2568 float3 __ovld __cnfn convert_float3_rte(uint3);
2569 float3 __ovld __cnfn convert_float3_rtz(uint3);
2570 float3 __ovld __cnfn convert_float3_rtp(uint3);
2571 float3 __ovld __cnfn convert_float3_rtn(uint3);
2572 float3 __ovld __cnfn convert_float3(uint3);
2573 float3 __ovld __cnfn convert_float3_rte(long3);
2574 float3 __ovld __cnfn convert_float3_rtz(long3);
2575 float3 __ovld __cnfn convert_float3_rtp(long3);
2576 float3 __ovld __cnfn convert_float3_rtn(long3);
2577 float3 __ovld __cnfn convert_float3(long3);
2578 float3 __ovld __cnfn convert_float3_rte(ulong3);
2579 float3 __ovld __cnfn convert_float3_rtz(ulong3);
2580 float3 __ovld __cnfn convert_float3_rtp(ulong3);
2581 float3 __ovld __cnfn convert_float3_rtn(ulong3);
2582 float3 __ovld __cnfn convert_float3(ulong3);
2583 float3 __ovld __cnfn convert_float3_rte(float3);
2584 float3 __ovld __cnfn convert_float3_rtz(float3);
2585 float3 __ovld __cnfn convert_float3_rtp(float3);
2586 float3 __ovld __cnfn convert_float3_rtn(float3);
2587 float3 __ovld __cnfn convert_float3(float3);
2588 char4 __ovld __cnfn convert_char4_rte(char4);
2589 char4 __ovld __cnfn convert_char4_sat_rte(char4);
2590 char4 __ovld __cnfn convert_char4_rtz(char4);
2591 char4 __ovld __cnfn convert_char4_sat_rtz(char4);
2592 char4 __ovld __cnfn convert_char4_rtp(char4);
2593 char4 __ovld __cnfn convert_char4_sat_rtp(char4);
2594 char4 __ovld __cnfn convert_char4_rtn(char4);
2595 char4 __ovld __cnfn convert_char4_sat_rtn(char4);
2596 char4 __ovld __cnfn convert_char4(char4);
2597 char4 __ovld __cnfn convert_char4_sat(char4);
2598 char4 __ovld __cnfn convert_char4_rte(uchar4);
2599 char4 __ovld __cnfn convert_char4_sat_rte(uchar4);
2600 char4 __ovld __cnfn convert_char4_rtz(uchar4);
2601 char4 __ovld __cnfn convert_char4_sat_rtz(uchar4);
2602 char4 __ovld __cnfn convert_char4_rtp(uchar4);
2603 char4 __ovld __cnfn convert_char4_sat_rtp(uchar4);
2604 char4 __ovld __cnfn convert_char4_rtn(uchar4);
2605 char4 __ovld __cnfn convert_char4_sat_rtn(uchar4);
2606 char4 __ovld __cnfn convert_char4(uchar4);
2607 char4 __ovld __cnfn convert_char4_sat(uchar4);
2608 char4 __ovld __cnfn convert_char4_rte(short4);
2609 char4 __ovld __cnfn convert_char4_sat_rte(short4);
2610 char4 __ovld __cnfn convert_char4_rtz(short4);
2611 char4 __ovld __cnfn convert_char4_sat_rtz(short4);
2612 char4 __ovld __cnfn convert_char4_rtp(short4);
2613 char4 __ovld __cnfn convert_char4_sat_rtp(short4);
2614 char4 __ovld __cnfn convert_char4_rtn(short4);
2615 char4 __ovld __cnfn convert_char4_sat_rtn(short4);
2616 char4 __ovld __cnfn convert_char4(short4);
2617 char4 __ovld __cnfn convert_char4_sat(short4);
2618 char4 __ovld __cnfn convert_char4_rte(ushort4);
2619 char4 __ovld __cnfn convert_char4_sat_rte(ushort4);
2620 char4 __ovld __cnfn convert_char4_rtz(ushort4);
2621 char4 __ovld __cnfn convert_char4_sat_rtz(ushort4);
2622 char4 __ovld __cnfn convert_char4_rtp(ushort4);
2623 char4 __ovld __cnfn convert_char4_sat_rtp(ushort4);
2624 char4 __ovld __cnfn convert_char4_rtn(ushort4);
2625 char4 __ovld __cnfn convert_char4_sat_rtn(ushort4);
2626 char4 __ovld __cnfn convert_char4(ushort4);
2627 char4 __ovld __cnfn convert_char4_sat(ushort4);
2628 char4 __ovld __cnfn convert_char4_rte(int4);
2629 char4 __ovld __cnfn convert_char4_sat_rte(int4);
2630 char4 __ovld __cnfn convert_char4_rtz(int4);
2631 char4 __ovld __cnfn convert_char4_sat_rtz(int4);
2632 char4 __ovld __cnfn convert_char4_rtp(int4);
2633 char4 __ovld __cnfn convert_char4_sat_rtp(int4);
2634 char4 __ovld __cnfn convert_char4_rtn(int4);
2635 char4 __ovld __cnfn convert_char4_sat_rtn(int4);
2636 char4 __ovld __cnfn convert_char4(int4);
2637 char4 __ovld __cnfn convert_char4_sat(int4);
2638 char4 __ovld __cnfn convert_char4_rte(uint4);
2639 char4 __ovld __cnfn convert_char4_sat_rte(uint4);
2640 char4 __ovld __cnfn convert_char4_rtz(uint4);
2641 char4 __ovld __cnfn convert_char4_sat_rtz(uint4);
2642 char4 __ovld __cnfn convert_char4_rtp(uint4);
2643 char4 __ovld __cnfn convert_char4_sat_rtp(uint4);
2644 char4 __ovld __cnfn convert_char4_rtn(uint4);
2645 char4 __ovld __cnfn convert_char4_sat_rtn(uint4);
2646 char4 __ovld __cnfn convert_char4(uint4);
2647 char4 __ovld __cnfn convert_char4_sat(uint4);
2648 char4 __ovld __cnfn convert_char4_rte(long4);
2649 char4 __ovld __cnfn convert_char4_sat_rte(long4);
2650 char4 __ovld __cnfn convert_char4_rtz(long4);
2651 char4 __ovld __cnfn convert_char4_sat_rtz(long4);
2652 char4 __ovld __cnfn convert_char4_rtp(long4);
2653 char4 __ovld __cnfn convert_char4_sat_rtp(long4);
2654 char4 __ovld __cnfn convert_char4_rtn(long4);
2655 char4 __ovld __cnfn convert_char4_sat_rtn(long4);
2656 char4 __ovld __cnfn convert_char4(long4);
2657 char4 __ovld __cnfn convert_char4_sat(long4);
2658 char4 __ovld __cnfn convert_char4_rte(ulong4);
2659 char4 __ovld __cnfn convert_char4_sat_rte(ulong4);
2660 char4 __ovld __cnfn convert_char4_rtz(ulong4);
2661 char4 __ovld __cnfn convert_char4_sat_rtz(ulong4);
2662 char4 __ovld __cnfn convert_char4_rtp(ulong4);
2663 char4 __ovld __cnfn convert_char4_sat_rtp(ulong4);
2664 char4 __ovld __cnfn convert_char4_rtn(ulong4);
2665 char4 __ovld __cnfn convert_char4_sat_rtn(ulong4);
2666 char4 __ovld __cnfn convert_char4(ulong4);
2667 char4 __ovld __cnfn convert_char4_sat(ulong4);
2668 char4 __ovld __cnfn convert_char4_rte(float4);
2669 char4 __ovld __cnfn convert_char4_sat_rte(float4);
2670 char4 __ovld __cnfn convert_char4_rtz(float4);
2671 char4 __ovld __cnfn convert_char4_sat_rtz(float4);
2672 char4 __ovld __cnfn convert_char4_rtp(float4);
2673 char4 __ovld __cnfn convert_char4_sat_rtp(float4);
2674 char4 __ovld __cnfn convert_char4_rtn(float4);
2675 char4 __ovld __cnfn convert_char4_sat_rtn(float4);
2676 char4 __ovld __cnfn convert_char4(float4);
2677 char4 __ovld __cnfn convert_char4_sat(float4);
2678 uchar4 __ovld __cnfn convert_uchar4_rte(char4);
2679 uchar4 __ovld __cnfn convert_uchar4_sat_rte(char4);
2680 uchar4 __ovld __cnfn convert_uchar4_rtz(char4);
2681 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(char4);
2682 uchar4 __ovld __cnfn convert_uchar4_rtp(char4);
2683 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(char4);
2684 uchar4 __ovld __cnfn convert_uchar4_rtn(char4);
2685 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(char4);
2686 uchar4 __ovld __cnfn convert_uchar4(char4);
2687 uchar4 __ovld __cnfn convert_uchar4_sat(char4);
2688 uchar4 __ovld __cnfn convert_uchar4_rte(uchar4);
2689 uchar4 __ovld __cnfn convert_uchar4_sat_rte(uchar4);
2690 uchar4 __ovld __cnfn convert_uchar4_rtz(uchar4);
2691 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(uchar4);
2692 uchar4 __ovld __cnfn convert_uchar4_rtp(uchar4);
2693 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(uchar4);
2694 uchar4 __ovld __cnfn convert_uchar4_rtn(uchar4);
2695 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(uchar4);
2696 uchar4 __ovld __cnfn convert_uchar4(uchar4);
2697 uchar4 __ovld __cnfn convert_uchar4_sat(uchar4);
2698 uchar4 __ovld __cnfn convert_uchar4_rte(short4);
2699 uchar4 __ovld __cnfn convert_uchar4_sat_rte(short4);
2700 uchar4 __ovld __cnfn convert_uchar4_rtz(short4);
2701 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(short4);
2702 uchar4 __ovld __cnfn convert_uchar4_rtp(short4);
2703 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(short4);
2704 uchar4 __ovld __cnfn convert_uchar4_rtn(short4);
2705 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(short4);
2706 uchar4 __ovld __cnfn convert_uchar4(short4);
2707 uchar4 __ovld __cnfn convert_uchar4_sat(short4);
2708 uchar4 __ovld __cnfn convert_uchar4_rte(ushort4);
2709 uchar4 __ovld __cnfn convert_uchar4_sat_rte(ushort4);
2710 uchar4 __ovld __cnfn convert_uchar4_rtz(ushort4);
2711 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(ushort4);
2712 uchar4 __ovld __cnfn convert_uchar4_rtp(ushort4);
2713 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(ushort4);
2714 uchar4 __ovld __cnfn convert_uchar4_rtn(ushort4);
2715 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(ushort4);
2716 uchar4 __ovld __cnfn convert_uchar4(ushort4);
2717 uchar4 __ovld __cnfn convert_uchar4_sat(ushort4);
2718 uchar4 __ovld __cnfn convert_uchar4_rte(int4);
2719 uchar4 __ovld __cnfn convert_uchar4_sat_rte(int4);
2720 uchar4 __ovld __cnfn convert_uchar4_rtz(int4);
2721 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(int4);
2722 uchar4 __ovld __cnfn convert_uchar4_rtp(int4);
2723 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(int4);
2724 uchar4 __ovld __cnfn convert_uchar4_rtn(int4);
2725 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(int4);
2726 uchar4 __ovld __cnfn convert_uchar4(int4);
2727 uchar4 __ovld __cnfn convert_uchar4_sat(int4);
2728 uchar4 __ovld __cnfn convert_uchar4_rte(uint4);
2729 uchar4 __ovld __cnfn convert_uchar4_sat_rte(uint4);
2730 uchar4 __ovld __cnfn convert_uchar4_rtz(uint4);
2731 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(uint4);
2732 uchar4 __ovld __cnfn convert_uchar4_rtp(uint4);
2733 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(uint4);
2734 uchar4 __ovld __cnfn convert_uchar4_rtn(uint4);
2735 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(uint4);
2736 uchar4 __ovld __cnfn convert_uchar4(uint4);
2737 uchar4 __ovld __cnfn convert_uchar4_sat(uint4);
2738 uchar4 __ovld __cnfn convert_uchar4_rte(long4);
2739 uchar4 __ovld __cnfn convert_uchar4_sat_rte(long4);
2740 uchar4 __ovld __cnfn convert_uchar4_rtz(long4);
2741 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(long4);
2742 uchar4 __ovld __cnfn convert_uchar4_rtp(long4);
2743 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(long4);
2744 uchar4 __ovld __cnfn convert_uchar4_rtn(long4);
2745 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(long4);
2746 uchar4 __ovld __cnfn convert_uchar4(long4);
2747 uchar4 __ovld __cnfn convert_uchar4_sat(long4);
2748 uchar4 __ovld __cnfn convert_uchar4_rte(ulong4);
2749 uchar4 __ovld __cnfn convert_uchar4_sat_rte(ulong4);
2750 uchar4 __ovld __cnfn convert_uchar4_rtz(ulong4);
2751 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(ulong4);
2752 uchar4 __ovld __cnfn convert_uchar4_rtp(ulong4);
2753 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(ulong4);
2754 uchar4 __ovld __cnfn convert_uchar4_rtn(ulong4);
2755 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(ulong4);
2756 uchar4 __ovld __cnfn convert_uchar4(ulong4);
2757 uchar4 __ovld __cnfn convert_uchar4_sat(ulong4);
2758 uchar4 __ovld __cnfn convert_uchar4_rte(float4);
2759 uchar4 __ovld __cnfn convert_uchar4_sat_rte(float4);
2760 uchar4 __ovld __cnfn convert_uchar4_rtz(float4);
2761 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(float4);
2762 uchar4 __ovld __cnfn convert_uchar4_rtp(float4);
2763 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(float4);
2764 uchar4 __ovld __cnfn convert_uchar4_rtn(float4);
2765 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(float4);
2766 uchar4 __ovld __cnfn convert_uchar4(float4);
2767 uchar4 __ovld __cnfn convert_uchar4_sat(float4);
2768 short4 __ovld __cnfn convert_short4_rte(char4);
2769 short4 __ovld __cnfn convert_short4_sat_rte(char4);
2770 short4 __ovld __cnfn convert_short4_rtz(char4);
2771 short4 __ovld __cnfn convert_short4_sat_rtz(char4);
2772 short4 __ovld __cnfn convert_short4_rtp(char4);
2773 short4 __ovld __cnfn convert_short4_sat_rtp(char4);
2774 short4 __ovld __cnfn convert_short4_rtn(char4);
2775 short4 __ovld __cnfn convert_short4_sat_rtn(char4);
2776 short4 __ovld __cnfn convert_short4(char4);
2777 short4 __ovld __cnfn convert_short4_sat(char4);
2778 short4 __ovld __cnfn convert_short4_rte(uchar4);
2779 short4 __ovld __cnfn convert_short4_sat_rte(uchar4);
2780 short4 __ovld __cnfn convert_short4_rtz(uchar4);
2781 short4 __ovld __cnfn convert_short4_sat_rtz(uchar4);
2782 short4 __ovld __cnfn convert_short4_rtp(uchar4);
2783 short4 __ovld __cnfn convert_short4_sat_rtp(uchar4);
2784 short4 __ovld __cnfn convert_short4_rtn(uchar4);
2785 short4 __ovld __cnfn convert_short4_sat_rtn(uchar4);
2786 short4 __ovld __cnfn convert_short4(uchar4);
2787 short4 __ovld __cnfn convert_short4_sat(uchar4);
2788 short4 __ovld __cnfn convert_short4_rte(short4);
2789 short4 __ovld __cnfn convert_short4_sat_rte(short4);
2790 short4 __ovld __cnfn convert_short4_rtz(short4);
2791 short4 __ovld __cnfn convert_short4_sat_rtz(short4);
2792 short4 __ovld __cnfn convert_short4_rtp(short4);
2793 short4 __ovld __cnfn convert_short4_sat_rtp(short4);
2794 short4 __ovld __cnfn convert_short4_rtn(short4);
2795 short4 __ovld __cnfn convert_short4_sat_rtn(short4);
2796 short4 __ovld __cnfn convert_short4(short4);
2797 short4 __ovld __cnfn convert_short4_sat(short4);
2798 short4 __ovld __cnfn convert_short4_rte(ushort4);
2799 short4 __ovld __cnfn convert_short4_sat_rte(ushort4);
2800 short4 __ovld __cnfn convert_short4_rtz(ushort4);
2801 short4 __ovld __cnfn convert_short4_sat_rtz(ushort4);
2802 short4 __ovld __cnfn convert_short4_rtp(ushort4);
2803 short4 __ovld __cnfn convert_short4_sat_rtp(ushort4);
2804 short4 __ovld __cnfn convert_short4_rtn(ushort4);
2805 short4 __ovld __cnfn convert_short4_sat_rtn(ushort4);
2806 short4 __ovld __cnfn convert_short4(ushort4);
2807 short4 __ovld __cnfn convert_short4_sat(ushort4);
2808 short4 __ovld __cnfn convert_short4_rte(int4);
2809 short4 __ovld __cnfn convert_short4_sat_rte(int4);
2810 short4 __ovld __cnfn convert_short4_rtz(int4);
2811 short4 __ovld __cnfn convert_short4_sat_rtz(int4);
2812 short4 __ovld __cnfn convert_short4_rtp(int4);
2813 short4 __ovld __cnfn convert_short4_sat_rtp(int4);
2814 short4 __ovld __cnfn convert_short4_rtn(int4);
2815 short4 __ovld __cnfn convert_short4_sat_rtn(int4);
2816 short4 __ovld __cnfn convert_short4(int4);
2817 short4 __ovld __cnfn convert_short4_sat(int4);
2818 short4 __ovld __cnfn convert_short4_rte(uint4);
2819 short4 __ovld __cnfn convert_short4_sat_rte(uint4);
2820 short4 __ovld __cnfn convert_short4_rtz(uint4);
2821 short4 __ovld __cnfn convert_short4_sat_rtz(uint4);
2822 short4 __ovld __cnfn convert_short4_rtp(uint4);
2823 short4 __ovld __cnfn convert_short4_sat_rtp(uint4);
2824 short4 __ovld __cnfn convert_short4_rtn(uint4);
2825 short4 __ovld __cnfn convert_short4_sat_rtn(uint4);
2826 short4 __ovld __cnfn convert_short4(uint4);
2827 short4 __ovld __cnfn convert_short4_sat(uint4);
2828 short4 __ovld __cnfn convert_short4_rte(long4);
2829 short4 __ovld __cnfn convert_short4_sat_rte(long4);
2830 short4 __ovld __cnfn convert_short4_rtz(long4);
2831 short4 __ovld __cnfn convert_short4_sat_rtz(long4);
2832 short4 __ovld __cnfn convert_short4_rtp(long4);
2833 short4 __ovld __cnfn convert_short4_sat_rtp(long4);
2834 short4 __ovld __cnfn convert_short4_rtn(long4);
2835 short4 __ovld __cnfn convert_short4_sat_rtn(long4);
2836 short4 __ovld __cnfn convert_short4(long4);
2837 short4 __ovld __cnfn convert_short4_sat(long4);
2838 short4 __ovld __cnfn convert_short4_rte(ulong4);
2839 short4 __ovld __cnfn convert_short4_sat_rte(ulong4);
2840 short4 __ovld __cnfn convert_short4_rtz(ulong4);
2841 short4 __ovld __cnfn convert_short4_sat_rtz(ulong4);
2842 short4 __ovld __cnfn convert_short4_rtp(ulong4);
2843 short4 __ovld __cnfn convert_short4_sat_rtp(ulong4);
2844 short4 __ovld __cnfn convert_short4_rtn(ulong4);
2845 short4 __ovld __cnfn convert_short4_sat_rtn(ulong4);
2846 short4 __ovld __cnfn convert_short4(ulong4);
2847 short4 __ovld __cnfn convert_short4_sat(ulong4);
2848 short4 __ovld __cnfn convert_short4_rte(float4);
2849 short4 __ovld __cnfn convert_short4_sat_rte(float4);
2850 short4 __ovld __cnfn convert_short4_rtz(float4);
2851 short4 __ovld __cnfn convert_short4_sat_rtz(float4);
2852 short4 __ovld __cnfn convert_short4_rtp(float4);
2853 short4 __ovld __cnfn convert_short4_sat_rtp(float4);
2854 short4 __ovld __cnfn convert_short4_rtn(float4);
2855 short4 __ovld __cnfn convert_short4_sat_rtn(float4);
2856 short4 __ovld __cnfn convert_short4(float4);
2857 short4 __ovld __cnfn convert_short4_sat(float4);
2858 ushort4 __ovld __cnfn convert_ushort4_rte(char4);
2859 ushort4 __ovld __cnfn convert_ushort4_sat_rte(char4);
2860 ushort4 __ovld __cnfn convert_ushort4_rtz(char4);
2861 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(char4);
2862 ushort4 __ovld __cnfn convert_ushort4_rtp(char4);
2863 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(char4);
2864 ushort4 __ovld __cnfn convert_ushort4_rtn(char4);
2865 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(char4);
2866 ushort4 __ovld __cnfn convert_ushort4(char4);
2867 ushort4 __ovld __cnfn convert_ushort4_sat(char4);
2868 ushort4 __ovld __cnfn convert_ushort4_rte(uchar4);
2869 ushort4 __ovld __cnfn convert_ushort4_sat_rte(uchar4);
2870 ushort4 __ovld __cnfn convert_ushort4_rtz(uchar4);
2871 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(uchar4);
2872 ushort4 __ovld __cnfn convert_ushort4_rtp(uchar4);
2873 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(uchar4);
2874 ushort4 __ovld __cnfn convert_ushort4_rtn(uchar4);
2875 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(uchar4);
2876 ushort4 __ovld __cnfn convert_ushort4(uchar4);
2877 ushort4 __ovld __cnfn convert_ushort4_sat(uchar4);
2878 ushort4 __ovld __cnfn convert_ushort4_rte(short4);
2879 ushort4 __ovld __cnfn convert_ushort4_sat_rte(short4);
2880 ushort4 __ovld __cnfn convert_ushort4_rtz(short4);
2881 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(short4);
2882 ushort4 __ovld __cnfn convert_ushort4_rtp(short4);
2883 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(short4);
2884 ushort4 __ovld __cnfn convert_ushort4_rtn(short4);
2885 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(short4);
2886 ushort4 __ovld __cnfn convert_ushort4(short4);
2887 ushort4 __ovld __cnfn convert_ushort4_sat(short4);
2888 ushort4 __ovld __cnfn convert_ushort4_rte(ushort4);
2889 ushort4 __ovld __cnfn convert_ushort4_sat_rte(ushort4);
2890 ushort4 __ovld __cnfn convert_ushort4_rtz(ushort4);
2891 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(ushort4);
2892 ushort4 __ovld __cnfn convert_ushort4_rtp(ushort4);
2893 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(ushort4);
2894 ushort4 __ovld __cnfn convert_ushort4_rtn(ushort4);
2895 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(ushort4);
2896 ushort4 __ovld __cnfn convert_ushort4(ushort4);
2897 ushort4 __ovld __cnfn convert_ushort4_sat(ushort4);
2898 ushort4 __ovld __cnfn convert_ushort4_rte(int4);
2899 ushort4 __ovld __cnfn convert_ushort4_sat_rte(int4);
2900 ushort4 __ovld __cnfn convert_ushort4_rtz(int4);
2901 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(int4);
2902 ushort4 __ovld __cnfn convert_ushort4_rtp(int4);
2903 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(int4);
2904 ushort4 __ovld __cnfn convert_ushort4_rtn(int4);
2905 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(int4);
2906 ushort4 __ovld __cnfn convert_ushort4(int4);
2907 ushort4 __ovld __cnfn convert_ushort4_sat(int4);
2908 ushort4 __ovld __cnfn convert_ushort4_rte(uint4);
2909 ushort4 __ovld __cnfn convert_ushort4_sat_rte(uint4);
2910 ushort4 __ovld __cnfn convert_ushort4_rtz(uint4);
2911 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(uint4);
2912 ushort4 __ovld __cnfn convert_ushort4_rtp(uint4);
2913 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(uint4);
2914 ushort4 __ovld __cnfn convert_ushort4_rtn(uint4);
2915 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(uint4);
2916 ushort4 __ovld __cnfn convert_ushort4(uint4);
2917 ushort4 __ovld __cnfn convert_ushort4_sat(uint4);
2918 ushort4 __ovld __cnfn convert_ushort4_rte(long4);
2919 ushort4 __ovld __cnfn convert_ushort4_sat_rte(long4);
2920 ushort4 __ovld __cnfn convert_ushort4_rtz(long4);
2921 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(long4);
2922 ushort4 __ovld __cnfn convert_ushort4_rtp(long4);
2923 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(long4);
2924 ushort4 __ovld __cnfn convert_ushort4_rtn(long4);
2925 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(long4);
2926 ushort4 __ovld __cnfn convert_ushort4(long4);
2927 ushort4 __ovld __cnfn convert_ushort4_sat(long4);
2928 ushort4 __ovld __cnfn convert_ushort4_rte(ulong4);
2929 ushort4 __ovld __cnfn convert_ushort4_sat_rte(ulong4);
2930 ushort4 __ovld __cnfn convert_ushort4_rtz(ulong4);
2931 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(ulong4);
2932 ushort4 __ovld __cnfn convert_ushort4_rtp(ulong4);
2933 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(ulong4);
2934 ushort4 __ovld __cnfn convert_ushort4_rtn(ulong4);
2935 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(ulong4);
2936 ushort4 __ovld __cnfn convert_ushort4(ulong4);
2937 ushort4 __ovld __cnfn convert_ushort4_sat(ulong4);
2938 ushort4 __ovld __cnfn convert_ushort4_rte(float4);
2939 ushort4 __ovld __cnfn convert_ushort4_sat_rte(float4);
2940 ushort4 __ovld __cnfn convert_ushort4_rtz(float4);
2941 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(float4);
2942 ushort4 __ovld __cnfn convert_ushort4_rtp(float4);
2943 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(float4);
2944 ushort4 __ovld __cnfn convert_ushort4_rtn(float4);
2945 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(float4);
2946 ushort4 __ovld __cnfn convert_ushort4(float4);
2947 ushort4 __ovld __cnfn convert_ushort4_sat(float4);
2948 int4 __ovld __cnfn convert_int4_rte(char4);
2949 int4 __ovld __cnfn convert_int4_sat_rte(char4);
2950 int4 __ovld __cnfn convert_int4_rtz(char4);
2951 int4 __ovld __cnfn convert_int4_sat_rtz(char4);
2952 int4 __ovld __cnfn convert_int4_rtp(char4);
2953 int4 __ovld __cnfn convert_int4_sat_rtp(char4);
2954 int4 __ovld __cnfn convert_int4_rtn(char4);
2955 int4 __ovld __cnfn convert_int4_sat_rtn(char4);
2956 int4 __ovld __cnfn convert_int4(char4);
2957 int4 __ovld __cnfn convert_int4_sat(char4);
2958 int4 __ovld __cnfn convert_int4_rte(uchar4);
2959 int4 __ovld __cnfn convert_int4_sat_rte(uchar4);
2960 int4 __ovld __cnfn convert_int4_rtz(uchar4);
2961 int4 __ovld __cnfn convert_int4_sat_rtz(uchar4);
2962 int4 __ovld __cnfn convert_int4_rtp(uchar4);
2963 int4 __ovld __cnfn convert_int4_sat_rtp(uchar4);
2964 int4 __ovld __cnfn convert_int4_rtn(uchar4);
2965 int4 __ovld __cnfn convert_int4_sat_rtn(uchar4);
2966 int4 __ovld __cnfn convert_int4(uchar4);
2967 int4 __ovld __cnfn convert_int4_sat(uchar4);
2968 int4 __ovld __cnfn convert_int4_rte(short4);
2969 int4 __ovld __cnfn convert_int4_sat_rte(short4);
2970 int4 __ovld __cnfn convert_int4_rtz(short4);
2971 int4 __ovld __cnfn convert_int4_sat_rtz(short4);
2972 int4 __ovld __cnfn convert_int4_rtp(short4);
2973 int4 __ovld __cnfn convert_int4_sat_rtp(short4);
2974 int4 __ovld __cnfn convert_int4_rtn(short4);
2975 int4 __ovld __cnfn convert_int4_sat_rtn(short4);
2976 int4 __ovld __cnfn convert_int4(short4);
2977 int4 __ovld __cnfn convert_int4_sat(short4);
2978 int4 __ovld __cnfn convert_int4_rte(ushort4);
2979 int4 __ovld __cnfn convert_int4_sat_rte(ushort4);
2980 int4 __ovld __cnfn convert_int4_rtz(ushort4);
2981 int4 __ovld __cnfn convert_int4_sat_rtz(ushort4);
2982 int4 __ovld __cnfn convert_int4_rtp(ushort4);
2983 int4 __ovld __cnfn convert_int4_sat_rtp(ushort4);
2984 int4 __ovld __cnfn convert_int4_rtn(ushort4);
2985 int4 __ovld __cnfn convert_int4_sat_rtn(ushort4);
2986 int4 __ovld __cnfn convert_int4(ushort4);
2987 int4 __ovld __cnfn convert_int4_sat(ushort4);
2988 int4 __ovld __cnfn convert_int4_rte(int4);
2989 int4 __ovld __cnfn convert_int4_sat_rte(int4);
2990 int4 __ovld __cnfn convert_int4_rtz(int4);
2991 int4 __ovld __cnfn convert_int4_sat_rtz(int4);
2992 int4 __ovld __cnfn convert_int4_rtp(int4);
2993 int4 __ovld __cnfn convert_int4_sat_rtp(int4);
2994 int4 __ovld __cnfn convert_int4_rtn(int4);
2995 int4 __ovld __cnfn convert_int4_sat_rtn(int4);
2996 int4 __ovld __cnfn convert_int4(int4);
2997 int4 __ovld __cnfn convert_int4_sat(int4);
2998 int4 __ovld __cnfn convert_int4_rte(uint4);
2999 int4 __ovld __cnfn convert_int4_sat_rte(uint4);
3000 int4 __ovld __cnfn convert_int4_rtz(uint4);
3001 int4 __ovld __cnfn convert_int4_sat_rtz(uint4);
3002 int4 __ovld __cnfn convert_int4_rtp(uint4);
3003 int4 __ovld __cnfn convert_int4_sat_rtp(uint4);
3004 int4 __ovld __cnfn convert_int4_rtn(uint4);
3005 int4 __ovld __cnfn convert_int4_sat_rtn(uint4);
3006 int4 __ovld __cnfn convert_int4(uint4);
3007 int4 __ovld __cnfn convert_int4_sat(uint4);
3008 int4 __ovld __cnfn convert_int4_rte(long4);
3009 int4 __ovld __cnfn convert_int4_sat_rte(long4);
3010 int4 __ovld __cnfn convert_int4_rtz(long4);
3011 int4 __ovld __cnfn convert_int4_sat_rtz(long4);
3012 int4 __ovld __cnfn convert_int4_rtp(long4);
3013 int4 __ovld __cnfn convert_int4_sat_rtp(long4);
3014 int4 __ovld __cnfn convert_int4_rtn(long4);
3015 int4 __ovld __cnfn convert_int4_sat_rtn(long4);
3016 int4 __ovld __cnfn convert_int4(long4);
3017 int4 __ovld __cnfn convert_int4_sat(long4);
3018 int4 __ovld __cnfn convert_int4_rte(ulong4);
3019 int4 __ovld __cnfn convert_int4_sat_rte(ulong4);
3020 int4 __ovld __cnfn convert_int4_rtz(ulong4);
3021 int4 __ovld __cnfn convert_int4_sat_rtz(ulong4);
3022 int4 __ovld __cnfn convert_int4_rtp(ulong4);
3023 int4 __ovld __cnfn convert_int4_sat_rtp(ulong4);
3024 int4 __ovld __cnfn convert_int4_rtn(ulong4);
3025 int4 __ovld __cnfn convert_int4_sat_rtn(ulong4);
3026 int4 __ovld __cnfn convert_int4(ulong4);
3027 int4 __ovld __cnfn convert_int4_sat(ulong4);
3028 int4 __ovld __cnfn convert_int4_rte(float4);
3029 int4 __ovld __cnfn convert_int4_sat_rte(float4);
3030 int4 __ovld __cnfn convert_int4_rtz(float4);
3031 int4 __ovld __cnfn convert_int4_sat_rtz(float4);
3032 int4 __ovld __cnfn convert_int4_rtp(float4);
3033 int4 __ovld __cnfn convert_int4_sat_rtp(float4);
3034 int4 __ovld __cnfn convert_int4_rtn(float4);
3035 int4 __ovld __cnfn convert_int4_sat_rtn(float4);
3036 int4 __ovld __cnfn convert_int4(float4);
3037 int4 __ovld __cnfn convert_int4_sat(float4);
3038 uint4 __ovld __cnfn convert_uint4_rte(char4);
3039 uint4 __ovld __cnfn convert_uint4_sat_rte(char4);
3040 uint4 __ovld __cnfn convert_uint4_rtz(char4);
3041 uint4 __ovld __cnfn convert_uint4_sat_rtz(char4);
3042 uint4 __ovld __cnfn convert_uint4_rtp(char4);
3043 uint4 __ovld __cnfn convert_uint4_sat_rtp(char4);
3044 uint4 __ovld __cnfn convert_uint4_rtn(char4);
3045 uint4 __ovld __cnfn convert_uint4_sat_rtn(char4);
3046 uint4 __ovld __cnfn convert_uint4(char4);
3047 uint4 __ovld __cnfn convert_uint4_sat(char4);
3048 uint4 __ovld __cnfn convert_uint4_rte(uchar4);
3049 uint4 __ovld __cnfn convert_uint4_sat_rte(uchar4);
3050 uint4 __ovld __cnfn convert_uint4_rtz(uchar4);
3051 uint4 __ovld __cnfn convert_uint4_sat_rtz(uchar4);
3052 uint4 __ovld __cnfn convert_uint4_rtp(uchar4);
3053 uint4 __ovld __cnfn convert_uint4_sat_rtp(uchar4);
3054 uint4 __ovld __cnfn convert_uint4_rtn(uchar4);
3055 uint4 __ovld __cnfn convert_uint4_sat_rtn(uchar4);
3056 uint4 __ovld __cnfn convert_uint4(uchar4);
3057 uint4 __ovld __cnfn convert_uint4_sat(uchar4);
3058 uint4 __ovld __cnfn convert_uint4_rte(short4);
3059 uint4 __ovld __cnfn convert_uint4_sat_rte(short4);
3060 uint4 __ovld __cnfn convert_uint4_rtz(short4);
3061 uint4 __ovld __cnfn convert_uint4_sat_rtz(short4);
3062 uint4 __ovld __cnfn convert_uint4_rtp(short4);
3063 uint4 __ovld __cnfn convert_uint4_sat_rtp(short4);
3064 uint4 __ovld __cnfn convert_uint4_rtn(short4);
3065 uint4 __ovld __cnfn convert_uint4_sat_rtn(short4);
3066 uint4 __ovld __cnfn convert_uint4(short4);
3067 uint4 __ovld __cnfn convert_uint4_sat(short4);
3068 uint4 __ovld __cnfn convert_uint4_rte(ushort4);
3069 uint4 __ovld __cnfn convert_uint4_sat_rte(ushort4);
3070 uint4 __ovld __cnfn convert_uint4_rtz(ushort4);
3071 uint4 __ovld __cnfn convert_uint4_sat_rtz(ushort4);
3072 uint4 __ovld __cnfn convert_uint4_rtp(ushort4);
3073 uint4 __ovld __cnfn convert_uint4_sat_rtp(ushort4);
3074 uint4 __ovld __cnfn convert_uint4_rtn(ushort4);
3075 uint4 __ovld __cnfn convert_uint4_sat_rtn(ushort4);
3076 uint4 __ovld __cnfn convert_uint4(ushort4);
3077 uint4 __ovld __cnfn convert_uint4_sat(ushort4);
3078 uint4 __ovld __cnfn convert_uint4_rte(int4);
3079 uint4 __ovld __cnfn convert_uint4_sat_rte(int4);
3080 uint4 __ovld __cnfn convert_uint4_rtz(int4);
3081 uint4 __ovld __cnfn convert_uint4_sat_rtz(int4);
3082 uint4 __ovld __cnfn convert_uint4_rtp(int4);
3083 uint4 __ovld __cnfn convert_uint4_sat_rtp(int4);
3084 uint4 __ovld __cnfn convert_uint4_rtn(int4);
3085 uint4 __ovld __cnfn convert_uint4_sat_rtn(int4);
3086 uint4 __ovld __cnfn convert_uint4(int4);
3087 uint4 __ovld __cnfn convert_uint4_sat(int4);
3088 uint4 __ovld __cnfn convert_uint4_rte(uint4);
3089 uint4 __ovld __cnfn convert_uint4_sat_rte(uint4);
3090 uint4 __ovld __cnfn convert_uint4_rtz(uint4);
3091 uint4 __ovld __cnfn convert_uint4_sat_rtz(uint4);
3092 uint4 __ovld __cnfn convert_uint4_rtp(uint4);
3093 uint4 __ovld __cnfn convert_uint4_sat_rtp(uint4);
3094 uint4 __ovld __cnfn convert_uint4_rtn(uint4);
3095 uint4 __ovld __cnfn convert_uint4_sat_rtn(uint4);
3096 uint4 __ovld __cnfn convert_uint4(uint4);
3097 uint4 __ovld __cnfn convert_uint4_sat(uint4);
3098 uint4 __ovld __cnfn convert_uint4_rte(long4);
3099 uint4 __ovld __cnfn convert_uint4_sat_rte(long4);
3100 uint4 __ovld __cnfn convert_uint4_rtz(long4);
3101 uint4 __ovld __cnfn convert_uint4_sat_rtz(long4);
3102 uint4 __ovld __cnfn convert_uint4_rtp(long4);
3103 uint4 __ovld __cnfn convert_uint4_sat_rtp(long4);
3104 uint4 __ovld __cnfn convert_uint4_rtn(long4);
3105 uint4 __ovld __cnfn convert_uint4_sat_rtn(long4);
3106 uint4 __ovld __cnfn convert_uint4(long4);
3107 uint4 __ovld __cnfn convert_uint4_sat(long4);
3108 uint4 __ovld __cnfn convert_uint4_rte(ulong4);
3109 uint4 __ovld __cnfn convert_uint4_sat_rte(ulong4);
3110 uint4 __ovld __cnfn convert_uint4_rtz(ulong4);
3111 uint4 __ovld __cnfn convert_uint4_sat_rtz(ulong4);
3112 uint4 __ovld __cnfn convert_uint4_rtp(ulong4);
3113 uint4 __ovld __cnfn convert_uint4_sat_rtp(ulong4);
3114 uint4 __ovld __cnfn convert_uint4_rtn(ulong4);
3115 uint4 __ovld __cnfn convert_uint4_sat_rtn(ulong4);
3116 uint4 __ovld __cnfn convert_uint4(ulong4);
3117 uint4 __ovld __cnfn convert_uint4_sat(ulong4);
3118 uint4 __ovld __cnfn convert_uint4_rte(float4);
3119 uint4 __ovld __cnfn convert_uint4_sat_rte(float4);
3120 uint4 __ovld __cnfn convert_uint4_rtz(float4);
3121 uint4 __ovld __cnfn convert_uint4_sat_rtz(float4);
3122 uint4 __ovld __cnfn convert_uint4_rtp(float4);
3123 uint4 __ovld __cnfn convert_uint4_sat_rtp(float4);
3124 uint4 __ovld __cnfn convert_uint4_rtn(float4);
3125 uint4 __ovld __cnfn convert_uint4_sat_rtn(float4);
3126 uint4 __ovld __cnfn convert_uint4(float4);
3127 uint4 __ovld __cnfn convert_uint4_sat(float4);
3128 long4 __ovld __cnfn convert_long4_rte(char4);
3129 long4 __ovld __cnfn convert_long4_sat_rte(char4);
3130 long4 __ovld __cnfn convert_long4_rtz(char4);
3131 long4 __ovld __cnfn convert_long4_sat_rtz(char4);
3132 long4 __ovld __cnfn convert_long4_rtp(char4);
3133 long4 __ovld __cnfn convert_long4_sat_rtp(char4);
3134 long4 __ovld __cnfn convert_long4_rtn(char4);
3135 long4 __ovld __cnfn convert_long4_sat_rtn(char4);
3136 long4 __ovld __cnfn convert_long4(char4);
3137 long4 __ovld __cnfn convert_long4_sat(char4);
3138 long4 __ovld __cnfn convert_long4_rte(uchar4);
3139 long4 __ovld __cnfn convert_long4_sat_rte(uchar4);
3140 long4 __ovld __cnfn convert_long4_rtz(uchar4);
3141 long4 __ovld __cnfn convert_long4_sat_rtz(uchar4);
3142 long4 __ovld __cnfn convert_long4_rtp(uchar4);
3143 long4 __ovld __cnfn convert_long4_sat_rtp(uchar4);
3144 long4 __ovld __cnfn convert_long4_rtn(uchar4);
3145 long4 __ovld __cnfn convert_long4_sat_rtn(uchar4);
3146 long4 __ovld __cnfn convert_long4(uchar4);
3147 long4 __ovld __cnfn convert_long4_sat(uchar4);
3148 long4 __ovld __cnfn convert_long4_rte(short4);
3149 long4 __ovld __cnfn convert_long4_sat_rte(short4);
3150 long4 __ovld __cnfn convert_long4_rtz(short4);
3151 long4 __ovld __cnfn convert_long4_sat_rtz(short4);
3152 long4 __ovld __cnfn convert_long4_rtp(short4);
3153 long4 __ovld __cnfn convert_long4_sat_rtp(short4);
3154 long4 __ovld __cnfn convert_long4_rtn(short4);
3155 long4 __ovld __cnfn convert_long4_sat_rtn(short4);
3156 long4 __ovld __cnfn convert_long4(short4);
3157 long4 __ovld __cnfn convert_long4_sat(short4);
3158 long4 __ovld __cnfn convert_long4_rte(ushort4);
3159 long4 __ovld __cnfn convert_long4_sat_rte(ushort4);
3160 long4 __ovld __cnfn convert_long4_rtz(ushort4);
3161 long4 __ovld __cnfn convert_long4_sat_rtz(ushort4);
3162 long4 __ovld __cnfn convert_long4_rtp(ushort4);
3163 long4 __ovld __cnfn convert_long4_sat_rtp(ushort4);
3164 long4 __ovld __cnfn convert_long4_rtn(ushort4);
3165 long4 __ovld __cnfn convert_long4_sat_rtn(ushort4);
3166 long4 __ovld __cnfn convert_long4(ushort4);
3167 long4 __ovld __cnfn convert_long4_sat(ushort4);
3168 long4 __ovld __cnfn convert_long4_rte(int4);
3169 long4 __ovld __cnfn convert_long4_sat_rte(int4);
3170 long4 __ovld __cnfn convert_long4_rtz(int4);
3171 long4 __ovld __cnfn convert_long4_sat_rtz(int4);
3172 long4 __ovld __cnfn convert_long4_rtp(int4);
3173 long4 __ovld __cnfn convert_long4_sat_rtp(int4);
3174 long4 __ovld __cnfn convert_long4_rtn(int4);
3175 long4 __ovld __cnfn convert_long4_sat_rtn(int4);
3176 long4 __ovld __cnfn convert_long4(int4);
3177 long4 __ovld __cnfn convert_long4_sat(int4);
3178 long4 __ovld __cnfn convert_long4_rte(uint4);
3179 long4 __ovld __cnfn convert_long4_sat_rte(uint4);
3180 long4 __ovld __cnfn convert_long4_rtz(uint4);
3181 long4 __ovld __cnfn convert_long4_sat_rtz(uint4);
3182 long4 __ovld __cnfn convert_long4_rtp(uint4);
3183 long4 __ovld __cnfn convert_long4_sat_rtp(uint4);
3184 long4 __ovld __cnfn convert_long4_rtn(uint4);
3185 long4 __ovld __cnfn convert_long4_sat_rtn(uint4);
3186 long4 __ovld __cnfn convert_long4(uint4);
3187 long4 __ovld __cnfn convert_long4_sat(uint4);
3188 long4 __ovld __cnfn convert_long4_rte(long4);
3189 long4 __ovld __cnfn convert_long4_sat_rte(long4);
3190 long4 __ovld __cnfn convert_long4_rtz(long4);
3191 long4 __ovld __cnfn convert_long4_sat_rtz(long4);
3192 long4 __ovld __cnfn convert_long4_rtp(long4);
3193 long4 __ovld __cnfn convert_long4_sat_rtp(long4);
3194 long4 __ovld __cnfn convert_long4_rtn(long4);
3195 long4 __ovld __cnfn convert_long4_sat_rtn(long4);
3196 long4 __ovld __cnfn convert_long4(long4);
3197 long4 __ovld __cnfn convert_long4_sat(long4);
3198 long4 __ovld __cnfn convert_long4_rte(ulong4);
3199 long4 __ovld __cnfn convert_long4_sat_rte(ulong4);
3200 long4 __ovld __cnfn convert_long4_rtz(ulong4);
3201 long4 __ovld __cnfn convert_long4_sat_rtz(ulong4);
3202 long4 __ovld __cnfn convert_long4_rtp(ulong4);
3203 long4 __ovld __cnfn convert_long4_sat_rtp(ulong4);
3204 long4 __ovld __cnfn convert_long4_rtn(ulong4);
3205 long4 __ovld __cnfn convert_long4_sat_rtn(ulong4);
3206 long4 __ovld __cnfn convert_long4(ulong4);
3207 long4 __ovld __cnfn convert_long4_sat(ulong4);
3208 long4 __ovld __cnfn convert_long4_rte(float4);
3209 long4 __ovld __cnfn convert_long4_sat_rte(float4);
3210 long4 __ovld __cnfn convert_long4_rtz(float4);
3211 long4 __ovld __cnfn convert_long4_sat_rtz(float4);
3212 long4 __ovld __cnfn convert_long4_rtp(float4);
3213 long4 __ovld __cnfn convert_long4_sat_rtp(float4);
3214 long4 __ovld __cnfn convert_long4_rtn(float4);
3215 long4 __ovld __cnfn convert_long4_sat_rtn(float4);
3216 long4 __ovld __cnfn convert_long4(float4);
3217 long4 __ovld __cnfn convert_long4_sat(float4);
3218 ulong4 __ovld __cnfn convert_ulong4_rte(char4);
3219 ulong4 __ovld __cnfn convert_ulong4_sat_rte(char4);
3220 ulong4 __ovld __cnfn convert_ulong4_rtz(char4);
3221 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(char4);
3222 ulong4 __ovld __cnfn convert_ulong4_rtp(char4);
3223 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(char4);
3224 ulong4 __ovld __cnfn convert_ulong4_rtn(char4);
3225 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(char4);
3226 ulong4 __ovld __cnfn convert_ulong4(char4);
3227 ulong4 __ovld __cnfn convert_ulong4_sat(char4);
3228 ulong4 __ovld __cnfn convert_ulong4_rte(uchar4);
3229 ulong4 __ovld __cnfn convert_ulong4_sat_rte(uchar4);
3230 ulong4 __ovld __cnfn convert_ulong4_rtz(uchar4);
3231 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(uchar4);
3232 ulong4 __ovld __cnfn convert_ulong4_rtp(uchar4);
3233 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(uchar4);
3234 ulong4 __ovld __cnfn convert_ulong4_rtn(uchar4);
3235 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(uchar4);
3236 ulong4 __ovld __cnfn convert_ulong4(uchar4);
3237 ulong4 __ovld __cnfn convert_ulong4_sat(uchar4);
3238 ulong4 __ovld __cnfn convert_ulong4_rte(short4);
3239 ulong4 __ovld __cnfn convert_ulong4_sat_rte(short4);
3240 ulong4 __ovld __cnfn convert_ulong4_rtz(short4);
3241 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(short4);
3242 ulong4 __ovld __cnfn convert_ulong4_rtp(short4);
3243 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(short4);
3244 ulong4 __ovld __cnfn convert_ulong4_rtn(short4);
3245 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(short4);
3246 ulong4 __ovld __cnfn convert_ulong4(short4);
3247 ulong4 __ovld __cnfn convert_ulong4_sat(short4);
3248 ulong4 __ovld __cnfn convert_ulong4_rte(ushort4);
3249 ulong4 __ovld __cnfn convert_ulong4_sat_rte(ushort4);
3250 ulong4 __ovld __cnfn convert_ulong4_rtz(ushort4);
3251 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(ushort4);
3252 ulong4 __ovld __cnfn convert_ulong4_rtp(ushort4);
3253 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(ushort4);
3254 ulong4 __ovld __cnfn convert_ulong4_rtn(ushort4);
3255 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(ushort4);
3256 ulong4 __ovld __cnfn convert_ulong4(ushort4);
3257 ulong4 __ovld __cnfn convert_ulong4_sat(ushort4);
3258 ulong4 __ovld __cnfn convert_ulong4_rte(int4);
3259 ulong4 __ovld __cnfn convert_ulong4_sat_rte(int4);
3260 ulong4 __ovld __cnfn convert_ulong4_rtz(int4);
3261 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(int4);
3262 ulong4 __ovld __cnfn convert_ulong4_rtp(int4);
3263 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(int4);
3264 ulong4 __ovld __cnfn convert_ulong4_rtn(int4);
3265 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(int4);
3266 ulong4 __ovld __cnfn convert_ulong4(int4);
3267 ulong4 __ovld __cnfn convert_ulong4_sat(int4);
3268 ulong4 __ovld __cnfn convert_ulong4_rte(uint4);
3269 ulong4 __ovld __cnfn convert_ulong4_sat_rte(uint4);
3270 ulong4 __ovld __cnfn convert_ulong4_rtz(uint4);
3271 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(uint4);
3272 ulong4 __ovld __cnfn convert_ulong4_rtp(uint4);
3273 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(uint4);
3274 ulong4 __ovld __cnfn convert_ulong4_rtn(uint4);
3275 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(uint4);
3276 ulong4 __ovld __cnfn convert_ulong4(uint4);
3277 ulong4 __ovld __cnfn convert_ulong4_sat(uint4);
3278 ulong4 __ovld __cnfn convert_ulong4_rte(long4);
3279 ulong4 __ovld __cnfn convert_ulong4_sat_rte(long4);
3280 ulong4 __ovld __cnfn convert_ulong4_rtz(long4);
3281 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(long4);
3282 ulong4 __ovld __cnfn convert_ulong4_rtp(long4);
3283 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(long4);
3284 ulong4 __ovld __cnfn convert_ulong4_rtn(long4);
3285 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(long4);
3286 ulong4 __ovld __cnfn convert_ulong4(long4);
3287 ulong4 __ovld __cnfn convert_ulong4_sat(long4);
3288 ulong4 __ovld __cnfn convert_ulong4_rte(ulong4);
3289 ulong4 __ovld __cnfn convert_ulong4_sat_rte(ulong4);
3290 ulong4 __ovld __cnfn convert_ulong4_rtz(ulong4);
3291 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(ulong4);
3292 ulong4 __ovld __cnfn convert_ulong4_rtp(ulong4);
3293 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(ulong4);
3294 ulong4 __ovld __cnfn convert_ulong4_rtn(ulong4);
3295 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(ulong4);
3296 ulong4 __ovld __cnfn convert_ulong4(ulong4);
3297 ulong4 __ovld __cnfn convert_ulong4_sat(ulong4);
3298 ulong4 __ovld __cnfn convert_ulong4_rte(float4);
3299 ulong4 __ovld __cnfn convert_ulong4_sat_rte(float4);
3300 ulong4 __ovld __cnfn convert_ulong4_rtz(float4);
3301 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(float4);
3302 ulong4 __ovld __cnfn convert_ulong4_rtp(float4);
3303 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(float4);
3304 ulong4 __ovld __cnfn convert_ulong4_rtn(float4);
3305 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(float4);
3306 ulong4 __ovld __cnfn convert_ulong4(float4);
3307 ulong4 __ovld __cnfn convert_ulong4_sat(float4);
3308 float4 __ovld __cnfn convert_float4_rte(char4);
3309 float4 __ovld __cnfn convert_float4_rtz(char4);
3310 float4 __ovld __cnfn convert_float4_rtp(char4);
3311 float4 __ovld __cnfn convert_float4_rtn(char4);
3312 float4 __ovld __cnfn convert_float4(char4);
3313 float4 __ovld __cnfn convert_float4_rte(uchar4);
3314 float4 __ovld __cnfn convert_float4_rtz(uchar4);
3315 float4 __ovld __cnfn convert_float4_rtp(uchar4);
3316 float4 __ovld __cnfn convert_float4_rtn(uchar4);
3317 float4 __ovld __cnfn convert_float4(uchar4);
3318 float4 __ovld __cnfn convert_float4_rte(short4);
3319 float4 __ovld __cnfn convert_float4_rtz(short4);
3320 float4 __ovld __cnfn convert_float4_rtp(short4);
3321 float4 __ovld __cnfn convert_float4_rtn(short4);
3322 float4 __ovld __cnfn convert_float4(short4);
3323 float4 __ovld __cnfn convert_float4_rte(ushort4);
3324 float4 __ovld __cnfn convert_float4_rtz(ushort4);
3325 float4 __ovld __cnfn convert_float4_rtp(ushort4);
3326 float4 __ovld __cnfn convert_float4_rtn(ushort4);
3327 float4 __ovld __cnfn convert_float4(ushort4);
3328 float4 __ovld __cnfn convert_float4_rte(int4);
3329 float4 __ovld __cnfn convert_float4_rtz(int4);
3330 float4 __ovld __cnfn convert_float4_rtp(int4);
3331 float4 __ovld __cnfn convert_float4_rtn(int4);
3332 float4 __ovld __cnfn convert_float4(int4);
3333 float4 __ovld __cnfn convert_float4_rte(uint4);
3334 float4 __ovld __cnfn convert_float4_rtz(uint4);
3335 float4 __ovld __cnfn convert_float4_rtp(uint4);
3336 float4 __ovld __cnfn convert_float4_rtn(uint4);
3337 float4 __ovld __cnfn convert_float4(uint4);
3338 float4 __ovld __cnfn convert_float4_rte(long4);
3339 float4 __ovld __cnfn convert_float4_rtz(long4);
3340 float4 __ovld __cnfn convert_float4_rtp(long4);
3341 float4 __ovld __cnfn convert_float4_rtn(long4);
3342 float4 __ovld __cnfn convert_float4(long4);
3343 float4 __ovld __cnfn convert_float4_rte(ulong4);
3344 float4 __ovld __cnfn convert_float4_rtz(ulong4);
3345 float4 __ovld __cnfn convert_float4_rtp(ulong4);
3346 float4 __ovld __cnfn convert_float4_rtn(ulong4);
3347 float4 __ovld __cnfn convert_float4(ulong4);
3348 float4 __ovld __cnfn convert_float4_rte(float4);
3349 float4 __ovld __cnfn convert_float4_rtz(float4);
3350 float4 __ovld __cnfn convert_float4_rtp(float4);
3351 float4 __ovld __cnfn convert_float4_rtn(float4);
3352 float4 __ovld __cnfn convert_float4(float4);
3353 char8 __ovld __cnfn convert_char8_rte(char8);
3354 char8 __ovld __cnfn convert_char8_sat_rte(char8);
3355 char8 __ovld __cnfn convert_char8_rtz(char8);
3356 char8 __ovld __cnfn convert_char8_sat_rtz(char8);
3357 char8 __ovld __cnfn convert_char8_rtp(char8);
3358 char8 __ovld __cnfn convert_char8_sat_rtp(char8);
3359 char8 __ovld __cnfn convert_char8_rtn(char8);
3360 char8 __ovld __cnfn convert_char8_sat_rtn(char8);
3361 char8 __ovld __cnfn convert_char8(char8);
3362 char8 __ovld __cnfn convert_char8_sat(char8);
3363 char8 __ovld __cnfn convert_char8_rte(uchar8);
3364 char8 __ovld __cnfn convert_char8_sat_rte(uchar8);
3365 char8 __ovld __cnfn convert_char8_rtz(uchar8);
3366 char8 __ovld __cnfn convert_char8_sat_rtz(uchar8);
3367 char8 __ovld __cnfn convert_char8_rtp(uchar8);
3368 char8 __ovld __cnfn convert_char8_sat_rtp(uchar8);
3369 char8 __ovld __cnfn convert_char8_rtn(uchar8);
3370 char8 __ovld __cnfn convert_char8_sat_rtn(uchar8);
3371 char8 __ovld __cnfn convert_char8(uchar8);
3372 char8 __ovld __cnfn convert_char8_sat(uchar8);
3373 char8 __ovld __cnfn convert_char8_rte(short8);
3374 char8 __ovld __cnfn convert_char8_sat_rte(short8);
3375 char8 __ovld __cnfn convert_char8_rtz(short8);
3376 char8 __ovld __cnfn convert_char8_sat_rtz(short8);
3377 char8 __ovld __cnfn convert_char8_rtp(short8);
3378 char8 __ovld __cnfn convert_char8_sat_rtp(short8);
3379 char8 __ovld __cnfn convert_char8_rtn(short8);
3380 char8 __ovld __cnfn convert_char8_sat_rtn(short8);
3381 char8 __ovld __cnfn convert_char8(short8);
3382 char8 __ovld __cnfn convert_char8_sat(short8);
3383 char8 __ovld __cnfn convert_char8_rte(ushort8);
3384 char8 __ovld __cnfn convert_char8_sat_rte(ushort8);
3385 char8 __ovld __cnfn convert_char8_rtz(ushort8);
3386 char8 __ovld __cnfn convert_char8_sat_rtz(ushort8);
3387 char8 __ovld __cnfn convert_char8_rtp(ushort8);
3388 char8 __ovld __cnfn convert_char8_sat_rtp(ushort8);
3389 char8 __ovld __cnfn convert_char8_rtn(ushort8);
3390 char8 __ovld __cnfn convert_char8_sat_rtn(ushort8);
3391 char8 __ovld __cnfn convert_char8(ushort8);
3392 char8 __ovld __cnfn convert_char8_sat(ushort8);
3393 char8 __ovld __cnfn convert_char8_rte(int8);
3394 char8 __ovld __cnfn convert_char8_sat_rte(int8);
3395 char8 __ovld __cnfn convert_char8_rtz(int8);
3396 char8 __ovld __cnfn convert_char8_sat_rtz(int8);
3397 char8 __ovld __cnfn convert_char8_rtp(int8);
3398 char8 __ovld __cnfn convert_char8_sat_rtp(int8);
3399 char8 __ovld __cnfn convert_char8_rtn(int8);
3400 char8 __ovld __cnfn convert_char8_sat_rtn(int8);
3401 char8 __ovld __cnfn convert_char8(int8);
3402 char8 __ovld __cnfn convert_char8_sat(int8);
3403 char8 __ovld __cnfn convert_char8_rte(uint8);
3404 char8 __ovld __cnfn convert_char8_sat_rte(uint8);
3405 char8 __ovld __cnfn convert_char8_rtz(uint8);
3406 char8 __ovld __cnfn convert_char8_sat_rtz(uint8);
3407 char8 __ovld __cnfn convert_char8_rtp(uint8);
3408 char8 __ovld __cnfn convert_char8_sat_rtp(uint8);
3409 char8 __ovld __cnfn convert_char8_rtn(uint8);
3410 char8 __ovld __cnfn convert_char8_sat_rtn(uint8);
3411 char8 __ovld __cnfn convert_char8(uint8);
3412 char8 __ovld __cnfn convert_char8_sat(uint8);
3413 char8 __ovld __cnfn convert_char8_rte(long8);
3414 char8 __ovld __cnfn convert_char8_sat_rte(long8);
3415 char8 __ovld __cnfn convert_char8_rtz(long8);
3416 char8 __ovld __cnfn convert_char8_sat_rtz(long8);
3417 char8 __ovld __cnfn convert_char8_rtp(long8);
3418 char8 __ovld __cnfn convert_char8_sat_rtp(long8);
3419 char8 __ovld __cnfn convert_char8_rtn(long8);
3420 char8 __ovld __cnfn convert_char8_sat_rtn(long8);
3421 char8 __ovld __cnfn convert_char8(long8);
3422 char8 __ovld __cnfn convert_char8_sat(long8);
3423 char8 __ovld __cnfn convert_char8_rte(ulong8);
3424 char8 __ovld __cnfn convert_char8_sat_rte(ulong8);
3425 char8 __ovld __cnfn convert_char8_rtz(ulong8);
3426 char8 __ovld __cnfn convert_char8_sat_rtz(ulong8);
3427 char8 __ovld __cnfn convert_char8_rtp(ulong8);
3428 char8 __ovld __cnfn convert_char8_sat_rtp(ulong8);
3429 char8 __ovld __cnfn convert_char8_rtn(ulong8);
3430 char8 __ovld __cnfn convert_char8_sat_rtn(ulong8);
3431 char8 __ovld __cnfn convert_char8(ulong8);
3432 char8 __ovld __cnfn convert_char8_sat(ulong8);
3433 char8 __ovld __cnfn convert_char8_rte(float8);
3434 char8 __ovld __cnfn convert_char8_sat_rte(float8);
3435 char8 __ovld __cnfn convert_char8_rtz(float8);
3436 char8 __ovld __cnfn convert_char8_sat_rtz(float8);
3437 char8 __ovld __cnfn convert_char8_rtp(float8);
3438 char8 __ovld __cnfn convert_char8_sat_rtp(float8);
3439 char8 __ovld __cnfn convert_char8_rtn(float8);
3440 char8 __ovld __cnfn convert_char8_sat_rtn(float8);
3441 char8 __ovld __cnfn convert_char8(float8);
3442 char8 __ovld __cnfn convert_char8_sat(float8);
3443 uchar8 __ovld __cnfn convert_uchar8_rte(char8);
3444 uchar8 __ovld __cnfn convert_uchar8_sat_rte(char8);
3445 uchar8 __ovld __cnfn convert_uchar8_rtz(char8);
3446 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(char8);
3447 uchar8 __ovld __cnfn convert_uchar8_rtp(char8);
3448 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(char8);
3449 uchar8 __ovld __cnfn convert_uchar8_rtn(char8);
3450 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(char8);
3451 uchar8 __ovld __cnfn convert_uchar8(char8);
3452 uchar8 __ovld __cnfn convert_uchar8_sat(char8);
3453 uchar8 __ovld __cnfn convert_uchar8_rte(uchar8);
3454 uchar8 __ovld __cnfn convert_uchar8_sat_rte(uchar8);
3455 uchar8 __ovld __cnfn convert_uchar8_rtz(uchar8);
3456 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(uchar8);
3457 uchar8 __ovld __cnfn convert_uchar8_rtp(uchar8);
3458 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(uchar8);
3459 uchar8 __ovld __cnfn convert_uchar8_rtn(uchar8);
3460 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(uchar8);
3461 uchar8 __ovld __cnfn convert_uchar8(uchar8);
3462 uchar8 __ovld __cnfn convert_uchar8_sat(uchar8);
3463 uchar8 __ovld __cnfn convert_uchar8_rte(short8);
3464 uchar8 __ovld __cnfn convert_uchar8_sat_rte(short8);
3465 uchar8 __ovld __cnfn convert_uchar8_rtz(short8);
3466 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(short8);
3467 uchar8 __ovld __cnfn convert_uchar8_rtp(short8);
3468 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(short8);
3469 uchar8 __ovld __cnfn convert_uchar8_rtn(short8);
3470 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(short8);
3471 uchar8 __ovld __cnfn convert_uchar8(short8);
3472 uchar8 __ovld __cnfn convert_uchar8_sat(short8);
3473 uchar8 __ovld __cnfn convert_uchar8_rte(ushort8);
3474 uchar8 __ovld __cnfn convert_uchar8_sat_rte(ushort8);
3475 uchar8 __ovld __cnfn convert_uchar8_rtz(ushort8);
3476 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(ushort8);
3477 uchar8 __ovld __cnfn convert_uchar8_rtp(ushort8);
3478 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(ushort8);
3479 uchar8 __ovld __cnfn convert_uchar8_rtn(ushort8);
3480 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(ushort8);
3481 uchar8 __ovld __cnfn convert_uchar8(ushort8);
3482 uchar8 __ovld __cnfn convert_uchar8_sat(ushort8);
3483 uchar8 __ovld __cnfn convert_uchar8_rte(int8);
3484 uchar8 __ovld __cnfn convert_uchar8_sat_rte(int8);
3485 uchar8 __ovld __cnfn convert_uchar8_rtz(int8);
3486 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(int8);
3487 uchar8 __ovld __cnfn convert_uchar8_rtp(int8);
3488 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(int8);
3489 uchar8 __ovld __cnfn convert_uchar8_rtn(int8);
3490 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(int8);
3491 uchar8 __ovld __cnfn convert_uchar8(int8);
3492 uchar8 __ovld __cnfn convert_uchar8_sat(int8);
3493 uchar8 __ovld __cnfn convert_uchar8_rte(uint8);
3494 uchar8 __ovld __cnfn convert_uchar8_sat_rte(uint8);
3495 uchar8 __ovld __cnfn convert_uchar8_rtz(uint8);
3496 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(uint8);
3497 uchar8 __ovld __cnfn convert_uchar8_rtp(uint8);
3498 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(uint8);
3499 uchar8 __ovld __cnfn convert_uchar8_rtn(uint8);
3500 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(uint8);
3501 uchar8 __ovld __cnfn convert_uchar8(uint8);
3502 uchar8 __ovld __cnfn convert_uchar8_sat(uint8);
3503 uchar8 __ovld __cnfn convert_uchar8_rte(long8);
3504 uchar8 __ovld __cnfn convert_uchar8_sat_rte(long8);
3505 uchar8 __ovld __cnfn convert_uchar8_rtz(long8);
3506 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(long8);
3507 uchar8 __ovld __cnfn convert_uchar8_rtp(long8);
3508 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(long8);
3509 uchar8 __ovld __cnfn convert_uchar8_rtn(long8);
3510 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(long8);
3511 uchar8 __ovld __cnfn convert_uchar8(long8);
3512 uchar8 __ovld __cnfn convert_uchar8_sat(long8);
3513 uchar8 __ovld __cnfn convert_uchar8_rte(ulong8);
3514 uchar8 __ovld __cnfn convert_uchar8_sat_rte(ulong8);
3515 uchar8 __ovld __cnfn convert_uchar8_rtz(ulong8);
3516 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(ulong8);
3517 uchar8 __ovld __cnfn convert_uchar8_rtp(ulong8);
3518 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(ulong8);
3519 uchar8 __ovld __cnfn convert_uchar8_rtn(ulong8);
3520 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(ulong8);
3521 uchar8 __ovld __cnfn convert_uchar8(ulong8);
3522 uchar8 __ovld __cnfn convert_uchar8_sat(ulong8);
3523 uchar8 __ovld __cnfn convert_uchar8_rte(float8);
3524 uchar8 __ovld __cnfn convert_uchar8_sat_rte(float8);
3525 uchar8 __ovld __cnfn convert_uchar8_rtz(float8);
3526 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(float8);
3527 uchar8 __ovld __cnfn convert_uchar8_rtp(float8);
3528 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(float8);
3529 uchar8 __ovld __cnfn convert_uchar8_rtn(float8);
3530 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(float8);
3531 uchar8 __ovld __cnfn convert_uchar8(float8);
3532 uchar8 __ovld __cnfn convert_uchar8_sat(float8);
3533 short8 __ovld __cnfn convert_short8_rte(char8);
3534 short8 __ovld __cnfn convert_short8_sat_rte(char8);
3535 short8 __ovld __cnfn convert_short8_rtz(char8);
3536 short8 __ovld __cnfn convert_short8_sat_rtz(char8);
3537 short8 __ovld __cnfn convert_short8_rtp(char8);
3538 short8 __ovld __cnfn convert_short8_sat_rtp(char8);
3539 short8 __ovld __cnfn convert_short8_rtn(char8);
3540 short8 __ovld __cnfn convert_short8_sat_rtn(char8);
3541 short8 __ovld __cnfn convert_short8(char8);
3542 short8 __ovld __cnfn convert_short8_sat(char8);
3543 short8 __ovld __cnfn convert_short8_rte(uchar8);
3544 short8 __ovld __cnfn convert_short8_sat_rte(uchar8);
3545 short8 __ovld __cnfn convert_short8_rtz(uchar8);
3546 short8 __ovld __cnfn convert_short8_sat_rtz(uchar8);
3547 short8 __ovld __cnfn convert_short8_rtp(uchar8);
3548 short8 __ovld __cnfn convert_short8_sat_rtp(uchar8);
3549 short8 __ovld __cnfn convert_short8_rtn(uchar8);
3550 short8 __ovld __cnfn convert_short8_sat_rtn(uchar8);
3551 short8 __ovld __cnfn convert_short8(uchar8);
3552 short8 __ovld __cnfn convert_short8_sat(uchar8);
3553 short8 __ovld __cnfn convert_short8_rte(short8);
3554 short8 __ovld __cnfn convert_short8_sat_rte(short8);
3555 short8 __ovld __cnfn convert_short8_rtz(short8);
3556 short8 __ovld __cnfn convert_short8_sat_rtz(short8);
3557 short8 __ovld __cnfn convert_short8_rtp(short8);
3558 short8 __ovld __cnfn convert_short8_sat_rtp(short8);
3559 short8 __ovld __cnfn convert_short8_rtn(short8);
3560 short8 __ovld __cnfn convert_short8_sat_rtn(short8);
3561 short8 __ovld __cnfn convert_short8(short8);
3562 short8 __ovld __cnfn convert_short8_sat(short8);
3563 short8 __ovld __cnfn convert_short8_rte(ushort8);
3564 short8 __ovld __cnfn convert_short8_sat_rte(ushort8);
3565 short8 __ovld __cnfn convert_short8_rtz(ushort8);
3566 short8 __ovld __cnfn convert_short8_sat_rtz(ushort8);
3567 short8 __ovld __cnfn convert_short8_rtp(ushort8);
3568 short8 __ovld __cnfn convert_short8_sat_rtp(ushort8);
3569 short8 __ovld __cnfn convert_short8_rtn(ushort8);
3570 short8 __ovld __cnfn convert_short8_sat_rtn(ushort8);
3571 short8 __ovld __cnfn convert_short8(ushort8);
3572 short8 __ovld __cnfn convert_short8_sat(ushort8);
3573 short8 __ovld __cnfn convert_short8_rte(int8);
3574 short8 __ovld __cnfn convert_short8_sat_rte(int8);
3575 short8 __ovld __cnfn convert_short8_rtz(int8);
3576 short8 __ovld __cnfn convert_short8_sat_rtz(int8);
3577 short8 __ovld __cnfn convert_short8_rtp(int8);
3578 short8 __ovld __cnfn convert_short8_sat_rtp(int8);
3579 short8 __ovld __cnfn convert_short8_rtn(int8);
3580 short8 __ovld __cnfn convert_short8_sat_rtn(int8);
3581 short8 __ovld __cnfn convert_short8(int8);
3582 short8 __ovld __cnfn convert_short8_sat(int8);
3583 short8 __ovld __cnfn convert_short8_rte(uint8);
3584 short8 __ovld __cnfn convert_short8_sat_rte(uint8);
3585 short8 __ovld __cnfn convert_short8_rtz(uint8);
3586 short8 __ovld __cnfn convert_short8_sat_rtz(uint8);
3587 short8 __ovld __cnfn convert_short8_rtp(uint8);
3588 short8 __ovld __cnfn convert_short8_sat_rtp(uint8);
3589 short8 __ovld __cnfn convert_short8_rtn(uint8);
3590 short8 __ovld __cnfn convert_short8_sat_rtn(uint8);
3591 short8 __ovld __cnfn convert_short8(uint8);
3592 short8 __ovld __cnfn convert_short8_sat(uint8);
3593 short8 __ovld __cnfn convert_short8_rte(long8);
3594 short8 __ovld __cnfn convert_short8_sat_rte(long8);
3595 short8 __ovld __cnfn convert_short8_rtz(long8);
3596 short8 __ovld __cnfn convert_short8_sat_rtz(long8);
3597 short8 __ovld __cnfn convert_short8_rtp(long8);
3598 short8 __ovld __cnfn convert_short8_sat_rtp(long8);
3599 short8 __ovld __cnfn convert_short8_rtn(long8);
3600 short8 __ovld __cnfn convert_short8_sat_rtn(long8);
3601 short8 __ovld __cnfn convert_short8(long8);
3602 short8 __ovld __cnfn convert_short8_sat(long8);
3603 short8 __ovld __cnfn convert_short8_rte(ulong8);
3604 short8 __ovld __cnfn convert_short8_sat_rte(ulong8);
3605 short8 __ovld __cnfn convert_short8_rtz(ulong8);
3606 short8 __ovld __cnfn convert_short8_sat_rtz(ulong8);
3607 short8 __ovld __cnfn convert_short8_rtp(ulong8);
3608 short8 __ovld __cnfn convert_short8_sat_rtp(ulong8);
3609 short8 __ovld __cnfn convert_short8_rtn(ulong8);
3610 short8 __ovld __cnfn convert_short8_sat_rtn(ulong8);
3611 short8 __ovld __cnfn convert_short8(ulong8);
3612 short8 __ovld __cnfn convert_short8_sat(ulong8);
3613 short8 __ovld __cnfn convert_short8_rte(float8);
3614 short8 __ovld __cnfn convert_short8_sat_rte(float8);
3615 short8 __ovld __cnfn convert_short8_rtz(float8);
3616 short8 __ovld __cnfn convert_short8_sat_rtz(float8);
3617 short8 __ovld __cnfn convert_short8_rtp(float8);
3618 short8 __ovld __cnfn convert_short8_sat_rtp(float8);
3619 short8 __ovld __cnfn convert_short8_rtn(float8);
3620 short8 __ovld __cnfn convert_short8_sat_rtn(float8);
3621 short8 __ovld __cnfn convert_short8(float8);
3622 short8 __ovld __cnfn convert_short8_sat(float8);
3623 ushort8 __ovld __cnfn convert_ushort8_rte(char8);
3624 ushort8 __ovld __cnfn convert_ushort8_sat_rte(char8);
3625 ushort8 __ovld __cnfn convert_ushort8_rtz(char8);
3626 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(char8);
3627 ushort8 __ovld __cnfn convert_ushort8_rtp(char8);
3628 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(char8);
3629 ushort8 __ovld __cnfn convert_ushort8_rtn(char8);
3630 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(char8);
3631 ushort8 __ovld __cnfn convert_ushort8(char8);
3632 ushort8 __ovld __cnfn convert_ushort8_sat(char8);
3633 ushort8 __ovld __cnfn convert_ushort8_rte(uchar8);
3634 ushort8 __ovld __cnfn convert_ushort8_sat_rte(uchar8);
3635 ushort8 __ovld __cnfn convert_ushort8_rtz(uchar8);
3636 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(uchar8);
3637 ushort8 __ovld __cnfn convert_ushort8_rtp(uchar8);
3638 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(uchar8);
3639 ushort8 __ovld __cnfn convert_ushort8_rtn(uchar8);
3640 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(uchar8);
3641 ushort8 __ovld __cnfn convert_ushort8(uchar8);
3642 ushort8 __ovld __cnfn convert_ushort8_sat(uchar8);
3643 ushort8 __ovld __cnfn convert_ushort8_rte(short8);
3644 ushort8 __ovld __cnfn convert_ushort8_sat_rte(short8);
3645 ushort8 __ovld __cnfn convert_ushort8_rtz(short8);
3646 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(short8);
3647 ushort8 __ovld __cnfn convert_ushort8_rtp(short8);
3648 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(short8);
3649 ushort8 __ovld __cnfn convert_ushort8_rtn(short8);
3650 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(short8);
3651 ushort8 __ovld __cnfn convert_ushort8(short8);
3652 ushort8 __ovld __cnfn convert_ushort8_sat(short8);
3653 ushort8 __ovld __cnfn convert_ushort8_rte(ushort8);
3654 ushort8 __ovld __cnfn convert_ushort8_sat_rte(ushort8);
3655 ushort8 __ovld __cnfn convert_ushort8_rtz(ushort8);
3656 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(ushort8);
3657 ushort8 __ovld __cnfn convert_ushort8_rtp(ushort8);
3658 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(ushort8);
3659 ushort8 __ovld __cnfn convert_ushort8_rtn(ushort8);
3660 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(ushort8);
3661 ushort8 __ovld __cnfn convert_ushort8(ushort8);
3662 ushort8 __ovld __cnfn convert_ushort8_sat(ushort8);
3663 ushort8 __ovld __cnfn convert_ushort8_rte(int8);
3664 ushort8 __ovld __cnfn convert_ushort8_sat_rte(int8);
3665 ushort8 __ovld __cnfn convert_ushort8_rtz(int8);
3666 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(int8);
3667 ushort8 __ovld __cnfn convert_ushort8_rtp(int8);
3668 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(int8);
3669 ushort8 __ovld __cnfn convert_ushort8_rtn(int8);
3670 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(int8);
3671 ushort8 __ovld __cnfn convert_ushort8(int8);
3672 ushort8 __ovld __cnfn convert_ushort8_sat(int8);
3673 ushort8 __ovld __cnfn convert_ushort8_rte(uint8);
3674 ushort8 __ovld __cnfn convert_ushort8_sat_rte(uint8);
3675 ushort8 __ovld __cnfn convert_ushort8_rtz(uint8);
3676 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(uint8);
3677 ushort8 __ovld __cnfn convert_ushort8_rtp(uint8);
3678 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(uint8);
3679 ushort8 __ovld __cnfn convert_ushort8_rtn(uint8);
3680 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(uint8);
3681 ushort8 __ovld __cnfn convert_ushort8(uint8);
3682 ushort8 __ovld __cnfn convert_ushort8_sat(uint8);
3683 ushort8 __ovld __cnfn convert_ushort8_rte(long8);
3684 ushort8 __ovld __cnfn convert_ushort8_sat_rte(long8);
3685 ushort8 __ovld __cnfn convert_ushort8_rtz(long8);
3686 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(long8);
3687 ushort8 __ovld __cnfn convert_ushort8_rtp(long8);
3688 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(long8);
3689 ushort8 __ovld __cnfn convert_ushort8_rtn(long8);
3690 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(long8);
3691 ushort8 __ovld __cnfn convert_ushort8(long8);
3692 ushort8 __ovld __cnfn convert_ushort8_sat(long8);
3693 ushort8 __ovld __cnfn convert_ushort8_rte(ulong8);
3694 ushort8 __ovld __cnfn convert_ushort8_sat_rte(ulong8);
3695 ushort8 __ovld __cnfn convert_ushort8_rtz(ulong8);
3696 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(ulong8);
3697 ushort8 __ovld __cnfn convert_ushort8_rtp(ulong8);
3698 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(ulong8);
3699 ushort8 __ovld __cnfn convert_ushort8_rtn(ulong8);
3700 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(ulong8);
3701 ushort8 __ovld __cnfn convert_ushort8(ulong8);
3702 ushort8 __ovld __cnfn convert_ushort8_sat(ulong8);
3703 ushort8 __ovld __cnfn convert_ushort8_rte(float8);
3704 ushort8 __ovld __cnfn convert_ushort8_sat_rte(float8);
3705 ushort8 __ovld __cnfn convert_ushort8_rtz(float8);
3706 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(float8);
3707 ushort8 __ovld __cnfn convert_ushort8_rtp(float8);
3708 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(float8);
3709 ushort8 __ovld __cnfn convert_ushort8_rtn(float8);
3710 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(float8);
3711 ushort8 __ovld __cnfn convert_ushort8(float8);
3712 ushort8 __ovld __cnfn convert_ushort8_sat(float8);
3713 int8 __ovld __cnfn convert_int8_rte(char8);
3714 int8 __ovld __cnfn convert_int8_sat_rte(char8);
3715 int8 __ovld __cnfn convert_int8_rtz(char8);
3716 int8 __ovld __cnfn convert_int8_sat_rtz(char8);
3717 int8 __ovld __cnfn convert_int8_rtp(char8);
3718 int8 __ovld __cnfn convert_int8_sat_rtp(char8);
3719 int8 __ovld __cnfn convert_int8_rtn(char8);
3720 int8 __ovld __cnfn convert_int8_sat_rtn(char8);
3721 int8 __ovld __cnfn convert_int8(char8);
3722 int8 __ovld __cnfn convert_int8_sat(char8);
3723 int8 __ovld __cnfn convert_int8_rte(uchar8);
3724 int8 __ovld __cnfn convert_int8_sat_rte(uchar8);
3725 int8 __ovld __cnfn convert_int8_rtz(uchar8);
3726 int8 __ovld __cnfn convert_int8_sat_rtz(uchar8);
3727 int8 __ovld __cnfn convert_int8_rtp(uchar8);
3728 int8 __ovld __cnfn convert_int8_sat_rtp(uchar8);
3729 int8 __ovld __cnfn convert_int8_rtn(uchar8);
3730 int8 __ovld __cnfn convert_int8_sat_rtn(uchar8);
3731 int8 __ovld __cnfn convert_int8(uchar8);
3732 int8 __ovld __cnfn convert_int8_sat(uchar8);
3733 int8 __ovld __cnfn convert_int8_rte(short8);
3734 int8 __ovld __cnfn convert_int8_sat_rte(short8);
3735 int8 __ovld __cnfn convert_int8_rtz(short8);
3736 int8 __ovld __cnfn convert_int8_sat_rtz(short8);
3737 int8 __ovld __cnfn convert_int8_rtp(short8);
3738 int8 __ovld __cnfn convert_int8_sat_rtp(short8);
3739 int8 __ovld __cnfn convert_int8_rtn(short8);
3740 int8 __ovld __cnfn convert_int8_sat_rtn(short8);
3741 int8 __ovld __cnfn convert_int8(short8);
3742 int8 __ovld __cnfn convert_int8_sat(short8);
3743 int8 __ovld __cnfn convert_int8_rte(ushort8);
3744 int8 __ovld __cnfn convert_int8_sat_rte(ushort8);
3745 int8 __ovld __cnfn convert_int8_rtz(ushort8);
3746 int8 __ovld __cnfn convert_int8_sat_rtz(ushort8);
3747 int8 __ovld __cnfn convert_int8_rtp(ushort8);
3748 int8 __ovld __cnfn convert_int8_sat_rtp(ushort8);
3749 int8 __ovld __cnfn convert_int8_rtn(ushort8);
3750 int8 __ovld __cnfn convert_int8_sat_rtn(ushort8);
3751 int8 __ovld __cnfn convert_int8(ushort8);
3752 int8 __ovld __cnfn convert_int8_sat(ushort8);
3753 int8 __ovld __cnfn convert_int8_rte(int8);
3754 int8 __ovld __cnfn convert_int8_sat_rte(int8);
3755 int8 __ovld __cnfn convert_int8_rtz(int8);
3756 int8 __ovld __cnfn convert_int8_sat_rtz(int8);
3757 int8 __ovld __cnfn convert_int8_rtp(int8);
3758 int8 __ovld __cnfn convert_int8_sat_rtp(int8);
3759 int8 __ovld __cnfn convert_int8_rtn(int8);
3760 int8 __ovld __cnfn convert_int8_sat_rtn(int8);
3761 int8 __ovld __cnfn convert_int8(int8);
3762 int8 __ovld __cnfn convert_int8_sat(int8);
3763 int8 __ovld __cnfn convert_int8_rte(uint8);
3764 int8 __ovld __cnfn convert_int8_sat_rte(uint8);
3765 int8 __ovld __cnfn convert_int8_rtz(uint8);
3766 int8 __ovld __cnfn convert_int8_sat_rtz(uint8);
3767 int8 __ovld __cnfn convert_int8_rtp(uint8);
3768 int8 __ovld __cnfn convert_int8_sat_rtp(uint8);
3769 int8 __ovld __cnfn convert_int8_rtn(uint8);
3770 int8 __ovld __cnfn convert_int8_sat_rtn(uint8);
3771 int8 __ovld __cnfn convert_int8(uint8);
3772 int8 __ovld __cnfn convert_int8_sat(uint8);
3773 int8 __ovld __cnfn convert_int8_rte(long8);
3774 int8 __ovld __cnfn convert_int8_sat_rte(long8);
3775 int8 __ovld __cnfn convert_int8_rtz(long8);
3776 int8 __ovld __cnfn convert_int8_sat_rtz(long8);
3777 int8 __ovld __cnfn convert_int8_rtp(long8);
3778 int8 __ovld __cnfn convert_int8_sat_rtp(long8);
3779 int8 __ovld __cnfn convert_int8_rtn(long8);
3780 int8 __ovld __cnfn convert_int8_sat_rtn(long8);
3781 int8 __ovld __cnfn convert_int8(long8);
3782 int8 __ovld __cnfn convert_int8_sat(long8);
3783 int8 __ovld __cnfn convert_int8_rte(ulong8);
3784 int8 __ovld __cnfn convert_int8_sat_rte(ulong8);
3785 int8 __ovld __cnfn convert_int8_rtz(ulong8);
3786 int8 __ovld __cnfn convert_int8_sat_rtz(ulong8);
3787 int8 __ovld __cnfn convert_int8_rtp(ulong8);
3788 int8 __ovld __cnfn convert_int8_sat_rtp(ulong8);
3789 int8 __ovld __cnfn convert_int8_rtn(ulong8);
3790 int8 __ovld __cnfn convert_int8_sat_rtn(ulong8);
3791 int8 __ovld __cnfn convert_int8(ulong8);
3792 int8 __ovld __cnfn convert_int8_sat(ulong8);
3793 int8 __ovld __cnfn convert_int8_rte(float8);
3794 int8 __ovld __cnfn convert_int8_sat_rte(float8);
3795 int8 __ovld __cnfn convert_int8_rtz(float8);
3796 int8 __ovld __cnfn convert_int8_sat_rtz(float8);
3797 int8 __ovld __cnfn convert_int8_rtp(float8);
3798 int8 __ovld __cnfn convert_int8_sat_rtp(float8);
3799 int8 __ovld __cnfn convert_int8_rtn(float8);
3800 int8 __ovld __cnfn convert_int8_sat_rtn(float8);
3801 int8 __ovld __cnfn convert_int8(float8);
3802 int8 __ovld __cnfn convert_int8_sat(float8);
3803 uint8 __ovld __cnfn convert_uint8_rte(char8);
3804 uint8 __ovld __cnfn convert_uint8_sat_rte(char8);
3805 uint8 __ovld __cnfn convert_uint8_rtz(char8);
3806 uint8 __ovld __cnfn convert_uint8_sat_rtz(char8);
3807 uint8 __ovld __cnfn convert_uint8_rtp(char8);
3808 uint8 __ovld __cnfn convert_uint8_sat_rtp(char8);
3809 uint8 __ovld __cnfn convert_uint8_rtn(char8);
3810 uint8 __ovld __cnfn convert_uint8_sat_rtn(char8);
3811 uint8 __ovld __cnfn convert_uint8(char8);
3812 uint8 __ovld __cnfn convert_uint8_sat(char8);
3813 uint8 __ovld __cnfn convert_uint8_rte(uchar8);
3814 uint8 __ovld __cnfn convert_uint8_sat_rte(uchar8);
3815 uint8 __ovld __cnfn convert_uint8_rtz(uchar8);
3816 uint8 __ovld __cnfn convert_uint8_sat_rtz(uchar8);
3817 uint8 __ovld __cnfn convert_uint8_rtp(uchar8);
3818 uint8 __ovld __cnfn convert_uint8_sat_rtp(uchar8);
3819 uint8 __ovld __cnfn convert_uint8_rtn(uchar8);
3820 uint8 __ovld __cnfn convert_uint8_sat_rtn(uchar8);
3821 uint8 __ovld __cnfn convert_uint8(uchar8);
3822 uint8 __ovld __cnfn convert_uint8_sat(uchar8);
3823 uint8 __ovld __cnfn convert_uint8_rte(short8);
3824 uint8 __ovld __cnfn convert_uint8_sat_rte(short8);
3825 uint8 __ovld __cnfn convert_uint8_rtz(short8);
3826 uint8 __ovld __cnfn convert_uint8_sat_rtz(short8);
3827 uint8 __ovld __cnfn convert_uint8_rtp(short8);
3828 uint8 __ovld __cnfn convert_uint8_sat_rtp(short8);
3829 uint8 __ovld __cnfn convert_uint8_rtn(short8);
3830 uint8 __ovld __cnfn convert_uint8_sat_rtn(short8);
3831 uint8 __ovld __cnfn convert_uint8(short8);
3832 uint8 __ovld __cnfn convert_uint8_sat(short8);
3833 uint8 __ovld __cnfn convert_uint8_rte(ushort8);
3834 uint8 __ovld __cnfn convert_uint8_sat_rte(ushort8);
3835 uint8 __ovld __cnfn convert_uint8_rtz(ushort8);
3836 uint8 __ovld __cnfn convert_uint8_sat_rtz(ushort8);
3837 uint8 __ovld __cnfn convert_uint8_rtp(ushort8);
3838 uint8 __ovld __cnfn convert_uint8_sat_rtp(ushort8);
3839 uint8 __ovld __cnfn convert_uint8_rtn(ushort8);
3840 uint8 __ovld __cnfn convert_uint8_sat_rtn(ushort8);
3841 uint8 __ovld __cnfn convert_uint8(ushort8);
3842 uint8 __ovld __cnfn convert_uint8_sat(ushort8);
3843 uint8 __ovld __cnfn convert_uint8_rte(int8);
3844 uint8 __ovld __cnfn convert_uint8_sat_rte(int8);
3845 uint8 __ovld __cnfn convert_uint8_rtz(int8);
3846 uint8 __ovld __cnfn convert_uint8_sat_rtz(int8);
3847 uint8 __ovld __cnfn convert_uint8_rtp(int8);
3848 uint8 __ovld __cnfn convert_uint8_sat_rtp(int8);
3849 uint8 __ovld __cnfn convert_uint8_rtn(int8);
3850 uint8 __ovld __cnfn convert_uint8_sat_rtn(int8);
3851 uint8 __ovld __cnfn convert_uint8(int8);
3852 uint8 __ovld __cnfn convert_uint8_sat(int8);
3853 uint8 __ovld __cnfn convert_uint8_rte(uint8);
3854 uint8 __ovld __cnfn convert_uint8_sat_rte(uint8);
3855 uint8 __ovld __cnfn convert_uint8_rtz(uint8);
3856 uint8 __ovld __cnfn convert_uint8_sat_rtz(uint8);
3857 uint8 __ovld __cnfn convert_uint8_rtp(uint8);
3858 uint8 __ovld __cnfn convert_uint8_sat_rtp(uint8);
3859 uint8 __ovld __cnfn convert_uint8_rtn(uint8);
3860 uint8 __ovld __cnfn convert_uint8_sat_rtn(uint8);
3861 uint8 __ovld __cnfn convert_uint8(uint8);
3862 uint8 __ovld __cnfn convert_uint8_sat(uint8);
3863 uint8 __ovld __cnfn convert_uint8_rte(long8);
3864 uint8 __ovld __cnfn convert_uint8_sat_rte(long8);
3865 uint8 __ovld __cnfn convert_uint8_rtz(long8);
3866 uint8 __ovld __cnfn convert_uint8_sat_rtz(long8);
3867 uint8 __ovld __cnfn convert_uint8_rtp(long8);
3868 uint8 __ovld __cnfn convert_uint8_sat_rtp(long8);
3869 uint8 __ovld __cnfn convert_uint8_rtn(long8);
3870 uint8 __ovld __cnfn convert_uint8_sat_rtn(long8);
3871 uint8 __ovld __cnfn convert_uint8(long8);
3872 uint8 __ovld __cnfn convert_uint8_sat(long8);
3873 uint8 __ovld __cnfn convert_uint8_rte(ulong8);
3874 uint8 __ovld __cnfn convert_uint8_sat_rte(ulong8);
3875 uint8 __ovld __cnfn convert_uint8_rtz(ulong8);
3876 uint8 __ovld __cnfn convert_uint8_sat_rtz(ulong8);
3877 uint8 __ovld __cnfn convert_uint8_rtp(ulong8);
3878 uint8 __ovld __cnfn convert_uint8_sat_rtp(ulong8);
3879 uint8 __ovld __cnfn convert_uint8_rtn(ulong8);
3880 uint8 __ovld __cnfn convert_uint8_sat_rtn(ulong8);
3881 uint8 __ovld __cnfn convert_uint8(ulong8);
3882 uint8 __ovld __cnfn convert_uint8_sat(ulong8);
3883 uint8 __ovld __cnfn convert_uint8_rte(float8);
3884 uint8 __ovld __cnfn convert_uint8_sat_rte(float8);
3885 uint8 __ovld __cnfn convert_uint8_rtz(float8);
3886 uint8 __ovld __cnfn convert_uint8_sat_rtz(float8);
3887 uint8 __ovld __cnfn convert_uint8_rtp(float8);
3888 uint8 __ovld __cnfn convert_uint8_sat_rtp(float8);
3889 uint8 __ovld __cnfn convert_uint8_rtn(float8);
3890 uint8 __ovld __cnfn convert_uint8_sat_rtn(float8);
3891 uint8 __ovld __cnfn convert_uint8(float8);
3892 uint8 __ovld __cnfn convert_uint8_sat(float8);
3893 long8 __ovld __cnfn convert_long8_rte(char8);
3894 long8 __ovld __cnfn convert_long8_sat_rte(char8);
3895 long8 __ovld __cnfn convert_long8_rtz(char8);
3896 long8 __ovld __cnfn convert_long8_sat_rtz(char8);
3897 long8 __ovld __cnfn convert_long8_rtp(char8);
3898 long8 __ovld __cnfn convert_long8_sat_rtp(char8);
3899 long8 __ovld __cnfn convert_long8_rtn(char8);
3900 long8 __ovld __cnfn convert_long8_sat_rtn(char8);
3901 long8 __ovld __cnfn convert_long8(char8);
3902 long8 __ovld __cnfn convert_long8_sat(char8);
3903 long8 __ovld __cnfn convert_long8_rte(uchar8);
3904 long8 __ovld __cnfn convert_long8_sat_rte(uchar8);
3905 long8 __ovld __cnfn convert_long8_rtz(uchar8);
3906 long8 __ovld __cnfn convert_long8_sat_rtz(uchar8);
3907 long8 __ovld __cnfn convert_long8_rtp(uchar8);
3908 long8 __ovld __cnfn convert_long8_sat_rtp(uchar8);
3909 long8 __ovld __cnfn convert_long8_rtn(uchar8);
3910 long8 __ovld __cnfn convert_long8_sat_rtn(uchar8);
3911 long8 __ovld __cnfn convert_long8(uchar8);
3912 long8 __ovld __cnfn convert_long8_sat(uchar8);
3913 long8 __ovld __cnfn convert_long8_rte(short8);
3914 long8 __ovld __cnfn convert_long8_sat_rte(short8);
3915 long8 __ovld __cnfn convert_long8_rtz(short8);
3916 long8 __ovld __cnfn convert_long8_sat_rtz(short8);
3917 long8 __ovld __cnfn convert_long8_rtp(short8);
3918 long8 __ovld __cnfn convert_long8_sat_rtp(short8);
3919 long8 __ovld __cnfn convert_long8_rtn(short8);
3920 long8 __ovld __cnfn convert_long8_sat_rtn(short8);
3921 long8 __ovld __cnfn convert_long8(short8);
3922 long8 __ovld __cnfn convert_long8_sat(short8);
3923 long8 __ovld __cnfn convert_long8_rte(ushort8);
3924 long8 __ovld __cnfn convert_long8_sat_rte(ushort8);
3925 long8 __ovld __cnfn convert_long8_rtz(ushort8);
3926 long8 __ovld __cnfn convert_long8_sat_rtz(ushort8);
3927 long8 __ovld __cnfn convert_long8_rtp(ushort8);
3928 long8 __ovld __cnfn convert_long8_sat_rtp(ushort8);
3929 long8 __ovld __cnfn convert_long8_rtn(ushort8);
3930 long8 __ovld __cnfn convert_long8_sat_rtn(ushort8);
3931 long8 __ovld __cnfn convert_long8(ushort8);
3932 long8 __ovld __cnfn convert_long8_sat(ushort8);
3933 long8 __ovld __cnfn convert_long8_rte(int8);
3934 long8 __ovld __cnfn convert_long8_sat_rte(int8);
3935 long8 __ovld __cnfn convert_long8_rtz(int8);
3936 long8 __ovld __cnfn convert_long8_sat_rtz(int8);
3937 long8 __ovld __cnfn convert_long8_rtp(int8);
3938 long8 __ovld __cnfn convert_long8_sat_rtp(int8);
3939 long8 __ovld __cnfn convert_long8_rtn(int8);
3940 long8 __ovld __cnfn convert_long8_sat_rtn(int8);
3941 long8 __ovld __cnfn convert_long8(int8);
3942 long8 __ovld __cnfn convert_long8_sat(int8);
3943 long8 __ovld __cnfn convert_long8_rte(uint8);
3944 long8 __ovld __cnfn convert_long8_sat_rte(uint8);
3945 long8 __ovld __cnfn convert_long8_rtz(uint8);
3946 long8 __ovld __cnfn convert_long8_sat_rtz(uint8);
3947 long8 __ovld __cnfn convert_long8_rtp(uint8);
3948 long8 __ovld __cnfn convert_long8_sat_rtp(uint8);
3949 long8 __ovld __cnfn convert_long8_rtn(uint8);
3950 long8 __ovld __cnfn convert_long8_sat_rtn(uint8);
3951 long8 __ovld __cnfn convert_long8(uint8);
3952 long8 __ovld __cnfn convert_long8_sat(uint8);
3953 long8 __ovld __cnfn convert_long8_rte(long8);
3954 long8 __ovld __cnfn convert_long8_sat_rte(long8);
3955 long8 __ovld __cnfn convert_long8_rtz(long8);
3956 long8 __ovld __cnfn convert_long8_sat_rtz(long8);
3957 long8 __ovld __cnfn convert_long8_rtp(long8);
3958 long8 __ovld __cnfn convert_long8_sat_rtp(long8);
3959 long8 __ovld __cnfn convert_long8_rtn(long8);
3960 long8 __ovld __cnfn convert_long8_sat_rtn(long8);
3961 long8 __ovld __cnfn convert_long8(long8);
3962 long8 __ovld __cnfn convert_long8_sat(long8);
3963 long8 __ovld __cnfn convert_long8_rte(ulong8);
3964 long8 __ovld __cnfn convert_long8_sat_rte(ulong8);
3965 long8 __ovld __cnfn convert_long8_rtz(ulong8);
3966 long8 __ovld __cnfn convert_long8_sat_rtz(ulong8);
3967 long8 __ovld __cnfn convert_long8_rtp(ulong8);
3968 long8 __ovld __cnfn convert_long8_sat_rtp(ulong8);
3969 long8 __ovld __cnfn convert_long8_rtn(ulong8);
3970 long8 __ovld __cnfn convert_long8_sat_rtn(ulong8);
3971 long8 __ovld __cnfn convert_long8(ulong8);
3972 long8 __ovld __cnfn convert_long8_sat(ulong8);
3973 long8 __ovld __cnfn convert_long8_rte(float8);
3974 long8 __ovld __cnfn convert_long8_sat_rte(float8);
3975 long8 __ovld __cnfn convert_long8_rtz(float8);
3976 long8 __ovld __cnfn convert_long8_sat_rtz(float8);
3977 long8 __ovld __cnfn convert_long8_rtp(float8);
3978 long8 __ovld __cnfn convert_long8_sat_rtp(float8);
3979 long8 __ovld __cnfn convert_long8_rtn(float8);
3980 long8 __ovld __cnfn convert_long8_sat_rtn(float8);
3981 long8 __ovld __cnfn convert_long8(float8);
3982 long8 __ovld __cnfn convert_long8_sat(float8);
3983 ulong8 __ovld __cnfn convert_ulong8_rte(char8);
3984 ulong8 __ovld __cnfn convert_ulong8_sat_rte(char8);
3985 ulong8 __ovld __cnfn convert_ulong8_rtz(char8);
3986 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(char8);
3987 ulong8 __ovld __cnfn convert_ulong8_rtp(char8);
3988 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(char8);
3989 ulong8 __ovld __cnfn convert_ulong8_rtn(char8);
3990 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(char8);
3991 ulong8 __ovld __cnfn convert_ulong8(char8);
3992 ulong8 __ovld __cnfn convert_ulong8_sat(char8);
3993 ulong8 __ovld __cnfn convert_ulong8_rte(uchar8);
3994 ulong8 __ovld __cnfn convert_ulong8_sat_rte(uchar8);
3995 ulong8 __ovld __cnfn convert_ulong8_rtz(uchar8);
3996 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(uchar8);
3997 ulong8 __ovld __cnfn convert_ulong8_rtp(uchar8);
3998 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(uchar8);
3999 ulong8 __ovld __cnfn convert_ulong8_rtn(uchar8);
4000 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(uchar8);
4001 ulong8 __ovld __cnfn convert_ulong8(uchar8);
4002 ulong8 __ovld __cnfn convert_ulong8_sat(uchar8);
4003 ulong8 __ovld __cnfn convert_ulong8_rte(short8);
4004 ulong8 __ovld __cnfn convert_ulong8_sat_rte(short8);
4005 ulong8 __ovld __cnfn convert_ulong8_rtz(short8);
4006 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(short8);
4007 ulong8 __ovld __cnfn convert_ulong8_rtp(short8);
4008 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(short8);
4009 ulong8 __ovld __cnfn convert_ulong8_rtn(short8);
4010 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(short8);
4011 ulong8 __ovld __cnfn convert_ulong8(short8);
4012 ulong8 __ovld __cnfn convert_ulong8_sat(short8);
4013 ulong8 __ovld __cnfn convert_ulong8_rte(ushort8);
4014 ulong8 __ovld __cnfn convert_ulong8_sat_rte(ushort8);
4015 ulong8 __ovld __cnfn convert_ulong8_rtz(ushort8);
4016 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(ushort8);
4017 ulong8 __ovld __cnfn convert_ulong8_rtp(ushort8);
4018 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(ushort8);
4019 ulong8 __ovld __cnfn convert_ulong8_rtn(ushort8);
4020 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(ushort8);
4021 ulong8 __ovld __cnfn convert_ulong8(ushort8);
4022 ulong8 __ovld __cnfn convert_ulong8_sat(ushort8);
4023 ulong8 __ovld __cnfn convert_ulong8_rte(int8);
4024 ulong8 __ovld __cnfn convert_ulong8_sat_rte(int8);
4025 ulong8 __ovld __cnfn convert_ulong8_rtz(int8);
4026 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(int8);
4027 ulong8 __ovld __cnfn convert_ulong8_rtp(int8);
4028 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(int8);
4029 ulong8 __ovld __cnfn convert_ulong8_rtn(int8);
4030 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(int8);
4031 ulong8 __ovld __cnfn convert_ulong8(int8);
4032 ulong8 __ovld __cnfn convert_ulong8_sat(int8);
4033 ulong8 __ovld __cnfn convert_ulong8_rte(uint8);
4034 ulong8 __ovld __cnfn convert_ulong8_sat_rte(uint8);
4035 ulong8 __ovld __cnfn convert_ulong8_rtz(uint8);
4036 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(uint8);
4037 ulong8 __ovld __cnfn convert_ulong8_rtp(uint8);
4038 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(uint8);
4039 ulong8 __ovld __cnfn convert_ulong8_rtn(uint8);
4040 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(uint8);
4041 ulong8 __ovld __cnfn convert_ulong8(uint8);
4042 ulong8 __ovld __cnfn convert_ulong8_sat(uint8);
4043 ulong8 __ovld __cnfn convert_ulong8_rte(long8);
4044 ulong8 __ovld __cnfn convert_ulong8_sat_rte(long8);
4045 ulong8 __ovld __cnfn convert_ulong8_rtz(long8);
4046 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(long8);
4047 ulong8 __ovld __cnfn convert_ulong8_rtp(long8);
4048 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(long8);
4049 ulong8 __ovld __cnfn convert_ulong8_rtn(long8);
4050 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(long8);
4051 ulong8 __ovld __cnfn convert_ulong8(long8);
4052 ulong8 __ovld __cnfn convert_ulong8_sat(long8);
4053 ulong8 __ovld __cnfn convert_ulong8_rte(ulong8);
4054 ulong8 __ovld __cnfn convert_ulong8_sat_rte(ulong8);
4055 ulong8 __ovld __cnfn convert_ulong8_rtz(ulong8);
4056 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(ulong8);
4057 ulong8 __ovld __cnfn convert_ulong8_rtp(ulong8);
4058 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(ulong8);
4059 ulong8 __ovld __cnfn convert_ulong8_rtn(ulong8);
4060 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(ulong8);
4061 ulong8 __ovld __cnfn convert_ulong8(ulong8);
4062 ulong8 __ovld __cnfn convert_ulong8_sat(ulong8);
4063 ulong8 __ovld __cnfn convert_ulong8_rte(float8);
4064 ulong8 __ovld __cnfn convert_ulong8_sat_rte(float8);
4065 ulong8 __ovld __cnfn convert_ulong8_rtz(float8);
4066 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(float8);
4067 ulong8 __ovld __cnfn convert_ulong8_rtp(float8);
4068 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(float8);
4069 ulong8 __ovld __cnfn convert_ulong8_rtn(float8);
4070 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(float8);
4071 ulong8 __ovld __cnfn convert_ulong8(float8);
4072 ulong8 __ovld __cnfn convert_ulong8_sat(float8);
4073 float8 __ovld __cnfn convert_float8_rte(char8);
4074 float8 __ovld __cnfn convert_float8_rtz(char8);
4075 float8 __ovld __cnfn convert_float8_rtp(char8);
4076 float8 __ovld __cnfn convert_float8_rtn(char8);
4077 float8 __ovld __cnfn convert_float8(char8);
4078 float8 __ovld __cnfn convert_float8_rte(uchar8);
4079 float8 __ovld __cnfn convert_float8_rtz(uchar8);
4080 float8 __ovld __cnfn convert_float8_rtp(uchar8);
4081 float8 __ovld __cnfn convert_float8_rtn(uchar8);
4082 float8 __ovld __cnfn convert_float8(uchar8);
4083 float8 __ovld __cnfn convert_float8_rte(short8);
4084 float8 __ovld __cnfn convert_float8_rtz(short8);
4085 float8 __ovld __cnfn convert_float8_rtp(short8);
4086 float8 __ovld __cnfn convert_float8_rtn(short8);
4087 float8 __ovld __cnfn convert_float8(short8);
4088 float8 __ovld __cnfn convert_float8_rte(ushort8);
4089 float8 __ovld __cnfn convert_float8_rtz(ushort8);
4090 float8 __ovld __cnfn convert_float8_rtp(ushort8);
4091 float8 __ovld __cnfn convert_float8_rtn(ushort8);
4092 float8 __ovld __cnfn convert_float8(ushort8);
4093 float8 __ovld __cnfn convert_float8_rte(int8);
4094 float8 __ovld __cnfn convert_float8_rtz(int8);
4095 float8 __ovld __cnfn convert_float8_rtp(int8);
4096 float8 __ovld __cnfn convert_float8_rtn(int8);
4097 float8 __ovld __cnfn convert_float8(int8);
4098 float8 __ovld __cnfn convert_float8_rte(uint8);
4099 float8 __ovld __cnfn convert_float8_rtz(uint8);
4100 float8 __ovld __cnfn convert_float8_rtp(uint8);
4101 float8 __ovld __cnfn convert_float8_rtn(uint8);
4102 float8 __ovld __cnfn convert_float8(uint8);
4103 float8 __ovld __cnfn convert_float8_rte(long8);
4104 float8 __ovld __cnfn convert_float8_rtz(long8);
4105 float8 __ovld __cnfn convert_float8_rtp(long8);
4106 float8 __ovld __cnfn convert_float8_rtn(long8);
4107 float8 __ovld __cnfn convert_float8(long8);
4108 float8 __ovld __cnfn convert_float8_rte(ulong8);
4109 float8 __ovld __cnfn convert_float8_rtz(ulong8);
4110 float8 __ovld __cnfn convert_float8_rtp(ulong8);
4111 float8 __ovld __cnfn convert_float8_rtn(ulong8);
4112 float8 __ovld __cnfn convert_float8(ulong8);
4113 float8 __ovld __cnfn convert_float8_rte(float8);
4114 float8 __ovld __cnfn convert_float8_rtz(float8);
4115 float8 __ovld __cnfn convert_float8_rtp(float8);
4116 float8 __ovld __cnfn convert_float8_rtn(float8);
4117 float8 __ovld __cnfn convert_float8(float8);
4118 char16 __ovld __cnfn convert_char16_rte(char16);
4119 char16 __ovld __cnfn convert_char16_sat_rte(char16);
4120 char16 __ovld __cnfn convert_char16_rtz(char16);
4121 char16 __ovld __cnfn convert_char16_sat_rtz(char16);
4122 char16 __ovld __cnfn convert_char16_rtp(char16);
4123 char16 __ovld __cnfn convert_char16_sat_rtp(char16);
4124 char16 __ovld __cnfn convert_char16_rtn(char16);
4125 char16 __ovld __cnfn convert_char16_sat_rtn(char16);
4126 char16 __ovld __cnfn convert_char16(char16);
4127 char16 __ovld __cnfn convert_char16_sat(char16);
4128 char16 __ovld __cnfn convert_char16_rte(uchar16);
4129 char16 __ovld __cnfn convert_char16_sat_rte(uchar16);
4130 char16 __ovld __cnfn convert_char16_rtz(uchar16);
4131 char16 __ovld __cnfn convert_char16_sat_rtz(uchar16);
4132 char16 __ovld __cnfn convert_char16_rtp(uchar16);
4133 char16 __ovld __cnfn convert_char16_sat_rtp(uchar16);
4134 char16 __ovld __cnfn convert_char16_rtn(uchar16);
4135 char16 __ovld __cnfn convert_char16_sat_rtn(uchar16);
4136 char16 __ovld __cnfn convert_char16(uchar16);
4137 char16 __ovld __cnfn convert_char16_sat(uchar16);
4138 char16 __ovld __cnfn convert_char16_rte(short16);
4139 char16 __ovld __cnfn convert_char16_sat_rte(short16);
4140 char16 __ovld __cnfn convert_char16_rtz(short16);
4141 char16 __ovld __cnfn convert_char16_sat_rtz(short16);
4142 char16 __ovld __cnfn convert_char16_rtp(short16);
4143 char16 __ovld __cnfn convert_char16_sat_rtp(short16);
4144 char16 __ovld __cnfn convert_char16_rtn(short16);
4145 char16 __ovld __cnfn convert_char16_sat_rtn(short16);
4146 char16 __ovld __cnfn convert_char16(short16);
4147 char16 __ovld __cnfn convert_char16_sat(short16);
4148 char16 __ovld __cnfn convert_char16_rte(ushort16);
4149 char16 __ovld __cnfn convert_char16_sat_rte(ushort16);
4150 char16 __ovld __cnfn convert_char16_rtz(ushort16);
4151 char16 __ovld __cnfn convert_char16_sat_rtz(ushort16);
4152 char16 __ovld __cnfn convert_char16_rtp(ushort16);
4153 char16 __ovld __cnfn convert_char16_sat_rtp(ushort16);
4154 char16 __ovld __cnfn convert_char16_rtn(ushort16);
4155 char16 __ovld __cnfn convert_char16_sat_rtn(ushort16);
4156 char16 __ovld __cnfn convert_char16(ushort16);
4157 char16 __ovld __cnfn convert_char16_sat(ushort16);
4158 char16 __ovld __cnfn convert_char16_rte(int16);
4159 char16 __ovld __cnfn convert_char16_sat_rte(int16);
4160 char16 __ovld __cnfn convert_char16_rtz(int16);
4161 char16 __ovld __cnfn convert_char16_sat_rtz(int16);
4162 char16 __ovld __cnfn convert_char16_rtp(int16);
4163 char16 __ovld __cnfn convert_char16_sat_rtp(int16);
4164 char16 __ovld __cnfn convert_char16_rtn(int16);
4165 char16 __ovld __cnfn convert_char16_sat_rtn(int16);
4166 char16 __ovld __cnfn convert_char16(int16);
4167 char16 __ovld __cnfn convert_char16_sat(int16);
4168 char16 __ovld __cnfn convert_char16_rte(uint16);
4169 char16 __ovld __cnfn convert_char16_sat_rte(uint16);
4170 char16 __ovld __cnfn convert_char16_rtz(uint16);
4171 char16 __ovld __cnfn convert_char16_sat_rtz(uint16);
4172 char16 __ovld __cnfn convert_char16_rtp(uint16);
4173 char16 __ovld __cnfn convert_char16_sat_rtp(uint16);
4174 char16 __ovld __cnfn convert_char16_rtn(uint16);
4175 char16 __ovld __cnfn convert_char16_sat_rtn(uint16);
4176 char16 __ovld __cnfn convert_char16(uint16);
4177 char16 __ovld __cnfn convert_char16_sat(uint16);
4178 char16 __ovld __cnfn convert_char16_rte(long16);
4179 char16 __ovld __cnfn convert_char16_sat_rte(long16);
4180 char16 __ovld __cnfn convert_char16_rtz(long16);
4181 char16 __ovld __cnfn convert_char16_sat_rtz(long16);
4182 char16 __ovld __cnfn convert_char16_rtp(long16);
4183 char16 __ovld __cnfn convert_char16_sat_rtp(long16);
4184 char16 __ovld __cnfn convert_char16_rtn(long16);
4185 char16 __ovld __cnfn convert_char16_sat_rtn(long16);
4186 char16 __ovld __cnfn convert_char16(long16);
4187 char16 __ovld __cnfn convert_char16_sat(long16);
4188 char16 __ovld __cnfn convert_char16_rte(ulong16);
4189 char16 __ovld __cnfn convert_char16_sat_rte(ulong16);
4190 char16 __ovld __cnfn convert_char16_rtz(ulong16);
4191 char16 __ovld __cnfn convert_char16_sat_rtz(ulong16);
4192 char16 __ovld __cnfn convert_char16_rtp(ulong16);
4193 char16 __ovld __cnfn convert_char16_sat_rtp(ulong16);
4194 char16 __ovld __cnfn convert_char16_rtn(ulong16);
4195 char16 __ovld __cnfn convert_char16_sat_rtn(ulong16);
4196 char16 __ovld __cnfn convert_char16(ulong16);
4197 char16 __ovld __cnfn convert_char16_sat(ulong16);
4198 char16 __ovld __cnfn convert_char16_rte(float16);
4199 char16 __ovld __cnfn convert_char16_sat_rte(float16);
4200 char16 __ovld __cnfn convert_char16_rtz(float16);
4201 char16 __ovld __cnfn convert_char16_sat_rtz(float16);
4202 char16 __ovld __cnfn convert_char16_rtp(float16);
4203 char16 __ovld __cnfn convert_char16_sat_rtp(float16);
4204 char16 __ovld __cnfn convert_char16_rtn(float16);
4205 char16 __ovld __cnfn convert_char16_sat_rtn(float16);
4206 char16 __ovld __cnfn convert_char16(float16);
4207 char16 __ovld __cnfn convert_char16_sat(float16);
4208 uchar16 __ovld __cnfn convert_uchar16_rte(char16);
4209 uchar16 __ovld __cnfn convert_uchar16_sat_rte(char16);
4210 uchar16 __ovld __cnfn convert_uchar16_rtz(char16);
4211 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(char16);
4212 uchar16 __ovld __cnfn convert_uchar16_rtp(char16);
4213 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(char16);
4214 uchar16 __ovld __cnfn convert_uchar16_rtn(char16);
4215 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(char16);
4216 uchar16 __ovld __cnfn convert_uchar16(char16);
4217 uchar16 __ovld __cnfn convert_uchar16_sat(char16);
4218 uchar16 __ovld __cnfn convert_uchar16_rte(uchar16);
4219 uchar16 __ovld __cnfn convert_uchar16_sat_rte(uchar16);
4220 uchar16 __ovld __cnfn convert_uchar16_rtz(uchar16);
4221 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(uchar16);
4222 uchar16 __ovld __cnfn convert_uchar16_rtp(uchar16);
4223 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(uchar16);
4224 uchar16 __ovld __cnfn convert_uchar16_rtn(uchar16);
4225 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(uchar16);
4226 uchar16 __ovld __cnfn convert_uchar16(uchar16);
4227 uchar16 __ovld __cnfn convert_uchar16_sat(uchar16);
4228 uchar16 __ovld __cnfn convert_uchar16_rte(short16);
4229 uchar16 __ovld __cnfn convert_uchar16_sat_rte(short16);
4230 uchar16 __ovld __cnfn convert_uchar16_rtz(short16);
4231 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(short16);
4232 uchar16 __ovld __cnfn convert_uchar16_rtp(short16);
4233 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(short16);
4234 uchar16 __ovld __cnfn convert_uchar16_rtn(short16);
4235 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(short16);
4236 uchar16 __ovld __cnfn convert_uchar16(short16);
4237 uchar16 __ovld __cnfn convert_uchar16_sat(short16);
4238 uchar16 __ovld __cnfn convert_uchar16_rte(ushort16);
4239 uchar16 __ovld __cnfn convert_uchar16_sat_rte(ushort16);
4240 uchar16 __ovld __cnfn convert_uchar16_rtz(ushort16);
4241 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(ushort16);
4242 uchar16 __ovld __cnfn convert_uchar16_rtp(ushort16);
4243 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(ushort16);
4244 uchar16 __ovld __cnfn convert_uchar16_rtn(ushort16);
4245 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(ushort16);
4246 uchar16 __ovld __cnfn convert_uchar16(ushort16);
4247 uchar16 __ovld __cnfn convert_uchar16_sat(ushort16);
4248 uchar16 __ovld __cnfn convert_uchar16_rte(int16);
4249 uchar16 __ovld __cnfn convert_uchar16_sat_rte(int16);
4250 uchar16 __ovld __cnfn convert_uchar16_rtz(int16);
4251 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(int16);
4252 uchar16 __ovld __cnfn convert_uchar16_rtp(int16);
4253 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(int16);
4254 uchar16 __ovld __cnfn convert_uchar16_rtn(int16);
4255 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(int16);
4256 uchar16 __ovld __cnfn convert_uchar16(int16);
4257 uchar16 __ovld __cnfn convert_uchar16_sat(int16);
4258 uchar16 __ovld __cnfn convert_uchar16_rte(uint16);
4259 uchar16 __ovld __cnfn convert_uchar16_sat_rte(uint16);
4260 uchar16 __ovld __cnfn convert_uchar16_rtz(uint16);
4261 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(uint16);
4262 uchar16 __ovld __cnfn convert_uchar16_rtp(uint16);
4263 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(uint16);
4264 uchar16 __ovld __cnfn convert_uchar16_rtn(uint16);
4265 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(uint16);
4266 uchar16 __ovld __cnfn convert_uchar16(uint16);
4267 uchar16 __ovld __cnfn convert_uchar16_sat(uint16);
4268 uchar16 __ovld __cnfn convert_uchar16_rte(long16);
4269 uchar16 __ovld __cnfn convert_uchar16_sat_rte(long16);
4270 uchar16 __ovld __cnfn convert_uchar16_rtz(long16);
4271 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(long16);
4272 uchar16 __ovld __cnfn convert_uchar16_rtp(long16);
4273 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(long16);
4274 uchar16 __ovld __cnfn convert_uchar16_rtn(long16);
4275 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(long16);
4276 uchar16 __ovld __cnfn convert_uchar16(long16);
4277 uchar16 __ovld __cnfn convert_uchar16_sat(long16);
4278 uchar16 __ovld __cnfn convert_uchar16_rte(ulong16);
4279 uchar16 __ovld __cnfn convert_uchar16_sat_rte(ulong16);
4280 uchar16 __ovld __cnfn convert_uchar16_rtz(ulong16);
4281 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(ulong16);
4282 uchar16 __ovld __cnfn convert_uchar16_rtp(ulong16);
4283 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(ulong16);
4284 uchar16 __ovld __cnfn convert_uchar16_rtn(ulong16);
4285 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(ulong16);
4286 uchar16 __ovld __cnfn convert_uchar16(ulong16);
4287 uchar16 __ovld __cnfn convert_uchar16_sat(ulong16);
4288 uchar16 __ovld __cnfn convert_uchar16_rte(float16);
4289 uchar16 __ovld __cnfn convert_uchar16_sat_rte(float16);
4290 uchar16 __ovld __cnfn convert_uchar16_rtz(float16);
4291 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(float16);
4292 uchar16 __ovld __cnfn convert_uchar16_rtp(float16);
4293 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(float16);
4294 uchar16 __ovld __cnfn convert_uchar16_rtn(float16);
4295 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(float16);
4296 uchar16 __ovld __cnfn convert_uchar16(float16);
4297 uchar16 __ovld __cnfn convert_uchar16_sat(float16);
4298 short16 __ovld __cnfn convert_short16_rte(char16);
4299 short16 __ovld __cnfn convert_short16_sat_rte(char16);
4300 short16 __ovld __cnfn convert_short16_rtz(char16);
4301 short16 __ovld __cnfn convert_short16_sat_rtz(char16);
4302 short16 __ovld __cnfn convert_short16_rtp(char16);
4303 short16 __ovld __cnfn convert_short16_sat_rtp(char16);
4304 short16 __ovld __cnfn convert_short16_rtn(char16);
4305 short16 __ovld __cnfn convert_short16_sat_rtn(char16);
4306 short16 __ovld __cnfn convert_short16(char16);
4307 short16 __ovld __cnfn convert_short16_sat(char16);
4308 short16 __ovld __cnfn convert_short16_rte(uchar16);
4309 short16 __ovld __cnfn convert_short16_sat_rte(uchar16);
4310 short16 __ovld __cnfn convert_short16_rtz(uchar16);
4311 short16 __ovld __cnfn convert_short16_sat_rtz(uchar16);
4312 short16 __ovld __cnfn convert_short16_rtp(uchar16);
4313 short16 __ovld __cnfn convert_short16_sat_rtp(uchar16);
4314 short16 __ovld __cnfn convert_short16_rtn(uchar16);
4315 short16 __ovld __cnfn convert_short16_sat_rtn(uchar16);
4316 short16 __ovld __cnfn convert_short16(uchar16);
4317 short16 __ovld __cnfn convert_short16_sat(uchar16);
4318 short16 __ovld __cnfn convert_short16_rte(short16);
4319 short16 __ovld __cnfn convert_short16_sat_rte(short16);
4320 short16 __ovld __cnfn convert_short16_rtz(short16);
4321 short16 __ovld __cnfn convert_short16_sat_rtz(short16);
4322 short16 __ovld __cnfn convert_short16_rtp(short16);
4323 short16 __ovld __cnfn convert_short16_sat_rtp(short16);
4324 short16 __ovld __cnfn convert_short16_rtn(short16);
4325 short16 __ovld __cnfn convert_short16_sat_rtn(short16);
4326 short16 __ovld __cnfn convert_short16(short16);
4327 short16 __ovld __cnfn convert_short16_sat(short16);
4328 short16 __ovld __cnfn convert_short16_rte(ushort16);
4329 short16 __ovld __cnfn convert_short16_sat_rte(ushort16);
4330 short16 __ovld __cnfn convert_short16_rtz(ushort16);
4331 short16 __ovld __cnfn convert_short16_sat_rtz(ushort16);
4332 short16 __ovld __cnfn convert_short16_rtp(ushort16);
4333 short16 __ovld __cnfn convert_short16_sat_rtp(ushort16);
4334 short16 __ovld __cnfn convert_short16_rtn(ushort16);
4335 short16 __ovld __cnfn convert_short16_sat_rtn(ushort16);
4336 short16 __ovld __cnfn convert_short16(ushort16);
4337 short16 __ovld __cnfn convert_short16_sat(ushort16);
4338 short16 __ovld __cnfn convert_short16_rte(int16);
4339 short16 __ovld __cnfn convert_short16_sat_rte(int16);
4340 short16 __ovld __cnfn convert_short16_rtz(int16);
4341 short16 __ovld __cnfn convert_short16_sat_rtz(int16);
4342 short16 __ovld __cnfn convert_short16_rtp(int16);
4343 short16 __ovld __cnfn convert_short16_sat_rtp(int16);
4344 short16 __ovld __cnfn convert_short16_rtn(int16);
4345 short16 __ovld __cnfn convert_short16_sat_rtn(int16);
4346 short16 __ovld __cnfn convert_short16(int16);
4347 short16 __ovld __cnfn convert_short16_sat(int16);
4348 short16 __ovld __cnfn convert_short16_rte(uint16);
4349 short16 __ovld __cnfn convert_short16_sat_rte(uint16);
4350 short16 __ovld __cnfn convert_short16_rtz(uint16);
4351 short16 __ovld __cnfn convert_short16_sat_rtz(uint16);
4352 short16 __ovld __cnfn convert_short16_rtp(uint16);
4353 short16 __ovld __cnfn convert_short16_sat_rtp(uint16);
4354 short16 __ovld __cnfn convert_short16_rtn(uint16);
4355 short16 __ovld __cnfn convert_short16_sat_rtn(uint16);
4356 short16 __ovld __cnfn convert_short16(uint16);
4357 short16 __ovld __cnfn convert_short16_sat(uint16);
4358 short16 __ovld __cnfn convert_short16_rte(long16);
4359 short16 __ovld __cnfn convert_short16_sat_rte(long16);
4360 short16 __ovld __cnfn convert_short16_rtz(long16);
4361 short16 __ovld __cnfn convert_short16_sat_rtz(long16);
4362 short16 __ovld __cnfn convert_short16_rtp(long16);
4363 short16 __ovld __cnfn convert_short16_sat_rtp(long16);
4364 short16 __ovld __cnfn convert_short16_rtn(long16);
4365 short16 __ovld __cnfn convert_short16_sat_rtn(long16);
4366 short16 __ovld __cnfn convert_short16(long16);
4367 short16 __ovld __cnfn convert_short16_sat(long16);
4368 short16 __ovld __cnfn convert_short16_rte(ulong16);
4369 short16 __ovld __cnfn convert_short16_sat_rte(ulong16);
4370 short16 __ovld __cnfn convert_short16_rtz(ulong16);
4371 short16 __ovld __cnfn convert_short16_sat_rtz(ulong16);
4372 short16 __ovld __cnfn convert_short16_rtp(ulong16);
4373 short16 __ovld __cnfn convert_short16_sat_rtp(ulong16);
4374 short16 __ovld __cnfn convert_short16_rtn(ulong16);
4375 short16 __ovld __cnfn convert_short16_sat_rtn(ulong16);
4376 short16 __ovld __cnfn convert_short16(ulong16);
4377 short16 __ovld __cnfn convert_short16_sat(ulong16);
4378 short16 __ovld __cnfn convert_short16_rte(float16);
4379 short16 __ovld __cnfn convert_short16_sat_rte(float16);
4380 short16 __ovld __cnfn convert_short16_rtz(float16);
4381 short16 __ovld __cnfn convert_short16_sat_rtz(float16);
4382 short16 __ovld __cnfn convert_short16_rtp(float16);
4383 short16 __ovld __cnfn convert_short16_sat_rtp(float16);
4384 short16 __ovld __cnfn convert_short16_rtn(float16);
4385 short16 __ovld __cnfn convert_short16_sat_rtn(float16);
4386 short16 __ovld __cnfn convert_short16(float16);
4387 short16 __ovld __cnfn convert_short16_sat(float16);
4388 ushort16 __ovld __cnfn convert_ushort16_rte(char16);
4389 ushort16 __ovld __cnfn convert_ushort16_sat_rte(char16);
4390 ushort16 __ovld __cnfn convert_ushort16_rtz(char16);
4391 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(char16);
4392 ushort16 __ovld __cnfn convert_ushort16_rtp(char16);
4393 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(char16);
4394 ushort16 __ovld __cnfn convert_ushort16_rtn(char16);
4395 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(char16);
4396 ushort16 __ovld __cnfn convert_ushort16(char16);
4397 ushort16 __ovld __cnfn convert_ushort16_sat(char16);
4398 ushort16 __ovld __cnfn convert_ushort16_rte(uchar16);
4399 ushort16 __ovld __cnfn convert_ushort16_sat_rte(uchar16);
4400 ushort16 __ovld __cnfn convert_ushort16_rtz(uchar16);
4401 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(uchar16);
4402 ushort16 __ovld __cnfn convert_ushort16_rtp(uchar16);
4403 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(uchar16);
4404 ushort16 __ovld __cnfn convert_ushort16_rtn(uchar16);
4405 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(uchar16);
4406 ushort16 __ovld __cnfn convert_ushort16(uchar16);
4407 ushort16 __ovld __cnfn convert_ushort16_sat(uchar16);
4408 ushort16 __ovld __cnfn convert_ushort16_rte(short16);
4409 ushort16 __ovld __cnfn convert_ushort16_sat_rte(short16);
4410 ushort16 __ovld __cnfn convert_ushort16_rtz(short16);
4411 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(short16);
4412 ushort16 __ovld __cnfn convert_ushort16_rtp(short16);
4413 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(short16);
4414 ushort16 __ovld __cnfn convert_ushort16_rtn(short16);
4415 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(short16);
4416 ushort16 __ovld __cnfn convert_ushort16(short16);
4417 ushort16 __ovld __cnfn convert_ushort16_sat(short16);
4418 ushort16 __ovld __cnfn convert_ushort16_rte(ushort16);
4419 ushort16 __ovld __cnfn convert_ushort16_sat_rte(ushort16);
4420 ushort16 __ovld __cnfn convert_ushort16_rtz(ushort16);
4421 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(ushort16);
4422 ushort16 __ovld __cnfn convert_ushort16_rtp(ushort16);
4423 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(ushort16);
4424 ushort16 __ovld __cnfn convert_ushort16_rtn(ushort16);
4425 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(ushort16);
4426 ushort16 __ovld __cnfn convert_ushort16(ushort16);
4427 ushort16 __ovld __cnfn convert_ushort16_sat(ushort16);
4428 ushort16 __ovld __cnfn convert_ushort16_rte(int16);
4429 ushort16 __ovld __cnfn convert_ushort16_sat_rte(int16);
4430 ushort16 __ovld __cnfn convert_ushort16_rtz(int16);
4431 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(int16);
4432 ushort16 __ovld __cnfn convert_ushort16_rtp(int16);
4433 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(int16);
4434 ushort16 __ovld __cnfn convert_ushort16_rtn(int16);
4435 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(int16);
4436 ushort16 __ovld __cnfn convert_ushort16(int16);
4437 ushort16 __ovld __cnfn convert_ushort16_sat(int16);
4438 ushort16 __ovld __cnfn convert_ushort16_rte(uint16);
4439 ushort16 __ovld __cnfn convert_ushort16_sat_rte(uint16);
4440 ushort16 __ovld __cnfn convert_ushort16_rtz(uint16);
4441 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(uint16);
4442 ushort16 __ovld __cnfn convert_ushort16_rtp(uint16);
4443 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(uint16);
4444 ushort16 __ovld __cnfn convert_ushort16_rtn(uint16);
4445 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(uint16);
4446 ushort16 __ovld __cnfn convert_ushort16(uint16);
4447 ushort16 __ovld __cnfn convert_ushort16_sat(uint16);
4448 ushort16 __ovld __cnfn convert_ushort16_rte(long16);
4449 ushort16 __ovld __cnfn convert_ushort16_sat_rte(long16);
4450 ushort16 __ovld __cnfn convert_ushort16_rtz(long16);
4451 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(long16);
4452 ushort16 __ovld __cnfn convert_ushort16_rtp(long16);
4453 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(long16);
4454 ushort16 __ovld __cnfn convert_ushort16_rtn(long16);
4455 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(long16);
4456 ushort16 __ovld __cnfn convert_ushort16(long16);
4457 ushort16 __ovld __cnfn convert_ushort16_sat(long16);
4458 ushort16 __ovld __cnfn convert_ushort16_rte(ulong16);
4459 ushort16 __ovld __cnfn convert_ushort16_sat_rte(ulong16);
4460 ushort16 __ovld __cnfn convert_ushort16_rtz(ulong16);
4461 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(ulong16);
4462 ushort16 __ovld __cnfn convert_ushort16_rtp(ulong16);
4463 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(ulong16);
4464 ushort16 __ovld __cnfn convert_ushort16_rtn(ulong16);
4465 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(ulong16);
4466 ushort16 __ovld __cnfn convert_ushort16(ulong16);
4467 ushort16 __ovld __cnfn convert_ushort16_sat(ulong16);
4468 ushort16 __ovld __cnfn convert_ushort16_rte(float16);
4469 ushort16 __ovld __cnfn convert_ushort16_sat_rte(float16);
4470 ushort16 __ovld __cnfn convert_ushort16_rtz(float16);
4471 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(float16);
4472 ushort16 __ovld __cnfn convert_ushort16_rtp(float16);
4473 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(float16);
4474 ushort16 __ovld __cnfn convert_ushort16_rtn(float16);
4475 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(float16);
4476 ushort16 __ovld __cnfn convert_ushort16(float16);
4477 ushort16 __ovld __cnfn convert_ushort16_sat(float16);
4478 int16 __ovld __cnfn convert_int16_rte(char16);
4479 int16 __ovld __cnfn convert_int16_sat_rte(char16);
4480 int16 __ovld __cnfn convert_int16_rtz(char16);
4481 int16 __ovld __cnfn convert_int16_sat_rtz(char16);
4482 int16 __ovld __cnfn convert_int16_rtp(char16);
4483 int16 __ovld __cnfn convert_int16_sat_rtp(char16);
4484 int16 __ovld __cnfn convert_int16_rtn(char16);
4485 int16 __ovld __cnfn convert_int16_sat_rtn(char16);
4486 int16 __ovld __cnfn convert_int16(char16);
4487 int16 __ovld __cnfn convert_int16_sat(char16);
4488 int16 __ovld __cnfn convert_int16_rte(uchar16);
4489 int16 __ovld __cnfn convert_int16_sat_rte(uchar16);
4490 int16 __ovld __cnfn convert_int16_rtz(uchar16);
4491 int16 __ovld __cnfn convert_int16_sat_rtz(uchar16);
4492 int16 __ovld __cnfn convert_int16_rtp(uchar16);
4493 int16 __ovld __cnfn convert_int16_sat_rtp(uchar16);
4494 int16 __ovld __cnfn convert_int16_rtn(uchar16);
4495 int16 __ovld __cnfn convert_int16_sat_rtn(uchar16);
4496 int16 __ovld __cnfn convert_int16(uchar16);
4497 int16 __ovld __cnfn convert_int16_sat(uchar16);
4498 int16 __ovld __cnfn convert_int16_rte(short16);
4499 int16 __ovld __cnfn convert_int16_sat_rte(short16);
4500 int16 __ovld __cnfn convert_int16_rtz(short16);
4501 int16 __ovld __cnfn convert_int16_sat_rtz(short16);
4502 int16 __ovld __cnfn convert_int16_rtp(short16);
4503 int16 __ovld __cnfn convert_int16_sat_rtp(short16);
4504 int16 __ovld __cnfn convert_int16_rtn(short16);
4505 int16 __ovld __cnfn convert_int16_sat_rtn(short16);
4506 int16 __ovld __cnfn convert_int16(short16);
4507 int16 __ovld __cnfn convert_int16_sat(short16);
4508 int16 __ovld __cnfn convert_int16_rte(ushort16);
4509 int16 __ovld __cnfn convert_int16_sat_rte(ushort16);
4510 int16 __ovld __cnfn convert_int16_rtz(ushort16);
4511 int16 __ovld __cnfn convert_int16_sat_rtz(ushort16);
4512 int16 __ovld __cnfn convert_int16_rtp(ushort16);
4513 int16 __ovld __cnfn convert_int16_sat_rtp(ushort16);
4514 int16 __ovld __cnfn convert_int16_rtn(ushort16);
4515 int16 __ovld __cnfn convert_int16_sat_rtn(ushort16);
4516 int16 __ovld __cnfn convert_int16(ushort16);
4517 int16 __ovld __cnfn convert_int16_sat(ushort16);
4518 int16 __ovld __cnfn convert_int16_rte(int16);
4519 int16 __ovld __cnfn convert_int16_sat_rte(int16);
4520 int16 __ovld __cnfn convert_int16_rtz(int16);
4521 int16 __ovld __cnfn convert_int16_sat_rtz(int16);
4522 int16 __ovld __cnfn convert_int16_rtp(int16);
4523 int16 __ovld __cnfn convert_int16_sat_rtp(int16);
4524 int16 __ovld __cnfn convert_int16_rtn(int16);
4525 int16 __ovld __cnfn convert_int16_sat_rtn(int16);
4526 int16 __ovld __cnfn convert_int16(int16);
4527 int16 __ovld __cnfn convert_int16_sat(int16);
4528 int16 __ovld __cnfn convert_int16_rte(uint16);
4529 int16 __ovld __cnfn convert_int16_sat_rte(uint16);
4530 int16 __ovld __cnfn convert_int16_rtz(uint16);
4531 int16 __ovld __cnfn convert_int16_sat_rtz(uint16);
4532 int16 __ovld __cnfn convert_int16_rtp(uint16);
4533 int16 __ovld __cnfn convert_int16_sat_rtp(uint16);
4534 int16 __ovld __cnfn convert_int16_rtn(uint16);
4535 int16 __ovld __cnfn convert_int16_sat_rtn(uint16);
4536 int16 __ovld __cnfn convert_int16(uint16);
4537 int16 __ovld __cnfn convert_int16_sat(uint16);
4538 int16 __ovld __cnfn convert_int16_rte(long16);
4539 int16 __ovld __cnfn convert_int16_sat_rte(long16);
4540 int16 __ovld __cnfn convert_int16_rtz(long16);
4541 int16 __ovld __cnfn convert_int16_sat_rtz(long16);
4542 int16 __ovld __cnfn convert_int16_rtp(long16);
4543 int16 __ovld __cnfn convert_int16_sat_rtp(long16);
4544 int16 __ovld __cnfn convert_int16_rtn(long16);
4545 int16 __ovld __cnfn convert_int16_sat_rtn(long16);
4546 int16 __ovld __cnfn convert_int16(long16);
4547 int16 __ovld __cnfn convert_int16_sat(long16);
4548 int16 __ovld __cnfn convert_int16_rte(ulong16);
4549 int16 __ovld __cnfn convert_int16_sat_rte(ulong16);
4550 int16 __ovld __cnfn convert_int16_rtz(ulong16);
4551 int16 __ovld __cnfn convert_int16_sat_rtz(ulong16);
4552 int16 __ovld __cnfn convert_int16_rtp(ulong16);
4553 int16 __ovld __cnfn convert_int16_sat_rtp(ulong16);
4554 int16 __ovld __cnfn convert_int16_rtn(ulong16);
4555 int16 __ovld __cnfn convert_int16_sat_rtn(ulong16);
4556 int16 __ovld __cnfn convert_int16(ulong16);
4557 int16 __ovld __cnfn convert_int16_sat(ulong16);
4558 int16 __ovld __cnfn convert_int16_rte(float16);
4559 int16 __ovld __cnfn convert_int16_sat_rte(float16);
4560 int16 __ovld __cnfn convert_int16_rtz(float16);
4561 int16 __ovld __cnfn convert_int16_sat_rtz(float16);
4562 int16 __ovld __cnfn convert_int16_rtp(float16);
4563 int16 __ovld __cnfn convert_int16_sat_rtp(float16);
4564 int16 __ovld __cnfn convert_int16_rtn(float16);
4565 int16 __ovld __cnfn convert_int16_sat_rtn(float16);
4566 int16 __ovld __cnfn convert_int16(float16);
4567 int16 __ovld __cnfn convert_int16_sat(float16);
4568 uint16 __ovld __cnfn convert_uint16_rte(char16);
4569 uint16 __ovld __cnfn convert_uint16_sat_rte(char16);
4570 uint16 __ovld __cnfn convert_uint16_rtz(char16);
4571 uint16 __ovld __cnfn convert_uint16_sat_rtz(char16);
4572 uint16 __ovld __cnfn convert_uint16_rtp(char16);
4573 uint16 __ovld __cnfn convert_uint16_sat_rtp(char16);
4574 uint16 __ovld __cnfn convert_uint16_rtn(char16);
4575 uint16 __ovld __cnfn convert_uint16_sat_rtn(char16);
4576 uint16 __ovld __cnfn convert_uint16(char16);
4577 uint16 __ovld __cnfn convert_uint16_sat(char16);
4578 uint16 __ovld __cnfn convert_uint16_rte(uchar16);
4579 uint16 __ovld __cnfn convert_uint16_sat_rte(uchar16);
4580 uint16 __ovld __cnfn convert_uint16_rtz(uchar16);
4581 uint16 __ovld __cnfn convert_uint16_sat_rtz(uchar16);
4582 uint16 __ovld __cnfn convert_uint16_rtp(uchar16);
4583 uint16 __ovld __cnfn convert_uint16_sat_rtp(uchar16);
4584 uint16 __ovld __cnfn convert_uint16_rtn(uchar16);
4585 uint16 __ovld __cnfn convert_uint16_sat_rtn(uchar16);
4586 uint16 __ovld __cnfn convert_uint16(uchar16);
4587 uint16 __ovld __cnfn convert_uint16_sat(uchar16);
4588 uint16 __ovld __cnfn convert_uint16_rte(short16);
4589 uint16 __ovld __cnfn convert_uint16_sat_rte(short16);
4590 uint16 __ovld __cnfn convert_uint16_rtz(short16);
4591 uint16 __ovld __cnfn convert_uint16_sat_rtz(short16);
4592 uint16 __ovld __cnfn convert_uint16_rtp(short16);
4593 uint16 __ovld __cnfn convert_uint16_sat_rtp(short16);
4594 uint16 __ovld __cnfn convert_uint16_rtn(short16);
4595 uint16 __ovld __cnfn convert_uint16_sat_rtn(short16);
4596 uint16 __ovld __cnfn convert_uint16(short16);
4597 uint16 __ovld __cnfn convert_uint16_sat(short16);
4598 uint16 __ovld __cnfn convert_uint16_rte(ushort16);
4599 uint16 __ovld __cnfn convert_uint16_sat_rte(ushort16);
4600 uint16 __ovld __cnfn convert_uint16_rtz(ushort16);
4601 uint16 __ovld __cnfn convert_uint16_sat_rtz(ushort16);
4602 uint16 __ovld __cnfn convert_uint16_rtp(ushort16);
4603 uint16 __ovld __cnfn convert_uint16_sat_rtp(ushort16);
4604 uint16 __ovld __cnfn convert_uint16_rtn(ushort16);
4605 uint16 __ovld __cnfn convert_uint16_sat_rtn(ushort16);
4606 uint16 __ovld __cnfn convert_uint16(ushort16);
4607 uint16 __ovld __cnfn convert_uint16_sat(ushort16);
4608 uint16 __ovld __cnfn convert_uint16_rte(int16);
4609 uint16 __ovld __cnfn convert_uint16_sat_rte(int16);
4610 uint16 __ovld __cnfn convert_uint16_rtz(int16);
4611 uint16 __ovld __cnfn convert_uint16_sat_rtz(int16);
4612 uint16 __ovld __cnfn convert_uint16_rtp(int16);
4613 uint16 __ovld __cnfn convert_uint16_sat_rtp(int16);
4614 uint16 __ovld __cnfn convert_uint16_rtn(int16);
4615 uint16 __ovld __cnfn convert_uint16_sat_rtn(int16);
4616 uint16 __ovld __cnfn convert_uint16(int16);
4617 uint16 __ovld __cnfn convert_uint16_sat(int16);
4618 uint16 __ovld __cnfn convert_uint16_rte(uint16);
4619 uint16 __ovld __cnfn convert_uint16_sat_rte(uint16);
4620 uint16 __ovld __cnfn convert_uint16_rtz(uint16);
4621 uint16 __ovld __cnfn convert_uint16_sat_rtz(uint16);
4622 uint16 __ovld __cnfn convert_uint16_rtp(uint16);
4623 uint16 __ovld __cnfn convert_uint16_sat_rtp(uint16);
4624 uint16 __ovld __cnfn convert_uint16_rtn(uint16);
4625 uint16 __ovld __cnfn convert_uint16_sat_rtn(uint16);
4626 uint16 __ovld __cnfn convert_uint16(uint16);
4627 uint16 __ovld __cnfn convert_uint16_sat(uint16);
4628 uint16 __ovld __cnfn convert_uint16_rte(long16);
4629 uint16 __ovld __cnfn convert_uint16_sat_rte(long16);
4630 uint16 __ovld __cnfn convert_uint16_rtz(long16);
4631 uint16 __ovld __cnfn convert_uint16_sat_rtz(long16);
4632 uint16 __ovld __cnfn convert_uint16_rtp(long16);
4633 uint16 __ovld __cnfn convert_uint16_sat_rtp(long16);
4634 uint16 __ovld __cnfn convert_uint16_rtn(long16);
4635 uint16 __ovld __cnfn convert_uint16_sat_rtn(long16);
4636 uint16 __ovld __cnfn convert_uint16(long16);
4637 uint16 __ovld __cnfn convert_uint16_sat(long16);
4638 uint16 __ovld __cnfn convert_uint16_rte(ulong16);
4639 uint16 __ovld __cnfn convert_uint16_sat_rte(ulong16);
4640 uint16 __ovld __cnfn convert_uint16_rtz(ulong16);
4641 uint16 __ovld __cnfn convert_uint16_sat_rtz(ulong16);
4642 uint16 __ovld __cnfn convert_uint16_rtp(ulong16);
4643 uint16 __ovld __cnfn convert_uint16_sat_rtp(ulong16);
4644 uint16 __ovld __cnfn convert_uint16_rtn(ulong16);
4645 uint16 __ovld __cnfn convert_uint16_sat_rtn(ulong16);
4646 uint16 __ovld __cnfn convert_uint16(ulong16);
4647 uint16 __ovld __cnfn convert_uint16_sat(ulong16);
4648 uint16 __ovld __cnfn convert_uint16_rte(float16);
4649 uint16 __ovld __cnfn convert_uint16_sat_rte(float16);
4650 uint16 __ovld __cnfn convert_uint16_rtz(float16);
4651 uint16 __ovld __cnfn convert_uint16_sat_rtz(float16);
4652 uint16 __ovld __cnfn convert_uint16_rtp(float16);
4653 uint16 __ovld __cnfn convert_uint16_sat_rtp(float16);
4654 uint16 __ovld __cnfn convert_uint16_rtn(float16);
4655 uint16 __ovld __cnfn convert_uint16_sat_rtn(float16);
4656 uint16 __ovld __cnfn convert_uint16(float16);
4657 uint16 __ovld __cnfn convert_uint16_sat(float16);
4658 long16 __ovld __cnfn convert_long16_rte(char16);
4659 long16 __ovld __cnfn convert_long16_sat_rte(char16);
4660 long16 __ovld __cnfn convert_long16_rtz(char16);
4661 long16 __ovld __cnfn convert_long16_sat_rtz(char16);
4662 long16 __ovld __cnfn convert_long16_rtp(char16);
4663 long16 __ovld __cnfn convert_long16_sat_rtp(char16);
4664 long16 __ovld __cnfn convert_long16_rtn(char16);
4665 long16 __ovld __cnfn convert_long16_sat_rtn(char16);
4666 long16 __ovld __cnfn convert_long16(char16);
4667 long16 __ovld __cnfn convert_long16_sat(char16);
4668 long16 __ovld __cnfn convert_long16_rte(uchar16);
4669 long16 __ovld __cnfn convert_long16_sat_rte(uchar16);
4670 long16 __ovld __cnfn convert_long16_rtz(uchar16);
4671 long16 __ovld __cnfn convert_long16_sat_rtz(uchar16);
4672 long16 __ovld __cnfn convert_long16_rtp(uchar16);
4673 long16 __ovld __cnfn convert_long16_sat_rtp(uchar16);
4674 long16 __ovld __cnfn convert_long16_rtn(uchar16);
4675 long16 __ovld __cnfn convert_long16_sat_rtn(uchar16);
4676 long16 __ovld __cnfn convert_long16(uchar16);
4677 long16 __ovld __cnfn convert_long16_sat(uchar16);
4678 long16 __ovld __cnfn convert_long16_rte(short16);
4679 long16 __ovld __cnfn convert_long16_sat_rte(short16);
4680 long16 __ovld __cnfn convert_long16_rtz(short16);
4681 long16 __ovld __cnfn convert_long16_sat_rtz(short16);
4682 long16 __ovld __cnfn convert_long16_rtp(short16);
4683 long16 __ovld __cnfn convert_long16_sat_rtp(short16);
4684 long16 __ovld __cnfn convert_long16_rtn(short16);
4685 long16 __ovld __cnfn convert_long16_sat_rtn(short16);
4686 long16 __ovld __cnfn convert_long16(short16);
4687 long16 __ovld __cnfn convert_long16_sat(short16);
4688 long16 __ovld __cnfn convert_long16_rte(ushort16);
4689 long16 __ovld __cnfn convert_long16_sat_rte(ushort16);
4690 long16 __ovld __cnfn convert_long16_rtz(ushort16);
4691 long16 __ovld __cnfn convert_long16_sat_rtz(ushort16);
4692 long16 __ovld __cnfn convert_long16_rtp(ushort16);
4693 long16 __ovld __cnfn convert_long16_sat_rtp(ushort16);
4694 long16 __ovld __cnfn convert_long16_rtn(ushort16);
4695 long16 __ovld __cnfn convert_long16_sat_rtn(ushort16);
4696 long16 __ovld __cnfn convert_long16(ushort16);
4697 long16 __ovld __cnfn convert_long16_sat(ushort16);
4698 long16 __ovld __cnfn convert_long16_rte(int16);
4699 long16 __ovld __cnfn convert_long16_sat_rte(int16);
4700 long16 __ovld __cnfn convert_long16_rtz(int16);
4701 long16 __ovld __cnfn convert_long16_sat_rtz(int16);
4702 long16 __ovld __cnfn convert_long16_rtp(int16);
4703 long16 __ovld __cnfn convert_long16_sat_rtp(int16);
4704 long16 __ovld __cnfn convert_long16_rtn(int16);
4705 long16 __ovld __cnfn convert_long16_sat_rtn(int16);
4706 long16 __ovld __cnfn convert_long16(int16);
4707 long16 __ovld __cnfn convert_long16_sat(int16);
4708 long16 __ovld __cnfn convert_long16_rte(uint16);
4709 long16 __ovld __cnfn convert_long16_sat_rte(uint16);
4710 long16 __ovld __cnfn convert_long16_rtz(uint16);
4711 long16 __ovld __cnfn convert_long16_sat_rtz(uint16);
4712 long16 __ovld __cnfn convert_long16_rtp(uint16);
4713 long16 __ovld __cnfn convert_long16_sat_rtp(uint16);
4714 long16 __ovld __cnfn convert_long16_rtn(uint16);
4715 long16 __ovld __cnfn convert_long16_sat_rtn(uint16);
4716 long16 __ovld __cnfn convert_long16(uint16);
4717 long16 __ovld __cnfn convert_long16_sat(uint16);
4718 long16 __ovld __cnfn convert_long16_rte(long16);
4719 long16 __ovld __cnfn convert_long16_sat_rte(long16);
4720 long16 __ovld __cnfn convert_long16_rtz(long16);
4721 long16 __ovld __cnfn convert_long16_sat_rtz(long16);
4722 long16 __ovld __cnfn convert_long16_rtp(long16);
4723 long16 __ovld __cnfn convert_long16_sat_rtp(long16);
4724 long16 __ovld __cnfn convert_long16_rtn(long16);
4725 long16 __ovld __cnfn convert_long16_sat_rtn(long16);
4726 long16 __ovld __cnfn convert_long16(long16);
4727 long16 __ovld __cnfn convert_long16_sat(long16);
4728 long16 __ovld __cnfn convert_long16_rte(ulong16);
4729 long16 __ovld __cnfn convert_long16_sat_rte(ulong16);
4730 long16 __ovld __cnfn convert_long16_rtz(ulong16);
4731 long16 __ovld __cnfn convert_long16_sat_rtz(ulong16);
4732 long16 __ovld __cnfn convert_long16_rtp(ulong16);
4733 long16 __ovld __cnfn convert_long16_sat_rtp(ulong16);
4734 long16 __ovld __cnfn convert_long16_rtn(ulong16);
4735 long16 __ovld __cnfn convert_long16_sat_rtn(ulong16);
4736 long16 __ovld __cnfn convert_long16(ulong16);
4737 long16 __ovld __cnfn convert_long16_sat(ulong16);
4738 long16 __ovld __cnfn convert_long16_rte(float16);
4739 long16 __ovld __cnfn convert_long16_sat_rte(float16);
4740 long16 __ovld __cnfn convert_long16_rtz(float16);
4741 long16 __ovld __cnfn convert_long16_sat_rtz(float16);
4742 long16 __ovld __cnfn convert_long16_rtp(float16);
4743 long16 __ovld __cnfn convert_long16_sat_rtp(float16);
4744 long16 __ovld __cnfn convert_long16_rtn(float16);
4745 long16 __ovld __cnfn convert_long16_sat_rtn(float16);
4746 long16 __ovld __cnfn convert_long16(float16);
4747 long16 __ovld __cnfn convert_long16_sat(float16);
4748 ulong16 __ovld __cnfn convert_ulong16_rte(char16);
4749 ulong16 __ovld __cnfn convert_ulong16_sat_rte(char16);
4750 ulong16 __ovld __cnfn convert_ulong16_rtz(char16);
4751 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(char16);
4752 ulong16 __ovld __cnfn convert_ulong16_rtp(char16);
4753 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(char16);
4754 ulong16 __ovld __cnfn convert_ulong16_rtn(char16);
4755 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(char16);
4756 ulong16 __ovld __cnfn convert_ulong16(char16);
4757 ulong16 __ovld __cnfn convert_ulong16_sat(char16);
4758 ulong16 __ovld __cnfn convert_ulong16_rte(uchar16);
4759 ulong16 __ovld __cnfn convert_ulong16_sat_rte(uchar16);
4760 ulong16 __ovld __cnfn convert_ulong16_rtz(uchar16);
4761 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(uchar16);
4762 ulong16 __ovld __cnfn convert_ulong16_rtp(uchar16);
4763 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(uchar16);
4764 ulong16 __ovld __cnfn convert_ulong16_rtn(uchar16);
4765 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(uchar16);
4766 ulong16 __ovld __cnfn convert_ulong16(uchar16);
4767 ulong16 __ovld __cnfn convert_ulong16_sat(uchar16);
4768 ulong16 __ovld __cnfn convert_ulong16_rte(short16);
4769 ulong16 __ovld __cnfn convert_ulong16_sat_rte(short16);
4770 ulong16 __ovld __cnfn convert_ulong16_rtz(short16);
4771 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(short16);
4772 ulong16 __ovld __cnfn convert_ulong16_rtp(short16);
4773 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(short16);
4774 ulong16 __ovld __cnfn convert_ulong16_rtn(short16);
4775 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(short16);
4776 ulong16 __ovld __cnfn convert_ulong16(short16);
4777 ulong16 __ovld __cnfn convert_ulong16_sat(short16);
4778 ulong16 __ovld __cnfn convert_ulong16_rte(ushort16);
4779 ulong16 __ovld __cnfn convert_ulong16_sat_rte(ushort16);
4780 ulong16 __ovld __cnfn convert_ulong16_rtz(ushort16);
4781 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(ushort16);
4782 ulong16 __ovld __cnfn convert_ulong16_rtp(ushort16);
4783 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(ushort16);
4784 ulong16 __ovld __cnfn convert_ulong16_rtn(ushort16);
4785 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(ushort16);
4786 ulong16 __ovld __cnfn convert_ulong16(ushort16);
4787 ulong16 __ovld __cnfn convert_ulong16_sat(ushort16);
4788 ulong16 __ovld __cnfn convert_ulong16_rte(int16);
4789 ulong16 __ovld __cnfn convert_ulong16_sat_rte(int16);
4790 ulong16 __ovld __cnfn convert_ulong16_rtz(int16);
4791 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(int16);
4792 ulong16 __ovld __cnfn convert_ulong16_rtp(int16);
4793 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(int16);
4794 ulong16 __ovld __cnfn convert_ulong16_rtn(int16);
4795 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(int16);
4796 ulong16 __ovld __cnfn convert_ulong16(int16);
4797 ulong16 __ovld __cnfn convert_ulong16_sat(int16);
4798 ulong16 __ovld __cnfn convert_ulong16_rte(uint16);
4799 ulong16 __ovld __cnfn convert_ulong16_sat_rte(uint16);
4800 ulong16 __ovld __cnfn convert_ulong16_rtz(uint16);
4801 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(uint16);
4802 ulong16 __ovld __cnfn convert_ulong16_rtp(uint16);
4803 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(uint16);
4804 ulong16 __ovld __cnfn convert_ulong16_rtn(uint16);
4805 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(uint16);
4806 ulong16 __ovld __cnfn convert_ulong16(uint16);
4807 ulong16 __ovld __cnfn convert_ulong16_sat(uint16);
4808 ulong16 __ovld __cnfn convert_ulong16_rte(long16);
4809 ulong16 __ovld __cnfn convert_ulong16_sat_rte(long16);
4810 ulong16 __ovld __cnfn convert_ulong16_rtz(long16);
4811 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(long16);
4812 ulong16 __ovld __cnfn convert_ulong16_rtp(long16);
4813 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(long16);
4814 ulong16 __ovld __cnfn convert_ulong16_rtn(long16);
4815 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(long16);
4816 ulong16 __ovld __cnfn convert_ulong16(long16);
4817 ulong16 __ovld __cnfn convert_ulong16_sat(long16);
4818 ulong16 __ovld __cnfn convert_ulong16_rte(ulong16);
4819 ulong16 __ovld __cnfn convert_ulong16_sat_rte(ulong16);
4820 ulong16 __ovld __cnfn convert_ulong16_rtz(ulong16);
4821 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(ulong16);
4822 ulong16 __ovld __cnfn convert_ulong16_rtp(ulong16);
4823 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(ulong16);
4824 ulong16 __ovld __cnfn convert_ulong16_rtn(ulong16);
4825 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(ulong16);
4826 ulong16 __ovld __cnfn convert_ulong16(ulong16);
4827 ulong16 __ovld __cnfn convert_ulong16_sat(ulong16);
4828 ulong16 __ovld __cnfn convert_ulong16_rte(float16);
4829 ulong16 __ovld __cnfn convert_ulong16_sat_rte(float16);
4830 ulong16 __ovld __cnfn convert_ulong16_rtz(float16);
4831 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(float16);
4832 ulong16 __ovld __cnfn convert_ulong16_rtp(float16);
4833 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(float16);
4834 ulong16 __ovld __cnfn convert_ulong16_rtn(float16);
4835 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(float16);
4836 ulong16 __ovld __cnfn convert_ulong16(float16);
4837 ulong16 __ovld __cnfn convert_ulong16_sat(float16);
4838 float16 __ovld __cnfn convert_float16_rte(char16);
4839 float16 __ovld __cnfn convert_float16_rtz(char16);
4840 float16 __ovld __cnfn convert_float16_rtp(char16);
4841 float16 __ovld __cnfn convert_float16_rtn(char16);
4842 float16 __ovld __cnfn convert_float16(char16);
4843 float16 __ovld __cnfn convert_float16_rte(uchar16);
4844 float16 __ovld __cnfn convert_float16_rtz(uchar16);
4845 float16 __ovld __cnfn convert_float16_rtp(uchar16);
4846 float16 __ovld __cnfn convert_float16_rtn(uchar16);
4847 float16 __ovld __cnfn convert_float16(uchar16);
4848 float16 __ovld __cnfn convert_float16_rte(short16);
4849 float16 __ovld __cnfn convert_float16_rtz(short16);
4850 float16 __ovld __cnfn convert_float16_rtp(short16);
4851 float16 __ovld __cnfn convert_float16_rtn(short16);
4852 float16 __ovld __cnfn convert_float16(short16);
4853 float16 __ovld __cnfn convert_float16_rte(ushort16);
4854 float16 __ovld __cnfn convert_float16_rtz(ushort16);
4855 float16 __ovld __cnfn convert_float16_rtp(ushort16);
4856 float16 __ovld __cnfn convert_float16_rtn(ushort16);
4857 float16 __ovld __cnfn convert_float16(ushort16);
4858 float16 __ovld __cnfn convert_float16_rte(int16);
4859 float16 __ovld __cnfn convert_float16_rtz(int16);
4860 float16 __ovld __cnfn convert_float16_rtp(int16);
4861 float16 __ovld __cnfn convert_float16_rtn(int16);
4862 float16 __ovld __cnfn convert_float16(int16);
4863 float16 __ovld __cnfn convert_float16_rte(uint16);
4864 float16 __ovld __cnfn convert_float16_rtz(uint16);
4865 float16 __ovld __cnfn convert_float16_rtp(uint16);
4866 float16 __ovld __cnfn convert_float16_rtn(uint16);
4867 float16 __ovld __cnfn convert_float16(uint16);
4868 float16 __ovld __cnfn convert_float16_rte(long16);
4869 float16 __ovld __cnfn convert_float16_rtz(long16);
4870 float16 __ovld __cnfn convert_float16_rtp(long16);
4871 float16 __ovld __cnfn convert_float16_rtn(long16);
4872 float16 __ovld __cnfn convert_float16(long16);
4873 float16 __ovld __cnfn convert_float16_rte(ulong16);
4874 float16 __ovld __cnfn convert_float16_rtz(ulong16);
4875 float16 __ovld __cnfn convert_float16_rtp(ulong16);
4876 float16 __ovld __cnfn convert_float16_rtn(ulong16);
4877 float16 __ovld __cnfn convert_float16(ulong16);
4878 float16 __ovld __cnfn convert_float16_rte(float16);
4879 float16 __ovld __cnfn convert_float16_rtz(float16);
4880 float16 __ovld __cnfn convert_float16_rtp(float16);
4881 float16 __ovld __cnfn convert_float16_rtn(float16);
4882 float16 __ovld __cnfn convert_float16(float16);
4883
4884 // Conversions with double data type parameters or return value.
4885
4886 #ifdef cl_khr_fp64
4887 char __ovld __cnfn convert_char(double);
4888 char __ovld __cnfn convert_char_rte(double);
4889 char __ovld __cnfn convert_char_rtn(double);
4890 char __ovld __cnfn convert_char_rtp(double);
4891 char __ovld __cnfn convert_char_rtz(double);
4892 char __ovld __cnfn convert_char_sat(double);
4893 char __ovld __cnfn convert_char_sat_rte(double);
4894 char __ovld __cnfn convert_char_sat_rtn(double);
4895 char __ovld __cnfn convert_char_sat_rtp(double);
4896 char __ovld __cnfn convert_char_sat_rtz(double);
4897 char2 __ovld __cnfn convert_char2(double2);
4898 char2 __ovld __cnfn convert_char2_rte(double2);
4899 char2 __ovld __cnfn convert_char2_rtn(double2);
4900 char2 __ovld __cnfn convert_char2_rtp(double2);
4901 char2 __ovld __cnfn convert_char2_rtz(double2);
4902 char2 __ovld __cnfn convert_char2_sat(double2);
4903 char2 __ovld __cnfn convert_char2_sat_rte(double2);
4904 char2 __ovld __cnfn convert_char2_sat_rtn(double2);
4905 char2 __ovld __cnfn convert_char2_sat_rtp(double2);
4906 char2 __ovld __cnfn convert_char2_sat_rtz(double2);
4907 char3 __ovld __cnfn convert_char3(double3);
4908 char3 __ovld __cnfn convert_char3_rte(double3);
4909 char3 __ovld __cnfn convert_char3_rtn(double3);
4910 char3 __ovld __cnfn convert_char3_rtp(double3);
4911 char3 __ovld __cnfn convert_char3_rtz(double3);
4912 char3 __ovld __cnfn convert_char3_sat(double3);
4913 char3 __ovld __cnfn convert_char3_sat_rte(double3);
4914 char3 __ovld __cnfn convert_char3_sat_rtn(double3);
4915 char3 __ovld __cnfn convert_char3_sat_rtp(double3);
4916 char3 __ovld __cnfn convert_char3_sat_rtz(double3);
4917 char4 __ovld __cnfn convert_char4(double4);
4918 char4 __ovld __cnfn convert_char4_rte(double4);
4919 char4 __ovld __cnfn convert_char4_rtn(double4);
4920 char4 __ovld __cnfn convert_char4_rtp(double4);
4921 char4 __ovld __cnfn convert_char4_rtz(double4);
4922 char4 __ovld __cnfn convert_char4_sat(double4);
4923 char4 __ovld __cnfn convert_char4_sat_rte(double4);
4924 char4 __ovld __cnfn convert_char4_sat_rtn(double4);
4925 char4 __ovld __cnfn convert_char4_sat_rtp(double4);
4926 char4 __ovld __cnfn convert_char4_sat_rtz(double4);
4927 char8 __ovld __cnfn convert_char8(double8);
4928 char8 __ovld __cnfn convert_char8_rte(double8);
4929 char8 __ovld __cnfn convert_char8_rtn(double8);
4930 char8 __ovld __cnfn convert_char8_rtp(double8);
4931 char8 __ovld __cnfn convert_char8_rtz(double8);
4932 char8 __ovld __cnfn convert_char8_sat(double8);
4933 char8 __ovld __cnfn convert_char8_sat_rte(double8);
4934 char8 __ovld __cnfn convert_char8_sat_rtn(double8);
4935 char8 __ovld __cnfn convert_char8_sat_rtp(double8);
4936 char8 __ovld __cnfn convert_char8_sat_rtz(double8);
4937 char16 __ovld __cnfn convert_char16(double16);
4938 char16 __ovld __cnfn convert_char16_rte(double16);
4939 char16 __ovld __cnfn convert_char16_rtn(double16);
4940 char16 __ovld __cnfn convert_char16_rtp(double16);
4941 char16 __ovld __cnfn convert_char16_rtz(double16);
4942 char16 __ovld __cnfn convert_char16_sat(double16);
4943 char16 __ovld __cnfn convert_char16_sat_rte(double16);
4944 char16 __ovld __cnfn convert_char16_sat_rtn(double16);
4945 char16 __ovld __cnfn convert_char16_sat_rtp(double16);
4946 char16 __ovld __cnfn convert_char16_sat_rtz(double16);
4947
4948 uchar __ovld __cnfn convert_uchar(double);
4949 uchar __ovld __cnfn convert_uchar_rte(double);
4950 uchar __ovld __cnfn convert_uchar_rtn(double);
4951 uchar __ovld __cnfn convert_uchar_rtp(double);
4952 uchar __ovld __cnfn convert_uchar_rtz(double);
4953 uchar __ovld __cnfn convert_uchar_sat(double);
4954 uchar __ovld __cnfn convert_uchar_sat_rte(double);
4955 uchar __ovld __cnfn convert_uchar_sat_rtn(double);
4956 uchar __ovld __cnfn convert_uchar_sat_rtp(double);
4957 uchar __ovld __cnfn convert_uchar_sat_rtz(double);
4958 uchar2 __ovld __cnfn convert_uchar2(double2);
4959 uchar2 __ovld __cnfn convert_uchar2_rte(double2);
4960 uchar2 __ovld __cnfn convert_uchar2_rtn(double2);
4961 uchar2 __ovld __cnfn convert_uchar2_rtp(double2);
4962 uchar2 __ovld __cnfn convert_uchar2_rtz(double2);
4963 uchar2 __ovld __cnfn convert_uchar2_sat(double2);
4964 uchar2 __ovld __cnfn convert_uchar2_sat_rte(double2);
4965 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(double2);
4966 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(double2);
4967 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(double2);
4968 uchar3 __ovld __cnfn convert_uchar3(double3);
4969 uchar3 __ovld __cnfn convert_uchar3_rte(double3);
4970 uchar3 __ovld __cnfn convert_uchar3_rtn(double3);
4971 uchar3 __ovld __cnfn convert_uchar3_rtp(double3);
4972 uchar3 __ovld __cnfn convert_uchar3_rtz(double3);
4973 uchar3 __ovld __cnfn convert_uchar3_sat(double3);
4974 uchar3 __ovld __cnfn convert_uchar3_sat_rte(double3);
4975 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(double3);
4976 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(double3);
4977 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(double3);
4978 uchar4 __ovld __cnfn convert_uchar4(double4);
4979 uchar4 __ovld __cnfn convert_uchar4_rte(double4);
4980 uchar4 __ovld __cnfn convert_uchar4_rtn(double4);
4981 uchar4 __ovld __cnfn convert_uchar4_rtp(double4);
4982 uchar4 __ovld __cnfn convert_uchar4_rtz(double4);
4983 uchar4 __ovld __cnfn convert_uchar4_sat(double4);
4984 uchar4 __ovld __cnfn convert_uchar4_sat_rte(double4);
4985 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(double4);
4986 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(double4);
4987 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(double4);
4988 uchar8 __ovld __cnfn convert_uchar8(double8);
4989 uchar8 __ovld __cnfn convert_uchar8_rte(double8);
4990 uchar8 __ovld __cnfn convert_uchar8_rtn(double8);
4991 uchar8 __ovld __cnfn convert_uchar8_rtp(double8);
4992 uchar8 __ovld __cnfn convert_uchar8_rtz(double8);
4993 uchar8 __ovld __cnfn convert_uchar8_sat(double8);
4994 uchar8 __ovld __cnfn convert_uchar8_sat_rte(double8);
4995 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(double8);
4996 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(double8);
4997 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(double8);
4998 uchar16 __ovld __cnfn convert_uchar16(double16);
4999 uchar16 __ovld __cnfn convert_uchar16_rte(double16);
5000 uchar16 __ovld __cnfn convert_uchar16_rtn(double16);
5001 uchar16 __ovld __cnfn convert_uchar16_rtp(double16);
5002 uchar16 __ovld __cnfn convert_uchar16_rtz(double16);
5003 uchar16 __ovld __cnfn convert_uchar16_sat(double16);
5004 uchar16 __ovld __cnfn convert_uchar16_sat_rte(double16);
5005 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(double16);
5006 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(double16);
5007 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(double16);
5008
5009 short __ovld __cnfn convert_short(double);
5010 short __ovld __cnfn convert_short_rte(double);
5011 short __ovld __cnfn convert_short_rtn(double);
5012 short __ovld __cnfn convert_short_rtp(double);
5013 short __ovld __cnfn convert_short_rtz(double);
5014 short __ovld __cnfn convert_short_sat(double);
5015 short __ovld __cnfn convert_short_sat_rte(double);
5016 short __ovld __cnfn convert_short_sat_rtn(double);
5017 short __ovld __cnfn convert_short_sat_rtp(double);
5018 short __ovld __cnfn convert_short_sat_rtz(double);
5019 short2 __ovld __cnfn convert_short2(double2);
5020 short2 __ovld __cnfn convert_short2_rte(double2);
5021 short2 __ovld __cnfn convert_short2_rtn(double2);
5022 short2 __ovld __cnfn convert_short2_rtp(double2);
5023 short2 __ovld __cnfn convert_short2_rtz(double2);
5024 short2 __ovld __cnfn convert_short2_sat(double2);
5025 short2 __ovld __cnfn convert_short2_sat_rte(double2);
5026 short2 __ovld __cnfn convert_short2_sat_rtn(double2);
5027 short2 __ovld __cnfn convert_short2_sat_rtp(double2);
5028 short2 __ovld __cnfn convert_short2_sat_rtz(double2);
5029 short3 __ovld __cnfn convert_short3(double3);
5030 short3 __ovld __cnfn convert_short3_rte(double3);
5031 short3 __ovld __cnfn convert_short3_rtn(double3);
5032 short3 __ovld __cnfn convert_short3_rtp(double3);
5033 short3 __ovld __cnfn convert_short3_rtz(double3);
5034 short3 __ovld __cnfn convert_short3_sat(double3);
5035 short3 __ovld __cnfn convert_short3_sat_rte(double3);
5036 short3 __ovld __cnfn convert_short3_sat_rtn(double3);
5037 short3 __ovld __cnfn convert_short3_sat_rtp(double3);
5038 short3 __ovld __cnfn convert_short3_sat_rtz(double3);
5039 short4 __ovld __cnfn convert_short4(double4);
5040 short4 __ovld __cnfn convert_short4_rte(double4);
5041 short4 __ovld __cnfn convert_short4_rtn(double4);
5042 short4 __ovld __cnfn convert_short4_rtp(double4);
5043 short4 __ovld __cnfn convert_short4_rtz(double4);
5044 short4 __ovld __cnfn convert_short4_sat(double4);
5045 short4 __ovld __cnfn convert_short4_sat_rte(double4);
5046 short4 __ovld __cnfn convert_short4_sat_rtn(double4);
5047 short4 __ovld __cnfn convert_short4_sat_rtp(double4);
5048 short4 __ovld __cnfn convert_short4_sat_rtz(double4);
5049 short8 __ovld __cnfn convert_short8(double8);
5050 short8 __ovld __cnfn convert_short8_rte(double8);
5051 short8 __ovld __cnfn convert_short8_rtn(double8);
5052 short8 __ovld __cnfn convert_short8_rtp(double8);
5053 short8 __ovld __cnfn convert_short8_rtz(double8);
5054 short8 __ovld __cnfn convert_short8_sat(double8);
5055 short8 __ovld __cnfn convert_short8_sat_rte(double8);
5056 short8 __ovld __cnfn convert_short8_sat_rtn(double8);
5057 short8 __ovld __cnfn convert_short8_sat_rtp(double8);
5058 short8 __ovld __cnfn convert_short8_sat_rtz(double8);
5059 short16 __ovld __cnfn convert_short16(double16);
5060 short16 __ovld __cnfn convert_short16_rte(double16);
5061 short16 __ovld __cnfn convert_short16_rtn(double16);
5062 short16 __ovld __cnfn convert_short16_rtp(double16);
5063 short16 __ovld __cnfn convert_short16_rtz(double16);
5064 short16 __ovld __cnfn convert_short16_sat(double16);
5065 short16 __ovld __cnfn convert_short16_sat_rte(double16);
5066 short16 __ovld __cnfn convert_short16_sat_rtn(double16);
5067 short16 __ovld __cnfn convert_short16_sat_rtp(double16);
5068 short16 __ovld __cnfn convert_short16_sat_rtz(double16);
5069
5070 ushort __ovld __cnfn convert_ushort(double);
5071 ushort __ovld __cnfn convert_ushort_rte(double);
5072 ushort __ovld __cnfn convert_ushort_rtn(double);
5073 ushort __ovld __cnfn convert_ushort_rtp(double);
5074 ushort __ovld __cnfn convert_ushort_rtz(double);
5075 ushort __ovld __cnfn convert_ushort_sat(double);
5076 ushort __ovld __cnfn convert_ushort_sat_rte(double);
5077 ushort __ovld __cnfn convert_ushort_sat_rtn(double);
5078 ushort __ovld __cnfn convert_ushort_sat_rtp(double);
5079 ushort __ovld __cnfn convert_ushort_sat_rtz(double);
5080 ushort2 __ovld __cnfn convert_ushort2(double2);
5081 ushort2 __ovld __cnfn convert_ushort2_rte(double2);
5082 ushort2 __ovld __cnfn convert_ushort2_rtn(double2);
5083 ushort2 __ovld __cnfn convert_ushort2_rtp(double2);
5084 ushort2 __ovld __cnfn convert_ushort2_rtz(double2);
5085 ushort2 __ovld __cnfn convert_ushort2_sat(double2);
5086 ushort2 __ovld __cnfn convert_ushort2_sat_rte(double2);
5087 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(double2);
5088 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(double2);
5089 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(double2);
5090 ushort3 __ovld __cnfn convert_ushort3(double3);
5091 ushort3 __ovld __cnfn convert_ushort3_rte(double3);
5092 ushort3 __ovld __cnfn convert_ushort3_rtn(double3);
5093 ushort3 __ovld __cnfn convert_ushort3_rtp(double3);
5094 ushort3 __ovld __cnfn convert_ushort3_rtz(double3);
5095 ushort3 __ovld __cnfn convert_ushort3_sat(double3);
5096 ushort3 __ovld __cnfn convert_ushort3_sat_rte(double3);
5097 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(double3);
5098 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(double3);
5099 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(double3);
5100 ushort4 __ovld __cnfn convert_ushort4(double4);
5101 ushort4 __ovld __cnfn convert_ushort4_rte(double4);
5102 ushort4 __ovld __cnfn convert_ushort4_rtn(double4);
5103 ushort4 __ovld __cnfn convert_ushort4_rtp(double4);
5104 ushort4 __ovld __cnfn convert_ushort4_rtz(double4);
5105 ushort4 __ovld __cnfn convert_ushort4_sat(double4);
5106 ushort4 __ovld __cnfn convert_ushort4_sat_rte(double4);
5107 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(double4);
5108 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(double4);
5109 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(double4);
5110 ushort8 __ovld __cnfn convert_ushort8(double8);
5111 ushort8 __ovld __cnfn convert_ushort8_rte(double8);
5112 ushort8 __ovld __cnfn convert_ushort8_rtn(double8);
5113 ushort8 __ovld __cnfn convert_ushort8_rtp(double8);
5114 ushort8 __ovld __cnfn convert_ushort8_rtz(double8);
5115 ushort8 __ovld __cnfn convert_ushort8_sat(double8);
5116 ushort8 __ovld __cnfn convert_ushort8_sat_rte(double8);
5117 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(double8);
5118 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(double8);
5119 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(double8);
5120 ushort16 __ovld __cnfn convert_ushort16(double16);
5121 ushort16 __ovld __cnfn convert_ushort16_rte(double16);
5122 ushort16 __ovld __cnfn convert_ushort16_rtn(double16);
5123 ushort16 __ovld __cnfn convert_ushort16_rtp(double16);
5124 ushort16 __ovld __cnfn convert_ushort16_rtz(double16);
5125 ushort16 __ovld __cnfn convert_ushort16_sat(double16);
5126 ushort16 __ovld __cnfn convert_ushort16_sat_rte(double16);
5127 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(double16);
5128 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(double16);
5129 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(double16);
5130
5131 int __ovld __cnfn convert_int(double);
5132 int __ovld __cnfn convert_int_rte(double);
5133 int __ovld __cnfn convert_int_rtn(double);
5134 int __ovld __cnfn convert_int_rtp(double);
5135 int __ovld __cnfn convert_int_rtz(double);
5136 int __ovld __cnfn convert_int_sat(double);
5137 int __ovld __cnfn convert_int_sat_rte(double);
5138 int __ovld __cnfn convert_int_sat_rtn(double);
5139 int __ovld __cnfn convert_int_sat_rtp(double);
5140 int __ovld __cnfn convert_int_sat_rtz(double);
5141 int2 __ovld __cnfn convert_int2(double2);
5142 int2 __ovld __cnfn convert_int2_rte(double2);
5143 int2 __ovld __cnfn convert_int2_rtn(double2);
5144 int2 __ovld __cnfn convert_int2_rtp(double2);
5145 int2 __ovld __cnfn convert_int2_rtz(double2);
5146 int2 __ovld __cnfn convert_int2_sat(double2);
5147 int2 __ovld __cnfn convert_int2_sat_rte(double2);
5148 int2 __ovld __cnfn convert_int2_sat_rtn(double2);
5149 int2 __ovld __cnfn convert_int2_sat_rtp(double2);
5150 int2 __ovld __cnfn convert_int2_sat_rtz(double2);
5151 int3 __ovld __cnfn convert_int3(double3);
5152 int3 __ovld __cnfn convert_int3_rte(double3);
5153 int3 __ovld __cnfn convert_int3_rtn(double3);
5154 int3 __ovld __cnfn convert_int3_rtp(double3);
5155 int3 __ovld __cnfn convert_int3_rtz(double3);
5156 int3 __ovld __cnfn convert_int3_sat(double3);
5157 int3 __ovld __cnfn convert_int3_sat_rte(double3);
5158 int3 __ovld __cnfn convert_int3_sat_rtn(double3);
5159 int3 __ovld __cnfn convert_int3_sat_rtp(double3);
5160 int3 __ovld __cnfn convert_int3_sat_rtz(double3);
5161 int4 __ovld __cnfn convert_int4(double4);
5162 int4 __ovld __cnfn convert_int4_rte(double4);
5163 int4 __ovld __cnfn convert_int4_rtn(double4);
5164 int4 __ovld __cnfn convert_int4_rtp(double4);
5165 int4 __ovld __cnfn convert_int4_rtz(double4);
5166 int4 __ovld __cnfn convert_int4_sat(double4);
5167 int4 __ovld __cnfn convert_int4_sat_rte(double4);
5168 int4 __ovld __cnfn convert_int4_sat_rtn(double4);
5169 int4 __ovld __cnfn convert_int4_sat_rtp(double4);
5170 int4 __ovld __cnfn convert_int4_sat_rtz(double4);
5171 int8 __ovld __cnfn convert_int8(double8);
5172 int8 __ovld __cnfn convert_int8_rte(double8);
5173 int8 __ovld __cnfn convert_int8_rtn(double8);
5174 int8 __ovld __cnfn convert_int8_rtp(double8);
5175 int8 __ovld __cnfn convert_int8_rtz(double8);
5176 int8 __ovld __cnfn convert_int8_sat(double8);
5177 int8 __ovld __cnfn convert_int8_sat_rte(double8);
5178 int8 __ovld __cnfn convert_int8_sat_rtn(double8);
5179 int8 __ovld __cnfn convert_int8_sat_rtp(double8);
5180 int8 __ovld __cnfn convert_int8_sat_rtz(double8);
5181 int16 __ovld __cnfn convert_int16(double16);
5182 int16 __ovld __cnfn convert_int16_rte(double16);
5183 int16 __ovld __cnfn convert_int16_rtn(double16);
5184 int16 __ovld __cnfn convert_int16_rtp(double16);
5185 int16 __ovld __cnfn convert_int16_rtz(double16);
5186 int16 __ovld __cnfn convert_int16_sat(double16);
5187 int16 __ovld __cnfn convert_int16_sat_rte(double16);
5188 int16 __ovld __cnfn convert_int16_sat_rtn(double16);
5189 int16 __ovld __cnfn convert_int16_sat_rtp(double16);
5190 int16 __ovld __cnfn convert_int16_sat_rtz(double16);
5191
5192 uint __ovld __cnfn convert_uint(double);
5193 uint __ovld __cnfn convert_uint_rte(double);
5194 uint __ovld __cnfn convert_uint_rtn(double);
5195 uint __ovld __cnfn convert_uint_rtp(double);
5196 uint __ovld __cnfn convert_uint_rtz(double);
5197 uint __ovld __cnfn convert_uint_sat(double);
5198 uint __ovld __cnfn convert_uint_sat_rte(double);
5199 uint __ovld __cnfn convert_uint_sat_rtn(double);
5200 uint __ovld __cnfn convert_uint_sat_rtp(double);
5201 uint __ovld __cnfn convert_uint_sat_rtz(double);
5202 uint2 __ovld __cnfn convert_uint2(double2);
5203 uint2 __ovld __cnfn convert_uint2_rte(double2);
5204 uint2 __ovld __cnfn convert_uint2_rtn(double2);
5205 uint2 __ovld __cnfn convert_uint2_rtp(double2);
5206 uint2 __ovld __cnfn convert_uint2_rtz(double2);
5207 uint2 __ovld __cnfn convert_uint2_sat(double2);
5208 uint2 __ovld __cnfn convert_uint2_sat_rte(double2);
5209 uint2 __ovld __cnfn convert_uint2_sat_rtn(double2);
5210 uint2 __ovld __cnfn convert_uint2_sat_rtp(double2);
5211 uint2 __ovld __cnfn convert_uint2_sat_rtz(double2);
5212 uint3 __ovld __cnfn convert_uint3(double3);
5213 uint3 __ovld __cnfn convert_uint3_rte(double3);
5214 uint3 __ovld __cnfn convert_uint3_rtn(double3);
5215 uint3 __ovld __cnfn convert_uint3_rtp(double3);
5216 uint3 __ovld __cnfn convert_uint3_rtz(double3);
5217 uint3 __ovld __cnfn convert_uint3_sat(double3);
5218 uint3 __ovld __cnfn convert_uint3_sat_rte(double3);
5219 uint3 __ovld __cnfn convert_uint3_sat_rtn(double3);
5220 uint3 __ovld __cnfn convert_uint3_sat_rtp(double3);
5221 uint3 __ovld __cnfn convert_uint3_sat_rtz(double3);
5222 uint4 __ovld __cnfn convert_uint4(double4);
5223 uint4 __ovld __cnfn convert_uint4_rte(double4);
5224 uint4 __ovld __cnfn convert_uint4_rtn(double4);
5225 uint4 __ovld __cnfn convert_uint4_rtp(double4);
5226 uint4 __ovld __cnfn convert_uint4_rtz(double4);
5227 uint4 __ovld __cnfn convert_uint4_sat(double4);
5228 uint4 __ovld __cnfn convert_uint4_sat_rte(double4);
5229 uint4 __ovld __cnfn convert_uint4_sat_rtn(double4);
5230 uint4 __ovld __cnfn convert_uint4_sat_rtp(double4);
5231 uint4 __ovld __cnfn convert_uint4_sat_rtz(double4);
5232 uint8 __ovld __cnfn convert_uint8(double8);
5233 uint8 __ovld __cnfn convert_uint8_rte(double8);
5234 uint8 __ovld __cnfn convert_uint8_rtn(double8);
5235 uint8 __ovld __cnfn convert_uint8_rtp(double8);
5236 uint8 __ovld __cnfn convert_uint8_rtz(double8);
5237 uint8 __ovld __cnfn convert_uint8_sat(double8);
5238 uint8 __ovld __cnfn convert_uint8_sat_rte(double8);
5239 uint8 __ovld __cnfn convert_uint8_sat_rtn(double8);
5240 uint8 __ovld __cnfn convert_uint8_sat_rtp(double8);
5241 uint8 __ovld __cnfn convert_uint8_sat_rtz(double8);
5242 uint16 __ovld __cnfn convert_uint16(double16);
5243 uint16 __ovld __cnfn convert_uint16_rte(double16);
5244 uint16 __ovld __cnfn convert_uint16_rtn(double16);
5245 uint16 __ovld __cnfn convert_uint16_rtp(double16);
5246 uint16 __ovld __cnfn convert_uint16_rtz(double16);
5247 uint16 __ovld __cnfn convert_uint16_sat(double16);
5248 uint16 __ovld __cnfn convert_uint16_sat_rte(double16);
5249 uint16 __ovld __cnfn convert_uint16_sat_rtn(double16);
5250 uint16 __ovld __cnfn convert_uint16_sat_rtp(double16);
5251 uint16 __ovld __cnfn convert_uint16_sat_rtz(double16);
5252
5253 long __ovld __cnfn convert_long(double);
5254 long __ovld __cnfn convert_long_rte(double);
5255 long __ovld __cnfn convert_long_rtn(double);
5256 long __ovld __cnfn convert_long_rtp(double);
5257 long __ovld __cnfn convert_long_rtz(double);
5258 long __ovld __cnfn convert_long_sat(double);
5259 long __ovld __cnfn convert_long_sat_rte(double);
5260 long __ovld __cnfn convert_long_sat_rtn(double);
5261 long __ovld __cnfn convert_long_sat_rtp(double);
5262 long __ovld __cnfn convert_long_sat_rtz(double);
5263 long2 __ovld __cnfn convert_long2(double2);
5264 long2 __ovld __cnfn convert_long2_rte(double2);
5265 long2 __ovld __cnfn convert_long2_rtn(double2);
5266 long2 __ovld __cnfn convert_long2_rtp(double2);
5267 long2 __ovld __cnfn convert_long2_rtz(double2);
5268 long2 __ovld __cnfn convert_long2_sat(double2);
5269 long2 __ovld __cnfn convert_long2_sat_rte(double2);
5270 long2 __ovld __cnfn convert_long2_sat_rtn(double2);
5271 long2 __ovld __cnfn convert_long2_sat_rtp(double2);
5272 long2 __ovld __cnfn convert_long2_sat_rtz(double2);
5273 long3 __ovld __cnfn convert_long3(double3);
5274 long3 __ovld __cnfn convert_long3_rte(double3);
5275 long3 __ovld __cnfn convert_long3_rtn(double3);
5276 long3 __ovld __cnfn convert_long3_rtp(double3);
5277 long3 __ovld __cnfn convert_long3_rtz(double3);
5278 long3 __ovld __cnfn convert_long3_sat(double3);
5279 long3 __ovld __cnfn convert_long3_sat_rte(double3);
5280 long3 __ovld __cnfn convert_long3_sat_rtn(double3);
5281 long3 __ovld __cnfn convert_long3_sat_rtp(double3);
5282 long3 __ovld __cnfn convert_long3_sat_rtz(double3);
5283 long4 __ovld __cnfn convert_long4(double4);
5284 long4 __ovld __cnfn convert_long4_rte(double4);
5285 long4 __ovld __cnfn convert_long4_rtn(double4);
5286 long4 __ovld __cnfn convert_long4_rtp(double4);
5287 long4 __ovld __cnfn convert_long4_rtz(double4);
5288 long4 __ovld __cnfn convert_long4_sat(double4);
5289 long4 __ovld __cnfn convert_long4_sat_rte(double4);
5290 long4 __ovld __cnfn convert_long4_sat_rtn(double4);
5291 long4 __ovld __cnfn convert_long4_sat_rtp(double4);
5292 long4 __ovld __cnfn convert_long4_sat_rtz(double4);
5293 long8 __ovld __cnfn convert_long8(double8);
5294 long8 __ovld __cnfn convert_long8_rte(double8);
5295 long8 __ovld __cnfn convert_long8_rtn(double8);
5296 long8 __ovld __cnfn convert_long8_rtp(double8);
5297 long8 __ovld __cnfn convert_long8_rtz(double8);
5298 long8 __ovld __cnfn convert_long8_sat(double8);
5299 long8 __ovld __cnfn convert_long8_sat_rte(double8);
5300 long8 __ovld __cnfn convert_long8_sat_rtn(double8);
5301 long8 __ovld __cnfn convert_long8_sat_rtp(double8);
5302 long8 __ovld __cnfn convert_long8_sat_rtz(double8);
5303 long16 __ovld __cnfn convert_long16(double16);
5304 long16 __ovld __cnfn convert_long16_rte(double16);
5305 long16 __ovld __cnfn convert_long16_rtn(double16);
5306 long16 __ovld __cnfn convert_long16_rtp(double16);
5307 long16 __ovld __cnfn convert_long16_rtz(double16);
5308 long16 __ovld __cnfn convert_long16_sat(double16);
5309 long16 __ovld __cnfn convert_long16_sat_rte(double16);
5310 long16 __ovld __cnfn convert_long16_sat_rtn(double16);
5311 long16 __ovld __cnfn convert_long16_sat_rtp(double16);
5312 long16 __ovld __cnfn convert_long16_sat_rtz(double16);
5313
5314 ulong __ovld __cnfn convert_ulong(double);
5315 ulong __ovld __cnfn convert_ulong_rte(double);
5316 ulong __ovld __cnfn convert_ulong_rtn(double);
5317 ulong __ovld __cnfn convert_ulong_rtp(double);
5318 ulong __ovld __cnfn convert_ulong_rtz(double);
5319 ulong __ovld __cnfn convert_ulong_sat(double);
5320 ulong __ovld __cnfn convert_ulong_sat_rte(double);
5321 ulong __ovld __cnfn convert_ulong_sat_rtn(double);
5322 ulong __ovld __cnfn convert_ulong_sat_rtp(double);
5323 ulong __ovld __cnfn convert_ulong_sat_rtz(double);
5324 ulong2 __ovld __cnfn convert_ulong2(double2);
5325 ulong2 __ovld __cnfn convert_ulong2_rte(double2);
5326 ulong2 __ovld __cnfn convert_ulong2_rtn(double2);
5327 ulong2 __ovld __cnfn convert_ulong2_rtp(double2);
5328 ulong2 __ovld __cnfn convert_ulong2_rtz(double2);
5329 ulong2 __ovld __cnfn convert_ulong2_sat(double2);
5330 ulong2 __ovld __cnfn convert_ulong2_sat_rte(double2);
5331 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(double2);
5332 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(double2);
5333 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(double2);
5334 ulong3 __ovld __cnfn convert_ulong3(double3);
5335 ulong3 __ovld __cnfn convert_ulong3_rte(double3);
5336 ulong3 __ovld __cnfn convert_ulong3_rtn(double3);
5337 ulong3 __ovld __cnfn convert_ulong3_rtp(double3);
5338 ulong3 __ovld __cnfn convert_ulong3_rtz(double3);
5339 ulong3 __ovld __cnfn convert_ulong3_sat(double3);
5340 ulong3 __ovld __cnfn convert_ulong3_sat_rte(double3);
5341 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(double3);
5342 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(double3);
5343 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(double3);
5344 ulong4 __ovld __cnfn convert_ulong4(double4);
5345 ulong4 __ovld __cnfn convert_ulong4_rte(double4);
5346 ulong4 __ovld __cnfn convert_ulong4_rtn(double4);
5347 ulong4 __ovld __cnfn convert_ulong4_rtp(double4);
5348 ulong4 __ovld __cnfn convert_ulong4_rtz(double4);
5349 ulong4 __ovld __cnfn convert_ulong4_sat(double4);
5350 ulong4 __ovld __cnfn convert_ulong4_sat_rte(double4);
5351 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(double4);
5352 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(double4);
5353 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(double4);
5354 ulong8 __ovld __cnfn convert_ulong8(double8);
5355 ulong8 __ovld __cnfn convert_ulong8_rte(double8);
5356 ulong8 __ovld __cnfn convert_ulong8_rtn(double8);
5357 ulong8 __ovld __cnfn convert_ulong8_rtp(double8);
5358 ulong8 __ovld __cnfn convert_ulong8_rtz(double8);
5359 ulong8 __ovld __cnfn convert_ulong8_sat(double8);
5360 ulong8 __ovld __cnfn convert_ulong8_sat_rte(double8);
5361 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(double8);
5362 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(double8);
5363 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(double8);
5364 ulong16 __ovld __cnfn convert_ulong16(double16);
5365 ulong16 __ovld __cnfn convert_ulong16_rte(double16);
5366 ulong16 __ovld __cnfn convert_ulong16_rtn(double16);
5367 ulong16 __ovld __cnfn convert_ulong16_rtp(double16);
5368 ulong16 __ovld __cnfn convert_ulong16_rtz(double16);
5369 ulong16 __ovld __cnfn convert_ulong16_sat(double16);
5370 ulong16 __ovld __cnfn convert_ulong16_sat_rte(double16);
5371 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(double16);
5372 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(double16);
5373 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(double16);
5374
5375 float __ovld __cnfn convert_float(double);
5376 float __ovld __cnfn convert_float_rte(double);
5377 float __ovld __cnfn convert_float_rtn(double);
5378 float __ovld __cnfn convert_float_rtp(double);
5379 float __ovld __cnfn convert_float_rtz(double);
5380 float2 __ovld __cnfn convert_float2(double2);
5381 float2 __ovld __cnfn convert_float2_rte(double2);
5382 float2 __ovld __cnfn convert_float2_rtn(double2);
5383 float2 __ovld __cnfn convert_float2_rtp(double2);
5384 float2 __ovld __cnfn convert_float2_rtz(double2);
5385 float3 __ovld __cnfn convert_float3(double3);
5386 float3 __ovld __cnfn convert_float3_rte(double3);
5387 float3 __ovld __cnfn convert_float3_rtn(double3);
5388 float3 __ovld __cnfn convert_float3_rtp(double3);
5389 float3 __ovld __cnfn convert_float3_rtz(double3);
5390 float4 __ovld __cnfn convert_float4(double4);
5391 float4 __ovld __cnfn convert_float4_rte(double4);
5392 float4 __ovld __cnfn convert_float4_rtn(double4);
5393 float4 __ovld __cnfn convert_float4_rtp(double4);
5394 float4 __ovld __cnfn convert_float4_rtz(double4);
5395 float8 __ovld __cnfn convert_float8(double8);
5396 float8 __ovld __cnfn convert_float8_rte(double8);
5397 float8 __ovld __cnfn convert_float8_rtn(double8);
5398 float8 __ovld __cnfn convert_float8_rtp(double8);
5399 float8 __ovld __cnfn convert_float8_rtz(double8);
5400 float16 __ovld __cnfn convert_float16(double16);
5401 float16 __ovld __cnfn convert_float16_rte(double16);
5402 float16 __ovld __cnfn convert_float16_rtn(double16);
5403 float16 __ovld __cnfn convert_float16_rtp(double16);
5404 float16 __ovld __cnfn convert_float16_rtz(double16);
5405
5406 double __ovld __cnfn convert_double(char);
5407 double __ovld __cnfn convert_double(double);
5408 double __ovld __cnfn convert_double(float);
5409 double __ovld __cnfn convert_double(int);
5410 double __ovld __cnfn convert_double(long);
5411 double __ovld __cnfn convert_double(short);
5412 double __ovld __cnfn convert_double(uchar);
5413 double __ovld __cnfn convert_double(uint);
5414 double __ovld __cnfn convert_double(ulong);
5415 double __ovld __cnfn convert_double(ushort);
5416 double __ovld __cnfn convert_double_rte(char);
5417 double __ovld __cnfn convert_double_rte(double);
5418 double __ovld __cnfn convert_double_rte(float);
5419 double __ovld __cnfn convert_double_rte(int);
5420 double __ovld __cnfn convert_double_rte(long);
5421 double __ovld __cnfn convert_double_rte(short);
5422 double __ovld __cnfn convert_double_rte(uchar);
5423 double __ovld __cnfn convert_double_rte(uint);
5424 double __ovld __cnfn convert_double_rte(ulong);
5425 double __ovld __cnfn convert_double_rte(ushort);
5426 double __ovld __cnfn convert_double_rtn(char);
5427 double __ovld __cnfn convert_double_rtn(double);
5428 double __ovld __cnfn convert_double_rtn(float);
5429 double __ovld __cnfn convert_double_rtn(int);
5430 double __ovld __cnfn convert_double_rtn(long);
5431 double __ovld __cnfn convert_double_rtn(short);
5432 double __ovld __cnfn convert_double_rtn(uchar);
5433 double __ovld __cnfn convert_double_rtn(uint);
5434 double __ovld __cnfn convert_double_rtn(ulong);
5435 double __ovld __cnfn convert_double_rtn(ushort);
5436 double __ovld __cnfn convert_double_rtp(char);
5437 double __ovld __cnfn convert_double_rtp(double);
5438 double __ovld __cnfn convert_double_rtp(float);
5439 double __ovld __cnfn convert_double_rtp(int);
5440 double __ovld __cnfn convert_double_rtp(long);
5441 double __ovld __cnfn convert_double_rtp(short);
5442 double __ovld __cnfn convert_double_rtp(uchar);
5443 double __ovld __cnfn convert_double_rtp(uint);
5444 double __ovld __cnfn convert_double_rtp(ulong);
5445 double __ovld __cnfn convert_double_rtp(ushort);
5446 double __ovld __cnfn convert_double_rtz(char);
5447 double __ovld __cnfn convert_double_rtz(double);
5448 double __ovld __cnfn convert_double_rtz(float);
5449 double __ovld __cnfn convert_double_rtz(int);
5450 double __ovld __cnfn convert_double_rtz(long);
5451 double __ovld __cnfn convert_double_rtz(short);
5452 double __ovld __cnfn convert_double_rtz(uchar);
5453 double __ovld __cnfn convert_double_rtz(uint);
5454 double __ovld __cnfn convert_double_rtz(ulong);
5455 double __ovld __cnfn convert_double_rtz(ushort);
5456 double2 __ovld __cnfn convert_double2(char2);
5457 double2 __ovld __cnfn convert_double2(double2);
5458 double2 __ovld __cnfn convert_double2(float2);
5459 double2 __ovld __cnfn convert_double2(int2);
5460 double2 __ovld __cnfn convert_double2(long2);
5461 double2 __ovld __cnfn convert_double2(short2);
5462 double2 __ovld __cnfn convert_double2(uchar2);
5463 double2 __ovld __cnfn convert_double2(uint2);
5464 double2 __ovld __cnfn convert_double2(ulong2);
5465 double2 __ovld __cnfn convert_double2(ushort2);
5466 double2 __ovld __cnfn convert_double2_rte(char2);
5467 double2 __ovld __cnfn convert_double2_rte(double2);
5468 double2 __ovld __cnfn convert_double2_rte(float2);
5469 double2 __ovld __cnfn convert_double2_rte(int2);
5470 double2 __ovld __cnfn convert_double2_rte(long2);
5471 double2 __ovld __cnfn convert_double2_rte(short2);
5472 double2 __ovld __cnfn convert_double2_rte(uchar2);
5473 double2 __ovld __cnfn convert_double2_rte(uint2);
5474 double2 __ovld __cnfn convert_double2_rte(ulong2);
5475 double2 __ovld __cnfn convert_double2_rte(ushort2);
5476 double2 __ovld __cnfn convert_double2_rtn(char2);
5477 double2 __ovld __cnfn convert_double2_rtn(double2);
5478 double2 __ovld __cnfn convert_double2_rtn(float2);
5479 double2 __ovld __cnfn convert_double2_rtn(int2);
5480 double2 __ovld __cnfn convert_double2_rtn(long2);
5481 double2 __ovld __cnfn convert_double2_rtn(short2);
5482 double2 __ovld __cnfn convert_double2_rtn(uchar2);
5483 double2 __ovld __cnfn convert_double2_rtn(uint2);
5484 double2 __ovld __cnfn convert_double2_rtn(ulong2);
5485 double2 __ovld __cnfn convert_double2_rtn(ushort2);
5486 double2 __ovld __cnfn convert_double2_rtp(char2);
5487 double2 __ovld __cnfn convert_double2_rtp(double2);
5488 double2 __ovld __cnfn convert_double2_rtp(float2);
5489 double2 __ovld __cnfn convert_double2_rtp(int2);
5490 double2 __ovld __cnfn convert_double2_rtp(long2);
5491 double2 __ovld __cnfn convert_double2_rtp(short2);
5492 double2 __ovld __cnfn convert_double2_rtp(uchar2);
5493 double2 __ovld __cnfn convert_double2_rtp(uint2);
5494 double2 __ovld __cnfn convert_double2_rtp(ulong2);
5495 double2 __ovld __cnfn convert_double2_rtp(ushort2);
5496 double2 __ovld __cnfn convert_double2_rtz(char2);
5497 double2 __ovld __cnfn convert_double2_rtz(double2);
5498 double2 __ovld __cnfn convert_double2_rtz(float2);
5499 double2 __ovld __cnfn convert_double2_rtz(int2);
5500 double2 __ovld __cnfn convert_double2_rtz(long2);
5501 double2 __ovld __cnfn convert_double2_rtz(short2);
5502 double2 __ovld __cnfn convert_double2_rtz(uchar2);
5503 double2 __ovld __cnfn convert_double2_rtz(uint2);
5504 double2 __ovld __cnfn convert_double2_rtz(ulong2);
5505 double2 __ovld __cnfn convert_double2_rtz(ushort2);
5506 double3 __ovld __cnfn convert_double3(char3);
5507 double3 __ovld __cnfn convert_double3(double3);
5508 double3 __ovld __cnfn convert_double3(float3);
5509 double3 __ovld __cnfn convert_double3(int3);
5510 double3 __ovld __cnfn convert_double3(long3);
5511 double3 __ovld __cnfn convert_double3(short3);
5512 double3 __ovld __cnfn convert_double3(uchar3);
5513 double3 __ovld __cnfn convert_double3(uint3);
5514 double3 __ovld __cnfn convert_double3(ulong3);
5515 double3 __ovld __cnfn convert_double3(ushort3);
5516 double3 __ovld __cnfn convert_double3_rte(char3);
5517 double3 __ovld __cnfn convert_double3_rte(double3);
5518 double3 __ovld __cnfn convert_double3_rte(float3);
5519 double3 __ovld __cnfn convert_double3_rte(int3);
5520 double3 __ovld __cnfn convert_double3_rte(long3);
5521 double3 __ovld __cnfn convert_double3_rte(short3);
5522 double3 __ovld __cnfn convert_double3_rte(uchar3);
5523 double3 __ovld __cnfn convert_double3_rte(uint3);
5524 double3 __ovld __cnfn convert_double3_rte(ulong3);
5525 double3 __ovld __cnfn convert_double3_rte(ushort3);
5526 double3 __ovld __cnfn convert_double3_rtn(char3);
5527 double3 __ovld __cnfn convert_double3_rtn(double3);
5528 double3 __ovld __cnfn convert_double3_rtn(float3);
5529 double3 __ovld __cnfn convert_double3_rtn(int3);
5530 double3 __ovld __cnfn convert_double3_rtn(long3);
5531 double3 __ovld __cnfn convert_double3_rtn(short3);
5532 double3 __ovld __cnfn convert_double3_rtn(uchar3);
5533 double3 __ovld __cnfn convert_double3_rtn(uint3);
5534 double3 __ovld __cnfn convert_double3_rtn(ulong3);
5535 double3 __ovld __cnfn convert_double3_rtn(ushort3);
5536 double3 __ovld __cnfn convert_double3_rtp(char3);
5537 double3 __ovld __cnfn convert_double3_rtp(double3);
5538 double3 __ovld __cnfn convert_double3_rtp(float3);
5539 double3 __ovld __cnfn convert_double3_rtp(int3);
5540 double3 __ovld __cnfn convert_double3_rtp(long3);
5541 double3 __ovld __cnfn convert_double3_rtp(short3);
5542 double3 __ovld __cnfn convert_double3_rtp(uchar3);
5543 double3 __ovld __cnfn convert_double3_rtp(uint3);
5544 double3 __ovld __cnfn convert_double3_rtp(ulong3);
5545 double3 __ovld __cnfn convert_double3_rtp(ushort3);
5546 double3 __ovld __cnfn convert_double3_rtz(char3);
5547 double3 __ovld __cnfn convert_double3_rtz(double3);
5548 double3 __ovld __cnfn convert_double3_rtz(float3);
5549 double3 __ovld __cnfn convert_double3_rtz(int3);
5550 double3 __ovld __cnfn convert_double3_rtz(long3);
5551 double3 __ovld __cnfn convert_double3_rtz(short3);
5552 double3 __ovld __cnfn convert_double3_rtz(uchar3);
5553 double3 __ovld __cnfn convert_double3_rtz(uint3);
5554 double3 __ovld __cnfn convert_double3_rtz(ulong3);
5555 double3 __ovld __cnfn convert_double3_rtz(ushort3);
5556 double4 __ovld __cnfn convert_double4(char4);
5557 double4 __ovld __cnfn convert_double4(double4);
5558 double4 __ovld __cnfn convert_double4(float4);
5559 double4 __ovld __cnfn convert_double4(int4);
5560 double4 __ovld __cnfn convert_double4(long4);
5561 double4 __ovld __cnfn convert_double4(short4);
5562 double4 __ovld __cnfn convert_double4(uchar4);
5563 double4 __ovld __cnfn convert_double4(uint4);
5564 double4 __ovld __cnfn convert_double4(ulong4);
5565 double4 __ovld __cnfn convert_double4(ushort4);
5566 double4 __ovld __cnfn convert_double4_rte(char4);
5567 double4 __ovld __cnfn convert_double4_rte(double4);
5568 double4 __ovld __cnfn convert_double4_rte(float4);
5569 double4 __ovld __cnfn convert_double4_rte(int4);
5570 double4 __ovld __cnfn convert_double4_rte(long4);
5571 double4 __ovld __cnfn convert_double4_rte(short4);
5572 double4 __ovld __cnfn convert_double4_rte(uchar4);
5573 double4 __ovld __cnfn convert_double4_rte(uint4);
5574 double4 __ovld __cnfn convert_double4_rte(ulong4);
5575 double4 __ovld __cnfn convert_double4_rte(ushort4);
5576 double4 __ovld __cnfn convert_double4_rtn(char4);
5577 double4 __ovld __cnfn convert_double4_rtn(double4);
5578 double4 __ovld __cnfn convert_double4_rtn(float4);
5579 double4 __ovld __cnfn convert_double4_rtn(int4);
5580 double4 __ovld __cnfn convert_double4_rtn(long4);
5581 double4 __ovld __cnfn convert_double4_rtn(short4);
5582 double4 __ovld __cnfn convert_double4_rtn(uchar4);
5583 double4 __ovld __cnfn convert_double4_rtn(uint4);
5584 double4 __ovld __cnfn convert_double4_rtn(ulong4);
5585 double4 __ovld __cnfn convert_double4_rtn(ushort4);
5586 double4 __ovld __cnfn convert_double4_rtp(char4);
5587 double4 __ovld __cnfn convert_double4_rtp(double4);
5588 double4 __ovld __cnfn convert_double4_rtp(float4);
5589 double4 __ovld __cnfn convert_double4_rtp(int4);
5590 double4 __ovld __cnfn convert_double4_rtp(long4);
5591 double4 __ovld __cnfn convert_double4_rtp(short4);
5592 double4 __ovld __cnfn convert_double4_rtp(uchar4);
5593 double4 __ovld __cnfn convert_double4_rtp(uint4);
5594 double4 __ovld __cnfn convert_double4_rtp(ulong4);
5595 double4 __ovld __cnfn convert_double4_rtp(ushort4);
5596 double4 __ovld __cnfn convert_double4_rtz(char4);
5597 double4 __ovld __cnfn convert_double4_rtz(double4);
5598 double4 __ovld __cnfn convert_double4_rtz(float4);
5599 double4 __ovld __cnfn convert_double4_rtz(int4);
5600 double4 __ovld __cnfn convert_double4_rtz(long4);
5601 double4 __ovld __cnfn convert_double4_rtz(short4);
5602 double4 __ovld __cnfn convert_double4_rtz(uchar4);
5603 double4 __ovld __cnfn convert_double4_rtz(uint4);
5604 double4 __ovld __cnfn convert_double4_rtz(ulong4);
5605 double4 __ovld __cnfn convert_double4_rtz(ushort4);
5606 double8 __ovld __cnfn convert_double8(char8);
5607 double8 __ovld __cnfn convert_double8(double8);
5608 double8 __ovld __cnfn convert_double8(float8);
5609 double8 __ovld __cnfn convert_double8(int8);
5610 double8 __ovld __cnfn convert_double8(long8);
5611 double8 __ovld __cnfn convert_double8(short8);
5612 double8 __ovld __cnfn convert_double8(uchar8);
5613 double8 __ovld __cnfn convert_double8(uint8);
5614 double8 __ovld __cnfn convert_double8(ulong8);
5615 double8 __ovld __cnfn convert_double8(ushort8);
5616 double8 __ovld __cnfn convert_double8_rte(char8);
5617 double8 __ovld __cnfn convert_double8_rte(double8);
5618 double8 __ovld __cnfn convert_double8_rte(float8);
5619 double8 __ovld __cnfn convert_double8_rte(int8);
5620 double8 __ovld __cnfn convert_double8_rte(long8);
5621 double8 __ovld __cnfn convert_double8_rte(short8);
5622 double8 __ovld __cnfn convert_double8_rte(uchar8);
5623 double8 __ovld __cnfn convert_double8_rte(uint8);
5624 double8 __ovld __cnfn convert_double8_rte(ulong8);
5625 double8 __ovld __cnfn convert_double8_rte(ushort8);
5626 double8 __ovld __cnfn convert_double8_rtn(char8);
5627 double8 __ovld __cnfn convert_double8_rtn(double8);
5628 double8 __ovld __cnfn convert_double8_rtn(float8);
5629 double8 __ovld __cnfn convert_double8_rtn(int8);
5630 double8 __ovld __cnfn convert_double8_rtn(long8);
5631 double8 __ovld __cnfn convert_double8_rtn(short8);
5632 double8 __ovld __cnfn convert_double8_rtn(uchar8);
5633 double8 __ovld __cnfn convert_double8_rtn(uint8);
5634 double8 __ovld __cnfn convert_double8_rtn(ulong8);
5635 double8 __ovld __cnfn convert_double8_rtn(ushort8);
5636 double8 __ovld __cnfn convert_double8_rtp(char8);
5637 double8 __ovld __cnfn convert_double8_rtp(double8);
5638 double8 __ovld __cnfn convert_double8_rtp(float8);
5639 double8 __ovld __cnfn convert_double8_rtp(int8);
5640 double8 __ovld __cnfn convert_double8_rtp(long8);
5641 double8 __ovld __cnfn convert_double8_rtp(short8);
5642 double8 __ovld __cnfn convert_double8_rtp(uchar8);
5643 double8 __ovld __cnfn convert_double8_rtp(uint8);
5644 double8 __ovld __cnfn convert_double8_rtp(ulong8);
5645 double8 __ovld __cnfn convert_double8_rtp(ushort8);
5646 double8 __ovld __cnfn convert_double8_rtz(char8);
5647 double8 __ovld __cnfn convert_double8_rtz(double8);
5648 double8 __ovld __cnfn convert_double8_rtz(float8);
5649 double8 __ovld __cnfn convert_double8_rtz(int8);
5650 double8 __ovld __cnfn convert_double8_rtz(long8);
5651 double8 __ovld __cnfn convert_double8_rtz(short8);
5652 double8 __ovld __cnfn convert_double8_rtz(uchar8);
5653 double8 __ovld __cnfn convert_double8_rtz(uint8);
5654 double8 __ovld __cnfn convert_double8_rtz(ulong8);
5655 double8 __ovld __cnfn convert_double8_rtz(ushort8);
5656 double16 __ovld __cnfn convert_double16(char16);
5657 double16 __ovld __cnfn convert_double16(double16);
5658 double16 __ovld __cnfn convert_double16(float16);
5659 double16 __ovld __cnfn convert_double16(int16);
5660 double16 __ovld __cnfn convert_double16(long16);
5661 double16 __ovld __cnfn convert_double16(short16);
5662 double16 __ovld __cnfn convert_double16(uchar16);
5663 double16 __ovld __cnfn convert_double16(uint16);
5664 double16 __ovld __cnfn convert_double16(ulong16);
5665 double16 __ovld __cnfn convert_double16(ushort16);
5666 double16 __ovld __cnfn convert_double16_rte(char16);
5667 double16 __ovld __cnfn convert_double16_rte(double16);
5668 double16 __ovld __cnfn convert_double16_rte(float16);
5669 double16 __ovld __cnfn convert_double16_rte(int16);
5670 double16 __ovld __cnfn convert_double16_rte(long16);
5671 double16 __ovld __cnfn convert_double16_rte(short16);
5672 double16 __ovld __cnfn convert_double16_rte(uchar16);
5673 double16 __ovld __cnfn convert_double16_rte(uint16);
5674 double16 __ovld __cnfn convert_double16_rte(ulong16);
5675 double16 __ovld __cnfn convert_double16_rte(ushort16);
5676 double16 __ovld __cnfn convert_double16_rtn(char16);
5677 double16 __ovld __cnfn convert_double16_rtn(double16);
5678 double16 __ovld __cnfn convert_double16_rtn(float16);
5679 double16 __ovld __cnfn convert_double16_rtn(int16);
5680 double16 __ovld __cnfn convert_double16_rtn(long16);
5681 double16 __ovld __cnfn convert_double16_rtn(short16);
5682 double16 __ovld __cnfn convert_double16_rtn(uchar16);
5683 double16 __ovld __cnfn convert_double16_rtn(uint16);
5684 double16 __ovld __cnfn convert_double16_rtn(ulong16);
5685 double16 __ovld __cnfn convert_double16_rtn(ushort16);
5686 double16 __ovld __cnfn convert_double16_rtp(char16);
5687 double16 __ovld __cnfn convert_double16_rtp(double16);
5688 double16 __ovld __cnfn convert_double16_rtp(float16);
5689 double16 __ovld __cnfn convert_double16_rtp(int16);
5690 double16 __ovld __cnfn convert_double16_rtp(long16);
5691 double16 __ovld __cnfn convert_double16_rtp(short16);
5692 double16 __ovld __cnfn convert_double16_rtp(uchar16);
5693 double16 __ovld __cnfn convert_double16_rtp(uint16);
5694 double16 __ovld __cnfn convert_double16_rtp(ulong16);
5695 double16 __ovld __cnfn convert_double16_rtp(ushort16);
5696 double16 __ovld __cnfn convert_double16_rtz(char16);
5697 double16 __ovld __cnfn convert_double16_rtz(double16);
5698 double16 __ovld __cnfn convert_double16_rtz(float16);
5699 double16 __ovld __cnfn convert_double16_rtz(int16);
5700 double16 __ovld __cnfn convert_double16_rtz(long16);
5701 double16 __ovld __cnfn convert_double16_rtz(short16);
5702 double16 __ovld __cnfn convert_double16_rtz(uchar16);
5703 double16 __ovld __cnfn convert_double16_rtz(uint16);
5704 double16 __ovld __cnfn convert_double16_rtz(ulong16);
5705 double16 __ovld __cnfn convert_double16_rtz(ushort16);
5706 #endif //cl_khr_fp64
5707
5708 #ifdef cl_khr_fp16
5709 // Convert half types to non-double types.
5710 uchar __ovld __cnfn convert_uchar(half);
5711 uchar __ovld __cnfn convert_uchar_rte(half);
5712 uchar __ovld __cnfn convert_uchar_rtp(half);
5713 uchar __ovld __cnfn convert_uchar_rtn(half);
5714 uchar __ovld __cnfn convert_uchar_rtz(half);
5715 uchar __ovld __cnfn convert_uchar_sat(half);
5716 uchar __ovld __cnfn convert_uchar_sat_rte(half);
5717 uchar __ovld __cnfn convert_uchar_sat_rtp(half);
5718 uchar __ovld __cnfn convert_uchar_sat_rtn(half);
5719 uchar __ovld __cnfn convert_uchar_sat_rtz(half);
5720 uchar2 __ovld __cnfn convert_uchar2(half2);
5721 uchar2 __ovld __cnfn convert_uchar2_rte(half2);
5722 uchar2 __ovld __cnfn convert_uchar2_rtp(half2);
5723 uchar2 __ovld __cnfn convert_uchar2_rtn(half2);
5724 uchar2 __ovld __cnfn convert_uchar2_rtz(half2);
5725 uchar2 __ovld __cnfn convert_uchar2_sat(half2);
5726 uchar2 __ovld __cnfn convert_uchar2_sat_rte(half2);
5727 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(half2);
5728 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(half2);
5729 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(half2);
5730 uchar3 __ovld __cnfn convert_uchar3(half3);
5731 uchar3 __ovld __cnfn convert_uchar3_rte(half3);
5732 uchar3 __ovld __cnfn convert_uchar3_rtp(half3);
5733 uchar3 __ovld __cnfn convert_uchar3_rtn(half3);
5734 uchar3 __ovld __cnfn convert_uchar3_rtz(half3);
5735 uchar3 __ovld __cnfn convert_uchar3_sat(half3);
5736 uchar3 __ovld __cnfn convert_uchar3_sat_rte(half3);
5737 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(half3);
5738 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(half3);
5739 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(half3);
5740 uchar4 __ovld __cnfn convert_uchar4(half4);
5741 uchar4 __ovld __cnfn convert_uchar4_rte(half4);
5742 uchar4 __ovld __cnfn convert_uchar4_rtp(half4);
5743 uchar4 __ovld __cnfn convert_uchar4_rtn(half4);
5744 uchar4 __ovld __cnfn convert_uchar4_rtz(half4);
5745 uchar4 __ovld __cnfn convert_uchar4_sat(half4);
5746 uchar4 __ovld __cnfn convert_uchar4_sat_rte(half4);
5747 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(half4);
5748 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(half4);
5749 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(half4);
5750 uchar8 __ovld __cnfn convert_uchar8(half8);
5751 uchar8 __ovld __cnfn convert_uchar8_rte(half8);
5752 uchar8 __ovld __cnfn convert_uchar8_rtp(half8);
5753 uchar8 __ovld __cnfn convert_uchar8_rtn(half8);
5754 uchar8 __ovld __cnfn convert_uchar8_rtz(half8);
5755 uchar8 __ovld __cnfn convert_uchar8_sat(half8);
5756 uchar8 __ovld __cnfn convert_uchar8_sat_rte(half8);
5757 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(half8);
5758 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(half8);
5759 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(half8);
5760 uchar16 __ovld __cnfn convert_uchar16(half16);
5761 uchar16 __ovld __cnfn convert_uchar16_rte(half16);
5762 uchar16 __ovld __cnfn convert_uchar16_rtp(half16);
5763 uchar16 __ovld __cnfn convert_uchar16_rtn(half16);
5764 uchar16 __ovld __cnfn convert_uchar16_rtz(half16);
5765 uchar16 __ovld __cnfn convert_uchar16_sat(half16);
5766 uchar16 __ovld __cnfn convert_uchar16_sat_rte(half16);
5767 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(half16);
5768 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(half16);
5769 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(half16);
5770 ushort __ovld __cnfn convert_ushort(half);
5771 ushort __ovld __cnfn convert_ushort_rte(half);
5772 ushort __ovld __cnfn convert_ushort_rtp(half);
5773 ushort __ovld __cnfn convert_ushort_rtn(half);
5774 ushort __ovld __cnfn convert_ushort_rtz(half);
5775 ushort __ovld __cnfn convert_ushort_sat(half);
5776 ushort __ovld __cnfn convert_ushort_sat_rte(half);
5777 ushort __ovld __cnfn convert_ushort_sat_rtp(half);
5778 ushort __ovld __cnfn convert_ushort_sat_rtn(half);
5779 ushort __ovld __cnfn convert_ushort_sat_rtz(half);
5780 ushort2 __ovld __cnfn convert_ushort2(half2);
5781 ushort2 __ovld __cnfn convert_ushort2_rte(half2);
5782 ushort2 __ovld __cnfn convert_ushort2_rtp(half2);
5783 ushort2 __ovld __cnfn convert_ushort2_rtn(half2);
5784 ushort2 __ovld __cnfn convert_ushort2_rtz(half2);
5785 ushort2 __ovld __cnfn convert_ushort2_sat(half2);
5786 ushort2 __ovld __cnfn convert_ushort2_sat_rte(half2);
5787 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(half2);
5788 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(half2);
5789 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(half2);
5790 ushort3 __ovld __cnfn convert_ushort3(half3);
5791 ushort3 __ovld __cnfn convert_ushort3_rte(half3);
5792 ushort3 __ovld __cnfn convert_ushort3_rtp(half3);
5793 ushort3 __ovld __cnfn convert_ushort3_rtn(half3);
5794 ushort3 __ovld __cnfn convert_ushort3_rtz(half3);
5795 ushort3 __ovld __cnfn convert_ushort3_sat(half3);
5796 ushort3 __ovld __cnfn convert_ushort3_sat_rte(half3);
5797 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(half3);
5798 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(half3);
5799 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(half3);
5800 ushort4 __ovld __cnfn convert_ushort4(half4);
5801 ushort4 __ovld __cnfn convert_ushort4_rte(half4);
5802 ushort4 __ovld __cnfn convert_ushort4_rtp(half4);
5803 ushort4 __ovld __cnfn convert_ushort4_rtn(half4);
5804 ushort4 __ovld __cnfn convert_ushort4_rtz(half4);
5805 ushort4 __ovld __cnfn convert_ushort4_sat(half4);
5806 ushort4 __ovld __cnfn convert_ushort4_sat_rte(half4);
5807 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(half4);
5808 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(half4);
5809 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(half4);
5810 ushort8 __ovld __cnfn convert_ushort8(half8);
5811 ushort8 __ovld __cnfn convert_ushort8_rte(half8);
5812 ushort8 __ovld __cnfn convert_ushort8_rtp(half8);
5813 ushort8 __ovld __cnfn convert_ushort8_rtn(half8);
5814 ushort8 __ovld __cnfn convert_ushort8_rtz(half8);
5815 ushort8 __ovld __cnfn convert_ushort8_sat(half8);
5816 ushort8 __ovld __cnfn convert_ushort8_sat_rte(half8);
5817 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(half8);
5818 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(half8);
5819 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(half8);
5820 ushort16 __ovld __cnfn convert_ushort16(half16);
5821 ushort16 __ovld __cnfn convert_ushort16_rte(half16);
5822 ushort16 __ovld __cnfn convert_ushort16_rtp(half16);
5823 ushort16 __ovld __cnfn convert_ushort16_rtn(half16);
5824 ushort16 __ovld __cnfn convert_ushort16_rtz(half16);
5825 ushort16 __ovld __cnfn convert_ushort16_sat(half16);
5826 ushort16 __ovld __cnfn convert_ushort16_sat_rte(half16);
5827 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(half16);
5828 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(half16);
5829 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(half16);
5830 uint __ovld __cnfn convert_uint(half);
5831 uint __ovld __cnfn convert_uint_rte(half);
5832 uint __ovld __cnfn convert_uint_rtp(half);
5833 uint __ovld __cnfn convert_uint_rtn(half);
5834 uint __ovld __cnfn convert_uint_rtz(half);
5835 uint __ovld __cnfn convert_uint_sat(half);
5836 uint __ovld __cnfn convert_uint_sat_rte(half);
5837 uint __ovld __cnfn convert_uint_sat_rtp(half);
5838 uint __ovld __cnfn convert_uint_sat_rtn(half);
5839 uint __ovld __cnfn convert_uint_sat_rtz(half);
5840 uint2 __ovld __cnfn convert_uint2(half2);
5841 uint2 __ovld __cnfn convert_uint2_rte(half2);
5842 uint2 __ovld __cnfn convert_uint2_rtp(half2);
5843 uint2 __ovld __cnfn convert_uint2_rtn(half2);
5844 uint2 __ovld __cnfn convert_uint2_rtz(half2);
5845 uint2 __ovld __cnfn convert_uint2_sat(half2);
5846 uint2 __ovld __cnfn convert_uint2_sat_rte(half2);
5847 uint2 __ovld __cnfn convert_uint2_sat_rtp(half2);
5848 uint2 __ovld __cnfn convert_uint2_sat_rtn(half2);
5849 uint2 __ovld __cnfn convert_uint2_sat_rtz(half2);
5850 uint3 __ovld __cnfn convert_uint3(half3);
5851 uint3 __ovld __cnfn convert_uint3_rte(half3);
5852 uint3 __ovld __cnfn convert_uint3_rtp(half3);
5853 uint3 __ovld __cnfn convert_uint3_rtn(half3);
5854 uint3 __ovld __cnfn convert_uint3_rtz(half3);
5855 uint3 __ovld __cnfn convert_uint3_sat(half3);
5856 uint3 __ovld __cnfn convert_uint3_sat_rte(half3);
5857 uint3 __ovld __cnfn convert_uint3_sat_rtp(half3);
5858 uint3 __ovld __cnfn convert_uint3_sat_rtn(half3);
5859 uint3 __ovld __cnfn convert_uint3_sat_rtz(half3);
5860 uint4 __ovld __cnfn convert_uint4(half4);
5861 uint4 __ovld __cnfn convert_uint4_rte(half4);
5862 uint4 __ovld __cnfn convert_uint4_rtp(half4);
5863 uint4 __ovld __cnfn convert_uint4_rtn(half4);
5864 uint4 __ovld __cnfn convert_uint4_rtz(half4);
5865 uint4 __ovld __cnfn convert_uint4_sat(half4);
5866 uint4 __ovld __cnfn convert_uint4_sat_rte(half4);
5867 uint4 __ovld __cnfn convert_uint4_sat_rtp(half4);
5868 uint4 __ovld __cnfn convert_uint4_sat_rtn(half4);
5869 uint4 __ovld __cnfn convert_uint4_sat_rtz(half4);
5870 uint8 __ovld __cnfn convert_uint8(half8);
5871 uint8 __ovld __cnfn convert_uint8_rte(half8);
5872 uint8 __ovld __cnfn convert_uint8_rtp(half8);
5873 uint8 __ovld __cnfn convert_uint8_rtn(half8);
5874 uint8 __ovld __cnfn convert_uint8_rtz(half8);
5875 uint8 __ovld __cnfn convert_uint8_sat(half8);
5876 uint8 __ovld __cnfn convert_uint8_sat_rte(half8);
5877 uint8 __ovld __cnfn convert_uint8_sat_rtp(half8);
5878 uint8 __ovld __cnfn convert_uint8_sat_rtn(half8);
5879 uint8 __ovld __cnfn convert_uint8_sat_rtz(half8);
5880 uint16 __ovld __cnfn convert_uint16(half16);
5881 uint16 __ovld __cnfn convert_uint16_rte(half16);
5882 uint16 __ovld __cnfn convert_uint16_rtp(half16);
5883 uint16 __ovld __cnfn convert_uint16_rtn(half16);
5884 uint16 __ovld __cnfn convert_uint16_rtz(half16);
5885 uint16 __ovld __cnfn convert_uint16_sat(half16);
5886 uint16 __ovld __cnfn convert_uint16_sat_rte(half16);
5887 uint16 __ovld __cnfn convert_uint16_sat_rtp(half16);
5888 uint16 __ovld __cnfn convert_uint16_sat_rtn(half16);
5889 uint16 __ovld __cnfn convert_uint16_sat_rtz(half16);
5890 ulong __ovld __cnfn convert_ulong(half);
5891 ulong __ovld __cnfn convert_ulong_rte(half);
5892 ulong __ovld __cnfn convert_ulong_rtp(half);
5893 ulong __ovld __cnfn convert_ulong_rtn(half);
5894 ulong __ovld __cnfn convert_ulong_rtz(half);
5895 ulong __ovld __cnfn convert_ulong_sat(half);
5896 ulong __ovld __cnfn convert_ulong_sat_rte(half);
5897 ulong __ovld __cnfn convert_ulong_sat_rtp(half);
5898 ulong __ovld __cnfn convert_ulong_sat_rtn(half);
5899 ulong __ovld __cnfn convert_ulong_sat_rtz(half);
5900 ulong2 __ovld __cnfn convert_ulong2(half2);
5901 ulong2 __ovld __cnfn convert_ulong2_rte(half2);
5902 ulong2 __ovld __cnfn convert_ulong2_rtp(half2);
5903 ulong2 __ovld __cnfn convert_ulong2_rtn(half2);
5904 ulong2 __ovld __cnfn convert_ulong2_rtz(half2);
5905 ulong2 __ovld __cnfn convert_ulong2_sat(half2);
5906 ulong2 __ovld __cnfn convert_ulong2_sat_rte(half2);
5907 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(half2);
5908 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(half2);
5909 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(half2);
5910 ulong3 __ovld __cnfn convert_ulong3(half3);
5911 ulong3 __ovld __cnfn convert_ulong3_rte(half3);
5912 ulong3 __ovld __cnfn convert_ulong3_rtp(half3);
5913 ulong3 __ovld __cnfn convert_ulong3_rtn(half3);
5914 ulong3 __ovld __cnfn convert_ulong3_rtz(half3);
5915 ulong3 __ovld __cnfn convert_ulong3_sat(half3);
5916 ulong3 __ovld __cnfn convert_ulong3_sat_rte(half3);
5917 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(half3);
5918 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(half3);
5919 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(half3);
5920 ulong4 __ovld __cnfn convert_ulong4(half4);
5921 ulong4 __ovld __cnfn convert_ulong4_rte(half4);
5922 ulong4 __ovld __cnfn convert_ulong4_rtp(half4);
5923 ulong4 __ovld __cnfn convert_ulong4_rtn(half4);
5924 ulong4 __ovld __cnfn convert_ulong4_rtz(half4);
5925 ulong4 __ovld __cnfn convert_ulong4_sat(half4);
5926 ulong4 __ovld __cnfn convert_ulong4_sat_rte(half4);
5927 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(half4);
5928 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(half4);
5929 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(half4);
5930 ulong8 __ovld __cnfn convert_ulong8(half8);
5931 ulong8 __ovld __cnfn convert_ulong8_rte(half8);
5932 ulong8 __ovld __cnfn convert_ulong8_rtp(half8);
5933 ulong8 __ovld __cnfn convert_ulong8_rtn(half8);
5934 ulong8 __ovld __cnfn convert_ulong8_rtz(half8);
5935 ulong8 __ovld __cnfn convert_ulong8_sat(half8);
5936 ulong8 __ovld __cnfn convert_ulong8_sat_rte(half8);
5937 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(half8);
5938 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(half8);
5939 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(half8);
5940 ulong16 __ovld __cnfn convert_ulong16(half16);
5941 ulong16 __ovld __cnfn convert_ulong16_rte(half16);
5942 ulong16 __ovld __cnfn convert_ulong16_rtp(half16);
5943 ulong16 __ovld __cnfn convert_ulong16_rtn(half16);
5944 ulong16 __ovld __cnfn convert_ulong16_rtz(half16);
5945 ulong16 __ovld __cnfn convert_ulong16_sat(half16);
5946 ulong16 __ovld __cnfn convert_ulong16_sat_rte(half16);
5947 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(half16);
5948 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(half16);
5949 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(half16);
5950 char __ovld __cnfn convert_char(half);
5951 char __ovld __cnfn convert_char_rte(half);
5952 char __ovld __cnfn convert_char_rtp(half);
5953 char __ovld __cnfn convert_char_rtn(half);
5954 char __ovld __cnfn convert_char_rtz(half);
5955 char __ovld __cnfn convert_char_sat(half);
5956 char __ovld __cnfn convert_char_sat_rte(half);
5957 char __ovld __cnfn convert_char_sat_rtp(half);
5958 char __ovld __cnfn convert_char_sat_rtn(half);
5959 char __ovld __cnfn convert_char_sat_rtz(half);
5960 char2 __ovld __cnfn convert_char2(half2);
5961 char2 __ovld __cnfn convert_char2_rte(half2);
5962 char2 __ovld __cnfn convert_char2_rtp(half2);
5963 char2 __ovld __cnfn convert_char2_rtn(half2);
5964 char2 __ovld __cnfn convert_char2_rtz(half2);
5965 char2 __ovld __cnfn convert_char2_sat(half2);
5966 char2 __ovld __cnfn convert_char2_sat_rte(half2);
5967 char2 __ovld __cnfn convert_char2_sat_rtp(half2);
5968 char2 __ovld __cnfn convert_char2_sat_rtn(half2);
5969 char2 __ovld __cnfn convert_char2_sat_rtz(half2);
5970 char3 __ovld __cnfn convert_char3(half3);
5971 char3 __ovld __cnfn convert_char3_rte(half3);
5972 char3 __ovld __cnfn convert_char3_rtp(half3);
5973 char3 __ovld __cnfn convert_char3_rtn(half3);
5974 char3 __ovld __cnfn convert_char3_rtz(half3);
5975 char3 __ovld __cnfn convert_char3_sat(half3);
5976 char3 __ovld __cnfn convert_char3_sat_rte(half3);
5977 char3 __ovld __cnfn convert_char3_sat_rtp(half3);
5978 char3 __ovld __cnfn convert_char3_sat_rtn(half3);
5979 char3 __ovld __cnfn convert_char3_sat_rtz(half3);
5980 char4 __ovld __cnfn convert_char4(half4);
5981 char4 __ovld __cnfn convert_char4_rte(half4);
5982 char4 __ovld __cnfn convert_char4_rtp(half4);
5983 char4 __ovld __cnfn convert_char4_rtn(half4);
5984 char4 __ovld __cnfn convert_char4_rtz(half4);
5985 char4 __ovld __cnfn convert_char4_sat(half4);
5986 char4 __ovld __cnfn convert_char4_sat_rte(half4);
5987 char4 __ovld __cnfn convert_char4_sat_rtp(half4);
5988 char4 __ovld __cnfn convert_char4_sat_rtn(half4);
5989 char4 __ovld __cnfn convert_char4_sat_rtz(half4);
5990 char8 __ovld __cnfn convert_char8(half8);
5991 char8 __ovld __cnfn convert_char8_rte(half8);
5992 char8 __ovld __cnfn convert_char8_rtp(half8);
5993 char8 __ovld __cnfn convert_char8_rtn(half8);
5994 char8 __ovld __cnfn convert_char8_rtz(half8);
5995 char8 __ovld __cnfn convert_char8_sat(half8);
5996 char8 __ovld __cnfn convert_char8_sat_rte(half8);
5997 char8 __ovld __cnfn convert_char8_sat_rtp(half8);
5998 char8 __ovld __cnfn convert_char8_sat_rtn(half8);
5999 char8 __ovld __cnfn convert_char8_sat_rtz(half8);
6000 char16 __ovld __cnfn convert_char16(half16);
6001 char16 __ovld __cnfn convert_char16_rte(half16);
6002 char16 __ovld __cnfn convert_char16_rtp(half16);
6003 char16 __ovld __cnfn convert_char16_rtn(half16);
6004 char16 __ovld __cnfn convert_char16_rtz(half16);
6005 char16 __ovld __cnfn convert_char16_sat(half16);
6006 char16 __ovld __cnfn convert_char16_sat_rte(half16);
6007 char16 __ovld __cnfn convert_char16_sat_rtp(half16);
6008 char16 __ovld __cnfn convert_char16_sat_rtn(half16);
6009 char16 __ovld __cnfn convert_char16_sat_rtz(half16);
6010 short __ovld __cnfn convert_short(half);
6011 short __ovld __cnfn convert_short_rte(half);
6012 short __ovld __cnfn convert_short_rtp(half);
6013 short __ovld __cnfn convert_short_rtn(half);
6014 short __ovld __cnfn convert_short_rtz(half);
6015 short __ovld __cnfn convert_short_sat(half);
6016 short __ovld __cnfn convert_short_sat_rte(half);
6017 short __ovld __cnfn convert_short_sat_rtp(half);
6018 short __ovld __cnfn convert_short_sat_rtn(half);
6019 short __ovld __cnfn convert_short_sat_rtz(half);
6020 short2 __ovld __cnfn convert_short2(half2);
6021 short2 __ovld __cnfn convert_short2_rte(half2);
6022 short2 __ovld __cnfn convert_short2_rtp(half2);
6023 short2 __ovld __cnfn convert_short2_rtn(half2);
6024 short2 __ovld __cnfn convert_short2_rtz(half2);
6025 short2 __ovld __cnfn convert_short2_sat(half2);
6026 short2 __ovld __cnfn convert_short2_sat_rte(half2);
6027 short2 __ovld __cnfn convert_short2_sat_rtp(half2);
6028 short2 __ovld __cnfn convert_short2_sat_rtn(half2);
6029 short2 __ovld __cnfn convert_short2_sat_rtz(half2);
6030 short3 __ovld __cnfn convert_short3(half3);
6031 short3 __ovld __cnfn convert_short3_rte(half3);
6032 short3 __ovld __cnfn convert_short3_rtp(half3);
6033 short3 __ovld __cnfn convert_short3_rtn(half3);
6034 short3 __ovld __cnfn convert_short3_rtz(half3);
6035 short3 __ovld __cnfn convert_short3_sat(half3);
6036 short3 __ovld __cnfn convert_short3_sat_rte(half3);
6037 short3 __ovld __cnfn convert_short3_sat_rtp(half3);
6038 short3 __ovld __cnfn convert_short3_sat_rtn(half3);
6039 short3 __ovld __cnfn convert_short3_sat_rtz(half3);
6040 short4 __ovld __cnfn convert_short4(half4);
6041 short4 __ovld __cnfn convert_short4_rte(half4);
6042 short4 __ovld __cnfn convert_short4_rtp(half4);
6043 short4 __ovld __cnfn convert_short4_rtn(half4);
6044 short4 __ovld __cnfn convert_short4_rtz(half4);
6045 short4 __ovld __cnfn convert_short4_sat(half4);
6046 short4 __ovld __cnfn convert_short4_sat_rte(half4);
6047 short4 __ovld __cnfn convert_short4_sat_rtp(half4);
6048 short4 __ovld __cnfn convert_short4_sat_rtn(half4);
6049 short4 __ovld __cnfn convert_short4_sat_rtz(half4);
6050 short8 __ovld __cnfn convert_short8(half8);
6051 short8 __ovld __cnfn convert_short8_rte(half8);
6052 short8 __ovld __cnfn convert_short8_rtp(half8);
6053 short8 __ovld __cnfn convert_short8_rtn(half8);
6054 short8 __ovld __cnfn convert_short8_rtz(half8);
6055 short8 __ovld __cnfn convert_short8_sat(half8);
6056 short8 __ovld __cnfn convert_short8_sat_rte(half8);
6057 short8 __ovld __cnfn convert_short8_sat_rtp(half8);
6058 short8 __ovld __cnfn convert_short8_sat_rtn(half8);
6059 short8 __ovld __cnfn convert_short8_sat_rtz(half8);
6060 short16 __ovld __cnfn convert_short16(half16);
6061 short16 __ovld __cnfn convert_short16_rte(half16);
6062 short16 __ovld __cnfn convert_short16_rtp(half16);
6063 short16 __ovld __cnfn convert_short16_rtn(half16);
6064 short16 __ovld __cnfn convert_short16_rtz(half16);
6065 short16 __ovld __cnfn convert_short16_sat(half16);
6066 short16 __ovld __cnfn convert_short16_sat_rte(half16);
6067 short16 __ovld __cnfn convert_short16_sat_rtp(half16);
6068 short16 __ovld __cnfn convert_short16_sat_rtn(half16);
6069 short16 __ovld __cnfn convert_short16_sat_rtz(half16);
6070 int __ovld __cnfn convert_int(half);
6071 int __ovld __cnfn convert_int_rte(half);
6072 int __ovld __cnfn convert_int_rtp(half);
6073 int __ovld __cnfn convert_int_rtn(half);
6074 int __ovld __cnfn convert_int_rtz(half);
6075 int __ovld __cnfn convert_int_sat(half);
6076 int __ovld __cnfn convert_int_sat_rte(half);
6077 int __ovld __cnfn convert_int_sat_rtp(half);
6078 int __ovld __cnfn convert_int_sat_rtn(half);
6079 int __ovld __cnfn convert_int_sat_rtz(half);
6080 int2 __ovld __cnfn convert_int2(half2);
6081 int2 __ovld __cnfn convert_int2_rte(half2);
6082 int2 __ovld __cnfn convert_int2_rtp(half2);
6083 int2 __ovld __cnfn convert_int2_rtn(half2);
6084 int2 __ovld __cnfn convert_int2_rtz(half2);
6085 int2 __ovld __cnfn convert_int2_sat(half2);
6086 int2 __ovld __cnfn convert_int2_sat_rte(half2);
6087 int2 __ovld __cnfn convert_int2_sat_rtp(half2);
6088 int2 __ovld __cnfn convert_int2_sat_rtn(half2);
6089 int2 __ovld __cnfn convert_int2_sat_rtz(half2);
6090 int3 __ovld __cnfn convert_int3(half3);
6091 int3 __ovld __cnfn convert_int3_rte(half3);
6092 int3 __ovld __cnfn convert_int3_rtp(half3);
6093 int3 __ovld __cnfn convert_int3_rtn(half3);
6094 int3 __ovld __cnfn convert_int3_rtz(half3);
6095 int3 __ovld __cnfn convert_int3_sat(half3);
6096 int3 __ovld __cnfn convert_int3_sat_rte(half3);
6097 int3 __ovld __cnfn convert_int3_sat_rtp(half3);
6098 int3 __ovld __cnfn convert_int3_sat_rtn(half3);
6099 int3 __ovld __cnfn convert_int3_sat_rtz(half3);
6100 int4 __ovld __cnfn convert_int4(half4);
6101 int4 __ovld __cnfn convert_int4_rte(half4);
6102 int4 __ovld __cnfn convert_int4_rtp(half4);
6103 int4 __ovld __cnfn convert_int4_rtn(half4);
6104 int4 __ovld __cnfn convert_int4_rtz(half4);
6105 int4 __ovld __cnfn convert_int4_sat(half4);
6106 int4 __ovld __cnfn convert_int4_sat_rte(half4);
6107 int4 __ovld __cnfn convert_int4_sat_rtp(half4);
6108 int4 __ovld __cnfn convert_int4_sat_rtn(half4);
6109 int4 __ovld __cnfn convert_int4_sat_rtz(half4);
6110 int8 __ovld __cnfn convert_int8(half8);
6111 int8 __ovld __cnfn convert_int8_rte(half8);
6112 int8 __ovld __cnfn convert_int8_rtp(half8);
6113 int8 __ovld __cnfn convert_int8_rtn(half8);
6114 int8 __ovld __cnfn convert_int8_rtz(half8);
6115 int8 __ovld __cnfn convert_int8_sat(half8);
6116 int8 __ovld __cnfn convert_int8_sat_rte(half8);
6117 int8 __ovld __cnfn convert_int8_sat_rtp(half8);
6118 int8 __ovld __cnfn convert_int8_sat_rtn(half8);
6119 int8 __ovld __cnfn convert_int8_sat_rtz(half8);
6120 int16 __ovld __cnfn convert_int16(half16);
6121 int16 __ovld __cnfn convert_int16_rte(half16);
6122 int16 __ovld __cnfn convert_int16_rtp(half16);
6123 int16 __ovld __cnfn convert_int16_rtn(half16);
6124 int16 __ovld __cnfn convert_int16_rtz(half16);
6125 int16 __ovld __cnfn convert_int16_sat(half16);
6126 int16 __ovld __cnfn convert_int16_sat_rte(half16);
6127 int16 __ovld __cnfn convert_int16_sat_rtp(half16);
6128 int16 __ovld __cnfn convert_int16_sat_rtn(half16);
6129 int16 __ovld __cnfn convert_int16_sat_rtz(half16);
6130 long __ovld __cnfn convert_long(half);
6131 long __ovld __cnfn convert_long_rte(half);
6132 long __ovld __cnfn convert_long_rtp(half);
6133 long __ovld __cnfn convert_long_rtn(half);
6134 long __ovld __cnfn convert_long_rtz(half);
6135 long __ovld __cnfn convert_long_sat(half);
6136 long __ovld __cnfn convert_long_sat_rte(half);
6137 long __ovld __cnfn convert_long_sat_rtp(half);
6138 long __ovld __cnfn convert_long_sat_rtn(half);
6139 long __ovld __cnfn convert_long_sat_rtz(half);
6140 long2 __ovld __cnfn convert_long2(half2);
6141 long2 __ovld __cnfn convert_long2_rte(half2);
6142 long2 __ovld __cnfn convert_long2_rtp(half2);
6143 long2 __ovld __cnfn convert_long2_rtn(half2);
6144 long2 __ovld __cnfn convert_long2_rtz(half2);
6145 long2 __ovld __cnfn convert_long2_sat(half2);
6146 long2 __ovld __cnfn convert_long2_sat_rte(half2);
6147 long2 __ovld __cnfn convert_long2_sat_rtp(half2);
6148 long2 __ovld __cnfn convert_long2_sat_rtn(half2);
6149 long2 __ovld __cnfn convert_long2_sat_rtz(half2);
6150 long3 __ovld __cnfn convert_long3(half3);
6151 long3 __ovld __cnfn convert_long3_rte(half3);
6152 long3 __ovld __cnfn convert_long3_rtp(half3);
6153 long3 __ovld __cnfn convert_long3_rtn(half3);
6154 long3 __ovld __cnfn convert_long3_rtz(half3);
6155 long3 __ovld __cnfn convert_long3_sat(half3);
6156 long3 __ovld __cnfn convert_long3_sat_rte(half3);
6157 long3 __ovld __cnfn convert_long3_sat_rtp(half3);
6158 long3 __ovld __cnfn convert_long3_sat_rtn(half3);
6159 long3 __ovld __cnfn convert_long3_sat_rtz(half3);
6160 long4 __ovld __cnfn convert_long4(half4);
6161 long4 __ovld __cnfn convert_long4_rte(half4);
6162 long4 __ovld __cnfn convert_long4_rtp(half4);
6163 long4 __ovld __cnfn convert_long4_rtn(half4);
6164 long4 __ovld __cnfn convert_long4_rtz(half4);
6165 long4 __ovld __cnfn convert_long4_sat(half4);
6166 long4 __ovld __cnfn convert_long4_sat_rte(half4);
6167 long4 __ovld __cnfn convert_long4_sat_rtp(half4);
6168 long4 __ovld __cnfn convert_long4_sat_rtn(half4);
6169 long4 __ovld __cnfn convert_long4_sat_rtz(half4);
6170 long8 __ovld __cnfn convert_long8(half8);
6171 long8 __ovld __cnfn convert_long8_rte(half8);
6172 long8 __ovld __cnfn convert_long8_rtp(half8);
6173 long8 __ovld __cnfn convert_long8_rtn(half8);
6174 long8 __ovld __cnfn convert_long8_rtz(half8);
6175 long8 __ovld __cnfn convert_long8_sat(half8);
6176 long8 __ovld __cnfn convert_long8_sat_rte(half8);
6177 long8 __ovld __cnfn convert_long8_sat_rtp(half8);
6178 long8 __ovld __cnfn convert_long8_sat_rtn(half8);
6179 long8 __ovld __cnfn convert_long8_sat_rtz(half8);
6180 long16 __ovld __cnfn convert_long16(half16);
6181 long16 __ovld __cnfn convert_long16_rte(half16);
6182 long16 __ovld __cnfn convert_long16_rtp(half16);
6183 long16 __ovld __cnfn convert_long16_rtn(half16);
6184 long16 __ovld __cnfn convert_long16_rtz(half16);
6185 long16 __ovld __cnfn convert_long16_sat(half16);
6186 long16 __ovld __cnfn convert_long16_sat_rte(half16);
6187 long16 __ovld __cnfn convert_long16_sat_rtp(half16);
6188 long16 __ovld __cnfn convert_long16_sat_rtn(half16);
6189 long16 __ovld __cnfn convert_long16_sat_rtz(half16);
6190 float __ovld __cnfn convert_float(half);
6191 float __ovld __cnfn convert_float_rte(half);
6192 float __ovld __cnfn convert_float_rtp(half);
6193 float __ovld __cnfn convert_float_rtn(half);
6194 float __ovld __cnfn convert_float_rtz(half);
6195 float2 __ovld __cnfn convert_float2(half2);
6196 float2 __ovld __cnfn convert_float2_rte(half2);
6197 float2 __ovld __cnfn convert_float2_rtp(half2);
6198 float2 __ovld __cnfn convert_float2_rtn(half2);
6199 float2 __ovld __cnfn convert_float2_rtz(half2);
6200 float3 __ovld __cnfn convert_float3(half3);
6201 float3 __ovld __cnfn convert_float3_rte(half3);
6202 float3 __ovld __cnfn convert_float3_rtp(half3);
6203 float3 __ovld __cnfn convert_float3_rtn(half3);
6204 float3 __ovld __cnfn convert_float3_rtz(half3);
6205 float4 __ovld __cnfn convert_float4(half4);
6206 float4 __ovld __cnfn convert_float4_rte(half4);
6207 float4 __ovld __cnfn convert_float4_rtp(half4);
6208 float4 __ovld __cnfn convert_float4_rtn(half4);
6209 float4 __ovld __cnfn convert_float4_rtz(half4);
6210 float8 __ovld __cnfn convert_float8(half8);
6211 float8 __ovld __cnfn convert_float8_rte(half8);
6212 float8 __ovld __cnfn convert_float8_rtp(half8);
6213 float8 __ovld __cnfn convert_float8_rtn(half8);
6214 float8 __ovld __cnfn convert_float8_rtz(half8);
6215 float16 __ovld __cnfn convert_float16(half16);
6216 float16 __ovld __cnfn convert_float16_rte(half16);
6217 float16 __ovld __cnfn convert_float16_rtp(half16);
6218 float16 __ovld __cnfn convert_float16_rtn(half16);
6219 float16 __ovld __cnfn convert_float16_rtz(half16);
6220
6221 // Convert non-double types to half types.
6222 half __ovld __cnfn convert_half(uchar);
6223 half __ovld __cnfn convert_half(ushort);
6224 half __ovld __cnfn convert_half(uint);
6225 half __ovld __cnfn convert_half(ulong);
6226 half __ovld __cnfn convert_half(char);
6227 half __ovld __cnfn convert_half(short);
6228 half __ovld __cnfn convert_half(int);
6229 half __ovld __cnfn convert_half(long);
6230 half __ovld __cnfn convert_half(float);
6231 half __ovld __cnfn convert_half(half);
6232 half __ovld __cnfn convert_half_rte(uchar);
6233 half __ovld __cnfn convert_half_rte(ushort);
6234 half __ovld __cnfn convert_half_rte(uint);
6235 half __ovld __cnfn convert_half_rte(ulong);
6236 half __ovld __cnfn convert_half_rte(char);
6237 half __ovld __cnfn convert_half_rte(short);
6238 half __ovld __cnfn convert_half_rte(int);
6239 half __ovld __cnfn convert_half_rte(long);
6240 half __ovld __cnfn convert_half_rte(float);
6241 half __ovld __cnfn convert_half_rte(half);
6242 half __ovld __cnfn convert_half_rtp(uchar);
6243 half __ovld __cnfn convert_half_rtp(ushort);
6244 half __ovld __cnfn convert_half_rtp(uint);
6245 half __ovld __cnfn convert_half_rtp(ulong);
6246 half __ovld __cnfn convert_half_rtp(char);
6247 half __ovld __cnfn convert_half_rtp(short);
6248 half __ovld __cnfn convert_half_rtp(int);
6249 half __ovld __cnfn convert_half_rtp(long);
6250 half __ovld __cnfn convert_half_rtp(float);
6251 half __ovld __cnfn convert_half_rtp(half);
6252 half __ovld __cnfn convert_half_rtn(uchar);
6253 half __ovld __cnfn convert_half_rtn(ushort);
6254 half __ovld __cnfn convert_half_rtn(uint);
6255 half __ovld __cnfn convert_half_rtn(ulong);
6256 half __ovld __cnfn convert_half_rtn(char);
6257 half __ovld __cnfn convert_half_rtn(short);
6258 half __ovld __cnfn convert_half_rtn(int);
6259 half __ovld __cnfn convert_half_rtn(long);
6260 half __ovld __cnfn convert_half_rtn(float);
6261 half __ovld __cnfn convert_half_rtn(half);
6262 half __ovld __cnfn convert_half_rtz(uchar);
6263 half __ovld __cnfn convert_half_rtz(ushort);
6264 half __ovld __cnfn convert_half_rtz(uint);
6265 half __ovld __cnfn convert_half_rtz(ulong);
6266 half __ovld __cnfn convert_half_rtz(char);
6267 half __ovld __cnfn convert_half_rtz(short);
6268 half __ovld __cnfn convert_half_rtz(int);
6269 half __ovld __cnfn convert_half_rtz(long);
6270 half __ovld __cnfn convert_half_rtz(float);
6271 half __ovld __cnfn convert_half_rtz(half);
6272 half2 __ovld __cnfn convert_half2(char2);
6273 half2 __ovld __cnfn convert_half2(uchar2);
6274 half2 __ovld __cnfn convert_half2(short2);
6275 half2 __ovld __cnfn convert_half2(ushort2);
6276 half2 __ovld __cnfn convert_half2(int2);
6277 half2 __ovld __cnfn convert_half2(uint2);
6278 half2 __ovld __cnfn convert_half2(long2);
6279 half2 __ovld __cnfn convert_half2(ulong2);
6280 half2 __ovld __cnfn convert_half2(float2);
6281 half2 __ovld __cnfn convert_half2(half2);
6282 half2 __ovld __cnfn convert_half2_rte(char2);
6283 half2 __ovld __cnfn convert_half2_rte(uchar2);
6284 half2 __ovld __cnfn convert_half2_rte(short2);
6285 half2 __ovld __cnfn convert_half2_rte(ushort2);
6286 half2 __ovld __cnfn convert_half2_rte(int2);
6287 half2 __ovld __cnfn convert_half2_rte(uint2);
6288 half2 __ovld __cnfn convert_half2_rte(long2);
6289 half2 __ovld __cnfn convert_half2_rte(ulong2);
6290 half2 __ovld __cnfn convert_half2_rte(float2);
6291 half2 __ovld __cnfn convert_half2_rte(half2);
6292 half2 __ovld __cnfn convert_half2_rtp(char2);
6293 half2 __ovld __cnfn convert_half2_rtp(uchar2);
6294 half2 __ovld __cnfn convert_half2_rtp(short2);
6295 half2 __ovld __cnfn convert_half2_rtp(ushort2);
6296 half2 __ovld __cnfn convert_half2_rtp(int2);
6297 half2 __ovld __cnfn convert_half2_rtp(uint2);
6298 half2 __ovld __cnfn convert_half2_rtp(long2);
6299 half2 __ovld __cnfn convert_half2_rtp(ulong2);
6300 half2 __ovld __cnfn convert_half2_rtp(float2);
6301 half2 __ovld __cnfn convert_half2_rtp(half2);
6302 half2 __ovld __cnfn convert_half2_rtn(char2);
6303 half2 __ovld __cnfn convert_half2_rtn(uchar2);
6304 half2 __ovld __cnfn convert_half2_rtn(short2);
6305 half2 __ovld __cnfn convert_half2_rtn(ushort2);
6306 half2 __ovld __cnfn convert_half2_rtn(int2);
6307 half2 __ovld __cnfn convert_half2_rtn(uint2);
6308 half2 __ovld __cnfn convert_half2_rtn(long2);
6309 half2 __ovld __cnfn convert_half2_rtn(ulong2);
6310 half2 __ovld __cnfn convert_half2_rtn(float2);
6311 half2 __ovld __cnfn convert_half2_rtn(half2);
6312 half2 __ovld __cnfn convert_half2_rtz(char2);
6313 half2 __ovld __cnfn convert_half2_rtz(uchar2);
6314 half2 __ovld __cnfn convert_half2_rtz(short2);
6315 half2 __ovld __cnfn convert_half2_rtz(ushort2);
6316 half2 __ovld __cnfn convert_half2_rtz(int2);
6317 half2 __ovld __cnfn convert_half2_rtz(uint2);
6318 half2 __ovld __cnfn convert_half2_rtz(long2);
6319 half2 __ovld __cnfn convert_half2_rtz(ulong2);
6320 half2 __ovld __cnfn convert_half2_rtz(float2);
6321 half2 __ovld __cnfn convert_half2_rtz(half2);
6322 half3 __ovld __cnfn convert_half3(char3);
6323 half3 __ovld __cnfn convert_half3(uchar3);
6324 half3 __ovld __cnfn convert_half3(short3);
6325 half3 __ovld __cnfn convert_half3(ushort3);
6326 half3 __ovld __cnfn convert_half3(int3);
6327 half3 __ovld __cnfn convert_half3(uint3);
6328 half3 __ovld __cnfn convert_half3(long3);
6329 half3 __ovld __cnfn convert_half3(ulong3);
6330 half3 __ovld __cnfn convert_half3(float3);
6331 half3 __ovld __cnfn convert_half3(half3);
6332 half3 __ovld __cnfn convert_half3_rte(char3);
6333 half3 __ovld __cnfn convert_half3_rte(uchar3);
6334 half3 __ovld __cnfn convert_half3_rte(short3);
6335 half3 __ovld __cnfn convert_half3_rte(ushort3);
6336 half3 __ovld __cnfn convert_half3_rte(int3);
6337 half3 __ovld __cnfn convert_half3_rte(uint3);
6338 half3 __ovld __cnfn convert_half3_rte(long3);
6339 half3 __ovld __cnfn convert_half3_rte(ulong3);
6340 half3 __ovld __cnfn convert_half3_rte(float3);
6341 half3 __ovld __cnfn convert_half3_rte(half3);
6342 half3 __ovld __cnfn convert_half3_rtp(char3);
6343 half3 __ovld __cnfn convert_half3_rtp(uchar3);
6344 half3 __ovld __cnfn convert_half3_rtp(short3);
6345 half3 __ovld __cnfn convert_half3_rtp(ushort3);
6346 half3 __ovld __cnfn convert_half3_rtp(int3);
6347 half3 __ovld __cnfn convert_half3_rtp(uint3);
6348 half3 __ovld __cnfn convert_half3_rtp(long3);
6349 half3 __ovld __cnfn convert_half3_rtp(ulong3);
6350 half3 __ovld __cnfn convert_half3_rtp(float3);
6351 half3 __ovld __cnfn convert_half3_rtp(half3);
6352 half3 __ovld __cnfn convert_half3_rtn(char3);
6353 half3 __ovld __cnfn convert_half3_rtn(uchar3);
6354 half3 __ovld __cnfn convert_half3_rtn(short3);
6355 half3 __ovld __cnfn convert_half3_rtn(ushort3);
6356 half3 __ovld __cnfn convert_half3_rtn(int3);
6357 half3 __ovld __cnfn convert_half3_rtn(uint3);
6358 half3 __ovld __cnfn convert_half3_rtn(long3);
6359 half3 __ovld __cnfn convert_half3_rtn(ulong3);
6360 half3 __ovld __cnfn convert_half3_rtn(float3);
6361 half3 __ovld __cnfn convert_half3_rtn(half3);
6362 half3 __ovld __cnfn convert_half3_rtz(char3);
6363 half3 __ovld __cnfn convert_half3_rtz(uchar3);
6364 half3 __ovld __cnfn convert_half3_rtz(short3);
6365 half3 __ovld __cnfn convert_half3_rtz(ushort3);
6366 half3 __ovld __cnfn convert_half3_rtz(int3);
6367 half3 __ovld __cnfn convert_half3_rtz(uint3);
6368 half3 __ovld __cnfn convert_half3_rtz(long3);
6369 half3 __ovld __cnfn convert_half3_rtz(ulong3);
6370 half3 __ovld __cnfn convert_half3_rtz(float3);
6371 half3 __ovld __cnfn convert_half3_rtz(half3);
6372 half4 __ovld __cnfn convert_half4(char4);
6373 half4 __ovld __cnfn convert_half4(uchar4);
6374 half4 __ovld __cnfn convert_half4(short4);
6375 half4 __ovld __cnfn convert_half4(ushort4);
6376 half4 __ovld __cnfn convert_half4(int4);
6377 half4 __ovld __cnfn convert_half4(uint4);
6378 half4 __ovld __cnfn convert_half4(long4);
6379 half4 __ovld __cnfn convert_half4(ulong4);
6380 half4 __ovld __cnfn convert_half4(float4);
6381 half4 __ovld __cnfn convert_half4(half4);
6382 half4 __ovld __cnfn convert_half4_rte(char4);
6383 half4 __ovld __cnfn convert_half4_rte(uchar4);
6384 half4 __ovld __cnfn convert_half4_rte(short4);
6385 half4 __ovld __cnfn convert_half4_rte(ushort4);
6386 half4 __ovld __cnfn convert_half4_rte(int4);
6387 half4 __ovld __cnfn convert_half4_rte(uint4);
6388 half4 __ovld __cnfn convert_half4_rte(long4);
6389 half4 __ovld __cnfn convert_half4_rte(ulong4);
6390 half4 __ovld __cnfn convert_half4_rte(float4);
6391 half4 __ovld __cnfn convert_half4_rte(half4);
6392 half4 __ovld __cnfn convert_half4_rtp(char4);
6393 half4 __ovld __cnfn convert_half4_rtp(uchar4);
6394 half4 __ovld __cnfn convert_half4_rtp(short4);
6395 half4 __ovld __cnfn convert_half4_rtp(ushort4);
6396 half4 __ovld __cnfn convert_half4_rtp(int4);
6397 half4 __ovld __cnfn convert_half4_rtp(uint4);
6398 half4 __ovld __cnfn convert_half4_rtp(long4);
6399 half4 __ovld __cnfn convert_half4_rtp(ulong4);
6400 half4 __ovld __cnfn convert_half4_rtp(float4);
6401 half4 __ovld __cnfn convert_half4_rtp(half4);
6402 half4 __ovld __cnfn convert_half4_rtn(char4);
6403 half4 __ovld __cnfn convert_half4_rtn(uchar4);
6404 half4 __ovld __cnfn convert_half4_rtn(short4);
6405 half4 __ovld __cnfn convert_half4_rtn(ushort4);
6406 half4 __ovld __cnfn convert_half4_rtn(int4);
6407 half4 __ovld __cnfn convert_half4_rtn(uint4);
6408 half4 __ovld __cnfn convert_half4_rtn(long4);
6409 half4 __ovld __cnfn convert_half4_rtn(ulong4);
6410 half4 __ovld __cnfn convert_half4_rtn(float4);
6411 half4 __ovld __cnfn convert_half4_rtn(half4);
6412 half4 __ovld __cnfn convert_half4_rtz(char4);
6413 half4 __ovld __cnfn convert_half4_rtz(uchar4);
6414 half4 __ovld __cnfn convert_half4_rtz(short4);
6415 half4 __ovld __cnfn convert_half4_rtz(ushort4);
6416 half4 __ovld __cnfn convert_half4_rtz(int4);
6417 half4 __ovld __cnfn convert_half4_rtz(uint4);
6418 half4 __ovld __cnfn convert_half4_rtz(long4);
6419 half4 __ovld __cnfn convert_half4_rtz(ulong4);
6420 half4 __ovld __cnfn convert_half4_rtz(float4);
6421 half4 __ovld __cnfn convert_half4_rtz(half4);
6422 half8 __ovld __cnfn convert_half8(char8);
6423 half8 __ovld __cnfn convert_half8(uchar8);
6424 half8 __ovld __cnfn convert_half8(short8);
6425 half8 __ovld __cnfn convert_half8(ushort8);
6426 half8 __ovld __cnfn convert_half8(int8);
6427 half8 __ovld __cnfn convert_half8(uint8);
6428 half8 __ovld __cnfn convert_half8(long8);
6429 half8 __ovld __cnfn convert_half8(ulong8);
6430 half8 __ovld __cnfn convert_half8(float8);
6431 half8 __ovld __cnfn convert_half8(half8);
6432 half8 __ovld __cnfn convert_half8_rte(char8);
6433 half8 __ovld __cnfn convert_half8_rte(uchar8);
6434 half8 __ovld __cnfn convert_half8_rte(short8);
6435 half8 __ovld __cnfn convert_half8_rte(ushort8);
6436 half8 __ovld __cnfn convert_half8_rte(int8);
6437 half8 __ovld __cnfn convert_half8_rte(uint8);
6438 half8 __ovld __cnfn convert_half8_rte(long8);
6439 half8 __ovld __cnfn convert_half8_rte(ulong8);
6440 half8 __ovld __cnfn convert_half8_rte(float8);
6441 half8 __ovld __cnfn convert_half8_rte(half8);
6442 half8 __ovld __cnfn convert_half8_rtp(char8);
6443 half8 __ovld __cnfn convert_half8_rtp(uchar8);
6444 half8 __ovld __cnfn convert_half8_rtp(short8);
6445 half8 __ovld __cnfn convert_half8_rtp(ushort8);
6446 half8 __ovld __cnfn convert_half8_rtp(int8);
6447 half8 __ovld __cnfn convert_half8_rtp(uint8);
6448 half8 __ovld __cnfn convert_half8_rtp(long8);
6449 half8 __ovld __cnfn convert_half8_rtp(ulong8);
6450 half8 __ovld __cnfn convert_half8_rtp(float8);
6451 half8 __ovld __cnfn convert_half8_rtp(half8);
6452 half8 __ovld __cnfn convert_half8_rtn(char8);
6453 half8 __ovld __cnfn convert_half8_rtn(uchar8);
6454 half8 __ovld __cnfn convert_half8_rtn(short8);
6455 half8 __ovld __cnfn convert_half8_rtn(ushort8);
6456 half8 __ovld __cnfn convert_half8_rtn(int8);
6457 half8 __ovld __cnfn convert_half8_rtn(uint8);
6458 half8 __ovld __cnfn convert_half8_rtn(long8);
6459 half8 __ovld __cnfn convert_half8_rtn(ulong8);
6460 half8 __ovld __cnfn convert_half8_rtn(float8);
6461 half8 __ovld __cnfn convert_half8_rtn(half8);
6462 half8 __ovld __cnfn convert_half8_rtz(char8);
6463 half8 __ovld __cnfn convert_half8_rtz(uchar8);
6464 half8 __ovld __cnfn convert_half8_rtz(short8);
6465 half8 __ovld __cnfn convert_half8_rtz(ushort8);
6466 half8 __ovld __cnfn convert_half8_rtz(int8);
6467 half8 __ovld __cnfn convert_half8_rtz(uint8);
6468 half8 __ovld __cnfn convert_half8_rtz(long8);
6469 half8 __ovld __cnfn convert_half8_rtz(ulong8);
6470 half8 __ovld __cnfn convert_half8_rtz(float8);
6471 half8 __ovld __cnfn convert_half8_rtz(half8);
6472 half16 __ovld __cnfn convert_half16(char16);
6473 half16 __ovld __cnfn convert_half16(uchar16);
6474 half16 __ovld __cnfn convert_half16(short16);
6475 half16 __ovld __cnfn convert_half16(ushort16);
6476 half16 __ovld __cnfn convert_half16(int16);
6477 half16 __ovld __cnfn convert_half16(uint16);
6478 half16 __ovld __cnfn convert_half16(long16);
6479 half16 __ovld __cnfn convert_half16(ulong16);
6480 half16 __ovld __cnfn convert_half16(float16);
6481 half16 __ovld __cnfn convert_half16(half16);
6482 half16 __ovld __cnfn convert_half16_rte(char16);
6483 half16 __ovld __cnfn convert_half16_rte(uchar16);
6484 half16 __ovld __cnfn convert_half16_rte(short16);
6485 half16 __ovld __cnfn convert_half16_rte(ushort16);
6486 half16 __ovld __cnfn convert_half16_rte(int16);
6487 half16 __ovld __cnfn convert_half16_rte(uint16);
6488 half16 __ovld __cnfn convert_half16_rte(long16);
6489 half16 __ovld __cnfn convert_half16_rte(ulong16);
6490 half16 __ovld __cnfn convert_half16_rte(float16);
6491 half16 __ovld __cnfn convert_half16_rte(half16);
6492 half16 __ovld __cnfn convert_half16_rtp(char16);
6493 half16 __ovld __cnfn convert_half16_rtp(uchar16);
6494 half16 __ovld __cnfn convert_half16_rtp(short16);
6495 half16 __ovld __cnfn convert_half16_rtp(ushort16);
6496 half16 __ovld __cnfn convert_half16_rtp(int16);
6497 half16 __ovld __cnfn convert_half16_rtp(uint16);
6498 half16 __ovld __cnfn convert_half16_rtp(long16);
6499 half16 __ovld __cnfn convert_half16_rtp(ulong16);
6500 half16 __ovld __cnfn convert_half16_rtp(float16);
6501 half16 __ovld __cnfn convert_half16_rtp(half16);
6502 half16 __ovld __cnfn convert_half16_rtn(char16);
6503 half16 __ovld __cnfn convert_half16_rtn(uchar16);
6504 half16 __ovld __cnfn convert_half16_rtn(short16);
6505 half16 __ovld __cnfn convert_half16_rtn(ushort16);
6506 half16 __ovld __cnfn convert_half16_rtn(int16);
6507 half16 __ovld __cnfn convert_half16_rtn(uint16);
6508 half16 __ovld __cnfn convert_half16_rtn(long16);
6509 half16 __ovld __cnfn convert_half16_rtn(ulong16);
6510 half16 __ovld __cnfn convert_half16_rtn(float16);
6511 half16 __ovld __cnfn convert_half16_rtn(half16);
6512 half16 __ovld __cnfn convert_half16_rtz(char16);
6513 half16 __ovld __cnfn convert_half16_rtz(uchar16);
6514 half16 __ovld __cnfn convert_half16_rtz(short16);
6515 half16 __ovld __cnfn convert_half16_rtz(ushort16);
6516 half16 __ovld __cnfn convert_half16_rtz(int16);
6517 half16 __ovld __cnfn convert_half16_rtz(uint16);
6518 half16 __ovld __cnfn convert_half16_rtz(long16);
6519 half16 __ovld __cnfn convert_half16_rtz(ulong16);
6520 half16 __ovld __cnfn convert_half16_rtz(float16);
6521 half16 __ovld __cnfn convert_half16_rtz(half16);
6522
6523 // Convert half types to double types.
6524 #ifdef cl_khr_fp64
6525 double __ovld __cnfn convert_double(half);
6526 double __ovld __cnfn convert_double_rte(half);
6527 double __ovld __cnfn convert_double_rtp(half);
6528 double __ovld __cnfn convert_double_rtn(half);
6529 double __ovld __cnfn convert_double_rtz(half);
6530 double2 __ovld __cnfn convert_double2(half2);
6531 double2 __ovld __cnfn convert_double2_rte(half2);
6532 double2 __ovld __cnfn convert_double2_rtp(half2);
6533 double2 __ovld __cnfn convert_double2_rtn(half2);
6534 double2 __ovld __cnfn convert_double2_rtz(half2);
6535 double3 __ovld __cnfn convert_double3(half3);
6536 double3 __ovld __cnfn convert_double3_rte(half3);
6537 double3 __ovld __cnfn convert_double3_rtp(half3);
6538 double3 __ovld __cnfn convert_double3_rtn(half3);
6539 double3 __ovld __cnfn convert_double3_rtz(half3);
6540 double4 __ovld __cnfn convert_double4(half4);
6541 double4 __ovld __cnfn convert_double4_rte(half4);
6542 double4 __ovld __cnfn convert_double4_rtp(half4);
6543 double4 __ovld __cnfn convert_double4_rtn(half4);
6544 double4 __ovld __cnfn convert_double4_rtz(half4);
6545 double8 __ovld __cnfn convert_double8(half8);
6546 double8 __ovld __cnfn convert_double8_rte(half8);
6547 double8 __ovld __cnfn convert_double8_rtp(half8);
6548 double8 __ovld __cnfn convert_double8_rtn(half8);
6549 double8 __ovld __cnfn convert_double8_rtz(half8);
6550 double16 __ovld __cnfn convert_double16(half16);
6551 double16 __ovld __cnfn convert_double16_rte(half16);
6552 double16 __ovld __cnfn convert_double16_rtp(half16);
6553 double16 __ovld __cnfn convert_double16_rtn(half16);
6554 double16 __ovld __cnfn convert_double16_rtz(half16);
6555
6556 // Convert double types to half types.
6557 half __ovld __cnfn convert_half(double);
6558 half __ovld __cnfn convert_half_rte(double);
6559 half __ovld __cnfn convert_half_rtp(double);
6560 half __ovld __cnfn convert_half_rtn(double);
6561 half __ovld __cnfn convert_half_rtz(double);
6562 half2 __ovld __cnfn convert_half2(double2);
6563 half2 __ovld __cnfn convert_half2_rte(double2);
6564 half2 __ovld __cnfn convert_half2_rtp(double2);
6565 half2 __ovld __cnfn convert_half2_rtn(double2);
6566 half2 __ovld __cnfn convert_half2_rtz(double2);
6567 half3 __ovld __cnfn convert_half3(double3);
6568 half3 __ovld __cnfn convert_half3_rte(double3);
6569 half3 __ovld __cnfn convert_half3_rtp(double3);
6570 half3 __ovld __cnfn convert_half3_rtn(double3);
6571 half3 __ovld __cnfn convert_half3_rtz(double3);
6572 half4 __ovld __cnfn convert_half4(double4);
6573 half4 __ovld __cnfn convert_half4_rte(double4);
6574 half4 __ovld __cnfn convert_half4_rtp(double4);
6575 half4 __ovld __cnfn convert_half4_rtn(double4);
6576 half4 __ovld __cnfn convert_half4_rtz(double4);
6577 half8 __ovld __cnfn convert_half8(double8);
6578 half8 __ovld __cnfn convert_half8_rte(double8);
6579 half8 __ovld __cnfn convert_half8_rtp(double8);
6580 half8 __ovld __cnfn convert_half8_rtn(double8);
6581 half8 __ovld __cnfn convert_half8_rtz(double8);
6582 half16 __ovld __cnfn convert_half16(double16);
6583 half16 __ovld __cnfn convert_half16_rte(double16);
6584 half16 __ovld __cnfn convert_half16_rtp(double16);
6585 half16 __ovld __cnfn convert_half16_rtn(double16);
6586 half16 __ovld __cnfn convert_half16_rtz(double16);
6587 #endif //cl_khr_fp64
6588
6589 #endif // cl_khr_fp16
6590
6591 /**
6592  * OpenCL v1.1/1.2/2.0 s6.2.4.2 - as_type operators
6593  * Reinterprets a data type as another data type of the same size
6594  */
6595 #define as_char(x) __builtin_astype((x),   char)
6596 #define as_char2(x) __builtin_astype((x),  char2)
6597 #define as_char3(x) __builtin_astype((x),  char3)
6598 #define as_char4(x) __builtin_astype((x),  char4)
6599 #define as_char8(x) __builtin_astype((x),  char8)
6600 #define as_char16(x) __builtin_astype((x), char16)
6601
6602 #define as_uchar(x) __builtin_astype((x),   uchar)
6603 #define as_uchar2(x) __builtin_astype((x),  uchar2)
6604 #define as_uchar3(x) __builtin_astype((x),  uchar3)
6605 #define as_uchar4(x) __builtin_astype((x),  uchar4)
6606 #define as_uchar8(x) __builtin_astype((x),  uchar8)
6607 #define as_uchar16(x) __builtin_astype((x), uchar16)
6608
6609 #define as_short(x) __builtin_astype((x),   short)
6610 #define as_short2(x) __builtin_astype((x),  short2)
6611 #define as_short3(x) __builtin_astype((x),  short3)
6612 #define as_short4(x) __builtin_astype((x),  short4)
6613 #define as_short8(x) __builtin_astype((x),  short8)
6614 #define as_short16(x) __builtin_astype((x), short16)
6615
6616 #define as_ushort(x) __builtin_astype((x),   ushort)
6617 #define as_ushort2(x) __builtin_astype((x),  ushort2)
6618 #define as_ushort3(x) __builtin_astype((x),  ushort3)
6619 #define as_ushort4(x) __builtin_astype((x),  ushort4)
6620 #define as_ushort8(x) __builtin_astype((x),  ushort8)
6621 #define as_ushort16(x) __builtin_astype((x), ushort16)
6622
6623 #define as_int(x) __builtin_astype((x),   int)
6624 #define as_int2(x) __builtin_astype((x),  int2)
6625 #define as_int3(x) __builtin_astype((x),  int3)
6626 #define as_int4(x) __builtin_astype((x),  int4)
6627 #define as_int8(x) __builtin_astype((x),  int8)
6628 #define as_int16(x) __builtin_astype((x), int16)
6629
6630 #define as_uint(x) __builtin_astype((x),   uint)
6631 #define as_uint2(x) __builtin_astype((x),  uint2)
6632 #define as_uint3(x) __builtin_astype((x),  uint3)
6633 #define as_uint4(x) __builtin_astype((x),  uint4)
6634 #define as_uint8(x) __builtin_astype((x),  uint8)
6635 #define as_uint16(x) __builtin_astype((x), uint16)
6636
6637 #define as_long(x) __builtin_astype((x),   long)
6638 #define as_long2(x) __builtin_astype((x),  long2)
6639 #define as_long3(x) __builtin_astype((x),  long3)
6640 #define as_long4(x) __builtin_astype((x),  long4)
6641 #define as_long8(x) __builtin_astype((x),  long8)
6642 #define as_long16(x) __builtin_astype((x), long16)
6643
6644 #define as_ulong(x) __builtin_astype((x),   ulong)
6645 #define as_ulong2(x) __builtin_astype((x),  ulong2)
6646 #define as_ulong3(x) __builtin_astype((x),  ulong3)
6647 #define as_ulong4(x) __builtin_astype((x),  ulong4)
6648 #define as_ulong8(x) __builtin_astype((x),  ulong8)
6649 #define as_ulong16(x) __builtin_astype((x), ulong16)
6650
6651 #define as_float(x) __builtin_astype((x),   float)
6652 #define as_float2(x) __builtin_astype((x),  float2)
6653 #define as_float3(x) __builtin_astype((x),  float3)
6654 #define as_float4(x) __builtin_astype((x),  float4)
6655 #define as_float8(x) __builtin_astype((x),  float8)
6656 #define as_float16(x) __builtin_astype((x), float16)
6657
6658 #ifdef cl_khr_fp64
6659 #define as_double(x) __builtin_astype((x),   double)
6660 #define as_double2(x) __builtin_astype((x),  double2)
6661 #define as_double3(x) __builtin_astype((x),  double3)
6662 #define as_double4(x) __builtin_astype((x),  double4)
6663 #define as_double8(x) __builtin_astype((x),  double8)
6664 #define as_double16(x) __builtin_astype((x), double16)
6665 #endif //cl_khr_fp64
6666
6667 #ifdef cl_khr_fp16
6668 #define as_half(x) __builtin_astype((x),   half)
6669 #define as_half2(x) __builtin_astype((x),  half2)
6670 #define as_half3(x) __builtin_astype((x),  half3)
6671 #define as_half4(x) __builtin_astype((x),  half4)
6672 #define as_half8(x) __builtin_astype((x),  half8)
6673 #define as_half16(x) __builtin_astype((x), half16)
6674 #endif //cl_khr_fp16
6675
6676 // OpenCL v1.1 s6.9, v1.2/2.0 s6.10 - Function qualifiers
6677
6678 #define __kernel_exec(X, typen) __kernel \
6679         __attribute__((work_group_size_hint(X, 1, 1))) \
6680         __attribute__((vec_type_hint(typen)))
6681
6682 #define kernel_exec(X, typen) __kernel \
6683         __attribute__((work_group_size_hint(X, 1, 1))) \
6684         __attribute__((vec_type_hint(typen)))
6685
6686 // OpenCL v1.1 s6.11.1, v1.2 s6.12.1, v2.0 s6.13.1 - Work-item Functions
6687
6688 /**
6689  * Returns the number of dimensions in use. This is the
6690  * value given to the work_dim argument specified in
6691  * clEnqueueNDRangeKernel.
6692  * For clEnqueueTask, this returns 1.
6693  */
6694 uint __ovld __cnfn get_work_dim(void);
6695
6696 /**
6697  * Returns the number of global work-items specified for
6698  * dimension identified by dimindx. This value is given by
6699  * the global_work_size argument to
6700  * clEnqueueNDRangeKernel. Valid values of dimindx
6701  * are 0 to get_work_dim() - 1. For other values of
6702  * dimindx, get_global_size() returns 1.
6703  * For clEnqueueTask, this always returns 1.
6704  */
6705 size_t __ovld __cnfn get_global_size(uint dimindx);
6706
6707 /**
6708  * Returns the unique global work-item ID value for
6709  * dimension identified by dimindx. The global work-item
6710  * ID specifies the work-item ID based on the number of
6711  * global work-items specified to execute the kernel. Valid
6712  * values of dimindx are 0 to get_work_dim() - 1. For
6713  * other values of dimindx, get_global_id() returns 0.
6714  * For clEnqueueTask, this returns 0.
6715  */
6716 size_t __ovld __cnfn get_global_id(uint dimindx);
6717
6718 /**
6719  * Returns the number of local work-items specified in
6720  * dimension identified by dimindx. This value is given by
6721  * the local_work_size argument to
6722  * clEnqueueNDRangeKernel if local_work_size is not
6723  * NULL; otherwise the OpenCL implementation chooses
6724  * an appropriate local_work_size value which is returned
6725  * by this function. Valid values of dimindx are 0 to
6726  * get_work_dim() - 1. For other values of dimindx,
6727  * get_local_size() returns 1.
6728  * For clEnqueueTask, this always returns 1.
6729  */
6730 size_t __ovld __cnfn get_local_size(uint dimindx);
6731
6732 /**
6733  * Returns the unique local work-item ID i.e. a work-item
6734  * within a specific work-group for dimension identified by
6735  * dimindx. Valid values of dimindx are 0 to
6736  * get_work_dim() - 1. For other values of dimindx,
6737  * get_local_id() returns 0.
6738  * For clEnqueueTask, this returns 0.
6739  */
6740 size_t __ovld __cnfn get_local_id(uint dimindx);
6741
6742 /**
6743  * Returns the number of work-groups that will execute a
6744  * kernel for dimension identified by dimindx.
6745  * Valid values of dimindx are 0 to get_work_dim() - 1.
6746  * For other values of dimindx, get_num_groups () returns
6747  * 1.
6748  * For clEnqueueTask, this always returns 1.
6749  */
6750 size_t __ovld __cnfn get_num_groups(uint dimindx);
6751
6752 /**
6753  * get_group_id returns the work-group ID which is a
6754  * number from 0 .. get_num_groups(dimindx) - 1.
6755  * Valid values of dimindx are 0 to get_work_dim() - 1.
6756  * For other values, get_group_id() returns 0.
6757  * For clEnqueueTask, this returns 0.
6758  */
6759 size_t __ovld __cnfn get_group_id(uint dimindx);
6760
6761 /**
6762  * get_global_offset returns the offset values specified in
6763  * global_work_offset argument to
6764  * clEnqueueNDRangeKernel.
6765  * Valid values of dimindx are 0 to get_work_dim() - 1.
6766  * For other values, get_global_offset() returns 0.
6767  * For clEnqueueTask, this returns 0.
6768  */
6769 size_t __ovld __cnfn get_global_offset(uint dimindx);
6770
6771 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
6772 size_t __ovld get_enqueued_local_size(uint dimindx);
6773 size_t __ovld get_global_linear_id(void);
6774 size_t __ovld get_local_linear_id(void);
6775 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
6776
6777 // OpenCL v1.1 s6.11.2, v1.2 s6.12.2, v2.0 s6.13.2 - Math functions
6778
6779 /**
6780  * Arc cosine function.
6781  */
6782 float __ovld __cnfn acos(float);
6783 float2 __ovld __cnfn acos(float2);
6784 float3 __ovld __cnfn acos(float3);
6785 float4 __ovld __cnfn acos(float4);
6786 float8 __ovld __cnfn acos(float8);
6787 float16 __ovld __cnfn acos(float16);
6788 #ifdef cl_khr_fp64
6789 double __ovld __cnfn acos(double);
6790 double2 __ovld __cnfn acos(double2);
6791 double3 __ovld __cnfn acos(double3);
6792 double4 __ovld __cnfn acos(double4);
6793 double8 __ovld __cnfn acos(double8);
6794 double16 __ovld __cnfn acos(double16);
6795 #endif //cl_khr_fp64
6796 #ifdef cl_khr_fp16
6797 half __ovld __cnfn acos(half);
6798 half2 __ovld __cnfn acos(half2);
6799 half3 __ovld __cnfn acos(half3);
6800 half4 __ovld __cnfn acos(half4);
6801 half8 __ovld __cnfn acos(half8);
6802 half16 __ovld __cnfn acos(half16);
6803 #endif //cl_khr_fp16
6804
6805 /**
6806  * Inverse hyperbolic cosine.
6807  */
6808 float __ovld __cnfn acosh(float);
6809 float2 __ovld __cnfn acosh(float2);
6810 float3 __ovld __cnfn acosh(float3);
6811 float4 __ovld __cnfn acosh(float4);
6812 float8 __ovld __cnfn acosh(float8);
6813 float16 __ovld __cnfn acosh(float16);
6814 #ifdef cl_khr_fp64
6815 double __ovld __cnfn acosh(double);
6816 double2 __ovld __cnfn acosh(double2);
6817 double3 __ovld __cnfn acosh(double3);
6818 double4 __ovld __cnfn acosh(double4);
6819 double8 __ovld __cnfn acosh(double8);
6820 double16 __ovld __cnfn acosh(double16);
6821 #endif //cl_khr_fp64
6822 #ifdef cl_khr_fp16
6823 half __ovld __cnfn acosh(half);
6824 half2 __ovld __cnfn acosh(half2);
6825 half3 __ovld __cnfn acosh(half3);
6826 half4 __ovld __cnfn acosh(half4);
6827 half8 __ovld __cnfn acosh(half8);
6828 half16 __ovld __cnfn acosh(half16);
6829 #endif //cl_khr_fp16
6830
6831 /**
6832  * Compute acos (x) / PI.
6833  */
6834 float __ovld __cnfn acospi(float x);
6835 float2 __ovld __cnfn acospi(float2 x);
6836 float3 __ovld __cnfn acospi(float3 x);
6837 float4 __ovld __cnfn acospi(float4 x);
6838 float8 __ovld __cnfn acospi(float8 x);
6839 float16 __ovld __cnfn acospi(float16 x);
6840 #ifdef cl_khr_fp64
6841 double __ovld __cnfn acospi(double x);
6842 double2 __ovld __cnfn acospi(double2 x);
6843 double3 __ovld __cnfn acospi(double3 x);
6844 double4 __ovld __cnfn acospi(double4 x);
6845 double8 __ovld __cnfn acospi(double8 x);
6846 double16 __ovld __cnfn acospi(double16 x);
6847 #endif //cl_khr_fp64
6848 #ifdef cl_khr_fp16
6849 half __ovld __cnfn acospi(half x);
6850 half2 __ovld __cnfn acospi(half2 x);
6851 half3 __ovld __cnfn acospi(half3 x);
6852 half4 __ovld __cnfn acospi(half4 x);
6853 half8 __ovld __cnfn acospi(half8 x);
6854 half16 __ovld __cnfn acospi(half16 x);
6855 #endif //cl_khr_fp16
6856
6857 /**
6858  * Arc sine function.
6859  */
6860 float __ovld __cnfn asin(float);
6861 float2 __ovld __cnfn asin(float2);
6862 float3 __ovld __cnfn asin(float3);
6863 float4 __ovld __cnfn asin(float4);
6864 float8 __ovld __cnfn asin(float8);
6865 float16 __ovld __cnfn asin(float16);
6866 #ifdef cl_khr_fp64
6867 double __ovld __cnfn asin(double);
6868 double2 __ovld __cnfn asin(double2);
6869 double3 __ovld __cnfn asin(double3);
6870 double4 __ovld __cnfn asin(double4);
6871 double8 __ovld __cnfn asin(double8);
6872 double16 __ovld __cnfn asin(double16);
6873 #endif //cl_khr_fp64
6874 #ifdef cl_khr_fp16
6875 half __ovld __cnfn asin(half);
6876 half2 __ovld __cnfn asin(half2);
6877 half3 __ovld __cnfn asin(half3);
6878 half4 __ovld __cnfn asin(half4);
6879 half8 __ovld __cnfn asin(half8);
6880 half16 __ovld __cnfn asin(half16);
6881 #endif //cl_khr_fp16
6882
6883 /**
6884  * Inverse hyperbolic sine.
6885  */
6886 float __ovld __cnfn asinh(float);
6887 float2 __ovld __cnfn asinh(float2);
6888 float3 __ovld __cnfn asinh(float3);
6889 float4 __ovld __cnfn asinh(float4);
6890 float8 __ovld __cnfn asinh(float8);
6891 float16 __ovld __cnfn asinh(float16);
6892 #ifdef cl_khr_fp64
6893 double __ovld __cnfn asinh(double);
6894 double2 __ovld __cnfn asinh(double2);
6895 double3 __ovld __cnfn asinh(double3);
6896 double4 __ovld __cnfn asinh(double4);
6897 double8 __ovld __cnfn asinh(double8);
6898 double16 __ovld __cnfn asinh(double16);
6899 #endif //cl_khr_fp64
6900 #ifdef cl_khr_fp16
6901 half __ovld __cnfn asinh(half);
6902 half2 __ovld __cnfn asinh(half2);
6903 half3 __ovld __cnfn asinh(half3);
6904 half4 __ovld __cnfn asinh(half4);
6905 half8 __ovld __cnfn asinh(half8);
6906 half16 __ovld __cnfn asinh(half16);
6907 #endif //cl_khr_fp16
6908
6909 /**
6910  * Compute asin (x) / PI.
6911  */
6912 float __ovld __cnfn asinpi(float x);
6913 float2 __ovld __cnfn asinpi(float2 x);
6914 float3 __ovld __cnfn asinpi(float3 x);
6915 float4 __ovld __cnfn asinpi(float4 x);
6916 float8 __ovld __cnfn asinpi(float8 x);
6917 float16 __ovld __cnfn asinpi(float16 x);
6918 #ifdef cl_khr_fp64
6919 double __ovld __cnfn asinpi(double x);
6920 double2 __ovld __cnfn asinpi(double2 x);
6921 double3 __ovld __cnfn asinpi(double3 x);
6922 double4 __ovld __cnfn asinpi(double4 x);
6923 double8 __ovld __cnfn asinpi(double8 x);
6924 double16 __ovld __cnfn asinpi(double16 x);
6925 #endif //cl_khr_fp64
6926 #ifdef cl_khr_fp16
6927 half __ovld __cnfn asinpi(half x);
6928 half2 __ovld __cnfn asinpi(half2 x);
6929 half3 __ovld __cnfn asinpi(half3 x);
6930 half4 __ovld __cnfn asinpi(half4 x);
6931 half8 __ovld __cnfn asinpi(half8 x);
6932 half16 __ovld __cnfn asinpi(half16 x);
6933 #endif //cl_khr_fp16
6934
6935 /**
6936  * Arc tangent function.
6937  */
6938 float __ovld __cnfn atan(float y_over_x);
6939 float2 __ovld __cnfn atan(float2 y_over_x);
6940 float3 __ovld __cnfn atan(float3 y_over_x);
6941 float4 __ovld __cnfn atan(float4 y_over_x);
6942 float8 __ovld __cnfn atan(float8 y_over_x);
6943 float16 __ovld __cnfn atan(float16 y_over_x);
6944 #ifdef cl_khr_fp64
6945 double __ovld __cnfn atan(double y_over_x);
6946 double2 __ovld __cnfn atan(double2 y_over_x);
6947 double3 __ovld __cnfn atan(double3 y_over_x);
6948 double4 __ovld __cnfn atan(double4 y_over_x);
6949 double8 __ovld __cnfn atan(double8 y_over_x);
6950 double16 __ovld __cnfn atan(double16 y_over_x);
6951 #endif //cl_khr_fp64
6952 #ifdef cl_khr_fp16
6953 half __ovld __cnfn atan(half y_over_x);
6954 half2 __ovld __cnfn atan(half2 y_over_x);
6955 half3 __ovld __cnfn atan(half3 y_over_x);
6956 half4 __ovld __cnfn atan(half4 y_over_x);
6957 half8 __ovld __cnfn atan(half8 y_over_x);
6958 half16 __ovld __cnfn atan(half16 y_over_x);
6959 #endif //cl_khr_fp16
6960
6961 /**
6962  * Arc tangent of y / x.
6963  */
6964 float __ovld __cnfn atan2(float y, float x);
6965 float2 __ovld __cnfn atan2(float2 y, float2 x);
6966 float3 __ovld __cnfn atan2(float3 y, float3 x);
6967 float4 __ovld __cnfn atan2(float4 y, float4 x);
6968 float8 __ovld __cnfn atan2(float8 y, float8 x);
6969 float16 __ovld __cnfn atan2(float16 y, float16 x);
6970 #ifdef cl_khr_fp64
6971 double __ovld __cnfn atan2(double y, double x);
6972 double2 __ovld __cnfn atan2(double2 y, double2 x);
6973 double3 __ovld __cnfn atan2(double3 y, double3 x);
6974 double4 __ovld __cnfn atan2(double4 y, double4 x);
6975 double8 __ovld __cnfn atan2(double8 y, double8 x);
6976 double16 __ovld __cnfn atan2(double16 y, double16 x);
6977 #endif //cl_khr_fp64
6978 #ifdef cl_khr_fp16
6979 half __ovld __cnfn atan2(half y, half x);
6980 half2 __ovld __cnfn atan2(half2 y, half2 x);
6981 half3 __ovld __cnfn atan2(half3 y, half3 x);
6982 half4 __ovld __cnfn atan2(half4 y, half4 x);
6983 half8 __ovld __cnfn atan2(half8 y, half8 x);
6984 half16 __ovld __cnfn atan2(half16 y, half16 x);
6985 #endif //cl_khr_fp16
6986
6987 /**
6988  * Hyperbolic arc tangent.
6989  */
6990 float __ovld __cnfn atanh(float);
6991 float2 __ovld __cnfn atanh(float2);
6992 float3 __ovld __cnfn atanh(float3);
6993 float4 __ovld __cnfn atanh(float4);
6994 float8 __ovld __cnfn atanh(float8);
6995 float16 __ovld __cnfn atanh(float16);
6996 #ifdef cl_khr_fp64
6997 double __ovld __cnfn atanh(double);
6998 double2 __ovld __cnfn atanh(double2);
6999 double3 __ovld __cnfn atanh(double3);
7000 double4 __ovld __cnfn atanh(double4);
7001 double8 __ovld __cnfn atanh(double8);
7002 double16 __ovld __cnfn atanh(double16);
7003 #endif //cl_khr_fp64
7004 #ifdef cl_khr_fp16
7005 half __ovld __cnfn atanh(half);
7006 half2 __ovld __cnfn atanh(half2);
7007 half3 __ovld __cnfn atanh(half3);
7008 half4 __ovld __cnfn atanh(half4);
7009 half8 __ovld __cnfn atanh(half8);
7010 half16 __ovld __cnfn atanh(half16);
7011 #endif //cl_khr_fp16
7012
7013 /**
7014  * Compute atan (x) / PI.
7015  */
7016 float __ovld __cnfn atanpi(float x);
7017 float2 __ovld __cnfn atanpi(float2 x);
7018 float3 __ovld __cnfn atanpi(float3 x);
7019 float4 __ovld __cnfn atanpi(float4 x);
7020 float8 __ovld __cnfn atanpi(float8 x);
7021 float16 __ovld __cnfn atanpi(float16 x);
7022 #ifdef cl_khr_fp64
7023 double __ovld __cnfn atanpi(double x);
7024 double2 __ovld __cnfn atanpi(double2 x);
7025 double3 __ovld __cnfn atanpi(double3 x);
7026 double4 __ovld __cnfn atanpi(double4 x);
7027 double8 __ovld __cnfn atanpi(double8 x);
7028 double16 __ovld __cnfn atanpi(double16 x);
7029 #endif //cl_khr_fp64
7030 #ifdef cl_khr_fp16
7031 half __ovld __cnfn atanpi(half x);
7032 half2 __ovld __cnfn atanpi(half2 x);
7033 half3 __ovld __cnfn atanpi(half3 x);
7034 half4 __ovld __cnfn atanpi(half4 x);
7035 half8 __ovld __cnfn atanpi(half8 x);
7036 half16 __ovld __cnfn atanpi(half16 x);
7037 #endif //cl_khr_fp16
7038
7039 /**
7040  * Compute atan2 (y, x) / PI.
7041  */
7042 float __ovld __cnfn atan2pi(float y, float x);
7043 float2 __ovld __cnfn atan2pi(float2 y, float2 x);
7044 float3 __ovld __cnfn atan2pi(float3 y, float3 x);
7045 float4 __ovld __cnfn atan2pi(float4 y, float4 x);
7046 float8 __ovld __cnfn atan2pi(float8 y, float8 x);
7047 float16 __ovld __cnfn atan2pi(float16 y, float16 x);
7048 #ifdef cl_khr_fp64
7049 double __ovld __cnfn atan2pi(double y, double x);
7050 double2 __ovld __cnfn atan2pi(double2 y, double2 x);
7051 double3 __ovld __cnfn atan2pi(double3 y, double3 x);
7052 double4 __ovld __cnfn atan2pi(double4 y, double4 x);
7053 double8 __ovld __cnfn atan2pi(double8 y, double8 x);
7054 double16 __ovld __cnfn atan2pi(double16 y, double16 x);
7055 #endif //cl_khr_fp64
7056 #ifdef cl_khr_fp16
7057 half __ovld __cnfn atan2pi(half y, half x);
7058 half2 __ovld __cnfn atan2pi(half2 y, half2 x);
7059 half3 __ovld __cnfn atan2pi(half3 y, half3 x);
7060 half4 __ovld __cnfn atan2pi(half4 y, half4 x);
7061 half8 __ovld __cnfn atan2pi(half8 y, half8 x);
7062 half16 __ovld __cnfn atan2pi(half16 y, half16 x);
7063 #endif //cl_khr_fp16
7064
7065 /**
7066  * Compute cube-root.
7067  */
7068 float __ovld __cnfn cbrt(float);
7069 float2 __ovld __cnfn cbrt(float2);
7070 float3 __ovld __cnfn cbrt(float3);
7071 float4 __ovld __cnfn cbrt(float4);
7072 float8 __ovld __cnfn cbrt(float8);
7073 float16 __ovld __cnfn cbrt(float16);
7074 #ifdef cl_khr_fp64
7075 double __ovld __cnfn cbrt(double);
7076 double2 __ovld __cnfn cbrt(double2);
7077 double3 __ovld __cnfn cbrt(double3);
7078 double4 __ovld __cnfn cbrt(double4);
7079 double8 __ovld __cnfn cbrt(double8);
7080 double16 __ovld __cnfn cbrt(double16);
7081 #endif //cl_khr_fp64
7082 #ifdef cl_khr_fp16
7083 half __ovld __cnfn cbrt(half);
7084 half2 __ovld __cnfn cbrt(half2);
7085 half3 __ovld __cnfn cbrt(half3);
7086 half4 __ovld __cnfn cbrt(half4);
7087 half8 __ovld __cnfn cbrt(half8);
7088 half16 __ovld __cnfn cbrt(half16);
7089 #endif //cl_khr_fp16
7090
7091 /**
7092  * Round to integral value using the round to positive
7093  * infinity rounding mode.
7094  */
7095 float __ovld __cnfn ceil(float);
7096 float2 __ovld __cnfn ceil(float2);
7097 float3 __ovld __cnfn ceil(float3);
7098 float4 __ovld __cnfn ceil(float4);
7099 float8 __ovld __cnfn ceil(float8);
7100 float16 __ovld __cnfn ceil(float16);
7101 #ifdef cl_khr_fp64
7102 double __ovld __cnfn ceil(double);
7103 double2 __ovld __cnfn ceil(double2);
7104 double3 __ovld __cnfn ceil(double3);
7105 double4 __ovld __cnfn ceil(double4);
7106 double8 __ovld __cnfn ceil(double8);
7107 double16 __ovld __cnfn ceil(double16);
7108 #endif //cl_khr_fp64
7109 #ifdef cl_khr_fp16
7110 half __ovld __cnfn ceil(half);
7111 half2 __ovld __cnfn ceil(half2);
7112 half3 __ovld __cnfn ceil(half3);
7113 half4 __ovld __cnfn ceil(half4);
7114 half8 __ovld __cnfn ceil(half8);
7115 half16 __ovld __cnfn ceil(half16);
7116 #endif //cl_khr_fp16
7117
7118 /**
7119  * Returns x with its sign changed to match the sign of y.
7120  */
7121 float __ovld __cnfn copysign(float x, float y);
7122 float2 __ovld __cnfn copysign(float2 x, float2 y);
7123 float3 __ovld __cnfn copysign(float3 x, float3 y);
7124 float4 __ovld __cnfn copysign(float4 x, float4 y);
7125 float8 __ovld __cnfn copysign(float8 x, float8 y);
7126 float16 __ovld __cnfn copysign(float16 x, float16 y);
7127 #ifdef cl_khr_fp64
7128 double __ovld __cnfn copysign(double x, double y);
7129 double2 __ovld __cnfn copysign(double2 x, double2 y);
7130 double3 __ovld __cnfn copysign(double3 x, double3 y);
7131 double4 __ovld __cnfn copysign(double4 x, double4 y);
7132 double8 __ovld __cnfn copysign(double8 x, double8 y);
7133 double16 __ovld __cnfn copysign(double16 x, double16 y);
7134 #endif //cl_khr_fp64
7135 #ifdef cl_khr_fp16
7136 half __ovld __cnfn copysign(half x, half y);
7137 half2 __ovld __cnfn copysign(half2 x, half2 y);
7138 half3 __ovld __cnfn copysign(half3 x, half3 y);
7139 half4 __ovld __cnfn copysign(half4 x, half4 y);
7140 half8 __ovld __cnfn copysign(half8 x, half8 y);
7141 half16 __ovld __cnfn copysign(half16 x, half16 y);
7142 #endif //cl_khr_fp16
7143
7144 /**
7145  * Compute cosine.
7146  */
7147 float __ovld __cnfn cos(float);
7148 float2 __ovld __cnfn cos(float2);
7149 float3 __ovld __cnfn cos(float3);
7150 float4 __ovld __cnfn cos(float4);
7151 float8 __ovld __cnfn cos(float8);
7152 float16 __ovld __cnfn cos(float16);
7153 #ifdef cl_khr_fp64
7154 double __ovld __cnfn cos(double);
7155 double2 __ovld __cnfn cos(double2);
7156 double3 __ovld __cnfn cos(double3);
7157 double4 __ovld __cnfn cos(double4);
7158 double8 __ovld __cnfn cos(double8);
7159 double16 __ovld __cnfn cos(double16);
7160 #endif //cl_khr_fp64
7161 #ifdef cl_khr_fp16
7162 half __ovld __cnfn cos(half);
7163 half2 __ovld __cnfn cos(half2);
7164 half3 __ovld __cnfn cos(half3);
7165 half4 __ovld __cnfn cos(half4);
7166 half8 __ovld __cnfn cos(half8);
7167 half16 __ovld __cnfn cos(half16);
7168 #endif //cl_khr_fp16
7169
7170 /**
7171  * Compute hyperbolic cosine.
7172  */
7173 float __ovld __cnfn cosh(float);
7174 float2 __ovld __cnfn cosh(float2);
7175 float3 __ovld __cnfn cosh(float3);
7176 float4 __ovld __cnfn cosh(float4);
7177 float8 __ovld __cnfn cosh(float8);
7178 float16 __ovld __cnfn cosh(float16);
7179 #ifdef cl_khr_fp64
7180 double __ovld __cnfn cosh(double);
7181 double2 __ovld __cnfn cosh(double2);
7182 double3 __ovld __cnfn cosh(double3);
7183 double4 __ovld __cnfn cosh(double4);
7184 double8 __ovld __cnfn cosh(double8);
7185 double16 __ovld __cnfn cosh(double16);
7186 #endif //cl_khr_fp64
7187 #ifdef cl_khr_fp16
7188 half __ovld __cnfn cosh(half);
7189 half2 __ovld __cnfn cosh(half2);
7190 half3 __ovld __cnfn cosh(half3);
7191 half4 __ovld __cnfn cosh(half4);
7192 half8 __ovld __cnfn cosh(half8);
7193 half16 __ovld __cnfn cosh(half16);
7194 #endif //cl_khr_fp16
7195
7196 /**
7197  * Compute cos (PI * x).
7198  */
7199 float __ovld __cnfn cospi(float x);
7200 float2 __ovld __cnfn cospi(float2 x);
7201 float3 __ovld __cnfn cospi(float3 x);
7202 float4 __ovld __cnfn cospi(float4 x);
7203 float8 __ovld __cnfn cospi(float8 x);
7204 float16 __ovld __cnfn cospi(float16 x);
7205 #ifdef cl_khr_fp64
7206 double __ovld __cnfn cospi(double x);
7207 double2 __ovld __cnfn cospi(double2 x);
7208 double3 __ovld __cnfn cospi(double3 x);
7209 double4 __ovld __cnfn cospi(double4 x);
7210 double8 __ovld __cnfn cospi(double8 x);
7211 double16 __ovld __cnfn cospi(double16 x);
7212 #endif //cl_khr_fp64
7213 #ifdef cl_khr_fp16
7214 half __ovld __cnfn cospi(half x);
7215 half2 __ovld __cnfn cospi(half2 x);
7216 half3 __ovld __cnfn cospi(half3 x);
7217 half4 __ovld __cnfn cospi(half4 x);
7218 half8 __ovld __cnfn cospi(half8 x);
7219 half16 __ovld __cnfn cospi(half16 x);
7220 #endif //cl_khr_fp16
7221
7222 /**
7223  * Complementary error function.
7224  */
7225 float __ovld __cnfn erfc(float);
7226 float2 __ovld __cnfn erfc(float2);
7227 float3 __ovld __cnfn erfc(float3);
7228 float4 __ovld __cnfn erfc(float4);
7229 float8 __ovld __cnfn erfc(float8);
7230 float16 __ovld __cnfn erfc(float16);
7231 #ifdef cl_khr_fp64
7232 double __ovld __cnfn erfc(double);
7233 double2 __ovld __cnfn erfc(double2);
7234 double3 __ovld __cnfn erfc(double3);
7235 double4 __ovld __cnfn erfc(double4);
7236 double8 __ovld __cnfn erfc(double8);
7237 double16 __ovld __cnfn erfc(double16);
7238 #endif //cl_khr_fp64
7239 #ifdef cl_khr_fp16
7240 half __ovld __cnfn erfc(half);
7241 half2 __ovld __cnfn erfc(half2);
7242 half3 __ovld __cnfn erfc(half3);
7243 half4 __ovld __cnfn erfc(half4);
7244 half8 __ovld __cnfn erfc(half8);
7245 half16 __ovld __cnfn erfc(half16);
7246 #endif //cl_khr_fp16
7247
7248 /**
7249  * Error function encountered in integrating the
7250  * normal distribution.
7251  */
7252 float __ovld __cnfn erf(float);
7253 float2 __ovld __cnfn erf(float2);
7254 float3 __ovld __cnfn erf(float3);
7255 float4 __ovld __cnfn erf(float4);
7256 float8 __ovld __cnfn erf(float8);
7257 float16 __ovld __cnfn erf(float16);
7258 #ifdef cl_khr_fp64
7259 double __ovld __cnfn erf(double);
7260 double2 __ovld __cnfn erf(double2);
7261 double3 __ovld __cnfn erf(double3);
7262 double4 __ovld __cnfn erf(double4);
7263 double8 __ovld __cnfn erf(double8);
7264 double16 __ovld __cnfn erf(double16);
7265 #endif //cl_khr_fp64
7266 #ifdef cl_khr_fp16
7267 half __ovld __cnfn erf(half);
7268 half2 __ovld __cnfn erf(half2);
7269 half3 __ovld __cnfn erf(half3);
7270 half4 __ovld __cnfn erf(half4);
7271 half8 __ovld __cnfn erf(half8);
7272 half16 __ovld __cnfn erf(half16);
7273 #endif //cl_khr_fp16
7274
7275 /**
7276  * Compute the base e exponential function of x.
7277  */
7278 float __ovld __cnfn exp(float x);
7279 float2 __ovld __cnfn exp(float2 x);
7280 float3 __ovld __cnfn exp(float3 x);
7281 float4 __ovld __cnfn exp(float4 x);
7282 float8 __ovld __cnfn exp(float8 x);
7283 float16 __ovld __cnfn exp(float16 x);
7284 #ifdef cl_khr_fp64
7285 double __ovld __cnfn exp(double x);
7286 double2 __ovld __cnfn exp(double2 x);
7287 double3 __ovld __cnfn exp(double3 x);
7288 double4 __ovld __cnfn exp(double4 x);
7289 double8 __ovld __cnfn exp(double8 x);
7290 double16 __ovld __cnfn exp(double16 x);
7291 #endif //cl_khr_fp64
7292 #ifdef cl_khr_fp16
7293 half __ovld __cnfn exp(half x);
7294 half2 __ovld __cnfn exp(half2 x);
7295 half3 __ovld __cnfn exp(half3 x);
7296 half4 __ovld __cnfn exp(half4 x);
7297 half8 __ovld __cnfn exp(half8 x);
7298 half16 __ovld __cnfn exp(half16 x);
7299 #endif //cl_khr_fp16
7300
7301 /**
7302  * Exponential base 2 function.
7303  */
7304 float __ovld __cnfn exp2(float);
7305 float2 __ovld __cnfn exp2(float2);
7306 float3 __ovld __cnfn exp2(float3);
7307 float4 __ovld __cnfn exp2(float4);
7308 float8 __ovld __cnfn exp2(float8);
7309 float16 __ovld __cnfn exp2(float16);
7310 #ifdef cl_khr_fp64
7311 double __ovld __cnfn exp2(double);
7312 double2 __ovld __cnfn exp2(double2);
7313 double3 __ovld __cnfn exp2(double3);
7314 double4 __ovld __cnfn exp2(double4);
7315 double8 __ovld __cnfn exp2(double8);
7316 double16 __ovld __cnfn exp2(double16);
7317 #endif //cl_khr_fp64
7318 #ifdef cl_khr_fp16
7319 half __ovld __cnfn exp2(half);
7320 half2 __ovld __cnfn exp2(half2);
7321 half3 __ovld __cnfn exp2(half3);
7322 half4 __ovld __cnfn exp2(half4);
7323 half8 __ovld __cnfn exp2(half8);
7324 half16 __ovld __cnfn exp2(half16);
7325 #endif //cl_khr_fp16
7326
7327 /**
7328  * Exponential base 10 function.
7329  */
7330 float __ovld __cnfn exp10(float);
7331 float2 __ovld __cnfn exp10(float2);
7332 float3 __ovld __cnfn exp10(float3);
7333 float4 __ovld __cnfn exp10(float4);
7334 float8 __ovld __cnfn exp10(float8);
7335 float16 __ovld __cnfn exp10(float16);
7336 #ifdef cl_khr_fp64
7337 double __ovld __cnfn exp10(double);
7338 double2 __ovld __cnfn exp10(double2);
7339 double3 __ovld __cnfn exp10(double3);
7340 double4 __ovld __cnfn exp10(double4);
7341 double8 __ovld __cnfn exp10(double8);
7342 double16 __ovld __cnfn exp10(double16);
7343 #endif //cl_khr_fp64
7344 #ifdef cl_khr_fp16
7345 half __ovld __cnfn exp10(half);
7346 half2 __ovld __cnfn exp10(half2);
7347 half3 __ovld __cnfn exp10(half3);
7348 half4 __ovld __cnfn exp10(half4);
7349 half8 __ovld __cnfn exp10(half8);
7350 half16 __ovld __cnfn exp10(half16);
7351 #endif //cl_khr_fp16
7352
7353 /**
7354  * Compute e^x- 1.0.
7355  */
7356 float __ovld __cnfn expm1(float x);
7357 float2 __ovld __cnfn expm1(float2 x);
7358 float3 __ovld __cnfn expm1(float3 x);
7359 float4 __ovld __cnfn expm1(float4 x);
7360 float8 __ovld __cnfn expm1(float8 x);
7361 float16 __ovld __cnfn expm1(float16 x);
7362 #ifdef cl_khr_fp64
7363 double __ovld __cnfn expm1(double x);
7364 double2 __ovld __cnfn expm1(double2 x);
7365 double3 __ovld __cnfn expm1(double3 x);
7366 double4 __ovld __cnfn expm1(double4 x);
7367 double8 __ovld __cnfn expm1(double8 x);
7368 double16 __ovld __cnfn expm1(double16 x);
7369 #endif //cl_khr_fp64
7370 #ifdef cl_khr_fp16
7371 half __ovld __cnfn expm1(half x);
7372 half2 __ovld __cnfn expm1(half2 x);
7373 half3 __ovld __cnfn expm1(half3 x);
7374 half4 __ovld __cnfn expm1(half4 x);
7375 half8 __ovld __cnfn expm1(half8 x);
7376 half16 __ovld __cnfn expm1(half16 x);
7377 #endif //cl_khr_fp16
7378
7379 /**
7380  * Compute absolute value of a floating-point number.
7381  */
7382 float __ovld __cnfn fabs(float);
7383 float2 __ovld __cnfn fabs(float2);
7384 float3 __ovld __cnfn fabs(float3);
7385 float4 __ovld __cnfn fabs(float4);
7386 float8 __ovld __cnfn fabs(float8);
7387 float16 __ovld __cnfn fabs(float16);
7388 #ifdef cl_khr_fp64
7389 double __ovld __cnfn fabs(double);
7390 double2 __ovld __cnfn fabs(double2);
7391 double3 __ovld __cnfn fabs(double3);
7392 double4 __ovld __cnfn fabs(double4);
7393 double8 __ovld __cnfn fabs(double8);
7394 double16 __ovld __cnfn fabs(double16);
7395 #endif //cl_khr_fp64
7396 #ifdef cl_khr_fp16
7397 half __ovld __cnfn fabs(half);
7398 half2 __ovld __cnfn fabs(half2);
7399 half3 __ovld __cnfn fabs(half3);
7400 half4 __ovld __cnfn fabs(half4);
7401 half8 __ovld __cnfn fabs(half8);
7402 half16 __ovld __cnfn fabs(half16);
7403 #endif //cl_khr_fp16
7404
7405 /**
7406  * x - y if x > y, +0 if x is less than or equal to y.
7407  */
7408 float __ovld __cnfn fdim(float x, float y);
7409 float2 __ovld __cnfn fdim(float2 x, float2 y);
7410 float3 __ovld __cnfn fdim(float3 x, float3 y);
7411 float4 __ovld __cnfn fdim(float4 x, float4 y);
7412 float8 __ovld __cnfn fdim(float8 x, float8 y);
7413 float16 __ovld __cnfn fdim(float16 x, float16 y);
7414 #ifdef cl_khr_fp64
7415 double __ovld __cnfn fdim(double x, double y);
7416 double2 __ovld __cnfn fdim(double2 x, double2 y);
7417 double3 __ovld __cnfn fdim(double3 x, double3 y);
7418 double4 __ovld __cnfn fdim(double4 x, double4 y);
7419 double8 __ovld __cnfn fdim(double8 x, double8 y);
7420 double16 __ovld __cnfn fdim(double16 x, double16 y);
7421 #endif //cl_khr_fp64
7422 #ifdef cl_khr_fp16
7423 half __ovld __cnfn fdim(half x, half y);
7424 half2 __ovld __cnfn fdim(half2 x, half2 y);
7425 half3 __ovld __cnfn fdim(half3 x, half3 y);
7426 half4 __ovld __cnfn fdim(half4 x, half4 y);
7427 half8 __ovld __cnfn fdim(half8 x, half8 y);
7428 half16 __ovld __cnfn fdim(half16 x, half16 y);
7429 #endif //cl_khr_fp16
7430
7431 /**
7432  * Round to integral value using the round to -ve
7433  * infinity rounding mode.
7434  */
7435 float __ovld __cnfn floor(float);
7436 float2 __ovld __cnfn floor(float2);
7437 float3 __ovld __cnfn floor(float3);
7438 float4 __ovld __cnfn floor(float4);
7439 float8 __ovld __cnfn floor(float8);
7440 float16 __ovld __cnfn floor(float16);
7441 #ifdef cl_khr_fp64
7442 double __ovld __cnfn floor(double);
7443 double2 __ovld __cnfn floor(double2);
7444 double3 __ovld __cnfn floor(double3);
7445 double4 __ovld __cnfn floor(double4);
7446 double8 __ovld __cnfn floor(double8);
7447 double16 __ovld __cnfn floor(double16);
7448 #endif //cl_khr_fp64
7449 #ifdef cl_khr_fp16
7450 half __ovld __cnfn floor(half);
7451 half2 __ovld __cnfn floor(half2);
7452 half3 __ovld __cnfn floor(half3);
7453 half4 __ovld __cnfn floor(half4);
7454 half8 __ovld __cnfn floor(half8);
7455 half16 __ovld __cnfn floor(half16);
7456 #endif //cl_khr_fp16
7457
7458 /**
7459  * Returns the correctly rounded floating-point
7460  * representation of the sum of c with the infinitely
7461  * precise product of a and b. Rounding of
7462  * intermediate products shall not occur. Edge case
7463  * behavior is per the IEEE 754-2008 standard.
7464  */
7465 float __ovld __cnfn fma(float a, float b, float c);
7466 float2 __ovld __cnfn fma(float2 a, float2 b, float2 c);
7467 float3 __ovld __cnfn fma(float3 a, float3 b, float3 c);
7468 float4 __ovld __cnfn fma(float4 a, float4 b, float4 c);
7469 float8 __ovld __cnfn fma(float8 a, float8 b, float8 c);
7470 float16 __ovld __cnfn fma(float16 a, float16 b, float16 c);
7471 #ifdef cl_khr_fp64
7472 double __ovld __cnfn fma(double a, double b, double c);
7473 double2 __ovld __cnfn fma(double2 a, double2 b, double2 c);
7474 double3 __ovld __cnfn fma(double3 a, double3 b, double3 c);
7475 double4 __ovld __cnfn fma(double4 a, double4 b, double4 c);
7476 double8 __ovld __cnfn fma(double8 a, double8 b, double8 c);
7477 double16 __ovld __cnfn fma(double16 a, double16 b, double16 c);
7478 #endif //cl_khr_fp64
7479 #ifdef cl_khr_fp16
7480 half __ovld __cnfn fma(half a, half b, half c);
7481 half2 __ovld __cnfn fma(half2 a, half2 b, half2 c);
7482 half3 __ovld __cnfn fma(half3 a, half3 b, half3 c);
7483 half4 __ovld __cnfn fma(half4 a, half4 b, half4 c);
7484 half8 __ovld __cnfn fma(half8 a, half8 b, half8 c);
7485 half16 __ovld __cnfn fma(half16 a, half16 b, half16 c);
7486 #endif //cl_khr_fp16
7487
7488 /**
7489  * Returns y if x < y, otherwise it returns x. If one
7490  * argument is a NaN, fmax() returns the other
7491  * argument. If both arguments are NaNs, fmax()
7492  * returns a NaN.
7493  */
7494 float __ovld __cnfn fmax(float x, float y);
7495 float2 __ovld __cnfn fmax(float2 x, float2 y);
7496 float3 __ovld __cnfn fmax(float3 x, float3 y);
7497 float4 __ovld __cnfn fmax(float4 x, float4 y);
7498 float8 __ovld __cnfn fmax(float8 x, float8 y);
7499 float16 __ovld __cnfn fmax(float16 x, float16 y);
7500 float2 __ovld __cnfn fmax(float2 x, float y);
7501 float3 __ovld __cnfn fmax(float3 x, float y);
7502 float4 __ovld __cnfn fmax(float4 x, float y);
7503 float8 __ovld __cnfn fmax(float8 x, float y);
7504 float16 __ovld __cnfn fmax(float16 x, float y);
7505 #ifdef cl_khr_fp64
7506 double __ovld __cnfn fmax(double x, double y);
7507 double2 __ovld __cnfn fmax(double2 x, double2 y);
7508 double3 __ovld __cnfn fmax(double3 x, double3 y);
7509 double4 __ovld __cnfn fmax(double4 x, double4 y);
7510 double8 __ovld __cnfn fmax(double8 x, double8 y);
7511 double16 __ovld __cnfn fmax(double16 x, double16 y);
7512 double2 __ovld __cnfn fmax(double2 x, double y);
7513 double3 __ovld __cnfn fmax(double3 x, double y);
7514 double4 __ovld __cnfn fmax(double4 x, double y);
7515 double8 __ovld __cnfn fmax(double8 x, double y);
7516 double16 __ovld __cnfn fmax(double16 x, double y);
7517 #endif //cl_khr_fp64
7518 #ifdef cl_khr_fp16
7519 half __ovld __cnfn fmax(half x, half y);
7520 half2 __ovld __cnfn fmax(half2 x, half2 y);
7521 half3 __ovld __cnfn fmax(half3 x, half3 y);
7522 half4 __ovld __cnfn fmax(half4 x, half4 y);
7523 half8 __ovld __cnfn fmax(half8 x, half8 y);
7524 half16 __ovld __cnfn fmax(half16 x, half16 y);
7525 half2 __ovld __cnfn fmax(half2 x, half y);
7526 half3 __ovld __cnfn fmax(half3 x, half y);
7527 half4 __ovld __cnfn fmax(half4 x, half y);
7528 half8 __ovld __cnfn fmax(half8 x, half y);
7529 half16 __ovld __cnfn fmax(half16 x, half y);
7530 #endif //cl_khr_fp16
7531
7532 /**
7533  * Returns y if y < x, otherwise it returns x. If one
7534  * argument is a NaN, fmin() returns the other
7535  * argument. If both arguments are NaNs, fmin()
7536  * returns a NaN.
7537  */
7538 float __ovld __cnfn fmin(float x, float y);
7539 float2 __ovld __cnfn fmin(float2 x, float2 y);
7540 float3 __ovld __cnfn fmin(float3 x, float3 y);
7541 float4 __ovld __cnfn fmin(float4 x, float4 y);
7542 float8 __ovld __cnfn fmin(float8 x, float8 y);
7543 float16 __ovld __cnfn fmin(float16 x, float16 y);
7544 float2 __ovld __cnfn fmin(float2 x, float y);
7545 float3 __ovld __cnfn fmin(float3 x, float y);
7546 float4 __ovld __cnfn fmin(float4 x, float y);
7547 float8 __ovld __cnfn fmin(float8 x, float y);
7548 float16 __ovld __cnfn fmin(float16 x, float y);
7549 #ifdef cl_khr_fp64
7550 double __ovld __cnfn fmin(double x, double y);
7551 double2 __ovld __cnfn fmin(double2 x, double2 y);
7552 double3 __ovld __cnfn fmin(double3 x, double3 y);
7553 double4 __ovld __cnfn fmin(double4 x, double4 y);
7554 double8 __ovld __cnfn fmin(double8 x, double8 y);
7555 double16 __ovld __cnfn fmin(double16 x, double16 y);
7556 double2 __ovld __cnfn fmin(double2 x, double y);
7557 double3 __ovld __cnfn fmin(double3 x, double y);
7558 double4 __ovld __cnfn fmin(double4 x, double y);
7559 double8 __ovld __cnfn fmin(double8 x, double y);
7560 double16 __ovld __cnfn fmin(double16 x, double y);
7561 #endif //cl_khr_fp64
7562 #ifdef cl_khr_fp16
7563 half __ovld __cnfn fmin(half x, half y);
7564 half2 __ovld __cnfn fmin(half2 x, half2 y);
7565 half3 __ovld __cnfn fmin(half3 x, half3 y);
7566 half4 __ovld __cnfn fmin(half4 x, half4 y);
7567 half8 __ovld __cnfn fmin(half8 x, half8 y);
7568 half16 __ovld __cnfn fmin(half16 x, half16 y);
7569 half2 __ovld __cnfn fmin(half2 x, half y);
7570 half3 __ovld __cnfn fmin(half3 x, half y);
7571 half4 __ovld __cnfn fmin(half4 x, half y);
7572 half8 __ovld __cnfn fmin(half8 x, half y);
7573 half16 __ovld __cnfn fmin(half16 x, half y);
7574 #endif //cl_khr_fp16
7575
7576 /**
7577  * Modulus. Returns x - y * trunc (x/y).
7578  */
7579 float __ovld __cnfn fmod(float x, float y);
7580 float2 __ovld __cnfn fmod(float2 x, float2 y);
7581 float3 __ovld __cnfn fmod(float3 x, float3 y);
7582 float4 __ovld __cnfn fmod(float4 x, float4 y);
7583 float8 __ovld __cnfn fmod(float8 x, float8 y);
7584 float16 __ovld __cnfn fmod(float16 x, float16 y);
7585 #ifdef cl_khr_fp64
7586 double __ovld __cnfn fmod(double x, double y);
7587 double2 __ovld __cnfn fmod(double2 x, double2 y);
7588 double3 __ovld __cnfn fmod(double3 x, double3 y);
7589 double4 __ovld __cnfn fmod(double4 x, double4 y);
7590 double8 __ovld __cnfn fmod(double8 x, double8 y);
7591 double16 __ovld __cnfn fmod(double16 x, double16 y);
7592 #endif //cl_khr_fp64
7593 #ifdef cl_khr_fp16
7594 half __ovld __cnfn fmod(half x, half y);
7595 half2 __ovld __cnfn fmod(half2 x, half2 y);
7596 half3 __ovld __cnfn fmod(half3 x, half3 y);
7597 half4 __ovld __cnfn fmod(half4 x, half4 y);
7598 half8 __ovld __cnfn fmod(half8 x, half8 y);
7599 half16 __ovld __cnfn fmod(half16 x, half16 y);
7600 #endif //cl_khr_fp16
7601
7602 /**
7603  * Returns fmin(x - floor (x), 0x1.fffffep-1f ).
7604  * floor(x) is returned in iptr.
7605  */
7606 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
7607 float __ovld fract(float x, float *iptr);
7608 float2 __ovld fract(float2 x, float2 *iptr);
7609 float3 __ovld fract(float3 x, float3 *iptr);
7610 float4 __ovld fract(float4 x, float4 *iptr);
7611 float8 __ovld fract(float8 x, float8 *iptr);
7612 float16 __ovld fract(float16 x, float16 *iptr);
7613 #ifdef cl_khr_fp64
7614 double __ovld fract(double x, double *iptr);
7615 double2 __ovld fract(double2 x, double2 *iptr);
7616 double3 __ovld fract(double3 x, double3 *iptr);
7617 double4 __ovld fract(double4 x, double4 *iptr);
7618 double8 __ovld fract(double8 x, double8 *iptr);
7619 double16 __ovld fract(double16 x, double16 *iptr);
7620 #endif //cl_khr_fp64
7621 #ifdef cl_khr_fp16
7622 half __ovld fract(half x, half *iptr);
7623 half2 __ovld fract(half2 x, half2 *iptr);
7624 half3 __ovld fract(half3 x, half3 *iptr);
7625 half4 __ovld fract(half4 x, half4 *iptr);
7626 half8 __ovld fract(half8 x, half8 *iptr);
7627 half16 __ovld fract(half16 x, half16 *iptr);
7628 #endif //cl_khr_fp16
7629 #else
7630 float __ovld fract(float x, __global float *iptr);
7631 float2 __ovld fract(float2 x, __global float2 *iptr);
7632 float3 __ovld fract(float3 x, __global float3 *iptr);
7633 float4 __ovld fract(float4 x, __global float4 *iptr);
7634 float8 __ovld fract(float8 x, __global float8 *iptr);
7635 float16 __ovld fract(float16 x, __global float16 *iptr);
7636 float __ovld fract(float x, __local float *iptr);
7637 float2 __ovld fract(float2 x, __local float2 *iptr);
7638 float3 __ovld fract(float3 x, __local float3 *iptr);
7639 float4 __ovld fract(float4 x, __local float4 *iptr);
7640 float8 __ovld fract(float8 x, __local float8 *iptr);
7641 float16 __ovld fract(float16 x, __local float16 *iptr);
7642 float __ovld fract(float x, __private float *iptr);
7643 float2 __ovld fract(float2 x, __private float2 *iptr);
7644 float3 __ovld fract(float3 x, __private float3 *iptr);
7645 float4 __ovld fract(float4 x, __private float4 *iptr);
7646 float8 __ovld fract(float8 x, __private float8 *iptr);
7647 float16 __ovld fract(float16 x, __private float16 *iptr);
7648 #ifdef cl_khr_fp64
7649 double __ovld fract(double x, __global double *iptr);
7650 double2 __ovld fract(double2 x, __global double2 *iptr);
7651 double3 __ovld fract(double3 x, __global double3 *iptr);
7652 double4 __ovld fract(double4 x, __global double4 *iptr);
7653 double8 __ovld fract(double8 x, __global double8 *iptr);
7654 double16 __ovld fract(double16 x, __global double16 *iptr);
7655 double __ovld fract(double x, __local double *iptr);
7656 double2 __ovld fract(double2 x, __local double2 *iptr);
7657 double3 __ovld fract(double3 x, __local double3 *iptr);
7658 double4 __ovld fract(double4 x, __local double4 *iptr);
7659 double8 __ovld fract(double8 x, __local double8 *iptr);
7660 double16 __ovld fract(double16 x, __local double16 *iptr);
7661 double __ovld fract(double x, __private double *iptr);
7662 double2 __ovld fract(double2 x, __private double2 *iptr);
7663 double3 __ovld fract(double3 x, __private double3 *iptr);
7664 double4 __ovld fract(double4 x, __private double4 *iptr);
7665 double8 __ovld fract(double8 x, __private double8 *iptr);
7666 double16 __ovld fract(double16 x, __private double16 *iptr);
7667 #endif //cl_khr_fp64
7668 #ifdef cl_khr_fp16
7669 half __ovld fract(half x, __global half *iptr);
7670 half2 __ovld fract(half2 x, __global half2 *iptr);
7671 half3 __ovld fract(half3 x, __global half3 *iptr);
7672 half4 __ovld fract(half4 x, __global half4 *iptr);
7673 half8 __ovld fract(half8 x, __global half8 *iptr);
7674 half16 __ovld fract(half16 x, __global half16 *iptr);
7675 half __ovld fract(half x, __local half *iptr);
7676 half2 __ovld fract(half2 x, __local half2 *iptr);
7677 half3 __ovld fract(half3 x, __local half3 *iptr);
7678 half4 __ovld fract(half4 x, __local half4 *iptr);
7679 half8 __ovld fract(half8 x, __local half8 *iptr);
7680 half16 __ovld fract(half16 x, __local half16 *iptr);
7681 half __ovld fract(half x, __private half *iptr);
7682 half2 __ovld fract(half2 x, __private half2 *iptr);
7683 half3 __ovld fract(half3 x, __private half3 *iptr);
7684 half4 __ovld fract(half4 x, __private half4 *iptr);
7685 half8 __ovld fract(half8 x, __private half8 *iptr);
7686 half16 __ovld fract(half16 x, __private half16 *iptr);
7687 #endif //cl_khr_fp16
7688 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
7689
7690 /**
7691  * Extract mantissa and exponent from x. For each
7692  * component the mantissa returned is a float with
7693  * magnitude in the interval [1/2, 1) or 0. Each
7694  * component of x equals mantissa returned * 2^exp.
7695  */
7696 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
7697 float __ovld frexp(float x, int *exp);
7698 float2 __ovld frexp(float2 x, int2 *exp);
7699 float3 __ovld frexp(float3 x, int3 *exp);
7700 float4 __ovld frexp(float4 x, int4 *exp);
7701 float8 __ovld frexp(float8 x, int8 *exp);
7702 float16 __ovld frexp(float16 x, int16 *exp);
7703 #ifdef cl_khr_fp64
7704 double __ovld frexp(double x, int *exp);
7705 double2 __ovld frexp(double2 x, int2 *exp);
7706 double3 __ovld frexp(double3 x, int3 *exp);
7707 double4 __ovld frexp(double4 x, int4 *exp);
7708 double8 __ovld frexp(double8 x, int8 *exp);
7709 double16 __ovld frexp(double16 x, int16 *exp);
7710 #endif //cl_khr_fp64
7711 #ifdef cl_khr_fp16
7712 half __ovld frexp(half x, int *exp);
7713 half2 __ovld frexp(half2 x, int2 *exp);
7714 half3 __ovld frexp(half3 x, int3 *exp);
7715 half4 __ovld frexp(half4 x, int4 *exp);
7716 half8 __ovld frexp(half8 x, int8 *exp);
7717 half16 __ovld frexp(half16 x, int16 *exp);
7718 #endif //cl_khr_fp16
7719 #else
7720 float __ovld frexp(float x, __global int *exp);
7721 float2 __ovld frexp(float2 x, __global int2 *exp);
7722 float3 __ovld frexp(float3 x, __global int3 *exp);
7723 float4 __ovld frexp(float4 x, __global int4 *exp);
7724 float8 __ovld frexp(float8 x, __global int8 *exp);
7725 float16 __ovld frexp(float16 x, __global int16 *exp);
7726 float __ovld frexp(float x, __local int *exp);
7727 float2 __ovld frexp(float2 x, __local int2 *exp);
7728 float3 __ovld frexp(float3 x, __local int3 *exp);
7729 float4 __ovld frexp(float4 x, __local int4 *exp);
7730 float8 __ovld frexp(float8 x, __local int8 *exp);
7731 float16 __ovld frexp(float16 x, __local int16 *exp);
7732 float __ovld frexp(float x, __private int *exp);
7733 float2 __ovld frexp(float2 x, __private int2 *exp);
7734 float3 __ovld frexp(float3 x, __private int3 *exp);
7735 float4 __ovld frexp(float4 x, __private int4 *exp);
7736 float8 __ovld frexp(float8 x, __private int8 *exp);
7737 float16 __ovld frexp(float16 x, __private int16 *exp);
7738 #ifdef cl_khr_fp64
7739 double __ovld frexp(double x, __global int *exp);
7740 double2 __ovld frexp(double2 x, __global int2 *exp);
7741 double3 __ovld frexp(double3 x, __global int3 *exp);
7742 double4 __ovld frexp(double4 x, __global int4 *exp);
7743 double8 __ovld frexp(double8 x, __global int8 *exp);
7744 double16 __ovld frexp(double16 x, __global int16 *exp);
7745 double __ovld frexp(double x, __local int *exp);
7746 double2 __ovld frexp(double2 x, __local int2 *exp);
7747 double3 __ovld frexp(double3 x, __local int3 *exp);
7748 double4 __ovld frexp(double4 x, __local int4 *exp);
7749 double8 __ovld frexp(double8 x, __local int8 *exp);
7750 double16 __ovld frexp(double16 x, __local int16 *exp);
7751 double __ovld frexp(double x, __private int *exp);
7752 double2 __ovld frexp(double2 x, __private int2 *exp);
7753 double3 __ovld frexp(double3 x, __private int3 *exp);
7754 double4 __ovld frexp(double4 x, __private int4 *exp);
7755 double8 __ovld frexp(double8 x, __private int8 *exp);
7756 double16 __ovld frexp(double16 x, __private int16 *exp);
7757 #endif //cl_khr_fp64
7758 #ifdef cl_khr_fp16
7759 half __ovld frexp(half x, __global int *exp);
7760 half2 __ovld frexp(half2 x, __global int2 *exp);
7761 half3 __ovld frexp(half3 x, __global int3 *exp);
7762 half4 __ovld frexp(half4 x, __global int4 *exp);
7763 half8 __ovld frexp(half8 x, __global int8 *exp);
7764 half16 __ovld frexp(half16 x, __global int16 *exp);
7765 half __ovld frexp(half x, __local int *exp);
7766 half2 __ovld frexp(half2 x, __local int2 *exp);
7767 half3 __ovld frexp(half3 x, __local int3 *exp);
7768 half4 __ovld frexp(half4 x, __local int4 *exp);
7769 half8 __ovld frexp(half8 x, __local int8 *exp);
7770 half16 __ovld frexp(half16 x, __local int16 *exp);
7771 half __ovld frexp(half x, __private int *exp);
7772 half2 __ovld frexp(half2 x, __private int2 *exp);
7773 half3 __ovld frexp(half3 x, __private int3 *exp);
7774 half4 __ovld frexp(half4 x, __private int4 *exp);
7775 half8 __ovld frexp(half8 x, __private int8 *exp);
7776 half16 __ovld frexp(half16 x, __private int16 *exp);
7777 #endif //cl_khr_fp16
7778 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
7779
7780 /**
7781  * Compute the value of the square root of x^2 + y^2
7782  * without undue overflow or underflow.
7783  */
7784 float __ovld __cnfn hypot(float x, float y);
7785 float2 __ovld __cnfn hypot(float2 x, float2 y);
7786 float3 __ovld __cnfn hypot(float3 x, float3 y);
7787 float4 __ovld __cnfn hypot(float4 x, float4 y);
7788 float8 __ovld __cnfn hypot(float8 x, float8 y);
7789 float16 __ovld __cnfn hypot(float16 x, float16 y);
7790 #ifdef cl_khr_fp64
7791 double __ovld __cnfn hypot(double x, double y);
7792 double2 __ovld __cnfn hypot(double2 x, double2 y);
7793 double3 __ovld __cnfn hypot(double3 x, double3 y);
7794 double4 __ovld __cnfn hypot(double4 x, double4 y);
7795 double8 __ovld __cnfn hypot(double8 x, double8 y);
7796 double16 __ovld __cnfn hypot(double16 x, double16 y);
7797 #endif //cl_khr_fp64
7798 #ifdef cl_khr_fp16
7799 half __ovld __cnfn hypot(half x, half y);
7800 half2 __ovld __cnfn hypot(half2 x, half2 y);
7801 half3 __ovld __cnfn hypot(half3 x, half3 y);
7802 half4 __ovld __cnfn hypot(half4 x, half4 y);
7803 half8 __ovld __cnfn hypot(half8 x, half8 y);
7804 half16 __ovld __cnfn hypot(half16 x, half16 y);
7805 #endif //cl_khr_fp16
7806
7807 /**
7808  * Return the exponent as an integer value.
7809  */
7810 int __ovld __cnfn ilogb(float x);
7811 int2 __ovld __cnfn ilogb(float2 x);
7812 int3 __ovld __cnfn ilogb(float3 x);
7813 int4 __ovld __cnfn ilogb(float4 x);
7814 int8 __ovld __cnfn ilogb(float8 x);
7815 int16 __ovld __cnfn ilogb(float16 x);
7816 #ifdef cl_khr_fp64
7817 int __ovld __cnfn ilogb(double x);
7818 int2 __ovld __cnfn ilogb(double2 x);
7819 int3 __ovld __cnfn ilogb(double3 x);
7820 int4 __ovld __cnfn ilogb(double4 x);
7821 int8 __ovld __cnfn ilogb(double8 x);
7822 int16 __ovld __cnfn ilogb(double16 x);
7823 #endif //cl_khr_fp64
7824 #ifdef cl_khr_fp16
7825 int __ovld __cnfn ilogb(half x);
7826 int2 __ovld __cnfn ilogb(half2 x);
7827 int3 __ovld __cnfn ilogb(half3 x);
7828 int4 __ovld __cnfn ilogb(half4 x);
7829 int8 __ovld __cnfn ilogb(half8 x);
7830 int16 __ovld __cnfn ilogb(half16 x);
7831 #endif //cl_khr_fp16
7832
7833 /**
7834  * Multiply x by 2 to the power n.
7835  */
7836 float __ovld __cnfn ldexp(float x, int n);
7837 float2 __ovld __cnfn ldexp(float2 x, int2 n);
7838 float3 __ovld __cnfn ldexp(float3 x, int3 n);
7839 float4 __ovld __cnfn ldexp(float4 x, int4 n);
7840 float8 __ovld __cnfn ldexp(float8 x, int8 n);
7841 float16 __ovld __cnfn ldexp(float16 x, int16 n);
7842 float2 __ovld __cnfn ldexp(float2 x, int n);
7843 float3 __ovld __cnfn ldexp(float3 x, int n);
7844 float4 __ovld __cnfn ldexp(float4 x, int n);
7845 float8 __ovld __cnfn ldexp(float8 x, int n);
7846 float16 __ovld __cnfn ldexp(float16 x, int n);
7847 #ifdef cl_khr_fp64
7848 double __ovld __cnfn ldexp(double x, int n);
7849 double2 __ovld __cnfn ldexp(double2 x, int2 n);
7850 double3 __ovld __cnfn ldexp(double3 x, int3 n);
7851 double4 __ovld __cnfn ldexp(double4 x, int4 n);
7852 double8 __ovld __cnfn ldexp(double8 x, int8 n);
7853 double16 __ovld __cnfn ldexp(double16 x, int16 n);
7854 double2 __ovld __cnfn ldexp(double2 x, int n);
7855 double3 __ovld __cnfn ldexp(double3 x, int n);
7856 double4 __ovld __cnfn ldexp(double4 x, int n);
7857 double8 __ovld __cnfn ldexp(double8 x, int n);
7858 double16 __ovld __cnfn ldexp(double16 x, int n);
7859 #endif //cl_khr_fp64
7860 #ifdef cl_khr_fp16
7861 half __ovld __cnfn ldexp(half x, int n);
7862 half2 __ovld __cnfn ldexp(half2 x, int2 n);
7863 half3 __ovld __cnfn ldexp(half3 x, int3 n);
7864 half4 __ovld __cnfn ldexp(half4 x, int4 n);
7865 half8 __ovld __cnfn ldexp(half8 x, int8 n);
7866 half16 __ovld __cnfn ldexp(half16 x, int16 n);
7867 half2 __ovld __cnfn ldexp(half2 x, int n);
7868 half3 __ovld __cnfn ldexp(half3 x, int n);
7869 half4 __ovld __cnfn ldexp(half4 x, int n);
7870 half8 __ovld __cnfn ldexp(half8 x, int n);
7871 half16 __ovld __cnfn ldexp(half16 x, int n);
7872 #endif //cl_khr_fp16
7873
7874 /**
7875  * Log gamma function. Returns the natural
7876  * logarithm of the absolute value of the gamma
7877  * function. The sign of the gamma function is
7878  * returned in the signp argument of lgamma_r.
7879  */
7880 float __ovld __cnfn lgamma(float x);
7881 float2 __ovld __cnfn lgamma(float2 x);
7882 float3 __ovld __cnfn lgamma(float3 x);
7883 float4 __ovld __cnfn lgamma(float4 x);
7884 float8 __ovld __cnfn lgamma(float8 x);
7885 float16 __ovld __cnfn lgamma(float16 x);
7886 #ifdef cl_khr_fp64
7887 double __ovld __cnfn lgamma(double x);
7888 double2 __ovld __cnfn lgamma(double2 x);
7889 double3 __ovld __cnfn lgamma(double3 x);
7890 double4 __ovld __cnfn lgamma(double4 x);
7891 double8 __ovld __cnfn lgamma(double8 x);
7892 double16 __ovld __cnfn lgamma(double16 x);
7893 #endif //cl_khr_fp64
7894 #ifdef cl_khr_fp16
7895 half __ovld __cnfn lgamma(half x);
7896 half2 __ovld __cnfn lgamma(half2 x);
7897 half3 __ovld __cnfn lgamma(half3 x);
7898 half4 __ovld __cnfn lgamma(half4 x);
7899 half8 __ovld __cnfn lgamma(half8 x);
7900 half16 __ovld __cnfn lgamma(half16 x);
7901 #endif //cl_khr_fp16
7902
7903 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
7904 float __ovld lgamma_r(float x, int *signp);
7905 float2 __ovld lgamma_r(float2 x, int2 *signp);
7906 float3 __ovld lgamma_r(float3 x, int3 *signp);
7907 float4 __ovld lgamma_r(float4 x, int4 *signp);
7908 float8 __ovld lgamma_r(float8 x, int8 *signp);
7909 float16 __ovld lgamma_r(float16 x, int16 *signp);
7910 #ifdef cl_khr_fp64
7911 double __ovld lgamma_r(double x, int *signp);
7912 double2 __ovld lgamma_r(double2 x, int2 *signp);
7913 double3 __ovld lgamma_r(double3 x, int3 *signp);
7914 double4 __ovld lgamma_r(double4 x, int4 *signp);
7915 double8 __ovld lgamma_r(double8 x, int8 *signp);
7916 double16 __ovld lgamma_r(double16 x, int16 *signp);
7917 #endif //cl_khr_fp64
7918 #ifdef cl_khr_fp16
7919 half __ovld lgamma_r(half x, int *signp);
7920 half2 __ovld lgamma_r(half2 x, int2 *signp);
7921 half3 __ovld lgamma_r(half3 x, int3 *signp);
7922 half4 __ovld lgamma_r(half4 x, int4 *signp);
7923 half8 __ovld lgamma_r(half8 x, int8 *signp);
7924 half16 __ovld lgamma_r(half16 x, int16 *signp);
7925 #endif //cl_khr_fp16
7926 #else
7927 float __ovld lgamma_r(float x, __global int *signp);
7928 float2 __ovld lgamma_r(float2 x, __global int2 *signp);
7929 float3 __ovld lgamma_r(float3 x, __global int3 *signp);
7930 float4 __ovld lgamma_r(float4 x, __global int4 *signp);
7931 float8 __ovld lgamma_r(float8 x, __global int8 *signp);
7932 float16 __ovld lgamma_r(float16 x, __global int16 *signp);
7933 float __ovld lgamma_r(float x, __local int *signp);
7934 float2 __ovld lgamma_r(float2 x, __local int2 *signp);
7935 float3 __ovld lgamma_r(float3 x, __local int3 *signp);
7936 float4 __ovld lgamma_r(float4 x, __local int4 *signp);
7937 float8 __ovld lgamma_r(float8 x, __local int8 *signp);
7938 float16 __ovld lgamma_r(float16 x, __local int16 *signp);
7939 float __ovld lgamma_r(float x, __private int *signp);
7940 float2 __ovld lgamma_r(float2 x, __private int2 *signp);
7941 float3 __ovld lgamma_r(float3 x, __private int3 *signp);
7942 float4 __ovld lgamma_r(float4 x, __private int4 *signp);
7943 float8 __ovld lgamma_r(float8 x, __private int8 *signp);
7944 float16 __ovld lgamma_r(float16 x, __private int16 *signp);
7945 #ifdef cl_khr_fp64
7946 double __ovld lgamma_r(double x, __global int *signp);
7947 double2 __ovld lgamma_r(double2 x, __global int2 *signp);
7948 double3 __ovld lgamma_r(double3 x, __global int3 *signp);
7949 double4 __ovld lgamma_r(double4 x, __global int4 *signp);
7950 double8 __ovld lgamma_r(double8 x, __global int8 *signp);
7951 double16 __ovld lgamma_r(double16 x, __global int16 *signp);
7952 double __ovld lgamma_r(double x, __local int *signp);
7953 double2 __ovld lgamma_r(double2 x, __local int2 *signp);
7954 double3 __ovld lgamma_r(double3 x, __local int3 *signp);
7955 double4 __ovld lgamma_r(double4 x, __local int4 *signp);
7956 double8 __ovld lgamma_r(double8 x, __local int8 *signp);
7957 double16 __ovld lgamma_r(double16 x, __local int16 *signp);
7958 double __ovld lgamma_r(double x, __private int *signp);
7959 double2 __ovld lgamma_r(double2 x, __private int2 *signp);
7960 double3 __ovld lgamma_r(double3 x, __private int3 *signp);
7961 double4 __ovld lgamma_r(double4 x, __private int4 *signp);
7962 double8 __ovld lgamma_r(double8 x, __private int8 *signp);
7963 double16 __ovld lgamma_r(double16 x, __private int16 *signp);
7964 #endif //cl_khr_fp64
7965 #ifdef cl_khr_fp16
7966 half __ovld lgamma_r(half x, __global int *signp);
7967 half2 __ovld lgamma_r(half2 x, __global int2 *signp);
7968 half3 __ovld lgamma_r(half3 x, __global int3 *signp);
7969 half4 __ovld lgamma_r(half4 x, __global int4 *signp);
7970 half8 __ovld lgamma_r(half8 x, __global int8 *signp);
7971 half16 __ovld lgamma_r(half16 x, __global int16 *signp);
7972 half __ovld lgamma_r(half x, __local int *signp);
7973 half2 __ovld lgamma_r(half2 x, __local int2 *signp);
7974 half3 __ovld lgamma_r(half3 x, __local int3 *signp);
7975 half4 __ovld lgamma_r(half4 x, __local int4 *signp);
7976 half8 __ovld lgamma_r(half8 x, __local int8 *signp);
7977 half16 __ovld lgamma_r(half16 x, __local int16 *signp);
7978 half __ovld lgamma_r(half x, __private int *signp);
7979 half2 __ovld lgamma_r(half2 x, __private int2 *signp);
7980 half3 __ovld lgamma_r(half3 x, __private int3 *signp);
7981 half4 __ovld lgamma_r(half4 x, __private int4 *signp);
7982 half8 __ovld lgamma_r(half8 x, __private int8 *signp);
7983 half16 __ovld lgamma_r(half16 x, __private int16 *signp);
7984 #endif //cl_khr_fp16
7985 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
7986
7987 /**
7988  * Compute natural logarithm.
7989  */
7990 float __ovld __cnfn log(float);
7991 float2 __ovld __cnfn log(float2);
7992 float3 __ovld __cnfn log(float3);
7993 float4 __ovld __cnfn log(float4);
7994 float8 __ovld __cnfn log(float8);
7995 float16 __ovld __cnfn log(float16);
7996 #ifdef cl_khr_fp64
7997 double __ovld __cnfn log(double);
7998 double2 __ovld __cnfn log(double2);
7999 double3 __ovld __cnfn log(double3);
8000 double4 __ovld __cnfn log(double4);
8001 double8 __ovld __cnfn log(double8);
8002 double16 __ovld __cnfn log(double16);
8003 #endif //cl_khr_fp64
8004 #ifdef cl_khr_fp16
8005 half __ovld __cnfn log(half);
8006 half2 __ovld __cnfn log(half2);
8007 half3 __ovld __cnfn log(half3);
8008 half4 __ovld __cnfn log(half4);
8009 half8 __ovld __cnfn log(half8);
8010 half16 __ovld __cnfn log(half16);
8011 #endif //cl_khr_fp16
8012
8013 /**
8014  * Compute a base 2 logarithm.
8015  */
8016 float __ovld __cnfn log2(float);
8017 float2 __ovld __cnfn log2(float2);
8018 float3 __ovld __cnfn log2(float3);
8019 float4 __ovld __cnfn log2(float4);
8020 float8 __ovld __cnfn log2(float8);
8021 float16 __ovld __cnfn log2(float16);
8022 #ifdef cl_khr_fp64
8023 double __ovld __cnfn log2(double);
8024 double2 __ovld __cnfn log2(double2);
8025 double3 __ovld __cnfn log2(double3);
8026 double4 __ovld __cnfn log2(double4);
8027 double8 __ovld __cnfn log2(double8);
8028 double16 __ovld __cnfn log2(double16);
8029 #endif //cl_khr_fp64
8030 #ifdef cl_khr_fp16
8031 half __ovld __cnfn log2(half);
8032 half2 __ovld __cnfn log2(half2);
8033 half3 __ovld __cnfn log2(half3);
8034 half4 __ovld __cnfn log2(half4);
8035 half8 __ovld __cnfn log2(half8);
8036 half16 __ovld __cnfn log2(half16);
8037 #endif //cl_khr_fp16
8038
8039 /**
8040  * Compute a base 10 logarithm.
8041  */
8042 float __ovld __cnfn log10(float);
8043 float2 __ovld __cnfn log10(float2);
8044 float3 __ovld __cnfn log10(float3);
8045 float4 __ovld __cnfn log10(float4);
8046 float8 __ovld __cnfn log10(float8);
8047 float16 __ovld __cnfn log10(float16);
8048 #ifdef cl_khr_fp64
8049 double __ovld __cnfn log10(double);
8050 double2 __ovld __cnfn log10(double2);
8051 double3 __ovld __cnfn log10(double3);
8052 double4 __ovld __cnfn log10(double4);
8053 double8 __ovld __cnfn log10(double8);
8054 double16 __ovld __cnfn log10(double16);
8055 #endif //cl_khr_fp64
8056 #ifdef cl_khr_fp16
8057 half __ovld __cnfn log10(half);
8058 half2 __ovld __cnfn log10(half2);
8059 half3 __ovld __cnfn log10(half3);
8060 half4 __ovld __cnfn log10(half4);
8061 half8 __ovld __cnfn log10(half8);
8062 half16 __ovld __cnfn log10(half16);
8063 #endif //cl_khr_fp16
8064
8065 /**
8066  * Compute a base e logarithm of (1.0 + x).
8067  */
8068 float __ovld __cnfn log1p(float x);
8069 float2 __ovld __cnfn log1p(float2 x);
8070 float3 __ovld __cnfn log1p(float3 x);
8071 float4 __ovld __cnfn log1p(float4 x);
8072 float8 __ovld __cnfn log1p(float8 x);
8073 float16 __ovld __cnfn log1p(float16 x);
8074 #ifdef cl_khr_fp64
8075 double __ovld __cnfn log1p(double x);
8076 double2 __ovld __cnfn log1p(double2 x);
8077 double3 __ovld __cnfn log1p(double3 x);
8078 double4 __ovld __cnfn log1p(double4 x);
8079 double8 __ovld __cnfn log1p(double8 x);
8080 double16 __ovld __cnfn log1p(double16 x);
8081 #endif //cl_khr_fp64
8082 #ifdef cl_khr_fp16
8083 half __ovld __cnfn log1p(half x);
8084 half2 __ovld __cnfn log1p(half2 x);
8085 half3 __ovld __cnfn log1p(half3 x);
8086 half4 __ovld __cnfn log1p(half4 x);
8087 half8 __ovld __cnfn log1p(half8 x);
8088 half16 __ovld __cnfn log1p(half16 x);
8089 #endif //cl_khr_fp16
8090
8091 /**
8092  * Compute the exponent of x, which is the integral
8093  * part of logr | x |.
8094  */
8095 float __ovld __cnfn logb(float x);
8096 float2 __ovld __cnfn logb(float2 x);
8097 float3 __ovld __cnfn logb(float3 x);
8098 float4 __ovld __cnfn logb(float4 x);
8099 float8 __ovld __cnfn logb(float8 x);
8100 float16 __ovld __cnfn logb(float16 x);
8101 #ifdef cl_khr_fp64
8102 double __ovld __cnfn logb(double x);
8103 double2 __ovld __cnfn logb(double2 x);
8104 double3 __ovld __cnfn logb(double3 x);
8105 double4 __ovld __cnfn logb(double4 x);
8106 double8 __ovld __cnfn logb(double8 x);
8107 double16 __ovld __cnfn logb(double16 x);
8108 #endif //cl_khr_fp64
8109 #ifdef cl_khr_fp16
8110 half __ovld __cnfn logb(half x);
8111 half2 __ovld __cnfn logb(half2 x);
8112 half3 __ovld __cnfn logb(half3 x);
8113 half4 __ovld __cnfn logb(half4 x);
8114 half8 __ovld __cnfn logb(half8 x);
8115 half16 __ovld __cnfn logb(half16 x);
8116 #endif //cl_khr_fp16
8117
8118 /**
8119  * mad approximates a * b + c. Whether or how the
8120  * product of a * b is rounded and how supernormal or
8121  * subnormal intermediate products are handled is not
8122  * defined. mad is intended to be used where speed is
8123  * preferred over accuracy.
8124  */
8125 float __ovld __cnfn mad(float a, float b, float c);
8126 float2 __ovld __cnfn mad(float2 a, float2 b, float2 c);
8127 float3 __ovld __cnfn mad(float3 a, float3 b, float3 c);
8128 float4 __ovld __cnfn mad(float4 a, float4 b, float4 c);
8129 float8 __ovld __cnfn mad(float8 a, float8 b, float8 c);
8130 float16 __ovld __cnfn mad(float16 a, float16 b, float16 c);
8131 #ifdef cl_khr_fp64
8132 double __ovld __cnfn mad(double a, double b, double c);
8133 double2 __ovld __cnfn mad(double2 a, double2 b, double2 c);
8134 double3 __ovld __cnfn mad(double3 a, double3 b, double3 c);
8135 double4 __ovld __cnfn mad(double4 a, double4 b, double4 c);
8136 double8 __ovld __cnfn mad(double8 a, double8 b, double8 c);
8137 double16 __ovld __cnfn mad(double16 a, double16 b, double16 c);
8138 #endif //cl_khr_fp64
8139 #ifdef cl_khr_fp16
8140 half __ovld __cnfn mad(half a, half b, half c);
8141 half2 __ovld __cnfn mad(half2 a, half2 b, half2 c);
8142 half3 __ovld __cnfn mad(half3 a, half3 b, half3 c);
8143 half4 __ovld __cnfn mad(half4 a, half4 b, half4 c);
8144 half8 __ovld __cnfn mad(half8 a, half8 b, half8 c);
8145 half16 __ovld __cnfn mad(half16 a, half16 b, half16 c);
8146 #endif //cl_khr_fp16
8147
8148 /**
8149  * Returns x if | x | > | y |, y if | y | > | x |, otherwise
8150  * fmax(x, y).
8151  */
8152 float __ovld __cnfn maxmag(float x, float y);
8153 float2 __ovld __cnfn maxmag(float2 x, float2 y);
8154 float3 __ovld __cnfn maxmag(float3 x, float3 y);
8155 float4 __ovld __cnfn maxmag(float4 x, float4 y);
8156 float8 __ovld __cnfn maxmag(float8 x, float8 y);
8157 float16 __ovld __cnfn maxmag(float16 x, float16 y);
8158 #ifdef cl_khr_fp64
8159 double __ovld __cnfn maxmag(double x, double y);
8160 double2 __ovld __cnfn maxmag(double2 x, double2 y);
8161 double3 __ovld __cnfn maxmag(double3 x, double3 y);
8162 double4 __ovld __cnfn maxmag(double4 x, double4 y);
8163 double8 __ovld __cnfn maxmag(double8 x, double8 y);
8164 double16 __ovld __cnfn maxmag(double16 x, double16 y);
8165 #endif //cl_khr_fp64
8166 #ifdef cl_khr_fp16
8167 half __ovld __cnfn maxmag(half x, half y);
8168 half2 __ovld __cnfn maxmag(half2 x, half2 y);
8169 half3 __ovld __cnfn maxmag(half3 x, half3 y);
8170 half4 __ovld __cnfn maxmag(half4 x, half4 y);
8171 half8 __ovld __cnfn maxmag(half8 x, half8 y);
8172 half16 __ovld __cnfn maxmag(half16 x, half16 y);
8173 #endif //cl_khr_fp16
8174
8175 /**
8176  * Returns x if | x | < | y |, y if | y | < | x |, otherwise
8177  * fmin(x, y).
8178  */
8179 float __ovld __cnfn minmag(float x, float y);
8180 float2 __ovld __cnfn minmag(float2 x, float2 y);
8181 float3 __ovld __cnfn minmag(float3 x, float3 y);
8182 float4 __ovld __cnfn minmag(float4 x, float4 y);
8183 float8 __ovld __cnfn minmag(float8 x, float8 y);
8184 float16 __ovld __cnfn minmag(float16 x, float16 y);
8185 #ifdef cl_khr_fp64
8186 double __ovld __cnfn minmag(double x, double y);
8187 double2 __ovld __cnfn minmag(double2 x, double2 y);
8188 double3 __ovld __cnfn minmag(double3 x, double3 y);
8189 double4 __ovld __cnfn minmag(double4 x, double4 y);
8190 double8 __ovld __cnfn minmag(double8 x, double8 y);
8191 double16 __ovld __cnfn minmag(double16 x, double16 y);
8192 #endif //cl_khr_fp64
8193 #ifdef cl_khr_fp16
8194 half __ovld __cnfn minmag(half x, half y);
8195 half2 __ovld __cnfn minmag(half2 x, half2 y);
8196 half3 __ovld __cnfn minmag(half3 x, half3 y);
8197 half4 __ovld __cnfn minmag(half4 x, half4 y);
8198 half8 __ovld __cnfn minmag(half8 x, half8 y);
8199 half16 __ovld __cnfn minmag(half16 x, half16 y);
8200 #endif //cl_khr_fp16
8201
8202 /**
8203  * Decompose a floating-point number. The modf
8204  * function breaks the argument x into integral and
8205  * fractional parts, each of which has the same sign as
8206  * the argument. It stores the integral part in the object
8207  * pointed to by iptr.
8208  */
8209 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
8210 float __ovld modf(float x, float *iptr);
8211 float2 __ovld modf(float2 x, float2 *iptr);
8212 float3 __ovld modf(float3 x, float3 *iptr);
8213 float4 __ovld modf(float4 x, float4 *iptr);
8214 float8 __ovld modf(float8 x, float8 *iptr);
8215 float16 __ovld modf(float16 x, float16 *iptr);
8216 #ifdef cl_khr_fp64
8217 double __ovld modf(double x, double *iptr);
8218 double2 __ovld modf(double2 x, double2 *iptr);
8219 double3 __ovld modf(double3 x, double3 *iptr);
8220 double4 __ovld modf(double4 x, double4 *iptr);
8221 double8 __ovld modf(double8 x, double8 *iptr);
8222 double16 __ovld modf(double16 x, double16 *iptr);
8223 #endif //cl_khr_fp64
8224 #ifdef cl_khr_fp16
8225 half __ovld modf(half x, half *iptr);
8226 half2 __ovld modf(half2 x, half2 *iptr);
8227 half3 __ovld modf(half3 x, half3 *iptr);
8228 half4 __ovld modf(half4 x, half4 *iptr);
8229 half8 __ovld modf(half8 x, half8 *iptr);
8230 half16 __ovld modf(half16 x, half16 *iptr);
8231 #endif //cl_khr_fp16
8232 #else
8233 float __ovld modf(float x, __global float *iptr);
8234 float2 __ovld modf(float2 x, __global float2 *iptr);
8235 float3 __ovld modf(float3 x, __global float3 *iptr);
8236 float4 __ovld modf(float4 x, __global float4 *iptr);
8237 float8 __ovld modf(float8 x, __global float8 *iptr);
8238 float16 __ovld modf(float16 x, __global float16 *iptr);
8239 float __ovld modf(float x, __local float *iptr);
8240 float2 __ovld modf(float2 x, __local float2 *iptr);
8241 float3 __ovld modf(float3 x, __local float3 *iptr);
8242 float4 __ovld modf(float4 x, __local float4 *iptr);
8243 float8 __ovld modf(float8 x, __local float8 *iptr);
8244 float16 __ovld modf(float16 x, __local float16 *iptr);
8245 float __ovld modf(float x, __private float *iptr);
8246 float2 __ovld modf(float2 x, __private float2 *iptr);
8247 float3 __ovld modf(float3 x, __private float3 *iptr);
8248 float4 __ovld modf(float4 x, __private float4 *iptr);
8249 float8 __ovld modf(float8 x, __private float8 *iptr);
8250 float16 __ovld modf(float16 x, __private float16 *iptr);
8251 #ifdef cl_khr_fp64
8252 double __ovld modf(double x, __global double *iptr);
8253 double2 __ovld modf(double2 x, __global double2 *iptr);
8254 double3 __ovld modf(double3 x, __global double3 *iptr);
8255 double4 __ovld modf(double4 x, __global double4 *iptr);
8256 double8 __ovld modf(double8 x, __global double8 *iptr);
8257 double16 __ovld modf(double16 x, __global double16 *iptr);
8258 double __ovld modf(double x, __local double *iptr);
8259 double2 __ovld modf(double2 x, __local double2 *iptr);
8260 double3 __ovld modf(double3 x, __local double3 *iptr);
8261 double4 __ovld modf(double4 x, __local double4 *iptr);
8262 double8 __ovld modf(double8 x, __local double8 *iptr);
8263 double16 __ovld modf(double16 x, __local double16 *iptr);
8264 double __ovld modf(double x, __private double *iptr);
8265 double2 __ovld modf(double2 x, __private double2 *iptr);
8266 double3 __ovld modf(double3 x, __private double3 *iptr);
8267 double4 __ovld modf(double4 x, __private double4 *iptr);
8268 double8 __ovld modf(double8 x, __private double8 *iptr);
8269 double16 __ovld modf(double16 x, __private double16 *iptr);
8270 #endif //cl_khr_fp64
8271 #ifdef cl_khr_fp16
8272 half __ovld modf(half x, __global half *iptr);
8273 half2 __ovld modf(half2 x, __global half2 *iptr);
8274 half3 __ovld modf(half3 x, __global half3 *iptr);
8275 half4 __ovld modf(half4 x, __global half4 *iptr);
8276 half8 __ovld modf(half8 x, __global half8 *iptr);
8277 half16 __ovld modf(half16 x, __global half16 *iptr);
8278 half __ovld modf(half x, __local half *iptr);
8279 half2 __ovld modf(half2 x, __local half2 *iptr);
8280 half3 __ovld modf(half3 x, __local half3 *iptr);
8281 half4 __ovld modf(half4 x, __local half4 *iptr);
8282 half8 __ovld modf(half8 x, __local half8 *iptr);
8283 half16 __ovld modf(half16 x, __local half16 *iptr);
8284 half __ovld modf(half x, __private half *iptr);
8285 half2 __ovld modf(half2 x, __private half2 *iptr);
8286 half3 __ovld modf(half3 x, __private half3 *iptr);
8287 half4 __ovld modf(half4 x, __private half4 *iptr);
8288 half8 __ovld modf(half8 x, __private half8 *iptr);
8289 half16 __ovld modf(half16 x, __private half16 *iptr);
8290 #endif //cl_khr_fp16
8291 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
8292
8293 /**
8294  * Returns a quiet NaN. The nancode may be placed
8295  * in the significand of the resulting NaN.
8296  */
8297 float __ovld __cnfn nan(uint nancode);
8298 float2 __ovld __cnfn nan(uint2 nancode);
8299 float3 __ovld __cnfn nan(uint3 nancode);
8300 float4 __ovld __cnfn nan(uint4 nancode);
8301 float8 __ovld __cnfn nan(uint8 nancode);
8302 float16 __ovld __cnfn nan(uint16 nancode);
8303 #ifdef cl_khr_fp64
8304 double __ovld __cnfn nan(ulong nancode);
8305 double2 __ovld __cnfn nan(ulong2 nancode);
8306 double3 __ovld __cnfn nan(ulong3 nancode);
8307 double4 __ovld __cnfn nan(ulong4 nancode);
8308 double8 __ovld __cnfn nan(ulong8 nancode);
8309 double16 __ovld __cnfn nan(ulong16 nancode);
8310 #endif //cl_khr_fp64
8311 #ifdef cl_khr_fp16
8312 half __ovld __cnfn nan(ushort nancode);
8313 half2 __ovld __cnfn nan(ushort2 nancode);
8314 half3 __ovld __cnfn nan(ushort3 nancode);
8315 half4 __ovld __cnfn nan(ushort4 nancode);
8316 half8 __ovld __cnfn nan(ushort8 nancode);
8317 half16 __ovld __cnfn nan(ushort16 nancode);
8318 #endif //cl_khr_fp16
8319
8320 /**
8321  * Computes the next representable single-precision
8322  * floating-point value following x in the direction of
8323  * y. Thus, if y is less than x, nextafter() returns the
8324  * largest representable floating-point number less
8325  * than x.
8326  */
8327 float __ovld __cnfn nextafter(float x, float y);
8328 float2 __ovld __cnfn nextafter(float2 x, float2 y);
8329 float3 __ovld __cnfn nextafter(float3 x, float3 y);
8330 float4 __ovld __cnfn nextafter(float4 x, float4 y);
8331 float8 __ovld __cnfn nextafter(float8 x, float8 y);
8332 float16 __ovld __cnfn nextafter(float16 x, float16 y);
8333 #ifdef cl_khr_fp64
8334 double __ovld __cnfn nextafter(double x, double y);
8335 double2 __ovld __cnfn nextafter(double2 x, double2 y);
8336 double3 __ovld __cnfn nextafter(double3 x, double3 y);
8337 double4 __ovld __cnfn nextafter(double4 x, double4 y);
8338 double8 __ovld __cnfn nextafter(double8 x, double8 y);
8339 double16 __ovld __cnfn nextafter(double16 x, double16 y);
8340 #endif //cl_khr_fp64
8341 #ifdef cl_khr_fp16
8342 half __ovld __cnfn nextafter(half x, half y);
8343 half2 __ovld __cnfn nextafter(half2 x, half2 y);
8344 half3 __ovld __cnfn nextafter(half3 x, half3 y);
8345 half4 __ovld __cnfn nextafter(half4 x, half4 y);
8346 half8 __ovld __cnfn nextafter(half8 x, half8 y);
8347 half16 __ovld __cnfn nextafter(half16 x, half16 y);
8348 #endif //cl_khr_fp16
8349
8350 /**
8351  * Compute x to the power y.
8352  */
8353 float __ovld __cnfn pow(float x, float y);
8354 float2 __ovld __cnfn pow(float2 x, float2 y);
8355 float3 __ovld __cnfn pow(float3 x, float3 y);
8356 float4 __ovld __cnfn pow(float4 x, float4 y);
8357 float8 __ovld __cnfn pow(float8 x, float8 y);
8358 float16 __ovld __cnfn pow(float16 x, float16 y);
8359 #ifdef cl_khr_fp64
8360 double __ovld __cnfn pow(double x, double y);
8361 double2 __ovld __cnfn pow(double2 x, double2 y);
8362 double3 __ovld __cnfn pow(double3 x, double3 y);
8363 double4 __ovld __cnfn pow(double4 x, double4 y);
8364 double8 __ovld __cnfn pow(double8 x, double8 y);
8365 double16 __ovld __cnfn pow(double16 x, double16 y);
8366 #endif //cl_khr_fp64
8367 #ifdef cl_khr_fp16
8368 half __ovld __cnfn pow(half x, half y);
8369 half2 __ovld __cnfn pow(half2 x, half2 y);
8370 half3 __ovld __cnfn pow(half3 x, half3 y);
8371 half4 __ovld __cnfn pow(half4 x, half4 y);
8372 half8 __ovld __cnfn pow(half8 x, half8 y);
8373 half16 __ovld __cnfn pow(half16 x, half16 y);
8374 #endif //cl_khr_fp16
8375
8376 /**
8377  * Compute x to the power y, where y is an integer.
8378  */
8379 float __ovld __cnfn pown(float x, int y);
8380 float2 __ovld __cnfn pown(float2 x, int2 y);
8381 float3 __ovld __cnfn pown(float3 x, int3 y);
8382 float4 __ovld __cnfn pown(float4 x, int4 y);
8383 float8 __ovld __cnfn pown(float8 x, int8 y);
8384 float16 __ovld __cnfn pown(float16 x, int16 y);
8385 #ifdef cl_khr_fp64
8386 double __ovld __cnfn pown(double x, int y);
8387 double2 __ovld __cnfn pown(double2 x, int2 y);
8388 double3 __ovld __cnfn pown(double3 x, int3 y);
8389 double4 __ovld __cnfn pown(double4 x, int4 y);
8390 double8 __ovld __cnfn pown(double8 x, int8 y);
8391 double16 __ovld __cnfn pown(double16 x, int16 y);
8392 #endif //cl_khr_fp64
8393 #ifdef cl_khr_fp16
8394 half __ovld __cnfn pown(half x, int y);
8395 half2 __ovld __cnfn pown(half2 x, int2 y);
8396 half3 __ovld __cnfn pown(half3 x, int3 y);
8397 half4 __ovld __cnfn pown(half4 x, int4 y);
8398 half8 __ovld __cnfn pown(half8 x, int8 y);
8399 half16 __ovld __cnfn pown(half16 x, int16 y);
8400 #endif //cl_khr_fp16
8401
8402 /**
8403  * Compute x to the power y, where x is >= 0.
8404  */
8405 float __ovld __cnfn powr(float x, float y);
8406 float2 __ovld __cnfn powr(float2 x, float2 y);
8407 float3 __ovld __cnfn powr(float3 x, float3 y);
8408 float4 __ovld __cnfn powr(float4 x, float4 y);
8409 float8 __ovld __cnfn powr(float8 x, float8 y);
8410 float16 __ovld __cnfn powr(float16 x, float16 y);
8411 #ifdef cl_khr_fp64
8412 double __ovld __cnfn powr(double x, double y);
8413 double2 __ovld __cnfn powr(double2 x, double2 y);
8414 double3 __ovld __cnfn powr(double3 x, double3 y);
8415 double4 __ovld __cnfn powr(double4 x, double4 y);
8416 double8 __ovld __cnfn powr(double8 x, double8 y);
8417 double16 __ovld __cnfn powr(double16 x, double16 y);
8418 #endif //cl_khr_fp64
8419 #ifdef cl_khr_fp16
8420 half __ovld __cnfn powr(half x, half y);
8421 half2 __ovld __cnfn powr(half2 x, half2 y);
8422 half3 __ovld __cnfn powr(half3 x, half3 y);
8423 half4 __ovld __cnfn powr(half4 x, half4 y);
8424 half8 __ovld __cnfn powr(half8 x, half8 y);
8425 half16 __ovld __cnfn powr(half16 x, half16 y);
8426 #endif //cl_khr_fp16
8427
8428 /**
8429  * Compute the value r such that r = x - n*y, where n
8430  * is the integer nearest the exact value of x/y. If there
8431  * are two integers closest to x/y, n shall be the even
8432  * one. If r is zero, it is given the same sign as x.
8433  */
8434 float __ovld __cnfn remainder(float x, float y);
8435 float2 __ovld __cnfn remainder(float2 x, float2 y);
8436 float3 __ovld __cnfn remainder(float3 x, float3 y);
8437 float4 __ovld __cnfn remainder(float4 x, float4 y);
8438 float8 __ovld __cnfn remainder(float8 x, float8 y);
8439 float16 __ovld __cnfn remainder(float16 x, float16 y);
8440 #ifdef cl_khr_fp64
8441 double __ovld __cnfn remainder(double x, double y);
8442 double2 __ovld __cnfn remainder(double2 x, double2 y);
8443 double3 __ovld __cnfn remainder(double3 x, double3 y);
8444 double4 __ovld __cnfn remainder(double4 x, double4 y);
8445 double8 __ovld __cnfn remainder(double8 x, double8 y);
8446 double16 __ovld __cnfn remainder(double16 x, double16 y);
8447 #endif //cl_khr_fp64
8448 #ifdef cl_khr_fp16
8449 half __ovld __cnfn remainder(half x, half y);
8450 half2 __ovld __cnfn remainder(half2 x, half2 y);
8451 half3 __ovld __cnfn remainder(half3 x, half3 y);
8452 half4 __ovld __cnfn remainder(half4 x, half4 y);
8453 half8 __ovld __cnfn remainder(half8 x, half8 y);
8454 half16 __ovld __cnfn remainder(half16 x, half16 y);
8455 #endif //cl_khr_fp16
8456
8457 /**
8458  * The remquo function computes the value r such
8459  * that r = x - n*y, where n is the integer nearest the
8460  * exact value of x/y. If there are two integers closest
8461  * to x/y, n shall be the even one. If r is zero, it is
8462  * given the same sign as x. This is the same value
8463  * that is returned by the remainder function.
8464  * remquo also calculates the lower seven bits of the
8465  * integral quotient x/y, and gives that value the same
8466  * sign as x/y. It stores this signed value in the object
8467  * pointed to by quo.
8468  */
8469 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
8470 float __ovld remquo(float x, float y, int *quo);
8471 float2 __ovld remquo(float2 x, float2 y, int2 *quo);
8472 float3 __ovld remquo(float3 x, float3 y, int3 *quo);
8473 float4 __ovld remquo(float4 x, float4 y, int4 *quo);
8474 float8 __ovld remquo(float8 x, float8 y, int8 *quo);
8475 float16 __ovld remquo(float16 x, float16 y, int16 *quo);
8476 #ifdef cl_khr_fp64
8477 double __ovld remquo(double x, double y, int *quo);
8478 double2 __ovld remquo(double2 x, double2 y, int2 *quo);
8479 double3 __ovld remquo(double3 x, double3 y, int3 *quo);
8480 double4 __ovld remquo(double4 x, double4 y, int4 *quo);
8481 double8 __ovld remquo(double8 x, double8 y, int8 *quo);
8482 double16 __ovld remquo(double16 x, double16 y, int16 *quo);
8483 #endif //cl_khr_fp64
8484 #ifdef cl_khr_fp16
8485 half __ovld remquo(half x, half y, int *quo);
8486 half2 __ovld remquo(half2 x, half2 y, int2 *quo);
8487 half3 __ovld remquo(half3 x, half3 y, int3 *quo);
8488 half4 __ovld remquo(half4 x, half4 y, int4 *quo);
8489 half8 __ovld remquo(half8 x, half8 y, int8 *quo);
8490 half16 __ovld remquo(half16 x, half16 y, int16 *quo);
8491
8492 #endif //cl_khr_fp16
8493 #else
8494 float __ovld remquo(float x, float y, __global int *quo);
8495 float2 __ovld remquo(float2 x, float2 y, __global int2 *quo);
8496 float3 __ovld remquo(float3 x, float3 y, __global int3 *quo);
8497 float4 __ovld remquo(float4 x, float4 y, __global int4 *quo);
8498 float8 __ovld remquo(float8 x, float8 y, __global int8 *quo);
8499 float16 __ovld remquo(float16 x, float16 y, __global int16 *quo);
8500 float __ovld remquo(float x, float y, __local int *quo);
8501 float2 __ovld remquo(float2 x, float2 y, __local int2 *quo);
8502 float3 __ovld remquo(float3 x, float3 y, __local int3 *quo);
8503 float4 __ovld remquo(float4 x, float4 y, __local int4 *quo);
8504 float8 __ovld remquo(float8 x, float8 y, __local int8 *quo);
8505 float16 __ovld remquo(float16 x, float16 y, __local int16 *quo);
8506 float __ovld remquo(float x, float y, __private int *quo);
8507 float2 __ovld remquo(float2 x, float2 y, __private int2 *quo);
8508 float3 __ovld remquo(float3 x, float3 y, __private int3 *quo);
8509 float4 __ovld remquo(float4 x, float4 y, __private int4 *quo);
8510 float8 __ovld remquo(float8 x, float8 y, __private int8 *quo);
8511 float16 __ovld remquo(float16 x, float16 y, __private int16 *quo);
8512 #ifdef cl_khr_fp64
8513 double __ovld remquo(double x, double y, __global int *quo);
8514 double2 __ovld remquo(double2 x, double2 y, __global int2 *quo);
8515 double3 __ovld remquo(double3 x, double3 y, __global int3 *quo);
8516 double4 __ovld remquo(double4 x, double4 y, __global int4 *quo);
8517 double8 __ovld remquo(double8 x, double8 y, __global int8 *quo);
8518 double16 __ovld remquo(double16 x, double16 y, __global int16 *quo);
8519 double __ovld remquo(double x, double y, __local int *quo);
8520 double2 __ovld remquo(double2 x, double2 y, __local int2 *quo);
8521 double3 __ovld remquo(double3 x, double3 y, __local int3 *quo);
8522 double4 __ovld remquo(double4 x, double4 y, __local int4 *quo);
8523 double8 __ovld remquo(double8 x, double8 y, __local int8 *quo);
8524 double16 __ovld remquo(double16 x, double16 y, __local int16 *quo);
8525 double __ovld remquo(double x, double y, __private int *quo);
8526 double2 __ovld remquo(double2 x, double2 y, __private int2 *quo);
8527 double3 __ovld remquo(double3 x, double3 y, __private int3 *quo);
8528 double4 __ovld remquo(double4 x, double4 y, __private int4 *quo);
8529 double8 __ovld remquo(double8 x, double8 y, __private int8 *quo);
8530 double16 __ovld remquo(double16 x, double16 y, __private int16 *quo);
8531 #endif //cl_khr_fp64
8532 #ifdef cl_khr_fp16
8533 half __ovld remquo(half x, half y, __global int *quo);
8534 half2 __ovld remquo(half2 x, half2 y, __global int2 *quo);
8535 half3 __ovld remquo(half3 x, half3 y, __global int3 *quo);
8536 half4 __ovld remquo(half4 x, half4 y, __global int4 *quo);
8537 half8 __ovld remquo(half8 x, half8 y, __global int8 *quo);
8538 half16 __ovld remquo(half16 x, half16 y, __global int16 *quo);
8539 half __ovld remquo(half x, half y, __local int *quo);
8540 half2 __ovld remquo(half2 x, half2 y, __local int2 *quo);
8541 half3 __ovld remquo(half3 x, half3 y, __local int3 *quo);
8542 half4 __ovld remquo(half4 x, half4 y, __local int4 *quo);
8543 half8 __ovld remquo(half8 x, half8 y, __local int8 *quo);
8544 half16 __ovld remquo(half16 x, half16 y, __local int16 *quo);
8545 half __ovld remquo(half x, half y, __private int *quo);
8546 half2 __ovld remquo(half2 x, half2 y, __private int2 *quo);
8547 half3 __ovld remquo(half3 x, half3 y, __private int3 *quo);
8548 half4 __ovld remquo(half4 x, half4 y, __private int4 *quo);
8549 half8 __ovld remquo(half8 x, half8 y, __private int8 *quo);
8550 half16 __ovld remquo(half16 x, half16 y, __private int16 *quo);
8551 #endif //cl_khr_fp16
8552 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
8553 /**
8554  * Round to integral value (using round to nearest
8555  * even rounding mode) in floating-point format.
8556  * Refer to section 7.1 for description of rounding
8557  * modes.
8558  */
8559 float __ovld __cnfn rint(float);
8560 float2 __ovld __cnfn rint(float2);
8561 float3 __ovld __cnfn rint(float3);
8562 float4 __ovld __cnfn rint(float4);
8563 float8 __ovld __cnfn rint(float8);
8564 float16 __ovld __cnfn rint(float16);
8565 #ifdef cl_khr_fp64
8566 double __ovld __cnfn rint(double);
8567 double2 __ovld __cnfn rint(double2);
8568 double3 __ovld __cnfn rint(double3);
8569 double4 __ovld __cnfn rint(double4);
8570 double8 __ovld __cnfn rint(double8);
8571 double16 __ovld __cnfn rint(double16);
8572 #endif //cl_khr_fp64
8573 #ifdef cl_khr_fp16
8574 half __ovld __cnfn rint(half);
8575 half2 __ovld __cnfn rint(half2);
8576 half3 __ovld __cnfn rint(half3);
8577 half4 __ovld __cnfn rint(half4);
8578 half8 __ovld __cnfn rint(half8);
8579 half16 __ovld __cnfn rint(half16);
8580 #endif //cl_khr_fp16
8581
8582 /**
8583  * Compute x to the power 1/y.
8584  */
8585 float __ovld __cnfn rootn(float x, int y);
8586 float2 __ovld __cnfn rootn(float2 x, int2 y);
8587 float3 __ovld __cnfn rootn(float3 x, int3 y);
8588 float4 __ovld __cnfn rootn(float4 x, int4 y);
8589 float8 __ovld __cnfn rootn(float8 x, int8 y);
8590 float16 __ovld __cnfn rootn(float16 x, int16 y);
8591 #ifdef cl_khr_fp64
8592 double __ovld __cnfn rootn(double x, int y);
8593 double2 __ovld __cnfn rootn(double2 x, int2 y);
8594 double3 __ovld __cnfn rootn(double3 x, int3 y);
8595 double4 __ovld __cnfn rootn(double4 x, int4 y);
8596 double8 __ovld __cnfn rootn(double8 x, int8 y);
8597 double16 __ovld __cnfn rootn(double16 x, int16 y);
8598 #endif //cl_khr_fp64
8599 #ifdef cl_khr_fp16
8600 half __ovld __cnfn rootn(half x, int y);
8601 half2 __ovld __cnfn rootn(half2 x, int2 y);
8602 half3 __ovld __cnfn rootn(half3 x, int3 y);
8603 half4 __ovld __cnfn rootn(half4 x, int4 y);
8604 half8 __ovld __cnfn rootn(half8 x, int8 y);
8605 half16 __ovld __cnfn rootn(half16 x, int16 y);
8606 #endif //cl_khr_fp16
8607
8608 /**
8609  * Return the integral value nearest to x rounding
8610  * halfway cases away from zero, regardless of the
8611  * current rounding direction.
8612  */
8613 float __ovld __cnfn round(float x);
8614 float2 __ovld __cnfn round(float2 x);
8615 float3 __ovld __cnfn round(float3 x);
8616 float4 __ovld __cnfn round(float4 x);
8617 float8 __ovld __cnfn round(float8 x);
8618 float16 __ovld __cnfn round(float16 x);
8619 #ifdef cl_khr_fp64
8620 double __ovld __cnfn round(double x);
8621 double2 __ovld __cnfn round(double2 x);
8622 double3 __ovld __cnfn round(double3 x);
8623 double4 __ovld __cnfn round(double4 x);
8624 double8 __ovld __cnfn round(double8 x);
8625 double16 __ovld __cnfn round(double16 x);
8626 #endif //cl_khr_fp64
8627 #ifdef cl_khr_fp16
8628 half __ovld __cnfn round(half x);
8629 half2 __ovld __cnfn round(half2 x);
8630 half3 __ovld __cnfn round(half3 x);
8631 half4 __ovld __cnfn round(half4 x);
8632 half8 __ovld __cnfn round(half8 x);
8633 half16 __ovld __cnfn round(half16 x);
8634 #endif //cl_khr_fp16
8635
8636 /**
8637  * Compute inverse square root.
8638  */
8639 float __ovld __cnfn rsqrt(float);
8640 float2 __ovld __cnfn rsqrt(float2);
8641 float3 __ovld __cnfn rsqrt(float3);
8642 float4 __ovld __cnfn rsqrt(float4);
8643 float8 __ovld __cnfn rsqrt(float8);
8644 float16 __ovld __cnfn rsqrt(float16);
8645 #ifdef cl_khr_fp64
8646 double __ovld __cnfn rsqrt(double);
8647 double2 __ovld __cnfn rsqrt(double2);
8648 double3 __ovld __cnfn rsqrt(double3);
8649 double4 __ovld __cnfn rsqrt(double4);
8650 double8 __ovld __cnfn rsqrt(double8);
8651 double16 __ovld __cnfn rsqrt(double16);
8652 #endif //cl_khr_fp64
8653 #ifdef cl_khr_fp16
8654 half __ovld __cnfn rsqrt(half);
8655 half2 __ovld __cnfn rsqrt(half2);
8656 half3 __ovld __cnfn rsqrt(half3);
8657 half4 __ovld __cnfn rsqrt(half4);
8658 half8 __ovld __cnfn rsqrt(half8);
8659 half16 __ovld __cnfn rsqrt(half16);
8660 #endif //cl_khr_fp16
8661
8662 /**
8663  * Compute sine.
8664  */
8665 float __ovld __cnfn sin(float);
8666 float2 __ovld __cnfn sin(float2);
8667 float3 __ovld __cnfn sin(float3);
8668 float4 __ovld __cnfn sin(float4);
8669 float8 __ovld __cnfn sin(float8);
8670 float16 __ovld __cnfn sin(float16);
8671 #ifdef cl_khr_fp64
8672 double __ovld __cnfn sin(double);
8673 double2 __ovld __cnfn sin(double2);
8674 double3 __ovld __cnfn sin(double3);
8675 double4 __ovld __cnfn sin(double4);
8676 double8 __ovld __cnfn sin(double8);
8677 double16 __ovld __cnfn sin(double16);
8678 #endif //cl_khr_fp64
8679 #ifdef cl_khr_fp16
8680 half __ovld __cnfn sin(half);
8681 half2 __ovld __cnfn sin(half2);
8682 half3 __ovld __cnfn sin(half3);
8683 half4 __ovld __cnfn sin(half4);
8684 half8 __ovld __cnfn sin(half8);
8685 half16 __ovld __cnfn sin(half16);
8686 #endif //cl_khr_fp16
8687
8688 /**
8689  * Compute sine and cosine of x. The computed sine
8690  * is the return value and computed cosine is returned
8691  * in cosval.
8692  */
8693 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
8694 float __ovld sincos(float x, float *cosval);
8695 float2 __ovld sincos(float2 x, float2 *cosval);
8696 float3 __ovld sincos(float3 x, float3 *cosval);
8697 float4 __ovld sincos(float4 x, float4 *cosval);
8698 float8 __ovld sincos(float8 x, float8 *cosval);
8699 float16 __ovld sincos(float16 x, float16 *cosval);
8700 #ifdef cl_khr_fp64
8701 double __ovld sincos(double x, double *cosval);
8702 double2 __ovld sincos(double2 x, double2 *cosval);
8703 double3 __ovld sincos(double3 x, double3 *cosval);
8704 double4 __ovld sincos(double4 x, double4 *cosval);
8705 double8 __ovld sincos(double8 x, double8 *cosval);
8706 double16 __ovld sincos(double16 x, double16 *cosval);
8707 #endif //cl_khr_fp64
8708 #ifdef cl_khr_fp16
8709 half __ovld sincos(half x, half *cosval);
8710 half2 __ovld sincos(half2 x, half2 *cosval);
8711 half3 __ovld sincos(half3 x, half3 *cosval);
8712 half4 __ovld sincos(half4 x, half4 *cosval);
8713 half8 __ovld sincos(half8 x, half8 *cosval);
8714 half16 __ovld sincos(half16 x, half16 *cosval);
8715 #endif //cl_khr_fp16
8716 #else
8717 float __ovld sincos(float x, __global float *cosval);
8718 float2 __ovld sincos(float2 x, __global float2 *cosval);
8719 float3 __ovld sincos(float3 x, __global float3 *cosval);
8720 float4 __ovld sincos(float4 x, __global float4 *cosval);
8721 float8 __ovld sincos(float8 x, __global float8 *cosval);
8722 float16 __ovld sincos(float16 x, __global float16 *cosval);
8723 float __ovld sincos(float x, __local float *cosval);
8724 float2 __ovld sincos(float2 x, __local float2 *cosval);
8725 float3 __ovld sincos(float3 x, __local float3 *cosval);
8726 float4 __ovld sincos(float4 x, __local float4 *cosval);
8727 float8 __ovld sincos(float8 x, __local float8 *cosval);
8728 float16 __ovld sincos(float16 x, __local float16 *cosval);
8729 float __ovld sincos(float x, __private float *cosval);
8730 float2 __ovld sincos(float2 x, __private float2 *cosval);
8731 float3 __ovld sincos(float3 x, __private float3 *cosval);
8732 float4 __ovld sincos(float4 x, __private float4 *cosval);
8733 float8 __ovld sincos(float8 x, __private float8 *cosval);
8734 float16 __ovld sincos(float16 x, __private float16 *cosval);
8735 #ifdef cl_khr_fp64
8736 double __ovld sincos(double x, __global double *cosval);
8737 double2 __ovld sincos(double2 x, __global double2 *cosval);
8738 double3 __ovld sincos(double3 x, __global double3 *cosval);
8739 double4 __ovld sincos(double4 x, __global double4 *cosval);
8740 double8 __ovld sincos(double8 x, __global double8 *cosval);
8741 double16 __ovld sincos(double16 x, __global double16 *cosval);
8742 double __ovld sincos(double x, __local double *cosval);
8743 double2 __ovld sincos(double2 x, __local double2 *cosval);
8744 double3 __ovld sincos(double3 x, __local double3 *cosval);
8745 double4 __ovld sincos(double4 x, __local double4 *cosval);
8746 double8 __ovld sincos(double8 x, __local double8 *cosval);
8747 double16 __ovld sincos(double16 x, __local double16 *cosval);
8748 double __ovld sincos(double x, __private double *cosval);
8749 double2 __ovld sincos(double2 x, __private double2 *cosval);
8750 double3 __ovld sincos(double3 x, __private double3 *cosval);
8751 double4 __ovld sincos(double4 x, __private double4 *cosval);
8752 double8 __ovld sincos(double8 x, __private double8 *cosval);
8753 double16 __ovld sincos(double16 x, __private double16 *cosval);
8754 #endif //cl_khr_fp64
8755 #ifdef cl_khr_fp16
8756 half __ovld sincos(half x, __global half *cosval);
8757 half2 __ovld sincos(half2 x, __global half2 *cosval);
8758 half3 __ovld sincos(half3 x, __global half3 *cosval);
8759 half4 __ovld sincos(half4 x, __global half4 *cosval);
8760 half8 __ovld sincos(half8 x, __global half8 *cosval);
8761 half16 __ovld sincos(half16 x, __global half16 *cosval);
8762 half __ovld sincos(half x, __local half *cosval);
8763 half2 __ovld sincos(half2 x, __local half2 *cosval);
8764 half3 __ovld sincos(half3 x, __local half3 *cosval);
8765 half4 __ovld sincos(half4 x, __local half4 *cosval);
8766 half8 __ovld sincos(half8 x, __local half8 *cosval);
8767 half16 __ovld sincos(half16 x, __local half16 *cosval);
8768 half __ovld sincos(half x, __private half *cosval);
8769 half2 __ovld sincos(half2 x, __private half2 *cosval);
8770 half3 __ovld sincos(half3 x, __private half3 *cosval);
8771 half4 __ovld sincos(half4 x, __private half4 *cosval);
8772 half8 __ovld sincos(half8 x, __private half8 *cosval);
8773 half16 __ovld sincos(half16 x, __private half16 *cosval);
8774 #endif //cl_khr_fp16
8775 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
8776
8777 /**
8778  * Compute hyperbolic sine.
8779  */
8780 float __ovld __cnfn sinh(float);
8781 float2 __ovld __cnfn sinh(float2);
8782 float3 __ovld __cnfn sinh(float3);
8783 float4 __ovld __cnfn sinh(float4);
8784 float8 __ovld __cnfn sinh(float8);
8785 float16 __ovld __cnfn sinh(float16);
8786 #ifdef cl_khr_fp64
8787 double __ovld __cnfn sinh(double);
8788 double2 __ovld __cnfn sinh(double2);
8789 double3 __ovld __cnfn sinh(double3);
8790 double4 __ovld __cnfn sinh(double4);
8791 double8 __ovld __cnfn sinh(double8);
8792 double16 __ovld __cnfn sinh(double16);
8793 #endif //cl_khr_fp64
8794 #ifdef cl_khr_fp16
8795 half __ovld __cnfn sinh(half);
8796 half2 __ovld __cnfn sinh(half2);
8797 half3 __ovld __cnfn sinh(half3);
8798 half4 __ovld __cnfn sinh(half4);
8799 half8 __ovld __cnfn sinh(half8);
8800 half16 __ovld __cnfn sinh(half16);
8801 #endif //cl_khr_fp16
8802
8803 /**
8804  * Compute sin (PI * x).
8805  */
8806 float __ovld __cnfn sinpi(float x);
8807 float2 __ovld __cnfn sinpi(float2 x);
8808 float3 __ovld __cnfn sinpi(float3 x);
8809 float4 __ovld __cnfn sinpi(float4 x);
8810 float8 __ovld __cnfn sinpi(float8 x);
8811 float16 __ovld __cnfn sinpi(float16 x);
8812 #ifdef cl_khr_fp64
8813 double __ovld __cnfn sinpi(double x);
8814 double2 __ovld __cnfn sinpi(double2 x);
8815 double3 __ovld __cnfn sinpi(double3 x);
8816 double4 __ovld __cnfn sinpi(double4 x);
8817 double8 __ovld __cnfn sinpi(double8 x);
8818 double16 __ovld __cnfn sinpi(double16 x);
8819 #endif //cl_khr_fp64
8820 #ifdef cl_khr_fp16
8821 half __ovld __cnfn sinpi(half x);
8822 half2 __ovld __cnfn sinpi(half2 x);
8823 half3 __ovld __cnfn sinpi(half3 x);
8824 half4 __ovld __cnfn sinpi(half4 x);
8825 half8 __ovld __cnfn sinpi(half8 x);
8826 half16 __ovld __cnfn sinpi(half16 x);
8827 #endif //cl_khr_fp16
8828
8829 /**
8830  * Compute square root.
8831  */
8832 float __ovld __cnfn sqrt(float);
8833 float2 __ovld __cnfn sqrt(float2);
8834 float3 __ovld __cnfn sqrt(float3);
8835 float4 __ovld __cnfn sqrt(float4);
8836 float8 __ovld __cnfn sqrt(float8);
8837 float16 __ovld __cnfn sqrt(float16);
8838 #ifdef cl_khr_fp64
8839 double __ovld __cnfn sqrt(double);
8840 double2 __ovld __cnfn sqrt(double2);
8841 double3 __ovld __cnfn sqrt(double3);
8842 double4 __ovld __cnfn sqrt(double4);
8843 double8 __ovld __cnfn sqrt(double8);
8844 double16 __ovld __cnfn sqrt(double16);
8845 #endif //cl_khr_fp64
8846 #ifdef cl_khr_fp16
8847 half __ovld __cnfn sqrt(half);
8848 half2 __ovld __cnfn sqrt(half2);
8849 half3 __ovld __cnfn sqrt(half3);
8850 half4 __ovld __cnfn sqrt(half4);
8851 half8 __ovld __cnfn sqrt(half8);
8852 half16 __ovld __cnfn sqrt(half16);
8853 #endif //cl_khr_fp16
8854
8855 /**
8856  * Compute tangent.
8857  */
8858 float __ovld __cnfn tan(float);
8859 float2 __ovld __cnfn tan(float2);
8860 float3 __ovld __cnfn tan(float3);
8861 float4 __ovld __cnfn tan(float4);
8862 float8 __ovld __cnfn tan(float8);
8863 float16 __ovld __cnfn tan(float16);
8864 #ifdef cl_khr_fp64
8865 double __ovld __cnfn tan(double);
8866 double2 __ovld __cnfn tan(double2);
8867 double3 __ovld __cnfn tan(double3);
8868 double4 __ovld __cnfn tan(double4);
8869 double8 __ovld __cnfn tan(double8);
8870 double16 __ovld __cnfn tan(double16);
8871 #endif //cl_khr_fp64
8872 #ifdef cl_khr_fp16
8873 half __ovld __cnfn tan(half);
8874 half2 __ovld __cnfn tan(half2);
8875 half3 __ovld __cnfn tan(half3);
8876 half4 __ovld __cnfn tan(half4);
8877 half8 __ovld __cnfn tan(half8);
8878 half16 __ovld __cnfn tan(half16);
8879 #endif //cl_khr_fp16
8880
8881 /**
8882  * Compute hyperbolic tangent.
8883  */
8884 float __ovld __cnfn tanh(float);
8885 float2 __ovld __cnfn tanh(float2);
8886 float3 __ovld __cnfn tanh(float3);
8887 float4 __ovld __cnfn tanh(float4);
8888 float8 __ovld __cnfn tanh(float8);
8889 float16 __ovld __cnfn tanh(float16);
8890 #ifdef cl_khr_fp64
8891 double __ovld __cnfn tanh(double);
8892 double2 __ovld __cnfn tanh(double2);
8893 double3 __ovld __cnfn tanh(double3);
8894 double4 __ovld __cnfn tanh(double4);
8895 double8 __ovld __cnfn tanh(double8);
8896 double16 __ovld __cnfn tanh(double16);
8897 #endif //cl_khr_fp64
8898 #ifdef cl_khr_fp16
8899 half __ovld __cnfn tanh(half);
8900 half2 __ovld __cnfn tanh(half2);
8901 half3 __ovld __cnfn tanh(half3);
8902 half4 __ovld __cnfn tanh(half4);
8903 half8 __ovld __cnfn tanh(half8);
8904 half16 __ovld __cnfn tanh(half16);
8905 #endif //cl_khr_fp16
8906
8907 /**
8908  * Compute tan (PI * x).
8909  */
8910 float __ovld __cnfn tanpi(float x);
8911 float2 __ovld __cnfn tanpi(float2 x);
8912 float3 __ovld __cnfn tanpi(float3 x);
8913 float4 __ovld __cnfn tanpi(float4 x);
8914 float8 __ovld __cnfn tanpi(float8 x);
8915 float16 __ovld __cnfn tanpi(float16 x);
8916 #ifdef cl_khr_fp64
8917 double __ovld __cnfn tanpi(double x);
8918 double2 __ovld __cnfn tanpi(double2 x);
8919 double3 __ovld __cnfn tanpi(double3 x);
8920 double4 __ovld __cnfn tanpi(double4 x);
8921 double8 __ovld __cnfn tanpi(double8 x);
8922 double16 __ovld __cnfn tanpi(double16 x);
8923 #endif //cl_khr_fp64
8924 #ifdef cl_khr_fp16
8925 half __ovld __cnfn tanpi(half x);
8926 half2 __ovld __cnfn tanpi(half2 x);
8927 half3 __ovld __cnfn tanpi(half3 x);
8928 half4 __ovld __cnfn tanpi(half4 x);
8929 half8 __ovld __cnfn tanpi(half8 x);
8930 half16 __ovld __cnfn tanpi(half16 x);
8931 #endif //cl_khr_fp16
8932
8933 /**
8934  * Compute the gamma function.
8935  */
8936 float __ovld __cnfn tgamma(float);
8937 float2 __ovld __cnfn tgamma(float2);
8938 float3 __ovld __cnfn tgamma(float3);
8939 float4 __ovld __cnfn tgamma(float4);
8940 float8 __ovld __cnfn tgamma(float8);
8941 float16 __ovld __cnfn tgamma(float16);
8942 #ifdef cl_khr_fp64
8943 double __ovld __cnfn tgamma(double);
8944 double2 __ovld __cnfn tgamma(double2);
8945 double3 __ovld __cnfn tgamma(double3);
8946 double4 __ovld __cnfn tgamma(double4);
8947 double8 __ovld __cnfn tgamma(double8);
8948 double16 __ovld __cnfn tgamma(double16);
8949 #endif //cl_khr_fp64
8950 #ifdef cl_khr_fp16
8951 half __ovld __cnfn tgamma(half);
8952 half2 __ovld __cnfn tgamma(half2);
8953 half3 __ovld __cnfn tgamma(half3);
8954 half4 __ovld __cnfn tgamma(half4);
8955 half8 __ovld __cnfn tgamma(half8);
8956 half16 __ovld __cnfn tgamma(half16);
8957 #endif //cl_khr_fp16
8958
8959 /**
8960  * Round to integral value using the round to zero
8961  * rounding mode.
8962  */
8963 float __ovld __cnfn trunc(float);
8964 float2 __ovld __cnfn trunc(float2);
8965 float3 __ovld __cnfn trunc(float3);
8966 float4 __ovld __cnfn trunc(float4);
8967 float8 __ovld __cnfn trunc(float8);
8968 float16 __ovld __cnfn trunc(float16);
8969 #ifdef cl_khr_fp64
8970 double __ovld __cnfn trunc(double);
8971 double2 __ovld __cnfn trunc(double2);
8972 double3 __ovld __cnfn trunc(double3);
8973 double4 __ovld __cnfn trunc(double4);
8974 double8 __ovld __cnfn trunc(double8);
8975 double16 __ovld __cnfn trunc(double16);
8976 #endif //cl_khr_fp64
8977 #ifdef cl_khr_fp16
8978 half __ovld __cnfn trunc(half);
8979 half2 __ovld __cnfn trunc(half2);
8980 half3 __ovld __cnfn trunc(half3);
8981 half4 __ovld __cnfn trunc(half4);
8982 half8 __ovld __cnfn trunc(half8);
8983 half16 __ovld __cnfn trunc(half16);
8984 #endif //cl_khr_fp16
8985
8986 /**
8987  * Compute cosine. x must be in the range -2^16 ... +2^16.
8988  */
8989 float __ovld __cnfn half_cos(float x);
8990 float2 __ovld __cnfn half_cos(float2 x);
8991 float3 __ovld __cnfn half_cos(float3 x);
8992 float4 __ovld __cnfn half_cos(float4 x);
8993 float8 __ovld __cnfn half_cos(float8 x);
8994 float16 __ovld __cnfn half_cos(float16 x);
8995
8996 /**
8997  * Compute x / y.
8998  */
8999 float __ovld __cnfn half_divide(float x, float y);
9000 float2 __ovld __cnfn half_divide(float2 x, float2 y);
9001 float3 __ovld __cnfn half_divide(float3 x, float3 y);
9002 float4 __ovld __cnfn half_divide(float4 x, float4 y);
9003 float8 __ovld __cnfn half_divide(float8 x, float8 y);
9004 float16 __ovld __cnfn half_divide(float16 x, float16 y);
9005
9006 /**
9007  * Compute the base- e exponential of x.
9008  */
9009 float __ovld __cnfn half_exp(float x);
9010 float2 __ovld __cnfn half_exp(float2 x);
9011 float3 __ovld __cnfn half_exp(float3 x);
9012 float4 __ovld __cnfn half_exp(float4 x);
9013 float8 __ovld __cnfn half_exp(float8 x);
9014 float16 __ovld __cnfn half_exp(float16 x);
9015
9016 /**
9017  * Compute the base- 2 exponential of x.
9018  */
9019 float __ovld __cnfn half_exp2(float x);
9020 float2 __ovld __cnfn half_exp2(float2 x);
9021 float3 __ovld __cnfn half_exp2(float3 x);
9022 float4 __ovld __cnfn half_exp2(float4 x);
9023 float8 __ovld __cnfn half_exp2(float8 x);
9024 float16 __ovld __cnfn half_exp2(float16 x);
9025
9026 /**
9027  * Compute the base- 10 exponential of x.
9028  */
9029 float __ovld __cnfn half_exp10(float x);
9030 float2 __ovld __cnfn half_exp10(float2 x);
9031 float3 __ovld __cnfn half_exp10(float3 x);
9032 float4 __ovld __cnfn half_exp10(float4 x);
9033 float8 __ovld __cnfn half_exp10(float8 x);
9034 float16 __ovld __cnfn half_exp10(float16 x);
9035
9036 /**
9037  * Compute natural logarithm.
9038  */
9039 float __ovld __cnfn half_log(float x);
9040 float2 __ovld __cnfn half_log(float2 x);
9041 float3 __ovld __cnfn half_log(float3 x);
9042 float4 __ovld __cnfn half_log(float4 x);
9043 float8 __ovld __cnfn half_log(float8 x);
9044 float16 __ovld __cnfn half_log(float16 x);
9045
9046 /**
9047  * Compute a base 2 logarithm.
9048  */
9049 float __ovld __cnfn half_log2(float x);
9050 float2 __ovld __cnfn half_log2(float2 x);
9051 float3 __ovld __cnfn half_log2(float3 x);
9052 float4 __ovld __cnfn half_log2(float4 x);
9053 float8 __ovld __cnfn half_log2(float8 x);
9054 float16 __ovld __cnfn half_log2(float16 x);
9055
9056 /**
9057  * Compute a base 10 logarithm.
9058  */
9059 float __ovld __cnfn half_log10(float x);
9060 float2 __ovld __cnfn half_log10(float2 x);
9061 float3 __ovld __cnfn half_log10(float3 x);
9062 float4 __ovld __cnfn half_log10(float4 x);
9063 float8 __ovld __cnfn half_log10(float8 x);
9064 float16 __ovld __cnfn half_log10(float16 x);
9065
9066 /**
9067  * Compute x to the power y, where x is >= 0.
9068  */
9069 float __ovld __cnfn half_powr(float x, float y);
9070 float2 __ovld __cnfn half_powr(float2 x, float2 y);
9071 float3 __ovld __cnfn half_powr(float3 x, float3 y);
9072 float4 __ovld __cnfn half_powr(float4 x, float4 y);
9073 float8 __ovld __cnfn half_powr(float8 x, float8 y);
9074 float16 __ovld __cnfn half_powr(float16 x, float16 y);
9075
9076 /**
9077  * Compute reciprocal.
9078  */
9079 float __ovld __cnfn half_recip(float x);
9080 float2 __ovld __cnfn half_recip(float2 x);
9081 float3 __ovld __cnfn half_recip(float3 x);
9082 float4 __ovld __cnfn half_recip(float4 x);
9083 float8 __ovld __cnfn half_recip(float8 x);
9084 float16 __ovld __cnfn half_recip(float16 x);
9085
9086 /**
9087  * Compute inverse square root.
9088  */
9089 float __ovld __cnfn half_rsqrt(float x);
9090 float2 __ovld __cnfn half_rsqrt(float2 x);
9091 float3 __ovld __cnfn half_rsqrt(float3 x);
9092 float4 __ovld __cnfn half_rsqrt(float4 x);
9093 float8 __ovld __cnfn half_rsqrt(float8 x);
9094 float16 __ovld __cnfn half_rsqrt(float16 x);
9095
9096 /**
9097  * Compute sine. x must be in the range -2^16 ... +2^16.
9098  */
9099 float __ovld __cnfn half_sin(float x);
9100 float2 __ovld __cnfn half_sin(float2 x);
9101 float3 __ovld __cnfn half_sin(float3 x);
9102 float4 __ovld __cnfn half_sin(float4 x);
9103 float8 __ovld __cnfn half_sin(float8 x);
9104 float16 __ovld __cnfn half_sin(float16 x);
9105
9106 /**
9107  * Compute square root.
9108  */
9109 float __ovld __cnfn half_sqrt(float x);
9110 float2 __ovld __cnfn half_sqrt(float2 x);
9111 float3 __ovld __cnfn half_sqrt(float3 x);
9112 float4 __ovld __cnfn half_sqrt(float4 x);
9113 float8 __ovld __cnfn half_sqrt(float8 x);
9114 float16 __ovld __cnfn half_sqrt(float16 x);
9115
9116 /**
9117  * Compute tangent. x must be in the range -216 ... +216.
9118  */
9119 float __ovld __cnfn half_tan(float x);
9120 float2 __ovld __cnfn half_tan(float2 x);
9121 float3 __ovld __cnfn half_tan(float3 x);
9122 float4 __ovld __cnfn half_tan(float4 x);
9123 float8 __ovld __cnfn half_tan(float8 x);
9124 float16 __ovld __cnfn half_tan(float16 x);
9125
9126 /**
9127  * Compute cosine over an implementation-defined range.
9128  * The maximum error is implementation-defined.
9129  */
9130 float __ovld __cnfn native_cos(float x);
9131 float2 __ovld __cnfn native_cos(float2 x);
9132 float3 __ovld __cnfn native_cos(float3 x);
9133 float4 __ovld __cnfn native_cos(float4 x);
9134 float8 __ovld __cnfn native_cos(float8 x);
9135 float16 __ovld __cnfn native_cos(float16 x);
9136
9137 /**
9138  * Compute x / y over an implementation-defined range.
9139  * The maximum error is implementation-defined.
9140  */
9141 float __ovld __cnfn native_divide(float x, float y);
9142 float2 __ovld __cnfn native_divide(float2 x, float2 y);
9143 float3 __ovld __cnfn native_divide(float3 x, float3 y);
9144 float4 __ovld __cnfn native_divide(float4 x, float4 y);
9145 float8 __ovld __cnfn native_divide(float8 x, float8 y);
9146 float16 __ovld __cnfn native_divide(float16 x, float16 y);
9147
9148 /**
9149  * Compute the base- e exponential of x over an
9150  * implementation-defined range. The maximum error is
9151  * implementation-defined.
9152  */
9153 float __ovld __cnfn native_exp(float x);
9154 float2 __ovld __cnfn native_exp(float2 x);
9155 float3 __ovld __cnfn native_exp(float3 x);
9156 float4 __ovld __cnfn native_exp(float4 x);
9157 float8 __ovld __cnfn native_exp(float8 x);
9158 float16 __ovld __cnfn native_exp(float16 x);
9159
9160 /**
9161  * Compute the base- 2 exponential of x over an
9162  * implementation-defined range. The maximum error is
9163  * implementation-defined.
9164  */
9165 float __ovld __cnfn native_exp2(float x);
9166 float2 __ovld __cnfn native_exp2(float2 x);
9167 float3 __ovld __cnfn native_exp2(float3 x);
9168 float4 __ovld __cnfn native_exp2(float4 x);
9169 float8 __ovld __cnfn native_exp2(float8 x);
9170 float16 __ovld __cnfn native_exp2(float16 x);
9171
9172 /**
9173  * Compute the base- 10 exponential of x over an
9174  * implementation-defined range. The maximum error is
9175  * implementation-defined.
9176  */
9177 float __ovld __cnfn native_exp10(float x);
9178 float2 __ovld __cnfn native_exp10(float2 x);
9179 float3 __ovld __cnfn native_exp10(float3 x);
9180 float4 __ovld __cnfn native_exp10(float4 x);
9181 float8 __ovld __cnfn native_exp10(float8 x);
9182 float16 __ovld __cnfn native_exp10(float16 x);
9183
9184 /**
9185  * Compute natural logarithm over an implementationdefined
9186  * range. The maximum error is implementation
9187  * defined.
9188  */
9189 float __ovld __cnfn native_log(float x);
9190 float2 __ovld __cnfn native_log(float2 x);
9191 float3 __ovld __cnfn native_log(float3 x);
9192 float4 __ovld __cnfn native_log(float4 x);
9193 float8 __ovld __cnfn native_log(float8 x);
9194 float16 __ovld __cnfn native_log(float16 x);
9195
9196 /**
9197  * Compute a base 2 logarithm over an implementationdefined
9198  * range. The maximum error is implementationdefined.
9199  */
9200 float __ovld __cnfn native_log2(float x);
9201 float2 __ovld __cnfn native_log2(float2 x);
9202 float3 __ovld __cnfn native_log2(float3 x);
9203 float4 __ovld __cnfn native_log2(float4 x);
9204 float8 __ovld __cnfn native_log2(float8 x);
9205 float16 __ovld __cnfn native_log2(float16 x);
9206
9207 /**
9208  * Compute a base 10 logarithm over an implementationdefined
9209  * range. The maximum error is implementationdefined.
9210  */
9211 float __ovld __cnfn native_log10(float x);
9212 float2 __ovld __cnfn native_log10(float2 x);
9213 float3 __ovld __cnfn native_log10(float3 x);
9214 float4 __ovld __cnfn native_log10(float4 x);
9215 float8 __ovld __cnfn native_log10(float8 x);
9216 float16 __ovld __cnfn native_log10(float16 x);
9217
9218 /**
9219  * Compute x to the power y, where x is >= 0. The range of
9220  * x and y are implementation-defined. The maximum error
9221  * is implementation-defined.
9222  */
9223 float __ovld __cnfn native_powr(float x, float y);
9224 float2 __ovld __cnfn native_powr(float2 x, float2 y);
9225 float3 __ovld __cnfn native_powr(float3 x, float3 y);
9226 float4 __ovld __cnfn native_powr(float4 x, float4 y);
9227 float8 __ovld __cnfn native_powr(float8 x, float8 y);
9228 float16 __ovld __cnfn native_powr(float16 x, float16 y);
9229
9230 /**
9231  * Compute reciprocal over an implementation-defined
9232  * range. The maximum error is implementation-defined.
9233  */
9234 float __ovld __cnfn native_recip(float x);
9235 float2 __ovld __cnfn native_recip(float2 x);
9236 float3 __ovld __cnfn native_recip(float3 x);
9237 float4 __ovld __cnfn native_recip(float4 x);
9238 float8 __ovld __cnfn native_recip(float8 x);
9239 float16 __ovld __cnfn native_recip(float16 x);
9240
9241 /**
9242  * Compute inverse square root over an implementationdefined
9243  * range. The maximum error is implementationdefined.
9244  */
9245 float __ovld __cnfn native_rsqrt(float x);
9246 float2 __ovld __cnfn native_rsqrt(float2 x);
9247 float3 __ovld __cnfn native_rsqrt(float3 x);
9248 float4 __ovld __cnfn native_rsqrt(float4 x);
9249 float8 __ovld __cnfn native_rsqrt(float8 x);
9250 float16 __ovld __cnfn native_rsqrt(float16 x);
9251
9252 /**
9253  * Compute sine over an implementation-defined range.
9254  * The maximum error is implementation-defined.
9255  */
9256 float __ovld __cnfn native_sin(float x);
9257 float2 __ovld __cnfn native_sin(float2 x);
9258 float3 __ovld __cnfn native_sin(float3 x);
9259 float4 __ovld __cnfn native_sin(float4 x);
9260 float8 __ovld __cnfn native_sin(float8 x);
9261 float16 __ovld __cnfn native_sin(float16 x);
9262
9263 /**
9264  * Compute square root over an implementation-defined
9265  * range. The maximum error is implementation-defined.
9266  */
9267 float __ovld __cnfn native_sqrt(float x);
9268 float2 __ovld __cnfn native_sqrt(float2 x);
9269 float3 __ovld __cnfn native_sqrt(float3 x);
9270 float4 __ovld __cnfn native_sqrt(float4 x);
9271 float8 __ovld __cnfn native_sqrt(float8 x);
9272 float16 __ovld __cnfn native_sqrt(float16 x);
9273
9274 /**
9275  * Compute tangent over an implementation-defined range.
9276  * The maximum error is implementation-defined.
9277  */
9278 float __ovld __cnfn native_tan(float x);
9279 float2 __ovld __cnfn native_tan(float2 x);
9280 float3 __ovld __cnfn native_tan(float3 x);
9281 float4 __ovld __cnfn native_tan(float4 x);
9282 float8 __ovld __cnfn native_tan(float8 x);
9283 float16 __ovld __cnfn native_tan(float16 x);
9284
9285 // OpenCL v1.1 s6.11.3, v1.2 s6.12.3, v2.0 s6.13.3 - Integer Functions
9286
9287 /**
9288  * Returns | x |.
9289  */
9290 uchar __ovld __cnfn abs(char x);
9291 uchar __ovld __cnfn abs(uchar x);
9292 uchar2 __ovld __cnfn abs(char2 x);
9293 uchar2 __ovld __cnfn abs(uchar2 x);
9294 uchar3 __ovld __cnfn abs(char3 x);
9295 uchar3 __ovld __cnfn abs(uchar3 x);
9296 uchar4 __ovld __cnfn abs(char4 x);
9297 uchar4 __ovld __cnfn abs(uchar4 x);
9298 uchar8 __ovld __cnfn abs(char8 x);
9299 uchar8 __ovld __cnfn abs(uchar8 x);
9300 uchar16 __ovld __cnfn abs(char16 x);
9301 uchar16 __ovld __cnfn abs(uchar16 x);
9302 ushort __ovld __cnfn abs(short x);
9303 ushort __ovld __cnfn abs(ushort x);
9304 ushort2 __ovld __cnfn abs(short2 x);
9305 ushort2 __ovld __cnfn abs(ushort2 x);
9306 ushort3 __ovld __cnfn abs(short3 x);
9307 ushort3 __ovld __cnfn abs(ushort3 x);
9308 ushort4 __ovld __cnfn abs(short4 x);
9309 ushort4 __ovld __cnfn abs(ushort4 x);
9310 ushort8 __ovld __cnfn abs(short8 x);
9311 ushort8 __ovld __cnfn abs(ushort8 x);
9312 ushort16 __ovld __cnfn abs(short16 x);
9313 ushort16 __ovld __cnfn abs(ushort16 x);
9314 uint __ovld __cnfn abs(int x);
9315 uint __ovld __cnfn abs(uint x);
9316 uint2 __ovld __cnfn abs(int2 x);
9317 uint2 __ovld __cnfn abs(uint2 x);
9318 uint3 __ovld __cnfn abs(int3 x);
9319 uint3 __ovld __cnfn abs(uint3 x);
9320 uint4 __ovld __cnfn abs(int4 x);
9321 uint4 __ovld __cnfn abs(uint4 x);
9322 uint8 __ovld __cnfn abs(int8 x);
9323 uint8 __ovld __cnfn abs(uint8 x);
9324 uint16 __ovld __cnfn abs(int16 x);
9325 uint16 __ovld __cnfn abs(uint16 x);
9326 ulong __ovld __cnfn abs(long x);
9327 ulong __ovld __cnfn abs(ulong x);
9328 ulong2 __ovld __cnfn abs(long2 x);
9329 ulong2 __ovld __cnfn abs(ulong2 x);
9330 ulong3 __ovld __cnfn abs(long3 x);
9331 ulong3 __ovld __cnfn abs(ulong3 x);
9332 ulong4 __ovld __cnfn abs(long4 x);
9333 ulong4 __ovld __cnfn abs(ulong4 x);
9334 ulong8 __ovld __cnfn abs(long8 x);
9335 ulong8 __ovld __cnfn abs(ulong8 x);
9336 ulong16 __ovld __cnfn abs(long16 x);
9337 ulong16 __ovld __cnfn abs(ulong16 x);
9338
9339 /**
9340  * Returns | x - y | without modulo overflow.
9341  */
9342 uchar __ovld __cnfn abs_diff(char x, char y);
9343 uchar __ovld __cnfn abs_diff(uchar x, uchar y);
9344 uchar2 __ovld __cnfn abs_diff(char2 x, char2 y);
9345 uchar2 __ovld __cnfn abs_diff(uchar2 x, uchar2 y);
9346 uchar3 __ovld __cnfn abs_diff(char3 x, char3 y);
9347 uchar3 __ovld __cnfn abs_diff(uchar3 x, uchar3 y);
9348 uchar4 __ovld __cnfn abs_diff(char4 x, char4 y);
9349 uchar4 __ovld __cnfn abs_diff(uchar4 x, uchar4 y);
9350 uchar8 __ovld __cnfn abs_diff(char8 x, char8 y);
9351 uchar8 __ovld __cnfn abs_diff(uchar8 x, uchar8 y);
9352 uchar16 __ovld __cnfn abs_diff(char16 x, char16 y);
9353 uchar16 __ovld __cnfn abs_diff(uchar16 x, uchar16 y);
9354 ushort __ovld __cnfn abs_diff(short x, short y);
9355 ushort __ovld __cnfn abs_diff(ushort x, ushort y);
9356 ushort2 __ovld __cnfn abs_diff(short2 x, short2 y);
9357 ushort2 __ovld __cnfn abs_diff(ushort2 x, ushort2 y);
9358 ushort3 __ovld __cnfn abs_diff(short3 x, short3 y);
9359 ushort3 __ovld __cnfn abs_diff(ushort3 x, ushort3 y);
9360 ushort4 __ovld __cnfn abs_diff(short4 x, short4 y);
9361 ushort4 __ovld __cnfn abs_diff(ushort4 x, ushort4 y);
9362 ushort8 __ovld __cnfn abs_diff(short8 x, short8 y);
9363 ushort8 __ovld __cnfn abs_diff(ushort8 x, ushort8 y);
9364 ushort16 __ovld __cnfn abs_diff(short16 x, short16 y);
9365 ushort16 __ovld __cnfn abs_diff(ushort16 x, ushort16 y);
9366 uint __ovld __cnfn abs_diff(int x, int y);
9367 uint __ovld __cnfn abs_diff(uint x, uint y);
9368 uint2 __ovld __cnfn abs_diff(int2 x, int2 y);
9369 uint2 __ovld __cnfn abs_diff(uint2 x, uint2 y);
9370 uint3 __ovld __cnfn abs_diff(int3 x, int3 y);
9371 uint3 __ovld __cnfn abs_diff(uint3 x, uint3 y);
9372 uint4 __ovld __cnfn abs_diff(int4 x, int4 y);
9373 uint4 __ovld __cnfn abs_diff(uint4 x, uint4 y);
9374 uint8 __ovld __cnfn abs_diff(int8 x, int8 y);
9375 uint8 __ovld __cnfn abs_diff(uint8 x, uint8 y);
9376 uint16 __ovld __cnfn abs_diff(int16 x, int16 y);
9377 uint16 __ovld __cnfn abs_diff(uint16 x, uint16 y);
9378 ulong __ovld __cnfn abs_diff(long x, long y);
9379 ulong __ovld __cnfn abs_diff(ulong x, ulong y);
9380 ulong2 __ovld __cnfn abs_diff(long2 x, long2 y);
9381 ulong2 __ovld __cnfn abs_diff(ulong2 x, ulong2 y);
9382 ulong3 __ovld __cnfn abs_diff(long3 x, long3 y);
9383 ulong3 __ovld __cnfn abs_diff(ulong3 x, ulong3 y);
9384 ulong4 __ovld __cnfn abs_diff(long4 x, long4 y);
9385 ulong4 __ovld __cnfn abs_diff(ulong4 x, ulong4 y);
9386 ulong8 __ovld __cnfn abs_diff(long8 x, long8 y);
9387 ulong8 __ovld __cnfn abs_diff(ulong8 x, ulong8 y);
9388 ulong16 __ovld __cnfn abs_diff(long16 x, long16 y);
9389 ulong16 __ovld __cnfn abs_diff(ulong16 x, ulong16 y);
9390
9391 /**
9392  * Returns x + y and saturates the result.
9393  */
9394 char __ovld __cnfn add_sat(char x, char y);
9395 uchar __ovld __cnfn add_sat(uchar x, uchar y);
9396 char2 __ovld __cnfn add_sat(char2 x, char2 y);
9397 uchar2 __ovld __cnfn add_sat(uchar2 x, uchar2 y);
9398 char3 __ovld __cnfn add_sat(char3 x, char3 y);
9399 uchar3 __ovld __cnfn add_sat(uchar3 x, uchar3 y);
9400 char4 __ovld __cnfn add_sat(char4 x, char4 y);
9401 uchar4 __ovld __cnfn add_sat(uchar4 x, uchar4 y);
9402 char8 __ovld __cnfn add_sat(char8 x, char8 y);
9403 uchar8 __ovld __cnfn add_sat(uchar8 x, uchar8 y);
9404 char16 __ovld __cnfn add_sat(char16 x, char16 y);
9405 uchar16 __ovld __cnfn add_sat(uchar16 x, uchar16 y);
9406 short __ovld __cnfn add_sat(short x, short y);
9407 ushort __ovld __cnfn add_sat(ushort x, ushort y);
9408 short2 __ovld __cnfn add_sat(short2 x, short2 y);
9409 ushort2 __ovld __cnfn add_sat(ushort2 x, ushort2 y);
9410 short3 __ovld __cnfn add_sat(short3 x, short3 y);
9411 ushort3 __ovld __cnfn add_sat(ushort3 x, ushort3 y);
9412 short4 __ovld __cnfn add_sat(short4 x, short4 y);
9413 ushort4 __ovld __cnfn add_sat(ushort4 x, ushort4 y);
9414 short8 __ovld __cnfn add_sat(short8 x, short8 y);
9415 ushort8 __ovld __cnfn add_sat(ushort8 x, ushort8 y);
9416 short16 __ovld __cnfn add_sat(short16 x, short16 y);
9417 ushort16 __ovld __cnfn add_sat(ushort16 x, ushort16 y);
9418 int __ovld __cnfn add_sat(int x, int y);
9419 uint __ovld __cnfn add_sat(uint x, uint y);
9420 int2 __ovld __cnfn add_sat(int2 x, int2 y);
9421 uint2 __ovld __cnfn add_sat(uint2 x, uint2 y);
9422 int3 __ovld __cnfn add_sat(int3 x, int3 y);
9423 uint3 __ovld __cnfn add_sat(uint3 x, uint3 y);
9424 int4 __ovld __cnfn add_sat(int4 x, int4 y);
9425 uint4 __ovld __cnfn add_sat(uint4 x, uint4 y);
9426 int8 __ovld __cnfn add_sat(int8 x, int8 y);
9427 uint8 __ovld __cnfn add_sat(uint8 x, uint8 y);
9428 int16 __ovld __cnfn add_sat(int16 x, int16 y);
9429 uint16 __ovld __cnfn add_sat(uint16 x, uint16 y);
9430 long __ovld __cnfn add_sat(long x, long y);
9431 ulong __ovld __cnfn add_sat(ulong x, ulong y);
9432 long2 __ovld __cnfn add_sat(long2 x, long2 y);
9433 ulong2 __ovld __cnfn add_sat(ulong2 x, ulong2 y);
9434 long3 __ovld __cnfn add_sat(long3 x, long3 y);
9435 ulong3 __ovld __cnfn add_sat(ulong3 x, ulong3 y);
9436 long4 __ovld __cnfn add_sat(long4 x, long4 y);
9437 ulong4 __ovld __cnfn add_sat(ulong4 x, ulong4 y);
9438 long8 __ovld __cnfn add_sat(long8 x, long8 y);
9439 ulong8 __ovld __cnfn add_sat(ulong8 x, ulong8 y);
9440 long16 __ovld __cnfn add_sat(long16 x, long16 y);
9441 ulong16 __ovld __cnfn add_sat(ulong16 x, ulong16 y);
9442
9443 /**
9444  * Returns (x + y) >> 1. The intermediate sum does
9445  * not modulo overflow.
9446  */
9447 char __ovld __cnfn hadd(char x, char y);
9448 uchar __ovld __cnfn hadd(uchar x, uchar y);
9449 char2 __ovld __cnfn hadd(char2 x, char2 y);
9450 uchar2 __ovld __cnfn hadd(uchar2 x, uchar2 y);
9451 char3 __ovld __cnfn hadd(char3 x, char3 y);
9452 uchar3 __ovld __cnfn hadd(uchar3 x, uchar3 y);
9453 char4 __ovld __cnfn hadd(char4 x, char4 y);
9454 uchar4 __ovld __cnfn hadd(uchar4 x, uchar4 y);
9455 char8 __ovld __cnfn hadd(char8 x, char8 y);
9456 uchar8 __ovld __cnfn hadd(uchar8 x, uchar8 y);
9457 char16 __ovld __cnfn hadd(char16 x, char16 y);
9458 uchar16 __ovld __cnfn hadd(uchar16 x, uchar16 y);
9459 short __ovld __cnfn hadd(short x, short y);
9460 ushort __ovld __cnfn hadd(ushort x, ushort y);
9461 short2 __ovld __cnfn hadd(short2 x, short2 y);
9462 ushort2 __ovld __cnfn hadd(ushort2 x, ushort2 y);
9463 short3 __ovld __cnfn hadd(short3 x, short3 y);
9464 ushort3 __ovld __cnfn hadd(ushort3 x, ushort3 y);
9465 short4 __ovld __cnfn hadd(short4 x, short4 y);
9466 ushort4 __ovld __cnfn hadd(ushort4 x, ushort4 y);
9467 short8 __ovld __cnfn hadd(short8 x, short8 y);
9468 ushort8 __ovld __cnfn hadd(ushort8 x, ushort8 y);
9469 short16 __ovld __cnfn hadd(short16 x, short16 y);
9470 ushort16 __ovld __cnfn hadd(ushort16 x, ushort16 y);
9471 int __ovld __cnfn hadd(int x, int y);
9472 uint __ovld __cnfn hadd(uint x, uint y);
9473 int2 __ovld __cnfn hadd(int2 x, int2 y);
9474 uint2 __ovld __cnfn hadd(uint2 x, uint2 y);
9475 int3 __ovld __cnfn hadd(int3 x, int3 y);
9476 uint3 __ovld __cnfn hadd(uint3 x, uint3 y);
9477 int4 __ovld __cnfn hadd(int4 x, int4 y);
9478 uint4 __ovld __cnfn hadd(uint4 x, uint4 y);
9479 int8 __ovld __cnfn hadd(int8 x, int8 y);
9480 uint8 __ovld __cnfn hadd(uint8 x, uint8 y);
9481 int16 __ovld __cnfn hadd(int16 x, int16 y);
9482 uint16 __ovld __cnfn hadd(uint16 x, uint16 y);
9483 long __ovld __cnfn hadd(long x, long y);
9484 ulong __ovld __cnfn hadd(ulong x, ulong y);
9485 long2 __ovld __cnfn hadd(long2 x, long2 y);
9486 ulong2 __ovld __cnfn hadd(ulong2 x, ulong2 y);
9487 long3 __ovld __cnfn hadd(long3 x, long3 y);
9488 ulong3 __ovld __cnfn hadd(ulong3 x, ulong3 y);
9489 long4 __ovld __cnfn hadd(long4 x, long4 y);
9490 ulong4 __ovld __cnfn hadd(ulong4 x, ulong4 y);
9491 long8 __ovld __cnfn hadd(long8 x, long8 y);
9492 ulong8 __ovld __cnfn hadd(ulong8 x, ulong8 y);
9493 long16 __ovld __cnfn hadd(long16 x, long16 y);
9494 ulong16 __ovld __cnfn hadd(ulong16 x, ulong16 y);
9495
9496 /**
9497  * Returns (x + y + 1) >> 1. The intermediate sum
9498  * does not modulo overflow.
9499  */
9500 char __ovld __cnfn rhadd(char x, char y);
9501 uchar __ovld __cnfn rhadd(uchar x, uchar y);
9502 char2 __ovld __cnfn rhadd(char2 x, char2 y);
9503 uchar2 __ovld __cnfn rhadd(uchar2 x, uchar2 y);
9504 char3 __ovld __cnfn rhadd(char3 x, char3 y);
9505 uchar3 __ovld __cnfn rhadd(uchar3 x, uchar3 y);
9506 char4 __ovld __cnfn rhadd(char4 x, char4 y);
9507 uchar4 __ovld __cnfn rhadd(uchar4 x, uchar4 y);
9508 char8 __ovld __cnfn rhadd(char8 x, char8 y);
9509 uchar8 __ovld __cnfn rhadd(uchar8 x, uchar8 y);
9510 char16 __ovld __cnfn rhadd(char16 x, char16 y);
9511 uchar16 __ovld __cnfn rhadd(uchar16 x, uchar16 y);
9512 short __ovld __cnfn rhadd(short x, short y);
9513 ushort __ovld __cnfn rhadd(ushort x, ushort y);
9514 short2 __ovld __cnfn rhadd(short2 x, short2 y);
9515 ushort2 __ovld __cnfn rhadd(ushort2 x, ushort2 y);
9516 short3 __ovld __cnfn rhadd(short3 x, short3 y);
9517 ushort3 __ovld __cnfn rhadd(ushort3 x, ushort3 y);
9518 short4 __ovld __cnfn rhadd(short4 x, short4 y);
9519 ushort4 __ovld __cnfn rhadd(ushort4 x, ushort4 y);
9520 short8 __ovld __cnfn rhadd(short8 x, short8 y);
9521 ushort8 __ovld __cnfn rhadd(ushort8 x, ushort8 y);
9522 short16 __ovld __cnfn rhadd(short16 x, short16 y);
9523 ushort16 __ovld __cnfn rhadd(ushort16 x, ushort16 y);
9524 int __ovld __cnfn rhadd(int x, int y);
9525 uint __ovld __cnfn rhadd(uint x, uint y);
9526 int2 __ovld __cnfn rhadd(int2 x, int2 y);
9527 uint2 __ovld __cnfn rhadd(uint2 x, uint2 y);
9528 int3 __ovld __cnfn rhadd(int3 x, int3 y);
9529 uint3 __ovld __cnfn rhadd(uint3 x, uint3 y);
9530 int4 __ovld __cnfn rhadd(int4 x, int4 y);
9531 uint4 __ovld __cnfn rhadd(uint4 x, uint4 y);
9532 int8 __ovld __cnfn rhadd(int8 x, int8 y);
9533 uint8 __ovld __cnfn rhadd(uint8 x, uint8 y);
9534 int16 __ovld __cnfn rhadd(int16 x, int16 y);
9535 uint16 __ovld __cnfn rhadd(uint16 x, uint16 y);
9536 long __ovld __cnfn rhadd(long x, long y);
9537 ulong __ovld __cnfn rhadd(ulong x, ulong y);
9538 long2 __ovld __cnfn rhadd(long2 x, long2 y);
9539 ulong2 __ovld __cnfn rhadd(ulong2 x, ulong2 y);
9540 long3 __ovld __cnfn rhadd(long3 x, long3 y);
9541 ulong3 __ovld __cnfn rhadd(ulong3 x, ulong3 y);
9542 long4 __ovld __cnfn rhadd(long4 x, long4 y);
9543 ulong4 __ovld __cnfn rhadd(ulong4 x, ulong4 y);
9544 long8 __ovld __cnfn rhadd(long8 x, long8 y);
9545 ulong8 __ovld __cnfn rhadd(ulong8 x, ulong8 y);
9546 long16 __ovld __cnfn rhadd(long16 x, long16 y);
9547 ulong16 __ovld __cnfn rhadd(ulong16 x, ulong16 y);
9548
9549 /**
9550  * Returns min(max(x, minval), maxval).
9551  * Results are undefined if minval > maxval.
9552  */
9553 char __ovld __cnfn clamp(char x, char minval, char maxval);
9554 uchar __ovld __cnfn clamp(uchar x, uchar minval, uchar maxval);
9555 char2 __ovld __cnfn clamp(char2 x, char2 minval, char2 maxval);
9556 uchar2 __ovld __cnfn clamp(uchar2 x, uchar2 minval, uchar2 maxval);
9557 char3 __ovld __cnfn clamp(char3 x, char3 minval, char3 maxval);
9558 uchar3 __ovld __cnfn clamp(uchar3 x, uchar3 minval, uchar3 maxval);
9559 char4 __ovld __cnfn clamp(char4 x, char4 minval, char4 maxval);
9560 uchar4 __ovld __cnfn clamp(uchar4 x, uchar4 minval, uchar4 maxval);
9561 char8 __ovld __cnfn clamp(char8 x, char8 minval, char8 maxval);
9562 uchar8 __ovld __cnfn clamp(uchar8 x, uchar8 minval, uchar8 maxval);
9563 char16 __ovld __cnfn clamp(char16 x, char16 minval, char16 maxval);
9564 uchar16 __ovld __cnfn clamp(uchar16 x, uchar16 minval, uchar16 maxval);
9565 short __ovld __cnfn clamp(short x, short minval, short maxval);
9566 ushort __ovld __cnfn clamp(ushort x, ushort minval, ushort maxval);
9567 short2 __ovld __cnfn clamp(short2 x, short2 minval, short2 maxval);
9568 ushort2 __ovld __cnfn clamp(ushort2 x, ushort2 minval, ushort2 maxval);
9569 short3 __ovld __cnfn clamp(short3 x, short3 minval, short3 maxval);
9570 ushort3 __ovld __cnfn clamp(ushort3 x, ushort3 minval, ushort3 maxval);
9571 short4 __ovld __cnfn clamp(short4 x, short4 minval, short4 maxval);
9572 ushort4 __ovld __cnfn clamp(ushort4 x, ushort4 minval, ushort4 maxval);
9573 short8 __ovld __cnfn clamp(short8 x, short8 minval, short8 maxval);
9574 ushort8 __ovld __cnfn clamp(ushort8 x, ushort8 minval, ushort8 maxval);
9575 short16 __ovld __cnfn clamp(short16 x, short16 minval, short16 maxval);
9576 ushort16 __ovld __cnfn clamp(ushort16 x, ushort16 minval, ushort16 maxval);
9577 int __ovld __cnfn clamp(int x, int minval, int maxval);
9578 uint __ovld __cnfn clamp(uint x, uint minval, uint maxval);
9579 int2 __ovld __cnfn clamp(int2 x, int2 minval, int2 maxval);
9580 uint2 __ovld __cnfn clamp(uint2 x, uint2 minval, uint2 maxval);
9581 int3 __ovld __cnfn clamp(int3 x, int3 minval, int3 maxval);
9582 uint3 __ovld __cnfn clamp(uint3 x, uint3 minval, uint3 maxval);
9583 int4 __ovld __cnfn clamp(int4 x, int4 minval, int4 maxval);
9584 uint4 __ovld __cnfn clamp(uint4 x, uint4 minval, uint4 maxval);
9585 int8 __ovld __cnfn clamp(int8 x, int8 minval, int8 maxval);
9586 uint8 __ovld __cnfn clamp(uint8 x, uint8 minval, uint8 maxval);
9587 int16 __ovld __cnfn clamp(int16 x, int16 minval, int16 maxval);
9588 uint16 __ovld __cnfn clamp(uint16 x, uint16 minval, uint16 maxval);
9589 long __ovld __cnfn clamp(long x, long minval, long maxval);
9590 ulong __ovld __cnfn clamp(ulong x, ulong minval, ulong maxval);
9591 long2 __ovld __cnfn clamp(long2 x, long2 minval, long2 maxval);
9592 ulong2 __ovld __cnfn clamp(ulong2 x, ulong2 minval, ulong2 maxval);
9593 long3 __ovld __cnfn clamp(long3 x, long3 minval, long3 maxval);
9594 ulong3 __ovld __cnfn clamp(ulong3 x, ulong3 minval, ulong3 maxval);
9595 long4 __ovld __cnfn clamp(long4 x, long4 minval, long4 maxval);
9596 ulong4 __ovld __cnfn clamp(ulong4 x, ulong4 minval, ulong4 maxval);
9597 long8 __ovld __cnfn clamp(long8 x, long8 minval, long8 maxval);
9598 ulong8 __ovld __cnfn clamp(ulong8 x, ulong8 minval, ulong8 maxval);
9599 long16 __ovld __cnfn clamp(long16 x, long16 minval, long16 maxval);
9600 ulong16 __ovld __cnfn clamp(ulong16 x, ulong16 minval, ulong16 maxval);
9601 char __ovld __cnfn clamp(char x, char minval, char maxval);
9602 uchar __ovld __cnfn clamp(uchar x, uchar minval, uchar maxval);
9603 char2 __ovld __cnfn clamp(char2 x, char minval, char maxval);
9604 uchar2 __ovld __cnfn clamp(uchar2 x, uchar minval, uchar maxval);
9605 char3 __ovld __cnfn clamp(char3 x, char minval, char maxval);
9606 uchar3 __ovld __cnfn clamp(uchar3 x, uchar minval, uchar maxval);
9607 char4 __ovld __cnfn clamp(char4 x, char minval, char maxval);
9608 uchar4 __ovld __cnfn clamp(uchar4 x, uchar minval, uchar maxval);
9609 char8 __ovld __cnfn clamp(char8 x, char minval, char maxval);
9610 uchar8 __ovld __cnfn clamp(uchar8 x, uchar minval, uchar maxval);
9611 char16 __ovld __cnfn clamp(char16 x, char minval, char maxval);
9612 uchar16 __ovld __cnfn clamp(uchar16 x, uchar minval, uchar maxval);
9613 short __ovld __cnfn clamp(short x, short minval, short maxval);
9614 ushort __ovld __cnfn clamp(ushort x, ushort minval, ushort maxval);
9615 short2 __ovld __cnfn clamp(short2 x, short minval, short maxval);
9616 ushort2 __ovld __cnfn clamp(ushort2 x, ushort minval, ushort maxval);
9617 short3 __ovld __cnfn clamp(short3 x, short minval, short maxval);
9618 ushort3 __ovld __cnfn clamp(ushort3 x, ushort minval, ushort maxval);
9619 short4 __ovld __cnfn clamp(short4 x, short minval, short maxval);
9620 ushort4 __ovld __cnfn clamp(ushort4 x, ushort minval, ushort maxval);
9621 short8 __ovld __cnfn clamp(short8 x, short minval, short maxval);
9622 ushort8 __ovld __cnfn clamp(ushort8 x, ushort minval, ushort maxval);
9623 short16 __ovld __cnfn clamp(short16 x, short minval, short maxval);
9624 ushort16 __ovld __cnfn clamp(ushort16 x, ushort minval, ushort maxval);
9625 int __ovld __cnfn clamp(int x, int minval, int maxval);
9626 uint __ovld __cnfn clamp(uint x, uint minval, uint maxval);
9627 int2 __ovld __cnfn clamp(int2 x, int minval, int maxval);
9628 uint2 __ovld __cnfn clamp(uint2 x, uint minval, uint maxval);
9629 int3 __ovld __cnfn clamp(int3 x, int minval, int maxval);
9630 uint3 __ovld __cnfn clamp(uint3 x, uint minval, uint maxval);
9631 int4 __ovld __cnfn clamp(int4 x, int minval, int maxval);
9632 uint4 __ovld __cnfn clamp(uint4 x, uint minval, uint maxval);
9633 int8 __ovld __cnfn clamp(int8 x, int minval, int maxval);
9634 uint8 __ovld __cnfn clamp(uint8 x, uint minval, uint maxval);
9635 int16 __ovld __cnfn clamp(int16 x, int minval, int maxval);
9636 uint16 __ovld __cnfn clamp(uint16 x, uint minval, uint maxval);
9637 long __ovld __cnfn clamp(long x, long minval, long maxval);
9638 ulong __ovld __cnfn clamp(ulong x, ulong minval, ulong maxval);
9639 long2 __ovld __cnfn clamp(long2 x, long minval, long maxval);
9640 ulong2 __ovld __cnfn clamp(ulong2 x, ulong minval, ulong maxval);
9641 long3 __ovld __cnfn clamp(long3 x, long minval, long maxval);
9642 ulong3 __ovld __cnfn clamp(ulong3 x, ulong minval, ulong maxval);
9643 long4 __ovld __cnfn clamp(long4 x, long minval, long maxval);
9644 ulong4 __ovld __cnfn clamp(ulong4 x, ulong minval, ulong maxval);
9645 long8 __ovld __cnfn clamp(long8 x, long minval, long maxval);
9646 ulong8 __ovld __cnfn clamp(ulong8 x, ulong minval, ulong maxval);
9647 long16 __ovld __cnfn clamp(long16 x, long minval, long maxval);
9648 ulong16 __ovld __cnfn clamp(ulong16 x, ulong minval, ulong maxval);
9649
9650 /**
9651  * Returns the number of leading 0-bits in x, starting
9652  * at the most significant bit position.
9653  */
9654 char __ovld __cnfn clz(char x);
9655 uchar __ovld __cnfn clz(uchar x);
9656 char2 __ovld __cnfn clz(char2 x);
9657 uchar2 __ovld __cnfn clz(uchar2 x);
9658 char3 __ovld __cnfn clz(char3 x);
9659 uchar3 __ovld __cnfn clz(uchar3 x);
9660 char4 __ovld __cnfn clz(char4 x);
9661 uchar4 __ovld __cnfn clz(uchar4 x);
9662 char8 __ovld __cnfn clz(char8 x);
9663 uchar8 __ovld __cnfn clz(uchar8 x);
9664 char16 __ovld __cnfn clz(char16 x);
9665 uchar16 __ovld __cnfn clz(uchar16 x);
9666 short __ovld __cnfn clz(short x);
9667 ushort __ovld __cnfn clz(ushort x);
9668 short2 __ovld __cnfn clz(short2 x);
9669 ushort2 __ovld __cnfn clz(ushort2 x);
9670 short3 __ovld __cnfn clz(short3 x);
9671 ushort3 __ovld __cnfn clz(ushort3 x);
9672 short4 __ovld __cnfn clz(short4 x);
9673 ushort4 __ovld __cnfn clz(ushort4 x);
9674 short8 __ovld __cnfn clz(short8 x);
9675 ushort8 __ovld __cnfn clz(ushort8 x);
9676 short16 __ovld __cnfn clz(short16 x);
9677 ushort16 __ovld __cnfn clz(ushort16 x);
9678 int __ovld __cnfn clz(int x);
9679 uint __ovld __cnfn clz(uint x);
9680 int2 __ovld __cnfn clz(int2 x);
9681 uint2 __ovld __cnfn clz(uint2 x);
9682 int3 __ovld __cnfn clz(int3 x);
9683 uint3 __ovld __cnfn clz(uint3 x);
9684 int4 __ovld __cnfn clz(int4 x);
9685 uint4 __ovld __cnfn clz(uint4 x);
9686 int8 __ovld __cnfn clz(int8 x);
9687 uint8 __ovld __cnfn clz(uint8 x);
9688 int16 __ovld __cnfn clz(int16 x);
9689 uint16 __ovld __cnfn clz(uint16 x);
9690 long __ovld __cnfn clz(long x);
9691 ulong __ovld __cnfn clz(ulong x);
9692 long2 __ovld __cnfn clz(long2 x);
9693 ulong2 __ovld __cnfn clz(ulong2 x);
9694 long3 __ovld __cnfn clz(long3 x);
9695 ulong3 __ovld __cnfn clz(ulong3 x);
9696 long4 __ovld __cnfn clz(long4 x);
9697 ulong4 __ovld __cnfn clz(ulong4 x);
9698 long8 __ovld __cnfn clz(long8 x);
9699 ulong8 __ovld __cnfn clz(ulong8 x);
9700 long16 __ovld __cnfn clz(long16 x);
9701 ulong16 __ovld __cnfn clz(ulong16 x);
9702
9703 /**
9704  * Returns the count of trailing 0-bits in x. If x is 0,
9705  * returns the size in bits of the type of x or
9706  * component type of x, if x is a vector.
9707  */
9708 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
9709 char __ovld ctz(char x);
9710 uchar __ovld ctz(uchar x);
9711 char2 __ovld ctz(char2 x);
9712 uchar2 __ovld ctz(uchar2 x);
9713 char3 __ovld ctz(char3 x);
9714 uchar3 __ovld ctz(uchar3 x);
9715 char4 __ovld ctz(char4 x);
9716 uchar4 __ovld ctz(uchar4 x);
9717 char8 __ovld ctz(char8 x);
9718 uchar8 __ovld ctz(uchar8 x);
9719 char16 __ovld ctz(char16 x);
9720 uchar16 __ovld ctz(uchar16 x);
9721 short __ovld ctz(short x);
9722 ushort __ovld ctz(ushort x);
9723 short2 __ovld ctz(short2 x);
9724 ushort2 __ovld ctz(ushort2 x);
9725 short3 __ovld ctz(short3 x);
9726 ushort3 __ovld ctz(ushort3 x);
9727 short4 __ovld ctz(short4 x);
9728 ushort4 __ovld ctz(ushort4 x);
9729 short8 __ovld ctz(short8 x);
9730 ushort8 __ovld ctz(ushort8 x);
9731 short16 __ovld ctz(short16 x);
9732 ushort16 __ovld ctz(ushort16 x);
9733 int __ovld ctz(int x);
9734 uint __ovld ctz(uint x);
9735 int2 __ovld ctz(int2 x);
9736 uint2 __ovld ctz(uint2 x);
9737 int3 __ovld ctz(int3 x);
9738 uint3 __ovld ctz(uint3 x);
9739 int4 __ovld ctz(int4 x);
9740 uint4 __ovld ctz(uint4 x);
9741 int8 __ovld ctz(int8 x);
9742 uint8 __ovld ctz(uint8 x);
9743 int16 __ovld ctz(int16 x);
9744 uint16 __ovld ctz(uint16 x);
9745 long __ovld ctz(long x);
9746 ulong __ovld ctz(ulong x);
9747 long2 __ovld ctz(long2 x);
9748 ulong2 __ovld ctz(ulong2 x);
9749 long3 __ovld ctz(long3 x);
9750 ulong3 __ovld ctz(ulong3 x);
9751 long4 __ovld ctz(long4 x);
9752 ulong4 __ovld ctz(ulong4 x);
9753 long8 __ovld ctz(long8 x);
9754 ulong8 __ovld ctz(ulong8 x);
9755 long16 __ovld ctz(long16 x);
9756 ulong16 __ovld ctz(ulong16 x);
9757 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
9758
9759 /**
9760  * Returns mul_hi(a, b) + c.
9761  */
9762 char __ovld __cnfn mad_hi(char a, char b, char c);
9763 uchar __ovld __cnfn mad_hi(uchar a, uchar b, uchar c);
9764 char2 __ovld __cnfn mad_hi(char2 a, char2 b, char2 c);
9765 uchar2 __ovld __cnfn mad_hi(uchar2 a, uchar2 b, uchar2 c);
9766 char3 __ovld __cnfn mad_hi(char3 a, char3 b, char3 c);
9767 uchar3 __ovld __cnfn mad_hi(uchar3 a, uchar3 b, uchar3 c);
9768 char4 __ovld __cnfn mad_hi(char4 a, char4 b, char4 c);
9769 uchar4 __ovld __cnfn mad_hi(uchar4 a, uchar4 b, uchar4 c);
9770 char8 __ovld __cnfn mad_hi(char8 a, char8 b, char8 c);
9771 uchar8 __ovld __cnfn mad_hi(uchar8 a, uchar8 b, uchar8 c);
9772 char16 __ovld __cnfn mad_hi(char16 a, char16 b, char16 c);
9773 uchar16 __ovld __cnfn mad_hi(uchar16 a, uchar16 b, uchar16 c);
9774 short __ovld __cnfn mad_hi(short a, short b, short c);
9775 ushort __ovld __cnfn mad_hi(ushort a, ushort b, ushort c);
9776 short2 __ovld __cnfn mad_hi(short2 a, short2 b, short2 c);
9777 ushort2 __ovld __cnfn mad_hi(ushort2 a, ushort2 b, ushort2 c);
9778 short3 __ovld __cnfn mad_hi(short3 a, short3 b, short3 c);
9779 ushort3 __ovld __cnfn mad_hi(ushort3 a, ushort3 b, ushort3 c);
9780 short4 __ovld __cnfn mad_hi(short4 a, short4 b, short4 c);
9781 ushort4 __ovld __cnfn mad_hi(ushort4 a, ushort4 b, ushort4 c);
9782 short8 __ovld __cnfn mad_hi(short8 a, short8 b, short8 c);
9783 ushort8 __ovld __cnfn mad_hi(ushort8 a, ushort8 b, ushort8 c);
9784 short16 __ovld __cnfn mad_hi(short16 a, short16 b, short16 c);
9785 ushort16 __ovld __cnfn mad_hi(ushort16 a, ushort16 b, ushort16 c);
9786 int __ovld __cnfn mad_hi(int a, int b, int c);
9787 uint __ovld __cnfn mad_hi(uint a, uint b, uint c);
9788 int2 __ovld __cnfn mad_hi(int2 a, int2 b, int2 c);
9789 uint2 __ovld __cnfn mad_hi(uint2 a, uint2 b, uint2 c);
9790 int3 __ovld __cnfn mad_hi(int3 a, int3 b, int3 c);
9791 uint3 __ovld __cnfn mad_hi(uint3 a, uint3 b, uint3 c);
9792 int4 __ovld __cnfn mad_hi(int4 a, int4 b, int4 c);
9793 uint4 __ovld __cnfn mad_hi(uint4 a, uint4 b, uint4 c);
9794 int8 __ovld __cnfn mad_hi(int8 a, int8 b, int8 c);
9795 uint8 __ovld __cnfn mad_hi(uint8 a, uint8 b, uint8 c);
9796 int16 __ovld __cnfn mad_hi(int16 a, int16 b, int16 c);
9797 uint16 __ovld __cnfn mad_hi(uint16 a, uint16 b, uint16 c);
9798 long __ovld __cnfn mad_hi(long a, long b, long c);
9799 ulong __ovld __cnfn mad_hi(ulong a, ulong b, ulong c);
9800 long2 __ovld __cnfn mad_hi(long2 a, long2 b, long2 c);
9801 ulong2 __ovld __cnfn mad_hi(ulong2 a, ulong2 b, ulong2 c);
9802 long3 __ovld __cnfn mad_hi(long3 a, long3 b, long3 c);
9803 ulong3 __ovld __cnfn mad_hi(ulong3 a, ulong3 b, ulong3 c);
9804 long4 __ovld __cnfn mad_hi(long4 a, long4 b, long4 c);
9805 ulong4 __ovld __cnfn mad_hi(ulong4 a, ulong4 b, ulong4 c);
9806 long8 __ovld __cnfn mad_hi(long8 a, long8 b, long8 c);
9807 ulong8 __ovld __cnfn mad_hi(ulong8 a, ulong8 b, ulong8 c);
9808 long16 __ovld __cnfn mad_hi(long16 a, long16 b, long16 c);
9809 ulong16 __ovld __cnfn mad_hi(ulong16 a, ulong16 b, ulong16 c);
9810
9811 /**
9812  * Returns a * b + c and saturates the result.
9813  */
9814 char __ovld __cnfn mad_sat(char a, char b, char c);
9815 uchar __ovld __cnfn mad_sat(uchar a, uchar b, uchar c);
9816 char2 __ovld __cnfn mad_sat(char2 a, char2 b, char2 c);
9817 uchar2 __ovld __cnfn mad_sat(uchar2 a, uchar2 b, uchar2 c);
9818 char3 __ovld __cnfn mad_sat(char3 a, char3 b, char3 c);
9819 uchar3 __ovld __cnfn mad_sat(uchar3 a, uchar3 b, uchar3 c);
9820 char4 __ovld __cnfn mad_sat(char4 a, char4 b, char4 c);
9821 uchar4 __ovld __cnfn mad_sat(uchar4 a, uchar4 b, uchar4 c);
9822 char8 __ovld __cnfn mad_sat(char8 a, char8 b, char8 c);
9823 uchar8 __ovld __cnfn mad_sat(uchar8 a, uchar8 b, uchar8 c);
9824 char16 __ovld __cnfn mad_sat(char16 a, char16 b, char16 c);
9825 uchar16 __ovld __cnfn mad_sat(uchar16 a, uchar16 b, uchar16 c);
9826 short __ovld __cnfn mad_sat(short a, short b, short c);
9827 ushort __ovld __cnfn mad_sat(ushort a, ushort b, ushort c);
9828 short2 __ovld __cnfn mad_sat(short2 a, short2 b, short2 c);
9829 ushort2 __ovld __cnfn mad_sat(ushort2 a, ushort2 b, ushort2 c);
9830 short3 __ovld __cnfn mad_sat(short3 a, short3 b, short3 c);
9831 ushort3 __ovld __cnfn mad_sat(ushort3 a, ushort3 b, ushort3 c);
9832 short4 __ovld __cnfn mad_sat(short4 a, short4 b, short4 c);
9833 ushort4 __ovld __cnfn mad_sat(ushort4 a, ushort4 b, ushort4 c);
9834 short8 __ovld __cnfn mad_sat(short8 a, short8 b, short8 c);
9835 ushort8 __ovld __cnfn mad_sat(ushort8 a, ushort8 b, ushort8 c);
9836 short16 __ovld __cnfn mad_sat(short16 a, short16 b, short16 c);
9837 ushort16 __ovld __cnfn mad_sat(ushort16 a, ushort16 b, ushort16 c);
9838 int __ovld __cnfn mad_sat(int a, int b, int c);
9839 uint __ovld __cnfn mad_sat(uint a, uint b, uint c);
9840 int2 __ovld __cnfn mad_sat(int2 a, int2 b, int2 c);
9841 uint2 __ovld __cnfn mad_sat(uint2 a, uint2 b, uint2 c);
9842 int3 __ovld __cnfn mad_sat(int3 a, int3 b, int3 c);
9843 uint3 __ovld __cnfn mad_sat(uint3 a, uint3 b, uint3 c);
9844 int4 __ovld __cnfn mad_sat(int4 a, int4 b, int4 c);
9845 uint4 __ovld __cnfn mad_sat(uint4 a, uint4 b, uint4 c);
9846 int8 __ovld __cnfn mad_sat(int8 a, int8 b, int8 c);
9847 uint8 __ovld __cnfn mad_sat(uint8 a, uint8 b, uint8 c);
9848 int16 __ovld __cnfn mad_sat(int16 a, int16 b, int16 c);
9849 uint16 __ovld __cnfn mad_sat(uint16 a, uint16 b, uint16 c);
9850 long __ovld __cnfn mad_sat(long a, long b, long c);
9851 ulong __ovld __cnfn mad_sat(ulong a, ulong b, ulong c);
9852 long2 __ovld __cnfn mad_sat(long2 a, long2 b, long2 c);
9853 ulong2 __ovld __cnfn mad_sat(ulong2 a, ulong2 b, ulong2 c);
9854 long3 __ovld __cnfn mad_sat(long3 a, long3 b, long3 c);
9855 ulong3 __ovld __cnfn mad_sat(ulong3 a, ulong3 b, ulong3 c);
9856 long4 __ovld __cnfn mad_sat(long4 a, long4 b, long4 c);
9857 ulong4 __ovld __cnfn mad_sat(ulong4 a, ulong4 b, ulong4 c);
9858 long8 __ovld __cnfn mad_sat(long8 a, long8 b, long8 c);
9859 ulong8 __ovld __cnfn mad_sat(ulong8 a, ulong8 b, ulong8 c);
9860 long16 __ovld __cnfn mad_sat(long16 a, long16 b, long16 c);
9861 ulong16 __ovld __cnfn mad_sat(ulong16 a, ulong16 b, ulong16 c);
9862
9863 /**
9864  * Returns y if x < y, otherwise it returns x.
9865  */
9866 char __ovld __cnfn max(char x, char y);
9867 uchar __ovld __cnfn max(uchar x, uchar y);
9868 char2 __ovld __cnfn max(char2 x, char2 y);
9869 uchar2 __ovld __cnfn max(uchar2 x, uchar2 y);
9870 char3 __ovld __cnfn max(char3 x, char3 y);
9871 uchar3 __ovld __cnfn max(uchar3 x, uchar3 y);
9872 char4 __ovld __cnfn max(char4 x, char4 y);
9873 uchar4 __ovld __cnfn max(uchar4 x, uchar4 y);
9874 char8 __ovld __cnfn max(char8 x, char8 y);
9875 uchar8 __ovld __cnfn max(uchar8 x, uchar8 y);
9876 char16 __ovld __cnfn max(char16 x, char16 y);
9877 uchar16 __ovld __cnfn max(uchar16 x, uchar16 y);
9878 short __ovld __cnfn max(short x, short y);
9879 ushort __ovld __cnfn max(ushort x, ushort y);
9880 short2 __ovld __cnfn max(short2 x, short2 y);
9881 ushort2 __ovld __cnfn max(ushort2 x, ushort2 y);
9882 short3 __ovld __cnfn max(short3 x, short3 y);
9883 ushort3 __ovld __cnfn max(ushort3 x, ushort3 y);
9884 short4 __ovld __cnfn max(short4 x, short4 y);
9885 ushort4 __ovld __cnfn max(ushort4 x, ushort4 y);
9886 short8 __ovld __cnfn max(short8 x, short8 y);
9887 ushort8 __ovld __cnfn max(ushort8 x, ushort8 y);
9888 short16 __ovld __cnfn max(short16 x, short16 y);
9889 ushort16 __ovld __cnfn max(ushort16 x, ushort16 y);
9890 int __ovld __cnfn max(int x, int y);
9891 uint __ovld __cnfn max(uint x, uint y);
9892 int2 __ovld __cnfn max(int2 x, int2 y);
9893 uint2 __ovld __cnfn max(uint2 x, uint2 y);
9894 int3 __ovld __cnfn max(int3 x, int3 y);
9895 uint3 __ovld __cnfn max(uint3 x, uint3 y);
9896 int4 __ovld __cnfn max(int4 x, int4 y);
9897 uint4 __ovld __cnfn max(uint4 x, uint4 y);
9898 int8 __ovld __cnfn max(int8 x, int8 y);
9899 uint8 __ovld __cnfn max(uint8 x, uint8 y);
9900 int16 __ovld __cnfn max(int16 x, int16 y);
9901 uint16 __ovld __cnfn max(uint16 x, uint16 y);
9902 long __ovld __cnfn max(long x, long y);
9903 ulong __ovld __cnfn max(ulong x, ulong y);
9904 long2 __ovld __cnfn max(long2 x, long2 y);
9905 ulong2 __ovld __cnfn max(ulong2 x, ulong2 y);
9906 long3 __ovld __cnfn max(long3 x, long3 y);
9907 ulong3 __ovld __cnfn max(ulong3 x, ulong3 y);
9908 long4 __ovld __cnfn max(long4 x, long4 y);
9909 ulong4 __ovld __cnfn max(ulong4 x, ulong4 y);
9910 long8 __ovld __cnfn max(long8 x, long8 y);
9911 ulong8 __ovld __cnfn max(ulong8 x, ulong8 y);
9912 long16 __ovld __cnfn max(long16 x, long16 y);
9913 ulong16 __ovld __cnfn max(ulong16 x, ulong16 y);
9914 char __ovld __cnfn max(char x, char y);
9915 uchar __ovld __cnfn max(uchar x, uchar y);
9916 char2 __ovld __cnfn max(char2 x, char y);
9917 uchar2 __ovld __cnfn max(uchar2 x, uchar y);
9918 char3 __ovld __cnfn max(char3 x, char y);
9919 uchar3 __ovld __cnfn max(uchar3 x, uchar y);
9920 char4 __ovld __cnfn max(char4 x, char y);
9921 uchar4 __ovld __cnfn max(uchar4 x, uchar y);
9922 char8 __ovld __cnfn max(char8 x, char y);
9923 uchar8 __ovld __cnfn max(uchar8 x, uchar y);
9924 char16 __ovld __cnfn max(char16 x, char y);
9925 uchar16 __ovld __cnfn max(uchar16 x, uchar y);
9926 short __ovld __cnfn max(short x, short y);
9927 ushort __ovld __cnfn max(ushort x, ushort y);
9928 short2 __ovld __cnfn max(short2 x, short y);
9929 ushort2 __ovld __cnfn max(ushort2 x, ushort y);
9930 short3 __ovld __cnfn max(short3 x, short y);
9931 ushort3 __ovld __cnfn max(ushort3 x, ushort y);
9932 short4 __ovld __cnfn max(short4 x, short y);
9933 ushort4 __ovld __cnfn max(ushort4 x, ushort y);
9934 short8 __ovld __cnfn max(short8 x, short y);
9935 ushort8 __ovld __cnfn max(ushort8 x, ushort y);
9936 short16 __ovld __cnfn max(short16 x, short y);
9937 ushort16 __ovld __cnfn max(ushort16 x, ushort y);
9938 int __ovld __cnfn max(int x, int y);
9939 uint __ovld __cnfn max(uint x, uint y);
9940 int2 __ovld __cnfn max(int2 x, int y);
9941 uint2 __ovld __cnfn max(uint2 x, uint y);
9942 int3 __ovld __cnfn max(int3 x, int y);
9943 uint3 __ovld __cnfn max(uint3 x, uint y);
9944 int4 __ovld __cnfn max(int4 x, int y);
9945 uint4 __ovld __cnfn max(uint4 x, uint y);
9946 int8 __ovld __cnfn max(int8 x, int y);
9947 uint8 __ovld __cnfn max(uint8 x, uint y);
9948 int16 __ovld __cnfn max(int16 x, int y);
9949 uint16 __ovld __cnfn max(uint16 x, uint y);
9950 long __ovld __cnfn max(long x, long y);
9951 ulong __ovld __cnfn max(ulong x, ulong y);
9952 long2 __ovld __cnfn max(long2 x, long y);
9953 ulong2 __ovld __cnfn max(ulong2 x, ulong y);
9954 long3 __ovld __cnfn max(long3 x, long y);
9955 ulong3 __ovld __cnfn max(ulong3 x, ulong y);
9956 long4 __ovld __cnfn max(long4 x, long y);
9957 ulong4 __ovld __cnfn max(ulong4 x, ulong y);
9958 long8 __ovld __cnfn max(long8 x, long y);
9959 ulong8 __ovld __cnfn max(ulong8 x, ulong y);
9960 long16 __ovld __cnfn max(long16 x, long y);
9961 ulong16 __ovld __cnfn max(ulong16 x, ulong y);
9962
9963 /**
9964  * Returns y if y < x, otherwise it returns x.
9965  */
9966 char __ovld __cnfn min(char x, char y);
9967 uchar __ovld __cnfn min(uchar x, uchar y);
9968 char2 __ovld __cnfn min(char2 x, char2 y);
9969 uchar2 __ovld __cnfn min(uchar2 x, uchar2 y);
9970 char3 __ovld __cnfn min(char3 x, char3 y);
9971 uchar3 __ovld __cnfn min(uchar3 x, uchar3 y);
9972 char4 __ovld __cnfn min(char4 x, char4 y);
9973 uchar4 __ovld __cnfn min(uchar4 x, uchar4 y);
9974 char8 __ovld __cnfn min(char8 x, char8 y);
9975 uchar8 __ovld __cnfn min(uchar8 x, uchar8 y);
9976 char16 __ovld __cnfn min(char16 x, char16 y);
9977 uchar16 __ovld __cnfn min(uchar16 x, uchar16 y);
9978 short __ovld __cnfn min(short x, short y);
9979 ushort __ovld __cnfn min(ushort x, ushort y);
9980 short2 __ovld __cnfn min(short2 x, short2 y);
9981 ushort2 __ovld __cnfn min(ushort2 x, ushort2 y);
9982 short3 __ovld __cnfn min(short3 x, short3 y);
9983 ushort3 __ovld __cnfn min(ushort3 x, ushort3 y);
9984 short4 __ovld __cnfn min(short4 x, short4 y);
9985 ushort4 __ovld __cnfn min(ushort4 x, ushort4 y);
9986 short8 __ovld __cnfn min(short8 x, short8 y);
9987 ushort8 __ovld __cnfn min(ushort8 x, ushort8 y);
9988 short16 __ovld __cnfn min(short16 x, short16 y);
9989 ushort16 __ovld __cnfn min(ushort16 x, ushort16 y);
9990 int __ovld __cnfn min(int x, int y);
9991 uint __ovld __cnfn min(uint x, uint y);
9992 int2 __ovld __cnfn min(int2 x, int2 y);
9993 uint2 __ovld __cnfn min(uint2 x, uint2 y);
9994 int3 __ovld __cnfn min(int3 x, int3 y);
9995 uint3 __ovld __cnfn min(uint3 x, uint3 y);
9996 int4 __ovld __cnfn min(int4 x, int4 y);
9997 uint4 __ovld __cnfn min(uint4 x, uint4 y);
9998 int8 __ovld __cnfn min(int8 x, int8 y);
9999 uint8 __ovld __cnfn min(uint8 x, uint8 y);
10000 int16 __ovld __cnfn min(int16 x, int16 y);
10001 uint16 __ovld __cnfn min(uint16 x, uint16 y);
10002 long __ovld __cnfn min(long x, long y);
10003 ulong __ovld __cnfn min(ulong x, ulong y);
10004 long2 __ovld __cnfn min(long2 x, long2 y);
10005 ulong2 __ovld __cnfn min(ulong2 x, ulong2 y);
10006 long3 __ovld __cnfn min(long3 x, long3 y);
10007 ulong3 __ovld __cnfn min(ulong3 x, ulong3 y);
10008 long4 __ovld __cnfn min(long4 x, long4 y);
10009 ulong4 __ovld __cnfn min(ulong4 x, ulong4 y);
10010 long8 __ovld __cnfn min(long8 x, long8 y);
10011 ulong8 __ovld __cnfn min(ulong8 x, ulong8 y);
10012 long16 __ovld __cnfn min(long16 x, long16 y);
10013 ulong16 __ovld __cnfn min(ulong16 x, ulong16 y);
10014 char __ovld __cnfn min(char x, char y);
10015 uchar __ovld __cnfn min(uchar x, uchar y);
10016 char2 __ovld __cnfn min(char2 x, char y);
10017 uchar2 __ovld __cnfn min(uchar2 x, uchar y);
10018 char3 __ovld __cnfn min(char3 x, char y);
10019 uchar3 __ovld __cnfn min(uchar3 x, uchar y);
10020 char4 __ovld __cnfn min(char4 x, char y);
10021 uchar4 __ovld __cnfn min(uchar4 x, uchar y);
10022 char8 __ovld __cnfn min(char8 x, char y);
10023 uchar8 __ovld __cnfn min(uchar8 x, uchar y);
10024 char16 __ovld __cnfn min(char16 x, char y);
10025 uchar16 __ovld __cnfn min(uchar16 x, uchar y);
10026 short __ovld __cnfn min(short x, short y);
10027 ushort __ovld __cnfn min(ushort x, ushort y);
10028 short2 __ovld __cnfn min(short2 x, short y);
10029 ushort2 __ovld __cnfn min(ushort2 x, ushort y);
10030 short3 __ovld __cnfn min(short3 x, short y);
10031 ushort3 __ovld __cnfn min(ushort3 x, ushort y);
10032 short4 __ovld __cnfn min(short4 x, short y);
10033 ushort4 __ovld __cnfn min(ushort4 x, ushort y);
10034 short8 __ovld __cnfn min(short8 x, short y);
10035 ushort8 __ovld __cnfn min(ushort8 x, ushort y);
10036 short16 __ovld __cnfn min(short16 x, short y);
10037 ushort16 __ovld __cnfn min(ushort16 x, ushort y);
10038 int __ovld __cnfn min(int x, int y);
10039 uint __ovld __cnfn min(uint x, uint y);
10040 int2 __ovld __cnfn min(int2 x, int y);
10041 uint2 __ovld __cnfn min(uint2 x, uint y);
10042 int3 __ovld __cnfn min(int3 x, int y);
10043 uint3 __ovld __cnfn min(uint3 x, uint y);
10044 int4 __ovld __cnfn min(int4 x, int y);
10045 uint4 __ovld __cnfn min(uint4 x, uint y);
10046 int8 __ovld __cnfn min(int8 x, int y);
10047 uint8 __ovld __cnfn min(uint8 x, uint y);
10048 int16 __ovld __cnfn min(int16 x, int y);
10049 uint16 __ovld __cnfn min(uint16 x, uint y);
10050 long __ovld __cnfn min(long x, long y);
10051 ulong __ovld __cnfn min(ulong x, ulong y);
10052 long2 __ovld __cnfn min(long2 x, long y);
10053 ulong2 __ovld __cnfn min(ulong2 x, ulong y);
10054 long3 __ovld __cnfn min(long3 x, long y);
10055 ulong3 __ovld __cnfn min(ulong3 x, ulong y);
10056 long4 __ovld __cnfn min(long4 x, long y);
10057 ulong4 __ovld __cnfn min(ulong4 x, ulong y);
10058 long8 __ovld __cnfn min(long8 x, long y);
10059 ulong8 __ovld __cnfn min(ulong8 x, ulong y);
10060 long16 __ovld __cnfn min(long16 x, long y);
10061 ulong16 __ovld __cnfn min(ulong16 x, ulong y);
10062
10063 /**
10064  * Computes x * y and returns the high half of the
10065  * product of x and y.
10066  */
10067 char __ovld __cnfn mul_hi(char x, char y);
10068 uchar __ovld __cnfn mul_hi(uchar x, uchar y);
10069 char2 __ovld __cnfn mul_hi(char2 x, char2 y);
10070 uchar2 __ovld __cnfn mul_hi(uchar2 x, uchar2 y);
10071 char3 __ovld __cnfn mul_hi(char3 x, char3 y);
10072 uchar3 __ovld __cnfn mul_hi(uchar3 x, uchar3 y);
10073 char4 __ovld __cnfn mul_hi(char4 x, char4 y);
10074 uchar4 __ovld __cnfn mul_hi(uchar4 x, uchar4 y);
10075 char8 __ovld __cnfn mul_hi(char8 x, char8 y);
10076 uchar8 __ovld __cnfn mul_hi(uchar8 x, uchar8 y);
10077 char16 __ovld __cnfn mul_hi(char16 x, char16 y);
10078 uchar16 __ovld __cnfn mul_hi(uchar16 x, uchar16 y);
10079 short __ovld __cnfn mul_hi(short x, short y);
10080 ushort __ovld __cnfn mul_hi(ushort x, ushort y);
10081 short2 __ovld __cnfn mul_hi(short2 x, short2 y);
10082 ushort2 __ovld __cnfn mul_hi(ushort2 x, ushort2 y);
10083 short3 __ovld __cnfn mul_hi(short3 x, short3 y);
10084 ushort3 __ovld __cnfn mul_hi(ushort3 x, ushort3 y);
10085 short4 __ovld __cnfn mul_hi(short4 x, short4 y);
10086 ushort4 __ovld __cnfn mul_hi(ushort4 x, ushort4 y);
10087 short8 __ovld __cnfn mul_hi(short8 x, short8 y);
10088 ushort8 __ovld __cnfn mul_hi(ushort8 x, ushort8 y);
10089 short16 __ovld __cnfn mul_hi(short16 x, short16 y);
10090 ushort16 __ovld __cnfn mul_hi(ushort16 x, ushort16 y);
10091 int __ovld __cnfn mul_hi(int x, int y);
10092 uint __ovld __cnfn mul_hi(uint x, uint y);
10093 int2 __ovld __cnfn mul_hi(int2 x, int2 y);
10094 uint2 __ovld __cnfn mul_hi(uint2 x, uint2 y);
10095 int3 __ovld __cnfn mul_hi(int3 x, int3 y);
10096 uint3 __ovld __cnfn mul_hi(uint3 x, uint3 y);
10097 int4 __ovld __cnfn mul_hi(int4 x, int4 y);
10098 uint4 __ovld __cnfn mul_hi(uint4 x, uint4 y);
10099 int8 __ovld __cnfn mul_hi(int8 x, int8 y);
10100 uint8 __ovld __cnfn mul_hi(uint8 x, uint8 y);
10101 int16 __ovld __cnfn mul_hi(int16 x, int16 y);
10102 uint16 __ovld __cnfn mul_hi(uint16 x, uint16 y);
10103 long __ovld __cnfn mul_hi(long x, long y);
10104 ulong __ovld __cnfn mul_hi(ulong x, ulong y);
10105 long2 __ovld __cnfn mul_hi(long2 x, long2 y);
10106 ulong2 __ovld __cnfn mul_hi(ulong2 x, ulong2 y);
10107 long3 __ovld __cnfn mul_hi(long3 x, long3 y);
10108 ulong3 __ovld __cnfn mul_hi(ulong3 x, ulong3 y);
10109 long4 __ovld __cnfn mul_hi(long4 x, long4 y);
10110 ulong4 __ovld __cnfn mul_hi(ulong4 x, ulong4 y);
10111 long8 __ovld __cnfn mul_hi(long8 x, long8 y);
10112 ulong8 __ovld __cnfn mul_hi(ulong8 x, ulong8 y);
10113 long16 __ovld __cnfn mul_hi(long16 x, long16 y);
10114 ulong16 __ovld __cnfn mul_hi(ulong16 x, ulong16 y);
10115
10116 /**
10117  * For each element in v, the bits are shifted left by
10118  * the number of bits given by the corresponding
10119  * element in i (subject to usual shift modulo rules
10120  * described in section 6.3). Bits shifted off the left
10121  * side of the element are shifted back in from the
10122  * right.
10123  */
10124 char __ovld __cnfn rotate(char v, char i);
10125 uchar __ovld __cnfn rotate(uchar v, uchar i);
10126 char2 __ovld __cnfn rotate(char2 v, char2 i);
10127 uchar2 __ovld __cnfn rotate(uchar2 v, uchar2 i);
10128 char3 __ovld __cnfn rotate(char3 v, char3 i);
10129 uchar3 __ovld __cnfn rotate(uchar3 v, uchar3 i);
10130 char4 __ovld __cnfn rotate(char4 v, char4 i);
10131 uchar4 __ovld __cnfn rotate(uchar4 v, uchar4 i);
10132 char8 __ovld __cnfn rotate(char8 v, char8 i);
10133 uchar8 __ovld __cnfn rotate(uchar8 v, uchar8 i);
10134 char16 __ovld __cnfn rotate(char16 v, char16 i);
10135 uchar16 __ovld __cnfn rotate(uchar16 v, uchar16 i);
10136 short __ovld __cnfn rotate(short v, short i);
10137 ushort __ovld __cnfn rotate(ushort v, ushort i);
10138 short2 __ovld __cnfn rotate(short2 v, short2 i);
10139 ushort2 __ovld __cnfn rotate(ushort2 v, ushort2 i);
10140 short3 __ovld __cnfn rotate(short3 v, short3 i);
10141 ushort3 __ovld __cnfn rotate(ushort3 v, ushort3 i);
10142 short4 __ovld __cnfn rotate(short4 v, short4 i);
10143 ushort4 __ovld __cnfn rotate(ushort4 v, ushort4 i);
10144 short8 __ovld __cnfn rotate(short8 v, short8 i);
10145 ushort8 __ovld __cnfn rotate(ushort8 v, ushort8 i);
10146 short16 __ovld __cnfn rotate(short16 v, short16 i);
10147 ushort16 __ovld __cnfn rotate(ushort16 v, ushort16 i);
10148 int __ovld __cnfn rotate(int v, int i);
10149 uint __ovld __cnfn rotate(uint v, uint i);
10150 int2 __ovld __cnfn rotate(int2 v, int2 i);
10151 uint2 __ovld __cnfn rotate(uint2 v, uint2 i);
10152 int3 __ovld __cnfn rotate(int3 v, int3 i);
10153 uint3 __ovld __cnfn rotate(uint3 v, uint3 i);
10154 int4 __ovld __cnfn rotate(int4 v, int4 i);
10155 uint4 __ovld __cnfn rotate(uint4 v, uint4 i);
10156 int8 __ovld __cnfn rotate(int8 v, int8 i);
10157 uint8 __ovld __cnfn rotate(uint8 v, uint8 i);
10158 int16 __ovld __cnfn rotate(int16 v, int16 i);
10159 uint16 __ovld __cnfn rotate(uint16 v, uint16 i);
10160 long __ovld __cnfn rotate(long v, long i);
10161 ulong __ovld __cnfn rotate(ulong v, ulong i);
10162 long2 __ovld __cnfn rotate(long2 v, long2 i);
10163 ulong2 __ovld __cnfn rotate(ulong2 v, ulong2 i);
10164 long3 __ovld __cnfn rotate(long3 v, long3 i);
10165 ulong3 __ovld __cnfn rotate(ulong3 v, ulong3 i);
10166 long4 __ovld __cnfn rotate(long4 v, long4 i);
10167 ulong4 __ovld __cnfn rotate(ulong4 v, ulong4 i);
10168 long8 __ovld __cnfn rotate(long8 v, long8 i);
10169 ulong8 __ovld __cnfn rotate(ulong8 v, ulong8 i);
10170 long16 __ovld __cnfn rotate(long16 v, long16 i);
10171 ulong16 __ovld __cnfn rotate(ulong16 v, ulong16 i);
10172
10173 /**
10174  * Returns x - y and saturates the result.
10175  */
10176 char __ovld __cnfn sub_sat(char x, char y);
10177 uchar __ovld __cnfn sub_sat(uchar x, uchar y);
10178 char2 __ovld __cnfn sub_sat(char2 x, char2 y);
10179 uchar2 __ovld __cnfn sub_sat(uchar2 x, uchar2 y);
10180 char3 __ovld __cnfn sub_sat(char3 x, char3 y);
10181 uchar3 __ovld __cnfn sub_sat(uchar3 x, uchar3 y);
10182 char4 __ovld __cnfn sub_sat(char4 x, char4 y);
10183 uchar4 __ovld __cnfn sub_sat(uchar4 x, uchar4 y);
10184 char8 __ovld __cnfn sub_sat(char8 x, char8 y);
10185 uchar8 __ovld __cnfn sub_sat(uchar8 x, uchar8 y);
10186 char16 __ovld __cnfn sub_sat(char16 x, char16 y);
10187 uchar16 __ovld __cnfn sub_sat(uchar16 x, uchar16 y);
10188 short __ovld __cnfn sub_sat(short x, short y);
10189 ushort __ovld __cnfn sub_sat(ushort x, ushort y);
10190 short2 __ovld __cnfn sub_sat(short2 x, short2 y);
10191 ushort2 __ovld __cnfn sub_sat(ushort2 x, ushort2 y);
10192 short3 __ovld __cnfn sub_sat(short3 x, short3 y);
10193 ushort3 __ovld __cnfn sub_sat(ushort3 x, ushort3 y);
10194 short4 __ovld __cnfn sub_sat(short4 x, short4 y);
10195 ushort4 __ovld __cnfn sub_sat(ushort4 x, ushort4 y);
10196 short8 __ovld __cnfn sub_sat(short8 x, short8 y);
10197 ushort8 __ovld __cnfn sub_sat(ushort8 x, ushort8 y);
10198 short16 __ovld __cnfn sub_sat(short16 x, short16 y);
10199 ushort16 __ovld __cnfn sub_sat(ushort16 x, ushort16 y);
10200 int __ovld __cnfn sub_sat(int x, int y);
10201 uint __ovld __cnfn sub_sat(uint x, uint y);
10202 int2 __ovld __cnfn sub_sat(int2 x, int2 y);
10203 uint2 __ovld __cnfn sub_sat(uint2 x, uint2 y);
10204 int3 __ovld __cnfn sub_sat(int3 x, int3 y);
10205 uint3 __ovld __cnfn sub_sat(uint3 x, uint3 y);
10206 int4 __ovld __cnfn sub_sat(int4 x, int4 y);
10207 uint4 __ovld __cnfn sub_sat(uint4 x, uint4 y);
10208 int8 __ovld __cnfn sub_sat(int8 x, int8 y);
10209 uint8 __ovld __cnfn sub_sat(uint8 x, uint8 y);
10210 int16 __ovld __cnfn sub_sat(int16 x, int16 y);
10211 uint16 __ovld __cnfn sub_sat(uint16 x, uint16 y);
10212 long __ovld __cnfn sub_sat(long x, long y);
10213 ulong __ovld __cnfn sub_sat(ulong x, ulong y);
10214 long2 __ovld __cnfn sub_sat(long2 x, long2 y);
10215 ulong2 __ovld __cnfn sub_sat(ulong2 x, ulong2 y);
10216 long3 __ovld __cnfn sub_sat(long3 x, long3 y);
10217 ulong3 __ovld __cnfn sub_sat(ulong3 x, ulong3 y);
10218 long4 __ovld __cnfn sub_sat(long4 x, long4 y);
10219 ulong4 __ovld __cnfn sub_sat(ulong4 x, ulong4 y);
10220 long8 __ovld __cnfn sub_sat(long8 x, long8 y);
10221 ulong8 __ovld __cnfn sub_sat(ulong8 x, ulong8 y);
10222 long16 __ovld __cnfn sub_sat(long16 x, long16 y);
10223 ulong16 __ovld __cnfn sub_sat(ulong16 x, ulong16 y);
10224
10225 /**
10226  * result[i] = ((short)hi[i] << 8) | lo[i]
10227  * result[i] = ((ushort)hi[i] << 8) | lo[i]
10228  */
10229 short __ovld __cnfn upsample(char hi, uchar lo);
10230 ushort __ovld __cnfn upsample(uchar hi, uchar lo);
10231 short2 __ovld __cnfn upsample(char2 hi, uchar2 lo);
10232 short3 __ovld __cnfn upsample(char3 hi, uchar3 lo);
10233 short4 __ovld __cnfn upsample(char4 hi, uchar4 lo);
10234 short8 __ovld __cnfn upsample(char8 hi, uchar8 lo);
10235 short16 __ovld __cnfn upsample(char16 hi, uchar16 lo);
10236 ushort2 __ovld __cnfn upsample(uchar2 hi, uchar2 lo);
10237 ushort3 __ovld __cnfn upsample(uchar3 hi, uchar3 lo);
10238 ushort4 __ovld __cnfn upsample(uchar4 hi, uchar4 lo);
10239 ushort8 __ovld __cnfn upsample(uchar8 hi, uchar8 lo);
10240 ushort16 __ovld __cnfn upsample(uchar16 hi, uchar16 lo);
10241
10242 /**
10243  * result[i] = ((int)hi[i] << 16) | lo[i]
10244  * result[i] = ((uint)hi[i] << 16) | lo[i]
10245  */
10246 int __ovld __cnfn upsample(short hi, ushort lo);
10247 uint __ovld __cnfn upsample(ushort hi, ushort lo);
10248 int2 __ovld __cnfn upsample(short2 hi, ushort2 lo);
10249 int3 __ovld __cnfn upsample(short3 hi, ushort3 lo);
10250 int4 __ovld __cnfn upsample(short4 hi, ushort4 lo);
10251 int8 __ovld __cnfn upsample(short8 hi, ushort8 lo);
10252 int16 __ovld __cnfn upsample(short16 hi, ushort16 lo);
10253 uint2 __ovld __cnfn upsample(ushort2 hi, ushort2 lo);
10254 uint3 __ovld __cnfn upsample(ushort3 hi, ushort3 lo);
10255 uint4 __ovld __cnfn upsample(ushort4 hi, ushort4 lo);
10256 uint8 __ovld __cnfn upsample(ushort8 hi, ushort8 lo);
10257 uint16 __ovld __cnfn upsample(ushort16 hi, ushort16 lo);
10258 /**
10259  * result[i] = ((long)hi[i] << 32) | lo[i]
10260  * result[i] = ((ulong)hi[i] << 32) | lo[i]
10261  */
10262 long __ovld __cnfn upsample(int hi, uint lo);
10263 ulong __ovld __cnfn upsample(uint hi, uint lo);
10264 long2 __ovld __cnfn upsample(int2 hi, uint2 lo);
10265 long3 __ovld __cnfn upsample(int3 hi, uint3 lo);
10266 long4 __ovld __cnfn upsample(int4 hi, uint4 lo);
10267 long8 __ovld __cnfn upsample(int8 hi, uint8 lo);
10268 long16 __ovld __cnfn upsample(int16 hi, uint16 lo);
10269 ulong2 __ovld __cnfn upsample(uint2 hi, uint2 lo);
10270 ulong3 __ovld __cnfn upsample(uint3 hi, uint3 lo);
10271 ulong4 __ovld __cnfn upsample(uint4 hi, uint4 lo);
10272 ulong8 __ovld __cnfn upsample(uint8 hi, uint8 lo);
10273 ulong16 __ovld __cnfn upsample(uint16 hi, uint16 lo);
10274
10275 /*
10276  * popcount(x): returns the number of set bit in x
10277  */
10278 char __ovld __cnfn popcount(char x);
10279 uchar __ovld __cnfn popcount(uchar x);
10280 char2 __ovld __cnfn popcount(char2 x);
10281 uchar2 __ovld __cnfn popcount(uchar2 x);
10282 char3 __ovld __cnfn popcount(char3 x);
10283 uchar3 __ovld __cnfn popcount(uchar3 x);
10284 char4 __ovld __cnfn popcount(char4 x);
10285 uchar4 __ovld __cnfn popcount(uchar4 x);
10286 char8 __ovld __cnfn popcount(char8 x);
10287 uchar8 __ovld __cnfn popcount(uchar8 x);
10288 char16 __ovld __cnfn popcount(char16 x);
10289 uchar16 __ovld __cnfn popcount(uchar16 x);
10290 short __ovld __cnfn popcount(short x);
10291 ushort __ovld __cnfn popcount(ushort x);
10292 short2 __ovld __cnfn popcount(short2 x);
10293 ushort2 __ovld __cnfn popcount(ushort2 x);
10294 short3 __ovld __cnfn popcount(short3 x);
10295 ushort3 __ovld __cnfn popcount(ushort3 x);
10296 short4 __ovld __cnfn popcount(short4 x);
10297 ushort4 __ovld __cnfn popcount(ushort4 x);
10298 short8 __ovld __cnfn popcount(short8 x);
10299 ushort8 __ovld __cnfn popcount(ushort8 x);
10300 short16 __ovld __cnfn popcount(short16 x);
10301 ushort16 __ovld __cnfn popcount(ushort16 x);
10302 int __ovld __cnfn popcount(int x);
10303 uint __ovld __cnfn popcount(uint x);
10304 int2 __ovld __cnfn popcount(int2 x);
10305 uint2 __ovld __cnfn popcount(uint2 x);
10306 int3 __ovld __cnfn popcount(int3 x);
10307 uint3 __ovld __cnfn popcount(uint3 x);
10308 int4 __ovld __cnfn popcount(int4 x);
10309 uint4 __ovld __cnfn popcount(uint4 x);
10310 int8 __ovld __cnfn popcount(int8 x);
10311 uint8 __ovld __cnfn popcount(uint8 x);
10312 int16 __ovld __cnfn popcount(int16 x);
10313 uint16 __ovld __cnfn popcount(uint16 x);
10314 long __ovld __cnfn popcount(long x);
10315 ulong __ovld __cnfn popcount(ulong x);
10316 long2 __ovld __cnfn popcount(long2 x);
10317 ulong2 __ovld __cnfn popcount(ulong2 x);
10318 long3 __ovld __cnfn popcount(long3 x);
10319 ulong3 __ovld __cnfn popcount(ulong3 x);
10320 long4 __ovld __cnfn popcount(long4 x);
10321 ulong4 __ovld __cnfn popcount(ulong4 x);
10322 long8 __ovld __cnfn popcount(long8 x);
10323 ulong8 __ovld __cnfn popcount(ulong8 x);
10324 long16 __ovld __cnfn popcount(long16 x);
10325 ulong16 __ovld __cnfn popcount(ulong16 x);
10326
10327 /**
10328  * Multiply two 24-bit integer values x and y and add
10329  * the 32-bit integer result to the 32-bit integer z.
10330  * Refer to definition of mul24 to see how the 24-bit
10331  * integer multiplication is performed.
10332  */
10333 int __ovld __cnfn mad24(int x, int y, int z);
10334 uint __ovld __cnfn mad24(uint x, uint y, uint z);
10335 int2 __ovld __cnfn mad24(int2 x, int2 y, int2 z);
10336 uint2 __ovld __cnfn mad24(uint2 x, uint2 y, uint2 z);
10337 int3 __ovld __cnfn mad24(int3 x, int3 y, int3 z);
10338 uint3 __ovld __cnfn mad24(uint3 x, uint3 y, uint3 z);
10339 int4 __ovld __cnfn mad24(int4 x, int4 y, int4 z);
10340 uint4 __ovld __cnfn mad24(uint4 x, uint4 y, uint4 z);
10341 int8 __ovld __cnfn mad24(int8 x, int8 y, int8 z);
10342 uint8 __ovld __cnfn mad24(uint8 x, uint8 y, uint8 z);
10343 int16 __ovld __cnfn mad24(int16 x, int16 y, int16 z);
10344 uint16 __ovld __cnfn mad24(uint16 x, uint16 y, uint16 z);
10345
10346 /**
10347  * Multiply two 24-bit integer values x and y. x and y
10348  * are 32-bit integers but only the low 24-bits are used
10349  * to perform the multiplication. mul24 should only
10350  * be used when values in x and y are in the range [-
10351  * 2^23, 2^23-1] if x and y are signed integers and in the
10352  * range [0, 2^24-1] if x and y are unsigned integers. If
10353  * x and y are not in this range, the multiplication
10354  * result is implementation-defined.
10355  */
10356 int __ovld __cnfn mul24(int x, int y);
10357 uint __ovld __cnfn mul24(uint x, uint y);
10358 int2 __ovld __cnfn mul24(int2 x, int2 y);
10359 uint2 __ovld __cnfn mul24(uint2 x, uint2 y);
10360 int3 __ovld __cnfn mul24(int3 x, int3 y);
10361 uint3 __ovld __cnfn mul24(uint3 x, uint3 y);
10362 int4 __ovld __cnfn mul24(int4 x, int4 y);
10363 uint4 __ovld __cnfn mul24(uint4 x, uint4 y);
10364 int8 __ovld __cnfn mul24(int8 x, int8 y);
10365 uint8 __ovld __cnfn mul24(uint8 x, uint8 y);
10366 int16 __ovld __cnfn mul24(int16 x, int16 y);
10367 uint16 __ovld __cnfn mul24(uint16 x, uint16 y);
10368
10369 // OpenCL v1.1 s6.11.4, v1.2 s6.12.4, v2.0 s6.13.4 - Common Functions
10370
10371 /**
10372  * Returns fmin(fmax(x, minval), maxval).
10373  * Results are undefined if minval > maxval.
10374  */
10375 float __ovld __cnfn clamp(float x, float minval, float maxval);
10376 float2 __ovld __cnfn clamp(float2 x, float2 minval, float2 maxval);
10377 float3 __ovld __cnfn clamp(float3 x, float3 minval, float3 maxval);
10378 float4 __ovld __cnfn clamp(float4 x, float4 minval, float4 maxval);
10379 float8 __ovld __cnfn clamp(float8 x, float8 minval, float8 maxval);
10380 float16 __ovld __cnfn clamp(float16 x, float16 minval, float16 maxval);
10381 float2 __ovld __cnfn clamp(float2 x, float minval, float maxval);
10382 float3 __ovld __cnfn clamp(float3 x, float minval, float maxval);
10383 float4 __ovld __cnfn clamp(float4 x, float minval, float maxval);
10384 float8 __ovld __cnfn clamp(float8 x, float minval, float maxval);
10385 float16 __ovld __cnfn clamp(float16 x, float minval, float maxval);
10386 #ifdef cl_khr_fp64
10387 double __ovld __cnfn clamp(double x, double minval, double maxval);
10388 double2 __ovld __cnfn clamp(double2 x, double2 minval, double2 maxval);
10389 double3 __ovld __cnfn clamp(double3 x, double3 minval, double3 maxval);
10390 double4 __ovld __cnfn clamp(double4 x, double4 minval, double4 maxval);
10391 double8 __ovld __cnfn clamp(double8 x, double8 minval, double8 maxval);
10392 double16 __ovld __cnfn clamp(double16 x, double16 minval, double16 maxval);
10393 double2 __ovld __cnfn clamp(double2 x, double minval, double maxval);
10394 double3 __ovld __cnfn clamp(double3 x, double minval, double maxval);
10395 double4 __ovld __cnfn clamp(double4 x, double minval, double maxval);
10396 double8 __ovld __cnfn clamp(double8 x, double minval, double maxval);
10397 double16 __ovld __cnfn clamp(double16 x, double minval, double maxval);
10398 #endif //cl_khr_fp64
10399 #ifdef cl_khr_fp16
10400 half __ovld __cnfn clamp(half x, half minval, half maxval);
10401 half2 __ovld __cnfn clamp(half2 x, half2 minval, half2 maxval);
10402 half3 __ovld __cnfn clamp(half3 x, half3 minval, half3 maxval);
10403 half4 __ovld __cnfn clamp(half4 x, half4 minval, half4 maxval);
10404 half8 __ovld __cnfn clamp(half8 x, half8 minval, half8 maxval);
10405 half16 __ovld __cnfn clamp(half16 x, half16 minval, half16 maxval);
10406 half2 __ovld __cnfn clamp(half2 x, half minval, half maxval);
10407 half3 __ovld __cnfn clamp(half3 x, half minval, half maxval);
10408 half4 __ovld __cnfn clamp(half4 x, half minval, half maxval);
10409 half8 __ovld __cnfn clamp(half8 x, half minval, half maxval);
10410 half16 __ovld __cnfn clamp(half16 x, half minval, half maxval);
10411 #endif //cl_khr_fp16
10412
10413 /**
10414  * Converts radians to degrees, i.e. (180 / PI) *
10415  * radians.
10416  */
10417 float __ovld __cnfn degrees(float radians);
10418 float2 __ovld __cnfn degrees(float2 radians);
10419 float3 __ovld __cnfn degrees(float3 radians);
10420 float4 __ovld __cnfn degrees(float4 radians);
10421 float8 __ovld __cnfn degrees(float8 radians);
10422 float16 __ovld __cnfn degrees(float16 radians);
10423 #ifdef cl_khr_fp64
10424 double __ovld __cnfn degrees(double radians);
10425 double2 __ovld __cnfn degrees(double2 radians);
10426 double3 __ovld __cnfn degrees(double3 radians);
10427 double4 __ovld __cnfn degrees(double4 radians);
10428 double8 __ovld __cnfn degrees(double8 radians);
10429 double16 __ovld __cnfn degrees(double16 radians);
10430 #endif //cl_khr_fp64
10431 #ifdef cl_khr_fp16
10432 half __ovld __cnfn degrees(half radians);
10433 half2 __ovld __cnfn degrees(half2 radians);
10434 half3 __ovld __cnfn degrees(half3 radians);
10435 half4 __ovld __cnfn degrees(half4 radians);
10436 half8 __ovld __cnfn degrees(half8 radians);
10437 half16 __ovld __cnfn degrees(half16 radians);
10438 #endif //cl_khr_fp16
10439
10440 /**
10441  * Returns y if x < y, otherwise it returns x. If x and y
10442  * are infinite or NaN, the return values are undefined.
10443  */
10444 float __ovld __cnfn max(float x, float y);
10445 float2 __ovld __cnfn max(float2 x, float2 y);
10446 float3 __ovld __cnfn max(float3 x, float3 y);
10447 float4 __ovld __cnfn max(float4 x, float4 y);
10448 float8 __ovld __cnfn max(float8 x, float8 y);
10449 float16 __ovld __cnfn max(float16 x, float16 y);
10450 float2 __ovld __cnfn max(float2 x, float y);
10451 float3 __ovld __cnfn max(float3 x, float y);
10452 float4 __ovld __cnfn max(float4 x, float y);
10453 float8 __ovld __cnfn max(float8 x, float y);
10454 float16 __ovld __cnfn max(float16 x, float y);
10455 #ifdef cl_khr_fp64
10456 double __ovld __cnfn max(double x, double y);
10457 double2 __ovld __cnfn max(double2 x, double2 y);
10458 double3 __ovld __cnfn max(double3 x, double3 y);
10459 double4 __ovld __cnfn max(double4 x, double4 y);
10460 double8 __ovld __cnfn max(double8 x, double8 y);
10461 double16 __ovld __cnfn max(double16 x, double16 y);
10462 double2 __ovld __cnfn max(double2 x, double y);
10463 double3 __ovld __cnfn max(double3 x, double y);
10464 double4 __ovld __cnfn max(double4 x, double y);
10465 double8 __ovld __cnfn max(double8 x, double y);
10466 double16 __ovld __cnfn max(double16 x, double y);
10467 #endif //cl_khr_fp64
10468 #ifdef cl_khr_fp16
10469 half __ovld __cnfn max(half x, half y);
10470 half2 __ovld __cnfn max(half2 x, half2 y);
10471 half3 __ovld __cnfn max(half3 x, half3 y);
10472 half4 __ovld __cnfn max(half4 x, half4 y);
10473 half8 __ovld __cnfn max(half8 x, half8 y);
10474 half16 __ovld __cnfn max(half16 x, half16 y);
10475 half2 __ovld __cnfn max(half2 x, half y);
10476 half3 __ovld __cnfn max(half3 x, half y);
10477 half4 __ovld __cnfn max(half4 x, half y);
10478 half8 __ovld __cnfn max(half8 x, half y);
10479 half16 __ovld __cnfn max(half16 x, half y);
10480 #endif //cl_khr_fp16
10481
10482 /**
10483  * Returns y if y < x, otherwise it returns x. If x and y
10484  * are infinite or NaN, the return values are undefined.
10485  */
10486 float __ovld __cnfn min(float x, float y);
10487 float2 __ovld __cnfn min(float2 x, float2 y);
10488 float3 __ovld __cnfn min(float3 x, float3 y);
10489 float4 __ovld __cnfn min(float4 x, float4 y);
10490 float8 __ovld __cnfn min(float8 x, float8 y);
10491 float16 __ovld __cnfn min(float16 x, float16 y);
10492 float2 __ovld __cnfn min(float2 x, float y);
10493 float3 __ovld __cnfn min(float3 x, float y);
10494 float4 __ovld __cnfn min(float4 x, float y);
10495 float8 __ovld __cnfn min(float8 x, float y);
10496 float16 __ovld __cnfn min(float16 x, float y);
10497 #ifdef cl_khr_fp64
10498 double __ovld __cnfn min(double x, double y);
10499 double2 __ovld __cnfn min(double2 x, double2 y);
10500 double3 __ovld __cnfn min(double3 x, double3 y);
10501 double4 __ovld __cnfn min(double4 x, double4 y);
10502 double8 __ovld __cnfn min(double8 x, double8 y);
10503 double16 __ovld __cnfn min(double16 x, double16 y);
10504 double2 __ovld __cnfn min(double2 x, double y);
10505 double3 __ovld __cnfn min(double3 x, double y);
10506 double4 __ovld __cnfn min(double4 x, double y);
10507 double8 __ovld __cnfn min(double8 x, double y);
10508 double16 __ovld __cnfn min(double16 x, double y);
10509 #endif //cl_khr_fp64
10510 #ifdef cl_khr_fp16
10511 half __ovld __cnfn min(half x, half y);
10512 half2 __ovld __cnfn min(half2 x, half2 y);
10513 half3 __ovld __cnfn min(half3 x, half3 y);
10514 half4 __ovld __cnfn min(half4 x, half4 y);
10515 half8 __ovld __cnfn min(half8 x, half8 y);
10516 half16 __ovld __cnfn min(half16 x, half16 y);
10517 half2 __ovld __cnfn min(half2 x, half y);
10518 half3 __ovld __cnfn min(half3 x, half y);
10519 half4 __ovld __cnfn min(half4 x, half y);
10520 half8 __ovld __cnfn min(half8 x, half y);
10521 half16 __ovld __cnfn min(half16 x, half y);
10522 #endif //cl_khr_fp16
10523
10524 /**
10525  * Returns the linear blend of x & y implemented as:
10526  * x + (y - x) * a
10527  * a must be a value in the range 0.0 ... 1.0. If a is not
10528  * in the range 0.0 ... 1.0, the return values are
10529  * undefined.
10530  */
10531 float __ovld __cnfn mix(float x, float y, float a);
10532 float2 __ovld __cnfn mix(float2 x, float2 y, float2 a);
10533 float3 __ovld __cnfn mix(float3 x, float3 y, float3 a);
10534 float4 __ovld __cnfn mix(float4 x, float4 y, float4 a);
10535 float8 __ovld __cnfn mix(float8 x, float8 y, float8 a);
10536 float16 __ovld __cnfn mix(float16 x, float16 y, float16 a);
10537 float2 __ovld __cnfn mix(float2 x, float2 y, float a);
10538 float3 __ovld __cnfn mix(float3 x, float3 y, float a);
10539 float4 __ovld __cnfn mix(float4 x, float4 y, float a);
10540 float8 __ovld __cnfn mix(float8 x, float8 y, float a);
10541 float16 __ovld __cnfn mix(float16 x, float16 y, float a);
10542 #ifdef cl_khr_fp64
10543 double __ovld __cnfn mix(double x, double y, double a);
10544 double2 __ovld __cnfn mix(double2 x, double2 y, double2 a);
10545 double3 __ovld __cnfn mix(double3 x, double3 y, double3 a);
10546 double4 __ovld __cnfn mix(double4 x, double4 y, double4 a);
10547 double8 __ovld __cnfn mix(double8 x, double8 y, double8 a);
10548 double16 __ovld __cnfn mix(double16 x, double16 y, double16 a);
10549 double2 __ovld __cnfn mix(double2 x, double2 y, double a);
10550 double3 __ovld __cnfn mix(double3 x, double3 y, double a);
10551 double4 __ovld __cnfn mix(double4 x, double4 y, double a);
10552 double8 __ovld __cnfn mix(double8 x, double8 y, double a);
10553 double16 __ovld __cnfn mix(double16 x, double16 y, double a);
10554 #endif //cl_khr_fp64
10555 #ifdef cl_khr_fp16
10556 half __ovld __cnfn mix(half x, half y, half a);
10557 half2 __ovld __cnfn mix(half2 x, half2 y, half2 a);
10558 half3 __ovld __cnfn mix(half3 x, half3 y, half3 a);
10559 half4 __ovld __cnfn mix(half4 x, half4 y, half4 a);
10560 half8 __ovld __cnfn mix(half8 x, half8 y, half8 a);
10561 half16 __ovld __cnfn mix(half16 x, half16 y, half16 a);
10562 half2 __ovld __cnfn mix(half2 x, half2 y, half a);
10563 half3 __ovld __cnfn mix(half3 x, half3 y, half a);
10564 half4 __ovld __cnfn mix(half4 x, half4 y, half a);
10565 half8 __ovld __cnfn mix(half8 x, half8 y, half a);
10566 half16 __ovld __cnfn mix(half16 x, half16 y, half a);
10567 #endif //cl_khr_fp16
10568
10569 /**
10570  * Converts degrees to radians, i.e. (PI / 180) *
10571  * degrees.
10572  */
10573 float __ovld __cnfn radians(float degrees);
10574 float2 __ovld __cnfn radians(float2 degrees);
10575 float3 __ovld __cnfn radians(float3 degrees);
10576 float4 __ovld __cnfn radians(float4 degrees);
10577 float8 __ovld __cnfn radians(float8 degrees);
10578 float16 __ovld __cnfn radians(float16 degrees);
10579 #ifdef cl_khr_fp64
10580 double __ovld __cnfn radians(double degrees);
10581 double2 __ovld __cnfn radians(double2 degrees);
10582 double3 __ovld __cnfn radians(double3 degrees);
10583 double4 __ovld __cnfn radians(double4 degrees);
10584 double8 __ovld __cnfn radians(double8 degrees);
10585 double16 __ovld __cnfn radians(double16 degrees);
10586 #endif //cl_khr_fp64
10587 #ifdef cl_khr_fp16
10588 half __ovld __cnfn radians(half degrees);
10589 half2 __ovld __cnfn radians(half2 degrees);
10590 half3 __ovld __cnfn radians(half3 degrees);
10591 half4 __ovld __cnfn radians(half4 degrees);
10592 half8 __ovld __cnfn radians(half8 degrees);
10593 half16 __ovld __cnfn radians(half16 degrees);
10594 #endif //cl_khr_fp16
10595
10596 /**
10597  * Returns 0.0 if x < edge, otherwise it returns 1.0.
10598  */
10599 float __ovld __cnfn step(float edge, float x);
10600 float2 __ovld __cnfn step(float2 edge, float2 x);
10601 float3 __ovld __cnfn step(float3 edge, float3 x);
10602 float4 __ovld __cnfn step(float4 edge, float4 x);
10603 float8 __ovld __cnfn step(float8 edge, float8 x);
10604 float16 __ovld __cnfn step(float16 edge, float16 x);
10605 float2 __ovld __cnfn step(float edge, float2 x);
10606 float3 __ovld __cnfn step(float edge, float3 x);
10607 float4 __ovld __cnfn step(float edge, float4 x);
10608 float8 __ovld __cnfn step(float edge, float8 x);
10609 float16 __ovld __cnfn step(float edge, float16 x);
10610 #ifdef cl_khr_fp64
10611 double __ovld __cnfn step(double edge, double x);
10612 double2 __ovld __cnfn step(double2 edge, double2 x);
10613 double3 __ovld __cnfn step(double3 edge, double3 x);
10614 double4 __ovld __cnfn step(double4 edge, double4 x);
10615 double8 __ovld __cnfn step(double8 edge, double8 x);
10616 double16 __ovld __cnfn step(double16 edge, double16 x);
10617 double2 __ovld __cnfn step(double edge, double2 x);
10618 double3 __ovld __cnfn step(double edge, double3 x);
10619 double4 __ovld __cnfn step(double edge, double4 x);
10620 double8 __ovld __cnfn step(double edge, double8 x);
10621 double16 __ovld __cnfn step(double edge, double16 x);
10622 #endif //cl_khr_fp64
10623 #ifdef cl_khr_fp16
10624 half __ovld __cnfn step(half edge, half x);
10625 half2 __ovld __cnfn step(half2 edge, half2 x);
10626 half3 __ovld __cnfn step(half3 edge, half3 x);
10627 half4 __ovld __cnfn step(half4 edge, half4 x);
10628 half8 __ovld __cnfn step(half8 edge, half8 x);
10629 half16 __ovld __cnfn step(half16 edge, half16 x);
10630 half __ovld __cnfn step(half edge, half x);
10631 half2 __ovld __cnfn step(half edge, half2 x);
10632 half3 __ovld __cnfn step(half edge, half3 x);
10633 half4 __ovld __cnfn step(half edge, half4 x);
10634 half8 __ovld __cnfn step(half edge, half8 x);
10635 half16 __ovld __cnfn step(half edge, half16 x);
10636 #endif //cl_khr_fp16
10637
10638 /**
10639  * Returns 0.0 if x <= edge0 and 1.0 if x >= edge1 and
10640  * performs smooth Hermite interpolation between 0
10641  * and 1when edge0 < x < edge1. This is useful in
10642  * cases where you would want a threshold function
10643  * with a smooth transition.
10644  * This is equivalent to:
10645  * gentype t;
10646  * t = clamp ((x - edge0) / (edge1 - edge0), 0, 1);
10647  * return t * t * (3 - 2 * t);
10648  * Results are undefined if edge0 >= edge1 or if x,
10649  * edge0 or edge1 is a NaN.
10650  */
10651 float __ovld __cnfn smoothstep(float edge0, float edge1, float x);
10652 float2 __ovld __cnfn smoothstep(float2 edge0, float2 edge1, float2 x);
10653 float3 __ovld __cnfn smoothstep(float3 edge0, float3 edge1, float3 x);
10654 float4 __ovld __cnfn smoothstep(float4 edge0, float4 edge1, float4 x);
10655 float8 __ovld __cnfn smoothstep(float8 edge0, float8 edge1, float8 x);
10656 float16 __ovld __cnfn smoothstep(float16 edge0, float16 edge1, float16 x);
10657 float2 __ovld __cnfn smoothstep(float edge0, float edge1, float2 x);
10658 float3 __ovld __cnfn smoothstep(float edge0, float edge1, float3 x);
10659 float4 __ovld __cnfn smoothstep(float edge0, float edge1, float4 x);
10660 float8 __ovld __cnfn smoothstep(float edge0, float edge1, float8 x);
10661 float16 __ovld __cnfn smoothstep(float edge0, float edge1, float16 x);
10662 #ifdef cl_khr_fp64
10663 double __ovld __cnfn smoothstep(double edge0, double edge1, double x);
10664 double2 __ovld __cnfn smoothstep(double2 edge0, double2 edge1, double2 x);
10665 double3 __ovld __cnfn smoothstep(double3 edge0, double3 edge1, double3 x);
10666 double4 __ovld __cnfn smoothstep(double4 edge0, double4 edge1, double4 x);
10667 double8 __ovld __cnfn smoothstep(double8 edge0, double8 edge1, double8 x);
10668 double16 __ovld __cnfn smoothstep(double16 edge0, double16 edge1, double16 x);
10669 double2 __ovld __cnfn smoothstep(double edge0, double edge1, double2 x);
10670 double3 __ovld __cnfn smoothstep(double edge0, double edge1, double3 x);
10671 double4 __ovld __cnfn smoothstep(double edge0, double edge1, double4 x);
10672 double8 __ovld __cnfn smoothstep(double edge0, double edge1, double8 x);
10673 double16 __ovld __cnfn smoothstep(double edge0, double edge1, double16 x);
10674 #endif //cl_khr_fp64
10675 #ifdef cl_khr_fp16
10676 half __ovld __cnfn smoothstep(half edge0, half edge1, half x);
10677 half2 __ovld __cnfn smoothstep(half2 edge0, half2 edge1, half2 x);
10678 half3 __ovld __cnfn smoothstep(half3 edge0, half3 edge1, half3 x);
10679 half4 __ovld __cnfn smoothstep(half4 edge0, half4 edge1, half4 x);
10680 half8 __ovld __cnfn smoothstep(half8 edge0, half8 edge1, half8 x);
10681 half16 __ovld __cnfn smoothstep(half16 edge0, half16 edge1, half16 x);
10682 half __ovld __cnfn smoothstep(half edge0, half edge1, half x);
10683 half2 __ovld __cnfn smoothstep(half edge0, half edge1, half2 x);
10684 half3 __ovld __cnfn smoothstep(half edge0, half edge1, half3 x);
10685 half4 __ovld __cnfn smoothstep(half edge0, half edge1, half4 x);
10686 half8 __ovld __cnfn smoothstep(half edge0, half edge1, half8 x);
10687 half16 __ovld __cnfn smoothstep(half edge0, half edge1, half16 x);
10688 #endif //cl_khr_fp16
10689
10690 /**
10691  * Returns 1.0 if x > 0, -0.0 if x = -0.0, +0.0 if x =
10692  * +0.0, or -1.0 if x < 0. Returns 0.0 if x is a NaN.
10693  */
10694 float __ovld __cnfn sign(float x);
10695 float2 __ovld __cnfn sign(float2 x);
10696 float3 __ovld __cnfn sign(float3 x);
10697 float4 __ovld __cnfn sign(float4 x);
10698 float8 __ovld __cnfn sign(float8 x);
10699 float16 __ovld __cnfn sign(float16 x);
10700 #ifdef cl_khr_fp64
10701 double __ovld __cnfn sign(double x);
10702 double2 __ovld __cnfn sign(double2 x);
10703 double3 __ovld __cnfn sign(double3 x);
10704 double4 __ovld __cnfn sign(double4 x);
10705 double8 __ovld __cnfn sign(double8 x);
10706 double16 __ovld __cnfn sign(double16 x);
10707 #endif //cl_khr_fp64
10708 #ifdef cl_khr_fp16
10709 half __ovld __cnfn sign(half x);
10710 half2 __ovld __cnfn sign(half2 x);
10711 half3 __ovld __cnfn sign(half3 x);
10712 half4 __ovld __cnfn sign(half4 x);
10713 half8 __ovld __cnfn sign(half8 x);
10714 half16 __ovld __cnfn sign(half16 x);
10715 #endif //cl_khr_fp16
10716
10717 // OpenCL v1.1 s6.11.5, v1.2 s6.12.5, v2.0 s6.13.5 - Geometric Functions
10718
10719 /**
10720  * Returns the cross product of p0.xyz and p1.xyz. The
10721  * w component of float4 result returned will be 0.0.
10722  */
10723 float4 __ovld __cnfn cross(float4 p0, float4 p1);
10724 float3 __ovld __cnfn cross(float3 p0, float3 p1);
10725 #ifdef cl_khr_fp64
10726 double4 __ovld __cnfn cross(double4 p0, double4 p1);
10727 double3 __ovld __cnfn cross(double3 p0, double3 p1);
10728 #endif //cl_khr_fp64
10729 #ifdef cl_khr_fp16
10730 half4 __ovld __cnfn cross(half4 p0, half4 p1);
10731 half3 __ovld __cnfn cross(half3 p0, half3 p1);
10732 #endif //cl_khr_fp16
10733
10734 /**
10735  * Compute dot product.
10736  */
10737 float __ovld __cnfn dot(float p0, float p1);
10738 float __ovld __cnfn dot(float2 p0, float2 p1);
10739 float __ovld __cnfn dot(float3 p0, float3 p1);
10740 float __ovld __cnfn dot(float4 p0, float4 p1);
10741 #ifdef cl_khr_fp64
10742 double __ovld __cnfn dot(double p0, double p1);
10743 double __ovld __cnfn dot(double2 p0, double2 p1);
10744 double __ovld __cnfn dot(double3 p0, double3 p1);
10745 double __ovld __cnfn dot(double4 p0, double4 p1);
10746 #endif //cl_khr_fp64
10747 #ifdef cl_khr_fp16
10748 half __ovld __cnfn dot(half p0, half p1);
10749 half __ovld __cnfn dot(half2 p0, half2 p1);
10750 half __ovld __cnfn dot(half3 p0, half3 p1);
10751 half __ovld __cnfn dot(half4 p0, half4 p1);
10752 #endif //cl_khr_fp16
10753
10754 /**
10755  * Returns the distance between p0 and p1. This is
10756  * calculated as length(p0 - p1).
10757  */
10758 float __ovld __cnfn distance(float p0, float p1);
10759 float __ovld __cnfn distance(float2 p0, float2 p1);
10760 float __ovld __cnfn distance(float3 p0, float3 p1);
10761 float __ovld __cnfn distance(float4 p0, float4 p1);
10762 #ifdef cl_khr_fp64
10763 double __ovld __cnfn distance(double p0, double p1);
10764 double __ovld __cnfn distance(double2 p0, double2 p1);
10765 double __ovld __cnfn distance(double3 p0, double3 p1);
10766 double __ovld __cnfn distance(double4 p0, double4 p1);
10767 #endif //cl_khr_fp64
10768 #ifdef cl_khr_fp16
10769 half __ovld __cnfn distance(half p0, half p1);
10770 half __ovld __cnfn distance(half2 p0, half2 p1);
10771 half __ovld __cnfn distance(half3 p0, half3 p1);
10772 half __ovld __cnfn distance(half4 p0, half4 p1);
10773 #endif //cl_khr_fp16
10774
10775 /**
10776  * Return the length of vector p, i.e.,
10777  * sqrt(p.x2 + p.y 2 + ...)
10778  */
10779 float __ovld __cnfn length(float p);
10780 float __ovld __cnfn length(float2 p);
10781 float __ovld __cnfn length(float3 p);
10782 float __ovld __cnfn length(float4 p);
10783 #ifdef cl_khr_fp64
10784 double __ovld __cnfn length(double p);
10785 double __ovld __cnfn length(double2 p);
10786 double __ovld __cnfn length(double3 p);
10787 double __ovld __cnfn length(double4 p);
10788 #endif //cl_khr_fp64
10789 #ifdef cl_khr_fp16
10790 half __ovld __cnfn length(half p);
10791 half __ovld __cnfn length(half2 p);
10792 half __ovld __cnfn length(half3 p);
10793 half __ovld __cnfn length(half4 p);
10794 #endif //cl_khr_fp16
10795
10796 /**
10797  * Returns a vector in the same direction as p but with a
10798  * length of 1.
10799  */
10800 float __ovld __cnfn normalize(float p);
10801 float2 __ovld __cnfn normalize(float2 p);
10802 float3 __ovld __cnfn normalize(float3 p);
10803 float4 __ovld __cnfn normalize(float4 p);
10804 #ifdef cl_khr_fp64
10805 double __ovld __cnfn normalize(double p);
10806 double2 __ovld __cnfn normalize(double2 p);
10807 double3 __ovld __cnfn normalize(double3 p);
10808 double4 __ovld __cnfn normalize(double4 p);
10809 #endif //cl_khr_fp64
10810 #ifdef cl_khr_fp16
10811 half __ovld __cnfn normalize(half p);
10812 half2 __ovld __cnfn normalize(half2 p);
10813 half3 __ovld __cnfn normalize(half3 p);
10814 half4 __ovld __cnfn normalize(half4 p);
10815 #endif //cl_khr_fp16
10816
10817 /**
10818  * Returns fast_length(p0 - p1).
10819  */
10820 float __ovld __cnfn fast_distance(float p0, float p1);
10821 float __ovld __cnfn fast_distance(float2 p0, float2 p1);
10822 float __ovld __cnfn fast_distance(float3 p0, float3 p1);
10823 float __ovld __cnfn fast_distance(float4 p0, float4 p1);
10824 #ifdef cl_khr_fp16
10825 half __ovld __cnfn fast_distance(half p0, half p1);
10826 half __ovld __cnfn fast_distance(half2 p0, half2 p1);
10827 half __ovld __cnfn fast_distance(half3 p0, half3 p1);
10828 half __ovld __cnfn fast_distance(half4 p0, half4 p1);
10829 #endif //cl_khr_fp16
10830
10831 /**
10832  * Returns the length of vector p computed as:
10833  * half_sqrt(p.x2 + p.y2 + ...)
10834  */
10835 float __ovld __cnfn fast_length(float p);
10836 float __ovld __cnfn fast_length(float2 p);
10837 float __ovld __cnfn fast_length(float3 p);
10838 float __ovld __cnfn fast_length(float4 p);
10839 #ifdef cl_khr_fp16
10840 half __ovld __cnfn fast_length(half p);
10841 half __ovld __cnfn fast_length(half2 p);
10842 half __ovld __cnfn fast_length(half3 p);
10843 half __ovld __cnfn fast_length(half4 p);
10844 #endif //cl_khr_fp16
10845
10846 /**
10847  * Returns a vector in the same direction as p but with a
10848  * length of 1. fast_normalize is computed as:
10849  * p * half_rsqrt (p.x^2 + p.y^2 + ... )
10850  * The result shall be within 8192 ulps error from the
10851  * infinitely precise result of
10852  * if (all(p == 0.0f))
10853  * result = p;
10854  * else
10855  * result = p / sqrt (p.x^2 + p.y^2 + ...);
10856  * with the following exceptions:
10857  * 1) If the sum of squares is greater than FLT_MAX
10858  * then the value of the floating-point values in the
10859  * result vector are undefined.
10860  * 2) If the sum of squares is less than FLT_MIN then
10861  * the implementation may return back p.
10862  * 3) If the device is in "denorms are flushed to zero"
10863  * mode, individual operand elements with magnitude
10864  * less than sqrt(FLT_MIN) may be flushed to zero
10865  * before proceeding with the calculation.
10866  */
10867 float __ovld __cnfn fast_normalize(float p);
10868 float2 __ovld __cnfn fast_normalize(float2 p);
10869 float3 __ovld __cnfn fast_normalize(float3 p);
10870 float4 __ovld __cnfn fast_normalize(float4 p);
10871 #ifdef cl_khr_fp16
10872 half __ovld __cnfn fast_normalize(half p);
10873 half2 __ovld __cnfn fast_normalize(half2 p);
10874 half3 __ovld __cnfn fast_normalize(half3 p);
10875 half4 __ovld __cnfn fast_normalize(half4 p);
10876 #endif //cl_khr_fp16
10877
10878 // OpenCL v1.1 s6.11.6, v1.2 s6.12.6, v2.0 s6.13.6 - Relational Functions
10879
10880 /**
10881  * intn isequal (floatn x, floatn y)
10882  * Returns the component-wise compare of x == y.
10883  */
10884 int __ovld __cnfn isequal(float x, float y);
10885 int2 __ovld __cnfn isequal(float2 x, float2 y);
10886 int3 __ovld __cnfn isequal(float3 x, float3 y);
10887 int4 __ovld __cnfn isequal(float4 x, float4 y);
10888 int8 __ovld __cnfn isequal(float8 x, float8 y);
10889 int16 __ovld __cnfn isequal(float16 x, float16 y);
10890 #ifdef cl_khr_fp64
10891 int __ovld __cnfn isequal(double x, double y);
10892 long2 __ovld __cnfn isequal(double2 x, double2 y);
10893 long3 __ovld __cnfn isequal(double3 x, double3 y);
10894 long4 __ovld __cnfn isequal(double4 x, double4 y);
10895 long8 __ovld __cnfn isequal(double8 x, double8 y);
10896 long16 __ovld __cnfn isequal(double16 x, double16 y);
10897 #endif //cl_khr_fp64
10898 #ifdef cl_khr_fp16
10899 int __ovld __cnfn isequal(half x, half y);
10900 short2 __ovld __cnfn isequal(half2 x, half2 y);
10901 short3 __ovld __cnfn isequal(half3 x, half3 y);
10902 short4 __ovld __cnfn isequal(half4 x, half4 y);
10903 short8 __ovld __cnfn isequal(half8 x, half8 y);
10904 short16 __ovld __cnfn isequal(half16 x, half16 y);
10905 #endif //cl_khr_fp16
10906
10907 /**
10908  * Returns the component-wise compare of x != y.
10909  */
10910 int __ovld __cnfn isnotequal(float x, float y);
10911 int2 __ovld __cnfn isnotequal(float2 x, float2 y);
10912 int3 __ovld __cnfn isnotequal(float3 x, float3 y);
10913 int4 __ovld __cnfn isnotequal(float4 x, float4 y);
10914 int8 __ovld __cnfn isnotequal(float8 x, float8 y);
10915 int16 __ovld __cnfn isnotequal(float16 x, float16 y);
10916 #ifdef cl_khr_fp64
10917 int __ovld __cnfn isnotequal(double x, double y);
10918 long2 __ovld __cnfn isnotequal(double2 x, double2 y);
10919 long3 __ovld __cnfn isnotequal(double3 x, double3 y);
10920 long4 __ovld __cnfn isnotequal(double4 x, double4 y);
10921 long8 __ovld __cnfn isnotequal(double8 x, double8 y);
10922 long16 __ovld __cnfn isnotequal(double16 x, double16 y);
10923 #endif //cl_khr_fp64
10924 #ifdef cl_khr_fp16
10925 int __ovld __cnfn isnotequal(half x, half y);
10926 short2 __ovld __cnfn isnotequal(half2 x, half2 y);
10927 short3 __ovld __cnfn isnotequal(half3 x, half3 y);
10928 short4 __ovld __cnfn isnotequal(half4 x, half4 y);
10929 short8 __ovld __cnfn isnotequal(half8 x, half8 y);
10930 short16 __ovld __cnfn isnotequal(half16 x, half16 y);
10931 #endif //cl_khr_fp16
10932
10933 /**
10934  * Returns the component-wise compare of x > y.
10935  */
10936 int __ovld __cnfn isgreater(float x, float y);
10937 int2 __ovld __cnfn isgreater(float2 x, float2 y);
10938 int3 __ovld __cnfn isgreater(float3 x, float3 y);
10939 int4 __ovld __cnfn isgreater(float4 x, float4 y);
10940 int8 __ovld __cnfn isgreater(float8 x, float8 y);
10941 int16 __ovld __cnfn isgreater(float16 x, float16 y);
10942 #ifdef cl_khr_fp64
10943 int __ovld __cnfn isgreater(double x, double y);
10944 long2 __ovld __cnfn isgreater(double2 x, double2 y);
10945 long3 __ovld __cnfn isgreater(double3 x, double3 y);
10946 long4 __ovld __cnfn isgreater(double4 x, double4 y);
10947 long8 __ovld __cnfn isgreater(double8 x, double8 y);
10948 long16 __ovld __cnfn isgreater(double16 x, double16 y);
10949 #endif //cl_khr_fp64
10950 #ifdef cl_khr_fp16
10951 int __ovld __cnfn isgreater(half x, half y);
10952 short2 __ovld __cnfn isgreater(half2 x, half2 y);
10953 short3 __ovld __cnfn isgreater(half3 x, half3 y);
10954 short4 __ovld __cnfn isgreater(half4 x, half4 y);
10955 short8 __ovld __cnfn isgreater(half8 x, half8 y);
10956 short16 __ovld __cnfn isgreater(half16 x, half16 y);
10957 #endif //cl_khr_fp16
10958
10959 /**
10960  * Returns the component-wise compare of x >= y.
10961  */
10962 int __ovld __cnfn isgreaterequal(float x, float y);
10963 int2 __ovld __cnfn isgreaterequal(float2 x, float2 y);
10964 int3 __ovld __cnfn isgreaterequal(float3 x, float3 y);
10965 int4 __ovld __cnfn isgreaterequal(float4 x, float4 y);
10966 int8 __ovld __cnfn isgreaterequal(float8 x, float8 y);
10967 int16 __ovld __cnfn isgreaterequal(float16 x, float16 y);
10968 #ifdef cl_khr_fp64
10969 int __ovld __cnfn isgreaterequal(double x, double y);
10970 long2 __ovld __cnfn isgreaterequal(double2 x, double2 y);
10971 long3 __ovld __cnfn isgreaterequal(double3 x, double3 y);
10972 long4 __ovld __cnfn isgreaterequal(double4 x, double4 y);
10973 long8 __ovld __cnfn isgreaterequal(double8 x, double8 y);
10974 long16 __ovld __cnfn isgreaterequal(double16 x, double16 y);
10975 #endif //cl_khr_fp64
10976 #ifdef cl_khr_fp16
10977 int __ovld __cnfn isgreaterequal(half x, half y);
10978 short2 __ovld __cnfn isgreaterequal(half2 x, half2 y);
10979 short3 __ovld __cnfn isgreaterequal(half3 x, half3 y);
10980 short4 __ovld __cnfn isgreaterequal(half4 x, half4 y);
10981 short8 __ovld __cnfn isgreaterequal(half8 x, half8 y);
10982 short16 __ovld __cnfn isgreaterequal(half16 x, half16 y);
10983 #endif //cl_khr_fp16
10984
10985 /**
10986  * Returns the component-wise compare of x < y.
10987  */
10988 int __ovld __cnfn isless(float x, float y);
10989 int2 __ovld __cnfn isless(float2 x, float2 y);
10990 int3 __ovld __cnfn isless(float3 x, float3 y);
10991 int4 __ovld __cnfn isless(float4 x, float4 y);
10992 int8 __ovld __cnfn isless(float8 x, float8 y);
10993 int16 __ovld __cnfn isless(float16 x, float16 y);
10994 #ifdef cl_khr_fp64
10995 int __ovld __cnfn isless(double x, double y);
10996 long2 __ovld __cnfn isless(double2 x, double2 y);
10997 long3 __ovld __cnfn isless(double3 x, double3 y);
10998 long4 __ovld __cnfn isless(double4 x, double4 y);
10999 long8 __ovld __cnfn isless(double8 x, double8 y);
11000 long16 __ovld __cnfn isless(double16 x, double16 y);
11001 #endif //cl_khr_fp64
11002 #ifdef cl_khr_fp16
11003 int __ovld __cnfn isless(half x, half y);
11004 short2 __ovld __cnfn isless(half2 x, half2 y);
11005 short3 __ovld __cnfn isless(half3 x, half3 y);
11006 short4 __ovld __cnfn isless(half4 x, half4 y);
11007 short8 __ovld __cnfn isless(half8 x, half8 y);
11008 short16 __ovld __cnfn isless(half16 x, half16 y);
11009 #endif //cl_khr_fp16
11010
11011 /**
11012  * Returns the component-wise compare of x <= y.
11013  */
11014 int __ovld __cnfn islessequal(float x, float y);
11015 int2 __ovld __cnfn islessequal(float2 x, float2 y);
11016 int3 __ovld __cnfn islessequal(float3 x, float3 y);
11017 int4 __ovld __cnfn islessequal(float4 x, float4 y);
11018 int8 __ovld __cnfn islessequal(float8 x, float8 y);
11019 int16 __ovld __cnfn islessequal(float16 x, float16 y);
11020 #ifdef cl_khr_fp64
11021 int __ovld __cnfn islessequal(double x, double y);
11022 long2 __ovld __cnfn islessequal(double2 x, double2 y);
11023 long3 __ovld __cnfn islessequal(double3 x, double3 y);
11024 long4 __ovld __cnfn islessequal(double4 x, double4 y);
11025 long8 __ovld __cnfn islessequal(double8 x, double8 y);
11026 long16 __ovld __cnfn islessequal(double16 x, double16 y);
11027 #endif //cl_khr_fp64
11028 #ifdef cl_khr_fp16
11029 int __ovld __cnfn islessequal(half x, half y);
11030 short2 __ovld __cnfn islessequal(half2 x, half2 y);
11031 short3 __ovld __cnfn islessequal(half3 x, half3 y);
11032 short4 __ovld __cnfn islessequal(half4 x, half4 y);
11033 short8 __ovld __cnfn islessequal(half8 x, half8 y);
11034 short16 __ovld __cnfn islessequal(half16 x, half16 y);
11035 #endif //cl_khr_fp16
11036
11037 /**
11038  * Returns the component-wise compare of
11039  * (x < y) || (x > y) .
11040  */
11041 int __ovld __cnfn islessgreater(float x, float y);
11042 int2 __ovld __cnfn islessgreater(float2 x, float2 y);
11043 int3 __ovld __cnfn islessgreater(float3 x, float3 y);
11044 int4 __ovld __cnfn islessgreater(float4 x, float4 y);
11045 int8 __ovld __cnfn islessgreater(float8 x, float8 y);
11046 int16 __ovld __cnfn islessgreater(float16 x, float16 y);
11047 #ifdef cl_khr_fp64
11048 int __ovld __cnfn islessgreater(double x, double y);
11049 long2 __ovld __cnfn islessgreater(double2 x, double2 y);
11050 long3 __ovld __cnfn islessgreater(double3 x, double3 y);
11051 long4 __ovld __cnfn islessgreater(double4 x, double4 y);
11052 long8 __ovld __cnfn islessgreater(double8 x, double8 y);
11053 long16 __ovld __cnfn islessgreater(double16 x, double16 y);
11054 #endif //cl_khr_fp64
11055 #ifdef cl_khr_fp16
11056 int __ovld __cnfn islessgreater(half x, half y);
11057 short2 __ovld __cnfn islessgreater(half2 x, half2 y);
11058 short3 __ovld __cnfn islessgreater(half3 x, half3 y);
11059 short4 __ovld __cnfn islessgreater(half4 x, half4 y);
11060 short8 __ovld __cnfn islessgreater(half8 x, half8 y);
11061 short16 __ovld __cnfn islessgreater(half16 x, half16 y);
11062 #endif //cl_khr_fp16
11063
11064 /**
11065  * Test for finite value.
11066  */
11067 int __ovld __cnfn isfinite(float);
11068 int2 __ovld __cnfn isfinite(float2);
11069 int3 __ovld __cnfn isfinite(float3);
11070 int4 __ovld __cnfn isfinite(float4);
11071 int8 __ovld __cnfn isfinite(float8);
11072 int16 __ovld __cnfn isfinite(float16);
11073 #ifdef cl_khr_fp64
11074 int __ovld __cnfn isfinite(double);
11075 long2 __ovld __cnfn isfinite(double2);
11076 long3 __ovld __cnfn isfinite(double3);
11077 long4 __ovld __cnfn isfinite(double4);
11078 long8 __ovld __cnfn isfinite(double8);
11079 long16 __ovld __cnfn isfinite(double16);
11080 #endif //cl_khr_fp64
11081 #ifdef cl_khr_fp16
11082 int __ovld __cnfn isfinite(half);
11083 short2 __ovld __cnfn isfinite(half2);
11084 short3 __ovld __cnfn isfinite(half3);
11085 short4 __ovld __cnfn isfinite(half4);
11086 short8 __ovld __cnfn isfinite(half8);
11087 short16 __ovld __cnfn isfinite(half16);
11088 #endif //cl_khr_fp16
11089
11090 /**
11091  * Test for infinity value (+ve or -ve) .
11092  */
11093 int __ovld __cnfn isinf(float);
11094 int2 __ovld __cnfn isinf(float2);
11095 int3 __ovld __cnfn isinf(float3);
11096 int4 __ovld __cnfn isinf(float4);
11097 int8 __ovld __cnfn isinf(float8);
11098 int16 __ovld __cnfn isinf(float16);
11099 #ifdef cl_khr_fp64
11100 int __ovld __cnfn isinf(double);
11101 long2 __ovld __cnfn isinf(double2);
11102 long3 __ovld __cnfn isinf(double3);
11103 long4 __ovld __cnfn isinf(double4);
11104 long8 __ovld __cnfn isinf(double8);
11105 long16 __ovld __cnfn isinf(double16);
11106 #endif //cl_khr_fp64
11107 #ifdef cl_khr_fp16
11108 int __ovld __cnfn isinf(half);
11109 short2 __ovld __cnfn isinf(half2);
11110 short3 __ovld __cnfn isinf(half3);
11111 short4 __ovld __cnfn isinf(half4);
11112 short8 __ovld __cnfn isinf(half8);
11113 short16 __ovld __cnfn isinf(half16);
11114 #endif //cl_khr_fp16
11115
11116 /**
11117  * Test for a NaN.
11118  */
11119 int __ovld __cnfn isnan(float);
11120 int2 __ovld __cnfn isnan(float2);
11121 int3 __ovld __cnfn isnan(float3);
11122 int4 __ovld __cnfn isnan(float4);
11123 int8 __ovld __cnfn isnan(float8);
11124 int16 __ovld __cnfn isnan(float16);
11125 #ifdef cl_khr_fp64
11126 int __ovld __cnfn isnan(double);
11127 long2 __ovld __cnfn isnan(double2);
11128 long3 __ovld __cnfn isnan(double3);
11129 long4 __ovld __cnfn isnan(double4);
11130 long8 __ovld __cnfn isnan(double8);
11131 long16 __ovld __cnfn isnan(double16);
11132 #endif //cl_khr_fp64
11133 #ifdef cl_khr_fp16
11134 int __ovld __cnfn isnan(half);
11135 short2 __ovld __cnfn isnan(half2);
11136 short3 __ovld __cnfn isnan(half3);
11137 short4 __ovld __cnfn isnan(half4);
11138 short8 __ovld __cnfn isnan(half8);
11139 short16 __ovld __cnfn isnan(half16);
11140 #endif //cl_khr_fp16
11141
11142 /**
11143  * Test for a normal value.
11144  */
11145 int __ovld __cnfn isnormal(float);
11146 int2 __ovld __cnfn isnormal(float2);
11147 int3 __ovld __cnfn isnormal(float3);
11148 int4 __ovld __cnfn isnormal(float4);
11149 int8 __ovld __cnfn isnormal(float8);
11150 int16 __ovld __cnfn isnormal(float16);
11151 #ifdef cl_khr_fp64
11152 int __ovld __cnfn isnormal(double);
11153 long2 __ovld __cnfn isnormal(double2);
11154 long3 __ovld __cnfn isnormal(double3);
11155 long4 __ovld __cnfn isnormal(double4);
11156 long8 __ovld __cnfn isnormal(double8);
11157 long16 __ovld __cnfn isnormal(double16);
11158 #endif //cl_khr_fp64
11159 #ifdef cl_khr_fp16
11160 int __ovld __cnfn isnormal(half);
11161 short2 __ovld __cnfn isnormal(half2);
11162 short3 __ovld __cnfn isnormal(half3);
11163 short4 __ovld __cnfn isnormal(half4);
11164 short8 __ovld __cnfn isnormal(half8);
11165 short16 __ovld __cnfn isnormal(half16);
11166 #endif //cl_khr_fp16
11167
11168 /**
11169  * Test if arguments are ordered. isordered() takes
11170  * arguments x and y, and returns the result
11171  * isequal(x, x) && isequal(y, y).
11172  */
11173 int __ovld __cnfn isordered(float x, float y);
11174 int2 __ovld __cnfn isordered(float2 x, float2 y);
11175 int3 __ovld __cnfn isordered(float3 x, float3 y);
11176 int4 __ovld __cnfn isordered(float4 x, float4 y);
11177 int8 __ovld __cnfn isordered(float8 x, float8 y);
11178 int16 __ovld __cnfn isordered(float16 x, float16 y);
11179 #ifdef cl_khr_fp64
11180 int __ovld __cnfn isordered(double x, double y);
11181 long2 __ovld __cnfn isordered(double2 x, double2 y);
11182 long3 __ovld __cnfn isordered(double3 x, double3 y);
11183 long4 __ovld __cnfn isordered(double4 x, double4 y);
11184 long8 __ovld __cnfn isordered(double8 x, double8 y);
11185 long16 __ovld __cnfn isordered(double16 x, double16 y);
11186 #endif //cl_khr_fp64
11187 #ifdef cl_khr_fp16
11188 int __ovld __cnfn isordered(half x, half y);
11189 short2 __ovld __cnfn isordered(half2 x, half2 y);
11190 short3 __ovld __cnfn isordered(half3 x, half3 y);
11191 short4 __ovld __cnfn isordered(half4 x, half4 y);
11192 short8 __ovld __cnfn isordered(half8 x, half8 y);
11193 short16 __ovld __cnfn isordered(half16 x, half16 y);
11194 #endif //cl_khr_fp16
11195
11196 /**
11197  * Test if arguments are unordered. isunordered()
11198  * takes arguments x and y, returning non-zero if x or y
11199  * is NaN, and zero otherwise.
11200  */
11201 int __ovld __cnfn isunordered(float x, float y);
11202 int2 __ovld __cnfn isunordered(float2 x, float2 y);
11203 int3 __ovld __cnfn isunordered(float3 x, float3 y);
11204 int4 __ovld __cnfn isunordered(float4 x, float4 y);
11205 int8 __ovld __cnfn isunordered(float8 x, float8 y);
11206 int16 __ovld __cnfn isunordered(float16 x, float16 y);
11207 #ifdef cl_khr_fp64
11208 int __ovld __cnfn isunordered(double x, double y);
11209 long2 __ovld __cnfn isunordered(double2 x, double2 y);
11210 long3 __ovld __cnfn isunordered(double3 x, double3 y);
11211 long4 __ovld __cnfn isunordered(double4 x, double4 y);
11212 long8 __ovld __cnfn isunordered(double8 x, double8 y);
11213 long16 __ovld __cnfn isunordered(double16 x, double16 y);
11214 #endif //cl_khr_fp64
11215 #ifdef cl_khr_fp16
11216 int __ovld __cnfn isunordered(half x, half y);
11217 short2 __ovld __cnfn isunordered(half2 x, half2 y);
11218 short3 __ovld __cnfn isunordered(half3 x, half3 y);
11219 short4 __ovld __cnfn isunordered(half4 x, half4 y);
11220 short8 __ovld __cnfn isunordered(half8 x, half8 y);
11221 short16 __ovld __cnfn isunordered(half16 x, half16 y);
11222 #endif //cl_khr_fp16
11223
11224 /**
11225  * Test for sign bit. The scalar version of the function
11226  * returns a 1 if the sign bit in the float is set else returns
11227  * 0. The vector version of the function returns the
11228  * following for each component in floatn: a -1 if the
11229  * sign bit in the float is set else returns 0.
11230  */
11231 int __ovld __cnfn signbit(float);
11232 int2 __ovld __cnfn signbit(float2);
11233 int3 __ovld __cnfn signbit(float3);
11234 int4 __ovld __cnfn signbit(float4);
11235 int8 __ovld __cnfn signbit(float8);
11236 int16 __ovld __cnfn signbit(float16);
11237 #ifdef cl_khr_fp64
11238 int __ovld __cnfn signbit(double);
11239 long2 __ovld __cnfn signbit(double2);
11240 long3 __ovld __cnfn signbit(double3);
11241 long4 __ovld __cnfn signbit(double4);
11242 long8 __ovld __cnfn signbit(double8);
11243 long16 __ovld __cnfn signbit(double16);
11244 #endif //cl_khr_fp64
11245 #ifdef cl_khr_fp16
11246 int __ovld __cnfn signbit(half);
11247 short2 __ovld __cnfn signbit(half2);
11248 short3 __ovld __cnfn signbit(half3);
11249 short4 __ovld __cnfn signbit(half4);
11250 short8 __ovld __cnfn signbit(half8);
11251 short16 __ovld __cnfn signbit(half16);
11252 #endif //cl_khr_fp16
11253
11254 /**
11255  * Returns 1 if the most significant bit in any component
11256  * of x is set; otherwise returns 0.
11257  */
11258 int __ovld __cnfn any(char x);
11259 int __ovld __cnfn any(char2 x);
11260 int __ovld __cnfn any(char3 x);
11261 int __ovld __cnfn any(char4 x);
11262 int __ovld __cnfn any(char8 x);
11263 int __ovld __cnfn any(char16 x);
11264 int __ovld __cnfn any(short x);
11265 int __ovld __cnfn any(short2 x);
11266 int __ovld __cnfn any(short3 x);
11267 int __ovld __cnfn any(short4 x);
11268 int __ovld __cnfn any(short8 x);
11269 int __ovld __cnfn any(short16 x);
11270 int __ovld __cnfn any(int x);
11271 int __ovld __cnfn any(int2 x);
11272 int __ovld __cnfn any(int3 x);
11273 int __ovld __cnfn any(int4 x);
11274 int __ovld __cnfn any(int8 x);
11275 int __ovld __cnfn any(int16 x);
11276 int __ovld __cnfn any(long x);
11277 int __ovld __cnfn any(long2 x);
11278 int __ovld __cnfn any(long3 x);
11279 int __ovld __cnfn any(long4 x);
11280 int __ovld __cnfn any(long8 x);
11281 int __ovld __cnfn any(long16 x);
11282
11283 /**
11284  * Returns 1 if the most significant bit in all components
11285  * of x is set; otherwise returns 0.
11286  */
11287 int __ovld __cnfn all(char x);
11288 int __ovld __cnfn all(char2 x);
11289 int __ovld __cnfn all(char3 x);
11290 int __ovld __cnfn all(char4 x);
11291 int __ovld __cnfn all(char8 x);
11292 int __ovld __cnfn all(char16 x);
11293 int __ovld __cnfn all(short x);
11294 int __ovld __cnfn all(short2 x);
11295 int __ovld __cnfn all(short3 x);
11296 int __ovld __cnfn all(short4 x);
11297 int __ovld __cnfn all(short8 x);
11298 int __ovld __cnfn all(short16 x);
11299 int __ovld __cnfn all(int x);
11300 int __ovld __cnfn all(int2 x);
11301 int __ovld __cnfn all(int3 x);
11302 int __ovld __cnfn all(int4 x);
11303 int __ovld __cnfn all(int8 x);
11304 int __ovld __cnfn all(int16 x);
11305 int __ovld __cnfn all(long x);
11306 int __ovld __cnfn all(long2 x);
11307 int __ovld __cnfn all(long3 x);
11308 int __ovld __cnfn all(long4 x);
11309 int __ovld __cnfn all(long8 x);
11310 int __ovld __cnfn all(long16 x);
11311
11312 /**
11313  * Each bit of the result is the corresponding bit of a if
11314  * the corresponding bit of c is 0. Otherwise it is the
11315  * corresponding bit of b.
11316  */
11317 char __ovld __cnfn bitselect(char a, char b, char c);
11318 uchar __ovld __cnfn bitselect(uchar a, uchar b, uchar c);
11319 char2 __ovld __cnfn bitselect(char2 a, char2 b, char2 c);
11320 uchar2 __ovld __cnfn bitselect(uchar2 a, uchar2 b, uchar2 c);
11321 char3 __ovld __cnfn bitselect(char3 a, char3 b, char3 c);
11322 uchar3 __ovld __cnfn bitselect(uchar3 a, uchar3 b, uchar3 c);
11323 char4 __ovld __cnfn bitselect(char4 a, char4 b, char4 c);
11324 uchar4 __ovld __cnfn bitselect(uchar4 a, uchar4 b, uchar4 c);
11325 char8 __ovld __cnfn bitselect(char8 a, char8 b, char8 c);
11326 uchar8 __ovld __cnfn bitselect(uchar8 a, uchar8 b, uchar8 c);
11327 char16 __ovld __cnfn bitselect(char16 a, char16 b, char16 c);
11328 uchar16 __ovld __cnfn bitselect(uchar16 a, uchar16 b, uchar16 c);
11329 short __ovld __cnfn bitselect(short a, short b, short c);
11330 ushort __ovld __cnfn bitselect(ushort a, ushort b, ushort c);
11331 short2 __ovld __cnfn bitselect(short2 a, short2 b, short2 c);
11332 ushort2 __ovld __cnfn bitselect(ushort2 a, ushort2 b, ushort2 c);
11333 short3 __ovld __cnfn bitselect(short3 a, short3 b, short3 c);
11334 ushort3 __ovld __cnfn bitselect(ushort3 a, ushort3 b, ushort3 c);
11335 short4 __ovld __cnfn bitselect(short4 a, short4 b, short4 c);
11336 ushort4 __ovld __cnfn bitselect(ushort4 a, ushort4 b, ushort4 c);
11337 short8 __ovld __cnfn bitselect(short8 a, short8 b, short8 c);
11338 ushort8 __ovld __cnfn bitselect(ushort8 a, ushort8 b, ushort8 c);
11339 short16 __ovld __cnfn bitselect(short16 a, short16 b, short16 c);
11340 ushort16 __ovld __cnfn bitselect(ushort16 a, ushort16 b, ushort16 c);
11341 int __ovld __cnfn bitselect(int a, int b, int c);
11342 uint __ovld __cnfn bitselect(uint a, uint b, uint c);
11343 int2 __ovld __cnfn bitselect(int2 a, int2 b, int2 c);
11344 uint2 __ovld __cnfn bitselect(uint2 a, uint2 b, uint2 c);
11345 int3 __ovld __cnfn bitselect(int3 a, int3 b, int3 c);
11346 uint3 __ovld __cnfn bitselect(uint3 a, uint3 b, uint3 c);
11347 int4 __ovld __cnfn bitselect(int4 a, int4 b, int4 c);
11348 uint4 __ovld __cnfn bitselect(uint4 a, uint4 b, uint4 c);
11349 int8 __ovld __cnfn bitselect(int8 a, int8 b, int8 c);
11350 uint8 __ovld __cnfn bitselect(uint8 a, uint8 b, uint8 c);
11351 int16 __ovld __cnfn bitselect(int16 a, int16 b, int16 c);
11352 uint16 __ovld __cnfn bitselect(uint16 a, uint16 b, uint16 c);
11353 long __ovld __cnfn bitselect(long a, long b, long c);
11354 ulong __ovld __cnfn bitselect(ulong a, ulong b, ulong c);
11355 long2 __ovld __cnfn bitselect(long2 a, long2 b, long2 c);
11356 ulong2 __ovld __cnfn bitselect(ulong2 a, ulong2 b, ulong2 c);
11357 long3 __ovld __cnfn bitselect(long3 a, long3 b, long3 c);
11358 ulong3 __ovld __cnfn bitselect(ulong3 a, ulong3 b, ulong3 c);
11359 long4 __ovld __cnfn bitselect(long4 a, long4 b, long4 c);
11360 ulong4 __ovld __cnfn bitselect(ulong4 a, ulong4 b, ulong4 c);
11361 long8 __ovld __cnfn bitselect(long8 a, long8 b, long8 c);
11362 ulong8 __ovld __cnfn bitselect(ulong8 a, ulong8 b, ulong8 c);
11363 long16 __ovld __cnfn bitselect(long16 a, long16 b, long16 c);
11364 ulong16 __ovld __cnfn bitselect(ulong16 a, ulong16 b, ulong16 c);
11365 float __ovld __cnfn bitselect(float a, float b, float c);
11366 float2 __ovld __cnfn bitselect(float2 a, float2 b, float2 c);
11367 float3 __ovld __cnfn bitselect(float3 a, float3 b, float3 c);
11368 float4 __ovld __cnfn bitselect(float4 a, float4 b, float4 c);
11369 float8 __ovld __cnfn bitselect(float8 a, float8 b, float8 c);
11370 float16 __ovld __cnfn bitselect(float16 a, float16 b, float16 c);
11371 #ifdef cl_khr_fp64
11372 double __ovld __cnfn bitselect(double a, double b, double c);
11373 double2 __ovld __cnfn bitselect(double2 a, double2 b, double2 c);
11374 double3 __ovld __cnfn bitselect(double3 a, double3 b, double3 c);
11375 double4 __ovld __cnfn bitselect(double4 a, double4 b, double4 c);
11376 double8 __ovld __cnfn bitselect(double8 a, double8 b, double8 c);
11377 double16 __ovld __cnfn bitselect(double16 a, double16 b, double16 c);
11378 #endif //cl_khr_fp64
11379 #ifdef cl_khr_fp16
11380 half __ovld __cnfn bitselect(half a, half b, half c);
11381 half2 __ovld __cnfn bitselect(half2 a, half2 b, half2 c);
11382 half3 __ovld __cnfn bitselect(half3 a, half3 b, half3 c);
11383 half4 __ovld __cnfn bitselect(half4 a, half4 b, half4 c);
11384 half8 __ovld __cnfn bitselect(half8 a, half8 b, half8 c);
11385 half16 __ovld __cnfn bitselect(half16 a, half16 b, half16 c);
11386 #endif //cl_khr_fp16
11387
11388 /**
11389  * For each component of a vector type,
11390  * result[i] = if MSB of c[i] is set ? b[i] : a[i].
11391  * For a scalar type, result = c ? b : a.
11392  * b and a must have the same type.
11393  * c must have the same number of elements and bits as a.
11394  */
11395 char __ovld __cnfn select(char a, char b, char c);
11396 uchar __ovld __cnfn select(uchar a, uchar b, char c);
11397 char2 __ovld __cnfn select(char2 a, char2 b, char2 c);
11398 uchar2 __ovld __cnfn select(uchar2 a, uchar2 b, char2 c);
11399 char3 __ovld __cnfn select(char3 a, char3 b, char3 c);
11400 uchar3 __ovld __cnfn select(uchar3 a, uchar3 b, char3 c);
11401 char4 __ovld __cnfn select(char4 a, char4 b, char4 c);
11402 uchar4 __ovld __cnfn select(uchar4 a, uchar4 b, char4 c);
11403 char8 __ovld __cnfn select(char8 a, char8 b, char8 c);
11404 uchar8 __ovld __cnfn select(uchar8 a, uchar8 b, char8 c);
11405 char16 __ovld __cnfn select(char16 a, char16 b, char16 c);
11406 uchar16 __ovld __cnfn select(uchar16 a, uchar16 b, char16 c);
11407
11408 short __ovld __cnfn select(short a, short b, short c);
11409 ushort __ovld __cnfn select(ushort a, ushort b, short c);
11410 short2 __ovld __cnfn select(short2 a, short2 b, short2 c);
11411 ushort2 __ovld __cnfn select(ushort2 a, ushort2 b, short2 c);
11412 short3 __ovld __cnfn select(short3 a, short3 b, short3 c);
11413 ushort3 __ovld __cnfn select(ushort3 a, ushort3 b, short3 c);
11414 short4 __ovld __cnfn select(short4 a, short4 b, short4 c);
11415 ushort4 __ovld __cnfn select(ushort4 a, ushort4 b, short4 c);
11416 short8 __ovld __cnfn select(short8 a, short8 b, short8 c);
11417 ushort8 __ovld __cnfn select(ushort8 a, ushort8 b, short8 c);
11418 short16 __ovld __cnfn select(short16 a, short16 b, short16 c);
11419 ushort16 __ovld __cnfn select(ushort16 a, ushort16 b, short16 c);
11420
11421 int __ovld __cnfn select(int a, int b, int c);
11422 uint __ovld __cnfn select(uint a, uint b, int c);
11423 int2 __ovld __cnfn select(int2 a, int2 b, int2 c);
11424 uint2 __ovld __cnfn select(uint2 a, uint2 b, int2 c);
11425 int3 __ovld __cnfn select(int3 a, int3 b, int3 c);
11426 uint3 __ovld __cnfn select(uint3 a, uint3 b, int3 c);
11427 int4 __ovld __cnfn select(int4 a, int4 b, int4 c);
11428 uint4 __ovld __cnfn select(uint4 a, uint4 b, int4 c);
11429 int8 __ovld __cnfn select(int8 a, int8 b, int8 c);
11430 uint8 __ovld __cnfn select(uint8 a, uint8 b, int8 c);
11431 int16 __ovld __cnfn select(int16 a, int16 b, int16 c);
11432 uint16 __ovld __cnfn select(uint16 a, uint16 b, int16 c);
11433 float __ovld __cnfn select(float a, float b, int c);
11434 float2 __ovld __cnfn select(float2 a, float2 b, int2 c);
11435 float3 __ovld __cnfn select(float3 a, float3 b, int3 c);
11436 float4 __ovld __cnfn select(float4 a, float4 b, int4 c);
11437 float8 __ovld __cnfn select(float8 a, float8 b, int8 c);
11438 float16 __ovld __cnfn select(float16 a, float16 b, int16 c);
11439
11440 long __ovld __cnfn select(long a, long b, long c);
11441 ulong __ovld __cnfn select(ulong a, ulong b, long c);
11442 long2 __ovld __cnfn select(long2 a, long2 b, long2 c);
11443 ulong2 __ovld __cnfn select(ulong2 a, ulong2 b, long2 c);
11444 long3 __ovld __cnfn select(long3 a, long3 b, long3 c);
11445 ulong3 __ovld __cnfn select(ulong3 a, ulong3 b, long3 c);
11446 long4 __ovld __cnfn select(long4 a, long4 b, long4 c);
11447 ulong4 __ovld __cnfn select(ulong4 a, ulong4 b, long4 c);
11448 long8 __ovld __cnfn select(long8 a, long8 b, long8 c);
11449 ulong8 __ovld __cnfn select(ulong8 a, ulong8 b, long8 c);
11450 long16 __ovld __cnfn select(long16 a, long16 b, long16 c);
11451 ulong16 __ovld __cnfn select(ulong16 a, ulong16 b, long16 c);
11452
11453 char __ovld __cnfn select(char a, char b, uchar c);
11454 uchar __ovld __cnfn select(uchar a, uchar b, uchar c);
11455 char2 __ovld __cnfn select(char2 a, char2 b, uchar2 c);
11456 uchar2 __ovld __cnfn select(uchar2 a, uchar2 b, uchar2 c);
11457 char3 __ovld __cnfn select(char3 a, char3 b, uchar3 c);
11458 uchar3 __ovld __cnfn select(uchar3 a, uchar3 b, uchar3 c);
11459 char4 __ovld __cnfn select(char4 a, char4 b, uchar4 c);
11460 uchar4 __ovld __cnfn select(uchar4 a, uchar4 b, uchar4 c);
11461 char8 __ovld __cnfn select(char8 a, char8 b, uchar8 c);
11462 uchar8 __ovld __cnfn select(uchar8 a, uchar8 b, uchar8 c);
11463 char16 __ovld __cnfn select(char16 a, char16 b, uchar16 c);
11464 uchar16 __ovld __cnfn select(uchar16 a, uchar16 b, uchar16 c);
11465
11466 short __ovld __cnfn select(short a, short b, ushort c);
11467 ushort __ovld __cnfn select(ushort a, ushort b, ushort c);
11468 short2 __ovld __cnfn select(short2 a, short2 b, ushort2 c);
11469 ushort2 __ovld __cnfn select(ushort2 a, ushort2 b, ushort2 c);
11470 short3 __ovld __cnfn select(short3 a, short3 b, ushort3 c);
11471 ushort3 __ovld __cnfn select(ushort3 a, ushort3 b, ushort3 c);
11472 short4 __ovld __cnfn select(short4 a, short4 b, ushort4 c);
11473 ushort4 __ovld __cnfn select(ushort4 a, ushort4 b, ushort4 c);
11474 short8 __ovld __cnfn select(short8 a, short8 b, ushort8 c);
11475 ushort8 __ovld __cnfn select(ushort8 a, ushort8 b, ushort8 c);
11476 short16 __ovld __cnfn select(short16 a, short16 b, ushort16 c);
11477 ushort16 __ovld __cnfn select(ushort16 a, ushort16 b, ushort16 c);
11478
11479 int __ovld __cnfn select(int a, int b, uint c);
11480 uint __ovld __cnfn select(uint a, uint b, uint c);
11481 int2 __ovld __cnfn select(int2 a, int2 b, uint2 c);
11482 uint2 __ovld __cnfn select(uint2 a, uint2 b, uint2 c);
11483 int3 __ovld __cnfn select(int3 a, int3 b, uint3 c);
11484 uint3 __ovld __cnfn select(uint3 a, uint3 b, uint3 c);
11485 int4 __ovld __cnfn select(int4 a, int4 b, uint4 c);
11486 uint4 __ovld __cnfn select(uint4 a, uint4 b, uint4 c);
11487 int8 __ovld __cnfn select(int8 a, int8 b, uint8 c);
11488 uint8 __ovld __cnfn select(uint8 a, uint8 b, uint8 c);
11489 int16 __ovld __cnfn select(int16 a, int16 b, uint16 c);
11490 uint16 __ovld __cnfn select(uint16 a, uint16 b, uint16 c);
11491 float __ovld __cnfn select(float a, float b, uint c);
11492 float2 __ovld __cnfn select(float2 a, float2 b, uint2 c);
11493 float3 __ovld __cnfn select(float3 a, float3 b, uint3 c);
11494 float4 __ovld __cnfn select(float4 a, float4 b, uint4 c);
11495 float8 __ovld __cnfn select(float8 a, float8 b, uint8 c);
11496 float16 __ovld __cnfn select(float16 a, float16 b, uint16 c);
11497
11498 long __ovld __cnfn select(long a, long b, ulong c);
11499 ulong __ovld __cnfn select(ulong a, ulong b, ulong c);
11500 long2 __ovld __cnfn select(long2 a, long2 b, ulong2 c);
11501 ulong2 __ovld __cnfn select(ulong2 a, ulong2 b, ulong2 c);
11502 long3 __ovld __cnfn select(long3 a, long3 b, ulong3 c);
11503 ulong3 __ovld __cnfn select(ulong3 a, ulong3 b, ulong3 c);
11504 long4 __ovld __cnfn select(long4 a, long4 b, ulong4 c);
11505 ulong4 __ovld __cnfn select(ulong4 a, ulong4 b, ulong4 c);
11506 long8 __ovld __cnfn select(long8 a, long8 b, ulong8 c);
11507 ulong8 __ovld __cnfn select(ulong8 a, ulong8 b, ulong8 c);
11508 long16 __ovld __cnfn select(long16 a, long16 b, ulong16 c);
11509 ulong16 __ovld __cnfn select(ulong16 a, ulong16 b, ulong16 c);
11510
11511 #ifdef cl_khr_fp64
11512 double __ovld __cnfn select(double a, double b, long c);
11513 double2 __ovld __cnfn select(double2 a, double2 b, long2 c);
11514 double3 __ovld __cnfn select(double3 a, double3 b, long3 c);
11515 double4 __ovld __cnfn select(double4 a, double4 b, long4 c);
11516 double8 __ovld __cnfn select(double8 a, double8 b, long8 c);
11517 double16 __ovld __cnfn select(double16 a, double16 b, long16 c);
11518 double __ovld __cnfn select(double a, double b, ulong c);
11519 double2 __ovld __cnfn select(double2 a, double2 b, ulong2 c);
11520 double3 __ovld __cnfn select(double3 a, double3 b, ulong3 c);
11521 double4 __ovld __cnfn select(double4 a, double4 b, ulong4 c);
11522 double8 __ovld __cnfn select(double8 a, double8 b, ulong8 c);
11523 double16 __ovld __cnfn select(double16 a, double16 b, ulong16 c);
11524 #endif //cl_khr_fp64
11525 #ifdef cl_khr_fp16
11526 half __ovld __cnfn select(half a, half b, short c);
11527 half2 __ovld __cnfn select(half2 a, half2 b, short2 c);
11528 half3 __ovld __cnfn select(half3 a, half3 b, short3 c);
11529 half4 __ovld __cnfn select(half4 a, half4 b, short4 c);
11530 half8 __ovld __cnfn select(half8 a, half8 b, short8 c);
11531 half16 __ovld __cnfn select(half16 a, half16 b, short16 c);
11532 half __ovld __cnfn select(half a, half b, ushort c);
11533 half2 __ovld __cnfn select(half2 a, half2 b, ushort2 c);
11534 half3 __ovld __cnfn select(half3 a, half3 b, ushort3 c);
11535 half4 __ovld __cnfn select(half4 a, half4 b, ushort4 c);
11536 half8 __ovld __cnfn select(half8 a, half8 b, ushort8 c);
11537 half16 __ovld __cnfn select(half16 a, half16 b, ushort16 c);
11538 #endif //cl_khr_fp16
11539
11540 // OpenCL v1.1 s6.11.7, v1.2 s6.12.7, v2.0 s6.13.7 - Vector Data Load and Store Functions
11541 // 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
11542 /**
11543  * Use generic type gentype to indicate the built-in data types
11544  * char, uchar, short, ushort, int, uint, long, ulong, float,
11545  * double or half.
11546  *
11547  * vloadn return sizeof (gentypen) bytes of data read from address (p + (offset * n)).
11548  *
11549  * vstoren write sizeof (gentypen) bytes given by data to address (p + (offset * n)).
11550  *
11551  * The address computed as (p + (offset * n)) must be
11552  * 8-bit aligned if gentype is char, uchar;
11553  * 16-bit aligned if gentype is short, ushort, half;
11554  * 32-bit aligned if gentype is int, uint, float;
11555  * 64-bit aligned if gentype is long, ulong, double.
11556  */
11557
11558 char2 __ovld vload2(size_t offset, const __constant char *p);
11559 uchar2 __ovld vload2(size_t offset, const __constant uchar *p);
11560 short2 __ovld vload2(size_t offset, const __constant short *p);
11561 ushort2 __ovld vload2(size_t offset, const __constant ushort *p);
11562 int2 __ovld vload2(size_t offset, const __constant int *p);
11563 uint2 __ovld vload2(size_t offset, const __constant uint *p);
11564 long2 __ovld vload2(size_t offset, const __constant long *p);
11565 ulong2 __ovld vload2(size_t offset, const __constant ulong *p);
11566 float2 __ovld vload2(size_t offset, const __constant float *p);
11567 char3 __ovld vload3(size_t offset, const __constant char *p);
11568 uchar3 __ovld vload3(size_t offset, const __constant uchar *p);
11569 short3 __ovld vload3(size_t offset, const __constant short *p);
11570 ushort3 __ovld vload3(size_t offset, const __constant ushort *p);
11571 int3 __ovld vload3(size_t offset, const __constant int *p);
11572 uint3 __ovld vload3(size_t offset, const __constant uint *p);
11573 long3 __ovld vload3(size_t offset, const __constant long *p);
11574 ulong3 __ovld vload3(size_t offset, const __constant ulong *p);
11575 float3 __ovld vload3(size_t offset, const __constant float *p);
11576 char4 __ovld vload4(size_t offset, const __constant char *p);
11577 uchar4 __ovld vload4(size_t offset, const __constant uchar *p);
11578 short4 __ovld vload4(size_t offset, const __constant short *p);
11579 ushort4 __ovld vload4(size_t offset, const __constant ushort *p);
11580 int4 __ovld vload4(size_t offset, const __constant int *p);
11581 uint4 __ovld vload4(size_t offset, const __constant uint *p);
11582 long4 __ovld vload4(size_t offset, const __constant long *p);
11583 ulong4 __ovld vload4(size_t offset, const __constant ulong *p);
11584 float4 __ovld vload4(size_t offset, const __constant float *p);
11585 char8 __ovld vload8(size_t offset, const __constant char *p);
11586 uchar8 __ovld vload8(size_t offset, const __constant uchar *p);
11587 short8 __ovld vload8(size_t offset, const __constant short *p);
11588 ushort8 __ovld vload8(size_t offset, const __constant ushort *p);
11589 int8 __ovld vload8(size_t offset, const __constant int *p);
11590 uint8 __ovld vload8(size_t offset, const __constant uint *p);
11591 long8 __ovld vload8(size_t offset, const __constant long *p);
11592 ulong8 __ovld vload8(size_t offset, const __constant ulong *p);
11593 float8 __ovld vload8(size_t offset, const __constant float *p);
11594 char16 __ovld vload16(size_t offset, const __constant char *p);
11595 uchar16 __ovld vload16(size_t offset, const __constant uchar *p);
11596 short16 __ovld vload16(size_t offset, const __constant short *p);
11597 ushort16 __ovld vload16(size_t offset, const __constant ushort *p);
11598 int16 __ovld vload16(size_t offset, const __constant int *p);
11599 uint16 __ovld vload16(size_t offset, const __constant uint *p);
11600 long16 __ovld vload16(size_t offset, const __constant long *p);
11601 ulong16 __ovld vload16(size_t offset, const __constant ulong *p);
11602 float16 __ovld vload16(size_t offset, const __constant float *p);
11603 #ifdef cl_khr_fp64
11604 double2 __ovld vload2(size_t offset, const __constant double *p);
11605 double3 __ovld vload3(size_t offset, const __constant double *p);
11606 double4 __ovld vload4(size_t offset, const __constant double *p);
11607 double8 __ovld vload8(size_t offset, const __constant double *p);
11608 double16 __ovld vload16(size_t offset, const __constant double *p);
11609 #endif //cl_khr_fp64
11610
11611 #ifdef cl_khr_fp16
11612 half __ovld vload(size_t offset, const __constant half *p);
11613 half2 __ovld vload2(size_t offset, const __constant half *p);
11614 half3 __ovld vload3(size_t offset, const __constant half *p);
11615 half4 __ovld vload4(size_t offset, const __constant half *p);
11616 half8 __ovld vload8(size_t offset, const __constant half *p);
11617 half16 __ovld vload16(size_t offset, const __constant half *p);
11618 #endif //cl_khr_fp16
11619
11620 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
11621 char2 __ovld vload2(size_t offset, const char *p);
11622 uchar2 __ovld vload2(size_t offset, const uchar *p);
11623 short2 __ovld vload2(size_t offset, const short *p);
11624 ushort2 __ovld vload2(size_t offset, const ushort *p);
11625 int2 __ovld vload2(size_t offset, const int *p);
11626 uint2 __ovld vload2(size_t offset, const uint *p);
11627 long2 __ovld vload2(size_t offset, const long *p);
11628 ulong2 __ovld vload2(size_t offset, const ulong *p);
11629 float2 __ovld vload2(size_t offset, const float *p);
11630 char3 __ovld vload3(size_t offset, const char *p);
11631 uchar3 __ovld vload3(size_t offset, const uchar *p);
11632 short3 __ovld vload3(size_t offset, const short *p);
11633 ushort3 __ovld vload3(size_t offset, const ushort *p);
11634 int3 __ovld vload3(size_t offset, const int *p);
11635 uint3 __ovld vload3(size_t offset, const uint *p);
11636 long3 __ovld vload3(size_t offset, const long *p);
11637 ulong3 __ovld vload3(size_t offset, const ulong *p);
11638 float3 __ovld vload3(size_t offset, const float *p);
11639 char4 __ovld vload4(size_t offset, const char *p);
11640 uchar4 __ovld vload4(size_t offset, const uchar *p);
11641 short4 __ovld vload4(size_t offset, const short *p);
11642 ushort4 __ovld vload4(size_t offset, const ushort *p);
11643 int4 __ovld vload4(size_t offset, const int *p);
11644 uint4 __ovld vload4(size_t offset, const uint *p);
11645 long4 __ovld vload4(size_t offset, const long *p);
11646 ulong4 __ovld vload4(size_t offset, const ulong *p);
11647 float4 __ovld vload4(size_t offset, const float *p);
11648 char8 __ovld vload8(size_t offset, const char *p);
11649 uchar8 __ovld vload8(size_t offset, const uchar *p);
11650 short8 __ovld vload8(size_t offset, const short *p);
11651 ushort8 __ovld vload8(size_t offset, const ushort *p);
11652 int8 __ovld vload8(size_t offset, const int *p);
11653 uint8 __ovld vload8(size_t offset, const uint *p);
11654 long8 __ovld vload8(size_t offset, const long *p);
11655 ulong8 __ovld vload8(size_t offset, const ulong *p);
11656 float8 __ovld vload8(size_t offset, const float *p);
11657 char16 __ovld vload16(size_t offset, const char *p);
11658 uchar16 __ovld vload16(size_t offset, const uchar *p);
11659 short16 __ovld vload16(size_t offset, const short *p);
11660 ushort16 __ovld vload16(size_t offset, const ushort *p);
11661 int16 __ovld vload16(size_t offset, const int *p);
11662 uint16 __ovld vload16(size_t offset, const uint *p);
11663 long16 __ovld vload16(size_t offset, const long *p);
11664 ulong16 __ovld vload16(size_t offset, const ulong *p);
11665 float16 __ovld vload16(size_t offset, const float *p);
11666
11667 #ifdef cl_khr_fp64
11668 double2 __ovld vload2(size_t offset, const double *p);
11669 double3 __ovld vload3(size_t offset, const double *p);
11670 double4 __ovld vload4(size_t offset, const double *p);
11671 double8 __ovld vload8(size_t offset, const double *p);
11672 double16 __ovld vload16(size_t offset, const double *p);
11673 #endif //cl_khr_fp64
11674
11675 #ifdef cl_khr_fp16
11676 half __ovld vload(size_t offset, const half *p);
11677 half2 __ovld vload2(size_t offset, const half *p);
11678 half3 __ovld vload3(size_t offset, const half *p);
11679 half4 __ovld vload4(size_t offset, const half *p);
11680 half8 __ovld vload8(size_t offset, const half *p);
11681 half16 __ovld vload16(size_t offset, const half *p);
11682 #endif //cl_khr_fp16
11683 #else
11684 char2 __ovld vload2(size_t offset, const __global char *p);
11685 uchar2 __ovld vload2(size_t offset, const __global uchar *p);
11686 short2 __ovld vload2(size_t offset, const __global short *p);
11687 ushort2 __ovld vload2(size_t offset, const __global ushort *p);
11688 int2 __ovld vload2(size_t offset, const __global int *p);
11689 uint2 __ovld vload2(size_t offset, const __global uint *p);
11690 long2 __ovld vload2(size_t offset, const __global long *p);
11691 ulong2 __ovld vload2(size_t offset, const __global ulong *p);
11692 float2 __ovld vload2(size_t offset, const __global float *p);
11693 char3 __ovld vload3(size_t offset, const __global char *p);
11694 uchar3 __ovld vload3(size_t offset, const __global uchar *p);
11695 short3 __ovld vload3(size_t offset, const __global short *p);
11696 ushort3 __ovld vload3(size_t offset, const __global ushort *p);
11697 int3 __ovld vload3(size_t offset, const __global int *p);
11698 uint3 __ovld vload3(size_t offset, const __global uint *p);
11699 long3 __ovld vload3(size_t offset, const __global long *p);
11700 ulong3 __ovld vload3(size_t offset, const __global ulong *p);
11701 float3 __ovld vload3(size_t offset, const __global float *p);
11702 char4 __ovld vload4(size_t offset, const __global char *p);
11703 uchar4 __ovld vload4(size_t offset, const __global uchar *p);
11704 short4 __ovld vload4(size_t offset, const __global short *p);
11705 ushort4 __ovld vload4(size_t offset, const __global ushort *p);
11706 int4 __ovld vload4(size_t offset, const __global int *p);
11707 uint4 __ovld vload4(size_t offset, const __global uint *p);
11708 long4 __ovld vload4(size_t offset, const __global long *p);
11709 ulong4 __ovld vload4(size_t offset, const __global ulong *p);
11710 float4 __ovld vload4(size_t offset, const __global float *p);
11711 char8 __ovld vload8(size_t offset, const __global char *p);
11712 uchar8 __ovld vload8(size_t offset, const __global uchar *p);
11713 short8 __ovld vload8(size_t offset, const __global short *p);
11714 ushort8 __ovld vload8(size_t offset, const __global ushort *p);
11715 int8 __ovld vload8(size_t offset, const __global int *p);
11716 uint8 __ovld vload8(size_t offset, const __global uint *p);
11717 long8 __ovld vload8(size_t offset, const __global long *p);
11718 ulong8 __ovld vload8(size_t offset, const __global ulong *p);
11719 float8 __ovld vload8(size_t offset, const __global float *p);
11720 char16 __ovld vload16(size_t offset, const __global char *p);
11721 uchar16 __ovld vload16(size_t offset, const __global uchar *p);
11722 short16 __ovld vload16(size_t offset, const __global short *p);
11723 ushort16 __ovld vload16(size_t offset, const __global ushort *p);
11724 int16 __ovld vload16(size_t offset, const __global int *p);
11725 uint16 __ovld vload16(size_t offset, const __global uint *p);
11726 long16 __ovld vload16(size_t offset, const __global long *p);
11727 ulong16 __ovld vload16(size_t offset, const __global ulong *p);
11728 float16 __ovld vload16(size_t offset, const __global float *p);
11729 char2 __ovld vload2(size_t offset, const __local char *p);
11730 uchar2 __ovld vload2(size_t offset, const __local uchar *p);
11731 short2 __ovld vload2(size_t offset, const __local short *p);
11732 ushort2 __ovld vload2(size_t offset, const __local ushort *p);
11733 int2 __ovld vload2(size_t offset, const __local int *p);
11734 uint2 __ovld vload2(size_t offset, const __local uint *p);
11735 long2 __ovld vload2(size_t offset, const __local long *p);
11736 ulong2 __ovld vload2(size_t offset, const __local ulong *p);
11737 float2 __ovld vload2(size_t offset, const __local float *p);
11738 char3 __ovld vload3(size_t offset, const __local char *p);
11739 uchar3 __ovld vload3(size_t offset, const __local uchar *p);
11740 short3 __ovld vload3(size_t offset, const __local short *p);
11741 ushort3 __ovld vload3(size_t offset, const __local ushort *p);
11742 int3 __ovld vload3(size_t offset, const __local int *p);
11743 uint3 __ovld vload3(size_t offset, const __local uint *p);
11744 long3 __ovld vload3(size_t offset, const __local long *p);
11745 ulong3 __ovld vload3(size_t offset, const __local ulong *p);
11746 float3 __ovld vload3(size_t offset, const __local float *p);
11747 char4 __ovld vload4(size_t offset, const __local char *p);
11748 uchar4 __ovld vload4(size_t offset, const __local uchar *p);
11749 short4 __ovld vload4(size_t offset, const __local short *p);
11750 ushort4 __ovld vload4(size_t offset, const __local ushort *p);
11751 int4 __ovld vload4(size_t offset, const __local int *p);
11752 uint4 __ovld vload4(size_t offset, const __local uint *p);
11753 long4 __ovld vload4(size_t offset, const __local long *p);
11754 ulong4 __ovld vload4(size_t offset, const __local ulong *p);
11755 float4 __ovld vload4(size_t offset, const __local float *p);
11756 char8 __ovld vload8(size_t offset, const __local char *p);
11757 uchar8 __ovld vload8(size_t offset, const __local uchar *p);
11758 short8 __ovld vload8(size_t offset, const __local short *p);
11759 ushort8 __ovld vload8(size_t offset, const __local ushort *p);
11760 int8 __ovld vload8(size_t offset, const __local int *p);
11761 uint8 __ovld vload8(size_t offset, const __local uint *p);
11762 long8 __ovld vload8(size_t offset, const __local long *p);
11763 ulong8 __ovld vload8(size_t offset, const __local ulong *p);
11764 float8 __ovld vload8(size_t offset, const __local float *p);
11765 char16 __ovld vload16(size_t offset, const __local char *p);
11766 uchar16 __ovld vload16(size_t offset, const __local uchar *p);
11767 short16 __ovld vload16(size_t offset, const __local short *p);
11768 ushort16 __ovld vload16(size_t offset, const __local ushort *p);
11769 int16 __ovld vload16(size_t offset, const __local int *p);
11770 uint16 __ovld vload16(size_t offset, const __local uint *p);
11771 long16 __ovld vload16(size_t offset, const __local long *p);
11772 ulong16 __ovld vload16(size_t offset, const __local ulong *p);
11773 float16 __ovld vload16(size_t offset, const __local float *p);
11774 char2 __ovld vload2(size_t offset, const __private char *p);
11775 uchar2 __ovld vload2(size_t offset, const __private uchar *p);
11776 short2 __ovld vload2(size_t offset, const __private short *p);
11777 ushort2 __ovld vload2(size_t offset, const __private ushort *p);
11778 int2 __ovld vload2(size_t offset, const __private int *p);
11779 uint2 __ovld vload2(size_t offset, const __private uint *p);
11780 long2 __ovld vload2(size_t offset, const __private long *p);
11781 ulong2 __ovld vload2(size_t offset, const __private ulong *p);
11782 float2 __ovld vload2(size_t offset, const __private float *p);
11783 char3 __ovld vload3(size_t offset, const __private char *p);
11784 uchar3 __ovld vload3(size_t offset, const __private uchar *p);
11785 short3 __ovld vload3(size_t offset, const __private short *p);
11786 ushort3 __ovld vload3(size_t offset, const __private ushort *p);
11787 int3 __ovld vload3(size_t offset, const __private int *p);
11788 uint3 __ovld vload3(size_t offset, const __private uint *p);
11789 long3 __ovld vload3(size_t offset, const __private long *p);
11790 ulong3 __ovld vload3(size_t offset, const __private ulong *p);
11791 float3 __ovld vload3(size_t offset, const __private float *p);
11792 char4 __ovld vload4(size_t offset, const __private char *p);
11793 uchar4 __ovld vload4(size_t offset, const __private uchar *p);
11794 short4 __ovld vload4(size_t offset, const __private short *p);
11795 ushort4 __ovld vload4(size_t offset, const __private ushort *p);
11796 int4 __ovld vload4(size_t offset, const __private int *p);
11797 uint4 __ovld vload4(size_t offset, const __private uint *p);
11798 long4 __ovld vload4(size_t offset, const __private long *p);
11799 ulong4 __ovld vload4(size_t offset, const __private ulong *p);
11800 float4 __ovld vload4(size_t offset, const __private float *p);
11801 char8 __ovld vload8(size_t offset, const __private char *p);
11802 uchar8 __ovld vload8(size_t offset, const __private uchar *p);
11803 short8 __ovld vload8(size_t offset, const __private short *p);
11804 ushort8 __ovld vload8(size_t offset, const __private ushort *p);
11805 int8 __ovld vload8(size_t offset, const __private int *p);
11806 uint8 __ovld vload8(size_t offset, const __private uint *p);
11807 long8 __ovld vload8(size_t offset, const __private long *p);
11808 ulong8 __ovld vload8(size_t offset, const __private ulong *p);
11809 float8 __ovld vload8(size_t offset, const __private float *p);
11810 char16 __ovld vload16(size_t offset, const __private char *p);
11811 uchar16 __ovld vload16(size_t offset, const __private uchar *p);
11812 short16 __ovld vload16(size_t offset, const __private short *p);
11813 ushort16 __ovld vload16(size_t offset, const __private ushort *p);
11814 int16 __ovld vload16(size_t offset, const __private int *p);
11815 uint16 __ovld vload16(size_t offset, const __private uint *p);
11816 long16 __ovld vload16(size_t offset, const __private long *p);
11817 ulong16 __ovld vload16(size_t offset, const __private ulong *p);
11818 float16 __ovld vload16(size_t offset, const __private float *p);
11819
11820 #ifdef cl_khr_fp64
11821 double2 __ovld vload2(size_t offset, const __global double *p);
11822 double3 __ovld vload3(size_t offset, const __global double *p);
11823 double4 __ovld vload4(size_t offset, const __global double *p);
11824 double8 __ovld vload8(size_t offset, const __global double *p);
11825 double16 __ovld vload16(size_t offset, const __global double *p);
11826 double2 __ovld vload2(size_t offset, const __local double *p);
11827 double3 __ovld vload3(size_t offset, const __local double *p);
11828 double4 __ovld vload4(size_t offset, const __local double *p);
11829 double8 __ovld vload8(size_t offset, const __local double *p);
11830 double16 __ovld vload16(size_t offset, const __local double *p);
11831 double2 __ovld vload2(size_t offset, const __private double *p);
11832 double3 __ovld vload3(size_t offset, const __private double *p);
11833 double4 __ovld vload4(size_t offset, const __private double *p);
11834 double8 __ovld vload8(size_t offset, const __private double *p);
11835 double16 __ovld vload16(size_t offset, const __private double *p);
11836 #endif //cl_khr_fp64
11837
11838 #ifdef cl_khr_fp16
11839 half __ovld vload(size_t offset, const __global half *p);
11840 half2 __ovld vload2(size_t offset, const __global half *p);
11841 half3 __ovld vload3(size_t offset, const __global half *p);
11842 half4 __ovld vload4(size_t offset, const __global half *p);
11843 half8 __ovld vload8(size_t offset, const __global half *p);
11844 half16 __ovld vload16(size_t offset, const __global half *p);
11845 half __ovld vload(size_t offset, const __local half *p);
11846 half2 __ovld vload2(size_t offset, const __local half *p);
11847 half3 __ovld vload3(size_t offset, const __local half *p);
11848 half4 __ovld vload4(size_t offset, const __local half *p);
11849 half8 __ovld vload8(size_t offset, const __local half *p);
11850 half16 __ovld vload16(size_t offset, const __local half *p);
11851 half __ovld vload(size_t offset, const __private half *p);
11852 half2 __ovld vload2(size_t offset, const __private half *p);
11853 half3 __ovld vload3(size_t offset, const __private half *p);
11854 half4 __ovld vload4(size_t offset, const __private half *p);
11855 half8 __ovld vload8(size_t offset, const __private half *p);
11856 half16 __ovld vload16(size_t offset, const __private half *p);
11857 #endif //cl_khr_fp16
11858 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
11859
11860 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
11861 void __ovld vstore2(char2 data, size_t offset, char *p);
11862 void __ovld vstore2(uchar2 data, size_t offset, uchar *p);
11863 void __ovld vstore2(short2 data, size_t offset, short *p);
11864 void __ovld vstore2(ushort2 data, size_t offset, ushort *p);
11865 void __ovld vstore2(int2 data, size_t offset, int *p);
11866 void __ovld vstore2(uint2 data, size_t offset, uint *p);
11867 void __ovld vstore2(long2 data, size_t offset, long *p);
11868 void __ovld vstore2(ulong2 data, size_t offset, ulong *p);
11869 void __ovld vstore2(float2 data, size_t offset, float *p);
11870 void __ovld vstore3(char3 data, size_t offset, char *p);
11871 void __ovld vstore3(uchar3 data, size_t offset, uchar *p);
11872 void __ovld vstore3(short3 data, size_t offset, short *p);
11873 void __ovld vstore3(ushort3 data, size_t offset, ushort *p);
11874 void __ovld vstore3(int3 data, size_t offset, int *p);
11875 void __ovld vstore3(uint3 data, size_t offset, uint *p);
11876 void __ovld vstore3(long3 data, size_t offset, long *p);
11877 void __ovld vstore3(ulong3 data, size_t offset, ulong *p);
11878 void __ovld vstore3(float3 data, size_t offset, float *p);
11879 void __ovld vstore4(char4 data, size_t offset, char *p);
11880 void __ovld vstore4(uchar4 data, size_t offset, uchar *p);
11881 void __ovld vstore4(short4 data, size_t offset, short *p);
11882 void __ovld vstore4(ushort4 data, size_t offset, ushort *p);
11883 void __ovld vstore4(int4 data, size_t offset, int *p);
11884 void __ovld vstore4(uint4 data, size_t offset, uint *p);
11885 void __ovld vstore4(long4 data, size_t offset, long *p);
11886 void __ovld vstore4(ulong4 data, size_t offset, ulong *p);
11887 void __ovld vstore4(float4 data, size_t offset, float *p);
11888 void __ovld vstore8(char8 data, size_t offset, char *p);
11889 void __ovld vstore8(uchar8 data, size_t offset, uchar *p);
11890 void __ovld vstore8(short8 data, size_t offset, short *p);
11891 void __ovld vstore8(ushort8 data, size_t offset, ushort *p);
11892 void __ovld vstore8(int8 data, size_t offset, int *p);
11893 void __ovld vstore8(uint8 data, size_t offset, uint *p);
11894 void __ovld vstore8(long8 data, size_t offset, long *p);
11895 void __ovld vstore8(ulong8 data, size_t offset, ulong *p);
11896 void __ovld vstore8(float8 data, size_t offset, float *p);
11897 void __ovld vstore16(char16 data, size_t offset, char *p);
11898 void __ovld vstore16(uchar16 data, size_t offset, uchar *p);
11899 void __ovld vstore16(short16 data, size_t offset, short *p);
11900 void __ovld vstore16(ushort16 data, size_t offset, ushort *p);
11901 void __ovld vstore16(int16 data, size_t offset, int *p);
11902 void __ovld vstore16(uint16 data, size_t offset, uint *p);
11903 void __ovld vstore16(long16 data, size_t offset, long *p);
11904 void __ovld vstore16(ulong16 data, size_t offset, ulong *p);
11905 void __ovld vstore16(float16 data, size_t offset, float *p);
11906 #ifdef cl_khr_fp64
11907 void __ovld vstore2(double2 data, size_t offset, double *p);
11908 void __ovld vstore3(double3 data, size_t offset, double *p);
11909 void __ovld vstore4(double4 data, size_t offset, double *p);
11910 void __ovld vstore8(double8 data, size_t offset, double *p);
11911 void __ovld vstore16(double16 data, size_t offset, double *p);
11912 #endif //cl_khr_fp64
11913 #ifdef cl_khr_fp16
11914 void __ovld vstore(half data, size_t offset, half *p);
11915 void __ovld vstore2(half2 data, size_t offset, half *p);
11916 void __ovld vstore3(half3 data, size_t offset, half *p);
11917 void __ovld vstore4(half4 data, size_t offset, half *p);
11918 void __ovld vstore8(half8 data, size_t offset, half *p);
11919 void __ovld vstore16(half16 data, size_t offset, half *p);
11920 #endif //cl_khr_fp16
11921 #else
11922 void __ovld vstore2(char2 data, size_t offset, __global char *p);
11923 void __ovld vstore2(uchar2 data, size_t offset, __global uchar *p);
11924 void __ovld vstore2(short2 data, size_t offset, __global short *p);
11925 void __ovld vstore2(ushort2 data, size_t offset, __global ushort *p);
11926 void __ovld vstore2(int2 data, size_t offset, __global int *p);
11927 void __ovld vstore2(uint2 data, size_t offset, __global uint *p);
11928 void __ovld vstore2(long2 data, size_t offset, __global long *p);
11929 void __ovld vstore2(ulong2 data, size_t offset, __global ulong *p);
11930 void __ovld vstore2(float2 data, size_t offset, __global float *p);
11931 void __ovld vstore3(char3 data, size_t offset, __global char *p);
11932 void __ovld vstore3(uchar3 data, size_t offset, __global uchar *p);
11933 void __ovld vstore3(short3 data, size_t offset, __global short *p);
11934 void __ovld vstore3(ushort3 data, size_t offset, __global ushort *p);
11935 void __ovld vstore3(int3 data, size_t offset, __global int *p);
11936 void __ovld vstore3(uint3 data, size_t offset, __global uint *p);
11937 void __ovld vstore3(long3 data, size_t offset, __global long *p);
11938 void __ovld vstore3(ulong3 data, size_t offset, __global ulong *p);
11939 void __ovld vstore3(float3 data, size_t offset, __global float *p);
11940 void __ovld vstore4(char4 data, size_t offset, __global char *p);
11941 void __ovld vstore4(uchar4 data, size_t offset, __global uchar *p);
11942 void __ovld vstore4(short4 data, size_t offset, __global short *p);
11943 void __ovld vstore4(ushort4 data, size_t offset, __global ushort *p);
11944 void __ovld vstore4(int4 data, size_t offset, __global int *p);
11945 void __ovld vstore4(uint4 data, size_t offset, __global uint *p);
11946 void __ovld vstore4(long4 data, size_t offset, __global long *p);
11947 void __ovld vstore4(ulong4 data, size_t offset, __global ulong *p);
11948 void __ovld vstore4(float4 data, size_t offset, __global float *p);
11949 void __ovld vstore8(char8 data, size_t offset, __global char *p);
11950 void __ovld vstore8(uchar8 data, size_t offset, __global uchar *p);
11951 void __ovld vstore8(short8 data, size_t offset, __global short *p);
11952 void __ovld vstore8(ushort8 data, size_t offset, __global ushort *p);
11953 void __ovld vstore8(int8 data, size_t offset, __global int *p);
11954 void __ovld vstore8(uint8 data, size_t offset, __global uint *p);
11955 void __ovld vstore8(long8 data, size_t offset, __global long *p);
11956 void __ovld vstore8(ulong8 data, size_t offset, __global ulong *p);
11957 void __ovld vstore8(float8 data, size_t offset, __global float *p);
11958 void __ovld vstore16(char16 data, size_t offset, __global char *p);
11959 void __ovld vstore16(uchar16 data, size_t offset, __global uchar *p);
11960 void __ovld vstore16(short16 data, size_t offset, __global short *p);
11961 void __ovld vstore16(ushort16 data, size_t offset, __global ushort *p);
11962 void __ovld vstore16(int16 data, size_t offset, __global int *p);
11963 void __ovld vstore16(uint16 data, size_t offset, __global uint *p);
11964 void __ovld vstore16(long16 data, size_t offset, __global long *p);
11965 void __ovld vstore16(ulong16 data, size_t offset, __global ulong *p);
11966 void __ovld vstore16(float16 data, size_t offset, __global float *p);
11967 void __ovld vstore2(char2 data, size_t offset, __local char *p);
11968 void __ovld vstore2(uchar2 data, size_t offset, __local uchar *p);
11969 void __ovld vstore2(short2 data, size_t offset, __local short *p);
11970 void __ovld vstore2(ushort2 data, size_t offset, __local ushort *p);
11971 void __ovld vstore2(int2 data, size_t offset, __local int *p);
11972 void __ovld vstore2(uint2 data, size_t offset, __local uint *p);
11973 void __ovld vstore2(long2 data, size_t offset, __local long *p);
11974 void __ovld vstore2(ulong2 data, size_t offset, __local ulong *p);
11975 void __ovld vstore2(float2 data, size_t offset, __local float *p);
11976 void __ovld vstore3(char3 data, size_t offset, __local char *p);
11977 void __ovld vstore3(uchar3 data, size_t offset, __local uchar *p);
11978 void __ovld vstore3(short3 data, size_t offset, __local short *p);
11979 void __ovld vstore3(ushort3 data, size_t offset, __local ushort *p);
11980 void __ovld vstore3(int3 data, size_t offset, __local int *p);
11981 void __ovld vstore3(uint3 data, size_t offset, __local uint *p);
11982 void __ovld vstore3(long3 data, size_t offset, __local long *p);
11983 void __ovld vstore3(ulong3 data, size_t offset, __local ulong *p);
11984 void __ovld vstore3(float3 data, size_t offset, __local float *p);
11985 void __ovld vstore4(char4 data, size_t offset, __local char *p);
11986 void __ovld vstore4(uchar4 data, size_t offset, __local uchar *p);
11987 void __ovld vstore4(short4 data, size_t offset, __local short *p);
11988 void __ovld vstore4(ushort4 data, size_t offset, __local ushort *p);
11989 void __ovld vstore4(int4 data, size_t offset, __local int *p);
11990 void __ovld vstore4(uint4 data, size_t offset, __local uint *p);
11991 void __ovld vstore4(long4 data, size_t offset, __local long *p);
11992 void __ovld vstore4(ulong4 data, size_t offset, __local ulong *p);
11993 void __ovld vstore4(float4 data, size_t offset, __local float *p);
11994 void __ovld vstore8(char8 data, size_t offset, __local char *p);
11995 void __ovld vstore8(uchar8 data, size_t offset, __local uchar *p);
11996 void __ovld vstore8(short8 data, size_t offset, __local short *p);
11997 void __ovld vstore8(ushort8 data, size_t offset, __local ushort *p);
11998 void __ovld vstore8(int8 data, size_t offset, __local int *p);
11999 void __ovld vstore8(uint8 data, size_t offset, __local uint *p);
12000 void __ovld vstore8(long8 data, size_t offset, __local long *p);
12001 void __ovld vstore8(ulong8 data, size_t offset, __local ulong *p);
12002 void __ovld vstore8(float8 data, size_t offset, __local float *p);
12003 void __ovld vstore16(char16 data, size_t offset, __local char *p);
12004 void __ovld vstore16(uchar16 data, size_t offset, __local uchar *p);
12005 void __ovld vstore16(short16 data, size_t offset, __local short *p);
12006 void __ovld vstore16(ushort16 data, size_t offset, __local ushort *p);
12007 void __ovld vstore16(int16 data, size_t offset, __local int *p);
12008 void __ovld vstore16(uint16 data, size_t offset, __local uint *p);
12009 void __ovld vstore16(long16 data, size_t offset, __local long *p);
12010 void __ovld vstore16(ulong16 data, size_t offset, __local ulong *p);
12011 void __ovld vstore16(float16 data, size_t offset, __local float *p);
12012 void __ovld vstore2(char2 data, size_t offset, __private char *p);
12013 void __ovld vstore2(uchar2 data, size_t offset, __private uchar *p);
12014 void __ovld vstore2(short2 data, size_t offset, __private short *p);
12015 void __ovld vstore2(ushort2 data, size_t offset, __private ushort *p);
12016 void __ovld vstore2(int2 data, size_t offset, __private int *p);
12017 void __ovld vstore2(uint2 data, size_t offset, __private uint *p);
12018 void __ovld vstore2(long2 data, size_t offset, __private long *p);
12019 void __ovld vstore2(ulong2 data, size_t offset, __private ulong *p);
12020 void __ovld vstore2(float2 data, size_t offset, __private float *p);
12021 void __ovld vstore3(char3 data, size_t offset, __private char *p);
12022 void __ovld vstore3(uchar3 data, size_t offset, __private uchar *p);
12023 void __ovld vstore3(short3 data, size_t offset, __private short *p);
12024 void __ovld vstore3(ushort3 data, size_t offset, __private ushort *p);
12025 void __ovld vstore3(int3 data, size_t offset, __private int *p);
12026 void __ovld vstore3(uint3 data, size_t offset, __private uint *p);
12027 void __ovld vstore3(long3 data, size_t offset, __private long *p);
12028 void __ovld vstore3(ulong3 data, size_t offset, __private ulong *p);
12029 void __ovld vstore3(float3 data, size_t offset, __private float *p);
12030 void __ovld vstore4(char4 data, size_t offset, __private char *p);
12031 void __ovld vstore4(uchar4 data, size_t offset, __private uchar *p);
12032 void __ovld vstore4(short4 data, size_t offset, __private short *p);
12033 void __ovld vstore4(ushort4 data, size_t offset, __private ushort *p);
12034 void __ovld vstore4(int4 data, size_t offset, __private int *p);
12035 void __ovld vstore4(uint4 data, size_t offset, __private uint *p);
12036 void __ovld vstore4(long4 data, size_t offset, __private long *p);
12037 void __ovld vstore4(ulong4 data, size_t offset, __private ulong *p);
12038 void __ovld vstore4(float4 data, size_t offset, __private float *p);
12039 void __ovld vstore8(char8 data, size_t offset, __private char *p);
12040 void __ovld vstore8(uchar8 data, size_t offset, __private uchar *p);
12041 void __ovld vstore8(short8 data, size_t offset, __private short *p);
12042 void __ovld vstore8(ushort8 data, size_t offset, __private ushort *p);
12043 void __ovld vstore8(int8 data, size_t offset, __private int *p);
12044 void __ovld vstore8(uint8 data, size_t offset, __private uint *p);
12045 void __ovld vstore8(long8 data, size_t offset, __private long *p);
12046 void __ovld vstore8(ulong8 data, size_t offset, __private ulong *p);
12047 void __ovld vstore8(float8 data, size_t offset, __private float *p);
12048 void __ovld vstore16(char16 data, size_t offset, __private char *p);
12049 void __ovld vstore16(uchar16 data, size_t offset, __private uchar *p);
12050 void __ovld vstore16(short16 data, size_t offset, __private short *p);
12051 void __ovld vstore16(ushort16 data, size_t offset, __private ushort *p);
12052 void __ovld vstore16(int16 data, size_t offset, __private int *p);
12053 void __ovld vstore16(uint16 data, size_t offset, __private uint *p);
12054 void __ovld vstore16(long16 data, size_t offset, __private long *p);
12055 void __ovld vstore16(ulong16 data, size_t offset, __private ulong *p);
12056 void __ovld vstore16(float16 data, size_t offset, __private float *p);
12057 #ifdef cl_khr_fp64
12058 void __ovld vstore2(double2 data, size_t offset, __global double *p);
12059 void __ovld vstore3(double3 data, size_t offset, __global double *p);
12060 void __ovld vstore4(double4 data, size_t offset, __global double *p);
12061 void __ovld vstore8(double8 data, size_t offset, __global double *p);
12062 void __ovld vstore16(double16 data, size_t offset, __global double *p);
12063 void __ovld vstore2(double2 data, size_t offset, __local double *p);
12064 void __ovld vstore3(double3 data, size_t offset, __local double *p);
12065 void __ovld vstore4(double4 data, size_t offset, __local double *p);
12066 void __ovld vstore8(double8 data, size_t offset, __local double *p);
12067 void __ovld vstore16(double16 data, size_t offset, __local double *p);
12068 void __ovld vstore2(double2 data, size_t offset, __private double *p);
12069 void __ovld vstore3(double3 data, size_t offset, __private double *p);
12070 void __ovld vstore4(double4 data, size_t offset, __private double *p);
12071 void __ovld vstore8(double8 data, size_t offset, __private double *p);
12072 void __ovld vstore16(double16 data, size_t offset, __private double *p);
12073 #endif //cl_khr_fp64
12074 #ifdef cl_khr_fp16
12075 void __ovld vstore(half data, size_t offset, __global half *p);
12076 void __ovld vstore2(half2 data, size_t offset, __global half *p);
12077 void __ovld vstore3(half3 data, size_t offset, __global half *p);
12078 void __ovld vstore4(half4 data, size_t offset, __global half *p);
12079 void __ovld vstore8(half8 data, size_t offset, __global half *p);
12080 void __ovld vstore16(half16 data, size_t offset, __global half *p);
12081 void __ovld vstore(half data, size_t offset, __local half *p);
12082 void __ovld vstore2(half2 data, size_t offset, __local half *p);
12083 void __ovld vstore3(half3 data, size_t offset, __local half *p);
12084 void __ovld vstore4(half4 data, size_t offset, __local half *p);
12085 void __ovld vstore8(half8 data, size_t offset, __local half *p);
12086 void __ovld vstore16(half16 data, size_t offset, __local half *p);
12087 void __ovld vstore(half data, size_t offset, __private half *p);
12088 void __ovld vstore2(half2 data, size_t offset, __private half *p);
12089 void __ovld vstore3(half3 data, size_t offset, __private half *p);
12090 void __ovld vstore4(half4 data, size_t offset, __private half *p);
12091 void __ovld vstore8(half8 data, size_t offset, __private half *p);
12092 void __ovld vstore16(half16 data, size_t offset, __private half *p);
12093 #endif //cl_khr_fp16
12094 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
12095
12096 /**
12097  * Read sizeof (half) bytes of data from address
12098  * (p + offset). The data read is interpreted as a
12099  * half value. The half value is converted to a
12100  * float value and the float value is returned.
12101  * The read address computed as (p + offset)
12102  * must be 16-bit aligned.
12103  */
12104 float __ovld vload_half(size_t offset, const __constant half *p);
12105 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
12106 float __ovld vload_half(size_t offset, const half *p);
12107 #else
12108 float __ovld vload_half(size_t offset, const __global half *p);
12109 float __ovld vload_half(size_t offset, const __local half *p);
12110 float __ovld vload_half(size_t offset, const __private half *p);
12111 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
12112
12113 /**
12114  * Read sizeof (halfn) bytes of data from address
12115  * (p + (offset * n)). The data read is interpreted
12116  * as a halfn value. The halfn value read is
12117  * converted to a floatn value and the floatn
12118  * value is returned. The read address computed
12119  * as (p + (offset * n)) must be 16-bit aligned.
12120  */
12121 float2 __ovld vload_half2(size_t offset, const __constant half *p);
12122 float3 __ovld vload_half3(size_t offset, const __constant half *p);
12123 float4 __ovld vload_half4(size_t offset, const __constant half *p);
12124 float8 __ovld vload_half8(size_t offset, const __constant half *p);
12125 float16 __ovld vload_half16(size_t offset, const __constant half *p);
12126 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
12127 float2 __ovld vload_half2(size_t offset, const half *p);
12128 float3 __ovld vload_half3(size_t offset, const half *p);
12129 float4 __ovld vload_half4(size_t offset, const half *p);
12130 float8 __ovld vload_half8(size_t offset, const half *p);
12131 float16 __ovld vload_half16(size_t offset, const half *p);
12132 #else
12133 float2 __ovld vload_half2(size_t offset, const __global half *p);
12134 float3 __ovld vload_half3(size_t offset, const __global half *p);
12135 float4 __ovld vload_half4(size_t offset, const __global half *p);
12136 float8 __ovld vload_half8(size_t offset, const __global half *p);
12137 float16 __ovld vload_half16(size_t offset, const __global half *p);
12138 float2 __ovld vload_half2(size_t offset, const __local half *p);
12139 float3 __ovld vload_half3(size_t offset, const __local half *p);
12140 float4 __ovld vload_half4(size_t offset, const __local half *p);
12141 float8 __ovld vload_half8(size_t offset, const __local half *p);
12142 float16 __ovld vload_half16(size_t offset, const __local half *p);
12143 float2 __ovld vload_half2(size_t offset, const __private half *p);
12144 float3 __ovld vload_half3(size_t offset, const __private half *p);
12145 float4 __ovld vload_half4(size_t offset, const __private half *p);
12146 float8 __ovld vload_half8(size_t offset, const __private half *p);
12147 float16 __ovld vload_half16(size_t offset, const __private half *p);
12148 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
12149
12150 /**
12151  * The float value given by data is first
12152  * converted to a half value using the appropriate
12153  * rounding mode. The half value is then written
12154  * to address computed as (p + offset). The
12155  * address computed as (p + offset) must be 16-
12156  * bit aligned.
12157  * vstore_half use the current rounding mode.
12158  * The default current rounding mode is round to
12159  * nearest even.
12160  */
12161 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
12162 void __ovld vstore_half(float data, size_t offset, half *p);
12163 void __ovld vstore_half_rte(float data, size_t offset, half *p);
12164 void __ovld vstore_half_rtz(float data, size_t offset, half *p);
12165 void __ovld vstore_half_rtp(float data, size_t offset, half *p);
12166 void __ovld vstore_half_rtn(float data, size_t offset, half *p);
12167 #ifdef cl_khr_fp64
12168 void __ovld vstore_half(double data, size_t offset, half *p);
12169 void __ovld vstore_half_rte(double data, size_t offset, half *p);
12170 void __ovld vstore_half_rtz(double data, size_t offset, half *p);
12171 void __ovld vstore_half_rtp(double data, size_t offset, half *p);
12172 void __ovld vstore_half_rtn(double data, size_t offset, half *p);
12173 #endif //cl_khr_fp64
12174 #else
12175 void __ovld vstore_half(float data, size_t offset, __global half *p);
12176 void __ovld vstore_half_rte(float data, size_t offset, __global half *p);
12177 void __ovld vstore_half_rtz(float data, size_t offset, __global half *p);
12178 void __ovld vstore_half_rtp(float data, size_t offset, __global half *p);
12179 void __ovld vstore_half_rtn(float data, size_t offset, __global half *p);
12180 void __ovld vstore_half(float data, size_t offset, __local half *p);
12181 void __ovld vstore_half_rte(float data, size_t offset, __local half *p);
12182 void __ovld vstore_half_rtz(float data, size_t offset, __local half *p);
12183 void __ovld vstore_half_rtp(float data, size_t offset, __local half *p);
12184 void __ovld vstore_half_rtn(float data, size_t offset, __local half *p);
12185 void __ovld vstore_half(float data, size_t offset, __private half *p);
12186 void __ovld vstore_half_rte(float data, size_t offset, __private half *p);
12187 void __ovld vstore_half_rtz(float data, size_t offset, __private half *p);
12188 void __ovld vstore_half_rtp(float data, size_t offset, __private half *p);
12189 void __ovld vstore_half_rtn(float data, size_t offset, __private half *p);
12190 #ifdef cl_khr_fp64
12191 void __ovld vstore_half(double data, size_t offset, __global half *p);
12192 void __ovld vstore_half_rte(double data, size_t offset, __global half *p);
12193 void __ovld vstore_half_rtz(double data, size_t offset, __global half *p);
12194 void __ovld vstore_half_rtp(double data, size_t offset, __global half *p);
12195 void __ovld vstore_half_rtn(double data, size_t offset, __global half *p);
12196 void __ovld vstore_half(double data, size_t offset, __local half *p);
12197 void __ovld vstore_half_rte(double data, size_t offset, __local half *p);
12198 void __ovld vstore_half_rtz(double data, size_t offset, __local half *p);
12199 void __ovld vstore_half_rtp(double data, size_t offset, __local half *p);
12200 void __ovld vstore_half_rtn(double data, size_t offset, __local half *p);
12201 void __ovld vstore_half(double data, size_t offset, __private half *p);
12202 void __ovld vstore_half_rte(double data, size_t offset, __private half *p);
12203 void __ovld vstore_half_rtz(double data, size_t offset, __private half *p);
12204 void __ovld vstore_half_rtp(double data, size_t offset, __private half *p);
12205 void __ovld vstore_half_rtn(double data, size_t offset, __private half *p);
12206 #endif //cl_khr_fp64
12207 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
12208
12209 /**
12210  * The floatn value given by data is converted to
12211  * a halfn value using the appropriate rounding
12212  * mode. The halfn value is then written to
12213  * address computed as (p + (offset * n)). The
12214  * address computed as (p + (offset * n)) must be
12215  * 16-bit aligned.
12216  * vstore_halfn uses the current rounding mode.
12217  * The default current rounding mode is round to
12218  * nearest even.
12219  */
12220 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
12221 void __ovld vstore_half2(float2 data, size_t offset, half *p);
12222 void __ovld vstore_half3(float3 data, size_t offset, half *p);
12223 void __ovld vstore_half4(float4 data, size_t offset, half *p);
12224 void __ovld vstore_half8(float8 data, size_t offset, half *p);
12225 void __ovld vstore_half16(float16 data, size_t offset, half *p);
12226 void __ovld vstore_half2_rte(float2 data, size_t offset, half *p);
12227 void __ovld vstore_half3_rte(float3 data, size_t offset, half *p);
12228 void __ovld vstore_half4_rte(float4 data, size_t offset, half *p);
12229 void __ovld vstore_half8_rte(float8 data, size_t offset, half *p);
12230 void __ovld vstore_half16_rte(float16 data, size_t offset, half *p);
12231 void __ovld vstore_half2_rtz(float2 data, size_t offset, half *p);
12232 void __ovld vstore_half3_rtz(float3 data, size_t offset, half *p);
12233 void __ovld vstore_half4_rtz(float4 data, size_t offset, half *p);
12234 void __ovld vstore_half8_rtz(float8 data, size_t offset, half *p);
12235 void __ovld vstore_half16_rtz(float16 data, size_t offset, half *p);
12236 void __ovld vstore_half2_rtp(float2 data, size_t offset, half *p);
12237 void __ovld vstore_half3_rtp(float3 data, size_t offset, half *p);
12238 void __ovld vstore_half4_rtp(float4 data, size_t offset, half *p);
12239 void __ovld vstore_half8_rtp(float8 data, size_t offset, half *p);
12240 void __ovld vstore_half16_rtp(float16 data, size_t offset, half *p);
12241 void __ovld vstore_half2_rtn(float2 data, size_t offset, half *p);
12242 void __ovld vstore_half3_rtn(float3 data, size_t offset, half *p);
12243 void __ovld vstore_half4_rtn(float4 data, size_t offset, half *p);
12244 void __ovld vstore_half8_rtn(float8 data, size_t offset, half *p);
12245 void __ovld vstore_half16_rtn(float16 data, size_t offset, half *p);
12246 #ifdef cl_khr_fp64
12247 void __ovld vstore_half2(double2 data, size_t offset, half *p);
12248 void __ovld vstore_half3(double3 data, size_t offset, half *p);
12249 void __ovld vstore_half4(double4 data, size_t offset, half *p);
12250 void __ovld vstore_half8(double8 data, size_t offset, half *p);
12251 void __ovld vstore_half16(double16 data, size_t offset, half *p);
12252 void __ovld vstore_half2_rte(double2 data, size_t offset, half *p);
12253 void __ovld vstore_half3_rte(double3 data, size_t offset, half *p);
12254 void __ovld vstore_half4_rte(double4 data, size_t offset, half *p);
12255 void __ovld vstore_half8_rte(double8 data, size_t offset, half *p);
12256 void __ovld vstore_half16_rte(double16 data, size_t offset, half *p);
12257 void __ovld vstore_half2_rtz(double2 data, size_t offset, half *p);
12258 void __ovld vstore_half3_rtz(double3 data, size_t offset, half *p);
12259 void __ovld vstore_half4_rtz(double4 data, size_t offset, half *p);
12260 void __ovld vstore_half8_rtz(double8 data, size_t offset, half *p);
12261 void __ovld vstore_half16_rtz(double16 data, size_t offset, half *p);
12262 void __ovld vstore_half2_rtp(double2 data, size_t offset, half *p);
12263 void __ovld vstore_half3_rtp(double3 data, size_t offset, half *p);
12264 void __ovld vstore_half4_rtp(double4 data, size_t offset, half *p);
12265 void __ovld vstore_half8_rtp(double8 data, size_t offset, half *p);
12266 void __ovld vstore_half16_rtp(double16 data, size_t offset, half *p);
12267 void __ovld vstore_half2_rtn(double2 data, size_t offset, half *p);
12268 void __ovld vstore_half3_rtn(double3 data, size_t offset, half *p);
12269 void __ovld vstore_half4_rtn(double4 data, size_t offset, half *p);
12270 void __ovld vstore_half8_rtn(double8 data, size_t offset, half *p);
12271 void __ovld vstore_half16_rtn(double16 data, size_t offset, half *p);
12272 #endif //cl_khr_fp64
12273 #else
12274 void __ovld vstore_half2(float2 data, size_t offset, __global half *p);
12275 void __ovld vstore_half3(float3 data, size_t offset, __global half *p);
12276 void __ovld vstore_half4(float4 data, size_t offset, __global half *p);
12277 void __ovld vstore_half8(float8 data, size_t offset, __global half *p);
12278 void __ovld vstore_half16(float16 data, size_t offset, __global half *p);
12279 void __ovld vstore_half2_rte(float2 data, size_t offset, __global half *p);
12280 void __ovld vstore_half3_rte(float3 data, size_t offset, __global half *p);
12281 void __ovld vstore_half4_rte(float4 data, size_t offset, __global half *p);
12282 void __ovld vstore_half8_rte(float8 data, size_t offset, __global half *p);
12283 void __ovld vstore_half16_rte(float16 data, size_t offset, __global half *p);
12284 void __ovld vstore_half2_rtz(float2 data, size_t offset, __global half *p);
12285 void __ovld vstore_half3_rtz(float3 data, size_t offset, __global half *p);
12286 void __ovld vstore_half4_rtz(float4 data, size_t offset, __global half *p);
12287 void __ovld vstore_half8_rtz(float8 data, size_t offset, __global half *p);
12288 void __ovld vstore_half16_rtz(float16 data, size_t offset, __global half *p);
12289 void __ovld vstore_half2_rtp(float2 data, size_t offset, __global half *p);
12290 void __ovld vstore_half3_rtp(float3 data, size_t offset, __global half *p);
12291 void __ovld vstore_half4_rtp(float4 data, size_t offset, __global half *p);
12292 void __ovld vstore_half8_rtp(float8 data, size_t offset, __global half *p);
12293 void __ovld vstore_half16_rtp(float16 data, size_t offset, __global half *p);
12294 void __ovld vstore_half2_rtn(float2 data, size_t offset, __global half *p);
12295 void __ovld vstore_half3_rtn(float3 data, size_t offset, __global half *p);
12296 void __ovld vstore_half4_rtn(float4 data, size_t offset, __global half *p);
12297 void __ovld vstore_half8_rtn(float8 data, size_t offset, __global half *p);
12298 void __ovld vstore_half16_rtn(float16 data, size_t offset, __global half *p);
12299 void __ovld vstore_half2(float2 data, size_t offset, __local half *p);
12300 void __ovld vstore_half3(float3 data, size_t offset, __local half *p);
12301 void __ovld vstore_half4(float4 data, size_t offset, __local half *p);
12302 void __ovld vstore_half8(float8 data, size_t offset, __local half *p);
12303 void __ovld vstore_half16(float16 data, size_t offset, __local half *p);
12304 void __ovld vstore_half2_rte(float2 data, size_t offset, __local half *p);
12305 void __ovld vstore_half3_rte(float3 data, size_t offset, __local half *p);
12306 void __ovld vstore_half4_rte(float4 data, size_t offset, __local half *p);
12307 void __ovld vstore_half8_rte(float8 data, size_t offset, __local half *p);
12308 void __ovld vstore_half16_rte(float16 data, size_t offset, __local half *p);
12309 void __ovld vstore_half2_rtz(float2 data, size_t offset, __local half *p);
12310 void __ovld vstore_half3_rtz(float3 data, size_t offset, __local half *p);
12311 void __ovld vstore_half4_rtz(float4 data, size_t offset, __local half *p);
12312 void __ovld vstore_half8_rtz(float8 data, size_t offset, __local half *p);
12313 void __ovld vstore_half16_rtz(float16 data, size_t offset, __local half *p);
12314 void __ovld vstore_half2_rtp(float2 data, size_t offset, __local half *p);
12315 void __ovld vstore_half3_rtp(float3 data, size_t offset, __local half *p);
12316 void __ovld vstore_half4_rtp(float4 data, size_t offset, __local half *p);
12317 void __ovld vstore_half8_rtp(float8 data, size_t offset, __local half *p);
12318 void __ovld vstore_half16_rtp(float16 data, size_t offset, __local half *p);
12319 void __ovld vstore_half2_rtn(float2 data, size_t offset, __local half *p);
12320 void __ovld vstore_half3_rtn(float3 data, size_t offset, __local half *p);
12321 void __ovld vstore_half4_rtn(float4 data, size_t offset, __local half *p);
12322 void __ovld vstore_half8_rtn(float8 data, size_t offset, __local half *p);
12323 void __ovld vstore_half16_rtn(float16 data, size_t offset, __local half *p);
12324 void __ovld vstore_half2(float2 data, size_t offset, __private half *p);
12325 void __ovld vstore_half3(float3 data, size_t offset, __private half *p);
12326 void __ovld vstore_half4(float4 data, size_t offset, __private half *p);
12327 void __ovld vstore_half8(float8 data, size_t offset, __private half *p);
12328 void __ovld vstore_half16(float16 data, size_t offset, __private half *p);
12329 void __ovld vstore_half2_rte(float2 data, size_t offset, __private half *p);
12330 void __ovld vstore_half3_rte(float3 data, size_t offset, __private half *p);
12331 void __ovld vstore_half4_rte(float4 data, size_t offset, __private half *p);
12332 void __ovld vstore_half8_rte(float8 data, size_t offset, __private half *p);
12333 void __ovld vstore_half16_rte(float16 data, size_t offset, __private half *p);
12334 void __ovld vstore_half2_rtz(float2 data, size_t offset, __private half *p);
12335 void __ovld vstore_half3_rtz(float3 data, size_t offset, __private half *p);
12336 void __ovld vstore_half4_rtz(float4 data, size_t offset, __private half *p);
12337 void __ovld vstore_half8_rtz(float8 data, size_t offset, __private half *p);
12338 void __ovld vstore_half16_rtz(float16 data, size_t offset, __private half *p);
12339 void __ovld vstore_half2_rtp(float2 data, size_t offset, __private half *p);
12340 void __ovld vstore_half3_rtp(float3 data, size_t offset, __private half *p);
12341 void __ovld vstore_half4_rtp(float4 data, size_t offset, __private half *p);
12342 void __ovld vstore_half8_rtp(float8 data, size_t offset, __private half *p);
12343 void __ovld vstore_half16_rtp(float16 data, size_t offset, __private half *p);
12344 void __ovld vstore_half2_rtn(float2 data, size_t offset, __private half *p);
12345 void __ovld vstore_half3_rtn(float3 data, size_t offset, __private half *p);
12346 void __ovld vstore_half4_rtn(float4 data, size_t offset, __private half *p);
12347 void __ovld vstore_half8_rtn(float8 data, size_t offset, __private half *p);
12348 void __ovld vstore_half16_rtn(float16 data, size_t offset, __private half *p);
12349 #ifdef cl_khr_fp64
12350 void __ovld vstore_half2(double2 data, size_t offset, __global half *p);
12351 void __ovld vstore_half3(double3 data, size_t offset, __global half *p);
12352 void __ovld vstore_half4(double4 data, size_t offset, __global half *p);
12353 void __ovld vstore_half8(double8 data, size_t offset, __global half *p);
12354 void __ovld vstore_half16(double16 data, size_t offset, __global half *p);
12355 void __ovld vstore_half2_rte(double2 data, size_t offset, __global half *p);
12356 void __ovld vstore_half3_rte(double3 data, size_t offset, __global half *p);
12357 void __ovld vstore_half4_rte(double4 data, size_t offset, __global half *p);
12358 void __ovld vstore_half8_rte(double8 data, size_t offset, __global half *p);
12359 void __ovld vstore_half16_rte(double16 data, size_t offset, __global half *p);
12360 void __ovld vstore_half2_rtz(double2 data, size_t offset, __global half *p);
12361 void __ovld vstore_half3_rtz(double3 data, size_t offset, __global half *p);
12362 void __ovld vstore_half4_rtz(double4 data, size_t offset, __global half *p);
12363 void __ovld vstore_half8_rtz(double8 data, size_t offset, __global half *p);
12364 void __ovld vstore_half16_rtz(double16 data, size_t offset, __global half *p);
12365 void __ovld vstore_half2_rtp(double2 data, size_t offset, __global half *p);
12366 void __ovld vstore_half3_rtp(double3 data, size_t offset, __global half *p);
12367 void __ovld vstore_half4_rtp(double4 data, size_t offset, __global half *p);
12368 void __ovld vstore_half8_rtp(double8 data, size_t offset, __global half *p);
12369 void __ovld vstore_half16_rtp(double16 data, size_t offset, __global half *p);
12370 void __ovld vstore_half2_rtn(double2 data, size_t offset, __global half *p);
12371 void __ovld vstore_half3_rtn(double3 data, size_t offset, __global half *p);
12372 void __ovld vstore_half4_rtn(double4 data, size_t offset, __global half *p);
12373 void __ovld vstore_half8_rtn(double8 data, size_t offset, __global half *p);
12374 void __ovld vstore_half16_rtn(double16 data, size_t offset, __global half *p);
12375 void __ovld vstore_half2(double2 data, size_t offset, __local half *p);
12376 void __ovld vstore_half3(double3 data, size_t offset, __local half *p);
12377 void __ovld vstore_half4(double4 data, size_t offset, __local half *p);
12378 void __ovld vstore_half8(double8 data, size_t offset, __local half *p);
12379 void __ovld vstore_half16(double16 data, size_t offset, __local half *p);
12380 void __ovld vstore_half2_rte(double2 data, size_t offset, __local half *p);
12381 void __ovld vstore_half3_rte(double3 data, size_t offset, __local half *p);
12382 void __ovld vstore_half4_rte(double4 data, size_t offset, __local half *p);
12383 void __ovld vstore_half8_rte(double8 data, size_t offset, __local half *p);
12384 void __ovld vstore_half16_rte(double16 data, size_t offset, __local half *p);
12385 void __ovld vstore_half2_rtz(double2 data, size_t offset, __local half *p);
12386 void __ovld vstore_half3_rtz(double3 data, size_t offset, __local half *p);
12387 void __ovld vstore_half4_rtz(double4 data, size_t offset, __local half *p);
12388 void __ovld vstore_half8_rtz(double8 data, size_t offset, __local half *p);
12389 void __ovld vstore_half16_rtz(double16 data, size_t offset, __local half *p);
12390 void __ovld vstore_half2_rtp(double2 data, size_t offset, __local half *p);
12391 void __ovld vstore_half3_rtp(double3 data, size_t offset, __local half *p);
12392 void __ovld vstore_half4_rtp(double4 data, size_t offset, __local half *p);
12393 void __ovld vstore_half8_rtp(double8 data, size_t offset, __local half *p);
12394 void __ovld vstore_half16_rtp(double16 data, size_t offset, __local half *p);
12395 void __ovld vstore_half2_rtn(double2 data, size_t offset, __local half *p);
12396 void __ovld vstore_half3_rtn(double3 data, size_t offset, __local half *p);
12397 void __ovld vstore_half4_rtn(double4 data, size_t offset, __local half *p);
12398 void __ovld vstore_half8_rtn(double8 data, size_t offset, __local half *p);
12399 void __ovld vstore_half16_rtn(double16 data, size_t offset, __local half *p);
12400 void __ovld vstore_half2(double2 data, size_t offset, __private half *p);
12401 void __ovld vstore_half3(double3 data, size_t offset, __private half *p);
12402 void __ovld vstore_half4(double4 data, size_t offset, __private half *p);
12403 void __ovld vstore_half8(double8 data, size_t offset, __private half *p);
12404 void __ovld vstore_half16(double16 data, size_t offset, __private half *p);
12405 void __ovld vstore_half2_rte(double2 data, size_t offset, __private half *p);
12406 void __ovld vstore_half3_rte(double3 data, size_t offset, __private half *p);
12407 void __ovld vstore_half4_rte(double4 data, size_t offset, __private half *p);
12408 void __ovld vstore_half8_rte(double8 data, size_t offset, __private half *p);
12409 void __ovld vstore_half16_rte(double16 data, size_t offset, __private half *p);
12410 void __ovld vstore_half2_rtz(double2 data, size_t offset, __private half *p);
12411 void __ovld vstore_half3_rtz(double3 data, size_t offset, __private half *p);
12412 void __ovld vstore_half4_rtz(double4 data, size_t offset, __private half *p);
12413 void __ovld vstore_half8_rtz(double8 data, size_t offset, __private half *p);
12414 void __ovld vstore_half16_rtz(double16 data, size_t offset, __private half *p);
12415 void __ovld vstore_half2_rtp(double2 data, size_t offset, __private half *p);
12416 void __ovld vstore_half3_rtp(double3 data, size_t offset, __private half *p);
12417 void __ovld vstore_half4_rtp(double4 data, size_t offset, __private half *p);
12418 void __ovld vstore_half8_rtp(double8 data, size_t offset, __private half *p);
12419 void __ovld vstore_half16_rtp(double16 data, size_t offset, __private half *p);
12420 void __ovld vstore_half2_rtn(double2 data, size_t offset, __private half *p);
12421 void __ovld vstore_half3_rtn(double3 data, size_t offset, __private half *p);
12422 void __ovld vstore_half4_rtn(double4 data, size_t offset, __private half *p);
12423 void __ovld vstore_half8_rtn(double8 data, size_t offset, __private half *p);
12424 void __ovld vstore_half16_rtn(double16 data, size_t offset, __private half *p);
12425 #endif //cl_khr_fp64
12426 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
12427
12428 /**
12429  * For n = 1, 2, 4, 8 and 16 read sizeof (halfn)
12430  * bytes of data from address (p + (offset * n)).
12431  * The data read is interpreted as a halfn value.
12432  * The halfn value read is converted to a floatn
12433  * value and the floatn value is returned.
12434  * The address computed as (p + (offset * n))
12435  * must be aligned to sizeof (halfn) bytes.
12436  * For n = 3, vloada_half3 reads a half3 from
12437  * address (p + (offset * 4)) and returns a float3.
12438  * The address computed as (p + (offset * 4))
12439  * must be aligned to sizeof (half) * 4 bytes.
12440  */
12441 float __ovld vloada_half(size_t offset, const __constant half *p);
12442 float2 __ovld vloada_half2(size_t offset, const __constant half *p);
12443 float3 __ovld vloada_half3(size_t offset, const __constant half *p);
12444 float4 __ovld vloada_half4(size_t offset, const __constant half *p);
12445 float8 __ovld vloada_half8(size_t offset, const __constant half *p);
12446 float16 __ovld vloada_half16(size_t offset, const __constant half *p);
12447 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
12448 float __ovld vloada_half(size_t offset, const half *p);
12449 float2 __ovld vloada_half2(size_t offset, const half *p);
12450 float3 __ovld vloada_half3(size_t offset, const half *p);
12451 float4 __ovld vloada_half4(size_t offset, const half *p);
12452 float8 __ovld vloada_half8(size_t offset, const half *p);
12453 float16 __ovld vloada_half16(size_t offset, const half *p);
12454 #else
12455 float __ovld vloada_half(size_t offset, const __global half *p);
12456 float2 __ovld vloada_half2(size_t offset, const __global half *p);
12457 float3 __ovld vloada_half3(size_t offset, const __global half *p);
12458 float4 __ovld vloada_half4(size_t offset, const __global half *p);
12459 float8 __ovld vloada_half8(size_t offset, const __global half *p);
12460 float16 __ovld vloada_half16(size_t offset, const __global half *p);
12461 float __ovld vloada_half(size_t offset, const __local half *p);
12462 float2 __ovld vloada_half2(size_t offset, const __local half *p);
12463 float3 __ovld vloada_half3(size_t offset, const __local half *p);
12464 float4 __ovld vloada_half4(size_t offset, const __local half *p);
12465 float8 __ovld vloada_half8(size_t offset, const __local half *p);
12466 float16 __ovld vloada_half16(size_t offset, const __local half *p);
12467 float __ovld vloada_half(size_t offset, const __private half *p);
12468 float2 __ovld vloada_half2(size_t offset, const __private half *p);
12469 float3 __ovld vloada_half3(size_t offset, const __private half *p);
12470 float4 __ovld vloada_half4(size_t offset, const __private half *p);
12471 float8 __ovld vloada_half8(size_t offset, const __private half *p);
12472 float16 __ovld vloada_half16(size_t offset, const __private half *p);
12473 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
12474
12475 /**
12476  * The floatn value given by data is converted to
12477  * a halfn value using the appropriate rounding
12478  * mode.
12479  * For n = 1, 2, 4, 8 and 16, the halfn value is
12480  * written to the address computed as (p + (offset
12481  * * n)). The address computed as (p + (offset *
12482  * n)) must be aligned to sizeof (halfn) bytes.
12483  * For n = 3, the half3 value is written to the
12484  * address computed as (p + (offset * 4)). The
12485  * address computed as (p + (offset * 4)) must be
12486  * aligned to sizeof (half) * 4 bytes.
12487  * vstorea_halfn uses the current rounding
12488  * mode. The default current rounding mode is
12489  * round to nearest even.
12490  */
12491 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
12492 void __ovld vstorea_half(float data, size_t offset, half *p);
12493 void __ovld vstorea_half2(float2 data, size_t offset, half *p);
12494 void __ovld vstorea_half3(float3 data, size_t offset, half *p);
12495 void __ovld vstorea_half4(float4 data, size_t offset, half *p);
12496 void __ovld vstorea_half8(float8 data, size_t offset, half *p);
12497 void __ovld vstorea_half16(float16 data, size_t offset, half *p);
12498
12499 void __ovld vstorea_half_rte(float data, size_t offset, half *p);
12500 void __ovld vstorea_half2_rte(float2 data, size_t offset, half *p);
12501 void __ovld vstorea_half3_rte(float3 data, size_t offset, half *p);
12502 void __ovld vstorea_half4_rte(float4 data, size_t offset, half *p);
12503 void __ovld vstorea_half8_rte(float8 data, size_t offset, half *p);
12504 void __ovld vstorea_half16_rte(float16 data, size_t offset, half *p);
12505
12506 void __ovld vstorea_half_rtz(float data, size_t offset, half *p);
12507 void __ovld vstorea_half2_rtz(float2 data, size_t offset, half *p);
12508 void __ovld vstorea_half3_rtz(float3 data, size_t offset, half *p);
12509 void __ovld vstorea_half4_rtz(float4 data, size_t offset, half *p);
12510 void __ovld vstorea_half8_rtz(float8 data, size_t offset, half *p);
12511 void __ovld vstorea_half16_rtz(float16 data, size_t offset, half *p);
12512
12513 void __ovld vstorea_half_rtp(float data, size_t offset, half *p);
12514 void __ovld vstorea_half2_rtp(float2 data, size_t offset, half *p);
12515 void __ovld vstorea_half3_rtp(float3 data, size_t offset, half *p);
12516 void __ovld vstorea_half4_rtp(float4 data, size_t offset, half *p);
12517 void __ovld vstorea_half8_rtp(float8 data, size_t offset, half *p);
12518 void __ovld vstorea_half16_rtp(float16 data, size_t offset, half *p);
12519
12520 void __ovld vstorea_half_rtn(float data, size_t offset, half *p);
12521 void __ovld vstorea_half2_rtn(float2 data, size_t offset, half *p);
12522 void __ovld vstorea_half3_rtn(float3 data, size_t offset, half *p);
12523 void __ovld vstorea_half4_rtn(float4 data, size_t offset, half *p);
12524 void __ovld vstorea_half8_rtn(float8 data, size_t offset, half *p);
12525 void __ovld vstorea_half16_rtn(float16 data, size_t offset, half *p);
12526
12527 #ifdef cl_khr_fp64
12528 void __ovld vstorea_half(double data, size_t offset, half *p);
12529 void __ovld vstorea_half2(double2 data, size_t offset, half *p);
12530 void __ovld vstorea_half3(double3 data, size_t offset, half *p);
12531 void __ovld vstorea_half4(double4 data, size_t offset, half *p);
12532 void __ovld vstorea_half8(double8 data, size_t offset, half *p);
12533 void __ovld vstorea_half16(double16 data, size_t offset, half *p);
12534
12535 void __ovld vstorea_half_rte(double data, size_t offset, half *p);
12536 void __ovld vstorea_half2_rte(double2 data, size_t offset, half *p);
12537 void __ovld vstorea_half3_rte(double3 data, size_t offset, half *p);
12538 void __ovld vstorea_half4_rte(double4 data, size_t offset, half *p);
12539 void __ovld vstorea_half8_rte(double8 data, size_t offset, half *p);
12540 void __ovld vstorea_half16_rte(double16 data, size_t offset, half *p);
12541
12542 void __ovld vstorea_half_rtz(double data, size_t offset, half *p);
12543 void __ovld vstorea_half2_rtz(double2 data, size_t offset, half *p);
12544 void __ovld vstorea_half3_rtz(double3 data, size_t offset, half *p);
12545 void __ovld vstorea_half4_rtz(double4 data, size_t offset, half *p);
12546 void __ovld vstorea_half8_rtz(double8 data, size_t offset, half *p);
12547 void __ovld vstorea_half16_rtz(double16 data, size_t offset, half *p);
12548
12549 void __ovld vstorea_half_rtp(double data, size_t offset, half *p);
12550 void __ovld vstorea_half2_rtp(double2 data, size_t offset, half *p);
12551 void __ovld vstorea_half3_rtp(double3 data, size_t offset, half *p);
12552 void __ovld vstorea_half4_rtp(double4 data, size_t offset, half *p);
12553 void __ovld vstorea_half8_rtp(double8 data, size_t offset, half *p);
12554 void __ovld vstorea_half16_rtp(double16 data, size_t offset, half *p);
12555
12556 void __ovld vstorea_half_rtn(double data, size_t offset, half *p);
12557 void __ovld vstorea_half2_rtn(double2 data, size_t offset, half *p);
12558 void __ovld vstorea_half3_rtn(double3 data, size_t offset, half *p);
12559 void __ovld vstorea_half4_rtn(double4 data, size_t offset, half *p);
12560 void __ovld vstorea_half8_rtn(double8 data, size_t offset, half *p);
12561 void __ovld vstorea_half16_rtn(double16 data, size_t offset, half *p);
12562 #endif //cl_khr_fp64
12563
12564 #else
12565 void __ovld vstorea_half(float data, size_t offset, __global half *p);
12566 void __ovld vstorea_half2(float2 data, size_t offset, __global half *p);
12567 void __ovld vstorea_half3(float3 data, size_t offset, __global half *p);
12568 void __ovld vstorea_half4(float4 data, size_t offset, __global half *p);
12569 void __ovld vstorea_half8(float8 data, size_t offset, __global half *p);
12570 void __ovld vstorea_half16(float16 data, size_t offset, __global half *p);
12571
12572 void __ovld vstorea_half_rte(float data, size_t offset, __global half *p);
12573 void __ovld vstorea_half2_rte(float2 data, size_t offset, __global half *p);
12574 void __ovld vstorea_half3_rte(float3 data, size_t offset, __global half *p);
12575 void __ovld vstorea_half4_rte(float4 data, size_t offset, __global half *p);
12576 void __ovld vstorea_half8_rte(float8 data, size_t offset, __global half *p);
12577 void __ovld vstorea_half16_rte(float16 data, size_t offset, __global half *p);
12578
12579 void __ovld vstorea_half_rtz(float data, size_t offset, __global half *p);
12580 void __ovld vstorea_half2_rtz(float2 data, size_t offset, __global half *p);
12581 void __ovld vstorea_half3_rtz(float3 data, size_t offset, __global half *p);
12582 void __ovld vstorea_half4_rtz(float4 data, size_t offset, __global half *p);
12583 void __ovld vstorea_half8_rtz(float8 data, size_t offset, __global half *p);
12584 void __ovld vstorea_half16_rtz(float16 data, size_t offset, __global half *p);
12585
12586 void __ovld vstorea_half_rtp(float data, size_t offset, __global half *p);
12587 void __ovld vstorea_half2_rtp(float2 data, size_t offset, __global half *p);
12588 void __ovld vstorea_half3_rtp(float3 data, size_t offset, __global half *p);
12589 void __ovld vstorea_half4_rtp(float4 data, size_t offset, __global half *p);
12590 void __ovld vstorea_half8_rtp(float8 data, size_t offset, __global half *p);
12591 void __ovld vstorea_half16_rtp(float16 data, size_t offset, __global half *p);
12592
12593 void __ovld vstorea_half_rtn(float data, size_t offset, __global half *p);
12594 void __ovld vstorea_half2_rtn(float2 data, size_t offset, __global half *p);
12595 void __ovld vstorea_half3_rtn(float3 data, size_t offset, __global half *p);
12596 void __ovld vstorea_half4_rtn(float4 data, size_t offset, __global half *p);
12597 void __ovld vstorea_half8_rtn(float8 data, size_t offset, __global half *p);
12598 void __ovld vstorea_half16_rtn(float16 data, size_t offset, __global half *p);
12599
12600 void __ovld vstorea_half(float data, size_t offset, __local half *p);
12601 void __ovld vstorea_half2(float2 data, size_t offset, __local half *p);
12602 void __ovld vstorea_half3(float3 data, size_t offset, __local half *p);
12603 void __ovld vstorea_half4(float4 data, size_t offset, __local half *p);
12604 void __ovld vstorea_half8(float8 data, size_t offset, __local half *p);
12605 void __ovld vstorea_half16(float16 data, size_t offset, __local half *p);
12606
12607 void __ovld vstorea_half_rte(float data, size_t offset, __local half *p);
12608 void __ovld vstorea_half2_rte(float2 data, size_t offset, __local half *p);
12609 void __ovld vstorea_half3_rte(float3 data, size_t offset, __local half *p);
12610 void __ovld vstorea_half4_rte(float4 data, size_t offset, __local half *p);
12611 void __ovld vstorea_half8_rte(float8 data, size_t offset, __local half *p);
12612 void __ovld vstorea_half16_rte(float16 data, size_t offset, __local half *p);
12613
12614 void __ovld vstorea_half_rtz(float data, size_t offset, __local half *p);
12615 void __ovld vstorea_half2_rtz(float2 data, size_t offset, __local half *p);
12616 void __ovld vstorea_half3_rtz(float3 data, size_t offset, __local half *p);
12617 void __ovld vstorea_half4_rtz(float4 data, size_t offset, __local half *p);
12618 void __ovld vstorea_half8_rtz(float8 data, size_t offset, __local half *p);
12619 void __ovld vstorea_half16_rtz(float16 data, size_t offset, __local half *p);
12620
12621 void __ovld vstorea_half_rtp(float data, size_t offset, __local half *p);
12622 void __ovld vstorea_half2_rtp(float2 data, size_t offset, __local half *p);
12623 void __ovld vstorea_half3_rtp(float3 data, size_t offset, __local half *p);
12624 void __ovld vstorea_half4_rtp(float4 data, size_t offset, __local half *p);
12625 void __ovld vstorea_half8_rtp(float8 data, size_t offset, __local half *p);
12626 void __ovld vstorea_half16_rtp(float16 data, size_t offset, __local half *p);
12627
12628 void __ovld vstorea_half_rtn(float data, size_t offset, __local half *p);
12629 void __ovld vstorea_half2_rtn(float2 data, size_t offset, __local half *p);
12630 void __ovld vstorea_half3_rtn(float3 data, size_t offset, __local half *p);
12631 void __ovld vstorea_half4_rtn(float4 data, size_t offset, __local half *p);
12632 void __ovld vstorea_half8_rtn(float8 data, size_t offset, __local half *p);
12633 void __ovld vstorea_half16_rtn(float16 data, size_t offset, __local half *p);
12634
12635 void __ovld vstorea_half(float data, size_t offset, __private half *p);
12636 void __ovld vstorea_half2(float2 data, size_t offset, __private half *p);
12637 void __ovld vstorea_half3(float3 data, size_t offset, __private half *p);
12638 void __ovld vstorea_half4(float4 data, size_t offset, __private half *p);
12639 void __ovld vstorea_half8(float8 data, size_t offset, __private half *p);
12640 void __ovld vstorea_half16(float16 data, size_t offset, __private half *p);
12641
12642 void __ovld vstorea_half_rte(float data, size_t offset, __private half *p);
12643 void __ovld vstorea_half2_rte(float2 data, size_t offset, __private half *p);
12644 void __ovld vstorea_half3_rte(float3 data, size_t offset, __private half *p);
12645 void __ovld vstorea_half4_rte(float4 data, size_t offset, __private half *p);
12646 void __ovld vstorea_half8_rte(float8 data, size_t offset, __private half *p);
12647 void __ovld vstorea_half16_rte(float16 data, size_t offset, __private half *p);
12648
12649 void __ovld vstorea_half_rtz(float data, size_t offset, __private half *p);
12650 void __ovld vstorea_half2_rtz(float2 data, size_t offset, __private half *p);
12651 void __ovld vstorea_half3_rtz(float3 data, size_t offset, __private half *p);
12652 void __ovld vstorea_half4_rtz(float4 data, size_t offset, __private half *p);
12653 void __ovld vstorea_half8_rtz(float8 data, size_t offset, __private half *p);
12654 void __ovld vstorea_half16_rtz(float16 data, size_t offset, __private half *p);
12655
12656 void __ovld vstorea_half_rtp(float data, size_t offset, __private half *p);
12657 void __ovld vstorea_half2_rtp(float2 data, size_t offset, __private half *p);
12658 void __ovld vstorea_half3_rtp(float3 data, size_t offset, __private half *p);
12659 void __ovld vstorea_half4_rtp(float4 data, size_t offset, __private half *p);
12660 void __ovld vstorea_half8_rtp(float8 data, size_t offset, __private half *p);
12661 void __ovld vstorea_half16_rtp(float16 data, size_t offset, __private half *p);
12662
12663 void __ovld vstorea_half_rtn(float data, size_t offset, __private half *p);
12664 void __ovld vstorea_half2_rtn(float2 data, size_t offset, __private half *p);
12665 void __ovld vstorea_half3_rtn(float3 data, size_t offset, __private half *p);
12666 void __ovld vstorea_half4_rtn(float4 data, size_t offset, __private half *p);
12667 void __ovld vstorea_half8_rtn(float8 data, size_t offset, __private half *p);
12668 void __ovld vstorea_half16_rtn(float16 data, size_t offset, __private half *p);
12669
12670 #ifdef cl_khr_fp64
12671 void __ovld vstorea_half(double data, size_t offset, __global half *p);
12672 void __ovld vstorea_half2(double2 data, size_t offset, __global half *p);
12673 void __ovld vstorea_half3(double3 data, size_t offset, __global half *p);
12674 void __ovld vstorea_half4(double4 data, size_t offset, __global half *p);
12675 void __ovld vstorea_half8(double8 data, size_t offset, __global half *p);
12676 void __ovld vstorea_half16(double16 data, size_t offset, __global half *p);
12677
12678 void __ovld vstorea_half_rte(double data, size_t offset, __global half *p);
12679 void __ovld vstorea_half2_rte(double2 data, size_t offset, __global half *p);
12680 void __ovld vstorea_half3_rte(double3 data, size_t offset, __global half *p);
12681 void __ovld vstorea_half4_rte(double4 data, size_t offset, __global half *p);
12682 void __ovld vstorea_half8_rte(double8 data, size_t offset, __global half *p);
12683 void __ovld vstorea_half16_rte(double16 data, size_t offset, __global half *p);
12684
12685 void __ovld vstorea_half_rtz(double data, size_t offset, __global half *p);
12686 void __ovld vstorea_half2_rtz(double2 data, size_t offset, __global half *p);
12687 void __ovld vstorea_half3_rtz(double3 data, size_t offset, __global half *p);
12688 void __ovld vstorea_half4_rtz(double4 data, size_t offset, __global half *p);
12689 void __ovld vstorea_half8_rtz(double8 data, size_t offset, __global half *p);
12690 void __ovld vstorea_half16_rtz(double16 data, size_t offset, __global half *p);
12691
12692 void __ovld vstorea_half_rtp(double data, size_t offset, __global half *p);
12693 void __ovld vstorea_half2_rtp(double2 data, size_t offset, __global half *p);
12694 void __ovld vstorea_half3_rtp(double3 data, size_t offset, __global half *p);
12695 void __ovld vstorea_half4_rtp(double4 data, size_t offset, __global half *p);
12696 void __ovld vstorea_half8_rtp(double8 data, size_t offset, __global half *p);
12697 void __ovld vstorea_half16_rtp(double16 data, size_t offset, __global half *p);
12698
12699 void __ovld vstorea_half_rtn(double data, size_t offset, __global half *p);
12700 void __ovld vstorea_half2_rtn(double2 data, size_t offset, __global half *p);
12701 void __ovld vstorea_half3_rtn(double3 data, size_t offset, __global half *p);
12702 void __ovld vstorea_half4_rtn(double4 data, size_t offset, __global half *p);
12703 void __ovld vstorea_half8_rtn(double8 data, size_t offset, __global half *p);
12704 void __ovld vstorea_half16_rtn(double16 data, size_t offset, __global half *p);
12705
12706 void __ovld vstorea_half(double data, size_t offset, __local half *p);
12707 void __ovld vstorea_half2(double2 data, size_t offset, __local half *p);
12708 void __ovld vstorea_half3(double3 data, size_t offset, __local half *p);
12709 void __ovld vstorea_half4(double4 data, size_t offset, __local half *p);
12710 void __ovld vstorea_half8(double8 data, size_t offset, __local half *p);
12711 void __ovld vstorea_half16(double16 data, size_t offset, __local half *p);
12712
12713 void __ovld vstorea_half_rte(double data, size_t offset, __local half *p);
12714 void __ovld vstorea_half2_rte(double2 data, size_t offset, __local half *p);
12715 void __ovld vstorea_half3_rte(double3 data, size_t offset, __local half *p);
12716 void __ovld vstorea_half4_rte(double4 data, size_t offset, __local half *p);
12717 void __ovld vstorea_half8_rte(double8 data, size_t offset, __local half *p);
12718 void __ovld vstorea_half16_rte(double16 data, size_t offset, __local half *p);
12719
12720 void __ovld vstorea_half_rtz(double data, size_t offset, __local half *p);
12721 void __ovld vstorea_half2_rtz(double2 data, size_t offset, __local half *p);
12722 void __ovld vstorea_half3_rtz(double3 data, size_t offset, __local half *p);
12723 void __ovld vstorea_half4_rtz(double4 data, size_t offset, __local half *p);
12724 void __ovld vstorea_half8_rtz(double8 data, size_t offset, __local half *p);
12725 void __ovld vstorea_half16_rtz(double16 data, size_t offset, __local half *p);
12726
12727 void __ovld vstorea_half_rtp(double data, size_t offset, __local half *p);
12728 void __ovld vstorea_half2_rtp(double2 data, size_t offset, __local half *p);
12729 void __ovld vstorea_half3_rtp(double3 data, size_t offset, __local half *p);
12730 void __ovld vstorea_half4_rtp(double4 data, size_t offset, __local half *p);
12731 void __ovld vstorea_half8_rtp(double8 data, size_t offset, __local half *p);
12732 void __ovld vstorea_half16_rtp(double16 data, size_t offset, __local half *p);
12733
12734 void __ovld vstorea_half_rtn(double data, size_t offset, __local half *p);
12735 void __ovld vstorea_half2_rtn(double2 data, size_t offset, __local half *p);
12736 void __ovld vstorea_half3_rtn(double3 data, size_t offset, __local half *p);
12737 void __ovld vstorea_half4_rtn(double4 data, size_t offset, __local half *p);
12738 void __ovld vstorea_half8_rtn(double8 data, size_t offset, __local half *p);
12739 void __ovld vstorea_half16_rtn(double16 data, size_t offset, __local half *p);
12740
12741 void __ovld vstorea_half(double data, size_t offset, __private half *p);
12742 void __ovld vstorea_half2(double2 data, size_t offset, __private half *p);
12743 void __ovld vstorea_half3(double3 data, size_t offset, __private half *p);
12744 void __ovld vstorea_half4(double4 data, size_t offset, __private half *p);
12745 void __ovld vstorea_half8(double8 data, size_t offset, __private half *p);
12746 void __ovld vstorea_half16(double16 data, size_t offset, __private half *p);
12747
12748 void __ovld vstorea_half_rte(double data, size_t offset, __private half *p);
12749 void __ovld vstorea_half2_rte(double2 data, size_t offset, __private half *p);
12750 void __ovld vstorea_half3_rte(double3 data, size_t offset, __private half *p);
12751 void __ovld vstorea_half4_rte(double4 data, size_t offset, __private half *p);
12752 void __ovld vstorea_half8_rte(double8 data, size_t offset, __private half *p);
12753 void __ovld vstorea_half16_rte(double16 data, size_t offset, __private half *p);
12754
12755 void __ovld vstorea_half_rtz(double data, size_t offset, __private half *p);
12756 void __ovld vstorea_half2_rtz(double2 data, size_t offset, __private half *p);
12757 void __ovld vstorea_half3_rtz(double3 data, size_t offset, __private half *p);
12758 void __ovld vstorea_half4_rtz(double4 data, size_t offset, __private half *p);
12759 void __ovld vstorea_half8_rtz(double8 data, size_t offset, __private half *p);
12760 void __ovld vstorea_half16_rtz(double16 data, size_t offset, __private half *p);
12761
12762 void __ovld vstorea_half_rtp(double data, size_t offset, __private half *p);
12763 void __ovld vstorea_half2_rtp(double2 data, size_t offset, __private half *p);
12764 void __ovld vstorea_half3_rtp(double3 data, size_t offset, __private half *p);
12765 void __ovld vstorea_half4_rtp(double4 data, size_t offset, __private half *p);
12766 void __ovld vstorea_half8_rtp(double8 data, size_t offset, __private half *p);
12767 void __ovld vstorea_half16_rtp(double16 data, size_t offset, __private half *p);
12768
12769 void __ovld vstorea_half_rtn(double data, size_t offset, __private half *p);
12770 void __ovld vstorea_half2_rtn(double2 data,size_t offset, __private half *p);
12771 void __ovld vstorea_half3_rtn(double3 data,size_t offset, __private half *p);
12772 void __ovld vstorea_half4_rtn(double4 data,size_t offset, __private half *p);
12773 void __ovld vstorea_half8_rtn(double8 data,size_t offset, __private half *p);
12774 void __ovld vstorea_half16_rtn(double16 data,size_t offset, __private half *p);
12775 #endif //cl_khr_fp64
12776 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
12777
12778 // OpenCL v1.1 s6.11.8, v1.2 s6.12.8, v2.0 s6.13.8 - Synchronization Functions
12779
12780 // Flag type and values for barrier, mem_fence, read_mem_fence, write_mem_fence
12781 typedef uint cl_mem_fence_flags;
12782
12783 /**
12784  * Queue a memory fence to ensure correct
12785  * ordering of memory operations to local memory
12786  */
12787 #define CLK_LOCAL_MEM_FENCE    0x01
12788
12789 /**
12790  * Queue a memory fence to ensure correct
12791  * ordering of memory operations to global memory
12792  */
12793 #define CLK_GLOBAL_MEM_FENCE   0x02
12794
12795 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
12796 /**
12797  * Queue a memory fence to ensure correct ordering of memory
12798  * operations between work-items of a work-group to
12799  * image memory.
12800  */
12801 #define CLK_IMAGE_MEM_FENCE  0x04
12802 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
12803
12804 /**
12805  * All work-items in a work-group executing the kernel
12806  * on a processor must execute this function before any
12807  * are allowed to continue execution beyond the barrier.
12808  * This function must be encountered by all work-items in
12809  * a work-group executing the kernel.
12810  * If barrier is inside a conditional statement, then all
12811  * work-items must enter the conditional if any work-item
12812  * enters the conditional statement and executes the
12813  * barrier.
12814  * If barrer is inside a loop, all work-items must execute
12815  * the barrier for each iteration of the loop before any are
12816  * allowed to continue execution beyond the barrier.
12817  * The barrier function also queues a memory fence
12818  * (reads and writes) to ensure correct ordering of
12819  * memory operations to local or global memory.
12820  * The flags argument specifies the memory address space
12821  * and can be set to a combination of the following literal
12822  * values.
12823  * CLK_LOCAL_MEM_FENCE - The barrier function
12824  * will either flush any variables stored in local memory
12825  * or queue a memory fence to ensure correct ordering of
12826  * memory operations to local memory.
12827  * CLK_GLOBAL_MEM_FENCE - The barrier function
12828  * will queue a memory fence to ensure correct ordering
12829  * of memory operations to global memory. This can be
12830  * useful when work-items, for example, write to buffer or
12831  * image objects and then want to read the updated data.
12832  */
12833
12834 void __ovld __conv barrier(cl_mem_fence_flags flags);
12835
12836 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
12837
12838 typedef enum memory_scope {
12839   memory_scope_work_item = __OPENCL_MEMORY_SCOPE_WORK_ITEM,
12840   memory_scope_work_group = __OPENCL_MEMORY_SCOPE_WORK_GROUP,
12841   memory_scope_device = __OPENCL_MEMORY_SCOPE_DEVICE,
12842   memory_scope_all_svm_devices = __OPENCL_MEMORY_SCOPE_ALL_SVM_DEVICES,
12843 #if defined(cl_intel_subgroups) || defined(cl_khr_subgroups)
12844   memory_scope_sub_group = __OPENCL_MEMORY_SCOPE_SUB_GROUP
12845 #endif
12846 } memory_scope;
12847
12848 void __ovld __conv work_group_barrier(cl_mem_fence_flags flags, memory_scope scope);
12849 void __ovld __conv work_group_barrier(cl_mem_fence_flags flags);
12850 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
12851
12852 // OpenCL v1.1 s6.11.9, v1.2 s6.12.9 - Explicit Memory Fence Functions
12853
12854 /**
12855  * Orders loads and stores of a work-item
12856  * executing a kernel. This means that loads
12857  * and stores preceding the mem_fence will
12858  * be committed to memory before any loads
12859  * and stores following the mem_fence.
12860  * The flags argument specifies the memory
12861  * address space and can be set to a
12862  * combination of the following literal
12863  * values:
12864  * CLK_LOCAL_MEM_FENCE
12865  * CLK_GLOBAL_MEM_FENCE.
12866  */
12867 void __ovld mem_fence(cl_mem_fence_flags flags);
12868
12869 /**
12870  * Read memory barrier that orders only
12871  * loads.
12872  * The flags argument specifies the memory
12873  * address space and can be set to a
12874  * combination of the following literal
12875  * values:
12876  * CLK_LOCAL_MEM_FENCE
12877  * CLK_GLOBAL_MEM_FENCE.
12878  */
12879 void __ovld read_mem_fence(cl_mem_fence_flags flags);
12880
12881 /**
12882  * Write memory barrier that orders only
12883  * stores.
12884  * The flags argument specifies the memory
12885  * address space and can be set to a
12886  * combination of the following literal
12887  * values:
12888  * CLK_LOCAL_MEM_FENCE
12889  * CLK_GLOBAL_MEM_FENCE.
12890  */
12891 void __ovld write_mem_fence(cl_mem_fence_flags flags);
12892
12893 // OpenCL v2.0 s6.13.9 - Address Space Qualifier Functions
12894
12895 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
12896 cl_mem_fence_flags __ovld get_fence(const void *ptr);
12897 cl_mem_fence_flags __ovld get_fence(void *ptr);
12898
12899 /**
12900  * Builtin functions to_global, to_local, and to_private need to be declared as Clang builtin functions
12901  * and checked in Sema since they should be declared as
12902  *   addr gentype* to_addr (gentype*);
12903  * where gentype is builtin type or user defined type.
12904  */
12905
12906 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
12907
12908 // 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
12909
12910 /**
12911  * event_t async_work_group_copy (
12912  * __global gentype *dst,
12913  * const __local gentype *src,
12914  * size_t num_elements,
12915  * event_t event)
12916  * Perform an async copy of num_elements
12917  * gentype elements from src to dst. The async
12918  * copy is performed by all work-items in a workgroup
12919  * and this built-in function must therefore
12920  * be encountered by all work-items in a workgroup
12921  * executing the kernel with the same
12922  * argument values; otherwise the results are
12923  * undefined.
12924  * Returns an event object that can be used by
12925  * wait_group_events to wait for the async copy
12926  * to finish. The event argument can also be used
12927  * to associate the async_work_group_copy with
12928  * a previous async copy allowing an event to be
12929  * shared by multiple async copies; otherwise event
12930  * should be zero.
12931  * If event argument is non-zero, the event object
12932  * supplied in event argument will be returned.
12933  * This function does not perform any implicit
12934  * synchronization of source data such as using a
12935  * barrier before performing the copy.
12936  */
12937 event_t __ovld async_work_group_copy(__local char *dst, const __global char *src, size_t num_elements, event_t event);
12938 event_t __ovld async_work_group_copy(__local uchar *dst, const __global uchar *src, size_t num_elements, event_t event);
12939 event_t __ovld async_work_group_copy(__local short *dst, const __global short *src, size_t num_elements, event_t event);
12940 event_t __ovld async_work_group_copy(__local ushort *dst, const __global ushort *src, size_t num_elements, event_t event);
12941 event_t __ovld async_work_group_copy(__local int *dst, const __global int *src, size_t num_elements, event_t event);
12942 event_t __ovld async_work_group_copy(__local uint *dst, const __global uint *src, size_t num_elements, event_t event);
12943 event_t __ovld async_work_group_copy(__local long *dst, const __global long *src, size_t num_elements, event_t event);
12944 event_t __ovld async_work_group_copy(__local ulong *dst, const __global ulong *src, size_t num_elements, event_t event);
12945 event_t __ovld async_work_group_copy(__local float *dst, const __global float *src, size_t num_elements, event_t event);
12946 event_t __ovld async_work_group_copy(__local char2 *dst, const __global char2 *src, size_t num_elements, event_t event);
12947 event_t __ovld async_work_group_copy(__local uchar2 *dst, const __global uchar2 *src, size_t num_elements, event_t event);
12948 event_t __ovld async_work_group_copy(__local short2 *dst, const __global short2 *src, size_t num_elements, event_t event);
12949 event_t __ovld async_work_group_copy(__local ushort2 *dst, const __global ushort2 *src, size_t num_elements, event_t event);
12950 event_t __ovld async_work_group_copy(__local int2 *dst, const __global int2 *src, size_t num_elements, event_t event);
12951 event_t __ovld async_work_group_copy(__local uint2 *dst, const __global uint2 *src, size_t num_elements, event_t event);
12952 event_t __ovld async_work_group_copy(__local long2 *dst, const __global long2 *src, size_t num_elements, event_t event);
12953 event_t __ovld async_work_group_copy(__local ulong2 *dst, const __global ulong2 *src, size_t num_elements, event_t event);
12954 event_t __ovld async_work_group_copy(__local float2 *dst, const __global float2 *src, size_t num_elements, event_t event);
12955 event_t __ovld async_work_group_copy(__local char3 *dst, const __global char3 *src, size_t num_elements, event_t event);
12956 event_t __ovld async_work_group_copy(__local uchar3 *dst, const __global uchar3 *src, size_t num_elements, event_t event);
12957 event_t __ovld async_work_group_copy(__local short3 *dst, const __global short3 *src, size_t num_elements, event_t event);
12958 event_t __ovld async_work_group_copy(__local ushort3 *dst, const __global ushort3 *src, size_t num_elements, event_t event);
12959 event_t __ovld async_work_group_copy(__local int3 *dst, const __global int3 *src, size_t num_elements, event_t event);
12960 event_t __ovld async_work_group_copy(__local uint3 *dst, const __global uint3 *src, size_t num_elements, event_t event);
12961 event_t __ovld async_work_group_copy(__local long3 *dst, const __global long3 *src, size_t num_elements, event_t event);
12962 event_t __ovld async_work_group_copy(__local ulong3 *dst, const __global ulong3 *src, size_t num_elements, event_t event);
12963 event_t __ovld async_work_group_copy(__local float3 *dst, const __global float3 *src, size_t num_elements, event_t event);
12964 event_t __ovld async_work_group_copy(__local char4 *dst, const __global char4 *src, size_t num_elements, event_t event);
12965 event_t __ovld async_work_group_copy(__local uchar4 *dst, const __global uchar4 *src, size_t num_elements, event_t event);
12966 event_t __ovld async_work_group_copy(__local short4 *dst, const __global short4 *src, size_t num_elements, event_t event);
12967 event_t __ovld async_work_group_copy(__local ushort4 *dst, const __global ushort4 *src, size_t num_elements, event_t event);
12968 event_t __ovld async_work_group_copy(__local int4 *dst, const __global int4 *src, size_t num_elements, event_t event);
12969 event_t __ovld async_work_group_copy(__local uint4 *dst, const __global uint4 *src, size_t num_elements, event_t event);
12970 event_t __ovld async_work_group_copy(__local long4 *dst, const __global long4 *src, size_t num_elements, event_t event);
12971 event_t __ovld async_work_group_copy(__local ulong4 *dst, const __global ulong4 *src, size_t num_elements, event_t event);
12972 event_t __ovld async_work_group_copy(__local float4 *dst, const __global float4 *src, size_t num_elements, event_t event);
12973 event_t __ovld async_work_group_copy(__local char8 *dst, const __global char8 *src, size_t num_elements, event_t event);
12974 event_t __ovld async_work_group_copy(__local uchar8 *dst, const __global uchar8 *src, size_t num_elements, event_t event);
12975 event_t __ovld async_work_group_copy(__local short8 *dst, const __global short8 *src, size_t num_elements, event_t event);
12976 event_t __ovld async_work_group_copy(__local ushort8 *dst, const __global ushort8 *src, size_t num_elements, event_t event);
12977 event_t __ovld async_work_group_copy(__local int8 *dst, const __global int8 *src, size_t num_elements, event_t event);
12978 event_t __ovld async_work_group_copy(__local uint8 *dst, const __global uint8 *src, size_t num_elements, event_t event);
12979 event_t __ovld async_work_group_copy(__local long8 *dst, const __global long8 *src, size_t num_elements, event_t event);
12980 event_t __ovld async_work_group_copy(__local ulong8 *dst, const __global ulong8 *src, size_t num_elements, event_t event);
12981 event_t __ovld async_work_group_copy(__local float8 *dst, const __global float8 *src, size_t num_elements, event_t event);
12982 event_t __ovld async_work_group_copy(__local char16 *dst, const __global char16 *src, size_t num_elements, event_t event);
12983 event_t __ovld async_work_group_copy(__local uchar16 *dst, const __global uchar16 *src, size_t num_elements, event_t event);
12984 event_t __ovld async_work_group_copy(__local short16 *dst, const __global short16 *src, size_t num_elements, event_t event);
12985 event_t __ovld async_work_group_copy(__local ushort16 *dst, const __global ushort16 *src, size_t num_elements, event_t event);
12986 event_t __ovld async_work_group_copy(__local int16 *dst, const __global int16 *src, size_t num_elements, event_t event);
12987 event_t __ovld async_work_group_copy(__local uint16 *dst, const __global uint16 *src, size_t num_elements, event_t event);
12988 event_t __ovld async_work_group_copy(__local long16 *dst, const __global long16 *src, size_t num_elements, event_t event);
12989 event_t __ovld async_work_group_copy(__local ulong16 *dst, const __global ulong16 *src, size_t num_elements, event_t event);
12990 event_t __ovld async_work_group_copy(__local float16 *dst, const __global float16 *src, size_t num_elements, event_t event);
12991 event_t __ovld async_work_group_copy(__global char *dst, const __local char *src, size_t num_elements, event_t event);
12992 event_t __ovld async_work_group_copy(__global uchar *dst, const __local uchar *src, size_t num_elements, event_t event);
12993 event_t __ovld async_work_group_copy(__global short *dst, const __local short *src, size_t num_elements, event_t event);
12994 event_t __ovld async_work_group_copy(__global ushort *dst, const __local ushort *src, size_t num_elements, event_t event);
12995 event_t __ovld async_work_group_copy(__global int *dst, const __local int *src, size_t num_elements, event_t event);
12996 event_t __ovld async_work_group_copy(__global uint *dst, const __local uint *src, size_t num_elements, event_t event);
12997 event_t __ovld async_work_group_copy(__global long *dst, const __local long *src, size_t num_elements, event_t event);
12998 event_t __ovld async_work_group_copy(__global ulong *dst, const __local ulong *src, size_t num_elements, event_t event);
12999 event_t __ovld async_work_group_copy(__global float *dst, const __local float *src, size_t num_elements, event_t event);
13000 event_t __ovld async_work_group_copy(__global char2 *dst, const __local char2 *src, size_t num_elements, event_t event);
13001 event_t __ovld async_work_group_copy(__global uchar2 *dst, const __local uchar2 *src, size_t num_elements, event_t event);
13002 event_t __ovld async_work_group_copy(__global short2 *dst, const __local short2 *src, size_t num_elements, event_t event);
13003 event_t __ovld async_work_group_copy(__global ushort2 *dst, const __local ushort2 *src, size_t num_elements, event_t event);
13004 event_t __ovld async_work_group_copy(__global int2 *dst, const __local int2 *src, size_t num_elements, event_t event);
13005 event_t __ovld async_work_group_copy(__global uint2 *dst, const __local uint2 *src, size_t num_elements, event_t event);
13006 event_t __ovld async_work_group_copy(__global long2 *dst, const __local long2 *src, size_t num_elements, event_t event);
13007 event_t __ovld async_work_group_copy(__global ulong2 *dst, const __local ulong2 *src, size_t num_elements, event_t event);
13008 event_t __ovld async_work_group_copy(__global float2 *dst, const __local float2 *src, size_t num_elements, event_t event);
13009 event_t __ovld async_work_group_copy(__global char3 *dst, const __local char3 *src, size_t num_elements, event_t event);
13010 event_t __ovld async_work_group_copy(__global uchar3 *dst, const __local uchar3 *src, size_t num_elements, event_t event);
13011 event_t __ovld async_work_group_copy(__global short3 *dst, const __local short3 *src, size_t num_elements, event_t event);
13012 event_t __ovld async_work_group_copy(__global ushort3 *dst, const __local ushort3 *src, size_t num_elements, event_t event);
13013 event_t __ovld async_work_group_copy(__global int3 *dst, const __local int3 *src, size_t num_elements, event_t event);
13014 event_t __ovld async_work_group_copy(__global uint3 *dst, const __local uint3 *src, size_t num_elements, event_t event);
13015 event_t __ovld async_work_group_copy(__global long3 *dst, const __local long3 *src, size_t num_elements, event_t event);
13016 event_t __ovld async_work_group_copy(__global ulong3 *dst, const __local ulong3 *src, size_t num_elements, event_t event);
13017 event_t __ovld async_work_group_copy(__global float3 *dst, const __local float3 *src, size_t num_elements, event_t event);
13018 event_t __ovld async_work_group_copy(__global char4 *dst, const __local char4 *src, size_t num_elements, event_t event);
13019 event_t __ovld async_work_group_copy(__global uchar4 *dst, const __local uchar4 *src, size_t num_elements, event_t event);
13020 event_t __ovld async_work_group_copy(__global short4 *dst, const __local short4 *src, size_t num_elements, event_t event);
13021 event_t __ovld async_work_group_copy(__global ushort4 *dst, const __local ushort4 *src, size_t num_elements, event_t event);
13022 event_t __ovld async_work_group_copy(__global int4 *dst, const __local int4 *src, size_t num_elements, event_t event);
13023 event_t __ovld async_work_group_copy(__global uint4 *dst, const __local uint4 *src, size_t num_elements, event_t event);
13024 event_t __ovld async_work_group_copy(__global long4 *dst, const __local long4 *src, size_t num_elements, event_t event);
13025 event_t __ovld async_work_group_copy(__global ulong4 *dst, const __local ulong4 *src, size_t num_elements, event_t event);
13026 event_t __ovld async_work_group_copy(__global float4 *dst, const __local float4 *src, size_t num_elements, event_t event);
13027 event_t __ovld async_work_group_copy(__global char8 *dst, const __local char8 *src, size_t num_elements, event_t event);
13028 event_t __ovld async_work_group_copy(__global uchar8 *dst, const __local uchar8 *src, size_t num_elements, event_t event);
13029 event_t __ovld async_work_group_copy(__global short8 *dst, const __local short8 *src, size_t num_elements, event_t event);
13030 event_t __ovld async_work_group_copy(__global ushort8 *dst, const __local ushort8 *src, size_t num_elements, event_t event);
13031 event_t __ovld async_work_group_copy(__global int8 *dst, const __local int8 *src, size_t num_elements, event_t event);
13032 event_t __ovld async_work_group_copy(__global uint8 *dst, const __local uint8 *src, size_t num_elements, event_t event);
13033 event_t __ovld async_work_group_copy(__global long8 *dst, const __local long8 *src, size_t num_elements, event_t event);
13034 event_t __ovld async_work_group_copy(__global ulong8 *dst, const __local ulong8 *src, size_t num_elements, event_t event);
13035 event_t __ovld async_work_group_copy(__global float8 *dst, const __local float8 *src, size_t num_elements, event_t event);
13036 event_t __ovld async_work_group_copy(__global char16 *dst, const __local char16 *src, size_t num_elements, event_t event);
13037 event_t __ovld async_work_group_copy(__global uchar16 *dst, const __local uchar16 *src, size_t num_elements, event_t event);
13038 event_t __ovld async_work_group_copy(__global short16 *dst, const __local short16 *src, size_t num_elements, event_t event);
13039 event_t __ovld async_work_group_copy(__global ushort16 *dst, const __local ushort16 *src, size_t num_elements, event_t event);
13040 event_t __ovld async_work_group_copy(__global int16 *dst, const __local int16 *src, size_t num_elements, event_t event);
13041 event_t __ovld async_work_group_copy(__global uint16 *dst, const __local uint16 *src, size_t num_elements, event_t event);
13042 event_t __ovld async_work_group_copy(__global long16 *dst, const __local long16 *src, size_t num_elements, event_t event);
13043 event_t __ovld async_work_group_copy(__global ulong16 *dst, const __local ulong16 *src, size_t num_elements, event_t event);
13044 event_t __ovld async_work_group_copy(__global float16 *dst, const __local float16 *src, size_t num_elements, event_t event);
13045 #ifdef cl_khr_fp64
13046 event_t __ovld async_work_group_copy(__local double *dst, const __global double *src, size_t num_elements, event_t event);
13047 event_t __ovld async_work_group_copy(__local double2 *dst, const __global double2 *src, size_t num_elements, event_t event);
13048 event_t __ovld async_work_group_copy(__local double3 *dst, const __global double3 *src, size_t num_elements, event_t event);
13049 event_t __ovld async_work_group_copy(__local double4 *dst, const __global double4 *src, size_t num_elements, event_t event);
13050 event_t __ovld async_work_group_copy(__local double8 *dst, const __global double8 *src, size_t num_elements, event_t event);
13051 event_t __ovld async_work_group_copy(__local double16 *dst, const __global double16 *src, size_t num_elements, event_t event);
13052 event_t __ovld async_work_group_copy(__global double *dst, const __local double *src, size_t num_elements, event_t event);
13053 event_t __ovld async_work_group_copy(__global double2 *dst, const __local double2 *src, size_t num_elements, event_t event);
13054 event_t __ovld async_work_group_copy(__global double3 *dst, const __local double3 *src, size_t num_elements, event_t event);
13055 event_t __ovld async_work_group_copy(__global double4 *dst, const __local double4 *src, size_t num_elements, event_t event);
13056 event_t __ovld async_work_group_copy(__global double8 *dst, const __local double8 *src, size_t num_elements, event_t event);
13057 event_t __ovld async_work_group_copy(__global double16 *dst, const __local double16 *src, size_t num_elements, event_t event);
13058 #endif //cl_khr_fp64
13059 #ifdef cl_khr_fp16
13060 event_t __ovld async_work_group_copy(__local half *dst, const __global half *src, size_t num_elements, event_t event);
13061 event_t __ovld async_work_group_copy(__local half2 *dst, const __global half2 *src, size_t num_elements, event_t event);
13062 event_t __ovld async_work_group_copy(__local half3 *dst, const __global half3 *src, size_t num_elements, event_t event);
13063 event_t __ovld async_work_group_copy(__local half4 *dst, const __global half4 *src, size_t num_elements, event_t event);
13064 event_t __ovld async_work_group_copy(__local half8 *dst, const __global half8 *src, size_t num_elements, event_t event);
13065 event_t __ovld async_work_group_copy(__local half16 *dst, const __global half16 *src, size_t num_elements, event_t event);
13066 event_t __ovld async_work_group_copy(__global half *dst, const __local half *src, size_t num_elements, event_t event);
13067 event_t __ovld async_work_group_copy(__global half2 *dst, const __local half2 *src, size_t num_elements, event_t event);
13068 event_t __ovld async_work_group_copy(__global half3 *dst, const __local half3 *src, size_t num_elements, event_t event);
13069 event_t __ovld async_work_group_copy(__global half4 *dst, const __local half4 *src, size_t num_elements, event_t event);
13070 event_t __ovld async_work_group_copy(__global half8 *dst, const __local half8 *src, size_t num_elements, event_t event);
13071 event_t __ovld async_work_group_copy(__global half16 *dst, const __local half16 *src, size_t num_elements, event_t event);
13072 #endif //cl_khr_fp16
13073
13074 /**
13075  * Perform an async gather of num_elements
13076  * gentype elements from src to dst. The
13077  * src_stride is the stride in elements for each
13078  * gentype element read from src. The dst_stride
13079  * is the stride in elements for each gentype
13080  * element written to dst. The async gather is
13081  * performed by all work-items in a work-group.
13082  * This built-in function must therefore be
13083  * encountered by all work-items in a work-group
13084  * executing the kernel with the same argument
13085  * values; otherwise the results are undefined.
13086  * Returns an event object that can be used by
13087  * wait_group_events to wait for the async copy
13088  * to finish. The event argument can also be used
13089  * to associate the
13090  * async_work_group_strided_copy with a
13091  * previous async copy allowing an event to be
13092  * shared by multiple async copies; otherwise event
13093  * should be zero.
13094  * If event argument is non-zero, the event object
13095  * supplied in event argument will be returned.
13096  * This function does not perform any implicit
13097  * synchronization of source data such as using a
13098  * barrier before performing the copy.
13099  */
13100 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);
13101 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);
13102 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);
13103 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);
13104 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);
13105 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);
13106 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);
13107 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);
13108 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);
13109 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);
13110 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);
13111 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);
13112 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);
13113 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);
13114 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);
13115 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);
13116 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);
13117 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);
13118 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);
13119 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);
13120 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);
13121 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);
13122 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);
13123 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);
13124 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);
13125 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);
13126 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);
13127 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);
13128 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);
13129 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);
13130 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);
13131 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);
13132 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);
13133 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);
13134 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);
13135 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);
13136 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);
13137 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);
13138 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);
13139 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);
13140 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);
13141 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);
13142 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);
13143 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);
13144 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);
13145 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);
13146 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);
13147 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);
13148 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);
13149 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);
13150 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);
13151 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);
13152 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);
13153 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);
13154 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);
13155 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);
13156 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);
13157 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);
13158 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);
13159 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);
13160 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);
13161 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);
13162 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);
13163 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);
13164 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);
13165 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);
13166 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);
13167 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);
13168 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);
13169 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);
13170 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);
13171 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);
13172 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);
13173 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);
13174 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);
13175 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);
13176 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);
13177 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);
13178 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);
13179 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);
13180 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);
13181 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);
13182 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);
13183 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);
13184 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);
13185 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);
13186 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);
13187 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);
13188 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);
13189 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);
13190 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);
13191 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);
13192 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);
13193 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);
13194 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);
13195 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);
13196 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);
13197 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);
13198 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);
13199 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);
13200 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);
13201 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);
13202 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);
13203 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);
13204 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);
13205 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);
13206 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);
13207 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);
13208 #ifdef cl_khr_fp64
13209 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);
13210 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);
13211 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);
13212 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);
13213 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);
13214 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);
13215 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);
13216 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);
13217 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);
13218 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);
13219 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);
13220 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);
13221 #endif //cl_khr_fp64
13222 #ifdef cl_khr_fp16
13223 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);
13224 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);
13225 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);
13226 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);
13227 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);
13228 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);
13229 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);
13230 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);
13231 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);
13232 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);
13233 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);
13234 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);
13235 #endif //cl_khr_fp16
13236
13237 /**
13238  * Wait for events that identify the
13239  * async_work_group_copy operations to
13240  * complete. The event objects specified in
13241  * event_list will be released after the wait is
13242  * performed.
13243  * This function must be encountered by all workitems
13244  * in a work-group executing the kernel with
13245  * the same num_events and event objects specified
13246  * in event_list; otherwise the results are undefined.
13247  */
13248 void __ovld wait_group_events(int num_events, event_t *event_list);
13249
13250 /**
13251  * Prefetch num_elements * sizeof(gentype)
13252  * bytes into the global cache. The prefetch
13253  * instruction is applied to a work-item in a workgroup
13254  * and does not affect the functional
13255  * behavior of the kernel.
13256  */
13257 void __ovld prefetch(const __global char *p, size_t num_elements);
13258 void __ovld prefetch(const __global uchar *p, size_t num_elements);
13259 void __ovld prefetch(const __global short *p, size_t num_elements);
13260 void __ovld prefetch(const __global ushort *p, size_t num_elements);
13261 void __ovld prefetch(const __global int *p, size_t num_elements);
13262 void __ovld prefetch(const __global uint *p, size_t num_elements);
13263 void __ovld prefetch(const __global long *p, size_t num_elements);
13264 void __ovld prefetch(const __global ulong *p, size_t num_elements);
13265 void __ovld prefetch(const __global float *p, size_t num_elements);
13266 void __ovld prefetch(const __global char2 *p, size_t num_elements);
13267 void __ovld prefetch(const __global uchar2 *p, size_t num_elements);
13268 void __ovld prefetch(const __global short2 *p, size_t num_elements);
13269 void __ovld prefetch(const __global ushort2 *p, size_t num_elements);
13270 void __ovld prefetch(const __global int2 *p, size_t num_elements);
13271 void __ovld prefetch(const __global uint2 *p, size_t num_elements);
13272 void __ovld prefetch(const __global long2 *p, size_t num_elements);
13273 void __ovld prefetch(const __global ulong2 *p, size_t num_elements);
13274 void __ovld prefetch(const __global float2 *p, size_t num_elements);
13275 void __ovld prefetch(const __global char3 *p, size_t num_elements);
13276 void __ovld prefetch(const __global uchar3 *p, size_t num_elements);
13277 void __ovld prefetch(const __global short3 *p, size_t num_elements);
13278 void __ovld prefetch(const __global ushort3 *p, size_t num_elements);
13279 void __ovld prefetch(const __global int3 *p, size_t num_elements);
13280 void __ovld prefetch(const __global uint3 *p, size_t num_elements);
13281 void __ovld prefetch(const __global long3 *p, size_t num_elements);
13282 void __ovld prefetch(const __global ulong3 *p, size_t num_elements);
13283 void __ovld prefetch(const __global float3 *p, size_t num_elements);
13284 void __ovld prefetch(const __global char4 *p, size_t num_elements);
13285 void __ovld prefetch(const __global uchar4 *p, size_t num_elements);
13286 void __ovld prefetch(const __global short4 *p, size_t num_elements);
13287 void __ovld prefetch(const __global ushort4 *p, size_t num_elements);
13288 void __ovld prefetch(const __global int4 *p, size_t num_elements);
13289 void __ovld prefetch(const __global uint4 *p, size_t num_elements);
13290 void __ovld prefetch(const __global long4 *p, size_t num_elements);
13291 void __ovld prefetch(const __global ulong4 *p, size_t num_elements);
13292 void __ovld prefetch(const __global float4 *p, size_t num_elements);
13293 void __ovld prefetch(const __global char8 *p, size_t num_elements);
13294 void __ovld prefetch(const __global uchar8 *p, size_t num_elements);
13295 void __ovld prefetch(const __global short8 *p, size_t num_elements);
13296 void __ovld prefetch(const __global ushort8 *p, size_t num_elements);
13297 void __ovld prefetch(const __global int8 *p, size_t num_elements);
13298 void __ovld prefetch(const __global uint8 *p, size_t num_elements);
13299 void __ovld prefetch(const __global long8 *p, size_t num_elements);
13300 void __ovld prefetch(const __global ulong8 *p, size_t num_elements);
13301 void __ovld prefetch(const __global float8 *p, size_t num_elements);
13302 void __ovld prefetch(const __global char16 *p, size_t num_elements);
13303 void __ovld prefetch(const __global uchar16 *p, size_t num_elements);
13304 void __ovld prefetch(const __global short16 *p, size_t num_elements);
13305 void __ovld prefetch(const __global ushort16 *p, size_t num_elements);
13306 void __ovld prefetch(const __global int16 *p, size_t num_elements);
13307 void __ovld prefetch(const __global uint16 *p, size_t num_elements);
13308 void __ovld prefetch(const __global long16 *p, size_t num_elements);
13309 void __ovld prefetch(const __global ulong16 *p, size_t num_elements);
13310 void __ovld prefetch(const __global float16 *p, size_t num_elements);
13311 #ifdef cl_khr_fp64
13312 void __ovld prefetch(const __global double *p, size_t num_elements);
13313 void __ovld prefetch(const __global double2 *p, size_t num_elements);
13314 void __ovld prefetch(const __global double3 *p, size_t num_elements);
13315 void __ovld prefetch(const __global double4 *p, size_t num_elements);
13316 void __ovld prefetch(const __global double8 *p, size_t num_elements);
13317 void __ovld prefetch(const __global double16 *p, size_t num_elements);
13318 #endif //cl_khr_fp64
13319 #ifdef cl_khr_fp16
13320 void __ovld prefetch(const __global half *p, size_t num_elements);
13321 void __ovld prefetch(const __global half2 *p, size_t num_elements);
13322 void __ovld prefetch(const __global half3 *p, size_t num_elements);
13323 void __ovld prefetch(const __global half4 *p, size_t num_elements);
13324 void __ovld prefetch(const __global half8 *p, size_t num_elements);
13325 void __ovld prefetch(const __global half16 *p, size_t num_elements);
13326 #endif // cl_khr_fp16
13327
13328 // OpenCL v1.1 s6.11.1, v1.2 s6.12.11 - Atomic Functions
13329
13330 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13331 #pragma OPENCL EXTENSION cl_khr_int64_base_atomics : enable
13332 #pragma OPENCL EXTENSION cl_khr_int64_extended_atomics : enable
13333 #endif
13334 /**
13335  * Read the 32-bit value (referred to as old)
13336  * stored at location pointed by p. Compute
13337  * (old + val) and store result at location
13338  * pointed by p. The function returns old.
13339  */
13340 int __ovld atomic_add(volatile __global int *p, int val);
13341 unsigned int __ovld atomic_add(volatile __global unsigned int *p, unsigned int val);
13342 int __ovld atomic_add(volatile __local int *p, int val);
13343 unsigned int __ovld atomic_add(volatile __local unsigned int *p, unsigned int val);
13344
13345 #if defined(cl_khr_global_int32_base_atomics)
13346 int __ovld atom_add(volatile __global int *p, int val);
13347 unsigned int __ovld atom_add(volatile __global unsigned int *p, unsigned int val);
13348 #endif
13349 #if defined(cl_khr_local_int32_base_atomics)
13350 int __ovld atom_add(volatile __local int *p, int val);
13351 unsigned int __ovld atom_add(volatile __local unsigned int *p, unsigned int val);
13352 #endif
13353
13354 #if defined(cl_khr_int64_base_atomics)
13355 long __ovld atom_add(volatile __global long *p, long val);
13356 unsigned long __ovld atom_add(volatile __global unsigned long *p, unsigned long val);
13357 long __ovld atom_add(volatile __local long *p, long val);
13358 unsigned long __ovld atom_add(volatile __local unsigned long *p, unsigned long val);
13359 #endif
13360
13361 /**
13362  * Read the 32-bit value (referred to as old) stored at location pointed by p.
13363  * Compute (old - val) and store result at location pointed by p. The function
13364  * returns old.
13365  */
13366 int __ovld atomic_sub(volatile __global int *p, int val);
13367 unsigned int __ovld atomic_sub(volatile __global unsigned int *p, unsigned int val);
13368 int __ovld atomic_sub(volatile __local int *p, int val);
13369 unsigned int __ovld atomic_sub(volatile __local unsigned int *p, unsigned int val);
13370
13371 #if defined(cl_khr_global_int32_base_atomics)
13372 int __ovld atom_sub(volatile __global int *p, int val);
13373 unsigned int __ovld atom_sub(volatile __global unsigned int *p, unsigned int val);
13374 #endif
13375 #if defined(cl_khr_local_int32_base_atomics)
13376 int __ovld atom_sub(volatile __local int *p, int val);
13377 unsigned int __ovld atom_sub(volatile __local unsigned int *p, unsigned int val);
13378 #endif
13379
13380 #if defined(cl_khr_int64_base_atomics)
13381 long __ovld atom_sub(volatile __global long *p, long val);
13382 unsigned long __ovld atom_sub(volatile __global unsigned long *p, unsigned long val);
13383 long __ovld atom_sub(volatile __local long *p, long val);
13384 unsigned long __ovld atom_sub(volatile __local unsigned long *p, unsigned long val);
13385 #endif
13386
13387 /**
13388  * Swaps the old value stored at location p
13389  * with new value given by val. Returns old
13390  * value.
13391  */
13392 int __ovld atomic_xchg(volatile __global int *p, int val);
13393 unsigned int __ovld atomic_xchg(volatile __global unsigned int *p, unsigned int val);
13394 int __ovld atomic_xchg(volatile __local int *p, int val);
13395 unsigned int __ovld atomic_xchg(volatile __local unsigned int *p, unsigned int val);
13396 float __ovld atomic_xchg(volatile __global float *p, float val);
13397 float __ovld atomic_xchg(volatile __local float *p, float val);
13398
13399 #if defined(cl_khr_global_int32_base_atomics)
13400 int __ovld atom_xchg(volatile __global int *p, int val);
13401 unsigned int __ovld atom_xchg(volatile __global unsigned int *p, unsigned int val);
13402 #endif
13403 #if defined(cl_khr_local_int32_base_atomics)
13404 int __ovld atom_xchg(volatile __local int *p, int val);
13405 unsigned int __ovld atom_xchg(volatile __local unsigned int *p, unsigned int val);
13406 #endif
13407
13408 #if defined(cl_khr_int64_base_atomics)
13409 long __ovld atom_xchg(volatile __global long *p, long val);
13410 long __ovld atom_xchg(volatile __local long *p, long val);
13411 unsigned long __ovld atom_xchg(volatile __global unsigned long *p, unsigned long val);
13412 unsigned long __ovld atom_xchg(volatile __local unsigned long *p, unsigned long val);
13413 #endif
13414
13415 /**
13416  * Read the 32-bit value (referred to as old)
13417  * stored at location pointed by p. Compute
13418  * (old + 1) and store result at location
13419  * pointed by p. The function returns old.
13420  */
13421 int __ovld atomic_inc(volatile __global int *p);
13422 unsigned int __ovld atomic_inc(volatile __global unsigned int *p);
13423 int __ovld atomic_inc(volatile __local int *p);
13424 unsigned int __ovld atomic_inc(volatile __local unsigned int *p);
13425
13426 #if defined(cl_khr_global_int32_base_atomics)
13427 int __ovld atom_inc(volatile __global int *p);
13428 unsigned int __ovld atom_inc(volatile __global unsigned int *p);
13429 #endif
13430 #if defined(cl_khr_local_int32_base_atomics)
13431 int __ovld atom_inc(volatile __local int *p);
13432 unsigned int __ovld atom_inc(volatile __local unsigned int *p);
13433 #endif
13434
13435 #if defined(cl_khr_int64_base_atomics)
13436 long __ovld atom_inc(volatile __global long *p);
13437 unsigned long __ovld atom_inc(volatile __global unsigned long *p);
13438 long __ovld atom_inc(volatile __local long *p);
13439 unsigned long __ovld atom_inc(volatile __local unsigned long *p);
13440 #endif
13441
13442 /**
13443  * Read the 32-bit value (referred to as old)
13444  * stored at location pointed by p. Compute
13445  * (old - 1) and store result at location
13446  * pointed by p. The function returns old.
13447  */
13448 int __ovld atomic_dec(volatile __global int *p);
13449 unsigned int __ovld atomic_dec(volatile __global unsigned int *p);
13450 int __ovld atomic_dec(volatile __local int *p);
13451 unsigned int __ovld atomic_dec(volatile __local unsigned int *p);
13452
13453 #if defined(cl_khr_global_int32_base_atomics)
13454 int __ovld atom_dec(volatile __global int *p);
13455 unsigned int __ovld atom_dec(volatile __global unsigned int *p);
13456 #endif
13457 #if defined(cl_khr_local_int32_base_atomics)
13458 int __ovld atom_dec(volatile __local int *p);
13459 unsigned int __ovld atom_dec(volatile __local unsigned int *p);
13460 #endif
13461
13462 #if defined(cl_khr_int64_base_atomics)
13463 long __ovld atom_dec(volatile __global long *p);
13464 unsigned long __ovld atom_dec(volatile __global unsigned long *p);
13465 long __ovld atom_dec(volatile __local long *p);
13466 unsigned long __ovld atom_dec(volatile __local unsigned long *p);
13467 #endif
13468
13469 /**
13470  * Read the 32-bit value (referred to as old)
13471  * stored at location pointed by p. Compute
13472  * (old == cmp) ? val : old and store result at
13473  * location pointed by p. The function
13474  * returns old.
13475  */
13476 int __ovld atomic_cmpxchg(volatile __global int *p, int cmp, int val);
13477 unsigned int __ovld atomic_cmpxchg(volatile __global unsigned int *p, unsigned int cmp, unsigned int val);
13478 int __ovld atomic_cmpxchg(volatile __local int *p, int cmp, int val);
13479 unsigned int __ovld atomic_cmpxchg(volatile __local unsigned int *p, unsigned int cmp, unsigned int val);
13480
13481 #if defined(cl_khr_global_int32_base_atomics)
13482 int __ovld atom_cmpxchg(volatile __global int *p, int cmp, int val);
13483 unsigned int __ovld atom_cmpxchg(volatile __global unsigned int *p, unsigned int cmp, unsigned int val);
13484 #endif
13485 #if defined(cl_khr_local_int32_base_atomics)
13486 int __ovld atom_cmpxchg(volatile __local int *p, int cmp, int val);
13487 unsigned int __ovld atom_cmpxchg(volatile __local unsigned int *p, unsigned int cmp, unsigned int val);
13488 #endif
13489
13490 #if defined(cl_khr_int64_base_atomics)
13491 long __ovld atom_cmpxchg(volatile __global long *p, long cmp, long val);
13492 unsigned long __ovld atom_cmpxchg(volatile __global unsigned long *p, unsigned long cmp, unsigned long val);
13493 long __ovld atom_cmpxchg(volatile __local long *p, long cmp, long val);
13494 unsigned long __ovld atom_cmpxchg(volatile __local unsigned long *p, unsigned long cmp, unsigned long val);
13495 #endif
13496
13497 /**
13498  * Read the 32-bit value (referred to as old)
13499  * stored at location pointed by p. Compute
13500  * min(old, val) and store minimum value at
13501  * location pointed by p. The function
13502  * returns old.
13503  */
13504 int __ovld atomic_min(volatile __global int *p, int val);
13505 unsigned int __ovld atomic_min(volatile __global unsigned int *p, unsigned int val);
13506 int __ovld atomic_min(volatile __local int *p, int val);
13507 unsigned int __ovld atomic_min(volatile __local unsigned int *p, unsigned int val);
13508
13509 #if defined(cl_khr_global_int32_extended_atomics)
13510 int __ovld atom_min(volatile __global int *p, int val);
13511 unsigned int __ovld atom_min(volatile __global unsigned int *p, unsigned int val);
13512 #endif
13513 #if defined(cl_khr_local_int32_extended_atomics)
13514 int __ovld atom_min(volatile __local int *p, int val);
13515 unsigned int __ovld atom_min(volatile __local unsigned int *p, unsigned int val);
13516 #endif
13517
13518 #if defined(cl_khr_int64_extended_atomics)
13519 long __ovld atom_min(volatile __global long *p, long val);
13520 unsigned long __ovld atom_min(volatile __global unsigned long *p, unsigned long val);
13521 long __ovld atom_min(volatile __local long *p, long val);
13522 unsigned long __ovld atom_min(volatile __local unsigned long *p, unsigned long val);
13523 #endif
13524
13525 /**
13526  * Read the 32-bit value (referred to as old)
13527  * stored at location pointed by p. Compute
13528  * max(old, val) and store maximum value at
13529  * location pointed by p. The function
13530  * returns old.
13531  */
13532 int __ovld atomic_max(volatile __global int *p, int val);
13533 unsigned int __ovld atomic_max(volatile __global unsigned int *p, unsigned int val);
13534 int __ovld atomic_max(volatile __local int *p, int val);
13535 unsigned int __ovld atomic_max(volatile __local unsigned int *p, unsigned int val);
13536
13537 #if defined(cl_khr_global_int32_extended_atomics)
13538 int __ovld atom_max(volatile __global int *p, int val);
13539 unsigned int __ovld atom_max(volatile __global unsigned int *p, unsigned int val);
13540 #endif
13541 #if defined(cl_khr_local_int32_extended_atomics)
13542 int __ovld atom_max(volatile __local int *p, int val);
13543 unsigned int __ovld atom_max(volatile __local unsigned int *p, unsigned int val);
13544 #endif
13545
13546 #if defined(cl_khr_int64_extended_atomics)
13547 long __ovld atom_max(volatile __global long *p, long val);
13548 unsigned long __ovld atom_max(volatile __global unsigned long *p, unsigned long val);
13549 long __ovld atom_max(volatile __local long *p, long val);
13550 unsigned long __ovld atom_max(volatile __local unsigned long *p, unsigned long val);
13551 #endif
13552
13553 /**
13554  * Read the 32-bit value (referred to as old)
13555  * stored at location pointed by p. Compute
13556  * (old & val) and store result at location
13557  * pointed by p. The function returns old.
13558  */
13559 int __ovld atomic_and(volatile __global int *p, int val);
13560 unsigned int __ovld atomic_and(volatile __global unsigned int *p, unsigned int val);
13561 int __ovld atomic_and(volatile __local int *p, int val);
13562 unsigned int __ovld atomic_and(volatile __local unsigned int *p, unsigned int val);
13563
13564 #if defined(cl_khr_global_int32_extended_atomics)
13565 int __ovld atom_and(volatile __global int *p, int val);
13566 unsigned int __ovld atom_and(volatile __global unsigned int *p, unsigned int val);
13567 #endif
13568 #if defined(cl_khr_local_int32_extended_atomics)
13569 int __ovld atom_and(volatile __local int *p, int val);
13570 unsigned int __ovld atom_and(volatile __local unsigned int *p, unsigned int val);
13571 #endif
13572
13573 #if defined(cl_khr_int64_extended_atomics)
13574 long __ovld atom_and(volatile __global long *p, long val);
13575 unsigned long __ovld atom_and(volatile __global unsigned long *p, unsigned long val);
13576 long __ovld atom_and(volatile __local long *p, long val);
13577 unsigned long __ovld atom_and(volatile __local unsigned long *p, unsigned long val);
13578 #endif
13579
13580 /**
13581  * Read the 32-bit value (referred to as old)
13582  * stored at location pointed by p. Compute
13583  * (old | val) and store result at location
13584  * pointed by p. The function returns old.
13585  */
13586 int __ovld atomic_or(volatile __global int *p, int val);
13587 unsigned int __ovld atomic_or(volatile __global unsigned int *p, unsigned int val);
13588 int __ovld atomic_or(volatile __local int *p, int val);
13589 unsigned int __ovld atomic_or(volatile __local unsigned int *p, unsigned int val);
13590
13591 #if defined(cl_khr_global_int32_extended_atomics)
13592 int __ovld atom_or(volatile __global int *p, int val);
13593 unsigned int __ovld atom_or(volatile __global unsigned int *p, unsigned int val);
13594 #endif
13595 #if defined(cl_khr_local_int32_extended_atomics)
13596 int __ovld atom_or(volatile __local int *p, int val);
13597 unsigned int __ovld atom_or(volatile __local unsigned int *p, unsigned int val);
13598 #endif
13599
13600 #if defined(cl_khr_int64_extended_atomics)
13601 long __ovld atom_or(volatile __global long *p, long val);
13602 unsigned long __ovld atom_or(volatile __global unsigned long *p, unsigned long val);
13603 long __ovld atom_or(volatile __local long *p, long val);
13604 unsigned long __ovld atom_or(volatile __local unsigned long *p, unsigned long val);
13605 #endif
13606
13607 /**
13608  * Read the 32-bit value (referred to as old)
13609  * stored at location pointed by p. Compute
13610  * (old ^ val) and store result at location
13611  * pointed by p. The function returns old.
13612  */
13613 int __ovld atomic_xor(volatile __global int *p, int val);
13614 unsigned int __ovld atomic_xor(volatile __global unsigned int *p, unsigned int val);
13615 int __ovld atomic_xor(volatile __local int *p, int val);
13616 unsigned int __ovld atomic_xor(volatile __local unsigned int *p, unsigned int val);
13617
13618 #if defined(cl_khr_global_int32_extended_atomics)
13619 int __ovld atom_xor(volatile __global int *p, int val);
13620 unsigned int __ovld atom_xor(volatile __global unsigned int *p, unsigned int val);
13621 #endif
13622 #if defined(cl_khr_local_int32_extended_atomics)
13623 int __ovld atom_xor(volatile __local int *p, int val);
13624 unsigned int __ovld atom_xor(volatile __local unsigned int *p, unsigned int val);
13625 #endif
13626
13627 #if defined(cl_khr_int64_extended_atomics)
13628 long __ovld atom_xor(volatile __global long *p, long val);
13629 unsigned long __ovld atom_xor(volatile __global unsigned long *p, unsigned long val);
13630 long __ovld atom_xor(volatile __local long *p, long val);
13631 unsigned long __ovld atom_xor(volatile __local unsigned long *p, unsigned long val);
13632 #endif
13633
13634 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13635 #pragma OPENCL EXTENSION cl_khr_int64_base_atomics : disable
13636 #pragma OPENCL EXTENSION cl_khr_int64_extended_atomics : disable
13637 #endif
13638
13639 // OpenCL v2.0 s6.13.11 - Atomics Functions
13640
13641 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
13642 #ifndef ATOMIC_VAR_INIT
13643 #define ATOMIC_VAR_INIT(x) (x)
13644 #endif //ATOMIC_VAR_INIT
13645 #define ATOMIC_FLAG_INIT 0
13646
13647 // enum values aligned with what clang uses in EmitAtomicExpr()
13648 typedef enum memory_order
13649 {
13650   memory_order_relaxed = __ATOMIC_RELAXED,
13651   memory_order_acquire = __ATOMIC_ACQUIRE,
13652   memory_order_release = __ATOMIC_RELEASE,
13653   memory_order_acq_rel = __ATOMIC_ACQ_REL,
13654   memory_order_seq_cst = __ATOMIC_SEQ_CST
13655 } memory_order;
13656
13657 // double atomics support requires extensions cl_khr_int64_base_atomics and cl_khr_int64_extended_atomics
13658 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13659 #pragma OPENCL EXTENSION cl_khr_int64_base_atomics : enable
13660 #pragma OPENCL EXTENSION cl_khr_int64_extended_atomics : enable
13661 #endif
13662
13663 // atomic_init()
13664 void __ovld atomic_init(volatile atomic_int *object, int value);
13665 void __ovld atomic_init(volatile atomic_uint *object, uint value);
13666 void __ovld atomic_init(volatile atomic_float *object, float value);
13667 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13668 void __ovld atomic_init(volatile atomic_long *object, long value);
13669 void __ovld atomic_init(volatile atomic_ulong *object, ulong value);
13670 #ifdef cl_khr_fp64
13671 void __ovld atomic_init(volatile atomic_double *object, double value);
13672 #endif //cl_khr_fp64
13673 #endif
13674
13675 // atomic_work_item_fence()
13676 void __ovld atomic_work_item_fence(cl_mem_fence_flags flags, memory_order order, memory_scope scope);
13677
13678 // atomic_fetch()
13679
13680 int __ovld atomic_fetch_add(volatile atomic_int *object, int operand);
13681 int __ovld atomic_fetch_add_explicit(volatile atomic_int *object, int operand, memory_order order);
13682 int __ovld atomic_fetch_add_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
13683 uint __ovld atomic_fetch_add(volatile atomic_uint *object, uint operand);
13684 uint __ovld atomic_fetch_add_explicit(volatile atomic_uint *object, uint operand, memory_order order);
13685 uint __ovld atomic_fetch_add_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
13686 int __ovld atomic_fetch_sub(volatile atomic_int *object, int operand);
13687 int __ovld atomic_fetch_sub_explicit(volatile atomic_int *object, int operand, memory_order order);
13688 int __ovld atomic_fetch_sub_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
13689 uint __ovld atomic_fetch_sub(volatile atomic_uint *object, uint operand);
13690 uint __ovld atomic_fetch_sub_explicit(volatile atomic_uint *object, uint operand, memory_order order);
13691 uint __ovld atomic_fetch_sub_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
13692 int __ovld atomic_fetch_or(volatile atomic_int *object, int operand);
13693 int __ovld atomic_fetch_or_explicit(volatile atomic_int *object, int operand, memory_order order);
13694 int __ovld atomic_fetch_or_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
13695 uint __ovld atomic_fetch_or(volatile atomic_uint *object, uint operand);
13696 uint __ovld atomic_fetch_or_explicit(volatile atomic_uint *object, uint operand, memory_order order);
13697 uint __ovld atomic_fetch_or_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
13698 int __ovld atomic_fetch_xor(volatile atomic_int *object, int operand);
13699 int __ovld atomic_fetch_xor_explicit(volatile atomic_int *object, int operand, memory_order order);
13700 int __ovld atomic_fetch_xor_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
13701 uint __ovld atomic_fetch_xor(volatile atomic_uint *object, uint operand);
13702 uint __ovld atomic_fetch_xor_explicit(volatile atomic_uint *object, uint operand, memory_order order);
13703 uint __ovld atomic_fetch_xor_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
13704 int __ovld atomic_fetch_and(volatile atomic_int *object, int operand);
13705 int __ovld atomic_fetch_and_explicit(volatile atomic_int *object, int operand, memory_order order);
13706 int __ovld atomic_fetch_and_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
13707 uint __ovld atomic_fetch_and(volatile atomic_uint *object, uint operand);
13708 uint __ovld atomic_fetch_and_explicit(volatile atomic_uint *object, uint operand, memory_order order);
13709 uint __ovld atomic_fetch_and_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
13710 int __ovld atomic_fetch_min(volatile atomic_int *object, int operand);
13711 int __ovld atomic_fetch_min_explicit(volatile atomic_int *object, int operand, memory_order order);
13712 int __ovld atomic_fetch_min_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
13713 uint __ovld atomic_fetch_min(volatile atomic_uint *object, uint operand);
13714 uint __ovld atomic_fetch_min_explicit(volatile atomic_uint *object, uint operand, memory_order order);
13715 uint __ovld atomic_fetch_min_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
13716 uint __ovld atomic_fetch_min(volatile atomic_uint *object, int operand);
13717 uint __ovld atomic_fetch_min_explicit(volatile atomic_uint *object, int operand, memory_order order);
13718 uint __ovld atomic_fetch_min_explicit(volatile atomic_uint *object, int operand, memory_order order, memory_scope scope);
13719 int __ovld atomic_fetch_max(volatile atomic_int *object, int operand);
13720 int __ovld atomic_fetch_max_explicit(volatile atomic_int *object, int operand, memory_order order);
13721 int __ovld atomic_fetch_max_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
13722 uint __ovld atomic_fetch_max(volatile atomic_uint *object, uint operand);
13723 uint __ovld atomic_fetch_max_explicit(volatile atomic_uint *object, uint operand, memory_order order);
13724 uint __ovld atomic_fetch_max_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
13725 uint __ovld atomic_fetch_max(volatile atomic_uint *object, int operand);
13726 uint __ovld atomic_fetch_max_explicit(volatile atomic_uint *object, int operand, memory_order order);
13727 uint __ovld atomic_fetch_max_explicit(volatile atomic_uint *object, int operand, memory_order order, memory_scope scope);
13728
13729 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13730 long __ovld atomic_fetch_add(volatile atomic_long *object, long operand);
13731 long __ovld atomic_fetch_add_explicit(volatile atomic_long *object, long operand, memory_order order);
13732 long __ovld atomic_fetch_add_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
13733 ulong __ovld atomic_fetch_add(volatile atomic_ulong *object, ulong operand);
13734 ulong __ovld atomic_fetch_add_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
13735 ulong __ovld atomic_fetch_add_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
13736 long __ovld atomic_fetch_sub(volatile atomic_long *object, long operand);
13737 long __ovld atomic_fetch_sub_explicit(volatile atomic_long *object, long operand, memory_order order);
13738 long __ovld atomic_fetch_sub_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
13739 ulong __ovld atomic_fetch_sub(volatile atomic_ulong *object, ulong operand);
13740 ulong __ovld atomic_fetch_sub_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
13741 ulong __ovld atomic_fetch_sub_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
13742 long __ovld atomic_fetch_or(volatile atomic_long *object, long operand);
13743 long __ovld atomic_fetch_or_explicit(volatile atomic_long *object, long operand, memory_order order);
13744 long __ovld atomic_fetch_or_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
13745 ulong __ovld atomic_fetch_or(volatile atomic_ulong *object, ulong operand);
13746 ulong __ovld atomic_fetch_or_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
13747 ulong __ovld atomic_fetch_or_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
13748 long __ovld atomic_fetch_xor(volatile atomic_long *object, long operand);
13749 long __ovld atomic_fetch_xor_explicit(volatile atomic_long *object, long operand, memory_order order);
13750 long __ovld atomic_fetch_xor_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
13751 ulong __ovld atomic_fetch_xor(volatile atomic_ulong *object, ulong operand);
13752 ulong __ovld atomic_fetch_xor_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
13753 ulong __ovld atomic_fetch_xor_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
13754 long __ovld atomic_fetch_and(volatile atomic_long *object, long operand);
13755 long __ovld atomic_fetch_and_explicit(volatile atomic_long *object, long operand, memory_order order);
13756 long __ovld atomic_fetch_and_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
13757 ulong __ovld atomic_fetch_and(volatile atomic_ulong *object, ulong operand);
13758 ulong __ovld atomic_fetch_and_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
13759 ulong __ovld atomic_fetch_and_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
13760 long __ovld atomic_fetch_min(volatile atomic_long *object, long operand);
13761 long __ovld atomic_fetch_min_explicit(volatile atomic_long *object, long operand, memory_order order);
13762 long __ovld atomic_fetch_min_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
13763 ulong __ovld atomic_fetch_min(volatile atomic_ulong *object, ulong operand);
13764 ulong __ovld atomic_fetch_min_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
13765 ulong __ovld atomic_fetch_min_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
13766 ulong __ovld atomic_fetch_min(volatile atomic_ulong *object, long operand);
13767 ulong __ovld atomic_fetch_min_explicit(volatile atomic_ulong *object, long operand, memory_order order);
13768 ulong __ovld atomic_fetch_min_explicit(volatile atomic_ulong *object, long operand, memory_order order, memory_scope scope);
13769 long __ovld atomic_fetch_max(volatile atomic_long *object, long operand);
13770 long __ovld atomic_fetch_max_explicit(volatile atomic_long *object, long operand, memory_order order);
13771 long __ovld atomic_fetch_max_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
13772 ulong __ovld atomic_fetch_max(volatile atomic_ulong *object, ulong operand);
13773 ulong __ovld atomic_fetch_max_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
13774 ulong __ovld atomic_fetch_max_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
13775 ulong __ovld atomic_fetch_max(volatile atomic_ulong *object, long operand);
13776 ulong __ovld atomic_fetch_max_explicit(volatile atomic_ulong *object, long operand, memory_order order);
13777 ulong __ovld atomic_fetch_max_explicit(volatile atomic_ulong *object, long operand, memory_order order, memory_scope scope);
13778 #endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13779
13780 // OpenCL v2.0 s6.13.11.7.5:
13781 // add/sub: atomic type argument can be uintptr_t/intptr_t, value type argument can be ptrdiff_t.
13782 // or/xor/and/min/max: atomic type argument can be intptr_t/uintptr_t, value type argument can be intptr_t/uintptr_t.
13783
13784 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13785 uintptr_t __ovld atomic_fetch_add(volatile atomic_uintptr_t *object, ptrdiff_t operand);
13786 uintptr_t __ovld atomic_fetch_add_explicit(volatile atomic_uintptr_t *object, ptrdiff_t operand, memory_order order);
13787 uintptr_t __ovld atomic_fetch_add_explicit(volatile atomic_uintptr_t *object, ptrdiff_t operand, memory_order order, memory_scope scope);
13788 uintptr_t __ovld atomic_fetch_sub(volatile atomic_uintptr_t *object, ptrdiff_t operand);
13789 uintptr_t __ovld atomic_fetch_sub_explicit(volatile atomic_uintptr_t *object, ptrdiff_t operand, memory_order order);
13790 uintptr_t __ovld atomic_fetch_sub_explicit(volatile atomic_uintptr_t *object, ptrdiff_t operand, memory_order order, memory_scope scope);
13791
13792 uintptr_t __ovld atomic_fetch_or(volatile atomic_uintptr_t *object, intptr_t operand);
13793 uintptr_t __ovld atomic_fetch_or_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order);
13794 uintptr_t __ovld atomic_fetch_or_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order, memory_scope scope);
13795 uintptr_t __ovld atomic_fetch_xor(volatile atomic_uintptr_t *object, intptr_t operand);
13796 uintptr_t __ovld atomic_fetch_xor_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order);
13797 uintptr_t __ovld atomic_fetch_xor_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order, memory_scope scope);
13798 uintptr_t __ovld atomic_fetch_and(volatile atomic_uintptr_t *object, intptr_t operand);
13799 uintptr_t __ovld atomic_fetch_and_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order);
13800 uintptr_t __ovld atomic_fetch_and_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order, memory_scope scope);
13801 uintptr_t __ovld atomic_fetch_min(volatile atomic_uintptr_t *object, intptr_t opermax);
13802 uintptr_t __ovld atomic_fetch_min_explicit(volatile atomic_uintptr_t *object, intptr_t opermax, memory_order minder);
13803 uintptr_t __ovld atomic_fetch_min_explicit(volatile atomic_uintptr_t *object, intptr_t opermax, memory_order minder, memory_scope scope);
13804 uintptr_t __ovld atomic_fetch_max(volatile atomic_uintptr_t *object, intptr_t opermax);
13805 uintptr_t __ovld atomic_fetch_max_explicit(volatile atomic_uintptr_t *object, intptr_t opermax, memory_order minder);
13806 uintptr_t __ovld atomic_fetch_max_explicit(volatile atomic_uintptr_t *object, intptr_t opermax, memory_order minder, memory_scope scope);
13807
13808 intptr_t __ovld atomic_fetch_or(volatile atomic_intptr_t *object, uintptr_t operand);
13809 intptr_t __ovld atomic_fetch_or_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order);
13810 intptr_t __ovld atomic_fetch_or_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order, memory_scope scope);
13811 intptr_t __ovld atomic_fetch_xor(volatile atomic_intptr_t *object, uintptr_t operand);
13812 intptr_t __ovld atomic_fetch_xor_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order);
13813 intptr_t __ovld atomic_fetch_xor_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order, memory_scope scope);
13814 intptr_t __ovld atomic_fetch_and(volatile atomic_intptr_t *object, uintptr_t operand);
13815 intptr_t __ovld atomic_fetch_and_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order);
13816 intptr_t __ovld atomic_fetch_and_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order, memory_scope scope);
13817 intptr_t __ovld atomic_fetch_min(volatile atomic_intptr_t *object, uintptr_t opermax);
13818 intptr_t __ovld atomic_fetch_min_explicit(volatile atomic_intptr_t *object, uintptr_t opermax, memory_order minder);
13819 intptr_t __ovld atomic_fetch_min_explicit(volatile atomic_intptr_t *object, uintptr_t opermax, memory_order minder, memory_scope scope);
13820 intptr_t __ovld atomic_fetch_max(volatile atomic_intptr_t *object, uintptr_t opermax);
13821 intptr_t __ovld atomic_fetch_max_explicit(volatile atomic_intptr_t *object, uintptr_t opermax, memory_order minder);
13822 intptr_t __ovld atomic_fetch_max_explicit(volatile atomic_intptr_t *object, uintptr_t opermax, memory_order minder, memory_scope scope);
13823 #endif
13824
13825 // atomic_store()
13826
13827 void __ovld atomic_store(volatile atomic_int *object, int desired);
13828 void __ovld atomic_store_explicit(volatile atomic_int *object, int desired, memory_order order);
13829 void __ovld atomic_store_explicit(volatile atomic_int *object, int desired, memory_order order, memory_scope scope);
13830 void __ovld atomic_store(volatile atomic_uint *object, uint desired);
13831 void __ovld atomic_store_explicit(volatile atomic_uint *object, uint desired, memory_order order);
13832 void __ovld atomic_store_explicit(volatile atomic_uint *object, uint desired, memory_order order, memory_scope scope);
13833 void __ovld atomic_store(volatile atomic_float *object, float desired);
13834 void __ovld atomic_store_explicit(volatile atomic_float *object, float desired, memory_order order);
13835 void __ovld atomic_store_explicit(volatile atomic_float *object, float desired, memory_order order, memory_scope scope);
13836 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13837 #ifdef cl_khr_fp64
13838 void __ovld atomic_store(volatile atomic_double *object, double desired);
13839 void __ovld atomic_store_explicit(volatile atomic_double *object, double desired, memory_order order);
13840 void __ovld atomic_store_explicit(volatile atomic_double *object, double desired, memory_order order, memory_scope scope);
13841 #endif //cl_khr_fp64
13842 void __ovld atomic_store(volatile atomic_long *object, long desired);
13843 void __ovld atomic_store_explicit(volatile atomic_long *object, long desired, memory_order order);
13844 void __ovld atomic_store_explicit(volatile atomic_long *object, long desired, memory_order order, memory_scope scope);
13845 void __ovld atomic_store(volatile atomic_ulong *object, ulong desired);
13846 void __ovld atomic_store_explicit(volatile atomic_ulong *object, ulong desired, memory_order order);
13847 void __ovld atomic_store_explicit(volatile atomic_ulong *object, ulong desired, memory_order order, memory_scope scope);
13848 #endif
13849
13850 // atomic_load()
13851
13852 int __ovld atomic_load(volatile atomic_int *object);
13853 int __ovld atomic_load_explicit(volatile atomic_int *object, memory_order order);
13854 int __ovld atomic_load_explicit(volatile atomic_int *object, memory_order order, memory_scope scope);
13855 uint __ovld atomic_load(volatile atomic_uint *object);
13856 uint __ovld atomic_load_explicit(volatile atomic_uint *object, memory_order order);
13857 uint __ovld atomic_load_explicit(volatile atomic_uint *object, memory_order order, memory_scope scope);
13858 float __ovld atomic_load(volatile atomic_float *object);
13859 float __ovld atomic_load_explicit(volatile atomic_float *object, memory_order order);
13860 float __ovld atomic_load_explicit(volatile atomic_float *object, memory_order order, memory_scope scope);
13861 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13862 #ifdef cl_khr_fp64
13863 double __ovld atomic_load(volatile atomic_double *object);
13864 double __ovld atomic_load_explicit(volatile atomic_double *object, memory_order order);
13865 double __ovld atomic_load_explicit(volatile atomic_double *object, memory_order order, memory_scope scope);
13866 #endif //cl_khr_fp64
13867 long __ovld atomic_load(volatile atomic_long *object);
13868 long __ovld atomic_load_explicit(volatile atomic_long *object, memory_order order);
13869 long __ovld atomic_load_explicit(volatile atomic_long *object, memory_order order, memory_scope scope);
13870 ulong __ovld atomic_load(volatile atomic_ulong *object);
13871 ulong __ovld atomic_load_explicit(volatile atomic_ulong *object, memory_order order);
13872 ulong __ovld atomic_load_explicit(volatile atomic_ulong *object, memory_order order, memory_scope scope);
13873 #endif
13874
13875 // atomic_exchange()
13876
13877 int __ovld atomic_exchange(volatile atomic_int *object, int desired);
13878 int __ovld atomic_exchange_explicit(volatile atomic_int *object, int desired, memory_order order);
13879 int __ovld atomic_exchange_explicit(volatile atomic_int *object, int desired, memory_order order, memory_scope scope);
13880 uint __ovld atomic_exchange(volatile atomic_uint *object, uint desired);
13881 uint __ovld atomic_exchange_explicit(volatile atomic_uint *object, uint desired, memory_order order);
13882 uint __ovld atomic_exchange_explicit(volatile atomic_uint *object, uint desired, memory_order order, memory_scope scope);
13883 float __ovld atomic_exchange(volatile atomic_float *object, float desired);
13884 float __ovld atomic_exchange_explicit(volatile atomic_float *object, float desired, memory_order order);
13885 float __ovld atomic_exchange_explicit(volatile atomic_float *object, float desired, memory_order order, memory_scope scope);
13886 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13887 #ifdef cl_khr_fp64
13888 double __ovld atomic_exchange(volatile atomic_double *object, double desired);
13889 double __ovld atomic_exchange_explicit(volatile atomic_double *object, double desired, memory_order order);
13890 double __ovld atomic_exchange_explicit(volatile atomic_double *object, double desired, memory_order order, memory_scope scope);
13891 #endif //cl_khr_fp64
13892 long __ovld atomic_exchange(volatile atomic_long *object, long desired);
13893 long __ovld atomic_exchange_explicit(volatile atomic_long *object, long desired, memory_order order);
13894 long __ovld atomic_exchange_explicit(volatile atomic_long *object, long desired, memory_order order, memory_scope scope);
13895 ulong __ovld atomic_exchange(volatile atomic_ulong *object, ulong desired);
13896 ulong __ovld atomic_exchange_explicit(volatile atomic_ulong *object, ulong desired, memory_order order);
13897 ulong __ovld atomic_exchange_explicit(volatile atomic_ulong *object, ulong desired, memory_order order, memory_scope scope);
13898 #endif
13899
13900 // atomic_compare_exchange_strong() and atomic_compare_exchange_weak()
13901
13902 bool __ovld atomic_compare_exchange_strong(volatile atomic_int *object, int *expected, int desired);
13903 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_int *object, int *expected,
13904                                                                                  int desired, memory_order success, memory_order failure);
13905 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_int *object, int *expected,
13906                                                                                  int desired, memory_order success, memory_order failure, memory_scope scope);
13907 bool __ovld atomic_compare_exchange_strong(volatile atomic_uint *object, uint *expected, uint desired);
13908 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_uint *object, uint *expected,
13909                                                                                  uint desired, memory_order success, memory_order failure);
13910 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_uint *object, uint *expected,
13911                                                                                  uint desired, memory_order success, memory_order failure, memory_scope scope);
13912 bool __ovld atomic_compare_exchange_weak(volatile atomic_int *object, int *expected, int desired);
13913 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_int *object, int *expected,
13914                                                                                  int desired, memory_order success, memory_order failure);
13915 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_int *object, int *expected,
13916                                                                                  int desired, memory_order success, memory_order failure, memory_scope scope);
13917 bool __ovld atomic_compare_exchange_weak(volatile atomic_uint *object, uint *expected, uint desired);
13918 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_uint *object, uint *expected,
13919                                                                                  uint desired, memory_order success, memory_order failure);
13920 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_uint *object, uint *expected,
13921                                                                                  uint desired, memory_order success, memory_order failure, memory_scope scope);
13922 bool __ovld atomic_compare_exchange_strong(volatile atomic_float *object, float *expected, float desired);
13923 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_float *object, float *expected,
13924                                                                                  float desired, memory_order success, memory_order failure);
13925 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_float *object, float *expected,
13926                                                                                  float desired, memory_order success, memory_order failure, memory_scope scope);
13927 bool __ovld atomic_compare_exchange_weak(volatile atomic_float *object, float *expected, float desired);
13928 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_float *object, float *expected,
13929                                                                                  float desired, memory_order success, memory_order failure);
13930 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_float *object, float *expected,
13931                                                                                  float desired, memory_order success, memory_order failure, memory_scope scope);
13932 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
13933 #ifdef cl_khr_fp64
13934 bool __ovld atomic_compare_exchange_strong(volatile atomic_double *object, double *expected, double desired);
13935 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_double *object, double *expected,
13936                                                                                  double desired, memory_order success, memory_order failure);
13937 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_double *object, double *expected,
13938                                                                                  double desired, memory_order success, memory_order failure, memory_scope scope);
13939 bool __ovld atomic_compare_exchange_weak(volatile atomic_double *object, double *expected, double desired);
13940 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_double *object, double *expected,
13941                                                                                  double desired, memory_order success, memory_order failure);
13942 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_double *object, double *expected,
13943                                                                                  double desired, memory_order success, memory_order failure, memory_scope scope);
13944 #endif //cl_khr_fp64
13945 bool __ovld atomic_compare_exchange_strong(volatile atomic_long *object, long *expected, long desired);
13946 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_long *object, long *expected,
13947                                                                                  long desired, memory_order success, memory_order failure);
13948 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_long *object, long *expected,
13949                                                                                  long desired, memory_order success, memory_order failure, memory_scope scope);
13950 bool __ovld atomic_compare_exchange_weak(volatile atomic_long *object, long *expected, long desired);
13951 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_long *object, long *expected,
13952                                                                                  long desired, memory_order success, memory_order failure);
13953 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_long *object, long *expected,
13954                                                                                  long desired, memory_order success, memory_order failure, memory_scope scope);
13955 bool __ovld atomic_compare_exchange_strong(volatile atomic_ulong *object, ulong *expected, ulong desired);
13956 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_ulong *object, ulong *expected,
13957                                                                                  ulong desired, memory_order success, memory_order failure);
13958 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_ulong *object, ulong *expected,
13959                                                                                  ulong desired, memory_order success, memory_order failure, memory_scope scope);
13960 bool __ovld atomic_compare_exchange_weak(volatile atomic_ulong *object, ulong *expected, ulong desired);
13961 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_ulong *object, ulong *expected,
13962                                                                                  ulong desired, memory_order success, memory_order failure);
13963 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_ulong *object, ulong *expected,
13964                                                                                  ulong desired, memory_order success, memory_order failure, memory_scope scope);
13965 #endif
13966
13967 // atomic_flag_test_and_set() and atomic_flag_clear()
13968
13969 bool __ovld atomic_flag_test_and_set(volatile atomic_flag *object);
13970 bool __ovld atomic_flag_test_and_set_explicit(volatile atomic_flag *object, memory_order order);
13971 bool __ovld atomic_flag_test_and_set_explicit(volatile atomic_flag *object, memory_order order, memory_scope scope);
13972 void __ovld atomic_flag_clear(volatile atomic_flag *object);
13973 void __ovld atomic_flag_clear_explicit(volatile atomic_flag *object, memory_order order);
13974 void __ovld atomic_flag_clear_explicit(volatile atomic_flag *object, memory_order order, memory_scope scope);
13975
13976 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
13977
13978 // OpenCL v1.1 s6.11.12, v1.2 s6.12.12, v2.0 s6.13.12 - Miscellaneous Vector Functions
13979
13980 /**
13981  * The shuffle and shuffle2 built-in functions construct
13982  * a permutation of elements from one or two input
13983  * vectors respectively that are of the same type,
13984  * returning a vector with the same element type as the
13985  * input and length that is the same as the shuffle mask.
13986  * The size of each element in the mask must match the
13987  * size of each element in the result. For shuffle, only
13988  * the ilogb(2m-1) least significant bits of each mask
13989  * element are considered. For shuffle2, only the
13990  * ilogb(2m-1)+1 least significant bits of each mask
13991  * element are considered. Other bits in the mask shall
13992  * be ignored.
13993  * The elements of the input vectors are numbered from
13994  * left to right across one or both of the vectors. For this
13995  * purpose, the number of elements in a vector is given
13996  * by vec_step(gentypem). The shuffle mask operand
13997  * specifies, for each element of the result vector, which
13998  * element of the one or two input vectors the result
13999  * element gets.
14000  * Examples:
14001  * uint4 mask = (uint4)(3, 2,
14002  * 1, 0);
14003  * float4 a;
14004  * float4 r = shuffle(a, mask);
14005  * // r.s0123 = a.wzyx
14006  * uint8 mask = (uint8)(0, 1, 2, 3,
14007  * 4, 5, 6, 7);
14008  * float4 a, b;
14009  * float8 r = shuffle2(a, b, mask);
14010  * // r.s0123 = a.xyzw
14011  * // r.s4567 = b.xyzw
14012  * uint4 mask;
14013  * float8 a;
14014  * float4 b;
14015  * b = shuffle(a, mask);
14016  * Examples that are not valid are:
14017  * uint8 mask;
14018  * short16 a;
14019  * short8 b;
14020  * b = shuffle(a, mask); <- not valid
14021  */
14022 char2 __ovld __cnfn shuffle(char2 x, uchar2 mask);
14023 char2 __ovld __cnfn shuffle(char4 x, uchar2 mask);
14024 char2 __ovld __cnfn shuffle(char8 x, uchar2 mask);
14025 char2 __ovld __cnfn shuffle(char16 x, uchar2 mask);
14026
14027 uchar2 __ovld __cnfn shuffle(uchar2 x, uchar2 mask);
14028 uchar2 __ovld __cnfn shuffle(uchar4 x, uchar2 mask);
14029 uchar2 __ovld __cnfn shuffle(uchar8 x, uchar2 mask);
14030 uchar2 __ovld __cnfn shuffle(uchar16 x, uchar2 mask);
14031
14032 short2 __ovld __cnfn shuffle(short2 x, ushort2 mask);
14033 short2 __ovld __cnfn shuffle(short4 x, ushort2 mask);
14034 short2 __ovld __cnfn shuffle(short8 x, ushort2 mask);
14035 short2 __ovld __cnfn shuffle(short16 x, ushort2 mask);
14036
14037 ushort2 __ovld __cnfn shuffle(ushort2 x, ushort2 mask);
14038 ushort2 __ovld __cnfn shuffle(ushort4 x, ushort2 mask);
14039 ushort2 __ovld __cnfn shuffle(ushort8 x, ushort2 mask);
14040 ushort2 __ovld __cnfn shuffle(ushort16 x, ushort2 mask);
14041
14042 int2 __ovld __cnfn shuffle(int2 x, uint2 mask);
14043 int2 __ovld __cnfn shuffle(int4 x, uint2 mask);
14044 int2 __ovld __cnfn shuffle(int8 x, uint2 mask);
14045 int2 __ovld __cnfn shuffle(int16 x, uint2 mask);
14046
14047 uint2 __ovld __cnfn shuffle(uint2 x, uint2 mask);
14048 uint2 __ovld __cnfn shuffle(uint4 x, uint2 mask);
14049 uint2 __ovld __cnfn shuffle(uint8 x, uint2 mask);
14050 uint2 __ovld __cnfn shuffle(uint16 x, uint2 mask);
14051
14052 long2 __ovld __cnfn shuffle(long2 x, ulong2 mask);
14053 long2 __ovld __cnfn shuffle(long4 x, ulong2 mask);
14054 long2 __ovld __cnfn shuffle(long8 x, ulong2 mask);
14055 long2 __ovld __cnfn shuffle(long16 x, ulong2 mask);
14056
14057 ulong2 __ovld __cnfn shuffle(ulong2 x, ulong2 mask);
14058 ulong2 __ovld __cnfn shuffle(ulong4 x, ulong2 mask);
14059 ulong2 __ovld __cnfn shuffle(ulong8 x, ulong2 mask);
14060 ulong2 __ovld __cnfn shuffle(ulong16 x, ulong2 mask);
14061
14062 float2 __ovld __cnfn shuffle(float2 x, uint2 mask);
14063 float2 __ovld __cnfn shuffle(float4 x, uint2 mask);
14064 float2 __ovld __cnfn shuffle(float8 x, uint2 mask);
14065 float2 __ovld __cnfn shuffle(float16 x, uint2 mask);
14066
14067 char4 __ovld __cnfn shuffle(char2 x, uchar4 mask);
14068 char4 __ovld __cnfn shuffle(char4 x, uchar4 mask);
14069 char4 __ovld __cnfn shuffle(char8 x, uchar4 mask);
14070 char4 __ovld __cnfn shuffle(char16 x, uchar4 mask);
14071
14072 uchar4 __ovld __cnfn shuffle(uchar2 x, uchar4 mask);
14073 uchar4 __ovld __cnfn shuffle(uchar4 x, uchar4 mask);
14074 uchar4 __ovld __cnfn shuffle(uchar8 x, uchar4 mask);
14075 uchar4 __ovld __cnfn shuffle(uchar16 x, uchar4 mask);
14076
14077 short4 __ovld __cnfn shuffle(short2 x, ushort4 mask);
14078 short4 __ovld __cnfn shuffle(short4 x, ushort4 mask);
14079 short4 __ovld __cnfn shuffle(short8 x, ushort4 mask);
14080 short4 __ovld __cnfn shuffle(short16 x, ushort4 mask);
14081
14082 ushort4 __ovld __cnfn shuffle(ushort2 x, ushort4 mask);
14083 ushort4 __ovld __cnfn shuffle(ushort4 x, ushort4 mask);
14084 ushort4 __ovld __cnfn shuffle(ushort8 x, ushort4 mask);
14085 ushort4 __ovld __cnfn shuffle(ushort16 x, ushort4 mask);
14086
14087 int4 __ovld __cnfn shuffle(int2 x, uint4 mask);
14088 int4 __ovld __cnfn shuffle(int4 x, uint4 mask);
14089 int4 __ovld __cnfn shuffle(int8 x, uint4 mask);
14090 int4 __ovld __cnfn shuffle(int16 x, uint4 mask);
14091
14092 uint4 __ovld __cnfn shuffle(uint2 x, uint4 mask);
14093 uint4 __ovld __cnfn shuffle(uint4 x, uint4 mask);
14094 uint4 __ovld __cnfn shuffle(uint8 x, uint4 mask);
14095 uint4 __ovld __cnfn shuffle(uint16 x, uint4 mask);
14096
14097 long4 __ovld __cnfn shuffle(long2 x, ulong4 mask);
14098 long4 __ovld __cnfn shuffle(long4 x, ulong4 mask);
14099 long4 __ovld __cnfn shuffle(long8 x, ulong4 mask);
14100 long4 __ovld __cnfn shuffle(long16 x, ulong4 mask);
14101
14102 ulong4 __ovld __cnfn shuffle(ulong2 x, ulong4 mask);
14103 ulong4 __ovld __cnfn shuffle(ulong4 x, ulong4 mask);
14104 ulong4 __ovld __cnfn shuffle(ulong8 x, ulong4 mask);
14105 ulong4 __ovld __cnfn shuffle(ulong16 x, ulong4 mask);
14106
14107 float4 __ovld __cnfn shuffle(float2 x, uint4 mask);
14108 float4 __ovld __cnfn shuffle(float4 x, uint4 mask);
14109 float4 __ovld __cnfn shuffle(float8 x, uint4 mask);
14110 float4 __ovld __cnfn shuffle(float16 x, uint4 mask);
14111
14112 char8 __ovld __cnfn shuffle(char2 x, uchar8 mask);
14113 char8 __ovld __cnfn shuffle(char4 x, uchar8 mask);
14114 char8 __ovld __cnfn shuffle(char8 x, uchar8 mask);
14115 char8 __ovld __cnfn shuffle(char16 x, uchar8 mask);
14116
14117 uchar8 __ovld __cnfn shuffle(uchar2 x, uchar8 mask);
14118 uchar8 __ovld __cnfn shuffle(uchar4 x, uchar8 mask);
14119 uchar8 __ovld __cnfn shuffle(uchar8 x, uchar8 mask);
14120 uchar8 __ovld __cnfn shuffle(uchar16 x, uchar8 mask);
14121
14122 short8 __ovld __cnfn shuffle(short2 x, ushort8 mask);
14123 short8 __ovld __cnfn shuffle(short4 x, ushort8 mask);
14124 short8 __ovld __cnfn shuffle(short8 x, ushort8 mask);
14125 short8 __ovld __cnfn shuffle(short16 x, ushort8 mask);
14126
14127 ushort8 __ovld __cnfn shuffle(ushort2 x, ushort8 mask);
14128 ushort8 __ovld __cnfn shuffle(ushort4 x, ushort8 mask);
14129 ushort8 __ovld __cnfn shuffle(ushort8 x, ushort8 mask);
14130 ushort8 __ovld __cnfn shuffle(ushort16 x, ushort8 mask);
14131
14132 int8 __ovld __cnfn shuffle(int2 x, uint8 mask);
14133 int8 __ovld __cnfn shuffle(int4 x, uint8 mask);
14134 int8 __ovld __cnfn shuffle(int8 x, uint8 mask);
14135 int8 __ovld __cnfn shuffle(int16 x, uint8 mask);
14136
14137 uint8 __ovld __cnfn shuffle(uint2 x, uint8 mask);
14138 uint8 __ovld __cnfn shuffle(uint4 x, uint8 mask);
14139 uint8 __ovld __cnfn shuffle(uint8 x, uint8 mask);
14140 uint8 __ovld __cnfn shuffle(uint16 x, uint8 mask);
14141
14142 long8 __ovld __cnfn shuffle(long2 x, ulong8 mask);
14143 long8 __ovld __cnfn shuffle(long4 x, ulong8 mask);
14144 long8 __ovld __cnfn shuffle(long8 x, ulong8 mask);
14145 long8 __ovld __cnfn shuffle(long16 x, ulong8 mask);
14146
14147 ulong8 __ovld __cnfn shuffle(ulong2 x, ulong8 mask);
14148 ulong8 __ovld __cnfn shuffle(ulong4 x, ulong8 mask);
14149 ulong8 __ovld __cnfn shuffle(ulong8 x, ulong8 mask);
14150 ulong8 __ovld __cnfn shuffle(ulong16 x, ulong8 mask);
14151
14152 float8 __ovld __cnfn shuffle(float2 x, uint8 mask);
14153 float8 __ovld __cnfn shuffle(float4 x, uint8 mask);
14154 float8 __ovld __cnfn shuffle(float8 x, uint8 mask);
14155 float8 __ovld __cnfn shuffle(float16 x, uint8 mask);
14156
14157 char16 __ovld __cnfn shuffle(char2 x, uchar16 mask);
14158 char16 __ovld __cnfn shuffle(char4 x, uchar16 mask);
14159 char16 __ovld __cnfn shuffle(char8 x, uchar16 mask);
14160 char16 __ovld __cnfn shuffle(char16 x, uchar16 mask);
14161
14162 uchar16 __ovld __cnfn shuffle(uchar2 x, uchar16 mask);
14163 uchar16 __ovld __cnfn shuffle(uchar4 x, uchar16 mask);
14164 uchar16 __ovld __cnfn shuffle(uchar8 x, uchar16 mask);
14165 uchar16 __ovld __cnfn shuffle(uchar16 x, uchar16 mask);
14166
14167 short16 __ovld __cnfn shuffle(short2 x, ushort16 mask);
14168 short16 __ovld __cnfn shuffle(short4 x, ushort16 mask);
14169 short16 __ovld __cnfn shuffle(short8 x, ushort16 mask);
14170 short16 __ovld __cnfn shuffle(short16 x, ushort16 mask);
14171
14172 ushort16 __ovld __cnfn shuffle(ushort2 x, ushort16 mask);
14173 ushort16 __ovld __cnfn shuffle(ushort4 x, ushort16 mask);
14174 ushort16 __ovld __cnfn shuffle(ushort8 x, ushort16 mask);
14175 ushort16 __ovld __cnfn shuffle(ushort16 x, ushort16 mask);
14176
14177 int16 __ovld __cnfn shuffle(int2 x, uint16 mask);
14178 int16 __ovld __cnfn shuffle(int4 x, uint16 mask);
14179 int16 __ovld __cnfn shuffle(int8 x, uint16 mask);
14180 int16 __ovld __cnfn shuffle(int16 x, uint16 mask);
14181
14182 uint16 __ovld __cnfn shuffle(uint2 x, uint16 mask);
14183 uint16 __ovld __cnfn shuffle(uint4 x, uint16 mask);
14184 uint16 __ovld __cnfn shuffle(uint8 x, uint16 mask);
14185 uint16 __ovld __cnfn shuffle(uint16 x, uint16 mask);
14186
14187 long16 __ovld __cnfn shuffle(long2 x, ulong16 mask);
14188 long16 __ovld __cnfn shuffle(long4 x, ulong16 mask);
14189 long16 __ovld __cnfn shuffle(long8 x, ulong16 mask);
14190 long16 __ovld __cnfn shuffle(long16 x, ulong16 mask);
14191
14192 ulong16 __ovld __cnfn shuffle(ulong2 x, ulong16 mask);
14193 ulong16 __ovld __cnfn shuffle(ulong4 x, ulong16 mask);
14194 ulong16 __ovld __cnfn shuffle(ulong8 x, ulong16 mask);
14195 ulong16 __ovld __cnfn shuffle(ulong16 x, ulong16 mask);
14196
14197 float16 __ovld __cnfn shuffle(float2 x, uint16 mask);
14198 float16 __ovld __cnfn shuffle(float4 x, uint16 mask);
14199 float16 __ovld __cnfn shuffle(float8 x, uint16 mask);
14200 float16 __ovld __cnfn shuffle(float16 x, uint16 mask);
14201
14202 #ifdef cl_khr_fp64
14203 double2 __ovld __cnfn shuffle(double2 x, ulong2 mask);
14204 double2 __ovld __cnfn shuffle(double4 x, ulong2 mask);
14205 double2 __ovld __cnfn shuffle(double8 x, ulong2 mask);
14206 double2 __ovld __cnfn shuffle(double16 x, ulong2 mask);
14207
14208 double4 __ovld __cnfn shuffle(double2 x, ulong4 mask);
14209 double4 __ovld __cnfn shuffle(double4 x, ulong4 mask);
14210 double4 __ovld __cnfn shuffle(double8 x, ulong4 mask);
14211 double4 __ovld __cnfn shuffle(double16 x, ulong4 mask);
14212
14213 double8 __ovld __cnfn shuffle(double2 x, ulong8 mask);
14214 double8 __ovld __cnfn shuffle(double4 x, ulong8 mask);
14215 double8 __ovld __cnfn shuffle(double8 x, ulong8 mask);
14216 double8 __ovld __cnfn shuffle(double16 x, ulong8 mask);
14217
14218 double16 __ovld __cnfn shuffle(double2 x, ulong16 mask);
14219 double16 __ovld __cnfn shuffle(double4 x, ulong16 mask);
14220 double16 __ovld __cnfn shuffle(double8 x, ulong16 mask);
14221 double16 __ovld __cnfn shuffle(double16 x, ulong16 mask);
14222 #endif //cl_khr_fp64
14223
14224 #ifdef cl_khr_fp16
14225 half2 __ovld __cnfn shuffle(half2 x, ushort2 mask);
14226 half2 __ovld __cnfn shuffle(half4 x, ushort2 mask);
14227 half2 __ovld __cnfn shuffle(half8 x, ushort2 mask);
14228 half2 __ovld __cnfn shuffle(half16 x, ushort2 mask);
14229
14230 half4 __ovld __cnfn shuffle(half2 x, ushort4 mask);
14231 half4 __ovld __cnfn shuffle(half4 x, ushort4 mask);
14232 half4 __ovld __cnfn shuffle(half8 x, ushort4 mask);
14233 half4 __ovld __cnfn shuffle(half16 x, ushort4 mask);
14234
14235 half8 __ovld __cnfn shuffle(half2 x, ushort8 mask);
14236 half8 __ovld __cnfn shuffle(half4 x, ushort8 mask);
14237 half8 __ovld __cnfn shuffle(half8 x, ushort8 mask);
14238 half8 __ovld __cnfn shuffle(half16 x, ushort8 mask);
14239
14240 half16 __ovld __cnfn shuffle(half2 x, ushort16 mask);
14241 half16 __ovld __cnfn shuffle(half4 x, ushort16 mask);
14242 half16 __ovld __cnfn shuffle(half8 x, ushort16 mask);
14243 half16 __ovld __cnfn shuffle(half16 x, ushort16 mask);
14244 #endif //cl_khr_fp16
14245
14246 char2 __ovld __cnfn shuffle2(char2 x, char2 y, uchar2 mask);
14247 char2 __ovld __cnfn shuffle2(char4 x, char4 y, uchar2 mask);
14248 char2 __ovld __cnfn shuffle2(char8 x, char8 y, uchar2 mask);
14249 char2 __ovld __cnfn shuffle2(char16 x, char16 y, uchar2 mask);
14250
14251 uchar2 __ovld __cnfn shuffle2(uchar2 x, uchar2 y, uchar2 mask);
14252 uchar2 __ovld __cnfn shuffle2(uchar4 x, uchar4 y, uchar2 mask);
14253 uchar2 __ovld __cnfn shuffle2(uchar8 x, uchar8 y, uchar2 mask);
14254 uchar2 __ovld __cnfn shuffle2(uchar16 x, uchar16 y, uchar2 mask);
14255
14256 short2 __ovld __cnfn shuffle2(short2 x, short2 y, ushort2 mask);
14257 short2 __ovld __cnfn shuffle2(short4 x, short4 y, ushort2 mask);
14258 short2 __ovld __cnfn shuffle2(short8 x, short8 y, ushort2 mask);
14259 short2 __ovld __cnfn shuffle2(short16 x, short16 y, ushort2 mask);
14260
14261 ushort2 __ovld __cnfn shuffle2(ushort2 x, ushort2 y, ushort2 mask);
14262 ushort2 __ovld __cnfn shuffle2(ushort4 x, ushort4 y, ushort2 mask);
14263 ushort2 __ovld __cnfn shuffle2(ushort8 x, ushort8 y, ushort2 mask);
14264 ushort2 __ovld __cnfn shuffle2(ushort16 x, ushort16 y, ushort2 mask);
14265
14266 int2 __ovld __cnfn shuffle2(int2 x, int2 y, uint2 mask);
14267 int2 __ovld __cnfn shuffle2(int4 x, int4 y, uint2 mask);
14268 int2 __ovld __cnfn shuffle2(int8 x, int8 y, uint2 mask);
14269 int2 __ovld __cnfn shuffle2(int16 x, int16 y, uint2 mask);
14270
14271 uint2 __ovld __cnfn shuffle2(uint2 x, uint2 y, uint2 mask);
14272 uint2 __ovld __cnfn shuffle2(uint4 x, uint4 y, uint2 mask);
14273 uint2 __ovld __cnfn shuffle2(uint8 x, uint8 y, uint2 mask);
14274 uint2 __ovld __cnfn shuffle2(uint16 x, uint16 y, uint2 mask);
14275
14276 long2 __ovld __cnfn shuffle2(long2 x, long2 y, ulong2 mask);
14277 long2 __ovld __cnfn shuffle2(long4 x, long4 y, ulong2 mask);
14278 long2 __ovld __cnfn shuffle2(long8 x, long8 y, ulong2 mask);
14279 long2 __ovld __cnfn shuffle2(long16 x, long16 y, ulong2 mask);
14280
14281 ulong2 __ovld __cnfn shuffle2(ulong2 x, ulong2 y, ulong2 mask);
14282 ulong2 __ovld __cnfn shuffle2(ulong4 x, ulong4 y, ulong2 mask);
14283 ulong2 __ovld __cnfn shuffle2(ulong8 x, ulong8 y, ulong2 mask);
14284 ulong2 __ovld __cnfn shuffle2(ulong16 x, ulong16 y, ulong2 mask);
14285
14286 float2 __ovld __cnfn shuffle2(float2 x, float2 y, uint2 mask);
14287 float2 __ovld __cnfn shuffle2(float4 x, float4 y, uint2 mask);
14288 float2 __ovld __cnfn shuffle2(float8 x, float8 y, uint2 mask);
14289 float2 __ovld __cnfn shuffle2(float16 x, float16 y, uint2 mask);
14290
14291 char4 __ovld __cnfn shuffle2(char2 x, char2 y, uchar4 mask);
14292 char4 __ovld __cnfn shuffle2(char4 x, char4 y, uchar4 mask);
14293 char4 __ovld __cnfn shuffle2(char8 x, char8 y, uchar4 mask);
14294 char4 __ovld __cnfn shuffle2(char16 x, char16 y, uchar4 mask);
14295
14296 uchar4 __ovld __cnfn shuffle2(uchar2 x, uchar2 y, uchar4 mask);
14297 uchar4 __ovld __cnfn shuffle2(uchar4 x, uchar4 y, uchar4 mask);
14298 uchar4 __ovld __cnfn shuffle2(uchar8 x, uchar8 y, uchar4 mask);
14299 uchar4 __ovld __cnfn shuffle2(uchar16 x, uchar16 y, uchar4 mask);
14300
14301 short4 __ovld __cnfn shuffle2(short2 x, short2 y, ushort4 mask);
14302 short4 __ovld __cnfn shuffle2(short4 x, short4 y, ushort4 mask);
14303 short4 __ovld __cnfn shuffle2(short8 x, short8 y, ushort4 mask);
14304 short4 __ovld __cnfn shuffle2(short16 x, short16 y, ushort4 mask);
14305
14306 ushort4 __ovld __cnfn shuffle2(ushort2 x, ushort2 y, ushort4 mask);
14307 ushort4 __ovld __cnfn shuffle2(ushort4 x, ushort4 y, ushort4 mask);
14308 ushort4 __ovld __cnfn shuffle2(ushort8 x, ushort8 y, ushort4 mask);
14309 ushort4 __ovld __cnfn shuffle2(ushort16 x, ushort16 y, ushort4 mask);
14310
14311 int4 __ovld __cnfn shuffle2(int2 x, int2 y, uint4 mask);
14312 int4 __ovld __cnfn shuffle2(int4 x, int4 y, uint4 mask);
14313 int4 __ovld __cnfn shuffle2(int8 x, int8 y, uint4 mask);
14314 int4 __ovld __cnfn shuffle2(int16 x, int16 y, uint4 mask);
14315
14316 uint4 __ovld __cnfn shuffle2(uint2 x, uint2 y, uint4 mask);
14317 uint4 __ovld __cnfn shuffle2(uint4 x, uint4 y, uint4 mask);
14318 uint4 __ovld __cnfn shuffle2(uint8 x, uint8 y, uint4 mask);
14319 uint4 __ovld __cnfn shuffle2(uint16 x, uint16 y, uint4 mask);
14320
14321 long4 __ovld __cnfn shuffle2(long2 x, long2 y, ulong4 mask);
14322 long4 __ovld __cnfn shuffle2(long4 x, long4 y, ulong4 mask);
14323 long4 __ovld __cnfn shuffle2(long8 x, long8 y, ulong4 mask);
14324 long4 __ovld __cnfn shuffle2(long16 x, long16 y, ulong4 mask);
14325
14326 ulong4 __ovld __cnfn shuffle2(ulong2 x, ulong2 y, ulong4 mask);
14327 ulong4 __ovld __cnfn shuffle2(ulong4 x, ulong4 y, ulong4 mask);
14328 ulong4 __ovld __cnfn shuffle2(ulong8 x, ulong8 y, ulong4 mask);
14329 ulong4 __ovld __cnfn shuffle2(ulong16 x, ulong16 y, ulong4 mask);
14330
14331 float4 __ovld __cnfn shuffle2(float2 x, float2 y, uint4 mask);
14332 float4 __ovld __cnfn shuffle2(float4 x, float4 y, uint4 mask);
14333 float4 __ovld __cnfn shuffle2(float8 x, float8 y, uint4 mask);
14334 float4 __ovld __cnfn shuffle2(float16 x, float16 y, uint4 mask);
14335
14336 char8 __ovld __cnfn shuffle2(char2 x, char2 y, uchar8 mask);
14337 char8 __ovld __cnfn shuffle2(char4 x, char4 y, uchar8 mask);
14338 char8 __ovld __cnfn shuffle2(char8 x, char8 y, uchar8 mask);
14339 char8 __ovld __cnfn shuffle2(char16 x, char16 y, uchar8 mask);
14340
14341 uchar8 __ovld __cnfn shuffle2(uchar2 x, uchar2 y, uchar8 mask);
14342 uchar8 __ovld __cnfn shuffle2(uchar4 x, uchar4 y, uchar8 mask);
14343 uchar8 __ovld __cnfn shuffle2(uchar8 x, uchar8 y, uchar8 mask);
14344 uchar8 __ovld __cnfn shuffle2(uchar16 x, uchar16 y, uchar8 mask);
14345
14346 short8 __ovld __cnfn shuffle2(short2 x, short2 y, ushort8 mask);
14347 short8 __ovld __cnfn shuffle2(short4 x, short4 y, ushort8 mask);
14348 short8 __ovld __cnfn shuffle2(short8 x, short8 y, ushort8 mask);
14349 short8 __ovld __cnfn shuffle2(short16 x, short16 y, ushort8 mask);
14350
14351 ushort8 __ovld __cnfn shuffle2(ushort2 x, ushort2 y, ushort8 mask);
14352 ushort8 __ovld __cnfn shuffle2(ushort4 x, ushort4 y, ushort8 mask);
14353 ushort8 __ovld __cnfn shuffle2(ushort8 x, ushort8 y, ushort8 mask);
14354 ushort8 __ovld __cnfn shuffle2(ushort16 x, ushort16 y, ushort8 mask);
14355
14356 int8 __ovld __cnfn shuffle2(int2 x, int2 y, uint8 mask);
14357 int8 __ovld __cnfn shuffle2(int4 x, int4 y, uint8 mask);
14358 int8 __ovld __cnfn shuffle2(int8 x, int8 y, uint8 mask);
14359 int8 __ovld __cnfn shuffle2(int16 x, int16 y, uint8 mask);
14360
14361 uint8 __ovld __cnfn shuffle2(uint2 x, uint2 y, uint8 mask);
14362 uint8 __ovld __cnfn shuffle2(uint4 x, uint4 y, uint8 mask);
14363 uint8 __ovld __cnfn shuffle2(uint8 x, uint8 y, uint8 mask);
14364 uint8 __ovld __cnfn shuffle2(uint16 x, uint16 y, uint8 mask);
14365
14366 long8 __ovld __cnfn shuffle2(long2 x, long2 y, ulong8 mask);
14367 long8 __ovld __cnfn shuffle2(long4 x, long4 y, ulong8 mask);
14368 long8 __ovld __cnfn shuffle2(long8 x, long8 y, ulong8 mask);
14369 long8 __ovld __cnfn shuffle2(long16 x, long16 y, ulong8 mask);
14370
14371 ulong8 __ovld __cnfn shuffle2(ulong2 x, ulong2 y, ulong8 mask);
14372 ulong8 __ovld __cnfn shuffle2(ulong4 x, ulong4 y, ulong8 mask);
14373 ulong8 __ovld __cnfn shuffle2(ulong8 x, ulong8 y, ulong8 mask);
14374 ulong8 __ovld __cnfn shuffle2(ulong16 x, ulong16 y, ulong8 mask);
14375
14376 float8 __ovld __cnfn shuffle2(float2 x, float2 y, uint8 mask);
14377 float8 __ovld __cnfn shuffle2(float4 x, float4 y, uint8 mask);
14378 float8 __ovld __cnfn shuffle2(float8 x, float8 y, uint8 mask);
14379 float8 __ovld __cnfn shuffle2(float16 x, float16 y, uint8 mask);
14380
14381 char16 __ovld __cnfn shuffle2(char2 x, char2 y, uchar16 mask);
14382 char16 __ovld __cnfn shuffle2(char4 x, char4 y, uchar16 mask);
14383 char16 __ovld __cnfn shuffle2(char8 x, char8 y, uchar16 mask);
14384 char16 __ovld __cnfn shuffle2(char16 x, char16 y, uchar16 mask);
14385
14386 uchar16 __ovld __cnfn shuffle2(uchar2 x, uchar2 y, uchar16 mask);
14387 uchar16 __ovld __cnfn shuffle2(uchar4 x, uchar4 y, uchar16 mask);
14388 uchar16 __ovld __cnfn shuffle2(uchar8 x, uchar8 y, uchar16 mask);
14389 uchar16 __ovld __cnfn shuffle2(uchar16 x, uchar16 y, uchar16 mask);
14390
14391 short16 __ovld __cnfn shuffle2(short2 x, short2 y, ushort16 mask);
14392 short16 __ovld __cnfn shuffle2(short4 x, short4 y, ushort16 mask);
14393 short16 __ovld __cnfn shuffle2(short8 x, short8 y, ushort16 mask);
14394 short16 __ovld __cnfn shuffle2(short16 x, short16 y, ushort16 mask);
14395
14396 ushort16 __ovld __cnfn shuffle2(ushort2 x, ushort2 y, ushort16 mask);
14397 ushort16 __ovld __cnfn shuffle2(ushort4 x, ushort4 y, ushort16 mask);
14398 ushort16 __ovld __cnfn shuffle2(ushort8 x, ushort8 y, ushort16 mask);
14399 ushort16 __ovld __cnfn shuffle2(ushort16 x, ushort16 y, ushort16 mask);
14400
14401 int16 __ovld __cnfn shuffle2(int2 x, int2 y, uint16 mask);
14402 int16 __ovld __cnfn shuffle2(int4 x, int4 y, uint16 mask);
14403 int16 __ovld __cnfn shuffle2(int8 x, int8 y, uint16 mask);
14404 int16 __ovld __cnfn shuffle2(int16 x, int16 y, uint16 mask);
14405
14406 uint16 __ovld __cnfn shuffle2(uint2 x, uint2 y, uint16 mask);
14407 uint16 __ovld __cnfn shuffle2(uint4 x, uint4 y, uint16 mask);
14408 uint16 __ovld __cnfn shuffle2(uint8 x, uint8 y, uint16 mask);
14409 uint16 __ovld __cnfn shuffle2(uint16 x, uint16 y, uint16 mask);
14410
14411 long16 __ovld __cnfn shuffle2(long2 x, long2 y, ulong16 mask);
14412 long16 __ovld __cnfn shuffle2(long4 x, long4 y, ulong16 mask);
14413 long16 __ovld __cnfn shuffle2(long8 x, long8 y, ulong16 mask);
14414 long16 __ovld __cnfn shuffle2(long16 x, long16 y, ulong16 mask);
14415
14416 ulong16 __ovld __cnfn shuffle2(ulong2 x, ulong2 y, ulong16 mask);
14417 ulong16 __ovld __cnfn shuffle2(ulong4 x, ulong4 y, ulong16 mask);
14418 ulong16 __ovld __cnfn shuffle2(ulong8 x, ulong8 y, ulong16 mask);
14419 ulong16 __ovld __cnfn shuffle2(ulong16 x, ulong16 y, ulong16 mask);
14420
14421 float16 __ovld __cnfn shuffle2(float2 x, float2 y, uint16 mask);
14422 float16 __ovld __cnfn shuffle2(float4 x, float4 y, uint16 mask);
14423 float16 __ovld __cnfn shuffle2(float8 x, float8 y, uint16 mask);
14424 float16 __ovld __cnfn shuffle2(float16 x, float16 y, uint16 mask);
14425
14426 #ifdef cl_khr_fp64
14427 double2 __ovld __cnfn shuffle2(double2 x, double2 y, ulong2 mask);
14428 double2 __ovld __cnfn shuffle2(double4 x, double4 y, ulong2 mask);
14429 double2 __ovld __cnfn shuffle2(double8 x, double8 y, ulong2 mask);
14430 double2 __ovld __cnfn shuffle2(double16 x, double16 y, ulong2 mask);
14431
14432 double4 __ovld __cnfn shuffle2(double2 x, double2 y, ulong4 mask);
14433 double4 __ovld __cnfn shuffle2(double4 x, double4 y, ulong4 mask);
14434 double4 __ovld __cnfn shuffle2(double8 x, double8 y, ulong4 mask);
14435 double4 __ovld __cnfn shuffle2(double16 x, double16 y, ulong4 mask);
14436
14437 double8 __ovld __cnfn shuffle2(double2 x, double2 y, ulong8 mask);
14438 double8 __ovld __cnfn shuffle2(double4 x, double4 y, ulong8 mask);
14439 double8 __ovld __cnfn shuffle2(double8 x, double8 y, ulong8 mask);
14440 double8 __ovld __cnfn shuffle2(double16 x, double16 y, ulong8 mask);
14441
14442 double16 __ovld __cnfn shuffle2(double2 x, double2 y, ulong16 mask);
14443 double16 __ovld __cnfn shuffle2(double4 x, double4 y, ulong16 mask);
14444 double16 __ovld __cnfn shuffle2(double8 x, double8 y, ulong16 mask);
14445 double16 __ovld __cnfn shuffle2(double16 x, double16 y, ulong16 mask);
14446 #endif //cl_khr_fp64
14447
14448 #ifdef cl_khr_fp16
14449 half2 __ovld __cnfn shuffle2(half2 x, half2 y, ushort2 mask);
14450 half2 __ovld __cnfn shuffle2(half4 x, half4 y, ushort2 mask);
14451 half2 __ovld __cnfn shuffle2(half8 x, half8 y, ushort2 mask);
14452 half2 __ovld __cnfn shuffle2(half16 x, half16 y, ushort2 mask);
14453
14454 half4 __ovld __cnfn shuffle2(half2 x, half2 y, ushort4 mask);
14455 half4 __ovld __cnfn shuffle2(half4 x, half4 y, ushort4 mask);
14456 half4 __ovld __cnfn shuffle2(half8 x, half8 y, ushort4 mask);
14457 half4 __ovld __cnfn shuffle2(half16 x, half16 y, ushort4 mask);
14458
14459 half8 __ovld __cnfn shuffle2(half2 x, half2 y, ushort8 mask);
14460 half8 __ovld __cnfn shuffle2(half4 x, half4 y, ushort8 mask);
14461 half8 __ovld __cnfn shuffle2(half8 x, half8 y, ushort8 mask);
14462 half8 __ovld __cnfn shuffle2(half16 x, half16 y, ushort8 mask);
14463
14464 half16 __ovld __cnfn shuffle2(half2 x, half2 y, ushort16 mask);
14465 half16 __ovld __cnfn shuffle2(half4 x, half4 y, ushort16 mask);
14466 half16 __ovld __cnfn shuffle2(half8 x, half8 y, ushort16 mask);
14467 half16 __ovld __cnfn shuffle2(half16 x, half16 y, ushort16 mask);
14468 #endif //cl_khr_fp16
14469
14470 #if __OPENCL_C_VERSION__ >= CL_VERSION_1_2
14471 // OpenCL v1.2 s6.12.13, v2.0 s6.13.13 - printf
14472
14473 int printf(__constant const char* st, ...);
14474 #endif
14475
14476 // OpenCL v1.1 s6.11.3, v1.2 s6.12.14, v2.0 s6.13.14 - Image Read and Write Functions
14477
14478 // These values need to match the runtime equivalent
14479 //
14480 // Addressing Mode.
14481 //
14482 #define CLK_ADDRESS_NONE                0
14483 #define CLK_ADDRESS_CLAMP_TO_EDGE       2
14484 #define CLK_ADDRESS_CLAMP               4
14485 #define CLK_ADDRESS_REPEAT              6
14486 #define CLK_ADDRESS_MIRRORED_REPEAT     8
14487
14488 //
14489 // Coordination Normalization
14490 //
14491 #define CLK_NORMALIZED_COORDS_FALSE     0
14492 #define CLK_NORMALIZED_COORDS_TRUE      1
14493
14494 //
14495 // Filtering Mode.
14496 //
14497 #define CLK_FILTER_NEAREST              0x10
14498 #define CLK_FILTER_LINEAR               0x20
14499
14500 #ifdef cl_khr_gl_msaa_sharing
14501 #pragma OPENCL EXTENSION cl_khr_gl_msaa_sharing : enable
14502 #endif //cl_khr_gl_msaa_sharing
14503
14504 /**
14505  * Use the coordinate (coord.xy) to do an element lookup in
14506  * the 2D image object specified by image.
14507  *
14508  * Use the coordinate (coord.x, coord.y, coord.z) to do
14509  * an element lookup in the 3D image object specified
14510  * by image. coord.w is ignored.
14511  *
14512  * Use the coordinate (coord.z) to index into the
14513  * 2D image array object specified by image_array
14514  * and (coord.x, coord.y) to do an element lookup in
14515  * the 2D image object specified by image.
14516  *
14517  * Use the coordinate (x) to do an element lookup in
14518  * the 1D image object specified by image.
14519  *
14520  * Use the coordinate (coord.y) to index into the
14521  * 1D image array object specified by image_array
14522  * and (coord.x) to do an element lookup in
14523  * the 1D image object specified by image.
14524  *
14525  * Use the coordinate (cood.xy) and sample to do an
14526  * element lookup in the 2D multi-sample image specified
14527  * by image.
14528  *
14529  * Use coord.xy and sample to do an element
14530  * lookup in the 2D multi-sample image layer
14531  * identified by index coord.z in the 2D multi-sample
14532  * image array specified by image.
14533  *
14534  * For mipmap images, use the mip-level specified by
14535  * the Level-of-Detail (lod) or use gradients for LOD
14536  * computation.
14537  *
14538  * read_imagef returns floating-point values in the
14539  * range [0.0 ... 1.0] for image objects created with
14540  * image_channel_data_type set to one of the predefined
14541  * packed formats or CL_UNORM_INT8, or
14542  * CL_UNORM_INT16.
14543  *
14544  * read_imagef returns floating-point values in the
14545  * range [-1.0 ... 1.0] for image objects created with
14546  * image_channel_data_type set to CL_SNORM_INT8,
14547  * or CL_SNORM_INT16.
14548  *
14549  * read_imagef returns floating-point values for image
14550  * objects created with image_channel_data_type set to
14551  * CL_HALF_FLOAT or CL_FLOAT.
14552  *
14553  * read_imagei and read_imageui return
14554  * unnormalized signed integer and unsigned integer
14555  * values respectively. Each channel will be stored in a
14556  * 32-bit integer.
14557  *
14558  * read_imagei can only be used with image objects
14559  * created with image_channel_data_type set to one of
14560  * the following values:
14561  * CL_SIGNED_INT8,
14562  * CL_SIGNED_INT16 and
14563  * CL_SIGNED_INT32.
14564  * If the image_channel_data_type is not one of the
14565  * above values, the values returned by read_imagei
14566  * are undefined.
14567  *
14568  * read_imageui can only be used with image objects
14569  * created with image_channel_data_type set to one of
14570  * the following values:
14571  * CL_UNSIGNED_INT8,
14572  * CL_UNSIGNED_INT16 and
14573  * CL_UNSIGNED_INT32.
14574  * If the image_channel_data_type is not one of the
14575  * above values, the values returned by read_imageui
14576  * are undefined.
14577  *
14578  * The read_image{i|ui} calls support a nearest filter
14579  * only. The filter_mode specified in sampler
14580  * must be set to CLK_FILTER_NEAREST; otherwise
14581  * the values returned are undefined.
14582
14583  * The read_image{f|i|ui} calls that take
14584  * integer coordinates must use a sampler with
14585  * normalized coordinates set to
14586  * CLK_NORMALIZED_COORDS_FALSE and
14587  * addressing mode set to
14588  * CLK_ADDRESS_CLAMP_TO_EDGE,
14589  * CLK_ADDRESS_CLAMP or CLK_ADDRESS_NONE;
14590  * otherwise the values returned are undefined.
14591  *
14592  * Values returned by read_imagef for image objects
14593  * with image_channel_data_type values not specified
14594  * in the description above are undefined.
14595  */
14596
14597 float4 __purefn __ovld read_imagef(read_only image2d_t image, sampler_t sampler, int2 coord);
14598 float4 __purefn __ovld read_imagef(read_only image2d_t image, sampler_t sampler, float2 coord);
14599
14600 int4 __purefn __ovld read_imagei(read_only image2d_t image, sampler_t sampler, int2 coord);
14601 int4 __purefn __ovld read_imagei(read_only image2d_t image, sampler_t sampler, float2 coord);
14602 uint4 __purefn __ovld read_imageui(read_only image2d_t image, sampler_t sampler, int2 coord);
14603 uint4 __purefn __ovld read_imageui(read_only image2d_t image, sampler_t sampler, float2 coord);
14604
14605 float4 __purefn __ovld read_imagef(read_only image3d_t image, sampler_t sampler, int4 coord);
14606 float4 __purefn __ovld read_imagef(read_only image3d_t image, sampler_t sampler, float4 coord);
14607
14608 int4 __purefn __ovld read_imagei(read_only image3d_t image, sampler_t sampler, int4 coord);
14609 int4 __purefn __ovld read_imagei(read_only image3d_t image, sampler_t sampler, float4 coord);
14610 uint4 __purefn __ovld read_imageui(read_only image3d_t image, sampler_t sampler, int4 coord);
14611 uint4 __purefn __ovld read_imageui(read_only image3d_t image, sampler_t sampler, float4 coord);
14612
14613 #if __OPENCL_C_VERSION__ >= CL_VERSION_1_2
14614 float4 __purefn __ovld read_imagef(read_only image2d_array_t image_array, sampler_t sampler, int4 coord);
14615 float4 __purefn __ovld read_imagef(read_only image2d_array_t image_array, sampler_t sampler, float4 coord);
14616
14617 int4 __purefn __ovld read_imagei(read_only image2d_array_t image_array, sampler_t sampler, int4 coord);
14618 int4 __purefn __ovld read_imagei(read_only image2d_array_t image_array, sampler_t sampler, float4 coord);
14619 uint4 __purefn __ovld read_imageui(read_only image2d_array_t image_array, sampler_t sampler, int4 coord);
14620 uint4 __purefn __ovld read_imageui(read_only image2d_array_t image_array, sampler_t sampler, float4 coord);
14621 #endif // __OPENCL_C_VERSION__ >= CL_VERSION_1_2
14622
14623 float4 __purefn __ovld read_imagef(read_only image1d_t image, sampler_t sampler, int coord);
14624 float4 __purefn __ovld read_imagef(read_only image1d_t image, sampler_t sampler, float coord);
14625
14626 int4 __purefn __ovld read_imagei(read_only image1d_t image, sampler_t sampler, int coord);
14627 int4 __purefn __ovld read_imagei(read_only image1d_t image, sampler_t sampler, float coord);
14628 uint4 __purefn __ovld read_imageui(read_only image1d_t image, sampler_t sampler, int coord);
14629 uint4 __purefn __ovld read_imageui(read_only image1d_t image, sampler_t sampler, float coord);
14630
14631 #if __OPENCL_C_VERSION__ >= CL_VERSION_1_2
14632 float4 __purefn __ovld read_imagef(read_only image1d_array_t image_array, sampler_t sampler, int2 coord);
14633 float4 __purefn __ovld read_imagef(read_only image1d_array_t image_array, sampler_t sampler, float2 coord);
14634
14635 int4 __purefn __ovld read_imagei(read_only image1d_array_t image_array, sampler_t sampler, int2 coord);
14636 int4 __purefn __ovld read_imagei(read_only image1d_array_t image_array, sampler_t sampler, float2 coord);
14637 uint4 __purefn __ovld read_imageui(read_only image1d_array_t image_array, sampler_t sampler, int2 coord);
14638 uint4 __purefn __ovld read_imageui(read_only image1d_array_t image_array, sampler_t sampler, float2 coord);
14639 #endif // __OPENCL_C_VERSION__ >= CL_VERSION_1_2
14640
14641 #ifdef cl_khr_depth_images
14642 float __purefn __ovld read_imagef(read_only image2d_depth_t image, sampler_t sampler, float2 coord);
14643 float __purefn __ovld read_imagef(read_only image2d_depth_t image, sampler_t sampler, int2 coord);
14644
14645 float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, sampler_t sampler, float4 coord);
14646 float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, sampler_t sampler, int4 coord);
14647 #endif //cl_khr_depth_images
14648
14649 #if defined(cl_khr_gl_msaa_sharing)
14650 float4 __purefn __ovld read_imagef(read_only image2d_msaa_t image, int2 coord, int sample);
14651 int4 __purefn __ovld read_imagei(read_only image2d_msaa_t image, int2 coord, int sample);
14652 uint4 __purefn __ovld read_imageui(read_only image2d_msaa_t image, int2 coord, int sample);
14653
14654 float __purefn __ovld read_imagef(read_only image2d_msaa_depth_t image, int2 coord, int sample);
14655
14656 float4 __purefn __ovld read_imagef(read_only image2d_array_msaa_t image, int4 coord, int sample);
14657 int4 __purefn __ovld read_imagei(read_only image2d_array_msaa_t image, int4 coord, int sample);
14658 uint4 __purefn __ovld read_imageui(read_only image2d_array_msaa_t image, int4 coord, int sample);
14659
14660 float __purefn __ovld read_imagef(read_only image2d_array_msaa_depth_t image, int4 coord, int sample);
14661 #endif //cl_khr_gl_msaa_sharing
14662
14663 // OpenCL Extension v2.0 s9.18 - Mipmaps
14664 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
14665 #ifdef cl_khr_mipmap_image
14666
14667 float4 __purefn __ovld read_imagef(read_only image1d_t image, sampler_t sampler, float coord, float lod);
14668 int4 __purefn __ovld read_imagei(read_only image1d_t image, sampler_t sampler, float coord, float lod);
14669 uint4 __purefn __ovld read_imageui(read_only image1d_t image, sampler_t sampler, float coord, float lod);
14670
14671 float4 __purefn __ovld read_imagef(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
14672 int4 __purefn __ovld read_imagei(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
14673 uint4 __purefn __ovld read_imageui(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
14674
14675 float4 __purefn __ovld read_imagef(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
14676 int4 __purefn __ovld read_imagei(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
14677 uint4 __purefn __ovld read_imageui(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
14678
14679 float __purefn __ovld read_imagef(read_only image2d_depth_t image, sampler_t sampler, float2 coord, float lod);
14680
14681 float4 __purefn __ovld read_imagef(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
14682 int4 __purefn __ovld read_imagei(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
14683 uint4 __purefn __ovld read_imageui(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
14684
14685 float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, sampler_t sampler, float4 coord, float lod);
14686
14687 float4 __purefn __ovld read_imagef(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
14688 int4 __purefn __ovld read_imagei(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
14689 uint4 __purefn __ovld read_imageui(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
14690
14691 float4 __purefn __ovld read_imagef(read_only image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
14692 int4 __purefn __ovld read_imagei(read_only image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
14693 uint4 __purefn __ovld read_imageui(read_only image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
14694
14695 float4 __purefn __ovld read_imagef(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
14696 int4 __purefn __ovld read_imagei(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
14697 uint4 __purefn __ovld read_imageui(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
14698
14699 float4 __purefn __ovld read_imagef(read_only image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
14700 int4 __purefn __ovld read_imagei(read_only image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
14701 uint4 __purefn __ovld read_imageui(read_only image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
14702
14703 float __purefn __ovld read_imagef(read_only image2d_depth_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
14704
14705 float4 __purefn __ovld read_imagef(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
14706 int4 __purefn __ovld read_imagei(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
14707 uint4 __purefn __ovld read_imageui(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
14708
14709 float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
14710
14711 float4 __purefn __ovld read_imagef(read_only image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
14712 int4 __purefn __ovld read_imagei(read_only image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
14713 uint4 __purefn __ovld read_imageui(read_only image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
14714
14715 float4 __purefn __ovld read_imagef(read_only image1d_t image, sampler_t sampler, float coord, float lod);
14716 int4 __purefn __ovld read_imagei(read_only image1d_t image, sampler_t sampler, float coord, float lod);
14717 uint4 __purefn __ovld read_imageui(read_only image1d_t image, sampler_t sampler, float coord, float lod);
14718
14719 float4 __purefn __ovld read_imagef(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
14720 int4 __purefn __ovld read_imagei(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
14721 uint4 __purefn __ovld read_imageui(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
14722
14723 float4 __purefn __ovld read_imagef(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
14724 int4 __purefn __ovld read_imagei(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
14725 uint4 __purefn __ovld read_imageui(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
14726
14727 float __purefn __ovld read_imagef(read_only image2d_depth_t image, sampler_t sampler, float2 coord, float lod);
14728
14729 float4 __purefn __ovld read_imagef(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
14730 int4 __purefn __ovld read_imagei(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
14731 uint4 __purefn __ovld read_imageui(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
14732
14733 float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, sampler_t sampler, float4 coord, float lod);
14734
14735 float4 __purefn __ovld read_imagef(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
14736 int4 __purefn __ovld read_imagei(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
14737 uint4 __purefn __ovld read_imageui(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
14738
14739 #endif //cl_khr_mipmap_image
14740 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
14741
14742 #if __OPENCL_C_VERSION__ >= CL_VERSION_1_2
14743
14744 /**
14745 * Sampler-less Image Access
14746 */
14747
14748 float4 __purefn __ovld read_imagef(read_only image1d_t image, int coord);
14749 int4 __purefn __ovld read_imagei(read_only image1d_t image, int coord);
14750 uint4 __purefn __ovld read_imageui(read_only image1d_t image, int coord);
14751
14752 float4 __purefn __ovld read_imagef(read_only image1d_buffer_t image, int coord);
14753 int4 __purefn __ovld read_imagei(read_only image1d_buffer_t image, int coord);
14754 uint4 __purefn __ovld read_imageui(read_only image1d_buffer_t image, int coord);
14755
14756 float4 __purefn __ovld read_imagef(read_only image1d_array_t image, int2 coord);
14757 int4 __purefn __ovld read_imagei(read_only image1d_array_t image, int2 coord);
14758 uint4 __purefn __ovld read_imageui(read_only image1d_array_t image, int2 coord);
14759
14760 float4 __purefn __ovld read_imagef(read_only image2d_t image, int2 coord);
14761 int4 __purefn __ovld read_imagei(read_only image2d_t image, int2 coord);
14762 uint4 __purefn __ovld read_imageui(read_only image2d_t image, int2 coord);
14763
14764 float4 __purefn __ovld read_imagef(read_only image2d_array_t image, int4 coord);
14765 int4 __purefn __ovld read_imagei(read_only image2d_array_t image, int4 coord);
14766 uint4 __purefn __ovld read_imageui(read_only image2d_array_t image, int4 coord);
14767
14768 #ifdef cl_khr_depth_images
14769 float __purefn __ovld read_imagef(read_only image2d_depth_t image, int2 coord);
14770 float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, int4 coord);
14771 #endif //cl_khr_depth_images
14772
14773 float4 __purefn __ovld read_imagef(read_only image3d_t image, int4 coord);
14774 int4 __purefn __ovld read_imagei(read_only image3d_t image, int4 coord);
14775 uint4 __purefn __ovld read_imageui(read_only image3d_t image, int4 coord);
14776
14777 #endif // __OPENCL_C_VERSION__ >= CL_VERSION_1_2
14778
14779 // Image read functions returning half4 type
14780 #ifdef cl_khr_fp16
14781 half4 __purefn __ovld read_imageh(read_only image1d_t image, sampler_t sampler, int coord);
14782 half4 __purefn __ovld read_imageh(read_only image1d_t image, sampler_t sampler, float coord);
14783 half4 __purefn __ovld read_imageh(read_only image2d_t image, sampler_t sampler, int2 coord);
14784 half4 __purefn __ovld read_imageh(read_only image2d_t image, sampler_t sampler, float2 coord);
14785 half4 __purefn __ovld read_imageh(read_only image3d_t image, sampler_t sampler, int4 coord);
14786 half4 __purefn __ovld read_imageh(read_only image3d_t image, sampler_t sampler, float4 coord);
14787 #if __OPENCL_C_VERSION__ >= CL_VERSION_1_2
14788 half4 __purefn __ovld read_imageh(read_only image1d_array_t image, sampler_t sampler, int2 coord);
14789 half4 __purefn __ovld read_imageh(read_only image1d_array_t image, sampler_t sampler, float2 coord);
14790 half4 __purefn __ovld read_imageh(read_only image2d_array_t image, sampler_t sampler, int4 coord);
14791 half4 __purefn __ovld read_imageh(read_only image2d_array_t image, sampler_t sampler, float4 coord);
14792 /**
14793  * Sampler-less Image Access
14794  */
14795 half4 __purefn __ovld read_imageh(read_only image1d_t image, int coord);
14796 half4 __purefn __ovld read_imageh(read_only image2d_t image, int2 coord);
14797 half4 __purefn __ovld read_imageh(read_only image3d_t image, int4 coord);
14798 half4 __purefn __ovld read_imageh(read_only image1d_array_t image, int2 coord);
14799 half4 __purefn __ovld read_imageh(read_only image2d_array_t image, int4 coord);
14800 half4 __purefn __ovld read_imageh(read_only image1d_buffer_t image, int coord);
14801 #endif // __OPENCL_C_VERSION__ >= CL_VERSION_1_2
14802 #endif //cl_khr_fp16
14803
14804 // Image read functions for read_write images
14805 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
14806 float4 __purefn __ovld read_imagef(read_write image1d_t image, int coord);
14807 int4 __purefn __ovld read_imagei(read_write image1d_t image, int coord);
14808 uint4 __purefn __ovld read_imageui(read_write image1d_t image, int coord);
14809
14810 float4 __purefn __ovld read_imagef(read_write image1d_buffer_t image, int coord);
14811 int4 __purefn __ovld read_imagei(read_write image1d_buffer_t image, int coord);
14812 uint4 __purefn __ovld read_imageui(read_write image1d_buffer_t image, int coord);
14813
14814 float4 __purefn __ovld read_imagef(read_write image1d_array_t image, int2 coord);
14815 int4 __purefn __ovld read_imagei(read_write image1d_array_t image, int2 coord);
14816 uint4 __purefn __ovld read_imageui(read_write image1d_array_t image, int2 coord);
14817
14818 float4 __purefn __ovld read_imagef(read_write image2d_t image, int2 coord);
14819 int4 __purefn __ovld read_imagei(read_write image2d_t image, int2 coord);
14820 uint4 __purefn __ovld read_imageui(read_write image2d_t image, int2 coord);
14821
14822 float4 __purefn __ovld read_imagef(read_write image2d_array_t image, int4 coord);
14823 int4 __purefn __ovld read_imagei(read_write image2d_array_t image, int4 coord);
14824 uint4 __purefn __ovld read_imageui(read_write image2d_array_t image, int4 coord);
14825
14826 float4 __purefn __ovld read_imagef(read_write image3d_t image, int4 coord);
14827 int4 __purefn __ovld read_imagei(read_write image3d_t image, int4 coord);
14828 uint4 __purefn __ovld read_imageui(read_write image3d_t image, int4 coord);
14829
14830 #ifdef cl_khr_depth_images
14831 float __purefn __ovld read_imagef(read_write image2d_depth_t image, int2 coord);
14832 float __purefn __ovld read_imagef(read_write image2d_array_depth_t image, int4 coord);
14833 #endif //cl_khr_depth_images
14834
14835 #if cl_khr_gl_msaa_sharing
14836 float4 __purefn __ovld read_imagef(read_write image2d_msaa_t image, int2 coord, int sample);
14837 int4 __purefn __ovld read_imagei(read_write image2d_msaa_t image, int2 coord, int sample);
14838 uint4 __purefn __ovld read_imageui(read_write image2d_msaa_t image, int2 coord, int sample);
14839
14840 float4 __purefn __ovld read_imagef(read_write image2d_array_msaa_t image, int4 coord, int sample);
14841 int4 __purefn __ovld read_imagei(read_write image2d_array_msaa_t image, int4 coord, int sample);
14842 uint4 __purefn __ovld read_imageui(read_write image2d_array_msaa_t image, int4 coord, int sample);
14843
14844 float __purefn __ovld read_imagef(read_write image2d_msaa_depth_t image, int2 coord, int sample);
14845 float __purefn __ovld read_imagef(read_write image2d_array_msaa_depth_t image, int4 coord, int sample);
14846 #endif //cl_khr_gl_msaa_sharing
14847
14848 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
14849 #ifdef cl_khr_mipmap_image
14850 float4 __purefn __ovld read_imagef(read_write image1d_t image, sampler_t sampler, float coord, float lod);
14851 int4 __purefn __ovld read_imagei(read_write image1d_t image, sampler_t sampler, float coord, float lod);
14852 uint4 __purefn __ovld read_imageui(read_write image1d_t image, sampler_t sampler, float coord, float lod);
14853
14854 float4 __purefn __ovld read_imagef(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
14855 int4 __purefn __ovld read_imagei(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
14856 uint4 __purefn __ovld read_imageui(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
14857
14858 float4 __purefn __ovld read_imagef(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
14859 int4 __purefn __ovld read_imagei(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
14860 uint4 __purefn __ovld read_imageui(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
14861
14862 float __purefn __ovld read_imagef(read_write image2d_depth_t image, sampler_t sampler, float2 coord, float lod);
14863
14864 float4 __purefn __ovld read_imagef(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
14865 int4 __purefn __ovld read_imagei(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
14866 uint4 __purefn __ovld read_imageui(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
14867
14868 float __purefn __ovld read_imagef(read_write image2d_array_depth_t image, sampler_t sampler, float4 coord, float lod);
14869
14870 float4 __purefn __ovld read_imagef(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
14871 int4 __purefn __ovld read_imagei(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
14872 uint4 __purefn __ovld read_imageui(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
14873
14874 float4 __purefn __ovld read_imagef(read_write image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
14875 int4 __purefn __ovld read_imagei(read_write image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
14876 uint4 __purefn __ovld read_imageui(read_write image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
14877
14878 float4 __purefn __ovld read_imagef(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
14879 int4 __purefn __ovld read_imagei(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
14880 uint4 __purefn __ovld read_imageui(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
14881
14882 float4 __purefn __ovld read_imagef(read_write image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
14883 int4 __purefn __ovld read_imagei(read_write image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
14884 uint4 __purefn __ovld read_imageui(read_write image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
14885
14886 float __purefn __ovld read_imagef(read_write image2d_depth_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
14887
14888 float4 __purefn __ovld read_imagef(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
14889 int4 __purefn __ovld read_imagei(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
14890 uint4 __purefn __ovld read_imageui(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
14891
14892 float __purefn __ovld read_imagef(read_write image2d_array_depth_t image, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
14893
14894 float4 __purefn __ovld read_imagef(read_write image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
14895 int4 __purefn __ovld read_imagei(read_write image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
14896 uint4 __purefn __ovld read_imageui(read_write image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
14897
14898 float4 __purefn __ovld read_imagef(read_write image1d_t image, sampler_t sampler, float coord, float lod);
14899 int4 __purefn __ovld read_imagei(read_write image1d_t image, sampler_t sampler, float coord, float lod);
14900 uint4 __purefn __ovld read_imageui(read_write image1d_t image, sampler_t sampler, float coord, float lod);
14901
14902 float4 __purefn __ovld read_imagef(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
14903 int4 __purefn __ovld read_imagei(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
14904 uint4 __purefn __ovld read_imageui(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
14905
14906 float4 __purefn __ovld read_imagef(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
14907 int4 __purefn __ovld read_imagei(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
14908 uint4 __purefn __ovld read_imageui(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
14909
14910 float __purefn __ovld read_imagef(read_write image2d_depth_t image, sampler_t sampler, float2 coord, float lod);
14911
14912 float4 __purefn __ovld read_imagef(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
14913 int4 __purefn __ovld read_imagei(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
14914 uint4 __purefn __ovld read_imageui(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
14915
14916 float __purefn __ovld read_imagef(read_write image2d_array_depth_t image, sampler_t sampler, float4 coord, float lod);
14917
14918 float4 __purefn __ovld read_imagef(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
14919 int4 __purefn __ovld read_imagei(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
14920 uint4 __purefn __ovld read_imageui(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
14921 #endif //cl_khr_mipmap_image
14922 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
14923
14924 // Image read functions returning half4 type
14925 #ifdef cl_khr_fp16
14926 half4 __purefn __ovld read_imageh(read_write image1d_t image, int coord);
14927 half4 __purefn __ovld read_imageh(read_write image2d_t image, int2 coord);
14928 half4 __purefn __ovld read_imageh(read_write image3d_t image, int4 coord);
14929 half4 __purefn __ovld read_imageh(read_write image1d_array_t image, int2 coord);
14930 half4 __purefn __ovld read_imageh(read_write image2d_array_t image, int4 coord);
14931 half4 __purefn __ovld read_imageh(read_write image1d_buffer_t image, int coord);
14932 #endif //cl_khr_fp16
14933 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
14934
14935 /**
14936  * Write color value to location specified by coordinate
14937  * (coord.x, coord.y) in the 2D image object specified by image.
14938  * (coord.x, coord.y) are considered to be unnormalized coordinates
14939  * and must be in the range 0 ... image width - 1, and 0
14940  * ... image height - 1.
14941
14942  * Write color value to location specified by coordinate
14943  * (coord.x, coord.y) in the 2D image object specified by index
14944  * (coord.z) of the 2D image array object image_array.
14945  * (coord.x, coord.y) are considered to be unnormalized
14946  * coordinates and must be in the range 0 ... image width
14947  * - 1.
14948  *
14949  * Write color value to location specified by coordinate
14950  * (coord) in the 1D image (buffer) object specified by image.
14951  * coord is considered to be unnormalized coordinates
14952  * and must be in the range 0 ... image width - 1.
14953  *
14954  * Write color value to location specified by coordinate
14955  * (coord.x) in the 1D image object specified by index
14956  * (coord.y) of the 1D image array object image_array.
14957  * x is considered to be unnormalized coordinates
14958  * and must be in the range 0 ... image width - 1.
14959  *
14960  * Write color value to location specified by coordinate
14961  * (coord.x, coord.y, coord.z) in the 3D image object specified by image.
14962  * coord.x & coord.y are considered to be unnormalized coordinates
14963  * and must be in the range 0 ... image width - 1, and 0
14964  * ... image height - 1.
14965  *
14966  * For mipmap images, use mip-level specified by lod.
14967  *
14968  * Appropriate data format conversion to the specified
14969  * image format is done before writing the color value.
14970  *
14971  * write_imagef can only be used with image objects
14972  * created with image_channel_data_type set to one of
14973  * the pre-defined packed formats or set to
14974  * CL_SNORM_INT8, CL_UNORM_INT8,
14975  * CL_SNORM_INT16, CL_UNORM_INT16,
14976  * CL_HALF_FLOAT or CL_FLOAT. Appropriate data
14977  * format conversion will be done to convert channel
14978  * data from a floating-point value to actual data format
14979  * in which the channels are stored.
14980  *
14981  * write_imagei can only be used with image objects
14982  * created with image_channel_data_type set to one of
14983  * the following values:
14984  * CL_SIGNED_INT8,
14985  * CL_SIGNED_INT16 and
14986  * CL_SIGNED_INT32.
14987  *
14988  * write_imageui can only be used with image objects
14989  * created with image_channel_data_type set to one of
14990  * the following values:
14991  * CL_UNSIGNED_INT8,
14992  * CL_UNSIGNED_INT16 and
14993  * CL_UNSIGNED_INT32.
14994  *
14995  * The behavior of write_imagef, write_imagei and
14996  * write_imageui for image objects created with
14997  * image_channel_data_type values not specified in
14998  * the description above or with (x, y) coordinate
14999  * values that are not in the range (0 ... image width -1,
15000  * 0 ... image height - 1), respectively, is undefined.
15001  */
15002 void __ovld write_imagef(write_only image2d_t image, int2 coord, float4 color);
15003 void __ovld write_imagei(write_only image2d_t image, int2 coord, int4 color);
15004 void __ovld write_imageui(write_only image2d_t image, int2 coord, uint4 color);
15005
15006 void __ovld write_imagef(write_only image2d_array_t image_array, int4 coord, float4 color);
15007 void __ovld write_imagei(write_only image2d_array_t image_array, int4 coord, int4 color);
15008 void __ovld write_imageui(write_only image2d_array_t image_array, int4 coord, uint4 color);
15009
15010 void __ovld write_imagef(write_only image1d_t image, int coord, float4 color);
15011 void __ovld write_imagei(write_only image1d_t image, int coord, int4 color);
15012 void __ovld write_imageui(write_only image1d_t image, int coord, uint4 color);
15013
15014 void __ovld write_imagef(write_only image1d_buffer_t image, int coord, float4 color);
15015 void __ovld write_imagei(write_only image1d_buffer_t image, int coord, int4 color);
15016 void __ovld write_imageui(write_only image1d_buffer_t image, int coord, uint4 color);
15017
15018 void __ovld write_imagef(write_only image1d_array_t image_array, int2 coord, float4 color);
15019 void __ovld write_imagei(write_only image1d_array_t image_array, int2 coord, int4 color);
15020 void __ovld write_imageui(write_only image1d_array_t image_array, int2 coord, uint4 color);
15021
15022 #ifdef cl_khr_3d_image_writes
15023 void __ovld write_imagef(write_only image3d_t image, int4 coord, float4 color);
15024 void __ovld write_imagei(write_only image3d_t image, int4 coord, int4 color);
15025 void __ovld write_imageui(write_only image3d_t image, int4 coord, uint4 color);
15026 #endif
15027
15028 #ifdef cl_khr_depth_images
15029 void __ovld write_imagef(write_only image2d_depth_t image, int2 coord, float color);
15030 void __ovld write_imagef(write_only image2d_array_depth_t image, int4 coord, float color);
15031 #endif //cl_khr_depth_images
15032
15033 // OpenCL Extension v2.0 s9.18 - Mipmaps
15034 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
15035 #ifdef cl_khr_mipmap_image
15036 void __ovld write_imagef(write_only image1d_t image, int coord, int lod, float4 color);
15037 void __ovld write_imagei(write_only image1d_t image, int coord, int lod, int4 color);
15038 void __ovld write_imageui(write_only image1d_t image, int coord, int lod, uint4 color);
15039
15040 void __ovld write_imagef(write_only image1d_array_t image_array, int2 coord, int lod, float4 color);
15041 void __ovld write_imagei(write_only image1d_array_t image_array, int2 coord, int lod, int4 color);
15042 void __ovld write_imageui(write_only image1d_array_t image_array, int2 coord, int lod, uint4 color);
15043
15044 void __ovld write_imagef(write_only image2d_t image, int2 coord, int lod, float4 color);
15045 void __ovld write_imagei(write_only image2d_t image, int2 coord, int lod, int4 color);
15046 void __ovld write_imageui(write_only image2d_t image, int2 coord, int lod, uint4 color);
15047
15048 void __ovld write_imagef(write_only image2d_array_t image_array, int4 coord, int lod, float4 color);
15049 void __ovld write_imagei(write_only image2d_array_t image_array, int4 coord, int lod, int4 color);
15050 void __ovld write_imageui(write_only image2d_array_t image_array, int4 coord, int lod, uint4 color);
15051
15052 void __ovld write_imagef(write_only image2d_depth_t image, int2 coord, int lod, float color);
15053 void __ovld write_imagef(write_only image2d_array_depth_t image, int4 coord, int lod, float color);
15054
15055 #ifdef cl_khr_3d_image_writes
15056 void __ovld write_imagef(write_only image3d_t image, int4 coord, int lod, float4 color);
15057 void __ovld write_imagei(write_only image3d_t image, int4 coord, int lod, int4 color);
15058 void __ovld write_imageui(write_only image3d_t image, int4 coord, int lod, uint4 color);
15059 #endif
15060 #endif //cl_khr_mipmap_image
15061 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
15062
15063 // Image write functions for half4 type
15064 #ifdef cl_khr_fp16
15065 void __ovld write_imageh(write_only image1d_t image, int coord, half4 color);
15066 void __ovld write_imageh(write_only image2d_t image, int2 coord, half4 color);
15067 #ifdef cl_khr_3d_image_writes
15068 void __ovld write_imageh(write_only image3d_t image, int4 coord, half4 color);
15069 #endif
15070 void __ovld write_imageh(write_only image1d_array_t image, int2 coord, half4 color);
15071 void __ovld write_imageh(write_only image2d_array_t image, int4 coord, half4 color);
15072 void __ovld write_imageh(write_only image1d_buffer_t image, int coord, half4 color);
15073 #endif //cl_khr_fp16
15074
15075 // Image write functions for read_write images
15076 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
15077 void __ovld write_imagef(read_write image2d_t image, int2 coord, float4 color);
15078 void __ovld write_imagei(read_write image2d_t image, int2 coord, int4 color);
15079 void __ovld write_imageui(read_write image2d_t image, int2 coord, uint4 color);
15080
15081 void __ovld write_imagef(read_write image2d_array_t image_array, int4 coord, float4 color);
15082 void __ovld write_imagei(read_write image2d_array_t image_array, int4 coord, int4 color);
15083 void __ovld write_imageui(read_write image2d_array_t image_array, int4 coord, uint4 color);
15084
15085 void __ovld write_imagef(read_write image1d_t image, int coord, float4 color);
15086 void __ovld write_imagei(read_write image1d_t image, int coord, int4 color);
15087 void __ovld write_imageui(read_write image1d_t image, int coord, uint4 color);
15088
15089 void __ovld write_imagef(read_write image1d_buffer_t image, int coord, float4 color);
15090 void __ovld write_imagei(read_write image1d_buffer_t image, int coord, int4 color);
15091 void __ovld write_imageui(read_write image1d_buffer_t image, int coord, uint4 color);
15092
15093 void __ovld write_imagef(read_write image1d_array_t image_array, int2 coord, float4 color);
15094 void __ovld write_imagei(read_write image1d_array_t image_array, int2 coord, int4 color);
15095 void __ovld write_imageui(read_write image1d_array_t image_array, int2 coord, uint4 color);
15096
15097 #ifdef cl_khr_3d_image_writes
15098 void __ovld write_imagef(read_write image3d_t image, int4 coord, float4 color);
15099 void __ovld write_imagei(read_write image3d_t image, int4 coord, int4 color);
15100 void __ovld write_imageui(read_write image3d_t image, int4 coord, uint4 color);
15101 #endif
15102
15103 #ifdef cl_khr_depth_images
15104 void __ovld write_imagef(read_write image2d_depth_t image, int2 coord, float color);
15105 void __ovld write_imagef(read_write image2d_array_depth_t image, int4 coord, float color);
15106 #endif //cl_khr_depth_images
15107
15108 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
15109 #ifdef cl_khr_mipmap_image
15110 void __ovld write_imagef(read_write image1d_t image, int coord, int lod, float4 color);
15111 void __ovld write_imagei(read_write image1d_t image, int coord, int lod, int4 color);
15112 void __ovld write_imageui(read_write image1d_t image, int coord, int lod, uint4 color);
15113
15114 void __ovld write_imagef(read_write image1d_array_t image_array, int2 coord, int lod, float4 color);
15115 void __ovld write_imagei(read_write image1d_array_t image_array, int2 coord, int lod, int4 color);
15116 void __ovld write_imageui(read_write image1d_array_t image_array, int2 coord, int lod, uint4 color);
15117
15118 void __ovld write_imagef(read_write image2d_t image, int2 coord, int lod, float4 color);
15119 void __ovld write_imagei(read_write image2d_t image, int2 coord, int lod, int4 color);
15120 void __ovld write_imageui(read_write image2d_t image, int2 coord, int lod, uint4 color);
15121
15122 void __ovld write_imagef(read_write image2d_array_t image_array, int4 coord, int lod, float4 color);
15123 void __ovld write_imagei(read_write image2d_array_t image_array, int4 coord, int lod, int4 color);
15124 void __ovld write_imageui(read_write image2d_array_t image_array, int4 coord, int lod, uint4 color);
15125
15126 void __ovld write_imagef(read_write image2d_depth_t image, int2 coord, int lod, float color);
15127 void __ovld write_imagef(read_write image2d_array_depth_t image, int4 coord, int lod, float color);
15128
15129 #ifdef cl_khr_3d_image_writes
15130 void __ovld write_imagef(read_write image3d_t image, int4 coord, int lod, float4 color);
15131 void __ovld write_imagei(read_write image3d_t image, int4 coord, int lod, int4 color);
15132 void __ovld write_imageui(read_write image3d_t image, int4 coord, int lod, uint4 color);
15133 #endif
15134 #endif //cl_khr_mipmap_image
15135 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
15136
15137 // Image write functions for half4 type
15138 #ifdef cl_khr_fp16
15139 void __ovld write_imageh(read_write image1d_t image, int coord, half4 color);
15140 void __ovld write_imageh(read_write image2d_t image, int2 coord, half4 color);
15141 #ifdef cl_khr_3d_image_writes
15142 void __ovld write_imageh(read_write image3d_t image, int4 coord, half4 color);
15143 #endif
15144 void __ovld write_imageh(read_write image1d_array_t image, int2 coord, half4 color);
15145 void __ovld write_imageh(read_write image2d_array_t image, int4 coord, half4 color);
15146 void __ovld write_imageh(read_write image1d_buffer_t image, int coord, half4 color);
15147 #endif //cl_khr_fp16
15148 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
15149
15150 // Note: In OpenCL v1.0/1.1/1.2, image argument of image query builtin functions does not have
15151 // access qualifier, which by default assume read_only access qualifier. Image query builtin
15152 // functions with write_only image argument should also be declared.
15153
15154 /**
15155  * Return the image width in pixels.
15156  *
15157   */
15158 int __ovld __cnfn get_image_width(read_only image1d_t image);
15159 int __ovld __cnfn get_image_width(read_only image1d_buffer_t image);
15160 int __ovld __cnfn get_image_width(read_only image2d_t image);
15161 #ifdef cl_khr_3d_image_writes
15162 int __ovld __cnfn get_image_width(read_only image3d_t image);
15163 #endif
15164 int __ovld __cnfn get_image_width(read_only image1d_array_t image);
15165 int __ovld __cnfn get_image_width(read_only image2d_array_t image);
15166 #ifdef cl_khr_depth_images
15167 int __ovld __cnfn get_image_width(read_only image2d_depth_t image);
15168 int __ovld __cnfn get_image_width(read_only image2d_array_depth_t image);
15169 #endif //cl_khr_depth_images
15170 #if defined(cl_khr_gl_msaa_sharing)
15171 int __ovld __cnfn get_image_width(read_only image2d_msaa_t image);
15172 int __ovld __cnfn get_image_width(read_only image2d_msaa_depth_t image);
15173 int __ovld __cnfn get_image_width(read_only image2d_array_msaa_t image);
15174 int __ovld __cnfn get_image_width(read_only image2d_array_msaa_depth_t image);
15175 #endif //cl_khr_gl_msaa_sharing
15176
15177 int __ovld __cnfn get_image_width(write_only image1d_t image);
15178 int __ovld __cnfn get_image_width(write_only image1d_buffer_t image);
15179 int __ovld __cnfn get_image_width(write_only image2d_t image);
15180 #ifdef cl_khr_3d_image_writes
15181 int __ovld __cnfn get_image_width(write_only image3d_t image);
15182 #endif
15183 int __ovld __cnfn get_image_width(write_only image1d_array_t image);
15184 int __ovld __cnfn get_image_width(write_only image2d_array_t image);
15185 #ifdef cl_khr_depth_images
15186 int __ovld __cnfn get_image_width(write_only image2d_depth_t image);
15187 int __ovld __cnfn get_image_width(write_only image2d_array_depth_t image);
15188 #endif //cl_khr_depth_images
15189 #if defined(cl_khr_gl_msaa_sharing)
15190 int __ovld __cnfn get_image_width(write_only image2d_msaa_t image);
15191 int __ovld __cnfn get_image_width(write_only image2d_msaa_depth_t image);
15192 int __ovld __cnfn get_image_width(write_only image2d_array_msaa_t image);
15193 int __ovld __cnfn get_image_width(write_only image2d_array_msaa_depth_t image);
15194 #endif //cl_khr_gl_msaa_sharing
15195
15196 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
15197 int __ovld __cnfn get_image_width(read_write image1d_t image);
15198 int __ovld __cnfn get_image_width(read_write image1d_buffer_t image);
15199 int __ovld __cnfn get_image_width(read_write image2d_t image);
15200 int __ovld __cnfn get_image_width(read_write image3d_t image);
15201 int __ovld __cnfn get_image_width(read_write image1d_array_t image);
15202 int __ovld __cnfn get_image_width(read_write image2d_array_t image);
15203 #ifdef cl_khr_depth_images
15204 int __ovld __cnfn get_image_width(read_write image2d_depth_t image);
15205 int __ovld __cnfn get_image_width(read_write image2d_array_depth_t image);
15206 #endif //cl_khr_depth_images
15207 #if defined(cl_khr_gl_msaa_sharing)
15208 int __ovld __cnfn get_image_width(read_write image2d_msaa_t image);
15209 int __ovld __cnfn get_image_width(read_write image2d_msaa_depth_t image);
15210 int __ovld __cnfn get_image_width(read_write image2d_array_msaa_t image);
15211 int __ovld __cnfn get_image_width(read_write image2d_array_msaa_depth_t image);
15212 #endif //cl_khr_gl_msaa_sharing
15213 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
15214
15215 /**
15216  * Return the image height in pixels.
15217  */
15218 int __ovld __cnfn get_image_height(read_only image2d_t image);
15219 int __ovld __cnfn get_image_height(read_only image3d_t image);
15220 int __ovld __cnfn get_image_height(read_only image2d_array_t image);
15221 #ifdef cl_khr_depth_images
15222 int __ovld __cnfn get_image_height(read_only image2d_depth_t image);
15223 int __ovld __cnfn get_image_height(read_only image2d_array_depth_t image);
15224 #endif //cl_khr_depth_images
15225 #if defined(cl_khr_gl_msaa_sharing)
15226 int __ovld __cnfn get_image_height(read_only image2d_msaa_t image);
15227 int __ovld __cnfn get_image_height(read_only image2d_msaa_depth_t image);
15228 int __ovld __cnfn get_image_height(read_only image2d_array_msaa_t image);
15229 int __ovld __cnfn get_image_height(read_only image2d_array_msaa_depth_t image);
15230 #endif //cl_khr_gl_msaa_sharing
15231
15232 int __ovld __cnfn get_image_height(write_only image2d_t image);
15233 #ifdef cl_khr_3d_image_writes
15234 int __ovld __cnfn get_image_height(write_only image3d_t image);
15235 #endif
15236 int __ovld __cnfn get_image_height(write_only image2d_array_t image);
15237 #ifdef cl_khr_depth_images
15238 int __ovld __cnfn get_image_height(write_only image2d_depth_t image);
15239 int __ovld __cnfn get_image_height(write_only image2d_array_depth_t image);
15240 #endif //cl_khr_depth_images
15241 #if defined(cl_khr_gl_msaa_sharing)
15242 int __ovld __cnfn get_image_height(write_only image2d_msaa_t image);
15243 int __ovld __cnfn get_image_height(write_only image2d_msaa_depth_t image);
15244 int __ovld __cnfn get_image_height(write_only image2d_array_msaa_t image);
15245 int __ovld __cnfn get_image_height(write_only image2d_array_msaa_depth_t image);
15246 #endif //cl_khr_gl_msaa_sharing
15247
15248 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
15249 int __ovld __cnfn get_image_height(read_write image2d_t image);
15250 int __ovld __cnfn get_image_height(read_write image3d_t image);
15251 int __ovld __cnfn get_image_height(read_write image2d_array_t image);
15252 #ifdef cl_khr_depth_images
15253 int __ovld __cnfn get_image_height(read_write image2d_depth_t image);
15254 int __ovld __cnfn get_image_height(read_write image2d_array_depth_t image);
15255 #endif //cl_khr_depth_images
15256 #if defined(cl_khr_gl_msaa_sharing)
15257 int __ovld __cnfn get_image_height(read_write image2d_msaa_t image);
15258 int __ovld __cnfn get_image_height(read_write image2d_msaa_depth_t image);
15259 int __ovld __cnfn get_image_height(read_write image2d_array_msaa_t image);
15260 int __ovld __cnfn get_image_height(read_write image2d_array_msaa_depth_t image);
15261 #endif //cl_khr_gl_msaa_sharing
15262 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
15263
15264 /**
15265  * Return the image depth in pixels.
15266  */
15267 int __ovld __cnfn get_image_depth(read_only image3d_t image);
15268
15269 #ifdef cl_khr_3d_image_writes
15270 int __ovld __cnfn get_image_depth(write_only image3d_t image);
15271 #endif
15272
15273 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
15274 int __ovld __cnfn get_image_depth(read_write image3d_t image);
15275 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
15276
15277 // OpenCL Extension v2.0 s9.18 - Mipmaps
15278 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
15279 #ifdef cl_khr_mipmap_image
15280 /**
15281  * Return the image miplevels.
15282  */
15283
15284 int __ovld get_image_num_mip_levels(read_only image1d_t image);
15285 int __ovld get_image_num_mip_levels(read_only image2d_t image);
15286 int __ovld get_image_num_mip_levels(read_only image3d_t image);
15287
15288 int __ovld get_image_num_mip_levels(write_only image1d_t image);
15289 int __ovld get_image_num_mip_levels(write_only image2d_t image);
15290 #ifdef cl_khr_3d_image_writes
15291 int __ovld get_image_num_mip_levels(write_only image3d_t image);
15292 #endif
15293
15294 int __ovld get_image_num_mip_levels(read_write image1d_t image);
15295 int __ovld get_image_num_mip_levels(read_write image2d_t image);
15296 int __ovld get_image_num_mip_levels(read_write image3d_t image);
15297
15298 int __ovld get_image_num_mip_levels(read_only image1d_array_t image);
15299 int __ovld get_image_num_mip_levels(read_only image2d_array_t image);
15300 int __ovld get_image_num_mip_levels(read_only image2d_array_depth_t image);
15301 int __ovld get_image_num_mip_levels(read_only image2d_depth_t image);
15302
15303 int __ovld get_image_num_mip_levels(write_only image1d_array_t image);
15304 int __ovld get_image_num_mip_levels(write_only image2d_array_t image);
15305 int __ovld get_image_num_mip_levels(write_only image2d_array_depth_t image);
15306 int __ovld get_image_num_mip_levels(write_only image2d_depth_t image);
15307
15308 int __ovld get_image_num_mip_levels(read_write image1d_array_t image);
15309 int __ovld get_image_num_mip_levels(read_write image2d_array_t image);
15310 int __ovld get_image_num_mip_levels(read_write image2d_array_depth_t image);
15311 int __ovld get_image_num_mip_levels(read_write image2d_depth_t image);
15312
15313 #endif //cl_khr_mipmap_image
15314 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
15315
15316 /**
15317  * Return the channel data type. Valid values are:
15318  * CLK_SNORM_INT8
15319  * CLK_SNORM_INT16
15320  * CLK_UNORM_INT8
15321  * CLK_UNORM_INT16
15322  * CLK_UNORM_SHORT_565
15323  * CLK_UNORM_SHORT_555
15324  * CLK_UNORM_SHORT_101010
15325  * CLK_SIGNED_INT8
15326  * CLK_SIGNED_INT16
15327  * CLK_SIGNED_INT32
15328  * CLK_UNSIGNED_INT8
15329  * CLK_UNSIGNED_INT16
15330  * CLK_UNSIGNED_INT32
15331  * CLK_HALF_FLOAT
15332  * CLK_FLOAT
15333  */
15334
15335 //
15336 // Channel Datatype.
15337 //
15338 #define CLK_SNORM_INT8        0x10D0
15339 #define CLK_SNORM_INT16       0x10D1
15340 #define CLK_UNORM_INT8        0x10D2
15341 #define CLK_UNORM_INT16       0x10D3
15342 #define CLK_UNORM_SHORT_565   0x10D4
15343 #define CLK_UNORM_SHORT_555   0x10D5
15344 #define CLK_UNORM_INT_101010  0x10D6
15345 #define CLK_SIGNED_INT8       0x10D7
15346 #define CLK_SIGNED_INT16      0x10D8
15347 #define CLK_SIGNED_INT32      0x10D9
15348 #define CLK_UNSIGNED_INT8     0x10DA
15349 #define CLK_UNSIGNED_INT16    0x10DB
15350 #define CLK_UNSIGNED_INT32    0x10DC
15351 #define CLK_HALF_FLOAT        0x10DD
15352 #define CLK_FLOAT             0x10DE
15353 #define CLK_UNORM_INT24       0x10DF
15354
15355 int __ovld __cnfn get_image_channel_data_type(read_only image1d_t image);
15356 int __ovld __cnfn get_image_channel_data_type(read_only image1d_buffer_t image);
15357 int __ovld __cnfn get_image_channel_data_type(read_only image2d_t image);
15358 int __ovld __cnfn get_image_channel_data_type(read_only image3d_t image);
15359 int __ovld __cnfn get_image_channel_data_type(read_only image1d_array_t image);
15360 int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_t image);
15361 #ifdef cl_khr_depth_images
15362 int __ovld __cnfn get_image_channel_data_type(read_only image2d_depth_t image);
15363 int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_depth_t image);
15364 #endif //cl_khr_depth_images
15365 #if defined(cl_khr_gl_msaa_sharing)
15366 int __ovld __cnfn get_image_channel_data_type(read_only image2d_msaa_t image);
15367 int __ovld __cnfn get_image_channel_data_type(read_only image2d_msaa_depth_t image);
15368 int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_msaa_t image);
15369 int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_msaa_depth_t image);
15370 #endif //cl_khr_gl_msaa_sharing
15371
15372 int __ovld __cnfn get_image_channel_data_type(write_only image1d_t image);
15373 int __ovld __cnfn get_image_channel_data_type(write_only image1d_buffer_t image);
15374 int __ovld __cnfn get_image_channel_data_type(write_only image2d_t image);
15375 #ifdef cl_khr_3d_image_writes
15376 int __ovld __cnfn get_image_channel_data_type(write_only image3d_t image);
15377 #endif
15378 int __ovld __cnfn get_image_channel_data_type(write_only image1d_array_t image);
15379 int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_t image);
15380 #ifdef cl_khr_depth_images
15381 int __ovld __cnfn get_image_channel_data_type(write_only image2d_depth_t image);
15382 int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_depth_t image);
15383 #endif //cl_khr_depth_images
15384 #if defined(cl_khr_gl_msaa_sharing)
15385 int __ovld __cnfn get_image_channel_data_type(write_only image2d_msaa_t image);
15386 int __ovld __cnfn get_image_channel_data_type(write_only image2d_msaa_depth_t image);
15387 int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_msaa_t image);
15388 int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_msaa_depth_t image);
15389 #endif //cl_khr_gl_msaa_sharing
15390
15391 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
15392 int __ovld __cnfn get_image_channel_data_type(read_write image1d_t image);
15393 int __ovld __cnfn get_image_channel_data_type(read_write image1d_buffer_t image);
15394 int __ovld __cnfn get_image_channel_data_type(read_write image2d_t image);
15395 int __ovld __cnfn get_image_channel_data_type(read_write image3d_t image);
15396 int __ovld __cnfn get_image_channel_data_type(read_write image1d_array_t image);
15397 int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_t image);
15398 #ifdef cl_khr_depth_images
15399 int __ovld __cnfn get_image_channel_data_type(read_write image2d_depth_t image);
15400 int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_depth_t image);
15401 #endif //cl_khr_depth_images
15402 #if defined(cl_khr_gl_msaa_sharing)
15403 int __ovld __cnfn get_image_channel_data_type(read_write image2d_msaa_t image);
15404 int __ovld __cnfn get_image_channel_data_type(read_write image2d_msaa_depth_t image);
15405 int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_msaa_t image);
15406 int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_msaa_depth_t image);
15407 #endif //cl_khr_gl_msaa_sharing
15408 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
15409
15410 /**
15411  * Return the image channel order. Valid values are:
15412  * CLK_A
15413  * CLK_R
15414  * CLK_Rx
15415  * CLK_RG
15416  * CLK_RGx
15417  * CLK_RA
15418  * CLK_RGB
15419  * CLK_RGBx
15420  * CLK_RGBA
15421  * CLK_ARGB
15422  * CLK_BGRA
15423  * CLK_INTENSITY
15424  * CLK_LUMINANCE
15425  */
15426 // Channel order, numbering must be aligned with cl_channel_order in cl.h
15427 //
15428 #define CLK_R         0x10B0
15429 #define CLK_A         0x10B1
15430 #define CLK_RG        0x10B2
15431 #define CLK_RA        0x10B3
15432 #define CLK_RGB       0x10B4
15433 #define CLK_RGBA      0x10B5
15434 #define CLK_BGRA      0x10B6
15435 #define CLK_ARGB      0x10B7
15436 #define CLK_INTENSITY 0x10B8
15437 #define CLK_LUMINANCE 0x10B9
15438 #define CLK_Rx                0x10BA
15439 #define CLK_RGx               0x10BB
15440 #define CLK_RGBx              0x10BC
15441 #define CLK_DEPTH             0x10BD
15442 #define CLK_DEPTH_STENCIL     0x10BE
15443 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
15444 #define CLK_sRGB              0x10BF
15445 #define CLK_sRGBx             0x10C0
15446 #define CLK_sRGBA             0x10C1
15447 #define CLK_sBGRA             0x10C2
15448 #define CLK_ABGR              0x10C3
15449 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
15450
15451 int __ovld __cnfn get_image_channel_order(read_only image1d_t image);
15452 int __ovld __cnfn get_image_channel_order(read_only image1d_buffer_t image);
15453 int __ovld __cnfn get_image_channel_order(read_only image2d_t image);
15454 int __ovld __cnfn get_image_channel_order(read_only image3d_t image);
15455 int __ovld __cnfn get_image_channel_order(read_only image1d_array_t image);
15456 int __ovld __cnfn get_image_channel_order(read_only image2d_array_t image);
15457 #ifdef cl_khr_depth_images
15458 int __ovld __cnfn get_image_channel_order(read_only image2d_depth_t image);
15459 int __ovld __cnfn get_image_channel_order(read_only image2d_array_depth_t image);
15460 #endif //cl_khr_depth_images
15461 #if defined(cl_khr_gl_msaa_sharing)
15462 int __ovld __cnfn get_image_channel_order(read_only image2d_msaa_t image);
15463 int __ovld __cnfn get_image_channel_order(read_only image2d_msaa_depth_t image);
15464 int __ovld __cnfn get_image_channel_order(read_only image2d_array_msaa_t image);
15465 int __ovld __cnfn get_image_channel_order(read_only image2d_array_msaa_depth_t image);
15466 #endif //cl_khr_gl_msaa_sharing
15467
15468 int __ovld __cnfn get_image_channel_order(write_only image1d_t image);
15469 int __ovld __cnfn get_image_channel_order(write_only image1d_buffer_t image);
15470 int __ovld __cnfn get_image_channel_order(write_only image2d_t image);
15471 #ifdef cl_khr_3d_image_writes
15472 int __ovld __cnfn get_image_channel_order(write_only image3d_t image);
15473 #endif
15474 int __ovld __cnfn get_image_channel_order(write_only image1d_array_t image);
15475 int __ovld __cnfn get_image_channel_order(write_only image2d_array_t image);
15476 #ifdef cl_khr_depth_images
15477 int __ovld __cnfn get_image_channel_order(write_only image2d_depth_t image);
15478 int __ovld __cnfn get_image_channel_order(write_only image2d_array_depth_t image);
15479 #endif //cl_khr_depth_images
15480 #if defined(cl_khr_gl_msaa_sharing)
15481 int __ovld __cnfn get_image_channel_order(write_only image2d_msaa_t image);
15482 int __ovld __cnfn get_image_channel_order(write_only image2d_msaa_depth_t image);
15483 int __ovld __cnfn get_image_channel_order(write_only image2d_array_msaa_t image);
15484 int __ovld __cnfn get_image_channel_order(write_only image2d_array_msaa_depth_t image);
15485 #endif //cl_khr_gl_msaa_sharing
15486
15487 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
15488 int __ovld __cnfn get_image_channel_order(read_write image1d_t image);
15489 int __ovld __cnfn get_image_channel_order(read_write image1d_buffer_t image);
15490 int __ovld __cnfn get_image_channel_order(read_write image2d_t image);
15491 int __ovld __cnfn get_image_channel_order(read_write image3d_t image);
15492 int __ovld __cnfn get_image_channel_order(read_write image1d_array_t image);
15493 int __ovld __cnfn get_image_channel_order(read_write image2d_array_t image);
15494 #ifdef cl_khr_depth_images
15495 int __ovld __cnfn get_image_channel_order(read_write image2d_depth_t image);
15496 int __ovld __cnfn get_image_channel_order(read_write image2d_array_depth_t image);
15497 #endif //cl_khr_depth_images
15498 #if defined(cl_khr_gl_msaa_sharing)
15499 int __ovld __cnfn get_image_channel_order(read_write image2d_msaa_t image);
15500 int __ovld __cnfn get_image_channel_order(read_write image2d_msaa_depth_t image);
15501 int __ovld __cnfn get_image_channel_order(read_write image2d_array_msaa_t image);
15502 int __ovld __cnfn get_image_channel_order(read_write image2d_array_msaa_depth_t image);
15503 #endif //cl_khr_gl_msaa_sharing
15504 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
15505
15506 /**
15507  * Return the 2D image width and height as an int2
15508  * type. The width is returned in the x component, and
15509  * the height in the y component.
15510  */
15511 int2 __ovld __cnfn get_image_dim(read_only image2d_t image);
15512 int2 __ovld __cnfn get_image_dim(read_only image2d_array_t image);
15513 #ifdef cl_khr_depth_images
15514 int2 __ovld __cnfn get_image_dim(read_only image2d_array_depth_t image);
15515 int2 __ovld __cnfn get_image_dim(read_only image2d_depth_t image);
15516 #endif //cl_khr_depth_images
15517 #if defined(cl_khr_gl_msaa_sharing)
15518 int2 __ovld __cnfn get_image_dim(read_only image2d_msaa_t image);
15519 int2 __ovld __cnfn get_image_dim(read_only image2d_msaa_depth_t image);
15520 int2 __ovld __cnfn get_image_dim(read_only image2d_array_msaa_t image);
15521 int2 __ovld __cnfn get_image_dim(read_only image2d_array_msaa_depth_t image);
15522 #endif //cl_khr_gl_msaa_sharing
15523
15524 int2 __ovld __cnfn get_image_dim(write_only image2d_t image);
15525 int2 __ovld __cnfn get_image_dim(write_only image2d_array_t image);
15526 #ifdef cl_khr_depth_images
15527 int2 __ovld __cnfn get_image_dim(write_only image2d_array_depth_t image);
15528 int2 __ovld __cnfn get_image_dim(write_only image2d_depth_t image);
15529 #endif //cl_khr_depth_images
15530 #if defined(cl_khr_gl_msaa_sharing)
15531 int2 __ovld __cnfn get_image_dim(write_only image2d_msaa_t image);
15532 int2 __ovld __cnfn get_image_dim(write_only image2d_msaa_depth_t image);
15533 int2 __ovld __cnfn get_image_dim(write_only image2d_array_msaa_t image);
15534 int2 __ovld __cnfn get_image_dim(write_only image2d_array_msaa_depth_t image);
15535 #endif //cl_khr_gl_msaa_sharing
15536
15537 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
15538 int2 __ovld __cnfn get_image_dim(read_write image2d_t image);
15539 int2 __ovld __cnfn get_image_dim(read_write image2d_array_t image);
15540 #ifdef cl_khr_depth_images
15541 int2 __ovld __cnfn get_image_dim(read_write image2d_array_depth_t image);
15542 int2 __ovld __cnfn get_image_dim(read_write image2d_depth_t image);
15543 #endif //cl_khr_depth_images
15544 #if defined(cl_khr_gl_msaa_sharing)
15545 int2 __ovld __cnfn get_image_dim(read_write image2d_msaa_t image);
15546 int2 __ovld __cnfn get_image_dim(read_write image2d_msaa_depth_t image);
15547 int2 __ovld __cnfn get_image_dim(read_write image2d_array_msaa_t image);
15548 int2 __ovld __cnfn get_image_dim(read_write image2d_array_msaa_depth_t image);
15549 #endif //cl_khr_gl_msaa_sharing
15550 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
15551
15552 /**
15553  * Return the 3D image width, height, and depth as an
15554  * int4 type. The width is returned in the x
15555  * component, height in the y component, depth in the z
15556  * component and the w component is 0.
15557  */
15558 int4 __ovld __cnfn get_image_dim(read_only image3d_t image);
15559 #ifdef cl_khr_3d_image_writes
15560 int4 __ovld __cnfn get_image_dim(write_only image3d_t image);
15561 #endif
15562 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
15563 int4 __ovld __cnfn get_image_dim(read_write image3d_t image);
15564 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
15565
15566 /**
15567  * Return the image array size.
15568  */
15569
15570 size_t __ovld __cnfn get_image_array_size(read_only image1d_array_t image_array);
15571 size_t __ovld __cnfn get_image_array_size(read_only image2d_array_t image_array);
15572 #ifdef cl_khr_depth_images
15573 size_t __ovld __cnfn get_image_array_size(read_only image2d_array_depth_t image_array);
15574 #endif //cl_khr_depth_images
15575 #if defined(cl_khr_gl_msaa_sharing)
15576 size_t __ovld __cnfn get_image_array_size(read_only image2d_array_msaa_t image_array);
15577 size_t __ovld __cnfn get_image_array_size(read_only image2d_array_msaa_depth_t image_array);
15578 #endif //cl_khr_gl_msaa_sharing
15579
15580 size_t __ovld __cnfn get_image_array_size(write_only image1d_array_t image_array);
15581 size_t __ovld __cnfn get_image_array_size(write_only image2d_array_t image_array);
15582 #ifdef cl_khr_depth_images
15583 size_t __ovld __cnfn get_image_array_size(write_only image2d_array_depth_t image_array);
15584 #endif //cl_khr_depth_images
15585 #if defined(cl_khr_gl_msaa_sharing)
15586 size_t __ovld __cnfn get_image_array_size(write_only image2d_array_msaa_t image_array);
15587 size_t __ovld __cnfn get_image_array_size(write_only image2d_array_msaa_depth_t image_array);
15588 #endif //cl_khr_gl_msaa_sharing
15589
15590 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
15591 size_t __ovld __cnfn get_image_array_size(read_write image1d_array_t image_array);
15592 size_t __ovld __cnfn get_image_array_size(read_write image2d_array_t image_array);
15593 #ifdef cl_khr_depth_images
15594 size_t __ovld __cnfn get_image_array_size(read_write image2d_array_depth_t image_array);
15595 #endif //cl_khr_depth_images
15596 #if defined(cl_khr_gl_msaa_sharing)
15597 size_t __ovld __cnfn get_image_array_size(read_write image2d_array_msaa_t image_array);
15598 size_t __ovld __cnfn get_image_array_size(read_write image2d_array_msaa_depth_t image_array);
15599 #endif //cl_khr_gl_msaa_sharing
15600 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
15601
15602 /**
15603 * Return the number of samples associated with image
15604 */
15605 #if defined(cl_khr_gl_msaa_sharing)
15606 int __ovld get_image_num_samples(read_only image2d_msaa_t image);
15607 int __ovld get_image_num_samples(read_only image2d_msaa_depth_t image);
15608 int __ovld get_image_num_samples(read_only image2d_array_msaa_depth_t image);
15609 int __ovld get_image_num_samples(read_only image2d_array_msaa_t image);
15610 int __ovld get_image_num_samples(read_only image2d_array_msaa_depth_t image);
15611
15612 int __ovld get_image_num_samples(write_only image2d_msaa_t image);
15613 int __ovld get_image_num_samples(write_only image2d_msaa_depth_t image);
15614 int __ovld get_image_num_samples(write_only image2d_array_msaa_depth_t image);
15615 int __ovld get_image_num_samples(write_only image2d_array_msaa_t image);
15616 int __ovld get_image_num_samples(write_only image2d_array_msaa_depth_t image);
15617
15618 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
15619 int __ovld get_image_num_samples(read_write image2d_msaa_t image);
15620 int __ovld get_image_num_samples(read_write image2d_msaa_depth_t image);
15621 int __ovld get_image_num_samples(read_write image2d_array_msaa_depth_t image);
15622 int __ovld get_image_num_samples(read_write image2d_array_msaa_t image);
15623 int __ovld get_image_num_samples(read_write image2d_array_msaa_depth_t image);
15624 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
15625 #endif
15626
15627 // OpenCL v2.0 s6.13.15 - Work-group Functions
15628
15629 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
15630 int __ovld __conv work_group_all(int predicate);
15631 int __ovld __conv work_group_any(int predicate);
15632
15633 #ifdef cl_khr_fp16
15634 half __ovld __conv work_group_broadcast(half a, size_t local_id);
15635 half __ovld __conv work_group_broadcast(half a, size_t x, size_t y);
15636 half __ovld __conv work_group_broadcast(half a, size_t x, size_t y, size_t z);
15637 #endif
15638 int __ovld __conv work_group_broadcast(int a, size_t local_id);
15639 int __ovld __conv work_group_broadcast(int a, size_t x, size_t y);
15640 int __ovld __conv work_group_broadcast(int a, size_t x, size_t y, size_t z);
15641 uint __ovld __conv work_group_broadcast(uint a, size_t local_id);
15642 uint __ovld __conv work_group_broadcast(uint a, size_t x, size_t y);
15643 uint __ovld __conv work_group_broadcast(uint a, size_t x, size_t y, size_t z);
15644 long __ovld __conv work_group_broadcast(long a, size_t local_id);
15645 long __ovld __conv work_group_broadcast(long a, size_t x, size_t y);
15646 long __ovld __conv work_group_broadcast(long a, size_t x, size_t y, size_t z);
15647 ulong __ovld __conv work_group_broadcast(ulong a, size_t local_id);
15648 ulong __ovld __conv work_group_broadcast(ulong a, size_t x, size_t y);
15649 ulong __ovld __conv work_group_broadcast(ulong a, size_t x, size_t y, size_t z);
15650 float __ovld __conv work_group_broadcast(float a, size_t local_id);
15651 float __ovld __conv work_group_broadcast(float a, size_t x, size_t y);
15652 float __ovld __conv work_group_broadcast(float a, size_t x, size_t y, size_t z);
15653 #ifdef cl_khr_fp64
15654 double __ovld __conv work_group_broadcast(double a, size_t local_id);
15655 double __ovld __conv work_group_broadcast(double a, size_t x, size_t y);
15656 double __ovld __conv work_group_broadcast(double a, size_t x, size_t y, size_t z);
15657 #endif //cl_khr_fp64
15658
15659 #ifdef cl_khr_fp16
15660 half __ovld __conv work_group_reduce_add(half x);
15661 half __ovld __conv work_group_reduce_min(half x);
15662 half __ovld __conv work_group_reduce_max(half x);
15663 half __ovld __conv work_group_scan_exclusive_add(half x);
15664 half __ovld __conv work_group_scan_exclusive_min(half x);
15665 half __ovld __conv work_group_scan_exclusive_max(half x);
15666 half __ovld __conv work_group_scan_inclusive_add(half x);
15667 half __ovld __conv work_group_scan_inclusive_min(half x);
15668 half __ovld __conv work_group_scan_inclusive_max(half x);
15669 #endif
15670 int __ovld __conv work_group_reduce_add(int x);
15671 int __ovld __conv work_group_reduce_min(int x);
15672 int __ovld __conv work_group_reduce_max(int x);
15673 int __ovld __conv work_group_scan_exclusive_add(int x);
15674 int __ovld __conv work_group_scan_exclusive_min(int x);
15675 int __ovld __conv work_group_scan_exclusive_max(int x);
15676 int __ovld __conv work_group_scan_inclusive_add(int x);
15677 int __ovld __conv work_group_scan_inclusive_min(int x);
15678 int __ovld __conv work_group_scan_inclusive_max(int x);
15679 uint __ovld __conv work_group_reduce_add(uint x);
15680 uint __ovld __conv work_group_reduce_min(uint x);
15681 uint __ovld __conv work_group_reduce_max(uint x);
15682 uint __ovld __conv work_group_scan_exclusive_add(uint x);
15683 uint __ovld __conv work_group_scan_exclusive_min(uint x);
15684 uint __ovld __conv work_group_scan_exclusive_max(uint x);
15685 uint __ovld __conv work_group_scan_inclusive_add(uint x);
15686 uint __ovld __conv work_group_scan_inclusive_min(uint x);
15687 uint __ovld __conv work_group_scan_inclusive_max(uint x);
15688 long __ovld __conv work_group_reduce_add(long x);
15689 long __ovld __conv work_group_reduce_min(long x);
15690 long __ovld __conv work_group_reduce_max(long x);
15691 long __ovld __conv work_group_scan_exclusive_add(long x);
15692 long __ovld __conv work_group_scan_exclusive_min(long x);
15693 long __ovld __conv work_group_scan_exclusive_max(long x);
15694 long __ovld __conv work_group_scan_inclusive_add(long x);
15695 long __ovld __conv work_group_scan_inclusive_min(long x);
15696 long __ovld __conv work_group_scan_inclusive_max(long x);
15697 ulong __ovld __conv work_group_reduce_add(ulong x);
15698 ulong __ovld __conv work_group_reduce_min(ulong x);
15699 ulong __ovld __conv work_group_reduce_max(ulong x);
15700 ulong __ovld __conv work_group_scan_exclusive_add(ulong x);
15701 ulong __ovld __conv work_group_scan_exclusive_min(ulong x);
15702 ulong __ovld __conv work_group_scan_exclusive_max(ulong x);
15703 ulong __ovld __conv work_group_scan_inclusive_add(ulong x);
15704 ulong __ovld __conv work_group_scan_inclusive_min(ulong x);
15705 ulong __ovld __conv work_group_scan_inclusive_max(ulong x);
15706 float __ovld __conv work_group_reduce_add(float x);
15707 float __ovld __conv work_group_reduce_min(float x);
15708 float __ovld __conv work_group_reduce_max(float x);
15709 float __ovld __conv work_group_scan_exclusive_add(float x);
15710 float __ovld __conv work_group_scan_exclusive_min(float x);
15711 float __ovld __conv work_group_scan_exclusive_max(float x);
15712 float __ovld __conv work_group_scan_inclusive_add(float x);
15713 float __ovld __conv work_group_scan_inclusive_min(float x);
15714 float __ovld __conv work_group_scan_inclusive_max(float x);
15715 #ifdef cl_khr_fp64
15716 double __ovld __conv work_group_reduce_add(double x);
15717 double __ovld __conv work_group_reduce_min(double x);
15718 double __ovld __conv work_group_reduce_max(double x);
15719 double __ovld __conv work_group_scan_exclusive_add(double x);
15720 double __ovld __conv work_group_scan_exclusive_min(double x);
15721 double __ovld __conv work_group_scan_exclusive_max(double x);
15722 double __ovld __conv work_group_scan_inclusive_add(double x);
15723 double __ovld __conv work_group_scan_inclusive_min(double x);
15724 double __ovld __conv work_group_scan_inclusive_max(double x);
15725 #endif //cl_khr_fp64
15726
15727 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
15728
15729 // OpenCL v2.0 s6.13.16 - Pipe Functions
15730 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
15731 #define CLK_NULL_RESERVE_ID (__builtin_astype(((void*)(__SIZE_MAX__)), reserve_id_t))
15732 bool __ovld is_valid_reserve_id(reserve_id_t reserve_id);
15733 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
15734
15735
15736 // OpenCL v2.0 s6.13.17 - Enqueue Kernels
15737 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
15738
15739 #define CL_COMPLETE                                 0x0
15740 #define CL_RUNNING                                  0x1
15741 #define CL_SUBMITTED                                0x2
15742 #define CL_QUEUED                                   0x3
15743
15744 #define CLK_SUCCESS                                 0
15745 #define CLK_ENQUEUE_FAILURE                         -101
15746 #define CLK_INVALID_QUEUE                           -102
15747 #define CLK_INVALID_NDRANGE                         -160
15748 #define CLK_INVALID_EVENT_WAIT_LIST                 -57
15749 #define CLK_DEVICE_QUEUE_FULL                       -161
15750 #define CLK_INVALID_ARG_SIZE                        -51
15751 #define CLK_EVENT_ALLOCATION_FAILURE                -100
15752 #define CLK_OUT_OF_RESOURCES                        -5
15753
15754 #define CLK_NULL_QUEUE                              0
15755 #define CLK_NULL_EVENT (__builtin_astype(((void*)(__SIZE_MAX__)), clk_event_t))
15756
15757 // execution model related definitions
15758 #define CLK_ENQUEUE_FLAGS_NO_WAIT                   0x0
15759 #define CLK_ENQUEUE_FLAGS_WAIT_KERNEL               0x1
15760 #define CLK_ENQUEUE_FLAGS_WAIT_WORK_GROUP           0x2
15761
15762 typedef int kernel_enqueue_flags_t;
15763 typedef int clk_profiling_info;
15764
15765 // Profiling info name (see capture_event_profiling_info)
15766 #define CLK_PROFILING_COMMAND_EXEC_TIME 0x1
15767
15768 #define MAX_WORK_DIM        3
15769
15770 typedef struct {
15771     unsigned int workDimension;
15772     size_t globalWorkOffset[MAX_WORK_DIM];
15773     size_t globalWorkSize[MAX_WORK_DIM];
15774     size_t localWorkSize[MAX_WORK_DIM];
15775 } ndrange_t;
15776
15777 ndrange_t __ovld ndrange_1D(size_t);
15778 ndrange_t __ovld ndrange_1D(size_t, size_t);
15779 ndrange_t __ovld ndrange_1D(size_t, size_t, size_t);
15780
15781 ndrange_t __ovld ndrange_2D(const size_t[2]);
15782 ndrange_t __ovld ndrange_2D(const size_t[2], const size_t[2]);
15783 ndrange_t __ovld ndrange_2D(const size_t[2], const size_t[2], const size_t[2]);
15784
15785 ndrange_t __ovld ndrange_3D(const size_t[3]);
15786 ndrange_t __ovld ndrange_3D(const size_t[3], const size_t[3]);
15787 ndrange_t __ovld ndrange_3D(const size_t[3], const size_t[3], const size_t[3]);
15788
15789 int __ovld enqueue_marker(queue_t, uint, const __private clk_event_t*, __private clk_event_t*);
15790
15791 void __ovld retain_event(clk_event_t);
15792
15793 void __ovld release_event(clk_event_t);
15794
15795 clk_event_t __ovld create_user_event(void);
15796
15797 void __ovld set_user_event_status(clk_event_t e, int state);
15798
15799 bool __ovld is_valid_event (clk_event_t event);
15800
15801 void __ovld capture_event_profiling_info(clk_event_t, clk_profiling_info, __global void* value);
15802
15803 queue_t __ovld get_default_queue(void);
15804 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
15805
15806 // OpenCL Extension v2.0 s9.17 - Sub-groups
15807
15808 #if defined(cl_intel_subgroups) || defined(cl_khr_subgroups)
15809 // Shared Sub Group Functions
15810 uint    __ovld get_sub_group_size(void);
15811 uint    __ovld get_max_sub_group_size(void);
15812 uint    __ovld get_num_sub_groups(void);
15813 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
15814 uint    __ovld get_enqueued_num_sub_groups(void);
15815 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
15816 uint    __ovld get_sub_group_id(void);
15817 uint    __ovld get_sub_group_local_id(void);
15818
15819 void    __ovld __conv sub_group_barrier(cl_mem_fence_flags flags);
15820 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
15821 void    __ovld __conv sub_group_barrier(cl_mem_fence_flags flags, memory_scope scope);
15822 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
15823
15824 int     __ovld __conv sub_group_all(int predicate);
15825 int     __ovld __conv sub_group_any(int predicate);
15826
15827 int     __ovld __conv sub_group_broadcast(int   x, uint sub_group_local_id);
15828 uint    __ovld __conv sub_group_broadcast(uint  x, uint sub_group_local_id);
15829 long    __ovld __conv sub_group_broadcast(long  x, uint sub_group_local_id);
15830 ulong   __ovld __conv sub_group_broadcast(ulong x, uint sub_group_local_id);
15831 float   __ovld __conv sub_group_broadcast(float x, uint sub_group_local_id);
15832
15833 int     __ovld __conv sub_group_reduce_add(int   x);
15834 uint    __ovld __conv sub_group_reduce_add(uint  x);
15835 long    __ovld __conv sub_group_reduce_add(long  x);
15836 ulong   __ovld __conv sub_group_reduce_add(ulong x);
15837 float   __ovld __conv sub_group_reduce_add(float x);
15838 int     __ovld __conv sub_group_reduce_min(int   x);
15839 uint    __ovld __conv sub_group_reduce_min(uint  x);
15840 long    __ovld __conv sub_group_reduce_min(long  x);
15841 ulong   __ovld __conv sub_group_reduce_min(ulong x);
15842 float   __ovld __conv sub_group_reduce_min(float x);
15843 int     __ovld __conv sub_group_reduce_max(int   x);
15844 uint    __ovld __conv sub_group_reduce_max(uint  x);
15845 long    __ovld __conv sub_group_reduce_max(long  x);
15846 ulong   __ovld __conv sub_group_reduce_max(ulong x);
15847 float   __ovld __conv sub_group_reduce_max(float x);
15848
15849 int     __ovld __conv sub_group_scan_exclusive_add(int   x);
15850 uint    __ovld __conv sub_group_scan_exclusive_add(uint  x);
15851 long    __ovld __conv sub_group_scan_exclusive_add(long  x);
15852 ulong   __ovld __conv sub_group_scan_exclusive_add(ulong x);
15853 float   __ovld __conv sub_group_scan_exclusive_add(float x);
15854 int     __ovld __conv sub_group_scan_exclusive_min(int   x);
15855 uint    __ovld __conv sub_group_scan_exclusive_min(uint  x);
15856 long    __ovld __conv sub_group_scan_exclusive_min(long  x);
15857 ulong   __ovld __conv sub_group_scan_exclusive_min(ulong x);
15858 float   __ovld __conv sub_group_scan_exclusive_min(float x);
15859 int     __ovld __conv sub_group_scan_exclusive_max(int   x);
15860 uint    __ovld __conv sub_group_scan_exclusive_max(uint  x);
15861 long    __ovld __conv sub_group_scan_exclusive_max(long  x);
15862 ulong   __ovld __conv sub_group_scan_exclusive_max(ulong x);
15863 float   __ovld __conv sub_group_scan_exclusive_max(float x);
15864
15865 int     __ovld __conv sub_group_scan_inclusive_add(int   x);
15866 uint    __ovld __conv sub_group_scan_inclusive_add(uint  x);
15867 long    __ovld __conv sub_group_scan_inclusive_add(long  x);
15868 ulong   __ovld __conv sub_group_scan_inclusive_add(ulong x);
15869 float   __ovld __conv sub_group_scan_inclusive_add(float x);
15870 int     __ovld __conv sub_group_scan_inclusive_min(int   x);
15871 uint    __ovld __conv sub_group_scan_inclusive_min(uint  x);
15872 long    __ovld __conv sub_group_scan_inclusive_min(long  x);
15873 ulong   __ovld __conv sub_group_scan_inclusive_min(ulong x);
15874 float   __ovld __conv sub_group_scan_inclusive_min(float x);
15875 int     __ovld __conv sub_group_scan_inclusive_max(int   x);
15876 uint    __ovld __conv sub_group_scan_inclusive_max(uint  x);
15877 long    __ovld __conv sub_group_scan_inclusive_max(long  x);
15878 ulong   __ovld __conv sub_group_scan_inclusive_max(ulong x);
15879 float   __ovld __conv sub_group_scan_inclusive_max(float x);
15880
15881 #ifdef cl_khr_fp16
15882 half    __ovld __conv sub_group_broadcast(half x, uint sub_group_local_id);
15883 half    __ovld __conv sub_group_reduce_add(half x);
15884 half    __ovld __conv sub_group_reduce_min(half x);
15885 half    __ovld __conv sub_group_reduce_max(half x);
15886 half    __ovld __conv sub_group_scan_exclusive_add(half x);
15887 half    __ovld __conv sub_group_scan_exclusive_min(half x);
15888 half    __ovld __conv sub_group_scan_exclusive_max(half x);
15889 half    __ovld __conv sub_group_scan_inclusive_add(half x);
15890 half    __ovld __conv sub_group_scan_inclusive_min(half x);
15891 half    __ovld __conv sub_group_scan_inclusive_max(half x);
15892 #endif //cl_khr_fp16
15893
15894 #ifdef cl_khr_fp64
15895 double  __ovld __conv sub_group_broadcast(double x, uint sub_group_local_id);
15896 double  __ovld __conv sub_group_reduce_add(double x);
15897 double  __ovld __conv sub_group_reduce_min(double x);
15898 double  __ovld __conv sub_group_reduce_max(double x);
15899 double  __ovld __conv sub_group_scan_exclusive_add(double x);
15900 double  __ovld __conv sub_group_scan_exclusive_min(double x);
15901 double  __ovld __conv sub_group_scan_exclusive_max(double x);
15902 double  __ovld __conv sub_group_scan_inclusive_add(double x);
15903 double  __ovld __conv sub_group_scan_inclusive_min(double x);
15904 double  __ovld __conv sub_group_scan_inclusive_max(double x);
15905 #endif //cl_khr_fp64
15906
15907 #endif //cl_khr_subgroups cl_intel_subgroups
15908
15909 #if defined(cl_intel_subgroups)
15910 // Intel-Specific Sub Group Functions
15911 float   __ovld __conv intel_sub_group_shuffle( float  x, uint c );
15912 float2  __ovld __conv intel_sub_group_shuffle( float2 x, uint c );
15913 float3  __ovld __conv intel_sub_group_shuffle( float3 x, uint c );
15914 float4  __ovld __conv intel_sub_group_shuffle( float4 x, uint c );
15915 float8  __ovld __conv intel_sub_group_shuffle( float8 x, uint c );
15916 float16 __ovld __conv intel_sub_group_shuffle( float16 x, uint c );
15917
15918 int     __ovld __conv intel_sub_group_shuffle( int  x, uint c );
15919 int2    __ovld __conv intel_sub_group_shuffle( int2 x, uint c );
15920 int3    __ovld __conv intel_sub_group_shuffle( int3 x, uint c );
15921 int4    __ovld __conv intel_sub_group_shuffle( int4 x, uint c );
15922 int8    __ovld __conv intel_sub_group_shuffle( int8 x, uint c );
15923 int16   __ovld __conv intel_sub_group_shuffle( int16 x, uint c );
15924
15925 uint    __ovld __conv intel_sub_group_shuffle( uint  x, uint c );
15926 uint2   __ovld __conv intel_sub_group_shuffle( uint2 x, uint c );
15927 uint3   __ovld __conv intel_sub_group_shuffle( uint3 x, uint c );
15928 uint4   __ovld __conv intel_sub_group_shuffle( uint4 x, uint c );
15929 uint8   __ovld __conv intel_sub_group_shuffle( uint8 x, uint c );
15930 uint16  __ovld __conv intel_sub_group_shuffle( uint16 x, uint c );
15931
15932 long    __ovld __conv intel_sub_group_shuffle( long x, uint c );
15933 ulong   __ovld __conv intel_sub_group_shuffle( ulong x, uint c );
15934
15935 float   __ovld __conv intel_sub_group_shuffle_down( float  cur, float  next, uint c );
15936 float2  __ovld __conv intel_sub_group_shuffle_down( float2 cur, float2 next, uint c );
15937 float3  __ovld __conv intel_sub_group_shuffle_down( float3 cur, float3 next, uint c );
15938 float4  __ovld __conv intel_sub_group_shuffle_down( float4 cur, float4 next, uint c );
15939 float8  __ovld __conv intel_sub_group_shuffle_down( float8 cur, float8 next, uint c );
15940 float16 __ovld __conv intel_sub_group_shuffle_down( float16 cur, float16 next, uint c );
15941
15942 int     __ovld __conv intel_sub_group_shuffle_down( int  cur, int  next, uint c );
15943 int2    __ovld __conv intel_sub_group_shuffle_down( int2 cur, int2 next, uint c );
15944 int3    __ovld __conv intel_sub_group_shuffle_down( int3 cur, int3 next, uint c );
15945 int4    __ovld __conv intel_sub_group_shuffle_down( int4 cur, int4 next, uint c );
15946 int8    __ovld __conv intel_sub_group_shuffle_down( int8 cur, int8 next, uint c );
15947 int16   __ovld __conv intel_sub_group_shuffle_down( int16 cur, int16 next, uint c );
15948
15949 uint    __ovld __conv intel_sub_group_shuffle_down( uint  cur, uint  next, uint c );
15950 uint2   __ovld __conv intel_sub_group_shuffle_down( uint2 cur, uint2 next, uint c );
15951 uint3   __ovld __conv intel_sub_group_shuffle_down( uint3 cur, uint3 next, uint c );
15952 uint4   __ovld __conv intel_sub_group_shuffle_down( uint4 cur, uint4 next, uint c );
15953 uint8   __ovld __conv intel_sub_group_shuffle_down( uint8 cur, uint8 next, uint c );
15954 uint16  __ovld __conv intel_sub_group_shuffle_down( uint16 cur, uint16 next, uint c );
15955
15956 long    __ovld __conv intel_sub_group_shuffle_down( long prev, long cur, uint c );
15957 ulong   __ovld __conv intel_sub_group_shuffle_down( ulong prev, ulong cur, uint c );
15958
15959 float   __ovld __conv intel_sub_group_shuffle_up( float  prev, float  cur, uint c );
15960 float2  __ovld __conv intel_sub_group_shuffle_up( float2 prev, float2 cur, uint c );
15961 float3  __ovld __conv intel_sub_group_shuffle_up( float3 prev, float3 cur, uint c );
15962 float4  __ovld __conv intel_sub_group_shuffle_up( float4 prev, float4 cur, uint c );
15963 float8  __ovld __conv intel_sub_group_shuffle_up( float8 prev, float8 cur, uint c );
15964 float16 __ovld __conv intel_sub_group_shuffle_up( float16 prev, float16 cur, uint c );
15965
15966 int     __ovld __conv intel_sub_group_shuffle_up( int  prev, int  cur, uint c );
15967 int2    __ovld __conv intel_sub_group_shuffle_up( int2 prev, int2 cur, uint c );
15968 int3    __ovld __conv intel_sub_group_shuffle_up( int3 prev, int3 cur, uint c );
15969 int4    __ovld __conv intel_sub_group_shuffle_up( int4 prev, int4 cur, uint c );
15970 int8    __ovld __conv intel_sub_group_shuffle_up( int8 prev, int8 cur, uint c );
15971 int16   __ovld __conv intel_sub_group_shuffle_up( int16 prev, int16 cur, uint c );
15972
15973 uint    __ovld __conv intel_sub_group_shuffle_up( uint  prev, uint  cur, uint c );
15974 uint2   __ovld __conv intel_sub_group_shuffle_up( uint2 prev, uint2 cur, uint c );
15975 uint3   __ovld __conv intel_sub_group_shuffle_up( uint3 prev, uint3 cur, uint c );
15976 uint4   __ovld __conv intel_sub_group_shuffle_up( uint4 prev, uint4 cur, uint c );
15977 uint8   __ovld __conv intel_sub_group_shuffle_up( uint8 prev, uint8 cur, uint c );
15978 uint16  __ovld __conv intel_sub_group_shuffle_up( uint16 prev, uint16 cur, uint c );
15979
15980 long    __ovld __conv intel_sub_group_shuffle_up( long prev, long cur, uint c );
15981 ulong   __ovld __conv intel_sub_group_shuffle_up( ulong prev, ulong cur, uint c );
15982
15983 float   __ovld __conv intel_sub_group_shuffle_xor( float  x, uint c );
15984 float2  __ovld __conv intel_sub_group_shuffle_xor( float2 x, uint c );
15985 float3  __ovld __conv intel_sub_group_shuffle_xor( float3 x, uint c );
15986 float4  __ovld __conv intel_sub_group_shuffle_xor( float4 x, uint c );
15987 float8  __ovld __conv intel_sub_group_shuffle_xor( float8 x, uint c );
15988 float16 __ovld __conv intel_sub_group_shuffle_xor( float16 x, uint c );
15989
15990 int     __ovld __conv intel_sub_group_shuffle_xor( int  x, uint c );
15991 int2    __ovld __conv intel_sub_group_shuffle_xor( int2 x, uint c );
15992 int3    __ovld __conv intel_sub_group_shuffle_xor( int3 x, uint c );
15993 int4    __ovld __conv intel_sub_group_shuffle_xor( int4 x, uint c );
15994 int8    __ovld __conv intel_sub_group_shuffle_xor( int8 x, uint c );
15995 int16   __ovld __conv intel_sub_group_shuffle_xor( int16 x, uint c );
15996
15997 uint    __ovld __conv intel_sub_group_shuffle_xor( uint  x, uint c );
15998 uint2   __ovld __conv intel_sub_group_shuffle_xor( uint2 x, uint c );
15999 uint3   __ovld __conv intel_sub_group_shuffle_xor( uint3 x, uint c );
16000 uint4   __ovld __conv intel_sub_group_shuffle_xor( uint4 x, uint c );
16001 uint8   __ovld __conv intel_sub_group_shuffle_xor( uint8 x, uint c );
16002 uint16  __ovld __conv intel_sub_group_shuffle_xor( uint16 x, uint c );
16003
16004 long    __ovld __conv intel_sub_group_shuffle_xor( long x, uint c );
16005 ulong   __ovld __conv intel_sub_group_shuffle_xor( ulong x, uint c );
16006
16007 uint    __ovld __conv intel_sub_group_block_read( read_only image2d_t image, int2 coord );
16008 uint2   __ovld __conv intel_sub_group_block_read2( read_only image2d_t image, int2 coord );
16009 uint4   __ovld __conv intel_sub_group_block_read4( read_only image2d_t image, int2 coord );
16010 uint8   __ovld __conv intel_sub_group_block_read8( read_only image2d_t image, int2 coord );
16011
16012 #if (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
16013 uint    __ovld __conv intel_sub_group_block_read(read_write image2d_t image, int2 coord);
16014 uint2   __ovld __conv intel_sub_group_block_read2(read_write image2d_t image, int2 coord);
16015 uint4   __ovld __conv intel_sub_group_block_read4(read_write image2d_t image, int2 coord);
16016 uint8   __ovld __conv intel_sub_group_block_read8(read_write image2d_t image, int2 coord);
16017 #endif // (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
16018
16019 uint    __ovld __conv intel_sub_group_block_read( const __global uint* p );
16020 uint2   __ovld __conv intel_sub_group_block_read2( const __global uint* p );
16021 uint4   __ovld __conv intel_sub_group_block_read4( const __global uint* p );
16022 uint8   __ovld __conv intel_sub_group_block_read8( const __global uint* p );
16023
16024 void    __ovld __conv intel_sub_group_block_write(write_only image2d_t image, int2 coord, uint data);
16025 void    __ovld __conv intel_sub_group_block_write2(write_only image2d_t image, int2 coord, uint2 data);
16026 void    __ovld __conv intel_sub_group_block_write4(write_only image2d_t image, int2 coord, uint4 data);
16027 void    __ovld __conv intel_sub_group_block_write8(write_only image2d_t image, int2 coord, uint8 data);
16028
16029 #if (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
16030 void    __ovld __conv intel_sub_group_block_write(read_write image2d_t image, int2 coord, uint data);
16031 void    __ovld __conv intel_sub_group_block_write2(read_write image2d_t image, int2 coord, uint2 data);
16032 void    __ovld __conv intel_sub_group_block_write4(read_write image2d_t image, int2 coord, uint4 data);
16033 void    __ovld __conv intel_sub_group_block_write8(read_write image2d_t image, int2 coord, uint8 data);
16034 #endif // (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
16035
16036 void    __ovld __conv intel_sub_group_block_write( __global uint* p, uint data );
16037 void    __ovld __conv intel_sub_group_block_write2( __global uint* p, uint2 data );
16038 void    __ovld __conv intel_sub_group_block_write4( __global uint* p, uint4 data );
16039 void    __ovld __conv intel_sub_group_block_write8( __global uint* p, uint8 data );
16040
16041 #ifdef cl_khr_fp16
16042 half    __ovld __conv intel_sub_group_shuffle( half x, uint c );
16043 half    __ovld __conv intel_sub_group_shuffle_down( half prev, half cur, uint c );
16044 half    __ovld __conv intel_sub_group_shuffle_up( half prev, half cur, uint c );
16045 half    __ovld __conv intel_sub_group_shuffle_xor( half x, uint c );
16046 #endif
16047
16048 #if defined(cl_khr_fp64)
16049 double  __ovld __conv intel_sub_group_shuffle( double x, uint c );
16050 double  __ovld __conv intel_sub_group_shuffle_down( double prev, double cur, uint c );
16051 double  __ovld __conv intel_sub_group_shuffle_up( double prev, double cur, uint c );
16052 double  __ovld __conv intel_sub_group_shuffle_xor( double x, uint c );
16053 #endif
16054
16055 #endif //cl_intel_subgroups
16056
16057 #if defined(cl_intel_subgroups_short)
16058 short       __ovld __conv intel_sub_group_broadcast( short  x, uint sub_group_local_id );
16059 short2      __ovld __conv intel_sub_group_broadcast( short2 x, uint sub_group_local_id );
16060 short3      __ovld __conv intel_sub_group_broadcast( short3 x, uint sub_group_local_id );
16061 short4      __ovld __conv intel_sub_group_broadcast( short4 x, uint sub_group_local_id );
16062 short8      __ovld __conv intel_sub_group_broadcast( short8 x, uint sub_group_local_id );
16063
16064 ushort      __ovld __conv intel_sub_group_broadcast( ushort  x, uint sub_group_local_id );
16065 ushort2     __ovld __conv intel_sub_group_broadcast( ushort2 x, uint sub_group_local_id );
16066 ushort3     __ovld __conv intel_sub_group_broadcast( ushort3 x, uint sub_group_local_id );
16067 ushort4     __ovld __conv intel_sub_group_broadcast( ushort4 x, uint sub_group_local_id );
16068 ushort8     __ovld __conv intel_sub_group_broadcast( ushort8 x, uint sub_group_local_id );
16069
16070 short       __ovld __conv intel_sub_group_shuffle( short   x, uint c );
16071 short2      __ovld __conv intel_sub_group_shuffle( short2  x, uint c );
16072 short3      __ovld __conv intel_sub_group_shuffle( short3  x, uint c );
16073 short4      __ovld __conv intel_sub_group_shuffle( short4  x, uint c );
16074 short8      __ovld __conv intel_sub_group_shuffle( short8  x, uint c );
16075 short16     __ovld __conv intel_sub_group_shuffle( short16 x, uint c);
16076
16077 ushort      __ovld __conv intel_sub_group_shuffle( ushort   x, uint c );
16078 ushort2     __ovld __conv intel_sub_group_shuffle( ushort2  x, uint c );
16079 ushort3     __ovld __conv intel_sub_group_shuffle( ushort3  x, uint c );
16080 ushort4     __ovld __conv intel_sub_group_shuffle( ushort4  x, uint c );
16081 ushort8     __ovld __conv intel_sub_group_shuffle( ushort8  x, uint c );
16082 ushort16    __ovld __conv intel_sub_group_shuffle( ushort16 x, uint c );
16083
16084 short       __ovld __conv intel_sub_group_shuffle_down( short   cur, short   next, uint c );
16085 short2      __ovld __conv intel_sub_group_shuffle_down( short2  cur, short2  next, uint c );
16086 short3      __ovld __conv intel_sub_group_shuffle_down( short3  cur, short3  next, uint c );
16087 short4      __ovld __conv intel_sub_group_shuffle_down( short4  cur, short4  next, uint c );
16088 short8      __ovld __conv intel_sub_group_shuffle_down( short8  cur, short8  next, uint c );
16089 short16     __ovld __conv intel_sub_group_shuffle_down( short16 cur, short16 next, uint c );
16090
16091 ushort      __ovld __conv intel_sub_group_shuffle_down( ushort   cur, ushort   next, uint c );
16092 ushort2     __ovld __conv intel_sub_group_shuffle_down( ushort2  cur, ushort2  next, uint c );
16093 ushort3     __ovld __conv intel_sub_group_shuffle_down( ushort3  cur, ushort3  next, uint c );
16094 ushort4     __ovld __conv intel_sub_group_shuffle_down( ushort4  cur, ushort4  next, uint c );
16095 ushort8     __ovld __conv intel_sub_group_shuffle_down( ushort8  cur, ushort8  next, uint c );
16096 ushort16    __ovld __conv intel_sub_group_shuffle_down( ushort16 cur, ushort16 next, uint c );
16097
16098 short       __ovld __conv intel_sub_group_shuffle_up( short   cur, short   next, uint c );
16099 short2      __ovld __conv intel_sub_group_shuffle_up( short2  cur, short2  next, uint c );
16100 short3      __ovld __conv intel_sub_group_shuffle_up( short3  cur, short3  next, uint c );
16101 short4      __ovld __conv intel_sub_group_shuffle_up( short4  cur, short4  next, uint c );
16102 short8      __ovld __conv intel_sub_group_shuffle_up( short8  cur, short8  next, uint c );
16103 short16     __ovld __conv intel_sub_group_shuffle_up( short16 cur, short16 next, uint c );
16104
16105 ushort      __ovld __conv intel_sub_group_shuffle_up( ushort   cur, ushort   next, uint c );
16106 ushort2     __ovld __conv intel_sub_group_shuffle_up( ushort2  cur, ushort2  next, uint c );
16107 ushort3     __ovld __conv intel_sub_group_shuffle_up( ushort3  cur, ushort3  next, uint c );
16108 ushort4     __ovld __conv intel_sub_group_shuffle_up( ushort4  cur, ushort4  next, uint c );
16109 ushort8     __ovld __conv intel_sub_group_shuffle_up( ushort8  cur, ushort8  next, uint c );
16110 ushort16    __ovld __conv intel_sub_group_shuffle_up( ushort16 cur, ushort16 next, uint c );
16111
16112 short       __ovld __conv intel_sub_group_shuffle_xor( short   x, uint c );
16113 short2      __ovld __conv intel_sub_group_shuffle_xor( short2  x, uint c );
16114 short3      __ovld __conv intel_sub_group_shuffle_xor( short3  x, uint c );
16115 short4      __ovld __conv intel_sub_group_shuffle_xor( short4  x, uint c );
16116 short8      __ovld __conv intel_sub_group_shuffle_xor( short8  x, uint c );
16117 short16     __ovld __conv intel_sub_group_shuffle_xor( short16 x, uint c );
16118
16119 ushort      __ovld __conv intel_sub_group_shuffle_xor( ushort   x, uint c );
16120 ushort2     __ovld __conv intel_sub_group_shuffle_xor( ushort2  x, uint c );
16121 ushort3     __ovld __conv intel_sub_group_shuffle_xor( ushort3  x, uint c );
16122 ushort4     __ovld __conv intel_sub_group_shuffle_xor( ushort4  x, uint c );
16123 ushort8     __ovld __conv intel_sub_group_shuffle_xor( ushort8  x, uint c );
16124 ushort16    __ovld __conv intel_sub_group_shuffle_xor( ushort16 x, uint c );
16125
16126 short       __ovld __conv intel_sub_group_reduce_add( short   x );
16127 ushort      __ovld __conv intel_sub_group_reduce_add( ushort  x );
16128 short       __ovld __conv intel_sub_group_reduce_min( short   x );
16129 ushort      __ovld __conv intel_sub_group_reduce_min( ushort  x );
16130 short       __ovld __conv intel_sub_group_reduce_max( short   x );
16131 ushort      __ovld __conv intel_sub_group_reduce_max( ushort  x );
16132
16133 short       __ovld __conv intel_sub_group_scan_exclusive_add( short   x );
16134 ushort      __ovld __conv intel_sub_group_scan_exclusive_add( ushort  x );
16135 short       __ovld __conv intel_sub_group_scan_exclusive_min( short   x );
16136 ushort      __ovld __conv intel_sub_group_scan_exclusive_min( ushort  x );
16137 short       __ovld __conv intel_sub_group_scan_exclusive_max( short   x );
16138 ushort      __ovld __conv intel_sub_group_scan_exclusive_max( ushort  x );
16139
16140 short       __ovld __conv intel_sub_group_scan_inclusive_add( short   x );
16141 ushort      __ovld __conv intel_sub_group_scan_inclusive_add( ushort  x );
16142 short       __ovld __conv intel_sub_group_scan_inclusive_min( short   x );
16143 ushort      __ovld __conv intel_sub_group_scan_inclusive_min( ushort  x );
16144 short       __ovld __conv intel_sub_group_scan_inclusive_max( short   x );
16145 ushort      __ovld __conv intel_sub_group_scan_inclusive_max( ushort  x );
16146
16147 uint       __ovld __conv intel_sub_group_block_read_ui( read_only image2d_t image, int2 byte_coord );
16148 uint2      __ovld __conv intel_sub_group_block_read_ui2( read_only image2d_t image, int2 byte_coord );
16149 uint4      __ovld __conv intel_sub_group_block_read_ui4( read_only image2d_t image, int2 byte_coord );
16150 uint8      __ovld __conv intel_sub_group_block_read_ui8( read_only image2d_t image, int2 byte_coord );
16151
16152 #if (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
16153 uint       __ovld __conv intel_sub_group_block_read_ui( read_write image2d_t image, int2 byte_coord );
16154 uint2      __ovld __conv intel_sub_group_block_read_ui2( read_write image2d_t image, int2 byte_coord );
16155 uint4      __ovld __conv intel_sub_group_block_read_ui4( read_write image2d_t image, int2 byte_coord );
16156 uint8      __ovld __conv intel_sub_group_block_read_ui8( read_write image2d_t image, int2 byte_coord );
16157 #endif // (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
16158
16159 uint       __ovld __conv intel_sub_group_block_read_ui( const __global uint* p );
16160 uint2      __ovld __conv intel_sub_group_block_read_ui2( const __global uint* p );
16161 uint4      __ovld __conv intel_sub_group_block_read_ui4( const __global uint* p );
16162 uint8      __ovld __conv intel_sub_group_block_read_ui8( const __global uint* p );
16163
16164 void       __ovld __conv intel_sub_group_block_write_ui( read_only image2d_t image, int2 byte_coord, uint data );
16165 void       __ovld __conv intel_sub_group_block_write_ui2( read_only image2d_t image, int2 byte_coord, uint2 data );
16166 void       __ovld __conv intel_sub_group_block_write_ui4( read_only image2d_t image, int2 byte_coord, uint4 data );
16167 void       __ovld __conv intel_sub_group_block_write_ui8( read_only image2d_t image, int2 byte_coord, uint8 data );
16168
16169 #if (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
16170 void       __ovld __conv intel_sub_group_block_write_ui( read_write image2d_t image, int2 byte_coord, uint data );
16171 void       __ovld __conv intel_sub_group_block_write_ui2( read_write image2d_t image, int2 byte_coord, uint2 data );
16172 void       __ovld __conv intel_sub_group_block_write_ui4( read_write image2d_t image, int2 byte_coord, uint4 data );
16173 void       __ovld __conv intel_sub_group_block_write_ui8( read_write image2d_t image, int2 byte_coord, uint8 data );
16174 #endif // (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
16175
16176 void       __ovld __conv intel_sub_group_block_write_ui( __global uint* p, uint data );
16177 void       __ovld __conv intel_sub_group_block_write_ui2( __global uint* p, uint2 data );
16178 void       __ovld __conv intel_sub_group_block_write_ui4( __global uint* p, uint4 data );
16179 void       __ovld __conv intel_sub_group_block_write_ui8( __global uint* p, uint8 data );
16180
16181 ushort      __ovld __conv intel_sub_group_block_read_us( read_only image2d_t image, int2 coord );
16182 ushort2     __ovld __conv intel_sub_group_block_read_us2( read_only image2d_t image, int2 coord );
16183 ushort4     __ovld __conv intel_sub_group_block_read_us4( read_only image2d_t image, int2 coord );
16184 ushort8     __ovld __conv intel_sub_group_block_read_us8( read_only image2d_t image, int2 coord );
16185
16186 #if (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
16187 ushort      __ovld __conv intel_sub_group_block_read_us(read_write image2d_t image, int2 coord);
16188 ushort2     __ovld __conv intel_sub_group_block_read_us2(read_write image2d_t image, int2 coord);
16189 ushort4     __ovld __conv intel_sub_group_block_read_us4(read_write image2d_t image, int2 coord);
16190 ushort8     __ovld __conv intel_sub_group_block_read_us8(read_write image2d_t image, int2 coord);
16191 #endif // (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
16192
16193 ushort      __ovld __conv intel_sub_group_block_read_us(  const __global ushort* p );
16194 ushort2     __ovld __conv intel_sub_group_block_read_us2( const __global ushort* p );
16195 ushort4     __ovld __conv intel_sub_group_block_read_us4( const __global ushort* p );
16196 ushort8     __ovld __conv intel_sub_group_block_read_us8( const __global ushort* p );
16197
16198 void        __ovld __conv intel_sub_group_block_write_us(write_only image2d_t image, int2 coord, ushort  data);
16199 void        __ovld __conv intel_sub_group_block_write_us2(write_only image2d_t image, int2 coord, ushort2 data);
16200 void        __ovld __conv intel_sub_group_block_write_us4(write_only image2d_t image, int2 coord, ushort4 data);
16201 void        __ovld __conv intel_sub_group_block_write_us8(write_only image2d_t image, int2 coord, ushort8 data);
16202
16203 #if (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
16204 void        __ovld __conv intel_sub_group_block_write_us(read_write image2d_t image, int2 coord, ushort  data);
16205 void        __ovld __conv intel_sub_group_block_write_us2(read_write image2d_t image, int2 coord, ushort2 data);
16206 void        __ovld __conv intel_sub_group_block_write_us4(read_write image2d_t image, int2 coord, ushort4 data);
16207 void        __ovld __conv intel_sub_group_block_write_us8(read_write image2d_t image, int2 coord, ushort8 data);
16208 #endif // (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
16209
16210 void        __ovld __conv intel_sub_group_block_write_us(  __global ushort* p, ushort  data );
16211 void        __ovld __conv intel_sub_group_block_write_us2( __global ushort* p, ushort2 data );
16212 void        __ovld __conv intel_sub_group_block_write_us4( __global ushort* p, ushort4 data );
16213 void        __ovld __conv intel_sub_group_block_write_us8( __global ushort* p, ushort8 data );
16214 #endif // cl_intel_subgroups_short
16215
16216 #ifdef cl_intel_device_side_avc_motion_estimation
16217 #pragma OPENCL EXTENSION cl_intel_device_side_avc_motion_estimation : begin
16218
16219 #define CLK_AVC_ME_MAJOR_16x16_INTEL 0x0
16220 #define CLK_AVC_ME_MAJOR_16x8_INTEL 0x1
16221 #define CLK_AVC_ME_MAJOR_8x16_INTEL 0x2
16222 #define CLK_AVC_ME_MAJOR_8x8_INTEL 0x3
16223
16224 #define CLK_AVC_ME_MINOR_8x8_INTEL 0x0
16225 #define CLK_AVC_ME_MINOR_8x4_INTEL 0x1
16226 #define CLK_AVC_ME_MINOR_4x8_INTEL 0x2
16227 #define CLK_AVC_ME_MINOR_4x4_INTEL 0x3
16228
16229 #define CLK_AVC_ME_MAJOR_FORWARD_INTEL 0x0
16230 #define CLK_AVC_ME_MAJOR_BACKWARD_INTEL 0x1
16231 #define CLK_AVC_ME_MAJOR_BIDIRECTIONAL_INTEL 0x2
16232
16233 #define CLK_AVC_ME_PARTITION_MASK_ALL_INTEL 0x0
16234 #define CLK_AVC_ME_PARTITION_MASK_16x16_INTEL 0x7E
16235 #define CLK_AVC_ME_PARTITION_MASK_16x8_INTEL 0x7D
16236 #define CLK_AVC_ME_PARTITION_MASK_8x16_INTEL 0x7B
16237 #define CLK_AVC_ME_PARTITION_MASK_8x8_INTEL 0x77
16238 #define CLK_AVC_ME_PARTITION_MASK_8x4_INTEL 0x6F
16239 #define CLK_AVC_ME_PARTITION_MASK_4x8_INTEL 0x5F
16240 #define CLK_AVC_ME_PARTITION_MASK_4x4_INTEL 0x3F
16241
16242 #define CLK_AVC_ME_SLICE_TYPE_PRED_INTEL 0x0
16243 #define CLK_AVC_ME_SLICE_TYPE_BPRED_INTEL 0x1
16244 #define CLK_AVC_ME_SLICE_TYPE_INTRA_INTEL 0x2
16245
16246 #define CLK_AVC_ME_SEARCH_WINDOW_EXHAUSTIVE_INTEL 0x0
16247 #define CLK_AVC_ME_SEARCH_WINDOW_SMALL_INTEL 0x1
16248 #define CLK_AVC_ME_SEARCH_WINDOW_TINY_INTEL 0x2
16249 #define CLK_AVC_ME_SEARCH_WINDOW_EXTRA_TINY_INTEL 0x3
16250 #define CLK_AVC_ME_SEARCH_WINDOW_DIAMOND_INTEL 0x4
16251 #define CLK_AVC_ME_SEARCH_WINDOW_LARGE_DIAMOND_INTEL 0x5
16252 #define CLK_AVC_ME_SEARCH_WINDOW_RESERVED0_INTEL 0x6
16253 #define CLK_AVC_ME_SEARCH_WINDOW_RESERVED1_INTEL 0x7
16254 #define CLK_AVC_ME_SEARCH_WINDOW_CUSTOM_INTEL 0x8
16255
16256 #define CLK_AVC_ME_SAD_ADJUST_MODE_NONE_INTEL 0x0
16257 #define CLK_AVC_ME_SAD_ADJUST_MODE_HAAR_INTEL 0x2
16258
16259 #define CLK_AVC_ME_SUBPIXEL_MODE_INTEGER_INTEL 0x0
16260 #define CLK_AVC_ME_SUBPIXEL_MODE_HPEL_INTEL 0x1
16261 #define CLK_AVC_ME_SUBPIXEL_MODE_QPEL_INTEL 0x3
16262
16263 #define CLK_AVC_ME_COST_PRECISION_QPEL_INTEL 0x0
16264 #define CLK_AVC_ME_COST_PRECISION_HPEL_INTEL 0x1
16265 #define CLK_AVC_ME_COST_PRECISION_PEL_INTEL 0x2
16266 #define CLK_AVC_ME_COST_PRECISION_DPEL_INTEL 0x3
16267
16268 #define CLK_AVC_ME_BIDIR_WEIGHT_QUARTER_INTEL 0x10
16269 #define CLK_AVC_ME_BIDIR_WEIGHT_THIRD_INTEL 0x15
16270 #define CLK_AVC_ME_BIDIR_WEIGHT_HALF_INTEL 0x20
16271 #define CLK_AVC_ME_BIDIR_WEIGHT_TWO_THIRD_INTEL 0x2B
16272 #define CLK_AVC_ME_BIDIR_WEIGHT_THREE_QUARTER_INTEL 0x30
16273
16274 #define CLK_AVC_ME_BORDER_REACHED_LEFT_INTEL 0x0
16275 #define CLK_AVC_ME_BORDER_REACHED_RIGHT_INTEL 0x2
16276 #define CLK_AVC_ME_BORDER_REACHED_TOP_INTEL 0x4
16277 #define CLK_AVC_ME_BORDER_REACHED_BOTTOM_INTEL 0x8
16278
16279 #define CLK_AVC_ME_INTRA_16x16_INTEL 0x0
16280 #define CLK_AVC_ME_INTRA_8x8_INTEL 0x1
16281 #define CLK_AVC_ME_INTRA_4x4_INTEL 0x2
16282
16283 #define CLK_AVC_ME_SKIP_BLOCK_PARTITION_16x16_INTEL 0x0
16284 #define CLK_AVC_ME_SKIP_BLOCK_PARTITION_8x8_INTEL 0x4000
16285
16286 #define CLK_AVC_ME_SKIP_BLOCK_16x16_FORWARD_ENABLE_INTEL (0x1 << 24)
16287 #define CLK_AVC_ME_SKIP_BLOCK_16x16_BACKWARD_ENABLE_INTEL (0x2 << 24)
16288 #define CLK_AVC_ME_SKIP_BLOCK_16x16_DUAL_ENABLE_INTEL (0x3 << 24)
16289 #define CLK_AVC_ME_SKIP_BLOCK_8x8_FORWARD_ENABLE_INTEL (0x55 << 24)
16290 #define CLK_AVC_ME_SKIP_BLOCK_8x8_BACKWARD_ENABLE_INTEL (0xAA << 24)
16291 #define CLK_AVC_ME_SKIP_BLOCK_8x8_DUAL_ENABLE_INTEL (0xFF << 24)
16292 #define CLK_AVC_ME_SKIP_BLOCK_8x8_0_FORWARD_ENABLE_INTEL (0x1 << 24)
16293 #define CLK_AVC_ME_SKIP_BLOCK_8x8_0_BACKWARD_ENABLE_INTEL (0x2 << 24)
16294 #define CLK_AVC_ME_SKIP_BLOCK_8x8_1_FORWARD_ENABLE_INTEL (0x1 << 26)
16295 #define CLK_AVC_ME_SKIP_BLOCK_8x8_1_BACKWARD_ENABLE_INTEL (0x2 << 26)
16296 #define CLK_AVC_ME_SKIP_BLOCK_8x8_2_FORWARD_ENABLE_INTEL (0x1 << 28)
16297 #define CLK_AVC_ME_SKIP_BLOCK_8x8_2_BACKWARD_ENABLE_INTEL (0x2 << 28)
16298 #define CLK_AVC_ME_SKIP_BLOCK_8x8_3_FORWARD_ENABLE_INTEL (0x1 << 30)
16299 #define CLK_AVC_ME_SKIP_BLOCK_8x8_3_BACKWARD_ENABLE_INTEL (0x2 << 30)
16300
16301 #define CLK_AVC_ME_BLOCK_BASED_SKIP_4x4_INTEL 0x00
16302 #define CLK_AVC_ME_BLOCK_BASED_SKIP_8x8_INTEL 0x80
16303
16304 #define CLK_AVC_ME_INTRA_LUMA_PARTITION_MASK_ALL_INTEL 0x0
16305 #define CLK_AVC_ME_INTRA_LUMA_PARTITION_MASK_16x16_INTEL 0x6
16306 #define CLK_AVC_ME_INTRA_LUMA_PARTITION_MASK_8x8_INTEL 0x5
16307 #define CLK_AVC_ME_INTRA_LUMA_PARTITION_MASK_4x4_INTEL 0x3
16308
16309 #define CLK_AVC_ME_INTRA_NEIGHBOR_LEFT_MASK_ENABLE_INTEL 0x60
16310 #define CLK_AVC_ME_INTRA_NEIGHBOR_UPPER_MASK_ENABLE_INTEL 0x10
16311 #define CLK_AVC_ME_INTRA_NEIGHBOR_UPPER_RIGHT_MASK_ENABLE_INTEL 0x8
16312 #define CLK_AVC_ME_INTRA_NEIGHBOR_UPPER_LEFT_MASK_ENABLE_INTEL 0x4
16313
16314 #define CLK_AVC_ME_LUMA_PREDICTOR_MODE_VERTICAL_INTEL 0x0
16315 #define CLK_AVC_ME_LUMA_PREDICTOR_MODE_HORIZONTAL_INTEL 0x1
16316 #define CLK_AVC_ME_LUMA_PREDICTOR_MODE_DC_INTEL 0x2
16317 #define CLK_AVC_ME_LUMA_PREDICTOR_MODE_DIAGONAL_DOWN_LEFT_INTEL 0x3
16318 #define CLK_AVC_ME_LUMA_PREDICTOR_MODE_DIAGONAL_DOWN_RIGHT_INTEL 0x4
16319 #define CLK_AVC_ME_LUMA_PREDICTOR_MODE_PLANE_INTEL 0x4
16320 #define CLK_AVC_ME_LUMA_PREDICTOR_MODE_VERTICAL_RIGHT_INTEL 0x5
16321 #define CLK_AVC_ME_LUMA_PREDICTOR_MODE_HORIZONTAL_DOWN_INTEL 0x6
16322 #define CLK_AVC_ME_LUMA_PREDICTOR_MODE_VERTICAL_LEFT_INTEL 0x7
16323 #define CLK_AVC_ME_LUMA_PREDICTOR_MODE_HORIZONTAL_UP_INTEL 0x8
16324 #define CLK_AVC_ME_CHROMA_PREDICTOR_MODE_DC_INTEL 0x0
16325 #define CLK_AVC_ME_CHROMA_PREDICTOR_MODE_HORIZONTAL_INTEL 0x1
16326 #define CLK_AVC_ME_CHROMA_PREDICTOR_MODE_VERTICAL_INTEL 0x2
16327 #define CLK_AVC_ME_CHROMA_PREDICTOR_MODE_PLANE_INTEL 0x3
16328
16329 #define CLK_AVC_ME_FRAME_FORWARD_INTEL 0x1
16330 #define CLK_AVC_ME_FRAME_BACKWARD_INTEL 0x2
16331 #define CLK_AVC_ME_FRAME_DUAL_INTEL 0x3
16332
16333 #define CLK_AVC_ME_INTERLACED_SCAN_TOP_FIELD_INTEL 0x0
16334 #define CLK_AVC_ME_INTERLACED_SCAN_BOTTOM_FIELD_INTEL 0x1
16335
16336 #define CLK_AVC_ME_INITIALIZE_INTEL 0x0
16337
16338 #define CLK_AVC_IME_PAYLOAD_INITIALIZE_INTEL 0x0
16339 #define CLK_AVC_REF_PAYLOAD_INITIALIZE_INTEL 0x0
16340 #define CLK_AVC_SIC_PAYLOAD_INITIALIZE_INTEL 0x0
16341
16342 #define CLK_AVC_IME_RESULT_INITIALIZE_INTEL 0x0
16343 #define CLK_AVC_REF_RESULT_INITIALIZE_INTEL 0x0
16344 #define CLK_AVC_SIC_RESULT_INITIALIZE_INTEL 0x0
16345
16346 #define CLK_AVC_IME_RESULT_SINGLE_REFERENCE_STREAMOUT_INITIALIZE_INTEL 0x0
16347 #define CLK_AVC_IME_RESULT_SINGLE_REFERENCE_STREAMIN_INITIALIZE_INTEL 0x0
16348 #define CLK_AVC_IME_RESULT_DUAL_REFERENCE_STREAMOUT_INITIALIZE_INTEL 0x0
16349 #define CLK_AVC_IME_RESULT_DUAL_REFERENCE_STREAMIN_INITIALIZE_INTEL 0x0
16350
16351 // MCE built-in functions
16352 uchar __ovld
16353 intel_sub_group_avc_mce_get_default_inter_base_multi_reference_penalty(
16354     uchar slice_type, uchar qp);
16355 ulong __ovld intel_sub_group_avc_mce_get_default_inter_shape_penalty(
16356     uchar slice_type, uchar qp);
16357 uchar __ovld intel_sub_group_avc_mce_get_default_inter_direction_penalty(
16358     uchar slice_type, uchar qp);
16359 uint __ovld intel_sub_group_avc_mce_get_default_intra_luma_shape_penalty(
16360     uchar slice_type, uchar qp);
16361 uint2 __ovld
16362 intel_sub_group_avc_mce_get_default_inter_motion_vector_cost_table(
16363     uchar slice_type, uchar qp);
16364 uchar __ovld intel_sub_group_avc_mce_get_default_intra_luma_mode_penalty(
16365     uchar slice_type, uchar qp);
16366
16367 uint2 __ovld intel_sub_group_avc_mce_get_default_high_penalty_cost_table();
16368 uint2 __ovld intel_sub_group_avc_mce_get_default_medium_penalty_cost_table();
16369 uint2 __ovld intel_sub_group_avc_mce_get_default_low_penalty_cost_table();
16370 uint __ovld intel_sub_group_avc_mce_get_default_non_dc_luma_intra_penalty();
16371 uchar __ovld
16372 intel_sub_group_avc_mce_get_default_intra_chroma_mode_base_penalty();
16373
16374 intel_sub_group_avc_mce_payload_t __ovld
16375 intel_sub_group_avc_mce_set_inter_base_multi_reference_penalty(
16376     uchar reference_base_penalty, intel_sub_group_avc_mce_payload_t payload);
16377 intel_sub_group_avc_mce_payload_t __ovld
16378 intel_sub_group_avc_mce_set_inter_shape_penalty(
16379     ulong packed_shape_penalty, intel_sub_group_avc_mce_payload_t payload);
16380 intel_sub_group_avc_mce_payload_t __ovld
16381 intel_sub_group_avc_mce_set_inter_direction_penalty(
16382     uchar direction_cost, intel_sub_group_avc_mce_payload_t payload);
16383 intel_sub_group_avc_mce_payload_t __ovld
16384 intel_sub_group_avc_mce_set_motion_vector_cost_function(
16385     ulong packed_cost_center_delta, uint2 packed_cost_table,
16386     uchar cost_precision, intel_sub_group_avc_mce_payload_t payload);
16387 intel_sub_group_avc_mce_payload_t __ovld
16388 intel_sub_group_avc_mce_set_ac_only_haar(
16389     intel_sub_group_avc_mce_payload_t payload);
16390 intel_sub_group_avc_mce_payload_t __ovld
16391 intel_sub_group_avc_mce_set_source_interlaced_field_polarity(
16392     uchar src_field_polarity, intel_sub_group_avc_mce_payload_t payload);
16393 intel_sub_group_avc_mce_payload_t __ovld
16394 intel_sub_group_avc_mce_set_single_reference_interlaced_field_polarity(
16395     uchar ref_field_polarity, intel_sub_group_avc_mce_payload_t payload);
16396 intel_sub_group_avc_mce_payload_t __ovld
16397 intel_sub_group_avc_mce_set_dual_reference_interlaced_field_polarities(
16398     uchar fwd_ref_field_polarity, uchar bwd_ref_field_polarity,
16399     intel_sub_group_avc_mce_payload_t payload);
16400
16401 ulong __ovld intel_sub_group_avc_mce_get_motion_vectors(
16402     intel_sub_group_avc_mce_result_t result);
16403 ushort __ovld intel_sub_group_avc_mce_get_inter_distortions(
16404     intel_sub_group_avc_mce_result_t result);
16405 ushort __ovld intel_sub_group_avc_mce_get_best_inter_distortion(
16406     intel_sub_group_avc_mce_result_t result);
16407 uchar __ovld intel_sub_group_avc_mce_get_inter_major_shape(
16408     intel_sub_group_avc_mce_result_t result);
16409 uchar __ovld intel_sub_group_avc_mce_get_inter_minor_shapes(
16410     intel_sub_group_avc_mce_result_t result);
16411 uchar __ovld intel_sub_group_avc_mce_get_inter_directions(
16412     intel_sub_group_avc_mce_result_t result);
16413 uchar __ovld intel_sub_group_avc_mce_get_inter_motion_vector_count(
16414     intel_sub_group_avc_mce_result_t result);
16415 uint __ovld intel_sub_group_avc_mce_get_inter_reference_ids(
16416     intel_sub_group_avc_mce_result_t result);
16417 uchar __ovld
16418 intel_sub_group_avc_mce_get_inter_reference_interlaced_field_polarities(
16419     uint packed_reference_ids, uint packed_reference_parameter_field_polarities,
16420     intel_sub_group_avc_mce_result_t result);
16421
16422 // IME built-in functions
16423 intel_sub_group_avc_ime_payload_t __ovld
16424 intel_sub_group_avc_ime_initialize(
16425     ushort2 src_coord, uchar partition_mask, uchar sad_adjustment);
16426 intel_sub_group_avc_ime_payload_t __ovld
16427 intel_sub_group_avc_ime_set_single_reference(
16428     short2 ref_offset, uchar search_window_config,
16429     intel_sub_group_avc_ime_payload_t payload);
16430 intel_sub_group_avc_ime_payload_t __ovld
16431 intel_sub_group_avc_ime_set_dual_reference(
16432     short2 fwd_ref_offset, short2 bwd_ref_offset, uchar search_window_config,
16433     intel_sub_group_avc_ime_payload_t payload);
16434 intel_sub_group_avc_ime_payload_t __ovld
16435 intel_sub_group_avc_ime_set_max_motion_vector_count(
16436     uchar max_motion_vector_count, intel_sub_group_avc_ime_payload_t payload);
16437 intel_sub_group_avc_ime_payload_t __ovld
16438 intel_sub_group_avc_ime_set_unidirectional_mix_disable(
16439     intel_sub_group_avc_ime_payload_t payload);
16440 intel_sub_group_avc_ime_payload_t __ovld
16441 intel_sub_group_avc_ime_set_early_search_termination_threshold(
16442     uchar threshold, intel_sub_group_avc_ime_payload_t payload);
16443 intel_sub_group_avc_ime_payload_t __ovld
16444 intel_sub_group_avc_ime_set_weighted_sad(
16445     uint packed_sad_weights, intel_sub_group_avc_ime_payload_t payload);
16446
16447 __attribute__((deprecated("If you use the latest Intel driver, please use "
16448                           "intel_sub_group_avc_ime_ref_window_size instead",
16449                           "intel_sub_group_avc_ime_ref_window_size")))
16450 ushort2 __ovld
16451 intel_sub_group_ime_ref_window_size(uchar search_window_config, char dual_ref);
16452 ushort2 __ovld intel_sub_group_avc_ime_ref_window_size(
16453     uchar search_window_config, char dual_ref);
16454 short2 __ovld intel_sub_group_avc_ime_adjust_ref_offset(
16455     short2 ref_offset, ushort2 src_coord, ushort2 ref_window_size,
16456     ushort2 image_size);
16457
16458 intel_sub_group_avc_ime_result_t __ovld
16459 intel_sub_group_avc_ime_evaluate_with_single_reference(
16460     read_only image2d_t src_image, read_only image2d_t ref_image,
16461     sampler_t vme_media_sampler, intel_sub_group_avc_ime_payload_t payload);
16462 intel_sub_group_avc_ime_result_t __ovld
16463 intel_sub_group_avc_ime_evaluate_with_dual_reference(
16464     read_only image2d_t src_image, read_only image2d_t fwd_ref_image,
16465     read_only image2d_t bwd_ref_image, sampler_t vme_media_sampler,
16466     intel_sub_group_avc_ime_payload_t payload);
16467 intel_sub_group_avc_ime_result_single_reference_streamout_t __ovld
16468 intel_sub_group_avc_ime_evaluate_with_single_reference_streamout(
16469     read_only image2d_t src_image, read_only image2d_t ref_image,
16470     sampler_t vme_media_sampler, intel_sub_group_avc_ime_payload_t payload);
16471 intel_sub_group_avc_ime_result_dual_reference_streamout_t __ovld
16472 intel_sub_group_avc_ime_evaluate_with_dual_reference_streamout(
16473     read_only image2d_t src_image, read_only image2d_t fwd_ref_image,
16474     read_only image2d_t bwd_ref_image, sampler_t vme_media_sampler,
16475     intel_sub_group_avc_ime_payload_t payload);
16476 intel_sub_group_avc_ime_result_t __ovld
16477 intel_sub_group_avc_ime_evaluate_with_single_reference_streamin(
16478     read_only image2d_t src_image, read_only image2d_t ref_image,
16479     sampler_t vme_media_sampler, intel_sub_group_avc_ime_payload_t payload,
16480     intel_sub_group_avc_ime_single_reference_streamin_t streamin_components);
16481 intel_sub_group_avc_ime_result_t __ovld
16482 intel_sub_group_avc_ime_evaluate_with_dual_reference_streamin(
16483     read_only image2d_t src_image, read_only image2d_t fwd_ref_image,
16484     read_only image2d_t bwd_ref_image, sampler_t vme_media_sampler,
16485     intel_sub_group_avc_ime_payload_t payload,
16486     intel_sub_group_avc_ime_dual_reference_streamin_t streamin_components);
16487 intel_sub_group_avc_ime_result_single_reference_streamout_t __ovld
16488 intel_sub_group_avc_ime_evaluate_with_single_reference_streaminout(
16489     read_only image2d_t src_image, read_only image2d_t ref_image,
16490     sampler_t vme_media_sampler, intel_sub_group_avc_ime_payload_t payload,
16491     intel_sub_group_avc_ime_single_reference_streamin_t streamin_components);
16492 intel_sub_group_avc_ime_result_dual_reference_streamout_t __ovld
16493 intel_sub_group_avc_ime_evaluate_with_dual_reference_streaminout(
16494     read_only image2d_t src_image, read_only image2d_t fwd_ref_image,
16495     read_only image2d_t bwd_ref_image, sampler_t vme_media_sampler,
16496     intel_sub_group_avc_ime_payload_t payload,
16497     intel_sub_group_avc_ime_dual_reference_streamin_t streamin_components);
16498
16499 intel_sub_group_avc_ime_single_reference_streamin_t __ovld
16500 intel_sub_group_avc_ime_get_single_reference_streamin(
16501     intel_sub_group_avc_ime_result_single_reference_streamout_t result);
16502 intel_sub_group_avc_ime_dual_reference_streamin_t __ovld
16503 intel_sub_group_avc_ime_get_dual_reference_streamin(
16504     intel_sub_group_avc_ime_result_dual_reference_streamout_t result);
16505 intel_sub_group_avc_ime_result_t __ovld
16506 intel_sub_group_avc_ime_strip_single_reference_streamout(
16507     intel_sub_group_avc_ime_result_single_reference_streamout_t result);
16508 intel_sub_group_avc_ime_result_t __ovld
16509 intel_sub_group_avc_ime_strip_dual_reference_streamout(
16510     intel_sub_group_avc_ime_result_dual_reference_streamout_t result);
16511
16512 uint __ovld intel_sub_group_avc_ime_get_streamout_major_shape_motion_vectors(
16513     intel_sub_group_avc_ime_result_single_reference_streamout_t result,
16514     uchar major_shape);
16515 ushort __ovld intel_sub_group_avc_ime_get_streamout_major_shape_distortions(
16516     intel_sub_group_avc_ime_result_single_reference_streamout_t result,
16517     uchar major_shape);
16518 uchar __ovld intel_sub_group_avc_ime_get_streamout_major_shape_reference_ids(
16519     intel_sub_group_avc_ime_result_single_reference_streamout_t result,
16520     uchar major_shape);
16521 uint __ovld intel_sub_group_avc_ime_get_streamout_major_shape_motion_vectors(
16522     intel_sub_group_avc_ime_result_dual_reference_streamout_t result,
16523     uchar major_shape, uchar direction);
16524 ushort __ovld intel_sub_group_avc_ime_get_streamout_major_shape_distortions(
16525     intel_sub_group_avc_ime_result_dual_reference_streamout_t result,
16526     uchar major_shape, uchar direction);
16527 uchar __ovld intel_sub_group_avc_ime_get_streamout_major_shape_reference_ids(
16528     intel_sub_group_avc_ime_result_dual_reference_streamout_t result,
16529     uchar major_shape, uchar direction);
16530
16531 uchar __ovld intel_sub_group_avc_ime_get_border_reached(
16532     uchar image_select, intel_sub_group_avc_ime_result_t result);
16533 uchar __ovld intel_sub_group_avc_ime_get_truncated_search_indication(
16534     intel_sub_group_avc_ime_result_t result);
16535 uchar __ovld
16536 intel_sub_group_avc_ime_get_unidirectional_early_search_termination(
16537     intel_sub_group_avc_ime_result_t result);
16538 uint __ovld intel_sub_group_avc_ime_get_weighting_pattern_minimum_motion_vector(
16539     intel_sub_group_avc_ime_result_t result);
16540 ushort __ovld intel_sub_group_avc_ime_get_weighting_pattern_minimum_distortion(
16541     intel_sub_group_avc_ime_result_t result);
16542
16543 // REF built-in functions
16544 intel_sub_group_avc_ref_payload_t __ovld
16545 intel_sub_group_avc_fme_initialize(
16546     ushort2 src_coord, ulong motion_vectors, uchar major_shapes,
16547     uchar minor_shapes, uchar directions, uchar pixel_resolution,
16548     uchar sad_adjustment);
16549 intel_sub_group_avc_ref_payload_t __ovld
16550 intel_sub_group_avc_bme_initialize(
16551     ushort2 src_coord, ulong motion_vectors, uchar major_shapes,
16552     uchar minor_shapes, uchar directions, uchar pixel_resolution,
16553     uchar bidirectional_weight, uchar sad_adjustment);
16554
16555 intel_sub_group_avc_ref_payload_t __ovld
16556 intel_sub_group_avc_ref_set_bidirectional_mix_disable(
16557     intel_sub_group_avc_ref_payload_t payload);
16558 intel_sub_group_avc_ref_payload_t __ovld
16559 intel_sub_group_avc_ref_set_bilinear_filter_enable(
16560     intel_sub_group_avc_ref_payload_t payload);
16561
16562 intel_sub_group_avc_ref_result_t __ovld
16563 intel_sub_group_avc_ref_evaluate_with_single_reference(
16564     read_only image2d_t src_image, read_only image2d_t ref_image,
16565     sampler_t vme_media_sampler, intel_sub_group_avc_ref_payload_t payload);
16566 intel_sub_group_avc_ref_result_t __ovld
16567 intel_sub_group_avc_ref_evaluate_with_dual_reference(
16568     read_only image2d_t src_image, read_only image2d_t fwd_ref_image,
16569     read_only image2d_t bwd_ref_image, sampler_t vme_media_sampler,
16570     intel_sub_group_avc_ref_payload_t payload);
16571 intel_sub_group_avc_ref_result_t __ovld
16572 intel_sub_group_avc_ref_evaluate_with_multi_reference(
16573     read_only image2d_t src_image, uint packed_reference_ids,
16574     sampler_t vme_media_sampler, intel_sub_group_avc_ref_payload_t payload);
16575 intel_sub_group_avc_ref_result_t __ovld
16576 intel_sub_group_avc_ref_evaluate_with_multi_reference(
16577     read_only image2d_t src_image, uint packed_reference_ids,
16578     uchar packed_reference_field_polarities, sampler_t vme_media_sampler,
16579     intel_sub_group_avc_ref_payload_t payload);
16580
16581 // SIC built-in functions
16582 intel_sub_group_avc_sic_payload_t __ovld
16583 intel_sub_group_avc_sic_initialize(
16584     ushort2 src_coord);
16585 intel_sub_group_avc_sic_payload_t __ovld
16586 intel_sub_group_avc_sic_configure_skc(
16587     uint skip_block_partition_type, uint skip_motion_vector_mask,
16588     ulong motion_vectors, uchar bidirectional_weight, uchar skip_sad_adjustment,
16589     intel_sub_group_avc_sic_payload_t payload);
16590 intel_sub_group_avc_sic_payload_t __ovld
16591 intel_sub_group_avc_sic_configure_ipe(
16592     uchar luma_intra_partition_mask, uchar intra_neighbour_availabilty,
16593     uchar left_edge_luma_pixels, uchar upper_left_corner_luma_pixel,
16594     uchar upper_edge_luma_pixels, uchar upper_right_edge_luma_pixels,
16595     uchar intra_sad_adjustment, intel_sub_group_avc_sic_payload_t payload);
16596 intel_sub_group_avc_sic_payload_t __ovld
16597 intel_sub_group_avc_sic_configure_ipe(
16598     uchar luma_intra_partition_mask, uchar intra_neighbour_availabilty,
16599     uchar left_edge_luma_pixels, uchar upper_left_corner_luma_pixel,
16600     uchar upper_edge_luma_pixels, uchar upper_right_edge_luma_pixels,
16601     ushort left_edge_chroma_pixels, ushort upper_left_corner_chroma_pixel,
16602     ushort upper_edge_chroma_pixels, uchar intra_sad_adjustment,
16603     intel_sub_group_avc_sic_payload_t payload);
16604 uint __ovld
16605 intel_sub_group_avc_sic_get_motion_vector_mask(
16606     uint skip_block_partition_type, uchar direction);
16607
16608 intel_sub_group_avc_sic_payload_t __ovld
16609 intel_sub_group_avc_sic_set_intra_luma_shape_penalty(
16610     uint packed_shape_cost, intel_sub_group_avc_sic_payload_t payload);
16611 intel_sub_group_avc_sic_payload_t __ovld
16612 intel_sub_group_avc_sic_set_intra_luma_mode_cost_function(
16613     uchar luma_mode_penalty, uint luma_packed_neighbor_modes,
16614     uint luma_packed_non_dc_penalty, intel_sub_group_avc_sic_payload_t payload);
16615 intel_sub_group_avc_sic_payload_t __ovld
16616 intel_sub_group_avc_sic_set_intra_chroma_mode_cost_function(
16617     uchar chroma_mode_penalty, intel_sub_group_avc_sic_payload_t payload);
16618
16619 intel_sub_group_avc_sic_payload_t __ovld
16620 intel_sub_group_avc_sic_set_skc_bilinear_filter_enable(
16621     intel_sub_group_avc_sic_payload_t payload);
16622 intel_sub_group_avc_sic_payload_t __ovld
16623 intel_sub_group_avc_sic_set_skc_forward_transform_enable(
16624     ulong packed_sad_coefficients, intel_sub_group_avc_sic_payload_t payload);
16625 intel_sub_group_avc_sic_payload_t __ovld
16626 intel_sub_group_avc_sic_set_block_based_raw_skip_sad(
16627     uchar block_based_skip_type,
16628     intel_sub_group_avc_sic_payload_t payload);
16629
16630 intel_sub_group_avc_sic_result_t __ovld
16631 intel_sub_group_avc_sic_evaluate_ipe(
16632     read_only image2d_t src_image, sampler_t vme_media_sampler,
16633     intel_sub_group_avc_sic_payload_t payload);
16634 intel_sub_group_avc_sic_result_t __ovld
16635 intel_sub_group_avc_sic_evaluate_with_single_reference(
16636     read_only image2d_t src_image, read_only image2d_t ref_image,
16637     sampler_t vme_media_sampler, intel_sub_group_avc_sic_payload_t payload);
16638 intel_sub_group_avc_sic_result_t __ovld
16639 intel_sub_group_avc_sic_evaluate_with_dual_reference(
16640     read_only image2d_t src_image, read_only image2d_t fwd_ref_image,
16641     read_only image2d_t bwd_ref_image, sampler_t vme_media_sampler,
16642     intel_sub_group_avc_sic_payload_t payload);
16643 intel_sub_group_avc_sic_result_t __ovld
16644 intel_sub_group_avc_sic_evaluate_with_multi_reference(
16645     read_only image2d_t src_image, uint packed_reference_ids,
16646     sampler_t vme_media_sampler, intel_sub_group_avc_sic_payload_t payload);
16647 intel_sub_group_avc_sic_result_t __ovld
16648 intel_sub_group_avc_sic_evaluate_with_multi_reference(
16649     read_only image2d_t src_image, uint packed_reference_ids,
16650     uchar packed_reference_field_polarities, sampler_t vme_media_sampler,
16651     intel_sub_group_avc_sic_payload_t payload);
16652
16653 uchar __ovld intel_sub_group_avc_sic_get_ipe_luma_shape(
16654     intel_sub_group_avc_sic_result_t result);
16655 ushort __ovld intel_sub_group_avc_sic_get_best_ipe_luma_distortion(
16656     intel_sub_group_avc_sic_result_t result);
16657 ushort __ovld intel_sub_group_avc_sic_get_best_ipe_chroma_distortion(
16658     intel_sub_group_avc_sic_result_t result);
16659 ulong __ovld intel_sub_group_avc_sic_get_packed_ipe_luma_modes(
16660     intel_sub_group_avc_sic_result_t result);
16661 uchar __ovld intel_sub_group_avc_sic_get_ipe_chroma_mode(
16662     intel_sub_group_avc_sic_result_t result);
16663 uint __ovld intel_sub_group_avc_sic_get_packed_skc_luma_count_threshold(
16664     intel_sub_group_avc_sic_result_t result);
16665 ulong __ovld intel_sub_group_avc_sic_get_packed_skc_luma_sum_threshold(
16666     intel_sub_group_avc_sic_result_t result);
16667 ushort __ovld intel_sub_group_avc_sic_get_inter_raw_sads(
16668     intel_sub_group_avc_sic_result_t result);
16669
16670 // Wrappers
16671 intel_sub_group_avc_ime_payload_t __ovld
16672 intel_sub_group_avc_ime_set_inter_base_multi_reference_penalty(
16673     uchar reference_base_penalty, intel_sub_group_avc_ime_payload_t payload);
16674 intel_sub_group_avc_ref_payload_t __ovld
16675 intel_sub_group_avc_ref_set_inter_base_multi_reference_penalty(
16676     uchar reference_base_penalty, intel_sub_group_avc_ref_payload_t payload);
16677 intel_sub_group_avc_sic_payload_t __ovld
16678 intel_sub_group_avc_sic_set_inter_base_multi_reference_penalty(
16679     uchar reference_base_penalty, intel_sub_group_avc_sic_payload_t payload);
16680
16681 intel_sub_group_avc_ime_payload_t __ovld
16682 intel_sub_group_avc_ime_set_inter_shape_penalty(
16683     ulong packed_shape_cost, intel_sub_group_avc_ime_payload_t payload);
16684 intel_sub_group_avc_ref_payload_t __ovld
16685 intel_sub_group_avc_ref_set_inter_shape_penalty(
16686     ulong packed_shape_cost, intel_sub_group_avc_ref_payload_t payload);
16687 intel_sub_group_avc_sic_payload_t __ovld
16688 intel_sub_group_avc_sic_set_inter_shape_penalty(
16689     ulong packed_shape_cost, intel_sub_group_avc_sic_payload_t payload);
16690
16691 intel_sub_group_avc_ime_payload_t __ovld
16692 intel_sub_group_avc_ime_set_inter_direction_penalty(
16693     uchar direction_cost, intel_sub_group_avc_ime_payload_t payload);
16694 intel_sub_group_avc_ref_payload_t __ovld
16695 intel_sub_group_avc_ref_set_inter_direction_penalty(
16696     uchar direction_cost, intel_sub_group_avc_ref_payload_t payload);
16697 intel_sub_group_avc_sic_payload_t __ovld
16698 intel_sub_group_avc_sic_set_inter_direction_penalty(
16699     uchar direction_cost, intel_sub_group_avc_sic_payload_t payload);
16700
16701 intel_sub_group_avc_ime_payload_t __ovld
16702 intel_sub_group_avc_ime_set_motion_vector_cost_function(
16703     ulong packed_cost_center_delta, uint2 packed_cost_table,
16704     uchar cost_precision, intel_sub_group_avc_ime_payload_t payload);
16705 intel_sub_group_avc_ref_payload_t __ovld
16706 intel_sub_group_avc_ref_set_motion_vector_cost_function(
16707     ulong packed_cost_center_delta, uint2 packed_cost_table,
16708     uchar cost_precision, intel_sub_group_avc_ref_payload_t payload);
16709 intel_sub_group_avc_sic_payload_t __ovld
16710 intel_sub_group_avc_sic_set_motion_vector_cost_function(
16711     ulong packed_cost_center_delta, uint2 packed_cost_table,
16712     uchar cost_precision, intel_sub_group_avc_sic_payload_t payload);
16713
16714 intel_sub_group_avc_ime_payload_t __ovld
16715 intel_sub_group_avc_ime_set_source_interlaced_field_polarity(
16716     uchar src_field_polarity, intel_sub_group_avc_ime_payload_t payload);
16717 intel_sub_group_avc_ref_payload_t __ovld
16718 intel_sub_group_avc_ref_set_source_interlaced_field_polarity(
16719     uchar src_field_polarity, intel_sub_group_avc_ref_payload_t payload);
16720 intel_sub_group_avc_sic_payload_t __ovld
16721 intel_sub_group_avc_sic_set_source_interlaced_field_polarity(
16722     uchar src_field_polarity, intel_sub_group_avc_sic_payload_t payload);
16723
16724 intel_sub_group_avc_ime_payload_t __ovld
16725 intel_sub_group_avc_ime_set_single_reference_interlaced_field_polarity(
16726     uchar ref_field_polarity, intel_sub_group_avc_ime_payload_t payload);
16727 intel_sub_group_avc_ref_payload_t __ovld
16728 intel_sub_group_avc_ref_set_single_reference_interlaced_field_polarity(
16729     uchar ref_field_polarity, intel_sub_group_avc_ref_payload_t payload);
16730 intel_sub_group_avc_sic_payload_t __ovld
16731 intel_sub_group_avc_sic_set_single_reference_interlaced_field_polarity(
16732     uchar ref_field_polarity, intel_sub_group_avc_sic_payload_t payload);
16733 intel_sub_group_avc_ime_payload_t __ovld
16734 intel_sub_group_avc_ime_set_dual_reference_interlaced_field_polarities(
16735     uchar fwd_ref_field_polarity, uchar bwd_ref_field_polarity,
16736     intel_sub_group_avc_ime_payload_t payload);
16737 intel_sub_group_avc_ref_payload_t __ovld
16738 intel_sub_group_avc_ref_set_dual_reference_interlaced_field_polarities(
16739     uchar fwd_ref_field_polarity, uchar bwd_ref_field_polarity,
16740     intel_sub_group_avc_ref_payload_t payload);
16741 intel_sub_group_avc_sic_payload_t __ovld
16742 intel_sub_group_avc_sic_set_dual_reference_interlaced_field_polarities(
16743     uchar fwd_ref_field_polarity, uchar bwd_ref_field_polarity,
16744     intel_sub_group_avc_sic_payload_t payload);
16745
16746 intel_sub_group_avc_ime_payload_t __ovld
16747 intel_sub_group_avc_ime_set_ac_only_haar(
16748     intel_sub_group_avc_ime_payload_t payload);
16749 intel_sub_group_avc_ref_payload_t __ovld
16750 intel_sub_group_avc_ref_set_ac_only_haar(
16751     intel_sub_group_avc_ref_payload_t payload);
16752 intel_sub_group_avc_sic_payload_t __ovld
16753 intel_sub_group_avc_sic_set_ac_only_haar(
16754     intel_sub_group_avc_sic_payload_t payload);
16755
16756 ulong __ovld intel_sub_group_avc_ime_get_motion_vectors(
16757     intel_sub_group_avc_ime_result_t result);
16758 ulong __ovld intel_sub_group_avc_ref_get_motion_vectors(
16759     intel_sub_group_avc_ref_result_t result);
16760
16761 ushort __ovld intel_sub_group_avc_ime_get_inter_distortions(
16762     intel_sub_group_avc_ime_result_t result);
16763 ushort __ovld intel_sub_group_avc_ref_get_inter_distortions(
16764     intel_sub_group_avc_ref_result_t result);
16765 ushort __ovld intel_sub_group_avc_sic_get_inter_distortions(
16766     intel_sub_group_avc_sic_result_t result);
16767
16768 ushort __ovld intel_sub_group_avc_ime_get_best_inter_distortion(
16769     intel_sub_group_avc_ime_result_t result);
16770 ushort __ovld intel_sub_group_avc_ref_get_best_inter_distortion(
16771     intel_sub_group_avc_ref_result_t result);
16772
16773 uchar __ovld intel_sub_group_avc_ime_get_inter_major_shape(
16774     intel_sub_group_avc_ime_result_t result);
16775 uchar __ovld intel_sub_group_avc_ref_get_inter_major_shape(
16776     intel_sub_group_avc_ref_result_t result);
16777 uchar __ovld intel_sub_group_avc_ime_get_inter_minor_shapes(
16778     intel_sub_group_avc_ime_result_t result);
16779 uchar __ovld intel_sub_group_avc_ref_get_inter_minor_shapes(
16780     intel_sub_group_avc_ref_result_t result);
16781
16782 uchar __ovld intel_sub_group_avc_ime_get_inter_directions(
16783     intel_sub_group_avc_ime_result_t result);
16784 uchar __ovld intel_sub_group_avc_ref_get_inter_directions(
16785     intel_sub_group_avc_ref_result_t result);
16786
16787 uchar __ovld intel_sub_group_avc_ime_get_inter_motion_vector_count(
16788     intel_sub_group_avc_ime_result_t result);
16789 uchar __ovld intel_sub_group_avc_ref_get_inter_motion_vector_count(
16790     intel_sub_group_avc_ref_result_t result);
16791
16792 uint __ovld intel_sub_group_avc_ime_get_inter_reference_ids(
16793     intel_sub_group_avc_ime_result_t result);
16794 uint __ovld intel_sub_group_avc_ref_get_inter_reference_ids(
16795     intel_sub_group_avc_ref_result_t result);
16796
16797 uchar __ovld
16798 intel_sub_group_avc_ime_get_inter_reference_interlaced_field_polarities(
16799     uint packed_reference_ids, uint packed_reference_parameter_field_polarities,
16800     intel_sub_group_avc_ime_result_t result);
16801 uchar __ovld
16802 intel_sub_group_avc_ref_get_inter_reference_interlaced_field_polarities(
16803     uint packed_reference_ids, uint packed_reference_parameter_field_polarities,
16804     intel_sub_group_avc_ref_result_t result);
16805
16806 // Type conversion functions
16807 intel_sub_group_avc_mce_payload_t __ovld
16808 intel_sub_group_avc_ime_convert_to_mce_payload(
16809     intel_sub_group_avc_ime_payload_t payload);
16810 intel_sub_group_avc_ime_payload_t __ovld
16811 intel_sub_group_avc_mce_convert_to_ime_payload(
16812     intel_sub_group_avc_mce_payload_t payload);
16813 intel_sub_group_avc_mce_payload_t __ovld
16814 intel_sub_group_avc_ref_convert_to_mce_payload(
16815     intel_sub_group_avc_ref_payload_t payload);
16816 intel_sub_group_avc_ref_payload_t __ovld
16817 intel_sub_group_avc_mce_convert_to_ref_payload(
16818     intel_sub_group_avc_mce_payload_t payload);
16819 intel_sub_group_avc_mce_payload_t __ovld
16820 intel_sub_group_avc_sic_convert_to_mce_payload(
16821     intel_sub_group_avc_sic_payload_t payload);
16822 intel_sub_group_avc_sic_payload_t __ovld
16823 intel_sub_group_avc_mce_convert_to_sic_payload(
16824     intel_sub_group_avc_mce_payload_t payload);
16825
16826 intel_sub_group_avc_mce_result_t __ovld
16827 intel_sub_group_avc_ime_convert_to_mce_result(
16828     intel_sub_group_avc_ime_result_t result);
16829 intel_sub_group_avc_ime_result_t __ovld
16830 intel_sub_group_avc_mce_convert_to_ime_result(
16831     intel_sub_group_avc_mce_result_t result);
16832 intel_sub_group_avc_mce_result_t __ovld
16833 intel_sub_group_avc_ref_convert_to_mce_result(
16834     intel_sub_group_avc_ref_result_t result);
16835 intel_sub_group_avc_ref_result_t __ovld
16836 intel_sub_group_avc_mce_convert_to_ref_result(
16837     intel_sub_group_avc_mce_result_t result);
16838 intel_sub_group_avc_mce_result_t __ovld
16839 intel_sub_group_avc_sic_convert_to_mce_result(
16840     intel_sub_group_avc_sic_result_t result);
16841 intel_sub_group_avc_sic_result_t __ovld
16842 intel_sub_group_avc_mce_convert_to_sic_result(
16843     intel_sub_group_avc_mce_result_t result);
16844 #pragma OPENCL EXTENSION cl_intel_device_side_avc_motion_estimation : end
16845 #endif // cl_intel_device_side_avc_motion_estimation
16846
16847 #ifdef cl_amd_media_ops
16848 uint __ovld amd_bitalign(uint a, uint b, uint c);
16849 uint2 __ovld amd_bitalign(uint2 a, uint2 b, uint2 c);
16850 uint3 __ovld amd_bitalign(uint3 a, uint3 b, uint3 c);
16851 uint4 __ovld amd_bitalign(uint4 a, uint4 b, uint4 c);
16852 uint8 __ovld amd_bitalign(uint8 a, uint8 b, uint8 c);
16853 uint16 __ovld amd_bitalign(uint16 a, uint16 b, uint16 c);
16854
16855 uint __ovld amd_bytealign(uint a, uint b, uint c);
16856 uint2 __ovld amd_bytealign(uint2 a, uint2 b, uint2 c);
16857 uint3 __ovld amd_bytealign(uint3 a, uint3 b, uint3 c);
16858 uint4 __ovld amd_bytealign(uint4 a, uint4 b, uint4 c);
16859 uint8 __ovld amd_bytealign(uint8 a, uint8 b, uint8 c);
16860 uint16 __ovld amd_bytealign(uint16 a, uint16 b, uint16 c);
16861
16862 uint __ovld amd_lerp(uint a, uint b, uint c);
16863 uint2 __ovld amd_lerp(uint2 a, uint2 b, uint2 c);
16864 uint3 __ovld amd_lerp(uint3 a, uint3 b, uint3 c);
16865 uint4 __ovld amd_lerp(uint4 a, uint4 b, uint4 c);
16866 uint8 __ovld amd_lerp(uint8 a, uint8 b, uint8 c);
16867 uint16 __ovld amd_lerp(uint16 a, uint16 b, uint16 c);
16868
16869 uint __ovld amd_pack(float4 v);
16870
16871 uint __ovld amd_sad4(uint4 x, uint4 y, uint z);
16872
16873 uint __ovld amd_sadhi(uint a, uint b, uint c);
16874 uint2 __ovld amd_sadhi(uint2 a, uint2 b, uint2 c);
16875 uint3 __ovld amd_sadhi(uint3 a, uint3 b, uint3 c);
16876 uint4 __ovld amd_sadhi(uint4 a, uint4 b, uint4 c);
16877 uint8 __ovld amd_sadhi(uint8 a, uint8 b, uint8 c);
16878 uint16 __ovld amd_sadhi(uint16 a, uint16 b, uint16 c);
16879
16880 uint __ovld amd_sad(uint a, uint b, uint c);
16881 uint2 __ovld amd_sad(uint2 a, uint2 b, uint2 c);
16882 uint3 __ovld amd_sad(uint3 a, uint3 b, uint3 c);
16883 uint4 __ovld amd_sad(uint4 a, uint4 b, uint4 c);
16884 uint8 __ovld amd_sad(uint8 a, uint8 b, uint8 c);
16885 uint16 __ovld amd_sad(uint16 a, uint16 b, uint16 c);
16886
16887 float __ovld amd_unpack0(uint a);
16888 float2 __ovld amd_unpack0(uint2 a);
16889 float3 __ovld amd_unpack0(uint3 a);
16890 float4 __ovld amd_unpack0(uint4 a);
16891 float8 __ovld amd_unpack0(uint8 a);
16892 float16 __ovld amd_unpack0(uint16 a);
16893
16894 float __ovld amd_unpack1(uint a);
16895 float2 __ovld amd_unpack1(uint2 a);
16896 float3 __ovld amd_unpack1(uint3 a);
16897 float4 __ovld amd_unpack1(uint4 a);
16898 float8 __ovld amd_unpack1(uint8 a);
16899 float16 __ovld amd_unpack1(uint16 a);
16900
16901 float __ovld amd_unpack2(uint a);
16902 float2 __ovld amd_unpack2(uint2 a);
16903 float3 __ovld amd_unpack2(uint3 a);
16904 float4 __ovld amd_unpack2(uint4 a);
16905 float8 __ovld amd_unpack2(uint8 a);
16906 float16 __ovld amd_unpack2(uint16 a);
16907
16908 float __ovld amd_unpack3(uint a);
16909 float2 __ovld amd_unpack3(uint2 a);
16910 float3 __ovld amd_unpack3(uint3 a);
16911 float4 __ovld amd_unpack3(uint4 a);
16912 float8 __ovld amd_unpack3(uint8 a);
16913 float16 __ovld amd_unpack3(uint16 a);
16914 #endif // cl_amd_media_ops
16915
16916 #ifdef cl_amd_media_ops2
16917 int __ovld amd_bfe(int src0, uint src1, uint src2);
16918 int2 __ovld amd_bfe(int2 src0, uint2 src1, uint2 src2);
16919 int3 __ovld amd_bfe(int3 src0, uint3 src1, uint3 src2);
16920 int4 __ovld amd_bfe(int4 src0, uint4 src1, uint4 src2);
16921 int8 __ovld amd_bfe(int8 src0, uint8 src1, uint8 src2);
16922 int16 __ovld amd_bfe(int16 src0, uint16 src1, uint16 src2);
16923
16924 uint __ovld amd_bfe(uint src0, uint src1, uint src2);
16925 uint2 __ovld amd_bfe(uint2 src0, uint2 src1, uint2 src2);
16926 uint3 __ovld amd_bfe(uint3 src0, uint3 src1, uint3 src2);
16927 uint4 __ovld amd_bfe(uint4 src0, uint4 src1, uint4 src2);
16928 uint8 __ovld amd_bfe(uint8 src0, uint8 src1, uint8 src2);
16929 uint16 __ovld amd_bfe(uint16 src0, uint16 src1, uint16 src2);
16930
16931 uint __ovld amd_bfm(uint src0, uint src1);
16932 uint2 __ovld amd_bfm(uint2 src0, uint2 src1);
16933 uint3 __ovld amd_bfm(uint3 src0, uint3 src1);
16934 uint4 __ovld amd_bfm(uint4 src0, uint4 src1);
16935 uint8 __ovld amd_bfm(uint8 src0, uint8 src1);
16936 uint16 __ovld amd_bfm(uint16 src0, uint16 src1);
16937
16938 float __ovld amd_max3(float src0, float src1, float src2);
16939 float2 __ovld amd_max3(float2 src0, float2 src1, float2 src2);
16940 float3 __ovld amd_max3(float3 src0, float3 src1, float3 src2);
16941 float4 __ovld amd_max3(float4 src0, float4 src1, float4 src2);
16942 float8 __ovld amd_max3(float8 src0, float8 src1, float8 src2);
16943 float16 __ovld amd_max3(float16 src0, float16 src1, float16 src2);
16944
16945 int __ovld amd_max3(int src0, int src1, int src2);
16946 int2 __ovld amd_max3(int2 src0, int2 src1, int2 src2);
16947 int3 __ovld amd_max3(int3 src0, int3 src1, int3 src2);
16948 int4 __ovld amd_max3(int4 src0, int4 src1, int4 src2);
16949 int8 __ovld amd_max3(int8 src0, int8 src1, int8 src2);
16950 int16 __ovld amd_max3(int16 src0, int16 src1, int16 src2);
16951
16952 uint __ovld amd_max3(uint src0, uint src1, uint src2);
16953 uint2 __ovld amd_max3(uint2 src0, uint2 src1, uint2 src2);
16954 uint3 __ovld amd_max3(uint3 src0, uint3 src1, uint3 src2);
16955 uint4 __ovld amd_max3(uint4 src0, uint4 src1, uint4 src2);
16956 uint8 __ovld amd_max3(uint8 src0, uint8 src1, uint8 src2);
16957 uint16 __ovld amd_max3(uint16 src0, uint16 src1, uint16 src2);
16958
16959 float __ovld amd_median3(float src0, float src1, float src2);
16960 float2 __ovld amd_median3(float2 src0, float2 src1, float2 src2);
16961 float3 __ovld amd_median3(float3 src0, float3 src1, float3 src2);
16962 float4 __ovld amd_median3(float4 src0, float4 src1, float4 src2);
16963 float8 __ovld amd_median3(float8 src0, float8 src1, float8 src2);
16964 float16 __ovld amd_median3(float16 src0, float16 src1, float16 src2);
16965
16966 int __ovld amd_median3(int src0, int src1, int src2);
16967 int2 __ovld amd_median3(int2 src0, int2 src1, int2 src2);
16968 int3 __ovld amd_median3(int3 src0, int3 src1, int3 src2);
16969 int4 __ovld amd_median3(int4 src0, int4 src1, int4 src2);
16970 int8 __ovld amd_median3(int8 src0, int8 src1, int8 src2);
16971 int16 __ovld amd_median3(int16 src0, int16 src1, int16 src2);
16972
16973 uint __ovld amd_median3(uint src0, uint src1, uint src2);
16974 uint2 __ovld amd_median3(uint2 src0, uint2 src1, uint2 src2);
16975 uint3 __ovld amd_median3(uint3 src0, uint3 src1, uint3 src2);
16976 uint4 __ovld amd_median3(uint4 src0, uint4 src1, uint4 src2);
16977 uint8 __ovld amd_median3(uint8 src0, uint8 src1, uint8 src2);
16978 uint16 __ovld amd_median3(uint16 src0, uint16 src1, uint16 src2);
16979
16980 float __ovld amd_min3(float src0, float src1, float src);
16981 float2 __ovld amd_min3(float2 src0, float2 src1, float2 src);
16982 float3 __ovld amd_min3(float3 src0, float3 src1, float3 src);
16983 float4 __ovld amd_min3(float4 src0, float4 src1, float4 src);
16984 float8 __ovld amd_min3(float8 src0, float8 src1, float8 src);
16985 float16 __ovld amd_min3(float16 src0, float16 src1, float16 src);
16986
16987 int __ovld amd_min3(int src0, int src1, int src2);
16988 int2 __ovld amd_min3(int2 src0, int2 src1, int2 src2);
16989 int3 __ovld amd_min3(int3 src0, int3 src1, int3 src2);
16990 int4 __ovld amd_min3(int4 src0, int4 src1, int4 src2);
16991 int8 __ovld amd_min3(int8 src0, int8 src1, int8 src2);
16992 int16 __ovld amd_min3(int16 src0, int16 src1, int16 src2);
16993
16994 uint __ovld amd_min3(uint src0, uint src1, uint src2);
16995 uint2 __ovld amd_min3(uint2 src0, uint2 src1, uint2 src2);
16996 uint3 __ovld amd_min3(uint3 src0, uint3 src1, uint3 src2);
16997 uint4 __ovld amd_min3(uint4 src0, uint4 src1, uint4 src2);
16998 uint8 __ovld amd_min3(uint8 src0, uint8 src1, uint8 src2);
16999 uint16 __ovld amd_min3(uint16 src0, uint16 src1, uint16 src2);
17000
17001 ulong __ovld amd_mqsad(ulong src0, uint src1, ulong src2);
17002 ulong2 __ovld amd_mqsad(ulong2 src0, uint2 src1, ulong2 src2);
17003 ulong3 __ovld amd_mqsad(ulong3 src0, uint3 src1, ulong3 src2);
17004 ulong4 __ovld amd_mqsad(ulong4 src0, uint4 src1, ulong4 src2);
17005 ulong8 __ovld amd_mqsad(ulong8 src0, uint8 src1, ulong8 src2);
17006 ulong16 __ovld amd_mqsad(ulong16 src0, uint16 src1, ulong16 src2);
17007
17008 ulong __ovld amd_qsad(ulong src0, uint src1, ulong src2);
17009 ulong2 __ovld amd_qsad(ulong2 src0, uint2 src1, ulong2 src2);
17010 ulong3 __ovld amd_qsad(ulong3 src0, uint3 src1, ulong3 src2);
17011 ulong4 __ovld amd_qsad(ulong4 src0, uint4 src1, ulong4 src2);
17012 ulong8 __ovld amd_qsad(ulong8 src0, uint8 src1, ulong8 src2);
17013 ulong16 __ovld amd_qsad(ulong16 src0, uint16 src1, ulong16 src2);
17014
17015 uint __ovld amd_msad(uint src0, uint src1, uint src2);
17016 uint2 __ovld amd_msad(uint2 src0, uint2 src1, uint2 src2);
17017 uint3 __ovld amd_msad(uint3 src0, uint3 src1, uint3 src2);
17018 uint4 __ovld amd_msad(uint4 src0, uint4 src1, uint4 src2);
17019 uint8 __ovld amd_msad(uint8 src0, uint8 src1, uint8 src2);
17020 uint16 __ovld amd_msad(uint16 src0, uint16 src1, uint16 src2);
17021
17022 uint __ovld amd_sadd(uint src0, uint src1, uint src2);
17023 uint2 __ovld amd_sadd(uint2 src0, uint2 src1, uint2 src2);
17024 uint3 __ovld amd_sadd(uint3 src0, uint3 src1, uint3 src2);
17025 uint4 __ovld amd_sadd(uint4 src0, uint4 src1, uint4 src2);
17026 uint8 __ovld amd_sadd(uint8 src0, uint8 src1, uint8 src2);
17027 uint16 __ovld amd_sadd(uint16 src0, uint16 src1, uint16 src2);
17028
17029 uint __ovld amd_sadw(uint src0, uint src1, uint src2);
17030 uint2 __ovld amd_sadw(uint2 src0, uint2 src1, uint2 src2);
17031 uint3 __ovld amd_sadw(uint3 src0, uint3 src1, uint3 src2);
17032 uint4 __ovld amd_sadw(uint4 src0, uint4 src1, uint4 src2);
17033 uint8 __ovld amd_sadw(uint8 src0, uint8 src1, uint8 src2);
17034 uint16 __ovld amd_sadw(uint16 src0, uint16 src1, uint16 src2);
17035 #endif // cl_amd_media_ops2
17036
17037 // Disable any extensions we may have enabled previously.
17038 #pragma OPENCL EXTENSION all : disable
17039
17040 #undef __cnfn
17041 #undef __ovld
17042 #endif //_OPENCL_H_