opencl-c.h revision 314564
1//===--- opencl-c.h - OpenCL C language builtin function header -----------===//
2//
3//                     The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10#ifndef _OPENCL_H_
11#define _OPENCL_H_
12
13#if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
14#ifndef cl_khr_depth_images
15#define cl_khr_depth_images
16#endif //cl_khr_depth_images
17#endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
18
19#define __ovld __attribute__((overloadable))
20#define __conv __attribute__((convergent))
21
22// Optimizations
23#define __purefn __attribute__((pure))
24#define __cnfn __attribute__((const))
25
26// built-in scalar data types:
27
28/**
29 * An unsigned 8-bit integer.
30 */
31typedef unsigned char uchar;
32
33/**
34 * An unsigned 16-bit integer.
35 */
36typedef unsigned short ushort;
37
38/**
39 * An unsigned 32-bit integer.
40 */
41typedef unsigned int uint;
42
43/**
44 * An unsigned 64-bit integer.
45 */
46typedef unsigned long ulong;
47
48/**
49 * The unsigned integer type of the result of the sizeof operator. This
50 * is a 32-bit unsigned integer if CL_DEVICE_ADDRESS_BITS
51 * defined in table 4.3 is 32-bits and is a 64-bit unsigned integer if
52 * CL_DEVICE_ADDRESS_BITS is 64-bits.
53 */
54typedef __SIZE_TYPE__ size_t;
55
56/**
57 * A signed integer type that is the result of subtracting two pointers.
58 * This is a 32-bit signed integer if CL_DEVICE_ADDRESS_BITS
59 * defined in table 4.3 is 32-bits and is a 64-bit signed integer if
60 * CL_DEVICE_ADDRESS_BITS is 64-bits.
61 */
62typedef __PTRDIFF_TYPE__ ptrdiff_t;
63
64/**
65* A signed integer type with the property that any valid pointer to
66* void can be converted to this type, then converted back to pointer
67* to void, and the result will compare equal to the original pointer.
68*/
69typedef __INTPTR_TYPE__ intptr_t;
70
71/**
72* An unsigned integer type with the property that any valid pointer to
73* void can be converted to this type, then converted back to pointer
74* to void, and the result will compare equal to the original pointer.
75*/
76typedef __UINTPTR_TYPE__ uintptr_t;
77
78// built-in vector data types:
79typedef char char2 __attribute__((ext_vector_type(2)));
80typedef char char3 __attribute__((ext_vector_type(3)));
81typedef char char4 __attribute__((ext_vector_type(4)));
82typedef char char8 __attribute__((ext_vector_type(8)));
83typedef char char16 __attribute__((ext_vector_type(16)));
84typedef uchar uchar2 __attribute__((ext_vector_type(2)));
85typedef uchar uchar3 __attribute__((ext_vector_type(3)));
86typedef uchar uchar4 __attribute__((ext_vector_type(4)));
87typedef uchar uchar8 __attribute__((ext_vector_type(8)));
88typedef uchar uchar16 __attribute__((ext_vector_type(16)));
89typedef short short2 __attribute__((ext_vector_type(2)));
90typedef short short3 __attribute__((ext_vector_type(3)));
91typedef short short4 __attribute__((ext_vector_type(4)));
92typedef short short8 __attribute__((ext_vector_type(8)));
93typedef short short16 __attribute__((ext_vector_type(16)));
94typedef ushort ushort2 __attribute__((ext_vector_type(2)));
95typedef ushort ushort3 __attribute__((ext_vector_type(3)));
96typedef ushort ushort4 __attribute__((ext_vector_type(4)));
97typedef ushort ushort8 __attribute__((ext_vector_type(8)));
98typedef ushort ushort16 __attribute__((ext_vector_type(16)));
99typedef int int2 __attribute__((ext_vector_type(2)));
100typedef int int3 __attribute__((ext_vector_type(3)));
101typedef int int4 __attribute__((ext_vector_type(4)));
102typedef int int8 __attribute__((ext_vector_type(8)));
103typedef int int16 __attribute__((ext_vector_type(16)));
104typedef uint uint2 __attribute__((ext_vector_type(2)));
105typedef uint uint3 __attribute__((ext_vector_type(3)));
106typedef uint uint4 __attribute__((ext_vector_type(4)));
107typedef uint uint8 __attribute__((ext_vector_type(8)));
108typedef uint uint16 __attribute__((ext_vector_type(16)));
109typedef long long2 __attribute__((ext_vector_type(2)));
110typedef long long3 __attribute__((ext_vector_type(3)));
111typedef long long4 __attribute__((ext_vector_type(4)));
112typedef long long8 __attribute__((ext_vector_type(8)));
113typedef long long16 __attribute__((ext_vector_type(16)));
114typedef ulong ulong2 __attribute__((ext_vector_type(2)));
115typedef ulong ulong3 __attribute__((ext_vector_type(3)));
116typedef ulong ulong4 __attribute__((ext_vector_type(4)));
117typedef ulong ulong8 __attribute__((ext_vector_type(8)));
118typedef ulong ulong16 __attribute__((ext_vector_type(16)));
119typedef float float2 __attribute__((ext_vector_type(2)));
120typedef float float3 __attribute__((ext_vector_type(3)));
121typedef float float4 __attribute__((ext_vector_type(4)));
122typedef float float8 __attribute__((ext_vector_type(8)));
123typedef float float16 __attribute__((ext_vector_type(16)));
124#ifdef cl_khr_fp16
125#pragma OPENCL EXTENSION cl_khr_fp16 : enable
126typedef half half2 __attribute__((ext_vector_type(2)));
127typedef half half3 __attribute__((ext_vector_type(3)));
128typedef half half4 __attribute__((ext_vector_type(4)));
129typedef half half8 __attribute__((ext_vector_type(8)));
130typedef half half16 __attribute__((ext_vector_type(16)));
131#endif
132#ifdef cl_khr_fp64
133#if __OPENCL_C_VERSION__ < CL_VERSION_1_2
134#pragma OPENCL EXTENSION cl_khr_fp64 : enable
135#endif
136typedef double double2 __attribute__((ext_vector_type(2)));
137typedef double double3 __attribute__((ext_vector_type(3)));
138typedef double double4 __attribute__((ext_vector_type(4)));
139typedef double double8 __attribute__((ext_vector_type(8)));
140typedef double double16 __attribute__((ext_vector_type(16)));
141#endif
142
143#if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
144#define NULL ((void*)0)
145#endif
146
147/**
148 * Value of maximum non-infinite single-precision floating-point
149 * number.
150 */
151#define MAXFLOAT 0x1.fffffep127f
152
153/**
154 * A positive float constant expression. HUGE_VALF evaluates
155 * to +infinity. Used as an error value returned by the built-in
156 * math functions.
157 */
158#define HUGE_VALF (__builtin_huge_valf())
159
160/**
161 * A positive double constant expression. HUGE_VAL evaluates
162 * to +infinity. Used as an error value returned by the built-in
163 * math functions.
164 */
165#define HUGE_VAL (__builtin_huge_val())
166
167/**
168 * A constant expression of type float representing positive or
169 * unsigned infinity.
170 */
171#define INFINITY (__builtin_inff())
172
173/**
174 * A constant expression of type float representing a quiet NaN.
175 */
176#define NAN as_float(INT_MAX)
177
178#define FP_ILOGB0    INT_MIN
179#define FP_ILOGBNAN    INT_MAX
180
181#define FLT_DIG 6
182#define FLT_MANT_DIG 24
183#define FLT_MAX_10_EXP +38
184#define FLT_MAX_EXP +128
185#define FLT_MIN_10_EXP -37
186#define FLT_MIN_EXP -125
187#define FLT_RADIX 2
188#define FLT_MAX 0x1.fffffep127f
189#define FLT_MIN 0x1.0p-126f
190#define FLT_EPSILON 0x1.0p-23f
191
192#define M_E_F         2.71828182845904523536028747135266250f
193#define M_LOG2E_F     1.44269504088896340735992468100189214f
194#define M_LOG10E_F    0.434294481903251827651128918916605082f
195#define M_LN2_F       0.693147180559945309417232121458176568f
196#define M_LN10_F      2.30258509299404568401799145468436421f
197#define M_PI_F        3.14159265358979323846264338327950288f
198#define M_PI_2_F      1.57079632679489661923132169163975144f
199#define M_PI_4_F      0.785398163397448309615660845819875721f
200#define M_1_PI_F      0.318309886183790671537767526745028724f
201#define M_2_PI_F      0.636619772367581343075535053490057448f
202#define M_2_SQRTPI_F  1.12837916709551257389615890312154517f
203#define M_SQRT2_F     1.41421356237309504880168872420969808f
204#define M_SQRT1_2_F   0.707106781186547524400844362104849039f
205
206#define DBL_DIG 15
207#define DBL_MANT_DIG 53
208#define DBL_MAX_10_EXP +308
209#define DBL_MAX_EXP +1024
210#define DBL_MIN_10_EXP -307
211#define DBL_MIN_EXP -1021
212#define DBL_RADIX 2
213#define DBL_MAX 0x1.fffffffffffffp1023
214#define DBL_MIN 0x1.0p-1022
215#define DBL_EPSILON 0x1.0p-52
216
217#define M_E           0x1.5bf0a8b145769p+1
218#define M_LOG2E       0x1.71547652b82fep+0
219#define M_LOG10E      0x1.bcb7b1526e50ep-2
220#define M_LN2         0x1.62e42fefa39efp-1
221#define M_LN10        0x1.26bb1bbb55516p+1
222#define M_PI          0x1.921fb54442d18p+1
223#define M_PI_2        0x1.921fb54442d18p+0
224#define M_PI_4        0x1.921fb54442d18p-1
225#define M_1_PI        0x1.45f306dc9c883p-2
226#define M_2_PI        0x1.45f306dc9c883p-1
227#define M_2_SQRTPI    0x1.20dd750429b6dp+0
228#define M_SQRT2       0x1.6a09e667f3bcdp+0
229#define M_SQRT1_2     0x1.6a09e667f3bcdp-1
230
231#ifdef cl_khr_fp16
232
233#define HALF_DIG 3
234#define HALF_MANT_DIG 11
235#define HALF_MAX_10_EXP +4
236#define HALF_MAX_EXP +16
237#define HALF_MIN_10_EXP -4
238#define HALF_MIN_EXP -13
239#define HALF_RADIX 2
240#define HALF_MAX ((0x1.ffcp15h))
241#define HALF_MIN ((0x1.0p-14h))
242#define HALF_EPSILON ((0x1.0p-10h))
243
244#define M_E_H         2.71828182845904523536028747135266250h
245#define M_LOG2E_H     1.44269504088896340735992468100189214h
246#define M_LOG10E_H    0.434294481903251827651128918916605082h
247#define M_LN2_H       0.693147180559945309417232121458176568h
248#define M_LN10_H      2.30258509299404568401799145468436421h
249#define M_PI_H        3.14159265358979323846264338327950288h
250#define M_PI_2_H      1.57079632679489661923132169163975144h
251#define M_PI_4_H      0.785398163397448309615660845819875721h
252#define M_1_PI_H      0.318309886183790671537767526745028724h
253#define M_2_PI_H      0.636619772367581343075535053490057448h
254#define M_2_SQRTPI_H  1.12837916709551257389615890312154517h
255#define M_SQRT2_H     1.41421356237309504880168872420969808h
256#define M_SQRT1_2_H   0.707106781186547524400844362104849039h
257
258#endif //cl_khr_fp16
259
260#define CHAR_BIT    8
261#define SCHAR_MAX  127
262#define SCHAR_MIN  (-128)
263#define UCHAR_MAX  255
264#define CHAR_MAX  SCHAR_MAX
265#define CHAR_MIN  SCHAR_MIN
266#define USHRT_MAX  65535
267#define SHRT_MAX  32767
268#define SHRT_MIN  (-32768)
269#define UINT_MAX  0xffffffff
270#define INT_MAX    2147483647
271#define INT_MIN    (-2147483647-1)
272#define ULONG_MAX  0xffffffffffffffffUL
273#define LONG_MAX  0x7fffffffffffffffL
274#define LONG_MIN  (-0x7fffffffffffffffL-1)
275
276// OpenCL v1.1/1.2/2.0 s6.2.3 - Explicit conversions
277
278char __ovld __cnfn convert_char_rte(char);
279char __ovld __cnfn convert_char_sat_rte(char);
280char __ovld __cnfn convert_char_rtz(char);
281char __ovld __cnfn convert_char_sat_rtz(char);
282char __ovld __cnfn convert_char_rtp(char);
283char __ovld __cnfn convert_char_sat_rtp(char);
284char __ovld __cnfn convert_char_rtn(char);
285char __ovld __cnfn convert_char_sat_rtn(char);
286char __ovld __cnfn convert_char(char);
287char __ovld __cnfn convert_char_sat(char);
288char __ovld __cnfn convert_char_rte(uchar);
289char __ovld __cnfn convert_char_sat_rte(uchar);
290char __ovld __cnfn convert_char_rtz(uchar);
291char __ovld __cnfn convert_char_sat_rtz(uchar);
292char __ovld __cnfn convert_char_rtp(uchar);
293char __ovld __cnfn convert_char_sat_rtp(uchar);
294char __ovld __cnfn convert_char_rtn(uchar);
295char __ovld __cnfn convert_char_sat_rtn(uchar);
296char __ovld __cnfn convert_char(uchar);
297char __ovld __cnfn convert_char_sat(uchar);
298char __ovld __cnfn convert_char_rte(short);
299char __ovld __cnfn convert_char_sat_rte(short);
300char __ovld __cnfn convert_char_rtz(short);
301char __ovld __cnfn convert_char_sat_rtz(short);
302char __ovld __cnfn convert_char_rtp(short);
303char __ovld __cnfn convert_char_sat_rtp(short);
304char __ovld __cnfn convert_char_rtn(short);
305char __ovld __cnfn convert_char_sat_rtn(short);
306char __ovld __cnfn convert_char(short);
307char __ovld __cnfn convert_char_sat(short);
308char __ovld __cnfn convert_char_rte(ushort);
309char __ovld __cnfn convert_char_sat_rte(ushort);
310char __ovld __cnfn convert_char_rtz(ushort);
311char __ovld __cnfn convert_char_sat_rtz(ushort);
312char __ovld __cnfn convert_char_rtp(ushort);
313char __ovld __cnfn convert_char_sat_rtp(ushort);
314char __ovld __cnfn convert_char_rtn(ushort);
315char __ovld __cnfn convert_char_sat_rtn(ushort);
316char __ovld __cnfn convert_char(ushort);
317char __ovld __cnfn convert_char_sat(ushort);
318char __ovld __cnfn convert_char_rte(int);
319char __ovld __cnfn convert_char_sat_rte(int);
320char __ovld __cnfn convert_char_rtz(int);
321char __ovld __cnfn convert_char_sat_rtz(int);
322char __ovld __cnfn convert_char_rtp(int);
323char __ovld __cnfn convert_char_sat_rtp(int);
324char __ovld __cnfn convert_char_rtn(int);
325char __ovld __cnfn convert_char_sat_rtn(int);
326char __ovld __cnfn convert_char(int);
327char __ovld __cnfn convert_char_sat(int);
328char __ovld __cnfn convert_char_rte(uint);
329char __ovld __cnfn convert_char_sat_rte(uint);
330char __ovld __cnfn convert_char_rtz(uint);
331char __ovld __cnfn convert_char_sat_rtz(uint);
332char __ovld __cnfn convert_char_rtp(uint);
333char __ovld __cnfn convert_char_sat_rtp(uint);
334char __ovld __cnfn convert_char_rtn(uint);
335char __ovld __cnfn convert_char_sat_rtn(uint);
336char __ovld __cnfn convert_char(uint);
337char __ovld __cnfn convert_char_sat(uint);
338char __ovld __cnfn convert_char_rte(long);
339char __ovld __cnfn convert_char_sat_rte(long);
340char __ovld __cnfn convert_char_rtz(long);
341char __ovld __cnfn convert_char_sat_rtz(long);
342char __ovld __cnfn convert_char_rtp(long);
343char __ovld __cnfn convert_char_sat_rtp(long);
344char __ovld __cnfn convert_char_rtn(long);
345char __ovld __cnfn convert_char_sat_rtn(long);
346char __ovld __cnfn convert_char(long);
347char __ovld __cnfn convert_char_sat(long);
348char __ovld __cnfn convert_char_rte(ulong);
349char __ovld __cnfn convert_char_sat_rte(ulong);
350char __ovld __cnfn convert_char_rtz(ulong);
351char __ovld __cnfn convert_char_sat_rtz(ulong);
352char __ovld __cnfn convert_char_rtp(ulong);
353char __ovld __cnfn convert_char_sat_rtp(ulong);
354char __ovld __cnfn convert_char_rtn(ulong);
355char __ovld __cnfn convert_char_sat_rtn(ulong);
356char __ovld __cnfn convert_char(ulong);
357char __ovld __cnfn convert_char_sat(ulong);
358char __ovld __cnfn convert_char_rte(float);
359char __ovld __cnfn convert_char_sat_rte(float);
360char __ovld __cnfn convert_char_rtz(float);
361char __ovld __cnfn convert_char_sat_rtz(float);
362char __ovld __cnfn convert_char_rtp(float);
363char __ovld __cnfn convert_char_sat_rtp(float);
364char __ovld __cnfn convert_char_rtn(float);
365char __ovld __cnfn convert_char_sat_rtn(float);
366char __ovld __cnfn convert_char(float);
367char __ovld __cnfn convert_char_sat(float);
368uchar __ovld __cnfn convert_uchar_rte(char);
369uchar __ovld __cnfn convert_uchar_sat_rte(char);
370uchar __ovld __cnfn convert_uchar_rtz(char);
371uchar __ovld __cnfn convert_uchar_sat_rtz(char);
372uchar __ovld __cnfn convert_uchar_rtp(char);
373uchar __ovld __cnfn convert_uchar_sat_rtp(char);
374uchar __ovld __cnfn convert_uchar_rtn(char);
375uchar __ovld __cnfn convert_uchar_sat_rtn(char);
376uchar __ovld __cnfn convert_uchar(char);
377uchar __ovld __cnfn convert_uchar_sat(char);
378uchar __ovld __cnfn convert_uchar_rte(uchar);
379uchar __ovld __cnfn convert_uchar_sat_rte(uchar);
380uchar __ovld __cnfn convert_uchar_rtz(uchar);
381uchar __ovld __cnfn convert_uchar_sat_rtz(uchar);
382uchar __ovld __cnfn convert_uchar_rtp(uchar);
383uchar __ovld __cnfn convert_uchar_sat_rtp(uchar);
384uchar __ovld __cnfn convert_uchar_rtn(uchar);
385uchar __ovld __cnfn convert_uchar_sat_rtn(uchar);
386uchar __ovld __cnfn convert_uchar(uchar);
387uchar __ovld __cnfn convert_uchar_sat(uchar);
388uchar __ovld __cnfn convert_uchar_rte(short);
389uchar __ovld __cnfn convert_uchar_sat_rte(short);
390uchar __ovld __cnfn convert_uchar_rtz(short);
391uchar __ovld __cnfn convert_uchar_sat_rtz(short);
392uchar __ovld __cnfn convert_uchar_rtp(short);
393uchar __ovld __cnfn convert_uchar_sat_rtp(short);
394uchar __ovld __cnfn convert_uchar_rtn(short);
395uchar __ovld __cnfn convert_uchar_sat_rtn(short);
396uchar __ovld __cnfn convert_uchar(short);
397uchar __ovld __cnfn convert_uchar_sat(short);
398uchar __ovld __cnfn convert_uchar_rte(ushort);
399uchar __ovld __cnfn convert_uchar_sat_rte(ushort);
400uchar __ovld __cnfn convert_uchar_rtz(ushort);
401uchar __ovld __cnfn convert_uchar_sat_rtz(ushort);
402uchar __ovld __cnfn convert_uchar_rtp(ushort);
403uchar __ovld __cnfn convert_uchar_sat_rtp(ushort);
404uchar __ovld __cnfn convert_uchar_rtn(ushort);
405uchar __ovld __cnfn convert_uchar_sat_rtn(ushort);
406uchar __ovld __cnfn convert_uchar(ushort);
407uchar __ovld __cnfn convert_uchar_sat(ushort);
408uchar __ovld __cnfn convert_uchar_rte(int);
409uchar __ovld __cnfn convert_uchar_sat_rte(int);
410uchar __ovld __cnfn convert_uchar_rtz(int);
411uchar __ovld __cnfn convert_uchar_sat_rtz(int);
412uchar __ovld __cnfn convert_uchar_rtp(int);
413uchar __ovld __cnfn convert_uchar_sat_rtp(int);
414uchar __ovld __cnfn convert_uchar_rtn(int);
415uchar __ovld __cnfn convert_uchar_sat_rtn(int);
416uchar __ovld __cnfn convert_uchar(int);
417uchar __ovld __cnfn convert_uchar_sat(int);
418uchar __ovld __cnfn convert_uchar_rte(uint);
419uchar __ovld __cnfn convert_uchar_sat_rte(uint);
420uchar __ovld __cnfn convert_uchar_rtz(uint);
421uchar __ovld __cnfn convert_uchar_sat_rtz(uint);
422uchar __ovld __cnfn convert_uchar_rtp(uint);
423uchar __ovld __cnfn convert_uchar_sat_rtp(uint);
424uchar __ovld __cnfn convert_uchar_rtn(uint);
425uchar __ovld __cnfn convert_uchar_sat_rtn(uint);
426uchar __ovld __cnfn convert_uchar(uint);
427uchar __ovld __cnfn convert_uchar_sat(uint);
428uchar __ovld __cnfn convert_uchar_rte(long);
429uchar __ovld __cnfn convert_uchar_sat_rte(long);
430uchar __ovld __cnfn convert_uchar_rtz(long);
431uchar __ovld __cnfn convert_uchar_sat_rtz(long);
432uchar __ovld __cnfn convert_uchar_rtp(long);
433uchar __ovld __cnfn convert_uchar_sat_rtp(long);
434uchar __ovld __cnfn convert_uchar_rtn(long);
435uchar __ovld __cnfn convert_uchar_sat_rtn(long);
436uchar __ovld __cnfn convert_uchar(long);
437uchar __ovld __cnfn convert_uchar_sat(long);
438uchar __ovld __cnfn convert_uchar_rte(ulong);
439uchar __ovld __cnfn convert_uchar_sat_rte(ulong);
440uchar __ovld __cnfn convert_uchar_rtz(ulong);
441uchar __ovld __cnfn convert_uchar_sat_rtz(ulong);
442uchar __ovld __cnfn convert_uchar_rtp(ulong);
443uchar __ovld __cnfn convert_uchar_sat_rtp(ulong);
444uchar __ovld __cnfn convert_uchar_rtn(ulong);
445uchar __ovld __cnfn convert_uchar_sat_rtn(ulong);
446uchar __ovld __cnfn convert_uchar(ulong);
447uchar __ovld __cnfn convert_uchar_sat(ulong);
448uchar __ovld __cnfn convert_uchar_rte(float);
449uchar __ovld __cnfn convert_uchar_sat_rte(float);
450uchar __ovld __cnfn convert_uchar_rtz(float);
451uchar __ovld __cnfn convert_uchar_sat_rtz(float);
452uchar __ovld __cnfn convert_uchar_rtp(float);
453uchar __ovld __cnfn convert_uchar_sat_rtp(float);
454uchar __ovld __cnfn convert_uchar_rtn(float);
455uchar __ovld __cnfn convert_uchar_sat_rtn(float);
456uchar __ovld __cnfn convert_uchar(float);
457uchar __ovld __cnfn convert_uchar_sat(float);
458
459short __ovld __cnfn convert_short_rte(char);
460short __ovld __cnfn convert_short_sat_rte(char);
461short __ovld __cnfn convert_short_rtz(char);
462short __ovld __cnfn convert_short_sat_rtz(char);
463short __ovld __cnfn convert_short_rtp(char);
464short __ovld __cnfn convert_short_sat_rtp(char);
465short __ovld __cnfn convert_short_rtn(char);
466short __ovld __cnfn convert_short_sat_rtn(char);
467short __ovld __cnfn convert_short(char);
468short __ovld __cnfn convert_short_sat(char);
469short __ovld __cnfn convert_short_rte(uchar);
470short __ovld __cnfn convert_short_sat_rte(uchar);
471short __ovld __cnfn convert_short_rtz(uchar);
472short __ovld __cnfn convert_short_sat_rtz(uchar);
473short __ovld __cnfn convert_short_rtp(uchar);
474short __ovld __cnfn convert_short_sat_rtp(uchar);
475short __ovld __cnfn convert_short_rtn(uchar);
476short __ovld __cnfn convert_short_sat_rtn(uchar);
477short __ovld __cnfn convert_short(uchar);
478short __ovld __cnfn convert_short_sat(uchar);
479short __ovld __cnfn convert_short_rte(short);
480short __ovld __cnfn convert_short_sat_rte(short);
481short __ovld __cnfn convert_short_rtz(short);
482short __ovld __cnfn convert_short_sat_rtz(short);
483short __ovld __cnfn convert_short_rtp(short);
484short __ovld __cnfn convert_short_sat_rtp(short);
485short __ovld __cnfn convert_short_rtn(short);
486short __ovld __cnfn convert_short_sat_rtn(short);
487short __ovld __cnfn convert_short(short);
488short __ovld __cnfn convert_short_sat(short);
489short __ovld __cnfn convert_short_rte(ushort);
490short __ovld __cnfn convert_short_sat_rte(ushort);
491short __ovld __cnfn convert_short_rtz(ushort);
492short __ovld __cnfn convert_short_sat_rtz(ushort);
493short __ovld __cnfn convert_short_rtp(ushort);
494short __ovld __cnfn convert_short_sat_rtp(ushort);
495short __ovld __cnfn convert_short_rtn(ushort);
496short __ovld __cnfn convert_short_sat_rtn(ushort);
497short __ovld __cnfn convert_short(ushort);
498short __ovld __cnfn convert_short_sat(ushort);
499short __ovld __cnfn convert_short_rte(int);
500short __ovld __cnfn convert_short_sat_rte(int);
501short __ovld __cnfn convert_short_rtz(int);
502short __ovld __cnfn convert_short_sat_rtz(int);
503short __ovld __cnfn convert_short_rtp(int);
504short __ovld __cnfn convert_short_sat_rtp(int);
505short __ovld __cnfn convert_short_rtn(int);
506short __ovld __cnfn convert_short_sat_rtn(int);
507short __ovld __cnfn convert_short(int);
508short __ovld __cnfn convert_short_sat(int);
509short __ovld __cnfn convert_short_rte(uint);
510short __ovld __cnfn convert_short_sat_rte(uint);
511short __ovld __cnfn convert_short_rtz(uint);
512short __ovld __cnfn convert_short_sat_rtz(uint);
513short __ovld __cnfn convert_short_rtp(uint);
514short __ovld __cnfn convert_short_sat_rtp(uint);
515short __ovld __cnfn convert_short_rtn(uint);
516short __ovld __cnfn convert_short_sat_rtn(uint);
517short __ovld __cnfn convert_short(uint);
518short __ovld __cnfn convert_short_sat(uint);
519short __ovld __cnfn convert_short_rte(long);
520short __ovld __cnfn convert_short_sat_rte(long);
521short __ovld __cnfn convert_short_rtz(long);
522short __ovld __cnfn convert_short_sat_rtz(long);
523short __ovld __cnfn convert_short_rtp(long);
524short __ovld __cnfn convert_short_sat_rtp(long);
525short __ovld __cnfn convert_short_rtn(long);
526short __ovld __cnfn convert_short_sat_rtn(long);
527short __ovld __cnfn convert_short(long);
528short __ovld __cnfn convert_short_sat(long);
529short __ovld __cnfn convert_short_rte(ulong);
530short __ovld __cnfn convert_short_sat_rte(ulong);
531short __ovld __cnfn convert_short_rtz(ulong);
532short __ovld __cnfn convert_short_sat_rtz(ulong);
533short __ovld __cnfn convert_short_rtp(ulong);
534short __ovld __cnfn convert_short_sat_rtp(ulong);
535short __ovld __cnfn convert_short_rtn(ulong);
536short __ovld __cnfn convert_short_sat_rtn(ulong);
537short __ovld __cnfn convert_short(ulong);
538short __ovld __cnfn convert_short_sat(ulong);
539short __ovld __cnfn convert_short_rte(float);
540short __ovld __cnfn convert_short_sat_rte(float);
541short __ovld __cnfn convert_short_rtz(float);
542short __ovld __cnfn convert_short_sat_rtz(float);
543short __ovld __cnfn convert_short_rtp(float);
544short __ovld __cnfn convert_short_sat_rtp(float);
545short __ovld __cnfn convert_short_rtn(float);
546short __ovld __cnfn convert_short_sat_rtn(float);
547short __ovld __cnfn convert_short(float);
548short __ovld __cnfn convert_short_sat(float);
549ushort __ovld __cnfn convert_ushort_rte(char);
550ushort __ovld __cnfn convert_ushort_sat_rte(char);
551ushort __ovld __cnfn convert_ushort_rtz(char);
552ushort __ovld __cnfn convert_ushort_sat_rtz(char);
553ushort __ovld __cnfn convert_ushort_rtp(char);
554ushort __ovld __cnfn convert_ushort_sat_rtp(char);
555ushort __ovld __cnfn convert_ushort_rtn(char);
556ushort __ovld __cnfn convert_ushort_sat_rtn(char);
557ushort __ovld __cnfn convert_ushort(char);
558ushort __ovld __cnfn convert_ushort_sat(char);
559ushort __ovld __cnfn convert_ushort_rte(uchar);
560ushort __ovld __cnfn convert_ushort_sat_rte(uchar);
561ushort __ovld __cnfn convert_ushort_rtz(uchar);
562ushort __ovld __cnfn convert_ushort_sat_rtz(uchar);
563ushort __ovld __cnfn convert_ushort_rtp(uchar);
564ushort __ovld __cnfn convert_ushort_sat_rtp(uchar);
565ushort __ovld __cnfn convert_ushort_rtn(uchar);
566ushort __ovld __cnfn convert_ushort_sat_rtn(uchar);
567ushort __ovld __cnfn convert_ushort(uchar);
568ushort __ovld __cnfn convert_ushort_sat(uchar);
569ushort __ovld __cnfn convert_ushort_rte(short);
570ushort __ovld __cnfn convert_ushort_sat_rte(short);
571ushort __ovld __cnfn convert_ushort_rtz(short);
572ushort __ovld __cnfn convert_ushort_sat_rtz(short);
573ushort __ovld __cnfn convert_ushort_rtp(short);
574ushort __ovld __cnfn convert_ushort_sat_rtp(short);
575ushort __ovld __cnfn convert_ushort_rtn(short);
576ushort __ovld __cnfn convert_ushort_sat_rtn(short);
577ushort __ovld __cnfn convert_ushort(short);
578ushort __ovld __cnfn convert_ushort_sat(short);
579ushort __ovld __cnfn convert_ushort_rte(ushort);
580ushort __ovld __cnfn convert_ushort_sat_rte(ushort);
581ushort __ovld __cnfn convert_ushort_rtz(ushort);
582ushort __ovld __cnfn convert_ushort_sat_rtz(ushort);
583ushort __ovld __cnfn convert_ushort_rtp(ushort);
584ushort __ovld __cnfn convert_ushort_sat_rtp(ushort);
585ushort __ovld __cnfn convert_ushort_rtn(ushort);
586ushort __ovld __cnfn convert_ushort_sat_rtn(ushort);
587ushort __ovld __cnfn convert_ushort(ushort);
588ushort __ovld __cnfn convert_ushort_sat(ushort);
589ushort __ovld __cnfn convert_ushort_rte(int);
590ushort __ovld __cnfn convert_ushort_sat_rte(int);
591ushort __ovld __cnfn convert_ushort_rtz(int);
592ushort __ovld __cnfn convert_ushort_sat_rtz(int);
593ushort __ovld __cnfn convert_ushort_rtp(int);
594ushort __ovld __cnfn convert_ushort_sat_rtp(int);
595ushort __ovld __cnfn convert_ushort_rtn(int);
596ushort __ovld __cnfn convert_ushort_sat_rtn(int);
597ushort __ovld __cnfn convert_ushort(int);
598ushort __ovld __cnfn convert_ushort_sat(int);
599ushort __ovld __cnfn convert_ushort_rte(uint);
600ushort __ovld __cnfn convert_ushort_sat_rte(uint);
601ushort __ovld __cnfn convert_ushort_rtz(uint);
602ushort __ovld __cnfn convert_ushort_sat_rtz(uint);
603ushort __ovld __cnfn convert_ushort_rtp(uint);
604ushort __ovld __cnfn convert_ushort_sat_rtp(uint);
605ushort __ovld __cnfn convert_ushort_rtn(uint);
606ushort __ovld __cnfn convert_ushort_sat_rtn(uint);
607ushort __ovld __cnfn convert_ushort(uint);
608ushort __ovld __cnfn convert_ushort_sat(uint);
609ushort __ovld __cnfn convert_ushort_rte(long);
610ushort __ovld __cnfn convert_ushort_sat_rte(long);
611ushort __ovld __cnfn convert_ushort_rtz(long);
612ushort __ovld __cnfn convert_ushort_sat_rtz(long);
613ushort __ovld __cnfn convert_ushort_rtp(long);
614ushort __ovld __cnfn convert_ushort_sat_rtp(long);
615ushort __ovld __cnfn convert_ushort_rtn(long);
616ushort __ovld __cnfn convert_ushort_sat_rtn(long);
617ushort __ovld __cnfn convert_ushort(long);
618ushort __ovld __cnfn convert_ushort_sat(long);
619ushort __ovld __cnfn convert_ushort_rte(ulong);
620ushort __ovld __cnfn convert_ushort_sat_rte(ulong);
621ushort __ovld __cnfn convert_ushort_rtz(ulong);
622ushort __ovld __cnfn convert_ushort_sat_rtz(ulong);
623ushort __ovld __cnfn convert_ushort_rtp(ulong);
624ushort __ovld __cnfn convert_ushort_sat_rtp(ulong);
625ushort __ovld __cnfn convert_ushort_rtn(ulong);
626ushort __ovld __cnfn convert_ushort_sat_rtn(ulong);
627ushort __ovld __cnfn convert_ushort(ulong);
628ushort __ovld __cnfn convert_ushort_sat(ulong);
629ushort __ovld __cnfn convert_ushort_rte(float);
630ushort __ovld __cnfn convert_ushort_sat_rte(float);
631ushort __ovld __cnfn convert_ushort_rtz(float);
632ushort __ovld __cnfn convert_ushort_sat_rtz(float);
633ushort __ovld __cnfn convert_ushort_rtp(float);
634ushort __ovld __cnfn convert_ushort_sat_rtp(float);
635ushort __ovld __cnfn convert_ushort_rtn(float);
636ushort __ovld __cnfn convert_ushort_sat_rtn(float);
637ushort __ovld __cnfn convert_ushort(float);
638ushort __ovld __cnfn convert_ushort_sat(float);
639int __ovld __cnfn convert_int_rte(char);
640int __ovld __cnfn convert_int_sat_rte(char);
641int __ovld __cnfn convert_int_rtz(char);
642int __ovld __cnfn convert_int_sat_rtz(char);
643int __ovld __cnfn convert_int_rtp(char);
644int __ovld __cnfn convert_int_sat_rtp(char);
645int __ovld __cnfn convert_int_rtn(char);
646int __ovld __cnfn convert_int_sat_rtn(char);
647int __ovld __cnfn convert_int(char);
648int __ovld __cnfn convert_int_sat(char);
649int __ovld __cnfn convert_int_rte(uchar);
650int __ovld __cnfn convert_int_sat_rte(uchar);
651int __ovld __cnfn convert_int_rtz(uchar);
652int __ovld __cnfn convert_int_sat_rtz(uchar);
653int __ovld __cnfn convert_int_rtp(uchar);
654int __ovld __cnfn convert_int_sat_rtp(uchar);
655int __ovld __cnfn convert_int_rtn(uchar);
656int __ovld __cnfn convert_int_sat_rtn(uchar);
657int __ovld __cnfn convert_int(uchar);
658int __ovld __cnfn convert_int_sat(uchar);
659int __ovld __cnfn convert_int_rte(short);
660int __ovld __cnfn convert_int_sat_rte(short);
661int __ovld __cnfn convert_int_rtz(short);
662int __ovld __cnfn convert_int_sat_rtz(short);
663int __ovld __cnfn convert_int_rtp(short);
664int __ovld __cnfn convert_int_sat_rtp(short);
665int __ovld __cnfn convert_int_rtn(short);
666int __ovld __cnfn convert_int_sat_rtn(short);
667int __ovld __cnfn convert_int(short);
668int __ovld __cnfn convert_int_sat(short);
669int __ovld __cnfn convert_int_rte(ushort);
670int __ovld __cnfn convert_int_sat_rte(ushort);
671int __ovld __cnfn convert_int_rtz(ushort);
672int __ovld __cnfn convert_int_sat_rtz(ushort);
673int __ovld __cnfn convert_int_rtp(ushort);
674int __ovld __cnfn convert_int_sat_rtp(ushort);
675int __ovld __cnfn convert_int_rtn(ushort);
676int __ovld __cnfn convert_int_sat_rtn(ushort);
677int __ovld __cnfn convert_int(ushort);
678int __ovld __cnfn convert_int_sat(ushort);
679int __ovld __cnfn convert_int_rte(int);
680int __ovld __cnfn convert_int_sat_rte(int);
681int __ovld __cnfn convert_int_rtz(int);
682int __ovld __cnfn convert_int_sat_rtz(int);
683int __ovld __cnfn convert_int_rtp(int);
684int __ovld __cnfn convert_int_sat_rtp(int);
685int __ovld __cnfn convert_int_rtn(int);
686int __ovld __cnfn convert_int_sat_rtn(int);
687int __ovld __cnfn convert_int(int);
688int __ovld __cnfn convert_int_sat(int);
689int __ovld __cnfn convert_int_rte(uint);
690int __ovld __cnfn convert_int_sat_rte(uint);
691int __ovld __cnfn convert_int_rtz(uint);
692int __ovld __cnfn convert_int_sat_rtz(uint);
693int __ovld __cnfn convert_int_rtp(uint);
694int __ovld __cnfn convert_int_sat_rtp(uint);
695int __ovld __cnfn convert_int_rtn(uint);
696int __ovld __cnfn convert_int_sat_rtn(uint);
697int __ovld __cnfn convert_int(uint);
698int __ovld __cnfn convert_int_sat(uint);
699int __ovld __cnfn convert_int_rte(long);
700int __ovld __cnfn convert_int_sat_rte(long);
701int __ovld __cnfn convert_int_rtz(long);
702int __ovld __cnfn convert_int_sat_rtz(long);
703int __ovld __cnfn convert_int_rtp(long);
704int __ovld __cnfn convert_int_sat_rtp(long);
705int __ovld __cnfn convert_int_rtn(long);
706int __ovld __cnfn convert_int_sat_rtn(long);
707int __ovld __cnfn convert_int(long);
708int __ovld __cnfn convert_int_sat(long);
709int __ovld __cnfn convert_int_rte(ulong);
710int __ovld __cnfn convert_int_sat_rte(ulong);
711int __ovld __cnfn convert_int_rtz(ulong);
712int __ovld __cnfn convert_int_sat_rtz(ulong);
713int __ovld __cnfn convert_int_rtp(ulong);
714int __ovld __cnfn convert_int_sat_rtp(ulong);
715int __ovld __cnfn convert_int_rtn(ulong);
716int __ovld __cnfn convert_int_sat_rtn(ulong);
717int __ovld __cnfn convert_int(ulong);
718int __ovld __cnfn convert_int_sat(ulong);
719int __ovld __cnfn convert_int_rte(float);
720int __ovld __cnfn convert_int_sat_rte(float);
721int __ovld __cnfn convert_int_rtz(float);
722int __ovld __cnfn convert_int_sat_rtz(float);
723int __ovld __cnfn convert_int_rtp(float);
724int __ovld __cnfn convert_int_sat_rtp(float);
725int __ovld __cnfn convert_int_rtn(float);
726int __ovld __cnfn convert_int_sat_rtn(float);
727int __ovld __cnfn convert_int(float);
728int __ovld __cnfn convert_int_sat(float);
729uint __ovld __cnfn convert_uint_rte(char);
730uint __ovld __cnfn convert_uint_sat_rte(char);
731uint __ovld __cnfn convert_uint_rtz(char);
732uint __ovld __cnfn convert_uint_sat_rtz(char);
733uint __ovld __cnfn convert_uint_rtp(char);
734uint __ovld __cnfn convert_uint_sat_rtp(char);
735uint __ovld __cnfn convert_uint_rtn(char);
736uint __ovld __cnfn convert_uint_sat_rtn(char);
737uint __ovld __cnfn convert_uint(char);
738uint __ovld __cnfn convert_uint_sat(char);
739uint __ovld __cnfn convert_uint_rte(uchar);
740uint __ovld __cnfn convert_uint_sat_rte(uchar);
741uint __ovld __cnfn convert_uint_rtz(uchar);
742uint __ovld __cnfn convert_uint_sat_rtz(uchar);
743uint __ovld __cnfn convert_uint_rtp(uchar);
744uint __ovld __cnfn convert_uint_sat_rtp(uchar);
745uint __ovld __cnfn convert_uint_rtn(uchar);
746uint __ovld __cnfn convert_uint_sat_rtn(uchar);
747uint __ovld __cnfn convert_uint(uchar);
748uint __ovld __cnfn convert_uint_sat(uchar);
749uint __ovld __cnfn convert_uint_rte(short);
750uint __ovld __cnfn convert_uint_sat_rte(short);
751uint __ovld __cnfn convert_uint_rtz(short);
752uint __ovld __cnfn convert_uint_sat_rtz(short);
753uint __ovld __cnfn convert_uint_rtp(short);
754uint __ovld __cnfn convert_uint_sat_rtp(short);
755uint __ovld __cnfn convert_uint_rtn(short);
756uint __ovld __cnfn convert_uint_sat_rtn(short);
757uint __ovld __cnfn convert_uint(short);
758uint __ovld __cnfn convert_uint_sat(short);
759uint __ovld __cnfn convert_uint_rte(ushort);
760uint __ovld __cnfn convert_uint_sat_rte(ushort);
761uint __ovld __cnfn convert_uint_rtz(ushort);
762uint __ovld __cnfn convert_uint_sat_rtz(ushort);
763uint __ovld __cnfn convert_uint_rtp(ushort);
764uint __ovld __cnfn convert_uint_sat_rtp(ushort);
765uint __ovld __cnfn convert_uint_rtn(ushort);
766uint __ovld __cnfn convert_uint_sat_rtn(ushort);
767uint __ovld __cnfn convert_uint(ushort);
768uint __ovld __cnfn convert_uint_sat(ushort);
769uint __ovld __cnfn convert_uint_rte(int);
770uint __ovld __cnfn convert_uint_sat_rte(int);
771uint __ovld __cnfn convert_uint_rtz(int);
772uint __ovld __cnfn convert_uint_sat_rtz(int);
773uint __ovld __cnfn convert_uint_rtp(int);
774uint __ovld __cnfn convert_uint_sat_rtp(int);
775uint __ovld __cnfn convert_uint_rtn(int);
776uint __ovld __cnfn convert_uint_sat_rtn(int);
777uint __ovld __cnfn convert_uint(int);
778uint __ovld __cnfn convert_uint_sat(int);
779uint __ovld __cnfn convert_uint_rte(uint);
780uint __ovld __cnfn convert_uint_sat_rte(uint);
781uint __ovld __cnfn convert_uint_rtz(uint);
782uint __ovld __cnfn convert_uint_sat_rtz(uint);
783uint __ovld __cnfn convert_uint_rtp(uint);
784uint __ovld __cnfn convert_uint_sat_rtp(uint);
785uint __ovld __cnfn convert_uint_rtn(uint);
786uint __ovld __cnfn convert_uint_sat_rtn(uint);
787uint __ovld __cnfn convert_uint(uint);
788uint __ovld __cnfn convert_uint_sat(uint);
789uint __ovld __cnfn convert_uint_rte(long);
790uint __ovld __cnfn convert_uint_sat_rte(long);
791uint __ovld __cnfn convert_uint_rtz(long);
792uint __ovld __cnfn convert_uint_sat_rtz(long);
793uint __ovld __cnfn convert_uint_rtp(long);
794uint __ovld __cnfn convert_uint_sat_rtp(long);
795uint __ovld __cnfn convert_uint_rtn(long);
796uint __ovld __cnfn convert_uint_sat_rtn(long);
797uint __ovld __cnfn convert_uint(long);
798uint __ovld __cnfn convert_uint_sat(long);
799uint __ovld __cnfn convert_uint_rte(ulong);
800uint __ovld __cnfn convert_uint_sat_rte(ulong);
801uint __ovld __cnfn convert_uint_rtz(ulong);
802uint __ovld __cnfn convert_uint_sat_rtz(ulong);
803uint __ovld __cnfn convert_uint_rtp(ulong);
804uint __ovld __cnfn convert_uint_sat_rtp(ulong);
805uint __ovld __cnfn convert_uint_rtn(ulong);
806uint __ovld __cnfn convert_uint_sat_rtn(ulong);
807uint __ovld __cnfn convert_uint(ulong);
808uint __ovld __cnfn convert_uint_sat(ulong);
809uint __ovld __cnfn convert_uint_rte(float);
810uint __ovld __cnfn convert_uint_sat_rte(float);
811uint __ovld __cnfn convert_uint_rtz(float);
812uint __ovld __cnfn convert_uint_sat_rtz(float);
813uint __ovld __cnfn convert_uint_rtp(float);
814uint __ovld __cnfn convert_uint_sat_rtp(float);
815uint __ovld __cnfn convert_uint_rtn(float);
816uint __ovld __cnfn convert_uint_sat_rtn(float);
817uint __ovld __cnfn convert_uint(float);
818uint __ovld __cnfn convert_uint_sat(float);
819long __ovld __cnfn convert_long_rte(char);
820long __ovld __cnfn convert_long_sat_rte(char);
821long __ovld __cnfn convert_long_rtz(char);
822long __ovld __cnfn convert_long_sat_rtz(char);
823long __ovld __cnfn convert_long_rtp(char);
824long __ovld __cnfn convert_long_sat_rtp(char);
825long __ovld __cnfn convert_long_rtn(char);
826long __ovld __cnfn convert_long_sat_rtn(char);
827long __ovld __cnfn convert_long(char);
828long __ovld __cnfn convert_long_sat(char);
829long __ovld __cnfn convert_long_rte(uchar);
830long __ovld __cnfn convert_long_sat_rte(uchar);
831long __ovld __cnfn convert_long_rtz(uchar);
832long __ovld __cnfn convert_long_sat_rtz(uchar);
833long __ovld __cnfn convert_long_rtp(uchar);
834long __ovld __cnfn convert_long_sat_rtp(uchar);
835long __ovld __cnfn convert_long_rtn(uchar);
836long __ovld __cnfn convert_long_sat_rtn(uchar);
837long __ovld __cnfn convert_long(uchar);
838long __ovld __cnfn convert_long_sat(uchar);
839long __ovld __cnfn convert_long_rte(short);
840long __ovld __cnfn convert_long_sat_rte(short);
841long __ovld __cnfn convert_long_rtz(short);
842long __ovld __cnfn convert_long_sat_rtz(short);
843long __ovld __cnfn convert_long_rtp(short);
844long __ovld __cnfn convert_long_sat_rtp(short);
845long __ovld __cnfn convert_long_rtn(short);
846long __ovld __cnfn convert_long_sat_rtn(short);
847long __ovld __cnfn convert_long(short);
848long __ovld __cnfn convert_long_sat(short);
849long __ovld __cnfn convert_long_rte(ushort);
850long __ovld __cnfn convert_long_sat_rte(ushort);
851long __ovld __cnfn convert_long_rtz(ushort);
852long __ovld __cnfn convert_long_sat_rtz(ushort);
853long __ovld __cnfn convert_long_rtp(ushort);
854long __ovld __cnfn convert_long_sat_rtp(ushort);
855long __ovld __cnfn convert_long_rtn(ushort);
856long __ovld __cnfn convert_long_sat_rtn(ushort);
857long __ovld __cnfn convert_long(ushort);
858long __ovld __cnfn convert_long_sat(ushort);
859long __ovld __cnfn convert_long_rte(int);
860long __ovld __cnfn convert_long_sat_rte(int);
861long __ovld __cnfn convert_long_rtz(int);
862long __ovld __cnfn convert_long_sat_rtz(int);
863long __ovld __cnfn convert_long_rtp(int);
864long __ovld __cnfn convert_long_sat_rtp(int);
865long __ovld __cnfn convert_long_rtn(int);
866long __ovld __cnfn convert_long_sat_rtn(int);
867long __ovld __cnfn convert_long(int);
868long __ovld __cnfn convert_long_sat(int);
869long __ovld __cnfn convert_long_rte(uint);
870long __ovld __cnfn convert_long_sat_rte(uint);
871long __ovld __cnfn convert_long_rtz(uint);
872long __ovld __cnfn convert_long_sat_rtz(uint);
873long __ovld __cnfn convert_long_rtp(uint);
874long __ovld __cnfn convert_long_sat_rtp(uint);
875long __ovld __cnfn convert_long_rtn(uint);
876long __ovld __cnfn convert_long_sat_rtn(uint);
877long __ovld __cnfn convert_long(uint);
878long __ovld __cnfn convert_long_sat(uint);
879long __ovld __cnfn convert_long_rte(long);
880long __ovld __cnfn convert_long_sat_rte(long);
881long __ovld __cnfn convert_long_rtz(long);
882long __ovld __cnfn convert_long_sat_rtz(long);
883long __ovld __cnfn convert_long_rtp(long);
884long __ovld __cnfn convert_long_sat_rtp(long);
885long __ovld __cnfn convert_long_rtn(long);
886long __ovld __cnfn convert_long_sat_rtn(long);
887long __ovld __cnfn convert_long(long);
888long __ovld __cnfn convert_long_sat(long);
889long __ovld __cnfn convert_long_rte(ulong);
890long __ovld __cnfn convert_long_sat_rte(ulong);
891long __ovld __cnfn convert_long_rtz(ulong);
892long __ovld __cnfn convert_long_sat_rtz(ulong);
893long __ovld __cnfn convert_long_rtp(ulong);
894long __ovld __cnfn convert_long_sat_rtp(ulong);
895long __ovld __cnfn convert_long_rtn(ulong);
896long __ovld __cnfn convert_long_sat_rtn(ulong);
897long __ovld __cnfn convert_long(ulong);
898long __ovld __cnfn convert_long_sat(ulong);
899long __ovld __cnfn convert_long_rte(float);
900long __ovld __cnfn convert_long_sat_rte(float);
901long __ovld __cnfn convert_long_rtz(float);
902long __ovld __cnfn convert_long_sat_rtz(float);
903long __ovld __cnfn convert_long_rtp(float);
904long __ovld __cnfn convert_long_sat_rtp(float);
905long __ovld __cnfn convert_long_rtn(float);
906long __ovld __cnfn convert_long_sat_rtn(float);
907long __ovld __cnfn convert_long(float);
908long __ovld __cnfn convert_long_sat(float);
909ulong __ovld __cnfn convert_ulong_rte(char);
910ulong __ovld __cnfn convert_ulong_sat_rte(char);
911ulong __ovld __cnfn convert_ulong_rtz(char);
912ulong __ovld __cnfn convert_ulong_sat_rtz(char);
913ulong __ovld __cnfn convert_ulong_rtp(char);
914ulong __ovld __cnfn convert_ulong_sat_rtp(char);
915ulong __ovld __cnfn convert_ulong_rtn(char);
916ulong __ovld __cnfn convert_ulong_sat_rtn(char);
917ulong __ovld __cnfn convert_ulong(char);
918ulong __ovld __cnfn convert_ulong_sat(char);
919ulong __ovld __cnfn convert_ulong_rte(uchar);
920ulong __ovld __cnfn convert_ulong_sat_rte(uchar);
921ulong __ovld __cnfn convert_ulong_rtz(uchar);
922ulong __ovld __cnfn convert_ulong_sat_rtz(uchar);
923ulong __ovld __cnfn convert_ulong_rtp(uchar);
924ulong __ovld __cnfn convert_ulong_sat_rtp(uchar);
925ulong __ovld __cnfn convert_ulong_rtn(uchar);
926ulong __ovld __cnfn convert_ulong_sat_rtn(uchar);
927ulong __ovld __cnfn convert_ulong(uchar);
928ulong __ovld __cnfn convert_ulong_sat(uchar);
929ulong __ovld __cnfn convert_ulong_rte(short);
930ulong __ovld __cnfn convert_ulong_sat_rte(short);
931ulong __ovld __cnfn convert_ulong_rtz(short);
932ulong __ovld __cnfn convert_ulong_sat_rtz(short);
933ulong __ovld __cnfn convert_ulong_rtp(short);
934ulong __ovld __cnfn convert_ulong_sat_rtp(short);
935ulong __ovld __cnfn convert_ulong_rtn(short);
936ulong __ovld __cnfn convert_ulong_sat_rtn(short);
937ulong __ovld __cnfn convert_ulong(short);
938ulong __ovld __cnfn convert_ulong_sat(short);
939ulong __ovld __cnfn convert_ulong_rte(ushort);
940ulong __ovld __cnfn convert_ulong_sat_rte(ushort);
941ulong __ovld __cnfn convert_ulong_rtz(ushort);
942ulong __ovld __cnfn convert_ulong_sat_rtz(ushort);
943ulong __ovld __cnfn convert_ulong_rtp(ushort);
944ulong __ovld __cnfn convert_ulong_sat_rtp(ushort);
945ulong __ovld __cnfn convert_ulong_rtn(ushort);
946ulong __ovld __cnfn convert_ulong_sat_rtn(ushort);
947ulong __ovld __cnfn convert_ulong(ushort);
948ulong __ovld __cnfn convert_ulong_sat(ushort);
949ulong __ovld __cnfn convert_ulong_rte(int);
950ulong __ovld __cnfn convert_ulong_sat_rte(int);
951ulong __ovld __cnfn convert_ulong_rtz(int);
952ulong __ovld __cnfn convert_ulong_sat_rtz(int);
953ulong __ovld __cnfn convert_ulong_rtp(int);
954ulong __ovld __cnfn convert_ulong_sat_rtp(int);
955ulong __ovld __cnfn convert_ulong_rtn(int);
956ulong __ovld __cnfn convert_ulong_sat_rtn(int);
957ulong __ovld __cnfn convert_ulong(int);
958ulong __ovld __cnfn convert_ulong_sat(int);
959ulong __ovld __cnfn convert_ulong_rte(uint);
960ulong __ovld __cnfn convert_ulong_sat_rte(uint);
961ulong __ovld __cnfn convert_ulong_rtz(uint);
962ulong __ovld __cnfn convert_ulong_sat_rtz(uint);
963ulong __ovld __cnfn convert_ulong_rtp(uint);
964ulong __ovld __cnfn convert_ulong_sat_rtp(uint);
965ulong __ovld __cnfn convert_ulong_rtn(uint);
966ulong __ovld __cnfn convert_ulong_sat_rtn(uint);
967ulong __ovld __cnfn convert_ulong(uint);
968ulong __ovld __cnfn convert_ulong_sat(uint);
969ulong __ovld __cnfn convert_ulong_rte(long);
970ulong __ovld __cnfn convert_ulong_sat_rte(long);
971ulong __ovld __cnfn convert_ulong_rtz(long);
972ulong __ovld __cnfn convert_ulong_sat_rtz(long);
973ulong __ovld __cnfn convert_ulong_rtp(long);
974ulong __ovld __cnfn convert_ulong_sat_rtp(long);
975ulong __ovld __cnfn convert_ulong_rtn(long);
976ulong __ovld __cnfn convert_ulong_sat_rtn(long);
977ulong __ovld __cnfn convert_ulong(long);
978ulong __ovld __cnfn convert_ulong_sat(long);
979ulong __ovld __cnfn convert_ulong_rte(ulong);
980ulong __ovld __cnfn convert_ulong_sat_rte(ulong);
981ulong __ovld __cnfn convert_ulong_rtz(ulong);
982ulong __ovld __cnfn convert_ulong_sat_rtz(ulong);
983ulong __ovld __cnfn convert_ulong_rtp(ulong);
984ulong __ovld __cnfn convert_ulong_sat_rtp(ulong);
985ulong __ovld __cnfn convert_ulong_rtn(ulong);
986ulong __ovld __cnfn convert_ulong_sat_rtn(ulong);
987ulong __ovld __cnfn convert_ulong(ulong);
988ulong __ovld __cnfn convert_ulong_sat(ulong);
989ulong __ovld __cnfn convert_ulong_rte(float);
990ulong __ovld __cnfn convert_ulong_sat_rte(float);
991ulong __ovld __cnfn convert_ulong_rtz(float);
992ulong __ovld __cnfn convert_ulong_sat_rtz(float);
993ulong __ovld __cnfn convert_ulong_rtp(float);
994ulong __ovld __cnfn convert_ulong_sat_rtp(float);
995ulong __ovld __cnfn convert_ulong_rtn(float);
996ulong __ovld __cnfn convert_ulong_sat_rtn(float);
997ulong __ovld __cnfn convert_ulong(float);
998ulong __ovld __cnfn convert_ulong_sat(float);
999float __ovld __cnfn convert_float_rte(char);
1000float __ovld __cnfn convert_float_rtz(char);
1001float __ovld __cnfn convert_float_rtp(char);
1002float __ovld __cnfn convert_float_rtn(char);
1003float __ovld __cnfn convert_float(char);
1004float __ovld __cnfn convert_float_rte(uchar);
1005float __ovld __cnfn convert_float_rtz(uchar);
1006float __ovld __cnfn convert_float_rtp(uchar);
1007float __ovld __cnfn convert_float_rtn(uchar);
1008float __ovld __cnfn convert_float(uchar);
1009float __ovld __cnfn convert_float_rte(short);
1010float __ovld __cnfn convert_float_rtz(short);
1011float __ovld __cnfn convert_float_rtp(short);
1012float __ovld __cnfn convert_float_rtn(short);
1013float __ovld __cnfn convert_float(short);
1014float __ovld __cnfn convert_float_rte(ushort);
1015float __ovld __cnfn convert_float_rtz(ushort);
1016float __ovld __cnfn convert_float_rtp(ushort);
1017float __ovld __cnfn convert_float_rtn(ushort);
1018float __ovld __cnfn convert_float(ushort);
1019float __ovld __cnfn convert_float_rte(int);
1020float __ovld __cnfn convert_float_rtz(int);
1021float __ovld __cnfn convert_float_rtp(int);
1022float __ovld __cnfn convert_float_rtn(int);
1023float __ovld __cnfn convert_float(int);
1024float __ovld __cnfn convert_float_rte(uint);
1025float __ovld __cnfn convert_float_rtz(uint);
1026float __ovld __cnfn convert_float_rtp(uint);
1027float __ovld __cnfn convert_float_rtn(uint);
1028float __ovld __cnfn convert_float(uint);
1029float __ovld __cnfn convert_float_rte(long);
1030float __ovld __cnfn convert_float_rtz(long);
1031float __ovld __cnfn convert_float_rtp(long);
1032float __ovld __cnfn convert_float_rtn(long);
1033float __ovld __cnfn convert_float(long);
1034float __ovld __cnfn convert_float_rte(ulong);
1035float __ovld __cnfn convert_float_rtz(ulong);
1036float __ovld __cnfn convert_float_rtp(ulong);
1037float __ovld __cnfn convert_float_rtn(ulong);
1038float __ovld __cnfn convert_float(ulong);
1039float __ovld __cnfn convert_float_rte(float);
1040float __ovld __cnfn convert_float_rtz(float);
1041float __ovld __cnfn convert_float_rtp(float);
1042float __ovld __cnfn convert_float_rtn(float);
1043float __ovld __cnfn convert_float(float);
1044char2 __ovld __cnfn convert_char2_rte(char2);
1045char2 __ovld __cnfn convert_char2_sat_rte(char2);
1046char2 __ovld __cnfn convert_char2_rtz(char2);
1047char2 __ovld __cnfn convert_char2_sat_rtz(char2);
1048char2 __ovld __cnfn convert_char2_rtp(char2);
1049char2 __ovld __cnfn convert_char2_sat_rtp(char2);
1050char2 __ovld __cnfn convert_char2_rtn(char2);
1051char2 __ovld __cnfn convert_char2_sat_rtn(char2);
1052char2 __ovld __cnfn convert_char2(char2);
1053char2 __ovld __cnfn convert_char2_sat(char2);
1054char2 __ovld __cnfn convert_char2_rte(uchar2);
1055char2 __ovld __cnfn convert_char2_sat_rte(uchar2);
1056char2 __ovld __cnfn convert_char2_rtz(uchar2);
1057char2 __ovld __cnfn convert_char2_sat_rtz(uchar2);
1058char2 __ovld __cnfn convert_char2_rtp(uchar2);
1059char2 __ovld __cnfn convert_char2_sat_rtp(uchar2);
1060char2 __ovld __cnfn convert_char2_rtn(uchar2);
1061char2 __ovld __cnfn convert_char2_sat_rtn(uchar2);
1062char2 __ovld __cnfn convert_char2(uchar2);
1063char2 __ovld __cnfn convert_char2_sat(uchar2);
1064char2 __ovld __cnfn convert_char2_rte(short2);
1065char2 __ovld __cnfn convert_char2_sat_rte(short2);
1066char2 __ovld __cnfn convert_char2_rtz(short2);
1067char2 __ovld __cnfn convert_char2_sat_rtz(short2);
1068char2 __ovld __cnfn convert_char2_rtp(short2);
1069char2 __ovld __cnfn convert_char2_sat_rtp(short2);
1070char2 __ovld __cnfn convert_char2_rtn(short2);
1071char2 __ovld __cnfn convert_char2_sat_rtn(short2);
1072char2 __ovld __cnfn convert_char2(short2);
1073char2 __ovld __cnfn convert_char2_sat(short2);
1074char2 __ovld __cnfn convert_char2_rte(ushort2);
1075char2 __ovld __cnfn convert_char2_sat_rte(ushort2);
1076char2 __ovld __cnfn convert_char2_rtz(ushort2);
1077char2 __ovld __cnfn convert_char2_sat_rtz(ushort2);
1078char2 __ovld __cnfn convert_char2_rtp(ushort2);
1079char2 __ovld __cnfn convert_char2_sat_rtp(ushort2);
1080char2 __ovld __cnfn convert_char2_rtn(ushort2);
1081char2 __ovld __cnfn convert_char2_sat_rtn(ushort2);
1082char2 __ovld __cnfn convert_char2(ushort2);
1083char2 __ovld __cnfn convert_char2_sat(ushort2);
1084char2 __ovld __cnfn convert_char2_rte(int2);
1085char2 __ovld __cnfn convert_char2_sat_rte(int2);
1086char2 __ovld __cnfn convert_char2_rtz(int2);
1087char2 __ovld __cnfn convert_char2_sat_rtz(int2);
1088char2 __ovld __cnfn convert_char2_rtp(int2);
1089char2 __ovld __cnfn convert_char2_sat_rtp(int2);
1090char2 __ovld __cnfn convert_char2_rtn(int2);
1091char2 __ovld __cnfn convert_char2_sat_rtn(int2);
1092char2 __ovld __cnfn convert_char2(int2);
1093char2 __ovld __cnfn convert_char2_sat(int2);
1094char2 __ovld __cnfn convert_char2_rte(uint2);
1095char2 __ovld __cnfn convert_char2_sat_rte(uint2);
1096char2 __ovld __cnfn convert_char2_rtz(uint2);
1097char2 __ovld __cnfn convert_char2_sat_rtz(uint2);
1098char2 __ovld __cnfn convert_char2_rtp(uint2);
1099char2 __ovld __cnfn convert_char2_sat_rtp(uint2);
1100char2 __ovld __cnfn convert_char2_rtn(uint2);
1101char2 __ovld __cnfn convert_char2_sat_rtn(uint2);
1102char2 __ovld __cnfn convert_char2(uint2);
1103char2 __ovld __cnfn convert_char2_sat(uint2);
1104char2 __ovld __cnfn convert_char2_rte(long2);
1105char2 __ovld __cnfn convert_char2_sat_rte(long2);
1106char2 __ovld __cnfn convert_char2_rtz(long2);
1107char2 __ovld __cnfn convert_char2_sat_rtz(long2);
1108char2 __ovld __cnfn convert_char2_rtp(long2);
1109char2 __ovld __cnfn convert_char2_sat_rtp(long2);
1110char2 __ovld __cnfn convert_char2_rtn(long2);
1111char2 __ovld __cnfn convert_char2_sat_rtn(long2);
1112char2 __ovld __cnfn convert_char2(long2);
1113char2 __ovld __cnfn convert_char2_sat(long2);
1114char2 __ovld __cnfn convert_char2_rte(ulong2);
1115char2 __ovld __cnfn convert_char2_sat_rte(ulong2);
1116char2 __ovld __cnfn convert_char2_rtz(ulong2);
1117char2 __ovld __cnfn convert_char2_sat_rtz(ulong2);
1118char2 __ovld __cnfn convert_char2_rtp(ulong2);
1119char2 __ovld __cnfn convert_char2_sat_rtp(ulong2);
1120char2 __ovld __cnfn convert_char2_rtn(ulong2);
1121char2 __ovld __cnfn convert_char2_sat_rtn(ulong2);
1122char2 __ovld __cnfn convert_char2(ulong2);
1123char2 __ovld __cnfn convert_char2_sat(ulong2);
1124char2 __ovld __cnfn convert_char2_rte(float2);
1125char2 __ovld __cnfn convert_char2_sat_rte(float2);
1126char2 __ovld __cnfn convert_char2_rtz(float2);
1127char2 __ovld __cnfn convert_char2_sat_rtz(float2);
1128char2 __ovld __cnfn convert_char2_rtp(float2);
1129char2 __ovld __cnfn convert_char2_sat_rtp(float2);
1130char2 __ovld __cnfn convert_char2_rtn(float2);
1131char2 __ovld __cnfn convert_char2_sat_rtn(float2);
1132char2 __ovld __cnfn convert_char2(float2);
1133char2 __ovld __cnfn convert_char2_sat(float2);
1134uchar2 __ovld __cnfn convert_uchar2_rte(char2);
1135uchar2 __ovld __cnfn convert_uchar2_sat_rte(char2);
1136uchar2 __ovld __cnfn convert_uchar2_rtz(char2);
1137uchar2 __ovld __cnfn convert_uchar2_sat_rtz(char2);
1138uchar2 __ovld __cnfn convert_uchar2_rtp(char2);
1139uchar2 __ovld __cnfn convert_uchar2_sat_rtp(char2);
1140uchar2 __ovld __cnfn convert_uchar2_rtn(char2);
1141uchar2 __ovld __cnfn convert_uchar2_sat_rtn(char2);
1142uchar2 __ovld __cnfn convert_uchar2(char2);
1143uchar2 __ovld __cnfn convert_uchar2_sat(char2);
1144uchar2 __ovld __cnfn convert_uchar2_rte(uchar2);
1145uchar2 __ovld __cnfn convert_uchar2_sat_rte(uchar2);
1146uchar2 __ovld __cnfn convert_uchar2_rtz(uchar2);
1147uchar2 __ovld __cnfn convert_uchar2_sat_rtz(uchar2);
1148uchar2 __ovld __cnfn convert_uchar2_rtp(uchar2);
1149uchar2 __ovld __cnfn convert_uchar2_sat_rtp(uchar2);
1150uchar2 __ovld __cnfn convert_uchar2_rtn(uchar2);
1151uchar2 __ovld __cnfn convert_uchar2_sat_rtn(uchar2);
1152uchar2 __ovld __cnfn convert_uchar2(uchar2);
1153uchar2 __ovld __cnfn convert_uchar2_sat(uchar2);
1154uchar2 __ovld __cnfn convert_uchar2_rte(short2);
1155uchar2 __ovld __cnfn convert_uchar2_sat_rte(short2);
1156uchar2 __ovld __cnfn convert_uchar2_rtz(short2);
1157uchar2 __ovld __cnfn convert_uchar2_sat_rtz(short2);
1158uchar2 __ovld __cnfn convert_uchar2_rtp(short2);
1159uchar2 __ovld __cnfn convert_uchar2_sat_rtp(short2);
1160uchar2 __ovld __cnfn convert_uchar2_rtn(short2);
1161uchar2 __ovld __cnfn convert_uchar2_sat_rtn(short2);
1162uchar2 __ovld __cnfn convert_uchar2(short2);
1163uchar2 __ovld __cnfn convert_uchar2_sat(short2);
1164uchar2 __ovld __cnfn convert_uchar2_rte(ushort2);
1165uchar2 __ovld __cnfn convert_uchar2_sat_rte(ushort2);
1166uchar2 __ovld __cnfn convert_uchar2_rtz(ushort2);
1167uchar2 __ovld __cnfn convert_uchar2_sat_rtz(ushort2);
1168uchar2 __ovld __cnfn convert_uchar2_rtp(ushort2);
1169uchar2 __ovld __cnfn convert_uchar2_sat_rtp(ushort2);
1170uchar2 __ovld __cnfn convert_uchar2_rtn(ushort2);
1171uchar2 __ovld __cnfn convert_uchar2_sat_rtn(ushort2);
1172uchar2 __ovld __cnfn convert_uchar2(ushort2);
1173uchar2 __ovld __cnfn convert_uchar2_sat(ushort2);
1174uchar2 __ovld __cnfn convert_uchar2_rte(int2);
1175uchar2 __ovld __cnfn convert_uchar2_sat_rte(int2);
1176uchar2 __ovld __cnfn convert_uchar2_rtz(int2);
1177uchar2 __ovld __cnfn convert_uchar2_sat_rtz(int2);
1178uchar2 __ovld __cnfn convert_uchar2_rtp(int2);
1179uchar2 __ovld __cnfn convert_uchar2_sat_rtp(int2);
1180uchar2 __ovld __cnfn convert_uchar2_rtn(int2);
1181uchar2 __ovld __cnfn convert_uchar2_sat_rtn(int2);
1182uchar2 __ovld __cnfn convert_uchar2(int2);
1183uchar2 __ovld __cnfn convert_uchar2_sat(int2);
1184uchar2 __ovld __cnfn convert_uchar2_rte(uint2);
1185uchar2 __ovld __cnfn convert_uchar2_sat_rte(uint2);
1186uchar2 __ovld __cnfn convert_uchar2_rtz(uint2);
1187uchar2 __ovld __cnfn convert_uchar2_sat_rtz(uint2);
1188uchar2 __ovld __cnfn convert_uchar2_rtp(uint2);
1189uchar2 __ovld __cnfn convert_uchar2_sat_rtp(uint2);
1190uchar2 __ovld __cnfn convert_uchar2_rtn(uint2);
1191uchar2 __ovld __cnfn convert_uchar2_sat_rtn(uint2);
1192uchar2 __ovld __cnfn convert_uchar2(uint2);
1193uchar2 __ovld __cnfn convert_uchar2_sat(uint2);
1194uchar2 __ovld __cnfn convert_uchar2_rte(long2);
1195uchar2 __ovld __cnfn convert_uchar2_sat_rte(long2);
1196uchar2 __ovld __cnfn convert_uchar2_rtz(long2);
1197uchar2 __ovld __cnfn convert_uchar2_sat_rtz(long2);
1198uchar2 __ovld __cnfn convert_uchar2_rtp(long2);
1199uchar2 __ovld __cnfn convert_uchar2_sat_rtp(long2);
1200uchar2 __ovld __cnfn convert_uchar2_rtn(long2);
1201uchar2 __ovld __cnfn convert_uchar2_sat_rtn(long2);
1202uchar2 __ovld __cnfn convert_uchar2(long2);
1203uchar2 __ovld __cnfn convert_uchar2_sat(long2);
1204uchar2 __ovld __cnfn convert_uchar2_rte(ulong2);
1205uchar2 __ovld __cnfn convert_uchar2_sat_rte(ulong2);
1206uchar2 __ovld __cnfn convert_uchar2_rtz(ulong2);
1207uchar2 __ovld __cnfn convert_uchar2_sat_rtz(ulong2);
1208uchar2 __ovld __cnfn convert_uchar2_rtp(ulong2);
1209uchar2 __ovld __cnfn convert_uchar2_sat_rtp(ulong2);
1210uchar2 __ovld __cnfn convert_uchar2_rtn(ulong2);
1211uchar2 __ovld __cnfn convert_uchar2_sat_rtn(ulong2);
1212uchar2 __ovld __cnfn convert_uchar2(ulong2);
1213uchar2 __ovld __cnfn convert_uchar2_sat(ulong2);
1214uchar2 __ovld __cnfn convert_uchar2_rte(float2);
1215uchar2 __ovld __cnfn convert_uchar2_sat_rte(float2);
1216uchar2 __ovld __cnfn convert_uchar2_rtz(float2);
1217uchar2 __ovld __cnfn convert_uchar2_sat_rtz(float2);
1218uchar2 __ovld __cnfn convert_uchar2_rtp(float2);
1219uchar2 __ovld __cnfn convert_uchar2_sat_rtp(float2);
1220uchar2 __ovld __cnfn convert_uchar2_rtn(float2);
1221uchar2 __ovld __cnfn convert_uchar2_sat_rtn(float2);
1222uchar2 __ovld __cnfn convert_uchar2(float2);
1223uchar2 __ovld __cnfn convert_uchar2_sat(float2);
1224short2 __ovld __cnfn convert_short2_rte(char2);
1225short2 __ovld __cnfn convert_short2_sat_rte(char2);
1226short2 __ovld __cnfn convert_short2_rtz(char2);
1227short2 __ovld __cnfn convert_short2_sat_rtz(char2);
1228short2 __ovld __cnfn convert_short2_rtp(char2);
1229short2 __ovld __cnfn convert_short2_sat_rtp(char2);
1230short2 __ovld __cnfn convert_short2_rtn(char2);
1231short2 __ovld __cnfn convert_short2_sat_rtn(char2);
1232short2 __ovld __cnfn convert_short2(char2);
1233short2 __ovld __cnfn convert_short2_sat(char2);
1234short2 __ovld __cnfn convert_short2_rte(uchar2);
1235short2 __ovld __cnfn convert_short2_sat_rte(uchar2);
1236short2 __ovld __cnfn convert_short2_rtz(uchar2);
1237short2 __ovld __cnfn convert_short2_sat_rtz(uchar2);
1238short2 __ovld __cnfn convert_short2_rtp(uchar2);
1239short2 __ovld __cnfn convert_short2_sat_rtp(uchar2);
1240short2 __ovld __cnfn convert_short2_rtn(uchar2);
1241short2 __ovld __cnfn convert_short2_sat_rtn(uchar2);
1242short2 __ovld __cnfn convert_short2(uchar2);
1243short2 __ovld __cnfn convert_short2_sat(uchar2);
1244short2 __ovld __cnfn convert_short2_rte(short2);
1245short2 __ovld __cnfn convert_short2_sat_rte(short2);
1246short2 __ovld __cnfn convert_short2_rtz(short2);
1247short2 __ovld __cnfn convert_short2_sat_rtz(short2);
1248short2 __ovld __cnfn convert_short2_rtp(short2);
1249short2 __ovld __cnfn convert_short2_sat_rtp(short2);
1250short2 __ovld __cnfn convert_short2_rtn(short2);
1251short2 __ovld __cnfn convert_short2_sat_rtn(short2);
1252short2 __ovld __cnfn convert_short2(short2);
1253short2 __ovld __cnfn convert_short2_sat(short2);
1254short2 __ovld __cnfn convert_short2_rte(ushort2);
1255short2 __ovld __cnfn convert_short2_sat_rte(ushort2);
1256short2 __ovld __cnfn convert_short2_rtz(ushort2);
1257short2 __ovld __cnfn convert_short2_sat_rtz(ushort2);
1258short2 __ovld __cnfn convert_short2_rtp(ushort2);
1259short2 __ovld __cnfn convert_short2_sat_rtp(ushort2);
1260short2 __ovld __cnfn convert_short2_rtn(ushort2);
1261short2 __ovld __cnfn convert_short2_sat_rtn(ushort2);
1262short2 __ovld __cnfn convert_short2(ushort2);
1263short2 __ovld __cnfn convert_short2_sat(ushort2);
1264short2 __ovld __cnfn convert_short2_rte(int2);
1265short2 __ovld __cnfn convert_short2_sat_rte(int2);
1266short2 __ovld __cnfn convert_short2_rtz(int2);
1267short2 __ovld __cnfn convert_short2_sat_rtz(int2);
1268short2 __ovld __cnfn convert_short2_rtp(int2);
1269short2 __ovld __cnfn convert_short2_sat_rtp(int2);
1270short2 __ovld __cnfn convert_short2_rtn(int2);
1271short2 __ovld __cnfn convert_short2_sat_rtn(int2);
1272short2 __ovld __cnfn convert_short2(int2);
1273short2 __ovld __cnfn convert_short2_sat(int2);
1274short2 __ovld __cnfn convert_short2_rte(uint2);
1275short2 __ovld __cnfn convert_short2_sat_rte(uint2);
1276short2 __ovld __cnfn convert_short2_rtz(uint2);
1277short2 __ovld __cnfn convert_short2_sat_rtz(uint2);
1278short2 __ovld __cnfn convert_short2_rtp(uint2);
1279short2 __ovld __cnfn convert_short2_sat_rtp(uint2);
1280short2 __ovld __cnfn convert_short2_rtn(uint2);
1281short2 __ovld __cnfn convert_short2_sat_rtn(uint2);
1282short2 __ovld __cnfn convert_short2(uint2);
1283short2 __ovld __cnfn convert_short2_sat(uint2);
1284short2 __ovld __cnfn convert_short2_rte(long2);
1285short2 __ovld __cnfn convert_short2_sat_rte(long2);
1286short2 __ovld __cnfn convert_short2_rtz(long2);
1287short2 __ovld __cnfn convert_short2_sat_rtz(long2);
1288short2 __ovld __cnfn convert_short2_rtp(long2);
1289short2 __ovld __cnfn convert_short2_sat_rtp(long2);
1290short2 __ovld __cnfn convert_short2_rtn(long2);
1291short2 __ovld __cnfn convert_short2_sat_rtn(long2);
1292short2 __ovld __cnfn convert_short2(long2);
1293short2 __ovld __cnfn convert_short2_sat(long2);
1294short2 __ovld __cnfn convert_short2_rte(ulong2);
1295short2 __ovld __cnfn convert_short2_sat_rte(ulong2);
1296short2 __ovld __cnfn convert_short2_rtz(ulong2);
1297short2 __ovld __cnfn convert_short2_sat_rtz(ulong2);
1298short2 __ovld __cnfn convert_short2_rtp(ulong2);
1299short2 __ovld __cnfn convert_short2_sat_rtp(ulong2);
1300short2 __ovld __cnfn convert_short2_rtn(ulong2);
1301short2 __ovld __cnfn convert_short2_sat_rtn(ulong2);
1302short2 __ovld __cnfn convert_short2(ulong2);
1303short2 __ovld __cnfn convert_short2_sat(ulong2);
1304short2 __ovld __cnfn convert_short2_rte(float2);
1305short2 __ovld __cnfn convert_short2_sat_rte(float2);
1306short2 __ovld __cnfn convert_short2_rtz(float2);
1307short2 __ovld __cnfn convert_short2_sat_rtz(float2);
1308short2 __ovld __cnfn convert_short2_rtp(float2);
1309short2 __ovld __cnfn convert_short2_sat_rtp(float2);
1310short2 __ovld __cnfn convert_short2_rtn(float2);
1311short2 __ovld __cnfn convert_short2_sat_rtn(float2);
1312short2 __ovld __cnfn convert_short2(float2);
1313short2 __ovld __cnfn convert_short2_sat(float2);
1314ushort2 __ovld __cnfn convert_ushort2_rte(char2);
1315ushort2 __ovld __cnfn convert_ushort2_sat_rte(char2);
1316ushort2 __ovld __cnfn convert_ushort2_rtz(char2);
1317ushort2 __ovld __cnfn convert_ushort2_sat_rtz(char2);
1318ushort2 __ovld __cnfn convert_ushort2_rtp(char2);
1319ushort2 __ovld __cnfn convert_ushort2_sat_rtp(char2);
1320ushort2 __ovld __cnfn convert_ushort2_rtn(char2);
1321ushort2 __ovld __cnfn convert_ushort2_sat_rtn(char2);
1322ushort2 __ovld __cnfn convert_ushort2(char2);
1323ushort2 __ovld __cnfn convert_ushort2_sat(char2);
1324ushort2 __ovld __cnfn convert_ushort2_rte(uchar2);
1325ushort2 __ovld __cnfn convert_ushort2_sat_rte(uchar2);
1326ushort2 __ovld __cnfn convert_ushort2_rtz(uchar2);
1327ushort2 __ovld __cnfn convert_ushort2_sat_rtz(uchar2);
1328ushort2 __ovld __cnfn convert_ushort2_rtp(uchar2);
1329ushort2 __ovld __cnfn convert_ushort2_sat_rtp(uchar2);
1330ushort2 __ovld __cnfn convert_ushort2_rtn(uchar2);
1331ushort2 __ovld __cnfn convert_ushort2_sat_rtn(uchar2);
1332ushort2 __ovld __cnfn convert_ushort2(uchar2);
1333ushort2 __ovld __cnfn convert_ushort2_sat(uchar2);
1334ushort2 __ovld __cnfn convert_ushort2_rte(short2);
1335ushort2 __ovld __cnfn convert_ushort2_sat_rte(short2);
1336ushort2 __ovld __cnfn convert_ushort2_rtz(short2);
1337ushort2 __ovld __cnfn convert_ushort2_sat_rtz(short2);
1338ushort2 __ovld __cnfn convert_ushort2_rtp(short2);
1339ushort2 __ovld __cnfn convert_ushort2_sat_rtp(short2);
1340ushort2 __ovld __cnfn convert_ushort2_rtn(short2);
1341ushort2 __ovld __cnfn convert_ushort2_sat_rtn(short2);
1342ushort2 __ovld __cnfn convert_ushort2(short2);
1343ushort2 __ovld __cnfn convert_ushort2_sat(short2);
1344ushort2 __ovld __cnfn convert_ushort2_rte(ushort2);
1345ushort2 __ovld __cnfn convert_ushort2_sat_rte(ushort2);
1346ushort2 __ovld __cnfn convert_ushort2_rtz(ushort2);
1347ushort2 __ovld __cnfn convert_ushort2_sat_rtz(ushort2);
1348ushort2 __ovld __cnfn convert_ushort2_rtp(ushort2);
1349ushort2 __ovld __cnfn convert_ushort2_sat_rtp(ushort2);
1350ushort2 __ovld __cnfn convert_ushort2_rtn(ushort2);
1351ushort2 __ovld __cnfn convert_ushort2_sat_rtn(ushort2);
1352ushort2 __ovld __cnfn convert_ushort2(ushort2);
1353ushort2 __ovld __cnfn convert_ushort2_sat(ushort2);
1354ushort2 __ovld __cnfn convert_ushort2_rte(int2);
1355ushort2 __ovld __cnfn convert_ushort2_sat_rte(int2);
1356ushort2 __ovld __cnfn convert_ushort2_rtz(int2);
1357ushort2 __ovld __cnfn convert_ushort2_sat_rtz(int2);
1358ushort2 __ovld __cnfn convert_ushort2_rtp(int2);
1359ushort2 __ovld __cnfn convert_ushort2_sat_rtp(int2);
1360ushort2 __ovld __cnfn convert_ushort2_rtn(int2);
1361ushort2 __ovld __cnfn convert_ushort2_sat_rtn(int2);
1362ushort2 __ovld __cnfn convert_ushort2(int2);
1363ushort2 __ovld __cnfn convert_ushort2_sat(int2);
1364ushort2 __ovld __cnfn convert_ushort2_rte(uint2);
1365ushort2 __ovld __cnfn convert_ushort2_sat_rte(uint2);
1366ushort2 __ovld __cnfn convert_ushort2_rtz(uint2);
1367ushort2 __ovld __cnfn convert_ushort2_sat_rtz(uint2);
1368ushort2 __ovld __cnfn convert_ushort2_rtp(uint2);
1369ushort2 __ovld __cnfn convert_ushort2_sat_rtp(uint2);
1370ushort2 __ovld __cnfn convert_ushort2_rtn(uint2);
1371ushort2 __ovld __cnfn convert_ushort2_sat_rtn(uint2);
1372ushort2 __ovld __cnfn convert_ushort2(uint2);
1373ushort2 __ovld __cnfn convert_ushort2_sat(uint2);
1374ushort2 __ovld __cnfn convert_ushort2_rte(long2);
1375ushort2 __ovld __cnfn convert_ushort2_sat_rte(long2);
1376ushort2 __ovld __cnfn convert_ushort2_rtz(long2);
1377ushort2 __ovld __cnfn convert_ushort2_sat_rtz(long2);
1378ushort2 __ovld __cnfn convert_ushort2_rtp(long2);
1379ushort2 __ovld __cnfn convert_ushort2_sat_rtp(long2);
1380ushort2 __ovld __cnfn convert_ushort2_rtn(long2);
1381ushort2 __ovld __cnfn convert_ushort2_sat_rtn(long2);
1382ushort2 __ovld __cnfn convert_ushort2(long2);
1383ushort2 __ovld __cnfn convert_ushort2_sat(long2);
1384ushort2 __ovld __cnfn convert_ushort2_rte(ulong2);
1385ushort2 __ovld __cnfn convert_ushort2_sat_rte(ulong2);
1386ushort2 __ovld __cnfn convert_ushort2_rtz(ulong2);
1387ushort2 __ovld __cnfn convert_ushort2_sat_rtz(ulong2);
1388ushort2 __ovld __cnfn convert_ushort2_rtp(ulong2);
1389ushort2 __ovld __cnfn convert_ushort2_sat_rtp(ulong2);
1390ushort2 __ovld __cnfn convert_ushort2_rtn(ulong2);
1391ushort2 __ovld __cnfn convert_ushort2_sat_rtn(ulong2);
1392ushort2 __ovld __cnfn convert_ushort2(ulong2);
1393ushort2 __ovld __cnfn convert_ushort2_sat(ulong2);
1394ushort2 __ovld __cnfn convert_ushort2_rte(float2);
1395ushort2 __ovld __cnfn convert_ushort2_sat_rte(float2);
1396ushort2 __ovld __cnfn convert_ushort2_rtz(float2);
1397ushort2 __ovld __cnfn convert_ushort2_sat_rtz(float2);
1398ushort2 __ovld __cnfn convert_ushort2_rtp(float2);
1399ushort2 __ovld __cnfn convert_ushort2_sat_rtp(float2);
1400ushort2 __ovld __cnfn convert_ushort2_rtn(float2);
1401ushort2 __ovld __cnfn convert_ushort2_sat_rtn(float2);
1402ushort2 __ovld __cnfn convert_ushort2(float2);
1403ushort2 __ovld __cnfn convert_ushort2_sat(float2);
1404int2 __ovld __cnfn convert_int2_rte(char2);
1405int2 __ovld __cnfn convert_int2_sat_rte(char2);
1406int2 __ovld __cnfn convert_int2_rtz(char2);
1407int2 __ovld __cnfn convert_int2_sat_rtz(char2);
1408int2 __ovld __cnfn convert_int2_rtp(char2);
1409int2 __ovld __cnfn convert_int2_sat_rtp(char2);
1410int2 __ovld __cnfn convert_int2_rtn(char2);
1411int2 __ovld __cnfn convert_int2_sat_rtn(char2);
1412int2 __ovld __cnfn convert_int2(char2);
1413int2 __ovld __cnfn convert_int2_sat(char2);
1414int2 __ovld __cnfn convert_int2_rte(uchar2);
1415int2 __ovld __cnfn convert_int2_sat_rte(uchar2);
1416int2 __ovld __cnfn convert_int2_rtz(uchar2);
1417int2 __ovld __cnfn convert_int2_sat_rtz(uchar2);
1418int2 __ovld __cnfn convert_int2_rtp(uchar2);
1419int2 __ovld __cnfn convert_int2_sat_rtp(uchar2);
1420int2 __ovld __cnfn convert_int2_rtn(uchar2);
1421int2 __ovld __cnfn convert_int2_sat_rtn(uchar2);
1422int2 __ovld __cnfn convert_int2(uchar2);
1423int2 __ovld __cnfn convert_int2_sat(uchar2);
1424int2 __ovld __cnfn convert_int2_rte(short2);
1425int2 __ovld __cnfn convert_int2_sat_rte(short2);
1426int2 __ovld __cnfn convert_int2_rtz(short2);
1427int2 __ovld __cnfn convert_int2_sat_rtz(short2);
1428int2 __ovld __cnfn convert_int2_rtp(short2);
1429int2 __ovld __cnfn convert_int2_sat_rtp(short2);
1430int2 __ovld __cnfn convert_int2_rtn(short2);
1431int2 __ovld __cnfn convert_int2_sat_rtn(short2);
1432int2 __ovld __cnfn convert_int2(short2);
1433int2 __ovld __cnfn convert_int2_sat(short2);
1434int2 __ovld __cnfn convert_int2_rte(ushort2);
1435int2 __ovld __cnfn convert_int2_sat_rte(ushort2);
1436int2 __ovld __cnfn convert_int2_rtz(ushort2);
1437int2 __ovld __cnfn convert_int2_sat_rtz(ushort2);
1438int2 __ovld __cnfn convert_int2_rtp(ushort2);
1439int2 __ovld __cnfn convert_int2_sat_rtp(ushort2);
1440int2 __ovld __cnfn convert_int2_rtn(ushort2);
1441int2 __ovld __cnfn convert_int2_sat_rtn(ushort2);
1442int2 __ovld __cnfn convert_int2(ushort2);
1443int2 __ovld __cnfn convert_int2_sat(ushort2);
1444int2 __ovld __cnfn convert_int2_rte(int2);
1445int2 __ovld __cnfn convert_int2_sat_rte(int2);
1446int2 __ovld __cnfn convert_int2_rtz(int2);
1447int2 __ovld __cnfn convert_int2_sat_rtz(int2);
1448int2 __ovld __cnfn convert_int2_rtp(int2);
1449int2 __ovld __cnfn convert_int2_sat_rtp(int2);
1450int2 __ovld __cnfn convert_int2_rtn(int2);
1451int2 __ovld __cnfn convert_int2_sat_rtn(int2);
1452int2 __ovld __cnfn convert_int2(int2);
1453int2 __ovld __cnfn convert_int2_sat(int2);
1454int2 __ovld __cnfn convert_int2_rte(uint2);
1455int2 __ovld __cnfn convert_int2_sat_rte(uint2);
1456int2 __ovld __cnfn convert_int2_rtz(uint2);
1457int2 __ovld __cnfn convert_int2_sat_rtz(uint2);
1458int2 __ovld __cnfn convert_int2_rtp(uint2);
1459int2 __ovld __cnfn convert_int2_sat_rtp(uint2);
1460int2 __ovld __cnfn convert_int2_rtn(uint2);
1461int2 __ovld __cnfn convert_int2_sat_rtn(uint2);
1462int2 __ovld __cnfn convert_int2(uint2);
1463int2 __ovld __cnfn convert_int2_sat(uint2);
1464int2 __ovld __cnfn convert_int2_rte(long2);
1465int2 __ovld __cnfn convert_int2_sat_rte(long2);
1466int2 __ovld __cnfn convert_int2_rtz(long2);
1467int2 __ovld __cnfn convert_int2_sat_rtz(long2);
1468int2 __ovld __cnfn convert_int2_rtp(long2);
1469int2 __ovld __cnfn convert_int2_sat_rtp(long2);
1470int2 __ovld __cnfn convert_int2_rtn(long2);
1471int2 __ovld __cnfn convert_int2_sat_rtn(long2);
1472int2 __ovld __cnfn convert_int2(long2);
1473int2 __ovld __cnfn convert_int2_sat(long2);
1474int2 __ovld __cnfn convert_int2_rte(ulong2);
1475int2 __ovld __cnfn convert_int2_sat_rte(ulong2);
1476int2 __ovld __cnfn convert_int2_rtz(ulong2);
1477int2 __ovld __cnfn convert_int2_sat_rtz(ulong2);
1478int2 __ovld __cnfn convert_int2_rtp(ulong2);
1479int2 __ovld __cnfn convert_int2_sat_rtp(ulong2);
1480int2 __ovld __cnfn convert_int2_rtn(ulong2);
1481int2 __ovld __cnfn convert_int2_sat_rtn(ulong2);
1482int2 __ovld __cnfn convert_int2(ulong2);
1483int2 __ovld __cnfn convert_int2_sat(ulong2);
1484int2 __ovld __cnfn convert_int2_rte(float2);
1485int2 __ovld __cnfn convert_int2_sat_rte(float2);
1486int2 __ovld __cnfn convert_int2_rtz(float2);
1487int2 __ovld __cnfn convert_int2_sat_rtz(float2);
1488int2 __ovld __cnfn convert_int2_rtp(float2);
1489int2 __ovld __cnfn convert_int2_sat_rtp(float2);
1490int2 __ovld __cnfn convert_int2_rtn(float2);
1491int2 __ovld __cnfn convert_int2_sat_rtn(float2);
1492int2 __ovld __cnfn convert_int2(float2);
1493int2 __ovld __cnfn convert_int2_sat(float2);
1494uint2 __ovld __cnfn convert_uint2_rte(char2);
1495uint2 __ovld __cnfn convert_uint2_sat_rte(char2);
1496uint2 __ovld __cnfn convert_uint2_rtz(char2);
1497uint2 __ovld __cnfn convert_uint2_sat_rtz(char2);
1498uint2 __ovld __cnfn convert_uint2_rtp(char2);
1499uint2 __ovld __cnfn convert_uint2_sat_rtp(char2);
1500uint2 __ovld __cnfn convert_uint2_rtn(char2);
1501uint2 __ovld __cnfn convert_uint2_sat_rtn(char2);
1502uint2 __ovld __cnfn convert_uint2(char2);
1503uint2 __ovld __cnfn convert_uint2_sat(char2);
1504uint2 __ovld __cnfn convert_uint2_rte(uchar2);
1505uint2 __ovld __cnfn convert_uint2_sat_rte(uchar2);
1506uint2 __ovld __cnfn convert_uint2_rtz(uchar2);
1507uint2 __ovld __cnfn convert_uint2_sat_rtz(uchar2);
1508uint2 __ovld __cnfn convert_uint2_rtp(uchar2);
1509uint2 __ovld __cnfn convert_uint2_sat_rtp(uchar2);
1510uint2 __ovld __cnfn convert_uint2_rtn(uchar2);
1511uint2 __ovld __cnfn convert_uint2_sat_rtn(uchar2);
1512uint2 __ovld __cnfn convert_uint2(uchar2);
1513uint2 __ovld __cnfn convert_uint2_sat(uchar2);
1514uint2 __ovld __cnfn convert_uint2_rte(short2);
1515uint2 __ovld __cnfn convert_uint2_sat_rte(short2);
1516uint2 __ovld __cnfn convert_uint2_rtz(short2);
1517uint2 __ovld __cnfn convert_uint2_sat_rtz(short2);
1518uint2 __ovld __cnfn convert_uint2_rtp(short2);
1519uint2 __ovld __cnfn convert_uint2_sat_rtp(short2);
1520uint2 __ovld __cnfn convert_uint2_rtn(short2);
1521uint2 __ovld __cnfn convert_uint2_sat_rtn(short2);
1522uint2 __ovld __cnfn convert_uint2(short2);
1523uint2 __ovld __cnfn convert_uint2_sat(short2);
1524uint2 __ovld __cnfn convert_uint2_rte(ushort2);
1525uint2 __ovld __cnfn convert_uint2_sat_rte(ushort2);
1526uint2 __ovld __cnfn convert_uint2_rtz(ushort2);
1527uint2 __ovld __cnfn convert_uint2_sat_rtz(ushort2);
1528uint2 __ovld __cnfn convert_uint2_rtp(ushort2);
1529uint2 __ovld __cnfn convert_uint2_sat_rtp(ushort2);
1530uint2 __ovld __cnfn convert_uint2_rtn(ushort2);
1531uint2 __ovld __cnfn convert_uint2_sat_rtn(ushort2);
1532uint2 __ovld __cnfn convert_uint2(ushort2);
1533uint2 __ovld __cnfn convert_uint2_sat(ushort2);
1534uint2 __ovld __cnfn convert_uint2_rte(int2);
1535uint2 __ovld __cnfn convert_uint2_sat_rte(int2);
1536uint2 __ovld __cnfn convert_uint2_rtz(int2);
1537uint2 __ovld __cnfn convert_uint2_sat_rtz(int2);
1538uint2 __ovld __cnfn convert_uint2_rtp(int2);
1539uint2 __ovld __cnfn convert_uint2_sat_rtp(int2);
1540uint2 __ovld __cnfn convert_uint2_rtn(int2);
1541uint2 __ovld __cnfn convert_uint2_sat_rtn(int2);
1542uint2 __ovld __cnfn convert_uint2(int2);
1543uint2 __ovld __cnfn convert_uint2_sat(int2);
1544uint2 __ovld __cnfn convert_uint2_rte(uint2);
1545uint2 __ovld __cnfn convert_uint2_sat_rte(uint2);
1546uint2 __ovld __cnfn convert_uint2_rtz(uint2);
1547uint2 __ovld __cnfn convert_uint2_sat_rtz(uint2);
1548uint2 __ovld __cnfn convert_uint2_rtp(uint2);
1549uint2 __ovld __cnfn convert_uint2_sat_rtp(uint2);
1550uint2 __ovld __cnfn convert_uint2_rtn(uint2);
1551uint2 __ovld __cnfn convert_uint2_sat_rtn(uint2);
1552uint2 __ovld __cnfn convert_uint2(uint2);
1553uint2 __ovld __cnfn convert_uint2_sat(uint2);
1554uint2 __ovld __cnfn convert_uint2_rte(long2);
1555uint2 __ovld __cnfn convert_uint2_sat_rte(long2);
1556uint2 __ovld __cnfn convert_uint2_rtz(long2);
1557uint2 __ovld __cnfn convert_uint2_sat_rtz(long2);
1558uint2 __ovld __cnfn convert_uint2_rtp(long2);
1559uint2 __ovld __cnfn convert_uint2_sat_rtp(long2);
1560uint2 __ovld __cnfn convert_uint2_rtn(long2);
1561uint2 __ovld __cnfn convert_uint2_sat_rtn(long2);
1562uint2 __ovld __cnfn convert_uint2(long2);
1563uint2 __ovld __cnfn convert_uint2_sat(long2);
1564uint2 __ovld __cnfn convert_uint2_rte(ulong2);
1565uint2 __ovld __cnfn convert_uint2_sat_rte(ulong2);
1566uint2 __ovld __cnfn convert_uint2_rtz(ulong2);
1567uint2 __ovld __cnfn convert_uint2_sat_rtz(ulong2);
1568uint2 __ovld __cnfn convert_uint2_rtp(ulong2);
1569uint2 __ovld __cnfn convert_uint2_sat_rtp(ulong2);
1570uint2 __ovld __cnfn convert_uint2_rtn(ulong2);
1571uint2 __ovld __cnfn convert_uint2_sat_rtn(ulong2);
1572uint2 __ovld __cnfn convert_uint2(ulong2);
1573uint2 __ovld __cnfn convert_uint2_sat(ulong2);
1574uint2 __ovld __cnfn convert_uint2_rte(float2);
1575uint2 __ovld __cnfn convert_uint2_sat_rte(float2);
1576uint2 __ovld __cnfn convert_uint2_rtz(float2);
1577uint2 __ovld __cnfn convert_uint2_sat_rtz(float2);
1578uint2 __ovld __cnfn convert_uint2_rtp(float2);
1579uint2 __ovld __cnfn convert_uint2_sat_rtp(float2);
1580uint2 __ovld __cnfn convert_uint2_rtn(float2);
1581uint2 __ovld __cnfn convert_uint2_sat_rtn(float2);
1582uint2 __ovld __cnfn convert_uint2(float2);
1583uint2 __ovld __cnfn convert_uint2_sat(float2);
1584long2 __ovld __cnfn convert_long2_rte(char2);
1585long2 __ovld __cnfn convert_long2_sat_rte(char2);
1586long2 __ovld __cnfn convert_long2_rtz(char2);
1587long2 __ovld __cnfn convert_long2_sat_rtz(char2);
1588long2 __ovld __cnfn convert_long2_rtp(char2);
1589long2 __ovld __cnfn convert_long2_sat_rtp(char2);
1590long2 __ovld __cnfn convert_long2_rtn(char2);
1591long2 __ovld __cnfn convert_long2_sat_rtn(char2);
1592long2 __ovld __cnfn convert_long2(char2);
1593long2 __ovld __cnfn convert_long2_sat(char2);
1594long2 __ovld __cnfn convert_long2_rte(uchar2);
1595long2 __ovld __cnfn convert_long2_sat_rte(uchar2);
1596long2 __ovld __cnfn convert_long2_rtz(uchar2);
1597long2 __ovld __cnfn convert_long2_sat_rtz(uchar2);
1598long2 __ovld __cnfn convert_long2_rtp(uchar2);
1599long2 __ovld __cnfn convert_long2_sat_rtp(uchar2);
1600long2 __ovld __cnfn convert_long2_rtn(uchar2);
1601long2 __ovld __cnfn convert_long2_sat_rtn(uchar2);
1602long2 __ovld __cnfn convert_long2(uchar2);
1603long2 __ovld __cnfn convert_long2_sat(uchar2);
1604long2 __ovld __cnfn convert_long2_rte(short2);
1605long2 __ovld __cnfn convert_long2_sat_rte(short2);
1606long2 __ovld __cnfn convert_long2_rtz(short2);
1607long2 __ovld __cnfn convert_long2_sat_rtz(short2);
1608long2 __ovld __cnfn convert_long2_rtp(short2);
1609long2 __ovld __cnfn convert_long2_sat_rtp(short2);
1610long2 __ovld __cnfn convert_long2_rtn(short2);
1611long2 __ovld __cnfn convert_long2_sat_rtn(short2);
1612long2 __ovld __cnfn convert_long2(short2);
1613long2 __ovld __cnfn convert_long2_sat(short2);
1614long2 __ovld __cnfn convert_long2_rte(ushort2);
1615long2 __ovld __cnfn convert_long2_sat_rte(ushort2);
1616long2 __ovld __cnfn convert_long2_rtz(ushort2);
1617long2 __ovld __cnfn convert_long2_sat_rtz(ushort2);
1618long2 __ovld __cnfn convert_long2_rtp(ushort2);
1619long2 __ovld __cnfn convert_long2_sat_rtp(ushort2);
1620long2 __ovld __cnfn convert_long2_rtn(ushort2);
1621long2 __ovld __cnfn convert_long2_sat_rtn(ushort2);
1622long2 __ovld __cnfn convert_long2(ushort2);
1623long2 __ovld __cnfn convert_long2_sat(ushort2);
1624long2 __ovld __cnfn convert_long2_rte(int2);
1625long2 __ovld __cnfn convert_long2_sat_rte(int2);
1626long2 __ovld __cnfn convert_long2_rtz(int2);
1627long2 __ovld __cnfn convert_long2_sat_rtz(int2);
1628long2 __ovld __cnfn convert_long2_rtp(int2);
1629long2 __ovld __cnfn convert_long2_sat_rtp(int2);
1630long2 __ovld __cnfn convert_long2_rtn(int2);
1631long2 __ovld __cnfn convert_long2_sat_rtn(int2);
1632long2 __ovld __cnfn convert_long2(int2);
1633long2 __ovld __cnfn convert_long2_sat(int2);
1634long2 __ovld __cnfn convert_long2_rte(uint2);
1635long2 __ovld __cnfn convert_long2_sat_rte(uint2);
1636long2 __ovld __cnfn convert_long2_rtz(uint2);
1637long2 __ovld __cnfn convert_long2_sat_rtz(uint2);
1638long2 __ovld __cnfn convert_long2_rtp(uint2);
1639long2 __ovld __cnfn convert_long2_sat_rtp(uint2);
1640long2 __ovld __cnfn convert_long2_rtn(uint2);
1641long2 __ovld __cnfn convert_long2_sat_rtn(uint2);
1642long2 __ovld __cnfn convert_long2(uint2);
1643long2 __ovld __cnfn convert_long2_sat(uint2);
1644long2 __ovld __cnfn convert_long2_rte(long2);
1645long2 __ovld __cnfn convert_long2_sat_rte(long2);
1646long2 __ovld __cnfn convert_long2_rtz(long2);
1647long2 __ovld __cnfn convert_long2_sat_rtz(long2);
1648long2 __ovld __cnfn convert_long2_rtp(long2);
1649long2 __ovld __cnfn convert_long2_sat_rtp(long2);
1650long2 __ovld __cnfn convert_long2_rtn(long2);
1651long2 __ovld __cnfn convert_long2_sat_rtn(long2);
1652long2 __ovld __cnfn convert_long2(long2);
1653long2 __ovld __cnfn convert_long2_sat(long2);
1654long2 __ovld __cnfn convert_long2_rte(ulong2);
1655long2 __ovld __cnfn convert_long2_sat_rte(ulong2);
1656long2 __ovld __cnfn convert_long2_rtz(ulong2);
1657long2 __ovld __cnfn convert_long2_sat_rtz(ulong2);
1658long2 __ovld __cnfn convert_long2_rtp(ulong2);
1659long2 __ovld __cnfn convert_long2_sat_rtp(ulong2);
1660long2 __ovld __cnfn convert_long2_rtn(ulong2);
1661long2 __ovld __cnfn convert_long2_sat_rtn(ulong2);
1662long2 __ovld __cnfn convert_long2(ulong2);
1663long2 __ovld __cnfn convert_long2_sat(ulong2);
1664long2 __ovld __cnfn convert_long2_rte(float2);
1665long2 __ovld __cnfn convert_long2_sat_rte(float2);
1666long2 __ovld __cnfn convert_long2_rtz(float2);
1667long2 __ovld __cnfn convert_long2_sat_rtz(float2);
1668long2 __ovld __cnfn convert_long2_rtp(float2);
1669long2 __ovld __cnfn convert_long2_sat_rtp(float2);
1670long2 __ovld __cnfn convert_long2_rtn(float2);
1671long2 __ovld __cnfn convert_long2_sat_rtn(float2);
1672long2 __ovld __cnfn convert_long2(float2);
1673long2 __ovld __cnfn convert_long2_sat(float2);
1674ulong2 __ovld __cnfn convert_ulong2_rte(char2);
1675ulong2 __ovld __cnfn convert_ulong2_sat_rte(char2);
1676ulong2 __ovld __cnfn convert_ulong2_rtz(char2);
1677ulong2 __ovld __cnfn convert_ulong2_sat_rtz(char2);
1678ulong2 __ovld __cnfn convert_ulong2_rtp(char2);
1679ulong2 __ovld __cnfn convert_ulong2_sat_rtp(char2);
1680ulong2 __ovld __cnfn convert_ulong2_rtn(char2);
1681ulong2 __ovld __cnfn convert_ulong2_sat_rtn(char2);
1682ulong2 __ovld __cnfn convert_ulong2(char2);
1683ulong2 __ovld __cnfn convert_ulong2_sat(char2);
1684ulong2 __ovld __cnfn convert_ulong2_rte(uchar2);
1685ulong2 __ovld __cnfn convert_ulong2_sat_rte(uchar2);
1686ulong2 __ovld __cnfn convert_ulong2_rtz(uchar2);
1687ulong2 __ovld __cnfn convert_ulong2_sat_rtz(uchar2);
1688ulong2 __ovld __cnfn convert_ulong2_rtp(uchar2);
1689ulong2 __ovld __cnfn convert_ulong2_sat_rtp(uchar2);
1690ulong2 __ovld __cnfn convert_ulong2_rtn(uchar2);
1691ulong2 __ovld __cnfn convert_ulong2_sat_rtn(uchar2);
1692ulong2 __ovld __cnfn convert_ulong2(uchar2);
1693ulong2 __ovld __cnfn convert_ulong2_sat(uchar2);
1694ulong2 __ovld __cnfn convert_ulong2_rte(short2);
1695ulong2 __ovld __cnfn convert_ulong2_sat_rte(short2);
1696ulong2 __ovld __cnfn convert_ulong2_rtz(short2);
1697ulong2 __ovld __cnfn convert_ulong2_sat_rtz(short2);
1698ulong2 __ovld __cnfn convert_ulong2_rtp(short2);
1699ulong2 __ovld __cnfn convert_ulong2_sat_rtp(short2);
1700ulong2 __ovld __cnfn convert_ulong2_rtn(short2);
1701ulong2 __ovld __cnfn convert_ulong2_sat_rtn(short2);
1702ulong2 __ovld __cnfn convert_ulong2(short2);
1703ulong2 __ovld __cnfn convert_ulong2_sat(short2);
1704ulong2 __ovld __cnfn convert_ulong2_rte(ushort2);
1705ulong2 __ovld __cnfn convert_ulong2_sat_rte(ushort2);
1706ulong2 __ovld __cnfn convert_ulong2_rtz(ushort2);
1707ulong2 __ovld __cnfn convert_ulong2_sat_rtz(ushort2);
1708ulong2 __ovld __cnfn convert_ulong2_rtp(ushort2);
1709ulong2 __ovld __cnfn convert_ulong2_sat_rtp(ushort2);
1710ulong2 __ovld __cnfn convert_ulong2_rtn(ushort2);
1711ulong2 __ovld __cnfn convert_ulong2_sat_rtn(ushort2);
1712ulong2 __ovld __cnfn convert_ulong2(ushort2);
1713ulong2 __ovld __cnfn convert_ulong2_sat(ushort2);
1714ulong2 __ovld __cnfn convert_ulong2_rte(int2);
1715ulong2 __ovld __cnfn convert_ulong2_sat_rte(int2);
1716ulong2 __ovld __cnfn convert_ulong2_rtz(int2);
1717ulong2 __ovld __cnfn convert_ulong2_sat_rtz(int2);
1718ulong2 __ovld __cnfn convert_ulong2_rtp(int2);
1719ulong2 __ovld __cnfn convert_ulong2_sat_rtp(int2);
1720ulong2 __ovld __cnfn convert_ulong2_rtn(int2);
1721ulong2 __ovld __cnfn convert_ulong2_sat_rtn(int2);
1722ulong2 __ovld __cnfn convert_ulong2(int2);
1723ulong2 __ovld __cnfn convert_ulong2_sat(int2);
1724ulong2 __ovld __cnfn convert_ulong2_rte(uint2);
1725ulong2 __ovld __cnfn convert_ulong2_sat_rte(uint2);
1726ulong2 __ovld __cnfn convert_ulong2_rtz(uint2);
1727ulong2 __ovld __cnfn convert_ulong2_sat_rtz(uint2);
1728ulong2 __ovld __cnfn convert_ulong2_rtp(uint2);
1729ulong2 __ovld __cnfn convert_ulong2_sat_rtp(uint2);
1730ulong2 __ovld __cnfn convert_ulong2_rtn(uint2);
1731ulong2 __ovld __cnfn convert_ulong2_sat_rtn(uint2);
1732ulong2 __ovld __cnfn convert_ulong2(uint2);
1733ulong2 __ovld __cnfn convert_ulong2_sat(uint2);
1734ulong2 __ovld __cnfn convert_ulong2_rte(long2);
1735ulong2 __ovld __cnfn convert_ulong2_sat_rte(long2);
1736ulong2 __ovld __cnfn convert_ulong2_rtz(long2);
1737ulong2 __ovld __cnfn convert_ulong2_sat_rtz(long2);
1738ulong2 __ovld __cnfn convert_ulong2_rtp(long2);
1739ulong2 __ovld __cnfn convert_ulong2_sat_rtp(long2);
1740ulong2 __ovld __cnfn convert_ulong2_rtn(long2);
1741ulong2 __ovld __cnfn convert_ulong2_sat_rtn(long2);
1742ulong2 __ovld __cnfn convert_ulong2(long2);
1743ulong2 __ovld __cnfn convert_ulong2_sat(long2);
1744ulong2 __ovld __cnfn convert_ulong2_rte(ulong2);
1745ulong2 __ovld __cnfn convert_ulong2_sat_rte(ulong2);
1746ulong2 __ovld __cnfn convert_ulong2_rtz(ulong2);
1747ulong2 __ovld __cnfn convert_ulong2_sat_rtz(ulong2);
1748ulong2 __ovld __cnfn convert_ulong2_rtp(ulong2);
1749ulong2 __ovld __cnfn convert_ulong2_sat_rtp(ulong2);
1750ulong2 __ovld __cnfn convert_ulong2_rtn(ulong2);
1751ulong2 __ovld __cnfn convert_ulong2_sat_rtn(ulong2);
1752ulong2 __ovld __cnfn convert_ulong2(ulong2);
1753ulong2 __ovld __cnfn convert_ulong2_sat(ulong2);
1754ulong2 __ovld __cnfn convert_ulong2_rte(float2);
1755ulong2 __ovld __cnfn convert_ulong2_sat_rte(float2);
1756ulong2 __ovld __cnfn convert_ulong2_rtz(float2);
1757ulong2 __ovld __cnfn convert_ulong2_sat_rtz(float2);
1758ulong2 __ovld __cnfn convert_ulong2_rtp(float2);
1759ulong2 __ovld __cnfn convert_ulong2_sat_rtp(float2);
1760ulong2 __ovld __cnfn convert_ulong2_rtn(float2);
1761ulong2 __ovld __cnfn convert_ulong2_sat_rtn(float2);
1762ulong2 __ovld __cnfn convert_ulong2(float2);
1763ulong2 __ovld __cnfn convert_ulong2_sat(float2);
1764float2 __ovld __cnfn convert_float2_rte(char2);
1765float2 __ovld __cnfn convert_float2_rtz(char2);
1766float2 __ovld __cnfn convert_float2_rtp(char2);
1767float2 __ovld __cnfn convert_float2_rtn(char2);
1768float2 __ovld __cnfn convert_float2(char2);
1769float2 __ovld __cnfn convert_float2_rte(uchar2);
1770float2 __ovld __cnfn convert_float2_rtz(uchar2);
1771float2 __ovld __cnfn convert_float2_rtp(uchar2);
1772float2 __ovld __cnfn convert_float2_rtn(uchar2);
1773float2 __ovld __cnfn convert_float2(uchar2);
1774float2 __ovld __cnfn convert_float2_rte(short2);
1775float2 __ovld __cnfn convert_float2_rtz(short2);
1776float2 __ovld __cnfn convert_float2_rtp(short2);
1777float2 __ovld __cnfn convert_float2_rtn(short2);
1778float2 __ovld __cnfn convert_float2(short2);
1779float2 __ovld __cnfn convert_float2_rte(ushort2);
1780float2 __ovld __cnfn convert_float2_rtz(ushort2);
1781float2 __ovld __cnfn convert_float2_rtp(ushort2);
1782float2 __ovld __cnfn convert_float2_rtn(ushort2);
1783float2 __ovld __cnfn convert_float2(ushort2);
1784float2 __ovld __cnfn convert_float2_rte(int2);
1785float2 __ovld __cnfn convert_float2_rtz(int2);
1786float2 __ovld __cnfn convert_float2_rtp(int2);
1787float2 __ovld __cnfn convert_float2_rtn(int2);
1788float2 __ovld __cnfn convert_float2(int2);
1789float2 __ovld __cnfn convert_float2_rte(uint2);
1790float2 __ovld __cnfn convert_float2_rtz(uint2);
1791float2 __ovld __cnfn convert_float2_rtp(uint2);
1792float2 __ovld __cnfn convert_float2_rtn(uint2);
1793float2 __ovld __cnfn convert_float2(uint2);
1794float2 __ovld __cnfn convert_float2_rte(long2);
1795float2 __ovld __cnfn convert_float2_rtz(long2);
1796float2 __ovld __cnfn convert_float2_rtp(long2);
1797float2 __ovld __cnfn convert_float2_rtn(long2);
1798float2 __ovld __cnfn convert_float2(long2);
1799float2 __ovld __cnfn convert_float2_rte(ulong2);
1800float2 __ovld __cnfn convert_float2_rtz(ulong2);
1801float2 __ovld __cnfn convert_float2_rtp(ulong2);
1802float2 __ovld __cnfn convert_float2_rtn(ulong2);
1803float2 __ovld __cnfn convert_float2(ulong2);
1804float2 __ovld __cnfn convert_float2_rte(float2);
1805float2 __ovld __cnfn convert_float2_rtz(float2);
1806float2 __ovld __cnfn convert_float2_rtp(float2);
1807float2 __ovld __cnfn convert_float2_rtn(float2);
1808float2 __ovld __cnfn convert_float2(float2);
1809char3 __ovld __cnfn convert_char3_rte(char3);
1810char3 __ovld __cnfn convert_char3_sat_rte(char3);
1811char3 __ovld __cnfn convert_char3_rtz(char3);
1812char3 __ovld __cnfn convert_char3_sat_rtz(char3);
1813char3 __ovld __cnfn convert_char3_rtp(char3);
1814char3 __ovld __cnfn convert_char3_sat_rtp(char3);
1815char3 __ovld __cnfn convert_char3_rtn(char3);
1816char3 __ovld __cnfn convert_char3_sat_rtn(char3);
1817char3 __ovld __cnfn convert_char3(char3);
1818char3 __ovld __cnfn convert_char3_sat(char3);
1819char3 __ovld __cnfn convert_char3_rte(uchar3);
1820char3 __ovld __cnfn convert_char3_sat_rte(uchar3);
1821char3 __ovld __cnfn convert_char3_rtz(uchar3);
1822char3 __ovld __cnfn convert_char3_sat_rtz(uchar3);
1823char3 __ovld __cnfn convert_char3_rtp(uchar3);
1824char3 __ovld __cnfn convert_char3_sat_rtp(uchar3);
1825char3 __ovld __cnfn convert_char3_rtn(uchar3);
1826char3 __ovld __cnfn convert_char3_sat_rtn(uchar3);
1827char3 __ovld __cnfn convert_char3(uchar3);
1828char3 __ovld __cnfn convert_char3_sat(uchar3);
1829char3 __ovld __cnfn convert_char3_rte(short3);
1830char3 __ovld __cnfn convert_char3_sat_rte(short3);
1831char3 __ovld __cnfn convert_char3_rtz(short3);
1832char3 __ovld __cnfn convert_char3_sat_rtz(short3);
1833char3 __ovld __cnfn convert_char3_rtp(short3);
1834char3 __ovld __cnfn convert_char3_sat_rtp(short3);
1835char3 __ovld __cnfn convert_char3_rtn(short3);
1836char3 __ovld __cnfn convert_char3_sat_rtn(short3);
1837char3 __ovld __cnfn convert_char3(short3);
1838char3 __ovld __cnfn convert_char3_sat(short3);
1839char3 __ovld __cnfn convert_char3_rte(ushort3);
1840char3 __ovld __cnfn convert_char3_sat_rte(ushort3);
1841char3 __ovld __cnfn convert_char3_rtz(ushort3);
1842char3 __ovld __cnfn convert_char3_sat_rtz(ushort3);
1843char3 __ovld __cnfn convert_char3_rtp(ushort3);
1844char3 __ovld __cnfn convert_char3_sat_rtp(ushort3);
1845char3 __ovld __cnfn convert_char3_rtn(ushort3);
1846char3 __ovld __cnfn convert_char3_sat_rtn(ushort3);
1847char3 __ovld __cnfn convert_char3(ushort3);
1848char3 __ovld __cnfn convert_char3_sat(ushort3);
1849char3 __ovld __cnfn convert_char3_rte(int3);
1850char3 __ovld __cnfn convert_char3_sat_rte(int3);
1851char3 __ovld __cnfn convert_char3_rtz(int3);
1852char3 __ovld __cnfn convert_char3_sat_rtz(int3);
1853char3 __ovld __cnfn convert_char3_rtp(int3);
1854char3 __ovld __cnfn convert_char3_sat_rtp(int3);
1855char3 __ovld __cnfn convert_char3_rtn(int3);
1856char3 __ovld __cnfn convert_char3_sat_rtn(int3);
1857char3 __ovld __cnfn convert_char3(int3);
1858char3 __ovld __cnfn convert_char3_sat(int3);
1859char3 __ovld __cnfn convert_char3_rte(uint3);
1860char3 __ovld __cnfn convert_char3_sat_rte(uint3);
1861char3 __ovld __cnfn convert_char3_rtz(uint3);
1862char3 __ovld __cnfn convert_char3_sat_rtz(uint3);
1863char3 __ovld __cnfn convert_char3_rtp(uint3);
1864char3 __ovld __cnfn convert_char3_sat_rtp(uint3);
1865char3 __ovld __cnfn convert_char3_rtn(uint3);
1866char3 __ovld __cnfn convert_char3_sat_rtn(uint3);
1867char3 __ovld __cnfn convert_char3(uint3);
1868char3 __ovld __cnfn convert_char3_sat(uint3);
1869char3 __ovld __cnfn convert_char3_rte(long3);
1870char3 __ovld __cnfn convert_char3_sat_rte(long3);
1871char3 __ovld __cnfn convert_char3_rtz(long3);
1872char3 __ovld __cnfn convert_char3_sat_rtz(long3);
1873char3 __ovld __cnfn convert_char3_rtp(long3);
1874char3 __ovld __cnfn convert_char3_sat_rtp(long3);
1875char3 __ovld __cnfn convert_char3_rtn(long3);
1876char3 __ovld __cnfn convert_char3_sat_rtn(long3);
1877char3 __ovld __cnfn convert_char3(long3);
1878char3 __ovld __cnfn convert_char3_sat(long3);
1879char3 __ovld __cnfn convert_char3_rte(ulong3);
1880char3 __ovld __cnfn convert_char3_sat_rte(ulong3);
1881char3 __ovld __cnfn convert_char3_rtz(ulong3);
1882char3 __ovld __cnfn convert_char3_sat_rtz(ulong3);
1883char3 __ovld __cnfn convert_char3_rtp(ulong3);
1884char3 __ovld __cnfn convert_char3_sat_rtp(ulong3);
1885char3 __ovld __cnfn convert_char3_rtn(ulong3);
1886char3 __ovld __cnfn convert_char3_sat_rtn(ulong3);
1887char3 __ovld __cnfn convert_char3(ulong3);
1888char3 __ovld __cnfn convert_char3_sat(ulong3);
1889char3 __ovld __cnfn convert_char3_rte(float3);
1890char3 __ovld __cnfn convert_char3_sat_rte(float3);
1891char3 __ovld __cnfn convert_char3_rtz(float3);
1892char3 __ovld __cnfn convert_char3_sat_rtz(float3);
1893char3 __ovld __cnfn convert_char3_rtp(float3);
1894char3 __ovld __cnfn convert_char3_sat_rtp(float3);
1895char3 __ovld __cnfn convert_char3_rtn(float3);
1896char3 __ovld __cnfn convert_char3_sat_rtn(float3);
1897char3 __ovld __cnfn convert_char3(float3);
1898char3 __ovld __cnfn convert_char3_sat(float3);
1899uchar3 __ovld __cnfn convert_uchar3_rte(char3);
1900uchar3 __ovld __cnfn convert_uchar3_sat_rte(char3);
1901uchar3 __ovld __cnfn convert_uchar3_rtz(char3);
1902uchar3 __ovld __cnfn convert_uchar3_sat_rtz(char3);
1903uchar3 __ovld __cnfn convert_uchar3_rtp(char3);
1904uchar3 __ovld __cnfn convert_uchar3_sat_rtp(char3);
1905uchar3 __ovld __cnfn convert_uchar3_rtn(char3);
1906uchar3 __ovld __cnfn convert_uchar3_sat_rtn(char3);
1907uchar3 __ovld __cnfn convert_uchar3(char3);
1908uchar3 __ovld __cnfn convert_uchar3_sat(char3);
1909uchar3 __ovld __cnfn convert_uchar3_rte(uchar3);
1910uchar3 __ovld __cnfn convert_uchar3_sat_rte(uchar3);
1911uchar3 __ovld __cnfn convert_uchar3_rtz(uchar3);
1912uchar3 __ovld __cnfn convert_uchar3_sat_rtz(uchar3);
1913uchar3 __ovld __cnfn convert_uchar3_rtp(uchar3);
1914uchar3 __ovld __cnfn convert_uchar3_sat_rtp(uchar3);
1915uchar3 __ovld __cnfn convert_uchar3_rtn(uchar3);
1916uchar3 __ovld __cnfn convert_uchar3_sat_rtn(uchar3);
1917uchar3 __ovld __cnfn convert_uchar3(uchar3);
1918uchar3 __ovld __cnfn convert_uchar3_sat(uchar3);
1919uchar3 __ovld __cnfn convert_uchar3_rte(short3);
1920uchar3 __ovld __cnfn convert_uchar3_sat_rte(short3);
1921uchar3 __ovld __cnfn convert_uchar3_rtz(short3);
1922uchar3 __ovld __cnfn convert_uchar3_sat_rtz(short3);
1923uchar3 __ovld __cnfn convert_uchar3_rtp(short3);
1924uchar3 __ovld __cnfn convert_uchar3_sat_rtp(short3);
1925uchar3 __ovld __cnfn convert_uchar3_rtn(short3);
1926uchar3 __ovld __cnfn convert_uchar3_sat_rtn(short3);
1927uchar3 __ovld __cnfn convert_uchar3(short3);
1928uchar3 __ovld __cnfn convert_uchar3_sat(short3);
1929uchar3 __ovld __cnfn convert_uchar3_rte(ushort3);
1930uchar3 __ovld __cnfn convert_uchar3_sat_rte(ushort3);
1931uchar3 __ovld __cnfn convert_uchar3_rtz(ushort3);
1932uchar3 __ovld __cnfn convert_uchar3_sat_rtz(ushort3);
1933uchar3 __ovld __cnfn convert_uchar3_rtp(ushort3);
1934uchar3 __ovld __cnfn convert_uchar3_sat_rtp(ushort3);
1935uchar3 __ovld __cnfn convert_uchar3_rtn(ushort3);
1936uchar3 __ovld __cnfn convert_uchar3_sat_rtn(ushort3);
1937uchar3 __ovld __cnfn convert_uchar3(ushort3);
1938uchar3 __ovld __cnfn convert_uchar3_sat(ushort3);
1939uchar3 __ovld __cnfn convert_uchar3_rte(int3);
1940uchar3 __ovld __cnfn convert_uchar3_sat_rte(int3);
1941uchar3 __ovld __cnfn convert_uchar3_rtz(int3);
1942uchar3 __ovld __cnfn convert_uchar3_sat_rtz(int3);
1943uchar3 __ovld __cnfn convert_uchar3_rtp(int3);
1944uchar3 __ovld __cnfn convert_uchar3_sat_rtp(int3);
1945uchar3 __ovld __cnfn convert_uchar3_rtn(int3);
1946uchar3 __ovld __cnfn convert_uchar3_sat_rtn(int3);
1947uchar3 __ovld __cnfn convert_uchar3(int3);
1948uchar3 __ovld __cnfn convert_uchar3_sat(int3);
1949uchar3 __ovld __cnfn convert_uchar3_rte(uint3);
1950uchar3 __ovld __cnfn convert_uchar3_sat_rte(uint3);
1951uchar3 __ovld __cnfn convert_uchar3_rtz(uint3);
1952uchar3 __ovld __cnfn convert_uchar3_sat_rtz(uint3);
1953uchar3 __ovld __cnfn convert_uchar3_rtp(uint3);
1954uchar3 __ovld __cnfn convert_uchar3_sat_rtp(uint3);
1955uchar3 __ovld __cnfn convert_uchar3_rtn(uint3);
1956uchar3 __ovld __cnfn convert_uchar3_sat_rtn(uint3);
1957uchar3 __ovld __cnfn convert_uchar3(uint3);
1958uchar3 __ovld __cnfn convert_uchar3_sat(uint3);
1959uchar3 __ovld __cnfn convert_uchar3_rte(long3);
1960uchar3 __ovld __cnfn convert_uchar3_sat_rte(long3);
1961uchar3 __ovld __cnfn convert_uchar3_rtz(long3);
1962uchar3 __ovld __cnfn convert_uchar3_sat_rtz(long3);
1963uchar3 __ovld __cnfn convert_uchar3_rtp(long3);
1964uchar3 __ovld __cnfn convert_uchar3_sat_rtp(long3);
1965uchar3 __ovld __cnfn convert_uchar3_rtn(long3);
1966uchar3 __ovld __cnfn convert_uchar3_sat_rtn(long3);
1967uchar3 __ovld __cnfn convert_uchar3(long3);
1968uchar3 __ovld __cnfn convert_uchar3_sat(long3);
1969uchar3 __ovld __cnfn convert_uchar3_rte(ulong3);
1970uchar3 __ovld __cnfn convert_uchar3_sat_rte(ulong3);
1971uchar3 __ovld __cnfn convert_uchar3_rtz(ulong3);
1972uchar3 __ovld __cnfn convert_uchar3_sat_rtz(ulong3);
1973uchar3 __ovld __cnfn convert_uchar3_rtp(ulong3);
1974uchar3 __ovld __cnfn convert_uchar3_sat_rtp(ulong3);
1975uchar3 __ovld __cnfn convert_uchar3_rtn(ulong3);
1976uchar3 __ovld __cnfn convert_uchar3_sat_rtn(ulong3);
1977uchar3 __ovld __cnfn convert_uchar3(ulong3);
1978uchar3 __ovld __cnfn convert_uchar3_sat(ulong3);
1979uchar3 __ovld __cnfn convert_uchar3_rte(float3);
1980uchar3 __ovld __cnfn convert_uchar3_sat_rte(float3);
1981uchar3 __ovld __cnfn convert_uchar3_rtz(float3);
1982uchar3 __ovld __cnfn convert_uchar3_sat_rtz(float3);
1983uchar3 __ovld __cnfn convert_uchar3_rtp(float3);
1984uchar3 __ovld __cnfn convert_uchar3_sat_rtp(float3);
1985uchar3 __ovld __cnfn convert_uchar3_rtn(float3);
1986uchar3 __ovld __cnfn convert_uchar3_sat_rtn(float3);
1987uchar3 __ovld __cnfn convert_uchar3(float3);
1988uchar3 __ovld __cnfn convert_uchar3_sat(float3);
1989short3 __ovld __cnfn convert_short3_rte(char3);
1990short3 __ovld __cnfn convert_short3_sat_rte(char3);
1991short3 __ovld __cnfn convert_short3_rtz(char3);
1992short3 __ovld __cnfn convert_short3_sat_rtz(char3);
1993short3 __ovld __cnfn convert_short3_rtp(char3);
1994short3 __ovld __cnfn convert_short3_sat_rtp(char3);
1995short3 __ovld __cnfn convert_short3_rtn(char3);
1996short3 __ovld __cnfn convert_short3_sat_rtn(char3);
1997short3 __ovld __cnfn convert_short3(char3);
1998short3 __ovld __cnfn convert_short3_sat(char3);
1999short3 __ovld __cnfn convert_short3_rte(uchar3);
2000short3 __ovld __cnfn convert_short3_sat_rte(uchar3);
2001short3 __ovld __cnfn convert_short3_rtz(uchar3);
2002short3 __ovld __cnfn convert_short3_sat_rtz(uchar3);
2003short3 __ovld __cnfn convert_short3_rtp(uchar3);
2004short3 __ovld __cnfn convert_short3_sat_rtp(uchar3);
2005short3 __ovld __cnfn convert_short3_rtn(uchar3);
2006short3 __ovld __cnfn convert_short3_sat_rtn(uchar3);
2007short3 __ovld __cnfn convert_short3(uchar3);
2008short3 __ovld __cnfn convert_short3_sat(uchar3);
2009short3 __ovld __cnfn convert_short3_rte(short3);
2010short3 __ovld __cnfn convert_short3_sat_rte(short3);
2011short3 __ovld __cnfn convert_short3_rtz(short3);
2012short3 __ovld __cnfn convert_short3_sat_rtz(short3);
2013short3 __ovld __cnfn convert_short3_rtp(short3);
2014short3 __ovld __cnfn convert_short3_sat_rtp(short3);
2015short3 __ovld __cnfn convert_short3_rtn(short3);
2016short3 __ovld __cnfn convert_short3_sat_rtn(short3);
2017short3 __ovld __cnfn convert_short3(short3);
2018short3 __ovld __cnfn convert_short3_sat(short3);
2019short3 __ovld __cnfn convert_short3_rte(ushort3);
2020short3 __ovld __cnfn convert_short3_sat_rte(ushort3);
2021short3 __ovld __cnfn convert_short3_rtz(ushort3);
2022short3 __ovld __cnfn convert_short3_sat_rtz(ushort3);
2023short3 __ovld __cnfn convert_short3_rtp(ushort3);
2024short3 __ovld __cnfn convert_short3_sat_rtp(ushort3);
2025short3 __ovld __cnfn convert_short3_rtn(ushort3);
2026short3 __ovld __cnfn convert_short3_sat_rtn(ushort3);
2027short3 __ovld __cnfn convert_short3(ushort3);
2028short3 __ovld __cnfn convert_short3_sat(ushort3);
2029short3 __ovld __cnfn convert_short3_rte(int3);
2030short3 __ovld __cnfn convert_short3_sat_rte(int3);
2031short3 __ovld __cnfn convert_short3_rtz(int3);
2032short3 __ovld __cnfn convert_short3_sat_rtz(int3);
2033short3 __ovld __cnfn convert_short3_rtp(int3);
2034short3 __ovld __cnfn convert_short3_sat_rtp(int3);
2035short3 __ovld __cnfn convert_short3_rtn(int3);
2036short3 __ovld __cnfn convert_short3_sat_rtn(int3);
2037short3 __ovld __cnfn convert_short3(int3);
2038short3 __ovld __cnfn convert_short3_sat(int3);
2039short3 __ovld __cnfn convert_short3_rte(uint3);
2040short3 __ovld __cnfn convert_short3_sat_rte(uint3);
2041short3 __ovld __cnfn convert_short3_rtz(uint3);
2042short3 __ovld __cnfn convert_short3_sat_rtz(uint3);
2043short3 __ovld __cnfn convert_short3_rtp(uint3);
2044short3 __ovld __cnfn convert_short3_sat_rtp(uint3);
2045short3 __ovld __cnfn convert_short3_rtn(uint3);
2046short3 __ovld __cnfn convert_short3_sat_rtn(uint3);
2047short3 __ovld __cnfn convert_short3(uint3);
2048short3 __ovld __cnfn convert_short3_sat(uint3);
2049short3 __ovld __cnfn convert_short3_rte(long3);
2050short3 __ovld __cnfn convert_short3_sat_rte(long3);
2051short3 __ovld __cnfn convert_short3_rtz(long3);
2052short3 __ovld __cnfn convert_short3_sat_rtz(long3);
2053short3 __ovld __cnfn convert_short3_rtp(long3);
2054short3 __ovld __cnfn convert_short3_sat_rtp(long3);
2055short3 __ovld __cnfn convert_short3_rtn(long3);
2056short3 __ovld __cnfn convert_short3_sat_rtn(long3);
2057short3 __ovld __cnfn convert_short3(long3);
2058short3 __ovld __cnfn convert_short3_sat(long3);
2059short3 __ovld __cnfn convert_short3_rte(ulong3);
2060short3 __ovld __cnfn convert_short3_sat_rte(ulong3);
2061short3 __ovld __cnfn convert_short3_rtz(ulong3);
2062short3 __ovld __cnfn convert_short3_sat_rtz(ulong3);
2063short3 __ovld __cnfn convert_short3_rtp(ulong3);
2064short3 __ovld __cnfn convert_short3_sat_rtp(ulong3);
2065short3 __ovld __cnfn convert_short3_rtn(ulong3);
2066short3 __ovld __cnfn convert_short3_sat_rtn(ulong3);
2067short3 __ovld __cnfn convert_short3(ulong3);
2068short3 __ovld __cnfn convert_short3_sat(ulong3);
2069short3 __ovld __cnfn convert_short3_rte(float3);
2070short3 __ovld __cnfn convert_short3_sat_rte(float3);
2071short3 __ovld __cnfn convert_short3_rtz(float3);
2072short3 __ovld __cnfn convert_short3_sat_rtz(float3);
2073short3 __ovld __cnfn convert_short3_rtp(float3);
2074short3 __ovld __cnfn convert_short3_sat_rtp(float3);
2075short3 __ovld __cnfn convert_short3_rtn(float3);
2076short3 __ovld __cnfn convert_short3_sat_rtn(float3);
2077short3 __ovld __cnfn convert_short3(float3);
2078short3 __ovld __cnfn convert_short3_sat(float3);
2079ushort3 __ovld __cnfn convert_ushort3_rte(char3);
2080ushort3 __ovld __cnfn convert_ushort3_sat_rte(char3);
2081ushort3 __ovld __cnfn convert_ushort3_rtz(char3);
2082ushort3 __ovld __cnfn convert_ushort3_sat_rtz(char3);
2083ushort3 __ovld __cnfn convert_ushort3_rtp(char3);
2084ushort3 __ovld __cnfn convert_ushort3_sat_rtp(char3);
2085ushort3 __ovld __cnfn convert_ushort3_rtn(char3);
2086ushort3 __ovld __cnfn convert_ushort3_sat_rtn(char3);
2087ushort3 __ovld __cnfn convert_ushort3(char3);
2088ushort3 __ovld __cnfn convert_ushort3_sat(char3);
2089ushort3 __ovld __cnfn convert_ushort3_rte(uchar3);
2090ushort3 __ovld __cnfn convert_ushort3_sat_rte(uchar3);
2091ushort3 __ovld __cnfn convert_ushort3_rtz(uchar3);
2092ushort3 __ovld __cnfn convert_ushort3_sat_rtz(uchar3);
2093ushort3 __ovld __cnfn convert_ushort3_rtp(uchar3);
2094ushort3 __ovld __cnfn convert_ushort3_sat_rtp(uchar3);
2095ushort3 __ovld __cnfn convert_ushort3_rtn(uchar3);
2096ushort3 __ovld __cnfn convert_ushort3_sat_rtn(uchar3);
2097ushort3 __ovld __cnfn convert_ushort3(uchar3);
2098ushort3 __ovld __cnfn convert_ushort3_sat(uchar3);
2099ushort3 __ovld __cnfn convert_ushort3_rte(short3);
2100ushort3 __ovld __cnfn convert_ushort3_sat_rte(short3);
2101ushort3 __ovld __cnfn convert_ushort3_rtz(short3);
2102ushort3 __ovld __cnfn convert_ushort3_sat_rtz(short3);
2103ushort3 __ovld __cnfn convert_ushort3_rtp(short3);
2104ushort3 __ovld __cnfn convert_ushort3_sat_rtp(short3);
2105ushort3 __ovld __cnfn convert_ushort3_rtn(short3);
2106ushort3 __ovld __cnfn convert_ushort3_sat_rtn(short3);
2107ushort3 __ovld __cnfn convert_ushort3(short3);
2108ushort3 __ovld __cnfn convert_ushort3_sat(short3);
2109ushort3 __ovld __cnfn convert_ushort3_rte(ushort3);
2110ushort3 __ovld __cnfn convert_ushort3_sat_rte(ushort3);
2111ushort3 __ovld __cnfn convert_ushort3_rtz(ushort3);
2112ushort3 __ovld __cnfn convert_ushort3_sat_rtz(ushort3);
2113ushort3 __ovld __cnfn convert_ushort3_rtp(ushort3);
2114ushort3 __ovld __cnfn convert_ushort3_sat_rtp(ushort3);
2115ushort3 __ovld __cnfn convert_ushort3_rtn(ushort3);
2116ushort3 __ovld __cnfn convert_ushort3_sat_rtn(ushort3);
2117ushort3 __ovld __cnfn convert_ushort3(ushort3);
2118ushort3 __ovld __cnfn convert_ushort3_sat(ushort3);
2119ushort3 __ovld __cnfn convert_ushort3_rte(int3);
2120ushort3 __ovld __cnfn convert_ushort3_sat_rte(int3);
2121ushort3 __ovld __cnfn convert_ushort3_rtz(int3);
2122ushort3 __ovld __cnfn convert_ushort3_sat_rtz(int3);
2123ushort3 __ovld __cnfn convert_ushort3_rtp(int3);
2124ushort3 __ovld __cnfn convert_ushort3_sat_rtp(int3);
2125ushort3 __ovld __cnfn convert_ushort3_rtn(int3);
2126ushort3 __ovld __cnfn convert_ushort3_sat_rtn(int3);
2127ushort3 __ovld __cnfn convert_ushort3(int3);
2128ushort3 __ovld __cnfn convert_ushort3_sat(int3);
2129ushort3 __ovld __cnfn convert_ushort3_rte(uint3);
2130ushort3 __ovld __cnfn convert_ushort3_sat_rte(uint3);
2131ushort3 __ovld __cnfn convert_ushort3_rtz(uint3);
2132ushort3 __ovld __cnfn convert_ushort3_sat_rtz(uint3);
2133ushort3 __ovld __cnfn convert_ushort3_rtp(uint3);
2134ushort3 __ovld __cnfn convert_ushort3_sat_rtp(uint3);
2135ushort3 __ovld __cnfn convert_ushort3_rtn(uint3);
2136ushort3 __ovld __cnfn convert_ushort3_sat_rtn(uint3);
2137ushort3 __ovld __cnfn convert_ushort3(uint3);
2138ushort3 __ovld __cnfn convert_ushort3_sat(uint3);
2139ushort3 __ovld __cnfn convert_ushort3_rte(long3);
2140ushort3 __ovld __cnfn convert_ushort3_sat_rte(long3);
2141ushort3 __ovld __cnfn convert_ushort3_rtz(long3);
2142ushort3 __ovld __cnfn convert_ushort3_sat_rtz(long3);
2143ushort3 __ovld __cnfn convert_ushort3_rtp(long3);
2144ushort3 __ovld __cnfn convert_ushort3_sat_rtp(long3);
2145ushort3 __ovld __cnfn convert_ushort3_rtn(long3);
2146ushort3 __ovld __cnfn convert_ushort3_sat_rtn(long3);
2147ushort3 __ovld __cnfn convert_ushort3(long3);
2148ushort3 __ovld __cnfn convert_ushort3_sat(long3);
2149ushort3 __ovld __cnfn convert_ushort3_rte(ulong3);
2150ushort3 __ovld __cnfn convert_ushort3_sat_rte(ulong3);
2151ushort3 __ovld __cnfn convert_ushort3_rtz(ulong3);
2152ushort3 __ovld __cnfn convert_ushort3_sat_rtz(ulong3);
2153ushort3 __ovld __cnfn convert_ushort3_rtp(ulong3);
2154ushort3 __ovld __cnfn convert_ushort3_sat_rtp(ulong3);
2155ushort3 __ovld __cnfn convert_ushort3_rtn(ulong3);
2156ushort3 __ovld __cnfn convert_ushort3_sat_rtn(ulong3);
2157ushort3 __ovld __cnfn convert_ushort3(ulong3);
2158ushort3 __ovld __cnfn convert_ushort3_sat(ulong3);
2159ushort3 __ovld __cnfn convert_ushort3_rte(float3);
2160ushort3 __ovld __cnfn convert_ushort3_sat_rte(float3);
2161ushort3 __ovld __cnfn convert_ushort3_rtz(float3);
2162ushort3 __ovld __cnfn convert_ushort3_sat_rtz(float3);
2163ushort3 __ovld __cnfn convert_ushort3_rtp(float3);
2164ushort3 __ovld __cnfn convert_ushort3_sat_rtp(float3);
2165ushort3 __ovld __cnfn convert_ushort3_rtn(float3);
2166ushort3 __ovld __cnfn convert_ushort3_sat_rtn(float3);
2167ushort3 __ovld __cnfn convert_ushort3(float3);
2168ushort3 __ovld __cnfn convert_ushort3_sat(float3);
2169int3 __ovld __cnfn convert_int3_rte(char3);
2170int3 __ovld __cnfn convert_int3_sat_rte(char3);
2171int3 __ovld __cnfn convert_int3_rtz(char3);
2172int3 __ovld __cnfn convert_int3_sat_rtz(char3);
2173int3 __ovld __cnfn convert_int3_rtp(char3);
2174int3 __ovld __cnfn convert_int3_sat_rtp(char3);
2175int3 __ovld __cnfn convert_int3_rtn(char3);
2176int3 __ovld __cnfn convert_int3_sat_rtn(char3);
2177int3 __ovld __cnfn convert_int3(char3);
2178int3 __ovld __cnfn convert_int3_sat(char3);
2179int3 __ovld __cnfn convert_int3_rte(uchar3);
2180int3 __ovld __cnfn convert_int3_sat_rte(uchar3);
2181int3 __ovld __cnfn convert_int3_rtz(uchar3);
2182int3 __ovld __cnfn convert_int3_sat_rtz(uchar3);
2183int3 __ovld __cnfn convert_int3_rtp(uchar3);
2184int3 __ovld __cnfn convert_int3_sat_rtp(uchar3);
2185int3 __ovld __cnfn convert_int3_rtn(uchar3);
2186int3 __ovld __cnfn convert_int3_sat_rtn(uchar3);
2187int3 __ovld __cnfn convert_int3(uchar3);
2188int3 __ovld __cnfn convert_int3_sat(uchar3);
2189int3 __ovld __cnfn convert_int3_rte(short3);
2190int3 __ovld __cnfn convert_int3_sat_rte(short3);
2191int3 __ovld __cnfn convert_int3_rtz(short3);
2192int3 __ovld __cnfn convert_int3_sat_rtz(short3);
2193int3 __ovld __cnfn convert_int3_rtp(short3);
2194int3 __ovld __cnfn convert_int3_sat_rtp(short3);
2195int3 __ovld __cnfn convert_int3_rtn(short3);
2196int3 __ovld __cnfn convert_int3_sat_rtn(short3);
2197int3 __ovld __cnfn convert_int3(short3);
2198int3 __ovld __cnfn convert_int3_sat(short3);
2199int3 __ovld __cnfn convert_int3_rte(ushort3);
2200int3 __ovld __cnfn convert_int3_sat_rte(ushort3);
2201int3 __ovld __cnfn convert_int3_rtz(ushort3);
2202int3 __ovld __cnfn convert_int3_sat_rtz(ushort3);
2203int3 __ovld __cnfn convert_int3_rtp(ushort3);
2204int3 __ovld __cnfn convert_int3_sat_rtp(ushort3);
2205int3 __ovld __cnfn convert_int3_rtn(ushort3);
2206int3 __ovld __cnfn convert_int3_sat_rtn(ushort3);
2207int3 __ovld __cnfn convert_int3(ushort3);
2208int3 __ovld __cnfn convert_int3_sat(ushort3);
2209int3 __ovld __cnfn convert_int3_rte(int3);
2210int3 __ovld __cnfn convert_int3_sat_rte(int3);
2211int3 __ovld __cnfn convert_int3_rtz(int3);
2212int3 __ovld __cnfn convert_int3_sat_rtz(int3);
2213int3 __ovld __cnfn convert_int3_rtp(int3);
2214int3 __ovld __cnfn convert_int3_sat_rtp(int3);
2215int3 __ovld __cnfn convert_int3_rtn(int3);
2216int3 __ovld __cnfn convert_int3_sat_rtn(int3);
2217int3 __ovld __cnfn convert_int3(int3);
2218int3 __ovld __cnfn convert_int3_sat(int3);
2219int3 __ovld __cnfn convert_int3_rte(uint3);
2220int3 __ovld __cnfn convert_int3_sat_rte(uint3);
2221int3 __ovld __cnfn convert_int3_rtz(uint3);
2222int3 __ovld __cnfn convert_int3_sat_rtz(uint3);
2223int3 __ovld __cnfn convert_int3_rtp(uint3);
2224int3 __ovld __cnfn convert_int3_sat_rtp(uint3);
2225int3 __ovld __cnfn convert_int3_rtn(uint3);
2226int3 __ovld __cnfn convert_int3_sat_rtn(uint3);
2227int3 __ovld __cnfn convert_int3(uint3);
2228int3 __ovld __cnfn convert_int3_sat(uint3);
2229int3 __ovld __cnfn convert_int3_rte(long3);
2230int3 __ovld __cnfn convert_int3_sat_rte(long3);
2231int3 __ovld __cnfn convert_int3_rtz(long3);
2232int3 __ovld __cnfn convert_int3_sat_rtz(long3);
2233int3 __ovld __cnfn convert_int3_rtp(long3);
2234int3 __ovld __cnfn convert_int3_sat_rtp(long3);
2235int3 __ovld __cnfn convert_int3_rtn(long3);
2236int3 __ovld __cnfn convert_int3_sat_rtn(long3);
2237int3 __ovld __cnfn convert_int3(long3);
2238int3 __ovld __cnfn convert_int3_sat(long3);
2239int3 __ovld __cnfn convert_int3_rte(ulong3);
2240int3 __ovld __cnfn convert_int3_sat_rte(ulong3);
2241int3 __ovld __cnfn convert_int3_rtz(ulong3);
2242int3 __ovld __cnfn convert_int3_sat_rtz(ulong3);
2243int3 __ovld __cnfn convert_int3_rtp(ulong3);
2244int3 __ovld __cnfn convert_int3_sat_rtp(ulong3);
2245int3 __ovld __cnfn convert_int3_rtn(ulong3);
2246int3 __ovld __cnfn convert_int3_sat_rtn(ulong3);
2247int3 __ovld __cnfn convert_int3(ulong3);
2248int3 __ovld __cnfn convert_int3_sat(ulong3);
2249int3 __ovld __cnfn convert_int3_rte(float3);
2250int3 __ovld __cnfn convert_int3_sat_rte(float3);
2251int3 __ovld __cnfn convert_int3_rtz(float3);
2252int3 __ovld __cnfn convert_int3_sat_rtz(float3);
2253int3 __ovld __cnfn convert_int3_rtp(float3);
2254int3 __ovld __cnfn convert_int3_sat_rtp(float3);
2255int3 __ovld __cnfn convert_int3_rtn(float3);
2256int3 __ovld __cnfn convert_int3_sat_rtn(float3);
2257int3 __ovld __cnfn convert_int3(float3);
2258int3 __ovld __cnfn convert_int3_sat(float3);
2259uint3 __ovld __cnfn convert_uint3_rte(char3);
2260uint3 __ovld __cnfn convert_uint3_sat_rte(char3);
2261uint3 __ovld __cnfn convert_uint3_rtz(char3);
2262uint3 __ovld __cnfn convert_uint3_sat_rtz(char3);
2263uint3 __ovld __cnfn convert_uint3_rtp(char3);
2264uint3 __ovld __cnfn convert_uint3_sat_rtp(char3);
2265uint3 __ovld __cnfn convert_uint3_rtn(char3);
2266uint3 __ovld __cnfn convert_uint3_sat_rtn(char3);
2267uint3 __ovld __cnfn convert_uint3(char3);
2268uint3 __ovld __cnfn convert_uint3_sat(char3);
2269uint3 __ovld __cnfn convert_uint3_rte(uchar3);
2270uint3 __ovld __cnfn convert_uint3_sat_rte(uchar3);
2271uint3 __ovld __cnfn convert_uint3_rtz(uchar3);
2272uint3 __ovld __cnfn convert_uint3_sat_rtz(uchar3);
2273uint3 __ovld __cnfn convert_uint3_rtp(uchar3);
2274uint3 __ovld __cnfn convert_uint3_sat_rtp(uchar3);
2275uint3 __ovld __cnfn convert_uint3_rtn(uchar3);
2276uint3 __ovld __cnfn convert_uint3_sat_rtn(uchar3);
2277uint3 __ovld __cnfn convert_uint3(uchar3);
2278uint3 __ovld __cnfn convert_uint3_sat(uchar3);
2279uint3 __ovld __cnfn convert_uint3_rte(short3);
2280uint3 __ovld __cnfn convert_uint3_sat_rte(short3);
2281uint3 __ovld __cnfn convert_uint3_rtz(short3);
2282uint3 __ovld __cnfn convert_uint3_sat_rtz(short3);
2283uint3 __ovld __cnfn convert_uint3_rtp(short3);
2284uint3 __ovld __cnfn convert_uint3_sat_rtp(short3);
2285uint3 __ovld __cnfn convert_uint3_rtn(short3);
2286uint3 __ovld __cnfn convert_uint3_sat_rtn(short3);
2287uint3 __ovld __cnfn convert_uint3(short3);
2288uint3 __ovld __cnfn convert_uint3_sat(short3);
2289uint3 __ovld __cnfn convert_uint3_rte(ushort3);
2290uint3 __ovld __cnfn convert_uint3_sat_rte(ushort3);
2291uint3 __ovld __cnfn convert_uint3_rtz(ushort3);
2292uint3 __ovld __cnfn convert_uint3_sat_rtz(ushort3);
2293uint3 __ovld __cnfn convert_uint3_rtp(ushort3);
2294uint3 __ovld __cnfn convert_uint3_sat_rtp(ushort3);
2295uint3 __ovld __cnfn convert_uint3_rtn(ushort3);
2296uint3 __ovld __cnfn convert_uint3_sat_rtn(ushort3);
2297uint3 __ovld __cnfn convert_uint3(ushort3);
2298uint3 __ovld __cnfn convert_uint3_sat(ushort3);
2299uint3 __ovld __cnfn convert_uint3_rte(int3);
2300uint3 __ovld __cnfn convert_uint3_sat_rte(int3);
2301uint3 __ovld __cnfn convert_uint3_rtz(int3);
2302uint3 __ovld __cnfn convert_uint3_sat_rtz(int3);
2303uint3 __ovld __cnfn convert_uint3_rtp(int3);
2304uint3 __ovld __cnfn convert_uint3_sat_rtp(int3);
2305uint3 __ovld __cnfn convert_uint3_rtn(int3);
2306uint3 __ovld __cnfn convert_uint3_sat_rtn(int3);
2307uint3 __ovld __cnfn convert_uint3(int3);
2308uint3 __ovld __cnfn convert_uint3_sat(int3);
2309uint3 __ovld __cnfn convert_uint3_rte(uint3);
2310uint3 __ovld __cnfn convert_uint3_sat_rte(uint3);
2311uint3 __ovld __cnfn convert_uint3_rtz(uint3);
2312uint3 __ovld __cnfn convert_uint3_sat_rtz(uint3);
2313uint3 __ovld __cnfn convert_uint3_rtp(uint3);
2314uint3 __ovld __cnfn convert_uint3_sat_rtp(uint3);
2315uint3 __ovld __cnfn convert_uint3_rtn(uint3);
2316uint3 __ovld __cnfn convert_uint3_sat_rtn(uint3);
2317uint3 __ovld __cnfn convert_uint3(uint3);
2318uint3 __ovld __cnfn convert_uint3_sat(uint3);
2319uint3 __ovld __cnfn convert_uint3_rte(long3);
2320uint3 __ovld __cnfn convert_uint3_sat_rte(long3);
2321uint3 __ovld __cnfn convert_uint3_rtz(long3);
2322uint3 __ovld __cnfn convert_uint3_sat_rtz(long3);
2323uint3 __ovld __cnfn convert_uint3_rtp(long3);
2324uint3 __ovld __cnfn convert_uint3_sat_rtp(long3);
2325uint3 __ovld __cnfn convert_uint3_rtn(long3);
2326uint3 __ovld __cnfn convert_uint3_sat_rtn(long3);
2327uint3 __ovld __cnfn convert_uint3(long3);
2328uint3 __ovld __cnfn convert_uint3_sat(long3);
2329uint3 __ovld __cnfn convert_uint3_rte(ulong3);
2330uint3 __ovld __cnfn convert_uint3_sat_rte(ulong3);
2331uint3 __ovld __cnfn convert_uint3_rtz(ulong3);
2332uint3 __ovld __cnfn convert_uint3_sat_rtz(ulong3);
2333uint3 __ovld __cnfn convert_uint3_rtp(ulong3);
2334uint3 __ovld __cnfn convert_uint3_sat_rtp(ulong3);
2335uint3 __ovld __cnfn convert_uint3_rtn(ulong3);
2336uint3 __ovld __cnfn convert_uint3_sat_rtn(ulong3);
2337uint3 __ovld __cnfn convert_uint3(ulong3);
2338uint3 __ovld __cnfn convert_uint3_sat(ulong3);
2339uint3 __ovld __cnfn convert_uint3_rte(float3);
2340uint3 __ovld __cnfn convert_uint3_sat_rte(float3);
2341uint3 __ovld __cnfn convert_uint3_rtz(float3);
2342uint3 __ovld __cnfn convert_uint3_sat_rtz(float3);
2343uint3 __ovld __cnfn convert_uint3_rtp(float3);
2344uint3 __ovld __cnfn convert_uint3_sat_rtp(float3);
2345uint3 __ovld __cnfn convert_uint3_rtn(float3);
2346uint3 __ovld __cnfn convert_uint3_sat_rtn(float3);
2347uint3 __ovld __cnfn convert_uint3(float3);
2348uint3 __ovld __cnfn convert_uint3_sat(float3);
2349long3 __ovld __cnfn convert_long3_rte(char3);
2350long3 __ovld __cnfn convert_long3_sat_rte(char3);
2351long3 __ovld __cnfn convert_long3_rtz(char3);
2352long3 __ovld __cnfn convert_long3_sat_rtz(char3);
2353long3 __ovld __cnfn convert_long3_rtp(char3);
2354long3 __ovld __cnfn convert_long3_sat_rtp(char3);
2355long3 __ovld __cnfn convert_long3_rtn(char3);
2356long3 __ovld __cnfn convert_long3_sat_rtn(char3);
2357long3 __ovld __cnfn convert_long3(char3);
2358long3 __ovld __cnfn convert_long3_sat(char3);
2359long3 __ovld __cnfn convert_long3_rte(uchar3);
2360long3 __ovld __cnfn convert_long3_sat_rte(uchar3);
2361long3 __ovld __cnfn convert_long3_rtz(uchar3);
2362long3 __ovld __cnfn convert_long3_sat_rtz(uchar3);
2363long3 __ovld __cnfn convert_long3_rtp(uchar3);
2364long3 __ovld __cnfn convert_long3_sat_rtp(uchar3);
2365long3 __ovld __cnfn convert_long3_rtn(uchar3);
2366long3 __ovld __cnfn convert_long3_sat_rtn(uchar3);
2367long3 __ovld __cnfn convert_long3(uchar3);
2368long3 __ovld __cnfn convert_long3_sat(uchar3);
2369long3 __ovld __cnfn convert_long3_rte(short3);
2370long3 __ovld __cnfn convert_long3_sat_rte(short3);
2371long3 __ovld __cnfn convert_long3_rtz(short3);
2372long3 __ovld __cnfn convert_long3_sat_rtz(short3);
2373long3 __ovld __cnfn convert_long3_rtp(short3);
2374long3 __ovld __cnfn convert_long3_sat_rtp(short3);
2375long3 __ovld __cnfn convert_long3_rtn(short3);
2376long3 __ovld __cnfn convert_long3_sat_rtn(short3);
2377long3 __ovld __cnfn convert_long3(short3);
2378long3 __ovld __cnfn convert_long3_sat(short3);
2379long3 __ovld __cnfn convert_long3_rte(ushort3);
2380long3 __ovld __cnfn convert_long3_sat_rte(ushort3);
2381long3 __ovld __cnfn convert_long3_rtz(ushort3);
2382long3 __ovld __cnfn convert_long3_sat_rtz(ushort3);
2383long3 __ovld __cnfn convert_long3_rtp(ushort3);
2384long3 __ovld __cnfn convert_long3_sat_rtp(ushort3);
2385long3 __ovld __cnfn convert_long3_rtn(ushort3);
2386long3 __ovld __cnfn convert_long3_sat_rtn(ushort3);
2387long3 __ovld __cnfn convert_long3(ushort3);
2388long3 __ovld __cnfn convert_long3_sat(ushort3);
2389long3 __ovld __cnfn convert_long3_rte(int3);
2390long3 __ovld __cnfn convert_long3_sat_rte(int3);
2391long3 __ovld __cnfn convert_long3_rtz(int3);
2392long3 __ovld __cnfn convert_long3_sat_rtz(int3);
2393long3 __ovld __cnfn convert_long3_rtp(int3);
2394long3 __ovld __cnfn convert_long3_sat_rtp(int3);
2395long3 __ovld __cnfn convert_long3_rtn(int3);
2396long3 __ovld __cnfn convert_long3_sat_rtn(int3);
2397long3 __ovld __cnfn convert_long3(int3);
2398long3 __ovld __cnfn convert_long3_sat(int3);
2399long3 __ovld __cnfn convert_long3_rte(uint3);
2400long3 __ovld __cnfn convert_long3_sat_rte(uint3);
2401long3 __ovld __cnfn convert_long3_rtz(uint3);
2402long3 __ovld __cnfn convert_long3_sat_rtz(uint3);
2403long3 __ovld __cnfn convert_long3_rtp(uint3);
2404long3 __ovld __cnfn convert_long3_sat_rtp(uint3);
2405long3 __ovld __cnfn convert_long3_rtn(uint3);
2406long3 __ovld __cnfn convert_long3_sat_rtn(uint3);
2407long3 __ovld __cnfn convert_long3(uint3);
2408long3 __ovld __cnfn convert_long3_sat(uint3);
2409long3 __ovld __cnfn convert_long3_rte(long3);
2410long3 __ovld __cnfn convert_long3_sat_rte(long3);
2411long3 __ovld __cnfn convert_long3_rtz(long3);
2412long3 __ovld __cnfn convert_long3_sat_rtz(long3);
2413long3 __ovld __cnfn convert_long3_rtp(long3);
2414long3 __ovld __cnfn convert_long3_sat_rtp(long3);
2415long3 __ovld __cnfn convert_long3_rtn(long3);
2416long3 __ovld __cnfn convert_long3_sat_rtn(long3);
2417long3 __ovld __cnfn convert_long3(long3);
2418long3 __ovld __cnfn convert_long3_sat(long3);
2419long3 __ovld __cnfn convert_long3_rte(ulong3);
2420long3 __ovld __cnfn convert_long3_sat_rte(ulong3);
2421long3 __ovld __cnfn convert_long3_rtz(ulong3);
2422long3 __ovld __cnfn convert_long3_sat_rtz(ulong3);
2423long3 __ovld __cnfn convert_long3_rtp(ulong3);
2424long3 __ovld __cnfn convert_long3_sat_rtp(ulong3);
2425long3 __ovld __cnfn convert_long3_rtn(ulong3);
2426long3 __ovld __cnfn convert_long3_sat_rtn(ulong3);
2427long3 __ovld __cnfn convert_long3(ulong3);
2428long3 __ovld __cnfn convert_long3_sat(ulong3);
2429long3 __ovld __cnfn convert_long3_rte(float3);
2430long3 __ovld __cnfn convert_long3_sat_rte(float3);
2431long3 __ovld __cnfn convert_long3_rtz(float3);
2432long3 __ovld __cnfn convert_long3_sat_rtz(float3);
2433long3 __ovld __cnfn convert_long3_rtp(float3);
2434long3 __ovld __cnfn convert_long3_sat_rtp(float3);
2435long3 __ovld __cnfn convert_long3_rtn(float3);
2436long3 __ovld __cnfn convert_long3_sat_rtn(float3);
2437long3 __ovld __cnfn convert_long3(float3);
2438long3 __ovld __cnfn convert_long3_sat(float3);
2439ulong3 __ovld __cnfn convert_ulong3_rte(char3);
2440ulong3 __ovld __cnfn convert_ulong3_sat_rte(char3);
2441ulong3 __ovld __cnfn convert_ulong3_rtz(char3);
2442ulong3 __ovld __cnfn convert_ulong3_sat_rtz(char3);
2443ulong3 __ovld __cnfn convert_ulong3_rtp(char3);
2444ulong3 __ovld __cnfn convert_ulong3_sat_rtp(char3);
2445ulong3 __ovld __cnfn convert_ulong3_rtn(char3);
2446ulong3 __ovld __cnfn convert_ulong3_sat_rtn(char3);
2447ulong3 __ovld __cnfn convert_ulong3(char3);
2448ulong3 __ovld __cnfn convert_ulong3_sat(char3);
2449ulong3 __ovld __cnfn convert_ulong3_rte(uchar3);
2450ulong3 __ovld __cnfn convert_ulong3_sat_rte(uchar3);
2451ulong3 __ovld __cnfn convert_ulong3_rtz(uchar3);
2452ulong3 __ovld __cnfn convert_ulong3_sat_rtz(uchar3);
2453ulong3 __ovld __cnfn convert_ulong3_rtp(uchar3);
2454ulong3 __ovld __cnfn convert_ulong3_sat_rtp(uchar3);
2455ulong3 __ovld __cnfn convert_ulong3_rtn(uchar3);
2456ulong3 __ovld __cnfn convert_ulong3_sat_rtn(uchar3);
2457ulong3 __ovld __cnfn convert_ulong3(uchar3);
2458ulong3 __ovld __cnfn convert_ulong3_sat(uchar3);
2459ulong3 __ovld __cnfn convert_ulong3_rte(short3);
2460ulong3 __ovld __cnfn convert_ulong3_sat_rte(short3);
2461ulong3 __ovld __cnfn convert_ulong3_rtz(short3);
2462ulong3 __ovld __cnfn convert_ulong3_sat_rtz(short3);
2463ulong3 __ovld __cnfn convert_ulong3_rtp(short3);
2464ulong3 __ovld __cnfn convert_ulong3_sat_rtp(short3);
2465ulong3 __ovld __cnfn convert_ulong3_rtn(short3);
2466ulong3 __ovld __cnfn convert_ulong3_sat_rtn(short3);
2467ulong3 __ovld __cnfn convert_ulong3(short3);
2468ulong3 __ovld __cnfn convert_ulong3_sat(short3);
2469ulong3 __ovld __cnfn convert_ulong3_rte(ushort3);
2470ulong3 __ovld __cnfn convert_ulong3_sat_rte(ushort3);
2471ulong3 __ovld __cnfn convert_ulong3_rtz(ushort3);
2472ulong3 __ovld __cnfn convert_ulong3_sat_rtz(ushort3);
2473ulong3 __ovld __cnfn convert_ulong3_rtp(ushort3);
2474ulong3 __ovld __cnfn convert_ulong3_sat_rtp(ushort3);
2475ulong3 __ovld __cnfn convert_ulong3_rtn(ushort3);
2476ulong3 __ovld __cnfn convert_ulong3_sat_rtn(ushort3);
2477ulong3 __ovld __cnfn convert_ulong3(ushort3);
2478ulong3 __ovld __cnfn convert_ulong3_sat(ushort3);
2479ulong3 __ovld __cnfn convert_ulong3_rte(int3);
2480ulong3 __ovld __cnfn convert_ulong3_sat_rte(int3);
2481ulong3 __ovld __cnfn convert_ulong3_rtz(int3);
2482ulong3 __ovld __cnfn convert_ulong3_sat_rtz(int3);
2483ulong3 __ovld __cnfn convert_ulong3_rtp(int3);
2484ulong3 __ovld __cnfn convert_ulong3_sat_rtp(int3);
2485ulong3 __ovld __cnfn convert_ulong3_rtn(int3);
2486ulong3 __ovld __cnfn convert_ulong3_sat_rtn(int3);
2487ulong3 __ovld __cnfn convert_ulong3(int3);
2488ulong3 __ovld __cnfn convert_ulong3_sat(int3);
2489ulong3 __ovld __cnfn convert_ulong3_rte(uint3);
2490ulong3 __ovld __cnfn convert_ulong3_sat_rte(uint3);
2491ulong3 __ovld __cnfn convert_ulong3_rtz(uint3);
2492ulong3 __ovld __cnfn convert_ulong3_sat_rtz(uint3);
2493ulong3 __ovld __cnfn convert_ulong3_rtp(uint3);
2494ulong3 __ovld __cnfn convert_ulong3_sat_rtp(uint3);
2495ulong3 __ovld __cnfn convert_ulong3_rtn(uint3);
2496ulong3 __ovld __cnfn convert_ulong3_sat_rtn(uint3);
2497ulong3 __ovld __cnfn convert_ulong3(uint3);
2498ulong3 __ovld __cnfn convert_ulong3_sat(uint3);
2499ulong3 __ovld __cnfn convert_ulong3_rte(long3);
2500ulong3 __ovld __cnfn convert_ulong3_sat_rte(long3);
2501ulong3 __ovld __cnfn convert_ulong3_rtz(long3);
2502ulong3 __ovld __cnfn convert_ulong3_sat_rtz(long3);
2503ulong3 __ovld __cnfn convert_ulong3_rtp(long3);
2504ulong3 __ovld __cnfn convert_ulong3_sat_rtp(long3);
2505ulong3 __ovld __cnfn convert_ulong3_rtn(long3);
2506ulong3 __ovld __cnfn convert_ulong3_sat_rtn(long3);
2507ulong3 __ovld __cnfn convert_ulong3(long3);
2508ulong3 __ovld __cnfn convert_ulong3_sat(long3);
2509ulong3 __ovld __cnfn convert_ulong3_rte(ulong3);
2510ulong3 __ovld __cnfn convert_ulong3_sat_rte(ulong3);
2511ulong3 __ovld __cnfn convert_ulong3_rtz(ulong3);
2512ulong3 __ovld __cnfn convert_ulong3_sat_rtz(ulong3);
2513ulong3 __ovld __cnfn convert_ulong3_rtp(ulong3);
2514ulong3 __ovld __cnfn convert_ulong3_sat_rtp(ulong3);
2515ulong3 __ovld __cnfn convert_ulong3_rtn(ulong3);
2516ulong3 __ovld __cnfn convert_ulong3_sat_rtn(ulong3);
2517ulong3 __ovld __cnfn convert_ulong3(ulong3);
2518ulong3 __ovld __cnfn convert_ulong3_sat(ulong3);
2519ulong3 __ovld __cnfn convert_ulong3_rte(float3);
2520ulong3 __ovld __cnfn convert_ulong3_sat_rte(float3);
2521ulong3 __ovld __cnfn convert_ulong3_rtz(float3);
2522ulong3 __ovld __cnfn convert_ulong3_sat_rtz(float3);
2523ulong3 __ovld __cnfn convert_ulong3_rtp(float3);
2524ulong3 __ovld __cnfn convert_ulong3_sat_rtp(float3);
2525ulong3 __ovld __cnfn convert_ulong3_rtn(float3);
2526ulong3 __ovld __cnfn convert_ulong3_sat_rtn(float3);
2527ulong3 __ovld __cnfn convert_ulong3(float3);
2528ulong3 __ovld __cnfn convert_ulong3_sat(float3);
2529float3 __ovld __cnfn convert_float3_rte(char3);
2530float3 __ovld __cnfn convert_float3_rtz(char3);
2531float3 __ovld __cnfn convert_float3_rtp(char3);
2532float3 __ovld __cnfn convert_float3_rtn(char3);
2533float3 __ovld __cnfn convert_float3(char3);
2534float3 __ovld __cnfn convert_float3_rte(uchar3);
2535float3 __ovld __cnfn convert_float3_rtz(uchar3);
2536float3 __ovld __cnfn convert_float3_rtp(uchar3);
2537float3 __ovld __cnfn convert_float3_rtn(uchar3);
2538float3 __ovld __cnfn convert_float3(uchar3);
2539float3 __ovld __cnfn convert_float3_rte(short3);
2540float3 __ovld __cnfn convert_float3_rtz(short3);
2541float3 __ovld __cnfn convert_float3_rtp(short3);
2542float3 __ovld __cnfn convert_float3_rtn(short3);
2543float3 __ovld __cnfn convert_float3(short3);
2544float3 __ovld __cnfn convert_float3_rte(ushort3);
2545float3 __ovld __cnfn convert_float3_rtz(ushort3);
2546float3 __ovld __cnfn convert_float3_rtp(ushort3);
2547float3 __ovld __cnfn convert_float3_rtn(ushort3);
2548float3 __ovld __cnfn convert_float3(ushort3);
2549float3 __ovld __cnfn convert_float3_rte(int3);
2550float3 __ovld __cnfn convert_float3_rtz(int3);
2551float3 __ovld __cnfn convert_float3_rtp(int3);
2552float3 __ovld __cnfn convert_float3_rtn(int3);
2553float3 __ovld __cnfn convert_float3(int3);
2554float3 __ovld __cnfn convert_float3_rte(uint3);
2555float3 __ovld __cnfn convert_float3_rtz(uint3);
2556float3 __ovld __cnfn convert_float3_rtp(uint3);
2557float3 __ovld __cnfn convert_float3_rtn(uint3);
2558float3 __ovld __cnfn convert_float3(uint3);
2559float3 __ovld __cnfn convert_float3_rte(long3);
2560float3 __ovld __cnfn convert_float3_rtz(long3);
2561float3 __ovld __cnfn convert_float3_rtp(long3);
2562float3 __ovld __cnfn convert_float3_rtn(long3);
2563float3 __ovld __cnfn convert_float3(long3);
2564float3 __ovld __cnfn convert_float3_rte(ulong3);
2565float3 __ovld __cnfn convert_float3_rtz(ulong3);
2566float3 __ovld __cnfn convert_float3_rtp(ulong3);
2567float3 __ovld __cnfn convert_float3_rtn(ulong3);
2568float3 __ovld __cnfn convert_float3(ulong3);
2569float3 __ovld __cnfn convert_float3_rte(float3);
2570float3 __ovld __cnfn convert_float3_rtz(float3);
2571float3 __ovld __cnfn convert_float3_rtp(float3);
2572float3 __ovld __cnfn convert_float3_rtn(float3);
2573float3 __ovld __cnfn convert_float3(float3);
2574char4 __ovld __cnfn convert_char4_rte(char4);
2575char4 __ovld __cnfn convert_char4_sat_rte(char4);
2576char4 __ovld __cnfn convert_char4_rtz(char4);
2577char4 __ovld __cnfn convert_char4_sat_rtz(char4);
2578char4 __ovld __cnfn convert_char4_rtp(char4);
2579char4 __ovld __cnfn convert_char4_sat_rtp(char4);
2580char4 __ovld __cnfn convert_char4_rtn(char4);
2581char4 __ovld __cnfn convert_char4_sat_rtn(char4);
2582char4 __ovld __cnfn convert_char4(char4);
2583char4 __ovld __cnfn convert_char4_sat(char4);
2584char4 __ovld __cnfn convert_char4_rte(uchar4);
2585char4 __ovld __cnfn convert_char4_sat_rte(uchar4);
2586char4 __ovld __cnfn convert_char4_rtz(uchar4);
2587char4 __ovld __cnfn convert_char4_sat_rtz(uchar4);
2588char4 __ovld __cnfn convert_char4_rtp(uchar4);
2589char4 __ovld __cnfn convert_char4_sat_rtp(uchar4);
2590char4 __ovld __cnfn convert_char4_rtn(uchar4);
2591char4 __ovld __cnfn convert_char4_sat_rtn(uchar4);
2592char4 __ovld __cnfn convert_char4(uchar4);
2593char4 __ovld __cnfn convert_char4_sat(uchar4);
2594char4 __ovld __cnfn convert_char4_rte(short4);
2595char4 __ovld __cnfn convert_char4_sat_rte(short4);
2596char4 __ovld __cnfn convert_char4_rtz(short4);
2597char4 __ovld __cnfn convert_char4_sat_rtz(short4);
2598char4 __ovld __cnfn convert_char4_rtp(short4);
2599char4 __ovld __cnfn convert_char4_sat_rtp(short4);
2600char4 __ovld __cnfn convert_char4_rtn(short4);
2601char4 __ovld __cnfn convert_char4_sat_rtn(short4);
2602char4 __ovld __cnfn convert_char4(short4);
2603char4 __ovld __cnfn convert_char4_sat(short4);
2604char4 __ovld __cnfn convert_char4_rte(ushort4);
2605char4 __ovld __cnfn convert_char4_sat_rte(ushort4);
2606char4 __ovld __cnfn convert_char4_rtz(ushort4);
2607char4 __ovld __cnfn convert_char4_sat_rtz(ushort4);
2608char4 __ovld __cnfn convert_char4_rtp(ushort4);
2609char4 __ovld __cnfn convert_char4_sat_rtp(ushort4);
2610char4 __ovld __cnfn convert_char4_rtn(ushort4);
2611char4 __ovld __cnfn convert_char4_sat_rtn(ushort4);
2612char4 __ovld __cnfn convert_char4(ushort4);
2613char4 __ovld __cnfn convert_char4_sat(ushort4);
2614char4 __ovld __cnfn convert_char4_rte(int4);
2615char4 __ovld __cnfn convert_char4_sat_rte(int4);
2616char4 __ovld __cnfn convert_char4_rtz(int4);
2617char4 __ovld __cnfn convert_char4_sat_rtz(int4);
2618char4 __ovld __cnfn convert_char4_rtp(int4);
2619char4 __ovld __cnfn convert_char4_sat_rtp(int4);
2620char4 __ovld __cnfn convert_char4_rtn(int4);
2621char4 __ovld __cnfn convert_char4_sat_rtn(int4);
2622char4 __ovld __cnfn convert_char4(int4);
2623char4 __ovld __cnfn convert_char4_sat(int4);
2624char4 __ovld __cnfn convert_char4_rte(uint4);
2625char4 __ovld __cnfn convert_char4_sat_rte(uint4);
2626char4 __ovld __cnfn convert_char4_rtz(uint4);
2627char4 __ovld __cnfn convert_char4_sat_rtz(uint4);
2628char4 __ovld __cnfn convert_char4_rtp(uint4);
2629char4 __ovld __cnfn convert_char4_sat_rtp(uint4);
2630char4 __ovld __cnfn convert_char4_rtn(uint4);
2631char4 __ovld __cnfn convert_char4_sat_rtn(uint4);
2632char4 __ovld __cnfn convert_char4(uint4);
2633char4 __ovld __cnfn convert_char4_sat(uint4);
2634char4 __ovld __cnfn convert_char4_rte(long4);
2635char4 __ovld __cnfn convert_char4_sat_rte(long4);
2636char4 __ovld __cnfn convert_char4_rtz(long4);
2637char4 __ovld __cnfn convert_char4_sat_rtz(long4);
2638char4 __ovld __cnfn convert_char4_rtp(long4);
2639char4 __ovld __cnfn convert_char4_sat_rtp(long4);
2640char4 __ovld __cnfn convert_char4_rtn(long4);
2641char4 __ovld __cnfn convert_char4_sat_rtn(long4);
2642char4 __ovld __cnfn convert_char4(long4);
2643char4 __ovld __cnfn convert_char4_sat(long4);
2644char4 __ovld __cnfn convert_char4_rte(ulong4);
2645char4 __ovld __cnfn convert_char4_sat_rte(ulong4);
2646char4 __ovld __cnfn convert_char4_rtz(ulong4);
2647char4 __ovld __cnfn convert_char4_sat_rtz(ulong4);
2648char4 __ovld __cnfn convert_char4_rtp(ulong4);
2649char4 __ovld __cnfn convert_char4_sat_rtp(ulong4);
2650char4 __ovld __cnfn convert_char4_rtn(ulong4);
2651char4 __ovld __cnfn convert_char4_sat_rtn(ulong4);
2652char4 __ovld __cnfn convert_char4(ulong4);
2653char4 __ovld __cnfn convert_char4_sat(ulong4);
2654char4 __ovld __cnfn convert_char4_rte(float4);
2655char4 __ovld __cnfn convert_char4_sat_rte(float4);
2656char4 __ovld __cnfn convert_char4_rtz(float4);
2657char4 __ovld __cnfn convert_char4_sat_rtz(float4);
2658char4 __ovld __cnfn convert_char4_rtp(float4);
2659char4 __ovld __cnfn convert_char4_sat_rtp(float4);
2660char4 __ovld __cnfn convert_char4_rtn(float4);
2661char4 __ovld __cnfn convert_char4_sat_rtn(float4);
2662char4 __ovld __cnfn convert_char4(float4);
2663char4 __ovld __cnfn convert_char4_sat(float4);
2664uchar4 __ovld __cnfn convert_uchar4_rte(char4);
2665uchar4 __ovld __cnfn convert_uchar4_sat_rte(char4);
2666uchar4 __ovld __cnfn convert_uchar4_rtz(char4);
2667uchar4 __ovld __cnfn convert_uchar4_sat_rtz(char4);
2668uchar4 __ovld __cnfn convert_uchar4_rtp(char4);
2669uchar4 __ovld __cnfn convert_uchar4_sat_rtp(char4);
2670uchar4 __ovld __cnfn convert_uchar4_rtn(char4);
2671uchar4 __ovld __cnfn convert_uchar4_sat_rtn(char4);
2672uchar4 __ovld __cnfn convert_uchar4(char4);
2673uchar4 __ovld __cnfn convert_uchar4_sat(char4);
2674uchar4 __ovld __cnfn convert_uchar4_rte(uchar4);
2675uchar4 __ovld __cnfn convert_uchar4_sat_rte(uchar4);
2676uchar4 __ovld __cnfn convert_uchar4_rtz(uchar4);
2677uchar4 __ovld __cnfn convert_uchar4_sat_rtz(uchar4);
2678uchar4 __ovld __cnfn convert_uchar4_rtp(uchar4);
2679uchar4 __ovld __cnfn convert_uchar4_sat_rtp(uchar4);
2680uchar4 __ovld __cnfn convert_uchar4_rtn(uchar4);
2681uchar4 __ovld __cnfn convert_uchar4_sat_rtn(uchar4);
2682uchar4 __ovld __cnfn convert_uchar4(uchar4);
2683uchar4 __ovld __cnfn convert_uchar4_sat(uchar4);
2684uchar4 __ovld __cnfn convert_uchar4_rte(short4);
2685uchar4 __ovld __cnfn convert_uchar4_sat_rte(short4);
2686uchar4 __ovld __cnfn convert_uchar4_rtz(short4);
2687uchar4 __ovld __cnfn convert_uchar4_sat_rtz(short4);
2688uchar4 __ovld __cnfn convert_uchar4_rtp(short4);
2689uchar4 __ovld __cnfn convert_uchar4_sat_rtp(short4);
2690uchar4 __ovld __cnfn convert_uchar4_rtn(short4);
2691uchar4 __ovld __cnfn convert_uchar4_sat_rtn(short4);
2692uchar4 __ovld __cnfn convert_uchar4(short4);
2693uchar4 __ovld __cnfn convert_uchar4_sat(short4);
2694uchar4 __ovld __cnfn convert_uchar4_rte(ushort4);
2695uchar4 __ovld __cnfn convert_uchar4_sat_rte(ushort4);
2696uchar4 __ovld __cnfn convert_uchar4_rtz(ushort4);
2697uchar4 __ovld __cnfn convert_uchar4_sat_rtz(ushort4);
2698uchar4 __ovld __cnfn convert_uchar4_rtp(ushort4);
2699uchar4 __ovld __cnfn convert_uchar4_sat_rtp(ushort4);
2700uchar4 __ovld __cnfn convert_uchar4_rtn(ushort4);
2701uchar4 __ovld __cnfn convert_uchar4_sat_rtn(ushort4);
2702uchar4 __ovld __cnfn convert_uchar4(ushort4);
2703uchar4 __ovld __cnfn convert_uchar4_sat(ushort4);
2704uchar4 __ovld __cnfn convert_uchar4_rte(int4);
2705uchar4 __ovld __cnfn convert_uchar4_sat_rte(int4);
2706uchar4 __ovld __cnfn convert_uchar4_rtz(int4);
2707uchar4 __ovld __cnfn convert_uchar4_sat_rtz(int4);
2708uchar4 __ovld __cnfn convert_uchar4_rtp(int4);
2709uchar4 __ovld __cnfn convert_uchar4_sat_rtp(int4);
2710uchar4 __ovld __cnfn convert_uchar4_rtn(int4);
2711uchar4 __ovld __cnfn convert_uchar4_sat_rtn(int4);
2712uchar4 __ovld __cnfn convert_uchar4(int4);
2713uchar4 __ovld __cnfn convert_uchar4_sat(int4);
2714uchar4 __ovld __cnfn convert_uchar4_rte(uint4);
2715uchar4 __ovld __cnfn convert_uchar4_sat_rte(uint4);
2716uchar4 __ovld __cnfn convert_uchar4_rtz(uint4);
2717uchar4 __ovld __cnfn convert_uchar4_sat_rtz(uint4);
2718uchar4 __ovld __cnfn convert_uchar4_rtp(uint4);
2719uchar4 __ovld __cnfn convert_uchar4_sat_rtp(uint4);
2720uchar4 __ovld __cnfn convert_uchar4_rtn(uint4);
2721uchar4 __ovld __cnfn convert_uchar4_sat_rtn(uint4);
2722uchar4 __ovld __cnfn convert_uchar4(uint4);
2723uchar4 __ovld __cnfn convert_uchar4_sat(uint4);
2724uchar4 __ovld __cnfn convert_uchar4_rte(long4);
2725uchar4 __ovld __cnfn convert_uchar4_sat_rte(long4);
2726uchar4 __ovld __cnfn convert_uchar4_rtz(long4);
2727uchar4 __ovld __cnfn convert_uchar4_sat_rtz(long4);
2728uchar4 __ovld __cnfn convert_uchar4_rtp(long4);
2729uchar4 __ovld __cnfn convert_uchar4_sat_rtp(long4);
2730uchar4 __ovld __cnfn convert_uchar4_rtn(long4);
2731uchar4 __ovld __cnfn convert_uchar4_sat_rtn(long4);
2732uchar4 __ovld __cnfn convert_uchar4(long4);
2733uchar4 __ovld __cnfn convert_uchar4_sat(long4);
2734uchar4 __ovld __cnfn convert_uchar4_rte(ulong4);
2735uchar4 __ovld __cnfn convert_uchar4_sat_rte(ulong4);
2736uchar4 __ovld __cnfn convert_uchar4_rtz(ulong4);
2737uchar4 __ovld __cnfn convert_uchar4_sat_rtz(ulong4);
2738uchar4 __ovld __cnfn convert_uchar4_rtp(ulong4);
2739uchar4 __ovld __cnfn convert_uchar4_sat_rtp(ulong4);
2740uchar4 __ovld __cnfn convert_uchar4_rtn(ulong4);
2741uchar4 __ovld __cnfn convert_uchar4_sat_rtn(ulong4);
2742uchar4 __ovld __cnfn convert_uchar4(ulong4);
2743uchar4 __ovld __cnfn convert_uchar4_sat(ulong4);
2744uchar4 __ovld __cnfn convert_uchar4_rte(float4);
2745uchar4 __ovld __cnfn convert_uchar4_sat_rte(float4);
2746uchar4 __ovld __cnfn convert_uchar4_rtz(float4);
2747uchar4 __ovld __cnfn convert_uchar4_sat_rtz(float4);
2748uchar4 __ovld __cnfn convert_uchar4_rtp(float4);
2749uchar4 __ovld __cnfn convert_uchar4_sat_rtp(float4);
2750uchar4 __ovld __cnfn convert_uchar4_rtn(float4);
2751uchar4 __ovld __cnfn convert_uchar4_sat_rtn(float4);
2752uchar4 __ovld __cnfn convert_uchar4(float4);
2753uchar4 __ovld __cnfn convert_uchar4_sat(float4);
2754short4 __ovld __cnfn convert_short4_rte(char4);
2755short4 __ovld __cnfn convert_short4_sat_rte(char4);
2756short4 __ovld __cnfn convert_short4_rtz(char4);
2757short4 __ovld __cnfn convert_short4_sat_rtz(char4);
2758short4 __ovld __cnfn convert_short4_rtp(char4);
2759short4 __ovld __cnfn convert_short4_sat_rtp(char4);
2760short4 __ovld __cnfn convert_short4_rtn(char4);
2761short4 __ovld __cnfn convert_short4_sat_rtn(char4);
2762short4 __ovld __cnfn convert_short4(char4);
2763short4 __ovld __cnfn convert_short4_sat(char4);
2764short4 __ovld __cnfn convert_short4_rte(uchar4);
2765short4 __ovld __cnfn convert_short4_sat_rte(uchar4);
2766short4 __ovld __cnfn convert_short4_rtz(uchar4);
2767short4 __ovld __cnfn convert_short4_sat_rtz(uchar4);
2768short4 __ovld __cnfn convert_short4_rtp(uchar4);
2769short4 __ovld __cnfn convert_short4_sat_rtp(uchar4);
2770short4 __ovld __cnfn convert_short4_rtn(uchar4);
2771short4 __ovld __cnfn convert_short4_sat_rtn(uchar4);
2772short4 __ovld __cnfn convert_short4(uchar4);
2773short4 __ovld __cnfn convert_short4_sat(uchar4);
2774short4 __ovld __cnfn convert_short4_rte(short4);
2775short4 __ovld __cnfn convert_short4_sat_rte(short4);
2776short4 __ovld __cnfn convert_short4_rtz(short4);
2777short4 __ovld __cnfn convert_short4_sat_rtz(short4);
2778short4 __ovld __cnfn convert_short4_rtp(short4);
2779short4 __ovld __cnfn convert_short4_sat_rtp(short4);
2780short4 __ovld __cnfn convert_short4_rtn(short4);
2781short4 __ovld __cnfn convert_short4_sat_rtn(short4);
2782short4 __ovld __cnfn convert_short4(short4);
2783short4 __ovld __cnfn convert_short4_sat(short4);
2784short4 __ovld __cnfn convert_short4_rte(ushort4);
2785short4 __ovld __cnfn convert_short4_sat_rte(ushort4);
2786short4 __ovld __cnfn convert_short4_rtz(ushort4);
2787short4 __ovld __cnfn convert_short4_sat_rtz(ushort4);
2788short4 __ovld __cnfn convert_short4_rtp(ushort4);
2789short4 __ovld __cnfn convert_short4_sat_rtp(ushort4);
2790short4 __ovld __cnfn convert_short4_rtn(ushort4);
2791short4 __ovld __cnfn convert_short4_sat_rtn(ushort4);
2792short4 __ovld __cnfn convert_short4(ushort4);
2793short4 __ovld __cnfn convert_short4_sat(ushort4);
2794short4 __ovld __cnfn convert_short4_rte(int4);
2795short4 __ovld __cnfn convert_short4_sat_rte(int4);
2796short4 __ovld __cnfn convert_short4_rtz(int4);
2797short4 __ovld __cnfn convert_short4_sat_rtz(int4);
2798short4 __ovld __cnfn convert_short4_rtp(int4);
2799short4 __ovld __cnfn convert_short4_sat_rtp(int4);
2800short4 __ovld __cnfn convert_short4_rtn(int4);
2801short4 __ovld __cnfn convert_short4_sat_rtn(int4);
2802short4 __ovld __cnfn convert_short4(int4);
2803short4 __ovld __cnfn convert_short4_sat(int4);
2804short4 __ovld __cnfn convert_short4_rte(uint4);
2805short4 __ovld __cnfn convert_short4_sat_rte(uint4);
2806short4 __ovld __cnfn convert_short4_rtz(uint4);
2807short4 __ovld __cnfn convert_short4_sat_rtz(uint4);
2808short4 __ovld __cnfn convert_short4_rtp(uint4);
2809short4 __ovld __cnfn convert_short4_sat_rtp(uint4);
2810short4 __ovld __cnfn convert_short4_rtn(uint4);
2811short4 __ovld __cnfn convert_short4_sat_rtn(uint4);
2812short4 __ovld __cnfn convert_short4(uint4);
2813short4 __ovld __cnfn convert_short4_sat(uint4);
2814short4 __ovld __cnfn convert_short4_rte(long4);
2815short4 __ovld __cnfn convert_short4_sat_rte(long4);
2816short4 __ovld __cnfn convert_short4_rtz(long4);
2817short4 __ovld __cnfn convert_short4_sat_rtz(long4);
2818short4 __ovld __cnfn convert_short4_rtp(long4);
2819short4 __ovld __cnfn convert_short4_sat_rtp(long4);
2820short4 __ovld __cnfn convert_short4_rtn(long4);
2821short4 __ovld __cnfn convert_short4_sat_rtn(long4);
2822short4 __ovld __cnfn convert_short4(long4);
2823short4 __ovld __cnfn convert_short4_sat(long4);
2824short4 __ovld __cnfn convert_short4_rte(ulong4);
2825short4 __ovld __cnfn convert_short4_sat_rte(ulong4);
2826short4 __ovld __cnfn convert_short4_rtz(ulong4);
2827short4 __ovld __cnfn convert_short4_sat_rtz(ulong4);
2828short4 __ovld __cnfn convert_short4_rtp(ulong4);
2829short4 __ovld __cnfn convert_short4_sat_rtp(ulong4);
2830short4 __ovld __cnfn convert_short4_rtn(ulong4);
2831short4 __ovld __cnfn convert_short4_sat_rtn(ulong4);
2832short4 __ovld __cnfn convert_short4(ulong4);
2833short4 __ovld __cnfn convert_short4_sat(ulong4);
2834short4 __ovld __cnfn convert_short4_rte(float4);
2835short4 __ovld __cnfn convert_short4_sat_rte(float4);
2836short4 __ovld __cnfn convert_short4_rtz(float4);
2837short4 __ovld __cnfn convert_short4_sat_rtz(float4);
2838short4 __ovld __cnfn convert_short4_rtp(float4);
2839short4 __ovld __cnfn convert_short4_sat_rtp(float4);
2840short4 __ovld __cnfn convert_short4_rtn(float4);
2841short4 __ovld __cnfn convert_short4_sat_rtn(float4);
2842short4 __ovld __cnfn convert_short4(float4);
2843short4 __ovld __cnfn convert_short4_sat(float4);
2844ushort4 __ovld __cnfn convert_ushort4_rte(char4);
2845ushort4 __ovld __cnfn convert_ushort4_sat_rte(char4);
2846ushort4 __ovld __cnfn convert_ushort4_rtz(char4);
2847ushort4 __ovld __cnfn convert_ushort4_sat_rtz(char4);
2848ushort4 __ovld __cnfn convert_ushort4_rtp(char4);
2849ushort4 __ovld __cnfn convert_ushort4_sat_rtp(char4);
2850ushort4 __ovld __cnfn convert_ushort4_rtn(char4);
2851ushort4 __ovld __cnfn convert_ushort4_sat_rtn(char4);
2852ushort4 __ovld __cnfn convert_ushort4(char4);
2853ushort4 __ovld __cnfn convert_ushort4_sat(char4);
2854ushort4 __ovld __cnfn convert_ushort4_rte(uchar4);
2855ushort4 __ovld __cnfn convert_ushort4_sat_rte(uchar4);
2856ushort4 __ovld __cnfn convert_ushort4_rtz(uchar4);
2857ushort4 __ovld __cnfn convert_ushort4_sat_rtz(uchar4);
2858ushort4 __ovld __cnfn convert_ushort4_rtp(uchar4);
2859ushort4 __ovld __cnfn convert_ushort4_sat_rtp(uchar4);
2860ushort4 __ovld __cnfn convert_ushort4_rtn(uchar4);
2861ushort4 __ovld __cnfn convert_ushort4_sat_rtn(uchar4);
2862ushort4 __ovld __cnfn convert_ushort4(uchar4);
2863ushort4 __ovld __cnfn convert_ushort4_sat(uchar4);
2864ushort4 __ovld __cnfn convert_ushort4_rte(short4);
2865ushort4 __ovld __cnfn convert_ushort4_sat_rte(short4);
2866ushort4 __ovld __cnfn convert_ushort4_rtz(short4);
2867ushort4 __ovld __cnfn convert_ushort4_sat_rtz(short4);
2868ushort4 __ovld __cnfn convert_ushort4_rtp(short4);
2869ushort4 __ovld __cnfn convert_ushort4_sat_rtp(short4);
2870ushort4 __ovld __cnfn convert_ushort4_rtn(short4);
2871ushort4 __ovld __cnfn convert_ushort4_sat_rtn(short4);
2872ushort4 __ovld __cnfn convert_ushort4(short4);
2873ushort4 __ovld __cnfn convert_ushort4_sat(short4);
2874ushort4 __ovld __cnfn convert_ushort4_rte(ushort4);
2875ushort4 __ovld __cnfn convert_ushort4_sat_rte(ushort4);
2876ushort4 __ovld __cnfn convert_ushort4_rtz(ushort4);
2877ushort4 __ovld __cnfn convert_ushort4_sat_rtz(ushort4);
2878ushort4 __ovld __cnfn convert_ushort4_rtp(ushort4);
2879ushort4 __ovld __cnfn convert_ushort4_sat_rtp(ushort4);
2880ushort4 __ovld __cnfn convert_ushort4_rtn(ushort4);
2881ushort4 __ovld __cnfn convert_ushort4_sat_rtn(ushort4);
2882ushort4 __ovld __cnfn convert_ushort4(ushort4);
2883ushort4 __ovld __cnfn convert_ushort4_sat(ushort4);
2884ushort4 __ovld __cnfn convert_ushort4_rte(int4);
2885ushort4 __ovld __cnfn convert_ushort4_sat_rte(int4);
2886ushort4 __ovld __cnfn convert_ushort4_rtz(int4);
2887ushort4 __ovld __cnfn convert_ushort4_sat_rtz(int4);
2888ushort4 __ovld __cnfn convert_ushort4_rtp(int4);
2889ushort4 __ovld __cnfn convert_ushort4_sat_rtp(int4);
2890ushort4 __ovld __cnfn convert_ushort4_rtn(int4);
2891ushort4 __ovld __cnfn convert_ushort4_sat_rtn(int4);
2892ushort4 __ovld __cnfn convert_ushort4(int4);
2893ushort4 __ovld __cnfn convert_ushort4_sat(int4);
2894ushort4 __ovld __cnfn convert_ushort4_rte(uint4);
2895ushort4 __ovld __cnfn convert_ushort4_sat_rte(uint4);
2896ushort4 __ovld __cnfn convert_ushort4_rtz(uint4);
2897ushort4 __ovld __cnfn convert_ushort4_sat_rtz(uint4);
2898ushort4 __ovld __cnfn convert_ushort4_rtp(uint4);
2899ushort4 __ovld __cnfn convert_ushort4_sat_rtp(uint4);
2900ushort4 __ovld __cnfn convert_ushort4_rtn(uint4);
2901ushort4 __ovld __cnfn convert_ushort4_sat_rtn(uint4);
2902ushort4 __ovld __cnfn convert_ushort4(uint4);
2903ushort4 __ovld __cnfn convert_ushort4_sat(uint4);
2904ushort4 __ovld __cnfn convert_ushort4_rte(long4);
2905ushort4 __ovld __cnfn convert_ushort4_sat_rte(long4);
2906ushort4 __ovld __cnfn convert_ushort4_rtz(long4);
2907ushort4 __ovld __cnfn convert_ushort4_sat_rtz(long4);
2908ushort4 __ovld __cnfn convert_ushort4_rtp(long4);
2909ushort4 __ovld __cnfn convert_ushort4_sat_rtp(long4);
2910ushort4 __ovld __cnfn convert_ushort4_rtn(long4);
2911ushort4 __ovld __cnfn convert_ushort4_sat_rtn(long4);
2912ushort4 __ovld __cnfn convert_ushort4(long4);
2913ushort4 __ovld __cnfn convert_ushort4_sat(long4);
2914ushort4 __ovld __cnfn convert_ushort4_rte(ulong4);
2915ushort4 __ovld __cnfn convert_ushort4_sat_rte(ulong4);
2916ushort4 __ovld __cnfn convert_ushort4_rtz(ulong4);
2917ushort4 __ovld __cnfn convert_ushort4_sat_rtz(ulong4);
2918ushort4 __ovld __cnfn convert_ushort4_rtp(ulong4);
2919ushort4 __ovld __cnfn convert_ushort4_sat_rtp(ulong4);
2920ushort4 __ovld __cnfn convert_ushort4_rtn(ulong4);
2921ushort4 __ovld __cnfn convert_ushort4_sat_rtn(ulong4);
2922ushort4 __ovld __cnfn convert_ushort4(ulong4);
2923ushort4 __ovld __cnfn convert_ushort4_sat(ulong4);
2924ushort4 __ovld __cnfn convert_ushort4_rte(float4);
2925ushort4 __ovld __cnfn convert_ushort4_sat_rte(float4);
2926ushort4 __ovld __cnfn convert_ushort4_rtz(float4);
2927ushort4 __ovld __cnfn convert_ushort4_sat_rtz(float4);
2928ushort4 __ovld __cnfn convert_ushort4_rtp(float4);
2929ushort4 __ovld __cnfn convert_ushort4_sat_rtp(float4);
2930ushort4 __ovld __cnfn convert_ushort4_rtn(float4);
2931ushort4 __ovld __cnfn convert_ushort4_sat_rtn(float4);
2932ushort4 __ovld __cnfn convert_ushort4(float4);
2933ushort4 __ovld __cnfn convert_ushort4_sat(float4);
2934int4 __ovld __cnfn convert_int4_rte(char4);
2935int4 __ovld __cnfn convert_int4_sat_rte(char4);
2936int4 __ovld __cnfn convert_int4_rtz(char4);
2937int4 __ovld __cnfn convert_int4_sat_rtz(char4);
2938int4 __ovld __cnfn convert_int4_rtp(char4);
2939int4 __ovld __cnfn convert_int4_sat_rtp(char4);
2940int4 __ovld __cnfn convert_int4_rtn(char4);
2941int4 __ovld __cnfn convert_int4_sat_rtn(char4);
2942int4 __ovld __cnfn convert_int4(char4);
2943int4 __ovld __cnfn convert_int4_sat(char4);
2944int4 __ovld __cnfn convert_int4_rte(uchar4);
2945int4 __ovld __cnfn convert_int4_sat_rte(uchar4);
2946int4 __ovld __cnfn convert_int4_rtz(uchar4);
2947int4 __ovld __cnfn convert_int4_sat_rtz(uchar4);
2948int4 __ovld __cnfn convert_int4_rtp(uchar4);
2949int4 __ovld __cnfn convert_int4_sat_rtp(uchar4);
2950int4 __ovld __cnfn convert_int4_rtn(uchar4);
2951int4 __ovld __cnfn convert_int4_sat_rtn(uchar4);
2952int4 __ovld __cnfn convert_int4(uchar4);
2953int4 __ovld __cnfn convert_int4_sat(uchar4);
2954int4 __ovld __cnfn convert_int4_rte(short4);
2955int4 __ovld __cnfn convert_int4_sat_rte(short4);
2956int4 __ovld __cnfn convert_int4_rtz(short4);
2957int4 __ovld __cnfn convert_int4_sat_rtz(short4);
2958int4 __ovld __cnfn convert_int4_rtp(short4);
2959int4 __ovld __cnfn convert_int4_sat_rtp(short4);
2960int4 __ovld __cnfn convert_int4_rtn(short4);
2961int4 __ovld __cnfn convert_int4_sat_rtn(short4);
2962int4 __ovld __cnfn convert_int4(short4);
2963int4 __ovld __cnfn convert_int4_sat(short4);
2964int4 __ovld __cnfn convert_int4_rte(ushort4);
2965int4 __ovld __cnfn convert_int4_sat_rte(ushort4);
2966int4 __ovld __cnfn convert_int4_rtz(ushort4);
2967int4 __ovld __cnfn convert_int4_sat_rtz(ushort4);
2968int4 __ovld __cnfn convert_int4_rtp(ushort4);
2969int4 __ovld __cnfn convert_int4_sat_rtp(ushort4);
2970int4 __ovld __cnfn convert_int4_rtn(ushort4);
2971int4 __ovld __cnfn convert_int4_sat_rtn(ushort4);
2972int4 __ovld __cnfn convert_int4(ushort4);
2973int4 __ovld __cnfn convert_int4_sat(ushort4);
2974int4 __ovld __cnfn convert_int4_rte(int4);
2975int4 __ovld __cnfn convert_int4_sat_rte(int4);
2976int4 __ovld __cnfn convert_int4_rtz(int4);
2977int4 __ovld __cnfn convert_int4_sat_rtz(int4);
2978int4 __ovld __cnfn convert_int4_rtp(int4);
2979int4 __ovld __cnfn convert_int4_sat_rtp(int4);
2980int4 __ovld __cnfn convert_int4_rtn(int4);
2981int4 __ovld __cnfn convert_int4_sat_rtn(int4);
2982int4 __ovld __cnfn convert_int4(int4);
2983int4 __ovld __cnfn convert_int4_sat(int4);
2984int4 __ovld __cnfn convert_int4_rte(uint4);
2985int4 __ovld __cnfn convert_int4_sat_rte(uint4);
2986int4 __ovld __cnfn convert_int4_rtz(uint4);
2987int4 __ovld __cnfn convert_int4_sat_rtz(uint4);
2988int4 __ovld __cnfn convert_int4_rtp(uint4);
2989int4 __ovld __cnfn convert_int4_sat_rtp(uint4);
2990int4 __ovld __cnfn convert_int4_rtn(uint4);
2991int4 __ovld __cnfn convert_int4_sat_rtn(uint4);
2992int4 __ovld __cnfn convert_int4(uint4);
2993int4 __ovld __cnfn convert_int4_sat(uint4);
2994int4 __ovld __cnfn convert_int4_rte(long4);
2995int4 __ovld __cnfn convert_int4_sat_rte(long4);
2996int4 __ovld __cnfn convert_int4_rtz(long4);
2997int4 __ovld __cnfn convert_int4_sat_rtz(long4);
2998int4 __ovld __cnfn convert_int4_rtp(long4);
2999int4 __ovld __cnfn convert_int4_sat_rtp(long4);
3000int4 __ovld __cnfn convert_int4_rtn(long4);
3001int4 __ovld __cnfn convert_int4_sat_rtn(long4);
3002int4 __ovld __cnfn convert_int4(long4);
3003int4 __ovld __cnfn convert_int4_sat(long4);
3004int4 __ovld __cnfn convert_int4_rte(ulong4);
3005int4 __ovld __cnfn convert_int4_sat_rte(ulong4);
3006int4 __ovld __cnfn convert_int4_rtz(ulong4);
3007int4 __ovld __cnfn convert_int4_sat_rtz(ulong4);
3008int4 __ovld __cnfn convert_int4_rtp(ulong4);
3009int4 __ovld __cnfn convert_int4_sat_rtp(ulong4);
3010int4 __ovld __cnfn convert_int4_rtn(ulong4);
3011int4 __ovld __cnfn convert_int4_sat_rtn(ulong4);
3012int4 __ovld __cnfn convert_int4(ulong4);
3013int4 __ovld __cnfn convert_int4_sat(ulong4);
3014int4 __ovld __cnfn convert_int4_rte(float4);
3015int4 __ovld __cnfn convert_int4_sat_rte(float4);
3016int4 __ovld __cnfn convert_int4_rtz(float4);
3017int4 __ovld __cnfn convert_int4_sat_rtz(float4);
3018int4 __ovld __cnfn convert_int4_rtp(float4);
3019int4 __ovld __cnfn convert_int4_sat_rtp(float4);
3020int4 __ovld __cnfn convert_int4_rtn(float4);
3021int4 __ovld __cnfn convert_int4_sat_rtn(float4);
3022int4 __ovld __cnfn convert_int4(float4);
3023int4 __ovld __cnfn convert_int4_sat(float4);
3024uint4 __ovld __cnfn convert_uint4_rte(char4);
3025uint4 __ovld __cnfn convert_uint4_sat_rte(char4);
3026uint4 __ovld __cnfn convert_uint4_rtz(char4);
3027uint4 __ovld __cnfn convert_uint4_sat_rtz(char4);
3028uint4 __ovld __cnfn convert_uint4_rtp(char4);
3029uint4 __ovld __cnfn convert_uint4_sat_rtp(char4);
3030uint4 __ovld __cnfn convert_uint4_rtn(char4);
3031uint4 __ovld __cnfn convert_uint4_sat_rtn(char4);
3032uint4 __ovld __cnfn convert_uint4(char4);
3033uint4 __ovld __cnfn convert_uint4_sat(char4);
3034uint4 __ovld __cnfn convert_uint4_rte(uchar4);
3035uint4 __ovld __cnfn convert_uint4_sat_rte(uchar4);
3036uint4 __ovld __cnfn convert_uint4_rtz(uchar4);
3037uint4 __ovld __cnfn convert_uint4_sat_rtz(uchar4);
3038uint4 __ovld __cnfn convert_uint4_rtp(uchar4);
3039uint4 __ovld __cnfn convert_uint4_sat_rtp(uchar4);
3040uint4 __ovld __cnfn convert_uint4_rtn(uchar4);
3041uint4 __ovld __cnfn convert_uint4_sat_rtn(uchar4);
3042uint4 __ovld __cnfn convert_uint4(uchar4);
3043uint4 __ovld __cnfn convert_uint4_sat(uchar4);
3044uint4 __ovld __cnfn convert_uint4_rte(short4);
3045uint4 __ovld __cnfn convert_uint4_sat_rte(short4);
3046uint4 __ovld __cnfn convert_uint4_rtz(short4);
3047uint4 __ovld __cnfn convert_uint4_sat_rtz(short4);
3048uint4 __ovld __cnfn convert_uint4_rtp(short4);
3049uint4 __ovld __cnfn convert_uint4_sat_rtp(short4);
3050uint4 __ovld __cnfn convert_uint4_rtn(short4);
3051uint4 __ovld __cnfn convert_uint4_sat_rtn(short4);
3052uint4 __ovld __cnfn convert_uint4(short4);
3053uint4 __ovld __cnfn convert_uint4_sat(short4);
3054uint4 __ovld __cnfn convert_uint4_rte(ushort4);
3055uint4 __ovld __cnfn convert_uint4_sat_rte(ushort4);
3056uint4 __ovld __cnfn convert_uint4_rtz(ushort4);
3057uint4 __ovld __cnfn convert_uint4_sat_rtz(ushort4);
3058uint4 __ovld __cnfn convert_uint4_rtp(ushort4);
3059uint4 __ovld __cnfn convert_uint4_sat_rtp(ushort4);
3060uint4 __ovld __cnfn convert_uint4_rtn(ushort4);
3061uint4 __ovld __cnfn convert_uint4_sat_rtn(ushort4);
3062uint4 __ovld __cnfn convert_uint4(ushort4);
3063uint4 __ovld __cnfn convert_uint4_sat(ushort4);
3064uint4 __ovld __cnfn convert_uint4_rte(int4);
3065uint4 __ovld __cnfn convert_uint4_sat_rte(int4);
3066uint4 __ovld __cnfn convert_uint4_rtz(int4);
3067uint4 __ovld __cnfn convert_uint4_sat_rtz(int4);
3068uint4 __ovld __cnfn convert_uint4_rtp(int4);
3069uint4 __ovld __cnfn convert_uint4_sat_rtp(int4);
3070uint4 __ovld __cnfn convert_uint4_rtn(int4);
3071uint4 __ovld __cnfn convert_uint4_sat_rtn(int4);
3072uint4 __ovld __cnfn convert_uint4(int4);
3073uint4 __ovld __cnfn convert_uint4_sat(int4);
3074uint4 __ovld __cnfn convert_uint4_rte(uint4);
3075uint4 __ovld __cnfn convert_uint4_sat_rte(uint4);
3076uint4 __ovld __cnfn convert_uint4_rtz(uint4);
3077uint4 __ovld __cnfn convert_uint4_sat_rtz(uint4);
3078uint4 __ovld __cnfn convert_uint4_rtp(uint4);
3079uint4 __ovld __cnfn convert_uint4_sat_rtp(uint4);
3080uint4 __ovld __cnfn convert_uint4_rtn(uint4);
3081uint4 __ovld __cnfn convert_uint4_sat_rtn(uint4);
3082uint4 __ovld __cnfn convert_uint4(uint4);
3083uint4 __ovld __cnfn convert_uint4_sat(uint4);
3084uint4 __ovld __cnfn convert_uint4_rte(long4);
3085uint4 __ovld __cnfn convert_uint4_sat_rte(long4);
3086uint4 __ovld __cnfn convert_uint4_rtz(long4);
3087uint4 __ovld __cnfn convert_uint4_sat_rtz(long4);
3088uint4 __ovld __cnfn convert_uint4_rtp(long4);
3089uint4 __ovld __cnfn convert_uint4_sat_rtp(long4);
3090uint4 __ovld __cnfn convert_uint4_rtn(long4);
3091uint4 __ovld __cnfn convert_uint4_sat_rtn(long4);
3092uint4 __ovld __cnfn convert_uint4(long4);
3093uint4 __ovld __cnfn convert_uint4_sat(long4);
3094uint4 __ovld __cnfn convert_uint4_rte(ulong4);
3095uint4 __ovld __cnfn convert_uint4_sat_rte(ulong4);
3096uint4 __ovld __cnfn convert_uint4_rtz(ulong4);
3097uint4 __ovld __cnfn convert_uint4_sat_rtz(ulong4);
3098uint4 __ovld __cnfn convert_uint4_rtp(ulong4);
3099uint4 __ovld __cnfn convert_uint4_sat_rtp(ulong4);
3100uint4 __ovld __cnfn convert_uint4_rtn(ulong4);
3101uint4 __ovld __cnfn convert_uint4_sat_rtn(ulong4);
3102uint4 __ovld __cnfn convert_uint4(ulong4);
3103uint4 __ovld __cnfn convert_uint4_sat(ulong4);
3104uint4 __ovld __cnfn convert_uint4_rte(float4);
3105uint4 __ovld __cnfn convert_uint4_sat_rte(float4);
3106uint4 __ovld __cnfn convert_uint4_rtz(float4);
3107uint4 __ovld __cnfn convert_uint4_sat_rtz(float4);
3108uint4 __ovld __cnfn convert_uint4_rtp(float4);
3109uint4 __ovld __cnfn convert_uint4_sat_rtp(float4);
3110uint4 __ovld __cnfn convert_uint4_rtn(float4);
3111uint4 __ovld __cnfn convert_uint4_sat_rtn(float4);
3112uint4 __ovld __cnfn convert_uint4(float4);
3113uint4 __ovld __cnfn convert_uint4_sat(float4);
3114long4 __ovld __cnfn convert_long4_rte(char4);
3115long4 __ovld __cnfn convert_long4_sat_rte(char4);
3116long4 __ovld __cnfn convert_long4_rtz(char4);
3117long4 __ovld __cnfn convert_long4_sat_rtz(char4);
3118long4 __ovld __cnfn convert_long4_rtp(char4);
3119long4 __ovld __cnfn convert_long4_sat_rtp(char4);
3120long4 __ovld __cnfn convert_long4_rtn(char4);
3121long4 __ovld __cnfn convert_long4_sat_rtn(char4);
3122long4 __ovld __cnfn convert_long4(char4);
3123long4 __ovld __cnfn convert_long4_sat(char4);
3124long4 __ovld __cnfn convert_long4_rte(uchar4);
3125long4 __ovld __cnfn convert_long4_sat_rte(uchar4);
3126long4 __ovld __cnfn convert_long4_rtz(uchar4);
3127long4 __ovld __cnfn convert_long4_sat_rtz(uchar4);
3128long4 __ovld __cnfn convert_long4_rtp(uchar4);
3129long4 __ovld __cnfn convert_long4_sat_rtp(uchar4);
3130long4 __ovld __cnfn convert_long4_rtn(uchar4);
3131long4 __ovld __cnfn convert_long4_sat_rtn(uchar4);
3132long4 __ovld __cnfn convert_long4(uchar4);
3133long4 __ovld __cnfn convert_long4_sat(uchar4);
3134long4 __ovld __cnfn convert_long4_rte(short4);
3135long4 __ovld __cnfn convert_long4_sat_rte(short4);
3136long4 __ovld __cnfn convert_long4_rtz(short4);
3137long4 __ovld __cnfn convert_long4_sat_rtz(short4);
3138long4 __ovld __cnfn convert_long4_rtp(short4);
3139long4 __ovld __cnfn convert_long4_sat_rtp(short4);
3140long4 __ovld __cnfn convert_long4_rtn(short4);
3141long4 __ovld __cnfn convert_long4_sat_rtn(short4);
3142long4 __ovld __cnfn convert_long4(short4);
3143long4 __ovld __cnfn convert_long4_sat(short4);
3144long4 __ovld __cnfn convert_long4_rte(ushort4);
3145long4 __ovld __cnfn convert_long4_sat_rte(ushort4);
3146long4 __ovld __cnfn convert_long4_rtz(ushort4);
3147long4 __ovld __cnfn convert_long4_sat_rtz(ushort4);
3148long4 __ovld __cnfn convert_long4_rtp(ushort4);
3149long4 __ovld __cnfn convert_long4_sat_rtp(ushort4);
3150long4 __ovld __cnfn convert_long4_rtn(ushort4);
3151long4 __ovld __cnfn convert_long4_sat_rtn(ushort4);
3152long4 __ovld __cnfn convert_long4(ushort4);
3153long4 __ovld __cnfn convert_long4_sat(ushort4);
3154long4 __ovld __cnfn convert_long4_rte(int4);
3155long4 __ovld __cnfn convert_long4_sat_rte(int4);
3156long4 __ovld __cnfn convert_long4_rtz(int4);
3157long4 __ovld __cnfn convert_long4_sat_rtz(int4);
3158long4 __ovld __cnfn convert_long4_rtp(int4);
3159long4 __ovld __cnfn convert_long4_sat_rtp(int4);
3160long4 __ovld __cnfn convert_long4_rtn(int4);
3161long4 __ovld __cnfn convert_long4_sat_rtn(int4);
3162long4 __ovld __cnfn convert_long4(int4);
3163long4 __ovld __cnfn convert_long4_sat(int4);
3164long4 __ovld __cnfn convert_long4_rte(uint4);
3165long4 __ovld __cnfn convert_long4_sat_rte(uint4);
3166long4 __ovld __cnfn convert_long4_rtz(uint4);
3167long4 __ovld __cnfn convert_long4_sat_rtz(uint4);
3168long4 __ovld __cnfn convert_long4_rtp(uint4);
3169long4 __ovld __cnfn convert_long4_sat_rtp(uint4);
3170long4 __ovld __cnfn convert_long4_rtn(uint4);
3171long4 __ovld __cnfn convert_long4_sat_rtn(uint4);
3172long4 __ovld __cnfn convert_long4(uint4);
3173long4 __ovld __cnfn convert_long4_sat(uint4);
3174long4 __ovld __cnfn convert_long4_rte(long4);
3175long4 __ovld __cnfn convert_long4_sat_rte(long4);
3176long4 __ovld __cnfn convert_long4_rtz(long4);
3177long4 __ovld __cnfn convert_long4_sat_rtz(long4);
3178long4 __ovld __cnfn convert_long4_rtp(long4);
3179long4 __ovld __cnfn convert_long4_sat_rtp(long4);
3180long4 __ovld __cnfn convert_long4_rtn(long4);
3181long4 __ovld __cnfn convert_long4_sat_rtn(long4);
3182long4 __ovld __cnfn convert_long4(long4);
3183long4 __ovld __cnfn convert_long4_sat(long4);
3184long4 __ovld __cnfn convert_long4_rte(ulong4);
3185long4 __ovld __cnfn convert_long4_sat_rte(ulong4);
3186long4 __ovld __cnfn convert_long4_rtz(ulong4);
3187long4 __ovld __cnfn convert_long4_sat_rtz(ulong4);
3188long4 __ovld __cnfn convert_long4_rtp(ulong4);
3189long4 __ovld __cnfn convert_long4_sat_rtp(ulong4);
3190long4 __ovld __cnfn convert_long4_rtn(ulong4);
3191long4 __ovld __cnfn convert_long4_sat_rtn(ulong4);
3192long4 __ovld __cnfn convert_long4(ulong4);
3193long4 __ovld __cnfn convert_long4_sat(ulong4);
3194long4 __ovld __cnfn convert_long4_rte(float4);
3195long4 __ovld __cnfn convert_long4_sat_rte(float4);
3196long4 __ovld __cnfn convert_long4_rtz(float4);
3197long4 __ovld __cnfn convert_long4_sat_rtz(float4);
3198long4 __ovld __cnfn convert_long4_rtp(float4);
3199long4 __ovld __cnfn convert_long4_sat_rtp(float4);
3200long4 __ovld __cnfn convert_long4_rtn(float4);
3201long4 __ovld __cnfn convert_long4_sat_rtn(float4);
3202long4 __ovld __cnfn convert_long4(float4);
3203long4 __ovld __cnfn convert_long4_sat(float4);
3204ulong4 __ovld __cnfn convert_ulong4_rte(char4);
3205ulong4 __ovld __cnfn convert_ulong4_sat_rte(char4);
3206ulong4 __ovld __cnfn convert_ulong4_rtz(char4);
3207ulong4 __ovld __cnfn convert_ulong4_sat_rtz(char4);
3208ulong4 __ovld __cnfn convert_ulong4_rtp(char4);
3209ulong4 __ovld __cnfn convert_ulong4_sat_rtp(char4);
3210ulong4 __ovld __cnfn convert_ulong4_rtn(char4);
3211ulong4 __ovld __cnfn convert_ulong4_sat_rtn(char4);
3212ulong4 __ovld __cnfn convert_ulong4(char4);
3213ulong4 __ovld __cnfn convert_ulong4_sat(char4);
3214ulong4 __ovld __cnfn convert_ulong4_rte(uchar4);
3215ulong4 __ovld __cnfn convert_ulong4_sat_rte(uchar4);
3216ulong4 __ovld __cnfn convert_ulong4_rtz(uchar4);
3217ulong4 __ovld __cnfn convert_ulong4_sat_rtz(uchar4);
3218ulong4 __ovld __cnfn convert_ulong4_rtp(uchar4);
3219ulong4 __ovld __cnfn convert_ulong4_sat_rtp(uchar4);
3220ulong4 __ovld __cnfn convert_ulong4_rtn(uchar4);
3221ulong4 __ovld __cnfn convert_ulong4_sat_rtn(uchar4);
3222ulong4 __ovld __cnfn convert_ulong4(uchar4);
3223ulong4 __ovld __cnfn convert_ulong4_sat(uchar4);
3224ulong4 __ovld __cnfn convert_ulong4_rte(short4);
3225ulong4 __ovld __cnfn convert_ulong4_sat_rte(short4);
3226ulong4 __ovld __cnfn convert_ulong4_rtz(short4);
3227ulong4 __ovld __cnfn convert_ulong4_sat_rtz(short4);
3228ulong4 __ovld __cnfn convert_ulong4_rtp(short4);
3229ulong4 __ovld __cnfn convert_ulong4_sat_rtp(short4);
3230ulong4 __ovld __cnfn convert_ulong4_rtn(short4);
3231ulong4 __ovld __cnfn convert_ulong4_sat_rtn(short4);
3232ulong4 __ovld __cnfn convert_ulong4(short4);
3233ulong4 __ovld __cnfn convert_ulong4_sat(short4);
3234ulong4 __ovld __cnfn convert_ulong4_rte(ushort4);
3235ulong4 __ovld __cnfn convert_ulong4_sat_rte(ushort4);
3236ulong4 __ovld __cnfn convert_ulong4_rtz(ushort4);
3237ulong4 __ovld __cnfn convert_ulong4_sat_rtz(ushort4);
3238ulong4 __ovld __cnfn convert_ulong4_rtp(ushort4);
3239ulong4 __ovld __cnfn convert_ulong4_sat_rtp(ushort4);
3240ulong4 __ovld __cnfn convert_ulong4_rtn(ushort4);
3241ulong4 __ovld __cnfn convert_ulong4_sat_rtn(ushort4);
3242ulong4 __ovld __cnfn convert_ulong4(ushort4);
3243ulong4 __ovld __cnfn convert_ulong4_sat(ushort4);
3244ulong4 __ovld __cnfn convert_ulong4_rte(int4);
3245ulong4 __ovld __cnfn convert_ulong4_sat_rte(int4);
3246ulong4 __ovld __cnfn convert_ulong4_rtz(int4);
3247ulong4 __ovld __cnfn convert_ulong4_sat_rtz(int4);
3248ulong4 __ovld __cnfn convert_ulong4_rtp(int4);
3249ulong4 __ovld __cnfn convert_ulong4_sat_rtp(int4);
3250ulong4 __ovld __cnfn convert_ulong4_rtn(int4);
3251ulong4 __ovld __cnfn convert_ulong4_sat_rtn(int4);
3252ulong4 __ovld __cnfn convert_ulong4(int4);
3253ulong4 __ovld __cnfn convert_ulong4_sat(int4);
3254ulong4 __ovld __cnfn convert_ulong4_rte(uint4);
3255ulong4 __ovld __cnfn convert_ulong4_sat_rte(uint4);
3256ulong4 __ovld __cnfn convert_ulong4_rtz(uint4);
3257ulong4 __ovld __cnfn convert_ulong4_sat_rtz(uint4);
3258ulong4 __ovld __cnfn convert_ulong4_rtp(uint4);
3259ulong4 __ovld __cnfn convert_ulong4_sat_rtp(uint4);
3260ulong4 __ovld __cnfn convert_ulong4_rtn(uint4);
3261ulong4 __ovld __cnfn convert_ulong4_sat_rtn(uint4);
3262ulong4 __ovld __cnfn convert_ulong4(uint4);
3263ulong4 __ovld __cnfn convert_ulong4_sat(uint4);
3264ulong4 __ovld __cnfn convert_ulong4_rte(long4);
3265ulong4 __ovld __cnfn convert_ulong4_sat_rte(long4);
3266ulong4 __ovld __cnfn convert_ulong4_rtz(long4);
3267ulong4 __ovld __cnfn convert_ulong4_sat_rtz(long4);
3268ulong4 __ovld __cnfn convert_ulong4_rtp(long4);
3269ulong4 __ovld __cnfn convert_ulong4_sat_rtp(long4);
3270ulong4 __ovld __cnfn convert_ulong4_rtn(long4);
3271ulong4 __ovld __cnfn convert_ulong4_sat_rtn(long4);
3272ulong4 __ovld __cnfn convert_ulong4(long4);
3273ulong4 __ovld __cnfn convert_ulong4_sat(long4);
3274ulong4 __ovld __cnfn convert_ulong4_rte(ulong4);
3275ulong4 __ovld __cnfn convert_ulong4_sat_rte(ulong4);
3276ulong4 __ovld __cnfn convert_ulong4_rtz(ulong4);
3277ulong4 __ovld __cnfn convert_ulong4_sat_rtz(ulong4);
3278ulong4 __ovld __cnfn convert_ulong4_rtp(ulong4);
3279ulong4 __ovld __cnfn convert_ulong4_sat_rtp(ulong4);
3280ulong4 __ovld __cnfn convert_ulong4_rtn(ulong4);
3281ulong4 __ovld __cnfn convert_ulong4_sat_rtn(ulong4);
3282ulong4 __ovld __cnfn convert_ulong4(ulong4);
3283ulong4 __ovld __cnfn convert_ulong4_sat(ulong4);
3284ulong4 __ovld __cnfn convert_ulong4_rte(float4);
3285ulong4 __ovld __cnfn convert_ulong4_sat_rte(float4);
3286ulong4 __ovld __cnfn convert_ulong4_rtz(float4);
3287ulong4 __ovld __cnfn convert_ulong4_sat_rtz(float4);
3288ulong4 __ovld __cnfn convert_ulong4_rtp(float4);
3289ulong4 __ovld __cnfn convert_ulong4_sat_rtp(float4);
3290ulong4 __ovld __cnfn convert_ulong4_rtn(float4);
3291ulong4 __ovld __cnfn convert_ulong4_sat_rtn(float4);
3292ulong4 __ovld __cnfn convert_ulong4(float4);
3293ulong4 __ovld __cnfn convert_ulong4_sat(float4);
3294float4 __ovld __cnfn convert_float4_rte(char4);
3295float4 __ovld __cnfn convert_float4_rtz(char4);
3296float4 __ovld __cnfn convert_float4_rtp(char4);
3297float4 __ovld __cnfn convert_float4_rtn(char4);
3298float4 __ovld __cnfn convert_float4(char4);
3299float4 __ovld __cnfn convert_float4_rte(uchar4);
3300float4 __ovld __cnfn convert_float4_rtz(uchar4);
3301float4 __ovld __cnfn convert_float4_rtp(uchar4);
3302float4 __ovld __cnfn convert_float4_rtn(uchar4);
3303float4 __ovld __cnfn convert_float4(uchar4);
3304float4 __ovld __cnfn convert_float4_rte(short4);
3305float4 __ovld __cnfn convert_float4_rtz(short4);
3306float4 __ovld __cnfn convert_float4_rtp(short4);
3307float4 __ovld __cnfn convert_float4_rtn(short4);
3308float4 __ovld __cnfn convert_float4(short4);
3309float4 __ovld __cnfn convert_float4_rte(ushort4);
3310float4 __ovld __cnfn convert_float4_rtz(ushort4);
3311float4 __ovld __cnfn convert_float4_rtp(ushort4);
3312float4 __ovld __cnfn convert_float4_rtn(ushort4);
3313float4 __ovld __cnfn convert_float4(ushort4);
3314float4 __ovld __cnfn convert_float4_rte(int4);
3315float4 __ovld __cnfn convert_float4_rtz(int4);
3316float4 __ovld __cnfn convert_float4_rtp(int4);
3317float4 __ovld __cnfn convert_float4_rtn(int4);
3318float4 __ovld __cnfn convert_float4(int4);
3319float4 __ovld __cnfn convert_float4_rte(uint4);
3320float4 __ovld __cnfn convert_float4_rtz(uint4);
3321float4 __ovld __cnfn convert_float4_rtp(uint4);
3322float4 __ovld __cnfn convert_float4_rtn(uint4);
3323float4 __ovld __cnfn convert_float4(uint4);
3324float4 __ovld __cnfn convert_float4_rte(long4);
3325float4 __ovld __cnfn convert_float4_rtz(long4);
3326float4 __ovld __cnfn convert_float4_rtp(long4);
3327float4 __ovld __cnfn convert_float4_rtn(long4);
3328float4 __ovld __cnfn convert_float4(long4);
3329float4 __ovld __cnfn convert_float4_rte(ulong4);
3330float4 __ovld __cnfn convert_float4_rtz(ulong4);
3331float4 __ovld __cnfn convert_float4_rtp(ulong4);
3332float4 __ovld __cnfn convert_float4_rtn(ulong4);
3333float4 __ovld __cnfn convert_float4(ulong4);
3334float4 __ovld __cnfn convert_float4_rte(float4);
3335float4 __ovld __cnfn convert_float4_rtz(float4);
3336float4 __ovld __cnfn convert_float4_rtp(float4);
3337float4 __ovld __cnfn convert_float4_rtn(float4);
3338float4 __ovld __cnfn convert_float4(float4);
3339char8 __ovld __cnfn convert_char8_rte(char8);
3340char8 __ovld __cnfn convert_char8_sat_rte(char8);
3341char8 __ovld __cnfn convert_char8_rtz(char8);
3342char8 __ovld __cnfn convert_char8_sat_rtz(char8);
3343char8 __ovld __cnfn convert_char8_rtp(char8);
3344char8 __ovld __cnfn convert_char8_sat_rtp(char8);
3345char8 __ovld __cnfn convert_char8_rtn(char8);
3346char8 __ovld __cnfn convert_char8_sat_rtn(char8);
3347char8 __ovld __cnfn convert_char8(char8);
3348char8 __ovld __cnfn convert_char8_sat(char8);
3349char8 __ovld __cnfn convert_char8_rte(uchar8);
3350char8 __ovld __cnfn convert_char8_sat_rte(uchar8);
3351char8 __ovld __cnfn convert_char8_rtz(uchar8);
3352char8 __ovld __cnfn convert_char8_sat_rtz(uchar8);
3353char8 __ovld __cnfn convert_char8_rtp(uchar8);
3354char8 __ovld __cnfn convert_char8_sat_rtp(uchar8);
3355char8 __ovld __cnfn convert_char8_rtn(uchar8);
3356char8 __ovld __cnfn convert_char8_sat_rtn(uchar8);
3357char8 __ovld __cnfn convert_char8(uchar8);
3358char8 __ovld __cnfn convert_char8_sat(uchar8);
3359char8 __ovld __cnfn convert_char8_rte(short8);
3360char8 __ovld __cnfn convert_char8_sat_rte(short8);
3361char8 __ovld __cnfn convert_char8_rtz(short8);
3362char8 __ovld __cnfn convert_char8_sat_rtz(short8);
3363char8 __ovld __cnfn convert_char8_rtp(short8);
3364char8 __ovld __cnfn convert_char8_sat_rtp(short8);
3365char8 __ovld __cnfn convert_char8_rtn(short8);
3366char8 __ovld __cnfn convert_char8_sat_rtn(short8);
3367char8 __ovld __cnfn convert_char8(short8);
3368char8 __ovld __cnfn convert_char8_sat(short8);
3369char8 __ovld __cnfn convert_char8_rte(ushort8);
3370char8 __ovld __cnfn convert_char8_sat_rte(ushort8);
3371char8 __ovld __cnfn convert_char8_rtz(ushort8);
3372char8 __ovld __cnfn convert_char8_sat_rtz(ushort8);
3373char8 __ovld __cnfn convert_char8_rtp(ushort8);
3374char8 __ovld __cnfn convert_char8_sat_rtp(ushort8);
3375char8 __ovld __cnfn convert_char8_rtn(ushort8);
3376char8 __ovld __cnfn convert_char8_sat_rtn(ushort8);
3377char8 __ovld __cnfn convert_char8(ushort8);
3378char8 __ovld __cnfn convert_char8_sat(ushort8);
3379char8 __ovld __cnfn convert_char8_rte(int8);
3380char8 __ovld __cnfn convert_char8_sat_rte(int8);
3381char8 __ovld __cnfn convert_char8_rtz(int8);
3382char8 __ovld __cnfn convert_char8_sat_rtz(int8);
3383char8 __ovld __cnfn convert_char8_rtp(int8);
3384char8 __ovld __cnfn convert_char8_sat_rtp(int8);
3385char8 __ovld __cnfn convert_char8_rtn(int8);
3386char8 __ovld __cnfn convert_char8_sat_rtn(int8);
3387char8 __ovld __cnfn convert_char8(int8);
3388char8 __ovld __cnfn convert_char8_sat(int8);
3389char8 __ovld __cnfn convert_char8_rte(uint8);
3390char8 __ovld __cnfn convert_char8_sat_rte(uint8);
3391char8 __ovld __cnfn convert_char8_rtz(uint8);
3392char8 __ovld __cnfn convert_char8_sat_rtz(uint8);
3393char8 __ovld __cnfn convert_char8_rtp(uint8);
3394char8 __ovld __cnfn convert_char8_sat_rtp(uint8);
3395char8 __ovld __cnfn convert_char8_rtn(uint8);
3396char8 __ovld __cnfn convert_char8_sat_rtn(uint8);
3397char8 __ovld __cnfn convert_char8(uint8);
3398char8 __ovld __cnfn convert_char8_sat(uint8);
3399char8 __ovld __cnfn convert_char8_rte(long8);
3400char8 __ovld __cnfn convert_char8_sat_rte(long8);
3401char8 __ovld __cnfn convert_char8_rtz(long8);
3402char8 __ovld __cnfn convert_char8_sat_rtz(long8);
3403char8 __ovld __cnfn convert_char8_rtp(long8);
3404char8 __ovld __cnfn convert_char8_sat_rtp(long8);
3405char8 __ovld __cnfn convert_char8_rtn(long8);
3406char8 __ovld __cnfn convert_char8_sat_rtn(long8);
3407char8 __ovld __cnfn convert_char8(long8);
3408char8 __ovld __cnfn convert_char8_sat(long8);
3409char8 __ovld __cnfn convert_char8_rte(ulong8);
3410char8 __ovld __cnfn convert_char8_sat_rte(ulong8);
3411char8 __ovld __cnfn convert_char8_rtz(ulong8);
3412char8 __ovld __cnfn convert_char8_sat_rtz(ulong8);
3413char8 __ovld __cnfn convert_char8_rtp(ulong8);
3414char8 __ovld __cnfn convert_char8_sat_rtp(ulong8);
3415char8 __ovld __cnfn convert_char8_rtn(ulong8);
3416char8 __ovld __cnfn convert_char8_sat_rtn(ulong8);
3417char8 __ovld __cnfn convert_char8(ulong8);
3418char8 __ovld __cnfn convert_char8_sat(ulong8);
3419char8 __ovld __cnfn convert_char8_rte(float8);
3420char8 __ovld __cnfn convert_char8_sat_rte(float8);
3421char8 __ovld __cnfn convert_char8_rtz(float8);
3422char8 __ovld __cnfn convert_char8_sat_rtz(float8);
3423char8 __ovld __cnfn convert_char8_rtp(float8);
3424char8 __ovld __cnfn convert_char8_sat_rtp(float8);
3425char8 __ovld __cnfn convert_char8_rtn(float8);
3426char8 __ovld __cnfn convert_char8_sat_rtn(float8);
3427char8 __ovld __cnfn convert_char8(float8);
3428char8 __ovld __cnfn convert_char8_sat(float8);
3429uchar8 __ovld __cnfn convert_uchar8_rte(char8);
3430uchar8 __ovld __cnfn convert_uchar8_sat_rte(char8);
3431uchar8 __ovld __cnfn convert_uchar8_rtz(char8);
3432uchar8 __ovld __cnfn convert_uchar8_sat_rtz(char8);
3433uchar8 __ovld __cnfn convert_uchar8_rtp(char8);
3434uchar8 __ovld __cnfn convert_uchar8_sat_rtp(char8);
3435uchar8 __ovld __cnfn convert_uchar8_rtn(char8);
3436uchar8 __ovld __cnfn convert_uchar8_sat_rtn(char8);
3437uchar8 __ovld __cnfn convert_uchar8(char8);
3438uchar8 __ovld __cnfn convert_uchar8_sat(char8);
3439uchar8 __ovld __cnfn convert_uchar8_rte(uchar8);
3440uchar8 __ovld __cnfn convert_uchar8_sat_rte(uchar8);
3441uchar8 __ovld __cnfn convert_uchar8_rtz(uchar8);
3442uchar8 __ovld __cnfn convert_uchar8_sat_rtz(uchar8);
3443uchar8 __ovld __cnfn convert_uchar8_rtp(uchar8);
3444uchar8 __ovld __cnfn convert_uchar8_sat_rtp(uchar8);
3445uchar8 __ovld __cnfn convert_uchar8_rtn(uchar8);
3446uchar8 __ovld __cnfn convert_uchar8_sat_rtn(uchar8);
3447uchar8 __ovld __cnfn convert_uchar8(uchar8);
3448uchar8 __ovld __cnfn convert_uchar8_sat(uchar8);
3449uchar8 __ovld __cnfn convert_uchar8_rte(short8);
3450uchar8 __ovld __cnfn convert_uchar8_sat_rte(short8);
3451uchar8 __ovld __cnfn convert_uchar8_rtz(short8);
3452uchar8 __ovld __cnfn convert_uchar8_sat_rtz(short8);
3453uchar8 __ovld __cnfn convert_uchar8_rtp(short8);
3454uchar8 __ovld __cnfn convert_uchar8_sat_rtp(short8);
3455uchar8 __ovld __cnfn convert_uchar8_rtn(short8);
3456uchar8 __ovld __cnfn convert_uchar8_sat_rtn(short8);
3457uchar8 __ovld __cnfn convert_uchar8(short8);
3458uchar8 __ovld __cnfn convert_uchar8_sat(short8);
3459uchar8 __ovld __cnfn convert_uchar8_rte(ushort8);
3460uchar8 __ovld __cnfn convert_uchar8_sat_rte(ushort8);
3461uchar8 __ovld __cnfn convert_uchar8_rtz(ushort8);
3462uchar8 __ovld __cnfn convert_uchar8_sat_rtz(ushort8);
3463uchar8 __ovld __cnfn convert_uchar8_rtp(ushort8);
3464uchar8 __ovld __cnfn convert_uchar8_sat_rtp(ushort8);
3465uchar8 __ovld __cnfn convert_uchar8_rtn(ushort8);
3466uchar8 __ovld __cnfn convert_uchar8_sat_rtn(ushort8);
3467uchar8 __ovld __cnfn convert_uchar8(ushort8);
3468uchar8 __ovld __cnfn convert_uchar8_sat(ushort8);
3469uchar8 __ovld __cnfn convert_uchar8_rte(int8);
3470uchar8 __ovld __cnfn convert_uchar8_sat_rte(int8);
3471uchar8 __ovld __cnfn convert_uchar8_rtz(int8);
3472uchar8 __ovld __cnfn convert_uchar8_sat_rtz(int8);
3473uchar8 __ovld __cnfn convert_uchar8_rtp(int8);
3474uchar8 __ovld __cnfn convert_uchar8_sat_rtp(int8);
3475uchar8 __ovld __cnfn convert_uchar8_rtn(int8);
3476uchar8 __ovld __cnfn convert_uchar8_sat_rtn(int8);
3477uchar8 __ovld __cnfn convert_uchar8(int8);
3478uchar8 __ovld __cnfn convert_uchar8_sat(int8);
3479uchar8 __ovld __cnfn convert_uchar8_rte(uint8);
3480uchar8 __ovld __cnfn convert_uchar8_sat_rte(uint8);
3481uchar8 __ovld __cnfn convert_uchar8_rtz(uint8);
3482uchar8 __ovld __cnfn convert_uchar8_sat_rtz(uint8);
3483uchar8 __ovld __cnfn convert_uchar8_rtp(uint8);
3484uchar8 __ovld __cnfn convert_uchar8_sat_rtp(uint8);
3485uchar8 __ovld __cnfn convert_uchar8_rtn(uint8);
3486uchar8 __ovld __cnfn convert_uchar8_sat_rtn(uint8);
3487uchar8 __ovld __cnfn convert_uchar8(uint8);
3488uchar8 __ovld __cnfn convert_uchar8_sat(uint8);
3489uchar8 __ovld __cnfn convert_uchar8_rte(long8);
3490uchar8 __ovld __cnfn convert_uchar8_sat_rte(long8);
3491uchar8 __ovld __cnfn convert_uchar8_rtz(long8);
3492uchar8 __ovld __cnfn convert_uchar8_sat_rtz(long8);
3493uchar8 __ovld __cnfn convert_uchar8_rtp(long8);
3494uchar8 __ovld __cnfn convert_uchar8_sat_rtp(long8);
3495uchar8 __ovld __cnfn convert_uchar8_rtn(long8);
3496uchar8 __ovld __cnfn convert_uchar8_sat_rtn(long8);
3497uchar8 __ovld __cnfn convert_uchar8(long8);
3498uchar8 __ovld __cnfn convert_uchar8_sat(long8);
3499uchar8 __ovld __cnfn convert_uchar8_rte(ulong8);
3500uchar8 __ovld __cnfn convert_uchar8_sat_rte(ulong8);
3501uchar8 __ovld __cnfn convert_uchar8_rtz(ulong8);
3502uchar8 __ovld __cnfn convert_uchar8_sat_rtz(ulong8);
3503uchar8 __ovld __cnfn convert_uchar8_rtp(ulong8);
3504uchar8 __ovld __cnfn convert_uchar8_sat_rtp(ulong8);
3505uchar8 __ovld __cnfn convert_uchar8_rtn(ulong8);
3506uchar8 __ovld __cnfn convert_uchar8_sat_rtn(ulong8);
3507uchar8 __ovld __cnfn convert_uchar8(ulong8);
3508uchar8 __ovld __cnfn convert_uchar8_sat(ulong8);
3509uchar8 __ovld __cnfn convert_uchar8_rte(float8);
3510uchar8 __ovld __cnfn convert_uchar8_sat_rte(float8);
3511uchar8 __ovld __cnfn convert_uchar8_rtz(float8);
3512uchar8 __ovld __cnfn convert_uchar8_sat_rtz(float8);
3513uchar8 __ovld __cnfn convert_uchar8_rtp(float8);
3514uchar8 __ovld __cnfn convert_uchar8_sat_rtp(float8);
3515uchar8 __ovld __cnfn convert_uchar8_rtn(float8);
3516uchar8 __ovld __cnfn convert_uchar8_sat_rtn(float8);
3517uchar8 __ovld __cnfn convert_uchar8(float8);
3518uchar8 __ovld __cnfn convert_uchar8_sat(float8);
3519short8 __ovld __cnfn convert_short8_rte(char8);
3520short8 __ovld __cnfn convert_short8_sat_rte(char8);
3521short8 __ovld __cnfn convert_short8_rtz(char8);
3522short8 __ovld __cnfn convert_short8_sat_rtz(char8);
3523short8 __ovld __cnfn convert_short8_rtp(char8);
3524short8 __ovld __cnfn convert_short8_sat_rtp(char8);
3525short8 __ovld __cnfn convert_short8_rtn(char8);
3526short8 __ovld __cnfn convert_short8_sat_rtn(char8);
3527short8 __ovld __cnfn convert_short8(char8);
3528short8 __ovld __cnfn convert_short8_sat(char8);
3529short8 __ovld __cnfn convert_short8_rte(uchar8);
3530short8 __ovld __cnfn convert_short8_sat_rte(uchar8);
3531short8 __ovld __cnfn convert_short8_rtz(uchar8);
3532short8 __ovld __cnfn convert_short8_sat_rtz(uchar8);
3533short8 __ovld __cnfn convert_short8_rtp(uchar8);
3534short8 __ovld __cnfn convert_short8_sat_rtp(uchar8);
3535short8 __ovld __cnfn convert_short8_rtn(uchar8);
3536short8 __ovld __cnfn convert_short8_sat_rtn(uchar8);
3537short8 __ovld __cnfn convert_short8(uchar8);
3538short8 __ovld __cnfn convert_short8_sat(uchar8);
3539short8 __ovld __cnfn convert_short8_rte(short8);
3540short8 __ovld __cnfn convert_short8_sat_rte(short8);
3541short8 __ovld __cnfn convert_short8_rtz(short8);
3542short8 __ovld __cnfn convert_short8_sat_rtz(short8);
3543short8 __ovld __cnfn convert_short8_rtp(short8);
3544short8 __ovld __cnfn convert_short8_sat_rtp(short8);
3545short8 __ovld __cnfn convert_short8_rtn(short8);
3546short8 __ovld __cnfn convert_short8_sat_rtn(short8);
3547short8 __ovld __cnfn convert_short8(short8);
3548short8 __ovld __cnfn convert_short8_sat(short8);
3549short8 __ovld __cnfn convert_short8_rte(ushort8);
3550short8 __ovld __cnfn convert_short8_sat_rte(ushort8);
3551short8 __ovld __cnfn convert_short8_rtz(ushort8);
3552short8 __ovld __cnfn convert_short8_sat_rtz(ushort8);
3553short8 __ovld __cnfn convert_short8_rtp(ushort8);
3554short8 __ovld __cnfn convert_short8_sat_rtp(ushort8);
3555short8 __ovld __cnfn convert_short8_rtn(ushort8);
3556short8 __ovld __cnfn convert_short8_sat_rtn(ushort8);
3557short8 __ovld __cnfn convert_short8(ushort8);
3558short8 __ovld __cnfn convert_short8_sat(ushort8);
3559short8 __ovld __cnfn convert_short8_rte(int8);
3560short8 __ovld __cnfn convert_short8_sat_rte(int8);
3561short8 __ovld __cnfn convert_short8_rtz(int8);
3562short8 __ovld __cnfn convert_short8_sat_rtz(int8);
3563short8 __ovld __cnfn convert_short8_rtp(int8);
3564short8 __ovld __cnfn convert_short8_sat_rtp(int8);
3565short8 __ovld __cnfn convert_short8_rtn(int8);
3566short8 __ovld __cnfn convert_short8_sat_rtn(int8);
3567short8 __ovld __cnfn convert_short8(int8);
3568short8 __ovld __cnfn convert_short8_sat(int8);
3569short8 __ovld __cnfn convert_short8_rte(uint8);
3570short8 __ovld __cnfn convert_short8_sat_rte(uint8);
3571short8 __ovld __cnfn convert_short8_rtz(uint8);
3572short8 __ovld __cnfn convert_short8_sat_rtz(uint8);
3573short8 __ovld __cnfn convert_short8_rtp(uint8);
3574short8 __ovld __cnfn convert_short8_sat_rtp(uint8);
3575short8 __ovld __cnfn convert_short8_rtn(uint8);
3576short8 __ovld __cnfn convert_short8_sat_rtn(uint8);
3577short8 __ovld __cnfn convert_short8(uint8);
3578short8 __ovld __cnfn convert_short8_sat(uint8);
3579short8 __ovld __cnfn convert_short8_rte(long8);
3580short8 __ovld __cnfn convert_short8_sat_rte(long8);
3581short8 __ovld __cnfn convert_short8_rtz(long8);
3582short8 __ovld __cnfn convert_short8_sat_rtz(long8);
3583short8 __ovld __cnfn convert_short8_rtp(long8);
3584short8 __ovld __cnfn convert_short8_sat_rtp(long8);
3585short8 __ovld __cnfn convert_short8_rtn(long8);
3586short8 __ovld __cnfn convert_short8_sat_rtn(long8);
3587short8 __ovld __cnfn convert_short8(long8);
3588short8 __ovld __cnfn convert_short8_sat(long8);
3589short8 __ovld __cnfn convert_short8_rte(ulong8);
3590short8 __ovld __cnfn convert_short8_sat_rte(ulong8);
3591short8 __ovld __cnfn convert_short8_rtz(ulong8);
3592short8 __ovld __cnfn convert_short8_sat_rtz(ulong8);
3593short8 __ovld __cnfn convert_short8_rtp(ulong8);
3594short8 __ovld __cnfn convert_short8_sat_rtp(ulong8);
3595short8 __ovld __cnfn convert_short8_rtn(ulong8);
3596short8 __ovld __cnfn convert_short8_sat_rtn(ulong8);
3597short8 __ovld __cnfn convert_short8(ulong8);
3598short8 __ovld __cnfn convert_short8_sat(ulong8);
3599short8 __ovld __cnfn convert_short8_rte(float8);
3600short8 __ovld __cnfn convert_short8_sat_rte(float8);
3601short8 __ovld __cnfn convert_short8_rtz(float8);
3602short8 __ovld __cnfn convert_short8_sat_rtz(float8);
3603short8 __ovld __cnfn convert_short8_rtp(float8);
3604short8 __ovld __cnfn convert_short8_sat_rtp(float8);
3605short8 __ovld __cnfn convert_short8_rtn(float8);
3606short8 __ovld __cnfn convert_short8_sat_rtn(float8);
3607short8 __ovld __cnfn convert_short8(float8);
3608short8 __ovld __cnfn convert_short8_sat(float8);
3609ushort8 __ovld __cnfn convert_ushort8_rte(char8);
3610ushort8 __ovld __cnfn convert_ushort8_sat_rte(char8);
3611ushort8 __ovld __cnfn convert_ushort8_rtz(char8);
3612ushort8 __ovld __cnfn convert_ushort8_sat_rtz(char8);
3613ushort8 __ovld __cnfn convert_ushort8_rtp(char8);
3614ushort8 __ovld __cnfn convert_ushort8_sat_rtp(char8);
3615ushort8 __ovld __cnfn convert_ushort8_rtn(char8);
3616ushort8 __ovld __cnfn convert_ushort8_sat_rtn(char8);
3617ushort8 __ovld __cnfn convert_ushort8(char8);
3618ushort8 __ovld __cnfn convert_ushort8_sat(char8);
3619ushort8 __ovld __cnfn convert_ushort8_rte(uchar8);
3620ushort8 __ovld __cnfn convert_ushort8_sat_rte(uchar8);
3621ushort8 __ovld __cnfn convert_ushort8_rtz(uchar8);
3622ushort8 __ovld __cnfn convert_ushort8_sat_rtz(uchar8);
3623ushort8 __ovld __cnfn convert_ushort8_rtp(uchar8);
3624ushort8 __ovld __cnfn convert_ushort8_sat_rtp(uchar8);
3625ushort8 __ovld __cnfn convert_ushort8_rtn(uchar8);
3626ushort8 __ovld __cnfn convert_ushort8_sat_rtn(uchar8);
3627ushort8 __ovld __cnfn convert_ushort8(uchar8);
3628ushort8 __ovld __cnfn convert_ushort8_sat(uchar8);
3629ushort8 __ovld __cnfn convert_ushort8_rte(short8);
3630ushort8 __ovld __cnfn convert_ushort8_sat_rte(short8);
3631ushort8 __ovld __cnfn convert_ushort8_rtz(short8);
3632ushort8 __ovld __cnfn convert_ushort8_sat_rtz(short8);
3633ushort8 __ovld __cnfn convert_ushort8_rtp(short8);
3634ushort8 __ovld __cnfn convert_ushort8_sat_rtp(short8);
3635ushort8 __ovld __cnfn convert_ushort8_rtn(short8);
3636ushort8 __ovld __cnfn convert_ushort8_sat_rtn(short8);
3637ushort8 __ovld __cnfn convert_ushort8(short8);
3638ushort8 __ovld __cnfn convert_ushort8_sat(short8);
3639ushort8 __ovld __cnfn convert_ushort8_rte(ushort8);
3640ushort8 __ovld __cnfn convert_ushort8_sat_rte(ushort8);
3641ushort8 __ovld __cnfn convert_ushort8_rtz(ushort8);
3642ushort8 __ovld __cnfn convert_ushort8_sat_rtz(ushort8);
3643ushort8 __ovld __cnfn convert_ushort8_rtp(ushort8);
3644ushort8 __ovld __cnfn convert_ushort8_sat_rtp(ushort8);
3645ushort8 __ovld __cnfn convert_ushort8_rtn(ushort8);
3646ushort8 __ovld __cnfn convert_ushort8_sat_rtn(ushort8);
3647ushort8 __ovld __cnfn convert_ushort8(ushort8);
3648ushort8 __ovld __cnfn convert_ushort8_sat(ushort8);
3649ushort8 __ovld __cnfn convert_ushort8_rte(int8);
3650ushort8 __ovld __cnfn convert_ushort8_sat_rte(int8);
3651ushort8 __ovld __cnfn convert_ushort8_rtz(int8);
3652ushort8 __ovld __cnfn convert_ushort8_sat_rtz(int8);
3653ushort8 __ovld __cnfn convert_ushort8_rtp(int8);
3654ushort8 __ovld __cnfn convert_ushort8_sat_rtp(int8);
3655ushort8 __ovld __cnfn convert_ushort8_rtn(int8);
3656ushort8 __ovld __cnfn convert_ushort8_sat_rtn(int8);
3657ushort8 __ovld __cnfn convert_ushort8(int8);
3658ushort8 __ovld __cnfn convert_ushort8_sat(int8);
3659ushort8 __ovld __cnfn convert_ushort8_rte(uint8);
3660ushort8 __ovld __cnfn convert_ushort8_sat_rte(uint8);
3661ushort8 __ovld __cnfn convert_ushort8_rtz(uint8);
3662ushort8 __ovld __cnfn convert_ushort8_sat_rtz(uint8);
3663ushort8 __ovld __cnfn convert_ushort8_rtp(uint8);
3664ushort8 __ovld __cnfn convert_ushort8_sat_rtp(uint8);
3665ushort8 __ovld __cnfn convert_ushort8_rtn(uint8);
3666ushort8 __ovld __cnfn convert_ushort8_sat_rtn(uint8);
3667ushort8 __ovld __cnfn convert_ushort8(uint8);
3668ushort8 __ovld __cnfn convert_ushort8_sat(uint8);
3669ushort8 __ovld __cnfn convert_ushort8_rte(long8);
3670ushort8 __ovld __cnfn convert_ushort8_sat_rte(long8);
3671ushort8 __ovld __cnfn convert_ushort8_rtz(long8);
3672ushort8 __ovld __cnfn convert_ushort8_sat_rtz(long8);
3673ushort8 __ovld __cnfn convert_ushort8_rtp(long8);
3674ushort8 __ovld __cnfn convert_ushort8_sat_rtp(long8);
3675ushort8 __ovld __cnfn convert_ushort8_rtn(long8);
3676ushort8 __ovld __cnfn convert_ushort8_sat_rtn(long8);
3677ushort8 __ovld __cnfn convert_ushort8(long8);
3678ushort8 __ovld __cnfn convert_ushort8_sat(long8);
3679ushort8 __ovld __cnfn convert_ushort8_rte(ulong8);
3680ushort8 __ovld __cnfn convert_ushort8_sat_rte(ulong8);
3681ushort8 __ovld __cnfn convert_ushort8_rtz(ulong8);
3682ushort8 __ovld __cnfn convert_ushort8_sat_rtz(ulong8);
3683ushort8 __ovld __cnfn convert_ushort8_rtp(ulong8);
3684ushort8 __ovld __cnfn convert_ushort8_sat_rtp(ulong8);
3685ushort8 __ovld __cnfn convert_ushort8_rtn(ulong8);
3686ushort8 __ovld __cnfn convert_ushort8_sat_rtn(ulong8);
3687ushort8 __ovld __cnfn convert_ushort8(ulong8);
3688ushort8 __ovld __cnfn convert_ushort8_sat(ulong8);
3689ushort8 __ovld __cnfn convert_ushort8_rte(float8);
3690ushort8 __ovld __cnfn convert_ushort8_sat_rte(float8);
3691ushort8 __ovld __cnfn convert_ushort8_rtz(float8);
3692ushort8 __ovld __cnfn convert_ushort8_sat_rtz(float8);
3693ushort8 __ovld __cnfn convert_ushort8_rtp(float8);
3694ushort8 __ovld __cnfn convert_ushort8_sat_rtp(float8);
3695ushort8 __ovld __cnfn convert_ushort8_rtn(float8);
3696ushort8 __ovld __cnfn convert_ushort8_sat_rtn(float8);
3697ushort8 __ovld __cnfn convert_ushort8(float8);
3698ushort8 __ovld __cnfn convert_ushort8_sat(float8);
3699int8 __ovld __cnfn convert_int8_rte(char8);
3700int8 __ovld __cnfn convert_int8_sat_rte(char8);
3701int8 __ovld __cnfn convert_int8_rtz(char8);
3702int8 __ovld __cnfn convert_int8_sat_rtz(char8);
3703int8 __ovld __cnfn convert_int8_rtp(char8);
3704int8 __ovld __cnfn convert_int8_sat_rtp(char8);
3705int8 __ovld __cnfn convert_int8_rtn(char8);
3706int8 __ovld __cnfn convert_int8_sat_rtn(char8);
3707int8 __ovld __cnfn convert_int8(char8);
3708int8 __ovld __cnfn convert_int8_sat(char8);
3709int8 __ovld __cnfn convert_int8_rte(uchar8);
3710int8 __ovld __cnfn convert_int8_sat_rte(uchar8);
3711int8 __ovld __cnfn convert_int8_rtz(uchar8);
3712int8 __ovld __cnfn convert_int8_sat_rtz(uchar8);
3713int8 __ovld __cnfn convert_int8_rtp(uchar8);
3714int8 __ovld __cnfn convert_int8_sat_rtp(uchar8);
3715int8 __ovld __cnfn convert_int8_rtn(uchar8);
3716int8 __ovld __cnfn convert_int8_sat_rtn(uchar8);
3717int8 __ovld __cnfn convert_int8(uchar8);
3718int8 __ovld __cnfn convert_int8_sat(uchar8);
3719int8 __ovld __cnfn convert_int8_rte(short8);
3720int8 __ovld __cnfn convert_int8_sat_rte(short8);
3721int8 __ovld __cnfn convert_int8_rtz(short8);
3722int8 __ovld __cnfn convert_int8_sat_rtz(short8);
3723int8 __ovld __cnfn convert_int8_rtp(short8);
3724int8 __ovld __cnfn convert_int8_sat_rtp(short8);
3725int8 __ovld __cnfn convert_int8_rtn(short8);
3726int8 __ovld __cnfn convert_int8_sat_rtn(short8);
3727int8 __ovld __cnfn convert_int8(short8);
3728int8 __ovld __cnfn convert_int8_sat(short8);
3729int8 __ovld __cnfn convert_int8_rte(ushort8);
3730int8 __ovld __cnfn convert_int8_sat_rte(ushort8);
3731int8 __ovld __cnfn convert_int8_rtz(ushort8);
3732int8 __ovld __cnfn convert_int8_sat_rtz(ushort8);
3733int8 __ovld __cnfn convert_int8_rtp(ushort8);
3734int8 __ovld __cnfn convert_int8_sat_rtp(ushort8);
3735int8 __ovld __cnfn convert_int8_rtn(ushort8);
3736int8 __ovld __cnfn convert_int8_sat_rtn(ushort8);
3737int8 __ovld __cnfn convert_int8(ushort8);
3738int8 __ovld __cnfn convert_int8_sat(ushort8);
3739int8 __ovld __cnfn convert_int8_rte(int8);
3740int8 __ovld __cnfn convert_int8_sat_rte(int8);
3741int8 __ovld __cnfn convert_int8_rtz(int8);
3742int8 __ovld __cnfn convert_int8_sat_rtz(int8);
3743int8 __ovld __cnfn convert_int8_rtp(int8);
3744int8 __ovld __cnfn convert_int8_sat_rtp(int8);
3745int8 __ovld __cnfn convert_int8_rtn(int8);
3746int8 __ovld __cnfn convert_int8_sat_rtn(int8);
3747int8 __ovld __cnfn convert_int8(int8);
3748int8 __ovld __cnfn convert_int8_sat(int8);
3749int8 __ovld __cnfn convert_int8_rte(uint8);
3750int8 __ovld __cnfn convert_int8_sat_rte(uint8);
3751int8 __ovld __cnfn convert_int8_rtz(uint8);
3752int8 __ovld __cnfn convert_int8_sat_rtz(uint8);
3753int8 __ovld __cnfn convert_int8_rtp(uint8);
3754int8 __ovld __cnfn convert_int8_sat_rtp(uint8);
3755int8 __ovld __cnfn convert_int8_rtn(uint8);
3756int8 __ovld __cnfn convert_int8_sat_rtn(uint8);
3757int8 __ovld __cnfn convert_int8(uint8);
3758int8 __ovld __cnfn convert_int8_sat(uint8);
3759int8 __ovld __cnfn convert_int8_rte(long8);
3760int8 __ovld __cnfn convert_int8_sat_rte(long8);
3761int8 __ovld __cnfn convert_int8_rtz(long8);
3762int8 __ovld __cnfn convert_int8_sat_rtz(long8);
3763int8 __ovld __cnfn convert_int8_rtp(long8);
3764int8 __ovld __cnfn convert_int8_sat_rtp(long8);
3765int8 __ovld __cnfn convert_int8_rtn(long8);
3766int8 __ovld __cnfn convert_int8_sat_rtn(long8);
3767int8 __ovld __cnfn convert_int8(long8);
3768int8 __ovld __cnfn convert_int8_sat(long8);
3769int8 __ovld __cnfn convert_int8_rte(ulong8);
3770int8 __ovld __cnfn convert_int8_sat_rte(ulong8);
3771int8 __ovld __cnfn convert_int8_rtz(ulong8);
3772int8 __ovld __cnfn convert_int8_sat_rtz(ulong8);
3773int8 __ovld __cnfn convert_int8_rtp(ulong8);
3774int8 __ovld __cnfn convert_int8_sat_rtp(ulong8);
3775int8 __ovld __cnfn convert_int8_rtn(ulong8);
3776int8 __ovld __cnfn convert_int8_sat_rtn(ulong8);
3777int8 __ovld __cnfn convert_int8(ulong8);
3778int8 __ovld __cnfn convert_int8_sat(ulong8);
3779int8 __ovld __cnfn convert_int8_rte(float8);
3780int8 __ovld __cnfn convert_int8_sat_rte(float8);
3781int8 __ovld __cnfn convert_int8_rtz(float8);
3782int8 __ovld __cnfn convert_int8_sat_rtz(float8);
3783int8 __ovld __cnfn convert_int8_rtp(float8);
3784int8 __ovld __cnfn convert_int8_sat_rtp(float8);
3785int8 __ovld __cnfn convert_int8_rtn(float8);
3786int8 __ovld __cnfn convert_int8_sat_rtn(float8);
3787int8 __ovld __cnfn convert_int8(float8);
3788int8 __ovld __cnfn convert_int8_sat(float8);
3789uint8 __ovld __cnfn convert_uint8_rte(char8);
3790uint8 __ovld __cnfn convert_uint8_sat_rte(char8);
3791uint8 __ovld __cnfn convert_uint8_rtz(char8);
3792uint8 __ovld __cnfn convert_uint8_sat_rtz(char8);
3793uint8 __ovld __cnfn convert_uint8_rtp(char8);
3794uint8 __ovld __cnfn convert_uint8_sat_rtp(char8);
3795uint8 __ovld __cnfn convert_uint8_rtn(char8);
3796uint8 __ovld __cnfn convert_uint8_sat_rtn(char8);
3797uint8 __ovld __cnfn convert_uint8(char8);
3798uint8 __ovld __cnfn convert_uint8_sat(char8);
3799uint8 __ovld __cnfn convert_uint8_rte(uchar8);
3800uint8 __ovld __cnfn convert_uint8_sat_rte(uchar8);
3801uint8 __ovld __cnfn convert_uint8_rtz(uchar8);
3802uint8 __ovld __cnfn convert_uint8_sat_rtz(uchar8);
3803uint8 __ovld __cnfn convert_uint8_rtp(uchar8);
3804uint8 __ovld __cnfn convert_uint8_sat_rtp(uchar8);
3805uint8 __ovld __cnfn convert_uint8_rtn(uchar8);
3806uint8 __ovld __cnfn convert_uint8_sat_rtn(uchar8);
3807uint8 __ovld __cnfn convert_uint8(uchar8);
3808uint8 __ovld __cnfn convert_uint8_sat(uchar8);
3809uint8 __ovld __cnfn convert_uint8_rte(short8);
3810uint8 __ovld __cnfn convert_uint8_sat_rte(short8);
3811uint8 __ovld __cnfn convert_uint8_rtz(short8);
3812uint8 __ovld __cnfn convert_uint8_sat_rtz(short8);
3813uint8 __ovld __cnfn convert_uint8_rtp(short8);
3814uint8 __ovld __cnfn convert_uint8_sat_rtp(short8);
3815uint8 __ovld __cnfn convert_uint8_rtn(short8);
3816uint8 __ovld __cnfn convert_uint8_sat_rtn(short8);
3817uint8 __ovld __cnfn convert_uint8(short8);
3818uint8 __ovld __cnfn convert_uint8_sat(short8);
3819uint8 __ovld __cnfn convert_uint8_rte(ushort8);
3820uint8 __ovld __cnfn convert_uint8_sat_rte(ushort8);
3821uint8 __ovld __cnfn convert_uint8_rtz(ushort8);
3822uint8 __ovld __cnfn convert_uint8_sat_rtz(ushort8);
3823uint8 __ovld __cnfn convert_uint8_rtp(ushort8);
3824uint8 __ovld __cnfn convert_uint8_sat_rtp(ushort8);
3825uint8 __ovld __cnfn convert_uint8_rtn(ushort8);
3826uint8 __ovld __cnfn convert_uint8_sat_rtn(ushort8);
3827uint8 __ovld __cnfn convert_uint8(ushort8);
3828uint8 __ovld __cnfn convert_uint8_sat(ushort8);
3829uint8 __ovld __cnfn convert_uint8_rte(int8);
3830uint8 __ovld __cnfn convert_uint8_sat_rte(int8);
3831uint8 __ovld __cnfn convert_uint8_rtz(int8);
3832uint8 __ovld __cnfn convert_uint8_sat_rtz(int8);
3833uint8 __ovld __cnfn convert_uint8_rtp(int8);
3834uint8 __ovld __cnfn convert_uint8_sat_rtp(int8);
3835uint8 __ovld __cnfn convert_uint8_rtn(int8);
3836uint8 __ovld __cnfn convert_uint8_sat_rtn(int8);
3837uint8 __ovld __cnfn convert_uint8(int8);
3838uint8 __ovld __cnfn convert_uint8_sat(int8);
3839uint8 __ovld __cnfn convert_uint8_rte(uint8);
3840uint8 __ovld __cnfn convert_uint8_sat_rte(uint8);
3841uint8 __ovld __cnfn convert_uint8_rtz(uint8);
3842uint8 __ovld __cnfn convert_uint8_sat_rtz(uint8);
3843uint8 __ovld __cnfn convert_uint8_rtp(uint8);
3844uint8 __ovld __cnfn convert_uint8_sat_rtp(uint8);
3845uint8 __ovld __cnfn convert_uint8_rtn(uint8);
3846uint8 __ovld __cnfn convert_uint8_sat_rtn(uint8);
3847uint8 __ovld __cnfn convert_uint8(uint8);
3848uint8 __ovld __cnfn convert_uint8_sat(uint8);
3849uint8 __ovld __cnfn convert_uint8_rte(long8);
3850uint8 __ovld __cnfn convert_uint8_sat_rte(long8);
3851uint8 __ovld __cnfn convert_uint8_rtz(long8);
3852uint8 __ovld __cnfn convert_uint8_sat_rtz(long8);
3853uint8 __ovld __cnfn convert_uint8_rtp(long8);
3854uint8 __ovld __cnfn convert_uint8_sat_rtp(long8);
3855uint8 __ovld __cnfn convert_uint8_rtn(long8);
3856uint8 __ovld __cnfn convert_uint8_sat_rtn(long8);
3857uint8 __ovld __cnfn convert_uint8(long8);
3858uint8 __ovld __cnfn convert_uint8_sat(long8);
3859uint8 __ovld __cnfn convert_uint8_rte(ulong8);
3860uint8 __ovld __cnfn convert_uint8_sat_rte(ulong8);
3861uint8 __ovld __cnfn convert_uint8_rtz(ulong8);
3862uint8 __ovld __cnfn convert_uint8_sat_rtz(ulong8);
3863uint8 __ovld __cnfn convert_uint8_rtp(ulong8);
3864uint8 __ovld __cnfn convert_uint8_sat_rtp(ulong8);
3865uint8 __ovld __cnfn convert_uint8_rtn(ulong8);
3866uint8 __ovld __cnfn convert_uint8_sat_rtn(ulong8);
3867uint8 __ovld __cnfn convert_uint8(ulong8);
3868uint8 __ovld __cnfn convert_uint8_sat(ulong8);
3869uint8 __ovld __cnfn convert_uint8_rte(float8);
3870uint8 __ovld __cnfn convert_uint8_sat_rte(float8);
3871uint8 __ovld __cnfn convert_uint8_rtz(float8);
3872uint8 __ovld __cnfn convert_uint8_sat_rtz(float8);
3873uint8 __ovld __cnfn convert_uint8_rtp(float8);
3874uint8 __ovld __cnfn convert_uint8_sat_rtp(float8);
3875uint8 __ovld __cnfn convert_uint8_rtn(float8);
3876uint8 __ovld __cnfn convert_uint8_sat_rtn(float8);
3877uint8 __ovld __cnfn convert_uint8(float8);
3878uint8 __ovld __cnfn convert_uint8_sat(float8);
3879long8 __ovld __cnfn convert_long8_rte(char8);
3880long8 __ovld __cnfn convert_long8_sat_rte(char8);
3881long8 __ovld __cnfn convert_long8_rtz(char8);
3882long8 __ovld __cnfn convert_long8_sat_rtz(char8);
3883long8 __ovld __cnfn convert_long8_rtp(char8);
3884long8 __ovld __cnfn convert_long8_sat_rtp(char8);
3885long8 __ovld __cnfn convert_long8_rtn(char8);
3886long8 __ovld __cnfn convert_long8_sat_rtn(char8);
3887long8 __ovld __cnfn convert_long8(char8);
3888long8 __ovld __cnfn convert_long8_sat(char8);
3889long8 __ovld __cnfn convert_long8_rte(uchar8);
3890long8 __ovld __cnfn convert_long8_sat_rte(uchar8);
3891long8 __ovld __cnfn convert_long8_rtz(uchar8);
3892long8 __ovld __cnfn convert_long8_sat_rtz(uchar8);
3893long8 __ovld __cnfn convert_long8_rtp(uchar8);
3894long8 __ovld __cnfn convert_long8_sat_rtp(uchar8);
3895long8 __ovld __cnfn convert_long8_rtn(uchar8);
3896long8 __ovld __cnfn convert_long8_sat_rtn(uchar8);
3897long8 __ovld __cnfn convert_long8(uchar8);
3898long8 __ovld __cnfn convert_long8_sat(uchar8);
3899long8 __ovld __cnfn convert_long8_rte(short8);
3900long8 __ovld __cnfn convert_long8_sat_rte(short8);
3901long8 __ovld __cnfn convert_long8_rtz(short8);
3902long8 __ovld __cnfn convert_long8_sat_rtz(short8);
3903long8 __ovld __cnfn convert_long8_rtp(short8);
3904long8 __ovld __cnfn convert_long8_sat_rtp(short8);
3905long8 __ovld __cnfn convert_long8_rtn(short8);
3906long8 __ovld __cnfn convert_long8_sat_rtn(short8);
3907long8 __ovld __cnfn convert_long8(short8);
3908long8 __ovld __cnfn convert_long8_sat(short8);
3909long8 __ovld __cnfn convert_long8_rte(ushort8);
3910long8 __ovld __cnfn convert_long8_sat_rte(ushort8);
3911long8 __ovld __cnfn convert_long8_rtz(ushort8);
3912long8 __ovld __cnfn convert_long8_sat_rtz(ushort8);
3913long8 __ovld __cnfn convert_long8_rtp(ushort8);
3914long8 __ovld __cnfn convert_long8_sat_rtp(ushort8);
3915long8 __ovld __cnfn convert_long8_rtn(ushort8);
3916long8 __ovld __cnfn convert_long8_sat_rtn(ushort8);
3917long8 __ovld __cnfn convert_long8(ushort8);
3918long8 __ovld __cnfn convert_long8_sat(ushort8);
3919long8 __ovld __cnfn convert_long8_rte(int8);
3920long8 __ovld __cnfn convert_long8_sat_rte(int8);
3921long8 __ovld __cnfn convert_long8_rtz(int8);
3922long8 __ovld __cnfn convert_long8_sat_rtz(int8);
3923long8 __ovld __cnfn convert_long8_rtp(int8);
3924long8 __ovld __cnfn convert_long8_sat_rtp(int8);
3925long8 __ovld __cnfn convert_long8_rtn(int8);
3926long8 __ovld __cnfn convert_long8_sat_rtn(int8);
3927long8 __ovld __cnfn convert_long8(int8);
3928long8 __ovld __cnfn convert_long8_sat(int8);
3929long8 __ovld __cnfn convert_long8_rte(uint8);
3930long8 __ovld __cnfn convert_long8_sat_rte(uint8);
3931long8 __ovld __cnfn convert_long8_rtz(uint8);
3932long8 __ovld __cnfn convert_long8_sat_rtz(uint8);
3933long8 __ovld __cnfn convert_long8_rtp(uint8);
3934long8 __ovld __cnfn convert_long8_sat_rtp(uint8);
3935long8 __ovld __cnfn convert_long8_rtn(uint8);
3936long8 __ovld __cnfn convert_long8_sat_rtn(uint8);
3937long8 __ovld __cnfn convert_long8(uint8);
3938long8 __ovld __cnfn convert_long8_sat(uint8);
3939long8 __ovld __cnfn convert_long8_rte(long8);
3940long8 __ovld __cnfn convert_long8_sat_rte(long8);
3941long8 __ovld __cnfn convert_long8_rtz(long8);
3942long8 __ovld __cnfn convert_long8_sat_rtz(long8);
3943long8 __ovld __cnfn convert_long8_rtp(long8);
3944long8 __ovld __cnfn convert_long8_sat_rtp(long8);
3945long8 __ovld __cnfn convert_long8_rtn(long8);
3946long8 __ovld __cnfn convert_long8_sat_rtn(long8);
3947long8 __ovld __cnfn convert_long8(long8);
3948long8 __ovld __cnfn convert_long8_sat(long8);
3949long8 __ovld __cnfn convert_long8_rte(ulong8);
3950long8 __ovld __cnfn convert_long8_sat_rte(ulong8);
3951long8 __ovld __cnfn convert_long8_rtz(ulong8);
3952long8 __ovld __cnfn convert_long8_sat_rtz(ulong8);
3953long8 __ovld __cnfn convert_long8_rtp(ulong8);
3954long8 __ovld __cnfn convert_long8_sat_rtp(ulong8);
3955long8 __ovld __cnfn convert_long8_rtn(ulong8);
3956long8 __ovld __cnfn convert_long8_sat_rtn(ulong8);
3957long8 __ovld __cnfn convert_long8(ulong8);
3958long8 __ovld __cnfn convert_long8_sat(ulong8);
3959long8 __ovld __cnfn convert_long8_rte(float8);
3960long8 __ovld __cnfn convert_long8_sat_rte(float8);
3961long8 __ovld __cnfn convert_long8_rtz(float8);
3962long8 __ovld __cnfn convert_long8_sat_rtz(float8);
3963long8 __ovld __cnfn convert_long8_rtp(float8);
3964long8 __ovld __cnfn convert_long8_sat_rtp(float8);
3965long8 __ovld __cnfn convert_long8_rtn(float8);
3966long8 __ovld __cnfn convert_long8_sat_rtn(float8);
3967long8 __ovld __cnfn convert_long8(float8);
3968long8 __ovld __cnfn convert_long8_sat(float8);
3969ulong8 __ovld __cnfn convert_ulong8_rte(char8);
3970ulong8 __ovld __cnfn convert_ulong8_sat_rte(char8);
3971ulong8 __ovld __cnfn convert_ulong8_rtz(char8);
3972ulong8 __ovld __cnfn convert_ulong8_sat_rtz(char8);
3973ulong8 __ovld __cnfn convert_ulong8_rtp(char8);
3974ulong8 __ovld __cnfn convert_ulong8_sat_rtp(char8);
3975ulong8 __ovld __cnfn convert_ulong8_rtn(char8);
3976ulong8 __ovld __cnfn convert_ulong8_sat_rtn(char8);
3977ulong8 __ovld __cnfn convert_ulong8(char8);
3978ulong8 __ovld __cnfn convert_ulong8_sat(char8);
3979ulong8 __ovld __cnfn convert_ulong8_rte(uchar8);
3980ulong8 __ovld __cnfn convert_ulong8_sat_rte(uchar8);
3981ulong8 __ovld __cnfn convert_ulong8_rtz(uchar8);
3982ulong8 __ovld __cnfn convert_ulong8_sat_rtz(uchar8);
3983ulong8 __ovld __cnfn convert_ulong8_rtp(uchar8);
3984ulong8 __ovld __cnfn convert_ulong8_sat_rtp(uchar8);
3985ulong8 __ovld __cnfn convert_ulong8_rtn(uchar8);
3986ulong8 __ovld __cnfn convert_ulong8_sat_rtn(uchar8);
3987ulong8 __ovld __cnfn convert_ulong8(uchar8);
3988ulong8 __ovld __cnfn convert_ulong8_sat(uchar8);
3989ulong8 __ovld __cnfn convert_ulong8_rte(short8);
3990ulong8 __ovld __cnfn convert_ulong8_sat_rte(short8);
3991ulong8 __ovld __cnfn convert_ulong8_rtz(short8);
3992ulong8 __ovld __cnfn convert_ulong8_sat_rtz(short8);
3993ulong8 __ovld __cnfn convert_ulong8_rtp(short8);
3994ulong8 __ovld __cnfn convert_ulong8_sat_rtp(short8);
3995ulong8 __ovld __cnfn convert_ulong8_rtn(short8);
3996ulong8 __ovld __cnfn convert_ulong8_sat_rtn(short8);
3997ulong8 __ovld __cnfn convert_ulong8(short8);
3998ulong8 __ovld __cnfn convert_ulong8_sat(short8);
3999ulong8 __ovld __cnfn convert_ulong8_rte(ushort8);
4000ulong8 __ovld __cnfn convert_ulong8_sat_rte(ushort8);
4001ulong8 __ovld __cnfn convert_ulong8_rtz(ushort8);
4002ulong8 __ovld __cnfn convert_ulong8_sat_rtz(ushort8);
4003ulong8 __ovld __cnfn convert_ulong8_rtp(ushort8);
4004ulong8 __ovld __cnfn convert_ulong8_sat_rtp(ushort8);
4005ulong8 __ovld __cnfn convert_ulong8_rtn(ushort8);
4006ulong8 __ovld __cnfn convert_ulong8_sat_rtn(ushort8);
4007ulong8 __ovld __cnfn convert_ulong8(ushort8);
4008ulong8 __ovld __cnfn convert_ulong8_sat(ushort8);
4009ulong8 __ovld __cnfn convert_ulong8_rte(int8);
4010ulong8 __ovld __cnfn convert_ulong8_sat_rte(int8);
4011ulong8 __ovld __cnfn convert_ulong8_rtz(int8);
4012ulong8 __ovld __cnfn convert_ulong8_sat_rtz(int8);
4013ulong8 __ovld __cnfn convert_ulong8_rtp(int8);
4014ulong8 __ovld __cnfn convert_ulong8_sat_rtp(int8);
4015ulong8 __ovld __cnfn convert_ulong8_rtn(int8);
4016ulong8 __ovld __cnfn convert_ulong8_sat_rtn(int8);
4017ulong8 __ovld __cnfn convert_ulong8(int8);
4018ulong8 __ovld __cnfn convert_ulong8_sat(int8);
4019ulong8 __ovld __cnfn convert_ulong8_rte(uint8);
4020ulong8 __ovld __cnfn convert_ulong8_sat_rte(uint8);
4021ulong8 __ovld __cnfn convert_ulong8_rtz(uint8);
4022ulong8 __ovld __cnfn convert_ulong8_sat_rtz(uint8);
4023ulong8 __ovld __cnfn convert_ulong8_rtp(uint8);
4024ulong8 __ovld __cnfn convert_ulong8_sat_rtp(uint8);
4025ulong8 __ovld __cnfn convert_ulong8_rtn(uint8);
4026ulong8 __ovld __cnfn convert_ulong8_sat_rtn(uint8);
4027ulong8 __ovld __cnfn convert_ulong8(uint8);
4028ulong8 __ovld __cnfn convert_ulong8_sat(uint8);
4029ulong8 __ovld __cnfn convert_ulong8_rte(long8);
4030ulong8 __ovld __cnfn convert_ulong8_sat_rte(long8);
4031ulong8 __ovld __cnfn convert_ulong8_rtz(long8);
4032ulong8 __ovld __cnfn convert_ulong8_sat_rtz(long8);
4033ulong8 __ovld __cnfn convert_ulong8_rtp(long8);
4034ulong8 __ovld __cnfn convert_ulong8_sat_rtp(long8);
4035ulong8 __ovld __cnfn convert_ulong8_rtn(long8);
4036ulong8 __ovld __cnfn convert_ulong8_sat_rtn(long8);
4037ulong8 __ovld __cnfn convert_ulong8(long8);
4038ulong8 __ovld __cnfn convert_ulong8_sat(long8);
4039ulong8 __ovld __cnfn convert_ulong8_rte(ulong8);
4040ulong8 __ovld __cnfn convert_ulong8_sat_rte(ulong8);
4041ulong8 __ovld __cnfn convert_ulong8_rtz(ulong8);
4042ulong8 __ovld __cnfn convert_ulong8_sat_rtz(ulong8);
4043ulong8 __ovld __cnfn convert_ulong8_rtp(ulong8);
4044ulong8 __ovld __cnfn convert_ulong8_sat_rtp(ulong8);
4045ulong8 __ovld __cnfn convert_ulong8_rtn(ulong8);
4046ulong8 __ovld __cnfn convert_ulong8_sat_rtn(ulong8);
4047ulong8 __ovld __cnfn convert_ulong8(ulong8);
4048ulong8 __ovld __cnfn convert_ulong8_sat(ulong8);
4049ulong8 __ovld __cnfn convert_ulong8_rte(float8);
4050ulong8 __ovld __cnfn convert_ulong8_sat_rte(float8);
4051ulong8 __ovld __cnfn convert_ulong8_rtz(float8);
4052ulong8 __ovld __cnfn convert_ulong8_sat_rtz(float8);
4053ulong8 __ovld __cnfn convert_ulong8_rtp(float8);
4054ulong8 __ovld __cnfn convert_ulong8_sat_rtp(float8);
4055ulong8 __ovld __cnfn convert_ulong8_rtn(float8);
4056ulong8 __ovld __cnfn convert_ulong8_sat_rtn(float8);
4057ulong8 __ovld __cnfn convert_ulong8(float8);
4058ulong8 __ovld __cnfn convert_ulong8_sat(float8);
4059float8 __ovld __cnfn convert_float8_rte(char8);
4060float8 __ovld __cnfn convert_float8_rtz(char8);
4061float8 __ovld __cnfn convert_float8_rtp(char8);
4062float8 __ovld __cnfn convert_float8_rtn(char8);
4063float8 __ovld __cnfn convert_float8(char8);
4064float8 __ovld __cnfn convert_float8_rte(uchar8);
4065float8 __ovld __cnfn convert_float8_rtz(uchar8);
4066float8 __ovld __cnfn convert_float8_rtp(uchar8);
4067float8 __ovld __cnfn convert_float8_rtn(uchar8);
4068float8 __ovld __cnfn convert_float8(uchar8);
4069float8 __ovld __cnfn convert_float8_rte(short8);
4070float8 __ovld __cnfn convert_float8_rtz(short8);
4071float8 __ovld __cnfn convert_float8_rtp(short8);
4072float8 __ovld __cnfn convert_float8_rtn(short8);
4073float8 __ovld __cnfn convert_float8(short8);
4074float8 __ovld __cnfn convert_float8_rte(ushort8);
4075float8 __ovld __cnfn convert_float8_rtz(ushort8);
4076float8 __ovld __cnfn convert_float8_rtp(ushort8);
4077float8 __ovld __cnfn convert_float8_rtn(ushort8);
4078float8 __ovld __cnfn convert_float8(ushort8);
4079float8 __ovld __cnfn convert_float8_rte(int8);
4080float8 __ovld __cnfn convert_float8_rtz(int8);
4081float8 __ovld __cnfn convert_float8_rtp(int8);
4082float8 __ovld __cnfn convert_float8_rtn(int8);
4083float8 __ovld __cnfn convert_float8(int8);
4084float8 __ovld __cnfn convert_float8_rte(uint8);
4085float8 __ovld __cnfn convert_float8_rtz(uint8);
4086float8 __ovld __cnfn convert_float8_rtp(uint8);
4087float8 __ovld __cnfn convert_float8_rtn(uint8);
4088float8 __ovld __cnfn convert_float8(uint8);
4089float8 __ovld __cnfn convert_float8_rte(long8);
4090float8 __ovld __cnfn convert_float8_rtz(long8);
4091float8 __ovld __cnfn convert_float8_rtp(long8);
4092float8 __ovld __cnfn convert_float8_rtn(long8);
4093float8 __ovld __cnfn convert_float8(long8);
4094float8 __ovld __cnfn convert_float8_rte(ulong8);
4095float8 __ovld __cnfn convert_float8_rtz(ulong8);
4096float8 __ovld __cnfn convert_float8_rtp(ulong8);
4097float8 __ovld __cnfn convert_float8_rtn(ulong8);
4098float8 __ovld __cnfn convert_float8(ulong8);
4099float8 __ovld __cnfn convert_float8_rte(float8);
4100float8 __ovld __cnfn convert_float8_rtz(float8);
4101float8 __ovld __cnfn convert_float8_rtp(float8);
4102float8 __ovld __cnfn convert_float8_rtn(float8);
4103float8 __ovld __cnfn convert_float8(float8);
4104char16 __ovld __cnfn convert_char16_rte(char16);
4105char16 __ovld __cnfn convert_char16_sat_rte(char16);
4106char16 __ovld __cnfn convert_char16_rtz(char16);
4107char16 __ovld __cnfn convert_char16_sat_rtz(char16);
4108char16 __ovld __cnfn convert_char16_rtp(char16);
4109char16 __ovld __cnfn convert_char16_sat_rtp(char16);
4110char16 __ovld __cnfn convert_char16_rtn(char16);
4111char16 __ovld __cnfn convert_char16_sat_rtn(char16);
4112char16 __ovld __cnfn convert_char16(char16);
4113char16 __ovld __cnfn convert_char16_sat(char16);
4114char16 __ovld __cnfn convert_char16_rte(uchar16);
4115char16 __ovld __cnfn convert_char16_sat_rte(uchar16);
4116char16 __ovld __cnfn convert_char16_rtz(uchar16);
4117char16 __ovld __cnfn convert_char16_sat_rtz(uchar16);
4118char16 __ovld __cnfn convert_char16_rtp(uchar16);
4119char16 __ovld __cnfn convert_char16_sat_rtp(uchar16);
4120char16 __ovld __cnfn convert_char16_rtn(uchar16);
4121char16 __ovld __cnfn convert_char16_sat_rtn(uchar16);
4122char16 __ovld __cnfn convert_char16(uchar16);
4123char16 __ovld __cnfn convert_char16_sat(uchar16);
4124char16 __ovld __cnfn convert_char16_rte(short16);
4125char16 __ovld __cnfn convert_char16_sat_rte(short16);
4126char16 __ovld __cnfn convert_char16_rtz(short16);
4127char16 __ovld __cnfn convert_char16_sat_rtz(short16);
4128char16 __ovld __cnfn convert_char16_rtp(short16);
4129char16 __ovld __cnfn convert_char16_sat_rtp(short16);
4130char16 __ovld __cnfn convert_char16_rtn(short16);
4131char16 __ovld __cnfn convert_char16_sat_rtn(short16);
4132char16 __ovld __cnfn convert_char16(short16);
4133char16 __ovld __cnfn convert_char16_sat(short16);
4134char16 __ovld __cnfn convert_char16_rte(ushort16);
4135char16 __ovld __cnfn convert_char16_sat_rte(ushort16);
4136char16 __ovld __cnfn convert_char16_rtz(ushort16);
4137char16 __ovld __cnfn convert_char16_sat_rtz(ushort16);
4138char16 __ovld __cnfn convert_char16_rtp(ushort16);
4139char16 __ovld __cnfn convert_char16_sat_rtp(ushort16);
4140char16 __ovld __cnfn convert_char16_rtn(ushort16);
4141char16 __ovld __cnfn convert_char16_sat_rtn(ushort16);
4142char16 __ovld __cnfn convert_char16(ushort16);
4143char16 __ovld __cnfn convert_char16_sat(ushort16);
4144char16 __ovld __cnfn convert_char16_rte(int16);
4145char16 __ovld __cnfn convert_char16_sat_rte(int16);
4146char16 __ovld __cnfn convert_char16_rtz(int16);
4147char16 __ovld __cnfn convert_char16_sat_rtz(int16);
4148char16 __ovld __cnfn convert_char16_rtp(int16);
4149char16 __ovld __cnfn convert_char16_sat_rtp(int16);
4150char16 __ovld __cnfn convert_char16_rtn(int16);
4151char16 __ovld __cnfn convert_char16_sat_rtn(int16);
4152char16 __ovld __cnfn convert_char16(int16);
4153char16 __ovld __cnfn convert_char16_sat(int16);
4154char16 __ovld __cnfn convert_char16_rte(uint16);
4155char16 __ovld __cnfn convert_char16_sat_rte(uint16);
4156char16 __ovld __cnfn convert_char16_rtz(uint16);
4157char16 __ovld __cnfn convert_char16_sat_rtz(uint16);
4158char16 __ovld __cnfn convert_char16_rtp(uint16);
4159char16 __ovld __cnfn convert_char16_sat_rtp(uint16);
4160char16 __ovld __cnfn convert_char16_rtn(uint16);
4161char16 __ovld __cnfn convert_char16_sat_rtn(uint16);
4162char16 __ovld __cnfn convert_char16(uint16);
4163char16 __ovld __cnfn convert_char16_sat(uint16);
4164char16 __ovld __cnfn convert_char16_rte(long16);
4165char16 __ovld __cnfn convert_char16_sat_rte(long16);
4166char16 __ovld __cnfn convert_char16_rtz(long16);
4167char16 __ovld __cnfn convert_char16_sat_rtz(long16);
4168char16 __ovld __cnfn convert_char16_rtp(long16);
4169char16 __ovld __cnfn convert_char16_sat_rtp(long16);
4170char16 __ovld __cnfn convert_char16_rtn(long16);
4171char16 __ovld __cnfn convert_char16_sat_rtn(long16);
4172char16 __ovld __cnfn convert_char16(long16);
4173char16 __ovld __cnfn convert_char16_sat(long16);
4174char16 __ovld __cnfn convert_char16_rte(ulong16);
4175char16 __ovld __cnfn convert_char16_sat_rte(ulong16);
4176char16 __ovld __cnfn convert_char16_rtz(ulong16);
4177char16 __ovld __cnfn convert_char16_sat_rtz(ulong16);
4178char16 __ovld __cnfn convert_char16_rtp(ulong16);
4179char16 __ovld __cnfn convert_char16_sat_rtp(ulong16);
4180char16 __ovld __cnfn convert_char16_rtn(ulong16);
4181char16 __ovld __cnfn convert_char16_sat_rtn(ulong16);
4182char16 __ovld __cnfn convert_char16(ulong16);
4183char16 __ovld __cnfn convert_char16_sat(ulong16);
4184char16 __ovld __cnfn convert_char16_rte(float16);
4185char16 __ovld __cnfn convert_char16_sat_rte(float16);
4186char16 __ovld __cnfn convert_char16_rtz(float16);
4187char16 __ovld __cnfn convert_char16_sat_rtz(float16);
4188char16 __ovld __cnfn convert_char16_rtp(float16);
4189char16 __ovld __cnfn convert_char16_sat_rtp(float16);
4190char16 __ovld __cnfn convert_char16_rtn(float16);
4191char16 __ovld __cnfn convert_char16_sat_rtn(float16);
4192char16 __ovld __cnfn convert_char16(float16);
4193char16 __ovld __cnfn convert_char16_sat(float16);
4194uchar16 __ovld __cnfn convert_uchar16_rte(char16);
4195uchar16 __ovld __cnfn convert_uchar16_sat_rte(char16);
4196uchar16 __ovld __cnfn convert_uchar16_rtz(char16);
4197uchar16 __ovld __cnfn convert_uchar16_sat_rtz(char16);
4198uchar16 __ovld __cnfn convert_uchar16_rtp(char16);
4199uchar16 __ovld __cnfn convert_uchar16_sat_rtp(char16);
4200uchar16 __ovld __cnfn convert_uchar16_rtn(char16);
4201uchar16 __ovld __cnfn convert_uchar16_sat_rtn(char16);
4202uchar16 __ovld __cnfn convert_uchar16(char16);
4203uchar16 __ovld __cnfn convert_uchar16_sat(char16);
4204uchar16 __ovld __cnfn convert_uchar16_rte(uchar16);
4205uchar16 __ovld __cnfn convert_uchar16_sat_rte(uchar16);
4206uchar16 __ovld __cnfn convert_uchar16_rtz(uchar16);
4207uchar16 __ovld __cnfn convert_uchar16_sat_rtz(uchar16);
4208uchar16 __ovld __cnfn convert_uchar16_rtp(uchar16);
4209uchar16 __ovld __cnfn convert_uchar16_sat_rtp(uchar16);
4210uchar16 __ovld __cnfn convert_uchar16_rtn(uchar16);
4211uchar16 __ovld __cnfn convert_uchar16_sat_rtn(uchar16);
4212uchar16 __ovld __cnfn convert_uchar16(uchar16);
4213uchar16 __ovld __cnfn convert_uchar16_sat(uchar16);
4214uchar16 __ovld __cnfn convert_uchar16_rte(short16);
4215uchar16 __ovld __cnfn convert_uchar16_sat_rte(short16);
4216uchar16 __ovld __cnfn convert_uchar16_rtz(short16);
4217uchar16 __ovld __cnfn convert_uchar16_sat_rtz(short16);
4218uchar16 __ovld __cnfn convert_uchar16_rtp(short16);
4219uchar16 __ovld __cnfn convert_uchar16_sat_rtp(short16);
4220uchar16 __ovld __cnfn convert_uchar16_rtn(short16);
4221uchar16 __ovld __cnfn convert_uchar16_sat_rtn(short16);
4222uchar16 __ovld __cnfn convert_uchar16(short16);
4223uchar16 __ovld __cnfn convert_uchar16_sat(short16);
4224uchar16 __ovld __cnfn convert_uchar16_rte(ushort16);
4225uchar16 __ovld __cnfn convert_uchar16_sat_rte(ushort16);
4226uchar16 __ovld __cnfn convert_uchar16_rtz(ushort16);
4227uchar16 __ovld __cnfn convert_uchar16_sat_rtz(ushort16);
4228uchar16 __ovld __cnfn convert_uchar16_rtp(ushort16);
4229uchar16 __ovld __cnfn convert_uchar16_sat_rtp(ushort16);
4230uchar16 __ovld __cnfn convert_uchar16_rtn(ushort16);
4231uchar16 __ovld __cnfn convert_uchar16_sat_rtn(ushort16);
4232uchar16 __ovld __cnfn convert_uchar16(ushort16);
4233uchar16 __ovld __cnfn convert_uchar16_sat(ushort16);
4234uchar16 __ovld __cnfn convert_uchar16_rte(int16);
4235uchar16 __ovld __cnfn convert_uchar16_sat_rte(int16);
4236uchar16 __ovld __cnfn convert_uchar16_rtz(int16);
4237uchar16 __ovld __cnfn convert_uchar16_sat_rtz(int16);
4238uchar16 __ovld __cnfn convert_uchar16_rtp(int16);
4239uchar16 __ovld __cnfn convert_uchar16_sat_rtp(int16);
4240uchar16 __ovld __cnfn convert_uchar16_rtn(int16);
4241uchar16 __ovld __cnfn convert_uchar16_sat_rtn(int16);
4242uchar16 __ovld __cnfn convert_uchar16(int16);
4243uchar16 __ovld __cnfn convert_uchar16_sat(int16);
4244uchar16 __ovld __cnfn convert_uchar16_rte(uint16);
4245uchar16 __ovld __cnfn convert_uchar16_sat_rte(uint16);
4246uchar16 __ovld __cnfn convert_uchar16_rtz(uint16);
4247uchar16 __ovld __cnfn convert_uchar16_sat_rtz(uint16);
4248uchar16 __ovld __cnfn convert_uchar16_rtp(uint16);
4249uchar16 __ovld __cnfn convert_uchar16_sat_rtp(uint16);
4250uchar16 __ovld __cnfn convert_uchar16_rtn(uint16);
4251uchar16 __ovld __cnfn convert_uchar16_sat_rtn(uint16);
4252uchar16 __ovld __cnfn convert_uchar16(uint16);
4253uchar16 __ovld __cnfn convert_uchar16_sat(uint16);
4254uchar16 __ovld __cnfn convert_uchar16_rte(long16);
4255uchar16 __ovld __cnfn convert_uchar16_sat_rte(long16);
4256uchar16 __ovld __cnfn convert_uchar16_rtz(long16);
4257uchar16 __ovld __cnfn convert_uchar16_sat_rtz(long16);
4258uchar16 __ovld __cnfn convert_uchar16_rtp(long16);
4259uchar16 __ovld __cnfn convert_uchar16_sat_rtp(long16);
4260uchar16 __ovld __cnfn convert_uchar16_rtn(long16);
4261uchar16 __ovld __cnfn convert_uchar16_sat_rtn(long16);
4262uchar16 __ovld __cnfn convert_uchar16(long16);
4263uchar16 __ovld __cnfn convert_uchar16_sat(long16);
4264uchar16 __ovld __cnfn convert_uchar16_rte(ulong16);
4265uchar16 __ovld __cnfn convert_uchar16_sat_rte(ulong16);
4266uchar16 __ovld __cnfn convert_uchar16_rtz(ulong16);
4267uchar16 __ovld __cnfn convert_uchar16_sat_rtz(ulong16);
4268uchar16 __ovld __cnfn convert_uchar16_rtp(ulong16);
4269uchar16 __ovld __cnfn convert_uchar16_sat_rtp(ulong16);
4270uchar16 __ovld __cnfn convert_uchar16_rtn(ulong16);
4271uchar16 __ovld __cnfn convert_uchar16_sat_rtn(ulong16);
4272uchar16 __ovld __cnfn convert_uchar16(ulong16);
4273uchar16 __ovld __cnfn convert_uchar16_sat(ulong16);
4274uchar16 __ovld __cnfn convert_uchar16_rte(float16);
4275uchar16 __ovld __cnfn convert_uchar16_sat_rte(float16);
4276uchar16 __ovld __cnfn convert_uchar16_rtz(float16);
4277uchar16 __ovld __cnfn convert_uchar16_sat_rtz(float16);
4278uchar16 __ovld __cnfn convert_uchar16_rtp(float16);
4279uchar16 __ovld __cnfn convert_uchar16_sat_rtp(float16);
4280uchar16 __ovld __cnfn convert_uchar16_rtn(float16);
4281uchar16 __ovld __cnfn convert_uchar16_sat_rtn(float16);
4282uchar16 __ovld __cnfn convert_uchar16(float16);
4283uchar16 __ovld __cnfn convert_uchar16_sat(float16);
4284short16 __ovld __cnfn convert_short16_rte(char16);
4285short16 __ovld __cnfn convert_short16_sat_rte(char16);
4286short16 __ovld __cnfn convert_short16_rtz(char16);
4287short16 __ovld __cnfn convert_short16_sat_rtz(char16);
4288short16 __ovld __cnfn convert_short16_rtp(char16);
4289short16 __ovld __cnfn convert_short16_sat_rtp(char16);
4290short16 __ovld __cnfn convert_short16_rtn(char16);
4291short16 __ovld __cnfn convert_short16_sat_rtn(char16);
4292short16 __ovld __cnfn convert_short16(char16);
4293short16 __ovld __cnfn convert_short16_sat(char16);
4294short16 __ovld __cnfn convert_short16_rte(uchar16);
4295short16 __ovld __cnfn convert_short16_sat_rte(uchar16);
4296short16 __ovld __cnfn convert_short16_rtz(uchar16);
4297short16 __ovld __cnfn convert_short16_sat_rtz(uchar16);
4298short16 __ovld __cnfn convert_short16_rtp(uchar16);
4299short16 __ovld __cnfn convert_short16_sat_rtp(uchar16);
4300short16 __ovld __cnfn convert_short16_rtn(uchar16);
4301short16 __ovld __cnfn convert_short16_sat_rtn(uchar16);
4302short16 __ovld __cnfn convert_short16(uchar16);
4303short16 __ovld __cnfn convert_short16_sat(uchar16);
4304short16 __ovld __cnfn convert_short16_rte(short16);
4305short16 __ovld __cnfn convert_short16_sat_rte(short16);
4306short16 __ovld __cnfn convert_short16_rtz(short16);
4307short16 __ovld __cnfn convert_short16_sat_rtz(short16);
4308short16 __ovld __cnfn convert_short16_rtp(short16);
4309short16 __ovld __cnfn convert_short16_sat_rtp(short16);
4310short16 __ovld __cnfn convert_short16_rtn(short16);
4311short16 __ovld __cnfn convert_short16_sat_rtn(short16);
4312short16 __ovld __cnfn convert_short16(short16);
4313short16 __ovld __cnfn convert_short16_sat(short16);
4314short16 __ovld __cnfn convert_short16_rte(ushort16);
4315short16 __ovld __cnfn convert_short16_sat_rte(ushort16);
4316short16 __ovld __cnfn convert_short16_rtz(ushort16);
4317short16 __ovld __cnfn convert_short16_sat_rtz(ushort16);
4318short16 __ovld __cnfn convert_short16_rtp(ushort16);
4319short16 __ovld __cnfn convert_short16_sat_rtp(ushort16);
4320short16 __ovld __cnfn convert_short16_rtn(ushort16);
4321short16 __ovld __cnfn convert_short16_sat_rtn(ushort16);
4322short16 __ovld __cnfn convert_short16(ushort16);
4323short16 __ovld __cnfn convert_short16_sat(ushort16);
4324short16 __ovld __cnfn convert_short16_rte(int16);
4325short16 __ovld __cnfn convert_short16_sat_rte(int16);
4326short16 __ovld __cnfn convert_short16_rtz(int16);
4327short16 __ovld __cnfn convert_short16_sat_rtz(int16);
4328short16 __ovld __cnfn convert_short16_rtp(int16);
4329short16 __ovld __cnfn convert_short16_sat_rtp(int16);
4330short16 __ovld __cnfn convert_short16_rtn(int16);
4331short16 __ovld __cnfn convert_short16_sat_rtn(int16);
4332short16 __ovld __cnfn convert_short16(int16);
4333short16 __ovld __cnfn convert_short16_sat(int16);
4334short16 __ovld __cnfn convert_short16_rte(uint16);
4335short16 __ovld __cnfn convert_short16_sat_rte(uint16);
4336short16 __ovld __cnfn convert_short16_rtz(uint16);
4337short16 __ovld __cnfn convert_short16_sat_rtz(uint16);
4338short16 __ovld __cnfn convert_short16_rtp(uint16);
4339short16 __ovld __cnfn convert_short16_sat_rtp(uint16);
4340short16 __ovld __cnfn convert_short16_rtn(uint16);
4341short16 __ovld __cnfn convert_short16_sat_rtn(uint16);
4342short16 __ovld __cnfn convert_short16(uint16);
4343short16 __ovld __cnfn convert_short16_sat(uint16);
4344short16 __ovld __cnfn convert_short16_rte(long16);
4345short16 __ovld __cnfn convert_short16_sat_rte(long16);
4346short16 __ovld __cnfn convert_short16_rtz(long16);
4347short16 __ovld __cnfn convert_short16_sat_rtz(long16);
4348short16 __ovld __cnfn convert_short16_rtp(long16);
4349short16 __ovld __cnfn convert_short16_sat_rtp(long16);
4350short16 __ovld __cnfn convert_short16_rtn(long16);
4351short16 __ovld __cnfn convert_short16_sat_rtn(long16);
4352short16 __ovld __cnfn convert_short16(long16);
4353short16 __ovld __cnfn convert_short16_sat(long16);
4354short16 __ovld __cnfn convert_short16_rte(ulong16);
4355short16 __ovld __cnfn convert_short16_sat_rte(ulong16);
4356short16 __ovld __cnfn convert_short16_rtz(ulong16);
4357short16 __ovld __cnfn convert_short16_sat_rtz(ulong16);
4358short16 __ovld __cnfn convert_short16_rtp(ulong16);
4359short16 __ovld __cnfn convert_short16_sat_rtp(ulong16);
4360short16 __ovld __cnfn convert_short16_rtn(ulong16);
4361short16 __ovld __cnfn convert_short16_sat_rtn(ulong16);
4362short16 __ovld __cnfn convert_short16(ulong16);
4363short16 __ovld __cnfn convert_short16_sat(ulong16);
4364short16 __ovld __cnfn convert_short16_rte(float16);
4365short16 __ovld __cnfn convert_short16_sat_rte(float16);
4366short16 __ovld __cnfn convert_short16_rtz(float16);
4367short16 __ovld __cnfn convert_short16_sat_rtz(float16);
4368short16 __ovld __cnfn convert_short16_rtp(float16);
4369short16 __ovld __cnfn convert_short16_sat_rtp(float16);
4370short16 __ovld __cnfn convert_short16_rtn(float16);
4371short16 __ovld __cnfn convert_short16_sat_rtn(float16);
4372short16 __ovld __cnfn convert_short16(float16);
4373short16 __ovld __cnfn convert_short16_sat(float16);
4374ushort16 __ovld __cnfn convert_ushort16_rte(char16);
4375ushort16 __ovld __cnfn convert_ushort16_sat_rte(char16);
4376ushort16 __ovld __cnfn convert_ushort16_rtz(char16);
4377ushort16 __ovld __cnfn convert_ushort16_sat_rtz(char16);
4378ushort16 __ovld __cnfn convert_ushort16_rtp(char16);
4379ushort16 __ovld __cnfn convert_ushort16_sat_rtp(char16);
4380ushort16 __ovld __cnfn convert_ushort16_rtn(char16);
4381ushort16 __ovld __cnfn convert_ushort16_sat_rtn(char16);
4382ushort16 __ovld __cnfn convert_ushort16(char16);
4383ushort16 __ovld __cnfn convert_ushort16_sat(char16);
4384ushort16 __ovld __cnfn convert_ushort16_rte(uchar16);
4385ushort16 __ovld __cnfn convert_ushort16_sat_rte(uchar16);
4386ushort16 __ovld __cnfn convert_ushort16_rtz(uchar16);
4387ushort16 __ovld __cnfn convert_ushort16_sat_rtz(uchar16);
4388ushort16 __ovld __cnfn convert_ushort16_rtp(uchar16);
4389ushort16 __ovld __cnfn convert_ushort16_sat_rtp(uchar16);
4390ushort16 __ovld __cnfn convert_ushort16_rtn(uchar16);
4391ushort16 __ovld __cnfn convert_ushort16_sat_rtn(uchar16);
4392ushort16 __ovld __cnfn convert_ushort16(uchar16);
4393ushort16 __ovld __cnfn convert_ushort16_sat(uchar16);
4394ushort16 __ovld __cnfn convert_ushort16_rte(short16);
4395ushort16 __ovld __cnfn convert_ushort16_sat_rte(short16);
4396ushort16 __ovld __cnfn convert_ushort16_rtz(short16);
4397ushort16 __ovld __cnfn convert_ushort16_sat_rtz(short16);
4398ushort16 __ovld __cnfn convert_ushort16_rtp(short16);
4399ushort16 __ovld __cnfn convert_ushort16_sat_rtp(short16);
4400ushort16 __ovld __cnfn convert_ushort16_rtn(short16);
4401ushort16 __ovld __cnfn convert_ushort16_sat_rtn(short16);
4402ushort16 __ovld __cnfn convert_ushort16(short16);
4403ushort16 __ovld __cnfn convert_ushort16_sat(short16);
4404ushort16 __ovld __cnfn convert_ushort16_rte(ushort16);
4405ushort16 __ovld __cnfn convert_ushort16_sat_rte(ushort16);
4406ushort16 __ovld __cnfn convert_ushort16_rtz(ushort16);
4407ushort16 __ovld __cnfn convert_ushort16_sat_rtz(ushort16);
4408ushort16 __ovld __cnfn convert_ushort16_rtp(ushort16);
4409ushort16 __ovld __cnfn convert_ushort16_sat_rtp(ushort16);
4410ushort16 __ovld __cnfn convert_ushort16_rtn(ushort16);
4411ushort16 __ovld __cnfn convert_ushort16_sat_rtn(ushort16);
4412ushort16 __ovld __cnfn convert_ushort16(ushort16);
4413ushort16 __ovld __cnfn convert_ushort16_sat(ushort16);
4414ushort16 __ovld __cnfn convert_ushort16_rte(int16);
4415ushort16 __ovld __cnfn convert_ushort16_sat_rte(int16);
4416ushort16 __ovld __cnfn convert_ushort16_rtz(int16);
4417ushort16 __ovld __cnfn convert_ushort16_sat_rtz(int16);
4418ushort16 __ovld __cnfn convert_ushort16_rtp(int16);
4419ushort16 __ovld __cnfn convert_ushort16_sat_rtp(int16);
4420ushort16 __ovld __cnfn convert_ushort16_rtn(int16);
4421ushort16 __ovld __cnfn convert_ushort16_sat_rtn(int16);
4422ushort16 __ovld __cnfn convert_ushort16(int16);
4423ushort16 __ovld __cnfn convert_ushort16_sat(int16);
4424ushort16 __ovld __cnfn convert_ushort16_rte(uint16);
4425ushort16 __ovld __cnfn convert_ushort16_sat_rte(uint16);
4426ushort16 __ovld __cnfn convert_ushort16_rtz(uint16);
4427ushort16 __ovld __cnfn convert_ushort16_sat_rtz(uint16);
4428ushort16 __ovld __cnfn convert_ushort16_rtp(uint16);
4429ushort16 __ovld __cnfn convert_ushort16_sat_rtp(uint16);
4430ushort16 __ovld __cnfn convert_ushort16_rtn(uint16);
4431ushort16 __ovld __cnfn convert_ushort16_sat_rtn(uint16);
4432ushort16 __ovld __cnfn convert_ushort16(uint16);
4433ushort16 __ovld __cnfn convert_ushort16_sat(uint16);
4434ushort16 __ovld __cnfn convert_ushort16_rte(long16);
4435ushort16 __ovld __cnfn convert_ushort16_sat_rte(long16);
4436ushort16 __ovld __cnfn convert_ushort16_rtz(long16);
4437ushort16 __ovld __cnfn convert_ushort16_sat_rtz(long16);
4438ushort16 __ovld __cnfn convert_ushort16_rtp(long16);
4439ushort16 __ovld __cnfn convert_ushort16_sat_rtp(long16);
4440ushort16 __ovld __cnfn convert_ushort16_rtn(long16);
4441ushort16 __ovld __cnfn convert_ushort16_sat_rtn(long16);
4442ushort16 __ovld __cnfn convert_ushort16(long16);
4443ushort16 __ovld __cnfn convert_ushort16_sat(long16);
4444ushort16 __ovld __cnfn convert_ushort16_rte(ulong16);
4445ushort16 __ovld __cnfn convert_ushort16_sat_rte(ulong16);
4446ushort16 __ovld __cnfn convert_ushort16_rtz(ulong16);
4447ushort16 __ovld __cnfn convert_ushort16_sat_rtz(ulong16);
4448ushort16 __ovld __cnfn convert_ushort16_rtp(ulong16);
4449ushort16 __ovld __cnfn convert_ushort16_sat_rtp(ulong16);
4450ushort16 __ovld __cnfn convert_ushort16_rtn(ulong16);
4451ushort16 __ovld __cnfn convert_ushort16_sat_rtn(ulong16);
4452ushort16 __ovld __cnfn convert_ushort16(ulong16);
4453ushort16 __ovld __cnfn convert_ushort16_sat(ulong16);
4454ushort16 __ovld __cnfn convert_ushort16_rte(float16);
4455ushort16 __ovld __cnfn convert_ushort16_sat_rte(float16);
4456ushort16 __ovld __cnfn convert_ushort16_rtz(float16);
4457ushort16 __ovld __cnfn convert_ushort16_sat_rtz(float16);
4458ushort16 __ovld __cnfn convert_ushort16_rtp(float16);
4459ushort16 __ovld __cnfn convert_ushort16_sat_rtp(float16);
4460ushort16 __ovld __cnfn convert_ushort16_rtn(float16);
4461ushort16 __ovld __cnfn convert_ushort16_sat_rtn(float16);
4462ushort16 __ovld __cnfn convert_ushort16(float16);
4463ushort16 __ovld __cnfn convert_ushort16_sat(float16);
4464int16 __ovld __cnfn convert_int16_rte(char16);
4465int16 __ovld __cnfn convert_int16_sat_rte(char16);
4466int16 __ovld __cnfn convert_int16_rtz(char16);
4467int16 __ovld __cnfn convert_int16_sat_rtz(char16);
4468int16 __ovld __cnfn convert_int16_rtp(char16);
4469int16 __ovld __cnfn convert_int16_sat_rtp(char16);
4470int16 __ovld __cnfn convert_int16_rtn(char16);
4471int16 __ovld __cnfn convert_int16_sat_rtn(char16);
4472int16 __ovld __cnfn convert_int16(char16);
4473int16 __ovld __cnfn convert_int16_sat(char16);
4474int16 __ovld __cnfn convert_int16_rte(uchar16);
4475int16 __ovld __cnfn convert_int16_sat_rte(uchar16);
4476int16 __ovld __cnfn convert_int16_rtz(uchar16);
4477int16 __ovld __cnfn convert_int16_sat_rtz(uchar16);
4478int16 __ovld __cnfn convert_int16_rtp(uchar16);
4479int16 __ovld __cnfn convert_int16_sat_rtp(uchar16);
4480int16 __ovld __cnfn convert_int16_rtn(uchar16);
4481int16 __ovld __cnfn convert_int16_sat_rtn(uchar16);
4482int16 __ovld __cnfn convert_int16(uchar16);
4483int16 __ovld __cnfn convert_int16_sat(uchar16);
4484int16 __ovld __cnfn convert_int16_rte(short16);
4485int16 __ovld __cnfn convert_int16_sat_rte(short16);
4486int16 __ovld __cnfn convert_int16_rtz(short16);
4487int16 __ovld __cnfn convert_int16_sat_rtz(short16);
4488int16 __ovld __cnfn convert_int16_rtp(short16);
4489int16 __ovld __cnfn convert_int16_sat_rtp(short16);
4490int16 __ovld __cnfn convert_int16_rtn(short16);
4491int16 __ovld __cnfn convert_int16_sat_rtn(short16);
4492int16 __ovld __cnfn convert_int16(short16);
4493int16 __ovld __cnfn convert_int16_sat(short16);
4494int16 __ovld __cnfn convert_int16_rte(ushort16);
4495int16 __ovld __cnfn convert_int16_sat_rte(ushort16);
4496int16 __ovld __cnfn convert_int16_rtz(ushort16);
4497int16 __ovld __cnfn convert_int16_sat_rtz(ushort16);
4498int16 __ovld __cnfn convert_int16_rtp(ushort16);
4499int16 __ovld __cnfn convert_int16_sat_rtp(ushort16);
4500int16 __ovld __cnfn convert_int16_rtn(ushort16);
4501int16 __ovld __cnfn convert_int16_sat_rtn(ushort16);
4502int16 __ovld __cnfn convert_int16(ushort16);
4503int16 __ovld __cnfn convert_int16_sat(ushort16);
4504int16 __ovld __cnfn convert_int16_rte(int16);
4505int16 __ovld __cnfn convert_int16_sat_rte(int16);
4506int16 __ovld __cnfn convert_int16_rtz(int16);
4507int16 __ovld __cnfn convert_int16_sat_rtz(int16);
4508int16 __ovld __cnfn convert_int16_rtp(int16);
4509int16 __ovld __cnfn convert_int16_sat_rtp(int16);
4510int16 __ovld __cnfn convert_int16_rtn(int16);
4511int16 __ovld __cnfn convert_int16_sat_rtn(int16);
4512int16 __ovld __cnfn convert_int16(int16);
4513int16 __ovld __cnfn convert_int16_sat(int16);
4514int16 __ovld __cnfn convert_int16_rte(uint16);
4515int16 __ovld __cnfn convert_int16_sat_rte(uint16);
4516int16 __ovld __cnfn convert_int16_rtz(uint16);
4517int16 __ovld __cnfn convert_int16_sat_rtz(uint16);
4518int16 __ovld __cnfn convert_int16_rtp(uint16);
4519int16 __ovld __cnfn convert_int16_sat_rtp(uint16);
4520int16 __ovld __cnfn convert_int16_rtn(uint16);
4521int16 __ovld __cnfn convert_int16_sat_rtn(uint16);
4522int16 __ovld __cnfn convert_int16(uint16);
4523int16 __ovld __cnfn convert_int16_sat(uint16);
4524int16 __ovld __cnfn convert_int16_rte(long16);
4525int16 __ovld __cnfn convert_int16_sat_rte(long16);
4526int16 __ovld __cnfn convert_int16_rtz(long16);
4527int16 __ovld __cnfn convert_int16_sat_rtz(long16);
4528int16 __ovld __cnfn convert_int16_rtp(long16);
4529int16 __ovld __cnfn convert_int16_sat_rtp(long16);
4530int16 __ovld __cnfn convert_int16_rtn(long16);
4531int16 __ovld __cnfn convert_int16_sat_rtn(long16);
4532int16 __ovld __cnfn convert_int16(long16);
4533int16 __ovld __cnfn convert_int16_sat(long16);
4534int16 __ovld __cnfn convert_int16_rte(ulong16);
4535int16 __ovld __cnfn convert_int16_sat_rte(ulong16);
4536int16 __ovld __cnfn convert_int16_rtz(ulong16);
4537int16 __ovld __cnfn convert_int16_sat_rtz(ulong16);
4538int16 __ovld __cnfn convert_int16_rtp(ulong16);
4539int16 __ovld __cnfn convert_int16_sat_rtp(ulong16);
4540int16 __ovld __cnfn convert_int16_rtn(ulong16);
4541int16 __ovld __cnfn convert_int16_sat_rtn(ulong16);
4542int16 __ovld __cnfn convert_int16(ulong16);
4543int16 __ovld __cnfn convert_int16_sat(ulong16);
4544int16 __ovld __cnfn convert_int16_rte(float16);
4545int16 __ovld __cnfn convert_int16_sat_rte(float16);
4546int16 __ovld __cnfn convert_int16_rtz(float16);
4547int16 __ovld __cnfn convert_int16_sat_rtz(float16);
4548int16 __ovld __cnfn convert_int16_rtp(float16);
4549int16 __ovld __cnfn convert_int16_sat_rtp(float16);
4550int16 __ovld __cnfn convert_int16_rtn(float16);
4551int16 __ovld __cnfn convert_int16_sat_rtn(float16);
4552int16 __ovld __cnfn convert_int16(float16);
4553int16 __ovld __cnfn convert_int16_sat(float16);
4554uint16 __ovld __cnfn convert_uint16_rte(char16);
4555uint16 __ovld __cnfn convert_uint16_sat_rte(char16);
4556uint16 __ovld __cnfn convert_uint16_rtz(char16);
4557uint16 __ovld __cnfn convert_uint16_sat_rtz(char16);
4558uint16 __ovld __cnfn convert_uint16_rtp(char16);
4559uint16 __ovld __cnfn convert_uint16_sat_rtp(char16);
4560uint16 __ovld __cnfn convert_uint16_rtn(char16);
4561uint16 __ovld __cnfn convert_uint16_sat_rtn(char16);
4562uint16 __ovld __cnfn convert_uint16(char16);
4563uint16 __ovld __cnfn convert_uint16_sat(char16);
4564uint16 __ovld __cnfn convert_uint16_rte(uchar16);
4565uint16 __ovld __cnfn convert_uint16_sat_rte(uchar16);
4566uint16 __ovld __cnfn convert_uint16_rtz(uchar16);
4567uint16 __ovld __cnfn convert_uint16_sat_rtz(uchar16);
4568uint16 __ovld __cnfn convert_uint16_rtp(uchar16);
4569uint16 __ovld __cnfn convert_uint16_sat_rtp(uchar16);
4570uint16 __ovld __cnfn convert_uint16_rtn(uchar16);
4571uint16 __ovld __cnfn convert_uint16_sat_rtn(uchar16);
4572uint16 __ovld __cnfn convert_uint16(uchar16);
4573uint16 __ovld __cnfn convert_uint16_sat(uchar16);
4574uint16 __ovld __cnfn convert_uint16_rte(short16);
4575uint16 __ovld __cnfn convert_uint16_sat_rte(short16);
4576uint16 __ovld __cnfn convert_uint16_rtz(short16);
4577uint16 __ovld __cnfn convert_uint16_sat_rtz(short16);
4578uint16 __ovld __cnfn convert_uint16_rtp(short16);
4579uint16 __ovld __cnfn convert_uint16_sat_rtp(short16);
4580uint16 __ovld __cnfn convert_uint16_rtn(short16);
4581uint16 __ovld __cnfn convert_uint16_sat_rtn(short16);
4582uint16 __ovld __cnfn convert_uint16(short16);
4583uint16 __ovld __cnfn convert_uint16_sat(short16);
4584uint16 __ovld __cnfn convert_uint16_rte(ushort16);
4585uint16 __ovld __cnfn convert_uint16_sat_rte(ushort16);
4586uint16 __ovld __cnfn convert_uint16_rtz(ushort16);
4587uint16 __ovld __cnfn convert_uint16_sat_rtz(ushort16);
4588uint16 __ovld __cnfn convert_uint16_rtp(ushort16);
4589uint16 __ovld __cnfn convert_uint16_sat_rtp(ushort16);
4590uint16 __ovld __cnfn convert_uint16_rtn(ushort16);
4591uint16 __ovld __cnfn convert_uint16_sat_rtn(ushort16);
4592uint16 __ovld __cnfn convert_uint16(ushort16);
4593uint16 __ovld __cnfn convert_uint16_sat(ushort16);
4594uint16 __ovld __cnfn convert_uint16_rte(int16);
4595uint16 __ovld __cnfn convert_uint16_sat_rte(int16);
4596uint16 __ovld __cnfn convert_uint16_rtz(int16);
4597uint16 __ovld __cnfn convert_uint16_sat_rtz(int16);
4598uint16 __ovld __cnfn convert_uint16_rtp(int16);
4599uint16 __ovld __cnfn convert_uint16_sat_rtp(int16);
4600uint16 __ovld __cnfn convert_uint16_rtn(int16);
4601uint16 __ovld __cnfn convert_uint16_sat_rtn(int16);
4602uint16 __ovld __cnfn convert_uint16(int16);
4603uint16 __ovld __cnfn convert_uint16_sat(int16);
4604uint16 __ovld __cnfn convert_uint16_rte(uint16);
4605uint16 __ovld __cnfn convert_uint16_sat_rte(uint16);
4606uint16 __ovld __cnfn convert_uint16_rtz(uint16);
4607uint16 __ovld __cnfn convert_uint16_sat_rtz(uint16);
4608uint16 __ovld __cnfn convert_uint16_rtp(uint16);
4609uint16 __ovld __cnfn convert_uint16_sat_rtp(uint16);
4610uint16 __ovld __cnfn convert_uint16_rtn(uint16);
4611uint16 __ovld __cnfn convert_uint16_sat_rtn(uint16);
4612uint16 __ovld __cnfn convert_uint16(uint16);
4613uint16 __ovld __cnfn convert_uint16_sat(uint16);
4614uint16 __ovld __cnfn convert_uint16_rte(long16);
4615uint16 __ovld __cnfn convert_uint16_sat_rte(long16);
4616uint16 __ovld __cnfn convert_uint16_rtz(long16);
4617uint16 __ovld __cnfn convert_uint16_sat_rtz(long16);
4618uint16 __ovld __cnfn convert_uint16_rtp(long16);
4619uint16 __ovld __cnfn convert_uint16_sat_rtp(long16);
4620uint16 __ovld __cnfn convert_uint16_rtn(long16);
4621uint16 __ovld __cnfn convert_uint16_sat_rtn(long16);
4622uint16 __ovld __cnfn convert_uint16(long16);
4623uint16 __ovld __cnfn convert_uint16_sat(long16);
4624uint16 __ovld __cnfn convert_uint16_rte(ulong16);
4625uint16 __ovld __cnfn convert_uint16_sat_rte(ulong16);
4626uint16 __ovld __cnfn convert_uint16_rtz(ulong16);
4627uint16 __ovld __cnfn convert_uint16_sat_rtz(ulong16);
4628uint16 __ovld __cnfn convert_uint16_rtp(ulong16);
4629uint16 __ovld __cnfn convert_uint16_sat_rtp(ulong16);
4630uint16 __ovld __cnfn convert_uint16_rtn(ulong16);
4631uint16 __ovld __cnfn convert_uint16_sat_rtn(ulong16);
4632uint16 __ovld __cnfn convert_uint16(ulong16);
4633uint16 __ovld __cnfn convert_uint16_sat(ulong16);
4634uint16 __ovld __cnfn convert_uint16_rte(float16);
4635uint16 __ovld __cnfn convert_uint16_sat_rte(float16);
4636uint16 __ovld __cnfn convert_uint16_rtz(float16);
4637uint16 __ovld __cnfn convert_uint16_sat_rtz(float16);
4638uint16 __ovld __cnfn convert_uint16_rtp(float16);
4639uint16 __ovld __cnfn convert_uint16_sat_rtp(float16);
4640uint16 __ovld __cnfn convert_uint16_rtn(float16);
4641uint16 __ovld __cnfn convert_uint16_sat_rtn(float16);
4642uint16 __ovld __cnfn convert_uint16(float16);
4643uint16 __ovld __cnfn convert_uint16_sat(float16);
4644long16 __ovld __cnfn convert_long16_rte(char16);
4645long16 __ovld __cnfn convert_long16_sat_rte(char16);
4646long16 __ovld __cnfn convert_long16_rtz(char16);
4647long16 __ovld __cnfn convert_long16_sat_rtz(char16);
4648long16 __ovld __cnfn convert_long16_rtp(char16);
4649long16 __ovld __cnfn convert_long16_sat_rtp(char16);
4650long16 __ovld __cnfn convert_long16_rtn(char16);
4651long16 __ovld __cnfn convert_long16_sat_rtn(char16);
4652long16 __ovld __cnfn convert_long16(char16);
4653long16 __ovld __cnfn convert_long16_sat(char16);
4654long16 __ovld __cnfn convert_long16_rte(uchar16);
4655long16 __ovld __cnfn convert_long16_sat_rte(uchar16);
4656long16 __ovld __cnfn convert_long16_rtz(uchar16);
4657long16 __ovld __cnfn convert_long16_sat_rtz(uchar16);
4658long16 __ovld __cnfn convert_long16_rtp(uchar16);
4659long16 __ovld __cnfn convert_long16_sat_rtp(uchar16);
4660long16 __ovld __cnfn convert_long16_rtn(uchar16);
4661long16 __ovld __cnfn convert_long16_sat_rtn(uchar16);
4662long16 __ovld __cnfn convert_long16(uchar16);
4663long16 __ovld __cnfn convert_long16_sat(uchar16);
4664long16 __ovld __cnfn convert_long16_rte(short16);
4665long16 __ovld __cnfn convert_long16_sat_rte(short16);
4666long16 __ovld __cnfn convert_long16_rtz(short16);
4667long16 __ovld __cnfn convert_long16_sat_rtz(short16);
4668long16 __ovld __cnfn convert_long16_rtp(short16);
4669long16 __ovld __cnfn convert_long16_sat_rtp(short16);
4670long16 __ovld __cnfn convert_long16_rtn(short16);
4671long16 __ovld __cnfn convert_long16_sat_rtn(short16);
4672long16 __ovld __cnfn convert_long16(short16);
4673long16 __ovld __cnfn convert_long16_sat(short16);
4674long16 __ovld __cnfn convert_long16_rte(ushort16);
4675long16 __ovld __cnfn convert_long16_sat_rte(ushort16);
4676long16 __ovld __cnfn convert_long16_rtz(ushort16);
4677long16 __ovld __cnfn convert_long16_sat_rtz(ushort16);
4678long16 __ovld __cnfn convert_long16_rtp(ushort16);
4679long16 __ovld __cnfn convert_long16_sat_rtp(ushort16);
4680long16 __ovld __cnfn convert_long16_rtn(ushort16);
4681long16 __ovld __cnfn convert_long16_sat_rtn(ushort16);
4682long16 __ovld __cnfn convert_long16(ushort16);
4683long16 __ovld __cnfn convert_long16_sat(ushort16);
4684long16 __ovld __cnfn convert_long16_rte(int16);
4685long16 __ovld __cnfn convert_long16_sat_rte(int16);
4686long16 __ovld __cnfn convert_long16_rtz(int16);
4687long16 __ovld __cnfn convert_long16_sat_rtz(int16);
4688long16 __ovld __cnfn convert_long16_rtp(int16);
4689long16 __ovld __cnfn convert_long16_sat_rtp(int16);
4690long16 __ovld __cnfn convert_long16_rtn(int16);
4691long16 __ovld __cnfn convert_long16_sat_rtn(int16);
4692long16 __ovld __cnfn convert_long16(int16);
4693long16 __ovld __cnfn convert_long16_sat(int16);
4694long16 __ovld __cnfn convert_long16_rte(uint16);
4695long16 __ovld __cnfn convert_long16_sat_rte(uint16);
4696long16 __ovld __cnfn convert_long16_rtz(uint16);
4697long16 __ovld __cnfn convert_long16_sat_rtz(uint16);
4698long16 __ovld __cnfn convert_long16_rtp(uint16);
4699long16 __ovld __cnfn convert_long16_sat_rtp(uint16);
4700long16 __ovld __cnfn convert_long16_rtn(uint16);
4701long16 __ovld __cnfn convert_long16_sat_rtn(uint16);
4702long16 __ovld __cnfn convert_long16(uint16);
4703long16 __ovld __cnfn convert_long16_sat(uint16);
4704long16 __ovld __cnfn convert_long16_rte(long16);
4705long16 __ovld __cnfn convert_long16_sat_rte(long16);
4706long16 __ovld __cnfn convert_long16_rtz(long16);
4707long16 __ovld __cnfn convert_long16_sat_rtz(long16);
4708long16 __ovld __cnfn convert_long16_rtp(long16);
4709long16 __ovld __cnfn convert_long16_sat_rtp(long16);
4710long16 __ovld __cnfn convert_long16_rtn(long16);
4711long16 __ovld __cnfn convert_long16_sat_rtn(long16);
4712long16 __ovld __cnfn convert_long16(long16);
4713long16 __ovld __cnfn convert_long16_sat(long16);
4714long16 __ovld __cnfn convert_long16_rte(ulong16);
4715long16 __ovld __cnfn convert_long16_sat_rte(ulong16);
4716long16 __ovld __cnfn convert_long16_rtz(ulong16);
4717long16 __ovld __cnfn convert_long16_sat_rtz(ulong16);
4718long16 __ovld __cnfn convert_long16_rtp(ulong16);
4719long16 __ovld __cnfn convert_long16_sat_rtp(ulong16);
4720long16 __ovld __cnfn convert_long16_rtn(ulong16);
4721long16 __ovld __cnfn convert_long16_sat_rtn(ulong16);
4722long16 __ovld __cnfn convert_long16(ulong16);
4723long16 __ovld __cnfn convert_long16_sat(ulong16);
4724long16 __ovld __cnfn convert_long16_rte(float16);
4725long16 __ovld __cnfn convert_long16_sat_rte(float16);
4726long16 __ovld __cnfn convert_long16_rtz(float16);
4727long16 __ovld __cnfn convert_long16_sat_rtz(float16);
4728long16 __ovld __cnfn convert_long16_rtp(float16);
4729long16 __ovld __cnfn convert_long16_sat_rtp(float16);
4730long16 __ovld __cnfn convert_long16_rtn(float16);
4731long16 __ovld __cnfn convert_long16_sat_rtn(float16);
4732long16 __ovld __cnfn convert_long16(float16);
4733long16 __ovld __cnfn convert_long16_sat(float16);
4734ulong16 __ovld __cnfn convert_ulong16_rte(char16);
4735ulong16 __ovld __cnfn convert_ulong16_sat_rte(char16);
4736ulong16 __ovld __cnfn convert_ulong16_rtz(char16);
4737ulong16 __ovld __cnfn convert_ulong16_sat_rtz(char16);
4738ulong16 __ovld __cnfn convert_ulong16_rtp(char16);
4739ulong16 __ovld __cnfn convert_ulong16_sat_rtp(char16);
4740ulong16 __ovld __cnfn convert_ulong16_rtn(char16);
4741ulong16 __ovld __cnfn convert_ulong16_sat_rtn(char16);
4742ulong16 __ovld __cnfn convert_ulong16(char16);
4743ulong16 __ovld __cnfn convert_ulong16_sat(char16);
4744ulong16 __ovld __cnfn convert_ulong16_rte(uchar16);
4745ulong16 __ovld __cnfn convert_ulong16_sat_rte(uchar16);
4746ulong16 __ovld __cnfn convert_ulong16_rtz(uchar16);
4747ulong16 __ovld __cnfn convert_ulong16_sat_rtz(uchar16);
4748ulong16 __ovld __cnfn convert_ulong16_rtp(uchar16);
4749ulong16 __ovld __cnfn convert_ulong16_sat_rtp(uchar16);
4750ulong16 __ovld __cnfn convert_ulong16_rtn(uchar16);
4751ulong16 __ovld __cnfn convert_ulong16_sat_rtn(uchar16);
4752ulong16 __ovld __cnfn convert_ulong16(uchar16);
4753ulong16 __ovld __cnfn convert_ulong16_sat(uchar16);
4754ulong16 __ovld __cnfn convert_ulong16_rte(short16);
4755ulong16 __ovld __cnfn convert_ulong16_sat_rte(short16);
4756ulong16 __ovld __cnfn convert_ulong16_rtz(short16);
4757ulong16 __ovld __cnfn convert_ulong16_sat_rtz(short16);
4758ulong16 __ovld __cnfn convert_ulong16_rtp(short16);
4759ulong16 __ovld __cnfn convert_ulong16_sat_rtp(short16);
4760ulong16 __ovld __cnfn convert_ulong16_rtn(short16);
4761ulong16 __ovld __cnfn convert_ulong16_sat_rtn(short16);
4762ulong16 __ovld __cnfn convert_ulong16(short16);
4763ulong16 __ovld __cnfn convert_ulong16_sat(short16);
4764ulong16 __ovld __cnfn convert_ulong16_rte(ushort16);
4765ulong16 __ovld __cnfn convert_ulong16_sat_rte(ushort16);
4766ulong16 __ovld __cnfn convert_ulong16_rtz(ushort16);
4767ulong16 __ovld __cnfn convert_ulong16_sat_rtz(ushort16);
4768ulong16 __ovld __cnfn convert_ulong16_rtp(ushort16);
4769ulong16 __ovld __cnfn convert_ulong16_sat_rtp(ushort16);
4770ulong16 __ovld __cnfn convert_ulong16_rtn(ushort16);
4771ulong16 __ovld __cnfn convert_ulong16_sat_rtn(ushort16);
4772ulong16 __ovld __cnfn convert_ulong16(ushort16);
4773ulong16 __ovld __cnfn convert_ulong16_sat(ushort16);
4774ulong16 __ovld __cnfn convert_ulong16_rte(int16);
4775ulong16 __ovld __cnfn convert_ulong16_sat_rte(int16);
4776ulong16 __ovld __cnfn convert_ulong16_rtz(int16);
4777ulong16 __ovld __cnfn convert_ulong16_sat_rtz(int16);
4778ulong16 __ovld __cnfn convert_ulong16_rtp(int16);
4779ulong16 __ovld __cnfn convert_ulong16_sat_rtp(int16);
4780ulong16 __ovld __cnfn convert_ulong16_rtn(int16);
4781ulong16 __ovld __cnfn convert_ulong16_sat_rtn(int16);
4782ulong16 __ovld __cnfn convert_ulong16(int16);
4783ulong16 __ovld __cnfn convert_ulong16_sat(int16);
4784ulong16 __ovld __cnfn convert_ulong16_rte(uint16);
4785ulong16 __ovld __cnfn convert_ulong16_sat_rte(uint16);
4786ulong16 __ovld __cnfn convert_ulong16_rtz(uint16);
4787ulong16 __ovld __cnfn convert_ulong16_sat_rtz(uint16);
4788ulong16 __ovld __cnfn convert_ulong16_rtp(uint16);
4789ulong16 __ovld __cnfn convert_ulong16_sat_rtp(uint16);
4790ulong16 __ovld __cnfn convert_ulong16_rtn(uint16);
4791ulong16 __ovld __cnfn convert_ulong16_sat_rtn(uint16);
4792ulong16 __ovld __cnfn convert_ulong16(uint16);
4793ulong16 __ovld __cnfn convert_ulong16_sat(uint16);
4794ulong16 __ovld __cnfn convert_ulong16_rte(long16);
4795ulong16 __ovld __cnfn convert_ulong16_sat_rte(long16);
4796ulong16 __ovld __cnfn convert_ulong16_rtz(long16);
4797ulong16 __ovld __cnfn convert_ulong16_sat_rtz(long16);
4798ulong16 __ovld __cnfn convert_ulong16_rtp(long16);
4799ulong16 __ovld __cnfn convert_ulong16_sat_rtp(long16);
4800ulong16 __ovld __cnfn convert_ulong16_rtn(long16);
4801ulong16 __ovld __cnfn convert_ulong16_sat_rtn(long16);
4802ulong16 __ovld __cnfn convert_ulong16(long16);
4803ulong16 __ovld __cnfn convert_ulong16_sat(long16);
4804ulong16 __ovld __cnfn convert_ulong16_rte(ulong16);
4805ulong16 __ovld __cnfn convert_ulong16_sat_rte(ulong16);
4806ulong16 __ovld __cnfn convert_ulong16_rtz(ulong16);
4807ulong16 __ovld __cnfn convert_ulong16_sat_rtz(ulong16);
4808ulong16 __ovld __cnfn convert_ulong16_rtp(ulong16);
4809ulong16 __ovld __cnfn convert_ulong16_sat_rtp(ulong16);
4810ulong16 __ovld __cnfn convert_ulong16_rtn(ulong16);
4811ulong16 __ovld __cnfn convert_ulong16_sat_rtn(ulong16);
4812ulong16 __ovld __cnfn convert_ulong16(ulong16);
4813ulong16 __ovld __cnfn convert_ulong16_sat(ulong16);
4814ulong16 __ovld __cnfn convert_ulong16_rte(float16);
4815ulong16 __ovld __cnfn convert_ulong16_sat_rte(float16);
4816ulong16 __ovld __cnfn convert_ulong16_rtz(float16);
4817ulong16 __ovld __cnfn convert_ulong16_sat_rtz(float16);
4818ulong16 __ovld __cnfn convert_ulong16_rtp(float16);
4819ulong16 __ovld __cnfn convert_ulong16_sat_rtp(float16);
4820ulong16 __ovld __cnfn convert_ulong16_rtn(float16);
4821ulong16 __ovld __cnfn convert_ulong16_sat_rtn(float16);
4822ulong16 __ovld __cnfn convert_ulong16(float16);
4823ulong16 __ovld __cnfn convert_ulong16_sat(float16);
4824float16 __ovld __cnfn convert_float16_rte(char16);
4825float16 __ovld __cnfn convert_float16_rtz(char16);
4826float16 __ovld __cnfn convert_float16_rtp(char16);
4827float16 __ovld __cnfn convert_float16_rtn(char16);
4828float16 __ovld __cnfn convert_float16(char16);
4829float16 __ovld __cnfn convert_float16_rte(uchar16);
4830float16 __ovld __cnfn convert_float16_rtz(uchar16);
4831float16 __ovld __cnfn convert_float16_rtp(uchar16);
4832float16 __ovld __cnfn convert_float16_rtn(uchar16);
4833float16 __ovld __cnfn convert_float16(uchar16);
4834float16 __ovld __cnfn convert_float16_rte(short16);
4835float16 __ovld __cnfn convert_float16_rtz(short16);
4836float16 __ovld __cnfn convert_float16_rtp(short16);
4837float16 __ovld __cnfn convert_float16_rtn(short16);
4838float16 __ovld __cnfn convert_float16(short16);
4839float16 __ovld __cnfn convert_float16_rte(ushort16);
4840float16 __ovld __cnfn convert_float16_rtz(ushort16);
4841float16 __ovld __cnfn convert_float16_rtp(ushort16);
4842float16 __ovld __cnfn convert_float16_rtn(ushort16);
4843float16 __ovld __cnfn convert_float16(ushort16);
4844float16 __ovld __cnfn convert_float16_rte(int16);
4845float16 __ovld __cnfn convert_float16_rtz(int16);
4846float16 __ovld __cnfn convert_float16_rtp(int16);
4847float16 __ovld __cnfn convert_float16_rtn(int16);
4848float16 __ovld __cnfn convert_float16(int16);
4849float16 __ovld __cnfn convert_float16_rte(uint16);
4850float16 __ovld __cnfn convert_float16_rtz(uint16);
4851float16 __ovld __cnfn convert_float16_rtp(uint16);
4852float16 __ovld __cnfn convert_float16_rtn(uint16);
4853float16 __ovld __cnfn convert_float16(uint16);
4854float16 __ovld __cnfn convert_float16_rte(long16);
4855float16 __ovld __cnfn convert_float16_rtz(long16);
4856float16 __ovld __cnfn convert_float16_rtp(long16);
4857float16 __ovld __cnfn convert_float16_rtn(long16);
4858float16 __ovld __cnfn convert_float16(long16);
4859float16 __ovld __cnfn convert_float16_rte(ulong16);
4860float16 __ovld __cnfn convert_float16_rtz(ulong16);
4861float16 __ovld __cnfn convert_float16_rtp(ulong16);
4862float16 __ovld __cnfn convert_float16_rtn(ulong16);
4863float16 __ovld __cnfn convert_float16(ulong16);
4864float16 __ovld __cnfn convert_float16_rte(float16);
4865float16 __ovld __cnfn convert_float16_rtz(float16);
4866float16 __ovld __cnfn convert_float16_rtp(float16);
4867float16 __ovld __cnfn convert_float16_rtn(float16);
4868float16 __ovld __cnfn convert_float16(float16);
4869
4870// Conversions with double data type parameters or return value.
4871
4872#ifdef cl_khr_fp64
4873char __ovld __cnfn convert_char(double);
4874char __ovld __cnfn convert_char_rte(double);
4875char __ovld __cnfn convert_char_rtn(double);
4876char __ovld __cnfn convert_char_rtp(double);
4877char __ovld __cnfn convert_char_rtz(double);
4878char __ovld __cnfn convert_char_sat(double);
4879char __ovld __cnfn convert_char_sat_rte(double);
4880char __ovld __cnfn convert_char_sat_rtn(double);
4881char __ovld __cnfn convert_char_sat_rtp(double);
4882char __ovld __cnfn convert_char_sat_rtz(double);
4883char2 __ovld __cnfn convert_char2(double2);
4884char2 __ovld __cnfn convert_char2_rte(double2);
4885char2 __ovld __cnfn convert_char2_rtn(double2);
4886char2 __ovld __cnfn convert_char2_rtp(double2);
4887char2 __ovld __cnfn convert_char2_rtz(double2);
4888char2 __ovld __cnfn convert_char2_sat(double2);
4889char2 __ovld __cnfn convert_char2_sat_rte(double2);
4890char2 __ovld __cnfn convert_char2_sat_rtn(double2);
4891char2 __ovld __cnfn convert_char2_sat_rtp(double2);
4892char2 __ovld __cnfn convert_char2_sat_rtz(double2);
4893char3 __ovld __cnfn convert_char3(double3);
4894char3 __ovld __cnfn convert_char3_rte(double3);
4895char3 __ovld __cnfn convert_char3_rtn(double3);
4896char3 __ovld __cnfn convert_char3_rtp(double3);
4897char3 __ovld __cnfn convert_char3_rtz(double3);
4898char3 __ovld __cnfn convert_char3_sat(double3);
4899char3 __ovld __cnfn convert_char3_sat_rte(double3);
4900char3 __ovld __cnfn convert_char3_sat_rtn(double3);
4901char3 __ovld __cnfn convert_char3_sat_rtp(double3);
4902char3 __ovld __cnfn convert_char3_sat_rtz(double3);
4903char4 __ovld __cnfn convert_char4(double4);
4904char4 __ovld __cnfn convert_char4_rte(double4);
4905char4 __ovld __cnfn convert_char4_rtn(double4);
4906char4 __ovld __cnfn convert_char4_rtp(double4);
4907char4 __ovld __cnfn convert_char4_rtz(double4);
4908char4 __ovld __cnfn convert_char4_sat(double4);
4909char4 __ovld __cnfn convert_char4_sat_rte(double4);
4910char4 __ovld __cnfn convert_char4_sat_rtn(double4);
4911char4 __ovld __cnfn convert_char4_sat_rtp(double4);
4912char4 __ovld __cnfn convert_char4_sat_rtz(double4);
4913char8 __ovld __cnfn convert_char8(double8);
4914char8 __ovld __cnfn convert_char8_rte(double8);
4915char8 __ovld __cnfn convert_char8_rtn(double8);
4916char8 __ovld __cnfn convert_char8_rtp(double8);
4917char8 __ovld __cnfn convert_char8_rtz(double8);
4918char8 __ovld __cnfn convert_char8_sat(double8);
4919char8 __ovld __cnfn convert_char8_sat_rte(double8);
4920char8 __ovld __cnfn convert_char8_sat_rtn(double8);
4921char8 __ovld __cnfn convert_char8_sat_rtp(double8);
4922char8 __ovld __cnfn convert_char8_sat_rtz(double8);
4923char16 __ovld __cnfn convert_char16(double16);
4924char16 __ovld __cnfn convert_char16_rte(double16);
4925char16 __ovld __cnfn convert_char16_rtn(double16);
4926char16 __ovld __cnfn convert_char16_rtp(double16);
4927char16 __ovld __cnfn convert_char16_rtz(double16);
4928char16 __ovld __cnfn convert_char16_sat(double16);
4929char16 __ovld __cnfn convert_char16_sat_rte(double16);
4930char16 __ovld __cnfn convert_char16_sat_rtn(double16);
4931char16 __ovld __cnfn convert_char16_sat_rtp(double16);
4932char16 __ovld __cnfn convert_char16_sat_rtz(double16);
4933
4934uchar __ovld __cnfn convert_uchar(double);
4935uchar __ovld __cnfn convert_uchar_rte(double);
4936uchar __ovld __cnfn convert_uchar_rtn(double);
4937uchar __ovld __cnfn convert_uchar_rtp(double);
4938uchar __ovld __cnfn convert_uchar_rtz(double);
4939uchar __ovld __cnfn convert_uchar_sat(double);
4940uchar __ovld __cnfn convert_uchar_sat_rte(double);
4941uchar __ovld __cnfn convert_uchar_sat_rtn(double);
4942uchar __ovld __cnfn convert_uchar_sat_rtp(double);
4943uchar __ovld __cnfn convert_uchar_sat_rtz(double);
4944uchar2 __ovld __cnfn convert_uchar2(double2);
4945uchar2 __ovld __cnfn convert_uchar2_rte(double2);
4946uchar2 __ovld __cnfn convert_uchar2_rtn(double2);
4947uchar2 __ovld __cnfn convert_uchar2_rtp(double2);
4948uchar2 __ovld __cnfn convert_uchar2_rtz(double2);
4949uchar2 __ovld __cnfn convert_uchar2_sat(double2);
4950uchar2 __ovld __cnfn convert_uchar2_sat_rte(double2);
4951uchar2 __ovld __cnfn convert_uchar2_sat_rtn(double2);
4952uchar2 __ovld __cnfn convert_uchar2_sat_rtp(double2);
4953uchar2 __ovld __cnfn convert_uchar2_sat_rtz(double2);
4954uchar3 __ovld __cnfn convert_uchar3(double3);
4955uchar3 __ovld __cnfn convert_uchar3_rte(double3);
4956uchar3 __ovld __cnfn convert_uchar3_rtn(double3);
4957uchar3 __ovld __cnfn convert_uchar3_rtp(double3);
4958uchar3 __ovld __cnfn convert_uchar3_rtz(double3);
4959uchar3 __ovld __cnfn convert_uchar3_sat(double3);
4960uchar3 __ovld __cnfn convert_uchar3_sat_rte(double3);
4961uchar3 __ovld __cnfn convert_uchar3_sat_rtn(double3);
4962uchar3 __ovld __cnfn convert_uchar3_sat_rtp(double3);
4963uchar3 __ovld __cnfn convert_uchar3_sat_rtz(double3);
4964uchar4 __ovld __cnfn convert_uchar4(double4);
4965uchar4 __ovld __cnfn convert_uchar4_rte(double4);
4966uchar4 __ovld __cnfn convert_uchar4_rtn(double4);
4967uchar4 __ovld __cnfn convert_uchar4_rtp(double4);
4968uchar4 __ovld __cnfn convert_uchar4_rtz(double4);
4969uchar4 __ovld __cnfn convert_uchar4_sat(double4);
4970uchar4 __ovld __cnfn convert_uchar4_sat_rte(double4);
4971uchar4 __ovld __cnfn convert_uchar4_sat_rtn(double4);
4972uchar4 __ovld __cnfn convert_uchar4_sat_rtp(double4);
4973uchar4 __ovld __cnfn convert_uchar4_sat_rtz(double4);
4974uchar8 __ovld __cnfn convert_uchar8(double8);
4975uchar8 __ovld __cnfn convert_uchar8_rte(double8);
4976uchar8 __ovld __cnfn convert_uchar8_rtn(double8);
4977uchar8 __ovld __cnfn convert_uchar8_rtp(double8);
4978uchar8 __ovld __cnfn convert_uchar8_rtz(double8);
4979uchar8 __ovld __cnfn convert_uchar8_sat(double8);
4980uchar8 __ovld __cnfn convert_uchar8_sat_rte(double8);
4981uchar8 __ovld __cnfn convert_uchar8_sat_rtn(double8);
4982uchar8 __ovld __cnfn convert_uchar8_sat_rtp(double8);
4983uchar8 __ovld __cnfn convert_uchar8_sat_rtz(double8);
4984uchar16 __ovld __cnfn convert_uchar16(double16);
4985uchar16 __ovld __cnfn convert_uchar16_rte(double16);
4986uchar16 __ovld __cnfn convert_uchar16_rtn(double16);
4987uchar16 __ovld __cnfn convert_uchar16_rtp(double16);
4988uchar16 __ovld __cnfn convert_uchar16_rtz(double16);
4989uchar16 __ovld __cnfn convert_uchar16_sat(double16);
4990uchar16 __ovld __cnfn convert_uchar16_sat_rte(double16);
4991uchar16 __ovld __cnfn convert_uchar16_sat_rtn(double16);
4992uchar16 __ovld __cnfn convert_uchar16_sat_rtp(double16);
4993uchar16 __ovld __cnfn convert_uchar16_sat_rtz(double16);
4994
4995short __ovld __cnfn convert_short(double);
4996short __ovld __cnfn convert_short_rte(double);
4997short __ovld __cnfn convert_short_rtn(double);
4998short __ovld __cnfn convert_short_rtp(double);
4999short __ovld __cnfn convert_short_rtz(double);
5000short __ovld __cnfn convert_short_sat(double);
5001short __ovld __cnfn convert_short_sat_rte(double);
5002short __ovld __cnfn convert_short_sat_rtn(double);
5003short __ovld __cnfn convert_short_sat_rtp(double);
5004short __ovld __cnfn convert_short_sat_rtz(double);
5005short2 __ovld __cnfn convert_short2(double2);
5006short2 __ovld __cnfn convert_short2_rte(double2);
5007short2 __ovld __cnfn convert_short2_rtn(double2);
5008short2 __ovld __cnfn convert_short2_rtp(double2);
5009short2 __ovld __cnfn convert_short2_rtz(double2);
5010short2 __ovld __cnfn convert_short2_sat(double2);
5011short2 __ovld __cnfn convert_short2_sat_rte(double2);
5012short2 __ovld __cnfn convert_short2_sat_rtn(double2);
5013short2 __ovld __cnfn convert_short2_sat_rtp(double2);
5014short2 __ovld __cnfn convert_short2_sat_rtz(double2);
5015short3 __ovld __cnfn convert_short3(double3);
5016short3 __ovld __cnfn convert_short3_rte(double3);
5017short3 __ovld __cnfn convert_short3_rtn(double3);
5018short3 __ovld __cnfn convert_short3_rtp(double3);
5019short3 __ovld __cnfn convert_short3_rtz(double3);
5020short3 __ovld __cnfn convert_short3_sat(double3);
5021short3 __ovld __cnfn convert_short3_sat_rte(double3);
5022short3 __ovld __cnfn convert_short3_sat_rtn(double3);
5023short3 __ovld __cnfn convert_short3_sat_rtp(double3);
5024short3 __ovld __cnfn convert_short3_sat_rtz(double3);
5025short4 __ovld __cnfn convert_short4(double4);
5026short4 __ovld __cnfn convert_short4_rte(double4);
5027short4 __ovld __cnfn convert_short4_rtn(double4);
5028short4 __ovld __cnfn convert_short4_rtp(double4);
5029short4 __ovld __cnfn convert_short4_rtz(double4);
5030short4 __ovld __cnfn convert_short4_sat(double4);
5031short4 __ovld __cnfn convert_short4_sat_rte(double4);
5032short4 __ovld __cnfn convert_short4_sat_rtn(double4);
5033short4 __ovld __cnfn convert_short4_sat_rtp(double4);
5034short4 __ovld __cnfn convert_short4_sat_rtz(double4);
5035short8 __ovld __cnfn convert_short8(double8);
5036short8 __ovld __cnfn convert_short8_rte(double8);
5037short8 __ovld __cnfn convert_short8_rtn(double8);
5038short8 __ovld __cnfn convert_short8_rtp(double8);
5039short8 __ovld __cnfn convert_short8_rtz(double8);
5040short8 __ovld __cnfn convert_short8_sat(double8);
5041short8 __ovld __cnfn convert_short8_sat_rte(double8);
5042short8 __ovld __cnfn convert_short8_sat_rtn(double8);
5043short8 __ovld __cnfn convert_short8_sat_rtp(double8);
5044short8 __ovld __cnfn convert_short8_sat_rtz(double8);
5045short16 __ovld __cnfn convert_short16(double16);
5046short16 __ovld __cnfn convert_short16_rte(double16);
5047short16 __ovld __cnfn convert_short16_rtn(double16);
5048short16 __ovld __cnfn convert_short16_rtp(double16);
5049short16 __ovld __cnfn convert_short16_rtz(double16);
5050short16 __ovld __cnfn convert_short16_sat(double16);
5051short16 __ovld __cnfn convert_short16_sat_rte(double16);
5052short16 __ovld __cnfn convert_short16_sat_rtn(double16);
5053short16 __ovld __cnfn convert_short16_sat_rtp(double16);
5054short16 __ovld __cnfn convert_short16_sat_rtz(double16);
5055
5056ushort __ovld __cnfn convert_ushort(double);
5057ushort __ovld __cnfn convert_ushort_rte(double);
5058ushort __ovld __cnfn convert_ushort_rtn(double);
5059ushort __ovld __cnfn convert_ushort_rtp(double);
5060ushort __ovld __cnfn convert_ushort_rtz(double);
5061ushort __ovld __cnfn convert_ushort_sat(double);
5062ushort __ovld __cnfn convert_ushort_sat_rte(double);
5063ushort __ovld __cnfn convert_ushort_sat_rtn(double);
5064ushort __ovld __cnfn convert_ushort_sat_rtp(double);
5065ushort __ovld __cnfn convert_ushort_sat_rtz(double);
5066ushort2 __ovld __cnfn convert_ushort2(double2);
5067ushort2 __ovld __cnfn convert_ushort2_rte(double2);
5068ushort2 __ovld __cnfn convert_ushort2_rtn(double2);
5069ushort2 __ovld __cnfn convert_ushort2_rtp(double2);
5070ushort2 __ovld __cnfn convert_ushort2_rtz(double2);
5071ushort2 __ovld __cnfn convert_ushort2_sat(double2);
5072ushort2 __ovld __cnfn convert_ushort2_sat_rte(double2);
5073ushort2 __ovld __cnfn convert_ushort2_sat_rtn(double2);
5074ushort2 __ovld __cnfn convert_ushort2_sat_rtp(double2);
5075ushort2 __ovld __cnfn convert_ushort2_sat_rtz(double2);
5076ushort3 __ovld __cnfn convert_ushort3(double3);
5077ushort3 __ovld __cnfn convert_ushort3_rte(double3);
5078ushort3 __ovld __cnfn convert_ushort3_rtn(double3);
5079ushort3 __ovld __cnfn convert_ushort3_rtp(double3);
5080ushort3 __ovld __cnfn convert_ushort3_rtz(double3);
5081ushort3 __ovld __cnfn convert_ushort3_sat(double3);
5082ushort3 __ovld __cnfn convert_ushort3_sat_rte(double3);
5083ushort3 __ovld __cnfn convert_ushort3_sat_rtn(double3);
5084ushort3 __ovld __cnfn convert_ushort3_sat_rtp(double3);
5085ushort3 __ovld __cnfn convert_ushort3_sat_rtz(double3);
5086ushort4 __ovld __cnfn convert_ushort4(double4);
5087ushort4 __ovld __cnfn convert_ushort4_rte(double4);
5088ushort4 __ovld __cnfn convert_ushort4_rtn(double4);
5089ushort4 __ovld __cnfn convert_ushort4_rtp(double4);
5090ushort4 __ovld __cnfn convert_ushort4_rtz(double4);
5091ushort4 __ovld __cnfn convert_ushort4_sat(double4);
5092ushort4 __ovld __cnfn convert_ushort4_sat_rte(double4);
5093ushort4 __ovld __cnfn convert_ushort4_sat_rtn(double4);
5094ushort4 __ovld __cnfn convert_ushort4_sat_rtp(double4);
5095ushort4 __ovld __cnfn convert_ushort4_sat_rtz(double4);
5096ushort8 __ovld __cnfn convert_ushort8(double8);
5097ushort8 __ovld __cnfn convert_ushort8_rte(double8);
5098ushort8 __ovld __cnfn convert_ushort8_rtn(double8);
5099ushort8 __ovld __cnfn convert_ushort8_rtp(double8);
5100ushort8 __ovld __cnfn convert_ushort8_rtz(double8);
5101ushort8 __ovld __cnfn convert_ushort8_sat(double8);
5102ushort8 __ovld __cnfn convert_ushort8_sat_rte(double8);
5103ushort8 __ovld __cnfn convert_ushort8_sat_rtn(double8);
5104ushort8 __ovld __cnfn convert_ushort8_sat_rtp(double8);
5105ushort8 __ovld __cnfn convert_ushort8_sat_rtz(double8);
5106ushort16 __ovld __cnfn convert_ushort16(double16);
5107ushort16 __ovld __cnfn convert_ushort16_rte(double16);
5108ushort16 __ovld __cnfn convert_ushort16_rtn(double16);
5109ushort16 __ovld __cnfn convert_ushort16_rtp(double16);
5110ushort16 __ovld __cnfn convert_ushort16_rtz(double16);
5111ushort16 __ovld __cnfn convert_ushort16_sat(double16);
5112ushort16 __ovld __cnfn convert_ushort16_sat_rte(double16);
5113ushort16 __ovld __cnfn convert_ushort16_sat_rtn(double16);
5114ushort16 __ovld __cnfn convert_ushort16_sat_rtp(double16);
5115ushort16 __ovld __cnfn convert_ushort16_sat_rtz(double16);
5116
5117int __ovld __cnfn convert_int(double);
5118int __ovld __cnfn convert_int_rte(double);
5119int __ovld __cnfn convert_int_rtn(double);
5120int __ovld __cnfn convert_int_rtp(double);
5121int __ovld __cnfn convert_int_rtz(double);
5122int __ovld __cnfn convert_int_sat(double);
5123int __ovld __cnfn convert_int_sat_rte(double);
5124int __ovld __cnfn convert_int_sat_rtn(double);
5125int __ovld __cnfn convert_int_sat_rtp(double);
5126int __ovld __cnfn convert_int_sat_rtz(double);
5127int2 __ovld __cnfn convert_int2(double2);
5128int2 __ovld __cnfn convert_int2_rte(double2);
5129int2 __ovld __cnfn convert_int2_rtn(double2);
5130int2 __ovld __cnfn convert_int2_rtp(double2);
5131int2 __ovld __cnfn convert_int2_rtz(double2);
5132int2 __ovld __cnfn convert_int2_sat(double2);
5133int2 __ovld __cnfn convert_int2_sat_rte(double2);
5134int2 __ovld __cnfn convert_int2_sat_rtn(double2);
5135int2 __ovld __cnfn convert_int2_sat_rtp(double2);
5136int2 __ovld __cnfn convert_int2_sat_rtz(double2);
5137int3 __ovld __cnfn convert_int3(double3);
5138int3 __ovld __cnfn convert_int3_rte(double3);
5139int3 __ovld __cnfn convert_int3_rtn(double3);
5140int3 __ovld __cnfn convert_int3_rtp(double3);
5141int3 __ovld __cnfn convert_int3_rtz(double3);
5142int3 __ovld __cnfn convert_int3_sat(double3);
5143int3 __ovld __cnfn convert_int3_sat_rte(double3);
5144int3 __ovld __cnfn convert_int3_sat_rtn(double3);
5145int3 __ovld __cnfn convert_int3_sat_rtp(double3);
5146int3 __ovld __cnfn convert_int3_sat_rtz(double3);
5147int4 __ovld __cnfn convert_int4(double4);
5148int4 __ovld __cnfn convert_int4_rte(double4);
5149int4 __ovld __cnfn convert_int4_rtn(double4);
5150int4 __ovld __cnfn convert_int4_rtp(double4);
5151int4 __ovld __cnfn convert_int4_rtz(double4);
5152int4 __ovld __cnfn convert_int4_sat(double4);
5153int4 __ovld __cnfn convert_int4_sat_rte(double4);
5154int4 __ovld __cnfn convert_int4_sat_rtn(double4);
5155int4 __ovld __cnfn convert_int4_sat_rtp(double4);
5156int4 __ovld __cnfn convert_int4_sat_rtz(double4);
5157int8 __ovld __cnfn convert_int8(double8);
5158int8 __ovld __cnfn convert_int8_rte(double8);
5159int8 __ovld __cnfn convert_int8_rtn(double8);
5160int8 __ovld __cnfn convert_int8_rtp(double8);
5161int8 __ovld __cnfn convert_int8_rtz(double8);
5162int8 __ovld __cnfn convert_int8_sat(double8);
5163int8 __ovld __cnfn convert_int8_sat_rte(double8);
5164int8 __ovld __cnfn convert_int8_sat_rtn(double8);
5165int8 __ovld __cnfn convert_int8_sat_rtp(double8);
5166int8 __ovld __cnfn convert_int8_sat_rtz(double8);
5167int16 __ovld __cnfn convert_int16(double16);
5168int16 __ovld __cnfn convert_int16_rte(double16);
5169int16 __ovld __cnfn convert_int16_rtn(double16);
5170int16 __ovld __cnfn convert_int16_rtp(double16);
5171int16 __ovld __cnfn convert_int16_rtz(double16);
5172int16 __ovld __cnfn convert_int16_sat(double16);
5173int16 __ovld __cnfn convert_int16_sat_rte(double16);
5174int16 __ovld __cnfn convert_int16_sat_rtn(double16);
5175int16 __ovld __cnfn convert_int16_sat_rtp(double16);
5176int16 __ovld __cnfn convert_int16_sat_rtz(double16);
5177
5178uint __ovld __cnfn convert_uint(double);
5179uint __ovld __cnfn convert_uint_rte(double);
5180uint __ovld __cnfn convert_uint_rtn(double);
5181uint __ovld __cnfn convert_uint_rtp(double);
5182uint __ovld __cnfn convert_uint_rtz(double);
5183uint __ovld __cnfn convert_uint_sat(double);
5184uint __ovld __cnfn convert_uint_sat_rte(double);
5185uint __ovld __cnfn convert_uint_sat_rtn(double);
5186uint __ovld __cnfn convert_uint_sat_rtp(double);
5187uint __ovld __cnfn convert_uint_sat_rtz(double);
5188uint2 __ovld __cnfn convert_uint2(double2);
5189uint2 __ovld __cnfn convert_uint2_rte(double2);
5190uint2 __ovld __cnfn convert_uint2_rtn(double2);
5191uint2 __ovld __cnfn convert_uint2_rtp(double2);
5192uint2 __ovld __cnfn convert_uint2_rtz(double2);
5193uint2 __ovld __cnfn convert_uint2_sat(double2);
5194uint2 __ovld __cnfn convert_uint2_sat_rte(double2);
5195uint2 __ovld __cnfn convert_uint2_sat_rtn(double2);
5196uint2 __ovld __cnfn convert_uint2_sat_rtp(double2);
5197uint2 __ovld __cnfn convert_uint2_sat_rtz(double2);
5198uint3 __ovld __cnfn convert_uint3(double3);
5199uint3 __ovld __cnfn convert_uint3_rte(double3);
5200uint3 __ovld __cnfn convert_uint3_rtn(double3);
5201uint3 __ovld __cnfn convert_uint3_rtp(double3);
5202uint3 __ovld __cnfn convert_uint3_rtz(double3);
5203uint3 __ovld __cnfn convert_uint3_sat(double3);
5204uint3 __ovld __cnfn convert_uint3_sat_rte(double3);
5205uint3 __ovld __cnfn convert_uint3_sat_rtn(double3);
5206uint3 __ovld __cnfn convert_uint3_sat_rtp(double3);
5207uint3 __ovld __cnfn convert_uint3_sat_rtz(double3);
5208uint4 __ovld __cnfn convert_uint4(double4);
5209uint4 __ovld __cnfn convert_uint4_rte(double4);
5210uint4 __ovld __cnfn convert_uint4_rtn(double4);
5211uint4 __ovld __cnfn convert_uint4_rtp(double4);
5212uint4 __ovld __cnfn convert_uint4_rtz(double4);
5213uint4 __ovld __cnfn convert_uint4_sat(double4);
5214uint4 __ovld __cnfn convert_uint4_sat_rte(double4);
5215uint4 __ovld __cnfn convert_uint4_sat_rtn(double4);
5216uint4 __ovld __cnfn convert_uint4_sat_rtp(double4);
5217uint4 __ovld __cnfn convert_uint4_sat_rtz(double4);
5218uint8 __ovld __cnfn convert_uint8(double8);
5219uint8 __ovld __cnfn convert_uint8_rte(double8);
5220uint8 __ovld __cnfn convert_uint8_rtn(double8);
5221uint8 __ovld __cnfn convert_uint8_rtp(double8);
5222uint8 __ovld __cnfn convert_uint8_rtz(double8);
5223uint8 __ovld __cnfn convert_uint8_sat(double8);
5224uint8 __ovld __cnfn convert_uint8_sat_rte(double8);
5225uint8 __ovld __cnfn convert_uint8_sat_rtn(double8);
5226uint8 __ovld __cnfn convert_uint8_sat_rtp(double8);
5227uint8 __ovld __cnfn convert_uint8_sat_rtz(double8);
5228uint16 __ovld __cnfn convert_uint16(double16);
5229uint16 __ovld __cnfn convert_uint16_rte(double16);
5230uint16 __ovld __cnfn convert_uint16_rtn(double16);
5231uint16 __ovld __cnfn convert_uint16_rtp(double16);
5232uint16 __ovld __cnfn convert_uint16_rtz(double16);
5233uint16 __ovld __cnfn convert_uint16_sat(double16);
5234uint16 __ovld __cnfn convert_uint16_sat_rte(double16);
5235uint16 __ovld __cnfn convert_uint16_sat_rtn(double16);
5236uint16 __ovld __cnfn convert_uint16_sat_rtp(double16);
5237uint16 __ovld __cnfn convert_uint16_sat_rtz(double16);
5238
5239long __ovld __cnfn convert_long(double);
5240long __ovld __cnfn convert_long_rte(double);
5241long __ovld __cnfn convert_long_rtn(double);
5242long __ovld __cnfn convert_long_rtp(double);
5243long __ovld __cnfn convert_long_rtz(double);
5244long __ovld __cnfn convert_long_sat(double);
5245long __ovld __cnfn convert_long_sat_rte(double);
5246long __ovld __cnfn convert_long_sat_rtn(double);
5247long __ovld __cnfn convert_long_sat_rtp(double);
5248long __ovld __cnfn convert_long_sat_rtz(double);
5249long2 __ovld __cnfn convert_long2(double2);
5250long2 __ovld __cnfn convert_long2_rte(double2);
5251long2 __ovld __cnfn convert_long2_rtn(double2);
5252long2 __ovld __cnfn convert_long2_rtp(double2);
5253long2 __ovld __cnfn convert_long2_rtz(double2);
5254long2 __ovld __cnfn convert_long2_sat(double2);
5255long2 __ovld __cnfn convert_long2_sat_rte(double2);
5256long2 __ovld __cnfn convert_long2_sat_rtn(double2);
5257long2 __ovld __cnfn convert_long2_sat_rtp(double2);
5258long2 __ovld __cnfn convert_long2_sat_rtz(double2);
5259long3 __ovld __cnfn convert_long3(double3);
5260long3 __ovld __cnfn convert_long3_rte(double3);
5261long3 __ovld __cnfn convert_long3_rtn(double3);
5262long3 __ovld __cnfn convert_long3_rtp(double3);
5263long3 __ovld __cnfn convert_long3_rtz(double3);
5264long3 __ovld __cnfn convert_long3_sat(double3);
5265long3 __ovld __cnfn convert_long3_sat_rte(double3);
5266long3 __ovld __cnfn convert_long3_sat_rtn(double3);
5267long3 __ovld __cnfn convert_long3_sat_rtp(double3);
5268long3 __ovld __cnfn convert_long3_sat_rtz(double3);
5269long4 __ovld __cnfn convert_long4(double4);
5270long4 __ovld __cnfn convert_long4_rte(double4);
5271long4 __ovld __cnfn convert_long4_rtn(double4);
5272long4 __ovld __cnfn convert_long4_rtp(double4);
5273long4 __ovld __cnfn convert_long4_rtz(double4);
5274long4 __ovld __cnfn convert_long4_sat(double4);
5275long4 __ovld __cnfn convert_long4_sat_rte(double4);
5276long4 __ovld __cnfn convert_long4_sat_rtn(double4);
5277long4 __ovld __cnfn convert_long4_sat_rtp(double4);
5278long4 __ovld __cnfn convert_long4_sat_rtz(double4);
5279long8 __ovld __cnfn convert_long8(double8);
5280long8 __ovld __cnfn convert_long8_rte(double8);
5281long8 __ovld __cnfn convert_long8_rtn(double8);
5282long8 __ovld __cnfn convert_long8_rtp(double8);
5283long8 __ovld __cnfn convert_long8_rtz(double8);
5284long8 __ovld __cnfn convert_long8_sat(double8);
5285long8 __ovld __cnfn convert_long8_sat_rte(double8);
5286long8 __ovld __cnfn convert_long8_sat_rtn(double8);
5287long8 __ovld __cnfn convert_long8_sat_rtp(double8);
5288long8 __ovld __cnfn convert_long8_sat_rtz(double8);
5289long16 __ovld __cnfn convert_long16(double16);
5290long16 __ovld __cnfn convert_long16_rte(double16);
5291long16 __ovld __cnfn convert_long16_rtn(double16);
5292long16 __ovld __cnfn convert_long16_rtp(double16);
5293long16 __ovld __cnfn convert_long16_rtz(double16);
5294long16 __ovld __cnfn convert_long16_sat(double16);
5295long16 __ovld __cnfn convert_long16_sat_rte(double16);
5296long16 __ovld __cnfn convert_long16_sat_rtn(double16);
5297long16 __ovld __cnfn convert_long16_sat_rtp(double16);
5298long16 __ovld __cnfn convert_long16_sat_rtz(double16);
5299
5300ulong __ovld __cnfn convert_ulong(double);
5301ulong __ovld __cnfn convert_ulong_rte(double);
5302ulong __ovld __cnfn convert_ulong_rtn(double);
5303ulong __ovld __cnfn convert_ulong_rtp(double);
5304ulong __ovld __cnfn convert_ulong_rtz(double);
5305ulong __ovld __cnfn convert_ulong_sat(double);
5306ulong __ovld __cnfn convert_ulong_sat_rte(double);
5307ulong __ovld __cnfn convert_ulong_sat_rtn(double);
5308ulong __ovld __cnfn convert_ulong_sat_rtp(double);
5309ulong __ovld __cnfn convert_ulong_sat_rtz(double);
5310ulong2 __ovld __cnfn convert_ulong2(double2);
5311ulong2 __ovld __cnfn convert_ulong2_rte(double2);
5312ulong2 __ovld __cnfn convert_ulong2_rtn(double2);
5313ulong2 __ovld __cnfn convert_ulong2_rtp(double2);
5314ulong2 __ovld __cnfn convert_ulong2_rtz(double2);
5315ulong2 __ovld __cnfn convert_ulong2_sat(double2);
5316ulong2 __ovld __cnfn convert_ulong2_sat_rte(double2);
5317ulong2 __ovld __cnfn convert_ulong2_sat_rtn(double2);
5318ulong2 __ovld __cnfn convert_ulong2_sat_rtp(double2);
5319ulong2 __ovld __cnfn convert_ulong2_sat_rtz(double2);
5320ulong3 __ovld __cnfn convert_ulong3(double3);
5321ulong3 __ovld __cnfn convert_ulong3_rte(double3);
5322ulong3 __ovld __cnfn convert_ulong3_rtn(double3);
5323ulong3 __ovld __cnfn convert_ulong3_rtp(double3);
5324ulong3 __ovld __cnfn convert_ulong3_rtz(double3);
5325ulong3 __ovld __cnfn convert_ulong3_sat(double3);
5326ulong3 __ovld __cnfn convert_ulong3_sat_rte(double3);
5327ulong3 __ovld __cnfn convert_ulong3_sat_rtn(double3);
5328ulong3 __ovld __cnfn convert_ulong3_sat_rtp(double3);
5329ulong3 __ovld __cnfn convert_ulong3_sat_rtz(double3);
5330ulong4 __ovld __cnfn convert_ulong4(double4);
5331ulong4 __ovld __cnfn convert_ulong4_rte(double4);
5332ulong4 __ovld __cnfn convert_ulong4_rtn(double4);
5333ulong4 __ovld __cnfn convert_ulong4_rtp(double4);
5334ulong4 __ovld __cnfn convert_ulong4_rtz(double4);
5335ulong4 __ovld __cnfn convert_ulong4_sat(double4);
5336ulong4 __ovld __cnfn convert_ulong4_sat_rte(double4);
5337ulong4 __ovld __cnfn convert_ulong4_sat_rtn(double4);
5338ulong4 __ovld __cnfn convert_ulong4_sat_rtp(double4);
5339ulong4 __ovld __cnfn convert_ulong4_sat_rtz(double4);
5340ulong8 __ovld __cnfn convert_ulong8(double8);
5341ulong8 __ovld __cnfn convert_ulong8_rte(double8);
5342ulong8 __ovld __cnfn convert_ulong8_rtn(double8);
5343ulong8 __ovld __cnfn convert_ulong8_rtp(double8);
5344ulong8 __ovld __cnfn convert_ulong8_rtz(double8);
5345ulong8 __ovld __cnfn convert_ulong8_sat(double8);
5346ulong8 __ovld __cnfn convert_ulong8_sat_rte(double8);
5347ulong8 __ovld __cnfn convert_ulong8_sat_rtn(double8);
5348ulong8 __ovld __cnfn convert_ulong8_sat_rtp(double8);
5349ulong8 __ovld __cnfn convert_ulong8_sat_rtz(double8);
5350ulong16 __ovld __cnfn convert_ulong16(double16);
5351ulong16 __ovld __cnfn convert_ulong16_rte(double16);
5352ulong16 __ovld __cnfn convert_ulong16_rtn(double16);
5353ulong16 __ovld __cnfn convert_ulong16_rtp(double16);
5354ulong16 __ovld __cnfn convert_ulong16_rtz(double16);
5355ulong16 __ovld __cnfn convert_ulong16_sat(double16);
5356ulong16 __ovld __cnfn convert_ulong16_sat_rte(double16);
5357ulong16 __ovld __cnfn convert_ulong16_sat_rtn(double16);
5358ulong16 __ovld __cnfn convert_ulong16_sat_rtp(double16);
5359ulong16 __ovld __cnfn convert_ulong16_sat_rtz(double16);
5360
5361float __ovld __cnfn convert_float(double);
5362float __ovld __cnfn convert_float_rte(double);
5363float __ovld __cnfn convert_float_rtn(double);
5364float __ovld __cnfn convert_float_rtp(double);
5365float __ovld __cnfn convert_float_rtz(double);
5366float2 __ovld __cnfn convert_float2(double2);
5367float2 __ovld __cnfn convert_float2_rte(double2);
5368float2 __ovld __cnfn convert_float2_rtn(double2);
5369float2 __ovld __cnfn convert_float2_rtp(double2);
5370float2 __ovld __cnfn convert_float2_rtz(double2);
5371float3 __ovld __cnfn convert_float3(double3);
5372float3 __ovld __cnfn convert_float3_rte(double3);
5373float3 __ovld __cnfn convert_float3_rtn(double3);
5374float3 __ovld __cnfn convert_float3_rtp(double3);
5375float3 __ovld __cnfn convert_float3_rtz(double3);
5376float4 __ovld __cnfn convert_float4(double4);
5377float4 __ovld __cnfn convert_float4_rte(double4);
5378float4 __ovld __cnfn convert_float4_rtn(double4);
5379float4 __ovld __cnfn convert_float4_rtp(double4);
5380float4 __ovld __cnfn convert_float4_rtz(double4);
5381float8 __ovld __cnfn convert_float8(double8);
5382float8 __ovld __cnfn convert_float8_rte(double8);
5383float8 __ovld __cnfn convert_float8_rtn(double8);
5384float8 __ovld __cnfn convert_float8_rtp(double8);
5385float8 __ovld __cnfn convert_float8_rtz(double8);
5386float16 __ovld __cnfn convert_float16(double16);
5387float16 __ovld __cnfn convert_float16_rte(double16);
5388float16 __ovld __cnfn convert_float16_rtn(double16);
5389float16 __ovld __cnfn convert_float16_rtp(double16);
5390float16 __ovld __cnfn convert_float16_rtz(double16);
5391
5392double __ovld __cnfn convert_double(char);
5393double __ovld __cnfn convert_double(double);
5394double __ovld __cnfn convert_double(float);
5395double __ovld __cnfn convert_double(int);
5396double __ovld __cnfn convert_double(long);
5397double __ovld __cnfn convert_double(short);
5398double __ovld __cnfn convert_double(uchar);
5399double __ovld __cnfn convert_double(uint);
5400double __ovld __cnfn convert_double(ulong);
5401double __ovld __cnfn convert_double(ushort);
5402double __ovld __cnfn convert_double_rte(char);
5403double __ovld __cnfn convert_double_rte(double);
5404double __ovld __cnfn convert_double_rte(float);
5405double __ovld __cnfn convert_double_rte(int);
5406double __ovld __cnfn convert_double_rte(long);
5407double __ovld __cnfn convert_double_rte(short);
5408double __ovld __cnfn convert_double_rte(uchar);
5409double __ovld __cnfn convert_double_rte(uint);
5410double __ovld __cnfn convert_double_rte(ulong);
5411double __ovld __cnfn convert_double_rte(ushort);
5412double __ovld __cnfn convert_double_rtn(char);
5413double __ovld __cnfn convert_double_rtn(double);
5414double __ovld __cnfn convert_double_rtn(float);
5415double __ovld __cnfn convert_double_rtn(int);
5416double __ovld __cnfn convert_double_rtn(long);
5417double __ovld __cnfn convert_double_rtn(short);
5418double __ovld __cnfn convert_double_rtn(uchar);
5419double __ovld __cnfn convert_double_rtn(uint);
5420double __ovld __cnfn convert_double_rtn(ulong);
5421double __ovld __cnfn convert_double_rtn(ushort);
5422double __ovld __cnfn convert_double_rtp(char);
5423double __ovld __cnfn convert_double_rtp(double);
5424double __ovld __cnfn convert_double_rtp(float);
5425double __ovld __cnfn convert_double_rtp(int);
5426double __ovld __cnfn convert_double_rtp(long);
5427double __ovld __cnfn convert_double_rtp(short);
5428double __ovld __cnfn convert_double_rtp(uchar);
5429double __ovld __cnfn convert_double_rtp(uint);
5430double __ovld __cnfn convert_double_rtp(ulong);
5431double __ovld __cnfn convert_double_rtp(ushort);
5432double __ovld __cnfn convert_double_rtz(char);
5433double __ovld __cnfn convert_double_rtz(double);
5434double __ovld __cnfn convert_double_rtz(float);
5435double __ovld __cnfn convert_double_rtz(int);
5436double __ovld __cnfn convert_double_rtz(long);
5437double __ovld __cnfn convert_double_rtz(short);
5438double __ovld __cnfn convert_double_rtz(uchar);
5439double __ovld __cnfn convert_double_rtz(uint);
5440double __ovld __cnfn convert_double_rtz(ulong);
5441double __ovld __cnfn convert_double_rtz(ushort);
5442double2 __ovld __cnfn convert_double2(char2);
5443double2 __ovld __cnfn convert_double2(double2);
5444double2 __ovld __cnfn convert_double2(float2);
5445double2 __ovld __cnfn convert_double2(int2);
5446double2 __ovld __cnfn convert_double2(long2);
5447double2 __ovld __cnfn convert_double2(short2);
5448double2 __ovld __cnfn convert_double2(uchar2);
5449double2 __ovld __cnfn convert_double2(uint2);
5450double2 __ovld __cnfn convert_double2(ulong2);
5451double2 __ovld __cnfn convert_double2(ushort2);
5452double2 __ovld __cnfn convert_double2_rte(char2);
5453double2 __ovld __cnfn convert_double2_rte(double2);
5454double2 __ovld __cnfn convert_double2_rte(float2);
5455double2 __ovld __cnfn convert_double2_rte(int2);
5456double2 __ovld __cnfn convert_double2_rte(long2);
5457double2 __ovld __cnfn convert_double2_rte(short2);
5458double2 __ovld __cnfn convert_double2_rte(uchar2);
5459double2 __ovld __cnfn convert_double2_rte(uint2);
5460double2 __ovld __cnfn convert_double2_rte(ulong2);
5461double2 __ovld __cnfn convert_double2_rte(ushort2);
5462double2 __ovld __cnfn convert_double2_rtn(char2);
5463double2 __ovld __cnfn convert_double2_rtn(double2);
5464double2 __ovld __cnfn convert_double2_rtn(float2);
5465double2 __ovld __cnfn convert_double2_rtn(int2);
5466double2 __ovld __cnfn convert_double2_rtn(long2);
5467double2 __ovld __cnfn convert_double2_rtn(short2);
5468double2 __ovld __cnfn convert_double2_rtn(uchar2);
5469double2 __ovld __cnfn convert_double2_rtn(uint2);
5470double2 __ovld __cnfn convert_double2_rtn(ulong2);
5471double2 __ovld __cnfn convert_double2_rtn(ushort2);
5472double2 __ovld __cnfn convert_double2_rtp(char2);
5473double2 __ovld __cnfn convert_double2_rtp(double2);
5474double2 __ovld __cnfn convert_double2_rtp(float2);
5475double2 __ovld __cnfn convert_double2_rtp(int2);
5476double2 __ovld __cnfn convert_double2_rtp(long2);
5477double2 __ovld __cnfn convert_double2_rtp(short2);
5478double2 __ovld __cnfn convert_double2_rtp(uchar2);
5479double2 __ovld __cnfn convert_double2_rtp(uint2);
5480double2 __ovld __cnfn convert_double2_rtp(ulong2);
5481double2 __ovld __cnfn convert_double2_rtp(ushort2);
5482double2 __ovld __cnfn convert_double2_rtz(char2);
5483double2 __ovld __cnfn convert_double2_rtz(double2);
5484double2 __ovld __cnfn convert_double2_rtz(float2);
5485double2 __ovld __cnfn convert_double2_rtz(int2);
5486double2 __ovld __cnfn convert_double2_rtz(long2);
5487double2 __ovld __cnfn convert_double2_rtz(short2);
5488double2 __ovld __cnfn convert_double2_rtz(uchar2);
5489double2 __ovld __cnfn convert_double2_rtz(uint2);
5490double2 __ovld __cnfn convert_double2_rtz(ulong2);
5491double2 __ovld __cnfn convert_double2_rtz(ushort2);
5492double3 __ovld __cnfn convert_double3(char3);
5493double3 __ovld __cnfn convert_double3(double3);
5494double3 __ovld __cnfn convert_double3(float3);
5495double3 __ovld __cnfn convert_double3(int3);
5496double3 __ovld __cnfn convert_double3(long3);
5497double3 __ovld __cnfn convert_double3(short3);
5498double3 __ovld __cnfn convert_double3(uchar3);
5499double3 __ovld __cnfn convert_double3(uint3);
5500double3 __ovld __cnfn convert_double3(ulong3);
5501double3 __ovld __cnfn convert_double3(ushort3);
5502double3 __ovld __cnfn convert_double3_rte(char3);
5503double3 __ovld __cnfn convert_double3_rte(double3);
5504double3 __ovld __cnfn convert_double3_rte(float3);
5505double3 __ovld __cnfn convert_double3_rte(int3);
5506double3 __ovld __cnfn convert_double3_rte(long3);
5507double3 __ovld __cnfn convert_double3_rte(short3);
5508double3 __ovld __cnfn convert_double3_rte(uchar3);
5509double3 __ovld __cnfn convert_double3_rte(uint3);
5510double3 __ovld __cnfn convert_double3_rte(ulong3);
5511double3 __ovld __cnfn convert_double3_rte(ushort3);
5512double3 __ovld __cnfn convert_double3_rtn(char3);
5513double3 __ovld __cnfn convert_double3_rtn(double3);
5514double3 __ovld __cnfn convert_double3_rtn(float3);
5515double3 __ovld __cnfn convert_double3_rtn(int3);
5516double3 __ovld __cnfn convert_double3_rtn(long3);
5517double3 __ovld __cnfn convert_double3_rtn(short3);
5518double3 __ovld __cnfn convert_double3_rtn(uchar3);
5519double3 __ovld __cnfn convert_double3_rtn(uint3);
5520double3 __ovld __cnfn convert_double3_rtn(ulong3);
5521double3 __ovld __cnfn convert_double3_rtn(ushort3);
5522double3 __ovld __cnfn convert_double3_rtp(char3);
5523double3 __ovld __cnfn convert_double3_rtp(double3);
5524double3 __ovld __cnfn convert_double3_rtp(float3);
5525double3 __ovld __cnfn convert_double3_rtp(int3);
5526double3 __ovld __cnfn convert_double3_rtp(long3);
5527double3 __ovld __cnfn convert_double3_rtp(short3);
5528double3 __ovld __cnfn convert_double3_rtp(uchar3);
5529double3 __ovld __cnfn convert_double3_rtp(uint3);
5530double3 __ovld __cnfn convert_double3_rtp(ulong3);
5531double3 __ovld __cnfn convert_double3_rtp(ushort3);
5532double3 __ovld __cnfn convert_double3_rtz(char3);
5533double3 __ovld __cnfn convert_double3_rtz(double3);
5534double3 __ovld __cnfn convert_double3_rtz(float3);
5535double3 __ovld __cnfn convert_double3_rtz(int3);
5536double3 __ovld __cnfn convert_double3_rtz(long3);
5537double3 __ovld __cnfn convert_double3_rtz(short3);
5538double3 __ovld __cnfn convert_double3_rtz(uchar3);
5539double3 __ovld __cnfn convert_double3_rtz(uint3);
5540double3 __ovld __cnfn convert_double3_rtz(ulong3);
5541double3 __ovld __cnfn convert_double3_rtz(ushort3);
5542double4 __ovld __cnfn convert_double4(char4);
5543double4 __ovld __cnfn convert_double4(double4);
5544double4 __ovld __cnfn convert_double4(float4);
5545double4 __ovld __cnfn convert_double4(int4);
5546double4 __ovld __cnfn convert_double4(long4);
5547double4 __ovld __cnfn convert_double4(short4);
5548double4 __ovld __cnfn convert_double4(uchar4);
5549double4 __ovld __cnfn convert_double4(uint4);
5550double4 __ovld __cnfn convert_double4(ulong4);
5551double4 __ovld __cnfn convert_double4(ushort4);
5552double4 __ovld __cnfn convert_double4_rte(char4);
5553double4 __ovld __cnfn convert_double4_rte(double4);
5554double4 __ovld __cnfn convert_double4_rte(float4);
5555double4 __ovld __cnfn convert_double4_rte(int4);
5556double4 __ovld __cnfn convert_double4_rte(long4);
5557double4 __ovld __cnfn convert_double4_rte(short4);
5558double4 __ovld __cnfn convert_double4_rte(uchar4);
5559double4 __ovld __cnfn convert_double4_rte(uint4);
5560double4 __ovld __cnfn convert_double4_rte(ulong4);
5561double4 __ovld __cnfn convert_double4_rte(ushort4);
5562double4 __ovld __cnfn convert_double4_rtn(char4);
5563double4 __ovld __cnfn convert_double4_rtn(double4);
5564double4 __ovld __cnfn convert_double4_rtn(float4);
5565double4 __ovld __cnfn convert_double4_rtn(int4);
5566double4 __ovld __cnfn convert_double4_rtn(long4);
5567double4 __ovld __cnfn convert_double4_rtn(short4);
5568double4 __ovld __cnfn convert_double4_rtn(uchar4);
5569double4 __ovld __cnfn convert_double4_rtn(uint4);
5570double4 __ovld __cnfn convert_double4_rtn(ulong4);
5571double4 __ovld __cnfn convert_double4_rtn(ushort4);
5572double4 __ovld __cnfn convert_double4_rtp(char4);
5573double4 __ovld __cnfn convert_double4_rtp(double4);
5574double4 __ovld __cnfn convert_double4_rtp(float4);
5575double4 __ovld __cnfn convert_double4_rtp(int4);
5576double4 __ovld __cnfn convert_double4_rtp(long4);
5577double4 __ovld __cnfn convert_double4_rtp(short4);
5578double4 __ovld __cnfn convert_double4_rtp(uchar4);
5579double4 __ovld __cnfn convert_double4_rtp(uint4);
5580double4 __ovld __cnfn convert_double4_rtp(ulong4);
5581double4 __ovld __cnfn convert_double4_rtp(ushort4);
5582double4 __ovld __cnfn convert_double4_rtz(char4);
5583double4 __ovld __cnfn convert_double4_rtz(double4);
5584double4 __ovld __cnfn convert_double4_rtz(float4);
5585double4 __ovld __cnfn convert_double4_rtz(int4);
5586double4 __ovld __cnfn convert_double4_rtz(long4);
5587double4 __ovld __cnfn convert_double4_rtz(short4);
5588double4 __ovld __cnfn convert_double4_rtz(uchar4);
5589double4 __ovld __cnfn convert_double4_rtz(uint4);
5590double4 __ovld __cnfn convert_double4_rtz(ulong4);
5591double4 __ovld __cnfn convert_double4_rtz(ushort4);
5592double8 __ovld __cnfn convert_double8(char8);
5593double8 __ovld __cnfn convert_double8(double8);
5594double8 __ovld __cnfn convert_double8(float8);
5595double8 __ovld __cnfn convert_double8(int8);
5596double8 __ovld __cnfn convert_double8(long8);
5597double8 __ovld __cnfn convert_double8(short8);
5598double8 __ovld __cnfn convert_double8(uchar8);
5599double8 __ovld __cnfn convert_double8(uint8);
5600double8 __ovld __cnfn convert_double8(ulong8);
5601double8 __ovld __cnfn convert_double8(ushort8);
5602double8 __ovld __cnfn convert_double8_rte(char8);
5603double8 __ovld __cnfn convert_double8_rte(double8);
5604double8 __ovld __cnfn convert_double8_rte(float8);
5605double8 __ovld __cnfn convert_double8_rte(int8);
5606double8 __ovld __cnfn convert_double8_rte(long8);
5607double8 __ovld __cnfn convert_double8_rte(short8);
5608double8 __ovld __cnfn convert_double8_rte(uchar8);
5609double8 __ovld __cnfn convert_double8_rte(uint8);
5610double8 __ovld __cnfn convert_double8_rte(ulong8);
5611double8 __ovld __cnfn convert_double8_rte(ushort8);
5612double8 __ovld __cnfn convert_double8_rtn(char8);
5613double8 __ovld __cnfn convert_double8_rtn(double8);
5614double8 __ovld __cnfn convert_double8_rtn(float8);
5615double8 __ovld __cnfn convert_double8_rtn(int8);
5616double8 __ovld __cnfn convert_double8_rtn(long8);
5617double8 __ovld __cnfn convert_double8_rtn(short8);
5618double8 __ovld __cnfn convert_double8_rtn(uchar8);
5619double8 __ovld __cnfn convert_double8_rtn(uint8);
5620double8 __ovld __cnfn convert_double8_rtn(ulong8);
5621double8 __ovld __cnfn convert_double8_rtn(ushort8);
5622double8 __ovld __cnfn convert_double8_rtp(char8);
5623double8 __ovld __cnfn convert_double8_rtp(double8);
5624double8 __ovld __cnfn convert_double8_rtp(float8);
5625double8 __ovld __cnfn convert_double8_rtp(int8);
5626double8 __ovld __cnfn convert_double8_rtp(long8);
5627double8 __ovld __cnfn convert_double8_rtp(short8);
5628double8 __ovld __cnfn convert_double8_rtp(uchar8);
5629double8 __ovld __cnfn convert_double8_rtp(uint8);
5630double8 __ovld __cnfn convert_double8_rtp(ulong8);
5631double8 __ovld __cnfn convert_double8_rtp(ushort8);
5632double8 __ovld __cnfn convert_double8_rtz(char8);
5633double8 __ovld __cnfn convert_double8_rtz(double8);
5634double8 __ovld __cnfn convert_double8_rtz(float8);
5635double8 __ovld __cnfn convert_double8_rtz(int8);
5636double8 __ovld __cnfn convert_double8_rtz(long8);
5637double8 __ovld __cnfn convert_double8_rtz(short8);
5638double8 __ovld __cnfn convert_double8_rtz(uchar8);
5639double8 __ovld __cnfn convert_double8_rtz(uint8);
5640double8 __ovld __cnfn convert_double8_rtz(ulong8);
5641double8 __ovld __cnfn convert_double8_rtz(ushort8);
5642double16 __ovld __cnfn convert_double16(char16);
5643double16 __ovld __cnfn convert_double16(double16);
5644double16 __ovld __cnfn convert_double16(float16);
5645double16 __ovld __cnfn convert_double16(int16);
5646double16 __ovld __cnfn convert_double16(long16);
5647double16 __ovld __cnfn convert_double16(short16);
5648double16 __ovld __cnfn convert_double16(uchar16);
5649double16 __ovld __cnfn convert_double16(uint16);
5650double16 __ovld __cnfn convert_double16(ulong16);
5651double16 __ovld __cnfn convert_double16(ushort16);
5652double16 __ovld __cnfn convert_double16_rte(char16);
5653double16 __ovld __cnfn convert_double16_rte(double16);
5654double16 __ovld __cnfn convert_double16_rte(float16);
5655double16 __ovld __cnfn convert_double16_rte(int16);
5656double16 __ovld __cnfn convert_double16_rte(long16);
5657double16 __ovld __cnfn convert_double16_rte(short16);
5658double16 __ovld __cnfn convert_double16_rte(uchar16);
5659double16 __ovld __cnfn convert_double16_rte(uint16);
5660double16 __ovld __cnfn convert_double16_rte(ulong16);
5661double16 __ovld __cnfn convert_double16_rte(ushort16);
5662double16 __ovld __cnfn convert_double16_rtn(char16);
5663double16 __ovld __cnfn convert_double16_rtn(double16);
5664double16 __ovld __cnfn convert_double16_rtn(float16);
5665double16 __ovld __cnfn convert_double16_rtn(int16);
5666double16 __ovld __cnfn convert_double16_rtn(long16);
5667double16 __ovld __cnfn convert_double16_rtn(short16);
5668double16 __ovld __cnfn convert_double16_rtn(uchar16);
5669double16 __ovld __cnfn convert_double16_rtn(uint16);
5670double16 __ovld __cnfn convert_double16_rtn(ulong16);
5671double16 __ovld __cnfn convert_double16_rtn(ushort16);
5672double16 __ovld __cnfn convert_double16_rtp(char16);
5673double16 __ovld __cnfn convert_double16_rtp(double16);
5674double16 __ovld __cnfn convert_double16_rtp(float16);
5675double16 __ovld __cnfn convert_double16_rtp(int16);
5676double16 __ovld __cnfn convert_double16_rtp(long16);
5677double16 __ovld __cnfn convert_double16_rtp(short16);
5678double16 __ovld __cnfn convert_double16_rtp(uchar16);
5679double16 __ovld __cnfn convert_double16_rtp(uint16);
5680double16 __ovld __cnfn convert_double16_rtp(ulong16);
5681double16 __ovld __cnfn convert_double16_rtp(ushort16);
5682double16 __ovld __cnfn convert_double16_rtz(char16);
5683double16 __ovld __cnfn convert_double16_rtz(double16);
5684double16 __ovld __cnfn convert_double16_rtz(float16);
5685double16 __ovld __cnfn convert_double16_rtz(int16);
5686double16 __ovld __cnfn convert_double16_rtz(long16);
5687double16 __ovld __cnfn convert_double16_rtz(short16);
5688double16 __ovld __cnfn convert_double16_rtz(uchar16);
5689double16 __ovld __cnfn convert_double16_rtz(uint16);
5690double16 __ovld __cnfn convert_double16_rtz(ulong16);
5691double16 __ovld __cnfn convert_double16_rtz(ushort16);
5692#endif //cl_khr_fp64
5693
5694#ifdef cl_khr_fp16
5695// Convert half types to non-double types.
5696uchar __ovld __cnfn convert_uchar(half);
5697uchar __ovld __cnfn convert_uchar_rte(half);
5698uchar __ovld __cnfn convert_uchar_rtp(half);
5699uchar __ovld __cnfn convert_uchar_rtn(half);
5700uchar __ovld __cnfn convert_uchar_rtz(half);
5701uchar __ovld __cnfn convert_uchar_sat(half);
5702uchar __ovld __cnfn convert_uchar_sat_rte(half);
5703uchar __ovld __cnfn convert_uchar_sat_rtp(half);
5704uchar __ovld __cnfn convert_uchar_sat_rtn(half);
5705uchar __ovld __cnfn convert_uchar_sat_rtz(half);
5706uchar2 __ovld __cnfn convert_uchar2(half2);
5707uchar2 __ovld __cnfn convert_uchar2_rte(half2);
5708uchar2 __ovld __cnfn convert_uchar2_rtp(half2);
5709uchar2 __ovld __cnfn convert_uchar2_rtn(half2);
5710uchar2 __ovld __cnfn convert_uchar2_rtz(half2);
5711uchar2 __ovld __cnfn convert_uchar2_sat(half2);
5712uchar2 __ovld __cnfn convert_uchar2_sat_rte(half2);
5713uchar2 __ovld __cnfn convert_uchar2_sat_rtp(half2);
5714uchar2 __ovld __cnfn convert_uchar2_sat_rtn(half2);
5715uchar2 __ovld __cnfn convert_uchar2_sat_rtz(half2);
5716uchar3 __ovld __cnfn convert_uchar3(half3);
5717uchar3 __ovld __cnfn convert_uchar3_rte(half3);
5718uchar3 __ovld __cnfn convert_uchar3_rtp(half3);
5719uchar3 __ovld __cnfn convert_uchar3_rtn(half3);
5720uchar3 __ovld __cnfn convert_uchar3_rtz(half3);
5721uchar3 __ovld __cnfn convert_uchar3_sat(half3);
5722uchar3 __ovld __cnfn convert_uchar3_sat_rte(half3);
5723uchar3 __ovld __cnfn convert_uchar3_sat_rtp(half3);
5724uchar3 __ovld __cnfn convert_uchar3_sat_rtn(half3);
5725uchar3 __ovld __cnfn convert_uchar3_sat_rtz(half3);
5726uchar4 __ovld __cnfn convert_uchar4(half4);
5727uchar4 __ovld __cnfn convert_uchar4_rte(half4);
5728uchar4 __ovld __cnfn convert_uchar4_rtp(half4);
5729uchar4 __ovld __cnfn convert_uchar4_rtn(half4);
5730uchar4 __ovld __cnfn convert_uchar4_rtz(half4);
5731uchar4 __ovld __cnfn convert_uchar4_sat(half4);
5732uchar4 __ovld __cnfn convert_uchar4_sat_rte(half4);
5733uchar4 __ovld __cnfn convert_uchar4_sat_rtp(half4);
5734uchar4 __ovld __cnfn convert_uchar4_sat_rtn(half4);
5735uchar4 __ovld __cnfn convert_uchar4_sat_rtz(half4);
5736uchar8 __ovld __cnfn convert_uchar8(half8);
5737uchar8 __ovld __cnfn convert_uchar8_rte(half8);
5738uchar8 __ovld __cnfn convert_uchar8_rtp(half8);
5739uchar8 __ovld __cnfn convert_uchar8_rtn(half8);
5740uchar8 __ovld __cnfn convert_uchar8_rtz(half8);
5741uchar8 __ovld __cnfn convert_uchar8_sat(half8);
5742uchar8 __ovld __cnfn convert_uchar8_sat_rte(half8);
5743uchar8 __ovld __cnfn convert_uchar8_sat_rtp(half8);
5744uchar8 __ovld __cnfn convert_uchar8_sat_rtn(half8);
5745uchar8 __ovld __cnfn convert_uchar8_sat_rtz(half8);
5746uchar16 __ovld __cnfn convert_uchar16(half16);
5747uchar16 __ovld __cnfn convert_uchar16_rte(half16);
5748uchar16 __ovld __cnfn convert_uchar16_rtp(half16);
5749uchar16 __ovld __cnfn convert_uchar16_rtn(half16);
5750uchar16 __ovld __cnfn convert_uchar16_rtz(half16);
5751uchar16 __ovld __cnfn convert_uchar16_sat(half16);
5752uchar16 __ovld __cnfn convert_uchar16_sat_rte(half16);
5753uchar16 __ovld __cnfn convert_uchar16_sat_rtp(half16);
5754uchar16 __ovld __cnfn convert_uchar16_sat_rtn(half16);
5755uchar16 __ovld __cnfn convert_uchar16_sat_rtz(half16);
5756ushort __ovld __cnfn convert_ushort(half);
5757ushort __ovld __cnfn convert_ushort_rte(half);
5758ushort __ovld __cnfn convert_ushort_rtp(half);
5759ushort __ovld __cnfn convert_ushort_rtn(half);
5760ushort __ovld __cnfn convert_ushort_rtz(half);
5761ushort __ovld __cnfn convert_ushort_sat(half);
5762ushort __ovld __cnfn convert_ushort_sat_rte(half);
5763ushort __ovld __cnfn convert_ushort_sat_rtp(half);
5764ushort __ovld __cnfn convert_ushort_sat_rtn(half);
5765ushort __ovld __cnfn convert_ushort_sat_rtz(half);
5766ushort2 __ovld __cnfn convert_ushort2(half2);
5767ushort2 __ovld __cnfn convert_ushort2_rte(half2);
5768ushort2 __ovld __cnfn convert_ushort2_rtp(half2);
5769ushort2 __ovld __cnfn convert_ushort2_rtn(half2);
5770ushort2 __ovld __cnfn convert_ushort2_rtz(half2);
5771ushort2 __ovld __cnfn convert_ushort2_sat(half2);
5772ushort2 __ovld __cnfn convert_ushort2_sat_rte(half2);
5773ushort2 __ovld __cnfn convert_ushort2_sat_rtp(half2);
5774ushort2 __ovld __cnfn convert_ushort2_sat_rtn(half2);
5775ushort2 __ovld __cnfn convert_ushort2_sat_rtz(half2);
5776ushort3 __ovld __cnfn convert_ushort3(half3);
5777ushort3 __ovld __cnfn convert_ushort3_rte(half3);
5778ushort3 __ovld __cnfn convert_ushort3_rtp(half3);
5779ushort3 __ovld __cnfn convert_ushort3_rtn(half3);
5780ushort3 __ovld __cnfn convert_ushort3_rtz(half3);
5781ushort3 __ovld __cnfn convert_ushort3_sat(half3);
5782ushort3 __ovld __cnfn convert_ushort3_sat_rte(half3);
5783ushort3 __ovld __cnfn convert_ushort3_sat_rtp(half3);
5784ushort3 __ovld __cnfn convert_ushort3_sat_rtn(half3);
5785ushort3 __ovld __cnfn convert_ushort3_sat_rtz(half3);
5786ushort4 __ovld __cnfn convert_ushort4(half4);
5787ushort4 __ovld __cnfn convert_ushort4_rte(half4);
5788ushort4 __ovld __cnfn convert_ushort4_rtp(half4);
5789ushort4 __ovld __cnfn convert_ushort4_rtn(half4);
5790ushort4 __ovld __cnfn convert_ushort4_rtz(half4);
5791ushort4 __ovld __cnfn convert_ushort4_sat(half4);
5792ushort4 __ovld __cnfn convert_ushort4_sat_rte(half4);
5793ushort4 __ovld __cnfn convert_ushort4_sat_rtp(half4);
5794ushort4 __ovld __cnfn convert_ushort4_sat_rtn(half4);
5795ushort4 __ovld __cnfn convert_ushort4_sat_rtz(half4);
5796ushort8 __ovld __cnfn convert_ushort8(half8);
5797ushort8 __ovld __cnfn convert_ushort8_rte(half8);
5798ushort8 __ovld __cnfn convert_ushort8_rtp(half8);
5799ushort8 __ovld __cnfn convert_ushort8_rtn(half8);
5800ushort8 __ovld __cnfn convert_ushort8_rtz(half8);
5801ushort8 __ovld __cnfn convert_ushort8_sat(half8);
5802ushort8 __ovld __cnfn convert_ushort8_sat_rte(half8);
5803ushort8 __ovld __cnfn convert_ushort8_sat_rtp(half8);
5804ushort8 __ovld __cnfn convert_ushort8_sat_rtn(half8);
5805ushort8 __ovld __cnfn convert_ushort8_sat_rtz(half8);
5806ushort16 __ovld __cnfn convert_ushort16(half16);
5807ushort16 __ovld __cnfn convert_ushort16_rte(half16);
5808ushort16 __ovld __cnfn convert_ushort16_rtp(half16);
5809ushort16 __ovld __cnfn convert_ushort16_rtn(half16);
5810ushort16 __ovld __cnfn convert_ushort16_rtz(half16);
5811ushort16 __ovld __cnfn convert_ushort16_sat(half16);
5812ushort16 __ovld __cnfn convert_ushort16_sat_rte(half16);
5813ushort16 __ovld __cnfn convert_ushort16_sat_rtp(half16);
5814ushort16 __ovld __cnfn convert_ushort16_sat_rtn(half16);
5815ushort16 __ovld __cnfn convert_ushort16_sat_rtz(half16);
5816uint __ovld __cnfn convert_uint(half);
5817uint __ovld __cnfn convert_uint_rte(half);
5818uint __ovld __cnfn convert_uint_rtp(half);
5819uint __ovld __cnfn convert_uint_rtn(half);
5820uint __ovld __cnfn convert_uint_rtz(half);
5821uint __ovld __cnfn convert_uint_sat(half);
5822uint __ovld __cnfn convert_uint_sat_rte(half);
5823uint __ovld __cnfn convert_uint_sat_rtp(half);
5824uint __ovld __cnfn convert_uint_sat_rtn(half);
5825uint __ovld __cnfn convert_uint_sat_rtz(half);
5826uint2 __ovld __cnfn convert_uint2(half2);
5827uint2 __ovld __cnfn convert_uint2_rte(half2);
5828uint2 __ovld __cnfn convert_uint2_rtp(half2);
5829uint2 __ovld __cnfn convert_uint2_rtn(half2);
5830uint2 __ovld __cnfn convert_uint2_rtz(half2);
5831uint2 __ovld __cnfn convert_uint2_sat(half2);
5832uint2 __ovld __cnfn convert_uint2_sat_rte(half2);
5833uint2 __ovld __cnfn convert_uint2_sat_rtp(half2);
5834uint2 __ovld __cnfn convert_uint2_sat_rtn(half2);
5835uint2 __ovld __cnfn convert_uint2_sat_rtz(half2);
5836uint3 __ovld __cnfn convert_uint3(half3);
5837uint3 __ovld __cnfn convert_uint3_rte(half3);
5838uint3 __ovld __cnfn convert_uint3_rtp(half3);
5839uint3 __ovld __cnfn convert_uint3_rtn(half3);
5840uint3 __ovld __cnfn convert_uint3_rtz(half3);
5841uint3 __ovld __cnfn convert_uint3_sat(half3);
5842uint3 __ovld __cnfn convert_uint3_sat_rte(half3);
5843uint3 __ovld __cnfn convert_uint3_sat_rtp(half3);
5844uint3 __ovld __cnfn convert_uint3_sat_rtn(half3);
5845uint3 __ovld __cnfn convert_uint3_sat_rtz(half3);
5846uint4 __ovld __cnfn convert_uint4(half4);
5847uint4 __ovld __cnfn convert_uint4_rte(half4);
5848uint4 __ovld __cnfn convert_uint4_rtp(half4);
5849uint4 __ovld __cnfn convert_uint4_rtn(half4);
5850uint4 __ovld __cnfn convert_uint4_rtz(half4);
5851uint4 __ovld __cnfn convert_uint4_sat(half4);
5852uint4 __ovld __cnfn convert_uint4_sat_rte(half4);
5853uint4 __ovld __cnfn convert_uint4_sat_rtp(half4);
5854uint4 __ovld __cnfn convert_uint4_sat_rtn(half4);
5855uint4 __ovld __cnfn convert_uint4_sat_rtz(half4);
5856uint8 __ovld __cnfn convert_uint8(half8);
5857uint8 __ovld __cnfn convert_uint8_rte(half8);
5858uint8 __ovld __cnfn convert_uint8_rtp(half8);
5859uint8 __ovld __cnfn convert_uint8_rtn(half8);
5860uint8 __ovld __cnfn convert_uint8_rtz(half8);
5861uint8 __ovld __cnfn convert_uint8_sat(half8);
5862uint8 __ovld __cnfn convert_uint8_sat_rte(half8);
5863uint8 __ovld __cnfn convert_uint8_sat_rtp(half8);
5864uint8 __ovld __cnfn convert_uint8_sat_rtn(half8);
5865uint8 __ovld __cnfn convert_uint8_sat_rtz(half8);
5866uint16 __ovld __cnfn convert_uint16(half16);
5867uint16 __ovld __cnfn convert_uint16_rte(half16);
5868uint16 __ovld __cnfn convert_uint16_rtp(half16);
5869uint16 __ovld __cnfn convert_uint16_rtn(half16);
5870uint16 __ovld __cnfn convert_uint16_rtz(half16);
5871uint16 __ovld __cnfn convert_uint16_sat(half16);
5872uint16 __ovld __cnfn convert_uint16_sat_rte(half16);
5873uint16 __ovld __cnfn convert_uint16_sat_rtp(half16);
5874uint16 __ovld __cnfn convert_uint16_sat_rtn(half16);
5875uint16 __ovld __cnfn convert_uint16_sat_rtz(half16);
5876ulong __ovld __cnfn convert_ulong(half);
5877ulong __ovld __cnfn convert_ulong_rte(half);
5878ulong __ovld __cnfn convert_ulong_rtp(half);
5879ulong __ovld __cnfn convert_ulong_rtn(half);
5880ulong __ovld __cnfn convert_ulong_rtz(half);
5881ulong __ovld __cnfn convert_ulong_sat(half);
5882ulong __ovld __cnfn convert_ulong_sat_rte(half);
5883ulong __ovld __cnfn convert_ulong_sat_rtp(half);
5884ulong __ovld __cnfn convert_ulong_sat_rtn(half);
5885ulong __ovld __cnfn convert_ulong_sat_rtz(half);
5886ulong2 __ovld __cnfn convert_ulong2(half2);
5887ulong2 __ovld __cnfn convert_ulong2_rte(half2);
5888ulong2 __ovld __cnfn convert_ulong2_rtp(half2);
5889ulong2 __ovld __cnfn convert_ulong2_rtn(half2);
5890ulong2 __ovld __cnfn convert_ulong2_rtz(half2);
5891ulong2 __ovld __cnfn convert_ulong2_sat(half2);
5892ulong2 __ovld __cnfn convert_ulong2_sat_rte(half2);
5893ulong2 __ovld __cnfn convert_ulong2_sat_rtp(half2);
5894ulong2 __ovld __cnfn convert_ulong2_sat_rtn(half2);
5895ulong2 __ovld __cnfn convert_ulong2_sat_rtz(half2);
5896ulong3 __ovld __cnfn convert_ulong3(half3);
5897ulong3 __ovld __cnfn convert_ulong3_rte(half3);
5898ulong3 __ovld __cnfn convert_ulong3_rtp(half3);
5899ulong3 __ovld __cnfn convert_ulong3_rtn(half3);
5900ulong3 __ovld __cnfn convert_ulong3_rtz(half3);
5901ulong3 __ovld __cnfn convert_ulong3_sat(half3);
5902ulong3 __ovld __cnfn convert_ulong3_sat_rte(half3);
5903ulong3 __ovld __cnfn convert_ulong3_sat_rtp(half3);
5904ulong3 __ovld __cnfn convert_ulong3_sat_rtn(half3);
5905ulong3 __ovld __cnfn convert_ulong3_sat_rtz(half3);
5906ulong4 __ovld __cnfn convert_ulong4(half4);
5907ulong4 __ovld __cnfn convert_ulong4_rte(half4);
5908ulong4 __ovld __cnfn convert_ulong4_rtp(half4);
5909ulong4 __ovld __cnfn convert_ulong4_rtn(half4);
5910ulong4 __ovld __cnfn convert_ulong4_rtz(half4);
5911ulong4 __ovld __cnfn convert_ulong4_sat(half4);
5912ulong4 __ovld __cnfn convert_ulong4_sat_rte(half4);
5913ulong4 __ovld __cnfn convert_ulong4_sat_rtp(half4);
5914ulong4 __ovld __cnfn convert_ulong4_sat_rtn(half4);
5915ulong4 __ovld __cnfn convert_ulong4_sat_rtz(half4);
5916ulong8 __ovld __cnfn convert_ulong8(half8);
5917ulong8 __ovld __cnfn convert_ulong8_rte(half8);
5918ulong8 __ovld __cnfn convert_ulong8_rtp(half8);
5919ulong8 __ovld __cnfn convert_ulong8_rtn(half8);
5920ulong8 __ovld __cnfn convert_ulong8_rtz(half8);
5921ulong8 __ovld __cnfn convert_ulong8_sat(half8);
5922ulong8 __ovld __cnfn convert_ulong8_sat_rte(half8);
5923ulong8 __ovld __cnfn convert_ulong8_sat_rtp(half8);
5924ulong8 __ovld __cnfn convert_ulong8_sat_rtn(half8);
5925ulong8 __ovld __cnfn convert_ulong8_sat_rtz(half8);
5926ulong16 __ovld __cnfn convert_ulong16(half16);
5927ulong16 __ovld __cnfn convert_ulong16_rte(half16);
5928ulong16 __ovld __cnfn convert_ulong16_rtp(half16);
5929ulong16 __ovld __cnfn convert_ulong16_rtn(half16);
5930ulong16 __ovld __cnfn convert_ulong16_rtz(half16);
5931ulong16 __ovld __cnfn convert_ulong16_sat(half16);
5932ulong16 __ovld __cnfn convert_ulong16_sat_rte(half16);
5933ulong16 __ovld __cnfn convert_ulong16_sat_rtp(half16);
5934ulong16 __ovld __cnfn convert_ulong16_sat_rtn(half16);
5935ulong16 __ovld __cnfn convert_ulong16_sat_rtz(half16);
5936char __ovld __cnfn convert_char(half);
5937char __ovld __cnfn convert_char_rte(half);
5938char __ovld __cnfn convert_char_rtp(half);
5939char __ovld __cnfn convert_char_rtn(half);
5940char __ovld __cnfn convert_char_rtz(half);
5941char __ovld __cnfn convert_char_sat(half);
5942char __ovld __cnfn convert_char_sat_rte(half);
5943char __ovld __cnfn convert_char_sat_rtp(half);
5944char __ovld __cnfn convert_char_sat_rtn(half);
5945char __ovld __cnfn convert_char_sat_rtz(half);
5946char2 __ovld __cnfn convert_char2(half2);
5947char2 __ovld __cnfn convert_char2_rte(half2);
5948char2 __ovld __cnfn convert_char2_rtp(half2);
5949char2 __ovld __cnfn convert_char2_rtn(half2);
5950char2 __ovld __cnfn convert_char2_rtz(half2);
5951char2 __ovld __cnfn convert_char2_sat(half2);
5952char2 __ovld __cnfn convert_char2_sat_rte(half2);
5953char2 __ovld __cnfn convert_char2_sat_rtp(half2);
5954char2 __ovld __cnfn convert_char2_sat_rtn(half2);
5955char2 __ovld __cnfn convert_char2_sat_rtz(half2);
5956char3 __ovld __cnfn convert_char3(half3);
5957char3 __ovld __cnfn convert_char3_rte(half3);
5958char3 __ovld __cnfn convert_char3_rtp(half3);
5959char3 __ovld __cnfn convert_char3_rtn(half3);
5960char3 __ovld __cnfn convert_char3_rtz(half3);
5961char3 __ovld __cnfn convert_char3_sat(half3);
5962char3 __ovld __cnfn convert_char3_sat_rte(half3);
5963char3 __ovld __cnfn convert_char3_sat_rtp(half3);
5964char3 __ovld __cnfn convert_char3_sat_rtn(half3);
5965char3 __ovld __cnfn convert_char3_sat_rtz(half3);
5966char4 __ovld __cnfn convert_char4(half4);
5967char4 __ovld __cnfn convert_char4_rte(half4);
5968char4 __ovld __cnfn convert_char4_rtp(half4);
5969char4 __ovld __cnfn convert_char4_rtn(half4);
5970char4 __ovld __cnfn convert_char4_rtz(half4);
5971char4 __ovld __cnfn convert_char4_sat(half4);
5972char4 __ovld __cnfn convert_char4_sat_rte(half4);
5973char4 __ovld __cnfn convert_char4_sat_rtp(half4);
5974char4 __ovld __cnfn convert_char4_sat_rtn(half4);
5975char4 __ovld __cnfn convert_char4_sat_rtz(half4);
5976char8 __ovld __cnfn convert_char8(half8);
5977char8 __ovld __cnfn convert_char8_rte(half8);
5978char8 __ovld __cnfn convert_char8_rtp(half8);
5979char8 __ovld __cnfn convert_char8_rtn(half8);
5980char8 __ovld __cnfn convert_char8_rtz(half8);
5981char8 __ovld __cnfn convert_char8_sat(half8);
5982char8 __ovld __cnfn convert_char8_sat_rte(half8);
5983char8 __ovld __cnfn convert_char8_sat_rtp(half8);
5984char8 __ovld __cnfn convert_char8_sat_rtn(half8);
5985char8 __ovld __cnfn convert_char8_sat_rtz(half8);
5986char16 __ovld __cnfn convert_char16(half16);
5987char16 __ovld __cnfn convert_char16_rte(half16);
5988char16 __ovld __cnfn convert_char16_rtp(half16);
5989char16 __ovld __cnfn convert_char16_rtn(half16);
5990char16 __ovld __cnfn convert_char16_rtz(half16);
5991char16 __ovld __cnfn convert_char16_sat(half16);
5992char16 __ovld __cnfn convert_char16_sat_rte(half16);
5993char16 __ovld __cnfn convert_char16_sat_rtp(half16);
5994char16 __ovld __cnfn convert_char16_sat_rtn(half16);
5995char16 __ovld __cnfn convert_char16_sat_rtz(half16);
5996short __ovld __cnfn convert_short(half);
5997short __ovld __cnfn convert_short_rte(half);
5998short __ovld __cnfn convert_short_rtp(half);
5999short __ovld __cnfn convert_short_rtn(half);
6000short __ovld __cnfn convert_short_rtz(half);
6001short __ovld __cnfn convert_short_sat(half);
6002short __ovld __cnfn convert_short_sat_rte(half);
6003short __ovld __cnfn convert_short_sat_rtp(half);
6004short __ovld __cnfn convert_short_sat_rtn(half);
6005short __ovld __cnfn convert_short_sat_rtz(half);
6006short2 __ovld __cnfn convert_short2(half2);
6007short2 __ovld __cnfn convert_short2_rte(half2);
6008short2 __ovld __cnfn convert_short2_rtp(half2);
6009short2 __ovld __cnfn convert_short2_rtn(half2);
6010short2 __ovld __cnfn convert_short2_rtz(half2);
6011short2 __ovld __cnfn convert_short2_sat(half2);
6012short2 __ovld __cnfn convert_short2_sat_rte(half2);
6013short2 __ovld __cnfn convert_short2_sat_rtp(half2);
6014short2 __ovld __cnfn convert_short2_sat_rtn(half2);
6015short2 __ovld __cnfn convert_short2_sat_rtz(half2);
6016short3 __ovld __cnfn convert_short3(half3);
6017short3 __ovld __cnfn convert_short3_rte(half3);
6018short3 __ovld __cnfn convert_short3_rtp(half3);
6019short3 __ovld __cnfn convert_short3_rtn(half3);
6020short3 __ovld __cnfn convert_short3_rtz(half3);
6021short3 __ovld __cnfn convert_short3_sat(half3);
6022short3 __ovld __cnfn convert_short3_sat_rte(half3);
6023short3 __ovld __cnfn convert_short3_sat_rtp(half3);
6024short3 __ovld __cnfn convert_short3_sat_rtn(half3);
6025short3 __ovld __cnfn convert_short3_sat_rtz(half3);
6026short4 __ovld __cnfn convert_short4(half4);
6027short4 __ovld __cnfn convert_short4_rte(half4);
6028short4 __ovld __cnfn convert_short4_rtp(half4);
6029short4 __ovld __cnfn convert_short4_rtn(half4);
6030short4 __ovld __cnfn convert_short4_rtz(half4);
6031short4 __ovld __cnfn convert_short4_sat(half4);
6032short4 __ovld __cnfn convert_short4_sat_rte(half4);
6033short4 __ovld __cnfn convert_short4_sat_rtp(half4);
6034short4 __ovld __cnfn convert_short4_sat_rtn(half4);
6035short4 __ovld __cnfn convert_short4_sat_rtz(half4);
6036short8 __ovld __cnfn convert_short8(half8);
6037short8 __ovld __cnfn convert_short8_rte(half8);
6038short8 __ovld __cnfn convert_short8_rtp(half8);
6039short8 __ovld __cnfn convert_short8_rtn(half8);
6040short8 __ovld __cnfn convert_short8_rtz(half8);
6041short8 __ovld __cnfn convert_short8_sat(half8);
6042short8 __ovld __cnfn convert_short8_sat_rte(half8);
6043short8 __ovld __cnfn convert_short8_sat_rtp(half8);
6044short8 __ovld __cnfn convert_short8_sat_rtn(half8);
6045short8 __ovld __cnfn convert_short8_sat_rtz(half8);
6046short16 __ovld __cnfn convert_short16(half16);
6047short16 __ovld __cnfn convert_short16_rte(half16);
6048short16 __ovld __cnfn convert_short16_rtp(half16);
6049short16 __ovld __cnfn convert_short16_rtn(half16);
6050short16 __ovld __cnfn convert_short16_rtz(half16);
6051short16 __ovld __cnfn convert_short16_sat(half16);
6052short16 __ovld __cnfn convert_short16_sat_rte(half16);
6053short16 __ovld __cnfn convert_short16_sat_rtp(half16);
6054short16 __ovld __cnfn convert_short16_sat_rtn(half16);
6055short16 __ovld __cnfn convert_short16_sat_rtz(half16);
6056int __ovld __cnfn convert_int(half);
6057int __ovld __cnfn convert_int_rte(half);
6058int __ovld __cnfn convert_int_rtp(half);
6059int __ovld __cnfn convert_int_rtn(half);
6060int __ovld __cnfn convert_int_rtz(half);
6061int __ovld __cnfn convert_int_sat(half);
6062int __ovld __cnfn convert_int_sat_rte(half);
6063int __ovld __cnfn convert_int_sat_rtp(half);
6064int __ovld __cnfn convert_int_sat_rtn(half);
6065int __ovld __cnfn convert_int_sat_rtz(half);
6066int2 __ovld __cnfn convert_int2(half2);
6067int2 __ovld __cnfn convert_int2_rte(half2);
6068int2 __ovld __cnfn convert_int2_rtp(half2);
6069int2 __ovld __cnfn convert_int2_rtn(half2);
6070int2 __ovld __cnfn convert_int2_rtz(half2);
6071int2 __ovld __cnfn convert_int2_sat(half2);
6072int2 __ovld __cnfn convert_int2_sat_rte(half2);
6073int2 __ovld __cnfn convert_int2_sat_rtp(half2);
6074int2 __ovld __cnfn convert_int2_sat_rtn(half2);
6075int2 __ovld __cnfn convert_int2_sat_rtz(half2);
6076int3 __ovld __cnfn convert_int3(half3);
6077int3 __ovld __cnfn convert_int3_rte(half3);
6078int3 __ovld __cnfn convert_int3_rtp(half3);
6079int3 __ovld __cnfn convert_int3_rtn(half3);
6080int3 __ovld __cnfn convert_int3_rtz(half3);
6081int3 __ovld __cnfn convert_int3_sat(half3);
6082int3 __ovld __cnfn convert_int3_sat_rte(half3);
6083int3 __ovld __cnfn convert_int3_sat_rtp(half3);
6084int3 __ovld __cnfn convert_int3_sat_rtn(half3);
6085int3 __ovld __cnfn convert_int3_sat_rtz(half3);
6086int4 __ovld __cnfn convert_int4(half4);
6087int4 __ovld __cnfn convert_int4_rte(half4);
6088int4 __ovld __cnfn convert_int4_rtp(half4);
6089int4 __ovld __cnfn convert_int4_rtn(half4);
6090int4 __ovld __cnfn convert_int4_rtz(half4);
6091int4 __ovld __cnfn convert_int4_sat(half4);
6092int4 __ovld __cnfn convert_int4_sat_rte(half4);
6093int4 __ovld __cnfn convert_int4_sat_rtp(half4);
6094int4 __ovld __cnfn convert_int4_sat_rtn(half4);
6095int4 __ovld __cnfn convert_int4_sat_rtz(half4);
6096int8 __ovld __cnfn convert_int8(half8);
6097int8 __ovld __cnfn convert_int8_rte(half8);
6098int8 __ovld __cnfn convert_int8_rtp(half8);
6099int8 __ovld __cnfn convert_int8_rtn(half8);
6100int8 __ovld __cnfn convert_int8_rtz(half8);
6101int8 __ovld __cnfn convert_int8_sat(half8);
6102int8 __ovld __cnfn convert_int8_sat_rte(half8);
6103int8 __ovld __cnfn convert_int8_sat_rtp(half8);
6104int8 __ovld __cnfn convert_int8_sat_rtn(half8);
6105int8 __ovld __cnfn convert_int8_sat_rtz(half8);
6106int16 __ovld __cnfn convert_int16(half16);
6107int16 __ovld __cnfn convert_int16_rte(half16);
6108int16 __ovld __cnfn convert_int16_rtp(half16);
6109int16 __ovld __cnfn convert_int16_rtn(half16);
6110int16 __ovld __cnfn convert_int16_rtz(half16);
6111int16 __ovld __cnfn convert_int16_sat(half16);
6112int16 __ovld __cnfn convert_int16_sat_rte(half16);
6113int16 __ovld __cnfn convert_int16_sat_rtp(half16);
6114int16 __ovld __cnfn convert_int16_sat_rtn(half16);
6115int16 __ovld __cnfn convert_int16_sat_rtz(half16);
6116long __ovld __cnfn convert_long(half);
6117long __ovld __cnfn convert_long_rte(half);
6118long __ovld __cnfn convert_long_rtp(half);
6119long __ovld __cnfn convert_long_rtn(half);
6120long __ovld __cnfn convert_long_rtz(half);
6121long __ovld __cnfn convert_long_sat(half);
6122long __ovld __cnfn convert_long_sat_rte(half);
6123long __ovld __cnfn convert_long_sat_rtp(half);
6124long __ovld __cnfn convert_long_sat_rtn(half);
6125long __ovld __cnfn convert_long_sat_rtz(half);
6126long2 __ovld __cnfn convert_long2(half2);
6127long2 __ovld __cnfn convert_long2_rte(half2);
6128long2 __ovld __cnfn convert_long2_rtp(half2);
6129long2 __ovld __cnfn convert_long2_rtn(half2);
6130long2 __ovld __cnfn convert_long2_rtz(half2);
6131long2 __ovld __cnfn convert_long2_sat(half2);
6132long2 __ovld __cnfn convert_long2_sat_rte(half2);
6133long2 __ovld __cnfn convert_long2_sat_rtp(half2);
6134long2 __ovld __cnfn convert_long2_sat_rtn(half2);
6135long2 __ovld __cnfn convert_long2_sat_rtz(half2);
6136long3 __ovld __cnfn convert_long3(half3);
6137long3 __ovld __cnfn convert_long3_rte(half3);
6138long3 __ovld __cnfn convert_long3_rtp(half3);
6139long3 __ovld __cnfn convert_long3_rtn(half3);
6140long3 __ovld __cnfn convert_long3_rtz(half3);
6141long3 __ovld __cnfn convert_long3_sat(half3);
6142long3 __ovld __cnfn convert_long3_sat_rte(half3);
6143long3 __ovld __cnfn convert_long3_sat_rtp(half3);
6144long3 __ovld __cnfn convert_long3_sat_rtn(half3);
6145long3 __ovld __cnfn convert_long3_sat_rtz(half3);
6146long4 __ovld __cnfn convert_long4(half4);
6147long4 __ovld __cnfn convert_long4_rte(half4);
6148long4 __ovld __cnfn convert_long4_rtp(half4);
6149long4 __ovld __cnfn convert_long4_rtn(half4);
6150long4 __ovld __cnfn convert_long4_rtz(half4);
6151long4 __ovld __cnfn convert_long4_sat(half4);
6152long4 __ovld __cnfn convert_long4_sat_rte(half4);
6153long4 __ovld __cnfn convert_long4_sat_rtp(half4);
6154long4 __ovld __cnfn convert_long4_sat_rtn(half4);
6155long4 __ovld __cnfn convert_long4_sat_rtz(half4);
6156long8 __ovld __cnfn convert_long8(half8);
6157long8 __ovld __cnfn convert_long8_rte(half8);
6158long8 __ovld __cnfn convert_long8_rtp(half8);
6159long8 __ovld __cnfn convert_long8_rtn(half8);
6160long8 __ovld __cnfn convert_long8_rtz(half8);
6161long8 __ovld __cnfn convert_long8_sat(half8);
6162long8 __ovld __cnfn convert_long8_sat_rte(half8);
6163long8 __ovld __cnfn convert_long8_sat_rtp(half8);
6164long8 __ovld __cnfn convert_long8_sat_rtn(half8);
6165long8 __ovld __cnfn convert_long8_sat_rtz(half8);
6166long16 __ovld __cnfn convert_long16(half16);
6167long16 __ovld __cnfn convert_long16_rte(half16);
6168long16 __ovld __cnfn convert_long16_rtp(half16);
6169long16 __ovld __cnfn convert_long16_rtn(half16);
6170long16 __ovld __cnfn convert_long16_rtz(half16);
6171long16 __ovld __cnfn convert_long16_sat(half16);
6172long16 __ovld __cnfn convert_long16_sat_rte(half16);
6173long16 __ovld __cnfn convert_long16_sat_rtp(half16);
6174long16 __ovld __cnfn convert_long16_sat_rtn(half16);
6175long16 __ovld __cnfn convert_long16_sat_rtz(half16);
6176float __ovld __cnfn convert_float(half);
6177float __ovld __cnfn convert_float_rte(half);
6178float __ovld __cnfn convert_float_rtp(half);
6179float __ovld __cnfn convert_float_rtn(half);
6180float __ovld __cnfn convert_float_rtz(half);
6181float2 __ovld __cnfn convert_float2(half2);
6182float2 __ovld __cnfn convert_float2_rte(half2);
6183float2 __ovld __cnfn convert_float2_rtp(half2);
6184float2 __ovld __cnfn convert_float2_rtn(half2);
6185float2 __ovld __cnfn convert_float2_rtz(half2);
6186float3 __ovld __cnfn convert_float3(half3);
6187float3 __ovld __cnfn convert_float3_rte(half3);
6188float3 __ovld __cnfn convert_float3_rtp(half3);
6189float3 __ovld __cnfn convert_float3_rtn(half3);
6190float3 __ovld __cnfn convert_float3_rtz(half3);
6191float4 __ovld __cnfn convert_float4(half4);
6192float4 __ovld __cnfn convert_float4_rte(half4);
6193float4 __ovld __cnfn convert_float4_rtp(half4);
6194float4 __ovld __cnfn convert_float4_rtn(half4);
6195float4 __ovld __cnfn convert_float4_rtz(half4);
6196float8 __ovld __cnfn convert_float8(half8);
6197float8 __ovld __cnfn convert_float8_rte(half8);
6198float8 __ovld __cnfn convert_float8_rtp(half8);
6199float8 __ovld __cnfn convert_float8_rtn(half8);
6200float8 __ovld __cnfn convert_float8_rtz(half8);
6201float16 __ovld __cnfn convert_float16(half16);
6202float16 __ovld __cnfn convert_float16_rte(half16);
6203float16 __ovld __cnfn convert_float16_rtp(half16);
6204float16 __ovld __cnfn convert_float16_rtn(half16);
6205float16 __ovld __cnfn convert_float16_rtz(half16);
6206
6207// Convert non-double types to half types.
6208half __ovld __cnfn convert_half(uchar);
6209half __ovld __cnfn convert_half(ushort);
6210half __ovld __cnfn convert_half(uint);
6211half __ovld __cnfn convert_half(ulong);
6212half __ovld __cnfn convert_half(char);
6213half __ovld __cnfn convert_half(short);
6214half __ovld __cnfn convert_half(int);
6215half __ovld __cnfn convert_half(long);
6216half __ovld __cnfn convert_half(float);
6217half __ovld __cnfn convert_half(half);
6218half __ovld __cnfn convert_half_rte(uchar);
6219half __ovld __cnfn convert_half_rte(ushort);
6220half __ovld __cnfn convert_half_rte(uint);
6221half __ovld __cnfn convert_half_rte(ulong);
6222half __ovld __cnfn convert_half_rte(char);
6223half __ovld __cnfn convert_half_rte(short);
6224half __ovld __cnfn convert_half_rte(int);
6225half __ovld __cnfn convert_half_rte(long);
6226half __ovld __cnfn convert_half_rte(float);
6227half __ovld __cnfn convert_half_rte(half);
6228half __ovld __cnfn convert_half_rtp(uchar);
6229half __ovld __cnfn convert_half_rtp(ushort);
6230half __ovld __cnfn convert_half_rtp(uint);
6231half __ovld __cnfn convert_half_rtp(ulong);
6232half __ovld __cnfn convert_half_rtp(char);
6233half __ovld __cnfn convert_half_rtp(short);
6234half __ovld __cnfn convert_half_rtp(int);
6235half __ovld __cnfn convert_half_rtp(long);
6236half __ovld __cnfn convert_half_rtp(float);
6237half __ovld __cnfn convert_half_rtp(half);
6238half __ovld __cnfn convert_half_rtn(uchar);
6239half __ovld __cnfn convert_half_rtn(ushort);
6240half __ovld __cnfn convert_half_rtn(uint);
6241half __ovld __cnfn convert_half_rtn(ulong);
6242half __ovld __cnfn convert_half_rtn(char);
6243half __ovld __cnfn convert_half_rtn(short);
6244half __ovld __cnfn convert_half_rtn(int);
6245half __ovld __cnfn convert_half_rtn(long);
6246half __ovld __cnfn convert_half_rtn(float);
6247half __ovld __cnfn convert_half_rtn(half);
6248half __ovld __cnfn convert_half_rtz(uchar);
6249half __ovld __cnfn convert_half_rtz(ushort);
6250half __ovld __cnfn convert_half_rtz(uint);
6251half __ovld __cnfn convert_half_rtz(ulong);
6252half __ovld __cnfn convert_half_rtz(char);
6253half __ovld __cnfn convert_half_rtz(short);
6254half __ovld __cnfn convert_half_rtz(int);
6255half __ovld __cnfn convert_half_rtz(long);
6256half __ovld __cnfn convert_half_rtz(float);
6257half __ovld __cnfn convert_half_rtz(half);
6258half2 __ovld __cnfn convert_half2(char2);
6259half2 __ovld __cnfn convert_half2(uchar2);
6260half2 __ovld __cnfn convert_half2(short2);
6261half2 __ovld __cnfn convert_half2(ushort2);
6262half2 __ovld __cnfn convert_half2(int2);
6263half2 __ovld __cnfn convert_half2(uint2);
6264half2 __ovld __cnfn convert_half2(long2);
6265half2 __ovld __cnfn convert_half2(ulong2);
6266half2 __ovld __cnfn convert_half2(float2);
6267half2 __ovld __cnfn convert_half2(half2);
6268half2 __ovld __cnfn convert_half2_rte(char2);
6269half2 __ovld __cnfn convert_half2_rte(uchar2);
6270half2 __ovld __cnfn convert_half2_rte(short2);
6271half2 __ovld __cnfn convert_half2_rte(ushort2);
6272half2 __ovld __cnfn convert_half2_rte(int2);
6273half2 __ovld __cnfn convert_half2_rte(uint2);
6274half2 __ovld __cnfn convert_half2_rte(long2);
6275half2 __ovld __cnfn convert_half2_rte(ulong2);
6276half2 __ovld __cnfn convert_half2_rte(float2);
6277half2 __ovld __cnfn convert_half2_rte(half2);
6278half2 __ovld __cnfn convert_half2_rtp(char2);
6279half2 __ovld __cnfn convert_half2_rtp(uchar2);
6280half2 __ovld __cnfn convert_half2_rtp(short2);
6281half2 __ovld __cnfn convert_half2_rtp(ushort2);
6282half2 __ovld __cnfn convert_half2_rtp(int2);
6283half2 __ovld __cnfn convert_half2_rtp(uint2);
6284half2 __ovld __cnfn convert_half2_rtp(long2);
6285half2 __ovld __cnfn convert_half2_rtp(ulong2);
6286half2 __ovld __cnfn convert_half2_rtp(float2);
6287half2 __ovld __cnfn convert_half2_rtp(half2);
6288half2 __ovld __cnfn convert_half2_rtn(char2);
6289half2 __ovld __cnfn convert_half2_rtn(uchar2);
6290half2 __ovld __cnfn convert_half2_rtn(short2);
6291half2 __ovld __cnfn convert_half2_rtn(ushort2);
6292half2 __ovld __cnfn convert_half2_rtn(int2);
6293half2 __ovld __cnfn convert_half2_rtn(uint2);
6294half2 __ovld __cnfn convert_half2_rtn(long2);
6295half2 __ovld __cnfn convert_half2_rtn(ulong2);
6296half2 __ovld __cnfn convert_half2_rtn(float2);
6297half2 __ovld __cnfn convert_half2_rtn(half2);
6298half2 __ovld __cnfn convert_half2_rtz(char2);
6299half2 __ovld __cnfn convert_half2_rtz(uchar2);
6300half2 __ovld __cnfn convert_half2_rtz(short2);
6301half2 __ovld __cnfn convert_half2_rtz(ushort2);
6302half2 __ovld __cnfn convert_half2_rtz(int2);
6303half2 __ovld __cnfn convert_half2_rtz(uint2);
6304half2 __ovld __cnfn convert_half2_rtz(long2);
6305half2 __ovld __cnfn convert_half2_rtz(ulong2);
6306half2 __ovld __cnfn convert_half2_rtz(float2);
6307half2 __ovld __cnfn convert_half2_rtz(half2);
6308half3 __ovld __cnfn convert_half3(char3);
6309half3 __ovld __cnfn convert_half3(uchar3);
6310half3 __ovld __cnfn convert_half3(short3);
6311half3 __ovld __cnfn convert_half3(ushort3);
6312half3 __ovld __cnfn convert_half3(int3);
6313half3 __ovld __cnfn convert_half3(uint3);
6314half3 __ovld __cnfn convert_half3(long3);
6315half3 __ovld __cnfn convert_half3(ulong3);
6316half3 __ovld __cnfn convert_half3(float3);
6317half3 __ovld __cnfn convert_half3(half3);
6318half3 __ovld __cnfn convert_half3_rte(char3);
6319half3 __ovld __cnfn convert_half3_rte(uchar3);
6320half3 __ovld __cnfn convert_half3_rte(short3);
6321half3 __ovld __cnfn convert_half3_rte(ushort3);
6322half3 __ovld __cnfn convert_half3_rte(int3);
6323half3 __ovld __cnfn convert_half3_rte(uint3);
6324half3 __ovld __cnfn convert_half3_rte(long3);
6325half3 __ovld __cnfn convert_half3_rte(ulong3);
6326half3 __ovld __cnfn convert_half3_rte(float3);
6327half3 __ovld __cnfn convert_half3_rte(half3);
6328half3 __ovld __cnfn convert_half3_rtp(char3);
6329half3 __ovld __cnfn convert_half3_rtp(uchar3);
6330half3 __ovld __cnfn convert_half3_rtp(short3);
6331half3 __ovld __cnfn convert_half3_rtp(ushort3);
6332half3 __ovld __cnfn convert_half3_rtp(int3);
6333half3 __ovld __cnfn convert_half3_rtp(uint3);
6334half3 __ovld __cnfn convert_half3_rtp(long3);
6335half3 __ovld __cnfn convert_half3_rtp(ulong3);
6336half3 __ovld __cnfn convert_half3_rtp(float3);
6337half3 __ovld __cnfn convert_half3_rtp(half3);
6338half3 __ovld __cnfn convert_half3_rtn(char3);
6339half3 __ovld __cnfn convert_half3_rtn(uchar3);
6340half3 __ovld __cnfn convert_half3_rtn(short3);
6341half3 __ovld __cnfn convert_half3_rtn(ushort3);
6342half3 __ovld __cnfn convert_half3_rtn(int3);
6343half3 __ovld __cnfn convert_half3_rtn(uint3);
6344half3 __ovld __cnfn convert_half3_rtn(long3);
6345half3 __ovld __cnfn convert_half3_rtn(ulong3);
6346half3 __ovld __cnfn convert_half3_rtn(float3);
6347half3 __ovld __cnfn convert_half3_rtn(half3);
6348half3 __ovld __cnfn convert_half3_rtz(char3);
6349half3 __ovld __cnfn convert_half3_rtz(uchar3);
6350half3 __ovld __cnfn convert_half3_rtz(short3);
6351half3 __ovld __cnfn convert_half3_rtz(ushort3);
6352half3 __ovld __cnfn convert_half3_rtz(int3);
6353half3 __ovld __cnfn convert_half3_rtz(uint3);
6354half3 __ovld __cnfn convert_half3_rtz(long3);
6355half3 __ovld __cnfn convert_half3_rtz(ulong3);
6356half3 __ovld __cnfn convert_half3_rtz(float3);
6357half3 __ovld __cnfn convert_half3_rtz(half3);
6358half4 __ovld __cnfn convert_half4(char4);
6359half4 __ovld __cnfn convert_half4(uchar4);
6360half4 __ovld __cnfn convert_half4(short4);
6361half4 __ovld __cnfn convert_half4(ushort4);
6362half4 __ovld __cnfn convert_half4(int4);
6363half4 __ovld __cnfn convert_half4(uint4);
6364half4 __ovld __cnfn convert_half4(long4);
6365half4 __ovld __cnfn convert_half4(ulong4);
6366half4 __ovld __cnfn convert_half4(float4);
6367half4 __ovld __cnfn convert_half4(half4);
6368half4 __ovld __cnfn convert_half4_rte(char4);
6369half4 __ovld __cnfn convert_half4_rte(uchar4);
6370half4 __ovld __cnfn convert_half4_rte(short4);
6371half4 __ovld __cnfn convert_half4_rte(ushort4);
6372half4 __ovld __cnfn convert_half4_rte(int4);
6373half4 __ovld __cnfn convert_half4_rte(uint4);
6374half4 __ovld __cnfn convert_half4_rte(long4);
6375half4 __ovld __cnfn convert_half4_rte(ulong4);
6376half4 __ovld __cnfn convert_half4_rte(float4);
6377half4 __ovld __cnfn convert_half4_rte(half4);
6378half4 __ovld __cnfn convert_half4_rtp(char4);
6379half4 __ovld __cnfn convert_half4_rtp(uchar4);
6380half4 __ovld __cnfn convert_half4_rtp(short4);
6381half4 __ovld __cnfn convert_half4_rtp(ushort4);
6382half4 __ovld __cnfn convert_half4_rtp(int4);
6383half4 __ovld __cnfn convert_half4_rtp(uint4);
6384half4 __ovld __cnfn convert_half4_rtp(long4);
6385half4 __ovld __cnfn convert_half4_rtp(ulong4);
6386half4 __ovld __cnfn convert_half4_rtp(float4);
6387half4 __ovld __cnfn convert_half4_rtp(half4);
6388half4 __ovld __cnfn convert_half4_rtn(char4);
6389half4 __ovld __cnfn convert_half4_rtn(uchar4);
6390half4 __ovld __cnfn convert_half4_rtn(short4);
6391half4 __ovld __cnfn convert_half4_rtn(ushort4);
6392half4 __ovld __cnfn convert_half4_rtn(int4);
6393half4 __ovld __cnfn convert_half4_rtn(uint4);
6394half4 __ovld __cnfn convert_half4_rtn(long4);
6395half4 __ovld __cnfn convert_half4_rtn(ulong4);
6396half4 __ovld __cnfn convert_half4_rtn(float4);
6397half4 __ovld __cnfn convert_half4_rtn(half4);
6398half4 __ovld __cnfn convert_half4_rtz(char4);
6399half4 __ovld __cnfn convert_half4_rtz(uchar4);
6400half4 __ovld __cnfn convert_half4_rtz(short4);
6401half4 __ovld __cnfn convert_half4_rtz(ushort4);
6402half4 __ovld __cnfn convert_half4_rtz(int4);
6403half4 __ovld __cnfn convert_half4_rtz(uint4);
6404half4 __ovld __cnfn convert_half4_rtz(long4);
6405half4 __ovld __cnfn convert_half4_rtz(ulong4);
6406half4 __ovld __cnfn convert_half4_rtz(float4);
6407half4 __ovld __cnfn convert_half4_rtz(half4);
6408half8 __ovld __cnfn convert_half8(char8);
6409half8 __ovld __cnfn convert_half8(uchar8);
6410half8 __ovld __cnfn convert_half8(short8);
6411half8 __ovld __cnfn convert_half8(ushort8);
6412half8 __ovld __cnfn convert_half8(int8);
6413half8 __ovld __cnfn convert_half8(uint8);
6414half8 __ovld __cnfn convert_half8(long8);
6415half8 __ovld __cnfn convert_half8(ulong8);
6416half8 __ovld __cnfn convert_half8(float8);
6417half8 __ovld __cnfn convert_half8(half8);
6418half8 __ovld __cnfn convert_half8_rte(char8);
6419half8 __ovld __cnfn convert_half8_rte(uchar8);
6420half8 __ovld __cnfn convert_half8_rte(short8);
6421half8 __ovld __cnfn convert_half8_rte(ushort8);
6422half8 __ovld __cnfn convert_half8_rte(int8);
6423half8 __ovld __cnfn convert_half8_rte(uint8);
6424half8 __ovld __cnfn convert_half8_rte(long8);
6425half8 __ovld __cnfn convert_half8_rte(ulong8);
6426half8 __ovld __cnfn convert_half8_rte(float8);
6427half8 __ovld __cnfn convert_half8_rte(half8);
6428half8 __ovld __cnfn convert_half8_rtp(char8);
6429half8 __ovld __cnfn convert_half8_rtp(uchar8);
6430half8 __ovld __cnfn convert_half8_rtp(short8);
6431half8 __ovld __cnfn convert_half8_rtp(ushort8);
6432half8 __ovld __cnfn convert_half8_rtp(int8);
6433half8 __ovld __cnfn convert_half8_rtp(uint8);
6434half8 __ovld __cnfn convert_half8_rtp(long8);
6435half8 __ovld __cnfn convert_half8_rtp(ulong8);
6436half8 __ovld __cnfn convert_half8_rtp(float8);
6437half8 __ovld __cnfn convert_half8_rtp(half8);
6438half8 __ovld __cnfn convert_half8_rtn(char8);
6439half8 __ovld __cnfn convert_half8_rtn(uchar8);
6440half8 __ovld __cnfn convert_half8_rtn(short8);
6441half8 __ovld __cnfn convert_half8_rtn(ushort8);
6442half8 __ovld __cnfn convert_half8_rtn(int8);
6443half8 __ovld __cnfn convert_half8_rtn(uint8);
6444half8 __ovld __cnfn convert_half8_rtn(long8);
6445half8 __ovld __cnfn convert_half8_rtn(ulong8);
6446half8 __ovld __cnfn convert_half8_rtn(float8);
6447half8 __ovld __cnfn convert_half8_rtn(half8);
6448half8 __ovld __cnfn convert_half8_rtz(char8);
6449half8 __ovld __cnfn convert_half8_rtz(uchar8);
6450half8 __ovld __cnfn convert_half8_rtz(short8);
6451half8 __ovld __cnfn convert_half8_rtz(ushort8);
6452half8 __ovld __cnfn convert_half8_rtz(int8);
6453half8 __ovld __cnfn convert_half8_rtz(uint8);
6454half8 __ovld __cnfn convert_half8_rtz(long8);
6455half8 __ovld __cnfn convert_half8_rtz(ulong8);
6456half8 __ovld __cnfn convert_half8_rtz(float8);
6457half8 __ovld __cnfn convert_half8_rtz(half8);
6458half16 __ovld __cnfn convert_half16(char16);
6459half16 __ovld __cnfn convert_half16(uchar16);
6460half16 __ovld __cnfn convert_half16(short16);
6461half16 __ovld __cnfn convert_half16(ushort16);
6462half16 __ovld __cnfn convert_half16(int16);
6463half16 __ovld __cnfn convert_half16(uint16);
6464half16 __ovld __cnfn convert_half16(long16);
6465half16 __ovld __cnfn convert_half16(ulong16);
6466half16 __ovld __cnfn convert_half16(float16);
6467half16 __ovld __cnfn convert_half16(half16);
6468half16 __ovld __cnfn convert_half16_rte(char16);
6469half16 __ovld __cnfn convert_half16_rte(uchar16);
6470half16 __ovld __cnfn convert_half16_rte(short16);
6471half16 __ovld __cnfn convert_half16_rte(ushort16);
6472half16 __ovld __cnfn convert_half16_rte(int16);
6473half16 __ovld __cnfn convert_half16_rte(uint16);
6474half16 __ovld __cnfn convert_half16_rte(long16);
6475half16 __ovld __cnfn convert_half16_rte(ulong16);
6476half16 __ovld __cnfn convert_half16_rte(float16);
6477half16 __ovld __cnfn convert_half16_rte(half16);
6478half16 __ovld __cnfn convert_half16_rtp(char16);
6479half16 __ovld __cnfn convert_half16_rtp(uchar16);
6480half16 __ovld __cnfn convert_half16_rtp(short16);
6481half16 __ovld __cnfn convert_half16_rtp(ushort16);
6482half16 __ovld __cnfn convert_half16_rtp(int16);
6483half16 __ovld __cnfn convert_half16_rtp(uint16);
6484half16 __ovld __cnfn convert_half16_rtp(long16);
6485half16 __ovld __cnfn convert_half16_rtp(ulong16);
6486half16 __ovld __cnfn convert_half16_rtp(float16);
6487half16 __ovld __cnfn convert_half16_rtp(half16);
6488half16 __ovld __cnfn convert_half16_rtn(char16);
6489half16 __ovld __cnfn convert_half16_rtn(uchar16);
6490half16 __ovld __cnfn convert_half16_rtn(short16);
6491half16 __ovld __cnfn convert_half16_rtn(ushort16);
6492half16 __ovld __cnfn convert_half16_rtn(int16);
6493half16 __ovld __cnfn convert_half16_rtn(uint16);
6494half16 __ovld __cnfn convert_half16_rtn(long16);
6495half16 __ovld __cnfn convert_half16_rtn(ulong16);
6496half16 __ovld __cnfn convert_half16_rtn(float16);
6497half16 __ovld __cnfn convert_half16_rtn(half16);
6498half16 __ovld __cnfn convert_half16_rtz(char16);
6499half16 __ovld __cnfn convert_half16_rtz(uchar16);
6500half16 __ovld __cnfn convert_half16_rtz(short16);
6501half16 __ovld __cnfn convert_half16_rtz(ushort16);
6502half16 __ovld __cnfn convert_half16_rtz(int16);
6503half16 __ovld __cnfn convert_half16_rtz(uint16);
6504half16 __ovld __cnfn convert_half16_rtz(long16);
6505half16 __ovld __cnfn convert_half16_rtz(ulong16);
6506half16 __ovld __cnfn convert_half16_rtz(float16);
6507half16 __ovld __cnfn convert_half16_rtz(half16);
6508
6509// Convert half types to double types.
6510#ifdef cl_khr_fp64
6511double __ovld __cnfn convert_double(half);
6512double __ovld __cnfn convert_double_rte(half);
6513double __ovld __cnfn convert_double_rtp(half);
6514double __ovld __cnfn convert_double_rtn(half);
6515double __ovld __cnfn convert_double_rtz(half);
6516double2 __ovld __cnfn convert_double2(half2);
6517double2 __ovld __cnfn convert_double2_rte(half2);
6518double2 __ovld __cnfn convert_double2_rtp(half2);
6519double2 __ovld __cnfn convert_double2_rtn(half2);
6520double2 __ovld __cnfn convert_double2_rtz(half2);
6521double3 __ovld __cnfn convert_double3(half3);
6522double3 __ovld __cnfn convert_double3_rte(half3);
6523double3 __ovld __cnfn convert_double3_rtp(half3);
6524double3 __ovld __cnfn convert_double3_rtn(half3);
6525double3 __ovld __cnfn convert_double3_rtz(half3);
6526double4 __ovld __cnfn convert_double4(half4);
6527double4 __ovld __cnfn convert_double4_rte(half4);
6528double4 __ovld __cnfn convert_double4_rtp(half4);
6529double4 __ovld __cnfn convert_double4_rtn(half4);
6530double4 __ovld __cnfn convert_double4_rtz(half4);
6531double8 __ovld __cnfn convert_double8(half8);
6532double8 __ovld __cnfn convert_double8_rte(half8);
6533double8 __ovld __cnfn convert_double8_rtp(half8);
6534double8 __ovld __cnfn convert_double8_rtn(half8);
6535double8 __ovld __cnfn convert_double8_rtz(half8);
6536double16 __ovld __cnfn convert_double16(half16);
6537double16 __ovld __cnfn convert_double16_rte(half16);
6538double16 __ovld __cnfn convert_double16_rtp(half16);
6539double16 __ovld __cnfn convert_double16_rtn(half16);
6540double16 __ovld __cnfn convert_double16_rtz(half16);
6541
6542// Convert double types to half types.
6543half __ovld __cnfn convert_half(double);
6544half __ovld __cnfn convert_half_rte(double);
6545half __ovld __cnfn convert_half_rtp(double);
6546half __ovld __cnfn convert_half_rtn(double);
6547half __ovld __cnfn convert_half_rtz(double);
6548half2 __ovld __cnfn convert_half2(double2);
6549half2 __ovld __cnfn convert_half2_rte(double2);
6550half2 __ovld __cnfn convert_half2_rtp(double2);
6551half2 __ovld __cnfn convert_half2_rtn(double2);
6552half2 __ovld __cnfn convert_half2_rtz(double2);
6553half3 __ovld __cnfn convert_half3(double3);
6554half3 __ovld __cnfn convert_half3_rte(double3);
6555half3 __ovld __cnfn convert_half3_rtp(double3);
6556half3 __ovld __cnfn convert_half3_rtn(double3);
6557half3 __ovld __cnfn convert_half3_rtz(double3);
6558half4 __ovld __cnfn convert_half4(double4);
6559half4 __ovld __cnfn convert_half4_rte(double4);
6560half4 __ovld __cnfn convert_half4_rtp(double4);
6561half4 __ovld __cnfn convert_half4_rtn(double4);
6562half4 __ovld __cnfn convert_half4_rtz(double4);
6563half8 __ovld __cnfn convert_half8(double8);
6564half8 __ovld __cnfn convert_half8_rte(double8);
6565half8 __ovld __cnfn convert_half8_rtp(double8);
6566half8 __ovld __cnfn convert_half8_rtn(double8);
6567half8 __ovld __cnfn convert_half8_rtz(double8);
6568half16 __ovld __cnfn convert_half16(double16);
6569half16 __ovld __cnfn convert_half16_rte(double16);
6570half16 __ovld __cnfn convert_half16_rtp(double16);
6571half16 __ovld __cnfn convert_half16_rtn(double16);
6572half16 __ovld __cnfn convert_half16_rtz(double16);
6573#endif //cl_khr_fp64
6574
6575#endif // cl_khr_fp16
6576
6577/**
6578 * OpenCL v1.1/1.2/2.0 s6.2.4.2 - as_type operators
6579 * Reinterprets a data type as another data type of the same size
6580 */
6581char __ovld __cnfn as_char(char);
6582char __ovld __cnfn as_char(uchar);
6583
6584char2 __ovld __cnfn as_char2(char2);
6585char2 __ovld __cnfn as_char2(uchar2);
6586char2 __ovld __cnfn as_char2(short);
6587char2 __ovld __cnfn as_char2(ushort);
6588
6589char3 __ovld __cnfn as_char3(char3);
6590char3 __ovld __cnfn as_char3(char4);
6591char3 __ovld __cnfn as_char3(uchar3);
6592char3 __ovld __cnfn as_char3(uchar4);
6593char3 __ovld __cnfn as_char3(short2);
6594char3 __ovld __cnfn as_char3(ushort2);
6595char3 __ovld __cnfn as_char3(int);
6596char3 __ovld __cnfn as_char3(uint);
6597char3 __ovld __cnfn as_char3(float);
6598
6599char4 __ovld __cnfn as_char4(char3);
6600char4 __ovld __cnfn as_char4(char4);
6601char4 __ovld __cnfn as_char4(uchar3);
6602char4 __ovld __cnfn as_char4(uchar4);
6603char4 __ovld __cnfn as_char4(short2);
6604char4 __ovld __cnfn as_char4(ushort2);
6605char4 __ovld __cnfn as_char4(int);
6606char4 __ovld __cnfn as_char4(uint);
6607char4 __ovld __cnfn as_char4(float);
6608
6609char8 __ovld __cnfn as_char8(char8);
6610char8 __ovld __cnfn as_char8(uchar8);
6611char8 __ovld __cnfn as_char8(short3);
6612char8 __ovld __cnfn as_char8(short4);
6613char8 __ovld __cnfn as_char8(ushort3);
6614char8 __ovld __cnfn as_char8(ushort4);
6615char8 __ovld __cnfn as_char8(int2);
6616char8 __ovld __cnfn as_char8(uint2);
6617char8 __ovld __cnfn as_char8(long);
6618char8 __ovld __cnfn as_char8(ulong);
6619char8 __ovld __cnfn as_char8(float2);
6620
6621char16 __ovld __cnfn as_char16(char16);
6622char16 __ovld __cnfn as_char16(uchar16);
6623char16 __ovld __cnfn as_char16(short8);
6624char16 __ovld __cnfn as_char16(ushort8);
6625char16 __ovld __cnfn as_char16(int3);
6626char16 __ovld __cnfn as_char16(int4);
6627char16 __ovld __cnfn as_char16(uint3);
6628char16 __ovld __cnfn as_char16(uint4);
6629char16 __ovld __cnfn as_char16(long2);
6630char16 __ovld __cnfn as_char16(ulong2);
6631char16 __ovld __cnfn as_char16(float3);
6632char16 __ovld __cnfn as_char16(float4);
6633
6634uchar __ovld __cnfn as_uchar(char);
6635uchar __ovld __cnfn as_uchar(uchar);
6636
6637uchar2 __ovld __cnfn as_uchar2(char2);
6638uchar2 __ovld __cnfn as_uchar2(uchar2);
6639uchar2 __ovld __cnfn as_uchar2(short);
6640uchar2 __ovld __cnfn as_uchar2(ushort);
6641
6642uchar3 __ovld __cnfn as_uchar3(char3);
6643uchar3 __ovld __cnfn as_uchar3(char4);
6644uchar3 __ovld __cnfn as_uchar3(uchar3);
6645uchar3 __ovld __cnfn as_uchar3(uchar4);
6646uchar3 __ovld __cnfn as_uchar3(short2);
6647uchar3 __ovld __cnfn as_uchar3(ushort2);
6648uchar3 __ovld __cnfn as_uchar3(int);
6649uchar3 __ovld __cnfn as_uchar3(uint);
6650uchar3 __ovld __cnfn as_uchar3(float);
6651
6652uchar4 __ovld __cnfn as_uchar4(char3);
6653uchar4 __ovld __cnfn as_uchar4(char4);
6654uchar4 __ovld __cnfn as_uchar4(uchar3);
6655uchar4 __ovld __cnfn as_uchar4(uchar4);
6656uchar4 __ovld __cnfn as_uchar4(short2);
6657uchar4 __ovld __cnfn as_uchar4(ushort2);
6658uchar4 __ovld __cnfn as_uchar4(int);
6659uchar4 __ovld __cnfn as_uchar4(uint);
6660uchar4 __ovld __cnfn as_uchar4(float);
6661
6662uchar8 __ovld __cnfn as_uchar8(char8);
6663uchar8 __ovld __cnfn as_uchar8(uchar8);
6664uchar8 __ovld __cnfn as_uchar8(short3);
6665uchar8 __ovld __cnfn as_uchar8(short4);
6666uchar8 __ovld __cnfn as_uchar8(ushort3);
6667uchar8 __ovld __cnfn as_uchar8(ushort4);
6668uchar8 __ovld __cnfn as_uchar8(int2);
6669uchar8 __ovld __cnfn as_uchar8(uint2);
6670uchar8 __ovld __cnfn as_uchar8(long);
6671uchar8 __ovld __cnfn as_uchar8(ulong);
6672uchar8 __ovld __cnfn as_uchar8(float2);
6673
6674uchar16 __ovld __cnfn as_uchar16(char16);
6675uchar16 __ovld __cnfn as_uchar16(uchar16);
6676uchar16 __ovld __cnfn as_uchar16(short8);
6677uchar16 __ovld __cnfn as_uchar16(ushort8);
6678uchar16 __ovld __cnfn as_uchar16(int3);
6679uchar16 __ovld __cnfn as_uchar16(int4);
6680uchar16 __ovld __cnfn as_uchar16(uint3);
6681uchar16 __ovld __cnfn as_uchar16(uint4);
6682uchar16 __ovld __cnfn as_uchar16(long2);
6683uchar16 __ovld __cnfn as_uchar16(ulong2);
6684uchar16 __ovld __cnfn as_uchar16(float3);
6685uchar16 __ovld __cnfn as_uchar16(float4);
6686
6687short __ovld __cnfn as_short(char2);
6688short __ovld __cnfn as_short(uchar2);
6689short __ovld __cnfn as_short(short);
6690short __ovld __cnfn as_short(ushort);
6691
6692short2 __ovld __cnfn as_short2(char3);
6693short2 __ovld __cnfn as_short2(char4);
6694short2 __ovld __cnfn as_short2(uchar3);
6695short2 __ovld __cnfn as_short2(uchar4);
6696short2 __ovld __cnfn as_short2(short2);
6697short2 __ovld __cnfn as_short2(ushort2);
6698short2 __ovld __cnfn as_short2(int);
6699short2 __ovld __cnfn as_short2(uint);
6700short2 __ovld __cnfn as_short2(float);
6701
6702short3 __ovld __cnfn as_short3(char8);
6703short3 __ovld __cnfn as_short3(uchar8);
6704short3 __ovld __cnfn as_short3(short3);
6705short3 __ovld __cnfn as_short3(short4);
6706short3 __ovld __cnfn as_short3(ushort3);
6707short3 __ovld __cnfn as_short3(ushort4);
6708short3 __ovld __cnfn as_short3(int2);
6709short3 __ovld __cnfn as_short3(uint2);
6710short3 __ovld __cnfn as_short3(long);
6711short3 __ovld __cnfn as_short3(ulong);
6712short3 __ovld __cnfn as_short3(float2);
6713
6714short4 __ovld __cnfn as_short4(char8);
6715short4 __ovld __cnfn as_short4(uchar8);
6716short4 __ovld __cnfn as_short4(short3);
6717short4 __ovld __cnfn as_short4(short4);
6718short4 __ovld __cnfn as_short4(ushort3);
6719short4 __ovld __cnfn as_short4(ushort4);
6720short4 __ovld __cnfn as_short4(int2);
6721short4 __ovld __cnfn as_short4(uint2);
6722short4 __ovld __cnfn as_short4(long);
6723short4 __ovld __cnfn as_short4(ulong);
6724short4 __ovld __cnfn as_short4(float2);
6725
6726short8 __ovld __cnfn as_short8(char16);
6727short8 __ovld __cnfn as_short8(uchar16);
6728short8 __ovld __cnfn as_short8(short8);
6729short8 __ovld __cnfn as_short8(ushort8);
6730short8 __ovld __cnfn as_short8(int3);
6731short8 __ovld __cnfn as_short8(int4);
6732short8 __ovld __cnfn as_short8(uint3);
6733short8 __ovld __cnfn as_short8(uint4);
6734short8 __ovld __cnfn as_short8(long2);
6735short8 __ovld __cnfn as_short8(ulong2);
6736short8 __ovld __cnfn as_short8(float3);
6737short8 __ovld __cnfn as_short8(float4);
6738
6739short16 __ovld __cnfn as_short16(short16);
6740short16 __ovld __cnfn as_short16(ushort16);
6741short16 __ovld __cnfn as_short16(int8);
6742short16 __ovld __cnfn as_short16(uint8);
6743short16 __ovld __cnfn as_short16(long3);
6744short16 __ovld __cnfn as_short16(long4);
6745short16 __ovld __cnfn as_short16(ulong3);
6746short16 __ovld __cnfn as_short16(ulong4);
6747short16 __ovld __cnfn as_short16(float8);
6748
6749ushort __ovld __cnfn as_ushort(char2);
6750ushort __ovld __cnfn as_ushort(uchar2);
6751ushort __ovld __cnfn as_ushort(short);
6752ushort __ovld __cnfn as_ushort(ushort);
6753
6754ushort2 __ovld __cnfn as_ushort2(char3);
6755ushort2 __ovld __cnfn as_ushort2(char4);
6756ushort2 __ovld __cnfn as_ushort2(uchar3);
6757ushort2 __ovld __cnfn as_ushort2(uchar4);
6758ushort2 __ovld __cnfn as_ushort2(short2);
6759ushort2 __ovld __cnfn as_ushort2(ushort2);
6760ushort2 __ovld __cnfn as_ushort2(int);
6761ushort2 __ovld __cnfn as_ushort2(uint);
6762ushort2 __ovld __cnfn as_ushort2(float);
6763
6764ushort3 __ovld __cnfn as_ushort3(char8);
6765ushort3 __ovld __cnfn as_ushort3(uchar8);
6766ushort3 __ovld __cnfn as_ushort3(short3);
6767ushort3 __ovld __cnfn as_ushort3(short4);
6768ushort3 __ovld __cnfn as_ushort3(ushort3);
6769ushort3 __ovld __cnfn as_ushort3(ushort4);
6770ushort3 __ovld __cnfn as_ushort3(int2);
6771ushort3 __ovld __cnfn as_ushort3(uint2);
6772ushort3 __ovld __cnfn as_ushort3(long);
6773ushort3 __ovld __cnfn as_ushort3(ulong);
6774ushort3 __ovld __cnfn as_ushort3(float2);
6775
6776ushort4 __ovld __cnfn as_ushort4(char8);
6777ushort4 __ovld __cnfn as_ushort4(uchar8);
6778ushort4 __ovld __cnfn as_ushort4(short3);
6779ushort4 __ovld __cnfn as_ushort4(short4);
6780ushort4 __ovld __cnfn as_ushort4(ushort3);
6781ushort4 __ovld __cnfn as_ushort4(ushort4);
6782ushort4 __ovld __cnfn as_ushort4(int2);
6783ushort4 __ovld __cnfn as_ushort4(uint2);
6784ushort4 __ovld __cnfn as_ushort4(long);
6785ushort4 __ovld __cnfn as_ushort4(ulong);
6786ushort4 __ovld __cnfn as_ushort4(float2);
6787
6788ushort8 __ovld __cnfn as_ushort8(char16);
6789ushort8 __ovld __cnfn as_ushort8(uchar16);
6790ushort8 __ovld __cnfn as_ushort8(short8);
6791ushort8 __ovld __cnfn as_ushort8(ushort8);
6792ushort8 __ovld __cnfn as_ushort8(int3);
6793ushort8 __ovld __cnfn as_ushort8(int4);
6794ushort8 __ovld __cnfn as_ushort8(uint3);
6795ushort8 __ovld __cnfn as_ushort8(uint4);
6796ushort8 __ovld __cnfn as_ushort8(long2);
6797ushort8 __ovld __cnfn as_ushort8(ulong2);
6798ushort8 __ovld __cnfn as_ushort8(float3);
6799ushort8 __ovld __cnfn as_ushort8(float4);
6800
6801ushort16 __ovld __cnfn as_ushort16(short16);
6802ushort16 __ovld __cnfn as_ushort16(ushort16);
6803ushort16 __ovld __cnfn as_ushort16(int8);
6804ushort16 __ovld __cnfn as_ushort16(uint8);
6805ushort16 __ovld __cnfn as_ushort16(long3);
6806ushort16 __ovld __cnfn as_ushort16(long4);
6807ushort16 __ovld __cnfn as_ushort16(ulong3);
6808ushort16 __ovld __cnfn as_ushort16(ulong4);
6809ushort16 __ovld __cnfn as_ushort16(float8);
6810
6811int __ovld __cnfn as_int(char3);
6812int __ovld __cnfn as_int(char4);
6813int __ovld __cnfn as_int(uchar3);
6814int __ovld __cnfn as_int(uchar4);
6815int __ovld __cnfn as_int(short2);
6816int __ovld __cnfn as_int(ushort2);
6817int __ovld __cnfn as_int(int);
6818int __ovld __cnfn as_int(uint);
6819int __ovld __cnfn as_int(float);
6820
6821int2 __ovld __cnfn as_int2(char8);
6822int2 __ovld __cnfn as_int2(uchar8);
6823int2 __ovld __cnfn as_int2(short3);
6824int2 __ovld __cnfn as_int2(short4);
6825int2 __ovld __cnfn as_int2(ushort3);
6826int2 __ovld __cnfn as_int2(ushort4);
6827int2 __ovld __cnfn as_int2(int2);
6828int2 __ovld __cnfn as_int2(uint2);
6829int2 __ovld __cnfn as_int2(long);
6830int2 __ovld __cnfn as_int2(ulong);
6831int2 __ovld __cnfn as_int2(float2);
6832
6833int3 __ovld __cnfn as_int3(char16);
6834int3 __ovld __cnfn as_int3(uchar16);
6835int3 __ovld __cnfn as_int3(short8);
6836int3 __ovld __cnfn as_int3(ushort8);
6837int3 __ovld __cnfn as_int3(int3);
6838int3 __ovld __cnfn as_int3(int4);
6839int3 __ovld __cnfn as_int3(uint3);
6840int3 __ovld __cnfn as_int3(uint4);
6841int3 __ovld __cnfn as_int3(long2);
6842int3 __ovld __cnfn as_int3(ulong2);
6843int3 __ovld __cnfn as_int3(float3);
6844int3 __ovld __cnfn as_int3(float4);
6845
6846int4 __ovld __cnfn as_int4(char16);
6847int4 __ovld __cnfn as_int4(uchar16);
6848int4 __ovld __cnfn as_int4(short8);
6849int4 __ovld __cnfn as_int4(ushort8);
6850int4 __ovld __cnfn as_int4(int3);
6851int4 __ovld __cnfn as_int4(int4);
6852int4 __ovld __cnfn as_int4(uint3);
6853int4 __ovld __cnfn as_int4(uint4);
6854int4 __ovld __cnfn as_int4(long2);
6855int4 __ovld __cnfn as_int4(ulong2);
6856int4 __ovld __cnfn as_int4(float3);
6857int4 __ovld __cnfn as_int4(float4);
6858
6859int8 __ovld __cnfn as_int8(short16);
6860int8 __ovld __cnfn as_int8(ushort16);
6861int8 __ovld __cnfn as_int8(int8);
6862int8 __ovld __cnfn as_int8(uint8);
6863int8 __ovld __cnfn as_int8(long3);
6864int8 __ovld __cnfn as_int8(long4);
6865int8 __ovld __cnfn as_int8(ulong3);
6866int8 __ovld __cnfn as_int8(ulong4);
6867int8 __ovld __cnfn as_int8(float8);
6868
6869int16 __ovld __cnfn as_int16(int16);
6870int16 __ovld __cnfn as_int16(uint16);
6871int16 __ovld __cnfn as_int16(long8);
6872int16 __ovld __cnfn as_int16(ulong8);
6873int16 __ovld __cnfn as_int16(float16);
6874
6875uint __ovld __cnfn as_uint(char3);
6876uint __ovld __cnfn as_uint(char4);
6877uint __ovld __cnfn as_uint(uchar3);
6878uint __ovld __cnfn as_uint(uchar4);
6879uint __ovld __cnfn as_uint(short2);
6880uint __ovld __cnfn as_uint(ushort2);
6881uint __ovld __cnfn as_uint(int);
6882uint __ovld __cnfn as_uint(uint);
6883uint __ovld __cnfn as_uint(float);
6884
6885uint2 __ovld __cnfn as_uint2(char8);
6886uint2 __ovld __cnfn as_uint2(uchar8);
6887uint2 __ovld __cnfn as_uint2(short3);
6888uint2 __ovld __cnfn as_uint2(short4);
6889uint2 __ovld __cnfn as_uint2(ushort3);
6890uint2 __ovld __cnfn as_uint2(ushort4);
6891uint2 __ovld __cnfn as_uint2(int2);
6892uint2 __ovld __cnfn as_uint2(uint2);
6893uint2 __ovld __cnfn as_uint2(long);
6894uint2 __ovld __cnfn as_uint2(ulong);
6895uint2 __ovld __cnfn as_uint2(float2);
6896
6897uint3 __ovld __cnfn as_uint3(char16);
6898uint3 __ovld __cnfn as_uint3(uchar16);
6899uint3 __ovld __cnfn as_uint3(short8);
6900uint3 __ovld __cnfn as_uint3(ushort8);
6901uint3 __ovld __cnfn as_uint3(int3);
6902uint3 __ovld __cnfn as_uint3(int4);
6903uint3 __ovld __cnfn as_uint3(uint3);
6904uint3 __ovld __cnfn as_uint3(uint4);
6905uint3 __ovld __cnfn as_uint3(long2);
6906uint3 __ovld __cnfn as_uint3(ulong2);
6907uint3 __ovld __cnfn as_uint3(float3);
6908uint3 __ovld __cnfn as_uint3(float4);
6909
6910uint4 __ovld __cnfn as_uint4(char16);
6911uint4 __ovld __cnfn as_uint4(uchar16);
6912uint4 __ovld __cnfn as_uint4(short8);
6913uint4 __ovld __cnfn as_uint4(ushort8);
6914uint4 __ovld __cnfn as_uint4(int3);
6915uint4 __ovld __cnfn as_uint4(int4);
6916uint4 __ovld __cnfn as_uint4(uint3);
6917uint4 __ovld __cnfn as_uint4(uint4);
6918uint4 __ovld __cnfn as_uint4(long2);
6919uint4 __ovld __cnfn as_uint4(ulong2);
6920uint4 __ovld __cnfn as_uint4(float3);
6921uint4 __ovld __cnfn as_uint4(float4);
6922
6923uint8 __ovld __cnfn as_uint8(short16);
6924uint8 __ovld __cnfn as_uint8(ushort16);
6925uint8 __ovld __cnfn as_uint8(int8);
6926uint8 __ovld __cnfn as_uint8(uint8);
6927uint8 __ovld __cnfn as_uint8(long3);
6928uint8 __ovld __cnfn as_uint8(long4);
6929uint8 __ovld __cnfn as_uint8(ulong3);
6930uint8 __ovld __cnfn as_uint8(ulong4);
6931uint8 __ovld __cnfn as_uint8(float8);
6932
6933uint16 __ovld __cnfn as_uint16(int16);
6934uint16 __ovld __cnfn as_uint16(uint16);
6935uint16 __ovld __cnfn as_uint16(long8);
6936uint16 __ovld __cnfn as_uint16(ulong8);
6937uint16 __ovld __cnfn as_uint16(float16);
6938
6939long __ovld __cnfn as_long(char8);
6940long __ovld __cnfn as_long(uchar8);
6941long __ovld __cnfn as_long(short3);
6942long __ovld __cnfn as_long(short4);
6943long __ovld __cnfn as_long(ushort3);
6944long __ovld __cnfn as_long(ushort4);
6945long __ovld __cnfn as_long(int2);
6946long __ovld __cnfn as_long(uint2);
6947long __ovld __cnfn as_long(long);
6948long __ovld __cnfn as_long(ulong);
6949long __ovld __cnfn as_long(float2);
6950
6951long2 __ovld __cnfn as_long2(char16);
6952long2 __ovld __cnfn as_long2(uchar16);
6953long2 __ovld __cnfn as_long2(short8);
6954long2 __ovld __cnfn as_long2(ushort8);
6955long2 __ovld __cnfn as_long2(int3);
6956long2 __ovld __cnfn as_long2(int4);
6957long2 __ovld __cnfn as_long2(uint3);
6958long2 __ovld __cnfn as_long2(uint4);
6959long2 __ovld __cnfn as_long2(long2);
6960long2 __ovld __cnfn as_long2(ulong2);
6961long2 __ovld __cnfn as_long2(float3);
6962long2 __ovld __cnfn as_long2(float4);
6963
6964long3 __ovld __cnfn as_long3(short16);
6965long3 __ovld __cnfn as_long3(ushort16);
6966long3 __ovld __cnfn as_long3(int8);
6967long3 __ovld __cnfn as_long3(uint8);
6968long3 __ovld __cnfn as_long3(long3);
6969long3 __ovld __cnfn as_long3(long4);
6970long3 __ovld __cnfn as_long3(ulong3);
6971long3 __ovld __cnfn as_long3(ulong4);
6972long3 __ovld __cnfn as_long3(float8);
6973
6974long4 __ovld __cnfn as_long4(short16);
6975long4 __ovld __cnfn as_long4(ushort16);
6976long4 __ovld __cnfn as_long4(int8);
6977long4 __ovld __cnfn as_long4(uint8);
6978long4 __ovld __cnfn as_long4(long3);
6979long4 __ovld __cnfn as_long4(long4);
6980long4 __ovld __cnfn as_long4(ulong3);
6981long4 __ovld __cnfn as_long4(ulong4);
6982long4 __ovld __cnfn as_long4(float8);
6983
6984long8 __ovld __cnfn as_long8(int16);
6985long8 __ovld __cnfn as_long8(uint16);
6986long8 __ovld __cnfn as_long8(long8);
6987long8 __ovld __cnfn as_long8(ulong8);
6988long8 __ovld __cnfn as_long8(float16);
6989
6990long16 __ovld __cnfn as_long16(long16);
6991long16 __ovld __cnfn as_long16(ulong16);
6992
6993ulong __ovld __cnfn as_ulong(char8);
6994ulong __ovld __cnfn as_ulong(uchar8);
6995ulong __ovld __cnfn as_ulong(short3);
6996ulong __ovld __cnfn as_ulong(short4);
6997ulong __ovld __cnfn as_ulong(ushort3);
6998ulong __ovld __cnfn as_ulong(ushort4);
6999ulong __ovld __cnfn as_ulong(int2);
7000ulong __ovld __cnfn as_ulong(uint2);
7001ulong __ovld __cnfn as_ulong(long);
7002ulong __ovld __cnfn as_ulong(ulong);
7003ulong __ovld __cnfn as_ulong(float2);
7004
7005ulong2 __ovld __cnfn as_ulong2(char16);
7006ulong2 __ovld __cnfn as_ulong2(uchar16);
7007ulong2 __ovld __cnfn as_ulong2(short8);
7008ulong2 __ovld __cnfn as_ulong2(ushort8);
7009ulong2 __ovld __cnfn as_ulong2(int3);
7010ulong2 __ovld __cnfn as_ulong2(int4);
7011ulong2 __ovld __cnfn as_ulong2(uint3);
7012ulong2 __ovld __cnfn as_ulong2(uint4);
7013ulong2 __ovld __cnfn as_ulong2(long2);
7014ulong2 __ovld __cnfn as_ulong2(ulong2);
7015ulong2 __ovld __cnfn as_ulong2(float3);
7016ulong2 __ovld __cnfn as_ulong2(float4);
7017
7018ulong3 __ovld __cnfn as_ulong3(short16);
7019ulong3 __ovld __cnfn as_ulong3(ushort16);
7020ulong3 __ovld __cnfn as_ulong3(int8);
7021ulong3 __ovld __cnfn as_ulong3(uint8);
7022ulong3 __ovld __cnfn as_ulong3(long3);
7023ulong3 __ovld __cnfn as_ulong3(long4);
7024ulong3 __ovld __cnfn as_ulong3(ulong3);
7025ulong3 __ovld __cnfn as_ulong3(ulong4);
7026ulong3 __ovld __cnfn as_ulong3(float8);
7027
7028ulong4 __ovld __cnfn as_ulong4(short16);
7029ulong4 __ovld __cnfn as_ulong4(ushort16);
7030ulong4 __ovld __cnfn as_ulong4(int8);
7031ulong4 __ovld __cnfn as_ulong4(uint8);
7032ulong4 __ovld __cnfn as_ulong4(long3);
7033ulong4 __ovld __cnfn as_ulong4(long4);
7034ulong4 __ovld __cnfn as_ulong4(ulong3);
7035ulong4 __ovld __cnfn as_ulong4(ulong4);
7036ulong4 __ovld __cnfn as_ulong4(float8);
7037
7038ulong8 __ovld __cnfn as_ulong8(int16);
7039ulong8 __ovld __cnfn as_ulong8(uint16);
7040ulong8 __ovld __cnfn as_ulong8(long8);
7041ulong8 __ovld __cnfn as_ulong8(ulong8);
7042ulong8 __ovld __cnfn as_ulong8(float16);
7043
7044ulong16 __ovld __cnfn as_ulong16(long16);
7045ulong16 __ovld __cnfn as_ulong16(ulong16);
7046
7047float __ovld __cnfn as_float(char3);
7048float __ovld __cnfn as_float(char4);
7049float __ovld __cnfn as_float(uchar3);
7050float __ovld __cnfn as_float(uchar4);
7051float __ovld __cnfn as_float(short2);
7052float __ovld __cnfn as_float(ushort2);
7053float __ovld __cnfn as_float(int);
7054float __ovld __cnfn as_float(uint);
7055float __ovld __cnfn as_float(float);
7056
7057float2 __ovld __cnfn as_float2(char8);
7058float2 __ovld __cnfn as_float2(uchar8);
7059float2 __ovld __cnfn as_float2(short3);
7060float2 __ovld __cnfn as_float2(short4);
7061float2 __ovld __cnfn as_float2(ushort3);
7062float2 __ovld __cnfn as_float2(ushort4);
7063float2 __ovld __cnfn as_float2(int2);
7064float2 __ovld __cnfn as_float2(uint2);
7065float2 __ovld __cnfn as_float2(long);
7066float2 __ovld __cnfn as_float2(ulong);
7067float2 __ovld __cnfn as_float2(float2);
7068
7069float3 __ovld __cnfn as_float3(char16);
7070float3 __ovld __cnfn as_float3(uchar16);
7071float3 __ovld __cnfn as_float3(short8);
7072float3 __ovld __cnfn as_float3(ushort8);
7073float3 __ovld __cnfn as_float3(int3);
7074float3 __ovld __cnfn as_float3(int4);
7075float3 __ovld __cnfn as_float3(uint3);
7076float3 __ovld __cnfn as_float3(uint4);
7077float3 __ovld __cnfn as_float3(long2);
7078float3 __ovld __cnfn as_float3(ulong2);
7079float3 __ovld __cnfn as_float3(float3);
7080float3 __ovld __cnfn as_float3(float4);
7081
7082float4 __ovld __cnfn as_float4(char16);
7083float4 __ovld __cnfn as_float4(uchar16);
7084float4 __ovld __cnfn as_float4(short8);
7085float4 __ovld __cnfn as_float4(ushort8);
7086float4 __ovld __cnfn as_float4(int3);
7087float4 __ovld __cnfn as_float4(int4);
7088float4 __ovld __cnfn as_float4(uint3);
7089float4 __ovld __cnfn as_float4(uint4);
7090float4 __ovld __cnfn as_float4(long2);
7091float4 __ovld __cnfn as_float4(ulong2);
7092float4 __ovld __cnfn as_float4(float3);
7093float4 __ovld __cnfn as_float4(float4);
7094
7095float8 __ovld __cnfn as_float8(short16);
7096float8 __ovld __cnfn as_float8(ushort16);
7097float8 __ovld __cnfn as_float8(int8);
7098float8 __ovld __cnfn as_float8(uint8);
7099float8 __ovld __cnfn as_float8(long3);
7100float8 __ovld __cnfn as_float8(long4);
7101float8 __ovld __cnfn as_float8(ulong3);
7102float8 __ovld __cnfn as_float8(ulong4);
7103float8 __ovld __cnfn as_float8(float8);
7104
7105float16 __ovld __cnfn as_float16(int16);
7106float16 __ovld __cnfn as_float16(uint16);
7107float16 __ovld __cnfn as_float16(long8);
7108float16 __ovld __cnfn as_float16(ulong8);
7109float16 __ovld __cnfn as_float16(float16);
7110
7111#ifdef cl_khr_fp64
7112char8 __ovld __cnfn as_char8(double);
7113char16 __ovld __cnfn as_char16(double2);
7114uchar8 __ovld __cnfn as_uchar8(double);
7115uchar16 __ovld __cnfn as_uchar16(double2);
7116short3 __ovld __cnfn as_short3(double);
7117short4 __ovld __cnfn as_short4(double);
7118short8 __ovld __cnfn as_short8(double2);
7119short16 __ovld __cnfn as_short16(double3);
7120short16 __ovld __cnfn as_short16(double4);
7121ushort3 __ovld __cnfn as_ushort3(double);
7122ushort4 __ovld __cnfn as_ushort4(double);
7123ushort8 __ovld __cnfn as_ushort8(double2);
7124ushort16 __ovld __cnfn as_ushort16(double3);
7125ushort16 __ovld __cnfn as_ushort16(double4);
7126int2 __ovld __cnfn as_int2(double);
7127int3 __ovld __cnfn as_int3(double2);
7128int4 __ovld __cnfn as_int4(double2);
7129int8 __ovld __cnfn as_int8(double3);
7130int8 __ovld __cnfn as_int8(double4);
7131int16 __ovld __cnfn as_int16(double8);
7132uint2 __ovld __cnfn as_uint2(double);
7133uint3 __ovld __cnfn as_uint3(double2);
7134uint4 __ovld __cnfn as_uint4(double2);
7135uint8 __ovld __cnfn as_uint8(double3);
7136uint8 __ovld __cnfn as_uint8(double4);
7137uint16 __ovld __cnfn as_uint16(double8);
7138long __ovld __cnfn as_long(double);
7139long2 __ovld __cnfn as_long2(double2);
7140long3 __ovld __cnfn as_long3(double3);
7141long3 __ovld __cnfn as_long3(double4);
7142long4 __ovld __cnfn as_long4(double3);
7143long4 __ovld __cnfn as_long4(double4);
7144long8 __ovld __cnfn as_long8(double8);
7145long16 __ovld __cnfn as_long16(double16);
7146ulong __ovld __cnfn as_ulong(double);
7147ulong2 __ovld __cnfn as_ulong2(double2);
7148ulong3 __ovld __cnfn as_ulong3(double3);
7149ulong3 __ovld __cnfn as_ulong3(double4);
7150ulong4 __ovld __cnfn as_ulong4(double3);
7151ulong4 __ovld __cnfn as_ulong4(double4);
7152ulong8 __ovld __cnfn as_ulong8(double8);
7153ulong16 __ovld __cnfn as_ulong16(double16);
7154float2 __ovld __cnfn as_float2(double);
7155float3 __ovld __cnfn as_float3(double2);
7156float4 __ovld __cnfn as_float4(double2);
7157float8 __ovld __cnfn as_float8(double3);
7158float8 __ovld __cnfn as_float8(double4);
7159float16 __ovld __cnfn as_float16(double8);
7160double __ovld __cnfn as_double(char8);
7161double __ovld __cnfn as_double(uchar8);
7162double __ovld __cnfn as_double(short3);
7163double __ovld __cnfn as_double(short4);
7164double __ovld __cnfn as_double(ushort3);
7165double __ovld __cnfn as_double(ushort4);
7166double __ovld __cnfn as_double(int2);
7167double __ovld __cnfn as_double(uint2);
7168double __ovld __cnfn as_double(long);
7169double __ovld __cnfn as_double(ulong);
7170double __ovld __cnfn as_double(float2);
7171double __ovld __cnfn as_double(double);
7172double2 __ovld __cnfn as_double2(char16);
7173double2 __ovld __cnfn as_double2(uchar16);
7174double2 __ovld __cnfn as_double2(short8);
7175double2 __ovld __cnfn as_double2(ushort8);
7176double2 __ovld __cnfn as_double2(int3);
7177double2 __ovld __cnfn as_double2(int4);
7178double2 __ovld __cnfn as_double2(uint3);
7179double2 __ovld __cnfn as_double2(uint4);
7180double2 __ovld __cnfn as_double2(long2);
7181double2 __ovld __cnfn as_double2(ulong2);
7182double2 __ovld __cnfn as_double2(float3);
7183double2 __ovld __cnfn as_double2(float4);
7184double2 __ovld __cnfn as_double2(double2);
7185double3 __ovld __cnfn as_double3(short16);
7186double3 __ovld __cnfn as_double3(ushort16);
7187double3 __ovld __cnfn as_double3(int8);
7188double3 __ovld __cnfn as_double3(uint8);
7189double3 __ovld __cnfn as_double3(long3);
7190double3 __ovld __cnfn as_double3(long4);
7191double3 __ovld __cnfn as_double3(ulong3);
7192double3 __ovld __cnfn as_double3(ulong4);
7193double3 __ovld __cnfn as_double3(float8);
7194double3 __ovld __cnfn as_double3(double3);
7195double3 __ovld __cnfn as_double3(double4);
7196double4 __ovld __cnfn as_double4(short16);
7197double4 __ovld __cnfn as_double4(ushort16);
7198double4 __ovld __cnfn as_double4(int8);
7199double4 __ovld __cnfn as_double4(uint8);
7200double4 __ovld __cnfn as_double4(long3);
7201double4 __ovld __cnfn as_double4(long4);
7202double4 __ovld __cnfn as_double4(ulong3);
7203double4 __ovld __cnfn as_double4(ulong4);
7204double4 __ovld __cnfn as_double4(float8);
7205double4 __ovld __cnfn as_double4(double3);
7206double4 __ovld __cnfn as_double4(double4);
7207double8 __ovld __cnfn as_double8(int16);
7208double8 __ovld __cnfn as_double8(uint16);
7209double8 __ovld __cnfn as_double8(long8);
7210double8 __ovld __cnfn as_double8(ulong8);
7211double8 __ovld __cnfn as_double8(float16);
7212double8 __ovld __cnfn as_double8(double8);
7213double16 __ovld __cnfn as_double16(long16);
7214double16 __ovld __cnfn as_double16(ulong16);
7215double16 __ovld __cnfn as_double16(double16);
7216#endif //cl_khr_fp64
7217
7218#ifdef cl_khr_fp16
7219char2 __ovld __cnfn as_char2(half);
7220char3 __ovld __cnfn as_char3(half2);
7221char4 __ovld __cnfn as_char4(half2);
7222char8 __ovld __cnfn as_char8(half3);
7223char8 __ovld __cnfn as_char8(half4);
7224char16 __ovld __cnfn as_char16(half8);
7225uchar2 __ovld __cnfn as_uchar2(half);
7226uchar3 __ovld __cnfn as_uchar3(half2);
7227uchar4 __ovld __cnfn as_uchar4(half2);
7228uchar8 __ovld __cnfn as_uchar8(half3);
7229uchar8 __ovld __cnfn as_uchar8(half4);
7230uchar16 __ovld __cnfn as_uchar16(half8);
7231short __ovld __cnfn as_short(half);
7232short2 __ovld __cnfn as_short2(half2);
7233short3 __ovld __cnfn as_short3(half3);
7234short3 __ovld __cnfn as_short3(half4);
7235short4 __ovld __cnfn as_short4(half3);
7236short4 __ovld __cnfn as_short4(half4);
7237short8 __ovld __cnfn as_short8(half8);
7238short16 __ovld __cnfn as_short16(half16);
7239ushort __ovld __cnfn as_ushort(half);
7240ushort2 __ovld __cnfn as_ushort2(half2);
7241ushort3 __ovld __cnfn as_ushort3(half3);
7242ushort3 __ovld __cnfn as_ushort3(half4);
7243ushort4 __ovld __cnfn as_ushort4(half3);
7244ushort4 __ovld __cnfn as_ushort4(half4);
7245ushort8 __ovld __cnfn as_ushort8(half8);
7246ushort16 __ovld __cnfn as_ushort16(half16);
7247int __ovld __cnfn as_int(half2);
7248int2 __ovld __cnfn as_int2(half3);
7249int2 __ovld __cnfn as_int2(half4);
7250int3 __ovld __cnfn as_int3(half8);
7251int4 __ovld __cnfn as_int4(half8);
7252int8 __ovld __cnfn as_int8(half16);
7253uint __ovld __cnfn as_uint(half2);
7254uint2 __ovld __cnfn as_uint2(half3);
7255uint2 __ovld __cnfn as_uint2(half4);
7256uint3 __ovld __cnfn as_uint3(half8);
7257uint4 __ovld __cnfn as_uint4(half8);
7258uint8 __ovld __cnfn as_uint8(half16);
7259long __ovld __cnfn as_long(half3);
7260long __ovld __cnfn as_long(half4);
7261long2 __ovld __cnfn as_long2(half8);
7262long3 __ovld __cnfn as_long3(half16);
7263long4 __ovld __cnfn as_long4(half16);
7264ulong __ovld __cnfn as_ulong(half3);
7265ulong __ovld __cnfn as_ulong(half4);
7266ulong2 __ovld __cnfn as_ulong2(half8);
7267ulong3 __ovld __cnfn as_ulong3(half16);
7268ulong4 __ovld __cnfn as_ulong4(half16);
7269half __ovld __cnfn as_half(char2);
7270half __ovld __cnfn as_half(uchar2);
7271half __ovld __cnfn as_half(short);
7272half __ovld __cnfn as_half(ushort);
7273half __ovld __cnfn as_half(half);
7274half2 __ovld __cnfn as_half2(char3);
7275half2 __ovld __cnfn as_half2(char4);
7276half2 __ovld __cnfn as_half2(uchar3);
7277half2 __ovld __cnfn as_half2(uchar4);
7278half2 __ovld __cnfn as_half2(short2);
7279half2 __ovld __cnfn as_half2(ushort2);
7280half2 __ovld __cnfn as_half2(int);
7281half2 __ovld __cnfn as_half2(uint);
7282half2 __ovld __cnfn as_half2(half2);
7283half2 __ovld __cnfn as_half2(float);
7284half3 __ovld __cnfn as_half3(char8);
7285half3 __ovld __cnfn as_half3(uchar8);
7286half3 __ovld __cnfn as_half3(short3);
7287half3 __ovld __cnfn as_half3(short4);
7288half3 __ovld __cnfn as_half3(ushort3);
7289half3 __ovld __cnfn as_half3(ushort4);
7290half3 __ovld __cnfn as_half3(int2);
7291half3 __ovld __cnfn as_half3(uint2);
7292half3 __ovld __cnfn as_half3(long);
7293half3 __ovld __cnfn as_half3(ulong);
7294half3 __ovld __cnfn as_half3(half3);
7295half3 __ovld __cnfn as_half3(half4);
7296half3 __ovld __cnfn as_half3(float2);
7297half4 __ovld __cnfn as_half4(char8);
7298half4 __ovld __cnfn as_half4(uchar8);
7299half4 __ovld __cnfn as_half4(short3);
7300half4 __ovld __cnfn as_half4(short4);
7301half4 __ovld __cnfn as_half4(ushort3);
7302half4 __ovld __cnfn as_half4(ushort4);
7303half4 __ovld __cnfn as_half4(int2);
7304half4 __ovld __cnfn as_half4(uint2);
7305half4 __ovld __cnfn as_half4(long);
7306half4 __ovld __cnfn as_half4(ulong);
7307half4 __ovld __cnfn as_half4(half3);
7308half4 __ovld __cnfn as_half4(half4);
7309half4 __ovld __cnfn as_half4(float2);
7310half8 __ovld __cnfn as_half8(char16);
7311half8 __ovld __cnfn as_half8(uchar16);
7312half8 __ovld __cnfn as_half8(short8);
7313half8 __ovld __cnfn as_half8(ushort8);
7314half8 __ovld __cnfn as_half8(int3);
7315half8 __ovld __cnfn as_half8(int4);
7316half8 __ovld __cnfn as_half8(uint3);
7317half8 __ovld __cnfn as_half8(uint4);
7318half8 __ovld __cnfn as_half8(long2);
7319half8 __ovld __cnfn as_half8(ulong2);
7320half8 __ovld __cnfn as_half8(half8);
7321half8 __ovld __cnfn as_half8(float3);
7322half8 __ovld __cnfn as_half8(float4);
7323half16 __ovld __cnfn as_half16(short16);
7324half16 __ovld __cnfn as_half16(ushort16);
7325half16 __ovld __cnfn as_half16(int8);
7326half16 __ovld __cnfn as_half16(uint8);
7327half16 __ovld __cnfn as_half16(long3);
7328half16 __ovld __cnfn as_half16(long4);
7329half16 __ovld __cnfn as_half16(ulong3);
7330half16 __ovld __cnfn as_half16(ulong4);
7331half16 __ovld __cnfn as_half16(half16);
7332half16 __ovld __cnfn as_half16(float8);
7333float __ovld __cnfn as_float(half2);
7334float2 __ovld __cnfn as_float2(half3);
7335float2 __ovld __cnfn as_float2(half4);
7336float3 __ovld __cnfn as_float3(half8);
7337float4 __ovld __cnfn as_float4(half8);
7338float8 __ovld __cnfn as_float8(half16);
7339
7340#ifdef cl_khr_fp64
7341half3 __ovld __cnfn as_half3(double);
7342half4 __ovld __cnfn as_half4(double);
7343half8 __ovld __cnfn as_half8(double2);
7344half16 __ovld __cnfn as_half16(double3);
7345half16 __ovld __cnfn as_half16(double4);
7346double __ovld __cnfn as_double(half3);
7347double __ovld __cnfn as_double(half4);
7348double2 __ovld __cnfn as_double2(half8);
7349double3 __ovld __cnfn as_double3(half16);
7350double4 __ovld __cnfn as_double4(half16);
7351#endif //cl_khr_fp64
7352#endif //cl_khr_fp16
7353
7354// OpenCL v1.1 s6.9, v1.2/2.0 s6.10 - Function qualifiers
7355
7356#define __kernel_exec(X, typen) __kernel \
7357	__attribute__((work_group_size_hint(X, 1, 1))) \
7358	__attribute__((vec_type_hint(typen)))
7359
7360#define kernel_exec(X, typen) __kernel \
7361	__attribute__((work_group_size_hint(X, 1, 1))) \
7362	__attribute__((vec_type_hint(typen)))
7363
7364// OpenCL v1.1 s6.11.1, v1.2 s6.12.1, v2.0 s6.13.1 - Work-item Functions
7365
7366/**
7367 * Returns the number of dimensions in use. This is the
7368 * value given to the work_dim argument specified in
7369 * clEnqueueNDRangeKernel.
7370 * For clEnqueueTask, this returns 1.
7371 */
7372uint __ovld __cnfn get_work_dim(void);
7373
7374/**
7375 * Returns the number of global work-items specified for
7376 * dimension identified by dimindx. This value is given by
7377 * the global_work_size argument to
7378 * clEnqueueNDRangeKernel. Valid values of dimindx
7379 * are 0 to get_work_dim() - 1. For other values of
7380 * dimindx, get_global_size() returns 1.
7381 * For clEnqueueTask, this always returns 1.
7382 */
7383size_t __ovld __cnfn get_global_size(uint dimindx);
7384
7385/**
7386 * Returns the unique global work-item ID value for
7387 * dimension identified by dimindx. The global work-item
7388 * ID specifies the work-item ID based on the number of
7389 * global work-items specified to execute the kernel. Valid
7390 * values of dimindx are 0 to get_work_dim() - 1. For
7391 * other values of dimindx, get_global_id() returns 0.
7392 * For clEnqueueTask, this returns 0.
7393 */
7394size_t __ovld __cnfn get_global_id(uint dimindx);
7395
7396/**
7397 * Returns the number of local work-items specified in
7398 * dimension identified by dimindx. This value is given by
7399 * the local_work_size argument to
7400 * clEnqueueNDRangeKernel if local_work_size is not
7401 * NULL; otherwise the OpenCL implementation chooses
7402 * an appropriate local_work_size value which is returned
7403 * by this function. Valid values of dimindx are 0 to
7404 * get_work_dim() - 1. For other values of dimindx,
7405 * get_local_size() returns 1.
7406 * For clEnqueueTask, this always returns 1.
7407 */
7408size_t __ovld __cnfn get_local_size(uint dimindx);
7409
7410/**
7411 * Returns the unique local work-item ID i.e. a work-item
7412 * within a specific work-group for dimension identified by
7413 * dimindx. Valid values of dimindx are 0 to
7414 * get_work_dim() - 1. For other values of dimindx,
7415 * get_local_id() returns 0.
7416 * For clEnqueueTask, this returns 0.
7417 */
7418size_t __ovld __cnfn get_local_id(uint dimindx);
7419
7420/**
7421 * Returns the number of work-groups that will execute a
7422 * kernel for dimension identified by dimindx.
7423 * Valid values of dimindx are 0 to get_work_dim() - 1.
7424 * For other values of dimindx, get_num_groups () returns
7425 * 1.
7426 * For clEnqueueTask, this always returns 1.
7427 */
7428size_t __ovld __cnfn get_num_groups(uint dimindx);
7429
7430/**
7431 * get_group_id returns the work-group ID which is a
7432 * number from 0 .. get_num_groups(dimindx) - 1.
7433 * Valid values of dimindx are 0 to get_work_dim() - 1.
7434 * For other values, get_group_id() returns 0.
7435 * For clEnqueueTask, this returns 0.
7436 */
7437size_t __ovld __cnfn get_group_id(uint dimindx);
7438
7439/**
7440 * get_global_offset returns the offset values specified in
7441 * global_work_offset argument to
7442 * clEnqueueNDRangeKernel.
7443 * Valid values of dimindx are 0 to get_work_dim() - 1.
7444 * For other values, get_global_offset() returns 0.
7445 * For clEnqueueTask, this returns 0.
7446 */
7447size_t __ovld __cnfn get_global_offset(uint dimindx);
7448
7449#if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
7450size_t __ovld get_enqueued_local_size(uint dimindx);
7451size_t __ovld get_global_linear_id(void);
7452size_t __ovld get_local_linear_id(void);
7453#endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
7454
7455// OpenCL v1.1 s6.11.2, v1.2 s6.12.2, v2.0 s6.13.2 - Math functions
7456
7457/**
7458 * Arc cosine function.
7459 */
7460float __ovld __cnfn acos(float);
7461float2 __ovld __cnfn acos(float2);
7462float3 __ovld __cnfn acos(float3);
7463float4 __ovld __cnfn acos(float4);
7464float8 __ovld __cnfn acos(float8);
7465float16 __ovld __cnfn acos(float16);
7466#ifdef cl_khr_fp64
7467double __ovld __cnfn acos(double);
7468double2 __ovld __cnfn acos(double2);
7469double3 __ovld __cnfn acos(double3);
7470double4 __ovld __cnfn acos(double4);
7471double8 __ovld __cnfn acos(double8);
7472double16 __ovld __cnfn acos(double16);
7473#endif //cl_khr_fp64
7474#ifdef cl_khr_fp16
7475half __ovld __cnfn acos(half);
7476half2 __ovld __cnfn acos(half2);
7477half3 __ovld __cnfn acos(half3);
7478half4 __ovld __cnfn acos(half4);
7479half8 __ovld __cnfn acos(half8);
7480half16 __ovld __cnfn acos(half16);
7481#endif //cl_khr_fp16
7482
7483/**
7484 * Inverse hyperbolic cosine.
7485 */
7486float __ovld __cnfn acosh(float);
7487float2 __ovld __cnfn acosh(float2);
7488float3 __ovld __cnfn acosh(float3);
7489float4 __ovld __cnfn acosh(float4);
7490float8 __ovld __cnfn acosh(float8);
7491float16 __ovld __cnfn acosh(float16);
7492#ifdef cl_khr_fp64
7493double __ovld __cnfn acosh(double);
7494double2 __ovld __cnfn acosh(double2);
7495double3 __ovld __cnfn acosh(double3);
7496double4 __ovld __cnfn acosh(double4);
7497double8 __ovld __cnfn acosh(double8);
7498double16 __ovld __cnfn acosh(double16);
7499#endif //cl_khr_fp64
7500#ifdef cl_khr_fp16
7501half __ovld __cnfn acosh(half);
7502half2 __ovld __cnfn acosh(half2);
7503half3 __ovld __cnfn acosh(half3);
7504half4 __ovld __cnfn acosh(half4);
7505half8 __ovld __cnfn acosh(half8);
7506half16 __ovld __cnfn acosh(half16);
7507#endif //cl_khr_fp16
7508
7509/**
7510 * Compute acos (x) / PI.
7511 */
7512float __ovld __cnfn acospi(float x);
7513float2 __ovld __cnfn acospi(float2 x);
7514float3 __ovld __cnfn acospi(float3 x);
7515float4 __ovld __cnfn acospi(float4 x);
7516float8 __ovld __cnfn acospi(float8 x);
7517float16 __ovld __cnfn acospi(float16 x);
7518#ifdef cl_khr_fp64
7519double __ovld __cnfn acospi(double x);
7520double2 __ovld __cnfn acospi(double2 x);
7521double3 __ovld __cnfn acospi(double3 x);
7522double4 __ovld __cnfn acospi(double4 x);
7523double8 __ovld __cnfn acospi(double8 x);
7524double16 __ovld __cnfn acospi(double16 x);
7525#endif //cl_khr_fp64
7526#ifdef cl_khr_fp16
7527half __ovld __cnfn acospi(half x);
7528half2 __ovld __cnfn acospi(half2 x);
7529half3 __ovld __cnfn acospi(half3 x);
7530half4 __ovld __cnfn acospi(half4 x);
7531half8 __ovld __cnfn acospi(half8 x);
7532half16 __ovld __cnfn acospi(half16 x);
7533#endif //cl_khr_fp16
7534
7535/**
7536 * Arc sine function.
7537 */
7538float __ovld __cnfn asin(float);
7539float2 __ovld __cnfn asin(float2);
7540float3 __ovld __cnfn asin(float3);
7541float4 __ovld __cnfn asin(float4);
7542float8 __ovld __cnfn asin(float8);
7543float16 __ovld __cnfn asin(float16);
7544#ifdef cl_khr_fp64
7545double __ovld __cnfn asin(double);
7546double2 __ovld __cnfn asin(double2);
7547double3 __ovld __cnfn asin(double3);
7548double4 __ovld __cnfn asin(double4);
7549double8 __ovld __cnfn asin(double8);
7550double16 __ovld __cnfn asin(double16);
7551#endif //cl_khr_fp64
7552#ifdef cl_khr_fp16
7553half __ovld __cnfn asin(half);
7554half2 __ovld __cnfn asin(half2);
7555half3 __ovld __cnfn asin(half3);
7556half4 __ovld __cnfn asin(half4);
7557half8 __ovld __cnfn asin(half8);
7558half16 __ovld __cnfn asin(half16);
7559#endif //cl_khr_fp16
7560
7561/**
7562 * Inverse hyperbolic sine.
7563 */
7564float __ovld __cnfn asinh(float);
7565float2 __ovld __cnfn asinh(float2);
7566float3 __ovld __cnfn asinh(float3);
7567float4 __ovld __cnfn asinh(float4);
7568float8 __ovld __cnfn asinh(float8);
7569float16 __ovld __cnfn asinh(float16);
7570#ifdef cl_khr_fp64
7571double __ovld __cnfn asinh(double);
7572double2 __ovld __cnfn asinh(double2);
7573double3 __ovld __cnfn asinh(double3);
7574double4 __ovld __cnfn asinh(double4);
7575double8 __ovld __cnfn asinh(double8);
7576double16 __ovld __cnfn asinh(double16);
7577#endif //cl_khr_fp64
7578#ifdef cl_khr_fp16
7579half __ovld __cnfn asinh(half);
7580half2 __ovld __cnfn asinh(half2);
7581half3 __ovld __cnfn asinh(half3);
7582half4 __ovld __cnfn asinh(half4);
7583half8 __ovld __cnfn asinh(half8);
7584half16 __ovld __cnfn asinh(half16);
7585#endif //cl_khr_fp16
7586
7587/**
7588 * Compute asin (x) / PI.
7589 */
7590float __ovld __cnfn asinpi(float x);
7591float2 __ovld __cnfn asinpi(float2 x);
7592float3 __ovld __cnfn asinpi(float3 x);
7593float4 __ovld __cnfn asinpi(float4 x);
7594float8 __ovld __cnfn asinpi(float8 x);
7595float16 __ovld __cnfn asinpi(float16 x);
7596#ifdef cl_khr_fp64
7597double __ovld __cnfn asinpi(double x);
7598double2 __ovld __cnfn asinpi(double2 x);
7599double3 __ovld __cnfn asinpi(double3 x);
7600double4 __ovld __cnfn asinpi(double4 x);
7601double8 __ovld __cnfn asinpi(double8 x);
7602double16 __ovld __cnfn asinpi(double16 x);
7603#endif //cl_khr_fp64
7604#ifdef cl_khr_fp16
7605half __ovld __cnfn asinpi(half x);
7606half2 __ovld __cnfn asinpi(half2 x);
7607half3 __ovld __cnfn asinpi(half3 x);
7608half4 __ovld __cnfn asinpi(half4 x);
7609half8 __ovld __cnfn asinpi(half8 x);
7610half16 __ovld __cnfn asinpi(half16 x);
7611#endif //cl_khr_fp16
7612
7613/**
7614 * Arc tangent function.
7615 */
7616float __ovld __cnfn atan(float y_over_x);
7617float2 __ovld __cnfn atan(float2 y_over_x);
7618float3 __ovld __cnfn atan(float3 y_over_x);
7619float4 __ovld __cnfn atan(float4 y_over_x);
7620float8 __ovld __cnfn atan(float8 y_over_x);
7621float16 __ovld __cnfn atan(float16 y_over_x);
7622#ifdef cl_khr_fp64
7623double __ovld __cnfn atan(double y_over_x);
7624double2 __ovld __cnfn atan(double2 y_over_x);
7625double3 __ovld __cnfn atan(double3 y_over_x);
7626double4 __ovld __cnfn atan(double4 y_over_x);
7627double8 __ovld __cnfn atan(double8 y_over_x);
7628double16 __ovld __cnfn atan(double16 y_over_x);
7629#endif //cl_khr_fp64
7630#ifdef cl_khr_fp16
7631half __ovld __cnfn atan(half y_over_x);
7632half2 __ovld __cnfn atan(half2 y_over_x);
7633half3 __ovld __cnfn atan(half3 y_over_x);
7634half4 __ovld __cnfn atan(half4 y_over_x);
7635half8 __ovld __cnfn atan(half8 y_over_x);
7636half16 __ovld __cnfn atan(half16 y_over_x);
7637#endif //cl_khr_fp16
7638
7639/**
7640 * Arc tangent of y / x.
7641 */
7642float __ovld __cnfn atan2(float y, float x);
7643float2 __ovld __cnfn atan2(float2 y, float2 x);
7644float3 __ovld __cnfn atan2(float3 y, float3 x);
7645float4 __ovld __cnfn atan2(float4 y, float4 x);
7646float8 __ovld __cnfn atan2(float8 y, float8 x);
7647float16 __ovld __cnfn atan2(float16 y, float16 x);
7648#ifdef cl_khr_fp64
7649double __ovld __cnfn atan2(double y, double x);
7650double2 __ovld __cnfn atan2(double2 y, double2 x);
7651double3 __ovld __cnfn atan2(double3 y, double3 x);
7652double4 __ovld __cnfn atan2(double4 y, double4 x);
7653double8 __ovld __cnfn atan2(double8 y, double8 x);
7654double16 __ovld __cnfn atan2(double16 y, double16 x);
7655#endif //cl_khr_fp64
7656#ifdef cl_khr_fp16
7657half __ovld __cnfn atan2(half y, half x);
7658half2 __ovld __cnfn atan2(half2 y, half2 x);
7659half3 __ovld __cnfn atan2(half3 y, half3 x);
7660half4 __ovld __cnfn atan2(half4 y, half4 x);
7661half8 __ovld __cnfn atan2(half8 y, half8 x);
7662half16 __ovld __cnfn atan2(half16 y, half16 x);
7663#endif //cl_khr_fp16
7664
7665/**
7666 * Hyperbolic arc tangent.
7667 */
7668float __ovld __cnfn atanh(float);
7669float2 __ovld __cnfn atanh(float2);
7670float3 __ovld __cnfn atanh(float3);
7671float4 __ovld __cnfn atanh(float4);
7672float8 __ovld __cnfn atanh(float8);
7673float16 __ovld __cnfn atanh(float16);
7674#ifdef cl_khr_fp64
7675double __ovld __cnfn atanh(double);
7676double2 __ovld __cnfn atanh(double2);
7677double3 __ovld __cnfn atanh(double3);
7678double4 __ovld __cnfn atanh(double4);
7679double8 __ovld __cnfn atanh(double8);
7680double16 __ovld __cnfn atanh(double16);
7681#endif //cl_khr_fp64
7682#ifdef cl_khr_fp16
7683half __ovld __cnfn atanh(half);
7684half2 __ovld __cnfn atanh(half2);
7685half3 __ovld __cnfn atanh(half3);
7686half4 __ovld __cnfn atanh(half4);
7687half8 __ovld __cnfn atanh(half8);
7688half16 __ovld __cnfn atanh(half16);
7689#endif //cl_khr_fp16
7690
7691/**
7692 * Compute atan (x) / PI.
7693 */
7694float __ovld __cnfn atanpi(float x);
7695float2 __ovld __cnfn atanpi(float2 x);
7696float3 __ovld __cnfn atanpi(float3 x);
7697float4 __ovld __cnfn atanpi(float4 x);
7698float8 __ovld __cnfn atanpi(float8 x);
7699float16 __ovld __cnfn atanpi(float16 x);
7700#ifdef cl_khr_fp64
7701double __ovld __cnfn atanpi(double x);
7702double2 __ovld __cnfn atanpi(double2 x);
7703double3 __ovld __cnfn atanpi(double3 x);
7704double4 __ovld __cnfn atanpi(double4 x);
7705double8 __ovld __cnfn atanpi(double8 x);
7706double16 __ovld __cnfn atanpi(double16 x);
7707#endif //cl_khr_fp64
7708#ifdef cl_khr_fp16
7709half __ovld __cnfn atanpi(half x);
7710half2 __ovld __cnfn atanpi(half2 x);
7711half3 __ovld __cnfn atanpi(half3 x);
7712half4 __ovld __cnfn atanpi(half4 x);
7713half8 __ovld __cnfn atanpi(half8 x);
7714half16 __ovld __cnfn atanpi(half16 x);
7715#endif //cl_khr_fp16
7716
7717/**
7718 * Compute atan2 (y, x) / PI.
7719 */
7720float __ovld __cnfn atan2pi(float y, float x);
7721float2 __ovld __cnfn atan2pi(float2 y, float2 x);
7722float3 __ovld __cnfn atan2pi(float3 y, float3 x);
7723float4 __ovld __cnfn atan2pi(float4 y, float4 x);
7724float8 __ovld __cnfn atan2pi(float8 y, float8 x);
7725float16 __ovld __cnfn atan2pi(float16 y, float16 x);
7726#ifdef cl_khr_fp64
7727double __ovld __cnfn atan2pi(double y, double x);
7728double2 __ovld __cnfn atan2pi(double2 y, double2 x);
7729double3 __ovld __cnfn atan2pi(double3 y, double3 x);
7730double4 __ovld __cnfn atan2pi(double4 y, double4 x);
7731double8 __ovld __cnfn atan2pi(double8 y, double8 x);
7732double16 __ovld __cnfn atan2pi(double16 y, double16 x);
7733#endif //cl_khr_fp64
7734#ifdef cl_khr_fp16
7735half __ovld __cnfn atan2pi(half y, half x);
7736half2 __ovld __cnfn atan2pi(half2 y, half2 x);
7737half3 __ovld __cnfn atan2pi(half3 y, half3 x);
7738half4 __ovld __cnfn atan2pi(half4 y, half4 x);
7739half8 __ovld __cnfn atan2pi(half8 y, half8 x);
7740half16 __ovld __cnfn atan2pi(half16 y, half16 x);
7741#endif //cl_khr_fp16
7742
7743/**
7744 * Compute cube-root.
7745 */
7746float __ovld __cnfn cbrt(float);
7747float2 __ovld __cnfn cbrt(float2);
7748float3 __ovld __cnfn cbrt(float3);
7749float4 __ovld __cnfn cbrt(float4);
7750float8 __ovld __cnfn cbrt(float8);
7751float16 __ovld __cnfn cbrt(float16);
7752#ifdef cl_khr_fp64
7753double __ovld __cnfn cbrt(double);
7754double2 __ovld __cnfn cbrt(double2);
7755double3 __ovld __cnfn cbrt(double3);
7756double4 __ovld __cnfn cbrt(double4);
7757double8 __ovld __cnfn cbrt(double8);
7758double16 __ovld __cnfn cbrt(double16);
7759#endif //cl_khr_fp64
7760#ifdef cl_khr_fp16
7761half __ovld __cnfn cbrt(half);
7762half2 __ovld __cnfn cbrt(half2);
7763half3 __ovld __cnfn cbrt(half3);
7764half4 __ovld __cnfn cbrt(half4);
7765half8 __ovld __cnfn cbrt(half8);
7766half16 __ovld __cnfn cbrt(half16);
7767#endif //cl_khr_fp16
7768
7769/**
7770 * Round to integral value using the round to positive
7771 * infinity rounding mode.
7772 */
7773float __ovld __cnfn ceil(float);
7774float2 __ovld __cnfn ceil(float2);
7775float3 __ovld __cnfn ceil(float3);
7776float4 __ovld __cnfn ceil(float4);
7777float8 __ovld __cnfn ceil(float8);
7778float16 __ovld __cnfn ceil(float16);
7779#ifdef cl_khr_fp64
7780double __ovld __cnfn ceil(double);
7781double2 __ovld __cnfn ceil(double2);
7782double3 __ovld __cnfn ceil(double3);
7783double4 __ovld __cnfn ceil(double4);
7784double8 __ovld __cnfn ceil(double8);
7785double16 __ovld __cnfn ceil(double16);
7786#endif //cl_khr_fp64
7787#ifdef cl_khr_fp16
7788half __ovld __cnfn ceil(half);
7789half2 __ovld __cnfn ceil(half2);
7790half3 __ovld __cnfn ceil(half3);
7791half4 __ovld __cnfn ceil(half4);
7792half8 __ovld __cnfn ceil(half8);
7793half16 __ovld __cnfn ceil(half16);
7794#endif //cl_khr_fp16
7795
7796/**
7797 * Returns x with its sign changed to match the sign of y.
7798 */
7799float __ovld __cnfn copysign(float x, float y);
7800float2 __ovld __cnfn copysign(float2 x, float2 y);
7801float3 __ovld __cnfn copysign(float3 x, float3 y);
7802float4 __ovld __cnfn copysign(float4 x, float4 y);
7803float8 __ovld __cnfn copysign(float8 x, float8 y);
7804float16 __ovld __cnfn copysign(float16 x, float16 y);
7805#ifdef cl_khr_fp64
7806double __ovld __cnfn copysign(double x, double y);
7807double2 __ovld __cnfn copysign(double2 x, double2 y);
7808double3 __ovld __cnfn copysign(double3 x, double3 y);
7809double4 __ovld __cnfn copysign(double4 x, double4 y);
7810double8 __ovld __cnfn copysign(double8 x, double8 y);
7811double16 __ovld __cnfn copysign(double16 x, double16 y);
7812#endif //cl_khr_fp64
7813#ifdef cl_khr_fp16
7814half __ovld __cnfn copysign(half x, half y);
7815half2 __ovld __cnfn copysign(half2 x, half2 y);
7816half3 __ovld __cnfn copysign(half3 x, half3 y);
7817half4 __ovld __cnfn copysign(half4 x, half4 y);
7818half8 __ovld __cnfn copysign(half8 x, half8 y);
7819half16 __ovld __cnfn copysign(half16 x, half16 y);
7820#endif //cl_khr_fp16
7821
7822/**
7823 * Compute cosine.
7824 */
7825float __ovld __cnfn cos(float);
7826float2 __ovld __cnfn cos(float2);
7827float3 __ovld __cnfn cos(float3);
7828float4 __ovld __cnfn cos(float4);
7829float8 __ovld __cnfn cos(float8);
7830float16 __ovld __cnfn cos(float16);
7831#ifdef cl_khr_fp64
7832double __ovld __cnfn cos(double);
7833double2 __ovld __cnfn cos(double2);
7834double3 __ovld __cnfn cos(double3);
7835double4 __ovld __cnfn cos(double4);
7836double8 __ovld __cnfn cos(double8);
7837double16 __ovld __cnfn cos(double16);
7838#endif //cl_khr_fp64
7839#ifdef cl_khr_fp16
7840half __ovld __cnfn cos(half);
7841half2 __ovld __cnfn cos(half2);
7842half3 __ovld __cnfn cos(half3);
7843half4 __ovld __cnfn cos(half4);
7844half8 __ovld __cnfn cos(half8);
7845half16 __ovld __cnfn cos(half16);
7846#endif //cl_khr_fp16
7847
7848/**
7849 * Compute hyperbolic cosine.
7850 */
7851float __ovld __cnfn cosh(float);
7852float2 __ovld __cnfn cosh(float2);
7853float3 __ovld __cnfn cosh(float3);
7854float4 __ovld __cnfn cosh(float4);
7855float8 __ovld __cnfn cosh(float8);
7856float16 __ovld __cnfn cosh(float16);
7857#ifdef cl_khr_fp64
7858double __ovld __cnfn cosh(double);
7859double2 __ovld __cnfn cosh(double2);
7860double3 __ovld __cnfn cosh(double3);
7861double4 __ovld __cnfn cosh(double4);
7862double8 __ovld __cnfn cosh(double8);
7863double16 __ovld __cnfn cosh(double16);
7864#endif //cl_khr_fp64
7865#ifdef cl_khr_fp16
7866half __ovld __cnfn cosh(half);
7867half2 __ovld __cnfn cosh(half2);
7868half3 __ovld __cnfn cosh(half3);
7869half4 __ovld __cnfn cosh(half4);
7870half8 __ovld __cnfn cosh(half8);
7871half16 __ovld __cnfn cosh(half16);
7872#endif //cl_khr_fp16
7873
7874/**
7875 * Compute cos (PI * x).
7876 */
7877float __ovld __cnfn cospi(float x);
7878float2 __ovld __cnfn cospi(float2 x);
7879float3 __ovld __cnfn cospi(float3 x);
7880float4 __ovld __cnfn cospi(float4 x);
7881float8 __ovld __cnfn cospi(float8 x);
7882float16 __ovld __cnfn cospi(float16 x);
7883#ifdef cl_khr_fp64
7884double __ovld __cnfn cospi(double x);
7885double2 __ovld __cnfn cospi(double2 x);
7886double3 __ovld __cnfn cospi(double3 x);
7887double4 __ovld __cnfn cospi(double4 x);
7888double8 __ovld __cnfn cospi(double8 x);
7889double16 __ovld __cnfn cospi(double16 x);
7890#endif //cl_khr_fp64
7891#ifdef cl_khr_fp16
7892half __ovld __cnfn cospi(half x);
7893half2 __ovld __cnfn cospi(half2 x);
7894half3 __ovld __cnfn cospi(half3 x);
7895half4 __ovld __cnfn cospi(half4 x);
7896half8 __ovld __cnfn cospi(half8 x);
7897half16 __ovld __cnfn cospi(half16 x);
7898#endif //cl_khr_fp16
7899
7900/**
7901 * Complementary error function.
7902 */
7903float __ovld __cnfn erfc(float);
7904float2 __ovld __cnfn erfc(float2);
7905float3 __ovld __cnfn erfc(float3);
7906float4 __ovld __cnfn erfc(float4);
7907float8 __ovld __cnfn erfc(float8);
7908float16 __ovld __cnfn erfc(float16);
7909#ifdef cl_khr_fp64
7910double __ovld __cnfn erfc(double);
7911double2 __ovld __cnfn erfc(double2);
7912double3 __ovld __cnfn erfc(double3);
7913double4 __ovld __cnfn erfc(double4);
7914double8 __ovld __cnfn erfc(double8);
7915double16 __ovld __cnfn erfc(double16);
7916#endif //cl_khr_fp64
7917#ifdef cl_khr_fp16
7918half __ovld __cnfn erfc(half);
7919half2 __ovld __cnfn erfc(half2);
7920half3 __ovld __cnfn erfc(half3);
7921half4 __ovld __cnfn erfc(half4);
7922half8 __ovld __cnfn erfc(half8);
7923half16 __ovld __cnfn erfc(half16);
7924#endif //cl_khr_fp16
7925
7926/**
7927 * Error function encountered in integrating the
7928 * normal distribution.
7929 */
7930float __ovld __cnfn erf(float);
7931float2 __ovld __cnfn erf(float2);
7932float3 __ovld __cnfn erf(float3);
7933float4 __ovld __cnfn erf(float4);
7934float8 __ovld __cnfn erf(float8);
7935float16 __ovld __cnfn erf(float16);
7936#ifdef cl_khr_fp64
7937double __ovld __cnfn erf(double);
7938double2 __ovld __cnfn erf(double2);
7939double3 __ovld __cnfn erf(double3);
7940double4 __ovld __cnfn erf(double4);
7941double8 __ovld __cnfn erf(double8);
7942double16 __ovld __cnfn erf(double16);
7943#endif //cl_khr_fp64
7944#ifdef cl_khr_fp16
7945half __ovld __cnfn erf(half);
7946half2 __ovld __cnfn erf(half2);
7947half3 __ovld __cnfn erf(half3);
7948half4 __ovld __cnfn erf(half4);
7949half8 __ovld __cnfn erf(half8);
7950half16 __ovld __cnfn erf(half16);
7951#endif //cl_khr_fp16
7952
7953/**
7954 * Compute the base e exponential function of x.
7955 */
7956float __ovld __cnfn exp(float x);
7957float2 __ovld __cnfn exp(float2 x);
7958float3 __ovld __cnfn exp(float3 x);
7959float4 __ovld __cnfn exp(float4 x);
7960float8 __ovld __cnfn exp(float8 x);
7961float16 __ovld __cnfn exp(float16 x);
7962#ifdef cl_khr_fp64
7963double __ovld __cnfn exp(double x);
7964double2 __ovld __cnfn exp(double2 x);
7965double3 __ovld __cnfn exp(double3 x);
7966double4 __ovld __cnfn exp(double4 x);
7967double8 __ovld __cnfn exp(double8 x);
7968double16 __ovld __cnfn exp(double16 x);
7969#endif //cl_khr_fp64
7970#ifdef cl_khr_fp16
7971half __ovld __cnfn exp(half x);
7972half2 __ovld __cnfn exp(half2 x);
7973half3 __ovld __cnfn exp(half3 x);
7974half4 __ovld __cnfn exp(half4 x);
7975half8 __ovld __cnfn exp(half8 x);
7976half16 __ovld __cnfn exp(half16 x);
7977#endif //cl_khr_fp16
7978
7979/**
7980 * Exponential base 2 function.
7981 */
7982float __ovld __cnfn exp2(float);
7983float2 __ovld __cnfn exp2(float2);
7984float3 __ovld __cnfn exp2(float3);
7985float4 __ovld __cnfn exp2(float4);
7986float8 __ovld __cnfn exp2(float8);
7987float16 __ovld __cnfn exp2(float16);
7988#ifdef cl_khr_fp64
7989double __ovld __cnfn exp2(double);
7990double2 __ovld __cnfn exp2(double2);
7991double3 __ovld __cnfn exp2(double3);
7992double4 __ovld __cnfn exp2(double4);
7993double8 __ovld __cnfn exp2(double8);
7994double16 __ovld __cnfn exp2(double16);
7995#endif //cl_khr_fp64
7996#ifdef cl_khr_fp16
7997half __ovld __cnfn exp2(half);
7998half2 __ovld __cnfn exp2(half2);
7999half3 __ovld __cnfn exp2(half3);
8000half4 __ovld __cnfn exp2(half4);
8001half8 __ovld __cnfn exp2(half8);
8002half16 __ovld __cnfn exp2(half16);
8003#endif //cl_khr_fp16
8004
8005/**
8006 * Exponential base 10 function.
8007 */
8008float __ovld __cnfn exp10(float);
8009float2 __ovld __cnfn exp10(float2);
8010float3 __ovld __cnfn exp10(float3);
8011float4 __ovld __cnfn exp10(float4);
8012float8 __ovld __cnfn exp10(float8);
8013float16 __ovld __cnfn exp10(float16);
8014#ifdef cl_khr_fp64
8015double __ovld __cnfn exp10(double);
8016double2 __ovld __cnfn exp10(double2);
8017double3 __ovld __cnfn exp10(double3);
8018double4 __ovld __cnfn exp10(double4);
8019double8 __ovld __cnfn exp10(double8);
8020double16 __ovld __cnfn exp10(double16);
8021#endif //cl_khr_fp64
8022#ifdef cl_khr_fp16
8023half __ovld __cnfn exp10(half);
8024half2 __ovld __cnfn exp10(half2);
8025half3 __ovld __cnfn exp10(half3);
8026half4 __ovld __cnfn exp10(half4);
8027half8 __ovld __cnfn exp10(half8);
8028half16 __ovld __cnfn exp10(half16);
8029#endif //cl_khr_fp16
8030
8031/**
8032 * Compute e^x- 1.0.
8033 */
8034float __ovld __cnfn expm1(float x);
8035float2 __ovld __cnfn expm1(float2 x);
8036float3 __ovld __cnfn expm1(float3 x);
8037float4 __ovld __cnfn expm1(float4 x);
8038float8 __ovld __cnfn expm1(float8 x);
8039float16 __ovld __cnfn expm1(float16 x);
8040#ifdef cl_khr_fp64
8041double __ovld __cnfn expm1(double x);
8042double2 __ovld __cnfn expm1(double2 x);
8043double3 __ovld __cnfn expm1(double3 x);
8044double4 __ovld __cnfn expm1(double4 x);
8045double8 __ovld __cnfn expm1(double8 x);
8046double16 __ovld __cnfn expm1(double16 x);
8047#endif //cl_khr_fp64
8048#ifdef cl_khr_fp16
8049half __ovld __cnfn expm1(half x);
8050half2 __ovld __cnfn expm1(half2 x);
8051half3 __ovld __cnfn expm1(half3 x);
8052half4 __ovld __cnfn expm1(half4 x);
8053half8 __ovld __cnfn expm1(half8 x);
8054half16 __ovld __cnfn expm1(half16 x);
8055#endif //cl_khr_fp16
8056
8057/**
8058 * Compute absolute value of a floating-point number.
8059 */
8060float __ovld __cnfn fabs(float);
8061float2 __ovld __cnfn fabs(float2);
8062float3 __ovld __cnfn fabs(float3);
8063float4 __ovld __cnfn fabs(float4);
8064float8 __ovld __cnfn fabs(float8);
8065float16 __ovld __cnfn fabs(float16);
8066#ifdef cl_khr_fp64
8067double __ovld __cnfn fabs(double);
8068double2 __ovld __cnfn fabs(double2);
8069double3 __ovld __cnfn fabs(double3);
8070double4 __ovld __cnfn fabs(double4);
8071double8 __ovld __cnfn fabs(double8);
8072double16 __ovld __cnfn fabs(double16);
8073#endif //cl_khr_fp64
8074#ifdef cl_khr_fp16
8075half __ovld __cnfn fabs(half);
8076half2 __ovld __cnfn fabs(half2);
8077half3 __ovld __cnfn fabs(half3);
8078half4 __ovld __cnfn fabs(half4);
8079half8 __ovld __cnfn fabs(half8);
8080half16 __ovld __cnfn fabs(half16);
8081#endif //cl_khr_fp16
8082
8083/**
8084 * x - y if x > y, +0 if x is less than or equal to y.
8085 */
8086float __ovld __cnfn fdim(float x, float y);
8087float2 __ovld __cnfn fdim(float2 x, float2 y);
8088float3 __ovld __cnfn fdim(float3 x, float3 y);
8089float4 __ovld __cnfn fdim(float4 x, float4 y);
8090float8 __ovld __cnfn fdim(float8 x, float8 y);
8091float16 __ovld __cnfn fdim(float16 x, float16 y);
8092#ifdef cl_khr_fp64
8093double __ovld __cnfn fdim(double x, double y);
8094double2 __ovld __cnfn fdim(double2 x, double2 y);
8095double3 __ovld __cnfn fdim(double3 x, double3 y);
8096double4 __ovld __cnfn fdim(double4 x, double4 y);
8097double8 __ovld __cnfn fdim(double8 x, double8 y);
8098double16 __ovld __cnfn fdim(double16 x, double16 y);
8099#endif //cl_khr_fp64
8100#ifdef cl_khr_fp16
8101half __ovld __cnfn fdim(half x, half y);
8102half2 __ovld __cnfn fdim(half2 x, half2 y);
8103half3 __ovld __cnfn fdim(half3 x, half3 y);
8104half4 __ovld __cnfn fdim(half4 x, half4 y);
8105half8 __ovld __cnfn fdim(half8 x, half8 y);
8106half16 __ovld __cnfn fdim(half16 x, half16 y);
8107#endif //cl_khr_fp16
8108
8109/**
8110 * Round to integral value using the round to -ve
8111 * infinity rounding mode.
8112 */
8113float __ovld __cnfn floor(float);
8114float2 __ovld __cnfn floor(float2);
8115float3 __ovld __cnfn floor(float3);
8116float4 __ovld __cnfn floor(float4);
8117float8 __ovld __cnfn floor(float8);
8118float16 __ovld __cnfn floor(float16);
8119#ifdef cl_khr_fp64
8120double __ovld __cnfn floor(double);
8121double2 __ovld __cnfn floor(double2);
8122double3 __ovld __cnfn floor(double3);
8123double4 __ovld __cnfn floor(double4);
8124double8 __ovld __cnfn floor(double8);
8125double16 __ovld __cnfn floor(double16);
8126#endif //cl_khr_fp64
8127#ifdef cl_khr_fp16
8128half __ovld __cnfn floor(half);
8129half2 __ovld __cnfn floor(half2);
8130half3 __ovld __cnfn floor(half3);
8131half4 __ovld __cnfn floor(half4);
8132half8 __ovld __cnfn floor(half8);
8133half16 __ovld __cnfn floor(half16);
8134#endif //cl_khr_fp16
8135
8136/**
8137 * Returns the correctly rounded floating-point
8138 * representation of the sum of c with the infinitely
8139 * precise product of a and b. Rounding of
8140 * intermediate products shall not occur. Edge case
8141 * behavior is per the IEEE 754-2008 standard.
8142 */
8143float __ovld __cnfn fma(float a, float b, float c);
8144float2 __ovld __cnfn fma(float2 a, float2 b, float2 c);
8145float3 __ovld __cnfn fma(float3 a, float3 b, float3 c);
8146float4 __ovld __cnfn fma(float4 a, float4 b, float4 c);
8147float8 __ovld __cnfn fma(float8 a, float8 b, float8 c);
8148float16 __ovld __cnfn fma(float16 a, float16 b, float16 c);
8149#ifdef cl_khr_fp64
8150double __ovld __cnfn fma(double a, double b, double c);
8151double2 __ovld __cnfn fma(double2 a, double2 b, double2 c);
8152double3 __ovld __cnfn fma(double3 a, double3 b, double3 c);
8153double4 __ovld __cnfn fma(double4 a, double4 b, double4 c);
8154double8 __ovld __cnfn fma(double8 a, double8 b, double8 c);
8155double16 __ovld __cnfn fma(double16 a, double16 b, double16 c);
8156#endif //cl_khr_fp64
8157#ifdef cl_khr_fp16
8158half __ovld __cnfn fma(half a, half b, half c);
8159half2 __ovld __cnfn fma(half2 a, half2 b, half2 c);
8160half3 __ovld __cnfn fma(half3 a, half3 b, half3 c);
8161half4 __ovld __cnfn fma(half4 a, half4 b, half4 c);
8162half8 __ovld __cnfn fma(half8 a, half8 b, half8 c);
8163half16 __ovld __cnfn fma(half16 a, half16 b, half16 c);
8164#endif //cl_khr_fp16
8165
8166/**
8167 * Returns y if x < y, otherwise it returns x. If one
8168 * argument is a NaN, fmax() returns the other
8169 * argument. If both arguments are NaNs, fmax()
8170 * returns a NaN.
8171 */
8172float __ovld __cnfn fmax(float x, float y);
8173float2 __ovld __cnfn fmax(float2 x, float2 y);
8174float3 __ovld __cnfn fmax(float3 x, float3 y);
8175float4 __ovld __cnfn fmax(float4 x, float4 y);
8176float8 __ovld __cnfn fmax(float8 x, float8 y);
8177float16 __ovld __cnfn fmax(float16 x, float16 y);
8178float2 __ovld __cnfn fmax(float2 x, float y);
8179float3 __ovld __cnfn fmax(float3 x, float y);
8180float4 __ovld __cnfn fmax(float4 x, float y);
8181float8 __ovld __cnfn fmax(float8 x, float y);
8182float16 __ovld __cnfn fmax(float16 x, float y);
8183#ifdef cl_khr_fp64
8184double __ovld __cnfn fmax(double x, double y);
8185double2 __ovld __cnfn fmax(double2 x, double2 y);
8186double3 __ovld __cnfn fmax(double3 x, double3 y);
8187double4 __ovld __cnfn fmax(double4 x, double4 y);
8188double8 __ovld __cnfn fmax(double8 x, double8 y);
8189double16 __ovld __cnfn fmax(double16 x, double16 y);
8190double2 __ovld __cnfn fmax(double2 x, double y);
8191double3 __ovld __cnfn fmax(double3 x, double y);
8192double4 __ovld __cnfn fmax(double4 x, double y);
8193double8 __ovld __cnfn fmax(double8 x, double y);
8194double16 __ovld __cnfn fmax(double16 x, double y);
8195#endif //cl_khr_fp64
8196#ifdef cl_khr_fp16
8197half __ovld __cnfn fmax(half x, half y);
8198half2 __ovld __cnfn fmax(half2 x, half2 y);
8199half3 __ovld __cnfn fmax(half3 x, half3 y);
8200half4 __ovld __cnfn fmax(half4 x, half4 y);
8201half8 __ovld __cnfn fmax(half8 x, half8 y);
8202half16 __ovld __cnfn fmax(half16 x, half16 y);
8203half2 __ovld __cnfn fmax(half2 x, half y);
8204half3 __ovld __cnfn fmax(half3 x, half y);
8205half4 __ovld __cnfn fmax(half4 x, half y);
8206half8 __ovld __cnfn fmax(half8 x, half y);
8207half16 __ovld __cnfn fmax(half16 x, half y);
8208#endif //cl_khr_fp16
8209
8210/**
8211 * Returns y if y < x, otherwise it returns x. If one
8212 * argument is a NaN, fmin() returns the other
8213 * argument. If both arguments are NaNs, fmin()
8214 * returns a NaN.
8215 */
8216float __ovld __cnfn fmin(float x, float y);
8217float2 __ovld __cnfn fmin(float2 x, float2 y);
8218float3 __ovld __cnfn fmin(float3 x, float3 y);
8219float4 __ovld __cnfn fmin(float4 x, float4 y);
8220float8 __ovld __cnfn fmin(float8 x, float8 y);
8221float16 __ovld __cnfn fmin(float16 x, float16 y);
8222float2 __ovld __cnfn fmin(float2 x, float y);
8223float3 __ovld __cnfn fmin(float3 x, float y);
8224float4 __ovld __cnfn fmin(float4 x, float y);
8225float8 __ovld __cnfn fmin(float8 x, float y);
8226float16 __ovld __cnfn fmin(float16 x, float y);
8227#ifdef cl_khr_fp64
8228double __ovld __cnfn fmin(double x, double y);
8229double2 __ovld __cnfn fmin(double2 x, double2 y);
8230double3 __ovld __cnfn fmin(double3 x, double3 y);
8231double4 __ovld __cnfn fmin(double4 x, double4 y);
8232double8 __ovld __cnfn fmin(double8 x, double8 y);
8233double16 __ovld __cnfn fmin(double16 x, double16 y);
8234double2 __ovld __cnfn fmin(double2 x, double y);
8235double3 __ovld __cnfn fmin(double3 x, double y);
8236double4 __ovld __cnfn fmin(double4 x, double y);
8237double8 __ovld __cnfn fmin(double8 x, double y);
8238double16 __ovld __cnfn fmin(double16 x, double y);
8239#endif //cl_khr_fp64
8240#ifdef cl_khr_fp16
8241half __ovld __cnfn fmin(half x, half y);
8242half2 __ovld __cnfn fmin(half2 x, half2 y);
8243half3 __ovld __cnfn fmin(half3 x, half3 y);
8244half4 __ovld __cnfn fmin(half4 x, half4 y);
8245half8 __ovld __cnfn fmin(half8 x, half8 y);
8246half16 __ovld __cnfn fmin(half16 x, half16 y);
8247half2 __ovld __cnfn fmin(half2 x, half y);
8248half3 __ovld __cnfn fmin(half3 x, half y);
8249half4 __ovld __cnfn fmin(half4 x, half y);
8250half8 __ovld __cnfn fmin(half8 x, half y);
8251half16 __ovld __cnfn fmin(half16 x, half y);
8252#endif //cl_khr_fp16
8253
8254/**
8255 * Modulus. Returns x - y * trunc (x/y).
8256 */
8257float __ovld __cnfn fmod(float x, float y);
8258float2 __ovld __cnfn fmod(float2 x, float2 y);
8259float3 __ovld __cnfn fmod(float3 x, float3 y);
8260float4 __ovld __cnfn fmod(float4 x, float4 y);
8261float8 __ovld __cnfn fmod(float8 x, float8 y);
8262float16 __ovld __cnfn fmod(float16 x, float16 y);
8263#ifdef cl_khr_fp64
8264double __ovld __cnfn fmod(double x, double y);
8265double2 __ovld __cnfn fmod(double2 x, double2 y);
8266double3 __ovld __cnfn fmod(double3 x, double3 y);
8267double4 __ovld __cnfn fmod(double4 x, double4 y);
8268double8 __ovld __cnfn fmod(double8 x, double8 y);
8269double16 __ovld __cnfn fmod(double16 x, double16 y);
8270#endif //cl_khr_fp64
8271#ifdef cl_khr_fp16
8272half __ovld __cnfn fmod(half x, half y);
8273half2 __ovld __cnfn fmod(half2 x, half2 y);
8274half3 __ovld __cnfn fmod(half3 x, half3 y);
8275half4 __ovld __cnfn fmod(half4 x, half4 y);
8276half8 __ovld __cnfn fmod(half8 x, half8 y);
8277half16 __ovld __cnfn fmod(half16 x, half16 y);
8278#endif //cl_khr_fp16
8279
8280/**
8281 * Returns fmin(x - floor (x), 0x1.fffffep-1f ).
8282 * floor(x) is returned in iptr.
8283 */
8284#if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
8285float __ovld fract(float x, float *iptr);
8286float2 __ovld fract(float2 x, float2 *iptr);
8287float3 __ovld fract(float3 x, float3 *iptr);
8288float4 __ovld fract(float4 x, float4 *iptr);
8289float8 __ovld fract(float8 x, float8 *iptr);
8290float16 __ovld fract(float16 x, float16 *iptr);
8291#ifdef cl_khr_fp64
8292double __ovld fract(double x, double *iptr);
8293double2 __ovld fract(double2 x, double2 *iptr);
8294double3 __ovld fract(double3 x, double3 *iptr);
8295double4 __ovld fract(double4 x, double4 *iptr);
8296double8 __ovld fract(double8 x, double8 *iptr);
8297double16 __ovld fract(double16 x, double16 *iptr);
8298#endif //cl_khr_fp64
8299#ifdef cl_khr_fp16
8300half __ovld fract(half x, half *iptr);
8301half2 __ovld fract(half2 x, half2 *iptr);
8302half3 __ovld fract(half3 x, half3 *iptr);
8303half4 __ovld fract(half4 x, half4 *iptr);
8304half8 __ovld fract(half8 x, half8 *iptr);
8305half16 __ovld fract(half16 x, half16 *iptr);
8306#endif //cl_khr_fp16
8307#else
8308float __ovld fract(float x, __global float *iptr);
8309float2 __ovld fract(float2 x, __global float2 *iptr);
8310float3 __ovld fract(float3 x, __global float3 *iptr);
8311float4 __ovld fract(float4 x, __global float4 *iptr);
8312float8 __ovld fract(float8 x, __global float8 *iptr);
8313float16 __ovld fract(float16 x, __global float16 *iptr);
8314float __ovld fract(float x, __local float *iptr);
8315float2 __ovld fract(float2 x, __local float2 *iptr);
8316float3 __ovld fract(float3 x, __local float3 *iptr);
8317float4 __ovld fract(float4 x, __local float4 *iptr);
8318float8 __ovld fract(float8 x, __local float8 *iptr);
8319float16 __ovld fract(float16 x, __local float16 *iptr);
8320float __ovld fract(float x, __private float *iptr);
8321float2 __ovld fract(float2 x, __private float2 *iptr);
8322float3 __ovld fract(float3 x, __private float3 *iptr);
8323float4 __ovld fract(float4 x, __private float4 *iptr);
8324float8 __ovld fract(float8 x, __private float8 *iptr);
8325float16 __ovld fract(float16 x, __private float16 *iptr);
8326#ifdef cl_khr_fp64
8327double __ovld fract(double x, __global double *iptr);
8328double2 __ovld fract(double2 x, __global double2 *iptr);
8329double3 __ovld fract(double3 x, __global double3 *iptr);
8330double4 __ovld fract(double4 x, __global double4 *iptr);
8331double8 __ovld fract(double8 x, __global double8 *iptr);
8332double16 __ovld fract(double16 x, __global double16 *iptr);
8333double __ovld fract(double x, __local double *iptr);
8334double2 __ovld fract(double2 x, __local double2 *iptr);
8335double3 __ovld fract(double3 x, __local double3 *iptr);
8336double4 __ovld fract(double4 x, __local double4 *iptr);
8337double8 __ovld fract(double8 x, __local double8 *iptr);
8338double16 __ovld fract(double16 x, __local double16 *iptr);
8339double __ovld fract(double x, __private double *iptr);
8340double2 __ovld fract(double2 x, __private double2 *iptr);
8341double3 __ovld fract(double3 x, __private double3 *iptr);
8342double4 __ovld fract(double4 x, __private double4 *iptr);
8343double8 __ovld fract(double8 x, __private double8 *iptr);
8344double16 __ovld fract(double16 x, __private double16 *iptr);
8345#endif //cl_khr_fp64
8346#ifdef cl_khr_fp16
8347half __ovld fract(half x, __global half *iptr);
8348half2 __ovld fract(half2 x, __global half2 *iptr);
8349half3 __ovld fract(half3 x, __global half3 *iptr);
8350half4 __ovld fract(half4 x, __global half4 *iptr);
8351half8 __ovld fract(half8 x, __global half8 *iptr);
8352half16 __ovld fract(half16 x, __global half16 *iptr);
8353half __ovld fract(half x, __local half *iptr);
8354half2 __ovld fract(half2 x, __local half2 *iptr);
8355half3 __ovld fract(half3 x, __local half3 *iptr);
8356half4 __ovld fract(half4 x, __local half4 *iptr);
8357half8 __ovld fract(half8 x, __local half8 *iptr);
8358half16 __ovld fract(half16 x, __local half16 *iptr);
8359half __ovld fract(half x, __private half *iptr);
8360half2 __ovld fract(half2 x, __private half2 *iptr);
8361half3 __ovld fract(half3 x, __private half3 *iptr);
8362half4 __ovld fract(half4 x, __private half4 *iptr);
8363half8 __ovld fract(half8 x, __private half8 *iptr);
8364half16 __ovld fract(half16 x, __private half16 *iptr);
8365#endif //cl_khr_fp16
8366#endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
8367
8368/**
8369 * Extract mantissa and exponent from x. For each
8370 * component the mantissa returned is a float with
8371 * magnitude in the interval [1/2, 1) or 0. Each
8372 * component of x equals mantissa returned * 2^exp.
8373 */
8374#if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
8375float __ovld frexp(float x, int *exp);
8376float2 __ovld frexp(float2 x, int2 *exp);
8377float3 __ovld frexp(float3 x, int3 *exp);
8378float4 __ovld frexp(float4 x, int4 *exp);
8379float8 __ovld frexp(float8 x, int8 *exp);
8380float16 __ovld frexp(float16 x, int16 *exp);
8381#ifdef cl_khr_fp64
8382double __ovld frexp(double x, int *exp);
8383double2 __ovld frexp(double2 x, int2 *exp);
8384double3 __ovld frexp(double3 x, int3 *exp);
8385double4 __ovld frexp(double4 x, int4 *exp);
8386double8 __ovld frexp(double8 x, int8 *exp);
8387double16 __ovld frexp(double16 x, int16 *exp);
8388#endif //cl_khr_fp64
8389#ifdef cl_khr_fp16
8390half __ovld frexp(half x, int *exp);
8391half2 __ovld frexp(half2 x, int2 *exp);
8392half3 __ovld frexp(half3 x, int3 *exp);
8393half4 __ovld frexp(half4 x, int4 *exp);
8394half8 __ovld frexp(half8 x, int8 *exp);
8395half16 __ovld frexp(half16 x, int16 *exp);
8396#endif //cl_khr_fp16
8397#else
8398float __ovld frexp(float x, __global int *exp);
8399float2 __ovld frexp(float2 x, __global int2 *exp);
8400float3 __ovld frexp(float3 x, __global int3 *exp);
8401float4 __ovld frexp(float4 x, __global int4 *exp);
8402float8 __ovld frexp(float8 x, __global int8 *exp);
8403float16 __ovld frexp(float16 x, __global int16 *exp);
8404float __ovld frexp(float x, __local int *exp);
8405float2 __ovld frexp(float2 x, __local int2 *exp);
8406float3 __ovld frexp(float3 x, __local int3 *exp);
8407float4 __ovld frexp(float4 x, __local int4 *exp);
8408float8 __ovld frexp(float8 x, __local int8 *exp);
8409float16 __ovld frexp(float16 x, __local int16 *exp);
8410float __ovld frexp(float x, __private int *exp);
8411float2 __ovld frexp(float2 x, __private int2 *exp);
8412float3 __ovld frexp(float3 x, __private int3 *exp);
8413float4 __ovld frexp(float4 x, __private int4 *exp);
8414float8 __ovld frexp(float8 x, __private int8 *exp);
8415float16 __ovld frexp(float16 x, __private int16 *exp);
8416#ifdef cl_khr_fp64
8417double __ovld frexp(double x, __global int *exp);
8418double2 __ovld frexp(double2 x, __global int2 *exp);
8419double3 __ovld frexp(double3 x, __global int3 *exp);
8420double4 __ovld frexp(double4 x, __global int4 *exp);
8421double8 __ovld frexp(double8 x, __global int8 *exp);
8422double16 __ovld frexp(double16 x, __global int16 *exp);
8423double __ovld frexp(double x, __local int *exp);
8424double2 __ovld frexp(double2 x, __local int2 *exp);
8425double3 __ovld frexp(double3 x, __local int3 *exp);
8426double4 __ovld frexp(double4 x, __local int4 *exp);
8427double8 __ovld frexp(double8 x, __local int8 *exp);
8428double16 __ovld frexp(double16 x, __local int16 *exp);
8429double __ovld frexp(double x, __private int *exp);
8430double2 __ovld frexp(double2 x, __private int2 *exp);
8431double3 __ovld frexp(double3 x, __private int3 *exp);
8432double4 __ovld frexp(double4 x, __private int4 *exp);
8433double8 __ovld frexp(double8 x, __private int8 *exp);
8434double16 __ovld frexp(double16 x, __private int16 *exp);
8435#endif //cl_khr_fp64
8436#ifdef cl_khr_fp16
8437half __ovld frexp(half x, __global int *exp);
8438half2 __ovld frexp(half2 x, __global int2 *exp);
8439half3 __ovld frexp(half3 x, __global int3 *exp);
8440half4 __ovld frexp(half4 x, __global int4 *exp);
8441half8 __ovld frexp(half8 x, __global int8 *exp);
8442half16 __ovld frexp(half16 x, __global int16 *exp);
8443half __ovld frexp(half x, __local int *exp);
8444half2 __ovld frexp(half2 x, __local int2 *exp);
8445half3 __ovld frexp(half3 x, __local int3 *exp);
8446half4 __ovld frexp(half4 x, __local int4 *exp);
8447half8 __ovld frexp(half8 x, __local int8 *exp);
8448half16 __ovld frexp(half16 x, __local int16 *exp);
8449half __ovld frexp(half x, __private int *exp);
8450half2 __ovld frexp(half2 x, __private int2 *exp);
8451half3 __ovld frexp(half3 x, __private int3 *exp);
8452half4 __ovld frexp(half4 x, __private int4 *exp);
8453half8 __ovld frexp(half8 x, __private int8 *exp);
8454half16 __ovld frexp(half16 x, __private int16 *exp);
8455#endif //cl_khr_fp16
8456#endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
8457
8458/**
8459 * Compute the value of the square root of x^2 + y^2
8460 * without undue overflow or underflow.
8461 */
8462float __ovld __cnfn hypot(float x, float y);
8463float2 __ovld __cnfn hypot(float2 x, float2 y);
8464float3 __ovld __cnfn hypot(float3 x, float3 y);
8465float4 __ovld __cnfn hypot(float4 x, float4 y);
8466float8 __ovld __cnfn hypot(float8 x, float8 y);
8467float16 __ovld __cnfn hypot(float16 x, float16 y);
8468#ifdef cl_khr_fp64
8469double __ovld __cnfn hypot(double x, double y);
8470double2 __ovld __cnfn hypot(double2 x, double2 y);
8471double3 __ovld __cnfn hypot(double3 x, double3 y);
8472double4 __ovld __cnfn hypot(double4 x, double4 y);
8473double8 __ovld __cnfn hypot(double8 x, double8 y);
8474double16 __ovld __cnfn hypot(double16 x, double16 y);
8475#endif //cl_khr_fp64
8476#ifdef cl_khr_fp16
8477half __ovld __cnfn hypot(half x, half y);
8478half2 __ovld __cnfn hypot(half2 x, half2 y);
8479half3 __ovld __cnfn hypot(half3 x, half3 y);
8480half4 __ovld __cnfn hypot(half4 x, half4 y);
8481half8 __ovld __cnfn hypot(half8 x, half8 y);
8482half16 __ovld __cnfn hypot(half16 x, half16 y);
8483#endif //cl_khr_fp16
8484
8485/**
8486 * Return the exponent as an integer value.
8487 */
8488int __ovld __cnfn ilogb(float x);
8489int2 __ovld __cnfn ilogb(float2 x);
8490int3 __ovld __cnfn ilogb(float3 x);
8491int4 __ovld __cnfn ilogb(float4 x);
8492int8 __ovld __cnfn ilogb(float8 x);
8493int16 __ovld __cnfn ilogb(float16 x);
8494#ifdef cl_khr_fp64
8495int __ovld __cnfn ilogb(double x);
8496int2 __ovld __cnfn ilogb(double2 x);
8497int3 __ovld __cnfn ilogb(double3 x);
8498int4 __ovld __cnfn ilogb(double4 x);
8499int8 __ovld __cnfn ilogb(double8 x);
8500int16 __ovld __cnfn ilogb(double16 x);
8501#endif //cl_khr_fp64
8502#ifdef cl_khr_fp16
8503int __ovld __cnfn ilogb(half x);
8504int2 __ovld __cnfn ilogb(half2 x);
8505int3 __ovld __cnfn ilogb(half3 x);
8506int4 __ovld __cnfn ilogb(half4 x);
8507int8 __ovld __cnfn ilogb(half8 x);
8508int16 __ovld __cnfn ilogb(half16 x);
8509#endif //cl_khr_fp16
8510
8511/**
8512 * Multiply x by 2 to the power n.
8513 */
8514float __ovld __cnfn ldexp(float x, int n);
8515float2 __ovld __cnfn ldexp(float2 x, int2 n);
8516float3 __ovld __cnfn ldexp(float3 x, int3 n);
8517float4 __ovld __cnfn ldexp(float4 x, int4 n);
8518float8 __ovld __cnfn ldexp(float8 x, int8 n);
8519float16 __ovld __cnfn ldexp(float16 x, int16 n);
8520float2 __ovld __cnfn ldexp(float2 x, int n);
8521float3 __ovld __cnfn ldexp(float3 x, int n);
8522float4 __ovld __cnfn ldexp(float4 x, int n);
8523float8 __ovld __cnfn ldexp(float8 x, int n);
8524float16 __ovld __cnfn ldexp(float16 x, int n);
8525#ifdef cl_khr_fp64
8526double __ovld __cnfn ldexp(double x, int n);
8527double2 __ovld __cnfn ldexp(double2 x, int2 n);
8528double3 __ovld __cnfn ldexp(double3 x, int3 n);
8529double4 __ovld __cnfn ldexp(double4 x, int4 n);
8530double8 __ovld __cnfn ldexp(double8 x, int8 n);
8531double16 __ovld __cnfn ldexp(double16 x, int16 n);
8532double2 __ovld __cnfn ldexp(double2 x, int n);
8533double3 __ovld __cnfn ldexp(double3 x, int n);
8534double4 __ovld __cnfn ldexp(double4 x, int n);
8535double8 __ovld __cnfn ldexp(double8 x, int n);
8536double16 __ovld __cnfn ldexp(double16 x, int n);
8537#endif //cl_khr_fp64
8538#ifdef cl_khr_fp16
8539half __ovld __cnfn ldexp(half x, int n);
8540half2 __ovld __cnfn ldexp(half2 x, int2 n);
8541half3 __ovld __cnfn ldexp(half3 x, int3 n);
8542half4 __ovld __cnfn ldexp(half4 x, int4 n);
8543half8 __ovld __cnfn ldexp(half8 x, int8 n);
8544half16 __ovld __cnfn ldexp(half16 x, int16 n);
8545half2 __ovld __cnfn ldexp(half2 x, int n);
8546half3 __ovld __cnfn ldexp(half3 x, int n);
8547half4 __ovld __cnfn ldexp(half4 x, int n);
8548half8 __ovld __cnfn ldexp(half8 x, int n);
8549half16 __ovld __cnfn ldexp(half16 x, int n);
8550#endif //cl_khr_fp16
8551
8552/**
8553 * Log gamma function. Returns the natural
8554 * logarithm of the absolute value of the gamma
8555 * function. The sign of the gamma function is
8556 * returned in the signp argument of lgamma_r.
8557 */
8558float __ovld __cnfn lgamma(float x);
8559float2 __ovld __cnfn lgamma(float2 x);
8560float3 __ovld __cnfn lgamma(float3 x);
8561float4 __ovld __cnfn lgamma(float4 x);
8562float8 __ovld __cnfn lgamma(float8 x);
8563float16 __ovld __cnfn lgamma(float16 x);
8564#ifdef cl_khr_fp64
8565double __ovld __cnfn lgamma(double x);
8566double2 __ovld __cnfn lgamma(double2 x);
8567double3 __ovld __cnfn lgamma(double3 x);
8568double4 __ovld __cnfn lgamma(double4 x);
8569double8 __ovld __cnfn lgamma(double8 x);
8570double16 __ovld __cnfn lgamma(double16 x);
8571#endif //cl_khr_fp64
8572#ifdef cl_khr_fp16
8573half __ovld __cnfn lgamma(half x);
8574half2 __ovld __cnfn lgamma(half2 x);
8575half3 __ovld __cnfn lgamma(half3 x);
8576half4 __ovld __cnfn lgamma(half4 x);
8577half8 __ovld __cnfn lgamma(half8 x);
8578half16 __ovld __cnfn lgamma(half16 x);
8579#endif //cl_khr_fp16
8580
8581#if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
8582float __ovld lgamma_r(float x, int *signp);
8583float2 __ovld lgamma_r(float2 x, int2 *signp);
8584float3 __ovld lgamma_r(float3 x, int3 *signp);
8585float4 __ovld lgamma_r(float4 x, int4 *signp);
8586float8 __ovld lgamma_r(float8 x, int8 *signp);
8587float16 __ovld lgamma_r(float16 x, int16 *signp);
8588#ifdef cl_khr_fp64
8589double __ovld lgamma_r(double x, int *signp);
8590double2 __ovld lgamma_r(double2 x, int2 *signp);
8591double3 __ovld lgamma_r(double3 x, int3 *signp);
8592double4 __ovld lgamma_r(double4 x, int4 *signp);
8593double8 __ovld lgamma_r(double8 x, int8 *signp);
8594double16 __ovld lgamma_r(double16 x, int16 *signp);
8595#endif //cl_khr_fp64
8596#ifdef cl_khr_fp16
8597half __ovld lgamma_r(half x, int *signp);
8598half2 __ovld lgamma_r(half2 x, int2 *signp);
8599half3 __ovld lgamma_r(half3 x, int3 *signp);
8600half4 __ovld lgamma_r(half4 x, int4 *signp);
8601half8 __ovld lgamma_r(half8 x, int8 *signp);
8602half16 __ovld lgamma_r(half16 x, int16 *signp);
8603#endif //cl_khr_fp16
8604#else
8605float __ovld lgamma_r(float x, __global int *signp);
8606float2 __ovld lgamma_r(float2 x, __global int2 *signp);
8607float3 __ovld lgamma_r(float3 x, __global int3 *signp);
8608float4 __ovld lgamma_r(float4 x, __global int4 *signp);
8609float8 __ovld lgamma_r(float8 x, __global int8 *signp);
8610float16 __ovld lgamma_r(float16 x, __global int16 *signp);
8611float __ovld lgamma_r(float x, __local int *signp);
8612float2 __ovld lgamma_r(float2 x, __local int2 *signp);
8613float3 __ovld lgamma_r(float3 x, __local int3 *signp);
8614float4 __ovld lgamma_r(float4 x, __local int4 *signp);
8615float8 __ovld lgamma_r(float8 x, __local int8 *signp);
8616float16 __ovld lgamma_r(float16 x, __local int16 *signp);
8617float __ovld lgamma_r(float x, __private int *signp);
8618float2 __ovld lgamma_r(float2 x, __private int2 *signp);
8619float3 __ovld lgamma_r(float3 x, __private int3 *signp);
8620float4 __ovld lgamma_r(float4 x, __private int4 *signp);
8621float8 __ovld lgamma_r(float8 x, __private int8 *signp);
8622float16 __ovld lgamma_r(float16 x, __private int16 *signp);
8623#ifdef cl_khr_fp64
8624double __ovld lgamma_r(double x, __global int *signp);
8625double2 __ovld lgamma_r(double2 x, __global int2 *signp);
8626double3 __ovld lgamma_r(double3 x, __global int3 *signp);
8627double4 __ovld lgamma_r(double4 x, __global int4 *signp);
8628double8 __ovld lgamma_r(double8 x, __global int8 *signp);
8629double16 __ovld lgamma_r(double16 x, __global int16 *signp);
8630double __ovld lgamma_r(double x, __local int *signp);
8631double2 __ovld lgamma_r(double2 x, __local int2 *signp);
8632double3 __ovld lgamma_r(double3 x, __local int3 *signp);
8633double4 __ovld lgamma_r(double4 x, __local int4 *signp);
8634double8 __ovld lgamma_r(double8 x, __local int8 *signp);
8635double16 __ovld lgamma_r(double16 x, __local int16 *signp);
8636double __ovld lgamma_r(double x, __private int *signp);
8637double2 __ovld lgamma_r(double2 x, __private int2 *signp);
8638double3 __ovld lgamma_r(double3 x, __private int3 *signp);
8639double4 __ovld lgamma_r(double4 x, __private int4 *signp);
8640double8 __ovld lgamma_r(double8 x, __private int8 *signp);
8641double16 __ovld lgamma_r(double16 x, __private int16 *signp);
8642#endif //cl_khr_fp64
8643#ifdef cl_khr_fp16
8644half __ovld lgamma_r(half x, __global int *signp);
8645half2 __ovld lgamma_r(half2 x, __global int2 *signp);
8646half3 __ovld lgamma_r(half3 x, __global int3 *signp);
8647half4 __ovld lgamma_r(half4 x, __global int4 *signp);
8648half8 __ovld lgamma_r(half8 x, __global int8 *signp);
8649half16 __ovld lgamma_r(half16 x, __global int16 *signp);
8650half __ovld lgamma_r(half x, __local int *signp);
8651half2 __ovld lgamma_r(half2 x, __local int2 *signp);
8652half3 __ovld lgamma_r(half3 x, __local int3 *signp);
8653half4 __ovld lgamma_r(half4 x, __local int4 *signp);
8654half8 __ovld lgamma_r(half8 x, __local int8 *signp);
8655half16 __ovld lgamma_r(half16 x, __local int16 *signp);
8656half __ovld lgamma_r(half x, __private int *signp);
8657half2 __ovld lgamma_r(half2 x, __private int2 *signp);
8658half3 __ovld lgamma_r(half3 x, __private int3 *signp);
8659half4 __ovld lgamma_r(half4 x, __private int4 *signp);
8660half8 __ovld lgamma_r(half8 x, __private int8 *signp);
8661half16 __ovld lgamma_r(half16 x, __private int16 *signp);
8662#endif //cl_khr_fp16
8663#endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
8664
8665/**
8666 * Compute natural logarithm.
8667 */
8668float __ovld __cnfn log(float);
8669float2 __ovld __cnfn log(float2);
8670float3 __ovld __cnfn log(float3);
8671float4 __ovld __cnfn log(float4);
8672float8 __ovld __cnfn log(float8);
8673float16 __ovld __cnfn log(float16);
8674#ifdef cl_khr_fp64
8675double __ovld __cnfn log(double);
8676double2 __ovld __cnfn log(double2);
8677double3 __ovld __cnfn log(double3);
8678double4 __ovld __cnfn log(double4);
8679double8 __ovld __cnfn log(double8);
8680double16 __ovld __cnfn log(double16);
8681#endif //cl_khr_fp64
8682#ifdef cl_khr_fp16
8683half __ovld __cnfn log(half);
8684half2 __ovld __cnfn log(half2);
8685half3 __ovld __cnfn log(half3);
8686half4 __ovld __cnfn log(half4);
8687half8 __ovld __cnfn log(half8);
8688half16 __ovld __cnfn log(half16);
8689#endif //cl_khr_fp16
8690
8691/**
8692 * Compute a base 2 logarithm.
8693 */
8694float __ovld __cnfn log2(float);
8695float2 __ovld __cnfn log2(float2);
8696float3 __ovld __cnfn log2(float3);
8697float4 __ovld __cnfn log2(float4);
8698float8 __ovld __cnfn log2(float8);
8699float16 __ovld __cnfn log2(float16);
8700#ifdef cl_khr_fp64
8701double __ovld __cnfn log2(double);
8702double2 __ovld __cnfn log2(double2);
8703double3 __ovld __cnfn log2(double3);
8704double4 __ovld __cnfn log2(double4);
8705double8 __ovld __cnfn log2(double8);
8706double16 __ovld __cnfn log2(double16);
8707#endif //cl_khr_fp64
8708#ifdef cl_khr_fp16
8709half __ovld __cnfn log2(half);
8710half2 __ovld __cnfn log2(half2);
8711half3 __ovld __cnfn log2(half3);
8712half4 __ovld __cnfn log2(half4);
8713half8 __ovld __cnfn log2(half8);
8714half16 __ovld __cnfn log2(half16);
8715#endif //cl_khr_fp16
8716
8717/**
8718 * Compute a base 10 logarithm.
8719 */
8720float __ovld __cnfn log10(float);
8721float2 __ovld __cnfn log10(float2);
8722float3 __ovld __cnfn log10(float3);
8723float4 __ovld __cnfn log10(float4);
8724float8 __ovld __cnfn log10(float8);
8725float16 __ovld __cnfn log10(float16);
8726#ifdef cl_khr_fp64
8727double __ovld __cnfn log10(double);
8728double2 __ovld __cnfn log10(double2);
8729double3 __ovld __cnfn log10(double3);
8730double4 __ovld __cnfn log10(double4);
8731double8 __ovld __cnfn log10(double8);
8732double16 __ovld __cnfn log10(double16);
8733#endif //cl_khr_fp64
8734#ifdef cl_khr_fp16
8735half __ovld __cnfn log10(half);
8736half2 __ovld __cnfn log10(half2);
8737half3 __ovld __cnfn log10(half3);
8738half4 __ovld __cnfn log10(half4);
8739half8 __ovld __cnfn log10(half8);
8740half16 __ovld __cnfn log10(half16);
8741#endif //cl_khr_fp16
8742
8743/**
8744 * Compute a base e logarithm of (1.0 + x).
8745 */
8746float __ovld __cnfn log1p(float x);
8747float2 __ovld __cnfn log1p(float2 x);
8748float3 __ovld __cnfn log1p(float3 x);
8749float4 __ovld __cnfn log1p(float4 x);
8750float8 __ovld __cnfn log1p(float8 x);
8751float16 __ovld __cnfn log1p(float16 x);
8752#ifdef cl_khr_fp64
8753double __ovld __cnfn log1p(double x);
8754double2 __ovld __cnfn log1p(double2 x);
8755double3 __ovld __cnfn log1p(double3 x);
8756double4 __ovld __cnfn log1p(double4 x);
8757double8 __ovld __cnfn log1p(double8 x);
8758double16 __ovld __cnfn log1p(double16 x);
8759#endif //cl_khr_fp64
8760#ifdef cl_khr_fp16
8761half __ovld __cnfn log1p(half x);
8762half2 __ovld __cnfn log1p(half2 x);
8763half3 __ovld __cnfn log1p(half3 x);
8764half4 __ovld __cnfn log1p(half4 x);
8765half8 __ovld __cnfn log1p(half8 x);
8766half16 __ovld __cnfn log1p(half16 x);
8767#endif //cl_khr_fp16
8768
8769/**
8770 * Compute the exponent of x, which is the integral
8771 * part of logr | x |.
8772 */
8773float __ovld __cnfn logb(float x);
8774float2 __ovld __cnfn logb(float2 x);
8775float3 __ovld __cnfn logb(float3 x);
8776float4 __ovld __cnfn logb(float4 x);
8777float8 __ovld __cnfn logb(float8 x);
8778float16 __ovld __cnfn logb(float16 x);
8779#ifdef cl_khr_fp64
8780double __ovld __cnfn logb(double x);
8781double2 __ovld __cnfn logb(double2 x);
8782double3 __ovld __cnfn logb(double3 x);
8783double4 __ovld __cnfn logb(double4 x);
8784double8 __ovld __cnfn logb(double8 x);
8785double16 __ovld __cnfn logb(double16 x);
8786#endif //cl_khr_fp64
8787#ifdef cl_khr_fp16
8788half __ovld __cnfn logb(half x);
8789half2 __ovld __cnfn logb(half2 x);
8790half3 __ovld __cnfn logb(half3 x);
8791half4 __ovld __cnfn logb(half4 x);
8792half8 __ovld __cnfn logb(half8 x);
8793half16 __ovld __cnfn logb(half16 x);
8794#endif //cl_khr_fp16
8795
8796/**
8797 * mad approximates a * b + c. Whether or how the
8798 * product of a * b is rounded and how supernormal or
8799 * subnormal intermediate products are handled is not
8800 * defined. mad is intended to be used where speed is
8801 * preferred over accuracy.
8802 */
8803float __ovld __cnfn mad(float a, float b, float c);
8804float2 __ovld __cnfn mad(float2 a, float2 b, float2 c);
8805float3 __ovld __cnfn mad(float3 a, float3 b, float3 c);
8806float4 __ovld __cnfn mad(float4 a, float4 b, float4 c);
8807float8 __ovld __cnfn mad(float8 a, float8 b, float8 c);
8808float16 __ovld __cnfn mad(float16 a, float16 b, float16 c);
8809#ifdef cl_khr_fp64
8810double __ovld __cnfn mad(double a, double b, double c);
8811double2 __ovld __cnfn mad(double2 a, double2 b, double2 c);
8812double3 __ovld __cnfn mad(double3 a, double3 b, double3 c);
8813double4 __ovld __cnfn mad(double4 a, double4 b, double4 c);
8814double8 __ovld __cnfn mad(double8 a, double8 b, double8 c);
8815double16 __ovld __cnfn mad(double16 a, double16 b, double16 c);
8816#endif //cl_khr_fp64
8817#ifdef cl_khr_fp16
8818half __ovld __cnfn mad(half a, half b, half c);
8819half2 __ovld __cnfn mad(half2 a, half2 b, half2 c);
8820half3 __ovld __cnfn mad(half3 a, half3 b, half3 c);
8821half4 __ovld __cnfn mad(half4 a, half4 b, half4 c);
8822half8 __ovld __cnfn mad(half8 a, half8 b, half8 c);
8823half16 __ovld __cnfn mad(half16 a, half16 b, half16 c);
8824#endif //cl_khr_fp16
8825
8826/**
8827 * Returns x if | x | > | y |, y if | y | > | x |, otherwise
8828 * fmax(x, y).
8829 */
8830float __ovld __cnfn maxmag(float x, float y);
8831float2 __ovld __cnfn maxmag(float2 x, float2 y);
8832float3 __ovld __cnfn maxmag(float3 x, float3 y);
8833float4 __ovld __cnfn maxmag(float4 x, float4 y);
8834float8 __ovld __cnfn maxmag(float8 x, float8 y);
8835float16 __ovld __cnfn maxmag(float16 x, float16 y);
8836#ifdef cl_khr_fp64
8837double __ovld __cnfn maxmag(double x, double y);
8838double2 __ovld __cnfn maxmag(double2 x, double2 y);
8839double3 __ovld __cnfn maxmag(double3 x, double3 y);
8840double4 __ovld __cnfn maxmag(double4 x, double4 y);
8841double8 __ovld __cnfn maxmag(double8 x, double8 y);
8842double16 __ovld __cnfn maxmag(double16 x, double16 y);
8843#endif //cl_khr_fp64
8844#ifdef cl_khr_fp16
8845half __ovld __cnfn maxmag(half x, half y);
8846half2 __ovld __cnfn maxmag(half2 x, half2 y);
8847half3 __ovld __cnfn maxmag(half3 x, half3 y);
8848half4 __ovld __cnfn maxmag(half4 x, half4 y);
8849half8 __ovld __cnfn maxmag(half8 x, half8 y);
8850half16 __ovld __cnfn maxmag(half16 x, half16 y);
8851#endif //cl_khr_fp16
8852
8853/**
8854 * Returns x if | x | < | y |, y if | y | < | x |, otherwise
8855 * fmin(x, y).
8856 */
8857float __ovld __cnfn minmag(float x, float y);
8858float2 __ovld __cnfn minmag(float2 x, float2 y);
8859float3 __ovld __cnfn minmag(float3 x, float3 y);
8860float4 __ovld __cnfn minmag(float4 x, float4 y);
8861float8 __ovld __cnfn minmag(float8 x, float8 y);
8862float16 __ovld __cnfn minmag(float16 x, float16 y);
8863#ifdef cl_khr_fp64
8864double __ovld __cnfn minmag(double x, double y);
8865double2 __ovld __cnfn minmag(double2 x, double2 y);
8866double3 __ovld __cnfn minmag(double3 x, double3 y);
8867double4 __ovld __cnfn minmag(double4 x, double4 y);
8868double8 __ovld __cnfn minmag(double8 x, double8 y);
8869double16 __ovld __cnfn minmag(double16 x, double16 y);
8870#endif //cl_khr_fp64
8871#ifdef cl_khr_fp16
8872half __ovld __cnfn minmag(half x, half y);
8873half2 __ovld __cnfn minmag(half2 x, half2 y);
8874half3 __ovld __cnfn minmag(half3 x, half3 y);
8875half4 __ovld __cnfn minmag(half4 x, half4 y);
8876half8 __ovld __cnfn minmag(half8 x, half8 y);
8877half16 __ovld __cnfn minmag(half16 x, half16 y);
8878#endif //cl_khr_fp16
8879
8880/**
8881 * Decompose a floating-point number. The modf
8882 * function breaks the argument x into integral and
8883 * fractional parts, each of which has the same sign as
8884 * the argument. It stores the integral part in the object
8885 * pointed to by iptr.
8886 */
8887#if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
8888float __ovld modf(float x, float *iptr);
8889float2 __ovld modf(float2 x, float2 *iptr);
8890float3 __ovld modf(float3 x, float3 *iptr);
8891float4 __ovld modf(float4 x, float4 *iptr);
8892float8 __ovld modf(float8 x, float8 *iptr);
8893float16 __ovld modf(float16 x, float16 *iptr);
8894#ifdef cl_khr_fp64
8895double __ovld modf(double x, double *iptr);
8896double2 __ovld modf(double2 x, double2 *iptr);
8897double3 __ovld modf(double3 x, double3 *iptr);
8898double4 __ovld modf(double4 x, double4 *iptr);
8899double8 __ovld modf(double8 x, double8 *iptr);
8900double16 __ovld modf(double16 x, double16 *iptr);
8901#endif //cl_khr_fp64
8902#ifdef cl_khr_fp16
8903half __ovld modf(half x, half *iptr);
8904half2 __ovld modf(half2 x, half2 *iptr);
8905half3 __ovld modf(half3 x, half3 *iptr);
8906half4 __ovld modf(half4 x, half4 *iptr);
8907half8 __ovld modf(half8 x, half8 *iptr);
8908half16 __ovld modf(half16 x, half16 *iptr);
8909#endif //cl_khr_fp16
8910#else
8911float __ovld modf(float x, __global float *iptr);
8912float2 __ovld modf(float2 x, __global float2 *iptr);
8913float3 __ovld modf(float3 x, __global float3 *iptr);
8914float4 __ovld modf(float4 x, __global float4 *iptr);
8915float8 __ovld modf(float8 x, __global float8 *iptr);
8916float16 __ovld modf(float16 x, __global float16 *iptr);
8917float __ovld modf(float x, __local float *iptr);
8918float2 __ovld modf(float2 x, __local float2 *iptr);
8919float3 __ovld modf(float3 x, __local float3 *iptr);
8920float4 __ovld modf(float4 x, __local float4 *iptr);
8921float8 __ovld modf(float8 x, __local float8 *iptr);
8922float16 __ovld modf(float16 x, __local float16 *iptr);
8923float __ovld modf(float x, __private float *iptr);
8924float2 __ovld modf(float2 x, __private float2 *iptr);
8925float3 __ovld modf(float3 x, __private float3 *iptr);
8926float4 __ovld modf(float4 x, __private float4 *iptr);
8927float8 __ovld modf(float8 x, __private float8 *iptr);
8928float16 __ovld modf(float16 x, __private float16 *iptr);
8929#ifdef cl_khr_fp64
8930double __ovld modf(double x, __global double *iptr);
8931double2 __ovld modf(double2 x, __global double2 *iptr);
8932double3 __ovld modf(double3 x, __global double3 *iptr);
8933double4 __ovld modf(double4 x, __global double4 *iptr);
8934double8 __ovld modf(double8 x, __global double8 *iptr);
8935double16 __ovld modf(double16 x, __global double16 *iptr);
8936double __ovld modf(double x, __local double *iptr);
8937double2 __ovld modf(double2 x, __local double2 *iptr);
8938double3 __ovld modf(double3 x, __local double3 *iptr);
8939double4 __ovld modf(double4 x, __local double4 *iptr);
8940double8 __ovld modf(double8 x, __local double8 *iptr);
8941double16 __ovld modf(double16 x, __local double16 *iptr);
8942double __ovld modf(double x, __private double *iptr);
8943double2 __ovld modf(double2 x, __private double2 *iptr);
8944double3 __ovld modf(double3 x, __private double3 *iptr);
8945double4 __ovld modf(double4 x, __private double4 *iptr);
8946double8 __ovld modf(double8 x, __private double8 *iptr);
8947double16 __ovld modf(double16 x, __private double16 *iptr);
8948#endif //cl_khr_fp64
8949#ifdef cl_khr_fp16
8950half __ovld modf(half x, __global half *iptr);
8951half2 __ovld modf(half2 x, __global half2 *iptr);
8952half3 __ovld modf(half3 x, __global half3 *iptr);
8953half4 __ovld modf(half4 x, __global half4 *iptr);
8954half8 __ovld modf(half8 x, __global half8 *iptr);
8955half16 __ovld modf(half16 x, __global half16 *iptr);
8956half __ovld modf(half x, __local half *iptr);
8957half2 __ovld modf(half2 x, __local half2 *iptr);
8958half3 __ovld modf(half3 x, __local half3 *iptr);
8959half4 __ovld modf(half4 x, __local half4 *iptr);
8960half8 __ovld modf(half8 x, __local half8 *iptr);
8961half16 __ovld modf(half16 x, __local half16 *iptr);
8962half __ovld modf(half x, __private half *iptr);
8963half2 __ovld modf(half2 x, __private half2 *iptr);
8964half3 __ovld modf(half3 x, __private half3 *iptr);
8965half4 __ovld modf(half4 x, __private half4 *iptr);
8966half8 __ovld modf(half8 x, __private half8 *iptr);
8967half16 __ovld modf(half16 x, __private half16 *iptr);
8968#endif //cl_khr_fp16
8969#endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
8970
8971/**
8972 * Returns a quiet NaN. The nancode may be placed
8973 * in the significand of the resulting NaN.
8974 */
8975float __ovld __cnfn nan(uint nancode);
8976float2 __ovld __cnfn nan(uint2 nancode);
8977float3 __ovld __cnfn nan(uint3 nancode);
8978float4 __ovld __cnfn nan(uint4 nancode);
8979float8 __ovld __cnfn nan(uint8 nancode);
8980float16 __ovld __cnfn nan(uint16 nancode);
8981#ifdef cl_khr_fp64
8982double __ovld __cnfn nan(ulong nancode);
8983double2 __ovld __cnfn nan(ulong2 nancode);
8984double3 __ovld __cnfn nan(ulong3 nancode);
8985double4 __ovld __cnfn nan(ulong4 nancode);
8986double8 __ovld __cnfn nan(ulong8 nancode);
8987double16 __ovld __cnfn nan(ulong16 nancode);
8988#endif //cl_khr_fp64
8989#ifdef cl_khr_fp16
8990half __ovld __cnfn nan(ushort nancode);
8991half2 __ovld __cnfn nan(ushort2 nancode);
8992half3 __ovld __cnfn nan(ushort3 nancode);
8993half4 __ovld __cnfn nan(ushort4 nancode);
8994half8 __ovld __cnfn nan(ushort8 nancode);
8995half16 __ovld __cnfn nan(ushort16 nancode);
8996#endif //cl_khr_fp16
8997
8998/**
8999 * Computes the next representable single-precision
9000 * floating-point value following x in the direction of
9001 * y. Thus, if y is less than x, nextafter() returns the
9002 * largest representable floating-point number less
9003 * than x.
9004 */
9005float __ovld __cnfn nextafter(float x, float y);
9006float2 __ovld __cnfn nextafter(float2 x, float2 y);
9007float3 __ovld __cnfn nextafter(float3 x, float3 y);
9008float4 __ovld __cnfn nextafter(float4 x, float4 y);
9009float8 __ovld __cnfn nextafter(float8 x, float8 y);
9010float16 __ovld __cnfn nextafter(float16 x, float16 y);
9011#ifdef cl_khr_fp64
9012double __ovld __cnfn nextafter(double x, double y);
9013double2 __ovld __cnfn nextafter(double2 x, double2 y);
9014double3 __ovld __cnfn nextafter(double3 x, double3 y);
9015double4 __ovld __cnfn nextafter(double4 x, double4 y);
9016double8 __ovld __cnfn nextafter(double8 x, double8 y);
9017double16 __ovld __cnfn nextafter(double16 x, double16 y);
9018#endif //cl_khr_fp64
9019#ifdef cl_khr_fp16
9020half __ovld __cnfn nextafter(half x, half y);
9021half2 __ovld __cnfn nextafter(half2 x, half2 y);
9022half3 __ovld __cnfn nextafter(half3 x, half3 y);
9023half4 __ovld __cnfn nextafter(half4 x, half4 y);
9024half8 __ovld __cnfn nextafter(half8 x, half8 y);
9025half16 __ovld __cnfn nextafter(half16 x, half16 y);
9026#endif //cl_khr_fp16
9027
9028/**
9029 * Compute x to the power y.
9030 */
9031float __ovld __cnfn pow(float x, float y);
9032float2 __ovld __cnfn pow(float2 x, float2 y);
9033float3 __ovld __cnfn pow(float3 x, float3 y);
9034float4 __ovld __cnfn pow(float4 x, float4 y);
9035float8 __ovld __cnfn pow(float8 x, float8 y);
9036float16 __ovld __cnfn pow(float16 x, float16 y);
9037#ifdef cl_khr_fp64
9038double __ovld __cnfn pow(double x, double y);
9039double2 __ovld __cnfn pow(double2 x, double2 y);
9040double3 __ovld __cnfn pow(double3 x, double3 y);
9041double4 __ovld __cnfn pow(double4 x, double4 y);
9042double8 __ovld __cnfn pow(double8 x, double8 y);
9043double16 __ovld __cnfn pow(double16 x, double16 y);
9044#endif //cl_khr_fp64
9045#ifdef cl_khr_fp16
9046half __ovld __cnfn pow(half x, half y);
9047half2 __ovld __cnfn pow(half2 x, half2 y);
9048half3 __ovld __cnfn pow(half3 x, half3 y);
9049half4 __ovld __cnfn pow(half4 x, half4 y);
9050half8 __ovld __cnfn pow(half8 x, half8 y);
9051half16 __ovld __cnfn pow(half16 x, half16 y);
9052#endif //cl_khr_fp16
9053
9054/**
9055 * Compute x to the power y, where y is an integer.
9056 */
9057float __ovld __cnfn pown(float x, int y);
9058float2 __ovld __cnfn pown(float2 x, int2 y);
9059float3 __ovld __cnfn pown(float3 x, int3 y);
9060float4 __ovld __cnfn pown(float4 x, int4 y);
9061float8 __ovld __cnfn pown(float8 x, int8 y);
9062float16 __ovld __cnfn pown(float16 x, int16 y);
9063#ifdef cl_khr_fp64
9064double __ovld __cnfn pown(double x, int y);
9065double2 __ovld __cnfn pown(double2 x, int2 y);
9066double3 __ovld __cnfn pown(double3 x, int3 y);
9067double4 __ovld __cnfn pown(double4 x, int4 y);
9068double8 __ovld __cnfn pown(double8 x, int8 y);
9069double16 __ovld __cnfn pown(double16 x, int16 y);
9070#endif //cl_khr_fp64
9071#ifdef cl_khr_fp16
9072half __ovld __cnfn pown(half x, int y);
9073half2 __ovld __cnfn pown(half2 x, int2 y);
9074half3 __ovld __cnfn pown(half3 x, int3 y);
9075half4 __ovld __cnfn pown(half4 x, int4 y);
9076half8 __ovld __cnfn pown(half8 x, int8 y);
9077half16 __ovld __cnfn pown(half16 x, int16 y);
9078#endif //cl_khr_fp16
9079
9080/**
9081 * Compute x to the power y, where x is >= 0.
9082 */
9083float __ovld __cnfn powr(float x, float y);
9084float2 __ovld __cnfn powr(float2 x, float2 y);
9085float3 __ovld __cnfn powr(float3 x, float3 y);
9086float4 __ovld __cnfn powr(float4 x, float4 y);
9087float8 __ovld __cnfn powr(float8 x, float8 y);
9088float16 __ovld __cnfn powr(float16 x, float16 y);
9089#ifdef cl_khr_fp64
9090double __ovld __cnfn powr(double x, double y);
9091double2 __ovld __cnfn powr(double2 x, double2 y);
9092double3 __ovld __cnfn powr(double3 x, double3 y);
9093double4 __ovld __cnfn powr(double4 x, double4 y);
9094double8 __ovld __cnfn powr(double8 x, double8 y);
9095double16 __ovld __cnfn powr(double16 x, double16 y);
9096#endif //cl_khr_fp64
9097#ifdef cl_khr_fp16
9098half __ovld __cnfn powr(half x, half y);
9099half2 __ovld __cnfn powr(half2 x, half2 y);
9100half3 __ovld __cnfn powr(half3 x, half3 y);
9101half4 __ovld __cnfn powr(half4 x, half4 y);
9102half8 __ovld __cnfn powr(half8 x, half8 y);
9103half16 __ovld __cnfn powr(half16 x, half16 y);
9104#endif //cl_khr_fp16
9105
9106/**
9107 * Compute the value r such that r = x - n*y, where n
9108 * is the integer nearest the exact value of x/y. If there
9109 * are two integers closest to x/y, n shall be the even
9110 * one. If r is zero, it is given the same sign as x.
9111 */
9112float __ovld __cnfn remainder(float x, float y);
9113float2 __ovld __cnfn remainder(float2 x, float2 y);
9114float3 __ovld __cnfn remainder(float3 x, float3 y);
9115float4 __ovld __cnfn remainder(float4 x, float4 y);
9116float8 __ovld __cnfn remainder(float8 x, float8 y);
9117float16 __ovld __cnfn remainder(float16 x, float16 y);
9118#ifdef cl_khr_fp64
9119double __ovld __cnfn remainder(double x, double y);
9120double2 __ovld __cnfn remainder(double2 x, double2 y);
9121double3 __ovld __cnfn remainder(double3 x, double3 y);
9122double4 __ovld __cnfn remainder(double4 x, double4 y);
9123double8 __ovld __cnfn remainder(double8 x, double8 y);
9124double16 __ovld __cnfn remainder(double16 x, double16 y);
9125#endif //cl_khr_fp64
9126#ifdef cl_khr_fp16
9127half __ovld __cnfn remainder(half x, half y);
9128half2 __ovld __cnfn remainder(half2 x, half2 y);
9129half3 __ovld __cnfn remainder(half3 x, half3 y);
9130half4 __ovld __cnfn remainder(half4 x, half4 y);
9131half8 __ovld __cnfn remainder(half8 x, half8 y);
9132half16 __ovld __cnfn remainder(half16 x, half16 y);
9133#endif //cl_khr_fp16
9134
9135/**
9136 * The remquo function computes the value r such
9137 * that r = x - n*y, where n is the integer nearest the
9138 * exact value of x/y. If there are two integers closest
9139 * to x/y, n shall be the even one. If r is zero, it is
9140 * given the same sign as x. This is the same value
9141 * that is returned by the remainder function.
9142 * remquo also calculates the lower seven bits of the
9143 * integral quotient x/y, and gives that value the same
9144 * sign as x/y. It stores this signed value in the object
9145 * pointed to by quo.
9146 */
9147#if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
9148float __ovld remquo(float x, float y, int *quo);
9149float2 __ovld remquo(float2 x, float2 y, int2 *quo);
9150float3 __ovld remquo(float3 x, float3 y, int3 *quo);
9151float4 __ovld remquo(float4 x, float4 y, int4 *quo);
9152float8 __ovld remquo(float8 x, float8 y, int8 *quo);
9153float16 __ovld remquo(float16 x, float16 y, int16 *quo);
9154#ifdef cl_khr_fp64
9155double __ovld remquo(double x, double y, int *quo);
9156double2 __ovld remquo(double2 x, double2 y, int2 *quo);
9157double3 __ovld remquo(double3 x, double3 y, int3 *quo);
9158double4 __ovld remquo(double4 x, double4 y, int4 *quo);
9159double8 __ovld remquo(double8 x, double8 y, int8 *quo);
9160double16 __ovld remquo(double16 x, double16 y, int16 *quo);
9161#endif //cl_khr_fp64
9162#ifdef cl_khr_fp16
9163half __ovld remquo(half x, half y, int *quo);
9164half2 __ovld remquo(half2 x, half2 y, int2 *quo);
9165half3 __ovld remquo(half3 x, half3 y, int3 *quo);
9166half4 __ovld remquo(half4 x, half4 y, int4 *quo);
9167half8 __ovld remquo(half8 x, half8 y, int8 *quo);
9168half16 __ovld remquo(half16 x, half16 y, int16 *quo);
9169
9170#endif //cl_khr_fp16
9171#else
9172float __ovld remquo(float x, float y, __global int *quo);
9173float2 __ovld remquo(float2 x, float2 y, __global int2 *quo);
9174float3 __ovld remquo(float3 x, float3 y, __global int3 *quo);
9175float4 __ovld remquo(float4 x, float4 y, __global int4 *quo);
9176float8 __ovld remquo(float8 x, float8 y, __global int8 *quo);
9177float16 __ovld remquo(float16 x, float16 y, __global int16 *quo);
9178float __ovld remquo(float x, float y, __local int *quo);
9179float2 __ovld remquo(float2 x, float2 y, __local int2 *quo);
9180float3 __ovld remquo(float3 x, float3 y, __local int3 *quo);
9181float4 __ovld remquo(float4 x, float4 y, __local int4 *quo);
9182float8 __ovld remquo(float8 x, float8 y, __local int8 *quo);
9183float16 __ovld remquo(float16 x, float16 y, __local int16 *quo);
9184float __ovld remquo(float x, float y, __private int *quo);
9185float2 __ovld remquo(float2 x, float2 y, __private int2 *quo);
9186float3 __ovld remquo(float3 x, float3 y, __private int3 *quo);
9187float4 __ovld remquo(float4 x, float4 y, __private int4 *quo);
9188float8 __ovld remquo(float8 x, float8 y, __private int8 *quo);
9189float16 __ovld remquo(float16 x, float16 y, __private int16 *quo);
9190#ifdef cl_khr_fp64
9191double __ovld remquo(double x, double y, __global int *quo);
9192double2 __ovld remquo(double2 x, double2 y, __global int2 *quo);
9193double3 __ovld remquo(double3 x, double3 y, __global int3 *quo);
9194double4 __ovld remquo(double4 x, double4 y, __global int4 *quo);
9195double8 __ovld remquo(double8 x, double8 y, __global int8 *quo);
9196double16 __ovld remquo(double16 x, double16 y, __global int16 *quo);
9197double __ovld remquo(double x, double y, __local int *quo);
9198double2 __ovld remquo(double2 x, double2 y, __local int2 *quo);
9199double3 __ovld remquo(double3 x, double3 y, __local int3 *quo);
9200double4 __ovld remquo(double4 x, double4 y, __local int4 *quo);
9201double8 __ovld remquo(double8 x, double8 y, __local int8 *quo);
9202double16 __ovld remquo(double16 x, double16 y, __local int16 *quo);
9203double __ovld remquo(double x, double y, __private int *quo);
9204double2 __ovld remquo(double2 x, double2 y, __private int2 *quo);
9205double3 __ovld remquo(double3 x, double3 y, __private int3 *quo);
9206double4 __ovld remquo(double4 x, double4 y, __private int4 *quo);
9207double8 __ovld remquo(double8 x, double8 y, __private int8 *quo);
9208double16 __ovld remquo(double16 x, double16 y, __private int16 *quo);
9209#endif //cl_khr_fp64
9210#ifdef cl_khr_fp16
9211half __ovld remquo(half x, half y, __global int *quo);
9212half2 __ovld remquo(half2 x, half2 y, __global int2 *quo);
9213half3 __ovld remquo(half3 x, half3 y, __global int3 *quo);
9214half4 __ovld remquo(half4 x, half4 y, __global int4 *quo);
9215half8 __ovld remquo(half8 x, half8 y, __global int8 *quo);
9216half16 __ovld remquo(half16 x, half16 y, __global int16 *quo);
9217half __ovld remquo(half x, half y, __local int *quo);
9218half2 __ovld remquo(half2 x, half2 y, __local int2 *quo);
9219half3 __ovld remquo(half3 x, half3 y, __local int3 *quo);
9220half4 __ovld remquo(half4 x, half4 y, __local int4 *quo);
9221half8 __ovld remquo(half8 x, half8 y, __local int8 *quo);
9222half16 __ovld remquo(half16 x, half16 y, __local int16 *quo);
9223half __ovld remquo(half x, half y, __private int *quo);
9224half2 __ovld remquo(half2 x, half2 y, __private int2 *quo);
9225half3 __ovld remquo(half3 x, half3 y, __private int3 *quo);
9226half4 __ovld remquo(half4 x, half4 y, __private int4 *quo);
9227half8 __ovld remquo(half8 x, half8 y, __private int8 *quo);
9228half16 __ovld remquo(half16 x, half16 y, __private int16 *quo);
9229#endif //cl_khr_fp16
9230#endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
9231/**
9232 * Round to integral value (using round to nearest
9233 * even rounding mode) in floating-point format.
9234 * Refer to section 7.1 for description of rounding
9235 * modes.
9236 */
9237float __ovld __cnfn rint(float);
9238float2 __ovld __cnfn rint(float2);
9239float3 __ovld __cnfn rint(float3);
9240float4 __ovld __cnfn rint(float4);
9241float8 __ovld __cnfn rint(float8);
9242float16 __ovld __cnfn rint(float16);
9243#ifdef cl_khr_fp64
9244double __ovld __cnfn rint(double);
9245double2 __ovld __cnfn rint(double2);
9246double3 __ovld __cnfn rint(double3);
9247double4 __ovld __cnfn rint(double4);
9248double8 __ovld __cnfn rint(double8);
9249double16 __ovld __cnfn rint(double16);
9250#endif //cl_khr_fp64
9251#ifdef cl_khr_fp16
9252half __ovld __cnfn rint(half);
9253half2 __ovld __cnfn rint(half2);
9254half3 __ovld __cnfn rint(half3);
9255half4 __ovld __cnfn rint(half4);
9256half8 __ovld __cnfn rint(half8);
9257half16 __ovld __cnfn rint(half16);
9258#endif //cl_khr_fp16
9259
9260/**
9261 * Compute x to the power 1/y.
9262 */
9263float __ovld __cnfn rootn(float x, int y);
9264float2 __ovld __cnfn rootn(float2 x, int2 y);
9265float3 __ovld __cnfn rootn(float3 x, int3 y);
9266float4 __ovld __cnfn rootn(float4 x, int4 y);
9267float8 __ovld __cnfn rootn(float8 x, int8 y);
9268float16 __ovld __cnfn rootn(float16 x, int16 y);
9269#ifdef cl_khr_fp64
9270double __ovld __cnfn rootn(double x, int y);
9271double2 __ovld __cnfn rootn(double2 x, int2 y);
9272double3 __ovld __cnfn rootn(double3 x, int3 y);
9273double4 __ovld __cnfn rootn(double4 x, int4 y);
9274double8 __ovld __cnfn rootn(double8 x, int8 y);
9275double16 __ovld __cnfn rootn(double16 x, int16 y);
9276#endif //cl_khr_fp64
9277#ifdef cl_khr_fp16
9278half __ovld __cnfn rootn(half x, int y);
9279half2 __ovld __cnfn rootn(half2 x, int2 y);
9280half3 __ovld __cnfn rootn(half3 x, int3 y);
9281half4 __ovld __cnfn rootn(half4 x, int4 y);
9282half8 __ovld __cnfn rootn(half8 x, int8 y);
9283half16 __ovld __cnfn rootn(half16 x, int16 y);
9284#endif //cl_khr_fp16
9285
9286/**
9287 * Return the integral value nearest to x rounding
9288 * halfway cases away from zero, regardless of the
9289 * current rounding direction.
9290 */
9291float __ovld __cnfn round(float x);
9292float2 __ovld __cnfn round(float2 x);
9293float3 __ovld __cnfn round(float3 x);
9294float4 __ovld __cnfn round(float4 x);
9295float8 __ovld __cnfn round(float8 x);
9296float16 __ovld __cnfn round(float16 x);
9297#ifdef cl_khr_fp64
9298double __ovld __cnfn round(double x);
9299double2 __ovld __cnfn round(double2 x);
9300double3 __ovld __cnfn round(double3 x);
9301double4 __ovld __cnfn round(double4 x);
9302double8 __ovld __cnfn round(double8 x);
9303double16 __ovld __cnfn round(double16 x);
9304#endif //cl_khr_fp64
9305#ifdef cl_khr_fp16
9306half __ovld __cnfn round(half x);
9307half2 __ovld __cnfn round(half2 x);
9308half3 __ovld __cnfn round(half3 x);
9309half4 __ovld __cnfn round(half4 x);
9310half8 __ovld __cnfn round(half8 x);
9311half16 __ovld __cnfn round(half16 x);
9312#endif //cl_khr_fp16
9313
9314/**
9315 * Compute inverse square root.
9316 */
9317float __ovld __cnfn rsqrt(float);
9318float2 __ovld __cnfn rsqrt(float2);
9319float3 __ovld __cnfn rsqrt(float3);
9320float4 __ovld __cnfn rsqrt(float4);
9321float8 __ovld __cnfn rsqrt(float8);
9322float16 __ovld __cnfn rsqrt(float16);
9323#ifdef cl_khr_fp64
9324double __ovld __cnfn rsqrt(double);
9325double2 __ovld __cnfn rsqrt(double2);
9326double3 __ovld __cnfn rsqrt(double3);
9327double4 __ovld __cnfn rsqrt(double4);
9328double8 __ovld __cnfn rsqrt(double8);
9329double16 __ovld __cnfn rsqrt(double16);
9330#endif //cl_khr_fp64
9331#ifdef cl_khr_fp16
9332half __ovld __cnfn rsqrt(half);
9333half2 __ovld __cnfn rsqrt(half2);
9334half3 __ovld __cnfn rsqrt(half3);
9335half4 __ovld __cnfn rsqrt(half4);
9336half8 __ovld __cnfn rsqrt(half8);
9337half16 __ovld __cnfn rsqrt(half16);
9338#endif //cl_khr_fp16
9339
9340/**
9341 * Compute sine.
9342 */
9343float __ovld __cnfn sin(float);
9344float2 __ovld __cnfn sin(float2);
9345float3 __ovld __cnfn sin(float3);
9346float4 __ovld __cnfn sin(float4);
9347float8 __ovld __cnfn sin(float8);
9348float16 __ovld __cnfn sin(float16);
9349#ifdef cl_khr_fp64
9350double __ovld __cnfn sin(double);
9351double2 __ovld __cnfn sin(double2);
9352double3 __ovld __cnfn sin(double3);
9353double4 __ovld __cnfn sin(double4);
9354double8 __ovld __cnfn sin(double8);
9355double16 __ovld __cnfn sin(double16);
9356#endif //cl_khr_fp64
9357#ifdef cl_khr_fp16
9358half __ovld __cnfn sin(half);
9359half2 __ovld __cnfn sin(half2);
9360half3 __ovld __cnfn sin(half3);
9361half4 __ovld __cnfn sin(half4);
9362half8 __ovld __cnfn sin(half8);
9363half16 __ovld __cnfn sin(half16);
9364#endif //cl_khr_fp16
9365
9366/**
9367 * Compute sine and cosine of x. The computed sine
9368 * is the return value and computed cosine is returned
9369 * in cosval.
9370 */
9371#if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
9372float __ovld sincos(float x, float *cosval);
9373float2 __ovld sincos(float2 x, float2 *cosval);
9374float3 __ovld sincos(float3 x, float3 *cosval);
9375float4 __ovld sincos(float4 x, float4 *cosval);
9376float8 __ovld sincos(float8 x, float8 *cosval);
9377float16 __ovld sincos(float16 x, float16 *cosval);
9378#ifdef cl_khr_fp64
9379double __ovld sincos(double x, double *cosval);
9380double2 __ovld sincos(double2 x, double2 *cosval);
9381double3 __ovld sincos(double3 x, double3 *cosval);
9382double4 __ovld sincos(double4 x, double4 *cosval);
9383double8 __ovld sincos(double8 x, double8 *cosval);
9384double16 __ovld sincos(double16 x, double16 *cosval);
9385#endif //cl_khr_fp64
9386#ifdef cl_khr_fp16
9387half __ovld sincos(half x, half *cosval);
9388half2 __ovld sincos(half2 x, half2 *cosval);
9389half3 __ovld sincos(half3 x, half3 *cosval);
9390half4 __ovld sincos(half4 x, half4 *cosval);
9391half8 __ovld sincos(half8 x, half8 *cosval);
9392half16 __ovld sincos(half16 x, half16 *cosval);
9393#endif //cl_khr_fp16
9394#else
9395float __ovld sincos(float x, __global float *cosval);
9396float2 __ovld sincos(float2 x, __global float2 *cosval);
9397float3 __ovld sincos(float3 x, __global float3 *cosval);
9398float4 __ovld sincos(float4 x, __global float4 *cosval);
9399float8 __ovld sincos(float8 x, __global float8 *cosval);
9400float16 __ovld sincos(float16 x, __global float16 *cosval);
9401float __ovld sincos(float x, __local float *cosval);
9402float2 __ovld sincos(float2 x, __local float2 *cosval);
9403float3 __ovld sincos(float3 x, __local float3 *cosval);
9404float4 __ovld sincos(float4 x, __local float4 *cosval);
9405float8 __ovld sincos(float8 x, __local float8 *cosval);
9406float16 __ovld sincos(float16 x, __local float16 *cosval);
9407float __ovld sincos(float x, __private float *cosval);
9408float2 __ovld sincos(float2 x, __private float2 *cosval);
9409float3 __ovld sincos(float3 x, __private float3 *cosval);
9410float4 __ovld sincos(float4 x, __private float4 *cosval);
9411float8 __ovld sincos(float8 x, __private float8 *cosval);
9412float16 __ovld sincos(float16 x, __private float16 *cosval);
9413#ifdef cl_khr_fp64
9414double __ovld sincos(double x, __global double *cosval);
9415double2 __ovld sincos(double2 x, __global double2 *cosval);
9416double3 __ovld sincos(double3 x, __global double3 *cosval);
9417double4 __ovld sincos(double4 x, __global double4 *cosval);
9418double8 __ovld sincos(double8 x, __global double8 *cosval);
9419double16 __ovld sincos(double16 x, __global double16 *cosval);
9420double __ovld sincos(double x, __local double *cosval);
9421double2 __ovld sincos(double2 x, __local double2 *cosval);
9422double3 __ovld sincos(double3 x, __local double3 *cosval);
9423double4 __ovld sincos(double4 x, __local double4 *cosval);
9424double8 __ovld sincos(double8 x, __local double8 *cosval);
9425double16 __ovld sincos(double16 x, __local double16 *cosval);
9426double __ovld sincos(double x, __private double *cosval);
9427double2 __ovld sincos(double2 x, __private double2 *cosval);
9428double3 __ovld sincos(double3 x, __private double3 *cosval);
9429double4 __ovld sincos(double4 x, __private double4 *cosval);
9430double8 __ovld sincos(double8 x, __private double8 *cosval);
9431double16 __ovld sincos(double16 x, __private double16 *cosval);
9432#endif //cl_khr_fp64
9433#ifdef cl_khr_fp16
9434half __ovld sincos(half x, __global half *cosval);
9435half2 __ovld sincos(half2 x, __global half2 *cosval);
9436half3 __ovld sincos(half3 x, __global half3 *cosval);
9437half4 __ovld sincos(half4 x, __global half4 *cosval);
9438half8 __ovld sincos(half8 x, __global half8 *cosval);
9439half16 __ovld sincos(half16 x, __global half16 *cosval);
9440half __ovld sincos(half x, __local half *cosval);
9441half2 __ovld sincos(half2 x, __local half2 *cosval);
9442half3 __ovld sincos(half3 x, __local half3 *cosval);
9443half4 __ovld sincos(half4 x, __local half4 *cosval);
9444half8 __ovld sincos(half8 x, __local half8 *cosval);
9445half16 __ovld sincos(half16 x, __local half16 *cosval);
9446half __ovld sincos(half x, __private half *cosval);
9447half2 __ovld sincos(half2 x, __private half2 *cosval);
9448half3 __ovld sincos(half3 x, __private half3 *cosval);
9449half4 __ovld sincos(half4 x, __private half4 *cosval);
9450half8 __ovld sincos(half8 x, __private half8 *cosval);
9451half16 __ovld sincos(half16 x, __private half16 *cosval);
9452#endif //cl_khr_fp16
9453#endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
9454
9455/**
9456 * Compute hyperbolic sine.
9457 */
9458float __ovld __cnfn sinh(float);
9459float2 __ovld __cnfn sinh(float2);
9460float3 __ovld __cnfn sinh(float3);
9461float4 __ovld __cnfn sinh(float4);
9462float8 __ovld __cnfn sinh(float8);
9463float16 __ovld __cnfn sinh(float16);
9464#ifdef cl_khr_fp64
9465double __ovld __cnfn sinh(double);
9466double2 __ovld __cnfn sinh(double2);
9467double3 __ovld __cnfn sinh(double3);
9468double4 __ovld __cnfn sinh(double4);
9469double8 __ovld __cnfn sinh(double8);
9470double16 __ovld __cnfn sinh(double16);
9471#endif //cl_khr_fp64
9472#ifdef cl_khr_fp16
9473half __ovld __cnfn sinh(half);
9474half2 __ovld __cnfn sinh(half2);
9475half3 __ovld __cnfn sinh(half3);
9476half4 __ovld __cnfn sinh(half4);
9477half8 __ovld __cnfn sinh(half8);
9478half16 __ovld __cnfn sinh(half16);
9479#endif //cl_khr_fp16
9480
9481/**
9482 * Compute sin (PI * x).
9483 */
9484float __ovld __cnfn sinpi(float x);
9485float2 __ovld __cnfn sinpi(float2 x);
9486float3 __ovld __cnfn sinpi(float3 x);
9487float4 __ovld __cnfn sinpi(float4 x);
9488float8 __ovld __cnfn sinpi(float8 x);
9489float16 __ovld __cnfn sinpi(float16 x);
9490#ifdef cl_khr_fp64
9491double __ovld __cnfn sinpi(double x);
9492double2 __ovld __cnfn sinpi(double2 x);
9493double3 __ovld __cnfn sinpi(double3 x);
9494double4 __ovld __cnfn sinpi(double4 x);
9495double8 __ovld __cnfn sinpi(double8 x);
9496double16 __ovld __cnfn sinpi(double16 x);
9497#endif //cl_khr_fp64
9498#ifdef cl_khr_fp16
9499half __ovld __cnfn sinpi(half x);
9500half2 __ovld __cnfn sinpi(half2 x);
9501half3 __ovld __cnfn sinpi(half3 x);
9502half4 __ovld __cnfn sinpi(half4 x);
9503half8 __ovld __cnfn sinpi(half8 x);
9504half16 __ovld __cnfn sinpi(half16 x);
9505#endif //cl_khr_fp16
9506
9507/**
9508 * Compute square root.
9509 */
9510float __ovld __cnfn sqrt(float);
9511float2 __ovld __cnfn sqrt(float2);
9512float3 __ovld __cnfn sqrt(float3);
9513float4 __ovld __cnfn sqrt(float4);
9514float8 __ovld __cnfn sqrt(float8);
9515float16 __ovld __cnfn sqrt(float16);
9516#ifdef cl_khr_fp64
9517double __ovld __cnfn sqrt(double);
9518double2 __ovld __cnfn sqrt(double2);
9519double3 __ovld __cnfn sqrt(double3);
9520double4 __ovld __cnfn sqrt(double4);
9521double8 __ovld __cnfn sqrt(double8);
9522double16 __ovld __cnfn sqrt(double16);
9523#endif //cl_khr_fp64
9524#ifdef cl_khr_fp16
9525half __ovld __cnfn sqrt(half);
9526half2 __ovld __cnfn sqrt(half2);
9527half3 __ovld __cnfn sqrt(half3);
9528half4 __ovld __cnfn sqrt(half4);
9529half8 __ovld __cnfn sqrt(half8);
9530half16 __ovld __cnfn sqrt(half16);
9531#endif //cl_khr_fp16
9532
9533/**
9534 * Compute tangent.
9535 */
9536float __ovld __cnfn tan(float);
9537float2 __ovld __cnfn tan(float2);
9538float3 __ovld __cnfn tan(float3);
9539float4 __ovld __cnfn tan(float4);
9540float8 __ovld __cnfn tan(float8);
9541float16 __ovld __cnfn tan(float16);
9542#ifdef cl_khr_fp64
9543double __ovld __cnfn tan(double);
9544double2 __ovld __cnfn tan(double2);
9545double3 __ovld __cnfn tan(double3);
9546double4 __ovld __cnfn tan(double4);
9547double8 __ovld __cnfn tan(double8);
9548double16 __ovld __cnfn tan(double16);
9549#endif //cl_khr_fp64
9550#ifdef cl_khr_fp16
9551half __ovld __cnfn tan(half);
9552half2 __ovld __cnfn tan(half2);
9553half3 __ovld __cnfn tan(half3);
9554half4 __ovld __cnfn tan(half4);
9555half8 __ovld __cnfn tan(half8);
9556half16 __ovld __cnfn tan(half16);
9557#endif //cl_khr_fp16
9558
9559/**
9560 * Compute hyperbolic tangent.
9561 */
9562float __ovld __cnfn tanh(float);
9563float2 __ovld __cnfn tanh(float2);
9564float3 __ovld __cnfn tanh(float3);
9565float4 __ovld __cnfn tanh(float4);
9566float8 __ovld __cnfn tanh(float8);
9567float16 __ovld __cnfn tanh(float16);
9568#ifdef cl_khr_fp64
9569double __ovld __cnfn tanh(double);
9570double2 __ovld __cnfn tanh(double2);
9571double3 __ovld __cnfn tanh(double3);
9572double4 __ovld __cnfn tanh(double4);
9573double8 __ovld __cnfn tanh(double8);
9574double16 __ovld __cnfn tanh(double16);
9575#endif //cl_khr_fp64
9576#ifdef cl_khr_fp16
9577half __ovld __cnfn tanh(half);
9578half2 __ovld __cnfn tanh(half2);
9579half3 __ovld __cnfn tanh(half3);
9580half4 __ovld __cnfn tanh(half4);
9581half8 __ovld __cnfn tanh(half8);
9582half16 __ovld __cnfn tanh(half16);
9583#endif //cl_khr_fp16
9584
9585/**
9586 * Compute tan (PI * x).
9587 */
9588float __ovld __cnfn tanpi(float x);
9589float2 __ovld __cnfn tanpi(float2 x);
9590float3 __ovld __cnfn tanpi(float3 x);
9591float4 __ovld __cnfn tanpi(float4 x);
9592float8 __ovld __cnfn tanpi(float8 x);
9593float16 __ovld __cnfn tanpi(float16 x);
9594#ifdef cl_khr_fp64
9595double __ovld __cnfn tanpi(double x);
9596double2 __ovld __cnfn tanpi(double2 x);
9597double3 __ovld __cnfn tanpi(double3 x);
9598double4 __ovld __cnfn tanpi(double4 x);
9599double8 __ovld __cnfn tanpi(double8 x);
9600double16 __ovld __cnfn tanpi(double16 x);
9601#endif //cl_khr_fp64
9602#ifdef cl_khr_fp16
9603half __ovld __cnfn tanpi(half x);
9604half2 __ovld __cnfn tanpi(half2 x);
9605half3 __ovld __cnfn tanpi(half3 x);
9606half4 __ovld __cnfn tanpi(half4 x);
9607half8 __ovld __cnfn tanpi(half8 x);
9608half16 __ovld __cnfn tanpi(half16 x);
9609#endif //cl_khr_fp16
9610
9611/**
9612 * Compute the gamma function.
9613 */
9614float __ovld __cnfn tgamma(float);
9615float2 __ovld __cnfn tgamma(float2);
9616float3 __ovld __cnfn tgamma(float3);
9617float4 __ovld __cnfn tgamma(float4);
9618float8 __ovld __cnfn tgamma(float8);
9619float16 __ovld __cnfn tgamma(float16);
9620#ifdef cl_khr_fp64
9621double __ovld __cnfn tgamma(double);
9622double2 __ovld __cnfn tgamma(double2);
9623double3 __ovld __cnfn tgamma(double3);
9624double4 __ovld __cnfn tgamma(double4);
9625double8 __ovld __cnfn tgamma(double8);
9626double16 __ovld __cnfn tgamma(double16);
9627#endif //cl_khr_fp64
9628#ifdef cl_khr_fp16
9629half __ovld __cnfn tgamma(half);
9630half2 __ovld __cnfn tgamma(half2);
9631half3 __ovld __cnfn tgamma(half3);
9632half4 __ovld __cnfn tgamma(half4);
9633half8 __ovld __cnfn tgamma(half8);
9634half16 __ovld __cnfn tgamma(half16);
9635#endif //cl_khr_fp16
9636
9637/**
9638 * Round to integral value using the round to zero
9639 * rounding mode.
9640 */
9641float __ovld __cnfn trunc(float);
9642float2 __ovld __cnfn trunc(float2);
9643float3 __ovld __cnfn trunc(float3);
9644float4 __ovld __cnfn trunc(float4);
9645float8 __ovld __cnfn trunc(float8);
9646float16 __ovld __cnfn trunc(float16);
9647#ifdef cl_khr_fp64
9648double __ovld __cnfn trunc(double);
9649double2 __ovld __cnfn trunc(double2);
9650double3 __ovld __cnfn trunc(double3);
9651double4 __ovld __cnfn trunc(double4);
9652double8 __ovld __cnfn trunc(double8);
9653double16 __ovld __cnfn trunc(double16);
9654#endif //cl_khr_fp64
9655#ifdef cl_khr_fp16
9656half __ovld __cnfn trunc(half);
9657half2 __ovld __cnfn trunc(half2);
9658half3 __ovld __cnfn trunc(half3);
9659half4 __ovld __cnfn trunc(half4);
9660half8 __ovld __cnfn trunc(half8);
9661half16 __ovld __cnfn trunc(half16);
9662#endif //cl_khr_fp16
9663
9664/**
9665 * Compute cosine. x must be in the range -2^16 ... +2^16.
9666 */
9667float __ovld __cnfn half_cos(float x);
9668float2 __ovld __cnfn half_cos(float2 x);
9669float3 __ovld __cnfn half_cos(float3 x);
9670float4 __ovld __cnfn half_cos(float4 x);
9671float8 __ovld __cnfn half_cos(float8 x);
9672float16 __ovld __cnfn half_cos(float16 x);
9673
9674/**
9675 * Compute x / y.
9676 */
9677float __ovld __cnfn half_divide(float x, float y);
9678float2 __ovld __cnfn half_divide(float2 x, float2 y);
9679float3 __ovld __cnfn half_divide(float3 x, float3 y);
9680float4 __ovld __cnfn half_divide(float4 x, float4 y);
9681float8 __ovld __cnfn half_divide(float8 x, float8 y);
9682float16 __ovld __cnfn half_divide(float16 x, float16 y);
9683
9684/**
9685 * Compute the base- e exponential of x.
9686 */
9687float __ovld __cnfn half_exp(float x);
9688float2 __ovld __cnfn half_exp(float2 x);
9689float3 __ovld __cnfn half_exp(float3 x);
9690float4 __ovld __cnfn half_exp(float4 x);
9691float8 __ovld __cnfn half_exp(float8 x);
9692float16 __ovld __cnfn half_exp(float16 x);
9693
9694/**
9695 * Compute the base- 2 exponential of x.
9696 */
9697float __ovld __cnfn half_exp2(float x);
9698float2 __ovld __cnfn half_exp2(float2 x);
9699float3 __ovld __cnfn half_exp2(float3 x);
9700float4 __ovld __cnfn half_exp2(float4 x);
9701float8 __ovld __cnfn half_exp2(float8 x);
9702float16 __ovld __cnfn half_exp2(float16 x);
9703
9704/**
9705 * Compute the base- 10 exponential of x.
9706 */
9707float __ovld __cnfn half_exp10(float x);
9708float2 __ovld __cnfn half_exp10(float2 x);
9709float3 __ovld __cnfn half_exp10(float3 x);
9710float4 __ovld __cnfn half_exp10(float4 x);
9711float8 __ovld __cnfn half_exp10(float8 x);
9712float16 __ovld __cnfn half_exp10(float16 x);
9713
9714/**
9715 * Compute natural logarithm.
9716 */
9717float __ovld __cnfn half_log(float x);
9718float2 __ovld __cnfn half_log(float2 x);
9719float3 __ovld __cnfn half_log(float3 x);
9720float4 __ovld __cnfn half_log(float4 x);
9721float8 __ovld __cnfn half_log(float8 x);
9722float16 __ovld __cnfn half_log(float16 x);
9723
9724/**
9725 * Compute a base 2 logarithm.
9726 */
9727float __ovld __cnfn half_log2(float x);
9728float2 __ovld __cnfn half_log2(float2 x);
9729float3 __ovld __cnfn half_log2(float3 x);
9730float4 __ovld __cnfn half_log2(float4 x);
9731float8 __ovld __cnfn half_log2(float8 x);
9732float16 __ovld __cnfn half_log2(float16 x);
9733
9734/**
9735 * Compute a base 10 logarithm.
9736 */
9737float __ovld __cnfn half_log10(float x);
9738float2 __ovld __cnfn half_log10(float2 x);
9739float3 __ovld __cnfn half_log10(float3 x);
9740float4 __ovld __cnfn half_log10(float4 x);
9741float8 __ovld __cnfn half_log10(float8 x);
9742float16 __ovld __cnfn half_log10(float16 x);
9743
9744/**
9745 * Compute x to the power y, where x is >= 0.
9746 */
9747float __ovld __cnfn half_powr(float x, float y);
9748float2 __ovld __cnfn half_powr(float2 x, float2 y);
9749float3 __ovld __cnfn half_powr(float3 x, float3 y);
9750float4 __ovld __cnfn half_powr(float4 x, float4 y);
9751float8 __ovld __cnfn half_powr(float8 x, float8 y);
9752float16 __ovld __cnfn half_powr(float16 x, float16 y);
9753
9754/**
9755 * Compute reciprocal.
9756 */
9757float __ovld __cnfn half_recip(float x);
9758float2 __ovld __cnfn half_recip(float2 x);
9759float3 __ovld __cnfn half_recip(float3 x);
9760float4 __ovld __cnfn half_recip(float4 x);
9761float8 __ovld __cnfn half_recip(float8 x);
9762float16 __ovld __cnfn half_recip(float16 x);
9763
9764/**
9765 * Compute inverse square root.
9766 */
9767float __ovld __cnfn half_rsqrt(float x);
9768float2 __ovld __cnfn half_rsqrt(float2 x);
9769float3 __ovld __cnfn half_rsqrt(float3 x);
9770float4 __ovld __cnfn half_rsqrt(float4 x);
9771float8 __ovld __cnfn half_rsqrt(float8 x);
9772float16 __ovld __cnfn half_rsqrt(float16 x);
9773
9774/**
9775 * Compute sine. x must be in the range -2^16 ... +2^16.
9776 */
9777float __ovld __cnfn half_sin(float x);
9778float2 __ovld __cnfn half_sin(float2 x);
9779float3 __ovld __cnfn half_sin(float3 x);
9780float4 __ovld __cnfn half_sin(float4 x);
9781float8 __ovld __cnfn half_sin(float8 x);
9782float16 __ovld __cnfn half_sin(float16 x);
9783
9784/**
9785 * Compute square root.
9786 */
9787float __ovld __cnfn half_sqrt(float x);
9788float2 __ovld __cnfn half_sqrt(float2 x);
9789float3 __ovld __cnfn half_sqrt(float3 x);
9790float4 __ovld __cnfn half_sqrt(float4 x);
9791float8 __ovld __cnfn half_sqrt(float8 x);
9792float16 __ovld __cnfn half_sqrt(float16 x);
9793
9794/**
9795 * Compute tangent. x must be in the range -216 ... +216.
9796 */
9797float __ovld __cnfn half_tan(float x);
9798float2 __ovld __cnfn half_tan(float2 x);
9799float3 __ovld __cnfn half_tan(float3 x);
9800float4 __ovld __cnfn half_tan(float4 x);
9801float8 __ovld __cnfn half_tan(float8 x);
9802float16 __ovld __cnfn half_tan(float16 x);
9803
9804/**
9805 * Compute cosine over an implementation-defined range.
9806 * The maximum error is implementation-defined.
9807 */
9808float __ovld __cnfn native_cos(float x);
9809float2 __ovld __cnfn native_cos(float2 x);
9810float3 __ovld __cnfn native_cos(float3 x);
9811float4 __ovld __cnfn native_cos(float4 x);
9812float8 __ovld __cnfn native_cos(float8 x);
9813float16 __ovld __cnfn native_cos(float16 x);
9814
9815/**
9816 * Compute x / y over an implementation-defined range.
9817 * The maximum error is implementation-defined.
9818 */
9819float __ovld __cnfn native_divide(float x, float y);
9820float2 __ovld __cnfn native_divide(float2 x, float2 y);
9821float3 __ovld __cnfn native_divide(float3 x, float3 y);
9822float4 __ovld __cnfn native_divide(float4 x, float4 y);
9823float8 __ovld __cnfn native_divide(float8 x, float8 y);
9824float16 __ovld __cnfn native_divide(float16 x, float16 y);
9825
9826/**
9827 * Compute the base- e exponential of x over an
9828 * implementation-defined range. The maximum error is
9829 * implementation-defined.
9830 */
9831float __ovld __cnfn native_exp(float x);
9832float2 __ovld __cnfn native_exp(float2 x);
9833float3 __ovld __cnfn native_exp(float3 x);
9834float4 __ovld __cnfn native_exp(float4 x);
9835float8 __ovld __cnfn native_exp(float8 x);
9836float16 __ovld __cnfn native_exp(float16 x);
9837
9838/**
9839 * Compute the base- 2 exponential of x over an
9840 * implementation-defined range. The maximum error is
9841 * implementation-defined.
9842 */
9843float __ovld __cnfn native_exp2(float x);
9844float2 __ovld __cnfn native_exp2(float2 x);
9845float3 __ovld __cnfn native_exp2(float3 x);
9846float4 __ovld __cnfn native_exp2(float4 x);
9847float8 __ovld __cnfn native_exp2(float8 x);
9848float16 __ovld __cnfn native_exp2(float16 x);
9849
9850/**
9851 * Compute the base- 10 exponential of x over an
9852 * implementation-defined range. The maximum error is
9853 * implementation-defined.
9854 */
9855float __ovld __cnfn native_exp10(float x);
9856float2 __ovld __cnfn native_exp10(float2 x);
9857float3 __ovld __cnfn native_exp10(float3 x);
9858float4 __ovld __cnfn native_exp10(float4 x);
9859float8 __ovld __cnfn native_exp10(float8 x);
9860float16 __ovld __cnfn native_exp10(float16 x);
9861
9862/**
9863 * Compute natural logarithm over an implementationdefined
9864 * range. The maximum error is implementation
9865 * defined.
9866 */
9867float __ovld __cnfn native_log(float x);
9868float2 __ovld __cnfn native_log(float2 x);
9869float3 __ovld __cnfn native_log(float3 x);
9870float4 __ovld __cnfn native_log(float4 x);
9871float8 __ovld __cnfn native_log(float8 x);
9872float16 __ovld __cnfn native_log(float16 x);
9873
9874/**
9875 * Compute a base 2 logarithm over an implementationdefined
9876 * range. The maximum error is implementationdefined.
9877 */
9878float __ovld __cnfn native_log2(float x);
9879float2 __ovld __cnfn native_log2(float2 x);
9880float3 __ovld __cnfn native_log2(float3 x);
9881float4 __ovld __cnfn native_log2(float4 x);
9882float8 __ovld __cnfn native_log2(float8 x);
9883float16 __ovld __cnfn native_log2(float16 x);
9884
9885/**
9886 * Compute a base 10 logarithm over an implementationdefined
9887 * range. The maximum error is implementationdefined.
9888 */
9889float __ovld __cnfn native_log10(float x);
9890float2 __ovld __cnfn native_log10(float2 x);
9891float3 __ovld __cnfn native_log10(float3 x);
9892float4 __ovld __cnfn native_log10(float4 x);
9893float8 __ovld __cnfn native_log10(float8 x);
9894float16 __ovld __cnfn native_log10(float16 x);
9895
9896/**
9897 * Compute x to the power y, where x is >= 0. The range of
9898 * x and y are implementation-defined. The maximum error
9899 * is implementation-defined.
9900 */
9901float __ovld __cnfn native_powr(float x, float y);
9902float2 __ovld __cnfn native_powr(float2 x, float2 y);
9903float3 __ovld __cnfn native_powr(float3 x, float3 y);
9904float4 __ovld __cnfn native_powr(float4 x, float4 y);
9905float8 __ovld __cnfn native_powr(float8 x, float8 y);
9906float16 __ovld __cnfn native_powr(float16 x, float16 y);
9907
9908/**
9909 * Compute reciprocal over an implementation-defined
9910 * range. The maximum error is implementation-defined.
9911 */
9912float __ovld __cnfn native_recip(float x);
9913float2 __ovld __cnfn native_recip(float2 x);
9914float3 __ovld __cnfn native_recip(float3 x);
9915float4 __ovld __cnfn native_recip(float4 x);
9916float8 __ovld __cnfn native_recip(float8 x);
9917float16 __ovld __cnfn native_recip(float16 x);
9918
9919/**
9920 * Compute inverse square root over an implementationdefined
9921 * range. The maximum error is implementationdefined.
9922 */
9923float __ovld __cnfn native_rsqrt(float x);
9924float2 __ovld __cnfn native_rsqrt(float2 x);
9925float3 __ovld __cnfn native_rsqrt(float3 x);
9926float4 __ovld __cnfn native_rsqrt(float4 x);
9927float8 __ovld __cnfn native_rsqrt(float8 x);
9928float16 __ovld __cnfn native_rsqrt(float16 x);
9929
9930/**
9931 * Compute sine over an implementation-defined range.
9932 * The maximum error is implementation-defined.
9933 */
9934float __ovld __cnfn native_sin(float x);
9935float2 __ovld __cnfn native_sin(float2 x);
9936float3 __ovld __cnfn native_sin(float3 x);
9937float4 __ovld __cnfn native_sin(float4 x);
9938float8 __ovld __cnfn native_sin(float8 x);
9939float16 __ovld __cnfn native_sin(float16 x);
9940
9941/**
9942 * Compute square root over an implementation-defined
9943 * range. The maximum error is implementation-defined.
9944 */
9945float __ovld __cnfn native_sqrt(float x);
9946float2 __ovld __cnfn native_sqrt(float2 x);
9947float3 __ovld __cnfn native_sqrt(float3 x);
9948float4 __ovld __cnfn native_sqrt(float4 x);
9949float8 __ovld __cnfn native_sqrt(float8 x);
9950float16 __ovld __cnfn native_sqrt(float16 x);
9951
9952/**
9953 * Compute tangent over an implementation-defined range.
9954 * The maximum error is implementation-defined.
9955 */
9956float __ovld __cnfn native_tan(float x);
9957float2 __ovld __cnfn native_tan(float2 x);
9958float3 __ovld __cnfn native_tan(float3 x);
9959float4 __ovld __cnfn native_tan(float4 x);
9960float8 __ovld __cnfn native_tan(float8 x);
9961float16 __ovld __cnfn native_tan(float16 x);
9962
9963// OpenCL v1.1 s6.11.3, v1.2 s6.12.3, v2.0 s6.13.3 - Integer Functions
9964
9965/**
9966 * Returns | x |.
9967 */
9968uchar __ovld __cnfn abs(char x);
9969uchar __ovld __cnfn abs(uchar x);
9970uchar2 __ovld __cnfn abs(char2 x);
9971uchar2 __ovld __cnfn abs(uchar2 x);
9972uchar3 __ovld __cnfn abs(char3 x);
9973uchar3 __ovld __cnfn abs(uchar3 x);
9974uchar4 __ovld __cnfn abs(char4 x);
9975uchar4 __ovld __cnfn abs(uchar4 x);
9976uchar8 __ovld __cnfn abs(char8 x);
9977uchar8 __ovld __cnfn abs(uchar8 x);
9978uchar16 __ovld __cnfn abs(char16 x);
9979uchar16 __ovld __cnfn abs(uchar16 x);
9980ushort __ovld __cnfn abs(short x);
9981ushort __ovld __cnfn abs(ushort x);
9982ushort2 __ovld __cnfn abs(short2 x);
9983ushort2 __ovld __cnfn abs(ushort2 x);
9984ushort3 __ovld __cnfn abs(short3 x);
9985ushort3 __ovld __cnfn abs(ushort3 x);
9986ushort4 __ovld __cnfn abs(short4 x);
9987ushort4 __ovld __cnfn abs(ushort4 x);
9988ushort8 __ovld __cnfn abs(short8 x);
9989ushort8 __ovld __cnfn abs(ushort8 x);
9990ushort16 __ovld __cnfn abs(short16 x);
9991ushort16 __ovld __cnfn abs(ushort16 x);
9992uint __ovld __cnfn abs(int x);
9993uint __ovld __cnfn abs(uint x);
9994uint2 __ovld __cnfn abs(int2 x);
9995uint2 __ovld __cnfn abs(uint2 x);
9996uint3 __ovld __cnfn abs(int3 x);
9997uint3 __ovld __cnfn abs(uint3 x);
9998uint4 __ovld __cnfn abs(int4 x);
9999uint4 __ovld __cnfn abs(uint4 x);
10000uint8 __ovld __cnfn abs(int8 x);
10001uint8 __ovld __cnfn abs(uint8 x);
10002uint16 __ovld __cnfn abs(int16 x);
10003uint16 __ovld __cnfn abs(uint16 x);
10004ulong __ovld __cnfn abs(long x);
10005ulong __ovld __cnfn abs(ulong x);
10006ulong2 __ovld __cnfn abs(long2 x);
10007ulong2 __ovld __cnfn abs(ulong2 x);
10008ulong3 __ovld __cnfn abs(long3 x);
10009ulong3 __ovld __cnfn abs(ulong3 x);
10010ulong4 __ovld __cnfn abs(long4 x);
10011ulong4 __ovld __cnfn abs(ulong4 x);
10012ulong8 __ovld __cnfn abs(long8 x);
10013ulong8 __ovld __cnfn abs(ulong8 x);
10014ulong16 __ovld __cnfn abs(long16 x);
10015ulong16 __ovld __cnfn abs(ulong16 x);
10016
10017/**
10018 * Returns | x - y | without modulo overflow.
10019 */
10020uchar __ovld __cnfn abs_diff(char x, char y);
10021uchar __ovld __cnfn abs_diff(uchar x, uchar y);
10022uchar2 __ovld __cnfn abs_diff(char2 x, char2 y);
10023uchar2 __ovld __cnfn abs_diff(uchar2 x, uchar2 y);
10024uchar3 __ovld __cnfn abs_diff(char3 x, char3 y);
10025uchar3 __ovld __cnfn abs_diff(uchar3 x, uchar3 y);
10026uchar4 __ovld __cnfn abs_diff(char4 x, char4 y);
10027uchar4 __ovld __cnfn abs_diff(uchar4 x, uchar4 y);
10028uchar8 __ovld __cnfn abs_diff(char8 x, char8 y);
10029uchar8 __ovld __cnfn abs_diff(uchar8 x, uchar8 y);
10030uchar16 __ovld __cnfn abs_diff(char16 x, char16 y);
10031uchar16 __ovld __cnfn abs_diff(uchar16 x, uchar16 y);
10032ushort __ovld __cnfn abs_diff(short x, short y);
10033ushort __ovld __cnfn abs_diff(ushort x, ushort y);
10034ushort2 __ovld __cnfn abs_diff(short2 x, short2 y);
10035ushort2 __ovld __cnfn abs_diff(ushort2 x, ushort2 y);
10036ushort3 __ovld __cnfn abs_diff(short3 x, short3 y);
10037ushort3 __ovld __cnfn abs_diff(ushort3 x, ushort3 y);
10038ushort4 __ovld __cnfn abs_diff(short4 x, short4 y);
10039ushort4 __ovld __cnfn abs_diff(ushort4 x, ushort4 y);
10040ushort8 __ovld __cnfn abs_diff(short8 x, short8 y);
10041ushort8 __ovld __cnfn abs_diff(ushort8 x, ushort8 y);
10042ushort16 __ovld __cnfn abs_diff(short16 x, short16 y);
10043ushort16 __ovld __cnfn abs_diff(ushort16 x, ushort16 y);
10044uint __ovld __cnfn abs_diff(int x, int y);
10045uint __ovld __cnfn abs_diff(uint x, uint y);
10046uint2 __ovld __cnfn abs_diff(int2 x, int2 y);
10047uint2 __ovld __cnfn abs_diff(uint2 x, uint2 y);
10048uint3 __ovld __cnfn abs_diff(int3 x, int3 y);
10049uint3 __ovld __cnfn abs_diff(uint3 x, uint3 y);
10050uint4 __ovld __cnfn abs_diff(int4 x, int4 y);
10051uint4 __ovld __cnfn abs_diff(uint4 x, uint4 y);
10052uint8 __ovld __cnfn abs_diff(int8 x, int8 y);
10053uint8 __ovld __cnfn abs_diff(uint8 x, uint8 y);
10054uint16 __ovld __cnfn abs_diff(int16 x, int16 y);
10055uint16 __ovld __cnfn abs_diff(uint16 x, uint16 y);
10056ulong __ovld __cnfn abs_diff(long x, long y);
10057ulong __ovld __cnfn abs_diff(ulong x, ulong y);
10058ulong2 __ovld __cnfn abs_diff(long2 x, long2 y);
10059ulong2 __ovld __cnfn abs_diff(ulong2 x, ulong2 y);
10060ulong3 __ovld __cnfn abs_diff(long3 x, long3 y);
10061ulong3 __ovld __cnfn abs_diff(ulong3 x, ulong3 y);
10062ulong4 __ovld __cnfn abs_diff(long4 x, long4 y);
10063ulong4 __ovld __cnfn abs_diff(ulong4 x, ulong4 y);
10064ulong8 __ovld __cnfn abs_diff(long8 x, long8 y);
10065ulong8 __ovld __cnfn abs_diff(ulong8 x, ulong8 y);
10066ulong16 __ovld __cnfn abs_diff(long16 x, long16 y);
10067ulong16 __ovld __cnfn abs_diff(ulong16 x, ulong16 y);
10068
10069/**
10070 * Returns x + y and saturates the result.
10071 */
10072char __ovld __cnfn add_sat(char x, char y);
10073uchar __ovld __cnfn add_sat(uchar x, uchar y);
10074char2 __ovld __cnfn add_sat(char2 x, char2 y);
10075uchar2 __ovld __cnfn add_sat(uchar2 x, uchar2 y);
10076char3 __ovld __cnfn add_sat(char3 x, char3 y);
10077uchar3 __ovld __cnfn add_sat(uchar3 x, uchar3 y);
10078char4 __ovld __cnfn add_sat(char4 x, char4 y);
10079uchar4 __ovld __cnfn add_sat(uchar4 x, uchar4 y);
10080char8 __ovld __cnfn add_sat(char8 x, char8 y);
10081uchar8 __ovld __cnfn add_sat(uchar8 x, uchar8 y);
10082char16 __ovld __cnfn add_sat(char16 x, char16 y);
10083uchar16 __ovld __cnfn add_sat(uchar16 x, uchar16 y);
10084short __ovld __cnfn add_sat(short x, short y);
10085ushort __ovld __cnfn add_sat(ushort x, ushort y);
10086short2 __ovld __cnfn add_sat(short2 x, short2 y);
10087ushort2 __ovld __cnfn add_sat(ushort2 x, ushort2 y);
10088short3 __ovld __cnfn add_sat(short3 x, short3 y);
10089ushort3 __ovld __cnfn add_sat(ushort3 x, ushort3 y);
10090short4 __ovld __cnfn add_sat(short4 x, short4 y);
10091ushort4 __ovld __cnfn add_sat(ushort4 x, ushort4 y);
10092short8 __ovld __cnfn add_sat(short8 x, short8 y);
10093ushort8 __ovld __cnfn add_sat(ushort8 x, ushort8 y);
10094short16 __ovld __cnfn add_sat(short16 x, short16 y);
10095ushort16 __ovld __cnfn add_sat(ushort16 x, ushort16 y);
10096int __ovld __cnfn add_sat(int x, int y);
10097uint __ovld __cnfn add_sat(uint x, uint y);
10098int2 __ovld __cnfn add_sat(int2 x, int2 y);
10099uint2 __ovld __cnfn add_sat(uint2 x, uint2 y);
10100int3 __ovld __cnfn add_sat(int3 x, int3 y);
10101uint3 __ovld __cnfn add_sat(uint3 x, uint3 y);
10102int4 __ovld __cnfn add_sat(int4 x, int4 y);
10103uint4 __ovld __cnfn add_sat(uint4 x, uint4 y);
10104int8 __ovld __cnfn add_sat(int8 x, int8 y);
10105uint8 __ovld __cnfn add_sat(uint8 x, uint8 y);
10106int16 __ovld __cnfn add_sat(int16 x, int16 y);
10107uint16 __ovld __cnfn add_sat(uint16 x, uint16 y);
10108long __ovld __cnfn add_sat(long x, long y);
10109ulong __ovld __cnfn add_sat(ulong x, ulong y);
10110long2 __ovld __cnfn add_sat(long2 x, long2 y);
10111ulong2 __ovld __cnfn add_sat(ulong2 x, ulong2 y);
10112long3 __ovld __cnfn add_sat(long3 x, long3 y);
10113ulong3 __ovld __cnfn add_sat(ulong3 x, ulong3 y);
10114long4 __ovld __cnfn add_sat(long4 x, long4 y);
10115ulong4 __ovld __cnfn add_sat(ulong4 x, ulong4 y);
10116long8 __ovld __cnfn add_sat(long8 x, long8 y);
10117ulong8 __ovld __cnfn add_sat(ulong8 x, ulong8 y);
10118long16 __ovld __cnfn add_sat(long16 x, long16 y);
10119ulong16 __ovld __cnfn add_sat(ulong16 x, ulong16 y);
10120
10121/**
10122 * Returns (x + y) >> 1. The intermediate sum does
10123 * not modulo overflow.
10124 */
10125char __ovld __cnfn hadd(char x, char y);
10126uchar __ovld __cnfn hadd(uchar x, uchar y);
10127char2 __ovld __cnfn hadd(char2 x, char2 y);
10128uchar2 __ovld __cnfn hadd(uchar2 x, uchar2 y);
10129char3 __ovld __cnfn hadd(char3 x, char3 y);
10130uchar3 __ovld __cnfn hadd(uchar3 x, uchar3 y);
10131char4 __ovld __cnfn hadd(char4 x, char4 y);
10132uchar4 __ovld __cnfn hadd(uchar4 x, uchar4 y);
10133char8 __ovld __cnfn hadd(char8 x, char8 y);
10134uchar8 __ovld __cnfn hadd(uchar8 x, uchar8 y);
10135char16 __ovld __cnfn hadd(char16 x, char16 y);
10136uchar16 __ovld __cnfn hadd(uchar16 x, uchar16 y);
10137short __ovld __cnfn hadd(short x, short y);
10138ushort __ovld __cnfn hadd(ushort x, ushort y);
10139short2 __ovld __cnfn hadd(short2 x, short2 y);
10140ushort2 __ovld __cnfn hadd(ushort2 x, ushort2 y);
10141short3 __ovld __cnfn hadd(short3 x, short3 y);
10142ushort3 __ovld __cnfn hadd(ushort3 x, ushort3 y);
10143short4 __ovld __cnfn hadd(short4 x, short4 y);
10144ushort4 __ovld __cnfn hadd(ushort4 x, ushort4 y);
10145short8 __ovld __cnfn hadd(short8 x, short8 y);
10146ushort8 __ovld __cnfn hadd(ushort8 x, ushort8 y);
10147short16 __ovld __cnfn hadd(short16 x, short16 y);
10148ushort16 __ovld __cnfn hadd(ushort16 x, ushort16 y);
10149int __ovld __cnfn hadd(int x, int y);
10150uint __ovld __cnfn hadd(uint x, uint y);
10151int2 __ovld __cnfn hadd(int2 x, int2 y);
10152uint2 __ovld __cnfn hadd(uint2 x, uint2 y);
10153int3 __ovld __cnfn hadd(int3 x, int3 y);
10154uint3 __ovld __cnfn hadd(uint3 x, uint3 y);
10155int4 __ovld __cnfn hadd(int4 x, int4 y);
10156uint4 __ovld __cnfn hadd(uint4 x, uint4 y);
10157int8 __ovld __cnfn hadd(int8 x, int8 y);
10158uint8 __ovld __cnfn hadd(uint8 x, uint8 y);
10159int16 __ovld __cnfn hadd(int16 x, int16 y);
10160uint16 __ovld __cnfn hadd(uint16 x, uint16 y);
10161long __ovld __cnfn hadd(long x, long y);
10162ulong __ovld __cnfn hadd(ulong x, ulong y);
10163long2 __ovld __cnfn hadd(long2 x, long2 y);
10164ulong2 __ovld __cnfn hadd(ulong2 x, ulong2 y);
10165long3 __ovld __cnfn hadd(long3 x, long3 y);
10166ulong3 __ovld __cnfn hadd(ulong3 x, ulong3 y);
10167long4 __ovld __cnfn hadd(long4 x, long4 y);
10168ulong4 __ovld __cnfn hadd(ulong4 x, ulong4 y);
10169long8 __ovld __cnfn hadd(long8 x, long8 y);
10170ulong8 __ovld __cnfn hadd(ulong8 x, ulong8 y);
10171long16 __ovld __cnfn hadd(long16 x, long16 y);
10172ulong16 __ovld __cnfn hadd(ulong16 x, ulong16 y);
10173
10174/**
10175 * Returns (x + y + 1) >> 1. The intermediate sum
10176 * does not modulo overflow.
10177 */
10178char __ovld __cnfn rhadd(char x, char y);
10179uchar __ovld __cnfn rhadd(uchar x, uchar y);
10180char2 __ovld __cnfn rhadd(char2 x, char2 y);
10181uchar2 __ovld __cnfn rhadd(uchar2 x, uchar2 y);
10182char3 __ovld __cnfn rhadd(char3 x, char3 y);
10183uchar3 __ovld __cnfn rhadd(uchar3 x, uchar3 y);
10184char4 __ovld __cnfn rhadd(char4 x, char4 y);
10185uchar4 __ovld __cnfn rhadd(uchar4 x, uchar4 y);
10186char8 __ovld __cnfn rhadd(char8 x, char8 y);
10187uchar8 __ovld __cnfn rhadd(uchar8 x, uchar8 y);
10188char16 __ovld __cnfn rhadd(char16 x, char16 y);
10189uchar16 __ovld __cnfn rhadd(uchar16 x, uchar16 y);
10190short __ovld __cnfn rhadd(short x, short y);
10191ushort __ovld __cnfn rhadd(ushort x, ushort y);
10192short2 __ovld __cnfn rhadd(short2 x, short2 y);
10193ushort2 __ovld __cnfn rhadd(ushort2 x, ushort2 y);
10194short3 __ovld __cnfn rhadd(short3 x, short3 y);
10195ushort3 __ovld __cnfn rhadd(ushort3 x, ushort3 y);
10196short4 __ovld __cnfn rhadd(short4 x, short4 y);
10197ushort4 __ovld __cnfn rhadd(ushort4 x, ushort4 y);
10198short8 __ovld __cnfn rhadd(short8 x, short8 y);
10199ushort8 __ovld __cnfn rhadd(ushort8 x, ushort8 y);
10200short16 __ovld __cnfn rhadd(short16 x, short16 y);
10201ushort16 __ovld __cnfn rhadd(ushort16 x, ushort16 y);
10202int __ovld __cnfn rhadd(int x, int y);
10203uint __ovld __cnfn rhadd(uint x, uint y);
10204int2 __ovld __cnfn rhadd(int2 x, int2 y);
10205uint2 __ovld __cnfn rhadd(uint2 x, uint2 y);
10206int3 __ovld __cnfn rhadd(int3 x, int3 y);
10207uint3 __ovld __cnfn rhadd(uint3 x, uint3 y);
10208int4 __ovld __cnfn rhadd(int4 x, int4 y);
10209uint4 __ovld __cnfn rhadd(uint4 x, uint4 y);
10210int8 __ovld __cnfn rhadd(int8 x, int8 y);
10211uint8 __ovld __cnfn rhadd(uint8 x, uint8 y);
10212int16 __ovld __cnfn rhadd(int16 x, int16 y);
10213uint16 __ovld __cnfn rhadd(uint16 x, uint16 y);
10214long __ovld __cnfn rhadd(long x, long y);
10215ulong __ovld __cnfn rhadd(ulong x, ulong y);
10216long2 __ovld __cnfn rhadd(long2 x, long2 y);
10217ulong2 __ovld __cnfn rhadd(ulong2 x, ulong2 y);
10218long3 __ovld __cnfn rhadd(long3 x, long3 y);
10219ulong3 __ovld __cnfn rhadd(ulong3 x, ulong3 y);
10220long4 __ovld __cnfn rhadd(long4 x, long4 y);
10221ulong4 __ovld __cnfn rhadd(ulong4 x, ulong4 y);
10222long8 __ovld __cnfn rhadd(long8 x, long8 y);
10223ulong8 __ovld __cnfn rhadd(ulong8 x, ulong8 y);
10224long16 __ovld __cnfn rhadd(long16 x, long16 y);
10225ulong16 __ovld __cnfn rhadd(ulong16 x, ulong16 y);
10226
10227/**
10228 * Returns min(max(x, minval), maxval).
10229 * Results are undefined if minval > maxval.
10230 */
10231char __ovld __cnfn clamp(char x, char minval, char maxval);
10232uchar __ovld __cnfn clamp(uchar x, uchar minval, uchar maxval);
10233char2 __ovld __cnfn clamp(char2 x, char2 minval, char2 maxval);
10234uchar2 __ovld __cnfn clamp(uchar2 x, uchar2 minval, uchar2 maxval);
10235char3 __ovld __cnfn clamp(char3 x, char3 minval, char3 maxval);
10236uchar3 __ovld __cnfn clamp(uchar3 x, uchar3 minval, uchar3 maxval);
10237char4 __ovld __cnfn clamp(char4 x, char4 minval, char4 maxval);
10238uchar4 __ovld __cnfn clamp(uchar4 x, uchar4 minval, uchar4 maxval);
10239char8 __ovld __cnfn clamp(char8 x, char8 minval, char8 maxval);
10240uchar8 __ovld __cnfn clamp(uchar8 x, uchar8 minval, uchar8 maxval);
10241char16 __ovld __cnfn clamp(char16 x, char16 minval, char16 maxval);
10242uchar16 __ovld __cnfn clamp(uchar16 x, uchar16 minval, uchar16 maxval);
10243short __ovld __cnfn clamp(short x, short minval, short maxval);
10244ushort __ovld __cnfn clamp(ushort x, ushort minval, ushort maxval);
10245short2 __ovld __cnfn clamp(short2 x, short2 minval, short2 maxval);
10246ushort2 __ovld __cnfn clamp(ushort2 x, ushort2 minval, ushort2 maxval);
10247short3 __ovld __cnfn clamp(short3 x, short3 minval, short3 maxval);
10248ushort3 __ovld __cnfn clamp(ushort3 x, ushort3 minval, ushort3 maxval);
10249short4 __ovld __cnfn clamp(short4 x, short4 minval, short4 maxval);
10250ushort4 __ovld __cnfn clamp(ushort4 x, ushort4 minval, ushort4 maxval);
10251short8 __ovld __cnfn clamp(short8 x, short8 minval, short8 maxval);
10252ushort8 __ovld __cnfn clamp(ushort8 x, ushort8 minval, ushort8 maxval);
10253short16 __ovld __cnfn clamp(short16 x, short16 minval, short16 maxval);
10254ushort16 __ovld __cnfn clamp(ushort16 x, ushort16 minval, ushort16 maxval);
10255int __ovld __cnfn clamp(int x, int minval, int maxval);
10256uint __ovld __cnfn clamp(uint x, uint minval, uint maxval);
10257int2 __ovld __cnfn clamp(int2 x, int2 minval, int2 maxval);
10258uint2 __ovld __cnfn clamp(uint2 x, uint2 minval, uint2 maxval);
10259int3 __ovld __cnfn clamp(int3 x, int3 minval, int3 maxval);
10260uint3 __ovld __cnfn clamp(uint3 x, uint3 minval, uint3 maxval);
10261int4 __ovld __cnfn clamp(int4 x, int4 minval, int4 maxval);
10262uint4 __ovld __cnfn clamp(uint4 x, uint4 minval, uint4 maxval);
10263int8 __ovld __cnfn clamp(int8 x, int8 minval, int8 maxval);
10264uint8 __ovld __cnfn clamp(uint8 x, uint8 minval, uint8 maxval);
10265int16 __ovld __cnfn clamp(int16 x, int16 minval, int16 maxval);
10266uint16 __ovld __cnfn clamp(uint16 x, uint16 minval, uint16 maxval);
10267long __ovld __cnfn clamp(long x, long minval, long maxval);
10268ulong __ovld __cnfn clamp(ulong x, ulong minval, ulong maxval);
10269long2 __ovld __cnfn clamp(long2 x, long2 minval, long2 maxval);
10270ulong2 __ovld __cnfn clamp(ulong2 x, ulong2 minval, ulong2 maxval);
10271long3 __ovld __cnfn clamp(long3 x, long3 minval, long3 maxval);
10272ulong3 __ovld __cnfn clamp(ulong3 x, ulong3 minval, ulong3 maxval);
10273long4 __ovld __cnfn clamp(long4 x, long4 minval, long4 maxval);
10274ulong4 __ovld __cnfn clamp(ulong4 x, ulong4 minval, ulong4 maxval);
10275long8 __ovld __cnfn clamp(long8 x, long8 minval, long8 maxval);
10276ulong8 __ovld __cnfn clamp(ulong8 x, ulong8 minval, ulong8 maxval);
10277long16 __ovld __cnfn clamp(long16 x, long16 minval, long16 maxval);
10278ulong16 __ovld __cnfn clamp(ulong16 x, ulong16 minval, ulong16 maxval);
10279char __ovld __cnfn clamp(char x, char minval, char maxval);
10280uchar __ovld __cnfn clamp(uchar x, uchar minval, uchar maxval);
10281char2 __ovld __cnfn clamp(char2 x, char minval, char maxval);
10282uchar2 __ovld __cnfn clamp(uchar2 x, uchar minval, uchar maxval);
10283char3 __ovld __cnfn clamp(char3 x, char minval, char maxval);
10284uchar3 __ovld __cnfn clamp(uchar3 x, uchar minval, uchar maxval);
10285char4 __ovld __cnfn clamp(char4 x, char minval, char maxval);
10286uchar4 __ovld __cnfn clamp(uchar4 x, uchar minval, uchar maxval);
10287char8 __ovld __cnfn clamp(char8 x, char minval, char maxval);
10288uchar8 __ovld __cnfn clamp(uchar8 x, uchar minval, uchar maxval);
10289char16 __ovld __cnfn clamp(char16 x, char minval, char maxval);
10290uchar16 __ovld __cnfn clamp(uchar16 x, uchar minval, uchar maxval);
10291short __ovld __cnfn clamp(short x, short minval, short maxval);
10292ushort __ovld __cnfn clamp(ushort x, ushort minval, ushort maxval);
10293short2 __ovld __cnfn clamp(short2 x, short minval, short maxval);
10294ushort2 __ovld __cnfn clamp(ushort2 x, ushort minval, ushort maxval);
10295short3 __ovld __cnfn clamp(short3 x, short minval, short maxval);
10296ushort3 __ovld __cnfn clamp(ushort3 x, ushort minval, ushort maxval);
10297short4 __ovld __cnfn clamp(short4 x, short minval, short maxval);
10298ushort4 __ovld __cnfn clamp(ushort4 x, ushort minval, ushort maxval);
10299short8 __ovld __cnfn clamp(short8 x, short minval, short maxval);
10300ushort8 __ovld __cnfn clamp(ushort8 x, ushort minval, ushort maxval);
10301short16 __ovld __cnfn clamp(short16 x, short minval, short maxval);
10302ushort16 __ovld __cnfn clamp(ushort16 x, ushort minval, ushort maxval);
10303int __ovld __cnfn clamp(int x, int minval, int maxval);
10304uint __ovld __cnfn clamp(uint x, uint minval, uint maxval);
10305int2 __ovld __cnfn clamp(int2 x, int minval, int maxval);
10306uint2 __ovld __cnfn clamp(uint2 x, uint minval, uint maxval);
10307int3 __ovld __cnfn clamp(int3 x, int minval, int maxval);
10308uint3 __ovld __cnfn clamp(uint3 x, uint minval, uint maxval);
10309int4 __ovld __cnfn clamp(int4 x, int minval, int maxval);
10310uint4 __ovld __cnfn clamp(uint4 x, uint minval, uint maxval);
10311int8 __ovld __cnfn clamp(int8 x, int minval, int maxval);
10312uint8 __ovld __cnfn clamp(uint8 x, uint minval, uint maxval);
10313int16 __ovld __cnfn clamp(int16 x, int minval, int maxval);
10314uint16 __ovld __cnfn clamp(uint16 x, uint minval, uint maxval);
10315long __ovld __cnfn clamp(long x, long minval, long maxval);
10316ulong __ovld __cnfn clamp(ulong x, ulong minval, ulong maxval);
10317long2 __ovld __cnfn clamp(long2 x, long minval, long maxval);
10318ulong2 __ovld __cnfn clamp(ulong2 x, ulong minval, ulong maxval);
10319long3 __ovld __cnfn clamp(long3 x, long minval, long maxval);
10320ulong3 __ovld __cnfn clamp(ulong3 x, ulong minval, ulong maxval);
10321long4 __ovld __cnfn clamp(long4 x, long minval, long maxval);
10322ulong4 __ovld __cnfn clamp(ulong4 x, ulong minval, ulong maxval);
10323long8 __ovld __cnfn clamp(long8 x, long minval, long maxval);
10324ulong8 __ovld __cnfn clamp(ulong8 x, ulong minval, ulong maxval);
10325long16 __ovld __cnfn clamp(long16 x, long minval, long maxval);
10326ulong16 __ovld __cnfn clamp(ulong16 x, ulong minval, ulong maxval);
10327
10328/**
10329 * Returns the number of leading 0-bits in x, starting
10330 * at the most significant bit position.
10331 */
10332char __ovld __cnfn clz(char x);
10333uchar __ovld __cnfn clz(uchar x);
10334char2 __ovld __cnfn clz(char2 x);
10335uchar2 __ovld __cnfn clz(uchar2 x);
10336char3 __ovld __cnfn clz(char3 x);
10337uchar3 __ovld __cnfn clz(uchar3 x);
10338char4 __ovld __cnfn clz(char4 x);
10339uchar4 __ovld __cnfn clz(uchar4 x);
10340char8 __ovld __cnfn clz(char8 x);
10341uchar8 __ovld __cnfn clz(uchar8 x);
10342char16 __ovld __cnfn clz(char16 x);
10343uchar16 __ovld __cnfn clz(uchar16 x);
10344short __ovld __cnfn clz(short x);
10345ushort __ovld __cnfn clz(ushort x);
10346short2 __ovld __cnfn clz(short2 x);
10347ushort2 __ovld __cnfn clz(ushort2 x);
10348short3 __ovld __cnfn clz(short3 x);
10349ushort3 __ovld __cnfn clz(ushort3 x);
10350short4 __ovld __cnfn clz(short4 x);
10351ushort4 __ovld __cnfn clz(ushort4 x);
10352short8 __ovld __cnfn clz(short8 x);
10353ushort8 __ovld __cnfn clz(ushort8 x);
10354short16 __ovld __cnfn clz(short16 x);
10355ushort16 __ovld __cnfn clz(ushort16 x);
10356int __ovld __cnfn clz(int x);
10357uint __ovld __cnfn clz(uint x);
10358int2 __ovld __cnfn clz(int2 x);
10359uint2 __ovld __cnfn clz(uint2 x);
10360int3 __ovld __cnfn clz(int3 x);
10361uint3 __ovld __cnfn clz(uint3 x);
10362int4 __ovld __cnfn clz(int4 x);
10363uint4 __ovld __cnfn clz(uint4 x);
10364int8 __ovld __cnfn clz(int8 x);
10365uint8 __ovld __cnfn clz(uint8 x);
10366int16 __ovld __cnfn clz(int16 x);
10367uint16 __ovld __cnfn clz(uint16 x);
10368long __ovld __cnfn clz(long x);
10369ulong __ovld __cnfn clz(ulong x);
10370long2 __ovld __cnfn clz(long2 x);
10371ulong2 __ovld __cnfn clz(ulong2 x);
10372long3 __ovld __cnfn clz(long3 x);
10373ulong3 __ovld __cnfn clz(ulong3 x);
10374long4 __ovld __cnfn clz(long4 x);
10375ulong4 __ovld __cnfn clz(ulong4 x);
10376long8 __ovld __cnfn clz(long8 x);
10377ulong8 __ovld __cnfn clz(ulong8 x);
10378long16 __ovld __cnfn clz(long16 x);
10379ulong16 __ovld __cnfn clz(ulong16 x);
10380
10381/**
10382 * Returns the count of trailing 0-bits in x. If x is 0,
10383 * returns the size in bits of the type of x or
10384 * component type of x, if x is a vector.
10385 */
10386#if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
10387char __ovld ctz(char x);
10388uchar __ovld ctz(uchar x);
10389char2 __ovld ctz(char2 x);
10390uchar2 __ovld ctz(uchar2 x);
10391char3 __ovld ctz(char3 x);
10392uchar3 __ovld ctz(uchar3 x);
10393char4 __ovld ctz(char4 x);
10394uchar4 __ovld ctz(uchar4 x);
10395char8 __ovld ctz(char8 x);
10396uchar8 __ovld ctz(uchar8 x);
10397char16 __ovld ctz(char16 x);
10398uchar16 __ovld ctz(uchar16 x);
10399short __ovld ctz(short x);
10400ushort __ovld ctz(ushort x);
10401short2 __ovld ctz(short2 x);
10402ushort2 __ovld ctz(ushort2 x);
10403short3 __ovld ctz(short3 x);
10404ushort3 __ovld ctz(ushort3 x);
10405short4 __ovld ctz(short4 x);
10406ushort4 __ovld ctz(ushort4 x);
10407short8 __ovld ctz(short8 x);
10408ushort8 __ovld ctz(ushort8 x);
10409short16 __ovld ctz(short16 x);
10410ushort16 __ovld ctz(ushort16 x);
10411int __ovld ctz(int x);
10412uint __ovld ctz(uint x);
10413int2 __ovld ctz(int2 x);
10414uint2 __ovld ctz(uint2 x);
10415int3 __ovld ctz(int3 x);
10416uint3 __ovld ctz(uint3 x);
10417int4 __ovld ctz(int4 x);
10418uint4 __ovld ctz(uint4 x);
10419int8 __ovld ctz(int8 x);
10420uint8 __ovld ctz(uint8 x);
10421int16 __ovld ctz(int16 x);
10422uint16 __ovld ctz(uint16 x);
10423long __ovld ctz(long x);
10424ulong __ovld ctz(ulong x);
10425long2 __ovld ctz(long2 x);
10426ulong2 __ovld ctz(ulong2 x);
10427long3 __ovld ctz(long3 x);
10428ulong3 __ovld ctz(ulong3 x);
10429long4 __ovld ctz(long4 x);
10430ulong4 __ovld ctz(ulong4 x);
10431long8 __ovld ctz(long8 x);
10432ulong8 __ovld ctz(ulong8 x);
10433long16 __ovld ctz(long16 x);
10434ulong16 __ovld ctz(ulong16 x);
10435#endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
10436
10437/**
10438 * Returns mul_hi(a, b) + c.
10439 */
10440char __ovld __cnfn mad_hi(char a, char b, char c);
10441uchar __ovld __cnfn mad_hi(uchar a, uchar b, uchar c);
10442char2 __ovld __cnfn mad_hi(char2 a, char2 b, char2 c);
10443uchar2 __ovld __cnfn mad_hi(uchar2 a, uchar2 b, uchar2 c);
10444char3 __ovld __cnfn mad_hi(char3 a, char3 b, char3 c);
10445uchar3 __ovld __cnfn mad_hi(uchar3 a, uchar3 b, uchar3 c);
10446char4 __ovld __cnfn mad_hi(char4 a, char4 b, char4 c);
10447uchar4 __ovld __cnfn mad_hi(uchar4 a, uchar4 b, uchar4 c);
10448char8 __ovld __cnfn mad_hi(char8 a, char8 b, char8 c);
10449uchar8 __ovld __cnfn mad_hi(uchar8 a, uchar8 b, uchar8 c);
10450char16 __ovld __cnfn mad_hi(char16 a, char16 b, char16 c);
10451uchar16 __ovld __cnfn mad_hi(uchar16 a, uchar16 b, uchar16 c);
10452short __ovld __cnfn mad_hi(short a, short b, short c);
10453ushort __ovld __cnfn mad_hi(ushort a, ushort b, ushort c);
10454short2 __ovld __cnfn mad_hi(short2 a, short2 b, short2 c);
10455ushort2 __ovld __cnfn mad_hi(ushort2 a, ushort2 b, ushort2 c);
10456short3 __ovld __cnfn mad_hi(short3 a, short3 b, short3 c);
10457ushort3 __ovld __cnfn mad_hi(ushort3 a, ushort3 b, ushort3 c);
10458short4 __ovld __cnfn mad_hi(short4 a, short4 b, short4 c);
10459ushort4 __ovld __cnfn mad_hi(ushort4 a, ushort4 b, ushort4 c);
10460short8 __ovld __cnfn mad_hi(short8 a, short8 b, short8 c);
10461ushort8 __ovld __cnfn mad_hi(ushort8 a, ushort8 b, ushort8 c);
10462short16 __ovld __cnfn mad_hi(short16 a, short16 b, short16 c);
10463ushort16 __ovld __cnfn mad_hi(ushort16 a, ushort16 b, ushort16 c);
10464int __ovld __cnfn mad_hi(int a, int b, int c);
10465uint __ovld __cnfn mad_hi(uint a, uint b, uint c);
10466int2 __ovld __cnfn mad_hi(int2 a, int2 b, int2 c);
10467uint2 __ovld __cnfn mad_hi(uint2 a, uint2 b, uint2 c);
10468int3 __ovld __cnfn mad_hi(int3 a, int3 b, int3 c);
10469uint3 __ovld __cnfn mad_hi(uint3 a, uint3 b, uint3 c);
10470int4 __ovld __cnfn mad_hi(int4 a, int4 b, int4 c);
10471uint4 __ovld __cnfn mad_hi(uint4 a, uint4 b, uint4 c);
10472int8 __ovld __cnfn mad_hi(int8 a, int8 b, int8 c);
10473uint8 __ovld __cnfn mad_hi(uint8 a, uint8 b, uint8 c);
10474int16 __ovld __cnfn mad_hi(int16 a, int16 b, int16 c);
10475uint16 __ovld __cnfn mad_hi(uint16 a, uint16 b, uint16 c);
10476long __ovld __cnfn mad_hi(long a, long b, long c);
10477ulong __ovld __cnfn mad_hi(ulong a, ulong b, ulong c);
10478long2 __ovld __cnfn mad_hi(long2 a, long2 b, long2 c);
10479ulong2 __ovld __cnfn mad_hi(ulong2 a, ulong2 b, ulong2 c);
10480long3 __ovld __cnfn mad_hi(long3 a, long3 b, long3 c);
10481ulong3 __ovld __cnfn mad_hi(ulong3 a, ulong3 b, ulong3 c);
10482long4 __ovld __cnfn mad_hi(long4 a, long4 b, long4 c);
10483ulong4 __ovld __cnfn mad_hi(ulong4 a, ulong4 b, ulong4 c);
10484long8 __ovld __cnfn mad_hi(long8 a, long8 b, long8 c);
10485ulong8 __ovld __cnfn mad_hi(ulong8 a, ulong8 b, ulong8 c);
10486long16 __ovld __cnfn mad_hi(long16 a, long16 b, long16 c);
10487ulong16 __ovld __cnfn mad_hi(ulong16 a, ulong16 b, ulong16 c);
10488
10489/**
10490 * Returns a * b + c and saturates the result.
10491 */
10492char __ovld __cnfn mad_sat(char a, char b, char c);
10493uchar __ovld __cnfn mad_sat(uchar a, uchar b, uchar c);
10494char2 __ovld __cnfn mad_sat(char2 a, char2 b, char2 c);
10495uchar2 __ovld __cnfn mad_sat(uchar2 a, uchar2 b, uchar2 c);
10496char3 __ovld __cnfn mad_sat(char3 a, char3 b, char3 c);
10497uchar3 __ovld __cnfn mad_sat(uchar3 a, uchar3 b, uchar3 c);
10498char4 __ovld __cnfn mad_sat(char4 a, char4 b, char4 c);
10499uchar4 __ovld __cnfn mad_sat(uchar4 a, uchar4 b, uchar4 c);
10500char8 __ovld __cnfn mad_sat(char8 a, char8 b, char8 c);
10501uchar8 __ovld __cnfn mad_sat(uchar8 a, uchar8 b, uchar8 c);
10502char16 __ovld __cnfn mad_sat(char16 a, char16 b, char16 c);
10503uchar16 __ovld __cnfn mad_sat(uchar16 a, uchar16 b, uchar16 c);
10504short __ovld __cnfn mad_sat(short a, short b, short c);
10505ushort __ovld __cnfn mad_sat(ushort a, ushort b, ushort c);
10506short2 __ovld __cnfn mad_sat(short2 a, short2 b, short2 c);
10507ushort2 __ovld __cnfn mad_sat(ushort2 a, ushort2 b, ushort2 c);
10508short3 __ovld __cnfn mad_sat(short3 a, short3 b, short3 c);
10509ushort3 __ovld __cnfn mad_sat(ushort3 a, ushort3 b, ushort3 c);
10510short4 __ovld __cnfn mad_sat(short4 a, short4 b, short4 c);
10511ushort4 __ovld __cnfn mad_sat(ushort4 a, ushort4 b, ushort4 c);
10512short8 __ovld __cnfn mad_sat(short8 a, short8 b, short8 c);
10513ushort8 __ovld __cnfn mad_sat(ushort8 a, ushort8 b, ushort8 c);
10514short16 __ovld __cnfn mad_sat(short16 a, short16 b, short16 c);
10515ushort16 __ovld __cnfn mad_sat(ushort16 a, ushort16 b, ushort16 c);
10516int __ovld __cnfn mad_sat(int a, int b, int c);
10517uint __ovld __cnfn mad_sat(uint a, uint b, uint c);
10518int2 __ovld __cnfn mad_sat(int2 a, int2 b, int2 c);
10519uint2 __ovld __cnfn mad_sat(uint2 a, uint2 b, uint2 c);
10520int3 __ovld __cnfn mad_sat(int3 a, int3 b, int3 c);
10521uint3 __ovld __cnfn mad_sat(uint3 a, uint3 b, uint3 c);
10522int4 __ovld __cnfn mad_sat(int4 a, int4 b, int4 c);
10523uint4 __ovld __cnfn mad_sat(uint4 a, uint4 b, uint4 c);
10524int8 __ovld __cnfn mad_sat(int8 a, int8 b, int8 c);
10525uint8 __ovld __cnfn mad_sat(uint8 a, uint8 b, uint8 c);
10526int16 __ovld __cnfn mad_sat(int16 a, int16 b, int16 c);
10527uint16 __ovld __cnfn mad_sat(uint16 a, uint16 b, uint16 c);
10528long __ovld __cnfn mad_sat(long a, long b, long c);
10529ulong __ovld __cnfn mad_sat(ulong a, ulong b, ulong c);
10530long2 __ovld __cnfn mad_sat(long2 a, long2 b, long2 c);
10531ulong2 __ovld __cnfn mad_sat(ulong2 a, ulong2 b, ulong2 c);
10532long3 __ovld __cnfn mad_sat(long3 a, long3 b, long3 c);
10533ulong3 __ovld __cnfn mad_sat(ulong3 a, ulong3 b, ulong3 c);
10534long4 __ovld __cnfn mad_sat(long4 a, long4 b, long4 c);
10535ulong4 __ovld __cnfn mad_sat(ulong4 a, ulong4 b, ulong4 c);
10536long8 __ovld __cnfn mad_sat(long8 a, long8 b, long8 c);
10537ulong8 __ovld __cnfn mad_sat(ulong8 a, ulong8 b, ulong8 c);
10538long16 __ovld __cnfn mad_sat(long16 a, long16 b, long16 c);
10539ulong16 __ovld __cnfn mad_sat(ulong16 a, ulong16 b, ulong16 c);
10540
10541/**
10542 * Returns y if x < y, otherwise it returns x.
10543 */
10544char __ovld __cnfn max(char x, char y);
10545uchar __ovld __cnfn max(uchar x, uchar y);
10546char2 __ovld __cnfn max(char2 x, char2 y);
10547uchar2 __ovld __cnfn max(uchar2 x, uchar2 y);
10548char3 __ovld __cnfn max(char3 x, char3 y);
10549uchar3 __ovld __cnfn max(uchar3 x, uchar3 y);
10550char4 __ovld __cnfn max(char4 x, char4 y);
10551uchar4 __ovld __cnfn max(uchar4 x, uchar4 y);
10552char8 __ovld __cnfn max(char8 x, char8 y);
10553uchar8 __ovld __cnfn max(uchar8 x, uchar8 y);
10554char16 __ovld __cnfn max(char16 x, char16 y);
10555uchar16 __ovld __cnfn max(uchar16 x, uchar16 y);
10556short __ovld __cnfn max(short x, short y);
10557ushort __ovld __cnfn max(ushort x, ushort y);
10558short2 __ovld __cnfn max(short2 x, short2 y);
10559ushort2 __ovld __cnfn max(ushort2 x, ushort2 y);
10560short3 __ovld __cnfn max(short3 x, short3 y);
10561ushort3 __ovld __cnfn max(ushort3 x, ushort3 y);
10562short4 __ovld __cnfn max(short4 x, short4 y);
10563ushort4 __ovld __cnfn max(ushort4 x, ushort4 y);
10564short8 __ovld __cnfn max(short8 x, short8 y);
10565ushort8 __ovld __cnfn max(ushort8 x, ushort8 y);
10566short16 __ovld __cnfn max(short16 x, short16 y);
10567ushort16 __ovld __cnfn max(ushort16 x, ushort16 y);
10568int __ovld __cnfn max(int x, int y);
10569uint __ovld __cnfn max(uint x, uint y);
10570int2 __ovld __cnfn max(int2 x, int2 y);
10571uint2 __ovld __cnfn max(uint2 x, uint2 y);
10572int3 __ovld __cnfn max(int3 x, int3 y);
10573uint3 __ovld __cnfn max(uint3 x, uint3 y);
10574int4 __ovld __cnfn max(int4 x, int4 y);
10575uint4 __ovld __cnfn max(uint4 x, uint4 y);
10576int8 __ovld __cnfn max(int8 x, int8 y);
10577uint8 __ovld __cnfn max(uint8 x, uint8 y);
10578int16 __ovld __cnfn max(int16 x, int16 y);
10579uint16 __ovld __cnfn max(uint16 x, uint16 y);
10580long __ovld __cnfn max(long x, long y);
10581ulong __ovld __cnfn max(ulong x, ulong y);
10582long2 __ovld __cnfn max(long2 x, long2 y);
10583ulong2 __ovld __cnfn max(ulong2 x, ulong2 y);
10584long3 __ovld __cnfn max(long3 x, long3 y);
10585ulong3 __ovld __cnfn max(ulong3 x, ulong3 y);
10586long4 __ovld __cnfn max(long4 x, long4 y);
10587ulong4 __ovld __cnfn max(ulong4 x, ulong4 y);
10588long8 __ovld __cnfn max(long8 x, long8 y);
10589ulong8 __ovld __cnfn max(ulong8 x, ulong8 y);
10590long16 __ovld __cnfn max(long16 x, long16 y);
10591ulong16 __ovld __cnfn max(ulong16 x, ulong16 y);
10592char __ovld __cnfn max(char x, char y);
10593uchar __ovld __cnfn max(uchar x, uchar y);
10594char2 __ovld __cnfn max(char2 x, char y);
10595uchar2 __ovld __cnfn max(uchar2 x, uchar y);
10596char3 __ovld __cnfn max(char3 x, char y);
10597uchar3 __ovld __cnfn max(uchar3 x, uchar y);
10598char4 __ovld __cnfn max(char4 x, char y);
10599uchar4 __ovld __cnfn max(uchar4 x, uchar y);
10600char8 __ovld __cnfn max(char8 x, char y);
10601uchar8 __ovld __cnfn max(uchar8 x, uchar y);
10602char16 __ovld __cnfn max(char16 x, char y);
10603uchar16 __ovld __cnfn max(uchar16 x, uchar y);
10604short __ovld __cnfn max(short x, short y);
10605ushort __ovld __cnfn max(ushort x, ushort y);
10606short2 __ovld __cnfn max(short2 x, short y);
10607ushort2 __ovld __cnfn max(ushort2 x, ushort y);
10608short3 __ovld __cnfn max(short3 x, short y);
10609ushort3 __ovld __cnfn max(ushort3 x, ushort y);
10610short4 __ovld __cnfn max(short4 x, short y);
10611ushort4 __ovld __cnfn max(ushort4 x, ushort y);
10612short8 __ovld __cnfn max(short8 x, short y);
10613ushort8 __ovld __cnfn max(ushort8 x, ushort y);
10614short16 __ovld __cnfn max(short16 x, short y);
10615ushort16 __ovld __cnfn max(ushort16 x, ushort y);
10616int __ovld __cnfn max(int x, int y);
10617uint __ovld __cnfn max(uint x, uint y);
10618int2 __ovld __cnfn max(int2 x, int y);
10619uint2 __ovld __cnfn max(uint2 x, uint y);
10620int3 __ovld __cnfn max(int3 x, int y);
10621uint3 __ovld __cnfn max(uint3 x, uint y);
10622int4 __ovld __cnfn max(int4 x, int y);
10623uint4 __ovld __cnfn max(uint4 x, uint y);
10624int8 __ovld __cnfn max(int8 x, int y);
10625uint8 __ovld __cnfn max(uint8 x, uint y);
10626int16 __ovld __cnfn max(int16 x, int y);
10627uint16 __ovld __cnfn max(uint16 x, uint y);
10628long __ovld __cnfn max(long x, long y);
10629ulong __ovld __cnfn max(ulong x, ulong y);
10630long2 __ovld __cnfn max(long2 x, long y);
10631ulong2 __ovld __cnfn max(ulong2 x, ulong y);
10632long3 __ovld __cnfn max(long3 x, long y);
10633ulong3 __ovld __cnfn max(ulong3 x, ulong y);
10634long4 __ovld __cnfn max(long4 x, long y);
10635ulong4 __ovld __cnfn max(ulong4 x, ulong y);
10636long8 __ovld __cnfn max(long8 x, long y);
10637ulong8 __ovld __cnfn max(ulong8 x, ulong y);
10638long16 __ovld __cnfn max(long16 x, long y);
10639ulong16 __ovld __cnfn max(ulong16 x, ulong y);
10640
10641/**
10642 * Returns y if y < x, otherwise it returns x.
10643 */
10644char __ovld __cnfn min(char x, char y);
10645uchar __ovld __cnfn min(uchar x, uchar y);
10646char2 __ovld __cnfn min(char2 x, char2 y);
10647uchar2 __ovld __cnfn min(uchar2 x, uchar2 y);
10648char3 __ovld __cnfn min(char3 x, char3 y);
10649uchar3 __ovld __cnfn min(uchar3 x, uchar3 y);
10650char4 __ovld __cnfn min(char4 x, char4 y);
10651uchar4 __ovld __cnfn min(uchar4 x, uchar4 y);
10652char8 __ovld __cnfn min(char8 x, char8 y);
10653uchar8 __ovld __cnfn min(uchar8 x, uchar8 y);
10654char16 __ovld __cnfn min(char16 x, char16 y);
10655uchar16 __ovld __cnfn min(uchar16 x, uchar16 y);
10656short __ovld __cnfn min(short x, short y);
10657ushort __ovld __cnfn min(ushort x, ushort y);
10658short2 __ovld __cnfn min(short2 x, short2 y);
10659ushort2 __ovld __cnfn min(ushort2 x, ushort2 y);
10660short3 __ovld __cnfn min(short3 x, short3 y);
10661ushort3 __ovld __cnfn min(ushort3 x, ushort3 y);
10662short4 __ovld __cnfn min(short4 x, short4 y);
10663ushort4 __ovld __cnfn min(ushort4 x, ushort4 y);
10664short8 __ovld __cnfn min(short8 x, short8 y);
10665ushort8 __ovld __cnfn min(ushort8 x, ushort8 y);
10666short16 __ovld __cnfn min(short16 x, short16 y);
10667ushort16 __ovld __cnfn min(ushort16 x, ushort16 y);
10668int __ovld __cnfn min(int x, int y);
10669uint __ovld __cnfn min(uint x, uint y);
10670int2 __ovld __cnfn min(int2 x, int2 y);
10671uint2 __ovld __cnfn min(uint2 x, uint2 y);
10672int3 __ovld __cnfn min(int3 x, int3 y);
10673uint3 __ovld __cnfn min(uint3 x, uint3 y);
10674int4 __ovld __cnfn min(int4 x, int4 y);
10675uint4 __ovld __cnfn min(uint4 x, uint4 y);
10676int8 __ovld __cnfn min(int8 x, int8 y);
10677uint8 __ovld __cnfn min(uint8 x, uint8 y);
10678int16 __ovld __cnfn min(int16 x, int16 y);
10679uint16 __ovld __cnfn min(uint16 x, uint16 y);
10680long __ovld __cnfn min(long x, long y);
10681ulong __ovld __cnfn min(ulong x, ulong y);
10682long2 __ovld __cnfn min(long2 x, long2 y);
10683ulong2 __ovld __cnfn min(ulong2 x, ulong2 y);
10684long3 __ovld __cnfn min(long3 x, long3 y);
10685ulong3 __ovld __cnfn min(ulong3 x, ulong3 y);
10686long4 __ovld __cnfn min(long4 x, long4 y);
10687ulong4 __ovld __cnfn min(ulong4 x, ulong4 y);
10688long8 __ovld __cnfn min(long8 x, long8 y);
10689ulong8 __ovld __cnfn min(ulong8 x, ulong8 y);
10690long16 __ovld __cnfn min(long16 x, long16 y);
10691ulong16 __ovld __cnfn min(ulong16 x, ulong16 y);
10692char __ovld __cnfn min(char x, char y);
10693uchar __ovld __cnfn min(uchar x, uchar y);
10694char2 __ovld __cnfn min(char2 x, char y);
10695uchar2 __ovld __cnfn min(uchar2 x, uchar y);
10696char3 __ovld __cnfn min(char3 x, char y);
10697uchar3 __ovld __cnfn min(uchar3 x, uchar y);
10698char4 __ovld __cnfn min(char4 x, char y);
10699uchar4 __ovld __cnfn min(uchar4 x, uchar y);
10700char8 __ovld __cnfn min(char8 x, char y);
10701uchar8 __ovld __cnfn min(uchar8 x, uchar y);
10702char16 __ovld __cnfn min(char16 x, char y);
10703uchar16 __ovld __cnfn min(uchar16 x, uchar y);
10704short __ovld __cnfn min(short x, short y);
10705ushort __ovld __cnfn min(ushort x, ushort y);
10706short2 __ovld __cnfn min(short2 x, short y);
10707ushort2 __ovld __cnfn min(ushort2 x, ushort y);
10708short3 __ovld __cnfn min(short3 x, short y);
10709ushort3 __ovld __cnfn min(ushort3 x, ushort y);
10710short4 __ovld __cnfn min(short4 x, short y);
10711ushort4 __ovld __cnfn min(ushort4 x, ushort y);
10712short8 __ovld __cnfn min(short8 x, short y);
10713ushort8 __ovld __cnfn min(ushort8 x, ushort y);
10714short16 __ovld __cnfn min(short16 x, short y);
10715ushort16 __ovld __cnfn min(ushort16 x, ushort y);
10716int __ovld __cnfn min(int x, int y);
10717uint __ovld __cnfn min(uint x, uint y);
10718int2 __ovld __cnfn min(int2 x, int y);
10719uint2 __ovld __cnfn min(uint2 x, uint y);
10720int3 __ovld __cnfn min(int3 x, int y);
10721uint3 __ovld __cnfn min(uint3 x, uint y);
10722int4 __ovld __cnfn min(int4 x, int y);
10723uint4 __ovld __cnfn min(uint4 x, uint y);
10724int8 __ovld __cnfn min(int8 x, int y);
10725uint8 __ovld __cnfn min(uint8 x, uint y);
10726int16 __ovld __cnfn min(int16 x, int y);
10727uint16 __ovld __cnfn min(uint16 x, uint y);
10728long __ovld __cnfn min(long x, long y);
10729ulong __ovld __cnfn min(ulong x, ulong y);
10730long2 __ovld __cnfn min(long2 x, long y);
10731ulong2 __ovld __cnfn min(ulong2 x, ulong y);
10732long3 __ovld __cnfn min(long3 x, long y);
10733ulong3 __ovld __cnfn min(ulong3 x, ulong y);
10734long4 __ovld __cnfn min(long4 x, long y);
10735ulong4 __ovld __cnfn min(ulong4 x, ulong y);
10736long8 __ovld __cnfn min(long8 x, long y);
10737ulong8 __ovld __cnfn min(ulong8 x, ulong y);
10738long16 __ovld __cnfn min(long16 x, long y);
10739ulong16 __ovld __cnfn min(ulong16 x, ulong y);
10740
10741/**
10742 * Computes x * y and returns the high half of the
10743 * product of x and y.
10744 */
10745char __ovld __cnfn mul_hi(char x, char y);
10746uchar __ovld __cnfn mul_hi(uchar x, uchar y);
10747char2 __ovld __cnfn mul_hi(char2 x, char2 y);
10748uchar2 __ovld __cnfn mul_hi(uchar2 x, uchar2 y);
10749char3 __ovld __cnfn mul_hi(char3 x, char3 y);
10750uchar3 __ovld __cnfn mul_hi(uchar3 x, uchar3 y);
10751char4 __ovld __cnfn mul_hi(char4 x, char4 y);
10752uchar4 __ovld __cnfn mul_hi(uchar4 x, uchar4 y);
10753char8 __ovld __cnfn mul_hi(char8 x, char8 y);
10754uchar8 __ovld __cnfn mul_hi(uchar8 x, uchar8 y);
10755char16 __ovld __cnfn mul_hi(char16 x, char16 y);
10756uchar16 __ovld __cnfn mul_hi(uchar16 x, uchar16 y);
10757short __ovld __cnfn mul_hi(short x, short y);
10758ushort __ovld __cnfn mul_hi(ushort x, ushort y);
10759short2 __ovld __cnfn mul_hi(short2 x, short2 y);
10760ushort2 __ovld __cnfn mul_hi(ushort2 x, ushort2 y);
10761short3 __ovld __cnfn mul_hi(short3 x, short3 y);
10762ushort3 __ovld __cnfn mul_hi(ushort3 x, ushort3 y);
10763short4 __ovld __cnfn mul_hi(short4 x, short4 y);
10764ushort4 __ovld __cnfn mul_hi(ushort4 x, ushort4 y);
10765short8 __ovld __cnfn mul_hi(short8 x, short8 y);
10766ushort8 __ovld __cnfn mul_hi(ushort8 x, ushort8 y);
10767short16 __ovld __cnfn mul_hi(short16 x, short16 y);
10768ushort16 __ovld __cnfn mul_hi(ushort16 x, ushort16 y);
10769int __ovld __cnfn mul_hi(int x, int y);
10770uint __ovld __cnfn mul_hi(uint x, uint y);
10771int2 __ovld __cnfn mul_hi(int2 x, int2 y);
10772uint2 __ovld __cnfn mul_hi(uint2 x, uint2 y);
10773int3 __ovld __cnfn mul_hi(int3 x, int3 y);
10774uint3 __ovld __cnfn mul_hi(uint3 x, uint3 y);
10775int4 __ovld __cnfn mul_hi(int4 x, int4 y);
10776uint4 __ovld __cnfn mul_hi(uint4 x, uint4 y);
10777int8 __ovld __cnfn mul_hi(int8 x, int8 y);
10778uint8 __ovld __cnfn mul_hi(uint8 x, uint8 y);
10779int16 __ovld __cnfn mul_hi(int16 x, int16 y);
10780uint16 __ovld __cnfn mul_hi(uint16 x, uint16 y);
10781long __ovld __cnfn mul_hi(long x, long y);
10782ulong __ovld __cnfn mul_hi(ulong x, ulong y);
10783long2 __ovld __cnfn mul_hi(long2 x, long2 y);
10784ulong2 __ovld __cnfn mul_hi(ulong2 x, ulong2 y);
10785long3 __ovld __cnfn mul_hi(long3 x, long3 y);
10786ulong3 __ovld __cnfn mul_hi(ulong3 x, ulong3 y);
10787long4 __ovld __cnfn mul_hi(long4 x, long4 y);
10788ulong4 __ovld __cnfn mul_hi(ulong4 x, ulong4 y);
10789long8 __ovld __cnfn mul_hi(long8 x, long8 y);
10790ulong8 __ovld __cnfn mul_hi(ulong8 x, ulong8 y);
10791long16 __ovld __cnfn mul_hi(long16 x, long16 y);
10792ulong16 __ovld __cnfn mul_hi(ulong16 x, ulong16 y);
10793
10794/**
10795 * For each element in v, the bits are shifted left by
10796 * the number of bits given by the corresponding
10797 * element in i (subject to usual shift modulo rules
10798 * described in section 6.3). Bits shifted off the left
10799 * side of the element are shifted back in from the
10800 * right.
10801 */
10802char __ovld __cnfn rotate(char v, char i);
10803uchar __ovld __cnfn rotate(uchar v, uchar i);
10804char2 __ovld __cnfn rotate(char2 v, char2 i);
10805uchar2 __ovld __cnfn rotate(uchar2 v, uchar2 i);
10806char3 __ovld __cnfn rotate(char3 v, char3 i);
10807uchar3 __ovld __cnfn rotate(uchar3 v, uchar3 i);
10808char4 __ovld __cnfn rotate(char4 v, char4 i);
10809uchar4 __ovld __cnfn rotate(uchar4 v, uchar4 i);
10810char8 __ovld __cnfn rotate(char8 v, char8 i);
10811uchar8 __ovld __cnfn rotate(uchar8 v, uchar8 i);
10812char16 __ovld __cnfn rotate(char16 v, char16 i);
10813uchar16 __ovld __cnfn rotate(uchar16 v, uchar16 i);
10814short __ovld __cnfn rotate(short v, short i);
10815ushort __ovld __cnfn rotate(ushort v, ushort i);
10816short2 __ovld __cnfn rotate(short2 v, short2 i);
10817ushort2 __ovld __cnfn rotate(ushort2 v, ushort2 i);
10818short3 __ovld __cnfn rotate(short3 v, short3 i);
10819ushort3 __ovld __cnfn rotate(ushort3 v, ushort3 i);
10820short4 __ovld __cnfn rotate(short4 v, short4 i);
10821ushort4 __ovld __cnfn rotate(ushort4 v, ushort4 i);
10822short8 __ovld __cnfn rotate(short8 v, short8 i);
10823ushort8 __ovld __cnfn rotate(ushort8 v, ushort8 i);
10824short16 __ovld __cnfn rotate(short16 v, short16 i);
10825ushort16 __ovld __cnfn rotate(ushort16 v, ushort16 i);
10826int __ovld __cnfn rotate(int v, int i);
10827uint __ovld __cnfn rotate(uint v, uint i);
10828int2 __ovld __cnfn rotate(int2 v, int2 i);
10829uint2 __ovld __cnfn rotate(uint2 v, uint2 i);
10830int3 __ovld __cnfn rotate(int3 v, int3 i);
10831uint3 __ovld __cnfn rotate(uint3 v, uint3 i);
10832int4 __ovld __cnfn rotate(int4 v, int4 i);
10833uint4 __ovld __cnfn rotate(uint4 v, uint4 i);
10834int8 __ovld __cnfn rotate(int8 v, int8 i);
10835uint8 __ovld __cnfn rotate(uint8 v, uint8 i);
10836int16 __ovld __cnfn rotate(int16 v, int16 i);
10837uint16 __ovld __cnfn rotate(uint16 v, uint16 i);
10838long __ovld __cnfn rotate(long v, long i);
10839ulong __ovld __cnfn rotate(ulong v, ulong i);
10840long2 __ovld __cnfn rotate(long2 v, long2 i);
10841ulong2 __ovld __cnfn rotate(ulong2 v, ulong2 i);
10842long3 __ovld __cnfn rotate(long3 v, long3 i);
10843ulong3 __ovld __cnfn rotate(ulong3 v, ulong3 i);
10844long4 __ovld __cnfn rotate(long4 v, long4 i);
10845ulong4 __ovld __cnfn rotate(ulong4 v, ulong4 i);
10846long8 __ovld __cnfn rotate(long8 v, long8 i);
10847ulong8 __ovld __cnfn rotate(ulong8 v, ulong8 i);
10848long16 __ovld __cnfn rotate(long16 v, long16 i);
10849ulong16 __ovld __cnfn rotate(ulong16 v, ulong16 i);
10850
10851/**
10852 * Returns x - y and saturates the result.
10853 */
10854char __ovld __cnfn sub_sat(char x, char y);
10855uchar __ovld __cnfn sub_sat(uchar x, uchar y);
10856char2 __ovld __cnfn sub_sat(char2 x, char2 y);
10857uchar2 __ovld __cnfn sub_sat(uchar2 x, uchar2 y);
10858char3 __ovld __cnfn sub_sat(char3 x, char3 y);
10859uchar3 __ovld __cnfn sub_sat(uchar3 x, uchar3 y);
10860char4 __ovld __cnfn sub_sat(char4 x, char4 y);
10861uchar4 __ovld __cnfn sub_sat(uchar4 x, uchar4 y);
10862char8 __ovld __cnfn sub_sat(char8 x, char8 y);
10863uchar8 __ovld __cnfn sub_sat(uchar8 x, uchar8 y);
10864char16 __ovld __cnfn sub_sat(char16 x, char16 y);
10865uchar16 __ovld __cnfn sub_sat(uchar16 x, uchar16 y);
10866short __ovld __cnfn sub_sat(short x, short y);
10867ushort __ovld __cnfn sub_sat(ushort x, ushort y);
10868short2 __ovld __cnfn sub_sat(short2 x, short2 y);
10869ushort2 __ovld __cnfn sub_sat(ushort2 x, ushort2 y);
10870short3 __ovld __cnfn sub_sat(short3 x, short3 y);
10871ushort3 __ovld __cnfn sub_sat(ushort3 x, ushort3 y);
10872short4 __ovld __cnfn sub_sat(short4 x, short4 y);
10873ushort4 __ovld __cnfn sub_sat(ushort4 x, ushort4 y);
10874short8 __ovld __cnfn sub_sat(short8 x, short8 y);
10875ushort8 __ovld __cnfn sub_sat(ushort8 x, ushort8 y);
10876short16 __ovld __cnfn sub_sat(short16 x, short16 y);
10877ushort16 __ovld __cnfn sub_sat(ushort16 x, ushort16 y);
10878int __ovld __cnfn sub_sat(int x, int y);
10879uint __ovld __cnfn sub_sat(uint x, uint y);
10880int2 __ovld __cnfn sub_sat(int2 x, int2 y);
10881uint2 __ovld __cnfn sub_sat(uint2 x, uint2 y);
10882int3 __ovld __cnfn sub_sat(int3 x, int3 y);
10883uint3 __ovld __cnfn sub_sat(uint3 x, uint3 y);
10884int4 __ovld __cnfn sub_sat(int4 x, int4 y);
10885uint4 __ovld __cnfn sub_sat(uint4 x, uint4 y);
10886int8 __ovld __cnfn sub_sat(int8 x, int8 y);
10887uint8 __ovld __cnfn sub_sat(uint8 x, uint8 y);
10888int16 __ovld __cnfn sub_sat(int16 x, int16 y);
10889uint16 __ovld __cnfn sub_sat(uint16 x, uint16 y);
10890long __ovld __cnfn sub_sat(long x, long y);
10891ulong __ovld __cnfn sub_sat(ulong x, ulong y);
10892long2 __ovld __cnfn sub_sat(long2 x, long2 y);
10893ulong2 __ovld __cnfn sub_sat(ulong2 x, ulong2 y);
10894long3 __ovld __cnfn sub_sat(long3 x, long3 y);
10895ulong3 __ovld __cnfn sub_sat(ulong3 x, ulong3 y);
10896long4 __ovld __cnfn sub_sat(long4 x, long4 y);
10897ulong4 __ovld __cnfn sub_sat(ulong4 x, ulong4 y);
10898long8 __ovld __cnfn sub_sat(long8 x, long8 y);
10899ulong8 __ovld __cnfn sub_sat(ulong8 x, ulong8 y);
10900long16 __ovld __cnfn sub_sat(long16 x, long16 y);
10901ulong16 __ovld __cnfn sub_sat(ulong16 x, ulong16 y);
10902
10903/**
10904 * result[i] = ((short)hi[i] << 8) | lo[i]
10905 * result[i] = ((ushort)hi[i] << 8) | lo[i]
10906 */
10907short __ovld __cnfn upsample(char hi, uchar lo);
10908ushort __ovld __cnfn upsample(uchar hi, uchar lo);
10909short2 __ovld __cnfn upsample(char2 hi, uchar2 lo);
10910short3 __ovld __cnfn upsample(char3 hi, uchar3 lo);
10911short4 __ovld __cnfn upsample(char4 hi, uchar4 lo);
10912short8 __ovld __cnfn upsample(char8 hi, uchar8 lo);
10913short16 __ovld __cnfn upsample(char16 hi, uchar16 lo);
10914ushort2 __ovld __cnfn upsample(uchar2 hi, uchar2 lo);
10915ushort3 __ovld __cnfn upsample(uchar3 hi, uchar3 lo);
10916ushort4 __ovld __cnfn upsample(uchar4 hi, uchar4 lo);
10917ushort8 __ovld __cnfn upsample(uchar8 hi, uchar8 lo);
10918ushort16 __ovld __cnfn upsample(uchar16 hi, uchar16 lo);
10919
10920/**
10921 * result[i] = ((int)hi[i] << 16) | lo[i]
10922 * result[i] = ((uint)hi[i] << 16) | lo[i]
10923 */
10924int __ovld __cnfn upsample(short hi, ushort lo);
10925uint __ovld __cnfn upsample(ushort hi, ushort lo);
10926int2 __ovld __cnfn upsample(short2 hi, ushort2 lo);
10927int3 __ovld __cnfn upsample(short3 hi, ushort3 lo);
10928int4 __ovld __cnfn upsample(short4 hi, ushort4 lo);
10929int8 __ovld __cnfn upsample(short8 hi, ushort8 lo);
10930int16 __ovld __cnfn upsample(short16 hi, ushort16 lo);
10931uint2 __ovld __cnfn upsample(ushort2 hi, ushort2 lo);
10932uint3 __ovld __cnfn upsample(ushort3 hi, ushort3 lo);
10933uint4 __ovld __cnfn upsample(ushort4 hi, ushort4 lo);
10934uint8 __ovld __cnfn upsample(ushort8 hi, ushort8 lo);
10935uint16 __ovld __cnfn upsample(ushort16 hi, ushort16 lo);
10936/**
10937 * result[i] = ((long)hi[i] << 32) | lo[i]
10938 * result[i] = ((ulong)hi[i] << 32) | lo[i]
10939 */
10940long __ovld __cnfn upsample(int hi, uint lo);
10941ulong __ovld __cnfn upsample(uint hi, uint lo);
10942long2 __ovld __cnfn upsample(int2 hi, uint2 lo);
10943long3 __ovld __cnfn upsample(int3 hi, uint3 lo);
10944long4 __ovld __cnfn upsample(int4 hi, uint4 lo);
10945long8 __ovld __cnfn upsample(int8 hi, uint8 lo);
10946long16 __ovld __cnfn upsample(int16 hi, uint16 lo);
10947ulong2 __ovld __cnfn upsample(uint2 hi, uint2 lo);
10948ulong3 __ovld __cnfn upsample(uint3 hi, uint3 lo);
10949ulong4 __ovld __cnfn upsample(uint4 hi, uint4 lo);
10950ulong8 __ovld __cnfn upsample(uint8 hi, uint8 lo);
10951ulong16 __ovld __cnfn upsample(uint16 hi, uint16 lo);
10952
10953/*
10954 * popcount(x): returns the number of set bit in x
10955 */
10956char __ovld __cnfn popcount(char x);
10957uchar __ovld __cnfn popcount(uchar x);
10958char2 __ovld __cnfn popcount(char2 x);
10959uchar2 __ovld __cnfn popcount(uchar2 x);
10960char3 __ovld __cnfn popcount(char3 x);
10961uchar3 __ovld __cnfn popcount(uchar3 x);
10962char4 __ovld __cnfn popcount(char4 x);
10963uchar4 __ovld __cnfn popcount(uchar4 x);
10964char8 __ovld __cnfn popcount(char8 x);
10965uchar8 __ovld __cnfn popcount(uchar8 x);
10966char16 __ovld __cnfn popcount(char16 x);
10967uchar16 __ovld __cnfn popcount(uchar16 x);
10968short __ovld __cnfn popcount(short x);
10969ushort __ovld __cnfn popcount(ushort x);
10970short2 __ovld __cnfn popcount(short2 x);
10971ushort2 __ovld __cnfn popcount(ushort2 x);
10972short3 __ovld __cnfn popcount(short3 x);
10973ushort3 __ovld __cnfn popcount(ushort3 x);
10974short4 __ovld __cnfn popcount(short4 x);
10975ushort4 __ovld __cnfn popcount(ushort4 x);
10976short8 __ovld __cnfn popcount(short8 x);
10977ushort8 __ovld __cnfn popcount(ushort8 x);
10978short16 __ovld __cnfn popcount(short16 x);
10979ushort16 __ovld __cnfn popcount(ushort16 x);
10980int __ovld __cnfn popcount(int x);
10981uint __ovld __cnfn popcount(uint x);
10982int2 __ovld __cnfn popcount(int2 x);
10983uint2 __ovld __cnfn popcount(uint2 x);
10984int3 __ovld __cnfn popcount(int3 x);
10985uint3 __ovld __cnfn popcount(uint3 x);
10986int4 __ovld __cnfn popcount(int4 x);
10987uint4 __ovld __cnfn popcount(uint4 x);
10988int8 __ovld __cnfn popcount(int8 x);
10989uint8 __ovld __cnfn popcount(uint8 x);
10990int16 __ovld __cnfn popcount(int16 x);
10991uint16 __ovld __cnfn popcount(uint16 x);
10992long __ovld __cnfn popcount(long x);
10993ulong __ovld __cnfn popcount(ulong x);
10994long2 __ovld __cnfn popcount(long2 x);
10995ulong2 __ovld __cnfn popcount(ulong2 x);
10996long3 __ovld __cnfn popcount(long3 x);
10997ulong3 __ovld __cnfn popcount(ulong3 x);
10998long4 __ovld __cnfn popcount(long4 x);
10999ulong4 __ovld __cnfn popcount(ulong4 x);
11000long8 __ovld __cnfn popcount(long8 x);
11001ulong8 __ovld __cnfn popcount(ulong8 x);
11002long16 __ovld __cnfn popcount(long16 x);
11003ulong16 __ovld __cnfn popcount(ulong16 x);
11004
11005/**
11006 * Multiply two 24-bit integer values x and y and add
11007 * the 32-bit integer result to the 32-bit integer z.
11008 * Refer to definition of mul24 to see how the 24-bit
11009 * integer multiplication is performed.
11010 */
11011int __ovld __cnfn mad24(int x, int y, int z);
11012uint __ovld __cnfn mad24(uint x, uint y, uint z);
11013int2 __ovld __cnfn mad24(int2 x, int2 y, int2 z);
11014uint2 __ovld __cnfn mad24(uint2 x, uint2 y, uint2 z);
11015int3 __ovld __cnfn mad24(int3 x, int3 y, int3 z);
11016uint3 __ovld __cnfn mad24(uint3 x, uint3 y, uint3 z);
11017int4 __ovld __cnfn mad24(int4 x, int4 y, int4 z);
11018uint4 __ovld __cnfn mad24(uint4 x, uint4 y, uint4 z);
11019int8 __ovld __cnfn mad24(int8 x, int8 y, int8 z);
11020uint8 __ovld __cnfn mad24(uint8 x, uint8 y, uint8 z);
11021int16 __ovld __cnfn mad24(int16 x, int16 y, int16 z);
11022uint16 __ovld __cnfn mad24(uint16 x, uint16 y, uint16 z);
11023
11024/**
11025 * Multiply two 24-bit integer values x and y. x and y
11026 * are 32-bit integers but only the low 24-bits are used
11027 * to perform the multiplication. mul24 should only
11028 * be used when values in x and y are in the range [-
11029 * 2^23, 2^23-1] if x and y are signed integers and in the
11030 * range [0, 2^24-1] if x and y are unsigned integers. If
11031 * x and y are not in this range, the multiplication
11032 * result is implementation-defined.
11033 */
11034int __ovld __cnfn mul24(int x, int y);
11035uint __ovld __cnfn mul24(uint x, uint y);
11036int2 __ovld __cnfn mul24(int2 x, int2 y);
11037uint2 __ovld __cnfn mul24(uint2 x, uint2 y);
11038int3 __ovld __cnfn mul24(int3 x, int3 y);
11039uint3 __ovld __cnfn mul24(uint3 x, uint3 y);
11040int4 __ovld __cnfn mul24(int4 x, int4 y);
11041uint4 __ovld __cnfn mul24(uint4 x, uint4 y);
11042int8 __ovld __cnfn mul24(int8 x, int8 y);
11043uint8 __ovld __cnfn mul24(uint8 x, uint8 y);
11044int16 __ovld __cnfn mul24(int16 x, int16 y);
11045uint16 __ovld __cnfn mul24(uint16 x, uint16 y);
11046
11047// OpenCL v1.1 s6.11.4, v1.2 s6.12.4, v2.0 s6.13.4 - Common Functions
11048
11049/**
11050 * Returns fmin(fmax(x, minval), maxval).
11051 * Results are undefined if minval > maxval.
11052 */
11053float __ovld __cnfn clamp(float x, float minval, float maxval);
11054float2 __ovld __cnfn clamp(float2 x, float2 minval, float2 maxval);
11055float3 __ovld __cnfn clamp(float3 x, float3 minval, float3 maxval);
11056float4 __ovld __cnfn clamp(float4 x, float4 minval, float4 maxval);
11057float8 __ovld __cnfn clamp(float8 x, float8 minval, float8 maxval);
11058float16 __ovld __cnfn clamp(float16 x, float16 minval, float16 maxval);
11059float2 __ovld __cnfn clamp(float2 x, float minval, float maxval);
11060float3 __ovld __cnfn clamp(float3 x, float minval, float maxval);
11061float4 __ovld __cnfn clamp(float4 x, float minval, float maxval);
11062float8 __ovld __cnfn clamp(float8 x, float minval, float maxval);
11063float16 __ovld __cnfn clamp(float16 x, float minval, float maxval);
11064#ifdef cl_khr_fp64
11065double __ovld __cnfn clamp(double x, double minval, double maxval);
11066double2 __ovld __cnfn clamp(double2 x, double2 minval, double2 maxval);
11067double3 __ovld __cnfn clamp(double3 x, double3 minval, double3 maxval);
11068double4 __ovld __cnfn clamp(double4 x, double4 minval, double4 maxval);
11069double8 __ovld __cnfn clamp(double8 x, double8 minval, double8 maxval);
11070double16 __ovld __cnfn clamp(double16 x, double16 minval, double16 maxval);
11071double2 __ovld __cnfn clamp(double2 x, double minval, double maxval);
11072double3 __ovld __cnfn clamp(double3 x, double minval, double maxval);
11073double4 __ovld __cnfn clamp(double4 x, double minval, double maxval);
11074double8 __ovld __cnfn clamp(double8 x, double minval, double maxval);
11075double16 __ovld __cnfn clamp(double16 x, double minval, double maxval);
11076#endif //cl_khr_fp64
11077#ifdef cl_khr_fp16
11078half __ovld __cnfn clamp(half x, half minval, half maxval);
11079half2 __ovld __cnfn clamp(half2 x, half2 minval, half2 maxval);
11080half3 __ovld __cnfn clamp(half3 x, half3 minval, half3 maxval);
11081half4 __ovld __cnfn clamp(half4 x, half4 minval, half4 maxval);
11082half8 __ovld __cnfn clamp(half8 x, half8 minval, half8 maxval);
11083half16 __ovld __cnfn clamp(half16 x, half16 minval, half16 maxval);
11084half2 __ovld __cnfn clamp(half2 x, half minval, half maxval);
11085half3 __ovld __cnfn clamp(half3 x, half minval, half maxval);
11086half4 __ovld __cnfn clamp(half4 x, half minval, half maxval);
11087half8 __ovld __cnfn clamp(half8 x, half minval, half maxval);
11088half16 __ovld __cnfn clamp(half16 x, half minval, half maxval);
11089#endif //cl_khr_fp16
11090
11091/**
11092 * Converts radians to degrees, i.e. (180 / PI) *
11093 * radians.
11094 */
11095float __ovld __cnfn degrees(float radians);
11096float2 __ovld __cnfn degrees(float2 radians);
11097float3 __ovld __cnfn degrees(float3 radians);
11098float4 __ovld __cnfn degrees(float4 radians);
11099float8 __ovld __cnfn degrees(float8 radians);
11100float16 __ovld __cnfn degrees(float16 radians);
11101#ifdef cl_khr_fp64
11102double __ovld __cnfn degrees(double radians);
11103double2 __ovld __cnfn degrees(double2 radians);
11104double3 __ovld __cnfn degrees(double3 radians);
11105double4 __ovld __cnfn degrees(double4 radians);
11106double8 __ovld __cnfn degrees(double8 radians);
11107double16 __ovld __cnfn degrees(double16 radians);
11108#endif //cl_khr_fp64
11109#ifdef cl_khr_fp16
11110half __ovld __cnfn degrees(half radians);
11111half2 __ovld __cnfn degrees(half2 radians);
11112half3 __ovld __cnfn degrees(half3 radians);
11113half4 __ovld __cnfn degrees(half4 radians);
11114half8 __ovld __cnfn degrees(half8 radians);
11115half16 __ovld __cnfn degrees(half16 radians);
11116#endif //cl_khr_fp16
11117
11118/**
11119 * Returns y if x < y, otherwise it returns x. If x and y
11120 * are infinite or NaN, the return values are undefined.
11121 */
11122float __ovld __cnfn max(float x, float y);
11123float2 __ovld __cnfn max(float2 x, float2 y);
11124float3 __ovld __cnfn max(float3 x, float3 y);
11125float4 __ovld __cnfn max(float4 x, float4 y);
11126float8 __ovld __cnfn max(float8 x, float8 y);
11127float16 __ovld __cnfn max(float16 x, float16 y);
11128float2 __ovld __cnfn max(float2 x, float y);
11129float3 __ovld __cnfn max(float3 x, float y);
11130float4 __ovld __cnfn max(float4 x, float y);
11131float8 __ovld __cnfn max(float8 x, float y);
11132float16 __ovld __cnfn max(float16 x, float y);
11133#ifdef cl_khr_fp64
11134double __ovld __cnfn max(double x, double y);
11135double2 __ovld __cnfn max(double2 x, double2 y);
11136double3 __ovld __cnfn max(double3 x, double3 y);
11137double4 __ovld __cnfn max(double4 x, double4 y);
11138double8 __ovld __cnfn max(double8 x, double8 y);
11139double16 __ovld __cnfn max(double16 x, double16 y);
11140double2 __ovld __cnfn max(double2 x, double y);
11141double3 __ovld __cnfn max(double3 x, double y);
11142double4 __ovld __cnfn max(double4 x, double y);
11143double8 __ovld __cnfn max(double8 x, double y);
11144double16 __ovld __cnfn max(double16 x, double y);
11145#endif //cl_khr_fp64
11146#ifdef cl_khr_fp16
11147half __ovld __cnfn max(half x, half y);
11148half2 __ovld __cnfn max(half2 x, half2 y);
11149half3 __ovld __cnfn max(half3 x, half3 y);
11150half4 __ovld __cnfn max(half4 x, half4 y);
11151half8 __ovld __cnfn max(half8 x, half8 y);
11152half16 __ovld __cnfn max(half16 x, half16 y);
11153half2 __ovld __cnfn max(half2 x, half y);
11154half3 __ovld __cnfn max(half3 x, half y);
11155half4 __ovld __cnfn max(half4 x, half y);
11156half8 __ovld __cnfn max(half8 x, half y);
11157half16 __ovld __cnfn max(half16 x, half y);
11158#endif //cl_khr_fp16
11159
11160/**
11161 * Returns y if y < x, otherwise it returns x. If x and y
11162 * are infinite or NaN, the return values are undefined.
11163 */
11164float __ovld __cnfn min(float x, float y);
11165float2 __ovld __cnfn min(float2 x, float2 y);
11166float3 __ovld __cnfn min(float3 x, float3 y);
11167float4 __ovld __cnfn min(float4 x, float4 y);
11168float8 __ovld __cnfn min(float8 x, float8 y);
11169float16 __ovld __cnfn min(float16 x, float16 y);
11170float2 __ovld __cnfn min(float2 x, float y);
11171float3 __ovld __cnfn min(float3 x, float y);
11172float4 __ovld __cnfn min(float4 x, float y);
11173float8 __ovld __cnfn min(float8 x, float y);
11174float16 __ovld __cnfn min(float16 x, float y);
11175#ifdef cl_khr_fp64
11176double __ovld __cnfn min(double x, double y);
11177double2 __ovld __cnfn min(double2 x, double2 y);
11178double3 __ovld __cnfn min(double3 x, double3 y);
11179double4 __ovld __cnfn min(double4 x, double4 y);
11180double8 __ovld __cnfn min(double8 x, double8 y);
11181double16 __ovld __cnfn min(double16 x, double16 y);
11182double2 __ovld __cnfn min(double2 x, double y);
11183double3 __ovld __cnfn min(double3 x, double y);
11184double4 __ovld __cnfn min(double4 x, double y);
11185double8 __ovld __cnfn min(double8 x, double y);
11186double16 __ovld __cnfn min(double16 x, double y);
11187#endif //cl_khr_fp64
11188#ifdef cl_khr_fp16
11189half __ovld __cnfn min(half x, half y);
11190half2 __ovld __cnfn min(half2 x, half2 y);
11191half3 __ovld __cnfn min(half3 x, half3 y);
11192half4 __ovld __cnfn min(half4 x, half4 y);
11193half8 __ovld __cnfn min(half8 x, half8 y);
11194half16 __ovld __cnfn min(half16 x, half16 y);
11195half2 __ovld __cnfn min(half2 x, half y);
11196half3 __ovld __cnfn min(half3 x, half y);
11197half4 __ovld __cnfn min(half4 x, half y);
11198half8 __ovld __cnfn min(half8 x, half y);
11199half16 __ovld __cnfn min(half16 x, half y);
11200#endif //cl_khr_fp16
11201
11202/**
11203 * Returns the linear blend of x & y implemented as:
11204 * x + (y - x) * a
11205 * a must be a value in the range 0.0 ... 1.0. If a is not
11206 * in the range 0.0 ... 1.0, the return values are
11207 * undefined.
11208 */
11209float __ovld __cnfn mix(float x, float y, float a);
11210float2 __ovld __cnfn mix(float2 x, float2 y, float2 a);
11211float3 __ovld __cnfn mix(float3 x, float3 y, float3 a);
11212float4 __ovld __cnfn mix(float4 x, float4 y, float4 a);
11213float8 __ovld __cnfn mix(float8 x, float8 y, float8 a);
11214float16 __ovld __cnfn mix(float16 x, float16 y, float16 a);
11215float2 __ovld __cnfn mix(float2 x, float2 y, float a);
11216float3 __ovld __cnfn mix(float3 x, float3 y, float a);
11217float4 __ovld __cnfn mix(float4 x, float4 y, float a);
11218float8 __ovld __cnfn mix(float8 x, float8 y, float a);
11219float16 __ovld __cnfn mix(float16 x, float16 y, float a);
11220#ifdef cl_khr_fp64
11221double __ovld __cnfn mix(double x, double y, double a);
11222double2 __ovld __cnfn mix(double2 x, double2 y, double2 a);
11223double3 __ovld __cnfn mix(double3 x, double3 y, double3 a);
11224double4 __ovld __cnfn mix(double4 x, double4 y, double4 a);
11225double8 __ovld __cnfn mix(double8 x, double8 y, double8 a);
11226double16 __ovld __cnfn mix(double16 x, double16 y, double16 a);
11227double2 __ovld __cnfn mix(double2 x, double2 y, double a);
11228double3 __ovld __cnfn mix(double3 x, double3 y, double a);
11229double4 __ovld __cnfn mix(double4 x, double4 y, double a);
11230double8 __ovld __cnfn mix(double8 x, double8 y, double a);
11231double16 __ovld __cnfn mix(double16 x, double16 y, double a);
11232#endif //cl_khr_fp64
11233#ifdef cl_khr_fp16
11234half __ovld __cnfn mix(half x, half y, half a);
11235half2 __ovld __cnfn mix(half2 x, half2 y, half2 a);
11236half3 __ovld __cnfn mix(half3 x, half3 y, half3 a);
11237half4 __ovld __cnfn mix(half4 x, half4 y, half4 a);
11238half8 __ovld __cnfn mix(half8 x, half8 y, half8 a);
11239half16 __ovld __cnfn mix(half16 x, half16 y, half16 a);
11240half2 __ovld __cnfn mix(half2 x, half2 y, half a);
11241half3 __ovld __cnfn mix(half3 x, half3 y, half a);
11242half4 __ovld __cnfn mix(half4 x, half4 y, half a);
11243half8 __ovld __cnfn mix(half8 x, half8 y, half a);
11244half16 __ovld __cnfn mix(half16 x, half16 y, half a);
11245#endif //cl_khr_fp16
11246
11247/**
11248 * Converts degrees to radians, i.e. (PI / 180) *
11249 * degrees.
11250 */
11251float __ovld __cnfn radians(float degrees);
11252float2 __ovld __cnfn radians(float2 degrees);
11253float3 __ovld __cnfn radians(float3 degrees);
11254float4 __ovld __cnfn radians(float4 degrees);
11255float8 __ovld __cnfn radians(float8 degrees);
11256float16 __ovld __cnfn radians(float16 degrees);
11257#ifdef cl_khr_fp64
11258double __ovld __cnfn radians(double degrees);
11259double2 __ovld __cnfn radians(double2 degrees);
11260double3 __ovld __cnfn radians(double3 degrees);
11261double4 __ovld __cnfn radians(double4 degrees);
11262double8 __ovld __cnfn radians(double8 degrees);
11263double16 __ovld __cnfn radians(double16 degrees);
11264#endif //cl_khr_fp64
11265#ifdef cl_khr_fp16
11266half __ovld __cnfn radians(half degrees);
11267half2 __ovld __cnfn radians(half2 degrees);
11268half3 __ovld __cnfn radians(half3 degrees);
11269half4 __ovld __cnfn radians(half4 degrees);
11270half8 __ovld __cnfn radians(half8 degrees);
11271half16 __ovld __cnfn radians(half16 degrees);
11272#endif //cl_khr_fp16
11273
11274/**
11275 * Returns 0.0 if x < edge, otherwise it returns 1.0.
11276 */
11277float __ovld __cnfn step(float edge, float x);
11278float2 __ovld __cnfn step(float2 edge, float2 x);
11279float3 __ovld __cnfn step(float3 edge, float3 x);
11280float4 __ovld __cnfn step(float4 edge, float4 x);
11281float8 __ovld __cnfn step(float8 edge, float8 x);
11282float16 __ovld __cnfn step(float16 edge, float16 x);
11283float2 __ovld __cnfn step(float edge, float2 x);
11284float3 __ovld __cnfn step(float edge, float3 x);
11285float4 __ovld __cnfn step(float edge, float4 x);
11286float8 __ovld __cnfn step(float edge, float8 x);
11287float16 __ovld __cnfn step(float edge, float16 x);
11288#ifdef cl_khr_fp64
11289double __ovld __cnfn step(double edge, double x);
11290double2 __ovld __cnfn step(double2 edge, double2 x);
11291double3 __ovld __cnfn step(double3 edge, double3 x);
11292double4 __ovld __cnfn step(double4 edge, double4 x);
11293double8 __ovld __cnfn step(double8 edge, double8 x);
11294double16 __ovld __cnfn step(double16 edge, double16 x);
11295double2 __ovld __cnfn step(double edge, double2 x);
11296double3 __ovld __cnfn step(double edge, double3 x);
11297double4 __ovld __cnfn step(double edge, double4 x);
11298double8 __ovld __cnfn step(double edge, double8 x);
11299double16 __ovld __cnfn step(double edge, double16 x);
11300#endif //cl_khr_fp64
11301#ifdef cl_khr_fp16
11302half __ovld __cnfn step(half edge, half x);
11303half2 __ovld __cnfn step(half2 edge, half2 x);
11304half3 __ovld __cnfn step(half3 edge, half3 x);
11305half4 __ovld __cnfn step(half4 edge, half4 x);
11306half8 __ovld __cnfn step(half8 edge, half8 x);
11307half16 __ovld __cnfn step(half16 edge, half16 x);
11308half __ovld __cnfn step(half edge, half x);
11309half2 __ovld __cnfn step(half edge, half2 x);
11310half3 __ovld __cnfn step(half edge, half3 x);
11311half4 __ovld __cnfn step(half edge, half4 x);
11312half8 __ovld __cnfn step(half edge, half8 x);
11313half16 __ovld __cnfn step(half edge, half16 x);
11314#endif //cl_khr_fp16
11315
11316/**
11317 * Returns 0.0 if x <= edge0 and 1.0 if x >= edge1 and
11318 * performs smooth Hermite interpolation between 0
11319 * and 1when edge0 < x < edge1. This is useful in
11320 * cases where you would want a threshold function
11321 * with a smooth transition.
11322 * This is equivalent to:
11323 * gentype t;
11324 * t = clamp ((x - edge0) / (edge1 - edge0), 0, 1);
11325 * return t * t * (3 - 2 * t);
11326 * Results are undefined if edge0 >= edge1 or if x,
11327 * edge0 or edge1 is a NaN.
11328 */
11329float __ovld __cnfn smoothstep(float edge0, float edge1, float x);
11330float2 __ovld __cnfn smoothstep(float2 edge0, float2 edge1, float2 x);
11331float3 __ovld __cnfn smoothstep(float3 edge0, float3 edge1, float3 x);
11332float4 __ovld __cnfn smoothstep(float4 edge0, float4 edge1, float4 x);
11333float8 __ovld __cnfn smoothstep(float8 edge0, float8 edge1, float8 x);
11334float16 __ovld __cnfn smoothstep(float16 edge0, float16 edge1, float16 x);
11335float2 __ovld __cnfn smoothstep(float edge0, float edge1, float2 x);
11336float3 __ovld __cnfn smoothstep(float edge0, float edge1, float3 x);
11337float4 __ovld __cnfn smoothstep(float edge0, float edge1, float4 x);
11338float8 __ovld __cnfn smoothstep(float edge0, float edge1, float8 x);
11339float16 __ovld __cnfn smoothstep(float edge0, float edge1, float16 x);
11340#ifdef cl_khr_fp64
11341double __ovld __cnfn smoothstep(double edge0, double edge1, double x);
11342double2 __ovld __cnfn smoothstep(double2 edge0, double2 edge1, double2 x);
11343double3 __ovld __cnfn smoothstep(double3 edge0, double3 edge1, double3 x);
11344double4 __ovld __cnfn smoothstep(double4 edge0, double4 edge1, double4 x);
11345double8 __ovld __cnfn smoothstep(double8 edge0, double8 edge1, double8 x);
11346double16 __ovld __cnfn smoothstep(double16 edge0, double16 edge1, double16 x);
11347double2 __ovld __cnfn smoothstep(double edge0, double edge1, double2 x);
11348double3 __ovld __cnfn smoothstep(double edge0, double edge1, double3 x);
11349double4 __ovld __cnfn smoothstep(double edge0, double edge1, double4 x);
11350double8 __ovld __cnfn smoothstep(double edge0, double edge1, double8 x);
11351double16 __ovld __cnfn smoothstep(double edge0, double edge1, double16 x);
11352#endif //cl_khr_fp64
11353#ifdef cl_khr_fp16
11354half __ovld __cnfn smoothstep(half edge0, half edge1, half x);
11355half2 __ovld __cnfn smoothstep(half2 edge0, half2 edge1, half2 x);
11356half3 __ovld __cnfn smoothstep(half3 edge0, half3 edge1, half3 x);
11357half4 __ovld __cnfn smoothstep(half4 edge0, half4 edge1, half4 x);
11358half8 __ovld __cnfn smoothstep(half8 edge0, half8 edge1, half8 x);
11359half16 __ovld __cnfn smoothstep(half16 edge0, half16 edge1, half16 x);
11360half __ovld __cnfn smoothstep(half edge0, half edge1, half x);
11361half2 __ovld __cnfn smoothstep(half edge0, half edge1, half2 x);
11362half3 __ovld __cnfn smoothstep(half edge0, half edge1, half3 x);
11363half4 __ovld __cnfn smoothstep(half edge0, half edge1, half4 x);
11364half8 __ovld __cnfn smoothstep(half edge0, half edge1, half8 x);
11365half16 __ovld __cnfn smoothstep(half edge0, half edge1, half16 x);
11366#endif //cl_khr_fp16
11367
11368/**
11369 * Returns 1.0 if x > 0, -0.0 if x = -0.0, +0.0 if x =
11370 * +0.0, or -1.0 if x < 0. Returns 0.0 if x is a NaN.
11371 */
11372float __ovld __cnfn sign(float x);
11373float2 __ovld __cnfn sign(float2 x);
11374float3 __ovld __cnfn sign(float3 x);
11375float4 __ovld __cnfn sign(float4 x);
11376float8 __ovld __cnfn sign(float8 x);
11377float16 __ovld __cnfn sign(float16 x);
11378#ifdef cl_khr_fp64
11379double __ovld __cnfn sign(double x);
11380double2 __ovld __cnfn sign(double2 x);
11381double3 __ovld __cnfn sign(double3 x);
11382double4 __ovld __cnfn sign(double4 x);
11383double8 __ovld __cnfn sign(double8 x);
11384double16 __ovld __cnfn sign(double16 x);
11385#endif //cl_khr_fp64
11386#ifdef cl_khr_fp16
11387half __ovld __cnfn sign(half x);
11388half2 __ovld __cnfn sign(half2 x);
11389half3 __ovld __cnfn sign(half3 x);
11390half4 __ovld __cnfn sign(half4 x);
11391half8 __ovld __cnfn sign(half8 x);
11392half16 __ovld __cnfn sign(half16 x);
11393#endif //cl_khr_fp16
11394
11395// OpenCL v1.1 s6.11.5, v1.2 s6.12.5, v2.0 s6.13.5 - Geometric Functions
11396
11397/**
11398 * Returns the cross product of p0.xyz and p1.xyz. The
11399 * w component of float4 result returned will be 0.0.
11400 */
11401float4 __ovld __cnfn cross(float4 p0, float4 p1);
11402float3 __ovld __cnfn cross(float3 p0, float3 p1);
11403#ifdef cl_khr_fp64
11404double4 __ovld __cnfn cross(double4 p0, double4 p1);
11405double3 __ovld __cnfn cross(double3 p0, double3 p1);
11406#endif //cl_khr_fp64
11407#ifdef cl_khr_fp16
11408half4 __ovld __cnfn cross(half4 p0, half4 p1);
11409half3 __ovld __cnfn cross(half3 p0, half3 p1);
11410#endif //cl_khr_fp16
11411
11412/**
11413 * Compute dot product.
11414 */
11415float __ovld __cnfn dot(float p0, float p1);
11416float __ovld __cnfn dot(float2 p0, float2 p1);
11417float __ovld __cnfn dot(float3 p0, float3 p1);
11418float __ovld __cnfn dot(float4 p0, float4 p1);
11419#ifdef cl_khr_fp64
11420double __ovld __cnfn dot(double p0, double p1);
11421double __ovld __cnfn dot(double2 p0, double2 p1);
11422double __ovld __cnfn dot(double3 p0, double3 p1);
11423double __ovld __cnfn dot(double4 p0, double4 p1);
11424#endif //cl_khr_fp64
11425#ifdef cl_khr_fp16
11426half __ovld __cnfn dot(half p0, half p1);
11427half __ovld __cnfn dot(half2 p0, half2 p1);
11428half __ovld __cnfn dot(half3 p0, half3 p1);
11429half __ovld __cnfn dot(half4 p0, half4 p1);
11430#endif //cl_khr_fp16
11431
11432/**
11433 * Returns the distance between p0 and p1. This is
11434 * calculated as length(p0 - p1).
11435 */
11436float __ovld __cnfn distance(float p0, float p1);
11437float __ovld __cnfn distance(float2 p0, float2 p1);
11438float __ovld __cnfn distance(float3 p0, float3 p1);
11439float __ovld __cnfn distance(float4 p0, float4 p1);
11440#ifdef cl_khr_fp64
11441double __ovld __cnfn distance(double p0, double p1);
11442double __ovld __cnfn distance(double2 p0, double2 p1);
11443double __ovld __cnfn distance(double3 p0, double3 p1);
11444double __ovld __cnfn distance(double4 p0, double4 p1);
11445#endif //cl_khr_fp64
11446#ifdef cl_khr_fp16
11447half __ovld __cnfn distance(half p0, half p1);
11448half __ovld __cnfn distance(half2 p0, half2 p1);
11449half __ovld __cnfn distance(half3 p0, half3 p1);
11450half __ovld __cnfn distance(half4 p0, half4 p1);
11451#endif //cl_khr_fp16
11452
11453/**
11454 * Return the length of vector p, i.e.,
11455 * sqrt(p.x2 + p.y 2 + ...)
11456 */
11457float __ovld __cnfn length(float p);
11458float __ovld __cnfn length(float2 p);
11459float __ovld __cnfn length(float3 p);
11460float __ovld __cnfn length(float4 p);
11461#ifdef cl_khr_fp64
11462double __ovld __cnfn length(double p);
11463double __ovld __cnfn length(double2 p);
11464double __ovld __cnfn length(double3 p);
11465double __ovld __cnfn length(double4 p);
11466#endif //cl_khr_fp64
11467#ifdef cl_khr_fp16
11468half __ovld __cnfn length(half p);
11469half __ovld __cnfn length(half2 p);
11470half __ovld __cnfn length(half3 p);
11471half __ovld __cnfn length(half4 p);
11472#endif //cl_khr_fp16
11473
11474/**
11475 * Returns a vector in the same direction as p but with a
11476 * length of 1.
11477 */
11478float __ovld __cnfn normalize(float p);
11479float2 __ovld __cnfn normalize(float2 p);
11480float3 __ovld __cnfn normalize(float3 p);
11481float4 __ovld __cnfn normalize(float4 p);
11482#ifdef cl_khr_fp64
11483double __ovld __cnfn normalize(double p);
11484double2 __ovld __cnfn normalize(double2 p);
11485double3 __ovld __cnfn normalize(double3 p);
11486double4 __ovld __cnfn normalize(double4 p);
11487#endif //cl_khr_fp64
11488#ifdef cl_khr_fp16
11489half __ovld __cnfn normalize(half p);
11490half2 __ovld __cnfn normalize(half2 p);
11491half3 __ovld __cnfn normalize(half3 p);
11492half4 __ovld __cnfn normalize(half4 p);
11493#endif //cl_khr_fp16
11494
11495/**
11496 * Returns fast_length(p0 - p1).
11497 */
11498float __ovld __cnfn fast_distance(float p0, float p1);
11499float __ovld __cnfn fast_distance(float2 p0, float2 p1);
11500float __ovld __cnfn fast_distance(float3 p0, float3 p1);
11501float __ovld __cnfn fast_distance(float4 p0, float4 p1);
11502#ifdef cl_khr_fp16
11503half __ovld __cnfn fast_distance(half p0, half p1);
11504half __ovld __cnfn fast_distance(half2 p0, half2 p1);
11505half __ovld __cnfn fast_distance(half3 p0, half3 p1);
11506half __ovld __cnfn fast_distance(half4 p0, half4 p1);
11507#endif //cl_khr_fp16
11508
11509/**
11510 * Returns the length of vector p computed as:
11511 * half_sqrt(p.x2 + p.y2 + ...)
11512 */
11513float __ovld __cnfn fast_length(float p);
11514float __ovld __cnfn fast_length(float2 p);
11515float __ovld __cnfn fast_length(float3 p);
11516float __ovld __cnfn fast_length(float4 p);
11517#ifdef cl_khr_fp16
11518half __ovld __cnfn fast_length(half p);
11519half __ovld __cnfn fast_length(half2 p);
11520half __ovld __cnfn fast_length(half3 p);
11521half __ovld __cnfn fast_length(half4 p);
11522#endif //cl_khr_fp16
11523
11524/**
11525 * Returns a vector in the same direction as p but with a
11526 * length of 1. fast_normalize is computed as:
11527 * p * half_rsqrt (p.x^2 + p.y^2 + ... )
11528 * The result shall be within 8192 ulps error from the
11529 * infinitely precise result of
11530 * if (all(p == 0.0f))
11531 * result = p;
11532 * else
11533 * result = p / sqrt (p.x^2 + p.y^2 + ...);
11534 * with the following exceptions:
11535 * 1) If the sum of squares is greater than FLT_MAX
11536 * then the value of the floating-point values in the
11537 * result vector are undefined.
11538 * 2) If the sum of squares is less than FLT_MIN then
11539 * the implementation may return back p.
11540 * 3) If the device is in "denorms are flushed to zero"
11541 * mode, individual operand elements with magnitude
11542 * less than sqrt(FLT_MIN) may be flushed to zero
11543 * before proceeding with the calculation.
11544 */
11545float __ovld __cnfn fast_normalize(float p);
11546float2 __ovld __cnfn fast_normalize(float2 p);
11547float3 __ovld __cnfn fast_normalize(float3 p);
11548float4 __ovld __cnfn fast_normalize(float4 p);
11549#ifdef cl_khr_fp16
11550half __ovld __cnfn fast_normalize(half p);
11551half2 __ovld __cnfn fast_normalize(half2 p);
11552half3 __ovld __cnfn fast_normalize(half3 p);
11553half4 __ovld __cnfn fast_normalize(half4 p);
11554#endif //cl_khr_fp16
11555
11556// OpenCL v1.1 s6.11.6, v1.2 s6.12.6, v2.0 s6.13.6 - Relational Functions
11557
11558/**
11559 * intn isequal (floatn x, floatn y)
11560 * Returns the component-wise compare of x == y.
11561 */
11562int __ovld __cnfn isequal(float x, float y);
11563int2 __ovld __cnfn isequal(float2 x, float2 y);
11564int3 __ovld __cnfn isequal(float3 x, float3 y);
11565int4 __ovld __cnfn isequal(float4 x, float4 y);
11566int8 __ovld __cnfn isequal(float8 x, float8 y);
11567int16 __ovld __cnfn isequal(float16 x, float16 y);
11568#ifdef cl_khr_fp64
11569int __ovld __cnfn isequal(double x, double y);
11570long2 __ovld __cnfn isequal(double2 x, double2 y);
11571long3 __ovld __cnfn isequal(double3 x, double3 y);
11572long4 __ovld __cnfn isequal(double4 x, double4 y);
11573long8 __ovld __cnfn isequal(double8 x, double8 y);
11574long16 __ovld __cnfn isequal(double16 x, double16 y);
11575#endif //cl_khr_fp64
11576#ifdef cl_khr_fp16
11577int __ovld __cnfn isequal(half x, half y);
11578short2 __ovld __cnfn isequal(half2 x, half2 y);
11579short3 __ovld __cnfn isequal(half3 x, half3 y);
11580short4 __ovld __cnfn isequal(half4 x, half4 y);
11581short8 __ovld __cnfn isequal(half8 x, half8 y);
11582short16 __ovld __cnfn isequal(half16 x, half16 y);
11583#endif //cl_khr_fp16
11584
11585/**
11586 * Returns the component-wise compare of x != y.
11587 */
11588int __ovld __cnfn isnotequal(float x, float y);
11589int2 __ovld __cnfn isnotequal(float2 x, float2 y);
11590int3 __ovld __cnfn isnotequal(float3 x, float3 y);
11591int4 __ovld __cnfn isnotequal(float4 x, float4 y);
11592int8 __ovld __cnfn isnotequal(float8 x, float8 y);
11593int16 __ovld __cnfn isnotequal(float16 x, float16 y);
11594#ifdef cl_khr_fp64
11595int __ovld __cnfn isnotequal(double x, double y);
11596long2 __ovld __cnfn isnotequal(double2 x, double2 y);
11597long3 __ovld __cnfn isnotequal(double3 x, double3 y);
11598long4 __ovld __cnfn isnotequal(double4 x, double4 y);
11599long8 __ovld __cnfn isnotequal(double8 x, double8 y);
11600long16 __ovld __cnfn isnotequal(double16 x, double16 y);
11601#endif //cl_khr_fp64
11602#ifdef cl_khr_fp16
11603int __ovld __cnfn isnotequal(half x, half y);
11604short2 __ovld __cnfn isnotequal(half2 x, half2 y);
11605short3 __ovld __cnfn isnotequal(half3 x, half3 y);
11606short4 __ovld __cnfn isnotequal(half4 x, half4 y);
11607short8 __ovld __cnfn isnotequal(half8 x, half8 y);
11608short16 __ovld __cnfn isnotequal(half16 x, half16 y);
11609#endif //cl_khr_fp16
11610
11611/**
11612 * Returns the component-wise compare of x > y.
11613 */
11614int __ovld __cnfn isgreater(float x, float y);
11615int2 __ovld __cnfn isgreater(float2 x, float2 y);
11616int3 __ovld __cnfn isgreater(float3 x, float3 y);
11617int4 __ovld __cnfn isgreater(float4 x, float4 y);
11618int8 __ovld __cnfn isgreater(float8 x, float8 y);
11619int16 __ovld __cnfn isgreater(float16 x, float16 y);
11620#ifdef cl_khr_fp64
11621int __ovld __cnfn isgreater(double x, double y);
11622long2 __ovld __cnfn isgreater(double2 x, double2 y);
11623long3 __ovld __cnfn isgreater(double3 x, double3 y);
11624long4 __ovld __cnfn isgreater(double4 x, double4 y);
11625long8 __ovld __cnfn isgreater(double8 x, double8 y);
11626long16 __ovld __cnfn isgreater(double16 x, double16 y);
11627#endif //cl_khr_fp64
11628#ifdef cl_khr_fp16
11629int __ovld __cnfn isgreater(half x, half y);
11630short2 __ovld __cnfn isgreater(half2 x, half2 y);
11631short3 __ovld __cnfn isgreater(half3 x, half3 y);
11632short4 __ovld __cnfn isgreater(half4 x, half4 y);
11633short8 __ovld __cnfn isgreater(half8 x, half8 y);
11634short16 __ovld __cnfn isgreater(half16 x, half16 y);
11635#endif //cl_khr_fp16
11636
11637/**
11638 * Returns the component-wise compare of x >= y.
11639 */
11640int __ovld __cnfn isgreaterequal(float x, float y);
11641int2 __ovld __cnfn isgreaterequal(float2 x, float2 y);
11642int3 __ovld __cnfn isgreaterequal(float3 x, float3 y);
11643int4 __ovld __cnfn isgreaterequal(float4 x, float4 y);
11644int8 __ovld __cnfn isgreaterequal(float8 x, float8 y);
11645int16 __ovld __cnfn isgreaterequal(float16 x, float16 y);
11646#ifdef cl_khr_fp64
11647int __ovld __cnfn isgreaterequal(double x, double y);
11648long2 __ovld __cnfn isgreaterequal(double2 x, double2 y);
11649long3 __ovld __cnfn isgreaterequal(double3 x, double3 y);
11650long4 __ovld __cnfn isgreaterequal(double4 x, double4 y);
11651long8 __ovld __cnfn isgreaterequal(double8 x, double8 y);
11652long16 __ovld __cnfn isgreaterequal(double16 x, double16 y);
11653#endif //cl_khr_fp64
11654#ifdef cl_khr_fp16
11655int __ovld __cnfn isgreaterequal(half x, half y);
11656short2 __ovld __cnfn isgreaterequal(half2 x, half2 y);
11657short3 __ovld __cnfn isgreaterequal(half3 x, half3 y);
11658short4 __ovld __cnfn isgreaterequal(half4 x, half4 y);
11659short8 __ovld __cnfn isgreaterequal(half8 x, half8 y);
11660short16 __ovld __cnfn isgreaterequal(half16 x, half16 y);
11661#endif //cl_khr_fp16
11662
11663/**
11664 * Returns the component-wise compare of x < y.
11665 */
11666int __ovld __cnfn isless(float x, float y);
11667int2 __ovld __cnfn isless(float2 x, float2 y);
11668int3 __ovld __cnfn isless(float3 x, float3 y);
11669int4 __ovld __cnfn isless(float4 x, float4 y);
11670int8 __ovld __cnfn isless(float8 x, float8 y);
11671int16 __ovld __cnfn isless(float16 x, float16 y);
11672#ifdef cl_khr_fp64
11673int __ovld __cnfn isless(double x, double y);
11674long2 __ovld __cnfn isless(double2 x, double2 y);
11675long3 __ovld __cnfn isless(double3 x, double3 y);
11676long4 __ovld __cnfn isless(double4 x, double4 y);
11677long8 __ovld __cnfn isless(double8 x, double8 y);
11678long16 __ovld __cnfn isless(double16 x, double16 y);
11679#endif //cl_khr_fp64
11680#ifdef cl_khr_fp16
11681int __ovld __cnfn isless(half x, half y);
11682short2 __ovld __cnfn isless(half2 x, half2 y);
11683short3 __ovld __cnfn isless(half3 x, half3 y);
11684short4 __ovld __cnfn isless(half4 x, half4 y);
11685short8 __ovld __cnfn isless(half8 x, half8 y);
11686short16 __ovld __cnfn isless(half16 x, half16 y);
11687#endif //cl_khr_fp16
11688
11689/**
11690 * Returns the component-wise compare of x <= y.
11691 */
11692int __ovld __cnfn islessequal(float x, float y);
11693int2 __ovld __cnfn islessequal(float2 x, float2 y);
11694int3 __ovld __cnfn islessequal(float3 x, float3 y);
11695int4 __ovld __cnfn islessequal(float4 x, float4 y);
11696int8 __ovld __cnfn islessequal(float8 x, float8 y);
11697int16 __ovld __cnfn islessequal(float16 x, float16 y);
11698#ifdef cl_khr_fp64
11699int __ovld __cnfn islessequal(double x, double y);
11700long2 __ovld __cnfn islessequal(double2 x, double2 y);
11701long3 __ovld __cnfn islessequal(double3 x, double3 y);
11702long4 __ovld __cnfn islessequal(double4 x, double4 y);
11703long8 __ovld __cnfn islessequal(double8 x, double8 y);
11704long16 __ovld __cnfn islessequal(double16 x, double16 y);
11705#endif //cl_khr_fp64
11706#ifdef cl_khr_fp16
11707int __ovld __cnfn islessequal(half x, half y);
11708short2 __ovld __cnfn islessequal(half2 x, half2 y);
11709short3 __ovld __cnfn islessequal(half3 x, half3 y);
11710short4 __ovld __cnfn islessequal(half4 x, half4 y);
11711short8 __ovld __cnfn islessequal(half8 x, half8 y);
11712short16 __ovld __cnfn islessequal(half16 x, half16 y);
11713#endif //cl_khr_fp16
11714
11715/**
11716 * Returns the component-wise compare of
11717 * (x < y) || (x > y) .
11718 */
11719int __ovld __cnfn islessgreater(float x, float y);
11720int2 __ovld __cnfn islessgreater(float2 x, float2 y);
11721int3 __ovld __cnfn islessgreater(float3 x, float3 y);
11722int4 __ovld __cnfn islessgreater(float4 x, float4 y);
11723int8 __ovld __cnfn islessgreater(float8 x, float8 y);
11724int16 __ovld __cnfn islessgreater(float16 x, float16 y);
11725#ifdef cl_khr_fp64
11726int __ovld __cnfn islessgreater(double x, double y);
11727long2 __ovld __cnfn islessgreater(double2 x, double2 y);
11728long3 __ovld __cnfn islessgreater(double3 x, double3 y);
11729long4 __ovld __cnfn islessgreater(double4 x, double4 y);
11730long8 __ovld __cnfn islessgreater(double8 x, double8 y);
11731long16 __ovld __cnfn islessgreater(double16 x, double16 y);
11732#endif //cl_khr_fp64
11733#ifdef cl_khr_fp16
11734int __ovld __cnfn islessgreater(half x, half y);
11735short2 __ovld __cnfn islessgreater(half2 x, half2 y);
11736short3 __ovld __cnfn islessgreater(half3 x, half3 y);
11737short4 __ovld __cnfn islessgreater(half4 x, half4 y);
11738short8 __ovld __cnfn islessgreater(half8 x, half8 y);
11739short16 __ovld __cnfn islessgreater(half16 x, half16 y);
11740#endif //cl_khr_fp16
11741
11742/**
11743 * Test for finite value.
11744 */
11745int __ovld __cnfn isfinite(float);
11746int2 __ovld __cnfn isfinite(float2);
11747int3 __ovld __cnfn isfinite(float3);
11748int4 __ovld __cnfn isfinite(float4);
11749int8 __ovld __cnfn isfinite(float8);
11750int16 __ovld __cnfn isfinite(float16);
11751#ifdef cl_khr_fp64
11752int __ovld __cnfn isfinite(double);
11753long2 __ovld __cnfn isfinite(double2);
11754long3 __ovld __cnfn isfinite(double3);
11755long4 __ovld __cnfn isfinite(double4);
11756long8 __ovld __cnfn isfinite(double8);
11757long16 __ovld __cnfn isfinite(double16);
11758#endif //cl_khr_fp64
11759#ifdef cl_khr_fp16
11760int __ovld __cnfn isfinite(half);
11761short2 __ovld __cnfn isfinite(half2);
11762short3 __ovld __cnfn isfinite(half3);
11763short4 __ovld __cnfn isfinite(half4);
11764short8 __ovld __cnfn isfinite(half8);
11765short16 __ovld __cnfn isfinite(half16);
11766#endif //cl_khr_fp16
11767
11768/**
11769 * Test for infinity value (+ve or -ve) .
11770 */
11771int __ovld __cnfn isinf(float);
11772int2 __ovld __cnfn isinf(float2);
11773int3 __ovld __cnfn isinf(float3);
11774int4 __ovld __cnfn isinf(float4);
11775int8 __ovld __cnfn isinf(float8);
11776int16 __ovld __cnfn isinf(float16);
11777#ifdef cl_khr_fp64
11778int __ovld __cnfn isinf(double);
11779long2 __ovld __cnfn isinf(double2);
11780long3 __ovld __cnfn isinf(double3);
11781long4 __ovld __cnfn isinf(double4);
11782long8 __ovld __cnfn isinf(double8);
11783long16 __ovld __cnfn isinf(double16);
11784#endif //cl_khr_fp64
11785#ifdef cl_khr_fp16
11786int __ovld __cnfn isinf(half);
11787short2 __ovld __cnfn isinf(half2);
11788short3 __ovld __cnfn isinf(half3);
11789short4 __ovld __cnfn isinf(half4);
11790short8 __ovld __cnfn isinf(half8);
11791short16 __ovld __cnfn isinf(half16);
11792#endif //cl_khr_fp16
11793
11794/**
11795 * Test for a NaN.
11796 */
11797int __ovld __cnfn isnan(float);
11798int2 __ovld __cnfn isnan(float2);
11799int3 __ovld __cnfn isnan(float3);
11800int4 __ovld __cnfn isnan(float4);
11801int8 __ovld __cnfn isnan(float8);
11802int16 __ovld __cnfn isnan(float16);
11803#ifdef cl_khr_fp64
11804int __ovld __cnfn isnan(double);
11805long2 __ovld __cnfn isnan(double2);
11806long3 __ovld __cnfn isnan(double3);
11807long4 __ovld __cnfn isnan(double4);
11808long8 __ovld __cnfn isnan(double8);
11809long16 __ovld __cnfn isnan(double16);
11810#endif //cl_khr_fp64
11811#ifdef cl_khr_fp16
11812int __ovld __cnfn isnan(half);
11813short2 __ovld __cnfn isnan(half2);
11814short3 __ovld __cnfn isnan(half3);
11815short4 __ovld __cnfn isnan(half4);
11816short8 __ovld __cnfn isnan(half8);
11817short16 __ovld __cnfn isnan(half16);
11818#endif //cl_khr_fp16
11819
11820/**
11821 * Test for a normal value.
11822 */
11823int __ovld __cnfn isnormal(float);
11824int2 __ovld __cnfn isnormal(float2);
11825int3 __ovld __cnfn isnormal(float3);
11826int4 __ovld __cnfn isnormal(float4);
11827int8 __ovld __cnfn isnormal(float8);
11828int16 __ovld __cnfn isnormal(float16);
11829#ifdef cl_khr_fp64
11830int __ovld __cnfn isnormal(double);
11831long2 __ovld __cnfn isnormal(double2);
11832long3 __ovld __cnfn isnormal(double3);
11833long4 __ovld __cnfn isnormal(double4);
11834long8 __ovld __cnfn isnormal(double8);
11835long16 __ovld __cnfn isnormal(double16);
11836#endif //cl_khr_fp64
11837#ifdef cl_khr_fp16
11838int __ovld __cnfn isnormal(half);
11839short2 __ovld __cnfn isnormal(half2);
11840short3 __ovld __cnfn isnormal(half3);
11841short4 __ovld __cnfn isnormal(half4);
11842short8 __ovld __cnfn isnormal(half8);
11843short16 __ovld __cnfn isnormal(half16);
11844#endif //cl_khr_fp16
11845
11846/**
11847 * Test if arguments are ordered. isordered() takes
11848 * arguments x and y, and returns the result
11849 * isequal(x, x) && isequal(y, y).
11850 */
11851int __ovld __cnfn isordered(float x, float y);
11852int2 __ovld __cnfn isordered(float2 x, float2 y);
11853int3 __ovld __cnfn isordered(float3 x, float3 y);
11854int4 __ovld __cnfn isordered(float4 x, float4 y);
11855int8 __ovld __cnfn isordered(float8 x, float8 y);
11856int16 __ovld __cnfn isordered(float16 x, float16 y);
11857#ifdef cl_khr_fp64
11858int __ovld __cnfn isordered(double x, double y);
11859long2 __ovld __cnfn isordered(double2 x, double2 y);
11860long3 __ovld __cnfn isordered(double3 x, double3 y);
11861long4 __ovld __cnfn isordered(double4 x, double4 y);
11862long8 __ovld __cnfn isordered(double8 x, double8 y);
11863long16 __ovld __cnfn isordered(double16 x, double16 y);
11864#endif //cl_khr_fp64
11865#ifdef cl_khr_fp16
11866int __ovld __cnfn isordered(half x, half y);
11867short2 __ovld __cnfn isordered(half2 x, half2 y);
11868short3 __ovld __cnfn isordered(half3 x, half3 y);
11869short4 __ovld __cnfn isordered(half4 x, half4 y);
11870short8 __ovld __cnfn isordered(half8 x, half8 y);
11871short16 __ovld __cnfn isordered(half16 x, half16 y);
11872#endif //cl_khr_fp16
11873
11874/**
11875 * Test if arguments are unordered. isunordered()
11876 * takes arguments x and y, returning non-zero if x or y
11877 * is NaN, and zero otherwise.
11878 */
11879int __ovld __cnfn isunordered(float x, float y);
11880int2 __ovld __cnfn isunordered(float2 x, float2 y);
11881int3 __ovld __cnfn isunordered(float3 x, float3 y);
11882int4 __ovld __cnfn isunordered(float4 x, float4 y);
11883int8 __ovld __cnfn isunordered(float8 x, float8 y);
11884int16 __ovld __cnfn isunordered(float16 x, float16 y);
11885#ifdef cl_khr_fp64
11886int __ovld __cnfn isunordered(double x, double y);
11887long2 __ovld __cnfn isunordered(double2 x, double2 y);
11888long3 __ovld __cnfn isunordered(double3 x, double3 y);
11889long4 __ovld __cnfn isunordered(double4 x, double4 y);
11890long8 __ovld __cnfn isunordered(double8 x, double8 y);
11891long16 __ovld __cnfn isunordered(double16 x, double16 y);
11892#endif //cl_khr_fp64
11893#ifdef cl_khr_fp16
11894int __ovld __cnfn isunordered(half x, half y);
11895short2 __ovld __cnfn isunordered(half2 x, half2 y);
11896short3 __ovld __cnfn isunordered(half3 x, half3 y);
11897short4 __ovld __cnfn isunordered(half4 x, half4 y);
11898short8 __ovld __cnfn isunordered(half8 x, half8 y);
11899short16 __ovld __cnfn isunordered(half16 x, half16 y);
11900#endif //cl_khr_fp16
11901
11902/**
11903 * Test for sign bit. The scalar version of the function
11904 * returns a 1 if the sign bit in the float is set else returns
11905 * 0. The vector version of the function returns the
11906 * following for each component in floatn: a -1 if the
11907 * sign bit in the float is set else returns 0.
11908 */
11909int __ovld __cnfn signbit(float);
11910int2 __ovld __cnfn signbit(float2);
11911int3 __ovld __cnfn signbit(float3);
11912int4 __ovld __cnfn signbit(float4);
11913int8 __ovld __cnfn signbit(float8);
11914int16 __ovld __cnfn signbit(float16);
11915#ifdef cl_khr_fp64
11916int __ovld __cnfn signbit(double);
11917long2 __ovld __cnfn signbit(double2);
11918long3 __ovld __cnfn signbit(double3);
11919long4 __ovld __cnfn signbit(double4);
11920long8 __ovld __cnfn signbit(double8);
11921long16 __ovld __cnfn signbit(double16);
11922#endif //cl_khr_fp64
11923#ifdef cl_khr_fp16
11924int __ovld __cnfn signbit(half);
11925short2 __ovld __cnfn signbit(half2);
11926short3 __ovld __cnfn signbit(half3);
11927short4 __ovld __cnfn signbit(half4);
11928short8 __ovld __cnfn signbit(half8);
11929short16 __ovld __cnfn signbit(half16);
11930#endif //cl_khr_fp16
11931
11932/**
11933 * Returns 1 if the most significant bit in any component
11934 * of x is set; otherwise returns 0.
11935 */
11936int __ovld __cnfn any(char x);
11937int __ovld __cnfn any(char2 x);
11938int __ovld __cnfn any(char3 x);
11939int __ovld __cnfn any(char4 x);
11940int __ovld __cnfn any(char8 x);
11941int __ovld __cnfn any(char16 x);
11942int __ovld __cnfn any(short x);
11943int __ovld __cnfn any(short2 x);
11944int __ovld __cnfn any(short3 x);
11945int __ovld __cnfn any(short4 x);
11946int __ovld __cnfn any(short8 x);
11947int __ovld __cnfn any(short16 x);
11948int __ovld __cnfn any(int x);
11949int __ovld __cnfn any(int2 x);
11950int __ovld __cnfn any(int3 x);
11951int __ovld __cnfn any(int4 x);
11952int __ovld __cnfn any(int8 x);
11953int __ovld __cnfn any(int16 x);
11954int __ovld __cnfn any(long x);
11955int __ovld __cnfn any(long2 x);
11956int __ovld __cnfn any(long3 x);
11957int __ovld __cnfn any(long4 x);
11958int __ovld __cnfn any(long8 x);
11959int __ovld __cnfn any(long16 x);
11960
11961/**
11962 * Returns 1 if the most significant bit in all components
11963 * of x is set; otherwise returns 0.
11964 */
11965int __ovld __cnfn all(char x);
11966int __ovld __cnfn all(char2 x);
11967int __ovld __cnfn all(char3 x);
11968int __ovld __cnfn all(char4 x);
11969int __ovld __cnfn all(char8 x);
11970int __ovld __cnfn all(char16 x);
11971int __ovld __cnfn all(short x);
11972int __ovld __cnfn all(short2 x);
11973int __ovld __cnfn all(short3 x);
11974int __ovld __cnfn all(short4 x);
11975int __ovld __cnfn all(short8 x);
11976int __ovld __cnfn all(short16 x);
11977int __ovld __cnfn all(int x);
11978int __ovld __cnfn all(int2 x);
11979int __ovld __cnfn all(int3 x);
11980int __ovld __cnfn all(int4 x);
11981int __ovld __cnfn all(int8 x);
11982int __ovld __cnfn all(int16 x);
11983int __ovld __cnfn all(long x);
11984int __ovld __cnfn all(long2 x);
11985int __ovld __cnfn all(long3 x);
11986int __ovld __cnfn all(long4 x);
11987int __ovld __cnfn all(long8 x);
11988int __ovld __cnfn all(long16 x);
11989
11990/**
11991 * Each bit of the result is the corresponding bit of a if
11992 * the corresponding bit of c is 0. Otherwise it is the
11993 * corresponding bit of b.
11994 */
11995char __ovld __cnfn bitselect(char a, char b, char c);
11996uchar __ovld __cnfn bitselect(uchar a, uchar b, uchar c);
11997char2 __ovld __cnfn bitselect(char2 a, char2 b, char2 c);
11998uchar2 __ovld __cnfn bitselect(uchar2 a, uchar2 b, uchar2 c);
11999char3 __ovld __cnfn bitselect(char3 a, char3 b, char3 c);
12000uchar3 __ovld __cnfn bitselect(uchar3 a, uchar3 b, uchar3 c);
12001char4 __ovld __cnfn bitselect(char4 a, char4 b, char4 c);
12002uchar4 __ovld __cnfn bitselect(uchar4 a, uchar4 b, uchar4 c);
12003char8 __ovld __cnfn bitselect(char8 a, char8 b, char8 c);
12004uchar8 __ovld __cnfn bitselect(uchar8 a, uchar8 b, uchar8 c);
12005char16 __ovld __cnfn bitselect(char16 a, char16 b, char16 c);
12006uchar16 __ovld __cnfn bitselect(uchar16 a, uchar16 b, uchar16 c);
12007short __ovld __cnfn bitselect(short a, short b, short c);
12008ushort __ovld __cnfn bitselect(ushort a, ushort b, ushort c);
12009short2 __ovld __cnfn bitselect(short2 a, short2 b, short2 c);
12010ushort2 __ovld __cnfn bitselect(ushort2 a, ushort2 b, ushort2 c);
12011short3 __ovld __cnfn bitselect(short3 a, short3 b, short3 c);
12012ushort3 __ovld __cnfn bitselect(ushort3 a, ushort3 b, ushort3 c);
12013short4 __ovld __cnfn bitselect(short4 a, short4 b, short4 c);
12014ushort4 __ovld __cnfn bitselect(ushort4 a, ushort4 b, ushort4 c);
12015short8 __ovld __cnfn bitselect(short8 a, short8 b, short8 c);
12016ushort8 __ovld __cnfn bitselect(ushort8 a, ushort8 b, ushort8 c);
12017short16 __ovld __cnfn bitselect(short16 a, short16 b, short16 c);
12018ushort16 __ovld __cnfn bitselect(ushort16 a, ushort16 b, ushort16 c);
12019int __ovld __cnfn bitselect(int a, int b, int c);
12020uint __ovld __cnfn bitselect(uint a, uint b, uint c);
12021int2 __ovld __cnfn bitselect(int2 a, int2 b, int2 c);
12022uint2 __ovld __cnfn bitselect(uint2 a, uint2 b, uint2 c);
12023int3 __ovld __cnfn bitselect(int3 a, int3 b, int3 c);
12024uint3 __ovld __cnfn bitselect(uint3 a, uint3 b, uint3 c);
12025int4 __ovld __cnfn bitselect(int4 a, int4 b, int4 c);
12026uint4 __ovld __cnfn bitselect(uint4 a, uint4 b, uint4 c);
12027int8 __ovld __cnfn bitselect(int8 a, int8 b, int8 c);
12028uint8 __ovld __cnfn bitselect(uint8 a, uint8 b, uint8 c);
12029int16 __ovld __cnfn bitselect(int16 a, int16 b, int16 c);
12030uint16 __ovld __cnfn bitselect(uint16 a, uint16 b, uint16 c);
12031long __ovld __cnfn bitselect(long a, long b, long c);
12032ulong __ovld __cnfn bitselect(ulong a, ulong b, ulong c);
12033long2 __ovld __cnfn bitselect(long2 a, long2 b, long2 c);
12034ulong2 __ovld __cnfn bitselect(ulong2 a, ulong2 b, ulong2 c);
12035long3 __ovld __cnfn bitselect(long3 a, long3 b, long3 c);
12036ulong3 __ovld __cnfn bitselect(ulong3 a, ulong3 b, ulong3 c);
12037long4 __ovld __cnfn bitselect(long4 a, long4 b, long4 c);
12038ulong4 __ovld __cnfn bitselect(ulong4 a, ulong4 b, ulong4 c);
12039long8 __ovld __cnfn bitselect(long8 a, long8 b, long8 c);
12040ulong8 __ovld __cnfn bitselect(ulong8 a, ulong8 b, ulong8 c);
12041long16 __ovld __cnfn bitselect(long16 a, long16 b, long16 c);
12042ulong16 __ovld __cnfn bitselect(ulong16 a, ulong16 b, ulong16 c);
12043float __ovld __cnfn bitselect(float a, float b, float c);
12044float2 __ovld __cnfn bitselect(float2 a, float2 b, float2 c);
12045float3 __ovld __cnfn bitselect(float3 a, float3 b, float3 c);
12046float4 __ovld __cnfn bitselect(float4 a, float4 b, float4 c);
12047float8 __ovld __cnfn bitselect(float8 a, float8 b, float8 c);
12048float16 __ovld __cnfn bitselect(float16 a, float16 b, float16 c);
12049#ifdef cl_khr_fp64
12050double __ovld __cnfn bitselect(double a, double b, double c);
12051double2 __ovld __cnfn bitselect(double2 a, double2 b, double2 c);
12052double3 __ovld __cnfn bitselect(double3 a, double3 b, double3 c);
12053double4 __ovld __cnfn bitselect(double4 a, double4 b, double4 c);
12054double8 __ovld __cnfn bitselect(double8 a, double8 b, double8 c);
12055double16 __ovld __cnfn bitselect(double16 a, double16 b, double16 c);
12056#endif //cl_khr_fp64
12057#ifdef cl_khr_fp16
12058half __ovld __cnfn bitselect(half a, half b, half c);
12059half2 __ovld __cnfn bitselect(half2 a, half2 b, half2 c);
12060half3 __ovld __cnfn bitselect(half3 a, half3 b, half3 c);
12061half4 __ovld __cnfn bitselect(half4 a, half4 b, half4 c);
12062half8 __ovld __cnfn bitselect(half8 a, half8 b, half8 c);
12063half16 __ovld __cnfn bitselect(half16 a, half16 b, half16 c);
12064#endif //cl_khr_fp16
12065
12066/**
12067 * For each component of a vector type,
12068 * result[i] = if MSB of c[i] is set ? b[i] : a[i].
12069 * For a scalar type, result = c ? b : a.
12070 */
12071char __ovld __cnfn select(char a, char b, char c);
12072uchar __ovld __cnfn select(uchar a, uchar b, char c);
12073char2 __ovld __cnfn select(char2 a, char2 b, char2 c);
12074uchar2 __ovld __cnfn select(uchar2 a, uchar2 b, char2 c);
12075char3 __ovld __cnfn select(char3 a, char3 b, char3 c);
12076uchar3 __ovld __cnfn select(uchar3 a, uchar3 b, char3 c);
12077char4 __ovld __cnfn select(char4 a, char4 b, char4 c);
12078uchar4 __ovld __cnfn select(uchar4 a, uchar4 b, char4 c);
12079char8 __ovld __cnfn select(char8 a, char8 b, char8 c);
12080uchar8 __ovld __cnfn select(uchar8 a, uchar8 b, char8 c);
12081char16 __ovld __cnfn select(char16 a, char16 b, char16 c);
12082uchar16 __ovld __cnfn select(uchar16 a, uchar16 b, char16 c);
12083short __ovld __cnfn select(short a, short b, char c);
12084ushort __ovld __cnfn select(ushort a, ushort b, char c);
12085short2 __ovld __cnfn select(short2 a, short2 b, char2 c);
12086ushort2 __ovld __cnfn select(ushort2 a, ushort2 b, char2 c);
12087short3 __ovld __cnfn select(short3 a, short3 b, char3 c);
12088ushort3 __ovld __cnfn select(ushort3 a, ushort3 b, char3 c);
12089short4 __ovld __cnfn select(short4 a, short4 b, char4 c);
12090ushort4 __ovld __cnfn select(ushort4 a, ushort4 b, char4 c);
12091short8 __ovld __cnfn select(short8 a, short8 b, char8 c);
12092ushort8 __ovld __cnfn select(ushort8 a, ushort8 b, char8 c);
12093short16 __ovld __cnfn select(short16 a, short16 b, char16 c);
12094ushort16 __ovld __cnfn select(ushort16 a, ushort16 b, char16 c);
12095int __ovld __cnfn select(int a, int b, char c);
12096uint __ovld __cnfn select(uint a, uint b, char c);
12097int2 __ovld __cnfn select(int2 a, int2 b, char2 c);
12098uint2 __ovld __cnfn select(uint2 a, uint2 b, char2 c);
12099int3 __ovld __cnfn select(int3 a, int3 b, char3 c);
12100uint3 __ovld __cnfn select(uint3 a, uint3 b, char3 c);
12101int4 __ovld __cnfn select(int4 a, int4 b, char4 c);
12102uint4 __ovld __cnfn select(uint4 a, uint4 b, char4 c);
12103int8 __ovld __cnfn select(int8 a, int8 b, char8 c);
12104uint8 __ovld __cnfn select(uint8 a, uint8 b, char8 c);
12105int16 __ovld __cnfn select(int16 a, int16 b, char16 c);
12106uint16 __ovld __cnfn select(uint16 a, uint16 b, char16 c);
12107long __ovld __cnfn select(long a, long b, char c);
12108ulong __ovld __cnfn select(ulong a, ulong b, char c);
12109long2 __ovld __cnfn select(long2 a, long2 b, char2 c);
12110ulong2 __ovld __cnfn select(ulong2 a, ulong2 b, char2 c);
12111long3 __ovld __cnfn select(long3 a, long3 b, char3 c);
12112ulong3 __ovld __cnfn select(ulong3 a, ulong3 b, char3 c);
12113long4 __ovld __cnfn select(long4 a, long4 b, char4 c);
12114ulong4 __ovld __cnfn select(ulong4 a, ulong4 b, char4 c);
12115long8 __ovld __cnfn select(long8 a, long8 b, char8 c);
12116ulong8 __ovld __cnfn select(ulong8 a, ulong8 b, char8 c);
12117long16 __ovld __cnfn select(long16 a, long16 b, char16 c);
12118ulong16 __ovld __cnfn select(ulong16 a, ulong16 b, char16 c);
12119float __ovld __cnfn select(float a, float b, char c);
12120float2 __ovld __cnfn select(float2 a, float2 b, char2 c);
12121float3 __ovld __cnfn select(float3 a, float3 b, char3 c);
12122float4 __ovld __cnfn select(float4 a, float4 b, char4 c);
12123float8 __ovld __cnfn select(float8 a, float8 b, char8 c);
12124float16 __ovld __cnfn select(float16 a, float16 b, char16 c);
12125char __ovld __cnfn select(char a, char b, short c);
12126uchar __ovld __cnfn select(uchar a, uchar b, short c);
12127char2 __ovld __cnfn select(char2 a, char2 b, short2 c);
12128uchar2 __ovld __cnfn select(uchar2 a, uchar2 b, short2 c);
12129char3 __ovld __cnfn select(char3 a, char3 b, short3 c);
12130uchar3 __ovld __cnfn select(uchar3 a, uchar3 b, short3 c);
12131char4 __ovld __cnfn select(char4 a, char4 b, short4 c);
12132uchar4 __ovld __cnfn select(uchar4 a, uchar4 b, short4 c);
12133char8 __ovld __cnfn select(char8 a, char8 b, short8 c);
12134uchar8 __ovld __cnfn select(uchar8 a, uchar8 b, short8 c);
12135char16 __ovld __cnfn select(char16 a, char16 b, short16 c);
12136uchar16 __ovld __cnfn select(uchar16 a, uchar16 b, short16 c);
12137short __ovld __cnfn select(short a, short b, short c);
12138ushort __ovld __cnfn select(ushort a, ushort b, short c);
12139short2 __ovld __cnfn select(short2 a, short2 b, short2 c);
12140ushort2 __ovld __cnfn select(ushort2 a, ushort2 b, short2 c);
12141short3 __ovld __cnfn select(short3 a, short3 b, short3 c);
12142ushort3 __ovld __cnfn select(ushort3 a, ushort3 b, short3 c);
12143short4 __ovld __cnfn select(short4 a, short4 b, short4 c);
12144ushort4 __ovld __cnfn select(ushort4 a, ushort4 b, short4 c);
12145short8 __ovld __cnfn select(short8 a, short8 b, short8 c);
12146ushort8 __ovld __cnfn select(ushort8 a, ushort8 b, short8 c);
12147short16 __ovld __cnfn select(short16 a, short16 b, short16 c);
12148ushort16 __ovld __cnfn select(ushort16 a, ushort16 b, short16 c);
12149int __ovld __cnfn select(int a, int b, short c);
12150uint __ovld __cnfn select(uint a, uint b, short c);
12151int2 __ovld __cnfn select(int2 a, int2 b, short2 c);
12152uint2 __ovld __cnfn select(uint2 a, uint2 b, short2 c);
12153int3 __ovld __cnfn select(int3 a, int3 b, short3 c);
12154uint3 __ovld __cnfn select(uint3 a, uint3 b, short3 c);
12155int4 __ovld __cnfn select(int4 a, int4 b, short4 c);
12156uint4 __ovld __cnfn select(uint4 a, uint4 b, short4 c);
12157int8 __ovld __cnfn select(int8 a, int8 b, short8 c);
12158uint8 __ovld __cnfn select(uint8 a, uint8 b, short8 c);
12159int16 __ovld __cnfn select(int16 a, int16 b, short16 c);
12160uint16 __ovld __cnfn select(uint16 a, uint16 b, short16 c);
12161long __ovld __cnfn select(long a, long b, short c);
12162ulong __ovld __cnfn select(ulong a, ulong b, short c);
12163long2 __ovld __cnfn select(long2 a, long2 b, short2 c);
12164ulong2 __ovld __cnfn select(ulong2 a, ulong2 b, short2 c);
12165long3 __ovld __cnfn select(long3 a, long3 b, short3 c);
12166ulong3 __ovld __cnfn select(ulong3 a, ulong3 b, short3 c);
12167long4 __ovld __cnfn select(long4 a, long4 b, short4 c);
12168ulong4 __ovld __cnfn select(ulong4 a, ulong4 b, short4 c);
12169long8 __ovld __cnfn select(long8 a, long8 b, short8 c);
12170ulong8 __ovld __cnfn select(ulong8 a, ulong8 b, short8 c);
12171long16 __ovld __cnfn select(long16 a, long16 b, short16 c);
12172ulong16 __ovld __cnfn select(ulong16 a, ulong16 b, short16 c);
12173float __ovld __cnfn select(float a, float b, short c);
12174float2 __ovld __cnfn select(float2 a, float2 b, short2 c);
12175float3 __ovld __cnfn select(float3 a, float3 b, short3 c);
12176float4 __ovld __cnfn select(float4 a, float4 b, short4 c);
12177float8 __ovld __cnfn select(float8 a, float8 b, short8 c);
12178float16 __ovld __cnfn select(float16 a, float16 b, short16 c);
12179char __ovld __cnfn select(char a, char b, int c);
12180uchar __ovld __cnfn select(uchar a, uchar b, int c);
12181char2 __ovld __cnfn select(char2 a, char2 b, int2 c);
12182uchar2 __ovld __cnfn select(uchar2 a, uchar2 b, int2 c);
12183char3 __ovld __cnfn select(char3 a, char3 b, int3 c);
12184uchar3 __ovld __cnfn select(uchar3 a, uchar3 b, int3 c);
12185char4 __ovld __cnfn select(char4 a, char4 b, int4 c);
12186uchar4 __ovld __cnfn select(uchar4 a, uchar4 b, int4 c);
12187char8 __ovld __cnfn select(char8 a, char8 b, int8 c);
12188uchar8 __ovld __cnfn select(uchar8 a, uchar8 b, int8 c);
12189char16 __ovld __cnfn select(char16 a, char16 b, int16 c);
12190uchar16 __ovld __cnfn select(uchar16 a, uchar16 b, int16 c);
12191short __ovld __cnfn select(short a, short b, int c);
12192ushort __ovld __cnfn select(ushort a, ushort b, int c);
12193short2 __ovld __cnfn select(short2 a, short2 b, int2 c);
12194ushort2 __ovld __cnfn select(ushort2 a, ushort2 b, int2 c);
12195short3 __ovld __cnfn select(short3 a, short3 b, int3 c);
12196ushort3 __ovld __cnfn select(ushort3 a, ushort3 b, int3 c);
12197short4 __ovld __cnfn select(short4 a, short4 b, int4 c);
12198ushort4 __ovld __cnfn select(ushort4 a, ushort4 b, int4 c);
12199short8 __ovld __cnfn select(short8 a, short8 b, int8 c);
12200ushort8 __ovld __cnfn select(ushort8 a, ushort8 b, int8 c);
12201short16 __ovld __cnfn select(short16 a, short16 b, int16 c);
12202ushort16 __ovld __cnfn select(ushort16 a, ushort16 b, int16 c);
12203int __ovld __cnfn select(int a, int b, int c);
12204uint __ovld __cnfn select(uint a, uint b, int c);
12205int2 __ovld __cnfn select(int2 a, int2 b, int2 c);
12206uint2 __ovld __cnfn select(uint2 a, uint2 b, int2 c);
12207int3 __ovld __cnfn select(int3 a, int3 b, int3 c);
12208uint3 __ovld __cnfn select(uint3 a, uint3 b, int3 c);
12209int4 __ovld __cnfn select(int4 a, int4 b, int4 c);
12210uint4 __ovld __cnfn select(uint4 a, uint4 b, int4 c);
12211int8 __ovld __cnfn select(int8 a, int8 b, int8 c);
12212uint8 __ovld __cnfn select(uint8 a, uint8 b, int8 c);
12213int16 __ovld __cnfn select(int16 a, int16 b, int16 c);
12214uint16 __ovld __cnfn select(uint16 a, uint16 b, int16 c);
12215long __ovld __cnfn select(long a, long b, int c);
12216ulong __ovld __cnfn select(ulong a, ulong b, int c);
12217long2 __ovld __cnfn select(long2 a, long2 b, int2 c);
12218ulong2 __ovld __cnfn select(ulong2 a, ulong2 b, int2 c);
12219long3 __ovld __cnfn select(long3 a, long3 b, int3 c);
12220ulong3 __ovld __cnfn select(ulong3 a, ulong3 b, int3 c);
12221long4 __ovld __cnfn select(long4 a, long4 b, int4 c);
12222ulong4 __ovld __cnfn select(ulong4 a, ulong4 b, int4 c);
12223long8 __ovld __cnfn select(long8 a, long8 b, int8 c);
12224ulong8 __ovld __cnfn select(ulong8 a, ulong8 b, int8 c);
12225long16 __ovld __cnfn select(long16 a, long16 b, int16 c);
12226ulong16 __ovld __cnfn select(ulong16 a, ulong16 b, int16 c);
12227float __ovld __cnfn select(float a, float b, int c);
12228float2 __ovld __cnfn select(float2 a, float2 b, int2 c);
12229float3 __ovld __cnfn select(float3 a, float3 b, int3 c);
12230float4 __ovld __cnfn select(float4 a, float4 b, int4 c);
12231float8 __ovld __cnfn select(float8 a, float8 b, int8 c);
12232float16 __ovld __cnfn select(float16 a, float16 b, int16 c);
12233char __ovld __cnfn select(char a, char b, long c);
12234uchar __ovld __cnfn select(uchar a, uchar b, long c);
12235char2 __ovld __cnfn select(char2 a, char2 b, long2 c);
12236uchar2 __ovld __cnfn select(uchar2 a, uchar2 b, long2 c);
12237char3 __ovld __cnfn select(char3 a, char3 b, long3 c);
12238uchar3 __ovld __cnfn select(uchar3 a, uchar3 b, long3 c);
12239char4 __ovld __cnfn select(char4 a, char4 b, long4 c);
12240uchar4 __ovld __cnfn select(uchar4 a, uchar4 b, long4 c);
12241char8 __ovld __cnfn select(char8 a, char8 b, long8 c);
12242uchar8 __ovld __cnfn select(uchar8 a, uchar8 b, long8 c);
12243char16 __ovld __cnfn select(char16 a, char16 b, long16 c);
12244uchar16 __ovld __cnfn select(uchar16 a, uchar16 b, long16 c);
12245short __ovld __cnfn select(short a, short b, long c);
12246ushort __ovld __cnfn select(ushort a, ushort b, long c);
12247short2 __ovld __cnfn select(short2 a, short2 b, long2 c);
12248ushort2 __ovld __cnfn select(ushort2 a, ushort2 b, long2 c);
12249short3 __ovld __cnfn select(short3 a, short3 b, long3 c);
12250ushort3 __ovld __cnfn select(ushort3 a, ushort3 b, long3 c);
12251short4 __ovld __cnfn select(short4 a, short4 b, long4 c);
12252ushort4 __ovld __cnfn select(ushort4 a, ushort4 b, long4 c);
12253short8 __ovld __cnfn select(short8 a, short8 b, long8 c);
12254ushort8 __ovld __cnfn select(ushort8 a, ushort8 b, long8 c);
12255short16 __ovld __cnfn select(short16 a, short16 b, long16 c);
12256ushort16 __ovld __cnfn select(ushort16 a, ushort16 b, long16 c);
12257int __ovld __cnfn select(int a, int b, long c);
12258uint __ovld __cnfn select(uint a, uint b, long c);
12259int2 __ovld __cnfn select(int2 a, int2 b, long2 c);
12260uint2 __ovld __cnfn select(uint2 a, uint2 b, long2 c);
12261int3 __ovld __cnfn select(int3 a, int3 b, long3 c);
12262uint3 __ovld __cnfn select(uint3 a, uint3 b, long3 c);
12263int4 __ovld __cnfn select(int4 a, int4 b, long4 c);
12264uint4 __ovld __cnfn select(uint4 a, uint4 b, long4 c);
12265int8 __ovld __cnfn select(int8 a, int8 b, long8 c);
12266uint8 __ovld __cnfn select(uint8 a, uint8 b, long8 c);
12267int16 __ovld __cnfn select(int16 a, int16 b, long16 c);
12268uint16 __ovld __cnfn select(uint16 a, uint16 b, long16 c);
12269long __ovld __cnfn select(long a, long b, long c);
12270ulong __ovld __cnfn select(ulong a, ulong b, long c);
12271long2 __ovld __cnfn select(long2 a, long2 b, long2 c);
12272ulong2 __ovld __cnfn select(ulong2 a, ulong2 b, long2 c);
12273long3 __ovld __cnfn select(long3 a, long3 b, long3 c);
12274ulong3 __ovld __cnfn select(ulong3 a, ulong3 b, long3 c);
12275long4 __ovld __cnfn select(long4 a, long4 b, long4 c);
12276ulong4 __ovld __cnfn select(ulong4 a, ulong4 b, long4 c);
12277long8 __ovld __cnfn select(long8 a, long8 b, long8 c);
12278ulong8 __ovld __cnfn select(ulong8 a, ulong8 b, long8 c);
12279long16 __ovld __cnfn select(long16 a, long16 b, long16 c);
12280ulong16 __ovld __cnfn select(ulong16 a, ulong16 b, long16 c);
12281float __ovld __cnfn select(float a, float b, long c);
12282float2 __ovld __cnfn select(float2 a, float2 b, long2 c);
12283float3 __ovld __cnfn select(float3 a, float3 b, long3 c);
12284float4 __ovld __cnfn select(float4 a, float4 b, long4 c);
12285float8 __ovld __cnfn select(float8 a, float8 b, long8 c);
12286float16 __ovld __cnfn select(float16 a, float16 b, long16 c);
12287char __ovld __cnfn select(char a, char b, uchar c);
12288uchar __ovld __cnfn select(uchar a, uchar b, uchar c);
12289char2 __ovld __cnfn select(char2 a, char2 b, uchar2 c);
12290uchar2 __ovld __cnfn select(uchar2 a, uchar2 b, uchar2 c);
12291char3 __ovld __cnfn select(char3 a, char3 b, uchar3 c);
12292uchar3 __ovld __cnfn select(uchar3 a, uchar3 b, uchar3 c);
12293char4 __ovld __cnfn select(char4 a, char4 b, uchar4 c);
12294uchar4 __ovld __cnfn select(uchar4 a, uchar4 b, uchar4 c);
12295char8 __ovld __cnfn select(char8 a, char8 b, uchar8 c);
12296uchar8 __ovld __cnfn select(uchar8 a, uchar8 b, uchar8 c);
12297char16 __ovld __cnfn select(char16 a, char16 b, uchar16 c);
12298uchar16 __ovld __cnfn select(uchar16 a, uchar16 b, uchar16 c);
12299short __ovld __cnfn select(short a, short b, uchar c);
12300ushort __ovld __cnfn select(ushort a, ushort b, uchar c);
12301short2 __ovld __cnfn select(short2 a, short2 b, uchar2 c);
12302ushort2 __ovld __cnfn select(ushort2 a, ushort2 b, uchar2 c);
12303short3 __ovld __cnfn select(short3 a, short3 b, uchar3 c);
12304ushort3 __ovld __cnfn select(ushort3 a, ushort3 b, uchar3 c);
12305short4 __ovld __cnfn select(short4 a, short4 b, uchar4 c);
12306ushort4 __ovld __cnfn select(ushort4 a, ushort4 b, uchar4 c);
12307short8 __ovld __cnfn select(short8 a, short8 b, uchar8 c);
12308ushort8 __ovld __cnfn select(ushort8 a, ushort8 b, uchar8 c);
12309short16 __ovld __cnfn select(short16 a, short16 b, uchar16 c);
12310ushort16 __ovld __cnfn select(ushort16 a, ushort16 b, uchar16 c);
12311int __ovld __cnfn select(int a, int b, uchar c);
12312uint __ovld __cnfn select(uint a, uint b, uchar c);
12313int2 __ovld __cnfn select(int2 a, int2 b, uchar2 c);
12314uint2 __ovld __cnfn select(uint2 a, uint2 b, uchar2 c);
12315int3 __ovld __cnfn select(int3 a, int3 b, uchar3 c);
12316uint3 __ovld __cnfn select(uint3 a, uint3 b, uchar3 c);
12317int4 __ovld __cnfn select(int4 a, int4 b, uchar4 c);
12318uint4 __ovld __cnfn select(uint4 a, uint4 b, uchar4 c);
12319int8 __ovld __cnfn select(int8 a, int8 b, uchar8 c);
12320uint8 __ovld __cnfn select(uint8 a, uint8 b, uchar8 c);
12321int16 __ovld __cnfn select(int16 a, int16 b, uchar16 c);
12322uint16 __ovld __cnfn select(uint16 a, uint16 b, uchar16 c);
12323long __ovld __cnfn select(long a, long b, uchar c);
12324ulong __ovld __cnfn select(ulong a, ulong b, uchar c);
12325long2 __ovld __cnfn select(long2 a, long2 b, uchar2 c);
12326ulong2 __ovld __cnfn select(ulong2 a, ulong2 b, uchar2 c);
12327long3 __ovld __cnfn select(long3 a, long3 b, uchar3 c);
12328ulong3 __ovld __cnfn select(ulong3 a, ulong3 b, uchar3 c);
12329long4 __ovld __cnfn select(long4 a, long4 b, uchar4 c);
12330ulong4 __ovld __cnfn select(ulong4 a, ulong4 b, uchar4 c);
12331long8 __ovld __cnfn select(long8 a, long8 b, uchar8 c);
12332ulong8 __ovld __cnfn select(ulong8 a, ulong8 b, uchar8 c);
12333long16 __ovld __cnfn select(long16 a, long16 b, uchar16 c);
12334ulong16 __ovld __cnfn select(ulong16 a, ulong16 b, uchar16 c);
12335float __ovld __cnfn select(float a, float b, uchar c);
12336float2 __ovld __cnfn select(float2 a, float2 b, uchar2 c);
12337float3 __ovld __cnfn select(float3 a, float3 b, uchar3 c);
12338float4 __ovld __cnfn select(float4 a, float4 b, uchar4 c);
12339float8 __ovld __cnfn select(float8 a, float8 b, uchar8 c);
12340float16 __ovld __cnfn select(float16 a, float16 b, uchar16 c);
12341char __ovld __cnfn select(char a, char b, ushort c);
12342uchar __ovld __cnfn select(uchar a, uchar b, ushort c);
12343char2 __ovld __cnfn select(char2 a, char2 b, ushort2 c);
12344uchar2 __ovld __cnfn select(uchar2 a, uchar2 b, ushort2 c);
12345char3 __ovld __cnfn select(char3 a, char3 b, ushort3 c);
12346uchar3 __ovld __cnfn select(uchar3 a, uchar3 b, ushort3 c);
12347char4 __ovld __cnfn select(char4 a, char4 b, ushort4 c);
12348uchar4 __ovld __cnfn select(uchar4 a, uchar4 b, ushort4 c);
12349char8 __ovld __cnfn select(char8 a, char8 b, ushort8 c);
12350uchar8 __ovld __cnfn select(uchar8 a, uchar8 b, ushort8 c);
12351char16 __ovld __cnfn select(char16 a, char16 b, ushort16 c);
12352uchar16 __ovld __cnfn select(uchar16 a, uchar16 b, ushort16 c);
12353short __ovld __cnfn select(short a, short b, ushort c);
12354ushort __ovld __cnfn select(ushort a, ushort b, ushort c);
12355short2 __ovld __cnfn select(short2 a, short2 b, ushort2 c);
12356ushort2 __ovld __cnfn select(ushort2 a, ushort2 b, ushort2 c);
12357short3 __ovld __cnfn select(short3 a, short3 b, ushort3 c);
12358ushort3 __ovld __cnfn select(ushort3 a, ushort3 b, ushort3 c);
12359short4 __ovld __cnfn select(short4 a, short4 b, ushort4 c);
12360ushort4 __ovld __cnfn select(ushort4 a, ushort4 b, ushort4 c);
12361short8 __ovld __cnfn select(short8 a, short8 b, ushort8 c);
12362ushort8 __ovld __cnfn select(ushort8 a, ushort8 b, ushort8 c);
12363short16 __ovld __cnfn select(short16 a, short16 b, ushort16 c);
12364ushort16 __ovld __cnfn select(ushort16 a, ushort16 b, ushort16 c);
12365int __ovld __cnfn select(int a, int b, ushort c);
12366uint __ovld __cnfn select(uint a, uint b, ushort c);
12367int2 __ovld __cnfn select(int2 a, int2 b, ushort2 c);
12368uint2 __ovld __cnfn select(uint2 a, uint2 b, ushort2 c);
12369int3 __ovld __cnfn select(int3 a, int3 b, ushort3 c);
12370uint3 __ovld __cnfn select(uint3 a, uint3 b, ushort3 c);
12371int4 __ovld __cnfn select(int4 a, int4 b, ushort4 c);
12372uint4 __ovld __cnfn select(uint4 a, uint4 b, ushort4 c);
12373int8 __ovld __cnfn select(int8 a, int8 b, ushort8 c);
12374uint8 __ovld __cnfn select(uint8 a, uint8 b, ushort8 c);
12375int16 __ovld __cnfn select(int16 a, int16 b, ushort16 c);
12376uint16 __ovld __cnfn select(uint16 a, uint16 b, ushort16 c);
12377long __ovld __cnfn select(long a, long b, ushort c);
12378ulong __ovld __cnfn select(ulong a, ulong b, ushort c);
12379long2 __ovld __cnfn select(long2 a, long2 b, ushort2 c);
12380ulong2 __ovld __cnfn select(ulong2 a, ulong2 b, ushort2 c);
12381long3 __ovld __cnfn select(long3 a, long3 b, ushort3 c);
12382ulong3 __ovld __cnfn select(ulong3 a, ulong3 b, ushort3 c);
12383long4 __ovld __cnfn select(long4 a, long4 b, ushort4 c);
12384ulong4 __ovld __cnfn select(ulong4 a, ulong4 b, ushort4 c);
12385long8 __ovld __cnfn select(long8 a, long8 b, ushort8 c);
12386ulong8 __ovld __cnfn select(ulong8 a, ulong8 b, ushort8 c);
12387long16 __ovld __cnfn select(long16 a, long16 b, ushort16 c);
12388ulong16 __ovld __cnfn select(ulong16 a, ulong16 b, ushort16 c);
12389float __ovld __cnfn select(float a, float b, ushort c);
12390float2 __ovld __cnfn select(float2 a, float2 b, ushort2 c);
12391float3 __ovld __cnfn select(float3 a, float3 b, ushort3 c);
12392float4 __ovld __cnfn select(float4 a, float4 b, ushort4 c);
12393float8 __ovld __cnfn select(float8 a, float8 b, ushort8 c);
12394float16 __ovld __cnfn select(float16 a, float16 b, ushort16 c);
12395char __ovld __cnfn select(char a, char b, uint c);
12396uchar __ovld __cnfn select(uchar a, uchar b, uint c);
12397char2 __ovld __cnfn select(char2 a, char2 b, uint2 c);
12398uchar2 __ovld __cnfn select(uchar2 a, uchar2 b, uint2 c);
12399char3 __ovld __cnfn select(char3 a, char3 b, uint3 c);
12400uchar3 __ovld __cnfn select(uchar3 a, uchar3 b, uint3 c);
12401char4 __ovld __cnfn select(char4 a, char4 b, uint4 c);
12402uchar4 __ovld __cnfn select(uchar4 a, uchar4 b, uint4 c);
12403char8 __ovld __cnfn select(char8 a, char8 b, uint8 c);
12404uchar8 __ovld __cnfn select(uchar8 a, uchar8 b, uint8 c);
12405char16 __ovld __cnfn select(char16 a, char16 b, uint16 c);
12406uchar16 __ovld __cnfn select(uchar16 a, uchar16 b, uint16 c);
12407short __ovld __cnfn select(short a, short b, uint c);
12408ushort __ovld __cnfn select(ushort a, ushort b, uint c);
12409short2 __ovld __cnfn select(short2 a, short2 b, uint2 c);
12410ushort2 __ovld __cnfn select(ushort2 a, ushort2 b, uint2 c);
12411short3 __ovld __cnfn select(short3 a, short3 b, uint3 c);
12412ushort3 __ovld __cnfn select(ushort3 a, ushort3 b, uint3 c);
12413short4 __ovld __cnfn select(short4 a, short4 b, uint4 c);
12414ushort4 __ovld __cnfn select(ushort4 a, ushort4 b, uint4 c);
12415short8 __ovld __cnfn select(short8 a, short8 b, uint8 c);
12416ushort8 __ovld __cnfn select(ushort8 a, ushort8 b, uint8 c);
12417short16 __ovld __cnfn select(short16 a, short16 b, uint16 c);
12418ushort16 __ovld __cnfn select(ushort16 a, ushort16 b, uint16 c);
12419int __ovld __cnfn select(int a, int b, uint c);
12420uint __ovld __cnfn select(uint a, uint b, uint c);
12421int2 __ovld __cnfn select(int2 a, int2 b, uint2 c);
12422uint2 __ovld __cnfn select(uint2 a, uint2 b, uint2 c);
12423int3 __ovld __cnfn select(int3 a, int3 b, uint3 c);
12424uint3 __ovld __cnfn select(uint3 a, uint3 b, uint3 c);
12425int4 __ovld __cnfn select(int4 a, int4 b, uint4 c);
12426uint4 __ovld __cnfn select(uint4 a, uint4 b, uint4 c);
12427int8 __ovld __cnfn select(int8 a, int8 b, uint8 c);
12428uint8 __ovld __cnfn select(uint8 a, uint8 b, uint8 c);
12429int16 __ovld __cnfn select(int16 a, int16 b, uint16 c);
12430uint16 __ovld __cnfn select(uint16 a, uint16 b, uint16 c);
12431long __ovld __cnfn select(long a, long b, uint c);
12432ulong __ovld __cnfn select(ulong a, ulong b, uint c);
12433long2 __ovld __cnfn select(long2 a, long2 b, uint2 c);
12434ulong2 __ovld __cnfn select(ulong2 a, ulong2 b, uint2 c);
12435long3 __ovld __cnfn select(long3 a, long3 b, uint3 c);
12436ulong3 __ovld __cnfn select(ulong3 a, ulong3 b, uint3 c);
12437long4 __ovld __cnfn select(long4 a, long4 b, uint4 c);
12438ulong4 __ovld __cnfn select(ulong4 a, ulong4 b, uint4 c);
12439long8 __ovld __cnfn select(long8 a, long8 b, uint8 c);
12440ulong8 __ovld __cnfn select(ulong8 a, ulong8 b, uint8 c);
12441long16 __ovld __cnfn select(long16 a, long16 b, uint16 c);
12442ulong16 __ovld __cnfn select(ulong16 a, ulong16 b, uint16 c);
12443float __ovld __cnfn select(float a, float b, uint c);
12444float2 __ovld __cnfn select(float2 a, float2 b, uint2 c);
12445float3 __ovld __cnfn select(float3 a, float3 b, uint3 c);
12446float4 __ovld __cnfn select(float4 a, float4 b, uint4 c);
12447float8 __ovld __cnfn select(float8 a, float8 b, uint8 c);
12448float16 __ovld __cnfn select(float16 a, float16 b, uint16 c);
12449char __ovld __cnfn select(char a, char b, ulong c);
12450uchar __ovld __cnfn select(uchar a, uchar b, ulong c);
12451char2 __ovld __cnfn select(char2 a, char2 b, ulong2 c);
12452uchar2 __ovld __cnfn select(uchar2 a, uchar2 b, ulong2 c);
12453char3 __ovld __cnfn select(char3 a, char3 b, ulong3 c);
12454uchar3 __ovld __cnfn select(uchar3 a, uchar3 b, ulong3 c);
12455char4 __ovld __cnfn select(char4 a, char4 b, ulong4 c);
12456uchar4 __ovld __cnfn select(uchar4 a, uchar4 b, ulong4 c);
12457char8 __ovld __cnfn select(char8 a, char8 b, ulong8 c);
12458uchar8 __ovld __cnfn select(uchar8 a, uchar8 b, ulong8 c);
12459char16 __ovld __cnfn select(char16 a, char16 b, ulong16 c);
12460uchar16 __ovld __cnfn select(uchar16 a, uchar16 b, ulong16 c);
12461short __ovld __cnfn select(short a, short b, ulong c);
12462ushort __ovld __cnfn select(ushort a, ushort b, ulong c);
12463short2 __ovld __cnfn select(short2 a, short2 b, ulong2 c);
12464ushort2 __ovld __cnfn select(ushort2 a, ushort2 b, ulong2 c);
12465short3 __ovld __cnfn select(short3 a, short3 b, ulong3 c);
12466ushort3 __ovld __cnfn select(ushort3 a, ushort3 b, ulong3 c);
12467short4 __ovld __cnfn select(short4 a, short4 b, ulong4 c);
12468ushort4 __ovld __cnfn select(ushort4 a, ushort4 b, ulong4 c);
12469short8 __ovld __cnfn select(short8 a, short8 b, ulong8 c);
12470ushort8 __ovld __cnfn select(ushort8 a, ushort8 b, ulong8 c);
12471short16 __ovld __cnfn select(short16 a, short16 b, ulong16 c);
12472ushort16 __ovld __cnfn select(ushort16 a, ushort16 b, ulong16 c);
12473int __ovld __cnfn select(int a, int b, ulong c);
12474uint __ovld __cnfn select(uint a, uint b, ulong c);
12475int2 __ovld __cnfn select(int2 a, int2 b, ulong2 c);
12476uint2 __ovld __cnfn select(uint2 a, uint2 b, ulong2 c);
12477int3 __ovld __cnfn select(int3 a, int3 b, ulong3 c);
12478uint3 __ovld __cnfn select(uint3 a, uint3 b, ulong3 c);
12479int4 __ovld __cnfn select(int4 a, int4 b, ulong4 c);
12480uint4 __ovld __cnfn select(uint4 a, uint4 b, ulong4 c);
12481int8 __ovld __cnfn select(int8 a, int8 b, ulong8 c);
12482uint8 __ovld __cnfn select(uint8 a, uint8 b, ulong8 c);
12483int16 __ovld __cnfn select(int16 a, int16 b, ulong16 c);
12484uint16 __ovld __cnfn select(uint16 a, uint16 b, ulong16 c);
12485long __ovld __cnfn select(long a, long b, ulong c);
12486ulong __ovld __cnfn select(ulong a, ulong b, ulong c);
12487long2 __ovld __cnfn select(long2 a, long2 b, ulong2 c);
12488ulong2 __ovld __cnfn select(ulong2 a, ulong2 b, ulong2 c);
12489long3 __ovld __cnfn select(long3 a, long3 b, ulong3 c);
12490ulong3 __ovld __cnfn select(ulong3 a, ulong3 b, ulong3 c);
12491long4 __ovld __cnfn select(long4 a, long4 b, ulong4 c);
12492ulong4 __ovld __cnfn select(ulong4 a, ulong4 b, ulong4 c);
12493long8 __ovld __cnfn select(long8 a, long8 b, ulong8 c);
12494ulong8 __ovld __cnfn select(ulong8 a, ulong8 b, ulong8 c);
12495long16 __ovld __cnfn select(long16 a, long16 b, ulong16 c);
12496ulong16 __ovld __cnfn select(ulong16 a, ulong16 b, ulong16 c);
12497float __ovld __cnfn select(float a, float b, ulong c);
12498float2 __ovld __cnfn select(float2 a, float2 b, ulong2 c);
12499float3 __ovld __cnfn select(float3 a, float3 b, ulong3 c);
12500float4 __ovld __cnfn select(float4 a, float4 b, ulong4 c);
12501float8 __ovld __cnfn select(float8 a, float8 b, ulong8 c);
12502float16 __ovld __cnfn select(float16 a, float16 b, ulong16 c);
12503#ifdef cl_khr_fp64
12504double __ovld __cnfn select(double a, double b, long c);
12505double2 __ovld __cnfn select(double2 a, double2 b, long2 c);
12506double3 __ovld __cnfn select(double3 a, double3 b, long3 c);
12507double4 __ovld __cnfn select(double4 a, double4 b, long4 c);
12508double8 __ovld __cnfn select(double8 a, double8 b, long8 c);
12509double16 __ovld __cnfn select(double16 a, double16 b, long16 c);
12510double __ovld __cnfn select(double a, double b, ulong c);
12511double2 __ovld __cnfn select(double2 a, double2 b, ulong2 c);
12512double3 __ovld __cnfn select(double3 a, double3 b, ulong3 c);
12513double4 __ovld __cnfn select(double4 a, double4 b, ulong4 c);
12514double8 __ovld __cnfn select(double8 a, double8 b, ulong8 c);
12515double16 __ovld __cnfn select(double16 a, double16 b, ulong16 c);
12516#endif //cl_khr_fp64
12517#ifdef cl_khr_fp16
12518half __ovld __cnfn select(half a, half b, short c);
12519half2 __ovld __cnfn select(half2 a, half2 b, short2 c);
12520half3 __ovld __cnfn select(half3 a, half3 b, short3 c);
12521half4 __ovld __cnfn select(half4 a, half4 b, short4 c);
12522half8 __ovld __cnfn select(half8 a, half8 b, short8 c);
12523half16 __ovld __cnfn select(half16 a, half16 b, short16 c);
12524half __ovld __cnfn select(half a, half b, ushort c);
12525half2 __ovld __cnfn select(half2 a, half2 b, ushort2 c);
12526half3 __ovld __cnfn select(half3 a, half3 b, ushort3 c);
12527half4 __ovld __cnfn select(half4 a, half4 b, ushort4 c);
12528half8 __ovld __cnfn select(half8 a, half8 b, ushort8 c);
12529half16 __ovld __cnfn select(half16 a, half16 b, ushort16 c);
12530#endif //cl_khr_fp16
12531
12532// OpenCL v1.1 s6.11.7, v1.2 s6.12.7, v2.0 s6.13.7 - Vector Data Load and Store Functions
12533// OpenCL extensions v1.1 s9.6.6, v1.2 s9.5.6, v2.0 s9.4.6 - Vector Data Load and Store Functions for Half Type
12534/**
12535 * Use generic type gentype to indicate the built-in data types
12536 * char, uchar, short, ushort, int, uint, long, ulong, float,
12537 * double or half.
12538 *
12539 * vloadn return sizeof (gentypen) bytes of data read from address (p + (offset * n)).
12540 *
12541 * vstoren write sizeof (gentypen) bytes given by data to address (p + (offset * n)).
12542 *
12543 * The address computed as (p + (offset * n)) must be
12544 * 8-bit aligned if gentype is char, uchar;
12545 * 16-bit aligned if gentype is short, ushort, half;
12546 * 32-bit aligned if gentype is int, uint, float;
12547 * 64-bit aligned if gentype is long, ulong, double.
12548 */
12549
12550char2 __ovld vload2(size_t offset, const __constant char *p);
12551uchar2 __ovld vload2(size_t offset, const __constant uchar *p);
12552short2 __ovld vload2(size_t offset, const __constant short *p);
12553ushort2 __ovld vload2(size_t offset, const __constant ushort *p);
12554int2 __ovld vload2(size_t offset, const __constant int *p);
12555uint2 __ovld vload2(size_t offset, const __constant uint *p);
12556long2 __ovld vload2(size_t offset, const __constant long *p);
12557ulong2 __ovld vload2(size_t offset, const __constant ulong *p);
12558float2 __ovld vload2(size_t offset, const __constant float *p);
12559char3 __ovld vload3(size_t offset, const __constant char *p);
12560uchar3 __ovld vload3(size_t offset, const __constant uchar *p);
12561short3 __ovld vload3(size_t offset, const __constant short *p);
12562ushort3 __ovld vload3(size_t offset, const __constant ushort *p);
12563int3 __ovld vload3(size_t offset, const __constant int *p);
12564uint3 __ovld vload3(size_t offset, const __constant uint *p);
12565long3 __ovld vload3(size_t offset, const __constant long *p);
12566ulong3 __ovld vload3(size_t offset, const __constant ulong *p);
12567float3 __ovld vload3(size_t offset, const __constant float *p);
12568char4 __ovld vload4(size_t offset, const __constant char *p);
12569uchar4 __ovld vload4(size_t offset, const __constant uchar *p);
12570short4 __ovld vload4(size_t offset, const __constant short *p);
12571ushort4 __ovld vload4(size_t offset, const __constant ushort *p);
12572int4 __ovld vload4(size_t offset, const __constant int *p);
12573uint4 __ovld vload4(size_t offset, const __constant uint *p);
12574long4 __ovld vload4(size_t offset, const __constant long *p);
12575ulong4 __ovld vload4(size_t offset, const __constant ulong *p);
12576float4 __ovld vload4(size_t offset, const __constant float *p);
12577char8 __ovld vload8(size_t offset, const __constant char *p);
12578uchar8 __ovld vload8(size_t offset, const __constant uchar *p);
12579short8 __ovld vload8(size_t offset, const __constant short *p);
12580ushort8 __ovld vload8(size_t offset, const __constant ushort *p);
12581int8 __ovld vload8(size_t offset, const __constant int *p);
12582uint8 __ovld vload8(size_t offset, const __constant uint *p);
12583long8 __ovld vload8(size_t offset, const __constant long *p);
12584ulong8 __ovld vload8(size_t offset, const __constant ulong *p);
12585float8 __ovld vload8(size_t offset, const __constant float *p);
12586char16 __ovld vload16(size_t offset, const __constant char *p);
12587uchar16 __ovld vload16(size_t offset, const __constant uchar *p);
12588short16 __ovld vload16(size_t offset, const __constant short *p);
12589ushort16 __ovld vload16(size_t offset, const __constant ushort *p);
12590int16 __ovld vload16(size_t offset, const __constant int *p);
12591uint16 __ovld vload16(size_t offset, const __constant uint *p);
12592long16 __ovld vload16(size_t offset, const __constant long *p);
12593ulong16 __ovld vload16(size_t offset, const __constant ulong *p);
12594float16 __ovld vload16(size_t offset, const __constant float *p);
12595#ifdef cl_khr_fp64
12596double2 __ovld vload2(size_t offset, const __constant double *p);
12597double3 __ovld vload3(size_t offset, const __constant double *p);
12598double4 __ovld vload4(size_t offset, const __constant double *p);
12599double8 __ovld vload8(size_t offset, const __constant double *p);
12600double16 __ovld vload16(size_t offset, const __constant double *p);
12601#endif //cl_khr_fp64
12602
12603#ifdef cl_khr_fp16
12604half __ovld vload(size_t offset, const __constant half *p);
12605half2 __ovld vload2(size_t offset, const __constant half *p);
12606half3 __ovld vload3(size_t offset, const __constant half *p);
12607half4 __ovld vload4(size_t offset, const __constant half *p);
12608half8 __ovld vload8(size_t offset, const __constant half *p);
12609half16 __ovld vload16(size_t offset, const __constant half *p);
12610#endif //cl_khr_fp16
12611
12612#if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
12613char2 __ovld vload2(size_t offset, const char *p);
12614uchar2 __ovld vload2(size_t offset, const uchar *p);
12615short2 __ovld vload2(size_t offset, const short *p);
12616ushort2 __ovld vload2(size_t offset, const ushort *p);
12617int2 __ovld vload2(size_t offset, const int *p);
12618uint2 __ovld vload2(size_t offset, const uint *p);
12619long2 __ovld vload2(size_t offset, const long *p);
12620ulong2 __ovld vload2(size_t offset, const ulong *p);
12621float2 __ovld vload2(size_t offset, const float *p);
12622char3 __ovld vload3(size_t offset, const char *p);
12623uchar3 __ovld vload3(size_t offset, const uchar *p);
12624short3 __ovld vload3(size_t offset, const short *p);
12625ushort3 __ovld vload3(size_t offset, const ushort *p);
12626int3 __ovld vload3(size_t offset, const int *p);
12627uint3 __ovld vload3(size_t offset, const uint *p);
12628long3 __ovld vload3(size_t offset, const long *p);
12629ulong3 __ovld vload3(size_t offset, const ulong *p);
12630float3 __ovld vload3(size_t offset, const float *p);
12631char4 __ovld vload4(size_t offset, const char *p);
12632uchar4 __ovld vload4(size_t offset, const uchar *p);
12633short4 __ovld vload4(size_t offset, const short *p);
12634ushort4 __ovld vload4(size_t offset, const ushort *p);
12635int4 __ovld vload4(size_t offset, const int *p);
12636uint4 __ovld vload4(size_t offset, const uint *p);
12637long4 __ovld vload4(size_t offset, const long *p);
12638ulong4 __ovld vload4(size_t offset, const ulong *p);
12639float4 __ovld vload4(size_t offset, const float *p);
12640char8 __ovld vload8(size_t offset, const char *p);
12641uchar8 __ovld vload8(size_t offset, const uchar *p);
12642short8 __ovld vload8(size_t offset, const short *p);
12643ushort8 __ovld vload8(size_t offset, const ushort *p);
12644int8 __ovld vload8(size_t offset, const int *p);
12645uint8 __ovld vload8(size_t offset, const uint *p);
12646long8 __ovld vload8(size_t offset, const long *p);
12647ulong8 __ovld vload8(size_t offset, const ulong *p);
12648float8 __ovld vload8(size_t offset, const float *p);
12649char16 __ovld vload16(size_t offset, const char *p);
12650uchar16 __ovld vload16(size_t offset, const uchar *p);
12651short16 __ovld vload16(size_t offset, const short *p);
12652ushort16 __ovld vload16(size_t offset, const ushort *p);
12653int16 __ovld vload16(size_t offset, const int *p);
12654uint16 __ovld vload16(size_t offset, const uint *p);
12655long16 __ovld vload16(size_t offset, const long *p);
12656ulong16 __ovld vload16(size_t offset, const ulong *p);
12657float16 __ovld vload16(size_t offset, const float *p);
12658
12659#ifdef cl_khr_fp64
12660double2 __ovld vload2(size_t offset, const double *p);
12661double3 __ovld vload3(size_t offset, const double *p);
12662double4 __ovld vload4(size_t offset, const double *p);
12663double8 __ovld vload8(size_t offset, const double *p);
12664double16 __ovld vload16(size_t offset, const double *p);
12665#endif //cl_khr_fp64
12666
12667#ifdef cl_khr_fp16
12668half __ovld vload(size_t offset, const half *p);
12669half2 __ovld vload2(size_t offset, const half *p);
12670half3 __ovld vload3(size_t offset, const half *p);
12671half4 __ovld vload4(size_t offset, const half *p);
12672half8 __ovld vload8(size_t offset, const half *p);
12673half16 __ovld vload16(size_t offset, const half *p);
12674#endif //cl_khr_fp16
12675#else
12676char2 __ovld vload2(size_t offset, const __global char *p);
12677uchar2 __ovld vload2(size_t offset, const __global uchar *p);
12678short2 __ovld vload2(size_t offset, const __global short *p);
12679ushort2 __ovld vload2(size_t offset, const __global ushort *p);
12680int2 __ovld vload2(size_t offset, const __global int *p);
12681uint2 __ovld vload2(size_t offset, const __global uint *p);
12682long2 __ovld vload2(size_t offset, const __global long *p);
12683ulong2 __ovld vload2(size_t offset, const __global ulong *p);
12684float2 __ovld vload2(size_t offset, const __global float *p);
12685char3 __ovld vload3(size_t offset, const __global char *p);
12686uchar3 __ovld vload3(size_t offset, const __global uchar *p);
12687short3 __ovld vload3(size_t offset, const __global short *p);
12688ushort3 __ovld vload3(size_t offset, const __global ushort *p);
12689int3 __ovld vload3(size_t offset, const __global int *p);
12690uint3 __ovld vload3(size_t offset, const __global uint *p);
12691long3 __ovld vload3(size_t offset, const __global long *p);
12692ulong3 __ovld vload3(size_t offset, const __global ulong *p);
12693float3 __ovld vload3(size_t offset, const __global float *p);
12694char4 __ovld vload4(size_t offset, const __global char *p);
12695uchar4 __ovld vload4(size_t offset, const __global uchar *p);
12696short4 __ovld vload4(size_t offset, const __global short *p);
12697ushort4 __ovld vload4(size_t offset, const __global ushort *p);
12698int4 __ovld vload4(size_t offset, const __global int *p);
12699uint4 __ovld vload4(size_t offset, const __global uint *p);
12700long4 __ovld vload4(size_t offset, const __global long *p);
12701ulong4 __ovld vload4(size_t offset, const __global ulong *p);
12702float4 __ovld vload4(size_t offset, const __global float *p);
12703char8 __ovld vload8(size_t offset, const __global char *p);
12704uchar8 __ovld vload8(size_t offset, const __global uchar *p);
12705short8 __ovld vload8(size_t offset, const __global short *p);
12706ushort8 __ovld vload8(size_t offset, const __global ushort *p);
12707int8 __ovld vload8(size_t offset, const __global int *p);
12708uint8 __ovld vload8(size_t offset, const __global uint *p);
12709long8 __ovld vload8(size_t offset, const __global long *p);
12710ulong8 __ovld vload8(size_t offset, const __global ulong *p);
12711float8 __ovld vload8(size_t offset, const __global float *p);
12712char16 __ovld vload16(size_t offset, const __global char *p);
12713uchar16 __ovld vload16(size_t offset, const __global uchar *p);
12714short16 __ovld vload16(size_t offset, const __global short *p);
12715ushort16 __ovld vload16(size_t offset, const __global ushort *p);
12716int16 __ovld vload16(size_t offset, const __global int *p);
12717uint16 __ovld vload16(size_t offset, const __global uint *p);
12718long16 __ovld vload16(size_t offset, const __global long *p);
12719ulong16 __ovld vload16(size_t offset, const __global ulong *p);
12720float16 __ovld vload16(size_t offset, const __global float *p);
12721char2 __ovld vload2(size_t offset, const __local char *p);
12722uchar2 __ovld vload2(size_t offset, const __local uchar *p);
12723short2 __ovld vload2(size_t offset, const __local short *p);
12724ushort2 __ovld vload2(size_t offset, const __local ushort *p);
12725int2 __ovld vload2(size_t offset, const __local int *p);
12726uint2 __ovld vload2(size_t offset, const __local uint *p);
12727long2 __ovld vload2(size_t offset, const __local long *p);
12728ulong2 __ovld vload2(size_t offset, const __local ulong *p);
12729float2 __ovld vload2(size_t offset, const __local float *p);
12730char3 __ovld vload3(size_t offset, const __local char *p);
12731uchar3 __ovld vload3(size_t offset, const __local uchar *p);
12732short3 __ovld vload3(size_t offset, const __local short *p);
12733ushort3 __ovld vload3(size_t offset, const __local ushort *p);
12734int3 __ovld vload3(size_t offset, const __local int *p);
12735uint3 __ovld vload3(size_t offset, const __local uint *p);
12736long3 __ovld vload3(size_t offset, const __local long *p);
12737ulong3 __ovld vload3(size_t offset, const __local ulong *p);
12738float3 __ovld vload3(size_t offset, const __local float *p);
12739char4 __ovld vload4(size_t offset, const __local char *p);
12740uchar4 __ovld vload4(size_t offset, const __local uchar *p);
12741short4 __ovld vload4(size_t offset, const __local short *p);
12742ushort4 __ovld vload4(size_t offset, const __local ushort *p);
12743int4 __ovld vload4(size_t offset, const __local int *p);
12744uint4 __ovld vload4(size_t offset, const __local uint *p);
12745long4 __ovld vload4(size_t offset, const __local long *p);
12746ulong4 __ovld vload4(size_t offset, const __local ulong *p);
12747float4 __ovld vload4(size_t offset, const __local float *p);
12748char8 __ovld vload8(size_t offset, const __local char *p);
12749uchar8 __ovld vload8(size_t offset, const __local uchar *p);
12750short8 __ovld vload8(size_t offset, const __local short *p);
12751ushort8 __ovld vload8(size_t offset, const __local ushort *p);
12752int8 __ovld vload8(size_t offset, const __local int *p);
12753uint8 __ovld vload8(size_t offset, const __local uint *p);
12754long8 __ovld vload8(size_t offset, const __local long *p);
12755ulong8 __ovld vload8(size_t offset, const __local ulong *p);
12756float8 __ovld vload8(size_t offset, const __local float *p);
12757char16 __ovld vload16(size_t offset, const __local char *p);
12758uchar16 __ovld vload16(size_t offset, const __local uchar *p);
12759short16 __ovld vload16(size_t offset, const __local short *p);
12760ushort16 __ovld vload16(size_t offset, const __local ushort *p);
12761int16 __ovld vload16(size_t offset, const __local int *p);
12762uint16 __ovld vload16(size_t offset, const __local uint *p);
12763long16 __ovld vload16(size_t offset, const __local long *p);
12764ulong16 __ovld vload16(size_t offset, const __local ulong *p);
12765float16 __ovld vload16(size_t offset, const __local float *p);
12766char2 __ovld vload2(size_t offset, const __private char *p);
12767uchar2 __ovld vload2(size_t offset, const __private uchar *p);
12768short2 __ovld vload2(size_t offset, const __private short *p);
12769ushort2 __ovld vload2(size_t offset, const __private ushort *p);
12770int2 __ovld vload2(size_t offset, const __private int *p);
12771uint2 __ovld vload2(size_t offset, const __private uint *p);
12772long2 __ovld vload2(size_t offset, const __private long *p);
12773ulong2 __ovld vload2(size_t offset, const __private ulong *p);
12774float2 __ovld vload2(size_t offset, const __private float *p);
12775char3 __ovld vload3(size_t offset, const __private char *p);
12776uchar3 __ovld vload3(size_t offset, const __private uchar *p);
12777short3 __ovld vload3(size_t offset, const __private short *p);
12778ushort3 __ovld vload3(size_t offset, const __private ushort *p);
12779int3 __ovld vload3(size_t offset, const __private int *p);
12780uint3 __ovld vload3(size_t offset, const __private uint *p);
12781long3 __ovld vload3(size_t offset, const __private long *p);
12782ulong3 __ovld vload3(size_t offset, const __private ulong *p);
12783float3 __ovld vload3(size_t offset, const __private float *p);
12784char4 __ovld vload4(size_t offset, const __private char *p);
12785uchar4 __ovld vload4(size_t offset, const __private uchar *p);
12786short4 __ovld vload4(size_t offset, const __private short *p);
12787ushort4 __ovld vload4(size_t offset, const __private ushort *p);
12788int4 __ovld vload4(size_t offset, const __private int *p);
12789uint4 __ovld vload4(size_t offset, const __private uint *p);
12790long4 __ovld vload4(size_t offset, const __private long *p);
12791ulong4 __ovld vload4(size_t offset, const __private ulong *p);
12792float4 __ovld vload4(size_t offset, const __private float *p);
12793char8 __ovld vload8(size_t offset, const __private char *p);
12794uchar8 __ovld vload8(size_t offset, const __private uchar *p);
12795short8 __ovld vload8(size_t offset, const __private short *p);
12796ushort8 __ovld vload8(size_t offset, const __private ushort *p);
12797int8 __ovld vload8(size_t offset, const __private int *p);
12798uint8 __ovld vload8(size_t offset, const __private uint *p);
12799long8 __ovld vload8(size_t offset, const __private long *p);
12800ulong8 __ovld vload8(size_t offset, const __private ulong *p);
12801float8 __ovld vload8(size_t offset, const __private float *p);
12802char16 __ovld vload16(size_t offset, const __private char *p);
12803uchar16 __ovld vload16(size_t offset, const __private uchar *p);
12804short16 __ovld vload16(size_t offset, const __private short *p);
12805ushort16 __ovld vload16(size_t offset, const __private ushort *p);
12806int16 __ovld vload16(size_t offset, const __private int *p);
12807uint16 __ovld vload16(size_t offset, const __private uint *p);
12808long16 __ovld vload16(size_t offset, const __private long *p);
12809ulong16 __ovld vload16(size_t offset, const __private ulong *p);
12810float16 __ovld vload16(size_t offset, const __private float *p);
12811
12812#ifdef cl_khr_fp64
12813double2 __ovld vload2(size_t offset, const __global double *p);
12814double3 __ovld vload3(size_t offset, const __global double *p);
12815double4 __ovld vload4(size_t offset, const __global double *p);
12816double8 __ovld vload8(size_t offset, const __global double *p);
12817double16 __ovld vload16(size_t offset, const __global double *p);
12818double2 __ovld vload2(size_t offset, const __local double *p);
12819double3 __ovld vload3(size_t offset, const __local double *p);
12820double4 __ovld vload4(size_t offset, const __local double *p);
12821double8 __ovld vload8(size_t offset, const __local double *p);
12822double16 __ovld vload16(size_t offset, const __local double *p);
12823double2 __ovld vload2(size_t offset, const __private double *p);
12824double3 __ovld vload3(size_t offset, const __private double *p);
12825double4 __ovld vload4(size_t offset, const __private double *p);
12826double8 __ovld vload8(size_t offset, const __private double *p);
12827double16 __ovld vload16(size_t offset, const __private double *p);
12828#endif //cl_khr_fp64
12829
12830#ifdef cl_khr_fp16
12831half __ovld vload(size_t offset, const __global half *p);
12832half2 __ovld vload2(size_t offset, const __global half *p);
12833half3 __ovld vload3(size_t offset, const __global half *p);
12834half4 __ovld vload4(size_t offset, const __global half *p);
12835half8 __ovld vload8(size_t offset, const __global half *p);
12836half16 __ovld vload16(size_t offset, const __global half *p);
12837half __ovld vload(size_t offset, const __local half *p);
12838half2 __ovld vload2(size_t offset, const __local half *p);
12839half3 __ovld vload3(size_t offset, const __local half *p);
12840half4 __ovld vload4(size_t offset, const __local half *p);
12841half8 __ovld vload8(size_t offset, const __local half *p);
12842half16 __ovld vload16(size_t offset, const __local half *p);
12843half __ovld vload(size_t offset, const __private half *p);
12844half2 __ovld vload2(size_t offset, const __private half *p);
12845half3 __ovld vload3(size_t offset, const __private half *p);
12846half4 __ovld vload4(size_t offset, const __private half *p);
12847half8 __ovld vload8(size_t offset, const __private half *p);
12848half16 __ovld vload16(size_t offset, const __private half *p);
12849#endif //cl_khr_fp16
12850#endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
12851
12852#if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
12853void __ovld vstore2(char2 data, size_t offset, char *p);
12854void __ovld vstore2(uchar2 data, size_t offset, uchar *p);
12855void __ovld vstore2(short2 data, size_t offset, short *p);
12856void __ovld vstore2(ushort2 data, size_t offset, ushort *p);
12857void __ovld vstore2(int2 data, size_t offset, int *p);
12858void __ovld vstore2(uint2 data, size_t offset, uint *p);
12859void __ovld vstore2(long2 data, size_t offset, long *p);
12860void __ovld vstore2(ulong2 data, size_t offset, ulong *p);
12861void __ovld vstore2(float2 data, size_t offset, float *p);
12862void __ovld vstore3(char3 data, size_t offset, char *p);
12863void __ovld vstore3(uchar3 data, size_t offset, uchar *p);
12864void __ovld vstore3(short3 data, size_t offset, short *p);
12865void __ovld vstore3(ushort3 data, size_t offset, ushort *p);
12866void __ovld vstore3(int3 data, size_t offset, int *p);
12867void __ovld vstore3(uint3 data, size_t offset, uint *p);
12868void __ovld vstore3(long3 data, size_t offset, long *p);
12869void __ovld vstore3(ulong3 data, size_t offset, ulong *p);
12870void __ovld vstore3(float3 data, size_t offset, float *p);
12871void __ovld vstore4(char4 data, size_t offset, char *p);
12872void __ovld vstore4(uchar4 data, size_t offset, uchar *p);
12873void __ovld vstore4(short4 data, size_t offset, short *p);
12874void __ovld vstore4(ushort4 data, size_t offset, ushort *p);
12875void __ovld vstore4(int4 data, size_t offset, int *p);
12876void __ovld vstore4(uint4 data, size_t offset, uint *p);
12877void __ovld vstore4(long4 data, size_t offset, long *p);
12878void __ovld vstore4(ulong4 data, size_t offset, ulong *p);
12879void __ovld vstore4(float4 data, size_t offset, float *p);
12880void __ovld vstore8(char8 data, size_t offset, char *p);
12881void __ovld vstore8(uchar8 data, size_t offset, uchar *p);
12882void __ovld vstore8(short8 data, size_t offset, short *p);
12883void __ovld vstore8(ushort8 data, size_t offset, ushort *p);
12884void __ovld vstore8(int8 data, size_t offset, int *p);
12885void __ovld vstore8(uint8 data, size_t offset, uint *p);
12886void __ovld vstore8(long8 data, size_t offset, long *p);
12887void __ovld vstore8(ulong8 data, size_t offset, ulong *p);
12888void __ovld vstore8(float8 data, size_t offset, float *p);
12889void __ovld vstore16(char16 data, size_t offset, char *p);
12890void __ovld vstore16(uchar16 data, size_t offset, uchar *p);
12891void __ovld vstore16(short16 data, size_t offset, short *p);
12892void __ovld vstore16(ushort16 data, size_t offset, ushort *p);
12893void __ovld vstore16(int16 data, size_t offset, int *p);
12894void __ovld vstore16(uint16 data, size_t offset, uint *p);
12895void __ovld vstore16(long16 data, size_t offset, long *p);
12896void __ovld vstore16(ulong16 data, size_t offset, ulong *p);
12897void __ovld vstore16(float16 data, size_t offset, float *p);
12898#ifdef cl_khr_fp64
12899void __ovld vstore2(double2 data, size_t offset, double *p);
12900void __ovld vstore3(double3 data, size_t offset, double *p);
12901void __ovld vstore4(double4 data, size_t offset, double *p);
12902void __ovld vstore8(double8 data, size_t offset, double *p);
12903void __ovld vstore16(double16 data, size_t offset, double *p);
12904#endif //cl_khr_fp64
12905#ifdef cl_khr_fp16
12906void __ovld vstore(half data, size_t offset, half *p);
12907void __ovld vstore2(half2 data, size_t offset, half *p);
12908void __ovld vstore3(half3 data, size_t offset, half *p);
12909void __ovld vstore4(half4 data, size_t offset, half *p);
12910void __ovld vstore8(half8 data, size_t offset, half *p);
12911void __ovld vstore16(half16 data, size_t offset, half *p);
12912#endif //cl_khr_fp16
12913#else
12914void __ovld vstore2(char2 data, size_t offset, __global char *p);
12915void __ovld vstore2(uchar2 data, size_t offset, __global uchar *p);
12916void __ovld vstore2(short2 data, size_t offset, __global short *p);
12917void __ovld vstore2(ushort2 data, size_t offset, __global ushort *p);
12918void __ovld vstore2(int2 data, size_t offset, __global int *p);
12919void __ovld vstore2(uint2 data, size_t offset, __global uint *p);
12920void __ovld vstore2(long2 data, size_t offset, __global long *p);
12921void __ovld vstore2(ulong2 data, size_t offset, __global ulong *p);
12922void __ovld vstore2(float2 data, size_t offset, __global float *p);
12923void __ovld vstore3(char3 data, size_t offset, __global char *p);
12924void __ovld vstore3(uchar3 data, size_t offset, __global uchar *p);
12925void __ovld vstore3(short3 data, size_t offset, __global short *p);
12926void __ovld vstore3(ushort3 data, size_t offset, __global ushort *p);
12927void __ovld vstore3(int3 data, size_t offset, __global int *p);
12928void __ovld vstore3(uint3 data, size_t offset, __global uint *p);
12929void __ovld vstore3(long3 data, size_t offset, __global long *p);
12930void __ovld vstore3(ulong3 data, size_t offset, __global ulong *p);
12931void __ovld vstore3(float3 data, size_t offset, __global float *p);
12932void __ovld vstore4(char4 data, size_t offset, __global char *p);
12933void __ovld vstore4(uchar4 data, size_t offset, __global uchar *p);
12934void __ovld vstore4(short4 data, size_t offset, __global short *p);
12935void __ovld vstore4(ushort4 data, size_t offset, __global ushort *p);
12936void __ovld vstore4(int4 data, size_t offset, __global int *p);
12937void __ovld vstore4(uint4 data, size_t offset, __global uint *p);
12938void __ovld vstore4(long4 data, size_t offset, __global long *p);
12939void __ovld vstore4(ulong4 data, size_t offset, __global ulong *p);
12940void __ovld vstore4(float4 data, size_t offset, __global float *p);
12941void __ovld vstore8(char8 data, size_t offset, __global char *p);
12942void __ovld vstore8(uchar8 data, size_t offset, __global uchar *p);
12943void __ovld vstore8(short8 data, size_t offset, __global short *p);
12944void __ovld vstore8(ushort8 data, size_t offset, __global ushort *p);
12945void __ovld vstore8(int8 data, size_t offset, __global int *p);
12946void __ovld vstore8(uint8 data, size_t offset, __global uint *p);
12947void __ovld vstore8(long8 data, size_t offset, __global long *p);
12948void __ovld vstore8(ulong8 data, size_t offset, __global ulong *p);
12949void __ovld vstore8(float8 data, size_t offset, __global float *p);
12950void __ovld vstore16(char16 data, size_t offset, __global char *p);
12951void __ovld vstore16(uchar16 data, size_t offset, __global uchar *p);
12952void __ovld vstore16(short16 data, size_t offset, __global short *p);
12953void __ovld vstore16(ushort16 data, size_t offset, __global ushort *p);
12954void __ovld vstore16(int16 data, size_t offset, __global int *p);
12955void __ovld vstore16(uint16 data, size_t offset, __global uint *p);
12956void __ovld vstore16(long16 data, size_t offset, __global long *p);
12957void __ovld vstore16(ulong16 data, size_t offset, __global ulong *p);
12958void __ovld vstore16(float16 data, size_t offset, __global float *p);
12959void __ovld vstore2(char2 data, size_t offset, __local char *p);
12960void __ovld vstore2(uchar2 data, size_t offset, __local uchar *p);
12961void __ovld vstore2(short2 data, size_t offset, __local short *p);
12962void __ovld vstore2(ushort2 data, size_t offset, __local ushort *p);
12963void __ovld vstore2(int2 data, size_t offset, __local int *p);
12964void __ovld vstore2(uint2 data, size_t offset, __local uint *p);
12965void __ovld vstore2(long2 data, size_t offset, __local long *p);
12966void __ovld vstore2(ulong2 data, size_t offset, __local ulong *p);
12967void __ovld vstore2(float2 data, size_t offset, __local float *p);
12968void __ovld vstore3(char3 data, size_t offset, __local char *p);
12969void __ovld vstore3(uchar3 data, size_t offset, __local uchar *p);
12970void __ovld vstore3(short3 data, size_t offset, __local short *p);
12971void __ovld vstore3(ushort3 data, size_t offset, __local ushort *p);
12972void __ovld vstore3(int3 data, size_t offset, __local int *p);
12973void __ovld vstore3(uint3 data, size_t offset, __local uint *p);
12974void __ovld vstore3(long3 data, size_t offset, __local long *p);
12975void __ovld vstore3(ulong3 data, size_t offset, __local ulong *p);
12976void __ovld vstore3(float3 data, size_t offset, __local float *p);
12977void __ovld vstore4(char4 data, size_t offset, __local char *p);
12978void __ovld vstore4(uchar4 data, size_t offset, __local uchar *p);
12979void __ovld vstore4(short4 data, size_t offset, __local short *p);
12980void __ovld vstore4(ushort4 data, size_t offset, __local ushort *p);
12981void __ovld vstore4(int4 data, size_t offset, __local int *p);
12982void __ovld vstore4(uint4 data, size_t offset, __local uint *p);
12983void __ovld vstore4(long4 data, size_t offset, __local long *p);
12984void __ovld vstore4(ulong4 data, size_t offset, __local ulong *p);
12985void __ovld vstore4(float4 data, size_t offset, __local float *p);
12986void __ovld vstore8(char8 data, size_t offset, __local char *p);
12987void __ovld vstore8(uchar8 data, size_t offset, __local uchar *p);
12988void __ovld vstore8(short8 data, size_t offset, __local short *p);
12989void __ovld vstore8(ushort8 data, size_t offset, __local ushort *p);
12990void __ovld vstore8(int8 data, size_t offset, __local int *p);
12991void __ovld vstore8(uint8 data, size_t offset, __local uint *p);
12992void __ovld vstore8(long8 data, size_t offset, __local long *p);
12993void __ovld vstore8(ulong8 data, size_t offset, __local ulong *p);
12994void __ovld vstore8(float8 data, size_t offset, __local float *p);
12995void __ovld vstore16(char16 data, size_t offset, __local char *p);
12996void __ovld vstore16(uchar16 data, size_t offset, __local uchar *p);
12997void __ovld vstore16(short16 data, size_t offset, __local short *p);
12998void __ovld vstore16(ushort16 data, size_t offset, __local ushort *p);
12999void __ovld vstore16(int16 data, size_t offset, __local int *p);
13000void __ovld vstore16(uint16 data, size_t offset, __local uint *p);
13001void __ovld vstore16(long16 data, size_t offset, __local long *p);
13002void __ovld vstore16(ulong16 data, size_t offset, __local ulong *p);
13003void __ovld vstore16(float16 data, size_t offset, __local float *p);
13004void __ovld vstore2(char2 data, size_t offset, __private char *p);
13005void __ovld vstore2(uchar2 data, size_t offset, __private uchar *p);
13006void __ovld vstore2(short2 data, size_t offset, __private short *p);
13007void __ovld vstore2(ushort2 data, size_t offset, __private ushort *p);
13008void __ovld vstore2(int2 data, size_t offset, __private int *p);
13009void __ovld vstore2(uint2 data, size_t offset, __private uint *p);
13010void __ovld vstore2(long2 data, size_t offset, __private long *p);
13011void __ovld vstore2(ulong2 data, size_t offset, __private ulong *p);
13012void __ovld vstore2(float2 data, size_t offset, __private float *p);
13013void __ovld vstore3(char3 data, size_t offset, __private char *p);
13014void __ovld vstore3(uchar3 data, size_t offset, __private uchar *p);
13015void __ovld vstore3(short3 data, size_t offset, __private short *p);
13016void __ovld vstore3(ushort3 data, size_t offset, __private ushort *p);
13017void __ovld vstore3(int3 data, size_t offset, __private int *p);
13018void __ovld vstore3(uint3 data, size_t offset, __private uint *p);
13019void __ovld vstore3(long3 data, size_t offset, __private long *p);
13020void __ovld vstore3(ulong3 data, size_t offset, __private ulong *p);
13021void __ovld vstore3(float3 data, size_t offset, __private float *p);
13022void __ovld vstore4(char4 data, size_t offset, __private char *p);
13023void __ovld vstore4(uchar4 data, size_t offset, __private uchar *p);
13024void __ovld vstore4(short4 data, size_t offset, __private short *p);
13025void __ovld vstore4(ushort4 data, size_t offset, __private ushort *p);
13026void __ovld vstore4(int4 data, size_t offset, __private int *p);
13027void __ovld vstore4(uint4 data, size_t offset, __private uint *p);
13028void __ovld vstore4(long4 data, size_t offset, __private long *p);
13029void __ovld vstore4(ulong4 data, size_t offset, __private ulong *p);
13030void __ovld vstore4(float4 data, size_t offset, __private float *p);
13031void __ovld vstore8(char8 data, size_t offset, __private char *p);
13032void __ovld vstore8(uchar8 data, size_t offset, __private uchar *p);
13033void __ovld vstore8(short8 data, size_t offset, __private short *p);
13034void __ovld vstore8(ushort8 data, size_t offset, __private ushort *p);
13035void __ovld vstore8(int8 data, size_t offset, __private int *p);
13036void __ovld vstore8(uint8 data, size_t offset, __private uint *p);
13037void __ovld vstore8(long8 data, size_t offset, __private long *p);
13038void __ovld vstore8(ulong8 data, size_t offset, __private ulong *p);
13039void __ovld vstore8(float8 data, size_t offset, __private float *p);
13040void __ovld vstore16(char16 data, size_t offset, __private char *p);
13041void __ovld vstore16(uchar16 data, size_t offset, __private uchar *p);
13042void __ovld vstore16(short16 data, size_t offset, __private short *p);
13043void __ovld vstore16(ushort16 data, size_t offset, __private ushort *p);
13044void __ovld vstore16(int16 data, size_t offset, __private int *p);
13045void __ovld vstore16(uint16 data, size_t offset, __private uint *p);
13046void __ovld vstore16(long16 data, size_t offset, __private long *p);
13047void __ovld vstore16(ulong16 data, size_t offset, __private ulong *p);
13048void __ovld vstore16(float16 data, size_t offset, __private float *p);
13049#ifdef cl_khr_fp64
13050void __ovld vstore2(double2 data, size_t offset, __global double *p);
13051void __ovld vstore3(double3 data, size_t offset, __global double *p);
13052void __ovld vstore4(double4 data, size_t offset, __global double *p);
13053void __ovld vstore8(double8 data, size_t offset, __global double *p);
13054void __ovld vstore16(double16 data, size_t offset, __global double *p);
13055void __ovld vstore2(double2 data, size_t offset, __local double *p);
13056void __ovld vstore3(double3 data, size_t offset, __local double *p);
13057void __ovld vstore4(double4 data, size_t offset, __local double *p);
13058void __ovld vstore8(double8 data, size_t offset, __local double *p);
13059void __ovld vstore16(double16 data, size_t offset, __local double *p);
13060void __ovld vstore2(double2 data, size_t offset, __private double *p);
13061void __ovld vstore3(double3 data, size_t offset, __private double *p);
13062void __ovld vstore4(double4 data, size_t offset, __private double *p);
13063void __ovld vstore8(double8 data, size_t offset, __private double *p);
13064void __ovld vstore16(double16 data, size_t offset, __private double *p);
13065#endif //cl_khr_fp64
13066#ifdef cl_khr_fp16
13067void __ovld vstore(half data, size_t offset, __global half *p);
13068void __ovld vstore2(half2 data, size_t offset, __global half *p);
13069void __ovld vstore3(half3 data, size_t offset, __global half *p);
13070void __ovld vstore4(half4 data, size_t offset, __global half *p);
13071void __ovld vstore8(half8 data, size_t offset, __global half *p);
13072void __ovld vstore16(half16 data, size_t offset, __global half *p);
13073void __ovld vstore(half data, size_t offset, __local half *p);
13074void __ovld vstore2(half2 data, size_t offset, __local half *p);
13075void __ovld vstore3(half3 data, size_t offset, __local half *p);
13076void __ovld vstore4(half4 data, size_t offset, __local half *p);
13077void __ovld vstore8(half8 data, size_t offset, __local half *p);
13078void __ovld vstore16(half16 data, size_t offset, __local half *p);
13079void __ovld vstore(half data, size_t offset, __private half *p);
13080void __ovld vstore2(half2 data, size_t offset, __private half *p);
13081void __ovld vstore3(half3 data, size_t offset, __private half *p);
13082void __ovld vstore4(half4 data, size_t offset, __private half *p);
13083void __ovld vstore8(half8 data, size_t offset, __private half *p);
13084void __ovld vstore16(half16 data, size_t offset, __private half *p);
13085#endif //cl_khr_fp16
13086#endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
13087
13088/**
13089 * Read sizeof (half) bytes of data from address
13090 * (p + offset). The data read is interpreted as a
13091 * half value. The half value is converted to a
13092 * float value and the float value is returned.
13093 * The read address computed as (p + offset)
13094 * must be 16-bit aligned.
13095 */
13096float __ovld vload_half(size_t offset, const __constant half *p);
13097#if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
13098float __ovld vload_half(size_t offset, const half *p);
13099#else
13100float __ovld vload_half(size_t offset, const __global half *p);
13101float __ovld vload_half(size_t offset, const __local half *p);
13102float __ovld vload_half(size_t offset, const __private half *p);
13103#endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
13104
13105/**
13106 * Read sizeof (halfn) bytes of data from address
13107 * (p + (offset * n)). The data read is interpreted
13108 * as a halfn value. The halfn value read is
13109 * converted to a floatn value and the floatn
13110 * value is returned. The read address computed
13111 * as (p + (offset * n)) must be 16-bit aligned.
13112 */
13113float2 __ovld vload_half2(size_t offset, const __constant half *p);
13114float3 __ovld vload_half3(size_t offset, const __constant half *p);
13115float4 __ovld vload_half4(size_t offset, const __constant half *p);
13116float8 __ovld vload_half8(size_t offset, const __constant half *p);
13117float16 __ovld vload_half16(size_t offset, const __constant half *p);
13118#if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
13119float2 __ovld vload_half2(size_t offset, const half *p);
13120float3 __ovld vload_half3(size_t offset, const half *p);
13121float4 __ovld vload_half4(size_t offset, const half *p);
13122float8 __ovld vload_half8(size_t offset, const half *p);
13123float16 __ovld vload_half16(size_t offset, const half *p);
13124#else
13125float2 __ovld vload_half2(size_t offset, const __global half *p);
13126float3 __ovld vload_half3(size_t offset, const __global half *p);
13127float4 __ovld vload_half4(size_t offset, const __global half *p);
13128float8 __ovld vload_half8(size_t offset, const __global half *p);
13129float16 __ovld vload_half16(size_t offset, const __global half *p);
13130float2 __ovld vload_half2(size_t offset, const __local half *p);
13131float3 __ovld vload_half3(size_t offset, const __local half *p);
13132float4 __ovld vload_half4(size_t offset, const __local half *p);
13133float8 __ovld vload_half8(size_t offset, const __local half *p);
13134float16 __ovld vload_half16(size_t offset, const __local half *p);
13135float2 __ovld vload_half2(size_t offset, const __private half *p);
13136float3 __ovld vload_half3(size_t offset, const __private half *p);
13137float4 __ovld vload_half4(size_t offset, const __private half *p);
13138float8 __ovld vload_half8(size_t offset, const __private half *p);
13139float16 __ovld vload_half16(size_t offset, const __private half *p);
13140#endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
13141
13142/**
13143 * The float value given by data is first
13144 * converted to a half value using the appropriate
13145 * rounding mode. The half value is then written
13146 * to address computed as (p + offset). The
13147 * address computed as (p + offset) must be 16-
13148 * bit aligned.
13149 * vstore_half use the current rounding mode.
13150 * The default current rounding mode is round to
13151 * nearest even.
13152 */
13153#if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
13154void __ovld vstore_half(float data, size_t offset, half *p);
13155void __ovld vstore_half_rte(float data, size_t offset, half *p);
13156void __ovld vstore_half_rtz(float data, size_t offset, half *p);
13157void __ovld vstore_half_rtp(float data, size_t offset, half *p);
13158void __ovld vstore_half_rtn(float data, size_t offset, half *p);
13159#ifdef cl_khr_fp64
13160void __ovld vstore_half(double data, size_t offset, half *p);
13161void __ovld vstore_half_rte(double data, size_t offset, half *p);
13162void __ovld vstore_half_rtz(double data, size_t offset, half *p);
13163void __ovld vstore_half_rtp(double data, size_t offset, half *p);
13164void __ovld vstore_half_rtn(double data, size_t offset, half *p);
13165#endif //cl_khr_fp64
13166#else
13167void __ovld vstore_half(float data, size_t offset, __global half *p);
13168void __ovld vstore_half_rte(float data, size_t offset, __global half *p);
13169void __ovld vstore_half_rtz(float data, size_t offset, __global half *p);
13170void __ovld vstore_half_rtp(float data, size_t offset, __global half *p);
13171void __ovld vstore_half_rtn(float data, size_t offset, __global half *p);
13172void __ovld vstore_half(float data, size_t offset, __local half *p);
13173void __ovld vstore_half_rte(float data, size_t offset, __local half *p);
13174void __ovld vstore_half_rtz(float data, size_t offset, __local half *p);
13175void __ovld vstore_half_rtp(float data, size_t offset, __local half *p);
13176void __ovld vstore_half_rtn(float data, size_t offset, __local half *p);
13177void __ovld vstore_half(float data, size_t offset, __private half *p);
13178void __ovld vstore_half_rte(float data, size_t offset, __private half *p);
13179void __ovld vstore_half_rtz(float data, size_t offset, __private half *p);
13180void __ovld vstore_half_rtp(float data, size_t offset, __private half *p);
13181void __ovld vstore_half_rtn(float data, size_t offset, __private half *p);
13182#ifdef cl_khr_fp64
13183void __ovld vstore_half(double data, size_t offset, __global half *p);
13184void __ovld vstore_half_rte(double data, size_t offset, __global half *p);
13185void __ovld vstore_half_rtz(double data, size_t offset, __global half *p);
13186void __ovld vstore_half_rtp(double data, size_t offset, __global half *p);
13187void __ovld vstore_half_rtn(double data, size_t offset, __global half *p);
13188void __ovld vstore_half(double data, size_t offset, __local half *p);
13189void __ovld vstore_half_rte(double data, size_t offset, __local half *p);
13190void __ovld vstore_half_rtz(double data, size_t offset, __local half *p);
13191void __ovld vstore_half_rtp(double data, size_t offset, __local half *p);
13192void __ovld vstore_half_rtn(double data, size_t offset, __local half *p);
13193void __ovld vstore_half(double data, size_t offset, __private half *p);
13194void __ovld vstore_half_rte(double data, size_t offset, __private half *p);
13195void __ovld vstore_half_rtz(double data, size_t offset, __private half *p);
13196void __ovld vstore_half_rtp(double data, size_t offset, __private half *p);
13197void __ovld vstore_half_rtn(double data, size_t offset, __private half *p);
13198#endif //cl_khr_fp64
13199#endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
13200
13201/**
13202 * The floatn value given by data is converted to
13203 * a halfn value using the appropriate rounding
13204 * mode. The halfn value is then written to
13205 * address computed as (p + (offset * n)). The
13206 * address computed as (p + (offset * n)) must be
13207 * 16-bit aligned.
13208 * vstore_halfn uses the current rounding mode.
13209 * The default current rounding mode is round to
13210 * nearest even.
13211 */
13212#if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
13213void __ovld vstore_half2(float2 data, size_t offset, half *p);
13214void __ovld vstore_half3(float3 data, size_t offset, half *p);
13215void __ovld vstore_half4(float4 data, size_t offset, half *p);
13216void __ovld vstore_half8(float8 data, size_t offset, half *p);
13217void __ovld vstore_half16(float16 data, size_t offset, half *p);
13218void __ovld vstore_half2_rte(float2 data, size_t offset, half *p);
13219void __ovld vstore_half3_rte(float3 data, size_t offset, half *p);
13220void __ovld vstore_half4_rte(float4 data, size_t offset, half *p);
13221void __ovld vstore_half8_rte(float8 data, size_t offset, half *p);
13222void __ovld vstore_half16_rte(float16 data, size_t offset, half *p);
13223void __ovld vstore_half2_rtz(float2 data, size_t offset, half *p);
13224void __ovld vstore_half3_rtz(float3 data, size_t offset, half *p);
13225void __ovld vstore_half4_rtz(float4 data, size_t offset, half *p);
13226void __ovld vstore_half8_rtz(float8 data, size_t offset, half *p);
13227void __ovld vstore_half16_rtz(float16 data, size_t offset, half *p);
13228void __ovld vstore_half2_rtp(float2 data, size_t offset, half *p);
13229void __ovld vstore_half3_rtp(float3 data, size_t offset, half *p);
13230void __ovld vstore_half4_rtp(float4 data, size_t offset, half *p);
13231void __ovld vstore_half8_rtp(float8 data, size_t offset, half *p);
13232void __ovld vstore_half16_rtp(float16 data, size_t offset, half *p);
13233void __ovld vstore_half2_rtn(float2 data, size_t offset, half *p);
13234void __ovld vstore_half3_rtn(float3 data, size_t offset, half *p);
13235void __ovld vstore_half4_rtn(float4 data, size_t offset, half *p);
13236void __ovld vstore_half8_rtn(float8 data, size_t offset, half *p);
13237void __ovld vstore_half16_rtn(float16 data, size_t offset, half *p);
13238#ifdef cl_khr_fp64
13239void __ovld vstore_half2(double2 data, size_t offset, half *p);
13240void __ovld vstore_half3(double3 data, size_t offset, half *p);
13241void __ovld vstore_half4(double4 data, size_t offset, half *p);
13242void __ovld vstore_half8(double8 data, size_t offset, half *p);
13243void __ovld vstore_half16(double16 data, size_t offset, half *p);
13244void __ovld vstore_half2_rte(double2 data, size_t offset, half *p);
13245void __ovld vstore_half3_rte(double3 data, size_t offset, half *p);
13246void __ovld vstore_half4_rte(double4 data, size_t offset, half *p);
13247void __ovld vstore_half8_rte(double8 data, size_t offset, half *p);
13248void __ovld vstore_half16_rte(double16 data, size_t offset, half *p);
13249void __ovld vstore_half2_rtz(double2 data, size_t offset, half *p);
13250void __ovld vstore_half3_rtz(double3 data, size_t offset, half *p);
13251void __ovld vstore_half4_rtz(double4 data, size_t offset, half *p);
13252void __ovld vstore_half8_rtz(double8 data, size_t offset, half *p);
13253void __ovld vstore_half16_rtz(double16 data, size_t offset, half *p);
13254void __ovld vstore_half2_rtp(double2 data, size_t offset, half *p);
13255void __ovld vstore_half3_rtp(double3 data, size_t offset, half *p);
13256void __ovld vstore_half4_rtp(double4 data, size_t offset, half *p);
13257void __ovld vstore_half8_rtp(double8 data, size_t offset, half *p);
13258void __ovld vstore_half16_rtp(double16 data, size_t offset, half *p);
13259void __ovld vstore_half2_rtn(double2 data, size_t offset, half *p);
13260void __ovld vstore_half3_rtn(double3 data, size_t offset, half *p);
13261void __ovld vstore_half4_rtn(double4 data, size_t offset, half *p);
13262void __ovld vstore_half8_rtn(double8 data, size_t offset, half *p);
13263void __ovld vstore_half16_rtn(double16 data, size_t offset, half *p);
13264#endif //cl_khr_fp64
13265#else
13266void __ovld vstore_half2(float2 data, size_t offset, __global half *p);
13267void __ovld vstore_half3(float3 data, size_t offset, __global half *p);
13268void __ovld vstore_half4(float4 data, size_t offset, __global half *p);
13269void __ovld vstore_half8(float8 data, size_t offset, __global half *p);
13270void __ovld vstore_half16(float16 data, size_t offset, __global half *p);
13271void __ovld vstore_half2_rte(float2 data, size_t offset, __global half *p);
13272void __ovld vstore_half3_rte(float3 data, size_t offset, __global half *p);
13273void __ovld vstore_half4_rte(float4 data, size_t offset, __global half *p);
13274void __ovld vstore_half8_rte(float8 data, size_t offset, __global half *p);
13275void __ovld vstore_half16_rte(float16 data, size_t offset, __global half *p);
13276void __ovld vstore_half2_rtz(float2 data, size_t offset, __global half *p);
13277void __ovld vstore_half3_rtz(float3 data, size_t offset, __global half *p);
13278void __ovld vstore_half4_rtz(float4 data, size_t offset, __global half *p);
13279void __ovld vstore_half8_rtz(float8 data, size_t offset, __global half *p);
13280void __ovld vstore_half16_rtz(float16 data, size_t offset, __global half *p);
13281void __ovld vstore_half2_rtp(float2 data, size_t offset, __global half *p);
13282void __ovld vstore_half3_rtp(float3 data, size_t offset, __global half *p);
13283void __ovld vstore_half4_rtp(float4 data, size_t offset, __global half *p);
13284void __ovld vstore_half8_rtp(float8 data, size_t offset, __global half *p);
13285void __ovld vstore_half16_rtp(float16 data, size_t offset, __global half *p);
13286void __ovld vstore_half2_rtn(float2 data, size_t offset, __global half *p);
13287void __ovld vstore_half3_rtn(float3 data, size_t offset, __global half *p);
13288void __ovld vstore_half4_rtn(float4 data, size_t offset, __global half *p);
13289void __ovld vstore_half8_rtn(float8 data, size_t offset, __global half *p);
13290void __ovld vstore_half16_rtn(float16 data, size_t offset, __global half *p);
13291void __ovld vstore_half2(float2 data, size_t offset, __local half *p);
13292void __ovld vstore_half3(float3 data, size_t offset, __local half *p);
13293void __ovld vstore_half4(float4 data, size_t offset, __local half *p);
13294void __ovld vstore_half8(float8 data, size_t offset, __local half *p);
13295void __ovld vstore_half16(float16 data, size_t offset, __local half *p);
13296void __ovld vstore_half2_rte(float2 data, size_t offset, __local half *p);
13297void __ovld vstore_half3_rte(float3 data, size_t offset, __local half *p);
13298void __ovld vstore_half4_rte(float4 data, size_t offset, __local half *p);
13299void __ovld vstore_half8_rte(float8 data, size_t offset, __local half *p);
13300void __ovld vstore_half16_rte(float16 data, size_t offset, __local half *p);
13301void __ovld vstore_half2_rtz(float2 data, size_t offset, __local half *p);
13302void __ovld vstore_half3_rtz(float3 data, size_t offset, __local half *p);
13303void __ovld vstore_half4_rtz(float4 data, size_t offset, __local half *p);
13304void __ovld vstore_half8_rtz(float8 data, size_t offset, __local half *p);
13305void __ovld vstore_half16_rtz(float16 data, size_t offset, __local half *p);
13306void __ovld vstore_half2_rtp(float2 data, size_t offset, __local half *p);
13307void __ovld vstore_half3_rtp(float3 data, size_t offset, __local half *p);
13308void __ovld vstore_half4_rtp(float4 data, size_t offset, __local half *p);
13309void __ovld vstore_half8_rtp(float8 data, size_t offset, __local half *p);
13310void __ovld vstore_half16_rtp(float16 data, size_t offset, __local half *p);
13311void __ovld vstore_half2_rtn(float2 data, size_t offset, __local half *p);
13312void __ovld vstore_half3_rtn(float3 data, size_t offset, __local half *p);
13313void __ovld vstore_half4_rtn(float4 data, size_t offset, __local half *p);
13314void __ovld vstore_half8_rtn(float8 data, size_t offset, __local half *p);
13315void __ovld vstore_half16_rtn(float16 data, size_t offset, __local half *p);
13316void __ovld vstore_half2(float2 data, size_t offset, __private half *p);
13317void __ovld vstore_half3(float3 data, size_t offset, __private half *p);
13318void __ovld vstore_half4(float4 data, size_t offset, __private half *p);
13319void __ovld vstore_half8(float8 data, size_t offset, __private half *p);
13320void __ovld vstore_half16(float16 data, size_t offset, __private half *p);
13321void __ovld vstore_half2_rte(float2 data, size_t offset, __private half *p);
13322void __ovld vstore_half3_rte(float3 data, size_t offset, __private half *p);
13323void __ovld vstore_half4_rte(float4 data, size_t offset, __private half *p);
13324void __ovld vstore_half8_rte(float8 data, size_t offset, __private half *p);
13325void __ovld vstore_half16_rte(float16 data, size_t offset, __private half *p);
13326void __ovld vstore_half2_rtz(float2 data, size_t offset, __private half *p);
13327void __ovld vstore_half3_rtz(float3 data, size_t offset, __private half *p);
13328void __ovld vstore_half4_rtz(float4 data, size_t offset, __private half *p);
13329void __ovld vstore_half8_rtz(float8 data, size_t offset, __private half *p);
13330void __ovld vstore_half16_rtz(float16 data, size_t offset, __private half *p);
13331void __ovld vstore_half2_rtp(float2 data, size_t offset, __private half *p);
13332void __ovld vstore_half3_rtp(float3 data, size_t offset, __private half *p);
13333void __ovld vstore_half4_rtp(float4 data, size_t offset, __private half *p);
13334void __ovld vstore_half8_rtp(float8 data, size_t offset, __private half *p);
13335void __ovld vstore_half16_rtp(float16 data, size_t offset, __private half *p);
13336void __ovld vstore_half2_rtn(float2 data, size_t offset, __private half *p);
13337void __ovld vstore_half3_rtn(float3 data, size_t offset, __private half *p);
13338void __ovld vstore_half4_rtn(float4 data, size_t offset, __private half *p);
13339void __ovld vstore_half8_rtn(float8 data, size_t offset, __private half *p);
13340void __ovld vstore_half16_rtn(float16 data, size_t offset, __private half *p);
13341#ifdef cl_khr_fp64
13342void __ovld vstore_half2(double2 data, size_t offset, __global half *p);
13343void __ovld vstore_half3(double3 data, size_t offset, __global half *p);
13344void __ovld vstore_half4(double4 data, size_t offset, __global half *p);
13345void __ovld vstore_half8(double8 data, size_t offset, __global half *p);
13346void __ovld vstore_half16(double16 data, size_t offset, __global half *p);
13347void __ovld vstore_half2_rte(double2 data, size_t offset, __global half *p);
13348void __ovld vstore_half3_rte(double3 data, size_t offset, __global half *p);
13349void __ovld vstore_half4_rte(double4 data, size_t offset, __global half *p);
13350void __ovld vstore_half8_rte(double8 data, size_t offset, __global half *p);
13351void __ovld vstore_half16_rte(double16 data, size_t offset, __global half *p);
13352void __ovld vstore_half2_rtz(double2 data, size_t offset, __global half *p);
13353void __ovld vstore_half3_rtz(double3 data, size_t offset, __global half *p);
13354void __ovld vstore_half4_rtz(double4 data, size_t offset, __global half *p);
13355void __ovld vstore_half8_rtz(double8 data, size_t offset, __global half *p);
13356void __ovld vstore_half16_rtz(double16 data, size_t offset, __global half *p);
13357void __ovld vstore_half2_rtp(double2 data, size_t offset, __global half *p);
13358void __ovld vstore_half3_rtp(double3 data, size_t offset, __global half *p);
13359void __ovld vstore_half4_rtp(double4 data, size_t offset, __global half *p);
13360void __ovld vstore_half8_rtp(double8 data, size_t offset, __global half *p);
13361void __ovld vstore_half16_rtp(double16 data, size_t offset, __global half *p);
13362void __ovld vstore_half2_rtn(double2 data, size_t offset, __global half *p);
13363void __ovld vstore_half3_rtn(double3 data, size_t offset, __global half *p);
13364void __ovld vstore_half4_rtn(double4 data, size_t offset, __global half *p);
13365void __ovld vstore_half8_rtn(double8 data, size_t offset, __global half *p);
13366void __ovld vstore_half16_rtn(double16 data, size_t offset, __global half *p);
13367void __ovld vstore_half2(double2 data, size_t offset, __local half *p);
13368void __ovld vstore_half3(double3 data, size_t offset, __local half *p);
13369void __ovld vstore_half4(double4 data, size_t offset, __local half *p);
13370void __ovld vstore_half8(double8 data, size_t offset, __local half *p);
13371void __ovld vstore_half16(double16 data, size_t offset, __local half *p);
13372void __ovld vstore_half2_rte(double2 data, size_t offset, __local half *p);
13373void __ovld vstore_half3_rte(double3 data, size_t offset, __local half *p);
13374void __ovld vstore_half4_rte(double4 data, size_t offset, __local half *p);
13375void __ovld vstore_half8_rte(double8 data, size_t offset, __local half *p);
13376void __ovld vstore_half16_rte(double16 data, size_t offset, __local half *p);
13377void __ovld vstore_half2_rtz(double2 data, size_t offset, __local half *p);
13378void __ovld vstore_half3_rtz(double3 data, size_t offset, __local half *p);
13379void __ovld vstore_half4_rtz(double4 data, size_t offset, __local half *p);
13380void __ovld vstore_half8_rtz(double8 data, size_t offset, __local half *p);
13381void __ovld vstore_half16_rtz(double16 data, size_t offset, __local half *p);
13382void __ovld vstore_half2_rtp(double2 data, size_t offset, __local half *p);
13383void __ovld vstore_half3_rtp(double3 data, size_t offset, __local half *p);
13384void __ovld vstore_half4_rtp(double4 data, size_t offset, __local half *p);
13385void __ovld vstore_half8_rtp(double8 data, size_t offset, __local half *p);
13386void __ovld vstore_half16_rtp(double16 data, size_t offset, __local half *p);
13387void __ovld vstore_half2_rtn(double2 data, size_t offset, __local half *p);
13388void __ovld vstore_half3_rtn(double3 data, size_t offset, __local half *p);
13389void __ovld vstore_half4_rtn(double4 data, size_t offset, __local half *p);
13390void __ovld vstore_half8_rtn(double8 data, size_t offset, __local half *p);
13391void __ovld vstore_half16_rtn(double16 data, size_t offset, __local half *p);
13392void __ovld vstore_half2(double2 data, size_t offset, __private half *p);
13393void __ovld vstore_half3(double3 data, size_t offset, __private half *p);
13394void __ovld vstore_half4(double4 data, size_t offset, __private half *p);
13395void __ovld vstore_half8(double8 data, size_t offset, __private half *p);
13396void __ovld vstore_half16(double16 data, size_t offset, __private half *p);
13397void __ovld vstore_half2_rte(double2 data, size_t offset, __private half *p);
13398void __ovld vstore_half3_rte(double3 data, size_t offset, __private half *p);
13399void __ovld vstore_half4_rte(double4 data, size_t offset, __private half *p);
13400void __ovld vstore_half8_rte(double8 data, size_t offset, __private half *p);
13401void __ovld vstore_half16_rte(double16 data, size_t offset, __private half *p);
13402void __ovld vstore_half2_rtz(double2 data, size_t offset, __private half *p);
13403void __ovld vstore_half3_rtz(double3 data, size_t offset, __private half *p);
13404void __ovld vstore_half4_rtz(double4 data, size_t offset, __private half *p);
13405void __ovld vstore_half8_rtz(double8 data, size_t offset, __private half *p);
13406void __ovld vstore_half16_rtz(double16 data, size_t offset, __private half *p);
13407void __ovld vstore_half2_rtp(double2 data, size_t offset, __private half *p);
13408void __ovld vstore_half3_rtp(double3 data, size_t offset, __private half *p);
13409void __ovld vstore_half4_rtp(double4 data, size_t offset, __private half *p);
13410void __ovld vstore_half8_rtp(double8 data, size_t offset, __private half *p);
13411void __ovld vstore_half16_rtp(double16 data, size_t offset, __private half *p);
13412void __ovld vstore_half2_rtn(double2 data, size_t offset, __private half *p);
13413void __ovld vstore_half3_rtn(double3 data, size_t offset, __private half *p);
13414void __ovld vstore_half4_rtn(double4 data, size_t offset, __private half *p);
13415void __ovld vstore_half8_rtn(double8 data, size_t offset, __private half *p);
13416void __ovld vstore_half16_rtn(double16 data, size_t offset, __private half *p);
13417#endif //cl_khr_fp64
13418#endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
13419
13420/**
13421 * For n = 1, 2, 4, 8 and 16 read sizeof (halfn)
13422 * bytes of data from address (p + (offset * n)).
13423 * The data read is interpreted as a halfn value.
13424 * The halfn value read is converted to a floatn
13425 * value and the floatn value is returned.
13426 * The address computed as (p + (offset * n))
13427 * must be aligned to sizeof (halfn) bytes.
13428 * For n = 3, vloada_half3 reads a half3 from
13429 * address (p + (offset * 4)) and returns a float3.
13430 * The address computed as (p + (offset * 4))
13431 * must be aligned to sizeof (half) * 4 bytes.
13432 */
13433float __ovld vloada_half(size_t offset, const __constant half *p);
13434float2 __ovld vloada_half2(size_t offset, const __constant half *p);
13435float3 __ovld vloada_half3(size_t offset, const __constant half *p);
13436float4 __ovld vloada_half4(size_t offset, const __constant half *p);
13437float8 __ovld vloada_half8(size_t offset, const __constant half *p);
13438float16 __ovld vloada_half16(size_t offset, const __constant half *p);
13439#if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
13440float __ovld vloada_half(size_t offset, const half *p);
13441float2 __ovld vloada_half2(size_t offset, const half *p);
13442float3 __ovld vloada_half3(size_t offset, const half *p);
13443float4 __ovld vloada_half4(size_t offset, const half *p);
13444float8 __ovld vloada_half8(size_t offset, const half *p);
13445float16 __ovld vloada_half16(size_t offset, const half *p);
13446#else
13447float __ovld vloada_half(size_t offset, const __global half *p);
13448float2 __ovld vloada_half2(size_t offset, const __global half *p);
13449float3 __ovld vloada_half3(size_t offset, const __global half *p);
13450float4 __ovld vloada_half4(size_t offset, const __global half *p);
13451float8 __ovld vloada_half8(size_t offset, const __global half *p);
13452float16 __ovld vloada_half16(size_t offset, const __global half *p);
13453float __ovld vloada_half(size_t offset, const __local half *p);
13454float2 __ovld vloada_half2(size_t offset, const __local half *p);
13455float3 __ovld vloada_half3(size_t offset, const __local half *p);
13456float4 __ovld vloada_half4(size_t offset, const __local half *p);
13457float8 __ovld vloada_half8(size_t offset, const __local half *p);
13458float16 __ovld vloada_half16(size_t offset, const __local half *p);
13459float __ovld vloada_half(size_t offset, const __private half *p);
13460float2 __ovld vloada_half2(size_t offset, const __private half *p);
13461float3 __ovld vloada_half3(size_t offset, const __private half *p);
13462float4 __ovld vloada_half4(size_t offset, const __private half *p);
13463float8 __ovld vloada_half8(size_t offset, const __private half *p);
13464float16 __ovld vloada_half16(size_t offset, const __private half *p);
13465#endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
13466
13467/**
13468 * The floatn value given by data is converted to
13469 * a halfn value using the appropriate rounding
13470 * mode.
13471 * For n = 1, 2, 4, 8 and 16, the halfn value is
13472 * written to the address computed as (p + (offset
13473 * * n)). The address computed as (p + (offset *
13474 * n)) must be aligned to sizeof (halfn) bytes.
13475 * For n = 3, the half3 value is written to the
13476 * address computed as (p + (offset * 4)). The
13477 * address computed as (p + (offset * 4)) must be
13478 * aligned to sizeof (half) * 4 bytes.
13479 * vstorea_halfn uses the current rounding
13480 * mode. The default current rounding mode is
13481 * round to nearest even.
13482 */
13483#if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
13484void __ovld vstorea_half(float data, size_t offset, half *p);
13485void __ovld vstorea_half2(float2 data, size_t offset, half *p);
13486void __ovld vstorea_half3(float3 data, size_t offset, half *p);
13487void __ovld vstorea_half4(float4 data, size_t offset, half *p);
13488void __ovld vstorea_half8(float8 data, size_t offset, half *p);
13489void __ovld vstorea_half16(float16 data, size_t offset, half *p);
13490
13491void __ovld vstorea_half_rte(float data, size_t offset, half *p);
13492void __ovld vstorea_half2_rte(float2 data, size_t offset, half *p);
13493void __ovld vstorea_half3_rte(float3 data, size_t offset, half *p);
13494void __ovld vstorea_half4_rte(float4 data, size_t offset, half *p);
13495void __ovld vstorea_half8_rte(float8 data, size_t offset, half *p);
13496void __ovld vstorea_half16_rte(float16 data, size_t offset, half *p);
13497
13498void __ovld vstorea_half_rtz(float data, size_t offset, half *p);
13499void __ovld vstorea_half2_rtz(float2 data, size_t offset, half *p);
13500void __ovld vstorea_half3_rtz(float3 data, size_t offset, half *p);
13501void __ovld vstorea_half4_rtz(float4 data, size_t offset, half *p);
13502void __ovld vstorea_half8_rtz(float8 data, size_t offset, half *p);
13503void __ovld vstorea_half16_rtz(float16 data, size_t offset, half *p);
13504
13505void __ovld vstorea_half_rtp(float data, size_t offset, half *p);
13506void __ovld vstorea_half2_rtp(float2 data, size_t offset, half *p);
13507void __ovld vstorea_half3_rtp(float3 data, size_t offset, half *p);
13508void __ovld vstorea_half4_rtp(float4 data, size_t offset, half *p);
13509void __ovld vstorea_half8_rtp(float8 data, size_t offset, half *p);
13510void __ovld vstorea_half16_rtp(float16 data, size_t offset, half *p);
13511
13512void __ovld vstorea_half_rtn(float data, size_t offset, half *p);
13513void __ovld vstorea_half2_rtn(float2 data, size_t offset, half *p);
13514void __ovld vstorea_half3_rtn(float3 data, size_t offset, half *p);
13515void __ovld vstorea_half4_rtn(float4 data, size_t offset, half *p);
13516void __ovld vstorea_half8_rtn(float8 data, size_t offset, half *p);
13517void __ovld vstorea_half16_rtn(float16 data, size_t offset, half *p);
13518
13519#ifdef cl_khr_fp64
13520void __ovld vstorea_half(double data, size_t offset, half *p);
13521void __ovld vstorea_half2(double2 data, size_t offset, half *p);
13522void __ovld vstorea_half3(double3 data, size_t offset, half *p);
13523void __ovld vstorea_half4(double4 data, size_t offset, half *p);
13524void __ovld vstorea_half8(double8 data, size_t offset, half *p);
13525void __ovld vstorea_half16(double16 data, size_t offset, half *p);
13526
13527void __ovld vstorea_half_rte(double data, size_t offset, half *p);
13528void __ovld vstorea_half2_rte(double2 data, size_t offset, half *p);
13529void __ovld vstorea_half3_rte(double3 data, size_t offset, half *p);
13530void __ovld vstorea_half4_rte(double4 data, size_t offset, half *p);
13531void __ovld vstorea_half8_rte(double8 data, size_t offset, half *p);
13532void __ovld vstorea_half16_rte(double16 data, size_t offset, half *p);
13533
13534void __ovld vstorea_half_rtz(double data, size_t offset, half *p);
13535void __ovld vstorea_half2_rtz(double2 data, size_t offset, half *p);
13536void __ovld vstorea_half3_rtz(double3 data, size_t offset, half *p);
13537void __ovld vstorea_half4_rtz(double4 data, size_t offset, half *p);
13538void __ovld vstorea_half8_rtz(double8 data, size_t offset, half *p);
13539void __ovld vstorea_half16_rtz(double16 data, size_t offset, half *p);
13540
13541void __ovld vstorea_half_rtp(double data, size_t offset, half *p);
13542void __ovld vstorea_half2_rtp(double2 data, size_t offset, half *p);
13543void __ovld vstorea_half3_rtp(double3 data, size_t offset, half *p);
13544void __ovld vstorea_half4_rtp(double4 data, size_t offset, half *p);
13545void __ovld vstorea_half8_rtp(double8 data, size_t offset, half *p);
13546void __ovld vstorea_half16_rtp(double16 data, size_t offset, half *p);
13547
13548void __ovld vstorea_half_rtn(double data, size_t offset, half *p);
13549void __ovld vstorea_half2_rtn(double2 data, size_t offset, half *p);
13550void __ovld vstorea_half3_rtn(double3 data, size_t offset, half *p);
13551void __ovld vstorea_half4_rtn(double4 data, size_t offset, half *p);
13552void __ovld vstorea_half8_rtn(double8 data, size_t offset, half *p);
13553void __ovld vstorea_half16_rtn(double16 data, size_t offset, half *p);
13554#endif //cl_khr_fp64
13555
13556#else
13557void __ovld vstorea_half(float data, size_t offset, __global half *p);
13558void __ovld vstorea_half2(float2 data, size_t offset, __global half *p);
13559void __ovld vstorea_half3(float3 data, size_t offset, __global half *p);
13560void __ovld vstorea_half4(float4 data, size_t offset, __global half *p);
13561void __ovld vstorea_half8(float8 data, size_t offset, __global half *p);
13562void __ovld vstorea_half16(float16 data, size_t offset, __global half *p);
13563
13564void __ovld vstorea_half_rte(float data, size_t offset, __global half *p);
13565void __ovld vstorea_half2_rte(float2 data, size_t offset, __global half *p);
13566void __ovld vstorea_half3_rte(float3 data, size_t offset, __global half *p);
13567void __ovld vstorea_half4_rte(float4 data, size_t offset, __global half *p);
13568void __ovld vstorea_half8_rte(float8 data, size_t offset, __global half *p);
13569void __ovld vstorea_half16_rte(float16 data, size_t offset, __global half *p);
13570
13571void __ovld vstorea_half_rtz(float data, size_t offset, __global half *p);
13572void __ovld vstorea_half2_rtz(float2 data, size_t offset, __global half *p);
13573void __ovld vstorea_half3_rtz(float3 data, size_t offset, __global half *p);
13574void __ovld vstorea_half4_rtz(float4 data, size_t offset, __global half *p);
13575void __ovld vstorea_half8_rtz(float8 data, size_t offset, __global half *p);
13576void __ovld vstorea_half16_rtz(float16 data, size_t offset, __global half *p);
13577
13578void __ovld vstorea_half_rtp(float data, size_t offset, __global half *p);
13579void __ovld vstorea_half2_rtp(float2 data, size_t offset, __global half *p);
13580void __ovld vstorea_half3_rtp(float3 data, size_t offset, __global half *p);
13581void __ovld vstorea_half4_rtp(float4 data, size_t offset, __global half *p);
13582void __ovld vstorea_half8_rtp(float8 data, size_t offset, __global half *p);
13583void __ovld vstorea_half16_rtp(float16 data, size_t offset, __global half *p);
13584
13585void __ovld vstorea_half_rtn(float data, size_t offset, __global half *p);
13586void __ovld vstorea_half2_rtn(float2 data, size_t offset, __global half *p);
13587void __ovld vstorea_half3_rtn(float3 data, size_t offset, __global half *p);
13588void __ovld vstorea_half4_rtn(float4 data, size_t offset, __global half *p);
13589void __ovld vstorea_half8_rtn(float8 data, size_t offset, __global half *p);
13590void __ovld vstorea_half16_rtn(float16 data, size_t offset, __global half *p);
13591
13592void __ovld vstorea_half(float data, size_t offset, __local half *p);
13593void __ovld vstorea_half2(float2 data, size_t offset, __local half *p);
13594void __ovld vstorea_half3(float3 data, size_t offset, __local half *p);
13595void __ovld vstorea_half4(float4 data, size_t offset, __local half *p);
13596void __ovld vstorea_half8(float8 data, size_t offset, __local half *p);
13597void __ovld vstorea_half16(float16 data, size_t offset, __local half *p);
13598
13599void __ovld vstorea_half_rte(float data, size_t offset, __local half *p);
13600void __ovld vstorea_half2_rte(float2 data, size_t offset, __local half *p);
13601void __ovld vstorea_half3_rte(float3 data, size_t offset, __local half *p);
13602void __ovld vstorea_half4_rte(float4 data, size_t offset, __local half *p);
13603void __ovld vstorea_half8_rte(float8 data, size_t offset, __local half *p);
13604void __ovld vstorea_half16_rte(float16 data, size_t offset, __local half *p);
13605
13606void __ovld vstorea_half_rtz(float data, size_t offset, __local half *p);
13607void __ovld vstorea_half2_rtz(float2 data, size_t offset, __local half *p);
13608void __ovld vstorea_half3_rtz(float3 data, size_t offset, __local half *p);
13609void __ovld vstorea_half4_rtz(float4 data, size_t offset, __local half *p);
13610void __ovld vstorea_half8_rtz(float8 data, size_t offset, __local half *p);
13611void __ovld vstorea_half16_rtz(float16 data, size_t offset, __local half *p);
13612
13613void __ovld vstorea_half_rtp(float data, size_t offset, __local half *p);
13614void __ovld vstorea_half2_rtp(float2 data, size_t offset, __local half *p);
13615void __ovld vstorea_half3_rtp(float3 data, size_t offset, __local half *p);
13616void __ovld vstorea_half4_rtp(float4 data, size_t offset, __local half *p);
13617void __ovld vstorea_half8_rtp(float8 data, size_t offset, __local half *p);
13618void __ovld vstorea_half16_rtp(float16 data, size_t offset, __local half *p);
13619
13620void __ovld vstorea_half_rtn(float data, size_t offset, __local half *p);
13621void __ovld vstorea_half2_rtn(float2 data, size_t offset, __local half *p);
13622void __ovld vstorea_half3_rtn(float3 data, size_t offset, __local half *p);
13623void __ovld vstorea_half4_rtn(float4 data, size_t offset, __local half *p);
13624void __ovld vstorea_half8_rtn(float8 data, size_t offset, __local half *p);
13625void __ovld vstorea_half16_rtn(float16 data, size_t offset, __local half *p);
13626
13627void __ovld vstorea_half(float data, size_t offset, __private half *p);
13628void __ovld vstorea_half2(float2 data, size_t offset, __private half *p);
13629void __ovld vstorea_half3(float3 data, size_t offset, __private half *p);
13630void __ovld vstorea_half4(float4 data, size_t offset, __private half *p);
13631void __ovld vstorea_half8(float8 data, size_t offset, __private half *p);
13632void __ovld vstorea_half16(float16 data, size_t offset, __private half *p);
13633
13634void __ovld vstorea_half_rte(float data, size_t offset, __private half *p);
13635void __ovld vstorea_half2_rte(float2 data, size_t offset, __private half *p);
13636void __ovld vstorea_half3_rte(float3 data, size_t offset, __private half *p);
13637void __ovld vstorea_half4_rte(float4 data, size_t offset, __private half *p);
13638void __ovld vstorea_half8_rte(float8 data, size_t offset, __private half *p);
13639void __ovld vstorea_half16_rte(float16 data, size_t offset, __private half *p);
13640
13641void __ovld vstorea_half_rtz(float data, size_t offset, __private half *p);
13642void __ovld vstorea_half2_rtz(float2 data, size_t offset, __private half *p);
13643void __ovld vstorea_half3_rtz(float3 data, size_t offset, __private half *p);
13644void __ovld vstorea_half4_rtz(float4 data, size_t offset, __private half *p);
13645void __ovld vstorea_half8_rtz(float8 data, size_t offset, __private half *p);
13646void __ovld vstorea_half16_rtz(float16 data, size_t offset, __private half *p);
13647
13648void __ovld vstorea_half_rtp(float data, size_t offset, __private half *p);
13649void __ovld vstorea_half2_rtp(float2 data, size_t offset, __private half *p);
13650void __ovld vstorea_half3_rtp(float3 data, size_t offset, __private half *p);
13651void __ovld vstorea_half4_rtp(float4 data, size_t offset, __private half *p);
13652void __ovld vstorea_half8_rtp(float8 data, size_t offset, __private half *p);
13653void __ovld vstorea_half16_rtp(float16 data, size_t offset, __private half *p);
13654
13655void __ovld vstorea_half_rtn(float data, size_t offset, __private half *p);
13656void __ovld vstorea_half2_rtn(float2 data, size_t offset, __private half *p);
13657void __ovld vstorea_half3_rtn(float3 data, size_t offset, __private half *p);
13658void __ovld vstorea_half4_rtn(float4 data, size_t offset, __private half *p);
13659void __ovld vstorea_half8_rtn(float8 data, size_t offset, __private half *p);
13660void __ovld vstorea_half16_rtn(float16 data, size_t offset, __private half *p);
13661
13662#ifdef cl_khr_fp64
13663void __ovld vstorea_half(double data, size_t offset, __global half *p);
13664void __ovld vstorea_half2(double2 data, size_t offset, __global half *p);
13665void __ovld vstorea_half3(double3 data, size_t offset, __global half *p);
13666void __ovld vstorea_half4(double4 data, size_t offset, __global half *p);
13667void __ovld vstorea_half8(double8 data, size_t offset, __global half *p);
13668void __ovld vstorea_half16(double16 data, size_t offset, __global half *p);
13669
13670void __ovld vstorea_half_rte(double data, size_t offset, __global half *p);
13671void __ovld vstorea_half2_rte(double2 data, size_t offset, __global half *p);
13672void __ovld vstorea_half3_rte(double3 data, size_t offset, __global half *p);
13673void __ovld vstorea_half4_rte(double4 data, size_t offset, __global half *p);
13674void __ovld vstorea_half8_rte(double8 data, size_t offset, __global half *p);
13675void __ovld vstorea_half16_rte(double16 data, size_t offset, __global half *p);
13676
13677void __ovld vstorea_half_rtz(double data, size_t offset, __global half *p);
13678void __ovld vstorea_half2_rtz(double2 data, size_t offset, __global half *p);
13679void __ovld vstorea_half3_rtz(double3 data, size_t offset, __global half *p);
13680void __ovld vstorea_half4_rtz(double4 data, size_t offset, __global half *p);
13681void __ovld vstorea_half8_rtz(double8 data, size_t offset, __global half *p);
13682void __ovld vstorea_half16_rtz(double16 data, size_t offset, __global half *p);
13683
13684void __ovld vstorea_half_rtp(double data, size_t offset, __global half *p);
13685void __ovld vstorea_half2_rtp(double2 data, size_t offset, __global half *p);
13686void __ovld vstorea_half3_rtp(double3 data, size_t offset, __global half *p);
13687void __ovld vstorea_half4_rtp(double4 data, size_t offset, __global half *p);
13688void __ovld vstorea_half8_rtp(double8 data, size_t offset, __global half *p);
13689void __ovld vstorea_half16_rtp(double16 data, size_t offset, __global half *p);
13690
13691void __ovld vstorea_half_rtn(double data, size_t offset, __global half *p);
13692void __ovld vstorea_half2_rtn(double2 data, size_t offset, __global half *p);
13693void __ovld vstorea_half3_rtn(double3 data, size_t offset, __global half *p);
13694void __ovld vstorea_half4_rtn(double4 data, size_t offset, __global half *p);
13695void __ovld vstorea_half8_rtn(double8 data, size_t offset, __global half *p);
13696void __ovld vstorea_half16_rtn(double16 data, size_t offset, __global half *p);
13697
13698void __ovld vstorea_half(double data, size_t offset, __local half *p);
13699void __ovld vstorea_half2(double2 data, size_t offset, __local half *p);
13700void __ovld vstorea_half3(double3 data, size_t offset, __local half *p);
13701void __ovld vstorea_half4(double4 data, size_t offset, __local half *p);
13702void __ovld vstorea_half8(double8 data, size_t offset, __local half *p);
13703void __ovld vstorea_half16(double16 data, size_t offset, __local half *p);
13704
13705void __ovld vstorea_half_rte(double data, size_t offset, __local half *p);
13706void __ovld vstorea_half2_rte(double2 data, size_t offset, __local half *p);
13707void __ovld vstorea_half3_rte(double3 data, size_t offset, __local half *p);
13708void __ovld vstorea_half4_rte(double4 data, size_t offset, __local half *p);
13709void __ovld vstorea_half8_rte(double8 data, size_t offset, __local half *p);
13710void __ovld vstorea_half16_rte(double16 data, size_t offset, __local half *p);
13711
13712void __ovld vstorea_half_rtz(double data, size_t offset, __local half *p);
13713void __ovld vstorea_half2_rtz(double2 data, size_t offset, __local half *p);
13714void __ovld vstorea_half3_rtz(double3 data, size_t offset, __local half *p);
13715void __ovld vstorea_half4_rtz(double4 data, size_t offset, __local half *p);
13716void __ovld vstorea_half8_rtz(double8 data, size_t offset, __local half *p);
13717void __ovld vstorea_half16_rtz(double16 data, size_t offset, __local half *p);
13718
13719void __ovld vstorea_half_rtp(double data, size_t offset, __local half *p);
13720void __ovld vstorea_half2_rtp(double2 data, size_t offset, __local half *p);
13721void __ovld vstorea_half3_rtp(double3 data, size_t offset, __local half *p);
13722void __ovld vstorea_half4_rtp(double4 data, size_t offset, __local half *p);
13723void __ovld vstorea_half8_rtp(double8 data, size_t offset, __local half *p);
13724void __ovld vstorea_half16_rtp(double16 data, size_t offset, __local half *p);
13725
13726void __ovld vstorea_half_rtn(double data, size_t offset, __local half *p);
13727void __ovld vstorea_half2_rtn(double2 data, size_t offset, __local half *p);
13728void __ovld vstorea_half3_rtn(double3 data, size_t offset, __local half *p);
13729void __ovld vstorea_half4_rtn(double4 data, size_t offset, __local half *p);
13730void __ovld vstorea_half8_rtn(double8 data, size_t offset, __local half *p);
13731void __ovld vstorea_half16_rtn(double16 data, size_t offset, __local half *p);
13732
13733void __ovld vstorea_half(double data, size_t offset, __private half *p);
13734void __ovld vstorea_half2(double2 data, size_t offset, __private half *p);
13735void __ovld vstorea_half3(double3 data, size_t offset, __private half *p);
13736void __ovld vstorea_half4(double4 data, size_t offset, __private half *p);
13737void __ovld vstorea_half8(double8 data, size_t offset, __private half *p);
13738void __ovld vstorea_half16(double16 data, size_t offset, __private half *p);
13739
13740void __ovld vstorea_half_rte(double data, size_t offset, __private half *p);
13741void __ovld vstorea_half2_rte(double2 data, size_t offset, __private half *p);
13742void __ovld vstorea_half3_rte(double3 data, size_t offset, __private half *p);
13743void __ovld vstorea_half4_rte(double4 data, size_t offset, __private half *p);
13744void __ovld vstorea_half8_rte(double8 data, size_t offset, __private half *p);
13745void __ovld vstorea_half16_rte(double16 data, size_t offset, __private half *p);
13746
13747void __ovld vstorea_half_rtz(double data, size_t offset, __private half *p);
13748void __ovld vstorea_half2_rtz(double2 data, size_t offset, __private half *p);
13749void __ovld vstorea_half3_rtz(double3 data, size_t offset, __private half *p);
13750void __ovld vstorea_half4_rtz(double4 data, size_t offset, __private half *p);
13751void __ovld vstorea_half8_rtz(double8 data, size_t offset, __private half *p);
13752void __ovld vstorea_half16_rtz(double16 data, size_t offset, __private half *p);
13753
13754void __ovld vstorea_half_rtp(double data, size_t offset, __private half *p);
13755void __ovld vstorea_half2_rtp(double2 data, size_t offset, __private half *p);
13756void __ovld vstorea_half3_rtp(double3 data, size_t offset, __private half *p);
13757void __ovld vstorea_half4_rtp(double4 data, size_t offset, __private half *p);
13758void __ovld vstorea_half8_rtp(double8 data, size_t offset, __private half *p);
13759void __ovld vstorea_half16_rtp(double16 data, size_t offset, __private half *p);
13760
13761void __ovld vstorea_half_rtn(double data, size_t offset, __private half *p);
13762void __ovld vstorea_half2_rtn(double2 data,size_t offset, __private half *p);
13763void __ovld vstorea_half3_rtn(double3 data,size_t offset, __private half *p);
13764void __ovld vstorea_half4_rtn(double4 data,size_t offset, __private half *p);
13765void __ovld vstorea_half8_rtn(double8 data,size_t offset, __private half *p);
13766void __ovld vstorea_half16_rtn(double16 data,size_t offset, __private half *p);
13767#endif //cl_khr_fp64
13768#endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
13769
13770// OpenCL v1.1 s6.11.8, v1.2 s6.12.8, v2.0 s6.13.8 - Synchronization Functions
13771
13772// Flag type and values for barrier, mem_fence, read_mem_fence, write_mem_fence
13773typedef uint cl_mem_fence_flags;
13774
13775/**
13776 * Queue a memory fence to ensure correct
13777 * ordering of memory operations to local memory
13778 */
13779#define CLK_LOCAL_MEM_FENCE    0x01
13780
13781/**
13782 * Queue a memory fence to ensure correct
13783 * ordering of memory operations to global memory
13784 */
13785#define CLK_GLOBAL_MEM_FENCE   0x02
13786
13787#if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
13788/**
13789 * Queue a memory fence to ensure correct ordering of memory
13790 * operations between work-items of a work-group to
13791 * image memory.
13792 */
13793#define CLK_IMAGE_MEM_FENCE  0x04
13794#endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
13795
13796/**
13797 * All work-items in a work-group executing the kernel
13798 * on a processor must execute this function before any
13799 * are allowed to continue execution beyond the barrier.
13800 * This function must be encountered by all work-items in
13801 * a work-group executing the kernel.
13802 * If barrier is inside a conditional statement, then all
13803 * work-items must enter the conditional if any work-item
13804 * enters the conditional statement and executes the
13805 * barrier.
13806 * If barrer is inside a loop, all work-items must execute
13807 * the barrier for each iteration of the loop before any are
13808 * allowed to continue execution beyond the barrier.
13809 * The barrier function also queues a memory fence
13810 * (reads and writes) to ensure correct ordering of
13811 * memory operations to local or global memory.
13812 * The flags argument specifies the memory address space
13813 * and can be set to a combination of the following literal
13814 * values.
13815 * CLK_LOCAL_MEM_FENCE - The barrier function
13816 * will either flush any variables stored in local memory
13817 * or queue a memory fence to ensure correct ordering of
13818 * memory operations to local memory.
13819 * CLK_GLOBAL_MEM_FENCE - The barrier function
13820 * will queue a memory fence to ensure correct ordering
13821 * of memory operations to global memory. This can be
13822 * useful when work-items, for example, write to buffer or
13823 * image objects and then want to read the updated data.
13824 */
13825
13826void __ovld __conv barrier(cl_mem_fence_flags flags);
13827
13828#if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
13829
13830typedef enum memory_scope
13831{
13832  memory_scope_work_item,
13833  memory_scope_work_group,
13834  memory_scope_device,
13835  memory_scope_all_svm_devices,
13836  memory_scope_sub_group
13837} memory_scope;
13838
13839void __ovld __conv work_group_barrier(cl_mem_fence_flags flags, memory_scope scope);
13840void __ovld __conv work_group_barrier(cl_mem_fence_flags flags);
13841#endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
13842
13843// OpenCL v1.1 s6.11.9, v1.2 s6.12.9 - Explicit Memory Fence Functions
13844
13845/**
13846 * Orders loads and stores of a work-item
13847 * executing a kernel. This means that loads
13848 * and stores preceding the mem_fence will
13849 * be committed to memory before any loads
13850 * and stores following the mem_fence.
13851 * The flags argument specifies the memory
13852 * address space and can be set to a
13853 * combination of the following literal
13854 * values:
13855 * CLK_LOCAL_MEM_FENCE
13856 * CLK_GLOBAL_MEM_FENCE.
13857 */
13858void __ovld mem_fence(cl_mem_fence_flags flags);
13859
13860/**
13861 * Read memory barrier that orders only
13862 * loads.
13863 * The flags argument specifies the memory
13864 * address space and can be set to to a
13865 * combination of the following literal
13866 * values:
13867 * CLK_LOCAL_MEM_FENCE
13868 * CLK_GLOBAL_MEM_FENCE.
13869 */
13870void __ovld read_mem_fence(cl_mem_fence_flags flags);
13871
13872/**
13873 * Write memory barrier that orders only
13874 * stores.
13875 * The flags argument specifies the memory
13876 * address space and can be set to to a
13877 * combination of the following literal
13878 * values:
13879 * CLK_LOCAL_MEM_FENCE
13880 * CLK_GLOBAL_MEM_FENCE.
13881 */
13882void __ovld write_mem_fence(cl_mem_fence_flags flags);
13883
13884// OpenCL v2.0 s6.13.9 - Address Space Qualifier Functions
13885
13886#if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
13887cl_mem_fence_flags __ovld get_fence(const void *ptr);
13888cl_mem_fence_flags __ovld get_fence(void *ptr);
13889
13890/**
13891 * Builtin functions to_global, to_local, and to_private need to be declared as Clang builtin functions
13892 * and checked in Sema since they should be declared as
13893 *   addr gentype* to_addr (gentype*);
13894 * where gentype is builtin type or user defined type.
13895 */
13896
13897#endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
13898
13899// OpenCL v1.1 s6.11.10, v1.2 s6.12.10, v2.0 s6.13.10 - Async Copies from Global to Local Memory, Local to Global Memory, and Prefetch
13900
13901/**
13902 * event_t async_work_group_copy (
13903 * __global gentype *dst,
13904 * const __local gentype *src,
13905 * size_t num_elements,
13906 * event_t event)
13907 * Perform an async copy of num_elements
13908 * gentype elements from src to dst. The async
13909 * copy is performed by all work-items in a workgroup
13910 * and this built-in function must therefore
13911 * be encountered by all work-items in a workgroup
13912 * executing the kernel with the same
13913 * argument values; otherwise the results are
13914 * undefined.
13915 * Returns an event object that can be used by
13916 * wait_group_events to wait for the async copy
13917 * to finish. The event argument can also be used
13918 * to associate the async_work_group_copy with
13919 * a previous async copy allowing an event to be
13920 * shared by multiple async copies; otherwise event
13921 * should be zero.
13922 * If event argument is non-zero, the event object
13923 * supplied in event argument will be returned.
13924 * This function does not perform any implicit
13925 * synchronization of source data such as using a
13926 * barrier before performing the copy.
13927 */
13928event_t __ovld async_work_group_copy(__local char *dst, const __global char *src, size_t num_elements, event_t event);
13929event_t __ovld async_work_group_copy(__local uchar *dst, const __global uchar *src, size_t num_elements, event_t event);
13930event_t __ovld async_work_group_copy(__local short *dst, const __global short *src, size_t num_elements, event_t event);
13931event_t __ovld async_work_group_copy(__local ushort *dst, const __global ushort *src, size_t num_elements, event_t event);
13932event_t __ovld async_work_group_copy(__local int *dst, const __global int *src, size_t num_elements, event_t event);
13933event_t __ovld async_work_group_copy(__local uint *dst, const __global uint *src, size_t num_elements, event_t event);
13934event_t __ovld async_work_group_copy(__local long *dst, const __global long *src, size_t num_elements, event_t event);
13935event_t __ovld async_work_group_copy(__local ulong *dst, const __global ulong *src, size_t num_elements, event_t event);
13936event_t __ovld async_work_group_copy(__local float *dst, const __global float *src, size_t num_elements, event_t event);
13937event_t __ovld async_work_group_copy(__local char2 *dst, const __global char2 *src, size_t num_elements, event_t event);
13938event_t __ovld async_work_group_copy(__local uchar2 *dst, const __global uchar2 *src, size_t num_elements, event_t event);
13939event_t __ovld async_work_group_copy(__local short2 *dst, const __global short2 *src, size_t num_elements, event_t event);
13940event_t __ovld async_work_group_copy(__local ushort2 *dst, const __global ushort2 *src, size_t num_elements, event_t event);
13941event_t __ovld async_work_group_copy(__local int2 *dst, const __global int2 *src, size_t num_elements, event_t event);
13942event_t __ovld async_work_group_copy(__local uint2 *dst, const __global uint2 *src, size_t num_elements, event_t event);
13943event_t __ovld async_work_group_copy(__local long2 *dst, const __global long2 *src, size_t num_elements, event_t event);
13944event_t __ovld async_work_group_copy(__local ulong2 *dst, const __global ulong2 *src, size_t num_elements, event_t event);
13945event_t __ovld async_work_group_copy(__local float2 *dst, const __global float2 *src, size_t num_elements, event_t event);
13946event_t __ovld async_work_group_copy(__local char3 *dst, const __global char3 *src, size_t num_elements, event_t event);
13947event_t __ovld async_work_group_copy(__local uchar3 *dst, const __global uchar3 *src, size_t num_elements, event_t event);
13948event_t __ovld async_work_group_copy(__local short3 *dst, const __global short3 *src, size_t num_elements, event_t event);
13949event_t __ovld async_work_group_copy(__local ushort3 *dst, const __global ushort3 *src, size_t num_elements, event_t event);
13950event_t __ovld async_work_group_copy(__local int3 *dst, const __global int3 *src, size_t num_elements, event_t event);
13951event_t __ovld async_work_group_copy(__local uint3 *dst, const __global uint3 *src, size_t num_elements, event_t event);
13952event_t __ovld async_work_group_copy(__local long3 *dst, const __global long3 *src, size_t num_elements, event_t event);
13953event_t __ovld async_work_group_copy(__local ulong3 *dst, const __global ulong3 *src, size_t num_elements, event_t event);
13954event_t __ovld async_work_group_copy(__local float3 *dst, const __global float3 *src, size_t num_elements, event_t event);
13955event_t __ovld async_work_group_copy(__local char4 *dst, const __global char4 *src, size_t num_elements, event_t event);
13956event_t __ovld async_work_group_copy(__local uchar4 *dst, const __global uchar4 *src, size_t num_elements, event_t event);
13957event_t __ovld async_work_group_copy(__local short4 *dst, const __global short4 *src, size_t num_elements, event_t event);
13958event_t __ovld async_work_group_copy(__local ushort4 *dst, const __global ushort4 *src, size_t num_elements, event_t event);
13959event_t __ovld async_work_group_copy(__local int4 *dst, const __global int4 *src, size_t num_elements, event_t event);
13960event_t __ovld async_work_group_copy(__local uint4 *dst, const __global uint4 *src, size_t num_elements, event_t event);
13961event_t __ovld async_work_group_copy(__local long4 *dst, const __global long4 *src, size_t num_elements, event_t event);
13962event_t __ovld async_work_group_copy(__local ulong4 *dst, const __global ulong4 *src, size_t num_elements, event_t event);
13963event_t __ovld async_work_group_copy(__local float4 *dst, const __global float4 *src, size_t num_elements, event_t event);
13964event_t __ovld async_work_group_copy(__local char8 *dst, const __global char8 *src, size_t num_elements, event_t event);
13965event_t __ovld async_work_group_copy(__local uchar8 *dst, const __global uchar8 *src, size_t num_elements, event_t event);
13966event_t __ovld async_work_group_copy(__local short8 *dst, const __global short8 *src, size_t num_elements, event_t event);
13967event_t __ovld async_work_group_copy(__local ushort8 *dst, const __global ushort8 *src, size_t num_elements, event_t event);
13968event_t __ovld async_work_group_copy(__local int8 *dst, const __global int8 *src, size_t num_elements, event_t event);
13969event_t __ovld async_work_group_copy(__local uint8 *dst, const __global uint8 *src, size_t num_elements, event_t event);
13970event_t __ovld async_work_group_copy(__local long8 *dst, const __global long8 *src, size_t num_elements, event_t event);
13971event_t __ovld async_work_group_copy(__local ulong8 *dst, const __global ulong8 *src, size_t num_elements, event_t event);
13972event_t __ovld async_work_group_copy(__local float8 *dst, const __global float8 *src, size_t num_elements, event_t event);
13973event_t __ovld async_work_group_copy(__local char16 *dst, const __global char16 *src, size_t num_elements, event_t event);
13974event_t __ovld async_work_group_copy(__local uchar16 *dst, const __global uchar16 *src, size_t num_elements, event_t event);
13975event_t __ovld async_work_group_copy(__local short16 *dst, const __global short16 *src, size_t num_elements, event_t event);
13976event_t __ovld async_work_group_copy(__local ushort16 *dst, const __global ushort16 *src, size_t num_elements, event_t event);
13977event_t __ovld async_work_group_copy(__local int16 *dst, const __global int16 *src, size_t num_elements, event_t event);
13978event_t __ovld async_work_group_copy(__local uint16 *dst, const __global uint16 *src, size_t num_elements, event_t event);
13979event_t __ovld async_work_group_copy(__local long16 *dst, const __global long16 *src, size_t num_elements, event_t event);
13980event_t __ovld async_work_group_copy(__local ulong16 *dst, const __global ulong16 *src, size_t num_elements, event_t event);
13981event_t __ovld async_work_group_copy(__local float16 *dst, const __global float16 *src, size_t num_elements, event_t event);
13982event_t __ovld async_work_group_copy(__global char *dst, const __local char *src, size_t num_elements, event_t event);
13983event_t __ovld async_work_group_copy(__global uchar *dst, const __local uchar *src, size_t num_elements, event_t event);
13984event_t __ovld async_work_group_copy(__global short *dst, const __local short *src, size_t num_elements, event_t event);
13985event_t __ovld async_work_group_copy(__global ushort *dst, const __local ushort *src, size_t num_elements, event_t event);
13986event_t __ovld async_work_group_copy(__global int *dst, const __local int *src, size_t num_elements, event_t event);
13987event_t __ovld async_work_group_copy(__global uint *dst, const __local uint *src, size_t num_elements, event_t event);
13988event_t __ovld async_work_group_copy(__global long *dst, const __local long *src, size_t num_elements, event_t event);
13989event_t __ovld async_work_group_copy(__global ulong *dst, const __local ulong *src, size_t num_elements, event_t event);
13990event_t __ovld async_work_group_copy(__global float *dst, const __local float *src, size_t num_elements, event_t event);
13991event_t __ovld async_work_group_copy(__global char2 *dst, const __local char2 *src, size_t num_elements, event_t event);
13992event_t __ovld async_work_group_copy(__global uchar2 *dst, const __local uchar2 *src, size_t num_elements, event_t event);
13993event_t __ovld async_work_group_copy(__global short2 *dst, const __local short2 *src, size_t num_elements, event_t event);
13994event_t __ovld async_work_group_copy(__global ushort2 *dst, const __local ushort2 *src, size_t num_elements, event_t event);
13995event_t __ovld async_work_group_copy(__global int2 *dst, const __local int2 *src, size_t num_elements, event_t event);
13996event_t __ovld async_work_group_copy(__global uint2 *dst, const __local uint2 *src, size_t num_elements, event_t event);
13997event_t __ovld async_work_group_copy(__global long2 *dst, const __local long2 *src, size_t num_elements, event_t event);
13998event_t __ovld async_work_group_copy(__global ulong2 *dst, const __local ulong2 *src, size_t num_elements, event_t event);
13999event_t __ovld async_work_group_copy(__global float2 *dst, const __local float2 *src, size_t num_elements, event_t event);
14000event_t __ovld async_work_group_copy(__global char3 *dst, const __local char3 *src, size_t num_elements, event_t event);
14001event_t __ovld async_work_group_copy(__global uchar3 *dst, const __local uchar3 *src, size_t num_elements, event_t event);
14002event_t __ovld async_work_group_copy(__global short3 *dst, const __local short3 *src, size_t num_elements, event_t event);
14003event_t __ovld async_work_group_copy(__global ushort3 *dst, const __local ushort3 *src, size_t num_elements, event_t event);
14004event_t __ovld async_work_group_copy(__global int3 *dst, const __local int3 *src, size_t num_elements, event_t event);
14005event_t __ovld async_work_group_copy(__global uint3 *dst, const __local uint3 *src, size_t num_elements, event_t event);
14006event_t __ovld async_work_group_copy(__global long3 *dst, const __local long3 *src, size_t num_elements, event_t event);
14007event_t __ovld async_work_group_copy(__global ulong3 *dst, const __local ulong3 *src, size_t num_elements, event_t event);
14008event_t __ovld async_work_group_copy(__global float3 *dst, const __local float3 *src, size_t num_elements, event_t event);
14009event_t __ovld async_work_group_copy(__global char4 *dst, const __local char4 *src, size_t num_elements, event_t event);
14010event_t __ovld async_work_group_copy(__global uchar4 *dst, const __local uchar4 *src, size_t num_elements, event_t event);
14011event_t __ovld async_work_group_copy(__global short4 *dst, const __local short4 *src, size_t num_elements, event_t event);
14012event_t __ovld async_work_group_copy(__global ushort4 *dst, const __local ushort4 *src, size_t num_elements, event_t event);
14013event_t __ovld async_work_group_copy(__global int4 *dst, const __local int4 *src, size_t num_elements, event_t event);
14014event_t __ovld async_work_group_copy(__global uint4 *dst, const __local uint4 *src, size_t num_elements, event_t event);
14015event_t __ovld async_work_group_copy(__global long4 *dst, const __local long4 *src, size_t num_elements, event_t event);
14016event_t __ovld async_work_group_copy(__global ulong4 *dst, const __local ulong4 *src, size_t num_elements, event_t event);
14017event_t __ovld async_work_group_copy(__global float4 *dst, const __local float4 *src, size_t num_elements, event_t event);
14018event_t __ovld async_work_group_copy(__global char8 *dst, const __local char8 *src, size_t num_elements, event_t event);
14019event_t __ovld async_work_group_copy(__global uchar8 *dst, const __local uchar8 *src, size_t num_elements, event_t event);
14020event_t __ovld async_work_group_copy(__global short8 *dst, const __local short8 *src, size_t num_elements, event_t event);
14021event_t __ovld async_work_group_copy(__global ushort8 *dst, const __local ushort8 *src, size_t num_elements, event_t event);
14022event_t __ovld async_work_group_copy(__global int8 *dst, const __local int8 *src, size_t num_elements, event_t event);
14023event_t __ovld async_work_group_copy(__global uint8 *dst, const __local uint8 *src, size_t num_elements, event_t event);
14024event_t __ovld async_work_group_copy(__global long8 *dst, const __local long8 *src, size_t num_elements, event_t event);
14025event_t __ovld async_work_group_copy(__global ulong8 *dst, const __local ulong8 *src, size_t num_elements, event_t event);
14026event_t __ovld async_work_group_copy(__global float8 *dst, const __local float8 *src, size_t num_elements, event_t event);
14027event_t __ovld async_work_group_copy(__global char16 *dst, const __local char16 *src, size_t num_elements, event_t event);
14028event_t __ovld async_work_group_copy(__global uchar16 *dst, const __local uchar16 *src, size_t num_elements, event_t event);
14029event_t __ovld async_work_group_copy(__global short16 *dst, const __local short16 *src, size_t num_elements, event_t event);
14030event_t __ovld async_work_group_copy(__global ushort16 *dst, const __local ushort16 *src, size_t num_elements, event_t event);
14031event_t __ovld async_work_group_copy(__global int16 *dst, const __local int16 *src, size_t num_elements, event_t event);
14032event_t __ovld async_work_group_copy(__global uint16 *dst, const __local uint16 *src, size_t num_elements, event_t event);
14033event_t __ovld async_work_group_copy(__global long16 *dst, const __local long16 *src, size_t num_elements, event_t event);
14034event_t __ovld async_work_group_copy(__global ulong16 *dst, const __local ulong16 *src, size_t num_elements, event_t event);
14035event_t __ovld async_work_group_copy(__global float16 *dst, const __local float16 *src, size_t num_elements, event_t event);
14036#ifdef cl_khr_fp64
14037event_t __ovld async_work_group_copy(__local double *dst, const __global double *src, size_t num_elements, event_t event);
14038event_t __ovld async_work_group_copy(__local double2 *dst, const __global double2 *src, size_t num_elements, event_t event);
14039event_t __ovld async_work_group_copy(__local double3 *dst, const __global double3 *src, size_t num_elements, event_t event);
14040event_t __ovld async_work_group_copy(__local double4 *dst, const __global double4 *src, size_t num_elements, event_t event);
14041event_t __ovld async_work_group_copy(__local double8 *dst, const __global double8 *src, size_t num_elements, event_t event);
14042event_t __ovld async_work_group_copy(__local double16 *dst, const __global double16 *src, size_t num_elements, event_t event);
14043event_t __ovld async_work_group_copy(__global double *dst, const __local double *src, size_t num_elements, event_t event);
14044event_t __ovld async_work_group_copy(__global double2 *dst, const __local double2 *src, size_t num_elements, event_t event);
14045event_t __ovld async_work_group_copy(__global double3 *dst, const __local double3 *src, size_t num_elements, event_t event);
14046event_t __ovld async_work_group_copy(__global double4 *dst, const __local double4 *src, size_t num_elements, event_t event);
14047event_t __ovld async_work_group_copy(__global double8 *dst, const __local double8 *src, size_t num_elements, event_t event);
14048event_t __ovld async_work_group_copy(__global double16 *dst, const __local double16 *src, size_t num_elements, event_t event);
14049#endif //cl_khr_fp64
14050#ifdef cl_khr_fp16
14051event_t __ovld async_work_group_copy(__local half *dst, const __global half *src, size_t num_elements, event_t event);
14052event_t __ovld async_work_group_copy(__local half2 *dst, const __global half2 *src, size_t num_elements, event_t event);
14053event_t __ovld async_work_group_copy(__local half3 *dst, const __global half3 *src, size_t num_elements, event_t event);
14054event_t __ovld async_work_group_copy(__local half4 *dst, const __global half4 *src, size_t num_elements, event_t event);
14055event_t __ovld async_work_group_copy(__local half8 *dst, const __global half8 *src, size_t num_elements, event_t event);
14056event_t __ovld async_work_group_copy(__local half16 *dst, const __global half16 *src, size_t num_elements, event_t event);
14057event_t __ovld async_work_group_copy(__global half *dst, const __local half *src, size_t num_elements, event_t event);
14058event_t __ovld async_work_group_copy(__global half2 *dst, const __local half2 *src, size_t num_elements, event_t event);
14059event_t __ovld async_work_group_copy(__global half3 *dst, const __local half3 *src, size_t num_elements, event_t event);
14060event_t __ovld async_work_group_copy(__global half4 *dst, const __local half4 *src, size_t num_elements, event_t event);
14061event_t __ovld async_work_group_copy(__global half8 *dst, const __local half8 *src, size_t num_elements, event_t event);
14062event_t __ovld async_work_group_copy(__global half16 *dst, const __local half16 *src, size_t num_elements, event_t event);
14063#endif //cl_khr_fp16
14064
14065/**
14066 * Perform an async gather of num_elements
14067 * gentype elements from src to dst. The
14068 * src_stride is the stride in elements for each
14069 * gentype element read from src. The dst_stride
14070 * is the stride in elements for each gentype
14071 * element written to dst. The async gather is
14072 * performed by all work-items in a work-group.
14073 * This built-in function must therefore be
14074 * encountered by all work-items in a work-group
14075 * executing the kernel with the same argument
14076 * values; otherwise the results are undefined.
14077 * Returns an event object that can be used by
14078 * wait_group_events to wait for the async copy
14079 * to finish. The event argument can also be used
14080 * to associate the
14081 * async_work_group_strided_copy with a
14082 * previous async copy allowing an event to be
14083 * shared by multiple async copies; otherwise event
14084 * should be zero.
14085 * If event argument is non-zero, the event object
14086 * supplied in event argument will be returned.
14087 * This function does not perform any implicit
14088 * synchronization of source data such as using a
14089 * barrier before performing the copy.
14090 */
14091event_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);
14092event_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);
14093event_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);
14094event_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);
14095event_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);
14096event_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);
14097event_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);
14098event_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);
14099event_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);
14100event_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);
14101event_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);
14102event_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);
14103event_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);
14104event_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);
14105event_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);
14106event_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);
14107event_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);
14108event_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);
14109event_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);
14110event_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);
14111event_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);
14112event_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);
14113event_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);
14114event_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);
14115event_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);
14116event_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);
14117event_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);
14118event_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);
14119event_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);
14120event_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);
14121event_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);
14122event_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);
14123event_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);
14124event_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);
14125event_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);
14126event_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);
14127event_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);
14128event_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);
14129event_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);
14130event_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);
14131event_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);
14132event_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);
14133event_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);
14134event_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);
14135event_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);
14136event_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);
14137event_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);
14138event_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);
14139event_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);
14140event_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);
14141event_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);
14142event_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);
14143event_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);
14144event_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);
14145event_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);
14146event_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);
14147event_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);
14148event_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);
14149event_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);
14150event_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);
14151event_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);
14152event_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);
14153event_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);
14154event_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);
14155event_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);
14156event_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);
14157event_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);
14158event_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);
14159event_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);
14160event_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);
14161event_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);
14162event_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);
14163event_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);
14164event_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);
14165event_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);
14166event_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);
14167event_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);
14168event_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);
14169event_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);
14170event_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);
14171event_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);
14172event_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);
14173event_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);
14174event_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);
14175event_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);
14176event_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);
14177event_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);
14178event_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);
14179event_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);
14180event_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);
14181event_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);
14182event_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);
14183event_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);
14184event_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);
14185event_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);
14186event_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);
14187event_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);
14188event_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);
14189event_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);
14190event_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);
14191event_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);
14192event_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);
14193event_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);
14194event_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);
14195event_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);
14196event_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);
14197event_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);
14198event_t __ovld async_work_group_strided_copy(__global float16 *dst, const __local float16 *src, size_t num_elements, size_t dst_stride, event_t event);
14199#ifdef cl_khr_fp64
14200event_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);
14201event_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);
14202event_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);
14203event_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);
14204event_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);
14205event_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);
14206event_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);
14207event_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);
14208event_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);
14209event_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);
14210event_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);
14211event_t __ovld async_work_group_strided_copy(__global double16 *dst, const __local double16 *src, size_t num_elements, size_t dst_stride, event_t event);
14212#endif //cl_khr_fp64
14213#ifdef cl_khr_fp16
14214event_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);
14215event_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);
14216event_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);
14217event_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);
14218event_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);
14219event_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);
14220event_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);
14221event_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);
14222event_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);
14223event_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);
14224event_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);
14225event_t __ovld async_work_group_strided_copy(__global half16 *dst, const __local half16 *src, size_t num_elements, size_t dst_stride, event_t event);
14226#endif //cl_khr_fp16
14227
14228/**
14229 * Wait for events that identify the
14230 * async_work_group_copy operations to
14231 * complete. The event objects specified in
14232 * event_list will be released after the wait is
14233 * performed.
14234 * This function must be encountered by all workitems
14235 * in a work-group executing the kernel with
14236 * the same num_events and event objects specified
14237 * in event_list; otherwise the results are undefined.
14238 */
14239void __ovld wait_group_events(int num_events, event_t *event_list);
14240
14241/**
14242 * Prefetch num_elements * sizeof(gentype)
14243 * bytes into the global cache. The prefetch
14244 * instruction is applied to a work-item in a workgroup
14245 * and does not affect the functional
14246 * behavior of the kernel.
14247 */
14248void __ovld prefetch(const __global char *p, size_t num_elements);
14249void __ovld prefetch(const __global uchar *p, size_t num_elements);
14250void __ovld prefetch(const __global short *p, size_t num_elements);
14251void __ovld prefetch(const __global ushort *p, size_t num_elements);
14252void __ovld prefetch(const __global int *p, size_t num_elements);
14253void __ovld prefetch(const __global uint *p, size_t num_elements);
14254void __ovld prefetch(const __global long *p, size_t num_elements);
14255void __ovld prefetch(const __global ulong *p, size_t num_elements);
14256void __ovld prefetch(const __global float *p, size_t num_elements);
14257void __ovld prefetch(const __global char2 *p, size_t num_elements);
14258void __ovld prefetch(const __global uchar2 *p, size_t num_elements);
14259void __ovld prefetch(const __global short2 *p, size_t num_elements);
14260void __ovld prefetch(const __global ushort2 *p, size_t num_elements);
14261void __ovld prefetch(const __global int2 *p, size_t num_elements);
14262void __ovld prefetch(const __global uint2 *p, size_t num_elements);
14263void __ovld prefetch(const __global long2 *p, size_t num_elements);
14264void __ovld prefetch(const __global ulong2 *p, size_t num_elements);
14265void __ovld prefetch(const __global float2 *p, size_t num_elements);
14266void __ovld prefetch(const __global char3 *p, size_t num_elements);
14267void __ovld prefetch(const __global uchar3 *p, size_t num_elements);
14268void __ovld prefetch(const __global short3 *p, size_t num_elements);
14269void __ovld prefetch(const __global ushort3 *p, size_t num_elements);
14270void __ovld prefetch(const __global int3 *p, size_t num_elements);
14271void __ovld prefetch(const __global uint3 *p, size_t num_elements);
14272void __ovld prefetch(const __global long3 *p, size_t num_elements);
14273void __ovld prefetch(const __global ulong3 *p, size_t num_elements);
14274void __ovld prefetch(const __global float3 *p, size_t num_elements);
14275void __ovld prefetch(const __global char4 *p, size_t num_elements);
14276void __ovld prefetch(const __global uchar4 *p, size_t num_elements);
14277void __ovld prefetch(const __global short4 *p, size_t num_elements);
14278void __ovld prefetch(const __global ushort4 *p, size_t num_elements);
14279void __ovld prefetch(const __global int4 *p, size_t num_elements);
14280void __ovld prefetch(const __global uint4 *p, size_t num_elements);
14281void __ovld prefetch(const __global long4 *p, size_t num_elements);
14282void __ovld prefetch(const __global ulong4 *p, size_t num_elements);
14283void __ovld prefetch(const __global float4 *p, size_t num_elements);
14284void __ovld prefetch(const __global char8 *p, size_t num_elements);
14285void __ovld prefetch(const __global uchar8 *p, size_t num_elements);
14286void __ovld prefetch(const __global short8 *p, size_t num_elements);
14287void __ovld prefetch(const __global ushort8 *p, size_t num_elements);
14288void __ovld prefetch(const __global int8 *p, size_t num_elements);
14289void __ovld prefetch(const __global uint8 *p, size_t num_elements);
14290void __ovld prefetch(const __global long8 *p, size_t num_elements);
14291void __ovld prefetch(const __global ulong8 *p, size_t num_elements);
14292void __ovld prefetch(const __global float8 *p, size_t num_elements);
14293void __ovld prefetch(const __global char16 *p, size_t num_elements);
14294void __ovld prefetch(const __global uchar16 *p, size_t num_elements);
14295void __ovld prefetch(const __global short16 *p, size_t num_elements);
14296void __ovld prefetch(const __global ushort16 *p, size_t num_elements);
14297void __ovld prefetch(const __global int16 *p, size_t num_elements);
14298void __ovld prefetch(const __global uint16 *p, size_t num_elements);
14299void __ovld prefetch(const __global long16 *p, size_t num_elements);
14300void __ovld prefetch(const __global ulong16 *p, size_t num_elements);
14301void __ovld prefetch(const __global float16 *p, size_t num_elements);
14302#ifdef cl_khr_fp64
14303void __ovld prefetch(const __global double *p, size_t num_elements);
14304void __ovld prefetch(const __global double2 *p, size_t num_elements);
14305void __ovld prefetch(const __global double3 *p, size_t num_elements);
14306void __ovld prefetch(const __global double4 *p, size_t num_elements);
14307void __ovld prefetch(const __global double8 *p, size_t num_elements);
14308void __ovld prefetch(const __global double16 *p, size_t num_elements);
14309#endif //cl_khr_fp64
14310#ifdef cl_khr_fp16
14311void __ovld prefetch(const __global half *p, size_t num_elements);
14312void __ovld prefetch(const __global half2 *p, size_t num_elements);
14313void __ovld prefetch(const __global half3 *p, size_t num_elements);
14314void __ovld prefetch(const __global half4 *p, size_t num_elements);
14315void __ovld prefetch(const __global half8 *p, size_t num_elements);
14316void __ovld prefetch(const __global half16 *p, size_t num_elements);
14317#endif // cl_khr_fp16
14318
14319// OpenCL v1.1 s6.11.1, v1.2 s6.12.11 - Atomic Functions
14320
14321#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
14322#pragma OPENCL EXTENSION cl_khr_int64_base_atomics : enable
14323#pragma OPENCL EXTENSION cl_khr_int64_extended_atomics : enable
14324#endif
14325/**
14326 * Read the 32-bit value (referred to as old)
14327 * stored at location pointed by p. Compute
14328 * (old + val) and store result at location
14329 * pointed by p. The function returns old.
14330 */
14331int __ovld atomic_add(volatile __global int *p, int val);
14332unsigned int __ovld atomic_add(volatile __global unsigned int *p, unsigned int val);
14333int __ovld atomic_add(volatile __local int *p, int val);
14334unsigned int __ovld atomic_add(volatile __local unsigned int *p, unsigned int val);
14335
14336#if defined(cl_khr_global_int32_base_atomics)
14337int __ovld atom_add(volatile __global int *p, int val);
14338unsigned int __ovld atom_add(volatile __global unsigned int *p, unsigned int val);
14339#endif
14340#if defined(cl_khr_local_int32_base_atomics)
14341int __ovld atom_add(volatile __local int *p, int val);
14342unsigned int __ovld atom_add(volatile __local unsigned int *p, unsigned int val);
14343#endif
14344
14345#if defined(cl_khr_int64_base_atomics)
14346long __ovld atom_add(volatile __global long *p, long val);
14347unsigned long __ovld atom_add(volatile __global unsigned long *p, unsigned long val);
14348long __ovld atom_add(volatile __local long *p, long val);
14349unsigned long __ovld atom_add(volatile __local unsigned long *p, unsigned long val);
14350#endif
14351
14352/**
14353 * Read the 32-bit value (referred to as old) stored at location pointed by p.
14354 * Compute (old - val) and store result at location pointed by p. The function
14355 * returns old.
14356 */
14357int __ovld atomic_sub(volatile __global int *p, int val);
14358unsigned int __ovld atomic_sub(volatile __global unsigned int *p, unsigned int val);
14359int __ovld atomic_sub(volatile __local int *p, int val);
14360unsigned int __ovld atomic_sub(volatile __local unsigned int *p, unsigned int val);
14361
14362#if defined(cl_khr_global_int32_base_atomics)
14363int __ovld atom_sub(volatile __global int *p, int val);
14364unsigned int __ovld atom_sub(volatile __global unsigned int *p, unsigned int val);
14365#endif
14366#if defined(cl_khr_local_int32_base_atomics)
14367int __ovld atom_sub(volatile __local int *p, int val);
14368unsigned int __ovld atom_sub(volatile __local unsigned int *p, unsigned int val);
14369#endif
14370
14371#if defined(cl_khr_int64_base_atomics)
14372long __ovld atom_sub(volatile __global long *p, long val);
14373unsigned long __ovld atom_sub(volatile __global unsigned long *p, unsigned long val);
14374long __ovld atom_sub(volatile __local long *p, long val);
14375unsigned long __ovld atom_sub(volatile __local unsigned long *p, unsigned long val);
14376#endif
14377
14378/**
14379 * Swaps the old value stored at location p
14380 * with new value given by val. Returns old
14381 * value.
14382 */
14383int __ovld atomic_xchg(volatile __global int *p, int val);
14384unsigned int __ovld atomic_xchg(volatile __global unsigned int *p, unsigned int val);
14385int __ovld atomic_xchg(volatile __local int *p, int val);
14386unsigned int __ovld atomic_xchg(volatile __local unsigned int *p, unsigned int val);
14387float __ovld atomic_xchg(volatile __global float *p, float val);
14388float __ovld atomic_xchg(volatile __local float *p, float val);
14389
14390#if defined(cl_khr_global_int32_base_atomics)
14391int __ovld atom_xchg(volatile __global int *p, int val);
14392int __ovld atom_xchg(volatile __local int *p, int val);
14393#endif
14394#if defined(cl_khr_local_int32_base_atomics)
14395unsigned int __ovld atom_xchg(volatile __global unsigned int *p, unsigned int val);
14396unsigned int __ovld atom_xchg(volatile __local unsigned int *p, unsigned int val);
14397#endif
14398
14399#if defined(cl_khr_int64_base_atomics)
14400long __ovld atom_xchg(volatile __global long *p, long val);
14401long __ovld atom_xchg(volatile __local long *p, long val);
14402unsigned long __ovld atom_xchg(volatile __global unsigned long *p, unsigned long val);
14403unsigned long __ovld atom_xchg(volatile __local unsigned long *p, unsigned long val);
14404#endif
14405
14406/**
14407 * Read the 32-bit value (referred to as old)
14408 * stored at location pointed by p. Compute
14409 * (old + 1) and store result at location
14410 * pointed by p. The function returns old.
14411 */
14412int __ovld atomic_inc(volatile __global int *p);
14413unsigned int __ovld atomic_inc(volatile __global unsigned int *p);
14414int __ovld atomic_inc(volatile __local int *p);
14415unsigned int __ovld atomic_inc(volatile __local unsigned int *p);
14416
14417#if defined(cl_khr_global_int32_base_atomics)
14418int __ovld atom_inc(volatile __global int *p);
14419unsigned int __ovld atom_inc(volatile __global unsigned int *p);
14420#endif
14421#if defined(cl_khr_local_int32_base_atomics)
14422int __ovld atom_inc(volatile __local int *p);
14423unsigned int __ovld atom_inc(volatile __local unsigned int *p);
14424#endif
14425
14426#if defined(cl_khr_int64_base_atomics)
14427long __ovld atom_inc(volatile __global long *p);
14428unsigned long __ovld atom_inc(volatile __global unsigned long *p);
14429long __ovld atom_inc(volatile __local long *p);
14430unsigned long __ovld atom_inc(volatile __local unsigned long *p);
14431#endif
14432
14433/**
14434 * Read the 32-bit value (referred to as old)
14435 * stored at location pointed by p. Compute
14436 * (old - 1) and store result at location
14437 * pointed by p. The function returns old.
14438 */
14439int __ovld atomic_dec(volatile __global int *p);
14440unsigned int __ovld atomic_dec(volatile __global unsigned int *p);
14441int __ovld atomic_dec(volatile __local int *p);
14442unsigned int __ovld atomic_dec(volatile __local unsigned int *p);
14443
14444#if defined(cl_khr_global_int32_base_atomics)
14445int __ovld atom_dec(volatile __global int *p);
14446unsigned int __ovld atom_dec(volatile __global unsigned int *p);
14447#endif
14448#if defined(cl_khr_local_int32_base_atomics)
14449int __ovld atom_dec(volatile __local int *p);
14450unsigned int __ovld atom_dec(volatile __local unsigned int *p);
14451#endif
14452
14453#if defined(cl_khr_int64_base_atomics)
14454long __ovld atom_dec(volatile __global long *p);
14455unsigned long __ovld atom_dec(volatile __global unsigned long *p);
14456long __ovld atom_dec(volatile __local long *p);
14457unsigned long __ovld atom_dec(volatile __local unsigned long *p);
14458#endif
14459
14460/**
14461 * Read the 32-bit value (referred to as old)
14462 * stored at location pointed by p. Compute
14463 * (old == cmp) ? val : old and store result at
14464 * location pointed by p. The function
14465 * returns old.
14466 */
14467int __ovld atomic_cmpxchg(volatile __global int *p, int cmp, int val);
14468unsigned int __ovld atomic_cmpxchg(volatile __global unsigned int *p, unsigned int cmp, unsigned int val);
14469int __ovld atomic_cmpxchg(volatile __local int *p, int cmp, int val);
14470unsigned int __ovld atomic_cmpxchg(volatile __local unsigned int *p, unsigned int cmp, unsigned int val);
14471
14472#if defined(cl_khr_global_int32_base_atomics)
14473int __ovld atom_cmpxchg(volatile __global int *p, int cmp, int val);
14474unsigned int __ovld atom_cmpxchg(volatile __global unsigned int *p, unsigned int cmp, unsigned int val);
14475#endif
14476#if defined(cl_khr_local_int32_base_atomics)
14477int __ovld atom_cmpxchg(volatile __local int *p, int cmp, int val);
14478unsigned int __ovld atom_cmpxchg(volatile __local unsigned int *p, unsigned int cmp, unsigned int val);
14479#endif
14480
14481#if defined(cl_khr_int64_base_atomics)
14482long __ovld atom_cmpxchg(volatile __global long *p, long cmp, long val);
14483unsigned long __ovld atom_cmpxchg(volatile __global unsigned long *p, unsigned long cmp, unsigned long val);
14484long __ovld atom_cmpxchg(volatile __local long *p, long cmp, long val);
14485unsigned long __ovld atom_cmpxchg(volatile __local unsigned long *p, unsigned long cmp, unsigned long val);
14486#endif
14487
14488/**
14489 * Read the 32-bit value (referred to as old)
14490 * stored at location pointed by p. Compute
14491 * min(old, val) and store minimum value at
14492 * location pointed by p. The function
14493 * returns old.
14494 */
14495int __ovld atomic_min(volatile __global int *p, int val);
14496unsigned int __ovld atomic_min(volatile __global unsigned int *p, unsigned int val);
14497int __ovld atomic_min(volatile __local int *p, int val);
14498unsigned int __ovld atomic_min(volatile __local unsigned int *p, unsigned int val);
14499
14500#if defined(cl_khr_global_int32_extended_atomics)
14501int __ovld atom_min(volatile __global int *p, int val);
14502unsigned int __ovld atom_min(volatile __global unsigned int *p, unsigned int val);
14503#endif
14504#if defined(cl_khr_local_int32_extended_atomics)
14505int __ovld atom_min(volatile __local int *p, int val);
14506unsigned int __ovld atom_min(volatile __local unsigned int *p, unsigned int val);
14507#endif
14508
14509#if defined(cl_khr_int64_extended_atomics)
14510long __ovld atom_min(volatile __global long *p, long val);
14511unsigned long __ovld atom_min(volatile __global unsigned long *p, unsigned long val);
14512#endif
14513#if defined(cl_khr_local_int32_extended_atomics)
14514long __ovld atom_min(volatile __local long *p, long val);
14515unsigned long __ovld atom_min(volatile __local unsigned long *p, unsigned long val);
14516#endif
14517
14518/**
14519 * Read the 32-bit value (referred to as old)
14520 * stored at location pointed by p. Compute
14521 * max(old, val) and store maximum value at
14522 * location pointed by p. The function
14523 * returns old.
14524 */
14525int __ovld atomic_max(volatile __global int *p, int val);
14526unsigned int __ovld atomic_max(volatile __global unsigned int *p, unsigned int val);
14527int __ovld atomic_max(volatile __local int *p, int val);
14528unsigned int __ovld atomic_max(volatile __local unsigned int *p, unsigned int val);
14529
14530#if defined(cl_khr_global_int32_extended_atomics)
14531int __ovld atom_max(volatile __global int *p, int val);
14532unsigned int __ovld atom_max(volatile __global unsigned int *p, unsigned int val);
14533#endif
14534#if defined(cl_khr_local_int32_extended_atomics)
14535int __ovld atom_max(volatile __local int *p, int val);
14536unsigned int __ovld atom_max(volatile __local unsigned int *p, unsigned int val);
14537#endif
14538
14539#if defined(cl_khr_int64_extended_atomics)
14540long __ovld atom_max(volatile __global long *p, long val);
14541unsigned long __ovld atom_max(volatile __global unsigned long *p, unsigned long val);
14542long __ovld atom_max(volatile __local long *p, long val);
14543unsigned long __ovld atom_max(volatile __local unsigned long *p, unsigned long val);
14544#endif
14545
14546/**
14547 * Read the 32-bit value (referred to as old)
14548 * stored at location pointed by p. Compute
14549 * (old & val) and store result at location
14550 * pointed by p. The function returns old.
14551 */
14552int __ovld atomic_and(volatile __global int *p, int val);
14553unsigned int __ovld atomic_and(volatile __global unsigned int *p, unsigned int val);
14554int __ovld atomic_and(volatile __local int *p, int val);
14555unsigned int __ovld atomic_and(volatile __local unsigned int *p, unsigned int val);
14556
14557#if defined(cl_khr_global_int32_extended_atomics)
14558int __ovld atom_and(volatile __global int *p, int val);
14559unsigned int __ovld atom_and(volatile __global unsigned int *p, unsigned int val);
14560#endif
14561#if defined(cl_khr_local_int32_extended_atomics)
14562int __ovld atom_and(volatile __local int *p, int val);
14563unsigned int __ovld atom_and(volatile __local unsigned int *p, unsigned int val);
14564#endif
14565
14566#if defined(cl_khr_int64_extended_atomics)
14567long __ovld atom_and(volatile __global long *p, long val);
14568unsigned long __ovld atom_and(volatile __global unsigned long *p, unsigned long val);
14569long __ovld atom_and(volatile __local long *p, long val);
14570unsigned long __ovld atom_and(volatile __local unsigned long *p, unsigned long val);
14571#endif
14572
14573/**
14574 * Read the 32-bit value (referred to as old)
14575 * stored at location pointed by p. Compute
14576 * (old | val) and store result at location
14577 * pointed by p. The function returns old.
14578 */
14579int __ovld atomic_or(volatile __global int *p, int val);
14580unsigned int __ovld atomic_or(volatile __global unsigned int *p, unsigned int val);
14581int __ovld atomic_or(volatile __local int *p, int val);
14582unsigned int __ovld atomic_or(volatile __local unsigned int *p, unsigned int val);
14583
14584#if defined(cl_khr_global_int32_extended_atomics)
14585int __ovld atom_or(volatile __global int *p, int val);
14586unsigned int __ovld atom_or(volatile __global unsigned int *p, unsigned int val);
14587#endif
14588#if defined(cl_khr_local_int32_extended_atomics)
14589int __ovld atom_or(volatile __local int *p, int val);
14590unsigned int __ovld atom_or(volatile __local unsigned int *p, unsigned int val);
14591#endif
14592
14593#if defined(cl_khr_int64_extended_atomics)
14594long __ovld atom_or(volatile __global long *p, long val);
14595unsigned long __ovld atom_or(volatile __global unsigned long *p, unsigned long val);
14596long __ovld atom_or(volatile __local long *p, long val);
14597unsigned long __ovld atom_or(volatile __local unsigned long *p, unsigned long val);
14598#endif
14599
14600/**
14601 * Read the 32-bit value (referred to as old)
14602 * stored at location pointed by p. Compute
14603 * (old ^ val) and store result at location
14604 * pointed by p. The function returns old.
14605 */
14606int __ovld atomic_xor(volatile __global int *p, int val);
14607unsigned int __ovld atomic_xor(volatile __global unsigned int *p, unsigned int val);
14608int __ovld atomic_xor(volatile __local int *p, int val);
14609unsigned int __ovld atomic_xor(volatile __local unsigned int *p, unsigned int val);
14610
14611#if defined(cl_khr_global_int32_extended_atomics)
14612int __ovld atom_xor(volatile __global int *p, int val);
14613unsigned int __ovld atom_xor(volatile __global unsigned int *p, unsigned int val);
14614#endif
14615#if defined(cl_khr_local_int32_extended_atomics)
14616int __ovld atom_xor(volatile __local int *p, int val);
14617unsigned int __ovld atom_xor(volatile __local unsigned int *p, unsigned int val);
14618#endif
14619
14620#if defined(cl_khr_int64_extended_atomics)
14621long __ovld atom_xor(volatile __global long *p, long val);
14622unsigned long __ovld atom_xor(volatile __global unsigned long *p, unsigned long val);
14623long __ovld atom_xor(volatile __local long *p, long val);
14624unsigned long __ovld atom_xor(volatile __local unsigned long *p, unsigned long val);
14625#endif
14626
14627#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
14628#pragma OPENCL EXTENSION cl_khr_int64_base_atomics : disable
14629#pragma OPENCL EXTENSION cl_khr_int64_extended_atomics : disable
14630#endif
14631
14632// OpenCL v2.0 s6.13.11 - Atomics Functions
14633
14634#if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
14635#ifndef ATOMIC_VAR_INIT
14636#define ATOMIC_VAR_INIT(x) (x)
14637#endif //ATOMIC_VAR_INIT
14638#define ATOMIC_FLAG_INIT 0
14639
14640// enum values aligned with what clang uses in EmitAtomicExpr()
14641typedef enum memory_order
14642{
14643  memory_order_relaxed,
14644  memory_order_acquire,
14645  memory_order_release,
14646  memory_order_acq_rel,
14647  memory_order_seq_cst
14648} memory_order;
14649
14650// double atomics support requires extensions cl_khr_int64_base_atomics and cl_khr_int64_extended_atomics
14651#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
14652#pragma OPENCL EXTENSION cl_khr_int64_base_atomics : enable
14653#pragma OPENCL EXTENSION cl_khr_int64_extended_atomics : enable
14654#endif
14655
14656// atomic_init()
14657void __ovld atomic_init(volatile atomic_int *object, int value);
14658void __ovld atomic_init(volatile atomic_uint *object, uint value);
14659void __ovld atomic_init(volatile atomic_float *object, float value);
14660#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
14661void __ovld atomic_init(volatile atomic_long *object, long value);
14662void __ovld atomic_init(volatile atomic_ulong *object, ulong value);
14663#ifdef cl_khr_fp64
14664void __ovld atomic_init(volatile atomic_double *object, double value);
14665#endif //cl_khr_fp64
14666#endif
14667
14668// atomic_work_item_fence()
14669void __ovld atomic_work_item_fence(cl_mem_fence_flags flags, memory_order order, memory_scope scope);
14670
14671// atomic_fetch()
14672
14673int __ovld atomic_fetch_add(volatile atomic_int *object, int operand);
14674int __ovld atomic_fetch_add_explicit(volatile atomic_int *object, int operand, memory_order order);
14675int __ovld atomic_fetch_add_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
14676uint __ovld atomic_fetch_add(volatile atomic_uint *object, uint operand);
14677uint __ovld atomic_fetch_add_explicit(volatile atomic_uint *object, uint operand, memory_order order);
14678uint __ovld atomic_fetch_add_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
14679int __ovld atomic_fetch_sub(volatile atomic_int *object, int operand);
14680int __ovld atomic_fetch_sub_explicit(volatile atomic_int *object, int operand, memory_order order);
14681int __ovld atomic_fetch_sub_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
14682uint __ovld atomic_fetch_sub(volatile atomic_uint *object, uint operand);
14683uint __ovld atomic_fetch_sub_explicit(volatile atomic_uint *object, uint operand, memory_order order);
14684uint __ovld atomic_fetch_sub_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
14685int __ovld atomic_fetch_or(volatile atomic_int *object, int operand);
14686int __ovld atomic_fetch_or_explicit(volatile atomic_int *object, int operand, memory_order order);
14687int __ovld atomic_fetch_or_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
14688uint __ovld atomic_fetch_or(volatile atomic_uint *object, uint operand);
14689uint __ovld atomic_fetch_or_explicit(volatile atomic_uint *object, uint operand, memory_order order);
14690uint __ovld atomic_fetch_or_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
14691int __ovld atomic_fetch_xor(volatile atomic_int *object, int operand);
14692int __ovld atomic_fetch_xor_explicit(volatile atomic_int *object, int operand, memory_order order);
14693int __ovld atomic_fetch_xor_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
14694uint __ovld atomic_fetch_xor(volatile atomic_uint *object, uint operand);
14695uint __ovld atomic_fetch_xor_explicit(volatile atomic_uint *object, uint operand, memory_order order);
14696uint __ovld atomic_fetch_xor_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
14697int __ovld atomic_fetch_and(volatile atomic_int *object, int operand);
14698int __ovld atomic_fetch_and_explicit(volatile atomic_int *object, int operand, memory_order order);
14699int __ovld atomic_fetch_and_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
14700uint __ovld atomic_fetch_and(volatile atomic_uint *object, uint operand);
14701uint __ovld atomic_fetch_and_explicit(volatile atomic_uint *object, uint operand, memory_order order);
14702uint __ovld atomic_fetch_and_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
14703int __ovld atomic_fetch_min(volatile atomic_int *object, int operand);
14704int __ovld atomic_fetch_min_explicit(volatile atomic_int *object, int operand, memory_order order);
14705int __ovld atomic_fetch_min_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
14706uint __ovld atomic_fetch_min(volatile atomic_uint *object, uint operand);
14707uint __ovld atomic_fetch_min_explicit(volatile atomic_uint *object, uint operand, memory_order order);
14708uint __ovld atomic_fetch_min_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
14709uint __ovld atomic_fetch_min(volatile atomic_uint *object, int operand);
14710uint __ovld atomic_fetch_min_explicit(volatile atomic_uint *object, int operand, memory_order order);
14711uint __ovld atomic_fetch_min_explicit(volatile atomic_uint *object, int operand, memory_order order, memory_scope scope);
14712int __ovld atomic_fetch_max(volatile atomic_int *object, int operand);
14713int __ovld atomic_fetch_max_explicit(volatile atomic_int *object, int operand, memory_order order);
14714int __ovld atomic_fetch_max_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
14715uint __ovld atomic_fetch_max(volatile atomic_uint *object, uint operand);
14716uint __ovld atomic_fetch_max_explicit(volatile atomic_uint *object, uint operand, memory_order order);
14717uint __ovld atomic_fetch_max_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
14718uint __ovld atomic_fetch_max(volatile atomic_uint *object, int operand);
14719uint __ovld atomic_fetch_max_explicit(volatile atomic_uint *object, int operand, memory_order order);
14720uint __ovld atomic_fetch_max_explicit(volatile atomic_uint *object, int operand, memory_order order, memory_scope scope);
14721
14722#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
14723long __ovld atomic_fetch_add(volatile atomic_long *object, long operand);
14724long __ovld atomic_fetch_add_explicit(volatile atomic_long *object, long operand, memory_order order);
14725long __ovld atomic_fetch_add_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
14726ulong __ovld atomic_fetch_add(volatile atomic_ulong *object, ulong operand);
14727ulong __ovld atomic_fetch_add_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
14728ulong __ovld atomic_fetch_add_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
14729long __ovld atomic_fetch_sub(volatile atomic_long *object, long operand);
14730long __ovld atomic_fetch_sub_explicit(volatile atomic_long *object, long operand, memory_order order);
14731long __ovld atomic_fetch_sub_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
14732ulong __ovld atomic_fetch_sub(volatile atomic_ulong *object, ulong operand);
14733ulong __ovld atomic_fetch_sub_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
14734ulong __ovld atomic_fetch_sub_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
14735long __ovld atomic_fetch_or(volatile atomic_long *object, long operand);
14736long __ovld atomic_fetch_or_explicit(volatile atomic_long *object, long operand, memory_order order);
14737long __ovld atomic_fetch_or_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
14738ulong __ovld atomic_fetch_or(volatile atomic_ulong *object, ulong operand);
14739ulong __ovld atomic_fetch_or_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
14740ulong __ovld atomic_fetch_or_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
14741long __ovld atomic_fetch_xor(volatile atomic_long *object, long operand);
14742long __ovld atomic_fetch_xor_explicit(volatile atomic_long *object, long operand, memory_order order);
14743long __ovld atomic_fetch_xor_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
14744ulong __ovld atomic_fetch_xor(volatile atomic_ulong *object, ulong operand);
14745ulong __ovld atomic_fetch_xor_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
14746ulong __ovld atomic_fetch_xor_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
14747long __ovld atomic_fetch_and(volatile atomic_long *object, long operand);
14748long __ovld atomic_fetch_and_explicit(volatile atomic_long *object, long operand, memory_order order);
14749long __ovld atomic_fetch_and_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
14750ulong __ovld atomic_fetch_and(volatile atomic_ulong *object, ulong operand);
14751ulong __ovld atomic_fetch_and_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
14752ulong __ovld atomic_fetch_and_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
14753long __ovld atomic_fetch_min(volatile atomic_long *object, long operand);
14754long __ovld atomic_fetch_min_explicit(volatile atomic_long *object, long operand, memory_order order);
14755long __ovld atomic_fetch_min_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
14756ulong __ovld atomic_fetch_min(volatile atomic_ulong *object, ulong operand);
14757ulong __ovld atomic_fetch_min_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
14758ulong __ovld atomic_fetch_min_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
14759ulong __ovld atomic_fetch_min(volatile atomic_ulong *object, long operand);
14760ulong __ovld atomic_fetch_min_explicit(volatile atomic_ulong *object, long operand, memory_order order);
14761ulong __ovld atomic_fetch_min_explicit(volatile atomic_ulong *object, long operand, memory_order order, memory_scope scope);
14762long __ovld atomic_fetch_max(volatile atomic_long *object, long operand);
14763long __ovld atomic_fetch_max_explicit(volatile atomic_long *object, long operand, memory_order order);
14764long __ovld atomic_fetch_max_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
14765ulong __ovld atomic_fetch_max(volatile atomic_ulong *object, ulong operand);
14766ulong __ovld atomic_fetch_max_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
14767ulong __ovld atomic_fetch_max_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
14768ulong __ovld atomic_fetch_max(volatile atomic_ulong *object, long operand);
14769ulong __ovld atomic_fetch_max_explicit(volatile atomic_ulong *object, long operand, memory_order order);
14770ulong __ovld atomic_fetch_max_explicit(volatile atomic_ulong *object, long operand, memory_order order, memory_scope scope);
14771#endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
14772
14773// OpenCL v2.0 s6.13.11.7.5:
14774// add/sub: atomic type argument can be uintptr_t/intptr_t, value type argument can be ptrdiff_t.
14775// or/xor/and/min/max: atomic type argument can be intptr_t/uintptr_t, value type argument can be intptr_t/uintptr_t.
14776
14777#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
14778uintptr_t __ovld atomic_fetch_add(volatile atomic_uintptr_t *object, ptrdiff_t operand);
14779uintptr_t __ovld atomic_fetch_add_explicit(volatile atomic_uintptr_t *object, ptrdiff_t operand, memory_order order);
14780uintptr_t __ovld atomic_fetch_add_explicit(volatile atomic_uintptr_t *object, ptrdiff_t operand, memory_order order, memory_scope scope);
14781uintptr_t __ovld atomic_fetch_sub(volatile atomic_uintptr_t *object, ptrdiff_t operand);
14782uintptr_t __ovld atomic_fetch_sub_explicit(volatile atomic_uintptr_t *object, ptrdiff_t operand, memory_order order);
14783uintptr_t __ovld atomic_fetch_sub_explicit(volatile atomic_uintptr_t *object, ptrdiff_t operand, memory_order order, memory_scope scope);
14784
14785uintptr_t __ovld atomic_fetch_or(volatile atomic_uintptr_t *object, intptr_t operand);
14786uintptr_t __ovld atomic_fetch_or_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order);
14787uintptr_t __ovld atomic_fetch_or_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order, memory_scope scope);
14788uintptr_t __ovld atomic_fetch_xor(volatile atomic_uintptr_t *object, intptr_t operand);
14789uintptr_t __ovld atomic_fetch_xor_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order);
14790uintptr_t __ovld atomic_fetch_xor_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order, memory_scope scope);
14791uintptr_t __ovld atomic_fetch_and(volatile atomic_uintptr_t *object, intptr_t operand);
14792uintptr_t __ovld atomic_fetch_and_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order);
14793uintptr_t __ovld atomic_fetch_and_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order, memory_scope scope);
14794uintptr_t __ovld atomic_fetch_min(volatile atomic_uintptr_t *object, intptr_t opermax);
14795uintptr_t __ovld atomic_fetch_min_explicit(volatile atomic_uintptr_t *object, intptr_t opermax, memory_order minder);
14796uintptr_t __ovld atomic_fetch_min_explicit(volatile atomic_uintptr_t *object, intptr_t opermax, memory_order minder, memory_scope scope);
14797uintptr_t __ovld atomic_fetch_max(volatile atomic_uintptr_t *object, intptr_t opermax);
14798uintptr_t __ovld atomic_fetch_max_explicit(volatile atomic_uintptr_t *object, intptr_t opermax, memory_order minder);
14799uintptr_t __ovld atomic_fetch_max_explicit(volatile atomic_uintptr_t *object, intptr_t opermax, memory_order minder, memory_scope scope);
14800
14801intptr_t __ovld atomic_fetch_or(volatile atomic_intptr_t *object, uintptr_t operand);
14802intptr_t __ovld atomic_fetch_or_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order);
14803intptr_t __ovld atomic_fetch_or_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order, memory_scope scope);
14804intptr_t __ovld atomic_fetch_xor(volatile atomic_intptr_t *object, uintptr_t operand);
14805intptr_t __ovld atomic_fetch_xor_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order);
14806intptr_t __ovld atomic_fetch_xor_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order, memory_scope scope);
14807intptr_t __ovld atomic_fetch_and(volatile atomic_intptr_t *object, uintptr_t operand);
14808intptr_t __ovld atomic_fetch_and_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order);
14809intptr_t __ovld atomic_fetch_and_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order, memory_scope scope);
14810intptr_t __ovld atomic_fetch_min(volatile atomic_intptr_t *object, uintptr_t opermax);
14811intptr_t __ovld atomic_fetch_min_explicit(volatile atomic_intptr_t *object, uintptr_t opermax, memory_order minder);
14812intptr_t __ovld atomic_fetch_min_explicit(volatile atomic_intptr_t *object, uintptr_t opermax, memory_order minder, memory_scope scope);
14813intptr_t __ovld atomic_fetch_max(volatile atomic_intptr_t *object, uintptr_t opermax);
14814intptr_t __ovld atomic_fetch_max_explicit(volatile atomic_intptr_t *object, uintptr_t opermax, memory_order minder);
14815intptr_t __ovld atomic_fetch_max_explicit(volatile atomic_intptr_t *object, uintptr_t opermax, memory_order minder, memory_scope scope);
14816#endif
14817
14818// atomic_store()
14819
14820void __ovld atomic_store(volatile atomic_int *object, int desired);
14821void __ovld atomic_store_explicit(volatile atomic_int *object, int desired, memory_order order);
14822void __ovld atomic_store_explicit(volatile atomic_int *object, int desired, memory_order order, memory_scope scope);
14823void __ovld atomic_store(volatile atomic_uint *object, uint desired);
14824void __ovld atomic_store_explicit(volatile atomic_uint *object, uint desired, memory_order order);
14825void __ovld atomic_store_explicit(volatile atomic_uint *object, uint desired, memory_order order, memory_scope scope);
14826void __ovld atomic_store(volatile atomic_float *object, float desired);
14827void __ovld atomic_store_explicit(volatile atomic_float *object, float desired, memory_order order);
14828void __ovld atomic_store_explicit(volatile atomic_float *object, float desired, memory_order order, memory_scope scope);
14829#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
14830#ifdef cl_khr_fp64
14831void __ovld atomic_store(volatile atomic_double *object, double desired);
14832void __ovld atomic_store_explicit(volatile atomic_double *object, double desired, memory_order order);
14833void __ovld atomic_store_explicit(volatile atomic_double *object, double desired, memory_order order, memory_scope scope);
14834#endif //cl_khr_fp64
14835void __ovld atomic_store(volatile atomic_long *object, long desired);
14836void __ovld atomic_store_explicit(volatile atomic_long *object, long desired, memory_order order);
14837void __ovld atomic_store_explicit(volatile atomic_long *object, long desired, memory_order order, memory_scope scope);
14838void __ovld atomic_store(volatile atomic_ulong *object, ulong desired);
14839void __ovld atomic_store_explicit(volatile atomic_ulong *object, ulong desired, memory_order order);
14840void __ovld atomic_store_explicit(volatile atomic_ulong *object, ulong desired, memory_order order, memory_scope scope);
14841#endif
14842
14843// atomic_load()
14844
14845int __ovld atomic_load(volatile atomic_int *object);
14846int __ovld atomic_load_explicit(volatile atomic_int *object, memory_order order);
14847int __ovld atomic_load_explicit(volatile atomic_int *object, memory_order order, memory_scope scope);
14848uint __ovld atomic_load(volatile atomic_uint *object);
14849uint __ovld atomic_load_explicit(volatile atomic_uint *object, memory_order order);
14850uint __ovld atomic_load_explicit(volatile atomic_uint *object, memory_order order, memory_scope scope);
14851float __ovld atomic_load(volatile atomic_float *object);
14852float __ovld atomic_load_explicit(volatile atomic_float *object, memory_order order);
14853float __ovld atomic_load_explicit(volatile atomic_float *object, memory_order order, memory_scope scope);
14854#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
14855#ifdef cl_khr_fp64
14856double __ovld atomic_load(volatile atomic_double *object);
14857double __ovld atomic_load_explicit(volatile atomic_double *object, memory_order order);
14858double __ovld atomic_load_explicit(volatile atomic_double *object, memory_order order, memory_scope scope);
14859#endif //cl_khr_fp64
14860long __ovld atomic_load(volatile atomic_long *object);
14861long __ovld atomic_load_explicit(volatile atomic_long *object, memory_order order);
14862long __ovld atomic_load_explicit(volatile atomic_long *object, memory_order order, memory_scope scope);
14863ulong __ovld atomic_load(volatile atomic_ulong *object);
14864ulong __ovld atomic_load_explicit(volatile atomic_ulong *object, memory_order order);
14865ulong __ovld atomic_load_explicit(volatile atomic_ulong *object, memory_order order, memory_scope scope);
14866#endif
14867
14868// atomic_exchange()
14869
14870int __ovld atomic_exchange(volatile atomic_int *object, int desired);
14871int __ovld atomic_exchange_explicit(volatile atomic_int *object, int desired, memory_order order);
14872int __ovld atomic_exchange_explicit(volatile atomic_int *object, int desired, memory_order order, memory_scope scope);
14873uint __ovld atomic_exchange(volatile atomic_uint *object, uint desired);
14874uint __ovld atomic_exchange_explicit(volatile atomic_uint *object, uint desired, memory_order order);
14875uint __ovld atomic_exchange_explicit(volatile atomic_uint *object, uint desired, memory_order order, memory_scope scope);
14876float __ovld atomic_exchange(volatile atomic_float *object, float desired);
14877float __ovld atomic_exchange_explicit(volatile atomic_float *object, float desired, memory_order order);
14878float __ovld atomic_exchange_explicit(volatile atomic_float *object, float desired, memory_order order, memory_scope scope);
14879#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
14880#ifdef cl_khr_fp64
14881double __ovld atomic_exchange(volatile atomic_double *object, double desired);
14882double __ovld atomic_exchange_explicit(volatile atomic_double *object, double desired, memory_order order);
14883double __ovld atomic_exchange_explicit(volatile atomic_double *object, double desired, memory_order order, memory_scope scope);
14884#endif //cl_khr_fp64
14885long __ovld atomic_exchange(volatile atomic_long *object, long desired);
14886long __ovld atomic_exchange_explicit(volatile atomic_long *object, long desired, memory_order order);
14887long __ovld atomic_exchange_explicit(volatile atomic_long *object, long desired, memory_order order, memory_scope scope);
14888ulong __ovld atomic_exchange(volatile atomic_ulong *object, ulong desired);
14889ulong __ovld atomic_exchange_explicit(volatile atomic_ulong *object, ulong desired, memory_order order);
14890ulong __ovld atomic_exchange_explicit(volatile atomic_ulong *object, ulong desired, memory_order order, memory_scope scope);
14891#endif
14892
14893// atomic_compare_exchange_strong() and atomic_compare_exchange_weak()
14894
14895bool __ovld atomic_compare_exchange_strong(volatile atomic_int *object, int *expected, int desired);
14896bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_int *object, int *expected,
14897                                                                                 int desired, memory_order success, memory_order failure);
14898bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_int *object, int *expected,
14899                                                                                 int desired, memory_order success, memory_order failure, memory_scope scope);
14900bool __ovld atomic_compare_exchange_strong(volatile atomic_uint *object, uint *expected, uint desired);
14901bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_uint *object, uint *expected,
14902                                                                                 uint desired, memory_order success, memory_order failure);
14903bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_uint *object, uint *expected,
14904                                                                                 uint desired, memory_order success, memory_order failure, memory_scope scope);
14905bool __ovld atomic_compare_exchange_weak(volatile atomic_int *object, int *expected, int desired);
14906bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_int *object, int *expected,
14907                                                                                 int desired, memory_order success, memory_order failure);
14908bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_int *object, int *expected,
14909                                                                                 int desired, memory_order success, memory_order failure, memory_scope scope);
14910bool __ovld atomic_compare_exchange_weak(volatile atomic_uint *object, uint *expected, uint desired);
14911bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_uint *object, uint *expected,
14912                                                                                 uint desired, memory_order success, memory_order failure);
14913bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_uint *object, uint *expected,
14914                                                                                 uint desired, memory_order success, memory_order failure, memory_scope scope);
14915bool __ovld atomic_compare_exchange_strong(volatile atomic_float *object, float *expected, float desired);
14916bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_float *object, float *expected,
14917                                                                                 float desired, memory_order success, memory_order failure);
14918bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_float *object, float *expected,
14919                                                                                 float desired, memory_order success, memory_order failure, memory_scope scope);
14920bool __ovld atomic_compare_exchange_weak(volatile atomic_float *object, float *expected, float desired);
14921bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_float *object, float *expected,
14922                                                                                 float desired, memory_order success, memory_order failure);
14923bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_float *object, float *expected,
14924                                                                                 float desired, memory_order success, memory_order failure, memory_scope scope);
14925#if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
14926#ifdef cl_khr_fp64
14927bool __ovld atomic_compare_exchange_strong(volatile atomic_double *object, double *expected, double desired);
14928bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_double *object, double *expected,
14929                                                                                 double desired, memory_order success, memory_order failure);
14930bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_double *object, double *expected,
14931                                                                                 double desired, memory_order success, memory_order failure, memory_scope scope);
14932bool __ovld atomic_compare_exchange_weak(volatile atomic_double *object, double *expected, double desired);
14933bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_double *object, double *expected,
14934                                                                                 double desired, memory_order success, memory_order failure);
14935bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_double *object, double *expected,
14936                                                                                 double desired, memory_order success, memory_order failure, memory_scope scope);
14937#endif //cl_khr_fp64
14938bool __ovld atomic_compare_exchange_strong(volatile atomic_long *object, long *expected, long desired);
14939bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_long *object, long *expected,
14940                                                                                 long desired, memory_order success, memory_order failure);
14941bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_long *object, long *expected,
14942                                                                                 long desired, memory_order success, memory_order failure, memory_scope scope);
14943bool __ovld atomic_compare_exchange_weak(volatile atomic_long *object, long *expected, long desired);
14944bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_long *object, long *expected,
14945                                                                                 long desired, memory_order success, memory_order failure);
14946bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_long *object, long *expected,
14947                                                                                 long desired, memory_order success, memory_order failure, memory_scope scope);
14948bool __ovld atomic_compare_exchange_strong(volatile atomic_ulong *object, ulong *expected, ulong desired);
14949bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_ulong *object, ulong *expected,
14950                                                                                 ulong desired, memory_order success, memory_order failure);
14951bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_ulong *object, ulong *expected,
14952                                                                                 ulong desired, memory_order success, memory_order failure, memory_scope scope);
14953bool __ovld atomic_compare_exchange_weak(volatile atomic_ulong *object, ulong *expected, ulong desired);
14954bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_ulong *object, ulong *expected,
14955                                                                                 ulong desired, memory_order success, memory_order failure);
14956bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_ulong *object, ulong *expected,
14957                                                                                 ulong desired, memory_order success, memory_order failure, memory_scope scope);
14958#endif
14959
14960// atomic_flag_test_and_set() and atomic_flag_clear()
14961
14962bool __ovld atomic_flag_test_and_set(volatile atomic_flag *object);
14963bool __ovld atomic_flag_test_and_set_explicit(volatile atomic_flag *object, memory_order order);
14964bool __ovld atomic_flag_test_and_set_explicit(volatile atomic_flag *object, memory_order order, memory_scope scope);
14965void __ovld atomic_flag_clear(volatile atomic_flag *object);
14966void __ovld atomic_flag_clear_explicit(volatile atomic_flag *object, memory_order order);
14967void __ovld atomic_flag_clear_explicit(volatile atomic_flag *object, memory_order order, memory_scope scope);
14968
14969#endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
14970
14971// OpenCL v1.1 s6.11.12, v1.2 s6.12.12, v2.0 s6.13.12 - Miscellaneous Vector Functions
14972
14973/**
14974 * The shuffle and shuffle2 built-in functions construct
14975 * a permutation of elements from one or two input
14976 * vectors respectively that are of the same type,
14977 * returning a vector with the same element type as the
14978 * input and length that is the same as the shuffle mask.
14979 * The size of each element in the mask must match the
14980 * size of each element in the result. For shuffle, only
14981 * the ilogb(2m-1) least significant bits of each mask
14982 * element are considered. For shuffle2, only the
14983 * ilogb(2m-1)+1 least significant bits of each mask
14984 * element are considered. Other bits in the mask shall
14985 * be ignored.
14986 * The elements of the input vectors are numbered from
14987 * left to right across one or both of the vectors. For this
14988 * purpose, the number of elements in a vector is given
14989 * by vec_step(gentypem). The shuffle mask operand
14990 * specifies, for each element of the result vector, which
14991 * element of the one or two input vectors the result
14992 * element gets.
14993 * Examples:
14994 * uint4 mask = (uint4)(3, 2,
14995 * 1, 0);
14996 * float4 a;
14997 * float4 r = shuffle(a, mask);
14998 * // r.s0123 = a.wzyx
14999 * uint8 mask = (uint8)(0, 1, 2, 3,
15000 * 4, 5, 6, 7);
15001 * float4 a, b;
15002 * float8 r = shuffle2(a, b, mask);
15003 * // r.s0123 = a.xyzw
15004 * // r.s4567 = b.xyzw
15005 * uint4 mask;
15006 * float8 a;
15007 * float4 b;
15008 * b = shuffle(a, mask);
15009 * Examples that are not valid are:
15010 * uint8 mask;
15011 * short16 a;
15012 * short8 b;
15013 * b = shuffle(a, mask); <- not valid
15014 */
15015char2 __ovld __cnfn shuffle(char2 x, uchar2 mask);
15016char2 __ovld __cnfn shuffle(char4 x, uchar2 mask);
15017char2 __ovld __cnfn shuffle(char8 x, uchar2 mask);
15018char2 __ovld __cnfn shuffle(char16 x, uchar2 mask);
15019
15020uchar2 __ovld __cnfn shuffle(uchar2 x, uchar2 mask);
15021uchar2 __ovld __cnfn shuffle(uchar4 x, uchar2 mask);
15022uchar2 __ovld __cnfn shuffle(uchar8 x, uchar2 mask);
15023uchar2 __ovld __cnfn shuffle(uchar16 x, uchar2 mask);
15024
15025short2 __ovld __cnfn shuffle(short2 x, ushort2 mask);
15026short2 __ovld __cnfn shuffle(short4 x, ushort2 mask);
15027short2 __ovld __cnfn shuffle(short8 x, ushort2 mask);
15028short2 __ovld __cnfn shuffle(short16 x, ushort2 mask);
15029
15030ushort2 __ovld __cnfn shuffle(ushort2 x, ushort2 mask);
15031ushort2 __ovld __cnfn shuffle(ushort4 x, ushort2 mask);
15032ushort2 __ovld __cnfn shuffle(ushort8 x, ushort2 mask);
15033ushort2 __ovld __cnfn shuffle(ushort16 x, ushort2 mask);
15034
15035int2 __ovld __cnfn shuffle(int2 x, uint2 mask);
15036int2 __ovld __cnfn shuffle(int4 x, uint2 mask);
15037int2 __ovld __cnfn shuffle(int8 x, uint2 mask);
15038int2 __ovld __cnfn shuffle(int16 x, uint2 mask);
15039
15040uint2 __ovld __cnfn shuffle(uint2 x, uint2 mask);
15041uint2 __ovld __cnfn shuffle(uint4 x, uint2 mask);
15042uint2 __ovld __cnfn shuffle(uint8 x, uint2 mask);
15043uint2 __ovld __cnfn shuffle(uint16 x, uint2 mask);
15044
15045long2 __ovld __cnfn shuffle(long2 x, ulong2 mask);
15046long2 __ovld __cnfn shuffle(long4 x, ulong2 mask);
15047long2 __ovld __cnfn shuffle(long8 x, ulong2 mask);
15048long2 __ovld __cnfn shuffle(long16 x, ulong2 mask);
15049
15050ulong2 __ovld __cnfn shuffle(ulong2 x, ulong2 mask);
15051ulong2 __ovld __cnfn shuffle(ulong4 x, ulong2 mask);
15052ulong2 __ovld __cnfn shuffle(ulong8 x, ulong2 mask);
15053ulong2 __ovld __cnfn shuffle(ulong16 x, ulong2 mask);
15054
15055float2 __ovld __cnfn shuffle(float2 x, uint2 mask);
15056float2 __ovld __cnfn shuffle(float4 x, uint2 mask);
15057float2 __ovld __cnfn shuffle(float8 x, uint2 mask);
15058float2 __ovld __cnfn shuffle(float16 x, uint2 mask);
15059
15060char4 __ovld __cnfn shuffle(char2 x, uchar4 mask);
15061char4 __ovld __cnfn shuffle(char4 x, uchar4 mask);
15062char4 __ovld __cnfn shuffle(char8 x, uchar4 mask);
15063char4 __ovld __cnfn shuffle(char16 x, uchar4 mask);
15064
15065uchar4 __ovld __cnfn shuffle(uchar2 x, uchar4 mask);
15066uchar4 __ovld __cnfn shuffle(uchar4 x, uchar4 mask);
15067uchar4 __ovld __cnfn shuffle(uchar8 x, uchar4 mask);
15068uchar4 __ovld __cnfn shuffle(uchar16 x, uchar4 mask);
15069
15070short4 __ovld __cnfn shuffle(short2 x, ushort4 mask);
15071short4 __ovld __cnfn shuffle(short4 x, ushort4 mask);
15072short4 __ovld __cnfn shuffle(short8 x, ushort4 mask);
15073short4 __ovld __cnfn shuffle(short16 x, ushort4 mask);
15074
15075ushort4 __ovld __cnfn shuffle(ushort2 x, ushort4 mask);
15076ushort4 __ovld __cnfn shuffle(ushort4 x, ushort4 mask);
15077ushort4 __ovld __cnfn shuffle(ushort8 x, ushort4 mask);
15078ushort4 __ovld __cnfn shuffle(ushort16 x, ushort4 mask);
15079
15080int4 __ovld __cnfn shuffle(int2 x, uint4 mask);
15081int4 __ovld __cnfn shuffle(int4 x, uint4 mask);
15082int4 __ovld __cnfn shuffle(int8 x, uint4 mask);
15083int4 __ovld __cnfn shuffle(int16 x, uint4 mask);
15084
15085uint4 __ovld __cnfn shuffle(uint2 x, uint4 mask);
15086uint4 __ovld __cnfn shuffle(uint4 x, uint4 mask);
15087uint4 __ovld __cnfn shuffle(uint8 x, uint4 mask);
15088uint4 __ovld __cnfn shuffle(uint16 x, uint4 mask);
15089
15090long4 __ovld __cnfn shuffle(long2 x, ulong4 mask);
15091long4 __ovld __cnfn shuffle(long4 x, ulong4 mask);
15092long4 __ovld __cnfn shuffle(long8 x, ulong4 mask);
15093long4 __ovld __cnfn shuffle(long16 x, ulong4 mask);
15094
15095ulong4 __ovld __cnfn shuffle(ulong2 x, ulong4 mask);
15096ulong4 __ovld __cnfn shuffle(ulong4 x, ulong4 mask);
15097ulong4 __ovld __cnfn shuffle(ulong8 x, ulong4 mask);
15098ulong4 __ovld __cnfn shuffle(ulong16 x, ulong4 mask);
15099
15100float4 __ovld __cnfn shuffle(float2 x, uint4 mask);
15101float4 __ovld __cnfn shuffle(float4 x, uint4 mask);
15102float4 __ovld __cnfn shuffle(float8 x, uint4 mask);
15103float4 __ovld __cnfn shuffle(float16 x, uint4 mask);
15104
15105char8 __ovld __cnfn shuffle(char2 x, uchar8 mask);
15106char8 __ovld __cnfn shuffle(char4 x, uchar8 mask);
15107char8 __ovld __cnfn shuffle(char8 x, uchar8 mask);
15108char8 __ovld __cnfn shuffle(char16 x, uchar8 mask);
15109
15110uchar8 __ovld __cnfn shuffle(uchar2 x, uchar8 mask);
15111uchar8 __ovld __cnfn shuffle(uchar4 x, uchar8 mask);
15112uchar8 __ovld __cnfn shuffle(uchar8 x, uchar8 mask);
15113uchar8 __ovld __cnfn shuffle(uchar16 x, uchar8 mask);
15114
15115short8 __ovld __cnfn shuffle(short2 x, ushort8 mask);
15116short8 __ovld __cnfn shuffle(short4 x, ushort8 mask);
15117short8 __ovld __cnfn shuffle(short8 x, ushort8 mask);
15118short8 __ovld __cnfn shuffle(short16 x, ushort8 mask);
15119
15120ushort8 __ovld __cnfn shuffle(ushort2 x, ushort8 mask);
15121ushort8 __ovld __cnfn shuffle(ushort4 x, ushort8 mask);
15122ushort8 __ovld __cnfn shuffle(ushort8 x, ushort8 mask);
15123ushort8 __ovld __cnfn shuffle(ushort16 x, ushort8 mask);
15124
15125int8 __ovld __cnfn shuffle(int2 x, uint8 mask);
15126int8 __ovld __cnfn shuffle(int4 x, uint8 mask);
15127int8 __ovld __cnfn shuffle(int8 x, uint8 mask);
15128int8 __ovld __cnfn shuffle(int16 x, uint8 mask);
15129
15130uint8 __ovld __cnfn shuffle(uint2 x, uint8 mask);
15131uint8 __ovld __cnfn shuffle(uint4 x, uint8 mask);
15132uint8 __ovld __cnfn shuffle(uint8 x, uint8 mask);
15133uint8 __ovld __cnfn shuffle(uint16 x, uint8 mask);
15134
15135long8 __ovld __cnfn shuffle(long2 x, ulong8 mask);
15136long8 __ovld __cnfn shuffle(long4 x, ulong8 mask);
15137long8 __ovld __cnfn shuffle(long8 x, ulong8 mask);
15138long8 __ovld __cnfn shuffle(long16 x, ulong8 mask);
15139
15140ulong8 __ovld __cnfn shuffle(ulong2 x, ulong8 mask);
15141ulong8 __ovld __cnfn shuffle(ulong4 x, ulong8 mask);
15142ulong8 __ovld __cnfn shuffle(ulong8 x, ulong8 mask);
15143ulong8 __ovld __cnfn shuffle(ulong16 x, ulong8 mask);
15144
15145float8 __ovld __cnfn shuffle(float2 x, uint8 mask);
15146float8 __ovld __cnfn shuffle(float4 x, uint8 mask);
15147float8 __ovld __cnfn shuffle(float8 x, uint8 mask);
15148float8 __ovld __cnfn shuffle(float16 x, uint8 mask);
15149
15150char16 __ovld __cnfn shuffle(char2 x, uchar16 mask);
15151char16 __ovld __cnfn shuffle(char4 x, uchar16 mask);
15152char16 __ovld __cnfn shuffle(char8 x, uchar16 mask);
15153char16 __ovld __cnfn shuffle(char16 x, uchar16 mask);
15154
15155uchar16 __ovld __cnfn shuffle(uchar2 x, uchar16 mask);
15156uchar16 __ovld __cnfn shuffle(uchar4 x, uchar16 mask);
15157uchar16 __ovld __cnfn shuffle(uchar8 x, uchar16 mask);
15158uchar16 __ovld __cnfn shuffle(uchar16 x, uchar16 mask);
15159
15160short16 __ovld __cnfn shuffle(short2 x, ushort16 mask);
15161short16 __ovld __cnfn shuffle(short4 x, ushort16 mask);
15162short16 __ovld __cnfn shuffle(short8 x, ushort16 mask);
15163short16 __ovld __cnfn shuffle(short16 x, ushort16 mask);
15164
15165ushort16 __ovld __cnfn shuffle(ushort2 x, ushort16 mask);
15166ushort16 __ovld __cnfn shuffle(ushort4 x, ushort16 mask);
15167ushort16 __ovld __cnfn shuffle(ushort8 x, ushort16 mask);
15168ushort16 __ovld __cnfn shuffle(ushort16 x, ushort16 mask);
15169
15170int16 __ovld __cnfn shuffle(int2 x, uint16 mask);
15171int16 __ovld __cnfn shuffle(int4 x, uint16 mask);
15172int16 __ovld __cnfn shuffle(int8 x, uint16 mask);
15173int16 __ovld __cnfn shuffle(int16 x, uint16 mask);
15174
15175uint16 __ovld __cnfn shuffle(uint2 x, uint16 mask);
15176uint16 __ovld __cnfn shuffle(uint4 x, uint16 mask);
15177uint16 __ovld __cnfn shuffle(uint8 x, uint16 mask);
15178uint16 __ovld __cnfn shuffle(uint16 x, uint16 mask);
15179
15180long16 __ovld __cnfn shuffle(long2 x, ulong16 mask);
15181long16 __ovld __cnfn shuffle(long4 x, ulong16 mask);
15182long16 __ovld __cnfn shuffle(long8 x, ulong16 mask);
15183long16 __ovld __cnfn shuffle(long16 x, ulong16 mask);
15184
15185ulong16 __ovld __cnfn shuffle(ulong2 x, ulong16 mask);
15186ulong16 __ovld __cnfn shuffle(ulong4 x, ulong16 mask);
15187ulong16 __ovld __cnfn shuffle(ulong8 x, ulong16 mask);
15188ulong16 __ovld __cnfn shuffle(ulong16 x, ulong16 mask);
15189
15190float16 __ovld __cnfn shuffle(float2 x, uint16 mask);
15191float16 __ovld __cnfn shuffle(float4 x, uint16 mask);
15192float16 __ovld __cnfn shuffle(float8 x, uint16 mask);
15193float16 __ovld __cnfn shuffle(float16 x, uint16 mask);
15194
15195#ifdef cl_khr_fp64
15196double2 __ovld __cnfn shuffle(double2 x, ulong2 mask);
15197double2 __ovld __cnfn shuffle(double4 x, ulong2 mask);
15198double2 __ovld __cnfn shuffle(double8 x, ulong2 mask);
15199double2 __ovld __cnfn shuffle(double16 x, ulong2 mask);
15200
15201double4 __ovld __cnfn shuffle(double2 x, ulong4 mask);
15202double4 __ovld __cnfn shuffle(double4 x, ulong4 mask);
15203double4 __ovld __cnfn shuffle(double8 x, ulong4 mask);
15204double4 __ovld __cnfn shuffle(double16 x, ulong4 mask);
15205
15206double8 __ovld __cnfn shuffle(double2 x, ulong8 mask);
15207double8 __ovld __cnfn shuffle(double4 x, ulong8 mask);
15208double8 __ovld __cnfn shuffle(double8 x, ulong8 mask);
15209double8 __ovld __cnfn shuffle(double16 x, ulong8 mask);
15210
15211double16 __ovld __cnfn shuffle(double2 x, ulong16 mask);
15212double16 __ovld __cnfn shuffle(double4 x, ulong16 mask);
15213double16 __ovld __cnfn shuffle(double8 x, ulong16 mask);
15214double16 __ovld __cnfn shuffle(double16 x, ulong16 mask);
15215#endif //cl_khr_fp64
15216
15217#ifdef cl_khr_fp16
15218half2 __ovld __cnfn shuffle(half2 x, ushort2 mask);
15219half2 __ovld __cnfn shuffle(half4 x, ushort2 mask);
15220half2 __ovld __cnfn shuffle(half8 x, ushort2 mask);
15221half2 __ovld __cnfn shuffle(half16 x, ushort2 mask);
15222
15223half4 __ovld __cnfn shuffle(half2 x, ushort4 mask);
15224half4 __ovld __cnfn shuffle(half4 x, ushort4 mask);
15225half4 __ovld __cnfn shuffle(half8 x, ushort4 mask);
15226half4 __ovld __cnfn shuffle(half16 x, ushort4 mask);
15227
15228half8 __ovld __cnfn shuffle(half2 x, ushort8 mask);
15229half8 __ovld __cnfn shuffle(half4 x, ushort8 mask);
15230half8 __ovld __cnfn shuffle(half8 x, ushort8 mask);
15231half8 __ovld __cnfn shuffle(half16 x, ushort8 mask);
15232
15233half16 __ovld __cnfn shuffle(half2 x, ushort16 mask);
15234half16 __ovld __cnfn shuffle(half4 x, ushort16 mask);
15235half16 __ovld __cnfn shuffle(half8 x, ushort16 mask);
15236half16 __ovld __cnfn shuffle(half16 x, ushort16 mask);
15237#endif //cl_khr_fp16
15238
15239char2 __ovld __cnfn shuffle2(char2 x, char2 y, uchar2 mask);
15240char2 __ovld __cnfn shuffle2(char4 x, char4 y, uchar2 mask);
15241char2 __ovld __cnfn shuffle2(char8 x, char8 y, uchar2 mask);
15242char2 __ovld __cnfn shuffle2(char16 x, char16 y, uchar2 mask);
15243
15244uchar2 __ovld __cnfn shuffle2(uchar2 x, uchar2 y, uchar2 mask);
15245uchar2 __ovld __cnfn shuffle2(uchar4 x, uchar4 y, uchar2 mask);
15246uchar2 __ovld __cnfn shuffle2(uchar8 x, uchar8 y, uchar2 mask);
15247uchar2 __ovld __cnfn shuffle2(uchar16 x, uchar16 y, uchar2 mask);
15248
15249short2 __ovld __cnfn shuffle2(short2 x, short2 y, ushort2 mask);
15250short2 __ovld __cnfn shuffle2(short4 x, short4 y, ushort2 mask);
15251short2 __ovld __cnfn shuffle2(short8 x, short8 y, ushort2 mask);
15252short2 __ovld __cnfn shuffle2(short16 x, short16 y, ushort2 mask);
15253
15254ushort2 __ovld __cnfn shuffle2(ushort2 x, ushort2 y, ushort2 mask);
15255ushort2 __ovld __cnfn shuffle2(ushort4 x, ushort4 y, ushort2 mask);
15256ushort2 __ovld __cnfn shuffle2(ushort8 x, ushort8 y, ushort2 mask);
15257ushort2 __ovld __cnfn shuffle2(ushort16 x, ushort16 y, ushort2 mask);
15258
15259int2 __ovld __cnfn shuffle2(int2 x, int2 y, uint2 mask);
15260int2 __ovld __cnfn shuffle2(int4 x, int4 y, uint2 mask);
15261int2 __ovld __cnfn shuffle2(int8 x, int8 y, uint2 mask);
15262int2 __ovld __cnfn shuffle2(int16 x, int16 y, uint2 mask);
15263
15264uint2 __ovld __cnfn shuffle2(uint2 x, uint2 y, uint2 mask);
15265uint2 __ovld __cnfn shuffle2(uint4 x, uint4 y, uint2 mask);
15266uint2 __ovld __cnfn shuffle2(uint8 x, uint8 y, uint2 mask);
15267uint2 __ovld __cnfn shuffle2(uint16 x, uint16 y, uint2 mask);
15268
15269long2 __ovld __cnfn shuffle2(long2 x, long2 y, ulong2 mask);
15270long2 __ovld __cnfn shuffle2(long4 x, long4 y, ulong2 mask);
15271long2 __ovld __cnfn shuffle2(long8 x, long8 y, ulong2 mask);
15272long2 __ovld __cnfn shuffle2(long16 x, long16 y, ulong2 mask);
15273
15274ulong2 __ovld __cnfn shuffle2(ulong2 x, ulong2 y, ulong2 mask);
15275ulong2 __ovld __cnfn shuffle2(ulong4 x, ulong4 y, ulong2 mask);
15276ulong2 __ovld __cnfn shuffle2(ulong8 x, ulong8 y, ulong2 mask);
15277ulong2 __ovld __cnfn shuffle2(ulong16 x, ulong16 y, ulong2 mask);
15278
15279float2 __ovld __cnfn shuffle2(float2 x, float2 y, uint2 mask);
15280float2 __ovld __cnfn shuffle2(float4 x, float4 y, uint2 mask);
15281float2 __ovld __cnfn shuffle2(float8 x, float8 y, uint2 mask);
15282float2 __ovld __cnfn shuffle2(float16 x, float16 y, uint2 mask);
15283
15284char4 __ovld __cnfn shuffle2(char2 x, char2 y, uchar4 mask);
15285char4 __ovld __cnfn shuffle2(char4 x, char4 y, uchar4 mask);
15286char4 __ovld __cnfn shuffle2(char8 x, char8 y, uchar4 mask);
15287char4 __ovld __cnfn shuffle2(char16 x, char16 y, uchar4 mask);
15288
15289uchar4 __ovld __cnfn shuffle2(uchar2 x, uchar2 y, uchar4 mask);
15290uchar4 __ovld __cnfn shuffle2(uchar4 x, uchar4 y, uchar4 mask);
15291uchar4 __ovld __cnfn shuffle2(uchar8 x, uchar8 y, uchar4 mask);
15292uchar4 __ovld __cnfn shuffle2(uchar16 x, uchar16 y, uchar4 mask);
15293
15294short4 __ovld __cnfn shuffle2(short2 x, short2 y, ushort4 mask);
15295short4 __ovld __cnfn shuffle2(short4 x, short4 y, ushort4 mask);
15296short4 __ovld __cnfn shuffle2(short8 x, short8 y, ushort4 mask);
15297short4 __ovld __cnfn shuffle2(short16 x, short16 y, ushort4 mask);
15298
15299ushort4 __ovld __cnfn shuffle2(ushort2 x, ushort2 y, ushort4 mask);
15300ushort4 __ovld __cnfn shuffle2(ushort4 x, ushort4 y, ushort4 mask);
15301ushort4 __ovld __cnfn shuffle2(ushort8 x, ushort8 y, ushort4 mask);
15302ushort4 __ovld __cnfn shuffle2(ushort16 x, ushort16 y, ushort4 mask);
15303
15304int4 __ovld __cnfn shuffle2(int2 x, int2 y, uint4 mask);
15305int4 __ovld __cnfn shuffle2(int4 x, int4 y, uint4 mask);
15306int4 __ovld __cnfn shuffle2(int8 x, int8 y, uint4 mask);
15307int4 __ovld __cnfn shuffle2(int16 x, int16 y, uint4 mask);
15308
15309uint4 __ovld __cnfn shuffle2(uint2 x, uint2 y, uint4 mask);
15310uint4 __ovld __cnfn shuffle2(uint4 x, uint4 y, uint4 mask);
15311uint4 __ovld __cnfn shuffle2(uint8 x, uint8 y, uint4 mask);
15312uint4 __ovld __cnfn shuffle2(uint16 x, uint16 y, uint4 mask);
15313
15314long4 __ovld __cnfn shuffle2(long2 x, long2 y, ulong4 mask);
15315long4 __ovld __cnfn shuffle2(long4 x, long4 y, ulong4 mask);
15316long4 __ovld __cnfn shuffle2(long8 x, long8 y, ulong4 mask);
15317long4 __ovld __cnfn shuffle2(long16 x, long16 y, ulong4 mask);
15318
15319ulong4 __ovld __cnfn shuffle2(ulong2 x, ulong2 y, ulong4 mask);
15320ulong4 __ovld __cnfn shuffle2(ulong4 x, ulong4 y, ulong4 mask);
15321ulong4 __ovld __cnfn shuffle2(ulong8 x, ulong8 y, ulong4 mask);
15322ulong4 __ovld __cnfn shuffle2(ulong16 x, ulong16 y, ulong4 mask);
15323
15324float4 __ovld __cnfn shuffle2(float2 x, float2 y, uint4 mask);
15325float4 __ovld __cnfn shuffle2(float4 x, float4 y, uint4 mask);
15326float4 __ovld __cnfn shuffle2(float8 x, float8 y, uint4 mask);
15327float4 __ovld __cnfn shuffle2(float16 x, float16 y, uint4 mask);
15328
15329char8 __ovld __cnfn shuffle2(char2 x, char2 y, uchar8 mask);
15330char8 __ovld __cnfn shuffle2(char4 x, char4 y, uchar8 mask);
15331char8 __ovld __cnfn shuffle2(char8 x, char8 y, uchar8 mask);
15332char8 __ovld __cnfn shuffle2(char16 x, char16 y, uchar8 mask);
15333
15334uchar8 __ovld __cnfn shuffle2(uchar2 x, uchar2 y, uchar8 mask);
15335uchar8 __ovld __cnfn shuffle2(uchar4 x, uchar4 y, uchar8 mask);
15336uchar8 __ovld __cnfn shuffle2(uchar8 x, uchar8 y, uchar8 mask);
15337uchar8 __ovld __cnfn shuffle2(uchar16 x, uchar16 y, uchar8 mask);
15338
15339short8 __ovld __cnfn shuffle2(short2 x, short2 y, ushort8 mask);
15340short8 __ovld __cnfn shuffle2(short4 x, short4 y, ushort8 mask);
15341short8 __ovld __cnfn shuffle2(short8 x, short8 y, ushort8 mask);
15342short8 __ovld __cnfn shuffle2(short16 x, short16 y, ushort8 mask);
15343
15344ushort8 __ovld __cnfn shuffle2(ushort2 x, ushort2 y, ushort8 mask);
15345ushort8 __ovld __cnfn shuffle2(ushort4 x, ushort4 y, ushort8 mask);
15346ushort8 __ovld __cnfn shuffle2(ushort8 x, ushort8 y, ushort8 mask);
15347ushort8 __ovld __cnfn shuffle2(ushort16 x, ushort16 y, ushort8 mask);
15348
15349int8 __ovld __cnfn shuffle2(int2 x, int2 y, uint8 mask);
15350int8 __ovld __cnfn shuffle2(int4 x, int4 y, uint8 mask);
15351int8 __ovld __cnfn shuffle2(int8 x, int8 y, uint8 mask);
15352int8 __ovld __cnfn shuffle2(int16 x, int16 y, uint8 mask);
15353
15354uint8 __ovld __cnfn shuffle2(uint2 x, uint2 y, uint8 mask);
15355uint8 __ovld __cnfn shuffle2(uint4 x, uint4 y, uint8 mask);
15356uint8 __ovld __cnfn shuffle2(uint8 x, uint8 y, uint8 mask);
15357uint8 __ovld __cnfn shuffle2(uint16 x, uint16 y, uint8 mask);
15358
15359long8 __ovld __cnfn shuffle2(long2 x, long2 y, ulong8 mask);
15360long8 __ovld __cnfn shuffle2(long4 x, long4 y, ulong8 mask);
15361long8 __ovld __cnfn shuffle2(long8 x, long8 y, ulong8 mask);
15362long8 __ovld __cnfn shuffle2(long16 x, long16 y, ulong8 mask);
15363
15364ulong8 __ovld __cnfn shuffle2(ulong2 x, ulong2 y, ulong8 mask);
15365ulong8 __ovld __cnfn shuffle2(ulong4 x, ulong4 y, ulong8 mask);
15366ulong8 __ovld __cnfn shuffle2(ulong8 x, ulong8 y, ulong8 mask);
15367ulong8 __ovld __cnfn shuffle2(ulong16 x, ulong16 y, ulong8 mask);
15368
15369float8 __ovld __cnfn shuffle2(float2 x, float2 y, uint8 mask);
15370float8 __ovld __cnfn shuffle2(float4 x, float4 y, uint8 mask);
15371float8 __ovld __cnfn shuffle2(float8 x, float8 y, uint8 mask);
15372float8 __ovld __cnfn shuffle2(float16 x, float16 y, uint8 mask);
15373
15374char16 __ovld __cnfn shuffle2(char2 x, char2 y, uchar16 mask);
15375char16 __ovld __cnfn shuffle2(char4 x, char4 y, uchar16 mask);
15376char16 __ovld __cnfn shuffle2(char8 x, char8 y, uchar16 mask);
15377char16 __ovld __cnfn shuffle2(char16 x, char16 y, uchar16 mask);
15378
15379uchar16 __ovld __cnfn shuffle2(uchar2 x, uchar2 y, uchar16 mask);
15380uchar16 __ovld __cnfn shuffle2(uchar4 x, uchar4 y, uchar16 mask);
15381uchar16 __ovld __cnfn shuffle2(uchar8 x, uchar8 y, uchar16 mask);
15382uchar16 __ovld __cnfn shuffle2(uchar16 x, uchar16 y, uchar16 mask);
15383
15384short16 __ovld __cnfn shuffle2(short2 x, short2 y, ushort16 mask);
15385short16 __ovld __cnfn shuffle2(short4 x, short4 y, ushort16 mask);
15386short16 __ovld __cnfn shuffle2(short8 x, short8 y, ushort16 mask);
15387short16 __ovld __cnfn shuffle2(short16 x, short16 y, ushort16 mask);
15388
15389ushort16 __ovld __cnfn shuffle2(ushort2 x, ushort2 y, ushort16 mask);
15390ushort16 __ovld __cnfn shuffle2(ushort4 x, ushort4 y, ushort16 mask);
15391ushort16 __ovld __cnfn shuffle2(ushort8 x, ushort8 y, ushort16 mask);
15392ushort16 __ovld __cnfn shuffle2(ushort16 x, ushort16 y, ushort16 mask);
15393
15394int16 __ovld __cnfn shuffle2(int2 x, int2 y, uint16 mask);
15395int16 __ovld __cnfn shuffle2(int4 x, int4 y, uint16 mask);
15396int16 __ovld __cnfn shuffle2(int8 x, int8 y, uint16 mask);
15397int16 __ovld __cnfn shuffle2(int16 x, int16 y, uint16 mask);
15398
15399uint16 __ovld __cnfn shuffle2(uint2 x, uint2 y, uint16 mask);
15400uint16 __ovld __cnfn shuffle2(uint4 x, uint4 y, uint16 mask);
15401uint16 __ovld __cnfn shuffle2(uint8 x, uint8 y, uint16 mask);
15402uint16 __ovld __cnfn shuffle2(uint16 x, uint16 y, uint16 mask);
15403
15404long16 __ovld __cnfn shuffle2(long2 x, long2 y, ulong16 mask);
15405long16 __ovld __cnfn shuffle2(long4 x, long4 y, ulong16 mask);
15406long16 __ovld __cnfn shuffle2(long8 x, long8 y, ulong16 mask);
15407long16 __ovld __cnfn shuffle2(long16 x, long16 y, ulong16 mask);
15408
15409ulong16 __ovld __cnfn shuffle2(ulong2 x, ulong2 y, ulong16 mask);
15410ulong16 __ovld __cnfn shuffle2(ulong4 x, ulong4 y, ulong16 mask);
15411ulong16 __ovld __cnfn shuffle2(ulong8 x, ulong8 y, ulong16 mask);
15412ulong16 __ovld __cnfn shuffle2(ulong16 x, ulong16 y, ulong16 mask);
15413
15414float16 __ovld __cnfn shuffle2(float2 x, float2 y, uint16 mask);
15415float16 __ovld __cnfn shuffle2(float4 x, float4 y, uint16 mask);
15416float16 __ovld __cnfn shuffle2(float8 x, float8 y, uint16 mask);
15417float16 __ovld __cnfn shuffle2(float16 x, float16 y, uint16 mask);
15418
15419#ifdef cl_khr_fp64
15420double2 __ovld __cnfn shuffle2(double2 x, double2 y, ulong2 mask);
15421double2 __ovld __cnfn shuffle2(double4 x, double4 y, ulong2 mask);
15422double2 __ovld __cnfn shuffle2(double8 x, double8 y, ulong2 mask);
15423double2 __ovld __cnfn shuffle2(double16 x, double16 y, ulong2 mask);
15424
15425double4 __ovld __cnfn shuffle2(double2 x, double2 y, ulong4 mask);
15426double4 __ovld __cnfn shuffle2(double4 x, double4 y, ulong4 mask);
15427double4 __ovld __cnfn shuffle2(double8 x, double8 y, ulong4 mask);
15428double4 __ovld __cnfn shuffle2(double16 x, double16 y, ulong4 mask);
15429
15430double8 __ovld __cnfn shuffle2(double2 x, double2 y, ulong8 mask);
15431double8 __ovld __cnfn shuffle2(double4 x, double4 y, ulong8 mask);
15432double8 __ovld __cnfn shuffle2(double8 x, double8 y, ulong8 mask);
15433double8 __ovld __cnfn shuffle2(double16 x, double16 y, ulong8 mask);
15434
15435double16 __ovld __cnfn shuffle2(double2 x, double2 y, ulong16 mask);
15436double16 __ovld __cnfn shuffle2(double4 x, double4 y, ulong16 mask);
15437double16 __ovld __cnfn shuffle2(double8 x, double8 y, ulong16 mask);
15438double16 __ovld __cnfn shuffle2(double16 x, double16 y, ulong16 mask);
15439#endif //cl_khr_fp64
15440
15441#ifdef cl_khr_fp16
15442half2 __ovld __cnfn shuffle2(half2 x, half2 y, ushort2 mask);
15443half2 __ovld __cnfn shuffle2(half4 x, half4 y, ushort2 mask);
15444half2 __ovld __cnfn shuffle2(half8 x, half8 y, ushort2 mask);
15445half2 __ovld __cnfn shuffle2(half16 x, half16 y, ushort2 mask);
15446
15447half4 __ovld __cnfn shuffle2(half2 x, half2 y, ushort4 mask);
15448half4 __ovld __cnfn shuffle2(half4 x, half4 y, ushort4 mask);
15449half4 __ovld __cnfn shuffle2(half8 x, half8 y, ushort4 mask);
15450half4 __ovld __cnfn shuffle2(half16 x, half16 y, ushort4 mask);
15451
15452half8 __ovld __cnfn shuffle2(half2 x, half2 y, ushort8 mask);
15453half8 __ovld __cnfn shuffle2(half4 x, half4 y, ushort8 mask);
15454half8 __ovld __cnfn shuffle2(half8 x, half8 y, ushort8 mask);
15455half8 __ovld __cnfn shuffle2(half16 x, half16 y, ushort8 mask);
15456
15457half16 __ovld __cnfn shuffle2(half2 x, half2 y, ushort16 mask);
15458half16 __ovld __cnfn shuffle2(half4 x, half4 y, ushort16 mask);
15459half16 __ovld __cnfn shuffle2(half8 x, half8 y, ushort16 mask);
15460half16 __ovld __cnfn shuffle2(half16 x, half16 y, ushort16 mask);
15461#endif //cl_khr_fp16
15462
15463#if __OPENCL_C_VERSION__ >= CL_VERSION_1_2
15464// OpenCL v1.2 s6.12.13, v2.0 s6.13.13 - printf
15465
15466int printf(__constant const char* st, ...);
15467#endif
15468
15469// OpenCL v1.1 s6.11.3, v1.2 s6.12.14, v2.0 s6.13.14 - Image Read and Write Functions
15470
15471// These values need to match the runtime equivalent
15472//
15473// Addressing Mode.
15474//
15475#define CLK_ADDRESS_NONE                0
15476#define CLK_ADDRESS_CLAMP_TO_EDGE       2
15477#define CLK_ADDRESS_CLAMP               4
15478#define CLK_ADDRESS_REPEAT              6
15479#define CLK_ADDRESS_MIRRORED_REPEAT     8
15480
15481//
15482// Coordination Normalization
15483//
15484#define CLK_NORMALIZED_COORDS_FALSE     0
15485#define CLK_NORMALIZED_COORDS_TRUE      1
15486
15487//
15488// Filtering Mode.
15489//
15490#define CLK_FILTER_NEAREST              0x10
15491#define CLK_FILTER_LINEAR               0x20
15492
15493#ifdef cl_khr_gl_msaa_sharing
15494#pragma OPENCL EXTENSION cl_khr_gl_msaa_sharing : enable
15495#endif //cl_khr_gl_msaa_sharing
15496
15497/**
15498 * Use the coordinate (coord.xy) to do an element lookup in
15499 * the 2D image object specified by image.
15500 *
15501 * Use the coordinate (coord.x, coord.y, coord.z) to do
15502 * an element lookup in the 3D image object specified
15503 * by image. coord.w is ignored.
15504 *
15505 * Use the coordinate (coord.z) to index into the
15506 * 2D image array object specified by image_array
15507 * and (coord.x, coord.y) to do an element lookup in
15508 * the 2D image object specified by image.
15509 *
15510 * Use the coordinate (x) to do an element lookup in
15511 * the 1D image object specified by image.
15512 *
15513 * Use the coordinate (coord.y) to index into the
15514 * 1D image array object specified by image_array
15515 * and (coord.x) to do an element lookup in
15516 * the 1D image object specified by image.
15517 *
15518 * Use the coordinate (cood.xy) and sample to do an
15519 * element lookup in the 2D multi-sample image specified
15520 * by image.
15521 *
15522 * Use coord.xy and sample to do an element
15523 * lookup in the 2D multi-sample image layer
15524 * identified by index coord.z in the 2D multi-sample
15525 * image array specified by image.
15526 *
15527 * For mipmap images, use the mip-level specified by
15528 * the Level-of-Detail (lod) or use gradients for LOD
15529 * computation.
15530 *
15531 * read_imagef returns floating-point values in the
15532 * range [0.0 ... 1.0] for image objects created with
15533 * image_channel_data_type set to one of the predefined
15534 * packed formats or CL_UNORM_INT8, or
15535 * CL_UNORM_INT16.
15536 *
15537 * read_imagef returns floating-point values in the
15538 * range [-1.0 ... 1.0] for image objects created with
15539 * image_channel_data_type set to CL_SNORM_INT8,
15540 * or CL_SNORM_INT16.
15541 *
15542 * read_imagef returns floating-point values for image
15543 * objects created with image_channel_data_type set to
15544 * CL_HALF_FLOAT or CL_FLOAT.
15545 *
15546 * read_imagei and read_imageui return
15547 * unnormalized signed integer and unsigned integer
15548 * values respectively. Each channel will be stored in a
15549 * 32-bit integer.
15550 *
15551 * read_imagei can only be used with image objects
15552 * created with image_channel_data_type set to one of
15553 * the following values:
15554 * CL_SIGNED_INT8,
15555 * CL_SIGNED_INT16 and
15556 * CL_SIGNED_INT32.
15557 * If the image_channel_data_type is not one of the
15558 * above values, the values returned by read_imagei
15559 * are undefined.
15560 *
15561 * read_imageui can only be used with image objects
15562 * created with image_channel_data_type set to one of
15563 * the following values:
15564 * CL_UNSIGNED_INT8,
15565 * CL_UNSIGNED_INT16 and
15566 * CL_UNSIGNED_INT32.
15567 * If the image_channel_data_type is not one of the
15568 * above values, the values returned by read_imageui
15569 * are undefined.
15570 *
15571 * The read_image{i|ui} calls support a nearest filter
15572 * only. The filter_mode specified in sampler
15573 * must be set to CLK_FILTER_NEAREST; otherwise
15574 * the values returned are undefined.
15575
15576 * The read_image{f|i|ui} calls that take
15577 * integer coordinates must use a sampler with
15578 * normalized coordinates set to
15579 * CLK_NORMALIZED_COORDS_FALSE and
15580 * addressing mode set to
15581 * CLK_ADDRESS_CLAMP_TO_EDGE,
15582 * CLK_ADDRESS_CLAMP or CLK_ADDRESS_NONE;
15583 * otherwise the values returned are undefined.
15584 *
15585 * Values returned by read_imagef for image objects
15586 * with image_channel_data_type values not specified
15587 * in the description above are undefined.
15588 */
15589
15590float4 __purefn __ovld read_imagef(read_only image2d_t image, sampler_t sampler, int2 coord);
15591float4 __purefn __ovld read_imagef(read_only image2d_t image, sampler_t sampler, float2 coord);
15592
15593int4 __purefn __ovld read_imagei(read_only image2d_t image, sampler_t sampler, int2 coord);
15594int4 __purefn __ovld read_imagei(read_only image2d_t image, sampler_t sampler, float2 coord);
15595uint4 __purefn __ovld read_imageui(read_only image2d_t image, sampler_t sampler, int2 coord);
15596uint4 __purefn __ovld read_imageui(read_only image2d_t image, sampler_t sampler, float2 coord);
15597
15598float4 __purefn __ovld read_imagef(read_only image3d_t image, sampler_t sampler, int4 coord);
15599float4 __purefn __ovld read_imagef(read_only image3d_t image, sampler_t sampler, float4 coord);
15600
15601int4 __purefn __ovld read_imagei(read_only image3d_t image, sampler_t sampler, int4 coord);
15602int4 __purefn __ovld read_imagei(read_only image3d_t image, sampler_t sampler, float4 coord);
15603uint4 __purefn __ovld read_imageui(read_only image3d_t image, sampler_t sampler, int4 coord);
15604uint4 __purefn __ovld read_imageui(read_only image3d_t image, sampler_t sampler, float4 coord);
15605
15606float4 __purefn __ovld read_imagef(read_only image2d_array_t image_array, sampler_t sampler, int4 coord);
15607float4 __purefn __ovld read_imagef(read_only image2d_array_t image_array, sampler_t sampler, float4 coord);
15608
15609int4 __purefn __ovld read_imagei(read_only image2d_array_t image_array, sampler_t sampler, int4 coord);
15610int4 __purefn __ovld read_imagei(read_only image2d_array_t image_array, sampler_t sampler, float4 coord);
15611uint4 __purefn __ovld read_imageui(read_only image2d_array_t image_array, sampler_t sampler, int4 coord);
15612uint4 __purefn __ovld read_imageui(read_only image2d_array_t image_array, sampler_t sampler, float4 coord);
15613
15614float4 __purefn __ovld read_imagef(read_only image1d_t image, sampler_t sampler, int coord);
15615float4 __purefn __ovld read_imagef(read_only image1d_t image, sampler_t sampler, float coord);
15616
15617int4 __purefn __ovld read_imagei(read_only image1d_t image, sampler_t sampler, int coord);
15618int4 __purefn __ovld read_imagei(read_only image1d_t image, sampler_t sampler, float coord);
15619uint4 __purefn __ovld read_imageui(read_only image1d_t image, sampler_t sampler, int coord);
15620uint4 __purefn __ovld read_imageui(read_only image1d_t image, sampler_t sampler, float coord);
15621
15622float4 __purefn __ovld read_imagef(read_only image1d_array_t image_array, sampler_t sampler, int2 coord);
15623float4 __purefn __ovld read_imagef(read_only image1d_array_t image_array, sampler_t sampler, float2 coord);
15624
15625int4 __purefn __ovld read_imagei(read_only image1d_array_t image_array, sampler_t sampler, int2 coord);
15626int4 __purefn __ovld read_imagei(read_only image1d_array_t image_array, sampler_t sampler, float2 coord);
15627uint4 __purefn __ovld read_imageui(read_only image1d_array_t image_array, sampler_t sampler, int2 coord);
15628uint4 __purefn __ovld read_imageui(read_only image1d_array_t image_array, sampler_t sampler, float2 coord);
15629
15630#ifdef cl_khr_depth_images
15631float __purefn __ovld read_imagef(read_only image2d_depth_t image, sampler_t sampler, float2 coord);
15632float __purefn __ovld read_imagef(read_only image2d_depth_t image, sampler_t sampler, int2 coord);
15633
15634float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, sampler_t sampler, float4 coord);
15635float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, sampler_t sampler, int4 coord);
15636#endif //cl_khr_depth_images
15637
15638#if defined(cl_khr_gl_msaa_sharing)
15639float4 __purefn __ovld read_imagef(read_only image2d_msaa_t image, int2 coord, int sample);
15640int4 __purefn __ovld read_imagei(read_only image2d_msaa_t image, int2 coord, int sample);
15641uint4 __purefn __ovld read_imageui(read_only image2d_msaa_t image, int2 coord, int sample);
15642
15643float __purefn __ovld read_imagef(read_only image2d_msaa_depth_t image, int2 coord, int sample);
15644
15645float4 __purefn __ovld read_imagef(read_only image2d_array_msaa_t image, int4 coord, int sample);
15646int4 __purefn __ovld read_imagei(read_only image2d_array_msaa_t image, int4 coord, int sample);
15647uint4 __purefn __ovld read_imageui(read_only image2d_array_msaa_t image, int4 coord, int sample);
15648
15649float __purefn __ovld read_imagef(read_only image2d_array_msaa_depth_t image, int4 coord, int sample);
15650#endif //cl_khr_gl_msaa_sharing
15651
15652// OpenCL Extension v2.0 s9.18 - Mipmaps
15653#ifdef cl_khr_mipmap_image
15654
15655float4 __purefn __ovld read_imagef(read_only image1d_t image, sampler_t sampler, float coord, float lod);
15656int4 __purefn __ovld read_imagei(read_only image1d_t image, sampler_t sampler, float coord, float lod);
15657uint4 __purefn __ovld read_imageui(read_only image1d_t image, sampler_t sampler, float coord, float lod);
15658
15659float4 __purefn __ovld read_imagef(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
15660int4 __purefn __ovld read_imagei(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
15661uint4 __purefn __ovld read_imageui(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
15662
15663float4 __purefn __ovld read_imagef(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
15664int4 __purefn __ovld read_imagei(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
15665uint4 __purefn __ovld read_imageui(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
15666
15667float __purefn __ovld read_imagef(read_only image2d_depth_t image, sampler_t sampler, float2 coord, float lod);
15668
15669float4 __purefn __ovld read_imagef(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
15670int4 __purefn __ovld read_imagei(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
15671uint4 __purefn __ovld read_imageui(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
15672
15673float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, sampler_t sampler, float4 coord, float lod);
15674
15675float4 __purefn __ovld read_imagef(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
15676int4 __purefn __ovld read_imagei(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
15677uint4 __purefn __ovld read_imageui(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
15678
15679float4 __purefn __ovld read_imagef(read_only image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
15680int4 __purefn __ovld read_imagei(read_only image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
15681uint4 __purefn __ovld read_imageui(read_only image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
15682
15683float4 __purefn __ovld read_imagef(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
15684int4 __purefn __ovld read_imagei(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
15685uint4 __purefn __ovld read_imageui(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
15686
15687float4 __purefn __ovld read_imagef(read_only image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
15688int4 __purefn __ovld read_imagei(read_only image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
15689uint4 __purefn __ovld read_imageui(read_only image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
15690
15691float __purefn __ovld read_imagef(read_only image2d_depth_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
15692
15693float4 __purefn __ovld read_imagef(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
15694int4 __purefn __ovld read_imagei(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
15695uint4 __purefn __ovld read_imageui(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
15696
15697float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
15698
15699float4 __purefn __ovld read_imagef(read_only image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
15700int4 __purefn __ovld read_imagei(read_only image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
15701uint4 __purefn __ovld read_imageui(read_only image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
15702
15703float4 __purefn __ovld read_imagef(read_only image1d_t image, sampler_t sampler, float coord, float lod);
15704int4 __purefn __ovld read_imagei(read_only image1d_t image, sampler_t sampler, float coord, float lod);
15705uint4 __purefn __ovld read_imageui(read_only image1d_t image, sampler_t sampler, float coord, float lod);
15706
15707float4 __purefn __ovld read_imagef(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
15708int4 __purefn __ovld read_imagei(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
15709uint4 __purefn __ovld read_imageui(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
15710
15711float4 __purefn __ovld read_imagef(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
15712int4 __purefn __ovld read_imagei(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
15713uint4 __purefn __ovld read_imageui(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
15714
15715float __purefn __ovld read_imagef(read_only image2d_depth_t image, sampler_t sampler, float2 coord, float lod);
15716
15717float4 __purefn __ovld read_imagef(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
15718int4 __purefn __ovld read_imagei(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
15719uint4 __purefn __ovld read_imageui(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
15720
15721float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, sampler_t sampler, float4 coord, float lod);
15722
15723float4 __purefn __ovld read_imagef(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
15724int4 __purefn __ovld read_imagei(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
15725uint4 __purefn __ovld read_imageui(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
15726
15727#endif //cl_khr_mipmap_image
15728
15729/**
15730* Sampler-less Image Access
15731*/
15732
15733float4 __purefn __ovld read_imagef(read_only image1d_t image, int coord);
15734int4 __purefn __ovld read_imagei(read_only image1d_t image, int coord);
15735uint4 __purefn __ovld read_imageui(read_only image1d_t image, int coord);
15736
15737float4 __purefn __ovld read_imagef(read_only image1d_buffer_t image, int coord);
15738int4 __purefn __ovld read_imagei(read_only image1d_buffer_t image, int coord);
15739uint4 __purefn __ovld read_imageui(read_only image1d_buffer_t image, int coord);
15740
15741float4 __purefn __ovld read_imagef(read_only image1d_array_t image, int2 coord);
15742int4 __purefn __ovld read_imagei(read_only image1d_array_t image, int2 coord);
15743uint4 __purefn __ovld read_imageui(read_only image1d_array_t image, int2 coord);
15744
15745float4 __purefn __ovld read_imagef(read_only image2d_t image, int2 coord);
15746int4 __purefn __ovld read_imagei(read_only image2d_t image, int2 coord);
15747uint4 __purefn __ovld read_imageui(read_only image2d_t image, int2 coord);
15748
15749float4 __purefn __ovld read_imagef(read_only image2d_array_t image, int4 coord);
15750int4 __purefn __ovld read_imagei(read_only image2d_array_t image, int4 coord);
15751uint4 __purefn __ovld read_imageui(read_only image2d_array_t image, int4 coord);
15752
15753#ifdef cl_khr_depth_images
15754float __purefn __ovld read_imagef(read_only image2d_depth_t image, int2 coord);
15755float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, int4 coord);
15756#endif //cl_khr_depth_images
15757
15758float4 __purefn __ovld read_imagef(read_only image3d_t image, int4 coord);
15759int4 __purefn __ovld read_imagei(read_only image3d_t image, int4 coord);
15760uint4 __purefn __ovld read_imageui(read_only image3d_t image, int4 coord);
15761
15762// Image read functions returning half4 type
15763#ifdef cl_khr_fp16
15764half4 __purefn __ovld read_imageh(read_only image1d_t image, sampler_t sampler, int coord);
15765half4 __purefn __ovld read_imageh(read_only image1d_t image, sampler_t sampler, float coord);
15766half4 __purefn __ovld read_imageh(read_only image1d_array_t image, sampler_t sampler, int2 coord);
15767half4 __purefn __ovld read_imageh(read_only image1d_array_t image, sampler_t sampler, float2 coord);
15768half4 __purefn __ovld read_imageh(read_only image2d_t image, sampler_t sampler, int2 coord);
15769half4 __purefn __ovld read_imageh(read_only image2d_t image, sampler_t sampler, float2 coord);
15770half4 __purefn __ovld read_imageh(read_only image3d_t image, sampler_t sampler, int4 coord);
15771half4 __purefn __ovld read_imageh(read_only image3d_t image, sampler_t sampler, float4 coord);
15772half4 __purefn __ovld read_imageh(read_only image2d_array_t image, sampler_t sampler, int4 coord);
15773half4 __purefn __ovld read_imageh(read_only image2d_array_t image, sampler_t sampler, float4 coord);
15774half4 __purefn __ovld read_imageh(read_only image1d_t image, int coord);
15775half4 __purefn __ovld read_imageh(read_only image2d_t image, int2 coord);
15776half4 __purefn __ovld read_imageh(read_only image3d_t image, int4 coord);
15777half4 __purefn __ovld read_imageh(read_only image1d_array_t image, int2 coord);
15778half4 __purefn __ovld read_imageh(read_only image2d_array_t image, int4 coord);
15779half4 __purefn __ovld read_imageh(read_only image1d_buffer_t image, int coord);
15780#endif //cl_khr_fp16
15781
15782// Image read functions for read_write images
15783#if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
15784float4 __purefn __ovld read_imagef(read_write image1d_t image, int coord);
15785int4 __purefn __ovld read_imagei(read_write image1d_t image, int coord);
15786uint4 __purefn __ovld read_imageui(read_write image1d_t image, int coord);
15787
15788float4 __purefn __ovld read_imagef(read_write image1d_buffer_t image, int coord);
15789int4 __purefn __ovld read_imagei(read_write image1d_buffer_t image, int coord);
15790uint4 __purefn __ovld read_imageui(read_write image1d_buffer_t image, int coord);
15791
15792float4 __purefn __ovld read_imagef(read_write image1d_array_t image, int2 coord);
15793int4 __purefn __ovld read_imagei(read_write image1d_array_t image, int2 coord);
15794uint4 __purefn __ovld read_imageui(read_write image1d_array_t image, int2 coord);
15795
15796float4 __purefn __ovld read_imagef(read_write image2d_t image, int2 coord);
15797int4 __purefn __ovld read_imagei(read_write image2d_t image, int2 coord);
15798uint4 __purefn __ovld read_imageui(read_write image2d_t image, int2 coord);
15799
15800float4 __purefn __ovld read_imagef(read_write image2d_array_t image, int4 coord);
15801int4 __purefn __ovld read_imagei(read_write image2d_array_t image, int4 coord);
15802uint4 __purefn __ovld read_imageui(read_write image2d_array_t image, int4 coord);
15803
15804float4 __purefn __ovld read_imagef(read_write image3d_t image, int4 coord);
15805int4 __purefn __ovld read_imagei(read_write image3d_t image, int4 coord);
15806uint4 __purefn __ovld read_imageui(read_write image3d_t image, int4 coord);
15807
15808#ifdef cl_khr_depth_images
15809float __purefn __ovld read_imagef(read_write image2d_depth_t image, int2 coord);
15810float __purefn __ovld read_imagef(read_write image2d_array_depth_t image, int4 coord);
15811#endif //cl_khr_depth_images
15812
15813#if cl_khr_gl_msaa_sharing
15814float4 __purefn __ovld read_imagef(read_write image2d_msaa_t image, int2 coord, int sample);
15815int4 __purefn __ovld read_imagei(read_write image2d_msaa_t image, int2 coord, int sample);
15816uint4 __purefn __ovld read_imageui(read_write image2d_msaa_t image, int2 coord, int sample);
15817
15818float4 __purefn __ovld read_imagef(read_write image2d_array_msaa_t image, int4 coord, int sample);
15819int4 __purefn __ovld read_imagei(read_write image2d_array_msaa_t image, int4 coord, int sample);
15820uint4 __purefn __ovld read_imageui(read_write image2d_array_msaa_t image, int4 coord, int sample);
15821
15822float __purefn __ovld read_imagef(read_write image2d_msaa_depth_t image, int2 coord, int sample);
15823float __purefn __ovld read_imagef(read_write image2d_array_msaa_depth_t image, int4 coord, int sample);
15824#endif //cl_khr_gl_msaa_sharing
15825
15826#ifdef cl_khr_mipmap_image
15827float4 __purefn __ovld read_imagef(read_write image1d_t image, sampler_t sampler, float coord, float lod);
15828int4 __purefn __ovld read_imagei(read_write image1d_t image, sampler_t sampler, float coord, float lod);
15829uint4 __purefn __ovld read_imageui(read_write image1d_t image, sampler_t sampler, float coord, float lod);
15830
15831float4 __purefn __ovld read_imagef(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
15832int4 __purefn __ovld read_imagei(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
15833uint4 __purefn __ovld read_imageui(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
15834
15835float4 __purefn __ovld read_imagef(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
15836int4 __purefn __ovld read_imagei(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
15837uint4 __purefn __ovld read_imageui(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
15838
15839float __purefn __ovld read_imagef(read_write image2d_depth_t image, sampler_t sampler, float2 coord, float lod);
15840
15841float4 __purefn __ovld read_imagef(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
15842int4 __purefn __ovld read_imagei(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
15843uint4 __purefn __ovld read_imageui(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
15844
15845float __purefn __ovld read_imagef(read_write image2d_array_depth_t image, sampler_t sampler, float4 coord, float lod);
15846
15847float4 __purefn __ovld read_imagef(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
15848int4 __purefn __ovld read_imagei(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
15849uint4 __purefn __ovld read_imageui(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
15850
15851float4 __purefn __ovld read_imagef(read_write image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
15852int4 __purefn __ovld read_imagei(read_write image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
15853uint4 __purefn __ovld read_imageui(read_write image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
15854
15855float4 __purefn __ovld read_imagef(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
15856int4 __purefn __ovld read_imagei(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
15857uint4 __purefn __ovld read_imageui(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
15858
15859float4 __purefn __ovld read_imagef(read_write image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
15860int4 __purefn __ovld read_imagei(read_write image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
15861uint4 __purefn __ovld read_imageui(read_write image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
15862
15863float __purefn __ovld read_imagef(read_write image2d_depth_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
15864
15865float4 __purefn __ovld read_imagef(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
15866int4 __purefn __ovld read_imagei(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
15867uint4 __purefn __ovld read_imageui(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
15868
15869float __purefn __ovld read_imagef(read_write image2d_array_depth_t image, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
15870
15871float4 __purefn __ovld read_imagef(read_write image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
15872int4 __purefn __ovld read_imagei(read_write image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
15873uint4 __purefn __ovld read_imageui(read_write image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
15874
15875float4 __purefn __ovld read_imagef(read_write image1d_t image, sampler_t sampler, float coord, float lod);
15876int4 __purefn __ovld read_imagei(read_write image1d_t image, sampler_t sampler, float coord, float lod);
15877uint4 __purefn __ovld read_imageui(read_write image1d_t image, sampler_t sampler, float coord, float lod);
15878
15879float4 __purefn __ovld read_imagef(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
15880int4 __purefn __ovld read_imagei(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
15881uint4 __purefn __ovld read_imageui(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
15882
15883float4 __purefn __ovld read_imagef(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
15884int4 __purefn __ovld read_imagei(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
15885uint4 __purefn __ovld read_imageui(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
15886
15887float __purefn __ovld read_imagef(read_write image2d_depth_t image, sampler_t sampler, float2 coord, float lod);
15888
15889float4 __purefn __ovld read_imagef(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
15890int4 __purefn __ovld read_imagei(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
15891uint4 __purefn __ovld read_imageui(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
15892
15893float __purefn __ovld read_imagef(read_write image2d_array_depth_t image, sampler_t sampler, float4 coord, float lod);
15894
15895float4 __purefn __ovld read_imagef(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
15896int4 __purefn __ovld read_imagei(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
15897uint4 __purefn __ovld read_imageui(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
15898#endif //cl_khr_mipmap_image
15899
15900// Image read functions returning half4 type
15901#ifdef cl_khr_fp16
15902half4 __purefn __ovld read_imageh(read_write image1d_t image, int coord);
15903half4 __purefn __ovld read_imageh(read_write image2d_t image, int2 coord);
15904half4 __purefn __ovld read_imageh(read_write image3d_t image, int4 coord);
15905half4 __purefn __ovld read_imageh(read_write image1d_array_t image, int2 coord);
15906half4 __purefn __ovld read_imageh(read_write image2d_array_t image, int4 coord);
15907half4 __purefn __ovld read_imageh(read_write image1d_buffer_t image, int coord);
15908#endif //cl_khr_fp16
15909#endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
15910
15911/**
15912 * Write color value to location specified by coordinate
15913 * (coord.x, coord.y) in the 2D image object specified by image.
15914 * (coord.x, coord.y) are considered to be unnormalized coordinates
15915 * and must be in the range 0 ... image width - 1, and 0
15916 * ... image height - 1.
15917
15918 * Write color value to location specified by coordinate
15919 * (coord.x, coord.y) in the 2D image object specified by index
15920 * (coord.z) of the 2D image array object image_array.
15921 * (coord.x, coord.y) are considered to be unnormalized
15922 * coordinates and must be in the range 0 ... image width
15923 * - 1.
15924 *
15925 * Write color value to location specified by coordinate
15926 * (coord) in the 1D image (buffer) object specified by image.
15927 * coord is considered to be unnormalized coordinates
15928 * and must be in the range 0 ... image width - 1.
15929 *
15930 * Write color value to location specified by coordinate
15931 * (coord.x) in the 1D image object specified by index
15932 * (coord.y) of the 1D image array object image_array.
15933 * x is considered to be unnormalized coordinates
15934 * and must be in the range 0 ... image width - 1.
15935 *
15936 * Write color value to location specified by coordinate
15937 * (coord.x, coord.y, coord.z) in the 3D image object specified by image.
15938 * coord.x & coord.y are considered to be unnormalized coordinates
15939 * and must be in the range 0 ... image width - 1, and 0
15940 * ... image height - 1.
15941 *
15942 * For mipmap images, use mip-level specified by lod.
15943 *
15944 * Appropriate data format conversion to the specified
15945 * image format is done before writing the color value.
15946 *
15947 * write_imagef can only be used with image objects
15948 * created with image_channel_data_type set to one of
15949 * the pre-defined packed formats or set to
15950 * CL_SNORM_INT8, CL_UNORM_INT8,
15951 * CL_SNORM_INT16, CL_UNORM_INT16,
15952 * CL_HALF_FLOAT or CL_FLOAT. Appropriate data
15953 * format conversion will be done to convert channel
15954 * data from a floating-point value to actual data format
15955 * in which the channels are stored.
15956 *
15957 * write_imagei can only be used with image objects
15958 * created with image_channel_data_type set to one of
15959 * the following values:
15960 * CL_SIGNED_INT8,
15961 * CL_SIGNED_INT16 and
15962 * CL_SIGNED_INT32.
15963 *
15964 * write_imageui can only be used with image objects
15965 * created with image_channel_data_type set to one of
15966 * the following values:
15967 * CL_UNSIGNED_INT8,
15968 * CL_UNSIGNED_INT16 and
15969 * CL_UNSIGNED_INT32.
15970 *
15971 * The behavior of write_imagef, write_imagei and
15972 * write_imageui for image objects created with
15973 * image_channel_data_type values not specified in
15974 * the description above or with (x, y) coordinate
15975 * values that are not in the range (0 ... image width -1,
15976 * 0 ... image height - 1), respectively, is undefined.
15977 */
15978void __ovld write_imagef(write_only image2d_t image, int2 coord, float4 color);
15979void __ovld write_imagei(write_only image2d_t image, int2 coord, int4 color);
15980void __ovld write_imageui(write_only image2d_t image, int2 coord, uint4 color);
15981
15982void __ovld write_imagef(write_only image2d_array_t image_array, int4 coord, float4 color);
15983void __ovld write_imagei(write_only image2d_array_t image_array, int4 coord, int4 color);
15984void __ovld write_imageui(write_only image2d_array_t image_array, int4 coord, uint4 color);
15985
15986void __ovld write_imagef(write_only image1d_t image, int coord, float4 color);
15987void __ovld write_imagei(write_only image1d_t image, int coord, int4 color);
15988void __ovld write_imageui(write_only image1d_t image, int coord, uint4 color);
15989
15990void __ovld write_imagef(write_only image1d_buffer_t image, int coord, float4 color);
15991void __ovld write_imagei(write_only image1d_buffer_t image, int coord, int4 color);
15992void __ovld write_imageui(write_only image1d_buffer_t image, int coord, uint4 color);
15993
15994void __ovld write_imagef(write_only image1d_array_t image_array, int2 coord, float4 color);
15995void __ovld write_imagei(write_only image1d_array_t image_array, int2 coord, int4 color);
15996void __ovld write_imageui(write_only image1d_array_t image_array, int2 coord, uint4 color);
15997
15998void __ovld write_imagef(write_only image3d_t image, int4 coord, float4 color);
15999void __ovld write_imagei(write_only image3d_t image, int4 coord, int4 color);
16000void __ovld write_imageui(write_only image3d_t image, int4 coord, uint4 color);
16001
16002#ifdef cl_khr_depth_images
16003void __ovld write_imagef(write_only image2d_depth_t image, int2 coord, float color);
16004void __ovld write_imagef(write_only image2d_array_depth_t image, int4 coord, float color);
16005#endif //cl_khr_depth_images
16006
16007// OpenCL Extension v2.0 s9.18 - Mipmaps
16008#ifdef cl_khr_mipmap_image
16009void __ovld write_imagef(write_only image1d_t image, int coord, int lod, float4 color);
16010void __ovld write_imagei(write_only image1d_t image, int coord, int lod, int4 color);
16011void __ovld write_imageui(write_only image1d_t image, int coord, int lod, uint4 color);
16012
16013void __ovld write_imagef(write_only image1d_array_t image_array, int2 coord, int lod, float4 color);
16014void __ovld write_imagei(write_only image1d_array_t image_array, int2 coord, int lod, int4 color);
16015void __ovld write_imageui(write_only image1d_array_t image_array, int2 coord, int lod, uint4 color);
16016
16017void __ovld write_imagef(write_only image2d_t image, int2 coord, int lod, float4 color);
16018void __ovld write_imagei(write_only image2d_t image, int2 coord, int lod, int4 color);
16019void __ovld write_imageui(write_only image2d_t image, int2 coord, int lod, uint4 color);
16020
16021void __ovld write_imagef(write_only image2d_array_t image_array, int4 coord, int lod, float4 color);
16022void __ovld write_imagei(write_only image2d_array_t image_array, int4 coord, int lod, int4 color);
16023void __ovld write_imageui(write_only image2d_array_t image_array, int4 coord, int lod, uint4 color);
16024
16025void __ovld write_imagef(write_only image2d_depth_t image, int2 coord, int lod, float color);
16026void __ovld write_imagef(write_only image2d_array_depth_t image, int4 coord, int lod, float color);
16027
16028void __ovld write_imagef(write_only image3d_t image, int4 coord, int lod, float4 color);
16029void __ovld write_imagei(write_only image3d_t image, int4 coord, int lod, int4 color);
16030void __ovld write_imageui(write_only image3d_t image, int4 coord, int lod, uint4 color);
16031#endif //cl_khr_mipmap_image
16032
16033// Image write functions for half4 type
16034#ifdef cl_khr_fp16
16035void __ovld write_imageh(write_only image1d_t image, int coord, half4 color);
16036void __ovld write_imageh(write_only image2d_t image, int2 coord, half4 color);
16037void __ovld write_imageh(write_only image3d_t image, int4 coord, half4 color);
16038void __ovld write_imageh(write_only image1d_array_t image, int2 coord, half4 color);
16039void __ovld write_imageh(write_only image2d_array_t image, int4 coord, half4 color);
16040void __ovld write_imageh(write_only image1d_buffer_t image, int coord, half4 color);
16041#endif //cl_khr_fp16
16042
16043// Image write functions for read_write images
16044#if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
16045void __ovld write_imagef(read_write image2d_t image, int2 coord, float4 color);
16046void __ovld write_imagei(read_write image2d_t image, int2 coord, int4 color);
16047void __ovld write_imageui(read_write image2d_t image, int2 coord, uint4 color);
16048
16049void __ovld write_imagef(read_write image2d_array_t image_array, int4 coord, float4 color);
16050void __ovld write_imagei(read_write image2d_array_t image_array, int4 coord, int4 color);
16051void __ovld write_imageui(read_write image2d_array_t image_array, int4 coord, uint4 color);
16052
16053void __ovld write_imagef(read_write image1d_t image, int coord, float4 color);
16054void __ovld write_imagei(read_write image1d_t image, int coord, int4 color);
16055void __ovld write_imageui(read_write image1d_t image, int coord, uint4 color);
16056
16057void __ovld write_imagef(read_write image1d_buffer_t image, int coord, float4 color);
16058void __ovld write_imagei(read_write image1d_buffer_t image, int coord, int4 color);
16059void __ovld write_imageui(read_write image1d_buffer_t image, int coord, uint4 color);
16060
16061void __ovld write_imagef(read_write image1d_array_t image_array, int2 coord, float4 color);
16062void __ovld write_imagei(read_write image1d_array_t image_array, int2 coord, int4 color);
16063void __ovld write_imageui(read_write image1d_array_t image_array, int2 coord, uint4 color);
16064
16065void __ovld write_imagef(read_write image3d_t image, int4 coord, float4 color);
16066void __ovld write_imagei(read_write image3d_t image, int4 coord, int4 color);
16067void __ovld write_imageui(read_write image3d_t image, int4 coord, uint4 color);
16068
16069#ifdef cl_khr_depth_images
16070void __ovld write_imagef(read_write image2d_depth_t image, int2 coord, float color);
16071void __ovld write_imagef(read_write image2d_array_depth_t image, int4 coord, float color);
16072#endif //cl_khr_depth_images
16073
16074#ifdef cl_khr_mipmap_image
16075void __ovld write_imagef(read_write image1d_t image, int coord, int lod, float4 color);
16076void __ovld write_imagei(read_write image1d_t image, int coord, int lod, int4 color);
16077void __ovld write_imageui(read_write image1d_t image, int coord, int lod, uint4 color);
16078
16079void __ovld write_imagef(read_write image1d_array_t image_array, int2 coord, int lod, float4 color);
16080void __ovld write_imagei(read_write image1d_array_t image_array, int2 coord, int lod, int4 color);
16081void __ovld write_imageui(read_write image1d_array_t image_array, int2 coord, int lod, uint4 color);
16082
16083void __ovld write_imagef(read_write image2d_t image, int2 coord, int lod, float4 color);
16084void __ovld write_imagei(read_write image2d_t image, int2 coord, int lod, int4 color);
16085void __ovld write_imageui(read_write image2d_t image, int2 coord, int lod, uint4 color);
16086
16087void __ovld write_imagef(read_write image2d_array_t image_array, int4 coord, int lod, float4 color);
16088void __ovld write_imagei(read_write image2d_array_t image_array, int4 coord, int lod, int4 color);
16089void __ovld write_imageui(read_write image2d_array_t image_array, int4 coord, int lod, uint4 color);
16090
16091void __ovld write_imagef(read_write image2d_depth_t image, int2 coord, int lod, float color);
16092void __ovld write_imagef(read_write image2d_array_depth_t image, int4 coord, int lod, float color);
16093
16094void __ovld write_imagef(read_write image3d_t image, int4 coord, int lod, float4 color);
16095void __ovld write_imagei(read_write image3d_t image, int4 coord, int lod, int4 color);
16096void __ovld write_imageui(read_write image3d_t image, int4 coord, int lod, uint4 color);
16097#endif //cl_khr_mipmap_image
16098
16099// Image write functions for half4 type
16100#ifdef cl_khr_fp16
16101void __ovld write_imageh(read_write image1d_t image, int coord, half4 color);
16102void __ovld write_imageh(read_write image2d_t image, int2 coord, half4 color);
16103void __ovld write_imageh(read_write image3d_t image, int4 coord, half4 color);
16104void __ovld write_imageh(read_write image1d_array_t image, int2 coord, half4 color);
16105void __ovld write_imageh(read_write image2d_array_t image, int4 coord, half4 color);
16106void __ovld write_imageh(read_write image1d_buffer_t image, int coord, half4 color);
16107#endif //cl_khr_fp16
16108#endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
16109
16110// Note: In OpenCL v1.0/1.1/1.2, image argument of image query builtin functions does not have
16111// access qualifier, which by default assume read_only access qualifier. Image query builtin
16112// functions with write_only image argument should also be declared.
16113
16114/**
16115 * Return the image width in pixels.
16116 *
16117  */
16118int __ovld __cnfn get_image_width(read_only image1d_t image);
16119int __ovld __cnfn get_image_width(read_only image1d_buffer_t image);
16120int __ovld __cnfn get_image_width(read_only image2d_t image);
16121int __ovld __cnfn get_image_width(read_only image3d_t image);
16122int __ovld __cnfn get_image_width(read_only image1d_array_t image);
16123int __ovld __cnfn get_image_width(read_only image2d_array_t image);
16124#ifdef cl_khr_depth_images
16125int __ovld __cnfn get_image_width(read_only image2d_depth_t image);
16126int __ovld __cnfn get_image_width(read_only image2d_array_depth_t image);
16127#endif //cl_khr_depth_images
16128#if defined(cl_khr_gl_msaa_sharing)
16129int __ovld __cnfn get_image_width(read_only image2d_msaa_t image);
16130int __ovld __cnfn get_image_width(read_only image2d_msaa_depth_t image);
16131int __ovld __cnfn get_image_width(read_only image2d_array_msaa_t image);
16132int __ovld __cnfn get_image_width(read_only image2d_array_msaa_depth_t image);
16133#endif //cl_khr_gl_msaa_sharing
16134
16135int __ovld __cnfn get_image_width(write_only image1d_t image);
16136int __ovld __cnfn get_image_width(write_only image1d_buffer_t image);
16137int __ovld __cnfn get_image_width(write_only image2d_t image);
16138int __ovld __cnfn get_image_width(write_only image3d_t image);
16139int __ovld __cnfn get_image_width(write_only image1d_array_t image);
16140int __ovld __cnfn get_image_width(write_only image2d_array_t image);
16141#ifdef cl_khr_depth_images
16142int __ovld __cnfn get_image_width(write_only image2d_depth_t image);
16143int __ovld __cnfn get_image_width(write_only image2d_array_depth_t image);
16144#endif //cl_khr_depth_images
16145#if defined(cl_khr_gl_msaa_sharing)
16146int __ovld __cnfn get_image_width(write_only image2d_msaa_t image);
16147int __ovld __cnfn get_image_width(write_only image2d_msaa_depth_t image);
16148int __ovld __cnfn get_image_width(write_only image2d_array_msaa_t image);
16149int __ovld __cnfn get_image_width(write_only image2d_array_msaa_depth_t image);
16150#endif //cl_khr_gl_msaa_sharing
16151
16152#if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
16153int __ovld __cnfn get_image_width(read_write image1d_t image);
16154int __ovld __cnfn get_image_width(read_write image1d_buffer_t image);
16155int __ovld __cnfn get_image_width(read_write image2d_t image);
16156int __ovld __cnfn get_image_width(read_write image3d_t image);
16157int __ovld __cnfn get_image_width(read_write image1d_array_t image);
16158int __ovld __cnfn get_image_width(read_write image2d_array_t image);
16159#ifdef cl_khr_depth_images
16160int __ovld __cnfn get_image_width(read_write image2d_depth_t image);
16161int __ovld __cnfn get_image_width(read_write image2d_array_depth_t image);
16162#endif //cl_khr_depth_images
16163#if defined(cl_khr_gl_msaa_sharing)
16164int __ovld __cnfn get_image_width(read_write image2d_msaa_t image);
16165int __ovld __cnfn get_image_width(read_write image2d_msaa_depth_t image);
16166int __ovld __cnfn get_image_width(read_write image2d_array_msaa_t image);
16167int __ovld __cnfn get_image_width(read_write image2d_array_msaa_depth_t image);
16168#endif //cl_khr_gl_msaa_sharing
16169#endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
16170
16171/**
16172 * Return the image height in pixels.
16173 */
16174int __ovld __cnfn get_image_height(read_only image2d_t image);
16175int __ovld __cnfn get_image_height(read_only image3d_t image);
16176int __ovld __cnfn get_image_height(read_only image2d_array_t image);
16177#ifdef cl_khr_depth_images
16178int __ovld __cnfn get_image_height(read_only image2d_depth_t image);
16179int __ovld __cnfn get_image_height(read_only image2d_array_depth_t image);
16180#endif //cl_khr_depth_images
16181#if defined(cl_khr_gl_msaa_sharing)
16182int __ovld __cnfn get_image_height(read_only image2d_msaa_t image);
16183int __ovld __cnfn get_image_height(read_only image2d_msaa_depth_t image);
16184int __ovld __cnfn get_image_height(read_only image2d_array_msaa_t image);
16185int __ovld __cnfn get_image_height(read_only image2d_array_msaa_depth_t image);
16186#endif //cl_khr_gl_msaa_sharing
16187
16188int __ovld __cnfn get_image_height(write_only image2d_t image);
16189int __ovld __cnfn get_image_height(write_only image3d_t image);
16190int __ovld __cnfn get_image_height(write_only image2d_array_t image);
16191#ifdef cl_khr_depth_images
16192int __ovld __cnfn get_image_height(write_only image2d_depth_t image);
16193int __ovld __cnfn get_image_height(write_only image2d_array_depth_t image);
16194#endif //cl_khr_depth_images
16195#if defined(cl_khr_gl_msaa_sharing)
16196int __ovld __cnfn get_image_height(write_only image2d_msaa_t image);
16197int __ovld __cnfn get_image_height(write_only image2d_msaa_depth_t image);
16198int __ovld __cnfn get_image_height(write_only image2d_array_msaa_t image);
16199int __ovld __cnfn get_image_height(write_only image2d_array_msaa_depth_t image);
16200#endif //cl_khr_gl_msaa_sharing
16201
16202#if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
16203int __ovld __cnfn get_image_height(read_write image2d_t image);
16204int __ovld __cnfn get_image_height(read_write image3d_t image);
16205int __ovld __cnfn get_image_height(read_write image2d_array_t image);
16206#ifdef cl_khr_depth_images
16207int __ovld __cnfn get_image_height(read_write image2d_depth_t image);
16208int __ovld __cnfn get_image_height(read_write image2d_array_depth_t image);
16209#endif //cl_khr_depth_images
16210#if defined(cl_khr_gl_msaa_sharing)
16211int __ovld __cnfn get_image_height(read_write image2d_msaa_t image);
16212int __ovld __cnfn get_image_height(read_write image2d_msaa_depth_t image);
16213int __ovld __cnfn get_image_height(read_write image2d_array_msaa_t image);
16214int __ovld __cnfn get_image_height(read_write image2d_array_msaa_depth_t image);
16215#endif //cl_khr_gl_msaa_sharing
16216#endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
16217
16218/**
16219 * Return the image depth in pixels.
16220 */
16221int __ovld __cnfn get_image_depth(read_only image3d_t image);
16222
16223int __ovld __cnfn get_image_depth(write_only image3d_t image);
16224
16225#if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
16226int __ovld __cnfn get_image_depth(read_write image3d_t image);
16227#endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
16228
16229// OpenCL Extension v2.0 s9.18 - Mipmaps
16230#ifdef cl_khr_mipmap_image
16231/**
16232 * Return the image miplevels.
16233 */
16234
16235int __ovld get_image_num_mip_levels(read_only image1d_t image);
16236int __ovld get_image_num_mip_levels(read_only image2d_t image);
16237int __ovld get_image_num_mip_levels(read_only image3d_t image);
16238
16239int __ovld get_image_num_mip_levels(write_only image1d_t image);
16240int __ovld get_image_num_mip_levels(write_only image2d_t image);
16241int __ovld get_image_num_mip_levels(write_only image3d_t image);
16242
16243#if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
16244int __ovld get_image_num_mip_levels(read_write image1d_t image);
16245int __ovld get_image_num_mip_levels(read_write image2d_t image);
16246int __ovld get_image_num_mip_levels(read_write image3d_t image);
16247#endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
16248
16249int __ovld get_image_num_mip_levels(read_only image1d_array_t image);
16250int __ovld get_image_num_mip_levels(read_only image2d_array_t image);
16251int __ovld get_image_num_mip_levels(read_only image2d_array_depth_t image);
16252int __ovld get_image_num_mip_levels(read_only image2d_depth_t image);
16253
16254int __ovld get_image_num_mip_levels(write_only image1d_array_t image);
16255int __ovld get_image_num_mip_levels(write_only image2d_array_t image);
16256int __ovld get_image_num_mip_levels(write_only image2d_array_depth_t image);
16257int __ovld get_image_num_mip_levels(write_only image2d_depth_t image);
16258
16259#if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
16260int __ovld get_image_num_mip_levels(read_write image1d_array_t image);
16261int __ovld get_image_num_mip_levels(read_write image2d_array_t image);
16262int __ovld get_image_num_mip_levels(read_write image2d_array_depth_t image);
16263int __ovld get_image_num_mip_levels(read_write image2d_depth_t image);
16264#endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
16265
16266#endif //cl_khr_mipmap_image
16267
16268/**
16269 * Return the channel data type. Valid values are:
16270 * CLK_SNORM_INT8
16271 * CLK_SNORM_INT16
16272 * CLK_UNORM_INT8
16273 * CLK_UNORM_INT16
16274 * CLK_UNORM_SHORT_565
16275 * CLK_UNORM_SHORT_555
16276 * CLK_UNORM_SHORT_101010
16277 * CLK_SIGNED_INT8
16278 * CLK_SIGNED_INT16
16279 * CLK_SIGNED_INT32
16280 * CLK_UNSIGNED_INT8
16281 * CLK_UNSIGNED_INT16
16282 * CLK_UNSIGNED_INT32
16283 * CLK_HALF_FLOAT
16284 * CLK_FLOAT
16285 */
16286
16287//
16288// Channel Datatype.
16289//
16290#define CLK_SNORM_INT8        0x10D0
16291#define CLK_SNORM_INT16       0x10D1
16292#define CLK_UNORM_INT8        0x10D2
16293#define CLK_UNORM_INT16       0x10D3
16294#define CLK_UNORM_SHORT_565   0x10D4
16295#define CLK_UNORM_SHORT_555   0x10D5
16296#define CLK_UNORM_INT_101010  0x10D6
16297#define CLK_SIGNED_INT8       0x10D7
16298#define CLK_SIGNED_INT16      0x10D8
16299#define CLK_SIGNED_INT32      0x10D9
16300#define CLK_UNSIGNED_INT8     0x10DA
16301#define CLK_UNSIGNED_INT16    0x10DB
16302#define CLK_UNSIGNED_INT32    0x10DC
16303#define CLK_HALF_FLOAT        0x10DD
16304#define CLK_FLOAT             0x10DE
16305#define CLK_UNORM_INT24       0x10DF
16306
16307int __ovld __cnfn get_image_channel_data_type(read_only image1d_t image);
16308int __ovld __cnfn get_image_channel_data_type(read_only image1d_buffer_t image);
16309int __ovld __cnfn get_image_channel_data_type(read_only image2d_t image);
16310int __ovld __cnfn get_image_channel_data_type(read_only image3d_t image);
16311int __ovld __cnfn get_image_channel_data_type(read_only image1d_array_t image);
16312int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_t image);
16313#ifdef cl_khr_depth_images
16314int __ovld __cnfn get_image_channel_data_type(read_only image2d_depth_t image);
16315int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_depth_t image);
16316#endif //cl_khr_depth_images
16317#if defined(cl_khr_gl_msaa_sharing)
16318int __ovld __cnfn get_image_channel_data_type(read_only image2d_msaa_t image);
16319int __ovld __cnfn get_image_channel_data_type(read_only image2d_msaa_depth_t image);
16320int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_msaa_t image);
16321int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_msaa_depth_t image);
16322#endif //cl_khr_gl_msaa_sharing
16323
16324int __ovld __cnfn get_image_channel_data_type(write_only image1d_t image);
16325int __ovld __cnfn get_image_channel_data_type(write_only image1d_buffer_t image);
16326int __ovld __cnfn get_image_channel_data_type(write_only image2d_t image);
16327int __ovld __cnfn get_image_channel_data_type(write_only image3d_t image);
16328int __ovld __cnfn get_image_channel_data_type(write_only image1d_array_t image);
16329int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_t image);
16330#ifdef cl_khr_depth_images
16331int __ovld __cnfn get_image_channel_data_type(write_only image2d_depth_t image);
16332int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_depth_t image);
16333#endif //cl_khr_depth_images
16334#if defined(cl_khr_gl_msaa_sharing)
16335int __ovld __cnfn get_image_channel_data_type(write_only image2d_msaa_t image);
16336int __ovld __cnfn get_image_channel_data_type(write_only image2d_msaa_depth_t image);
16337int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_msaa_t image);
16338int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_msaa_depth_t image);
16339#endif //cl_khr_gl_msaa_sharing
16340
16341#if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
16342int __ovld __cnfn get_image_channel_data_type(read_write image1d_t image);
16343int __ovld __cnfn get_image_channel_data_type(read_write image1d_buffer_t image);
16344int __ovld __cnfn get_image_channel_data_type(read_write image2d_t image);
16345int __ovld __cnfn get_image_channel_data_type(read_write image3d_t image);
16346int __ovld __cnfn get_image_channel_data_type(read_write image1d_array_t image);
16347int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_t image);
16348#ifdef cl_khr_depth_images
16349int __ovld __cnfn get_image_channel_data_type(read_write image2d_depth_t image);
16350int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_depth_t image);
16351#endif //cl_khr_depth_images
16352#if defined(cl_khr_gl_msaa_sharing)
16353int __ovld __cnfn get_image_channel_data_type(read_write image2d_msaa_t image);
16354int __ovld __cnfn get_image_channel_data_type(read_write image2d_msaa_depth_t image);
16355int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_msaa_t image);
16356int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_msaa_depth_t image);
16357#endif //cl_khr_gl_msaa_sharing
16358#endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
16359
16360/**
16361 * Return the image channel order. Valid values are:
16362 * CLK_A
16363 * CLK_R
16364 * CLK_Rx
16365 * CLK_RG
16366 * CLK_RGx
16367 * CLK_RA
16368 * CLK_RGB
16369 * CLK_RGBx
16370 * CLK_RGBA
16371 * CLK_ARGB
16372 * CLK_BGRA
16373 * CLK_INTENSITY
16374 * CLK_LUMINANCE
16375 */
16376// Channel order, numbering must be aligned with cl_channel_order in cl.h
16377//
16378#define CLK_R         0x10B0
16379#define CLK_A         0x10B1
16380#define CLK_RG        0x10B2
16381#define CLK_RA        0x10B3
16382#define CLK_RGB       0x10B4
16383#define CLK_RGBA      0x10B5
16384#define CLK_BGRA      0x10B6
16385#define CLK_ARGB      0x10B7
16386#define CLK_INTENSITY 0x10B8
16387#define CLK_LUMINANCE 0x10B9
16388#define CLK_Rx                0x10BA
16389#define CLK_RGx               0x10BB
16390#define CLK_RGBx              0x10BC
16391#define CLK_DEPTH             0x10BD
16392#define CLK_DEPTH_STENCIL     0x10BE
16393#if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
16394#define CLK_sRGB              0x10BF
16395#define CLK_sRGBA             0x10C1
16396#define CLK_sRGBx             0x10C0
16397#define CLK_sBGRA             0x10C2
16398#define CLK_ABGR              0x10C3
16399#endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
16400
16401int __ovld __cnfn get_image_channel_order(read_only image1d_t image);
16402int __ovld __cnfn get_image_channel_order(read_only image1d_buffer_t image);
16403int __ovld __cnfn get_image_channel_order(read_only image2d_t image);
16404int __ovld __cnfn get_image_channel_order(read_only image3d_t image);
16405int __ovld __cnfn get_image_channel_order(read_only image1d_array_t image);
16406int __ovld __cnfn get_image_channel_order(read_only image2d_array_t image);
16407#ifdef cl_khr_depth_images
16408int __ovld __cnfn get_image_channel_order(read_only image2d_depth_t image);
16409int __ovld __cnfn get_image_channel_order(read_only image2d_array_depth_t image);
16410#endif //cl_khr_depth_images
16411#if defined(cl_khr_gl_msaa_sharing)
16412int __ovld __cnfn get_image_channel_order(read_only image2d_msaa_t image);
16413int __ovld __cnfn get_image_channel_order(read_only image2d_msaa_depth_t image);
16414int __ovld __cnfn get_image_channel_order(read_only image2d_array_msaa_t image);
16415int __ovld __cnfn get_image_channel_order(read_only image2d_array_msaa_depth_t image);
16416#endif //cl_khr_gl_msaa_sharing
16417
16418int __ovld __cnfn get_image_channel_order(write_only image1d_t image);
16419int __ovld __cnfn get_image_channel_order(write_only image1d_buffer_t image);
16420int __ovld __cnfn get_image_channel_order(write_only image2d_t image);
16421int __ovld __cnfn get_image_channel_order(write_only image3d_t image);
16422int __ovld __cnfn get_image_channel_order(write_only image1d_array_t image);
16423int __ovld __cnfn get_image_channel_order(write_only image2d_array_t image);
16424#ifdef cl_khr_depth_images
16425int __ovld __cnfn get_image_channel_order(write_only image2d_depth_t image);
16426int __ovld __cnfn get_image_channel_order(write_only image2d_array_depth_t image);
16427#endif //cl_khr_depth_images
16428#if defined(cl_khr_gl_msaa_sharing)
16429int __ovld __cnfn get_image_channel_order(write_only image2d_msaa_t image);
16430int __ovld __cnfn get_image_channel_order(write_only image2d_msaa_depth_t image);
16431int __ovld __cnfn get_image_channel_order(write_only image2d_array_msaa_t image);
16432int __ovld __cnfn get_image_channel_order(write_only image2d_array_msaa_depth_t image);
16433#endif //cl_khr_gl_msaa_sharing
16434
16435#if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
16436int __ovld __cnfn get_image_channel_order(read_write image1d_t image);
16437int __ovld __cnfn get_image_channel_order(read_write image1d_buffer_t image);
16438int __ovld __cnfn get_image_channel_order(read_write image2d_t image);
16439int __ovld __cnfn get_image_channel_order(read_write image3d_t image);
16440int __ovld __cnfn get_image_channel_order(read_write image1d_array_t image);
16441int __ovld __cnfn get_image_channel_order(read_write image2d_array_t image);
16442#ifdef cl_khr_depth_images
16443int __ovld __cnfn get_image_channel_order(read_write image2d_depth_t image);
16444int __ovld __cnfn get_image_channel_order(read_write image2d_array_depth_t image);
16445#endif //cl_khr_depth_images
16446#if defined(cl_khr_gl_msaa_sharing)
16447int __ovld __cnfn get_image_channel_order(read_write image2d_msaa_t image);
16448int __ovld __cnfn get_image_channel_order(read_write image2d_msaa_depth_t image);
16449int __ovld __cnfn get_image_channel_order(read_write image2d_array_msaa_t image);
16450int __ovld __cnfn get_image_channel_order(read_write image2d_array_msaa_depth_t image);
16451#endif //cl_khr_gl_msaa_sharing
16452#endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
16453
16454/**
16455 * Return the 2D image width and height as an int2
16456 * type. The width is returned in the x component, and
16457 * the height in the y component.
16458 */
16459int2 __ovld __cnfn get_image_dim(read_only image2d_t image);
16460int2 __ovld __cnfn get_image_dim(read_only image2d_array_t image);
16461#ifdef cl_khr_depth_images
16462int2 __ovld __cnfn get_image_dim(read_only image2d_array_depth_t image);
16463int2 __ovld __cnfn get_image_dim(read_only image2d_depth_t image);
16464#endif //cl_khr_depth_images
16465#if defined(cl_khr_gl_msaa_sharing)
16466int2 __ovld __cnfn get_image_dim(read_only image2d_msaa_t image);
16467int2 __ovld __cnfn get_image_dim(read_only image2d_msaa_depth_t image);
16468int2 __ovld __cnfn get_image_dim(read_only image2d_array_msaa_t image);
16469int2 __ovld __cnfn get_image_dim(read_only image2d_array_msaa_depth_t image);
16470#endif //cl_khr_gl_msaa_sharing
16471
16472int2 __ovld __cnfn get_image_dim(write_only image2d_t image);
16473int2 __ovld __cnfn get_image_dim(write_only image2d_array_t image);
16474#ifdef cl_khr_depth_images
16475int2 __ovld __cnfn get_image_dim(write_only image2d_array_depth_t image);
16476int2 __ovld __cnfn get_image_dim(write_only image2d_depth_t image);
16477#endif //cl_khr_depth_images
16478#if defined(cl_khr_gl_msaa_sharing)
16479int2 __ovld __cnfn get_image_dim(write_only image2d_msaa_t image);
16480int2 __ovld __cnfn get_image_dim(write_only image2d_msaa_depth_t image);
16481int2 __ovld __cnfn get_image_dim(write_only image2d_array_msaa_t image);
16482int2 __ovld __cnfn get_image_dim(write_only image2d_array_msaa_depth_t image);
16483#endif //cl_khr_gl_msaa_sharing
16484
16485#if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
16486int2 __ovld __cnfn get_image_dim(read_write image2d_t image);
16487int2 __ovld __cnfn get_image_dim(read_write image2d_array_t image);
16488#ifdef cl_khr_depth_images
16489int2 __ovld __cnfn get_image_dim(read_write image2d_array_depth_t image);
16490int2 __ovld __cnfn get_image_dim(read_write image2d_depth_t image);
16491#endif //cl_khr_depth_images
16492#if defined(cl_khr_gl_msaa_sharing)
16493int2 __ovld __cnfn get_image_dim(read_write image2d_msaa_t image);
16494int2 __ovld __cnfn get_image_dim(read_write image2d_msaa_depth_t image);
16495int2 __ovld __cnfn get_image_dim(read_write image2d_array_msaa_t image);
16496int2 __ovld __cnfn get_image_dim(read_write image2d_array_msaa_depth_t image);
16497#endif //cl_khr_gl_msaa_sharing
16498#endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
16499
16500/**
16501 * Return the 3D image width, height, and depth as an
16502 * int4 type. The width is returned in the x
16503 * component, height in the y component, depth in the z
16504 * component and the w component is 0.
16505 */
16506int4 __ovld __cnfn get_image_dim(read_only image3d_t image);
16507int4 __ovld __cnfn get_image_dim(write_only image3d_t image);
16508#if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
16509int4 __ovld __cnfn get_image_dim(read_write image3d_t image);
16510#endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
16511
16512/**
16513 * Return the image array size.
16514 */
16515
16516size_t __ovld __cnfn get_image_array_size(read_only image1d_array_t image_array);
16517size_t __ovld __cnfn get_image_array_size(read_only image2d_array_t image_array);
16518#ifdef cl_khr_depth_images
16519size_t __ovld __cnfn get_image_array_size(read_only image2d_array_depth_t image_array);
16520#endif //cl_khr_depth_images
16521#if defined(cl_khr_gl_msaa_sharing)
16522size_t __ovld __cnfn get_image_array_size(read_only image2d_array_msaa_t image_array);
16523size_t __ovld __cnfn get_image_array_size(read_only image2d_array_msaa_depth_t image_array);
16524#endif //cl_khr_gl_msaa_sharing
16525
16526size_t __ovld __cnfn get_image_array_size(write_only image1d_array_t image_array);
16527size_t __ovld __cnfn get_image_array_size(write_only image2d_array_t image_array);
16528#ifdef cl_khr_depth_images
16529size_t __ovld __cnfn get_image_array_size(write_only image2d_array_depth_t image_array);
16530#endif //cl_khr_depth_images
16531#if defined(cl_khr_gl_msaa_sharing)
16532size_t __ovld __cnfn get_image_array_size(write_only image2d_array_msaa_t image_array);
16533size_t __ovld __cnfn get_image_array_size(write_only image2d_array_msaa_depth_t image_array);
16534#endif //cl_khr_gl_msaa_sharing
16535
16536#if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
16537size_t __ovld __cnfn get_image_array_size(read_write image1d_array_t image_array);
16538size_t __ovld __cnfn get_image_array_size(read_write image2d_array_t image_array);
16539#ifdef cl_khr_depth_images
16540size_t __ovld __cnfn get_image_array_size(read_write image2d_array_depth_t image_array);
16541#endif //cl_khr_depth_images
16542#if defined(cl_khr_gl_msaa_sharing)
16543size_t __ovld __cnfn get_image_array_size(read_write image2d_array_msaa_t image_array);
16544size_t __ovld __cnfn get_image_array_size(read_write image2d_array_msaa_depth_t image_array);
16545#endif //cl_khr_gl_msaa_sharing
16546#endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
16547
16548/**
16549* Return the number of samples associated with image
16550*/
16551#if defined(cl_khr_gl_msaa_sharing)
16552int __ovld get_image_num_samples(read_only image2d_msaa_t image);
16553int __ovld get_image_num_samples(read_only image2d_msaa_depth_t image);
16554int __ovld get_image_num_samples(read_only image2d_array_msaa_depth_t image);
16555int __ovld get_image_num_samples(read_only image2d_array_msaa_t image);
16556int __ovld get_image_num_samples(read_only image2d_array_msaa_depth_t image);
16557
16558int __ovld get_image_num_samples(write_only image2d_msaa_t image);
16559int __ovld get_image_num_samples(write_only image2d_msaa_depth_t image);
16560int __ovld get_image_num_samples(write_only image2d_array_msaa_depth_t image);
16561int __ovld get_image_num_samples(write_only image2d_array_msaa_t image);
16562int __ovld get_image_num_samples(write_only image2d_array_msaa_depth_t image);
16563
16564#if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
16565int __ovld get_image_num_samples(read_write image2d_msaa_t image);
16566int __ovld get_image_num_samples(read_write image2d_msaa_depth_t image);
16567int __ovld get_image_num_samples(read_write image2d_array_msaa_depth_t image);
16568int __ovld get_image_num_samples(read_write image2d_array_msaa_t image);
16569int __ovld get_image_num_samples(read_write image2d_array_msaa_depth_t image);
16570#endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
16571#endif
16572
16573// OpenCL v2.0 s6.13.15 - Work-group Functions
16574
16575#if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
16576int __ovld __conv work_group_all(int predicate);
16577int __ovld __conv work_group_any(int predicate);
16578
16579#ifdef cl_khr_fp16
16580half __ovld __conv work_group_broadcast(half a, size_t local_id);
16581half __ovld __conv work_group_broadcast(half a, size_t x, size_t y);
16582half __ovld __conv work_group_broadcast(half a, size_t x, size_t y, size_t z);
16583#endif
16584int __ovld __conv work_group_broadcast(int a, size_t local_id);
16585int __ovld __conv work_group_broadcast(int a, size_t x, size_t y);
16586int __ovld __conv work_group_broadcast(int a, size_t x, size_t y, size_t z);
16587uint __ovld __conv work_group_broadcast(uint a, size_t local_id);
16588uint __ovld __conv work_group_broadcast(uint a, size_t x, size_t y);
16589uint __ovld __conv work_group_broadcast(uint a, size_t x, size_t y, size_t z);
16590long __ovld __conv work_group_broadcast(long a, size_t local_id);
16591long __ovld __conv work_group_broadcast(long a, size_t x, size_t y);
16592long __ovld __conv work_group_broadcast(long a, size_t x, size_t y, size_t z);
16593ulong __ovld __conv work_group_broadcast(ulong a, size_t local_id);
16594ulong __ovld __conv work_group_broadcast(ulong a, size_t x, size_t y);
16595ulong __ovld __conv work_group_broadcast(ulong a, size_t x, size_t y, size_t z);
16596float __ovld __conv work_group_broadcast(float a, size_t local_id);
16597float __ovld __conv work_group_broadcast(float a, size_t x, size_t y);
16598float __ovld __conv work_group_broadcast(float a, size_t x, size_t y, size_t z);
16599#ifdef cl_khr_fp64
16600double __ovld __conv work_group_broadcast(double a, size_t local_id);
16601double __ovld __conv work_group_broadcast(double a, size_t x, size_t y);
16602double __ovld __conv work_group_broadcast(double a, size_t x, size_t y, size_t z);
16603#endif //cl_khr_fp64
16604
16605#ifdef cl_khr_fp16
16606half __ovld __conv work_group_reduce_add(half x);
16607half __ovld __conv work_group_reduce_min(half x);
16608half __ovld __conv work_group_reduce_max(half x);
16609half __ovld __conv work_group_scan_exclusive_add(half x);
16610half __ovld __conv work_group_scan_exclusive_min(half x);
16611half __ovld __conv work_group_scan_exclusive_max(half x);
16612half __ovld __conv work_group_scan_inclusive_add(half x);
16613half __ovld __conv work_group_scan_inclusive_min(half x);
16614half __ovld __conv work_group_scan_inclusive_max(half x);
16615#endif
16616int __ovld __conv work_group_reduce_add(int x);
16617int __ovld __conv work_group_reduce_min(int x);
16618int __ovld __conv work_group_reduce_max(int x);
16619int __ovld __conv work_group_scan_exclusive_add(int x);
16620int __ovld __conv work_group_scan_exclusive_min(int x);
16621int __ovld __conv work_group_scan_exclusive_max(int x);
16622int __ovld __conv work_group_scan_inclusive_add(int x);
16623int __ovld __conv work_group_scan_inclusive_min(int x);
16624int __ovld __conv work_group_scan_inclusive_max(int x);
16625uint __ovld __conv work_group_reduce_add(uint x);
16626uint __ovld __conv work_group_reduce_min(uint x);
16627uint __ovld __conv work_group_reduce_max(uint x);
16628uint __ovld __conv work_group_scan_exclusive_add(uint x);
16629uint __ovld __conv work_group_scan_exclusive_min(uint x);
16630uint __ovld __conv work_group_scan_exclusive_max(uint x);
16631uint __ovld __conv work_group_scan_inclusive_add(uint x);
16632uint __ovld __conv work_group_scan_inclusive_min(uint x);
16633uint __ovld __conv work_group_scan_inclusive_max(uint x);
16634long __ovld __conv work_group_reduce_add(long x);
16635long __ovld __conv work_group_reduce_min(long x);
16636long __ovld __conv work_group_reduce_max(long x);
16637long __ovld __conv work_group_scan_exclusive_add(long x);
16638long __ovld __conv work_group_scan_exclusive_min(long x);
16639long __ovld __conv work_group_scan_exclusive_max(long x);
16640long __ovld __conv work_group_scan_inclusive_add(long x);
16641long __ovld __conv work_group_scan_inclusive_min(long x);
16642long __ovld __conv work_group_scan_inclusive_max(long x);
16643ulong __ovld __conv work_group_reduce_add(ulong x);
16644ulong __ovld __conv work_group_reduce_min(ulong x);
16645ulong __ovld __conv work_group_reduce_max(ulong x);
16646ulong __ovld __conv work_group_scan_exclusive_add(ulong x);
16647ulong __ovld __conv work_group_scan_exclusive_min(ulong x);
16648ulong __ovld __conv work_group_scan_exclusive_max(ulong x);
16649ulong __ovld __conv work_group_scan_inclusive_add(ulong x);
16650ulong __ovld __conv work_group_scan_inclusive_min(ulong x);
16651ulong __ovld __conv work_group_scan_inclusive_max(ulong x);
16652float __ovld __conv work_group_reduce_add(float x);
16653float __ovld __conv work_group_reduce_min(float x);
16654float __ovld __conv work_group_reduce_max(float x);
16655float __ovld __conv work_group_scan_exclusive_add(float x);
16656float __ovld __conv work_group_scan_exclusive_min(float x);
16657float __ovld __conv work_group_scan_exclusive_max(float x);
16658float __ovld __conv work_group_scan_inclusive_add(float x);
16659float __ovld __conv work_group_scan_inclusive_min(float x);
16660float __ovld __conv work_group_scan_inclusive_max(float x);
16661#ifdef cl_khr_fp64
16662double __ovld __conv work_group_reduce_add(double x);
16663double __ovld __conv work_group_reduce_min(double x);
16664double __ovld __conv work_group_reduce_max(double x);
16665double __ovld __conv work_group_scan_exclusive_add(double x);
16666double __ovld __conv work_group_scan_exclusive_min(double x);
16667double __ovld __conv work_group_scan_exclusive_max(double x);
16668double __ovld __conv work_group_scan_inclusive_add(double x);
16669double __ovld __conv work_group_scan_inclusive_min(double x);
16670double __ovld __conv work_group_scan_inclusive_max(double x);
16671#endif //cl_khr_fp64
16672
16673#endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
16674
16675// OpenCL v2.0 s6.13.16 - Pipe Functions
16676#if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
16677#define PIPE_RESERVE_ID_VALID_BIT (1U << 30)
16678#define CLK_NULL_RESERVE_ID (__builtin_astype(((void*)(__SIZE_MAX__)), reserve_id_t))
16679bool __ovld is_valid_reserve_id(reserve_id_t reserve_id);
16680#endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
16681
16682
16683// OpenCL v2.0 s6.13.17 - Enqueue Kernels
16684#if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
16685
16686#define CL_COMPLETE                                 0x0
16687#define CL_RUNNING                                  0x1
16688#define CL_SUBMITTED                                0x2
16689#define CL_QUEUED                                   0x3
16690
16691#define CLK_SUCCESS                                 0
16692#define CLK_ENQUEUE_FAILURE                         -101
16693#define CLK_INVALID_QUEUE                           -102
16694#define CLK_INVALID_NDRANGE                         -160
16695#define CLK_INVALID_EVENT_WAIT_LIST                 -57
16696#define CLK_DEVICE_QUEUE_FULL                       -161
16697#define CLK_INVALID_ARG_SIZE                        -51
16698#define CLK_EVENT_ALLOCATION_FAILURE                -100
16699#define CLK_OUT_OF_RESOURCES                        -5
16700
16701#define CLK_NULL_QUEUE                              0
16702#define CLK_NULL_EVENT (__builtin_astype(((void*)(__SIZE_MAX__)), clk_event_t))
16703
16704// execution model related definitions
16705#define CLK_ENQUEUE_FLAGS_NO_WAIT                   0x0
16706#define CLK_ENQUEUE_FLAGS_WAIT_KERNEL               0x1
16707#define CLK_ENQUEUE_FLAGS_WAIT_WORK_GROUP           0x2
16708
16709typedef int kernel_enqueue_flags_t;
16710typedef int clk_profiling_info;
16711
16712// Profiling info name (see capture_event_profiling_info)
16713#define CLK_PROFILING_COMMAND_EXEC_TIME 0x1
16714
16715#define MAX_WORK_DIM        3
16716
16717// ToDo: Remove definition of ndrange_t in Clang as an opaque type and add back
16718// the following ndrange_t definition.
16719#if 0
16720typedef struct {
16721    unsigned int workDimension;
16722    size_t globalWorkOffset[MAX_WORK_DIM];
16723    size_t globalWorkSize[MAX_WORK_DIM];
16724    size_t localWorkSize[MAX_WORK_DIM];
16725} ndrange_t;
16726#endif
16727
16728ndrange_t __ovld ndrange_1D(size_t);
16729ndrange_t __ovld ndrange_1D(size_t, size_t);
16730ndrange_t __ovld ndrange_1D(size_t, size_t, size_t);
16731
16732ndrange_t __ovld ndrange_2D(const size_t[2]);
16733ndrange_t __ovld ndrange_2D(const size_t[2], const size_t[2]);
16734ndrange_t __ovld ndrange_2D(const size_t[2], const size_t[2], const size_t[2]);
16735
16736ndrange_t __ovld ndrange_3D(const size_t[3]);
16737ndrange_t __ovld ndrange_3D(const size_t[3], const size_t[3]);
16738ndrange_t __ovld ndrange_3D(const size_t[3], const size_t[3], const size_t[3]);
16739
16740int __ovld enqueue_marker(queue_t, uint, const __private clk_event_t*, __private clk_event_t*);
16741
16742void __ovld retain_event(clk_event_t);
16743
16744void __ovld release_event(clk_event_t);
16745
16746clk_event_t __ovld create_user_event(void);
16747
16748void __ovld set_user_event_status(clk_event_t e, int state);
16749
16750bool __ovld is_valid_event (clk_event_t event);
16751
16752void __ovld capture_event_profiling_info(clk_event_t, clk_profiling_info, __global void* value);
16753
16754queue_t __ovld get_default_queue(void);
16755#endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
16756
16757// OpenCL Extension v2.0 s9.17 - Sub-groups
16758
16759#if defined(cl_intel_subgroups) || defined(cl_khr_subgroups)
16760// Shared Sub Group Functions
16761uint    __ovld get_sub_group_size(void);
16762uint    __ovld get_max_sub_group_size(void);
16763uint    __ovld get_num_sub_groups(void);
16764#if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
16765uint    __ovld get_enqueued_num_sub_groups(void);
16766#endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
16767uint    __ovld get_sub_group_id(void);
16768uint    __ovld get_sub_group_local_id(void);
16769
16770void    __ovld __conv sub_group_barrier(cl_mem_fence_flags flags);
16771#if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
16772void    __ovld __conv sub_group_barrier(cl_mem_fence_flags flags, memory_scope scope);
16773#endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
16774
16775int     __ovld __conv sub_group_all(int predicate);
16776int     __ovld __conv sub_group_any(int predicate);
16777
16778int     __ovld __conv sub_group_broadcast(int   x, uint sub_group_local_id);
16779uint    __ovld __conv sub_group_broadcast(uint  x, uint sub_group_local_id);
16780long    __ovld __conv sub_group_broadcast(long  x, uint sub_group_local_id);
16781ulong   __ovld __conv sub_group_broadcast(ulong x, uint sub_group_local_id);
16782float   __ovld __conv sub_group_broadcast(float x, uint sub_group_local_id);
16783
16784int     __ovld __conv sub_group_reduce_add(int   x);
16785uint    __ovld __conv sub_group_reduce_add(uint  x);
16786long    __ovld __conv sub_group_reduce_add(long  x);
16787ulong   __ovld __conv sub_group_reduce_add(ulong x);
16788float   __ovld __conv sub_group_reduce_add(float x);
16789int     __ovld __conv sub_group_reduce_min(int   x);
16790uint    __ovld __conv sub_group_reduce_min(uint  x);
16791long    __ovld __conv sub_group_reduce_min(long  x);
16792ulong   __ovld __conv sub_group_reduce_min(ulong x);
16793float   __ovld __conv sub_group_reduce_min(float x);
16794int     __ovld __conv sub_group_reduce_max(int   x);
16795uint    __ovld __conv sub_group_reduce_max(uint  x);
16796long    __ovld __conv sub_group_reduce_max(long  x);
16797ulong   __ovld __conv sub_group_reduce_max(ulong x);
16798float   __ovld __conv sub_group_reduce_max(float x);
16799
16800int     __ovld __conv sub_group_scan_exclusive_add(int   x);
16801uint    __ovld __conv sub_group_scan_exclusive_add(uint  x);
16802long    __ovld __conv sub_group_scan_exclusive_add(long  x);
16803ulong   __ovld __conv sub_group_scan_exclusive_add(ulong x);
16804float   __ovld __conv sub_group_scan_exclusive_add(float x);
16805int     __ovld __conv sub_group_scan_exclusive_min(int   x);
16806uint    __ovld __conv sub_group_scan_exclusive_min(uint  x);
16807long    __ovld __conv sub_group_scan_exclusive_min(long  x);
16808ulong   __ovld __conv sub_group_scan_exclusive_min(ulong x);
16809float   __ovld __conv sub_group_scan_exclusive_min(float x);
16810int     __ovld __conv sub_group_scan_exclusive_max(int   x);
16811uint    __ovld __conv sub_group_scan_exclusive_max(uint  x);
16812long    __ovld __conv sub_group_scan_exclusive_max(long  x);
16813ulong   __ovld __conv sub_group_scan_exclusive_max(ulong x);
16814float   __ovld __conv sub_group_scan_exclusive_max(float x);
16815
16816int     __ovld __conv sub_group_scan_inclusive_add(int   x);
16817uint    __ovld __conv sub_group_scan_inclusive_add(uint  x);
16818long    __ovld __conv sub_group_scan_inclusive_add(long  x);
16819ulong   __ovld __conv sub_group_scan_inclusive_add(ulong x);
16820float   __ovld __conv sub_group_scan_inclusive_add(float x);
16821int     __ovld __conv sub_group_scan_inclusive_min(int   x);
16822uint    __ovld __conv sub_group_scan_inclusive_min(uint  x);
16823long    __ovld __conv sub_group_scan_inclusive_min(long  x);
16824ulong   __ovld __conv sub_group_scan_inclusive_min(ulong x);
16825float   __ovld __conv sub_group_scan_inclusive_min(float x);
16826int     __ovld __conv sub_group_scan_inclusive_max(int   x);
16827uint    __ovld __conv sub_group_scan_inclusive_max(uint  x);
16828long    __ovld __conv sub_group_scan_inclusive_max(long  x);
16829ulong   __ovld __conv sub_group_scan_inclusive_max(ulong x);
16830float   __ovld __conv sub_group_scan_inclusive_max(float x);
16831
16832#ifdef cl_khr_fp16
16833half    __ovld __conv sub_group_broadcast(half x, uint sub_group_local_id);
16834half    __ovld __conv sub_group_reduce_add(half x);
16835half    __ovld __conv sub_group_reduce_min(half x);
16836half    __ovld __conv sub_group_reduce_max(half x);
16837half    __ovld __conv sub_group_scan_exclusive_add(half x);
16838half    __ovld __conv sub_group_scan_exclusive_min(half x);
16839half    __ovld __conv sub_group_scan_exclusive_max(half x);
16840half    __ovld __conv sub_group_scan_inclusive_add(half x);
16841half    __ovld __conv sub_group_scan_inclusive_min(half x);
16842half    __ovld __conv sub_group_scan_inclusive_max(half x);
16843#endif //cl_khr_fp16
16844
16845#ifdef cl_khr_fp64
16846double  __ovld __conv sub_group_broadcast(double x, uint sub_group_local_id);
16847double  __ovld __conv sub_group_reduce_add(double x);
16848double  __ovld __conv sub_group_reduce_min(double x);
16849double  __ovld __conv sub_group_reduce_max(double x);
16850double  __ovld __conv sub_group_scan_exclusive_add(double x);
16851double  __ovld __conv sub_group_scan_exclusive_min(double x);
16852double  __ovld __conv sub_group_scan_exclusive_max(double x);
16853double  __ovld __conv sub_group_scan_inclusive_add(double x);
16854double  __ovld __conv sub_group_scan_inclusive_min(double x);
16855double  __ovld __conv sub_group_scan_inclusive_max(double x);
16856#endif //cl_khr_fp64
16857
16858#endif //cl_khr_subgroups cl_intel_subgroups
16859
16860#ifdef cl_amd_media_ops
16861uint __ovld amd_bitalign(uint a, uint b, uint c);
16862uint2 __ovld amd_bitalign(uint2 a, uint2 b, uint2 c);
16863uint3 __ovld amd_bitalign(uint3 a, uint3 b, uint3 c);
16864uint4 __ovld amd_bitalign(uint4 a, uint4 b, uint4 c);
16865uint8 __ovld amd_bitalign(uint8 a, uint8 b, uint8 c);
16866uint16 __ovld amd_bitalign(uint16 a, uint16 b, uint16 c);
16867
16868uint __ovld amd_bytealign(uint a, uint b, uint c);
16869uint2 __ovld amd_bytealign(uint2 a, uint2 b, uint2 c);
16870uint3 __ovld amd_bytealign(uint3 a, uint3 b, uint3 c);
16871uint4 __ovld amd_bytealign(uint4 a, uint4 b, uint4 c);
16872uint8 __ovld amd_bytealign(uint8 a, uint8 b, uint8 c);
16873uint16 __ovld amd_bytealign(uint16 a, uint16 b, uint16 c);
16874
16875uint __ovld amd_lerp(uint a, uint b, uint c);
16876uint2 __ovld amd_lerp(uint2 a, uint2 b, uint2 c);
16877uint3 __ovld amd_lerp(uint3 a, uint3 b, uint3 c);
16878uint4 __ovld amd_lerp(uint4 a, uint4 b, uint4 c);
16879uint8 __ovld amd_lerp(uint8 a, uint8 b, uint8 c);
16880uint16 __ovld amd_lerp(uint16 a, uint16 b, uint16 c);
16881
16882uint __ovld amd_pack(float4 v);
16883
16884uint __ovld amd_sad4(uint4 x, uint4 y, uint z);
16885
16886uint __ovld amd_sadhi(uint a, uint b, uint c);
16887uint2 __ovld amd_sadhi(uint2 a, uint2 b, uint2 c);
16888uint3 __ovld amd_sadhi(uint3 a, uint3 b, uint3 c);
16889uint4 __ovld amd_sadhi(uint4 a, uint4 b, uint4 c);
16890uint8 __ovld amd_sadhi(uint8 a, uint8 b, uint8 c);
16891uint16 __ovld amd_sadhi(uint16 a, uint16 b, uint16 c);
16892
16893uint __ovld amd_sad(uint a, uint b, uint c);
16894uint2 __ovld amd_sad(uint2 a, uint2 b, uint2 c);
16895uint3 __ovld amd_sad(uint3 a, uint3 b, uint3 c);
16896uint4 __ovld amd_sad(uint4 a, uint4 b, uint4 c);
16897uint8 __ovld amd_sad(uint8 a, uint8 b, uint8 c);
16898uint16 __ovld amd_sad(uint16 a, uint16 b, uint16 c);
16899
16900float __ovld amd_unpack0(uint a);
16901float2 __ovld amd_unpack0(uint2 a);
16902float3 __ovld amd_unpack0(uint3 a);
16903float4 __ovld amd_unpack0(uint4 a);
16904float8 __ovld amd_unpack0(uint8 a);
16905float16 __ovld amd_unpack0(uint16 a);
16906
16907float __ovld amd_unpack1(uint a);
16908float2 __ovld amd_unpack1(uint2 a);
16909float3 __ovld amd_unpack1(uint3 a);
16910float4 __ovld amd_unpack1(uint4 a);
16911float8 __ovld amd_unpack1(uint8 a);
16912float16 __ovld amd_unpack1(uint16 a);
16913
16914float __ovld amd_unpack2(uint a);
16915float2 __ovld amd_unpack2(uint2 a);
16916float3 __ovld amd_unpack2(uint3 a);
16917float4 __ovld amd_unpack2(uint4 a);
16918float8 __ovld amd_unpack2(uint8 a);
16919float16 __ovld amd_unpack2(uint16 a);
16920
16921float __ovld amd_unpack3(uint a);
16922float2 __ovld amd_unpack3(uint2 a);
16923float3 __ovld amd_unpack3(uint3 a);
16924float4 __ovld amd_unpack3(uint4 a);
16925float8 __ovld amd_unpack3(uint8 a);
16926float16 __ovld amd_unpack3(uint16 a);
16927#endif // cl_amd_media_ops
16928
16929#ifdef cl_amd_media_ops2
16930int __ovld amd_bfe(int src0, uint src1, uint src2);
16931int2 __ovld amd_bfe(int2 src0, uint2 src1, uint2 src2);
16932int3 __ovld amd_bfe(int3 src0, uint3 src1, uint3 src2);
16933int4 __ovld amd_bfe(int4 src0, uint4 src1, uint4 src2);
16934int8 __ovld amd_bfe(int8 src0, uint8 src1, uint8 src2);
16935int16 __ovld amd_bfe(int16 src0, uint16 src1, uint16 src2);
16936
16937uint __ovld amd_bfe(uint src0, uint src1, uint src2);
16938uint2 __ovld amd_bfe(uint2 src0, uint2 src1, uint2 src2);
16939uint3 __ovld amd_bfe(uint3 src0, uint3 src1, uint3 src2);
16940uint4 __ovld amd_bfe(uint4 src0, uint4 src1, uint4 src2);
16941uint8 __ovld amd_bfe(uint8 src0, uint8 src1, uint8 src2);
16942uint16 __ovld amd_bfe(uint16 src0, uint16 src1, uint16 src2);
16943
16944uint __ovld amd_bfm(uint src0, uint src1);
16945uint2 __ovld amd_bfm(uint2 src0, uint2 src1);
16946uint3 __ovld amd_bfm(uint3 src0, uint3 src1);
16947uint4 __ovld amd_bfm(uint4 src0, uint4 src1);
16948uint8 __ovld amd_bfm(uint8 src0, uint8 src1);
16949uint16 __ovld amd_bfm(uint16 src0, uint16 src1);
16950
16951float __ovld amd_max3(float src0, float src1, float src2);
16952float2 __ovld amd_max3(float2 src0, float2 src1, float2 src2);
16953float3 __ovld amd_max3(float3 src0, float3 src1, float3 src2);
16954float4 __ovld amd_max3(float4 src0, float4 src1, float4 src2);
16955float8 __ovld amd_max3(float8 src0, float8 src1, float8 src2);
16956float16 __ovld amd_max3(float16 src0, float16 src1, float16 src2);
16957
16958int __ovld amd_max3(int src0, int src1, int src2);
16959int2 __ovld amd_max3(int2 src0, int2 src1, int2 src2);
16960int3 __ovld amd_max3(int3 src0, int3 src1, int3 src2);
16961int4 __ovld amd_max3(int4 src0, int4 src1, int4 src2);
16962int8 __ovld amd_max3(int8 src0, int8 src1, int8 src2);
16963int16 __ovld amd_max3(int16 src0, int16 src1, int16 src2);
16964
16965uint __ovld amd_max3(uint src0, uint src1, uint src2);
16966uint2 __ovld amd_max3(uint2 src0, uint2 src1, uint2 src2);
16967uint3 __ovld amd_max3(uint3 src0, uint3 src1, uint3 src2);
16968uint4 __ovld amd_max3(uint4 src0, uint4 src1, uint4 src2);
16969uint8 __ovld amd_max3(uint8 src0, uint8 src1, uint8 src2);
16970uint16 __ovld amd_max3(uint16 src0, uint16 src1, uint16 src2);
16971
16972float __ovld amd_median3(float src0, float src1, float src2);
16973float2 __ovld amd_median3(float2 src0, float2 src1, float2 src2);
16974float3 __ovld amd_median3(float3 src0, float3 src1, float3 src2);
16975float4 __ovld amd_median3(float4 src0, float4 src1, float4 src2);
16976float8 __ovld amd_median3(float8 src0, float8 src1, float8 src2);
16977float16 __ovld amd_median3(float16 src0, float16 src1, float16 src2);
16978
16979int __ovld amd_median3(int src0, int src1, int src2);
16980int2 __ovld amd_median3(int2 src0, int2 src1, int2 src2);
16981int3 __ovld amd_median3(int3 src0, int3 src1, int3 src2);
16982int4 __ovld amd_median3(int4 src0, int4 src1, int4 src2);
16983int8 __ovld amd_median3(int8 src0, int8 src1, int8 src2);
16984int16 __ovld amd_median3(int16 src0, int16 src1, int16 src2);
16985
16986uint __ovld amd_median3(uint src0, uint src1, uint src2);
16987uint2 __ovld amd_median3(uint2 src0, uint2 src1, uint2 src2);
16988uint3 __ovld amd_median3(uint3 src0, uint3 src1, uint3 src2);
16989uint4 __ovld amd_median3(uint4 src0, uint4 src1, uint4 src2);
16990uint8 __ovld amd_median3(uint8 src0, uint8 src1, uint8 src2);
16991uint16 __ovld amd_median3(uint16 src0, uint16 src1, uint16 src2);
16992
16993float __ovld amd_min3(float src0, float src1, float src);
16994float2 __ovld amd_min3(float2 src0, float2 src1, float2 src);
16995float3 __ovld amd_min3(float3 src0, float3 src1, float3 src);
16996float4 __ovld amd_min3(float4 src0, float4 src1, float4 src);
16997float8 __ovld amd_min3(float8 src0, float8 src1, float8 src);
16998float16 __ovld amd_min3(float16 src0, float16 src1, float16 src);
16999
17000int __ovld amd_min3(int src0, int src1, int src2);
17001int2 __ovld amd_min3(int2 src0, int2 src1, int2 src2);
17002int3 __ovld amd_min3(int3 src0, int3 src1, int3 src2);
17003int4 __ovld amd_min3(int4 src0, int4 src1, int4 src2);
17004int8 __ovld amd_min3(int8 src0, int8 src1, int8 src2);
17005int16 __ovld amd_min3(int16 src0, int16 src1, int16 src2);
17006
17007uint __ovld amd_min3(uint src0, uint src1, uint src2);
17008uint2 __ovld amd_min3(uint2 src0, uint2 src1, uint2 src2);
17009uint3 __ovld amd_min3(uint3 src0, uint3 src1, uint3 src2);
17010uint4 __ovld amd_min3(uint4 src0, uint4 src1, uint4 src2);
17011uint8 __ovld amd_min3(uint8 src0, uint8 src1, uint8 src2);
17012uint16 __ovld amd_min3(uint16 src0, uint16 src1, uint16 src2);
17013
17014ulong __ovld amd_mqsad(ulong src0, uint src1, ulong src2);
17015ulong2 __ovld amd_mqsad(ulong2 src0, uint2 src1, ulong2 src2);
17016ulong3 __ovld amd_mqsad(ulong3 src0, uint3 src1, ulong3 src2);
17017ulong4 __ovld amd_mqsad(ulong4 src0, uint4 src1, ulong4 src2);
17018ulong8 __ovld amd_mqsad(ulong8 src0, uint8 src1, ulong8 src2);
17019ulong16 __ovld amd_mqsad(ulong16 src0, uint16 src1, ulong16 src2);
17020
17021ulong __ovld amd_qsad(ulong src0, uint src1, ulong src2);
17022ulong2 __ovld amd_qsad(ulong2 src0, uint2 src1, ulong2 src2);
17023ulong3 __ovld amd_qsad(ulong3 src0, uint3 src1, ulong3 src2);
17024ulong4 __ovld amd_qsad(ulong4 src0, uint4 src1, ulong4 src2);
17025ulong8 __ovld amd_qsad(ulong8 src0, uint8 src1, ulong8 src2);
17026ulong16 __ovld amd_qsad(ulong16 src0, uint16 src1, ulong16 src2);
17027
17028uint __ovld amd_msad(uint src0, uint src1, uint src2);
17029uint2 __ovld amd_msad(uint2 src0, uint2 src1, uint2 src2);
17030uint3 __ovld amd_msad(uint3 src0, uint3 src1, uint3 src2);
17031uint4 __ovld amd_msad(uint4 src0, uint4 src1, uint4 src2);
17032uint8 __ovld amd_msad(uint8 src0, uint8 src1, uint8 src2);
17033uint16 __ovld amd_msad(uint16 src0, uint16 src1, uint16 src2);
17034
17035uint __ovld amd_sadd(uint src0, uint src1, uint src2);
17036uint2 __ovld amd_sadd(uint2 src0, uint2 src1, uint2 src2);
17037uint3 __ovld amd_sadd(uint3 src0, uint3 src1, uint3 src2);
17038uint4 __ovld amd_sadd(uint4 src0, uint4 src1, uint4 src2);
17039uint8 __ovld amd_sadd(uint8 src0, uint8 src1, uint8 src2);
17040uint16 __ovld amd_sadd(uint16 src0, uint16 src1, uint16 src2);
17041
17042uint __ovld amd_sadw(uint src0, uint src1, uint src2);
17043uint2 __ovld amd_sadw(uint2 src0, uint2 src1, uint2 src2);
17044uint3 __ovld amd_sadw(uint3 src0, uint3 src1, uint3 src2);
17045uint4 __ovld amd_sadw(uint4 src0, uint4 src1, uint4 src2);
17046uint8 __ovld amd_sadw(uint8 src0, uint8 src1, uint8 src2);
17047uint16 __ovld amd_sadw(uint16 src0, uint16 src1, uint16 src2);
17048#endif // cl_amd_media_ops2
17049
17050// Disable any extensions we may have enabled previously.
17051#pragma OPENCL EXTENSION all : disable
17052
17053#undef __cnfn
17054#undef __ovld
17055#endif //_OPENCL_H_
17056