Home | History | Annotate | Download | only in include
      1 //===--- opencl-c.h - OpenCL C language builtin function header -----------===//
      2 //
      3 //                     The LLVM Compiler Infrastructure
      4 //
      5 // This file is distributed under the University of Illinois Open Source
      6 // License. See LICENSE.TXT for details.
      7 //
      8 //===----------------------------------------------------------------------===//
      9 
     10 #ifndef _OPENCL_H_
     11 #define _OPENCL_H_
     12 
     13 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
     14 #ifndef cl_khr_depth_images
     15 #define cl_khr_depth_images
     16 #endif //cl_khr_depth_images
     17 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
     18 
     19 #define __ovld __attribute__((overloadable))
     20 #define __conv __attribute__((convergent))
     21 
     22 // Optimizations
     23 #define __purefn __attribute__((pure))
     24 #define __cnfn __attribute__((const))
     25 
     26 // built-in scalar data types:
     27 
     28 /**
     29  * An unsigned 8-bit integer.
     30  */
     31 typedef unsigned char uchar;
     32 
     33 /**
     34  * An unsigned 16-bit integer.
     35  */
     36 typedef unsigned short ushort;
     37 
     38 /**
     39  * An unsigned 32-bit integer.
     40  */
     41 typedef unsigned int uint;
     42 
     43 /**
     44  * An unsigned 64-bit integer.
     45  */
     46 typedef unsigned long ulong;
     47 
     48 /**
     49  * The unsigned integer type of the result of the sizeof operator. This
     50  * is a 32-bit unsigned integer if CL_DEVICE_ADDRESS_BITS
     51  * defined in table 4.3 is 32-bits and is a 64-bit unsigned integer if
     52  * CL_DEVICE_ADDRESS_BITS is 64-bits.
     53  */
     54 typedef __SIZE_TYPE__ size_t;
     55 
     56 /**
     57  * A signed integer type that is the result of subtracting two pointers.
     58  * This is a 32-bit signed integer if CL_DEVICE_ADDRESS_BITS
     59  * defined in table 4.3 is 32-bits and is a 64-bit signed integer if
     60  * CL_DEVICE_ADDRESS_BITS is 64-bits.
     61  */
     62 typedef __PTRDIFF_TYPE__ ptrdiff_t;
     63 
     64 /**
     65 * A signed integer type with the property that any valid pointer to
     66 * void can be converted to this type, then converted back to pointer
     67 * to void, and the result will compare equal to the original pointer.
     68 */
     69 typedef __INTPTR_TYPE__ intptr_t;
     70 
     71 /**
     72 * An unsigned integer type with the property that any valid pointer to
     73 * void can be converted to this type, then converted back to pointer
     74 * to void, and the result will compare equal to the original pointer.
     75 */
     76 typedef __UINTPTR_TYPE__ uintptr_t;
     77 
     78 // built-in vector data types:
     79 typedef char char2 __attribute__((ext_vector_type(2)));
     80 typedef char char3 __attribute__((ext_vector_type(3)));
     81 typedef char char4 __attribute__((ext_vector_type(4)));
     82 typedef char char8 __attribute__((ext_vector_type(8)));
     83 typedef char char16 __attribute__((ext_vector_type(16)));
     84 typedef uchar uchar2 __attribute__((ext_vector_type(2)));
     85 typedef uchar uchar3 __attribute__((ext_vector_type(3)));
     86 typedef uchar uchar4 __attribute__((ext_vector_type(4)));
     87 typedef uchar uchar8 __attribute__((ext_vector_type(8)));
     88 typedef uchar uchar16 __attribute__((ext_vector_type(16)));
     89 typedef short short2 __attribute__((ext_vector_type(2)));
     90 typedef short short3 __attribute__((ext_vector_type(3)));
     91 typedef short short4 __attribute__((ext_vector_type(4)));
     92 typedef short short8 __attribute__((ext_vector_type(8)));
     93 typedef short short16 __attribute__((ext_vector_type(16)));
     94 typedef ushort ushort2 __attribute__((ext_vector_type(2)));
     95 typedef ushort ushort3 __attribute__((ext_vector_type(3)));
     96 typedef ushort ushort4 __attribute__((ext_vector_type(4)));
     97 typedef ushort ushort8 __attribute__((ext_vector_type(8)));
     98 typedef ushort ushort16 __attribute__((ext_vector_type(16)));
     99 typedef int int2 __attribute__((ext_vector_type(2)));
    100 typedef int int3 __attribute__((ext_vector_type(3)));
    101 typedef int int4 __attribute__((ext_vector_type(4)));
    102 typedef int int8 __attribute__((ext_vector_type(8)));
    103 typedef int int16 __attribute__((ext_vector_type(16)));
    104 typedef uint uint2 __attribute__((ext_vector_type(2)));
    105 typedef uint uint3 __attribute__((ext_vector_type(3)));
    106 typedef uint uint4 __attribute__((ext_vector_type(4)));
    107 typedef uint uint8 __attribute__((ext_vector_type(8)));
    108 typedef uint uint16 __attribute__((ext_vector_type(16)));
    109 typedef long long2 __attribute__((ext_vector_type(2)));
    110 typedef long long3 __attribute__((ext_vector_type(3)));
    111 typedef long long4 __attribute__((ext_vector_type(4)));
    112 typedef long long8 __attribute__((ext_vector_type(8)));
    113 typedef long long16 __attribute__((ext_vector_type(16)));
    114 typedef ulong ulong2 __attribute__((ext_vector_type(2)));
    115 typedef ulong ulong3 __attribute__((ext_vector_type(3)));
    116 typedef ulong ulong4 __attribute__((ext_vector_type(4)));
    117 typedef ulong ulong8 __attribute__((ext_vector_type(8)));
    118 typedef ulong ulong16 __attribute__((ext_vector_type(16)));
    119 typedef float float2 __attribute__((ext_vector_type(2)));
    120 typedef float float3 __attribute__((ext_vector_type(3)));
    121 typedef float float4 __attribute__((ext_vector_type(4)));
    122 typedef float float8 __attribute__((ext_vector_type(8)));
    123 typedef float float16 __attribute__((ext_vector_type(16)));
    124 #ifdef cl_khr_fp16
    125 #pragma OPENCL EXTENSION cl_khr_fp16 : enable
    126 typedef half half2 __attribute__((ext_vector_type(2)));
    127 typedef half half3 __attribute__((ext_vector_type(3)));
    128 typedef half half4 __attribute__((ext_vector_type(4)));
    129 typedef half half8 __attribute__((ext_vector_type(8)));
    130 typedef half half16 __attribute__((ext_vector_type(16)));
    131 #endif
    132 #ifdef cl_khr_fp64
    133 #if __OPENCL_C_VERSION__ < CL_VERSION_1_2
    134 #pragma OPENCL EXTENSION cl_khr_fp64 : enable
    135 #endif
    136 typedef double double2 __attribute__((ext_vector_type(2)));
    137 typedef double double3 __attribute__((ext_vector_type(3)));
    138 typedef double double4 __attribute__((ext_vector_type(4)));
    139 typedef double double8 __attribute__((ext_vector_type(8)));
    140 typedef double double16 __attribute__((ext_vector_type(16)));
    141 #endif
    142 
    143 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
    144 #define NULL ((void*)0)
    145 #endif
    146 
    147 /**
    148  * Value of maximum non-infinite single-precision floating-point
    149  * number.
    150  */
    151 #define MAXFLOAT 0x1.fffffep127f
    152 
    153 /**
    154  * A positive float constant expression. HUGE_VALF evaluates
    155  * to +infinity. Used as an error value returned by the built-in
    156  * math functions.
    157  */
    158 #define HUGE_VALF (__builtin_huge_valf())
    159 
    160 /**
    161  * A positive double constant expression. HUGE_VAL evaluates
    162  * to +infinity. Used as an error value returned by the built-in
    163  * math functions.
    164  */
    165 #define HUGE_VAL (__builtin_huge_val())
    166 
    167 /**
    168  * A constant expression of type float representing positive or
    169  * unsigned infinity.
    170  */
    171 #define INFINITY (__builtin_inff())
    172 
    173 /**
    174  * A constant expression of type float representing a quiet NaN.
    175  */
    176 #define NAN as_float(INT_MAX)
    177 
    178 #define FP_ILOGB0    INT_MIN
    179 #define FP_ILOGBNAN    INT_MAX
    180 
    181 #define FLT_DIG 6
    182 #define FLT_MANT_DIG 24
    183 #define FLT_MAX_10_EXP +38
    184 #define FLT_MAX_EXP +128
    185 #define FLT_MIN_10_EXP -37
    186 #define FLT_MIN_EXP -125
    187 #define FLT_RADIX 2
    188 #define FLT_MAX 0x1.fffffep127f
    189 #define FLT_MIN 0x1.0p-126f
    190 #define FLT_EPSILON 0x1.0p-23f
    191 
    192 #define M_E_F         2.71828182845904523536028747135266250f
    193 #define M_LOG2E_F     1.44269504088896340735992468100189214f
    194 #define M_LOG10E_F    0.434294481903251827651128918916605082f
    195 #define M_LN2_F       0.693147180559945309417232121458176568f
    196 #define M_LN10_F      2.30258509299404568401799145468436421f
    197 #define M_PI_F        3.14159265358979323846264338327950288f
    198 #define M_PI_2_F      1.57079632679489661923132169163975144f
    199 #define M_PI_4_F      0.785398163397448309615660845819875721f
    200 #define M_1_PI_F      0.318309886183790671537767526745028724f
    201 #define M_2_PI_F      0.636619772367581343075535053490057448f
    202 #define M_2_SQRTPI_F  1.12837916709551257389615890312154517f
    203 #define M_SQRT2_F     1.41421356237309504880168872420969808f
    204 #define M_SQRT1_2_F   0.707106781186547524400844362104849039f
    205 
    206 #define DBL_DIG 15
    207 #define DBL_MANT_DIG 53
    208 #define DBL_MAX_10_EXP +308
    209 #define DBL_MAX_EXP +1024
    210 #define DBL_MIN_10_EXP -307
    211 #define DBL_MIN_EXP -1021
    212 #define DBL_RADIX 2
    213 #define DBL_MAX 0x1.fffffffffffffp1023
    214 #define DBL_MIN 0x1.0p-1022
    215 #define DBL_EPSILON 0x1.0p-52
    216 
    217 #define M_E           0x1.5bf0a8b145769p+1
    218 #define M_LOG2E       0x1.71547652b82fep+0
    219 #define M_LOG10E      0x1.bcb7b1526e50ep-2
    220 #define M_LN2         0x1.62e42fefa39efp-1
    221 #define M_LN10        0x1.26bb1bbb55516p+1
    222 #define M_PI          0x1.921fb54442d18p+1
    223 #define M_PI_2        0x1.921fb54442d18p+0
    224 #define M_PI_4        0x1.921fb54442d18p-1
    225 #define M_1_PI        0x1.45f306dc9c883p-2
    226 #define M_2_PI        0x1.45f306dc9c883p-1
    227 #define M_2_SQRTPI    0x1.20dd750429b6dp+0
    228 #define M_SQRT2       0x1.6a09e667f3bcdp+0
    229 #define M_SQRT1_2     0x1.6a09e667f3bcdp-1
    230 
    231 #ifdef cl_khr_fp16
    232 
    233 #define HALF_DIG 3
    234 #define HALF_MANT_DIG 11
    235 #define HALF_MAX_10_EXP +4
    236 #define HALF_MAX_EXP +16
    237 #define HALF_MIN_10_EXP -4
    238 #define HALF_MIN_EXP -13
    239 #define HALF_RADIX 2
    240 #define HALF_MAX ((0x1.ffcp15h))
    241 #define HALF_MIN ((0x1.0p-14h))
    242 #define HALF_EPSILON ((0x1.0p-10h))
    243 
    244 #define M_E_H         2.71828182845904523536028747135266250h
    245 #define M_LOG2E_H     1.44269504088896340735992468100189214h
    246 #define M_LOG10E_H    0.434294481903251827651128918916605082h
    247 #define M_LN2_H       0.693147180559945309417232121458176568h
    248 #define M_LN10_H      2.30258509299404568401799145468436421h
    249 #define M_PI_H        3.14159265358979323846264338327950288h
    250 #define M_PI_2_H      1.57079632679489661923132169163975144h
    251 #define M_PI_4_H      0.785398163397448309615660845819875721h
    252 #define M_1_PI_H      0.318309886183790671537767526745028724h
    253 #define M_2_PI_H      0.636619772367581343075535053490057448h
    254 #define M_2_SQRTPI_H  1.12837916709551257389615890312154517h
    255 #define M_SQRT2_H     1.41421356237309504880168872420969808h
    256 #define M_SQRT1_2_H   0.707106781186547524400844362104849039h
    257 
    258 #endif //cl_khr_fp16
    259 
    260 #define CHAR_BIT    8
    261 #define SCHAR_MAX  127
    262 #define SCHAR_MIN  (-128)
    263 #define UCHAR_MAX  255
    264 #define CHAR_MAX  SCHAR_MAX
    265 #define CHAR_MIN  SCHAR_MIN
    266 #define USHRT_MAX  65535
    267 #define SHRT_MAX  32767
    268 #define SHRT_MIN  (-32768)
    269 #define UINT_MAX  0xffffffff
    270 #define INT_MAX    2147483647
    271 #define INT_MIN    (-2147483647-1)
    272 #define ULONG_MAX  0xffffffffffffffffUL
    273 #define LONG_MAX  0x7fffffffffffffffL
    274 #define LONG_MIN  (-0x7fffffffffffffffL-1)
    275 
    276 // OpenCL v1.1/1.2/2.0 s6.2.3 - Explicit conversions
    277 
    278 char __ovld __cnfn convert_char_rte(char);
    279 char __ovld __cnfn convert_char_sat_rte(char);
    280 char __ovld __cnfn convert_char_rtz(char);
    281 char __ovld __cnfn convert_char_sat_rtz(char);
    282 char __ovld __cnfn convert_char_rtp(char);
    283 char __ovld __cnfn convert_char_sat_rtp(char);
    284 char __ovld __cnfn convert_char_rtn(char);
    285 char __ovld __cnfn convert_char_sat_rtn(char);
    286 char __ovld __cnfn convert_char(char);
    287 char __ovld __cnfn convert_char_sat(char);
    288 char __ovld __cnfn convert_char_rte(uchar);
    289 char __ovld __cnfn convert_char_sat_rte(uchar);
    290 char __ovld __cnfn convert_char_rtz(uchar);
    291 char __ovld __cnfn convert_char_sat_rtz(uchar);
    292 char __ovld __cnfn convert_char_rtp(uchar);
    293 char __ovld __cnfn convert_char_sat_rtp(uchar);
    294 char __ovld __cnfn convert_char_rtn(uchar);
    295 char __ovld __cnfn convert_char_sat_rtn(uchar);
    296 char __ovld __cnfn convert_char(uchar);
    297 char __ovld __cnfn convert_char_sat(uchar);
    298 char __ovld __cnfn convert_char_rte(short);
    299 char __ovld __cnfn convert_char_sat_rte(short);
    300 char __ovld __cnfn convert_char_rtz(short);
    301 char __ovld __cnfn convert_char_sat_rtz(short);
    302 char __ovld __cnfn convert_char_rtp(short);
    303 char __ovld __cnfn convert_char_sat_rtp(short);
    304 char __ovld __cnfn convert_char_rtn(short);
    305 char __ovld __cnfn convert_char_sat_rtn(short);
    306 char __ovld __cnfn convert_char(short);
    307 char __ovld __cnfn convert_char_sat(short);
    308 char __ovld __cnfn convert_char_rte(ushort);
    309 char __ovld __cnfn convert_char_sat_rte(ushort);
    310 char __ovld __cnfn convert_char_rtz(ushort);
    311 char __ovld __cnfn convert_char_sat_rtz(ushort);
    312 char __ovld __cnfn convert_char_rtp(ushort);
    313 char __ovld __cnfn convert_char_sat_rtp(ushort);
    314 char __ovld __cnfn convert_char_rtn(ushort);
    315 char __ovld __cnfn convert_char_sat_rtn(ushort);
    316 char __ovld __cnfn convert_char(ushort);
    317 char __ovld __cnfn convert_char_sat(ushort);
    318 char __ovld __cnfn convert_char_rte(int);
    319 char __ovld __cnfn convert_char_sat_rte(int);
    320 char __ovld __cnfn convert_char_rtz(int);
    321 char __ovld __cnfn convert_char_sat_rtz(int);
    322 char __ovld __cnfn convert_char_rtp(int);
    323 char __ovld __cnfn convert_char_sat_rtp(int);
    324 char __ovld __cnfn convert_char_rtn(int);
    325 char __ovld __cnfn convert_char_sat_rtn(int);
    326 char __ovld __cnfn convert_char(int);
    327 char __ovld __cnfn convert_char_sat(int);
    328 char __ovld __cnfn convert_char_rte(uint);
    329 char __ovld __cnfn convert_char_sat_rte(uint);
    330 char __ovld __cnfn convert_char_rtz(uint);
    331 char __ovld __cnfn convert_char_sat_rtz(uint);
    332 char __ovld __cnfn convert_char_rtp(uint);
    333 char __ovld __cnfn convert_char_sat_rtp(uint);
    334 char __ovld __cnfn convert_char_rtn(uint);
    335 char __ovld __cnfn convert_char_sat_rtn(uint);
    336 char __ovld __cnfn convert_char(uint);
    337 char __ovld __cnfn convert_char_sat(uint);
    338 char __ovld __cnfn convert_char_rte(long);
    339 char __ovld __cnfn convert_char_sat_rte(long);
    340 char __ovld __cnfn convert_char_rtz(long);
    341 char __ovld __cnfn convert_char_sat_rtz(long);
    342 char __ovld __cnfn convert_char_rtp(long);
    343 char __ovld __cnfn convert_char_sat_rtp(long);
    344 char __ovld __cnfn convert_char_rtn(long);
    345 char __ovld __cnfn convert_char_sat_rtn(long);
    346 char __ovld __cnfn convert_char(long);
    347 char __ovld __cnfn convert_char_sat(long);
    348 char __ovld __cnfn convert_char_rte(ulong);
    349 char __ovld __cnfn convert_char_sat_rte(ulong);
    350 char __ovld __cnfn convert_char_rtz(ulong);
    351 char __ovld __cnfn convert_char_sat_rtz(ulong);
    352 char __ovld __cnfn convert_char_rtp(ulong);
    353 char __ovld __cnfn convert_char_sat_rtp(ulong);
    354 char __ovld __cnfn convert_char_rtn(ulong);
    355 char __ovld __cnfn convert_char_sat_rtn(ulong);
    356 char __ovld __cnfn convert_char(ulong);
    357 char __ovld __cnfn convert_char_sat(ulong);
    358 char __ovld __cnfn convert_char_rte(float);
    359 char __ovld __cnfn convert_char_sat_rte(float);
    360 char __ovld __cnfn convert_char_rtz(float);
    361 char __ovld __cnfn convert_char_sat_rtz(float);
    362 char __ovld __cnfn convert_char_rtp(float);
    363 char __ovld __cnfn convert_char_sat_rtp(float);
    364 char __ovld __cnfn convert_char_rtn(float);
    365 char __ovld __cnfn convert_char_sat_rtn(float);
    366 char __ovld __cnfn convert_char(float);
    367 char __ovld __cnfn convert_char_sat(float);
    368 uchar __ovld __cnfn convert_uchar_rte(char);
    369 uchar __ovld __cnfn convert_uchar_sat_rte(char);
    370 uchar __ovld __cnfn convert_uchar_rtz(char);
    371 uchar __ovld __cnfn convert_uchar_sat_rtz(char);
    372 uchar __ovld __cnfn convert_uchar_rtp(char);
    373 uchar __ovld __cnfn convert_uchar_sat_rtp(char);
    374 uchar __ovld __cnfn convert_uchar_rtn(char);
    375 uchar __ovld __cnfn convert_uchar_sat_rtn(char);
    376 uchar __ovld __cnfn convert_uchar(char);
    377 uchar __ovld __cnfn convert_uchar_sat(char);
    378 uchar __ovld __cnfn convert_uchar_rte(uchar);
    379 uchar __ovld __cnfn convert_uchar_sat_rte(uchar);
    380 uchar __ovld __cnfn convert_uchar_rtz(uchar);
    381 uchar __ovld __cnfn convert_uchar_sat_rtz(uchar);
    382 uchar __ovld __cnfn convert_uchar_rtp(uchar);
    383 uchar __ovld __cnfn convert_uchar_sat_rtp(uchar);
    384 uchar __ovld __cnfn convert_uchar_rtn(uchar);
    385 uchar __ovld __cnfn convert_uchar_sat_rtn(uchar);
    386 uchar __ovld __cnfn convert_uchar(uchar);
    387 uchar __ovld __cnfn convert_uchar_sat(uchar);
    388 uchar __ovld __cnfn convert_uchar_rte(short);
    389 uchar __ovld __cnfn convert_uchar_sat_rte(short);
    390 uchar __ovld __cnfn convert_uchar_rtz(short);
    391 uchar __ovld __cnfn convert_uchar_sat_rtz(short);
    392 uchar __ovld __cnfn convert_uchar_rtp(short);
    393 uchar __ovld __cnfn convert_uchar_sat_rtp(short);
    394 uchar __ovld __cnfn convert_uchar_rtn(short);
    395 uchar __ovld __cnfn convert_uchar_sat_rtn(short);
    396 uchar __ovld __cnfn convert_uchar(short);
    397 uchar __ovld __cnfn convert_uchar_sat(short);
    398 uchar __ovld __cnfn convert_uchar_rte(ushort);
    399 uchar __ovld __cnfn convert_uchar_sat_rte(ushort);
    400 uchar __ovld __cnfn convert_uchar_rtz(ushort);
    401 uchar __ovld __cnfn convert_uchar_sat_rtz(ushort);
    402 uchar __ovld __cnfn convert_uchar_rtp(ushort);
    403 uchar __ovld __cnfn convert_uchar_sat_rtp(ushort);
    404 uchar __ovld __cnfn convert_uchar_rtn(ushort);
    405 uchar __ovld __cnfn convert_uchar_sat_rtn(ushort);
    406 uchar __ovld __cnfn convert_uchar(ushort);
    407 uchar __ovld __cnfn convert_uchar_sat(ushort);
    408 uchar __ovld __cnfn convert_uchar_rte(int);
    409 uchar __ovld __cnfn convert_uchar_sat_rte(int);
    410 uchar __ovld __cnfn convert_uchar_rtz(int);
    411 uchar __ovld __cnfn convert_uchar_sat_rtz(int);
    412 uchar __ovld __cnfn convert_uchar_rtp(int);
    413 uchar __ovld __cnfn convert_uchar_sat_rtp(int);
    414 uchar __ovld __cnfn convert_uchar_rtn(int);
    415 uchar __ovld __cnfn convert_uchar_sat_rtn(int);
    416 uchar __ovld __cnfn convert_uchar(int);
    417 uchar __ovld __cnfn convert_uchar_sat(int);
    418 uchar __ovld __cnfn convert_uchar_rte(uint);
    419 uchar __ovld __cnfn convert_uchar_sat_rte(uint);
    420 uchar __ovld __cnfn convert_uchar_rtz(uint);
    421 uchar __ovld __cnfn convert_uchar_sat_rtz(uint);
    422 uchar __ovld __cnfn convert_uchar_rtp(uint);
    423 uchar __ovld __cnfn convert_uchar_sat_rtp(uint);
    424 uchar __ovld __cnfn convert_uchar_rtn(uint);
    425 uchar __ovld __cnfn convert_uchar_sat_rtn(uint);
    426 uchar __ovld __cnfn convert_uchar(uint);
    427 uchar __ovld __cnfn convert_uchar_sat(uint);
    428 uchar __ovld __cnfn convert_uchar_rte(long);
    429 uchar __ovld __cnfn convert_uchar_sat_rte(long);
    430 uchar __ovld __cnfn convert_uchar_rtz(long);
    431 uchar __ovld __cnfn convert_uchar_sat_rtz(long);
    432 uchar __ovld __cnfn convert_uchar_rtp(long);
    433 uchar __ovld __cnfn convert_uchar_sat_rtp(long);
    434 uchar __ovld __cnfn convert_uchar_rtn(long);
    435 uchar __ovld __cnfn convert_uchar_sat_rtn(long);
    436 uchar __ovld __cnfn convert_uchar(long);
    437 uchar __ovld __cnfn convert_uchar_sat(long);
    438 uchar __ovld __cnfn convert_uchar_rte(ulong);
    439 uchar __ovld __cnfn convert_uchar_sat_rte(ulong);
    440 uchar __ovld __cnfn convert_uchar_rtz(ulong);
    441 uchar __ovld __cnfn convert_uchar_sat_rtz(ulong);
    442 uchar __ovld __cnfn convert_uchar_rtp(ulong);
    443 uchar __ovld __cnfn convert_uchar_sat_rtp(ulong);
    444 uchar __ovld __cnfn convert_uchar_rtn(ulong);
    445 uchar __ovld __cnfn convert_uchar_sat_rtn(ulong);
    446 uchar __ovld __cnfn convert_uchar(ulong);
    447 uchar __ovld __cnfn convert_uchar_sat(ulong);
    448 uchar __ovld __cnfn convert_uchar_rte(float);
    449 uchar __ovld __cnfn convert_uchar_sat_rte(float);
    450 uchar __ovld __cnfn convert_uchar_rtz(float);
    451 uchar __ovld __cnfn convert_uchar_sat_rtz(float);
    452 uchar __ovld __cnfn convert_uchar_rtp(float);
    453 uchar __ovld __cnfn convert_uchar_sat_rtp(float);
    454 uchar __ovld __cnfn convert_uchar_rtn(float);
    455 uchar __ovld __cnfn convert_uchar_sat_rtn(float);
    456 uchar __ovld __cnfn convert_uchar(float);
    457 uchar __ovld __cnfn convert_uchar_sat(float);
    458 
    459 short __ovld __cnfn convert_short_rte(char);
    460 short __ovld __cnfn convert_short_sat_rte(char);
    461 short __ovld __cnfn convert_short_rtz(char);
    462 short __ovld __cnfn convert_short_sat_rtz(char);
    463 short __ovld __cnfn convert_short_rtp(char);
    464 short __ovld __cnfn convert_short_sat_rtp(char);
    465 short __ovld __cnfn convert_short_rtn(char);
    466 short __ovld __cnfn convert_short_sat_rtn(char);
    467 short __ovld __cnfn convert_short(char);
    468 short __ovld __cnfn convert_short_sat(char);
    469 short __ovld __cnfn convert_short_rte(uchar);
    470 short __ovld __cnfn convert_short_sat_rte(uchar);
    471 short __ovld __cnfn convert_short_rtz(uchar);
    472 short __ovld __cnfn convert_short_sat_rtz(uchar);
    473 short __ovld __cnfn convert_short_rtp(uchar);
    474 short __ovld __cnfn convert_short_sat_rtp(uchar);
    475 short __ovld __cnfn convert_short_rtn(uchar);
    476 short __ovld __cnfn convert_short_sat_rtn(uchar);
    477 short __ovld __cnfn convert_short(uchar);
    478 short __ovld __cnfn convert_short_sat(uchar);
    479 short __ovld __cnfn convert_short_rte(short);
    480 short __ovld __cnfn convert_short_sat_rte(short);
    481 short __ovld __cnfn convert_short_rtz(short);
    482 short __ovld __cnfn convert_short_sat_rtz(short);
    483 short __ovld __cnfn convert_short_rtp(short);
    484 short __ovld __cnfn convert_short_sat_rtp(short);
    485 short __ovld __cnfn convert_short_rtn(short);
    486 short __ovld __cnfn convert_short_sat_rtn(short);
    487 short __ovld __cnfn convert_short(short);
    488 short __ovld __cnfn convert_short_sat(short);
    489 short __ovld __cnfn convert_short_rte(ushort);
    490 short __ovld __cnfn convert_short_sat_rte(ushort);
    491 short __ovld __cnfn convert_short_rtz(ushort);
    492 short __ovld __cnfn convert_short_sat_rtz(ushort);
    493 short __ovld __cnfn convert_short_rtp(ushort);
    494 short __ovld __cnfn convert_short_sat_rtp(ushort);
    495 short __ovld __cnfn convert_short_rtn(ushort);
    496 short __ovld __cnfn convert_short_sat_rtn(ushort);
    497 short __ovld __cnfn convert_short(ushort);
    498 short __ovld __cnfn convert_short_sat(ushort);
    499 short __ovld __cnfn convert_short_rte(int);
    500 short __ovld __cnfn convert_short_sat_rte(int);
    501 short __ovld __cnfn convert_short_rtz(int);
    502 short __ovld __cnfn convert_short_sat_rtz(int);
    503 short __ovld __cnfn convert_short_rtp(int);
    504 short __ovld __cnfn convert_short_sat_rtp(int);
    505 short __ovld __cnfn convert_short_rtn(int);
    506 short __ovld __cnfn convert_short_sat_rtn(int);
    507 short __ovld __cnfn convert_short(int);
    508 short __ovld __cnfn convert_short_sat(int);
    509 short __ovld __cnfn convert_short_rte(uint);
    510 short __ovld __cnfn convert_short_sat_rte(uint);
    511 short __ovld __cnfn convert_short_rtz(uint);
    512 short __ovld __cnfn convert_short_sat_rtz(uint);
    513 short __ovld __cnfn convert_short_rtp(uint);
    514 short __ovld __cnfn convert_short_sat_rtp(uint);
    515 short __ovld __cnfn convert_short_rtn(uint);
    516 short __ovld __cnfn convert_short_sat_rtn(uint);
    517 short __ovld __cnfn convert_short(uint);
    518 short __ovld __cnfn convert_short_sat(uint);
    519 short __ovld __cnfn convert_short_rte(long);
    520 short __ovld __cnfn convert_short_sat_rte(long);
    521 short __ovld __cnfn convert_short_rtz(long);
    522 short __ovld __cnfn convert_short_sat_rtz(long);
    523 short __ovld __cnfn convert_short_rtp(long);
    524 short __ovld __cnfn convert_short_sat_rtp(long);
    525 short __ovld __cnfn convert_short_rtn(long);
    526 short __ovld __cnfn convert_short_sat_rtn(long);
    527 short __ovld __cnfn convert_short(long);
    528 short __ovld __cnfn convert_short_sat(long);
    529 short __ovld __cnfn convert_short_rte(ulong);
    530 short __ovld __cnfn convert_short_sat_rte(ulong);
    531 short __ovld __cnfn convert_short_rtz(ulong);
    532 short __ovld __cnfn convert_short_sat_rtz(ulong);
    533 short __ovld __cnfn convert_short_rtp(ulong);
    534 short __ovld __cnfn convert_short_sat_rtp(ulong);
    535 short __ovld __cnfn convert_short_rtn(ulong);
    536 short __ovld __cnfn convert_short_sat_rtn(ulong);
    537 short __ovld __cnfn convert_short(ulong);
    538 short __ovld __cnfn convert_short_sat(ulong);
    539 short __ovld __cnfn convert_short_rte(float);
    540 short __ovld __cnfn convert_short_sat_rte(float);
    541 short __ovld __cnfn convert_short_rtz(float);
    542 short __ovld __cnfn convert_short_sat_rtz(float);
    543 short __ovld __cnfn convert_short_rtp(float);
    544 short __ovld __cnfn convert_short_sat_rtp(float);
    545 short __ovld __cnfn convert_short_rtn(float);
    546 short __ovld __cnfn convert_short_sat_rtn(float);
    547 short __ovld __cnfn convert_short(float);
    548 short __ovld __cnfn convert_short_sat(float);
    549 ushort __ovld __cnfn convert_ushort_rte(char);
    550 ushort __ovld __cnfn convert_ushort_sat_rte(char);
    551 ushort __ovld __cnfn convert_ushort_rtz(char);
    552 ushort __ovld __cnfn convert_ushort_sat_rtz(char);
    553 ushort __ovld __cnfn convert_ushort_rtp(char);
    554 ushort __ovld __cnfn convert_ushort_sat_rtp(char);
    555 ushort __ovld __cnfn convert_ushort_rtn(char);
    556 ushort __ovld __cnfn convert_ushort_sat_rtn(char);
    557 ushort __ovld __cnfn convert_ushort(char);
    558 ushort __ovld __cnfn convert_ushort_sat(char);
    559 ushort __ovld __cnfn convert_ushort_rte(uchar);
    560 ushort __ovld __cnfn convert_ushort_sat_rte(uchar);
    561 ushort __ovld __cnfn convert_ushort_rtz(uchar);
    562 ushort __ovld __cnfn convert_ushort_sat_rtz(uchar);
    563 ushort __ovld __cnfn convert_ushort_rtp(uchar);
    564 ushort __ovld __cnfn convert_ushort_sat_rtp(uchar);
    565 ushort __ovld __cnfn convert_ushort_rtn(uchar);
    566 ushort __ovld __cnfn convert_ushort_sat_rtn(uchar);
    567 ushort __ovld __cnfn convert_ushort(uchar);
    568 ushort __ovld __cnfn convert_ushort_sat(uchar);
    569 ushort __ovld __cnfn convert_ushort_rte(short);
    570 ushort __ovld __cnfn convert_ushort_sat_rte(short);
    571 ushort __ovld __cnfn convert_ushort_rtz(short);
    572 ushort __ovld __cnfn convert_ushort_sat_rtz(short);
    573 ushort __ovld __cnfn convert_ushort_rtp(short);
    574 ushort __ovld __cnfn convert_ushort_sat_rtp(short);
    575 ushort __ovld __cnfn convert_ushort_rtn(short);
    576 ushort __ovld __cnfn convert_ushort_sat_rtn(short);
    577 ushort __ovld __cnfn convert_ushort(short);
    578 ushort __ovld __cnfn convert_ushort_sat(short);
    579 ushort __ovld __cnfn convert_ushort_rte(ushort);
    580 ushort __ovld __cnfn convert_ushort_sat_rte(ushort);
    581 ushort __ovld __cnfn convert_ushort_rtz(ushort);
    582 ushort __ovld __cnfn convert_ushort_sat_rtz(ushort);
    583 ushort __ovld __cnfn convert_ushort_rtp(ushort);
    584 ushort __ovld __cnfn convert_ushort_sat_rtp(ushort);
    585 ushort __ovld __cnfn convert_ushort_rtn(ushort);
    586 ushort __ovld __cnfn convert_ushort_sat_rtn(ushort);
    587 ushort __ovld __cnfn convert_ushort(ushort);
    588 ushort __ovld __cnfn convert_ushort_sat(ushort);
    589 ushort __ovld __cnfn convert_ushort_rte(int);
    590 ushort __ovld __cnfn convert_ushort_sat_rte(int);
    591 ushort __ovld __cnfn convert_ushort_rtz(int);
    592 ushort __ovld __cnfn convert_ushort_sat_rtz(int);
    593 ushort __ovld __cnfn convert_ushort_rtp(int);
    594 ushort __ovld __cnfn convert_ushort_sat_rtp(int);
    595 ushort __ovld __cnfn convert_ushort_rtn(int);
    596 ushort __ovld __cnfn convert_ushort_sat_rtn(int);
    597 ushort __ovld __cnfn convert_ushort(int);
    598 ushort __ovld __cnfn convert_ushort_sat(int);
    599 ushort __ovld __cnfn convert_ushort_rte(uint);
    600 ushort __ovld __cnfn convert_ushort_sat_rte(uint);
    601 ushort __ovld __cnfn convert_ushort_rtz(uint);
    602 ushort __ovld __cnfn convert_ushort_sat_rtz(uint);
    603 ushort __ovld __cnfn convert_ushort_rtp(uint);
    604 ushort __ovld __cnfn convert_ushort_sat_rtp(uint);
    605 ushort __ovld __cnfn convert_ushort_rtn(uint);
    606 ushort __ovld __cnfn convert_ushort_sat_rtn(uint);
    607 ushort __ovld __cnfn convert_ushort(uint);
    608 ushort __ovld __cnfn convert_ushort_sat(uint);
    609 ushort __ovld __cnfn convert_ushort_rte(long);
    610 ushort __ovld __cnfn convert_ushort_sat_rte(long);
    611 ushort __ovld __cnfn convert_ushort_rtz(long);
    612 ushort __ovld __cnfn convert_ushort_sat_rtz(long);
    613 ushort __ovld __cnfn convert_ushort_rtp(long);
    614 ushort __ovld __cnfn convert_ushort_sat_rtp(long);
    615 ushort __ovld __cnfn convert_ushort_rtn(long);
    616 ushort __ovld __cnfn convert_ushort_sat_rtn(long);
    617 ushort __ovld __cnfn convert_ushort(long);
    618 ushort __ovld __cnfn convert_ushort_sat(long);
    619 ushort __ovld __cnfn convert_ushort_rte(ulong);
    620 ushort __ovld __cnfn convert_ushort_sat_rte(ulong);
    621 ushort __ovld __cnfn convert_ushort_rtz(ulong);
    622 ushort __ovld __cnfn convert_ushort_sat_rtz(ulong);
    623 ushort __ovld __cnfn convert_ushort_rtp(ulong);
    624 ushort __ovld __cnfn convert_ushort_sat_rtp(ulong);
    625 ushort __ovld __cnfn convert_ushort_rtn(ulong);
    626 ushort __ovld __cnfn convert_ushort_sat_rtn(ulong);
    627 ushort __ovld __cnfn convert_ushort(ulong);
    628 ushort __ovld __cnfn convert_ushort_sat(ulong);
    629 ushort __ovld __cnfn convert_ushort_rte(float);
    630 ushort __ovld __cnfn convert_ushort_sat_rte(float);
    631 ushort __ovld __cnfn convert_ushort_rtz(float);
    632 ushort __ovld __cnfn convert_ushort_sat_rtz(float);
    633 ushort __ovld __cnfn convert_ushort_rtp(float);
    634 ushort __ovld __cnfn convert_ushort_sat_rtp(float);
    635 ushort __ovld __cnfn convert_ushort_rtn(float);
    636 ushort __ovld __cnfn convert_ushort_sat_rtn(float);
    637 ushort __ovld __cnfn convert_ushort(float);
    638 ushort __ovld __cnfn convert_ushort_sat(float);
    639 int __ovld __cnfn convert_int_rte(char);
    640 int __ovld __cnfn convert_int_sat_rte(char);
    641 int __ovld __cnfn convert_int_rtz(char);
    642 int __ovld __cnfn convert_int_sat_rtz(char);
    643 int __ovld __cnfn convert_int_rtp(char);
    644 int __ovld __cnfn convert_int_sat_rtp(char);
    645 int __ovld __cnfn convert_int_rtn(char);
    646 int __ovld __cnfn convert_int_sat_rtn(char);
    647 int __ovld __cnfn convert_int(char);
    648 int __ovld __cnfn convert_int_sat(char);
    649 int __ovld __cnfn convert_int_rte(uchar);
    650 int __ovld __cnfn convert_int_sat_rte(uchar);
    651 int __ovld __cnfn convert_int_rtz(uchar);
    652 int __ovld __cnfn convert_int_sat_rtz(uchar);
    653 int __ovld __cnfn convert_int_rtp(uchar);
    654 int __ovld __cnfn convert_int_sat_rtp(uchar);
    655 int __ovld __cnfn convert_int_rtn(uchar);
    656 int __ovld __cnfn convert_int_sat_rtn(uchar);
    657 int __ovld __cnfn convert_int(uchar);
    658 int __ovld __cnfn convert_int_sat(uchar);
    659 int __ovld __cnfn convert_int_rte(short);
    660 int __ovld __cnfn convert_int_sat_rte(short);
    661 int __ovld __cnfn convert_int_rtz(short);
    662 int __ovld __cnfn convert_int_sat_rtz(short);
    663 int __ovld __cnfn convert_int_rtp(short);
    664 int __ovld __cnfn convert_int_sat_rtp(short);
    665 int __ovld __cnfn convert_int_rtn(short);
    666 int __ovld __cnfn convert_int_sat_rtn(short);
    667 int __ovld __cnfn convert_int(short);
    668 int __ovld __cnfn convert_int_sat(short);
    669 int __ovld __cnfn convert_int_rte(ushort);
    670 int __ovld __cnfn convert_int_sat_rte(ushort);
    671 int __ovld __cnfn convert_int_rtz(ushort);
    672 int __ovld __cnfn convert_int_sat_rtz(ushort);
    673 int __ovld __cnfn convert_int_rtp(ushort);
    674 int __ovld __cnfn convert_int_sat_rtp(ushort);
    675 int __ovld __cnfn convert_int_rtn(ushort);
    676 int __ovld __cnfn convert_int_sat_rtn(ushort);
    677 int __ovld __cnfn convert_int(ushort);
    678 int __ovld __cnfn convert_int_sat(ushort);
    679 int __ovld __cnfn convert_int_rte(int);
    680 int __ovld __cnfn convert_int_sat_rte(int);
    681 int __ovld __cnfn convert_int_rtz(int);
    682 int __ovld __cnfn convert_int_sat_rtz(int);
    683 int __ovld __cnfn convert_int_rtp(int);
    684 int __ovld __cnfn convert_int_sat_rtp(int);
    685 int __ovld __cnfn convert_int_rtn(int);
    686 int __ovld __cnfn convert_int_sat_rtn(int);
    687 int __ovld __cnfn convert_int(int);
    688 int __ovld __cnfn convert_int_sat(int);
    689 int __ovld __cnfn convert_int_rte(uint);
    690 int __ovld __cnfn convert_int_sat_rte(uint);
    691 int __ovld __cnfn convert_int_rtz(uint);
    692 int __ovld __cnfn convert_int_sat_rtz(uint);
    693 int __ovld __cnfn convert_int_rtp(uint);
    694 int __ovld __cnfn convert_int_sat_rtp(uint);
    695 int __ovld __cnfn convert_int_rtn(uint);
    696 int __ovld __cnfn convert_int_sat_rtn(uint);
    697 int __ovld __cnfn convert_int(uint);
    698 int __ovld __cnfn convert_int_sat(uint);
    699 int __ovld __cnfn convert_int_rte(long);
    700 int __ovld __cnfn convert_int_sat_rte(long);
    701 int __ovld __cnfn convert_int_rtz(long);
    702 int __ovld __cnfn convert_int_sat_rtz(long);
    703 int __ovld __cnfn convert_int_rtp(long);
    704 int __ovld __cnfn convert_int_sat_rtp(long);
    705 int __ovld __cnfn convert_int_rtn(long);
    706 int __ovld __cnfn convert_int_sat_rtn(long);
    707 int __ovld __cnfn convert_int(long);
    708 int __ovld __cnfn convert_int_sat(long);
    709 int __ovld __cnfn convert_int_rte(ulong);
    710 int __ovld __cnfn convert_int_sat_rte(ulong);
    711 int __ovld __cnfn convert_int_rtz(ulong);
    712 int __ovld __cnfn convert_int_sat_rtz(ulong);
    713 int __ovld __cnfn convert_int_rtp(ulong);
    714 int __ovld __cnfn convert_int_sat_rtp(ulong);
    715 int __ovld __cnfn convert_int_rtn(ulong);
    716 int __ovld __cnfn convert_int_sat_rtn(ulong);
    717 int __ovld __cnfn convert_int(ulong);
    718 int __ovld __cnfn convert_int_sat(ulong);
    719 int __ovld __cnfn convert_int_rte(float);
    720 int __ovld __cnfn convert_int_sat_rte(float);
    721 int __ovld __cnfn convert_int_rtz(float);
    722 int __ovld __cnfn convert_int_sat_rtz(float);
    723 int __ovld __cnfn convert_int_rtp(float);
    724 int __ovld __cnfn convert_int_sat_rtp(float);
    725 int __ovld __cnfn convert_int_rtn(float);
    726 int __ovld __cnfn convert_int_sat_rtn(float);
    727 int __ovld __cnfn convert_int(float);
    728 int __ovld __cnfn convert_int_sat(float);
    729 uint __ovld __cnfn convert_uint_rte(char);
    730 uint __ovld __cnfn convert_uint_sat_rte(char);
    731 uint __ovld __cnfn convert_uint_rtz(char);
    732 uint __ovld __cnfn convert_uint_sat_rtz(char);
    733 uint __ovld __cnfn convert_uint_rtp(char);
    734 uint __ovld __cnfn convert_uint_sat_rtp(char);
    735 uint __ovld __cnfn convert_uint_rtn(char);
    736 uint __ovld __cnfn convert_uint_sat_rtn(char);
    737 uint __ovld __cnfn convert_uint(char);
    738 uint __ovld __cnfn convert_uint_sat(char);
    739 uint __ovld __cnfn convert_uint_rte(uchar);
    740 uint __ovld __cnfn convert_uint_sat_rte(uchar);
    741 uint __ovld __cnfn convert_uint_rtz(uchar);
    742 uint __ovld __cnfn convert_uint_sat_rtz(uchar);
    743 uint __ovld __cnfn convert_uint_rtp(uchar);
    744 uint __ovld __cnfn convert_uint_sat_rtp(uchar);
    745 uint __ovld __cnfn convert_uint_rtn(uchar);
    746 uint __ovld __cnfn convert_uint_sat_rtn(uchar);
    747 uint __ovld __cnfn convert_uint(uchar);
    748 uint __ovld __cnfn convert_uint_sat(uchar);
    749 uint __ovld __cnfn convert_uint_rte(short);
    750 uint __ovld __cnfn convert_uint_sat_rte(short);
    751 uint __ovld __cnfn convert_uint_rtz(short);
    752 uint __ovld __cnfn convert_uint_sat_rtz(short);
    753 uint __ovld __cnfn convert_uint_rtp(short);
    754 uint __ovld __cnfn convert_uint_sat_rtp(short);
    755 uint __ovld __cnfn convert_uint_rtn(short);
    756 uint __ovld __cnfn convert_uint_sat_rtn(short);
    757 uint __ovld __cnfn convert_uint(short);
    758 uint __ovld __cnfn convert_uint_sat(short);
    759 uint __ovld __cnfn convert_uint_rte(ushort);
    760 uint __ovld __cnfn convert_uint_sat_rte(ushort);
    761 uint __ovld __cnfn convert_uint_rtz(ushort);
    762 uint __ovld __cnfn convert_uint_sat_rtz(ushort);
    763 uint __ovld __cnfn convert_uint_rtp(ushort);
    764 uint __ovld __cnfn convert_uint_sat_rtp(ushort);
    765 uint __ovld __cnfn convert_uint_rtn(ushort);
    766 uint __ovld __cnfn convert_uint_sat_rtn(ushort);
    767 uint __ovld __cnfn convert_uint(ushort);
    768 uint __ovld __cnfn convert_uint_sat(ushort);
    769 uint __ovld __cnfn convert_uint_rte(int);
    770 uint __ovld __cnfn convert_uint_sat_rte(int);
    771 uint __ovld __cnfn convert_uint_rtz(int);
    772 uint __ovld __cnfn convert_uint_sat_rtz(int);
    773 uint __ovld __cnfn convert_uint_rtp(int);
    774 uint __ovld __cnfn convert_uint_sat_rtp(int);
    775 uint __ovld __cnfn convert_uint_rtn(int);
    776 uint __ovld __cnfn convert_uint_sat_rtn(int);
    777 uint __ovld __cnfn convert_uint(int);
    778 uint __ovld __cnfn convert_uint_sat(int);
    779 uint __ovld __cnfn convert_uint_rte(uint);
    780 uint __ovld __cnfn convert_uint_sat_rte(uint);
    781 uint __ovld __cnfn convert_uint_rtz(uint);
    782 uint __ovld __cnfn convert_uint_sat_rtz(uint);
    783 uint __ovld __cnfn convert_uint_rtp(uint);
    784 uint __ovld __cnfn convert_uint_sat_rtp(uint);
    785 uint __ovld __cnfn convert_uint_rtn(uint);
    786 uint __ovld __cnfn convert_uint_sat_rtn(uint);
    787 uint __ovld __cnfn convert_uint(uint);
    788 uint __ovld __cnfn convert_uint_sat(uint);
    789 uint __ovld __cnfn convert_uint_rte(long);
    790 uint __ovld __cnfn convert_uint_sat_rte(long);
    791 uint __ovld __cnfn convert_uint_rtz(long);
    792 uint __ovld __cnfn convert_uint_sat_rtz(long);
    793 uint __ovld __cnfn convert_uint_rtp(long);
    794 uint __ovld __cnfn convert_uint_sat_rtp(long);
    795 uint __ovld __cnfn convert_uint_rtn(long);
    796 uint __ovld __cnfn convert_uint_sat_rtn(long);
    797 uint __ovld __cnfn convert_uint(long);
    798 uint __ovld __cnfn convert_uint_sat(long);
    799 uint __ovld __cnfn convert_uint_rte(ulong);
    800 uint __ovld __cnfn convert_uint_sat_rte(ulong);
    801 uint __ovld __cnfn convert_uint_rtz(ulong);
    802 uint __ovld __cnfn convert_uint_sat_rtz(ulong);
    803 uint __ovld __cnfn convert_uint_rtp(ulong);
    804 uint __ovld __cnfn convert_uint_sat_rtp(ulong);
    805 uint __ovld __cnfn convert_uint_rtn(ulong);
    806 uint __ovld __cnfn convert_uint_sat_rtn(ulong);
    807 uint __ovld __cnfn convert_uint(ulong);
    808 uint __ovld __cnfn convert_uint_sat(ulong);
    809 uint __ovld __cnfn convert_uint_rte(float);
    810 uint __ovld __cnfn convert_uint_sat_rte(float);
    811 uint __ovld __cnfn convert_uint_rtz(float);
    812 uint __ovld __cnfn convert_uint_sat_rtz(float);
    813 uint __ovld __cnfn convert_uint_rtp(float);
    814 uint __ovld __cnfn convert_uint_sat_rtp(float);
    815 uint __ovld __cnfn convert_uint_rtn(float);
    816 uint __ovld __cnfn convert_uint_sat_rtn(float);
    817 uint __ovld __cnfn convert_uint(float);
    818 uint __ovld __cnfn convert_uint_sat(float);
    819 long __ovld __cnfn convert_long_rte(char);
    820 long __ovld __cnfn convert_long_sat_rte(char);
    821 long __ovld __cnfn convert_long_rtz(char);
    822 long __ovld __cnfn convert_long_sat_rtz(char);
    823 long __ovld __cnfn convert_long_rtp(char);
    824 long __ovld __cnfn convert_long_sat_rtp(char);
    825 long __ovld __cnfn convert_long_rtn(char);
    826 long __ovld __cnfn convert_long_sat_rtn(char);
    827 long __ovld __cnfn convert_long(char);
    828 long __ovld __cnfn convert_long_sat(char);
    829 long __ovld __cnfn convert_long_rte(uchar);
    830 long __ovld __cnfn convert_long_sat_rte(uchar);
    831 long __ovld __cnfn convert_long_rtz(uchar);
    832 long __ovld __cnfn convert_long_sat_rtz(uchar);
    833 long __ovld __cnfn convert_long_rtp(uchar);
    834 long __ovld __cnfn convert_long_sat_rtp(uchar);
    835 long __ovld __cnfn convert_long_rtn(uchar);
    836 long __ovld __cnfn convert_long_sat_rtn(uchar);
    837 long __ovld __cnfn convert_long(uchar);
    838 long __ovld __cnfn convert_long_sat(uchar);
    839 long __ovld __cnfn convert_long_rte(short);
    840 long __ovld __cnfn convert_long_sat_rte(short);
    841 long __ovld __cnfn convert_long_rtz(short);
    842 long __ovld __cnfn convert_long_sat_rtz(short);
    843 long __ovld __cnfn convert_long_rtp(short);
    844 long __ovld __cnfn convert_long_sat_rtp(short);
    845 long __ovld __cnfn convert_long_rtn(short);
    846 long __ovld __cnfn convert_long_sat_rtn(short);
    847 long __ovld __cnfn convert_long(short);
    848 long __ovld __cnfn convert_long_sat(short);
    849 long __ovld __cnfn convert_long_rte(ushort);
    850 long __ovld __cnfn convert_long_sat_rte(ushort);
    851 long __ovld __cnfn convert_long_rtz(ushort);
    852 long __ovld __cnfn convert_long_sat_rtz(ushort);
    853 long __ovld __cnfn convert_long_rtp(ushort);
    854 long __ovld __cnfn convert_long_sat_rtp(ushort);
    855 long __ovld __cnfn convert_long_rtn(ushort);
    856 long __ovld __cnfn convert_long_sat_rtn(ushort);
    857 long __ovld __cnfn convert_long(ushort);
    858 long __ovld __cnfn convert_long_sat(ushort);
    859 long __ovld __cnfn convert_long_rte(int);
    860 long __ovld __cnfn convert_long_sat_rte(int);
    861 long __ovld __cnfn convert_long_rtz(int);
    862 long __ovld __cnfn convert_long_sat_rtz(int);
    863 long __ovld __cnfn convert_long_rtp(int);
    864 long __ovld __cnfn convert_long_sat_rtp(int);
    865 long __ovld __cnfn convert_long_rtn(int);
    866 long __ovld __cnfn convert_long_sat_rtn(int);
    867 long __ovld __cnfn convert_long(int);
    868 long __ovld __cnfn convert_long_sat(int);
    869 long __ovld __cnfn convert_long_rte(uint);
    870 long __ovld __cnfn convert_long_sat_rte(uint);
    871 long __ovld __cnfn convert_long_rtz(uint);
    872 long __ovld __cnfn convert_long_sat_rtz(uint);
    873 long __ovld __cnfn convert_long_rtp(uint);
    874 long __ovld __cnfn convert_long_sat_rtp(uint);
    875 long __ovld __cnfn convert_long_rtn(uint);
    876 long __ovld __cnfn convert_long_sat_rtn(uint);
    877 long __ovld __cnfn convert_long(uint);
    878 long __ovld __cnfn convert_long_sat(uint);
    879 long __ovld __cnfn convert_long_rte(long);
    880 long __ovld __cnfn convert_long_sat_rte(long);
    881 long __ovld __cnfn convert_long_rtz(long);
    882 long __ovld __cnfn convert_long_sat_rtz(long);
    883 long __ovld __cnfn convert_long_rtp(long);
    884 long __ovld __cnfn convert_long_sat_rtp(long);
    885 long __ovld __cnfn convert_long_rtn(long);
    886 long __ovld __cnfn convert_long_sat_rtn(long);
    887 long __ovld __cnfn convert_long(long);
    888 long __ovld __cnfn convert_long_sat(long);
    889 long __ovld __cnfn convert_long_rte(ulong);
    890 long __ovld __cnfn convert_long_sat_rte(ulong);
    891 long __ovld __cnfn convert_long_rtz(ulong);
    892 long __ovld __cnfn convert_long_sat_rtz(ulong);
    893 long __ovld __cnfn convert_long_rtp(ulong);
    894 long __ovld __cnfn convert_long_sat_rtp(ulong);
    895 long __ovld __cnfn convert_long_rtn(ulong);
    896 long __ovld __cnfn convert_long_sat_rtn(ulong);
    897 long __ovld __cnfn convert_long(ulong);
    898 long __ovld __cnfn convert_long_sat(ulong);
    899 long __ovld __cnfn convert_long_rte(float);
    900 long __ovld __cnfn convert_long_sat_rte(float);
    901 long __ovld __cnfn convert_long_rtz(float);
    902 long __ovld __cnfn convert_long_sat_rtz(float);
    903 long __ovld __cnfn convert_long_rtp(float);
    904 long __ovld __cnfn convert_long_sat_rtp(float);
    905 long __ovld __cnfn convert_long_rtn(float);
    906 long __ovld __cnfn convert_long_sat_rtn(float);
    907 long __ovld __cnfn convert_long(float);
    908 long __ovld __cnfn convert_long_sat(float);
    909 ulong __ovld __cnfn convert_ulong_rte(char);
    910 ulong __ovld __cnfn convert_ulong_sat_rte(char);
    911 ulong __ovld __cnfn convert_ulong_rtz(char);
    912 ulong __ovld __cnfn convert_ulong_sat_rtz(char);
    913 ulong __ovld __cnfn convert_ulong_rtp(char);
    914 ulong __ovld __cnfn convert_ulong_sat_rtp(char);
    915 ulong __ovld __cnfn convert_ulong_rtn(char);
    916 ulong __ovld __cnfn convert_ulong_sat_rtn(char);
    917 ulong __ovld __cnfn convert_ulong(char);
    918 ulong __ovld __cnfn convert_ulong_sat(char);
    919 ulong __ovld __cnfn convert_ulong_rte(uchar);
    920 ulong __ovld __cnfn convert_ulong_sat_rte(uchar);
    921 ulong __ovld __cnfn convert_ulong_rtz(uchar);
    922 ulong __ovld __cnfn convert_ulong_sat_rtz(uchar);
    923 ulong __ovld __cnfn convert_ulong_rtp(uchar);
    924 ulong __ovld __cnfn convert_ulong_sat_rtp(uchar);
    925 ulong __ovld __cnfn convert_ulong_rtn(uchar);
    926 ulong __ovld __cnfn convert_ulong_sat_rtn(uchar);
    927 ulong __ovld __cnfn convert_ulong(uchar);
    928 ulong __ovld __cnfn convert_ulong_sat(uchar);
    929 ulong __ovld __cnfn convert_ulong_rte(short);
    930 ulong __ovld __cnfn convert_ulong_sat_rte(short);
    931 ulong __ovld __cnfn convert_ulong_rtz(short);
    932 ulong __ovld __cnfn convert_ulong_sat_rtz(short);
    933 ulong __ovld __cnfn convert_ulong_rtp(short);
    934 ulong __ovld __cnfn convert_ulong_sat_rtp(short);
    935 ulong __ovld __cnfn convert_ulong_rtn(short);
    936 ulong __ovld __cnfn convert_ulong_sat_rtn(short);
    937 ulong __ovld __cnfn convert_ulong(short);
    938 ulong __ovld __cnfn convert_ulong_sat(short);
    939 ulong __ovld __cnfn convert_ulong_rte(ushort);
    940 ulong __ovld __cnfn convert_ulong_sat_rte(ushort);
    941 ulong __ovld __cnfn convert_ulong_rtz(ushort);
    942 ulong __ovld __cnfn convert_ulong_sat_rtz(ushort);
    943 ulong __ovld __cnfn convert_ulong_rtp(ushort);
    944 ulong __ovld __cnfn convert_ulong_sat_rtp(ushort);
    945 ulong __ovld __cnfn convert_ulong_rtn(ushort);
    946 ulong __ovld __cnfn convert_ulong_sat_rtn(ushort);
    947 ulong __ovld __cnfn convert_ulong(ushort);
    948 ulong __ovld __cnfn convert_ulong_sat(ushort);
    949 ulong __ovld __cnfn convert_ulong_rte(int);
    950 ulong __ovld __cnfn convert_ulong_sat_rte(int);
    951 ulong __ovld __cnfn convert_ulong_rtz(int);
    952 ulong __ovld __cnfn convert_ulong_sat_rtz(int);
    953 ulong __ovld __cnfn convert_ulong_rtp(int);
    954 ulong __ovld __cnfn convert_ulong_sat_rtp(int);
    955 ulong __ovld __cnfn convert_ulong_rtn(int);
    956 ulong __ovld __cnfn convert_ulong_sat_rtn(int);
    957 ulong __ovld __cnfn convert_ulong(int);
    958 ulong __ovld __cnfn convert_ulong_sat(int);
    959 ulong __ovld __cnfn convert_ulong_rte(uint);
    960 ulong __ovld __cnfn convert_ulong_sat_rte(uint);
    961 ulong __ovld __cnfn convert_ulong_rtz(uint);
    962 ulong __ovld __cnfn convert_ulong_sat_rtz(uint);
    963 ulong __ovld __cnfn convert_ulong_rtp(uint);
    964 ulong __ovld __cnfn convert_ulong_sat_rtp(uint);
    965 ulong __ovld __cnfn convert_ulong_rtn(uint);
    966 ulong __ovld __cnfn convert_ulong_sat_rtn(uint);
    967 ulong __ovld __cnfn convert_ulong(uint);
    968 ulong __ovld __cnfn convert_ulong_sat(uint);
    969 ulong __ovld __cnfn convert_ulong_rte(long);
    970 ulong __ovld __cnfn convert_ulong_sat_rte(long);
    971 ulong __ovld __cnfn convert_ulong_rtz(long);
    972 ulong __ovld __cnfn convert_ulong_sat_rtz(long);
    973 ulong __ovld __cnfn convert_ulong_rtp(long);
    974 ulong __ovld __cnfn convert_ulong_sat_rtp(long);
    975 ulong __ovld __cnfn convert_ulong_rtn(long);
    976 ulong __ovld __cnfn convert_ulong_sat_rtn(long);
    977 ulong __ovld __cnfn convert_ulong(long);
    978 ulong __ovld __cnfn convert_ulong_sat(long);
    979 ulong __ovld __cnfn convert_ulong_rte(ulong);
    980 ulong __ovld __cnfn convert_ulong_sat_rte(ulong);
    981 ulong __ovld __cnfn convert_ulong_rtz(ulong);
    982 ulong __ovld __cnfn convert_ulong_sat_rtz(ulong);
    983 ulong __ovld __cnfn convert_ulong_rtp(ulong);
    984 ulong __ovld __cnfn convert_ulong_sat_rtp(ulong);
    985 ulong __ovld __cnfn convert_ulong_rtn(ulong);
    986 ulong __ovld __cnfn convert_ulong_sat_rtn(ulong);
    987 ulong __ovld __cnfn convert_ulong(ulong);
    988 ulong __ovld __cnfn convert_ulong_sat(ulong);
    989 ulong __ovld __cnfn convert_ulong_rte(float);
    990 ulong __ovld __cnfn convert_ulong_sat_rte(float);
    991 ulong __ovld __cnfn convert_ulong_rtz(float);
    992 ulong __ovld __cnfn convert_ulong_sat_rtz(float);
    993 ulong __ovld __cnfn convert_ulong_rtp(float);
    994 ulong __ovld __cnfn convert_ulong_sat_rtp(float);
    995 ulong __ovld __cnfn convert_ulong_rtn(float);
    996 ulong __ovld __cnfn convert_ulong_sat_rtn(float);
    997 ulong __ovld __cnfn convert_ulong(float);
    998 ulong __ovld __cnfn convert_ulong_sat(float);
    999 float __ovld __cnfn convert_float_rte(char);
   1000 float __ovld __cnfn convert_float_rtz(char);
   1001 float __ovld __cnfn convert_float_rtp(char);
   1002 float __ovld __cnfn convert_float_rtn(char);
   1003 float __ovld __cnfn convert_float(char);
   1004 float __ovld __cnfn convert_float_rte(uchar);
   1005 float __ovld __cnfn convert_float_rtz(uchar);
   1006 float __ovld __cnfn convert_float_rtp(uchar);
   1007 float __ovld __cnfn convert_float_rtn(uchar);
   1008 float __ovld __cnfn convert_float(uchar);
   1009 float __ovld __cnfn convert_float_rte(short);
   1010 float __ovld __cnfn convert_float_rtz(short);
   1011 float __ovld __cnfn convert_float_rtp(short);
   1012 float __ovld __cnfn convert_float_rtn(short);
   1013 float __ovld __cnfn convert_float(short);
   1014 float __ovld __cnfn convert_float_rte(ushort);
   1015 float __ovld __cnfn convert_float_rtz(ushort);
   1016 float __ovld __cnfn convert_float_rtp(ushort);
   1017 float __ovld __cnfn convert_float_rtn(ushort);
   1018 float __ovld __cnfn convert_float(ushort);
   1019 float __ovld __cnfn convert_float_rte(int);
   1020 float __ovld __cnfn convert_float_rtz(int);
   1021 float __ovld __cnfn convert_float_rtp(int);
   1022 float __ovld __cnfn convert_float_rtn(int);
   1023 float __ovld __cnfn convert_float(int);
   1024 float __ovld __cnfn convert_float_rte(uint);
   1025 float __ovld __cnfn convert_float_rtz(uint);
   1026 float __ovld __cnfn convert_float_rtp(uint);
   1027 float __ovld __cnfn convert_float_rtn(uint);
   1028 float __ovld __cnfn convert_float(uint);
   1029 float __ovld __cnfn convert_float_rte(long);
   1030 float __ovld __cnfn convert_float_rtz(long);
   1031 float __ovld __cnfn convert_float_rtp(long);
   1032 float __ovld __cnfn convert_float_rtn(long);
   1033 float __ovld __cnfn convert_float(long);
   1034 float __ovld __cnfn convert_float_rte(ulong);
   1035 float __ovld __cnfn convert_float_rtz(ulong);
   1036 float __ovld __cnfn convert_float_rtp(ulong);
   1037 float __ovld __cnfn convert_float_rtn(ulong);
   1038 float __ovld __cnfn convert_float(ulong);
   1039 float __ovld __cnfn convert_float_rte(float);
   1040 float __ovld __cnfn convert_float_rtz(float);
   1041 float __ovld __cnfn convert_float_rtp(float);
   1042 float __ovld __cnfn convert_float_rtn(float);
   1043 float __ovld __cnfn convert_float(float);
   1044 char2 __ovld __cnfn convert_char2_rte(char2);
   1045 char2 __ovld __cnfn convert_char2_sat_rte(char2);
   1046 char2 __ovld __cnfn convert_char2_rtz(char2);
   1047 char2 __ovld __cnfn convert_char2_sat_rtz(char2);
   1048 char2 __ovld __cnfn convert_char2_rtp(char2);
   1049 char2 __ovld __cnfn convert_char2_sat_rtp(char2);
   1050 char2 __ovld __cnfn convert_char2_rtn(char2);
   1051 char2 __ovld __cnfn convert_char2_sat_rtn(char2);
   1052 char2 __ovld __cnfn convert_char2(char2);
   1053 char2 __ovld __cnfn convert_char2_sat(char2);
   1054 char2 __ovld __cnfn convert_char2_rte(uchar2);
   1055 char2 __ovld __cnfn convert_char2_sat_rte(uchar2);
   1056 char2 __ovld __cnfn convert_char2_rtz(uchar2);
   1057 char2 __ovld __cnfn convert_char2_sat_rtz(uchar2);
   1058 char2 __ovld __cnfn convert_char2_rtp(uchar2);
   1059 char2 __ovld __cnfn convert_char2_sat_rtp(uchar2);
   1060 char2 __ovld __cnfn convert_char2_rtn(uchar2);
   1061 char2 __ovld __cnfn convert_char2_sat_rtn(uchar2);
   1062 char2 __ovld __cnfn convert_char2(uchar2);
   1063 char2 __ovld __cnfn convert_char2_sat(uchar2);
   1064 char2 __ovld __cnfn convert_char2_rte(short2);
   1065 char2 __ovld __cnfn convert_char2_sat_rte(short2);
   1066 char2 __ovld __cnfn convert_char2_rtz(short2);
   1067 char2 __ovld __cnfn convert_char2_sat_rtz(short2);
   1068 char2 __ovld __cnfn convert_char2_rtp(short2);
   1069 char2 __ovld __cnfn convert_char2_sat_rtp(short2);
   1070 char2 __ovld __cnfn convert_char2_rtn(short2);
   1071 char2 __ovld __cnfn convert_char2_sat_rtn(short2);
   1072 char2 __ovld __cnfn convert_char2(short2);
   1073 char2 __ovld __cnfn convert_char2_sat(short2);
   1074 char2 __ovld __cnfn convert_char2_rte(ushort2);
   1075 char2 __ovld __cnfn convert_char2_sat_rte(ushort2);
   1076 char2 __ovld __cnfn convert_char2_rtz(ushort2);
   1077 char2 __ovld __cnfn convert_char2_sat_rtz(ushort2);
   1078 char2 __ovld __cnfn convert_char2_rtp(ushort2);
   1079 char2 __ovld __cnfn convert_char2_sat_rtp(ushort2);
   1080 char2 __ovld __cnfn convert_char2_rtn(ushort2);
   1081 char2 __ovld __cnfn convert_char2_sat_rtn(ushort2);
   1082 char2 __ovld __cnfn convert_char2(ushort2);
   1083 char2 __ovld __cnfn convert_char2_sat(ushort2);
   1084 char2 __ovld __cnfn convert_char2_rte(int2);
   1085 char2 __ovld __cnfn convert_char2_sat_rte(int2);
   1086 char2 __ovld __cnfn convert_char2_rtz(int2);
   1087 char2 __ovld __cnfn convert_char2_sat_rtz(int2);
   1088 char2 __ovld __cnfn convert_char2_rtp(int2);
   1089 char2 __ovld __cnfn convert_char2_sat_rtp(int2);
   1090 char2 __ovld __cnfn convert_char2_rtn(int2);
   1091 char2 __ovld __cnfn convert_char2_sat_rtn(int2);
   1092 char2 __ovld __cnfn convert_char2(int2);
   1093 char2 __ovld __cnfn convert_char2_sat(int2);
   1094 char2 __ovld __cnfn convert_char2_rte(uint2);
   1095 char2 __ovld __cnfn convert_char2_sat_rte(uint2);
   1096 char2 __ovld __cnfn convert_char2_rtz(uint2);
   1097 char2 __ovld __cnfn convert_char2_sat_rtz(uint2);
   1098 char2 __ovld __cnfn convert_char2_rtp(uint2);
   1099 char2 __ovld __cnfn convert_char2_sat_rtp(uint2);
   1100 char2 __ovld __cnfn convert_char2_rtn(uint2);
   1101 char2 __ovld __cnfn convert_char2_sat_rtn(uint2);
   1102 char2 __ovld __cnfn convert_char2(uint2);
   1103 char2 __ovld __cnfn convert_char2_sat(uint2);
   1104 char2 __ovld __cnfn convert_char2_rte(long2);
   1105 char2 __ovld __cnfn convert_char2_sat_rte(long2);
   1106 char2 __ovld __cnfn convert_char2_rtz(long2);
   1107 char2 __ovld __cnfn convert_char2_sat_rtz(long2);
   1108 char2 __ovld __cnfn convert_char2_rtp(long2);
   1109 char2 __ovld __cnfn convert_char2_sat_rtp(long2);
   1110 char2 __ovld __cnfn convert_char2_rtn(long2);
   1111 char2 __ovld __cnfn convert_char2_sat_rtn(long2);
   1112 char2 __ovld __cnfn convert_char2(long2);
   1113 char2 __ovld __cnfn convert_char2_sat(long2);
   1114 char2 __ovld __cnfn convert_char2_rte(ulong2);
   1115 char2 __ovld __cnfn convert_char2_sat_rte(ulong2);
   1116 char2 __ovld __cnfn convert_char2_rtz(ulong2);
   1117 char2 __ovld __cnfn convert_char2_sat_rtz(ulong2);
   1118 char2 __ovld __cnfn convert_char2_rtp(ulong2);
   1119 char2 __ovld __cnfn convert_char2_sat_rtp(ulong2);
   1120 char2 __ovld __cnfn convert_char2_rtn(ulong2);
   1121 char2 __ovld __cnfn convert_char2_sat_rtn(ulong2);
   1122 char2 __ovld __cnfn convert_char2(ulong2);
   1123 char2 __ovld __cnfn convert_char2_sat(ulong2);
   1124 char2 __ovld __cnfn convert_char2_rte(float2);
   1125 char2 __ovld __cnfn convert_char2_sat_rte(float2);
   1126 char2 __ovld __cnfn convert_char2_rtz(float2);
   1127 char2 __ovld __cnfn convert_char2_sat_rtz(float2);
   1128 char2 __ovld __cnfn convert_char2_rtp(float2);
   1129 char2 __ovld __cnfn convert_char2_sat_rtp(float2);
   1130 char2 __ovld __cnfn convert_char2_rtn(float2);
   1131 char2 __ovld __cnfn convert_char2_sat_rtn(float2);
   1132 char2 __ovld __cnfn convert_char2(float2);
   1133 char2 __ovld __cnfn convert_char2_sat(float2);
   1134 uchar2 __ovld __cnfn convert_uchar2_rte(char2);
   1135 uchar2 __ovld __cnfn convert_uchar2_sat_rte(char2);
   1136 uchar2 __ovld __cnfn convert_uchar2_rtz(char2);
   1137 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(char2);
   1138 uchar2 __ovld __cnfn convert_uchar2_rtp(char2);
   1139 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(char2);
   1140 uchar2 __ovld __cnfn convert_uchar2_rtn(char2);
   1141 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(char2);
   1142 uchar2 __ovld __cnfn convert_uchar2(char2);
   1143 uchar2 __ovld __cnfn convert_uchar2_sat(char2);
   1144 uchar2 __ovld __cnfn convert_uchar2_rte(uchar2);
   1145 uchar2 __ovld __cnfn convert_uchar2_sat_rte(uchar2);
   1146 uchar2 __ovld __cnfn convert_uchar2_rtz(uchar2);
   1147 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(uchar2);
   1148 uchar2 __ovld __cnfn convert_uchar2_rtp(uchar2);
   1149 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(uchar2);
   1150 uchar2 __ovld __cnfn convert_uchar2_rtn(uchar2);
   1151 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(uchar2);
   1152 uchar2 __ovld __cnfn convert_uchar2(uchar2);
   1153 uchar2 __ovld __cnfn convert_uchar2_sat(uchar2);
   1154 uchar2 __ovld __cnfn convert_uchar2_rte(short2);
   1155 uchar2 __ovld __cnfn convert_uchar2_sat_rte(short2);
   1156 uchar2 __ovld __cnfn convert_uchar2_rtz(short2);
   1157 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(short2);
   1158 uchar2 __ovld __cnfn convert_uchar2_rtp(short2);
   1159 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(short2);
   1160 uchar2 __ovld __cnfn convert_uchar2_rtn(short2);
   1161 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(short2);
   1162 uchar2 __ovld __cnfn convert_uchar2(short2);
   1163 uchar2 __ovld __cnfn convert_uchar2_sat(short2);
   1164 uchar2 __ovld __cnfn convert_uchar2_rte(ushort2);
   1165 uchar2 __ovld __cnfn convert_uchar2_sat_rte(ushort2);
   1166 uchar2 __ovld __cnfn convert_uchar2_rtz(ushort2);
   1167 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(ushort2);
   1168 uchar2 __ovld __cnfn convert_uchar2_rtp(ushort2);
   1169 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(ushort2);
   1170 uchar2 __ovld __cnfn convert_uchar2_rtn(ushort2);
   1171 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(ushort2);
   1172 uchar2 __ovld __cnfn convert_uchar2(ushort2);
   1173 uchar2 __ovld __cnfn convert_uchar2_sat(ushort2);
   1174 uchar2 __ovld __cnfn convert_uchar2_rte(int2);
   1175 uchar2 __ovld __cnfn convert_uchar2_sat_rte(int2);
   1176 uchar2 __ovld __cnfn convert_uchar2_rtz(int2);
   1177 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(int2);
   1178 uchar2 __ovld __cnfn convert_uchar2_rtp(int2);
   1179 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(int2);
   1180 uchar2 __ovld __cnfn convert_uchar2_rtn(int2);
   1181 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(int2);
   1182 uchar2 __ovld __cnfn convert_uchar2(int2);
   1183 uchar2 __ovld __cnfn convert_uchar2_sat(int2);
   1184 uchar2 __ovld __cnfn convert_uchar2_rte(uint2);
   1185 uchar2 __ovld __cnfn convert_uchar2_sat_rte(uint2);
   1186 uchar2 __ovld __cnfn convert_uchar2_rtz(uint2);
   1187 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(uint2);
   1188 uchar2 __ovld __cnfn convert_uchar2_rtp(uint2);
   1189 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(uint2);
   1190 uchar2 __ovld __cnfn convert_uchar2_rtn(uint2);
   1191 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(uint2);
   1192 uchar2 __ovld __cnfn convert_uchar2(uint2);
   1193 uchar2 __ovld __cnfn convert_uchar2_sat(uint2);
   1194 uchar2 __ovld __cnfn convert_uchar2_rte(long2);
   1195 uchar2 __ovld __cnfn convert_uchar2_sat_rte(long2);
   1196 uchar2 __ovld __cnfn convert_uchar2_rtz(long2);
   1197 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(long2);
   1198 uchar2 __ovld __cnfn convert_uchar2_rtp(long2);
   1199 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(long2);
   1200 uchar2 __ovld __cnfn convert_uchar2_rtn(long2);
   1201 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(long2);
   1202 uchar2 __ovld __cnfn convert_uchar2(long2);
   1203 uchar2 __ovld __cnfn convert_uchar2_sat(long2);
   1204 uchar2 __ovld __cnfn convert_uchar2_rte(ulong2);
   1205 uchar2 __ovld __cnfn convert_uchar2_sat_rte(ulong2);
   1206 uchar2 __ovld __cnfn convert_uchar2_rtz(ulong2);
   1207 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(ulong2);
   1208 uchar2 __ovld __cnfn convert_uchar2_rtp(ulong2);
   1209 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(ulong2);
   1210 uchar2 __ovld __cnfn convert_uchar2_rtn(ulong2);
   1211 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(ulong2);
   1212 uchar2 __ovld __cnfn convert_uchar2(ulong2);
   1213 uchar2 __ovld __cnfn convert_uchar2_sat(ulong2);
   1214 uchar2 __ovld __cnfn convert_uchar2_rte(float2);
   1215 uchar2 __ovld __cnfn convert_uchar2_sat_rte(float2);
   1216 uchar2 __ovld __cnfn convert_uchar2_rtz(float2);
   1217 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(float2);
   1218 uchar2 __ovld __cnfn convert_uchar2_rtp(float2);
   1219 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(float2);
   1220 uchar2 __ovld __cnfn convert_uchar2_rtn(float2);
   1221 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(float2);
   1222 uchar2 __ovld __cnfn convert_uchar2(float2);
   1223 uchar2 __ovld __cnfn convert_uchar2_sat(float2);
   1224 short2 __ovld __cnfn convert_short2_rte(char2);
   1225 short2 __ovld __cnfn convert_short2_sat_rte(char2);
   1226 short2 __ovld __cnfn convert_short2_rtz(char2);
   1227 short2 __ovld __cnfn convert_short2_sat_rtz(char2);
   1228 short2 __ovld __cnfn convert_short2_rtp(char2);
   1229 short2 __ovld __cnfn convert_short2_sat_rtp(char2);
   1230 short2 __ovld __cnfn convert_short2_rtn(char2);
   1231 short2 __ovld __cnfn convert_short2_sat_rtn(char2);
   1232 short2 __ovld __cnfn convert_short2(char2);
   1233 short2 __ovld __cnfn convert_short2_sat(char2);
   1234 short2 __ovld __cnfn convert_short2_rte(uchar2);
   1235 short2 __ovld __cnfn convert_short2_sat_rte(uchar2);
   1236 short2 __ovld __cnfn convert_short2_rtz(uchar2);
   1237 short2 __ovld __cnfn convert_short2_sat_rtz(uchar2);
   1238 short2 __ovld __cnfn convert_short2_rtp(uchar2);
   1239 short2 __ovld __cnfn convert_short2_sat_rtp(uchar2);
   1240 short2 __ovld __cnfn convert_short2_rtn(uchar2);
   1241 short2 __ovld __cnfn convert_short2_sat_rtn(uchar2);
   1242 short2 __ovld __cnfn convert_short2(uchar2);
   1243 short2 __ovld __cnfn convert_short2_sat(uchar2);
   1244 short2 __ovld __cnfn convert_short2_rte(short2);
   1245 short2 __ovld __cnfn convert_short2_sat_rte(short2);
   1246 short2 __ovld __cnfn convert_short2_rtz(short2);
   1247 short2 __ovld __cnfn convert_short2_sat_rtz(short2);
   1248 short2 __ovld __cnfn convert_short2_rtp(short2);
   1249 short2 __ovld __cnfn convert_short2_sat_rtp(short2);
   1250 short2 __ovld __cnfn convert_short2_rtn(short2);
   1251 short2 __ovld __cnfn convert_short2_sat_rtn(short2);
   1252 short2 __ovld __cnfn convert_short2(short2);
   1253 short2 __ovld __cnfn convert_short2_sat(short2);
   1254 short2 __ovld __cnfn convert_short2_rte(ushort2);
   1255 short2 __ovld __cnfn convert_short2_sat_rte(ushort2);
   1256 short2 __ovld __cnfn convert_short2_rtz(ushort2);
   1257 short2 __ovld __cnfn convert_short2_sat_rtz(ushort2);
   1258 short2 __ovld __cnfn convert_short2_rtp(ushort2);
   1259 short2 __ovld __cnfn convert_short2_sat_rtp(ushort2);
   1260 short2 __ovld __cnfn convert_short2_rtn(ushort2);
   1261 short2 __ovld __cnfn convert_short2_sat_rtn(ushort2);
   1262 short2 __ovld __cnfn convert_short2(ushort2);
   1263 short2 __ovld __cnfn convert_short2_sat(ushort2);
   1264 short2 __ovld __cnfn convert_short2_rte(int2);
   1265 short2 __ovld __cnfn convert_short2_sat_rte(int2);
   1266 short2 __ovld __cnfn convert_short2_rtz(int2);
   1267 short2 __ovld __cnfn convert_short2_sat_rtz(int2);
   1268 short2 __ovld __cnfn convert_short2_rtp(int2);
   1269 short2 __ovld __cnfn convert_short2_sat_rtp(int2);
   1270 short2 __ovld __cnfn convert_short2_rtn(int2);
   1271 short2 __ovld __cnfn convert_short2_sat_rtn(int2);
   1272 short2 __ovld __cnfn convert_short2(int2);
   1273 short2 __ovld __cnfn convert_short2_sat(int2);
   1274 short2 __ovld __cnfn convert_short2_rte(uint2);
   1275 short2 __ovld __cnfn convert_short2_sat_rte(uint2);
   1276 short2 __ovld __cnfn convert_short2_rtz(uint2);
   1277 short2 __ovld __cnfn convert_short2_sat_rtz(uint2);
   1278 short2 __ovld __cnfn convert_short2_rtp(uint2);
   1279 short2 __ovld __cnfn convert_short2_sat_rtp(uint2);
   1280 short2 __ovld __cnfn convert_short2_rtn(uint2);
   1281 short2 __ovld __cnfn convert_short2_sat_rtn(uint2);
   1282 short2 __ovld __cnfn convert_short2(uint2);
   1283 short2 __ovld __cnfn convert_short2_sat(uint2);
   1284 short2 __ovld __cnfn convert_short2_rte(long2);
   1285 short2 __ovld __cnfn convert_short2_sat_rte(long2);
   1286 short2 __ovld __cnfn convert_short2_rtz(long2);
   1287 short2 __ovld __cnfn convert_short2_sat_rtz(long2);
   1288 short2 __ovld __cnfn convert_short2_rtp(long2);
   1289 short2 __ovld __cnfn convert_short2_sat_rtp(long2);
   1290 short2 __ovld __cnfn convert_short2_rtn(long2);
   1291 short2 __ovld __cnfn convert_short2_sat_rtn(long2);
   1292 short2 __ovld __cnfn convert_short2(long2);
   1293 short2 __ovld __cnfn convert_short2_sat(long2);
   1294 short2 __ovld __cnfn convert_short2_rte(ulong2);
   1295 short2 __ovld __cnfn convert_short2_sat_rte(ulong2);
   1296 short2 __ovld __cnfn convert_short2_rtz(ulong2);
   1297 short2 __ovld __cnfn convert_short2_sat_rtz(ulong2);
   1298 short2 __ovld __cnfn convert_short2_rtp(ulong2);
   1299 short2 __ovld __cnfn convert_short2_sat_rtp(ulong2);
   1300 short2 __ovld __cnfn convert_short2_rtn(ulong2);
   1301 short2 __ovld __cnfn convert_short2_sat_rtn(ulong2);
   1302 short2 __ovld __cnfn convert_short2(ulong2);
   1303 short2 __ovld __cnfn convert_short2_sat(ulong2);
   1304 short2 __ovld __cnfn convert_short2_rte(float2);
   1305 short2 __ovld __cnfn convert_short2_sat_rte(float2);
   1306 short2 __ovld __cnfn convert_short2_rtz(float2);
   1307 short2 __ovld __cnfn convert_short2_sat_rtz(float2);
   1308 short2 __ovld __cnfn convert_short2_rtp(float2);
   1309 short2 __ovld __cnfn convert_short2_sat_rtp(float2);
   1310 short2 __ovld __cnfn convert_short2_rtn(float2);
   1311 short2 __ovld __cnfn convert_short2_sat_rtn(float2);
   1312 short2 __ovld __cnfn convert_short2(float2);
   1313 short2 __ovld __cnfn convert_short2_sat(float2);
   1314 ushort2 __ovld __cnfn convert_ushort2_rte(char2);
   1315 ushort2 __ovld __cnfn convert_ushort2_sat_rte(char2);
   1316 ushort2 __ovld __cnfn convert_ushort2_rtz(char2);
   1317 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(char2);
   1318 ushort2 __ovld __cnfn convert_ushort2_rtp(char2);
   1319 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(char2);
   1320 ushort2 __ovld __cnfn convert_ushort2_rtn(char2);
   1321 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(char2);
   1322 ushort2 __ovld __cnfn convert_ushort2(char2);
   1323 ushort2 __ovld __cnfn convert_ushort2_sat(char2);
   1324 ushort2 __ovld __cnfn convert_ushort2_rte(uchar2);
   1325 ushort2 __ovld __cnfn convert_ushort2_sat_rte(uchar2);
   1326 ushort2 __ovld __cnfn convert_ushort2_rtz(uchar2);
   1327 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(uchar2);
   1328 ushort2 __ovld __cnfn convert_ushort2_rtp(uchar2);
   1329 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(uchar2);
   1330 ushort2 __ovld __cnfn convert_ushort2_rtn(uchar2);
   1331 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(uchar2);
   1332 ushort2 __ovld __cnfn convert_ushort2(uchar2);
   1333 ushort2 __ovld __cnfn convert_ushort2_sat(uchar2);
   1334 ushort2 __ovld __cnfn convert_ushort2_rte(short2);
   1335 ushort2 __ovld __cnfn convert_ushort2_sat_rte(short2);
   1336 ushort2 __ovld __cnfn convert_ushort2_rtz(short2);
   1337 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(short2);
   1338 ushort2 __ovld __cnfn convert_ushort2_rtp(short2);
   1339 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(short2);
   1340 ushort2 __ovld __cnfn convert_ushort2_rtn(short2);
   1341 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(short2);
   1342 ushort2 __ovld __cnfn convert_ushort2(short2);
   1343 ushort2 __ovld __cnfn convert_ushort2_sat(short2);
   1344 ushort2 __ovld __cnfn convert_ushort2_rte(ushort2);
   1345 ushort2 __ovld __cnfn convert_ushort2_sat_rte(ushort2);
   1346 ushort2 __ovld __cnfn convert_ushort2_rtz(ushort2);
   1347 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(ushort2);
   1348 ushort2 __ovld __cnfn convert_ushort2_rtp(ushort2);
   1349 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(ushort2);
   1350 ushort2 __ovld __cnfn convert_ushort2_rtn(ushort2);
   1351 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(ushort2);
   1352 ushort2 __ovld __cnfn convert_ushort2(ushort2);
   1353 ushort2 __ovld __cnfn convert_ushort2_sat(ushort2);
   1354 ushort2 __ovld __cnfn convert_ushort2_rte(int2);
   1355 ushort2 __ovld __cnfn convert_ushort2_sat_rte(int2);
   1356 ushort2 __ovld __cnfn convert_ushort2_rtz(int2);
   1357 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(int2);
   1358 ushort2 __ovld __cnfn convert_ushort2_rtp(int2);
   1359 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(int2);
   1360 ushort2 __ovld __cnfn convert_ushort2_rtn(int2);
   1361 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(int2);
   1362 ushort2 __ovld __cnfn convert_ushort2(int2);
   1363 ushort2 __ovld __cnfn convert_ushort2_sat(int2);
   1364 ushort2 __ovld __cnfn convert_ushort2_rte(uint2);
   1365 ushort2 __ovld __cnfn convert_ushort2_sat_rte(uint2);
   1366 ushort2 __ovld __cnfn convert_ushort2_rtz(uint2);
   1367 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(uint2);
   1368 ushort2 __ovld __cnfn convert_ushort2_rtp(uint2);
   1369 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(uint2);
   1370 ushort2 __ovld __cnfn convert_ushort2_rtn(uint2);
   1371 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(uint2);
   1372 ushort2 __ovld __cnfn convert_ushort2(uint2);
   1373 ushort2 __ovld __cnfn convert_ushort2_sat(uint2);
   1374 ushort2 __ovld __cnfn convert_ushort2_rte(long2);
   1375 ushort2 __ovld __cnfn convert_ushort2_sat_rte(long2);
   1376 ushort2 __ovld __cnfn convert_ushort2_rtz(long2);
   1377 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(long2);
   1378 ushort2 __ovld __cnfn convert_ushort2_rtp(long2);
   1379 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(long2);
   1380 ushort2 __ovld __cnfn convert_ushort2_rtn(long2);
   1381 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(long2);
   1382 ushort2 __ovld __cnfn convert_ushort2(long2);
   1383 ushort2 __ovld __cnfn convert_ushort2_sat(long2);
   1384 ushort2 __ovld __cnfn convert_ushort2_rte(ulong2);
   1385 ushort2 __ovld __cnfn convert_ushort2_sat_rte(ulong2);
   1386 ushort2 __ovld __cnfn convert_ushort2_rtz(ulong2);
   1387 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(ulong2);
   1388 ushort2 __ovld __cnfn convert_ushort2_rtp(ulong2);
   1389 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(ulong2);
   1390 ushort2 __ovld __cnfn convert_ushort2_rtn(ulong2);
   1391 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(ulong2);
   1392 ushort2 __ovld __cnfn convert_ushort2(ulong2);
   1393 ushort2 __ovld __cnfn convert_ushort2_sat(ulong2);
   1394 ushort2 __ovld __cnfn convert_ushort2_rte(float2);
   1395 ushort2 __ovld __cnfn convert_ushort2_sat_rte(float2);
   1396 ushort2 __ovld __cnfn convert_ushort2_rtz(float2);
   1397 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(float2);
   1398 ushort2 __ovld __cnfn convert_ushort2_rtp(float2);
   1399 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(float2);
   1400 ushort2 __ovld __cnfn convert_ushort2_rtn(float2);
   1401 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(float2);
   1402 ushort2 __ovld __cnfn convert_ushort2(float2);
   1403 ushort2 __ovld __cnfn convert_ushort2_sat(float2);
   1404 int2 __ovld __cnfn convert_int2_rte(char2);
   1405 int2 __ovld __cnfn convert_int2_sat_rte(char2);
   1406 int2 __ovld __cnfn convert_int2_rtz(char2);
   1407 int2 __ovld __cnfn convert_int2_sat_rtz(char2);
   1408 int2 __ovld __cnfn convert_int2_rtp(char2);
   1409 int2 __ovld __cnfn convert_int2_sat_rtp(char2);
   1410 int2 __ovld __cnfn convert_int2_rtn(char2);
   1411 int2 __ovld __cnfn convert_int2_sat_rtn(char2);
   1412 int2 __ovld __cnfn convert_int2(char2);
   1413 int2 __ovld __cnfn convert_int2_sat(char2);
   1414 int2 __ovld __cnfn convert_int2_rte(uchar2);
   1415 int2 __ovld __cnfn convert_int2_sat_rte(uchar2);
   1416 int2 __ovld __cnfn convert_int2_rtz(uchar2);
   1417 int2 __ovld __cnfn convert_int2_sat_rtz(uchar2);
   1418 int2 __ovld __cnfn convert_int2_rtp(uchar2);
   1419 int2 __ovld __cnfn convert_int2_sat_rtp(uchar2);
   1420 int2 __ovld __cnfn convert_int2_rtn(uchar2);
   1421 int2 __ovld __cnfn convert_int2_sat_rtn(uchar2);
   1422 int2 __ovld __cnfn convert_int2(uchar2);
   1423 int2 __ovld __cnfn convert_int2_sat(uchar2);
   1424 int2 __ovld __cnfn convert_int2_rte(short2);
   1425 int2 __ovld __cnfn convert_int2_sat_rte(short2);
   1426 int2 __ovld __cnfn convert_int2_rtz(short2);
   1427 int2 __ovld __cnfn convert_int2_sat_rtz(short2);
   1428 int2 __ovld __cnfn convert_int2_rtp(short2);
   1429 int2 __ovld __cnfn convert_int2_sat_rtp(short2);
   1430 int2 __ovld __cnfn convert_int2_rtn(short2);
   1431 int2 __ovld __cnfn convert_int2_sat_rtn(short2);
   1432 int2 __ovld __cnfn convert_int2(short2);
   1433 int2 __ovld __cnfn convert_int2_sat(short2);
   1434 int2 __ovld __cnfn convert_int2_rte(ushort2);
   1435 int2 __ovld __cnfn convert_int2_sat_rte(ushort2);
   1436 int2 __ovld __cnfn convert_int2_rtz(ushort2);
   1437 int2 __ovld __cnfn convert_int2_sat_rtz(ushort2);
   1438 int2 __ovld __cnfn convert_int2_rtp(ushort2);
   1439 int2 __ovld __cnfn convert_int2_sat_rtp(ushort2);
   1440 int2 __ovld __cnfn convert_int2_rtn(ushort2);
   1441 int2 __ovld __cnfn convert_int2_sat_rtn(ushort2);
   1442 int2 __ovld __cnfn convert_int2(ushort2);
   1443 int2 __ovld __cnfn convert_int2_sat(ushort2);
   1444 int2 __ovld __cnfn convert_int2_rte(int2);
   1445 int2 __ovld __cnfn convert_int2_sat_rte(int2);
   1446 int2 __ovld __cnfn convert_int2_rtz(int2);
   1447 int2 __ovld __cnfn convert_int2_sat_rtz(int2);
   1448 int2 __ovld __cnfn convert_int2_rtp(int2);
   1449 int2 __ovld __cnfn convert_int2_sat_rtp(int2);
   1450 int2 __ovld __cnfn convert_int2_rtn(int2);
   1451 int2 __ovld __cnfn convert_int2_sat_rtn(int2);
   1452 int2 __ovld __cnfn convert_int2(int2);
   1453 int2 __ovld __cnfn convert_int2_sat(int2);
   1454 int2 __ovld __cnfn convert_int2_rte(uint2);
   1455 int2 __ovld __cnfn convert_int2_sat_rte(uint2);
   1456 int2 __ovld __cnfn convert_int2_rtz(uint2);
   1457 int2 __ovld __cnfn convert_int2_sat_rtz(uint2);
   1458 int2 __ovld __cnfn convert_int2_rtp(uint2);
   1459 int2 __ovld __cnfn convert_int2_sat_rtp(uint2);
   1460 int2 __ovld __cnfn convert_int2_rtn(uint2);
   1461 int2 __ovld __cnfn convert_int2_sat_rtn(uint2);
   1462 int2 __ovld __cnfn convert_int2(uint2);
   1463 int2 __ovld __cnfn convert_int2_sat(uint2);
   1464 int2 __ovld __cnfn convert_int2_rte(long2);
   1465 int2 __ovld __cnfn convert_int2_sat_rte(long2);
   1466 int2 __ovld __cnfn convert_int2_rtz(long2);
   1467 int2 __ovld __cnfn convert_int2_sat_rtz(long2);
   1468 int2 __ovld __cnfn convert_int2_rtp(long2);
   1469 int2 __ovld __cnfn convert_int2_sat_rtp(long2);
   1470 int2 __ovld __cnfn convert_int2_rtn(long2);
   1471 int2 __ovld __cnfn convert_int2_sat_rtn(long2);
   1472 int2 __ovld __cnfn convert_int2(long2);
   1473 int2 __ovld __cnfn convert_int2_sat(long2);
   1474 int2 __ovld __cnfn convert_int2_rte(ulong2);
   1475 int2 __ovld __cnfn convert_int2_sat_rte(ulong2);
   1476 int2 __ovld __cnfn convert_int2_rtz(ulong2);
   1477 int2 __ovld __cnfn convert_int2_sat_rtz(ulong2);
   1478 int2 __ovld __cnfn convert_int2_rtp(ulong2);
   1479 int2 __ovld __cnfn convert_int2_sat_rtp(ulong2);
   1480 int2 __ovld __cnfn convert_int2_rtn(ulong2);
   1481 int2 __ovld __cnfn convert_int2_sat_rtn(ulong2);
   1482 int2 __ovld __cnfn convert_int2(ulong2);
   1483 int2 __ovld __cnfn convert_int2_sat(ulong2);
   1484 int2 __ovld __cnfn convert_int2_rte(float2);
   1485 int2 __ovld __cnfn convert_int2_sat_rte(float2);
   1486 int2 __ovld __cnfn convert_int2_rtz(float2);
   1487 int2 __ovld __cnfn convert_int2_sat_rtz(float2);
   1488 int2 __ovld __cnfn convert_int2_rtp(float2);
   1489 int2 __ovld __cnfn convert_int2_sat_rtp(float2);
   1490 int2 __ovld __cnfn convert_int2_rtn(float2);
   1491 int2 __ovld __cnfn convert_int2_sat_rtn(float2);
   1492 int2 __ovld __cnfn convert_int2(float2);
   1493 int2 __ovld __cnfn convert_int2_sat(float2);
   1494 uint2 __ovld __cnfn convert_uint2_rte(char2);
   1495 uint2 __ovld __cnfn convert_uint2_sat_rte(char2);
   1496 uint2 __ovld __cnfn convert_uint2_rtz(char2);
   1497 uint2 __ovld __cnfn convert_uint2_sat_rtz(char2);
   1498 uint2 __ovld __cnfn convert_uint2_rtp(char2);
   1499 uint2 __ovld __cnfn convert_uint2_sat_rtp(char2);
   1500 uint2 __ovld __cnfn convert_uint2_rtn(char2);
   1501 uint2 __ovld __cnfn convert_uint2_sat_rtn(char2);
   1502 uint2 __ovld __cnfn convert_uint2(char2);
   1503 uint2 __ovld __cnfn convert_uint2_sat(char2);
   1504 uint2 __ovld __cnfn convert_uint2_rte(uchar2);
   1505 uint2 __ovld __cnfn convert_uint2_sat_rte(uchar2);
   1506 uint2 __ovld __cnfn convert_uint2_rtz(uchar2);
   1507 uint2 __ovld __cnfn convert_uint2_sat_rtz(uchar2);
   1508 uint2 __ovld __cnfn convert_uint2_rtp(uchar2);
   1509 uint2 __ovld __cnfn convert_uint2_sat_rtp(uchar2);
   1510 uint2 __ovld __cnfn convert_uint2_rtn(uchar2);
   1511 uint2 __ovld __cnfn convert_uint2_sat_rtn(uchar2);
   1512 uint2 __ovld __cnfn convert_uint2(uchar2);
   1513 uint2 __ovld __cnfn convert_uint2_sat(uchar2);
   1514 uint2 __ovld __cnfn convert_uint2_rte(short2);
   1515 uint2 __ovld __cnfn convert_uint2_sat_rte(short2);
   1516 uint2 __ovld __cnfn convert_uint2_rtz(short2);
   1517 uint2 __ovld __cnfn convert_uint2_sat_rtz(short2);
   1518 uint2 __ovld __cnfn convert_uint2_rtp(short2);
   1519 uint2 __ovld __cnfn convert_uint2_sat_rtp(short2);
   1520 uint2 __ovld __cnfn convert_uint2_rtn(short2);
   1521 uint2 __ovld __cnfn convert_uint2_sat_rtn(short2);
   1522 uint2 __ovld __cnfn convert_uint2(short2);
   1523 uint2 __ovld __cnfn convert_uint2_sat(short2);
   1524 uint2 __ovld __cnfn convert_uint2_rte(ushort2);
   1525 uint2 __ovld __cnfn convert_uint2_sat_rte(ushort2);
   1526 uint2 __ovld __cnfn convert_uint2_rtz(ushort2);
   1527 uint2 __ovld __cnfn convert_uint2_sat_rtz(ushort2);
   1528 uint2 __ovld __cnfn convert_uint2_rtp(ushort2);
   1529 uint2 __ovld __cnfn convert_uint2_sat_rtp(ushort2);
   1530 uint2 __ovld __cnfn convert_uint2_rtn(ushort2);
   1531 uint2 __ovld __cnfn convert_uint2_sat_rtn(ushort2);
   1532 uint2 __ovld __cnfn convert_uint2(ushort2);
   1533 uint2 __ovld __cnfn convert_uint2_sat(ushort2);
   1534 uint2 __ovld __cnfn convert_uint2_rte(int2);
   1535 uint2 __ovld __cnfn convert_uint2_sat_rte(int2);
   1536 uint2 __ovld __cnfn convert_uint2_rtz(int2);
   1537 uint2 __ovld __cnfn convert_uint2_sat_rtz(int2);
   1538 uint2 __ovld __cnfn convert_uint2_rtp(int2);
   1539 uint2 __ovld __cnfn convert_uint2_sat_rtp(int2);
   1540 uint2 __ovld __cnfn convert_uint2_rtn(int2);
   1541 uint2 __ovld __cnfn convert_uint2_sat_rtn(int2);
   1542 uint2 __ovld __cnfn convert_uint2(int2);
   1543 uint2 __ovld __cnfn convert_uint2_sat(int2);
   1544 uint2 __ovld __cnfn convert_uint2_rte(uint2);
   1545 uint2 __ovld __cnfn convert_uint2_sat_rte(uint2);
   1546 uint2 __ovld __cnfn convert_uint2_rtz(uint2);
   1547 uint2 __ovld __cnfn convert_uint2_sat_rtz(uint2);
   1548 uint2 __ovld __cnfn convert_uint2_rtp(uint2);
   1549 uint2 __ovld __cnfn convert_uint2_sat_rtp(uint2);
   1550 uint2 __ovld __cnfn convert_uint2_rtn(uint2);
   1551 uint2 __ovld __cnfn convert_uint2_sat_rtn(uint2);
   1552 uint2 __ovld __cnfn convert_uint2(uint2);
   1553 uint2 __ovld __cnfn convert_uint2_sat(uint2);
   1554 uint2 __ovld __cnfn convert_uint2_rte(long2);
   1555 uint2 __ovld __cnfn convert_uint2_sat_rte(long2);
   1556 uint2 __ovld __cnfn convert_uint2_rtz(long2);
   1557 uint2 __ovld __cnfn convert_uint2_sat_rtz(long2);
   1558 uint2 __ovld __cnfn convert_uint2_rtp(long2);
   1559 uint2 __ovld __cnfn convert_uint2_sat_rtp(long2);
   1560 uint2 __ovld __cnfn convert_uint2_rtn(long2);
   1561 uint2 __ovld __cnfn convert_uint2_sat_rtn(long2);
   1562 uint2 __ovld __cnfn convert_uint2(long2);
   1563 uint2 __ovld __cnfn convert_uint2_sat(long2);
   1564 uint2 __ovld __cnfn convert_uint2_rte(ulong2);
   1565 uint2 __ovld __cnfn convert_uint2_sat_rte(ulong2);
   1566 uint2 __ovld __cnfn convert_uint2_rtz(ulong2);
   1567 uint2 __ovld __cnfn convert_uint2_sat_rtz(ulong2);
   1568 uint2 __ovld __cnfn convert_uint2_rtp(ulong2);
   1569 uint2 __ovld __cnfn convert_uint2_sat_rtp(ulong2);
   1570 uint2 __ovld __cnfn convert_uint2_rtn(ulong2);
   1571 uint2 __ovld __cnfn convert_uint2_sat_rtn(ulong2);
   1572 uint2 __ovld __cnfn convert_uint2(ulong2);
   1573 uint2 __ovld __cnfn convert_uint2_sat(ulong2);
   1574 uint2 __ovld __cnfn convert_uint2_rte(float2);
   1575 uint2 __ovld __cnfn convert_uint2_sat_rte(float2);
   1576 uint2 __ovld __cnfn convert_uint2_rtz(float2);
   1577 uint2 __ovld __cnfn convert_uint2_sat_rtz(float2);
   1578 uint2 __ovld __cnfn convert_uint2_rtp(float2);
   1579 uint2 __ovld __cnfn convert_uint2_sat_rtp(float2);
   1580 uint2 __ovld __cnfn convert_uint2_rtn(float2);
   1581 uint2 __ovld __cnfn convert_uint2_sat_rtn(float2);
   1582 uint2 __ovld __cnfn convert_uint2(float2);
   1583 uint2 __ovld __cnfn convert_uint2_sat(float2);
   1584 long2 __ovld __cnfn convert_long2_rte(char2);
   1585 long2 __ovld __cnfn convert_long2_sat_rte(char2);
   1586 long2 __ovld __cnfn convert_long2_rtz(char2);
   1587 long2 __ovld __cnfn convert_long2_sat_rtz(char2);
   1588 long2 __ovld __cnfn convert_long2_rtp(char2);
   1589 long2 __ovld __cnfn convert_long2_sat_rtp(char2);
   1590 long2 __ovld __cnfn convert_long2_rtn(char2);
   1591 long2 __ovld __cnfn convert_long2_sat_rtn(char2);
   1592 long2 __ovld __cnfn convert_long2(char2);
   1593 long2 __ovld __cnfn convert_long2_sat(char2);
   1594 long2 __ovld __cnfn convert_long2_rte(uchar2);
   1595 long2 __ovld __cnfn convert_long2_sat_rte(uchar2);
   1596 long2 __ovld __cnfn convert_long2_rtz(uchar2);
   1597 long2 __ovld __cnfn convert_long2_sat_rtz(uchar2);
   1598 long2 __ovld __cnfn convert_long2_rtp(uchar2);
   1599 long2 __ovld __cnfn convert_long2_sat_rtp(uchar2);
   1600 long2 __ovld __cnfn convert_long2_rtn(uchar2);
   1601 long2 __ovld __cnfn convert_long2_sat_rtn(uchar2);
   1602 long2 __ovld __cnfn convert_long2(uchar2);
   1603 long2 __ovld __cnfn convert_long2_sat(uchar2);
   1604 long2 __ovld __cnfn convert_long2_rte(short2);
   1605 long2 __ovld __cnfn convert_long2_sat_rte(short2);
   1606 long2 __ovld __cnfn convert_long2_rtz(short2);
   1607 long2 __ovld __cnfn convert_long2_sat_rtz(short2);
   1608 long2 __ovld __cnfn convert_long2_rtp(short2);
   1609 long2 __ovld __cnfn convert_long2_sat_rtp(short2);
   1610 long2 __ovld __cnfn convert_long2_rtn(short2);
   1611 long2 __ovld __cnfn convert_long2_sat_rtn(short2);
   1612 long2 __ovld __cnfn convert_long2(short2);
   1613 long2 __ovld __cnfn convert_long2_sat(short2);
   1614 long2 __ovld __cnfn convert_long2_rte(ushort2);
   1615 long2 __ovld __cnfn convert_long2_sat_rte(ushort2);
   1616 long2 __ovld __cnfn convert_long2_rtz(ushort2);
   1617 long2 __ovld __cnfn convert_long2_sat_rtz(ushort2);
   1618 long2 __ovld __cnfn convert_long2_rtp(ushort2);
   1619 long2 __ovld __cnfn convert_long2_sat_rtp(ushort2);
   1620 long2 __ovld __cnfn convert_long2_rtn(ushort2);
   1621 long2 __ovld __cnfn convert_long2_sat_rtn(ushort2);
   1622 long2 __ovld __cnfn convert_long2(ushort2);
   1623 long2 __ovld __cnfn convert_long2_sat(ushort2);
   1624 long2 __ovld __cnfn convert_long2_rte(int2);
   1625 long2 __ovld __cnfn convert_long2_sat_rte(int2);
   1626 long2 __ovld __cnfn convert_long2_rtz(int2);
   1627 long2 __ovld __cnfn convert_long2_sat_rtz(int2);
   1628 long2 __ovld __cnfn convert_long2_rtp(int2);
   1629 long2 __ovld __cnfn convert_long2_sat_rtp(int2);
   1630 long2 __ovld __cnfn convert_long2_rtn(int2);
   1631 long2 __ovld __cnfn convert_long2_sat_rtn(int2);
   1632 long2 __ovld __cnfn convert_long2(int2);
   1633 long2 __ovld __cnfn convert_long2_sat(int2);
   1634 long2 __ovld __cnfn convert_long2_rte(uint2);
   1635 long2 __ovld __cnfn convert_long2_sat_rte(uint2);
   1636 long2 __ovld __cnfn convert_long2_rtz(uint2);
   1637 long2 __ovld __cnfn convert_long2_sat_rtz(uint2);
   1638 long2 __ovld __cnfn convert_long2_rtp(uint2);
   1639 long2 __ovld __cnfn convert_long2_sat_rtp(uint2);
   1640 long2 __ovld __cnfn convert_long2_rtn(uint2);
   1641 long2 __ovld __cnfn convert_long2_sat_rtn(uint2);
   1642 long2 __ovld __cnfn convert_long2(uint2);
   1643 long2 __ovld __cnfn convert_long2_sat(uint2);
   1644 long2 __ovld __cnfn convert_long2_rte(long2);
   1645 long2 __ovld __cnfn convert_long2_sat_rte(long2);
   1646 long2 __ovld __cnfn convert_long2_rtz(long2);
   1647 long2 __ovld __cnfn convert_long2_sat_rtz(long2);
   1648 long2 __ovld __cnfn convert_long2_rtp(long2);
   1649 long2 __ovld __cnfn convert_long2_sat_rtp(long2);
   1650 long2 __ovld __cnfn convert_long2_rtn(long2);
   1651 long2 __ovld __cnfn convert_long2_sat_rtn(long2);
   1652 long2 __ovld __cnfn convert_long2(long2);
   1653 long2 __ovld __cnfn convert_long2_sat(long2);
   1654 long2 __ovld __cnfn convert_long2_rte(ulong2);
   1655 long2 __ovld __cnfn convert_long2_sat_rte(ulong2);
   1656 long2 __ovld __cnfn convert_long2_rtz(ulong2);
   1657 long2 __ovld __cnfn convert_long2_sat_rtz(ulong2);
   1658 long2 __ovld __cnfn convert_long2_rtp(ulong2);
   1659 long2 __ovld __cnfn convert_long2_sat_rtp(ulong2);
   1660 long2 __ovld __cnfn convert_long2_rtn(ulong2);
   1661 long2 __ovld __cnfn convert_long2_sat_rtn(ulong2);
   1662 long2 __ovld __cnfn convert_long2(ulong2);
   1663 long2 __ovld __cnfn convert_long2_sat(ulong2);
   1664 long2 __ovld __cnfn convert_long2_rte(float2);
   1665 long2 __ovld __cnfn convert_long2_sat_rte(float2);
   1666 long2 __ovld __cnfn convert_long2_rtz(float2);
   1667 long2 __ovld __cnfn convert_long2_sat_rtz(float2);
   1668 long2 __ovld __cnfn convert_long2_rtp(float2);
   1669 long2 __ovld __cnfn convert_long2_sat_rtp(float2);
   1670 long2 __ovld __cnfn convert_long2_rtn(float2);
   1671 long2 __ovld __cnfn convert_long2_sat_rtn(float2);
   1672 long2 __ovld __cnfn convert_long2(float2);
   1673 long2 __ovld __cnfn convert_long2_sat(float2);
   1674 ulong2 __ovld __cnfn convert_ulong2_rte(char2);
   1675 ulong2 __ovld __cnfn convert_ulong2_sat_rte(char2);
   1676 ulong2 __ovld __cnfn convert_ulong2_rtz(char2);
   1677 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(char2);
   1678 ulong2 __ovld __cnfn convert_ulong2_rtp(char2);
   1679 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(char2);
   1680 ulong2 __ovld __cnfn convert_ulong2_rtn(char2);
   1681 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(char2);
   1682 ulong2 __ovld __cnfn convert_ulong2(char2);
   1683 ulong2 __ovld __cnfn convert_ulong2_sat(char2);
   1684 ulong2 __ovld __cnfn convert_ulong2_rte(uchar2);
   1685 ulong2 __ovld __cnfn convert_ulong2_sat_rte(uchar2);
   1686 ulong2 __ovld __cnfn convert_ulong2_rtz(uchar2);
   1687 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(uchar2);
   1688 ulong2 __ovld __cnfn convert_ulong2_rtp(uchar2);
   1689 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(uchar2);
   1690 ulong2 __ovld __cnfn convert_ulong2_rtn(uchar2);
   1691 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(uchar2);
   1692 ulong2 __ovld __cnfn convert_ulong2(uchar2);
   1693 ulong2 __ovld __cnfn convert_ulong2_sat(uchar2);
   1694 ulong2 __ovld __cnfn convert_ulong2_rte(short2);
   1695 ulong2 __ovld __cnfn convert_ulong2_sat_rte(short2);
   1696 ulong2 __ovld __cnfn convert_ulong2_rtz(short2);
   1697 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(short2);
   1698 ulong2 __ovld __cnfn convert_ulong2_rtp(short2);
   1699 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(short2);
   1700 ulong2 __ovld __cnfn convert_ulong2_rtn(short2);
   1701 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(short2);
   1702 ulong2 __ovld __cnfn convert_ulong2(short2);
   1703 ulong2 __ovld __cnfn convert_ulong2_sat(short2);
   1704 ulong2 __ovld __cnfn convert_ulong2_rte(ushort2);
   1705 ulong2 __ovld __cnfn convert_ulong2_sat_rte(ushort2);
   1706 ulong2 __ovld __cnfn convert_ulong2_rtz(ushort2);
   1707 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(ushort2);
   1708 ulong2 __ovld __cnfn convert_ulong2_rtp(ushort2);
   1709 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(ushort2);
   1710 ulong2 __ovld __cnfn convert_ulong2_rtn(ushort2);
   1711 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(ushort2);
   1712 ulong2 __ovld __cnfn convert_ulong2(ushort2);
   1713 ulong2 __ovld __cnfn convert_ulong2_sat(ushort2);
   1714 ulong2 __ovld __cnfn convert_ulong2_rte(int2);
   1715 ulong2 __ovld __cnfn convert_ulong2_sat_rte(int2);
   1716 ulong2 __ovld __cnfn convert_ulong2_rtz(int2);
   1717 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(int2);
   1718 ulong2 __ovld __cnfn convert_ulong2_rtp(int2);
   1719 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(int2);
   1720 ulong2 __ovld __cnfn convert_ulong2_rtn(int2);
   1721 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(int2);
   1722 ulong2 __ovld __cnfn convert_ulong2(int2);
   1723 ulong2 __ovld __cnfn convert_ulong2_sat(int2);
   1724 ulong2 __ovld __cnfn convert_ulong2_rte(uint2);
   1725 ulong2 __ovld __cnfn convert_ulong2_sat_rte(uint2);
   1726 ulong2 __ovld __cnfn convert_ulong2_rtz(uint2);
   1727 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(uint2);
   1728 ulong2 __ovld __cnfn convert_ulong2_rtp(uint2);
   1729 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(uint2);
   1730 ulong2 __ovld __cnfn convert_ulong2_rtn(uint2);
   1731 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(uint2);
   1732 ulong2 __ovld __cnfn convert_ulong2(uint2);
   1733 ulong2 __ovld __cnfn convert_ulong2_sat(uint2);
   1734 ulong2 __ovld __cnfn convert_ulong2_rte(long2);
   1735 ulong2 __ovld __cnfn convert_ulong2_sat_rte(long2);
   1736 ulong2 __ovld __cnfn convert_ulong2_rtz(long2);
   1737 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(long2);
   1738 ulong2 __ovld __cnfn convert_ulong2_rtp(long2);
   1739 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(long2);
   1740 ulong2 __ovld __cnfn convert_ulong2_rtn(long2);
   1741 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(long2);
   1742 ulong2 __ovld __cnfn convert_ulong2(long2);
   1743 ulong2 __ovld __cnfn convert_ulong2_sat(long2);
   1744 ulong2 __ovld __cnfn convert_ulong2_rte(ulong2);
   1745 ulong2 __ovld __cnfn convert_ulong2_sat_rte(ulong2);
   1746 ulong2 __ovld __cnfn convert_ulong2_rtz(ulong2);
   1747 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(ulong2);
   1748 ulong2 __ovld __cnfn convert_ulong2_rtp(ulong2);
   1749 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(ulong2);
   1750 ulong2 __ovld __cnfn convert_ulong2_rtn(ulong2);
   1751 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(ulong2);
   1752 ulong2 __ovld __cnfn convert_ulong2(ulong2);
   1753 ulong2 __ovld __cnfn convert_ulong2_sat(ulong2);
   1754 ulong2 __ovld __cnfn convert_ulong2_rte(float2);
   1755 ulong2 __ovld __cnfn convert_ulong2_sat_rte(float2);
   1756 ulong2 __ovld __cnfn convert_ulong2_rtz(float2);
   1757 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(float2);
   1758 ulong2 __ovld __cnfn convert_ulong2_rtp(float2);
   1759 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(float2);
   1760 ulong2 __ovld __cnfn convert_ulong2_rtn(float2);
   1761 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(float2);
   1762 ulong2 __ovld __cnfn convert_ulong2(float2);
   1763 ulong2 __ovld __cnfn convert_ulong2_sat(float2);
   1764 float2 __ovld __cnfn convert_float2_rte(char2);
   1765 float2 __ovld __cnfn convert_float2_rtz(char2);
   1766 float2 __ovld __cnfn convert_float2_rtp(char2);
   1767 float2 __ovld __cnfn convert_float2_rtn(char2);
   1768 float2 __ovld __cnfn convert_float2(char2);
   1769 float2 __ovld __cnfn convert_float2_rte(uchar2);
   1770 float2 __ovld __cnfn convert_float2_rtz(uchar2);
   1771 float2 __ovld __cnfn convert_float2_rtp(uchar2);
   1772 float2 __ovld __cnfn convert_float2_rtn(uchar2);
   1773 float2 __ovld __cnfn convert_float2(uchar2);
   1774 float2 __ovld __cnfn convert_float2_rte(short2);
   1775 float2 __ovld __cnfn convert_float2_rtz(short2);
   1776 float2 __ovld __cnfn convert_float2_rtp(short2);
   1777 float2 __ovld __cnfn convert_float2_rtn(short2);
   1778 float2 __ovld __cnfn convert_float2(short2);
   1779 float2 __ovld __cnfn convert_float2_rte(ushort2);
   1780 float2 __ovld __cnfn convert_float2_rtz(ushort2);
   1781 float2 __ovld __cnfn convert_float2_rtp(ushort2);
   1782 float2 __ovld __cnfn convert_float2_rtn(ushort2);
   1783 float2 __ovld __cnfn convert_float2(ushort2);
   1784 float2 __ovld __cnfn convert_float2_rte(int2);
   1785 float2 __ovld __cnfn convert_float2_rtz(int2);
   1786 float2 __ovld __cnfn convert_float2_rtp(int2);
   1787 float2 __ovld __cnfn convert_float2_rtn(int2);
   1788 float2 __ovld __cnfn convert_float2(int2);
   1789 float2 __ovld __cnfn convert_float2_rte(uint2);
   1790 float2 __ovld __cnfn convert_float2_rtz(uint2);
   1791 float2 __ovld __cnfn convert_float2_rtp(uint2);
   1792 float2 __ovld __cnfn convert_float2_rtn(uint2);
   1793 float2 __ovld __cnfn convert_float2(uint2);
   1794 float2 __ovld __cnfn convert_float2_rte(long2);
   1795 float2 __ovld __cnfn convert_float2_rtz(long2);
   1796 float2 __ovld __cnfn convert_float2_rtp(long2);
   1797 float2 __ovld __cnfn convert_float2_rtn(long2);
   1798 float2 __ovld __cnfn convert_float2(long2);
   1799 float2 __ovld __cnfn convert_float2_rte(ulong2);
   1800 float2 __ovld __cnfn convert_float2_rtz(ulong2);
   1801 float2 __ovld __cnfn convert_float2_rtp(ulong2);
   1802 float2 __ovld __cnfn convert_float2_rtn(ulong2);
   1803 float2 __ovld __cnfn convert_float2(ulong2);
   1804 float2 __ovld __cnfn convert_float2_rte(float2);
   1805 float2 __ovld __cnfn convert_float2_rtz(float2);
   1806 float2 __ovld __cnfn convert_float2_rtp(float2);
   1807 float2 __ovld __cnfn convert_float2_rtn(float2);
   1808 float2 __ovld __cnfn convert_float2(float2);
   1809 char3 __ovld __cnfn convert_char3_rte(char3);
   1810 char3 __ovld __cnfn convert_char3_sat_rte(char3);
   1811 char3 __ovld __cnfn convert_char3_rtz(char3);
   1812 char3 __ovld __cnfn convert_char3_sat_rtz(char3);
   1813 char3 __ovld __cnfn convert_char3_rtp(char3);
   1814 char3 __ovld __cnfn convert_char3_sat_rtp(char3);
   1815 char3 __ovld __cnfn convert_char3_rtn(char3);
   1816 char3 __ovld __cnfn convert_char3_sat_rtn(char3);
   1817 char3 __ovld __cnfn convert_char3(char3);
   1818 char3 __ovld __cnfn convert_char3_sat(char3);
   1819 char3 __ovld __cnfn convert_char3_rte(uchar3);
   1820 char3 __ovld __cnfn convert_char3_sat_rte(uchar3);
   1821 char3 __ovld __cnfn convert_char3_rtz(uchar3);
   1822 char3 __ovld __cnfn convert_char3_sat_rtz(uchar3);
   1823 char3 __ovld __cnfn convert_char3_rtp(uchar3);
   1824 char3 __ovld __cnfn convert_char3_sat_rtp(uchar3);
   1825 char3 __ovld __cnfn convert_char3_rtn(uchar3);
   1826 char3 __ovld __cnfn convert_char3_sat_rtn(uchar3);
   1827 char3 __ovld __cnfn convert_char3(uchar3);
   1828 char3 __ovld __cnfn convert_char3_sat(uchar3);
   1829 char3 __ovld __cnfn convert_char3_rte(short3);
   1830 char3 __ovld __cnfn convert_char3_sat_rte(short3);
   1831 char3 __ovld __cnfn convert_char3_rtz(short3);
   1832 char3 __ovld __cnfn convert_char3_sat_rtz(short3);
   1833 char3 __ovld __cnfn convert_char3_rtp(short3);
   1834 char3 __ovld __cnfn convert_char3_sat_rtp(short3);
   1835 char3 __ovld __cnfn convert_char3_rtn(short3);
   1836 char3 __ovld __cnfn convert_char3_sat_rtn(short3);
   1837 char3 __ovld __cnfn convert_char3(short3);
   1838 char3 __ovld __cnfn convert_char3_sat(short3);
   1839 char3 __ovld __cnfn convert_char3_rte(ushort3);
   1840 char3 __ovld __cnfn convert_char3_sat_rte(ushort3);
   1841 char3 __ovld __cnfn convert_char3_rtz(ushort3);
   1842 char3 __ovld __cnfn convert_char3_sat_rtz(ushort3);
   1843 char3 __ovld __cnfn convert_char3_rtp(ushort3);
   1844 char3 __ovld __cnfn convert_char3_sat_rtp(ushort3);
   1845 char3 __ovld __cnfn convert_char3_rtn(ushort3);
   1846 char3 __ovld __cnfn convert_char3_sat_rtn(ushort3);
   1847 char3 __ovld __cnfn convert_char3(ushort3);
   1848 char3 __ovld __cnfn convert_char3_sat(ushort3);
   1849 char3 __ovld __cnfn convert_char3_rte(int3);
   1850 char3 __ovld __cnfn convert_char3_sat_rte(int3);
   1851 char3 __ovld __cnfn convert_char3_rtz(int3);
   1852 char3 __ovld __cnfn convert_char3_sat_rtz(int3);
   1853 char3 __ovld __cnfn convert_char3_rtp(int3);
   1854 char3 __ovld __cnfn convert_char3_sat_rtp(int3);
   1855 char3 __ovld __cnfn convert_char3_rtn(int3);
   1856 char3 __ovld __cnfn convert_char3_sat_rtn(int3);
   1857 char3 __ovld __cnfn convert_char3(int3);
   1858 char3 __ovld __cnfn convert_char3_sat(int3);
   1859 char3 __ovld __cnfn convert_char3_rte(uint3);
   1860 char3 __ovld __cnfn convert_char3_sat_rte(uint3);
   1861 char3 __ovld __cnfn convert_char3_rtz(uint3);
   1862 char3 __ovld __cnfn convert_char3_sat_rtz(uint3);
   1863 char3 __ovld __cnfn convert_char3_rtp(uint3);
   1864 char3 __ovld __cnfn convert_char3_sat_rtp(uint3);
   1865 char3 __ovld __cnfn convert_char3_rtn(uint3);
   1866 char3 __ovld __cnfn convert_char3_sat_rtn(uint3);
   1867 char3 __ovld __cnfn convert_char3(uint3);
   1868 char3 __ovld __cnfn convert_char3_sat(uint3);
   1869 char3 __ovld __cnfn convert_char3_rte(long3);
   1870 char3 __ovld __cnfn convert_char3_sat_rte(long3);
   1871 char3 __ovld __cnfn convert_char3_rtz(long3);
   1872 char3 __ovld __cnfn convert_char3_sat_rtz(long3);
   1873 char3 __ovld __cnfn convert_char3_rtp(long3);
   1874 char3 __ovld __cnfn convert_char3_sat_rtp(long3);
   1875 char3 __ovld __cnfn convert_char3_rtn(long3);
   1876 char3 __ovld __cnfn convert_char3_sat_rtn(long3);
   1877 char3 __ovld __cnfn convert_char3(long3);
   1878 char3 __ovld __cnfn convert_char3_sat(long3);
   1879 char3 __ovld __cnfn convert_char3_rte(ulong3);
   1880 char3 __ovld __cnfn convert_char3_sat_rte(ulong3);
   1881 char3 __ovld __cnfn convert_char3_rtz(ulong3);
   1882 char3 __ovld __cnfn convert_char3_sat_rtz(ulong3);
   1883 char3 __ovld __cnfn convert_char3_rtp(ulong3);
   1884 char3 __ovld __cnfn convert_char3_sat_rtp(ulong3);
   1885 char3 __ovld __cnfn convert_char3_rtn(ulong3);
   1886 char3 __ovld __cnfn convert_char3_sat_rtn(ulong3);
   1887 char3 __ovld __cnfn convert_char3(ulong3);
   1888 char3 __ovld __cnfn convert_char3_sat(ulong3);
   1889 char3 __ovld __cnfn convert_char3_rte(float3);
   1890 char3 __ovld __cnfn convert_char3_sat_rte(float3);
   1891 char3 __ovld __cnfn convert_char3_rtz(float3);
   1892 char3 __ovld __cnfn convert_char3_sat_rtz(float3);
   1893 char3 __ovld __cnfn convert_char3_rtp(float3);
   1894 char3 __ovld __cnfn convert_char3_sat_rtp(float3);
   1895 char3 __ovld __cnfn convert_char3_rtn(float3);
   1896 char3 __ovld __cnfn convert_char3_sat_rtn(float3);
   1897 char3 __ovld __cnfn convert_char3(float3);
   1898 char3 __ovld __cnfn convert_char3_sat(float3);
   1899 uchar3 __ovld __cnfn convert_uchar3_rte(char3);
   1900 uchar3 __ovld __cnfn convert_uchar3_sat_rte(char3);
   1901 uchar3 __ovld __cnfn convert_uchar3_rtz(char3);
   1902 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(char3);
   1903 uchar3 __ovld __cnfn convert_uchar3_rtp(char3);
   1904 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(char3);
   1905 uchar3 __ovld __cnfn convert_uchar3_rtn(char3);
   1906 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(char3);
   1907 uchar3 __ovld __cnfn convert_uchar3(char3);
   1908 uchar3 __ovld __cnfn convert_uchar3_sat(char3);
   1909 uchar3 __ovld __cnfn convert_uchar3_rte(uchar3);
   1910 uchar3 __ovld __cnfn convert_uchar3_sat_rte(uchar3);
   1911 uchar3 __ovld __cnfn convert_uchar3_rtz(uchar3);
   1912 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(uchar3);
   1913 uchar3 __ovld __cnfn convert_uchar3_rtp(uchar3);
   1914 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(uchar3);
   1915 uchar3 __ovld __cnfn convert_uchar3_rtn(uchar3);
   1916 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(uchar3);
   1917 uchar3 __ovld __cnfn convert_uchar3(uchar3);
   1918 uchar3 __ovld __cnfn convert_uchar3_sat(uchar3);
   1919 uchar3 __ovld __cnfn convert_uchar3_rte(short3);
   1920 uchar3 __ovld __cnfn convert_uchar3_sat_rte(short3);
   1921 uchar3 __ovld __cnfn convert_uchar3_rtz(short3);
   1922 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(short3);
   1923 uchar3 __ovld __cnfn convert_uchar3_rtp(short3);
   1924 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(short3);
   1925 uchar3 __ovld __cnfn convert_uchar3_rtn(short3);
   1926 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(short3);
   1927 uchar3 __ovld __cnfn convert_uchar3(short3);
   1928 uchar3 __ovld __cnfn convert_uchar3_sat(short3);
   1929 uchar3 __ovld __cnfn convert_uchar3_rte(ushort3);
   1930 uchar3 __ovld __cnfn convert_uchar3_sat_rte(ushort3);
   1931 uchar3 __ovld __cnfn convert_uchar3_rtz(ushort3);
   1932 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(ushort3);
   1933 uchar3 __ovld __cnfn convert_uchar3_rtp(ushort3);
   1934 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(ushort3);
   1935 uchar3 __ovld __cnfn convert_uchar3_rtn(ushort3);
   1936 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(ushort3);
   1937 uchar3 __ovld __cnfn convert_uchar3(ushort3);
   1938 uchar3 __ovld __cnfn convert_uchar3_sat(ushort3);
   1939 uchar3 __ovld __cnfn convert_uchar3_rte(int3);
   1940 uchar3 __ovld __cnfn convert_uchar3_sat_rte(int3);
   1941 uchar3 __ovld __cnfn convert_uchar3_rtz(int3);
   1942 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(int3);
   1943 uchar3 __ovld __cnfn convert_uchar3_rtp(int3);
   1944 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(int3);
   1945 uchar3 __ovld __cnfn convert_uchar3_rtn(int3);
   1946 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(int3);
   1947 uchar3 __ovld __cnfn convert_uchar3(int3);
   1948 uchar3 __ovld __cnfn convert_uchar3_sat(int3);
   1949 uchar3 __ovld __cnfn convert_uchar3_rte(uint3);
   1950 uchar3 __ovld __cnfn convert_uchar3_sat_rte(uint3);
   1951 uchar3 __ovld __cnfn convert_uchar3_rtz(uint3);
   1952 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(uint3);
   1953 uchar3 __ovld __cnfn convert_uchar3_rtp(uint3);
   1954 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(uint3);
   1955 uchar3 __ovld __cnfn convert_uchar3_rtn(uint3);
   1956 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(uint3);
   1957 uchar3 __ovld __cnfn convert_uchar3(uint3);
   1958 uchar3 __ovld __cnfn convert_uchar3_sat(uint3);
   1959 uchar3 __ovld __cnfn convert_uchar3_rte(long3);
   1960 uchar3 __ovld __cnfn convert_uchar3_sat_rte(long3);
   1961 uchar3 __ovld __cnfn convert_uchar3_rtz(long3);
   1962 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(long3);
   1963 uchar3 __ovld __cnfn convert_uchar3_rtp(long3);
   1964 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(long3);
   1965 uchar3 __ovld __cnfn convert_uchar3_rtn(long3);
   1966 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(long3);
   1967 uchar3 __ovld __cnfn convert_uchar3(long3);
   1968 uchar3 __ovld __cnfn convert_uchar3_sat(long3);
   1969 uchar3 __ovld __cnfn convert_uchar3_rte(ulong3);
   1970 uchar3 __ovld __cnfn convert_uchar3_sat_rte(ulong3);
   1971 uchar3 __ovld __cnfn convert_uchar3_rtz(ulong3);
   1972 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(ulong3);
   1973 uchar3 __ovld __cnfn convert_uchar3_rtp(ulong3);
   1974 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(ulong3);
   1975 uchar3 __ovld __cnfn convert_uchar3_rtn(ulong3);
   1976 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(ulong3);
   1977 uchar3 __ovld __cnfn convert_uchar3(ulong3);
   1978 uchar3 __ovld __cnfn convert_uchar3_sat(ulong3);
   1979 uchar3 __ovld __cnfn convert_uchar3_rte(float3);
   1980 uchar3 __ovld __cnfn convert_uchar3_sat_rte(float3);
   1981 uchar3 __ovld __cnfn convert_uchar3_rtz(float3);
   1982 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(float3);
   1983 uchar3 __ovld __cnfn convert_uchar3_rtp(float3);
   1984 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(float3);
   1985 uchar3 __ovld __cnfn convert_uchar3_rtn(float3);
   1986 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(float3);
   1987 uchar3 __ovld __cnfn convert_uchar3(float3);
   1988 uchar3 __ovld __cnfn convert_uchar3_sat(float3);
   1989 short3 __ovld __cnfn convert_short3_rte(char3);
   1990 short3 __ovld __cnfn convert_short3_sat_rte(char3);
   1991 short3 __ovld __cnfn convert_short3_rtz(char3);
   1992 short3 __ovld __cnfn convert_short3_sat_rtz(char3);
   1993 short3 __ovld __cnfn convert_short3_rtp(char3);
   1994 short3 __ovld __cnfn convert_short3_sat_rtp(char3);
   1995 short3 __ovld __cnfn convert_short3_rtn(char3);
   1996 short3 __ovld __cnfn convert_short3_sat_rtn(char3);
   1997 short3 __ovld __cnfn convert_short3(char3);
   1998 short3 __ovld __cnfn convert_short3_sat(char3);
   1999 short3 __ovld __cnfn convert_short3_rte(uchar3);
   2000 short3 __ovld __cnfn convert_short3_sat_rte(uchar3);
   2001 short3 __ovld __cnfn convert_short3_rtz(uchar3);
   2002 short3 __ovld __cnfn convert_short3_sat_rtz(uchar3);
   2003 short3 __ovld __cnfn convert_short3_rtp(uchar3);
   2004 short3 __ovld __cnfn convert_short3_sat_rtp(uchar3);
   2005 short3 __ovld __cnfn convert_short3_rtn(uchar3);
   2006 short3 __ovld __cnfn convert_short3_sat_rtn(uchar3);
   2007 short3 __ovld __cnfn convert_short3(uchar3);
   2008 short3 __ovld __cnfn convert_short3_sat(uchar3);
   2009 short3 __ovld __cnfn convert_short3_rte(short3);
   2010 short3 __ovld __cnfn convert_short3_sat_rte(short3);
   2011 short3 __ovld __cnfn convert_short3_rtz(short3);
   2012 short3 __ovld __cnfn convert_short3_sat_rtz(short3);
   2013 short3 __ovld __cnfn convert_short3_rtp(short3);
   2014 short3 __ovld __cnfn convert_short3_sat_rtp(short3);
   2015 short3 __ovld __cnfn convert_short3_rtn(short3);
   2016 short3 __ovld __cnfn convert_short3_sat_rtn(short3);
   2017 short3 __ovld __cnfn convert_short3(short3);
   2018 short3 __ovld __cnfn convert_short3_sat(short3);
   2019 short3 __ovld __cnfn convert_short3_rte(ushort3);
   2020 short3 __ovld __cnfn convert_short3_sat_rte(ushort3);
   2021 short3 __ovld __cnfn convert_short3_rtz(ushort3);
   2022 short3 __ovld __cnfn convert_short3_sat_rtz(ushort3);
   2023 short3 __ovld __cnfn convert_short3_rtp(ushort3);
   2024 short3 __ovld __cnfn convert_short3_sat_rtp(ushort3);
   2025 short3 __ovld __cnfn convert_short3_rtn(ushort3);
   2026 short3 __ovld __cnfn convert_short3_sat_rtn(ushort3);
   2027 short3 __ovld __cnfn convert_short3(ushort3);
   2028 short3 __ovld __cnfn convert_short3_sat(ushort3);
   2029 short3 __ovld __cnfn convert_short3_rte(int3);
   2030 short3 __ovld __cnfn convert_short3_sat_rte(int3);
   2031 short3 __ovld __cnfn convert_short3_rtz(int3);
   2032 short3 __ovld __cnfn convert_short3_sat_rtz(int3);
   2033 short3 __ovld __cnfn convert_short3_rtp(int3);
   2034 short3 __ovld __cnfn convert_short3_sat_rtp(int3);
   2035 short3 __ovld __cnfn convert_short3_rtn(int3);
   2036 short3 __ovld __cnfn convert_short3_sat_rtn(int3);
   2037 short3 __ovld __cnfn convert_short3(int3);
   2038 short3 __ovld __cnfn convert_short3_sat(int3);
   2039 short3 __ovld __cnfn convert_short3_rte(uint3);
   2040 short3 __ovld __cnfn convert_short3_sat_rte(uint3);
   2041 short3 __ovld __cnfn convert_short3_rtz(uint3);
   2042 short3 __ovld __cnfn convert_short3_sat_rtz(uint3);
   2043 short3 __ovld __cnfn convert_short3_rtp(uint3);
   2044 short3 __ovld __cnfn convert_short3_sat_rtp(uint3);
   2045 short3 __ovld __cnfn convert_short3_rtn(uint3);
   2046 short3 __ovld __cnfn convert_short3_sat_rtn(uint3);
   2047 short3 __ovld __cnfn convert_short3(uint3);
   2048 short3 __ovld __cnfn convert_short3_sat(uint3);
   2049 short3 __ovld __cnfn convert_short3_rte(long3);
   2050 short3 __ovld __cnfn convert_short3_sat_rte(long3);
   2051 short3 __ovld __cnfn convert_short3_rtz(long3);
   2052 short3 __ovld __cnfn convert_short3_sat_rtz(long3);
   2053 short3 __ovld __cnfn convert_short3_rtp(long3);
   2054 short3 __ovld __cnfn convert_short3_sat_rtp(long3);
   2055 short3 __ovld __cnfn convert_short3_rtn(long3);
   2056 short3 __ovld __cnfn convert_short3_sat_rtn(long3);
   2057 short3 __ovld __cnfn convert_short3(long3);
   2058 short3 __ovld __cnfn convert_short3_sat(long3);
   2059 short3 __ovld __cnfn convert_short3_rte(ulong3);
   2060 short3 __ovld __cnfn convert_short3_sat_rte(ulong3);
   2061 short3 __ovld __cnfn convert_short3_rtz(ulong3);
   2062 short3 __ovld __cnfn convert_short3_sat_rtz(ulong3);
   2063 short3 __ovld __cnfn convert_short3_rtp(ulong3);
   2064 short3 __ovld __cnfn convert_short3_sat_rtp(ulong3);
   2065 short3 __ovld __cnfn convert_short3_rtn(ulong3);
   2066 short3 __ovld __cnfn convert_short3_sat_rtn(ulong3);
   2067 short3 __ovld __cnfn convert_short3(ulong3);
   2068 short3 __ovld __cnfn convert_short3_sat(ulong3);
   2069 short3 __ovld __cnfn convert_short3_rte(float3);
   2070 short3 __ovld __cnfn convert_short3_sat_rte(float3);
   2071 short3 __ovld __cnfn convert_short3_rtz(float3);
   2072 short3 __ovld __cnfn convert_short3_sat_rtz(float3);
   2073 short3 __ovld __cnfn convert_short3_rtp(float3);
   2074 short3 __ovld __cnfn convert_short3_sat_rtp(float3);
   2075 short3 __ovld __cnfn convert_short3_rtn(float3);
   2076 short3 __ovld __cnfn convert_short3_sat_rtn(float3);
   2077 short3 __ovld __cnfn convert_short3(float3);
   2078 short3 __ovld __cnfn convert_short3_sat(float3);
   2079 ushort3 __ovld __cnfn convert_ushort3_rte(char3);
   2080 ushort3 __ovld __cnfn convert_ushort3_sat_rte(char3);
   2081 ushort3 __ovld __cnfn convert_ushort3_rtz(char3);
   2082 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(char3);
   2083 ushort3 __ovld __cnfn convert_ushort3_rtp(char3);
   2084 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(char3);
   2085 ushort3 __ovld __cnfn convert_ushort3_rtn(char3);
   2086 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(char3);
   2087 ushort3 __ovld __cnfn convert_ushort3(char3);
   2088 ushort3 __ovld __cnfn convert_ushort3_sat(char3);
   2089 ushort3 __ovld __cnfn convert_ushort3_rte(uchar3);
   2090 ushort3 __ovld __cnfn convert_ushort3_sat_rte(uchar3);
   2091 ushort3 __ovld __cnfn convert_ushort3_rtz(uchar3);
   2092 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(uchar3);
   2093 ushort3 __ovld __cnfn convert_ushort3_rtp(uchar3);
   2094 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(uchar3);
   2095 ushort3 __ovld __cnfn convert_ushort3_rtn(uchar3);
   2096 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(uchar3);
   2097 ushort3 __ovld __cnfn convert_ushort3(uchar3);
   2098 ushort3 __ovld __cnfn convert_ushort3_sat(uchar3);
   2099 ushort3 __ovld __cnfn convert_ushort3_rte(short3);
   2100 ushort3 __ovld __cnfn convert_ushort3_sat_rte(short3);
   2101 ushort3 __ovld __cnfn convert_ushort3_rtz(short3);
   2102 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(short3);
   2103 ushort3 __ovld __cnfn convert_ushort3_rtp(short3);
   2104 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(short3);
   2105 ushort3 __ovld __cnfn convert_ushort3_rtn(short3);
   2106 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(short3);
   2107 ushort3 __ovld __cnfn convert_ushort3(short3);
   2108 ushort3 __ovld __cnfn convert_ushort3_sat(short3);
   2109 ushort3 __ovld __cnfn convert_ushort3_rte(ushort3);
   2110 ushort3 __ovld __cnfn convert_ushort3_sat_rte(ushort3);
   2111 ushort3 __ovld __cnfn convert_ushort3_rtz(ushort3);
   2112 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(ushort3);
   2113 ushort3 __ovld __cnfn convert_ushort3_rtp(ushort3);
   2114 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(ushort3);
   2115 ushort3 __ovld __cnfn convert_ushort3_rtn(ushort3);
   2116 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(ushort3);
   2117 ushort3 __ovld __cnfn convert_ushort3(ushort3);
   2118 ushort3 __ovld __cnfn convert_ushort3_sat(ushort3);
   2119 ushort3 __ovld __cnfn convert_ushort3_rte(int3);
   2120 ushort3 __ovld __cnfn convert_ushort3_sat_rte(int3);
   2121 ushort3 __ovld __cnfn convert_ushort3_rtz(int3);
   2122 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(int3);
   2123 ushort3 __ovld __cnfn convert_ushort3_rtp(int3);
   2124 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(int3);
   2125 ushort3 __ovld __cnfn convert_ushort3_rtn(int3);
   2126 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(int3);
   2127 ushort3 __ovld __cnfn convert_ushort3(int3);
   2128 ushort3 __ovld __cnfn convert_ushort3_sat(int3);
   2129 ushort3 __ovld __cnfn convert_ushort3_rte(uint3);
   2130 ushort3 __ovld __cnfn convert_ushort3_sat_rte(uint3);
   2131 ushort3 __ovld __cnfn convert_ushort3_rtz(uint3);
   2132 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(uint3);
   2133 ushort3 __ovld __cnfn convert_ushort3_rtp(uint3);
   2134 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(uint3);
   2135 ushort3 __ovld __cnfn convert_ushort3_rtn(uint3);
   2136 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(uint3);
   2137 ushort3 __ovld __cnfn convert_ushort3(uint3);
   2138 ushort3 __ovld __cnfn convert_ushort3_sat(uint3);
   2139 ushort3 __ovld __cnfn convert_ushort3_rte(long3);
   2140 ushort3 __ovld __cnfn convert_ushort3_sat_rte(long3);
   2141 ushort3 __ovld __cnfn convert_ushort3_rtz(long3);
   2142 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(long3);
   2143 ushort3 __ovld __cnfn convert_ushort3_rtp(long3);
   2144 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(long3);
   2145 ushort3 __ovld __cnfn convert_ushort3_rtn(long3);
   2146 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(long3);
   2147 ushort3 __ovld __cnfn convert_ushort3(long3);
   2148 ushort3 __ovld __cnfn convert_ushort3_sat(long3);
   2149 ushort3 __ovld __cnfn convert_ushort3_rte(ulong3);
   2150 ushort3 __ovld __cnfn convert_ushort3_sat_rte(ulong3);
   2151 ushort3 __ovld __cnfn convert_ushort3_rtz(ulong3);
   2152 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(ulong3);
   2153 ushort3 __ovld __cnfn convert_ushort3_rtp(ulong3);
   2154 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(ulong3);
   2155 ushort3 __ovld __cnfn convert_ushort3_rtn(ulong3);
   2156 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(ulong3);
   2157 ushort3 __ovld __cnfn convert_ushort3(ulong3);
   2158 ushort3 __ovld __cnfn convert_ushort3_sat(ulong3);
   2159 ushort3 __ovld __cnfn convert_ushort3_rte(float3);
   2160 ushort3 __ovld __cnfn convert_ushort3_sat_rte(float3);
   2161 ushort3 __ovld __cnfn convert_ushort3_rtz(float3);
   2162 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(float3);
   2163 ushort3 __ovld __cnfn convert_ushort3_rtp(float3);
   2164 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(float3);
   2165 ushort3 __ovld __cnfn convert_ushort3_rtn(float3);
   2166 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(float3);
   2167 ushort3 __ovld __cnfn convert_ushort3(float3);
   2168 ushort3 __ovld __cnfn convert_ushort3_sat(float3);
   2169 int3 __ovld __cnfn convert_int3_rte(char3);
   2170 int3 __ovld __cnfn convert_int3_sat_rte(char3);
   2171 int3 __ovld __cnfn convert_int3_rtz(char3);
   2172 int3 __ovld __cnfn convert_int3_sat_rtz(char3);
   2173 int3 __ovld __cnfn convert_int3_rtp(char3);
   2174 int3 __ovld __cnfn convert_int3_sat_rtp(char3);
   2175 int3 __ovld __cnfn convert_int3_rtn(char3);
   2176 int3 __ovld __cnfn convert_int3_sat_rtn(char3);
   2177 int3 __ovld __cnfn convert_int3(char3);
   2178 int3 __ovld __cnfn convert_int3_sat(char3);
   2179 int3 __ovld __cnfn convert_int3_rte(uchar3);
   2180 int3 __ovld __cnfn convert_int3_sat_rte(uchar3);
   2181 int3 __ovld __cnfn convert_int3_rtz(uchar3);
   2182 int3 __ovld __cnfn convert_int3_sat_rtz(uchar3);
   2183 int3 __ovld __cnfn convert_int3_rtp(uchar3);
   2184 int3 __ovld __cnfn convert_int3_sat_rtp(uchar3);
   2185 int3 __ovld __cnfn convert_int3_rtn(uchar3);
   2186 int3 __ovld __cnfn convert_int3_sat_rtn(uchar3);
   2187 int3 __ovld __cnfn convert_int3(uchar3);
   2188 int3 __ovld __cnfn convert_int3_sat(uchar3);
   2189 int3 __ovld __cnfn convert_int3_rte(short3);
   2190 int3 __ovld __cnfn convert_int3_sat_rte(short3);
   2191 int3 __ovld __cnfn convert_int3_rtz(short3);
   2192 int3 __ovld __cnfn convert_int3_sat_rtz(short3);
   2193 int3 __ovld __cnfn convert_int3_rtp(short3);
   2194 int3 __ovld __cnfn convert_int3_sat_rtp(short3);
   2195 int3 __ovld __cnfn convert_int3_rtn(short3);
   2196 int3 __ovld __cnfn convert_int3_sat_rtn(short3);
   2197 int3 __ovld __cnfn convert_int3(short3);
   2198 int3 __ovld __cnfn convert_int3_sat(short3);
   2199 int3 __ovld __cnfn convert_int3_rte(ushort3);
   2200 int3 __ovld __cnfn convert_int3_sat_rte(ushort3);
   2201 int3 __ovld __cnfn convert_int3_rtz(ushort3);
   2202 int3 __ovld __cnfn convert_int3_sat_rtz(ushort3);
   2203 int3 __ovld __cnfn convert_int3_rtp(ushort3);
   2204 int3 __ovld __cnfn convert_int3_sat_rtp(ushort3);
   2205 int3 __ovld __cnfn convert_int3_rtn(ushort3);
   2206 int3 __ovld __cnfn convert_int3_sat_rtn(ushort3);
   2207 int3 __ovld __cnfn convert_int3(ushort3);
   2208 int3 __ovld __cnfn convert_int3_sat(ushort3);
   2209 int3 __ovld __cnfn convert_int3_rte(int3);
   2210 int3 __ovld __cnfn convert_int3_sat_rte(int3);
   2211 int3 __ovld __cnfn convert_int3_rtz(int3);
   2212 int3 __ovld __cnfn convert_int3_sat_rtz(int3);
   2213 int3 __ovld __cnfn convert_int3_rtp(int3);
   2214 int3 __ovld __cnfn convert_int3_sat_rtp(int3);
   2215 int3 __ovld __cnfn convert_int3_rtn(int3);
   2216 int3 __ovld __cnfn convert_int3_sat_rtn(int3);
   2217 int3 __ovld __cnfn convert_int3(int3);
   2218 int3 __ovld __cnfn convert_int3_sat(int3);
   2219 int3 __ovld __cnfn convert_int3_rte(uint3);
   2220 int3 __ovld __cnfn convert_int3_sat_rte(uint3);
   2221 int3 __ovld __cnfn convert_int3_rtz(uint3);
   2222 int3 __ovld __cnfn convert_int3_sat_rtz(uint3);
   2223 int3 __ovld __cnfn convert_int3_rtp(uint3);
   2224 int3 __ovld __cnfn convert_int3_sat_rtp(uint3);
   2225 int3 __ovld __cnfn convert_int3_rtn(uint3);
   2226 int3 __ovld __cnfn convert_int3_sat_rtn(uint3);
   2227 int3 __ovld __cnfn convert_int3(uint3);
   2228 int3 __ovld __cnfn convert_int3_sat(uint3);
   2229 int3 __ovld __cnfn convert_int3_rte(long3);
   2230 int3 __ovld __cnfn convert_int3_sat_rte(long3);
   2231 int3 __ovld __cnfn convert_int3_rtz(long3);
   2232 int3 __ovld __cnfn convert_int3_sat_rtz(long3);
   2233 int3 __ovld __cnfn convert_int3_rtp(long3);
   2234 int3 __ovld __cnfn convert_int3_sat_rtp(long3);
   2235 int3 __ovld __cnfn convert_int3_rtn(long3);
   2236 int3 __ovld __cnfn convert_int3_sat_rtn(long3);
   2237 int3 __ovld __cnfn convert_int3(long3);
   2238 int3 __ovld __cnfn convert_int3_sat(long3);
   2239 int3 __ovld __cnfn convert_int3_rte(ulong3);
   2240 int3 __ovld __cnfn convert_int3_sat_rte(ulong3);
   2241 int3 __ovld __cnfn convert_int3_rtz(ulong3);
   2242 int3 __ovld __cnfn convert_int3_sat_rtz(ulong3);
   2243 int3 __ovld __cnfn convert_int3_rtp(ulong3);
   2244 int3 __ovld __cnfn convert_int3_sat_rtp(ulong3);
   2245 int3 __ovld __cnfn convert_int3_rtn(ulong3);
   2246 int3 __ovld __cnfn convert_int3_sat_rtn(ulong3);
   2247 int3 __ovld __cnfn convert_int3(ulong3);
   2248 int3 __ovld __cnfn convert_int3_sat(ulong3);
   2249 int3 __ovld __cnfn convert_int3_rte(float3);
   2250 int3 __ovld __cnfn convert_int3_sat_rte(float3);
   2251 int3 __ovld __cnfn convert_int3_rtz(float3);
   2252 int3 __ovld __cnfn convert_int3_sat_rtz(float3);
   2253 int3 __ovld __cnfn convert_int3_rtp(float3);
   2254 int3 __ovld __cnfn convert_int3_sat_rtp(float3);
   2255 int3 __ovld __cnfn convert_int3_rtn(float3);
   2256 int3 __ovld __cnfn convert_int3_sat_rtn(float3);
   2257 int3 __ovld __cnfn convert_int3(float3);
   2258 int3 __ovld __cnfn convert_int3_sat(float3);
   2259 uint3 __ovld __cnfn convert_uint3_rte(char3);
   2260 uint3 __ovld __cnfn convert_uint3_sat_rte(char3);
   2261 uint3 __ovld __cnfn convert_uint3_rtz(char3);
   2262 uint3 __ovld __cnfn convert_uint3_sat_rtz(char3);
   2263 uint3 __ovld __cnfn convert_uint3_rtp(char3);
   2264 uint3 __ovld __cnfn convert_uint3_sat_rtp(char3);
   2265 uint3 __ovld __cnfn convert_uint3_rtn(char3);
   2266 uint3 __ovld __cnfn convert_uint3_sat_rtn(char3);
   2267 uint3 __ovld __cnfn convert_uint3(char3);
   2268 uint3 __ovld __cnfn convert_uint3_sat(char3);
   2269 uint3 __ovld __cnfn convert_uint3_rte(uchar3);
   2270 uint3 __ovld __cnfn convert_uint3_sat_rte(uchar3);
   2271 uint3 __ovld __cnfn convert_uint3_rtz(uchar3);
   2272 uint3 __ovld __cnfn convert_uint3_sat_rtz(uchar3);
   2273 uint3 __ovld __cnfn convert_uint3_rtp(uchar3);
   2274 uint3 __ovld __cnfn convert_uint3_sat_rtp(uchar3);
   2275 uint3 __ovld __cnfn convert_uint3_rtn(uchar3);
   2276 uint3 __ovld __cnfn convert_uint3_sat_rtn(uchar3);
   2277 uint3 __ovld __cnfn convert_uint3(uchar3);
   2278 uint3 __ovld __cnfn convert_uint3_sat(uchar3);
   2279 uint3 __ovld __cnfn convert_uint3_rte(short3);
   2280 uint3 __ovld __cnfn convert_uint3_sat_rte(short3);
   2281 uint3 __ovld __cnfn convert_uint3_rtz(short3);
   2282 uint3 __ovld __cnfn convert_uint3_sat_rtz(short3);
   2283 uint3 __ovld __cnfn convert_uint3_rtp(short3);
   2284 uint3 __ovld __cnfn convert_uint3_sat_rtp(short3);
   2285 uint3 __ovld __cnfn convert_uint3_rtn(short3);
   2286 uint3 __ovld __cnfn convert_uint3_sat_rtn(short3);
   2287 uint3 __ovld __cnfn convert_uint3(short3);
   2288 uint3 __ovld __cnfn convert_uint3_sat(short3);
   2289 uint3 __ovld __cnfn convert_uint3_rte(ushort3);
   2290 uint3 __ovld __cnfn convert_uint3_sat_rte(ushort3);
   2291 uint3 __ovld __cnfn convert_uint3_rtz(ushort3);
   2292 uint3 __ovld __cnfn convert_uint3_sat_rtz(ushort3);
   2293 uint3 __ovld __cnfn convert_uint3_rtp(ushort3);
   2294 uint3 __ovld __cnfn convert_uint3_sat_rtp(ushort3);
   2295 uint3 __ovld __cnfn convert_uint3_rtn(ushort3);
   2296 uint3 __ovld __cnfn convert_uint3_sat_rtn(ushort3);
   2297 uint3 __ovld __cnfn convert_uint3(ushort3);
   2298 uint3 __ovld __cnfn convert_uint3_sat(ushort3);
   2299 uint3 __ovld __cnfn convert_uint3_rte(int3);
   2300 uint3 __ovld __cnfn convert_uint3_sat_rte(int3);
   2301 uint3 __ovld __cnfn convert_uint3_rtz(int3);
   2302 uint3 __ovld __cnfn convert_uint3_sat_rtz(int3);
   2303 uint3 __ovld __cnfn convert_uint3_rtp(int3);
   2304 uint3 __ovld __cnfn convert_uint3_sat_rtp(int3);
   2305 uint3 __ovld __cnfn convert_uint3_rtn(int3);
   2306 uint3 __ovld __cnfn convert_uint3_sat_rtn(int3);
   2307 uint3 __ovld __cnfn convert_uint3(int3);
   2308 uint3 __ovld __cnfn convert_uint3_sat(int3);
   2309 uint3 __ovld __cnfn convert_uint3_rte(uint3);
   2310 uint3 __ovld __cnfn convert_uint3_sat_rte(uint3);
   2311 uint3 __ovld __cnfn convert_uint3_rtz(uint3);
   2312 uint3 __ovld __cnfn convert_uint3_sat_rtz(uint3);
   2313 uint3 __ovld __cnfn convert_uint3_rtp(uint3);
   2314 uint3 __ovld __cnfn convert_uint3_sat_rtp(uint3);
   2315 uint3 __ovld __cnfn convert_uint3_rtn(uint3);
   2316 uint3 __ovld __cnfn convert_uint3_sat_rtn(uint3);
   2317 uint3 __ovld __cnfn convert_uint3(uint3);
   2318 uint3 __ovld __cnfn convert_uint3_sat(uint3);
   2319 uint3 __ovld __cnfn convert_uint3_rte(long3);
   2320 uint3 __ovld __cnfn convert_uint3_sat_rte(long3);
   2321 uint3 __ovld __cnfn convert_uint3_rtz(long3);
   2322 uint3 __ovld __cnfn convert_uint3_sat_rtz(long3);
   2323 uint3 __ovld __cnfn convert_uint3_rtp(long3);
   2324 uint3 __ovld __cnfn convert_uint3_sat_rtp(long3);
   2325 uint3 __ovld __cnfn convert_uint3_rtn(long3);
   2326 uint3 __ovld __cnfn convert_uint3_sat_rtn(long3);
   2327 uint3 __ovld __cnfn convert_uint3(long3);
   2328 uint3 __ovld __cnfn convert_uint3_sat(long3);
   2329 uint3 __ovld __cnfn convert_uint3_rte(ulong3);
   2330 uint3 __ovld __cnfn convert_uint3_sat_rte(ulong3);
   2331 uint3 __ovld __cnfn convert_uint3_rtz(ulong3);
   2332 uint3 __ovld __cnfn convert_uint3_sat_rtz(ulong3);
   2333 uint3 __ovld __cnfn convert_uint3_rtp(ulong3);
   2334 uint3 __ovld __cnfn convert_uint3_sat_rtp(ulong3);
   2335 uint3 __ovld __cnfn convert_uint3_rtn(ulong3);
   2336 uint3 __ovld __cnfn convert_uint3_sat_rtn(ulong3);
   2337 uint3 __ovld __cnfn convert_uint3(ulong3);
   2338 uint3 __ovld __cnfn convert_uint3_sat(ulong3);
   2339 uint3 __ovld __cnfn convert_uint3_rte(float3);
   2340 uint3 __ovld __cnfn convert_uint3_sat_rte(float3);
   2341 uint3 __ovld __cnfn convert_uint3_rtz(float3);
   2342 uint3 __ovld __cnfn convert_uint3_sat_rtz(float3);
   2343 uint3 __ovld __cnfn convert_uint3_rtp(float3);
   2344 uint3 __ovld __cnfn convert_uint3_sat_rtp(float3);
   2345 uint3 __ovld __cnfn convert_uint3_rtn(float3);
   2346 uint3 __ovld __cnfn convert_uint3_sat_rtn(float3);
   2347 uint3 __ovld __cnfn convert_uint3(float3);
   2348 uint3 __ovld __cnfn convert_uint3_sat(float3);
   2349 long3 __ovld __cnfn convert_long3_rte(char3);
   2350 long3 __ovld __cnfn convert_long3_sat_rte(char3);
   2351 long3 __ovld __cnfn convert_long3_rtz(char3);
   2352 long3 __ovld __cnfn convert_long3_sat_rtz(char3);
   2353 long3 __ovld __cnfn convert_long3_rtp(char3);
   2354 long3 __ovld __cnfn convert_long3_sat_rtp(char3);
   2355 long3 __ovld __cnfn convert_long3_rtn(char3);
   2356 long3 __ovld __cnfn convert_long3_sat_rtn(char3);
   2357 long3 __ovld __cnfn convert_long3(char3);
   2358 long3 __ovld __cnfn convert_long3_sat(char3);
   2359 long3 __ovld __cnfn convert_long3_rte(uchar3);
   2360 long3 __ovld __cnfn convert_long3_sat_rte(uchar3);
   2361 long3 __ovld __cnfn convert_long3_rtz(uchar3);
   2362 long3 __ovld __cnfn convert_long3_sat_rtz(uchar3);
   2363 long3 __ovld __cnfn convert_long3_rtp(uchar3);
   2364 long3 __ovld __cnfn convert_long3_sat_rtp(uchar3);
   2365 long3 __ovld __cnfn convert_long3_rtn(uchar3);
   2366 long3 __ovld __cnfn convert_long3_sat_rtn(uchar3);
   2367 long3 __ovld __cnfn convert_long3(uchar3);
   2368 long3 __ovld __cnfn convert_long3_sat(uchar3);
   2369 long3 __ovld __cnfn convert_long3_rte(short3);
   2370 long3 __ovld __cnfn convert_long3_sat_rte(short3);
   2371 long3 __ovld __cnfn convert_long3_rtz(short3);
   2372 long3 __ovld __cnfn convert_long3_sat_rtz(short3);
   2373 long3 __ovld __cnfn convert_long3_rtp(short3);
   2374 long3 __ovld __cnfn convert_long3_sat_rtp(short3);
   2375 long3 __ovld __cnfn convert_long3_rtn(short3);
   2376 long3 __ovld __cnfn convert_long3_sat_rtn(short3);
   2377 long3 __ovld __cnfn convert_long3(short3);
   2378 long3 __ovld __cnfn convert_long3_sat(short3);
   2379 long3 __ovld __cnfn convert_long3_rte(ushort3);
   2380 long3 __ovld __cnfn convert_long3_sat_rte(ushort3);
   2381 long3 __ovld __cnfn convert_long3_rtz(ushort3);
   2382 long3 __ovld __cnfn convert_long3_sat_rtz(ushort3);
   2383 long3 __ovld __cnfn convert_long3_rtp(ushort3);
   2384 long3 __ovld __cnfn convert_long3_sat_rtp(ushort3);
   2385 long3 __ovld __cnfn convert_long3_rtn(ushort3);
   2386 long3 __ovld __cnfn convert_long3_sat_rtn(ushort3);
   2387 long3 __ovld __cnfn convert_long3(ushort3);
   2388 long3 __ovld __cnfn convert_long3_sat(ushort3);
   2389 long3 __ovld __cnfn convert_long3_rte(int3);
   2390 long3 __ovld __cnfn convert_long3_sat_rte(int3);
   2391 long3 __ovld __cnfn convert_long3_rtz(int3);
   2392 long3 __ovld __cnfn convert_long3_sat_rtz(int3);
   2393 long3 __ovld __cnfn convert_long3_rtp(int3);
   2394 long3 __ovld __cnfn convert_long3_sat_rtp(int3);
   2395 long3 __ovld __cnfn convert_long3_rtn(int3);
   2396 long3 __ovld __cnfn convert_long3_sat_rtn(int3);
   2397 long3 __ovld __cnfn convert_long3(int3);
   2398 long3 __ovld __cnfn convert_long3_sat(int3);
   2399 long3 __ovld __cnfn convert_long3_rte(uint3);
   2400 long3 __ovld __cnfn convert_long3_sat_rte(uint3);
   2401 long3 __ovld __cnfn convert_long3_rtz(uint3);
   2402 long3 __ovld __cnfn convert_long3_sat_rtz(uint3);
   2403 long3 __ovld __cnfn convert_long3_rtp(uint3);
   2404 long3 __ovld __cnfn convert_long3_sat_rtp(uint3);
   2405 long3 __ovld __cnfn convert_long3_rtn(uint3);
   2406 long3 __ovld __cnfn convert_long3_sat_rtn(uint3);
   2407 long3 __ovld __cnfn convert_long3(uint3);
   2408 long3 __ovld __cnfn convert_long3_sat(uint3);
   2409 long3 __ovld __cnfn convert_long3_rte(long3);
   2410 long3 __ovld __cnfn convert_long3_sat_rte(long3);
   2411 long3 __ovld __cnfn convert_long3_rtz(long3);
   2412 long3 __ovld __cnfn convert_long3_sat_rtz(long3);
   2413 long3 __ovld __cnfn convert_long3_rtp(long3);
   2414 long3 __ovld __cnfn convert_long3_sat_rtp(long3);
   2415 long3 __ovld __cnfn convert_long3_rtn(long3);
   2416 long3 __ovld __cnfn convert_long3_sat_rtn(long3);
   2417 long3 __ovld __cnfn convert_long3(long3);
   2418 long3 __ovld __cnfn convert_long3_sat(long3);
   2419 long3 __ovld __cnfn convert_long3_rte(ulong3);
   2420 long3 __ovld __cnfn convert_long3_sat_rte(ulong3);
   2421 long3 __ovld __cnfn convert_long3_rtz(ulong3);
   2422 long3 __ovld __cnfn convert_long3_sat_rtz(ulong3);
   2423 long3 __ovld __cnfn convert_long3_rtp(ulong3);
   2424 long3 __ovld __cnfn convert_long3_sat_rtp(ulong3);
   2425 long3 __ovld __cnfn convert_long3_rtn(ulong3);
   2426 long3 __ovld __cnfn convert_long3_sat_rtn(ulong3);
   2427 long3 __ovld __cnfn convert_long3(ulong3);
   2428 long3 __ovld __cnfn convert_long3_sat(ulong3);
   2429 long3 __ovld __cnfn convert_long3_rte(float3);
   2430 long3 __ovld __cnfn convert_long3_sat_rte(float3);
   2431 long3 __ovld __cnfn convert_long3_rtz(float3);
   2432 long3 __ovld __cnfn convert_long3_sat_rtz(float3);
   2433 long3 __ovld __cnfn convert_long3_rtp(float3);
   2434 long3 __ovld __cnfn convert_long3_sat_rtp(float3);
   2435 long3 __ovld __cnfn convert_long3_rtn(float3);
   2436 long3 __ovld __cnfn convert_long3_sat_rtn(float3);
   2437 long3 __ovld __cnfn convert_long3(float3);
   2438 long3 __ovld __cnfn convert_long3_sat(float3);
   2439 ulong3 __ovld __cnfn convert_ulong3_rte(char3);
   2440 ulong3 __ovld __cnfn convert_ulong3_sat_rte(char3);
   2441 ulong3 __ovld __cnfn convert_ulong3_rtz(char3);
   2442 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(char3);
   2443 ulong3 __ovld __cnfn convert_ulong3_rtp(char3);
   2444 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(char3);
   2445 ulong3 __ovld __cnfn convert_ulong3_rtn(char3);
   2446 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(char3);
   2447 ulong3 __ovld __cnfn convert_ulong3(char3);
   2448 ulong3 __ovld __cnfn convert_ulong3_sat(char3);
   2449 ulong3 __ovld __cnfn convert_ulong3_rte(uchar3);
   2450 ulong3 __ovld __cnfn convert_ulong3_sat_rte(uchar3);
   2451 ulong3 __ovld __cnfn convert_ulong3_rtz(uchar3);
   2452 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(uchar3);
   2453 ulong3 __ovld __cnfn convert_ulong3_rtp(uchar3);
   2454 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(uchar3);
   2455 ulong3 __ovld __cnfn convert_ulong3_rtn(uchar3);
   2456 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(uchar3);
   2457 ulong3 __ovld __cnfn convert_ulong3(uchar3);
   2458 ulong3 __ovld __cnfn convert_ulong3_sat(uchar3);
   2459 ulong3 __ovld __cnfn convert_ulong3_rte(short3);
   2460 ulong3 __ovld __cnfn convert_ulong3_sat_rte(short3);
   2461 ulong3 __ovld __cnfn convert_ulong3_rtz(short3);
   2462 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(short3);
   2463 ulong3 __ovld __cnfn convert_ulong3_rtp(short3);
   2464 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(short3);
   2465 ulong3 __ovld __cnfn convert_ulong3_rtn(short3);
   2466 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(short3);
   2467 ulong3 __ovld __cnfn convert_ulong3(short3);
   2468 ulong3 __ovld __cnfn convert_ulong3_sat(short3);
   2469 ulong3 __ovld __cnfn convert_ulong3_rte(ushort3);
   2470 ulong3 __ovld __cnfn convert_ulong3_sat_rte(ushort3);
   2471 ulong3 __ovld __cnfn convert_ulong3_rtz(ushort3);
   2472 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(ushort3);
   2473 ulong3 __ovld __cnfn convert_ulong3_rtp(ushort3);
   2474 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(ushort3);
   2475 ulong3 __ovld __cnfn convert_ulong3_rtn(ushort3);
   2476 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(ushort3);
   2477 ulong3 __ovld __cnfn convert_ulong3(ushort3);
   2478 ulong3 __ovld __cnfn convert_ulong3_sat(ushort3);
   2479 ulong3 __ovld __cnfn convert_ulong3_rte(int3);
   2480 ulong3 __ovld __cnfn convert_ulong3_sat_rte(int3);
   2481 ulong3 __ovld __cnfn convert_ulong3_rtz(int3);
   2482 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(int3);
   2483 ulong3 __ovld __cnfn convert_ulong3_rtp(int3);
   2484 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(int3);
   2485 ulong3 __ovld __cnfn convert_ulong3_rtn(int3);
   2486 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(int3);
   2487 ulong3 __ovld __cnfn convert_ulong3(int3);
   2488 ulong3 __ovld __cnfn convert_ulong3_sat(int3);
   2489 ulong3 __ovld __cnfn convert_ulong3_rte(uint3);
   2490 ulong3 __ovld __cnfn convert_ulong3_sat_rte(uint3);
   2491 ulong3 __ovld __cnfn convert_ulong3_rtz(uint3);
   2492 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(uint3);
   2493 ulong3 __ovld __cnfn convert_ulong3_rtp(uint3);
   2494 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(uint3);
   2495 ulong3 __ovld __cnfn convert_ulong3_rtn(uint3);
   2496 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(uint3);
   2497 ulong3 __ovld __cnfn convert_ulong3(uint3);
   2498 ulong3 __ovld __cnfn convert_ulong3_sat(uint3);
   2499 ulong3 __ovld __cnfn convert_ulong3_rte(long3);
   2500 ulong3 __ovld __cnfn convert_ulong3_sat_rte(long3);
   2501 ulong3 __ovld __cnfn convert_ulong3_rtz(long3);
   2502 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(long3);
   2503 ulong3 __ovld __cnfn convert_ulong3_rtp(long3);
   2504 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(long3);
   2505 ulong3 __ovld __cnfn convert_ulong3_rtn(long3);
   2506 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(long3);
   2507 ulong3 __ovld __cnfn convert_ulong3(long3);
   2508 ulong3 __ovld __cnfn convert_ulong3_sat(long3);
   2509 ulong3 __ovld __cnfn convert_ulong3_rte(ulong3);
   2510 ulong3 __ovld __cnfn convert_ulong3_sat_rte(ulong3);
   2511 ulong3 __ovld __cnfn convert_ulong3_rtz(ulong3);
   2512 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(ulong3);
   2513 ulong3 __ovld __cnfn convert_ulong3_rtp(ulong3);
   2514 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(ulong3);
   2515 ulong3 __ovld __cnfn convert_ulong3_rtn(ulong3);
   2516 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(ulong3);
   2517 ulong3 __ovld __cnfn convert_ulong3(ulong3);
   2518 ulong3 __ovld __cnfn convert_ulong3_sat(ulong3);
   2519 ulong3 __ovld __cnfn convert_ulong3_rte(float3);
   2520 ulong3 __ovld __cnfn convert_ulong3_sat_rte(float3);
   2521 ulong3 __ovld __cnfn convert_ulong3_rtz(float3);
   2522 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(float3);
   2523 ulong3 __ovld __cnfn convert_ulong3_rtp(float3);
   2524 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(float3);
   2525 ulong3 __ovld __cnfn convert_ulong3_rtn(float3);
   2526 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(float3);
   2527 ulong3 __ovld __cnfn convert_ulong3(float3);
   2528 ulong3 __ovld __cnfn convert_ulong3_sat(float3);
   2529 float3 __ovld __cnfn convert_float3_rte(char3);
   2530 float3 __ovld __cnfn convert_float3_rtz(char3);
   2531 float3 __ovld __cnfn convert_float3_rtp(char3);
   2532 float3 __ovld __cnfn convert_float3_rtn(char3);
   2533 float3 __ovld __cnfn convert_float3(char3);
   2534 float3 __ovld __cnfn convert_float3_rte(uchar3);
   2535 float3 __ovld __cnfn convert_float3_rtz(uchar3);
   2536 float3 __ovld __cnfn convert_float3_rtp(uchar3);
   2537 float3 __ovld __cnfn convert_float3_rtn(uchar3);
   2538 float3 __ovld __cnfn convert_float3(uchar3);
   2539 float3 __ovld __cnfn convert_float3_rte(short3);
   2540 float3 __ovld __cnfn convert_float3_rtz(short3);
   2541 float3 __ovld __cnfn convert_float3_rtp(short3);
   2542 float3 __ovld __cnfn convert_float3_rtn(short3);
   2543 float3 __ovld __cnfn convert_float3(short3);
   2544 float3 __ovld __cnfn convert_float3_rte(ushort3);
   2545 float3 __ovld __cnfn convert_float3_rtz(ushort3);
   2546 float3 __ovld __cnfn convert_float3_rtp(ushort3);
   2547 float3 __ovld __cnfn convert_float3_rtn(ushort3);
   2548 float3 __ovld __cnfn convert_float3(ushort3);
   2549 float3 __ovld __cnfn convert_float3_rte(int3);
   2550 float3 __ovld __cnfn convert_float3_rtz(int3);
   2551 float3 __ovld __cnfn convert_float3_rtp(int3);
   2552 float3 __ovld __cnfn convert_float3_rtn(int3);
   2553 float3 __ovld __cnfn convert_float3(int3);
   2554 float3 __ovld __cnfn convert_float3_rte(uint3);
   2555 float3 __ovld __cnfn convert_float3_rtz(uint3);
   2556 float3 __ovld __cnfn convert_float3_rtp(uint3);
   2557 float3 __ovld __cnfn convert_float3_rtn(uint3);
   2558 float3 __ovld __cnfn convert_float3(uint3);
   2559 float3 __ovld __cnfn convert_float3_rte(long3);
   2560 float3 __ovld __cnfn convert_float3_rtz(long3);
   2561 float3 __ovld __cnfn convert_float3_rtp(long3);
   2562 float3 __ovld __cnfn convert_float3_rtn(long3);
   2563 float3 __ovld __cnfn convert_float3(long3);
   2564 float3 __ovld __cnfn convert_float3_rte(ulong3);
   2565 float3 __ovld __cnfn convert_float3_rtz(ulong3);
   2566 float3 __ovld __cnfn convert_float3_rtp(ulong3);
   2567 float3 __ovld __cnfn convert_float3_rtn(ulong3);
   2568 float3 __ovld __cnfn convert_float3(ulong3);
   2569 float3 __ovld __cnfn convert_float3_rte(float3);
   2570 float3 __ovld __cnfn convert_float3_rtz(float3);
   2571 float3 __ovld __cnfn convert_float3_rtp(float3);
   2572 float3 __ovld __cnfn convert_float3_rtn(float3);
   2573 float3 __ovld __cnfn convert_float3(float3);
   2574 char4 __ovld __cnfn convert_char4_rte(char4);
   2575 char4 __ovld __cnfn convert_char4_sat_rte(char4);
   2576 char4 __ovld __cnfn convert_char4_rtz(char4);
   2577 char4 __ovld __cnfn convert_char4_sat_rtz(char4);
   2578 char4 __ovld __cnfn convert_char4_rtp(char4);
   2579 char4 __ovld __cnfn convert_char4_sat_rtp(char4);
   2580 char4 __ovld __cnfn convert_char4_rtn(char4);
   2581 char4 __ovld __cnfn convert_char4_sat_rtn(char4);
   2582 char4 __ovld __cnfn convert_char4(char4);
   2583 char4 __ovld __cnfn convert_char4_sat(char4);
   2584 char4 __ovld __cnfn convert_char4_rte(uchar4);
   2585 char4 __ovld __cnfn convert_char4_sat_rte(uchar4);
   2586 char4 __ovld __cnfn convert_char4_rtz(uchar4);
   2587 char4 __ovld __cnfn convert_char4_sat_rtz(uchar4);
   2588 char4 __ovld __cnfn convert_char4_rtp(uchar4);
   2589 char4 __ovld __cnfn convert_char4_sat_rtp(uchar4);
   2590 char4 __ovld __cnfn convert_char4_rtn(uchar4);
   2591 char4 __ovld __cnfn convert_char4_sat_rtn(uchar4);
   2592 char4 __ovld __cnfn convert_char4(uchar4);
   2593 char4 __ovld __cnfn convert_char4_sat(uchar4);
   2594 char4 __ovld __cnfn convert_char4_rte(short4);
   2595 char4 __ovld __cnfn convert_char4_sat_rte(short4);
   2596 char4 __ovld __cnfn convert_char4_rtz(short4);
   2597 char4 __ovld __cnfn convert_char4_sat_rtz(short4);
   2598 char4 __ovld __cnfn convert_char4_rtp(short4);
   2599 char4 __ovld __cnfn convert_char4_sat_rtp(short4);
   2600 char4 __ovld __cnfn convert_char4_rtn(short4);
   2601 char4 __ovld __cnfn convert_char4_sat_rtn(short4);
   2602 char4 __ovld __cnfn convert_char4(short4);
   2603 char4 __ovld __cnfn convert_char4_sat(short4);
   2604 char4 __ovld __cnfn convert_char4_rte(ushort4);
   2605 char4 __ovld __cnfn convert_char4_sat_rte(ushort4);
   2606 char4 __ovld __cnfn convert_char4_rtz(ushort4);
   2607 char4 __ovld __cnfn convert_char4_sat_rtz(ushort4);
   2608 char4 __ovld __cnfn convert_char4_rtp(ushort4);
   2609 char4 __ovld __cnfn convert_char4_sat_rtp(ushort4);
   2610 char4 __ovld __cnfn convert_char4_rtn(ushort4);
   2611 char4 __ovld __cnfn convert_char4_sat_rtn(ushort4);
   2612 char4 __ovld __cnfn convert_char4(ushort4);
   2613 char4 __ovld __cnfn convert_char4_sat(ushort4);
   2614 char4 __ovld __cnfn convert_char4_rte(int4);
   2615 char4 __ovld __cnfn convert_char4_sat_rte(int4);
   2616 char4 __ovld __cnfn convert_char4_rtz(int4);
   2617 char4 __ovld __cnfn convert_char4_sat_rtz(int4);
   2618 char4 __ovld __cnfn convert_char4_rtp(int4);
   2619 char4 __ovld __cnfn convert_char4_sat_rtp(int4);
   2620 char4 __ovld __cnfn convert_char4_rtn(int4);
   2621 char4 __ovld __cnfn convert_char4_sat_rtn(int4);
   2622 char4 __ovld __cnfn convert_char4(int4);
   2623 char4 __ovld __cnfn convert_char4_sat(int4);
   2624 char4 __ovld __cnfn convert_char4_rte(uint4);
   2625 char4 __ovld __cnfn convert_char4_sat_rte(uint4);
   2626 char4 __ovld __cnfn convert_char4_rtz(uint4);
   2627 char4 __ovld __cnfn convert_char4_sat_rtz(uint4);
   2628 char4 __ovld __cnfn convert_char4_rtp(uint4);
   2629 char4 __ovld __cnfn convert_char4_sat_rtp(uint4);
   2630 char4 __ovld __cnfn convert_char4_rtn(uint4);
   2631 char4 __ovld __cnfn convert_char4_sat_rtn(uint4);
   2632 char4 __ovld __cnfn convert_char4(uint4);
   2633 char4 __ovld __cnfn convert_char4_sat(uint4);
   2634 char4 __ovld __cnfn convert_char4_rte(long4);
   2635 char4 __ovld __cnfn convert_char4_sat_rte(long4);
   2636 char4 __ovld __cnfn convert_char4_rtz(long4);
   2637 char4 __ovld __cnfn convert_char4_sat_rtz(long4);
   2638 char4 __ovld __cnfn convert_char4_rtp(long4);
   2639 char4 __ovld __cnfn convert_char4_sat_rtp(long4);
   2640 char4 __ovld __cnfn convert_char4_rtn(long4);
   2641 char4 __ovld __cnfn convert_char4_sat_rtn(long4);
   2642 char4 __ovld __cnfn convert_char4(long4);
   2643 char4 __ovld __cnfn convert_char4_sat(long4);
   2644 char4 __ovld __cnfn convert_char4_rte(ulong4);
   2645 char4 __ovld __cnfn convert_char4_sat_rte(ulong4);
   2646 char4 __ovld __cnfn convert_char4_rtz(ulong4);
   2647 char4 __ovld __cnfn convert_char4_sat_rtz(ulong4);
   2648 char4 __ovld __cnfn convert_char4_rtp(ulong4);
   2649 char4 __ovld __cnfn convert_char4_sat_rtp(ulong4);
   2650 char4 __ovld __cnfn convert_char4_rtn(ulong4);
   2651 char4 __ovld __cnfn convert_char4_sat_rtn(ulong4);
   2652 char4 __ovld __cnfn convert_char4(ulong4);
   2653 char4 __ovld __cnfn convert_char4_sat(ulong4);
   2654 char4 __ovld __cnfn convert_char4_rte(float4);
   2655 char4 __ovld __cnfn convert_char4_sat_rte(float4);
   2656 char4 __ovld __cnfn convert_char4_rtz(float4);
   2657 char4 __ovld __cnfn convert_char4_sat_rtz(float4);
   2658 char4 __ovld __cnfn convert_char4_rtp(float4);
   2659 char4 __ovld __cnfn convert_char4_sat_rtp(float4);
   2660 char4 __ovld __cnfn convert_char4_rtn(float4);
   2661 char4 __ovld __cnfn convert_char4_sat_rtn(float4);
   2662 char4 __ovld __cnfn convert_char4(float4);
   2663 char4 __ovld __cnfn convert_char4_sat(float4);
   2664 uchar4 __ovld __cnfn convert_uchar4_rte(char4);
   2665 uchar4 __ovld __cnfn convert_uchar4_sat_rte(char4);
   2666 uchar4 __ovld __cnfn convert_uchar4_rtz(char4);
   2667 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(char4);
   2668 uchar4 __ovld __cnfn convert_uchar4_rtp(char4);
   2669 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(char4);
   2670 uchar4 __ovld __cnfn convert_uchar4_rtn(char4);
   2671 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(char4);
   2672 uchar4 __ovld __cnfn convert_uchar4(char4);
   2673 uchar4 __ovld __cnfn convert_uchar4_sat(char4);
   2674 uchar4 __ovld __cnfn convert_uchar4_rte(uchar4);
   2675 uchar4 __ovld __cnfn convert_uchar4_sat_rte(uchar4);
   2676 uchar4 __ovld __cnfn convert_uchar4_rtz(uchar4);
   2677 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(uchar4);
   2678 uchar4 __ovld __cnfn convert_uchar4_rtp(uchar4);
   2679 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(uchar4);
   2680 uchar4 __ovld __cnfn convert_uchar4_rtn(uchar4);
   2681 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(uchar4);
   2682 uchar4 __ovld __cnfn convert_uchar4(uchar4);
   2683 uchar4 __ovld __cnfn convert_uchar4_sat(uchar4);
   2684 uchar4 __ovld __cnfn convert_uchar4_rte(short4);
   2685 uchar4 __ovld __cnfn convert_uchar4_sat_rte(short4);
   2686 uchar4 __ovld __cnfn convert_uchar4_rtz(short4);
   2687 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(short4);
   2688 uchar4 __ovld __cnfn convert_uchar4_rtp(short4);
   2689 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(short4);
   2690 uchar4 __ovld __cnfn convert_uchar4_rtn(short4);
   2691 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(short4);
   2692 uchar4 __ovld __cnfn convert_uchar4(short4);
   2693 uchar4 __ovld __cnfn convert_uchar4_sat(short4);
   2694 uchar4 __ovld __cnfn convert_uchar4_rte(ushort4);
   2695 uchar4 __ovld __cnfn convert_uchar4_sat_rte(ushort4);
   2696 uchar4 __ovld __cnfn convert_uchar4_rtz(ushort4);
   2697 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(ushort4);
   2698 uchar4 __ovld __cnfn convert_uchar4_rtp(ushort4);
   2699 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(ushort4);
   2700 uchar4 __ovld __cnfn convert_uchar4_rtn(ushort4);
   2701 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(ushort4);
   2702 uchar4 __ovld __cnfn convert_uchar4(ushort4);
   2703 uchar4 __ovld __cnfn convert_uchar4_sat(ushort4);
   2704 uchar4 __ovld __cnfn convert_uchar4_rte(int4);
   2705 uchar4 __ovld __cnfn convert_uchar4_sat_rte(int4);
   2706 uchar4 __ovld __cnfn convert_uchar4_rtz(int4);
   2707 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(int4);
   2708 uchar4 __ovld __cnfn convert_uchar4_rtp(int4);
   2709 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(int4);
   2710 uchar4 __ovld __cnfn convert_uchar4_rtn(int4);
   2711 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(int4);
   2712 uchar4 __ovld __cnfn convert_uchar4(int4);
   2713 uchar4 __ovld __cnfn convert_uchar4_sat(int4);
   2714 uchar4 __ovld __cnfn convert_uchar4_rte(uint4);
   2715 uchar4 __ovld __cnfn convert_uchar4_sat_rte(uint4);
   2716 uchar4 __ovld __cnfn convert_uchar4_rtz(uint4);
   2717 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(uint4);
   2718 uchar4 __ovld __cnfn convert_uchar4_rtp(uint4);
   2719 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(uint4);
   2720 uchar4 __ovld __cnfn convert_uchar4_rtn(uint4);
   2721 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(uint4);
   2722 uchar4 __ovld __cnfn convert_uchar4(uint4);
   2723 uchar4 __ovld __cnfn convert_uchar4_sat(uint4);
   2724 uchar4 __ovld __cnfn convert_uchar4_rte(long4);
   2725 uchar4 __ovld __cnfn convert_uchar4_sat_rte(long4);
   2726 uchar4 __ovld __cnfn convert_uchar4_rtz(long4);
   2727 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(long4);
   2728 uchar4 __ovld __cnfn convert_uchar4_rtp(long4);
   2729 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(long4);
   2730 uchar4 __ovld __cnfn convert_uchar4_rtn(long4);
   2731 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(long4);
   2732 uchar4 __ovld __cnfn convert_uchar4(long4);
   2733 uchar4 __ovld __cnfn convert_uchar4_sat(long4);
   2734 uchar4 __ovld __cnfn convert_uchar4_rte(ulong4);
   2735 uchar4 __ovld __cnfn convert_uchar4_sat_rte(ulong4);
   2736 uchar4 __ovld __cnfn convert_uchar4_rtz(ulong4);
   2737 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(ulong4);
   2738 uchar4 __ovld __cnfn convert_uchar4_rtp(ulong4);
   2739 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(ulong4);
   2740 uchar4 __ovld __cnfn convert_uchar4_rtn(ulong4);
   2741 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(ulong4);
   2742 uchar4 __ovld __cnfn convert_uchar4(ulong4);
   2743 uchar4 __ovld __cnfn convert_uchar4_sat(ulong4);
   2744 uchar4 __ovld __cnfn convert_uchar4_rte(float4);
   2745 uchar4 __ovld __cnfn convert_uchar4_sat_rte(float4);
   2746 uchar4 __ovld __cnfn convert_uchar4_rtz(float4);
   2747 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(float4);
   2748 uchar4 __ovld __cnfn convert_uchar4_rtp(float4);
   2749 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(float4);
   2750 uchar4 __ovld __cnfn convert_uchar4_rtn(float4);
   2751 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(float4);
   2752 uchar4 __ovld __cnfn convert_uchar4(float4);
   2753 uchar4 __ovld __cnfn convert_uchar4_sat(float4);
   2754 short4 __ovld __cnfn convert_short4_rte(char4);
   2755 short4 __ovld __cnfn convert_short4_sat_rte(char4);
   2756 short4 __ovld __cnfn convert_short4_rtz(char4);
   2757 short4 __ovld __cnfn convert_short4_sat_rtz(char4);
   2758 short4 __ovld __cnfn convert_short4_rtp(char4);
   2759 short4 __ovld __cnfn convert_short4_sat_rtp(char4);
   2760 short4 __ovld __cnfn convert_short4_rtn(char4);
   2761 short4 __ovld __cnfn convert_short4_sat_rtn(char4);
   2762 short4 __ovld __cnfn convert_short4(char4);
   2763 short4 __ovld __cnfn convert_short4_sat(char4);
   2764 short4 __ovld __cnfn convert_short4_rte(uchar4);
   2765 short4 __ovld __cnfn convert_short4_sat_rte(uchar4);
   2766 short4 __ovld __cnfn convert_short4_rtz(uchar4);
   2767 short4 __ovld __cnfn convert_short4_sat_rtz(uchar4);
   2768 short4 __ovld __cnfn convert_short4_rtp(uchar4);
   2769 short4 __ovld __cnfn convert_short4_sat_rtp(uchar4);
   2770 short4 __ovld __cnfn convert_short4_rtn(uchar4);
   2771 short4 __ovld __cnfn convert_short4_sat_rtn(uchar4);
   2772 short4 __ovld __cnfn convert_short4(uchar4);
   2773 short4 __ovld __cnfn convert_short4_sat(uchar4);
   2774 short4 __ovld __cnfn convert_short4_rte(short4);
   2775 short4 __ovld __cnfn convert_short4_sat_rte(short4);
   2776 short4 __ovld __cnfn convert_short4_rtz(short4);
   2777 short4 __ovld __cnfn convert_short4_sat_rtz(short4);
   2778 short4 __ovld __cnfn convert_short4_rtp(short4);
   2779 short4 __ovld __cnfn convert_short4_sat_rtp(short4);
   2780 short4 __ovld __cnfn convert_short4_rtn(short4);
   2781 short4 __ovld __cnfn convert_short4_sat_rtn(short4);
   2782 short4 __ovld __cnfn convert_short4(short4);
   2783 short4 __ovld __cnfn convert_short4_sat(short4);
   2784 short4 __ovld __cnfn convert_short4_rte(ushort4);
   2785 short4 __ovld __cnfn convert_short4_sat_rte(ushort4);
   2786 short4 __ovld __cnfn convert_short4_rtz(ushort4);
   2787 short4 __ovld __cnfn convert_short4_sat_rtz(ushort4);
   2788 short4 __ovld __cnfn convert_short4_rtp(ushort4);
   2789 short4 __ovld __cnfn convert_short4_sat_rtp(ushort4);
   2790 short4 __ovld __cnfn convert_short4_rtn(ushort4);
   2791 short4 __ovld __cnfn convert_short4_sat_rtn(ushort4);
   2792 short4 __ovld __cnfn convert_short4(ushort4);
   2793 short4 __ovld __cnfn convert_short4_sat(ushort4);
   2794 short4 __ovld __cnfn convert_short4_rte(int4);
   2795 short4 __ovld __cnfn convert_short4_sat_rte(int4);
   2796 short4 __ovld __cnfn convert_short4_rtz(int4);
   2797 short4 __ovld __cnfn convert_short4_sat_rtz(int4);
   2798 short4 __ovld __cnfn convert_short4_rtp(int4);
   2799 short4 __ovld __cnfn convert_short4_sat_rtp(int4);
   2800 short4 __ovld __cnfn convert_short4_rtn(int4);
   2801 short4 __ovld __cnfn convert_short4_sat_rtn(int4);
   2802 short4 __ovld __cnfn convert_short4(int4);
   2803 short4 __ovld __cnfn convert_short4_sat(int4);
   2804 short4 __ovld __cnfn convert_short4_rte(uint4);
   2805 short4 __ovld __cnfn convert_short4_sat_rte(uint4);
   2806 short4 __ovld __cnfn convert_short4_rtz(uint4);
   2807 short4 __ovld __cnfn convert_short4_sat_rtz(uint4);
   2808 short4 __ovld __cnfn convert_short4_rtp(uint4);
   2809 short4 __ovld __cnfn convert_short4_sat_rtp(uint4);
   2810 short4 __ovld __cnfn convert_short4_rtn(uint4);
   2811 short4 __ovld __cnfn convert_short4_sat_rtn(uint4);
   2812 short4 __ovld __cnfn convert_short4(uint4);
   2813 short4 __ovld __cnfn convert_short4_sat(uint4);
   2814 short4 __ovld __cnfn convert_short4_rte(long4);
   2815 short4 __ovld __cnfn convert_short4_sat_rte(long4);
   2816 short4 __ovld __cnfn convert_short4_rtz(long4);
   2817 short4 __ovld __cnfn convert_short4_sat_rtz(long4);
   2818 short4 __ovld __cnfn convert_short4_rtp(long4);
   2819 short4 __ovld __cnfn convert_short4_sat_rtp(long4);
   2820 short4 __ovld __cnfn convert_short4_rtn(long4);
   2821 short4 __ovld __cnfn convert_short4_sat_rtn(long4);
   2822 short4 __ovld __cnfn convert_short4(long4);
   2823 short4 __ovld __cnfn convert_short4_sat(long4);
   2824 short4 __ovld __cnfn convert_short4_rte(ulong4);
   2825 short4 __ovld __cnfn convert_short4_sat_rte(ulong4);
   2826 short4 __ovld __cnfn convert_short4_rtz(ulong4);
   2827 short4 __ovld __cnfn convert_short4_sat_rtz(ulong4);
   2828 short4 __ovld __cnfn convert_short4_rtp(ulong4);
   2829 short4 __ovld __cnfn convert_short4_sat_rtp(ulong4);
   2830 short4 __ovld __cnfn convert_short4_rtn(ulong4);
   2831 short4 __ovld __cnfn convert_short4_sat_rtn(ulong4);
   2832 short4 __ovld __cnfn convert_short4(ulong4);
   2833 short4 __ovld __cnfn convert_short4_sat(ulong4);
   2834 short4 __ovld __cnfn convert_short4_rte(float4);
   2835 short4 __ovld __cnfn convert_short4_sat_rte(float4);
   2836 short4 __ovld __cnfn convert_short4_rtz(float4);
   2837 short4 __ovld __cnfn convert_short4_sat_rtz(float4);
   2838 short4 __ovld __cnfn convert_short4_rtp(float4);
   2839 short4 __ovld __cnfn convert_short4_sat_rtp(float4);
   2840 short4 __ovld __cnfn convert_short4_rtn(float4);
   2841 short4 __ovld __cnfn convert_short4_sat_rtn(float4);
   2842 short4 __ovld __cnfn convert_short4(float4);
   2843 short4 __ovld __cnfn convert_short4_sat(float4);
   2844 ushort4 __ovld __cnfn convert_ushort4_rte(char4);
   2845 ushort4 __ovld __cnfn convert_ushort4_sat_rte(char4);
   2846 ushort4 __ovld __cnfn convert_ushort4_rtz(char4);
   2847 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(char4);
   2848 ushort4 __ovld __cnfn convert_ushort4_rtp(char4);
   2849 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(char4);
   2850 ushort4 __ovld __cnfn convert_ushort4_rtn(char4);
   2851 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(char4);
   2852 ushort4 __ovld __cnfn convert_ushort4(char4);
   2853 ushort4 __ovld __cnfn convert_ushort4_sat(char4);
   2854 ushort4 __ovld __cnfn convert_ushort4_rte(uchar4);
   2855 ushort4 __ovld __cnfn convert_ushort4_sat_rte(uchar4);
   2856 ushort4 __ovld __cnfn convert_ushort4_rtz(uchar4);
   2857 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(uchar4);
   2858 ushort4 __ovld __cnfn convert_ushort4_rtp(uchar4);
   2859 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(uchar4);
   2860 ushort4 __ovld __cnfn convert_ushort4_rtn(uchar4);
   2861 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(uchar4);
   2862 ushort4 __ovld __cnfn convert_ushort4(uchar4);
   2863 ushort4 __ovld __cnfn convert_ushort4_sat(uchar4);
   2864 ushort4 __ovld __cnfn convert_ushort4_rte(short4);
   2865 ushort4 __ovld __cnfn convert_ushort4_sat_rte(short4);
   2866 ushort4 __ovld __cnfn convert_ushort4_rtz(short4);
   2867 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(short4);
   2868 ushort4 __ovld __cnfn convert_ushort4_rtp(short4);
   2869 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(short4);
   2870 ushort4 __ovld __cnfn convert_ushort4_rtn(short4);
   2871 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(short4);
   2872 ushort4 __ovld __cnfn convert_ushort4(short4);
   2873 ushort4 __ovld __cnfn convert_ushort4_sat(short4);
   2874 ushort4 __ovld __cnfn convert_ushort4_rte(ushort4);
   2875 ushort4 __ovld __cnfn convert_ushort4_sat_rte(ushort4);
   2876 ushort4 __ovld __cnfn convert_ushort4_rtz(ushort4);
   2877 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(ushort4);
   2878 ushort4 __ovld __cnfn convert_ushort4_rtp(ushort4);
   2879 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(ushort4);
   2880 ushort4 __ovld __cnfn convert_ushort4_rtn(ushort4);
   2881 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(ushort4);
   2882 ushort4 __ovld __cnfn convert_ushort4(ushort4);
   2883 ushort4 __ovld __cnfn convert_ushort4_sat(ushort4);
   2884 ushort4 __ovld __cnfn convert_ushort4_rte(int4);
   2885 ushort4 __ovld __cnfn convert_ushort4_sat_rte(int4);
   2886 ushort4 __ovld __cnfn convert_ushort4_rtz(int4);
   2887 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(int4);
   2888 ushort4 __ovld __cnfn convert_ushort4_rtp(int4);
   2889 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(int4);
   2890 ushort4 __ovld __cnfn convert_ushort4_rtn(int4);
   2891 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(int4);
   2892 ushort4 __ovld __cnfn convert_ushort4(int4);
   2893 ushort4 __ovld __cnfn convert_ushort4_sat(int4);
   2894 ushort4 __ovld __cnfn convert_ushort4_rte(uint4);
   2895 ushort4 __ovld __cnfn convert_ushort4_sat_rte(uint4);
   2896 ushort4 __ovld __cnfn convert_ushort4_rtz(uint4);
   2897 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(uint4);
   2898 ushort4 __ovld __cnfn convert_ushort4_rtp(uint4);
   2899 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(uint4);
   2900 ushort4 __ovld __cnfn convert_ushort4_rtn(uint4);
   2901 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(uint4);
   2902 ushort4 __ovld __cnfn convert_ushort4(uint4);
   2903 ushort4 __ovld __cnfn convert_ushort4_sat(uint4);
   2904 ushort4 __ovld __cnfn convert_ushort4_rte(long4);
   2905 ushort4 __ovld __cnfn convert_ushort4_sat_rte(long4);
   2906 ushort4 __ovld __cnfn convert_ushort4_rtz(long4);
   2907 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(long4);
   2908 ushort4 __ovld __cnfn convert_ushort4_rtp(long4);
   2909 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(long4);
   2910 ushort4 __ovld __cnfn convert_ushort4_rtn(long4);
   2911 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(long4);
   2912 ushort4 __ovld __cnfn convert_ushort4(long4);
   2913 ushort4 __ovld __cnfn convert_ushort4_sat(long4);
   2914 ushort4 __ovld __cnfn convert_ushort4_rte(ulong4);
   2915 ushort4 __ovld __cnfn convert_ushort4_sat_rte(ulong4);
   2916 ushort4 __ovld __cnfn convert_ushort4_rtz(ulong4);
   2917 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(ulong4);
   2918 ushort4 __ovld __cnfn convert_ushort4_rtp(ulong4);
   2919 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(ulong4);
   2920 ushort4 __ovld __cnfn convert_ushort4_rtn(ulong4);
   2921 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(ulong4);
   2922 ushort4 __ovld __cnfn convert_ushort4(ulong4);
   2923 ushort4 __ovld __cnfn convert_ushort4_sat(ulong4);
   2924 ushort4 __ovld __cnfn convert_ushort4_rte(float4);
   2925 ushort4 __ovld __cnfn convert_ushort4_sat_rte(float4);
   2926 ushort4 __ovld __cnfn convert_ushort4_rtz(float4);
   2927 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(float4);
   2928 ushort4 __ovld __cnfn convert_ushort4_rtp(float4);
   2929 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(float4);
   2930 ushort4 __ovld __cnfn convert_ushort4_rtn(float4);
   2931 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(float4);
   2932 ushort4 __ovld __cnfn convert_ushort4(float4);
   2933 ushort4 __ovld __cnfn convert_ushort4_sat(float4);
   2934 int4 __ovld __cnfn convert_int4_rte(char4);
   2935 int4 __ovld __cnfn convert_int4_sat_rte(char4);
   2936 int4 __ovld __cnfn convert_int4_rtz(char4);
   2937 int4 __ovld __cnfn convert_int4_sat_rtz(char4);
   2938 int4 __ovld __cnfn convert_int4_rtp(char4);
   2939 int4 __ovld __cnfn convert_int4_sat_rtp(char4);
   2940 int4 __ovld __cnfn convert_int4_rtn(char4);
   2941 int4 __ovld __cnfn convert_int4_sat_rtn(char4);
   2942 int4 __ovld __cnfn convert_int4(char4);
   2943 int4 __ovld __cnfn convert_int4_sat(char4);
   2944 int4 __ovld __cnfn convert_int4_rte(uchar4);
   2945 int4 __ovld __cnfn convert_int4_sat_rte(uchar4);
   2946 int4 __ovld __cnfn convert_int4_rtz(uchar4);
   2947 int4 __ovld __cnfn convert_int4_sat_rtz(uchar4);
   2948 int4 __ovld __cnfn convert_int4_rtp(uchar4);
   2949 int4 __ovld __cnfn convert_int4_sat_rtp(uchar4);
   2950 int4 __ovld __cnfn convert_int4_rtn(uchar4);
   2951 int4 __ovld __cnfn convert_int4_sat_rtn(uchar4);
   2952 int4 __ovld __cnfn convert_int4(uchar4);
   2953 int4 __ovld __cnfn convert_int4_sat(uchar4);
   2954 int4 __ovld __cnfn convert_int4_rte(short4);
   2955 int4 __ovld __cnfn convert_int4_sat_rte(short4);
   2956 int4 __ovld __cnfn convert_int4_rtz(short4);
   2957 int4 __ovld __cnfn convert_int4_sat_rtz(short4);
   2958 int4 __ovld __cnfn convert_int4_rtp(short4);
   2959 int4 __ovld __cnfn convert_int4_sat_rtp(short4);
   2960 int4 __ovld __cnfn convert_int4_rtn(short4);
   2961 int4 __ovld __cnfn convert_int4_sat_rtn(short4);
   2962 int4 __ovld __cnfn convert_int4(short4);
   2963 int4 __ovld __cnfn convert_int4_sat(short4);
   2964 int4 __ovld __cnfn convert_int4_rte(ushort4);
   2965 int4 __ovld __cnfn convert_int4_sat_rte(ushort4);
   2966 int4 __ovld __cnfn convert_int4_rtz(ushort4);
   2967 int4 __ovld __cnfn convert_int4_sat_rtz(ushort4);
   2968 int4 __ovld __cnfn convert_int4_rtp(ushort4);
   2969 int4 __ovld __cnfn convert_int4_sat_rtp(ushort4);
   2970 int4 __ovld __cnfn convert_int4_rtn(ushort4);
   2971 int4 __ovld __cnfn convert_int4_sat_rtn(ushort4);
   2972 int4 __ovld __cnfn convert_int4(ushort4);
   2973 int4 __ovld __cnfn convert_int4_sat(ushort4);
   2974 int4 __ovld __cnfn convert_int4_rte(int4);
   2975 int4 __ovld __cnfn convert_int4_sat_rte(int4);
   2976 int4 __ovld __cnfn convert_int4_rtz(int4);
   2977 int4 __ovld __cnfn convert_int4_sat_rtz(int4);
   2978 int4 __ovld __cnfn convert_int4_rtp(int4);
   2979 int4 __ovld __cnfn convert_int4_sat_rtp(int4);
   2980 int4 __ovld __cnfn convert_int4_rtn(int4);
   2981 int4 __ovld __cnfn convert_int4_sat_rtn(int4);
   2982 int4 __ovld __cnfn convert_int4(int4);
   2983 int4 __ovld __cnfn convert_int4_sat(int4);
   2984 int4 __ovld __cnfn convert_int4_rte(uint4);
   2985 int4 __ovld __cnfn convert_int4_sat_rte(uint4);
   2986 int4 __ovld __cnfn convert_int4_rtz(uint4);
   2987 int4 __ovld __cnfn convert_int4_sat_rtz(uint4);
   2988 int4 __ovld __cnfn convert_int4_rtp(uint4);
   2989 int4 __ovld __cnfn convert_int4_sat_rtp(uint4);
   2990 int4 __ovld __cnfn convert_int4_rtn(uint4);
   2991 int4 __ovld __cnfn convert_int4_sat_rtn(uint4);
   2992 int4 __ovld __cnfn convert_int4(uint4);
   2993 int4 __ovld __cnfn convert_int4_sat(uint4);
   2994 int4 __ovld __cnfn convert_int4_rte(long4);
   2995 int4 __ovld __cnfn convert_int4_sat_rte(long4);
   2996 int4 __ovld __cnfn convert_int4_rtz(long4);
   2997 int4 __ovld __cnfn convert_int4_sat_rtz(long4);
   2998 int4 __ovld __cnfn convert_int4_rtp(long4);
   2999 int4 __ovld __cnfn convert_int4_sat_rtp(long4);
   3000 int4 __ovld __cnfn convert_int4_rtn(long4);
   3001 int4 __ovld __cnfn convert_int4_sat_rtn(long4);
   3002 int4 __ovld __cnfn convert_int4(long4);
   3003 int4 __ovld __cnfn convert_int4_sat(long4);
   3004 int4 __ovld __cnfn convert_int4_rte(ulong4);
   3005 int4 __ovld __cnfn convert_int4_sat_rte(ulong4);
   3006 int4 __ovld __cnfn convert_int4_rtz(ulong4);
   3007 int4 __ovld __cnfn convert_int4_sat_rtz(ulong4);
   3008 int4 __ovld __cnfn convert_int4_rtp(ulong4);
   3009 int4 __ovld __cnfn convert_int4_sat_rtp(ulong4);
   3010 int4 __ovld __cnfn convert_int4_rtn(ulong4);
   3011 int4 __ovld __cnfn convert_int4_sat_rtn(ulong4);
   3012 int4 __ovld __cnfn convert_int4(ulong4);
   3013 int4 __ovld __cnfn convert_int4_sat(ulong4);
   3014 int4 __ovld __cnfn convert_int4_rte(float4);
   3015 int4 __ovld __cnfn convert_int4_sat_rte(float4);
   3016 int4 __ovld __cnfn convert_int4_rtz(float4);
   3017 int4 __ovld __cnfn convert_int4_sat_rtz(float4);
   3018 int4 __ovld __cnfn convert_int4_rtp(float4);
   3019 int4 __ovld __cnfn convert_int4_sat_rtp(float4);
   3020 int4 __ovld __cnfn convert_int4_rtn(float4);
   3021 int4 __ovld __cnfn convert_int4_sat_rtn(float4);
   3022 int4 __ovld __cnfn convert_int4(float4);
   3023 int4 __ovld __cnfn convert_int4_sat(float4);
   3024 uint4 __ovld __cnfn convert_uint4_rte(char4);
   3025 uint4 __ovld __cnfn convert_uint4_sat_rte(char4);
   3026 uint4 __ovld __cnfn convert_uint4_rtz(char4);
   3027 uint4 __ovld __cnfn convert_uint4_sat_rtz(char4);
   3028 uint4 __ovld __cnfn convert_uint4_rtp(char4);
   3029 uint4 __ovld __cnfn convert_uint4_sat_rtp(char4);
   3030 uint4 __ovld __cnfn convert_uint4_rtn(char4);
   3031 uint4 __ovld __cnfn convert_uint4_sat_rtn(char4);
   3032 uint4 __ovld __cnfn convert_uint4(char4);
   3033 uint4 __ovld __cnfn convert_uint4_sat(char4);
   3034 uint4 __ovld __cnfn convert_uint4_rte(uchar4);
   3035 uint4 __ovld __cnfn convert_uint4_sat_rte(uchar4);
   3036 uint4 __ovld __cnfn convert_uint4_rtz(uchar4);
   3037 uint4 __ovld __cnfn convert_uint4_sat_rtz(uchar4);
   3038 uint4 __ovld __cnfn convert_uint4_rtp(uchar4);
   3039 uint4 __ovld __cnfn convert_uint4_sat_rtp(uchar4);
   3040 uint4 __ovld __cnfn convert_uint4_rtn(uchar4);
   3041 uint4 __ovld __cnfn convert_uint4_sat_rtn(uchar4);
   3042 uint4 __ovld __cnfn convert_uint4(uchar4);
   3043 uint4 __ovld __cnfn convert_uint4_sat(uchar4);
   3044 uint4 __ovld __cnfn convert_uint4_rte(short4);
   3045 uint4 __ovld __cnfn convert_uint4_sat_rte(short4);
   3046 uint4 __ovld __cnfn convert_uint4_rtz(short4);
   3047 uint4 __ovld __cnfn convert_uint4_sat_rtz(short4);
   3048 uint4 __ovld __cnfn convert_uint4_rtp(short4);
   3049 uint4 __ovld __cnfn convert_uint4_sat_rtp(short4);
   3050 uint4 __ovld __cnfn convert_uint4_rtn(short4);
   3051 uint4 __ovld __cnfn convert_uint4_sat_rtn(short4);
   3052 uint4 __ovld __cnfn convert_uint4(short4);
   3053 uint4 __ovld __cnfn convert_uint4_sat(short4);
   3054 uint4 __ovld __cnfn convert_uint4_rte(ushort4);
   3055 uint4 __ovld __cnfn convert_uint4_sat_rte(ushort4);
   3056 uint4 __ovld __cnfn convert_uint4_rtz(ushort4);
   3057 uint4 __ovld __cnfn convert_uint4_sat_rtz(ushort4);
   3058 uint4 __ovld __cnfn convert_uint4_rtp(ushort4);
   3059 uint4 __ovld __cnfn convert_uint4_sat_rtp(ushort4);
   3060 uint4 __ovld __cnfn convert_uint4_rtn(ushort4);
   3061 uint4 __ovld __cnfn convert_uint4_sat_rtn(ushort4);
   3062 uint4 __ovld __cnfn convert_uint4(ushort4);
   3063 uint4 __ovld __cnfn convert_uint4_sat(ushort4);
   3064 uint4 __ovld __cnfn convert_uint4_rte(int4);
   3065 uint4 __ovld __cnfn convert_uint4_sat_rte(int4);
   3066 uint4 __ovld __cnfn convert_uint4_rtz(int4);
   3067 uint4 __ovld __cnfn convert_uint4_sat_rtz(int4);
   3068 uint4 __ovld __cnfn convert_uint4_rtp(int4);
   3069 uint4 __ovld __cnfn convert_uint4_sat_rtp(int4);
   3070 uint4 __ovld __cnfn convert_uint4_rtn(int4);
   3071 uint4 __ovld __cnfn convert_uint4_sat_rtn(int4);
   3072 uint4 __ovld __cnfn convert_uint4(int4);
   3073 uint4 __ovld __cnfn convert_uint4_sat(int4);
   3074 uint4 __ovld __cnfn convert_uint4_rte(uint4);
   3075 uint4 __ovld __cnfn convert_uint4_sat_rte(uint4);
   3076 uint4 __ovld __cnfn convert_uint4_rtz(uint4);
   3077 uint4 __ovld __cnfn convert_uint4_sat_rtz(uint4);
   3078 uint4 __ovld __cnfn convert_uint4_rtp(uint4);
   3079 uint4 __ovld __cnfn convert_uint4_sat_rtp(uint4);
   3080 uint4 __ovld __cnfn convert_uint4_rtn(uint4);
   3081 uint4 __ovld __cnfn convert_uint4_sat_rtn(uint4);
   3082 uint4 __ovld __cnfn convert_uint4(uint4);
   3083 uint4 __ovld __cnfn convert_uint4_sat(uint4);
   3084 uint4 __ovld __cnfn convert_uint4_rte(long4);
   3085 uint4 __ovld __cnfn convert_uint4_sat_rte(long4);
   3086 uint4 __ovld __cnfn convert_uint4_rtz(long4);
   3087 uint4 __ovld __cnfn convert_uint4_sat_rtz(long4);
   3088 uint4 __ovld __cnfn convert_uint4_rtp(long4);
   3089 uint4 __ovld __cnfn convert_uint4_sat_rtp(long4);
   3090 uint4 __ovld __cnfn convert_uint4_rtn(long4);
   3091 uint4 __ovld __cnfn convert_uint4_sat_rtn(long4);
   3092 uint4 __ovld __cnfn convert_uint4(long4);
   3093 uint4 __ovld __cnfn convert_uint4_sat(long4);
   3094 uint4 __ovld __cnfn convert_uint4_rte(ulong4);
   3095 uint4 __ovld __cnfn convert_uint4_sat_rte(ulong4);
   3096 uint4 __ovld __cnfn convert_uint4_rtz(ulong4);
   3097 uint4 __ovld __cnfn convert_uint4_sat_rtz(ulong4);
   3098 uint4 __ovld __cnfn convert_uint4_rtp(ulong4);
   3099 uint4 __ovld __cnfn convert_uint4_sat_rtp(ulong4);
   3100 uint4 __ovld __cnfn convert_uint4_rtn(ulong4);
   3101 uint4 __ovld __cnfn convert_uint4_sat_rtn(ulong4);
   3102 uint4 __ovld __cnfn convert_uint4(ulong4);
   3103 uint4 __ovld __cnfn convert_uint4_sat(ulong4);
   3104 uint4 __ovld __cnfn convert_uint4_rte(float4);
   3105 uint4 __ovld __cnfn convert_uint4_sat_rte(float4);
   3106 uint4 __ovld __cnfn convert_uint4_rtz(float4);
   3107 uint4 __ovld __cnfn convert_uint4_sat_rtz(float4);
   3108 uint4 __ovld __cnfn convert_uint4_rtp(float4);
   3109 uint4 __ovld __cnfn convert_uint4_sat_rtp(float4);
   3110 uint4 __ovld __cnfn convert_uint4_rtn(float4);
   3111 uint4 __ovld __cnfn convert_uint4_sat_rtn(float4);
   3112 uint4 __ovld __cnfn convert_uint4(float4);
   3113 uint4 __ovld __cnfn convert_uint4_sat(float4);
   3114 long4 __ovld __cnfn convert_long4_rte(char4);
   3115 long4 __ovld __cnfn convert_long4_sat_rte(char4);
   3116 long4 __ovld __cnfn convert_long4_rtz(char4);
   3117 long4 __ovld __cnfn convert_long4_sat_rtz(char4);
   3118 long4 __ovld __cnfn convert_long4_rtp(char4);
   3119 long4 __ovld __cnfn convert_long4_sat_rtp(char4);
   3120 long4 __ovld __cnfn convert_long4_rtn(char4);
   3121 long4 __ovld __cnfn convert_long4_sat_rtn(char4);
   3122 long4 __ovld __cnfn convert_long4(char4);
   3123 long4 __ovld __cnfn convert_long4_sat(char4);
   3124 long4 __ovld __cnfn convert_long4_rte(uchar4);
   3125 long4 __ovld __cnfn convert_long4_sat_rte(uchar4);
   3126 long4 __ovld __cnfn convert_long4_rtz(uchar4);
   3127 long4 __ovld __cnfn convert_long4_sat_rtz(uchar4);
   3128 long4 __ovld __cnfn convert_long4_rtp(uchar4);
   3129 long4 __ovld __cnfn convert_long4_sat_rtp(uchar4);
   3130 long4 __ovld __cnfn convert_long4_rtn(uchar4);
   3131 long4 __ovld __cnfn convert_long4_sat_rtn(uchar4);
   3132 long4 __ovld __cnfn convert_long4(uchar4);
   3133 long4 __ovld __cnfn convert_long4_sat(uchar4);
   3134 long4 __ovld __cnfn convert_long4_rte(short4);
   3135 long4 __ovld __cnfn convert_long4_sat_rte(short4);
   3136 long4 __ovld __cnfn convert_long4_rtz(short4);
   3137 long4 __ovld __cnfn convert_long4_sat_rtz(short4);
   3138 long4 __ovld __cnfn convert_long4_rtp(short4);
   3139 long4 __ovld __cnfn convert_long4_sat_rtp(short4);
   3140 long4 __ovld __cnfn convert_long4_rtn(short4);
   3141 long4 __ovld __cnfn convert_long4_sat_rtn(short4);
   3142 long4 __ovld __cnfn convert_long4(short4);
   3143 long4 __ovld __cnfn convert_long4_sat(short4);
   3144 long4 __ovld __cnfn convert_long4_rte(ushort4);
   3145 long4 __ovld __cnfn convert_long4_sat_rte(ushort4);
   3146 long4 __ovld __cnfn convert_long4_rtz(ushort4);
   3147 long4 __ovld __cnfn convert_long4_sat_rtz(ushort4);
   3148 long4 __ovld __cnfn convert_long4_rtp(ushort4);
   3149 long4 __ovld __cnfn convert_long4_sat_rtp(ushort4);
   3150 long4 __ovld __cnfn convert_long4_rtn(ushort4);
   3151 long4 __ovld __cnfn convert_long4_sat_rtn(ushort4);
   3152 long4 __ovld __cnfn convert_long4(ushort4);
   3153 long4 __ovld __cnfn convert_long4_sat(ushort4);
   3154 long4 __ovld __cnfn convert_long4_rte(int4);
   3155 long4 __ovld __cnfn convert_long4_sat_rte(int4);
   3156 long4 __ovld __cnfn convert_long4_rtz(int4);
   3157 long4 __ovld __cnfn convert_long4_sat_rtz(int4);
   3158 long4 __ovld __cnfn convert_long4_rtp(int4);
   3159 long4 __ovld __cnfn convert_long4_sat_rtp(int4);
   3160 long4 __ovld __cnfn convert_long4_rtn(int4);
   3161 long4 __ovld __cnfn convert_long4_sat_rtn(int4);
   3162 long4 __ovld __cnfn convert_long4(int4);
   3163 long4 __ovld __cnfn convert_long4_sat(int4);
   3164 long4 __ovld __cnfn convert_long4_rte(uint4);
   3165 long4 __ovld __cnfn convert_long4_sat_rte(uint4);
   3166 long4 __ovld __cnfn convert_long4_rtz(uint4);
   3167 long4 __ovld __cnfn convert_long4_sat_rtz(uint4);
   3168 long4 __ovld __cnfn convert_long4_rtp(uint4);
   3169 long4 __ovld __cnfn convert_long4_sat_rtp(uint4);
   3170 long4 __ovld __cnfn convert_long4_rtn(uint4);
   3171 long4 __ovld __cnfn convert_long4_sat_rtn(uint4);
   3172 long4 __ovld __cnfn convert_long4(uint4);
   3173 long4 __ovld __cnfn convert_long4_sat(uint4);
   3174 long4 __ovld __cnfn convert_long4_rte(long4);
   3175 long4 __ovld __cnfn convert_long4_sat_rte(long4);
   3176 long4 __ovld __cnfn convert_long4_rtz(long4);
   3177 long4 __ovld __cnfn convert_long4_sat_rtz(long4);
   3178 long4 __ovld __cnfn convert_long4_rtp(long4);
   3179 long4 __ovld __cnfn convert_long4_sat_rtp(long4);
   3180 long4 __ovld __cnfn convert_long4_rtn(long4);
   3181 long4 __ovld __cnfn convert_long4_sat_rtn(long4);
   3182 long4 __ovld __cnfn convert_long4(long4);
   3183 long4 __ovld __cnfn convert_long4_sat(long4);
   3184 long4 __ovld __cnfn convert_long4_rte(ulong4);
   3185 long4 __ovld __cnfn convert_long4_sat_rte(ulong4);
   3186 long4 __ovld __cnfn convert_long4_rtz(ulong4);
   3187 long4 __ovld __cnfn convert_long4_sat_rtz(ulong4);
   3188 long4 __ovld __cnfn convert_long4_rtp(ulong4);
   3189 long4 __ovld __cnfn convert_long4_sat_rtp(ulong4);
   3190 long4 __ovld __cnfn convert_long4_rtn(ulong4);
   3191 long4 __ovld __cnfn convert_long4_sat_rtn(ulong4);
   3192 long4 __ovld __cnfn convert_long4(ulong4);
   3193 long4 __ovld __cnfn convert_long4_sat(ulong4);
   3194 long4 __ovld __cnfn convert_long4_rte(float4);
   3195 long4 __ovld __cnfn convert_long4_sat_rte(float4);
   3196 long4 __ovld __cnfn convert_long4_rtz(float4);
   3197 long4 __ovld __cnfn convert_long4_sat_rtz(float4);
   3198 long4 __ovld __cnfn convert_long4_rtp(float4);
   3199 long4 __ovld __cnfn convert_long4_sat_rtp(float4);
   3200 long4 __ovld __cnfn convert_long4_rtn(float4);
   3201 long4 __ovld __cnfn convert_long4_sat_rtn(float4);
   3202 long4 __ovld __cnfn convert_long4(float4);
   3203 long4 __ovld __cnfn convert_long4_sat(float4);
   3204 ulong4 __ovld __cnfn convert_ulong4_rte(char4);
   3205 ulong4 __ovld __cnfn convert_ulong4_sat_rte(char4);
   3206 ulong4 __ovld __cnfn convert_ulong4_rtz(char4);
   3207 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(char4);
   3208 ulong4 __ovld __cnfn convert_ulong4_rtp(char4);
   3209 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(char4);
   3210 ulong4 __ovld __cnfn convert_ulong4_rtn(char4);
   3211 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(char4);
   3212 ulong4 __ovld __cnfn convert_ulong4(char4);
   3213 ulong4 __ovld __cnfn convert_ulong4_sat(char4);
   3214 ulong4 __ovld __cnfn convert_ulong4_rte(uchar4);
   3215 ulong4 __ovld __cnfn convert_ulong4_sat_rte(uchar4);
   3216 ulong4 __ovld __cnfn convert_ulong4_rtz(uchar4);
   3217 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(uchar4);
   3218 ulong4 __ovld __cnfn convert_ulong4_rtp(uchar4);
   3219 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(uchar4);
   3220 ulong4 __ovld __cnfn convert_ulong4_rtn(uchar4);
   3221 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(uchar4);
   3222 ulong4 __ovld __cnfn convert_ulong4(uchar4);
   3223 ulong4 __ovld __cnfn convert_ulong4_sat(uchar4);
   3224 ulong4 __ovld __cnfn convert_ulong4_rte(short4);
   3225 ulong4 __ovld __cnfn convert_ulong4_sat_rte(short4);
   3226 ulong4 __ovld __cnfn convert_ulong4_rtz(short4);
   3227 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(short4);
   3228 ulong4 __ovld __cnfn convert_ulong4_rtp(short4);
   3229 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(short4);
   3230 ulong4 __ovld __cnfn convert_ulong4_rtn(short4);
   3231 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(short4);
   3232 ulong4 __ovld __cnfn convert_ulong4(short4);
   3233 ulong4 __ovld __cnfn convert_ulong4_sat(short4);
   3234 ulong4 __ovld __cnfn convert_ulong4_rte(ushort4);
   3235 ulong4 __ovld __cnfn convert_ulong4_sat_rte(ushort4);
   3236 ulong4 __ovld __cnfn convert_ulong4_rtz(ushort4);
   3237 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(ushort4);
   3238 ulong4 __ovld __cnfn convert_ulong4_rtp(ushort4);
   3239 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(ushort4);
   3240 ulong4 __ovld __cnfn convert_ulong4_rtn(ushort4);
   3241 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(ushort4);
   3242 ulong4 __ovld __cnfn convert_ulong4(ushort4);
   3243 ulong4 __ovld __cnfn convert_ulong4_sat(ushort4);
   3244 ulong4 __ovld __cnfn convert_ulong4_rte(int4);
   3245 ulong4 __ovld __cnfn convert_ulong4_sat_rte(int4);
   3246 ulong4 __ovld __cnfn convert_ulong4_rtz(int4);
   3247 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(int4);
   3248 ulong4 __ovld __cnfn convert_ulong4_rtp(int4);
   3249 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(int4);
   3250 ulong4 __ovld __cnfn convert_ulong4_rtn(int4);
   3251 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(int4);
   3252 ulong4 __ovld __cnfn convert_ulong4(int4);
   3253 ulong4 __ovld __cnfn convert_ulong4_sat(int4);
   3254 ulong4 __ovld __cnfn convert_ulong4_rte(uint4);
   3255 ulong4 __ovld __cnfn convert_ulong4_sat_rte(uint4);
   3256 ulong4 __ovld __cnfn convert_ulong4_rtz(uint4);
   3257 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(uint4);
   3258 ulong4 __ovld __cnfn convert_ulong4_rtp(uint4);
   3259 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(uint4);
   3260 ulong4 __ovld __cnfn convert_ulong4_rtn(uint4);
   3261 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(uint4);
   3262 ulong4 __ovld __cnfn convert_ulong4(uint4);
   3263 ulong4 __ovld __cnfn convert_ulong4_sat(uint4);
   3264 ulong4 __ovld __cnfn convert_ulong4_rte(long4);
   3265 ulong4 __ovld __cnfn convert_ulong4_sat_rte(long4);
   3266 ulong4 __ovld __cnfn convert_ulong4_rtz(long4);
   3267 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(long4);
   3268 ulong4 __ovld __cnfn convert_ulong4_rtp(long4);
   3269 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(long4);
   3270 ulong4 __ovld __cnfn convert_ulong4_rtn(long4);
   3271 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(long4);
   3272 ulong4 __ovld __cnfn convert_ulong4(long4);
   3273 ulong4 __ovld __cnfn convert_ulong4_sat(long4);
   3274 ulong4 __ovld __cnfn convert_ulong4_rte(ulong4);
   3275 ulong4 __ovld __cnfn convert_ulong4_sat_rte(ulong4);
   3276 ulong4 __ovld __cnfn convert_ulong4_rtz(ulong4);
   3277 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(ulong4);
   3278 ulong4 __ovld __cnfn convert_ulong4_rtp(ulong4);
   3279 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(ulong4);
   3280 ulong4 __ovld __cnfn convert_ulong4_rtn(ulong4);
   3281 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(ulong4);
   3282 ulong4 __ovld __cnfn convert_ulong4(ulong4);
   3283 ulong4 __ovld __cnfn convert_ulong4_sat(ulong4);
   3284 ulong4 __ovld __cnfn convert_ulong4_rte(float4);
   3285 ulong4 __ovld __cnfn convert_ulong4_sat_rte(float4);
   3286 ulong4 __ovld __cnfn convert_ulong4_rtz(float4);
   3287 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(float4);
   3288 ulong4 __ovld __cnfn convert_ulong4_rtp(float4);
   3289 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(float4);
   3290 ulong4 __ovld __cnfn convert_ulong4_rtn(float4);
   3291 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(float4);
   3292 ulong4 __ovld __cnfn convert_ulong4(float4);
   3293 ulong4 __ovld __cnfn convert_ulong4_sat(float4);
   3294 float4 __ovld __cnfn convert_float4_rte(char4);
   3295 float4 __ovld __cnfn convert_float4_rtz(char4);
   3296 float4 __ovld __cnfn convert_float4_rtp(char4);
   3297 float4 __ovld __cnfn convert_float4_rtn(char4);
   3298 float4 __ovld __cnfn convert_float4(char4);
   3299 float4 __ovld __cnfn convert_float4_rte(uchar4);
   3300 float4 __ovld __cnfn convert_float4_rtz(uchar4);
   3301 float4 __ovld __cnfn convert_float4_rtp(uchar4);
   3302 float4 __ovld __cnfn convert_float4_rtn(uchar4);
   3303 float4 __ovld __cnfn convert_float4(uchar4);
   3304 float4 __ovld __cnfn convert_float4_rte(short4);
   3305 float4 __ovld __cnfn convert_float4_rtz(short4);
   3306 float4 __ovld __cnfn convert_float4_rtp(short4);
   3307 float4 __ovld __cnfn convert_float4_rtn(short4);
   3308 float4 __ovld __cnfn convert_float4(short4);
   3309 float4 __ovld __cnfn convert_float4_rte(ushort4);
   3310 float4 __ovld __cnfn convert_float4_rtz(ushort4);
   3311 float4 __ovld __cnfn convert_float4_rtp(ushort4);
   3312 float4 __ovld __cnfn convert_float4_rtn(ushort4);
   3313 float4 __ovld __cnfn convert_float4(ushort4);
   3314 float4 __ovld __cnfn convert_float4_rte(int4);
   3315 float4 __ovld __cnfn convert_float4_rtz(int4);
   3316 float4 __ovld __cnfn convert_float4_rtp(int4);
   3317 float4 __ovld __cnfn convert_float4_rtn(int4);
   3318 float4 __ovld __cnfn convert_float4(int4);
   3319 float4 __ovld __cnfn convert_float4_rte(uint4);
   3320 float4 __ovld __cnfn convert_float4_rtz(uint4);
   3321 float4 __ovld __cnfn convert_float4_rtp(uint4);
   3322 float4 __ovld __cnfn convert_float4_rtn(uint4);
   3323 float4 __ovld __cnfn convert_float4(uint4);
   3324 float4 __ovld __cnfn convert_float4_rte(long4);
   3325 float4 __ovld __cnfn convert_float4_rtz(long4);
   3326 float4 __ovld __cnfn convert_float4_rtp(long4);
   3327 float4 __ovld __cnfn convert_float4_rtn(long4);
   3328 float4 __ovld __cnfn convert_float4(long4);
   3329 float4 __ovld __cnfn convert_float4_rte(ulong4);
   3330 float4 __ovld __cnfn convert_float4_rtz(ulong4);
   3331 float4 __ovld __cnfn convert_float4_rtp(ulong4);
   3332 float4 __ovld __cnfn convert_float4_rtn(ulong4);
   3333 float4 __ovld __cnfn convert_float4(ulong4);
   3334 float4 __ovld __cnfn convert_float4_rte(float4);
   3335 float4 __ovld __cnfn convert_float4_rtz(float4);
   3336 float4 __ovld __cnfn convert_float4_rtp(float4);
   3337 float4 __ovld __cnfn convert_float4_rtn(float4);
   3338 float4 __ovld __cnfn convert_float4(float4);
   3339 char8 __ovld __cnfn convert_char8_rte(char8);
   3340 char8 __ovld __cnfn convert_char8_sat_rte(char8);
   3341 char8 __ovld __cnfn convert_char8_rtz(char8);
   3342 char8 __ovld __cnfn convert_char8_sat_rtz(char8);
   3343 char8 __ovld __cnfn convert_char8_rtp(char8);
   3344 char8 __ovld __cnfn convert_char8_sat_rtp(char8);
   3345 char8 __ovld __cnfn convert_char8_rtn(char8);
   3346 char8 __ovld __cnfn convert_char8_sat_rtn(char8);
   3347 char8 __ovld __cnfn convert_char8(char8);
   3348 char8 __ovld __cnfn convert_char8_sat(char8);
   3349 char8 __ovld __cnfn convert_char8_rte(uchar8);
   3350 char8 __ovld __cnfn convert_char8_sat_rte(uchar8);
   3351 char8 __ovld __cnfn convert_char8_rtz(uchar8);
   3352 char8 __ovld __cnfn convert_char8_sat_rtz(uchar8);
   3353 char8 __ovld __cnfn convert_char8_rtp(uchar8);
   3354 char8 __ovld __cnfn convert_char8_sat_rtp(uchar8);
   3355 char8 __ovld __cnfn convert_char8_rtn(uchar8);
   3356 char8 __ovld __cnfn convert_char8_sat_rtn(uchar8);
   3357 char8 __ovld __cnfn convert_char8(uchar8);
   3358 char8 __ovld __cnfn convert_char8_sat(uchar8);
   3359 char8 __ovld __cnfn convert_char8_rte(short8);
   3360 char8 __ovld __cnfn convert_char8_sat_rte(short8);
   3361 char8 __ovld __cnfn convert_char8_rtz(short8);
   3362 char8 __ovld __cnfn convert_char8_sat_rtz(short8);
   3363 char8 __ovld __cnfn convert_char8_rtp(short8);
   3364 char8 __ovld __cnfn convert_char8_sat_rtp(short8);
   3365 char8 __ovld __cnfn convert_char8_rtn(short8);
   3366 char8 __ovld __cnfn convert_char8_sat_rtn(short8);
   3367 char8 __ovld __cnfn convert_char8(short8);
   3368 char8 __ovld __cnfn convert_char8_sat(short8);
   3369 char8 __ovld __cnfn convert_char8_rte(ushort8);
   3370 char8 __ovld __cnfn convert_char8_sat_rte(ushort8);
   3371 char8 __ovld __cnfn convert_char8_rtz(ushort8);
   3372 char8 __ovld __cnfn convert_char8_sat_rtz(ushort8);
   3373 char8 __ovld __cnfn convert_char8_rtp(ushort8);
   3374 char8 __ovld __cnfn convert_char8_sat_rtp(ushort8);
   3375 char8 __ovld __cnfn convert_char8_rtn(ushort8);
   3376 char8 __ovld __cnfn convert_char8_sat_rtn(ushort8);
   3377 char8 __ovld __cnfn convert_char8(ushort8);
   3378 char8 __ovld __cnfn convert_char8_sat(ushort8);
   3379 char8 __ovld __cnfn convert_char8_rte(int8);
   3380 char8 __ovld __cnfn convert_char8_sat_rte(int8);
   3381 char8 __ovld __cnfn convert_char8_rtz(int8);
   3382 char8 __ovld __cnfn convert_char8_sat_rtz(int8);
   3383 char8 __ovld __cnfn convert_char8_rtp(int8);
   3384 char8 __ovld __cnfn convert_char8_sat_rtp(int8);
   3385 char8 __ovld __cnfn convert_char8_rtn(int8);
   3386 char8 __ovld __cnfn convert_char8_sat_rtn(int8);
   3387 char8 __ovld __cnfn convert_char8(int8);
   3388 char8 __ovld __cnfn convert_char8_sat(int8);
   3389 char8 __ovld __cnfn convert_char8_rte(uint8);
   3390 char8 __ovld __cnfn convert_char8_sat_rte(uint8);
   3391 char8 __ovld __cnfn convert_char8_rtz(uint8);
   3392 char8 __ovld __cnfn convert_char8_sat_rtz(uint8);
   3393 char8 __ovld __cnfn convert_char8_rtp(uint8);
   3394 char8 __ovld __cnfn convert_char8_sat_rtp(uint8);
   3395 char8 __ovld __cnfn convert_char8_rtn(uint8);
   3396 char8 __ovld __cnfn convert_char8_sat_rtn(uint8);
   3397 char8 __ovld __cnfn convert_char8(uint8);
   3398 char8 __ovld __cnfn convert_char8_sat(uint8);
   3399 char8 __ovld __cnfn convert_char8_rte(long8);
   3400 char8 __ovld __cnfn convert_char8_sat_rte(long8);
   3401 char8 __ovld __cnfn convert_char8_rtz(long8);
   3402 char8 __ovld __cnfn convert_char8_sat_rtz(long8);
   3403 char8 __ovld __cnfn convert_char8_rtp(long8);
   3404 char8 __ovld __cnfn convert_char8_sat_rtp(long8);
   3405 char8 __ovld __cnfn convert_char8_rtn(long8);
   3406 char8 __ovld __cnfn convert_char8_sat_rtn(long8);
   3407 char8 __ovld __cnfn convert_char8(long8);
   3408 char8 __ovld __cnfn convert_char8_sat(long8);
   3409 char8 __ovld __cnfn convert_char8_rte(ulong8);
   3410 char8 __ovld __cnfn convert_char8_sat_rte(ulong8);
   3411 char8 __ovld __cnfn convert_char8_rtz(ulong8);
   3412 char8 __ovld __cnfn convert_char8_sat_rtz(ulong8);
   3413 char8 __ovld __cnfn convert_char8_rtp(ulong8);
   3414 char8 __ovld __cnfn convert_char8_sat_rtp(ulong8);
   3415 char8 __ovld __cnfn convert_char8_rtn(ulong8);
   3416 char8 __ovld __cnfn convert_char8_sat_rtn(ulong8);
   3417 char8 __ovld __cnfn convert_char8(ulong8);
   3418 char8 __ovld __cnfn convert_char8_sat(ulong8);
   3419 char8 __ovld __cnfn convert_char8_rte(float8);
   3420 char8 __ovld __cnfn convert_char8_sat_rte(float8);
   3421 char8 __ovld __cnfn convert_char8_rtz(float8);
   3422 char8 __ovld __cnfn convert_char8_sat_rtz(float8);
   3423 char8 __ovld __cnfn convert_char8_rtp(float8);
   3424 char8 __ovld __cnfn convert_char8_sat_rtp(float8);
   3425 char8 __ovld __cnfn convert_char8_rtn(float8);
   3426 char8 __ovld __cnfn convert_char8_sat_rtn(float8);
   3427 char8 __ovld __cnfn convert_char8(float8);
   3428 char8 __ovld __cnfn convert_char8_sat(float8);
   3429 uchar8 __ovld __cnfn convert_uchar8_rte(char8);
   3430 uchar8 __ovld __cnfn convert_uchar8_sat_rte(char8);
   3431 uchar8 __ovld __cnfn convert_uchar8_rtz(char8);
   3432 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(char8);
   3433 uchar8 __ovld __cnfn convert_uchar8_rtp(char8);
   3434 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(char8);
   3435 uchar8 __ovld __cnfn convert_uchar8_rtn(char8);
   3436 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(char8);
   3437 uchar8 __ovld __cnfn convert_uchar8(char8);
   3438 uchar8 __ovld __cnfn convert_uchar8_sat(char8);
   3439 uchar8 __ovld __cnfn convert_uchar8_rte(uchar8);
   3440 uchar8 __ovld __cnfn convert_uchar8_sat_rte(uchar8);
   3441 uchar8 __ovld __cnfn convert_uchar8_rtz(uchar8);
   3442 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(uchar8);
   3443 uchar8 __ovld __cnfn convert_uchar8_rtp(uchar8);
   3444 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(uchar8);
   3445 uchar8 __ovld __cnfn convert_uchar8_rtn(uchar8);
   3446 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(uchar8);
   3447 uchar8 __ovld __cnfn convert_uchar8(uchar8);
   3448 uchar8 __ovld __cnfn convert_uchar8_sat(uchar8);
   3449 uchar8 __ovld __cnfn convert_uchar8_rte(short8);
   3450 uchar8 __ovld __cnfn convert_uchar8_sat_rte(short8);
   3451 uchar8 __ovld __cnfn convert_uchar8_rtz(short8);
   3452 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(short8);
   3453 uchar8 __ovld __cnfn convert_uchar8_rtp(short8);
   3454 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(short8);
   3455 uchar8 __ovld __cnfn convert_uchar8_rtn(short8);
   3456 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(short8);
   3457 uchar8 __ovld __cnfn convert_uchar8(short8);
   3458 uchar8 __ovld __cnfn convert_uchar8_sat(short8);
   3459 uchar8 __ovld __cnfn convert_uchar8_rte(ushort8);
   3460 uchar8 __ovld __cnfn convert_uchar8_sat_rte(ushort8);
   3461 uchar8 __ovld __cnfn convert_uchar8_rtz(ushort8);
   3462 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(ushort8);
   3463 uchar8 __ovld __cnfn convert_uchar8_rtp(ushort8);
   3464 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(ushort8);
   3465 uchar8 __ovld __cnfn convert_uchar8_rtn(ushort8);
   3466 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(ushort8);
   3467 uchar8 __ovld __cnfn convert_uchar8(ushort8);
   3468 uchar8 __ovld __cnfn convert_uchar8_sat(ushort8);
   3469 uchar8 __ovld __cnfn convert_uchar8_rte(int8);
   3470 uchar8 __ovld __cnfn convert_uchar8_sat_rte(int8);
   3471 uchar8 __ovld __cnfn convert_uchar8_rtz(int8);
   3472 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(int8);
   3473 uchar8 __ovld __cnfn convert_uchar8_rtp(int8);
   3474 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(int8);
   3475 uchar8 __ovld __cnfn convert_uchar8_rtn(int8);
   3476 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(int8);
   3477 uchar8 __ovld __cnfn convert_uchar8(int8);
   3478 uchar8 __ovld __cnfn convert_uchar8_sat(int8);
   3479 uchar8 __ovld __cnfn convert_uchar8_rte(uint8);
   3480 uchar8 __ovld __cnfn convert_uchar8_sat_rte(uint8);
   3481 uchar8 __ovld __cnfn convert_uchar8_rtz(uint8);
   3482 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(uint8);
   3483 uchar8 __ovld __cnfn convert_uchar8_rtp(uint8);
   3484 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(uint8);
   3485 uchar8 __ovld __cnfn convert_uchar8_rtn(uint8);
   3486 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(uint8);
   3487 uchar8 __ovld __cnfn convert_uchar8(uint8);
   3488 uchar8 __ovld __cnfn convert_uchar8_sat(uint8);
   3489 uchar8 __ovld __cnfn convert_uchar8_rte(long8);
   3490 uchar8 __ovld __cnfn convert_uchar8_sat_rte(long8);
   3491 uchar8 __ovld __cnfn convert_uchar8_rtz(long8);
   3492 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(long8);
   3493 uchar8 __ovld __cnfn convert_uchar8_rtp(long8);
   3494 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(long8);
   3495 uchar8 __ovld __cnfn convert_uchar8_rtn(long8);
   3496 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(long8);
   3497 uchar8 __ovld __cnfn convert_uchar8(long8);
   3498 uchar8 __ovld __cnfn convert_uchar8_sat(long8);
   3499 uchar8 __ovld __cnfn convert_uchar8_rte(ulong8);
   3500 uchar8 __ovld __cnfn convert_uchar8_sat_rte(ulong8);
   3501 uchar8 __ovld __cnfn convert_uchar8_rtz(ulong8);
   3502 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(ulong8);
   3503 uchar8 __ovld __cnfn convert_uchar8_rtp(ulong8);
   3504 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(ulong8);
   3505 uchar8 __ovld __cnfn convert_uchar8_rtn(ulong8);
   3506 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(ulong8);
   3507 uchar8 __ovld __cnfn convert_uchar8(ulong8);
   3508 uchar8 __ovld __cnfn convert_uchar8_sat(ulong8);
   3509 uchar8 __ovld __cnfn convert_uchar8_rte(float8);
   3510 uchar8 __ovld __cnfn convert_uchar8_sat_rte(float8);
   3511 uchar8 __ovld __cnfn convert_uchar8_rtz(float8);
   3512 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(float8);
   3513 uchar8 __ovld __cnfn convert_uchar8_rtp(float8);
   3514 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(float8);
   3515 uchar8 __ovld __cnfn convert_uchar8_rtn(float8);
   3516 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(float8);
   3517 uchar8 __ovld __cnfn convert_uchar8(float8);
   3518 uchar8 __ovld __cnfn convert_uchar8_sat(float8);
   3519 short8 __ovld __cnfn convert_short8_rte(char8);
   3520 short8 __ovld __cnfn convert_short8_sat_rte(char8);
   3521 short8 __ovld __cnfn convert_short8_rtz(char8);
   3522 short8 __ovld __cnfn convert_short8_sat_rtz(char8);
   3523 short8 __ovld __cnfn convert_short8_rtp(char8);
   3524 short8 __ovld __cnfn convert_short8_sat_rtp(char8);
   3525 short8 __ovld __cnfn convert_short8_rtn(char8);
   3526 short8 __ovld __cnfn convert_short8_sat_rtn(char8);
   3527 short8 __ovld __cnfn convert_short8(char8);
   3528 short8 __ovld __cnfn convert_short8_sat(char8);
   3529 short8 __ovld __cnfn convert_short8_rte(uchar8);
   3530 short8 __ovld __cnfn convert_short8_sat_rte(uchar8);
   3531 short8 __ovld __cnfn convert_short8_rtz(uchar8);
   3532 short8 __ovld __cnfn convert_short8_sat_rtz(uchar8);
   3533 short8 __ovld __cnfn convert_short8_rtp(uchar8);
   3534 short8 __ovld __cnfn convert_short8_sat_rtp(uchar8);
   3535 short8 __ovld __cnfn convert_short8_rtn(uchar8);
   3536 short8 __ovld __cnfn convert_short8_sat_rtn(uchar8);
   3537 short8 __ovld __cnfn convert_short8(uchar8);
   3538 short8 __ovld __cnfn convert_short8_sat(uchar8);
   3539 short8 __ovld __cnfn convert_short8_rte(short8);
   3540 short8 __ovld __cnfn convert_short8_sat_rte(short8);
   3541 short8 __ovld __cnfn convert_short8_rtz(short8);
   3542 short8 __ovld __cnfn convert_short8_sat_rtz(short8);
   3543 short8 __ovld __cnfn convert_short8_rtp(short8);
   3544 short8 __ovld __cnfn convert_short8_sat_rtp(short8);
   3545 short8 __ovld __cnfn convert_short8_rtn(short8);
   3546 short8 __ovld __cnfn convert_short8_sat_rtn(short8);
   3547 short8 __ovld __cnfn convert_short8(short8);
   3548 short8 __ovld __cnfn convert_short8_sat(short8);
   3549 short8 __ovld __cnfn convert_short8_rte(ushort8);
   3550 short8 __ovld __cnfn convert_short8_sat_rte(ushort8);
   3551 short8 __ovld __cnfn convert_short8_rtz(ushort8);
   3552 short8 __ovld __cnfn convert_short8_sat_rtz(ushort8);
   3553 short8 __ovld __cnfn convert_short8_rtp(ushort8);
   3554 short8 __ovld __cnfn convert_short8_sat_rtp(ushort8);
   3555 short8 __ovld __cnfn convert_short8_rtn(ushort8);
   3556 short8 __ovld __cnfn convert_short8_sat_rtn(ushort8);
   3557 short8 __ovld __cnfn convert_short8(ushort8);
   3558 short8 __ovld __cnfn convert_short8_sat(ushort8);
   3559 short8 __ovld __cnfn convert_short8_rte(int8);
   3560 short8 __ovld __cnfn convert_short8_sat_rte(int8);
   3561 short8 __ovld __cnfn convert_short8_rtz(int8);
   3562 short8 __ovld __cnfn convert_short8_sat_rtz(int8);
   3563 short8 __ovld __cnfn convert_short8_rtp(int8);
   3564 short8 __ovld __cnfn convert_short8_sat_rtp(int8);
   3565 short8 __ovld __cnfn convert_short8_rtn(int8);
   3566 short8 __ovld __cnfn convert_short8_sat_rtn(int8);
   3567 short8 __ovld __cnfn convert_short8(int8);
   3568 short8 __ovld __cnfn convert_short8_sat(int8);
   3569 short8 __ovld __cnfn convert_short8_rte(uint8);
   3570 short8 __ovld __cnfn convert_short8_sat_rte(uint8);
   3571 short8 __ovld __cnfn convert_short8_rtz(uint8);
   3572 short8 __ovld __cnfn convert_short8_sat_rtz(uint8);
   3573 short8 __ovld __cnfn convert_short8_rtp(uint8);
   3574 short8 __ovld __cnfn convert_short8_sat_rtp(uint8);
   3575 short8 __ovld __cnfn convert_short8_rtn(uint8);
   3576 short8 __ovld __cnfn convert_short8_sat_rtn(uint8);
   3577 short8 __ovld __cnfn convert_short8(uint8);
   3578 short8 __ovld __cnfn convert_short8_sat(uint8);
   3579 short8 __ovld __cnfn convert_short8_rte(long8);
   3580 short8 __ovld __cnfn convert_short8_sat_rte(long8);
   3581 short8 __ovld __cnfn convert_short8_rtz(long8);
   3582 short8 __ovld __cnfn convert_short8_sat_rtz(long8);
   3583 short8 __ovld __cnfn convert_short8_rtp(long8);
   3584 short8 __ovld __cnfn convert_short8_sat_rtp(long8);
   3585 short8 __ovld __cnfn convert_short8_rtn(long8);
   3586 short8 __ovld __cnfn convert_short8_sat_rtn(long8);
   3587 short8 __ovld __cnfn convert_short8(long8);
   3588 short8 __ovld __cnfn convert_short8_sat(long8);
   3589 short8 __ovld __cnfn convert_short8_rte(ulong8);
   3590 short8 __ovld __cnfn convert_short8_sat_rte(ulong8);
   3591 short8 __ovld __cnfn convert_short8_rtz(ulong8);
   3592 short8 __ovld __cnfn convert_short8_sat_rtz(ulong8);
   3593 short8 __ovld __cnfn convert_short8_rtp(ulong8);
   3594 short8 __ovld __cnfn convert_short8_sat_rtp(ulong8);
   3595 short8 __ovld __cnfn convert_short8_rtn(ulong8);
   3596 short8 __ovld __cnfn convert_short8_sat_rtn(ulong8);
   3597 short8 __ovld __cnfn convert_short8(ulong8);
   3598 short8 __ovld __cnfn convert_short8_sat(ulong8);
   3599 short8 __ovld __cnfn convert_short8_rte(float8);
   3600 short8 __ovld __cnfn convert_short8_sat_rte(float8);
   3601 short8 __ovld __cnfn convert_short8_rtz(float8);
   3602 short8 __ovld __cnfn convert_short8_sat_rtz(float8);
   3603 short8 __ovld __cnfn convert_short8_rtp(float8);
   3604 short8 __ovld __cnfn convert_short8_sat_rtp(float8);
   3605 short8 __ovld __cnfn convert_short8_rtn(float8);
   3606 short8 __ovld __cnfn convert_short8_sat_rtn(float8);
   3607 short8 __ovld __cnfn convert_short8(float8);
   3608 short8 __ovld __cnfn convert_short8_sat(float8);
   3609 ushort8 __ovld __cnfn convert_ushort8_rte(char8);
   3610 ushort8 __ovld __cnfn convert_ushort8_sat_rte(char8);
   3611 ushort8 __ovld __cnfn convert_ushort8_rtz(char8);
   3612 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(char8);
   3613 ushort8 __ovld __cnfn convert_ushort8_rtp(char8);
   3614 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(char8);
   3615 ushort8 __ovld __cnfn convert_ushort8_rtn(char8);
   3616 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(char8);
   3617 ushort8 __ovld __cnfn convert_ushort8(char8);
   3618 ushort8 __ovld __cnfn convert_ushort8_sat(char8);
   3619 ushort8 __ovld __cnfn convert_ushort8_rte(uchar8);
   3620 ushort8 __ovld __cnfn convert_ushort8_sat_rte(uchar8);
   3621 ushort8 __ovld __cnfn convert_ushort8_rtz(uchar8);
   3622 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(uchar8);
   3623 ushort8 __ovld __cnfn convert_ushort8_rtp(uchar8);
   3624 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(uchar8);
   3625 ushort8 __ovld __cnfn convert_ushort8_rtn(uchar8);
   3626 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(uchar8);
   3627 ushort8 __ovld __cnfn convert_ushort8(uchar8);
   3628 ushort8 __ovld __cnfn convert_ushort8_sat(uchar8);
   3629 ushort8 __ovld __cnfn convert_ushort8_rte(short8);
   3630 ushort8 __ovld __cnfn convert_ushort8_sat_rte(short8);
   3631 ushort8 __ovld __cnfn convert_ushort8_rtz(short8);
   3632 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(short8);
   3633 ushort8 __ovld __cnfn convert_ushort8_rtp(short8);
   3634 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(short8);
   3635 ushort8 __ovld __cnfn convert_ushort8_rtn(short8);
   3636 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(short8);
   3637 ushort8 __ovld __cnfn convert_ushort8(short8);
   3638 ushort8 __ovld __cnfn convert_ushort8_sat(short8);
   3639 ushort8 __ovld __cnfn convert_ushort8_rte(ushort8);
   3640 ushort8 __ovld __cnfn convert_ushort8_sat_rte(ushort8);
   3641 ushort8 __ovld __cnfn convert_ushort8_rtz(ushort8);
   3642 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(ushort8);
   3643 ushort8 __ovld __cnfn convert_ushort8_rtp(ushort8);
   3644 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(ushort8);
   3645 ushort8 __ovld __cnfn convert_ushort8_rtn(ushort8);
   3646 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(ushort8);
   3647 ushort8 __ovld __cnfn convert_ushort8(ushort8);
   3648 ushort8 __ovld __cnfn convert_ushort8_sat(ushort8);
   3649 ushort8 __ovld __cnfn convert_ushort8_rte(int8);
   3650 ushort8 __ovld __cnfn convert_ushort8_sat_rte(int8);
   3651 ushort8 __ovld __cnfn convert_ushort8_rtz(int8);
   3652 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(int8);
   3653 ushort8 __ovld __cnfn convert_ushort8_rtp(int8);
   3654 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(int8);
   3655 ushort8 __ovld __cnfn convert_ushort8_rtn(int8);
   3656 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(int8);
   3657 ushort8 __ovld __cnfn convert_ushort8(int8);
   3658 ushort8 __ovld __cnfn convert_ushort8_sat(int8);
   3659 ushort8 __ovld __cnfn convert_ushort8_rte(uint8);
   3660 ushort8 __ovld __cnfn convert_ushort8_sat_rte(uint8);
   3661 ushort8 __ovld __cnfn convert_ushort8_rtz(uint8);
   3662 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(uint8);
   3663 ushort8 __ovld __cnfn convert_ushort8_rtp(uint8);
   3664 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(uint8);
   3665 ushort8 __ovld __cnfn convert_ushort8_rtn(uint8);
   3666 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(uint8);
   3667 ushort8 __ovld __cnfn convert_ushort8(uint8);
   3668 ushort8 __ovld __cnfn convert_ushort8_sat(uint8);
   3669 ushort8 __ovld __cnfn convert_ushort8_rte(long8);
   3670 ushort8 __ovld __cnfn convert_ushort8_sat_rte(long8);
   3671 ushort8 __ovld __cnfn convert_ushort8_rtz(long8);
   3672 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(long8);
   3673 ushort8 __ovld __cnfn convert_ushort8_rtp(long8);
   3674 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(long8);
   3675 ushort8 __ovld __cnfn convert_ushort8_rtn(long8);
   3676 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(long8);
   3677 ushort8 __ovld __cnfn convert_ushort8(long8);
   3678 ushort8 __ovld __cnfn convert_ushort8_sat(long8);
   3679 ushort8 __ovld __cnfn convert_ushort8_rte(ulong8);
   3680 ushort8 __ovld __cnfn convert_ushort8_sat_rte(ulong8);
   3681 ushort8 __ovld __cnfn convert_ushort8_rtz(ulong8);
   3682 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(ulong8);
   3683 ushort8 __ovld __cnfn convert_ushort8_rtp(ulong8);
   3684 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(ulong8);
   3685 ushort8 __ovld __cnfn convert_ushort8_rtn(ulong8);
   3686 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(ulong8);
   3687 ushort8 __ovld __cnfn convert_ushort8(ulong8);
   3688 ushort8 __ovld __cnfn convert_ushort8_sat(ulong8);
   3689 ushort8 __ovld __cnfn convert_ushort8_rte(float8);
   3690 ushort8 __ovld __cnfn convert_ushort8_sat_rte(float8);
   3691 ushort8 __ovld __cnfn convert_ushort8_rtz(float8);
   3692 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(float8);
   3693 ushort8 __ovld __cnfn convert_ushort8_rtp(float8);
   3694 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(float8);
   3695 ushort8 __ovld __cnfn convert_ushort8_rtn(float8);
   3696 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(float8);
   3697 ushort8 __ovld __cnfn convert_ushort8(float8);
   3698 ushort8 __ovld __cnfn convert_ushort8_sat(float8);
   3699 int8 __ovld __cnfn convert_int8_rte(char8);
   3700 int8 __ovld __cnfn convert_int8_sat_rte(char8);
   3701 int8 __ovld __cnfn convert_int8_rtz(char8);
   3702 int8 __ovld __cnfn convert_int8_sat_rtz(char8);
   3703 int8 __ovld __cnfn convert_int8_rtp(char8);
   3704 int8 __ovld __cnfn convert_int8_sat_rtp(char8);
   3705 int8 __ovld __cnfn convert_int8_rtn(char8);
   3706 int8 __ovld __cnfn convert_int8_sat_rtn(char8);
   3707 int8 __ovld __cnfn convert_int8(char8);
   3708 int8 __ovld __cnfn convert_int8_sat(char8);
   3709 int8 __ovld __cnfn convert_int8_rte(uchar8);
   3710 int8 __ovld __cnfn convert_int8_sat_rte(uchar8);
   3711 int8 __ovld __cnfn convert_int8_rtz(uchar8);
   3712 int8 __ovld __cnfn convert_int8_sat_rtz(uchar8);
   3713 int8 __ovld __cnfn convert_int8_rtp(uchar8);
   3714 int8 __ovld __cnfn convert_int8_sat_rtp(uchar8);
   3715 int8 __ovld __cnfn convert_int8_rtn(uchar8);
   3716 int8 __ovld __cnfn convert_int8_sat_rtn(uchar8);
   3717 int8 __ovld __cnfn convert_int8(uchar8);
   3718 int8 __ovld __cnfn convert_int8_sat(uchar8);
   3719 int8 __ovld __cnfn convert_int8_rte(short8);
   3720 int8 __ovld __cnfn convert_int8_sat_rte(short8);
   3721 int8 __ovld __cnfn convert_int8_rtz(short8);
   3722 int8 __ovld __cnfn convert_int8_sat_rtz(short8);
   3723 int8 __ovld __cnfn convert_int8_rtp(short8);
   3724 int8 __ovld __cnfn convert_int8_sat_rtp(short8);
   3725 int8 __ovld __cnfn convert_int8_rtn(short8);
   3726 int8 __ovld __cnfn convert_int8_sat_rtn(short8);
   3727 int8 __ovld __cnfn convert_int8(short8);
   3728 int8 __ovld __cnfn convert_int8_sat(short8);
   3729 int8 __ovld __cnfn convert_int8_rte(ushort8);
   3730 int8 __ovld __cnfn convert_int8_sat_rte(ushort8);
   3731 int8 __ovld __cnfn convert_int8_rtz(ushort8);
   3732 int8 __ovld __cnfn convert_int8_sat_rtz(ushort8);
   3733 int8 __ovld __cnfn convert_int8_rtp(ushort8);
   3734 int8 __ovld __cnfn convert_int8_sat_rtp(ushort8);
   3735 int8 __ovld __cnfn convert_int8_rtn(ushort8);
   3736 int8 __ovld __cnfn convert_int8_sat_rtn(ushort8);
   3737 int8 __ovld __cnfn convert_int8(ushort8);
   3738 int8 __ovld __cnfn convert_int8_sat(ushort8);
   3739 int8 __ovld __cnfn convert_int8_rte(int8);
   3740 int8 __ovld __cnfn convert_int8_sat_rte(int8);
   3741 int8 __ovld __cnfn convert_int8_rtz(int8);
   3742 int8 __ovld __cnfn convert_int8_sat_rtz(int8);
   3743 int8 __ovld __cnfn convert_int8_rtp(int8);
   3744 int8 __ovld __cnfn convert_int8_sat_rtp(int8);
   3745 int8 __ovld __cnfn convert_int8_rtn(int8);
   3746 int8 __ovld __cnfn convert_int8_sat_rtn(int8);
   3747 int8 __ovld __cnfn convert_int8(int8);
   3748 int8 __ovld __cnfn convert_int8_sat(int8);
   3749 int8 __ovld __cnfn convert_int8_rte(uint8);
   3750 int8 __ovld __cnfn convert_int8_sat_rte(uint8);
   3751 int8 __ovld __cnfn convert_int8_rtz(uint8);
   3752 int8 __ovld __cnfn convert_int8_sat_rtz(uint8);
   3753 int8 __ovld __cnfn convert_int8_rtp(uint8);
   3754 int8 __ovld __cnfn convert_int8_sat_rtp(uint8);
   3755 int8 __ovld __cnfn convert_int8_rtn(uint8);
   3756 int8 __ovld __cnfn convert_int8_sat_rtn(uint8);
   3757 int8 __ovld __cnfn convert_int8(uint8);
   3758 int8 __ovld __cnfn convert_int8_sat(uint8);
   3759 int8 __ovld __cnfn convert_int8_rte(long8);
   3760 int8 __ovld __cnfn convert_int8_sat_rte(long8);
   3761 int8 __ovld __cnfn convert_int8_rtz(long8);
   3762 int8 __ovld __cnfn convert_int8_sat_rtz(long8);
   3763 int8 __ovld __cnfn convert_int8_rtp(long8);
   3764 int8 __ovld __cnfn convert_int8_sat_rtp(long8);
   3765 int8 __ovld __cnfn convert_int8_rtn(long8);
   3766 int8 __ovld __cnfn convert_int8_sat_rtn(long8);
   3767 int8 __ovld __cnfn convert_int8(long8);
   3768 int8 __ovld __cnfn convert_int8_sat(long8);
   3769 int8 __ovld __cnfn convert_int8_rte(ulong8);
   3770 int8 __ovld __cnfn convert_int8_sat_rte(ulong8);
   3771 int8 __ovld __cnfn convert_int8_rtz(ulong8);
   3772 int8 __ovld __cnfn convert_int8_sat_rtz(ulong8);
   3773 int8 __ovld __cnfn convert_int8_rtp(ulong8);
   3774 int8 __ovld __cnfn convert_int8_sat_rtp(ulong8);
   3775 int8 __ovld __cnfn convert_int8_rtn(ulong8);
   3776 int8 __ovld __cnfn convert_int8_sat_rtn(ulong8);
   3777 int8 __ovld __cnfn convert_int8(ulong8);
   3778 int8 __ovld __cnfn convert_int8_sat(ulong8);
   3779 int8 __ovld __cnfn convert_int8_rte(float8);
   3780 int8 __ovld __cnfn convert_int8_sat_rte(float8);
   3781 int8 __ovld __cnfn convert_int8_rtz(float8);
   3782 int8 __ovld __cnfn convert_int8_sat_rtz(float8);
   3783 int8 __ovld __cnfn convert_int8_rtp(float8);
   3784 int8 __ovld __cnfn convert_int8_sat_rtp(float8);
   3785 int8 __ovld __cnfn convert_int8_rtn(float8);
   3786 int8 __ovld __cnfn convert_int8_sat_rtn(float8);
   3787 int8 __ovld __cnfn convert_int8(float8);
   3788 int8 __ovld __cnfn convert_int8_sat(float8);
   3789 uint8 __ovld __cnfn convert_uint8_rte(char8);
   3790 uint8 __ovld __cnfn convert_uint8_sat_rte(char8);
   3791 uint8 __ovld __cnfn convert_uint8_rtz(char8);
   3792 uint8 __ovld __cnfn convert_uint8_sat_rtz(char8);
   3793 uint8 __ovld __cnfn convert_uint8_rtp(char8);
   3794 uint8 __ovld __cnfn convert_uint8_sat_rtp(char8);
   3795 uint8 __ovld __cnfn convert_uint8_rtn(char8);
   3796 uint8 __ovld __cnfn convert_uint8_sat_rtn(char8);
   3797 uint8 __ovld __cnfn convert_uint8(char8);
   3798 uint8 __ovld __cnfn convert_uint8_sat(char8);
   3799 uint8 __ovld __cnfn convert_uint8_rte(uchar8);
   3800 uint8 __ovld __cnfn convert_uint8_sat_rte(uchar8);
   3801 uint8 __ovld __cnfn convert_uint8_rtz(uchar8);
   3802 uint8 __ovld __cnfn convert_uint8_sat_rtz(uchar8);
   3803 uint8 __ovld __cnfn convert_uint8_rtp(uchar8);
   3804 uint8 __ovld __cnfn convert_uint8_sat_rtp(uchar8);
   3805 uint8 __ovld __cnfn convert_uint8_rtn(uchar8);
   3806 uint8 __ovld __cnfn convert_uint8_sat_rtn(uchar8);
   3807 uint8 __ovld __cnfn convert_uint8(uchar8);
   3808 uint8 __ovld __cnfn convert_uint8_sat(uchar8);
   3809 uint8 __ovld __cnfn convert_uint8_rte(short8);
   3810 uint8 __ovld __cnfn convert_uint8_sat_rte(short8);
   3811 uint8 __ovld __cnfn convert_uint8_rtz(short8);
   3812 uint8 __ovld __cnfn convert_uint8_sat_rtz(short8);
   3813 uint8 __ovld __cnfn convert_uint8_rtp(short8);
   3814 uint8 __ovld __cnfn convert_uint8_sat_rtp(short8);
   3815 uint8 __ovld __cnfn convert_uint8_rtn(short8);
   3816 uint8 __ovld __cnfn convert_uint8_sat_rtn(short8);
   3817 uint8 __ovld __cnfn convert_uint8(short8);
   3818 uint8 __ovld __cnfn convert_uint8_sat(short8);
   3819 uint8 __ovld __cnfn convert_uint8_rte(ushort8);
   3820 uint8 __ovld __cnfn convert_uint8_sat_rte(ushort8);
   3821 uint8 __ovld __cnfn convert_uint8_rtz(ushort8);
   3822 uint8 __ovld __cnfn convert_uint8_sat_rtz(ushort8);
   3823 uint8 __ovld __cnfn convert_uint8_rtp(ushort8);
   3824 uint8 __ovld __cnfn convert_uint8_sat_rtp(ushort8);
   3825 uint8 __ovld __cnfn convert_uint8_rtn(ushort8);
   3826 uint8 __ovld __cnfn convert_uint8_sat_rtn(ushort8);
   3827 uint8 __ovld __cnfn convert_uint8(ushort8);
   3828 uint8 __ovld __cnfn convert_uint8_sat(ushort8);
   3829 uint8 __ovld __cnfn convert_uint8_rte(int8);
   3830 uint8 __ovld __cnfn convert_uint8_sat_rte(int8);
   3831 uint8 __ovld __cnfn convert_uint8_rtz(int8);
   3832 uint8 __ovld __cnfn convert_uint8_sat_rtz(int8);
   3833 uint8 __ovld __cnfn convert_uint8_rtp(int8);
   3834 uint8 __ovld __cnfn convert_uint8_sat_rtp(int8);
   3835 uint8 __ovld __cnfn convert_uint8_rtn(int8);
   3836 uint8 __ovld __cnfn convert_uint8_sat_rtn(int8);
   3837 uint8 __ovld __cnfn convert_uint8(int8);
   3838 uint8 __ovld __cnfn convert_uint8_sat(int8);
   3839 uint8 __ovld __cnfn convert_uint8_rte(uint8);
   3840 uint8 __ovld __cnfn convert_uint8_sat_rte(uint8);
   3841 uint8 __ovld __cnfn convert_uint8_rtz(uint8);
   3842 uint8 __ovld __cnfn convert_uint8_sat_rtz(uint8);
   3843 uint8 __ovld __cnfn convert_uint8_rtp(uint8);
   3844 uint8 __ovld __cnfn convert_uint8_sat_rtp(uint8);
   3845 uint8 __ovld __cnfn convert_uint8_rtn(uint8);
   3846 uint8 __ovld __cnfn convert_uint8_sat_rtn(uint8);
   3847 uint8 __ovld __cnfn convert_uint8(uint8);
   3848 uint8 __ovld __cnfn convert_uint8_sat(uint8);
   3849 uint8 __ovld __cnfn convert_uint8_rte(long8);
   3850 uint8 __ovld __cnfn convert_uint8_sat_rte(long8);
   3851 uint8 __ovld __cnfn convert_uint8_rtz(long8);
   3852 uint8 __ovld __cnfn convert_uint8_sat_rtz(long8);
   3853 uint8 __ovld __cnfn convert_uint8_rtp(long8);
   3854 uint8 __ovld __cnfn convert_uint8_sat_rtp(long8);
   3855 uint8 __ovld __cnfn convert_uint8_rtn(long8);
   3856 uint8 __ovld __cnfn convert_uint8_sat_rtn(long8);
   3857 uint8 __ovld __cnfn convert_uint8(long8);
   3858 uint8 __ovld __cnfn convert_uint8_sat(long8);
   3859 uint8 __ovld __cnfn convert_uint8_rte(ulong8);
   3860 uint8 __ovld __cnfn convert_uint8_sat_rte(ulong8);
   3861 uint8 __ovld __cnfn convert_uint8_rtz(ulong8);
   3862 uint8 __ovld __cnfn convert_uint8_sat_rtz(ulong8);
   3863 uint8 __ovld __cnfn convert_uint8_rtp(ulong8);
   3864 uint8 __ovld __cnfn convert_uint8_sat_rtp(ulong8);
   3865 uint8 __ovld __cnfn convert_uint8_rtn(ulong8);
   3866 uint8 __ovld __cnfn convert_uint8_sat_rtn(ulong8);
   3867 uint8 __ovld __cnfn convert_uint8(ulong8);
   3868 uint8 __ovld __cnfn convert_uint8_sat(ulong8);
   3869 uint8 __ovld __cnfn convert_uint8_rte(float8);
   3870 uint8 __ovld __cnfn convert_uint8_sat_rte(float8);
   3871 uint8 __ovld __cnfn convert_uint8_rtz(float8);
   3872 uint8 __ovld __cnfn convert_uint8_sat_rtz(float8);
   3873 uint8 __ovld __cnfn convert_uint8_rtp(float8);
   3874 uint8 __ovld __cnfn convert_uint8_sat_rtp(float8);
   3875 uint8 __ovld __cnfn convert_uint8_rtn(float8);
   3876 uint8 __ovld __cnfn convert_uint8_sat_rtn(float8);
   3877 uint8 __ovld __cnfn convert_uint8(float8);
   3878 uint8 __ovld __cnfn convert_uint8_sat(float8);
   3879 long8 __ovld __cnfn convert_long8_rte(char8);
   3880 long8 __ovld __cnfn convert_long8_sat_rte(char8);
   3881 long8 __ovld __cnfn convert_long8_rtz(char8);
   3882 long8 __ovld __cnfn convert_long8_sat_rtz(char8);
   3883 long8 __ovld __cnfn convert_long8_rtp(char8);
   3884 long8 __ovld __cnfn convert_long8_sat_rtp(char8);
   3885 long8 __ovld __cnfn convert_long8_rtn(char8);
   3886 long8 __ovld __cnfn convert_long8_sat_rtn(char8);
   3887 long8 __ovld __cnfn convert_long8(char8);
   3888 long8 __ovld __cnfn convert_long8_sat(char8);
   3889 long8 __ovld __cnfn convert_long8_rte(uchar8);
   3890 long8 __ovld __cnfn convert_long8_sat_rte(uchar8);
   3891 long8 __ovld __cnfn convert_long8_rtz(uchar8);
   3892 long8 __ovld __cnfn convert_long8_sat_rtz(uchar8);
   3893 long8 __ovld __cnfn convert_long8_rtp(uchar8);
   3894 long8 __ovld __cnfn convert_long8_sat_rtp(uchar8);
   3895 long8 __ovld __cnfn convert_long8_rtn(uchar8);
   3896 long8 __ovld __cnfn convert_long8_sat_rtn(uchar8);
   3897 long8 __ovld __cnfn convert_long8(uchar8);
   3898 long8 __ovld __cnfn convert_long8_sat(uchar8);
   3899 long8 __ovld __cnfn convert_long8_rte(short8);
   3900 long8 __ovld __cnfn convert_long8_sat_rte(short8);
   3901 long8 __ovld __cnfn convert_long8_rtz(short8);
   3902 long8 __ovld __cnfn convert_long8_sat_rtz(short8);
   3903 long8 __ovld __cnfn convert_long8_rtp(short8);
   3904 long8 __ovld __cnfn convert_long8_sat_rtp(short8);
   3905 long8 __ovld __cnfn convert_long8_rtn(short8);
   3906 long8 __ovld __cnfn convert_long8_sat_rtn(short8);
   3907 long8 __ovld __cnfn convert_long8(short8);
   3908 long8 __ovld __cnfn convert_long8_sat(short8);
   3909 long8 __ovld __cnfn convert_long8_rte(ushort8);
   3910 long8 __ovld __cnfn convert_long8_sat_rte(ushort8);
   3911 long8 __ovld __cnfn convert_long8_rtz(ushort8);
   3912 long8 __ovld __cnfn convert_long8_sat_rtz(ushort8);
   3913 long8 __ovld __cnfn convert_long8_rtp(ushort8);
   3914 long8 __ovld __cnfn convert_long8_sat_rtp(ushort8);
   3915 long8 __ovld __cnfn convert_long8_rtn(ushort8);
   3916 long8 __ovld __cnfn convert_long8_sat_rtn(ushort8);
   3917 long8 __ovld __cnfn convert_long8(ushort8);
   3918 long8 __ovld __cnfn convert_long8_sat(ushort8);
   3919 long8 __ovld __cnfn convert_long8_rte(int8);
   3920 long8 __ovld __cnfn convert_long8_sat_rte(int8);
   3921 long8 __ovld __cnfn convert_long8_rtz(int8);
   3922 long8 __ovld __cnfn convert_long8_sat_rtz(int8);
   3923 long8 __ovld __cnfn convert_long8_rtp(int8);
   3924 long8 __ovld __cnfn convert_long8_sat_rtp(int8);
   3925 long8 __ovld __cnfn convert_long8_rtn(int8);
   3926 long8 __ovld __cnfn convert_long8_sat_rtn(int8);
   3927 long8 __ovld __cnfn convert_long8(int8);
   3928 long8 __ovld __cnfn convert_long8_sat(int8);
   3929 long8 __ovld __cnfn convert_long8_rte(uint8);
   3930 long8 __ovld __cnfn convert_long8_sat_rte(uint8);
   3931 long8 __ovld __cnfn convert_long8_rtz(uint8);
   3932 long8 __ovld __cnfn convert_long8_sat_rtz(uint8);
   3933 long8 __ovld __cnfn convert_long8_rtp(uint8);
   3934 long8 __ovld __cnfn convert_long8_sat_rtp(uint8);
   3935 long8 __ovld __cnfn convert_long8_rtn(uint8);
   3936 long8 __ovld __cnfn convert_long8_sat_rtn(uint8);
   3937 long8 __ovld __cnfn convert_long8(uint8);
   3938 long8 __ovld __cnfn convert_long8_sat(uint8);
   3939 long8 __ovld __cnfn convert_long8_rte(long8);
   3940 long8 __ovld __cnfn convert_long8_sat_rte(long8);
   3941 long8 __ovld __cnfn convert_long8_rtz(long8);
   3942 long8 __ovld __cnfn convert_long8_sat_rtz(long8);
   3943 long8 __ovld __cnfn convert_long8_rtp(long8);
   3944 long8 __ovld __cnfn convert_long8_sat_rtp(long8);
   3945 long8 __ovld __cnfn convert_long8_rtn(long8);
   3946 long8 __ovld __cnfn convert_long8_sat_rtn(long8);
   3947 long8 __ovld __cnfn convert_long8(long8);
   3948 long8 __ovld __cnfn convert_long8_sat(long8);
   3949 long8 __ovld __cnfn convert_long8_rte(ulong8);
   3950 long8 __ovld __cnfn convert_long8_sat_rte(ulong8);
   3951 long8 __ovld __cnfn convert_long8_rtz(ulong8);
   3952 long8 __ovld __cnfn convert_long8_sat_rtz(ulong8);
   3953 long8 __ovld __cnfn convert_long8_rtp(ulong8);
   3954 long8 __ovld __cnfn convert_long8_sat_rtp(ulong8);
   3955 long8 __ovld __cnfn convert_long8_rtn(ulong8);
   3956 long8 __ovld __cnfn convert_long8_sat_rtn(ulong8);
   3957 long8 __ovld __cnfn convert_long8(ulong8);
   3958 long8 __ovld __cnfn convert_long8_sat(ulong8);
   3959 long8 __ovld __cnfn convert_long8_rte(float8);
   3960 long8 __ovld __cnfn convert_long8_sat_rte(float8);
   3961 long8 __ovld __cnfn convert_long8_rtz(float8);
   3962 long8 __ovld __cnfn convert_long8_sat_rtz(float8);
   3963 long8 __ovld __cnfn convert_long8_rtp(float8);
   3964 long8 __ovld __cnfn convert_long8_sat_rtp(float8);
   3965 long8 __ovld __cnfn convert_long8_rtn(float8);
   3966 long8 __ovld __cnfn convert_long8_sat_rtn(float8);
   3967 long8 __ovld __cnfn convert_long8(float8);
   3968 long8 __ovld __cnfn convert_long8_sat(float8);
   3969 ulong8 __ovld __cnfn convert_ulong8_rte(char8);
   3970 ulong8 __ovld __cnfn convert_ulong8_sat_rte(char8);
   3971 ulong8 __ovld __cnfn convert_ulong8_rtz(char8);
   3972 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(char8);
   3973 ulong8 __ovld __cnfn convert_ulong8_rtp(char8);
   3974 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(char8);
   3975 ulong8 __ovld __cnfn convert_ulong8_rtn(char8);
   3976 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(char8);
   3977 ulong8 __ovld __cnfn convert_ulong8(char8);
   3978 ulong8 __ovld __cnfn convert_ulong8_sat(char8);
   3979 ulong8 __ovld __cnfn convert_ulong8_rte(uchar8);
   3980 ulong8 __ovld __cnfn convert_ulong8_sat_rte(uchar8);
   3981 ulong8 __ovld __cnfn convert_ulong8_rtz(uchar8);
   3982 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(uchar8);
   3983 ulong8 __ovld __cnfn convert_ulong8_rtp(uchar8);
   3984 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(uchar8);
   3985 ulong8 __ovld __cnfn convert_ulong8_rtn(uchar8);
   3986 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(uchar8);
   3987 ulong8 __ovld __cnfn convert_ulong8(uchar8);
   3988 ulong8 __ovld __cnfn convert_ulong8_sat(uchar8);
   3989 ulong8 __ovld __cnfn convert_ulong8_rte(short8);
   3990 ulong8 __ovld __cnfn convert_ulong8_sat_rte(short8);
   3991 ulong8 __ovld __cnfn convert_ulong8_rtz(short8);
   3992 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(short8);
   3993 ulong8 __ovld __cnfn convert_ulong8_rtp(short8);
   3994 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(short8);
   3995 ulong8 __ovld __cnfn convert_ulong8_rtn(short8);
   3996 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(short8);
   3997 ulong8 __ovld __cnfn convert_ulong8(short8);
   3998 ulong8 __ovld __cnfn convert_ulong8_sat(short8);
   3999 ulong8 __ovld __cnfn convert_ulong8_rte(ushort8);
   4000 ulong8 __ovld __cnfn convert_ulong8_sat_rte(ushort8);
   4001 ulong8 __ovld __cnfn convert_ulong8_rtz(ushort8);
   4002 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(ushort8);
   4003 ulong8 __ovld __cnfn convert_ulong8_rtp(ushort8);
   4004 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(ushort8);
   4005 ulong8 __ovld __cnfn convert_ulong8_rtn(ushort8);
   4006 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(ushort8);
   4007 ulong8 __ovld __cnfn convert_ulong8(ushort8);
   4008 ulong8 __ovld __cnfn convert_ulong8_sat(ushort8);
   4009 ulong8 __ovld __cnfn convert_ulong8_rte(int8);
   4010 ulong8 __ovld __cnfn convert_ulong8_sat_rte(int8);
   4011 ulong8 __ovld __cnfn convert_ulong8_rtz(int8);
   4012 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(int8);
   4013 ulong8 __ovld __cnfn convert_ulong8_rtp(int8);
   4014 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(int8);
   4015 ulong8 __ovld __cnfn convert_ulong8_rtn(int8);
   4016 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(int8);
   4017 ulong8 __ovld __cnfn convert_ulong8(int8);
   4018 ulong8 __ovld __cnfn convert_ulong8_sat(int8);
   4019 ulong8 __ovld __cnfn convert_ulong8_rte(uint8);
   4020 ulong8 __ovld __cnfn convert_ulong8_sat_rte(uint8);
   4021 ulong8 __ovld __cnfn convert_ulong8_rtz(uint8);
   4022 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(uint8);
   4023 ulong8 __ovld __cnfn convert_ulong8_rtp(uint8);
   4024 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(uint8);
   4025 ulong8 __ovld __cnfn convert_ulong8_rtn(uint8);
   4026 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(uint8);
   4027 ulong8 __ovld __cnfn convert_ulong8(uint8);
   4028 ulong8 __ovld __cnfn convert_ulong8_sat(uint8);
   4029 ulong8 __ovld __cnfn convert_ulong8_rte(long8);
   4030 ulong8 __ovld __cnfn convert_ulong8_sat_rte(long8);
   4031 ulong8 __ovld __cnfn convert_ulong8_rtz(long8);
   4032 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(long8);
   4033 ulong8 __ovld __cnfn convert_ulong8_rtp(long8);
   4034 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(long8);
   4035 ulong8 __ovld __cnfn convert_ulong8_rtn(long8);
   4036 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(long8);
   4037 ulong8 __ovld __cnfn convert_ulong8(long8);
   4038 ulong8 __ovld __cnfn convert_ulong8_sat(long8);
   4039 ulong8 __ovld __cnfn convert_ulong8_rte(ulong8);
   4040 ulong8 __ovld __cnfn convert_ulong8_sat_rte(ulong8);
   4041 ulong8 __ovld __cnfn convert_ulong8_rtz(ulong8);
   4042 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(ulong8);
   4043 ulong8 __ovld __cnfn convert_ulong8_rtp(ulong8);
   4044 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(ulong8);
   4045 ulong8 __ovld __cnfn convert_ulong8_rtn(ulong8);
   4046 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(ulong8);
   4047 ulong8 __ovld __cnfn convert_ulong8(ulong8);
   4048 ulong8 __ovld __cnfn convert_ulong8_sat(ulong8);
   4049 ulong8 __ovld __cnfn convert_ulong8_rte(float8);
   4050 ulong8 __ovld __cnfn convert_ulong8_sat_rte(float8);
   4051 ulong8 __ovld __cnfn convert_ulong8_rtz(float8);
   4052 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(float8);
   4053 ulong8 __ovld __cnfn convert_ulong8_rtp(float8);
   4054 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(float8);
   4055 ulong8 __ovld __cnfn convert_ulong8_rtn(float8);
   4056 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(float8);
   4057 ulong8 __ovld __cnfn convert_ulong8(float8);
   4058 ulong8 __ovld __cnfn convert_ulong8_sat(float8);
   4059 float8 __ovld __cnfn convert_float8_rte(char8);
   4060 float8 __ovld __cnfn convert_float8_rtz(char8);
   4061 float8 __ovld __cnfn convert_float8_rtp(char8);
   4062 float8 __ovld __cnfn convert_float8_rtn(char8);
   4063 float8 __ovld __cnfn convert_float8(char8);
   4064 float8 __ovld __cnfn convert_float8_rte(uchar8);
   4065 float8 __ovld __cnfn convert_float8_rtz(uchar8);
   4066 float8 __ovld __cnfn convert_float8_rtp(uchar8);
   4067 float8 __ovld __cnfn convert_float8_rtn(uchar8);
   4068 float8 __ovld __cnfn convert_float8(uchar8);
   4069 float8 __ovld __cnfn convert_float8_rte(short8);
   4070 float8 __ovld __cnfn convert_float8_rtz(short8);
   4071 float8 __ovld __cnfn convert_float8_rtp(short8);
   4072 float8 __ovld __cnfn convert_float8_rtn(short8);
   4073 float8 __ovld __cnfn convert_float8(short8);
   4074 float8 __ovld __cnfn convert_float8_rte(ushort8);
   4075 float8 __ovld __cnfn convert_float8_rtz(ushort8);
   4076 float8 __ovld __cnfn convert_float8_rtp(ushort8);
   4077 float8 __ovld __cnfn convert_float8_rtn(ushort8);
   4078 float8 __ovld __cnfn convert_float8(ushort8);
   4079 float8 __ovld __cnfn convert_float8_rte(int8);
   4080 float8 __ovld __cnfn convert_float8_rtz(int8);
   4081 float8 __ovld __cnfn convert_float8_rtp(int8);
   4082 float8 __ovld __cnfn convert_float8_rtn(int8);
   4083 float8 __ovld __cnfn convert_float8(int8);
   4084 float8 __ovld __cnfn convert_float8_rte(uint8);
   4085 float8 __ovld __cnfn convert_float8_rtz(uint8);
   4086 float8 __ovld __cnfn convert_float8_rtp(uint8);
   4087 float8 __ovld __cnfn convert_float8_rtn(uint8);
   4088 float8 __ovld __cnfn convert_float8(uint8);
   4089 float8 __ovld __cnfn convert_float8_rte(long8);
   4090 float8 __ovld __cnfn convert_float8_rtz(long8);
   4091 float8 __ovld __cnfn convert_float8_rtp(long8);
   4092 float8 __ovld __cnfn convert_float8_rtn(long8);
   4093 float8 __ovld __cnfn convert_float8(long8);
   4094 float8 __ovld __cnfn convert_float8_rte(ulong8);
   4095 float8 __ovld __cnfn convert_float8_rtz(ulong8);
   4096 float8 __ovld __cnfn convert_float8_rtp(ulong8);
   4097 float8 __ovld __cnfn convert_float8_rtn(ulong8);
   4098 float8 __ovld __cnfn convert_float8(ulong8);
   4099 float8 __ovld __cnfn convert_float8_rte(float8);
   4100 float8 __ovld __cnfn convert_float8_rtz(float8);
   4101 float8 __ovld __cnfn convert_float8_rtp(float8);
   4102 float8 __ovld __cnfn convert_float8_rtn(float8);
   4103 float8 __ovld __cnfn convert_float8(float8);
   4104 char16 __ovld __cnfn convert_char16_rte(char16);
   4105 char16 __ovld __cnfn convert_char16_sat_rte(char16);
   4106 char16 __ovld __cnfn convert_char16_rtz(char16);
   4107 char16 __ovld __cnfn convert_char16_sat_rtz(char16);
   4108 char16 __ovld __cnfn convert_char16_rtp(char16);
   4109 char16 __ovld __cnfn convert_char16_sat_rtp(char16);
   4110 char16 __ovld __cnfn convert_char16_rtn(char16);
   4111 char16 __ovld __cnfn convert_char16_sat_rtn(char16);
   4112 char16 __ovld __cnfn convert_char16(char16);
   4113 char16 __ovld __cnfn convert_char16_sat(char16);
   4114 char16 __ovld __cnfn convert_char16_rte(uchar16);
   4115 char16 __ovld __cnfn convert_char16_sat_rte(uchar16);
   4116 char16 __ovld __cnfn convert_char16_rtz(uchar16);
   4117 char16 __ovld __cnfn convert_char16_sat_rtz(uchar16);
   4118 char16 __ovld __cnfn convert_char16_rtp(uchar16);
   4119 char16 __ovld __cnfn convert_char16_sat_rtp(uchar16);
   4120 char16 __ovld __cnfn convert_char16_rtn(uchar16);
   4121 char16 __ovld __cnfn convert_char16_sat_rtn(uchar16);
   4122 char16 __ovld __cnfn convert_char16(uchar16);
   4123 char16 __ovld __cnfn convert_char16_sat(uchar16);
   4124 char16 __ovld __cnfn convert_char16_rte(short16);
   4125 char16 __ovld __cnfn convert_char16_sat_rte(short16);
   4126 char16 __ovld __cnfn convert_char16_rtz(short16);
   4127 char16 __ovld __cnfn convert_char16_sat_rtz(short16);
   4128 char16 __ovld __cnfn convert_char16_rtp(short16);
   4129 char16 __ovld __cnfn convert_char16_sat_rtp(short16);
   4130 char16 __ovld __cnfn convert_char16_rtn(short16);
   4131 char16 __ovld __cnfn convert_char16_sat_rtn(short16);
   4132 char16 __ovld __cnfn convert_char16(short16);
   4133 char16 __ovld __cnfn convert_char16_sat(short16);
   4134 char16 __ovld __cnfn convert_char16_rte(ushort16);
   4135 char16 __ovld __cnfn convert_char16_sat_rte(ushort16);
   4136 char16 __ovld __cnfn convert_char16_rtz(ushort16);
   4137 char16 __ovld __cnfn convert_char16_sat_rtz(ushort16);
   4138 char16 __ovld __cnfn convert_char16_rtp(ushort16);
   4139 char16 __ovld __cnfn convert_char16_sat_rtp(ushort16);
   4140 char16 __ovld __cnfn convert_char16_rtn(ushort16);
   4141 char16 __ovld __cnfn convert_char16_sat_rtn(ushort16);
   4142 char16 __ovld __cnfn convert_char16(ushort16);
   4143 char16 __ovld __cnfn convert_char16_sat(ushort16);
   4144 char16 __ovld __cnfn convert_char16_rte(int16);
   4145 char16 __ovld __cnfn convert_char16_sat_rte(int16);
   4146 char16 __ovld __cnfn convert_char16_rtz(int16);
   4147 char16 __ovld __cnfn convert_char16_sat_rtz(int16);
   4148 char16 __ovld __cnfn convert_char16_rtp(int16);
   4149 char16 __ovld __cnfn convert_char16_sat_rtp(int16);
   4150 char16 __ovld __cnfn convert_char16_rtn(int16);
   4151 char16 __ovld __cnfn convert_char16_sat_rtn(int16);
   4152 char16 __ovld __cnfn convert_char16(int16);
   4153 char16 __ovld __cnfn convert_char16_sat(int16);
   4154 char16 __ovld __cnfn convert_char16_rte(uint16);
   4155 char16 __ovld __cnfn convert_char16_sat_rte(uint16);
   4156 char16 __ovld __cnfn convert_char16_rtz(uint16);
   4157 char16 __ovld __cnfn convert_char16_sat_rtz(uint16);
   4158 char16 __ovld __cnfn convert_char16_rtp(uint16);
   4159 char16 __ovld __cnfn convert_char16_sat_rtp(uint16);
   4160 char16 __ovld __cnfn convert_char16_rtn(uint16);
   4161 char16 __ovld __cnfn convert_char16_sat_rtn(uint16);
   4162 char16 __ovld __cnfn convert_char16(uint16);
   4163 char16 __ovld __cnfn convert_char16_sat(uint16);
   4164 char16 __ovld __cnfn convert_char16_rte(long16);
   4165 char16 __ovld __cnfn convert_char16_sat_rte(long16);
   4166 char16 __ovld __cnfn convert_char16_rtz(long16);
   4167 char16 __ovld __cnfn convert_char16_sat_rtz(long16);
   4168 char16 __ovld __cnfn convert_char16_rtp(long16);
   4169 char16 __ovld __cnfn convert_char16_sat_rtp(long16);
   4170 char16 __ovld __cnfn convert_char16_rtn(long16);
   4171 char16 __ovld __cnfn convert_char16_sat_rtn(long16);
   4172 char16 __ovld __cnfn convert_char16(long16);
   4173 char16 __ovld __cnfn convert_char16_sat(long16);
   4174 char16 __ovld __cnfn convert_char16_rte(ulong16);
   4175 char16 __ovld __cnfn convert_char16_sat_rte(ulong16);
   4176 char16 __ovld __cnfn convert_char16_rtz(ulong16);
   4177 char16 __ovld __cnfn convert_char16_sat_rtz(ulong16);
   4178 char16 __ovld __cnfn convert_char16_rtp(ulong16);
   4179 char16 __ovld __cnfn convert_char16_sat_rtp(ulong16);
   4180 char16 __ovld __cnfn convert_char16_rtn(ulong16);
   4181 char16 __ovld __cnfn convert_char16_sat_rtn(ulong16);
   4182 char16 __ovld __cnfn convert_char16(ulong16);
   4183 char16 __ovld __cnfn convert_char16_sat(ulong16);
   4184 char16 __ovld __cnfn convert_char16_rte(float16);
   4185 char16 __ovld __cnfn convert_char16_sat_rte(float16);
   4186 char16 __ovld __cnfn convert_char16_rtz(float16);
   4187 char16 __ovld __cnfn convert_char16_sat_rtz(float16);
   4188 char16 __ovld __cnfn convert_char16_rtp(float16);
   4189 char16 __ovld __cnfn convert_char16_sat_rtp(float16);
   4190 char16 __ovld __cnfn convert_char16_rtn(float16);
   4191 char16 __ovld __cnfn convert_char16_sat_rtn(float16);
   4192 char16 __ovld __cnfn convert_char16(float16);
   4193 char16 __ovld __cnfn convert_char16_sat(float16);
   4194 uchar16 __ovld __cnfn convert_uchar16_rte(char16);
   4195 uchar16 __ovld __cnfn convert_uchar16_sat_rte(char16);
   4196 uchar16 __ovld __cnfn convert_uchar16_rtz(char16);
   4197 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(char16);
   4198 uchar16 __ovld __cnfn convert_uchar16_rtp(char16);
   4199 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(char16);
   4200 uchar16 __ovld __cnfn convert_uchar16_rtn(char16);
   4201 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(char16);
   4202 uchar16 __ovld __cnfn convert_uchar16(char16);
   4203 uchar16 __ovld __cnfn convert_uchar16_sat(char16);
   4204 uchar16 __ovld __cnfn convert_uchar16_rte(uchar16);
   4205 uchar16 __ovld __cnfn convert_uchar16_sat_rte(uchar16);
   4206 uchar16 __ovld __cnfn convert_uchar16_rtz(uchar16);
   4207 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(uchar16);
   4208 uchar16 __ovld __cnfn convert_uchar16_rtp(uchar16);
   4209 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(uchar16);
   4210 uchar16 __ovld __cnfn convert_uchar16_rtn(uchar16);
   4211 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(uchar16);
   4212 uchar16 __ovld __cnfn convert_uchar16(uchar16);
   4213 uchar16 __ovld __cnfn convert_uchar16_sat(uchar16);
   4214 uchar16 __ovld __cnfn convert_uchar16_rte(short16);
   4215 uchar16 __ovld __cnfn convert_uchar16_sat_rte(short16);
   4216 uchar16 __ovld __cnfn convert_uchar16_rtz(short16);
   4217 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(short16);
   4218 uchar16 __ovld __cnfn convert_uchar16_rtp(short16);
   4219 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(short16);
   4220 uchar16 __ovld __cnfn convert_uchar16_rtn(short16);
   4221 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(short16);
   4222 uchar16 __ovld __cnfn convert_uchar16(short16);
   4223 uchar16 __ovld __cnfn convert_uchar16_sat(short16);
   4224 uchar16 __ovld __cnfn convert_uchar16_rte(ushort16);
   4225 uchar16 __ovld __cnfn convert_uchar16_sat_rte(ushort16);
   4226 uchar16 __ovld __cnfn convert_uchar16_rtz(ushort16);
   4227 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(ushort16);
   4228 uchar16 __ovld __cnfn convert_uchar16_rtp(ushort16);
   4229 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(ushort16);
   4230 uchar16 __ovld __cnfn convert_uchar16_rtn(ushort16);
   4231 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(ushort16);
   4232 uchar16 __ovld __cnfn convert_uchar16(ushort16);
   4233 uchar16 __ovld __cnfn convert_uchar16_sat(ushort16);
   4234 uchar16 __ovld __cnfn convert_uchar16_rte(int16);
   4235 uchar16 __ovld __cnfn convert_uchar16_sat_rte(int16);
   4236 uchar16 __ovld __cnfn convert_uchar16_rtz(int16);
   4237 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(int16);
   4238 uchar16 __ovld __cnfn convert_uchar16_rtp(int16);
   4239 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(int16);
   4240 uchar16 __ovld __cnfn convert_uchar16_rtn(int16);
   4241 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(int16);
   4242 uchar16 __ovld __cnfn convert_uchar16(int16);
   4243 uchar16 __ovld __cnfn convert_uchar16_sat(int16);
   4244 uchar16 __ovld __cnfn convert_uchar16_rte(uint16);
   4245 uchar16 __ovld __cnfn convert_uchar16_sat_rte(uint16);
   4246 uchar16 __ovld __cnfn convert_uchar16_rtz(uint16);
   4247 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(uint16);
   4248 uchar16 __ovld __cnfn convert_uchar16_rtp(uint16);
   4249 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(uint16);
   4250 uchar16 __ovld __cnfn convert_uchar16_rtn(uint16);
   4251 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(uint16);
   4252 uchar16 __ovld __cnfn convert_uchar16(uint16);
   4253 uchar16 __ovld __cnfn convert_uchar16_sat(uint16);
   4254 uchar16 __ovld __cnfn convert_uchar16_rte(long16);
   4255 uchar16 __ovld __cnfn convert_uchar16_sat_rte(long16);
   4256 uchar16 __ovld __cnfn convert_uchar16_rtz(long16);
   4257 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(long16);
   4258 uchar16 __ovld __cnfn convert_uchar16_rtp(long16);
   4259 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(long16);
   4260 uchar16 __ovld __cnfn convert_uchar16_rtn(long16);
   4261 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(long16);
   4262 uchar16 __ovld __cnfn convert_uchar16(long16);
   4263 uchar16 __ovld __cnfn convert_uchar16_sat(long16);
   4264 uchar16 __ovld __cnfn convert_uchar16_rte(ulong16);
   4265 uchar16 __ovld __cnfn convert_uchar16_sat_rte(ulong16);
   4266 uchar16 __ovld __cnfn convert_uchar16_rtz(ulong16);
   4267 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(ulong16);
   4268 uchar16 __ovld __cnfn convert_uchar16_rtp(ulong16);
   4269 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(ulong16);
   4270 uchar16 __ovld __cnfn convert_uchar16_rtn(ulong16);
   4271 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(ulong16);
   4272 uchar16 __ovld __cnfn convert_uchar16(ulong16);
   4273 uchar16 __ovld __cnfn convert_uchar16_sat(ulong16);
   4274 uchar16 __ovld __cnfn convert_uchar16_rte(float16);
   4275 uchar16 __ovld __cnfn convert_uchar16_sat_rte(float16);
   4276 uchar16 __ovld __cnfn convert_uchar16_rtz(float16);
   4277 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(float16);
   4278 uchar16 __ovld __cnfn convert_uchar16_rtp(float16);
   4279 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(float16);
   4280 uchar16 __ovld __cnfn convert_uchar16_rtn(float16);
   4281 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(float16);
   4282 uchar16 __ovld __cnfn convert_uchar16(float16);
   4283 uchar16 __ovld __cnfn convert_uchar16_sat(float16);
   4284 short16 __ovld __cnfn convert_short16_rte(char16);
   4285 short16 __ovld __cnfn convert_short16_sat_rte(char16);
   4286 short16 __ovld __cnfn convert_short16_rtz(char16);
   4287 short16 __ovld __cnfn convert_short16_sat_rtz(char16);
   4288 short16 __ovld __cnfn convert_short16_rtp(char16);
   4289 short16 __ovld __cnfn convert_short16_sat_rtp(char16);
   4290 short16 __ovld __cnfn convert_short16_rtn(char16);
   4291 short16 __ovld __cnfn convert_short16_sat_rtn(char16);
   4292 short16 __ovld __cnfn convert_short16(char16);
   4293 short16 __ovld __cnfn convert_short16_sat(char16);
   4294 short16 __ovld __cnfn convert_short16_rte(uchar16);
   4295 short16 __ovld __cnfn convert_short16_sat_rte(uchar16);
   4296 short16 __ovld __cnfn convert_short16_rtz(uchar16);
   4297 short16 __ovld __cnfn convert_short16_sat_rtz(uchar16);
   4298 short16 __ovld __cnfn convert_short16_rtp(uchar16);
   4299 short16 __ovld __cnfn convert_short16_sat_rtp(uchar16);
   4300 short16 __ovld __cnfn convert_short16_rtn(uchar16);
   4301 short16 __ovld __cnfn convert_short16_sat_rtn(uchar16);
   4302 short16 __ovld __cnfn convert_short16(uchar16);
   4303 short16 __ovld __cnfn convert_short16_sat(uchar16);
   4304 short16 __ovld __cnfn convert_short16_rte(short16);
   4305 short16 __ovld __cnfn convert_short16_sat_rte(short16);
   4306 short16 __ovld __cnfn convert_short16_rtz(short16);
   4307 short16 __ovld __cnfn convert_short16_sat_rtz(short16);
   4308 short16 __ovld __cnfn convert_short16_rtp(short16);
   4309 short16 __ovld __cnfn convert_short16_sat_rtp(short16);
   4310 short16 __ovld __cnfn convert_short16_rtn(short16);
   4311 short16 __ovld __cnfn convert_short16_sat_rtn(short16);
   4312 short16 __ovld __cnfn convert_short16(short16);
   4313 short16 __ovld __cnfn convert_short16_sat(short16);
   4314 short16 __ovld __cnfn convert_short16_rte(ushort16);
   4315 short16 __ovld __cnfn convert_short16_sat_rte(ushort16);
   4316 short16 __ovld __cnfn convert_short16_rtz(ushort16);
   4317 short16 __ovld __cnfn convert_short16_sat_rtz(ushort16);
   4318 short16 __ovld __cnfn convert_short16_rtp(ushort16);
   4319 short16 __ovld __cnfn convert_short16_sat_rtp(ushort16);
   4320 short16 __ovld __cnfn convert_short16_rtn(ushort16);
   4321 short16 __ovld __cnfn convert_short16_sat_rtn(ushort16);
   4322 short16 __ovld __cnfn convert_short16(ushort16);
   4323 short16 __ovld __cnfn convert_short16_sat(ushort16);
   4324 short16 __ovld __cnfn convert_short16_rte(int16);
   4325 short16 __ovld __cnfn convert_short16_sat_rte(int16);
   4326 short16 __ovld __cnfn convert_short16_rtz(int16);
   4327 short16 __ovld __cnfn convert_short16_sat_rtz(int16);
   4328 short16 __ovld __cnfn convert_short16_rtp(int16);
   4329 short16 __ovld __cnfn convert_short16_sat_rtp(int16);
   4330 short16 __ovld __cnfn convert_short16_rtn(int16);
   4331 short16 __ovld __cnfn convert_short16_sat_rtn(int16);
   4332 short16 __ovld __cnfn convert_short16(int16);
   4333 short16 __ovld __cnfn convert_short16_sat(int16);
   4334 short16 __ovld __cnfn convert_short16_rte(uint16);
   4335 short16 __ovld __cnfn convert_short16_sat_rte(uint16);
   4336 short16 __ovld __cnfn convert_short16_rtz(uint16);
   4337 short16 __ovld __cnfn convert_short16_sat_rtz(uint16);
   4338 short16 __ovld __cnfn convert_short16_rtp(uint16);
   4339 short16 __ovld __cnfn convert_short16_sat_rtp(uint16);
   4340 short16 __ovld __cnfn convert_short16_rtn(uint16);
   4341 short16 __ovld __cnfn convert_short16_sat_rtn(uint16);
   4342 short16 __ovld __cnfn convert_short16(uint16);
   4343 short16 __ovld __cnfn convert_short16_sat(uint16);
   4344 short16 __ovld __cnfn convert_short16_rte(long16);
   4345 short16 __ovld __cnfn convert_short16_sat_rte(long16);
   4346 short16 __ovld __cnfn convert_short16_rtz(long16);
   4347 short16 __ovld __cnfn convert_short16_sat_rtz(long16);
   4348 short16 __ovld __cnfn convert_short16_rtp(long16);
   4349 short16 __ovld __cnfn convert_short16_sat_rtp(long16);
   4350 short16 __ovld __cnfn convert_short16_rtn(long16);
   4351 short16 __ovld __cnfn convert_short16_sat_rtn(long16);
   4352 short16 __ovld __cnfn convert_short16(long16);
   4353 short16 __ovld __cnfn convert_short16_sat(long16);
   4354 short16 __ovld __cnfn convert_short16_rte(ulong16);
   4355 short16 __ovld __cnfn convert_short16_sat_rte(ulong16);
   4356 short16 __ovld __cnfn convert_short16_rtz(ulong16);
   4357 short16 __ovld __cnfn convert_short16_sat_rtz(ulong16);
   4358 short16 __ovld __cnfn convert_short16_rtp(ulong16);
   4359 short16 __ovld __cnfn convert_short16_sat_rtp(ulong16);
   4360 short16 __ovld __cnfn convert_short16_rtn(ulong16);
   4361 short16 __ovld __cnfn convert_short16_sat_rtn(ulong16);
   4362 short16 __ovld __cnfn convert_short16(ulong16);
   4363 short16 __ovld __cnfn convert_short16_sat(ulong16);
   4364 short16 __ovld __cnfn convert_short16_rte(float16);
   4365 short16 __ovld __cnfn convert_short16_sat_rte(float16);
   4366 short16 __ovld __cnfn convert_short16_rtz(float16);
   4367 short16 __ovld __cnfn convert_short16_sat_rtz(float16);
   4368 short16 __ovld __cnfn convert_short16_rtp(float16);
   4369 short16 __ovld __cnfn convert_short16_sat_rtp(float16);
   4370 short16 __ovld __cnfn convert_short16_rtn(float16);
   4371 short16 __ovld __cnfn convert_short16_sat_rtn(float16);
   4372 short16 __ovld __cnfn convert_short16(float16);
   4373 short16 __ovld __cnfn convert_short16_sat(float16);
   4374 ushort16 __ovld __cnfn convert_ushort16_rte(char16);
   4375 ushort16 __ovld __cnfn convert_ushort16_sat_rte(char16);
   4376 ushort16 __ovld __cnfn convert_ushort16_rtz(char16);
   4377 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(char16);
   4378 ushort16 __ovld __cnfn convert_ushort16_rtp(char16);
   4379 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(char16);
   4380 ushort16 __ovld __cnfn convert_ushort16_rtn(char16);
   4381 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(char16);
   4382 ushort16 __ovld __cnfn convert_ushort16(char16);
   4383 ushort16 __ovld __cnfn convert_ushort16_sat(char16);
   4384 ushort16 __ovld __cnfn convert_ushort16_rte(uchar16);
   4385 ushort16 __ovld __cnfn convert_ushort16_sat_rte(uchar16);
   4386 ushort16 __ovld __cnfn convert_ushort16_rtz(uchar16);
   4387 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(uchar16);
   4388 ushort16 __ovld __cnfn convert_ushort16_rtp(uchar16);
   4389 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(uchar16);
   4390 ushort16 __ovld __cnfn convert_ushort16_rtn(uchar16);
   4391 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(uchar16);
   4392 ushort16 __ovld __cnfn convert_ushort16(uchar16);
   4393 ushort16 __ovld __cnfn convert_ushort16_sat(uchar16);
   4394 ushort16 __ovld __cnfn convert_ushort16_rte(short16);
   4395 ushort16 __ovld __cnfn convert_ushort16_sat_rte(short16);
   4396 ushort16 __ovld __cnfn convert_ushort16_rtz(short16);
   4397 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(short16);
   4398 ushort16 __ovld __cnfn convert_ushort16_rtp(short16);
   4399 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(short16);
   4400 ushort16 __ovld __cnfn convert_ushort16_rtn(short16);
   4401 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(short16);
   4402 ushort16 __ovld __cnfn convert_ushort16(short16);
   4403 ushort16 __ovld __cnfn convert_ushort16_sat(short16);
   4404 ushort16 __ovld __cnfn convert_ushort16_rte(ushort16);
   4405 ushort16 __ovld __cnfn convert_ushort16_sat_rte(ushort16);
   4406 ushort16 __ovld __cnfn convert_ushort16_rtz(ushort16);
   4407 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(ushort16);
   4408 ushort16 __ovld __cnfn convert_ushort16_rtp(ushort16);
   4409 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(ushort16);
   4410 ushort16 __ovld __cnfn convert_ushort16_rtn(ushort16);
   4411 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(ushort16);
   4412 ushort16 __ovld __cnfn convert_ushort16(ushort16);
   4413 ushort16 __ovld __cnfn convert_ushort16_sat(ushort16);
   4414 ushort16 __ovld __cnfn convert_ushort16_rte(int16);
   4415 ushort16 __ovld __cnfn convert_ushort16_sat_rte(int16);
   4416 ushort16 __ovld __cnfn convert_ushort16_rtz(int16);
   4417 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(int16);
   4418 ushort16 __ovld __cnfn convert_ushort16_rtp(int16);
   4419 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(int16);
   4420 ushort16 __ovld __cnfn convert_ushort16_rtn(int16);
   4421 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(int16);
   4422 ushort16 __ovld __cnfn convert_ushort16(int16);
   4423 ushort16 __ovld __cnfn convert_ushort16_sat(int16);
   4424 ushort16 __ovld __cnfn convert_ushort16_rte(uint16);
   4425 ushort16 __ovld __cnfn convert_ushort16_sat_rte(uint16);
   4426 ushort16 __ovld __cnfn convert_ushort16_rtz(uint16);
   4427 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(uint16);
   4428 ushort16 __ovld __cnfn convert_ushort16_rtp(uint16);
   4429 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(uint16);
   4430 ushort16 __ovld __cnfn convert_ushort16_rtn(uint16);
   4431 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(uint16);
   4432 ushort16 __ovld __cnfn convert_ushort16(uint16);
   4433 ushort16 __ovld __cnfn convert_ushort16_sat(uint16);
   4434 ushort16 __ovld __cnfn convert_ushort16_rte(long16);
   4435 ushort16 __ovld __cnfn convert_ushort16_sat_rte(long16);
   4436 ushort16 __ovld __cnfn convert_ushort16_rtz(long16);
   4437 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(long16);
   4438 ushort16 __ovld __cnfn convert_ushort16_rtp(long16);
   4439 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(long16);
   4440 ushort16 __ovld __cnfn convert_ushort16_rtn(long16);
   4441 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(long16);
   4442 ushort16 __ovld __cnfn convert_ushort16(long16);
   4443 ushort16 __ovld __cnfn convert_ushort16_sat(long16);
   4444 ushort16 __ovld __cnfn convert_ushort16_rte(ulong16);
   4445 ushort16 __ovld __cnfn convert_ushort16_sat_rte(ulong16);
   4446 ushort16 __ovld __cnfn convert_ushort16_rtz(ulong16);
   4447 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(ulong16);
   4448 ushort16 __ovld __cnfn convert_ushort16_rtp(ulong16);
   4449 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(ulong16);
   4450 ushort16 __ovld __cnfn convert_ushort16_rtn(ulong16);
   4451 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(ulong16);
   4452 ushort16 __ovld __cnfn convert_ushort16(ulong16);
   4453 ushort16 __ovld __cnfn convert_ushort16_sat(ulong16);
   4454 ushort16 __ovld __cnfn convert_ushort16_rte(float16);
   4455 ushort16 __ovld __cnfn convert_ushort16_sat_rte(float16);
   4456 ushort16 __ovld __cnfn convert_ushort16_rtz(float16);
   4457 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(float16);
   4458 ushort16 __ovld __cnfn convert_ushort16_rtp(float16);
   4459 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(float16);
   4460 ushort16 __ovld __cnfn convert_ushort16_rtn(float16);
   4461 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(float16);
   4462 ushort16 __ovld __cnfn convert_ushort16(float16);
   4463 ushort16 __ovld __cnfn convert_ushort16_sat(float16);
   4464 int16 __ovld __cnfn convert_int16_rte(char16);
   4465 int16 __ovld __cnfn convert_int16_sat_rte(char16);
   4466 int16 __ovld __cnfn convert_int16_rtz(char16);
   4467 int16 __ovld __cnfn convert_int16_sat_rtz(char16);
   4468 int16 __ovld __cnfn convert_int16_rtp(char16);
   4469 int16 __ovld __cnfn convert_int16_sat_rtp(char16);
   4470 int16 __ovld __cnfn convert_int16_rtn(char16);
   4471 int16 __ovld __cnfn convert_int16_sat_rtn(char16);
   4472 int16 __ovld __cnfn convert_int16(char16);
   4473 int16 __ovld __cnfn convert_int16_sat(char16);
   4474 int16 __ovld __cnfn convert_int16_rte(uchar16);
   4475 int16 __ovld __cnfn convert_int16_sat_rte(uchar16);
   4476 int16 __ovld __cnfn convert_int16_rtz(uchar16);
   4477 int16 __ovld __cnfn convert_int16_sat_rtz(uchar16);
   4478 int16 __ovld __cnfn convert_int16_rtp(uchar16);
   4479 int16 __ovld __cnfn convert_int16_sat_rtp(uchar16);
   4480 int16 __ovld __cnfn convert_int16_rtn(uchar16);
   4481 int16 __ovld __cnfn convert_int16_sat_rtn(uchar16);
   4482 int16 __ovld __cnfn convert_int16(uchar16);
   4483 int16 __ovld __cnfn convert_int16_sat(uchar16);
   4484 int16 __ovld __cnfn convert_int16_rte(short16);
   4485 int16 __ovld __cnfn convert_int16_sat_rte(short16);
   4486 int16 __ovld __cnfn convert_int16_rtz(short16);
   4487 int16 __ovld __cnfn convert_int16_sat_rtz(short16);
   4488 int16 __ovld __cnfn convert_int16_rtp(short16);
   4489 int16 __ovld __cnfn convert_int16_sat_rtp(short16);
   4490 int16 __ovld __cnfn convert_int16_rtn(short16);
   4491 int16 __ovld __cnfn convert_int16_sat_rtn(short16);
   4492 int16 __ovld __cnfn convert_int16(short16);
   4493 int16 __ovld __cnfn convert_int16_sat(short16);
   4494 int16 __ovld __cnfn convert_int16_rte(ushort16);
   4495 int16 __ovld __cnfn convert_int16_sat_rte(ushort16);
   4496 int16 __ovld __cnfn convert_int16_rtz(ushort16);
   4497 int16 __ovld __cnfn convert_int16_sat_rtz(ushort16);
   4498 int16 __ovld __cnfn convert_int16_rtp(ushort16);
   4499 int16 __ovld __cnfn convert_int16_sat_rtp(ushort16);
   4500 int16 __ovld __cnfn convert_int16_rtn(ushort16);
   4501 int16 __ovld __cnfn convert_int16_sat_rtn(ushort16);
   4502 int16 __ovld __cnfn convert_int16(ushort16);
   4503 int16 __ovld __cnfn convert_int16_sat(ushort16);
   4504 int16 __ovld __cnfn convert_int16_rte(int16);
   4505 int16 __ovld __cnfn convert_int16_sat_rte(int16);
   4506 int16 __ovld __cnfn convert_int16_rtz(int16);
   4507 int16 __ovld __cnfn convert_int16_sat_rtz(int16);
   4508 int16 __ovld __cnfn convert_int16_rtp(int16);
   4509 int16 __ovld __cnfn convert_int16_sat_rtp(int16);
   4510 int16 __ovld __cnfn convert_int16_rtn(int16);
   4511 int16 __ovld __cnfn convert_int16_sat_rtn(int16);
   4512 int16 __ovld __cnfn convert_int16(int16);
   4513 int16 __ovld __cnfn convert_int16_sat(int16);
   4514 int16 __ovld __cnfn convert_int16_rte(uint16);
   4515 int16 __ovld __cnfn convert_int16_sat_rte(uint16);
   4516 int16 __ovld __cnfn convert_int16_rtz(uint16);
   4517 int16 __ovld __cnfn convert_int16_sat_rtz(uint16);
   4518 int16 __ovld __cnfn convert_int16_rtp(uint16);
   4519 int16 __ovld __cnfn convert_int16_sat_rtp(uint16);
   4520 int16 __ovld __cnfn convert_int16_rtn(uint16);
   4521 int16 __ovld __cnfn convert_int16_sat_rtn(uint16);
   4522 int16 __ovld __cnfn convert_int16(uint16);
   4523 int16 __ovld __cnfn convert_int16_sat(uint16);
   4524 int16 __ovld __cnfn convert_int16_rte(long16);
   4525 int16 __ovld __cnfn convert_int16_sat_rte(long16);
   4526 int16 __ovld __cnfn convert_int16_rtz(long16);
   4527 int16 __ovld __cnfn convert_int16_sat_rtz(long16);
   4528 int16 __ovld __cnfn convert_int16_rtp(long16);
   4529 int16 __ovld __cnfn convert_int16_sat_rtp(long16);
   4530 int16 __ovld __cnfn convert_int16_rtn(long16);
   4531 int16 __ovld __cnfn convert_int16_sat_rtn(long16);
   4532 int16 __ovld __cnfn convert_int16(long16);
   4533 int16 __ovld __cnfn convert_int16_sat(long16);
   4534 int16 __ovld __cnfn convert_int16_rte(ulong16);
   4535 int16 __ovld __cnfn convert_int16_sat_rte(ulong16);
   4536 int16 __ovld __cnfn convert_int16_rtz(ulong16);
   4537 int16 __ovld __cnfn convert_int16_sat_rtz(ulong16);
   4538 int16 __ovld __cnfn convert_int16_rtp(ulong16);
   4539 int16 __ovld __cnfn convert_int16_sat_rtp(ulong16);
   4540 int16 __ovld __cnfn convert_int16_rtn(ulong16);
   4541 int16 __ovld __cnfn convert_int16_sat_rtn(ulong16);
   4542 int16 __ovld __cnfn convert_int16(ulong16);
   4543 int16 __ovld __cnfn convert_int16_sat(ulong16);
   4544 int16 __ovld __cnfn convert_int16_rte(float16);
   4545 int16 __ovld __cnfn convert_int16_sat_rte(float16);
   4546 int16 __ovld __cnfn convert_int16_rtz(float16);
   4547 int16 __ovld __cnfn convert_int16_sat_rtz(float16);
   4548 int16 __ovld __cnfn convert_int16_rtp(float16);
   4549 int16 __ovld __cnfn convert_int16_sat_rtp(float16);
   4550 int16 __ovld __cnfn convert_int16_rtn(float16);
   4551 int16 __ovld __cnfn convert_int16_sat_rtn(float16);
   4552 int16 __ovld __cnfn convert_int16(float16);
   4553 int16 __ovld __cnfn convert_int16_sat(float16);
   4554 uint16 __ovld __cnfn convert_uint16_rte(char16);
   4555 uint16 __ovld __cnfn convert_uint16_sat_rte(char16);
   4556 uint16 __ovld __cnfn convert_uint16_rtz(char16);
   4557 uint16 __ovld __cnfn convert_uint16_sat_rtz(char16);
   4558 uint16 __ovld __cnfn convert_uint16_rtp(char16);
   4559 uint16 __ovld __cnfn convert_uint16_sat_rtp(char16);
   4560 uint16 __ovld __cnfn convert_uint16_rtn(char16);
   4561 uint16 __ovld __cnfn convert_uint16_sat_rtn(char16);
   4562 uint16 __ovld __cnfn convert_uint16(char16);
   4563 uint16 __ovld __cnfn convert_uint16_sat(char16);
   4564 uint16 __ovld __cnfn convert_uint16_rte(uchar16);
   4565 uint16 __ovld __cnfn convert_uint16_sat_rte(uchar16);
   4566 uint16 __ovld __cnfn convert_uint16_rtz(uchar16);
   4567 uint16 __ovld __cnfn convert_uint16_sat_rtz(uchar16);
   4568 uint16 __ovld __cnfn convert_uint16_rtp(uchar16);
   4569 uint16 __ovld __cnfn convert_uint16_sat_rtp(uchar16);
   4570 uint16 __ovld __cnfn convert_uint16_rtn(uchar16);
   4571 uint16 __ovld __cnfn convert_uint16_sat_rtn(uchar16);
   4572 uint16 __ovld __cnfn convert_uint16(uchar16);
   4573 uint16 __ovld __cnfn convert_uint16_sat(uchar16);
   4574 uint16 __ovld __cnfn convert_uint16_rte(short16);
   4575 uint16 __ovld __cnfn convert_uint16_sat_rte(short16);
   4576 uint16 __ovld __cnfn convert_uint16_rtz(short16);
   4577 uint16 __ovld __cnfn convert_uint16_sat_rtz(short16);
   4578 uint16 __ovld __cnfn convert_uint16_rtp(short16);
   4579 uint16 __ovld __cnfn convert_uint16_sat_rtp(short16);
   4580 uint16 __ovld __cnfn convert_uint16_rtn(short16);
   4581 uint16 __ovld __cnfn convert_uint16_sat_rtn(short16);
   4582 uint16 __ovld __cnfn convert_uint16(short16);
   4583 uint16 __ovld __cnfn convert_uint16_sat(short16);
   4584 uint16 __ovld __cnfn convert_uint16_rte(ushort16);
   4585 uint16 __ovld __cnfn convert_uint16_sat_rte(ushort16);
   4586 uint16 __ovld __cnfn convert_uint16_rtz(ushort16);
   4587 uint16 __ovld __cnfn convert_uint16_sat_rtz(ushort16);
   4588 uint16 __ovld __cnfn convert_uint16_rtp(ushort16);
   4589 uint16 __ovld __cnfn convert_uint16_sat_rtp(ushort16);
   4590 uint16 __ovld __cnfn convert_uint16_rtn(ushort16);
   4591 uint16 __ovld __cnfn convert_uint16_sat_rtn(ushort16);
   4592 uint16 __ovld __cnfn convert_uint16(ushort16);
   4593 uint16 __ovld __cnfn convert_uint16_sat(ushort16);
   4594 uint16 __ovld __cnfn convert_uint16_rte(int16);
   4595 uint16 __ovld __cnfn convert_uint16_sat_rte(int16);
   4596 uint16 __ovld __cnfn convert_uint16_rtz(int16);
   4597 uint16 __ovld __cnfn convert_uint16_sat_rtz(int16);
   4598 uint16 __ovld __cnfn convert_uint16_rtp(int16);
   4599 uint16 __ovld __cnfn convert_uint16_sat_rtp(int16);
   4600 uint16 __ovld __cnfn convert_uint16_rtn(int16);
   4601 uint16 __ovld __cnfn convert_uint16_sat_rtn(int16);
   4602 uint16 __ovld __cnfn convert_uint16(int16);
   4603 uint16 __ovld __cnfn convert_uint16_sat(int16);
   4604 uint16 __ovld __cnfn convert_uint16_rte(uint16);
   4605 uint16 __ovld __cnfn convert_uint16_sat_rte(uint16);
   4606 uint16 __ovld __cnfn convert_uint16_rtz(uint16);
   4607 uint16 __ovld __cnfn convert_uint16_sat_rtz(uint16);
   4608 uint16 __ovld __cnfn convert_uint16_rtp(uint16);
   4609 uint16 __ovld __cnfn convert_uint16_sat_rtp(uint16);
   4610 uint16 __ovld __cnfn convert_uint16_rtn(uint16);
   4611 uint16 __ovld __cnfn convert_uint16_sat_rtn(uint16);
   4612 uint16 __ovld __cnfn convert_uint16(uint16);
   4613 uint16 __ovld __cnfn convert_uint16_sat(uint16);
   4614 uint16 __ovld __cnfn convert_uint16_rte(long16);
   4615 uint16 __ovld __cnfn convert_uint16_sat_rte(long16);
   4616 uint16 __ovld __cnfn convert_uint16_rtz(long16);
   4617 uint16 __ovld __cnfn convert_uint16_sat_rtz(long16);
   4618 uint16 __ovld __cnfn convert_uint16_rtp(long16);
   4619 uint16 __ovld __cnfn convert_uint16_sat_rtp(long16);
   4620 uint16 __ovld __cnfn convert_uint16_rtn(long16);
   4621 uint16 __ovld __cnfn convert_uint16_sat_rtn(long16);
   4622 uint16 __ovld __cnfn convert_uint16(long16);
   4623 uint16 __ovld __cnfn convert_uint16_sat(long16);
   4624 uint16 __ovld __cnfn convert_uint16_rte(ulong16);
   4625 uint16 __ovld __cnfn convert_uint16_sat_rte(ulong16);
   4626 uint16 __ovld __cnfn convert_uint16_rtz(ulong16);
   4627 uint16 __ovld __cnfn convert_uint16_sat_rtz(ulong16);
   4628 uint16 __ovld __cnfn convert_uint16_rtp(ulong16);
   4629 uint16 __ovld __cnfn convert_uint16_sat_rtp(ulong16);
   4630 uint16 __ovld __cnfn convert_uint16_rtn(ulong16);
   4631 uint16 __ovld __cnfn convert_uint16_sat_rtn(ulong16);
   4632 uint16 __ovld __cnfn convert_uint16(ulong16);
   4633 uint16 __ovld __cnfn convert_uint16_sat(ulong16);
   4634 uint16 __ovld __cnfn convert_uint16_rte(float16);
   4635 uint16 __ovld __cnfn convert_uint16_sat_rte(float16);
   4636 uint16 __ovld __cnfn convert_uint16_rtz(float16);
   4637 uint16 __ovld __cnfn convert_uint16_sat_rtz(float16);
   4638 uint16 __ovld __cnfn convert_uint16_rtp(float16);
   4639 uint16 __ovld __cnfn convert_uint16_sat_rtp(float16);
   4640 uint16 __ovld __cnfn convert_uint16_rtn(float16);
   4641 uint16 __ovld __cnfn convert_uint16_sat_rtn(float16);
   4642 uint16 __ovld __cnfn convert_uint16(float16);
   4643 uint16 __ovld __cnfn convert_uint16_sat(float16);
   4644 long16 __ovld __cnfn convert_long16_rte(char16);
   4645 long16 __ovld __cnfn convert_long16_sat_rte(char16);
   4646 long16 __ovld __cnfn convert_long16_rtz(char16);
   4647 long16 __ovld __cnfn convert_long16_sat_rtz(char16);
   4648 long16 __ovld __cnfn convert_long16_rtp(char16);
   4649 long16 __ovld __cnfn convert_long16_sat_rtp(char16);
   4650 long16 __ovld __cnfn convert_long16_rtn(char16);
   4651 long16 __ovld __cnfn convert_long16_sat_rtn(char16);
   4652 long16 __ovld __cnfn convert_long16(char16);
   4653 long16 __ovld __cnfn convert_long16_sat(char16);
   4654 long16 __ovld __cnfn convert_long16_rte(uchar16);
   4655 long16 __ovld __cnfn convert_long16_sat_rte(uchar16);
   4656 long16 __ovld __cnfn convert_long16_rtz(uchar16);
   4657 long16 __ovld __cnfn convert_long16_sat_rtz(uchar16);
   4658 long16 __ovld __cnfn convert_long16_rtp(uchar16);
   4659 long16 __ovld __cnfn convert_long16_sat_rtp(uchar16);
   4660 long16 __ovld __cnfn convert_long16_rtn(uchar16);
   4661 long16 __ovld __cnfn convert_long16_sat_rtn(uchar16);
   4662 long16 __ovld __cnfn convert_long16(uchar16);
   4663 long16 __ovld __cnfn convert_long16_sat(uchar16);
   4664 long16 __ovld __cnfn convert_long16_rte(short16);
   4665 long16 __ovld __cnfn convert_long16_sat_rte(short16);
   4666 long16 __ovld __cnfn convert_long16_rtz(short16);
   4667 long16 __ovld __cnfn convert_long16_sat_rtz(short16);
   4668 long16 __ovld __cnfn convert_long16_rtp(short16);
   4669 long16 __ovld __cnfn convert_long16_sat_rtp(short16);
   4670 long16 __ovld __cnfn convert_long16_rtn(short16);
   4671 long16 __ovld __cnfn convert_long16_sat_rtn(short16);
   4672 long16 __ovld __cnfn convert_long16(short16);
   4673 long16 __ovld __cnfn convert_long16_sat(short16);
   4674 long16 __ovld __cnfn convert_long16_rte(ushort16);
   4675 long16 __ovld __cnfn convert_long16_sat_rte(ushort16);
   4676 long16 __ovld __cnfn convert_long16_rtz(ushort16);
   4677 long16 __ovld __cnfn convert_long16_sat_rtz(ushort16);
   4678 long16 __ovld __cnfn convert_long16_rtp(ushort16);
   4679 long16 __ovld __cnfn convert_long16_sat_rtp(ushort16);
   4680 long16 __ovld __cnfn convert_long16_rtn(ushort16);
   4681 long16 __ovld __cnfn convert_long16_sat_rtn(ushort16);
   4682 long16 __ovld __cnfn convert_long16(ushort16);
   4683 long16 __ovld __cnfn convert_long16_sat(ushort16);
   4684 long16 __ovld __cnfn convert_long16_rte(int16);
   4685 long16 __ovld __cnfn convert_long16_sat_rte(int16);
   4686 long16 __ovld __cnfn convert_long16_rtz(int16);
   4687 long16 __ovld __cnfn convert_long16_sat_rtz(int16);
   4688 long16 __ovld __cnfn convert_long16_rtp(int16);
   4689 long16 __ovld __cnfn convert_long16_sat_rtp(int16);
   4690 long16 __ovld __cnfn convert_long16_rtn(int16);
   4691 long16 __ovld __cnfn convert_long16_sat_rtn(int16);
   4692 long16 __ovld __cnfn convert_long16(int16);
   4693 long16 __ovld __cnfn convert_long16_sat(int16);
   4694 long16 __ovld __cnfn convert_long16_rte(uint16);
   4695 long16 __ovld __cnfn convert_long16_sat_rte(uint16);
   4696 long16 __ovld __cnfn convert_long16_rtz(uint16);
   4697 long16 __ovld __cnfn convert_long16_sat_rtz(uint16);
   4698 long16 __ovld __cnfn convert_long16_rtp(uint16);
   4699 long16 __ovld __cnfn convert_long16_sat_rtp(uint16);
   4700 long16 __ovld __cnfn convert_long16_rtn(uint16);
   4701 long16 __ovld __cnfn convert_long16_sat_rtn(uint16);
   4702 long16 __ovld __cnfn convert_long16(uint16);
   4703 long16 __ovld __cnfn convert_long16_sat(uint16);
   4704 long16 __ovld __cnfn convert_long16_rte(long16);
   4705 long16 __ovld __cnfn convert_long16_sat_rte(long16);
   4706 long16 __ovld __cnfn convert_long16_rtz(long16);
   4707 long16 __ovld __cnfn convert_long16_sat_rtz(long16);
   4708 long16 __ovld __cnfn convert_long16_rtp(long16);
   4709 long16 __ovld __cnfn convert_long16_sat_rtp(long16);
   4710 long16 __ovld __cnfn convert_long16_rtn(long16);
   4711 long16 __ovld __cnfn convert_long16_sat_rtn(long16);
   4712 long16 __ovld __cnfn convert_long16(long16);
   4713 long16 __ovld __cnfn convert_long16_sat(long16);
   4714 long16 __ovld __cnfn convert_long16_rte(ulong16);
   4715 long16 __ovld __cnfn convert_long16_sat_rte(ulong16);
   4716 long16 __ovld __cnfn convert_long16_rtz(ulong16);
   4717 long16 __ovld __cnfn convert_long16_sat_rtz(ulong16);
   4718 long16 __ovld __cnfn convert_long16_rtp(ulong16);
   4719 long16 __ovld __cnfn convert_long16_sat_rtp(ulong16);
   4720 long16 __ovld __cnfn convert_long16_rtn(ulong16);
   4721 long16 __ovld __cnfn convert_long16_sat_rtn(ulong16);
   4722 long16 __ovld __cnfn convert_long16(ulong16);
   4723 long16 __ovld __cnfn convert_long16_sat(ulong16);
   4724 long16 __ovld __cnfn convert_long16_rte(float16);
   4725 long16 __ovld __cnfn convert_long16_sat_rte(float16);
   4726 long16 __ovld __cnfn convert_long16_rtz(float16);
   4727 long16 __ovld __cnfn convert_long16_sat_rtz(float16);
   4728 long16 __ovld __cnfn convert_long16_rtp(float16);
   4729 long16 __ovld __cnfn convert_long16_sat_rtp(float16);
   4730 long16 __ovld __cnfn convert_long16_rtn(float16);
   4731 long16 __ovld __cnfn convert_long16_sat_rtn(float16);
   4732 long16 __ovld __cnfn convert_long16(float16);
   4733 long16 __ovld __cnfn convert_long16_sat(float16);
   4734 ulong16 __ovld __cnfn convert_ulong16_rte(char16);
   4735 ulong16 __ovld __cnfn convert_ulong16_sat_rte(char16);
   4736 ulong16 __ovld __cnfn convert_ulong16_rtz(char16);
   4737 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(char16);
   4738 ulong16 __ovld __cnfn convert_ulong16_rtp(char16);
   4739 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(char16);
   4740 ulong16 __ovld __cnfn convert_ulong16_rtn(char16);
   4741 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(char16);
   4742 ulong16 __ovld __cnfn convert_ulong16(char16);
   4743 ulong16 __ovld __cnfn convert_ulong16_sat(char16);
   4744 ulong16 __ovld __cnfn convert_ulong16_rte(uchar16);
   4745 ulong16 __ovld __cnfn convert_ulong16_sat_rte(uchar16);
   4746 ulong16 __ovld __cnfn convert_ulong16_rtz(uchar16);
   4747 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(uchar16);
   4748 ulong16 __ovld __cnfn convert_ulong16_rtp(uchar16);
   4749 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(uchar16);
   4750 ulong16 __ovld __cnfn convert_ulong16_rtn(uchar16);
   4751 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(uchar16);
   4752 ulong16 __ovld __cnfn convert_ulong16(uchar16);
   4753 ulong16 __ovld __cnfn convert_ulong16_sat(uchar16);
   4754 ulong16 __ovld __cnfn convert_ulong16_rte(short16);
   4755 ulong16 __ovld __cnfn convert_ulong16_sat_rte(short16);
   4756 ulong16 __ovld __cnfn convert_ulong16_rtz(short16);
   4757 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(short16);
   4758 ulong16 __ovld __cnfn convert_ulong16_rtp(short16);
   4759 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(short16);
   4760 ulong16 __ovld __cnfn convert_ulong16_rtn(short16);
   4761 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(short16);
   4762 ulong16 __ovld __cnfn convert_ulong16(short16);
   4763 ulong16 __ovld __cnfn convert_ulong16_sat(short16);
   4764 ulong16 __ovld __cnfn convert_ulong16_rte(ushort16);
   4765 ulong16 __ovld __cnfn convert_ulong16_sat_rte(ushort16);
   4766 ulong16 __ovld __cnfn convert_ulong16_rtz(ushort16);
   4767 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(ushort16);
   4768 ulong16 __ovld __cnfn convert_ulong16_rtp(ushort16);
   4769 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(ushort16);
   4770 ulong16 __ovld __cnfn convert_ulong16_rtn(ushort16);
   4771 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(ushort16);
   4772 ulong16 __ovld __cnfn convert_ulong16(ushort16);
   4773 ulong16 __ovld __cnfn convert_ulong16_sat(ushort16);
   4774 ulong16 __ovld __cnfn convert_ulong16_rte(int16);
   4775 ulong16 __ovld __cnfn convert_ulong16_sat_rte(int16);
   4776 ulong16 __ovld __cnfn convert_ulong16_rtz(int16);
   4777 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(int16);
   4778 ulong16 __ovld __cnfn convert_ulong16_rtp(int16);
   4779 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(int16);
   4780 ulong16 __ovld __cnfn convert_ulong16_rtn(int16);
   4781 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(int16);
   4782 ulong16 __ovld __cnfn convert_ulong16(int16);
   4783 ulong16 __ovld __cnfn convert_ulong16_sat(int16);
   4784 ulong16 __ovld __cnfn convert_ulong16_rte(uint16);
   4785 ulong16 __ovld __cnfn convert_ulong16_sat_rte(uint16);
   4786 ulong16 __ovld __cnfn convert_ulong16_rtz(uint16);
   4787 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(uint16);
   4788 ulong16 __ovld __cnfn convert_ulong16_rtp(uint16);
   4789 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(uint16);
   4790 ulong16 __ovld __cnfn convert_ulong16_rtn(uint16);
   4791 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(uint16);
   4792 ulong16 __ovld __cnfn convert_ulong16(uint16);
   4793 ulong16 __ovld __cnfn convert_ulong16_sat(uint16);
   4794 ulong16 __ovld __cnfn convert_ulong16_rte(long16);
   4795 ulong16 __ovld __cnfn convert_ulong16_sat_rte(long16);
   4796 ulong16 __ovld __cnfn convert_ulong16_rtz(long16);
   4797 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(long16);
   4798 ulong16 __ovld __cnfn convert_ulong16_rtp(long16);
   4799 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(long16);
   4800 ulong16 __ovld __cnfn convert_ulong16_rtn(long16);
   4801 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(long16);
   4802 ulong16 __ovld __cnfn convert_ulong16(long16);
   4803 ulong16 __ovld __cnfn convert_ulong16_sat(long16);
   4804 ulong16 __ovld __cnfn convert_ulong16_rte(ulong16);
   4805 ulong16 __ovld __cnfn convert_ulong16_sat_rte(ulong16);
   4806 ulong16 __ovld __cnfn convert_ulong16_rtz(ulong16);
   4807 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(ulong16);
   4808 ulong16 __ovld __cnfn convert_ulong16_rtp(ulong16);
   4809 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(ulong16);
   4810 ulong16 __ovld __cnfn convert_ulong16_rtn(ulong16);
   4811 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(ulong16);
   4812 ulong16 __ovld __cnfn convert_ulong16(ulong16);
   4813 ulong16 __ovld __cnfn convert_ulong16_sat(ulong16);
   4814 ulong16 __ovld __cnfn convert_ulong16_rte(float16);
   4815 ulong16 __ovld __cnfn convert_ulong16_sat_rte(float16);
   4816 ulong16 __ovld __cnfn convert_ulong16_rtz(float16);
   4817 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(float16);
   4818 ulong16 __ovld __cnfn convert_ulong16_rtp(float16);
   4819 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(float16);
   4820 ulong16 __ovld __cnfn convert_ulong16_rtn(float16);
   4821 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(float16);
   4822 ulong16 __ovld __cnfn convert_ulong16(float16);
   4823 ulong16 __ovld __cnfn convert_ulong16_sat(float16);
   4824 float16 __ovld __cnfn convert_float16_rte(char16);
   4825 float16 __ovld __cnfn convert_float16_rtz(char16);
   4826 float16 __ovld __cnfn convert_float16_rtp(char16);
   4827 float16 __ovld __cnfn convert_float16_rtn(char16);
   4828 float16 __ovld __cnfn convert_float16(char16);
   4829 float16 __ovld __cnfn convert_float16_rte(uchar16);
   4830 float16 __ovld __cnfn convert_float16_rtz(uchar16);
   4831 float16 __ovld __cnfn convert_float16_rtp(uchar16);
   4832 float16 __ovld __cnfn convert_float16_rtn(uchar16);
   4833 float16 __ovld __cnfn convert_float16(uchar16);
   4834 float16 __ovld __cnfn convert_float16_rte(short16);
   4835 float16 __ovld __cnfn convert_float16_rtz(short16);
   4836 float16 __ovld __cnfn convert_float16_rtp(short16);
   4837 float16 __ovld __cnfn convert_float16_rtn(short16);
   4838 float16 __ovld __cnfn convert_float16(short16);
   4839 float16 __ovld __cnfn convert_float16_rte(ushort16);
   4840 float16 __ovld __cnfn convert_float16_rtz(ushort16);
   4841 float16 __ovld __cnfn convert_float16_rtp(ushort16);
   4842 float16 __ovld __cnfn convert_float16_rtn(ushort16);
   4843 float16 __ovld __cnfn convert_float16(ushort16);
   4844 float16 __ovld __cnfn convert_float16_rte(int16);
   4845 float16 __ovld __cnfn convert_float16_rtz(int16);
   4846 float16 __ovld __cnfn convert_float16_rtp(int16);
   4847 float16 __ovld __cnfn convert_float16_rtn(int16);
   4848 float16 __ovld __cnfn convert_float16(int16);
   4849 float16 __ovld __cnfn convert_float16_rte(uint16);
   4850 float16 __ovld __cnfn convert_float16_rtz(uint16);
   4851 float16 __ovld __cnfn convert_float16_rtp(uint16);
   4852 float16 __ovld __cnfn convert_float16_rtn(uint16);
   4853 float16 __ovld __cnfn convert_float16(uint16);
   4854 float16 __ovld __cnfn convert_float16_rte(long16);
   4855 float16 __ovld __cnfn convert_float16_rtz(long16);
   4856 float16 __ovld __cnfn convert_float16_rtp(long16);
   4857 float16 __ovld __cnfn convert_float16_rtn(long16);
   4858 float16 __ovld __cnfn convert_float16(long16);
   4859 float16 __ovld __cnfn convert_float16_rte(ulong16);
   4860 float16 __ovld __cnfn convert_float16_rtz(ulong16);
   4861 float16 __ovld __cnfn convert_float16_rtp(ulong16);
   4862 float16 __ovld __cnfn convert_float16_rtn(ulong16);
   4863 float16 __ovld __cnfn convert_float16(ulong16);
   4864 float16 __ovld __cnfn convert_float16_rte(float16);
   4865 float16 __ovld __cnfn convert_float16_rtz(float16);
   4866 float16 __ovld __cnfn convert_float16_rtp(float16);
   4867 float16 __ovld __cnfn convert_float16_rtn(float16);
   4868 float16 __ovld __cnfn convert_float16(float16);
   4869 
   4870 // Conversions with double data type parameters or return value.
   4871 
   4872 #ifdef cl_khr_fp64
   4873 char __ovld __cnfn convert_char(double);
   4874 char __ovld __cnfn convert_char_rte(double);
   4875 char __ovld __cnfn convert_char_rtn(double);
   4876 char __ovld __cnfn convert_char_rtp(double);
   4877 char __ovld __cnfn convert_char_rtz(double);
   4878 char __ovld __cnfn convert_char_sat(double);
   4879 char __ovld __cnfn convert_char_sat_rte(double);
   4880 char __ovld __cnfn convert_char_sat_rtn(double);
   4881 char __ovld __cnfn convert_char_sat_rtp(double);
   4882 char __ovld __cnfn convert_char_sat_rtz(double);
   4883 char2 __ovld __cnfn convert_char2(double2);
   4884 char2 __ovld __cnfn convert_char2_rte(double2);
   4885 char2 __ovld __cnfn convert_char2_rtn(double2);
   4886 char2 __ovld __cnfn convert_char2_rtp(double2);
   4887 char2 __ovld __cnfn convert_char2_rtz(double2);
   4888 char2 __ovld __cnfn convert_char2_sat(double2);
   4889 char2 __ovld __cnfn convert_char2_sat_rte(double2);
   4890 char2 __ovld __cnfn convert_char2_sat_rtn(double2);
   4891 char2 __ovld __cnfn convert_char2_sat_rtp(double2);
   4892 char2 __ovld __cnfn convert_char2_sat_rtz(double2);
   4893 char3 __ovld __cnfn convert_char3(double3);
   4894 char3 __ovld __cnfn convert_char3_rte(double3);
   4895 char3 __ovld __cnfn convert_char3_rtn(double3);
   4896 char3 __ovld __cnfn convert_char3_rtp(double3);
   4897 char3 __ovld __cnfn convert_char3_rtz(double3);
   4898 char3 __ovld __cnfn convert_char3_sat(double3);
   4899 char3 __ovld __cnfn convert_char3_sat_rte(double3);
   4900 char3 __ovld __cnfn convert_char3_sat_rtn(double3);
   4901 char3 __ovld __cnfn convert_char3_sat_rtp(double3);
   4902 char3 __ovld __cnfn convert_char3_sat_rtz(double3);
   4903 char4 __ovld __cnfn convert_char4(double4);
   4904 char4 __ovld __cnfn convert_char4_rte(double4);
   4905 char4 __ovld __cnfn convert_char4_rtn(double4);
   4906 char4 __ovld __cnfn convert_char4_rtp(double4);
   4907 char4 __ovld __cnfn convert_char4_rtz(double4);
   4908 char4 __ovld __cnfn convert_char4_sat(double4);
   4909 char4 __ovld __cnfn convert_char4_sat_rte(double4);
   4910 char4 __ovld __cnfn convert_char4_sat_rtn(double4);
   4911 char4 __ovld __cnfn convert_char4_sat_rtp(double4);
   4912 char4 __ovld __cnfn convert_char4_sat_rtz(double4);
   4913 char8 __ovld __cnfn convert_char8(double8);
   4914 char8 __ovld __cnfn convert_char8_rte(double8);
   4915 char8 __ovld __cnfn convert_char8_rtn(double8);
   4916 char8 __ovld __cnfn convert_char8_rtp(double8);
   4917 char8 __ovld __cnfn convert_char8_rtz(double8);
   4918 char8 __ovld __cnfn convert_char8_sat(double8);
   4919 char8 __ovld __cnfn convert_char8_sat_rte(double8);
   4920 char8 __ovld __cnfn convert_char8_sat_rtn(double8);
   4921 char8 __ovld __cnfn convert_char8_sat_rtp(double8);
   4922 char8 __ovld __cnfn convert_char8_sat_rtz(double8);
   4923 char16 __ovld __cnfn convert_char16(double16);
   4924 char16 __ovld __cnfn convert_char16_rte(double16);
   4925 char16 __ovld __cnfn convert_char16_rtn(double16);
   4926 char16 __ovld __cnfn convert_char16_rtp(double16);
   4927 char16 __ovld __cnfn convert_char16_rtz(double16);
   4928 char16 __ovld __cnfn convert_char16_sat(double16);
   4929 char16 __ovld __cnfn convert_char16_sat_rte(double16);
   4930 char16 __ovld __cnfn convert_char16_sat_rtn(double16);
   4931 char16 __ovld __cnfn convert_char16_sat_rtp(double16);
   4932 char16 __ovld __cnfn convert_char16_sat_rtz(double16);
   4933 
   4934 uchar __ovld __cnfn convert_uchar(double);
   4935 uchar __ovld __cnfn convert_uchar_rte(double);
   4936 uchar __ovld __cnfn convert_uchar_rtn(double);
   4937 uchar __ovld __cnfn convert_uchar_rtp(double);
   4938 uchar __ovld __cnfn convert_uchar_rtz(double);
   4939 uchar __ovld __cnfn convert_uchar_sat(double);
   4940 uchar __ovld __cnfn convert_uchar_sat_rte(double);
   4941 uchar __ovld __cnfn convert_uchar_sat_rtn(double);
   4942 uchar __ovld __cnfn convert_uchar_sat_rtp(double);
   4943 uchar __ovld __cnfn convert_uchar_sat_rtz(double);
   4944 uchar2 __ovld __cnfn convert_uchar2(double2);
   4945 uchar2 __ovld __cnfn convert_uchar2_rte(double2);
   4946 uchar2 __ovld __cnfn convert_uchar2_rtn(double2);
   4947 uchar2 __ovld __cnfn convert_uchar2_rtp(double2);
   4948 uchar2 __ovld __cnfn convert_uchar2_rtz(double2);
   4949 uchar2 __ovld __cnfn convert_uchar2_sat(double2);
   4950 uchar2 __ovld __cnfn convert_uchar2_sat_rte(double2);
   4951 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(double2);
   4952 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(double2);
   4953 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(double2);
   4954 uchar3 __ovld __cnfn convert_uchar3(double3);
   4955 uchar3 __ovld __cnfn convert_uchar3_rte(double3);
   4956 uchar3 __ovld __cnfn convert_uchar3_rtn(double3);
   4957 uchar3 __ovld __cnfn convert_uchar3_rtp(double3);
   4958 uchar3 __ovld __cnfn convert_uchar3_rtz(double3);
   4959 uchar3 __ovld __cnfn convert_uchar3_sat(double3);
   4960 uchar3 __ovld __cnfn convert_uchar3_sat_rte(double3);
   4961 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(double3);
   4962 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(double3);
   4963 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(double3);
   4964 uchar4 __ovld __cnfn convert_uchar4(double4);
   4965 uchar4 __ovld __cnfn convert_uchar4_rte(double4);
   4966 uchar4 __ovld __cnfn convert_uchar4_rtn(double4);
   4967 uchar4 __ovld __cnfn convert_uchar4_rtp(double4);
   4968 uchar4 __ovld __cnfn convert_uchar4_rtz(double4);
   4969 uchar4 __ovld __cnfn convert_uchar4_sat(double4);
   4970 uchar4 __ovld __cnfn convert_uchar4_sat_rte(double4);
   4971 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(double4);
   4972 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(double4);
   4973 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(double4);
   4974 uchar8 __ovld __cnfn convert_uchar8(double8);
   4975 uchar8 __ovld __cnfn convert_uchar8_rte(double8);
   4976 uchar8 __ovld __cnfn convert_uchar8_rtn(double8);
   4977 uchar8 __ovld __cnfn convert_uchar8_rtp(double8);
   4978 uchar8 __ovld __cnfn convert_uchar8_rtz(double8);
   4979 uchar8 __ovld __cnfn convert_uchar8_sat(double8);
   4980 uchar8 __ovld __cnfn convert_uchar8_sat_rte(double8);
   4981 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(double8);
   4982 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(double8);
   4983 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(double8);
   4984 uchar16 __ovld __cnfn convert_uchar16(double16);
   4985 uchar16 __ovld __cnfn convert_uchar16_rte(double16);
   4986 uchar16 __ovld __cnfn convert_uchar16_rtn(double16);
   4987 uchar16 __ovld __cnfn convert_uchar16_rtp(double16);
   4988 uchar16 __ovld __cnfn convert_uchar16_rtz(double16);
   4989 uchar16 __ovld __cnfn convert_uchar16_sat(double16);
   4990 uchar16 __ovld __cnfn convert_uchar16_sat_rte(double16);
   4991 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(double16);
   4992 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(double16);
   4993 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(double16);
   4994 
   4995 short __ovld __cnfn convert_short(double);
   4996 short __ovld __cnfn convert_short_rte(double);
   4997 short __ovld __cnfn convert_short_rtn(double);
   4998 short __ovld __cnfn convert_short_rtp(double);
   4999 short __ovld __cnfn convert_short_rtz(double);
   5000 short __ovld __cnfn convert_short_sat(double);
   5001 short __ovld __cnfn convert_short_sat_rte(double);
   5002 short __ovld __cnfn convert_short_sat_rtn(double);
   5003 short __ovld __cnfn convert_short_sat_rtp(double);
   5004 short __ovld __cnfn convert_short_sat_rtz(double);
   5005 short2 __ovld __cnfn convert_short2(double2);
   5006 short2 __ovld __cnfn convert_short2_rte(double2);
   5007 short2 __ovld __cnfn convert_short2_rtn(double2);
   5008 short2 __ovld __cnfn convert_short2_rtp(double2);
   5009 short2 __ovld __cnfn convert_short2_rtz(double2);
   5010 short2 __ovld __cnfn convert_short2_sat(double2);
   5011 short2 __ovld __cnfn convert_short2_sat_rte(double2);
   5012 short2 __ovld __cnfn convert_short2_sat_rtn(double2);
   5013 short2 __ovld __cnfn convert_short2_sat_rtp(double2);
   5014 short2 __ovld __cnfn convert_short2_sat_rtz(double2);
   5015 short3 __ovld __cnfn convert_short3(double3);
   5016 short3 __ovld __cnfn convert_short3_rte(double3);
   5017 short3 __ovld __cnfn convert_short3_rtn(double3);
   5018 short3 __ovld __cnfn convert_short3_rtp(double3);
   5019 short3 __ovld __cnfn convert_short3_rtz(double3);
   5020 short3 __ovld __cnfn convert_short3_sat(double3);
   5021 short3 __ovld __cnfn convert_short3_sat_rte(double3);
   5022 short3 __ovld __cnfn convert_short3_sat_rtn(double3);
   5023 short3 __ovld __cnfn convert_short3_sat_rtp(double3);
   5024 short3 __ovld __cnfn convert_short3_sat_rtz(double3);
   5025 short4 __ovld __cnfn convert_short4(double4);
   5026 short4 __ovld __cnfn convert_short4_rte(double4);
   5027 short4 __ovld __cnfn convert_short4_rtn(double4);
   5028 short4 __ovld __cnfn convert_short4_rtp(double4);
   5029 short4 __ovld __cnfn convert_short4_rtz(double4);
   5030 short4 __ovld __cnfn convert_short4_sat(double4);
   5031 short4 __ovld __cnfn convert_short4_sat_rte(double4);
   5032 short4 __ovld __cnfn convert_short4_sat_rtn(double4);
   5033 short4 __ovld __cnfn convert_short4_sat_rtp(double4);
   5034 short4 __ovld __cnfn convert_short4_sat_rtz(double4);
   5035 short8 __ovld __cnfn convert_short8(double8);
   5036 short8 __ovld __cnfn convert_short8_rte(double8);
   5037 short8 __ovld __cnfn convert_short8_rtn(double8);
   5038 short8 __ovld __cnfn convert_short8_rtp(double8);
   5039 short8 __ovld __cnfn convert_short8_rtz(double8);
   5040 short8 __ovld __cnfn convert_short8_sat(double8);
   5041 short8 __ovld __cnfn convert_short8_sat_rte(double8);
   5042 short8 __ovld __cnfn convert_short8_sat_rtn(double8);
   5043 short8 __ovld __cnfn convert_short8_sat_rtp(double8);
   5044 short8 __ovld __cnfn convert_short8_sat_rtz(double8);
   5045 short16 __ovld __cnfn convert_short16(double16);
   5046 short16 __ovld __cnfn convert_short16_rte(double16);
   5047 short16 __ovld __cnfn convert_short16_rtn(double16);
   5048 short16 __ovld __cnfn convert_short16_rtp(double16);
   5049 short16 __ovld __cnfn convert_short16_rtz(double16);
   5050 short16 __ovld __cnfn convert_short16_sat(double16);
   5051 short16 __ovld __cnfn convert_short16_sat_rte(double16);
   5052 short16 __ovld __cnfn convert_short16_sat_rtn(double16);
   5053 short16 __ovld __cnfn convert_short16_sat_rtp(double16);
   5054 short16 __ovld __cnfn convert_short16_sat_rtz(double16);
   5055 
   5056 ushort __ovld __cnfn convert_ushort(double);
   5057 ushort __ovld __cnfn convert_ushort_rte(double);
   5058 ushort __ovld __cnfn convert_ushort_rtn(double);
   5059 ushort __ovld __cnfn convert_ushort_rtp(double);
   5060 ushort __ovld __cnfn convert_ushort_rtz(double);
   5061 ushort __ovld __cnfn convert_ushort_sat(double);
   5062 ushort __ovld __cnfn convert_ushort_sat_rte(double);
   5063 ushort __ovld __cnfn convert_ushort_sat_rtn(double);
   5064 ushort __ovld __cnfn convert_ushort_sat_rtp(double);
   5065 ushort __ovld __cnfn convert_ushort_sat_rtz(double);
   5066 ushort2 __ovld __cnfn convert_ushort2(double2);
   5067 ushort2 __ovld __cnfn convert_ushort2_rte(double2);
   5068 ushort2 __ovld __cnfn convert_ushort2_rtn(double2);
   5069 ushort2 __ovld __cnfn convert_ushort2_rtp(double2);
   5070 ushort2 __ovld __cnfn convert_ushort2_rtz(double2);
   5071 ushort2 __ovld __cnfn convert_ushort2_sat(double2);
   5072 ushort2 __ovld __cnfn convert_ushort2_sat_rte(double2);
   5073 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(double2);
   5074 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(double2);
   5075 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(double2);
   5076 ushort3 __ovld __cnfn convert_ushort3(double3);
   5077 ushort3 __ovld __cnfn convert_ushort3_rte(double3);
   5078 ushort3 __ovld __cnfn convert_ushort3_rtn(double3);
   5079 ushort3 __ovld __cnfn convert_ushort3_rtp(double3);
   5080 ushort3 __ovld __cnfn convert_ushort3_rtz(double3);
   5081 ushort3 __ovld __cnfn convert_ushort3_sat(double3);
   5082 ushort3 __ovld __cnfn convert_ushort3_sat_rte(double3);
   5083 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(double3);
   5084 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(double3);
   5085 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(double3);
   5086 ushort4 __ovld __cnfn convert_ushort4(double4);
   5087 ushort4 __ovld __cnfn convert_ushort4_rte(double4);
   5088 ushort4 __ovld __cnfn convert_ushort4_rtn(double4);
   5089 ushort4 __ovld __cnfn convert_ushort4_rtp(double4);
   5090 ushort4 __ovld __cnfn convert_ushort4_rtz(double4);
   5091 ushort4 __ovld __cnfn convert_ushort4_sat(double4);
   5092 ushort4 __ovld __cnfn convert_ushort4_sat_rte(double4);
   5093 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(double4);
   5094 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(double4);
   5095 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(double4);
   5096 ushort8 __ovld __cnfn convert_ushort8(double8);
   5097 ushort8 __ovld __cnfn convert_ushort8_rte(double8);
   5098 ushort8 __ovld __cnfn convert_ushort8_rtn(double8);
   5099 ushort8 __ovld __cnfn convert_ushort8_rtp(double8);
   5100 ushort8 __ovld __cnfn convert_ushort8_rtz(double8);
   5101 ushort8 __ovld __cnfn convert_ushort8_sat(double8);
   5102 ushort8 __ovld __cnfn convert_ushort8_sat_rte(double8);
   5103 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(double8);
   5104 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(double8);
   5105 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(double8);
   5106 ushort16 __ovld __cnfn convert_ushort16(double16);
   5107 ushort16 __ovld __cnfn convert_ushort16_rte(double16);
   5108 ushort16 __ovld __cnfn convert_ushort16_rtn(double16);
   5109 ushort16 __ovld __cnfn convert_ushort16_rtp(double16);
   5110 ushort16 __ovld __cnfn convert_ushort16_rtz(double16);
   5111 ushort16 __ovld __cnfn convert_ushort16_sat(double16);
   5112 ushort16 __ovld __cnfn convert_ushort16_sat_rte(double16);
   5113 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(double16);
   5114 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(double16);
   5115 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(double16);
   5116 
   5117 int __ovld __cnfn convert_int(double);
   5118 int __ovld __cnfn convert_int_rte(double);
   5119 int __ovld __cnfn convert_int_rtn(double);
   5120 int __ovld __cnfn convert_int_rtp(double);
   5121 int __ovld __cnfn convert_int_rtz(double);
   5122 int __ovld __cnfn convert_int_sat(double);
   5123 int __ovld __cnfn convert_int_sat_rte(double);
   5124 int __ovld __cnfn convert_int_sat_rtn(double);
   5125 int __ovld __cnfn convert_int_sat_rtp(double);
   5126 int __ovld __cnfn convert_int_sat_rtz(double);
   5127 int2 __ovld __cnfn convert_int2(double2);
   5128 int2 __ovld __cnfn convert_int2_rte(double2);
   5129 int2 __ovld __cnfn convert_int2_rtn(double2);
   5130 int2 __ovld __cnfn convert_int2_rtp(double2);
   5131 int2 __ovld __cnfn convert_int2_rtz(double2);
   5132 int2 __ovld __cnfn convert_int2_sat(double2);
   5133 int2 __ovld __cnfn convert_int2_sat_rte(double2);
   5134 int2 __ovld __cnfn convert_int2_sat_rtn(double2);
   5135 int2 __ovld __cnfn convert_int2_sat_rtp(double2);
   5136 int2 __ovld __cnfn convert_int2_sat_rtz(double2);
   5137 int3 __ovld __cnfn convert_int3(double3);
   5138 int3 __ovld __cnfn convert_int3_rte(double3);
   5139 int3 __ovld __cnfn convert_int3_rtn(double3);
   5140 int3 __ovld __cnfn convert_int3_rtp(double3);
   5141 int3 __ovld __cnfn convert_int3_rtz(double3);
   5142 int3 __ovld __cnfn convert_int3_sat(double3);
   5143 int3 __ovld __cnfn convert_int3_sat_rte(double3);
   5144 int3 __ovld __cnfn convert_int3_sat_rtn(double3);
   5145 int3 __ovld __cnfn convert_int3_sat_rtp(double3);
   5146 int3 __ovld __cnfn convert_int3_sat_rtz(double3);
   5147 int4 __ovld __cnfn convert_int4(double4);
   5148 int4 __ovld __cnfn convert_int4_rte(double4);
   5149 int4 __ovld __cnfn convert_int4_rtn(double4);
   5150 int4 __ovld __cnfn convert_int4_rtp(double4);
   5151 int4 __ovld __cnfn convert_int4_rtz(double4);
   5152 int4 __ovld __cnfn convert_int4_sat(double4);
   5153 int4 __ovld __cnfn convert_int4_sat_rte(double4);
   5154 int4 __ovld __cnfn convert_int4_sat_rtn(double4);
   5155 int4 __ovld __cnfn convert_int4_sat_rtp(double4);
   5156 int4 __ovld __cnfn convert_int4_sat_rtz(double4);
   5157 int8 __ovld __cnfn convert_int8(double8);
   5158 int8 __ovld __cnfn convert_int8_rte(double8);
   5159 int8 __ovld __cnfn convert_int8_rtn(double8);
   5160 int8 __ovld __cnfn convert_int8_rtp(double8);
   5161 int8 __ovld __cnfn convert_int8_rtz(double8);
   5162 int8 __ovld __cnfn convert_int8_sat(double8);
   5163 int8 __ovld __cnfn convert_int8_sat_rte(double8);
   5164 int8 __ovld __cnfn convert_int8_sat_rtn(double8);
   5165 int8 __ovld __cnfn convert_int8_sat_rtp(double8);
   5166 int8 __ovld __cnfn convert_int8_sat_rtz(double8);
   5167 int16 __ovld __cnfn convert_int16(double16);
   5168 int16 __ovld __cnfn convert_int16_rte(double16);
   5169 int16 __ovld __cnfn convert_int16_rtn(double16);
   5170 int16 __ovld __cnfn convert_int16_rtp(double16);
   5171 int16 __ovld __cnfn convert_int16_rtz(double16);
   5172 int16 __ovld __cnfn convert_int16_sat(double16);
   5173 int16 __ovld __cnfn convert_int16_sat_rte(double16);
   5174 int16 __ovld __cnfn convert_int16_sat_rtn(double16);
   5175 int16 __ovld __cnfn convert_int16_sat_rtp(double16);
   5176 int16 __ovld __cnfn convert_int16_sat_rtz(double16);
   5177 
   5178 uint __ovld __cnfn convert_uint(double);
   5179 uint __ovld __cnfn convert_uint_rte(double);
   5180 uint __ovld __cnfn convert_uint_rtn(double);
   5181 uint __ovld __cnfn convert_uint_rtp(double);
   5182 uint __ovld __cnfn convert_uint_rtz(double);
   5183 uint __ovld __cnfn convert_uint_sat(double);
   5184 uint __ovld __cnfn convert_uint_sat_rte(double);
   5185 uint __ovld __cnfn convert_uint_sat_rtn(double);
   5186 uint __ovld __cnfn convert_uint_sat_rtp(double);
   5187 uint __ovld __cnfn convert_uint_sat_rtz(double);
   5188 uint2 __ovld __cnfn convert_uint2(double2);
   5189 uint2 __ovld __cnfn convert_uint2_rte(double2);
   5190 uint2 __ovld __cnfn convert_uint2_rtn(double2);
   5191 uint2 __ovld __cnfn convert_uint2_rtp(double2);
   5192 uint2 __ovld __cnfn convert_uint2_rtz(double2);
   5193 uint2 __ovld __cnfn convert_uint2_sat(double2);
   5194 uint2 __ovld __cnfn convert_uint2_sat_rte(double2);
   5195 uint2 __ovld __cnfn convert_uint2_sat_rtn(double2);
   5196 uint2 __ovld __cnfn convert_uint2_sat_rtp(double2);
   5197 uint2 __ovld __cnfn convert_uint2_sat_rtz(double2);
   5198 uint3 __ovld __cnfn convert_uint3(double3);
   5199 uint3 __ovld __cnfn convert_uint3_rte(double3);
   5200 uint3 __ovld __cnfn convert_uint3_rtn(double3);
   5201 uint3 __ovld __cnfn convert_uint3_rtp(double3);
   5202 uint3 __ovld __cnfn convert_uint3_rtz(double3);
   5203 uint3 __ovld __cnfn convert_uint3_sat(double3);
   5204 uint3 __ovld __cnfn convert_uint3_sat_rte(double3);
   5205 uint3 __ovld __cnfn convert_uint3_sat_rtn(double3);
   5206 uint3 __ovld __cnfn convert_uint3_sat_rtp(double3);
   5207 uint3 __ovld __cnfn convert_uint3_sat_rtz(double3);
   5208 uint4 __ovld __cnfn convert_uint4(double4);
   5209 uint4 __ovld __cnfn convert_uint4_rte(double4);
   5210 uint4 __ovld __cnfn convert_uint4_rtn(double4);
   5211 uint4 __ovld __cnfn convert_uint4_rtp(double4);
   5212 uint4 __ovld __cnfn convert_uint4_rtz(double4);
   5213 uint4 __ovld __cnfn convert_uint4_sat(double4);
   5214 uint4 __ovld __cnfn convert_uint4_sat_rte(double4);
   5215 uint4 __ovld __cnfn convert_uint4_sat_rtn(double4);
   5216 uint4 __ovld __cnfn convert_uint4_sat_rtp(double4);
   5217 uint4 __ovld __cnfn convert_uint4_sat_rtz(double4);
   5218 uint8 __ovld __cnfn convert_uint8(double8);
   5219 uint8 __ovld __cnfn convert_uint8_rte(double8);
   5220 uint8 __ovld __cnfn convert_uint8_rtn(double8);
   5221 uint8 __ovld __cnfn convert_uint8_rtp(double8);
   5222 uint8 __ovld __cnfn convert_uint8_rtz(double8);
   5223 uint8 __ovld __cnfn convert_uint8_sat(double8);
   5224 uint8 __ovld __cnfn convert_uint8_sat_rte(double8);
   5225 uint8 __ovld __cnfn convert_uint8_sat_rtn(double8);
   5226 uint8 __ovld __cnfn convert_uint8_sat_rtp(double8);
   5227 uint8 __ovld __cnfn convert_uint8_sat_rtz(double8);
   5228 uint16 __ovld __cnfn convert_uint16(double16);
   5229 uint16 __ovld __cnfn convert_uint16_rte(double16);
   5230 uint16 __ovld __cnfn convert_uint16_rtn(double16);
   5231 uint16 __ovld __cnfn convert_uint16_rtp(double16);
   5232 uint16 __ovld __cnfn convert_uint16_rtz(double16);
   5233 uint16 __ovld __cnfn convert_uint16_sat(double16);
   5234 uint16 __ovld __cnfn convert_uint16_sat_rte(double16);
   5235 uint16 __ovld __cnfn convert_uint16_sat_rtn(double16);
   5236 uint16 __ovld __cnfn convert_uint16_sat_rtp(double16);
   5237 uint16 __ovld __cnfn convert_uint16_sat_rtz(double16);
   5238 
   5239 long __ovld __cnfn convert_long(double);
   5240 long __ovld __cnfn convert_long_rte(double);
   5241 long __ovld __cnfn convert_long_rtn(double);
   5242 long __ovld __cnfn convert_long_rtp(double);
   5243 long __ovld __cnfn convert_long_rtz(double);
   5244 long __ovld __cnfn convert_long_sat(double);
   5245 long __ovld __cnfn convert_long_sat_rte(double);
   5246 long __ovld __cnfn convert_long_sat_rtn(double);
   5247 long __ovld __cnfn convert_long_sat_rtp(double);
   5248 long __ovld __cnfn convert_long_sat_rtz(double);
   5249 long2 __ovld __cnfn convert_long2(double2);
   5250 long2 __ovld __cnfn convert_long2_rte(double2);
   5251 long2 __ovld __cnfn convert_long2_rtn(double2);
   5252 long2 __ovld __cnfn convert_long2_rtp(double2);
   5253 long2 __ovld __cnfn convert_long2_rtz(double2);
   5254 long2 __ovld __cnfn convert_long2_sat(double2);
   5255 long2 __ovld __cnfn convert_long2_sat_rte(double2);
   5256 long2 __ovld __cnfn convert_long2_sat_rtn(double2);
   5257 long2 __ovld __cnfn convert_long2_sat_rtp(double2);
   5258 long2 __ovld __cnfn convert_long2_sat_rtz(double2);
   5259 long3 __ovld __cnfn convert_long3(double3);
   5260 long3 __ovld __cnfn convert_long3_rte(double3);
   5261 long3 __ovld __cnfn convert_long3_rtn(double3);
   5262 long3 __ovld __cnfn convert_long3_rtp(double3);
   5263 long3 __ovld __cnfn convert_long3_rtz(double3);
   5264 long3 __ovld __cnfn convert_long3_sat(double3);
   5265 long3 __ovld __cnfn convert_long3_sat_rte(double3);
   5266 long3 __ovld __cnfn convert_long3_sat_rtn(double3);
   5267 long3 __ovld __cnfn convert_long3_sat_rtp(double3);
   5268 long3 __ovld __cnfn convert_long3_sat_rtz(double3);
   5269 long4 __ovld __cnfn convert_long4(double4);
   5270 long4 __ovld __cnfn convert_long4_rte(double4);
   5271 long4 __ovld __cnfn convert_long4_rtn(double4);
   5272 long4 __ovld __cnfn convert_long4_rtp(double4);
   5273 long4 __ovld __cnfn convert_long4_rtz(double4);
   5274 long4 __ovld __cnfn convert_long4_sat(double4);
   5275 long4 __ovld __cnfn convert_long4_sat_rte(double4);
   5276 long4 __ovld __cnfn convert_long4_sat_rtn(double4);
   5277 long4 __ovld __cnfn convert_long4_sat_rtp(double4);
   5278 long4 __ovld __cnfn convert_long4_sat_rtz(double4);
   5279 long8 __ovld __cnfn convert_long8(double8);
   5280 long8 __ovld __cnfn convert_long8_rte(double8);
   5281 long8 __ovld __cnfn convert_long8_rtn(double8);
   5282 long8 __ovld __cnfn convert_long8_rtp(double8);
   5283 long8 __ovld __cnfn convert_long8_rtz(double8);
   5284 long8 __ovld __cnfn convert_long8_sat(double8);
   5285 long8 __ovld __cnfn convert_long8_sat_rte(double8);
   5286 long8 __ovld __cnfn convert_long8_sat_rtn(double8);
   5287 long8 __ovld __cnfn convert_long8_sat_rtp(double8);
   5288 long8 __ovld __cnfn convert_long8_sat_rtz(double8);
   5289 long16 __ovld __cnfn convert_long16(double16);
   5290 long16 __ovld __cnfn convert_long16_rte(double16);
   5291 long16 __ovld __cnfn convert_long16_rtn(double16);
   5292 long16 __ovld __cnfn convert_long16_rtp(double16);
   5293 long16 __ovld __cnfn convert_long16_rtz(double16);
   5294 long16 __ovld __cnfn convert_long16_sat(double16);
   5295 long16 __ovld __cnfn convert_long16_sat_rte(double16);
   5296 long16 __ovld __cnfn convert_long16_sat_rtn(double16);
   5297 long16 __ovld __cnfn convert_long16_sat_rtp(double16);
   5298 long16 __ovld __cnfn convert_long16_sat_rtz(double16);
   5299 
   5300 ulong __ovld __cnfn convert_ulong(double);
   5301 ulong __ovld __cnfn convert_ulong_rte(double);
   5302 ulong __ovld __cnfn convert_ulong_rtn(double);
   5303 ulong __ovld __cnfn convert_ulong_rtp(double);
   5304 ulong __ovld __cnfn convert_ulong_rtz(double);
   5305 ulong __ovld __cnfn convert_ulong_sat(double);
   5306 ulong __ovld __cnfn convert_ulong_sat_rte(double);
   5307 ulong __ovld __cnfn convert_ulong_sat_rtn(double);
   5308 ulong __ovld __cnfn convert_ulong_sat_rtp(double);
   5309 ulong __ovld __cnfn convert_ulong_sat_rtz(double);
   5310 ulong2 __ovld __cnfn convert_ulong2(double2);
   5311 ulong2 __ovld __cnfn convert_ulong2_rte(double2);
   5312 ulong2 __ovld __cnfn convert_ulong2_rtn(double2);
   5313 ulong2 __ovld __cnfn convert_ulong2_rtp(double2);
   5314 ulong2 __ovld __cnfn convert_ulong2_rtz(double2);
   5315 ulong2 __ovld __cnfn convert_ulong2_sat(double2);
   5316 ulong2 __ovld __cnfn convert_ulong2_sat_rte(double2);
   5317 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(double2);
   5318 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(double2);
   5319 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(double2);
   5320 ulong3 __ovld __cnfn convert_ulong3(double3);
   5321 ulong3 __ovld __cnfn convert_ulong3_rte(double3);
   5322 ulong3 __ovld __cnfn convert_ulong3_rtn(double3);
   5323 ulong3 __ovld __cnfn convert_ulong3_rtp(double3);
   5324 ulong3 __ovld __cnfn convert_ulong3_rtz(double3);
   5325 ulong3 __ovld __cnfn convert_ulong3_sat(double3);
   5326 ulong3 __ovld __cnfn convert_ulong3_sat_rte(double3);
   5327 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(double3);
   5328 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(double3);
   5329 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(double3);
   5330 ulong4 __ovld __cnfn convert_ulong4(double4);
   5331 ulong4 __ovld __cnfn convert_ulong4_rte(double4);
   5332 ulong4 __ovld __cnfn convert_ulong4_rtn(double4);
   5333 ulong4 __ovld __cnfn convert_ulong4_rtp(double4);
   5334 ulong4 __ovld __cnfn convert_ulong4_rtz(double4);
   5335 ulong4 __ovld __cnfn convert_ulong4_sat(double4);
   5336 ulong4 __ovld __cnfn convert_ulong4_sat_rte(double4);
   5337 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(double4);
   5338 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(double4);
   5339 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(double4);
   5340 ulong8 __ovld __cnfn convert_ulong8(double8);
   5341 ulong8 __ovld __cnfn convert_ulong8_rte(double8);
   5342 ulong8 __ovld __cnfn convert_ulong8_rtn(double8);
   5343 ulong8 __ovld __cnfn convert_ulong8_rtp(double8);
   5344 ulong8 __ovld __cnfn convert_ulong8_rtz(double8);
   5345 ulong8 __ovld __cnfn convert_ulong8_sat(double8);
   5346 ulong8 __ovld __cnfn convert_ulong8_sat_rte(double8);
   5347 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(double8);
   5348 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(double8);
   5349 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(double8);
   5350 ulong16 __ovld __cnfn convert_ulong16(double16);
   5351 ulong16 __ovld __cnfn convert_ulong16_rte(double16);
   5352 ulong16 __ovld __cnfn convert_ulong16_rtn(double16);
   5353 ulong16 __ovld __cnfn convert_ulong16_rtp(double16);
   5354 ulong16 __ovld __cnfn convert_ulong16_rtz(double16);
   5355 ulong16 __ovld __cnfn convert_ulong16_sat(double16);
   5356 ulong16 __ovld __cnfn convert_ulong16_sat_rte(double16);
   5357 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(double16);
   5358 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(double16);
   5359 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(double16);
   5360 
   5361 float __ovld __cnfn convert_float(double);
   5362 float __ovld __cnfn convert_float_rte(double);
   5363 float __ovld __cnfn convert_float_rtn(double);
   5364 float __ovld __cnfn convert_float_rtp(double);
   5365 float __ovld __cnfn convert_float_rtz(double);
   5366 float2 __ovld __cnfn convert_float2(double2);
   5367 float2 __ovld __cnfn convert_float2_rte(double2);
   5368 float2 __ovld __cnfn convert_float2_rtn(double2);
   5369 float2 __ovld __cnfn convert_float2_rtp(double2);
   5370 float2 __ovld __cnfn convert_float2_rtz(double2);
   5371 float3 __ovld __cnfn convert_float3(double3);
   5372 float3 __ovld __cnfn convert_float3_rte(double3);
   5373 float3 __ovld __cnfn convert_float3_rtn(double3);
   5374 float3 __ovld __cnfn convert_float3_rtp(double3);
   5375 float3 __ovld __cnfn convert_float3_rtz(double3);
   5376 float4 __ovld __cnfn convert_float4(double4);
   5377 float4 __ovld __cnfn convert_float4_rte(double4);
   5378 float4 __ovld __cnfn convert_float4_rtn(double4);
   5379 float4 __ovld __cnfn convert_float4_rtp(double4);
   5380 float4 __ovld __cnfn convert_float4_rtz(double4);
   5381 float8 __ovld __cnfn convert_float8(double8);
   5382 float8 __ovld __cnfn convert_float8_rte(double8);
   5383 float8 __ovld __cnfn convert_float8_rtn(double8);
   5384 float8 __ovld __cnfn convert_float8_rtp(double8);
   5385 float8 __ovld __cnfn convert_float8_rtz(double8);
   5386 float16 __ovld __cnfn convert_float16(double16);
   5387 float16 __ovld __cnfn convert_float16_rte(double16);
   5388 float16 __ovld __cnfn convert_float16_rtn(double16);
   5389 float16 __ovld __cnfn convert_float16_rtp(double16);
   5390 float16 __ovld __cnfn convert_float16_rtz(double16);
   5391 
   5392 double __ovld __cnfn convert_double(char);
   5393 double __ovld __cnfn convert_double(double);
   5394 double __ovld __cnfn convert_double(float);
   5395 double __ovld __cnfn convert_double(int);
   5396 double __ovld __cnfn convert_double(long);
   5397 double __ovld __cnfn convert_double(short);
   5398 double __ovld __cnfn convert_double(uchar);
   5399 double __ovld __cnfn convert_double(uint);
   5400 double __ovld __cnfn convert_double(ulong);
   5401 double __ovld __cnfn convert_double(ushort);
   5402 double __ovld __cnfn convert_double_rte(char);
   5403 double __ovld __cnfn convert_double_rte(double);
   5404 double __ovld __cnfn convert_double_rte(float);
   5405 double __ovld __cnfn convert_double_rte(int);
   5406 double __ovld __cnfn convert_double_rte(long);
   5407 double __ovld __cnfn convert_double_rte(short);
   5408 double __ovld __cnfn convert_double_rte(uchar);
   5409 double __ovld __cnfn convert_double_rte(uint);
   5410 double __ovld __cnfn convert_double_rte(ulong);
   5411 double __ovld __cnfn convert_double_rte(ushort);
   5412 double __ovld __cnfn convert_double_rtn(char);
   5413 double __ovld __cnfn convert_double_rtn(double);
   5414 double __ovld __cnfn convert_double_rtn(float);
   5415 double __ovld __cnfn convert_double_rtn(int);
   5416 double __ovld __cnfn convert_double_rtn(long);
   5417 double __ovld __cnfn convert_double_rtn(short);
   5418 double __ovld __cnfn convert_double_rtn(uchar);
   5419 double __ovld __cnfn convert_double_rtn(uint);
   5420 double __ovld __cnfn convert_double_rtn(ulong);
   5421 double __ovld __cnfn convert_double_rtn(ushort);
   5422 double __ovld __cnfn convert_double_rtp(char);
   5423 double __ovld __cnfn convert_double_rtp(double);
   5424 double __ovld __cnfn convert_double_rtp(float);
   5425 double __ovld __cnfn convert_double_rtp(int);
   5426 double __ovld __cnfn convert_double_rtp(long);
   5427 double __ovld __cnfn convert_double_rtp(short);
   5428 double __ovld __cnfn convert_double_rtp(uchar);
   5429 double __ovld __cnfn convert_double_rtp(uint);
   5430 double __ovld __cnfn convert_double_rtp(ulong);
   5431 double __ovld __cnfn convert_double_rtp(ushort);
   5432 double __ovld __cnfn convert_double_rtz(char);
   5433 double __ovld __cnfn convert_double_rtz(double);
   5434 double __ovld __cnfn convert_double_rtz(float);
   5435 double __ovld __cnfn convert_double_rtz(int);
   5436 double __ovld __cnfn convert_double_rtz(long);
   5437 double __ovld __cnfn convert_double_rtz(short);
   5438 double __ovld __cnfn convert_double_rtz(uchar);
   5439 double __ovld __cnfn convert_double_rtz(uint);
   5440 double __ovld __cnfn convert_double_rtz(ulong);
   5441 double __ovld __cnfn convert_double_rtz(ushort);
   5442 double2 __ovld __cnfn convert_double2(char2);
   5443 double2 __ovld __cnfn convert_double2(double2);
   5444 double2 __ovld __cnfn convert_double2(float2);
   5445 double2 __ovld __cnfn convert_double2(int2);
   5446 double2 __ovld __cnfn convert_double2(long2);
   5447 double2 __ovld __cnfn convert_double2(short2);
   5448 double2 __ovld __cnfn convert_double2(uchar2);
   5449 double2 __ovld __cnfn convert_double2(uint2);
   5450 double2 __ovld __cnfn convert_double2(ulong2);
   5451 double2 __ovld __cnfn convert_double2(ushort2);
   5452 double2 __ovld __cnfn convert_double2_rte(char2);
   5453 double2 __ovld __cnfn convert_double2_rte(double2);
   5454 double2 __ovld __cnfn convert_double2_rte(float2);
   5455 double2 __ovld __cnfn convert_double2_rte(int2);
   5456 double2 __ovld __cnfn convert_double2_rte(long2);
   5457 double2 __ovld __cnfn convert_double2_rte(short2);
   5458 double2 __ovld __cnfn convert_double2_rte(uchar2);
   5459 double2 __ovld __cnfn convert_double2_rte(uint2);
   5460 double2 __ovld __cnfn convert_double2_rte(ulong2);
   5461 double2 __ovld __cnfn convert_double2_rte(ushort2);
   5462 double2 __ovld __cnfn convert_double2_rtn(char2);
   5463 double2 __ovld __cnfn convert_double2_rtn(double2);
   5464 double2 __ovld __cnfn convert_double2_rtn(float2);
   5465 double2 __ovld __cnfn convert_double2_rtn(int2);
   5466 double2 __ovld __cnfn convert_double2_rtn(long2);
   5467 double2 __ovld __cnfn convert_double2_rtn(short2);
   5468 double2 __ovld __cnfn convert_double2_rtn(uchar2);
   5469 double2 __ovld __cnfn convert_double2_rtn(uint2);
   5470 double2 __ovld __cnfn convert_double2_rtn(ulong2);
   5471 double2 __ovld __cnfn convert_double2_rtn(ushort2);
   5472 double2 __ovld __cnfn convert_double2_rtp(char2);
   5473 double2 __ovld __cnfn convert_double2_rtp(double2);
   5474 double2 __ovld __cnfn convert_double2_rtp(float2);
   5475 double2 __ovld __cnfn convert_double2_rtp(int2);
   5476 double2 __ovld __cnfn convert_double2_rtp(long2);
   5477 double2 __ovld __cnfn convert_double2_rtp(short2);
   5478 double2 __ovld __cnfn convert_double2_rtp(uchar2);
   5479 double2 __ovld __cnfn convert_double2_rtp(uint2);
   5480 double2 __ovld __cnfn convert_double2_rtp(ulong2);
   5481 double2 __ovld __cnfn convert_double2_rtp(ushort2);
   5482 double2 __ovld __cnfn convert_double2_rtz(char2);
   5483 double2 __ovld __cnfn convert_double2_rtz(double2);
   5484 double2 __ovld __cnfn convert_double2_rtz(float2);
   5485 double2 __ovld __cnfn convert_double2_rtz(int2);
   5486 double2 __ovld __cnfn convert_double2_rtz(long2);
   5487 double2 __ovld __cnfn convert_double2_rtz(short2);
   5488 double2 __ovld __cnfn convert_double2_rtz(uchar2);
   5489 double2 __ovld __cnfn convert_double2_rtz(uint2);
   5490 double2 __ovld __cnfn convert_double2_rtz(ulong2);
   5491 double2 __ovld __cnfn convert_double2_rtz(ushort2);
   5492 double3 __ovld __cnfn convert_double3(char3);
   5493 double3 __ovld __cnfn convert_double3(double3);
   5494 double3 __ovld __cnfn convert_double3(float3);
   5495 double3 __ovld __cnfn convert_double3(int3);
   5496 double3 __ovld __cnfn convert_double3(long3);
   5497 double3 __ovld __cnfn convert_double3(short3);
   5498 double3 __ovld __cnfn convert_double3(uchar3);
   5499 double3 __ovld __cnfn convert_double3(uint3);
   5500 double3 __ovld __cnfn convert_double3(ulong3);
   5501 double3 __ovld __cnfn convert_double3(ushort3);
   5502 double3 __ovld __cnfn convert_double3_rte(char3);
   5503 double3 __ovld __cnfn convert_double3_rte(double3);
   5504 double3 __ovld __cnfn convert_double3_rte(float3);
   5505 double3 __ovld __cnfn convert_double3_rte(int3);
   5506 double3 __ovld __cnfn convert_double3_rte(long3);
   5507 double3 __ovld __cnfn convert_double3_rte(short3);
   5508 double3 __ovld __cnfn convert_double3_rte(uchar3);
   5509 double3 __ovld __cnfn convert_double3_rte(uint3);
   5510 double3 __ovld __cnfn convert_double3_rte(ulong3);
   5511 double3 __ovld __cnfn convert_double3_rte(ushort3);
   5512 double3 __ovld __cnfn convert_double3_rtn(char3);
   5513 double3 __ovld __cnfn convert_double3_rtn(double3);
   5514 double3 __ovld __cnfn convert_double3_rtn(float3);
   5515 double3 __ovld __cnfn convert_double3_rtn(int3);
   5516 double3 __ovld __cnfn convert_double3_rtn(long3);
   5517 double3 __ovld __cnfn convert_double3_rtn(short3);
   5518 double3 __ovld __cnfn convert_double3_rtn(uchar3);
   5519 double3 __ovld __cnfn convert_double3_rtn(uint3);
   5520 double3 __ovld __cnfn convert_double3_rtn(ulong3);
   5521 double3 __ovld __cnfn convert_double3_rtn(ushort3);
   5522 double3 __ovld __cnfn convert_double3_rtp(char3);
   5523 double3 __ovld __cnfn convert_double3_rtp(double3);
   5524 double3 __ovld __cnfn convert_double3_rtp(float3);
   5525 double3 __ovld __cnfn convert_double3_rtp(int3);
   5526 double3 __ovld __cnfn convert_double3_rtp(long3);
   5527 double3 __ovld __cnfn convert_double3_rtp(short3);
   5528 double3 __ovld __cnfn convert_double3_rtp(uchar3);
   5529 double3 __ovld __cnfn convert_double3_rtp(uint3);
   5530 double3 __ovld __cnfn convert_double3_rtp(ulong3);
   5531 double3 __ovld __cnfn convert_double3_rtp(ushort3);
   5532 double3 __ovld __cnfn convert_double3_rtz(char3);
   5533 double3 __ovld __cnfn convert_double3_rtz(double3);
   5534 double3 __ovld __cnfn convert_double3_rtz(float3);
   5535 double3 __ovld __cnfn convert_double3_rtz(int3);
   5536 double3 __ovld __cnfn convert_double3_rtz(long3);
   5537 double3 __ovld __cnfn convert_double3_rtz(short3);
   5538 double3 __ovld __cnfn convert_double3_rtz(uchar3);
   5539 double3 __ovld __cnfn convert_double3_rtz(uint3);
   5540 double3 __ovld __cnfn convert_double3_rtz(ulong3);
   5541 double3 __ovld __cnfn convert_double3_rtz(ushort3);
   5542 double4 __ovld __cnfn convert_double4(char4);
   5543 double4 __ovld __cnfn convert_double4(double4);
   5544 double4 __ovld __cnfn convert_double4(float4);
   5545 double4 __ovld __cnfn convert_double4(int4);
   5546 double4 __ovld __cnfn convert_double4(long4);
   5547 double4 __ovld __cnfn convert_double4(short4);
   5548 double4 __ovld __cnfn convert_double4(uchar4);
   5549 double4 __ovld __cnfn convert_double4(uint4);
   5550 double4 __ovld __cnfn convert_double4(ulong4);
   5551 double4 __ovld __cnfn convert_double4(ushort4);
   5552 double4 __ovld __cnfn convert_double4_rte(char4);
   5553 double4 __ovld __cnfn convert_double4_rte(double4);
   5554 double4 __ovld __cnfn convert_double4_rte(float4);
   5555 double4 __ovld __cnfn convert_double4_rte(int4);
   5556 double4 __ovld __cnfn convert_double4_rte(long4);
   5557 double4 __ovld __cnfn convert_double4_rte(short4);
   5558 double4 __ovld __cnfn convert_double4_rte(uchar4);
   5559 double4 __ovld __cnfn convert_double4_rte(uint4);
   5560 double4 __ovld __cnfn convert_double4_rte(ulong4);
   5561 double4 __ovld __cnfn convert_double4_rte(ushort4);
   5562 double4 __ovld __cnfn convert_double4_rtn(char4);
   5563 double4 __ovld __cnfn convert_double4_rtn(double4);
   5564 double4 __ovld __cnfn convert_double4_rtn(float4);
   5565 double4 __ovld __cnfn convert_double4_rtn(int4);
   5566 double4 __ovld __cnfn convert_double4_rtn(long4);
   5567 double4 __ovld __cnfn convert_double4_rtn(short4);
   5568 double4 __ovld __cnfn convert_double4_rtn(uchar4);
   5569 double4 __ovld __cnfn convert_double4_rtn(uint4);
   5570 double4 __ovld __cnfn convert_double4_rtn(ulong4);
   5571 double4 __ovld __cnfn convert_double4_rtn(ushort4);
   5572 double4 __ovld __cnfn convert_double4_rtp(char4);
   5573 double4 __ovld __cnfn convert_double4_rtp(double4);
   5574 double4 __ovld __cnfn convert_double4_rtp(float4);
   5575 double4 __ovld __cnfn convert_double4_rtp(int4);
   5576 double4 __ovld __cnfn convert_double4_rtp(long4);
   5577 double4 __ovld __cnfn convert_double4_rtp(short4);
   5578 double4 __ovld __cnfn convert_double4_rtp(uchar4);
   5579 double4 __ovld __cnfn convert_double4_rtp(uint4);
   5580 double4 __ovld __cnfn convert_double4_rtp(ulong4);
   5581 double4 __ovld __cnfn convert_double4_rtp(ushort4);
   5582 double4 __ovld __cnfn convert_double4_rtz(char4);
   5583 double4 __ovld __cnfn convert_double4_rtz(double4);
   5584 double4 __ovld __cnfn convert_double4_rtz(float4);
   5585 double4 __ovld __cnfn convert_double4_rtz(int4);
   5586 double4 __ovld __cnfn convert_double4_rtz(long4);
   5587 double4 __ovld __cnfn convert_double4_rtz(short4);
   5588 double4 __ovld __cnfn convert_double4_rtz(uchar4);
   5589 double4 __ovld __cnfn convert_double4_rtz(uint4);
   5590 double4 __ovld __cnfn convert_double4_rtz(ulong4);
   5591 double4 __ovld __cnfn convert_double4_rtz(ushort4);
   5592 double8 __ovld __cnfn convert_double8(char8);
   5593 double8 __ovld __cnfn convert_double8(double8);
   5594 double8 __ovld __cnfn convert_double8(float8);
   5595 double8 __ovld __cnfn convert_double8(int8);
   5596 double8 __ovld __cnfn convert_double8(long8);
   5597 double8 __ovld __cnfn convert_double8(short8);
   5598 double8 __ovld __cnfn convert_double8(uchar8);
   5599 double8 __ovld __cnfn convert_double8(uint8);
   5600 double8 __ovld __cnfn convert_double8(ulong8);
   5601 double8 __ovld __cnfn convert_double8(ushort8);
   5602 double8 __ovld __cnfn convert_double8_rte(char8);
   5603 double8 __ovld __cnfn convert_double8_rte(double8);
   5604 double8 __ovld __cnfn convert_double8_rte(float8);
   5605 double8 __ovld __cnfn convert_double8_rte(int8);
   5606 double8 __ovld __cnfn convert_double8_rte(long8);
   5607 double8 __ovld __cnfn convert_double8_rte(short8);
   5608 double8 __ovld __cnfn convert_double8_rte(uchar8);
   5609 double8 __ovld __cnfn convert_double8_rte(uint8);
   5610 double8 __ovld __cnfn convert_double8_rte(ulong8);
   5611 double8 __ovld __cnfn convert_double8_rte(ushort8);
   5612 double8 __ovld __cnfn convert_double8_rtn(char8);
   5613 double8 __ovld __cnfn convert_double8_rtn(double8);
   5614 double8 __ovld __cnfn convert_double8_rtn(float8);
   5615 double8 __ovld __cnfn convert_double8_rtn(int8);
   5616 double8 __ovld __cnfn convert_double8_rtn(long8);
   5617 double8 __ovld __cnfn convert_double8_rtn(short8);
   5618 double8 __ovld __cnfn convert_double8_rtn(uchar8);
   5619 double8 __ovld __cnfn convert_double8_rtn(uint8);
   5620 double8 __ovld __cnfn convert_double8_rtn(ulong8);
   5621 double8 __ovld __cnfn convert_double8_rtn(ushort8);
   5622 double8 __ovld __cnfn convert_double8_rtp(char8);
   5623 double8 __ovld __cnfn convert_double8_rtp(double8);
   5624 double8 __ovld __cnfn convert_double8_rtp(float8);
   5625 double8 __ovld __cnfn convert_double8_rtp(int8);
   5626 double8 __ovld __cnfn convert_double8_rtp(long8);
   5627 double8 __ovld __cnfn convert_double8_rtp(short8);
   5628 double8 __ovld __cnfn convert_double8_rtp(uchar8);
   5629 double8 __ovld __cnfn convert_double8_rtp(uint8);
   5630 double8 __ovld __cnfn convert_double8_rtp(ulong8);
   5631 double8 __ovld __cnfn convert_double8_rtp(ushort8);
   5632 double8 __ovld __cnfn convert_double8_rtz(char8);
   5633 double8 __ovld __cnfn convert_double8_rtz(double8);
   5634 double8 __ovld __cnfn convert_double8_rtz(float8);
   5635 double8 __ovld __cnfn convert_double8_rtz(int8);
   5636 double8 __ovld __cnfn convert_double8_rtz(long8);
   5637 double8 __ovld __cnfn convert_double8_rtz(short8);
   5638 double8 __ovld __cnfn convert_double8_rtz(uchar8);
   5639 double8 __ovld __cnfn convert_double8_rtz(uint8);
   5640 double8 __ovld __cnfn convert_double8_rtz(ulong8);
   5641 double8 __ovld __cnfn convert_double8_rtz(ushort8);
   5642 double16 __ovld __cnfn convert_double16(char16);
   5643 double16 __ovld __cnfn convert_double16(double16);
   5644 double16 __ovld __cnfn convert_double16(float16);
   5645 double16 __ovld __cnfn convert_double16(int16);
   5646 double16 __ovld __cnfn convert_double16(long16);
   5647 double16 __ovld __cnfn convert_double16(short16);
   5648 double16 __ovld __cnfn convert_double16(uchar16);
   5649 double16 __ovld __cnfn convert_double16(uint16);
   5650 double16 __ovld __cnfn convert_double16(ulong16);
   5651 double16 __ovld __cnfn convert_double16(ushort16);
   5652 double16 __ovld __cnfn convert_double16_rte(char16);
   5653 double16 __ovld __cnfn convert_double16_rte(double16);
   5654 double16 __ovld __cnfn convert_double16_rte(float16);
   5655 double16 __ovld __cnfn convert_double16_rte(int16);
   5656 double16 __ovld __cnfn convert_double16_rte(long16);
   5657 double16 __ovld __cnfn convert_double16_rte(short16);
   5658 double16 __ovld __cnfn convert_double16_rte(uchar16);
   5659 double16 __ovld __cnfn convert_double16_rte(uint16);
   5660 double16 __ovld __cnfn convert_double16_rte(ulong16);
   5661 double16 __ovld __cnfn convert_double16_rte(ushort16);
   5662 double16 __ovld __cnfn convert_double16_rtn(char16);
   5663 double16 __ovld __cnfn convert_double16_rtn(double16);
   5664 double16 __ovld __cnfn convert_double16_rtn(float16);
   5665 double16 __ovld __cnfn convert_double16_rtn(int16);
   5666 double16 __ovld __cnfn convert_double16_rtn(long16);
   5667 double16 __ovld __cnfn convert_double16_rtn(short16);
   5668 double16 __ovld __cnfn convert_double16_rtn(uchar16);
   5669 double16 __ovld __cnfn convert_double16_rtn(uint16);
   5670 double16 __ovld __cnfn convert_double16_rtn(ulong16);
   5671 double16 __ovld __cnfn convert_double16_rtn(ushort16);
   5672 double16 __ovld __cnfn convert_double16_rtp(char16);
   5673 double16 __ovld __cnfn convert_double16_rtp(double16);
   5674 double16 __ovld __cnfn convert_double16_rtp(float16);
   5675 double16 __ovld __cnfn convert_double16_rtp(int16);
   5676 double16 __ovld __cnfn convert_double16_rtp(long16);
   5677 double16 __ovld __cnfn convert_double16_rtp(short16);
   5678 double16 __ovld __cnfn convert_double16_rtp(uchar16);
   5679 double16 __ovld __cnfn convert_double16_rtp(uint16);
   5680 double16 __ovld __cnfn convert_double16_rtp(ulong16);
   5681 double16 __ovld __cnfn convert_double16_rtp(ushort16);
   5682 double16 __ovld __cnfn convert_double16_rtz(char16);
   5683 double16 __ovld __cnfn convert_double16_rtz(double16);
   5684 double16 __ovld __cnfn convert_double16_rtz(float16);
   5685 double16 __ovld __cnfn convert_double16_rtz(int16);
   5686 double16 __ovld __cnfn convert_double16_rtz(long16);
   5687 double16 __ovld __cnfn convert_double16_rtz(short16);
   5688 double16 __ovld __cnfn convert_double16_rtz(uchar16);
   5689 double16 __ovld __cnfn convert_double16_rtz(uint16);
   5690 double16 __ovld __cnfn convert_double16_rtz(ulong16);
   5691 double16 __ovld __cnfn convert_double16_rtz(ushort16);
   5692 #endif //cl_khr_fp64
   5693 
   5694 #ifdef cl_khr_fp16
   5695 // Convert half types to non-double types.
   5696 uchar __ovld __cnfn convert_uchar(half);
   5697 uchar __ovld __cnfn convert_uchar_rte(half);
   5698 uchar __ovld __cnfn convert_uchar_rtp(half);
   5699 uchar __ovld __cnfn convert_uchar_rtn(half);
   5700 uchar __ovld __cnfn convert_uchar_rtz(half);
   5701 uchar __ovld __cnfn convert_uchar_sat(half);
   5702 uchar __ovld __cnfn convert_uchar_sat_rte(half);
   5703 uchar __ovld __cnfn convert_uchar_sat_rtp(half);
   5704 uchar __ovld __cnfn convert_uchar_sat_rtn(half);
   5705 uchar __ovld __cnfn convert_uchar_sat_rtz(half);
   5706 uchar2 __ovld __cnfn convert_uchar2(half2);
   5707 uchar2 __ovld __cnfn convert_uchar2_rte(half2);
   5708 uchar2 __ovld __cnfn convert_uchar2_rtp(half2);
   5709 uchar2 __ovld __cnfn convert_uchar2_rtn(half2);
   5710 uchar2 __ovld __cnfn convert_uchar2_rtz(half2);
   5711 uchar2 __ovld __cnfn convert_uchar2_sat(half2);
   5712 uchar2 __ovld __cnfn convert_uchar2_sat_rte(half2);
   5713 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(half2);
   5714 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(half2);
   5715 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(half2);
   5716 uchar3 __ovld __cnfn convert_uchar3(half3);
   5717 uchar3 __ovld __cnfn convert_uchar3_rte(half3);
   5718 uchar3 __ovld __cnfn convert_uchar3_rtp(half3);
   5719 uchar3 __ovld __cnfn convert_uchar3_rtn(half3);
   5720 uchar3 __ovld __cnfn convert_uchar3_rtz(half3);
   5721 uchar3 __ovld __cnfn convert_uchar3_sat(half3);
   5722 uchar3 __ovld __cnfn convert_uchar3_sat_rte(half3);
   5723 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(half3);
   5724 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(half3);
   5725 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(half3);
   5726 uchar4 __ovld __cnfn convert_uchar4(half4);
   5727 uchar4 __ovld __cnfn convert_uchar4_rte(half4);
   5728 uchar4 __ovld __cnfn convert_uchar4_rtp(half4);
   5729 uchar4 __ovld __cnfn convert_uchar4_rtn(half4);
   5730 uchar4 __ovld __cnfn convert_uchar4_rtz(half4);
   5731 uchar4 __ovld __cnfn convert_uchar4_sat(half4);
   5732 uchar4 __ovld __cnfn convert_uchar4_sat_rte(half4);
   5733 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(half4);
   5734 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(half4);
   5735 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(half4);
   5736 uchar8 __ovld __cnfn convert_uchar8(half8);
   5737 uchar8 __ovld __cnfn convert_uchar8_rte(half8);
   5738 uchar8 __ovld __cnfn convert_uchar8_rtp(half8);
   5739 uchar8 __ovld __cnfn convert_uchar8_rtn(half8);
   5740 uchar8 __ovld __cnfn convert_uchar8_rtz(half8);
   5741 uchar8 __ovld __cnfn convert_uchar8_sat(half8);
   5742 uchar8 __ovld __cnfn convert_uchar8_sat_rte(half8);
   5743 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(half8);
   5744 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(half8);
   5745 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(half8);
   5746 uchar16 __ovld __cnfn convert_uchar16(half16);
   5747 uchar16 __ovld __cnfn convert_uchar16_rte(half16);
   5748 uchar16 __ovld __cnfn convert_uchar16_rtp(half16);
   5749 uchar16 __ovld __cnfn convert_uchar16_rtn(half16);
   5750 uchar16 __ovld __cnfn convert_uchar16_rtz(half16);
   5751 uchar16 __ovld __cnfn convert_uchar16_sat(half16);
   5752 uchar16 __ovld __cnfn convert_uchar16_sat_rte(half16);
   5753 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(half16);
   5754 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(half16);
   5755 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(half16);
   5756 ushort __ovld __cnfn convert_ushort(half);
   5757 ushort __ovld __cnfn convert_ushort_rte(half);
   5758 ushort __ovld __cnfn convert_ushort_rtp(half);
   5759 ushort __ovld __cnfn convert_ushort_rtn(half);
   5760 ushort __ovld __cnfn convert_ushort_rtz(half);
   5761 ushort __ovld __cnfn convert_ushort_sat(half);
   5762 ushort __ovld __cnfn convert_ushort_sat_rte(half);
   5763 ushort __ovld __cnfn convert_ushort_sat_rtp(half);
   5764 ushort __ovld __cnfn convert_ushort_sat_rtn(half);
   5765 ushort __ovld __cnfn convert_ushort_sat_rtz(half);
   5766 ushort2 __ovld __cnfn convert_ushort2(half2);
   5767 ushort2 __ovld __cnfn convert_ushort2_rte(half2);
   5768 ushort2 __ovld __cnfn convert_ushort2_rtp(half2);
   5769 ushort2 __ovld __cnfn convert_ushort2_rtn(half2);
   5770 ushort2 __ovld __cnfn convert_ushort2_rtz(half2);
   5771 ushort2 __ovld __cnfn convert_ushort2_sat(half2);
   5772 ushort2 __ovld __cnfn convert_ushort2_sat_rte(half2);
   5773 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(half2);
   5774 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(half2);
   5775 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(half2);
   5776 ushort3 __ovld __cnfn convert_ushort3(half3);
   5777 ushort3 __ovld __cnfn convert_ushort3_rte(half3);
   5778 ushort3 __ovld __cnfn convert_ushort3_rtp(half3);
   5779 ushort3 __ovld __cnfn convert_ushort3_rtn(half3);
   5780 ushort3 __ovld __cnfn convert_ushort3_rtz(half3);
   5781 ushort3 __ovld __cnfn convert_ushort3_sat(half3);
   5782 ushort3 __ovld __cnfn convert_ushort3_sat_rte(half3);
   5783 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(half3);
   5784 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(half3);
   5785 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(half3);
   5786 ushort4 __ovld __cnfn convert_ushort4(half4);
   5787 ushort4 __ovld __cnfn convert_ushort4_rte(half4);
   5788 ushort4 __ovld __cnfn convert_ushort4_rtp(half4);
   5789 ushort4 __ovld __cnfn convert_ushort4_rtn(half4);
   5790 ushort4 __ovld __cnfn convert_ushort4_rtz(half4);
   5791 ushort4 __ovld __cnfn convert_ushort4_sat(half4);
   5792 ushort4 __ovld __cnfn convert_ushort4_sat_rte(half4);
   5793 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(half4);
   5794 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(half4);
   5795 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(half4);
   5796 ushort8 __ovld __cnfn convert_ushort8(half8);
   5797 ushort8 __ovld __cnfn convert_ushort8_rte(half8);
   5798 ushort8 __ovld __cnfn convert_ushort8_rtp(half8);
   5799 ushort8 __ovld __cnfn convert_ushort8_rtn(half8);
   5800 ushort8 __ovld __cnfn convert_ushort8_rtz(half8);
   5801 ushort8 __ovld __cnfn convert_ushort8_sat(half8);
   5802 ushort8 __ovld __cnfn convert_ushort8_sat_rte(half8);
   5803 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(half8);
   5804 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(half8);
   5805 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(half8);
   5806 ushort16 __ovld __cnfn convert_ushort16(half16);
   5807 ushort16 __ovld __cnfn convert_ushort16_rte(half16);
   5808 ushort16 __ovld __cnfn convert_ushort16_rtp(half16);
   5809 ushort16 __ovld __cnfn convert_ushort16_rtn(half16);
   5810 ushort16 __ovld __cnfn convert_ushort16_rtz(half16);
   5811 ushort16 __ovld __cnfn convert_ushort16_sat(half16);
   5812 ushort16 __ovld __cnfn convert_ushort16_sat_rte(half16);
   5813 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(half16);
   5814 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(half16);
   5815 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(half16);
   5816 uint __ovld __cnfn convert_uint(half);
   5817 uint __ovld __cnfn convert_uint_rte(half);
   5818 uint __ovld __cnfn convert_uint_rtp(half);
   5819 uint __ovld __cnfn convert_uint_rtn(half);
   5820 uint __ovld __cnfn convert_uint_rtz(half);
   5821 uint __ovld __cnfn convert_uint_sat(half);
   5822 uint __ovld __cnfn convert_uint_sat_rte(half);
   5823 uint __ovld __cnfn convert_uint_sat_rtp(half);
   5824 uint __ovld __cnfn convert_uint_sat_rtn(half);
   5825 uint __ovld __cnfn convert_uint_sat_rtz(half);
   5826 uint2 __ovld __cnfn convert_uint2(half2);
   5827 uint2 __ovld __cnfn convert_uint2_rte(half2);
   5828 uint2 __ovld __cnfn convert_uint2_rtp(half2);
   5829 uint2 __ovld __cnfn convert_uint2_rtn(half2);
   5830 uint2 __ovld __cnfn convert_uint2_rtz(half2);
   5831 uint2 __ovld __cnfn convert_uint2_sat(half2);
   5832 uint2 __ovld __cnfn convert_uint2_sat_rte(half2);
   5833 uint2 __ovld __cnfn convert_uint2_sat_rtp(half2);
   5834 uint2 __ovld __cnfn convert_uint2_sat_rtn(half2);
   5835 uint2 __ovld __cnfn convert_uint2_sat_rtz(half2);
   5836 uint3 __ovld __cnfn convert_uint3(half3);
   5837 uint3 __ovld __cnfn convert_uint3_rte(half3);
   5838 uint3 __ovld __cnfn convert_uint3_rtp(half3);
   5839 uint3 __ovld __cnfn convert_uint3_rtn(half3);
   5840 uint3 __ovld __cnfn convert_uint3_rtz(half3);
   5841 uint3 __ovld __cnfn convert_uint3_sat(half3);
   5842 uint3 __ovld __cnfn convert_uint3_sat_rte(half3);
   5843 uint3 __ovld __cnfn convert_uint3_sat_rtp(half3);
   5844 uint3 __ovld __cnfn convert_uint3_sat_rtn(half3);
   5845 uint3 __ovld __cnfn convert_uint3_sat_rtz(half3);
   5846 uint4 __ovld __cnfn convert_uint4(half4);
   5847 uint4 __ovld __cnfn convert_uint4_rte(half4);
   5848 uint4 __ovld __cnfn convert_uint4_rtp(half4);
   5849 uint4 __ovld __cnfn convert_uint4_rtn(half4);
   5850 uint4 __ovld __cnfn convert_uint4_rtz(half4);
   5851 uint4 __ovld __cnfn convert_uint4_sat(half4);
   5852 uint4 __ovld __cnfn convert_uint4_sat_rte(half4);
   5853 uint4 __ovld __cnfn convert_uint4_sat_rtp(half4);
   5854 uint4 __ovld __cnfn convert_uint4_sat_rtn(half4);
   5855 uint4 __ovld __cnfn convert_uint4_sat_rtz(half4);
   5856 uint8 __ovld __cnfn convert_uint8(half8);
   5857 uint8 __ovld __cnfn convert_uint8_rte(half8);
   5858 uint8 __ovld __cnfn convert_uint8_rtp(half8);
   5859 uint8 __ovld __cnfn convert_uint8_rtn(half8);
   5860 uint8 __ovld __cnfn convert_uint8_rtz(half8);
   5861 uint8 __ovld __cnfn convert_uint8_sat(half8);
   5862 uint8 __ovld __cnfn convert_uint8_sat_rte(half8);
   5863 uint8 __ovld __cnfn convert_uint8_sat_rtp(half8);
   5864 uint8 __ovld __cnfn convert_uint8_sat_rtn(half8);
   5865 uint8 __ovld __cnfn convert_uint8_sat_rtz(half8);
   5866 uint16 __ovld __cnfn convert_uint16(half16);
   5867 uint16 __ovld __cnfn convert_uint16_rte(half16);
   5868 uint16 __ovld __cnfn convert_uint16_rtp(half16);
   5869 uint16 __ovld __cnfn convert_uint16_rtn(half16);
   5870 uint16 __ovld __cnfn convert_uint16_rtz(half16);
   5871 uint16 __ovld __cnfn convert_uint16_sat(half16);
   5872 uint16 __ovld __cnfn convert_uint16_sat_rte(half16);
   5873 uint16 __ovld __cnfn convert_uint16_sat_rtp(half16);
   5874 uint16 __ovld __cnfn convert_uint16_sat_rtn(half16);
   5875 uint16 __ovld __cnfn convert_uint16_sat_rtz(half16);
   5876 ulong __ovld __cnfn convert_ulong(half);
   5877 ulong __ovld __cnfn convert_ulong_rte(half);
   5878 ulong __ovld __cnfn convert_ulong_rtp(half);
   5879 ulong __ovld __cnfn convert_ulong_rtn(half);
   5880 ulong __ovld __cnfn convert_ulong_rtz(half);
   5881 ulong __ovld __cnfn convert_ulong_sat(half);
   5882 ulong __ovld __cnfn convert_ulong_sat_rte(half);
   5883 ulong __ovld __cnfn convert_ulong_sat_rtp(half);
   5884 ulong __ovld __cnfn convert_ulong_sat_rtn(half);
   5885 ulong __ovld __cnfn convert_ulong_sat_rtz(half);
   5886 ulong2 __ovld __cnfn convert_ulong2(half2);
   5887 ulong2 __ovld __cnfn convert_ulong2_rte(half2);
   5888 ulong2 __ovld __cnfn convert_ulong2_rtp(half2);
   5889 ulong2 __ovld __cnfn convert_ulong2_rtn(half2);
   5890 ulong2 __ovld __cnfn convert_ulong2_rtz(half2);
   5891 ulong2 __ovld __cnfn convert_ulong2_sat(half2);
   5892 ulong2 __ovld __cnfn convert_ulong2_sat_rte(half2);
   5893 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(half2);
   5894 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(half2);
   5895 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(half2);
   5896 ulong3 __ovld __cnfn convert_ulong3(half3);
   5897 ulong3 __ovld __cnfn convert_ulong3_rte(half3);
   5898 ulong3 __ovld __cnfn convert_ulong3_rtp(half3);
   5899 ulong3 __ovld __cnfn convert_ulong3_rtn(half3);
   5900 ulong3 __ovld __cnfn convert_ulong3_rtz(half3);
   5901 ulong3 __ovld __cnfn convert_ulong3_sat(half3);
   5902 ulong3 __ovld __cnfn convert_ulong3_sat_rte(half3);
   5903 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(half3);
   5904 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(half3);
   5905 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(half3);
   5906 ulong4 __ovld __cnfn convert_ulong4(half4);
   5907 ulong4 __ovld __cnfn convert_ulong4_rte(half4);
   5908 ulong4 __ovld __cnfn convert_ulong4_rtp(half4);
   5909 ulong4 __ovld __cnfn convert_ulong4_rtn(half4);
   5910 ulong4 __ovld __cnfn convert_ulong4_rtz(half4);
   5911 ulong4 __ovld __cnfn convert_ulong4_sat(half4);
   5912 ulong4 __ovld __cnfn convert_ulong4_sat_rte(half4);
   5913 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(half4);
   5914 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(half4);
   5915 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(half4);
   5916 ulong8 __ovld __cnfn convert_ulong8(half8);
   5917 ulong8 __ovld __cnfn convert_ulong8_rte(half8);
   5918 ulong8 __ovld __cnfn convert_ulong8_rtp(half8);
   5919 ulong8 __ovld __cnfn convert_ulong8_rtn(half8);
   5920 ulong8 __ovld __cnfn convert_ulong8_rtz(half8);
   5921 ulong8 __ovld __cnfn convert_ulong8_sat(half8);
   5922 ulong8 __ovld __cnfn convert_ulong8_sat_rte(half8);
   5923 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(half8);
   5924 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(half8);
   5925 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(half8);
   5926 ulong16 __ovld __cnfn convert_ulong16(half16);
   5927 ulong16 __ovld __cnfn convert_ulong16_rte(half16);
   5928 ulong16 __ovld __cnfn convert_ulong16_rtp(half16);
   5929 ulong16 __ovld __cnfn convert_ulong16_rtn(half16);
   5930 ulong16 __ovld __cnfn convert_ulong16_rtz(half16);
   5931 ulong16 __ovld __cnfn convert_ulong16_sat(half16);
   5932 ulong16 __ovld __cnfn convert_ulong16_sat_rte(half16);
   5933 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(half16);
   5934 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(half16);
   5935 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(half16);
   5936 char __ovld __cnfn convert_char(half);
   5937 char __ovld __cnfn convert_char_rte(half);
   5938 char __ovld __cnfn convert_char_rtp(half);
   5939 char __ovld __cnfn convert_char_rtn(half);
   5940 char __ovld __cnfn convert_char_rtz(half);
   5941 char __ovld __cnfn convert_char_sat(half);
   5942 char __ovld __cnfn convert_char_sat_rte(half);
   5943 char __ovld __cnfn convert_char_sat_rtp(half);
   5944 char __ovld __cnfn convert_char_sat_rtn(half);
   5945 char __ovld __cnfn convert_char_sat_rtz(half);
   5946 char2 __ovld __cnfn convert_char2(half2);
   5947 char2 __ovld __cnfn convert_char2_rte(half2);
   5948 char2 __ovld __cnfn convert_char2_rtp(half2);
   5949 char2 __ovld __cnfn convert_char2_rtn(half2);
   5950 char2 __ovld __cnfn convert_char2_rtz(half2);
   5951 char2 __ovld __cnfn convert_char2_sat(half2);
   5952 char2 __ovld __cnfn convert_char2_sat_rte(half2);
   5953 char2 __ovld __cnfn convert_char2_sat_rtp(half2);
   5954 char2 __ovld __cnfn convert_char2_sat_rtn(half2);
   5955 char2 __ovld __cnfn convert_char2_sat_rtz(half2);
   5956 char3 __ovld __cnfn convert_char3(half3);
   5957 char3 __ovld __cnfn convert_char3_rte(half3);
   5958 char3 __ovld __cnfn convert_char3_rtp(half3);
   5959 char3 __ovld __cnfn convert_char3_rtn(half3);
   5960 char3 __ovld __cnfn convert_char3_rtz(half3);
   5961 char3 __ovld __cnfn convert_char3_sat(half3);
   5962 char3 __ovld __cnfn convert_char3_sat_rte(half3);
   5963 char3 __ovld __cnfn convert_char3_sat_rtp(half3);
   5964 char3 __ovld __cnfn convert_char3_sat_rtn(half3);
   5965 char3 __ovld __cnfn convert_char3_sat_rtz(half3);
   5966 char4 __ovld __cnfn convert_char4(half4);
   5967 char4 __ovld __cnfn convert_char4_rte(half4);
   5968 char4 __ovld __cnfn convert_char4_rtp(half4);
   5969 char4 __ovld __cnfn convert_char4_rtn(half4);
   5970 char4 __ovld __cnfn convert_char4_rtz(half4);
   5971 char4 __ovld __cnfn convert_char4_sat(half4);
   5972 char4 __ovld __cnfn convert_char4_sat_rte(half4);
   5973 char4 __ovld __cnfn convert_char4_sat_rtp(half4);
   5974 char4 __ovld __cnfn convert_char4_sat_rtn(half4);
   5975 char4 __ovld __cnfn convert_char4_sat_rtz(half4);
   5976 char8 __ovld __cnfn convert_char8(half8);
   5977 char8 __ovld __cnfn convert_char8_rte(half8);
   5978 char8 __ovld __cnfn convert_char8_rtp(half8);
   5979 char8 __ovld __cnfn convert_char8_rtn(half8);
   5980 char8 __ovld __cnfn convert_char8_rtz(half8);
   5981 char8 __ovld __cnfn convert_char8_sat(half8);
   5982 char8 __ovld __cnfn convert_char8_sat_rte(half8);
   5983 char8 __ovld __cnfn convert_char8_sat_rtp(half8);
   5984 char8 __ovld __cnfn convert_char8_sat_rtn(half8);
   5985 char8 __ovld __cnfn convert_char8_sat_rtz(half8);
   5986 char16 __ovld __cnfn convert_char16(half16);
   5987 char16 __ovld __cnfn convert_char16_rte(half16);
   5988 char16 __ovld __cnfn convert_char16_rtp(half16);
   5989 char16 __ovld __cnfn convert_char16_rtn(half16);
   5990 char16 __ovld __cnfn convert_char16_rtz(half16);
   5991 char16 __ovld __cnfn convert_char16_sat(half16);
   5992 char16 __ovld __cnfn convert_char16_sat_rte(half16);
   5993 char16 __ovld __cnfn convert_char16_sat_rtp(half16);
   5994 char16 __ovld __cnfn convert_char16_sat_rtn(half16);
   5995 char16 __ovld __cnfn convert_char16_sat_rtz(half16);
   5996 short __ovld __cnfn convert_short(half);
   5997 short __ovld __cnfn convert_short_rte(half);
   5998 short __ovld __cnfn convert_short_rtp(half);
   5999 short __ovld __cnfn convert_short_rtn(half);
   6000 short __ovld __cnfn convert_short_rtz(half);
   6001 short __ovld __cnfn convert_short_sat(half);
   6002 short __ovld __cnfn convert_short_sat_rte(half);
   6003 short __ovld __cnfn convert_short_sat_rtp(half);
   6004 short __ovld __cnfn convert_short_sat_rtn(half);
   6005 short __ovld __cnfn convert_short_sat_rtz(half);
   6006 short2 __ovld __cnfn convert_short2(half2);
   6007 short2 __ovld __cnfn convert_short2_rte(half2);
   6008 short2 __ovld __cnfn convert_short2_rtp(half2);
   6009 short2 __ovld __cnfn convert_short2_rtn(half2);
   6010 short2 __ovld __cnfn convert_short2_rtz(half2);
   6011 short2 __ovld __cnfn convert_short2_sat(half2);
   6012 short2 __ovld __cnfn convert_short2_sat_rte(half2);
   6013 short2 __ovld __cnfn convert_short2_sat_rtp(half2);
   6014 short2 __ovld __cnfn convert_short2_sat_rtn(half2);
   6015 short2 __ovld __cnfn convert_short2_sat_rtz(half2);
   6016 short3 __ovld __cnfn convert_short3(half3);
   6017 short3 __ovld __cnfn convert_short3_rte(half3);
   6018 short3 __ovld __cnfn convert_short3_rtp(half3);
   6019 short3 __ovld __cnfn convert_short3_rtn(half3);
   6020 short3 __ovld __cnfn convert_short3_rtz(half3);
   6021 short3 __ovld __cnfn convert_short3_sat(half3);
   6022 short3 __ovld __cnfn convert_short3_sat_rte(half3);
   6023 short3 __ovld __cnfn convert_short3_sat_rtp(half3);
   6024 short3 __ovld __cnfn convert_short3_sat_rtn(half3);
   6025 short3 __ovld __cnfn convert_short3_sat_rtz(half3);
   6026 short4 __ovld __cnfn convert_short4(half4);
   6027 short4 __ovld __cnfn convert_short4_rte(half4);
   6028 short4 __ovld __cnfn convert_short4_rtp(half4);
   6029 short4 __ovld __cnfn convert_short4_rtn(half4);
   6030 short4 __ovld __cnfn convert_short4_rtz(half4);
   6031 short4 __ovld __cnfn convert_short4_sat(half4);
   6032 short4 __ovld __cnfn convert_short4_sat_rte(half4);
   6033 short4 __ovld __cnfn convert_short4_sat_rtp(half4);
   6034 short4 __ovld __cnfn convert_short4_sat_rtn(half4);
   6035 short4 __ovld __cnfn convert_short4_sat_rtz(half4);
   6036 short8 __ovld __cnfn convert_short8(half8);
   6037 short8 __ovld __cnfn convert_short8_rte(half8);
   6038 short8 __ovld __cnfn convert_short8_rtp(half8);
   6039 short8 __ovld __cnfn convert_short8_rtn(half8);
   6040 short8 __ovld __cnfn convert_short8_rtz(half8);
   6041 short8 __ovld __cnfn convert_short8_sat(half8);
   6042 short8 __ovld __cnfn convert_short8_sat_rte(half8);
   6043 short8 __ovld __cnfn convert_short8_sat_rtp(half8);
   6044 short8 __ovld __cnfn convert_short8_sat_rtn(half8);
   6045 short8 __ovld __cnfn convert_short8_sat_rtz(half8);
   6046 short16 __ovld __cnfn convert_short16(half16);
   6047 short16 __ovld __cnfn convert_short16_rte(half16);
   6048 short16 __ovld __cnfn convert_short16_rtp(half16);
   6049 short16 __ovld __cnfn convert_short16_rtn(half16);
   6050 short16 __ovld __cnfn convert_short16_rtz(half16);
   6051 short16 __ovld __cnfn convert_short16_sat(half16);
   6052 short16 __ovld __cnfn convert_short16_sat_rte(half16);
   6053 short16 __ovld __cnfn convert_short16_sat_rtp(half16);
   6054 short16 __ovld __cnfn convert_short16_sat_rtn(half16);
   6055 short16 __ovld __cnfn convert_short16_sat_rtz(half16);
   6056 int __ovld __cnfn convert_int(half);
   6057 int __ovld __cnfn convert_int_rte(half);
   6058 int __ovld __cnfn convert_int_rtp(half);
   6059 int __ovld __cnfn convert_int_rtn(half);
   6060 int __ovld __cnfn convert_int_rtz(half);
   6061 int __ovld __cnfn convert_int_sat(half);
   6062 int __ovld __cnfn convert_int_sat_rte(half);
   6063 int __ovld __cnfn convert_int_sat_rtp(half);
   6064 int __ovld __cnfn convert_int_sat_rtn(half);
   6065 int __ovld __cnfn convert_int_sat_rtz(half);
   6066 int2 __ovld __cnfn convert_int2(half2);
   6067 int2 __ovld __cnfn convert_int2_rte(half2);
   6068 int2 __ovld __cnfn convert_int2_rtp(half2);
   6069 int2 __ovld __cnfn convert_int2_rtn(half2);
   6070 int2 __ovld __cnfn convert_int2_rtz(half2);
   6071 int2 __ovld __cnfn convert_int2_sat(half2);
   6072 int2 __ovld __cnfn convert_int2_sat_rte(half2);
   6073 int2 __ovld __cnfn convert_int2_sat_rtp(half2);
   6074 int2 __ovld __cnfn convert_int2_sat_rtn(half2);
   6075 int2 __ovld __cnfn convert_int2_sat_rtz(half2);
   6076 int3 __ovld __cnfn convert_int3(half3);
   6077 int3 __ovld __cnfn convert_int3_rte(half3);
   6078 int3 __ovld __cnfn convert_int3_rtp(half3);
   6079 int3 __ovld __cnfn convert_int3_rtn(half3);
   6080 int3 __ovld __cnfn convert_int3_rtz(half3);
   6081 int3 __ovld __cnfn convert_int3_sat(half3);
   6082 int3 __ovld __cnfn convert_int3_sat_rte(half3);
   6083 int3 __ovld __cnfn convert_int3_sat_rtp(half3);
   6084 int3 __ovld __cnfn convert_int3_sat_rtn(half3);
   6085 int3 __ovld __cnfn convert_int3_sat_rtz(half3);
   6086 int4 __ovld __cnfn convert_int4(half4);
   6087 int4 __ovld __cnfn convert_int4_rte(half4);
   6088 int4 __ovld __cnfn convert_int4_rtp(half4);
   6089 int4 __ovld __cnfn convert_int4_rtn(half4);
   6090 int4 __ovld __cnfn convert_int4_rtz(half4);
   6091 int4 __ovld __cnfn convert_int4_sat(half4);
   6092 int4 __ovld __cnfn convert_int4_sat_rte(half4);
   6093 int4 __ovld __cnfn convert_int4_sat_rtp(half4);
   6094 int4 __ovld __cnfn convert_int4_sat_rtn(half4);
   6095 int4 __ovld __cnfn convert_int4_sat_rtz(half4);
   6096 int8 __ovld __cnfn convert_int8(half8);
   6097 int8 __ovld __cnfn convert_int8_rte(half8);
   6098 int8 __ovld __cnfn convert_int8_rtp(half8);
   6099 int8 __ovld __cnfn convert_int8_rtn(half8);
   6100 int8 __ovld __cnfn convert_int8_rtz(half8);
   6101 int8 __ovld __cnfn convert_int8_sat(half8);
   6102 int8 __ovld __cnfn convert_int8_sat_rte(half8);
   6103 int8 __ovld __cnfn convert_int8_sat_rtp(half8);
   6104 int8 __ovld __cnfn convert_int8_sat_rtn(half8);
   6105 int8 __ovld __cnfn convert_int8_sat_rtz(half8);
   6106 int16 __ovld __cnfn convert_int16(half16);
   6107 int16 __ovld __cnfn convert_int16_rte(half16);
   6108 int16 __ovld __cnfn convert_int16_rtp(half16);
   6109 int16 __ovld __cnfn convert_int16_rtn(half16);
   6110 int16 __ovld __cnfn convert_int16_rtz(half16);
   6111 int16 __ovld __cnfn convert_int16_sat(half16);
   6112 int16 __ovld __cnfn convert_int16_sat_rte(half16);
   6113 int16 __ovld __cnfn convert_int16_sat_rtp(half16);
   6114 int16 __ovld __cnfn convert_int16_sat_rtn(half16);
   6115 int16 __ovld __cnfn convert_int16_sat_rtz(half16);
   6116 long __ovld __cnfn convert_long(half);
   6117 long __ovld __cnfn convert_long_rte(half);
   6118 long __ovld __cnfn convert_long_rtp(half);
   6119 long __ovld __cnfn convert_long_rtn(half);
   6120 long __ovld __cnfn convert_long_rtz(half);
   6121 long __ovld __cnfn convert_long_sat(half);
   6122 long __ovld __cnfn convert_long_sat_rte(half);
   6123 long __ovld __cnfn convert_long_sat_rtp(half);
   6124 long __ovld __cnfn convert_long_sat_rtn(half);
   6125 long __ovld __cnfn convert_long_sat_rtz(half);
   6126 long2 __ovld __cnfn convert_long2(half2);
   6127 long2 __ovld __cnfn convert_long2_rte(half2);
   6128 long2 __ovld __cnfn convert_long2_rtp(half2);
   6129 long2 __ovld __cnfn convert_long2_rtn(half2);
   6130 long2 __ovld __cnfn convert_long2_rtz(half2);
   6131 long2 __ovld __cnfn convert_long2_sat(half2);
   6132 long2 __ovld __cnfn convert_long2_sat_rte(half2);
   6133 long2 __ovld __cnfn convert_long2_sat_rtp(half2);
   6134 long2 __ovld __cnfn convert_long2_sat_rtn(half2);
   6135 long2 __ovld __cnfn convert_long2_sat_rtz(half2);
   6136 long3 __ovld __cnfn convert_long3(half3);
   6137 long3 __ovld __cnfn convert_long3_rte(half3);
   6138 long3 __ovld __cnfn convert_long3_rtp(half3);
   6139 long3 __ovld __cnfn convert_long3_rtn(half3);
   6140 long3 __ovld __cnfn convert_long3_rtz(half3);
   6141 long3 __ovld __cnfn convert_long3_sat(half3);
   6142 long3 __ovld __cnfn convert_long3_sat_rte(half3);
   6143 long3 __ovld __cnfn convert_long3_sat_rtp(half3);
   6144 long3 __ovld __cnfn convert_long3_sat_rtn(half3);
   6145 long3 __ovld __cnfn convert_long3_sat_rtz(half3);
   6146 long4 __ovld __cnfn convert_long4(half4);
   6147 long4 __ovld __cnfn convert_long4_rte(half4);
   6148 long4 __ovld __cnfn convert_long4_rtp(half4);
   6149 long4 __ovld __cnfn convert_long4_rtn(half4);
   6150 long4 __ovld __cnfn convert_long4_rtz(half4);
   6151 long4 __ovld __cnfn convert_long4_sat(half4);
   6152 long4 __ovld __cnfn convert_long4_sat_rte(half4);
   6153 long4 __ovld __cnfn convert_long4_sat_rtp(half4);
   6154 long4 __ovld __cnfn convert_long4_sat_rtn(half4);
   6155 long4 __ovld __cnfn convert_long4_sat_rtz(half4);
   6156 long8 __ovld __cnfn convert_long8(half8);
   6157 long8 __ovld __cnfn convert_long8_rte(half8);
   6158 long8 __ovld __cnfn convert_long8_rtp(half8);
   6159 long8 __ovld __cnfn convert_long8_rtn(half8);
   6160 long8 __ovld __cnfn convert_long8_rtz(half8);
   6161 long8 __ovld __cnfn convert_long8_sat(half8);
   6162 long8 __ovld __cnfn convert_long8_sat_rte(half8);
   6163 long8 __ovld __cnfn convert_long8_sat_rtp(half8);
   6164 long8 __ovld __cnfn convert_long8_sat_rtn(half8);
   6165 long8 __ovld __cnfn convert_long8_sat_rtz(half8);
   6166 long16 __ovld __cnfn convert_long16(half16);
   6167 long16 __ovld __cnfn convert_long16_rte(half16);
   6168 long16 __ovld __cnfn convert_long16_rtp(half16);
   6169 long16 __ovld __cnfn convert_long16_rtn(half16);
   6170 long16 __ovld __cnfn convert_long16_rtz(half16);
   6171 long16 __ovld __cnfn convert_long16_sat(half16);
   6172 long16 __ovld __cnfn convert_long16_sat_rte(half16);
   6173 long16 __ovld __cnfn convert_long16_sat_rtp(half16);
   6174 long16 __ovld __cnfn convert_long16_sat_rtn(half16);
   6175 long16 __ovld __cnfn convert_long16_sat_rtz(half16);
   6176 float __ovld __cnfn convert_float(half);
   6177 float __ovld __cnfn convert_float_rte(half);
   6178 float __ovld __cnfn convert_float_rtp(half);
   6179 float __ovld __cnfn convert_float_rtn(half);
   6180 float __ovld __cnfn convert_float_rtz(half);
   6181 float2 __ovld __cnfn convert_float2(half2);
   6182 float2 __ovld __cnfn convert_float2_rte(half2);
   6183 float2 __ovld __cnfn convert_float2_rtp(half2);
   6184 float2 __ovld __cnfn convert_float2_rtn(half2);
   6185 float2 __ovld __cnfn convert_float2_rtz(half2);
   6186 float3 __ovld __cnfn convert_float3(half3);
   6187 float3 __ovld __cnfn convert_float3_rte(half3);
   6188 float3 __ovld __cnfn convert_float3_rtp(half3);
   6189 float3 __ovld __cnfn convert_float3_rtn(half3);
   6190 float3 __ovld __cnfn convert_float3_rtz(half3);
   6191 float4 __ovld __cnfn convert_float4(half4);
   6192 float4 __ovld __cnfn convert_float4_rte(half4);
   6193 float4 __ovld __cnfn convert_float4_rtp(half4);
   6194 float4 __ovld __cnfn convert_float4_rtn(half4);
   6195 float4 __ovld __cnfn convert_float4_rtz(half4);
   6196 float8 __ovld __cnfn convert_float8(half8);
   6197 float8 __ovld __cnfn convert_float8_rte(half8);
   6198 float8 __ovld __cnfn convert_float8_rtp(half8);
   6199 float8 __ovld __cnfn convert_float8_rtn(half8);
   6200 float8 __ovld __cnfn convert_float8_rtz(half8);
   6201 float16 __ovld __cnfn convert_float16(half16);
   6202 float16 __ovld __cnfn convert_float16_rte(half16);
   6203 float16 __ovld __cnfn convert_float16_rtp(half16);
   6204 float16 __ovld __cnfn convert_float16_rtn(half16);
   6205 float16 __ovld __cnfn convert_float16_rtz(half16);
   6206 
   6207 // Convert non-double types to half types.
   6208 half __ovld __cnfn convert_half(uchar);
   6209 half __ovld __cnfn convert_half(ushort);
   6210 half __ovld __cnfn convert_half(uint);
   6211 half __ovld __cnfn convert_half(ulong);
   6212 half __ovld __cnfn convert_half(char);
   6213 half __ovld __cnfn convert_half(short);
   6214 half __ovld __cnfn convert_half(int);
   6215 half __ovld __cnfn convert_half(long);
   6216 half __ovld __cnfn convert_half(float);
   6217 half __ovld __cnfn convert_half(half);
   6218 half __ovld __cnfn convert_half_rte(uchar);
   6219 half __ovld __cnfn convert_half_rte(ushort);
   6220 half __ovld __cnfn convert_half_rte(uint);
   6221 half __ovld __cnfn convert_half_rte(ulong);
   6222 half __ovld __cnfn convert_half_rte(char);
   6223 half __ovld __cnfn convert_half_rte(short);
   6224 half __ovld __cnfn convert_half_rte(int);
   6225 half __ovld __cnfn convert_half_rte(long);
   6226 half __ovld __cnfn convert_half_rte(float);
   6227 half __ovld __cnfn convert_half_rte(half);
   6228 half __ovld __cnfn convert_half_rtp(uchar);
   6229 half __ovld __cnfn convert_half_rtp(ushort);
   6230 half __ovld __cnfn convert_half_rtp(uint);
   6231 half __ovld __cnfn convert_half_rtp(ulong);
   6232 half __ovld __cnfn convert_half_rtp(char);
   6233 half __ovld __cnfn convert_half_rtp(short);
   6234 half __ovld __cnfn convert_half_rtp(int);
   6235 half __ovld __cnfn convert_half_rtp(long);
   6236 half __ovld __cnfn convert_half_rtp(float);
   6237 half __ovld __cnfn convert_half_rtp(half);
   6238 half __ovld __cnfn convert_half_rtn(uchar);
   6239 half __ovld __cnfn convert_half_rtn(ushort);
   6240 half __ovld __cnfn convert_half_rtn(uint);
   6241 half __ovld __cnfn convert_half_rtn(ulong);
   6242 half __ovld __cnfn convert_half_rtn(char);
   6243 half __ovld __cnfn convert_half_rtn(short);
   6244 half __ovld __cnfn convert_half_rtn(int);
   6245 half __ovld __cnfn convert_half_rtn(long);
   6246 half __ovld __cnfn convert_half_rtn(float);
   6247 half __ovld __cnfn convert_half_rtn(half);
   6248 half __ovld __cnfn convert_half_rtz(uchar);
   6249 half __ovld __cnfn convert_half_rtz(ushort);
   6250 half __ovld __cnfn convert_half_rtz(uint);
   6251 half __ovld __cnfn convert_half_rtz(ulong);
   6252 half __ovld __cnfn convert_half_rtz(char);
   6253 half __ovld __cnfn convert_half_rtz(short);
   6254 half __ovld __cnfn convert_half_rtz(int);
   6255 half __ovld __cnfn convert_half_rtz(long);
   6256 half __ovld __cnfn convert_half_rtz(float);
   6257 half __ovld __cnfn convert_half_rtz(half);
   6258 half2 __ovld __cnfn convert_half2(char2);
   6259 half2 __ovld __cnfn convert_half2(uchar2);
   6260 half2 __ovld __cnfn convert_half2(short2);
   6261 half2 __ovld __cnfn convert_half2(ushort2);
   6262 half2 __ovld __cnfn convert_half2(int2);
   6263 half2 __ovld __cnfn convert_half2(uint2);
   6264 half2 __ovld __cnfn convert_half2(long2);
   6265 half2 __ovld __cnfn convert_half2(ulong2);
   6266 half2 __ovld __cnfn convert_half2(float2);
   6267 half2 __ovld __cnfn convert_half2(half2);
   6268 half2 __ovld __cnfn convert_half2_rte(char2);
   6269 half2 __ovld __cnfn convert_half2_rte(uchar2);
   6270 half2 __ovld __cnfn convert_half2_rte(short2);
   6271 half2 __ovld __cnfn convert_half2_rte(ushort2);
   6272 half2 __ovld __cnfn convert_half2_rte(int2);
   6273 half2 __ovld __cnfn convert_half2_rte(uint2);
   6274 half2 __ovld __cnfn convert_half2_rte(long2);
   6275 half2 __ovld __cnfn convert_half2_rte(ulong2);
   6276 half2 __ovld __cnfn convert_half2_rte(float2);
   6277 half2 __ovld __cnfn convert_half2_rte(half2);
   6278 half2 __ovld __cnfn convert_half2_rtp(char2);
   6279 half2 __ovld __cnfn convert_half2_rtp(uchar2);
   6280 half2 __ovld __cnfn convert_half2_rtp(short2);
   6281 half2 __ovld __cnfn convert_half2_rtp(ushort2);
   6282 half2 __ovld __cnfn convert_half2_rtp(int2);
   6283 half2 __ovld __cnfn convert_half2_rtp(uint2);
   6284 half2 __ovld __cnfn convert_half2_rtp(long2);
   6285 half2 __ovld __cnfn convert_half2_rtp(ulong2);
   6286 half2 __ovld __cnfn convert_half2_rtp(float2);
   6287 half2 __ovld __cnfn convert_half2_rtp(half2);
   6288 half2 __ovld __cnfn convert_half2_rtn(char2);
   6289 half2 __ovld __cnfn convert_half2_rtn(uchar2);
   6290 half2 __ovld __cnfn convert_half2_rtn(short2);
   6291 half2 __ovld __cnfn convert_half2_rtn(ushort2);
   6292 half2 __ovld __cnfn convert_half2_rtn(int2);
   6293 half2 __ovld __cnfn convert_half2_rtn(uint2);
   6294 half2 __ovld __cnfn convert_half2_rtn(long2);
   6295 half2 __ovld __cnfn convert_half2_rtn(ulong2);
   6296 half2 __ovld __cnfn convert_half2_rtn(float2);
   6297 half2 __ovld __cnfn convert_half2_rtn(half2);
   6298 half2 __ovld __cnfn convert_half2_rtz(char2);
   6299 half2 __ovld __cnfn convert_half2_rtz(uchar2);
   6300 half2 __ovld __cnfn convert_half2_rtz(short2);
   6301 half2 __ovld __cnfn convert_half2_rtz(ushort2);
   6302 half2 __ovld __cnfn convert_half2_rtz(int2);
   6303 half2 __ovld __cnfn convert_half2_rtz(uint2);
   6304 half2 __ovld __cnfn convert_half2_rtz(long2);
   6305 half2 __ovld __cnfn convert_half2_rtz(ulong2);
   6306 half2 __ovld __cnfn convert_half2_rtz(float2);
   6307 half2 __ovld __cnfn convert_half2_rtz(half2);
   6308 half3 __ovld __cnfn convert_half3(char3);
   6309 half3 __ovld __cnfn convert_half3(uchar3);
   6310 half3 __ovld __cnfn convert_half3(short3);
   6311 half3 __ovld __cnfn convert_half3(ushort3);
   6312 half3 __ovld __cnfn convert_half3(int3);
   6313 half3 __ovld __cnfn convert_half3(uint3);
   6314 half3 __ovld __cnfn convert_half3(long3);
   6315 half3 __ovld __cnfn convert_half3(ulong3);
   6316 half3 __ovld __cnfn convert_half3(float3);
   6317 half3 __ovld __cnfn convert_half3(half3);
   6318 half3 __ovld __cnfn convert_half3_rte(char3);
   6319 half3 __ovld __cnfn convert_half3_rte(uchar3);
   6320 half3 __ovld __cnfn convert_half3_rte(short3);
   6321 half3 __ovld __cnfn convert_half3_rte(ushort3);
   6322 half3 __ovld __cnfn convert_half3_rte(int3);
   6323 half3 __ovld __cnfn convert_half3_rte(uint3);
   6324 half3 __ovld __cnfn convert_half3_rte(long3);
   6325 half3 __ovld __cnfn convert_half3_rte(ulong3);
   6326 half3 __ovld __cnfn convert_half3_rte(float3);
   6327 half3 __ovld __cnfn convert_half3_rte(half3);
   6328 half3 __ovld __cnfn convert_half3_rtp(char3);
   6329 half3 __ovld __cnfn convert_half3_rtp(uchar3);
   6330 half3 __ovld __cnfn convert_half3_rtp(short3);
   6331 half3 __ovld __cnfn convert_half3_rtp(ushort3);
   6332 half3 __ovld __cnfn convert_half3_rtp(int3);
   6333 half3 __ovld __cnfn convert_half3_rtp(uint3);
   6334 half3 __ovld __cnfn convert_half3_rtp(long3);
   6335 half3 __ovld __cnfn convert_half3_rtp(ulong3);
   6336 half3 __ovld __cnfn convert_half3_rtp(float3);
   6337 half3 __ovld __cnfn convert_half3_rtp(half3);
   6338 half3 __ovld __cnfn convert_half3_rtn(char3);
   6339 half3 __ovld __cnfn convert_half3_rtn(uchar3);
   6340 half3 __ovld __cnfn convert_half3_rtn(short3);
   6341 half3 __ovld __cnfn convert_half3_rtn(ushort3);
   6342 half3 __ovld __cnfn convert_half3_rtn(int3);
   6343 half3 __ovld __cnfn convert_half3_rtn(uint3);
   6344 half3 __ovld __cnfn convert_half3_rtn(long3);
   6345 half3 __ovld __cnfn convert_half3_rtn(ulong3);
   6346 half3 __ovld __cnfn convert_half3_rtn(float3);
   6347 half3 __ovld __cnfn convert_half3_rtn(half3);
   6348 half3 __ovld __cnfn convert_half3_rtz(char3);
   6349 half3 __ovld __cnfn convert_half3_rtz(uchar3);
   6350 half3 __ovld __cnfn convert_half3_rtz(short3);
   6351 half3 __ovld __cnfn convert_half3_rtz(ushort3);
   6352 half3 __ovld __cnfn convert_half3_rtz(int3);
   6353 half3 __ovld __cnfn convert_half3_rtz(uint3);
   6354 half3 __ovld __cnfn convert_half3_rtz(long3);
   6355 half3 __ovld __cnfn convert_half3_rtz(ulong3);
   6356 half3 __ovld __cnfn convert_half3_rtz(float3);
   6357 half3 __ovld __cnfn convert_half3_rtz(half3);
   6358 half4 __ovld __cnfn convert_half4(char4);
   6359 half4 __ovld __cnfn convert_half4(uchar4);
   6360 half4 __ovld __cnfn convert_half4(short4);
   6361 half4 __ovld __cnfn convert_half4(ushort4);
   6362 half4 __ovld __cnfn convert_half4(int4);
   6363 half4 __ovld __cnfn convert_half4(uint4);
   6364 half4 __ovld __cnfn convert_half4(long4);
   6365 half4 __ovld __cnfn convert_half4(ulong4);
   6366 half4 __ovld __cnfn convert_half4(float4);
   6367 half4 __ovld __cnfn convert_half4(half4);
   6368 half4 __ovld __cnfn convert_half4_rte(char4);
   6369 half4 __ovld __cnfn convert_half4_rte(uchar4);
   6370 half4 __ovld __cnfn convert_half4_rte(short4);
   6371 half4 __ovld __cnfn convert_half4_rte(ushort4);
   6372 half4 __ovld __cnfn convert_half4_rte(int4);
   6373 half4 __ovld __cnfn convert_half4_rte(uint4);
   6374 half4 __ovld __cnfn convert_half4_rte(long4);
   6375 half4 __ovld __cnfn convert_half4_rte(ulong4);
   6376 half4 __ovld __cnfn convert_half4_rte(float4);
   6377 half4 __ovld __cnfn convert_half4_rte(half4);
   6378 half4 __ovld __cnfn convert_half4_rtp(char4);
   6379 half4 __ovld __cnfn convert_half4_rtp(uchar4);
   6380 half4 __ovld __cnfn convert_half4_rtp(short4);
   6381 half4 __ovld __cnfn convert_half4_rtp(ushort4);
   6382 half4 __ovld __cnfn convert_half4_rtp(int4);
   6383 half4 __ovld __cnfn convert_half4_rtp(uint4);
   6384 half4 __ovld __cnfn convert_half4_rtp(long4);
   6385 half4 __ovld __cnfn convert_half4_rtp(ulong4);
   6386 half4 __ovld __cnfn convert_half4_rtp(float4);
   6387 half4 __ovld __cnfn convert_half4_rtp(half4);
   6388 half4 __ovld __cnfn convert_half4_rtn(char4);
   6389 half4 __ovld __cnfn convert_half4_rtn(uchar4);
   6390 half4 __ovld __cnfn convert_half4_rtn(short4);
   6391 half4 __ovld __cnfn convert_half4_rtn(ushort4);
   6392 half4 __ovld __cnfn convert_half4_rtn(int4);
   6393 half4 __ovld __cnfn convert_half4_rtn(uint4);
   6394 half4 __ovld __cnfn convert_half4_rtn(long4);
   6395 half4 __ovld __cnfn convert_half4_rtn(ulong4);
   6396 half4 __ovld __cnfn convert_half4_rtn(float4);
   6397 half4 __ovld __cnfn convert_half4_rtn(half4);
   6398 half4 __ovld __cnfn convert_half4_rtz(char4);
   6399 half4 __ovld __cnfn convert_half4_rtz(uchar4);
   6400 half4 __ovld __cnfn convert_half4_rtz(short4);
   6401 half4 __ovld __cnfn convert_half4_rtz(ushort4);
   6402 half4 __ovld __cnfn convert_half4_rtz(int4);
   6403 half4 __ovld __cnfn convert_half4_rtz(uint4);
   6404 half4 __ovld __cnfn convert_half4_rtz(long4);
   6405 half4 __ovld __cnfn convert_half4_rtz(ulong4);
   6406 half4 __ovld __cnfn convert_half4_rtz(float4);
   6407 half4 __ovld __cnfn convert_half4_rtz(half4);
   6408 half8 __ovld __cnfn convert_half8(char8);
   6409 half8 __ovld __cnfn convert_half8(uchar8);
   6410 half8 __ovld __cnfn convert_half8(short8);
   6411 half8 __ovld __cnfn convert_half8(ushort8);
   6412 half8 __ovld __cnfn convert_half8(int8);
   6413 half8 __ovld __cnfn convert_half8(uint8);
   6414 half8 __ovld __cnfn convert_half8(long8);
   6415 half8 __ovld __cnfn convert_half8(ulong8);
   6416 half8 __ovld __cnfn convert_half8(float8);
   6417 half8 __ovld __cnfn convert_half8(half8);
   6418 half8 __ovld __cnfn convert_half8_rte(char8);
   6419 half8 __ovld __cnfn convert_half8_rte(uchar8);
   6420 half8 __ovld __cnfn convert_half8_rte(short8);
   6421 half8 __ovld __cnfn convert_half8_rte(ushort8);
   6422 half8 __ovld __cnfn convert_half8_rte(int8);
   6423 half8 __ovld __cnfn convert_half8_rte(uint8);
   6424 half8 __ovld __cnfn convert_half8_rte(long8);
   6425 half8 __ovld __cnfn convert_half8_rte(ulong8);
   6426 half8 __ovld __cnfn convert_half8_rte(float8);
   6427 half8 __ovld __cnfn convert_half8_rte(half8);
   6428 half8 __ovld __cnfn convert_half8_rtp(char8);
   6429 half8 __ovld __cnfn convert_half8_rtp(uchar8);
   6430 half8 __ovld __cnfn convert_half8_rtp(short8);
   6431 half8 __ovld __cnfn convert_half8_rtp(ushort8);
   6432 half8 __ovld __cnfn convert_half8_rtp(int8);
   6433 half8 __ovld __cnfn convert_half8_rtp(uint8);
   6434 half8 __ovld __cnfn convert_half8_rtp(long8);
   6435 half8 __ovld __cnfn convert_half8_rtp(ulong8);
   6436 half8 __ovld __cnfn convert_half8_rtp(float8);
   6437 half8 __ovld __cnfn convert_half8_rtp(half8);
   6438 half8 __ovld __cnfn convert_half8_rtn(char8);
   6439 half8 __ovld __cnfn convert_half8_rtn(uchar8);
   6440 half8 __ovld __cnfn convert_half8_rtn(short8);
   6441 half8 __ovld __cnfn convert_half8_rtn(ushort8);
   6442 half8 __ovld __cnfn convert_half8_rtn(int8);
   6443 half8 __ovld __cnfn convert_half8_rtn(uint8);
   6444 half8 __ovld __cnfn convert_half8_rtn(long8);
   6445 half8 __ovld __cnfn convert_half8_rtn(ulong8);
   6446 half8 __ovld __cnfn convert_half8_rtn(float8);
   6447 half8 __ovld __cnfn convert_half8_rtn(half8);
   6448 half8 __ovld __cnfn convert_half8_rtz(char8);
   6449 half8 __ovld __cnfn convert_half8_rtz(uchar8);
   6450 half8 __ovld __cnfn convert_half8_rtz(short8);
   6451 half8 __ovld __cnfn convert_half8_rtz(ushort8);
   6452 half8 __ovld __cnfn convert_half8_rtz(int8);
   6453 half8 __ovld __cnfn convert_half8_rtz(uint8);
   6454 half8 __ovld __cnfn convert_half8_rtz(long8);
   6455 half8 __ovld __cnfn convert_half8_rtz(ulong8);
   6456 half8 __ovld __cnfn convert_half8_rtz(float8);
   6457 half8 __ovld __cnfn convert_half8_rtz(half8);
   6458 half16 __ovld __cnfn convert_half16(char16);
   6459 half16 __ovld __cnfn convert_half16(uchar16);
   6460 half16 __ovld __cnfn convert_half16(short16);
   6461 half16 __ovld __cnfn convert_half16(ushort16);
   6462 half16 __ovld __cnfn convert_half16(int16);
   6463 half16 __ovld __cnfn convert_half16(uint16);
   6464 half16 __ovld __cnfn convert_half16(long16);
   6465 half16 __ovld __cnfn convert_half16(ulong16);
   6466 half16 __ovld __cnfn convert_half16(float16);
   6467 half16 __ovld __cnfn convert_half16(half16);
   6468 half16 __ovld __cnfn convert_half16_rte(char16);
   6469 half16 __ovld __cnfn convert_half16_rte(uchar16);
   6470 half16 __ovld __cnfn convert_half16_rte(short16);
   6471 half16 __ovld __cnfn convert_half16_rte(ushort16);
   6472 half16 __ovld __cnfn convert_half16_rte(int16);
   6473 half16 __ovld __cnfn convert_half16_rte(uint16);
   6474 half16 __ovld __cnfn convert_half16_rte(long16);
   6475 half16 __ovld __cnfn convert_half16_rte(ulong16);
   6476 half16 __ovld __cnfn convert_half16_rte(float16);
   6477 half16 __ovld __cnfn convert_half16_rte(half16);
   6478 half16 __ovld __cnfn convert_half16_rtp(char16);
   6479 half16 __ovld __cnfn convert_half16_rtp(uchar16);
   6480 half16 __ovld __cnfn convert_half16_rtp(short16);
   6481 half16 __ovld __cnfn convert_half16_rtp(ushort16);
   6482 half16 __ovld __cnfn convert_half16_rtp(int16);
   6483 half16 __ovld __cnfn convert_half16_rtp(uint16);
   6484 half16 __ovld __cnfn convert_half16_rtp(long16);
   6485 half16 __ovld __cnfn convert_half16_rtp(ulong16);
   6486 half16 __ovld __cnfn convert_half16_rtp(float16);
   6487 half16 __ovld __cnfn convert_half16_rtp(half16);
   6488 half16 __ovld __cnfn convert_half16_rtn(char16);
   6489 half16 __ovld __cnfn convert_half16_rtn(uchar16);
   6490 half16 __ovld __cnfn convert_half16_rtn(short16);
   6491 half16 __ovld __cnfn convert_half16_rtn(ushort16);
   6492 half16 __ovld __cnfn convert_half16_rtn(int16);
   6493 half16 __ovld __cnfn convert_half16_rtn(uint16);
   6494 half16 __ovld __cnfn convert_half16_rtn(long16);
   6495 half16 __ovld __cnfn convert_half16_rtn(ulong16);
   6496 half16 __ovld __cnfn convert_half16_rtn(float16);
   6497 half16 __ovld __cnfn convert_half16_rtn(half16);
   6498 half16 __ovld __cnfn convert_half16_rtz(char16);
   6499 half16 __ovld __cnfn convert_half16_rtz(uchar16);
   6500 half16 __ovld __cnfn convert_half16_rtz(short16);
   6501 half16 __ovld __cnfn convert_half16_rtz(ushort16);
   6502 half16 __ovld __cnfn convert_half16_rtz(int16);
   6503 half16 __ovld __cnfn convert_half16_rtz(uint16);
   6504 half16 __ovld __cnfn convert_half16_rtz(long16);
   6505 half16 __ovld __cnfn convert_half16_rtz(ulong16);
   6506 half16 __ovld __cnfn convert_half16_rtz(float16);
   6507 half16 __ovld __cnfn convert_half16_rtz(half16);
   6508 
   6509 // Convert half types to double types.
   6510 #ifdef cl_khr_fp64
   6511 double __ovld __cnfn convert_double(half);
   6512 double __ovld __cnfn convert_double_rte(half);
   6513 double __ovld __cnfn convert_double_rtp(half);
   6514 double __ovld __cnfn convert_double_rtn(half);
   6515 double __ovld __cnfn convert_double_rtz(half);
   6516 double2 __ovld __cnfn convert_double2(half2);
   6517 double2 __ovld __cnfn convert_double2_rte(half2);
   6518 double2 __ovld __cnfn convert_double2_rtp(half2);
   6519 double2 __ovld __cnfn convert_double2_rtn(half2);
   6520 double2 __ovld __cnfn convert_double2_rtz(half2);
   6521 double3 __ovld __cnfn convert_double3(half3);
   6522 double3 __ovld __cnfn convert_double3_rte(half3);
   6523 double3 __ovld __cnfn convert_double3_rtp(half3);
   6524 double3 __ovld __cnfn convert_double3_rtn(half3);
   6525 double3 __ovld __cnfn convert_double3_rtz(half3);
   6526 double4 __ovld __cnfn convert_double4(half4);
   6527 double4 __ovld __cnfn convert_double4_rte(half4);
   6528 double4 __ovld __cnfn convert_double4_rtp(half4);
   6529 double4 __ovld __cnfn convert_double4_rtn(half4);
   6530 double4 __ovld __cnfn convert_double4_rtz(half4);
   6531 double8 __ovld __cnfn convert_double8(half8);
   6532 double8 __ovld __cnfn convert_double8_rte(half8);
   6533 double8 __ovld __cnfn convert_double8_rtp(half8);
   6534 double8 __ovld __cnfn convert_double8_rtn(half8);
   6535 double8 __ovld __cnfn convert_double8_rtz(half8);
   6536 double16 __ovld __cnfn convert_double16(half16);
   6537 double16 __ovld __cnfn convert_double16_rte(half16);
   6538 double16 __ovld __cnfn convert_double16_rtp(half16);
   6539 double16 __ovld __cnfn convert_double16_rtn(half16);
   6540 double16 __ovld __cnfn convert_double16_rtz(half16);
   6541 
   6542 // Convert double types to half types.
   6543 half __ovld __cnfn convert_half(double);
   6544 half __ovld __cnfn convert_half_rte(double);
   6545 half __ovld __cnfn convert_half_rtp(double);
   6546 half __ovld __cnfn convert_half_rtn(double);
   6547 half __ovld __cnfn convert_half_rtz(double);
   6548 half2 __ovld __cnfn convert_half2(double2);
   6549 half2 __ovld __cnfn convert_half2_rte(double2);
   6550 half2 __ovld __cnfn convert_half2_rtp(double2);
   6551 half2 __ovld __cnfn convert_half2_rtn(double2);
   6552 half2 __ovld __cnfn convert_half2_rtz(double2);
   6553 half3 __ovld __cnfn convert_half3(double3);
   6554 half3 __ovld __cnfn convert_half3_rte(double3);
   6555 half3 __ovld __cnfn convert_half3_rtp(double3);
   6556 half3 __ovld __cnfn convert_half3_rtn(double3);
   6557 half3 __ovld __cnfn convert_half3_rtz(double3);
   6558 half4 __ovld __cnfn convert_half4(double4);
   6559 half4 __ovld __cnfn convert_half4_rte(double4);
   6560 half4 __ovld __cnfn convert_half4_rtp(double4);
   6561 half4 __ovld __cnfn convert_half4_rtn(double4);
   6562 half4 __ovld __cnfn convert_half4_rtz(double4);
   6563 half8 __ovld __cnfn convert_half8(double8);
   6564 half8 __ovld __cnfn convert_half8_rte(double8);
   6565 half8 __ovld __cnfn convert_half8_rtp(double8);
   6566 half8 __ovld __cnfn convert_half8_rtn(double8);
   6567 half8 __ovld __cnfn convert_half8_rtz(double8);
   6568 half16 __ovld __cnfn convert_half16(double16);
   6569 half16 __ovld __cnfn convert_half16_rte(double16);
   6570 half16 __ovld __cnfn convert_half16_rtp(double16);
   6571 half16 __ovld __cnfn convert_half16_rtn(double16);
   6572 half16 __ovld __cnfn convert_half16_rtz(double16);
   6573 #endif //cl_khr_fp64
   6574 
   6575 #endif // cl_khr_fp16
   6576 
   6577 /**
   6578  * OpenCL v1.1/1.2/2.0 s6.2.4.2 - as_type operators
   6579  * Reinterprets a data type as another data type of the same size
   6580  */
   6581 char __ovld __cnfn as_char(char);
   6582 char __ovld __cnfn as_char(uchar);
   6583 
   6584 char2 __ovld __cnfn as_char2(char2);
   6585 char2 __ovld __cnfn as_char2(uchar2);
   6586 char2 __ovld __cnfn as_char2(short);
   6587 char2 __ovld __cnfn as_char2(ushort);
   6588 
   6589 char3 __ovld __cnfn as_char3(char3);
   6590 char3 __ovld __cnfn as_char3(char4);
   6591 char3 __ovld __cnfn as_char3(uchar3);
   6592 char3 __ovld __cnfn as_char3(uchar4);
   6593 char3 __ovld __cnfn as_char3(short2);
   6594 char3 __ovld __cnfn as_char3(ushort2);
   6595 char3 __ovld __cnfn as_char3(int);
   6596 char3 __ovld __cnfn as_char3(uint);
   6597 char3 __ovld __cnfn as_char3(float);
   6598 
   6599 char4 __ovld __cnfn as_char4(char3);
   6600 char4 __ovld __cnfn as_char4(char4);
   6601 char4 __ovld __cnfn as_char4(uchar3);
   6602 char4 __ovld __cnfn as_char4(uchar4);
   6603 char4 __ovld __cnfn as_char4(short2);
   6604 char4 __ovld __cnfn as_char4(ushort2);
   6605 char4 __ovld __cnfn as_char4(int);
   6606 char4 __ovld __cnfn as_char4(uint);
   6607 char4 __ovld __cnfn as_char4(float);
   6608 
   6609 char8 __ovld __cnfn as_char8(char8);
   6610 char8 __ovld __cnfn as_char8(uchar8);
   6611 char8 __ovld __cnfn as_char8(short3);
   6612 char8 __ovld __cnfn as_char8(short4);
   6613 char8 __ovld __cnfn as_char8(ushort3);
   6614 char8 __ovld __cnfn as_char8(ushort4);
   6615 char8 __ovld __cnfn as_char8(int2);
   6616 char8 __ovld __cnfn as_char8(uint2);
   6617 char8 __ovld __cnfn as_char8(long);
   6618 char8 __ovld __cnfn as_char8(ulong);
   6619 char8 __ovld __cnfn as_char8(float2);
   6620 
   6621 char16 __ovld __cnfn as_char16(char16);
   6622 char16 __ovld __cnfn as_char16(uchar16);
   6623 char16 __ovld __cnfn as_char16(short8);
   6624 char16 __ovld __cnfn as_char16(ushort8);
   6625 char16 __ovld __cnfn as_char16(int3);
   6626 char16 __ovld __cnfn as_char16(int4);
   6627 char16 __ovld __cnfn as_char16(uint3);
   6628 char16 __ovld __cnfn as_char16(uint4);
   6629 char16 __ovld __cnfn as_char16(long2);
   6630 char16 __ovld __cnfn as_char16(ulong2);
   6631 char16 __ovld __cnfn as_char16(float3);
   6632 char16 __ovld __cnfn as_char16(float4);
   6633 
   6634 uchar __ovld __cnfn as_uchar(char);
   6635 uchar __ovld __cnfn as_uchar(uchar);
   6636 
   6637 uchar2 __ovld __cnfn as_uchar2(char2);
   6638 uchar2 __ovld __cnfn as_uchar2(uchar2);
   6639 uchar2 __ovld __cnfn as_uchar2(short);
   6640 uchar2 __ovld __cnfn as_uchar2(ushort);
   6641 
   6642 uchar3 __ovld __cnfn as_uchar3(char3);
   6643 uchar3 __ovld __cnfn as_uchar3(char4);
   6644 uchar3 __ovld __cnfn as_uchar3(uchar3);
   6645 uchar3 __ovld __cnfn as_uchar3(uchar4);
   6646 uchar3 __ovld __cnfn as_uchar3(short2);
   6647 uchar3 __ovld __cnfn as_uchar3(ushort2);
   6648 uchar3 __ovld __cnfn as_uchar3(int);
   6649 uchar3 __ovld __cnfn as_uchar3(uint);
   6650 uchar3 __ovld __cnfn as_uchar3(float);
   6651 
   6652 uchar4 __ovld __cnfn as_uchar4(char3);
   6653 uchar4 __ovld __cnfn as_uchar4(char4);
   6654 uchar4 __ovld __cnfn as_uchar4(uchar3);
   6655 uchar4 __ovld __cnfn as_uchar4(uchar4);
   6656 uchar4 __ovld __cnfn as_uchar4(short2);
   6657 uchar4 __ovld __cnfn as_uchar4(ushort2);
   6658 uchar4 __ovld __cnfn as_uchar4(int);
   6659 uchar4 __ovld __cnfn as_uchar4(uint);
   6660 uchar4 __ovld __cnfn as_uchar4(float);
   6661 
   6662 uchar8 __ovld __cnfn as_uchar8(char8);
   6663 uchar8 __ovld __cnfn as_uchar8(uchar8);
   6664 uchar8 __ovld __cnfn as_uchar8(short3);
   6665 uchar8 __ovld __cnfn as_uchar8(short4);
   6666 uchar8 __ovld __cnfn as_uchar8(ushort3);
   6667 uchar8 __ovld __cnfn as_uchar8(ushort4);
   6668 uchar8 __ovld __cnfn as_uchar8(int2);
   6669 uchar8 __ovld __cnfn as_uchar8(uint2);
   6670 uchar8 __ovld __cnfn as_uchar8(long);
   6671 uchar8 __ovld __cnfn as_uchar8(ulong);
   6672 uchar8 __ovld __cnfn as_uchar8(float2);
   6673 
   6674 uchar16 __ovld __cnfn as_uchar16(char16);
   6675 uchar16 __ovld __cnfn as_uchar16(uchar16);
   6676 uchar16 __ovld __cnfn as_uchar16(short8);
   6677 uchar16 __ovld __cnfn as_uchar16(ushort8);
   6678 uchar16 __ovld __cnfn as_uchar16(int3);
   6679 uchar16 __ovld __cnfn as_uchar16(int4);
   6680 uchar16 __ovld __cnfn as_uchar16(uint3);
   6681 uchar16 __ovld __cnfn as_uchar16(uint4);
   6682 uchar16 __ovld __cnfn as_uchar16(long2);
   6683 uchar16 __ovld __cnfn as_uchar16(ulong2);
   6684 uchar16 __ovld __cnfn as_uchar16(float3);
   6685 uchar16 __ovld __cnfn as_uchar16(float4);
   6686 
   6687 short __ovld __cnfn as_short(char2);
   6688 short __ovld __cnfn as_short(uchar2);
   6689 short __ovld __cnfn as_short(short);
   6690 short __ovld __cnfn as_short(ushort);
   6691 
   6692 short2 __ovld __cnfn as_short2(char3);
   6693 short2 __ovld __cnfn as_short2(char4);
   6694 short2 __ovld __cnfn as_short2(uchar3);
   6695 short2 __ovld __cnfn as_short2(uchar4);
   6696 short2 __ovld __cnfn as_short2(short2);
   6697 short2 __ovld __cnfn as_short2(ushort2);
   6698 short2 __ovld __cnfn as_short2(int);
   6699 short2 __ovld __cnfn as_short2(uint);
   6700 short2 __ovld __cnfn as_short2(float);
   6701 
   6702 short3 __ovld __cnfn as_short3(char8);
   6703 short3 __ovld __cnfn as_short3(uchar8);
   6704 short3 __ovld __cnfn as_short3(short3);
   6705 short3 __ovld __cnfn as_short3(short4);
   6706 short3 __ovld __cnfn as_short3(ushort3);
   6707 short3 __ovld __cnfn as_short3(ushort4);
   6708 short3 __ovld __cnfn as_short3(int2);
   6709 short3 __ovld __cnfn as_short3(uint2);
   6710 short3 __ovld __cnfn as_short3(long);
   6711 short3 __ovld __cnfn as_short3(ulong);
   6712 short3 __ovld __cnfn as_short3(float2);
   6713 
   6714 short4 __ovld __cnfn as_short4(char8);
   6715 short4 __ovld __cnfn as_short4(uchar8);
   6716 short4 __ovld __cnfn as_short4(short3);
   6717 short4 __ovld __cnfn as_short4(short4);
   6718 short4 __ovld __cnfn as_short4(ushort3);
   6719 short4 __ovld __cnfn as_short4(ushort4);
   6720 short4 __ovld __cnfn as_short4(int2);
   6721 short4 __ovld __cnfn as_short4(uint2);
   6722 short4 __ovld __cnfn as_short4(long);
   6723 short4 __ovld __cnfn as_short4(ulong);
   6724 short4 __ovld __cnfn as_short4(float2);
   6725 
   6726 short8 __ovld __cnfn as_short8(char16);
   6727 short8 __ovld __cnfn as_short8(uchar16);
   6728 short8 __ovld __cnfn as_short8(short8);
   6729 short8 __ovld __cnfn as_short8(ushort8);
   6730 short8 __ovld __cnfn as_short8(int3);
   6731 short8 __ovld __cnfn as_short8(int4);
   6732 short8 __ovld __cnfn as_short8(uint3);
   6733 short8 __ovld __cnfn as_short8(uint4);
   6734 short8 __ovld __cnfn as_short8(long2);
   6735 short8 __ovld __cnfn as_short8(ulong2);
   6736 short8 __ovld __cnfn as_short8(float3);
   6737 short8 __ovld __cnfn as_short8(float4);
   6738 
   6739 short16 __ovld __cnfn as_short16(short16);
   6740 short16 __ovld __cnfn as_short16(ushort16);
   6741 short16 __ovld __cnfn as_short16(int8);
   6742 short16 __ovld __cnfn as_short16(uint8);
   6743 short16 __ovld __cnfn as_short16(long3);
   6744 short16 __ovld __cnfn as_short16(long4);
   6745 short16 __ovld __cnfn as_short16(ulong3);
   6746 short16 __ovld __cnfn as_short16(ulong4);
   6747 short16 __ovld __cnfn as_short16(float8);
   6748 
   6749 ushort __ovld __cnfn as_ushort(char2);
   6750 ushort __ovld __cnfn as_ushort(uchar2);
   6751 ushort __ovld __cnfn as_ushort(short);
   6752 ushort __ovld __cnfn as_ushort(ushort);
   6753 
   6754 ushort2 __ovld __cnfn as_ushort2(char3);
   6755 ushort2 __ovld __cnfn as_ushort2(char4);
   6756 ushort2 __ovld __cnfn as_ushort2(uchar3);
   6757 ushort2 __ovld __cnfn as_ushort2(uchar4);
   6758 ushort2 __ovld __cnfn as_ushort2(short2);
   6759 ushort2 __ovld __cnfn as_ushort2(ushort2);
   6760 ushort2 __ovld __cnfn as_ushort2(int);
   6761 ushort2 __ovld __cnfn as_ushort2(uint);
   6762 ushort2 __ovld __cnfn as_ushort2(float);
   6763 
   6764 ushort3 __ovld __cnfn as_ushort3(char8);
   6765 ushort3 __ovld __cnfn as_ushort3(uchar8);
   6766 ushort3 __ovld __cnfn as_ushort3(short3);
   6767 ushort3 __ovld __cnfn as_ushort3(short4);
   6768 ushort3 __ovld __cnfn as_ushort3(ushort3);
   6769 ushort3 __ovld __cnfn as_ushort3(ushort4);
   6770 ushort3 __ovld __cnfn as_ushort3(int2);
   6771 ushort3 __ovld __cnfn as_ushort3(uint2);
   6772 ushort3 __ovld __cnfn as_ushort3(long);
   6773 ushort3 __ovld __cnfn as_ushort3(ulong);
   6774 ushort3 __ovld __cnfn as_ushort3(float2);
   6775 
   6776 ushort4 __ovld __cnfn as_ushort4(char8);
   6777 ushort4 __ovld __cnfn as_ushort4(uchar8);
   6778 ushort4 __ovld __cnfn as_ushort4(short3);
   6779 ushort4 __ovld __cnfn as_ushort4(short4);
   6780 ushort4 __ovld __cnfn as_ushort4(ushort3);
   6781 ushort4 __ovld __cnfn as_ushort4(ushort4);
   6782 ushort4 __ovld __cnfn as_ushort4(int2);
   6783 ushort4 __ovld __cnfn as_ushort4(uint2);
   6784 ushort4 __ovld __cnfn as_ushort4(long);
   6785 ushort4 __ovld __cnfn as_ushort4(ulong);
   6786 ushort4 __ovld __cnfn as_ushort4(float2);
   6787 
   6788 ushort8 __ovld __cnfn as_ushort8(char16);
   6789 ushort8 __ovld __cnfn as_ushort8(uchar16);
   6790 ushort8 __ovld __cnfn as_ushort8(short8);
   6791 ushort8 __ovld __cnfn as_ushort8(ushort8);
   6792 ushort8 __ovld __cnfn as_ushort8(int3);
   6793 ushort8 __ovld __cnfn as_ushort8(int4);
   6794 ushort8 __ovld __cnfn as_ushort8(uint3);
   6795 ushort8 __ovld __cnfn as_ushort8(uint4);
   6796 ushort8 __ovld __cnfn as_ushort8(long2);
   6797 ushort8 __ovld __cnfn as_ushort8(ulong2);
   6798 ushort8 __ovld __cnfn as_ushort8(float3);
   6799 ushort8 __ovld __cnfn as_ushort8(float4);
   6800 
   6801 ushort16 __ovld __cnfn as_ushort16(short16);
   6802 ushort16 __ovld __cnfn as_ushort16(ushort16);
   6803 ushort16 __ovld __cnfn as_ushort16(int8);
   6804 ushort16 __ovld __cnfn as_ushort16(uint8);
   6805 ushort16 __ovld __cnfn as_ushort16(long3);
   6806 ushort16 __ovld __cnfn as_ushort16(long4);
   6807 ushort16 __ovld __cnfn as_ushort16(ulong3);
   6808 ushort16 __ovld __cnfn as_ushort16(ulong4);
   6809 ushort16 __ovld __cnfn as_ushort16(float8);
   6810 
   6811 int __ovld __cnfn as_int(char3);
   6812 int __ovld __cnfn as_int(char4);
   6813 int __ovld __cnfn as_int(uchar3);
   6814 int __ovld __cnfn as_int(uchar4);
   6815 int __ovld __cnfn as_int(short2);
   6816 int __ovld __cnfn as_int(ushort2);
   6817 int __ovld __cnfn as_int(int);
   6818 int __ovld __cnfn as_int(uint);
   6819 int __ovld __cnfn as_int(float);
   6820 
   6821 int2 __ovld __cnfn as_int2(char8);
   6822 int2 __ovld __cnfn as_int2(uchar8);
   6823 int2 __ovld __cnfn as_int2(short3);
   6824 int2 __ovld __cnfn as_int2(short4);
   6825 int2 __ovld __cnfn as_int2(ushort3);
   6826 int2 __ovld __cnfn as_int2(ushort4);
   6827 int2 __ovld __cnfn as_int2(int2);
   6828 int2 __ovld __cnfn as_int2(uint2);
   6829 int2 __ovld __cnfn as_int2(long);
   6830 int2 __ovld __cnfn as_int2(ulong);
   6831 int2 __ovld __cnfn as_int2(float2);
   6832 
   6833 int3 __ovld __cnfn as_int3(char16);
   6834 int3 __ovld __cnfn as_int3(uchar16);
   6835 int3 __ovld __cnfn as_int3(short8);
   6836 int3 __ovld __cnfn as_int3(ushort8);
   6837 int3 __ovld __cnfn as_int3(int3);
   6838 int3 __ovld __cnfn as_int3(int4);
   6839 int3 __ovld __cnfn as_int3(uint3);
   6840 int3 __ovld __cnfn as_int3(uint4);
   6841 int3 __ovld __cnfn as_int3(long2);
   6842 int3 __ovld __cnfn as_int3(ulong2);
   6843 int3 __ovld __cnfn as_int3(float3);
   6844 int3 __ovld __cnfn as_int3(float4);
   6845 
   6846 int4 __ovld __cnfn as_int4(char16);
   6847 int4 __ovld __cnfn as_int4(uchar16);
   6848 int4 __ovld __cnfn as_int4(short8);
   6849 int4 __ovld __cnfn as_int4(ushort8);
   6850 int4 __ovld __cnfn as_int4(int3);
   6851 int4 __ovld __cnfn as_int4(int4);
   6852 int4 __ovld __cnfn as_int4(uint3);
   6853 int4 __ovld __cnfn as_int4(uint4);
   6854 int4 __ovld __cnfn as_int4(long2);
   6855 int4 __ovld __cnfn as_int4(ulong2);
   6856 int4 __ovld __cnfn as_int4(float3);
   6857 int4 __ovld __cnfn as_int4(float4);
   6858 
   6859 int8 __ovld __cnfn as_int8(short16);
   6860 int8 __ovld __cnfn as_int8(ushort16);
   6861 int8 __ovld __cnfn as_int8(int8);
   6862 int8 __ovld __cnfn as_int8(uint8);
   6863 int8 __ovld __cnfn as_int8(long3);
   6864 int8 __ovld __cnfn as_int8(long4);
   6865 int8 __ovld __cnfn as_int8(ulong3);
   6866 int8 __ovld __cnfn as_int8(ulong4);
   6867 int8 __ovld __cnfn as_int8(float8);
   6868 
   6869 int16 __ovld __cnfn as_int16(int16);
   6870 int16 __ovld __cnfn as_int16(uint16);
   6871 int16 __ovld __cnfn as_int16(long8);
   6872 int16 __ovld __cnfn as_int16(ulong8);
   6873 int16 __ovld __cnfn as_int16(float16);
   6874 
   6875 uint __ovld __cnfn as_uint(char3);
   6876 uint __ovld __cnfn as_uint(char4);
   6877 uint __ovld __cnfn as_uint(uchar3);
   6878 uint __ovld __cnfn as_uint(uchar4);
   6879 uint __ovld __cnfn as_uint(short2);
   6880 uint __ovld __cnfn as_uint(ushort2);
   6881 uint __ovld __cnfn as_uint(int);
   6882 uint __ovld __cnfn as_uint(uint);
   6883 uint __ovld __cnfn as_uint(float);
   6884 
   6885 uint2 __ovld __cnfn as_uint2(char8);
   6886 uint2 __ovld __cnfn as_uint2(uchar8);
   6887 uint2 __ovld __cnfn as_uint2(short3);
   6888 uint2 __ovld __cnfn as_uint2(short4);
   6889 uint2 __ovld __cnfn as_uint2(ushort3);
   6890 uint2 __ovld __cnfn as_uint2(ushort4);
   6891 uint2 __ovld __cnfn as_uint2(int2);
   6892 uint2 __ovld __cnfn as_uint2(uint2);
   6893 uint2 __ovld __cnfn as_uint2(long);
   6894 uint2 __ovld __cnfn as_uint2(ulong);
   6895 uint2 __ovld __cnfn as_uint2(float2);
   6896 
   6897 uint3 __ovld __cnfn as_uint3(char16);
   6898 uint3 __ovld __cnfn as_uint3(uchar16);
   6899 uint3 __ovld __cnfn as_uint3(short8);
   6900 uint3 __ovld __cnfn as_uint3(ushort8);
   6901 uint3 __ovld __cnfn as_uint3(int3);
   6902 uint3 __ovld __cnfn as_uint3(int4);
   6903 uint3 __ovld __cnfn as_uint3(uint3);
   6904 uint3 __ovld __cnfn as_uint3(uint4);
   6905 uint3 __ovld __cnfn as_uint3(long2);
   6906 uint3 __ovld __cnfn as_uint3(ulong2);
   6907 uint3 __ovld __cnfn as_uint3(float3);
   6908 uint3 __ovld __cnfn as_uint3(float4);
   6909 
   6910 uint4 __ovld __cnfn as_uint4(char16);
   6911 uint4 __ovld __cnfn as_uint4(uchar16);
   6912 uint4 __ovld __cnfn as_uint4(short8);
   6913 uint4 __ovld __cnfn as_uint4(ushort8);
   6914 uint4 __ovld __cnfn as_uint4(int3);
   6915 uint4 __ovld __cnfn as_uint4(int4);
   6916 uint4 __ovld __cnfn as_uint4(uint3);
   6917 uint4 __ovld __cnfn as_uint4(uint4);
   6918 uint4 __ovld __cnfn as_uint4(long2);
   6919 uint4 __ovld __cnfn as_uint4(ulong2);
   6920 uint4 __ovld __cnfn as_uint4(float3);
   6921 uint4 __ovld __cnfn as_uint4(float4);
   6922 
   6923 uint8 __ovld __cnfn as_uint8(short16);
   6924 uint8 __ovld __cnfn as_uint8(ushort16);
   6925 uint8 __ovld __cnfn as_uint8(int8);
   6926 uint8 __ovld __cnfn as_uint8(uint8);
   6927 uint8 __ovld __cnfn as_uint8(long3);
   6928 uint8 __ovld __cnfn as_uint8(long4);
   6929 uint8 __ovld __cnfn as_uint8(ulong3);
   6930 uint8 __ovld __cnfn as_uint8(ulong4);
   6931 uint8 __ovld __cnfn as_uint8(float8);
   6932 
   6933 uint16 __ovld __cnfn as_uint16(int16);
   6934 uint16 __ovld __cnfn as_uint16(uint16);
   6935 uint16 __ovld __cnfn as_uint16(long8);
   6936 uint16 __ovld __cnfn as_uint16(ulong8);
   6937 uint16 __ovld __cnfn as_uint16(float16);
   6938 
   6939 long __ovld __cnfn as_long(char8);
   6940 long __ovld __cnfn as_long(uchar8);
   6941 long __ovld __cnfn as_long(short3);
   6942 long __ovld __cnfn as_long(short4);
   6943 long __ovld __cnfn as_long(ushort3);
   6944 long __ovld __cnfn as_long(ushort4);
   6945 long __ovld __cnfn as_long(int2);
   6946 long __ovld __cnfn as_long(uint2);
   6947 long __ovld __cnfn as_long(long);
   6948 long __ovld __cnfn as_long(ulong);
   6949 long __ovld __cnfn as_long(float2);
   6950 
   6951 long2 __ovld __cnfn as_long2(char16);
   6952 long2 __ovld __cnfn as_long2(uchar16);
   6953 long2 __ovld __cnfn as_long2(short8);
   6954 long2 __ovld __cnfn as_long2(ushort8);
   6955 long2 __ovld __cnfn as_long2(int3);
   6956 long2 __ovld __cnfn as_long2(int4);
   6957 long2 __ovld __cnfn as_long2(uint3);
   6958 long2 __ovld __cnfn as_long2(uint4);
   6959 long2 __ovld __cnfn as_long2(long2);
   6960 long2 __ovld __cnfn as_long2(ulong2);
   6961 long2 __ovld __cnfn as_long2(float3);
   6962 long2 __ovld __cnfn as_long2(float4);
   6963 
   6964 long3 __ovld __cnfn as_long3(short16);
   6965 long3 __ovld __cnfn as_long3(ushort16);
   6966 long3 __ovld __cnfn as_long3(int8);
   6967 long3 __ovld __cnfn as_long3(uint8);
   6968 long3 __ovld __cnfn as_long3(long3);
   6969 long3 __ovld __cnfn as_long3(long4);
   6970 long3 __ovld __cnfn as_long3(ulong3);
   6971 long3 __ovld __cnfn as_long3(ulong4);
   6972 long3 __ovld __cnfn as_long3(float8);
   6973 
   6974 long4 __ovld __cnfn as_long4(short16);
   6975 long4 __ovld __cnfn as_long4(ushort16);
   6976 long4 __ovld __cnfn as_long4(int8);
   6977 long4 __ovld __cnfn as_long4(uint8);
   6978 long4 __ovld __cnfn as_long4(long3);
   6979 long4 __ovld __cnfn as_long4(long4);
   6980 long4 __ovld __cnfn as_long4(ulong3);
   6981 long4 __ovld __cnfn as_long4(ulong4);
   6982 long4 __ovld __cnfn as_long4(float8);
   6983 
   6984 long8 __ovld __cnfn as_long8(int16);
   6985 long8 __ovld __cnfn as_long8(uint16);
   6986 long8 __ovld __cnfn as_long8(long8);
   6987 long8 __ovld __cnfn as_long8(ulong8);
   6988 long8 __ovld __cnfn as_long8(float16);
   6989 
   6990 long16 __ovld __cnfn as_long16(long16);
   6991 long16 __ovld __cnfn as_long16(ulong16);
   6992 
   6993 ulong __ovld __cnfn as_ulong(char8);
   6994 ulong __ovld __cnfn as_ulong(uchar8);
   6995 ulong __ovld __cnfn as_ulong(short3);
   6996 ulong __ovld __cnfn as_ulong(short4);
   6997 ulong __ovld __cnfn as_ulong(ushort3);
   6998 ulong __ovld __cnfn as_ulong(ushort4);
   6999 ulong __ovld __cnfn as_ulong(int2);
   7000 ulong __ovld __cnfn as_ulong(uint2);
   7001 ulong __ovld __cnfn as_ulong(long);
   7002 ulong __ovld __cnfn as_ulong(ulong);
   7003 ulong __ovld __cnfn as_ulong(float2);
   7004 
   7005 ulong2 __ovld __cnfn as_ulong2(char16);
   7006 ulong2 __ovld __cnfn as_ulong2(uchar16);
   7007 ulong2 __ovld __cnfn as_ulong2(short8);
   7008 ulong2 __ovld __cnfn as_ulong2(ushort8);
   7009 ulong2 __ovld __cnfn as_ulong2(int3);
   7010 ulong2 __ovld __cnfn as_ulong2(int4);
   7011 ulong2 __ovld __cnfn as_ulong2(uint3);
   7012 ulong2 __ovld __cnfn as_ulong2(uint4);
   7013 ulong2 __ovld __cnfn as_ulong2(long2);
   7014 ulong2 __ovld __cnfn as_ulong2(ulong2);
   7015 ulong2 __ovld __cnfn as_ulong2(float3);
   7016 ulong2 __ovld __cnfn as_ulong2(float4);
   7017 
   7018 ulong3 __ovld __cnfn as_ulong3(short16);
   7019 ulong3 __ovld __cnfn as_ulong3(ushort16);
   7020 ulong3 __ovld __cnfn as_ulong3(int8);
   7021 ulong3 __ovld __cnfn as_ulong3(uint8);
   7022 ulong3 __ovld __cnfn as_ulong3(long3);
   7023 ulong3 __ovld __cnfn as_ulong3(long4);
   7024 ulong3 __ovld __cnfn as_ulong3(ulong3);
   7025 ulong3 __ovld __cnfn as_ulong3(ulong4);
   7026 ulong3 __ovld __cnfn as_ulong3(float8);
   7027 
   7028 ulong4 __ovld __cnfn as_ulong4(short16);
   7029 ulong4 __ovld __cnfn as_ulong4(ushort16);
   7030 ulong4 __ovld __cnfn as_ulong4(int8);
   7031 ulong4 __ovld __cnfn as_ulong4(uint8);
   7032 ulong4 __ovld __cnfn as_ulong4(long3);
   7033 ulong4 __ovld __cnfn as_ulong4(long4);
   7034 ulong4 __ovld __cnfn as_ulong4(ulong3);
   7035 ulong4 __ovld __cnfn as_ulong4(ulong4);
   7036 ulong4 __ovld __cnfn as_ulong4(float8);
   7037 
   7038 ulong8 __ovld __cnfn as_ulong8(int16);
   7039 ulong8 __ovld __cnfn as_ulong8(uint16);
   7040 ulong8 __ovld __cnfn as_ulong8(long8);
   7041 ulong8 __ovld __cnfn as_ulong8(ulong8);
   7042 ulong8 __ovld __cnfn as_ulong8(float16);
   7043 
   7044 ulong16 __ovld __cnfn as_ulong16(long16);
   7045 ulong16 __ovld __cnfn as_ulong16(ulong16);
   7046 
   7047 float __ovld __cnfn as_float(char3);
   7048 float __ovld __cnfn as_float(char4);
   7049 float __ovld __cnfn as_float(uchar3);
   7050 float __ovld __cnfn as_float(uchar4);
   7051 float __ovld __cnfn as_float(short2);
   7052 float __ovld __cnfn as_float(ushort2);
   7053 float __ovld __cnfn as_float(int);
   7054 float __ovld __cnfn as_float(uint);
   7055 float __ovld __cnfn as_float(float);
   7056 
   7057 float2 __ovld __cnfn as_float2(char8);
   7058 float2 __ovld __cnfn as_float2(uchar8);
   7059 float2 __ovld __cnfn as_float2(short3);
   7060 float2 __ovld __cnfn as_float2(short4);
   7061 float2 __ovld __cnfn as_float2(ushort3);
   7062 float2 __ovld __cnfn as_float2(ushort4);
   7063 float2 __ovld __cnfn as_float2(int2);
   7064 float2 __ovld __cnfn as_float2(uint2);
   7065 float2 __ovld __cnfn as_float2(long);
   7066 float2 __ovld __cnfn as_float2(ulong);
   7067 float2 __ovld __cnfn as_float2(float2);
   7068 
   7069 float3 __ovld __cnfn as_float3(char16);
   7070 float3 __ovld __cnfn as_float3(uchar16);
   7071 float3 __ovld __cnfn as_float3(short8);
   7072 float3 __ovld __cnfn as_float3(ushort8);
   7073 float3 __ovld __cnfn as_float3(int3);
   7074 float3 __ovld __cnfn as_float3(int4);
   7075 float3 __ovld __cnfn as_float3(uint3);
   7076 float3 __ovld __cnfn as_float3(uint4);
   7077 float3 __ovld __cnfn as_float3(long2);
   7078 float3 __ovld __cnfn as_float3(ulong2);
   7079 float3 __ovld __cnfn as_float3(float3);
   7080 float3 __ovld __cnfn as_float3(float4);
   7081 
   7082 float4 __ovld __cnfn as_float4(char16);
   7083 float4 __ovld __cnfn as_float4(uchar16);
   7084 float4 __ovld __cnfn as_float4(short8);
   7085 float4 __ovld __cnfn as_float4(ushort8);
   7086 float4 __ovld __cnfn as_float4(int3);
   7087 float4 __ovld __cnfn as_float4(int4);
   7088 float4 __ovld __cnfn as_float4(uint3);
   7089 float4 __ovld __cnfn as_float4(uint4);
   7090 float4 __ovld __cnfn as_float4(long2);
   7091 float4 __ovld __cnfn as_float4(ulong2);
   7092 float4 __ovld __cnfn as_float4(float3);
   7093 float4 __ovld __cnfn as_float4(float4);
   7094 
   7095 float8 __ovld __cnfn as_float8(short16);
   7096 float8 __ovld __cnfn as_float8(ushort16);
   7097 float8 __ovld __cnfn as_float8(int8);
   7098 float8 __ovld __cnfn as_float8(uint8);
   7099 float8 __ovld __cnfn as_float8(long3);
   7100 float8 __ovld __cnfn as_float8(long4);
   7101 float8 __ovld __cnfn as_float8(ulong3);
   7102 float8 __ovld __cnfn as_float8(ulong4);
   7103 float8 __ovld __cnfn as_float8(float8);
   7104 
   7105 float16 __ovld __cnfn as_float16(int16);
   7106 float16 __ovld __cnfn as_float16(uint16);
   7107 float16 __ovld __cnfn as_float16(long8);
   7108 float16 __ovld __cnfn as_float16(ulong8);
   7109 float16 __ovld __cnfn as_float16(float16);
   7110 
   7111 #ifdef cl_khr_fp64
   7112 char8 __ovld __cnfn as_char8(double);
   7113 char16 __ovld __cnfn as_char16(double2);
   7114 uchar8 __ovld __cnfn as_uchar8(double);
   7115 uchar16 __ovld __cnfn as_uchar16(double2);
   7116 short3 __ovld __cnfn as_short3(double);
   7117 short4 __ovld __cnfn as_short4(double);
   7118 short8 __ovld __cnfn as_short8(double2);
   7119 short16 __ovld __cnfn as_short16(double3);
   7120 short16 __ovld __cnfn as_short16(double4);
   7121 ushort3 __ovld __cnfn as_ushort3(double);
   7122 ushort4 __ovld __cnfn as_ushort4(double);
   7123 ushort8 __ovld __cnfn as_ushort8(double2);
   7124 ushort16 __ovld __cnfn as_ushort16(double3);
   7125 ushort16 __ovld __cnfn as_ushort16(double4);
   7126 int2 __ovld __cnfn as_int2(double);
   7127 int3 __ovld __cnfn as_int3(double2);
   7128 int4 __ovld __cnfn as_int4(double2);
   7129 int8 __ovld __cnfn as_int8(double3);
   7130 int8 __ovld __cnfn as_int8(double4);
   7131 int16 __ovld __cnfn as_int16(double8);
   7132 uint2 __ovld __cnfn as_uint2(double);
   7133 uint3 __ovld __cnfn as_uint3(double2);
   7134 uint4 __ovld __cnfn as_uint4(double2);
   7135 uint8 __ovld __cnfn as_uint8(double3);
   7136 uint8 __ovld __cnfn as_uint8(double4);
   7137 uint16 __ovld __cnfn as_uint16(double8);
   7138 long __ovld __cnfn as_long(double);
   7139 long2 __ovld __cnfn as_long2(double2);
   7140 long3 __ovld __cnfn as_long3(double3);
   7141 long3 __ovld __cnfn as_long3(double4);
   7142 long4 __ovld __cnfn as_long4(double3);
   7143 long4 __ovld __cnfn as_long4(double4);
   7144 long8 __ovld __cnfn as_long8(double8);
   7145 long16 __ovld __cnfn as_long16(double16);
   7146 ulong __ovld __cnfn as_ulong(double);
   7147 ulong2 __ovld __cnfn as_ulong2(double2);
   7148 ulong3 __ovld __cnfn as_ulong3(double3);
   7149 ulong3 __ovld __cnfn as_ulong3(double4);
   7150 ulong4 __ovld __cnfn as_ulong4(double3);
   7151 ulong4 __ovld __cnfn as_ulong4(double4);
   7152 ulong8 __ovld __cnfn as_ulong8(double8);
   7153 ulong16 __ovld __cnfn as_ulong16(double16);
   7154 float2 __ovld __cnfn as_float2(double);
   7155 float3 __ovld __cnfn as_float3(double2);
   7156 float4 __ovld __cnfn as_float4(double2);
   7157 float8 __ovld __cnfn as_float8(double3);
   7158 float8 __ovld __cnfn as_float8(double4);
   7159 float16 __ovld __cnfn as_float16(double8);
   7160 double __ovld __cnfn as_double(char8);
   7161 double __ovld __cnfn as_double(uchar8);
   7162 double __ovld __cnfn as_double(short3);
   7163 double __ovld __cnfn as_double(short4);
   7164 double __ovld __cnfn as_double(ushort3);
   7165 double __ovld __cnfn as_double(ushort4);
   7166 double __ovld __cnfn as_double(int2);
   7167 double __ovld __cnfn as_double(uint2);
   7168 double __ovld __cnfn as_double(long);
   7169 double __ovld __cnfn as_double(ulong);
   7170 double __ovld __cnfn as_double(float2);
   7171 double __ovld __cnfn as_double(double);
   7172 double2 __ovld __cnfn as_double2(char16);
   7173 double2 __ovld __cnfn as_double2(uchar16);
   7174 double2 __ovld __cnfn as_double2(short8);
   7175 double2 __ovld __cnfn as_double2(ushort8);
   7176 double2 __ovld __cnfn as_double2(int3);
   7177 double2 __ovld __cnfn as_double2(int4);
   7178 double2 __ovld __cnfn as_double2(uint3);
   7179 double2 __ovld __cnfn as_double2(uint4);
   7180 double2 __ovld __cnfn as_double2(long2);
   7181 double2 __ovld __cnfn as_double2(ulong2);
   7182 double2 __ovld __cnfn as_double2(float3);
   7183 double2 __ovld __cnfn as_double2(float4);
   7184 double2 __ovld __cnfn as_double2(double2);
   7185 double3 __ovld __cnfn as_double3(short16);
   7186 double3 __ovld __cnfn as_double3(ushort16);
   7187 double3 __ovld __cnfn as_double3(int8);
   7188 double3 __ovld __cnfn as_double3(uint8);
   7189 double3 __ovld __cnfn as_double3(long3);
   7190 double3 __ovld __cnfn as_double3(long4);
   7191 double3 __ovld __cnfn as_double3(ulong3);
   7192 double3 __ovld __cnfn as_double3(ulong4);
   7193 double3 __ovld __cnfn as_double3(float8);
   7194 double3 __ovld __cnfn as_double3(double3);
   7195 double3 __ovld __cnfn as_double3(double4);
   7196 double4 __ovld __cnfn as_double4(short16);
   7197 double4 __ovld __cnfn as_double4(ushort16);
   7198 double4 __ovld __cnfn as_double4(int8);
   7199 double4 __ovld __cnfn as_double4(uint8);
   7200 double4 __ovld __cnfn as_double4(long3);
   7201 double4 __ovld __cnfn as_double4(long4);
   7202 double4 __ovld __cnfn as_double4(ulong3);
   7203 double4 __ovld __cnfn as_double4(ulong4);
   7204 double4 __ovld __cnfn as_double4(float8);
   7205 double4 __ovld __cnfn as_double4(double3);
   7206 double4 __ovld __cnfn as_double4(double4);
   7207 double8 __ovld __cnfn as_double8(int16);
   7208 double8 __ovld __cnfn as_double8(uint16);
   7209 double8 __ovld __cnfn as_double8(long8);
   7210 double8 __ovld __cnfn as_double8(ulong8);
   7211 double8 __ovld __cnfn as_double8(float16);
   7212 double8 __ovld __cnfn as_double8(double8);
   7213 double16 __ovld __cnfn as_double16(long16);
   7214 double16 __ovld __cnfn as_double16(ulong16);
   7215 double16 __ovld __cnfn as_double16(double16);
   7216 #endif //cl_khr_fp64
   7217 
   7218 #ifdef cl_khr_fp16
   7219 char2 __ovld __cnfn as_char2(half);
   7220 char3 __ovld __cnfn as_char3(half2);
   7221 char4 __ovld __cnfn as_char4(half2);
   7222 char8 __ovld __cnfn as_char8(half3);
   7223 char8 __ovld __cnfn as_char8(half4);
   7224 char16 __ovld __cnfn as_char16(half8);
   7225 uchar2 __ovld __cnfn as_uchar2(half);
   7226 uchar3 __ovld __cnfn as_uchar3(half2);
   7227 uchar4 __ovld __cnfn as_uchar4(half2);
   7228 uchar8 __ovld __cnfn as_uchar8(half3);
   7229 uchar8 __ovld __cnfn as_uchar8(half4);
   7230 uchar16 __ovld __cnfn as_uchar16(half8);
   7231 short __ovld __cnfn as_short(half);
   7232 short2 __ovld __cnfn as_short2(half2);
   7233 short3 __ovld __cnfn as_short3(half3);
   7234 short3 __ovld __cnfn as_short3(half4);
   7235 short4 __ovld __cnfn as_short4(half3);
   7236 short4 __ovld __cnfn as_short4(half4);
   7237 short8 __ovld __cnfn as_short8(half8);
   7238 short16 __ovld __cnfn as_short16(half16);
   7239 ushort __ovld __cnfn as_ushort(half);
   7240 ushort2 __ovld __cnfn as_ushort2(half2);
   7241 ushort3 __ovld __cnfn as_ushort3(half3);
   7242 ushort3 __ovld __cnfn as_ushort3(half4);
   7243 ushort4 __ovld __cnfn as_ushort4(half3);
   7244 ushort4 __ovld __cnfn as_ushort4(half4);
   7245 ushort8 __ovld __cnfn as_ushort8(half8);
   7246 ushort16 __ovld __cnfn as_ushort16(half16);
   7247 int __ovld __cnfn as_int(half2);
   7248 int2 __ovld __cnfn as_int2(half3);
   7249 int2 __ovld __cnfn as_int2(half4);
   7250 int3 __ovld __cnfn as_int3(half8);
   7251 int4 __ovld __cnfn as_int4(half8);
   7252 int8 __ovld __cnfn as_int8(half16);
   7253 uint __ovld __cnfn as_uint(half2);
   7254 uint2 __ovld __cnfn as_uint2(half3);
   7255 uint2 __ovld __cnfn as_uint2(half4);
   7256 uint3 __ovld __cnfn as_uint3(half8);
   7257 uint4 __ovld __cnfn as_uint4(half8);
   7258 uint8 __ovld __cnfn as_uint8(half16);
   7259 long __ovld __cnfn as_long(half3);
   7260 long __ovld __cnfn as_long(half4);
   7261 long2 __ovld __cnfn as_long2(half8);
   7262 long3 __ovld __cnfn as_long3(half16);
   7263 long4 __ovld __cnfn as_long4(half16);
   7264 ulong __ovld __cnfn as_ulong(half3);
   7265 ulong __ovld __cnfn as_ulong(half4);
   7266 ulong2 __ovld __cnfn as_ulong2(half8);
   7267 ulong3 __ovld __cnfn as_ulong3(half16);
   7268 ulong4 __ovld __cnfn as_ulong4(half16);
   7269 half __ovld __cnfn as_half(char2);
   7270 half __ovld __cnfn as_half(uchar2);
   7271 half __ovld __cnfn as_half(short);
   7272 half __ovld __cnfn as_half(ushort);
   7273 half __ovld __cnfn as_half(half);
   7274 half2 __ovld __cnfn as_half2(char3);
   7275 half2 __ovld __cnfn as_half2(char4);
   7276 half2 __ovld __cnfn as_half2(uchar3);
   7277 half2 __ovld __cnfn as_half2(uchar4);
   7278 half2 __ovld __cnfn as_half2(short2);
   7279 half2 __ovld __cnfn as_half2(ushort2);
   7280 half2 __ovld __cnfn as_half2(int);
   7281 half2 __ovld __cnfn as_half2(uint);
   7282 half2 __ovld __cnfn as_half2(half2);
   7283 half2 __ovld __cnfn as_half2(float);
   7284 half3 __ovld __cnfn as_half3(char8);
   7285 half3 __ovld __cnfn as_half3(uchar8);
   7286 half3 __ovld __cnfn as_half3(short3);
   7287 half3 __ovld __cnfn as_half3(short4);
   7288 half3 __ovld __cnfn as_half3(ushort3);
   7289 half3 __ovld __cnfn as_half3(ushort4);
   7290 half3 __ovld __cnfn as_half3(int2);
   7291 half3 __ovld __cnfn as_half3(uint2);
   7292 half3 __ovld __cnfn as_half3(long);
   7293 half3 __ovld __cnfn as_half3(ulong);
   7294 half3 __ovld __cnfn as_half3(half3);
   7295 half3 __ovld __cnfn as_half3(half4);
   7296 half3 __ovld __cnfn as_half3(float2);
   7297 half4 __ovld __cnfn as_half4(char8);
   7298 half4 __ovld __cnfn as_half4(uchar8);
   7299 half4 __ovld __cnfn as_half4(short3);
   7300 half4 __ovld __cnfn as_half4(short4);
   7301 half4 __ovld __cnfn as_half4(ushort3);
   7302 half4 __ovld __cnfn as_half4(ushort4);
   7303 half4 __ovld __cnfn as_half4(int2);
   7304 half4 __ovld __cnfn as_half4(uint2);
   7305 half4 __ovld __cnfn as_half4(long);
   7306 half4 __ovld __cnfn as_half4(ulong);
   7307 half4 __ovld __cnfn as_half4(half3);
   7308 half4 __ovld __cnfn as_half4(half4);
   7309 half4 __ovld __cnfn as_half4(float2);
   7310 half8 __ovld __cnfn as_half8(char16);
   7311 half8 __ovld __cnfn as_half8(uchar16);
   7312 half8 __ovld __cnfn as_half8(short8);
   7313 half8 __ovld __cnfn as_half8(ushort8);
   7314 half8 __ovld __cnfn as_half8(int3);
   7315 half8 __ovld __cnfn as_half8(int4);
   7316 half8 __ovld __cnfn as_half8(uint3);
   7317 half8 __ovld __cnfn as_half8(uint4);
   7318 half8 __ovld __cnfn as_half8(long2);
   7319 half8 __ovld __cnfn as_half8(ulong2);
   7320 half8 __ovld __cnfn as_half8(half8);
   7321 half8 __ovld __cnfn as_half8(float3);
   7322 half8 __ovld __cnfn as_half8(float4);
   7323 half16 __ovld __cnfn as_half16(short16);
   7324 half16 __ovld __cnfn as_half16(ushort16);
   7325 half16 __ovld __cnfn as_half16(int8);
   7326 half16 __ovld __cnfn as_half16(uint8);
   7327 half16 __ovld __cnfn as_half16(long3);
   7328 half16 __ovld __cnfn as_half16(long4);
   7329 half16 __ovld __cnfn as_half16(ulong3);
   7330 half16 __ovld __cnfn as_half16(ulong4);
   7331 half16 __ovld __cnfn as_half16(half16);
   7332 half16 __ovld __cnfn as_half16(float8);
   7333 float __ovld __cnfn as_float(half2);
   7334 float2 __ovld __cnfn as_float2(half3);
   7335 float2 __ovld __cnfn as_float2(half4);
   7336 float3 __ovld __cnfn as_float3(half8);
   7337 float4 __ovld __cnfn as_float4(half8);
   7338 float8 __ovld __cnfn as_float8(half16);
   7339 
   7340 #ifdef cl_khr_fp64
   7341 half3 __ovld __cnfn as_half3(double);
   7342 half4 __ovld __cnfn as_half4(double);
   7343 half8 __ovld __cnfn as_half8(double2);
   7344 half16 __ovld __cnfn as_half16(double3);
   7345 half16 __ovld __cnfn as_half16(double4);
   7346 double __ovld __cnfn as_double(half3);
   7347 double __ovld __cnfn as_double(half4);
   7348 double2 __ovld __cnfn as_double2(half8);
   7349 double3 __ovld __cnfn as_double3(half16);
   7350 double4 __ovld __cnfn as_double4(half16);
   7351 #endif //cl_khr_fp64
   7352 #endif //cl_khr_fp16
   7353 
   7354 // OpenCL v1.1 s6.9, v1.2/2.0 s6.10 - Function qualifiers
   7355 
   7356 #define __kernel_exec(X, typen) __kernel \
   7357 	__attribute__((work_group_size_hint(X, 1, 1))) \
   7358 	__attribute__((vec_type_hint(typen)))
   7359 
   7360 #define kernel_exec(X, typen) __kernel \
   7361 	__attribute__((work_group_size_hint(X, 1, 1))) \
   7362 	__attribute__((vec_type_hint(typen)))
   7363 
   7364 // OpenCL v1.1 s6.11.1, v1.2 s6.12.1, v2.0 s6.13.1 - Work-item Functions
   7365 
   7366 /**
   7367  * Returns the number of dimensions in use. This is the
   7368  * value given to the work_dim argument specified in
   7369  * clEnqueueNDRangeKernel.
   7370  * For clEnqueueTask, this returns 1.
   7371  */
   7372 uint __ovld __cnfn get_work_dim(void);
   7373 
   7374 /**
   7375  * Returns the number of global work-items specified for
   7376  * dimension identified by dimindx. This value is given by
   7377  * the global_work_size argument to
   7378  * clEnqueueNDRangeKernel. Valid values of dimindx
   7379  * are 0 to get_work_dim() - 1. For other values of
   7380  * dimindx, get_global_size() returns 1.
   7381  * For clEnqueueTask, this always returns 1.
   7382  */
   7383 size_t __ovld __cnfn get_global_size(uint dimindx);
   7384 
   7385 /**
   7386  * Returns the unique global work-item ID value for
   7387  * dimension identified by dimindx. The global work-item
   7388  * ID specifies the work-item ID based on the number of
   7389  * global work-items specified to execute the kernel. Valid
   7390  * values of dimindx are 0 to get_work_dim() - 1. For
   7391  * other values of dimindx, get_global_id() returns 0.
   7392  * For clEnqueueTask, this returns 0.
   7393  */
   7394 size_t __ovld __cnfn get_global_id(uint dimindx);
   7395 
   7396 /**
   7397  * Returns the number of local work-items specified in
   7398  * dimension identified by dimindx. This value is given by
   7399  * the local_work_size argument to
   7400  * clEnqueueNDRangeKernel if local_work_size is not
   7401  * NULL; otherwise the OpenCL implementation chooses
   7402  * an appropriate local_work_size value which is returned
   7403  * by this function. Valid values of dimindx are 0 to
   7404  * get_work_dim() - 1. For other values of dimindx,
   7405  * get_local_size() returns 1.
   7406  * For clEnqueueTask, this always returns 1.
   7407  */
   7408 size_t __ovld __cnfn get_local_size(uint dimindx);
   7409 
   7410 /**
   7411  * Returns the unique local work-item ID i.e. a work-item
   7412  * within a specific work-group for dimension identified by
   7413  * dimindx. Valid values of dimindx are 0 to
   7414  * get_work_dim() - 1. For other values of dimindx,
   7415  * get_local_id() returns 0.
   7416  * For clEnqueueTask, this returns 0.
   7417  */
   7418 size_t __ovld __cnfn get_local_id(uint dimindx);
   7419 
   7420 /**
   7421  * Returns the number of work-groups that will execute a
   7422  * kernel for dimension identified by dimindx.
   7423  * Valid values of dimindx are 0 to get_work_dim() - 1.
   7424  * For other values of dimindx, get_num_groups () returns
   7425  * 1.
   7426  * For clEnqueueTask, this always returns 1.
   7427  */
   7428 size_t __ovld __cnfn get_num_groups(uint dimindx);
   7429 
   7430 /**
   7431  * get_group_id returns the work-group ID which is a
   7432  * number from 0 .. get_num_groups(dimindx) - 1.
   7433  * Valid values of dimindx are 0 to get_work_dim() - 1.
   7434  * For other values, get_group_id() returns 0.
   7435  * For clEnqueueTask, this returns 0.
   7436  */
   7437 size_t __ovld __cnfn get_group_id(uint dimindx);
   7438 
   7439 /**
   7440  * get_global_offset returns the offset values specified in
   7441  * global_work_offset argument to
   7442  * clEnqueueNDRangeKernel.
   7443  * Valid values of dimindx are 0 to get_work_dim() - 1.
   7444  * For other values, get_global_offset() returns 0.
   7445  * For clEnqueueTask, this returns 0.
   7446  */
   7447 size_t __ovld __cnfn get_global_offset(uint dimindx);
   7448 
   7449 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   7450 size_t __ovld get_enqueued_local_size(uint dimindx);
   7451 size_t __ovld get_global_linear_id(void);
   7452 size_t __ovld get_local_linear_id(void);
   7453 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   7454 
   7455 // OpenCL v1.1 s6.11.2, v1.2 s6.12.2, v2.0 s6.13.2 - Math functions
   7456 
   7457 /**
   7458  * Arc cosine function.
   7459  */
   7460 float __ovld __cnfn acos(float);
   7461 float2 __ovld __cnfn acos(float2);
   7462 float3 __ovld __cnfn acos(float3);
   7463 float4 __ovld __cnfn acos(float4);
   7464 float8 __ovld __cnfn acos(float8);
   7465 float16 __ovld __cnfn acos(float16);
   7466 #ifdef cl_khr_fp64
   7467 double __ovld __cnfn acos(double);
   7468 double2 __ovld __cnfn acos(double2);
   7469 double3 __ovld __cnfn acos(double3);
   7470 double4 __ovld __cnfn acos(double4);
   7471 double8 __ovld __cnfn acos(double8);
   7472 double16 __ovld __cnfn acos(double16);
   7473 #endif //cl_khr_fp64
   7474 #ifdef cl_khr_fp16
   7475 half __ovld __cnfn acos(half);
   7476 half2 __ovld __cnfn acos(half2);
   7477 half3 __ovld __cnfn acos(half3);
   7478 half4 __ovld __cnfn acos(half4);
   7479 half8 __ovld __cnfn acos(half8);
   7480 half16 __ovld __cnfn acos(half16);
   7481 #endif //cl_khr_fp16
   7482 
   7483 /**
   7484  * Inverse hyperbolic cosine.
   7485  */
   7486 float __ovld __cnfn acosh(float);
   7487 float2 __ovld __cnfn acosh(float2);
   7488 float3 __ovld __cnfn acosh(float3);
   7489 float4 __ovld __cnfn acosh(float4);
   7490 float8 __ovld __cnfn acosh(float8);
   7491 float16 __ovld __cnfn acosh(float16);
   7492 #ifdef cl_khr_fp64
   7493 double __ovld __cnfn acosh(double);
   7494 double2 __ovld __cnfn acosh(double2);
   7495 double3 __ovld __cnfn acosh(double3);
   7496 double4 __ovld __cnfn acosh(double4);
   7497 double8 __ovld __cnfn acosh(double8);
   7498 double16 __ovld __cnfn acosh(double16);
   7499 #endif //cl_khr_fp64
   7500 #ifdef cl_khr_fp16
   7501 half __ovld __cnfn acosh(half);
   7502 half2 __ovld __cnfn acosh(half2);
   7503 half3 __ovld __cnfn acosh(half3);
   7504 half4 __ovld __cnfn acosh(half4);
   7505 half8 __ovld __cnfn acosh(half8);
   7506 half16 __ovld __cnfn acosh(half16);
   7507 #endif //cl_khr_fp16
   7508 
   7509 /**
   7510  * Compute acos (x) / PI.
   7511  */
   7512 float __ovld __cnfn acospi(float x);
   7513 float2 __ovld __cnfn acospi(float2 x);
   7514 float3 __ovld __cnfn acospi(float3 x);
   7515 float4 __ovld __cnfn acospi(float4 x);
   7516 float8 __ovld __cnfn acospi(float8 x);
   7517 float16 __ovld __cnfn acospi(float16 x);
   7518 #ifdef cl_khr_fp64
   7519 double __ovld __cnfn acospi(double x);
   7520 double2 __ovld __cnfn acospi(double2 x);
   7521 double3 __ovld __cnfn acospi(double3 x);
   7522 double4 __ovld __cnfn acospi(double4 x);
   7523 double8 __ovld __cnfn acospi(double8 x);
   7524 double16 __ovld __cnfn acospi(double16 x);
   7525 #endif //cl_khr_fp64
   7526 #ifdef cl_khr_fp16
   7527 half __ovld __cnfn acospi(half x);
   7528 half2 __ovld __cnfn acospi(half2 x);
   7529 half3 __ovld __cnfn acospi(half3 x);
   7530 half4 __ovld __cnfn acospi(half4 x);
   7531 half8 __ovld __cnfn acospi(half8 x);
   7532 half16 __ovld __cnfn acospi(half16 x);
   7533 #endif //cl_khr_fp16
   7534 
   7535 /**
   7536  * Arc sine function.
   7537  */
   7538 float __ovld __cnfn asin(float);
   7539 float2 __ovld __cnfn asin(float2);
   7540 float3 __ovld __cnfn asin(float3);
   7541 float4 __ovld __cnfn asin(float4);
   7542 float8 __ovld __cnfn asin(float8);
   7543 float16 __ovld __cnfn asin(float16);
   7544 #ifdef cl_khr_fp64
   7545 double __ovld __cnfn asin(double);
   7546 double2 __ovld __cnfn asin(double2);
   7547 double3 __ovld __cnfn asin(double3);
   7548 double4 __ovld __cnfn asin(double4);
   7549 double8 __ovld __cnfn asin(double8);
   7550 double16 __ovld __cnfn asin(double16);
   7551 #endif //cl_khr_fp64
   7552 #ifdef cl_khr_fp16
   7553 half __ovld __cnfn asin(half);
   7554 half2 __ovld __cnfn asin(half2);
   7555 half3 __ovld __cnfn asin(half3);
   7556 half4 __ovld __cnfn asin(half4);
   7557 half8 __ovld __cnfn asin(half8);
   7558 half16 __ovld __cnfn asin(half16);
   7559 #endif //cl_khr_fp16
   7560 
   7561 /**
   7562  * Inverse hyperbolic sine.
   7563  */
   7564 float __ovld __cnfn asinh(float);
   7565 float2 __ovld __cnfn asinh(float2);
   7566 float3 __ovld __cnfn asinh(float3);
   7567 float4 __ovld __cnfn asinh(float4);
   7568 float8 __ovld __cnfn asinh(float8);
   7569 float16 __ovld __cnfn asinh(float16);
   7570 #ifdef cl_khr_fp64
   7571 double __ovld __cnfn asinh(double);
   7572 double2 __ovld __cnfn asinh(double2);
   7573 double3 __ovld __cnfn asinh(double3);
   7574 double4 __ovld __cnfn asinh(double4);
   7575 double8 __ovld __cnfn asinh(double8);
   7576 double16 __ovld __cnfn asinh(double16);
   7577 #endif //cl_khr_fp64
   7578 #ifdef cl_khr_fp16
   7579 half __ovld __cnfn asinh(half);
   7580 half2 __ovld __cnfn asinh(half2);
   7581 half3 __ovld __cnfn asinh(half3);
   7582 half4 __ovld __cnfn asinh(half4);
   7583 half8 __ovld __cnfn asinh(half8);
   7584 half16 __ovld __cnfn asinh(half16);
   7585 #endif //cl_khr_fp16
   7586 
   7587 /**
   7588  * Compute asin (x) / PI.
   7589  */
   7590 float __ovld __cnfn asinpi(float x);
   7591 float2 __ovld __cnfn asinpi(float2 x);
   7592 float3 __ovld __cnfn asinpi(float3 x);
   7593 float4 __ovld __cnfn asinpi(float4 x);
   7594 float8 __ovld __cnfn asinpi(float8 x);
   7595 float16 __ovld __cnfn asinpi(float16 x);
   7596 #ifdef cl_khr_fp64
   7597 double __ovld __cnfn asinpi(double x);
   7598 double2 __ovld __cnfn asinpi(double2 x);
   7599 double3 __ovld __cnfn asinpi(double3 x);
   7600 double4 __ovld __cnfn asinpi(double4 x);
   7601 double8 __ovld __cnfn asinpi(double8 x);
   7602 double16 __ovld __cnfn asinpi(double16 x);
   7603 #endif //cl_khr_fp64
   7604 #ifdef cl_khr_fp16
   7605 half __ovld __cnfn asinpi(half x);
   7606 half2 __ovld __cnfn asinpi(half2 x);
   7607 half3 __ovld __cnfn asinpi(half3 x);
   7608 half4 __ovld __cnfn asinpi(half4 x);
   7609 half8 __ovld __cnfn asinpi(half8 x);
   7610 half16 __ovld __cnfn asinpi(half16 x);
   7611 #endif //cl_khr_fp16
   7612 
   7613 /**
   7614  * Arc tangent function.
   7615  */
   7616 float __ovld __cnfn atan(float y_over_x);
   7617 float2 __ovld __cnfn atan(float2 y_over_x);
   7618 float3 __ovld __cnfn atan(float3 y_over_x);
   7619 float4 __ovld __cnfn atan(float4 y_over_x);
   7620 float8 __ovld __cnfn atan(float8 y_over_x);
   7621 float16 __ovld __cnfn atan(float16 y_over_x);
   7622 #ifdef cl_khr_fp64
   7623 double __ovld __cnfn atan(double y_over_x);
   7624 double2 __ovld __cnfn atan(double2 y_over_x);
   7625 double3 __ovld __cnfn atan(double3 y_over_x);
   7626 double4 __ovld __cnfn atan(double4 y_over_x);
   7627 double8 __ovld __cnfn atan(double8 y_over_x);
   7628 double16 __ovld __cnfn atan(double16 y_over_x);
   7629 #endif //cl_khr_fp64
   7630 #ifdef cl_khr_fp16
   7631 half __ovld __cnfn atan(half y_over_x);
   7632 half2 __ovld __cnfn atan(half2 y_over_x);
   7633 half3 __ovld __cnfn atan(half3 y_over_x);
   7634 half4 __ovld __cnfn atan(half4 y_over_x);
   7635 half8 __ovld __cnfn atan(half8 y_over_x);
   7636 half16 __ovld __cnfn atan(half16 y_over_x);
   7637 #endif //cl_khr_fp16
   7638 
   7639 /**
   7640  * Arc tangent of y / x.
   7641  */
   7642 float __ovld __cnfn atan2(float y, float x);
   7643 float2 __ovld __cnfn atan2(float2 y, float2 x);
   7644 float3 __ovld __cnfn atan2(float3 y, float3 x);
   7645 float4 __ovld __cnfn atan2(float4 y, float4 x);
   7646 float8 __ovld __cnfn atan2(float8 y, float8 x);
   7647 float16 __ovld __cnfn atan2(float16 y, float16 x);
   7648 #ifdef cl_khr_fp64
   7649 double __ovld __cnfn atan2(double y, double x);
   7650 double2 __ovld __cnfn atan2(double2 y, double2 x);
   7651 double3 __ovld __cnfn atan2(double3 y, double3 x);
   7652 double4 __ovld __cnfn atan2(double4 y, double4 x);
   7653 double8 __ovld __cnfn atan2(double8 y, double8 x);
   7654 double16 __ovld __cnfn atan2(double16 y, double16 x);
   7655 #endif //cl_khr_fp64
   7656 #ifdef cl_khr_fp16
   7657 half __ovld __cnfn atan2(half y, half x);
   7658 half2 __ovld __cnfn atan2(half2 y, half2 x);
   7659 half3 __ovld __cnfn atan2(half3 y, half3 x);
   7660 half4 __ovld __cnfn atan2(half4 y, half4 x);
   7661 half8 __ovld __cnfn atan2(half8 y, half8 x);
   7662 half16 __ovld __cnfn atan2(half16 y, half16 x);
   7663 #endif //cl_khr_fp16
   7664 
   7665 /**
   7666  * Hyperbolic arc tangent.
   7667  */
   7668 float __ovld __cnfn atanh(float);
   7669 float2 __ovld __cnfn atanh(float2);
   7670 float3 __ovld __cnfn atanh(float3);
   7671 float4 __ovld __cnfn atanh(float4);
   7672 float8 __ovld __cnfn atanh(float8);
   7673 float16 __ovld __cnfn atanh(float16);
   7674 #ifdef cl_khr_fp64
   7675 double __ovld __cnfn atanh(double);
   7676 double2 __ovld __cnfn atanh(double2);
   7677 double3 __ovld __cnfn atanh(double3);
   7678 double4 __ovld __cnfn atanh(double4);
   7679 double8 __ovld __cnfn atanh(double8);
   7680 double16 __ovld __cnfn atanh(double16);
   7681 #endif //cl_khr_fp64
   7682 #ifdef cl_khr_fp16
   7683 half __ovld __cnfn atanh(half);
   7684 half2 __ovld __cnfn atanh(half2);
   7685 half3 __ovld __cnfn atanh(half3);
   7686 half4 __ovld __cnfn atanh(half4);
   7687 half8 __ovld __cnfn atanh(half8);
   7688 half16 __ovld __cnfn atanh(half16);
   7689 #endif //cl_khr_fp16
   7690 
   7691 /**
   7692  * Compute atan (x) / PI.
   7693  */
   7694 float __ovld __cnfn atanpi(float x);
   7695 float2 __ovld __cnfn atanpi(float2 x);
   7696 float3 __ovld __cnfn atanpi(float3 x);
   7697 float4 __ovld __cnfn atanpi(float4 x);
   7698 float8 __ovld __cnfn atanpi(float8 x);
   7699 float16 __ovld __cnfn atanpi(float16 x);
   7700 #ifdef cl_khr_fp64
   7701 double __ovld __cnfn atanpi(double x);
   7702 double2 __ovld __cnfn atanpi(double2 x);
   7703 double3 __ovld __cnfn atanpi(double3 x);
   7704 double4 __ovld __cnfn atanpi(double4 x);
   7705 double8 __ovld __cnfn atanpi(double8 x);
   7706 double16 __ovld __cnfn atanpi(double16 x);
   7707 #endif //cl_khr_fp64
   7708 #ifdef cl_khr_fp16
   7709 half __ovld __cnfn atanpi(half x);
   7710 half2 __ovld __cnfn atanpi(half2 x);
   7711 half3 __ovld __cnfn atanpi(half3 x);
   7712 half4 __ovld __cnfn atanpi(half4 x);
   7713 half8 __ovld __cnfn atanpi(half8 x);
   7714 half16 __ovld __cnfn atanpi(half16 x);
   7715 #endif //cl_khr_fp16
   7716 
   7717 /**
   7718  * Compute atan2 (y, x) / PI.
   7719  */
   7720 float __ovld __cnfn atan2pi(float y, float x);
   7721 float2 __ovld __cnfn atan2pi(float2 y, float2 x);
   7722 float3 __ovld __cnfn atan2pi(float3 y, float3 x);
   7723 float4 __ovld __cnfn atan2pi(float4 y, float4 x);
   7724 float8 __ovld __cnfn atan2pi(float8 y, float8 x);
   7725 float16 __ovld __cnfn atan2pi(float16 y, float16 x);
   7726 #ifdef cl_khr_fp64
   7727 double __ovld __cnfn atan2pi(double y, double x);
   7728 double2 __ovld __cnfn atan2pi(double2 y, double2 x);
   7729 double3 __ovld __cnfn atan2pi(double3 y, double3 x);
   7730 double4 __ovld __cnfn atan2pi(double4 y, double4 x);
   7731 double8 __ovld __cnfn atan2pi(double8 y, double8 x);
   7732 double16 __ovld __cnfn atan2pi(double16 y, double16 x);
   7733 #endif //cl_khr_fp64
   7734 #ifdef cl_khr_fp16
   7735 half __ovld __cnfn atan2pi(half y, half x);
   7736 half2 __ovld __cnfn atan2pi(half2 y, half2 x);
   7737 half3 __ovld __cnfn atan2pi(half3 y, half3 x);
   7738 half4 __ovld __cnfn atan2pi(half4 y, half4 x);
   7739 half8 __ovld __cnfn atan2pi(half8 y, half8 x);
   7740 half16 __ovld __cnfn atan2pi(half16 y, half16 x);
   7741 #endif //cl_khr_fp16
   7742 
   7743 /**
   7744  * Compute cube-root.
   7745  */
   7746 float __ovld __cnfn cbrt(float);
   7747 float2 __ovld __cnfn cbrt(float2);
   7748 float3 __ovld __cnfn cbrt(float3);
   7749 float4 __ovld __cnfn cbrt(float4);
   7750 float8 __ovld __cnfn cbrt(float8);
   7751 float16 __ovld __cnfn cbrt(float16);
   7752 #ifdef cl_khr_fp64
   7753 double __ovld __cnfn cbrt(double);
   7754 double2 __ovld __cnfn cbrt(double2);
   7755 double3 __ovld __cnfn cbrt(double3);
   7756 double4 __ovld __cnfn cbrt(double4);
   7757 double8 __ovld __cnfn cbrt(double8);
   7758 double16 __ovld __cnfn cbrt(double16);
   7759 #endif //cl_khr_fp64
   7760 #ifdef cl_khr_fp16
   7761 half __ovld __cnfn cbrt(half);
   7762 half2 __ovld __cnfn cbrt(half2);
   7763 half3 __ovld __cnfn cbrt(half3);
   7764 half4 __ovld __cnfn cbrt(half4);
   7765 half8 __ovld __cnfn cbrt(half8);
   7766 half16 __ovld __cnfn cbrt(half16);
   7767 #endif //cl_khr_fp16
   7768 
   7769 /**
   7770  * Round to integral value using the round to positive
   7771  * infinity rounding mode.
   7772  */
   7773 float __ovld __cnfn ceil(float);
   7774 float2 __ovld __cnfn ceil(float2);
   7775 float3 __ovld __cnfn ceil(float3);
   7776 float4 __ovld __cnfn ceil(float4);
   7777 float8 __ovld __cnfn ceil(float8);
   7778 float16 __ovld __cnfn ceil(float16);
   7779 #ifdef cl_khr_fp64
   7780 double __ovld __cnfn ceil(double);
   7781 double2 __ovld __cnfn ceil(double2);
   7782 double3 __ovld __cnfn ceil(double3);
   7783 double4 __ovld __cnfn ceil(double4);
   7784 double8 __ovld __cnfn ceil(double8);
   7785 double16 __ovld __cnfn ceil(double16);
   7786 #endif //cl_khr_fp64
   7787 #ifdef cl_khr_fp16
   7788 half __ovld __cnfn ceil(half);
   7789 half2 __ovld __cnfn ceil(half2);
   7790 half3 __ovld __cnfn ceil(half3);
   7791 half4 __ovld __cnfn ceil(half4);
   7792 half8 __ovld __cnfn ceil(half8);
   7793 half16 __ovld __cnfn ceil(half16);
   7794 #endif //cl_khr_fp16
   7795 
   7796 /**
   7797  * Returns x with its sign changed to match the sign of y.
   7798  */
   7799 float __ovld __cnfn copysign(float x, float y);
   7800 float2 __ovld __cnfn copysign(float2 x, float2 y);
   7801 float3 __ovld __cnfn copysign(float3 x, float3 y);
   7802 float4 __ovld __cnfn copysign(float4 x, float4 y);
   7803 float8 __ovld __cnfn copysign(float8 x, float8 y);
   7804 float16 __ovld __cnfn copysign(float16 x, float16 y);
   7805 #ifdef cl_khr_fp64
   7806 double __ovld __cnfn copysign(double x, double y);
   7807 double2 __ovld __cnfn copysign(double2 x, double2 y);
   7808 double3 __ovld __cnfn copysign(double3 x, double3 y);
   7809 double4 __ovld __cnfn copysign(double4 x, double4 y);
   7810 double8 __ovld __cnfn copysign(double8 x, double8 y);
   7811 double16 __ovld __cnfn copysign(double16 x, double16 y);
   7812 #endif //cl_khr_fp64
   7813 #ifdef cl_khr_fp16
   7814 half __ovld __cnfn copysign(half x, half y);
   7815 half2 __ovld __cnfn copysign(half2 x, half2 y);
   7816 half3 __ovld __cnfn copysign(half3 x, half3 y);
   7817 half4 __ovld __cnfn copysign(half4 x, half4 y);
   7818 half8 __ovld __cnfn copysign(half8 x, half8 y);
   7819 half16 __ovld __cnfn copysign(half16 x, half16 y);
   7820 #endif //cl_khr_fp16
   7821 
   7822 /**
   7823  * Compute cosine.
   7824  */
   7825 float __ovld __cnfn cos(float);
   7826 float2 __ovld __cnfn cos(float2);
   7827 float3 __ovld __cnfn cos(float3);
   7828 float4 __ovld __cnfn cos(float4);
   7829 float8 __ovld __cnfn cos(float8);
   7830 float16 __ovld __cnfn cos(float16);
   7831 #ifdef cl_khr_fp64
   7832 double __ovld __cnfn cos(double);
   7833 double2 __ovld __cnfn cos(double2);
   7834 double3 __ovld __cnfn cos(double3);
   7835 double4 __ovld __cnfn cos(double4);
   7836 double8 __ovld __cnfn cos(double8);
   7837 double16 __ovld __cnfn cos(double16);
   7838 #endif //cl_khr_fp64
   7839 #ifdef cl_khr_fp16
   7840 half __ovld __cnfn cos(half);
   7841 half2 __ovld __cnfn cos(half2);
   7842 half3 __ovld __cnfn cos(half3);
   7843 half4 __ovld __cnfn cos(half4);
   7844 half8 __ovld __cnfn cos(half8);
   7845 half16 __ovld __cnfn cos(half16);
   7846 #endif //cl_khr_fp16
   7847 
   7848 /**
   7849  * Compute hyperbolic cosine.
   7850  */
   7851 float __ovld __cnfn cosh(float);
   7852 float2 __ovld __cnfn cosh(float2);
   7853 float3 __ovld __cnfn cosh(float3);
   7854 float4 __ovld __cnfn cosh(float4);
   7855 float8 __ovld __cnfn cosh(float8);
   7856 float16 __ovld __cnfn cosh(float16);
   7857 #ifdef cl_khr_fp64
   7858 double __ovld __cnfn cosh(double);
   7859 double2 __ovld __cnfn cosh(double2);
   7860 double3 __ovld __cnfn cosh(double3);
   7861 double4 __ovld __cnfn cosh(double4);
   7862 double8 __ovld __cnfn cosh(double8);
   7863 double16 __ovld __cnfn cosh(double16);
   7864 #endif //cl_khr_fp64
   7865 #ifdef cl_khr_fp16
   7866 half __ovld __cnfn cosh(half);
   7867 half2 __ovld __cnfn cosh(half2);
   7868 half3 __ovld __cnfn cosh(half3);
   7869 half4 __ovld __cnfn cosh(half4);
   7870 half8 __ovld __cnfn cosh(half8);
   7871 half16 __ovld __cnfn cosh(half16);
   7872 #endif //cl_khr_fp16
   7873 
   7874 /**
   7875  * Compute cos (PI * x).
   7876  */
   7877 float __ovld __cnfn cospi(float x);
   7878 float2 __ovld __cnfn cospi(float2 x);
   7879 float3 __ovld __cnfn cospi(float3 x);
   7880 float4 __ovld __cnfn cospi(float4 x);
   7881 float8 __ovld __cnfn cospi(float8 x);
   7882 float16 __ovld __cnfn cospi(float16 x);
   7883 #ifdef cl_khr_fp64
   7884 double __ovld __cnfn cospi(double x);
   7885 double2 __ovld __cnfn cospi(double2 x);
   7886 double3 __ovld __cnfn cospi(double3 x);
   7887 double4 __ovld __cnfn cospi(double4 x);
   7888 double8 __ovld __cnfn cospi(double8 x);
   7889 double16 __ovld __cnfn cospi(double16 x);
   7890 #endif //cl_khr_fp64
   7891 #ifdef cl_khr_fp16
   7892 half __ovld __cnfn cospi(half x);
   7893 half2 __ovld __cnfn cospi(half2 x);
   7894 half3 __ovld __cnfn cospi(half3 x);
   7895 half4 __ovld __cnfn cospi(half4 x);
   7896 half8 __ovld __cnfn cospi(half8 x);
   7897 half16 __ovld __cnfn cospi(half16 x);
   7898 #endif //cl_khr_fp16
   7899 
   7900 /**
   7901  * Complementary error function.
   7902  */
   7903 float __ovld __cnfn erfc(float);
   7904 float2 __ovld __cnfn erfc(float2);
   7905 float3 __ovld __cnfn erfc(float3);
   7906 float4 __ovld __cnfn erfc(float4);
   7907 float8 __ovld __cnfn erfc(float8);
   7908 float16 __ovld __cnfn erfc(float16);
   7909 #ifdef cl_khr_fp64
   7910 double __ovld __cnfn erfc(double);
   7911 double2 __ovld __cnfn erfc(double2);
   7912 double3 __ovld __cnfn erfc(double3);
   7913 double4 __ovld __cnfn erfc(double4);
   7914 double8 __ovld __cnfn erfc(double8);
   7915 double16 __ovld __cnfn erfc(double16);
   7916 #endif //cl_khr_fp64
   7917 #ifdef cl_khr_fp16
   7918 half __ovld __cnfn erfc(half);
   7919 half2 __ovld __cnfn erfc(half2);
   7920 half3 __ovld __cnfn erfc(half3);
   7921 half4 __ovld __cnfn erfc(half4);
   7922 half8 __ovld __cnfn erfc(half8);
   7923 half16 __ovld __cnfn erfc(half16);
   7924 #endif //cl_khr_fp16
   7925 
   7926 /**
   7927  * Error function encountered in integrating the
   7928  * normal distribution.
   7929  */
   7930 float __ovld __cnfn erf(float);
   7931 float2 __ovld __cnfn erf(float2);
   7932 float3 __ovld __cnfn erf(float3);
   7933 float4 __ovld __cnfn erf(float4);
   7934 float8 __ovld __cnfn erf(float8);
   7935 float16 __ovld __cnfn erf(float16);
   7936 #ifdef cl_khr_fp64
   7937 double __ovld __cnfn erf(double);
   7938 double2 __ovld __cnfn erf(double2);
   7939 double3 __ovld __cnfn erf(double3);
   7940 double4 __ovld __cnfn erf(double4);
   7941 double8 __ovld __cnfn erf(double8);
   7942 double16 __ovld __cnfn erf(double16);
   7943 #endif //cl_khr_fp64
   7944 #ifdef cl_khr_fp16
   7945 half __ovld __cnfn erf(half);
   7946 half2 __ovld __cnfn erf(half2);
   7947 half3 __ovld __cnfn erf(half3);
   7948 half4 __ovld __cnfn erf(half4);
   7949 half8 __ovld __cnfn erf(half8);
   7950 half16 __ovld __cnfn erf(half16);
   7951 #endif //cl_khr_fp16
   7952 
   7953 /**
   7954  * Compute the base e exponential function of x.
   7955  */
   7956 float __ovld __cnfn exp(float x);
   7957 float2 __ovld __cnfn exp(float2 x);
   7958 float3 __ovld __cnfn exp(float3 x);
   7959 float4 __ovld __cnfn exp(float4 x);
   7960 float8 __ovld __cnfn exp(float8 x);
   7961 float16 __ovld __cnfn exp(float16 x);
   7962 #ifdef cl_khr_fp64
   7963 double __ovld __cnfn exp(double x);
   7964 double2 __ovld __cnfn exp(double2 x);
   7965 double3 __ovld __cnfn exp(double3 x);
   7966 double4 __ovld __cnfn exp(double4 x);
   7967 double8 __ovld __cnfn exp(double8 x);
   7968 double16 __ovld __cnfn exp(double16 x);
   7969 #endif //cl_khr_fp64
   7970 #ifdef cl_khr_fp16
   7971 half __ovld __cnfn exp(half x);
   7972 half2 __ovld __cnfn exp(half2 x);
   7973 half3 __ovld __cnfn exp(half3 x);
   7974 half4 __ovld __cnfn exp(half4 x);
   7975 half8 __ovld __cnfn exp(half8 x);
   7976 half16 __ovld __cnfn exp(half16 x);
   7977 #endif //cl_khr_fp16
   7978 
   7979 /**
   7980  * Exponential base 2 function.
   7981  */
   7982 float __ovld __cnfn exp2(float);
   7983 float2 __ovld __cnfn exp2(float2);
   7984 float3 __ovld __cnfn exp2(float3);
   7985 float4 __ovld __cnfn exp2(float4);
   7986 float8 __ovld __cnfn exp2(float8);
   7987 float16 __ovld __cnfn exp2(float16);
   7988 #ifdef cl_khr_fp64
   7989 double __ovld __cnfn exp2(double);
   7990 double2 __ovld __cnfn exp2(double2);
   7991 double3 __ovld __cnfn exp2(double3);
   7992 double4 __ovld __cnfn exp2(double4);
   7993 double8 __ovld __cnfn exp2(double8);
   7994 double16 __ovld __cnfn exp2(double16);
   7995 #endif //cl_khr_fp64
   7996 #ifdef cl_khr_fp16
   7997 half __ovld __cnfn exp2(half);
   7998 half2 __ovld __cnfn exp2(half2);
   7999 half3 __ovld __cnfn exp2(half3);
   8000 half4 __ovld __cnfn exp2(half4);
   8001 half8 __ovld __cnfn exp2(half8);
   8002 half16 __ovld __cnfn exp2(half16);
   8003 #endif //cl_khr_fp16
   8004 
   8005 /**
   8006  * Exponential base 10 function.
   8007  */
   8008 float __ovld __cnfn exp10(float);
   8009 float2 __ovld __cnfn exp10(float2);
   8010 float3 __ovld __cnfn exp10(float3);
   8011 float4 __ovld __cnfn exp10(float4);
   8012 float8 __ovld __cnfn exp10(float8);
   8013 float16 __ovld __cnfn exp10(float16);
   8014 #ifdef cl_khr_fp64
   8015 double __ovld __cnfn exp10(double);
   8016 double2 __ovld __cnfn exp10(double2);
   8017 double3 __ovld __cnfn exp10(double3);
   8018 double4 __ovld __cnfn exp10(double4);
   8019 double8 __ovld __cnfn exp10(double8);
   8020 double16 __ovld __cnfn exp10(double16);
   8021 #endif //cl_khr_fp64
   8022 #ifdef cl_khr_fp16
   8023 half __ovld __cnfn exp10(half);
   8024 half2 __ovld __cnfn exp10(half2);
   8025 half3 __ovld __cnfn exp10(half3);
   8026 half4 __ovld __cnfn exp10(half4);
   8027 half8 __ovld __cnfn exp10(half8);
   8028 half16 __ovld __cnfn exp10(half16);
   8029 #endif //cl_khr_fp16
   8030 
   8031 /**
   8032  * Compute e^x- 1.0.
   8033  */
   8034 float __ovld __cnfn expm1(float x);
   8035 float2 __ovld __cnfn expm1(float2 x);
   8036 float3 __ovld __cnfn expm1(float3 x);
   8037 float4 __ovld __cnfn expm1(float4 x);
   8038 float8 __ovld __cnfn expm1(float8 x);
   8039 float16 __ovld __cnfn expm1(float16 x);
   8040 #ifdef cl_khr_fp64
   8041 double __ovld __cnfn expm1(double x);
   8042 double2 __ovld __cnfn expm1(double2 x);
   8043 double3 __ovld __cnfn expm1(double3 x);
   8044 double4 __ovld __cnfn expm1(double4 x);
   8045 double8 __ovld __cnfn expm1(double8 x);
   8046 double16 __ovld __cnfn expm1(double16 x);
   8047 #endif //cl_khr_fp64
   8048 #ifdef cl_khr_fp16
   8049 half __ovld __cnfn expm1(half x);
   8050 half2 __ovld __cnfn expm1(half2 x);
   8051 half3 __ovld __cnfn expm1(half3 x);
   8052 half4 __ovld __cnfn expm1(half4 x);
   8053 half8 __ovld __cnfn expm1(half8 x);
   8054 half16 __ovld __cnfn expm1(half16 x);
   8055 #endif //cl_khr_fp16
   8056 
   8057 /**
   8058  * Compute absolute value of a floating-point number.
   8059  */
   8060 float __ovld __cnfn fabs(float);
   8061 float2 __ovld __cnfn fabs(float2);
   8062 float3 __ovld __cnfn fabs(float3);
   8063 float4 __ovld __cnfn fabs(float4);
   8064 float8 __ovld __cnfn fabs(float8);
   8065 float16 __ovld __cnfn fabs(float16);
   8066 #ifdef cl_khr_fp64
   8067 double __ovld __cnfn fabs(double);
   8068 double2 __ovld __cnfn fabs(double2);
   8069 double3 __ovld __cnfn fabs(double3);
   8070 double4 __ovld __cnfn fabs(double4);
   8071 double8 __ovld __cnfn fabs(double8);
   8072 double16 __ovld __cnfn fabs(double16);
   8073 #endif //cl_khr_fp64
   8074 #ifdef cl_khr_fp16
   8075 half __ovld __cnfn fabs(half);
   8076 half2 __ovld __cnfn fabs(half2);
   8077 half3 __ovld __cnfn fabs(half3);
   8078 half4 __ovld __cnfn fabs(half4);
   8079 half8 __ovld __cnfn fabs(half8);
   8080 half16 __ovld __cnfn fabs(half16);
   8081 #endif //cl_khr_fp16
   8082 
   8083 /**
   8084  * x - y if x > y, +0 if x is less than or equal to y.
   8085  */
   8086 float __ovld __cnfn fdim(float x, float y);
   8087 float2 __ovld __cnfn fdim(float2 x, float2 y);
   8088 float3 __ovld __cnfn fdim(float3 x, float3 y);
   8089 float4 __ovld __cnfn fdim(float4 x, float4 y);
   8090 float8 __ovld __cnfn fdim(float8 x, float8 y);
   8091 float16 __ovld __cnfn fdim(float16 x, float16 y);
   8092 #ifdef cl_khr_fp64
   8093 double __ovld __cnfn fdim(double x, double y);
   8094 double2 __ovld __cnfn fdim(double2 x, double2 y);
   8095 double3 __ovld __cnfn fdim(double3 x, double3 y);
   8096 double4 __ovld __cnfn fdim(double4 x, double4 y);
   8097 double8 __ovld __cnfn fdim(double8 x, double8 y);
   8098 double16 __ovld __cnfn fdim(double16 x, double16 y);
   8099 #endif //cl_khr_fp64
   8100 #ifdef cl_khr_fp16
   8101 half __ovld __cnfn fdim(half x, half y);
   8102 half2 __ovld __cnfn fdim(half2 x, half2 y);
   8103 half3 __ovld __cnfn fdim(half3 x, half3 y);
   8104 half4 __ovld __cnfn fdim(half4 x, half4 y);
   8105 half8 __ovld __cnfn fdim(half8 x, half8 y);
   8106 half16 __ovld __cnfn fdim(half16 x, half16 y);
   8107 #endif //cl_khr_fp16
   8108 
   8109 /**
   8110  * Round to integral value using the round to -ve
   8111  * infinity rounding mode.
   8112  */
   8113 float __ovld __cnfn floor(float);
   8114 float2 __ovld __cnfn floor(float2);
   8115 float3 __ovld __cnfn floor(float3);
   8116 float4 __ovld __cnfn floor(float4);
   8117 float8 __ovld __cnfn floor(float8);
   8118 float16 __ovld __cnfn floor(float16);
   8119 #ifdef cl_khr_fp64
   8120 double __ovld __cnfn floor(double);
   8121 double2 __ovld __cnfn floor(double2);
   8122 double3 __ovld __cnfn floor(double3);
   8123 double4 __ovld __cnfn floor(double4);
   8124 double8 __ovld __cnfn floor(double8);
   8125 double16 __ovld __cnfn floor(double16);
   8126 #endif //cl_khr_fp64
   8127 #ifdef cl_khr_fp16
   8128 half __ovld __cnfn floor(half);
   8129 half2 __ovld __cnfn floor(half2);
   8130 half3 __ovld __cnfn floor(half3);
   8131 half4 __ovld __cnfn floor(half4);
   8132 half8 __ovld __cnfn floor(half8);
   8133 half16 __ovld __cnfn floor(half16);
   8134 #endif //cl_khr_fp16
   8135 
   8136 /**
   8137  * Returns the correctly rounded floating-point
   8138  * representation of the sum of c with the infinitely
   8139  * precise product of a and b. Rounding of
   8140  * intermediate products shall not occur. Edge case
   8141  * behavior is per the IEEE 754-2008 standard.
   8142  */
   8143 float __ovld __cnfn fma(float a, float b, float c);
   8144 float2 __ovld __cnfn fma(float2 a, float2 b, float2 c);
   8145 float3 __ovld __cnfn fma(float3 a, float3 b, float3 c);
   8146 float4 __ovld __cnfn fma(float4 a, float4 b, float4 c);
   8147 float8 __ovld __cnfn fma(float8 a, float8 b, float8 c);
   8148 float16 __ovld __cnfn fma(float16 a, float16 b, float16 c);
   8149 #ifdef cl_khr_fp64
   8150 double __ovld __cnfn fma(double a, double b, double c);
   8151 double2 __ovld __cnfn fma(double2 a, double2 b, double2 c);
   8152 double3 __ovld __cnfn fma(double3 a, double3 b, double3 c);
   8153 double4 __ovld __cnfn fma(double4 a, double4 b, double4 c);
   8154 double8 __ovld __cnfn fma(double8 a, double8 b, double8 c);
   8155 double16 __ovld __cnfn fma(double16 a, double16 b, double16 c);
   8156 #endif //cl_khr_fp64
   8157 #ifdef cl_khr_fp16
   8158 half __ovld __cnfn fma(half a, half b, half c);
   8159 half2 __ovld __cnfn fma(half2 a, half2 b, half2 c);
   8160 half3 __ovld __cnfn fma(half3 a, half3 b, half3 c);
   8161 half4 __ovld __cnfn fma(half4 a, half4 b, half4 c);
   8162 half8 __ovld __cnfn fma(half8 a, half8 b, half8 c);
   8163 half16 __ovld __cnfn fma(half16 a, half16 b, half16 c);
   8164 #endif //cl_khr_fp16
   8165 
   8166 /**
   8167  * Returns y if x < y, otherwise it returns x. If one
   8168  * argument is a NaN, fmax() returns the other
   8169  * argument. If both arguments are NaNs, fmax()
   8170  * returns a NaN.
   8171  */
   8172 float __ovld __cnfn fmax(float x, float y);
   8173 float2 __ovld __cnfn fmax(float2 x, float2 y);
   8174 float3 __ovld __cnfn fmax(float3 x, float3 y);
   8175 float4 __ovld __cnfn fmax(float4 x, float4 y);
   8176 float8 __ovld __cnfn fmax(float8 x, float8 y);
   8177 float16 __ovld __cnfn fmax(float16 x, float16 y);
   8178 float2 __ovld __cnfn fmax(float2 x, float y);
   8179 float3 __ovld __cnfn fmax(float3 x, float y);
   8180 float4 __ovld __cnfn fmax(float4 x, float y);
   8181 float8 __ovld __cnfn fmax(float8 x, float y);
   8182 float16 __ovld __cnfn fmax(float16 x, float y);
   8183 #ifdef cl_khr_fp64
   8184 double __ovld __cnfn fmax(double x, double y);
   8185 double2 __ovld __cnfn fmax(double2 x, double2 y);
   8186 double3 __ovld __cnfn fmax(double3 x, double3 y);
   8187 double4 __ovld __cnfn fmax(double4 x, double4 y);
   8188 double8 __ovld __cnfn fmax(double8 x, double8 y);
   8189 double16 __ovld __cnfn fmax(double16 x, double16 y);
   8190 double2 __ovld __cnfn fmax(double2 x, double y);
   8191 double3 __ovld __cnfn fmax(double3 x, double y);
   8192 double4 __ovld __cnfn fmax(double4 x, double y);
   8193 double8 __ovld __cnfn fmax(double8 x, double y);
   8194 double16 __ovld __cnfn fmax(double16 x, double y);
   8195 #endif //cl_khr_fp64
   8196 #ifdef cl_khr_fp16
   8197 half __ovld __cnfn fmax(half x, half y);
   8198 half2 __ovld __cnfn fmax(half2 x, half2 y);
   8199 half3 __ovld __cnfn fmax(half3 x, half3 y);
   8200 half4 __ovld __cnfn fmax(half4 x, half4 y);
   8201 half8 __ovld __cnfn fmax(half8 x, half8 y);
   8202 half16 __ovld __cnfn fmax(half16 x, half16 y);
   8203 half2 __ovld __cnfn fmax(half2 x, half y);
   8204 half3 __ovld __cnfn fmax(half3 x, half y);
   8205 half4 __ovld __cnfn fmax(half4 x, half y);
   8206 half8 __ovld __cnfn fmax(half8 x, half y);
   8207 half16 __ovld __cnfn fmax(half16 x, half y);
   8208 #endif //cl_khr_fp16
   8209 
   8210 /**
   8211  * Returns y if y < x, otherwise it returns x. If one
   8212  * argument is a NaN, fmin() returns the other
   8213  * argument. If both arguments are NaNs, fmin()
   8214  * returns a NaN.
   8215  */
   8216 float __ovld __cnfn fmin(float x, float y);
   8217 float2 __ovld __cnfn fmin(float2 x, float2 y);
   8218 float3 __ovld __cnfn fmin(float3 x, float3 y);
   8219 float4 __ovld __cnfn fmin(float4 x, float4 y);
   8220 float8 __ovld __cnfn fmin(float8 x, float8 y);
   8221 float16 __ovld __cnfn fmin(float16 x, float16 y);
   8222 float2 __ovld __cnfn fmin(float2 x, float y);
   8223 float3 __ovld __cnfn fmin(float3 x, float y);
   8224 float4 __ovld __cnfn fmin(float4 x, float y);
   8225 float8 __ovld __cnfn fmin(float8 x, float y);
   8226 float16 __ovld __cnfn fmin(float16 x, float y);
   8227 #ifdef cl_khr_fp64
   8228 double __ovld __cnfn fmin(double x, double y);
   8229 double2 __ovld __cnfn fmin(double2 x, double2 y);
   8230 double3 __ovld __cnfn fmin(double3 x, double3 y);
   8231 double4 __ovld __cnfn fmin(double4 x, double4 y);
   8232 double8 __ovld __cnfn fmin(double8 x, double8 y);
   8233 double16 __ovld __cnfn fmin(double16 x, double16 y);
   8234 double2 __ovld __cnfn fmin(double2 x, double y);
   8235 double3 __ovld __cnfn fmin(double3 x, double y);
   8236 double4 __ovld __cnfn fmin(double4 x, double y);
   8237 double8 __ovld __cnfn fmin(double8 x, double y);
   8238 double16 __ovld __cnfn fmin(double16 x, double y);
   8239 #endif //cl_khr_fp64
   8240 #ifdef cl_khr_fp16
   8241 half __ovld __cnfn fmin(half x, half y);
   8242 half2 __ovld __cnfn fmin(half2 x, half2 y);
   8243 half3 __ovld __cnfn fmin(half3 x, half3 y);
   8244 half4 __ovld __cnfn fmin(half4 x, half4 y);
   8245 half8 __ovld __cnfn fmin(half8 x, half8 y);
   8246 half16 __ovld __cnfn fmin(half16 x, half16 y);
   8247 half2 __ovld __cnfn fmin(half2 x, half y);
   8248 half3 __ovld __cnfn fmin(half3 x, half y);
   8249 half4 __ovld __cnfn fmin(half4 x, half y);
   8250 half8 __ovld __cnfn fmin(half8 x, half y);
   8251 half16 __ovld __cnfn fmin(half16 x, half y);
   8252 #endif //cl_khr_fp16
   8253 
   8254 /**
   8255  * Modulus. Returns x - y * trunc (x/y).
   8256  */
   8257 float __ovld __cnfn fmod(float x, float y);
   8258 float2 __ovld __cnfn fmod(float2 x, float2 y);
   8259 float3 __ovld __cnfn fmod(float3 x, float3 y);
   8260 float4 __ovld __cnfn fmod(float4 x, float4 y);
   8261 float8 __ovld __cnfn fmod(float8 x, float8 y);
   8262 float16 __ovld __cnfn fmod(float16 x, float16 y);
   8263 #ifdef cl_khr_fp64
   8264 double __ovld __cnfn fmod(double x, double y);
   8265 double2 __ovld __cnfn fmod(double2 x, double2 y);
   8266 double3 __ovld __cnfn fmod(double3 x, double3 y);
   8267 double4 __ovld __cnfn fmod(double4 x, double4 y);
   8268 double8 __ovld __cnfn fmod(double8 x, double8 y);
   8269 double16 __ovld __cnfn fmod(double16 x, double16 y);
   8270 #endif //cl_khr_fp64
   8271 #ifdef cl_khr_fp16
   8272 half __ovld __cnfn fmod(half x, half y);
   8273 half2 __ovld __cnfn fmod(half2 x, half2 y);
   8274 half3 __ovld __cnfn fmod(half3 x, half3 y);
   8275 half4 __ovld __cnfn fmod(half4 x, half4 y);
   8276 half8 __ovld __cnfn fmod(half8 x, half8 y);
   8277 half16 __ovld __cnfn fmod(half16 x, half16 y);
   8278 #endif //cl_khr_fp16
   8279 
   8280 /**
   8281  * Returns fmin(x - floor (x), 0x1.fffffep-1f ).
   8282  * floor(x) is returned in iptr.
   8283  */
   8284 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   8285 float __ovld fract(float x, float *iptr);
   8286 float2 __ovld fract(float2 x, float2 *iptr);
   8287 float3 __ovld fract(float3 x, float3 *iptr);
   8288 float4 __ovld fract(float4 x, float4 *iptr);
   8289 float8 __ovld fract(float8 x, float8 *iptr);
   8290 float16 __ovld fract(float16 x, float16 *iptr);
   8291 #ifdef cl_khr_fp64
   8292 double __ovld fract(double x, double *iptr);
   8293 double2 __ovld fract(double2 x, double2 *iptr);
   8294 double3 __ovld fract(double3 x, double3 *iptr);
   8295 double4 __ovld fract(double4 x, double4 *iptr);
   8296 double8 __ovld fract(double8 x, double8 *iptr);
   8297 double16 __ovld fract(double16 x, double16 *iptr);
   8298 #endif //cl_khr_fp64
   8299 #ifdef cl_khr_fp16
   8300 half __ovld fract(half x, half *iptr);
   8301 half2 __ovld fract(half2 x, half2 *iptr);
   8302 half3 __ovld fract(half3 x, half3 *iptr);
   8303 half4 __ovld fract(half4 x, half4 *iptr);
   8304 half8 __ovld fract(half8 x, half8 *iptr);
   8305 half16 __ovld fract(half16 x, half16 *iptr);
   8306 #endif //cl_khr_fp16
   8307 #else
   8308 float __ovld fract(float x, __global float *iptr);
   8309 float2 __ovld fract(float2 x, __global float2 *iptr);
   8310 float3 __ovld fract(float3 x, __global float3 *iptr);
   8311 float4 __ovld fract(float4 x, __global float4 *iptr);
   8312 float8 __ovld fract(float8 x, __global float8 *iptr);
   8313 float16 __ovld fract(float16 x, __global float16 *iptr);
   8314 float __ovld fract(float x, __local float *iptr);
   8315 float2 __ovld fract(float2 x, __local float2 *iptr);
   8316 float3 __ovld fract(float3 x, __local float3 *iptr);
   8317 float4 __ovld fract(float4 x, __local float4 *iptr);
   8318 float8 __ovld fract(float8 x, __local float8 *iptr);
   8319 float16 __ovld fract(float16 x, __local float16 *iptr);
   8320 float __ovld fract(float x, __private float *iptr);
   8321 float2 __ovld fract(float2 x, __private float2 *iptr);
   8322 float3 __ovld fract(float3 x, __private float3 *iptr);
   8323 float4 __ovld fract(float4 x, __private float4 *iptr);
   8324 float8 __ovld fract(float8 x, __private float8 *iptr);
   8325 float16 __ovld fract(float16 x, __private float16 *iptr);
   8326 #ifdef cl_khr_fp64
   8327 double __ovld fract(double x, __global double *iptr);
   8328 double2 __ovld fract(double2 x, __global double2 *iptr);
   8329 double3 __ovld fract(double3 x, __global double3 *iptr);
   8330 double4 __ovld fract(double4 x, __global double4 *iptr);
   8331 double8 __ovld fract(double8 x, __global double8 *iptr);
   8332 double16 __ovld fract(double16 x, __global double16 *iptr);
   8333 double __ovld fract(double x, __local double *iptr);
   8334 double2 __ovld fract(double2 x, __local double2 *iptr);
   8335 double3 __ovld fract(double3 x, __local double3 *iptr);
   8336 double4 __ovld fract(double4 x, __local double4 *iptr);
   8337 double8 __ovld fract(double8 x, __local double8 *iptr);
   8338 double16 __ovld fract(double16 x, __local double16 *iptr);
   8339 double __ovld fract(double x, __private double *iptr);
   8340 double2 __ovld fract(double2 x, __private double2 *iptr);
   8341 double3 __ovld fract(double3 x, __private double3 *iptr);
   8342 double4 __ovld fract(double4 x, __private double4 *iptr);
   8343 double8 __ovld fract(double8 x, __private double8 *iptr);
   8344 double16 __ovld fract(double16 x, __private double16 *iptr);
   8345 #endif //cl_khr_fp64
   8346 #ifdef cl_khr_fp16
   8347 half __ovld fract(half x, __global half *iptr);
   8348 half2 __ovld fract(half2 x, __global half2 *iptr);
   8349 half3 __ovld fract(half3 x, __global half3 *iptr);
   8350 half4 __ovld fract(half4 x, __global half4 *iptr);
   8351 half8 __ovld fract(half8 x, __global half8 *iptr);
   8352 half16 __ovld fract(half16 x, __global half16 *iptr);
   8353 half __ovld fract(half x, __local half *iptr);
   8354 half2 __ovld fract(half2 x, __local half2 *iptr);
   8355 half3 __ovld fract(half3 x, __local half3 *iptr);
   8356 half4 __ovld fract(half4 x, __local half4 *iptr);
   8357 half8 __ovld fract(half8 x, __local half8 *iptr);
   8358 half16 __ovld fract(half16 x, __local half16 *iptr);
   8359 half __ovld fract(half x, __private half *iptr);
   8360 half2 __ovld fract(half2 x, __private half2 *iptr);
   8361 half3 __ovld fract(half3 x, __private half3 *iptr);
   8362 half4 __ovld fract(half4 x, __private half4 *iptr);
   8363 half8 __ovld fract(half8 x, __private half8 *iptr);
   8364 half16 __ovld fract(half16 x, __private half16 *iptr);
   8365 #endif //cl_khr_fp16
   8366 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   8367 
   8368 /**
   8369  * Extract mantissa and exponent from x. For each
   8370  * component the mantissa returned is a float with
   8371  * magnitude in the interval [1/2, 1) or 0. Each
   8372  * component of x equals mantissa returned * 2^exp.
   8373  */
   8374 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   8375 float __ovld frexp(float x, int *exp);
   8376 float2 __ovld frexp(float2 x, int2 *exp);
   8377 float3 __ovld frexp(float3 x, int3 *exp);
   8378 float4 __ovld frexp(float4 x, int4 *exp);
   8379 float8 __ovld frexp(float8 x, int8 *exp);
   8380 float16 __ovld frexp(float16 x, int16 *exp);
   8381 #ifdef cl_khr_fp64
   8382 double __ovld frexp(double x, int *exp);
   8383 double2 __ovld frexp(double2 x, int2 *exp);
   8384 double3 __ovld frexp(double3 x, int3 *exp);
   8385 double4 __ovld frexp(double4 x, int4 *exp);
   8386 double8 __ovld frexp(double8 x, int8 *exp);
   8387 double16 __ovld frexp(double16 x, int16 *exp);
   8388 #endif //cl_khr_fp64
   8389 #ifdef cl_khr_fp16
   8390 half __ovld frexp(half x, int *exp);
   8391 half2 __ovld frexp(half2 x, int2 *exp);
   8392 half3 __ovld frexp(half3 x, int3 *exp);
   8393 half4 __ovld frexp(half4 x, int4 *exp);
   8394 half8 __ovld frexp(half8 x, int8 *exp);
   8395 half16 __ovld frexp(half16 x, int16 *exp);
   8396 #endif //cl_khr_fp16
   8397 #else
   8398 float __ovld frexp(float x, __global int *exp);
   8399 float2 __ovld frexp(float2 x, __global int2 *exp);
   8400 float3 __ovld frexp(float3 x, __global int3 *exp);
   8401 float4 __ovld frexp(float4 x, __global int4 *exp);
   8402 float8 __ovld frexp(float8 x, __global int8 *exp);
   8403 float16 __ovld frexp(float16 x, __global int16 *exp);
   8404 float __ovld frexp(float x, __local int *exp);
   8405 float2 __ovld frexp(float2 x, __local int2 *exp);
   8406 float3 __ovld frexp(float3 x, __local int3 *exp);
   8407 float4 __ovld frexp(float4 x, __local int4 *exp);
   8408 float8 __ovld frexp(float8 x, __local int8 *exp);
   8409 float16 __ovld frexp(float16 x, __local int16 *exp);
   8410 float __ovld frexp(float x, __private int *exp);
   8411 float2 __ovld frexp(float2 x, __private int2 *exp);
   8412 float3 __ovld frexp(float3 x, __private int3 *exp);
   8413 float4 __ovld frexp(float4 x, __private int4 *exp);
   8414 float8 __ovld frexp(float8 x, __private int8 *exp);
   8415 float16 __ovld frexp(float16 x, __private int16 *exp);
   8416 #ifdef cl_khr_fp64
   8417 double __ovld frexp(double x, __global int *exp);
   8418 double2 __ovld frexp(double2 x, __global int2 *exp);
   8419 double3 __ovld frexp(double3 x, __global int3 *exp);
   8420 double4 __ovld frexp(double4 x, __global int4 *exp);
   8421 double8 __ovld frexp(double8 x, __global int8 *exp);
   8422 double16 __ovld frexp(double16 x, __global int16 *exp);
   8423 double __ovld frexp(double x, __local int *exp);
   8424 double2 __ovld frexp(double2 x, __local int2 *exp);
   8425 double3 __ovld frexp(double3 x, __local int3 *exp);
   8426 double4 __ovld frexp(double4 x, __local int4 *exp);
   8427 double8 __ovld frexp(double8 x, __local int8 *exp);
   8428 double16 __ovld frexp(double16 x, __local int16 *exp);
   8429 double __ovld frexp(double x, __private int *exp);
   8430 double2 __ovld frexp(double2 x, __private int2 *exp);
   8431 double3 __ovld frexp(double3 x, __private int3 *exp);
   8432 double4 __ovld frexp(double4 x, __private int4 *exp);
   8433 double8 __ovld frexp(double8 x, __private int8 *exp);
   8434 double16 __ovld frexp(double16 x, __private int16 *exp);
   8435 #endif //cl_khr_fp64
   8436 #ifdef cl_khr_fp16
   8437 half __ovld frexp(half x, __global int *exp);
   8438 half2 __ovld frexp(half2 x, __global int2 *exp);
   8439 half3 __ovld frexp(half3 x, __global int3 *exp);
   8440 half4 __ovld frexp(half4 x, __global int4 *exp);
   8441 half8 __ovld frexp(half8 x, __global int8 *exp);
   8442 half16 __ovld frexp(half16 x, __global int16 *exp);
   8443 half __ovld frexp(half x, __local int *exp);
   8444 half2 __ovld frexp(half2 x, __local int2 *exp);
   8445 half3 __ovld frexp(half3 x, __local int3 *exp);
   8446 half4 __ovld frexp(half4 x, __local int4 *exp);
   8447 half8 __ovld frexp(half8 x, __local int8 *exp);
   8448 half16 __ovld frexp(half16 x, __local int16 *exp);
   8449 half __ovld frexp(half x, __private int *exp);
   8450 half2 __ovld frexp(half2 x, __private int2 *exp);
   8451 half3 __ovld frexp(half3 x, __private int3 *exp);
   8452 half4 __ovld frexp(half4 x, __private int4 *exp);
   8453 half8 __ovld frexp(half8 x, __private int8 *exp);
   8454 half16 __ovld frexp(half16 x, __private int16 *exp);
   8455 #endif //cl_khr_fp16
   8456 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   8457 
   8458 /**
   8459  * Compute the value of the square root of x^2 + y^2
   8460  * without undue overflow or underflow.
   8461  */
   8462 float __ovld __cnfn hypot(float x, float y);
   8463 float2 __ovld __cnfn hypot(float2 x, float2 y);
   8464 float3 __ovld __cnfn hypot(float3 x, float3 y);
   8465 float4 __ovld __cnfn hypot(float4 x, float4 y);
   8466 float8 __ovld __cnfn hypot(float8 x, float8 y);
   8467 float16 __ovld __cnfn hypot(float16 x, float16 y);
   8468 #ifdef cl_khr_fp64
   8469 double __ovld __cnfn hypot(double x, double y);
   8470 double2 __ovld __cnfn hypot(double2 x, double2 y);
   8471 double3 __ovld __cnfn hypot(double3 x, double3 y);
   8472 double4 __ovld __cnfn hypot(double4 x, double4 y);
   8473 double8 __ovld __cnfn hypot(double8 x, double8 y);
   8474 double16 __ovld __cnfn hypot(double16 x, double16 y);
   8475 #endif //cl_khr_fp64
   8476 #ifdef cl_khr_fp16
   8477 half __ovld __cnfn hypot(half x, half y);
   8478 half2 __ovld __cnfn hypot(half2 x, half2 y);
   8479 half3 __ovld __cnfn hypot(half3 x, half3 y);
   8480 half4 __ovld __cnfn hypot(half4 x, half4 y);
   8481 half8 __ovld __cnfn hypot(half8 x, half8 y);
   8482 half16 __ovld __cnfn hypot(half16 x, half16 y);
   8483 #endif //cl_khr_fp16
   8484 
   8485 /**
   8486  * Return the exponent as an integer value.
   8487  */
   8488 int __ovld __cnfn ilogb(float x);
   8489 int2 __ovld __cnfn ilogb(float2 x);
   8490 int3 __ovld __cnfn ilogb(float3 x);
   8491 int4 __ovld __cnfn ilogb(float4 x);
   8492 int8 __ovld __cnfn ilogb(float8 x);
   8493 int16 __ovld __cnfn ilogb(float16 x);
   8494 #ifdef cl_khr_fp64
   8495 int __ovld __cnfn ilogb(double x);
   8496 int2 __ovld __cnfn ilogb(double2 x);
   8497 int3 __ovld __cnfn ilogb(double3 x);
   8498 int4 __ovld __cnfn ilogb(double4 x);
   8499 int8 __ovld __cnfn ilogb(double8 x);
   8500 int16 __ovld __cnfn ilogb(double16 x);
   8501 #endif //cl_khr_fp64
   8502 #ifdef cl_khr_fp16
   8503 int __ovld __cnfn ilogb(half x);
   8504 int2 __ovld __cnfn ilogb(half2 x);
   8505 int3 __ovld __cnfn ilogb(half3 x);
   8506 int4 __ovld __cnfn ilogb(half4 x);
   8507 int8 __ovld __cnfn ilogb(half8 x);
   8508 int16 __ovld __cnfn ilogb(half16 x);
   8509 #endif //cl_khr_fp16
   8510 
   8511 /**
   8512  * Multiply x by 2 to the power n.
   8513  */
   8514 float __ovld __cnfn ldexp(float x, int n);
   8515 float2 __ovld __cnfn ldexp(float2 x, int2 n);
   8516 float3 __ovld __cnfn ldexp(float3 x, int3 n);
   8517 float4 __ovld __cnfn ldexp(float4 x, int4 n);
   8518 float8 __ovld __cnfn ldexp(float8 x, int8 n);
   8519 float16 __ovld __cnfn ldexp(float16 x, int16 n);
   8520 float2 __ovld __cnfn ldexp(float2 x, int n);
   8521 float3 __ovld __cnfn ldexp(float3 x, int n);
   8522 float4 __ovld __cnfn ldexp(float4 x, int n);
   8523 float8 __ovld __cnfn ldexp(float8 x, int n);
   8524 float16 __ovld __cnfn ldexp(float16 x, int n);
   8525 #ifdef cl_khr_fp64
   8526 double __ovld __cnfn ldexp(double x, int n);
   8527 double2 __ovld __cnfn ldexp(double2 x, int2 n);
   8528 double3 __ovld __cnfn ldexp(double3 x, int3 n);
   8529 double4 __ovld __cnfn ldexp(double4 x, int4 n);
   8530 double8 __ovld __cnfn ldexp(double8 x, int8 n);
   8531 double16 __ovld __cnfn ldexp(double16 x, int16 n);
   8532 double2 __ovld __cnfn ldexp(double2 x, int n);
   8533 double3 __ovld __cnfn ldexp(double3 x, int n);
   8534 double4 __ovld __cnfn ldexp(double4 x, int n);
   8535 double8 __ovld __cnfn ldexp(double8 x, int n);
   8536 double16 __ovld __cnfn ldexp(double16 x, int n);
   8537 #endif //cl_khr_fp64
   8538 #ifdef cl_khr_fp16
   8539 half __ovld __cnfn ldexp(half x, int n);
   8540 half2 __ovld __cnfn ldexp(half2 x, int2 n);
   8541 half3 __ovld __cnfn ldexp(half3 x, int3 n);
   8542 half4 __ovld __cnfn ldexp(half4 x, int4 n);
   8543 half8 __ovld __cnfn ldexp(half8 x, int8 n);
   8544 half16 __ovld __cnfn ldexp(half16 x, int16 n);
   8545 half2 __ovld __cnfn ldexp(half2 x, int n);
   8546 half3 __ovld __cnfn ldexp(half3 x, int n);
   8547 half4 __ovld __cnfn ldexp(half4 x, int n);
   8548 half8 __ovld __cnfn ldexp(half8 x, int n);
   8549 half16 __ovld __cnfn ldexp(half16 x, int n);
   8550 #endif //cl_khr_fp16
   8551 
   8552 /**
   8553  * Log gamma function. Returns the natural
   8554  * logarithm of the absolute value of the gamma
   8555  * function. The sign of the gamma function is
   8556  * returned in the signp argument of lgamma_r.
   8557  */
   8558 float __ovld __cnfn lgamma(float x);
   8559 float2 __ovld __cnfn lgamma(float2 x);
   8560 float3 __ovld __cnfn lgamma(float3 x);
   8561 float4 __ovld __cnfn lgamma(float4 x);
   8562 float8 __ovld __cnfn lgamma(float8 x);
   8563 float16 __ovld __cnfn lgamma(float16 x);
   8564 #ifdef cl_khr_fp64
   8565 double __ovld __cnfn lgamma(double x);
   8566 double2 __ovld __cnfn lgamma(double2 x);
   8567 double3 __ovld __cnfn lgamma(double3 x);
   8568 double4 __ovld __cnfn lgamma(double4 x);
   8569 double8 __ovld __cnfn lgamma(double8 x);
   8570 double16 __ovld __cnfn lgamma(double16 x);
   8571 #endif //cl_khr_fp64
   8572 #ifdef cl_khr_fp16
   8573 half __ovld __cnfn lgamma(half x);
   8574 half2 __ovld __cnfn lgamma(half2 x);
   8575 half3 __ovld __cnfn lgamma(half3 x);
   8576 half4 __ovld __cnfn lgamma(half4 x);
   8577 half8 __ovld __cnfn lgamma(half8 x);
   8578 half16 __ovld __cnfn lgamma(half16 x);
   8579 #endif //cl_khr_fp16
   8580 
   8581 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   8582 float __ovld lgamma_r(float x, int *signp);
   8583 float2 __ovld lgamma_r(float2 x, int2 *signp);
   8584 float3 __ovld lgamma_r(float3 x, int3 *signp);
   8585 float4 __ovld lgamma_r(float4 x, int4 *signp);
   8586 float8 __ovld lgamma_r(float8 x, int8 *signp);
   8587 float16 __ovld lgamma_r(float16 x, int16 *signp);
   8588 #ifdef cl_khr_fp64
   8589 double __ovld lgamma_r(double x, int *signp);
   8590 double2 __ovld lgamma_r(double2 x, int2 *signp);
   8591 double3 __ovld lgamma_r(double3 x, int3 *signp);
   8592 double4 __ovld lgamma_r(double4 x, int4 *signp);
   8593 double8 __ovld lgamma_r(double8 x, int8 *signp);
   8594 double16 __ovld lgamma_r(double16 x, int16 *signp);
   8595 #endif //cl_khr_fp64
   8596 #ifdef cl_khr_fp16
   8597 half __ovld lgamma_r(half x, int *signp);
   8598 half2 __ovld lgamma_r(half2 x, int2 *signp);
   8599 half3 __ovld lgamma_r(half3 x, int3 *signp);
   8600 half4 __ovld lgamma_r(half4 x, int4 *signp);
   8601 half8 __ovld lgamma_r(half8 x, int8 *signp);
   8602 half16 __ovld lgamma_r(half16 x, int16 *signp);
   8603 #endif //cl_khr_fp16
   8604 #else
   8605 float __ovld lgamma_r(float x, __global int *signp);
   8606 float2 __ovld lgamma_r(float2 x, __global int2 *signp);
   8607 float3 __ovld lgamma_r(float3 x, __global int3 *signp);
   8608 float4 __ovld lgamma_r(float4 x, __global int4 *signp);
   8609 float8 __ovld lgamma_r(float8 x, __global int8 *signp);
   8610 float16 __ovld lgamma_r(float16 x, __global int16 *signp);
   8611 float __ovld lgamma_r(float x, __local int *signp);
   8612 float2 __ovld lgamma_r(float2 x, __local int2 *signp);
   8613 float3 __ovld lgamma_r(float3 x, __local int3 *signp);
   8614 float4 __ovld lgamma_r(float4 x, __local int4 *signp);
   8615 float8 __ovld lgamma_r(float8 x, __local int8 *signp);
   8616 float16 __ovld lgamma_r(float16 x, __local int16 *signp);
   8617 float __ovld lgamma_r(float x, __private int *signp);
   8618 float2 __ovld lgamma_r(float2 x, __private int2 *signp);
   8619 float3 __ovld lgamma_r(float3 x, __private int3 *signp);
   8620 float4 __ovld lgamma_r(float4 x, __private int4 *signp);
   8621 float8 __ovld lgamma_r(float8 x, __private int8 *signp);
   8622 float16 __ovld lgamma_r(float16 x, __private int16 *signp);
   8623 #ifdef cl_khr_fp64
   8624 double __ovld lgamma_r(double x, __global int *signp);
   8625 double2 __ovld lgamma_r(double2 x, __global int2 *signp);
   8626 double3 __ovld lgamma_r(double3 x, __global int3 *signp);
   8627 double4 __ovld lgamma_r(double4 x, __global int4 *signp);
   8628 double8 __ovld lgamma_r(double8 x, __global int8 *signp);
   8629 double16 __ovld lgamma_r(double16 x, __global int16 *signp);
   8630 double __ovld lgamma_r(double x, __local int *signp);
   8631 double2 __ovld lgamma_r(double2 x, __local int2 *signp);
   8632 double3 __ovld lgamma_r(double3 x, __local int3 *signp);
   8633 double4 __ovld lgamma_r(double4 x, __local int4 *signp);
   8634 double8 __ovld lgamma_r(double8 x, __local int8 *signp);
   8635 double16 __ovld lgamma_r(double16 x, __local int16 *signp);
   8636 double __ovld lgamma_r(double x, __private int *signp);
   8637 double2 __ovld lgamma_r(double2 x, __private int2 *signp);
   8638 double3 __ovld lgamma_r(double3 x, __private int3 *signp);
   8639 double4 __ovld lgamma_r(double4 x, __private int4 *signp);
   8640 double8 __ovld lgamma_r(double8 x, __private int8 *signp);
   8641 double16 __ovld lgamma_r(double16 x, __private int16 *signp);
   8642 #endif //cl_khr_fp64
   8643 #ifdef cl_khr_fp16
   8644 half __ovld lgamma_r(half x, __global int *signp);
   8645 half2 __ovld lgamma_r(half2 x, __global int2 *signp);
   8646 half3 __ovld lgamma_r(half3 x, __global int3 *signp);
   8647 half4 __ovld lgamma_r(half4 x, __global int4 *signp);
   8648 half8 __ovld lgamma_r(half8 x, __global int8 *signp);
   8649 half16 __ovld lgamma_r(half16 x, __global int16 *signp);
   8650 half __ovld lgamma_r(half x, __local int *signp);
   8651 half2 __ovld lgamma_r(half2 x, __local int2 *signp);
   8652 half3 __ovld lgamma_r(half3 x, __local int3 *signp);
   8653 half4 __ovld lgamma_r(half4 x, __local int4 *signp);
   8654 half8 __ovld lgamma_r(half8 x, __local int8 *signp);
   8655 half16 __ovld lgamma_r(half16 x, __local int16 *signp);
   8656 half __ovld lgamma_r(half x, __private int *signp);
   8657 half2 __ovld lgamma_r(half2 x, __private int2 *signp);
   8658 half3 __ovld lgamma_r(half3 x, __private int3 *signp);
   8659 half4 __ovld lgamma_r(half4 x, __private int4 *signp);
   8660 half8 __ovld lgamma_r(half8 x, __private int8 *signp);
   8661 half16 __ovld lgamma_r(half16 x, __private int16 *signp);
   8662 #endif //cl_khr_fp16
   8663 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   8664 
   8665 /**
   8666  * Compute natural logarithm.
   8667  */
   8668 float __ovld __cnfn log(float);
   8669 float2 __ovld __cnfn log(float2);
   8670 float3 __ovld __cnfn log(float3);
   8671 float4 __ovld __cnfn log(float4);
   8672 float8 __ovld __cnfn log(float8);
   8673 float16 __ovld __cnfn log(float16);
   8674 #ifdef cl_khr_fp64
   8675 double __ovld __cnfn log(double);
   8676 double2 __ovld __cnfn log(double2);
   8677 double3 __ovld __cnfn log(double3);
   8678 double4 __ovld __cnfn log(double4);
   8679 double8 __ovld __cnfn log(double8);
   8680 double16 __ovld __cnfn log(double16);
   8681 #endif //cl_khr_fp64
   8682 #ifdef cl_khr_fp16
   8683 half __ovld __cnfn log(half);
   8684 half2 __ovld __cnfn log(half2);
   8685 half3 __ovld __cnfn log(half3);
   8686 half4 __ovld __cnfn log(half4);
   8687 half8 __ovld __cnfn log(half8);
   8688 half16 __ovld __cnfn log(half16);
   8689 #endif //cl_khr_fp16
   8690 
   8691 /**
   8692  * Compute a base 2 logarithm.
   8693  */
   8694 float __ovld __cnfn log2(float);
   8695 float2 __ovld __cnfn log2(float2);
   8696 float3 __ovld __cnfn log2(float3);
   8697 float4 __ovld __cnfn log2(float4);
   8698 float8 __ovld __cnfn log2(float8);
   8699 float16 __ovld __cnfn log2(float16);
   8700 #ifdef cl_khr_fp64
   8701 double __ovld __cnfn log2(double);
   8702 double2 __ovld __cnfn log2(double2);
   8703 double3 __ovld __cnfn log2(double3);
   8704 double4 __ovld __cnfn log2(double4);
   8705 double8 __ovld __cnfn log2(double8);
   8706 double16 __ovld __cnfn log2(double16);
   8707 #endif //cl_khr_fp64
   8708 #ifdef cl_khr_fp16
   8709 half __ovld __cnfn log2(half);
   8710 half2 __ovld __cnfn log2(half2);
   8711 half3 __ovld __cnfn log2(half3);
   8712 half4 __ovld __cnfn log2(half4);
   8713 half8 __ovld __cnfn log2(half8);
   8714 half16 __ovld __cnfn log2(half16);
   8715 #endif //cl_khr_fp16
   8716 
   8717 /**
   8718  * Compute a base 10 logarithm.
   8719  */
   8720 float __ovld __cnfn log10(float);
   8721 float2 __ovld __cnfn log10(float2);
   8722 float3 __ovld __cnfn log10(float3);
   8723 float4 __ovld __cnfn log10(float4);
   8724 float8 __ovld __cnfn log10(float8);
   8725 float16 __ovld __cnfn log10(float16);
   8726 #ifdef cl_khr_fp64
   8727 double __ovld __cnfn log10(double);
   8728 double2 __ovld __cnfn log10(double2);
   8729 double3 __ovld __cnfn log10(double3);
   8730 double4 __ovld __cnfn log10(double4);
   8731 double8 __ovld __cnfn log10(double8);
   8732 double16 __ovld __cnfn log10(double16);
   8733 #endif //cl_khr_fp64
   8734 #ifdef cl_khr_fp16
   8735 half __ovld __cnfn log10(half);
   8736 half2 __ovld __cnfn log10(half2);
   8737 half3 __ovld __cnfn log10(half3);
   8738 half4 __ovld __cnfn log10(half4);
   8739 half8 __ovld __cnfn log10(half8);
   8740 half16 __ovld __cnfn log10(half16);
   8741 #endif //cl_khr_fp16
   8742 
   8743 /**
   8744  * Compute a base e logarithm of (1.0 + x).
   8745  */
   8746 float __ovld __cnfn log1p(float x);
   8747 float2 __ovld __cnfn log1p(float2 x);
   8748 float3 __ovld __cnfn log1p(float3 x);
   8749 float4 __ovld __cnfn log1p(float4 x);
   8750 float8 __ovld __cnfn log1p(float8 x);
   8751 float16 __ovld __cnfn log1p(float16 x);
   8752 #ifdef cl_khr_fp64
   8753 double __ovld __cnfn log1p(double x);
   8754 double2 __ovld __cnfn log1p(double2 x);
   8755 double3 __ovld __cnfn log1p(double3 x);
   8756 double4 __ovld __cnfn log1p(double4 x);
   8757 double8 __ovld __cnfn log1p(double8 x);
   8758 double16 __ovld __cnfn log1p(double16 x);
   8759 #endif //cl_khr_fp64
   8760 #ifdef cl_khr_fp16
   8761 half __ovld __cnfn log1p(half x);
   8762 half2 __ovld __cnfn log1p(half2 x);
   8763 half3 __ovld __cnfn log1p(half3 x);
   8764 half4 __ovld __cnfn log1p(half4 x);
   8765 half8 __ovld __cnfn log1p(half8 x);
   8766 half16 __ovld __cnfn log1p(half16 x);
   8767 #endif //cl_khr_fp16
   8768 
   8769 /**
   8770  * Compute the exponent of x, which is the integral
   8771  * part of logr | x |.
   8772  */
   8773 float __ovld __cnfn logb(float x);
   8774 float2 __ovld __cnfn logb(float2 x);
   8775 float3 __ovld __cnfn logb(float3 x);
   8776 float4 __ovld __cnfn logb(float4 x);
   8777 float8 __ovld __cnfn logb(float8 x);
   8778 float16 __ovld __cnfn logb(float16 x);
   8779 #ifdef cl_khr_fp64
   8780 double __ovld __cnfn logb(double x);
   8781 double2 __ovld __cnfn logb(double2 x);
   8782 double3 __ovld __cnfn logb(double3 x);
   8783 double4 __ovld __cnfn logb(double4 x);
   8784 double8 __ovld __cnfn logb(double8 x);
   8785 double16 __ovld __cnfn logb(double16 x);
   8786 #endif //cl_khr_fp64
   8787 #ifdef cl_khr_fp16
   8788 half __ovld __cnfn logb(half x);
   8789 half2 __ovld __cnfn logb(half2 x);
   8790 half3 __ovld __cnfn logb(half3 x);
   8791 half4 __ovld __cnfn logb(half4 x);
   8792 half8 __ovld __cnfn logb(half8 x);
   8793 half16 __ovld __cnfn logb(half16 x);
   8794 #endif //cl_khr_fp16
   8795 
   8796 /**
   8797  * mad approximates a * b + c. Whether or how the
   8798  * product of a * b is rounded and how supernormal or
   8799  * subnormal intermediate products are handled is not
   8800  * defined. mad is intended to be used where speed is
   8801  * preferred over accuracy.
   8802  */
   8803 float __ovld __cnfn mad(float a, float b, float c);
   8804 float2 __ovld __cnfn mad(float2 a, float2 b, float2 c);
   8805 float3 __ovld __cnfn mad(float3 a, float3 b, float3 c);
   8806 float4 __ovld __cnfn mad(float4 a, float4 b, float4 c);
   8807 float8 __ovld __cnfn mad(float8 a, float8 b, float8 c);
   8808 float16 __ovld __cnfn mad(float16 a, float16 b, float16 c);
   8809 #ifdef cl_khr_fp64
   8810 double __ovld __cnfn mad(double a, double b, double c);
   8811 double2 __ovld __cnfn mad(double2 a, double2 b, double2 c);
   8812 double3 __ovld __cnfn mad(double3 a, double3 b, double3 c);
   8813 double4 __ovld __cnfn mad(double4 a, double4 b, double4 c);
   8814 double8 __ovld __cnfn mad(double8 a, double8 b, double8 c);
   8815 double16 __ovld __cnfn mad(double16 a, double16 b, double16 c);
   8816 #endif //cl_khr_fp64
   8817 #ifdef cl_khr_fp16
   8818 half __ovld __cnfn mad(half a, half b, half c);
   8819 half2 __ovld __cnfn mad(half2 a, half2 b, half2 c);
   8820 half3 __ovld __cnfn mad(half3 a, half3 b, half3 c);
   8821 half4 __ovld __cnfn mad(half4 a, half4 b, half4 c);
   8822 half8 __ovld __cnfn mad(half8 a, half8 b, half8 c);
   8823 half16 __ovld __cnfn mad(half16 a, half16 b, half16 c);
   8824 #endif //cl_khr_fp16
   8825 
   8826 /**
   8827  * Returns x if | x | > | y |, y if | y | > | x |, otherwise
   8828  * fmax(x, y).
   8829  */
   8830 float __ovld __cnfn maxmag(float x, float y);
   8831 float2 __ovld __cnfn maxmag(float2 x, float2 y);
   8832 float3 __ovld __cnfn maxmag(float3 x, float3 y);
   8833 float4 __ovld __cnfn maxmag(float4 x, float4 y);
   8834 float8 __ovld __cnfn maxmag(float8 x, float8 y);
   8835 float16 __ovld __cnfn maxmag(float16 x, float16 y);
   8836 #ifdef cl_khr_fp64
   8837 double __ovld __cnfn maxmag(double x, double y);
   8838 double2 __ovld __cnfn maxmag(double2 x, double2 y);
   8839 double3 __ovld __cnfn maxmag(double3 x, double3 y);
   8840 double4 __ovld __cnfn maxmag(double4 x, double4 y);
   8841 double8 __ovld __cnfn maxmag(double8 x, double8 y);
   8842 double16 __ovld __cnfn maxmag(double16 x, double16 y);
   8843 #endif //cl_khr_fp64
   8844 #ifdef cl_khr_fp16
   8845 half __ovld __cnfn maxmag(half x, half y);
   8846 half2 __ovld __cnfn maxmag(half2 x, half2 y);
   8847 half3 __ovld __cnfn maxmag(half3 x, half3 y);
   8848 half4 __ovld __cnfn maxmag(half4 x, half4 y);
   8849 half8 __ovld __cnfn maxmag(half8 x, half8 y);
   8850 half16 __ovld __cnfn maxmag(half16 x, half16 y);
   8851 #endif //cl_khr_fp16
   8852 
   8853 /**
   8854  * Returns x if | x | < | y |, y if | y | < | x |, otherwise
   8855  * fmin(x, y).
   8856  */
   8857 float __ovld __cnfn minmag(float x, float y);
   8858 float2 __ovld __cnfn minmag(float2 x, float2 y);
   8859 float3 __ovld __cnfn minmag(float3 x, float3 y);
   8860 float4 __ovld __cnfn minmag(float4 x, float4 y);
   8861 float8 __ovld __cnfn minmag(float8 x, float8 y);
   8862 float16 __ovld __cnfn minmag(float16 x, float16 y);
   8863 #ifdef cl_khr_fp64
   8864 double __ovld __cnfn minmag(double x, double y);
   8865 double2 __ovld __cnfn minmag(double2 x, double2 y);
   8866 double3 __ovld __cnfn minmag(double3 x, double3 y);
   8867 double4 __ovld __cnfn minmag(double4 x, double4 y);
   8868 double8 __ovld __cnfn minmag(double8 x, double8 y);
   8869 double16 __ovld __cnfn minmag(double16 x, double16 y);
   8870 #endif //cl_khr_fp64
   8871 #ifdef cl_khr_fp16
   8872 half __ovld __cnfn minmag(half x, half y);
   8873 half2 __ovld __cnfn minmag(half2 x, half2 y);
   8874 half3 __ovld __cnfn minmag(half3 x, half3 y);
   8875 half4 __ovld __cnfn minmag(half4 x, half4 y);
   8876 half8 __ovld __cnfn minmag(half8 x, half8 y);
   8877 half16 __ovld __cnfn minmag(half16 x, half16 y);
   8878 #endif //cl_khr_fp16
   8879 
   8880 /**
   8881  * Decompose a floating-point number. The modf
   8882  * function breaks the argument x into integral and
   8883  * fractional parts, each of which has the same sign as
   8884  * the argument. It stores the integral part in the object
   8885  * pointed to by iptr.
   8886  */
   8887 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   8888 float __ovld modf(float x, float *iptr);
   8889 float2 __ovld modf(float2 x, float2 *iptr);
   8890 float3 __ovld modf(float3 x, float3 *iptr);
   8891 float4 __ovld modf(float4 x, float4 *iptr);
   8892 float8 __ovld modf(float8 x, float8 *iptr);
   8893 float16 __ovld modf(float16 x, float16 *iptr);
   8894 #ifdef cl_khr_fp64
   8895 double __ovld modf(double x, double *iptr);
   8896 double2 __ovld modf(double2 x, double2 *iptr);
   8897 double3 __ovld modf(double3 x, double3 *iptr);
   8898 double4 __ovld modf(double4 x, double4 *iptr);
   8899 double8 __ovld modf(double8 x, double8 *iptr);
   8900 double16 __ovld modf(double16 x, double16 *iptr);
   8901 #endif //cl_khr_fp64
   8902 #ifdef cl_khr_fp16
   8903 half __ovld modf(half x, half *iptr);
   8904 half2 __ovld modf(half2 x, half2 *iptr);
   8905 half3 __ovld modf(half3 x, half3 *iptr);
   8906 half4 __ovld modf(half4 x, half4 *iptr);
   8907 half8 __ovld modf(half8 x, half8 *iptr);
   8908 half16 __ovld modf(half16 x, half16 *iptr);
   8909 #endif //cl_khr_fp16
   8910 #else
   8911 float __ovld modf(float x, __global float *iptr);
   8912 float2 __ovld modf(float2 x, __global float2 *iptr);
   8913 float3 __ovld modf(float3 x, __global float3 *iptr);
   8914 float4 __ovld modf(float4 x, __global float4 *iptr);
   8915 float8 __ovld modf(float8 x, __global float8 *iptr);
   8916 float16 __ovld modf(float16 x, __global float16 *iptr);
   8917 float __ovld modf(float x, __local float *iptr);
   8918 float2 __ovld modf(float2 x, __local float2 *iptr);
   8919 float3 __ovld modf(float3 x, __local float3 *iptr);
   8920 float4 __ovld modf(float4 x, __local float4 *iptr);
   8921 float8 __ovld modf(float8 x, __local float8 *iptr);
   8922 float16 __ovld modf(float16 x, __local float16 *iptr);
   8923 float __ovld modf(float x, __private float *iptr);
   8924 float2 __ovld modf(float2 x, __private float2 *iptr);
   8925 float3 __ovld modf(float3 x, __private float3 *iptr);
   8926 float4 __ovld modf(float4 x, __private float4 *iptr);
   8927 float8 __ovld modf(float8 x, __private float8 *iptr);
   8928 float16 __ovld modf(float16 x, __private float16 *iptr);
   8929 #ifdef cl_khr_fp64
   8930 double __ovld modf(double x, __global double *iptr);
   8931 double2 __ovld modf(double2 x, __global double2 *iptr);
   8932 double3 __ovld modf(double3 x, __global double3 *iptr);
   8933 double4 __ovld modf(double4 x, __global double4 *iptr);
   8934 double8 __ovld modf(double8 x, __global double8 *iptr);
   8935 double16 __ovld modf(double16 x, __global double16 *iptr);
   8936 double __ovld modf(double x, __local double *iptr);
   8937 double2 __ovld modf(double2 x, __local double2 *iptr);
   8938 double3 __ovld modf(double3 x, __local double3 *iptr);
   8939 double4 __ovld modf(double4 x, __local double4 *iptr);
   8940 double8 __ovld modf(double8 x, __local double8 *iptr);
   8941 double16 __ovld modf(double16 x, __local double16 *iptr);
   8942 double __ovld modf(double x, __private double *iptr);
   8943 double2 __ovld modf(double2 x, __private double2 *iptr);
   8944 double3 __ovld modf(double3 x, __private double3 *iptr);
   8945 double4 __ovld modf(double4 x, __private double4 *iptr);
   8946 double8 __ovld modf(double8 x, __private double8 *iptr);
   8947 double16 __ovld modf(double16 x, __private double16 *iptr);
   8948 #endif //cl_khr_fp64
   8949 #ifdef cl_khr_fp16
   8950 half __ovld modf(half x, __global half *iptr);
   8951 half2 __ovld modf(half2 x, __global half2 *iptr);
   8952 half3 __ovld modf(half3 x, __global half3 *iptr);
   8953 half4 __ovld modf(half4 x, __global half4 *iptr);
   8954 half8 __ovld modf(half8 x, __global half8 *iptr);
   8955 half16 __ovld modf(half16 x, __global half16 *iptr);
   8956 half __ovld modf(half x, __local half *iptr);
   8957 half2 __ovld modf(half2 x, __local half2 *iptr);
   8958 half3 __ovld modf(half3 x, __local half3 *iptr);
   8959 half4 __ovld modf(half4 x, __local half4 *iptr);
   8960 half8 __ovld modf(half8 x, __local half8 *iptr);
   8961 half16 __ovld modf(half16 x, __local half16 *iptr);
   8962 half __ovld modf(half x, __private half *iptr);
   8963 half2 __ovld modf(half2 x, __private half2 *iptr);
   8964 half3 __ovld modf(half3 x, __private half3 *iptr);
   8965 half4 __ovld modf(half4 x, __private half4 *iptr);
   8966 half8 __ovld modf(half8 x, __private half8 *iptr);
   8967 half16 __ovld modf(half16 x, __private half16 *iptr);
   8968 #endif //cl_khr_fp16
   8969 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   8970 
   8971 /**
   8972  * Returns a quiet NaN. The nancode may be placed
   8973  * in the significand of the resulting NaN.
   8974  */
   8975 float __ovld __cnfn nan(uint nancode);
   8976 float2 __ovld __cnfn nan(uint2 nancode);
   8977 float3 __ovld __cnfn nan(uint3 nancode);
   8978 float4 __ovld __cnfn nan(uint4 nancode);
   8979 float8 __ovld __cnfn nan(uint8 nancode);
   8980 float16 __ovld __cnfn nan(uint16 nancode);
   8981 #ifdef cl_khr_fp64
   8982 double __ovld __cnfn nan(ulong nancode);
   8983 double2 __ovld __cnfn nan(ulong2 nancode);
   8984 double3 __ovld __cnfn nan(ulong3 nancode);
   8985 double4 __ovld __cnfn nan(ulong4 nancode);
   8986 double8 __ovld __cnfn nan(ulong8 nancode);
   8987 double16 __ovld __cnfn nan(ulong16 nancode);
   8988 #endif //cl_khr_fp64
   8989 #ifdef cl_khr_fp16
   8990 half __ovld __cnfn nan(ushort nancode);
   8991 half2 __ovld __cnfn nan(ushort2 nancode);
   8992 half3 __ovld __cnfn nan(ushort3 nancode);
   8993 half4 __ovld __cnfn nan(ushort4 nancode);
   8994 half8 __ovld __cnfn nan(ushort8 nancode);
   8995 half16 __ovld __cnfn nan(ushort16 nancode);
   8996 #endif //cl_khr_fp16
   8997 
   8998 /**
   8999  * Computes the next representable single-precision
   9000  * floating-point value following x in the direction of
   9001  * y. Thus, if y is less than x, nextafter() returns the
   9002  * largest representable floating-point number less
   9003  * than x.
   9004  */
   9005 float __ovld __cnfn nextafter(float x, float y);
   9006 float2 __ovld __cnfn nextafter(float2 x, float2 y);
   9007 float3 __ovld __cnfn nextafter(float3 x, float3 y);
   9008 float4 __ovld __cnfn nextafter(float4 x, float4 y);
   9009 float8 __ovld __cnfn nextafter(float8 x, float8 y);
   9010 float16 __ovld __cnfn nextafter(float16 x, float16 y);
   9011 #ifdef cl_khr_fp64
   9012 double __ovld __cnfn nextafter(double x, double y);
   9013 double2 __ovld __cnfn nextafter(double2 x, double2 y);
   9014 double3 __ovld __cnfn nextafter(double3 x, double3 y);
   9015 double4 __ovld __cnfn nextafter(double4 x, double4 y);
   9016 double8 __ovld __cnfn nextafter(double8 x, double8 y);
   9017 double16 __ovld __cnfn nextafter(double16 x, double16 y);
   9018 #endif //cl_khr_fp64
   9019 #ifdef cl_khr_fp16
   9020 half __ovld __cnfn nextafter(half x, half y);
   9021 half2 __ovld __cnfn nextafter(half2 x, half2 y);
   9022 half3 __ovld __cnfn nextafter(half3 x, half3 y);
   9023 half4 __ovld __cnfn nextafter(half4 x, half4 y);
   9024 half8 __ovld __cnfn nextafter(half8 x, half8 y);
   9025 half16 __ovld __cnfn nextafter(half16 x, half16 y);
   9026 #endif //cl_khr_fp16
   9027 
   9028 /**
   9029  * Compute x to the power y.
   9030  */
   9031 float __ovld __cnfn pow(float x, float y);
   9032 float2 __ovld __cnfn pow(float2 x, float2 y);
   9033 float3 __ovld __cnfn pow(float3 x, float3 y);
   9034 float4 __ovld __cnfn pow(float4 x, float4 y);
   9035 float8 __ovld __cnfn pow(float8 x, float8 y);
   9036 float16 __ovld __cnfn pow(float16 x, float16 y);
   9037 #ifdef cl_khr_fp64
   9038 double __ovld __cnfn pow(double x, double y);
   9039 double2 __ovld __cnfn pow(double2 x, double2 y);
   9040 double3 __ovld __cnfn pow(double3 x, double3 y);
   9041 double4 __ovld __cnfn pow(double4 x, double4 y);
   9042 double8 __ovld __cnfn pow(double8 x, double8 y);
   9043 double16 __ovld __cnfn pow(double16 x, double16 y);
   9044 #endif //cl_khr_fp64
   9045 #ifdef cl_khr_fp16
   9046 half __ovld __cnfn pow(half x, half y);
   9047 half2 __ovld __cnfn pow(half2 x, half2 y);
   9048 half3 __ovld __cnfn pow(half3 x, half3 y);
   9049 half4 __ovld __cnfn pow(half4 x, half4 y);
   9050 half8 __ovld __cnfn pow(half8 x, half8 y);
   9051 half16 __ovld __cnfn pow(half16 x, half16 y);
   9052 #endif //cl_khr_fp16
   9053 
   9054 /**
   9055  * Compute x to the power y, where y is an integer.
   9056  */
   9057 float __ovld __cnfn pown(float x, int y);
   9058 float2 __ovld __cnfn pown(float2 x, int2 y);
   9059 float3 __ovld __cnfn pown(float3 x, int3 y);
   9060 float4 __ovld __cnfn pown(float4 x, int4 y);
   9061 float8 __ovld __cnfn pown(float8 x, int8 y);
   9062 float16 __ovld __cnfn pown(float16 x, int16 y);
   9063 #ifdef cl_khr_fp64
   9064 double __ovld __cnfn pown(double x, int y);
   9065 double2 __ovld __cnfn pown(double2 x, int2 y);
   9066 double3 __ovld __cnfn pown(double3 x, int3 y);
   9067 double4 __ovld __cnfn pown(double4 x, int4 y);
   9068 double8 __ovld __cnfn pown(double8 x, int8 y);
   9069 double16 __ovld __cnfn pown(double16 x, int16 y);
   9070 #endif //cl_khr_fp64
   9071 #ifdef cl_khr_fp16
   9072 half __ovld __cnfn pown(half x, int y);
   9073 half2 __ovld __cnfn pown(half2 x, int2 y);
   9074 half3 __ovld __cnfn pown(half3 x, int3 y);
   9075 half4 __ovld __cnfn pown(half4 x, int4 y);
   9076 half8 __ovld __cnfn pown(half8 x, int8 y);
   9077 half16 __ovld __cnfn pown(half16 x, int16 y);
   9078 #endif //cl_khr_fp16
   9079 
   9080 /**
   9081  * Compute x to the power y, where x is >= 0.
   9082  */
   9083 float __ovld __cnfn powr(float x, float y);
   9084 float2 __ovld __cnfn powr(float2 x, float2 y);
   9085 float3 __ovld __cnfn powr(float3 x, float3 y);
   9086 float4 __ovld __cnfn powr(float4 x, float4 y);
   9087 float8 __ovld __cnfn powr(float8 x, float8 y);
   9088 float16 __ovld __cnfn powr(float16 x, float16 y);
   9089 #ifdef cl_khr_fp64
   9090 double __ovld __cnfn powr(double x, double y);
   9091 double2 __ovld __cnfn powr(double2 x, double2 y);
   9092 double3 __ovld __cnfn powr(double3 x, double3 y);
   9093 double4 __ovld __cnfn powr(double4 x, double4 y);
   9094 double8 __ovld __cnfn powr(double8 x, double8 y);
   9095 double16 __ovld __cnfn powr(double16 x, double16 y);
   9096 #endif //cl_khr_fp64
   9097 #ifdef cl_khr_fp16
   9098 half __ovld __cnfn powr(half x, half y);
   9099 half2 __ovld __cnfn powr(half2 x, half2 y);
   9100 half3 __ovld __cnfn powr(half3 x, half3 y);
   9101 half4 __ovld __cnfn powr(half4 x, half4 y);
   9102 half8 __ovld __cnfn powr(half8 x, half8 y);
   9103 half16 __ovld __cnfn powr(half16 x, half16 y);
   9104 #endif //cl_khr_fp16
   9105 
   9106 /**
   9107  * Compute the value r such that r = x - n*y, where n
   9108  * is the integer nearest the exact value of x/y. If there
   9109  * are two integers closest to x/y, n shall be the even
   9110  * one. If r is zero, it is given the same sign as x.
   9111  */
   9112 float __ovld __cnfn remainder(float x, float y);
   9113 float2 __ovld __cnfn remainder(float2 x, float2 y);
   9114 float3 __ovld __cnfn remainder(float3 x, float3 y);
   9115 float4 __ovld __cnfn remainder(float4 x, float4 y);
   9116 float8 __ovld __cnfn remainder(float8 x, float8 y);
   9117 float16 __ovld __cnfn remainder(float16 x, float16 y);
   9118 #ifdef cl_khr_fp64
   9119 double __ovld __cnfn remainder(double x, double y);
   9120 double2 __ovld __cnfn remainder(double2 x, double2 y);
   9121 double3 __ovld __cnfn remainder(double3 x, double3 y);
   9122 double4 __ovld __cnfn remainder(double4 x, double4 y);
   9123 double8 __ovld __cnfn remainder(double8 x, double8 y);
   9124 double16 __ovld __cnfn remainder(double16 x, double16 y);
   9125 #endif //cl_khr_fp64
   9126 #ifdef cl_khr_fp16
   9127 half __ovld __cnfn remainder(half x, half y);
   9128 half2 __ovld __cnfn remainder(half2 x, half2 y);
   9129 half3 __ovld __cnfn remainder(half3 x, half3 y);
   9130 half4 __ovld __cnfn remainder(half4 x, half4 y);
   9131 half8 __ovld __cnfn remainder(half8 x, half8 y);
   9132 half16 __ovld __cnfn remainder(half16 x, half16 y);
   9133 #endif //cl_khr_fp16
   9134 
   9135 /**
   9136  * The remquo function computes the value r such
   9137  * that r = x - n*y, where n is the integer nearest the
   9138  * exact value of x/y. If there are two integers closest
   9139  * to x/y, n shall be the even one. If r is zero, it is
   9140  * given the same sign as x. This is the same value
   9141  * that is returned by the remainder function.
   9142  * remquo also calculates the lower seven bits of the
   9143  * integral quotient x/y, and gives that value the same
   9144  * sign as x/y. It stores this signed value in the object
   9145  * pointed to by quo.
   9146  */
   9147 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   9148 float __ovld remquo(float x, float y, int *quo);
   9149 float2 __ovld remquo(float2 x, float2 y, int2 *quo);
   9150 float3 __ovld remquo(float3 x, float3 y, int3 *quo);
   9151 float4 __ovld remquo(float4 x, float4 y, int4 *quo);
   9152 float8 __ovld remquo(float8 x, float8 y, int8 *quo);
   9153 float16 __ovld remquo(float16 x, float16 y, int16 *quo);
   9154 #ifdef cl_khr_fp64
   9155 double __ovld remquo(double x, double y, int *quo);
   9156 double2 __ovld remquo(double2 x, double2 y, int2 *quo);
   9157 double3 __ovld remquo(double3 x, double3 y, int3 *quo);
   9158 double4 __ovld remquo(double4 x, double4 y, int4 *quo);
   9159 double8 __ovld remquo(double8 x, double8 y, int8 *quo);
   9160 double16 __ovld remquo(double16 x, double16 y, int16 *quo);
   9161 #endif //cl_khr_fp64
   9162 #ifdef cl_khr_fp16
   9163 half __ovld remquo(half x, half y, int *quo);
   9164 half2 __ovld remquo(half2 x, half2 y, int2 *quo);
   9165 half3 __ovld remquo(half3 x, half3 y, int3 *quo);
   9166 half4 __ovld remquo(half4 x, half4 y, int4 *quo);
   9167 half8 __ovld remquo(half8 x, half8 y, int8 *quo);
   9168 half16 __ovld remquo(half16 x, half16 y, int16 *quo);
   9169 
   9170 #endif //cl_khr_fp16
   9171 #else
   9172 float __ovld remquo(float x, float y, __global int *quo);
   9173 float2 __ovld remquo(float2 x, float2 y, __global int2 *quo);
   9174 float3 __ovld remquo(float3 x, float3 y, __global int3 *quo);
   9175 float4 __ovld remquo(float4 x, float4 y, __global int4 *quo);
   9176 float8 __ovld remquo(float8 x, float8 y, __global int8 *quo);
   9177 float16 __ovld remquo(float16 x, float16 y, __global int16 *quo);
   9178 float __ovld remquo(float x, float y, __local int *quo);
   9179 float2 __ovld remquo(float2 x, float2 y, __local int2 *quo);
   9180 float3 __ovld remquo(float3 x, float3 y, __local int3 *quo);
   9181 float4 __ovld remquo(float4 x, float4 y, __local int4 *quo);
   9182 float8 __ovld remquo(float8 x, float8 y, __local int8 *quo);
   9183 float16 __ovld remquo(float16 x, float16 y, __local int16 *quo);
   9184 float __ovld remquo(float x, float y, __private int *quo);
   9185 float2 __ovld remquo(float2 x, float2 y, __private int2 *quo);
   9186 float3 __ovld remquo(float3 x, float3 y, __private int3 *quo);
   9187 float4 __ovld remquo(float4 x, float4 y, __private int4 *quo);
   9188 float8 __ovld remquo(float8 x, float8 y, __private int8 *quo);
   9189 float16 __ovld remquo(float16 x, float16 y, __private int16 *quo);
   9190 #ifdef cl_khr_fp64
   9191 double __ovld remquo(double x, double y, __global int *quo);
   9192 double2 __ovld remquo(double2 x, double2 y, __global int2 *quo);
   9193 double3 __ovld remquo(double3 x, double3 y, __global int3 *quo);
   9194 double4 __ovld remquo(double4 x, double4 y, __global int4 *quo);
   9195 double8 __ovld remquo(double8 x, double8 y, __global int8 *quo);
   9196 double16 __ovld remquo(double16 x, double16 y, __global int16 *quo);
   9197 double __ovld remquo(double x, double y, __local int *quo);
   9198 double2 __ovld remquo(double2 x, double2 y, __local int2 *quo);
   9199 double3 __ovld remquo(double3 x, double3 y, __local int3 *quo);
   9200 double4 __ovld remquo(double4 x, double4 y, __local int4 *quo);
   9201 double8 __ovld remquo(double8 x, double8 y, __local int8 *quo);
   9202 double16 __ovld remquo(double16 x, double16 y, __local int16 *quo);
   9203 double __ovld remquo(double x, double y, __private int *quo);
   9204 double2 __ovld remquo(double2 x, double2 y, __private int2 *quo);
   9205 double3 __ovld remquo(double3 x, double3 y, __private int3 *quo);
   9206 double4 __ovld remquo(double4 x, double4 y, __private int4 *quo);
   9207 double8 __ovld remquo(double8 x, double8 y, __private int8 *quo);
   9208 double16 __ovld remquo(double16 x, double16 y, __private int16 *quo);
   9209 #endif //cl_khr_fp64
   9210 #ifdef cl_khr_fp16
   9211 half __ovld remquo(half x, half y, __global int *quo);
   9212 half2 __ovld remquo(half2 x, half2 y, __global int2 *quo);
   9213 half3 __ovld remquo(half3 x, half3 y, __global int3 *quo);
   9214 half4 __ovld remquo(half4 x, half4 y, __global int4 *quo);
   9215 half8 __ovld remquo(half8 x, half8 y, __global int8 *quo);
   9216 half16 __ovld remquo(half16 x, half16 y, __global int16 *quo);
   9217 half __ovld remquo(half x, half y, __local int *quo);
   9218 half2 __ovld remquo(half2 x, half2 y, __local int2 *quo);
   9219 half3 __ovld remquo(half3 x, half3 y, __local int3 *quo);
   9220 half4 __ovld remquo(half4 x, half4 y, __local int4 *quo);
   9221 half8 __ovld remquo(half8 x, half8 y, __local int8 *quo);
   9222 half16 __ovld remquo(half16 x, half16 y, __local int16 *quo);
   9223 half __ovld remquo(half x, half y, __private int *quo);
   9224 half2 __ovld remquo(half2 x, half2 y, __private int2 *quo);
   9225 half3 __ovld remquo(half3 x, half3 y, __private int3 *quo);
   9226 half4 __ovld remquo(half4 x, half4 y, __private int4 *quo);
   9227 half8 __ovld remquo(half8 x, half8 y, __private int8 *quo);
   9228 half16 __ovld remquo(half16 x, half16 y, __private int16 *quo);
   9229 #endif //cl_khr_fp16
   9230 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   9231 /**
   9232  * Round to integral value (using round to nearest
   9233  * even rounding mode) in floating-point format.
   9234  * Refer to section 7.1 for description of rounding
   9235  * modes.
   9236  */
   9237 float __ovld __cnfn rint(float);
   9238 float2 __ovld __cnfn rint(float2);
   9239 float3 __ovld __cnfn rint(float3);
   9240 float4 __ovld __cnfn rint(float4);
   9241 float8 __ovld __cnfn rint(float8);
   9242 float16 __ovld __cnfn rint(float16);
   9243 #ifdef cl_khr_fp64
   9244 double __ovld __cnfn rint(double);
   9245 double2 __ovld __cnfn rint(double2);
   9246 double3 __ovld __cnfn rint(double3);
   9247 double4 __ovld __cnfn rint(double4);
   9248 double8 __ovld __cnfn rint(double8);
   9249 double16 __ovld __cnfn rint(double16);
   9250 #endif //cl_khr_fp64
   9251 #ifdef cl_khr_fp16
   9252 half __ovld __cnfn rint(half);
   9253 half2 __ovld __cnfn rint(half2);
   9254 half3 __ovld __cnfn rint(half3);
   9255 half4 __ovld __cnfn rint(half4);
   9256 half8 __ovld __cnfn rint(half8);
   9257 half16 __ovld __cnfn rint(half16);
   9258 #endif //cl_khr_fp16
   9259 
   9260 /**
   9261  * Compute x to the power 1/y.
   9262  */
   9263 float __ovld __cnfn rootn(float x, int y);
   9264 float2 __ovld __cnfn rootn(float2 x, int2 y);
   9265 float3 __ovld __cnfn rootn(float3 x, int3 y);
   9266 float4 __ovld __cnfn rootn(float4 x, int4 y);
   9267 float8 __ovld __cnfn rootn(float8 x, int8 y);
   9268 float16 __ovld __cnfn rootn(float16 x, int16 y);
   9269 #ifdef cl_khr_fp64
   9270 double __ovld __cnfn rootn(double x, int y);
   9271 double2 __ovld __cnfn rootn(double2 x, int2 y);
   9272 double3 __ovld __cnfn rootn(double3 x, int3 y);
   9273 double4 __ovld __cnfn rootn(double4 x, int4 y);
   9274 double8 __ovld __cnfn rootn(double8 x, int8 y);
   9275 double16 __ovld __cnfn rootn(double16 x, int16 y);
   9276 #endif //cl_khr_fp64
   9277 #ifdef cl_khr_fp16
   9278 half __ovld __cnfn rootn(half x, int y);
   9279 half2 __ovld __cnfn rootn(half2 x, int2 y);
   9280 half3 __ovld __cnfn rootn(half3 x, int3 y);
   9281 half4 __ovld __cnfn rootn(half4 x, int4 y);
   9282 half8 __ovld __cnfn rootn(half8 x, int8 y);
   9283 half16 __ovld __cnfn rootn(half16 x, int16 y);
   9284 #endif //cl_khr_fp16
   9285 
   9286 /**
   9287  * Return the integral value nearest to x rounding
   9288  * halfway cases away from zero, regardless of the
   9289  * current rounding direction.
   9290  */
   9291 float __ovld __cnfn round(float x);
   9292 float2 __ovld __cnfn round(float2 x);
   9293 float3 __ovld __cnfn round(float3 x);
   9294 float4 __ovld __cnfn round(float4 x);
   9295 float8 __ovld __cnfn round(float8 x);
   9296 float16 __ovld __cnfn round(float16 x);
   9297 #ifdef cl_khr_fp64
   9298 double __ovld __cnfn round(double x);
   9299 double2 __ovld __cnfn round(double2 x);
   9300 double3 __ovld __cnfn round(double3 x);
   9301 double4 __ovld __cnfn round(double4 x);
   9302 double8 __ovld __cnfn round(double8 x);
   9303 double16 __ovld __cnfn round(double16 x);
   9304 #endif //cl_khr_fp64
   9305 #ifdef cl_khr_fp16
   9306 half __ovld __cnfn round(half x);
   9307 half2 __ovld __cnfn round(half2 x);
   9308 half3 __ovld __cnfn round(half3 x);
   9309 half4 __ovld __cnfn round(half4 x);
   9310 half8 __ovld __cnfn round(half8 x);
   9311 half16 __ovld __cnfn round(half16 x);
   9312 #endif //cl_khr_fp16
   9313 
   9314 /**
   9315  * Compute inverse square root.
   9316  */
   9317 float __ovld __cnfn rsqrt(float);
   9318 float2 __ovld __cnfn rsqrt(float2);
   9319 float3 __ovld __cnfn rsqrt(float3);
   9320 float4 __ovld __cnfn rsqrt(float4);
   9321 float8 __ovld __cnfn rsqrt(float8);
   9322 float16 __ovld __cnfn rsqrt(float16);
   9323 #ifdef cl_khr_fp64
   9324 double __ovld __cnfn rsqrt(double);
   9325 double2 __ovld __cnfn rsqrt(double2);
   9326 double3 __ovld __cnfn rsqrt(double3);
   9327 double4 __ovld __cnfn rsqrt(double4);
   9328 double8 __ovld __cnfn rsqrt(double8);
   9329 double16 __ovld __cnfn rsqrt(double16);
   9330 #endif //cl_khr_fp64
   9331 #ifdef cl_khr_fp16
   9332 half __ovld __cnfn rsqrt(half);
   9333 half2 __ovld __cnfn rsqrt(half2);
   9334 half3 __ovld __cnfn rsqrt(half3);
   9335 half4 __ovld __cnfn rsqrt(half4);
   9336 half8 __ovld __cnfn rsqrt(half8);
   9337 half16 __ovld __cnfn rsqrt(half16);
   9338 #endif //cl_khr_fp16
   9339 
   9340 /**
   9341  * Compute sine.
   9342  */
   9343 float __ovld __cnfn sin(float);
   9344 float2 __ovld __cnfn sin(float2);
   9345 float3 __ovld __cnfn sin(float3);
   9346 float4 __ovld __cnfn sin(float4);
   9347 float8 __ovld __cnfn sin(float8);
   9348 float16 __ovld __cnfn sin(float16);
   9349 #ifdef cl_khr_fp64
   9350 double __ovld __cnfn sin(double);
   9351 double2 __ovld __cnfn sin(double2);
   9352 double3 __ovld __cnfn sin(double3);
   9353 double4 __ovld __cnfn sin(double4);
   9354 double8 __ovld __cnfn sin(double8);
   9355 double16 __ovld __cnfn sin(double16);
   9356 #endif //cl_khr_fp64
   9357 #ifdef cl_khr_fp16
   9358 half __ovld __cnfn sin(half);
   9359 half2 __ovld __cnfn sin(half2);
   9360 half3 __ovld __cnfn sin(half3);
   9361 half4 __ovld __cnfn sin(half4);
   9362 half8 __ovld __cnfn sin(half8);
   9363 half16 __ovld __cnfn sin(half16);
   9364 #endif //cl_khr_fp16
   9365 
   9366 /**
   9367  * Compute sine and cosine of x. The computed sine
   9368  * is the return value and computed cosine is returned
   9369  * in cosval.
   9370  */
   9371 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   9372 float __ovld sincos(float x, float *cosval);
   9373 float2 __ovld sincos(float2 x, float2 *cosval);
   9374 float3 __ovld sincos(float3 x, float3 *cosval);
   9375 float4 __ovld sincos(float4 x, float4 *cosval);
   9376 float8 __ovld sincos(float8 x, float8 *cosval);
   9377 float16 __ovld sincos(float16 x, float16 *cosval);
   9378 #ifdef cl_khr_fp64
   9379 double __ovld sincos(double x, double *cosval);
   9380 double2 __ovld sincos(double2 x, double2 *cosval);
   9381 double3 __ovld sincos(double3 x, double3 *cosval);
   9382 double4 __ovld sincos(double4 x, double4 *cosval);
   9383 double8 __ovld sincos(double8 x, double8 *cosval);
   9384 double16 __ovld sincos(double16 x, double16 *cosval);
   9385 #endif //cl_khr_fp64
   9386 #ifdef cl_khr_fp16
   9387 half __ovld sincos(half x, half *cosval);
   9388 half2 __ovld sincos(half2 x, half2 *cosval);
   9389 half3 __ovld sincos(half3 x, half3 *cosval);
   9390 half4 __ovld sincos(half4 x, half4 *cosval);
   9391 half8 __ovld sincos(half8 x, half8 *cosval);
   9392 half16 __ovld sincos(half16 x, half16 *cosval);
   9393 #endif //cl_khr_fp16
   9394 #else
   9395 float __ovld sincos(float x, __global float *cosval);
   9396 float2 __ovld sincos(float2 x, __global float2 *cosval);
   9397 float3 __ovld sincos(float3 x, __global float3 *cosval);
   9398 float4 __ovld sincos(float4 x, __global float4 *cosval);
   9399 float8 __ovld sincos(float8 x, __global float8 *cosval);
   9400 float16 __ovld sincos(float16 x, __global float16 *cosval);
   9401 float __ovld sincos(float x, __local float *cosval);
   9402 float2 __ovld sincos(float2 x, __local float2 *cosval);
   9403 float3 __ovld sincos(float3 x, __local float3 *cosval);
   9404 float4 __ovld sincos(float4 x, __local float4 *cosval);
   9405 float8 __ovld sincos(float8 x, __local float8 *cosval);
   9406 float16 __ovld sincos(float16 x, __local float16 *cosval);
   9407 float __ovld sincos(float x, __private float *cosval);
   9408 float2 __ovld sincos(float2 x, __private float2 *cosval);
   9409 float3 __ovld sincos(float3 x, __private float3 *cosval);
   9410 float4 __ovld sincos(float4 x, __private float4 *cosval);
   9411 float8 __ovld sincos(float8 x, __private float8 *cosval);
   9412 float16 __ovld sincos(float16 x, __private float16 *cosval);
   9413 #ifdef cl_khr_fp64
   9414 double __ovld sincos(double x, __global double *cosval);
   9415 double2 __ovld sincos(double2 x, __global double2 *cosval);
   9416 double3 __ovld sincos(double3 x, __global double3 *cosval);
   9417 double4 __ovld sincos(double4 x, __global double4 *cosval);
   9418 double8 __ovld sincos(double8 x, __global double8 *cosval);
   9419 double16 __ovld sincos(double16 x, __global double16 *cosval);
   9420 double __ovld sincos(double x, __local double *cosval);
   9421 double2 __ovld sincos(double2 x, __local double2 *cosval);
   9422 double3 __ovld sincos(double3 x, __local double3 *cosval);
   9423 double4 __ovld sincos(double4 x, __local double4 *cosval);
   9424 double8 __ovld sincos(double8 x, __local double8 *cosval);
   9425 double16 __ovld sincos(double16 x, __local double16 *cosval);
   9426 double __ovld sincos(double x, __private double *cosval);
   9427 double2 __ovld sincos(double2 x, __private double2 *cosval);
   9428 double3 __ovld sincos(double3 x, __private double3 *cosval);
   9429 double4 __ovld sincos(double4 x, __private double4 *cosval);
   9430 double8 __ovld sincos(double8 x, __private double8 *cosval);
   9431 double16 __ovld sincos(double16 x, __private double16 *cosval);
   9432 #endif //cl_khr_fp64
   9433 #ifdef cl_khr_fp16
   9434 half __ovld sincos(half x, __global half *cosval);
   9435 half2 __ovld sincos(half2 x, __global half2 *cosval);
   9436 half3 __ovld sincos(half3 x, __global half3 *cosval);
   9437 half4 __ovld sincos(half4 x, __global half4 *cosval);
   9438 half8 __ovld sincos(half8 x, __global half8 *cosval);
   9439 half16 __ovld sincos(half16 x, __global half16 *cosval);
   9440 half __ovld sincos(half x, __local half *cosval);
   9441 half2 __ovld sincos(half2 x, __local half2 *cosval);
   9442 half3 __ovld sincos(half3 x, __local half3 *cosval);
   9443 half4 __ovld sincos(half4 x, __local half4 *cosval);
   9444 half8 __ovld sincos(half8 x, __local half8 *cosval);
   9445 half16 __ovld sincos(half16 x, __local half16 *cosval);
   9446 half __ovld sincos(half x, __private half *cosval);
   9447 half2 __ovld sincos(half2 x, __private half2 *cosval);
   9448 half3 __ovld sincos(half3 x, __private half3 *cosval);
   9449 half4 __ovld sincos(half4 x, __private half4 *cosval);
   9450 half8 __ovld sincos(half8 x, __private half8 *cosval);
   9451 half16 __ovld sincos(half16 x, __private half16 *cosval);
   9452 #endif //cl_khr_fp16
   9453 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   9454 
   9455 /**
   9456  * Compute hyperbolic sine.
   9457  */
   9458 float __ovld __cnfn sinh(float);
   9459 float2 __ovld __cnfn sinh(float2);
   9460 float3 __ovld __cnfn sinh(float3);
   9461 float4 __ovld __cnfn sinh(float4);
   9462 float8 __ovld __cnfn sinh(float8);
   9463 float16 __ovld __cnfn sinh(float16);
   9464 #ifdef cl_khr_fp64
   9465 double __ovld __cnfn sinh(double);
   9466 double2 __ovld __cnfn sinh(double2);
   9467 double3 __ovld __cnfn sinh(double3);
   9468 double4 __ovld __cnfn sinh(double4);
   9469 double8 __ovld __cnfn sinh(double8);
   9470 double16 __ovld __cnfn sinh(double16);
   9471 #endif //cl_khr_fp64
   9472 #ifdef cl_khr_fp16
   9473 half __ovld __cnfn sinh(half);
   9474 half2 __ovld __cnfn sinh(half2);
   9475 half3 __ovld __cnfn sinh(half3);
   9476 half4 __ovld __cnfn sinh(half4);
   9477 half8 __ovld __cnfn sinh(half8);
   9478 half16 __ovld __cnfn sinh(half16);
   9479 #endif //cl_khr_fp16
   9480 
   9481 /**
   9482  * Compute sin (PI * x).
   9483  */
   9484 float __ovld __cnfn sinpi(float x);
   9485 float2 __ovld __cnfn sinpi(float2 x);
   9486 float3 __ovld __cnfn sinpi(float3 x);
   9487 float4 __ovld __cnfn sinpi(float4 x);
   9488 float8 __ovld __cnfn sinpi(float8 x);
   9489 float16 __ovld __cnfn sinpi(float16 x);
   9490 #ifdef cl_khr_fp64
   9491 double __ovld __cnfn sinpi(double x);
   9492 double2 __ovld __cnfn sinpi(double2 x);
   9493 double3 __ovld __cnfn sinpi(double3 x);
   9494 double4 __ovld __cnfn sinpi(double4 x);
   9495 double8 __ovld __cnfn sinpi(double8 x);
   9496 double16 __ovld __cnfn sinpi(double16 x);
   9497 #endif //cl_khr_fp64
   9498 #ifdef cl_khr_fp16
   9499 half __ovld __cnfn sinpi(half x);
   9500 half2 __ovld __cnfn sinpi(half2 x);
   9501 half3 __ovld __cnfn sinpi(half3 x);
   9502 half4 __ovld __cnfn sinpi(half4 x);
   9503 half8 __ovld __cnfn sinpi(half8 x);
   9504 half16 __ovld __cnfn sinpi(half16 x);
   9505 #endif //cl_khr_fp16
   9506 
   9507 /**
   9508  * Compute square root.
   9509  */
   9510 float __ovld __cnfn sqrt(float);
   9511 float2 __ovld __cnfn sqrt(float2);
   9512 float3 __ovld __cnfn sqrt(float3);
   9513 float4 __ovld __cnfn sqrt(float4);
   9514 float8 __ovld __cnfn sqrt(float8);
   9515 float16 __ovld __cnfn sqrt(float16);
   9516 #ifdef cl_khr_fp64
   9517 double __ovld __cnfn sqrt(double);
   9518 double2 __ovld __cnfn sqrt(double2);
   9519 double3 __ovld __cnfn sqrt(double3);
   9520 double4 __ovld __cnfn sqrt(double4);
   9521 double8 __ovld __cnfn sqrt(double8);
   9522 double16 __ovld __cnfn sqrt(double16);
   9523 #endif //cl_khr_fp64
   9524 #ifdef cl_khr_fp16
   9525 half __ovld __cnfn sqrt(half);
   9526 half2 __ovld __cnfn sqrt(half2);
   9527 half3 __ovld __cnfn sqrt(half3);
   9528 half4 __ovld __cnfn sqrt(half4);
   9529 half8 __ovld __cnfn sqrt(half8);
   9530 half16 __ovld __cnfn sqrt(half16);
   9531 #endif //cl_khr_fp16
   9532 
   9533 /**
   9534  * Compute tangent.
   9535  */
   9536 float __ovld __cnfn tan(float);
   9537 float2 __ovld __cnfn tan(float2);
   9538 float3 __ovld __cnfn tan(float3);
   9539 float4 __ovld __cnfn tan(float4);
   9540 float8 __ovld __cnfn tan(float8);
   9541 float16 __ovld __cnfn tan(float16);
   9542 #ifdef cl_khr_fp64
   9543 double __ovld __cnfn tan(double);
   9544 double2 __ovld __cnfn tan(double2);
   9545 double3 __ovld __cnfn tan(double3);
   9546 double4 __ovld __cnfn tan(double4);
   9547 double8 __ovld __cnfn tan(double8);
   9548 double16 __ovld __cnfn tan(double16);
   9549 #endif //cl_khr_fp64
   9550 #ifdef cl_khr_fp16
   9551 half __ovld __cnfn tan(half);
   9552 half2 __ovld __cnfn tan(half2);
   9553 half3 __ovld __cnfn tan(half3);
   9554 half4 __ovld __cnfn tan(half4);
   9555 half8 __ovld __cnfn tan(half8);
   9556 half16 __ovld __cnfn tan(half16);
   9557 #endif //cl_khr_fp16
   9558 
   9559 /**
   9560  * Compute hyperbolic tangent.
   9561  */
   9562 float __ovld __cnfn tanh(float);
   9563 float2 __ovld __cnfn tanh(float2);
   9564 float3 __ovld __cnfn tanh(float3);
   9565 float4 __ovld __cnfn tanh(float4);
   9566 float8 __ovld __cnfn tanh(float8);
   9567 float16 __ovld __cnfn tanh(float16);
   9568 #ifdef cl_khr_fp64
   9569 double __ovld __cnfn tanh(double);
   9570 double2 __ovld __cnfn tanh(double2);
   9571 double3 __ovld __cnfn tanh(double3);
   9572 double4 __ovld __cnfn tanh(double4);
   9573 double8 __ovld __cnfn tanh(double8);
   9574 double16 __ovld __cnfn tanh(double16);
   9575 #endif //cl_khr_fp64
   9576 #ifdef cl_khr_fp16
   9577 half __ovld __cnfn tanh(half);
   9578 half2 __ovld __cnfn tanh(half2);
   9579 half3 __ovld __cnfn tanh(half3);
   9580 half4 __ovld __cnfn tanh(half4);
   9581 half8 __ovld __cnfn tanh(half8);
   9582 half16 __ovld __cnfn tanh(half16);
   9583 #endif //cl_khr_fp16
   9584 
   9585 /**
   9586  * Compute tan (PI * x).
   9587  */
   9588 float __ovld __cnfn tanpi(float x);
   9589 float2 __ovld __cnfn tanpi(float2 x);
   9590 float3 __ovld __cnfn tanpi(float3 x);
   9591 float4 __ovld __cnfn tanpi(float4 x);
   9592 float8 __ovld __cnfn tanpi(float8 x);
   9593 float16 __ovld __cnfn tanpi(float16 x);
   9594 #ifdef cl_khr_fp64
   9595 double __ovld __cnfn tanpi(double x);
   9596 double2 __ovld __cnfn tanpi(double2 x);
   9597 double3 __ovld __cnfn tanpi(double3 x);
   9598 double4 __ovld __cnfn tanpi(double4 x);
   9599 double8 __ovld __cnfn tanpi(double8 x);
   9600 double16 __ovld __cnfn tanpi(double16 x);
   9601 #endif //cl_khr_fp64
   9602 #ifdef cl_khr_fp16
   9603 half __ovld __cnfn tanpi(half x);
   9604 half2 __ovld __cnfn tanpi(half2 x);
   9605 half3 __ovld __cnfn tanpi(half3 x);
   9606 half4 __ovld __cnfn tanpi(half4 x);
   9607 half8 __ovld __cnfn tanpi(half8 x);
   9608 half16 __ovld __cnfn tanpi(half16 x);
   9609 #endif //cl_khr_fp16
   9610 
   9611 /**
   9612  * Compute the gamma function.
   9613  */
   9614 float __ovld __cnfn tgamma(float);
   9615 float2 __ovld __cnfn tgamma(float2);
   9616 float3 __ovld __cnfn tgamma(float3);
   9617 float4 __ovld __cnfn tgamma(float4);
   9618 float8 __ovld __cnfn tgamma(float8);
   9619 float16 __ovld __cnfn tgamma(float16);
   9620 #ifdef cl_khr_fp64
   9621 double __ovld __cnfn tgamma(double);
   9622 double2 __ovld __cnfn tgamma(double2);
   9623 double3 __ovld __cnfn tgamma(double3);
   9624 double4 __ovld __cnfn tgamma(double4);
   9625 double8 __ovld __cnfn tgamma(double8);
   9626 double16 __ovld __cnfn tgamma(double16);
   9627 #endif //cl_khr_fp64
   9628 #ifdef cl_khr_fp16
   9629 half __ovld __cnfn tgamma(half);
   9630 half2 __ovld __cnfn tgamma(half2);
   9631 half3 __ovld __cnfn tgamma(half3);
   9632 half4 __ovld __cnfn tgamma(half4);
   9633 half8 __ovld __cnfn tgamma(half8);
   9634 half16 __ovld __cnfn tgamma(half16);
   9635 #endif //cl_khr_fp16
   9636 
   9637 /**
   9638  * Round to integral value using the round to zero
   9639  * rounding mode.
   9640  */
   9641 float __ovld __cnfn trunc(float);
   9642 float2 __ovld __cnfn trunc(float2);
   9643 float3 __ovld __cnfn trunc(float3);
   9644 float4 __ovld __cnfn trunc(float4);
   9645 float8 __ovld __cnfn trunc(float8);
   9646 float16 __ovld __cnfn trunc(float16);
   9647 #ifdef cl_khr_fp64
   9648 double __ovld __cnfn trunc(double);
   9649 double2 __ovld __cnfn trunc(double2);
   9650 double3 __ovld __cnfn trunc(double3);
   9651 double4 __ovld __cnfn trunc(double4);
   9652 double8 __ovld __cnfn trunc(double8);
   9653 double16 __ovld __cnfn trunc(double16);
   9654 #endif //cl_khr_fp64
   9655 #ifdef cl_khr_fp16
   9656 half __ovld __cnfn trunc(half);
   9657 half2 __ovld __cnfn trunc(half2);
   9658 half3 __ovld __cnfn trunc(half3);
   9659 half4 __ovld __cnfn trunc(half4);
   9660 half8 __ovld __cnfn trunc(half8);
   9661 half16 __ovld __cnfn trunc(half16);
   9662 #endif //cl_khr_fp16
   9663 
   9664 /**
   9665  * Compute cosine. x must be in the range -2^16 ... +2^16.
   9666  */
   9667 float __ovld __cnfn half_cos(float x);
   9668 float2 __ovld __cnfn half_cos(float2 x);
   9669 float3 __ovld __cnfn half_cos(float3 x);
   9670 float4 __ovld __cnfn half_cos(float4 x);
   9671 float8 __ovld __cnfn half_cos(float8 x);
   9672 float16 __ovld __cnfn half_cos(float16 x);
   9673 
   9674 /**
   9675  * Compute x / y.
   9676  */
   9677 float __ovld __cnfn half_divide(float x, float y);
   9678 float2 __ovld __cnfn half_divide(float2 x, float2 y);
   9679 float3 __ovld __cnfn half_divide(float3 x, float3 y);
   9680 float4 __ovld __cnfn half_divide(float4 x, float4 y);
   9681 float8 __ovld __cnfn half_divide(float8 x, float8 y);
   9682 float16 __ovld __cnfn half_divide(float16 x, float16 y);
   9683 
   9684 /**
   9685  * Compute the base- e exponential of x.
   9686  */
   9687 float __ovld __cnfn half_exp(float x);
   9688 float2 __ovld __cnfn half_exp(float2 x);
   9689 float3 __ovld __cnfn half_exp(float3 x);
   9690 float4 __ovld __cnfn half_exp(float4 x);
   9691 float8 __ovld __cnfn half_exp(float8 x);
   9692 float16 __ovld __cnfn half_exp(float16 x);
   9693 
   9694 /**
   9695  * Compute the base- 2 exponential of x.
   9696  */
   9697 float __ovld __cnfn half_exp2(float x);
   9698 float2 __ovld __cnfn half_exp2(float2 x);
   9699 float3 __ovld __cnfn half_exp2(float3 x);
   9700 float4 __ovld __cnfn half_exp2(float4 x);
   9701 float8 __ovld __cnfn half_exp2(float8 x);
   9702 float16 __ovld __cnfn half_exp2(float16 x);
   9703 
   9704 /**
   9705  * Compute the base- 10 exponential of x.
   9706  */
   9707 float __ovld __cnfn half_exp10(float x);
   9708 float2 __ovld __cnfn half_exp10(float2 x);
   9709 float3 __ovld __cnfn half_exp10(float3 x);
   9710 float4 __ovld __cnfn half_exp10(float4 x);
   9711 float8 __ovld __cnfn half_exp10(float8 x);
   9712 float16 __ovld __cnfn half_exp10(float16 x);
   9713 
   9714 /**
   9715  * Compute natural logarithm.
   9716  */
   9717 float __ovld __cnfn half_log(float x);
   9718 float2 __ovld __cnfn half_log(float2 x);
   9719 float3 __ovld __cnfn half_log(float3 x);
   9720 float4 __ovld __cnfn half_log(float4 x);
   9721 float8 __ovld __cnfn half_log(float8 x);
   9722 float16 __ovld __cnfn half_log(float16 x);
   9723 
   9724 /**
   9725  * Compute a base 2 logarithm.
   9726  */
   9727 float __ovld __cnfn half_log2(float x);
   9728 float2 __ovld __cnfn half_log2(float2 x);
   9729 float3 __ovld __cnfn half_log2(float3 x);
   9730 float4 __ovld __cnfn half_log2(float4 x);
   9731 float8 __ovld __cnfn half_log2(float8 x);
   9732 float16 __ovld __cnfn half_log2(float16 x);
   9733 
   9734 /**
   9735  * Compute a base 10 logarithm.
   9736  */
   9737 float __ovld __cnfn half_log10(float x);
   9738 float2 __ovld __cnfn half_log10(float2 x);
   9739 float3 __ovld __cnfn half_log10(float3 x);
   9740 float4 __ovld __cnfn half_log10(float4 x);
   9741 float8 __ovld __cnfn half_log10(float8 x);
   9742 float16 __ovld __cnfn half_log10(float16 x);
   9743 
   9744 /**
   9745  * Compute x to the power y, where x is >= 0.
   9746  */
   9747 float __ovld __cnfn half_powr(float x, float y);
   9748 float2 __ovld __cnfn half_powr(float2 x, float2 y);
   9749 float3 __ovld __cnfn half_powr(float3 x, float3 y);
   9750 float4 __ovld __cnfn half_powr(float4 x, float4 y);
   9751 float8 __ovld __cnfn half_powr(float8 x, float8 y);
   9752 float16 __ovld __cnfn half_powr(float16 x, float16 y);
   9753 
   9754 /**
   9755  * Compute reciprocal.
   9756  */
   9757 float __ovld __cnfn half_recip(float x);
   9758 float2 __ovld __cnfn half_recip(float2 x);
   9759 float3 __ovld __cnfn half_recip(float3 x);
   9760 float4 __ovld __cnfn half_recip(float4 x);
   9761 float8 __ovld __cnfn half_recip(float8 x);
   9762 float16 __ovld __cnfn half_recip(float16 x);
   9763 
   9764 /**
   9765  * Compute inverse square root.
   9766  */
   9767 float __ovld __cnfn half_rsqrt(float x);
   9768 float2 __ovld __cnfn half_rsqrt(float2 x);
   9769 float3 __ovld __cnfn half_rsqrt(float3 x);
   9770 float4 __ovld __cnfn half_rsqrt(float4 x);
   9771 float8 __ovld __cnfn half_rsqrt(float8 x);
   9772 float16 __ovld __cnfn half_rsqrt(float16 x);
   9773 
   9774 /**
   9775  * Compute sine. x must be in the range -2^16 ... +2^16.
   9776  */
   9777 float __ovld __cnfn half_sin(float x);
   9778 float2 __ovld __cnfn half_sin(float2 x);
   9779 float3 __ovld __cnfn half_sin(float3 x);
   9780 float4 __ovld __cnfn half_sin(float4 x);
   9781 float8 __ovld __cnfn half_sin(float8 x);
   9782 float16 __ovld __cnfn half_sin(float16 x);
   9783 
   9784 /**
   9785  * Compute square root.
   9786  */
   9787 float __ovld __cnfn half_sqrt(float x);
   9788 float2 __ovld __cnfn half_sqrt(float2 x);
   9789 float3 __ovld __cnfn half_sqrt(float3 x);
   9790 float4 __ovld __cnfn half_sqrt(float4 x);
   9791 float8 __ovld __cnfn half_sqrt(float8 x);
   9792 float16 __ovld __cnfn half_sqrt(float16 x);
   9793 
   9794 /**
   9795  * Compute tangent. x must be in the range -216 ... +216.
   9796  */
   9797 float __ovld __cnfn half_tan(float x);
   9798 float2 __ovld __cnfn half_tan(float2 x);
   9799 float3 __ovld __cnfn half_tan(float3 x);
   9800 float4 __ovld __cnfn half_tan(float4 x);
   9801 float8 __ovld __cnfn half_tan(float8 x);
   9802 float16 __ovld __cnfn half_tan(float16 x);
   9803 
   9804 /**
   9805  * Compute cosine over an implementation-defined range.
   9806  * The maximum error is implementation-defined.
   9807  */
   9808 float __ovld __cnfn native_cos(float x);
   9809 float2 __ovld __cnfn native_cos(float2 x);
   9810 float3 __ovld __cnfn native_cos(float3 x);
   9811 float4 __ovld __cnfn native_cos(float4 x);
   9812 float8 __ovld __cnfn native_cos(float8 x);
   9813 float16 __ovld __cnfn native_cos(float16 x);
   9814 
   9815 /**
   9816  * Compute x / y over an implementation-defined range.
   9817  * The maximum error is implementation-defined.
   9818  */
   9819 float __ovld __cnfn native_divide(float x, float y);
   9820 float2 __ovld __cnfn native_divide(float2 x, float2 y);
   9821 float3 __ovld __cnfn native_divide(float3 x, float3 y);
   9822 float4 __ovld __cnfn native_divide(float4 x, float4 y);
   9823 float8 __ovld __cnfn native_divide(float8 x, float8 y);
   9824 float16 __ovld __cnfn native_divide(float16 x, float16 y);
   9825 
   9826 /**
   9827  * Compute the base- e exponential of x over an
   9828  * implementation-defined range. The maximum error is
   9829  * implementation-defined.
   9830  */
   9831 float __ovld __cnfn native_exp(float x);
   9832 float2 __ovld __cnfn native_exp(float2 x);
   9833 float3 __ovld __cnfn native_exp(float3 x);
   9834 float4 __ovld __cnfn native_exp(float4 x);
   9835 float8 __ovld __cnfn native_exp(float8 x);
   9836 float16 __ovld __cnfn native_exp(float16 x);
   9837 
   9838 /**
   9839  * Compute the base- 2 exponential of x over an
   9840  * implementation-defined range. The maximum error is
   9841  * implementation-defined.
   9842  */
   9843 float __ovld __cnfn native_exp2(float x);
   9844 float2 __ovld __cnfn native_exp2(float2 x);
   9845 float3 __ovld __cnfn native_exp2(float3 x);
   9846 float4 __ovld __cnfn native_exp2(float4 x);
   9847 float8 __ovld __cnfn native_exp2(float8 x);
   9848 float16 __ovld __cnfn native_exp2(float16 x);
   9849 
   9850 /**
   9851  * Compute the base- 10 exponential of x over an
   9852  * implementation-defined range. The maximum error is
   9853  * implementation-defined.
   9854  */
   9855 float __ovld __cnfn native_exp10(float x);
   9856 float2 __ovld __cnfn native_exp10(float2 x);
   9857 float3 __ovld __cnfn native_exp10(float3 x);
   9858 float4 __ovld __cnfn native_exp10(float4 x);
   9859 float8 __ovld __cnfn native_exp10(float8 x);
   9860 float16 __ovld __cnfn native_exp10(float16 x);
   9861 
   9862 /**
   9863  * Compute natural logarithm over an implementationdefined
   9864  * range. The maximum error is implementation
   9865  * defined.
   9866  */
   9867 float __ovld __cnfn native_log(float x);
   9868 float2 __ovld __cnfn native_log(float2 x);
   9869 float3 __ovld __cnfn native_log(float3 x);
   9870 float4 __ovld __cnfn native_log(float4 x);
   9871 float8 __ovld __cnfn native_log(float8 x);
   9872 float16 __ovld __cnfn native_log(float16 x);
   9873 
   9874 /**
   9875  * Compute a base 2 logarithm over an implementationdefined
   9876  * range. The maximum error is implementationdefined.
   9877  */
   9878 float __ovld __cnfn native_log2(float x);
   9879 float2 __ovld __cnfn native_log2(float2 x);
   9880 float3 __ovld __cnfn native_log2(float3 x);
   9881 float4 __ovld __cnfn native_log2(float4 x);
   9882 float8 __ovld __cnfn native_log2(float8 x);
   9883 float16 __ovld __cnfn native_log2(float16 x);
   9884 
   9885 /**
   9886  * Compute a base 10 logarithm over an implementationdefined
   9887  * range. The maximum error is implementationdefined.
   9888  */
   9889 float __ovld __cnfn native_log10(float x);
   9890 float2 __ovld __cnfn native_log10(float2 x);
   9891 float3 __ovld __cnfn native_log10(float3 x);
   9892 float4 __ovld __cnfn native_log10(float4 x);
   9893 float8 __ovld __cnfn native_log10(float8 x);
   9894 float16 __ovld __cnfn native_log10(float16 x);
   9895 
   9896 /**
   9897  * Compute x to the power y, where x is >= 0. The range of
   9898  * x and y are implementation-defined. The maximum error
   9899  * is implementation-defined.
   9900  */
   9901 float __ovld __cnfn native_powr(float x, float y);
   9902 float2 __ovld __cnfn native_powr(float2 x, float2 y);
   9903 float3 __ovld __cnfn native_powr(float3 x, float3 y);
   9904 float4 __ovld __cnfn native_powr(float4 x, float4 y);
   9905 float8 __ovld __cnfn native_powr(float8 x, float8 y);
   9906 float16 __ovld __cnfn native_powr(float16 x, float16 y);
   9907 
   9908 /**
   9909  * Compute reciprocal over an implementation-defined
   9910  * range. The maximum error is implementation-defined.
   9911  */
   9912 float __ovld __cnfn native_recip(float x);
   9913 float2 __ovld __cnfn native_recip(float2 x);
   9914 float3 __ovld __cnfn native_recip(float3 x);
   9915 float4 __ovld __cnfn native_recip(float4 x);
   9916 float8 __ovld __cnfn native_recip(float8 x);
   9917 float16 __ovld __cnfn native_recip(float16 x);
   9918 
   9919 /**
   9920  * Compute inverse square root over an implementationdefined
   9921  * range. The maximum error is implementationdefined.
   9922  */
   9923 float __ovld __cnfn native_rsqrt(float x);
   9924 float2 __ovld __cnfn native_rsqrt(float2 x);
   9925 float3 __ovld __cnfn native_rsqrt(float3 x);
   9926 float4 __ovld __cnfn native_rsqrt(float4 x);
   9927 float8 __ovld __cnfn native_rsqrt(float8 x);
   9928 float16 __ovld __cnfn native_rsqrt(float16 x);
   9929 
   9930 /**
   9931  * Compute sine over an implementation-defined range.
   9932  * The maximum error is implementation-defined.
   9933  */
   9934 float __ovld __cnfn native_sin(float x);
   9935 float2 __ovld __cnfn native_sin(float2 x);
   9936 float3 __ovld __cnfn native_sin(float3 x);
   9937 float4 __ovld __cnfn native_sin(float4 x);
   9938 float8 __ovld __cnfn native_sin(float8 x);
   9939 float16 __ovld __cnfn native_sin(float16 x);
   9940 
   9941 /**
   9942  * Compute square root over an implementation-defined
   9943  * range. The maximum error is implementation-defined.
   9944  */
   9945 float __ovld __cnfn native_sqrt(float x);
   9946 float2 __ovld __cnfn native_sqrt(float2 x);
   9947 float3 __ovld __cnfn native_sqrt(float3 x);
   9948 float4 __ovld __cnfn native_sqrt(float4 x);
   9949 float8 __ovld __cnfn native_sqrt(float8 x);
   9950 float16 __ovld __cnfn native_sqrt(float16 x);
   9951 
   9952 /**
   9953  * Compute tangent over an implementation-defined range.
   9954  * The maximum error is implementation-defined.
   9955  */
   9956 float __ovld __cnfn native_tan(float x);
   9957 float2 __ovld __cnfn native_tan(float2 x);
   9958 float3 __ovld __cnfn native_tan(float3 x);
   9959 float4 __ovld __cnfn native_tan(float4 x);
   9960 float8 __ovld __cnfn native_tan(float8 x);
   9961 float16 __ovld __cnfn native_tan(float16 x);
   9962 
   9963 // OpenCL v1.1 s6.11.3, v1.2 s6.12.3, v2.0 s6.13.3 - Integer Functions
   9964 
   9965 /**
   9966  * Returns | x |.
   9967  */
   9968 uchar __ovld __cnfn abs(char x);
   9969 uchar __ovld __cnfn abs(uchar x);
   9970 uchar2 __ovld __cnfn abs(char2 x);
   9971 uchar2 __ovld __cnfn abs(uchar2 x);
   9972 uchar3 __ovld __cnfn abs(char3 x);
   9973 uchar3 __ovld __cnfn abs(uchar3 x);
   9974 uchar4 __ovld __cnfn abs(char4 x);
   9975 uchar4 __ovld __cnfn abs(uchar4 x);
   9976 uchar8 __ovld __cnfn abs(char8 x);
   9977 uchar8 __ovld __cnfn abs(uchar8 x);
   9978 uchar16 __ovld __cnfn abs(char16 x);
   9979 uchar16 __ovld __cnfn abs(uchar16 x);
   9980 ushort __ovld __cnfn abs(short x);
   9981 ushort __ovld __cnfn abs(ushort x);
   9982 ushort2 __ovld __cnfn abs(short2 x);
   9983 ushort2 __ovld __cnfn abs(ushort2 x);
   9984 ushort3 __ovld __cnfn abs(short3 x);
   9985 ushort3 __ovld __cnfn abs(ushort3 x);
   9986 ushort4 __ovld __cnfn abs(short4 x);
   9987 ushort4 __ovld __cnfn abs(ushort4 x);
   9988 ushort8 __ovld __cnfn abs(short8 x);
   9989 ushort8 __ovld __cnfn abs(ushort8 x);
   9990 ushort16 __ovld __cnfn abs(short16 x);
   9991 ushort16 __ovld __cnfn abs(ushort16 x);
   9992 uint __ovld __cnfn abs(int x);
   9993 uint __ovld __cnfn abs(uint x);
   9994 uint2 __ovld __cnfn abs(int2 x);
   9995 uint2 __ovld __cnfn abs(uint2 x);
   9996 uint3 __ovld __cnfn abs(int3 x);
   9997 uint3 __ovld __cnfn abs(uint3 x);
   9998 uint4 __ovld __cnfn abs(int4 x);
   9999 uint4 __ovld __cnfn abs(uint4 x);
   10000 uint8 __ovld __cnfn abs(int8 x);
   10001 uint8 __ovld __cnfn abs(uint8 x);
   10002 uint16 __ovld __cnfn abs(int16 x);
   10003 uint16 __ovld __cnfn abs(uint16 x);
   10004 ulong __ovld __cnfn abs(long x);
   10005 ulong __ovld __cnfn abs(ulong x);
   10006 ulong2 __ovld __cnfn abs(long2 x);
   10007 ulong2 __ovld __cnfn abs(ulong2 x);
   10008 ulong3 __ovld __cnfn abs(long3 x);
   10009 ulong3 __ovld __cnfn abs(ulong3 x);
   10010 ulong4 __ovld __cnfn abs(long4 x);
   10011 ulong4 __ovld __cnfn abs(ulong4 x);
   10012 ulong8 __ovld __cnfn abs(long8 x);
   10013 ulong8 __ovld __cnfn abs(ulong8 x);
   10014 ulong16 __ovld __cnfn abs(long16 x);
   10015 ulong16 __ovld __cnfn abs(ulong16 x);
   10016 
   10017 /**
   10018  * Returns | x - y | without modulo overflow.
   10019  */
   10020 uchar __ovld __cnfn abs_diff(char x, char y);
   10021 uchar __ovld __cnfn abs_diff(uchar x, uchar y);
   10022 uchar2 __ovld __cnfn abs_diff(char2 x, char2 y);
   10023 uchar2 __ovld __cnfn abs_diff(uchar2 x, uchar2 y);
   10024 uchar3 __ovld __cnfn abs_diff(char3 x, char3 y);
   10025 uchar3 __ovld __cnfn abs_diff(uchar3 x, uchar3 y);
   10026 uchar4 __ovld __cnfn abs_diff(char4 x, char4 y);
   10027 uchar4 __ovld __cnfn abs_diff(uchar4 x, uchar4 y);
   10028 uchar8 __ovld __cnfn abs_diff(char8 x, char8 y);
   10029 uchar8 __ovld __cnfn abs_diff(uchar8 x, uchar8 y);
   10030 uchar16 __ovld __cnfn abs_diff(char16 x, char16 y);
   10031 uchar16 __ovld __cnfn abs_diff(uchar16 x, uchar16 y);
   10032 ushort __ovld __cnfn abs_diff(short x, short y);
   10033 ushort __ovld __cnfn abs_diff(ushort x, ushort y);
   10034 ushort2 __ovld __cnfn abs_diff(short2 x, short2 y);
   10035 ushort2 __ovld __cnfn abs_diff(ushort2 x, ushort2 y);
   10036 ushort3 __ovld __cnfn abs_diff(short3 x, short3 y);
   10037 ushort3 __ovld __cnfn abs_diff(ushort3 x, ushort3 y);
   10038 ushort4 __ovld __cnfn abs_diff(short4 x, short4 y);
   10039 ushort4 __ovld __cnfn abs_diff(ushort4 x, ushort4 y);
   10040 ushort8 __ovld __cnfn abs_diff(short8 x, short8 y);
   10041 ushort8 __ovld __cnfn abs_diff(ushort8 x, ushort8 y);
   10042 ushort16 __ovld __cnfn abs_diff(short16 x, short16 y);
   10043 ushort16 __ovld __cnfn abs_diff(ushort16 x, ushort16 y);
   10044 uint __ovld __cnfn abs_diff(int x, int y);
   10045 uint __ovld __cnfn abs_diff(uint x, uint y);
   10046 uint2 __ovld __cnfn abs_diff(int2 x, int2 y);
   10047 uint2 __ovld __cnfn abs_diff(uint2 x, uint2 y);
   10048 uint3 __ovld __cnfn abs_diff(int3 x, int3 y);
   10049 uint3 __ovld __cnfn abs_diff(uint3 x, uint3 y);
   10050 uint4 __ovld __cnfn abs_diff(int4 x, int4 y);
   10051 uint4 __ovld __cnfn abs_diff(uint4 x, uint4 y);
   10052 uint8 __ovld __cnfn abs_diff(int8 x, int8 y);
   10053 uint8 __ovld __cnfn abs_diff(uint8 x, uint8 y);
   10054 uint16 __ovld __cnfn abs_diff(int16 x, int16 y);
   10055 uint16 __ovld __cnfn abs_diff(uint16 x, uint16 y);
   10056 ulong __ovld __cnfn abs_diff(long x, long y);
   10057 ulong __ovld __cnfn abs_diff(ulong x, ulong y);
   10058 ulong2 __ovld __cnfn abs_diff(long2 x, long2 y);
   10059 ulong2 __ovld __cnfn abs_diff(ulong2 x, ulong2 y);
   10060 ulong3 __ovld __cnfn abs_diff(long3 x, long3 y);
   10061 ulong3 __ovld __cnfn abs_diff(ulong3 x, ulong3 y);
   10062 ulong4 __ovld __cnfn abs_diff(long4 x, long4 y);
   10063 ulong4 __ovld __cnfn abs_diff(ulong4 x, ulong4 y);
   10064 ulong8 __ovld __cnfn abs_diff(long8 x, long8 y);
   10065 ulong8 __ovld __cnfn abs_diff(ulong8 x, ulong8 y);
   10066 ulong16 __ovld __cnfn abs_diff(long16 x, long16 y);
   10067 ulong16 __ovld __cnfn abs_diff(ulong16 x, ulong16 y);
   10068 
   10069 /**
   10070  * Returns x + y and saturates the result.
   10071  */
   10072 char __ovld __cnfn add_sat(char x, char y);
   10073 uchar __ovld __cnfn add_sat(uchar x, uchar y);
   10074 char2 __ovld __cnfn add_sat(char2 x, char2 y);
   10075 uchar2 __ovld __cnfn add_sat(uchar2 x, uchar2 y);
   10076 char3 __ovld __cnfn add_sat(char3 x, char3 y);
   10077 uchar3 __ovld __cnfn add_sat(uchar3 x, uchar3 y);
   10078 char4 __ovld __cnfn add_sat(char4 x, char4 y);
   10079 uchar4 __ovld __cnfn add_sat(uchar4 x, uchar4 y);
   10080 char8 __ovld __cnfn add_sat(char8 x, char8 y);
   10081 uchar8 __ovld __cnfn add_sat(uchar8 x, uchar8 y);
   10082 char16 __ovld __cnfn add_sat(char16 x, char16 y);
   10083 uchar16 __ovld __cnfn add_sat(uchar16 x, uchar16 y);
   10084 short __ovld __cnfn add_sat(short x, short y);
   10085 ushort __ovld __cnfn add_sat(ushort x, ushort y);
   10086 short2 __ovld __cnfn add_sat(short2 x, short2 y);
   10087 ushort2 __ovld __cnfn add_sat(ushort2 x, ushort2 y);
   10088 short3 __ovld __cnfn add_sat(short3 x, short3 y);
   10089 ushort3 __ovld __cnfn add_sat(ushort3 x, ushort3 y);
   10090 short4 __ovld __cnfn add_sat(short4 x, short4 y);
   10091 ushort4 __ovld __cnfn add_sat(ushort4 x, ushort4 y);
   10092 short8 __ovld __cnfn add_sat(short8 x, short8 y);
   10093 ushort8 __ovld __cnfn add_sat(ushort8 x, ushort8 y);
   10094 short16 __ovld __cnfn add_sat(short16 x, short16 y);
   10095 ushort16 __ovld __cnfn add_sat(ushort16 x, ushort16 y);
   10096 int __ovld __cnfn add_sat(int x, int y);
   10097 uint __ovld __cnfn add_sat(uint x, uint y);
   10098 int2 __ovld __cnfn add_sat(int2 x, int2 y);
   10099 uint2 __ovld __cnfn add_sat(uint2 x, uint2 y);
   10100 int3 __ovld __cnfn add_sat(int3 x, int3 y);
   10101 uint3 __ovld __cnfn add_sat(uint3 x, uint3 y);
   10102 int4 __ovld __cnfn add_sat(int4 x, int4 y);
   10103 uint4 __ovld __cnfn add_sat(uint4 x, uint4 y);
   10104 int8 __ovld __cnfn add_sat(int8 x, int8 y);
   10105 uint8 __ovld __cnfn add_sat(uint8 x, uint8 y);
   10106 int16 __ovld __cnfn add_sat(int16 x, int16 y);
   10107 uint16 __ovld __cnfn add_sat(uint16 x, uint16 y);
   10108 long __ovld __cnfn add_sat(long x, long y);
   10109 ulong __ovld __cnfn add_sat(ulong x, ulong y);
   10110 long2 __ovld __cnfn add_sat(long2 x, long2 y);
   10111 ulong2 __ovld __cnfn add_sat(ulong2 x, ulong2 y);
   10112 long3 __ovld __cnfn add_sat(long3 x, long3 y);
   10113 ulong3 __ovld __cnfn add_sat(ulong3 x, ulong3 y);
   10114 long4 __ovld __cnfn add_sat(long4 x, long4 y);
   10115 ulong4 __ovld __cnfn add_sat(ulong4 x, ulong4 y);
   10116 long8 __ovld __cnfn add_sat(long8 x, long8 y);
   10117 ulong8 __ovld __cnfn add_sat(ulong8 x, ulong8 y);
   10118 long16 __ovld __cnfn add_sat(long16 x, long16 y);
   10119 ulong16 __ovld __cnfn add_sat(ulong16 x, ulong16 y);
   10120 
   10121 /**
   10122  * Returns (x + y) >> 1. The intermediate sum does
   10123  * not modulo overflow.
   10124  */
   10125 char __ovld __cnfn hadd(char x, char y);
   10126 uchar __ovld __cnfn hadd(uchar x, uchar y);
   10127 char2 __ovld __cnfn hadd(char2 x, char2 y);
   10128 uchar2 __ovld __cnfn hadd(uchar2 x, uchar2 y);
   10129 char3 __ovld __cnfn hadd(char3 x, char3 y);
   10130 uchar3 __ovld __cnfn hadd(uchar3 x, uchar3 y);
   10131 char4 __ovld __cnfn hadd(char4 x, char4 y);
   10132 uchar4 __ovld __cnfn hadd(uchar4 x, uchar4 y);
   10133 char8 __ovld __cnfn hadd(char8 x, char8 y);
   10134 uchar8 __ovld __cnfn hadd(uchar8 x, uchar8 y);
   10135 char16 __ovld __cnfn hadd(char16 x, char16 y);
   10136 uchar16 __ovld __cnfn hadd(uchar16 x, uchar16 y);
   10137 short __ovld __cnfn hadd(short x, short y);
   10138 ushort __ovld __cnfn hadd(ushort x, ushort y);
   10139 short2 __ovld __cnfn hadd(short2 x, short2 y);
   10140 ushort2 __ovld __cnfn hadd(ushort2 x, ushort2 y);
   10141 short3 __ovld __cnfn hadd(short3 x, short3 y);
   10142 ushort3 __ovld __cnfn hadd(ushort3 x, ushort3 y);
   10143 short4 __ovld __cnfn hadd(short4 x, short4 y);
   10144 ushort4 __ovld __cnfn hadd(ushort4 x, ushort4 y);
   10145 short8 __ovld __cnfn hadd(short8 x, short8 y);
   10146 ushort8 __ovld __cnfn hadd(ushort8 x, ushort8 y);
   10147 short16 __ovld __cnfn hadd(short16 x, short16 y);
   10148 ushort16 __ovld __cnfn hadd(ushort16 x, ushort16 y);
   10149 int __ovld __cnfn hadd(int x, int y);
   10150 uint __ovld __cnfn hadd(uint x, uint y);
   10151 int2 __ovld __cnfn hadd(int2 x, int2 y);
   10152 uint2 __ovld __cnfn hadd(uint2 x, uint2 y);
   10153 int3 __ovld __cnfn hadd(int3 x, int3 y);
   10154 uint3 __ovld __cnfn hadd(uint3 x, uint3 y);
   10155 int4 __ovld __cnfn hadd(int4 x, int4 y);
   10156 uint4 __ovld __cnfn hadd(uint4 x, uint4 y);
   10157 int8 __ovld __cnfn hadd(int8 x, int8 y);
   10158 uint8 __ovld __cnfn hadd(uint8 x, uint8 y);
   10159 int16 __ovld __cnfn hadd(int16 x, int16 y);
   10160 uint16 __ovld __cnfn hadd(uint16 x, uint16 y);
   10161 long __ovld __cnfn hadd(long x, long y);
   10162 ulong __ovld __cnfn hadd(ulong x, ulong y);
   10163 long2 __ovld __cnfn hadd(long2 x, long2 y);
   10164 ulong2 __ovld __cnfn hadd(ulong2 x, ulong2 y);
   10165 long3 __ovld __cnfn hadd(long3 x, long3 y);
   10166 ulong3 __ovld __cnfn hadd(ulong3 x, ulong3 y);
   10167 long4 __ovld __cnfn hadd(long4 x, long4 y);
   10168 ulong4 __ovld __cnfn hadd(ulong4 x, ulong4 y);
   10169 long8 __ovld __cnfn hadd(long8 x, long8 y);
   10170 ulong8 __ovld __cnfn hadd(ulong8 x, ulong8 y);
   10171 long16 __ovld __cnfn hadd(long16 x, long16 y);
   10172 ulong16 __ovld __cnfn hadd(ulong16 x, ulong16 y);
   10173 
   10174 /**
   10175  * Returns (x + y + 1) >> 1. The intermediate sum
   10176  * does not modulo overflow.
   10177  */
   10178 char __ovld __cnfn rhadd(char x, char y);
   10179 uchar __ovld __cnfn rhadd(uchar x, uchar y);
   10180 char2 __ovld __cnfn rhadd(char2 x, char2 y);
   10181 uchar2 __ovld __cnfn rhadd(uchar2 x, uchar2 y);
   10182 char3 __ovld __cnfn rhadd(char3 x, char3 y);
   10183 uchar3 __ovld __cnfn rhadd(uchar3 x, uchar3 y);
   10184 char4 __ovld __cnfn rhadd(char4 x, char4 y);
   10185 uchar4 __ovld __cnfn rhadd(uchar4 x, uchar4 y);
   10186 char8 __ovld __cnfn rhadd(char8 x, char8 y);
   10187 uchar8 __ovld __cnfn rhadd(uchar8 x, uchar8 y);
   10188 char16 __ovld __cnfn rhadd(char16 x, char16 y);
   10189 uchar16 __ovld __cnfn rhadd(uchar16 x, uchar16 y);
   10190 short __ovld __cnfn rhadd(short x, short y);
   10191 ushort __ovld __cnfn rhadd(ushort x, ushort y);
   10192 short2 __ovld __cnfn rhadd(short2 x, short2 y);
   10193 ushort2 __ovld __cnfn rhadd(ushort2 x, ushort2 y);
   10194 short3 __ovld __cnfn rhadd(short3 x, short3 y);
   10195 ushort3 __ovld __cnfn rhadd(ushort3 x, ushort3 y);
   10196 short4 __ovld __cnfn rhadd(short4 x, short4 y);
   10197 ushort4 __ovld __cnfn rhadd(ushort4 x, ushort4 y);
   10198 short8 __ovld __cnfn rhadd(short8 x, short8 y);
   10199 ushort8 __ovld __cnfn rhadd(ushort8 x, ushort8 y);
   10200 short16 __ovld __cnfn rhadd(short16 x, short16 y);
   10201 ushort16 __ovld __cnfn rhadd(ushort16 x, ushort16 y);
   10202 int __ovld __cnfn rhadd(int x, int y);
   10203 uint __ovld __cnfn rhadd(uint x, uint y);
   10204 int2 __ovld __cnfn rhadd(int2 x, int2 y);
   10205 uint2 __ovld __cnfn rhadd(uint2 x, uint2 y);
   10206 int3 __ovld __cnfn rhadd(int3 x, int3 y);
   10207 uint3 __ovld __cnfn rhadd(uint3 x, uint3 y);
   10208 int4 __ovld __cnfn rhadd(int4 x, int4 y);
   10209 uint4 __ovld __cnfn rhadd(uint4 x, uint4 y);
   10210 int8 __ovld __cnfn rhadd(int8 x, int8 y);
   10211 uint8 __ovld __cnfn rhadd(uint8 x, uint8 y);
   10212 int16 __ovld __cnfn rhadd(int16 x, int16 y);
   10213 uint16 __ovld __cnfn rhadd(uint16 x, uint16 y);
   10214 long __ovld __cnfn rhadd(long x, long y);
   10215 ulong __ovld __cnfn rhadd(ulong x, ulong y);
   10216 long2 __ovld __cnfn rhadd(long2 x, long2 y);
   10217 ulong2 __ovld __cnfn rhadd(ulong2 x, ulong2 y);
   10218 long3 __ovld __cnfn rhadd(long3 x, long3 y);
   10219 ulong3 __ovld __cnfn rhadd(ulong3 x, ulong3 y);
   10220 long4 __ovld __cnfn rhadd(long4 x, long4 y);
   10221 ulong4 __ovld __cnfn rhadd(ulong4 x, ulong4 y);
   10222 long8 __ovld __cnfn rhadd(long8 x, long8 y);
   10223 ulong8 __ovld __cnfn rhadd(ulong8 x, ulong8 y);
   10224 long16 __ovld __cnfn rhadd(long16 x, long16 y);
   10225 ulong16 __ovld __cnfn rhadd(ulong16 x, ulong16 y);
   10226 
   10227 /**
   10228  * Returns min(max(x, minval), maxval).
   10229  * Results are undefined if minval > maxval.
   10230  */
   10231 char __ovld __cnfn clamp(char x, char minval, char maxval);
   10232 uchar __ovld __cnfn clamp(uchar x, uchar minval, uchar maxval);
   10233 char2 __ovld __cnfn clamp(char2 x, char2 minval, char2 maxval);
   10234 uchar2 __ovld __cnfn clamp(uchar2 x, uchar2 minval, uchar2 maxval);
   10235 char3 __ovld __cnfn clamp(char3 x, char3 minval, char3 maxval);
   10236 uchar3 __ovld __cnfn clamp(uchar3 x, uchar3 minval, uchar3 maxval);
   10237 char4 __ovld __cnfn clamp(char4 x, char4 minval, char4 maxval);
   10238 uchar4 __ovld __cnfn clamp(uchar4 x, uchar4 minval, uchar4 maxval);
   10239 char8 __ovld __cnfn clamp(char8 x, char8 minval, char8 maxval);
   10240 uchar8 __ovld __cnfn clamp(uchar8 x, uchar8 minval, uchar8 maxval);
   10241 char16 __ovld __cnfn clamp(char16 x, char16 minval, char16 maxval);
   10242 uchar16 __ovld __cnfn clamp(uchar16 x, uchar16 minval, uchar16 maxval);
   10243 short __ovld __cnfn clamp(short x, short minval, short maxval);
   10244 ushort __ovld __cnfn clamp(ushort x, ushort minval, ushort maxval);
   10245 short2 __ovld __cnfn clamp(short2 x, short2 minval, short2 maxval);
   10246 ushort2 __ovld __cnfn clamp(ushort2 x, ushort2 minval, ushort2 maxval);
   10247 short3 __ovld __cnfn clamp(short3 x, short3 minval, short3 maxval);
   10248 ushort3 __ovld __cnfn clamp(ushort3 x, ushort3 minval, ushort3 maxval);
   10249 short4 __ovld __cnfn clamp(short4 x, short4 minval, short4 maxval);
   10250 ushort4 __ovld __cnfn clamp(ushort4 x, ushort4 minval, ushort4 maxval);
   10251 short8 __ovld __cnfn clamp(short8 x, short8 minval, short8 maxval);
   10252 ushort8 __ovld __cnfn clamp(ushort8 x, ushort8 minval, ushort8 maxval);
   10253 short16 __ovld __cnfn clamp(short16 x, short16 minval, short16 maxval);
   10254 ushort16 __ovld __cnfn clamp(ushort16 x, ushort16 minval, ushort16 maxval);
   10255 int __ovld __cnfn clamp(int x, int minval, int maxval);
   10256 uint __ovld __cnfn clamp(uint x, uint minval, uint maxval);
   10257 int2 __ovld __cnfn clamp(int2 x, int2 minval, int2 maxval);
   10258 uint2 __ovld __cnfn clamp(uint2 x, uint2 minval, uint2 maxval);
   10259 int3 __ovld __cnfn clamp(int3 x, int3 minval, int3 maxval);
   10260 uint3 __ovld __cnfn clamp(uint3 x, uint3 minval, uint3 maxval);
   10261 int4 __ovld __cnfn clamp(int4 x, int4 minval, int4 maxval);
   10262 uint4 __ovld __cnfn clamp(uint4 x, uint4 minval, uint4 maxval);
   10263 int8 __ovld __cnfn clamp(int8 x, int8 minval, int8 maxval);
   10264 uint8 __ovld __cnfn clamp(uint8 x, uint8 minval, uint8 maxval);
   10265 int16 __ovld __cnfn clamp(int16 x, int16 minval, int16 maxval);
   10266 uint16 __ovld __cnfn clamp(uint16 x, uint16 minval, uint16 maxval);
   10267 long __ovld __cnfn clamp(long x, long minval, long maxval);
   10268 ulong __ovld __cnfn clamp(ulong x, ulong minval, ulong maxval);
   10269 long2 __ovld __cnfn clamp(long2 x, long2 minval, long2 maxval);
   10270 ulong2 __ovld __cnfn clamp(ulong2 x, ulong2 minval, ulong2 maxval);
   10271 long3 __ovld __cnfn clamp(long3 x, long3 minval, long3 maxval);
   10272 ulong3 __ovld __cnfn clamp(ulong3 x, ulong3 minval, ulong3 maxval);
   10273 long4 __ovld __cnfn clamp(long4 x, long4 minval, long4 maxval);
   10274 ulong4 __ovld __cnfn clamp(ulong4 x, ulong4 minval, ulong4 maxval);
   10275 long8 __ovld __cnfn clamp(long8 x, long8 minval, long8 maxval);
   10276 ulong8 __ovld __cnfn clamp(ulong8 x, ulong8 minval, ulong8 maxval);
   10277 long16 __ovld __cnfn clamp(long16 x, long16 minval, long16 maxval);
   10278 ulong16 __ovld __cnfn clamp(ulong16 x, ulong16 minval, ulong16 maxval);
   10279 char __ovld __cnfn clamp(char x, char minval, char maxval);
   10280 uchar __ovld __cnfn clamp(uchar x, uchar minval, uchar maxval);
   10281 char2 __ovld __cnfn clamp(char2 x, char minval, char maxval);
   10282 uchar2 __ovld __cnfn clamp(uchar2 x, uchar minval, uchar maxval);
   10283 char3 __ovld __cnfn clamp(char3 x, char minval, char maxval);
   10284 uchar3 __ovld __cnfn clamp(uchar3 x, uchar minval, uchar maxval);
   10285 char4 __ovld __cnfn clamp(char4 x, char minval, char maxval);
   10286 uchar4 __ovld __cnfn clamp(uchar4 x, uchar minval, uchar maxval);
   10287 char8 __ovld __cnfn clamp(char8 x, char minval, char maxval);
   10288 uchar8 __ovld __cnfn clamp(uchar8 x, uchar minval, uchar maxval);
   10289 char16 __ovld __cnfn clamp(char16 x, char minval, char maxval);
   10290 uchar16 __ovld __cnfn clamp(uchar16 x, uchar minval, uchar maxval);
   10291 short __ovld __cnfn clamp(short x, short minval, short maxval);
   10292 ushort __ovld __cnfn clamp(ushort x, ushort minval, ushort maxval);
   10293 short2 __ovld __cnfn clamp(short2 x, short minval, short maxval);
   10294 ushort2 __ovld __cnfn clamp(ushort2 x, ushort minval, ushort maxval);
   10295 short3 __ovld __cnfn clamp(short3 x, short minval, short maxval);
   10296 ushort3 __ovld __cnfn clamp(ushort3 x, ushort minval, ushort maxval);
   10297 short4 __ovld __cnfn clamp(short4 x, short minval, short maxval);
   10298 ushort4 __ovld __cnfn clamp(ushort4 x, ushort minval, ushort maxval);
   10299 short8 __ovld __cnfn clamp(short8 x, short minval, short maxval);
   10300 ushort8 __ovld __cnfn clamp(ushort8 x, ushort minval, ushort maxval);
   10301 short16 __ovld __cnfn clamp(short16 x, short minval, short maxval);
   10302 ushort16 __ovld __cnfn clamp(ushort16 x, ushort minval, ushort maxval);
   10303 int __ovld __cnfn clamp(int x, int minval, int maxval);
   10304 uint __ovld __cnfn clamp(uint x, uint minval, uint maxval);
   10305 int2 __ovld __cnfn clamp(int2 x, int minval, int maxval);
   10306 uint2 __ovld __cnfn clamp(uint2 x, uint minval, uint maxval);
   10307 int3 __ovld __cnfn clamp(int3 x, int minval, int maxval);
   10308 uint3 __ovld __cnfn clamp(uint3 x, uint minval, uint maxval);
   10309 int4 __ovld __cnfn clamp(int4 x, int minval, int maxval);
   10310 uint4 __ovld __cnfn clamp(uint4 x, uint minval, uint maxval);
   10311 int8 __ovld __cnfn clamp(int8 x, int minval, int maxval);
   10312 uint8 __ovld __cnfn clamp(uint8 x, uint minval, uint maxval);
   10313 int16 __ovld __cnfn clamp(int16 x, int minval, int maxval);
   10314 uint16 __ovld __cnfn clamp(uint16 x, uint minval, uint maxval);
   10315 long __ovld __cnfn clamp(long x, long minval, long maxval);
   10316 ulong __ovld __cnfn clamp(ulong x, ulong minval, ulong maxval);
   10317 long2 __ovld __cnfn clamp(long2 x, long minval, long maxval);
   10318 ulong2 __ovld __cnfn clamp(ulong2 x, ulong minval, ulong maxval);
   10319 long3 __ovld __cnfn clamp(long3 x, long minval, long maxval);
   10320 ulong3 __ovld __cnfn clamp(ulong3 x, ulong minval, ulong maxval);
   10321 long4 __ovld __cnfn clamp(long4 x, long minval, long maxval);
   10322 ulong4 __ovld __cnfn clamp(ulong4 x, ulong minval, ulong maxval);
   10323 long8 __ovld __cnfn clamp(long8 x, long minval, long maxval);
   10324 ulong8 __ovld __cnfn clamp(ulong8 x, ulong minval, ulong maxval);
   10325 long16 __ovld __cnfn clamp(long16 x, long minval, long maxval);
   10326 ulong16 __ovld __cnfn clamp(ulong16 x, ulong minval, ulong maxval);
   10327 
   10328 /**
   10329  * Returns the number of leading 0-bits in x, starting
   10330  * at the most significant bit position.
   10331  */
   10332 char __ovld __cnfn clz(char x);
   10333 uchar __ovld __cnfn clz(uchar x);
   10334 char2 __ovld __cnfn clz(char2 x);
   10335 uchar2 __ovld __cnfn clz(uchar2 x);
   10336 char3 __ovld __cnfn clz(char3 x);
   10337 uchar3 __ovld __cnfn clz(uchar3 x);
   10338 char4 __ovld __cnfn clz(char4 x);
   10339 uchar4 __ovld __cnfn clz(uchar4 x);
   10340 char8 __ovld __cnfn clz(char8 x);
   10341 uchar8 __ovld __cnfn clz(uchar8 x);
   10342 char16 __ovld __cnfn clz(char16 x);
   10343 uchar16 __ovld __cnfn clz(uchar16 x);
   10344 short __ovld __cnfn clz(short x);
   10345 ushort __ovld __cnfn clz(ushort x);
   10346 short2 __ovld __cnfn clz(short2 x);
   10347 ushort2 __ovld __cnfn clz(ushort2 x);
   10348 short3 __ovld __cnfn clz(short3 x);
   10349 ushort3 __ovld __cnfn clz(ushort3 x);
   10350 short4 __ovld __cnfn clz(short4 x);
   10351 ushort4 __ovld __cnfn clz(ushort4 x);
   10352 short8 __ovld __cnfn clz(short8 x);
   10353 ushort8 __ovld __cnfn clz(ushort8 x);
   10354 short16 __ovld __cnfn clz(short16 x);
   10355 ushort16 __ovld __cnfn clz(ushort16 x);
   10356 int __ovld __cnfn clz(int x);
   10357 uint __ovld __cnfn clz(uint x);
   10358 int2 __ovld __cnfn clz(int2 x);
   10359 uint2 __ovld __cnfn clz(uint2 x);
   10360 int3 __ovld __cnfn clz(int3 x);
   10361 uint3 __ovld __cnfn clz(uint3 x);
   10362 int4 __ovld __cnfn clz(int4 x);
   10363 uint4 __ovld __cnfn clz(uint4 x);
   10364 int8 __ovld __cnfn clz(int8 x);
   10365 uint8 __ovld __cnfn clz(uint8 x);
   10366 int16 __ovld __cnfn clz(int16 x);
   10367 uint16 __ovld __cnfn clz(uint16 x);
   10368 long __ovld __cnfn clz(long x);
   10369 ulong __ovld __cnfn clz(ulong x);
   10370 long2 __ovld __cnfn clz(long2 x);
   10371 ulong2 __ovld __cnfn clz(ulong2 x);
   10372 long3 __ovld __cnfn clz(long3 x);
   10373 ulong3 __ovld __cnfn clz(ulong3 x);
   10374 long4 __ovld __cnfn clz(long4 x);
   10375 ulong4 __ovld __cnfn clz(ulong4 x);
   10376 long8 __ovld __cnfn clz(long8 x);
   10377 ulong8 __ovld __cnfn clz(ulong8 x);
   10378 long16 __ovld __cnfn clz(long16 x);
   10379 ulong16 __ovld __cnfn clz(ulong16 x);
   10380 
   10381 /**
   10382  * Returns the count of trailing 0-bits in x. If x is 0,
   10383  * returns the size in bits of the type of x or
   10384  * component type of x, if x is a vector.
   10385  */
   10386 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   10387 char __ovld ctz(char x);
   10388 uchar __ovld ctz(uchar x);
   10389 char2 __ovld ctz(char2 x);
   10390 uchar2 __ovld ctz(uchar2 x);
   10391 char3 __ovld ctz(char3 x);
   10392 uchar3 __ovld ctz(uchar3 x);
   10393 char4 __ovld ctz(char4 x);
   10394 uchar4 __ovld ctz(uchar4 x);
   10395 char8 __ovld ctz(char8 x);
   10396 uchar8 __ovld ctz(uchar8 x);
   10397 char16 __ovld ctz(char16 x);
   10398 uchar16 __ovld ctz(uchar16 x);
   10399 short __ovld ctz(short x);
   10400 ushort __ovld ctz(ushort x);
   10401 short2 __ovld ctz(short2 x);
   10402 ushort2 __ovld ctz(ushort2 x);
   10403 short3 __ovld ctz(short3 x);
   10404 ushort3 __ovld ctz(ushort3 x);
   10405 short4 __ovld ctz(short4 x);
   10406 ushort4 __ovld ctz(ushort4 x);
   10407 short8 __ovld ctz(short8 x);
   10408 ushort8 __ovld ctz(ushort8 x);
   10409 short16 __ovld ctz(short16 x);
   10410 ushort16 __ovld ctz(ushort16 x);
   10411 int __ovld ctz(int x);
   10412 uint __ovld ctz(uint x);
   10413 int2 __ovld ctz(int2 x);
   10414 uint2 __ovld ctz(uint2 x);
   10415 int3 __ovld ctz(int3 x);
   10416 uint3 __ovld ctz(uint3 x);
   10417 int4 __ovld ctz(int4 x);
   10418 uint4 __ovld ctz(uint4 x);
   10419 int8 __ovld ctz(int8 x);
   10420 uint8 __ovld ctz(uint8 x);
   10421 int16 __ovld ctz(int16 x);
   10422 uint16 __ovld ctz(uint16 x);
   10423 long __ovld ctz(long x);
   10424 ulong __ovld ctz(ulong x);
   10425 long2 __ovld ctz(long2 x);
   10426 ulong2 __ovld ctz(ulong2 x);
   10427 long3 __ovld ctz(long3 x);
   10428 ulong3 __ovld ctz(ulong3 x);
   10429 long4 __ovld ctz(long4 x);
   10430 ulong4 __ovld ctz(ulong4 x);
   10431 long8 __ovld ctz(long8 x);
   10432 ulong8 __ovld ctz(ulong8 x);
   10433 long16 __ovld ctz(long16 x);
   10434 ulong16 __ovld ctz(ulong16 x);
   10435 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   10436 
   10437 /**
   10438  * Returns mul_hi(a, b) + c.
   10439  */
   10440 char __ovld __cnfn mad_hi(char a, char b, char c);
   10441 uchar __ovld __cnfn mad_hi(uchar a, uchar b, uchar c);
   10442 char2 __ovld __cnfn mad_hi(char2 a, char2 b, char2 c);
   10443 uchar2 __ovld __cnfn mad_hi(uchar2 a, uchar2 b, uchar2 c);
   10444 char3 __ovld __cnfn mad_hi(char3 a, char3 b, char3 c);
   10445 uchar3 __ovld __cnfn mad_hi(uchar3 a, uchar3 b, uchar3 c);
   10446 char4 __ovld __cnfn mad_hi(char4 a, char4 b, char4 c);
   10447 uchar4 __ovld __cnfn mad_hi(uchar4 a, uchar4 b, uchar4 c);
   10448 char8 __ovld __cnfn mad_hi(char8 a, char8 b, char8 c);
   10449 uchar8 __ovld __cnfn mad_hi(uchar8 a, uchar8 b, uchar8 c);
   10450 char16 __ovld __cnfn mad_hi(char16 a, char16 b, char16 c);
   10451 uchar16 __ovld __cnfn mad_hi(uchar16 a, uchar16 b, uchar16 c);
   10452 short __ovld __cnfn mad_hi(short a, short b, short c);
   10453 ushort __ovld __cnfn mad_hi(ushort a, ushort b, ushort c);
   10454 short2 __ovld __cnfn mad_hi(short2 a, short2 b, short2 c);
   10455 ushort2 __ovld __cnfn mad_hi(ushort2 a, ushort2 b, ushort2 c);
   10456 short3 __ovld __cnfn mad_hi(short3 a, short3 b, short3 c);
   10457 ushort3 __ovld __cnfn mad_hi(ushort3 a, ushort3 b, ushort3 c);
   10458 short4 __ovld __cnfn mad_hi(short4 a, short4 b, short4 c);
   10459 ushort4 __ovld __cnfn mad_hi(ushort4 a, ushort4 b, ushort4 c);
   10460 short8 __ovld __cnfn mad_hi(short8 a, short8 b, short8 c);
   10461 ushort8 __ovld __cnfn mad_hi(ushort8 a, ushort8 b, ushort8 c);
   10462 short16 __ovld __cnfn mad_hi(short16 a, short16 b, short16 c);
   10463 ushort16 __ovld __cnfn mad_hi(ushort16 a, ushort16 b, ushort16 c);
   10464 int __ovld __cnfn mad_hi(int a, int b, int c);
   10465 uint __ovld __cnfn mad_hi(uint a, uint b, uint c);
   10466 int2 __ovld __cnfn mad_hi(int2 a, int2 b, int2 c);
   10467 uint2 __ovld __cnfn mad_hi(uint2 a, uint2 b, uint2 c);
   10468 int3 __ovld __cnfn mad_hi(int3 a, int3 b, int3 c);
   10469 uint3 __ovld __cnfn mad_hi(uint3 a, uint3 b, uint3 c);
   10470 int4 __ovld __cnfn mad_hi(int4 a, int4 b, int4 c);
   10471 uint4 __ovld __cnfn mad_hi(uint4 a, uint4 b, uint4 c);
   10472 int8 __ovld __cnfn mad_hi(int8 a, int8 b, int8 c);
   10473 uint8 __ovld __cnfn mad_hi(uint8 a, uint8 b, uint8 c);
   10474 int16 __ovld __cnfn mad_hi(int16 a, int16 b, int16 c);
   10475 uint16 __ovld __cnfn mad_hi(uint16 a, uint16 b, uint16 c);
   10476 long __ovld __cnfn mad_hi(long a, long b, long c);
   10477 ulong __ovld __cnfn mad_hi(ulong a, ulong b, ulong c);
   10478 long2 __ovld __cnfn mad_hi(long2 a, long2 b, long2 c);
   10479 ulong2 __ovld __cnfn mad_hi(ulong2 a, ulong2 b, ulong2 c);
   10480 long3 __ovld __cnfn mad_hi(long3 a, long3 b, long3 c);
   10481 ulong3 __ovld __cnfn mad_hi(ulong3 a, ulong3 b, ulong3 c);
   10482 long4 __ovld __cnfn mad_hi(long4 a, long4 b, long4 c);
   10483 ulong4 __ovld __cnfn mad_hi(ulong4 a, ulong4 b, ulong4 c);
   10484 long8 __ovld __cnfn mad_hi(long8 a, long8 b, long8 c);
   10485 ulong8 __ovld __cnfn mad_hi(ulong8 a, ulong8 b, ulong8 c);
   10486 long16 __ovld __cnfn mad_hi(long16 a, long16 b, long16 c);
   10487 ulong16 __ovld __cnfn mad_hi(ulong16 a, ulong16 b, ulong16 c);
   10488 
   10489 /**
   10490  * Returns a * b + c and saturates the result.
   10491  */
   10492 char __ovld __cnfn mad_sat(char a, char b, char c);
   10493 uchar __ovld __cnfn mad_sat(uchar a, uchar b, uchar c);
   10494 char2 __ovld __cnfn mad_sat(char2 a, char2 b, char2 c);
   10495 uchar2 __ovld __cnfn mad_sat(uchar2 a, uchar2 b, uchar2 c);
   10496 char3 __ovld __cnfn mad_sat(char3 a, char3 b, char3 c);
   10497 uchar3 __ovld __cnfn mad_sat(uchar3 a, uchar3 b, uchar3 c);
   10498 char4 __ovld __cnfn mad_sat(char4 a, char4 b, char4 c);
   10499 uchar4 __ovld __cnfn mad_sat(uchar4 a, uchar4 b, uchar4 c);
   10500 char8 __ovld __cnfn mad_sat(char8 a, char8 b, char8 c);
   10501 uchar8 __ovld __cnfn mad_sat(uchar8 a, uchar8 b, uchar8 c);
   10502 char16 __ovld __cnfn mad_sat(char16 a, char16 b, char16 c);
   10503 uchar16 __ovld __cnfn mad_sat(uchar16 a, uchar16 b, uchar16 c);
   10504 short __ovld __cnfn mad_sat(short a, short b, short c);
   10505 ushort __ovld __cnfn mad_sat(ushort a, ushort b, ushort c);
   10506 short2 __ovld __cnfn mad_sat(short2 a, short2 b, short2 c);
   10507 ushort2 __ovld __cnfn mad_sat(ushort2 a, ushort2 b, ushort2 c);
   10508 short3 __ovld __cnfn mad_sat(short3 a, short3 b, short3 c);
   10509 ushort3 __ovld __cnfn mad_sat(ushort3 a, ushort3 b, ushort3 c);
   10510 short4 __ovld __cnfn mad_sat(short4 a, short4 b, short4 c);
   10511 ushort4 __ovld __cnfn mad_sat(ushort4 a, ushort4 b, ushort4 c);
   10512 short8 __ovld __cnfn mad_sat(short8 a, short8 b, short8 c);
   10513 ushort8 __ovld __cnfn mad_sat(ushort8 a, ushort8 b, ushort8 c);
   10514 short16 __ovld __cnfn mad_sat(short16 a, short16 b, short16 c);
   10515 ushort16 __ovld __cnfn mad_sat(ushort16 a, ushort16 b, ushort16 c);
   10516 int __ovld __cnfn mad_sat(int a, int b, int c);
   10517 uint __ovld __cnfn mad_sat(uint a, uint b, uint c);
   10518 int2 __ovld __cnfn mad_sat(int2 a, int2 b, int2 c);
   10519 uint2 __ovld __cnfn mad_sat(uint2 a, uint2 b, uint2 c);
   10520 int3 __ovld __cnfn mad_sat(int3 a, int3 b, int3 c);
   10521 uint3 __ovld __cnfn mad_sat(uint3 a, uint3 b, uint3 c);
   10522 int4 __ovld __cnfn mad_sat(int4 a, int4 b, int4 c);
   10523 uint4 __ovld __cnfn mad_sat(uint4 a, uint4 b, uint4 c);
   10524 int8 __ovld __cnfn mad_sat(int8 a, int8 b, int8 c);
   10525 uint8 __ovld __cnfn mad_sat(uint8 a, uint8 b, uint8 c);
   10526 int16 __ovld __cnfn mad_sat(int16 a, int16 b, int16 c);
   10527 uint16 __ovld __cnfn mad_sat(uint16 a, uint16 b, uint16 c);
   10528 long __ovld __cnfn mad_sat(long a, long b, long c);
   10529 ulong __ovld __cnfn mad_sat(ulong a, ulong b, ulong c);
   10530 long2 __ovld __cnfn mad_sat(long2 a, long2 b, long2 c);
   10531 ulong2 __ovld __cnfn mad_sat(ulong2 a, ulong2 b, ulong2 c);
   10532 long3 __ovld __cnfn mad_sat(long3 a, long3 b, long3 c);
   10533 ulong3 __ovld __cnfn mad_sat(ulong3 a, ulong3 b, ulong3 c);
   10534 long4 __ovld __cnfn mad_sat(long4 a, long4 b, long4 c);
   10535 ulong4 __ovld __cnfn mad_sat(ulong4 a, ulong4 b, ulong4 c);
   10536 long8 __ovld __cnfn mad_sat(long8 a, long8 b, long8 c);
   10537 ulong8 __ovld __cnfn mad_sat(ulong8 a, ulong8 b, ulong8 c);
   10538 long16 __ovld __cnfn mad_sat(long16 a, long16 b, long16 c);
   10539 ulong16 __ovld __cnfn mad_sat(ulong16 a, ulong16 b, ulong16 c);
   10540 
   10541 /**
   10542  * Returns y if x < y, otherwise it returns x.
   10543  */
   10544 char __ovld __cnfn max(char x, char y);
   10545 uchar __ovld __cnfn max(uchar x, uchar y);
   10546 char2 __ovld __cnfn max(char2 x, char2 y);
   10547 uchar2 __ovld __cnfn max(uchar2 x, uchar2 y);
   10548 char3 __ovld __cnfn max(char3 x, char3 y);
   10549 uchar3 __ovld __cnfn max(uchar3 x, uchar3 y);
   10550 char4 __ovld __cnfn max(char4 x, char4 y);
   10551 uchar4 __ovld __cnfn max(uchar4 x, uchar4 y);
   10552 char8 __ovld __cnfn max(char8 x, char8 y);
   10553 uchar8 __ovld __cnfn max(uchar8 x, uchar8 y);
   10554 char16 __ovld __cnfn max(char16 x, char16 y);
   10555 uchar16 __ovld __cnfn max(uchar16 x, uchar16 y);
   10556 short __ovld __cnfn max(short x, short y);
   10557 ushort __ovld __cnfn max(ushort x, ushort y);
   10558 short2 __ovld __cnfn max(short2 x, short2 y);
   10559 ushort2 __ovld __cnfn max(ushort2 x, ushort2 y);
   10560 short3 __ovld __cnfn max(short3 x, short3 y);
   10561 ushort3 __ovld __cnfn max(ushort3 x, ushort3 y);
   10562 short4 __ovld __cnfn max(short4 x, short4 y);
   10563 ushort4 __ovld __cnfn max(ushort4 x, ushort4 y);
   10564 short8 __ovld __cnfn max(short8 x, short8 y);
   10565 ushort8 __ovld __cnfn max(ushort8 x, ushort8 y);
   10566 short16 __ovld __cnfn max(short16 x, short16 y);
   10567 ushort16 __ovld __cnfn max(ushort16 x, ushort16 y);
   10568 int __ovld __cnfn max(int x, int y);
   10569 uint __ovld __cnfn max(uint x, uint y);
   10570 int2 __ovld __cnfn max(int2 x, int2 y);
   10571 uint2 __ovld __cnfn max(uint2 x, uint2 y);
   10572 int3 __ovld __cnfn max(int3 x, int3 y);
   10573 uint3 __ovld __cnfn max(uint3 x, uint3 y);
   10574 int4 __ovld __cnfn max(int4 x, int4 y);
   10575 uint4 __ovld __cnfn max(uint4 x, uint4 y);
   10576 int8 __ovld __cnfn max(int8 x, int8 y);
   10577 uint8 __ovld __cnfn max(uint8 x, uint8 y);
   10578 int16 __ovld __cnfn max(int16 x, int16 y);
   10579 uint16 __ovld __cnfn max(uint16 x, uint16 y);
   10580 long __ovld __cnfn max(long x, long y);
   10581 ulong __ovld __cnfn max(ulong x, ulong y);
   10582 long2 __ovld __cnfn max(long2 x, long2 y);
   10583 ulong2 __ovld __cnfn max(ulong2 x, ulong2 y);
   10584 long3 __ovld __cnfn max(long3 x, long3 y);
   10585 ulong3 __ovld __cnfn max(ulong3 x, ulong3 y);
   10586 long4 __ovld __cnfn max(long4 x, long4 y);
   10587 ulong4 __ovld __cnfn max(ulong4 x, ulong4 y);
   10588 long8 __ovld __cnfn max(long8 x, long8 y);
   10589 ulong8 __ovld __cnfn max(ulong8 x, ulong8 y);
   10590 long16 __ovld __cnfn max(long16 x, long16 y);
   10591 ulong16 __ovld __cnfn max(ulong16 x, ulong16 y);
   10592 char __ovld __cnfn max(char x, char y);
   10593 uchar __ovld __cnfn max(uchar x, uchar y);
   10594 char2 __ovld __cnfn max(char2 x, char y);
   10595 uchar2 __ovld __cnfn max(uchar2 x, uchar y);
   10596 char3 __ovld __cnfn max(char3 x, char y);
   10597 uchar3 __ovld __cnfn max(uchar3 x, uchar y);
   10598 char4 __ovld __cnfn max(char4 x, char y);
   10599 uchar4 __ovld __cnfn max(uchar4 x, uchar y);
   10600 char8 __ovld __cnfn max(char8 x, char y);
   10601 uchar8 __ovld __cnfn max(uchar8 x, uchar y);
   10602 char16 __ovld __cnfn max(char16 x, char y);
   10603 uchar16 __ovld __cnfn max(uchar16 x, uchar y);
   10604 short __ovld __cnfn max(short x, short y);
   10605 ushort __ovld __cnfn max(ushort x, ushort y);
   10606 short2 __ovld __cnfn max(short2 x, short y);
   10607 ushort2 __ovld __cnfn max(ushort2 x, ushort y);
   10608 short3 __ovld __cnfn max(short3 x, short y);
   10609 ushort3 __ovld __cnfn max(ushort3 x, ushort y);
   10610 short4 __ovld __cnfn max(short4 x, short y);
   10611 ushort4 __ovld __cnfn max(ushort4 x, ushort y);
   10612 short8 __ovld __cnfn max(short8 x, short y);
   10613 ushort8 __ovld __cnfn max(ushort8 x, ushort y);
   10614 short16 __ovld __cnfn max(short16 x, short y);
   10615 ushort16 __ovld __cnfn max(ushort16 x, ushort y);
   10616 int __ovld __cnfn max(int x, int y);
   10617 uint __ovld __cnfn max(uint x, uint y);
   10618 int2 __ovld __cnfn max(int2 x, int y);
   10619 uint2 __ovld __cnfn max(uint2 x, uint y);
   10620 int3 __ovld __cnfn max(int3 x, int y);
   10621 uint3 __ovld __cnfn max(uint3 x, uint y);
   10622 int4 __ovld __cnfn max(int4 x, int y);
   10623 uint4 __ovld __cnfn max(uint4 x, uint y);
   10624 int8 __ovld __cnfn max(int8 x, int y);
   10625 uint8 __ovld __cnfn max(uint8 x, uint y);
   10626 int16 __ovld __cnfn max(int16 x, int y);
   10627 uint16 __ovld __cnfn max(uint16 x, uint y);
   10628 long __ovld __cnfn max(long x, long y);
   10629 ulong __ovld __cnfn max(ulong x, ulong y);
   10630 long2 __ovld __cnfn max(long2 x, long y);
   10631 ulong2 __ovld __cnfn max(ulong2 x, ulong y);
   10632 long3 __ovld __cnfn max(long3 x, long y);
   10633 ulong3 __ovld __cnfn max(ulong3 x, ulong y);
   10634 long4 __ovld __cnfn max(long4 x, long y);
   10635 ulong4 __ovld __cnfn max(ulong4 x, ulong y);
   10636 long8 __ovld __cnfn max(long8 x, long y);
   10637 ulong8 __ovld __cnfn max(ulong8 x, ulong y);
   10638 long16 __ovld __cnfn max(long16 x, long y);
   10639 ulong16 __ovld __cnfn max(ulong16 x, ulong y);
   10640 
   10641 /**
   10642  * Returns y if y < x, otherwise it returns x.
   10643  */
   10644 char __ovld __cnfn min(char x, char y);
   10645 uchar __ovld __cnfn min(uchar x, uchar y);
   10646 char2 __ovld __cnfn min(char2 x, char2 y);
   10647 uchar2 __ovld __cnfn min(uchar2 x, uchar2 y);
   10648 char3 __ovld __cnfn min(char3 x, char3 y);
   10649 uchar3 __ovld __cnfn min(uchar3 x, uchar3 y);
   10650 char4 __ovld __cnfn min(char4 x, char4 y);
   10651 uchar4 __ovld __cnfn min(uchar4 x, uchar4 y);
   10652 char8 __ovld __cnfn min(char8 x, char8 y);
   10653 uchar8 __ovld __cnfn min(uchar8 x, uchar8 y);
   10654 char16 __ovld __cnfn min(char16 x, char16 y);
   10655 uchar16 __ovld __cnfn min(uchar16 x, uchar16 y);
   10656 short __ovld __cnfn min(short x, short y);
   10657 ushort __ovld __cnfn min(ushort x, ushort y);
   10658 short2 __ovld __cnfn min(short2 x, short2 y);
   10659 ushort2 __ovld __cnfn min(ushort2 x, ushort2 y);
   10660 short3 __ovld __cnfn min(short3 x, short3 y);
   10661 ushort3 __ovld __cnfn min(ushort3 x, ushort3 y);
   10662 short4 __ovld __cnfn min(short4 x, short4 y);
   10663 ushort4 __ovld __cnfn min(ushort4 x, ushort4 y);
   10664 short8 __ovld __cnfn min(short8 x, short8 y);
   10665 ushort8 __ovld __cnfn min(ushort8 x, ushort8 y);
   10666 short16 __ovld __cnfn min(short16 x, short16 y);
   10667 ushort16 __ovld __cnfn min(ushort16 x, ushort16 y);
   10668 int __ovld __cnfn min(int x, int y);
   10669 uint __ovld __cnfn min(uint x, uint y);
   10670 int2 __ovld __cnfn min(int2 x, int2 y);
   10671 uint2 __ovld __cnfn min(uint2 x, uint2 y);
   10672 int3 __ovld __cnfn min(int3 x, int3 y);
   10673 uint3 __ovld __cnfn min(uint3 x, uint3 y);
   10674 int4 __ovld __cnfn min(int4 x, int4 y);
   10675 uint4 __ovld __cnfn min(uint4 x, uint4 y);
   10676 int8 __ovld __cnfn min(int8 x, int8 y);
   10677 uint8 __ovld __cnfn min(uint8 x, uint8 y);
   10678 int16 __ovld __cnfn min(int16 x, int16 y);
   10679 uint16 __ovld __cnfn min(uint16 x, uint16 y);
   10680 long __ovld __cnfn min(long x, long y);
   10681 ulong __ovld __cnfn min(ulong x, ulong y);
   10682 long2 __ovld __cnfn min(long2 x, long2 y);
   10683 ulong2 __ovld __cnfn min(ulong2 x, ulong2 y);
   10684 long3 __ovld __cnfn min(long3 x, long3 y);
   10685 ulong3 __ovld __cnfn min(ulong3 x, ulong3 y);
   10686 long4 __ovld __cnfn min(long4 x, long4 y);
   10687 ulong4 __ovld __cnfn min(ulong4 x, ulong4 y);
   10688 long8 __ovld __cnfn min(long8 x, long8 y);
   10689 ulong8 __ovld __cnfn min(ulong8 x, ulong8 y);
   10690 long16 __ovld __cnfn min(long16 x, long16 y);
   10691 ulong16 __ovld __cnfn min(ulong16 x, ulong16 y);
   10692 char __ovld __cnfn min(char x, char y);
   10693 uchar __ovld __cnfn min(uchar x, uchar y);
   10694 char2 __ovld __cnfn min(char2 x, char y);
   10695 uchar2 __ovld __cnfn min(uchar2 x, uchar y);
   10696 char3 __ovld __cnfn min(char3 x, char y);
   10697 uchar3 __ovld __cnfn min(uchar3 x, uchar y);
   10698 char4 __ovld __cnfn min(char4 x, char y);
   10699 uchar4 __ovld __cnfn min(uchar4 x, uchar y);
   10700 char8 __ovld __cnfn min(char8 x, char y);
   10701 uchar8 __ovld __cnfn min(uchar8 x, uchar y);
   10702 char16 __ovld __cnfn min(char16 x, char y);
   10703 uchar16 __ovld __cnfn min(uchar16 x, uchar y);
   10704 short __ovld __cnfn min(short x, short y);
   10705 ushort __ovld __cnfn min(ushort x, ushort y);
   10706 short2 __ovld __cnfn min(short2 x, short y);
   10707 ushort2 __ovld __cnfn min(ushort2 x, ushort y);
   10708 short3 __ovld __cnfn min(short3 x, short y);
   10709 ushort3 __ovld __cnfn min(ushort3 x, ushort y);
   10710 short4 __ovld __cnfn min(short4 x, short y);
   10711 ushort4 __ovld __cnfn min(ushort4 x, ushort y);
   10712 short8 __ovld __cnfn min(short8 x, short y);
   10713 ushort8 __ovld __cnfn min(ushort8 x, ushort y);
   10714 short16 __ovld __cnfn min(short16 x, short y);
   10715 ushort16 __ovld __cnfn min(ushort16 x, ushort y);
   10716 int __ovld __cnfn min(int x, int y);
   10717 uint __ovld __cnfn min(uint x, uint y);
   10718 int2 __ovld __cnfn min(int2 x, int y);
   10719 uint2 __ovld __cnfn min(uint2 x, uint y);
   10720 int3 __ovld __cnfn min(int3 x, int y);
   10721 uint3 __ovld __cnfn min(uint3 x, uint y);
   10722 int4 __ovld __cnfn min(int4 x, int y);
   10723 uint4 __ovld __cnfn min(uint4 x, uint y);
   10724 int8 __ovld __cnfn min(int8 x, int y);
   10725 uint8 __ovld __cnfn min(uint8 x, uint y);
   10726 int16 __ovld __cnfn min(int16 x, int y);
   10727 uint16 __ovld __cnfn min(uint16 x, uint y);
   10728 long __ovld __cnfn min(long x, long y);
   10729 ulong __ovld __cnfn min(ulong x, ulong y);
   10730 long2 __ovld __cnfn min(long2 x, long y);
   10731 ulong2 __ovld __cnfn min(ulong2 x, ulong y);
   10732 long3 __ovld __cnfn min(long3 x, long y);
   10733 ulong3 __ovld __cnfn min(ulong3 x, ulong y);
   10734 long4 __ovld __cnfn min(long4 x, long y);
   10735 ulong4 __ovld __cnfn min(ulong4 x, ulong y);
   10736 long8 __ovld __cnfn min(long8 x, long y);
   10737 ulong8 __ovld __cnfn min(ulong8 x, ulong y);
   10738 long16 __ovld __cnfn min(long16 x, long y);
   10739 ulong16 __ovld __cnfn min(ulong16 x, ulong y);
   10740 
   10741 /**
   10742  * Computes x * y and returns the high half of the
   10743  * product of x and y.
   10744  */
   10745 char __ovld __cnfn mul_hi(char x, char y);
   10746 uchar __ovld __cnfn mul_hi(uchar x, uchar y);
   10747 char2 __ovld __cnfn mul_hi(char2 x, char2 y);
   10748 uchar2 __ovld __cnfn mul_hi(uchar2 x, uchar2 y);
   10749 char3 __ovld __cnfn mul_hi(char3 x, char3 y);
   10750 uchar3 __ovld __cnfn mul_hi(uchar3 x, uchar3 y);
   10751 char4 __ovld __cnfn mul_hi(char4 x, char4 y);
   10752 uchar4 __ovld __cnfn mul_hi(uchar4 x, uchar4 y);
   10753 char8 __ovld __cnfn mul_hi(char8 x, char8 y);
   10754 uchar8 __ovld __cnfn mul_hi(uchar8 x, uchar8 y);
   10755 char16 __ovld __cnfn mul_hi(char16 x, char16 y);
   10756 uchar16 __ovld __cnfn mul_hi(uchar16 x, uchar16 y);
   10757 short __ovld __cnfn mul_hi(short x, short y);
   10758 ushort __ovld __cnfn mul_hi(ushort x, ushort y);
   10759 short2 __ovld __cnfn mul_hi(short2 x, short2 y);
   10760 ushort2 __ovld __cnfn mul_hi(ushort2 x, ushort2 y);
   10761 short3 __ovld __cnfn mul_hi(short3 x, short3 y);
   10762 ushort3 __ovld __cnfn mul_hi(ushort3 x, ushort3 y);
   10763 short4 __ovld __cnfn mul_hi(short4 x, short4 y);
   10764 ushort4 __ovld __cnfn mul_hi(ushort4 x, ushort4 y);
   10765 short8 __ovld __cnfn mul_hi(short8 x, short8 y);
   10766 ushort8 __ovld __cnfn mul_hi(ushort8 x, ushort8 y);
   10767 short16 __ovld __cnfn mul_hi(short16 x, short16 y);
   10768 ushort16 __ovld __cnfn mul_hi(ushort16 x, ushort16 y);
   10769 int __ovld __cnfn mul_hi(int x, int y);
   10770 uint __ovld __cnfn mul_hi(uint x, uint y);
   10771 int2 __ovld __cnfn mul_hi(int2 x, int2 y);
   10772 uint2 __ovld __cnfn mul_hi(uint2 x, uint2 y);
   10773 int3 __ovld __cnfn mul_hi(int3 x, int3 y);
   10774 uint3 __ovld __cnfn mul_hi(uint3 x, uint3 y);
   10775 int4 __ovld __cnfn mul_hi(int4 x, int4 y);
   10776 uint4 __ovld __cnfn mul_hi(uint4 x, uint4 y);
   10777 int8 __ovld __cnfn mul_hi(int8 x, int8 y);
   10778 uint8 __ovld __cnfn mul_hi(uint8 x, uint8 y);
   10779 int16 __ovld __cnfn mul_hi(int16 x, int16 y);
   10780 uint16 __ovld __cnfn mul_hi(uint16 x, uint16 y);
   10781 long __ovld __cnfn mul_hi(long x, long y);
   10782 ulong __ovld __cnfn mul_hi(ulong x, ulong y);
   10783 long2 __ovld __cnfn mul_hi(long2 x, long2 y);
   10784 ulong2 __ovld __cnfn mul_hi(ulong2 x, ulong2 y);
   10785 long3 __ovld __cnfn mul_hi(long3 x, long3 y);
   10786 ulong3 __ovld __cnfn mul_hi(ulong3 x, ulong3 y);
   10787 long4 __ovld __cnfn mul_hi(long4 x, long4 y);
   10788 ulong4 __ovld __cnfn mul_hi(ulong4 x, ulong4 y);
   10789 long8 __ovld __cnfn mul_hi(long8 x, long8 y);
   10790 ulong8 __ovld __cnfn mul_hi(ulong8 x, ulong8 y);
   10791 long16 __ovld __cnfn mul_hi(long16 x, long16 y);
   10792 ulong16 __ovld __cnfn mul_hi(ulong16 x, ulong16 y);
   10793 
   10794 /**
   10795  * For each element in v, the bits are shifted left by
   10796  * the number of bits given by the corresponding
   10797  * element in i (subject to usual shift modulo rules
   10798  * described in section 6.3). Bits shifted off the left
   10799  * side of the element are shifted back in from the
   10800  * right.
   10801  */
   10802 char __ovld __cnfn rotate(char v, char i);
   10803 uchar __ovld __cnfn rotate(uchar v, uchar i);
   10804 char2 __ovld __cnfn rotate(char2 v, char2 i);
   10805 uchar2 __ovld __cnfn rotate(uchar2 v, uchar2 i);
   10806 char3 __ovld __cnfn rotate(char3 v, char3 i);
   10807 uchar3 __ovld __cnfn rotate(uchar3 v, uchar3 i);
   10808 char4 __ovld __cnfn rotate(char4 v, char4 i);
   10809 uchar4 __ovld __cnfn rotate(uchar4 v, uchar4 i);
   10810 char8 __ovld __cnfn rotate(char8 v, char8 i);
   10811 uchar8 __ovld __cnfn rotate(uchar8 v, uchar8 i);
   10812 char16 __ovld __cnfn rotate(char16 v, char16 i);
   10813 uchar16 __ovld __cnfn rotate(uchar16 v, uchar16 i);
   10814 short __ovld __cnfn rotate(short v, short i);
   10815 ushort __ovld __cnfn rotate(ushort v, ushort i);
   10816 short2 __ovld __cnfn rotate(short2 v, short2 i);
   10817 ushort2 __ovld __cnfn rotate(ushort2 v, ushort2 i);
   10818 short3 __ovld __cnfn rotate(short3 v, short3 i);
   10819 ushort3 __ovld __cnfn rotate(ushort3 v, ushort3 i);
   10820 short4 __ovld __cnfn rotate(short4 v, short4 i);
   10821 ushort4 __ovld __cnfn rotate(ushort4 v, ushort4 i);
   10822 short8 __ovld __cnfn rotate(short8 v, short8 i);
   10823 ushort8 __ovld __cnfn rotate(ushort8 v, ushort8 i);
   10824 short16 __ovld __cnfn rotate(short16 v, short16 i);
   10825 ushort16 __ovld __cnfn rotate(ushort16 v, ushort16 i);
   10826 int __ovld __cnfn rotate(int v, int i);
   10827 uint __ovld __cnfn rotate(uint v, uint i);
   10828 int2 __ovld __cnfn rotate(int2 v, int2 i);
   10829 uint2 __ovld __cnfn rotate(uint2 v, uint2 i);
   10830 int3 __ovld __cnfn rotate(int3 v, int3 i);
   10831 uint3 __ovld __cnfn rotate(uint3 v, uint3 i);
   10832 int4 __ovld __cnfn rotate(int4 v, int4 i);
   10833 uint4 __ovld __cnfn rotate(uint4 v, uint4 i);
   10834 int8 __ovld __cnfn rotate(int8 v, int8 i);
   10835 uint8 __ovld __cnfn rotate(uint8 v, uint8 i);
   10836 int16 __ovld __cnfn rotate(int16 v, int16 i);
   10837 uint16 __ovld __cnfn rotate(uint16 v, uint16 i);
   10838 long __ovld __cnfn rotate(long v, long i);
   10839 ulong __ovld __cnfn rotate(ulong v, ulong i);
   10840 long2 __ovld __cnfn rotate(long2 v, long2 i);
   10841 ulong2 __ovld __cnfn rotate(ulong2 v, ulong2 i);
   10842 long3 __ovld __cnfn rotate(long3 v, long3 i);
   10843 ulong3 __ovld __cnfn rotate(ulong3 v, ulong3 i);
   10844 long4 __ovld __cnfn rotate(long4 v, long4 i);
   10845 ulong4 __ovld __cnfn rotate(ulong4 v, ulong4 i);
   10846 long8 __ovld __cnfn rotate(long8 v, long8 i);
   10847 ulong8 __ovld __cnfn rotate(ulong8 v, ulong8 i);
   10848 long16 __ovld __cnfn rotate(long16 v, long16 i);
   10849 ulong16 __ovld __cnfn rotate(ulong16 v, ulong16 i);
   10850 
   10851 /**
   10852  * Returns x - y and saturates the result.
   10853  */
   10854 char __ovld __cnfn sub_sat(char x, char y);
   10855 uchar __ovld __cnfn sub_sat(uchar x, uchar y);
   10856 char2 __ovld __cnfn sub_sat(char2 x, char2 y);
   10857 uchar2 __ovld __cnfn sub_sat(uchar2 x, uchar2 y);
   10858 char3 __ovld __cnfn sub_sat(char3 x, char3 y);
   10859 uchar3 __ovld __cnfn sub_sat(uchar3 x, uchar3 y);
   10860 char4 __ovld __cnfn sub_sat(char4 x, char4 y);
   10861 uchar4 __ovld __cnfn sub_sat(uchar4 x, uchar4 y);
   10862 char8 __ovld __cnfn sub_sat(char8 x, char8 y);
   10863 uchar8 __ovld __cnfn sub_sat(uchar8 x, uchar8 y);
   10864 char16 __ovld __cnfn sub_sat(char16 x, char16 y);
   10865 uchar16 __ovld __cnfn sub_sat(uchar16 x, uchar16 y);
   10866 short __ovld __cnfn sub_sat(short x, short y);
   10867 ushort __ovld __cnfn sub_sat(ushort x, ushort y);
   10868 short2 __ovld __cnfn sub_sat(short2 x, short2 y);
   10869 ushort2 __ovld __cnfn sub_sat(ushort2 x, ushort2 y);
   10870 short3 __ovld __cnfn sub_sat(short3 x, short3 y);
   10871 ushort3 __ovld __cnfn sub_sat(ushort3 x, ushort3 y);
   10872 short4 __ovld __cnfn sub_sat(short4 x, short4 y);
   10873 ushort4 __ovld __cnfn sub_sat(ushort4 x, ushort4 y);
   10874 short8 __ovld __cnfn sub_sat(short8 x, short8 y);
   10875 ushort8 __ovld __cnfn sub_sat(ushort8 x, ushort8 y);
   10876 short16 __ovld __cnfn sub_sat(short16 x, short16 y);
   10877 ushort16 __ovld __cnfn sub_sat(ushort16 x, ushort16 y);
   10878 int __ovld __cnfn sub_sat(int x, int y);
   10879 uint __ovld __cnfn sub_sat(uint x, uint y);
   10880 int2 __ovld __cnfn sub_sat(int2 x, int2 y);
   10881 uint2 __ovld __cnfn sub_sat(uint2 x, uint2 y);
   10882 int3 __ovld __cnfn sub_sat(int3 x, int3 y);
   10883 uint3 __ovld __cnfn sub_sat(uint3 x, uint3 y);
   10884 int4 __ovld __cnfn sub_sat(int4 x, int4 y);
   10885 uint4 __ovld __cnfn sub_sat(uint4 x, uint4 y);
   10886 int8 __ovld __cnfn sub_sat(int8 x, int8 y);
   10887 uint8 __ovld __cnfn sub_sat(uint8 x, uint8 y);
   10888 int16 __ovld __cnfn sub_sat(int16 x, int16 y);
   10889 uint16 __ovld __cnfn sub_sat(uint16 x, uint16 y);
   10890 long __ovld __cnfn sub_sat(long x, long y);
   10891 ulong __ovld __cnfn sub_sat(ulong x, ulong y);
   10892 long2 __ovld __cnfn sub_sat(long2 x, long2 y);
   10893 ulong2 __ovld __cnfn sub_sat(ulong2 x, ulong2 y);
   10894 long3 __ovld __cnfn sub_sat(long3 x, long3 y);
   10895 ulong3 __ovld __cnfn sub_sat(ulong3 x, ulong3 y);
   10896 long4 __ovld __cnfn sub_sat(long4 x, long4 y);
   10897 ulong4 __ovld __cnfn sub_sat(ulong4 x, ulong4 y);
   10898 long8 __ovld __cnfn sub_sat(long8 x, long8 y);
   10899 ulong8 __ovld __cnfn sub_sat(ulong8 x, ulong8 y);
   10900 long16 __ovld __cnfn sub_sat(long16 x, long16 y);
   10901 ulong16 __ovld __cnfn sub_sat(ulong16 x, ulong16 y);
   10902 
   10903 /**
   10904  * result[i] = ((short)hi[i] << 8) | lo[i]
   10905  * result[i] = ((ushort)hi[i] << 8) | lo[i]
   10906  */
   10907 short __ovld __cnfn upsample(char hi, uchar lo);
   10908 ushort __ovld __cnfn upsample(uchar hi, uchar lo);
   10909 short2 __ovld __cnfn upsample(char2 hi, uchar2 lo);
   10910 short3 __ovld __cnfn upsample(char3 hi, uchar3 lo);
   10911 short4 __ovld __cnfn upsample(char4 hi, uchar4 lo);
   10912 short8 __ovld __cnfn upsample(char8 hi, uchar8 lo);
   10913 short16 __ovld __cnfn upsample(char16 hi, uchar16 lo);
   10914 ushort2 __ovld __cnfn upsample(uchar2 hi, uchar2 lo);
   10915 ushort3 __ovld __cnfn upsample(uchar3 hi, uchar3 lo);
   10916 ushort4 __ovld __cnfn upsample(uchar4 hi, uchar4 lo);
   10917 ushort8 __ovld __cnfn upsample(uchar8 hi, uchar8 lo);
   10918 ushort16 __ovld __cnfn upsample(uchar16 hi, uchar16 lo);
   10919 
   10920 /**
   10921  * result[i] = ((int)hi[i] << 16) | lo[i]
   10922  * result[i] = ((uint)hi[i] << 16) | lo[i]
   10923  */
   10924 int __ovld __cnfn upsample(short hi, ushort lo);
   10925 uint __ovld __cnfn upsample(ushort hi, ushort lo);
   10926 int2 __ovld __cnfn upsample(short2 hi, ushort2 lo);
   10927 int3 __ovld __cnfn upsample(short3 hi, ushort3 lo);
   10928 int4 __ovld __cnfn upsample(short4 hi, ushort4 lo);
   10929 int8 __ovld __cnfn upsample(short8 hi, ushort8 lo);
   10930 int16 __ovld __cnfn upsample(short16 hi, ushort16 lo);
   10931 uint2 __ovld __cnfn upsample(ushort2 hi, ushort2 lo);
   10932 uint3 __ovld __cnfn upsample(ushort3 hi, ushort3 lo);
   10933 uint4 __ovld __cnfn upsample(ushort4 hi, ushort4 lo);
   10934 uint8 __ovld __cnfn upsample(ushort8 hi, ushort8 lo);
   10935 uint16 __ovld __cnfn upsample(ushort16 hi, ushort16 lo);
   10936 /**
   10937  * result[i] = ((long)hi[i] << 32) | lo[i]
   10938  * result[i] = ((ulong)hi[i] << 32) | lo[i]
   10939  */
   10940 long __ovld __cnfn upsample(int hi, uint lo);
   10941 ulong __ovld __cnfn upsample(uint hi, uint lo);
   10942 long2 __ovld __cnfn upsample(int2 hi, uint2 lo);
   10943 long3 __ovld __cnfn upsample(int3 hi, uint3 lo);
   10944 long4 __ovld __cnfn upsample(int4 hi, uint4 lo);
   10945 long8 __ovld __cnfn upsample(int8 hi, uint8 lo);
   10946 long16 __ovld __cnfn upsample(int16 hi, uint16 lo);
   10947 ulong2 __ovld __cnfn upsample(uint2 hi, uint2 lo);
   10948 ulong3 __ovld __cnfn upsample(uint3 hi, uint3 lo);
   10949 ulong4 __ovld __cnfn upsample(uint4 hi, uint4 lo);
   10950 ulong8 __ovld __cnfn upsample(uint8 hi, uint8 lo);
   10951 ulong16 __ovld __cnfn upsample(uint16 hi, uint16 lo);
   10952 
   10953 /*
   10954  * popcount(x): returns the number of set bit in x
   10955  */
   10956 char __ovld __cnfn popcount(char x);
   10957 uchar __ovld __cnfn popcount(uchar x);
   10958 char2 __ovld __cnfn popcount(char2 x);
   10959 uchar2 __ovld __cnfn popcount(uchar2 x);
   10960 char3 __ovld __cnfn popcount(char3 x);
   10961 uchar3 __ovld __cnfn popcount(uchar3 x);
   10962 char4 __ovld __cnfn popcount(char4 x);
   10963 uchar4 __ovld __cnfn popcount(uchar4 x);
   10964 char8 __ovld __cnfn popcount(char8 x);
   10965 uchar8 __ovld __cnfn popcount(uchar8 x);
   10966 char16 __ovld __cnfn popcount(char16 x);
   10967 uchar16 __ovld __cnfn popcount(uchar16 x);
   10968 short __ovld __cnfn popcount(short x);
   10969 ushort __ovld __cnfn popcount(ushort x);
   10970 short2 __ovld __cnfn popcount(short2 x);
   10971 ushort2 __ovld __cnfn popcount(ushort2 x);
   10972 short3 __ovld __cnfn popcount(short3 x);
   10973 ushort3 __ovld __cnfn popcount(ushort3 x);
   10974 short4 __ovld __cnfn popcount(short4 x);
   10975 ushort4 __ovld __cnfn popcount(ushort4 x);
   10976 short8 __ovld __cnfn popcount(short8 x);
   10977 ushort8 __ovld __cnfn popcount(ushort8 x);
   10978 short16 __ovld __cnfn popcount(short16 x);
   10979 ushort16 __ovld __cnfn popcount(ushort16 x);
   10980 int __ovld __cnfn popcount(int x);
   10981 uint __ovld __cnfn popcount(uint x);
   10982 int2 __ovld __cnfn popcount(int2 x);
   10983 uint2 __ovld __cnfn popcount(uint2 x);
   10984 int3 __ovld __cnfn popcount(int3 x);
   10985 uint3 __ovld __cnfn popcount(uint3 x);
   10986 int4 __ovld __cnfn popcount(int4 x);
   10987 uint4 __ovld __cnfn popcount(uint4 x);
   10988 int8 __ovld __cnfn popcount(int8 x);
   10989 uint8 __ovld __cnfn popcount(uint8 x);
   10990 int16 __ovld __cnfn popcount(int16 x);
   10991 uint16 __ovld __cnfn popcount(uint16 x);
   10992 long __ovld __cnfn popcount(long x);
   10993 ulong __ovld __cnfn popcount(ulong x);
   10994 long2 __ovld __cnfn popcount(long2 x);
   10995 ulong2 __ovld __cnfn popcount(ulong2 x);
   10996 long3 __ovld __cnfn popcount(long3 x);
   10997 ulong3 __ovld __cnfn popcount(ulong3 x);
   10998 long4 __ovld __cnfn popcount(long4 x);
   10999 ulong4 __ovld __cnfn popcount(ulong4 x);
   11000 long8 __ovld __cnfn popcount(long8 x);
   11001 ulong8 __ovld __cnfn popcount(ulong8 x);
   11002 long16 __ovld __cnfn popcount(long16 x);
   11003 ulong16 __ovld __cnfn popcount(ulong16 x);
   11004 
   11005 /**
   11006  * Multiply two 24-bit integer values x and y and add
   11007  * the 32-bit integer result to the 32-bit integer z.
   11008  * Refer to definition of mul24 to see how the 24-bit
   11009  * integer multiplication is performed.
   11010  */
   11011 int __ovld __cnfn mad24(int x, int y, int z);
   11012 uint __ovld __cnfn mad24(uint x, uint y, uint z);
   11013 int2 __ovld __cnfn mad24(int2 x, int2 y, int2 z);
   11014 uint2 __ovld __cnfn mad24(uint2 x, uint2 y, uint2 z);
   11015 int3 __ovld __cnfn mad24(int3 x, int3 y, int3 z);
   11016 uint3 __ovld __cnfn mad24(uint3 x, uint3 y, uint3 z);
   11017 int4 __ovld __cnfn mad24(int4 x, int4 y, int4 z);
   11018 uint4 __ovld __cnfn mad24(uint4 x, uint4 y, uint4 z);
   11019 int8 __ovld __cnfn mad24(int8 x, int8 y, int8 z);
   11020 uint8 __ovld __cnfn mad24(uint8 x, uint8 y, uint8 z);
   11021 int16 __ovld __cnfn mad24(int16 x, int16 y, int16 z);
   11022 uint16 __ovld __cnfn mad24(uint16 x, uint16 y, uint16 z);
   11023 
   11024 /**
   11025  * Multiply two 24-bit integer values x and y. x and y
   11026  * are 32-bit integers but only the low 24-bits are used
   11027  * to perform the multiplication. mul24 should only
   11028  * be used when values in x and y are in the range [-
   11029  * 2^23, 2^23-1] if x and y are signed integers and in the
   11030  * range [0, 2^24-1] if x and y are unsigned integers. If
   11031  * x and y are not in this range, the multiplication
   11032  * result is implementation-defined.
   11033  */
   11034 int __ovld __cnfn mul24(int x, int y);
   11035 uint __ovld __cnfn mul24(uint x, uint y);
   11036 int2 __ovld __cnfn mul24(int2 x, int2 y);
   11037 uint2 __ovld __cnfn mul24(uint2 x, uint2 y);
   11038 int3 __ovld __cnfn mul24(int3 x, int3 y);
   11039 uint3 __ovld __cnfn mul24(uint3 x, uint3 y);
   11040 int4 __ovld __cnfn mul24(int4 x, int4 y);
   11041 uint4 __ovld __cnfn mul24(uint4 x, uint4 y);
   11042 int8 __ovld __cnfn mul24(int8 x, int8 y);
   11043 uint8 __ovld __cnfn mul24(uint8 x, uint8 y);
   11044 int16 __ovld __cnfn mul24(int16 x, int16 y);
   11045 uint16 __ovld __cnfn mul24(uint16 x, uint16 y);
   11046 
   11047 // OpenCL v1.1 s6.11.4, v1.2 s6.12.4, v2.0 s6.13.4 - Common Functions
   11048 
   11049 /**
   11050  * Returns fmin(fmax(x, minval), maxval).
   11051  * Results are undefined if minval > maxval.
   11052  */
   11053 float __ovld __cnfn clamp(float x, float minval, float maxval);
   11054 float2 __ovld __cnfn clamp(float2 x, float2 minval, float2 maxval);
   11055 float3 __ovld __cnfn clamp(float3 x, float3 minval, float3 maxval);
   11056 float4 __ovld __cnfn clamp(float4 x, float4 minval, float4 maxval);
   11057 float8 __ovld __cnfn clamp(float8 x, float8 minval, float8 maxval);
   11058 float16 __ovld __cnfn clamp(float16 x, float16 minval, float16 maxval);
   11059 float2 __ovld __cnfn clamp(float2 x, float minval, float maxval);
   11060 float3 __ovld __cnfn clamp(float3 x, float minval, float maxval);
   11061 float4 __ovld __cnfn clamp(float4 x, float minval, float maxval);
   11062 float8 __ovld __cnfn clamp(float8 x, float minval, float maxval);
   11063 float16 __ovld __cnfn clamp(float16 x, float minval, float maxval);
   11064 #ifdef cl_khr_fp64
   11065 double __ovld __cnfn clamp(double x, double minval, double maxval);
   11066 double2 __ovld __cnfn clamp(double2 x, double2 minval, double2 maxval);
   11067 double3 __ovld __cnfn clamp(double3 x, double3 minval, double3 maxval);
   11068 double4 __ovld __cnfn clamp(double4 x, double4 minval, double4 maxval);
   11069 double8 __ovld __cnfn clamp(double8 x, double8 minval, double8 maxval);
   11070 double16 __ovld __cnfn clamp(double16 x, double16 minval, double16 maxval);
   11071 double2 __ovld __cnfn clamp(double2 x, double minval, double maxval);
   11072 double3 __ovld __cnfn clamp(double3 x, double minval, double maxval);
   11073 double4 __ovld __cnfn clamp(double4 x, double minval, double maxval);
   11074 double8 __ovld __cnfn clamp(double8 x, double minval, double maxval);
   11075 double16 __ovld __cnfn clamp(double16 x, double minval, double maxval);
   11076 #endif //cl_khr_fp64
   11077 #ifdef cl_khr_fp16
   11078 half __ovld __cnfn clamp(half x, half minval, half maxval);
   11079 half2 __ovld __cnfn clamp(half2 x, half2 minval, half2 maxval);
   11080 half3 __ovld __cnfn clamp(half3 x, half3 minval, half3 maxval);
   11081 half4 __ovld __cnfn clamp(half4 x, half4 minval, half4 maxval);
   11082 half8 __ovld __cnfn clamp(half8 x, half8 minval, half8 maxval);
   11083 half16 __ovld __cnfn clamp(half16 x, half16 minval, half16 maxval);
   11084 half2 __ovld __cnfn clamp(half2 x, half minval, half maxval);
   11085 half3 __ovld __cnfn clamp(half3 x, half minval, half maxval);
   11086 half4 __ovld __cnfn clamp(half4 x, half minval, half maxval);
   11087 half8 __ovld __cnfn clamp(half8 x, half minval, half maxval);
   11088 half16 __ovld __cnfn clamp(half16 x, half minval, half maxval);
   11089 #endif //cl_khr_fp16
   11090 
   11091 /**
   11092  * Converts radians to degrees, i.e. (180 / PI) *
   11093  * radians.
   11094  */
   11095 float __ovld __cnfn degrees(float radians);
   11096 float2 __ovld __cnfn degrees(float2 radians);
   11097 float3 __ovld __cnfn degrees(float3 radians);
   11098 float4 __ovld __cnfn degrees(float4 radians);
   11099 float8 __ovld __cnfn degrees(float8 radians);
   11100 float16 __ovld __cnfn degrees(float16 radians);
   11101 #ifdef cl_khr_fp64
   11102 double __ovld __cnfn degrees(double radians);
   11103 double2 __ovld __cnfn degrees(double2 radians);
   11104 double3 __ovld __cnfn degrees(double3 radians);
   11105 double4 __ovld __cnfn degrees(double4 radians);
   11106 double8 __ovld __cnfn degrees(double8 radians);
   11107 double16 __ovld __cnfn degrees(double16 radians);
   11108 #endif //cl_khr_fp64
   11109 #ifdef cl_khr_fp16
   11110 half __ovld __cnfn degrees(half radians);
   11111 half2 __ovld __cnfn degrees(half2 radians);
   11112 half3 __ovld __cnfn degrees(half3 radians);
   11113 half4 __ovld __cnfn degrees(half4 radians);
   11114 half8 __ovld __cnfn degrees(half8 radians);
   11115 half16 __ovld __cnfn degrees(half16 radians);
   11116 #endif //cl_khr_fp16
   11117 
   11118 /**
   11119  * Returns y if x < y, otherwise it returns x. If x and y
   11120  * are infinite or NaN, the return values are undefined.
   11121  */
   11122 float __ovld __cnfn max(float x, float y);
   11123 float2 __ovld __cnfn max(float2 x, float2 y);
   11124 float3 __ovld __cnfn max(float3 x, float3 y);
   11125 float4 __ovld __cnfn max(float4 x, float4 y);
   11126 float8 __ovld __cnfn max(float8 x, float8 y);
   11127 float16 __ovld __cnfn max(float16 x, float16 y);
   11128 float2 __ovld __cnfn max(float2 x, float y);
   11129 float3 __ovld __cnfn max(float3 x, float y);
   11130 float4 __ovld __cnfn max(float4 x, float y);
   11131 float8 __ovld __cnfn max(float8 x, float y);
   11132 float16 __ovld __cnfn max(float16 x, float y);
   11133 #ifdef cl_khr_fp64
   11134 double __ovld __cnfn max(double x, double y);
   11135 double2 __ovld __cnfn max(double2 x, double2 y);
   11136 double3 __ovld __cnfn max(double3 x, double3 y);
   11137 double4 __ovld __cnfn max(double4 x, double4 y);
   11138 double8 __ovld __cnfn max(double8 x, double8 y);
   11139 double16 __ovld __cnfn max(double16 x, double16 y);
   11140 double2 __ovld __cnfn max(double2 x, double y);
   11141 double3 __ovld __cnfn max(double3 x, double y);
   11142 double4 __ovld __cnfn max(double4 x, double y);
   11143 double8 __ovld __cnfn max(double8 x, double y);
   11144 double16 __ovld __cnfn max(double16 x, double y);
   11145 #endif //cl_khr_fp64
   11146 #ifdef cl_khr_fp16
   11147 half __ovld __cnfn max(half x, half y);
   11148 half2 __ovld __cnfn max(half2 x, half2 y);
   11149 half3 __ovld __cnfn max(half3 x, half3 y);
   11150 half4 __ovld __cnfn max(half4 x, half4 y);
   11151 half8 __ovld __cnfn max(half8 x, half8 y);
   11152 half16 __ovld __cnfn max(half16 x, half16 y);
   11153 half2 __ovld __cnfn max(half2 x, half y);
   11154 half3 __ovld __cnfn max(half3 x, half y);
   11155 half4 __ovld __cnfn max(half4 x, half y);
   11156 half8 __ovld __cnfn max(half8 x, half y);
   11157 half16 __ovld __cnfn max(half16 x, half y);
   11158 #endif //cl_khr_fp16
   11159 
   11160 /**
   11161  * Returns y if y < x, otherwise it returns x. If x and y
   11162  * are infinite or NaN, the return values are undefined.
   11163  */
   11164 float __ovld __cnfn min(float x, float y);
   11165 float2 __ovld __cnfn min(float2 x, float2 y);
   11166 float3 __ovld __cnfn min(float3 x, float3 y);
   11167 float4 __ovld __cnfn min(float4 x, float4 y);
   11168 float8 __ovld __cnfn min(float8 x, float8 y);
   11169 float16 __ovld __cnfn min(float16 x, float16 y);
   11170 float2 __ovld __cnfn min(float2 x, float y);
   11171 float3 __ovld __cnfn min(float3 x, float y);
   11172 float4 __ovld __cnfn min(float4 x, float y);
   11173 float8 __ovld __cnfn min(float8 x, float y);
   11174 float16 __ovld __cnfn min(float16 x, float y);
   11175 #ifdef cl_khr_fp64
   11176 double __ovld __cnfn min(double x, double y);
   11177 double2 __ovld __cnfn min(double2 x, double2 y);
   11178 double3 __ovld __cnfn min(double3 x, double3 y);
   11179 double4 __ovld __cnfn min(double4 x, double4 y);
   11180 double8 __ovld __cnfn min(double8 x, double8 y);
   11181 double16 __ovld __cnfn min(double16 x, double16 y);
   11182 double2 __ovld __cnfn min(double2 x, double y);
   11183 double3 __ovld __cnfn min(double3 x, double y);
   11184 double4 __ovld __cnfn min(double4 x, double y);
   11185 double8 __ovld __cnfn min(double8 x, double y);
   11186 double16 __ovld __cnfn min(double16 x, double y);
   11187 #endif //cl_khr_fp64
   11188 #ifdef cl_khr_fp16
   11189 half __ovld __cnfn min(half x, half y);
   11190 half2 __ovld __cnfn min(half2 x, half2 y);
   11191 half3 __ovld __cnfn min(half3 x, half3 y);
   11192 half4 __ovld __cnfn min(half4 x, half4 y);
   11193 half8 __ovld __cnfn min(half8 x, half8 y);
   11194 half16 __ovld __cnfn min(half16 x, half16 y);
   11195 half2 __ovld __cnfn min(half2 x, half y);
   11196 half3 __ovld __cnfn min(half3 x, half y);
   11197 half4 __ovld __cnfn min(half4 x, half y);
   11198 half8 __ovld __cnfn min(half8 x, half y);
   11199 half16 __ovld __cnfn min(half16 x, half y);
   11200 #endif //cl_khr_fp16
   11201 
   11202 /**
   11203  * Returns the linear blend of x & y implemented as:
   11204  * x + (y - x) * a
   11205  * a must be a value in the range 0.0 ... 1.0. If a is not
   11206  * in the range 0.0 ... 1.0, the return values are
   11207  * undefined.
   11208  */
   11209 float __ovld __cnfn mix(float x, float y, float a);
   11210 float2 __ovld __cnfn mix(float2 x, float2 y, float2 a);
   11211 float3 __ovld __cnfn mix(float3 x, float3 y, float3 a);
   11212 float4 __ovld __cnfn mix(float4 x, float4 y, float4 a);
   11213 float8 __ovld __cnfn mix(float8 x, float8 y, float8 a);
   11214 float16 __ovld __cnfn mix(float16 x, float16 y, float16 a);
   11215 float2 __ovld __cnfn mix(float2 x, float2 y, float a);
   11216 float3 __ovld __cnfn mix(float3 x, float3 y, float a);
   11217 float4 __ovld __cnfn mix(float4 x, float4 y, float a);
   11218 float8 __ovld __cnfn mix(float8 x, float8 y, float a);
   11219 float16 __ovld __cnfn mix(float16 x, float16 y, float a);
   11220 #ifdef cl_khr_fp64
   11221 double __ovld __cnfn mix(double x, double y, double a);
   11222 double2 __ovld __cnfn mix(double2 x, double2 y, double2 a);
   11223 double3 __ovld __cnfn mix(double3 x, double3 y, double3 a);
   11224 double4 __ovld __cnfn mix(double4 x, double4 y, double4 a);
   11225 double8 __ovld __cnfn mix(double8 x, double8 y, double8 a);
   11226 double16 __ovld __cnfn mix(double16 x, double16 y, double16 a);
   11227 double2 __ovld __cnfn mix(double2 x, double2 y, double a);
   11228 double3 __ovld __cnfn mix(double3 x, double3 y, double a);
   11229 double4 __ovld __cnfn mix(double4 x, double4 y, double a);
   11230 double8 __ovld __cnfn mix(double8 x, double8 y, double a);
   11231 double16 __ovld __cnfn mix(double16 x, double16 y, double a);
   11232 #endif //cl_khr_fp64
   11233 #ifdef cl_khr_fp16
   11234 half __ovld __cnfn mix(half x, half y, half a);
   11235 half2 __ovld __cnfn mix(half2 x, half2 y, half2 a);
   11236 half3 __ovld __cnfn mix(half3 x, half3 y, half3 a);
   11237 half4 __ovld __cnfn mix(half4 x, half4 y, half4 a);
   11238 half8 __ovld __cnfn mix(half8 x, half8 y, half8 a);
   11239 half16 __ovld __cnfn mix(half16 x, half16 y, half16 a);
   11240 half2 __ovld __cnfn mix(half2 x, half2 y, half a);
   11241 half3 __ovld __cnfn mix(half3 x, half3 y, half a);
   11242 half4 __ovld __cnfn mix(half4 x, half4 y, half a);
   11243 half8 __ovld __cnfn mix(half8 x, half8 y, half a);
   11244 half16 __ovld __cnfn mix(half16 x, half16 y, half a);
   11245 #endif //cl_khr_fp16
   11246 
   11247 /**
   11248  * Converts degrees to radians, i.e. (PI / 180) *
   11249  * degrees.
   11250  */
   11251 float __ovld __cnfn radians(float degrees);
   11252 float2 __ovld __cnfn radians(float2 degrees);
   11253 float3 __ovld __cnfn radians(float3 degrees);
   11254 float4 __ovld __cnfn radians(float4 degrees);
   11255 float8 __ovld __cnfn radians(float8 degrees);
   11256 float16 __ovld __cnfn radians(float16 degrees);
   11257 #ifdef cl_khr_fp64
   11258 double __ovld __cnfn radians(double degrees);
   11259 double2 __ovld __cnfn radians(double2 degrees);
   11260 double3 __ovld __cnfn radians(double3 degrees);
   11261 double4 __ovld __cnfn radians(double4 degrees);
   11262 double8 __ovld __cnfn radians(double8 degrees);
   11263 double16 __ovld __cnfn radians(double16 degrees);
   11264 #endif //cl_khr_fp64
   11265 #ifdef cl_khr_fp16
   11266 half __ovld __cnfn radians(half degrees);
   11267 half2 __ovld __cnfn radians(half2 degrees);
   11268 half3 __ovld __cnfn radians(half3 degrees);
   11269 half4 __ovld __cnfn radians(half4 degrees);
   11270 half8 __ovld __cnfn radians(half8 degrees);
   11271 half16 __ovld __cnfn radians(half16 degrees);
   11272 #endif //cl_khr_fp16
   11273 
   11274 /**
   11275  * Returns 0.0 if x < edge, otherwise it returns 1.0.
   11276  */
   11277 float __ovld __cnfn step(float edge, float x);
   11278 float2 __ovld __cnfn step(float2 edge, float2 x);
   11279 float3 __ovld __cnfn step(float3 edge, float3 x);
   11280 float4 __ovld __cnfn step(float4 edge, float4 x);
   11281 float8 __ovld __cnfn step(float8 edge, float8 x);
   11282 float16 __ovld __cnfn step(float16 edge, float16 x);
   11283 float2 __ovld __cnfn step(float edge, float2 x);
   11284 float3 __ovld __cnfn step(float edge, float3 x);
   11285 float4 __ovld __cnfn step(float edge, float4 x);
   11286 float8 __ovld __cnfn step(float edge, float8 x);
   11287 float16 __ovld __cnfn step(float edge, float16 x);
   11288 #ifdef cl_khr_fp64
   11289 double __ovld __cnfn step(double edge, double x);
   11290 double2 __ovld __cnfn step(double2 edge, double2 x);
   11291 double3 __ovld __cnfn step(double3 edge, double3 x);
   11292 double4 __ovld __cnfn step(double4 edge, double4 x);
   11293 double8 __ovld __cnfn step(double8 edge, double8 x);
   11294 double16 __ovld __cnfn step(double16 edge, double16 x);
   11295 double2 __ovld __cnfn step(double edge, double2 x);
   11296 double3 __ovld __cnfn step(double edge, double3 x);
   11297 double4 __ovld __cnfn step(double edge, double4 x);
   11298 double8 __ovld __cnfn step(double edge, double8 x);
   11299 double16 __ovld __cnfn step(double edge, double16 x);
   11300 #endif //cl_khr_fp64
   11301 #ifdef cl_khr_fp16
   11302 half __ovld __cnfn step(half edge, half x);
   11303 half2 __ovld __cnfn step(half2 edge, half2 x);
   11304 half3 __ovld __cnfn step(half3 edge, half3 x);
   11305 half4 __ovld __cnfn step(half4 edge, half4 x);
   11306 half8 __ovld __cnfn step(half8 edge, half8 x);
   11307 half16 __ovld __cnfn step(half16 edge, half16 x);
   11308 half __ovld __cnfn step(half edge, half x);
   11309 half2 __ovld __cnfn step(half edge, half2 x);
   11310 half3 __ovld __cnfn step(half edge, half3 x);
   11311 half4 __ovld __cnfn step(half edge, half4 x);
   11312 half8 __ovld __cnfn step(half edge, half8 x);
   11313 half16 __ovld __cnfn step(half edge, half16 x);
   11314 #endif //cl_khr_fp16
   11315 
   11316 /**
   11317  * Returns 0.0 if x <= edge0 and 1.0 if x >= edge1 and
   11318  * performs smooth Hermite interpolation between 0
   11319  * and 1when edge0 < x < edge1. This is useful in
   11320  * cases where you would want a threshold function
   11321  * with a smooth transition.
   11322  * This is equivalent to:
   11323  * gentype t;
   11324  * t = clamp ((x - edge0) / (edge1 - edge0), 0, 1);
   11325  * return t * t * (3 - 2 * t);
   11326  * Results are undefined if edge0 >= edge1 or if x,
   11327  * edge0 or edge1 is a NaN.
   11328  */
   11329 float __ovld __cnfn smoothstep(float edge0, float edge1, float x);
   11330 float2 __ovld __cnfn smoothstep(float2 edge0, float2 edge1, float2 x);
   11331 float3 __ovld __cnfn smoothstep(float3 edge0, float3 edge1, float3 x);
   11332 float4 __ovld __cnfn smoothstep(float4 edge0, float4 edge1, float4 x);
   11333 float8 __ovld __cnfn smoothstep(float8 edge0, float8 edge1, float8 x);
   11334 float16 __ovld __cnfn smoothstep(float16 edge0, float16 edge1, float16 x);
   11335 float2 __ovld __cnfn smoothstep(float edge0, float edge1, float2 x);
   11336 float3 __ovld __cnfn smoothstep(float edge0, float edge1, float3 x);
   11337 float4 __ovld __cnfn smoothstep(float edge0, float edge1, float4 x);
   11338 float8 __ovld __cnfn smoothstep(float edge0, float edge1, float8 x);
   11339 float16 __ovld __cnfn smoothstep(float edge0, float edge1, float16 x);
   11340 #ifdef cl_khr_fp64
   11341 double __ovld __cnfn smoothstep(double edge0, double edge1, double x);
   11342 double2 __ovld __cnfn smoothstep(double2 edge0, double2 edge1, double2 x);
   11343 double3 __ovld __cnfn smoothstep(double3 edge0, double3 edge1, double3 x);
   11344 double4 __ovld __cnfn smoothstep(double4 edge0, double4 edge1, double4 x);
   11345 double8 __ovld __cnfn smoothstep(double8 edge0, double8 edge1, double8 x);
   11346 double16 __ovld __cnfn smoothstep(double16 edge0, double16 edge1, double16 x);
   11347 double2 __ovld __cnfn smoothstep(double edge0, double edge1, double2 x);
   11348 double3 __ovld __cnfn smoothstep(double edge0, double edge1, double3 x);
   11349 double4 __ovld __cnfn smoothstep(double edge0, double edge1, double4 x);
   11350 double8 __ovld __cnfn smoothstep(double edge0, double edge1, double8 x);
   11351 double16 __ovld __cnfn smoothstep(double edge0, double edge1, double16 x);
   11352 #endif //cl_khr_fp64
   11353 #ifdef cl_khr_fp16
   11354 half __ovld __cnfn smoothstep(half edge0, half edge1, half x);
   11355 half2 __ovld __cnfn smoothstep(half2 edge0, half2 edge1, half2 x);
   11356 half3 __ovld __cnfn smoothstep(half3 edge0, half3 edge1, half3 x);
   11357 half4 __ovld __cnfn smoothstep(half4 edge0, half4 edge1, half4 x);
   11358 half8 __ovld __cnfn smoothstep(half8 edge0, half8 edge1, half8 x);
   11359 half16 __ovld __cnfn smoothstep(half16 edge0, half16 edge1, half16 x);
   11360 half __ovld __cnfn smoothstep(half edge0, half edge1, half x);
   11361 half2 __ovld __cnfn smoothstep(half edge0, half edge1, half2 x);
   11362 half3 __ovld __cnfn smoothstep(half edge0, half edge1, half3 x);
   11363 half4 __ovld __cnfn smoothstep(half edge0, half edge1, half4 x);
   11364 half8 __ovld __cnfn smoothstep(half edge0, half edge1, half8 x);
   11365 half16 __ovld __cnfn smoothstep(half edge0, half edge1, half16 x);
   11366 #endif //cl_khr_fp16
   11367 
   11368 /**
   11369  * Returns 1.0 if x > 0, -0.0 if x = -0.0, +0.0 if x =
   11370  * +0.0, or -1.0 if x < 0. Returns 0.0 if x is a NaN.
   11371  */
   11372 float __ovld __cnfn sign(float x);
   11373 float2 __ovld __cnfn sign(float2 x);
   11374 float3 __ovld __cnfn sign(float3 x);
   11375 float4 __ovld __cnfn sign(float4 x);
   11376 float8 __ovld __cnfn sign(float8 x);
   11377 float16 __ovld __cnfn sign(float16 x);
   11378 #ifdef cl_khr_fp64
   11379 double __ovld __cnfn sign(double x);
   11380 double2 __ovld __cnfn sign(double2 x);
   11381 double3 __ovld __cnfn sign(double3 x);
   11382 double4 __ovld __cnfn sign(double4 x);
   11383 double8 __ovld __cnfn sign(double8 x);
   11384 double16 __ovld __cnfn sign(double16 x);
   11385 #endif //cl_khr_fp64
   11386 #ifdef cl_khr_fp16
   11387 half __ovld __cnfn sign(half x);
   11388 half2 __ovld __cnfn sign(half2 x);
   11389 half3 __ovld __cnfn sign(half3 x);
   11390 half4 __ovld __cnfn sign(half4 x);
   11391 half8 __ovld __cnfn sign(half8 x);
   11392 half16 __ovld __cnfn sign(half16 x);
   11393 #endif //cl_khr_fp16
   11394 
   11395 // OpenCL v1.1 s6.11.5, v1.2 s6.12.5, v2.0 s6.13.5 - Geometric Functions
   11396 
   11397 /**
   11398  * Returns the cross product of p0.xyz and p1.xyz. The
   11399  * w component of float4 result returned will be 0.0.
   11400  */
   11401 float4 __ovld __cnfn cross(float4 p0, float4 p1);
   11402 float3 __ovld __cnfn cross(float3 p0, float3 p1);
   11403 #ifdef cl_khr_fp64
   11404 double4 __ovld __cnfn cross(double4 p0, double4 p1);
   11405 double3 __ovld __cnfn cross(double3 p0, double3 p1);
   11406 #endif //cl_khr_fp64
   11407 #ifdef cl_khr_fp16
   11408 half4 __ovld __cnfn cross(half4 p0, half4 p1);
   11409 half3 __ovld __cnfn cross(half3 p0, half3 p1);
   11410 #endif //cl_khr_fp16
   11411 
   11412 /**
   11413  * Compute dot product.
   11414  */
   11415 float __ovld __cnfn dot(float p0, float p1);
   11416 float __ovld __cnfn dot(float2 p0, float2 p1);
   11417 float __ovld __cnfn dot(float3 p0, float3 p1);
   11418 float __ovld __cnfn dot(float4 p0, float4 p1);
   11419 #ifdef cl_khr_fp64
   11420 double __ovld __cnfn dot(double p0, double p1);
   11421 double __ovld __cnfn dot(double2 p0, double2 p1);
   11422 double __ovld __cnfn dot(double3 p0, double3 p1);
   11423 double __ovld __cnfn dot(double4 p0, double4 p1);
   11424 #endif //cl_khr_fp64
   11425 #ifdef cl_khr_fp16
   11426 half __ovld __cnfn dot(half p0, half p1);
   11427 half __ovld __cnfn dot(half2 p0, half2 p1);
   11428 half __ovld __cnfn dot(half3 p0, half3 p1);
   11429 half __ovld __cnfn dot(half4 p0, half4 p1);
   11430 #endif //cl_khr_fp16
   11431 
   11432 /**
   11433  * Returns the distance between p0 and p1. This is
   11434  * calculated as length(p0 - p1).
   11435  */
   11436 float __ovld __cnfn distance(float p0, float p1);
   11437 float __ovld __cnfn distance(float2 p0, float2 p1);
   11438 float __ovld __cnfn distance(float3 p0, float3 p1);
   11439 float __ovld __cnfn distance(float4 p0, float4 p1);
   11440 #ifdef cl_khr_fp64
   11441 double __ovld __cnfn distance(double p0, double p1);
   11442 double __ovld __cnfn distance(double2 p0, double2 p1);
   11443 double __ovld __cnfn distance(double3 p0, double3 p1);
   11444 double __ovld __cnfn distance(double4 p0, double4 p1);
   11445 #endif //cl_khr_fp64
   11446 #ifdef cl_khr_fp16
   11447 half __ovld __cnfn distance(half p0, half p1);
   11448 half __ovld __cnfn distance(half2 p0, half2 p1);
   11449 half __ovld __cnfn distance(half3 p0, half3 p1);
   11450 half __ovld __cnfn distance(half4 p0, half4 p1);
   11451 #endif //cl_khr_fp16
   11452 
   11453 /**
   11454  * Return the length of vector p, i.e.,
   11455  * sqrt(p.x2 + p.y 2 + ...)
   11456  */
   11457 float __ovld __cnfn length(float p);
   11458 float __ovld __cnfn length(float2 p);
   11459 float __ovld __cnfn length(float3 p);
   11460 float __ovld __cnfn length(float4 p);
   11461 #ifdef cl_khr_fp64
   11462 double __ovld __cnfn length(double p);
   11463 double __ovld __cnfn length(double2 p);
   11464 double __ovld __cnfn length(double3 p);
   11465 double __ovld __cnfn length(double4 p);
   11466 #endif //cl_khr_fp64
   11467 #ifdef cl_khr_fp16
   11468 half __ovld __cnfn length(half p);
   11469 half __ovld __cnfn length(half2 p);
   11470 half __ovld __cnfn length(half3 p);
   11471 half __ovld __cnfn length(half4 p);
   11472 #endif //cl_khr_fp16
   11473 
   11474 /**
   11475  * Returns a vector in the same direction as p but with a
   11476  * length of 1.
   11477  */
   11478 float __ovld __cnfn normalize(float p);
   11479 float2 __ovld __cnfn normalize(float2 p);
   11480 float3 __ovld __cnfn normalize(float3 p);
   11481 float4 __ovld __cnfn normalize(float4 p);
   11482 #ifdef cl_khr_fp64
   11483 double __ovld __cnfn normalize(double p);
   11484 double2 __ovld __cnfn normalize(double2 p);
   11485 double3 __ovld __cnfn normalize(double3 p);
   11486 double4 __ovld __cnfn normalize(double4 p);
   11487 #endif //cl_khr_fp64
   11488 #ifdef cl_khr_fp16
   11489 half __ovld __cnfn normalize(half p);
   11490 half2 __ovld __cnfn normalize(half2 p);
   11491 half3 __ovld __cnfn normalize(half3 p);
   11492 half4 __ovld __cnfn normalize(half4 p);
   11493 #endif //cl_khr_fp16
   11494 
   11495 /**
   11496  * Returns fast_length(p0 - p1).
   11497  */
   11498 float __ovld __cnfn fast_distance(float p0, float p1);
   11499 float __ovld __cnfn fast_distance(float2 p0, float2 p1);
   11500 float __ovld __cnfn fast_distance(float3 p0, float3 p1);
   11501 float __ovld __cnfn fast_distance(float4 p0, float4 p1);
   11502 #ifdef cl_khr_fp16
   11503 half __ovld __cnfn fast_distance(half p0, half p1);
   11504 half __ovld __cnfn fast_distance(half2 p0, half2 p1);
   11505 half __ovld __cnfn fast_distance(half3 p0, half3 p1);
   11506 half __ovld __cnfn fast_distance(half4 p0, half4 p1);
   11507 #endif //cl_khr_fp16
   11508 
   11509 /**
   11510  * Returns the length of vector p computed as:
   11511  * half_sqrt(p.x2 + p.y2 + ...)
   11512  */
   11513 float __ovld __cnfn fast_length(float p);
   11514 float __ovld __cnfn fast_length(float2 p);
   11515 float __ovld __cnfn fast_length(float3 p);
   11516 float __ovld __cnfn fast_length(float4 p);
   11517 #ifdef cl_khr_fp16
   11518 half __ovld __cnfn fast_length(half p);
   11519 half __ovld __cnfn fast_length(half2 p);
   11520 half __ovld __cnfn fast_length(half3 p);
   11521 half __ovld __cnfn fast_length(half4 p);
   11522 #endif //cl_khr_fp16
   11523 
   11524 /**
   11525  * Returns a vector in the same direction as p but with a
   11526  * length of 1. fast_normalize is computed as:
   11527  * p * half_rsqrt (p.x^2 + p.y^2 + ... )
   11528  * The result shall be within 8192 ulps error from the
   11529  * infinitely precise result of
   11530  * if (all(p == 0.0f))
   11531  * result = p;
   11532  * else
   11533  * result = p / sqrt (p.x^2 + p.y^2 + ...);
   11534  * with the following exceptions:
   11535  * 1) If the sum of squares is greater than FLT_MAX
   11536  * then the value of the floating-point values in the
   11537  * result vector are undefined.
   11538  * 2) If the sum of squares is less than FLT_MIN then
   11539  * the implementation may return back p.
   11540  * 3) If the device is in "denorms are flushed to zero"
   11541  * mode, individual operand elements with magnitude
   11542  * less than sqrt(FLT_MIN) may be flushed to zero
   11543  * before proceeding with the calculation.
   11544  */
   11545 float __ovld __cnfn fast_normalize(float p);
   11546 float2 __ovld __cnfn fast_normalize(float2 p);
   11547 float3 __ovld __cnfn fast_normalize(float3 p);
   11548 float4 __ovld __cnfn fast_normalize(float4 p);
   11549 #ifdef cl_khr_fp16
   11550 half __ovld __cnfn fast_normalize(half p);
   11551 half2 __ovld __cnfn fast_normalize(half2 p);
   11552 half3 __ovld __cnfn fast_normalize(half3 p);
   11553 half4 __ovld __cnfn fast_normalize(half4 p);
   11554 #endif //cl_khr_fp16
   11555 
   11556 // OpenCL v1.1 s6.11.6, v1.2 s6.12.6, v2.0 s6.13.6 - Relational Functions
   11557 
   11558 /**
   11559  * intn isequal (floatn x, floatn y)
   11560  * Returns the component-wise compare of x == y.
   11561  */
   11562 int __ovld __cnfn isequal(float x, float y);
   11563 int2 __ovld __cnfn isequal(float2 x, float2 y);
   11564 int3 __ovld __cnfn isequal(float3 x, float3 y);
   11565 int4 __ovld __cnfn isequal(float4 x, float4 y);
   11566 int8 __ovld __cnfn isequal(float8 x, float8 y);
   11567 int16 __ovld __cnfn isequal(float16 x, float16 y);
   11568 #ifdef cl_khr_fp64
   11569 int __ovld __cnfn isequal(double x, double y);
   11570 long2 __ovld __cnfn isequal(double2 x, double2 y);
   11571 long3 __ovld __cnfn isequal(double3 x, double3 y);
   11572 long4 __ovld __cnfn isequal(double4 x, double4 y);
   11573 long8 __ovld __cnfn isequal(double8 x, double8 y);
   11574 long16 __ovld __cnfn isequal(double16 x, double16 y);
   11575 #endif //cl_khr_fp64
   11576 #ifdef cl_khr_fp16
   11577 int __ovld __cnfn isequal(half x, half y);
   11578 short2 __ovld __cnfn isequal(half2 x, half2 y);
   11579 short3 __ovld __cnfn isequal(half3 x, half3 y);
   11580 short4 __ovld __cnfn isequal(half4 x, half4 y);
   11581 short8 __ovld __cnfn isequal(half8 x, half8 y);
   11582 short16 __ovld __cnfn isequal(half16 x, half16 y);
   11583 #endif //cl_khr_fp16
   11584 
   11585 /**
   11586  * Returns the component-wise compare of x != y.
   11587  */
   11588 int __ovld __cnfn isnotequal(float x, float y);
   11589 int2 __ovld __cnfn isnotequal(float2 x, float2 y);
   11590 int3 __ovld __cnfn isnotequal(float3 x, float3 y);
   11591 int4 __ovld __cnfn isnotequal(float4 x, float4 y);
   11592 int8 __ovld __cnfn isnotequal(float8 x, float8 y);
   11593 int16 __ovld __cnfn isnotequal(float16 x, float16 y);
   11594 #ifdef cl_khr_fp64
   11595 int __ovld __cnfn isnotequal(double x, double y);
   11596 long2 __ovld __cnfn isnotequal(double2 x, double2 y);
   11597 long3 __ovld __cnfn isnotequal(double3 x, double3 y);
   11598 long4 __ovld __cnfn isnotequal(double4 x, double4 y);
   11599 long8 __ovld __cnfn isnotequal(double8 x, double8 y);
   11600 long16 __ovld __cnfn isnotequal(double16 x, double16 y);
   11601 #endif //cl_khr_fp64
   11602 #ifdef cl_khr_fp16
   11603 int __ovld __cnfn isnotequal(half x, half y);
   11604 short2 __ovld __cnfn isnotequal(half2 x, half2 y);
   11605 short3 __ovld __cnfn isnotequal(half3 x, half3 y);
   11606 short4 __ovld __cnfn isnotequal(half4 x, half4 y);
   11607 short8 __ovld __cnfn isnotequal(half8 x, half8 y);
   11608 short16 __ovld __cnfn isnotequal(half16 x, half16 y);
   11609 #endif //cl_khr_fp16
   11610 
   11611 /**
   11612  * Returns the component-wise compare of x > y.
   11613  */
   11614 int __ovld __cnfn isgreater(float x, float y);
   11615 int2 __ovld __cnfn isgreater(float2 x, float2 y);
   11616 int3 __ovld __cnfn isgreater(float3 x, float3 y);
   11617 int4 __ovld __cnfn isgreater(float4 x, float4 y);
   11618 int8 __ovld __cnfn isgreater(float8 x, float8 y);
   11619 int16 __ovld __cnfn isgreater(float16 x, float16 y);
   11620 #ifdef cl_khr_fp64
   11621 int __ovld __cnfn isgreater(double x, double y);
   11622 long2 __ovld __cnfn isgreater(double2 x, double2 y);
   11623 long3 __ovld __cnfn isgreater(double3 x, double3 y);
   11624 long4 __ovld __cnfn isgreater(double4 x, double4 y);
   11625 long8 __ovld __cnfn isgreater(double8 x, double8 y);
   11626 long16 __ovld __cnfn isgreater(double16 x, double16 y);
   11627 #endif //cl_khr_fp64
   11628 #ifdef cl_khr_fp16
   11629 int __ovld __cnfn isgreater(half x, half y);
   11630 short2 __ovld __cnfn isgreater(half2 x, half2 y);
   11631 short3 __ovld __cnfn isgreater(half3 x, half3 y);
   11632 short4 __ovld __cnfn isgreater(half4 x, half4 y);
   11633 short8 __ovld __cnfn isgreater(half8 x, half8 y);
   11634 short16 __ovld __cnfn isgreater(half16 x, half16 y);
   11635 #endif //cl_khr_fp16
   11636 
   11637 /**
   11638  * Returns the component-wise compare of x >= y.
   11639  */
   11640 int __ovld __cnfn isgreaterequal(float x, float y);
   11641 int2 __ovld __cnfn isgreaterequal(float2 x, float2 y);
   11642 int3 __ovld __cnfn isgreaterequal(float3 x, float3 y);
   11643 int4 __ovld __cnfn isgreaterequal(float4 x, float4 y);
   11644 int8 __ovld __cnfn isgreaterequal(float8 x, float8 y);
   11645 int16 __ovld __cnfn isgreaterequal(float16 x, float16 y);
   11646 #ifdef cl_khr_fp64
   11647 int __ovld __cnfn isgreaterequal(double x, double y);
   11648 long2 __ovld __cnfn isgreaterequal(double2 x, double2 y);
   11649 long3 __ovld __cnfn isgreaterequal(double3 x, double3 y);
   11650 long4 __ovld __cnfn isgreaterequal(double4 x, double4 y);
   11651 long8 __ovld __cnfn isgreaterequal(double8 x, double8 y);
   11652 long16 __ovld __cnfn isgreaterequal(double16 x, double16 y);
   11653 #endif //cl_khr_fp64
   11654 #ifdef cl_khr_fp16
   11655 int __ovld __cnfn isgreaterequal(half x, half y);
   11656 short2 __ovld __cnfn isgreaterequal(half2 x, half2 y);
   11657 short3 __ovld __cnfn isgreaterequal(half3 x, half3 y);
   11658 short4 __ovld __cnfn isgreaterequal(half4 x, half4 y);
   11659 short8 __ovld __cnfn isgreaterequal(half8 x, half8 y);
   11660 short16 __ovld __cnfn isgreaterequal(half16 x, half16 y);
   11661 #endif //cl_khr_fp16
   11662 
   11663 /**
   11664  * Returns the component-wise compare of x < y.
   11665  */
   11666 int __ovld __cnfn isless(float x, float y);
   11667 int2 __ovld __cnfn isless(float2 x, float2 y);
   11668 int3 __ovld __cnfn isless(float3 x, float3 y);
   11669 int4 __ovld __cnfn isless(float4 x, float4 y);
   11670 int8 __ovld __cnfn isless(float8 x, float8 y);
   11671 int16 __ovld __cnfn isless(float16 x, float16 y);
   11672 #ifdef cl_khr_fp64
   11673 int __ovld __cnfn isless(double x, double y);
   11674 long2 __ovld __cnfn isless(double2 x, double2 y);
   11675 long3 __ovld __cnfn isless(double3 x, double3 y);
   11676 long4 __ovld __cnfn isless(double4 x, double4 y);
   11677 long8 __ovld __cnfn isless(double8 x, double8 y);
   11678 long16 __ovld __cnfn isless(double16 x, double16 y);
   11679 #endif //cl_khr_fp64
   11680 #ifdef cl_khr_fp16
   11681 int __ovld __cnfn isless(half x, half y);
   11682 short2 __ovld __cnfn isless(half2 x, half2 y);
   11683 short3 __ovld __cnfn isless(half3 x, half3 y);
   11684 short4 __ovld __cnfn isless(half4 x, half4 y);
   11685 short8 __ovld __cnfn isless(half8 x, half8 y);
   11686 short16 __ovld __cnfn isless(half16 x, half16 y);
   11687 #endif //cl_khr_fp16
   11688 
   11689 /**
   11690  * Returns the component-wise compare of x <= y.
   11691  */
   11692 int __ovld __cnfn islessequal(float x, float y);
   11693 int2 __ovld __cnfn islessequal(float2 x, float2 y);
   11694 int3 __ovld __cnfn islessequal(float3 x, float3 y);
   11695 int4 __ovld __cnfn islessequal(float4 x, float4 y);
   11696 int8 __ovld __cnfn islessequal(float8 x, float8 y);
   11697 int16 __ovld __cnfn islessequal(float16 x, float16 y);
   11698 #ifdef cl_khr_fp64
   11699 int __ovld __cnfn islessequal(double x, double y);
   11700 long2 __ovld __cnfn islessequal(double2 x, double2 y);
   11701 long3 __ovld __cnfn islessequal(double3 x, double3 y);
   11702 long4 __ovld __cnfn islessequal(double4 x, double4 y);
   11703 long8 __ovld __cnfn islessequal(double8 x, double8 y);
   11704 long16 __ovld __cnfn islessequal(double16 x, double16 y);
   11705 #endif //cl_khr_fp64
   11706 #ifdef cl_khr_fp16
   11707 int __ovld __cnfn islessequal(half x, half y);
   11708 short2 __ovld __cnfn islessequal(half2 x, half2 y);
   11709 short3 __ovld __cnfn islessequal(half3 x, half3 y);
   11710 short4 __ovld __cnfn islessequal(half4 x, half4 y);
   11711 short8 __ovld __cnfn islessequal(half8 x, half8 y);
   11712 short16 __ovld __cnfn islessequal(half16 x, half16 y);
   11713 #endif //cl_khr_fp16
   11714 
   11715 /**
   11716  * Returns the component-wise compare of
   11717  * (x < y) || (x > y) .
   11718  */
   11719 int __ovld __cnfn islessgreater(float x, float y);
   11720 int2 __ovld __cnfn islessgreater(float2 x, float2 y);
   11721 int3 __ovld __cnfn islessgreater(float3 x, float3 y);
   11722 int4 __ovld __cnfn islessgreater(float4 x, float4 y);
   11723 int8 __ovld __cnfn islessgreater(float8 x, float8 y);
   11724 int16 __ovld __cnfn islessgreater(float16 x, float16 y);
   11725 #ifdef cl_khr_fp64
   11726 int __ovld __cnfn islessgreater(double x, double y);
   11727 long2 __ovld __cnfn islessgreater(double2 x, double2 y);
   11728 long3 __ovld __cnfn islessgreater(double3 x, double3 y);
   11729 long4 __ovld __cnfn islessgreater(double4 x, double4 y);
   11730 long8 __ovld __cnfn islessgreater(double8 x, double8 y);
   11731 long16 __ovld __cnfn islessgreater(double16 x, double16 y);
   11732 #endif //cl_khr_fp64
   11733 #ifdef cl_khr_fp16
   11734 int __ovld __cnfn islessgreater(half x, half y);
   11735 short2 __ovld __cnfn islessgreater(half2 x, half2 y);
   11736 short3 __ovld __cnfn islessgreater(half3 x, half3 y);
   11737 short4 __ovld __cnfn islessgreater(half4 x, half4 y);
   11738 short8 __ovld __cnfn islessgreater(half8 x, half8 y);
   11739 short16 __ovld __cnfn islessgreater(half16 x, half16 y);
   11740 #endif //cl_khr_fp16
   11741 
   11742 /**
   11743  * Test for finite value.
   11744  */
   11745 int __ovld __cnfn isfinite(float);
   11746 int2 __ovld __cnfn isfinite(float2);
   11747 int3 __ovld __cnfn isfinite(float3);
   11748 int4 __ovld __cnfn isfinite(float4);
   11749 int8 __ovld __cnfn isfinite(float8);
   11750 int16 __ovld __cnfn isfinite(float16);
   11751 #ifdef cl_khr_fp64
   11752 int __ovld __cnfn isfinite(double);
   11753 long2 __ovld __cnfn isfinite(double2);
   11754 long3 __ovld __cnfn isfinite(double3);
   11755 long4 __ovld __cnfn isfinite(double4);
   11756 long8 __ovld __cnfn isfinite(double8);
   11757 long16 __ovld __cnfn isfinite(double16);
   11758 #endif //cl_khr_fp64
   11759 #ifdef cl_khr_fp16
   11760 int __ovld __cnfn isfinite(half);
   11761 short2 __ovld __cnfn isfinite(half2);
   11762 short3 __ovld __cnfn isfinite(half3);
   11763 short4 __ovld __cnfn isfinite(half4);
   11764 short8 __ovld __cnfn isfinite(half8);
   11765 short16 __ovld __cnfn isfinite(half16);
   11766 #endif //cl_khr_fp16
   11767 
   11768 /**
   11769  * Test for infinity value (+ve or -ve) .
   11770  */
   11771 int __ovld __cnfn isinf(float);
   11772 int2 __ovld __cnfn isinf(float2);
   11773 int3 __ovld __cnfn isinf(float3);
   11774 int4 __ovld __cnfn isinf(float4);
   11775 int8 __ovld __cnfn isinf(float8);
   11776 int16 __ovld __cnfn isinf(float16);
   11777 #ifdef cl_khr_fp64
   11778 int __ovld __cnfn isinf(double);
   11779 long2 __ovld __cnfn isinf(double2);
   11780 long3 __ovld __cnfn isinf(double3);
   11781 long4 __ovld __cnfn isinf(double4);
   11782 long8 __ovld __cnfn isinf(double8);
   11783 long16 __ovld __cnfn isinf(double16);
   11784 #endif //cl_khr_fp64
   11785 #ifdef cl_khr_fp16
   11786 int __ovld __cnfn isinf(half);
   11787 short2 __ovld __cnfn isinf(half2);
   11788 short3 __ovld __cnfn isinf(half3);
   11789 short4 __ovld __cnfn isinf(half4);
   11790 short8 __ovld __cnfn isinf(half8);
   11791 short16 __ovld __cnfn isinf(half16);
   11792 #endif //cl_khr_fp16
   11793 
   11794 /**
   11795  * Test for a NaN.
   11796  */
   11797 int __ovld __cnfn isnan(float);
   11798 int2 __ovld __cnfn isnan(float2);
   11799 int3 __ovld __cnfn isnan(float3);
   11800 int4 __ovld __cnfn isnan(float4);
   11801 int8 __ovld __cnfn isnan(float8);
   11802 int16 __ovld __cnfn isnan(float16);
   11803 #ifdef cl_khr_fp64
   11804 int __ovld __cnfn isnan(double);
   11805 long2 __ovld __cnfn isnan(double2);
   11806 long3 __ovld __cnfn isnan(double3);
   11807 long4 __ovld __cnfn isnan(double4);
   11808 long8 __ovld __cnfn isnan(double8);
   11809 long16 __ovld __cnfn isnan(double16);
   11810 #endif //cl_khr_fp64
   11811 #ifdef cl_khr_fp16
   11812 int __ovld __cnfn isnan(half);
   11813 short2 __ovld __cnfn isnan(half2);
   11814 short3 __ovld __cnfn isnan(half3);
   11815 short4 __ovld __cnfn isnan(half4);
   11816 short8 __ovld __cnfn isnan(half8);
   11817 short16 __ovld __cnfn isnan(half16);
   11818 #endif //cl_khr_fp16
   11819 
   11820 /**
   11821  * Test for a normal value.
   11822  */
   11823 int __ovld __cnfn isnormal(float);
   11824 int2 __ovld __cnfn isnormal(float2);
   11825 int3 __ovld __cnfn isnormal(float3);
   11826 int4 __ovld __cnfn isnormal(float4);
   11827 int8 __ovld __cnfn isnormal(float8);
   11828 int16 __ovld __cnfn isnormal(float16);
   11829 #ifdef cl_khr_fp64
   11830 int __ovld __cnfn isnormal(double);
   11831 long2 __ovld __cnfn isnormal(double2);
   11832 long3 __ovld __cnfn isnormal(double3);
   11833 long4 __ovld __cnfn isnormal(double4);
   11834 long8 __ovld __cnfn isnormal(double8);
   11835 long16 __ovld __cnfn isnormal(double16);
   11836 #endif //cl_khr_fp64
   11837 #ifdef cl_khr_fp16
   11838 int __ovld __cnfn isnormal(half);
   11839 short2 __ovld __cnfn isnormal(half2);
   11840 short3 __ovld __cnfn isnormal(half3);
   11841 short4 __ovld __cnfn isnormal(half4);
   11842 short8 __ovld __cnfn isnormal(half8);
   11843 short16 __ovld __cnfn isnormal(half16);
   11844 #endif //cl_khr_fp16
   11845 
   11846 /**
   11847  * Test if arguments are ordered. isordered() takes
   11848  * arguments x and y, and returns the result
   11849  * isequal(x, x) && isequal(y, y).
   11850  */
   11851 int __ovld __cnfn isordered(float x, float y);
   11852 int2 __ovld __cnfn isordered(float2 x, float2 y);
   11853 int3 __ovld __cnfn isordered(float3 x, float3 y);
   11854 int4 __ovld __cnfn isordered(float4 x, float4 y);
   11855 int8 __ovld __cnfn isordered(float8 x, float8 y);
   11856 int16 __ovld __cnfn isordered(float16 x, float16 y);
   11857 #ifdef cl_khr_fp64
   11858 int __ovld __cnfn isordered(double x, double y);
   11859 long2 __ovld __cnfn isordered(double2 x, double2 y);
   11860 long3 __ovld __cnfn isordered(double3 x, double3 y);
   11861 long4 __ovld __cnfn isordered(double4 x, double4 y);
   11862 long8 __ovld __cnfn isordered(double8 x, double8 y);
   11863 long16 __ovld __cnfn isordered(double16 x, double16 y);
   11864 #endif //cl_khr_fp64
   11865 #ifdef cl_khr_fp16
   11866 int __ovld __cnfn isordered(half x, half y);
   11867 short2 __ovld __cnfn isordered(half2 x, half2 y);
   11868 short3 __ovld __cnfn isordered(half3 x, half3 y);
   11869 short4 __ovld __cnfn isordered(half4 x, half4 y);
   11870 short8 __ovld __cnfn isordered(half8 x, half8 y);
   11871 short16 __ovld __cnfn isordered(half16 x, half16 y);
   11872 #endif //cl_khr_fp16
   11873 
   11874 /**
   11875  * Test if arguments are unordered. isunordered()
   11876  * takes arguments x and y, returning non-zero if x or y
   11877  * is NaN, and zero otherwise.
   11878  */
   11879 int __ovld __cnfn isunordered(float x, float y);
   11880 int2 __ovld __cnfn isunordered(float2 x, float2 y);
   11881 int3 __ovld __cnfn isunordered(float3 x, float3 y);
   11882 int4 __ovld __cnfn isunordered(float4 x, float4 y);
   11883 int8 __ovld __cnfn isunordered(float8 x, float8 y);
   11884 int16 __ovld __cnfn isunordered(float16 x, float16 y);
   11885 #ifdef cl_khr_fp64
   11886 int __ovld __cnfn isunordered(double x, double y);
   11887 long2 __ovld __cnfn isunordered(double2 x, double2 y);
   11888 long3 __ovld __cnfn isunordered(double3 x, double3 y);
   11889 long4 __ovld __cnfn isunordered(double4 x, double4 y);
   11890 long8 __ovld __cnfn isunordered(double8 x, double8 y);
   11891 long16 __ovld __cnfn isunordered(double16 x, double16 y);
   11892 #endif //cl_khr_fp64
   11893 #ifdef cl_khr_fp16
   11894 int __ovld __cnfn isunordered(half x, half y);
   11895 short2 __ovld __cnfn isunordered(half2 x, half2 y);
   11896 short3 __ovld __cnfn isunordered(half3 x, half3 y);
   11897 short4 __ovld __cnfn isunordered(half4 x, half4 y);
   11898 short8 __ovld __cnfn isunordered(half8 x, half8 y);
   11899 short16 __ovld __cnfn isunordered(half16 x, half16 y);
   11900 #endif //cl_khr_fp16
   11901 
   11902 /**
   11903  * Test for sign bit. The scalar version of the function
   11904  * returns a 1 if the sign bit in the float is set else returns
   11905  * 0. The vector version of the function returns the
   11906  * following for each component in floatn: a -1 if the
   11907  * sign bit in the float is set else returns 0.
   11908  */
   11909 int __ovld __cnfn signbit(float);
   11910 int2 __ovld __cnfn signbit(float2);
   11911 int3 __ovld __cnfn signbit(float3);
   11912 int4 __ovld __cnfn signbit(float4);
   11913 int8 __ovld __cnfn signbit(float8);
   11914 int16 __ovld __cnfn signbit(float16);
   11915 #ifdef cl_khr_fp64
   11916 int __ovld __cnfn signbit(double);
   11917 long2 __ovld __cnfn signbit(double2);
   11918 long3 __ovld __cnfn signbit(double3);
   11919 long4 __ovld __cnfn signbit(double4);
   11920 long8 __ovld __cnfn signbit(double8);
   11921 long16 __ovld __cnfn signbit(double16);
   11922 #endif //cl_khr_fp64
   11923 #ifdef cl_khr_fp16
   11924 int __ovld __cnfn signbit(half);
   11925 short2 __ovld __cnfn signbit(half2);
   11926 short3 __ovld __cnfn signbit(half3);
   11927 short4 __ovld __cnfn signbit(half4);
   11928 short8 __ovld __cnfn signbit(half8);
   11929 short16 __ovld __cnfn signbit(half16);
   11930 #endif //cl_khr_fp16
   11931 
   11932 /**
   11933  * Returns 1 if the most significant bit in any component
   11934  * of x is set; otherwise returns 0.
   11935  */
   11936 int __ovld __cnfn any(char x);
   11937 int __ovld __cnfn any(char2 x);
   11938 int __ovld __cnfn any(char3 x);
   11939 int __ovld __cnfn any(char4 x);
   11940 int __ovld __cnfn any(char8 x);
   11941 int __ovld __cnfn any(char16 x);
   11942 int __ovld __cnfn any(short x);
   11943 int __ovld __cnfn any(short2 x);
   11944 int __ovld __cnfn any(short3 x);
   11945 int __ovld __cnfn any(short4 x);
   11946 int __ovld __cnfn any(short8 x);
   11947 int __ovld __cnfn any(short16 x);
   11948 int __ovld __cnfn any(int x);
   11949 int __ovld __cnfn any(int2 x);
   11950 int __ovld __cnfn any(int3 x);
   11951 int __ovld __cnfn any(int4 x);
   11952 int __ovld __cnfn any(int8 x);
   11953 int __ovld __cnfn any(int16 x);
   11954 int __ovld __cnfn any(long x);
   11955 int __ovld __cnfn any(long2 x);
   11956 int __ovld __cnfn any(long3 x);
   11957 int __ovld __cnfn any(long4 x);
   11958 int __ovld __cnfn any(long8 x);
   11959 int __ovld __cnfn any(long16 x);
   11960 
   11961 /**
   11962  * Returns 1 if the most significant bit in all components
   11963  * of x is set; otherwise returns 0.
   11964  */
   11965 int __ovld __cnfn all(char x);
   11966 int __ovld __cnfn all(char2 x);
   11967 int __ovld __cnfn all(char3 x);
   11968 int __ovld __cnfn all(char4 x);
   11969 int __ovld __cnfn all(char8 x);
   11970 int __ovld __cnfn all(char16 x);
   11971 int __ovld __cnfn all(short x);
   11972 int __ovld __cnfn all(short2 x);
   11973 int __ovld __cnfn all(short3 x);
   11974 int __ovld __cnfn all(short4 x);
   11975 int __ovld __cnfn all(short8 x);
   11976 int __ovld __cnfn all(short16 x);
   11977 int __ovld __cnfn all(int x);
   11978 int __ovld __cnfn all(int2 x);
   11979 int __ovld __cnfn all(int3 x);
   11980 int __ovld __cnfn all(int4 x);
   11981 int __ovld __cnfn all(int8 x);
   11982 int __ovld __cnfn all(int16 x);
   11983 int __ovld __cnfn all(long x);
   11984 int __ovld __cnfn all(long2 x);
   11985 int __ovld __cnfn all(long3 x);
   11986 int __ovld __cnfn all(long4 x);
   11987 int __ovld __cnfn all(long8 x);
   11988 int __ovld __cnfn all(long16 x);
   11989 
   11990 /**
   11991  * Each bit of the result is the corresponding bit of a if
   11992  * the corresponding bit of c is 0. Otherwise it is the
   11993  * corresponding bit of b.
   11994  */
   11995 char __ovld __cnfn bitselect(char a, char b, char c);
   11996 uchar __ovld __cnfn bitselect(uchar a, uchar b, uchar c);
   11997 char2 __ovld __cnfn bitselect(char2 a, char2 b, char2 c);
   11998 uchar2 __ovld __cnfn bitselect(uchar2 a, uchar2 b, uchar2 c);
   11999 char3 __ovld __cnfn bitselect(char3 a, char3 b, char3 c);
   12000 uchar3 __ovld __cnfn bitselect(uchar3 a, uchar3 b, uchar3 c);
   12001 char4 __ovld __cnfn bitselect(char4 a, char4 b, char4 c);
   12002 uchar4 __ovld __cnfn bitselect(uchar4 a, uchar4 b, uchar4 c);
   12003 char8 __ovld __cnfn bitselect(char8 a, char8 b, char8 c);
   12004 uchar8 __ovld __cnfn bitselect(uchar8 a, uchar8 b, uchar8 c);
   12005 char16 __ovld __cnfn bitselect(char16 a, char16 b, char16 c);
   12006 uchar16 __ovld __cnfn bitselect(uchar16 a, uchar16 b, uchar16 c);
   12007 short __ovld __cnfn bitselect(short a, short b, short c);
   12008 ushort __ovld __cnfn bitselect(ushort a, ushort b, ushort c);
   12009 short2 __ovld __cnfn bitselect(short2 a, short2 b, short2 c);
   12010 ushort2 __ovld __cnfn bitselect(ushort2 a, ushort2 b, ushort2 c);
   12011 short3 __ovld __cnfn bitselect(short3 a, short3 b, short3 c);
   12012 ushort3 __ovld __cnfn bitselect(ushort3 a, ushort3 b, ushort3 c);
   12013 short4 __ovld __cnfn bitselect(short4 a, short4 b, short4 c);
   12014 ushort4 __ovld __cnfn bitselect(ushort4 a, ushort4 b, ushort4 c);
   12015 short8 __ovld __cnfn bitselect(short8 a, short8 b, short8 c);
   12016 ushort8 __ovld __cnfn bitselect(ushort8 a, ushort8 b, ushort8 c);
   12017 short16 __ovld __cnfn bitselect(short16 a, short16 b, short16 c);
   12018 ushort16 __ovld __cnfn bitselect(ushort16 a, ushort16 b, ushort16 c);
   12019 int __ovld __cnfn bitselect(int a, int b, int c);
   12020 uint __ovld __cnfn bitselect(uint a, uint b, uint c);
   12021 int2 __ovld __cnfn bitselect(int2 a, int2 b, int2 c);
   12022 uint2 __ovld __cnfn bitselect(uint2 a, uint2 b, uint2 c);
   12023 int3 __ovld __cnfn bitselect(int3 a, int3 b, int3 c);
   12024 uint3 __ovld __cnfn bitselect(uint3 a, uint3 b, uint3 c);
   12025 int4 __ovld __cnfn bitselect(int4 a, int4 b, int4 c);
   12026 uint4 __ovld __cnfn bitselect(uint4 a, uint4 b, uint4 c);
   12027 int8 __ovld __cnfn bitselect(int8 a, int8 b, int8 c);
   12028 uint8 __ovld __cnfn bitselect(uint8 a, uint8 b, uint8 c);
   12029 int16 __ovld __cnfn bitselect(int16 a, int16 b, int16 c);
   12030 uint16 __ovld __cnfn bitselect(uint16 a, uint16 b, uint16 c);
   12031 long __ovld __cnfn bitselect(long a, long b, long c);
   12032 ulong __ovld __cnfn bitselect(ulong a, ulong b, ulong c);
   12033 long2 __ovld __cnfn bitselect(long2 a, long2 b, long2 c);
   12034 ulong2 __ovld __cnfn bitselect(ulong2 a, ulong2 b, ulong2 c);
   12035 long3 __ovld __cnfn bitselect(long3 a, long3 b, long3 c);
   12036 ulong3 __ovld __cnfn bitselect(ulong3 a, ulong3 b, ulong3 c);
   12037 long4 __ovld __cnfn bitselect(long4 a, long4 b, long4 c);
   12038 ulong4 __ovld __cnfn bitselect(ulong4 a, ulong4 b, ulong4 c);
   12039 long8 __ovld __cnfn bitselect(long8 a, long8 b, long8 c);
   12040 ulong8 __ovld __cnfn bitselect(ulong8 a, ulong8 b, ulong8 c);
   12041 long16 __ovld __cnfn bitselect(long16 a, long16 b, long16 c);
   12042 ulong16 __ovld __cnfn bitselect(ulong16 a, ulong16 b, ulong16 c);
   12043 float __ovld __cnfn bitselect(float a, float b, float c);
   12044 float2 __ovld __cnfn bitselect(float2 a, float2 b, float2 c);
   12045 float3 __ovld __cnfn bitselect(float3 a, float3 b, float3 c);
   12046 float4 __ovld __cnfn bitselect(float4 a, float4 b, float4 c);
   12047 float8 __ovld __cnfn bitselect(float8 a, float8 b, float8 c);
   12048 float16 __ovld __cnfn bitselect(float16 a, float16 b, float16 c);
   12049 #ifdef cl_khr_fp64
   12050 double __ovld __cnfn bitselect(double a, double b, double c);
   12051 double2 __ovld __cnfn bitselect(double2 a, double2 b, double2 c);
   12052 double3 __ovld __cnfn bitselect(double3 a, double3 b, double3 c);
   12053 double4 __ovld __cnfn bitselect(double4 a, double4 b, double4 c);
   12054 double8 __ovld __cnfn bitselect(double8 a, double8 b, double8 c);
   12055 double16 __ovld __cnfn bitselect(double16 a, double16 b, double16 c);
   12056 #endif //cl_khr_fp64
   12057 #ifdef cl_khr_fp16
   12058 half __ovld __cnfn bitselect(half a, half b, half c);
   12059 half2 __ovld __cnfn bitselect(half2 a, half2 b, half2 c);
   12060 half3 __ovld __cnfn bitselect(half3 a, half3 b, half3 c);
   12061 half4 __ovld __cnfn bitselect(half4 a, half4 b, half4 c);
   12062 half8 __ovld __cnfn bitselect(half8 a, half8 b, half8 c);
   12063 half16 __ovld __cnfn bitselect(half16 a, half16 b, half16 c);
   12064 #endif //cl_khr_fp16
   12065 
   12066 /**
   12067  * For each component of a vector type,
   12068  * result[i] = if MSB of c[i] is set ? b[i] : a[i].
   12069  * For a scalar type, result = c ? b : a.
   12070  */
   12071 char __ovld __cnfn select(char a, char b, char c);
   12072 uchar __ovld __cnfn select(uchar a, uchar b, char c);
   12073 char2 __ovld __cnfn select(char2 a, char2 b, char2 c);
   12074 uchar2 __ovld __cnfn select(uchar2 a, uchar2 b, char2 c);
   12075 char3 __ovld __cnfn select(char3 a, char3 b, char3 c);
   12076 uchar3 __ovld __cnfn select(uchar3 a, uchar3 b, char3 c);
   12077 char4 __ovld __cnfn select(char4 a, char4 b, char4 c);
   12078 uchar4 __ovld __cnfn select(uchar4 a, uchar4 b, char4 c);
   12079 char8 __ovld __cnfn select(char8 a, char8 b, char8 c);
   12080 uchar8 __ovld __cnfn select(uchar8 a, uchar8 b, char8 c);
   12081 char16 __ovld __cnfn select(char16 a, char16 b, char16 c);
   12082 uchar16 __ovld __cnfn select(uchar16 a, uchar16 b, char16 c);
   12083 short __ovld __cnfn select(short a, short b, char c);
   12084 ushort __ovld __cnfn select(ushort a, ushort b, char c);
   12085 short2 __ovld __cnfn select(short2 a, short2 b, char2 c);
   12086 ushort2 __ovld __cnfn select(ushort2 a, ushort2 b, char2 c);
   12087 short3 __ovld __cnfn select(short3 a, short3 b, char3 c);
   12088 ushort3 __ovld __cnfn select(ushort3 a, ushort3 b, char3 c);
   12089 short4 __ovld __cnfn select(short4 a, short4 b, char4 c);
   12090 ushort4 __ovld __cnfn select(ushort4 a, ushort4 b, char4 c);
   12091 short8 __ovld __cnfn select(short8 a, short8 b, char8 c);
   12092 ushort8 __ovld __cnfn select(ushort8 a, ushort8 b, char8 c);
   12093 short16 __ovld __cnfn select(short16 a, short16 b, char16 c);
   12094 ushort16 __ovld __cnfn select(ushort16 a, ushort16 b, char16 c);
   12095 int __ovld __cnfn select(int a, int b, char c);
   12096 uint __ovld __cnfn select(uint a, uint b, char c);
   12097 int2 __ovld __cnfn select(int2 a, int2 b, char2 c);
   12098 uint2 __ovld __cnfn select(uint2 a, uint2 b, char2 c);
   12099 int3 __ovld __cnfn select(int3 a, int3 b, char3 c);
   12100 uint3 __ovld __cnfn select(uint3 a, uint3 b, char3 c);
   12101 int4 __ovld __cnfn select(int4 a, int4 b, char4 c);
   12102 uint4 __ovld __cnfn select(uint4 a, uint4 b, char4 c);
   12103 int8 __ovld __cnfn select(int8 a, int8 b, char8 c);
   12104 uint8 __ovld __cnfn select(uint8 a, uint8 b, char8 c);
   12105 int16 __ovld __cnfn select(int16 a, int16 b, char16 c);
   12106 uint16 __ovld __cnfn select(uint16 a, uint16 b, char16 c);
   12107 long __ovld __cnfn select(long a, long b, char c);
   12108 ulong __ovld __cnfn select(ulong a, ulong b, char c);
   12109 long2 __ovld __cnfn select(long2 a, long2 b, char2 c);
   12110 ulong2 __ovld __cnfn select(ulong2 a, ulong2 b, char2 c);
   12111 long3 __ovld __cnfn select(long3 a, long3 b, char3 c);
   12112 ulong3 __ovld __cnfn select(ulong3 a, ulong3 b, char3 c);
   12113 long4 __ovld __cnfn select(long4 a, long4 b, char4 c);
   12114 ulong4 __ovld __cnfn select(ulong4 a, ulong4 b, char4 c);
   12115 long8 __ovld __cnfn select(long8 a, long8 b, char8 c);
   12116 ulong8 __ovld __cnfn select(ulong8 a, ulong8 b, char8 c);
   12117 long16 __ovld __cnfn select(long16 a, long16 b, char16 c);
   12118 ulong16 __ovld __cnfn select(ulong16 a, ulong16 b, char16 c);
   12119 float __ovld __cnfn select(float a, float b, char c);
   12120 float2 __ovld __cnfn select(float2 a, float2 b, char2 c);
   12121 float3 __ovld __cnfn select(float3 a, float3 b, char3 c);
   12122 float4 __ovld __cnfn select(float4 a, float4 b, char4 c);
   12123 float8 __ovld __cnfn select(float8 a, float8 b, char8 c);
   12124 float16 __ovld __cnfn select(float16 a, float16 b, char16 c);
   12125 char __ovld __cnfn select(char a, char b, short c);
   12126 uchar __ovld __cnfn select(uchar a, uchar b, short c);
   12127 char2 __ovld __cnfn select(char2 a, char2 b, short2 c);
   12128 uchar2 __ovld __cnfn select(uchar2 a, uchar2 b, short2 c);
   12129 char3 __ovld __cnfn select(char3 a, char3 b, short3 c);
   12130 uchar3 __ovld __cnfn select(uchar3 a, uchar3 b, short3 c);
   12131 char4 __ovld __cnfn select(char4 a, char4 b, short4 c);
   12132 uchar4 __ovld __cnfn select(uchar4 a, uchar4 b, short4 c);
   12133 char8 __ovld __cnfn select(char8 a, char8 b, short8 c);
   12134 uchar8 __ovld __cnfn select(uchar8 a, uchar8 b, short8 c);
   12135 char16 __ovld __cnfn select(char16 a, char16 b, short16 c);
   12136 uchar16 __ovld __cnfn select(uchar16 a, uchar16 b, short16 c);
   12137 short __ovld __cnfn select(short a, short b, short c);
   12138 ushort __ovld __cnfn select(ushort a, ushort b, short c);
   12139 short2 __ovld __cnfn select(short2 a, short2 b, short2 c);
   12140 ushort2 __ovld __cnfn select(ushort2 a, ushort2 b, short2 c);
   12141 short3 __ovld __cnfn select(short3 a, short3 b, short3 c);
   12142 ushort3 __ovld __cnfn select(ushort3 a, ushort3 b, short3 c);
   12143 short4 __ovld __cnfn select(short4 a, short4 b, short4 c);
   12144 ushort4 __ovld __cnfn select(ushort4 a, ushort4 b, short4 c);
   12145 short8 __ovld __cnfn select(short8 a, short8 b, short8 c);
   12146 ushort8 __ovld __cnfn select(ushort8 a, ushort8 b, short8 c);
   12147 short16 __ovld __cnfn select(short16 a, short16 b, short16 c);
   12148 ushort16 __ovld __cnfn select(ushort16 a, ushort16 b, short16 c);
   12149 int __ovld __cnfn select(int a, int b, short c);
   12150 uint __ovld __cnfn select(uint a, uint b, short c);
   12151 int2 __ovld __cnfn select(int2 a, int2 b, short2 c);
   12152 uint2 __ovld __cnfn select(uint2 a, uint2 b, short2 c);
   12153 int3 __ovld __cnfn select(int3 a, int3 b, short3 c);
   12154 uint3 __ovld __cnfn select(uint3 a, uint3 b, short3 c);
   12155 int4 __ovld __cnfn select(int4 a, int4 b, short4 c);
   12156 uint4 __ovld __cnfn select(uint4 a, uint4 b, short4 c);
   12157 int8 __ovld __cnfn select(int8 a, int8 b, short8 c);
   12158 uint8 __ovld __cnfn select(uint8 a, uint8 b, short8 c);
   12159 int16 __ovld __cnfn select(int16 a, int16 b, short16 c);
   12160 uint16 __ovld __cnfn select(uint16 a, uint16 b, short16 c);
   12161 long __ovld __cnfn select(long a, long b, short c);
   12162 ulong __ovld __cnfn select(ulong a, ulong b, short c);
   12163 long2 __ovld __cnfn select(long2 a, long2 b, short2 c);
   12164 ulong2 __ovld __cnfn select(ulong2 a, ulong2 b, short2 c);
   12165 long3 __ovld __cnfn select(long3 a, long3 b, short3 c);
   12166 ulong3 __ovld __cnfn select(ulong3 a, ulong3 b, short3 c);
   12167 long4 __ovld __cnfn select(long4 a, long4 b, short4 c);
   12168 ulong4 __ovld __cnfn select(ulong4 a, ulong4 b, short4 c);
   12169 long8 __ovld __cnfn select(long8 a, long8 b, short8 c);
   12170 ulong8 __ovld __cnfn select(ulong8 a, ulong8 b, short8 c);
   12171 long16 __ovld __cnfn select(long16 a, long16 b, short16 c);
   12172 ulong16 __ovld __cnfn select(ulong16 a, ulong16 b, short16 c);
   12173 float __ovld __cnfn select(float a, float b, short c);
   12174 float2 __ovld __cnfn select(float2 a, float2 b, short2 c);
   12175 float3 __ovld __cnfn select(float3 a, float3 b, short3 c);
   12176 float4 __ovld __cnfn select(float4 a, float4 b, short4 c);
   12177 float8 __ovld __cnfn select(float8 a, float8 b, short8 c);
   12178 float16 __ovld __cnfn select(float16 a, float16 b, short16 c);
   12179 char __ovld __cnfn select(char a, char b, int c);
   12180 uchar __ovld __cnfn select(uchar a, uchar b, int c);
   12181 char2 __ovld __cnfn select(char2 a, char2 b, int2 c);
   12182 uchar2 __ovld __cnfn select(uchar2 a, uchar2 b, int2 c);
   12183 char3 __ovld __cnfn select(char3 a, char3 b, int3 c);
   12184 uchar3 __ovld __cnfn select(uchar3 a, uchar3 b, int3 c);
   12185 char4 __ovld __cnfn select(char4 a, char4 b, int4 c);
   12186 uchar4 __ovld __cnfn select(uchar4 a, uchar4 b, int4 c);
   12187 char8 __ovld __cnfn select(char8 a, char8 b, int8 c);
   12188 uchar8 __ovld __cnfn select(uchar8 a, uchar8 b, int8 c);
   12189 char16 __ovld __cnfn select(char16 a, char16 b, int16 c);
   12190 uchar16 __ovld __cnfn select(uchar16 a, uchar16 b, int16 c);
   12191 short __ovld __cnfn select(short a, short b, int c);
   12192 ushort __ovld __cnfn select(ushort a, ushort b, int c);
   12193 short2 __ovld __cnfn select(short2 a, short2 b, int2 c);
   12194 ushort2 __ovld __cnfn select(ushort2 a, ushort2 b, int2 c);
   12195 short3 __ovld __cnfn select(short3 a, short3 b, int3 c);
   12196 ushort3 __ovld __cnfn select(ushort3 a, ushort3 b, int3 c);
   12197 short4 __ovld __cnfn select(short4 a, short4 b, int4 c);
   12198 ushort4 __ovld __cnfn select(ushort4 a, ushort4 b, int4 c);
   12199 short8 __ovld __cnfn select(short8 a, short8 b, int8 c);
   12200 ushort8 __ovld __cnfn select(ushort8 a, ushort8 b, int8 c);
   12201 short16 __ovld __cnfn select(short16 a, short16 b, int16 c);
   12202 ushort16 __ovld __cnfn select(ushort16 a, ushort16 b, int16 c);
   12203 int __ovld __cnfn select(int a, int b, int c);
   12204 uint __ovld __cnfn select(uint a, uint b, int c);
   12205 int2 __ovld __cnfn select(int2 a, int2 b, int2 c);
   12206 uint2 __ovld __cnfn select(uint2 a, uint2 b, int2 c);
   12207 int3 __ovld __cnfn select(int3 a, int3 b, int3 c);
   12208 uint3 __ovld __cnfn select(uint3 a, uint3 b, int3 c);
   12209 int4 __ovld __cnfn select(int4 a, int4 b, int4 c);
   12210 uint4 __ovld __cnfn select(uint4 a, uint4 b, int4 c);
   12211 int8 __ovld __cnfn select(int8 a, int8 b, int8 c);
   12212 uint8 __ovld __cnfn select(uint8 a, uint8 b, int8 c);
   12213 int16 __ovld __cnfn select(int16 a, int16 b, int16 c);
   12214 uint16 __ovld __cnfn select(uint16 a, uint16 b, int16 c);
   12215 long __ovld __cnfn select(long a, long b, int c);
   12216 ulong __ovld __cnfn select(ulong a, ulong b, int c);
   12217 long2 __ovld __cnfn select(long2 a, long2 b, int2 c);
   12218 ulong2 __ovld __cnfn select(ulong2 a, ulong2 b, int2 c);
   12219 long3 __ovld __cnfn select(long3 a, long3 b, int3 c);
   12220 ulong3 __ovld __cnfn select(ulong3 a, ulong3 b, int3 c);
   12221 long4 __ovld __cnfn select(long4 a, long4 b, int4 c);
   12222 ulong4 __ovld __cnfn select(ulong4 a, ulong4 b, int4 c);
   12223 long8 __ovld __cnfn select(long8 a, long8 b, int8 c);
   12224 ulong8 __ovld __cnfn select(ulong8 a, ulong8 b, int8 c);
   12225 long16 __ovld __cnfn select(long16 a, long16 b, int16 c);
   12226 ulong16 __ovld __cnfn select(ulong16 a, ulong16 b, int16 c);
   12227 float __ovld __cnfn select(float a, float b, int c);
   12228 float2 __ovld __cnfn select(float2 a, float2 b, int2 c);
   12229 float3 __ovld __cnfn select(float3 a, float3 b, int3 c);
   12230 float4 __ovld __cnfn select(float4 a, float4 b, int4 c);
   12231 float8 __ovld __cnfn select(float8 a, float8 b, int8 c);
   12232 float16 __ovld __cnfn select(float16 a, float16 b, int16 c);
   12233 char __ovld __cnfn select(char a, char b, long c);
   12234 uchar __ovld __cnfn select(uchar a, uchar b, long c);
   12235 char2 __ovld __cnfn select(char2 a, char2 b, long2 c);
   12236 uchar2 __ovld __cnfn select(uchar2 a, uchar2 b, long2 c);
   12237 char3 __ovld __cnfn select(char3 a, char3 b, long3 c);
   12238 uchar3 __ovld __cnfn select(uchar3 a, uchar3 b, long3 c);
   12239 char4 __ovld __cnfn select(char4 a, char4 b, long4 c);
   12240 uchar4 __ovld __cnfn select(uchar4 a, uchar4 b, long4 c);
   12241 char8 __ovld __cnfn select(char8 a, char8 b, long8 c);
   12242 uchar8 __ovld __cnfn select(uchar8 a, uchar8 b, long8 c);
   12243 char16 __ovld __cnfn select(char16 a, char16 b, long16 c);
   12244 uchar16 __ovld __cnfn select(uchar16 a, uchar16 b, long16 c);
   12245 short __ovld __cnfn select(short a, short b, long c);
   12246 ushort __ovld __cnfn select(ushort a, ushort b, long c);
   12247 short2 __ovld __cnfn select(short2 a, short2 b, long2 c);
   12248 ushort2 __ovld __cnfn select(ushort2 a, ushort2 b, long2 c);
   12249 short3 __ovld __cnfn select(short3 a, short3 b, long3 c);
   12250 ushort3 __ovld __cnfn select(ushort3 a, ushort3 b, long3 c);
   12251 short4 __ovld __cnfn select(short4 a, short4 b, long4 c);
   12252 ushort4 __ovld __cnfn select(ushort4 a, ushort4 b, long4 c);
   12253 short8 __ovld __cnfn select(short8 a, short8 b, long8 c);
   12254 ushort8 __ovld __cnfn select(ushort8 a, ushort8 b, long8 c);
   12255 short16 __ovld __cnfn select(short16 a, short16 b, long16 c);
   12256 ushort16 __ovld __cnfn select(ushort16 a, ushort16 b, long16 c);
   12257 int __ovld __cnfn select(int a, int b, long c);
   12258 uint __ovld __cnfn select(uint a, uint b, long c);
   12259 int2 __ovld __cnfn select(int2 a, int2 b, long2 c);
   12260 uint2 __ovld __cnfn select(uint2 a, uint2 b, long2 c);
   12261 int3 __ovld __cnfn select(int3 a, int3 b, long3 c);
   12262 uint3 __ovld __cnfn select(uint3 a, uint3 b, long3 c);
   12263 int4 __ovld __cnfn select(int4 a, int4 b, long4 c);
   12264 uint4 __ovld __cnfn select(uint4 a, uint4 b, long4 c);
   12265 int8 __ovld __cnfn select(int8 a, int8 b, long8 c);
   12266 uint8 __ovld __cnfn select(uint8 a, uint8 b, long8 c);
   12267 int16 __ovld __cnfn select(int16 a, int16 b, long16 c);
   12268 uint16 __ovld __cnfn select(uint16 a, uint16 b, long16 c);
   12269 long __ovld __cnfn select(long a, long b, long c);
   12270 ulong __ovld __cnfn select(ulong a, ulong b, long c);
   12271 long2 __ovld __cnfn select(long2 a, long2 b, long2 c);
   12272 ulong2 __ovld __cnfn select(ulong2 a, ulong2 b, long2 c);
   12273 long3 __ovld __cnfn select(long3 a, long3 b, long3 c);
   12274 ulong3 __ovld __cnfn select(ulong3 a, ulong3 b, long3 c);
   12275 long4 __ovld __cnfn select(long4 a, long4 b, long4 c);
   12276 ulong4 __ovld __cnfn select(ulong4 a, ulong4 b, long4 c);
   12277 long8 __ovld __cnfn select(long8 a, long8 b, long8 c);
   12278 ulong8 __ovld __cnfn select(ulong8 a, ulong8 b, long8 c);
   12279 long16 __ovld __cnfn select(long16 a, long16 b, long16 c);
   12280 ulong16 __ovld __cnfn select(ulong16 a, ulong16 b, long16 c);
   12281 float __ovld __cnfn select(float a, float b, long c);
   12282 float2 __ovld __cnfn select(float2 a, float2 b, long2 c);
   12283 float3 __ovld __cnfn select(float3 a, float3 b, long3 c);
   12284 float4 __ovld __cnfn select(float4 a, float4 b, long4 c);
   12285 float8 __ovld __cnfn select(float8 a, float8 b, long8 c);
   12286 float16 __ovld __cnfn select(float16 a, float16 b, long16 c);
   12287 char __ovld __cnfn select(char a, char b, uchar c);
   12288 uchar __ovld __cnfn select(uchar a, uchar b, uchar c);
   12289 char2 __ovld __cnfn select(char2 a, char2 b, uchar2 c);
   12290 uchar2 __ovld __cnfn select(uchar2 a, uchar2 b, uchar2 c);
   12291 char3 __ovld __cnfn select(char3 a, char3 b, uchar3 c);
   12292 uchar3 __ovld __cnfn select(uchar3 a, uchar3 b, uchar3 c);
   12293 char4 __ovld __cnfn select(char4 a, char4 b, uchar4 c);
   12294 uchar4 __ovld __cnfn select(uchar4 a, uchar4 b, uchar4 c);
   12295 char8 __ovld __cnfn select(char8 a, char8 b, uchar8 c);
   12296 uchar8 __ovld __cnfn select(uchar8 a, uchar8 b, uchar8 c);
   12297 char16 __ovld __cnfn select(char16 a, char16 b, uchar16 c);
   12298 uchar16 __ovld __cnfn select(uchar16 a, uchar16 b, uchar16 c);
   12299 short __ovld __cnfn select(short a, short b, uchar c);
   12300 ushort __ovld __cnfn select(ushort a, ushort b, uchar c);
   12301 short2 __ovld __cnfn select(short2 a, short2 b, uchar2 c);
   12302 ushort2 __ovld __cnfn select(ushort2 a, ushort2 b, uchar2 c);
   12303 short3 __ovld __cnfn select(short3 a, short3 b, uchar3 c);
   12304 ushort3 __ovld __cnfn select(ushort3 a, ushort3 b, uchar3 c);
   12305 short4 __ovld __cnfn select(short4 a, short4 b, uchar4 c);
   12306 ushort4 __ovld __cnfn select(ushort4 a, ushort4 b, uchar4 c);
   12307 short8 __ovld __cnfn select(short8 a, short8 b, uchar8 c);
   12308 ushort8 __ovld __cnfn select(ushort8 a, ushort8 b, uchar8 c);
   12309 short16 __ovld __cnfn select(short16 a, short16 b, uchar16 c);
   12310 ushort16 __ovld __cnfn select(ushort16 a, ushort16 b, uchar16 c);
   12311 int __ovld __cnfn select(int a, int b, uchar c);
   12312 uint __ovld __cnfn select(uint a, uint b, uchar c);
   12313 int2 __ovld __cnfn select(int2 a, int2 b, uchar2 c);
   12314 uint2 __ovld __cnfn select(uint2 a, uint2 b, uchar2 c);
   12315 int3 __ovld __cnfn select(int3 a, int3 b, uchar3 c);
   12316 uint3 __ovld __cnfn select(uint3 a, uint3 b, uchar3 c);
   12317 int4 __ovld __cnfn select(int4 a, int4 b, uchar4 c);
   12318 uint4 __ovld __cnfn select(uint4 a, uint4 b, uchar4 c);
   12319 int8 __ovld __cnfn select(int8 a, int8 b, uchar8 c);
   12320 uint8 __ovld __cnfn select(uint8 a, uint8 b, uchar8 c);
   12321 int16 __ovld __cnfn select(int16 a, int16 b, uchar16 c);
   12322 uint16 __ovld __cnfn select(uint16 a, uint16 b, uchar16 c);
   12323 long __ovld __cnfn select(long a, long b, uchar c);
   12324 ulong __ovld __cnfn select(ulong a, ulong b, uchar c);
   12325 long2 __ovld __cnfn select(long2 a, long2 b, uchar2 c);
   12326 ulong2 __ovld __cnfn select(ulong2 a, ulong2 b, uchar2 c);
   12327 long3 __ovld __cnfn select(long3 a, long3 b, uchar3 c);
   12328 ulong3 __ovld __cnfn select(ulong3 a, ulong3 b, uchar3 c);
   12329 long4 __ovld __cnfn select(long4 a, long4 b, uchar4 c);
   12330 ulong4 __ovld __cnfn select(ulong4 a, ulong4 b, uchar4 c);
   12331 long8 __ovld __cnfn select(long8 a, long8 b, uchar8 c);
   12332 ulong8 __ovld __cnfn select(ulong8 a, ulong8 b, uchar8 c);
   12333 long16 __ovld __cnfn select(long16 a, long16 b, uchar16 c);
   12334 ulong16 __ovld __cnfn select(ulong16 a, ulong16 b, uchar16 c);
   12335 float __ovld __cnfn select(float a, float b, uchar c);
   12336 float2 __ovld __cnfn select(float2 a, float2 b, uchar2 c);
   12337 float3 __ovld __cnfn select(float3 a, float3 b, uchar3 c);
   12338 float4 __ovld __cnfn select(float4 a, float4 b, uchar4 c);
   12339 float8 __ovld __cnfn select(float8 a, float8 b, uchar8 c);
   12340 float16 __ovld __cnfn select(float16 a, float16 b, uchar16 c);
   12341 char __ovld __cnfn select(char a, char b, ushort c);
   12342 uchar __ovld __cnfn select(uchar a, uchar b, ushort c);
   12343 char2 __ovld __cnfn select(char2 a, char2 b, ushort2 c);
   12344 uchar2 __ovld __cnfn select(uchar2 a, uchar2 b, ushort2 c);
   12345 char3 __ovld __cnfn select(char3 a, char3 b, ushort3 c);
   12346 uchar3 __ovld __cnfn select(uchar3 a, uchar3 b, ushort3 c);
   12347 char4 __ovld __cnfn select(char4 a, char4 b, ushort4 c);
   12348 uchar4 __ovld __cnfn select(uchar4 a, uchar4 b, ushort4 c);
   12349 char8 __ovld __cnfn select(char8 a, char8 b, ushort8 c);
   12350 uchar8 __ovld __cnfn select(uchar8 a, uchar8 b, ushort8 c);
   12351 char16 __ovld __cnfn select(char16 a, char16 b, ushort16 c);
   12352 uchar16 __ovld __cnfn select(uchar16 a, uchar16 b, ushort16 c);
   12353 short __ovld __cnfn select(short a, short b, ushort c);
   12354 ushort __ovld __cnfn select(ushort a, ushort b, ushort c);
   12355 short2 __ovld __cnfn select(short2 a, short2 b, ushort2 c);
   12356 ushort2 __ovld __cnfn select(ushort2 a, ushort2 b, ushort2 c);
   12357 short3 __ovld __cnfn select(short3 a, short3 b, ushort3 c);
   12358 ushort3 __ovld __cnfn select(ushort3 a, ushort3 b, ushort3 c);
   12359 short4 __ovld __cnfn select(short4 a, short4 b, ushort4 c);
   12360 ushort4 __ovld __cnfn select(ushort4 a, ushort4 b, ushort4 c);
   12361 short8 __ovld __cnfn select(short8 a, short8 b, ushort8 c);
   12362 ushort8 __ovld __cnfn select(ushort8 a, ushort8 b, ushort8 c);
   12363 short16 __ovld __cnfn select(short16 a, short16 b, ushort16 c);
   12364 ushort16 __ovld __cnfn select(ushort16 a, ushort16 b, ushort16 c);
   12365 int __ovld __cnfn select(int a, int b, ushort c);
   12366 uint __ovld __cnfn select(uint a, uint b, ushort c);
   12367 int2 __ovld __cnfn select(int2 a, int2 b, ushort2 c);
   12368 uint2 __ovld __cnfn select(uint2 a, uint2 b, ushort2 c);
   12369 int3 __ovld __cnfn select(int3 a, int3 b, ushort3 c);
   12370 uint3 __ovld __cnfn select(uint3 a, uint3 b, ushort3 c);
   12371 int4 __ovld __cnfn select(int4 a, int4 b, ushort4 c);
   12372 uint4 __ovld __cnfn select(uint4 a, uint4 b, ushort4 c);
   12373 int8 __ovld __cnfn select(int8 a, int8 b, ushort8 c);
   12374 uint8 __ovld __cnfn select(uint8 a, uint8 b, ushort8 c);
   12375 int16 __ovld __cnfn select(int16 a, int16 b, ushort16 c);
   12376 uint16 __ovld __cnfn select(uint16 a, uint16 b, ushort16 c);
   12377 long __ovld __cnfn select(long a, long b, ushort c);
   12378 ulong __ovld __cnfn select(ulong a, ulong b, ushort c);
   12379 long2 __ovld __cnfn select(long2 a, long2 b, ushort2 c);
   12380 ulong2 __ovld __cnfn select(ulong2 a, ulong2 b, ushort2 c);
   12381 long3 __ovld __cnfn select(long3 a, long3 b, ushort3 c);
   12382 ulong3 __ovld __cnfn select(ulong3 a, ulong3 b, ushort3 c);
   12383 long4 __ovld __cnfn select(long4 a, long4 b, ushort4 c);
   12384 ulong4 __ovld __cnfn select(ulong4 a, ulong4 b, ushort4 c);
   12385 long8 __ovld __cnfn select(long8 a, long8 b, ushort8 c);
   12386 ulong8 __ovld __cnfn select(ulong8 a, ulong8 b, ushort8 c);
   12387 long16 __ovld __cnfn select(long16 a, long16 b, ushort16 c);
   12388 ulong16 __ovld __cnfn select(ulong16 a, ulong16 b, ushort16 c);
   12389 float __ovld __cnfn select(float a, float b, ushort c);
   12390 float2 __ovld __cnfn select(float2 a, float2 b, ushort2 c);
   12391 float3 __ovld __cnfn select(float3 a, float3 b, ushort3 c);
   12392 float4 __ovld __cnfn select(float4 a, float4 b, ushort4 c);
   12393 float8 __ovld __cnfn select(float8 a, float8 b, ushort8 c);
   12394 float16 __ovld __cnfn select(float16 a, float16 b, ushort16 c);
   12395 char __ovld __cnfn select(char a, char b, uint c);
   12396 uchar __ovld __cnfn select(uchar a, uchar b, uint c);
   12397 char2 __ovld __cnfn select(char2 a, char2 b, uint2 c);
   12398 uchar2 __ovld __cnfn select(uchar2 a, uchar2 b, uint2 c);
   12399 char3 __ovld __cnfn select(char3 a, char3 b, uint3 c);
   12400 uchar3 __ovld __cnfn select(uchar3 a, uchar3 b, uint3 c);
   12401 char4 __ovld __cnfn select(char4 a, char4 b, uint4 c);
   12402 uchar4 __ovld __cnfn select(uchar4 a, uchar4 b, uint4 c);
   12403 char8 __ovld __cnfn select(char8 a, char8 b, uint8 c);
   12404 uchar8 __ovld __cnfn select(uchar8 a, uchar8 b, uint8 c);
   12405 char16 __ovld __cnfn select(char16 a, char16 b, uint16 c);
   12406 uchar16 __ovld __cnfn select(uchar16 a, uchar16 b, uint16 c);
   12407 short __ovld __cnfn select(short a, short b, uint c);
   12408 ushort __ovld __cnfn select(ushort a, ushort b, uint c);
   12409 short2 __ovld __cnfn select(short2 a, short2 b, uint2 c);
   12410 ushort2 __ovld __cnfn select(ushort2 a, ushort2 b, uint2 c);
   12411 short3 __ovld __cnfn select(short3 a, short3 b, uint3 c);
   12412 ushort3 __ovld __cnfn select(ushort3 a, ushort3 b, uint3 c);
   12413 short4 __ovld __cnfn select(short4 a, short4 b, uint4 c);
   12414 ushort4 __ovld __cnfn select(ushort4 a, ushort4 b, uint4 c);
   12415 short8 __ovld __cnfn select(short8 a, short8 b, uint8 c);
   12416 ushort8 __ovld __cnfn select(ushort8 a, ushort8 b, uint8 c);
   12417 short16 __ovld __cnfn select(short16 a, short16 b, uint16 c);
   12418 ushort16 __ovld __cnfn select(ushort16 a, ushort16 b, uint16 c);
   12419 int __ovld __cnfn select(int a, int b, uint c);
   12420 uint __ovld __cnfn select(uint a, uint b, uint c);
   12421 int2 __ovld __cnfn select(int2 a, int2 b, uint2 c);
   12422 uint2 __ovld __cnfn select(uint2 a, uint2 b, uint2 c);
   12423 int3 __ovld __cnfn select(int3 a, int3 b, uint3 c);
   12424 uint3 __ovld __cnfn select(uint3 a, uint3 b, uint3 c);
   12425 int4 __ovld __cnfn select(int4 a, int4 b, uint4 c);
   12426 uint4 __ovld __cnfn select(uint4 a, uint4 b, uint4 c);
   12427 int8 __ovld __cnfn select(int8 a, int8 b, uint8 c);
   12428 uint8 __ovld __cnfn select(uint8 a, uint8 b, uint8 c);
   12429 int16 __ovld __cnfn select(int16 a, int16 b, uint16 c);
   12430 uint16 __ovld __cnfn select(uint16 a, uint16 b, uint16 c);
   12431 long __ovld __cnfn select(long a, long b, uint c);
   12432 ulong __ovld __cnfn select(ulong a, ulong b, uint c);
   12433 long2 __ovld __cnfn select(long2 a, long2 b, uint2 c);
   12434 ulong2 __ovld __cnfn select(ulong2 a, ulong2 b, uint2 c);
   12435 long3 __ovld __cnfn select(long3 a, long3 b, uint3 c);
   12436 ulong3 __ovld __cnfn select(ulong3 a, ulong3 b, uint3 c);
   12437 long4 __ovld __cnfn select(long4 a, long4 b, uint4 c);
   12438 ulong4 __ovld __cnfn select(ulong4 a, ulong4 b, uint4 c);
   12439 long8 __ovld __cnfn select(long8 a, long8 b, uint8 c);
   12440 ulong8 __ovld __cnfn select(ulong8 a, ulong8 b, uint8 c);
   12441 long16 __ovld __cnfn select(long16 a, long16 b, uint16 c);
   12442 ulong16 __ovld __cnfn select(ulong16 a, ulong16 b, uint16 c);
   12443 float __ovld __cnfn select(float a, float b, uint c);
   12444 float2 __ovld __cnfn select(float2 a, float2 b, uint2 c);
   12445 float3 __ovld __cnfn select(float3 a, float3 b, uint3 c);
   12446 float4 __ovld __cnfn select(float4 a, float4 b, uint4 c);
   12447 float8 __ovld __cnfn select(float8 a, float8 b, uint8 c);
   12448 float16 __ovld __cnfn select(float16 a, float16 b, uint16 c);
   12449 char __ovld __cnfn select(char a, char b, ulong c);
   12450 uchar __ovld __cnfn select(uchar a, uchar b, ulong c);
   12451 char2 __ovld __cnfn select(char2 a, char2 b, ulong2 c);
   12452 uchar2 __ovld __cnfn select(uchar2 a, uchar2 b, ulong2 c);
   12453 char3 __ovld __cnfn select(char3 a, char3 b, ulong3 c);
   12454 uchar3 __ovld __cnfn select(uchar3 a, uchar3 b, ulong3 c);
   12455 char4 __ovld __cnfn select(char4 a, char4 b, ulong4 c);
   12456 uchar4 __ovld __cnfn select(uchar4 a, uchar4 b, ulong4 c);
   12457 char8 __ovld __cnfn select(char8 a, char8 b, ulong8 c);
   12458 uchar8 __ovld __cnfn select(uchar8 a, uchar8 b, ulong8 c);
   12459 char16 __ovld __cnfn select(char16 a, char16 b, ulong16 c);
   12460 uchar16 __ovld __cnfn select(uchar16 a, uchar16 b, ulong16 c);
   12461 short __ovld __cnfn select(short a, short b, ulong c);
   12462 ushort __ovld __cnfn select(ushort a, ushort b, ulong c);
   12463 short2 __ovld __cnfn select(short2 a, short2 b, ulong2 c);
   12464 ushort2 __ovld __cnfn select(ushort2 a, ushort2 b, ulong2 c);
   12465 short3 __ovld __cnfn select(short3 a, short3 b, ulong3 c);
   12466 ushort3 __ovld __cnfn select(ushort3 a, ushort3 b, ulong3 c);
   12467 short4 __ovld __cnfn select(short4 a, short4 b, ulong4 c);
   12468 ushort4 __ovld __cnfn select(ushort4 a, ushort4 b, ulong4 c);
   12469 short8 __ovld __cnfn select(short8 a, short8 b, ulong8 c);
   12470 ushort8 __ovld __cnfn select(ushort8 a, ushort8 b, ulong8 c);
   12471 short16 __ovld __cnfn select(short16 a, short16 b, ulong16 c);
   12472 ushort16 __ovld __cnfn select(ushort16 a, ushort16 b, ulong16 c);
   12473 int __ovld __cnfn select(int a, int b, ulong c);
   12474 uint __ovld __cnfn select(uint a, uint b, ulong c);
   12475 int2 __ovld __cnfn select(int2 a, int2 b, ulong2 c);
   12476 uint2 __ovld __cnfn select(uint2 a, uint2 b, ulong2 c);
   12477 int3 __ovld __cnfn select(int3 a, int3 b, ulong3 c);
   12478 uint3 __ovld __cnfn select(uint3 a, uint3 b, ulong3 c);
   12479 int4 __ovld __cnfn select(int4 a, int4 b, ulong4 c);
   12480 uint4 __ovld __cnfn select(uint4 a, uint4 b, ulong4 c);
   12481 int8 __ovld __cnfn select(int8 a, int8 b, ulong8 c);
   12482 uint8 __ovld __cnfn select(uint8 a, uint8 b, ulong8 c);
   12483 int16 __ovld __cnfn select(int16 a, int16 b, ulong16 c);
   12484 uint16 __ovld __cnfn select(uint16 a, uint16 b, ulong16 c);
   12485 long __ovld __cnfn select(long a, long b, ulong c);
   12486 ulong __ovld __cnfn select(ulong a, ulong b, ulong c);
   12487 long2 __ovld __cnfn select(long2 a, long2 b, ulong2 c);
   12488 ulong2 __ovld __cnfn select(ulong2 a, ulong2 b, ulong2 c);
   12489 long3 __ovld __cnfn select(long3 a, long3 b, ulong3 c);
   12490 ulong3 __ovld __cnfn select(ulong3 a, ulong3 b, ulong3 c);
   12491 long4 __ovld __cnfn select(long4 a, long4 b, ulong4 c);
   12492 ulong4 __ovld __cnfn select(ulong4 a, ulong4 b, ulong4 c);
   12493 long8 __ovld __cnfn select(long8 a, long8 b, ulong8 c);
   12494 ulong8 __ovld __cnfn select(ulong8 a, ulong8 b, ulong8 c);
   12495 long16 __ovld __cnfn select(long16 a, long16 b, ulong16 c);
   12496 ulong16 __ovld __cnfn select(ulong16 a, ulong16 b, ulong16 c);
   12497 float __ovld __cnfn select(float a, float b, ulong c);
   12498 float2 __ovld __cnfn select(float2 a, float2 b, ulong2 c);
   12499 float3 __ovld __cnfn select(float3 a, float3 b, ulong3 c);
   12500 float4 __ovld __cnfn select(float4 a, float4 b, ulong4 c);
   12501 float8 __ovld __cnfn select(float8 a, float8 b, ulong8 c);
   12502 float16 __ovld __cnfn select(float16 a, float16 b, ulong16 c);
   12503 #ifdef cl_khr_fp64
   12504 double __ovld __cnfn select(double a, double b, long c);
   12505 double2 __ovld __cnfn select(double2 a, double2 b, long2 c);
   12506 double3 __ovld __cnfn select(double3 a, double3 b, long3 c);
   12507 double4 __ovld __cnfn select(double4 a, double4 b, long4 c);
   12508 double8 __ovld __cnfn select(double8 a, double8 b, long8 c);
   12509 double16 __ovld __cnfn select(double16 a, double16 b, long16 c);
   12510 double __ovld __cnfn select(double a, double b, ulong c);
   12511 double2 __ovld __cnfn select(double2 a, double2 b, ulong2 c);
   12512 double3 __ovld __cnfn select(double3 a, double3 b, ulong3 c);
   12513 double4 __ovld __cnfn select(double4 a, double4 b, ulong4 c);
   12514 double8 __ovld __cnfn select(double8 a, double8 b, ulong8 c);
   12515 double16 __ovld __cnfn select(double16 a, double16 b, ulong16 c);
   12516 #endif //cl_khr_fp64
   12517 #ifdef cl_khr_fp16
   12518 half __ovld __cnfn select(half a, half b, short c);
   12519 half2 __ovld __cnfn select(half2 a, half2 b, short2 c);
   12520 half3 __ovld __cnfn select(half3 a, half3 b, short3 c);
   12521 half4 __ovld __cnfn select(half4 a, half4 b, short4 c);
   12522 half8 __ovld __cnfn select(half8 a, half8 b, short8 c);
   12523 half16 __ovld __cnfn select(half16 a, half16 b, short16 c);
   12524 half __ovld __cnfn select(half a, half b, ushort c);
   12525 half2 __ovld __cnfn select(half2 a, half2 b, ushort2 c);
   12526 half3 __ovld __cnfn select(half3 a, half3 b, ushort3 c);
   12527 half4 __ovld __cnfn select(half4 a, half4 b, ushort4 c);
   12528 half8 __ovld __cnfn select(half8 a, half8 b, ushort8 c);
   12529 half16 __ovld __cnfn select(half16 a, half16 b, ushort16 c);
   12530 #endif //cl_khr_fp16
   12531 
   12532 // OpenCL v1.1 s6.11.7, v1.2 s6.12.7, v2.0 s6.13.7 - Vector Data Load and Store Functions
   12533 // OpenCL extensions v1.1 s9.6.6, v1.2 s9.5.6, v2.0 s9.4.6 - Vector Data Load and Store Functions for Half Type
   12534 /**
   12535  * Use generic type gentype to indicate the built-in data types
   12536  * char, uchar, short, ushort, int, uint, long, ulong, float,
   12537  * double or half.
   12538  *
   12539  * vloadn return sizeof (gentypen) bytes of data read from address (p + (offset * n)).
   12540  *
   12541  * vstoren write sizeof (gentypen) bytes given by data to address (p + (offset * n)).
   12542  *
   12543  * The address computed as (p + (offset * n)) must be
   12544  * 8-bit aligned if gentype is char, uchar;
   12545  * 16-bit aligned if gentype is short, ushort, half;
   12546  * 32-bit aligned if gentype is int, uint, float;
   12547  * 64-bit aligned if gentype is long, ulong, double.
   12548  */
   12549 
   12550 char2 __ovld vload2(size_t offset, const __constant char *p);
   12551 uchar2 __ovld vload2(size_t offset, const __constant uchar *p);
   12552 short2 __ovld vload2(size_t offset, const __constant short *p);
   12553 ushort2 __ovld vload2(size_t offset, const __constant ushort *p);
   12554 int2 __ovld vload2(size_t offset, const __constant int *p);
   12555 uint2 __ovld vload2(size_t offset, const __constant uint *p);
   12556 long2 __ovld vload2(size_t offset, const __constant long *p);
   12557 ulong2 __ovld vload2(size_t offset, const __constant ulong *p);
   12558 float2 __ovld vload2(size_t offset, const __constant float *p);
   12559 char3 __ovld vload3(size_t offset, const __constant char *p);
   12560 uchar3 __ovld vload3(size_t offset, const __constant uchar *p);
   12561 short3 __ovld vload3(size_t offset, const __constant short *p);
   12562 ushort3 __ovld vload3(size_t offset, const __constant ushort *p);
   12563 int3 __ovld vload3(size_t offset, const __constant int *p);
   12564 uint3 __ovld vload3(size_t offset, const __constant uint *p);
   12565 long3 __ovld vload3(size_t offset, const __constant long *p);
   12566 ulong3 __ovld vload3(size_t offset, const __constant ulong *p);
   12567 float3 __ovld vload3(size_t offset, const __constant float *p);
   12568 char4 __ovld vload4(size_t offset, const __constant char *p);
   12569 uchar4 __ovld vload4(size_t offset, const __constant uchar *p);
   12570 short4 __ovld vload4(size_t offset, const __constant short *p);
   12571 ushort4 __ovld vload4(size_t offset, const __constant ushort *p);
   12572 int4 __ovld vload4(size_t offset, const __constant int *p);
   12573 uint4 __ovld vload4(size_t offset, const __constant uint *p);
   12574 long4 __ovld vload4(size_t offset, const __constant long *p);
   12575 ulong4 __ovld vload4(size_t offset, const __constant ulong *p);
   12576 float4 __ovld vload4(size_t offset, const __constant float *p);
   12577 char8 __ovld vload8(size_t offset, const __constant char *p);
   12578 uchar8 __ovld vload8(size_t offset, const __constant uchar *p);
   12579 short8 __ovld vload8(size_t offset, const __constant short *p);
   12580 ushort8 __ovld vload8(size_t offset, const __constant ushort *p);
   12581 int8 __ovld vload8(size_t offset, const __constant int *p);
   12582 uint8 __ovld vload8(size_t offset, const __constant uint *p);
   12583 long8 __ovld vload8(size_t offset, const __constant long *p);
   12584 ulong8 __ovld vload8(size_t offset, const __constant ulong *p);
   12585 float8 __ovld vload8(size_t offset, const __constant float *p);
   12586 char16 __ovld vload16(size_t offset, const __constant char *p);
   12587 uchar16 __ovld vload16(size_t offset, const __constant uchar *p);
   12588 short16 __ovld vload16(size_t offset, const __constant short *p);
   12589 ushort16 __ovld vload16(size_t offset, const __constant ushort *p);
   12590 int16 __ovld vload16(size_t offset, const __constant int *p);
   12591 uint16 __ovld vload16(size_t offset, const __constant uint *p);
   12592 long16 __ovld vload16(size_t offset, const __constant long *p);
   12593 ulong16 __ovld vload16(size_t offset, const __constant ulong *p);
   12594 float16 __ovld vload16(size_t offset, const __constant float *p);
   12595 #ifdef cl_khr_fp64
   12596 double2 __ovld vload2(size_t offset, const __constant double *p);
   12597 double3 __ovld vload3(size_t offset, const __constant double *p);
   12598 double4 __ovld vload4(size_t offset, const __constant double *p);
   12599 double8 __ovld vload8(size_t offset, const __constant double *p);
   12600 double16 __ovld vload16(size_t offset, const __constant double *p);
   12601 #endif //cl_khr_fp64
   12602 
   12603 #ifdef cl_khr_fp16
   12604 half __ovld vload(size_t offset, const __constant half *p);
   12605 half2 __ovld vload2(size_t offset, const __constant half *p);
   12606 half3 __ovld vload3(size_t offset, const __constant half *p);
   12607 half4 __ovld vload4(size_t offset, const __constant half *p);
   12608 half8 __ovld vload8(size_t offset, const __constant half *p);
   12609 half16 __ovld vload16(size_t offset, const __constant half *p);
   12610 #endif //cl_khr_fp16
   12611 
   12612 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   12613 char2 __ovld vload2(size_t offset, const char *p);
   12614 uchar2 __ovld vload2(size_t offset, const uchar *p);
   12615 short2 __ovld vload2(size_t offset, const short *p);
   12616 ushort2 __ovld vload2(size_t offset, const ushort *p);
   12617 int2 __ovld vload2(size_t offset, const int *p);
   12618 uint2 __ovld vload2(size_t offset, const uint *p);
   12619 long2 __ovld vload2(size_t offset, const long *p);
   12620 ulong2 __ovld vload2(size_t offset, const ulong *p);
   12621 float2 __ovld vload2(size_t offset, const float *p);
   12622 char3 __ovld vload3(size_t offset, const char *p);
   12623 uchar3 __ovld vload3(size_t offset, const uchar *p);
   12624 short3 __ovld vload3(size_t offset, const short *p);
   12625 ushort3 __ovld vload3(size_t offset, const ushort *p);
   12626 int3 __ovld vload3(size_t offset, const int *p);
   12627 uint3 __ovld vload3(size_t offset, const uint *p);
   12628 long3 __ovld vload3(size_t offset, const long *p);
   12629 ulong3 __ovld vload3(size_t offset, const ulong *p);
   12630 float3 __ovld vload3(size_t offset, const float *p);
   12631 char4 __ovld vload4(size_t offset, const char *p);
   12632 uchar4 __ovld vload4(size_t offset, const uchar *p);
   12633 short4 __ovld vload4(size_t offset, const short *p);
   12634 ushort4 __ovld vload4(size_t offset, const ushort *p);
   12635 int4 __ovld vload4(size_t offset, const int *p);
   12636 uint4 __ovld vload4(size_t offset, const uint *p);
   12637 long4 __ovld vload4(size_t offset, const long *p);
   12638 ulong4 __ovld vload4(size_t offset, const ulong *p);
   12639 float4 __ovld vload4(size_t offset, const float *p);
   12640 char8 __ovld vload8(size_t offset, const char *p);
   12641 uchar8 __ovld vload8(size_t offset, const uchar *p);
   12642 short8 __ovld vload8(size_t offset, const short *p);
   12643 ushort8 __ovld vload8(size_t offset, const ushort *p);
   12644 int8 __ovld vload8(size_t offset, const int *p);
   12645 uint8 __ovld vload8(size_t offset, const uint *p);
   12646 long8 __ovld vload8(size_t offset, const long *p);
   12647 ulong8 __ovld vload8(size_t offset, const ulong *p);
   12648 float8 __ovld vload8(size_t offset, const float *p);
   12649 char16 __ovld vload16(size_t offset, const char *p);
   12650 uchar16 __ovld vload16(size_t offset, const uchar *p);
   12651 short16 __ovld vload16(size_t offset, const short *p);
   12652 ushort16 __ovld vload16(size_t offset, const ushort *p);
   12653 int16 __ovld vload16(size_t offset, const int *p);
   12654 uint16 __ovld vload16(size_t offset, const uint *p);
   12655 long16 __ovld vload16(size_t offset, const long *p);
   12656 ulong16 __ovld vload16(size_t offset, const ulong *p);
   12657 float16 __ovld vload16(size_t offset, const float *p);
   12658 
   12659 #ifdef cl_khr_fp64
   12660 double2 __ovld vload2(size_t offset, const double *p);
   12661 double3 __ovld vload3(size_t offset, const double *p);
   12662 double4 __ovld vload4(size_t offset, const double *p);
   12663 double8 __ovld vload8(size_t offset, const double *p);
   12664 double16 __ovld vload16(size_t offset, const double *p);
   12665 #endif //cl_khr_fp64
   12666 
   12667 #ifdef cl_khr_fp16
   12668 half __ovld vload(size_t offset, const half *p);
   12669 half2 __ovld vload2(size_t offset, const half *p);
   12670 half3 __ovld vload3(size_t offset, const half *p);
   12671 half4 __ovld vload4(size_t offset, const half *p);
   12672 half8 __ovld vload8(size_t offset, const half *p);
   12673 half16 __ovld vload16(size_t offset, const half *p);
   12674 #endif //cl_khr_fp16
   12675 #else
   12676 char2 __ovld vload2(size_t offset, const __global char *p);
   12677 uchar2 __ovld vload2(size_t offset, const __global uchar *p);
   12678 short2 __ovld vload2(size_t offset, const __global short *p);
   12679 ushort2 __ovld vload2(size_t offset, const __global ushort *p);
   12680 int2 __ovld vload2(size_t offset, const __global int *p);
   12681 uint2 __ovld vload2(size_t offset, const __global uint *p);
   12682 long2 __ovld vload2(size_t offset, const __global long *p);
   12683 ulong2 __ovld vload2(size_t offset, const __global ulong *p);
   12684 float2 __ovld vload2(size_t offset, const __global float *p);
   12685 char3 __ovld vload3(size_t offset, const __global char *p);
   12686 uchar3 __ovld vload3(size_t offset, const __global uchar *p);
   12687 short3 __ovld vload3(size_t offset, const __global short *p);
   12688 ushort3 __ovld vload3(size_t offset, const __global ushort *p);
   12689 int3 __ovld vload3(size_t offset, const __global int *p);
   12690 uint3 __ovld vload3(size_t offset, const __global uint *p);
   12691 long3 __ovld vload3(size_t offset, const __global long *p);
   12692 ulong3 __ovld vload3(size_t offset, const __global ulong *p);
   12693 float3 __ovld vload3(size_t offset, const __global float *p);
   12694 char4 __ovld vload4(size_t offset, const __global char *p);
   12695 uchar4 __ovld vload4(size_t offset, const __global uchar *p);
   12696 short4 __ovld vload4(size_t offset, const __global short *p);
   12697 ushort4 __ovld vload4(size_t offset, const __global ushort *p);
   12698 int4 __ovld vload4(size_t offset, const __global int *p);
   12699 uint4 __ovld vload4(size_t offset, const __global uint *p);
   12700 long4 __ovld vload4(size_t offset, const __global long *p);
   12701 ulong4 __ovld vload4(size_t offset, const __global ulong *p);
   12702 float4 __ovld vload4(size_t offset, const __global float *p);
   12703 char8 __ovld vload8(size_t offset, const __global char *p);
   12704 uchar8 __ovld vload8(size_t offset, const __global uchar *p);
   12705 short8 __ovld vload8(size_t offset, const __global short *p);
   12706 ushort8 __ovld vload8(size_t offset, const __global ushort *p);
   12707 int8 __ovld vload8(size_t offset, const __global int *p);
   12708 uint8 __ovld vload8(size_t offset, const __global uint *p);
   12709 long8 __ovld vload8(size_t offset, const __global long *p);
   12710 ulong8 __ovld vload8(size_t offset, const __global ulong *p);
   12711 float8 __ovld vload8(size_t offset, const __global float *p);
   12712 char16 __ovld vload16(size_t offset, const __global char *p);
   12713 uchar16 __ovld vload16(size_t offset, const __global uchar *p);
   12714 short16 __ovld vload16(size_t offset, const __global short *p);
   12715 ushort16 __ovld vload16(size_t offset, const __global ushort *p);
   12716 int16 __ovld vload16(size_t offset, const __global int *p);
   12717 uint16 __ovld vload16(size_t offset, const __global uint *p);
   12718 long16 __ovld vload16(size_t offset, const __global long *p);
   12719 ulong16 __ovld vload16(size_t offset, const __global ulong *p);
   12720 float16 __ovld vload16(size_t offset, const __global float *p);
   12721 char2 __ovld vload2(size_t offset, const __local char *p);
   12722 uchar2 __ovld vload2(size_t offset, const __local uchar *p);
   12723 short2 __ovld vload2(size_t offset, const __local short *p);
   12724 ushort2 __ovld vload2(size_t offset, const __local ushort *p);
   12725 int2 __ovld vload2(size_t offset, const __local int *p);
   12726 uint2 __ovld vload2(size_t offset, const __local uint *p);
   12727 long2 __ovld vload2(size_t offset, const __local long *p);
   12728 ulong2 __ovld vload2(size_t offset, const __local ulong *p);
   12729 float2 __ovld vload2(size_t offset, const __local float *p);
   12730 char3 __ovld vload3(size_t offset, const __local char *p);
   12731 uchar3 __ovld vload3(size_t offset, const __local uchar *p);
   12732 short3 __ovld vload3(size_t offset, const __local short *p);
   12733 ushort3 __ovld vload3(size_t offset, const __local ushort *p);
   12734 int3 __ovld vload3(size_t offset, const __local int *p);
   12735 uint3 __ovld vload3(size_t offset, const __local uint *p);
   12736 long3 __ovld vload3(size_t offset, const __local long *p);
   12737 ulong3 __ovld vload3(size_t offset, const __local ulong *p);
   12738 float3 __ovld vload3(size_t offset, const __local float *p);
   12739 char4 __ovld vload4(size_t offset, const __local char *p);
   12740 uchar4 __ovld vload4(size_t offset, const __local uchar *p);
   12741 short4 __ovld vload4(size_t offset, const __local short *p);
   12742 ushort4 __ovld vload4(size_t offset, const __local ushort *p);
   12743 int4 __ovld vload4(size_t offset, const __local int *p);
   12744 uint4 __ovld vload4(size_t offset, const __local uint *p);
   12745 long4 __ovld vload4(size_t offset, const __local long *p);
   12746 ulong4 __ovld vload4(size_t offset, const __local ulong *p);
   12747 float4 __ovld vload4(size_t offset, const __local float *p);
   12748 char8 __ovld vload8(size_t offset, const __local char *p);
   12749 uchar8 __ovld vload8(size_t offset, const __local uchar *p);
   12750 short8 __ovld vload8(size_t offset, const __local short *p);
   12751 ushort8 __ovld vload8(size_t offset, const __local ushort *p);
   12752 int8 __ovld vload8(size_t offset, const __local int *p);
   12753 uint8 __ovld vload8(size_t offset, const __local uint *p);
   12754 long8 __ovld vload8(size_t offset, const __local long *p);
   12755 ulong8 __ovld vload8(size_t offset, const __local ulong *p);
   12756 float8 __ovld vload8(size_t offset, const __local float *p);
   12757 char16 __ovld vload16(size_t offset, const __local char *p);
   12758 uchar16 __ovld vload16(size_t offset, const __local uchar *p);
   12759 short16 __ovld vload16(size_t offset, const __local short *p);
   12760 ushort16 __ovld vload16(size_t offset, const __local ushort *p);
   12761 int16 __ovld vload16(size_t offset, const __local int *p);
   12762 uint16 __ovld vload16(size_t offset, const __local uint *p);
   12763 long16 __ovld vload16(size_t offset, const __local long *p);
   12764 ulong16 __ovld vload16(size_t offset, const __local ulong *p);
   12765 float16 __ovld vload16(size_t offset, const __local float *p);
   12766 char2 __ovld vload2(size_t offset, const __private char *p);
   12767 uchar2 __ovld vload2(size_t offset, const __private uchar *p);
   12768 short2 __ovld vload2(size_t offset, const __private short *p);
   12769 ushort2 __ovld vload2(size_t offset, const __private ushort *p);
   12770 int2 __ovld vload2(size_t offset, const __private int *p);
   12771 uint2 __ovld vload2(size_t offset, const __private uint *p);
   12772 long2 __ovld vload2(size_t offset, const __private long *p);
   12773 ulong2 __ovld vload2(size_t offset, const __private ulong *p);
   12774 float2 __ovld vload2(size_t offset, const __private float *p);
   12775 char3 __ovld vload3(size_t offset, const __private char *p);
   12776 uchar3 __ovld vload3(size_t offset, const __private uchar *p);
   12777 short3 __ovld vload3(size_t offset, const __private short *p);
   12778 ushort3 __ovld vload3(size_t offset, const __private ushort *p);
   12779 int3 __ovld vload3(size_t offset, const __private int *p);
   12780 uint3 __ovld vload3(size_t offset, const __private uint *p);
   12781 long3 __ovld vload3(size_t offset, const __private long *p);
   12782 ulong3 __ovld vload3(size_t offset, const __private ulong *p);
   12783 float3 __ovld vload3(size_t offset, const __private float *p);
   12784 char4 __ovld vload4(size_t offset, const __private char *p);
   12785 uchar4 __ovld vload4(size_t offset, const __private uchar *p);
   12786 short4 __ovld vload4(size_t offset, const __private short *p);
   12787 ushort4 __ovld vload4(size_t offset, const __private ushort *p);
   12788 int4 __ovld vload4(size_t offset, const __private int *p);
   12789 uint4 __ovld vload4(size_t offset, const __private uint *p);
   12790 long4 __ovld vload4(size_t offset, const __private long *p);
   12791 ulong4 __ovld vload4(size_t offset, const __private ulong *p);
   12792 float4 __ovld vload4(size_t offset, const __private float *p);
   12793 char8 __ovld vload8(size_t offset, const __private char *p);
   12794 uchar8 __ovld vload8(size_t offset, const __private uchar *p);
   12795 short8 __ovld vload8(size_t offset, const __private short *p);
   12796 ushort8 __ovld vload8(size_t offset, const __private ushort *p);
   12797 int8 __ovld vload8(size_t offset, const __private int *p);
   12798 uint8 __ovld vload8(size_t offset, const __private uint *p);
   12799 long8 __ovld vload8(size_t offset, const __private long *p);
   12800 ulong8 __ovld vload8(size_t offset, const __private ulong *p);
   12801 float8 __ovld vload8(size_t offset, const __private float *p);
   12802 char16 __ovld vload16(size_t offset, const __private char *p);
   12803 uchar16 __ovld vload16(size_t offset, const __private uchar *p);
   12804 short16 __ovld vload16(size_t offset, const __private short *p);
   12805 ushort16 __ovld vload16(size_t offset, const __private ushort *p);
   12806 int16 __ovld vload16(size_t offset, const __private int *p);
   12807 uint16 __ovld vload16(size_t offset, const __private uint *p);
   12808 long16 __ovld vload16(size_t offset, const __private long *p);
   12809 ulong16 __ovld vload16(size_t offset, const __private ulong *p);
   12810 float16 __ovld vload16(size_t offset, const __private float *p);
   12811 
   12812 #ifdef cl_khr_fp64
   12813 double2 __ovld vload2(size_t offset, const __global double *p);
   12814 double3 __ovld vload3(size_t offset, const __global double *p);
   12815 double4 __ovld vload4(size_t offset, const __global double *p);
   12816 double8 __ovld vload8(size_t offset, const __global double *p);
   12817 double16 __ovld vload16(size_t offset, const __global double *p);
   12818 double2 __ovld vload2(size_t offset, const __local double *p);
   12819 double3 __ovld vload3(size_t offset, const __local double *p);
   12820 double4 __ovld vload4(size_t offset, const __local double *p);
   12821 double8 __ovld vload8(size_t offset, const __local double *p);
   12822 double16 __ovld vload16(size_t offset, const __local double *p);
   12823 double2 __ovld vload2(size_t offset, const __private double *p);
   12824 double3 __ovld vload3(size_t offset, const __private double *p);
   12825 double4 __ovld vload4(size_t offset, const __private double *p);
   12826 double8 __ovld vload8(size_t offset, const __private double *p);
   12827 double16 __ovld vload16(size_t offset, const __private double *p);
   12828 #endif //cl_khr_fp64
   12829 
   12830 #ifdef cl_khr_fp16
   12831 half __ovld vload(size_t offset, const __global half *p);
   12832 half2 __ovld vload2(size_t offset, const __global half *p);
   12833 half3 __ovld vload3(size_t offset, const __global half *p);
   12834 half4 __ovld vload4(size_t offset, const __global half *p);
   12835 half8 __ovld vload8(size_t offset, const __global half *p);
   12836 half16 __ovld vload16(size_t offset, const __global half *p);
   12837 half __ovld vload(size_t offset, const __local half *p);
   12838 half2 __ovld vload2(size_t offset, const __local half *p);
   12839 half3 __ovld vload3(size_t offset, const __local half *p);
   12840 half4 __ovld vload4(size_t offset, const __local half *p);
   12841 half8 __ovld vload8(size_t offset, const __local half *p);
   12842 half16 __ovld vload16(size_t offset, const __local half *p);
   12843 half __ovld vload(size_t offset, const __private half *p);
   12844 half2 __ovld vload2(size_t offset, const __private half *p);
   12845 half3 __ovld vload3(size_t offset, const __private half *p);
   12846 half4 __ovld vload4(size_t offset, const __private half *p);
   12847 half8 __ovld vload8(size_t offset, const __private half *p);
   12848 half16 __ovld vload16(size_t offset, const __private half *p);
   12849 #endif //cl_khr_fp16
   12850 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   12851 
   12852 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   12853 void __ovld vstore2(char2 data, size_t offset, char *p);
   12854 void __ovld vstore2(uchar2 data, size_t offset, uchar *p);
   12855 void __ovld vstore2(short2 data, size_t offset, short *p);
   12856 void __ovld vstore2(ushort2 data, size_t offset, ushort *p);
   12857 void __ovld vstore2(int2 data, size_t offset, int *p);
   12858 void __ovld vstore2(uint2 data, size_t offset, uint *p);
   12859 void __ovld vstore2(long2 data, size_t offset, long *p);
   12860 void __ovld vstore2(ulong2 data, size_t offset, ulong *p);
   12861 void __ovld vstore2(float2 data, size_t offset, float *p);
   12862 void __ovld vstore3(char3 data, size_t offset, char *p);
   12863 void __ovld vstore3(uchar3 data, size_t offset, uchar *p);
   12864 void __ovld vstore3(short3 data, size_t offset, short *p);
   12865 void __ovld vstore3(ushort3 data, size_t offset, ushort *p);
   12866 void __ovld vstore3(int3 data, size_t offset, int *p);
   12867 void __ovld vstore3(uint3 data, size_t offset, uint *p);
   12868 void __ovld vstore3(long3 data, size_t offset, long *p);
   12869 void __ovld vstore3(ulong3 data, size_t offset, ulong *p);
   12870 void __ovld vstore3(float3 data, size_t offset, float *p);
   12871 void __ovld vstore4(char4 data, size_t offset, char *p);
   12872 void __ovld vstore4(uchar4 data, size_t offset, uchar *p);
   12873 void __ovld vstore4(short4 data, size_t offset, short *p);
   12874 void __ovld vstore4(ushort4 data, size_t offset, ushort *p);
   12875 void __ovld vstore4(int4 data, size_t offset, int *p);
   12876 void __ovld vstore4(uint4 data, size_t offset, uint *p);
   12877 void __ovld vstore4(long4 data, size_t offset, long *p);
   12878 void __ovld vstore4(ulong4 data, size_t offset, ulong *p);
   12879 void __ovld vstore4(float4 data, size_t offset, float *p);
   12880 void __ovld vstore8(char8 data, size_t offset, char *p);
   12881 void __ovld vstore8(uchar8 data, size_t offset, uchar *p);
   12882 void __ovld vstore8(short8 data, size_t offset, short *p);
   12883 void __ovld vstore8(ushort8 data, size_t offset, ushort *p);
   12884 void __ovld vstore8(int8 data, size_t offset, int *p);
   12885 void __ovld vstore8(uint8 data, size_t offset, uint *p);
   12886 void __ovld vstore8(long8 data, size_t offset, long *p);
   12887 void __ovld vstore8(ulong8 data, size_t offset, ulong *p);
   12888 void __ovld vstore8(float8 data, size_t offset, float *p);
   12889 void __ovld vstore16(char16 data, size_t offset, char *p);
   12890 void __ovld vstore16(uchar16 data, size_t offset, uchar *p);
   12891 void __ovld vstore16(short16 data, size_t offset, short *p);
   12892 void __ovld vstore16(ushort16 data, size_t offset, ushort *p);
   12893 void __ovld vstore16(int16 data, size_t offset, int *p);
   12894 void __ovld vstore16(uint16 data, size_t offset, uint *p);
   12895 void __ovld vstore16(long16 data, size_t offset, long *p);
   12896 void __ovld vstore16(ulong16 data, size_t offset, ulong *p);
   12897 void __ovld vstore16(float16 data, size_t offset, float *p);
   12898 #ifdef cl_khr_fp64
   12899 void __ovld vstore2(double2 data, size_t offset, double *p);
   12900 void __ovld vstore3(double3 data, size_t offset, double *p);
   12901 void __ovld vstore4(double4 data, size_t offset, double *p);
   12902 void __ovld vstore8(double8 data, size_t offset, double *p);
   12903 void __ovld vstore16(double16 data, size_t offset, double *p);
   12904 #endif //cl_khr_fp64
   12905 #ifdef cl_khr_fp16
   12906 void __ovld vstore(half data, size_t offset, half *p);
   12907 void __ovld vstore2(half2 data, size_t offset, half *p);
   12908 void __ovld vstore3(half3 data, size_t offset, half *p);
   12909 void __ovld vstore4(half4 data, size_t offset, half *p);
   12910 void __ovld vstore8(half8 data, size_t offset, half *p);
   12911 void __ovld vstore16(half16 data, size_t offset, half *p);
   12912 #endif //cl_khr_fp16
   12913 #else
   12914 void __ovld vstore2(char2 data, size_t offset, __global char *p);
   12915 void __ovld vstore2(uchar2 data, size_t offset, __global uchar *p);
   12916 void __ovld vstore2(short2 data, size_t offset, __global short *p);
   12917 void __ovld vstore2(ushort2 data, size_t offset, __global ushort *p);
   12918 void __ovld vstore2(int2 data, size_t offset, __global int *p);
   12919 void __ovld vstore2(uint2 data, size_t offset, __global uint *p);
   12920 void __ovld vstore2(long2 data, size_t offset, __global long *p);
   12921 void __ovld vstore2(ulong2 data, size_t offset, __global ulong *p);
   12922 void __ovld vstore2(float2 data, size_t offset, __global float *p);
   12923 void __ovld vstore3(char3 data, size_t offset, __global char *p);
   12924 void __ovld vstore3(uchar3 data, size_t offset, __global uchar *p);
   12925 void __ovld vstore3(short3 data, size_t offset, __global short *p);
   12926 void __ovld vstore3(ushort3 data, size_t offset, __global ushort *p);
   12927 void __ovld vstore3(int3 data, size_t offset, __global int *p);
   12928 void __ovld vstore3(uint3 data, size_t offset, __global uint *p);
   12929 void __ovld vstore3(long3 data, size_t offset, __global long *p);
   12930 void __ovld vstore3(ulong3 data, size_t offset, __global ulong *p);
   12931 void __ovld vstore3(float3 data, size_t offset, __global float *p);
   12932 void __ovld vstore4(char4 data, size_t offset, __global char *p);
   12933 void __ovld vstore4(uchar4 data, size_t offset, __global uchar *p);
   12934 void __ovld vstore4(short4 data, size_t offset, __global short *p);
   12935 void __ovld vstore4(ushort4 data, size_t offset, __global ushort *p);
   12936 void __ovld vstore4(int4 data, size_t offset, __global int *p);
   12937 void __ovld vstore4(uint4 data, size_t offset, __global uint *p);
   12938 void __ovld vstore4(long4 data, size_t offset, __global long *p);
   12939 void __ovld vstore4(ulong4 data, size_t offset, __global ulong *p);
   12940 void __ovld vstore4(float4 data, size_t offset, __global float *p);
   12941 void __ovld vstore8(char8 data, size_t offset, __global char *p);
   12942 void __ovld vstore8(uchar8 data, size_t offset, __global uchar *p);
   12943 void __ovld vstore8(short8 data, size_t offset, __global short *p);
   12944 void __ovld vstore8(ushort8 data, size_t offset, __global ushort *p);
   12945 void __ovld vstore8(int8 data, size_t offset, __global int *p);
   12946 void __ovld vstore8(uint8 data, size_t offset, __global uint *p);
   12947 void __ovld vstore8(long8 data, size_t offset, __global long *p);
   12948 void __ovld vstore8(ulong8 data, size_t offset, __global ulong *p);
   12949 void __ovld vstore8(float8 data, size_t offset, __global float *p);
   12950 void __ovld vstore16(char16 data, size_t offset, __global char *p);
   12951 void __ovld vstore16(uchar16 data, size_t offset, __global uchar *p);
   12952 void __ovld vstore16(short16 data, size_t offset, __global short *p);
   12953 void __ovld vstore16(ushort16 data, size_t offset, __global ushort *p);
   12954 void __ovld vstore16(int16 data, size_t offset, __global int *p);
   12955 void __ovld vstore16(uint16 data, size_t offset, __global uint *p);
   12956 void __ovld vstore16(long16 data, size_t offset, __global long *p);
   12957 void __ovld vstore16(ulong16 data, size_t offset, __global ulong *p);
   12958 void __ovld vstore16(float16 data, size_t offset, __global float *p);
   12959 void __ovld vstore2(char2 data, size_t offset, __local char *p);
   12960 void __ovld vstore2(uchar2 data, size_t offset, __local uchar *p);
   12961 void __ovld vstore2(short2 data, size_t offset, __local short *p);
   12962 void __ovld vstore2(ushort2 data, size_t offset, __local ushort *p);
   12963 void __ovld vstore2(int2 data, size_t offset, __local int *p);
   12964 void __ovld vstore2(uint2 data, size_t offset, __local uint *p);
   12965 void __ovld vstore2(long2 data, size_t offset, __local long *p);
   12966 void __ovld vstore2(ulong2 data, size_t offset, __local ulong *p);
   12967 void __ovld vstore2(float2 data, size_t offset, __local float *p);
   12968 void __ovld vstore3(char3 data, size_t offset, __local char *p);
   12969 void __ovld vstore3(uchar3 data, size_t offset, __local uchar *p);
   12970 void __ovld vstore3(short3 data, size_t offset, __local short *p);
   12971 void __ovld vstore3(ushort3 data, size_t offset, __local ushort *p);
   12972 void __ovld vstore3(int3 data, size_t offset, __local int *p);
   12973 void __ovld vstore3(uint3 data, size_t offset, __local uint *p);
   12974 void __ovld vstore3(long3 data, size_t offset, __local long *p);
   12975 void __ovld vstore3(ulong3 data, size_t offset, __local ulong *p);
   12976 void __ovld vstore3(float3 data, size_t offset, __local float *p);
   12977 void __ovld vstore4(char4 data, size_t offset, __local char *p);
   12978 void __ovld vstore4(uchar4 data, size_t offset, __local uchar *p);
   12979 void __ovld vstore4(short4 data, size_t offset, __local short *p);
   12980 void __ovld vstore4(ushort4 data, size_t offset, __local ushort *p);
   12981 void __ovld vstore4(int4 data, size_t offset, __local int *p);
   12982 void __ovld vstore4(uint4 data, size_t offset, __local uint *p);
   12983 void __ovld vstore4(long4 data, size_t offset, __local long *p);
   12984 void __ovld vstore4(ulong4 data, size_t offset, __local ulong *p);
   12985 void __ovld vstore4(float4 data, size_t offset, __local float *p);
   12986 void __ovld vstore8(char8 data, size_t offset, __local char *p);
   12987 void __ovld vstore8(uchar8 data, size_t offset, __local uchar *p);
   12988 void __ovld vstore8(short8 data, size_t offset, __local short *p);
   12989 void __ovld vstore8(ushort8 data, size_t offset, __local ushort *p);
   12990 void __ovld vstore8(int8 data, size_t offset, __local int *p);
   12991 void __ovld vstore8(uint8 data, size_t offset, __local uint *p);
   12992 void __ovld vstore8(long8 data, size_t offset, __local long *p);
   12993 void __ovld vstore8(ulong8 data, size_t offset, __local ulong *p);
   12994 void __ovld vstore8(float8 data, size_t offset, __local float *p);
   12995 void __ovld vstore16(char16 data, size_t offset, __local char *p);
   12996 void __ovld vstore16(uchar16 data, size_t offset, __local uchar *p);
   12997 void __ovld vstore16(short16 data, size_t offset, __local short *p);
   12998 void __ovld vstore16(ushort16 data, size_t offset, __local ushort *p);
   12999 void __ovld vstore16(int16 data, size_t offset, __local int *p);
   13000 void __ovld vstore16(uint16 data, size_t offset, __local uint *p);
   13001 void __ovld vstore16(long16 data, size_t offset, __local long *p);
   13002 void __ovld vstore16(ulong16 data, size_t offset, __local ulong *p);
   13003 void __ovld vstore16(float16 data, size_t offset, __local float *p);
   13004 void __ovld vstore2(char2 data, size_t offset, __private char *p);
   13005 void __ovld vstore2(uchar2 data, size_t offset, __private uchar *p);
   13006 void __ovld vstore2(short2 data, size_t offset, __private short *p);
   13007 void __ovld vstore2(ushort2 data, size_t offset, __private ushort *p);
   13008 void __ovld vstore2(int2 data, size_t offset, __private int *p);
   13009 void __ovld vstore2(uint2 data, size_t offset, __private uint *p);
   13010 void __ovld vstore2(long2 data, size_t offset, __private long *p);
   13011 void __ovld vstore2(ulong2 data, size_t offset, __private ulong *p);
   13012 void __ovld vstore2(float2 data, size_t offset, __private float *p);
   13013 void __ovld vstore3(char3 data, size_t offset, __private char *p);
   13014 void __ovld vstore3(uchar3 data, size_t offset, __private uchar *p);
   13015 void __ovld vstore3(short3 data, size_t offset, __private short *p);
   13016 void __ovld vstore3(ushort3 data, size_t offset, __private ushort *p);
   13017 void __ovld vstore3(int3 data, size_t offset, __private int *p);
   13018 void __ovld vstore3(uint3 data, size_t offset, __private uint *p);
   13019 void __ovld vstore3(long3 data, size_t offset, __private long *p);
   13020 void __ovld vstore3(ulong3 data, size_t offset, __private ulong *p);
   13021 void __ovld vstore3(float3 data, size_t offset, __private float *p);
   13022 void __ovld vstore4(char4 data, size_t offset, __private char *p);
   13023 void __ovld vstore4(uchar4 data, size_t offset, __private uchar *p);
   13024 void __ovld vstore4(short4 data, size_t offset, __private short *p);
   13025 void __ovld vstore4(ushort4 data, size_t offset, __private ushort *p);
   13026 void __ovld vstore4(int4 data, size_t offset, __private int *p);
   13027 void __ovld vstore4(uint4 data, size_t offset, __private uint *p);
   13028 void __ovld vstore4(long4 data, size_t offset, __private long *p);
   13029 void __ovld vstore4(ulong4 data, size_t offset, __private ulong *p);
   13030 void __ovld vstore4(float4 data, size_t offset, __private float *p);
   13031 void __ovld vstore8(char8 data, size_t offset, __private char *p);
   13032 void __ovld vstore8(uchar8 data, size_t offset, __private uchar *p);
   13033 void __ovld vstore8(short8 data, size_t offset, __private short *p);
   13034 void __ovld vstore8(ushort8 data, size_t offset, __private ushort *p);
   13035 void __ovld vstore8(int8 data, size_t offset, __private int *p);
   13036 void __ovld vstore8(uint8 data, size_t offset, __private uint *p);
   13037 void __ovld vstore8(long8 data, size_t offset, __private long *p);
   13038 void __ovld vstore8(ulong8 data, size_t offset, __private ulong *p);
   13039 void __ovld vstore8(float8 data, size_t offset, __private float *p);
   13040 void __ovld vstore16(char16 data, size_t offset, __private char *p);
   13041 void __ovld vstore16(uchar16 data, size_t offset, __private uchar *p);
   13042 void __ovld vstore16(short16 data, size_t offset, __private short *p);
   13043 void __ovld vstore16(ushort16 data, size_t offset, __private ushort *p);
   13044 void __ovld vstore16(int16 data, size_t offset, __private int *p);
   13045 void __ovld vstore16(uint16 data, size_t offset, __private uint *p);
   13046 void __ovld vstore16(long16 data, size_t offset, __private long *p);
   13047 void __ovld vstore16(ulong16 data, size_t offset, __private ulong *p);
   13048 void __ovld vstore16(float16 data, size_t offset, __private float *p);
   13049 #ifdef cl_khr_fp64
   13050 void __ovld vstore2(double2 data, size_t offset, __global double *p);
   13051 void __ovld vstore3(double3 data, size_t offset, __global double *p);
   13052 void __ovld vstore4(double4 data, size_t offset, __global double *p);
   13053 void __ovld vstore8(double8 data, size_t offset, __global double *p);
   13054 void __ovld vstore16(double16 data, size_t offset, __global double *p);
   13055 void __ovld vstore2(double2 data, size_t offset, __local double *p);
   13056 void __ovld vstore3(double3 data, size_t offset, __local double *p);
   13057 void __ovld vstore4(double4 data, size_t offset, __local double *p);
   13058 void __ovld vstore8(double8 data, size_t offset, __local double *p);
   13059 void __ovld vstore16(double16 data, size_t offset, __local double *p);
   13060 void __ovld vstore2(double2 data, size_t offset, __private double *p);
   13061 void __ovld vstore3(double3 data, size_t offset, __private double *p);
   13062 void __ovld vstore4(double4 data, size_t offset, __private double *p);
   13063 void __ovld vstore8(double8 data, size_t offset, __private double *p);
   13064 void __ovld vstore16(double16 data, size_t offset, __private double *p);
   13065 #endif //cl_khr_fp64
   13066 #ifdef cl_khr_fp16
   13067 void __ovld vstore(half data, size_t offset, __global half *p);
   13068 void __ovld vstore2(half2 data, size_t offset, __global half *p);
   13069 void __ovld vstore3(half3 data, size_t offset, __global half *p);
   13070 void __ovld vstore4(half4 data, size_t offset, __global half *p);
   13071 void __ovld vstore8(half8 data, size_t offset, __global half *p);
   13072 void __ovld vstore16(half16 data, size_t offset, __global half *p);
   13073 void __ovld vstore(half data, size_t offset, __local half *p);
   13074 void __ovld vstore2(half2 data, size_t offset, __local half *p);
   13075 void __ovld vstore3(half3 data, size_t offset, __local half *p);
   13076 void __ovld vstore4(half4 data, size_t offset, __local half *p);
   13077 void __ovld vstore8(half8 data, size_t offset, __local half *p);
   13078 void __ovld vstore16(half16 data, size_t offset, __local half *p);
   13079 void __ovld vstore(half data, size_t offset, __private half *p);
   13080 void __ovld vstore2(half2 data, size_t offset, __private half *p);
   13081 void __ovld vstore3(half3 data, size_t offset, __private half *p);
   13082 void __ovld vstore4(half4 data, size_t offset, __private half *p);
   13083 void __ovld vstore8(half8 data, size_t offset, __private half *p);
   13084 void __ovld vstore16(half16 data, size_t offset, __private half *p);
   13085 #endif //cl_khr_fp16
   13086 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   13087 
   13088 /**
   13089  * Read sizeof (half) bytes of data from address
   13090  * (p + offset). The data read is interpreted as a
   13091  * half value. The half value is converted to a
   13092  * float value and the float value is returned.
   13093  * The read address computed as (p + offset)
   13094  * must be 16-bit aligned.
   13095  */
   13096 float __ovld vload_half(size_t offset, const __constant half *p);
   13097 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   13098 float __ovld vload_half(size_t offset, const half *p);
   13099 #else
   13100 float __ovld vload_half(size_t offset, const __global half *p);
   13101 float __ovld vload_half(size_t offset, const __local half *p);
   13102 float __ovld vload_half(size_t offset, const __private half *p);
   13103 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   13104 
   13105 /**
   13106  * Read sizeof (halfn) bytes of data from address
   13107  * (p + (offset * n)). The data read is interpreted
   13108  * as a halfn value. The halfn value read is
   13109  * converted to a floatn value and the floatn
   13110  * value is returned. The read address computed
   13111  * as (p + (offset * n)) must be 16-bit aligned.
   13112  */
   13113 float2 __ovld vload_half2(size_t offset, const __constant half *p);
   13114 float3 __ovld vload_half3(size_t offset, const __constant half *p);
   13115 float4 __ovld vload_half4(size_t offset, const __constant half *p);
   13116 float8 __ovld vload_half8(size_t offset, const __constant half *p);
   13117 float16 __ovld vload_half16(size_t offset, const __constant half *p);
   13118 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   13119 float2 __ovld vload_half2(size_t offset, const half *p);
   13120 float3 __ovld vload_half3(size_t offset, const half *p);
   13121 float4 __ovld vload_half4(size_t offset, const half *p);
   13122 float8 __ovld vload_half8(size_t offset, const half *p);
   13123 float16 __ovld vload_half16(size_t offset, const half *p);
   13124 #else
   13125 float2 __ovld vload_half2(size_t offset, const __global half *p);
   13126 float3 __ovld vload_half3(size_t offset, const __global half *p);
   13127 float4 __ovld vload_half4(size_t offset, const __global half *p);
   13128 float8 __ovld vload_half8(size_t offset, const __global half *p);
   13129 float16 __ovld vload_half16(size_t offset, const __global half *p);
   13130 float2 __ovld vload_half2(size_t offset, const __local half *p);
   13131 float3 __ovld vload_half3(size_t offset, const __local half *p);
   13132 float4 __ovld vload_half4(size_t offset, const __local half *p);
   13133 float8 __ovld vload_half8(size_t offset, const __local half *p);
   13134 float16 __ovld vload_half16(size_t offset, const __local half *p);
   13135 float2 __ovld vload_half2(size_t offset, const __private half *p);
   13136 float3 __ovld vload_half3(size_t offset, const __private half *p);
   13137 float4 __ovld vload_half4(size_t offset, const __private half *p);
   13138 float8 __ovld vload_half8(size_t offset, const __private half *p);
   13139 float16 __ovld vload_half16(size_t offset, const __private half *p);
   13140 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   13141 
   13142 /**
   13143  * The float value given by data is first
   13144  * converted to a half value using the appropriate
   13145  * rounding mode. The half value is then written
   13146  * to address computed as (p + offset). The
   13147  * address computed as (p + offset) must be 16-
   13148  * bit aligned.
   13149  * vstore_half use the current rounding mode.
   13150  * The default current rounding mode is round to
   13151  * nearest even.
   13152  */
   13153 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   13154 void __ovld vstore_half(float data, size_t offset, half *p);
   13155 void __ovld vstore_half_rte(float data, size_t offset, half *p);
   13156 void __ovld vstore_half_rtz(float data, size_t offset, half *p);
   13157 void __ovld vstore_half_rtp(float data, size_t offset, half *p);
   13158 void __ovld vstore_half_rtn(float data, size_t offset, half *p);
   13159 #ifdef cl_khr_fp64
   13160 void __ovld vstore_half(double data, size_t offset, half *p);
   13161 void __ovld vstore_half_rte(double data, size_t offset, half *p);
   13162 void __ovld vstore_half_rtz(double data, size_t offset, half *p);
   13163 void __ovld vstore_half_rtp(double data, size_t offset, half *p);
   13164 void __ovld vstore_half_rtn(double data, size_t offset, half *p);
   13165 #endif //cl_khr_fp64
   13166 #else
   13167 void __ovld vstore_half(float data, size_t offset, __global half *p);
   13168 void __ovld vstore_half_rte(float data, size_t offset, __global half *p);
   13169 void __ovld vstore_half_rtz(float data, size_t offset, __global half *p);
   13170 void __ovld vstore_half_rtp(float data, size_t offset, __global half *p);
   13171 void __ovld vstore_half_rtn(float data, size_t offset, __global half *p);
   13172 void __ovld vstore_half(float data, size_t offset, __local half *p);
   13173 void __ovld vstore_half_rte(float data, size_t offset, __local half *p);
   13174 void __ovld vstore_half_rtz(float data, size_t offset, __local half *p);
   13175 void __ovld vstore_half_rtp(float data, size_t offset, __local half *p);
   13176 void __ovld vstore_half_rtn(float data, size_t offset, __local half *p);
   13177 void __ovld vstore_half(float data, size_t offset, __private half *p);
   13178 void __ovld vstore_half_rte(float data, size_t offset, __private half *p);
   13179 void __ovld vstore_half_rtz(float data, size_t offset, __private half *p);
   13180 void __ovld vstore_half_rtp(float data, size_t offset, __private half *p);
   13181 void __ovld vstore_half_rtn(float data, size_t offset, __private half *p);
   13182 #ifdef cl_khr_fp64
   13183 void __ovld vstore_half(double data, size_t offset, __global half *p);
   13184 void __ovld vstore_half_rte(double data, size_t offset, __global half *p);
   13185 void __ovld vstore_half_rtz(double data, size_t offset, __global half *p);
   13186 void __ovld vstore_half_rtp(double data, size_t offset, __global half *p);
   13187 void __ovld vstore_half_rtn(double data, size_t offset, __global half *p);
   13188 void __ovld vstore_half(double data, size_t offset, __local half *p);
   13189 void __ovld vstore_half_rte(double data, size_t offset, __local half *p);
   13190 void __ovld vstore_half_rtz(double data, size_t offset, __local half *p);
   13191 void __ovld vstore_half_rtp(double data, size_t offset, __local half *p);
   13192 void __ovld vstore_half_rtn(double data, size_t offset, __local half *p);
   13193 void __ovld vstore_half(double data, size_t offset, __private half *p);
   13194 void __ovld vstore_half_rte(double data, size_t offset, __private half *p);
   13195 void __ovld vstore_half_rtz(double data, size_t offset, __private half *p);
   13196 void __ovld vstore_half_rtp(double data, size_t offset, __private half *p);
   13197 void __ovld vstore_half_rtn(double data, size_t offset, __private half *p);
   13198 #endif //cl_khr_fp64
   13199 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   13200 
   13201 /**
   13202  * The floatn value given by data is converted to
   13203  * a halfn value using the appropriate rounding
   13204  * mode. The halfn value is then written to
   13205  * address computed as (p + (offset * n)). The
   13206  * address computed as (p + (offset * n)) must be
   13207  * 16-bit aligned.
   13208  * vstore_halfn uses the current rounding mode.
   13209  * The default current rounding mode is round to
   13210  * nearest even.
   13211  */
   13212 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   13213 void __ovld vstore_half2(float2 data, size_t offset, half *p);
   13214 void __ovld vstore_half3(float3 data, size_t offset, half *p);
   13215 void __ovld vstore_half4(float4 data, size_t offset, half *p);
   13216 void __ovld vstore_half8(float8 data, size_t offset, half *p);
   13217 void __ovld vstore_half16(float16 data, size_t offset, half *p);
   13218 void __ovld vstore_half2_rte(float2 data, size_t offset, half *p);
   13219 void __ovld vstore_half3_rte(float3 data, size_t offset, half *p);
   13220 void __ovld vstore_half4_rte(float4 data, size_t offset, half *p);
   13221 void __ovld vstore_half8_rte(float8 data, size_t offset, half *p);
   13222 void __ovld vstore_half16_rte(float16 data, size_t offset, half *p);
   13223 void __ovld vstore_half2_rtz(float2 data, size_t offset, half *p);
   13224 void __ovld vstore_half3_rtz(float3 data, size_t offset, half *p);
   13225 void __ovld vstore_half4_rtz(float4 data, size_t offset, half *p);
   13226 void __ovld vstore_half8_rtz(float8 data, size_t offset, half *p);
   13227 void __ovld vstore_half16_rtz(float16 data, size_t offset, half *p);
   13228 void __ovld vstore_half2_rtp(float2 data, size_t offset, half *p);
   13229 void __ovld vstore_half3_rtp(float3 data, size_t offset, half *p);
   13230 void __ovld vstore_half4_rtp(float4 data, size_t offset, half *p);
   13231 void __ovld vstore_half8_rtp(float8 data, size_t offset, half *p);
   13232 void __ovld vstore_half16_rtp(float16 data, size_t offset, half *p);
   13233 void __ovld vstore_half2_rtn(float2 data, size_t offset, half *p);
   13234 void __ovld vstore_half3_rtn(float3 data, size_t offset, half *p);
   13235 void __ovld vstore_half4_rtn(float4 data, size_t offset, half *p);
   13236 void __ovld vstore_half8_rtn(float8 data, size_t offset, half *p);
   13237 void __ovld vstore_half16_rtn(float16 data, size_t offset, half *p);
   13238 #ifdef cl_khr_fp64
   13239 void __ovld vstore_half2(double2 data, size_t offset, half *p);
   13240 void __ovld vstore_half3(double3 data, size_t offset, half *p);
   13241 void __ovld vstore_half4(double4 data, size_t offset, half *p);
   13242 void __ovld vstore_half8(double8 data, size_t offset, half *p);
   13243 void __ovld vstore_half16(double16 data, size_t offset, half *p);
   13244 void __ovld vstore_half2_rte(double2 data, size_t offset, half *p);
   13245 void __ovld vstore_half3_rte(double3 data, size_t offset, half *p);
   13246 void __ovld vstore_half4_rte(double4 data, size_t offset, half *p);
   13247 void __ovld vstore_half8_rte(double8 data, size_t offset, half *p);
   13248 void __ovld vstore_half16_rte(double16 data, size_t offset, half *p);
   13249 void __ovld vstore_half2_rtz(double2 data, size_t offset, half *p);
   13250 void __ovld vstore_half3_rtz(double3 data, size_t offset, half *p);
   13251 void __ovld vstore_half4_rtz(double4 data, size_t offset, half *p);
   13252 void __ovld vstore_half8_rtz(double8 data, size_t offset, half *p);
   13253 void __ovld vstore_half16_rtz(double16 data, size_t offset, half *p);
   13254 void __ovld vstore_half2_rtp(double2 data, size_t offset, half *p);
   13255 void __ovld vstore_half3_rtp(double3 data, size_t offset, half *p);
   13256 void __ovld vstore_half4_rtp(double4 data, size_t offset, half *p);
   13257 void __ovld vstore_half8_rtp(double8 data, size_t offset, half *p);
   13258 void __ovld vstore_half16_rtp(double16 data, size_t offset, half *p);
   13259 void __ovld vstore_half2_rtn(double2 data, size_t offset, half *p);
   13260 void __ovld vstore_half3_rtn(double3 data, size_t offset, half *p);
   13261 void __ovld vstore_half4_rtn(double4 data, size_t offset, half *p);
   13262 void __ovld vstore_half8_rtn(double8 data, size_t offset, half *p);
   13263 void __ovld vstore_half16_rtn(double16 data, size_t offset, half *p);
   13264 #endif //cl_khr_fp64
   13265 #else
   13266 void __ovld vstore_half2(float2 data, size_t offset, __global half *p);
   13267 void __ovld vstore_half3(float3 data, size_t offset, __global half *p);
   13268 void __ovld vstore_half4(float4 data, size_t offset, __global half *p);
   13269 void __ovld vstore_half8(float8 data, size_t offset, __global half *p);
   13270 void __ovld vstore_half16(float16 data, size_t offset, __global half *p);
   13271 void __ovld vstore_half2_rte(float2 data, size_t offset, __global half *p);
   13272 void __ovld vstore_half3_rte(float3 data, size_t offset, __global half *p);
   13273 void __ovld vstore_half4_rte(float4 data, size_t offset, __global half *p);
   13274 void __ovld vstore_half8_rte(float8 data, size_t offset, __global half *p);
   13275 void __ovld vstore_half16_rte(float16 data, size_t offset, __global half *p);
   13276 void __ovld vstore_half2_rtz(float2 data, size_t offset, __global half *p);
   13277 void __ovld vstore_half3_rtz(float3 data, size_t offset, __global half *p);
   13278 void __ovld vstore_half4_rtz(float4 data, size_t offset, __global half *p);
   13279 void __ovld vstore_half8_rtz(float8 data, size_t offset, __global half *p);
   13280 void __ovld vstore_half16_rtz(float16 data, size_t offset, __global half *p);
   13281 void __ovld vstore_half2_rtp(float2 data, size_t offset, __global half *p);
   13282 void __ovld vstore_half3_rtp(float3 data, size_t offset, __global half *p);
   13283 void __ovld vstore_half4_rtp(float4 data, size_t offset, __global half *p);
   13284 void __ovld vstore_half8_rtp(float8 data, size_t offset, __global half *p);
   13285 void __ovld vstore_half16_rtp(float16 data, size_t offset, __global half *p);
   13286 void __ovld vstore_half2_rtn(float2 data, size_t offset, __global half *p);
   13287 void __ovld vstore_half3_rtn(float3 data, size_t offset, __global half *p);
   13288 void __ovld vstore_half4_rtn(float4 data, size_t offset, __global half *p);
   13289 void __ovld vstore_half8_rtn(float8 data, size_t offset, __global half *p);
   13290 void __ovld vstore_half16_rtn(float16 data, size_t offset, __global half *p);
   13291 void __ovld vstore_half2(float2 data, size_t offset, __local half *p);
   13292 void __ovld vstore_half3(float3 data, size_t offset, __local half *p);
   13293 void __ovld vstore_half4(float4 data, size_t offset, __local half *p);
   13294 void __ovld vstore_half8(float8 data, size_t offset, __local half *p);
   13295 void __ovld vstore_half16(float16 data, size_t offset, __local half *p);
   13296 void __ovld vstore_half2_rte(float2 data, size_t offset, __local half *p);
   13297 void __ovld vstore_half3_rte(float3 data, size_t offset, __local half *p);
   13298 void __ovld vstore_half4_rte(float4 data, size_t offset, __local half *p);
   13299 void __ovld vstore_half8_rte(float8 data, size_t offset, __local half *p);
   13300 void __ovld vstore_half16_rte(float16 data, size_t offset, __local half *p);
   13301 void __ovld vstore_half2_rtz(float2 data, size_t offset, __local half *p);
   13302 void __ovld vstore_half3_rtz(float3 data, size_t offset, __local half *p);
   13303 void __ovld vstore_half4_rtz(float4 data, size_t offset, __local half *p);
   13304 void __ovld vstore_half8_rtz(float8 data, size_t offset, __local half *p);
   13305 void __ovld vstore_half16_rtz(float16 data, size_t offset, __local half *p);
   13306 void __ovld vstore_half2_rtp(float2 data, size_t offset, __local half *p);
   13307 void __ovld vstore_half3_rtp(float3 data, size_t offset, __local half *p);
   13308 void __ovld vstore_half4_rtp(float4 data, size_t offset, __local half *p);
   13309 void __ovld vstore_half8_rtp(float8 data, size_t offset, __local half *p);
   13310 void __ovld vstore_half16_rtp(float16 data, size_t offset, __local half *p);
   13311 void __ovld vstore_half2_rtn(float2 data, size_t offset, __local half *p);
   13312 void __ovld vstore_half3_rtn(float3 data, size_t offset, __local half *p);
   13313 void __ovld vstore_half4_rtn(float4 data, size_t offset, __local half *p);
   13314 void __ovld vstore_half8_rtn(float8 data, size_t offset, __local half *p);
   13315 void __ovld vstore_half16_rtn(float16 data, size_t offset, __local half *p);
   13316 void __ovld vstore_half2(float2 data, size_t offset, __private half *p);
   13317 void __ovld vstore_half3(float3 data, size_t offset, __private half *p);
   13318 void __ovld vstore_half4(float4 data, size_t offset, __private half *p);
   13319 void __ovld vstore_half8(float8 data, size_t offset, __private half *p);
   13320 void __ovld vstore_half16(float16 data, size_t offset, __private half *p);
   13321 void __ovld vstore_half2_rte(float2 data, size_t offset, __private half *p);
   13322 void __ovld vstore_half3_rte(float3 data, size_t offset, __private half *p);
   13323 void __ovld vstore_half4_rte(float4 data, size_t offset, __private half *p);
   13324 void __ovld vstore_half8_rte(float8 data, size_t offset, __private half *p);
   13325 void __ovld vstore_half16_rte(float16 data, size_t offset, __private half *p);
   13326 void __ovld vstore_half2_rtz(float2 data, size_t offset, __private half *p);
   13327 void __ovld vstore_half3_rtz(float3 data, size_t offset, __private half *p);
   13328 void __ovld vstore_half4_rtz(float4 data, size_t offset, __private half *p);
   13329 void __ovld vstore_half8_rtz(float8 data, size_t offset, __private half *p);
   13330 void __ovld vstore_half16_rtz(float16 data, size_t offset, __private half *p);
   13331 void __ovld vstore_half2_rtp(float2 data, size_t offset, __private half *p);
   13332 void __ovld vstore_half3_rtp(float3 data, size_t offset, __private half *p);
   13333 void __ovld vstore_half4_rtp(float4 data, size_t offset, __private half *p);
   13334 void __ovld vstore_half8_rtp(float8 data, size_t offset, __private half *p);
   13335 void __ovld vstore_half16_rtp(float16 data, size_t offset, __private half *p);
   13336 void __ovld vstore_half2_rtn(float2 data, size_t offset, __private half *p);
   13337 void __ovld vstore_half3_rtn(float3 data, size_t offset, __private half *p);
   13338 void __ovld vstore_half4_rtn(float4 data, size_t offset, __private half *p);
   13339 void __ovld vstore_half8_rtn(float8 data, size_t offset, __private half *p);
   13340 void __ovld vstore_half16_rtn(float16 data, size_t offset, __private half *p);
   13341 #ifdef cl_khr_fp64
   13342 void __ovld vstore_half2(double2 data, size_t offset, __global half *p);
   13343 void __ovld vstore_half3(double3 data, size_t offset, __global half *p);
   13344 void __ovld vstore_half4(double4 data, size_t offset, __global half *p);
   13345 void __ovld vstore_half8(double8 data, size_t offset, __global half *p);
   13346 void __ovld vstore_half16(double16 data, size_t offset, __global half *p);
   13347 void __ovld vstore_half2_rte(double2 data, size_t offset, __global half *p);
   13348 void __ovld vstore_half3_rte(double3 data, size_t offset, __global half *p);
   13349 void __ovld vstore_half4_rte(double4 data, size_t offset, __global half *p);
   13350 void __ovld vstore_half8_rte(double8 data, size_t offset, __global half *p);
   13351 void __ovld vstore_half16_rte(double16 data, size_t offset, __global half *p);
   13352 void __ovld vstore_half2_rtz(double2 data, size_t offset, __global half *p);
   13353 void __ovld vstore_half3_rtz(double3 data, size_t offset, __global half *p);
   13354 void __ovld vstore_half4_rtz(double4 data, size_t offset, __global half *p);
   13355 void __ovld vstore_half8_rtz(double8 data, size_t offset, __global half *p);
   13356 void __ovld vstore_half16_rtz(double16 data, size_t offset, __global half *p);
   13357 void __ovld vstore_half2_rtp(double2 data, size_t offset, __global half *p);
   13358 void __ovld vstore_half3_rtp(double3 data, size_t offset, __global half *p);
   13359 void __ovld vstore_half4_rtp(double4 data, size_t offset, __global half *p);
   13360 void __ovld vstore_half8_rtp(double8 data, size_t offset, __global half *p);
   13361 void __ovld vstore_half16_rtp(double16 data, size_t offset, __global half *p);
   13362 void __ovld vstore_half2_rtn(double2 data, size_t offset, __global half *p);
   13363 void __ovld vstore_half3_rtn(double3 data, size_t offset, __global half *p);
   13364 void __ovld vstore_half4_rtn(double4 data, size_t offset, __global half *p);
   13365 void __ovld vstore_half8_rtn(double8 data, size_t offset, __global half *p);
   13366 void __ovld vstore_half16_rtn(double16 data, size_t offset, __global half *p);
   13367 void __ovld vstore_half2(double2 data, size_t offset, __local half *p);
   13368 void __ovld vstore_half3(double3 data, size_t offset, __local half *p);
   13369 void __ovld vstore_half4(double4 data, size_t offset, __local half *p);
   13370 void __ovld vstore_half8(double8 data, size_t offset, __local half *p);
   13371 void __ovld vstore_half16(double16 data, size_t offset, __local half *p);
   13372 void __ovld vstore_half2_rte(double2 data, size_t offset, __local half *p);
   13373 void __ovld vstore_half3_rte(double3 data, size_t offset, __local half *p);
   13374 void __ovld vstore_half4_rte(double4 data, size_t offset, __local half *p);
   13375 void __ovld vstore_half8_rte(double8 data, size_t offset, __local half *p);
   13376 void __ovld vstore_half16_rte(double16 data, size_t offset, __local half *p);
   13377 void __ovld vstore_half2_rtz(double2 data, size_t offset, __local half *p);
   13378 void __ovld vstore_half3_rtz(double3 data, size_t offset, __local half *p);
   13379 void __ovld vstore_half4_rtz(double4 data, size_t offset, __local half *p);
   13380 void __ovld vstore_half8_rtz(double8 data, size_t offset, __local half *p);
   13381 void __ovld vstore_half16_rtz(double16 data, size_t offset, __local half *p);
   13382 void __ovld vstore_half2_rtp(double2 data, size_t offset, __local half *p);
   13383 void __ovld vstore_half3_rtp(double3 data, size_t offset, __local half *p);
   13384 void __ovld vstore_half4_rtp(double4 data, size_t offset, __local half *p);
   13385 void __ovld vstore_half8_rtp(double8 data, size_t offset, __local half *p);
   13386 void __ovld vstore_half16_rtp(double16 data, size_t offset, __local half *p);
   13387 void __ovld vstore_half2_rtn(double2 data, size_t offset, __local half *p);
   13388 void __ovld vstore_half3_rtn(double3 data, size_t offset, __local half *p);
   13389 void __ovld vstore_half4_rtn(double4 data, size_t offset, __local half *p);
   13390 void __ovld vstore_half8_rtn(double8 data, size_t offset, __local half *p);
   13391 void __ovld vstore_half16_rtn(double16 data, size_t offset, __local half *p);
   13392 void __ovld vstore_half2(double2 data, size_t offset, __private half *p);
   13393 void __ovld vstore_half3(double3 data, size_t offset, __private half *p);
   13394 void __ovld vstore_half4(double4 data, size_t offset, __private half *p);
   13395 void __ovld vstore_half8(double8 data, size_t offset, __private half *p);
   13396 void __ovld vstore_half16(double16 data, size_t offset, __private half *p);
   13397 void __ovld vstore_half2_rte(double2 data, size_t offset, __private half *p);
   13398 void __ovld vstore_half3_rte(double3 data, size_t offset, __private half *p);
   13399 void __ovld vstore_half4_rte(double4 data, size_t offset, __private half *p);
   13400 void __ovld vstore_half8_rte(double8 data, size_t offset, __private half *p);
   13401 void __ovld vstore_half16_rte(double16 data, size_t offset, __private half *p);
   13402 void __ovld vstore_half2_rtz(double2 data, size_t offset, __private half *p);
   13403 void __ovld vstore_half3_rtz(double3 data, size_t offset, __private half *p);
   13404 void __ovld vstore_half4_rtz(double4 data, size_t offset, __private half *p);
   13405 void __ovld vstore_half8_rtz(double8 data, size_t offset, __private half *p);
   13406 void __ovld vstore_half16_rtz(double16 data, size_t offset, __private half *p);
   13407 void __ovld vstore_half2_rtp(double2 data, size_t offset, __private half *p);
   13408 void __ovld vstore_half3_rtp(double3 data, size_t offset, __private half *p);
   13409 void __ovld vstore_half4_rtp(double4 data, size_t offset, __private half *p);
   13410 void __ovld vstore_half8_rtp(double8 data, size_t offset, __private half *p);
   13411 void __ovld vstore_half16_rtp(double16 data, size_t offset, __private half *p);
   13412 void __ovld vstore_half2_rtn(double2 data, size_t offset, __private half *p);
   13413 void __ovld vstore_half3_rtn(double3 data, size_t offset, __private half *p);
   13414 void __ovld vstore_half4_rtn(double4 data, size_t offset, __private half *p);
   13415 void __ovld vstore_half8_rtn(double8 data, size_t offset, __private half *p);
   13416 void __ovld vstore_half16_rtn(double16 data, size_t offset, __private half *p);
   13417 #endif //cl_khr_fp64
   13418 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   13419 
   13420 /**
   13421  * For n = 1, 2, 4, 8 and 16 read sizeof (halfn)
   13422  * bytes of data from address (p + (offset * n)).
   13423  * The data read is interpreted as a halfn value.
   13424  * The halfn value read is converted to a floatn
   13425  * value and the floatn value is returned.
   13426  * The address computed as (p + (offset * n))
   13427  * must be aligned to sizeof (halfn) bytes.
   13428  * For n = 3, vloada_half3 reads a half3 from
   13429  * address (p + (offset * 4)) and returns a float3.
   13430  * The address computed as (p + (offset * 4))
   13431  * must be aligned to sizeof (half) * 4 bytes.
   13432  */
   13433 float __ovld vloada_half(size_t offset, const __constant half *p);
   13434 float2 __ovld vloada_half2(size_t offset, const __constant half *p);
   13435 float3 __ovld vloada_half3(size_t offset, const __constant half *p);
   13436 float4 __ovld vloada_half4(size_t offset, const __constant half *p);
   13437 float8 __ovld vloada_half8(size_t offset, const __constant half *p);
   13438 float16 __ovld vloada_half16(size_t offset, const __constant half *p);
   13439 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   13440 float __ovld vloada_half(size_t offset, const half *p);
   13441 float2 __ovld vloada_half2(size_t offset, const half *p);
   13442 float3 __ovld vloada_half3(size_t offset, const half *p);
   13443 float4 __ovld vloada_half4(size_t offset, const half *p);
   13444 float8 __ovld vloada_half8(size_t offset, const half *p);
   13445 float16 __ovld vloada_half16(size_t offset, const half *p);
   13446 #else
   13447 float __ovld vloada_half(size_t offset, const __global half *p);
   13448 float2 __ovld vloada_half2(size_t offset, const __global half *p);
   13449 float3 __ovld vloada_half3(size_t offset, const __global half *p);
   13450 float4 __ovld vloada_half4(size_t offset, const __global half *p);
   13451 float8 __ovld vloada_half8(size_t offset, const __global half *p);
   13452 float16 __ovld vloada_half16(size_t offset, const __global half *p);
   13453 float __ovld vloada_half(size_t offset, const __local half *p);
   13454 float2 __ovld vloada_half2(size_t offset, const __local half *p);
   13455 float3 __ovld vloada_half3(size_t offset, const __local half *p);
   13456 float4 __ovld vloada_half4(size_t offset, const __local half *p);
   13457 float8 __ovld vloada_half8(size_t offset, const __local half *p);
   13458 float16 __ovld vloada_half16(size_t offset, const __local half *p);
   13459 float __ovld vloada_half(size_t offset, const __private half *p);
   13460 float2 __ovld vloada_half2(size_t offset, const __private half *p);
   13461 float3 __ovld vloada_half3(size_t offset, const __private half *p);
   13462 float4 __ovld vloada_half4(size_t offset, const __private half *p);
   13463 float8 __ovld vloada_half8(size_t offset, const __private half *p);
   13464 float16 __ovld vloada_half16(size_t offset, const __private half *p);
   13465 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   13466 
   13467 /**
   13468  * The floatn value given by data is converted to
   13469  * a halfn value using the appropriate rounding
   13470  * mode.
   13471  * For n = 1, 2, 4, 8 and 16, the halfn value is
   13472  * written to the address computed as (p + (offset
   13473  * * n)). The address computed as (p + (offset *
   13474  * n)) must be aligned to sizeof (halfn) bytes.
   13475  * For n = 3, the half3 value is written to the
   13476  * address computed as (p + (offset * 4)). The
   13477  * address computed as (p + (offset * 4)) must be
   13478  * aligned to sizeof (half) * 4 bytes.
   13479  * vstorea_halfn uses the current rounding
   13480  * mode. The default current rounding mode is
   13481  * round to nearest even.
   13482  */
   13483 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   13484 void __ovld vstorea_half(float data, size_t offset, half *p);
   13485 void __ovld vstorea_half2(float2 data, size_t offset, half *p);
   13486 void __ovld vstorea_half3(float3 data, size_t offset, half *p);
   13487 void __ovld vstorea_half4(float4 data, size_t offset, half *p);
   13488 void __ovld vstorea_half8(float8 data, size_t offset, half *p);
   13489 void __ovld vstorea_half16(float16 data, size_t offset, half *p);
   13490 
   13491 void __ovld vstorea_half_rte(float data, size_t offset, half *p);
   13492 void __ovld vstorea_half2_rte(float2 data, size_t offset, half *p);
   13493 void __ovld vstorea_half3_rte(float3 data, size_t offset, half *p);
   13494 void __ovld vstorea_half4_rte(float4 data, size_t offset, half *p);
   13495 void __ovld vstorea_half8_rte(float8 data, size_t offset, half *p);
   13496 void __ovld vstorea_half16_rte(float16 data, size_t offset, half *p);
   13497 
   13498 void __ovld vstorea_half_rtz(float data, size_t offset, half *p);
   13499 void __ovld vstorea_half2_rtz(float2 data, size_t offset, half *p);
   13500 void __ovld vstorea_half3_rtz(float3 data, size_t offset, half *p);
   13501 void __ovld vstorea_half4_rtz(float4 data, size_t offset, half *p);
   13502 void __ovld vstorea_half8_rtz(float8 data, size_t offset, half *p);
   13503 void __ovld vstorea_half16_rtz(float16 data, size_t offset, half *p);
   13504 
   13505 void __ovld vstorea_half_rtp(float data, size_t offset, half *p);
   13506 void __ovld vstorea_half2_rtp(float2 data, size_t offset, half *p);
   13507 void __ovld vstorea_half3_rtp(float3 data, size_t offset, half *p);
   13508 void __ovld vstorea_half4_rtp(float4 data, size_t offset, half *p);
   13509 void __ovld vstorea_half8_rtp(float8 data, size_t offset, half *p);
   13510 void __ovld vstorea_half16_rtp(float16 data, size_t offset, half *p);
   13511 
   13512 void __ovld vstorea_half_rtn(float data, size_t offset, half *p);
   13513 void __ovld vstorea_half2_rtn(float2 data, size_t offset, half *p);
   13514 void __ovld vstorea_half3_rtn(float3 data, size_t offset, half *p);
   13515 void __ovld vstorea_half4_rtn(float4 data, size_t offset, half *p);
   13516 void __ovld vstorea_half8_rtn(float8 data, size_t offset, half *p);
   13517 void __ovld vstorea_half16_rtn(float16 data, size_t offset, half *p);
   13518 
   13519 #ifdef cl_khr_fp64
   13520 void __ovld vstorea_half(double data, size_t offset, half *p);
   13521 void __ovld vstorea_half2(double2 data, size_t offset, half *p);
   13522 void __ovld vstorea_half3(double3 data, size_t offset, half *p);
   13523 void __ovld vstorea_half4(double4 data, size_t offset, half *p);
   13524 void __ovld vstorea_half8(double8 data, size_t offset, half *p);
   13525 void __ovld vstorea_half16(double16 data, size_t offset, half *p);
   13526 
   13527 void __ovld vstorea_half_rte(double data, size_t offset, half *p);
   13528 void __ovld vstorea_half2_rte(double2 data, size_t offset, half *p);
   13529 void __ovld vstorea_half3_rte(double3 data, size_t offset, half *p);
   13530 void __ovld vstorea_half4_rte(double4 data, size_t offset, half *p);
   13531 void __ovld vstorea_half8_rte(double8 data, size_t offset, half *p);
   13532 void __ovld vstorea_half16_rte(double16 data, size_t offset, half *p);
   13533 
   13534 void __ovld vstorea_half_rtz(double data, size_t offset, half *p);
   13535 void __ovld vstorea_half2_rtz(double2 data, size_t offset, half *p);
   13536 void __ovld vstorea_half3_rtz(double3 data, size_t offset, half *p);
   13537 void __ovld vstorea_half4_rtz(double4 data, size_t offset, half *p);
   13538 void __ovld vstorea_half8_rtz(double8 data, size_t offset, half *p);
   13539 void __ovld vstorea_half16_rtz(double16 data, size_t offset, half *p);
   13540 
   13541 void __ovld vstorea_half_rtp(double data, size_t offset, half *p);
   13542 void __ovld vstorea_half2_rtp(double2 data, size_t offset, half *p);
   13543 void __ovld vstorea_half3_rtp(double3 data, size_t offset, half *p);
   13544 void __ovld vstorea_half4_rtp(double4 data, size_t offset, half *p);
   13545 void __ovld vstorea_half8_rtp(double8 data, size_t offset, half *p);
   13546 void __ovld vstorea_half16_rtp(double16 data, size_t offset, half *p);
   13547 
   13548 void __ovld vstorea_half_rtn(double data, size_t offset, half *p);
   13549 void __ovld vstorea_half2_rtn(double2 data, size_t offset, half *p);
   13550 void __ovld vstorea_half3_rtn(double3 data, size_t offset, half *p);
   13551 void __ovld vstorea_half4_rtn(double4 data, size_t offset, half *p);
   13552 void __ovld vstorea_half8_rtn(double8 data, size_t offset, half *p);
   13553 void __ovld vstorea_half16_rtn(double16 data, size_t offset, half *p);
   13554 #endif //cl_khr_fp64
   13555 
   13556 #else
   13557 void __ovld vstorea_half(float data, size_t offset, __global half *p);
   13558 void __ovld vstorea_half2(float2 data, size_t offset, __global half *p);
   13559 void __ovld vstorea_half3(float3 data, size_t offset, __global half *p);
   13560 void __ovld vstorea_half4(float4 data, size_t offset, __global half *p);
   13561 void __ovld vstorea_half8(float8 data, size_t offset, __global half *p);
   13562 void __ovld vstorea_half16(float16 data, size_t offset, __global half *p);
   13563 
   13564 void __ovld vstorea_half_rte(float data, size_t offset, __global half *p);
   13565 void __ovld vstorea_half2_rte(float2 data, size_t offset, __global half *p);
   13566 void __ovld vstorea_half3_rte(float3 data, size_t offset, __global half *p);
   13567 void __ovld vstorea_half4_rte(float4 data, size_t offset, __global half *p);
   13568 void __ovld vstorea_half8_rte(float8 data, size_t offset, __global half *p);
   13569 void __ovld vstorea_half16_rte(float16 data, size_t offset, __global half *p);
   13570 
   13571 void __ovld vstorea_half_rtz(float data, size_t offset, __global half *p);
   13572 void __ovld vstorea_half2_rtz(float2 data, size_t offset, __global half *p);
   13573 void __ovld vstorea_half3_rtz(float3 data, size_t offset, __global half *p);
   13574 void __ovld vstorea_half4_rtz(float4 data, size_t offset, __global half *p);
   13575 void __ovld vstorea_half8_rtz(float8 data, size_t offset, __global half *p);
   13576 void __ovld vstorea_half16_rtz(float16 data, size_t offset, __global half *p);
   13577 
   13578 void __ovld vstorea_half_rtp(float data, size_t offset, __global half *p);
   13579 void __ovld vstorea_half2_rtp(float2 data, size_t offset, __global half *p);
   13580 void __ovld vstorea_half3_rtp(float3 data, size_t offset, __global half *p);
   13581 void __ovld vstorea_half4_rtp(float4 data, size_t offset, __global half *p);
   13582 void __ovld vstorea_half8_rtp(float8 data, size_t offset, __global half *p);
   13583 void __ovld vstorea_half16_rtp(float16 data, size_t offset, __global half *p);
   13584 
   13585 void __ovld vstorea_half_rtn(float data, size_t offset, __global half *p);
   13586 void __ovld vstorea_half2_rtn(float2 data, size_t offset, __global half *p);
   13587 void __ovld vstorea_half3_rtn(float3 data, size_t offset, __global half *p);
   13588 void __ovld vstorea_half4_rtn(float4 data, size_t offset, __global half *p);
   13589 void __ovld vstorea_half8_rtn(float8 data, size_t offset, __global half *p);
   13590 void __ovld vstorea_half16_rtn(float16 data, size_t offset, __global half *p);
   13591 
   13592 void __ovld vstorea_half(float data, size_t offset, __local half *p);
   13593 void __ovld vstorea_half2(float2 data, size_t offset, __local half *p);
   13594 void __ovld vstorea_half3(float3 data, size_t offset, __local half *p);
   13595 void __ovld vstorea_half4(float4 data, size_t offset, __local half *p);
   13596 void __ovld vstorea_half8(float8 data, size_t offset, __local half *p);
   13597 void __ovld vstorea_half16(float16 data, size_t offset, __local half *p);
   13598 
   13599 void __ovld vstorea_half_rte(float data, size_t offset, __local half *p);
   13600 void __ovld vstorea_half2_rte(float2 data, size_t offset, __local half *p);
   13601 void __ovld vstorea_half3_rte(float3 data, size_t offset, __local half *p);
   13602 void __ovld vstorea_half4_rte(float4 data, size_t offset, __local half *p);
   13603 void __ovld vstorea_half8_rte(float8 data, size_t offset, __local half *p);
   13604 void __ovld vstorea_half16_rte(float16 data, size_t offset, __local half *p);
   13605 
   13606 void __ovld vstorea_half_rtz(float data, size_t offset, __local half *p);
   13607 void __ovld vstorea_half2_rtz(float2 data, size_t offset, __local half *p);
   13608 void __ovld vstorea_half3_rtz(float3 data, size_t offset, __local half *p);
   13609 void __ovld vstorea_half4_rtz(float4 data, size_t offset, __local half *p);
   13610 void __ovld vstorea_half8_rtz(float8 data, size_t offset, __local half *p);
   13611 void __ovld vstorea_half16_rtz(float16 data, size_t offset, __local half *p);
   13612 
   13613 void __ovld vstorea_half_rtp(float data, size_t offset, __local half *p);
   13614 void __ovld vstorea_half2_rtp(float2 data, size_t offset, __local half *p);
   13615 void __ovld vstorea_half3_rtp(float3 data, size_t offset, __local half *p);
   13616 void __ovld vstorea_half4_rtp(float4 data, size_t offset, __local half *p);
   13617 void __ovld vstorea_half8_rtp(float8 data, size_t offset, __local half *p);
   13618 void __ovld vstorea_half16_rtp(float16 data, size_t offset, __local half *p);
   13619 
   13620 void __ovld vstorea_half_rtn(float data, size_t offset, __local half *p);
   13621 void __ovld vstorea_half2_rtn(float2 data, size_t offset, __local half *p);
   13622 void __ovld vstorea_half3_rtn(float3 data, size_t offset, __local half *p);
   13623 void __ovld vstorea_half4_rtn(float4 data, size_t offset, __local half *p);
   13624 void __ovld vstorea_half8_rtn(float8 data, size_t offset, __local half *p);
   13625 void __ovld vstorea_half16_rtn(float16 data, size_t offset, __local half *p);
   13626 
   13627 void __ovld vstorea_half(float data, size_t offset, __private half *p);
   13628 void __ovld vstorea_half2(float2 data, size_t offset, __private half *p);
   13629 void __ovld vstorea_half3(float3 data, size_t offset, __private half *p);
   13630 void __ovld vstorea_half4(float4 data, size_t offset, __private half *p);
   13631 void __ovld vstorea_half8(float8 data, size_t offset, __private half *p);
   13632 void __ovld vstorea_half16(float16 data, size_t offset, __private half *p);
   13633 
   13634 void __ovld vstorea_half_rte(float data, size_t offset, __private half *p);
   13635 void __ovld vstorea_half2_rte(float2 data, size_t offset, __private half *p);
   13636 void __ovld vstorea_half3_rte(float3 data, size_t offset, __private half *p);
   13637 void __ovld vstorea_half4_rte(float4 data, size_t offset, __private half *p);
   13638 void __ovld vstorea_half8_rte(float8 data, size_t offset, __private half *p);
   13639 void __ovld vstorea_half16_rte(float16 data, size_t offset, __private half *p);
   13640 
   13641 void __ovld vstorea_half_rtz(float data, size_t offset, __private half *p);
   13642 void __ovld vstorea_half2_rtz(float2 data, size_t offset, __private half *p);
   13643 void __ovld vstorea_half3_rtz(float3 data, size_t offset, __private half *p);
   13644 void __ovld vstorea_half4_rtz(float4 data, size_t offset, __private half *p);
   13645 void __ovld vstorea_half8_rtz(float8 data, size_t offset, __private half *p);
   13646 void __ovld vstorea_half16_rtz(float16 data, size_t offset, __private half *p);
   13647 
   13648 void __ovld vstorea_half_rtp(float data, size_t offset, __private half *p);
   13649 void __ovld vstorea_half2_rtp(float2 data, size_t offset, __private half *p);
   13650 void __ovld vstorea_half3_rtp(float3 data, size_t offset, __private half *p);
   13651 void __ovld vstorea_half4_rtp(float4 data, size_t offset, __private half *p);
   13652 void __ovld vstorea_half8_rtp(float8 data, size_t offset, __private half *p);
   13653 void __ovld vstorea_half16_rtp(float16 data, size_t offset, __private half *p);
   13654 
   13655 void __ovld vstorea_half_rtn(float data, size_t offset, __private half *p);
   13656 void __ovld vstorea_half2_rtn(float2 data, size_t offset, __private half *p);
   13657 void __ovld vstorea_half3_rtn(float3 data, size_t offset, __private half *p);
   13658 void __ovld vstorea_half4_rtn(float4 data, size_t offset, __private half *p);
   13659 void __ovld vstorea_half8_rtn(float8 data, size_t offset, __private half *p);
   13660 void __ovld vstorea_half16_rtn(float16 data, size_t offset, __private half *p);
   13661 
   13662 #ifdef cl_khr_fp64
   13663 void __ovld vstorea_half(double data, size_t offset, __global half *p);
   13664 void __ovld vstorea_half2(double2 data, size_t offset, __global half *p);
   13665 void __ovld vstorea_half3(double3 data, size_t offset, __global half *p);
   13666 void __ovld vstorea_half4(double4 data, size_t offset, __global half *p);
   13667 void __ovld vstorea_half8(double8 data, size_t offset, __global half *p);
   13668 void __ovld vstorea_half16(double16 data, size_t offset, __global half *p);
   13669 
   13670 void __ovld vstorea_half_rte(double data, size_t offset, __global half *p);
   13671 void __ovld vstorea_half2_rte(double2 data, size_t offset, __global half *p);
   13672 void __ovld vstorea_half3_rte(double3 data, size_t offset, __global half *p);
   13673 void __ovld vstorea_half4_rte(double4 data, size_t offset, __global half *p);
   13674 void __ovld vstorea_half8_rte(double8 data, size_t offset, __global half *p);
   13675 void __ovld vstorea_half16_rte(double16 data, size_t offset, __global half *p);
   13676 
   13677 void __ovld vstorea_half_rtz(double data, size_t offset, __global half *p);
   13678 void __ovld vstorea_half2_rtz(double2 data, size_t offset, __global half *p);
   13679 void __ovld vstorea_half3_rtz(double3 data, size_t offset, __global half *p);
   13680 void __ovld vstorea_half4_rtz(double4 data, size_t offset, __global half *p);
   13681 void __ovld vstorea_half8_rtz(double8 data, size_t offset, __global half *p);
   13682 void __ovld vstorea_half16_rtz(double16 data, size_t offset, __global half *p);
   13683 
   13684 void __ovld vstorea_half_rtp(double data, size_t offset, __global half *p);
   13685 void __ovld vstorea_half2_rtp(double2 data, size_t offset, __global half *p);
   13686 void __ovld vstorea_half3_rtp(double3 data, size_t offset, __global half *p);
   13687 void __ovld vstorea_half4_rtp(double4 data, size_t offset, __global half *p);
   13688 void __ovld vstorea_half8_rtp(double8 data, size_t offset, __global half *p);
   13689 void __ovld vstorea_half16_rtp(double16 data, size_t offset, __global half *p);
   13690 
   13691 void __ovld vstorea_half_rtn(double data, size_t offset, __global half *p);
   13692 void __ovld vstorea_half2_rtn(double2 data, size_t offset, __global half *p);
   13693 void __ovld vstorea_half3_rtn(double3 data, size_t offset, __global half *p);
   13694 void __ovld vstorea_half4_rtn(double4 data, size_t offset, __global half *p);
   13695 void __ovld vstorea_half8_rtn(double8 data, size_t offset, __global half *p);
   13696 void __ovld vstorea_half16_rtn(double16 data, size_t offset, __global half *p);
   13697 
   13698 void __ovld vstorea_half(double data, size_t offset, __local half *p);
   13699 void __ovld vstorea_half2(double2 data, size_t offset, __local half *p);
   13700 void __ovld vstorea_half3(double3 data, size_t offset, __local half *p);
   13701 void __ovld vstorea_half4(double4 data, size_t offset, __local half *p);
   13702 void __ovld vstorea_half8(double8 data, size_t offset, __local half *p);
   13703 void __ovld vstorea_half16(double16 data, size_t offset, __local half *p);
   13704 
   13705 void __ovld vstorea_half_rte(double data, size_t offset, __local half *p);
   13706 void __ovld vstorea_half2_rte(double2 data, size_t offset, __local half *p);
   13707 void __ovld vstorea_half3_rte(double3 data, size_t offset, __local half *p);
   13708 void __ovld vstorea_half4_rte(double4 data, size_t offset, __local half *p);
   13709 void __ovld vstorea_half8_rte(double8 data, size_t offset, __local half *p);
   13710 void __ovld vstorea_half16_rte(double16 data, size_t offset, __local half *p);
   13711 
   13712 void __ovld vstorea_half_rtz(double data, size_t offset, __local half *p);
   13713 void __ovld vstorea_half2_rtz(double2 data, size_t offset, __local half *p);
   13714 void __ovld vstorea_half3_rtz(double3 data, size_t offset, __local half *p);
   13715 void __ovld vstorea_half4_rtz(double4 data, size_t offset, __local half *p);
   13716 void __ovld vstorea_half8_rtz(double8 data, size_t offset, __local half *p);
   13717 void __ovld vstorea_half16_rtz(double16 data, size_t offset, __local half *p);
   13718 
   13719 void __ovld vstorea_half_rtp(double data, size_t offset, __local half *p);
   13720 void __ovld vstorea_half2_rtp(double2 data, size_t offset, __local half *p);
   13721 void __ovld vstorea_half3_rtp(double3 data, size_t offset, __local half *p);
   13722 void __ovld vstorea_half4_rtp(double4 data, size_t offset, __local half *p);
   13723 void __ovld vstorea_half8_rtp(double8 data, size_t offset, __local half *p);
   13724 void __ovld vstorea_half16_rtp(double16 data, size_t offset, __local half *p);
   13725 
   13726 void __ovld vstorea_half_rtn(double data, size_t offset, __local half *p);
   13727 void __ovld vstorea_half2_rtn(double2 data, size_t offset, __local half *p);
   13728 void __ovld vstorea_half3_rtn(double3 data, size_t offset, __local half *p);
   13729 void __ovld vstorea_half4_rtn(double4 data, size_t offset, __local half *p);
   13730 void __ovld vstorea_half8_rtn(double8 data, size_t offset, __local half *p);
   13731 void __ovld vstorea_half16_rtn(double16 data, size_t offset, __local half *p);
   13732 
   13733 void __ovld vstorea_half(double data, size_t offset, __private half *p);
   13734 void __ovld vstorea_half2(double2 data, size_t offset, __private half *p);
   13735 void __ovld vstorea_half3(double3 data, size_t offset, __private half *p);
   13736 void __ovld vstorea_half4(double4 data, size_t offset, __private half *p);
   13737 void __ovld vstorea_half8(double8 data, size_t offset, __private half *p);
   13738 void __ovld vstorea_half16(double16 data, size_t offset, __private half *p);
   13739 
   13740 void __ovld vstorea_half_rte(double data, size_t offset, __private half *p);
   13741 void __ovld vstorea_half2_rte(double2 data, size_t offset, __private half *p);
   13742 void __ovld vstorea_half3_rte(double3 data, size_t offset, __private half *p);
   13743 void __ovld vstorea_half4_rte(double4 data, size_t offset, __private half *p);
   13744 void __ovld vstorea_half8_rte(double8 data, size_t offset, __private half *p);
   13745 void __ovld vstorea_half16_rte(double16 data, size_t offset, __private half *p);
   13746 
   13747 void __ovld vstorea_half_rtz(double data, size_t offset, __private half *p);
   13748 void __ovld vstorea_half2_rtz(double2 data, size_t offset, __private half *p);
   13749 void __ovld vstorea_half3_rtz(double3 data, size_t offset, __private half *p);
   13750 void __ovld vstorea_half4_rtz(double4 data, size_t offset, __private half *p);
   13751 void __ovld vstorea_half8_rtz(double8 data, size_t offset, __private half *p);
   13752 void __ovld vstorea_half16_rtz(double16 data, size_t offset, __private half *p);
   13753 
   13754 void __ovld vstorea_half_rtp(double data, size_t offset, __private half *p);
   13755 void __ovld vstorea_half2_rtp(double2 data, size_t offset, __private half *p);
   13756 void __ovld vstorea_half3_rtp(double3 data, size_t offset, __private half *p);
   13757 void __ovld vstorea_half4_rtp(double4 data, size_t offset, __private half *p);
   13758 void __ovld vstorea_half8_rtp(double8 data, size_t offset, __private half *p);
   13759 void __ovld vstorea_half16_rtp(double16 data, size_t offset, __private half *p);
   13760 
   13761 void __ovld vstorea_half_rtn(double data, size_t offset, __private half *p);
   13762 void __ovld vstorea_half2_rtn(double2 data,size_t offset, __private half *p);
   13763 void __ovld vstorea_half3_rtn(double3 data,size_t offset, __private half *p);
   13764 void __ovld vstorea_half4_rtn(double4 data,size_t offset, __private half *p);
   13765 void __ovld vstorea_half8_rtn(double8 data,size_t offset, __private half *p);
   13766 void __ovld vstorea_half16_rtn(double16 data,size_t offset, __private half *p);
   13767 #endif //cl_khr_fp64
   13768 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   13769 
   13770 // OpenCL v1.1 s6.11.8, v1.2 s6.12.8, v2.0 s6.13.8 - Synchronization Functions
   13771 
   13772 // Flag type and values for barrier, mem_fence, read_mem_fence, write_mem_fence
   13773 typedef uint cl_mem_fence_flags;
   13774 
   13775 /**
   13776  * Queue a memory fence to ensure correct
   13777  * ordering of memory operations to local memory
   13778  */
   13779 #define CLK_LOCAL_MEM_FENCE    0x01
   13780 
   13781 /**
   13782  * Queue a memory fence to ensure correct
   13783  * ordering of memory operations to global memory
   13784  */
   13785 #define CLK_GLOBAL_MEM_FENCE   0x02
   13786 
   13787 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   13788 /**
   13789  * Queue a memory fence to ensure correct ordering of memory
   13790  * operations between work-items of a work-group to
   13791  * image memory.
   13792  */
   13793 #define CLK_IMAGE_MEM_FENCE  0x04
   13794 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   13795 
   13796 /**
   13797  * All work-items in a work-group executing the kernel
   13798  * on a processor must execute this function before any
   13799  * are allowed to continue execution beyond the barrier.
   13800  * This function must be encountered by all work-items in
   13801  * a work-group executing the kernel.
   13802  * If barrier is inside a conditional statement, then all
   13803  * work-items must enter the conditional if any work-item
   13804  * enters the conditional statement and executes the
   13805  * barrier.
   13806  * If barrer is inside a loop, all work-items must execute
   13807  * the barrier for each iteration of the loop before any are
   13808  * allowed to continue execution beyond the barrier.
   13809  * The barrier function also queues a memory fence
   13810  * (reads and writes) to ensure correct ordering of
   13811  * memory operations to local or global memory.
   13812  * The flags argument specifies the memory address space
   13813  * and can be set to a combination of the following literal
   13814  * values.
   13815  * CLK_LOCAL_MEM_FENCE - The barrier function
   13816  * will either flush any variables stored in local memory
   13817  * or queue a memory fence to ensure correct ordering of
   13818  * memory operations to local memory.
   13819  * CLK_GLOBAL_MEM_FENCE - The barrier function
   13820  * will queue a memory fence to ensure correct ordering
   13821  * of memory operations to global memory. This can be
   13822  * useful when work-items, for example, write to buffer or
   13823  * image objects and then want to read the updated data.
   13824  */
   13825 
   13826 void __ovld __conv barrier(cl_mem_fence_flags flags);
   13827 
   13828 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   13829 
   13830 typedef enum memory_scope
   13831 {
   13832   memory_scope_work_item,
   13833   memory_scope_work_group,
   13834   memory_scope_device,
   13835   memory_scope_all_svm_devices,
   13836   memory_scope_sub_group
   13837 } memory_scope;
   13838 
   13839 void __ovld __conv work_group_barrier(cl_mem_fence_flags flags, memory_scope scope);
   13840 void __ovld __conv work_group_barrier(cl_mem_fence_flags flags);
   13841 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   13842 
   13843 // OpenCL v1.1 s6.11.9, v1.2 s6.12.9 - Explicit Memory Fence Functions
   13844 
   13845 /**
   13846  * Orders loads and stores of a work-item
   13847  * executing a kernel. This means that loads
   13848  * and stores preceding the mem_fence will
   13849  * be committed to memory before any loads
   13850  * and stores following the mem_fence.
   13851  * The flags argument specifies the memory
   13852  * address space and can be set to a
   13853  * combination of the following literal
   13854  * values:
   13855  * CLK_LOCAL_MEM_FENCE
   13856  * CLK_GLOBAL_MEM_FENCE.
   13857  */
   13858 void __ovld mem_fence(cl_mem_fence_flags flags);
   13859 
   13860 /**
   13861  * Read memory barrier that orders only
   13862  * loads.
   13863  * The flags argument specifies the memory
   13864  * address space and can be set to to a
   13865  * combination of the following literal
   13866  * values:
   13867  * CLK_LOCAL_MEM_FENCE
   13868  * CLK_GLOBAL_MEM_FENCE.
   13869  */
   13870 void __ovld read_mem_fence(cl_mem_fence_flags flags);
   13871 
   13872 /**
   13873  * Write memory barrier that orders only
   13874  * stores.
   13875  * The flags argument specifies the memory
   13876  * address space and can be set to to a
   13877  * combination of the following literal
   13878  * values:
   13879  * CLK_LOCAL_MEM_FENCE
   13880  * CLK_GLOBAL_MEM_FENCE.
   13881  */
   13882 void __ovld write_mem_fence(cl_mem_fence_flags flags);
   13883 
   13884 // OpenCL v2.0 s6.13.9 - Address Space Qualifier Functions
   13885 
   13886 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   13887 cl_mem_fence_flags __ovld get_fence(const void *ptr);
   13888 cl_mem_fence_flags __ovld get_fence(void *ptr);
   13889 
   13890 /**
   13891  * Builtin functions to_global, to_local, and to_private need to be declared as Clang builtin functions
   13892  * and checked in Sema since they should be declared as
   13893  *   addr gentype* to_addr (gentype*);
   13894  * where gentype is builtin type or user defined type.
   13895  */
   13896 
   13897 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   13898 
   13899 // OpenCL v1.1 s6.11.10, v1.2 s6.12.10, v2.0 s6.13.10 - Async Copies from Global to Local Memory, Local to Global Memory, and Prefetch
   13900 
   13901 /**
   13902  * event_t async_work_group_copy (
   13903  * __global gentype *dst,
   13904  * const __local gentype *src,
   13905  * size_t num_elements,
   13906  * event_t event)
   13907  * Perform an async copy of num_elements
   13908  * gentype elements from src to dst. The async
   13909  * copy is performed by all work-items in a workgroup
   13910  * and this built-in function must therefore
   13911  * be encountered by all work-items in a workgroup
   13912  * executing the kernel with the same
   13913  * argument values; otherwise the results are
   13914  * undefined.
   13915  * Returns an event object that can be used by
   13916  * wait_group_events to wait for the async copy
   13917  * to finish. The event argument can also be used
   13918  * to associate the async_work_group_copy with
   13919  * a previous async copy allowing an event to be
   13920  * shared by multiple async copies; otherwise event
   13921  * should be zero.
   13922  * If event argument is non-zero, the event object
   13923  * supplied in event argument will be returned.
   13924  * This function does not perform any implicit
   13925  * synchronization of source data such as using a
   13926  * barrier before performing the copy.
   13927  */
   13928 event_t __ovld async_work_group_copy(__local char *dst, const __global char *src, size_t num_elements, event_t event);
   13929 event_t __ovld async_work_group_copy(__local uchar *dst, const __global uchar *src, size_t num_elements, event_t event);
   13930 event_t __ovld async_work_group_copy(__local short *dst, const __global short *src, size_t num_elements, event_t event);
   13931 event_t __ovld async_work_group_copy(__local ushort *dst, const __global ushort *src, size_t num_elements, event_t event);
   13932 event_t __ovld async_work_group_copy(__local int *dst, const __global int *src, size_t num_elements, event_t event);
   13933 event_t __ovld async_work_group_copy(__local uint *dst, const __global uint *src, size_t num_elements, event_t event);
   13934 event_t __ovld async_work_group_copy(__local long *dst, const __global long *src, size_t num_elements, event_t event);
   13935 event_t __ovld async_work_group_copy(__local ulong *dst, const __global ulong *src, size_t num_elements, event_t event);
   13936 event_t __ovld async_work_group_copy(__local float *dst, const __global float *src, size_t num_elements, event_t event);
   13937 event_t __ovld async_work_group_copy(__local char2 *dst, const __global char2 *src, size_t num_elements, event_t event);
   13938 event_t __ovld async_work_group_copy(__local uchar2 *dst, const __global uchar2 *src, size_t num_elements, event_t event);
   13939 event_t __ovld async_work_group_copy(__local short2 *dst, const __global short2 *src, size_t num_elements, event_t event);
   13940 event_t __ovld async_work_group_copy(__local ushort2 *dst, const __global ushort2 *src, size_t num_elements, event_t event);
   13941 event_t __ovld async_work_group_copy(__local int2 *dst, const __global int2 *src, size_t num_elements, event_t event);
   13942 event_t __ovld async_work_group_copy(__local uint2 *dst, const __global uint2 *src, size_t num_elements, event_t event);
   13943 event_t __ovld async_work_group_copy(__local long2 *dst, const __global long2 *src, size_t num_elements, event_t event);
   13944 event_t __ovld async_work_group_copy(__local ulong2 *dst, const __global ulong2 *src, size_t num_elements, event_t event);
   13945 event_t __ovld async_work_group_copy(__local float2 *dst, const __global float2 *src, size_t num_elements, event_t event);
   13946 event_t __ovld async_work_group_copy(__local char3 *dst, const __global char3 *src, size_t num_elements, event_t event);
   13947 event_t __ovld async_work_group_copy(__local uchar3 *dst, const __global uchar3 *src, size_t num_elements, event_t event);
   13948 event_t __ovld async_work_group_copy(__local short3 *dst, const __global short3 *src, size_t num_elements, event_t event);
   13949 event_t __ovld async_work_group_copy(__local ushort3 *dst, const __global ushort3 *src, size_t num_elements, event_t event);
   13950 event_t __ovld async_work_group_copy(__local int3 *dst, const __global int3 *src, size_t num_elements, event_t event);
   13951 event_t __ovld async_work_group_copy(__local uint3 *dst, const __global uint3 *src, size_t num_elements, event_t event);
   13952 event_t __ovld async_work_group_copy(__local long3 *dst, const __global long3 *src, size_t num_elements, event_t event);
   13953 event_t __ovld async_work_group_copy(__local ulong3 *dst, const __global ulong3 *src, size_t num_elements, event_t event);
   13954 event_t __ovld async_work_group_copy(__local float3 *dst, const __global float3 *src, size_t num_elements, event_t event);
   13955 event_t __ovld async_work_group_copy(__local char4 *dst, const __global char4 *src, size_t num_elements, event_t event);
   13956 event_t __ovld async_work_group_copy(__local uchar4 *dst, const __global uchar4 *src, size_t num_elements, event_t event);
   13957 event_t __ovld async_work_group_copy(__local short4 *dst, const __global short4 *src, size_t num_elements, event_t event);
   13958 event_t __ovld async_work_group_copy(__local ushort4 *dst, const __global ushort4 *src, size_t num_elements, event_t event);
   13959 event_t __ovld async_work_group_copy(__local int4 *dst, const __global int4 *src, size_t num_elements, event_t event);
   13960 event_t __ovld async_work_group_copy(__local uint4 *dst, const __global uint4 *src, size_t num_elements, event_t event);
   13961 event_t __ovld async_work_group_copy(__local long4 *dst, const __global long4 *src, size_t num_elements, event_t event);
   13962 event_t __ovld async_work_group_copy(__local ulong4 *dst, const __global ulong4 *src, size_t num_elements, event_t event);
   13963 event_t __ovld async_work_group_copy(__local float4 *dst, const __global float4 *src, size_t num_elements, event_t event);
   13964 event_t __ovld async_work_group_copy(__local char8 *dst, const __global char8 *src, size_t num_elements, event_t event);
   13965 event_t __ovld async_work_group_copy(__local uchar8 *dst, const __global uchar8 *src, size_t num_elements, event_t event);
   13966 event_t __ovld async_work_group_copy(__local short8 *dst, const __global short8 *src, size_t num_elements, event_t event);
   13967 event_t __ovld async_work_group_copy(__local ushort8 *dst, const __global ushort8 *src, size_t num_elements, event_t event);
   13968 event_t __ovld async_work_group_copy(__local int8 *dst, const __global int8 *src, size_t num_elements, event_t event);
   13969 event_t __ovld async_work_group_copy(__local uint8 *dst, const __global uint8 *src, size_t num_elements, event_t event);
   13970 event_t __ovld async_work_group_copy(__local long8 *dst, const __global long8 *src, size_t num_elements, event_t event);
   13971 event_t __ovld async_work_group_copy(__local ulong8 *dst, const __global ulong8 *src, size_t num_elements, event_t event);
   13972 event_t __ovld async_work_group_copy(__local float8 *dst, const __global float8 *src, size_t num_elements, event_t event);
   13973 event_t __ovld async_work_group_copy(__local char16 *dst, const __global char16 *src, size_t num_elements, event_t event);
   13974 event_t __ovld async_work_group_copy(__local uchar16 *dst, const __global uchar16 *src, size_t num_elements, event_t event);
   13975 event_t __ovld async_work_group_copy(__local short16 *dst, const __global short16 *src, size_t num_elements, event_t event);
   13976 event_t __ovld async_work_group_copy(__local ushort16 *dst, const __global ushort16 *src, size_t num_elements, event_t event);
   13977 event_t __ovld async_work_group_copy(__local int16 *dst, const __global int16 *src, size_t num_elements, event_t event);
   13978 event_t __ovld async_work_group_copy(__local uint16 *dst, const __global uint16 *src, size_t num_elements, event_t event);
   13979 event_t __ovld async_work_group_copy(__local long16 *dst, const __global long16 *src, size_t num_elements, event_t event);
   13980 event_t __ovld async_work_group_copy(__local ulong16 *dst, const __global ulong16 *src, size_t num_elements, event_t event);
   13981 event_t __ovld async_work_group_copy(__local float16 *dst, const __global float16 *src, size_t num_elements, event_t event);
   13982 event_t __ovld async_work_group_copy(__global char *dst, const __local char *src, size_t num_elements, event_t event);
   13983 event_t __ovld async_work_group_copy(__global uchar *dst, const __local uchar *src, size_t num_elements, event_t event);
   13984 event_t __ovld async_work_group_copy(__global short *dst, const __local short *src, size_t num_elements, event_t event);
   13985 event_t __ovld async_work_group_copy(__global ushort *dst, const __local ushort *src, size_t num_elements, event_t event);
   13986 event_t __ovld async_work_group_copy(__global int *dst, const __local int *src, size_t num_elements, event_t event);
   13987 event_t __ovld async_work_group_copy(__global uint *dst, const __local uint *src, size_t num_elements, event_t event);
   13988 event_t __ovld async_work_group_copy(__global long *dst, const __local long *src, size_t num_elements, event_t event);
   13989 event_t __ovld async_work_group_copy(__global ulong *dst, const __local ulong *src, size_t num_elements, event_t event);
   13990 event_t __ovld async_work_group_copy(__global float *dst, const __local float *src, size_t num_elements, event_t event);
   13991 event_t __ovld async_work_group_copy(__global char2 *dst, const __local char2 *src, size_t num_elements, event_t event);
   13992 event_t __ovld async_work_group_copy(__global uchar2 *dst, const __local uchar2 *src, size_t num_elements, event_t event);
   13993 event_t __ovld async_work_group_copy(__global short2 *dst, const __local short2 *src, size_t num_elements, event_t event);
   13994 event_t __ovld async_work_group_copy(__global ushort2 *dst, const __local ushort2 *src, size_t num_elements, event_t event);
   13995 event_t __ovld async_work_group_copy(__global int2 *dst, const __local int2 *src, size_t num_elements, event_t event);
   13996 event_t __ovld async_work_group_copy(__global uint2 *dst, const __local uint2 *src, size_t num_elements, event_t event);
   13997 event_t __ovld async_work_group_copy(__global long2 *dst, const __local long2 *src, size_t num_elements, event_t event);
   13998 event_t __ovld async_work_group_copy(__global ulong2 *dst, const __local ulong2 *src, size_t num_elements, event_t event);
   13999 event_t __ovld async_work_group_copy(__global float2 *dst, const __local float2 *src, size_t num_elements, event_t event);
   14000 event_t __ovld async_work_group_copy(__global char3 *dst, const __local char3 *src, size_t num_elements, event_t event);
   14001 event_t __ovld async_work_group_copy(__global uchar3 *dst, const __local uchar3 *src, size_t num_elements, event_t event);
   14002 event_t __ovld async_work_group_copy(__global short3 *dst, const __local short3 *src, size_t num_elements, event_t event);
   14003 event_t __ovld async_work_group_copy(__global ushort3 *dst, const __local ushort3 *src, size_t num_elements, event_t event);
   14004 event_t __ovld async_work_group_copy(__global int3 *dst, const __local int3 *src, size_t num_elements, event_t event);
   14005 event_t __ovld async_work_group_copy(__global uint3 *dst, const __local uint3 *src, size_t num_elements, event_t event);
   14006 event_t __ovld async_work_group_copy(__global long3 *dst, const __local long3 *src, size_t num_elements, event_t event);
   14007 event_t __ovld async_work_group_copy(__global ulong3 *dst, const __local ulong3 *src, size_t num_elements, event_t event);
   14008 event_t __ovld async_work_group_copy(__global float3 *dst, const __local float3 *src, size_t num_elements, event_t event);
   14009 event_t __ovld async_work_group_copy(__global char4 *dst, const __local char4 *src, size_t num_elements, event_t event);
   14010 event_t __ovld async_work_group_copy(__global uchar4 *dst, const __local uchar4 *src, size_t num_elements, event_t event);
   14011 event_t __ovld async_work_group_copy(__global short4 *dst, const __local short4 *src, size_t num_elements, event_t event);
   14012 event_t __ovld async_work_group_copy(__global ushort4 *dst, const __local ushort4 *src, size_t num_elements, event_t event);
   14013 event_t __ovld async_work_group_copy(__global int4 *dst, const __local int4 *src, size_t num_elements, event_t event);
   14014 event_t __ovld async_work_group_copy(__global uint4 *dst, const __local uint4 *src, size_t num_elements, event_t event);
   14015 event_t __ovld async_work_group_copy(__global long4 *dst, const __local long4 *src, size_t num_elements, event_t event);
   14016 event_t __ovld async_work_group_copy(__global ulong4 *dst, const __local ulong4 *src, size_t num_elements, event_t event);
   14017 event_t __ovld async_work_group_copy(__global float4 *dst, const __local float4 *src, size_t num_elements, event_t event);
   14018 event_t __ovld async_work_group_copy(__global char8 *dst, const __local char8 *src, size_t num_elements, event_t event);
   14019 event_t __ovld async_work_group_copy(__global uchar8 *dst, const __local uchar8 *src, size_t num_elements, event_t event);
   14020 event_t __ovld async_work_group_copy(__global short8 *dst, const __local short8 *src, size_t num_elements, event_t event);
   14021 event_t __ovld async_work_group_copy(__global ushort8 *dst, const __local ushort8 *src, size_t num_elements, event_t event);
   14022 event_t __ovld async_work_group_copy(__global int8 *dst, const __local int8 *src, size_t num_elements, event_t event);
   14023 event_t __ovld async_work_group_copy(__global uint8 *dst, const __local uint8 *src, size_t num_elements, event_t event);
   14024 event_t __ovld async_work_group_copy(__global long8 *dst, const __local long8 *src, size_t num_elements, event_t event);
   14025 event_t __ovld async_work_group_copy(__global ulong8 *dst, const __local ulong8 *src, size_t num_elements, event_t event);
   14026 event_t __ovld async_work_group_copy(__global float8 *dst, const __local float8 *src, size_t num_elements, event_t event);
   14027 event_t __ovld async_work_group_copy(__global char16 *dst, const __local char16 *src, size_t num_elements, event_t event);
   14028 event_t __ovld async_work_group_copy(__global uchar16 *dst, const __local uchar16 *src, size_t num_elements, event_t event);
   14029 event_t __ovld async_work_group_copy(__global short16 *dst, const __local short16 *src, size_t num_elements, event_t event);
   14030 event_t __ovld async_work_group_copy(__global ushort16 *dst, const __local ushort16 *src, size_t num_elements, event_t event);
   14031 event_t __ovld async_work_group_copy(__global int16 *dst, const __local int16 *src, size_t num_elements, event_t event);
   14032 event_t __ovld async_work_group_copy(__global uint16 *dst, const __local uint16 *src, size_t num_elements, event_t event);
   14033 event_t __ovld async_work_group_copy(__global long16 *dst, const __local long16 *src, size_t num_elements, event_t event);
   14034 event_t __ovld async_work_group_copy(__global ulong16 *dst, const __local ulong16 *src, size_t num_elements, event_t event);
   14035 event_t __ovld async_work_group_copy(__global float16 *dst, const __local float16 *src, size_t num_elements, event_t event);
   14036 #ifdef cl_khr_fp64
   14037 event_t __ovld async_work_group_copy(__local double *dst, const __global double *src, size_t num_elements, event_t event);
   14038 event_t __ovld async_work_group_copy(__local double2 *dst, const __global double2 *src, size_t num_elements, event_t event);
   14039 event_t __ovld async_work_group_copy(__local double3 *dst, const __global double3 *src, size_t num_elements, event_t event);
   14040 event_t __ovld async_work_group_copy(__local double4 *dst, const __global double4 *src, size_t num_elements, event_t event);
   14041 event_t __ovld async_work_group_copy(__local double8 *dst, const __global double8 *src, size_t num_elements, event_t event);
   14042 event_t __ovld async_work_group_copy(__local double16 *dst, const __global double16 *src, size_t num_elements, event_t event);
   14043 event_t __ovld async_work_group_copy(__global double *dst, const __local double *src, size_t num_elements, event_t event);
   14044 event_t __ovld async_work_group_copy(__global double2 *dst, const __local double2 *src, size_t num_elements, event_t event);
   14045 event_t __ovld async_work_group_copy(__global double3 *dst, const __local double3 *src, size_t num_elements, event_t event);
   14046 event_t __ovld async_work_group_copy(__global double4 *dst, const __local double4 *src, size_t num_elements, event_t event);
   14047 event_t __ovld async_work_group_copy(__global double8 *dst, const __local double8 *src, size_t num_elements, event_t event);
   14048 event_t __ovld async_work_group_copy(__global double16 *dst, const __local double16 *src, size_t num_elements, event_t event);
   14049 #endif //cl_khr_fp64
   14050 #ifdef cl_khr_fp16
   14051 event_t __ovld async_work_group_copy(__local half *dst, const __global half *src, size_t num_elements, event_t event);
   14052 event_t __ovld async_work_group_copy(__local half2 *dst, const __global half2 *src, size_t num_elements, event_t event);
   14053 event_t __ovld async_work_group_copy(__local half3 *dst, const __global half3 *src, size_t num_elements, event_t event);
   14054 event_t __ovld async_work_group_copy(__local half4 *dst, const __global half4 *src, size_t num_elements, event_t event);
   14055 event_t __ovld async_work_group_copy(__local half8 *dst, const __global half8 *src, size_t num_elements, event_t event);
   14056 event_t __ovld async_work_group_copy(__local half16 *dst, const __global half16 *src, size_t num_elements, event_t event);
   14057 event_t __ovld async_work_group_copy(__global half *dst, const __local half *src, size_t num_elements, event_t event);
   14058 event_t __ovld async_work_group_copy(__global half2 *dst, const __local half2 *src, size_t num_elements, event_t event);
   14059 event_t __ovld async_work_group_copy(__global half3 *dst, const __local half3 *src, size_t num_elements, event_t event);
   14060 event_t __ovld async_work_group_copy(__global half4 *dst, const __local half4 *src, size_t num_elements, event_t event);
   14061 event_t __ovld async_work_group_copy(__global half8 *dst, const __local half8 *src, size_t num_elements, event_t event);
   14062 event_t __ovld async_work_group_copy(__global half16 *dst, const __local half16 *src, size_t num_elements, event_t event);
   14063 #endif //cl_khr_fp16
   14064 
   14065 /**
   14066  * Perform an async gather of num_elements
   14067  * gentype elements from src to dst. The
   14068  * src_stride is the stride in elements for each
   14069  * gentype element read from src. The dst_stride
   14070  * is the stride in elements for each gentype
   14071  * element written to dst. The async gather is
   14072  * performed by all work-items in a work-group.
   14073  * This built-in function must therefore be
   14074  * encountered by all work-items in a work-group
   14075  * executing the kernel with the same argument
   14076  * values; otherwise the results are undefined.
   14077  * Returns an event object that can be used by
   14078  * wait_group_events to wait for the async copy
   14079  * to finish. The event argument can also be used
   14080  * to associate the
   14081  * async_work_group_strided_copy with a
   14082  * previous async copy allowing an event to be
   14083  * shared by multiple async copies; otherwise event
   14084  * should be zero.
   14085  * If event argument is non-zero, the event object
   14086  * supplied in event argument will be returned.
   14087  * This function does not perform any implicit
   14088  * synchronization of source data such as using a
   14089  * barrier before performing the copy.
   14090  */
   14091 event_t __ovld async_work_group_strided_copy(__local char *dst, const __global char *src, size_t num_elements, size_t src_stride, event_t event);
   14092 event_t __ovld async_work_group_strided_copy(__local uchar *dst, const __global uchar *src, size_t num_elements, size_t src_stride, event_t event);
   14093 event_t __ovld async_work_group_strided_copy(__local short *dst, const __global short *src, size_t num_elements, size_t src_stride, event_t event);
   14094 event_t __ovld async_work_group_strided_copy(__local ushort *dst, const __global ushort *src, size_t num_elements, size_t src_stride, event_t event);
   14095 event_t __ovld async_work_group_strided_copy(__local int *dst, const __global int *src, size_t num_elements, size_t src_stride, event_t event);
   14096 event_t __ovld async_work_group_strided_copy(__local uint *dst, const __global uint *src, size_t num_elements, size_t src_stride, event_t event);
   14097 event_t __ovld async_work_group_strided_copy(__local long *dst, const __global long *src, size_t num_elements, size_t src_stride, event_t event);
   14098 event_t __ovld async_work_group_strided_copy(__local ulong *dst, const __global ulong *src, size_t num_elements, size_t src_stride, event_t event);
   14099 event_t __ovld async_work_group_strided_copy(__local float *dst, const __global float *src, size_t num_elements, size_t src_stride, event_t event);
   14100 event_t __ovld async_work_group_strided_copy(__local char2 *dst, const __global char2 *src, size_t num_elements, size_t src_stride, event_t event);
   14101 event_t __ovld async_work_group_strided_copy(__local uchar2 *dst, const __global uchar2 *src, size_t num_elements, size_t src_stride, event_t event);
   14102 event_t __ovld async_work_group_strided_copy(__local short2 *dst, const __global short2 *src, size_t num_elements, size_t src_stride, event_t event);
   14103 event_t __ovld async_work_group_strided_copy(__local ushort2 *dst, const __global ushort2 *src, size_t num_elements, size_t src_stride, event_t event);
   14104 event_t __ovld async_work_group_strided_copy(__local int2 *dst, const __global int2 *src, size_t num_elements, size_t src_stride, event_t event);
   14105 event_t __ovld async_work_group_strided_copy(__local uint2 *dst, const __global uint2 *src, size_t num_elements, size_t src_stride, event_t event);
   14106 event_t __ovld async_work_group_strided_copy(__local long2 *dst, const __global long2 *src, size_t num_elements, size_t src_stride, event_t event);
   14107 event_t __ovld async_work_group_strided_copy(__local ulong2 *dst, const __global ulong2 *src, size_t num_elements, size_t src_stride, event_t event);
   14108 event_t __ovld async_work_group_strided_copy(__local float2 *dst, const __global float2 *src, size_t num_elements, size_t src_stride, event_t event);
   14109 event_t __ovld async_work_group_strided_copy(__local char3 *dst, const __global char3 *src, size_t num_elements, size_t src_stride, event_t event);
   14110 event_t __ovld async_work_group_strided_copy(__local uchar3 *dst, const __global uchar3 *src, size_t num_elements, size_t src_stride, event_t event);
   14111 event_t __ovld async_work_group_strided_copy(__local short3 *dst, const __global short3 *src, size_t num_elements, size_t src_stride, event_t event);
   14112 event_t __ovld async_work_group_strided_copy(__local ushort3 *dst, const __global ushort3 *src, size_t num_elements, size_t src_stride, event_t event);
   14113 event_t __ovld async_work_group_strided_copy(__local int3 *dst, const __global int3 *src, size_t num_elements, size_t src_stride, event_t event);
   14114 event_t __ovld async_work_group_strided_copy(__local uint3 *dst, const __global uint3 *src, size_t num_elements, size_t src_stride, event_t event);
   14115 event_t __ovld async_work_group_strided_copy(__local long3 *dst, const __global long3 *src, size_t num_elements, size_t src_stride, event_t event);
   14116 event_t __ovld async_work_group_strided_copy(__local ulong3 *dst, const __global ulong3 *src, size_t num_elements, size_t src_stride, event_t event);
   14117 event_t __ovld async_work_group_strided_copy(__local float3 *dst, const __global float3 *src, size_t num_elements, size_t src_stride, event_t event);
   14118 event_t __ovld async_work_group_strided_copy(__local char4 *dst, const __global char4 *src, size_t num_elements, size_t src_stride, event_t event);
   14119 event_t __ovld async_work_group_strided_copy(__local uchar4 *dst, const __global uchar4 *src, size_t num_elements, size_t src_stride, event_t event);
   14120 event_t __ovld async_work_group_strided_copy(__local short4 *dst, const __global short4 *src, size_t num_elements, size_t src_stride, event_t event);
   14121 event_t __ovld async_work_group_strided_copy(__local ushort4 *dst, const __global ushort4 *src, size_t num_elements, size_t src_stride, event_t event);
   14122 event_t __ovld async_work_group_strided_copy(__local int4 *dst, const __global int4 *src, size_t num_elements, size_t src_stride, event_t event);
   14123 event_t __ovld async_work_group_strided_copy(__local uint4 *dst, const __global uint4 *src, size_t num_elements, size_t src_stride, event_t event);
   14124 event_t __ovld async_work_group_strided_copy(__local long4 *dst, const __global long4 *src, size_t num_elements, size_t src_stride, event_t event);
   14125 event_t __ovld async_work_group_strided_copy(__local ulong4 *dst, const __global ulong4 *src, size_t num_elements, size_t src_stride, event_t event);
   14126 event_t __ovld async_work_group_strided_copy(__local float4 *dst, const __global float4 *src, size_t num_elements, size_t src_stride, event_t event);
   14127 event_t __ovld async_work_group_strided_copy(__local char8 *dst, const __global char8 *src, size_t num_elements, size_t src_stride, event_t event);
   14128 event_t __ovld async_work_group_strided_copy(__local uchar8 *dst, const __global uchar8 *src, size_t num_elements, size_t src_stride, event_t event);
   14129 event_t __ovld async_work_group_strided_copy(__local short8 *dst, const __global short8 *src, size_t num_elements, size_t src_stride, event_t event);
   14130 event_t __ovld async_work_group_strided_copy(__local ushort8 *dst, const __global ushort8 *src, size_t num_elements, size_t src_stride, event_t event);
   14131 event_t __ovld async_work_group_strided_copy(__local int8 *dst, const __global int8 *src, size_t num_elements, size_t src_stride, event_t event);
   14132 event_t __ovld async_work_group_strided_copy(__local uint8 *dst, const __global uint8 *src, size_t num_elements, size_t src_stride, event_t event);
   14133 event_t __ovld async_work_group_strided_copy(__local long8 *dst, const __global long8 *src, size_t num_elements, size_t src_stride, event_t event);
   14134 event_t __ovld async_work_group_strided_copy(__local ulong8 *dst, const __global ulong8 *src, size_t num_elements, size_t src_stride, event_t event);
   14135 event_t __ovld async_work_group_strided_copy(__local float8 *dst, const __global float8 *src, size_t num_elements, size_t src_stride, event_t event);
   14136 event_t __ovld async_work_group_strided_copy(__local char16 *dst, const __global char16 *src, size_t num_elements, size_t src_stride, event_t event);
   14137 event_t __ovld async_work_group_strided_copy(__local uchar16 *dst, const __global uchar16 *src, size_t num_elements, size_t src_stride, event_t event);
   14138 event_t __ovld async_work_group_strided_copy(__local short16 *dst, const __global short16 *src, size_t num_elements, size_t src_stride, event_t event);
   14139 event_t __ovld async_work_group_strided_copy(__local ushort16 *dst, const __global ushort16 *src, size_t num_elements, size_t src_stride, event_t event);
   14140 event_t __ovld async_work_group_strided_copy(__local int16 *dst, const __global int16 *src, size_t num_elements, size_t src_stride, event_t event);
   14141 event_t __ovld async_work_group_strided_copy(__local uint16 *dst, const __global uint16 *src, size_t num_elements, size_t src_stride, event_t event);
   14142 event_t __ovld async_work_group_strided_copy(__local long16 *dst, const __global long16 *src, size_t num_elements, size_t src_stride, event_t event);
   14143 event_t __ovld async_work_group_strided_copy(__local ulong16 *dst, const __global ulong16 *src, size_t num_elements, size_t src_stride, event_t event);
   14144 event_t __ovld async_work_group_strided_copy(__local float16 *dst, const __global float16 *src, size_t num_elements, size_t src_stride, event_t event);
   14145 event_t __ovld async_work_group_strided_copy(__global char *dst, const __local char *src, size_t num_elements, size_t dst_stride, event_t event);
   14146 event_t __ovld async_work_group_strided_copy(__global uchar *dst, const __local uchar *src, size_t num_elements, size_t dst_stride, event_t event);
   14147 event_t __ovld async_work_group_strided_copy(__global short *dst, const __local short *src, size_t num_elements, size_t dst_stride, event_t event);
   14148 event_t __ovld async_work_group_strided_copy(__global ushort *dst, const __local ushort *src, size_t num_elements, size_t dst_stride, event_t event);
   14149 event_t __ovld async_work_group_strided_copy(__global int *dst, const __local int *src, size_t num_elements, size_t dst_stride, event_t event);
   14150 event_t __ovld async_work_group_strided_copy(__global uint *dst, const __local uint *src, size_t num_elements, size_t dst_stride, event_t event);
   14151 event_t __ovld async_work_group_strided_copy(__global long *dst, const __local long *src, size_t num_elements, size_t dst_stride, event_t event);
   14152 event_t __ovld async_work_group_strided_copy(__global ulong *dst, const __local ulong *src, size_t num_elements, size_t dst_stride, event_t event);
   14153 event_t __ovld async_work_group_strided_copy(__global float *dst, const __local float *src, size_t num_elements, size_t dst_stride, event_t event);
   14154 event_t __ovld async_work_group_strided_copy(__global char2 *dst, const __local char2 *src, size_t num_elements, size_t dst_stride, event_t event);
   14155 event_t __ovld async_work_group_strided_copy(__global uchar2 *dst, const __local uchar2 *src, size_t num_elements, size_t dst_stride, event_t event);
   14156 event_t __ovld async_work_group_strided_copy(__global short2 *dst, const __local short2 *src, size_t num_elements, size_t dst_stride, event_t event);
   14157 event_t __ovld async_work_group_strided_copy(__global ushort2 *dst, const __local ushort2 *src, size_t num_elements, size_t dst_stride, event_t event);
   14158 event_t __ovld async_work_group_strided_copy(__global int2 *dst, const __local int2 *src, size_t num_elements, size_t dst_stride, event_t event);
   14159 event_t __ovld async_work_group_strided_copy(__global uint2 *dst, const __local uint2 *src, size_t num_elements, size_t dst_stride, event_t event);
   14160 event_t __ovld async_work_group_strided_copy(__global long2 *dst, const __local long2 *src, size_t num_elements, size_t dst_stride, event_t event);
   14161 event_t __ovld async_work_group_strided_copy(__global ulong2 *dst, const __local ulong2 *src, size_t num_elements, size_t dst_stride, event_t event);
   14162 event_t __ovld async_work_group_strided_copy(__global float2 *dst, const __local float2 *src, size_t num_elements, size_t dst_stride, event_t event);
   14163 event_t __ovld async_work_group_strided_copy(__global char3 *dst, const __local char3 *src, size_t num_elements, size_t dst_stride, event_t event);
   14164 event_t __ovld async_work_group_strided_copy(__global uchar3 *dst, const __local uchar3 *src, size_t num_elements, size_t dst_stride, event_t event);
   14165 event_t __ovld async_work_group_strided_copy(__global short3 *dst, const __local short3 *src, size_t num_elements, size_t dst_stride, event_t event);
   14166 event_t __ovld async_work_group_strided_copy(__global ushort3 *dst, const __local ushort3 *src, size_t num_elements, size_t dst_stride, event_t event);
   14167 event_t __ovld async_work_group_strided_copy(__global int3 *dst, const __local int3 *src, size_t num_elements, size_t dst_stride, event_t event);
   14168 event_t __ovld async_work_group_strided_copy(__global uint3 *dst, const __local uint3 *src, size_t num_elements, size_t dst_stride, event_t event);
   14169 event_t __ovld async_work_group_strided_copy(__global long3 *dst, const __local long3 *src, size_t num_elements, size_t dst_stride, event_t event);
   14170 event_t __ovld async_work_group_strided_copy(__global ulong3 *dst, const __local ulong3 *src, size_t num_elements, size_t dst_stride, event_t event);
   14171 event_t __ovld async_work_group_strided_copy(__global float3 *dst, const __local float3 *src, size_t num_elements, size_t dst_stride, event_t event);
   14172 event_t __ovld async_work_group_strided_copy(__global char4 *dst, const __local char4 *src, size_t num_elements, size_t dst_stride, event_t event);
   14173 event_t __ovld async_work_group_strided_copy(__global uchar4 *dst, const __local uchar4 *src, size_t num_elements, size_t dst_stride, event_t event);
   14174 event_t __ovld async_work_group_strided_copy(__global short4 *dst, const __local short4 *src, size_t num_elements, size_t dst_stride, event_t event);
   14175 event_t __ovld async_work_group_strided_copy(__global ushort4 *dst, const __local ushort4 *src, size_t num_elements, size_t dst_stride, event_t event);
   14176 event_t __ovld async_work_group_strided_copy(__global int4 *dst, const __local int4 *src, size_t num_elements, size_t dst_stride, event_t event);
   14177 event_t __ovld async_work_group_strided_copy(__global uint4 *dst, const __local uint4 *src, size_t num_elements, size_t dst_stride, event_t event);
   14178 event_t __ovld async_work_group_strided_copy(__global long4 *dst, const __local long4 *src, size_t num_elements, size_t dst_stride, event_t event);
   14179 event_t __ovld async_work_group_strided_copy(__global ulong4 *dst, const __local ulong4 *src, size_t num_elements, size_t dst_stride, event_t event);
   14180 event_t __ovld async_work_group_strided_copy(__global float4 *dst, const __local float4 *src, size_t num_elements, size_t dst_stride, event_t event);
   14181 event_t __ovld async_work_group_strided_copy(__global char8 *dst, const __local char8 *src, size_t num_elements, size_t dst_stride, event_t event);
   14182 event_t __ovld async_work_group_strided_copy(__global uchar8 *dst, const __local uchar8 *src, size_t num_elements, size_t dst_stride, event_t event);
   14183 event_t __ovld async_work_group_strided_copy(__global short8 *dst, const __local short8 *src, size_t num_elements, size_t dst_stride, event_t event);
   14184 event_t __ovld async_work_group_strided_copy(__global ushort8 *dst, const __local ushort8 *src, size_t num_elements, size_t dst_stride, event_t event);
   14185 event_t __ovld async_work_group_strided_copy(__global int8 *dst, const __local int8 *src, size_t num_elements, size_t dst_stride, event_t event);
   14186 event_t __ovld async_work_group_strided_copy(__global uint8 *dst, const __local uint8 *src, size_t num_elements, size_t dst_stride, event_t event);
   14187 event_t __ovld async_work_group_strided_copy(__global long8 *dst, const __local long8 *src, size_t num_elements, size_t dst_stride, event_t event);
   14188 event_t __ovld async_work_group_strided_copy(__global ulong8 *dst, const __local ulong8 *src, size_t num_elements, size_t dst_stride, event_t event);
   14189 event_t __ovld async_work_group_strided_copy(__global float8 *dst, const __local float8 *src, size_t num_elements, size_t dst_stride, event_t event);
   14190 event_t __ovld async_work_group_strided_copy(__global char16 *dst, const __local char16 *src, size_t num_elements, size_t dst_stride, event_t event);
   14191 event_t __ovld async_work_group_strided_copy(__global uchar16 *dst, const __local uchar16 *src, size_t num_elements, size_t dst_stride, event_t event);
   14192 event_t __ovld async_work_group_strided_copy(__global short16 *dst, const __local short16 *src, size_t num_elements, size_t dst_stride, event_t event);
   14193 event_t __ovld async_work_group_strided_copy(__global ushort16 *dst, const __local ushort16 *src, size_t num_elements, size_t dst_stride, event_t event);
   14194 event_t __ovld async_work_group_strided_copy(__global int16 *dst, const __local int16 *src, size_t num_elements, size_t dst_stride, event_t event);
   14195 event_t __ovld async_work_group_strided_copy(__global uint16 *dst, const __local uint16 *src, size_t num_elements, size_t dst_stride, event_t event);
   14196 event_t __ovld async_work_group_strided_copy(__global long16 *dst, const __local long16 *src, size_t num_elements, size_t dst_stride, event_t event);
   14197 event_t __ovld async_work_group_strided_copy(__global ulong16 *dst, const __local ulong16 *src, size_t num_elements, size_t dst_stride, event_t event);
   14198 event_t __ovld async_work_group_strided_copy(__global float16 *dst, const __local float16 *src, size_t num_elements, size_t dst_stride, event_t event);
   14199 #ifdef cl_khr_fp64
   14200 event_t __ovld async_work_group_strided_copy(__local double *dst, const __global double *src, size_t num_elements, size_t src_stride, event_t event);
   14201 event_t __ovld async_work_group_strided_copy(__local double2 *dst, const __global double2 *src, size_t num_elements, size_t src_stride, event_t event);
   14202 event_t __ovld async_work_group_strided_copy(__local double3 *dst, const __global double3 *src, size_t num_elements, size_t src_stride, event_t event);
   14203 event_t __ovld async_work_group_strided_copy(__local double4 *dst, const __global double4 *src, size_t num_elements, size_t src_stride, event_t event);
   14204 event_t __ovld async_work_group_strided_copy(__local double8 *dst, const __global double8 *src, size_t num_elements, size_t src_stride, event_t event);
   14205 event_t __ovld async_work_group_strided_copy(__local double16 *dst, const __global double16 *src, size_t num_elements, size_t src_stride, event_t event);
   14206 event_t __ovld async_work_group_strided_copy(__global double *dst, const __local double *src, size_t num_elements, size_t dst_stride, event_t event);
   14207 event_t __ovld async_work_group_strided_copy(__global double2 *dst, const __local double2 *src, size_t num_elements, size_t dst_stride, event_t event);
   14208 event_t __ovld async_work_group_strided_copy(__global double3 *dst, const __local double3 *src, size_t num_elements, size_t dst_stride, event_t event);
   14209 event_t __ovld async_work_group_strided_copy(__global double4 *dst, const __local double4 *src, size_t num_elements, size_t dst_stride, event_t event);
   14210 event_t __ovld async_work_group_strided_copy(__global double8 *dst, const __local double8 *src, size_t num_elements, size_t dst_stride, event_t event);
   14211 event_t __ovld async_work_group_strided_copy(__global double16 *dst, const __local double16 *src, size_t num_elements, size_t dst_stride, event_t event);
   14212 #endif //cl_khr_fp64
   14213 #ifdef cl_khr_fp16
   14214 event_t __ovld async_work_group_strided_copy(__local half *dst, const __global half *src, size_t num_elements, size_t src_stride, event_t event);
   14215 event_t __ovld async_work_group_strided_copy(__local half2 *dst, const __global half2 *src, size_t num_elements, size_t src_stride, event_t event);
   14216 event_t __ovld async_work_group_strided_copy(__local half3 *dst, const __global half3 *src, size_t num_elements, size_t src_stride, event_t event);
   14217 event_t __ovld async_work_group_strided_copy(__local half4 *dst, const __global half4 *src, size_t num_elements, size_t src_stride, event_t event);
   14218 event_t __ovld async_work_group_strided_copy(__local half8 *dst, const __global half8 *src, size_t num_elements, size_t src_stride, event_t event);
   14219 event_t __ovld async_work_group_strided_copy(__local half16 *dst, const __global half16 *src, size_t num_elements, size_t src_stride, event_t event);
   14220 event_t __ovld async_work_group_strided_copy(__global half *dst, const __local half *src, size_t num_elements, size_t dst_stride, event_t event);
   14221 event_t __ovld async_work_group_strided_copy(__global half2 *dst, const __local half2 *src, size_t num_elements, size_t dst_stride, event_t event);
   14222 event_t __ovld async_work_group_strided_copy(__global half3 *dst, const __local half3 *src, size_t num_elements, size_t dst_stride, event_t event);
   14223 event_t __ovld async_work_group_strided_copy(__global half4 *dst, const __local half4 *src, size_t num_elements, size_t dst_stride, event_t event);
   14224 event_t __ovld async_work_group_strided_copy(__global half8 *dst, const __local half8 *src, size_t num_elements, size_t dst_stride, event_t event);
   14225 event_t __ovld async_work_group_strided_copy(__global half16 *dst, const __local half16 *src, size_t num_elements, size_t dst_stride, event_t event);
   14226 #endif //cl_khr_fp16
   14227 
   14228 /**
   14229  * Wait for events that identify the
   14230  * async_work_group_copy operations to
   14231  * complete. The event objects specified in
   14232  * event_list will be released after the wait is
   14233  * performed.
   14234  * This function must be encountered by all workitems
   14235  * in a work-group executing the kernel with
   14236  * the same num_events and event objects specified
   14237  * in event_list; otherwise the results are undefined.
   14238  */
   14239 void __ovld wait_group_events(int num_events, event_t *event_list);
   14240 
   14241 /**
   14242  * Prefetch num_elements * sizeof(gentype)
   14243  * bytes into the global cache. The prefetch
   14244  * instruction is applied to a work-item in a workgroup
   14245  * and does not affect the functional
   14246  * behavior of the kernel.
   14247  */
   14248 void __ovld prefetch(const __global char *p, size_t num_elements);
   14249 void __ovld prefetch(const __global uchar *p, size_t num_elements);
   14250 void __ovld prefetch(const __global short *p, size_t num_elements);
   14251 void __ovld prefetch(const __global ushort *p, size_t num_elements);
   14252 void __ovld prefetch(const __global int *p, size_t num_elements);
   14253 void __ovld prefetch(const __global uint *p, size_t num_elements);
   14254 void __ovld prefetch(const __global long *p, size_t num_elements);
   14255 void __ovld prefetch(const __global ulong *p, size_t num_elements);
   14256 void __ovld prefetch(const __global float *p, size_t num_elements);
   14257 void __ovld prefetch(const __global char2 *p, size_t num_elements);
   14258 void __ovld prefetch(const __global uchar2 *p, size_t num_elements);
   14259 void __ovld prefetch(const __global short2 *p, size_t num_elements);
   14260 void __ovld prefetch(const __global ushort2 *p, size_t num_elements);
   14261 void __ovld prefetch(const __global int2 *p, size_t num_elements);
   14262 void __ovld prefetch(const __global uint2 *p, size_t num_elements);
   14263 void __ovld prefetch(const __global long2 *p, size_t num_elements);
   14264 void __ovld prefetch(const __global ulong2 *p, size_t num_elements);
   14265 void __ovld prefetch(const __global float2 *p, size_t num_elements);
   14266 void __ovld prefetch(const __global char3 *p, size_t num_elements);
   14267 void __ovld prefetch(const __global uchar3 *p, size_t num_elements);
   14268 void __ovld prefetch(const __global short3 *p, size_t num_elements);
   14269 void __ovld prefetch(const __global ushort3 *p, size_t num_elements);
   14270 void __ovld prefetch(const __global int3 *p, size_t num_elements);
   14271 void __ovld prefetch(const __global uint3 *p, size_t num_elements);
   14272 void __ovld prefetch(const __global long3 *p, size_t num_elements);
   14273 void __ovld prefetch(const __global ulong3 *p, size_t num_elements);
   14274 void __ovld prefetch(const __global float3 *p, size_t num_elements);
   14275 void __ovld prefetch(const __global char4 *p, size_t num_elements);
   14276 void __ovld prefetch(const __global uchar4 *p, size_t num_elements);
   14277 void __ovld prefetch(const __global short4 *p, size_t num_elements);
   14278 void __ovld prefetch(const __global ushort4 *p, size_t num_elements);
   14279 void __ovld prefetch(const __global int4 *p, size_t num_elements);
   14280 void __ovld prefetch(const __global uint4 *p, size_t num_elements);
   14281 void __ovld prefetch(const __global long4 *p, size_t num_elements);
   14282 void __ovld prefetch(const __global ulong4 *p, size_t num_elements);
   14283 void __ovld prefetch(const __global float4 *p, size_t num_elements);
   14284 void __ovld prefetch(const __global char8 *p, size_t num_elements);
   14285 void __ovld prefetch(const __global uchar8 *p, size_t num_elements);
   14286 void __ovld prefetch(const __global short8 *p, size_t num_elements);
   14287 void __ovld prefetch(const __global ushort8 *p, size_t num_elements);
   14288 void __ovld prefetch(const __global int8 *p, size_t num_elements);
   14289 void __ovld prefetch(const __global uint8 *p, size_t num_elements);
   14290 void __ovld prefetch(const __global long8 *p, size_t num_elements);
   14291 void __ovld prefetch(const __global ulong8 *p, size_t num_elements);
   14292 void __ovld prefetch(const __global float8 *p, size_t num_elements);
   14293 void __ovld prefetch(const __global char16 *p, size_t num_elements);
   14294 void __ovld prefetch(const __global uchar16 *p, size_t num_elements);
   14295 void __ovld prefetch(const __global short16 *p, size_t num_elements);
   14296 void __ovld prefetch(const __global ushort16 *p, size_t num_elements);
   14297 void __ovld prefetch(const __global int16 *p, size_t num_elements);
   14298 void __ovld prefetch(const __global uint16 *p, size_t num_elements);
   14299 void __ovld prefetch(const __global long16 *p, size_t num_elements);
   14300 void __ovld prefetch(const __global ulong16 *p, size_t num_elements);
   14301 void __ovld prefetch(const __global float16 *p, size_t num_elements);
   14302 #ifdef cl_khr_fp64
   14303 void __ovld prefetch(const __global double *p, size_t num_elements);
   14304 void __ovld prefetch(const __global double2 *p, size_t num_elements);
   14305 void __ovld prefetch(const __global double3 *p, size_t num_elements);
   14306 void __ovld prefetch(const __global double4 *p, size_t num_elements);
   14307 void __ovld prefetch(const __global double8 *p, size_t num_elements);
   14308 void __ovld prefetch(const __global double16 *p, size_t num_elements);
   14309 #endif //cl_khr_fp64
   14310 #ifdef cl_khr_fp16
   14311 void __ovld prefetch(const __global half *p, size_t num_elements);
   14312 void __ovld prefetch(const __global half2 *p, size_t num_elements);
   14313 void __ovld prefetch(const __global half3 *p, size_t num_elements);
   14314 void __ovld prefetch(const __global half4 *p, size_t num_elements);
   14315 void __ovld prefetch(const __global half8 *p, size_t num_elements);
   14316 void __ovld prefetch(const __global half16 *p, size_t num_elements);
   14317 #endif // cl_khr_fp16
   14318 
   14319 // OpenCL v1.1 s6.11.1, v1.2 s6.12.11 - Atomic Functions
   14320 
   14321 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
   14322 #pragma OPENCL EXTENSION cl_khr_int64_base_atomics : enable
   14323 #pragma OPENCL EXTENSION cl_khr_int64_extended_atomics : enable
   14324 #endif
   14325 /**
   14326  * Read the 32-bit value (referred to as old)
   14327  * stored at location pointed by p. Compute
   14328  * (old + val) and store result at location
   14329  * pointed by p. The function returns old.
   14330  */
   14331 int __ovld atomic_add(volatile __global int *p, int val);
   14332 unsigned int __ovld atomic_add(volatile __global unsigned int *p, unsigned int val);
   14333 int __ovld atomic_add(volatile __local int *p, int val);
   14334 unsigned int __ovld atomic_add(volatile __local unsigned int *p, unsigned int val);
   14335 
   14336 #if defined(cl_khr_global_int32_base_atomics)
   14337 int __ovld atom_add(volatile __global int *p, int val);
   14338 unsigned int __ovld atom_add(volatile __global unsigned int *p, unsigned int val);
   14339 #endif
   14340 #if defined(cl_khr_local_int32_base_atomics)
   14341 int __ovld atom_add(volatile __local int *p, int val);
   14342 unsigned int __ovld atom_add(volatile __local unsigned int *p, unsigned int val);
   14343 #endif
   14344 
   14345 #if defined(cl_khr_int64_base_atomics)
   14346 long __ovld atom_add(volatile __global long *p, long val);
   14347 unsigned long __ovld atom_add(volatile __global unsigned long *p, unsigned long val);
   14348 long __ovld atom_add(volatile __local long *p, long val);
   14349 unsigned long __ovld atom_add(volatile __local unsigned long *p, unsigned long val);
   14350 #endif
   14351 
   14352 /**
   14353  * Read the 32-bit value (referred to as old) stored at location pointed by p.
   14354  * Compute (old - val) and store result at location pointed by p. The function
   14355  * returns old.
   14356  */
   14357 int __ovld atomic_sub(volatile __global int *p, int val);
   14358 unsigned int __ovld atomic_sub(volatile __global unsigned int *p, unsigned int val);
   14359 int __ovld atomic_sub(volatile __local int *p, int val);
   14360 unsigned int __ovld atomic_sub(volatile __local unsigned int *p, unsigned int val);
   14361 
   14362 #if defined(cl_khr_global_int32_base_atomics)
   14363 int __ovld atom_sub(volatile __global int *p, int val);
   14364 unsigned int __ovld atom_sub(volatile __global unsigned int *p, unsigned int val);
   14365 #endif
   14366 #if defined(cl_khr_local_int32_base_atomics)
   14367 int __ovld atom_sub(volatile __local int *p, int val);
   14368 unsigned int __ovld atom_sub(volatile __local unsigned int *p, unsigned int val);
   14369 #endif
   14370 
   14371 #if defined(cl_khr_int64_base_atomics)
   14372 long __ovld atom_sub(volatile __global long *p, long val);
   14373 unsigned long __ovld atom_sub(volatile __global unsigned long *p, unsigned long val);
   14374 long __ovld atom_sub(volatile __local long *p, long val);
   14375 unsigned long __ovld atom_sub(volatile __local unsigned long *p, unsigned long val);
   14376 #endif
   14377 
   14378 /**
   14379  * Swaps the old value stored at location p
   14380  * with new value given by val. Returns old
   14381  * value.
   14382  */
   14383 int __ovld atomic_xchg(volatile __global int *p, int val);
   14384 unsigned int __ovld atomic_xchg(volatile __global unsigned int *p, unsigned int val);
   14385 int __ovld atomic_xchg(volatile __local int *p, int val);
   14386 unsigned int __ovld atomic_xchg(volatile __local unsigned int *p, unsigned int val);
   14387 float __ovld atomic_xchg(volatile __global float *p, float val);
   14388 float __ovld atomic_xchg(volatile __local float *p, float val);
   14389 
   14390 #if defined(cl_khr_global_int32_base_atomics)
   14391 int __ovld atom_xchg(volatile __global int *p, int val);
   14392 int __ovld atom_xchg(volatile __local int *p, int val);
   14393 #endif
   14394 #if defined(cl_khr_local_int32_base_atomics)
   14395 unsigned int __ovld atom_xchg(volatile __global unsigned int *p, unsigned int val);
   14396 unsigned int __ovld atom_xchg(volatile __local unsigned int *p, unsigned int val);
   14397 #endif
   14398 
   14399 #if defined(cl_khr_int64_base_atomics)
   14400 long __ovld atom_xchg(volatile __global long *p, long val);
   14401 long __ovld atom_xchg(volatile __local long *p, long val);
   14402 unsigned long __ovld atom_xchg(volatile __global unsigned long *p, unsigned long val);
   14403 unsigned long __ovld atom_xchg(volatile __local unsigned long *p, unsigned long val);
   14404 #endif
   14405 
   14406 /**
   14407  * Read the 32-bit value (referred to as old)
   14408  * stored at location pointed by p. Compute
   14409  * (old + 1) and store result at location
   14410  * pointed by p. The function returns old.
   14411  */
   14412 int __ovld atomic_inc(volatile __global int *p);
   14413 unsigned int __ovld atomic_inc(volatile __global unsigned int *p);
   14414 int __ovld atomic_inc(volatile __local int *p);
   14415 unsigned int __ovld atomic_inc(volatile __local unsigned int *p);
   14416 
   14417 #if defined(cl_khr_global_int32_base_atomics)
   14418 int __ovld atom_inc(volatile __global int *p);
   14419 unsigned int __ovld atom_inc(volatile __global unsigned int *p);
   14420 #endif
   14421 #if defined(cl_khr_local_int32_base_atomics)
   14422 int __ovld atom_inc(volatile __local int *p);
   14423 unsigned int __ovld atom_inc(volatile __local unsigned int *p);
   14424 #endif
   14425 
   14426 #if defined(cl_khr_int64_base_atomics)
   14427 long __ovld atom_inc(volatile __global long *p);
   14428 unsigned long __ovld atom_inc(volatile __global unsigned long *p);
   14429 long __ovld atom_inc(volatile __local long *p);
   14430 unsigned long __ovld atom_inc(volatile __local unsigned long *p);
   14431 #endif
   14432 
   14433 /**
   14434  * Read the 32-bit value (referred to as old)
   14435  * stored at location pointed by p. Compute
   14436  * (old - 1) and store result at location
   14437  * pointed by p. The function returns old.
   14438  */
   14439 int __ovld atomic_dec(volatile __global int *p);
   14440 unsigned int __ovld atomic_dec(volatile __global unsigned int *p);
   14441 int __ovld atomic_dec(volatile __local int *p);
   14442 unsigned int __ovld atomic_dec(volatile __local unsigned int *p);
   14443 
   14444 #if defined(cl_khr_global_int32_base_atomics)
   14445 int __ovld atom_dec(volatile __global int *p);
   14446 unsigned int __ovld atom_dec(volatile __global unsigned int *p);
   14447 #endif
   14448 #if defined(cl_khr_local_int32_base_atomics)
   14449 int __ovld atom_dec(volatile __local int *p);
   14450 unsigned int __ovld atom_dec(volatile __local unsigned int *p);
   14451 #endif
   14452 
   14453 #if defined(cl_khr_int64_base_atomics)
   14454 long __ovld atom_dec(volatile __global long *p);
   14455 unsigned long __ovld atom_dec(volatile __global unsigned long *p);
   14456 long __ovld atom_dec(volatile __local long *p);
   14457 unsigned long __ovld atom_dec(volatile __local unsigned long *p);
   14458 #endif
   14459 
   14460 /**
   14461  * Read the 32-bit value (referred to as old)
   14462  * stored at location pointed by p. Compute
   14463  * (old == cmp) ? val : old and store result at
   14464  * location pointed by p. The function
   14465  * returns old.
   14466  */
   14467 int __ovld atomic_cmpxchg(volatile __global int *p, int cmp, int val);
   14468 unsigned int __ovld atomic_cmpxchg(volatile __global unsigned int *p, unsigned int cmp, unsigned int val);
   14469 int __ovld atomic_cmpxchg(volatile __local int *p, int cmp, int val);
   14470 unsigned int __ovld atomic_cmpxchg(volatile __local unsigned int *p, unsigned int cmp, unsigned int val);
   14471 
   14472 #if defined(cl_khr_global_int32_base_atomics)
   14473 int __ovld atom_cmpxchg(volatile __global int *p, int cmp, int val);
   14474 unsigned int __ovld atom_cmpxchg(volatile __global unsigned int *p, unsigned int cmp, unsigned int val);
   14475 #endif
   14476 #if defined(cl_khr_local_int32_base_atomics)
   14477 int __ovld atom_cmpxchg(volatile __local int *p, int cmp, int val);
   14478 unsigned int __ovld atom_cmpxchg(volatile __local unsigned int *p, unsigned int cmp, unsigned int val);
   14479 #endif
   14480 
   14481 #if defined(cl_khr_int64_base_atomics)
   14482 long __ovld atom_cmpxchg(volatile __global long *p, long cmp, long val);
   14483 unsigned long __ovld atom_cmpxchg(volatile __global unsigned long *p, unsigned long cmp, unsigned long val);
   14484 long __ovld atom_cmpxchg(volatile __local long *p, long cmp, long val);
   14485 unsigned long __ovld atom_cmpxchg(volatile __local unsigned long *p, unsigned long cmp, unsigned long val);
   14486 #endif
   14487 
   14488 /**
   14489  * Read the 32-bit value (referred to as old)
   14490  * stored at location pointed by p. Compute
   14491  * min(old, val) and store minimum value at
   14492  * location pointed by p. The function
   14493  * returns old.
   14494  */
   14495 int __ovld atomic_min(volatile __global int *p, int val);
   14496 unsigned int __ovld atomic_min(volatile __global unsigned int *p, unsigned int val);
   14497 int __ovld atomic_min(volatile __local int *p, int val);
   14498 unsigned int __ovld atomic_min(volatile __local unsigned int *p, unsigned int val);
   14499 
   14500 #if defined(cl_khr_global_int32_extended_atomics)
   14501 int __ovld atom_min(volatile __global int *p, int val);
   14502 unsigned int __ovld atom_min(volatile __global unsigned int *p, unsigned int val);
   14503 #endif
   14504 #if defined(cl_khr_local_int32_extended_atomics)
   14505 int __ovld atom_min(volatile __local int *p, int val);
   14506 unsigned int __ovld atom_min(volatile __local unsigned int *p, unsigned int val);
   14507 #endif
   14508 
   14509 #if defined(cl_khr_int64_extended_atomics)
   14510 long __ovld atom_min(volatile __global long *p, long val);
   14511 unsigned long __ovld atom_min(volatile __global unsigned long *p, unsigned long val);
   14512 #endif
   14513 #if defined(cl_khr_local_int32_extended_atomics)
   14514 long __ovld atom_min(volatile __local long *p, long val);
   14515 unsigned long __ovld atom_min(volatile __local unsigned long *p, unsigned long val);
   14516 #endif
   14517 
   14518 /**
   14519  * Read the 32-bit value (referred to as old)
   14520  * stored at location pointed by p. Compute
   14521  * max(old, val) and store maximum value at
   14522  * location pointed by p. The function
   14523  * returns old.
   14524  */
   14525 int __ovld atomic_max(volatile __global int *p, int val);
   14526 unsigned int __ovld atomic_max(volatile __global unsigned int *p, unsigned int val);
   14527 int __ovld atomic_max(volatile __local int *p, int val);
   14528 unsigned int __ovld atomic_max(volatile __local unsigned int *p, unsigned int val);
   14529 
   14530 #if defined(cl_khr_global_int32_extended_atomics)
   14531 int __ovld atom_max(volatile __global int *p, int val);
   14532 unsigned int __ovld atom_max(volatile __global unsigned int *p, unsigned int val);
   14533 #endif
   14534 #if defined(cl_khr_local_int32_extended_atomics)
   14535 int __ovld atom_max(volatile __local int *p, int val);
   14536 unsigned int __ovld atom_max(volatile __local unsigned int *p, unsigned int val);
   14537 #endif
   14538 
   14539 #if defined(cl_khr_int64_extended_atomics)
   14540 long __ovld atom_max(volatile __global long *p, long val);
   14541 unsigned long __ovld atom_max(volatile __global unsigned long *p, unsigned long val);
   14542 long __ovld atom_max(volatile __local long *p, long val);
   14543 unsigned long __ovld atom_max(volatile __local unsigned long *p, unsigned long val);
   14544 #endif
   14545 
   14546 /**
   14547  * Read the 32-bit value (referred to as old)
   14548  * stored at location pointed by p. Compute
   14549  * (old & val) and store result at location
   14550  * pointed by p. The function returns old.
   14551  */
   14552 int __ovld atomic_and(volatile __global int *p, int val);
   14553 unsigned int __ovld atomic_and(volatile __global unsigned int *p, unsigned int val);
   14554 int __ovld atomic_and(volatile __local int *p, int val);
   14555 unsigned int __ovld atomic_and(volatile __local unsigned int *p, unsigned int val);
   14556 
   14557 #if defined(cl_khr_global_int32_extended_atomics)
   14558 int __ovld atom_and(volatile __global int *p, int val);
   14559 unsigned int __ovld atom_and(volatile __global unsigned int *p, unsigned int val);
   14560 #endif
   14561 #if defined(cl_khr_local_int32_extended_atomics)
   14562 int __ovld atom_and(volatile __local int *p, int val);
   14563 unsigned int __ovld atom_and(volatile __local unsigned int *p, unsigned int val);
   14564 #endif
   14565 
   14566 #if defined(cl_khr_int64_extended_atomics)
   14567 long __ovld atom_and(volatile __global long *p, long val);
   14568 unsigned long __ovld atom_and(volatile __global unsigned long *p, unsigned long val);
   14569 long __ovld atom_and(volatile __local long *p, long val);
   14570 unsigned long __ovld atom_and(volatile __local unsigned long *p, unsigned long val);
   14571 #endif
   14572 
   14573 /**
   14574  * Read the 32-bit value (referred to as old)
   14575  * stored at location pointed by p. Compute
   14576  * (old | val) and store result at location
   14577  * pointed by p. The function returns old.
   14578  */
   14579 int __ovld atomic_or(volatile __global int *p, int val);
   14580 unsigned int __ovld atomic_or(volatile __global unsigned int *p, unsigned int val);
   14581 int __ovld atomic_or(volatile __local int *p, int val);
   14582 unsigned int __ovld atomic_or(volatile __local unsigned int *p, unsigned int val);
   14583 
   14584 #if defined(cl_khr_global_int32_extended_atomics)
   14585 int __ovld atom_or(volatile __global int *p, int val);
   14586 unsigned int __ovld atom_or(volatile __global unsigned int *p, unsigned int val);
   14587 #endif
   14588 #if defined(cl_khr_local_int32_extended_atomics)
   14589 int __ovld atom_or(volatile __local int *p, int val);
   14590 unsigned int __ovld atom_or(volatile __local unsigned int *p, unsigned int val);
   14591 #endif
   14592 
   14593 #if defined(cl_khr_int64_extended_atomics)
   14594 long __ovld atom_or(volatile __global long *p, long val);
   14595 unsigned long __ovld atom_or(volatile __global unsigned long *p, unsigned long val);
   14596 long __ovld atom_or(volatile __local long *p, long val);
   14597 unsigned long __ovld atom_or(volatile __local unsigned long *p, unsigned long val);
   14598 #endif
   14599 
   14600 /**
   14601  * Read the 32-bit value (referred to as old)
   14602  * stored at location pointed by p. Compute
   14603  * (old ^ val) and store result at location
   14604  * pointed by p. The function returns old.
   14605  */
   14606 int __ovld atomic_xor(volatile __global int *p, int val);
   14607 unsigned int __ovld atomic_xor(volatile __global unsigned int *p, unsigned int val);
   14608 int __ovld atomic_xor(volatile __local int *p, int val);
   14609 unsigned int __ovld atomic_xor(volatile __local unsigned int *p, unsigned int val);
   14610 
   14611 #if defined(cl_khr_global_int32_extended_atomics)
   14612 int __ovld atom_xor(volatile __global int *p, int val);
   14613 unsigned int __ovld atom_xor(volatile __global unsigned int *p, unsigned int val);
   14614 #endif
   14615 #if defined(cl_khr_local_int32_extended_atomics)
   14616 int __ovld atom_xor(volatile __local int *p, int val);
   14617 unsigned int __ovld atom_xor(volatile __local unsigned int *p, unsigned int val);
   14618 #endif
   14619 
   14620 #if defined(cl_khr_int64_extended_atomics)
   14621 long __ovld atom_xor(volatile __global long *p, long val);
   14622 unsigned long __ovld atom_xor(volatile __global unsigned long *p, unsigned long val);
   14623 long __ovld atom_xor(volatile __local long *p, long val);
   14624 unsigned long __ovld atom_xor(volatile __local unsigned long *p, unsigned long val);
   14625 #endif
   14626 
   14627 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
   14628 #pragma OPENCL EXTENSION cl_khr_int64_base_atomics : disable
   14629 #pragma OPENCL EXTENSION cl_khr_int64_extended_atomics : disable
   14630 #endif
   14631 
   14632 // OpenCL v2.0 s6.13.11 - Atomics Functions
   14633 
   14634 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   14635 #ifndef ATOMIC_VAR_INIT
   14636 #define ATOMIC_VAR_INIT(x) (x)
   14637 #endif //ATOMIC_VAR_INIT
   14638 #define ATOMIC_FLAG_INIT 0
   14639 
   14640 // enum values aligned with what clang uses in EmitAtomicExpr()
   14641 typedef enum memory_order
   14642 {
   14643   memory_order_relaxed,
   14644   memory_order_acquire,
   14645   memory_order_release,
   14646   memory_order_acq_rel,
   14647   memory_order_seq_cst
   14648 } memory_order;
   14649 
   14650 // double atomics support requires extensions cl_khr_int64_base_atomics and cl_khr_int64_extended_atomics
   14651 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
   14652 #pragma OPENCL EXTENSION cl_khr_int64_base_atomics : enable
   14653 #pragma OPENCL EXTENSION cl_khr_int64_extended_atomics : enable
   14654 #endif
   14655 
   14656 // atomic_init()
   14657 void __ovld atomic_init(volatile atomic_int *object, int value);
   14658 void __ovld atomic_init(volatile atomic_uint *object, uint value);
   14659 void __ovld atomic_init(volatile atomic_float *object, float value);
   14660 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
   14661 void __ovld atomic_init(volatile atomic_long *object, long value);
   14662 void __ovld atomic_init(volatile atomic_ulong *object, ulong value);
   14663 #ifdef cl_khr_fp64
   14664 void __ovld atomic_init(volatile atomic_double *object, double value);
   14665 #endif //cl_khr_fp64
   14666 #endif
   14667 
   14668 // atomic_work_item_fence()
   14669 void __ovld atomic_work_item_fence(cl_mem_fence_flags flags, memory_order order, memory_scope scope);
   14670 
   14671 // atomic_fetch()
   14672 
   14673 int __ovld atomic_fetch_add(volatile atomic_int *object, int operand);
   14674 int __ovld atomic_fetch_add_explicit(volatile atomic_int *object, int operand, memory_order order);
   14675 int __ovld atomic_fetch_add_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
   14676 uint __ovld atomic_fetch_add(volatile atomic_uint *object, uint operand);
   14677 uint __ovld atomic_fetch_add_explicit(volatile atomic_uint *object, uint operand, memory_order order);
   14678 uint __ovld atomic_fetch_add_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
   14679 int __ovld atomic_fetch_sub(volatile atomic_int *object, int operand);
   14680 int __ovld atomic_fetch_sub_explicit(volatile atomic_int *object, int operand, memory_order order);
   14681 int __ovld atomic_fetch_sub_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
   14682 uint __ovld atomic_fetch_sub(volatile atomic_uint *object, uint operand);
   14683 uint __ovld atomic_fetch_sub_explicit(volatile atomic_uint *object, uint operand, memory_order order);
   14684 uint __ovld atomic_fetch_sub_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
   14685 int __ovld atomic_fetch_or(volatile atomic_int *object, int operand);
   14686 int __ovld atomic_fetch_or_explicit(volatile atomic_int *object, int operand, memory_order order);
   14687 int __ovld atomic_fetch_or_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
   14688 uint __ovld atomic_fetch_or(volatile atomic_uint *object, uint operand);
   14689 uint __ovld atomic_fetch_or_explicit(volatile atomic_uint *object, uint operand, memory_order order);
   14690 uint __ovld atomic_fetch_or_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
   14691 int __ovld atomic_fetch_xor(volatile atomic_int *object, int operand);
   14692 int __ovld atomic_fetch_xor_explicit(volatile atomic_int *object, int operand, memory_order order);
   14693 int __ovld atomic_fetch_xor_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
   14694 uint __ovld atomic_fetch_xor(volatile atomic_uint *object, uint operand);
   14695 uint __ovld atomic_fetch_xor_explicit(volatile atomic_uint *object, uint operand, memory_order order);
   14696 uint __ovld atomic_fetch_xor_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
   14697 int __ovld atomic_fetch_and(volatile atomic_int *object, int operand);
   14698 int __ovld atomic_fetch_and_explicit(volatile atomic_int *object, int operand, memory_order order);
   14699 int __ovld atomic_fetch_and_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
   14700 uint __ovld atomic_fetch_and(volatile atomic_uint *object, uint operand);
   14701 uint __ovld atomic_fetch_and_explicit(volatile atomic_uint *object, uint operand, memory_order order);
   14702 uint __ovld atomic_fetch_and_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
   14703 int __ovld atomic_fetch_min(volatile atomic_int *object, int operand);
   14704 int __ovld atomic_fetch_min_explicit(volatile atomic_int *object, int operand, memory_order order);
   14705 int __ovld atomic_fetch_min_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
   14706 uint __ovld atomic_fetch_min(volatile atomic_uint *object, uint operand);
   14707 uint __ovld atomic_fetch_min_explicit(volatile atomic_uint *object, uint operand, memory_order order);
   14708 uint __ovld atomic_fetch_min_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
   14709 uint __ovld atomic_fetch_min(volatile atomic_uint *object, int operand);
   14710 uint __ovld atomic_fetch_min_explicit(volatile atomic_uint *object, int operand, memory_order order);
   14711 uint __ovld atomic_fetch_min_explicit(volatile atomic_uint *object, int operand, memory_order order, memory_scope scope);
   14712 int __ovld atomic_fetch_max(volatile atomic_int *object, int operand);
   14713 int __ovld atomic_fetch_max_explicit(volatile atomic_int *object, int operand, memory_order order);
   14714 int __ovld atomic_fetch_max_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
   14715 uint __ovld atomic_fetch_max(volatile atomic_uint *object, uint operand);
   14716 uint __ovld atomic_fetch_max_explicit(volatile atomic_uint *object, uint operand, memory_order order);
   14717 uint __ovld atomic_fetch_max_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
   14718 uint __ovld atomic_fetch_max(volatile atomic_uint *object, int operand);
   14719 uint __ovld atomic_fetch_max_explicit(volatile atomic_uint *object, int operand, memory_order order);
   14720 uint __ovld atomic_fetch_max_explicit(volatile atomic_uint *object, int operand, memory_order order, memory_scope scope);
   14721 
   14722 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
   14723 long __ovld atomic_fetch_add(volatile atomic_long *object, long operand);
   14724 long __ovld atomic_fetch_add_explicit(volatile atomic_long *object, long operand, memory_order order);
   14725 long __ovld atomic_fetch_add_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
   14726 ulong __ovld atomic_fetch_add(volatile atomic_ulong *object, ulong operand);
   14727 ulong __ovld atomic_fetch_add_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
   14728 ulong __ovld atomic_fetch_add_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
   14729 long __ovld atomic_fetch_sub(volatile atomic_long *object, long operand);
   14730 long __ovld atomic_fetch_sub_explicit(volatile atomic_long *object, long operand, memory_order order);
   14731 long __ovld atomic_fetch_sub_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
   14732 ulong __ovld atomic_fetch_sub(volatile atomic_ulong *object, ulong operand);
   14733 ulong __ovld atomic_fetch_sub_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
   14734 ulong __ovld atomic_fetch_sub_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
   14735 long __ovld atomic_fetch_or(volatile atomic_long *object, long operand);
   14736 long __ovld atomic_fetch_or_explicit(volatile atomic_long *object, long operand, memory_order order);
   14737 long __ovld atomic_fetch_or_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
   14738 ulong __ovld atomic_fetch_or(volatile atomic_ulong *object, ulong operand);
   14739 ulong __ovld atomic_fetch_or_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
   14740 ulong __ovld atomic_fetch_or_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
   14741 long __ovld atomic_fetch_xor(volatile atomic_long *object, long operand);
   14742 long __ovld atomic_fetch_xor_explicit(volatile atomic_long *object, long operand, memory_order order);
   14743 long __ovld atomic_fetch_xor_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
   14744 ulong __ovld atomic_fetch_xor(volatile atomic_ulong *object, ulong operand);
   14745 ulong __ovld atomic_fetch_xor_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
   14746 ulong __ovld atomic_fetch_xor_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
   14747 long __ovld atomic_fetch_and(volatile atomic_long *object, long operand);
   14748 long __ovld atomic_fetch_and_explicit(volatile atomic_long *object, long operand, memory_order order);
   14749 long __ovld atomic_fetch_and_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
   14750 ulong __ovld atomic_fetch_and(volatile atomic_ulong *object, ulong operand);
   14751 ulong __ovld atomic_fetch_and_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
   14752 ulong __ovld atomic_fetch_and_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
   14753 long __ovld atomic_fetch_min(volatile atomic_long *object, long operand);
   14754 long __ovld atomic_fetch_min_explicit(volatile atomic_long *object, long operand, memory_order order);
   14755 long __ovld atomic_fetch_min_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
   14756 ulong __ovld atomic_fetch_min(volatile atomic_ulong *object, ulong operand);
   14757 ulong __ovld atomic_fetch_min_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
   14758 ulong __ovld atomic_fetch_min_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
   14759 ulong __ovld atomic_fetch_min(volatile atomic_ulong *object, long operand);
   14760 ulong __ovld atomic_fetch_min_explicit(volatile atomic_ulong *object, long operand, memory_order order);
   14761 ulong __ovld atomic_fetch_min_explicit(volatile atomic_ulong *object, long operand, memory_order order, memory_scope scope);
   14762 long __ovld atomic_fetch_max(volatile atomic_long *object, long operand);
   14763 long __ovld atomic_fetch_max_explicit(volatile atomic_long *object, long operand, memory_order order);
   14764 long __ovld atomic_fetch_max_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
   14765 ulong __ovld atomic_fetch_max(volatile atomic_ulong *object, ulong operand);
   14766 ulong __ovld atomic_fetch_max_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
   14767 ulong __ovld atomic_fetch_max_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
   14768 ulong __ovld atomic_fetch_max(volatile atomic_ulong *object, long operand);
   14769 ulong __ovld atomic_fetch_max_explicit(volatile atomic_ulong *object, long operand, memory_order order);
   14770 ulong __ovld atomic_fetch_max_explicit(volatile atomic_ulong *object, long operand, memory_order order, memory_scope scope);
   14771 #endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
   14772 
   14773 // OpenCL v2.0 s6.13.11.7.5:
   14774 // add/sub: atomic type argument can be uintptr_t/intptr_t, value type argument can be ptrdiff_t.
   14775 // or/xor/and/min/max: atomic type argument can be intptr_t/uintptr_t, value type argument can be intptr_t/uintptr_t.
   14776 
   14777 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
   14778 uintptr_t __ovld atomic_fetch_add(volatile atomic_uintptr_t *object, ptrdiff_t operand);
   14779 uintptr_t __ovld atomic_fetch_add_explicit(volatile atomic_uintptr_t *object, ptrdiff_t operand, memory_order order);
   14780 uintptr_t __ovld atomic_fetch_add_explicit(volatile atomic_uintptr_t *object, ptrdiff_t operand, memory_order order, memory_scope scope);
   14781 uintptr_t __ovld atomic_fetch_sub(volatile atomic_uintptr_t *object, ptrdiff_t operand);
   14782 uintptr_t __ovld atomic_fetch_sub_explicit(volatile atomic_uintptr_t *object, ptrdiff_t operand, memory_order order);
   14783 uintptr_t __ovld atomic_fetch_sub_explicit(volatile atomic_uintptr_t *object, ptrdiff_t operand, memory_order order, memory_scope scope);
   14784 
   14785 uintptr_t __ovld atomic_fetch_or(volatile atomic_uintptr_t *object, intptr_t operand);
   14786 uintptr_t __ovld atomic_fetch_or_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order);
   14787 uintptr_t __ovld atomic_fetch_or_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order, memory_scope scope);
   14788 uintptr_t __ovld atomic_fetch_xor(volatile atomic_uintptr_t *object, intptr_t operand);
   14789 uintptr_t __ovld atomic_fetch_xor_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order);
   14790 uintptr_t __ovld atomic_fetch_xor_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order, memory_scope scope);
   14791 uintptr_t __ovld atomic_fetch_and(volatile atomic_uintptr_t *object, intptr_t operand);
   14792 uintptr_t __ovld atomic_fetch_and_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order);
   14793 uintptr_t __ovld atomic_fetch_and_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order, memory_scope scope);
   14794 uintptr_t __ovld atomic_fetch_min(volatile atomic_uintptr_t *object, intptr_t opermax);
   14795 uintptr_t __ovld atomic_fetch_min_explicit(volatile atomic_uintptr_t *object, intptr_t opermax, memory_order minder);
   14796 uintptr_t __ovld atomic_fetch_min_explicit(volatile atomic_uintptr_t *object, intptr_t opermax, memory_order minder, memory_scope scope);
   14797 uintptr_t __ovld atomic_fetch_max(volatile atomic_uintptr_t *object, intptr_t opermax);
   14798 uintptr_t __ovld atomic_fetch_max_explicit(volatile atomic_uintptr_t *object, intptr_t opermax, memory_order minder);
   14799 uintptr_t __ovld atomic_fetch_max_explicit(volatile atomic_uintptr_t *object, intptr_t opermax, memory_order minder, memory_scope scope);
   14800 
   14801 intptr_t __ovld atomic_fetch_or(volatile atomic_intptr_t *object, uintptr_t operand);
   14802 intptr_t __ovld atomic_fetch_or_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order);
   14803 intptr_t __ovld atomic_fetch_or_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order, memory_scope scope);
   14804 intptr_t __ovld atomic_fetch_xor(volatile atomic_intptr_t *object, uintptr_t operand);
   14805 intptr_t __ovld atomic_fetch_xor_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order);
   14806 intptr_t __ovld atomic_fetch_xor_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order, memory_scope scope);
   14807 intptr_t __ovld atomic_fetch_and(volatile atomic_intptr_t *object, uintptr_t operand);
   14808 intptr_t __ovld atomic_fetch_and_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order);
   14809 intptr_t __ovld atomic_fetch_and_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order, memory_scope scope);
   14810 intptr_t __ovld atomic_fetch_min(volatile atomic_intptr_t *object, uintptr_t opermax);
   14811 intptr_t __ovld atomic_fetch_min_explicit(volatile atomic_intptr_t *object, uintptr_t opermax, memory_order minder);
   14812 intptr_t __ovld atomic_fetch_min_explicit(volatile atomic_intptr_t *object, uintptr_t opermax, memory_order minder, memory_scope scope);
   14813 intptr_t __ovld atomic_fetch_max(volatile atomic_intptr_t *object, uintptr_t opermax);
   14814 intptr_t __ovld atomic_fetch_max_explicit(volatile atomic_intptr_t *object, uintptr_t opermax, memory_order minder);
   14815 intptr_t __ovld atomic_fetch_max_explicit(volatile atomic_intptr_t *object, uintptr_t opermax, memory_order minder, memory_scope scope);
   14816 #endif
   14817 
   14818 // atomic_store()
   14819 
   14820 void __ovld atomic_store(volatile atomic_int *object, int desired);
   14821 void __ovld atomic_store_explicit(volatile atomic_int *object, int desired, memory_order order);
   14822 void __ovld atomic_store_explicit(volatile atomic_int *object, int desired, memory_order order, memory_scope scope);
   14823 void __ovld atomic_store(volatile atomic_uint *object, uint desired);
   14824 void __ovld atomic_store_explicit(volatile atomic_uint *object, uint desired, memory_order order);
   14825 void __ovld atomic_store_explicit(volatile atomic_uint *object, uint desired, memory_order order, memory_scope scope);
   14826 void __ovld atomic_store(volatile atomic_float *object, float desired);
   14827 void __ovld atomic_store_explicit(volatile atomic_float *object, float desired, memory_order order);
   14828 void __ovld atomic_store_explicit(volatile atomic_float *object, float desired, memory_order order, memory_scope scope);
   14829 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
   14830 #ifdef cl_khr_fp64
   14831 void __ovld atomic_store(volatile atomic_double *object, double desired);
   14832 void __ovld atomic_store_explicit(volatile atomic_double *object, double desired, memory_order order);
   14833 void __ovld atomic_store_explicit(volatile atomic_double *object, double desired, memory_order order, memory_scope scope);
   14834 #endif //cl_khr_fp64
   14835 void __ovld atomic_store(volatile atomic_long *object, long desired);
   14836 void __ovld atomic_store_explicit(volatile atomic_long *object, long desired, memory_order order);
   14837 void __ovld atomic_store_explicit(volatile atomic_long *object, long desired, memory_order order, memory_scope scope);
   14838 void __ovld atomic_store(volatile atomic_ulong *object, ulong desired);
   14839 void __ovld atomic_store_explicit(volatile atomic_ulong *object, ulong desired, memory_order order);
   14840 void __ovld atomic_store_explicit(volatile atomic_ulong *object, ulong desired, memory_order order, memory_scope scope);
   14841 #endif
   14842 
   14843 // atomic_load()
   14844 
   14845 int __ovld atomic_load(volatile atomic_int *object);
   14846 int __ovld atomic_load_explicit(volatile atomic_int *object, memory_order order);
   14847 int __ovld atomic_load_explicit(volatile atomic_int *object, memory_order order, memory_scope scope);
   14848 uint __ovld atomic_load(volatile atomic_uint *object);
   14849 uint __ovld atomic_load_explicit(volatile atomic_uint *object, memory_order order);
   14850 uint __ovld atomic_load_explicit(volatile atomic_uint *object, memory_order order, memory_scope scope);
   14851 float __ovld atomic_load(volatile atomic_float *object);
   14852 float __ovld atomic_load_explicit(volatile atomic_float *object, memory_order order);
   14853 float __ovld atomic_load_explicit(volatile atomic_float *object, memory_order order, memory_scope scope);
   14854 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
   14855 #ifdef cl_khr_fp64
   14856 double __ovld atomic_load(volatile atomic_double *object);
   14857 double __ovld atomic_load_explicit(volatile atomic_double *object, memory_order order);
   14858 double __ovld atomic_load_explicit(volatile atomic_double *object, memory_order order, memory_scope scope);
   14859 #endif //cl_khr_fp64
   14860 long __ovld atomic_load(volatile atomic_long *object);
   14861 long __ovld atomic_load_explicit(volatile atomic_long *object, memory_order order);
   14862 long __ovld atomic_load_explicit(volatile atomic_long *object, memory_order order, memory_scope scope);
   14863 ulong __ovld atomic_load(volatile atomic_ulong *object);
   14864 ulong __ovld atomic_load_explicit(volatile atomic_ulong *object, memory_order order);
   14865 ulong __ovld atomic_load_explicit(volatile atomic_ulong *object, memory_order order, memory_scope scope);
   14866 #endif
   14867 
   14868 // atomic_exchange()
   14869 
   14870 int __ovld atomic_exchange(volatile atomic_int *object, int desired);
   14871 int __ovld atomic_exchange_explicit(volatile atomic_int *object, int desired, memory_order order);
   14872 int __ovld atomic_exchange_explicit(volatile atomic_int *object, int desired, memory_order order, memory_scope scope);
   14873 uint __ovld atomic_exchange(volatile atomic_uint *object, uint desired);
   14874 uint __ovld atomic_exchange_explicit(volatile atomic_uint *object, uint desired, memory_order order);
   14875 uint __ovld atomic_exchange_explicit(volatile atomic_uint *object, uint desired, memory_order order, memory_scope scope);
   14876 float __ovld atomic_exchange(volatile atomic_float *object, float desired);
   14877 float __ovld atomic_exchange_explicit(volatile atomic_float *object, float desired, memory_order order);
   14878 float __ovld atomic_exchange_explicit(volatile atomic_float *object, float desired, memory_order order, memory_scope scope);
   14879 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
   14880 #ifdef cl_khr_fp64
   14881 double __ovld atomic_exchange(volatile atomic_double *object, double desired);
   14882 double __ovld atomic_exchange_explicit(volatile atomic_double *object, double desired, memory_order order);
   14883 double __ovld atomic_exchange_explicit(volatile atomic_double *object, double desired, memory_order order, memory_scope scope);
   14884 #endif //cl_khr_fp64
   14885 long __ovld atomic_exchange(volatile atomic_long *object, long desired);
   14886 long __ovld atomic_exchange_explicit(volatile atomic_long *object, long desired, memory_order order);
   14887 long __ovld atomic_exchange_explicit(volatile atomic_long *object, long desired, memory_order order, memory_scope scope);
   14888 ulong __ovld atomic_exchange(volatile atomic_ulong *object, ulong desired);
   14889 ulong __ovld atomic_exchange_explicit(volatile atomic_ulong *object, ulong desired, memory_order order);
   14890 ulong __ovld atomic_exchange_explicit(volatile atomic_ulong *object, ulong desired, memory_order order, memory_scope scope);
   14891 #endif
   14892 
   14893 // atomic_compare_exchange_strong() and atomic_compare_exchange_weak()
   14894 
   14895 bool __ovld atomic_compare_exchange_strong(volatile atomic_int *object, int *expected, int desired);
   14896 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_int *object, int *expected,
   14897                                                                                  int desired, memory_order success, memory_order failure);
   14898 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_int *object, int *expected,
   14899                                                                                  int desired, memory_order success, memory_order failure, memory_scope scope);
   14900 bool __ovld atomic_compare_exchange_strong(volatile atomic_uint *object, uint *expected, uint desired);
   14901 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_uint *object, uint *expected,
   14902                                                                                  uint desired, memory_order success, memory_order failure);
   14903 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_uint *object, uint *expected,
   14904                                                                                  uint desired, memory_order success, memory_order failure, memory_scope scope);
   14905 bool __ovld atomic_compare_exchange_weak(volatile atomic_int *object, int *expected, int desired);
   14906 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_int *object, int *expected,
   14907                                                                                  int desired, memory_order success, memory_order failure);
   14908 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_int *object, int *expected,
   14909                                                                                  int desired, memory_order success, memory_order failure, memory_scope scope);
   14910 bool __ovld atomic_compare_exchange_weak(volatile atomic_uint *object, uint *expected, uint desired);
   14911 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_uint *object, uint *expected,
   14912                                                                                  uint desired, memory_order success, memory_order failure);
   14913 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_uint *object, uint *expected,
   14914                                                                                  uint desired, memory_order success, memory_order failure, memory_scope scope);
   14915 bool __ovld atomic_compare_exchange_strong(volatile atomic_float *object, float *expected, float desired);
   14916 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_float *object, float *expected,
   14917                                                                                  float desired, memory_order success, memory_order failure);
   14918 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_float *object, float *expected,
   14919                                                                                  float desired, memory_order success, memory_order failure, memory_scope scope);
   14920 bool __ovld atomic_compare_exchange_weak(volatile atomic_float *object, float *expected, float desired);
   14921 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_float *object, float *expected,
   14922                                                                                  float desired, memory_order success, memory_order failure);
   14923 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_float *object, float *expected,
   14924                                                                                  float desired, memory_order success, memory_order failure, memory_scope scope);
   14925 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
   14926 #ifdef cl_khr_fp64
   14927 bool __ovld atomic_compare_exchange_strong(volatile atomic_double *object, double *expected, double desired);
   14928 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_double *object, double *expected,
   14929                                                                                  double desired, memory_order success, memory_order failure);
   14930 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_double *object, double *expected,
   14931                                                                                  double desired, memory_order success, memory_order failure, memory_scope scope);
   14932 bool __ovld atomic_compare_exchange_weak(volatile atomic_double *object, double *expected, double desired);
   14933 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_double *object, double *expected,
   14934                                                                                  double desired, memory_order success, memory_order failure);
   14935 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_double *object, double *expected,
   14936                                                                                  double desired, memory_order success, memory_order failure, memory_scope scope);
   14937 #endif //cl_khr_fp64
   14938 bool __ovld atomic_compare_exchange_strong(volatile atomic_long *object, long *expected, long desired);
   14939 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_long *object, long *expected,
   14940                                                                                  long desired, memory_order success, memory_order failure);
   14941 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_long *object, long *expected,
   14942                                                                                  long desired, memory_order success, memory_order failure, memory_scope scope);
   14943 bool __ovld atomic_compare_exchange_weak(volatile atomic_long *object, long *expected, long desired);
   14944 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_long *object, long *expected,
   14945                                                                                  long desired, memory_order success, memory_order failure);
   14946 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_long *object, long *expected,
   14947                                                                                  long desired, memory_order success, memory_order failure, memory_scope scope);
   14948 bool __ovld atomic_compare_exchange_strong(volatile atomic_ulong *object, ulong *expected, ulong desired);
   14949 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_ulong *object, ulong *expected,
   14950                                                                                  ulong desired, memory_order success, memory_order failure);
   14951 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_ulong *object, ulong *expected,
   14952                                                                                  ulong desired, memory_order success, memory_order failure, memory_scope scope);
   14953 bool __ovld atomic_compare_exchange_weak(volatile atomic_ulong *object, ulong *expected, ulong desired);
   14954 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_ulong *object, ulong *expected,
   14955                                                                                  ulong desired, memory_order success, memory_order failure);
   14956 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_ulong *object, ulong *expected,
   14957                                                                                  ulong desired, memory_order success, memory_order failure, memory_scope scope);
   14958 #endif
   14959 
   14960 // atomic_flag_test_and_set() and atomic_flag_clear()
   14961 
   14962 bool __ovld atomic_flag_test_and_set(volatile atomic_flag *object);
   14963 bool __ovld atomic_flag_test_and_set_explicit(volatile atomic_flag *object, memory_order order);
   14964 bool __ovld atomic_flag_test_and_set_explicit(volatile atomic_flag *object, memory_order order, memory_scope scope);
   14965 void __ovld atomic_flag_clear(volatile atomic_flag *object);
   14966 void __ovld atomic_flag_clear_explicit(volatile atomic_flag *object, memory_order order);
   14967 void __ovld atomic_flag_clear_explicit(volatile atomic_flag *object, memory_order order, memory_scope scope);
   14968 
   14969 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   14970 
   14971 // OpenCL v1.1 s6.11.12, v1.2 s6.12.12, v2.0 s6.13.12 - Miscellaneous Vector Functions
   14972 
   14973 /**
   14974  * The shuffle and shuffle2 built-in functions construct
   14975  * a permutation of elements from one or two input
   14976  * vectors respectively that are of the same type,
   14977  * returning a vector with the same element type as the
   14978  * input and length that is the same as the shuffle mask.
   14979  * The size of each element in the mask must match the
   14980  * size of each element in the result. For shuffle, only
   14981  * the ilogb(2m-1) least significant bits of each mask
   14982  * element are considered. For shuffle2, only the
   14983  * ilogb(2m-1)+1 least significant bits of each mask
   14984  * element are considered. Other bits in the mask shall
   14985  * be ignored.
   14986  * The elements of the input vectors are numbered from
   14987  * left to right across one or both of the vectors. For this
   14988  * purpose, the number of elements in a vector is given
   14989  * by vec_step(gentypem). The shuffle mask operand
   14990  * specifies, for each element of the result vector, which
   14991  * element of the one or two input vectors the result
   14992  * element gets.
   14993  * Examples:
   14994  * uint4 mask = (uint4)(3, 2,
   14995  * 1, 0);
   14996  * float4 a;
   14997  * float4 r = shuffle(a, mask);
   14998  * // r.s0123 = a.wzyx
   14999  * uint8 mask = (uint8)(0, 1, 2, 3,
   15000  * 4, 5, 6, 7);
   15001  * float4 a, b;
   15002  * float8 r = shuffle2(a, b, mask);
   15003  * // r.s0123 = a.xyzw
   15004  * // r.s4567 = b.xyzw
   15005  * uint4 mask;
   15006  * float8 a;
   15007  * float4 b;
   15008  * b = shuffle(a, mask);
   15009  * Examples that are not valid are:
   15010  * uint8 mask;
   15011  * short16 a;
   15012  * short8 b;
   15013  * b = shuffle(a, mask); <- not valid
   15014  */
   15015 char2 __ovld __cnfn shuffle(char2 x, uchar2 mask);
   15016 char2 __ovld __cnfn shuffle(char4 x, uchar2 mask);
   15017 char2 __ovld __cnfn shuffle(char8 x, uchar2 mask);
   15018 char2 __ovld __cnfn shuffle(char16 x, uchar2 mask);
   15019 
   15020 uchar2 __ovld __cnfn shuffle(uchar2 x, uchar2 mask);
   15021 uchar2 __ovld __cnfn shuffle(uchar4 x, uchar2 mask);
   15022 uchar2 __ovld __cnfn shuffle(uchar8 x, uchar2 mask);
   15023 uchar2 __ovld __cnfn shuffle(uchar16 x, uchar2 mask);
   15024 
   15025 short2 __ovld __cnfn shuffle(short2 x, ushort2 mask);
   15026 short2 __ovld __cnfn shuffle(short4 x, ushort2 mask);
   15027 short2 __ovld __cnfn shuffle(short8 x, ushort2 mask);
   15028 short2 __ovld __cnfn shuffle(short16 x, ushort2 mask);
   15029 
   15030 ushort2 __ovld __cnfn shuffle(ushort2 x, ushort2 mask);
   15031 ushort2 __ovld __cnfn shuffle(ushort4 x, ushort2 mask);
   15032 ushort2 __ovld __cnfn shuffle(ushort8 x, ushort2 mask);
   15033 ushort2 __ovld __cnfn shuffle(ushort16 x, ushort2 mask);
   15034 
   15035 int2 __ovld __cnfn shuffle(int2 x, uint2 mask);
   15036 int2 __ovld __cnfn shuffle(int4 x, uint2 mask);
   15037 int2 __ovld __cnfn shuffle(int8 x, uint2 mask);
   15038 int2 __ovld __cnfn shuffle(int16 x, uint2 mask);
   15039 
   15040 uint2 __ovld __cnfn shuffle(uint2 x, uint2 mask);
   15041 uint2 __ovld __cnfn shuffle(uint4 x, uint2 mask);
   15042 uint2 __ovld __cnfn shuffle(uint8 x, uint2 mask);
   15043 uint2 __ovld __cnfn shuffle(uint16 x, uint2 mask);
   15044 
   15045 long2 __ovld __cnfn shuffle(long2 x, ulong2 mask);
   15046 long2 __ovld __cnfn shuffle(long4 x, ulong2 mask);
   15047 long2 __ovld __cnfn shuffle(long8 x, ulong2 mask);
   15048 long2 __ovld __cnfn shuffle(long16 x, ulong2 mask);
   15049 
   15050 ulong2 __ovld __cnfn shuffle(ulong2 x, ulong2 mask);
   15051 ulong2 __ovld __cnfn shuffle(ulong4 x, ulong2 mask);
   15052 ulong2 __ovld __cnfn shuffle(ulong8 x, ulong2 mask);
   15053 ulong2 __ovld __cnfn shuffle(ulong16 x, ulong2 mask);
   15054 
   15055 float2 __ovld __cnfn shuffle(float2 x, uint2 mask);
   15056 float2 __ovld __cnfn shuffle(float4 x, uint2 mask);
   15057 float2 __ovld __cnfn shuffle(float8 x, uint2 mask);
   15058 float2 __ovld __cnfn shuffle(float16 x, uint2 mask);
   15059 
   15060 char4 __ovld __cnfn shuffle(char2 x, uchar4 mask);
   15061 char4 __ovld __cnfn shuffle(char4 x, uchar4 mask);
   15062 char4 __ovld __cnfn shuffle(char8 x, uchar4 mask);
   15063 char4 __ovld __cnfn shuffle(char16 x, uchar4 mask);
   15064 
   15065 uchar4 __ovld __cnfn shuffle(uchar2 x, uchar4 mask);
   15066 uchar4 __ovld __cnfn shuffle(uchar4 x, uchar4 mask);
   15067 uchar4 __ovld __cnfn shuffle(uchar8 x, uchar4 mask);
   15068 uchar4 __ovld __cnfn shuffle(uchar16 x, uchar4 mask);
   15069 
   15070 short4 __ovld __cnfn shuffle(short2 x, ushort4 mask);
   15071 short4 __ovld __cnfn shuffle(short4 x, ushort4 mask);
   15072 short4 __ovld __cnfn shuffle(short8 x, ushort4 mask);
   15073 short4 __ovld __cnfn shuffle(short16 x, ushort4 mask);
   15074 
   15075 ushort4 __ovld __cnfn shuffle(ushort2 x, ushort4 mask);
   15076 ushort4 __ovld __cnfn shuffle(ushort4 x, ushort4 mask);
   15077 ushort4 __ovld __cnfn shuffle(ushort8 x, ushort4 mask);
   15078 ushort4 __ovld __cnfn shuffle(ushort16 x, ushort4 mask);
   15079 
   15080 int4 __ovld __cnfn shuffle(int2 x, uint4 mask);
   15081 int4 __ovld __cnfn shuffle(int4 x, uint4 mask);
   15082 int4 __ovld __cnfn shuffle(int8 x, uint4 mask);
   15083 int4 __ovld __cnfn shuffle(int16 x, uint4 mask);
   15084 
   15085 uint4 __ovld __cnfn shuffle(uint2 x, uint4 mask);
   15086 uint4 __ovld __cnfn shuffle(uint4 x, uint4 mask);
   15087 uint4 __ovld __cnfn shuffle(uint8 x, uint4 mask);
   15088 uint4 __ovld __cnfn shuffle(uint16 x, uint4 mask);
   15089 
   15090 long4 __ovld __cnfn shuffle(long2 x, ulong4 mask);
   15091 long4 __ovld __cnfn shuffle(long4 x, ulong4 mask);
   15092 long4 __ovld __cnfn shuffle(long8 x, ulong4 mask);
   15093 long4 __ovld __cnfn shuffle(long16 x, ulong4 mask);
   15094 
   15095 ulong4 __ovld __cnfn shuffle(ulong2 x, ulong4 mask);
   15096 ulong4 __ovld __cnfn shuffle(ulong4 x, ulong4 mask);
   15097 ulong4 __ovld __cnfn shuffle(ulong8 x, ulong4 mask);
   15098 ulong4 __ovld __cnfn shuffle(ulong16 x, ulong4 mask);
   15099 
   15100 float4 __ovld __cnfn shuffle(float2 x, uint4 mask);
   15101 float4 __ovld __cnfn shuffle(float4 x, uint4 mask);
   15102 float4 __ovld __cnfn shuffle(float8 x, uint4 mask);
   15103 float4 __ovld __cnfn shuffle(float16 x, uint4 mask);
   15104 
   15105 char8 __ovld __cnfn shuffle(char2 x, uchar8 mask);
   15106 char8 __ovld __cnfn shuffle(char4 x, uchar8 mask);
   15107 char8 __ovld __cnfn shuffle(char8 x, uchar8 mask);
   15108 char8 __ovld __cnfn shuffle(char16 x, uchar8 mask);
   15109 
   15110 uchar8 __ovld __cnfn shuffle(uchar2 x, uchar8 mask);
   15111 uchar8 __ovld __cnfn shuffle(uchar4 x, uchar8 mask);
   15112 uchar8 __ovld __cnfn shuffle(uchar8 x, uchar8 mask);
   15113 uchar8 __ovld __cnfn shuffle(uchar16 x, uchar8 mask);
   15114 
   15115 short8 __ovld __cnfn shuffle(short2 x, ushort8 mask);
   15116 short8 __ovld __cnfn shuffle(short4 x, ushort8 mask);
   15117 short8 __ovld __cnfn shuffle(short8 x, ushort8 mask);
   15118 short8 __ovld __cnfn shuffle(short16 x, ushort8 mask);
   15119 
   15120 ushort8 __ovld __cnfn shuffle(ushort2 x, ushort8 mask);
   15121 ushort8 __ovld __cnfn shuffle(ushort4 x, ushort8 mask);
   15122 ushort8 __ovld __cnfn shuffle(ushort8 x, ushort8 mask);
   15123 ushort8 __ovld __cnfn shuffle(ushort16 x, ushort8 mask);
   15124 
   15125 int8 __ovld __cnfn shuffle(int2 x, uint8 mask);
   15126 int8 __ovld __cnfn shuffle(int4 x, uint8 mask);
   15127 int8 __ovld __cnfn shuffle(int8 x, uint8 mask);
   15128 int8 __ovld __cnfn shuffle(int16 x, uint8 mask);
   15129 
   15130 uint8 __ovld __cnfn shuffle(uint2 x, uint8 mask);
   15131 uint8 __ovld __cnfn shuffle(uint4 x, uint8 mask);
   15132 uint8 __ovld __cnfn shuffle(uint8 x, uint8 mask);
   15133 uint8 __ovld __cnfn shuffle(uint16 x, uint8 mask);
   15134 
   15135 long8 __ovld __cnfn shuffle(long2 x, ulong8 mask);
   15136 long8 __ovld __cnfn shuffle(long4 x, ulong8 mask);
   15137 long8 __ovld __cnfn shuffle(long8 x, ulong8 mask);
   15138 long8 __ovld __cnfn shuffle(long16 x, ulong8 mask);
   15139 
   15140 ulong8 __ovld __cnfn shuffle(ulong2 x, ulong8 mask);
   15141 ulong8 __ovld __cnfn shuffle(ulong4 x, ulong8 mask);
   15142 ulong8 __ovld __cnfn shuffle(ulong8 x, ulong8 mask);
   15143 ulong8 __ovld __cnfn shuffle(ulong16 x, ulong8 mask);
   15144 
   15145 float8 __ovld __cnfn shuffle(float2 x, uint8 mask);
   15146 float8 __ovld __cnfn shuffle(float4 x, uint8 mask);
   15147 float8 __ovld __cnfn shuffle(float8 x, uint8 mask);
   15148 float8 __ovld __cnfn shuffle(float16 x, uint8 mask);
   15149 
   15150 char16 __ovld __cnfn shuffle(char2 x, uchar16 mask);
   15151 char16 __ovld __cnfn shuffle(char4 x, uchar16 mask);
   15152 char16 __ovld __cnfn shuffle(char8 x, uchar16 mask);
   15153 char16 __ovld __cnfn shuffle(char16 x, uchar16 mask);
   15154 
   15155 uchar16 __ovld __cnfn shuffle(uchar2 x, uchar16 mask);
   15156 uchar16 __ovld __cnfn shuffle(uchar4 x, uchar16 mask);
   15157 uchar16 __ovld __cnfn shuffle(uchar8 x, uchar16 mask);
   15158 uchar16 __ovld __cnfn shuffle(uchar16 x, uchar16 mask);
   15159 
   15160 short16 __ovld __cnfn shuffle(short2 x, ushort16 mask);
   15161 short16 __ovld __cnfn shuffle(short4 x, ushort16 mask);
   15162 short16 __ovld __cnfn shuffle(short8 x, ushort16 mask);
   15163 short16 __ovld __cnfn shuffle(short16 x, ushort16 mask);
   15164 
   15165 ushort16 __ovld __cnfn shuffle(ushort2 x, ushort16 mask);
   15166 ushort16 __ovld __cnfn shuffle(ushort4 x, ushort16 mask);
   15167 ushort16 __ovld __cnfn shuffle(ushort8 x, ushort16 mask);
   15168 ushort16 __ovld __cnfn shuffle(ushort16 x, ushort16 mask);
   15169 
   15170 int16 __ovld __cnfn shuffle(int2 x, uint16 mask);
   15171 int16 __ovld __cnfn shuffle(int4 x, uint16 mask);
   15172 int16 __ovld __cnfn shuffle(int8 x, uint16 mask);
   15173 int16 __ovld __cnfn shuffle(int16 x, uint16 mask);
   15174 
   15175 uint16 __ovld __cnfn shuffle(uint2 x, uint16 mask);
   15176 uint16 __ovld __cnfn shuffle(uint4 x, uint16 mask);
   15177 uint16 __ovld __cnfn shuffle(uint8 x, uint16 mask);
   15178 uint16 __ovld __cnfn shuffle(uint16 x, uint16 mask);
   15179 
   15180 long16 __ovld __cnfn shuffle(long2 x, ulong16 mask);
   15181 long16 __ovld __cnfn shuffle(long4 x, ulong16 mask);
   15182 long16 __ovld __cnfn shuffle(long8 x, ulong16 mask);
   15183 long16 __ovld __cnfn shuffle(long16 x, ulong16 mask);
   15184 
   15185 ulong16 __ovld __cnfn shuffle(ulong2 x, ulong16 mask);
   15186 ulong16 __ovld __cnfn shuffle(ulong4 x, ulong16 mask);
   15187 ulong16 __ovld __cnfn shuffle(ulong8 x, ulong16 mask);
   15188 ulong16 __ovld __cnfn shuffle(ulong16 x, ulong16 mask);
   15189 
   15190 float16 __ovld __cnfn shuffle(float2 x, uint16 mask);
   15191 float16 __ovld __cnfn shuffle(float4 x, uint16 mask);
   15192 float16 __ovld __cnfn shuffle(float8 x, uint16 mask);
   15193 float16 __ovld __cnfn shuffle(float16 x, uint16 mask);
   15194 
   15195 #ifdef cl_khr_fp64
   15196 double2 __ovld __cnfn shuffle(double2 x, ulong2 mask);
   15197 double2 __ovld __cnfn shuffle(double4 x, ulong2 mask);
   15198 double2 __ovld __cnfn shuffle(double8 x, ulong2 mask);
   15199 double2 __ovld __cnfn shuffle(double16 x, ulong2 mask);
   15200 
   15201 double4 __ovld __cnfn shuffle(double2 x, ulong4 mask);
   15202 double4 __ovld __cnfn shuffle(double4 x, ulong4 mask);
   15203 double4 __ovld __cnfn shuffle(double8 x, ulong4 mask);
   15204 double4 __ovld __cnfn shuffle(double16 x, ulong4 mask);
   15205 
   15206 double8 __ovld __cnfn shuffle(double2 x, ulong8 mask);
   15207 double8 __ovld __cnfn shuffle(double4 x, ulong8 mask);
   15208 double8 __ovld __cnfn shuffle(double8 x, ulong8 mask);
   15209 double8 __ovld __cnfn shuffle(double16 x, ulong8 mask);
   15210 
   15211 double16 __ovld __cnfn shuffle(double2 x, ulong16 mask);
   15212 double16 __ovld __cnfn shuffle(double4 x, ulong16 mask);
   15213 double16 __ovld __cnfn shuffle(double8 x, ulong16 mask);
   15214 double16 __ovld __cnfn shuffle(double16 x, ulong16 mask);
   15215 #endif //cl_khr_fp64
   15216 
   15217 #ifdef cl_khr_fp16
   15218 half2 __ovld __cnfn shuffle(half2 x, ushort2 mask);
   15219 half2 __ovld __cnfn shuffle(half4 x, ushort2 mask);
   15220 half2 __ovld __cnfn shuffle(half8 x, ushort2 mask);
   15221 half2 __ovld __cnfn shuffle(half16 x, ushort2 mask);
   15222 
   15223 half4 __ovld __cnfn shuffle(half2 x, ushort4 mask);
   15224 half4 __ovld __cnfn shuffle(half4 x, ushort4 mask);
   15225 half4 __ovld __cnfn shuffle(half8 x, ushort4 mask);
   15226 half4 __ovld __cnfn shuffle(half16 x, ushort4 mask);
   15227 
   15228 half8 __ovld __cnfn shuffle(half2 x, ushort8 mask);
   15229 half8 __ovld __cnfn shuffle(half4 x, ushort8 mask);
   15230 half8 __ovld __cnfn shuffle(half8 x, ushort8 mask);
   15231 half8 __ovld __cnfn shuffle(half16 x, ushort8 mask);
   15232 
   15233 half16 __ovld __cnfn shuffle(half2 x, ushort16 mask);
   15234 half16 __ovld __cnfn shuffle(half4 x, ushort16 mask);
   15235 half16 __ovld __cnfn shuffle(half8 x, ushort16 mask);
   15236 half16 __ovld __cnfn shuffle(half16 x, ushort16 mask);
   15237 #endif //cl_khr_fp16
   15238 
   15239 char2 __ovld __cnfn shuffle2(char2 x, char2 y, uchar2 mask);
   15240 char2 __ovld __cnfn shuffle2(char4 x, char4 y, uchar2 mask);
   15241 char2 __ovld __cnfn shuffle2(char8 x, char8 y, uchar2 mask);
   15242 char2 __ovld __cnfn shuffle2(char16 x, char16 y, uchar2 mask);
   15243 
   15244 uchar2 __ovld __cnfn shuffle2(uchar2 x, uchar2 y, uchar2 mask);
   15245 uchar2 __ovld __cnfn shuffle2(uchar4 x, uchar4 y, uchar2 mask);
   15246 uchar2 __ovld __cnfn shuffle2(uchar8 x, uchar8 y, uchar2 mask);
   15247 uchar2 __ovld __cnfn shuffle2(uchar16 x, uchar16 y, uchar2 mask);
   15248 
   15249 short2 __ovld __cnfn shuffle2(short2 x, short2 y, ushort2 mask);
   15250 short2 __ovld __cnfn shuffle2(short4 x, short4 y, ushort2 mask);
   15251 short2 __ovld __cnfn shuffle2(short8 x, short8 y, ushort2 mask);
   15252 short2 __ovld __cnfn shuffle2(short16 x, short16 y, ushort2 mask);
   15253 
   15254 ushort2 __ovld __cnfn shuffle2(ushort2 x, ushort2 y, ushort2 mask);
   15255 ushort2 __ovld __cnfn shuffle2(ushort4 x, ushort4 y, ushort2 mask);
   15256 ushort2 __ovld __cnfn shuffle2(ushort8 x, ushort8 y, ushort2 mask);
   15257 ushort2 __ovld __cnfn shuffle2(ushort16 x, ushort16 y, ushort2 mask);
   15258 
   15259 int2 __ovld __cnfn shuffle2(int2 x, int2 y, uint2 mask);
   15260 int2 __ovld __cnfn shuffle2(int4 x, int4 y, uint2 mask);
   15261 int2 __ovld __cnfn shuffle2(int8 x, int8 y, uint2 mask);
   15262 int2 __ovld __cnfn shuffle2(int16 x, int16 y, uint2 mask);
   15263 
   15264 uint2 __ovld __cnfn shuffle2(uint2 x, uint2 y, uint2 mask);
   15265 uint2 __ovld __cnfn shuffle2(uint4 x, uint4 y, uint2 mask);
   15266 uint2 __ovld __cnfn shuffle2(uint8 x, uint8 y, uint2 mask);
   15267 uint2 __ovld __cnfn shuffle2(uint16 x, uint16 y, uint2 mask);
   15268 
   15269 long2 __ovld __cnfn shuffle2(long2 x, long2 y, ulong2 mask);
   15270 long2 __ovld __cnfn shuffle2(long4 x, long4 y, ulong2 mask);
   15271 long2 __ovld __cnfn shuffle2(long8 x, long8 y, ulong2 mask);
   15272 long2 __ovld __cnfn shuffle2(long16 x, long16 y, ulong2 mask);
   15273 
   15274 ulong2 __ovld __cnfn shuffle2(ulong2 x, ulong2 y, ulong2 mask);
   15275 ulong2 __ovld __cnfn shuffle2(ulong4 x, ulong4 y, ulong2 mask);
   15276 ulong2 __ovld __cnfn shuffle2(ulong8 x, ulong8 y, ulong2 mask);
   15277 ulong2 __ovld __cnfn shuffle2(ulong16 x, ulong16 y, ulong2 mask);
   15278 
   15279 float2 __ovld __cnfn shuffle2(float2 x, float2 y, uint2 mask);
   15280 float2 __ovld __cnfn shuffle2(float4 x, float4 y, uint2 mask);
   15281 float2 __ovld __cnfn shuffle2(float8 x, float8 y, uint2 mask);
   15282 float2 __ovld __cnfn shuffle2(float16 x, float16 y, uint2 mask);
   15283 
   15284 char4 __ovld __cnfn shuffle2(char2 x, char2 y, uchar4 mask);
   15285 char4 __ovld __cnfn shuffle2(char4 x, char4 y, uchar4 mask);
   15286 char4 __ovld __cnfn shuffle2(char8 x, char8 y, uchar4 mask);
   15287 char4 __ovld __cnfn shuffle2(char16 x, char16 y, uchar4 mask);
   15288 
   15289 uchar4 __ovld __cnfn shuffle2(uchar2 x, uchar2 y, uchar4 mask);
   15290 uchar4 __ovld __cnfn shuffle2(uchar4 x, uchar4 y, uchar4 mask);
   15291 uchar4 __ovld __cnfn shuffle2(uchar8 x, uchar8 y, uchar4 mask);
   15292 uchar4 __ovld __cnfn shuffle2(uchar16 x, uchar16 y, uchar4 mask);
   15293 
   15294 short4 __ovld __cnfn shuffle2(short2 x, short2 y, ushort4 mask);
   15295 short4 __ovld __cnfn shuffle2(short4 x, short4 y, ushort4 mask);
   15296 short4 __ovld __cnfn shuffle2(short8 x, short8 y, ushort4 mask);
   15297 short4 __ovld __cnfn shuffle2(short16 x, short16 y, ushort4 mask);
   15298 
   15299 ushort4 __ovld __cnfn shuffle2(ushort2 x, ushort2 y, ushort4 mask);
   15300 ushort4 __ovld __cnfn shuffle2(ushort4 x, ushort4 y, ushort4 mask);
   15301 ushort4 __ovld __cnfn shuffle2(ushort8 x, ushort8 y, ushort4 mask);
   15302 ushort4 __ovld __cnfn shuffle2(ushort16 x, ushort16 y, ushort4 mask);
   15303 
   15304 int4 __ovld __cnfn shuffle2(int2 x, int2 y, uint4 mask);
   15305 int4 __ovld __cnfn shuffle2(int4 x, int4 y, uint4 mask);
   15306 int4 __ovld __cnfn shuffle2(int8 x, int8 y, uint4 mask);
   15307 int4 __ovld __cnfn shuffle2(int16 x, int16 y, uint4 mask);
   15308 
   15309 uint4 __ovld __cnfn shuffle2(uint2 x, uint2 y, uint4 mask);
   15310 uint4 __ovld __cnfn shuffle2(uint4 x, uint4 y, uint4 mask);
   15311 uint4 __ovld __cnfn shuffle2(uint8 x, uint8 y, uint4 mask);
   15312 uint4 __ovld __cnfn shuffle2(uint16 x, uint16 y, uint4 mask);
   15313 
   15314 long4 __ovld __cnfn shuffle2(long2 x, long2 y, ulong4 mask);
   15315 long4 __ovld __cnfn shuffle2(long4 x, long4 y, ulong4 mask);
   15316 long4 __ovld __cnfn shuffle2(long8 x, long8 y, ulong4 mask);
   15317 long4 __ovld __cnfn shuffle2(long16 x, long16 y, ulong4 mask);
   15318 
   15319 ulong4 __ovld __cnfn shuffle2(ulong2 x, ulong2 y, ulong4 mask);
   15320 ulong4 __ovld __cnfn shuffle2(ulong4 x, ulong4 y, ulong4 mask);
   15321 ulong4 __ovld __cnfn shuffle2(ulong8 x, ulong8 y, ulong4 mask);
   15322 ulong4 __ovld __cnfn shuffle2(ulong16 x, ulong16 y, ulong4 mask);
   15323 
   15324 float4 __ovld __cnfn shuffle2(float2 x, float2 y, uint4 mask);
   15325 float4 __ovld __cnfn shuffle2(float4 x, float4 y, uint4 mask);
   15326 float4 __ovld __cnfn shuffle2(float8 x, float8 y, uint4 mask);
   15327 float4 __ovld __cnfn shuffle2(float16 x, float16 y, uint4 mask);
   15328 
   15329 char8 __ovld __cnfn shuffle2(char2 x, char2 y, uchar8 mask);
   15330 char8 __ovld __cnfn shuffle2(char4 x, char4 y, uchar8 mask);
   15331 char8 __ovld __cnfn shuffle2(char8 x, char8 y, uchar8 mask);
   15332 char8 __ovld __cnfn shuffle2(char16 x, char16 y, uchar8 mask);
   15333 
   15334 uchar8 __ovld __cnfn shuffle2(uchar2 x, uchar2 y, uchar8 mask);
   15335 uchar8 __ovld __cnfn shuffle2(uchar4 x, uchar4 y, uchar8 mask);
   15336 uchar8 __ovld __cnfn shuffle2(uchar8 x, uchar8 y, uchar8 mask);
   15337 uchar8 __ovld __cnfn shuffle2(uchar16 x, uchar16 y, uchar8 mask);
   15338 
   15339 short8 __ovld __cnfn shuffle2(short2 x, short2 y, ushort8 mask);
   15340 short8 __ovld __cnfn shuffle2(short4 x, short4 y, ushort8 mask);
   15341 short8 __ovld __cnfn shuffle2(short8 x, short8 y, ushort8 mask);
   15342 short8 __ovld __cnfn shuffle2(short16 x, short16 y, ushort8 mask);
   15343 
   15344 ushort8 __ovld __cnfn shuffle2(ushort2 x, ushort2 y, ushort8 mask);
   15345 ushort8 __ovld __cnfn shuffle2(ushort4 x, ushort4 y, ushort8 mask);
   15346 ushort8 __ovld __cnfn shuffle2(ushort8 x, ushort8 y, ushort8 mask);
   15347 ushort8 __ovld __cnfn shuffle2(ushort16 x, ushort16 y, ushort8 mask);
   15348 
   15349 int8 __ovld __cnfn shuffle2(int2 x, int2 y, uint8 mask);
   15350 int8 __ovld __cnfn shuffle2(int4 x, int4 y, uint8 mask);
   15351 int8 __ovld __cnfn shuffle2(int8 x, int8 y, uint8 mask);
   15352 int8 __ovld __cnfn shuffle2(int16 x, int16 y, uint8 mask);
   15353 
   15354 uint8 __ovld __cnfn shuffle2(uint2 x, uint2 y, uint8 mask);
   15355 uint8 __ovld __cnfn shuffle2(uint4 x, uint4 y, uint8 mask);
   15356 uint8 __ovld __cnfn shuffle2(uint8 x, uint8 y, uint8 mask);
   15357 uint8 __ovld __cnfn shuffle2(uint16 x, uint16 y, uint8 mask);
   15358 
   15359 long8 __ovld __cnfn shuffle2(long2 x, long2 y, ulong8 mask);
   15360 long8 __ovld __cnfn shuffle2(long4 x, long4 y, ulong8 mask);
   15361 long8 __ovld __cnfn shuffle2(long8 x, long8 y, ulong8 mask);
   15362 long8 __ovld __cnfn shuffle2(long16 x, long16 y, ulong8 mask);
   15363 
   15364 ulong8 __ovld __cnfn shuffle2(ulong2 x, ulong2 y, ulong8 mask);
   15365 ulong8 __ovld __cnfn shuffle2(ulong4 x, ulong4 y, ulong8 mask);
   15366 ulong8 __ovld __cnfn shuffle2(ulong8 x, ulong8 y, ulong8 mask);
   15367 ulong8 __ovld __cnfn shuffle2(ulong16 x, ulong16 y, ulong8 mask);
   15368 
   15369 float8 __ovld __cnfn shuffle2(float2 x, float2 y, uint8 mask);
   15370 float8 __ovld __cnfn shuffle2(float4 x, float4 y, uint8 mask);
   15371 float8 __ovld __cnfn shuffle2(float8 x, float8 y, uint8 mask);
   15372 float8 __ovld __cnfn shuffle2(float16 x, float16 y, uint8 mask);
   15373 
   15374 char16 __ovld __cnfn shuffle2(char2 x, char2 y, uchar16 mask);
   15375 char16 __ovld __cnfn shuffle2(char4 x, char4 y, uchar16 mask);
   15376 char16 __ovld __cnfn shuffle2(char8 x, char8 y, uchar16 mask);
   15377 char16 __ovld __cnfn shuffle2(char16 x, char16 y, uchar16 mask);
   15378 
   15379 uchar16 __ovld __cnfn shuffle2(uchar2 x, uchar2 y, uchar16 mask);
   15380 uchar16 __ovld __cnfn shuffle2(uchar4 x, uchar4 y, uchar16 mask);
   15381 uchar16 __ovld __cnfn shuffle2(uchar8 x, uchar8 y, uchar16 mask);
   15382 uchar16 __ovld __cnfn shuffle2(uchar16 x, uchar16 y, uchar16 mask);
   15383 
   15384 short16 __ovld __cnfn shuffle2(short2 x, short2 y, ushort16 mask);
   15385 short16 __ovld __cnfn shuffle2(short4 x, short4 y, ushort16 mask);
   15386 short16 __ovld __cnfn shuffle2(short8 x, short8 y, ushort16 mask);
   15387 short16 __ovld __cnfn shuffle2(short16 x, short16 y, ushort16 mask);
   15388 
   15389 ushort16 __ovld __cnfn shuffle2(ushort2 x, ushort2 y, ushort16 mask);
   15390 ushort16 __ovld __cnfn shuffle2(ushort4 x, ushort4 y, ushort16 mask);
   15391 ushort16 __ovld __cnfn shuffle2(ushort8 x, ushort8 y, ushort16 mask);
   15392 ushort16 __ovld __cnfn shuffle2(ushort16 x, ushort16 y, ushort16 mask);
   15393 
   15394 int16 __ovld __cnfn shuffle2(int2 x, int2 y, uint16 mask);
   15395 int16 __ovld __cnfn shuffle2(int4 x, int4 y, uint16 mask);
   15396 int16 __ovld __cnfn shuffle2(int8 x, int8 y, uint16 mask);
   15397 int16 __ovld __cnfn shuffle2(int16 x, int16 y, uint16 mask);
   15398 
   15399 uint16 __ovld __cnfn shuffle2(uint2 x, uint2 y, uint16 mask);
   15400 uint16 __ovld __cnfn shuffle2(uint4 x, uint4 y, uint16 mask);
   15401 uint16 __ovld __cnfn shuffle2(uint8 x, uint8 y, uint16 mask);
   15402 uint16 __ovld __cnfn shuffle2(uint16 x, uint16 y, uint16 mask);
   15403 
   15404 long16 __ovld __cnfn shuffle2(long2 x, long2 y, ulong16 mask);
   15405 long16 __ovld __cnfn shuffle2(long4 x, long4 y, ulong16 mask);
   15406 long16 __ovld __cnfn shuffle2(long8 x, long8 y, ulong16 mask);
   15407 long16 __ovld __cnfn shuffle2(long16 x, long16 y, ulong16 mask);
   15408 
   15409 ulong16 __ovld __cnfn shuffle2(ulong2 x, ulong2 y, ulong16 mask);
   15410 ulong16 __ovld __cnfn shuffle2(ulong4 x, ulong4 y, ulong16 mask);
   15411 ulong16 __ovld __cnfn shuffle2(ulong8 x, ulong8 y, ulong16 mask);
   15412 ulong16 __ovld __cnfn shuffle2(ulong16 x, ulong16 y, ulong16 mask);
   15413 
   15414 float16 __ovld __cnfn shuffle2(float2 x, float2 y, uint16 mask);
   15415 float16 __ovld __cnfn shuffle2(float4 x, float4 y, uint16 mask);
   15416 float16 __ovld __cnfn shuffle2(float8 x, float8 y, uint16 mask);
   15417 float16 __ovld __cnfn shuffle2(float16 x, float16 y, uint16 mask);
   15418 
   15419 #ifdef cl_khr_fp64
   15420 double2 __ovld __cnfn shuffle2(double2 x, double2 y, ulong2 mask);
   15421 double2 __ovld __cnfn shuffle2(double4 x, double4 y, ulong2 mask);
   15422 double2 __ovld __cnfn shuffle2(double8 x, double8 y, ulong2 mask);
   15423 double2 __ovld __cnfn shuffle2(double16 x, double16 y, ulong2 mask);
   15424 
   15425 double4 __ovld __cnfn shuffle2(double2 x, double2 y, ulong4 mask);
   15426 double4 __ovld __cnfn shuffle2(double4 x, double4 y, ulong4 mask);
   15427 double4 __ovld __cnfn shuffle2(double8 x, double8 y, ulong4 mask);
   15428 double4 __ovld __cnfn shuffle2(double16 x, double16 y, ulong4 mask);
   15429 
   15430 double8 __ovld __cnfn shuffle2(double2 x, double2 y, ulong8 mask);
   15431 double8 __ovld __cnfn shuffle2(double4 x, double4 y, ulong8 mask);
   15432 double8 __ovld __cnfn shuffle2(double8 x, double8 y, ulong8 mask);
   15433 double8 __ovld __cnfn shuffle2(double16 x, double16 y, ulong8 mask);
   15434 
   15435 double16 __ovld __cnfn shuffle2(double2 x, double2 y, ulong16 mask);
   15436 double16 __ovld __cnfn shuffle2(double4 x, double4 y, ulong16 mask);
   15437 double16 __ovld __cnfn shuffle2(double8 x, double8 y, ulong16 mask);
   15438 double16 __ovld __cnfn shuffle2(double16 x, double16 y, ulong16 mask);
   15439 #endif //cl_khr_fp64
   15440 
   15441 #ifdef cl_khr_fp16
   15442 half2 __ovld __cnfn shuffle2(half2 x, half2 y, ushort2 mask);
   15443 half2 __ovld __cnfn shuffle2(half4 x, half4 y, ushort2 mask);
   15444 half2 __ovld __cnfn shuffle2(half8 x, half8 y, ushort2 mask);
   15445 half2 __ovld __cnfn shuffle2(half16 x, half16 y, ushort2 mask);
   15446 
   15447 half4 __ovld __cnfn shuffle2(half2 x, half2 y, ushort4 mask);
   15448 half4 __ovld __cnfn shuffle2(half4 x, half4 y, ushort4 mask);
   15449 half4 __ovld __cnfn shuffle2(half8 x, half8 y, ushort4 mask);
   15450 half4 __ovld __cnfn shuffle2(half16 x, half16 y, ushort4 mask);
   15451 
   15452 half8 __ovld __cnfn shuffle2(half2 x, half2 y, ushort8 mask);
   15453 half8 __ovld __cnfn shuffle2(half4 x, half4 y, ushort8 mask);
   15454 half8 __ovld __cnfn shuffle2(half8 x, half8 y, ushort8 mask);
   15455 half8 __ovld __cnfn shuffle2(half16 x, half16 y, ushort8 mask);
   15456 
   15457 half16 __ovld __cnfn shuffle2(half2 x, half2 y, ushort16 mask);
   15458 half16 __ovld __cnfn shuffle2(half4 x, half4 y, ushort16 mask);
   15459 half16 __ovld __cnfn shuffle2(half8 x, half8 y, ushort16 mask);
   15460 half16 __ovld __cnfn shuffle2(half16 x, half16 y, ushort16 mask);
   15461 #endif //cl_khr_fp16
   15462 
   15463 #if __OPENCL_C_VERSION__ >= CL_VERSION_1_2
   15464 // OpenCL v1.2 s6.12.13, v2.0 s6.13.13 - printf
   15465 
   15466 int printf(__constant const char* st, ...);
   15467 #endif
   15468 
   15469 // OpenCL v1.1 s6.11.3, v1.2 s6.12.14, v2.0 s6.13.14 - Image Read and Write Functions
   15470 
   15471 // These values need to match the runtime equivalent
   15472 //
   15473 // Addressing Mode.
   15474 //
   15475 #define CLK_ADDRESS_NONE                0
   15476 #define CLK_ADDRESS_CLAMP_TO_EDGE       2
   15477 #define CLK_ADDRESS_CLAMP               4
   15478 #define CLK_ADDRESS_REPEAT              6
   15479 #define CLK_ADDRESS_MIRRORED_REPEAT     8
   15480 
   15481 //
   15482 // Coordination Normalization
   15483 //
   15484 #define CLK_NORMALIZED_COORDS_FALSE     0
   15485 #define CLK_NORMALIZED_COORDS_TRUE      1
   15486 
   15487 //
   15488 // Filtering Mode.
   15489 //
   15490 #define CLK_FILTER_NEAREST              0x10
   15491 #define CLK_FILTER_LINEAR               0x20
   15492 
   15493 /**
   15494  * Use the coordinate (coord.xy) to do an element lookup in
   15495  * the 2D image object specified by image.
   15496  *
   15497  * Use the coordinate (coord.x, coord.y, coord.z) to do
   15498  * an element lookup in the 3D image object specified
   15499  * by image. coord.w is ignored.
   15500  *
   15501  * Use the coordinate (coord.z) to index into the
   15502  * 2D image array object specified by image_array
   15503  * and (coord.x, coord.y) to do an element lookup in
   15504  * the 2D image object specified by image.
   15505  *
   15506  * Use the coordinate (x) to do an element lookup in
   15507  * the 1D image object specified by image.
   15508  *
   15509  * Use the coordinate (coord.y) to index into the
   15510  * 1D image array object specified by image_array
   15511  * and (coord.x) to do an element lookup in
   15512  * the 1D image object specified by image.
   15513  *
   15514  * Use the coordinate (cood.xy) and sample to do an
   15515  * element lookup in the 2D multi-sample image specified
   15516  * by image.
   15517  *
   15518  * Use coord.xy and sample to do an element
   15519  * lookup in the 2D multi-sample image layer
   15520  * identified by index coord.z in the 2D multi-sample
   15521  * image array specified by image.
   15522  *
   15523  * For mipmap images, use the mip-level specified by
   15524  * the Level-of-Detail (lod) or use gradients for LOD
   15525  * computation.
   15526  *
   15527  * read_imagef returns floating-point values in the
   15528  * range [0.0 ... 1.0] for image objects created with
   15529  * image_channel_data_type set to one of the predefined
   15530  * packed formats or CL_UNORM_INT8, or
   15531  * CL_UNORM_INT16.
   15532  *
   15533  * read_imagef returns floating-point values in the
   15534  * range [-1.0 ... 1.0] for image objects created with
   15535  * image_channel_data_type set to CL_SNORM_INT8,
   15536  * or CL_SNORM_INT16.
   15537  *
   15538  * read_imagef returns floating-point values for image
   15539  * objects created with image_channel_data_type set to
   15540  * CL_HALF_FLOAT or CL_FLOAT.
   15541  *
   15542  * read_imagei and read_imageui return
   15543  * unnormalized signed integer and unsigned integer
   15544  * values respectively. Each channel will be stored in a
   15545  * 32-bit integer.
   15546  *
   15547  * read_imagei can only be used with image objects
   15548  * created with image_channel_data_type set to one of
   15549  * the following values:
   15550  * CL_SIGNED_INT8,
   15551  * CL_SIGNED_INT16 and
   15552  * CL_SIGNED_INT32.
   15553  * If the image_channel_data_type is not one of the
   15554  * above values, the values returned by read_imagei
   15555  * are undefined.
   15556  *
   15557  * read_imageui can only be used with image objects
   15558  * created with image_channel_data_type set to one of
   15559  * the following values:
   15560  * CL_UNSIGNED_INT8,
   15561  * CL_UNSIGNED_INT16 and
   15562  * CL_UNSIGNED_INT32.
   15563  * If the image_channel_data_type is not one of the
   15564  * above values, the values returned by read_imageui
   15565  * are undefined.
   15566  *
   15567  * The read_image{i|ui} calls support a nearest filter
   15568  * only. The filter_mode specified in sampler
   15569  * must be set to CLK_FILTER_NEAREST; otherwise
   15570  * the values returned are undefined.
   15571 
   15572  * The read_image{f|i|ui} calls that take
   15573  * integer coordinates must use a sampler with
   15574  * normalized coordinates set to
   15575  * CLK_NORMALIZED_COORDS_FALSE and
   15576  * addressing mode set to
   15577  * CLK_ADDRESS_CLAMP_TO_EDGE,
   15578  * CLK_ADDRESS_CLAMP or CLK_ADDRESS_NONE;
   15579  * otherwise the values returned are undefined.
   15580  *
   15581  * Values returned by read_imagef for image objects
   15582  * with image_channel_data_type values not specified
   15583  * in the description above are undefined.
   15584  */
   15585 
   15586 float4 __purefn __ovld read_imagef(read_only image2d_t image, sampler_t sampler, int2 coord);
   15587 float4 __purefn __ovld read_imagef(read_only image2d_t image, sampler_t sampler, float2 coord);
   15588 
   15589 int4 __purefn __ovld read_imagei(read_only image2d_t image, sampler_t sampler, int2 coord);
   15590 int4 __purefn __ovld read_imagei(read_only image2d_t image, sampler_t sampler, float2 coord);
   15591 uint4 __purefn __ovld read_imageui(read_only image2d_t image, sampler_t sampler, int2 coord);
   15592 uint4 __purefn __ovld read_imageui(read_only image2d_t image, sampler_t sampler, float2 coord);
   15593 
   15594 float4 __purefn __ovld read_imagef(read_only image3d_t image, sampler_t sampler, int4 coord);
   15595 float4 __purefn __ovld read_imagef(read_only image3d_t image, sampler_t sampler, float4 coord);
   15596 
   15597 int4 __purefn __ovld read_imagei(read_only image3d_t image, sampler_t sampler, int4 coord);
   15598 int4 __purefn __ovld read_imagei(read_only image3d_t image, sampler_t sampler, float4 coord);
   15599 uint4 __purefn __ovld read_imageui(read_only image3d_t image, sampler_t sampler, int4 coord);
   15600 uint4 __purefn __ovld read_imageui(read_only image3d_t image, sampler_t sampler, float4 coord);
   15601 
   15602 float4 __purefn __ovld read_imagef(read_only image2d_array_t image_array, sampler_t sampler, int4 coord);
   15603 float4 __purefn __ovld read_imagef(read_only image2d_array_t image_array, sampler_t sampler, float4 coord);
   15604 
   15605 int4 __purefn __ovld read_imagei(read_only image2d_array_t image_array, sampler_t sampler, int4 coord);
   15606 int4 __purefn __ovld read_imagei(read_only image2d_array_t image_array, sampler_t sampler, float4 coord);
   15607 uint4 __purefn __ovld read_imageui(read_only image2d_array_t image_array, sampler_t sampler, int4 coord);
   15608 uint4 __purefn __ovld read_imageui(read_only image2d_array_t image_array, sampler_t sampler, float4 coord);
   15609 
   15610 float4 __purefn __ovld read_imagef(read_only image1d_t image, sampler_t sampler, int coord);
   15611 float4 __purefn __ovld read_imagef(read_only image1d_t image, sampler_t sampler, float coord);
   15612 
   15613 int4 __purefn __ovld read_imagei(read_only image1d_t image, sampler_t sampler, int coord);
   15614 int4 __purefn __ovld read_imagei(read_only image1d_t image, sampler_t sampler, float coord);
   15615 uint4 __purefn __ovld read_imageui(read_only image1d_t image, sampler_t sampler, int coord);
   15616 uint4 __purefn __ovld read_imageui(read_only image1d_t image, sampler_t sampler, float coord);
   15617 
   15618 float4 __purefn __ovld read_imagef(read_only image1d_array_t image_array, sampler_t sampler, int2 coord);
   15619 float4 __purefn __ovld read_imagef(read_only image1d_array_t image_array, sampler_t sampler, float2 coord);
   15620 
   15621 int4 __purefn __ovld read_imagei(read_only image1d_array_t image_array, sampler_t sampler, int2 coord);
   15622 int4 __purefn __ovld read_imagei(read_only image1d_array_t image_array, sampler_t sampler, float2 coord);
   15623 uint4 __purefn __ovld read_imageui(read_only image1d_array_t image_array, sampler_t sampler, int2 coord);
   15624 uint4 __purefn __ovld read_imageui(read_only image1d_array_t image_array, sampler_t sampler, float2 coord);
   15625 
   15626 #ifdef cl_khr_depth_images
   15627 float __purefn __ovld read_imagef(read_only image2d_depth_t image, sampler_t sampler, float2 coord);
   15628 float __purefn __ovld read_imagef(read_only image2d_depth_t image, sampler_t sampler, int2 coord);
   15629 
   15630 float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, sampler_t sampler, float4 coord);
   15631 float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, sampler_t sampler, int4 coord);
   15632 #endif //cl_khr_depth_images
   15633 
   15634 #if defined(cl_khr_gl_msaa_sharing)
   15635 float4 __purefn __ovld read_imagef(read_only image2d_msaa_t image, int2 coord, int sample);
   15636 int4 __purefn __ovld read_imagei(read_only image2d_msaa_t image, int2 coord, int sample);
   15637 uint4 __purefn __ovld read_imageui(read_only image2d_msaa_t image, int2 coord, int sample);
   15638 
   15639 float __purefn __ovld read_imagef(read_only image2d_msaa_depth_t image, int2 coord, int sample);
   15640 
   15641 float4 __purefn __ovld read_imagef(read_only image2d_array_msaa_t image, int4 coord, int sample);
   15642 int4 __purefn __ovld read_imagei(read_only image2d_array_msaa_t image, int4 coord, int sample);
   15643 uint4 __purefn __ovld read_imageui(read_only image2d_array_msaa_t image, int4 coord, int sample);
   15644 
   15645 float __purefn __ovld read_imagef(read_only image2d_array_msaa_depth_t image, int4 coord, int sample);
   15646 #endif //cl_khr_gl_msaa_sharing
   15647 
   15648 // OpenCL Extension v2.0 s9.18 - Mipmaps
   15649 #ifdef cl_khr_mipmap_image
   15650 
   15651 float4 __purefn __ovld read_imagef(read_only image1d_t image, sampler_t sampler, float coord, float lod);
   15652 int4 __purefn __ovld read_imagei(read_only image1d_t image, sampler_t sampler, float coord, float lod);
   15653 uint4 __purefn __ovld read_imageui(read_only image1d_t image, sampler_t sampler, float coord, float lod);
   15654 
   15655 float4 __purefn __ovld read_imagef(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
   15656 int4 __purefn __ovld read_imagei(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
   15657 uint4 __purefn __ovld read_imageui(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
   15658 
   15659 float4 __purefn __ovld read_imagef(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
   15660 int4 __purefn __ovld read_imagei(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
   15661 uint4 __purefn __ovld read_imageui(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
   15662 
   15663 float __purefn __ovld read_imagef(read_only image2d_depth_t image, sampler_t sampler, float2 coord, float lod);
   15664 
   15665 float4 __purefn __ovld read_imagef(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
   15666 int4 __purefn __ovld read_imagei(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
   15667 uint4 __purefn __ovld read_imageui(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
   15668 
   15669 float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, sampler_t sampler, float4 coord, float lod);
   15670 
   15671 float4 __purefn __ovld read_imagef(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
   15672 int4 __purefn __ovld read_imagei(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
   15673 uint4 __purefn __ovld read_imageui(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
   15674 
   15675 float4 __purefn __ovld read_imagef(read_only image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
   15676 int4 __purefn __ovld read_imagei(read_only image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
   15677 uint4 __purefn __ovld read_imageui(read_only image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
   15678 
   15679 float4 __purefn __ovld read_imagef(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
   15680 int4 __purefn __ovld read_imagei(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
   15681 uint4 __purefn __ovld read_imageui(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
   15682 
   15683 float4 __purefn __ovld read_imagef(read_only image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
   15684 int4 __purefn __ovld read_imagei(read_only image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
   15685 uint4 __purefn __ovld read_imageui(read_only image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
   15686 
   15687 float __purefn __ovld read_imagef(read_only image2d_depth_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
   15688 
   15689 float4 __purefn __ovld read_imagef(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
   15690 int4 __purefn __ovld read_imagei(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
   15691 uint4 __purefn __ovld read_imageui(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
   15692 
   15693 float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
   15694 
   15695 float4 __purefn __ovld read_imagef(read_only image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
   15696 int4 __purefn __ovld read_imagei(read_only image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
   15697 uint4 __purefn __ovld read_imageui(read_only image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
   15698 
   15699 float4 __purefn __ovld read_imagef(read_only image1d_t image, sampler_t sampler, float coord, float lod);
   15700 int4 __purefn __ovld read_imagei(read_only image1d_t image, sampler_t sampler, float coord, float lod);
   15701 uint4 __purefn __ovld read_imageui(read_only image1d_t image, sampler_t sampler, float coord, float lod);
   15702 
   15703 float4 __purefn __ovld read_imagef(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
   15704 int4 __purefn __ovld read_imagei(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
   15705 uint4 __purefn __ovld read_imageui(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
   15706 
   15707 float4 __purefn __ovld read_imagef(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
   15708 int4 __purefn __ovld read_imagei(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
   15709 uint4 __purefn __ovld read_imageui(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
   15710 
   15711 float __purefn __ovld read_imagef(read_only image2d_depth_t image, sampler_t sampler, float2 coord, float lod);
   15712 
   15713 float4 __purefn __ovld read_imagef(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
   15714 int4 __purefn __ovld read_imagei(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
   15715 uint4 __purefn __ovld read_imageui(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
   15716 
   15717 float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, sampler_t sampler, float4 coord, float lod);
   15718 
   15719 float4 __purefn __ovld read_imagef(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
   15720 int4 __purefn __ovld read_imagei(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
   15721 uint4 __purefn __ovld read_imageui(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
   15722 
   15723 #endif //cl_khr_mipmap_image
   15724 
   15725 /**
   15726 * Sampler-less Image Access
   15727 */
   15728 
   15729 float4 __purefn __ovld read_imagef(read_only image1d_t image, int coord);
   15730 int4 __purefn __ovld read_imagei(read_only image1d_t image, int coord);
   15731 uint4 __purefn __ovld read_imageui(read_only image1d_t image, int coord);
   15732 
   15733 float4 __purefn __ovld read_imagef(read_only image1d_buffer_t image, int coord);
   15734 int4 __purefn __ovld read_imagei(read_only image1d_buffer_t image, int coord);
   15735 uint4 __purefn __ovld read_imageui(read_only image1d_buffer_t image, int coord);
   15736 
   15737 float4 __purefn __ovld read_imagef(read_only image1d_array_t image, int2 coord);
   15738 int4 __purefn __ovld read_imagei(read_only image1d_array_t image, int2 coord);
   15739 uint4 __purefn __ovld read_imageui(read_only image1d_array_t image, int2 coord);
   15740 
   15741 float4 __purefn __ovld read_imagef(read_only image2d_t image, int2 coord);
   15742 int4 __purefn __ovld read_imagei(read_only image2d_t image, int2 coord);
   15743 uint4 __purefn __ovld read_imageui(read_only image2d_t image, int2 coord);
   15744 
   15745 float4 __purefn __ovld read_imagef(read_only image2d_array_t image, int4 coord);
   15746 int4 __purefn __ovld read_imagei(read_only image2d_array_t image, int4 coord);
   15747 uint4 __purefn __ovld read_imageui(read_only image2d_array_t image, int4 coord);
   15748 
   15749 #ifdef cl_khr_depth_images
   15750 float __purefn __ovld read_imagef(read_only image2d_depth_t image, int2 coord);
   15751 float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, int4 coord);
   15752 #endif //cl_khr_depth_images
   15753 
   15754 float4 __purefn __ovld read_imagef(read_only image3d_t image, int4 coord);
   15755 int4 __purefn __ovld read_imagei(read_only image3d_t image, int4 coord);
   15756 uint4 __purefn __ovld read_imageui(read_only image3d_t image, int4 coord);
   15757 
   15758 // Image read functions returning half4 type
   15759 #ifdef cl_khr_fp16
   15760 half4 __purefn __ovld read_imageh(read_only image1d_t image, sampler_t sampler, int coord);
   15761 half4 __purefn __ovld read_imageh(read_only image1d_t image, sampler_t sampler, float coord);
   15762 half4 __purefn __ovld read_imageh(read_only image1d_array_t image, sampler_t sampler, int2 coord);
   15763 half4 __purefn __ovld read_imageh(read_only image1d_array_t image, sampler_t sampler, float2 coord);
   15764 half4 __purefn __ovld read_imageh(read_only image2d_t image, sampler_t sampler, int2 coord);
   15765 half4 __purefn __ovld read_imageh(read_only image2d_t image, sampler_t sampler, float2 coord);
   15766 half4 __purefn __ovld read_imageh(read_only image3d_t image, sampler_t sampler, int4 coord);
   15767 half4 __purefn __ovld read_imageh(read_only image3d_t image, sampler_t sampler, float4 coord);
   15768 half4 __purefn __ovld read_imageh(read_only image2d_array_t image, sampler_t sampler, int4 coord);
   15769 half4 __purefn __ovld read_imageh(read_only image2d_array_t image, sampler_t sampler, float4 coord);
   15770 half4 __purefn __ovld read_imageh(read_only image1d_t image, int coord);
   15771 half4 __purefn __ovld read_imageh(read_only image2d_t image, int2 coord);
   15772 half4 __purefn __ovld read_imageh(read_only image3d_t image, int4 coord);
   15773 half4 __purefn __ovld read_imageh(read_only image1d_array_t image, int2 coord);
   15774 half4 __purefn __ovld read_imageh(read_only image2d_array_t image, int4 coord);
   15775 half4 __purefn __ovld read_imageh(read_only image1d_buffer_t image, int coord);
   15776 #endif //cl_khr_fp16
   15777 
   15778 // Image read functions for read_write images
   15779 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15780 float4 __purefn __ovld read_imagef(read_write image1d_t image, int coord);
   15781 int4 __purefn __ovld read_imagei(read_write image1d_t image, int coord);
   15782 uint4 __purefn __ovld read_imageui(read_write image1d_t image, int coord);
   15783 
   15784 float4 __purefn __ovld read_imagef(read_write image1d_buffer_t image, int coord);
   15785 int4 __purefn __ovld read_imagei(read_write image1d_buffer_t image, int coord);
   15786 uint4 __purefn __ovld read_imageui(read_write image1d_buffer_t image, int coord);
   15787 
   15788 float4 __purefn __ovld read_imagef(read_write image1d_array_t image, int2 coord);
   15789 int4 __purefn __ovld read_imagei(read_write image1d_array_t image, int2 coord);
   15790 uint4 __purefn __ovld read_imageui(read_write image1d_array_t image, int2 coord);
   15791 
   15792 float4 __purefn __ovld read_imagef(read_write image2d_t image, int2 coord);
   15793 int4 __purefn __ovld read_imagei(read_write image2d_t image, int2 coord);
   15794 uint4 __purefn __ovld read_imageui(read_write image2d_t image, int2 coord);
   15795 
   15796 float4 __purefn __ovld read_imagef(read_write image2d_array_t image, int4 coord);
   15797 int4 __purefn __ovld read_imagei(read_write image2d_array_t image, int4 coord);
   15798 uint4 __purefn __ovld read_imageui(read_write image2d_array_t image, int4 coord);
   15799 
   15800 float4 __purefn __ovld read_imagef(read_write image3d_t image, int4 coord);
   15801 int4 __purefn __ovld read_imagei(read_write image3d_t image, int4 coord);
   15802 uint4 __purefn __ovld read_imageui(read_write image3d_t image, int4 coord);
   15803 
   15804 #ifdef cl_khr_depth_images
   15805 float __purefn __ovld read_imagef(read_write image2d_depth_t image, int2 coord);
   15806 float __purefn __ovld read_imagef(read_write image2d_array_depth_t image, int4 coord);
   15807 #endif //cl_khr_depth_images
   15808 
   15809 #if cl_khr_gl_msaa_sharing
   15810 float4 __purefn __ovld read_imagef(read_write image2d_msaa_t image, int2 coord, int sample);
   15811 int4 __purefn __ovld read_imagei(read_write image2d_msaa_t image, int2 coord, int sample);
   15812 uint4 __purefn __ovld read_imageui(read_write image2d_msaa_t image, int2 coord, int sample);
   15813 
   15814 float4 __purefn __ovld read_imagef(read_write image2d_array_msaa_t image, int4 coord, int sample);
   15815 int4 __purefn __ovld read_imagei(read_write image2d_array_msaa_t image, int4 coord, int sample);
   15816 uint4 __purefn __ovld read_imageui(read_write image2d_array_msaa_t image, int4 coord, int sample);
   15817 
   15818 float __purefn __ovld read_imagef(read_write image2d_msaa_depth_t image, int2 coord, int sample);
   15819 float __purefn __ovld read_imagef(read_write image2d_array_msaa_depth_t image, int4 coord, int sample);
   15820 #endif //cl_khr_gl_msaa_sharing
   15821 
   15822 #ifdef cl_khr_mipmap_image
   15823 float4 __purefn __ovld read_imagef(read_write image1d_t image, sampler_t sampler, float coord, float lod);
   15824 int4 __purefn __ovld read_imagei(read_write image1d_t image, sampler_t sampler, float coord, float lod);
   15825 uint4 __purefn __ovld read_imageui(read_write image1d_t image, sampler_t sampler, float coord, float lod);
   15826 
   15827 float4 __purefn __ovld read_imagef(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
   15828 int4 __purefn __ovld read_imagei(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
   15829 uint4 __purefn __ovld read_imageui(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
   15830 
   15831 float4 __purefn __ovld read_imagef(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
   15832 int4 __purefn __ovld read_imagei(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
   15833 uint4 __purefn __ovld read_imageui(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
   15834 
   15835 float __purefn __ovld read_imagef(read_write image2d_depth_t image, sampler_t sampler, float2 coord, float lod);
   15836 
   15837 float4 __purefn __ovld read_imagef(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
   15838 int4 __purefn __ovld read_imagei(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
   15839 uint4 __purefn __ovld read_imageui(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
   15840 
   15841 float __purefn __ovld read_imagef(read_write image2d_array_depth_t image, sampler_t sampler, float4 coord, float lod);
   15842 
   15843 float4 __purefn __ovld read_imagef(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
   15844 int4 __purefn __ovld read_imagei(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
   15845 uint4 __purefn __ovld read_imageui(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
   15846 
   15847 float4 __purefn __ovld read_imagef(read_write image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
   15848 int4 __purefn __ovld read_imagei(read_write image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
   15849 uint4 __purefn __ovld read_imageui(read_write image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
   15850 
   15851 float4 __purefn __ovld read_imagef(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
   15852 int4 __purefn __ovld read_imagei(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
   15853 uint4 __purefn __ovld read_imageui(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
   15854 
   15855 float4 __purefn __ovld read_imagef(read_write image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
   15856 int4 __purefn __ovld read_imagei(read_write image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
   15857 uint4 __purefn __ovld read_imageui(read_write image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
   15858 
   15859 float __purefn __ovld read_imagef(read_write image2d_depth_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
   15860 
   15861 float4 __purefn __ovld read_imagef(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
   15862 int4 __purefn __ovld read_imagei(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
   15863 uint4 __purefn __ovld read_imageui(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
   15864 
   15865 float __purefn __ovld read_imagef(read_write image2d_array_depth_t image, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
   15866 
   15867 float4 __purefn __ovld read_imagef(read_write image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
   15868 int4 __purefn __ovld read_imagei(read_write image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
   15869 uint4 __purefn __ovld read_imageui(read_write image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
   15870 
   15871 float4 __purefn __ovld read_imagef(read_write image1d_t image, sampler_t sampler, float coord, float lod);
   15872 int4 __purefn __ovld read_imagei(read_write image1d_t image, sampler_t sampler, float coord, float lod);
   15873 uint4 __purefn __ovld read_imageui(read_write image1d_t image, sampler_t sampler, float coord, float lod);
   15874 
   15875 float4 __purefn __ovld read_imagef(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
   15876 int4 __purefn __ovld read_imagei(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
   15877 uint4 __purefn __ovld read_imageui(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
   15878 
   15879 float4 __purefn __ovld read_imagef(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
   15880 int4 __purefn __ovld read_imagei(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
   15881 uint4 __purefn __ovld read_imageui(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
   15882 
   15883 float __purefn __ovld read_imagef(read_write image2d_depth_t image, sampler_t sampler, float2 coord, float lod);
   15884 
   15885 float4 __purefn __ovld read_imagef(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
   15886 int4 __purefn __ovld read_imagei(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
   15887 uint4 __purefn __ovld read_imageui(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
   15888 
   15889 float __purefn __ovld read_imagef(read_write image2d_array_depth_t image, sampler_t sampler, float4 coord, float lod);
   15890 
   15891 float4 __purefn __ovld read_imagef(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
   15892 int4 __purefn __ovld read_imagei(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
   15893 uint4 __purefn __ovld read_imageui(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
   15894 #endif //cl_khr_mipmap_image
   15895 
   15896 // Image read functions returning half4 type
   15897 #ifdef cl_khr_fp16
   15898 half4 __purefn __ovld read_imageh(read_write image1d_t image, int coord);
   15899 half4 __purefn __ovld read_imageh(read_write image2d_t image, int2 coord);
   15900 half4 __purefn __ovld read_imageh(read_write image3d_t image, int4 coord);
   15901 half4 __purefn __ovld read_imageh(read_write image1d_array_t image, int2 coord);
   15902 half4 __purefn __ovld read_imageh(read_write image2d_array_t image, int4 coord);
   15903 half4 __purefn __ovld read_imageh(read_write image1d_buffer_t image, int coord);
   15904 #endif //cl_khr_fp16
   15905 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15906 
   15907 /**
   15908  * Write color value to location specified by coordinate
   15909  * (coord.x, coord.y) in the 2D image object specified by image.
   15910  * (coord.x, coord.y) are considered to be unnormalized coordinates
   15911  * and must be in the range 0 ... image width - 1, and 0
   15912  * ... image height - 1.
   15913 
   15914  * Write color value to location specified by coordinate
   15915  * (coord.x, coord.y) in the 2D image object specified by index
   15916  * (coord.z) of the 2D image array object image_array.
   15917  * (coord.x, coord.y) are considered to be unnormalized
   15918  * coordinates and must be in the range 0 ... image width
   15919  * - 1.
   15920  *
   15921  * Write color value to location specified by coordinate
   15922  * (coord) in the 1D image (buffer) object specified by image.
   15923  * coord is considered to be unnormalized coordinates
   15924  * and must be in the range 0 ... image width - 1.
   15925  *
   15926  * Write color value to location specified by coordinate
   15927  * (coord.x) in the 1D image object specified by index
   15928  * (coord.y) of the 1D image array object image_array.
   15929  * x is considered to be unnormalized coordinates
   15930  * and must be in the range 0 ... image width - 1.
   15931  *
   15932  * Write color value to location specified by coordinate
   15933  * (coord.x, coord.y, coord.z) in the 3D image object specified by image.
   15934  * coord.x & coord.y are considered to be unnormalized coordinates
   15935  * and must be in the range 0 ... image width - 1, and 0
   15936  * ... image height - 1.
   15937  *
   15938  * For mipmap images, use mip-level specified by lod.
   15939  *
   15940  * Appropriate data format conversion to the specified
   15941  * image format is done before writing the color value.
   15942  *
   15943  * write_imagef can only be used with image objects
   15944  * created with image_channel_data_type set to one of
   15945  * the pre-defined packed formats or set to
   15946  * CL_SNORM_INT8, CL_UNORM_INT8,
   15947  * CL_SNORM_INT16, CL_UNORM_INT16,
   15948  * CL_HALF_FLOAT or CL_FLOAT. Appropriate data
   15949  * format conversion will be done to convert channel
   15950  * data from a floating-point value to actual data format
   15951  * in which the channels are stored.
   15952  *
   15953  * write_imagei can only be used with image objects
   15954  * created with image_channel_data_type set to one of
   15955  * the following values:
   15956  * CL_SIGNED_INT8,
   15957  * CL_SIGNED_INT16 and
   15958  * CL_SIGNED_INT32.
   15959  *
   15960  * write_imageui can only be used with image objects
   15961  * created with image_channel_data_type set to one of
   15962  * the following values:
   15963  * CL_UNSIGNED_INT8,
   15964  * CL_UNSIGNED_INT16 and
   15965  * CL_UNSIGNED_INT32.
   15966  *
   15967  * The behavior of write_imagef, write_imagei and
   15968  * write_imageui for image objects created with
   15969  * image_channel_data_type values not specified in
   15970  * the description above or with (x, y) coordinate
   15971  * values that are not in the range (0 ... image width -1,
   15972  * 0 ... image height - 1), respectively, is undefined.
   15973  */
   15974 void __ovld write_imagef(write_only image2d_t image, int2 coord, float4 color);
   15975 void __ovld write_imagei(write_only image2d_t image, int2 coord, int4 color);
   15976 void __ovld write_imageui(write_only image2d_t image, int2 coord, uint4 color);
   15977 
   15978 void __ovld write_imagef(write_only image2d_array_t image_array, int4 coord, float4 color);
   15979 void __ovld write_imagei(write_only image2d_array_t image_array, int4 coord, int4 color);
   15980 void __ovld write_imageui(write_only image2d_array_t image_array, int4 coord, uint4 color);
   15981 
   15982 void __ovld write_imagef(write_only image1d_t image, int coord, float4 color);
   15983 void __ovld write_imagei(write_only image1d_t image, int coord, int4 color);
   15984 void __ovld write_imageui(write_only image1d_t image, int coord, uint4 color);
   15985 
   15986 void __ovld write_imagef(write_only image1d_buffer_t image, int coord, float4 color);
   15987 void __ovld write_imagei(write_only image1d_buffer_t image, int coord, int4 color);
   15988 void __ovld write_imageui(write_only image1d_buffer_t image, int coord, uint4 color);
   15989 
   15990 void __ovld write_imagef(write_only image1d_array_t image_array, int2 coord, float4 color);
   15991 void __ovld write_imagei(write_only image1d_array_t image_array, int2 coord, int4 color);
   15992 void __ovld write_imageui(write_only image1d_array_t image_array, int2 coord, uint4 color);
   15993 
   15994 void __ovld write_imagef(write_only image3d_t image, int4 coord, float4 color);
   15995 void __ovld write_imagei(write_only image3d_t image, int4 coord, int4 color);
   15996 void __ovld write_imageui(write_only image3d_t image, int4 coord, uint4 color);
   15997 
   15998 #ifdef cl_khr_depth_images
   15999 void __ovld write_imagef(write_only image2d_depth_t image, int2 coord, float color);
   16000 void __ovld write_imagef(write_only image2d_array_depth_t image, int4 coord, float color);
   16001 #endif //cl_khr_depth_images
   16002 
   16003 // OpenCL Extension v2.0 s9.18 - Mipmaps
   16004 #ifdef cl_khr_mipmap_image
   16005 void __ovld write_imagef(write_only image1d_t image, int coord, int lod, float4 color);
   16006 void __ovld write_imagei(write_only image1d_t image, int coord, int lod, int4 color);
   16007 void __ovld write_imageui(write_only image1d_t image, int coord, int lod, uint4 color);
   16008 
   16009 void __ovld write_imagef(write_only image1d_array_t image_array, int2 coord, int lod, float4 color);
   16010 void __ovld write_imagei(write_only image1d_array_t image_array, int2 coord, int lod, int4 color);
   16011 void __ovld write_imageui(write_only image1d_array_t image_array, int2 coord, int lod, uint4 color);
   16012 
   16013 void __ovld write_imagef(write_only image2d_t image, int2 coord, int lod, float4 color);
   16014 void __ovld write_imagei(write_only image2d_t image, int2 coord, int lod, int4 color);
   16015 void __ovld write_imageui(write_only image2d_t image, int2 coord, int lod, uint4 color);
   16016 
   16017 void __ovld write_imagef(write_only image2d_array_t image_array, int4 coord, int lod, float4 color);
   16018 void __ovld write_imagei(write_only image2d_array_t image_array, int4 coord, int lod, int4 color);
   16019 void __ovld write_imageui(write_only image2d_array_t image_array, int4 coord, int lod, uint4 color);
   16020 
   16021 void __ovld write_imagef(write_only image2d_depth_t image, int2 coord, int lod, float color);
   16022 void __ovld write_imagef(write_only image2d_array_depth_t image, int4 coord, int lod, float color);
   16023 
   16024 void __ovld write_imagef(write_only image3d_t image, int4 coord, int lod, float4 color);
   16025 void __ovld write_imagei(write_only image3d_t image, int4 coord, int lod, int4 color);
   16026 void __ovld write_imageui(write_only image3d_t image, int4 coord, int lod, uint4 color);
   16027 #endif //cl_khr_mipmap_image
   16028 
   16029 // Image write functions for half4 type
   16030 #ifdef cl_khr_fp16
   16031 void __ovld write_imageh(write_only image1d_t image, int coord, half4 color);
   16032 void __ovld write_imageh(write_only image2d_t image, int2 coord, half4 color);
   16033 void __ovld write_imageh(write_only image3d_t image, int4 coord, half4 color);
   16034 void __ovld write_imageh(write_only image1d_array_t image, int2 coord, half4 color);
   16035 void __ovld write_imageh(write_only image2d_array_t image, int4 coord, half4 color);
   16036 void __ovld write_imageh(write_only image1d_buffer_t image, int coord, half4 color);
   16037 #endif //cl_khr_fp16
   16038 
   16039 // Image write functions for read_write images
   16040 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16041 void __ovld write_imagef(read_write image2d_t image, int2 coord, float4 color);
   16042 void __ovld write_imagei(read_write image2d_t image, int2 coord, int4 color);
   16043 void __ovld write_imageui(read_write image2d_t image, int2 coord, uint4 color);
   16044 
   16045 void __ovld write_imagef(read_write image2d_array_t image_array, int4 coord, float4 color);
   16046 void __ovld write_imagei(read_write image2d_array_t image_array, int4 coord, int4 color);
   16047 void __ovld write_imageui(read_write image2d_array_t image_array, int4 coord, uint4 color);
   16048 
   16049 void __ovld write_imagef(read_write image1d_t image, int coord, float4 color);
   16050 void __ovld write_imagei(read_write image1d_t image, int coord, int4 color);
   16051 void __ovld write_imageui(read_write image1d_t image, int coord, uint4 color);
   16052 
   16053 void __ovld write_imagef(read_write image1d_buffer_t image, int coord, float4 color);
   16054 void __ovld write_imagei(read_write image1d_buffer_t image, int coord, int4 color);
   16055 void __ovld write_imageui(read_write image1d_buffer_t image, int coord, uint4 color);
   16056 
   16057 void __ovld write_imagef(read_write image1d_array_t image_array, int2 coord, float4 color);
   16058 void __ovld write_imagei(read_write image1d_array_t image_array, int2 coord, int4 color);
   16059 void __ovld write_imageui(read_write image1d_array_t image_array, int2 coord, uint4 color);
   16060 
   16061 void __ovld write_imagef(read_write image3d_t image, int4 coord, float4 color);
   16062 void __ovld write_imagei(read_write image3d_t image, int4 coord, int4 color);
   16063 void __ovld write_imageui(read_write image3d_t image, int4 coord, uint4 color);
   16064 
   16065 #ifdef cl_khr_depth_images
   16066 void __ovld write_imagef(read_write image2d_depth_t image, int2 coord, float color);
   16067 void __ovld write_imagef(read_write image2d_array_depth_t image, int4 coord, float color);
   16068 #endif //cl_khr_depth_images
   16069 
   16070 #ifdef cl_khr_mipmap_image
   16071 void __ovld write_imagef(read_write image1d_t image, int coord, int lod, float4 color);
   16072 void __ovld write_imagei(read_write image1d_t image, int coord, int lod, int4 color);
   16073 void __ovld write_imageui(read_write image1d_t image, int coord, int lod, uint4 color);
   16074 
   16075 void __ovld write_imagef(read_write image1d_array_t image_array, int2 coord, int lod, float4 color);
   16076 void __ovld write_imagei(read_write image1d_array_t image_array, int2 coord, int lod, int4 color);
   16077 void __ovld write_imageui(read_write image1d_array_t image_array, int2 coord, int lod, uint4 color);
   16078 
   16079 void __ovld write_imagef(read_write image2d_t image, int2 coord, int lod, float4 color);
   16080 void __ovld write_imagei(read_write image2d_t image, int2 coord, int lod, int4 color);
   16081 void __ovld write_imageui(read_write image2d_t image, int2 coord, int lod, uint4 color);
   16082 
   16083 void __ovld write_imagef(read_write image2d_array_t image_array, int4 coord, int lod, float4 color);
   16084 void __ovld write_imagei(read_write image2d_array_t image_array, int4 coord, int lod, int4 color);
   16085 void __ovld write_imageui(read_write image2d_array_t image_array, int4 coord, int lod, uint4 color);
   16086 
   16087 void __ovld write_imagef(read_write image2d_depth_t image, int2 coord, int lod, float color);
   16088 void __ovld write_imagef(read_write image2d_array_depth_t image, int4 coord, int lod, float color);
   16089 
   16090 void __ovld write_imagef(read_write image3d_t image, int4 coord, int lod, float4 color);
   16091 void __ovld write_imagei(read_write image3d_t image, int4 coord, int lod, int4 color);
   16092 void __ovld write_imageui(read_write image3d_t image, int4 coord, int lod, uint4 color);
   16093 #endif //cl_khr_mipmap_image
   16094 
   16095 // Image write functions for half4 type
   16096 #ifdef cl_khr_fp16
   16097 void __ovld write_imageh(read_write image1d_t image, int coord, half4 color);
   16098 void __ovld write_imageh(read_write image2d_t image, int2 coord, half4 color);
   16099 void __ovld write_imageh(read_write image3d_t image, int4 coord, half4 color);
   16100 void __ovld write_imageh(read_write image1d_array_t image, int2 coord, half4 color);
   16101 void __ovld write_imageh(read_write image2d_array_t image, int4 coord, half4 color);
   16102 void __ovld write_imageh(read_write image1d_buffer_t image, int coord, half4 color);
   16103 #endif //cl_khr_fp16
   16104 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16105 
   16106 // Note: In OpenCL v1.0/1.1/1.2, image argument of image query builtin functions does not have
   16107 // access qualifier, which by default assume read_only access qualifier. Image query builtin
   16108 // functions with write_only image argument should also be declared.
   16109 
   16110 /**
   16111  * Return the image width in pixels.
   16112  *
   16113   */
   16114 int __ovld __cnfn get_image_width(read_only image1d_t image);
   16115 int __ovld __cnfn get_image_width(read_only image1d_buffer_t image);
   16116 int __ovld __cnfn get_image_width(read_only image2d_t image);
   16117 int __ovld __cnfn get_image_width(read_only image3d_t image);
   16118 int __ovld __cnfn get_image_width(read_only image1d_array_t image);
   16119 int __ovld __cnfn get_image_width(read_only image2d_array_t image);
   16120 #ifdef cl_khr_depth_images
   16121 int __ovld __cnfn get_image_width(read_only image2d_depth_t image);
   16122 int __ovld __cnfn get_image_width(read_only image2d_array_depth_t image);
   16123 #endif //cl_khr_depth_images
   16124 #if defined(cl_khr_gl_msaa_sharing)
   16125 int __ovld __cnfn get_image_width(read_only image2d_msaa_t image);
   16126 int __ovld __cnfn get_image_width(read_only image2d_msaa_depth_t image);
   16127 int __ovld __cnfn get_image_width(read_only image2d_array_msaa_t image);
   16128 int __ovld __cnfn get_image_width(read_only image2d_array_msaa_depth_t image);
   16129 #endif //cl_khr_gl_msaa_sharing
   16130 
   16131 int __ovld __cnfn get_image_width(write_only image1d_t image);
   16132 int __ovld __cnfn get_image_width(write_only image1d_buffer_t image);
   16133 int __ovld __cnfn get_image_width(write_only image2d_t image);
   16134 int __ovld __cnfn get_image_width(write_only image3d_t image);
   16135 int __ovld __cnfn get_image_width(write_only image1d_array_t image);
   16136 int __ovld __cnfn get_image_width(write_only image2d_array_t image);
   16137 #ifdef cl_khr_depth_images
   16138 int __ovld __cnfn get_image_width(write_only image2d_depth_t image);
   16139 int __ovld __cnfn get_image_width(write_only image2d_array_depth_t image);
   16140 #endif //cl_khr_depth_images
   16141 #if defined(cl_khr_gl_msaa_sharing)
   16142 int __ovld __cnfn get_image_width(write_only image2d_msaa_t image);
   16143 int __ovld __cnfn get_image_width(write_only image2d_msaa_depth_t image);
   16144 int __ovld __cnfn get_image_width(write_only image2d_array_msaa_t image);
   16145 int __ovld __cnfn get_image_width(write_only image2d_array_msaa_depth_t image);
   16146 #endif //cl_khr_gl_msaa_sharing
   16147 
   16148 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16149 int __ovld __cnfn get_image_width(read_write image1d_t image);
   16150 int __ovld __cnfn get_image_width(read_write image1d_buffer_t image);
   16151 int __ovld __cnfn get_image_width(read_write image2d_t image);
   16152 int __ovld __cnfn get_image_width(read_write image3d_t image);
   16153 int __ovld __cnfn get_image_width(read_write image1d_array_t image);
   16154 int __ovld __cnfn get_image_width(read_write image2d_array_t image);
   16155 #ifdef cl_khr_depth_images
   16156 int __ovld __cnfn get_image_width(read_write image2d_depth_t image);
   16157 int __ovld __cnfn get_image_width(read_write image2d_array_depth_t image);
   16158 #endif //cl_khr_depth_images
   16159 #if defined(cl_khr_gl_msaa_sharing)
   16160 int __ovld __cnfn get_image_width(read_write image2d_msaa_t image);
   16161 int __ovld __cnfn get_image_width(read_write image2d_msaa_depth_t image);
   16162 int __ovld __cnfn get_image_width(read_write image2d_array_msaa_t image);
   16163 int __ovld __cnfn get_image_width(read_write image2d_array_msaa_depth_t image);
   16164 #endif //cl_khr_gl_msaa_sharing
   16165 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16166 
   16167 /**
   16168  * Return the image height in pixels.
   16169  */
   16170 int __ovld __cnfn get_image_height(read_only image2d_t image);
   16171 int __ovld __cnfn get_image_height(read_only image3d_t image);
   16172 int __ovld __cnfn get_image_height(read_only image2d_array_t image);
   16173 #ifdef cl_khr_depth_images
   16174 int __ovld __cnfn get_image_height(read_only image2d_depth_t image);
   16175 int __ovld __cnfn get_image_height(read_only image2d_array_depth_t image);
   16176 #endif //cl_khr_depth_images
   16177 #if defined(cl_khr_gl_msaa_sharing)
   16178 int __ovld __cnfn get_image_height(read_only image2d_msaa_t image);
   16179 int __ovld __cnfn get_image_height(read_only image2d_msaa_depth_t image);
   16180 int __ovld __cnfn get_image_height(read_only image2d_array_msaa_t image);
   16181 int __ovld __cnfn get_image_height(read_only image2d_array_msaa_depth_t image);
   16182 #endif //cl_khr_gl_msaa_sharing
   16183 
   16184 int __ovld __cnfn get_image_height(write_only image2d_t image);
   16185 int __ovld __cnfn get_image_height(write_only image3d_t image);
   16186 int __ovld __cnfn get_image_height(write_only image2d_array_t image);
   16187 #ifdef cl_khr_depth_images
   16188 int __ovld __cnfn get_image_height(write_only image2d_depth_t image);
   16189 int __ovld __cnfn get_image_height(write_only image2d_array_depth_t image);
   16190 #endif //cl_khr_depth_images
   16191 #if defined(cl_khr_gl_msaa_sharing)
   16192 int __ovld __cnfn get_image_height(write_only image2d_msaa_t image);
   16193 int __ovld __cnfn get_image_height(write_only image2d_msaa_depth_t image);
   16194 int __ovld __cnfn get_image_height(write_only image2d_array_msaa_t image);
   16195 int __ovld __cnfn get_image_height(write_only image2d_array_msaa_depth_t image);
   16196 #endif //cl_khr_gl_msaa_sharing
   16197 
   16198 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16199 int __ovld __cnfn get_image_height(read_write image2d_t image);
   16200 int __ovld __cnfn get_image_height(read_write image3d_t image);
   16201 int __ovld __cnfn get_image_height(read_write image2d_array_t image);
   16202 #ifdef cl_khr_depth_images
   16203 int __ovld __cnfn get_image_height(read_write image2d_depth_t image);
   16204 int __ovld __cnfn get_image_height(read_write image2d_array_depth_t image);
   16205 #endif //cl_khr_depth_images
   16206 #if defined(cl_khr_gl_msaa_sharing)
   16207 int __ovld __cnfn get_image_height(read_write image2d_msaa_t image);
   16208 int __ovld __cnfn get_image_height(read_write image2d_msaa_depth_t image);
   16209 int __ovld __cnfn get_image_height(read_write image2d_array_msaa_t image);
   16210 int __ovld __cnfn get_image_height(read_write image2d_array_msaa_depth_t image);
   16211 #endif //cl_khr_gl_msaa_sharing
   16212 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16213 
   16214 /**
   16215  * Return the image depth in pixels.
   16216  */
   16217 int __ovld __cnfn get_image_depth(read_only image3d_t image);
   16218 
   16219 int __ovld __cnfn get_image_depth(write_only image3d_t image);
   16220 
   16221 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16222 int __ovld __cnfn get_image_depth(read_write image3d_t image);
   16223 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16224 
   16225 // OpenCL Extension v2.0 s9.18 - Mipmaps
   16226 #ifdef cl_khr_mipmap_image
   16227 /**
   16228  * Return the image miplevels.
   16229  */
   16230 
   16231 int __ovld get_image_num_mip_levels(read_only image1d_t image);
   16232 int __ovld get_image_num_mip_levels(read_only image2d_t image);
   16233 int __ovld get_image_num_mip_levels(read_only image3d_t image);
   16234 
   16235 int __ovld get_image_num_mip_levels(write_only image1d_t image);
   16236 int __ovld get_image_num_mip_levels(write_only image2d_t image);
   16237 int __ovld get_image_num_mip_levels(write_only image3d_t image);
   16238 
   16239 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16240 int __ovld get_image_num_mip_levels(read_write image1d_t image);
   16241 int __ovld get_image_num_mip_levels(read_write image2d_t image);
   16242 int __ovld get_image_num_mip_levels(read_write image3d_t image);
   16243 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16244 
   16245 int __ovld get_image_num_mip_levels(read_only image1d_array_t image);
   16246 int __ovld get_image_num_mip_levels(read_only image2d_array_t image);
   16247 int __ovld get_image_num_mip_levels(read_only image2d_array_depth_t image);
   16248 int __ovld get_image_num_mip_levels(read_only image2d_depth_t image);
   16249 
   16250 int __ovld get_image_num_mip_levels(write_only image1d_array_t image);
   16251 int __ovld get_image_num_mip_levels(write_only image2d_array_t image);
   16252 int __ovld get_image_num_mip_levels(write_only image2d_array_depth_t image);
   16253 int __ovld get_image_num_mip_levels(write_only image2d_depth_t image);
   16254 
   16255 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16256 int __ovld get_image_num_mip_levels(read_write image1d_array_t image);
   16257 int __ovld get_image_num_mip_levels(read_write image2d_array_t image);
   16258 int __ovld get_image_num_mip_levels(read_write image2d_array_depth_t image);
   16259 int __ovld get_image_num_mip_levels(read_write image2d_depth_t image);
   16260 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16261 
   16262 #endif //cl_khr_mipmap_image
   16263 
   16264 /**
   16265  * Return the channel data type. Valid values are:
   16266  * CLK_SNORM_INT8
   16267  * CLK_SNORM_INT16
   16268  * CLK_UNORM_INT8
   16269  * CLK_UNORM_INT16
   16270  * CLK_UNORM_SHORT_565
   16271  * CLK_UNORM_SHORT_555
   16272  * CLK_UNORM_SHORT_101010
   16273  * CLK_SIGNED_INT8
   16274  * CLK_SIGNED_INT16
   16275  * CLK_SIGNED_INT32
   16276  * CLK_UNSIGNED_INT8
   16277  * CLK_UNSIGNED_INT16
   16278  * CLK_UNSIGNED_INT32
   16279  * CLK_HALF_FLOAT
   16280  * CLK_FLOAT
   16281  */
   16282 
   16283 //
   16284 // Channel Datatype.
   16285 //
   16286 #define CLK_SNORM_INT8        0x10D0
   16287 #define CLK_SNORM_INT16       0x10D1
   16288 #define CLK_UNORM_INT8        0x10D2
   16289 #define CLK_UNORM_INT16       0x10D3
   16290 #define CLK_UNORM_SHORT_565   0x10D4
   16291 #define CLK_UNORM_SHORT_555   0x10D5
   16292 #define CLK_UNORM_INT_101010  0x10D6
   16293 #define CLK_SIGNED_INT8       0x10D7
   16294 #define CLK_SIGNED_INT16      0x10D8
   16295 #define CLK_SIGNED_INT32      0x10D9
   16296 #define CLK_UNSIGNED_INT8     0x10DA
   16297 #define CLK_UNSIGNED_INT16    0x10DB
   16298 #define CLK_UNSIGNED_INT32    0x10DC
   16299 #define CLK_HALF_FLOAT        0x10DD
   16300 #define CLK_FLOAT             0x10DE
   16301 #define CLK_UNORM_INT24       0x10DF
   16302 
   16303 int __ovld __cnfn get_image_channel_data_type(read_only image1d_t image);
   16304 int __ovld __cnfn get_image_channel_data_type(read_only image1d_buffer_t image);
   16305 int __ovld __cnfn get_image_channel_data_type(read_only image2d_t image);
   16306 int __ovld __cnfn get_image_channel_data_type(read_only image3d_t image);
   16307 int __ovld __cnfn get_image_channel_data_type(read_only image1d_array_t image);
   16308 int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_t image);
   16309 #ifdef cl_khr_depth_images
   16310 int __ovld __cnfn get_image_channel_data_type(read_only image2d_depth_t image);
   16311 int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_depth_t image);
   16312 #endif //cl_khr_depth_images
   16313 #if defined(cl_khr_gl_msaa_sharing)
   16314 int __ovld __cnfn get_image_channel_data_type(read_only image2d_msaa_t image);
   16315 int __ovld __cnfn get_image_channel_data_type(read_only image2d_msaa_depth_t image);
   16316 int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_msaa_t image);
   16317 int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_msaa_depth_t image);
   16318 #endif //cl_khr_gl_msaa_sharing
   16319 
   16320 int __ovld __cnfn get_image_channel_data_type(write_only image1d_t image);
   16321 int __ovld __cnfn get_image_channel_data_type(write_only image1d_buffer_t image);
   16322 int __ovld __cnfn get_image_channel_data_type(write_only image2d_t image);
   16323 int __ovld __cnfn get_image_channel_data_type(write_only image3d_t image);
   16324 int __ovld __cnfn get_image_channel_data_type(write_only image1d_array_t image);
   16325 int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_t image);
   16326 #ifdef cl_khr_depth_images
   16327 int __ovld __cnfn get_image_channel_data_type(write_only image2d_depth_t image);
   16328 int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_depth_t image);
   16329 #endif //cl_khr_depth_images
   16330 #if defined(cl_khr_gl_msaa_sharing)
   16331 int __ovld __cnfn get_image_channel_data_type(write_only image2d_msaa_t image);
   16332 int __ovld __cnfn get_image_channel_data_type(write_only image2d_msaa_depth_t image);
   16333 int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_msaa_t image);
   16334 int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_msaa_depth_t image);
   16335 #endif //cl_khr_gl_msaa_sharing
   16336 
   16337 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16338 int __ovld __cnfn get_image_channel_data_type(read_write image1d_t image);
   16339 int __ovld __cnfn get_image_channel_data_type(read_write image1d_buffer_t image);
   16340 int __ovld __cnfn get_image_channel_data_type(read_write image2d_t image);
   16341 int __ovld __cnfn get_image_channel_data_type(read_write image3d_t image);
   16342 int __ovld __cnfn get_image_channel_data_type(read_write image1d_array_t image);
   16343 int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_t image);
   16344 #ifdef cl_khr_depth_images
   16345 int __ovld __cnfn get_image_channel_data_type(read_write image2d_depth_t image);
   16346 int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_depth_t image);
   16347 #endif //cl_khr_depth_images
   16348 #if defined(cl_khr_gl_msaa_sharing)
   16349 int __ovld __cnfn get_image_channel_data_type(read_write image2d_msaa_t image);
   16350 int __ovld __cnfn get_image_channel_data_type(read_write image2d_msaa_depth_t image);
   16351 int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_msaa_t image);
   16352 int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_msaa_depth_t image);
   16353 #endif //cl_khr_gl_msaa_sharing
   16354 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16355 
   16356 /**
   16357  * Return the image channel order. Valid values are:
   16358  * CLK_A
   16359  * CLK_R
   16360  * CLK_Rx
   16361  * CLK_RG
   16362  * CLK_RGx
   16363  * CLK_RA
   16364  * CLK_RGB
   16365  * CLK_RGBx
   16366  * CLK_RGBA
   16367  * CLK_ARGB
   16368  * CLK_BGRA
   16369  * CLK_INTENSITY
   16370  * CLK_LUMINANCE
   16371  */
   16372 // Channel order, numbering must be aligned with cl_channel_order in cl.h
   16373 //
   16374 #define CLK_R         0x10B0
   16375 #define CLK_A         0x10B1
   16376 #define CLK_RG        0x10B2
   16377 #define CLK_RA        0x10B3
   16378 #define CLK_RGB       0x10B4
   16379 #define CLK_RGBA      0x10B5
   16380 #define CLK_BGRA      0x10B6
   16381 #define CLK_ARGB      0x10B7
   16382 #define CLK_INTENSITY 0x10B8
   16383 #define CLK_LUMINANCE 0x10B9
   16384 #define CLK_Rx                0x10BA
   16385 #define CLK_RGx               0x10BB
   16386 #define CLK_RGBx              0x10BC
   16387 #define CLK_DEPTH             0x10BD
   16388 #define CLK_DEPTH_STENCIL     0x10BE
   16389 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16390 #define CLK_sRGB              0x10BF
   16391 #define CLK_sRGBA             0x10C1
   16392 #define CLK_sRGBx             0x10C0
   16393 #define CLK_sBGRA             0x10C2
   16394 #define CLK_ABGR              0x10C3
   16395 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16396 
   16397 int __ovld __cnfn get_image_channel_order(read_only image1d_t image);
   16398 int __ovld __cnfn get_image_channel_order(read_only image1d_buffer_t image);
   16399 int __ovld __cnfn get_image_channel_order(read_only image2d_t image);
   16400 int __ovld __cnfn get_image_channel_order(read_only image3d_t image);
   16401 int __ovld __cnfn get_image_channel_order(read_only image1d_array_t image);
   16402 int __ovld __cnfn get_image_channel_order(read_only image2d_array_t image);
   16403 #ifdef cl_khr_depth_images
   16404 int __ovld __cnfn get_image_channel_order(read_only image2d_depth_t image);
   16405 int __ovld __cnfn get_image_channel_order(read_only image2d_array_depth_t image);
   16406 #endif //cl_khr_depth_images
   16407 #if defined(cl_khr_gl_msaa_sharing)
   16408 int __ovld __cnfn get_image_channel_order(read_only image2d_msaa_t image);
   16409 int __ovld __cnfn get_image_channel_order(read_only image2d_msaa_depth_t image);
   16410 int __ovld __cnfn get_image_channel_order(read_only image2d_array_msaa_t image);
   16411 int __ovld __cnfn get_image_channel_order(read_only image2d_array_msaa_depth_t image);
   16412 #endif //cl_khr_gl_msaa_sharing
   16413 
   16414 int __ovld __cnfn get_image_channel_order(write_only image1d_t image);
   16415 int __ovld __cnfn get_image_channel_order(write_only image1d_buffer_t image);
   16416 int __ovld __cnfn get_image_channel_order(write_only image2d_t image);
   16417 int __ovld __cnfn get_image_channel_order(write_only image3d_t image);
   16418 int __ovld __cnfn get_image_channel_order(write_only image1d_array_t image);
   16419 int __ovld __cnfn get_image_channel_order(write_only image2d_array_t image);
   16420 #ifdef cl_khr_depth_images
   16421 int __ovld __cnfn get_image_channel_order(write_only image2d_depth_t image);
   16422 int __ovld __cnfn get_image_channel_order(write_only image2d_array_depth_t image);
   16423 #endif //cl_khr_depth_images
   16424 #if defined(cl_khr_gl_msaa_sharing)
   16425 int __ovld __cnfn get_image_channel_order(write_only image2d_msaa_t image);
   16426 int __ovld __cnfn get_image_channel_order(write_only image2d_msaa_depth_t image);
   16427 int __ovld __cnfn get_image_channel_order(write_only image2d_array_msaa_t image);
   16428 int __ovld __cnfn get_image_channel_order(write_only image2d_array_msaa_depth_t image);
   16429 #endif //cl_khr_gl_msaa_sharing
   16430 
   16431 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16432 int __ovld __cnfn get_image_channel_order(read_write image1d_t image);
   16433 int __ovld __cnfn get_image_channel_order(read_write image1d_buffer_t image);
   16434 int __ovld __cnfn get_image_channel_order(read_write image2d_t image);
   16435 int __ovld __cnfn get_image_channel_order(read_write image3d_t image);
   16436 int __ovld __cnfn get_image_channel_order(read_write image1d_array_t image);
   16437 int __ovld __cnfn get_image_channel_order(read_write image2d_array_t image);
   16438 #ifdef cl_khr_depth_images
   16439 int __ovld __cnfn get_image_channel_order(read_write image2d_depth_t image);
   16440 int __ovld __cnfn get_image_channel_order(read_write image2d_array_depth_t image);
   16441 #endif //cl_khr_depth_images
   16442 #if defined(cl_khr_gl_msaa_sharing)
   16443 int __ovld __cnfn get_image_channel_order(read_write image2d_msaa_t image);
   16444 int __ovld __cnfn get_image_channel_order(read_write image2d_msaa_depth_t image);
   16445 int __ovld __cnfn get_image_channel_order(read_write image2d_array_msaa_t image);
   16446 int __ovld __cnfn get_image_channel_order(read_write image2d_array_msaa_depth_t image);
   16447 #endif //cl_khr_gl_msaa_sharing
   16448 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16449 
   16450 /**
   16451  * Return the 2D image width and height as an int2
   16452  * type. The width is returned in the x component, and
   16453  * the height in the y component.
   16454  */
   16455 int2 __ovld __cnfn get_image_dim(read_only image2d_t image);
   16456 int2 __ovld __cnfn get_image_dim(read_only image2d_array_t image);
   16457 #ifdef cl_khr_depth_images
   16458 int2 __ovld __cnfn get_image_dim(read_only image2d_array_depth_t image);
   16459 int2 __ovld __cnfn get_image_dim(read_only image2d_depth_t image);
   16460 #endif //cl_khr_depth_images
   16461 #if defined(cl_khr_gl_msaa_sharing)
   16462 int2 __ovld __cnfn get_image_dim(read_only image2d_msaa_t image);
   16463 int2 __ovld __cnfn get_image_dim(read_only image2d_msaa_depth_t image);
   16464 int2 __ovld __cnfn get_image_dim(read_only image2d_array_msaa_t image);
   16465 int2 __ovld __cnfn get_image_dim(read_only image2d_array_msaa_depth_t image);
   16466 #endif //cl_khr_gl_msaa_sharing
   16467 
   16468 int2 __ovld __cnfn get_image_dim(write_only image2d_t image);
   16469 int2 __ovld __cnfn get_image_dim(write_only image2d_array_t image);
   16470 #ifdef cl_khr_depth_images
   16471 int2 __ovld __cnfn get_image_dim(write_only image2d_array_depth_t image);
   16472 int2 __ovld __cnfn get_image_dim(write_only image2d_depth_t image);
   16473 #endif //cl_khr_depth_images
   16474 #if defined(cl_khr_gl_msaa_sharing)
   16475 int2 __ovld __cnfn get_image_dim(write_only image2d_msaa_t image);
   16476 int2 __ovld __cnfn get_image_dim(write_only image2d_msaa_depth_t image);
   16477 int2 __ovld __cnfn get_image_dim(write_only image2d_array_msaa_t image);
   16478 int2 __ovld __cnfn get_image_dim(write_only image2d_array_msaa_depth_t image);
   16479 #endif //cl_khr_gl_msaa_sharing
   16480 
   16481 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16482 int2 __ovld __cnfn get_image_dim(read_write image2d_t image);
   16483 int2 __ovld __cnfn get_image_dim(read_write image2d_array_t image);
   16484 #ifdef cl_khr_depth_images
   16485 int2 __ovld __cnfn get_image_dim(read_write image2d_array_depth_t image);
   16486 int2 __ovld __cnfn get_image_dim(read_write image2d_depth_t image);
   16487 #endif //cl_khr_depth_images
   16488 #if defined(cl_khr_gl_msaa_sharing)
   16489 int2 __ovld __cnfn get_image_dim(read_write image2d_msaa_t image);
   16490 int2 __ovld __cnfn get_image_dim(read_write image2d_msaa_depth_t image);
   16491 int2 __ovld __cnfn get_image_dim(read_write image2d_array_msaa_t image);
   16492 int2 __ovld __cnfn get_image_dim(read_write image2d_array_msaa_depth_t image);
   16493 #endif //cl_khr_gl_msaa_sharing
   16494 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16495 
   16496 /**
   16497  * Return the 3D image width, height, and depth as an
   16498  * int4 type. The width is returned in the x
   16499  * component, height in the y component, depth in the z
   16500  * component and the w component is 0.
   16501  */
   16502 int4 __ovld __cnfn get_image_dim(read_only image3d_t image);
   16503 int4 __ovld __cnfn get_image_dim(write_only image3d_t image);
   16504 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16505 int4 __ovld __cnfn get_image_dim(read_write image3d_t image);
   16506 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16507 
   16508 /**
   16509  * Return the image array size.
   16510  */
   16511 
   16512 size_t __ovld __cnfn get_image_array_size(read_only image1d_array_t image_array);
   16513 size_t __ovld __cnfn get_image_array_size(read_only image2d_array_t image_array);
   16514 #ifdef cl_khr_depth_images
   16515 size_t __ovld __cnfn get_image_array_size(read_only image2d_array_depth_t image_array);
   16516 #endif //cl_khr_depth_images
   16517 #if defined(cl_khr_gl_msaa_sharing)
   16518 size_t __ovld __cnfn get_image_array_size(read_only image2d_array_msaa_t image_array);
   16519 size_t __ovld __cnfn get_image_array_size(read_only image2d_array_msaa_depth_t image_array);
   16520 #endif //cl_khr_gl_msaa_sharing
   16521 
   16522 size_t __ovld __cnfn get_image_array_size(write_only image1d_array_t image_array);
   16523 size_t __ovld __cnfn get_image_array_size(write_only image2d_array_t image_array);
   16524 #ifdef cl_khr_depth_images
   16525 size_t __ovld __cnfn get_image_array_size(write_only image2d_array_depth_t image_array);
   16526 #endif //cl_khr_depth_images
   16527 #if defined(cl_khr_gl_msaa_sharing)
   16528 size_t __ovld __cnfn get_image_array_size(write_only image2d_array_msaa_t image_array);
   16529 size_t __ovld __cnfn get_image_array_size(write_only image2d_array_msaa_depth_t image_array);
   16530 #endif //cl_khr_gl_msaa_sharing
   16531 
   16532 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16533 size_t __ovld __cnfn get_image_array_size(read_write image1d_array_t image_array);
   16534 size_t __ovld __cnfn get_image_array_size(read_write image2d_array_t image_array);
   16535 #ifdef cl_khr_depth_images
   16536 size_t __ovld __cnfn get_image_array_size(read_write image2d_array_depth_t image_array);
   16537 #endif //cl_khr_depth_images
   16538 #if defined(cl_khr_gl_msaa_sharing)
   16539 size_t __ovld __cnfn get_image_array_size(read_write image2d_array_msaa_t image_array);
   16540 size_t __ovld __cnfn get_image_array_size(read_write image2d_array_msaa_depth_t image_array);
   16541 #endif //cl_khr_gl_msaa_sharing
   16542 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16543 
   16544 /**
   16545 * Return the number of samples associated with image
   16546 */
   16547 #if defined(cl_khr_gl_msaa_sharing)
   16548 int __ovld get_image_num_samples(read_only image2d_msaa_t image);
   16549 int __ovld get_image_num_samples(read_only image2d_msaa_depth_t image);
   16550 int __ovld get_image_num_samples(read_only image2d_array_msaa_depth_t image);
   16551 int __ovld get_image_num_samples(read_only image2d_array_msaa_t image);
   16552 int __ovld get_image_num_samples(read_only image2d_array_msaa_depth_t image);
   16553 
   16554 int __ovld get_image_num_samples(write_only image2d_msaa_t image);
   16555 int __ovld get_image_num_samples(write_only image2d_msaa_depth_t image);
   16556 int __ovld get_image_num_samples(write_only image2d_array_msaa_depth_t image);
   16557 int __ovld get_image_num_samples(write_only image2d_array_msaa_t image);
   16558 int __ovld get_image_num_samples(write_only image2d_array_msaa_depth_t image);
   16559 
   16560 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16561 int __ovld get_image_num_samples(read_write image2d_msaa_t image);
   16562 int __ovld get_image_num_samples(read_write image2d_msaa_depth_t image);
   16563 int __ovld get_image_num_samples(read_write image2d_array_msaa_depth_t image);
   16564 int __ovld get_image_num_samples(read_write image2d_array_msaa_t image);
   16565 int __ovld get_image_num_samples(read_write image2d_array_msaa_depth_t image);
   16566 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16567 #endif
   16568 
   16569 // OpenCL v2.0 s6.13.15 - Work-group Functions
   16570 
   16571 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16572 int __ovld __conv work_group_all(int predicate);
   16573 int __ovld __conv work_group_any(int predicate);
   16574 
   16575 #ifdef cl_khr_fp16
   16576 half __ovld __conv work_group_broadcast(half a, size_t local_id);
   16577 half __ovld __conv work_group_broadcast(half a, size_t x, size_t y);
   16578 half __ovld __conv work_group_broadcast(half a, size_t x, size_t y, size_t z);
   16579 #endif
   16580 int __ovld __conv work_group_broadcast(int a, size_t local_id);
   16581 int __ovld __conv work_group_broadcast(int a, size_t x, size_t y);
   16582 int __ovld __conv work_group_broadcast(int a, size_t x, size_t y, size_t z);
   16583 uint __ovld __conv work_group_broadcast(uint a, size_t local_id);
   16584 uint __ovld __conv work_group_broadcast(uint a, size_t x, size_t y);
   16585 uint __ovld __conv work_group_broadcast(uint a, size_t x, size_t y, size_t z);
   16586 long __ovld __conv work_group_broadcast(long a, size_t local_id);
   16587 long __ovld __conv work_group_broadcast(long a, size_t x, size_t y);
   16588 long __ovld __conv work_group_broadcast(long a, size_t x, size_t y, size_t z);
   16589 ulong __ovld __conv work_group_broadcast(ulong a, size_t local_id);
   16590 ulong __ovld __conv work_group_broadcast(ulong a, size_t x, size_t y);
   16591 ulong __ovld __conv work_group_broadcast(ulong a, size_t x, size_t y, size_t z);
   16592 float __ovld __conv work_group_broadcast(float a, size_t local_id);
   16593 float __ovld __conv work_group_broadcast(float a, size_t x, size_t y);
   16594 float __ovld __conv work_group_broadcast(float a, size_t x, size_t y, size_t z);
   16595 #ifdef cl_khr_fp64
   16596 double __ovld __conv work_group_broadcast(double a, size_t local_id);
   16597 double __ovld __conv work_group_broadcast(double a, size_t x, size_t y);
   16598 double __ovld __conv work_group_broadcast(double a, size_t x, size_t y, size_t z);
   16599 #endif //cl_khr_fp64
   16600 
   16601 #ifdef cl_khr_fp16
   16602 half __ovld __conv work_group_reduce_add(half x);
   16603 half __ovld __conv work_group_reduce_min(half x);
   16604 half __ovld __conv work_group_reduce_max(half x);
   16605 half __ovld __conv work_group_scan_exclusive_add(half x);
   16606 half __ovld __conv work_group_scan_exclusive_min(half x);
   16607 half __ovld __conv work_group_scan_exclusive_max(half x);
   16608 half __ovld __conv work_group_scan_inclusive_add(half x);
   16609 half __ovld __conv work_group_scan_inclusive_min(half x);
   16610 half __ovld __conv work_group_scan_inclusive_max(half x);
   16611 #endif
   16612 int __ovld __conv work_group_reduce_add(int x);
   16613 int __ovld __conv work_group_reduce_min(int x);
   16614 int __ovld __conv work_group_reduce_max(int x);
   16615 int __ovld __conv work_group_scan_exclusive_add(int x);
   16616 int __ovld __conv work_group_scan_exclusive_min(int x);
   16617 int __ovld __conv work_group_scan_exclusive_max(int x);
   16618 int __ovld __conv work_group_scan_inclusive_add(int x);
   16619 int __ovld __conv work_group_scan_inclusive_min(int x);
   16620 int __ovld __conv work_group_scan_inclusive_max(int x);
   16621 uint __ovld __conv work_group_reduce_add(uint x);
   16622 uint __ovld __conv work_group_reduce_min(uint x);
   16623 uint __ovld __conv work_group_reduce_max(uint x);
   16624 uint __ovld __conv work_group_scan_exclusive_add(uint x);
   16625 uint __ovld __conv work_group_scan_exclusive_min(uint x);
   16626 uint __ovld __conv work_group_scan_exclusive_max(uint x);
   16627 uint __ovld __conv work_group_scan_inclusive_add(uint x);
   16628 uint __ovld __conv work_group_scan_inclusive_min(uint x);
   16629 uint __ovld __conv work_group_scan_inclusive_max(uint x);
   16630 long __ovld __conv work_group_reduce_add(long x);
   16631 long __ovld __conv work_group_reduce_min(long x);
   16632 long __ovld __conv work_group_reduce_max(long x);
   16633 long __ovld __conv work_group_scan_exclusive_add(long x);
   16634 long __ovld __conv work_group_scan_exclusive_min(long x);
   16635 long __ovld __conv work_group_scan_exclusive_max(long x);
   16636 long __ovld __conv work_group_scan_inclusive_add(long x);
   16637 long __ovld __conv work_group_scan_inclusive_min(long x);
   16638 long __ovld __conv work_group_scan_inclusive_max(long x);
   16639 ulong __ovld __conv work_group_reduce_add(ulong x);
   16640 ulong __ovld __conv work_group_reduce_min(ulong x);
   16641 ulong __ovld __conv work_group_reduce_max(ulong x);
   16642 ulong __ovld __conv work_group_scan_exclusive_add(ulong x);
   16643 ulong __ovld __conv work_group_scan_exclusive_min(ulong x);
   16644 ulong __ovld __conv work_group_scan_exclusive_max(ulong x);
   16645 ulong __ovld __conv work_group_scan_inclusive_add(ulong x);
   16646 ulong __ovld __conv work_group_scan_inclusive_min(ulong x);
   16647 ulong __ovld __conv work_group_scan_inclusive_max(ulong x);
   16648 float __ovld __conv work_group_reduce_add(float x);
   16649 float __ovld __conv work_group_reduce_min(float x);
   16650 float __ovld __conv work_group_reduce_max(float x);
   16651 float __ovld __conv work_group_scan_exclusive_add(float x);
   16652 float __ovld __conv work_group_scan_exclusive_min(float x);
   16653 float __ovld __conv work_group_scan_exclusive_max(float x);
   16654 float __ovld __conv work_group_scan_inclusive_add(float x);
   16655 float __ovld __conv work_group_scan_inclusive_min(float x);
   16656 float __ovld __conv work_group_scan_inclusive_max(float x);
   16657 #ifdef cl_khr_fp64
   16658 double __ovld __conv work_group_reduce_add(double x);
   16659 double __ovld __conv work_group_reduce_min(double x);
   16660 double __ovld __conv work_group_reduce_max(double x);
   16661 double __ovld __conv work_group_scan_exclusive_add(double x);
   16662 double __ovld __conv work_group_scan_exclusive_min(double x);
   16663 double __ovld __conv work_group_scan_exclusive_max(double x);
   16664 double __ovld __conv work_group_scan_inclusive_add(double x);
   16665 double __ovld __conv work_group_scan_inclusive_min(double x);
   16666 double __ovld __conv work_group_scan_inclusive_max(double x);
   16667 #endif //cl_khr_fp64
   16668 
   16669 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16670 
   16671 // OpenCL v2.0 s6.13.16 - Pipe Functions
   16672 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16673 #define PIPE_RESERVE_ID_VALID_BIT (1U << 30)
   16674 #define CLK_NULL_RESERVE_ID (__builtin_astype(((void*)(__SIZE_MAX__)), reserve_id_t))
   16675 bool __ovld is_valid_reserve_id(reserve_id_t reserve_id);
   16676 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16677 
   16678 
   16679 // OpenCL v2.0 s6.13.17 - Enqueue Kernels
   16680 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16681 
   16682 #define CL_COMPLETE                                 0x0
   16683 #define CL_RUNNING                                  0x1
   16684 #define CL_SUBMITTED                                0x2
   16685 #define CL_QUEUED                                   0x3
   16686 
   16687 #define CLK_SUCCESS                                 0
   16688 #define CLK_ENQUEUE_FAILURE                         -101
   16689 #define CLK_INVALID_QUEUE                           -102
   16690 #define CLK_INVALID_NDRANGE                         -160
   16691 #define CLK_INVALID_EVENT_WAIT_LIST                 -57
   16692 #define CLK_DEVICE_QUEUE_FULL                       -161
   16693 #define CLK_INVALID_ARG_SIZE                        -51
   16694 #define CLK_EVENT_ALLOCATION_FAILURE                -100
   16695 #define CLK_OUT_OF_RESOURCES                        -5
   16696 
   16697 #define CLK_NULL_QUEUE                              0
   16698 #define CLK_NULL_EVENT (__builtin_astype(((void*)(__SIZE_MAX__)), clk_event_t))
   16699 
   16700 // execution model related definitions
   16701 #define CLK_ENQUEUE_FLAGS_NO_WAIT                   0x0
   16702 #define CLK_ENQUEUE_FLAGS_WAIT_KERNEL               0x1
   16703 #define CLK_ENQUEUE_FLAGS_WAIT_WORK_GROUP           0x2
   16704 
   16705 typedef int kernel_enqueue_flags_t;
   16706 typedef int clk_profiling_info;
   16707 
   16708 // Profiling info name (see capture_event_profiling_info)
   16709 #define CLK_PROFILING_COMMAND_EXEC_TIME 0x1
   16710 
   16711 #define MAX_WORK_DIM        3
   16712 
   16713 // ToDo: Remove definition of ndrange_t in Clang as an opaque type and add back
   16714 // the following ndrange_t definition.
   16715 #if 0
   16716 typedef struct {
   16717     unsigned int workDimension;
   16718     size_t globalWorkOffset[MAX_WORK_DIM];
   16719     size_t globalWorkSize[MAX_WORK_DIM];
   16720     size_t localWorkSize[MAX_WORK_DIM];
   16721 } ndrange_t;
   16722 #endif
   16723 
   16724 ndrange_t __ovld ndrange_1D(size_t);
   16725 ndrange_t __ovld ndrange_1D(size_t, size_t);
   16726 ndrange_t __ovld ndrange_1D(size_t, size_t, size_t);
   16727 
   16728 ndrange_t __ovld ndrange_2D(const size_t[2]);
   16729 ndrange_t __ovld ndrange_2D(const size_t[2], const size_t[2]);
   16730 ndrange_t __ovld ndrange_2D(const size_t[2], const size_t[2], const size_t[2]);
   16731 
   16732 ndrange_t __ovld ndrange_3D(const size_t[3]);
   16733 ndrange_t __ovld ndrange_3D(const size_t[3], const size_t[3]);
   16734 ndrange_t __ovld ndrange_3D(const size_t[3], const size_t[3], const size_t[3]);
   16735 
   16736 int __ovld enqueue_marker(queue_t, uint, const __private clk_event_t*, __private clk_event_t*);
   16737 
   16738 void __ovld retain_event(clk_event_t);
   16739 
   16740 void __ovld release_event(clk_event_t);
   16741 
   16742 clk_event_t __ovld create_user_event(void);
   16743 
   16744 void __ovld set_user_event_status(clk_event_t e, int state);
   16745 
   16746 bool __ovld is_valid_event (clk_event_t event);
   16747 
   16748 void __ovld capture_event_profiling_info(clk_event_t, clk_profiling_info, __global void* value);
   16749 
   16750 queue_t __ovld get_default_queue(void);
   16751 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16752 
   16753 // OpenCL Extension v2.0 s9.17 - Sub-groups
   16754 
   16755 #if defined(cl_intel_subgroups) || defined(cl_khr_subgroups)
   16756 // Shared Sub Group Functions
   16757 uint    __ovld get_sub_group_size(void);
   16758 uint    __ovld get_max_sub_group_size(void);
   16759 uint    __ovld get_num_sub_groups(void);
   16760 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16761 uint    __ovld get_enqueued_num_sub_groups(void);
   16762 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16763 uint    __ovld get_sub_group_id(void);
   16764 uint    __ovld get_sub_group_local_id(void);
   16765 
   16766 void    __ovld __conv sub_group_barrier(cl_mem_fence_flags flags);
   16767 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16768 void    __ovld __conv sub_group_barrier(cl_mem_fence_flags flags, memory_scope scope);
   16769 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16770 
   16771 int     __ovld __conv sub_group_all(int predicate);
   16772 int     __ovld __conv sub_group_any(int predicate);
   16773 
   16774 int     __ovld __conv sub_group_broadcast(int   x, uint sub_group_local_id);
   16775 uint    __ovld __conv sub_group_broadcast(uint  x, uint sub_group_local_id);
   16776 long    __ovld __conv sub_group_broadcast(long  x, uint sub_group_local_id);
   16777 ulong   __ovld __conv sub_group_broadcast(ulong x, uint sub_group_local_id);
   16778 float   __ovld __conv sub_group_broadcast(float x, uint sub_group_local_id);
   16779 
   16780 int     __ovld __conv sub_group_reduce_add(int   x);
   16781 uint    __ovld __conv sub_group_reduce_add(uint  x);
   16782 long    __ovld __conv sub_group_reduce_add(long  x);
   16783 ulong   __ovld __conv sub_group_reduce_add(ulong x);
   16784 float   __ovld __conv sub_group_reduce_add(float x);
   16785 int     __ovld __conv sub_group_reduce_min(int   x);
   16786 uint    __ovld __conv sub_group_reduce_min(uint  x);
   16787 long    __ovld __conv sub_group_reduce_min(long  x);
   16788 ulong   __ovld __conv sub_group_reduce_min(ulong x);
   16789 float   __ovld __conv sub_group_reduce_min(float x);
   16790 int     __ovld __conv sub_group_reduce_max(int   x);
   16791 uint    __ovld __conv sub_group_reduce_max(uint  x);
   16792 long    __ovld __conv sub_group_reduce_max(long  x);
   16793 ulong   __ovld __conv sub_group_reduce_max(ulong x);
   16794 float   __ovld __conv sub_group_reduce_max(float x);
   16795 
   16796 int     __ovld __conv sub_group_scan_exclusive_add(int   x);
   16797 uint    __ovld __conv sub_group_scan_exclusive_add(uint  x);
   16798 long    __ovld __conv sub_group_scan_exclusive_add(long  x);
   16799 ulong   __ovld __conv sub_group_scan_exclusive_add(ulong x);
   16800 float   __ovld __conv sub_group_scan_exclusive_add(float x);
   16801 int     __ovld __conv sub_group_scan_exclusive_min(int   x);
   16802 uint    __ovld __conv sub_group_scan_exclusive_min(uint  x);
   16803 long    __ovld __conv sub_group_scan_exclusive_min(long  x);
   16804 ulong   __ovld __conv sub_group_scan_exclusive_min(ulong x);
   16805 float   __ovld __conv sub_group_scan_exclusive_min(float x);
   16806 int     __ovld __conv sub_group_scan_exclusive_max(int   x);
   16807 uint    __ovld __conv sub_group_scan_exclusive_max(uint  x);
   16808 long    __ovld __conv sub_group_scan_exclusive_max(long  x);
   16809 ulong   __ovld __conv sub_group_scan_exclusive_max(ulong x);
   16810 float   __ovld __conv sub_group_scan_exclusive_max(float x);
   16811 
   16812 int     __ovld __conv sub_group_scan_inclusive_add(int   x);
   16813 uint    __ovld __conv sub_group_scan_inclusive_add(uint  x);
   16814 long    __ovld __conv sub_group_scan_inclusive_add(long  x);
   16815 ulong   __ovld __conv sub_group_scan_inclusive_add(ulong x);
   16816 float   __ovld __conv sub_group_scan_inclusive_add(float x);
   16817 int     __ovld __conv sub_group_scan_inclusive_min(int   x);
   16818 uint    __ovld __conv sub_group_scan_inclusive_min(uint  x);
   16819 long    __ovld __conv sub_group_scan_inclusive_min(long  x);
   16820 ulong   __ovld __conv sub_group_scan_inclusive_min(ulong x);
   16821 float   __ovld __conv sub_group_scan_inclusive_min(float x);
   16822 int     __ovld __conv sub_group_scan_inclusive_max(int   x);
   16823 uint    __ovld __conv sub_group_scan_inclusive_max(uint  x);
   16824 long    __ovld __conv sub_group_scan_inclusive_max(long  x);
   16825 ulong   __ovld __conv sub_group_scan_inclusive_max(ulong x);
   16826 float   __ovld __conv sub_group_scan_inclusive_max(float x);
   16827 
   16828 #ifdef cl_khr_fp16
   16829 half    __ovld __conv sub_group_broadcast(half x, uint sub_group_local_id);
   16830 half    __ovld __conv sub_group_reduce_add(half x);
   16831 half    __ovld __conv sub_group_reduce_min(half x);
   16832 half    __ovld __conv sub_group_reduce_max(half x);
   16833 half    __ovld __conv sub_group_scan_exclusive_add(half x);
   16834 half    __ovld __conv sub_group_scan_exclusive_min(half x);
   16835 half    __ovld __conv sub_group_scan_exclusive_max(half x);
   16836 half    __ovld __conv sub_group_scan_inclusive_add(half x);
   16837 half    __ovld __conv sub_group_scan_inclusive_min(half x);
   16838 half    __ovld __conv sub_group_scan_inclusive_max(half x);
   16839 #endif //cl_khr_fp16
   16840 
   16841 #ifdef cl_khr_fp64
   16842 double  __ovld __conv sub_group_broadcast(double x, uint sub_group_local_id);
   16843 double  __ovld __conv sub_group_reduce_add(double x);
   16844 double  __ovld __conv sub_group_reduce_min(double x);
   16845 double  __ovld __conv sub_group_reduce_max(double x);
   16846 double  __ovld __conv sub_group_scan_exclusive_add(double x);
   16847 double  __ovld __conv sub_group_scan_exclusive_min(double x);
   16848 double  __ovld __conv sub_group_scan_exclusive_max(double x);
   16849 double  __ovld __conv sub_group_scan_inclusive_add(double x);
   16850 double  __ovld __conv sub_group_scan_inclusive_min(double x);
   16851 double  __ovld __conv sub_group_scan_inclusive_max(double x);
   16852 #endif //cl_khr_fp64
   16853 
   16854 #endif //cl_khr_subgroups cl_intel_subgroups
   16855 
   16856 #ifdef cl_amd_media_ops
   16857 uint __ovld amd_bitalign(uint a, uint b, uint c);
   16858 uint2 __ovld amd_bitalign(uint2 a, uint2 b, uint2 c);
   16859 uint3 __ovld amd_bitalign(uint3 a, uint3 b, uint3 c);
   16860 uint4 __ovld amd_bitalign(uint4 a, uint4 b, uint4 c);
   16861 uint8 __ovld amd_bitalign(uint8 a, uint8 b, uint8 c);
   16862 uint16 __ovld amd_bitalign(uint16 a, uint16 b, uint16 c);
   16863 
   16864 uint __ovld amd_bytealign(uint a, uint b, uint c);
   16865 uint2 __ovld amd_bytealign(uint2 a, uint2 b, uint2 c);
   16866 uint3 __ovld amd_bytealign(uint3 a, uint3 b, uint3 c);
   16867 uint4 __ovld amd_bytealign(uint4 a, uint4 b, uint4 c);
   16868 uint8 __ovld amd_bytealign(uint8 a, uint8 b, uint8 c);
   16869 uint16 __ovld amd_bytealign(uint16 a, uint16 b, uint16 c);
   16870 
   16871 uint __ovld amd_lerp(uint a, uint b, uint c);
   16872 uint2 __ovld amd_lerp(uint2 a, uint2 b, uint2 c);
   16873 uint3 __ovld amd_lerp(uint3 a, uint3 b, uint3 c);
   16874 uint4 __ovld amd_lerp(uint4 a, uint4 b, uint4 c);
   16875 uint8 __ovld amd_lerp(uint8 a, uint8 b, uint8 c);
   16876 uint16 __ovld amd_lerp(uint16 a, uint16 b, uint16 c);
   16877 
   16878 uint __ovld amd_pack(float4 v);
   16879 
   16880 uint __ovld amd_sad4(uint4 x, uint4 y, uint z);
   16881 
   16882 uint __ovld amd_sadhi(uint a, uint b, uint c);
   16883 uint2 __ovld amd_sadhi(uint2 a, uint2 b, uint2 c);
   16884 uint3 __ovld amd_sadhi(uint3 a, uint3 b, uint3 c);
   16885 uint4 __ovld amd_sadhi(uint4 a, uint4 b, uint4 c);
   16886 uint8 __ovld amd_sadhi(uint8 a, uint8 b, uint8 c);
   16887 uint16 __ovld amd_sadhi(uint16 a, uint16 b, uint16 c);
   16888 
   16889 uint __ovld amd_sad(uint a, uint b, uint c);
   16890 uint2 __ovld amd_sad(uint2 a, uint2 b, uint2 c);
   16891 uint3 __ovld amd_sad(uint3 a, uint3 b, uint3 c);
   16892 uint4 __ovld amd_sad(uint4 a, uint4 b, uint4 c);
   16893 uint8 __ovld amd_sad(uint8 a, uint8 b, uint8 c);
   16894 uint16 __ovld amd_sad(uint16 a, uint16 b, uint16 c);
   16895 
   16896 float __ovld amd_unpack0(uint a);
   16897 float2 __ovld amd_unpack0(uint2 a);
   16898 float3 __ovld amd_unpack0(uint3 a);
   16899 float4 __ovld amd_unpack0(uint4 a);
   16900 float8 __ovld amd_unpack0(uint8 a);
   16901 float16 __ovld amd_unpack0(uint16 a);
   16902 
   16903 float __ovld amd_unpack1(uint a);
   16904 float2 __ovld amd_unpack1(uint2 a);
   16905 float3 __ovld amd_unpack1(uint3 a);
   16906 float4 __ovld amd_unpack1(uint4 a);
   16907 float8 __ovld amd_unpack1(uint8 a);
   16908 float16 __ovld amd_unpack1(uint16 a);
   16909 
   16910 float __ovld amd_unpack2(uint a);
   16911 float2 __ovld amd_unpack2(uint2 a);
   16912 float3 __ovld amd_unpack2(uint3 a);
   16913 float4 __ovld amd_unpack2(uint4 a);
   16914 float8 __ovld amd_unpack2(uint8 a);
   16915 float16 __ovld amd_unpack2(uint16 a);
   16916 
   16917 float __ovld amd_unpack3(uint a);
   16918 float2 __ovld amd_unpack3(uint2 a);
   16919 float3 __ovld amd_unpack3(uint3 a);
   16920 float4 __ovld amd_unpack3(uint4 a);
   16921 float8 __ovld amd_unpack3(uint8 a);
   16922 float16 __ovld amd_unpack3(uint16 a);
   16923 #endif // cl_amd_media_ops
   16924 
   16925 #ifdef cl_amd_media_ops2
   16926 int __ovld amd_bfe(int src0, uint src1, uint src2);
   16927 int2 __ovld amd_bfe(int2 src0, uint2 src1, uint2 src2);
   16928 int3 __ovld amd_bfe(int3 src0, uint3 src1, uint3 src2);
   16929 int4 __ovld amd_bfe(int4 src0, uint4 src1, uint4 src2);
   16930 int8 __ovld amd_bfe(int8 src0, uint8 src1, uint8 src2);
   16931 int16 __ovld amd_bfe(int16 src0, uint16 src1, uint16 src2);
   16932 
   16933 uint __ovld amd_bfe(uint src0, uint src1, uint src2);
   16934 uint2 __ovld amd_bfe(uint2 src0, uint2 src1, uint2 src2);
   16935 uint3 __ovld amd_bfe(uint3 src0, uint3 src1, uint3 src2);
   16936 uint4 __ovld amd_bfe(uint4 src0, uint4 src1, uint4 src2);
   16937 uint8 __ovld amd_bfe(uint8 src0, uint8 src1, uint8 src2);
   16938 uint16 __ovld amd_bfe(uint16 src0, uint16 src1, uint16 src2);
   16939 
   16940 uint __ovld amd_bfm(uint src0, uint src1);
   16941 uint2 __ovld amd_bfm(uint2 src0, uint2 src1);
   16942 uint3 __ovld amd_bfm(uint3 src0, uint3 src1);
   16943 uint4 __ovld amd_bfm(uint4 src0, uint4 src1);
   16944 uint8 __ovld amd_bfm(uint8 src0, uint8 src1);
   16945 uint16 __ovld amd_bfm(uint16 src0, uint16 src1);
   16946 
   16947 float __ovld amd_max3(float src0, float src1, float src2);
   16948 float2 __ovld amd_max3(float2 src0, float2 src1, float2 src2);
   16949 float3 __ovld amd_max3(float3 src0, float3 src1, float3 src2);
   16950 float4 __ovld amd_max3(float4 src0, float4 src1, float4 src2);
   16951 float8 __ovld amd_max3(float8 src0, float8 src1, float8 src2);
   16952 float16 __ovld amd_max3(float16 src0, float16 src1, float16 src2);
   16953 
   16954 int __ovld amd_max3(int src0, int src1, int src2);
   16955 int2 __ovld amd_max3(int2 src0, int2 src1, int2 src2);
   16956 int3 __ovld amd_max3(int3 src0, int3 src1, int3 src2);
   16957 int4 __ovld amd_max3(int4 src0, int4 src1, int4 src2);
   16958 int8 __ovld amd_max3(int8 src0, int8 src1, int8 src2);
   16959 int16 __ovld amd_max3(int16 src0, int16 src1, int16 src2);
   16960 
   16961 uint __ovld amd_max3(uint src0, uint src1, uint src2);
   16962 uint2 __ovld amd_max3(uint2 src0, uint2 src1, uint2 src2);
   16963 uint3 __ovld amd_max3(uint3 src0, uint3 src1, uint3 src2);
   16964 uint4 __ovld amd_max3(uint4 src0, uint4 src1, uint4 src2);
   16965 uint8 __ovld amd_max3(uint8 src0, uint8 src1, uint8 src2);
   16966 uint16 __ovld amd_max3(uint16 src0, uint16 src1, uint16 src2);
   16967 
   16968 float __ovld amd_median3(float src0, float src1, float src2);
   16969 float2 __ovld amd_median3(float2 src0, float2 src1, float2 src2);
   16970 float3 __ovld amd_median3(float3 src0, float3 src1, float3 src2);
   16971 float4 __ovld amd_median3(float4 src0, float4 src1, float4 src2);
   16972 float8 __ovld amd_median3(float8 src0, float8 src1, float8 src2);
   16973 float16 __ovld amd_median3(float16 src0, float16 src1, float16 src2);
   16974 
   16975 int __ovld amd_median3(int src0, int src1, int src2);
   16976 int2 __ovld amd_median3(int2 src0, int2 src1, int2 src2);
   16977 int3 __ovld amd_median3(int3 src0, int3 src1, int3 src2);
   16978 int4 __ovld amd_median3(int4 src0, int4 src1, int4 src2);
   16979 int8 __ovld amd_median3(int8 src0, int8 src1, int8 src2);
   16980 int16 __ovld amd_median3(int16 src0, int16 src1, int16 src2);
   16981 
   16982 uint __ovld amd_median3(uint src0, uint src1, uint src2);
   16983 uint2 __ovld amd_median3(uint2 src0, uint2 src1, uint2 src2);
   16984 uint3 __ovld amd_median3(uint3 src0, uint3 src1, uint3 src2);
   16985 uint4 __ovld amd_median3(uint4 src0, uint4 src1, uint4 src2);
   16986 uint8 __ovld amd_median3(uint8 src0, uint8 src1, uint8 src2);
   16987 uint16 __ovld amd_median3(uint16 src0, uint16 src1, uint16 src2);
   16988 
   16989 float __ovld amd_min3(float src0, float src1, float src);
   16990 float2 __ovld amd_min3(float2 src0, float2 src1, float2 src);
   16991 float3 __ovld amd_min3(float3 src0, float3 src1, float3 src);
   16992 float4 __ovld amd_min3(float4 src0, float4 src1, float4 src);
   16993 float8 __ovld amd_min3(float8 src0, float8 src1, float8 src);
   16994 float16 __ovld amd_min3(float16 src0, float16 src1, float16 src);
   16995 
   16996 int __ovld amd_min3(int src0, int src1, int src2);
   16997 int2 __ovld amd_min3(int2 src0, int2 src1, int2 src2);
   16998 int3 __ovld amd_min3(int3 src0, int3 src1, int3 src2);
   16999 int4 __ovld amd_min3(int4 src0, int4 src1, int4 src2);
   17000 int8 __ovld amd_min3(int8 src0, int8 src1, int8 src2);
   17001 int16 __ovld amd_min3(int16 src0, int16 src1, int16 src2);
   17002 
   17003 uint __ovld amd_min3(uint src0, uint src1, uint src2);
   17004 uint2 __ovld amd_min3(uint2 src0, uint2 src1, uint2 src2);
   17005 uint3 __ovld amd_min3(uint3 src0, uint3 src1, uint3 src2);
   17006 uint4 __ovld amd_min3(uint4 src0, uint4 src1, uint4 src2);
   17007 uint8 __ovld amd_min3(uint8 src0, uint8 src1, uint8 src2);
   17008 uint16 __ovld amd_min3(uint16 src0, uint16 src1, uint16 src2);
   17009 
   17010 ulong __ovld amd_mqsad(ulong src0, uint src1, ulong src2);
   17011 ulong2 __ovld amd_mqsad(ulong2 src0, uint2 src1, ulong2 src2);
   17012 ulong3 __ovld amd_mqsad(ulong3 src0, uint3 src1, ulong3 src2);
   17013 ulong4 __ovld amd_mqsad(ulong4 src0, uint4 src1, ulong4 src2);
   17014 ulong8 __ovld amd_mqsad(ulong8 src0, uint8 src1, ulong8 src2);
   17015 ulong16 __ovld amd_mqsad(ulong16 src0, uint16 src1, ulong16 src2);
   17016 
   17017 ulong __ovld amd_qsad(ulong src0, uint src1, ulong src2);
   17018 ulong2 __ovld amd_qsad(ulong2 src0, uint2 src1, ulong2 src2);
   17019 ulong3 __ovld amd_qsad(ulong3 src0, uint3 src1, ulong3 src2);
   17020 ulong4 __ovld amd_qsad(ulong4 src0, uint4 src1, ulong4 src2);
   17021 ulong8 __ovld amd_qsad(ulong8 src0, uint8 src1, ulong8 src2);
   17022 ulong16 __ovld amd_qsad(ulong16 src0, uint16 src1, ulong16 src2);
   17023 
   17024 uint __ovld amd_msad(uint src0, uint src1, uint src2);
   17025 uint2 __ovld amd_msad(uint2 src0, uint2 src1, uint2 src2);
   17026 uint3 __ovld amd_msad(uint3 src0, uint3 src1, uint3 src2);
   17027 uint4 __ovld amd_msad(uint4 src0, uint4 src1, uint4 src2);
   17028 uint8 __ovld amd_msad(uint8 src0, uint8 src1, uint8 src2);
   17029 uint16 __ovld amd_msad(uint16 src0, uint16 src1, uint16 src2);
   17030 
   17031 uint __ovld amd_sadd(uint src0, uint src1, uint src2);
   17032 uint2 __ovld amd_sadd(uint2 src0, uint2 src1, uint2 src2);
   17033 uint3 __ovld amd_sadd(uint3 src0, uint3 src1, uint3 src2);
   17034 uint4 __ovld amd_sadd(uint4 src0, uint4 src1, uint4 src2);
   17035 uint8 __ovld amd_sadd(uint8 src0, uint8 src1, uint8 src2);
   17036 uint16 __ovld amd_sadd(uint16 src0, uint16 src1, uint16 src2);
   17037 
   17038 uint __ovld amd_sadw(uint src0, uint src1, uint src2);
   17039 uint2 __ovld amd_sadw(uint2 src0, uint2 src1, uint2 src2);
   17040 uint3 __ovld amd_sadw(uint3 src0, uint3 src1, uint3 src2);
   17041 uint4 __ovld amd_sadw(uint4 src0, uint4 src1, uint4 src2);
   17042 uint8 __ovld amd_sadw(uint8 src0, uint8 src1, uint8 src2);
   17043 uint16 __ovld amd_sadw(uint16 src0, uint16 src1, uint16 src2);
   17044 #endif // cl_amd_media_ops2
   17045 
   17046 // Disable any extensions we may have enabled previously.
   17047 #pragma OPENCL EXTENSION all : disable
   17048 
   17049 #undef __cnfn
   17050 #undef __ovld
   17051 #endif //_OPENCL_H_
   17052