Home | History | Annotate | Download | only in clang-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 
     21 // Optimizations
     22 #define __purefn __attribute__((pure))
     23 #define __cnfn __attribute__((const))
     24 
     25 // built-in scalar data types:
     26 
     27 /**
     28  * An unsigned 8-bit integer.
     29  */
     30 typedef unsigned char uchar;
     31 
     32 /**
     33  * An unsigned 16-bit integer.
     34  */
     35 typedef unsigned short ushort;
     36 
     37 /**
     38  * An unsigned 32-bit integer.
     39  */
     40 typedef unsigned int uint;
     41 
     42 /**
     43  * An unsigned 64-bit integer.
     44  */
     45 typedef unsigned long ulong;
     46 
     47 /**
     48  * The unsigned integer type of the result of the sizeof operator. This
     49  * is a 32-bit unsigned integer if CL_DEVICE_ADDRESS_BITS
     50  * defined in table 4.3 is 32-bits and is a 64-bit unsigned integer if
     51  * CL_DEVICE_ADDRESS_BITS is 64-bits.
     52  */
     53 typedef __SIZE_TYPE__ size_t;
     54 
     55 /**
     56  * A signed integer type that is the result of subtracting two pointers.
     57  * This is a 32-bit signed integer if CL_DEVICE_ADDRESS_BITS
     58  * defined in table 4.3 is 32-bits and is a 64-bit signed integer if
     59  * CL_DEVICE_ADDRESS_BITS is 64-bits.
     60  */
     61 typedef __PTRDIFF_TYPE__ ptrdiff_t;
     62 
     63 /**
     64 * A signed integer type with the property that any valid pointer to
     65 * void can be converted to this type, then converted back to pointer
     66 * to void, and the result will compare equal to the original pointer.
     67 */
     68 typedef __INTPTR_TYPE__ intptr_t;
     69 
     70 /**
     71 * An unsigned integer type with the property that any valid pointer to
     72 * void can be converted to this type, then converted back to pointer
     73 * to void, and the result will compare equal to the original pointer.
     74 */
     75 typedef __UINTPTR_TYPE__ uintptr_t;
     76 
     77 // built-in vector data types:
     78 typedef char char2 __attribute__((ext_vector_type(2)));
     79 typedef char char3 __attribute__((ext_vector_type(3)));
     80 typedef char char4 __attribute__((ext_vector_type(4)));
     81 typedef char char8 __attribute__((ext_vector_type(8)));
     82 typedef char char16 __attribute__((ext_vector_type(16)));
     83 typedef uchar uchar2 __attribute__((ext_vector_type(2)));
     84 typedef uchar uchar3 __attribute__((ext_vector_type(3)));
     85 typedef uchar uchar4 __attribute__((ext_vector_type(4)));
     86 typedef uchar uchar8 __attribute__((ext_vector_type(8)));
     87 typedef uchar uchar16 __attribute__((ext_vector_type(16)));
     88 typedef short short2 __attribute__((ext_vector_type(2)));
     89 typedef short short3 __attribute__((ext_vector_type(3)));
     90 typedef short short4 __attribute__((ext_vector_type(4)));
     91 typedef short short8 __attribute__((ext_vector_type(8)));
     92 typedef short short16 __attribute__((ext_vector_type(16)));
     93 typedef ushort ushort2 __attribute__((ext_vector_type(2)));
     94 typedef ushort ushort3 __attribute__((ext_vector_type(3)));
     95 typedef ushort ushort4 __attribute__((ext_vector_type(4)));
     96 typedef ushort ushort8 __attribute__((ext_vector_type(8)));
     97 typedef ushort ushort16 __attribute__((ext_vector_type(16)));
     98 typedef int int2 __attribute__((ext_vector_type(2)));
     99 typedef int int3 __attribute__((ext_vector_type(3)));
    100 typedef int int4 __attribute__((ext_vector_type(4)));
    101 typedef int int8 __attribute__((ext_vector_type(8)));
    102 typedef int int16 __attribute__((ext_vector_type(16)));
    103 typedef uint uint2 __attribute__((ext_vector_type(2)));
    104 typedef uint uint3 __attribute__((ext_vector_type(3)));
    105 typedef uint uint4 __attribute__((ext_vector_type(4)));
    106 typedef uint uint8 __attribute__((ext_vector_type(8)));
    107 typedef uint uint16 __attribute__((ext_vector_type(16)));
    108 typedef long long2 __attribute__((ext_vector_type(2)));
    109 typedef long long3 __attribute__((ext_vector_type(3)));
    110 typedef long long4 __attribute__((ext_vector_type(4)));
    111 typedef long long8 __attribute__((ext_vector_type(8)));
    112 typedef long long16 __attribute__((ext_vector_type(16)));
    113 typedef ulong ulong2 __attribute__((ext_vector_type(2)));
    114 typedef ulong ulong3 __attribute__((ext_vector_type(3)));
    115 typedef ulong ulong4 __attribute__((ext_vector_type(4)));
    116 typedef ulong ulong8 __attribute__((ext_vector_type(8)));
    117 typedef ulong ulong16 __attribute__((ext_vector_type(16)));
    118 typedef float float2 __attribute__((ext_vector_type(2)));
    119 typedef float float3 __attribute__((ext_vector_type(3)));
    120 typedef float float4 __attribute__((ext_vector_type(4)));
    121 typedef float float8 __attribute__((ext_vector_type(8)));
    122 typedef float float16 __attribute__((ext_vector_type(16)));
    123 #ifdef cl_khr_fp16
    124 #pragma OPENCL EXTENSION cl_khr_fp16 : enable
    125 typedef half half2 __attribute__((ext_vector_type(2)));
    126 typedef half half3 __attribute__((ext_vector_type(3)));
    127 typedef half half4 __attribute__((ext_vector_type(4)));
    128 typedef half half8 __attribute__((ext_vector_type(8)));
    129 typedef half half16 __attribute__((ext_vector_type(16)));
    130 #endif
    131 #ifdef cl_khr_fp64
    132 #if __OPENCL_C_VERSION__ < CL_VERSION_1_2
    133 #pragma OPENCL EXTENSION cl_khr_fp64 : enable
    134 #endif
    135 typedef double double2 __attribute__((ext_vector_type(2)));
    136 typedef double double3 __attribute__((ext_vector_type(3)));
    137 typedef double double4 __attribute__((ext_vector_type(4)));
    138 typedef double double8 __attribute__((ext_vector_type(8)));
    139 typedef double double16 __attribute__((ext_vector_type(16)));
    140 #endif
    141 
    142 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
    143 #define NULL ((void*)0)
    144 #endif
    145 
    146 /**
    147  * Value of maximum non-infinite single-precision floating-point
    148  * number.
    149  */
    150 #define MAXFLOAT 0x1.fffffep127f
    151 
    152 /**
    153  * A positive float constant expression. HUGE_VALF evaluates
    154  * to +infinity. Used as an error value returned by the built-in
    155  * math functions.
    156  */
    157 #define HUGE_VALF (__builtin_huge_valf())
    158 
    159 /**
    160  * A positive double constant expression. HUGE_VAL evaluates
    161  * to +infinity. Used as an error value returned by the built-in
    162  * math functions.
    163  */
    164 #define HUGE_VAL (__builtin_huge_val())
    165 
    166 /**
    167  * A constant expression of type float representing positive or
    168  * unsigned infinity.
    169  */
    170 #define INFINITY (__builtin_inff())
    171 
    172 /**
    173  * A constant expression of type float representing a quiet NaN.
    174  */
    175 #define NAN as_float(INT_MAX)
    176 
    177 #define FP_ILOGB0    INT_MIN
    178 #define FP_ILOGBNAN    INT_MAX
    179 
    180 #define FLT_DIG 6
    181 #define FLT_MANT_DIG 24
    182 #define FLT_MAX_10_EXP +38
    183 #define FLT_MAX_EXP +128
    184 #define FLT_MIN_10_EXP -37
    185 #define FLT_MIN_EXP -125
    186 #define FLT_RADIX 2
    187 #define FLT_MAX 0x1.fffffep127f
    188 #define FLT_MIN 0x1.0p-126f
    189 #define FLT_EPSILON 0x1.0p-23f
    190 
    191 #define M_E_F         2.71828182845904523536028747135266250f
    192 #define M_LOG2E_F     1.44269504088896340735992468100189214f
    193 #define M_LOG10E_F    0.434294481903251827651128918916605082f
    194 #define M_LN2_F       0.693147180559945309417232121458176568f
    195 #define M_LN10_F      2.30258509299404568401799145468436421f
    196 #define M_PI_F        3.14159265358979323846264338327950288f
    197 #define M_PI_2_F      1.57079632679489661923132169163975144f
    198 #define M_PI_4_F      0.785398163397448309615660845819875721f
    199 #define M_1_PI_F      0.318309886183790671537767526745028724f
    200 #define M_2_PI_F      0.636619772367581343075535053490057448f
    201 #define M_2_SQRTPI_F  1.12837916709551257389615890312154517f
    202 #define M_SQRT2_F     1.41421356237309504880168872420969808f
    203 #define M_SQRT1_2_F   0.707106781186547524400844362104849039f
    204 
    205 #define DBL_DIG 15
    206 #define DBL_MANT_DIG 53
    207 #define DBL_MAX_10_EXP +308
    208 #define DBL_MAX_EXP +1024
    209 #define DBL_MIN_10_EXP -307
    210 #define DBL_MIN_EXP -1021
    211 #define DBL_RADIX 2
    212 #define DBL_MAX 0x1.fffffffffffffp1023
    213 #define DBL_MIN 0x1.0p-1022
    214 #define DBL_EPSILON 0x1.0p-52
    215 
    216 #define M_E           0x1.5bf0a8b145769p+1
    217 #define M_LOG2E       0x1.71547652b82fep+0
    218 #define M_LOG10E      0x1.bcb7b1526e50ep-2
    219 #define M_LN2         0x1.62e42fefa39efp-1
    220 #define M_LN10        0x1.26bb1bbb55516p+1
    221 #define M_PI          0x1.921fb54442d18p+1
    222 #define M_PI_2        0x1.921fb54442d18p+0
    223 #define M_PI_4        0x1.921fb54442d18p-1
    224 #define M_1_PI        0x1.45f306dc9c883p-2
    225 #define M_2_PI        0x1.45f306dc9c883p-1
    226 #define M_2_SQRTPI    0x1.20dd750429b6dp+0
    227 #define M_SQRT2       0x1.6a09e667f3bcdp+0
    228 #define M_SQRT1_2     0x1.6a09e667f3bcdp-1
    229 
    230 #ifdef cl_khr_fp16
    231 
    232 #define HALF_DIG 3
    233 #define HALF_MANT_DIG 11
    234 #define HALF_MAX_10_EXP +4
    235 #define HALF_MAX_EXP +16
    236 #define HALF_MIN_10_EXP -4
    237 #define HALF_MIN_EXP -13
    238 #define HALF_RADIX 2
    239 #define HALF_MAX ((0x1.ffcp15h))
    240 #define HALF_MIN ((0x1.0p-14h))
    241 #define HALF_EPSILON ((0x1.0p-10h))
    242 
    243 #define M_E_H         2.71828182845904523536028747135266250h
    244 #define M_LOG2E_H     1.44269504088896340735992468100189214h
    245 #define M_LOG10E_H    0.434294481903251827651128918916605082h
    246 #define M_LN2_H       0.693147180559945309417232121458176568h
    247 #define M_LN10_H      2.30258509299404568401799145468436421h
    248 #define M_PI_H        3.14159265358979323846264338327950288h
    249 #define M_PI_2_H      1.57079632679489661923132169163975144h
    250 #define M_PI_4_H      0.785398163397448309615660845819875721h
    251 #define M_1_PI_H      0.318309886183790671537767526745028724h
    252 #define M_2_PI_H      0.636619772367581343075535053490057448h
    253 #define M_2_SQRTPI_H  1.12837916709551257389615890312154517h
    254 #define M_SQRT2_H     1.41421356237309504880168872420969808h
    255 #define M_SQRT1_2_H   0.707106781186547524400844362104849039h
    256 
    257 #endif //cl_khr_fp16
    258 
    259 #define CHAR_BIT    8
    260 #define SCHAR_MAX  127
    261 #define SCHAR_MIN  (-128)
    262 #define UCHAR_MAX  255
    263 #define CHAR_MAX  SCHAR_MAX
    264 #define CHAR_MIN  SCHAR_MIN
    265 #define USHRT_MAX  65535
    266 #define SHRT_MAX  32767
    267 #define SHRT_MIN  (-32768)
    268 #define UINT_MAX  0xffffffff
    269 #define INT_MAX    2147483647
    270 #define INT_MIN    (-2147483647-1)
    271 #define ULONG_MAX  0xffffffffffffffffUL
    272 #define LONG_MAX  0x7fffffffffffffffL
    273 #define LONG_MIN  (-0x7fffffffffffffffL-1)
    274 
    275 // OpenCL v1.1/1.2/2.0 s6.2.3 - Explicit conversions
    276 
    277 char __ovld __cnfn convert_char_rte(char);
    278 char __ovld __cnfn convert_char_sat_rte(char);
    279 char __ovld __cnfn convert_char_rtz(char);
    280 char __ovld __cnfn convert_char_sat_rtz(char);
    281 char __ovld __cnfn convert_char_rtp(char);
    282 char __ovld __cnfn convert_char_sat_rtp(char);
    283 char __ovld __cnfn convert_char_rtn(char);
    284 char __ovld __cnfn convert_char_sat_rtn(char);
    285 char __ovld __cnfn convert_char(char);
    286 char __ovld __cnfn convert_char_sat(char);
    287 char __ovld __cnfn convert_char_rte(uchar);
    288 char __ovld __cnfn convert_char_sat_rte(uchar);
    289 char __ovld __cnfn convert_char_rtz(uchar);
    290 char __ovld __cnfn convert_char_sat_rtz(uchar);
    291 char __ovld __cnfn convert_char_rtp(uchar);
    292 char __ovld __cnfn convert_char_sat_rtp(uchar);
    293 char __ovld __cnfn convert_char_rtn(uchar);
    294 char __ovld __cnfn convert_char_sat_rtn(uchar);
    295 char __ovld __cnfn convert_char(uchar);
    296 char __ovld __cnfn convert_char_sat(uchar);
    297 char __ovld __cnfn convert_char_rte(short);
    298 char __ovld __cnfn convert_char_sat_rte(short);
    299 char __ovld __cnfn convert_char_rtz(short);
    300 char __ovld __cnfn convert_char_sat_rtz(short);
    301 char __ovld __cnfn convert_char_rtp(short);
    302 char __ovld __cnfn convert_char_sat_rtp(short);
    303 char __ovld __cnfn convert_char_rtn(short);
    304 char __ovld __cnfn convert_char_sat_rtn(short);
    305 char __ovld __cnfn convert_char(short);
    306 char __ovld __cnfn convert_char_sat(short);
    307 char __ovld __cnfn convert_char_rte(ushort);
    308 char __ovld __cnfn convert_char_sat_rte(ushort);
    309 char __ovld __cnfn convert_char_rtz(ushort);
    310 char __ovld __cnfn convert_char_sat_rtz(ushort);
    311 char __ovld __cnfn convert_char_rtp(ushort);
    312 char __ovld __cnfn convert_char_sat_rtp(ushort);
    313 char __ovld __cnfn convert_char_rtn(ushort);
    314 char __ovld __cnfn convert_char_sat_rtn(ushort);
    315 char __ovld __cnfn convert_char(ushort);
    316 char __ovld __cnfn convert_char_sat(ushort);
    317 char __ovld __cnfn convert_char_rte(int);
    318 char __ovld __cnfn convert_char_sat_rte(int);
    319 char __ovld __cnfn convert_char_rtz(int);
    320 char __ovld __cnfn convert_char_sat_rtz(int);
    321 char __ovld __cnfn convert_char_rtp(int);
    322 char __ovld __cnfn convert_char_sat_rtp(int);
    323 char __ovld __cnfn convert_char_rtn(int);
    324 char __ovld __cnfn convert_char_sat_rtn(int);
    325 char __ovld __cnfn convert_char(int);
    326 char __ovld __cnfn convert_char_sat(int);
    327 char __ovld __cnfn convert_char_rte(uint);
    328 char __ovld __cnfn convert_char_sat_rte(uint);
    329 char __ovld __cnfn convert_char_rtz(uint);
    330 char __ovld __cnfn convert_char_sat_rtz(uint);
    331 char __ovld __cnfn convert_char_rtp(uint);
    332 char __ovld __cnfn convert_char_sat_rtp(uint);
    333 char __ovld __cnfn convert_char_rtn(uint);
    334 char __ovld __cnfn convert_char_sat_rtn(uint);
    335 char __ovld __cnfn convert_char(uint);
    336 char __ovld __cnfn convert_char_sat(uint);
    337 char __ovld __cnfn convert_char_rte(long);
    338 char __ovld __cnfn convert_char_sat_rte(long);
    339 char __ovld __cnfn convert_char_rtz(long);
    340 char __ovld __cnfn convert_char_sat_rtz(long);
    341 char __ovld __cnfn convert_char_rtp(long);
    342 char __ovld __cnfn convert_char_sat_rtp(long);
    343 char __ovld __cnfn convert_char_rtn(long);
    344 char __ovld __cnfn convert_char_sat_rtn(long);
    345 char __ovld __cnfn convert_char(long);
    346 char __ovld __cnfn convert_char_sat(long);
    347 char __ovld __cnfn convert_char_rte(ulong);
    348 char __ovld __cnfn convert_char_sat_rte(ulong);
    349 char __ovld __cnfn convert_char_rtz(ulong);
    350 char __ovld __cnfn convert_char_sat_rtz(ulong);
    351 char __ovld __cnfn convert_char_rtp(ulong);
    352 char __ovld __cnfn convert_char_sat_rtp(ulong);
    353 char __ovld __cnfn convert_char_rtn(ulong);
    354 char __ovld __cnfn convert_char_sat_rtn(ulong);
    355 char __ovld __cnfn convert_char(ulong);
    356 char __ovld __cnfn convert_char_sat(ulong);
    357 char __ovld __cnfn convert_char_rte(float);
    358 char __ovld __cnfn convert_char_sat_rte(float);
    359 char __ovld __cnfn convert_char_rtz(float);
    360 char __ovld __cnfn convert_char_sat_rtz(float);
    361 char __ovld __cnfn convert_char_rtp(float);
    362 char __ovld __cnfn convert_char_sat_rtp(float);
    363 char __ovld __cnfn convert_char_rtn(float);
    364 char __ovld __cnfn convert_char_sat_rtn(float);
    365 char __ovld __cnfn convert_char(float);
    366 char __ovld __cnfn convert_char_sat(float);
    367 uchar __ovld __cnfn convert_uchar_rte(char);
    368 uchar __ovld __cnfn convert_uchar_sat_rte(char);
    369 uchar __ovld __cnfn convert_uchar_rtz(char);
    370 uchar __ovld __cnfn convert_uchar_sat_rtz(char);
    371 uchar __ovld __cnfn convert_uchar_rtp(char);
    372 uchar __ovld __cnfn convert_uchar_sat_rtp(char);
    373 uchar __ovld __cnfn convert_uchar_rtn(char);
    374 uchar __ovld __cnfn convert_uchar_sat_rtn(char);
    375 uchar __ovld __cnfn convert_uchar(char);
    376 uchar __ovld __cnfn convert_uchar_sat(char);
    377 uchar __ovld __cnfn convert_uchar_rte(uchar);
    378 uchar __ovld __cnfn convert_uchar_sat_rte(uchar);
    379 uchar __ovld __cnfn convert_uchar_rtz(uchar);
    380 uchar __ovld __cnfn convert_uchar_sat_rtz(uchar);
    381 uchar __ovld __cnfn convert_uchar_rtp(uchar);
    382 uchar __ovld __cnfn convert_uchar_sat_rtp(uchar);
    383 uchar __ovld __cnfn convert_uchar_rtn(uchar);
    384 uchar __ovld __cnfn convert_uchar_sat_rtn(uchar);
    385 uchar __ovld __cnfn convert_uchar(uchar);
    386 uchar __ovld __cnfn convert_uchar_sat(uchar);
    387 uchar __ovld __cnfn convert_uchar_rte(short);
    388 uchar __ovld __cnfn convert_uchar_sat_rte(short);
    389 uchar __ovld __cnfn convert_uchar_rtz(short);
    390 uchar __ovld __cnfn convert_uchar_sat_rtz(short);
    391 uchar __ovld __cnfn convert_uchar_rtp(short);
    392 uchar __ovld __cnfn convert_uchar_sat_rtp(short);
    393 uchar __ovld __cnfn convert_uchar_rtn(short);
    394 uchar __ovld __cnfn convert_uchar_sat_rtn(short);
    395 uchar __ovld __cnfn convert_uchar(short);
    396 uchar __ovld __cnfn convert_uchar_sat(short);
    397 uchar __ovld __cnfn convert_uchar_rte(ushort);
    398 uchar __ovld __cnfn convert_uchar_sat_rte(ushort);
    399 uchar __ovld __cnfn convert_uchar_rtz(ushort);
    400 uchar __ovld __cnfn convert_uchar_sat_rtz(ushort);
    401 uchar __ovld __cnfn convert_uchar_rtp(ushort);
    402 uchar __ovld __cnfn convert_uchar_sat_rtp(ushort);
    403 uchar __ovld __cnfn convert_uchar_rtn(ushort);
    404 uchar __ovld __cnfn convert_uchar_sat_rtn(ushort);
    405 uchar __ovld __cnfn convert_uchar(ushort);
    406 uchar __ovld __cnfn convert_uchar_sat(ushort);
    407 uchar __ovld __cnfn convert_uchar_rte(int);
    408 uchar __ovld __cnfn convert_uchar_sat_rte(int);
    409 uchar __ovld __cnfn convert_uchar_rtz(int);
    410 uchar __ovld __cnfn convert_uchar_sat_rtz(int);
    411 uchar __ovld __cnfn convert_uchar_rtp(int);
    412 uchar __ovld __cnfn convert_uchar_sat_rtp(int);
    413 uchar __ovld __cnfn convert_uchar_rtn(int);
    414 uchar __ovld __cnfn convert_uchar_sat_rtn(int);
    415 uchar __ovld __cnfn convert_uchar(int);
    416 uchar __ovld __cnfn convert_uchar_sat(int);
    417 uchar __ovld __cnfn convert_uchar_rte(uint);
    418 uchar __ovld __cnfn convert_uchar_sat_rte(uint);
    419 uchar __ovld __cnfn convert_uchar_rtz(uint);
    420 uchar __ovld __cnfn convert_uchar_sat_rtz(uint);
    421 uchar __ovld __cnfn convert_uchar_rtp(uint);
    422 uchar __ovld __cnfn convert_uchar_sat_rtp(uint);
    423 uchar __ovld __cnfn convert_uchar_rtn(uint);
    424 uchar __ovld __cnfn convert_uchar_sat_rtn(uint);
    425 uchar __ovld __cnfn convert_uchar(uint);
    426 uchar __ovld __cnfn convert_uchar_sat(uint);
    427 uchar __ovld __cnfn convert_uchar_rte(long);
    428 uchar __ovld __cnfn convert_uchar_sat_rte(long);
    429 uchar __ovld __cnfn convert_uchar_rtz(long);
    430 uchar __ovld __cnfn convert_uchar_sat_rtz(long);
    431 uchar __ovld __cnfn convert_uchar_rtp(long);
    432 uchar __ovld __cnfn convert_uchar_sat_rtp(long);
    433 uchar __ovld __cnfn convert_uchar_rtn(long);
    434 uchar __ovld __cnfn convert_uchar_sat_rtn(long);
    435 uchar __ovld __cnfn convert_uchar(long);
    436 uchar __ovld __cnfn convert_uchar_sat(long);
    437 uchar __ovld __cnfn convert_uchar_rte(ulong);
    438 uchar __ovld __cnfn convert_uchar_sat_rte(ulong);
    439 uchar __ovld __cnfn convert_uchar_rtz(ulong);
    440 uchar __ovld __cnfn convert_uchar_sat_rtz(ulong);
    441 uchar __ovld __cnfn convert_uchar_rtp(ulong);
    442 uchar __ovld __cnfn convert_uchar_sat_rtp(ulong);
    443 uchar __ovld __cnfn convert_uchar_rtn(ulong);
    444 uchar __ovld __cnfn convert_uchar_sat_rtn(ulong);
    445 uchar __ovld __cnfn convert_uchar(ulong);
    446 uchar __ovld __cnfn convert_uchar_sat(ulong);
    447 uchar __ovld __cnfn convert_uchar_rte(float);
    448 uchar __ovld __cnfn convert_uchar_sat_rte(float);
    449 uchar __ovld __cnfn convert_uchar_rtz(float);
    450 uchar __ovld __cnfn convert_uchar_sat_rtz(float);
    451 uchar __ovld __cnfn convert_uchar_rtp(float);
    452 uchar __ovld __cnfn convert_uchar_sat_rtp(float);
    453 uchar __ovld __cnfn convert_uchar_rtn(float);
    454 uchar __ovld __cnfn convert_uchar_sat_rtn(float);
    455 uchar __ovld __cnfn convert_uchar(float);
    456 uchar __ovld __cnfn convert_uchar_sat(float);
    457 
    458 short __ovld __cnfn convert_short_rte(char);
    459 short __ovld __cnfn convert_short_sat_rte(char);
    460 short __ovld __cnfn convert_short_rtz(char);
    461 short __ovld __cnfn convert_short_sat_rtz(char);
    462 short __ovld __cnfn convert_short_rtp(char);
    463 short __ovld __cnfn convert_short_sat_rtp(char);
    464 short __ovld __cnfn convert_short_rtn(char);
    465 short __ovld __cnfn convert_short_sat_rtn(char);
    466 short __ovld __cnfn convert_short(char);
    467 short __ovld __cnfn convert_short_sat(char);
    468 short __ovld __cnfn convert_short_rte(uchar);
    469 short __ovld __cnfn convert_short_sat_rte(uchar);
    470 short __ovld __cnfn convert_short_rtz(uchar);
    471 short __ovld __cnfn convert_short_sat_rtz(uchar);
    472 short __ovld __cnfn convert_short_rtp(uchar);
    473 short __ovld __cnfn convert_short_sat_rtp(uchar);
    474 short __ovld __cnfn convert_short_rtn(uchar);
    475 short __ovld __cnfn convert_short_sat_rtn(uchar);
    476 short __ovld __cnfn convert_short(uchar);
    477 short __ovld __cnfn convert_short_sat(uchar);
    478 short __ovld __cnfn convert_short_rte(short);
    479 short __ovld __cnfn convert_short_sat_rte(short);
    480 short __ovld __cnfn convert_short_rtz(short);
    481 short __ovld __cnfn convert_short_sat_rtz(short);
    482 short __ovld __cnfn convert_short_rtp(short);
    483 short __ovld __cnfn convert_short_sat_rtp(short);
    484 short __ovld __cnfn convert_short_rtn(short);
    485 short __ovld __cnfn convert_short_sat_rtn(short);
    486 short __ovld __cnfn convert_short(short);
    487 short __ovld __cnfn convert_short_sat(short);
    488 short __ovld __cnfn convert_short_rte(ushort);
    489 short __ovld __cnfn convert_short_sat_rte(ushort);
    490 short __ovld __cnfn convert_short_rtz(ushort);
    491 short __ovld __cnfn convert_short_sat_rtz(ushort);
    492 short __ovld __cnfn convert_short_rtp(ushort);
    493 short __ovld __cnfn convert_short_sat_rtp(ushort);
    494 short __ovld __cnfn convert_short_rtn(ushort);
    495 short __ovld __cnfn convert_short_sat_rtn(ushort);
    496 short __ovld __cnfn convert_short(ushort);
    497 short __ovld __cnfn convert_short_sat(ushort);
    498 short __ovld __cnfn convert_short_rte(int);
    499 short __ovld __cnfn convert_short_sat_rte(int);
    500 short __ovld __cnfn convert_short_rtz(int);
    501 short __ovld __cnfn convert_short_sat_rtz(int);
    502 short __ovld __cnfn convert_short_rtp(int);
    503 short __ovld __cnfn convert_short_sat_rtp(int);
    504 short __ovld __cnfn convert_short_rtn(int);
    505 short __ovld __cnfn convert_short_sat_rtn(int);
    506 short __ovld __cnfn convert_short(int);
    507 short __ovld __cnfn convert_short_sat(int);
    508 short __ovld __cnfn convert_short_rte(uint);
    509 short __ovld __cnfn convert_short_sat_rte(uint);
    510 short __ovld __cnfn convert_short_rtz(uint);
    511 short __ovld __cnfn convert_short_sat_rtz(uint);
    512 short __ovld __cnfn convert_short_rtp(uint);
    513 short __ovld __cnfn convert_short_sat_rtp(uint);
    514 short __ovld __cnfn convert_short_rtn(uint);
    515 short __ovld __cnfn convert_short_sat_rtn(uint);
    516 short __ovld __cnfn convert_short(uint);
    517 short __ovld __cnfn convert_short_sat(uint);
    518 short __ovld __cnfn convert_short_rte(long);
    519 short __ovld __cnfn convert_short_sat_rte(long);
    520 short __ovld __cnfn convert_short_rtz(long);
    521 short __ovld __cnfn convert_short_sat_rtz(long);
    522 short __ovld __cnfn convert_short_rtp(long);
    523 short __ovld __cnfn convert_short_sat_rtp(long);
    524 short __ovld __cnfn convert_short_rtn(long);
    525 short __ovld __cnfn convert_short_sat_rtn(long);
    526 short __ovld __cnfn convert_short(long);
    527 short __ovld __cnfn convert_short_sat(long);
    528 short __ovld __cnfn convert_short_rte(ulong);
    529 short __ovld __cnfn convert_short_sat_rte(ulong);
    530 short __ovld __cnfn convert_short_rtz(ulong);
    531 short __ovld __cnfn convert_short_sat_rtz(ulong);
    532 short __ovld __cnfn convert_short_rtp(ulong);
    533 short __ovld __cnfn convert_short_sat_rtp(ulong);
    534 short __ovld __cnfn convert_short_rtn(ulong);
    535 short __ovld __cnfn convert_short_sat_rtn(ulong);
    536 short __ovld __cnfn convert_short(ulong);
    537 short __ovld __cnfn convert_short_sat(ulong);
    538 short __ovld __cnfn convert_short_rte(float);
    539 short __ovld __cnfn convert_short_sat_rte(float);
    540 short __ovld __cnfn convert_short_rtz(float);
    541 short __ovld __cnfn convert_short_sat_rtz(float);
    542 short __ovld __cnfn convert_short_rtp(float);
    543 short __ovld __cnfn convert_short_sat_rtp(float);
    544 short __ovld __cnfn convert_short_rtn(float);
    545 short __ovld __cnfn convert_short_sat_rtn(float);
    546 short __ovld __cnfn convert_short(float);
    547 short __ovld __cnfn convert_short_sat(float);
    548 ushort __ovld __cnfn convert_ushort_rte(char);
    549 ushort __ovld __cnfn convert_ushort_sat_rte(char);
    550 ushort __ovld __cnfn convert_ushort_rtz(char);
    551 ushort __ovld __cnfn convert_ushort_sat_rtz(char);
    552 ushort __ovld __cnfn convert_ushort_rtp(char);
    553 ushort __ovld __cnfn convert_ushort_sat_rtp(char);
    554 ushort __ovld __cnfn convert_ushort_rtn(char);
    555 ushort __ovld __cnfn convert_ushort_sat_rtn(char);
    556 ushort __ovld __cnfn convert_ushort(char);
    557 ushort __ovld __cnfn convert_ushort_sat(char);
    558 ushort __ovld __cnfn convert_ushort_rte(uchar);
    559 ushort __ovld __cnfn convert_ushort_sat_rte(uchar);
    560 ushort __ovld __cnfn convert_ushort_rtz(uchar);
    561 ushort __ovld __cnfn convert_ushort_sat_rtz(uchar);
    562 ushort __ovld __cnfn convert_ushort_rtp(uchar);
    563 ushort __ovld __cnfn convert_ushort_sat_rtp(uchar);
    564 ushort __ovld __cnfn convert_ushort_rtn(uchar);
    565 ushort __ovld __cnfn convert_ushort_sat_rtn(uchar);
    566 ushort __ovld __cnfn convert_ushort(uchar);
    567 ushort __ovld __cnfn convert_ushort_sat(uchar);
    568 ushort __ovld __cnfn convert_ushort_rte(short);
    569 ushort __ovld __cnfn convert_ushort_sat_rte(short);
    570 ushort __ovld __cnfn convert_ushort_rtz(short);
    571 ushort __ovld __cnfn convert_ushort_sat_rtz(short);
    572 ushort __ovld __cnfn convert_ushort_rtp(short);
    573 ushort __ovld __cnfn convert_ushort_sat_rtp(short);
    574 ushort __ovld __cnfn convert_ushort_rtn(short);
    575 ushort __ovld __cnfn convert_ushort_sat_rtn(short);
    576 ushort __ovld __cnfn convert_ushort(short);
    577 ushort __ovld __cnfn convert_ushort_sat(short);
    578 ushort __ovld __cnfn convert_ushort_rte(ushort);
    579 ushort __ovld __cnfn convert_ushort_sat_rte(ushort);
    580 ushort __ovld __cnfn convert_ushort_rtz(ushort);
    581 ushort __ovld __cnfn convert_ushort_sat_rtz(ushort);
    582 ushort __ovld __cnfn convert_ushort_rtp(ushort);
    583 ushort __ovld __cnfn convert_ushort_sat_rtp(ushort);
    584 ushort __ovld __cnfn convert_ushort_rtn(ushort);
    585 ushort __ovld __cnfn convert_ushort_sat_rtn(ushort);
    586 ushort __ovld __cnfn convert_ushort(ushort);
    587 ushort __ovld __cnfn convert_ushort_sat(ushort);
    588 ushort __ovld __cnfn convert_ushort_rte(int);
    589 ushort __ovld __cnfn convert_ushort_sat_rte(int);
    590 ushort __ovld __cnfn convert_ushort_rtz(int);
    591 ushort __ovld __cnfn convert_ushort_sat_rtz(int);
    592 ushort __ovld __cnfn convert_ushort_rtp(int);
    593 ushort __ovld __cnfn convert_ushort_sat_rtp(int);
    594 ushort __ovld __cnfn convert_ushort_rtn(int);
    595 ushort __ovld __cnfn convert_ushort_sat_rtn(int);
    596 ushort __ovld __cnfn convert_ushort(int);
    597 ushort __ovld __cnfn convert_ushort_sat(int);
    598 ushort __ovld __cnfn convert_ushort_rte(uint);
    599 ushort __ovld __cnfn convert_ushort_sat_rte(uint);
    600 ushort __ovld __cnfn convert_ushort_rtz(uint);
    601 ushort __ovld __cnfn convert_ushort_sat_rtz(uint);
    602 ushort __ovld __cnfn convert_ushort_rtp(uint);
    603 ushort __ovld __cnfn convert_ushort_sat_rtp(uint);
    604 ushort __ovld __cnfn convert_ushort_rtn(uint);
    605 ushort __ovld __cnfn convert_ushort_sat_rtn(uint);
    606 ushort __ovld __cnfn convert_ushort(uint);
    607 ushort __ovld __cnfn convert_ushort_sat(uint);
    608 ushort __ovld __cnfn convert_ushort_rte(long);
    609 ushort __ovld __cnfn convert_ushort_sat_rte(long);
    610 ushort __ovld __cnfn convert_ushort_rtz(long);
    611 ushort __ovld __cnfn convert_ushort_sat_rtz(long);
    612 ushort __ovld __cnfn convert_ushort_rtp(long);
    613 ushort __ovld __cnfn convert_ushort_sat_rtp(long);
    614 ushort __ovld __cnfn convert_ushort_rtn(long);
    615 ushort __ovld __cnfn convert_ushort_sat_rtn(long);
    616 ushort __ovld __cnfn convert_ushort(long);
    617 ushort __ovld __cnfn convert_ushort_sat(long);
    618 ushort __ovld __cnfn convert_ushort_rte(ulong);
    619 ushort __ovld __cnfn convert_ushort_sat_rte(ulong);
    620 ushort __ovld __cnfn convert_ushort_rtz(ulong);
    621 ushort __ovld __cnfn convert_ushort_sat_rtz(ulong);
    622 ushort __ovld __cnfn convert_ushort_rtp(ulong);
    623 ushort __ovld __cnfn convert_ushort_sat_rtp(ulong);
    624 ushort __ovld __cnfn convert_ushort_rtn(ulong);
    625 ushort __ovld __cnfn convert_ushort_sat_rtn(ulong);
    626 ushort __ovld __cnfn convert_ushort(ulong);
    627 ushort __ovld __cnfn convert_ushort_sat(ulong);
    628 ushort __ovld __cnfn convert_ushort_rte(float);
    629 ushort __ovld __cnfn convert_ushort_sat_rte(float);
    630 ushort __ovld __cnfn convert_ushort_rtz(float);
    631 ushort __ovld __cnfn convert_ushort_sat_rtz(float);
    632 ushort __ovld __cnfn convert_ushort_rtp(float);
    633 ushort __ovld __cnfn convert_ushort_sat_rtp(float);
    634 ushort __ovld __cnfn convert_ushort_rtn(float);
    635 ushort __ovld __cnfn convert_ushort_sat_rtn(float);
    636 ushort __ovld __cnfn convert_ushort(float);
    637 ushort __ovld __cnfn convert_ushort_sat(float);
    638 int __ovld __cnfn convert_int_rte(char);
    639 int __ovld __cnfn convert_int_sat_rte(char);
    640 int __ovld __cnfn convert_int_rtz(char);
    641 int __ovld __cnfn convert_int_sat_rtz(char);
    642 int __ovld __cnfn convert_int_rtp(char);
    643 int __ovld __cnfn convert_int_sat_rtp(char);
    644 int __ovld __cnfn convert_int_rtn(char);
    645 int __ovld __cnfn convert_int_sat_rtn(char);
    646 int __ovld __cnfn convert_int(char);
    647 int __ovld __cnfn convert_int_sat(char);
    648 int __ovld __cnfn convert_int_rte(uchar);
    649 int __ovld __cnfn convert_int_sat_rte(uchar);
    650 int __ovld __cnfn convert_int_rtz(uchar);
    651 int __ovld __cnfn convert_int_sat_rtz(uchar);
    652 int __ovld __cnfn convert_int_rtp(uchar);
    653 int __ovld __cnfn convert_int_sat_rtp(uchar);
    654 int __ovld __cnfn convert_int_rtn(uchar);
    655 int __ovld __cnfn convert_int_sat_rtn(uchar);
    656 int __ovld __cnfn convert_int(uchar);
    657 int __ovld __cnfn convert_int_sat(uchar);
    658 int __ovld __cnfn convert_int_rte(short);
    659 int __ovld __cnfn convert_int_sat_rte(short);
    660 int __ovld __cnfn convert_int_rtz(short);
    661 int __ovld __cnfn convert_int_sat_rtz(short);
    662 int __ovld __cnfn convert_int_rtp(short);
    663 int __ovld __cnfn convert_int_sat_rtp(short);
    664 int __ovld __cnfn convert_int_rtn(short);
    665 int __ovld __cnfn convert_int_sat_rtn(short);
    666 int __ovld __cnfn convert_int(short);
    667 int __ovld __cnfn convert_int_sat(short);
    668 int __ovld __cnfn convert_int_rte(ushort);
    669 int __ovld __cnfn convert_int_sat_rte(ushort);
    670 int __ovld __cnfn convert_int_rtz(ushort);
    671 int __ovld __cnfn convert_int_sat_rtz(ushort);
    672 int __ovld __cnfn convert_int_rtp(ushort);
    673 int __ovld __cnfn convert_int_sat_rtp(ushort);
    674 int __ovld __cnfn convert_int_rtn(ushort);
    675 int __ovld __cnfn convert_int_sat_rtn(ushort);
    676 int __ovld __cnfn convert_int(ushort);
    677 int __ovld __cnfn convert_int_sat(ushort);
    678 int __ovld __cnfn convert_int_rte(int);
    679 int __ovld __cnfn convert_int_sat_rte(int);
    680 int __ovld __cnfn convert_int_rtz(int);
    681 int __ovld __cnfn convert_int_sat_rtz(int);
    682 int __ovld __cnfn convert_int_rtp(int);
    683 int __ovld __cnfn convert_int_sat_rtp(int);
    684 int __ovld __cnfn convert_int_rtn(int);
    685 int __ovld __cnfn convert_int_sat_rtn(int);
    686 int __ovld __cnfn convert_int(int);
    687 int __ovld __cnfn convert_int_sat(int);
    688 int __ovld __cnfn convert_int_rte(uint);
    689 int __ovld __cnfn convert_int_sat_rte(uint);
    690 int __ovld __cnfn convert_int_rtz(uint);
    691 int __ovld __cnfn convert_int_sat_rtz(uint);
    692 int __ovld __cnfn convert_int_rtp(uint);
    693 int __ovld __cnfn convert_int_sat_rtp(uint);
    694 int __ovld __cnfn convert_int_rtn(uint);
    695 int __ovld __cnfn convert_int_sat_rtn(uint);
    696 int __ovld __cnfn convert_int(uint);
    697 int __ovld __cnfn convert_int_sat(uint);
    698 int __ovld __cnfn convert_int_rte(long);
    699 int __ovld __cnfn convert_int_sat_rte(long);
    700 int __ovld __cnfn convert_int_rtz(long);
    701 int __ovld __cnfn convert_int_sat_rtz(long);
    702 int __ovld __cnfn convert_int_rtp(long);
    703 int __ovld __cnfn convert_int_sat_rtp(long);
    704 int __ovld __cnfn convert_int_rtn(long);
    705 int __ovld __cnfn convert_int_sat_rtn(long);
    706 int __ovld __cnfn convert_int(long);
    707 int __ovld __cnfn convert_int_sat(long);
    708 int __ovld __cnfn convert_int_rte(ulong);
    709 int __ovld __cnfn convert_int_sat_rte(ulong);
    710 int __ovld __cnfn convert_int_rtz(ulong);
    711 int __ovld __cnfn convert_int_sat_rtz(ulong);
    712 int __ovld __cnfn convert_int_rtp(ulong);
    713 int __ovld __cnfn convert_int_sat_rtp(ulong);
    714 int __ovld __cnfn convert_int_rtn(ulong);
    715 int __ovld __cnfn convert_int_sat_rtn(ulong);
    716 int __ovld __cnfn convert_int(ulong);
    717 int __ovld __cnfn convert_int_sat(ulong);
    718 int __ovld __cnfn convert_int_rte(float);
    719 int __ovld __cnfn convert_int_sat_rte(float);
    720 int __ovld __cnfn convert_int_rtz(float);
    721 int __ovld __cnfn convert_int_sat_rtz(float);
    722 int __ovld __cnfn convert_int_rtp(float);
    723 int __ovld __cnfn convert_int_sat_rtp(float);
    724 int __ovld __cnfn convert_int_rtn(float);
    725 int __ovld __cnfn convert_int_sat_rtn(float);
    726 int __ovld __cnfn convert_int(float);
    727 int __ovld __cnfn convert_int_sat(float);
    728 uint __ovld __cnfn convert_uint_rte(char);
    729 uint __ovld __cnfn convert_uint_sat_rte(char);
    730 uint __ovld __cnfn convert_uint_rtz(char);
    731 uint __ovld __cnfn convert_uint_sat_rtz(char);
    732 uint __ovld __cnfn convert_uint_rtp(char);
    733 uint __ovld __cnfn convert_uint_sat_rtp(char);
    734 uint __ovld __cnfn convert_uint_rtn(char);
    735 uint __ovld __cnfn convert_uint_sat_rtn(char);
    736 uint __ovld __cnfn convert_uint(char);
    737 uint __ovld __cnfn convert_uint_sat(char);
    738 uint __ovld __cnfn convert_uint_rte(uchar);
    739 uint __ovld __cnfn convert_uint_sat_rte(uchar);
    740 uint __ovld __cnfn convert_uint_rtz(uchar);
    741 uint __ovld __cnfn convert_uint_sat_rtz(uchar);
    742 uint __ovld __cnfn convert_uint_rtp(uchar);
    743 uint __ovld __cnfn convert_uint_sat_rtp(uchar);
    744 uint __ovld __cnfn convert_uint_rtn(uchar);
    745 uint __ovld __cnfn convert_uint_sat_rtn(uchar);
    746 uint __ovld __cnfn convert_uint(uchar);
    747 uint __ovld __cnfn convert_uint_sat(uchar);
    748 uint __ovld __cnfn convert_uint_rte(short);
    749 uint __ovld __cnfn convert_uint_sat_rte(short);
    750 uint __ovld __cnfn convert_uint_rtz(short);
    751 uint __ovld __cnfn convert_uint_sat_rtz(short);
    752 uint __ovld __cnfn convert_uint_rtp(short);
    753 uint __ovld __cnfn convert_uint_sat_rtp(short);
    754 uint __ovld __cnfn convert_uint_rtn(short);
    755 uint __ovld __cnfn convert_uint_sat_rtn(short);
    756 uint __ovld __cnfn convert_uint(short);
    757 uint __ovld __cnfn convert_uint_sat(short);
    758 uint __ovld __cnfn convert_uint_rte(ushort);
    759 uint __ovld __cnfn convert_uint_sat_rte(ushort);
    760 uint __ovld __cnfn convert_uint_rtz(ushort);
    761 uint __ovld __cnfn convert_uint_sat_rtz(ushort);
    762 uint __ovld __cnfn convert_uint_rtp(ushort);
    763 uint __ovld __cnfn convert_uint_sat_rtp(ushort);
    764 uint __ovld __cnfn convert_uint_rtn(ushort);
    765 uint __ovld __cnfn convert_uint_sat_rtn(ushort);
    766 uint __ovld __cnfn convert_uint(ushort);
    767 uint __ovld __cnfn convert_uint_sat(ushort);
    768 uint __ovld __cnfn convert_uint_rte(int);
    769 uint __ovld __cnfn convert_uint_sat_rte(int);
    770 uint __ovld __cnfn convert_uint_rtz(int);
    771 uint __ovld __cnfn convert_uint_sat_rtz(int);
    772 uint __ovld __cnfn convert_uint_rtp(int);
    773 uint __ovld __cnfn convert_uint_sat_rtp(int);
    774 uint __ovld __cnfn convert_uint_rtn(int);
    775 uint __ovld __cnfn convert_uint_sat_rtn(int);
    776 uint __ovld __cnfn convert_uint(int);
    777 uint __ovld __cnfn convert_uint_sat(int);
    778 uint __ovld __cnfn convert_uint_rte(uint);
    779 uint __ovld __cnfn convert_uint_sat_rte(uint);
    780 uint __ovld __cnfn convert_uint_rtz(uint);
    781 uint __ovld __cnfn convert_uint_sat_rtz(uint);
    782 uint __ovld __cnfn convert_uint_rtp(uint);
    783 uint __ovld __cnfn convert_uint_sat_rtp(uint);
    784 uint __ovld __cnfn convert_uint_rtn(uint);
    785 uint __ovld __cnfn convert_uint_sat_rtn(uint);
    786 uint __ovld __cnfn convert_uint(uint);
    787 uint __ovld __cnfn convert_uint_sat(uint);
    788 uint __ovld __cnfn convert_uint_rte(long);
    789 uint __ovld __cnfn convert_uint_sat_rte(long);
    790 uint __ovld __cnfn convert_uint_rtz(long);
    791 uint __ovld __cnfn convert_uint_sat_rtz(long);
    792 uint __ovld __cnfn convert_uint_rtp(long);
    793 uint __ovld __cnfn convert_uint_sat_rtp(long);
    794 uint __ovld __cnfn convert_uint_rtn(long);
    795 uint __ovld __cnfn convert_uint_sat_rtn(long);
    796 uint __ovld __cnfn convert_uint(long);
    797 uint __ovld __cnfn convert_uint_sat(long);
    798 uint __ovld __cnfn convert_uint_rte(ulong);
    799 uint __ovld __cnfn convert_uint_sat_rte(ulong);
    800 uint __ovld __cnfn convert_uint_rtz(ulong);
    801 uint __ovld __cnfn convert_uint_sat_rtz(ulong);
    802 uint __ovld __cnfn convert_uint_rtp(ulong);
    803 uint __ovld __cnfn convert_uint_sat_rtp(ulong);
    804 uint __ovld __cnfn convert_uint_rtn(ulong);
    805 uint __ovld __cnfn convert_uint_sat_rtn(ulong);
    806 uint __ovld __cnfn convert_uint(ulong);
    807 uint __ovld __cnfn convert_uint_sat(ulong);
    808 uint __ovld __cnfn convert_uint_rte(float);
    809 uint __ovld __cnfn convert_uint_sat_rte(float);
    810 uint __ovld __cnfn convert_uint_rtz(float);
    811 uint __ovld __cnfn convert_uint_sat_rtz(float);
    812 uint __ovld __cnfn convert_uint_rtp(float);
    813 uint __ovld __cnfn convert_uint_sat_rtp(float);
    814 uint __ovld __cnfn convert_uint_rtn(float);
    815 uint __ovld __cnfn convert_uint_sat_rtn(float);
    816 uint __ovld __cnfn convert_uint(float);
    817 uint __ovld __cnfn convert_uint_sat(float);
    818 long __ovld __cnfn convert_long_rte(char);
    819 long __ovld __cnfn convert_long_sat_rte(char);
    820 long __ovld __cnfn convert_long_rtz(char);
    821 long __ovld __cnfn convert_long_sat_rtz(char);
    822 long __ovld __cnfn convert_long_rtp(char);
    823 long __ovld __cnfn convert_long_sat_rtp(char);
    824 long __ovld __cnfn convert_long_rtn(char);
    825 long __ovld __cnfn convert_long_sat_rtn(char);
    826 long __ovld __cnfn convert_long(char);
    827 long __ovld __cnfn convert_long_sat(char);
    828 long __ovld __cnfn convert_long_rte(uchar);
    829 long __ovld __cnfn convert_long_sat_rte(uchar);
    830 long __ovld __cnfn convert_long_rtz(uchar);
    831 long __ovld __cnfn convert_long_sat_rtz(uchar);
    832 long __ovld __cnfn convert_long_rtp(uchar);
    833 long __ovld __cnfn convert_long_sat_rtp(uchar);
    834 long __ovld __cnfn convert_long_rtn(uchar);
    835 long __ovld __cnfn convert_long_sat_rtn(uchar);
    836 long __ovld __cnfn convert_long(uchar);
    837 long __ovld __cnfn convert_long_sat(uchar);
    838 long __ovld __cnfn convert_long_rte(short);
    839 long __ovld __cnfn convert_long_sat_rte(short);
    840 long __ovld __cnfn convert_long_rtz(short);
    841 long __ovld __cnfn convert_long_sat_rtz(short);
    842 long __ovld __cnfn convert_long_rtp(short);
    843 long __ovld __cnfn convert_long_sat_rtp(short);
    844 long __ovld __cnfn convert_long_rtn(short);
    845 long __ovld __cnfn convert_long_sat_rtn(short);
    846 long __ovld __cnfn convert_long(short);
    847 long __ovld __cnfn convert_long_sat(short);
    848 long __ovld __cnfn convert_long_rte(ushort);
    849 long __ovld __cnfn convert_long_sat_rte(ushort);
    850 long __ovld __cnfn convert_long_rtz(ushort);
    851 long __ovld __cnfn convert_long_sat_rtz(ushort);
    852 long __ovld __cnfn convert_long_rtp(ushort);
    853 long __ovld __cnfn convert_long_sat_rtp(ushort);
    854 long __ovld __cnfn convert_long_rtn(ushort);
    855 long __ovld __cnfn convert_long_sat_rtn(ushort);
    856 long __ovld __cnfn convert_long(ushort);
    857 long __ovld __cnfn convert_long_sat(ushort);
    858 long __ovld __cnfn convert_long_rte(int);
    859 long __ovld __cnfn convert_long_sat_rte(int);
    860 long __ovld __cnfn convert_long_rtz(int);
    861 long __ovld __cnfn convert_long_sat_rtz(int);
    862 long __ovld __cnfn convert_long_rtp(int);
    863 long __ovld __cnfn convert_long_sat_rtp(int);
    864 long __ovld __cnfn convert_long_rtn(int);
    865 long __ovld __cnfn convert_long_sat_rtn(int);
    866 long __ovld __cnfn convert_long(int);
    867 long __ovld __cnfn convert_long_sat(int);
    868 long __ovld __cnfn convert_long_rte(uint);
    869 long __ovld __cnfn convert_long_sat_rte(uint);
    870 long __ovld __cnfn convert_long_rtz(uint);
    871 long __ovld __cnfn convert_long_sat_rtz(uint);
    872 long __ovld __cnfn convert_long_rtp(uint);
    873 long __ovld __cnfn convert_long_sat_rtp(uint);
    874 long __ovld __cnfn convert_long_rtn(uint);
    875 long __ovld __cnfn convert_long_sat_rtn(uint);
    876 long __ovld __cnfn convert_long(uint);
    877 long __ovld __cnfn convert_long_sat(uint);
    878 long __ovld __cnfn convert_long_rte(long);
    879 long __ovld __cnfn convert_long_sat_rte(long);
    880 long __ovld __cnfn convert_long_rtz(long);
    881 long __ovld __cnfn convert_long_sat_rtz(long);
    882 long __ovld __cnfn convert_long_rtp(long);
    883 long __ovld __cnfn convert_long_sat_rtp(long);
    884 long __ovld __cnfn convert_long_rtn(long);
    885 long __ovld __cnfn convert_long_sat_rtn(long);
    886 long __ovld __cnfn convert_long(long);
    887 long __ovld __cnfn convert_long_sat(long);
    888 long __ovld __cnfn convert_long_rte(ulong);
    889 long __ovld __cnfn convert_long_sat_rte(ulong);
    890 long __ovld __cnfn convert_long_rtz(ulong);
    891 long __ovld __cnfn convert_long_sat_rtz(ulong);
    892 long __ovld __cnfn convert_long_rtp(ulong);
    893 long __ovld __cnfn convert_long_sat_rtp(ulong);
    894 long __ovld __cnfn convert_long_rtn(ulong);
    895 long __ovld __cnfn convert_long_sat_rtn(ulong);
    896 long __ovld __cnfn convert_long(ulong);
    897 long __ovld __cnfn convert_long_sat(ulong);
    898 long __ovld __cnfn convert_long_rte(float);
    899 long __ovld __cnfn convert_long_sat_rte(float);
    900 long __ovld __cnfn convert_long_rtz(float);
    901 long __ovld __cnfn convert_long_sat_rtz(float);
    902 long __ovld __cnfn convert_long_rtp(float);
    903 long __ovld __cnfn convert_long_sat_rtp(float);
    904 long __ovld __cnfn convert_long_rtn(float);
    905 long __ovld __cnfn convert_long_sat_rtn(float);
    906 long __ovld __cnfn convert_long(float);
    907 long __ovld __cnfn convert_long_sat(float);
    908 ulong __ovld __cnfn convert_ulong_rte(char);
    909 ulong __ovld __cnfn convert_ulong_sat_rte(char);
    910 ulong __ovld __cnfn convert_ulong_rtz(char);
    911 ulong __ovld __cnfn convert_ulong_sat_rtz(char);
    912 ulong __ovld __cnfn convert_ulong_rtp(char);
    913 ulong __ovld __cnfn convert_ulong_sat_rtp(char);
    914 ulong __ovld __cnfn convert_ulong_rtn(char);
    915 ulong __ovld __cnfn convert_ulong_sat_rtn(char);
    916 ulong __ovld __cnfn convert_ulong(char);
    917 ulong __ovld __cnfn convert_ulong_sat(char);
    918 ulong __ovld __cnfn convert_ulong_rte(uchar);
    919 ulong __ovld __cnfn convert_ulong_sat_rte(uchar);
    920 ulong __ovld __cnfn convert_ulong_rtz(uchar);
    921 ulong __ovld __cnfn convert_ulong_sat_rtz(uchar);
    922 ulong __ovld __cnfn convert_ulong_rtp(uchar);
    923 ulong __ovld __cnfn convert_ulong_sat_rtp(uchar);
    924 ulong __ovld __cnfn convert_ulong_rtn(uchar);
    925 ulong __ovld __cnfn convert_ulong_sat_rtn(uchar);
    926 ulong __ovld __cnfn convert_ulong(uchar);
    927 ulong __ovld __cnfn convert_ulong_sat(uchar);
    928 ulong __ovld __cnfn convert_ulong_rte(short);
    929 ulong __ovld __cnfn convert_ulong_sat_rte(short);
    930 ulong __ovld __cnfn convert_ulong_rtz(short);
    931 ulong __ovld __cnfn convert_ulong_sat_rtz(short);
    932 ulong __ovld __cnfn convert_ulong_rtp(short);
    933 ulong __ovld __cnfn convert_ulong_sat_rtp(short);
    934 ulong __ovld __cnfn convert_ulong_rtn(short);
    935 ulong __ovld __cnfn convert_ulong_sat_rtn(short);
    936 ulong __ovld __cnfn convert_ulong(short);
    937 ulong __ovld __cnfn convert_ulong_sat(short);
    938 ulong __ovld __cnfn convert_ulong_rte(ushort);
    939 ulong __ovld __cnfn convert_ulong_sat_rte(ushort);
    940 ulong __ovld __cnfn convert_ulong_rtz(ushort);
    941 ulong __ovld __cnfn convert_ulong_sat_rtz(ushort);
    942 ulong __ovld __cnfn convert_ulong_rtp(ushort);
    943 ulong __ovld __cnfn convert_ulong_sat_rtp(ushort);
    944 ulong __ovld __cnfn convert_ulong_rtn(ushort);
    945 ulong __ovld __cnfn convert_ulong_sat_rtn(ushort);
    946 ulong __ovld __cnfn convert_ulong(ushort);
    947 ulong __ovld __cnfn convert_ulong_sat(ushort);
    948 ulong __ovld __cnfn convert_ulong_rte(int);
    949 ulong __ovld __cnfn convert_ulong_sat_rte(int);
    950 ulong __ovld __cnfn convert_ulong_rtz(int);
    951 ulong __ovld __cnfn convert_ulong_sat_rtz(int);
    952 ulong __ovld __cnfn convert_ulong_rtp(int);
    953 ulong __ovld __cnfn convert_ulong_sat_rtp(int);
    954 ulong __ovld __cnfn convert_ulong_rtn(int);
    955 ulong __ovld __cnfn convert_ulong_sat_rtn(int);
    956 ulong __ovld __cnfn convert_ulong(int);
    957 ulong __ovld __cnfn convert_ulong_sat(int);
    958 ulong __ovld __cnfn convert_ulong_rte(uint);
    959 ulong __ovld __cnfn convert_ulong_sat_rte(uint);
    960 ulong __ovld __cnfn convert_ulong_rtz(uint);
    961 ulong __ovld __cnfn convert_ulong_sat_rtz(uint);
    962 ulong __ovld __cnfn convert_ulong_rtp(uint);
    963 ulong __ovld __cnfn convert_ulong_sat_rtp(uint);
    964 ulong __ovld __cnfn convert_ulong_rtn(uint);
    965 ulong __ovld __cnfn convert_ulong_sat_rtn(uint);
    966 ulong __ovld __cnfn convert_ulong(uint);
    967 ulong __ovld __cnfn convert_ulong_sat(uint);
    968 ulong __ovld __cnfn convert_ulong_rte(long);
    969 ulong __ovld __cnfn convert_ulong_sat_rte(long);
    970 ulong __ovld __cnfn convert_ulong_rtz(long);
    971 ulong __ovld __cnfn convert_ulong_sat_rtz(long);
    972 ulong __ovld __cnfn convert_ulong_rtp(long);
    973 ulong __ovld __cnfn convert_ulong_sat_rtp(long);
    974 ulong __ovld __cnfn convert_ulong_rtn(long);
    975 ulong __ovld __cnfn convert_ulong_sat_rtn(long);
    976 ulong __ovld __cnfn convert_ulong(long);
    977 ulong __ovld __cnfn convert_ulong_sat(long);
    978 ulong __ovld __cnfn convert_ulong_rte(ulong);
    979 ulong __ovld __cnfn convert_ulong_sat_rte(ulong);
    980 ulong __ovld __cnfn convert_ulong_rtz(ulong);
    981 ulong __ovld __cnfn convert_ulong_sat_rtz(ulong);
    982 ulong __ovld __cnfn convert_ulong_rtp(ulong);
    983 ulong __ovld __cnfn convert_ulong_sat_rtp(ulong);
    984 ulong __ovld __cnfn convert_ulong_rtn(ulong);
    985 ulong __ovld __cnfn convert_ulong_sat_rtn(ulong);
    986 ulong __ovld __cnfn convert_ulong(ulong);
    987 ulong __ovld __cnfn convert_ulong_sat(ulong);
    988 ulong __ovld __cnfn convert_ulong_rte(float);
    989 ulong __ovld __cnfn convert_ulong_sat_rte(float);
    990 ulong __ovld __cnfn convert_ulong_rtz(float);
    991 ulong __ovld __cnfn convert_ulong_sat_rtz(float);
    992 ulong __ovld __cnfn convert_ulong_rtp(float);
    993 ulong __ovld __cnfn convert_ulong_sat_rtp(float);
    994 ulong __ovld __cnfn convert_ulong_rtn(float);
    995 ulong __ovld __cnfn convert_ulong_sat_rtn(float);
    996 ulong __ovld __cnfn convert_ulong(float);
    997 ulong __ovld __cnfn convert_ulong_sat(float);
    998 float __ovld __cnfn convert_float_rte(char);
    999 float __ovld __cnfn convert_float_rtz(char);
   1000 float __ovld __cnfn convert_float_rtp(char);
   1001 float __ovld __cnfn convert_float_rtn(char);
   1002 float __ovld __cnfn convert_float(char);
   1003 float __ovld __cnfn convert_float_rte(uchar);
   1004 float __ovld __cnfn convert_float_rtz(uchar);
   1005 float __ovld __cnfn convert_float_rtp(uchar);
   1006 float __ovld __cnfn convert_float_rtn(uchar);
   1007 float __ovld __cnfn convert_float(uchar);
   1008 float __ovld __cnfn convert_float_rte(short);
   1009 float __ovld __cnfn convert_float_rtz(short);
   1010 float __ovld __cnfn convert_float_rtp(short);
   1011 float __ovld __cnfn convert_float_rtn(short);
   1012 float __ovld __cnfn convert_float(short);
   1013 float __ovld __cnfn convert_float_rte(ushort);
   1014 float __ovld __cnfn convert_float_rtz(ushort);
   1015 float __ovld __cnfn convert_float_rtp(ushort);
   1016 float __ovld __cnfn convert_float_rtn(ushort);
   1017 float __ovld __cnfn convert_float(ushort);
   1018 float __ovld __cnfn convert_float_rte(int);
   1019 float __ovld __cnfn convert_float_rtz(int);
   1020 float __ovld __cnfn convert_float_rtp(int);
   1021 float __ovld __cnfn convert_float_rtn(int);
   1022 float __ovld __cnfn convert_float(int);
   1023 float __ovld __cnfn convert_float_rte(uint);
   1024 float __ovld __cnfn convert_float_rtz(uint);
   1025 float __ovld __cnfn convert_float_rtp(uint);
   1026 float __ovld __cnfn convert_float_rtn(uint);
   1027 float __ovld __cnfn convert_float(uint);
   1028 float __ovld __cnfn convert_float_rte(long);
   1029 float __ovld __cnfn convert_float_rtz(long);
   1030 float __ovld __cnfn convert_float_rtp(long);
   1031 float __ovld __cnfn convert_float_rtn(long);
   1032 float __ovld __cnfn convert_float(long);
   1033 float __ovld __cnfn convert_float_rte(ulong);
   1034 float __ovld __cnfn convert_float_rtz(ulong);
   1035 float __ovld __cnfn convert_float_rtp(ulong);
   1036 float __ovld __cnfn convert_float_rtn(ulong);
   1037 float __ovld __cnfn convert_float(ulong);
   1038 float __ovld __cnfn convert_float_rte(float);
   1039 float __ovld __cnfn convert_float_rtz(float);
   1040 float __ovld __cnfn convert_float_rtp(float);
   1041 float __ovld __cnfn convert_float_rtn(float);
   1042 float __ovld __cnfn convert_float(float);
   1043 char2 __ovld __cnfn convert_char2_rte(char2);
   1044 char2 __ovld __cnfn convert_char2_sat_rte(char2);
   1045 char2 __ovld __cnfn convert_char2_rtz(char2);
   1046 char2 __ovld __cnfn convert_char2_sat_rtz(char2);
   1047 char2 __ovld __cnfn convert_char2_rtp(char2);
   1048 char2 __ovld __cnfn convert_char2_sat_rtp(char2);
   1049 char2 __ovld __cnfn convert_char2_rtn(char2);
   1050 char2 __ovld __cnfn convert_char2_sat_rtn(char2);
   1051 char2 __ovld __cnfn convert_char2(char2);
   1052 char2 __ovld __cnfn convert_char2_sat(char2);
   1053 char2 __ovld __cnfn convert_char2_rte(uchar2);
   1054 char2 __ovld __cnfn convert_char2_sat_rte(uchar2);
   1055 char2 __ovld __cnfn convert_char2_rtz(uchar2);
   1056 char2 __ovld __cnfn convert_char2_sat_rtz(uchar2);
   1057 char2 __ovld __cnfn convert_char2_rtp(uchar2);
   1058 char2 __ovld __cnfn convert_char2_sat_rtp(uchar2);
   1059 char2 __ovld __cnfn convert_char2_rtn(uchar2);
   1060 char2 __ovld __cnfn convert_char2_sat_rtn(uchar2);
   1061 char2 __ovld __cnfn convert_char2(uchar2);
   1062 char2 __ovld __cnfn convert_char2_sat(uchar2);
   1063 char2 __ovld __cnfn convert_char2_rte(short2);
   1064 char2 __ovld __cnfn convert_char2_sat_rte(short2);
   1065 char2 __ovld __cnfn convert_char2_rtz(short2);
   1066 char2 __ovld __cnfn convert_char2_sat_rtz(short2);
   1067 char2 __ovld __cnfn convert_char2_rtp(short2);
   1068 char2 __ovld __cnfn convert_char2_sat_rtp(short2);
   1069 char2 __ovld __cnfn convert_char2_rtn(short2);
   1070 char2 __ovld __cnfn convert_char2_sat_rtn(short2);
   1071 char2 __ovld __cnfn convert_char2(short2);
   1072 char2 __ovld __cnfn convert_char2_sat(short2);
   1073 char2 __ovld __cnfn convert_char2_rte(ushort2);
   1074 char2 __ovld __cnfn convert_char2_sat_rte(ushort2);
   1075 char2 __ovld __cnfn convert_char2_rtz(ushort2);
   1076 char2 __ovld __cnfn convert_char2_sat_rtz(ushort2);
   1077 char2 __ovld __cnfn convert_char2_rtp(ushort2);
   1078 char2 __ovld __cnfn convert_char2_sat_rtp(ushort2);
   1079 char2 __ovld __cnfn convert_char2_rtn(ushort2);
   1080 char2 __ovld __cnfn convert_char2_sat_rtn(ushort2);
   1081 char2 __ovld __cnfn convert_char2(ushort2);
   1082 char2 __ovld __cnfn convert_char2_sat(ushort2);
   1083 char2 __ovld __cnfn convert_char2_rte(int2);
   1084 char2 __ovld __cnfn convert_char2_sat_rte(int2);
   1085 char2 __ovld __cnfn convert_char2_rtz(int2);
   1086 char2 __ovld __cnfn convert_char2_sat_rtz(int2);
   1087 char2 __ovld __cnfn convert_char2_rtp(int2);
   1088 char2 __ovld __cnfn convert_char2_sat_rtp(int2);
   1089 char2 __ovld __cnfn convert_char2_rtn(int2);
   1090 char2 __ovld __cnfn convert_char2_sat_rtn(int2);
   1091 char2 __ovld __cnfn convert_char2(int2);
   1092 char2 __ovld __cnfn convert_char2_sat(int2);
   1093 char2 __ovld __cnfn convert_char2_rte(uint2);
   1094 char2 __ovld __cnfn convert_char2_sat_rte(uint2);
   1095 char2 __ovld __cnfn convert_char2_rtz(uint2);
   1096 char2 __ovld __cnfn convert_char2_sat_rtz(uint2);
   1097 char2 __ovld __cnfn convert_char2_rtp(uint2);
   1098 char2 __ovld __cnfn convert_char2_sat_rtp(uint2);
   1099 char2 __ovld __cnfn convert_char2_rtn(uint2);
   1100 char2 __ovld __cnfn convert_char2_sat_rtn(uint2);
   1101 char2 __ovld __cnfn convert_char2(uint2);
   1102 char2 __ovld __cnfn convert_char2_sat(uint2);
   1103 char2 __ovld __cnfn convert_char2_rte(long2);
   1104 char2 __ovld __cnfn convert_char2_sat_rte(long2);
   1105 char2 __ovld __cnfn convert_char2_rtz(long2);
   1106 char2 __ovld __cnfn convert_char2_sat_rtz(long2);
   1107 char2 __ovld __cnfn convert_char2_rtp(long2);
   1108 char2 __ovld __cnfn convert_char2_sat_rtp(long2);
   1109 char2 __ovld __cnfn convert_char2_rtn(long2);
   1110 char2 __ovld __cnfn convert_char2_sat_rtn(long2);
   1111 char2 __ovld __cnfn convert_char2(long2);
   1112 char2 __ovld __cnfn convert_char2_sat(long2);
   1113 char2 __ovld __cnfn convert_char2_rte(ulong2);
   1114 char2 __ovld __cnfn convert_char2_sat_rte(ulong2);
   1115 char2 __ovld __cnfn convert_char2_rtz(ulong2);
   1116 char2 __ovld __cnfn convert_char2_sat_rtz(ulong2);
   1117 char2 __ovld __cnfn convert_char2_rtp(ulong2);
   1118 char2 __ovld __cnfn convert_char2_sat_rtp(ulong2);
   1119 char2 __ovld __cnfn convert_char2_rtn(ulong2);
   1120 char2 __ovld __cnfn convert_char2_sat_rtn(ulong2);
   1121 char2 __ovld __cnfn convert_char2(ulong2);
   1122 char2 __ovld __cnfn convert_char2_sat(ulong2);
   1123 char2 __ovld __cnfn convert_char2_rte(float2);
   1124 char2 __ovld __cnfn convert_char2_sat_rte(float2);
   1125 char2 __ovld __cnfn convert_char2_rtz(float2);
   1126 char2 __ovld __cnfn convert_char2_sat_rtz(float2);
   1127 char2 __ovld __cnfn convert_char2_rtp(float2);
   1128 char2 __ovld __cnfn convert_char2_sat_rtp(float2);
   1129 char2 __ovld __cnfn convert_char2_rtn(float2);
   1130 char2 __ovld __cnfn convert_char2_sat_rtn(float2);
   1131 char2 __ovld __cnfn convert_char2(float2);
   1132 char2 __ovld __cnfn convert_char2_sat(float2);
   1133 uchar2 __ovld __cnfn convert_uchar2_rte(char2);
   1134 uchar2 __ovld __cnfn convert_uchar2_sat_rte(char2);
   1135 uchar2 __ovld __cnfn convert_uchar2_rtz(char2);
   1136 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(char2);
   1137 uchar2 __ovld __cnfn convert_uchar2_rtp(char2);
   1138 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(char2);
   1139 uchar2 __ovld __cnfn convert_uchar2_rtn(char2);
   1140 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(char2);
   1141 uchar2 __ovld __cnfn convert_uchar2(char2);
   1142 uchar2 __ovld __cnfn convert_uchar2_sat(char2);
   1143 uchar2 __ovld __cnfn convert_uchar2_rte(uchar2);
   1144 uchar2 __ovld __cnfn convert_uchar2_sat_rte(uchar2);
   1145 uchar2 __ovld __cnfn convert_uchar2_rtz(uchar2);
   1146 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(uchar2);
   1147 uchar2 __ovld __cnfn convert_uchar2_rtp(uchar2);
   1148 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(uchar2);
   1149 uchar2 __ovld __cnfn convert_uchar2_rtn(uchar2);
   1150 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(uchar2);
   1151 uchar2 __ovld __cnfn convert_uchar2(uchar2);
   1152 uchar2 __ovld __cnfn convert_uchar2_sat(uchar2);
   1153 uchar2 __ovld __cnfn convert_uchar2_rte(short2);
   1154 uchar2 __ovld __cnfn convert_uchar2_sat_rte(short2);
   1155 uchar2 __ovld __cnfn convert_uchar2_rtz(short2);
   1156 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(short2);
   1157 uchar2 __ovld __cnfn convert_uchar2_rtp(short2);
   1158 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(short2);
   1159 uchar2 __ovld __cnfn convert_uchar2_rtn(short2);
   1160 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(short2);
   1161 uchar2 __ovld __cnfn convert_uchar2(short2);
   1162 uchar2 __ovld __cnfn convert_uchar2_sat(short2);
   1163 uchar2 __ovld __cnfn convert_uchar2_rte(ushort2);
   1164 uchar2 __ovld __cnfn convert_uchar2_sat_rte(ushort2);
   1165 uchar2 __ovld __cnfn convert_uchar2_rtz(ushort2);
   1166 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(ushort2);
   1167 uchar2 __ovld __cnfn convert_uchar2_rtp(ushort2);
   1168 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(ushort2);
   1169 uchar2 __ovld __cnfn convert_uchar2_rtn(ushort2);
   1170 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(ushort2);
   1171 uchar2 __ovld __cnfn convert_uchar2(ushort2);
   1172 uchar2 __ovld __cnfn convert_uchar2_sat(ushort2);
   1173 uchar2 __ovld __cnfn convert_uchar2_rte(int2);
   1174 uchar2 __ovld __cnfn convert_uchar2_sat_rte(int2);
   1175 uchar2 __ovld __cnfn convert_uchar2_rtz(int2);
   1176 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(int2);
   1177 uchar2 __ovld __cnfn convert_uchar2_rtp(int2);
   1178 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(int2);
   1179 uchar2 __ovld __cnfn convert_uchar2_rtn(int2);
   1180 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(int2);
   1181 uchar2 __ovld __cnfn convert_uchar2(int2);
   1182 uchar2 __ovld __cnfn convert_uchar2_sat(int2);
   1183 uchar2 __ovld __cnfn convert_uchar2_rte(uint2);
   1184 uchar2 __ovld __cnfn convert_uchar2_sat_rte(uint2);
   1185 uchar2 __ovld __cnfn convert_uchar2_rtz(uint2);
   1186 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(uint2);
   1187 uchar2 __ovld __cnfn convert_uchar2_rtp(uint2);
   1188 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(uint2);
   1189 uchar2 __ovld __cnfn convert_uchar2_rtn(uint2);
   1190 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(uint2);
   1191 uchar2 __ovld __cnfn convert_uchar2(uint2);
   1192 uchar2 __ovld __cnfn convert_uchar2_sat(uint2);
   1193 uchar2 __ovld __cnfn convert_uchar2_rte(long2);
   1194 uchar2 __ovld __cnfn convert_uchar2_sat_rte(long2);
   1195 uchar2 __ovld __cnfn convert_uchar2_rtz(long2);
   1196 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(long2);
   1197 uchar2 __ovld __cnfn convert_uchar2_rtp(long2);
   1198 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(long2);
   1199 uchar2 __ovld __cnfn convert_uchar2_rtn(long2);
   1200 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(long2);
   1201 uchar2 __ovld __cnfn convert_uchar2(long2);
   1202 uchar2 __ovld __cnfn convert_uchar2_sat(long2);
   1203 uchar2 __ovld __cnfn convert_uchar2_rte(ulong2);
   1204 uchar2 __ovld __cnfn convert_uchar2_sat_rte(ulong2);
   1205 uchar2 __ovld __cnfn convert_uchar2_rtz(ulong2);
   1206 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(ulong2);
   1207 uchar2 __ovld __cnfn convert_uchar2_rtp(ulong2);
   1208 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(ulong2);
   1209 uchar2 __ovld __cnfn convert_uchar2_rtn(ulong2);
   1210 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(ulong2);
   1211 uchar2 __ovld __cnfn convert_uchar2(ulong2);
   1212 uchar2 __ovld __cnfn convert_uchar2_sat(ulong2);
   1213 uchar2 __ovld __cnfn convert_uchar2_rte(float2);
   1214 uchar2 __ovld __cnfn convert_uchar2_sat_rte(float2);
   1215 uchar2 __ovld __cnfn convert_uchar2_rtz(float2);
   1216 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(float2);
   1217 uchar2 __ovld __cnfn convert_uchar2_rtp(float2);
   1218 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(float2);
   1219 uchar2 __ovld __cnfn convert_uchar2_rtn(float2);
   1220 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(float2);
   1221 uchar2 __ovld __cnfn convert_uchar2(float2);
   1222 uchar2 __ovld __cnfn convert_uchar2_sat(float2);
   1223 short2 __ovld __cnfn convert_short2_rte(char2);
   1224 short2 __ovld __cnfn convert_short2_sat_rte(char2);
   1225 short2 __ovld __cnfn convert_short2_rtz(char2);
   1226 short2 __ovld __cnfn convert_short2_sat_rtz(char2);
   1227 short2 __ovld __cnfn convert_short2_rtp(char2);
   1228 short2 __ovld __cnfn convert_short2_sat_rtp(char2);
   1229 short2 __ovld __cnfn convert_short2_rtn(char2);
   1230 short2 __ovld __cnfn convert_short2_sat_rtn(char2);
   1231 short2 __ovld __cnfn convert_short2(char2);
   1232 short2 __ovld __cnfn convert_short2_sat(char2);
   1233 short2 __ovld __cnfn convert_short2_rte(uchar2);
   1234 short2 __ovld __cnfn convert_short2_sat_rte(uchar2);
   1235 short2 __ovld __cnfn convert_short2_rtz(uchar2);
   1236 short2 __ovld __cnfn convert_short2_sat_rtz(uchar2);
   1237 short2 __ovld __cnfn convert_short2_rtp(uchar2);
   1238 short2 __ovld __cnfn convert_short2_sat_rtp(uchar2);
   1239 short2 __ovld __cnfn convert_short2_rtn(uchar2);
   1240 short2 __ovld __cnfn convert_short2_sat_rtn(uchar2);
   1241 short2 __ovld __cnfn convert_short2(uchar2);
   1242 short2 __ovld __cnfn convert_short2_sat(uchar2);
   1243 short2 __ovld __cnfn convert_short2_rte(short2);
   1244 short2 __ovld __cnfn convert_short2_sat_rte(short2);
   1245 short2 __ovld __cnfn convert_short2_rtz(short2);
   1246 short2 __ovld __cnfn convert_short2_sat_rtz(short2);
   1247 short2 __ovld __cnfn convert_short2_rtp(short2);
   1248 short2 __ovld __cnfn convert_short2_sat_rtp(short2);
   1249 short2 __ovld __cnfn convert_short2_rtn(short2);
   1250 short2 __ovld __cnfn convert_short2_sat_rtn(short2);
   1251 short2 __ovld __cnfn convert_short2(short2);
   1252 short2 __ovld __cnfn convert_short2_sat(short2);
   1253 short2 __ovld __cnfn convert_short2_rte(ushort2);
   1254 short2 __ovld __cnfn convert_short2_sat_rte(ushort2);
   1255 short2 __ovld __cnfn convert_short2_rtz(ushort2);
   1256 short2 __ovld __cnfn convert_short2_sat_rtz(ushort2);
   1257 short2 __ovld __cnfn convert_short2_rtp(ushort2);
   1258 short2 __ovld __cnfn convert_short2_sat_rtp(ushort2);
   1259 short2 __ovld __cnfn convert_short2_rtn(ushort2);
   1260 short2 __ovld __cnfn convert_short2_sat_rtn(ushort2);
   1261 short2 __ovld __cnfn convert_short2(ushort2);
   1262 short2 __ovld __cnfn convert_short2_sat(ushort2);
   1263 short2 __ovld __cnfn convert_short2_rte(int2);
   1264 short2 __ovld __cnfn convert_short2_sat_rte(int2);
   1265 short2 __ovld __cnfn convert_short2_rtz(int2);
   1266 short2 __ovld __cnfn convert_short2_sat_rtz(int2);
   1267 short2 __ovld __cnfn convert_short2_rtp(int2);
   1268 short2 __ovld __cnfn convert_short2_sat_rtp(int2);
   1269 short2 __ovld __cnfn convert_short2_rtn(int2);
   1270 short2 __ovld __cnfn convert_short2_sat_rtn(int2);
   1271 short2 __ovld __cnfn convert_short2(int2);
   1272 short2 __ovld __cnfn convert_short2_sat(int2);
   1273 short2 __ovld __cnfn convert_short2_rte(uint2);
   1274 short2 __ovld __cnfn convert_short2_sat_rte(uint2);
   1275 short2 __ovld __cnfn convert_short2_rtz(uint2);
   1276 short2 __ovld __cnfn convert_short2_sat_rtz(uint2);
   1277 short2 __ovld __cnfn convert_short2_rtp(uint2);
   1278 short2 __ovld __cnfn convert_short2_sat_rtp(uint2);
   1279 short2 __ovld __cnfn convert_short2_rtn(uint2);
   1280 short2 __ovld __cnfn convert_short2_sat_rtn(uint2);
   1281 short2 __ovld __cnfn convert_short2(uint2);
   1282 short2 __ovld __cnfn convert_short2_sat(uint2);
   1283 short2 __ovld __cnfn convert_short2_rte(long2);
   1284 short2 __ovld __cnfn convert_short2_sat_rte(long2);
   1285 short2 __ovld __cnfn convert_short2_rtz(long2);
   1286 short2 __ovld __cnfn convert_short2_sat_rtz(long2);
   1287 short2 __ovld __cnfn convert_short2_rtp(long2);
   1288 short2 __ovld __cnfn convert_short2_sat_rtp(long2);
   1289 short2 __ovld __cnfn convert_short2_rtn(long2);
   1290 short2 __ovld __cnfn convert_short2_sat_rtn(long2);
   1291 short2 __ovld __cnfn convert_short2(long2);
   1292 short2 __ovld __cnfn convert_short2_sat(long2);
   1293 short2 __ovld __cnfn convert_short2_rte(ulong2);
   1294 short2 __ovld __cnfn convert_short2_sat_rte(ulong2);
   1295 short2 __ovld __cnfn convert_short2_rtz(ulong2);
   1296 short2 __ovld __cnfn convert_short2_sat_rtz(ulong2);
   1297 short2 __ovld __cnfn convert_short2_rtp(ulong2);
   1298 short2 __ovld __cnfn convert_short2_sat_rtp(ulong2);
   1299 short2 __ovld __cnfn convert_short2_rtn(ulong2);
   1300 short2 __ovld __cnfn convert_short2_sat_rtn(ulong2);
   1301 short2 __ovld __cnfn convert_short2(ulong2);
   1302 short2 __ovld __cnfn convert_short2_sat(ulong2);
   1303 short2 __ovld __cnfn convert_short2_rte(float2);
   1304 short2 __ovld __cnfn convert_short2_sat_rte(float2);
   1305 short2 __ovld __cnfn convert_short2_rtz(float2);
   1306 short2 __ovld __cnfn convert_short2_sat_rtz(float2);
   1307 short2 __ovld __cnfn convert_short2_rtp(float2);
   1308 short2 __ovld __cnfn convert_short2_sat_rtp(float2);
   1309 short2 __ovld __cnfn convert_short2_rtn(float2);
   1310 short2 __ovld __cnfn convert_short2_sat_rtn(float2);
   1311 short2 __ovld __cnfn convert_short2(float2);
   1312 short2 __ovld __cnfn convert_short2_sat(float2);
   1313 ushort2 __ovld __cnfn convert_ushort2_rte(char2);
   1314 ushort2 __ovld __cnfn convert_ushort2_sat_rte(char2);
   1315 ushort2 __ovld __cnfn convert_ushort2_rtz(char2);
   1316 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(char2);
   1317 ushort2 __ovld __cnfn convert_ushort2_rtp(char2);
   1318 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(char2);
   1319 ushort2 __ovld __cnfn convert_ushort2_rtn(char2);
   1320 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(char2);
   1321 ushort2 __ovld __cnfn convert_ushort2(char2);
   1322 ushort2 __ovld __cnfn convert_ushort2_sat(char2);
   1323 ushort2 __ovld __cnfn convert_ushort2_rte(uchar2);
   1324 ushort2 __ovld __cnfn convert_ushort2_sat_rte(uchar2);
   1325 ushort2 __ovld __cnfn convert_ushort2_rtz(uchar2);
   1326 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(uchar2);
   1327 ushort2 __ovld __cnfn convert_ushort2_rtp(uchar2);
   1328 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(uchar2);
   1329 ushort2 __ovld __cnfn convert_ushort2_rtn(uchar2);
   1330 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(uchar2);
   1331 ushort2 __ovld __cnfn convert_ushort2(uchar2);
   1332 ushort2 __ovld __cnfn convert_ushort2_sat(uchar2);
   1333 ushort2 __ovld __cnfn convert_ushort2_rte(short2);
   1334 ushort2 __ovld __cnfn convert_ushort2_sat_rte(short2);
   1335 ushort2 __ovld __cnfn convert_ushort2_rtz(short2);
   1336 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(short2);
   1337 ushort2 __ovld __cnfn convert_ushort2_rtp(short2);
   1338 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(short2);
   1339 ushort2 __ovld __cnfn convert_ushort2_rtn(short2);
   1340 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(short2);
   1341 ushort2 __ovld __cnfn convert_ushort2(short2);
   1342 ushort2 __ovld __cnfn convert_ushort2_sat(short2);
   1343 ushort2 __ovld __cnfn convert_ushort2_rte(ushort2);
   1344 ushort2 __ovld __cnfn convert_ushort2_sat_rte(ushort2);
   1345 ushort2 __ovld __cnfn convert_ushort2_rtz(ushort2);
   1346 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(ushort2);
   1347 ushort2 __ovld __cnfn convert_ushort2_rtp(ushort2);
   1348 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(ushort2);
   1349 ushort2 __ovld __cnfn convert_ushort2_rtn(ushort2);
   1350 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(ushort2);
   1351 ushort2 __ovld __cnfn convert_ushort2(ushort2);
   1352 ushort2 __ovld __cnfn convert_ushort2_sat(ushort2);
   1353 ushort2 __ovld __cnfn convert_ushort2_rte(int2);
   1354 ushort2 __ovld __cnfn convert_ushort2_sat_rte(int2);
   1355 ushort2 __ovld __cnfn convert_ushort2_rtz(int2);
   1356 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(int2);
   1357 ushort2 __ovld __cnfn convert_ushort2_rtp(int2);
   1358 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(int2);
   1359 ushort2 __ovld __cnfn convert_ushort2_rtn(int2);
   1360 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(int2);
   1361 ushort2 __ovld __cnfn convert_ushort2(int2);
   1362 ushort2 __ovld __cnfn convert_ushort2_sat(int2);
   1363 ushort2 __ovld __cnfn convert_ushort2_rte(uint2);
   1364 ushort2 __ovld __cnfn convert_ushort2_sat_rte(uint2);
   1365 ushort2 __ovld __cnfn convert_ushort2_rtz(uint2);
   1366 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(uint2);
   1367 ushort2 __ovld __cnfn convert_ushort2_rtp(uint2);
   1368 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(uint2);
   1369 ushort2 __ovld __cnfn convert_ushort2_rtn(uint2);
   1370 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(uint2);
   1371 ushort2 __ovld __cnfn convert_ushort2(uint2);
   1372 ushort2 __ovld __cnfn convert_ushort2_sat(uint2);
   1373 ushort2 __ovld __cnfn convert_ushort2_rte(long2);
   1374 ushort2 __ovld __cnfn convert_ushort2_sat_rte(long2);
   1375 ushort2 __ovld __cnfn convert_ushort2_rtz(long2);
   1376 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(long2);
   1377 ushort2 __ovld __cnfn convert_ushort2_rtp(long2);
   1378 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(long2);
   1379 ushort2 __ovld __cnfn convert_ushort2_rtn(long2);
   1380 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(long2);
   1381 ushort2 __ovld __cnfn convert_ushort2(long2);
   1382 ushort2 __ovld __cnfn convert_ushort2_sat(long2);
   1383 ushort2 __ovld __cnfn convert_ushort2_rte(ulong2);
   1384 ushort2 __ovld __cnfn convert_ushort2_sat_rte(ulong2);
   1385 ushort2 __ovld __cnfn convert_ushort2_rtz(ulong2);
   1386 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(ulong2);
   1387 ushort2 __ovld __cnfn convert_ushort2_rtp(ulong2);
   1388 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(ulong2);
   1389 ushort2 __ovld __cnfn convert_ushort2_rtn(ulong2);
   1390 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(ulong2);
   1391 ushort2 __ovld __cnfn convert_ushort2(ulong2);
   1392 ushort2 __ovld __cnfn convert_ushort2_sat(ulong2);
   1393 ushort2 __ovld __cnfn convert_ushort2_rte(float2);
   1394 ushort2 __ovld __cnfn convert_ushort2_sat_rte(float2);
   1395 ushort2 __ovld __cnfn convert_ushort2_rtz(float2);
   1396 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(float2);
   1397 ushort2 __ovld __cnfn convert_ushort2_rtp(float2);
   1398 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(float2);
   1399 ushort2 __ovld __cnfn convert_ushort2_rtn(float2);
   1400 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(float2);
   1401 ushort2 __ovld __cnfn convert_ushort2(float2);
   1402 ushort2 __ovld __cnfn convert_ushort2_sat(float2);
   1403 int2 __ovld __cnfn convert_int2_rte(char2);
   1404 int2 __ovld __cnfn convert_int2_sat_rte(char2);
   1405 int2 __ovld __cnfn convert_int2_rtz(char2);
   1406 int2 __ovld __cnfn convert_int2_sat_rtz(char2);
   1407 int2 __ovld __cnfn convert_int2_rtp(char2);
   1408 int2 __ovld __cnfn convert_int2_sat_rtp(char2);
   1409 int2 __ovld __cnfn convert_int2_rtn(char2);
   1410 int2 __ovld __cnfn convert_int2_sat_rtn(char2);
   1411 int2 __ovld __cnfn convert_int2(char2);
   1412 int2 __ovld __cnfn convert_int2_sat(char2);
   1413 int2 __ovld __cnfn convert_int2_rte(uchar2);
   1414 int2 __ovld __cnfn convert_int2_sat_rte(uchar2);
   1415 int2 __ovld __cnfn convert_int2_rtz(uchar2);
   1416 int2 __ovld __cnfn convert_int2_sat_rtz(uchar2);
   1417 int2 __ovld __cnfn convert_int2_rtp(uchar2);
   1418 int2 __ovld __cnfn convert_int2_sat_rtp(uchar2);
   1419 int2 __ovld __cnfn convert_int2_rtn(uchar2);
   1420 int2 __ovld __cnfn convert_int2_sat_rtn(uchar2);
   1421 int2 __ovld __cnfn convert_int2(uchar2);
   1422 int2 __ovld __cnfn convert_int2_sat(uchar2);
   1423 int2 __ovld __cnfn convert_int2_rte(short2);
   1424 int2 __ovld __cnfn convert_int2_sat_rte(short2);
   1425 int2 __ovld __cnfn convert_int2_rtz(short2);
   1426 int2 __ovld __cnfn convert_int2_sat_rtz(short2);
   1427 int2 __ovld __cnfn convert_int2_rtp(short2);
   1428 int2 __ovld __cnfn convert_int2_sat_rtp(short2);
   1429 int2 __ovld __cnfn convert_int2_rtn(short2);
   1430 int2 __ovld __cnfn convert_int2_sat_rtn(short2);
   1431 int2 __ovld __cnfn convert_int2(short2);
   1432 int2 __ovld __cnfn convert_int2_sat(short2);
   1433 int2 __ovld __cnfn convert_int2_rte(ushort2);
   1434 int2 __ovld __cnfn convert_int2_sat_rte(ushort2);
   1435 int2 __ovld __cnfn convert_int2_rtz(ushort2);
   1436 int2 __ovld __cnfn convert_int2_sat_rtz(ushort2);
   1437 int2 __ovld __cnfn convert_int2_rtp(ushort2);
   1438 int2 __ovld __cnfn convert_int2_sat_rtp(ushort2);
   1439 int2 __ovld __cnfn convert_int2_rtn(ushort2);
   1440 int2 __ovld __cnfn convert_int2_sat_rtn(ushort2);
   1441 int2 __ovld __cnfn convert_int2(ushort2);
   1442 int2 __ovld __cnfn convert_int2_sat(ushort2);
   1443 int2 __ovld __cnfn convert_int2_rte(int2);
   1444 int2 __ovld __cnfn convert_int2_sat_rte(int2);
   1445 int2 __ovld __cnfn convert_int2_rtz(int2);
   1446 int2 __ovld __cnfn convert_int2_sat_rtz(int2);
   1447 int2 __ovld __cnfn convert_int2_rtp(int2);
   1448 int2 __ovld __cnfn convert_int2_sat_rtp(int2);
   1449 int2 __ovld __cnfn convert_int2_rtn(int2);
   1450 int2 __ovld __cnfn convert_int2_sat_rtn(int2);
   1451 int2 __ovld __cnfn convert_int2(int2);
   1452 int2 __ovld __cnfn convert_int2_sat(int2);
   1453 int2 __ovld __cnfn convert_int2_rte(uint2);
   1454 int2 __ovld __cnfn convert_int2_sat_rte(uint2);
   1455 int2 __ovld __cnfn convert_int2_rtz(uint2);
   1456 int2 __ovld __cnfn convert_int2_sat_rtz(uint2);
   1457 int2 __ovld __cnfn convert_int2_rtp(uint2);
   1458 int2 __ovld __cnfn convert_int2_sat_rtp(uint2);
   1459 int2 __ovld __cnfn convert_int2_rtn(uint2);
   1460 int2 __ovld __cnfn convert_int2_sat_rtn(uint2);
   1461 int2 __ovld __cnfn convert_int2(uint2);
   1462 int2 __ovld __cnfn convert_int2_sat(uint2);
   1463 int2 __ovld __cnfn convert_int2_rte(long2);
   1464 int2 __ovld __cnfn convert_int2_sat_rte(long2);
   1465 int2 __ovld __cnfn convert_int2_rtz(long2);
   1466 int2 __ovld __cnfn convert_int2_sat_rtz(long2);
   1467 int2 __ovld __cnfn convert_int2_rtp(long2);
   1468 int2 __ovld __cnfn convert_int2_sat_rtp(long2);
   1469 int2 __ovld __cnfn convert_int2_rtn(long2);
   1470 int2 __ovld __cnfn convert_int2_sat_rtn(long2);
   1471 int2 __ovld __cnfn convert_int2(long2);
   1472 int2 __ovld __cnfn convert_int2_sat(long2);
   1473 int2 __ovld __cnfn convert_int2_rte(ulong2);
   1474 int2 __ovld __cnfn convert_int2_sat_rte(ulong2);
   1475 int2 __ovld __cnfn convert_int2_rtz(ulong2);
   1476 int2 __ovld __cnfn convert_int2_sat_rtz(ulong2);
   1477 int2 __ovld __cnfn convert_int2_rtp(ulong2);
   1478 int2 __ovld __cnfn convert_int2_sat_rtp(ulong2);
   1479 int2 __ovld __cnfn convert_int2_rtn(ulong2);
   1480 int2 __ovld __cnfn convert_int2_sat_rtn(ulong2);
   1481 int2 __ovld __cnfn convert_int2(ulong2);
   1482 int2 __ovld __cnfn convert_int2_sat(ulong2);
   1483 int2 __ovld __cnfn convert_int2_rte(float2);
   1484 int2 __ovld __cnfn convert_int2_sat_rte(float2);
   1485 int2 __ovld __cnfn convert_int2_rtz(float2);
   1486 int2 __ovld __cnfn convert_int2_sat_rtz(float2);
   1487 int2 __ovld __cnfn convert_int2_rtp(float2);
   1488 int2 __ovld __cnfn convert_int2_sat_rtp(float2);
   1489 int2 __ovld __cnfn convert_int2_rtn(float2);
   1490 int2 __ovld __cnfn convert_int2_sat_rtn(float2);
   1491 int2 __ovld __cnfn convert_int2(float2);
   1492 int2 __ovld __cnfn convert_int2_sat(float2);
   1493 uint2 __ovld __cnfn convert_uint2_rte(char2);
   1494 uint2 __ovld __cnfn convert_uint2_sat_rte(char2);
   1495 uint2 __ovld __cnfn convert_uint2_rtz(char2);
   1496 uint2 __ovld __cnfn convert_uint2_sat_rtz(char2);
   1497 uint2 __ovld __cnfn convert_uint2_rtp(char2);
   1498 uint2 __ovld __cnfn convert_uint2_sat_rtp(char2);
   1499 uint2 __ovld __cnfn convert_uint2_rtn(char2);
   1500 uint2 __ovld __cnfn convert_uint2_sat_rtn(char2);
   1501 uint2 __ovld __cnfn convert_uint2(char2);
   1502 uint2 __ovld __cnfn convert_uint2_sat(char2);
   1503 uint2 __ovld __cnfn convert_uint2_rte(uchar2);
   1504 uint2 __ovld __cnfn convert_uint2_sat_rte(uchar2);
   1505 uint2 __ovld __cnfn convert_uint2_rtz(uchar2);
   1506 uint2 __ovld __cnfn convert_uint2_sat_rtz(uchar2);
   1507 uint2 __ovld __cnfn convert_uint2_rtp(uchar2);
   1508 uint2 __ovld __cnfn convert_uint2_sat_rtp(uchar2);
   1509 uint2 __ovld __cnfn convert_uint2_rtn(uchar2);
   1510 uint2 __ovld __cnfn convert_uint2_sat_rtn(uchar2);
   1511 uint2 __ovld __cnfn convert_uint2(uchar2);
   1512 uint2 __ovld __cnfn convert_uint2_sat(uchar2);
   1513 uint2 __ovld __cnfn convert_uint2_rte(short2);
   1514 uint2 __ovld __cnfn convert_uint2_sat_rte(short2);
   1515 uint2 __ovld __cnfn convert_uint2_rtz(short2);
   1516 uint2 __ovld __cnfn convert_uint2_sat_rtz(short2);
   1517 uint2 __ovld __cnfn convert_uint2_rtp(short2);
   1518 uint2 __ovld __cnfn convert_uint2_sat_rtp(short2);
   1519 uint2 __ovld __cnfn convert_uint2_rtn(short2);
   1520 uint2 __ovld __cnfn convert_uint2_sat_rtn(short2);
   1521 uint2 __ovld __cnfn convert_uint2(short2);
   1522 uint2 __ovld __cnfn convert_uint2_sat(short2);
   1523 uint2 __ovld __cnfn convert_uint2_rte(ushort2);
   1524 uint2 __ovld __cnfn convert_uint2_sat_rte(ushort2);
   1525 uint2 __ovld __cnfn convert_uint2_rtz(ushort2);
   1526 uint2 __ovld __cnfn convert_uint2_sat_rtz(ushort2);
   1527 uint2 __ovld __cnfn convert_uint2_rtp(ushort2);
   1528 uint2 __ovld __cnfn convert_uint2_sat_rtp(ushort2);
   1529 uint2 __ovld __cnfn convert_uint2_rtn(ushort2);
   1530 uint2 __ovld __cnfn convert_uint2_sat_rtn(ushort2);
   1531 uint2 __ovld __cnfn convert_uint2(ushort2);
   1532 uint2 __ovld __cnfn convert_uint2_sat(ushort2);
   1533 uint2 __ovld __cnfn convert_uint2_rte(int2);
   1534 uint2 __ovld __cnfn convert_uint2_sat_rte(int2);
   1535 uint2 __ovld __cnfn convert_uint2_rtz(int2);
   1536 uint2 __ovld __cnfn convert_uint2_sat_rtz(int2);
   1537 uint2 __ovld __cnfn convert_uint2_rtp(int2);
   1538 uint2 __ovld __cnfn convert_uint2_sat_rtp(int2);
   1539 uint2 __ovld __cnfn convert_uint2_rtn(int2);
   1540 uint2 __ovld __cnfn convert_uint2_sat_rtn(int2);
   1541 uint2 __ovld __cnfn convert_uint2(int2);
   1542 uint2 __ovld __cnfn convert_uint2_sat(int2);
   1543 uint2 __ovld __cnfn convert_uint2_rte(uint2);
   1544 uint2 __ovld __cnfn convert_uint2_sat_rte(uint2);
   1545 uint2 __ovld __cnfn convert_uint2_rtz(uint2);
   1546 uint2 __ovld __cnfn convert_uint2_sat_rtz(uint2);
   1547 uint2 __ovld __cnfn convert_uint2_rtp(uint2);
   1548 uint2 __ovld __cnfn convert_uint2_sat_rtp(uint2);
   1549 uint2 __ovld __cnfn convert_uint2_rtn(uint2);
   1550 uint2 __ovld __cnfn convert_uint2_sat_rtn(uint2);
   1551 uint2 __ovld __cnfn convert_uint2(uint2);
   1552 uint2 __ovld __cnfn convert_uint2_sat(uint2);
   1553 uint2 __ovld __cnfn convert_uint2_rte(long2);
   1554 uint2 __ovld __cnfn convert_uint2_sat_rte(long2);
   1555 uint2 __ovld __cnfn convert_uint2_rtz(long2);
   1556 uint2 __ovld __cnfn convert_uint2_sat_rtz(long2);
   1557 uint2 __ovld __cnfn convert_uint2_rtp(long2);
   1558 uint2 __ovld __cnfn convert_uint2_sat_rtp(long2);
   1559 uint2 __ovld __cnfn convert_uint2_rtn(long2);
   1560 uint2 __ovld __cnfn convert_uint2_sat_rtn(long2);
   1561 uint2 __ovld __cnfn convert_uint2(long2);
   1562 uint2 __ovld __cnfn convert_uint2_sat(long2);
   1563 uint2 __ovld __cnfn convert_uint2_rte(ulong2);
   1564 uint2 __ovld __cnfn convert_uint2_sat_rte(ulong2);
   1565 uint2 __ovld __cnfn convert_uint2_rtz(ulong2);
   1566 uint2 __ovld __cnfn convert_uint2_sat_rtz(ulong2);
   1567 uint2 __ovld __cnfn convert_uint2_rtp(ulong2);
   1568 uint2 __ovld __cnfn convert_uint2_sat_rtp(ulong2);
   1569 uint2 __ovld __cnfn convert_uint2_rtn(ulong2);
   1570 uint2 __ovld __cnfn convert_uint2_sat_rtn(ulong2);
   1571 uint2 __ovld __cnfn convert_uint2(ulong2);
   1572 uint2 __ovld __cnfn convert_uint2_sat(ulong2);
   1573 uint2 __ovld __cnfn convert_uint2_rte(float2);
   1574 uint2 __ovld __cnfn convert_uint2_sat_rte(float2);
   1575 uint2 __ovld __cnfn convert_uint2_rtz(float2);
   1576 uint2 __ovld __cnfn convert_uint2_sat_rtz(float2);
   1577 uint2 __ovld __cnfn convert_uint2_rtp(float2);
   1578 uint2 __ovld __cnfn convert_uint2_sat_rtp(float2);
   1579 uint2 __ovld __cnfn convert_uint2_rtn(float2);
   1580 uint2 __ovld __cnfn convert_uint2_sat_rtn(float2);
   1581 uint2 __ovld __cnfn convert_uint2(float2);
   1582 uint2 __ovld __cnfn convert_uint2_sat(float2);
   1583 long2 __ovld __cnfn convert_long2_rte(char2);
   1584 long2 __ovld __cnfn convert_long2_sat_rte(char2);
   1585 long2 __ovld __cnfn convert_long2_rtz(char2);
   1586 long2 __ovld __cnfn convert_long2_sat_rtz(char2);
   1587 long2 __ovld __cnfn convert_long2_rtp(char2);
   1588 long2 __ovld __cnfn convert_long2_sat_rtp(char2);
   1589 long2 __ovld __cnfn convert_long2_rtn(char2);
   1590 long2 __ovld __cnfn convert_long2_sat_rtn(char2);
   1591 long2 __ovld __cnfn convert_long2(char2);
   1592 long2 __ovld __cnfn convert_long2_sat(char2);
   1593 long2 __ovld __cnfn convert_long2_rte(uchar2);
   1594 long2 __ovld __cnfn convert_long2_sat_rte(uchar2);
   1595 long2 __ovld __cnfn convert_long2_rtz(uchar2);
   1596 long2 __ovld __cnfn convert_long2_sat_rtz(uchar2);
   1597 long2 __ovld __cnfn convert_long2_rtp(uchar2);
   1598 long2 __ovld __cnfn convert_long2_sat_rtp(uchar2);
   1599 long2 __ovld __cnfn convert_long2_rtn(uchar2);
   1600 long2 __ovld __cnfn convert_long2_sat_rtn(uchar2);
   1601 long2 __ovld __cnfn convert_long2(uchar2);
   1602 long2 __ovld __cnfn convert_long2_sat(uchar2);
   1603 long2 __ovld __cnfn convert_long2_rte(short2);
   1604 long2 __ovld __cnfn convert_long2_sat_rte(short2);
   1605 long2 __ovld __cnfn convert_long2_rtz(short2);
   1606 long2 __ovld __cnfn convert_long2_sat_rtz(short2);
   1607 long2 __ovld __cnfn convert_long2_rtp(short2);
   1608 long2 __ovld __cnfn convert_long2_sat_rtp(short2);
   1609 long2 __ovld __cnfn convert_long2_rtn(short2);
   1610 long2 __ovld __cnfn convert_long2_sat_rtn(short2);
   1611 long2 __ovld __cnfn convert_long2(short2);
   1612 long2 __ovld __cnfn convert_long2_sat(short2);
   1613 long2 __ovld __cnfn convert_long2_rte(ushort2);
   1614 long2 __ovld __cnfn convert_long2_sat_rte(ushort2);
   1615 long2 __ovld __cnfn convert_long2_rtz(ushort2);
   1616 long2 __ovld __cnfn convert_long2_sat_rtz(ushort2);
   1617 long2 __ovld __cnfn convert_long2_rtp(ushort2);
   1618 long2 __ovld __cnfn convert_long2_sat_rtp(ushort2);
   1619 long2 __ovld __cnfn convert_long2_rtn(ushort2);
   1620 long2 __ovld __cnfn convert_long2_sat_rtn(ushort2);
   1621 long2 __ovld __cnfn convert_long2(ushort2);
   1622 long2 __ovld __cnfn convert_long2_sat(ushort2);
   1623 long2 __ovld __cnfn convert_long2_rte(int2);
   1624 long2 __ovld __cnfn convert_long2_sat_rte(int2);
   1625 long2 __ovld __cnfn convert_long2_rtz(int2);
   1626 long2 __ovld __cnfn convert_long2_sat_rtz(int2);
   1627 long2 __ovld __cnfn convert_long2_rtp(int2);
   1628 long2 __ovld __cnfn convert_long2_sat_rtp(int2);
   1629 long2 __ovld __cnfn convert_long2_rtn(int2);
   1630 long2 __ovld __cnfn convert_long2_sat_rtn(int2);
   1631 long2 __ovld __cnfn convert_long2(int2);
   1632 long2 __ovld __cnfn convert_long2_sat(int2);
   1633 long2 __ovld __cnfn convert_long2_rte(uint2);
   1634 long2 __ovld __cnfn convert_long2_sat_rte(uint2);
   1635 long2 __ovld __cnfn convert_long2_rtz(uint2);
   1636 long2 __ovld __cnfn convert_long2_sat_rtz(uint2);
   1637 long2 __ovld __cnfn convert_long2_rtp(uint2);
   1638 long2 __ovld __cnfn convert_long2_sat_rtp(uint2);
   1639 long2 __ovld __cnfn convert_long2_rtn(uint2);
   1640 long2 __ovld __cnfn convert_long2_sat_rtn(uint2);
   1641 long2 __ovld __cnfn convert_long2(uint2);
   1642 long2 __ovld __cnfn convert_long2_sat(uint2);
   1643 long2 __ovld __cnfn convert_long2_rte(long2);
   1644 long2 __ovld __cnfn convert_long2_sat_rte(long2);
   1645 long2 __ovld __cnfn convert_long2_rtz(long2);
   1646 long2 __ovld __cnfn convert_long2_sat_rtz(long2);
   1647 long2 __ovld __cnfn convert_long2_rtp(long2);
   1648 long2 __ovld __cnfn convert_long2_sat_rtp(long2);
   1649 long2 __ovld __cnfn convert_long2_rtn(long2);
   1650 long2 __ovld __cnfn convert_long2_sat_rtn(long2);
   1651 long2 __ovld __cnfn convert_long2(long2);
   1652 long2 __ovld __cnfn convert_long2_sat(long2);
   1653 long2 __ovld __cnfn convert_long2_rte(ulong2);
   1654 long2 __ovld __cnfn convert_long2_sat_rte(ulong2);
   1655 long2 __ovld __cnfn convert_long2_rtz(ulong2);
   1656 long2 __ovld __cnfn convert_long2_sat_rtz(ulong2);
   1657 long2 __ovld __cnfn convert_long2_rtp(ulong2);
   1658 long2 __ovld __cnfn convert_long2_sat_rtp(ulong2);
   1659 long2 __ovld __cnfn convert_long2_rtn(ulong2);
   1660 long2 __ovld __cnfn convert_long2_sat_rtn(ulong2);
   1661 long2 __ovld __cnfn convert_long2(ulong2);
   1662 long2 __ovld __cnfn convert_long2_sat(ulong2);
   1663 long2 __ovld __cnfn convert_long2_rte(float2);
   1664 long2 __ovld __cnfn convert_long2_sat_rte(float2);
   1665 long2 __ovld __cnfn convert_long2_rtz(float2);
   1666 long2 __ovld __cnfn convert_long2_sat_rtz(float2);
   1667 long2 __ovld __cnfn convert_long2_rtp(float2);
   1668 long2 __ovld __cnfn convert_long2_sat_rtp(float2);
   1669 long2 __ovld __cnfn convert_long2_rtn(float2);
   1670 long2 __ovld __cnfn convert_long2_sat_rtn(float2);
   1671 long2 __ovld __cnfn convert_long2(float2);
   1672 long2 __ovld __cnfn convert_long2_sat(float2);
   1673 ulong2 __ovld __cnfn convert_ulong2_rte(char2);
   1674 ulong2 __ovld __cnfn convert_ulong2_sat_rte(char2);
   1675 ulong2 __ovld __cnfn convert_ulong2_rtz(char2);
   1676 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(char2);
   1677 ulong2 __ovld __cnfn convert_ulong2_rtp(char2);
   1678 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(char2);
   1679 ulong2 __ovld __cnfn convert_ulong2_rtn(char2);
   1680 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(char2);
   1681 ulong2 __ovld __cnfn convert_ulong2(char2);
   1682 ulong2 __ovld __cnfn convert_ulong2_sat(char2);
   1683 ulong2 __ovld __cnfn convert_ulong2_rte(uchar2);
   1684 ulong2 __ovld __cnfn convert_ulong2_sat_rte(uchar2);
   1685 ulong2 __ovld __cnfn convert_ulong2_rtz(uchar2);
   1686 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(uchar2);
   1687 ulong2 __ovld __cnfn convert_ulong2_rtp(uchar2);
   1688 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(uchar2);
   1689 ulong2 __ovld __cnfn convert_ulong2_rtn(uchar2);
   1690 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(uchar2);
   1691 ulong2 __ovld __cnfn convert_ulong2(uchar2);
   1692 ulong2 __ovld __cnfn convert_ulong2_sat(uchar2);
   1693 ulong2 __ovld __cnfn convert_ulong2_rte(short2);
   1694 ulong2 __ovld __cnfn convert_ulong2_sat_rte(short2);
   1695 ulong2 __ovld __cnfn convert_ulong2_rtz(short2);
   1696 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(short2);
   1697 ulong2 __ovld __cnfn convert_ulong2_rtp(short2);
   1698 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(short2);
   1699 ulong2 __ovld __cnfn convert_ulong2_rtn(short2);
   1700 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(short2);
   1701 ulong2 __ovld __cnfn convert_ulong2(short2);
   1702 ulong2 __ovld __cnfn convert_ulong2_sat(short2);
   1703 ulong2 __ovld __cnfn convert_ulong2_rte(ushort2);
   1704 ulong2 __ovld __cnfn convert_ulong2_sat_rte(ushort2);
   1705 ulong2 __ovld __cnfn convert_ulong2_rtz(ushort2);
   1706 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(ushort2);
   1707 ulong2 __ovld __cnfn convert_ulong2_rtp(ushort2);
   1708 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(ushort2);
   1709 ulong2 __ovld __cnfn convert_ulong2_rtn(ushort2);
   1710 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(ushort2);
   1711 ulong2 __ovld __cnfn convert_ulong2(ushort2);
   1712 ulong2 __ovld __cnfn convert_ulong2_sat(ushort2);
   1713 ulong2 __ovld __cnfn convert_ulong2_rte(int2);
   1714 ulong2 __ovld __cnfn convert_ulong2_sat_rte(int2);
   1715 ulong2 __ovld __cnfn convert_ulong2_rtz(int2);
   1716 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(int2);
   1717 ulong2 __ovld __cnfn convert_ulong2_rtp(int2);
   1718 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(int2);
   1719 ulong2 __ovld __cnfn convert_ulong2_rtn(int2);
   1720 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(int2);
   1721 ulong2 __ovld __cnfn convert_ulong2(int2);
   1722 ulong2 __ovld __cnfn convert_ulong2_sat(int2);
   1723 ulong2 __ovld __cnfn convert_ulong2_rte(uint2);
   1724 ulong2 __ovld __cnfn convert_ulong2_sat_rte(uint2);
   1725 ulong2 __ovld __cnfn convert_ulong2_rtz(uint2);
   1726 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(uint2);
   1727 ulong2 __ovld __cnfn convert_ulong2_rtp(uint2);
   1728 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(uint2);
   1729 ulong2 __ovld __cnfn convert_ulong2_rtn(uint2);
   1730 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(uint2);
   1731 ulong2 __ovld __cnfn convert_ulong2(uint2);
   1732 ulong2 __ovld __cnfn convert_ulong2_sat(uint2);
   1733 ulong2 __ovld __cnfn convert_ulong2_rte(long2);
   1734 ulong2 __ovld __cnfn convert_ulong2_sat_rte(long2);
   1735 ulong2 __ovld __cnfn convert_ulong2_rtz(long2);
   1736 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(long2);
   1737 ulong2 __ovld __cnfn convert_ulong2_rtp(long2);
   1738 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(long2);
   1739 ulong2 __ovld __cnfn convert_ulong2_rtn(long2);
   1740 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(long2);
   1741 ulong2 __ovld __cnfn convert_ulong2(long2);
   1742 ulong2 __ovld __cnfn convert_ulong2_sat(long2);
   1743 ulong2 __ovld __cnfn convert_ulong2_rte(ulong2);
   1744 ulong2 __ovld __cnfn convert_ulong2_sat_rte(ulong2);
   1745 ulong2 __ovld __cnfn convert_ulong2_rtz(ulong2);
   1746 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(ulong2);
   1747 ulong2 __ovld __cnfn convert_ulong2_rtp(ulong2);
   1748 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(ulong2);
   1749 ulong2 __ovld __cnfn convert_ulong2_rtn(ulong2);
   1750 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(ulong2);
   1751 ulong2 __ovld __cnfn convert_ulong2(ulong2);
   1752 ulong2 __ovld __cnfn convert_ulong2_sat(ulong2);
   1753 ulong2 __ovld __cnfn convert_ulong2_rte(float2);
   1754 ulong2 __ovld __cnfn convert_ulong2_sat_rte(float2);
   1755 ulong2 __ovld __cnfn convert_ulong2_rtz(float2);
   1756 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(float2);
   1757 ulong2 __ovld __cnfn convert_ulong2_rtp(float2);
   1758 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(float2);
   1759 ulong2 __ovld __cnfn convert_ulong2_rtn(float2);
   1760 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(float2);
   1761 ulong2 __ovld __cnfn convert_ulong2(float2);
   1762 ulong2 __ovld __cnfn convert_ulong2_sat(float2);
   1763 float2 __ovld __cnfn convert_float2_rte(char2);
   1764 float2 __ovld __cnfn convert_float2_rtz(char2);
   1765 float2 __ovld __cnfn convert_float2_rtp(char2);
   1766 float2 __ovld __cnfn convert_float2_rtn(char2);
   1767 float2 __ovld __cnfn convert_float2(char2);
   1768 float2 __ovld __cnfn convert_float2_rte(uchar2);
   1769 float2 __ovld __cnfn convert_float2_rtz(uchar2);
   1770 float2 __ovld __cnfn convert_float2_rtp(uchar2);
   1771 float2 __ovld __cnfn convert_float2_rtn(uchar2);
   1772 float2 __ovld __cnfn convert_float2(uchar2);
   1773 float2 __ovld __cnfn convert_float2_rte(short2);
   1774 float2 __ovld __cnfn convert_float2_rtz(short2);
   1775 float2 __ovld __cnfn convert_float2_rtp(short2);
   1776 float2 __ovld __cnfn convert_float2_rtn(short2);
   1777 float2 __ovld __cnfn convert_float2(short2);
   1778 float2 __ovld __cnfn convert_float2_rte(ushort2);
   1779 float2 __ovld __cnfn convert_float2_rtz(ushort2);
   1780 float2 __ovld __cnfn convert_float2_rtp(ushort2);
   1781 float2 __ovld __cnfn convert_float2_rtn(ushort2);
   1782 float2 __ovld __cnfn convert_float2(ushort2);
   1783 float2 __ovld __cnfn convert_float2_rte(int2);
   1784 float2 __ovld __cnfn convert_float2_rtz(int2);
   1785 float2 __ovld __cnfn convert_float2_rtp(int2);
   1786 float2 __ovld __cnfn convert_float2_rtn(int2);
   1787 float2 __ovld __cnfn convert_float2(int2);
   1788 float2 __ovld __cnfn convert_float2_rte(uint2);
   1789 float2 __ovld __cnfn convert_float2_rtz(uint2);
   1790 float2 __ovld __cnfn convert_float2_rtp(uint2);
   1791 float2 __ovld __cnfn convert_float2_rtn(uint2);
   1792 float2 __ovld __cnfn convert_float2(uint2);
   1793 float2 __ovld __cnfn convert_float2_rte(long2);
   1794 float2 __ovld __cnfn convert_float2_rtz(long2);
   1795 float2 __ovld __cnfn convert_float2_rtp(long2);
   1796 float2 __ovld __cnfn convert_float2_rtn(long2);
   1797 float2 __ovld __cnfn convert_float2(long2);
   1798 float2 __ovld __cnfn convert_float2_rte(ulong2);
   1799 float2 __ovld __cnfn convert_float2_rtz(ulong2);
   1800 float2 __ovld __cnfn convert_float2_rtp(ulong2);
   1801 float2 __ovld __cnfn convert_float2_rtn(ulong2);
   1802 float2 __ovld __cnfn convert_float2(ulong2);
   1803 float2 __ovld __cnfn convert_float2_rte(float2);
   1804 float2 __ovld __cnfn convert_float2_rtz(float2);
   1805 float2 __ovld __cnfn convert_float2_rtp(float2);
   1806 float2 __ovld __cnfn convert_float2_rtn(float2);
   1807 float2 __ovld __cnfn convert_float2(float2);
   1808 char3 __ovld __cnfn convert_char3_rte(char3);
   1809 char3 __ovld __cnfn convert_char3_sat_rte(char3);
   1810 char3 __ovld __cnfn convert_char3_rtz(char3);
   1811 char3 __ovld __cnfn convert_char3_sat_rtz(char3);
   1812 char3 __ovld __cnfn convert_char3_rtp(char3);
   1813 char3 __ovld __cnfn convert_char3_sat_rtp(char3);
   1814 char3 __ovld __cnfn convert_char3_rtn(char3);
   1815 char3 __ovld __cnfn convert_char3_sat_rtn(char3);
   1816 char3 __ovld __cnfn convert_char3(char3);
   1817 char3 __ovld __cnfn convert_char3_sat(char3);
   1818 char3 __ovld __cnfn convert_char3_rte(uchar3);
   1819 char3 __ovld __cnfn convert_char3_sat_rte(uchar3);
   1820 char3 __ovld __cnfn convert_char3_rtz(uchar3);
   1821 char3 __ovld __cnfn convert_char3_sat_rtz(uchar3);
   1822 char3 __ovld __cnfn convert_char3_rtp(uchar3);
   1823 char3 __ovld __cnfn convert_char3_sat_rtp(uchar3);
   1824 char3 __ovld __cnfn convert_char3_rtn(uchar3);
   1825 char3 __ovld __cnfn convert_char3_sat_rtn(uchar3);
   1826 char3 __ovld __cnfn convert_char3(uchar3);
   1827 char3 __ovld __cnfn convert_char3_sat(uchar3);
   1828 char3 __ovld __cnfn convert_char3_rte(short3);
   1829 char3 __ovld __cnfn convert_char3_sat_rte(short3);
   1830 char3 __ovld __cnfn convert_char3_rtz(short3);
   1831 char3 __ovld __cnfn convert_char3_sat_rtz(short3);
   1832 char3 __ovld __cnfn convert_char3_rtp(short3);
   1833 char3 __ovld __cnfn convert_char3_sat_rtp(short3);
   1834 char3 __ovld __cnfn convert_char3_rtn(short3);
   1835 char3 __ovld __cnfn convert_char3_sat_rtn(short3);
   1836 char3 __ovld __cnfn convert_char3(short3);
   1837 char3 __ovld __cnfn convert_char3_sat(short3);
   1838 char3 __ovld __cnfn convert_char3_rte(ushort3);
   1839 char3 __ovld __cnfn convert_char3_sat_rte(ushort3);
   1840 char3 __ovld __cnfn convert_char3_rtz(ushort3);
   1841 char3 __ovld __cnfn convert_char3_sat_rtz(ushort3);
   1842 char3 __ovld __cnfn convert_char3_rtp(ushort3);
   1843 char3 __ovld __cnfn convert_char3_sat_rtp(ushort3);
   1844 char3 __ovld __cnfn convert_char3_rtn(ushort3);
   1845 char3 __ovld __cnfn convert_char3_sat_rtn(ushort3);
   1846 char3 __ovld __cnfn convert_char3(ushort3);
   1847 char3 __ovld __cnfn convert_char3_sat(ushort3);
   1848 char3 __ovld __cnfn convert_char3_rte(int3);
   1849 char3 __ovld __cnfn convert_char3_sat_rte(int3);
   1850 char3 __ovld __cnfn convert_char3_rtz(int3);
   1851 char3 __ovld __cnfn convert_char3_sat_rtz(int3);
   1852 char3 __ovld __cnfn convert_char3_rtp(int3);
   1853 char3 __ovld __cnfn convert_char3_sat_rtp(int3);
   1854 char3 __ovld __cnfn convert_char3_rtn(int3);
   1855 char3 __ovld __cnfn convert_char3_sat_rtn(int3);
   1856 char3 __ovld __cnfn convert_char3(int3);
   1857 char3 __ovld __cnfn convert_char3_sat(int3);
   1858 char3 __ovld __cnfn convert_char3_rte(uint3);
   1859 char3 __ovld __cnfn convert_char3_sat_rte(uint3);
   1860 char3 __ovld __cnfn convert_char3_rtz(uint3);
   1861 char3 __ovld __cnfn convert_char3_sat_rtz(uint3);
   1862 char3 __ovld __cnfn convert_char3_rtp(uint3);
   1863 char3 __ovld __cnfn convert_char3_sat_rtp(uint3);
   1864 char3 __ovld __cnfn convert_char3_rtn(uint3);
   1865 char3 __ovld __cnfn convert_char3_sat_rtn(uint3);
   1866 char3 __ovld __cnfn convert_char3(uint3);
   1867 char3 __ovld __cnfn convert_char3_sat(uint3);
   1868 char3 __ovld __cnfn convert_char3_rte(long3);
   1869 char3 __ovld __cnfn convert_char3_sat_rte(long3);
   1870 char3 __ovld __cnfn convert_char3_rtz(long3);
   1871 char3 __ovld __cnfn convert_char3_sat_rtz(long3);
   1872 char3 __ovld __cnfn convert_char3_rtp(long3);
   1873 char3 __ovld __cnfn convert_char3_sat_rtp(long3);
   1874 char3 __ovld __cnfn convert_char3_rtn(long3);
   1875 char3 __ovld __cnfn convert_char3_sat_rtn(long3);
   1876 char3 __ovld __cnfn convert_char3(long3);
   1877 char3 __ovld __cnfn convert_char3_sat(long3);
   1878 char3 __ovld __cnfn convert_char3_rte(ulong3);
   1879 char3 __ovld __cnfn convert_char3_sat_rte(ulong3);
   1880 char3 __ovld __cnfn convert_char3_rtz(ulong3);
   1881 char3 __ovld __cnfn convert_char3_sat_rtz(ulong3);
   1882 char3 __ovld __cnfn convert_char3_rtp(ulong3);
   1883 char3 __ovld __cnfn convert_char3_sat_rtp(ulong3);
   1884 char3 __ovld __cnfn convert_char3_rtn(ulong3);
   1885 char3 __ovld __cnfn convert_char3_sat_rtn(ulong3);
   1886 char3 __ovld __cnfn convert_char3(ulong3);
   1887 char3 __ovld __cnfn convert_char3_sat(ulong3);
   1888 char3 __ovld __cnfn convert_char3_rte(float3);
   1889 char3 __ovld __cnfn convert_char3_sat_rte(float3);
   1890 char3 __ovld __cnfn convert_char3_rtz(float3);
   1891 char3 __ovld __cnfn convert_char3_sat_rtz(float3);
   1892 char3 __ovld __cnfn convert_char3_rtp(float3);
   1893 char3 __ovld __cnfn convert_char3_sat_rtp(float3);
   1894 char3 __ovld __cnfn convert_char3_rtn(float3);
   1895 char3 __ovld __cnfn convert_char3_sat_rtn(float3);
   1896 char3 __ovld __cnfn convert_char3(float3);
   1897 char3 __ovld __cnfn convert_char3_sat(float3);
   1898 uchar3 __ovld __cnfn convert_uchar3_rte(char3);
   1899 uchar3 __ovld __cnfn convert_uchar3_sat_rte(char3);
   1900 uchar3 __ovld __cnfn convert_uchar3_rtz(char3);
   1901 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(char3);
   1902 uchar3 __ovld __cnfn convert_uchar3_rtp(char3);
   1903 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(char3);
   1904 uchar3 __ovld __cnfn convert_uchar3_rtn(char3);
   1905 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(char3);
   1906 uchar3 __ovld __cnfn convert_uchar3(char3);
   1907 uchar3 __ovld __cnfn convert_uchar3_sat(char3);
   1908 uchar3 __ovld __cnfn convert_uchar3_rte(uchar3);
   1909 uchar3 __ovld __cnfn convert_uchar3_sat_rte(uchar3);
   1910 uchar3 __ovld __cnfn convert_uchar3_rtz(uchar3);
   1911 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(uchar3);
   1912 uchar3 __ovld __cnfn convert_uchar3_rtp(uchar3);
   1913 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(uchar3);
   1914 uchar3 __ovld __cnfn convert_uchar3_rtn(uchar3);
   1915 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(uchar3);
   1916 uchar3 __ovld __cnfn convert_uchar3(uchar3);
   1917 uchar3 __ovld __cnfn convert_uchar3_sat(uchar3);
   1918 uchar3 __ovld __cnfn convert_uchar3_rte(short3);
   1919 uchar3 __ovld __cnfn convert_uchar3_sat_rte(short3);
   1920 uchar3 __ovld __cnfn convert_uchar3_rtz(short3);
   1921 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(short3);
   1922 uchar3 __ovld __cnfn convert_uchar3_rtp(short3);
   1923 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(short3);
   1924 uchar3 __ovld __cnfn convert_uchar3_rtn(short3);
   1925 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(short3);
   1926 uchar3 __ovld __cnfn convert_uchar3(short3);
   1927 uchar3 __ovld __cnfn convert_uchar3_sat(short3);
   1928 uchar3 __ovld __cnfn convert_uchar3_rte(ushort3);
   1929 uchar3 __ovld __cnfn convert_uchar3_sat_rte(ushort3);
   1930 uchar3 __ovld __cnfn convert_uchar3_rtz(ushort3);
   1931 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(ushort3);
   1932 uchar3 __ovld __cnfn convert_uchar3_rtp(ushort3);
   1933 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(ushort3);
   1934 uchar3 __ovld __cnfn convert_uchar3_rtn(ushort3);
   1935 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(ushort3);
   1936 uchar3 __ovld __cnfn convert_uchar3(ushort3);
   1937 uchar3 __ovld __cnfn convert_uchar3_sat(ushort3);
   1938 uchar3 __ovld __cnfn convert_uchar3_rte(int3);
   1939 uchar3 __ovld __cnfn convert_uchar3_sat_rte(int3);
   1940 uchar3 __ovld __cnfn convert_uchar3_rtz(int3);
   1941 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(int3);
   1942 uchar3 __ovld __cnfn convert_uchar3_rtp(int3);
   1943 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(int3);
   1944 uchar3 __ovld __cnfn convert_uchar3_rtn(int3);
   1945 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(int3);
   1946 uchar3 __ovld __cnfn convert_uchar3(int3);
   1947 uchar3 __ovld __cnfn convert_uchar3_sat(int3);
   1948 uchar3 __ovld __cnfn convert_uchar3_rte(uint3);
   1949 uchar3 __ovld __cnfn convert_uchar3_sat_rte(uint3);
   1950 uchar3 __ovld __cnfn convert_uchar3_rtz(uint3);
   1951 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(uint3);
   1952 uchar3 __ovld __cnfn convert_uchar3_rtp(uint3);
   1953 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(uint3);
   1954 uchar3 __ovld __cnfn convert_uchar3_rtn(uint3);
   1955 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(uint3);
   1956 uchar3 __ovld __cnfn convert_uchar3(uint3);
   1957 uchar3 __ovld __cnfn convert_uchar3_sat(uint3);
   1958 uchar3 __ovld __cnfn convert_uchar3_rte(long3);
   1959 uchar3 __ovld __cnfn convert_uchar3_sat_rte(long3);
   1960 uchar3 __ovld __cnfn convert_uchar3_rtz(long3);
   1961 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(long3);
   1962 uchar3 __ovld __cnfn convert_uchar3_rtp(long3);
   1963 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(long3);
   1964 uchar3 __ovld __cnfn convert_uchar3_rtn(long3);
   1965 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(long3);
   1966 uchar3 __ovld __cnfn convert_uchar3(long3);
   1967 uchar3 __ovld __cnfn convert_uchar3_sat(long3);
   1968 uchar3 __ovld __cnfn convert_uchar3_rte(ulong3);
   1969 uchar3 __ovld __cnfn convert_uchar3_sat_rte(ulong3);
   1970 uchar3 __ovld __cnfn convert_uchar3_rtz(ulong3);
   1971 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(ulong3);
   1972 uchar3 __ovld __cnfn convert_uchar3_rtp(ulong3);
   1973 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(ulong3);
   1974 uchar3 __ovld __cnfn convert_uchar3_rtn(ulong3);
   1975 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(ulong3);
   1976 uchar3 __ovld __cnfn convert_uchar3(ulong3);
   1977 uchar3 __ovld __cnfn convert_uchar3_sat(ulong3);
   1978 uchar3 __ovld __cnfn convert_uchar3_rte(float3);
   1979 uchar3 __ovld __cnfn convert_uchar3_sat_rte(float3);
   1980 uchar3 __ovld __cnfn convert_uchar3_rtz(float3);
   1981 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(float3);
   1982 uchar3 __ovld __cnfn convert_uchar3_rtp(float3);
   1983 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(float3);
   1984 uchar3 __ovld __cnfn convert_uchar3_rtn(float3);
   1985 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(float3);
   1986 uchar3 __ovld __cnfn convert_uchar3(float3);
   1987 uchar3 __ovld __cnfn convert_uchar3_sat(float3);
   1988 short3 __ovld __cnfn convert_short3_rte(char3);
   1989 short3 __ovld __cnfn convert_short3_sat_rte(char3);
   1990 short3 __ovld __cnfn convert_short3_rtz(char3);
   1991 short3 __ovld __cnfn convert_short3_sat_rtz(char3);
   1992 short3 __ovld __cnfn convert_short3_rtp(char3);
   1993 short3 __ovld __cnfn convert_short3_sat_rtp(char3);
   1994 short3 __ovld __cnfn convert_short3_rtn(char3);
   1995 short3 __ovld __cnfn convert_short3_sat_rtn(char3);
   1996 short3 __ovld __cnfn convert_short3(char3);
   1997 short3 __ovld __cnfn convert_short3_sat(char3);
   1998 short3 __ovld __cnfn convert_short3_rte(uchar3);
   1999 short3 __ovld __cnfn convert_short3_sat_rte(uchar3);
   2000 short3 __ovld __cnfn convert_short3_rtz(uchar3);
   2001 short3 __ovld __cnfn convert_short3_sat_rtz(uchar3);
   2002 short3 __ovld __cnfn convert_short3_rtp(uchar3);
   2003 short3 __ovld __cnfn convert_short3_sat_rtp(uchar3);
   2004 short3 __ovld __cnfn convert_short3_rtn(uchar3);
   2005 short3 __ovld __cnfn convert_short3_sat_rtn(uchar3);
   2006 short3 __ovld __cnfn convert_short3(uchar3);
   2007 short3 __ovld __cnfn convert_short3_sat(uchar3);
   2008 short3 __ovld __cnfn convert_short3_rte(short3);
   2009 short3 __ovld __cnfn convert_short3_sat_rte(short3);
   2010 short3 __ovld __cnfn convert_short3_rtz(short3);
   2011 short3 __ovld __cnfn convert_short3_sat_rtz(short3);
   2012 short3 __ovld __cnfn convert_short3_rtp(short3);
   2013 short3 __ovld __cnfn convert_short3_sat_rtp(short3);
   2014 short3 __ovld __cnfn convert_short3_rtn(short3);
   2015 short3 __ovld __cnfn convert_short3_sat_rtn(short3);
   2016 short3 __ovld __cnfn convert_short3(short3);
   2017 short3 __ovld __cnfn convert_short3_sat(short3);
   2018 short3 __ovld __cnfn convert_short3_rte(ushort3);
   2019 short3 __ovld __cnfn convert_short3_sat_rte(ushort3);
   2020 short3 __ovld __cnfn convert_short3_rtz(ushort3);
   2021 short3 __ovld __cnfn convert_short3_sat_rtz(ushort3);
   2022 short3 __ovld __cnfn convert_short3_rtp(ushort3);
   2023 short3 __ovld __cnfn convert_short3_sat_rtp(ushort3);
   2024 short3 __ovld __cnfn convert_short3_rtn(ushort3);
   2025 short3 __ovld __cnfn convert_short3_sat_rtn(ushort3);
   2026 short3 __ovld __cnfn convert_short3(ushort3);
   2027 short3 __ovld __cnfn convert_short3_sat(ushort3);
   2028 short3 __ovld __cnfn convert_short3_rte(int3);
   2029 short3 __ovld __cnfn convert_short3_sat_rte(int3);
   2030 short3 __ovld __cnfn convert_short3_rtz(int3);
   2031 short3 __ovld __cnfn convert_short3_sat_rtz(int3);
   2032 short3 __ovld __cnfn convert_short3_rtp(int3);
   2033 short3 __ovld __cnfn convert_short3_sat_rtp(int3);
   2034 short3 __ovld __cnfn convert_short3_rtn(int3);
   2035 short3 __ovld __cnfn convert_short3_sat_rtn(int3);
   2036 short3 __ovld __cnfn convert_short3(int3);
   2037 short3 __ovld __cnfn convert_short3_sat(int3);
   2038 short3 __ovld __cnfn convert_short3_rte(uint3);
   2039 short3 __ovld __cnfn convert_short3_sat_rte(uint3);
   2040 short3 __ovld __cnfn convert_short3_rtz(uint3);
   2041 short3 __ovld __cnfn convert_short3_sat_rtz(uint3);
   2042 short3 __ovld __cnfn convert_short3_rtp(uint3);
   2043 short3 __ovld __cnfn convert_short3_sat_rtp(uint3);
   2044 short3 __ovld __cnfn convert_short3_rtn(uint3);
   2045 short3 __ovld __cnfn convert_short3_sat_rtn(uint3);
   2046 short3 __ovld __cnfn convert_short3(uint3);
   2047 short3 __ovld __cnfn convert_short3_sat(uint3);
   2048 short3 __ovld __cnfn convert_short3_rte(long3);
   2049 short3 __ovld __cnfn convert_short3_sat_rte(long3);
   2050 short3 __ovld __cnfn convert_short3_rtz(long3);
   2051 short3 __ovld __cnfn convert_short3_sat_rtz(long3);
   2052 short3 __ovld __cnfn convert_short3_rtp(long3);
   2053 short3 __ovld __cnfn convert_short3_sat_rtp(long3);
   2054 short3 __ovld __cnfn convert_short3_rtn(long3);
   2055 short3 __ovld __cnfn convert_short3_sat_rtn(long3);
   2056 short3 __ovld __cnfn convert_short3(long3);
   2057 short3 __ovld __cnfn convert_short3_sat(long3);
   2058 short3 __ovld __cnfn convert_short3_rte(ulong3);
   2059 short3 __ovld __cnfn convert_short3_sat_rte(ulong3);
   2060 short3 __ovld __cnfn convert_short3_rtz(ulong3);
   2061 short3 __ovld __cnfn convert_short3_sat_rtz(ulong3);
   2062 short3 __ovld __cnfn convert_short3_rtp(ulong3);
   2063 short3 __ovld __cnfn convert_short3_sat_rtp(ulong3);
   2064 short3 __ovld __cnfn convert_short3_rtn(ulong3);
   2065 short3 __ovld __cnfn convert_short3_sat_rtn(ulong3);
   2066 short3 __ovld __cnfn convert_short3(ulong3);
   2067 short3 __ovld __cnfn convert_short3_sat(ulong3);
   2068 short3 __ovld __cnfn convert_short3_rte(float3);
   2069 short3 __ovld __cnfn convert_short3_sat_rte(float3);
   2070 short3 __ovld __cnfn convert_short3_rtz(float3);
   2071 short3 __ovld __cnfn convert_short3_sat_rtz(float3);
   2072 short3 __ovld __cnfn convert_short3_rtp(float3);
   2073 short3 __ovld __cnfn convert_short3_sat_rtp(float3);
   2074 short3 __ovld __cnfn convert_short3_rtn(float3);
   2075 short3 __ovld __cnfn convert_short3_sat_rtn(float3);
   2076 short3 __ovld __cnfn convert_short3(float3);
   2077 short3 __ovld __cnfn convert_short3_sat(float3);
   2078 ushort3 __ovld __cnfn convert_ushort3_rte(char3);
   2079 ushort3 __ovld __cnfn convert_ushort3_sat_rte(char3);
   2080 ushort3 __ovld __cnfn convert_ushort3_rtz(char3);
   2081 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(char3);
   2082 ushort3 __ovld __cnfn convert_ushort3_rtp(char3);
   2083 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(char3);
   2084 ushort3 __ovld __cnfn convert_ushort3_rtn(char3);
   2085 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(char3);
   2086 ushort3 __ovld __cnfn convert_ushort3(char3);
   2087 ushort3 __ovld __cnfn convert_ushort3_sat(char3);
   2088 ushort3 __ovld __cnfn convert_ushort3_rte(uchar3);
   2089 ushort3 __ovld __cnfn convert_ushort3_sat_rte(uchar3);
   2090 ushort3 __ovld __cnfn convert_ushort3_rtz(uchar3);
   2091 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(uchar3);
   2092 ushort3 __ovld __cnfn convert_ushort3_rtp(uchar3);
   2093 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(uchar3);
   2094 ushort3 __ovld __cnfn convert_ushort3_rtn(uchar3);
   2095 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(uchar3);
   2096 ushort3 __ovld __cnfn convert_ushort3(uchar3);
   2097 ushort3 __ovld __cnfn convert_ushort3_sat(uchar3);
   2098 ushort3 __ovld __cnfn convert_ushort3_rte(short3);
   2099 ushort3 __ovld __cnfn convert_ushort3_sat_rte(short3);
   2100 ushort3 __ovld __cnfn convert_ushort3_rtz(short3);
   2101 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(short3);
   2102 ushort3 __ovld __cnfn convert_ushort3_rtp(short3);
   2103 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(short3);
   2104 ushort3 __ovld __cnfn convert_ushort3_rtn(short3);
   2105 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(short3);
   2106 ushort3 __ovld __cnfn convert_ushort3(short3);
   2107 ushort3 __ovld __cnfn convert_ushort3_sat(short3);
   2108 ushort3 __ovld __cnfn convert_ushort3_rte(ushort3);
   2109 ushort3 __ovld __cnfn convert_ushort3_sat_rte(ushort3);
   2110 ushort3 __ovld __cnfn convert_ushort3_rtz(ushort3);
   2111 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(ushort3);
   2112 ushort3 __ovld __cnfn convert_ushort3_rtp(ushort3);
   2113 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(ushort3);
   2114 ushort3 __ovld __cnfn convert_ushort3_rtn(ushort3);
   2115 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(ushort3);
   2116 ushort3 __ovld __cnfn convert_ushort3(ushort3);
   2117 ushort3 __ovld __cnfn convert_ushort3_sat(ushort3);
   2118 ushort3 __ovld __cnfn convert_ushort3_rte(int3);
   2119 ushort3 __ovld __cnfn convert_ushort3_sat_rte(int3);
   2120 ushort3 __ovld __cnfn convert_ushort3_rtz(int3);
   2121 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(int3);
   2122 ushort3 __ovld __cnfn convert_ushort3_rtp(int3);
   2123 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(int3);
   2124 ushort3 __ovld __cnfn convert_ushort3_rtn(int3);
   2125 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(int3);
   2126 ushort3 __ovld __cnfn convert_ushort3(int3);
   2127 ushort3 __ovld __cnfn convert_ushort3_sat(int3);
   2128 ushort3 __ovld __cnfn convert_ushort3_rte(uint3);
   2129 ushort3 __ovld __cnfn convert_ushort3_sat_rte(uint3);
   2130 ushort3 __ovld __cnfn convert_ushort3_rtz(uint3);
   2131 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(uint3);
   2132 ushort3 __ovld __cnfn convert_ushort3_rtp(uint3);
   2133 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(uint3);
   2134 ushort3 __ovld __cnfn convert_ushort3_rtn(uint3);
   2135 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(uint3);
   2136 ushort3 __ovld __cnfn convert_ushort3(uint3);
   2137 ushort3 __ovld __cnfn convert_ushort3_sat(uint3);
   2138 ushort3 __ovld __cnfn convert_ushort3_rte(long3);
   2139 ushort3 __ovld __cnfn convert_ushort3_sat_rte(long3);
   2140 ushort3 __ovld __cnfn convert_ushort3_rtz(long3);
   2141 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(long3);
   2142 ushort3 __ovld __cnfn convert_ushort3_rtp(long3);
   2143 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(long3);
   2144 ushort3 __ovld __cnfn convert_ushort3_rtn(long3);
   2145 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(long3);
   2146 ushort3 __ovld __cnfn convert_ushort3(long3);
   2147 ushort3 __ovld __cnfn convert_ushort3_sat(long3);
   2148 ushort3 __ovld __cnfn convert_ushort3_rte(ulong3);
   2149 ushort3 __ovld __cnfn convert_ushort3_sat_rte(ulong3);
   2150 ushort3 __ovld __cnfn convert_ushort3_rtz(ulong3);
   2151 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(ulong3);
   2152 ushort3 __ovld __cnfn convert_ushort3_rtp(ulong3);
   2153 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(ulong3);
   2154 ushort3 __ovld __cnfn convert_ushort3_rtn(ulong3);
   2155 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(ulong3);
   2156 ushort3 __ovld __cnfn convert_ushort3(ulong3);
   2157 ushort3 __ovld __cnfn convert_ushort3_sat(ulong3);
   2158 ushort3 __ovld __cnfn convert_ushort3_rte(float3);
   2159 ushort3 __ovld __cnfn convert_ushort3_sat_rte(float3);
   2160 ushort3 __ovld __cnfn convert_ushort3_rtz(float3);
   2161 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(float3);
   2162 ushort3 __ovld __cnfn convert_ushort3_rtp(float3);
   2163 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(float3);
   2164 ushort3 __ovld __cnfn convert_ushort3_rtn(float3);
   2165 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(float3);
   2166 ushort3 __ovld __cnfn convert_ushort3(float3);
   2167 ushort3 __ovld __cnfn convert_ushort3_sat(float3);
   2168 int3 __ovld __cnfn convert_int3_rte(char3);
   2169 int3 __ovld __cnfn convert_int3_sat_rte(char3);
   2170 int3 __ovld __cnfn convert_int3_rtz(char3);
   2171 int3 __ovld __cnfn convert_int3_sat_rtz(char3);
   2172 int3 __ovld __cnfn convert_int3_rtp(char3);
   2173 int3 __ovld __cnfn convert_int3_sat_rtp(char3);
   2174 int3 __ovld __cnfn convert_int3_rtn(char3);
   2175 int3 __ovld __cnfn convert_int3_sat_rtn(char3);
   2176 int3 __ovld __cnfn convert_int3(char3);
   2177 int3 __ovld __cnfn convert_int3_sat(char3);
   2178 int3 __ovld __cnfn convert_int3_rte(uchar3);
   2179 int3 __ovld __cnfn convert_int3_sat_rte(uchar3);
   2180 int3 __ovld __cnfn convert_int3_rtz(uchar3);
   2181 int3 __ovld __cnfn convert_int3_sat_rtz(uchar3);
   2182 int3 __ovld __cnfn convert_int3_rtp(uchar3);
   2183 int3 __ovld __cnfn convert_int3_sat_rtp(uchar3);
   2184 int3 __ovld __cnfn convert_int3_rtn(uchar3);
   2185 int3 __ovld __cnfn convert_int3_sat_rtn(uchar3);
   2186 int3 __ovld __cnfn convert_int3(uchar3);
   2187 int3 __ovld __cnfn convert_int3_sat(uchar3);
   2188 int3 __ovld __cnfn convert_int3_rte(short3);
   2189 int3 __ovld __cnfn convert_int3_sat_rte(short3);
   2190 int3 __ovld __cnfn convert_int3_rtz(short3);
   2191 int3 __ovld __cnfn convert_int3_sat_rtz(short3);
   2192 int3 __ovld __cnfn convert_int3_rtp(short3);
   2193 int3 __ovld __cnfn convert_int3_sat_rtp(short3);
   2194 int3 __ovld __cnfn convert_int3_rtn(short3);
   2195 int3 __ovld __cnfn convert_int3_sat_rtn(short3);
   2196 int3 __ovld __cnfn convert_int3(short3);
   2197 int3 __ovld __cnfn convert_int3_sat(short3);
   2198 int3 __ovld __cnfn convert_int3_rte(ushort3);
   2199 int3 __ovld __cnfn convert_int3_sat_rte(ushort3);
   2200 int3 __ovld __cnfn convert_int3_rtz(ushort3);
   2201 int3 __ovld __cnfn convert_int3_sat_rtz(ushort3);
   2202 int3 __ovld __cnfn convert_int3_rtp(ushort3);
   2203 int3 __ovld __cnfn convert_int3_sat_rtp(ushort3);
   2204 int3 __ovld __cnfn convert_int3_rtn(ushort3);
   2205 int3 __ovld __cnfn convert_int3_sat_rtn(ushort3);
   2206 int3 __ovld __cnfn convert_int3(ushort3);
   2207 int3 __ovld __cnfn convert_int3_sat(ushort3);
   2208 int3 __ovld __cnfn convert_int3_rte(int3);
   2209 int3 __ovld __cnfn convert_int3_sat_rte(int3);
   2210 int3 __ovld __cnfn convert_int3_rtz(int3);
   2211 int3 __ovld __cnfn convert_int3_sat_rtz(int3);
   2212 int3 __ovld __cnfn convert_int3_rtp(int3);
   2213 int3 __ovld __cnfn convert_int3_sat_rtp(int3);
   2214 int3 __ovld __cnfn convert_int3_rtn(int3);
   2215 int3 __ovld __cnfn convert_int3_sat_rtn(int3);
   2216 int3 __ovld __cnfn convert_int3(int3);
   2217 int3 __ovld __cnfn convert_int3_sat(int3);
   2218 int3 __ovld __cnfn convert_int3_rte(uint3);
   2219 int3 __ovld __cnfn convert_int3_sat_rte(uint3);
   2220 int3 __ovld __cnfn convert_int3_rtz(uint3);
   2221 int3 __ovld __cnfn convert_int3_sat_rtz(uint3);
   2222 int3 __ovld __cnfn convert_int3_rtp(uint3);
   2223 int3 __ovld __cnfn convert_int3_sat_rtp(uint3);
   2224 int3 __ovld __cnfn convert_int3_rtn(uint3);
   2225 int3 __ovld __cnfn convert_int3_sat_rtn(uint3);
   2226 int3 __ovld __cnfn convert_int3(uint3);
   2227 int3 __ovld __cnfn convert_int3_sat(uint3);
   2228 int3 __ovld __cnfn convert_int3_rte(long3);
   2229 int3 __ovld __cnfn convert_int3_sat_rte(long3);
   2230 int3 __ovld __cnfn convert_int3_rtz(long3);
   2231 int3 __ovld __cnfn convert_int3_sat_rtz(long3);
   2232 int3 __ovld __cnfn convert_int3_rtp(long3);
   2233 int3 __ovld __cnfn convert_int3_sat_rtp(long3);
   2234 int3 __ovld __cnfn convert_int3_rtn(long3);
   2235 int3 __ovld __cnfn convert_int3_sat_rtn(long3);
   2236 int3 __ovld __cnfn convert_int3(long3);
   2237 int3 __ovld __cnfn convert_int3_sat(long3);
   2238 int3 __ovld __cnfn convert_int3_rte(ulong3);
   2239 int3 __ovld __cnfn convert_int3_sat_rte(ulong3);
   2240 int3 __ovld __cnfn convert_int3_rtz(ulong3);
   2241 int3 __ovld __cnfn convert_int3_sat_rtz(ulong3);
   2242 int3 __ovld __cnfn convert_int3_rtp(ulong3);
   2243 int3 __ovld __cnfn convert_int3_sat_rtp(ulong3);
   2244 int3 __ovld __cnfn convert_int3_rtn(ulong3);
   2245 int3 __ovld __cnfn convert_int3_sat_rtn(ulong3);
   2246 int3 __ovld __cnfn convert_int3(ulong3);
   2247 int3 __ovld __cnfn convert_int3_sat(ulong3);
   2248 int3 __ovld __cnfn convert_int3_rte(float3);
   2249 int3 __ovld __cnfn convert_int3_sat_rte(float3);
   2250 int3 __ovld __cnfn convert_int3_rtz(float3);
   2251 int3 __ovld __cnfn convert_int3_sat_rtz(float3);
   2252 int3 __ovld __cnfn convert_int3_rtp(float3);
   2253 int3 __ovld __cnfn convert_int3_sat_rtp(float3);
   2254 int3 __ovld __cnfn convert_int3_rtn(float3);
   2255 int3 __ovld __cnfn convert_int3_sat_rtn(float3);
   2256 int3 __ovld __cnfn convert_int3(float3);
   2257 int3 __ovld __cnfn convert_int3_sat(float3);
   2258 uint3 __ovld __cnfn convert_uint3_rte(char3);
   2259 uint3 __ovld __cnfn convert_uint3_sat_rte(char3);
   2260 uint3 __ovld __cnfn convert_uint3_rtz(char3);
   2261 uint3 __ovld __cnfn convert_uint3_sat_rtz(char3);
   2262 uint3 __ovld __cnfn convert_uint3_rtp(char3);
   2263 uint3 __ovld __cnfn convert_uint3_sat_rtp(char3);
   2264 uint3 __ovld __cnfn convert_uint3_rtn(char3);
   2265 uint3 __ovld __cnfn convert_uint3_sat_rtn(char3);
   2266 uint3 __ovld __cnfn convert_uint3(char3);
   2267 uint3 __ovld __cnfn convert_uint3_sat(char3);
   2268 uint3 __ovld __cnfn convert_uint3_rte(uchar3);
   2269 uint3 __ovld __cnfn convert_uint3_sat_rte(uchar3);
   2270 uint3 __ovld __cnfn convert_uint3_rtz(uchar3);
   2271 uint3 __ovld __cnfn convert_uint3_sat_rtz(uchar3);
   2272 uint3 __ovld __cnfn convert_uint3_rtp(uchar3);
   2273 uint3 __ovld __cnfn convert_uint3_sat_rtp(uchar3);
   2274 uint3 __ovld __cnfn convert_uint3_rtn(uchar3);
   2275 uint3 __ovld __cnfn convert_uint3_sat_rtn(uchar3);
   2276 uint3 __ovld __cnfn convert_uint3(uchar3);
   2277 uint3 __ovld __cnfn convert_uint3_sat(uchar3);
   2278 uint3 __ovld __cnfn convert_uint3_rte(short3);
   2279 uint3 __ovld __cnfn convert_uint3_sat_rte(short3);
   2280 uint3 __ovld __cnfn convert_uint3_rtz(short3);
   2281 uint3 __ovld __cnfn convert_uint3_sat_rtz(short3);
   2282 uint3 __ovld __cnfn convert_uint3_rtp(short3);
   2283 uint3 __ovld __cnfn convert_uint3_sat_rtp(short3);
   2284 uint3 __ovld __cnfn convert_uint3_rtn(short3);
   2285 uint3 __ovld __cnfn convert_uint3_sat_rtn(short3);
   2286 uint3 __ovld __cnfn convert_uint3(short3);
   2287 uint3 __ovld __cnfn convert_uint3_sat(short3);
   2288 uint3 __ovld __cnfn convert_uint3_rte(ushort3);
   2289 uint3 __ovld __cnfn convert_uint3_sat_rte(ushort3);
   2290 uint3 __ovld __cnfn convert_uint3_rtz(ushort3);
   2291 uint3 __ovld __cnfn convert_uint3_sat_rtz(ushort3);
   2292 uint3 __ovld __cnfn convert_uint3_rtp(ushort3);
   2293 uint3 __ovld __cnfn convert_uint3_sat_rtp(ushort3);
   2294 uint3 __ovld __cnfn convert_uint3_rtn(ushort3);
   2295 uint3 __ovld __cnfn convert_uint3_sat_rtn(ushort3);
   2296 uint3 __ovld __cnfn convert_uint3(ushort3);
   2297 uint3 __ovld __cnfn convert_uint3_sat(ushort3);
   2298 uint3 __ovld __cnfn convert_uint3_rte(int3);
   2299 uint3 __ovld __cnfn convert_uint3_sat_rte(int3);
   2300 uint3 __ovld __cnfn convert_uint3_rtz(int3);
   2301 uint3 __ovld __cnfn convert_uint3_sat_rtz(int3);
   2302 uint3 __ovld __cnfn convert_uint3_rtp(int3);
   2303 uint3 __ovld __cnfn convert_uint3_sat_rtp(int3);
   2304 uint3 __ovld __cnfn convert_uint3_rtn(int3);
   2305 uint3 __ovld __cnfn convert_uint3_sat_rtn(int3);
   2306 uint3 __ovld __cnfn convert_uint3(int3);
   2307 uint3 __ovld __cnfn convert_uint3_sat(int3);
   2308 uint3 __ovld __cnfn convert_uint3_rte(uint3);
   2309 uint3 __ovld __cnfn convert_uint3_sat_rte(uint3);
   2310 uint3 __ovld __cnfn convert_uint3_rtz(uint3);
   2311 uint3 __ovld __cnfn convert_uint3_sat_rtz(uint3);
   2312 uint3 __ovld __cnfn convert_uint3_rtp(uint3);
   2313 uint3 __ovld __cnfn convert_uint3_sat_rtp(uint3);
   2314 uint3 __ovld __cnfn convert_uint3_rtn(uint3);
   2315 uint3 __ovld __cnfn convert_uint3_sat_rtn(uint3);
   2316 uint3 __ovld __cnfn convert_uint3(uint3);
   2317 uint3 __ovld __cnfn convert_uint3_sat(uint3);
   2318 uint3 __ovld __cnfn convert_uint3_rte(long3);
   2319 uint3 __ovld __cnfn convert_uint3_sat_rte(long3);
   2320 uint3 __ovld __cnfn convert_uint3_rtz(long3);
   2321 uint3 __ovld __cnfn convert_uint3_sat_rtz(long3);
   2322 uint3 __ovld __cnfn convert_uint3_rtp(long3);
   2323 uint3 __ovld __cnfn convert_uint3_sat_rtp(long3);
   2324 uint3 __ovld __cnfn convert_uint3_rtn(long3);
   2325 uint3 __ovld __cnfn convert_uint3_sat_rtn(long3);
   2326 uint3 __ovld __cnfn convert_uint3(long3);
   2327 uint3 __ovld __cnfn convert_uint3_sat(long3);
   2328 uint3 __ovld __cnfn convert_uint3_rte(ulong3);
   2329 uint3 __ovld __cnfn convert_uint3_sat_rte(ulong3);
   2330 uint3 __ovld __cnfn convert_uint3_rtz(ulong3);
   2331 uint3 __ovld __cnfn convert_uint3_sat_rtz(ulong3);
   2332 uint3 __ovld __cnfn convert_uint3_rtp(ulong3);
   2333 uint3 __ovld __cnfn convert_uint3_sat_rtp(ulong3);
   2334 uint3 __ovld __cnfn convert_uint3_rtn(ulong3);
   2335 uint3 __ovld __cnfn convert_uint3_sat_rtn(ulong3);
   2336 uint3 __ovld __cnfn convert_uint3(ulong3);
   2337 uint3 __ovld __cnfn convert_uint3_sat(ulong3);
   2338 uint3 __ovld __cnfn convert_uint3_rte(float3);
   2339 uint3 __ovld __cnfn convert_uint3_sat_rte(float3);
   2340 uint3 __ovld __cnfn convert_uint3_rtz(float3);
   2341 uint3 __ovld __cnfn convert_uint3_sat_rtz(float3);
   2342 uint3 __ovld __cnfn convert_uint3_rtp(float3);
   2343 uint3 __ovld __cnfn convert_uint3_sat_rtp(float3);
   2344 uint3 __ovld __cnfn convert_uint3_rtn(float3);
   2345 uint3 __ovld __cnfn convert_uint3_sat_rtn(float3);
   2346 uint3 __ovld __cnfn convert_uint3(float3);
   2347 uint3 __ovld __cnfn convert_uint3_sat(float3);
   2348 long3 __ovld __cnfn convert_long3_rte(char3);
   2349 long3 __ovld __cnfn convert_long3_sat_rte(char3);
   2350 long3 __ovld __cnfn convert_long3_rtz(char3);
   2351 long3 __ovld __cnfn convert_long3_sat_rtz(char3);
   2352 long3 __ovld __cnfn convert_long3_rtp(char3);
   2353 long3 __ovld __cnfn convert_long3_sat_rtp(char3);
   2354 long3 __ovld __cnfn convert_long3_rtn(char3);
   2355 long3 __ovld __cnfn convert_long3_sat_rtn(char3);
   2356 long3 __ovld __cnfn convert_long3(char3);
   2357 long3 __ovld __cnfn convert_long3_sat(char3);
   2358 long3 __ovld __cnfn convert_long3_rte(uchar3);
   2359 long3 __ovld __cnfn convert_long3_sat_rte(uchar3);
   2360 long3 __ovld __cnfn convert_long3_rtz(uchar3);
   2361 long3 __ovld __cnfn convert_long3_sat_rtz(uchar3);
   2362 long3 __ovld __cnfn convert_long3_rtp(uchar3);
   2363 long3 __ovld __cnfn convert_long3_sat_rtp(uchar3);
   2364 long3 __ovld __cnfn convert_long3_rtn(uchar3);
   2365 long3 __ovld __cnfn convert_long3_sat_rtn(uchar3);
   2366 long3 __ovld __cnfn convert_long3(uchar3);
   2367 long3 __ovld __cnfn convert_long3_sat(uchar3);
   2368 long3 __ovld __cnfn convert_long3_rte(short3);
   2369 long3 __ovld __cnfn convert_long3_sat_rte(short3);
   2370 long3 __ovld __cnfn convert_long3_rtz(short3);
   2371 long3 __ovld __cnfn convert_long3_sat_rtz(short3);
   2372 long3 __ovld __cnfn convert_long3_rtp(short3);
   2373 long3 __ovld __cnfn convert_long3_sat_rtp(short3);
   2374 long3 __ovld __cnfn convert_long3_rtn(short3);
   2375 long3 __ovld __cnfn convert_long3_sat_rtn(short3);
   2376 long3 __ovld __cnfn convert_long3(short3);
   2377 long3 __ovld __cnfn convert_long3_sat(short3);
   2378 long3 __ovld __cnfn convert_long3_rte(ushort3);
   2379 long3 __ovld __cnfn convert_long3_sat_rte(ushort3);
   2380 long3 __ovld __cnfn convert_long3_rtz(ushort3);
   2381 long3 __ovld __cnfn convert_long3_sat_rtz(ushort3);
   2382 long3 __ovld __cnfn convert_long3_rtp(ushort3);
   2383 long3 __ovld __cnfn convert_long3_sat_rtp(ushort3);
   2384 long3 __ovld __cnfn convert_long3_rtn(ushort3);
   2385 long3 __ovld __cnfn convert_long3_sat_rtn(ushort3);
   2386 long3 __ovld __cnfn convert_long3(ushort3);
   2387 long3 __ovld __cnfn convert_long3_sat(ushort3);
   2388 long3 __ovld __cnfn convert_long3_rte(int3);
   2389 long3 __ovld __cnfn convert_long3_sat_rte(int3);
   2390 long3 __ovld __cnfn convert_long3_rtz(int3);
   2391 long3 __ovld __cnfn convert_long3_sat_rtz(int3);
   2392 long3 __ovld __cnfn convert_long3_rtp(int3);
   2393 long3 __ovld __cnfn convert_long3_sat_rtp(int3);
   2394 long3 __ovld __cnfn convert_long3_rtn(int3);
   2395 long3 __ovld __cnfn convert_long3_sat_rtn(int3);
   2396 long3 __ovld __cnfn convert_long3(int3);
   2397 long3 __ovld __cnfn convert_long3_sat(int3);
   2398 long3 __ovld __cnfn convert_long3_rte(uint3);
   2399 long3 __ovld __cnfn convert_long3_sat_rte(uint3);
   2400 long3 __ovld __cnfn convert_long3_rtz(uint3);
   2401 long3 __ovld __cnfn convert_long3_sat_rtz(uint3);
   2402 long3 __ovld __cnfn convert_long3_rtp(uint3);
   2403 long3 __ovld __cnfn convert_long3_sat_rtp(uint3);
   2404 long3 __ovld __cnfn convert_long3_rtn(uint3);
   2405 long3 __ovld __cnfn convert_long3_sat_rtn(uint3);
   2406 long3 __ovld __cnfn convert_long3(uint3);
   2407 long3 __ovld __cnfn convert_long3_sat(uint3);
   2408 long3 __ovld __cnfn convert_long3_rte(long3);
   2409 long3 __ovld __cnfn convert_long3_sat_rte(long3);
   2410 long3 __ovld __cnfn convert_long3_rtz(long3);
   2411 long3 __ovld __cnfn convert_long3_sat_rtz(long3);
   2412 long3 __ovld __cnfn convert_long3_rtp(long3);
   2413 long3 __ovld __cnfn convert_long3_sat_rtp(long3);
   2414 long3 __ovld __cnfn convert_long3_rtn(long3);
   2415 long3 __ovld __cnfn convert_long3_sat_rtn(long3);
   2416 long3 __ovld __cnfn convert_long3(long3);
   2417 long3 __ovld __cnfn convert_long3_sat(long3);
   2418 long3 __ovld __cnfn convert_long3_rte(ulong3);
   2419 long3 __ovld __cnfn convert_long3_sat_rte(ulong3);
   2420 long3 __ovld __cnfn convert_long3_rtz(ulong3);
   2421 long3 __ovld __cnfn convert_long3_sat_rtz(ulong3);
   2422 long3 __ovld __cnfn convert_long3_rtp(ulong3);
   2423 long3 __ovld __cnfn convert_long3_sat_rtp(ulong3);
   2424 long3 __ovld __cnfn convert_long3_rtn(ulong3);
   2425 long3 __ovld __cnfn convert_long3_sat_rtn(ulong3);
   2426 long3 __ovld __cnfn convert_long3(ulong3);
   2427 long3 __ovld __cnfn convert_long3_sat(ulong3);
   2428 long3 __ovld __cnfn convert_long3_rte(float3);
   2429 long3 __ovld __cnfn convert_long3_sat_rte(float3);
   2430 long3 __ovld __cnfn convert_long3_rtz(float3);
   2431 long3 __ovld __cnfn convert_long3_sat_rtz(float3);
   2432 long3 __ovld __cnfn convert_long3_rtp(float3);
   2433 long3 __ovld __cnfn convert_long3_sat_rtp(float3);
   2434 long3 __ovld __cnfn convert_long3_rtn(float3);
   2435 long3 __ovld __cnfn convert_long3_sat_rtn(float3);
   2436 long3 __ovld __cnfn convert_long3(float3);
   2437 long3 __ovld __cnfn convert_long3_sat(float3);
   2438 ulong3 __ovld __cnfn convert_ulong3_rte(char3);
   2439 ulong3 __ovld __cnfn convert_ulong3_sat_rte(char3);
   2440 ulong3 __ovld __cnfn convert_ulong3_rtz(char3);
   2441 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(char3);
   2442 ulong3 __ovld __cnfn convert_ulong3_rtp(char3);
   2443 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(char3);
   2444 ulong3 __ovld __cnfn convert_ulong3_rtn(char3);
   2445 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(char3);
   2446 ulong3 __ovld __cnfn convert_ulong3(char3);
   2447 ulong3 __ovld __cnfn convert_ulong3_sat(char3);
   2448 ulong3 __ovld __cnfn convert_ulong3_rte(uchar3);
   2449 ulong3 __ovld __cnfn convert_ulong3_sat_rte(uchar3);
   2450 ulong3 __ovld __cnfn convert_ulong3_rtz(uchar3);
   2451 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(uchar3);
   2452 ulong3 __ovld __cnfn convert_ulong3_rtp(uchar3);
   2453 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(uchar3);
   2454 ulong3 __ovld __cnfn convert_ulong3_rtn(uchar3);
   2455 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(uchar3);
   2456 ulong3 __ovld __cnfn convert_ulong3(uchar3);
   2457 ulong3 __ovld __cnfn convert_ulong3_sat(uchar3);
   2458 ulong3 __ovld __cnfn convert_ulong3_rte(short3);
   2459 ulong3 __ovld __cnfn convert_ulong3_sat_rte(short3);
   2460 ulong3 __ovld __cnfn convert_ulong3_rtz(short3);
   2461 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(short3);
   2462 ulong3 __ovld __cnfn convert_ulong3_rtp(short3);
   2463 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(short3);
   2464 ulong3 __ovld __cnfn convert_ulong3_rtn(short3);
   2465 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(short3);
   2466 ulong3 __ovld __cnfn convert_ulong3(short3);
   2467 ulong3 __ovld __cnfn convert_ulong3_sat(short3);
   2468 ulong3 __ovld __cnfn convert_ulong3_rte(ushort3);
   2469 ulong3 __ovld __cnfn convert_ulong3_sat_rte(ushort3);
   2470 ulong3 __ovld __cnfn convert_ulong3_rtz(ushort3);
   2471 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(ushort3);
   2472 ulong3 __ovld __cnfn convert_ulong3_rtp(ushort3);
   2473 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(ushort3);
   2474 ulong3 __ovld __cnfn convert_ulong3_rtn(ushort3);
   2475 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(ushort3);
   2476 ulong3 __ovld __cnfn convert_ulong3(ushort3);
   2477 ulong3 __ovld __cnfn convert_ulong3_sat(ushort3);
   2478 ulong3 __ovld __cnfn convert_ulong3_rte(int3);
   2479 ulong3 __ovld __cnfn convert_ulong3_sat_rte(int3);
   2480 ulong3 __ovld __cnfn convert_ulong3_rtz(int3);
   2481 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(int3);
   2482 ulong3 __ovld __cnfn convert_ulong3_rtp(int3);
   2483 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(int3);
   2484 ulong3 __ovld __cnfn convert_ulong3_rtn(int3);
   2485 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(int3);
   2486 ulong3 __ovld __cnfn convert_ulong3(int3);
   2487 ulong3 __ovld __cnfn convert_ulong3_sat(int3);
   2488 ulong3 __ovld __cnfn convert_ulong3_rte(uint3);
   2489 ulong3 __ovld __cnfn convert_ulong3_sat_rte(uint3);
   2490 ulong3 __ovld __cnfn convert_ulong3_rtz(uint3);
   2491 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(uint3);
   2492 ulong3 __ovld __cnfn convert_ulong3_rtp(uint3);
   2493 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(uint3);
   2494 ulong3 __ovld __cnfn convert_ulong3_rtn(uint3);
   2495 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(uint3);
   2496 ulong3 __ovld __cnfn convert_ulong3(uint3);
   2497 ulong3 __ovld __cnfn convert_ulong3_sat(uint3);
   2498 ulong3 __ovld __cnfn convert_ulong3_rte(long3);
   2499 ulong3 __ovld __cnfn convert_ulong3_sat_rte(long3);
   2500 ulong3 __ovld __cnfn convert_ulong3_rtz(long3);
   2501 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(long3);
   2502 ulong3 __ovld __cnfn convert_ulong3_rtp(long3);
   2503 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(long3);
   2504 ulong3 __ovld __cnfn convert_ulong3_rtn(long3);
   2505 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(long3);
   2506 ulong3 __ovld __cnfn convert_ulong3(long3);
   2507 ulong3 __ovld __cnfn convert_ulong3_sat(long3);
   2508 ulong3 __ovld __cnfn convert_ulong3_rte(ulong3);
   2509 ulong3 __ovld __cnfn convert_ulong3_sat_rte(ulong3);
   2510 ulong3 __ovld __cnfn convert_ulong3_rtz(ulong3);
   2511 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(ulong3);
   2512 ulong3 __ovld __cnfn convert_ulong3_rtp(ulong3);
   2513 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(ulong3);
   2514 ulong3 __ovld __cnfn convert_ulong3_rtn(ulong3);
   2515 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(ulong3);
   2516 ulong3 __ovld __cnfn convert_ulong3(ulong3);
   2517 ulong3 __ovld __cnfn convert_ulong3_sat(ulong3);
   2518 ulong3 __ovld __cnfn convert_ulong3_rte(float3);
   2519 ulong3 __ovld __cnfn convert_ulong3_sat_rte(float3);
   2520 ulong3 __ovld __cnfn convert_ulong3_rtz(float3);
   2521 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(float3);
   2522 ulong3 __ovld __cnfn convert_ulong3_rtp(float3);
   2523 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(float3);
   2524 ulong3 __ovld __cnfn convert_ulong3_rtn(float3);
   2525 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(float3);
   2526 ulong3 __ovld __cnfn convert_ulong3(float3);
   2527 ulong3 __ovld __cnfn convert_ulong3_sat(float3);
   2528 float3 __ovld __cnfn convert_float3_rte(char3);
   2529 float3 __ovld __cnfn convert_float3_rtz(char3);
   2530 float3 __ovld __cnfn convert_float3_rtp(char3);
   2531 float3 __ovld __cnfn convert_float3_rtn(char3);
   2532 float3 __ovld __cnfn convert_float3(char3);
   2533 float3 __ovld __cnfn convert_float3_rte(uchar3);
   2534 float3 __ovld __cnfn convert_float3_rtz(uchar3);
   2535 float3 __ovld __cnfn convert_float3_rtp(uchar3);
   2536 float3 __ovld __cnfn convert_float3_rtn(uchar3);
   2537 float3 __ovld __cnfn convert_float3(uchar3);
   2538 float3 __ovld __cnfn convert_float3_rte(short3);
   2539 float3 __ovld __cnfn convert_float3_rtz(short3);
   2540 float3 __ovld __cnfn convert_float3_rtp(short3);
   2541 float3 __ovld __cnfn convert_float3_rtn(short3);
   2542 float3 __ovld __cnfn convert_float3(short3);
   2543 float3 __ovld __cnfn convert_float3_rte(ushort3);
   2544 float3 __ovld __cnfn convert_float3_rtz(ushort3);
   2545 float3 __ovld __cnfn convert_float3_rtp(ushort3);
   2546 float3 __ovld __cnfn convert_float3_rtn(ushort3);
   2547 float3 __ovld __cnfn convert_float3(ushort3);
   2548 float3 __ovld __cnfn convert_float3_rte(int3);
   2549 float3 __ovld __cnfn convert_float3_rtz(int3);
   2550 float3 __ovld __cnfn convert_float3_rtp(int3);
   2551 float3 __ovld __cnfn convert_float3_rtn(int3);
   2552 float3 __ovld __cnfn convert_float3(int3);
   2553 float3 __ovld __cnfn convert_float3_rte(uint3);
   2554 float3 __ovld __cnfn convert_float3_rtz(uint3);
   2555 float3 __ovld __cnfn convert_float3_rtp(uint3);
   2556 float3 __ovld __cnfn convert_float3_rtn(uint3);
   2557 float3 __ovld __cnfn convert_float3(uint3);
   2558 float3 __ovld __cnfn convert_float3_rte(long3);
   2559 float3 __ovld __cnfn convert_float3_rtz(long3);
   2560 float3 __ovld __cnfn convert_float3_rtp(long3);
   2561 float3 __ovld __cnfn convert_float3_rtn(long3);
   2562 float3 __ovld __cnfn convert_float3(long3);
   2563 float3 __ovld __cnfn convert_float3_rte(ulong3);
   2564 float3 __ovld __cnfn convert_float3_rtz(ulong3);
   2565 float3 __ovld __cnfn convert_float3_rtp(ulong3);
   2566 float3 __ovld __cnfn convert_float3_rtn(ulong3);
   2567 float3 __ovld __cnfn convert_float3(ulong3);
   2568 float3 __ovld __cnfn convert_float3_rte(float3);
   2569 float3 __ovld __cnfn convert_float3_rtz(float3);
   2570 float3 __ovld __cnfn convert_float3_rtp(float3);
   2571 float3 __ovld __cnfn convert_float3_rtn(float3);
   2572 float3 __ovld __cnfn convert_float3(float3);
   2573 char4 __ovld __cnfn convert_char4_rte(char4);
   2574 char4 __ovld __cnfn convert_char4_sat_rte(char4);
   2575 char4 __ovld __cnfn convert_char4_rtz(char4);
   2576 char4 __ovld __cnfn convert_char4_sat_rtz(char4);
   2577 char4 __ovld __cnfn convert_char4_rtp(char4);
   2578 char4 __ovld __cnfn convert_char4_sat_rtp(char4);
   2579 char4 __ovld __cnfn convert_char4_rtn(char4);
   2580 char4 __ovld __cnfn convert_char4_sat_rtn(char4);
   2581 char4 __ovld __cnfn convert_char4(char4);
   2582 char4 __ovld __cnfn convert_char4_sat(char4);
   2583 char4 __ovld __cnfn convert_char4_rte(uchar4);
   2584 char4 __ovld __cnfn convert_char4_sat_rte(uchar4);
   2585 char4 __ovld __cnfn convert_char4_rtz(uchar4);
   2586 char4 __ovld __cnfn convert_char4_sat_rtz(uchar4);
   2587 char4 __ovld __cnfn convert_char4_rtp(uchar4);
   2588 char4 __ovld __cnfn convert_char4_sat_rtp(uchar4);
   2589 char4 __ovld __cnfn convert_char4_rtn(uchar4);
   2590 char4 __ovld __cnfn convert_char4_sat_rtn(uchar4);
   2591 char4 __ovld __cnfn convert_char4(uchar4);
   2592 char4 __ovld __cnfn convert_char4_sat(uchar4);
   2593 char4 __ovld __cnfn convert_char4_rte(short4);
   2594 char4 __ovld __cnfn convert_char4_sat_rte(short4);
   2595 char4 __ovld __cnfn convert_char4_rtz(short4);
   2596 char4 __ovld __cnfn convert_char4_sat_rtz(short4);
   2597 char4 __ovld __cnfn convert_char4_rtp(short4);
   2598 char4 __ovld __cnfn convert_char4_sat_rtp(short4);
   2599 char4 __ovld __cnfn convert_char4_rtn(short4);
   2600 char4 __ovld __cnfn convert_char4_sat_rtn(short4);
   2601 char4 __ovld __cnfn convert_char4(short4);
   2602 char4 __ovld __cnfn convert_char4_sat(short4);
   2603 char4 __ovld __cnfn convert_char4_rte(ushort4);
   2604 char4 __ovld __cnfn convert_char4_sat_rte(ushort4);
   2605 char4 __ovld __cnfn convert_char4_rtz(ushort4);
   2606 char4 __ovld __cnfn convert_char4_sat_rtz(ushort4);
   2607 char4 __ovld __cnfn convert_char4_rtp(ushort4);
   2608 char4 __ovld __cnfn convert_char4_sat_rtp(ushort4);
   2609 char4 __ovld __cnfn convert_char4_rtn(ushort4);
   2610 char4 __ovld __cnfn convert_char4_sat_rtn(ushort4);
   2611 char4 __ovld __cnfn convert_char4(ushort4);
   2612 char4 __ovld __cnfn convert_char4_sat(ushort4);
   2613 char4 __ovld __cnfn convert_char4_rte(int4);
   2614 char4 __ovld __cnfn convert_char4_sat_rte(int4);
   2615 char4 __ovld __cnfn convert_char4_rtz(int4);
   2616 char4 __ovld __cnfn convert_char4_sat_rtz(int4);
   2617 char4 __ovld __cnfn convert_char4_rtp(int4);
   2618 char4 __ovld __cnfn convert_char4_sat_rtp(int4);
   2619 char4 __ovld __cnfn convert_char4_rtn(int4);
   2620 char4 __ovld __cnfn convert_char4_sat_rtn(int4);
   2621 char4 __ovld __cnfn convert_char4(int4);
   2622 char4 __ovld __cnfn convert_char4_sat(int4);
   2623 char4 __ovld __cnfn convert_char4_rte(uint4);
   2624 char4 __ovld __cnfn convert_char4_sat_rte(uint4);
   2625 char4 __ovld __cnfn convert_char4_rtz(uint4);
   2626 char4 __ovld __cnfn convert_char4_sat_rtz(uint4);
   2627 char4 __ovld __cnfn convert_char4_rtp(uint4);
   2628 char4 __ovld __cnfn convert_char4_sat_rtp(uint4);
   2629 char4 __ovld __cnfn convert_char4_rtn(uint4);
   2630 char4 __ovld __cnfn convert_char4_sat_rtn(uint4);
   2631 char4 __ovld __cnfn convert_char4(uint4);
   2632 char4 __ovld __cnfn convert_char4_sat(uint4);
   2633 char4 __ovld __cnfn convert_char4_rte(long4);
   2634 char4 __ovld __cnfn convert_char4_sat_rte(long4);
   2635 char4 __ovld __cnfn convert_char4_rtz(long4);
   2636 char4 __ovld __cnfn convert_char4_sat_rtz(long4);
   2637 char4 __ovld __cnfn convert_char4_rtp(long4);
   2638 char4 __ovld __cnfn convert_char4_sat_rtp(long4);
   2639 char4 __ovld __cnfn convert_char4_rtn(long4);
   2640 char4 __ovld __cnfn convert_char4_sat_rtn(long4);
   2641 char4 __ovld __cnfn convert_char4(long4);
   2642 char4 __ovld __cnfn convert_char4_sat(long4);
   2643 char4 __ovld __cnfn convert_char4_rte(ulong4);
   2644 char4 __ovld __cnfn convert_char4_sat_rte(ulong4);
   2645 char4 __ovld __cnfn convert_char4_rtz(ulong4);
   2646 char4 __ovld __cnfn convert_char4_sat_rtz(ulong4);
   2647 char4 __ovld __cnfn convert_char4_rtp(ulong4);
   2648 char4 __ovld __cnfn convert_char4_sat_rtp(ulong4);
   2649 char4 __ovld __cnfn convert_char4_rtn(ulong4);
   2650 char4 __ovld __cnfn convert_char4_sat_rtn(ulong4);
   2651 char4 __ovld __cnfn convert_char4(ulong4);
   2652 char4 __ovld __cnfn convert_char4_sat(ulong4);
   2653 char4 __ovld __cnfn convert_char4_rte(float4);
   2654 char4 __ovld __cnfn convert_char4_sat_rte(float4);
   2655 char4 __ovld __cnfn convert_char4_rtz(float4);
   2656 char4 __ovld __cnfn convert_char4_sat_rtz(float4);
   2657 char4 __ovld __cnfn convert_char4_rtp(float4);
   2658 char4 __ovld __cnfn convert_char4_sat_rtp(float4);
   2659 char4 __ovld __cnfn convert_char4_rtn(float4);
   2660 char4 __ovld __cnfn convert_char4_sat_rtn(float4);
   2661 char4 __ovld __cnfn convert_char4(float4);
   2662 char4 __ovld __cnfn convert_char4_sat(float4);
   2663 uchar4 __ovld __cnfn convert_uchar4_rte(char4);
   2664 uchar4 __ovld __cnfn convert_uchar4_sat_rte(char4);
   2665 uchar4 __ovld __cnfn convert_uchar4_rtz(char4);
   2666 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(char4);
   2667 uchar4 __ovld __cnfn convert_uchar4_rtp(char4);
   2668 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(char4);
   2669 uchar4 __ovld __cnfn convert_uchar4_rtn(char4);
   2670 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(char4);
   2671 uchar4 __ovld __cnfn convert_uchar4(char4);
   2672 uchar4 __ovld __cnfn convert_uchar4_sat(char4);
   2673 uchar4 __ovld __cnfn convert_uchar4_rte(uchar4);
   2674 uchar4 __ovld __cnfn convert_uchar4_sat_rte(uchar4);
   2675 uchar4 __ovld __cnfn convert_uchar4_rtz(uchar4);
   2676 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(uchar4);
   2677 uchar4 __ovld __cnfn convert_uchar4_rtp(uchar4);
   2678 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(uchar4);
   2679 uchar4 __ovld __cnfn convert_uchar4_rtn(uchar4);
   2680 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(uchar4);
   2681 uchar4 __ovld __cnfn convert_uchar4(uchar4);
   2682 uchar4 __ovld __cnfn convert_uchar4_sat(uchar4);
   2683 uchar4 __ovld __cnfn convert_uchar4_rte(short4);
   2684 uchar4 __ovld __cnfn convert_uchar4_sat_rte(short4);
   2685 uchar4 __ovld __cnfn convert_uchar4_rtz(short4);
   2686 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(short4);
   2687 uchar4 __ovld __cnfn convert_uchar4_rtp(short4);
   2688 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(short4);
   2689 uchar4 __ovld __cnfn convert_uchar4_rtn(short4);
   2690 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(short4);
   2691 uchar4 __ovld __cnfn convert_uchar4(short4);
   2692 uchar4 __ovld __cnfn convert_uchar4_sat(short4);
   2693 uchar4 __ovld __cnfn convert_uchar4_rte(ushort4);
   2694 uchar4 __ovld __cnfn convert_uchar4_sat_rte(ushort4);
   2695 uchar4 __ovld __cnfn convert_uchar4_rtz(ushort4);
   2696 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(ushort4);
   2697 uchar4 __ovld __cnfn convert_uchar4_rtp(ushort4);
   2698 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(ushort4);
   2699 uchar4 __ovld __cnfn convert_uchar4_rtn(ushort4);
   2700 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(ushort4);
   2701 uchar4 __ovld __cnfn convert_uchar4(ushort4);
   2702 uchar4 __ovld __cnfn convert_uchar4_sat(ushort4);
   2703 uchar4 __ovld __cnfn convert_uchar4_rte(int4);
   2704 uchar4 __ovld __cnfn convert_uchar4_sat_rte(int4);
   2705 uchar4 __ovld __cnfn convert_uchar4_rtz(int4);
   2706 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(int4);
   2707 uchar4 __ovld __cnfn convert_uchar4_rtp(int4);
   2708 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(int4);
   2709 uchar4 __ovld __cnfn convert_uchar4_rtn(int4);
   2710 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(int4);
   2711 uchar4 __ovld __cnfn convert_uchar4(int4);
   2712 uchar4 __ovld __cnfn convert_uchar4_sat(int4);
   2713 uchar4 __ovld __cnfn convert_uchar4_rte(uint4);
   2714 uchar4 __ovld __cnfn convert_uchar4_sat_rte(uint4);
   2715 uchar4 __ovld __cnfn convert_uchar4_rtz(uint4);
   2716 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(uint4);
   2717 uchar4 __ovld __cnfn convert_uchar4_rtp(uint4);
   2718 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(uint4);
   2719 uchar4 __ovld __cnfn convert_uchar4_rtn(uint4);
   2720 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(uint4);
   2721 uchar4 __ovld __cnfn convert_uchar4(uint4);
   2722 uchar4 __ovld __cnfn convert_uchar4_sat(uint4);
   2723 uchar4 __ovld __cnfn convert_uchar4_rte(long4);
   2724 uchar4 __ovld __cnfn convert_uchar4_sat_rte(long4);
   2725 uchar4 __ovld __cnfn convert_uchar4_rtz(long4);
   2726 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(long4);
   2727 uchar4 __ovld __cnfn convert_uchar4_rtp(long4);
   2728 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(long4);
   2729 uchar4 __ovld __cnfn convert_uchar4_rtn(long4);
   2730 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(long4);
   2731 uchar4 __ovld __cnfn convert_uchar4(long4);
   2732 uchar4 __ovld __cnfn convert_uchar4_sat(long4);
   2733 uchar4 __ovld __cnfn convert_uchar4_rte(ulong4);
   2734 uchar4 __ovld __cnfn convert_uchar4_sat_rte(ulong4);
   2735 uchar4 __ovld __cnfn convert_uchar4_rtz(ulong4);
   2736 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(ulong4);
   2737 uchar4 __ovld __cnfn convert_uchar4_rtp(ulong4);
   2738 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(ulong4);
   2739 uchar4 __ovld __cnfn convert_uchar4_rtn(ulong4);
   2740 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(ulong4);
   2741 uchar4 __ovld __cnfn convert_uchar4(ulong4);
   2742 uchar4 __ovld __cnfn convert_uchar4_sat(ulong4);
   2743 uchar4 __ovld __cnfn convert_uchar4_rte(float4);
   2744 uchar4 __ovld __cnfn convert_uchar4_sat_rte(float4);
   2745 uchar4 __ovld __cnfn convert_uchar4_rtz(float4);
   2746 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(float4);
   2747 uchar4 __ovld __cnfn convert_uchar4_rtp(float4);
   2748 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(float4);
   2749 uchar4 __ovld __cnfn convert_uchar4_rtn(float4);
   2750 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(float4);
   2751 uchar4 __ovld __cnfn convert_uchar4(float4);
   2752 uchar4 __ovld __cnfn convert_uchar4_sat(float4);
   2753 short4 __ovld __cnfn convert_short4_rte(char4);
   2754 short4 __ovld __cnfn convert_short4_sat_rte(char4);
   2755 short4 __ovld __cnfn convert_short4_rtz(char4);
   2756 short4 __ovld __cnfn convert_short4_sat_rtz(char4);
   2757 short4 __ovld __cnfn convert_short4_rtp(char4);
   2758 short4 __ovld __cnfn convert_short4_sat_rtp(char4);
   2759 short4 __ovld __cnfn convert_short4_rtn(char4);
   2760 short4 __ovld __cnfn convert_short4_sat_rtn(char4);
   2761 short4 __ovld __cnfn convert_short4(char4);
   2762 short4 __ovld __cnfn convert_short4_sat(char4);
   2763 short4 __ovld __cnfn convert_short4_rte(uchar4);
   2764 short4 __ovld __cnfn convert_short4_sat_rte(uchar4);
   2765 short4 __ovld __cnfn convert_short4_rtz(uchar4);
   2766 short4 __ovld __cnfn convert_short4_sat_rtz(uchar4);
   2767 short4 __ovld __cnfn convert_short4_rtp(uchar4);
   2768 short4 __ovld __cnfn convert_short4_sat_rtp(uchar4);
   2769 short4 __ovld __cnfn convert_short4_rtn(uchar4);
   2770 short4 __ovld __cnfn convert_short4_sat_rtn(uchar4);
   2771 short4 __ovld __cnfn convert_short4(uchar4);
   2772 short4 __ovld __cnfn convert_short4_sat(uchar4);
   2773 short4 __ovld __cnfn convert_short4_rte(short4);
   2774 short4 __ovld __cnfn convert_short4_sat_rte(short4);
   2775 short4 __ovld __cnfn convert_short4_rtz(short4);
   2776 short4 __ovld __cnfn convert_short4_sat_rtz(short4);
   2777 short4 __ovld __cnfn convert_short4_rtp(short4);
   2778 short4 __ovld __cnfn convert_short4_sat_rtp(short4);
   2779 short4 __ovld __cnfn convert_short4_rtn(short4);
   2780 short4 __ovld __cnfn convert_short4_sat_rtn(short4);
   2781 short4 __ovld __cnfn convert_short4(short4);
   2782 short4 __ovld __cnfn convert_short4_sat(short4);
   2783 short4 __ovld __cnfn convert_short4_rte(ushort4);
   2784 short4 __ovld __cnfn convert_short4_sat_rte(ushort4);
   2785 short4 __ovld __cnfn convert_short4_rtz(ushort4);
   2786 short4 __ovld __cnfn convert_short4_sat_rtz(ushort4);
   2787 short4 __ovld __cnfn convert_short4_rtp(ushort4);
   2788 short4 __ovld __cnfn convert_short4_sat_rtp(ushort4);
   2789 short4 __ovld __cnfn convert_short4_rtn(ushort4);
   2790 short4 __ovld __cnfn convert_short4_sat_rtn(ushort4);
   2791 short4 __ovld __cnfn convert_short4(ushort4);
   2792 short4 __ovld __cnfn convert_short4_sat(ushort4);
   2793 short4 __ovld __cnfn convert_short4_rte(int4);
   2794 short4 __ovld __cnfn convert_short4_sat_rte(int4);
   2795 short4 __ovld __cnfn convert_short4_rtz(int4);
   2796 short4 __ovld __cnfn convert_short4_sat_rtz(int4);
   2797 short4 __ovld __cnfn convert_short4_rtp(int4);
   2798 short4 __ovld __cnfn convert_short4_sat_rtp(int4);
   2799 short4 __ovld __cnfn convert_short4_rtn(int4);
   2800 short4 __ovld __cnfn convert_short4_sat_rtn(int4);
   2801 short4 __ovld __cnfn convert_short4(int4);
   2802 short4 __ovld __cnfn convert_short4_sat(int4);
   2803 short4 __ovld __cnfn convert_short4_rte(uint4);
   2804 short4 __ovld __cnfn convert_short4_sat_rte(uint4);
   2805 short4 __ovld __cnfn convert_short4_rtz(uint4);
   2806 short4 __ovld __cnfn convert_short4_sat_rtz(uint4);
   2807 short4 __ovld __cnfn convert_short4_rtp(uint4);
   2808 short4 __ovld __cnfn convert_short4_sat_rtp(uint4);
   2809 short4 __ovld __cnfn convert_short4_rtn(uint4);
   2810 short4 __ovld __cnfn convert_short4_sat_rtn(uint4);
   2811 short4 __ovld __cnfn convert_short4(uint4);
   2812 short4 __ovld __cnfn convert_short4_sat(uint4);
   2813 short4 __ovld __cnfn convert_short4_rte(long4);
   2814 short4 __ovld __cnfn convert_short4_sat_rte(long4);
   2815 short4 __ovld __cnfn convert_short4_rtz(long4);
   2816 short4 __ovld __cnfn convert_short4_sat_rtz(long4);
   2817 short4 __ovld __cnfn convert_short4_rtp(long4);
   2818 short4 __ovld __cnfn convert_short4_sat_rtp(long4);
   2819 short4 __ovld __cnfn convert_short4_rtn(long4);
   2820 short4 __ovld __cnfn convert_short4_sat_rtn(long4);
   2821 short4 __ovld __cnfn convert_short4(long4);
   2822 short4 __ovld __cnfn convert_short4_sat(long4);
   2823 short4 __ovld __cnfn convert_short4_rte(ulong4);
   2824 short4 __ovld __cnfn convert_short4_sat_rte(ulong4);
   2825 short4 __ovld __cnfn convert_short4_rtz(ulong4);
   2826 short4 __ovld __cnfn convert_short4_sat_rtz(ulong4);
   2827 short4 __ovld __cnfn convert_short4_rtp(ulong4);
   2828 short4 __ovld __cnfn convert_short4_sat_rtp(ulong4);
   2829 short4 __ovld __cnfn convert_short4_rtn(ulong4);
   2830 short4 __ovld __cnfn convert_short4_sat_rtn(ulong4);
   2831 short4 __ovld __cnfn convert_short4(ulong4);
   2832 short4 __ovld __cnfn convert_short4_sat(ulong4);
   2833 short4 __ovld __cnfn convert_short4_rte(float4);
   2834 short4 __ovld __cnfn convert_short4_sat_rte(float4);
   2835 short4 __ovld __cnfn convert_short4_rtz(float4);
   2836 short4 __ovld __cnfn convert_short4_sat_rtz(float4);
   2837 short4 __ovld __cnfn convert_short4_rtp(float4);
   2838 short4 __ovld __cnfn convert_short4_sat_rtp(float4);
   2839 short4 __ovld __cnfn convert_short4_rtn(float4);
   2840 short4 __ovld __cnfn convert_short4_sat_rtn(float4);
   2841 short4 __ovld __cnfn convert_short4(float4);
   2842 short4 __ovld __cnfn convert_short4_sat(float4);
   2843 ushort4 __ovld __cnfn convert_ushort4_rte(char4);
   2844 ushort4 __ovld __cnfn convert_ushort4_sat_rte(char4);
   2845 ushort4 __ovld __cnfn convert_ushort4_rtz(char4);
   2846 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(char4);
   2847 ushort4 __ovld __cnfn convert_ushort4_rtp(char4);
   2848 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(char4);
   2849 ushort4 __ovld __cnfn convert_ushort4_rtn(char4);
   2850 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(char4);
   2851 ushort4 __ovld __cnfn convert_ushort4(char4);
   2852 ushort4 __ovld __cnfn convert_ushort4_sat(char4);
   2853 ushort4 __ovld __cnfn convert_ushort4_rte(uchar4);
   2854 ushort4 __ovld __cnfn convert_ushort4_sat_rte(uchar4);
   2855 ushort4 __ovld __cnfn convert_ushort4_rtz(uchar4);
   2856 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(uchar4);
   2857 ushort4 __ovld __cnfn convert_ushort4_rtp(uchar4);
   2858 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(uchar4);
   2859 ushort4 __ovld __cnfn convert_ushort4_rtn(uchar4);
   2860 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(uchar4);
   2861 ushort4 __ovld __cnfn convert_ushort4(uchar4);
   2862 ushort4 __ovld __cnfn convert_ushort4_sat(uchar4);
   2863 ushort4 __ovld __cnfn convert_ushort4_rte(short4);
   2864 ushort4 __ovld __cnfn convert_ushort4_sat_rte(short4);
   2865 ushort4 __ovld __cnfn convert_ushort4_rtz(short4);
   2866 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(short4);
   2867 ushort4 __ovld __cnfn convert_ushort4_rtp(short4);
   2868 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(short4);
   2869 ushort4 __ovld __cnfn convert_ushort4_rtn(short4);
   2870 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(short4);
   2871 ushort4 __ovld __cnfn convert_ushort4(short4);
   2872 ushort4 __ovld __cnfn convert_ushort4_sat(short4);
   2873 ushort4 __ovld __cnfn convert_ushort4_rte(ushort4);
   2874 ushort4 __ovld __cnfn convert_ushort4_sat_rte(ushort4);
   2875 ushort4 __ovld __cnfn convert_ushort4_rtz(ushort4);
   2876 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(ushort4);
   2877 ushort4 __ovld __cnfn convert_ushort4_rtp(ushort4);
   2878 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(ushort4);
   2879 ushort4 __ovld __cnfn convert_ushort4_rtn(ushort4);
   2880 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(ushort4);
   2881 ushort4 __ovld __cnfn convert_ushort4(ushort4);
   2882 ushort4 __ovld __cnfn convert_ushort4_sat(ushort4);
   2883 ushort4 __ovld __cnfn convert_ushort4_rte(int4);
   2884 ushort4 __ovld __cnfn convert_ushort4_sat_rte(int4);
   2885 ushort4 __ovld __cnfn convert_ushort4_rtz(int4);
   2886 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(int4);
   2887 ushort4 __ovld __cnfn convert_ushort4_rtp(int4);
   2888 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(int4);
   2889 ushort4 __ovld __cnfn convert_ushort4_rtn(int4);
   2890 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(int4);
   2891 ushort4 __ovld __cnfn convert_ushort4(int4);
   2892 ushort4 __ovld __cnfn convert_ushort4_sat(int4);
   2893 ushort4 __ovld __cnfn convert_ushort4_rte(uint4);
   2894 ushort4 __ovld __cnfn convert_ushort4_sat_rte(uint4);
   2895 ushort4 __ovld __cnfn convert_ushort4_rtz(uint4);
   2896 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(uint4);
   2897 ushort4 __ovld __cnfn convert_ushort4_rtp(uint4);
   2898 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(uint4);
   2899 ushort4 __ovld __cnfn convert_ushort4_rtn(uint4);
   2900 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(uint4);
   2901 ushort4 __ovld __cnfn convert_ushort4(uint4);
   2902 ushort4 __ovld __cnfn convert_ushort4_sat(uint4);
   2903 ushort4 __ovld __cnfn convert_ushort4_rte(long4);
   2904 ushort4 __ovld __cnfn convert_ushort4_sat_rte(long4);
   2905 ushort4 __ovld __cnfn convert_ushort4_rtz(long4);
   2906 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(long4);
   2907 ushort4 __ovld __cnfn convert_ushort4_rtp(long4);
   2908 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(long4);
   2909 ushort4 __ovld __cnfn convert_ushort4_rtn(long4);
   2910 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(long4);
   2911 ushort4 __ovld __cnfn convert_ushort4(long4);
   2912 ushort4 __ovld __cnfn convert_ushort4_sat(long4);
   2913 ushort4 __ovld __cnfn convert_ushort4_rte(ulong4);
   2914 ushort4 __ovld __cnfn convert_ushort4_sat_rte(ulong4);
   2915 ushort4 __ovld __cnfn convert_ushort4_rtz(ulong4);
   2916 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(ulong4);
   2917 ushort4 __ovld __cnfn convert_ushort4_rtp(ulong4);
   2918 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(ulong4);
   2919 ushort4 __ovld __cnfn convert_ushort4_rtn(ulong4);
   2920 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(ulong4);
   2921 ushort4 __ovld __cnfn convert_ushort4(ulong4);
   2922 ushort4 __ovld __cnfn convert_ushort4_sat(ulong4);
   2923 ushort4 __ovld __cnfn convert_ushort4_rte(float4);
   2924 ushort4 __ovld __cnfn convert_ushort4_sat_rte(float4);
   2925 ushort4 __ovld __cnfn convert_ushort4_rtz(float4);
   2926 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(float4);
   2927 ushort4 __ovld __cnfn convert_ushort4_rtp(float4);
   2928 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(float4);
   2929 ushort4 __ovld __cnfn convert_ushort4_rtn(float4);
   2930 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(float4);
   2931 ushort4 __ovld __cnfn convert_ushort4(float4);
   2932 ushort4 __ovld __cnfn convert_ushort4_sat(float4);
   2933 int4 __ovld __cnfn convert_int4_rte(char4);
   2934 int4 __ovld __cnfn convert_int4_sat_rte(char4);
   2935 int4 __ovld __cnfn convert_int4_rtz(char4);
   2936 int4 __ovld __cnfn convert_int4_sat_rtz(char4);
   2937 int4 __ovld __cnfn convert_int4_rtp(char4);
   2938 int4 __ovld __cnfn convert_int4_sat_rtp(char4);
   2939 int4 __ovld __cnfn convert_int4_rtn(char4);
   2940 int4 __ovld __cnfn convert_int4_sat_rtn(char4);
   2941 int4 __ovld __cnfn convert_int4(char4);
   2942 int4 __ovld __cnfn convert_int4_sat(char4);
   2943 int4 __ovld __cnfn convert_int4_rte(uchar4);
   2944 int4 __ovld __cnfn convert_int4_sat_rte(uchar4);
   2945 int4 __ovld __cnfn convert_int4_rtz(uchar4);
   2946 int4 __ovld __cnfn convert_int4_sat_rtz(uchar4);
   2947 int4 __ovld __cnfn convert_int4_rtp(uchar4);
   2948 int4 __ovld __cnfn convert_int4_sat_rtp(uchar4);
   2949 int4 __ovld __cnfn convert_int4_rtn(uchar4);
   2950 int4 __ovld __cnfn convert_int4_sat_rtn(uchar4);
   2951 int4 __ovld __cnfn convert_int4(uchar4);
   2952 int4 __ovld __cnfn convert_int4_sat(uchar4);
   2953 int4 __ovld __cnfn convert_int4_rte(short4);
   2954 int4 __ovld __cnfn convert_int4_sat_rte(short4);
   2955 int4 __ovld __cnfn convert_int4_rtz(short4);
   2956 int4 __ovld __cnfn convert_int4_sat_rtz(short4);
   2957 int4 __ovld __cnfn convert_int4_rtp(short4);
   2958 int4 __ovld __cnfn convert_int4_sat_rtp(short4);
   2959 int4 __ovld __cnfn convert_int4_rtn(short4);
   2960 int4 __ovld __cnfn convert_int4_sat_rtn(short4);
   2961 int4 __ovld __cnfn convert_int4(short4);
   2962 int4 __ovld __cnfn convert_int4_sat(short4);
   2963 int4 __ovld __cnfn convert_int4_rte(ushort4);
   2964 int4 __ovld __cnfn convert_int4_sat_rte(ushort4);
   2965 int4 __ovld __cnfn convert_int4_rtz(ushort4);
   2966 int4 __ovld __cnfn convert_int4_sat_rtz(ushort4);
   2967 int4 __ovld __cnfn convert_int4_rtp(ushort4);
   2968 int4 __ovld __cnfn convert_int4_sat_rtp(ushort4);
   2969 int4 __ovld __cnfn convert_int4_rtn(ushort4);
   2970 int4 __ovld __cnfn convert_int4_sat_rtn(ushort4);
   2971 int4 __ovld __cnfn convert_int4(ushort4);
   2972 int4 __ovld __cnfn convert_int4_sat(ushort4);
   2973 int4 __ovld __cnfn convert_int4_rte(int4);
   2974 int4 __ovld __cnfn convert_int4_sat_rte(int4);
   2975 int4 __ovld __cnfn convert_int4_rtz(int4);
   2976 int4 __ovld __cnfn convert_int4_sat_rtz(int4);
   2977 int4 __ovld __cnfn convert_int4_rtp(int4);
   2978 int4 __ovld __cnfn convert_int4_sat_rtp(int4);
   2979 int4 __ovld __cnfn convert_int4_rtn(int4);
   2980 int4 __ovld __cnfn convert_int4_sat_rtn(int4);
   2981 int4 __ovld __cnfn convert_int4(int4);
   2982 int4 __ovld __cnfn convert_int4_sat(int4);
   2983 int4 __ovld __cnfn convert_int4_rte(uint4);
   2984 int4 __ovld __cnfn convert_int4_sat_rte(uint4);
   2985 int4 __ovld __cnfn convert_int4_rtz(uint4);
   2986 int4 __ovld __cnfn convert_int4_sat_rtz(uint4);
   2987 int4 __ovld __cnfn convert_int4_rtp(uint4);
   2988 int4 __ovld __cnfn convert_int4_sat_rtp(uint4);
   2989 int4 __ovld __cnfn convert_int4_rtn(uint4);
   2990 int4 __ovld __cnfn convert_int4_sat_rtn(uint4);
   2991 int4 __ovld __cnfn convert_int4(uint4);
   2992 int4 __ovld __cnfn convert_int4_sat(uint4);
   2993 int4 __ovld __cnfn convert_int4_rte(long4);
   2994 int4 __ovld __cnfn convert_int4_sat_rte(long4);
   2995 int4 __ovld __cnfn convert_int4_rtz(long4);
   2996 int4 __ovld __cnfn convert_int4_sat_rtz(long4);
   2997 int4 __ovld __cnfn convert_int4_rtp(long4);
   2998 int4 __ovld __cnfn convert_int4_sat_rtp(long4);
   2999 int4 __ovld __cnfn convert_int4_rtn(long4);
   3000 int4 __ovld __cnfn convert_int4_sat_rtn(long4);
   3001 int4 __ovld __cnfn convert_int4(long4);
   3002 int4 __ovld __cnfn convert_int4_sat(long4);
   3003 int4 __ovld __cnfn convert_int4_rte(ulong4);
   3004 int4 __ovld __cnfn convert_int4_sat_rte(ulong4);
   3005 int4 __ovld __cnfn convert_int4_rtz(ulong4);
   3006 int4 __ovld __cnfn convert_int4_sat_rtz(ulong4);
   3007 int4 __ovld __cnfn convert_int4_rtp(ulong4);
   3008 int4 __ovld __cnfn convert_int4_sat_rtp(ulong4);
   3009 int4 __ovld __cnfn convert_int4_rtn(ulong4);
   3010 int4 __ovld __cnfn convert_int4_sat_rtn(ulong4);
   3011 int4 __ovld __cnfn convert_int4(ulong4);
   3012 int4 __ovld __cnfn convert_int4_sat(ulong4);
   3013 int4 __ovld __cnfn convert_int4_rte(float4);
   3014 int4 __ovld __cnfn convert_int4_sat_rte(float4);
   3015 int4 __ovld __cnfn convert_int4_rtz(float4);
   3016 int4 __ovld __cnfn convert_int4_sat_rtz(float4);
   3017 int4 __ovld __cnfn convert_int4_rtp(float4);
   3018 int4 __ovld __cnfn convert_int4_sat_rtp(float4);
   3019 int4 __ovld __cnfn convert_int4_rtn(float4);
   3020 int4 __ovld __cnfn convert_int4_sat_rtn(float4);
   3021 int4 __ovld __cnfn convert_int4(float4);
   3022 int4 __ovld __cnfn convert_int4_sat(float4);
   3023 uint4 __ovld __cnfn convert_uint4_rte(char4);
   3024 uint4 __ovld __cnfn convert_uint4_sat_rte(char4);
   3025 uint4 __ovld __cnfn convert_uint4_rtz(char4);
   3026 uint4 __ovld __cnfn convert_uint4_sat_rtz(char4);
   3027 uint4 __ovld __cnfn convert_uint4_rtp(char4);
   3028 uint4 __ovld __cnfn convert_uint4_sat_rtp(char4);
   3029 uint4 __ovld __cnfn convert_uint4_rtn(char4);
   3030 uint4 __ovld __cnfn convert_uint4_sat_rtn(char4);
   3031 uint4 __ovld __cnfn convert_uint4(char4);
   3032 uint4 __ovld __cnfn convert_uint4_sat(char4);
   3033 uint4 __ovld __cnfn convert_uint4_rte(uchar4);
   3034 uint4 __ovld __cnfn convert_uint4_sat_rte(uchar4);
   3035 uint4 __ovld __cnfn convert_uint4_rtz(uchar4);
   3036 uint4 __ovld __cnfn convert_uint4_sat_rtz(uchar4);
   3037 uint4 __ovld __cnfn convert_uint4_rtp(uchar4);
   3038 uint4 __ovld __cnfn convert_uint4_sat_rtp(uchar4);
   3039 uint4 __ovld __cnfn convert_uint4_rtn(uchar4);
   3040 uint4 __ovld __cnfn convert_uint4_sat_rtn(uchar4);
   3041 uint4 __ovld __cnfn convert_uint4(uchar4);
   3042 uint4 __ovld __cnfn convert_uint4_sat(uchar4);
   3043 uint4 __ovld __cnfn convert_uint4_rte(short4);
   3044 uint4 __ovld __cnfn convert_uint4_sat_rte(short4);
   3045 uint4 __ovld __cnfn convert_uint4_rtz(short4);
   3046 uint4 __ovld __cnfn convert_uint4_sat_rtz(short4);
   3047 uint4 __ovld __cnfn convert_uint4_rtp(short4);
   3048 uint4 __ovld __cnfn convert_uint4_sat_rtp(short4);
   3049 uint4 __ovld __cnfn convert_uint4_rtn(short4);
   3050 uint4 __ovld __cnfn convert_uint4_sat_rtn(short4);
   3051 uint4 __ovld __cnfn convert_uint4(short4);
   3052 uint4 __ovld __cnfn convert_uint4_sat(short4);
   3053 uint4 __ovld __cnfn convert_uint4_rte(ushort4);
   3054 uint4 __ovld __cnfn convert_uint4_sat_rte(ushort4);
   3055 uint4 __ovld __cnfn convert_uint4_rtz(ushort4);
   3056 uint4 __ovld __cnfn convert_uint4_sat_rtz(ushort4);
   3057 uint4 __ovld __cnfn convert_uint4_rtp(ushort4);
   3058 uint4 __ovld __cnfn convert_uint4_sat_rtp(ushort4);
   3059 uint4 __ovld __cnfn convert_uint4_rtn(ushort4);
   3060 uint4 __ovld __cnfn convert_uint4_sat_rtn(ushort4);
   3061 uint4 __ovld __cnfn convert_uint4(ushort4);
   3062 uint4 __ovld __cnfn convert_uint4_sat(ushort4);
   3063 uint4 __ovld __cnfn convert_uint4_rte(int4);
   3064 uint4 __ovld __cnfn convert_uint4_sat_rte(int4);
   3065 uint4 __ovld __cnfn convert_uint4_rtz(int4);
   3066 uint4 __ovld __cnfn convert_uint4_sat_rtz(int4);
   3067 uint4 __ovld __cnfn convert_uint4_rtp(int4);
   3068 uint4 __ovld __cnfn convert_uint4_sat_rtp(int4);
   3069 uint4 __ovld __cnfn convert_uint4_rtn(int4);
   3070 uint4 __ovld __cnfn convert_uint4_sat_rtn(int4);
   3071 uint4 __ovld __cnfn convert_uint4(int4);
   3072 uint4 __ovld __cnfn convert_uint4_sat(int4);
   3073 uint4 __ovld __cnfn convert_uint4_rte(uint4);
   3074 uint4 __ovld __cnfn convert_uint4_sat_rte(uint4);
   3075 uint4 __ovld __cnfn convert_uint4_rtz(uint4);
   3076 uint4 __ovld __cnfn convert_uint4_sat_rtz(uint4);
   3077 uint4 __ovld __cnfn convert_uint4_rtp(uint4);
   3078 uint4 __ovld __cnfn convert_uint4_sat_rtp(uint4);
   3079 uint4 __ovld __cnfn convert_uint4_rtn(uint4);
   3080 uint4 __ovld __cnfn convert_uint4_sat_rtn(uint4);
   3081 uint4 __ovld __cnfn convert_uint4(uint4);
   3082 uint4 __ovld __cnfn convert_uint4_sat(uint4);
   3083 uint4 __ovld __cnfn convert_uint4_rte(long4);
   3084 uint4 __ovld __cnfn convert_uint4_sat_rte(long4);
   3085 uint4 __ovld __cnfn convert_uint4_rtz(long4);
   3086 uint4 __ovld __cnfn convert_uint4_sat_rtz(long4);
   3087 uint4 __ovld __cnfn convert_uint4_rtp(long4);
   3088 uint4 __ovld __cnfn convert_uint4_sat_rtp(long4);
   3089 uint4 __ovld __cnfn convert_uint4_rtn(long4);
   3090 uint4 __ovld __cnfn convert_uint4_sat_rtn(long4);
   3091 uint4 __ovld __cnfn convert_uint4(long4);
   3092 uint4 __ovld __cnfn convert_uint4_sat(long4);
   3093 uint4 __ovld __cnfn convert_uint4_rte(ulong4);
   3094 uint4 __ovld __cnfn convert_uint4_sat_rte(ulong4);
   3095 uint4 __ovld __cnfn convert_uint4_rtz(ulong4);
   3096 uint4 __ovld __cnfn convert_uint4_sat_rtz(ulong4);
   3097 uint4 __ovld __cnfn convert_uint4_rtp(ulong4);
   3098 uint4 __ovld __cnfn convert_uint4_sat_rtp(ulong4);
   3099 uint4 __ovld __cnfn convert_uint4_rtn(ulong4);
   3100 uint4 __ovld __cnfn convert_uint4_sat_rtn(ulong4);
   3101 uint4 __ovld __cnfn convert_uint4(ulong4);
   3102 uint4 __ovld __cnfn convert_uint4_sat(ulong4);
   3103 uint4 __ovld __cnfn convert_uint4_rte(float4);
   3104 uint4 __ovld __cnfn convert_uint4_sat_rte(float4);
   3105 uint4 __ovld __cnfn convert_uint4_rtz(float4);
   3106 uint4 __ovld __cnfn convert_uint4_sat_rtz(float4);
   3107 uint4 __ovld __cnfn convert_uint4_rtp(float4);
   3108 uint4 __ovld __cnfn convert_uint4_sat_rtp(float4);
   3109 uint4 __ovld __cnfn convert_uint4_rtn(float4);
   3110 uint4 __ovld __cnfn convert_uint4_sat_rtn(float4);
   3111 uint4 __ovld __cnfn convert_uint4(float4);
   3112 uint4 __ovld __cnfn convert_uint4_sat(float4);
   3113 long4 __ovld __cnfn convert_long4_rte(char4);
   3114 long4 __ovld __cnfn convert_long4_sat_rte(char4);
   3115 long4 __ovld __cnfn convert_long4_rtz(char4);
   3116 long4 __ovld __cnfn convert_long4_sat_rtz(char4);
   3117 long4 __ovld __cnfn convert_long4_rtp(char4);
   3118 long4 __ovld __cnfn convert_long4_sat_rtp(char4);
   3119 long4 __ovld __cnfn convert_long4_rtn(char4);
   3120 long4 __ovld __cnfn convert_long4_sat_rtn(char4);
   3121 long4 __ovld __cnfn convert_long4(char4);
   3122 long4 __ovld __cnfn convert_long4_sat(char4);
   3123 long4 __ovld __cnfn convert_long4_rte(uchar4);
   3124 long4 __ovld __cnfn convert_long4_sat_rte(uchar4);
   3125 long4 __ovld __cnfn convert_long4_rtz(uchar4);
   3126 long4 __ovld __cnfn convert_long4_sat_rtz(uchar4);
   3127 long4 __ovld __cnfn convert_long4_rtp(uchar4);
   3128 long4 __ovld __cnfn convert_long4_sat_rtp(uchar4);
   3129 long4 __ovld __cnfn convert_long4_rtn(uchar4);
   3130 long4 __ovld __cnfn convert_long4_sat_rtn(uchar4);
   3131 long4 __ovld __cnfn convert_long4(uchar4);
   3132 long4 __ovld __cnfn convert_long4_sat(uchar4);
   3133 long4 __ovld __cnfn convert_long4_rte(short4);
   3134 long4 __ovld __cnfn convert_long4_sat_rte(short4);
   3135 long4 __ovld __cnfn convert_long4_rtz(short4);
   3136 long4 __ovld __cnfn convert_long4_sat_rtz(short4);
   3137 long4 __ovld __cnfn convert_long4_rtp(short4);
   3138 long4 __ovld __cnfn convert_long4_sat_rtp(short4);
   3139 long4 __ovld __cnfn convert_long4_rtn(short4);
   3140 long4 __ovld __cnfn convert_long4_sat_rtn(short4);
   3141 long4 __ovld __cnfn convert_long4(short4);
   3142 long4 __ovld __cnfn convert_long4_sat(short4);
   3143 long4 __ovld __cnfn convert_long4_rte(ushort4);
   3144 long4 __ovld __cnfn convert_long4_sat_rte(ushort4);
   3145 long4 __ovld __cnfn convert_long4_rtz(ushort4);
   3146 long4 __ovld __cnfn convert_long4_sat_rtz(ushort4);
   3147 long4 __ovld __cnfn convert_long4_rtp(ushort4);
   3148 long4 __ovld __cnfn convert_long4_sat_rtp(ushort4);
   3149 long4 __ovld __cnfn convert_long4_rtn(ushort4);
   3150 long4 __ovld __cnfn convert_long4_sat_rtn(ushort4);
   3151 long4 __ovld __cnfn convert_long4(ushort4);
   3152 long4 __ovld __cnfn convert_long4_sat(ushort4);
   3153 long4 __ovld __cnfn convert_long4_rte(int4);
   3154 long4 __ovld __cnfn convert_long4_sat_rte(int4);
   3155 long4 __ovld __cnfn convert_long4_rtz(int4);
   3156 long4 __ovld __cnfn convert_long4_sat_rtz(int4);
   3157 long4 __ovld __cnfn convert_long4_rtp(int4);
   3158 long4 __ovld __cnfn convert_long4_sat_rtp(int4);
   3159 long4 __ovld __cnfn convert_long4_rtn(int4);
   3160 long4 __ovld __cnfn convert_long4_sat_rtn(int4);
   3161 long4 __ovld __cnfn convert_long4(int4);
   3162 long4 __ovld __cnfn convert_long4_sat(int4);
   3163 long4 __ovld __cnfn convert_long4_rte(uint4);
   3164 long4 __ovld __cnfn convert_long4_sat_rte(uint4);
   3165 long4 __ovld __cnfn convert_long4_rtz(uint4);
   3166 long4 __ovld __cnfn convert_long4_sat_rtz(uint4);
   3167 long4 __ovld __cnfn convert_long4_rtp(uint4);
   3168 long4 __ovld __cnfn convert_long4_sat_rtp(uint4);
   3169 long4 __ovld __cnfn convert_long4_rtn(uint4);
   3170 long4 __ovld __cnfn convert_long4_sat_rtn(uint4);
   3171 long4 __ovld __cnfn convert_long4(uint4);
   3172 long4 __ovld __cnfn convert_long4_sat(uint4);
   3173 long4 __ovld __cnfn convert_long4_rte(long4);
   3174 long4 __ovld __cnfn convert_long4_sat_rte(long4);
   3175 long4 __ovld __cnfn convert_long4_rtz(long4);
   3176 long4 __ovld __cnfn convert_long4_sat_rtz(long4);
   3177 long4 __ovld __cnfn convert_long4_rtp(long4);
   3178 long4 __ovld __cnfn convert_long4_sat_rtp(long4);
   3179 long4 __ovld __cnfn convert_long4_rtn(long4);
   3180 long4 __ovld __cnfn convert_long4_sat_rtn(long4);
   3181 long4 __ovld __cnfn convert_long4(long4);
   3182 long4 __ovld __cnfn convert_long4_sat(long4);
   3183 long4 __ovld __cnfn convert_long4_rte(ulong4);
   3184 long4 __ovld __cnfn convert_long4_sat_rte(ulong4);
   3185 long4 __ovld __cnfn convert_long4_rtz(ulong4);
   3186 long4 __ovld __cnfn convert_long4_sat_rtz(ulong4);
   3187 long4 __ovld __cnfn convert_long4_rtp(ulong4);
   3188 long4 __ovld __cnfn convert_long4_sat_rtp(ulong4);
   3189 long4 __ovld __cnfn convert_long4_rtn(ulong4);
   3190 long4 __ovld __cnfn convert_long4_sat_rtn(ulong4);
   3191 long4 __ovld __cnfn convert_long4(ulong4);
   3192 long4 __ovld __cnfn convert_long4_sat(ulong4);
   3193 long4 __ovld __cnfn convert_long4_rte(float4);
   3194 long4 __ovld __cnfn convert_long4_sat_rte(float4);
   3195 long4 __ovld __cnfn convert_long4_rtz(float4);
   3196 long4 __ovld __cnfn convert_long4_sat_rtz(float4);
   3197 long4 __ovld __cnfn convert_long4_rtp(float4);
   3198 long4 __ovld __cnfn convert_long4_sat_rtp(float4);
   3199 long4 __ovld __cnfn convert_long4_rtn(float4);
   3200 long4 __ovld __cnfn convert_long4_sat_rtn(float4);
   3201 long4 __ovld __cnfn convert_long4(float4);
   3202 long4 __ovld __cnfn convert_long4_sat(float4);
   3203 ulong4 __ovld __cnfn convert_ulong4_rte(char4);
   3204 ulong4 __ovld __cnfn convert_ulong4_sat_rte(char4);
   3205 ulong4 __ovld __cnfn convert_ulong4_rtz(char4);
   3206 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(char4);
   3207 ulong4 __ovld __cnfn convert_ulong4_rtp(char4);
   3208 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(char4);
   3209 ulong4 __ovld __cnfn convert_ulong4_rtn(char4);
   3210 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(char4);
   3211 ulong4 __ovld __cnfn convert_ulong4(char4);
   3212 ulong4 __ovld __cnfn convert_ulong4_sat(char4);
   3213 ulong4 __ovld __cnfn convert_ulong4_rte(uchar4);
   3214 ulong4 __ovld __cnfn convert_ulong4_sat_rte(uchar4);
   3215 ulong4 __ovld __cnfn convert_ulong4_rtz(uchar4);
   3216 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(uchar4);
   3217 ulong4 __ovld __cnfn convert_ulong4_rtp(uchar4);
   3218 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(uchar4);
   3219 ulong4 __ovld __cnfn convert_ulong4_rtn(uchar4);
   3220 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(uchar4);
   3221 ulong4 __ovld __cnfn convert_ulong4(uchar4);
   3222 ulong4 __ovld __cnfn convert_ulong4_sat(uchar4);
   3223 ulong4 __ovld __cnfn convert_ulong4_rte(short4);
   3224 ulong4 __ovld __cnfn convert_ulong4_sat_rte(short4);
   3225 ulong4 __ovld __cnfn convert_ulong4_rtz(short4);
   3226 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(short4);
   3227 ulong4 __ovld __cnfn convert_ulong4_rtp(short4);
   3228 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(short4);
   3229 ulong4 __ovld __cnfn convert_ulong4_rtn(short4);
   3230 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(short4);
   3231 ulong4 __ovld __cnfn convert_ulong4(short4);
   3232 ulong4 __ovld __cnfn convert_ulong4_sat(short4);
   3233 ulong4 __ovld __cnfn convert_ulong4_rte(ushort4);
   3234 ulong4 __ovld __cnfn convert_ulong4_sat_rte(ushort4);
   3235 ulong4 __ovld __cnfn convert_ulong4_rtz(ushort4);
   3236 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(ushort4);
   3237 ulong4 __ovld __cnfn convert_ulong4_rtp(ushort4);
   3238 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(ushort4);
   3239 ulong4 __ovld __cnfn convert_ulong4_rtn(ushort4);
   3240 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(ushort4);
   3241 ulong4 __ovld __cnfn convert_ulong4(ushort4);
   3242 ulong4 __ovld __cnfn convert_ulong4_sat(ushort4);
   3243 ulong4 __ovld __cnfn convert_ulong4_rte(int4);
   3244 ulong4 __ovld __cnfn convert_ulong4_sat_rte(int4);
   3245 ulong4 __ovld __cnfn convert_ulong4_rtz(int4);
   3246 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(int4);
   3247 ulong4 __ovld __cnfn convert_ulong4_rtp(int4);
   3248 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(int4);
   3249 ulong4 __ovld __cnfn convert_ulong4_rtn(int4);
   3250 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(int4);
   3251 ulong4 __ovld __cnfn convert_ulong4(int4);
   3252 ulong4 __ovld __cnfn convert_ulong4_sat(int4);
   3253 ulong4 __ovld __cnfn convert_ulong4_rte(uint4);
   3254 ulong4 __ovld __cnfn convert_ulong4_sat_rte(uint4);
   3255 ulong4 __ovld __cnfn convert_ulong4_rtz(uint4);
   3256 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(uint4);
   3257 ulong4 __ovld __cnfn convert_ulong4_rtp(uint4);
   3258 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(uint4);
   3259 ulong4 __ovld __cnfn convert_ulong4_rtn(uint4);
   3260 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(uint4);
   3261 ulong4 __ovld __cnfn convert_ulong4(uint4);
   3262 ulong4 __ovld __cnfn convert_ulong4_sat(uint4);
   3263 ulong4 __ovld __cnfn convert_ulong4_rte(long4);
   3264 ulong4 __ovld __cnfn convert_ulong4_sat_rte(long4);
   3265 ulong4 __ovld __cnfn convert_ulong4_rtz(long4);
   3266 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(long4);
   3267 ulong4 __ovld __cnfn convert_ulong4_rtp(long4);
   3268 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(long4);
   3269 ulong4 __ovld __cnfn convert_ulong4_rtn(long4);
   3270 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(long4);
   3271 ulong4 __ovld __cnfn convert_ulong4(long4);
   3272 ulong4 __ovld __cnfn convert_ulong4_sat(long4);
   3273 ulong4 __ovld __cnfn convert_ulong4_rte(ulong4);
   3274 ulong4 __ovld __cnfn convert_ulong4_sat_rte(ulong4);
   3275 ulong4 __ovld __cnfn convert_ulong4_rtz(ulong4);
   3276 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(ulong4);
   3277 ulong4 __ovld __cnfn convert_ulong4_rtp(ulong4);
   3278 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(ulong4);
   3279 ulong4 __ovld __cnfn convert_ulong4_rtn(ulong4);
   3280 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(ulong4);
   3281 ulong4 __ovld __cnfn convert_ulong4(ulong4);
   3282 ulong4 __ovld __cnfn convert_ulong4_sat(ulong4);
   3283 ulong4 __ovld __cnfn convert_ulong4_rte(float4);
   3284 ulong4 __ovld __cnfn convert_ulong4_sat_rte(float4);
   3285 ulong4 __ovld __cnfn convert_ulong4_rtz(float4);
   3286 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(float4);
   3287 ulong4 __ovld __cnfn convert_ulong4_rtp(float4);
   3288 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(float4);
   3289 ulong4 __ovld __cnfn convert_ulong4_rtn(float4);
   3290 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(float4);
   3291 ulong4 __ovld __cnfn convert_ulong4(float4);
   3292 ulong4 __ovld __cnfn convert_ulong4_sat(float4);
   3293 float4 __ovld __cnfn convert_float4_rte(char4);
   3294 float4 __ovld __cnfn convert_float4_rtz(char4);
   3295 float4 __ovld __cnfn convert_float4_rtp(char4);
   3296 float4 __ovld __cnfn convert_float4_rtn(char4);
   3297 float4 __ovld __cnfn convert_float4(char4);
   3298 float4 __ovld __cnfn convert_float4_rte(uchar4);
   3299 float4 __ovld __cnfn convert_float4_rtz(uchar4);
   3300 float4 __ovld __cnfn convert_float4_rtp(uchar4);
   3301 float4 __ovld __cnfn convert_float4_rtn(uchar4);
   3302 float4 __ovld __cnfn convert_float4(uchar4);
   3303 float4 __ovld __cnfn convert_float4_rte(short4);
   3304 float4 __ovld __cnfn convert_float4_rtz(short4);
   3305 float4 __ovld __cnfn convert_float4_rtp(short4);
   3306 float4 __ovld __cnfn convert_float4_rtn(short4);
   3307 float4 __ovld __cnfn convert_float4(short4);
   3308 float4 __ovld __cnfn convert_float4_rte(ushort4);
   3309 float4 __ovld __cnfn convert_float4_rtz(ushort4);
   3310 float4 __ovld __cnfn convert_float4_rtp(ushort4);
   3311 float4 __ovld __cnfn convert_float4_rtn(ushort4);
   3312 float4 __ovld __cnfn convert_float4(ushort4);
   3313 float4 __ovld __cnfn convert_float4_rte(int4);
   3314 float4 __ovld __cnfn convert_float4_rtz(int4);
   3315 float4 __ovld __cnfn convert_float4_rtp(int4);
   3316 float4 __ovld __cnfn convert_float4_rtn(int4);
   3317 float4 __ovld __cnfn convert_float4(int4);
   3318 float4 __ovld __cnfn convert_float4_rte(uint4);
   3319 float4 __ovld __cnfn convert_float4_rtz(uint4);
   3320 float4 __ovld __cnfn convert_float4_rtp(uint4);
   3321 float4 __ovld __cnfn convert_float4_rtn(uint4);
   3322 float4 __ovld __cnfn convert_float4(uint4);
   3323 float4 __ovld __cnfn convert_float4_rte(long4);
   3324 float4 __ovld __cnfn convert_float4_rtz(long4);
   3325 float4 __ovld __cnfn convert_float4_rtp(long4);
   3326 float4 __ovld __cnfn convert_float4_rtn(long4);
   3327 float4 __ovld __cnfn convert_float4(long4);
   3328 float4 __ovld __cnfn convert_float4_rte(ulong4);
   3329 float4 __ovld __cnfn convert_float4_rtz(ulong4);
   3330 float4 __ovld __cnfn convert_float4_rtp(ulong4);
   3331 float4 __ovld __cnfn convert_float4_rtn(ulong4);
   3332 float4 __ovld __cnfn convert_float4(ulong4);
   3333 float4 __ovld __cnfn convert_float4_rte(float4);
   3334 float4 __ovld __cnfn convert_float4_rtz(float4);
   3335 float4 __ovld __cnfn convert_float4_rtp(float4);
   3336 float4 __ovld __cnfn convert_float4_rtn(float4);
   3337 float4 __ovld __cnfn convert_float4(float4);
   3338 char8 __ovld __cnfn convert_char8_rte(char8);
   3339 char8 __ovld __cnfn convert_char8_sat_rte(char8);
   3340 char8 __ovld __cnfn convert_char8_rtz(char8);
   3341 char8 __ovld __cnfn convert_char8_sat_rtz(char8);
   3342 char8 __ovld __cnfn convert_char8_rtp(char8);
   3343 char8 __ovld __cnfn convert_char8_sat_rtp(char8);
   3344 char8 __ovld __cnfn convert_char8_rtn(char8);
   3345 char8 __ovld __cnfn convert_char8_sat_rtn(char8);
   3346 char8 __ovld __cnfn convert_char8(char8);
   3347 char8 __ovld __cnfn convert_char8_sat(char8);
   3348 char8 __ovld __cnfn convert_char8_rte(uchar8);
   3349 char8 __ovld __cnfn convert_char8_sat_rte(uchar8);
   3350 char8 __ovld __cnfn convert_char8_rtz(uchar8);
   3351 char8 __ovld __cnfn convert_char8_sat_rtz(uchar8);
   3352 char8 __ovld __cnfn convert_char8_rtp(uchar8);
   3353 char8 __ovld __cnfn convert_char8_sat_rtp(uchar8);
   3354 char8 __ovld __cnfn convert_char8_rtn(uchar8);
   3355 char8 __ovld __cnfn convert_char8_sat_rtn(uchar8);
   3356 char8 __ovld __cnfn convert_char8(uchar8);
   3357 char8 __ovld __cnfn convert_char8_sat(uchar8);
   3358 char8 __ovld __cnfn convert_char8_rte(short8);
   3359 char8 __ovld __cnfn convert_char8_sat_rte(short8);
   3360 char8 __ovld __cnfn convert_char8_rtz(short8);
   3361 char8 __ovld __cnfn convert_char8_sat_rtz(short8);
   3362 char8 __ovld __cnfn convert_char8_rtp(short8);
   3363 char8 __ovld __cnfn convert_char8_sat_rtp(short8);
   3364 char8 __ovld __cnfn convert_char8_rtn(short8);
   3365 char8 __ovld __cnfn convert_char8_sat_rtn(short8);
   3366 char8 __ovld __cnfn convert_char8(short8);
   3367 char8 __ovld __cnfn convert_char8_sat(short8);
   3368 char8 __ovld __cnfn convert_char8_rte(ushort8);
   3369 char8 __ovld __cnfn convert_char8_sat_rte(ushort8);
   3370 char8 __ovld __cnfn convert_char8_rtz(ushort8);
   3371 char8 __ovld __cnfn convert_char8_sat_rtz(ushort8);
   3372 char8 __ovld __cnfn convert_char8_rtp(ushort8);
   3373 char8 __ovld __cnfn convert_char8_sat_rtp(ushort8);
   3374 char8 __ovld __cnfn convert_char8_rtn(ushort8);
   3375 char8 __ovld __cnfn convert_char8_sat_rtn(ushort8);
   3376 char8 __ovld __cnfn convert_char8(ushort8);
   3377 char8 __ovld __cnfn convert_char8_sat(ushort8);
   3378 char8 __ovld __cnfn convert_char8_rte(int8);
   3379 char8 __ovld __cnfn convert_char8_sat_rte(int8);
   3380 char8 __ovld __cnfn convert_char8_rtz(int8);
   3381 char8 __ovld __cnfn convert_char8_sat_rtz(int8);
   3382 char8 __ovld __cnfn convert_char8_rtp(int8);
   3383 char8 __ovld __cnfn convert_char8_sat_rtp(int8);
   3384 char8 __ovld __cnfn convert_char8_rtn(int8);
   3385 char8 __ovld __cnfn convert_char8_sat_rtn(int8);
   3386 char8 __ovld __cnfn convert_char8(int8);
   3387 char8 __ovld __cnfn convert_char8_sat(int8);
   3388 char8 __ovld __cnfn convert_char8_rte(uint8);
   3389 char8 __ovld __cnfn convert_char8_sat_rte(uint8);
   3390 char8 __ovld __cnfn convert_char8_rtz(uint8);
   3391 char8 __ovld __cnfn convert_char8_sat_rtz(uint8);
   3392 char8 __ovld __cnfn convert_char8_rtp(uint8);
   3393 char8 __ovld __cnfn convert_char8_sat_rtp(uint8);
   3394 char8 __ovld __cnfn convert_char8_rtn(uint8);
   3395 char8 __ovld __cnfn convert_char8_sat_rtn(uint8);
   3396 char8 __ovld __cnfn convert_char8(uint8);
   3397 char8 __ovld __cnfn convert_char8_sat(uint8);
   3398 char8 __ovld __cnfn convert_char8_rte(long8);
   3399 char8 __ovld __cnfn convert_char8_sat_rte(long8);
   3400 char8 __ovld __cnfn convert_char8_rtz(long8);
   3401 char8 __ovld __cnfn convert_char8_sat_rtz(long8);
   3402 char8 __ovld __cnfn convert_char8_rtp(long8);
   3403 char8 __ovld __cnfn convert_char8_sat_rtp(long8);
   3404 char8 __ovld __cnfn convert_char8_rtn(long8);
   3405 char8 __ovld __cnfn convert_char8_sat_rtn(long8);
   3406 char8 __ovld __cnfn convert_char8(long8);
   3407 char8 __ovld __cnfn convert_char8_sat(long8);
   3408 char8 __ovld __cnfn convert_char8_rte(ulong8);
   3409 char8 __ovld __cnfn convert_char8_sat_rte(ulong8);
   3410 char8 __ovld __cnfn convert_char8_rtz(ulong8);
   3411 char8 __ovld __cnfn convert_char8_sat_rtz(ulong8);
   3412 char8 __ovld __cnfn convert_char8_rtp(ulong8);
   3413 char8 __ovld __cnfn convert_char8_sat_rtp(ulong8);
   3414 char8 __ovld __cnfn convert_char8_rtn(ulong8);
   3415 char8 __ovld __cnfn convert_char8_sat_rtn(ulong8);
   3416 char8 __ovld __cnfn convert_char8(ulong8);
   3417 char8 __ovld __cnfn convert_char8_sat(ulong8);
   3418 char8 __ovld __cnfn convert_char8_rte(float8);
   3419 char8 __ovld __cnfn convert_char8_sat_rte(float8);
   3420 char8 __ovld __cnfn convert_char8_rtz(float8);
   3421 char8 __ovld __cnfn convert_char8_sat_rtz(float8);
   3422 char8 __ovld __cnfn convert_char8_rtp(float8);
   3423 char8 __ovld __cnfn convert_char8_sat_rtp(float8);
   3424 char8 __ovld __cnfn convert_char8_rtn(float8);
   3425 char8 __ovld __cnfn convert_char8_sat_rtn(float8);
   3426 char8 __ovld __cnfn convert_char8(float8);
   3427 char8 __ovld __cnfn convert_char8_sat(float8);
   3428 uchar8 __ovld __cnfn convert_uchar8_rte(char8);
   3429 uchar8 __ovld __cnfn convert_uchar8_sat_rte(char8);
   3430 uchar8 __ovld __cnfn convert_uchar8_rtz(char8);
   3431 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(char8);
   3432 uchar8 __ovld __cnfn convert_uchar8_rtp(char8);
   3433 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(char8);
   3434 uchar8 __ovld __cnfn convert_uchar8_rtn(char8);
   3435 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(char8);
   3436 uchar8 __ovld __cnfn convert_uchar8(char8);
   3437 uchar8 __ovld __cnfn convert_uchar8_sat(char8);
   3438 uchar8 __ovld __cnfn convert_uchar8_rte(uchar8);
   3439 uchar8 __ovld __cnfn convert_uchar8_sat_rte(uchar8);
   3440 uchar8 __ovld __cnfn convert_uchar8_rtz(uchar8);
   3441 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(uchar8);
   3442 uchar8 __ovld __cnfn convert_uchar8_rtp(uchar8);
   3443 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(uchar8);
   3444 uchar8 __ovld __cnfn convert_uchar8_rtn(uchar8);
   3445 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(uchar8);
   3446 uchar8 __ovld __cnfn convert_uchar8(uchar8);
   3447 uchar8 __ovld __cnfn convert_uchar8_sat(uchar8);
   3448 uchar8 __ovld __cnfn convert_uchar8_rte(short8);
   3449 uchar8 __ovld __cnfn convert_uchar8_sat_rte(short8);
   3450 uchar8 __ovld __cnfn convert_uchar8_rtz(short8);
   3451 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(short8);
   3452 uchar8 __ovld __cnfn convert_uchar8_rtp(short8);
   3453 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(short8);
   3454 uchar8 __ovld __cnfn convert_uchar8_rtn(short8);
   3455 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(short8);
   3456 uchar8 __ovld __cnfn convert_uchar8(short8);
   3457 uchar8 __ovld __cnfn convert_uchar8_sat(short8);
   3458 uchar8 __ovld __cnfn convert_uchar8_rte(ushort8);
   3459 uchar8 __ovld __cnfn convert_uchar8_sat_rte(ushort8);
   3460 uchar8 __ovld __cnfn convert_uchar8_rtz(ushort8);
   3461 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(ushort8);
   3462 uchar8 __ovld __cnfn convert_uchar8_rtp(ushort8);
   3463 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(ushort8);
   3464 uchar8 __ovld __cnfn convert_uchar8_rtn(ushort8);
   3465 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(ushort8);
   3466 uchar8 __ovld __cnfn convert_uchar8(ushort8);
   3467 uchar8 __ovld __cnfn convert_uchar8_sat(ushort8);
   3468 uchar8 __ovld __cnfn convert_uchar8_rte(int8);
   3469 uchar8 __ovld __cnfn convert_uchar8_sat_rte(int8);
   3470 uchar8 __ovld __cnfn convert_uchar8_rtz(int8);
   3471 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(int8);
   3472 uchar8 __ovld __cnfn convert_uchar8_rtp(int8);
   3473 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(int8);
   3474 uchar8 __ovld __cnfn convert_uchar8_rtn(int8);
   3475 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(int8);
   3476 uchar8 __ovld __cnfn convert_uchar8(int8);
   3477 uchar8 __ovld __cnfn convert_uchar8_sat(int8);
   3478 uchar8 __ovld __cnfn convert_uchar8_rte(uint8);
   3479 uchar8 __ovld __cnfn convert_uchar8_sat_rte(uint8);
   3480 uchar8 __ovld __cnfn convert_uchar8_rtz(uint8);
   3481 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(uint8);
   3482 uchar8 __ovld __cnfn convert_uchar8_rtp(uint8);
   3483 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(uint8);
   3484 uchar8 __ovld __cnfn convert_uchar8_rtn(uint8);
   3485 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(uint8);
   3486 uchar8 __ovld __cnfn convert_uchar8(uint8);
   3487 uchar8 __ovld __cnfn convert_uchar8_sat(uint8);
   3488 uchar8 __ovld __cnfn convert_uchar8_rte(long8);
   3489 uchar8 __ovld __cnfn convert_uchar8_sat_rte(long8);
   3490 uchar8 __ovld __cnfn convert_uchar8_rtz(long8);
   3491 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(long8);
   3492 uchar8 __ovld __cnfn convert_uchar8_rtp(long8);
   3493 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(long8);
   3494 uchar8 __ovld __cnfn convert_uchar8_rtn(long8);
   3495 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(long8);
   3496 uchar8 __ovld __cnfn convert_uchar8(long8);
   3497 uchar8 __ovld __cnfn convert_uchar8_sat(long8);
   3498 uchar8 __ovld __cnfn convert_uchar8_rte(ulong8);
   3499 uchar8 __ovld __cnfn convert_uchar8_sat_rte(ulong8);
   3500 uchar8 __ovld __cnfn convert_uchar8_rtz(ulong8);
   3501 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(ulong8);
   3502 uchar8 __ovld __cnfn convert_uchar8_rtp(ulong8);
   3503 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(ulong8);
   3504 uchar8 __ovld __cnfn convert_uchar8_rtn(ulong8);
   3505 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(ulong8);
   3506 uchar8 __ovld __cnfn convert_uchar8(ulong8);
   3507 uchar8 __ovld __cnfn convert_uchar8_sat(ulong8);
   3508 uchar8 __ovld __cnfn convert_uchar8_rte(float8);
   3509 uchar8 __ovld __cnfn convert_uchar8_sat_rte(float8);
   3510 uchar8 __ovld __cnfn convert_uchar8_rtz(float8);
   3511 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(float8);
   3512 uchar8 __ovld __cnfn convert_uchar8_rtp(float8);
   3513 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(float8);
   3514 uchar8 __ovld __cnfn convert_uchar8_rtn(float8);
   3515 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(float8);
   3516 uchar8 __ovld __cnfn convert_uchar8(float8);
   3517 uchar8 __ovld __cnfn convert_uchar8_sat(float8);
   3518 short8 __ovld __cnfn convert_short8_rte(char8);
   3519 short8 __ovld __cnfn convert_short8_sat_rte(char8);
   3520 short8 __ovld __cnfn convert_short8_rtz(char8);
   3521 short8 __ovld __cnfn convert_short8_sat_rtz(char8);
   3522 short8 __ovld __cnfn convert_short8_rtp(char8);
   3523 short8 __ovld __cnfn convert_short8_sat_rtp(char8);
   3524 short8 __ovld __cnfn convert_short8_rtn(char8);
   3525 short8 __ovld __cnfn convert_short8_sat_rtn(char8);
   3526 short8 __ovld __cnfn convert_short8(char8);
   3527 short8 __ovld __cnfn convert_short8_sat(char8);
   3528 short8 __ovld __cnfn convert_short8_rte(uchar8);
   3529 short8 __ovld __cnfn convert_short8_sat_rte(uchar8);
   3530 short8 __ovld __cnfn convert_short8_rtz(uchar8);
   3531 short8 __ovld __cnfn convert_short8_sat_rtz(uchar8);
   3532 short8 __ovld __cnfn convert_short8_rtp(uchar8);
   3533 short8 __ovld __cnfn convert_short8_sat_rtp(uchar8);
   3534 short8 __ovld __cnfn convert_short8_rtn(uchar8);
   3535 short8 __ovld __cnfn convert_short8_sat_rtn(uchar8);
   3536 short8 __ovld __cnfn convert_short8(uchar8);
   3537 short8 __ovld __cnfn convert_short8_sat(uchar8);
   3538 short8 __ovld __cnfn convert_short8_rte(short8);
   3539 short8 __ovld __cnfn convert_short8_sat_rte(short8);
   3540 short8 __ovld __cnfn convert_short8_rtz(short8);
   3541 short8 __ovld __cnfn convert_short8_sat_rtz(short8);
   3542 short8 __ovld __cnfn convert_short8_rtp(short8);
   3543 short8 __ovld __cnfn convert_short8_sat_rtp(short8);
   3544 short8 __ovld __cnfn convert_short8_rtn(short8);
   3545 short8 __ovld __cnfn convert_short8_sat_rtn(short8);
   3546 short8 __ovld __cnfn convert_short8(short8);
   3547 short8 __ovld __cnfn convert_short8_sat(short8);
   3548 short8 __ovld __cnfn convert_short8_rte(ushort8);
   3549 short8 __ovld __cnfn convert_short8_sat_rte(ushort8);
   3550 short8 __ovld __cnfn convert_short8_rtz(ushort8);
   3551 short8 __ovld __cnfn convert_short8_sat_rtz(ushort8);
   3552 short8 __ovld __cnfn convert_short8_rtp(ushort8);
   3553 short8 __ovld __cnfn convert_short8_sat_rtp(ushort8);
   3554 short8 __ovld __cnfn convert_short8_rtn(ushort8);
   3555 short8 __ovld __cnfn convert_short8_sat_rtn(ushort8);
   3556 short8 __ovld __cnfn convert_short8(ushort8);
   3557 short8 __ovld __cnfn convert_short8_sat(ushort8);
   3558 short8 __ovld __cnfn convert_short8_rte(int8);
   3559 short8 __ovld __cnfn convert_short8_sat_rte(int8);
   3560 short8 __ovld __cnfn convert_short8_rtz(int8);
   3561 short8 __ovld __cnfn convert_short8_sat_rtz(int8);
   3562 short8 __ovld __cnfn convert_short8_rtp(int8);
   3563 short8 __ovld __cnfn convert_short8_sat_rtp(int8);
   3564 short8 __ovld __cnfn convert_short8_rtn(int8);
   3565 short8 __ovld __cnfn convert_short8_sat_rtn(int8);
   3566 short8 __ovld __cnfn convert_short8(int8);
   3567 short8 __ovld __cnfn convert_short8_sat(int8);
   3568 short8 __ovld __cnfn convert_short8_rte(uint8);
   3569 short8 __ovld __cnfn convert_short8_sat_rte(uint8);
   3570 short8 __ovld __cnfn convert_short8_rtz(uint8);
   3571 short8 __ovld __cnfn convert_short8_sat_rtz(uint8);
   3572 short8 __ovld __cnfn convert_short8_rtp(uint8);
   3573 short8 __ovld __cnfn convert_short8_sat_rtp(uint8);
   3574 short8 __ovld __cnfn convert_short8_rtn(uint8);
   3575 short8 __ovld __cnfn convert_short8_sat_rtn(uint8);
   3576 short8 __ovld __cnfn convert_short8(uint8);
   3577 short8 __ovld __cnfn convert_short8_sat(uint8);
   3578 short8 __ovld __cnfn convert_short8_rte(long8);
   3579 short8 __ovld __cnfn convert_short8_sat_rte(long8);
   3580 short8 __ovld __cnfn convert_short8_rtz(long8);
   3581 short8 __ovld __cnfn convert_short8_sat_rtz(long8);
   3582 short8 __ovld __cnfn convert_short8_rtp(long8);
   3583 short8 __ovld __cnfn convert_short8_sat_rtp(long8);
   3584 short8 __ovld __cnfn convert_short8_rtn(long8);
   3585 short8 __ovld __cnfn convert_short8_sat_rtn(long8);
   3586 short8 __ovld __cnfn convert_short8(long8);
   3587 short8 __ovld __cnfn convert_short8_sat(long8);
   3588 short8 __ovld __cnfn convert_short8_rte(ulong8);
   3589 short8 __ovld __cnfn convert_short8_sat_rte(ulong8);
   3590 short8 __ovld __cnfn convert_short8_rtz(ulong8);
   3591 short8 __ovld __cnfn convert_short8_sat_rtz(ulong8);
   3592 short8 __ovld __cnfn convert_short8_rtp(ulong8);
   3593 short8 __ovld __cnfn convert_short8_sat_rtp(ulong8);
   3594 short8 __ovld __cnfn convert_short8_rtn(ulong8);
   3595 short8 __ovld __cnfn convert_short8_sat_rtn(ulong8);
   3596 short8 __ovld __cnfn convert_short8(ulong8);
   3597 short8 __ovld __cnfn convert_short8_sat(ulong8);
   3598 short8 __ovld __cnfn convert_short8_rte(float8);
   3599 short8 __ovld __cnfn convert_short8_sat_rte(float8);
   3600 short8 __ovld __cnfn convert_short8_rtz(float8);
   3601 short8 __ovld __cnfn convert_short8_sat_rtz(float8);
   3602 short8 __ovld __cnfn convert_short8_rtp(float8);
   3603 short8 __ovld __cnfn convert_short8_sat_rtp(float8);
   3604 short8 __ovld __cnfn convert_short8_rtn(float8);
   3605 short8 __ovld __cnfn convert_short8_sat_rtn(float8);
   3606 short8 __ovld __cnfn convert_short8(float8);
   3607 short8 __ovld __cnfn convert_short8_sat(float8);
   3608 ushort8 __ovld __cnfn convert_ushort8_rte(char8);
   3609 ushort8 __ovld __cnfn convert_ushort8_sat_rte(char8);
   3610 ushort8 __ovld __cnfn convert_ushort8_rtz(char8);
   3611 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(char8);
   3612 ushort8 __ovld __cnfn convert_ushort8_rtp(char8);
   3613 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(char8);
   3614 ushort8 __ovld __cnfn convert_ushort8_rtn(char8);
   3615 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(char8);
   3616 ushort8 __ovld __cnfn convert_ushort8(char8);
   3617 ushort8 __ovld __cnfn convert_ushort8_sat(char8);
   3618 ushort8 __ovld __cnfn convert_ushort8_rte(uchar8);
   3619 ushort8 __ovld __cnfn convert_ushort8_sat_rte(uchar8);
   3620 ushort8 __ovld __cnfn convert_ushort8_rtz(uchar8);
   3621 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(uchar8);
   3622 ushort8 __ovld __cnfn convert_ushort8_rtp(uchar8);
   3623 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(uchar8);
   3624 ushort8 __ovld __cnfn convert_ushort8_rtn(uchar8);
   3625 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(uchar8);
   3626 ushort8 __ovld __cnfn convert_ushort8(uchar8);
   3627 ushort8 __ovld __cnfn convert_ushort8_sat(uchar8);
   3628 ushort8 __ovld __cnfn convert_ushort8_rte(short8);
   3629 ushort8 __ovld __cnfn convert_ushort8_sat_rte(short8);
   3630 ushort8 __ovld __cnfn convert_ushort8_rtz(short8);
   3631 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(short8);
   3632 ushort8 __ovld __cnfn convert_ushort8_rtp(short8);
   3633 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(short8);
   3634 ushort8 __ovld __cnfn convert_ushort8_rtn(short8);
   3635 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(short8);
   3636 ushort8 __ovld __cnfn convert_ushort8(short8);
   3637 ushort8 __ovld __cnfn convert_ushort8_sat(short8);
   3638 ushort8 __ovld __cnfn convert_ushort8_rte(ushort8);
   3639 ushort8 __ovld __cnfn convert_ushort8_sat_rte(ushort8);
   3640 ushort8 __ovld __cnfn convert_ushort8_rtz(ushort8);
   3641 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(ushort8);
   3642 ushort8 __ovld __cnfn convert_ushort8_rtp(ushort8);
   3643 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(ushort8);
   3644 ushort8 __ovld __cnfn convert_ushort8_rtn(ushort8);
   3645 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(ushort8);
   3646 ushort8 __ovld __cnfn convert_ushort8(ushort8);
   3647 ushort8 __ovld __cnfn convert_ushort8_sat(ushort8);
   3648 ushort8 __ovld __cnfn convert_ushort8_rte(int8);
   3649 ushort8 __ovld __cnfn convert_ushort8_sat_rte(int8);
   3650 ushort8 __ovld __cnfn convert_ushort8_rtz(int8);
   3651 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(int8);
   3652 ushort8 __ovld __cnfn convert_ushort8_rtp(int8);
   3653 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(int8);
   3654 ushort8 __ovld __cnfn convert_ushort8_rtn(int8);
   3655 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(int8);
   3656 ushort8 __ovld __cnfn convert_ushort8(int8);
   3657 ushort8 __ovld __cnfn convert_ushort8_sat(int8);
   3658 ushort8 __ovld __cnfn convert_ushort8_rte(uint8);
   3659 ushort8 __ovld __cnfn convert_ushort8_sat_rte(uint8);
   3660 ushort8 __ovld __cnfn convert_ushort8_rtz(uint8);
   3661 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(uint8);
   3662 ushort8 __ovld __cnfn convert_ushort8_rtp(uint8);
   3663 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(uint8);
   3664 ushort8 __ovld __cnfn convert_ushort8_rtn(uint8);
   3665 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(uint8);
   3666 ushort8 __ovld __cnfn convert_ushort8(uint8);
   3667 ushort8 __ovld __cnfn convert_ushort8_sat(uint8);
   3668 ushort8 __ovld __cnfn convert_ushort8_rte(long8);
   3669 ushort8 __ovld __cnfn convert_ushort8_sat_rte(long8);
   3670 ushort8 __ovld __cnfn convert_ushort8_rtz(long8);
   3671 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(long8);
   3672 ushort8 __ovld __cnfn convert_ushort8_rtp(long8);
   3673 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(long8);
   3674 ushort8 __ovld __cnfn convert_ushort8_rtn(long8);
   3675 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(long8);
   3676 ushort8 __ovld __cnfn convert_ushort8(long8);
   3677 ushort8 __ovld __cnfn convert_ushort8_sat(long8);
   3678 ushort8 __ovld __cnfn convert_ushort8_rte(ulong8);
   3679 ushort8 __ovld __cnfn convert_ushort8_sat_rte(ulong8);
   3680 ushort8 __ovld __cnfn convert_ushort8_rtz(ulong8);
   3681 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(ulong8);
   3682 ushort8 __ovld __cnfn convert_ushort8_rtp(ulong8);
   3683 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(ulong8);
   3684 ushort8 __ovld __cnfn convert_ushort8_rtn(ulong8);
   3685 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(ulong8);
   3686 ushort8 __ovld __cnfn convert_ushort8(ulong8);
   3687 ushort8 __ovld __cnfn convert_ushort8_sat(ulong8);
   3688 ushort8 __ovld __cnfn convert_ushort8_rte(float8);
   3689 ushort8 __ovld __cnfn convert_ushort8_sat_rte(float8);
   3690 ushort8 __ovld __cnfn convert_ushort8_rtz(float8);
   3691 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(float8);
   3692 ushort8 __ovld __cnfn convert_ushort8_rtp(float8);
   3693 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(float8);
   3694 ushort8 __ovld __cnfn convert_ushort8_rtn(float8);
   3695 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(float8);
   3696 ushort8 __ovld __cnfn convert_ushort8(float8);
   3697 ushort8 __ovld __cnfn convert_ushort8_sat(float8);
   3698 int8 __ovld __cnfn convert_int8_rte(char8);
   3699 int8 __ovld __cnfn convert_int8_sat_rte(char8);
   3700 int8 __ovld __cnfn convert_int8_rtz(char8);
   3701 int8 __ovld __cnfn convert_int8_sat_rtz(char8);
   3702 int8 __ovld __cnfn convert_int8_rtp(char8);
   3703 int8 __ovld __cnfn convert_int8_sat_rtp(char8);
   3704 int8 __ovld __cnfn convert_int8_rtn(char8);
   3705 int8 __ovld __cnfn convert_int8_sat_rtn(char8);
   3706 int8 __ovld __cnfn convert_int8(char8);
   3707 int8 __ovld __cnfn convert_int8_sat(char8);
   3708 int8 __ovld __cnfn convert_int8_rte(uchar8);
   3709 int8 __ovld __cnfn convert_int8_sat_rte(uchar8);
   3710 int8 __ovld __cnfn convert_int8_rtz(uchar8);
   3711 int8 __ovld __cnfn convert_int8_sat_rtz(uchar8);
   3712 int8 __ovld __cnfn convert_int8_rtp(uchar8);
   3713 int8 __ovld __cnfn convert_int8_sat_rtp(uchar8);
   3714 int8 __ovld __cnfn convert_int8_rtn(uchar8);
   3715 int8 __ovld __cnfn convert_int8_sat_rtn(uchar8);
   3716 int8 __ovld __cnfn convert_int8(uchar8);
   3717 int8 __ovld __cnfn convert_int8_sat(uchar8);
   3718 int8 __ovld __cnfn convert_int8_rte(short8);
   3719 int8 __ovld __cnfn convert_int8_sat_rte(short8);
   3720 int8 __ovld __cnfn convert_int8_rtz(short8);
   3721 int8 __ovld __cnfn convert_int8_sat_rtz(short8);
   3722 int8 __ovld __cnfn convert_int8_rtp(short8);
   3723 int8 __ovld __cnfn convert_int8_sat_rtp(short8);
   3724 int8 __ovld __cnfn convert_int8_rtn(short8);
   3725 int8 __ovld __cnfn convert_int8_sat_rtn(short8);
   3726 int8 __ovld __cnfn convert_int8(short8);
   3727 int8 __ovld __cnfn convert_int8_sat(short8);
   3728 int8 __ovld __cnfn convert_int8_rte(ushort8);
   3729 int8 __ovld __cnfn convert_int8_sat_rte(ushort8);
   3730 int8 __ovld __cnfn convert_int8_rtz(ushort8);
   3731 int8 __ovld __cnfn convert_int8_sat_rtz(ushort8);
   3732 int8 __ovld __cnfn convert_int8_rtp(ushort8);
   3733 int8 __ovld __cnfn convert_int8_sat_rtp(ushort8);
   3734 int8 __ovld __cnfn convert_int8_rtn(ushort8);
   3735 int8 __ovld __cnfn convert_int8_sat_rtn(ushort8);
   3736 int8 __ovld __cnfn convert_int8(ushort8);
   3737 int8 __ovld __cnfn convert_int8_sat(ushort8);
   3738 int8 __ovld __cnfn convert_int8_rte(int8);
   3739 int8 __ovld __cnfn convert_int8_sat_rte(int8);
   3740 int8 __ovld __cnfn convert_int8_rtz(int8);
   3741 int8 __ovld __cnfn convert_int8_sat_rtz(int8);
   3742 int8 __ovld __cnfn convert_int8_rtp(int8);
   3743 int8 __ovld __cnfn convert_int8_sat_rtp(int8);
   3744 int8 __ovld __cnfn convert_int8_rtn(int8);
   3745 int8 __ovld __cnfn convert_int8_sat_rtn(int8);
   3746 int8 __ovld __cnfn convert_int8(int8);
   3747 int8 __ovld __cnfn convert_int8_sat(int8);
   3748 int8 __ovld __cnfn convert_int8_rte(uint8);
   3749 int8 __ovld __cnfn convert_int8_sat_rte(uint8);
   3750 int8 __ovld __cnfn convert_int8_rtz(uint8);
   3751 int8 __ovld __cnfn convert_int8_sat_rtz(uint8);
   3752 int8 __ovld __cnfn convert_int8_rtp(uint8);
   3753 int8 __ovld __cnfn convert_int8_sat_rtp(uint8);
   3754 int8 __ovld __cnfn convert_int8_rtn(uint8);
   3755 int8 __ovld __cnfn convert_int8_sat_rtn(uint8);
   3756 int8 __ovld __cnfn convert_int8(uint8);
   3757 int8 __ovld __cnfn convert_int8_sat(uint8);
   3758 int8 __ovld __cnfn convert_int8_rte(long8);
   3759 int8 __ovld __cnfn convert_int8_sat_rte(long8);
   3760 int8 __ovld __cnfn convert_int8_rtz(long8);
   3761 int8 __ovld __cnfn convert_int8_sat_rtz(long8);
   3762 int8 __ovld __cnfn convert_int8_rtp(long8);
   3763 int8 __ovld __cnfn convert_int8_sat_rtp(long8);
   3764 int8 __ovld __cnfn convert_int8_rtn(long8);
   3765 int8 __ovld __cnfn convert_int8_sat_rtn(long8);
   3766 int8 __ovld __cnfn convert_int8(long8);
   3767 int8 __ovld __cnfn convert_int8_sat(long8);
   3768 int8 __ovld __cnfn convert_int8_rte(ulong8);
   3769 int8 __ovld __cnfn convert_int8_sat_rte(ulong8);
   3770 int8 __ovld __cnfn convert_int8_rtz(ulong8);
   3771 int8 __ovld __cnfn convert_int8_sat_rtz(ulong8);
   3772 int8 __ovld __cnfn convert_int8_rtp(ulong8);
   3773 int8 __ovld __cnfn convert_int8_sat_rtp(ulong8);
   3774 int8 __ovld __cnfn convert_int8_rtn(ulong8);
   3775 int8 __ovld __cnfn convert_int8_sat_rtn(ulong8);
   3776 int8 __ovld __cnfn convert_int8(ulong8);
   3777 int8 __ovld __cnfn convert_int8_sat(ulong8);
   3778 int8 __ovld __cnfn convert_int8_rte(float8);
   3779 int8 __ovld __cnfn convert_int8_sat_rte(float8);
   3780 int8 __ovld __cnfn convert_int8_rtz(float8);
   3781 int8 __ovld __cnfn convert_int8_sat_rtz(float8);
   3782 int8 __ovld __cnfn convert_int8_rtp(float8);
   3783 int8 __ovld __cnfn convert_int8_sat_rtp(float8);
   3784 int8 __ovld __cnfn convert_int8_rtn(float8);
   3785 int8 __ovld __cnfn convert_int8_sat_rtn(float8);
   3786 int8 __ovld __cnfn convert_int8(float8);
   3787 int8 __ovld __cnfn convert_int8_sat(float8);
   3788 uint8 __ovld __cnfn convert_uint8_rte(char8);
   3789 uint8 __ovld __cnfn convert_uint8_sat_rte(char8);
   3790 uint8 __ovld __cnfn convert_uint8_rtz(char8);
   3791 uint8 __ovld __cnfn convert_uint8_sat_rtz(char8);
   3792 uint8 __ovld __cnfn convert_uint8_rtp(char8);
   3793 uint8 __ovld __cnfn convert_uint8_sat_rtp(char8);
   3794 uint8 __ovld __cnfn convert_uint8_rtn(char8);
   3795 uint8 __ovld __cnfn convert_uint8_sat_rtn(char8);
   3796 uint8 __ovld __cnfn convert_uint8(char8);
   3797 uint8 __ovld __cnfn convert_uint8_sat(char8);
   3798 uint8 __ovld __cnfn convert_uint8_rte(uchar8);
   3799 uint8 __ovld __cnfn convert_uint8_sat_rte(uchar8);
   3800 uint8 __ovld __cnfn convert_uint8_rtz(uchar8);
   3801 uint8 __ovld __cnfn convert_uint8_sat_rtz(uchar8);
   3802 uint8 __ovld __cnfn convert_uint8_rtp(uchar8);
   3803 uint8 __ovld __cnfn convert_uint8_sat_rtp(uchar8);
   3804 uint8 __ovld __cnfn convert_uint8_rtn(uchar8);
   3805 uint8 __ovld __cnfn convert_uint8_sat_rtn(uchar8);
   3806 uint8 __ovld __cnfn convert_uint8(uchar8);
   3807 uint8 __ovld __cnfn convert_uint8_sat(uchar8);
   3808 uint8 __ovld __cnfn convert_uint8_rte(short8);
   3809 uint8 __ovld __cnfn convert_uint8_sat_rte(short8);
   3810 uint8 __ovld __cnfn convert_uint8_rtz(short8);
   3811 uint8 __ovld __cnfn convert_uint8_sat_rtz(short8);
   3812 uint8 __ovld __cnfn convert_uint8_rtp(short8);
   3813 uint8 __ovld __cnfn convert_uint8_sat_rtp(short8);
   3814 uint8 __ovld __cnfn convert_uint8_rtn(short8);
   3815 uint8 __ovld __cnfn convert_uint8_sat_rtn(short8);
   3816 uint8 __ovld __cnfn convert_uint8(short8);
   3817 uint8 __ovld __cnfn convert_uint8_sat(short8);
   3818 uint8 __ovld __cnfn convert_uint8_rte(ushort8);
   3819 uint8 __ovld __cnfn convert_uint8_sat_rte(ushort8);
   3820 uint8 __ovld __cnfn convert_uint8_rtz(ushort8);
   3821 uint8 __ovld __cnfn convert_uint8_sat_rtz(ushort8);
   3822 uint8 __ovld __cnfn convert_uint8_rtp(ushort8);
   3823 uint8 __ovld __cnfn convert_uint8_sat_rtp(ushort8);
   3824 uint8 __ovld __cnfn convert_uint8_rtn(ushort8);
   3825 uint8 __ovld __cnfn convert_uint8_sat_rtn(ushort8);
   3826 uint8 __ovld __cnfn convert_uint8(ushort8);
   3827 uint8 __ovld __cnfn convert_uint8_sat(ushort8);
   3828 uint8 __ovld __cnfn convert_uint8_rte(int8);
   3829 uint8 __ovld __cnfn convert_uint8_sat_rte(int8);
   3830 uint8 __ovld __cnfn convert_uint8_rtz(int8);
   3831 uint8 __ovld __cnfn convert_uint8_sat_rtz(int8);
   3832 uint8 __ovld __cnfn convert_uint8_rtp(int8);
   3833 uint8 __ovld __cnfn convert_uint8_sat_rtp(int8);
   3834 uint8 __ovld __cnfn convert_uint8_rtn(int8);
   3835 uint8 __ovld __cnfn convert_uint8_sat_rtn(int8);
   3836 uint8 __ovld __cnfn convert_uint8(int8);
   3837 uint8 __ovld __cnfn convert_uint8_sat(int8);
   3838 uint8 __ovld __cnfn convert_uint8_rte(uint8);
   3839 uint8 __ovld __cnfn convert_uint8_sat_rte(uint8);
   3840 uint8 __ovld __cnfn convert_uint8_rtz(uint8);
   3841 uint8 __ovld __cnfn convert_uint8_sat_rtz(uint8);
   3842 uint8 __ovld __cnfn convert_uint8_rtp(uint8);
   3843 uint8 __ovld __cnfn convert_uint8_sat_rtp(uint8);
   3844 uint8 __ovld __cnfn convert_uint8_rtn(uint8);
   3845 uint8 __ovld __cnfn convert_uint8_sat_rtn(uint8);
   3846 uint8 __ovld __cnfn convert_uint8(uint8);
   3847 uint8 __ovld __cnfn convert_uint8_sat(uint8);
   3848 uint8 __ovld __cnfn convert_uint8_rte(long8);
   3849 uint8 __ovld __cnfn convert_uint8_sat_rte(long8);
   3850 uint8 __ovld __cnfn convert_uint8_rtz(long8);
   3851 uint8 __ovld __cnfn convert_uint8_sat_rtz(long8);
   3852 uint8 __ovld __cnfn convert_uint8_rtp(long8);
   3853 uint8 __ovld __cnfn convert_uint8_sat_rtp(long8);
   3854 uint8 __ovld __cnfn convert_uint8_rtn(long8);
   3855 uint8 __ovld __cnfn convert_uint8_sat_rtn(long8);
   3856 uint8 __ovld __cnfn convert_uint8(long8);
   3857 uint8 __ovld __cnfn convert_uint8_sat(long8);
   3858 uint8 __ovld __cnfn convert_uint8_rte(ulong8);
   3859 uint8 __ovld __cnfn convert_uint8_sat_rte(ulong8);
   3860 uint8 __ovld __cnfn convert_uint8_rtz(ulong8);
   3861 uint8 __ovld __cnfn convert_uint8_sat_rtz(ulong8);
   3862 uint8 __ovld __cnfn convert_uint8_rtp(ulong8);
   3863 uint8 __ovld __cnfn convert_uint8_sat_rtp(ulong8);
   3864 uint8 __ovld __cnfn convert_uint8_rtn(ulong8);
   3865 uint8 __ovld __cnfn convert_uint8_sat_rtn(ulong8);
   3866 uint8 __ovld __cnfn convert_uint8(ulong8);
   3867 uint8 __ovld __cnfn convert_uint8_sat(ulong8);
   3868 uint8 __ovld __cnfn convert_uint8_rte(float8);
   3869 uint8 __ovld __cnfn convert_uint8_sat_rte(float8);
   3870 uint8 __ovld __cnfn convert_uint8_rtz(float8);
   3871 uint8 __ovld __cnfn convert_uint8_sat_rtz(float8);
   3872 uint8 __ovld __cnfn convert_uint8_rtp(float8);
   3873 uint8 __ovld __cnfn convert_uint8_sat_rtp(float8);
   3874 uint8 __ovld __cnfn convert_uint8_rtn(float8);
   3875 uint8 __ovld __cnfn convert_uint8_sat_rtn(float8);
   3876 uint8 __ovld __cnfn convert_uint8(float8);
   3877 uint8 __ovld __cnfn convert_uint8_sat(float8);
   3878 long8 __ovld __cnfn convert_long8_rte(char8);
   3879 long8 __ovld __cnfn convert_long8_sat_rte(char8);
   3880 long8 __ovld __cnfn convert_long8_rtz(char8);
   3881 long8 __ovld __cnfn convert_long8_sat_rtz(char8);
   3882 long8 __ovld __cnfn convert_long8_rtp(char8);
   3883 long8 __ovld __cnfn convert_long8_sat_rtp(char8);
   3884 long8 __ovld __cnfn convert_long8_rtn(char8);
   3885 long8 __ovld __cnfn convert_long8_sat_rtn(char8);
   3886 long8 __ovld __cnfn convert_long8(char8);
   3887 long8 __ovld __cnfn convert_long8_sat(char8);
   3888 long8 __ovld __cnfn convert_long8_rte(uchar8);
   3889 long8 __ovld __cnfn convert_long8_sat_rte(uchar8);
   3890 long8 __ovld __cnfn convert_long8_rtz(uchar8);
   3891 long8 __ovld __cnfn convert_long8_sat_rtz(uchar8);
   3892 long8 __ovld __cnfn convert_long8_rtp(uchar8);
   3893 long8 __ovld __cnfn convert_long8_sat_rtp(uchar8);
   3894 long8 __ovld __cnfn convert_long8_rtn(uchar8);
   3895 long8 __ovld __cnfn convert_long8_sat_rtn(uchar8);
   3896 long8 __ovld __cnfn convert_long8(uchar8);
   3897 long8 __ovld __cnfn convert_long8_sat(uchar8);
   3898 long8 __ovld __cnfn convert_long8_rte(short8);
   3899 long8 __ovld __cnfn convert_long8_sat_rte(short8);
   3900 long8 __ovld __cnfn convert_long8_rtz(short8);
   3901 long8 __ovld __cnfn convert_long8_sat_rtz(short8);
   3902 long8 __ovld __cnfn convert_long8_rtp(short8);
   3903 long8 __ovld __cnfn convert_long8_sat_rtp(short8);
   3904 long8 __ovld __cnfn convert_long8_rtn(short8);
   3905 long8 __ovld __cnfn convert_long8_sat_rtn(short8);
   3906 long8 __ovld __cnfn convert_long8(short8);
   3907 long8 __ovld __cnfn convert_long8_sat(short8);
   3908 long8 __ovld __cnfn convert_long8_rte(ushort8);
   3909 long8 __ovld __cnfn convert_long8_sat_rte(ushort8);
   3910 long8 __ovld __cnfn convert_long8_rtz(ushort8);
   3911 long8 __ovld __cnfn convert_long8_sat_rtz(ushort8);
   3912 long8 __ovld __cnfn convert_long8_rtp(ushort8);
   3913 long8 __ovld __cnfn convert_long8_sat_rtp(ushort8);
   3914 long8 __ovld __cnfn convert_long8_rtn(ushort8);
   3915 long8 __ovld __cnfn convert_long8_sat_rtn(ushort8);
   3916 long8 __ovld __cnfn convert_long8(ushort8);
   3917 long8 __ovld __cnfn convert_long8_sat(ushort8);
   3918 long8 __ovld __cnfn convert_long8_rte(int8);
   3919 long8 __ovld __cnfn convert_long8_sat_rte(int8);
   3920 long8 __ovld __cnfn convert_long8_rtz(int8);
   3921 long8 __ovld __cnfn convert_long8_sat_rtz(int8);
   3922 long8 __ovld __cnfn convert_long8_rtp(int8);
   3923 long8 __ovld __cnfn convert_long8_sat_rtp(int8);
   3924 long8 __ovld __cnfn convert_long8_rtn(int8);
   3925 long8 __ovld __cnfn convert_long8_sat_rtn(int8);
   3926 long8 __ovld __cnfn convert_long8(int8);
   3927 long8 __ovld __cnfn convert_long8_sat(int8);
   3928 long8 __ovld __cnfn convert_long8_rte(uint8);
   3929 long8 __ovld __cnfn convert_long8_sat_rte(uint8);
   3930 long8 __ovld __cnfn convert_long8_rtz(uint8);
   3931 long8 __ovld __cnfn convert_long8_sat_rtz(uint8);
   3932 long8 __ovld __cnfn convert_long8_rtp(uint8);
   3933 long8 __ovld __cnfn convert_long8_sat_rtp(uint8);
   3934 long8 __ovld __cnfn convert_long8_rtn(uint8);
   3935 long8 __ovld __cnfn convert_long8_sat_rtn(uint8);
   3936 long8 __ovld __cnfn convert_long8(uint8);
   3937 long8 __ovld __cnfn convert_long8_sat(uint8);
   3938 long8 __ovld __cnfn convert_long8_rte(long8);
   3939 long8 __ovld __cnfn convert_long8_sat_rte(long8);
   3940 long8 __ovld __cnfn convert_long8_rtz(long8);
   3941 long8 __ovld __cnfn convert_long8_sat_rtz(long8);
   3942 long8 __ovld __cnfn convert_long8_rtp(long8);
   3943 long8 __ovld __cnfn convert_long8_sat_rtp(long8);
   3944 long8 __ovld __cnfn convert_long8_rtn(long8);
   3945 long8 __ovld __cnfn convert_long8_sat_rtn(long8);
   3946 long8 __ovld __cnfn convert_long8(long8);
   3947 long8 __ovld __cnfn convert_long8_sat(long8);
   3948 long8 __ovld __cnfn convert_long8_rte(ulong8);
   3949 long8 __ovld __cnfn convert_long8_sat_rte(ulong8);
   3950 long8 __ovld __cnfn convert_long8_rtz(ulong8);
   3951 long8 __ovld __cnfn convert_long8_sat_rtz(ulong8);
   3952 long8 __ovld __cnfn convert_long8_rtp(ulong8);
   3953 long8 __ovld __cnfn convert_long8_sat_rtp(ulong8);
   3954 long8 __ovld __cnfn convert_long8_rtn(ulong8);
   3955 long8 __ovld __cnfn convert_long8_sat_rtn(ulong8);
   3956 long8 __ovld __cnfn convert_long8(ulong8);
   3957 long8 __ovld __cnfn convert_long8_sat(ulong8);
   3958 long8 __ovld __cnfn convert_long8_rte(float8);
   3959 long8 __ovld __cnfn convert_long8_sat_rte(float8);
   3960 long8 __ovld __cnfn convert_long8_rtz(float8);
   3961 long8 __ovld __cnfn convert_long8_sat_rtz(float8);
   3962 long8 __ovld __cnfn convert_long8_rtp(float8);
   3963 long8 __ovld __cnfn convert_long8_sat_rtp(float8);
   3964 long8 __ovld __cnfn convert_long8_rtn(float8);
   3965 long8 __ovld __cnfn convert_long8_sat_rtn(float8);
   3966 long8 __ovld __cnfn convert_long8(float8);
   3967 long8 __ovld __cnfn convert_long8_sat(float8);
   3968 ulong8 __ovld __cnfn convert_ulong8_rte(char8);
   3969 ulong8 __ovld __cnfn convert_ulong8_sat_rte(char8);
   3970 ulong8 __ovld __cnfn convert_ulong8_rtz(char8);
   3971 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(char8);
   3972 ulong8 __ovld __cnfn convert_ulong8_rtp(char8);
   3973 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(char8);
   3974 ulong8 __ovld __cnfn convert_ulong8_rtn(char8);
   3975 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(char8);
   3976 ulong8 __ovld __cnfn convert_ulong8(char8);
   3977 ulong8 __ovld __cnfn convert_ulong8_sat(char8);
   3978 ulong8 __ovld __cnfn convert_ulong8_rte(uchar8);
   3979 ulong8 __ovld __cnfn convert_ulong8_sat_rte(uchar8);
   3980 ulong8 __ovld __cnfn convert_ulong8_rtz(uchar8);
   3981 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(uchar8);
   3982 ulong8 __ovld __cnfn convert_ulong8_rtp(uchar8);
   3983 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(uchar8);
   3984 ulong8 __ovld __cnfn convert_ulong8_rtn(uchar8);
   3985 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(uchar8);
   3986 ulong8 __ovld __cnfn convert_ulong8(uchar8);
   3987 ulong8 __ovld __cnfn convert_ulong8_sat(uchar8);
   3988 ulong8 __ovld __cnfn convert_ulong8_rte(short8);
   3989 ulong8 __ovld __cnfn convert_ulong8_sat_rte(short8);
   3990 ulong8 __ovld __cnfn convert_ulong8_rtz(short8);
   3991 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(short8);
   3992 ulong8 __ovld __cnfn convert_ulong8_rtp(short8);
   3993 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(short8);
   3994 ulong8 __ovld __cnfn convert_ulong8_rtn(short8);
   3995 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(short8);
   3996 ulong8 __ovld __cnfn convert_ulong8(short8);
   3997 ulong8 __ovld __cnfn convert_ulong8_sat(short8);
   3998 ulong8 __ovld __cnfn convert_ulong8_rte(ushort8);
   3999 ulong8 __ovld __cnfn convert_ulong8_sat_rte(ushort8);
   4000 ulong8 __ovld __cnfn convert_ulong8_rtz(ushort8);
   4001 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(ushort8);
   4002 ulong8 __ovld __cnfn convert_ulong8_rtp(ushort8);
   4003 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(ushort8);
   4004 ulong8 __ovld __cnfn convert_ulong8_rtn(ushort8);
   4005 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(ushort8);
   4006 ulong8 __ovld __cnfn convert_ulong8(ushort8);
   4007 ulong8 __ovld __cnfn convert_ulong8_sat(ushort8);
   4008 ulong8 __ovld __cnfn convert_ulong8_rte(int8);
   4009 ulong8 __ovld __cnfn convert_ulong8_sat_rte(int8);
   4010 ulong8 __ovld __cnfn convert_ulong8_rtz(int8);
   4011 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(int8);
   4012 ulong8 __ovld __cnfn convert_ulong8_rtp(int8);
   4013 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(int8);
   4014 ulong8 __ovld __cnfn convert_ulong8_rtn(int8);
   4015 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(int8);
   4016 ulong8 __ovld __cnfn convert_ulong8(int8);
   4017 ulong8 __ovld __cnfn convert_ulong8_sat(int8);
   4018 ulong8 __ovld __cnfn convert_ulong8_rte(uint8);
   4019 ulong8 __ovld __cnfn convert_ulong8_sat_rte(uint8);
   4020 ulong8 __ovld __cnfn convert_ulong8_rtz(uint8);
   4021 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(uint8);
   4022 ulong8 __ovld __cnfn convert_ulong8_rtp(uint8);
   4023 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(uint8);
   4024 ulong8 __ovld __cnfn convert_ulong8_rtn(uint8);
   4025 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(uint8);
   4026 ulong8 __ovld __cnfn convert_ulong8(uint8);
   4027 ulong8 __ovld __cnfn convert_ulong8_sat(uint8);
   4028 ulong8 __ovld __cnfn convert_ulong8_rte(long8);
   4029 ulong8 __ovld __cnfn convert_ulong8_sat_rte(long8);
   4030 ulong8 __ovld __cnfn convert_ulong8_rtz(long8);
   4031 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(long8);
   4032 ulong8 __ovld __cnfn convert_ulong8_rtp(long8);
   4033 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(long8);
   4034 ulong8 __ovld __cnfn convert_ulong8_rtn(long8);
   4035 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(long8);
   4036 ulong8 __ovld __cnfn convert_ulong8(long8);
   4037 ulong8 __ovld __cnfn convert_ulong8_sat(long8);
   4038 ulong8 __ovld __cnfn convert_ulong8_rte(ulong8);
   4039 ulong8 __ovld __cnfn convert_ulong8_sat_rte(ulong8);
   4040 ulong8 __ovld __cnfn convert_ulong8_rtz(ulong8);
   4041 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(ulong8);
   4042 ulong8 __ovld __cnfn convert_ulong8_rtp(ulong8);
   4043 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(ulong8);
   4044 ulong8 __ovld __cnfn convert_ulong8_rtn(ulong8);
   4045 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(ulong8);
   4046 ulong8 __ovld __cnfn convert_ulong8(ulong8);
   4047 ulong8 __ovld __cnfn convert_ulong8_sat(ulong8);
   4048 ulong8 __ovld __cnfn convert_ulong8_rte(float8);
   4049 ulong8 __ovld __cnfn convert_ulong8_sat_rte(float8);
   4050 ulong8 __ovld __cnfn convert_ulong8_rtz(float8);
   4051 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(float8);
   4052 ulong8 __ovld __cnfn convert_ulong8_rtp(float8);
   4053 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(float8);
   4054 ulong8 __ovld __cnfn convert_ulong8_rtn(float8);
   4055 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(float8);
   4056 ulong8 __ovld __cnfn convert_ulong8(float8);
   4057 ulong8 __ovld __cnfn convert_ulong8_sat(float8);
   4058 float8 __ovld __cnfn convert_float8_rte(char8);
   4059 float8 __ovld __cnfn convert_float8_rtz(char8);
   4060 float8 __ovld __cnfn convert_float8_rtp(char8);
   4061 float8 __ovld __cnfn convert_float8_rtn(char8);
   4062 float8 __ovld __cnfn convert_float8(char8);
   4063 float8 __ovld __cnfn convert_float8_rte(uchar8);
   4064 float8 __ovld __cnfn convert_float8_rtz(uchar8);
   4065 float8 __ovld __cnfn convert_float8_rtp(uchar8);
   4066 float8 __ovld __cnfn convert_float8_rtn(uchar8);
   4067 float8 __ovld __cnfn convert_float8(uchar8);
   4068 float8 __ovld __cnfn convert_float8_rte(short8);
   4069 float8 __ovld __cnfn convert_float8_rtz(short8);
   4070 float8 __ovld __cnfn convert_float8_rtp(short8);
   4071 float8 __ovld __cnfn convert_float8_rtn(short8);
   4072 float8 __ovld __cnfn convert_float8(short8);
   4073 float8 __ovld __cnfn convert_float8_rte(ushort8);
   4074 float8 __ovld __cnfn convert_float8_rtz(ushort8);
   4075 float8 __ovld __cnfn convert_float8_rtp(ushort8);
   4076 float8 __ovld __cnfn convert_float8_rtn(ushort8);
   4077 float8 __ovld __cnfn convert_float8(ushort8);
   4078 float8 __ovld __cnfn convert_float8_rte(int8);
   4079 float8 __ovld __cnfn convert_float8_rtz(int8);
   4080 float8 __ovld __cnfn convert_float8_rtp(int8);
   4081 float8 __ovld __cnfn convert_float8_rtn(int8);
   4082 float8 __ovld __cnfn convert_float8(int8);
   4083 float8 __ovld __cnfn convert_float8_rte(uint8);
   4084 float8 __ovld __cnfn convert_float8_rtz(uint8);
   4085 float8 __ovld __cnfn convert_float8_rtp(uint8);
   4086 float8 __ovld __cnfn convert_float8_rtn(uint8);
   4087 float8 __ovld __cnfn convert_float8(uint8);
   4088 float8 __ovld __cnfn convert_float8_rte(long8);
   4089 float8 __ovld __cnfn convert_float8_rtz(long8);
   4090 float8 __ovld __cnfn convert_float8_rtp(long8);
   4091 float8 __ovld __cnfn convert_float8_rtn(long8);
   4092 float8 __ovld __cnfn convert_float8(long8);
   4093 float8 __ovld __cnfn convert_float8_rte(ulong8);
   4094 float8 __ovld __cnfn convert_float8_rtz(ulong8);
   4095 float8 __ovld __cnfn convert_float8_rtp(ulong8);
   4096 float8 __ovld __cnfn convert_float8_rtn(ulong8);
   4097 float8 __ovld __cnfn convert_float8(ulong8);
   4098 float8 __ovld __cnfn convert_float8_rte(float8);
   4099 float8 __ovld __cnfn convert_float8_rtz(float8);
   4100 float8 __ovld __cnfn convert_float8_rtp(float8);
   4101 float8 __ovld __cnfn convert_float8_rtn(float8);
   4102 float8 __ovld __cnfn convert_float8(float8);
   4103 char16 __ovld __cnfn convert_char16_rte(char16);
   4104 char16 __ovld __cnfn convert_char16_sat_rte(char16);
   4105 char16 __ovld __cnfn convert_char16_rtz(char16);
   4106 char16 __ovld __cnfn convert_char16_sat_rtz(char16);
   4107 char16 __ovld __cnfn convert_char16_rtp(char16);
   4108 char16 __ovld __cnfn convert_char16_sat_rtp(char16);
   4109 char16 __ovld __cnfn convert_char16_rtn(char16);
   4110 char16 __ovld __cnfn convert_char16_sat_rtn(char16);
   4111 char16 __ovld __cnfn convert_char16(char16);
   4112 char16 __ovld __cnfn convert_char16_sat(char16);
   4113 char16 __ovld __cnfn convert_char16_rte(uchar16);
   4114 char16 __ovld __cnfn convert_char16_sat_rte(uchar16);
   4115 char16 __ovld __cnfn convert_char16_rtz(uchar16);
   4116 char16 __ovld __cnfn convert_char16_sat_rtz(uchar16);
   4117 char16 __ovld __cnfn convert_char16_rtp(uchar16);
   4118 char16 __ovld __cnfn convert_char16_sat_rtp(uchar16);
   4119 char16 __ovld __cnfn convert_char16_rtn(uchar16);
   4120 char16 __ovld __cnfn convert_char16_sat_rtn(uchar16);
   4121 char16 __ovld __cnfn convert_char16(uchar16);
   4122 char16 __ovld __cnfn convert_char16_sat(uchar16);
   4123 char16 __ovld __cnfn convert_char16_rte(short16);
   4124 char16 __ovld __cnfn convert_char16_sat_rte(short16);
   4125 char16 __ovld __cnfn convert_char16_rtz(short16);
   4126 char16 __ovld __cnfn convert_char16_sat_rtz(short16);
   4127 char16 __ovld __cnfn convert_char16_rtp(short16);
   4128 char16 __ovld __cnfn convert_char16_sat_rtp(short16);
   4129 char16 __ovld __cnfn convert_char16_rtn(short16);
   4130 char16 __ovld __cnfn convert_char16_sat_rtn(short16);
   4131 char16 __ovld __cnfn convert_char16(short16);
   4132 char16 __ovld __cnfn convert_char16_sat(short16);
   4133 char16 __ovld __cnfn convert_char16_rte(ushort16);
   4134 char16 __ovld __cnfn convert_char16_sat_rte(ushort16);
   4135 char16 __ovld __cnfn convert_char16_rtz(ushort16);
   4136 char16 __ovld __cnfn convert_char16_sat_rtz(ushort16);
   4137 char16 __ovld __cnfn convert_char16_rtp(ushort16);
   4138 char16 __ovld __cnfn convert_char16_sat_rtp(ushort16);
   4139 char16 __ovld __cnfn convert_char16_rtn(ushort16);
   4140 char16 __ovld __cnfn convert_char16_sat_rtn(ushort16);
   4141 char16 __ovld __cnfn convert_char16(ushort16);
   4142 char16 __ovld __cnfn convert_char16_sat(ushort16);
   4143 char16 __ovld __cnfn convert_char16_rte(int16);
   4144 char16 __ovld __cnfn convert_char16_sat_rte(int16);
   4145 char16 __ovld __cnfn convert_char16_rtz(int16);
   4146 char16 __ovld __cnfn convert_char16_sat_rtz(int16);
   4147 char16 __ovld __cnfn convert_char16_rtp(int16);
   4148 char16 __ovld __cnfn convert_char16_sat_rtp(int16);
   4149 char16 __ovld __cnfn convert_char16_rtn(int16);
   4150 char16 __ovld __cnfn convert_char16_sat_rtn(int16);
   4151 char16 __ovld __cnfn convert_char16(int16);
   4152 char16 __ovld __cnfn convert_char16_sat(int16);
   4153 char16 __ovld __cnfn convert_char16_rte(uint16);
   4154 char16 __ovld __cnfn convert_char16_sat_rte(uint16);
   4155 char16 __ovld __cnfn convert_char16_rtz(uint16);
   4156 char16 __ovld __cnfn convert_char16_sat_rtz(uint16);
   4157 char16 __ovld __cnfn convert_char16_rtp(uint16);
   4158 char16 __ovld __cnfn convert_char16_sat_rtp(uint16);
   4159 char16 __ovld __cnfn convert_char16_rtn(uint16);
   4160 char16 __ovld __cnfn convert_char16_sat_rtn(uint16);
   4161 char16 __ovld __cnfn convert_char16(uint16);
   4162 char16 __ovld __cnfn convert_char16_sat(uint16);
   4163 char16 __ovld __cnfn convert_char16_rte(long16);
   4164 char16 __ovld __cnfn convert_char16_sat_rte(long16);
   4165 char16 __ovld __cnfn convert_char16_rtz(long16);
   4166 char16 __ovld __cnfn convert_char16_sat_rtz(long16);
   4167 char16 __ovld __cnfn convert_char16_rtp(long16);
   4168 char16 __ovld __cnfn convert_char16_sat_rtp(long16);
   4169 char16 __ovld __cnfn convert_char16_rtn(long16);
   4170 char16 __ovld __cnfn convert_char16_sat_rtn(long16);
   4171 char16 __ovld __cnfn convert_char16(long16);
   4172 char16 __ovld __cnfn convert_char16_sat(long16);
   4173 char16 __ovld __cnfn convert_char16_rte(ulong16);
   4174 char16 __ovld __cnfn convert_char16_sat_rte(ulong16);
   4175 char16 __ovld __cnfn convert_char16_rtz(ulong16);
   4176 char16 __ovld __cnfn convert_char16_sat_rtz(ulong16);
   4177 char16 __ovld __cnfn convert_char16_rtp(ulong16);
   4178 char16 __ovld __cnfn convert_char16_sat_rtp(ulong16);
   4179 char16 __ovld __cnfn convert_char16_rtn(ulong16);
   4180 char16 __ovld __cnfn convert_char16_sat_rtn(ulong16);
   4181 char16 __ovld __cnfn convert_char16(ulong16);
   4182 char16 __ovld __cnfn convert_char16_sat(ulong16);
   4183 char16 __ovld __cnfn convert_char16_rte(float16);
   4184 char16 __ovld __cnfn convert_char16_sat_rte(float16);
   4185 char16 __ovld __cnfn convert_char16_rtz(float16);
   4186 char16 __ovld __cnfn convert_char16_sat_rtz(float16);
   4187 char16 __ovld __cnfn convert_char16_rtp(float16);
   4188 char16 __ovld __cnfn convert_char16_sat_rtp(float16);
   4189 char16 __ovld __cnfn convert_char16_rtn(float16);
   4190 char16 __ovld __cnfn convert_char16_sat_rtn(float16);
   4191 char16 __ovld __cnfn convert_char16(float16);
   4192 char16 __ovld __cnfn convert_char16_sat(float16);
   4193 uchar16 __ovld __cnfn convert_uchar16_rte(char16);
   4194 uchar16 __ovld __cnfn convert_uchar16_sat_rte(char16);
   4195 uchar16 __ovld __cnfn convert_uchar16_rtz(char16);
   4196 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(char16);
   4197 uchar16 __ovld __cnfn convert_uchar16_rtp(char16);
   4198 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(char16);
   4199 uchar16 __ovld __cnfn convert_uchar16_rtn(char16);
   4200 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(char16);
   4201 uchar16 __ovld __cnfn convert_uchar16(char16);
   4202 uchar16 __ovld __cnfn convert_uchar16_sat(char16);
   4203 uchar16 __ovld __cnfn convert_uchar16_rte(uchar16);
   4204 uchar16 __ovld __cnfn convert_uchar16_sat_rte(uchar16);
   4205 uchar16 __ovld __cnfn convert_uchar16_rtz(uchar16);
   4206 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(uchar16);
   4207 uchar16 __ovld __cnfn convert_uchar16_rtp(uchar16);
   4208 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(uchar16);
   4209 uchar16 __ovld __cnfn convert_uchar16_rtn(uchar16);
   4210 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(uchar16);
   4211 uchar16 __ovld __cnfn convert_uchar16(uchar16);
   4212 uchar16 __ovld __cnfn convert_uchar16_sat(uchar16);
   4213 uchar16 __ovld __cnfn convert_uchar16_rte(short16);
   4214 uchar16 __ovld __cnfn convert_uchar16_sat_rte(short16);
   4215 uchar16 __ovld __cnfn convert_uchar16_rtz(short16);
   4216 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(short16);
   4217 uchar16 __ovld __cnfn convert_uchar16_rtp(short16);
   4218 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(short16);
   4219 uchar16 __ovld __cnfn convert_uchar16_rtn(short16);
   4220 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(short16);
   4221 uchar16 __ovld __cnfn convert_uchar16(short16);
   4222 uchar16 __ovld __cnfn convert_uchar16_sat(short16);
   4223 uchar16 __ovld __cnfn convert_uchar16_rte(ushort16);
   4224 uchar16 __ovld __cnfn convert_uchar16_sat_rte(ushort16);
   4225 uchar16 __ovld __cnfn convert_uchar16_rtz(ushort16);
   4226 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(ushort16);
   4227 uchar16 __ovld __cnfn convert_uchar16_rtp(ushort16);
   4228 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(ushort16);
   4229 uchar16 __ovld __cnfn convert_uchar16_rtn(ushort16);
   4230 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(ushort16);
   4231 uchar16 __ovld __cnfn convert_uchar16(ushort16);
   4232 uchar16 __ovld __cnfn convert_uchar16_sat(ushort16);
   4233 uchar16 __ovld __cnfn convert_uchar16_rte(int16);
   4234 uchar16 __ovld __cnfn convert_uchar16_sat_rte(int16);
   4235 uchar16 __ovld __cnfn convert_uchar16_rtz(int16);
   4236 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(int16);
   4237 uchar16 __ovld __cnfn convert_uchar16_rtp(int16);
   4238 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(int16);
   4239 uchar16 __ovld __cnfn convert_uchar16_rtn(int16);
   4240 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(int16);
   4241 uchar16 __ovld __cnfn convert_uchar16(int16);
   4242 uchar16 __ovld __cnfn convert_uchar16_sat(int16);
   4243 uchar16 __ovld __cnfn convert_uchar16_rte(uint16);
   4244 uchar16 __ovld __cnfn convert_uchar16_sat_rte(uint16);
   4245 uchar16 __ovld __cnfn convert_uchar16_rtz(uint16);
   4246 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(uint16);
   4247 uchar16 __ovld __cnfn convert_uchar16_rtp(uint16);
   4248 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(uint16);
   4249 uchar16 __ovld __cnfn convert_uchar16_rtn(uint16);
   4250 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(uint16);
   4251 uchar16 __ovld __cnfn convert_uchar16(uint16);
   4252 uchar16 __ovld __cnfn convert_uchar16_sat(uint16);
   4253 uchar16 __ovld __cnfn convert_uchar16_rte(long16);
   4254 uchar16 __ovld __cnfn convert_uchar16_sat_rte(long16);
   4255 uchar16 __ovld __cnfn convert_uchar16_rtz(long16);
   4256 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(long16);
   4257 uchar16 __ovld __cnfn convert_uchar16_rtp(long16);
   4258 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(long16);
   4259 uchar16 __ovld __cnfn convert_uchar16_rtn(long16);
   4260 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(long16);
   4261 uchar16 __ovld __cnfn convert_uchar16(long16);
   4262 uchar16 __ovld __cnfn convert_uchar16_sat(long16);
   4263 uchar16 __ovld __cnfn convert_uchar16_rte(ulong16);
   4264 uchar16 __ovld __cnfn convert_uchar16_sat_rte(ulong16);
   4265 uchar16 __ovld __cnfn convert_uchar16_rtz(ulong16);
   4266 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(ulong16);
   4267 uchar16 __ovld __cnfn convert_uchar16_rtp(ulong16);
   4268 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(ulong16);
   4269 uchar16 __ovld __cnfn convert_uchar16_rtn(ulong16);
   4270 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(ulong16);
   4271 uchar16 __ovld __cnfn convert_uchar16(ulong16);
   4272 uchar16 __ovld __cnfn convert_uchar16_sat(ulong16);
   4273 uchar16 __ovld __cnfn convert_uchar16_rte(float16);
   4274 uchar16 __ovld __cnfn convert_uchar16_sat_rte(float16);
   4275 uchar16 __ovld __cnfn convert_uchar16_rtz(float16);
   4276 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(float16);
   4277 uchar16 __ovld __cnfn convert_uchar16_rtp(float16);
   4278 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(float16);
   4279 uchar16 __ovld __cnfn convert_uchar16_rtn(float16);
   4280 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(float16);
   4281 uchar16 __ovld __cnfn convert_uchar16(float16);
   4282 uchar16 __ovld __cnfn convert_uchar16_sat(float16);
   4283 short16 __ovld __cnfn convert_short16_rte(char16);
   4284 short16 __ovld __cnfn convert_short16_sat_rte(char16);
   4285 short16 __ovld __cnfn convert_short16_rtz(char16);
   4286 short16 __ovld __cnfn convert_short16_sat_rtz(char16);
   4287 short16 __ovld __cnfn convert_short16_rtp(char16);
   4288 short16 __ovld __cnfn convert_short16_sat_rtp(char16);
   4289 short16 __ovld __cnfn convert_short16_rtn(char16);
   4290 short16 __ovld __cnfn convert_short16_sat_rtn(char16);
   4291 short16 __ovld __cnfn convert_short16(char16);
   4292 short16 __ovld __cnfn convert_short16_sat(char16);
   4293 short16 __ovld __cnfn convert_short16_rte(uchar16);
   4294 short16 __ovld __cnfn convert_short16_sat_rte(uchar16);
   4295 short16 __ovld __cnfn convert_short16_rtz(uchar16);
   4296 short16 __ovld __cnfn convert_short16_sat_rtz(uchar16);
   4297 short16 __ovld __cnfn convert_short16_rtp(uchar16);
   4298 short16 __ovld __cnfn convert_short16_sat_rtp(uchar16);
   4299 short16 __ovld __cnfn convert_short16_rtn(uchar16);
   4300 short16 __ovld __cnfn convert_short16_sat_rtn(uchar16);
   4301 short16 __ovld __cnfn convert_short16(uchar16);
   4302 short16 __ovld __cnfn convert_short16_sat(uchar16);
   4303 short16 __ovld __cnfn convert_short16_rte(short16);
   4304 short16 __ovld __cnfn convert_short16_sat_rte(short16);
   4305 short16 __ovld __cnfn convert_short16_rtz(short16);
   4306 short16 __ovld __cnfn convert_short16_sat_rtz(short16);
   4307 short16 __ovld __cnfn convert_short16_rtp(short16);
   4308 short16 __ovld __cnfn convert_short16_sat_rtp(short16);
   4309 short16 __ovld __cnfn convert_short16_rtn(short16);
   4310 short16 __ovld __cnfn convert_short16_sat_rtn(short16);
   4311 short16 __ovld __cnfn convert_short16(short16);
   4312 short16 __ovld __cnfn convert_short16_sat(short16);
   4313 short16 __ovld __cnfn convert_short16_rte(ushort16);
   4314 short16 __ovld __cnfn convert_short16_sat_rte(ushort16);
   4315 short16 __ovld __cnfn convert_short16_rtz(ushort16);
   4316 short16 __ovld __cnfn convert_short16_sat_rtz(ushort16);
   4317 short16 __ovld __cnfn convert_short16_rtp(ushort16);
   4318 short16 __ovld __cnfn convert_short16_sat_rtp(ushort16);
   4319 short16 __ovld __cnfn convert_short16_rtn(ushort16);
   4320 short16 __ovld __cnfn convert_short16_sat_rtn(ushort16);
   4321 short16 __ovld __cnfn convert_short16(ushort16);
   4322 short16 __ovld __cnfn convert_short16_sat(ushort16);
   4323 short16 __ovld __cnfn convert_short16_rte(int16);
   4324 short16 __ovld __cnfn convert_short16_sat_rte(int16);
   4325 short16 __ovld __cnfn convert_short16_rtz(int16);
   4326 short16 __ovld __cnfn convert_short16_sat_rtz(int16);
   4327 short16 __ovld __cnfn convert_short16_rtp(int16);
   4328 short16 __ovld __cnfn convert_short16_sat_rtp(int16);
   4329 short16 __ovld __cnfn convert_short16_rtn(int16);
   4330 short16 __ovld __cnfn convert_short16_sat_rtn(int16);
   4331 short16 __ovld __cnfn convert_short16(int16);
   4332 short16 __ovld __cnfn convert_short16_sat(int16);
   4333 short16 __ovld __cnfn convert_short16_rte(uint16);
   4334 short16 __ovld __cnfn convert_short16_sat_rte(uint16);
   4335 short16 __ovld __cnfn convert_short16_rtz(uint16);
   4336 short16 __ovld __cnfn convert_short16_sat_rtz(uint16);
   4337 short16 __ovld __cnfn convert_short16_rtp(uint16);
   4338 short16 __ovld __cnfn convert_short16_sat_rtp(uint16);
   4339 short16 __ovld __cnfn convert_short16_rtn(uint16);
   4340 short16 __ovld __cnfn convert_short16_sat_rtn(uint16);
   4341 short16 __ovld __cnfn convert_short16(uint16);
   4342 short16 __ovld __cnfn convert_short16_sat(uint16);
   4343 short16 __ovld __cnfn convert_short16_rte(long16);
   4344 short16 __ovld __cnfn convert_short16_sat_rte(long16);
   4345 short16 __ovld __cnfn convert_short16_rtz(long16);
   4346 short16 __ovld __cnfn convert_short16_sat_rtz(long16);
   4347 short16 __ovld __cnfn convert_short16_rtp(long16);
   4348 short16 __ovld __cnfn convert_short16_sat_rtp(long16);
   4349 short16 __ovld __cnfn convert_short16_rtn(long16);
   4350 short16 __ovld __cnfn convert_short16_sat_rtn(long16);
   4351 short16 __ovld __cnfn convert_short16(long16);
   4352 short16 __ovld __cnfn convert_short16_sat(long16);
   4353 short16 __ovld __cnfn convert_short16_rte(ulong16);
   4354 short16 __ovld __cnfn convert_short16_sat_rte(ulong16);
   4355 short16 __ovld __cnfn convert_short16_rtz(ulong16);
   4356 short16 __ovld __cnfn convert_short16_sat_rtz(ulong16);
   4357 short16 __ovld __cnfn convert_short16_rtp(ulong16);
   4358 short16 __ovld __cnfn convert_short16_sat_rtp(ulong16);
   4359 short16 __ovld __cnfn convert_short16_rtn(ulong16);
   4360 short16 __ovld __cnfn convert_short16_sat_rtn(ulong16);
   4361 short16 __ovld __cnfn convert_short16(ulong16);
   4362 short16 __ovld __cnfn convert_short16_sat(ulong16);
   4363 short16 __ovld __cnfn convert_short16_rte(float16);
   4364 short16 __ovld __cnfn convert_short16_sat_rte(float16);
   4365 short16 __ovld __cnfn convert_short16_rtz(float16);
   4366 short16 __ovld __cnfn convert_short16_sat_rtz(float16);
   4367 short16 __ovld __cnfn convert_short16_rtp(float16);
   4368 short16 __ovld __cnfn convert_short16_sat_rtp(float16);
   4369 short16 __ovld __cnfn convert_short16_rtn(float16);
   4370 short16 __ovld __cnfn convert_short16_sat_rtn(float16);
   4371 short16 __ovld __cnfn convert_short16(float16);
   4372 short16 __ovld __cnfn convert_short16_sat(float16);
   4373 ushort16 __ovld __cnfn convert_ushort16_rte(char16);
   4374 ushort16 __ovld __cnfn convert_ushort16_sat_rte(char16);
   4375 ushort16 __ovld __cnfn convert_ushort16_rtz(char16);
   4376 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(char16);
   4377 ushort16 __ovld __cnfn convert_ushort16_rtp(char16);
   4378 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(char16);
   4379 ushort16 __ovld __cnfn convert_ushort16_rtn(char16);
   4380 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(char16);
   4381 ushort16 __ovld __cnfn convert_ushort16(char16);
   4382 ushort16 __ovld __cnfn convert_ushort16_sat(char16);
   4383 ushort16 __ovld __cnfn convert_ushort16_rte(uchar16);
   4384 ushort16 __ovld __cnfn convert_ushort16_sat_rte(uchar16);
   4385 ushort16 __ovld __cnfn convert_ushort16_rtz(uchar16);
   4386 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(uchar16);
   4387 ushort16 __ovld __cnfn convert_ushort16_rtp(uchar16);
   4388 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(uchar16);
   4389 ushort16 __ovld __cnfn convert_ushort16_rtn(uchar16);
   4390 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(uchar16);
   4391 ushort16 __ovld __cnfn convert_ushort16(uchar16);
   4392 ushort16 __ovld __cnfn convert_ushort16_sat(uchar16);
   4393 ushort16 __ovld __cnfn convert_ushort16_rte(short16);
   4394 ushort16 __ovld __cnfn convert_ushort16_sat_rte(short16);
   4395 ushort16 __ovld __cnfn convert_ushort16_rtz(short16);
   4396 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(short16);
   4397 ushort16 __ovld __cnfn convert_ushort16_rtp(short16);
   4398 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(short16);
   4399 ushort16 __ovld __cnfn convert_ushort16_rtn(short16);
   4400 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(short16);
   4401 ushort16 __ovld __cnfn convert_ushort16(short16);
   4402 ushort16 __ovld __cnfn convert_ushort16_sat(short16);
   4403 ushort16 __ovld __cnfn convert_ushort16_rte(ushort16);
   4404 ushort16 __ovld __cnfn convert_ushort16_sat_rte(ushort16);
   4405 ushort16 __ovld __cnfn convert_ushort16_rtz(ushort16);
   4406 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(ushort16);
   4407 ushort16 __ovld __cnfn convert_ushort16_rtp(ushort16);
   4408 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(ushort16);
   4409 ushort16 __ovld __cnfn convert_ushort16_rtn(ushort16);
   4410 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(ushort16);
   4411 ushort16 __ovld __cnfn convert_ushort16(ushort16);
   4412 ushort16 __ovld __cnfn convert_ushort16_sat(ushort16);
   4413 ushort16 __ovld __cnfn convert_ushort16_rte(int16);
   4414 ushort16 __ovld __cnfn convert_ushort16_sat_rte(int16);
   4415 ushort16 __ovld __cnfn convert_ushort16_rtz(int16);
   4416 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(int16);
   4417 ushort16 __ovld __cnfn convert_ushort16_rtp(int16);
   4418 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(int16);
   4419 ushort16 __ovld __cnfn convert_ushort16_rtn(int16);
   4420 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(int16);
   4421 ushort16 __ovld __cnfn convert_ushort16(int16);
   4422 ushort16 __ovld __cnfn convert_ushort16_sat(int16);
   4423 ushort16 __ovld __cnfn convert_ushort16_rte(uint16);
   4424 ushort16 __ovld __cnfn convert_ushort16_sat_rte(uint16);
   4425 ushort16 __ovld __cnfn convert_ushort16_rtz(uint16);
   4426 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(uint16);
   4427 ushort16 __ovld __cnfn convert_ushort16_rtp(uint16);
   4428 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(uint16);
   4429 ushort16 __ovld __cnfn convert_ushort16_rtn(uint16);
   4430 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(uint16);
   4431 ushort16 __ovld __cnfn convert_ushort16(uint16);
   4432 ushort16 __ovld __cnfn convert_ushort16_sat(uint16);
   4433 ushort16 __ovld __cnfn convert_ushort16_rte(long16);
   4434 ushort16 __ovld __cnfn convert_ushort16_sat_rte(long16);
   4435 ushort16 __ovld __cnfn convert_ushort16_rtz(long16);
   4436 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(long16);
   4437 ushort16 __ovld __cnfn convert_ushort16_rtp(long16);
   4438 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(long16);
   4439 ushort16 __ovld __cnfn convert_ushort16_rtn(long16);
   4440 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(long16);
   4441 ushort16 __ovld __cnfn convert_ushort16(long16);
   4442 ushort16 __ovld __cnfn convert_ushort16_sat(long16);
   4443 ushort16 __ovld __cnfn convert_ushort16_rte(ulong16);
   4444 ushort16 __ovld __cnfn convert_ushort16_sat_rte(ulong16);
   4445 ushort16 __ovld __cnfn convert_ushort16_rtz(ulong16);
   4446 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(ulong16);
   4447 ushort16 __ovld __cnfn convert_ushort16_rtp(ulong16);
   4448 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(ulong16);
   4449 ushort16 __ovld __cnfn convert_ushort16_rtn(ulong16);
   4450 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(ulong16);
   4451 ushort16 __ovld __cnfn convert_ushort16(ulong16);
   4452 ushort16 __ovld __cnfn convert_ushort16_sat(ulong16);
   4453 ushort16 __ovld __cnfn convert_ushort16_rte(float16);
   4454 ushort16 __ovld __cnfn convert_ushort16_sat_rte(float16);
   4455 ushort16 __ovld __cnfn convert_ushort16_rtz(float16);
   4456 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(float16);
   4457 ushort16 __ovld __cnfn convert_ushort16_rtp(float16);
   4458 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(float16);
   4459 ushort16 __ovld __cnfn convert_ushort16_rtn(float16);
   4460 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(float16);
   4461 ushort16 __ovld __cnfn convert_ushort16(float16);
   4462 ushort16 __ovld __cnfn convert_ushort16_sat(float16);
   4463 int16 __ovld __cnfn convert_int16_rte(char16);
   4464 int16 __ovld __cnfn convert_int16_sat_rte(char16);
   4465 int16 __ovld __cnfn convert_int16_rtz(char16);
   4466 int16 __ovld __cnfn convert_int16_sat_rtz(char16);
   4467 int16 __ovld __cnfn convert_int16_rtp(char16);
   4468 int16 __ovld __cnfn convert_int16_sat_rtp(char16);
   4469 int16 __ovld __cnfn convert_int16_rtn(char16);
   4470 int16 __ovld __cnfn convert_int16_sat_rtn(char16);
   4471 int16 __ovld __cnfn convert_int16(char16);
   4472 int16 __ovld __cnfn convert_int16_sat(char16);
   4473 int16 __ovld __cnfn convert_int16_rte(uchar16);
   4474 int16 __ovld __cnfn convert_int16_sat_rte(uchar16);
   4475 int16 __ovld __cnfn convert_int16_rtz(uchar16);
   4476 int16 __ovld __cnfn convert_int16_sat_rtz(uchar16);
   4477 int16 __ovld __cnfn convert_int16_rtp(uchar16);
   4478 int16 __ovld __cnfn convert_int16_sat_rtp(uchar16);
   4479 int16 __ovld __cnfn convert_int16_rtn(uchar16);
   4480 int16 __ovld __cnfn convert_int16_sat_rtn(uchar16);
   4481 int16 __ovld __cnfn convert_int16(uchar16);
   4482 int16 __ovld __cnfn convert_int16_sat(uchar16);
   4483 int16 __ovld __cnfn convert_int16_rte(short16);
   4484 int16 __ovld __cnfn convert_int16_sat_rte(short16);
   4485 int16 __ovld __cnfn convert_int16_rtz(short16);
   4486 int16 __ovld __cnfn convert_int16_sat_rtz(short16);
   4487 int16 __ovld __cnfn convert_int16_rtp(short16);
   4488 int16 __ovld __cnfn convert_int16_sat_rtp(short16);
   4489 int16 __ovld __cnfn convert_int16_rtn(short16);
   4490 int16 __ovld __cnfn convert_int16_sat_rtn(short16);
   4491 int16 __ovld __cnfn convert_int16(short16);
   4492 int16 __ovld __cnfn convert_int16_sat(short16);
   4493 int16 __ovld __cnfn convert_int16_rte(ushort16);
   4494 int16 __ovld __cnfn convert_int16_sat_rte(ushort16);
   4495 int16 __ovld __cnfn convert_int16_rtz(ushort16);
   4496 int16 __ovld __cnfn convert_int16_sat_rtz(ushort16);
   4497 int16 __ovld __cnfn convert_int16_rtp(ushort16);
   4498 int16 __ovld __cnfn convert_int16_sat_rtp(ushort16);
   4499 int16 __ovld __cnfn convert_int16_rtn(ushort16);
   4500 int16 __ovld __cnfn convert_int16_sat_rtn(ushort16);
   4501 int16 __ovld __cnfn convert_int16(ushort16);
   4502 int16 __ovld __cnfn convert_int16_sat(ushort16);
   4503 int16 __ovld __cnfn convert_int16_rte(int16);
   4504 int16 __ovld __cnfn convert_int16_sat_rte(int16);
   4505 int16 __ovld __cnfn convert_int16_rtz(int16);
   4506 int16 __ovld __cnfn convert_int16_sat_rtz(int16);
   4507 int16 __ovld __cnfn convert_int16_rtp(int16);
   4508 int16 __ovld __cnfn convert_int16_sat_rtp(int16);
   4509 int16 __ovld __cnfn convert_int16_rtn(int16);
   4510 int16 __ovld __cnfn convert_int16_sat_rtn(int16);
   4511 int16 __ovld __cnfn convert_int16(int16);
   4512 int16 __ovld __cnfn convert_int16_sat(int16);
   4513 int16 __ovld __cnfn convert_int16_rte(uint16);
   4514 int16 __ovld __cnfn convert_int16_sat_rte(uint16);
   4515 int16 __ovld __cnfn convert_int16_rtz(uint16);
   4516 int16 __ovld __cnfn convert_int16_sat_rtz(uint16);
   4517 int16 __ovld __cnfn convert_int16_rtp(uint16);
   4518 int16 __ovld __cnfn convert_int16_sat_rtp(uint16);
   4519 int16 __ovld __cnfn convert_int16_rtn(uint16);
   4520 int16 __ovld __cnfn convert_int16_sat_rtn(uint16);
   4521 int16 __ovld __cnfn convert_int16(uint16);
   4522 int16 __ovld __cnfn convert_int16_sat(uint16);
   4523 int16 __ovld __cnfn convert_int16_rte(long16);
   4524 int16 __ovld __cnfn convert_int16_sat_rte(long16);
   4525 int16 __ovld __cnfn convert_int16_rtz(long16);
   4526 int16 __ovld __cnfn convert_int16_sat_rtz(long16);
   4527 int16 __ovld __cnfn convert_int16_rtp(long16);
   4528 int16 __ovld __cnfn convert_int16_sat_rtp(long16);
   4529 int16 __ovld __cnfn convert_int16_rtn(long16);
   4530 int16 __ovld __cnfn convert_int16_sat_rtn(long16);
   4531 int16 __ovld __cnfn convert_int16(long16);
   4532 int16 __ovld __cnfn convert_int16_sat(long16);
   4533 int16 __ovld __cnfn convert_int16_rte(ulong16);
   4534 int16 __ovld __cnfn convert_int16_sat_rte(ulong16);
   4535 int16 __ovld __cnfn convert_int16_rtz(ulong16);
   4536 int16 __ovld __cnfn convert_int16_sat_rtz(ulong16);
   4537 int16 __ovld __cnfn convert_int16_rtp(ulong16);
   4538 int16 __ovld __cnfn convert_int16_sat_rtp(ulong16);
   4539 int16 __ovld __cnfn convert_int16_rtn(ulong16);
   4540 int16 __ovld __cnfn convert_int16_sat_rtn(ulong16);
   4541 int16 __ovld __cnfn convert_int16(ulong16);
   4542 int16 __ovld __cnfn convert_int16_sat(ulong16);
   4543 int16 __ovld __cnfn convert_int16_rte(float16);
   4544 int16 __ovld __cnfn convert_int16_sat_rte(float16);
   4545 int16 __ovld __cnfn convert_int16_rtz(float16);
   4546 int16 __ovld __cnfn convert_int16_sat_rtz(float16);
   4547 int16 __ovld __cnfn convert_int16_rtp(float16);
   4548 int16 __ovld __cnfn convert_int16_sat_rtp(float16);
   4549 int16 __ovld __cnfn convert_int16_rtn(float16);
   4550 int16 __ovld __cnfn convert_int16_sat_rtn(float16);
   4551 int16 __ovld __cnfn convert_int16(float16);
   4552 int16 __ovld __cnfn convert_int16_sat(float16);
   4553 uint16 __ovld __cnfn convert_uint16_rte(char16);
   4554 uint16 __ovld __cnfn convert_uint16_sat_rte(char16);
   4555 uint16 __ovld __cnfn convert_uint16_rtz(char16);
   4556 uint16 __ovld __cnfn convert_uint16_sat_rtz(char16);
   4557 uint16 __ovld __cnfn convert_uint16_rtp(char16);
   4558 uint16 __ovld __cnfn convert_uint16_sat_rtp(char16);
   4559 uint16 __ovld __cnfn convert_uint16_rtn(char16);
   4560 uint16 __ovld __cnfn convert_uint16_sat_rtn(char16);
   4561 uint16 __ovld __cnfn convert_uint16(char16);
   4562 uint16 __ovld __cnfn convert_uint16_sat(char16);
   4563 uint16 __ovld __cnfn convert_uint16_rte(uchar16);
   4564 uint16 __ovld __cnfn convert_uint16_sat_rte(uchar16);
   4565 uint16 __ovld __cnfn convert_uint16_rtz(uchar16);
   4566 uint16 __ovld __cnfn convert_uint16_sat_rtz(uchar16);
   4567 uint16 __ovld __cnfn convert_uint16_rtp(uchar16);
   4568 uint16 __ovld __cnfn convert_uint16_sat_rtp(uchar16);
   4569 uint16 __ovld __cnfn convert_uint16_rtn(uchar16);
   4570 uint16 __ovld __cnfn convert_uint16_sat_rtn(uchar16);
   4571 uint16 __ovld __cnfn convert_uint16(uchar16);
   4572 uint16 __ovld __cnfn convert_uint16_sat(uchar16);
   4573 uint16 __ovld __cnfn convert_uint16_rte(short16);
   4574 uint16 __ovld __cnfn convert_uint16_sat_rte(short16);
   4575 uint16 __ovld __cnfn convert_uint16_rtz(short16);
   4576 uint16 __ovld __cnfn convert_uint16_sat_rtz(short16);
   4577 uint16 __ovld __cnfn convert_uint16_rtp(short16);
   4578 uint16 __ovld __cnfn convert_uint16_sat_rtp(short16);
   4579 uint16 __ovld __cnfn convert_uint16_rtn(short16);
   4580 uint16 __ovld __cnfn convert_uint16_sat_rtn(short16);
   4581 uint16 __ovld __cnfn convert_uint16(short16);
   4582 uint16 __ovld __cnfn convert_uint16_sat(short16);
   4583 uint16 __ovld __cnfn convert_uint16_rte(ushort16);
   4584 uint16 __ovld __cnfn convert_uint16_sat_rte(ushort16);
   4585 uint16 __ovld __cnfn convert_uint16_rtz(ushort16);
   4586 uint16 __ovld __cnfn convert_uint16_sat_rtz(ushort16);
   4587 uint16 __ovld __cnfn convert_uint16_rtp(ushort16);
   4588 uint16 __ovld __cnfn convert_uint16_sat_rtp(ushort16);
   4589 uint16 __ovld __cnfn convert_uint16_rtn(ushort16);
   4590 uint16 __ovld __cnfn convert_uint16_sat_rtn(ushort16);
   4591 uint16 __ovld __cnfn convert_uint16(ushort16);
   4592 uint16 __ovld __cnfn convert_uint16_sat(ushort16);
   4593 uint16 __ovld __cnfn convert_uint16_rte(int16);
   4594 uint16 __ovld __cnfn convert_uint16_sat_rte(int16);
   4595 uint16 __ovld __cnfn convert_uint16_rtz(int16);
   4596 uint16 __ovld __cnfn convert_uint16_sat_rtz(int16);
   4597 uint16 __ovld __cnfn convert_uint16_rtp(int16);
   4598 uint16 __ovld __cnfn convert_uint16_sat_rtp(int16);
   4599 uint16 __ovld __cnfn convert_uint16_rtn(int16);
   4600 uint16 __ovld __cnfn convert_uint16_sat_rtn(int16);
   4601 uint16 __ovld __cnfn convert_uint16(int16);
   4602 uint16 __ovld __cnfn convert_uint16_sat(int16);
   4603 uint16 __ovld __cnfn convert_uint16_rte(uint16);
   4604 uint16 __ovld __cnfn convert_uint16_sat_rte(uint16);
   4605 uint16 __ovld __cnfn convert_uint16_rtz(uint16);
   4606 uint16 __ovld __cnfn convert_uint16_sat_rtz(uint16);
   4607 uint16 __ovld __cnfn convert_uint16_rtp(uint16);
   4608 uint16 __ovld __cnfn convert_uint16_sat_rtp(uint16);
   4609 uint16 __ovld __cnfn convert_uint16_rtn(uint16);
   4610 uint16 __ovld __cnfn convert_uint16_sat_rtn(uint16);
   4611 uint16 __ovld __cnfn convert_uint16(uint16);
   4612 uint16 __ovld __cnfn convert_uint16_sat(uint16);
   4613 uint16 __ovld __cnfn convert_uint16_rte(long16);
   4614 uint16 __ovld __cnfn convert_uint16_sat_rte(long16);
   4615 uint16 __ovld __cnfn convert_uint16_rtz(long16);
   4616 uint16 __ovld __cnfn convert_uint16_sat_rtz(long16);
   4617 uint16 __ovld __cnfn convert_uint16_rtp(long16);
   4618 uint16 __ovld __cnfn convert_uint16_sat_rtp(long16);
   4619 uint16 __ovld __cnfn convert_uint16_rtn(long16);
   4620 uint16 __ovld __cnfn convert_uint16_sat_rtn(long16);
   4621 uint16 __ovld __cnfn convert_uint16(long16);
   4622 uint16 __ovld __cnfn convert_uint16_sat(long16);
   4623 uint16 __ovld __cnfn convert_uint16_rte(ulong16);
   4624 uint16 __ovld __cnfn convert_uint16_sat_rte(ulong16);
   4625 uint16 __ovld __cnfn convert_uint16_rtz(ulong16);
   4626 uint16 __ovld __cnfn convert_uint16_sat_rtz(ulong16);
   4627 uint16 __ovld __cnfn convert_uint16_rtp(ulong16);
   4628 uint16 __ovld __cnfn convert_uint16_sat_rtp(ulong16);
   4629 uint16 __ovld __cnfn convert_uint16_rtn(ulong16);
   4630 uint16 __ovld __cnfn convert_uint16_sat_rtn(ulong16);
   4631 uint16 __ovld __cnfn convert_uint16(ulong16);
   4632 uint16 __ovld __cnfn convert_uint16_sat(ulong16);
   4633 uint16 __ovld __cnfn convert_uint16_rte(float16);
   4634 uint16 __ovld __cnfn convert_uint16_sat_rte(float16);
   4635 uint16 __ovld __cnfn convert_uint16_rtz(float16);
   4636 uint16 __ovld __cnfn convert_uint16_sat_rtz(float16);
   4637 uint16 __ovld __cnfn convert_uint16_rtp(float16);
   4638 uint16 __ovld __cnfn convert_uint16_sat_rtp(float16);
   4639 uint16 __ovld __cnfn convert_uint16_rtn(float16);
   4640 uint16 __ovld __cnfn convert_uint16_sat_rtn(float16);
   4641 uint16 __ovld __cnfn convert_uint16(float16);
   4642 uint16 __ovld __cnfn convert_uint16_sat(float16);
   4643 long16 __ovld __cnfn convert_long16_rte(char16);
   4644 long16 __ovld __cnfn convert_long16_sat_rte(char16);
   4645 long16 __ovld __cnfn convert_long16_rtz(char16);
   4646 long16 __ovld __cnfn convert_long16_sat_rtz(char16);
   4647 long16 __ovld __cnfn convert_long16_rtp(char16);
   4648 long16 __ovld __cnfn convert_long16_sat_rtp(char16);
   4649 long16 __ovld __cnfn convert_long16_rtn(char16);
   4650 long16 __ovld __cnfn convert_long16_sat_rtn(char16);
   4651 long16 __ovld __cnfn convert_long16(char16);
   4652 long16 __ovld __cnfn convert_long16_sat(char16);
   4653 long16 __ovld __cnfn convert_long16_rte(uchar16);
   4654 long16 __ovld __cnfn convert_long16_sat_rte(uchar16);
   4655 long16 __ovld __cnfn convert_long16_rtz(uchar16);
   4656 long16 __ovld __cnfn convert_long16_sat_rtz(uchar16);
   4657 long16 __ovld __cnfn convert_long16_rtp(uchar16);
   4658 long16 __ovld __cnfn convert_long16_sat_rtp(uchar16);
   4659 long16 __ovld __cnfn convert_long16_rtn(uchar16);
   4660 long16 __ovld __cnfn convert_long16_sat_rtn(uchar16);
   4661 long16 __ovld __cnfn convert_long16(uchar16);
   4662 long16 __ovld __cnfn convert_long16_sat(uchar16);
   4663 long16 __ovld __cnfn convert_long16_rte(short16);
   4664 long16 __ovld __cnfn convert_long16_sat_rte(short16);
   4665 long16 __ovld __cnfn convert_long16_rtz(short16);
   4666 long16 __ovld __cnfn convert_long16_sat_rtz(short16);
   4667 long16 __ovld __cnfn convert_long16_rtp(short16);
   4668 long16 __ovld __cnfn convert_long16_sat_rtp(short16);
   4669 long16 __ovld __cnfn convert_long16_rtn(short16);
   4670 long16 __ovld __cnfn convert_long16_sat_rtn(short16);
   4671 long16 __ovld __cnfn convert_long16(short16);
   4672 long16 __ovld __cnfn convert_long16_sat(short16);
   4673 long16 __ovld __cnfn convert_long16_rte(ushort16);
   4674 long16 __ovld __cnfn convert_long16_sat_rte(ushort16);
   4675 long16 __ovld __cnfn convert_long16_rtz(ushort16);
   4676 long16 __ovld __cnfn convert_long16_sat_rtz(ushort16);
   4677 long16 __ovld __cnfn convert_long16_rtp(ushort16);
   4678 long16 __ovld __cnfn convert_long16_sat_rtp(ushort16);
   4679 long16 __ovld __cnfn convert_long16_rtn(ushort16);
   4680 long16 __ovld __cnfn convert_long16_sat_rtn(ushort16);
   4681 long16 __ovld __cnfn convert_long16(ushort16);
   4682 long16 __ovld __cnfn convert_long16_sat(ushort16);
   4683 long16 __ovld __cnfn convert_long16_rte(int16);
   4684 long16 __ovld __cnfn convert_long16_sat_rte(int16);
   4685 long16 __ovld __cnfn convert_long16_rtz(int16);
   4686 long16 __ovld __cnfn convert_long16_sat_rtz(int16);
   4687 long16 __ovld __cnfn convert_long16_rtp(int16);
   4688 long16 __ovld __cnfn convert_long16_sat_rtp(int16);
   4689 long16 __ovld __cnfn convert_long16_rtn(int16);
   4690 long16 __ovld __cnfn convert_long16_sat_rtn(int16);
   4691 long16 __ovld __cnfn convert_long16(int16);
   4692 long16 __ovld __cnfn convert_long16_sat(int16);
   4693 long16 __ovld __cnfn convert_long16_rte(uint16);
   4694 long16 __ovld __cnfn convert_long16_sat_rte(uint16);
   4695 long16 __ovld __cnfn convert_long16_rtz(uint16);
   4696 long16 __ovld __cnfn convert_long16_sat_rtz(uint16);
   4697 long16 __ovld __cnfn convert_long16_rtp(uint16);
   4698 long16 __ovld __cnfn convert_long16_sat_rtp(uint16);
   4699 long16 __ovld __cnfn convert_long16_rtn(uint16);
   4700 long16 __ovld __cnfn convert_long16_sat_rtn(uint16);
   4701 long16 __ovld __cnfn convert_long16(uint16);
   4702 long16 __ovld __cnfn convert_long16_sat(uint16);
   4703 long16 __ovld __cnfn convert_long16_rte(long16);
   4704 long16 __ovld __cnfn convert_long16_sat_rte(long16);
   4705 long16 __ovld __cnfn convert_long16_rtz(long16);
   4706 long16 __ovld __cnfn convert_long16_sat_rtz(long16);
   4707 long16 __ovld __cnfn convert_long16_rtp(long16);
   4708 long16 __ovld __cnfn convert_long16_sat_rtp(long16);
   4709 long16 __ovld __cnfn convert_long16_rtn(long16);
   4710 long16 __ovld __cnfn convert_long16_sat_rtn(long16);
   4711 long16 __ovld __cnfn convert_long16(long16);
   4712 long16 __ovld __cnfn convert_long16_sat(long16);
   4713 long16 __ovld __cnfn convert_long16_rte(ulong16);
   4714 long16 __ovld __cnfn convert_long16_sat_rte(ulong16);
   4715 long16 __ovld __cnfn convert_long16_rtz(ulong16);
   4716 long16 __ovld __cnfn convert_long16_sat_rtz(ulong16);
   4717 long16 __ovld __cnfn convert_long16_rtp(ulong16);
   4718 long16 __ovld __cnfn convert_long16_sat_rtp(ulong16);
   4719 long16 __ovld __cnfn convert_long16_rtn(ulong16);
   4720 long16 __ovld __cnfn convert_long16_sat_rtn(ulong16);
   4721 long16 __ovld __cnfn convert_long16(ulong16);
   4722 long16 __ovld __cnfn convert_long16_sat(ulong16);
   4723 long16 __ovld __cnfn convert_long16_rte(float16);
   4724 long16 __ovld __cnfn convert_long16_sat_rte(float16);
   4725 long16 __ovld __cnfn convert_long16_rtz(float16);
   4726 long16 __ovld __cnfn convert_long16_sat_rtz(float16);
   4727 long16 __ovld __cnfn convert_long16_rtp(float16);
   4728 long16 __ovld __cnfn convert_long16_sat_rtp(float16);
   4729 long16 __ovld __cnfn convert_long16_rtn(float16);
   4730 long16 __ovld __cnfn convert_long16_sat_rtn(float16);
   4731 long16 __ovld __cnfn convert_long16(float16);
   4732 long16 __ovld __cnfn convert_long16_sat(float16);
   4733 ulong16 __ovld __cnfn convert_ulong16_rte(char16);
   4734 ulong16 __ovld __cnfn convert_ulong16_sat_rte(char16);
   4735 ulong16 __ovld __cnfn convert_ulong16_rtz(char16);
   4736 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(char16);
   4737 ulong16 __ovld __cnfn convert_ulong16_rtp(char16);
   4738 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(char16);
   4739 ulong16 __ovld __cnfn convert_ulong16_rtn(char16);
   4740 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(char16);
   4741 ulong16 __ovld __cnfn convert_ulong16(char16);
   4742 ulong16 __ovld __cnfn convert_ulong16_sat(char16);
   4743 ulong16 __ovld __cnfn convert_ulong16_rte(uchar16);
   4744 ulong16 __ovld __cnfn convert_ulong16_sat_rte(uchar16);
   4745 ulong16 __ovld __cnfn convert_ulong16_rtz(uchar16);
   4746 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(uchar16);
   4747 ulong16 __ovld __cnfn convert_ulong16_rtp(uchar16);
   4748 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(uchar16);
   4749 ulong16 __ovld __cnfn convert_ulong16_rtn(uchar16);
   4750 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(uchar16);
   4751 ulong16 __ovld __cnfn convert_ulong16(uchar16);
   4752 ulong16 __ovld __cnfn convert_ulong16_sat(uchar16);
   4753 ulong16 __ovld __cnfn convert_ulong16_rte(short16);
   4754 ulong16 __ovld __cnfn convert_ulong16_sat_rte(short16);
   4755 ulong16 __ovld __cnfn convert_ulong16_rtz(short16);
   4756 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(short16);
   4757 ulong16 __ovld __cnfn convert_ulong16_rtp(short16);
   4758 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(short16);
   4759 ulong16 __ovld __cnfn convert_ulong16_rtn(short16);
   4760 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(short16);
   4761 ulong16 __ovld __cnfn convert_ulong16(short16);
   4762 ulong16 __ovld __cnfn convert_ulong16_sat(short16);
   4763 ulong16 __ovld __cnfn convert_ulong16_rte(ushort16);
   4764 ulong16 __ovld __cnfn convert_ulong16_sat_rte(ushort16);
   4765 ulong16 __ovld __cnfn convert_ulong16_rtz(ushort16);
   4766 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(ushort16);
   4767 ulong16 __ovld __cnfn convert_ulong16_rtp(ushort16);
   4768 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(ushort16);
   4769 ulong16 __ovld __cnfn convert_ulong16_rtn(ushort16);
   4770 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(ushort16);
   4771 ulong16 __ovld __cnfn convert_ulong16(ushort16);
   4772 ulong16 __ovld __cnfn convert_ulong16_sat(ushort16);
   4773 ulong16 __ovld __cnfn convert_ulong16_rte(int16);
   4774 ulong16 __ovld __cnfn convert_ulong16_sat_rte(int16);
   4775 ulong16 __ovld __cnfn convert_ulong16_rtz(int16);
   4776 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(int16);
   4777 ulong16 __ovld __cnfn convert_ulong16_rtp(int16);
   4778 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(int16);
   4779 ulong16 __ovld __cnfn convert_ulong16_rtn(int16);
   4780 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(int16);
   4781 ulong16 __ovld __cnfn convert_ulong16(int16);
   4782 ulong16 __ovld __cnfn convert_ulong16_sat(int16);
   4783 ulong16 __ovld __cnfn convert_ulong16_rte(uint16);
   4784 ulong16 __ovld __cnfn convert_ulong16_sat_rte(uint16);
   4785 ulong16 __ovld __cnfn convert_ulong16_rtz(uint16);
   4786 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(uint16);
   4787 ulong16 __ovld __cnfn convert_ulong16_rtp(uint16);
   4788 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(uint16);
   4789 ulong16 __ovld __cnfn convert_ulong16_rtn(uint16);
   4790 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(uint16);
   4791 ulong16 __ovld __cnfn convert_ulong16(uint16);
   4792 ulong16 __ovld __cnfn convert_ulong16_sat(uint16);
   4793 ulong16 __ovld __cnfn convert_ulong16_rte(long16);
   4794 ulong16 __ovld __cnfn convert_ulong16_sat_rte(long16);
   4795 ulong16 __ovld __cnfn convert_ulong16_rtz(long16);
   4796 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(long16);
   4797 ulong16 __ovld __cnfn convert_ulong16_rtp(long16);
   4798 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(long16);
   4799 ulong16 __ovld __cnfn convert_ulong16_rtn(long16);
   4800 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(long16);
   4801 ulong16 __ovld __cnfn convert_ulong16(long16);
   4802 ulong16 __ovld __cnfn convert_ulong16_sat(long16);
   4803 ulong16 __ovld __cnfn convert_ulong16_rte(ulong16);
   4804 ulong16 __ovld __cnfn convert_ulong16_sat_rte(ulong16);
   4805 ulong16 __ovld __cnfn convert_ulong16_rtz(ulong16);
   4806 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(ulong16);
   4807 ulong16 __ovld __cnfn convert_ulong16_rtp(ulong16);
   4808 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(ulong16);
   4809 ulong16 __ovld __cnfn convert_ulong16_rtn(ulong16);
   4810 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(ulong16);
   4811 ulong16 __ovld __cnfn convert_ulong16(ulong16);
   4812 ulong16 __ovld __cnfn convert_ulong16_sat(ulong16);
   4813 ulong16 __ovld __cnfn convert_ulong16_rte(float16);
   4814 ulong16 __ovld __cnfn convert_ulong16_sat_rte(float16);
   4815 ulong16 __ovld __cnfn convert_ulong16_rtz(float16);
   4816 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(float16);
   4817 ulong16 __ovld __cnfn convert_ulong16_rtp(float16);
   4818 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(float16);
   4819 ulong16 __ovld __cnfn convert_ulong16_rtn(float16);
   4820 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(float16);
   4821 ulong16 __ovld __cnfn convert_ulong16(float16);
   4822 ulong16 __ovld __cnfn convert_ulong16_sat(float16);
   4823 float16 __ovld __cnfn convert_float16_rte(char16);
   4824 float16 __ovld __cnfn convert_float16_rtz(char16);
   4825 float16 __ovld __cnfn convert_float16_rtp(char16);
   4826 float16 __ovld __cnfn convert_float16_rtn(char16);
   4827 float16 __ovld __cnfn convert_float16(char16);
   4828 float16 __ovld __cnfn convert_float16_rte(uchar16);
   4829 float16 __ovld __cnfn convert_float16_rtz(uchar16);
   4830 float16 __ovld __cnfn convert_float16_rtp(uchar16);
   4831 float16 __ovld __cnfn convert_float16_rtn(uchar16);
   4832 float16 __ovld __cnfn convert_float16(uchar16);
   4833 float16 __ovld __cnfn convert_float16_rte(short16);
   4834 float16 __ovld __cnfn convert_float16_rtz(short16);
   4835 float16 __ovld __cnfn convert_float16_rtp(short16);
   4836 float16 __ovld __cnfn convert_float16_rtn(short16);
   4837 float16 __ovld __cnfn convert_float16(short16);
   4838 float16 __ovld __cnfn convert_float16_rte(ushort16);
   4839 float16 __ovld __cnfn convert_float16_rtz(ushort16);
   4840 float16 __ovld __cnfn convert_float16_rtp(ushort16);
   4841 float16 __ovld __cnfn convert_float16_rtn(ushort16);
   4842 float16 __ovld __cnfn convert_float16(ushort16);
   4843 float16 __ovld __cnfn convert_float16_rte(int16);
   4844 float16 __ovld __cnfn convert_float16_rtz(int16);
   4845 float16 __ovld __cnfn convert_float16_rtp(int16);
   4846 float16 __ovld __cnfn convert_float16_rtn(int16);
   4847 float16 __ovld __cnfn convert_float16(int16);
   4848 float16 __ovld __cnfn convert_float16_rte(uint16);
   4849 float16 __ovld __cnfn convert_float16_rtz(uint16);
   4850 float16 __ovld __cnfn convert_float16_rtp(uint16);
   4851 float16 __ovld __cnfn convert_float16_rtn(uint16);
   4852 float16 __ovld __cnfn convert_float16(uint16);
   4853 float16 __ovld __cnfn convert_float16_rte(long16);
   4854 float16 __ovld __cnfn convert_float16_rtz(long16);
   4855 float16 __ovld __cnfn convert_float16_rtp(long16);
   4856 float16 __ovld __cnfn convert_float16_rtn(long16);
   4857 float16 __ovld __cnfn convert_float16(long16);
   4858 float16 __ovld __cnfn convert_float16_rte(ulong16);
   4859 float16 __ovld __cnfn convert_float16_rtz(ulong16);
   4860 float16 __ovld __cnfn convert_float16_rtp(ulong16);
   4861 float16 __ovld __cnfn convert_float16_rtn(ulong16);
   4862 float16 __ovld __cnfn convert_float16(ulong16);
   4863 float16 __ovld __cnfn convert_float16_rte(float16);
   4864 float16 __ovld __cnfn convert_float16_rtz(float16);
   4865 float16 __ovld __cnfn convert_float16_rtp(float16);
   4866 float16 __ovld __cnfn convert_float16_rtn(float16);
   4867 float16 __ovld __cnfn convert_float16(float16);
   4868 
   4869 // Conversions with double data type parameters or return value.
   4870 
   4871 #ifdef cl_khr_fp64
   4872 char __ovld __cnfn convert_char(double);
   4873 char __ovld __cnfn convert_char_rte(double);
   4874 char __ovld __cnfn convert_char_rtn(double);
   4875 char __ovld __cnfn convert_char_rtp(double);
   4876 char __ovld __cnfn convert_char_rtz(double);
   4877 char __ovld __cnfn convert_char_sat(double);
   4878 char __ovld __cnfn convert_char_sat_rte(double);
   4879 char __ovld __cnfn convert_char_sat_rtn(double);
   4880 char __ovld __cnfn convert_char_sat_rtp(double);
   4881 char __ovld __cnfn convert_char_sat_rtz(double);
   4882 char2 __ovld __cnfn convert_char2(double2);
   4883 char2 __ovld __cnfn convert_char2_rte(double2);
   4884 char2 __ovld __cnfn convert_char2_rtn(double2);
   4885 char2 __ovld __cnfn convert_char2_rtp(double2);
   4886 char2 __ovld __cnfn convert_char2_rtz(double2);
   4887 char2 __ovld __cnfn convert_char2_sat(double2);
   4888 char2 __ovld __cnfn convert_char2_sat_rte(double2);
   4889 char2 __ovld __cnfn convert_char2_sat_rtn(double2);
   4890 char2 __ovld __cnfn convert_char2_sat_rtp(double2);
   4891 char2 __ovld __cnfn convert_char2_sat_rtz(double2);
   4892 char3 __ovld __cnfn convert_char3(double3);
   4893 char3 __ovld __cnfn convert_char3_rte(double3);
   4894 char3 __ovld __cnfn convert_char3_rtn(double3);
   4895 char3 __ovld __cnfn convert_char3_rtp(double3);
   4896 char3 __ovld __cnfn convert_char3_rtz(double3);
   4897 char3 __ovld __cnfn convert_char3_sat(double3);
   4898 char3 __ovld __cnfn convert_char3_sat_rte(double3);
   4899 char3 __ovld __cnfn convert_char3_sat_rtn(double3);
   4900 char3 __ovld __cnfn convert_char3_sat_rtp(double3);
   4901 char3 __ovld __cnfn convert_char3_sat_rtz(double3);
   4902 char4 __ovld __cnfn convert_char4(double4);
   4903 char4 __ovld __cnfn convert_char4_rte(double4);
   4904 char4 __ovld __cnfn convert_char4_rtn(double4);
   4905 char4 __ovld __cnfn convert_char4_rtp(double4);
   4906 char4 __ovld __cnfn convert_char4_rtz(double4);
   4907 char4 __ovld __cnfn convert_char4_sat(double4);
   4908 char4 __ovld __cnfn convert_char4_sat_rte(double4);
   4909 char4 __ovld __cnfn convert_char4_sat_rtn(double4);
   4910 char4 __ovld __cnfn convert_char4_sat_rtp(double4);
   4911 char4 __ovld __cnfn convert_char4_sat_rtz(double4);
   4912 char8 __ovld __cnfn convert_char8(double8);
   4913 char8 __ovld __cnfn convert_char8_rte(double8);
   4914 char8 __ovld __cnfn convert_char8_rtn(double8);
   4915 char8 __ovld __cnfn convert_char8_rtp(double8);
   4916 char8 __ovld __cnfn convert_char8_rtz(double8);
   4917 char8 __ovld __cnfn convert_char8_sat(double8);
   4918 char8 __ovld __cnfn convert_char8_sat_rte(double8);
   4919 char8 __ovld __cnfn convert_char8_sat_rtn(double8);
   4920 char8 __ovld __cnfn convert_char8_sat_rtp(double8);
   4921 char8 __ovld __cnfn convert_char8_sat_rtz(double8);
   4922 char16 __ovld __cnfn convert_char16(double16);
   4923 char16 __ovld __cnfn convert_char16_rte(double16);
   4924 char16 __ovld __cnfn convert_char16_rtn(double16);
   4925 char16 __ovld __cnfn convert_char16_rtp(double16);
   4926 char16 __ovld __cnfn convert_char16_rtz(double16);
   4927 char16 __ovld __cnfn convert_char16_sat(double16);
   4928 char16 __ovld __cnfn convert_char16_sat_rte(double16);
   4929 char16 __ovld __cnfn convert_char16_sat_rtn(double16);
   4930 char16 __ovld __cnfn convert_char16_sat_rtp(double16);
   4931 char16 __ovld __cnfn convert_char16_sat_rtz(double16);
   4932 
   4933 uchar __ovld __cnfn convert_uchar(double);
   4934 uchar __ovld __cnfn convert_uchar_rte(double);
   4935 uchar __ovld __cnfn convert_uchar_rtn(double);
   4936 uchar __ovld __cnfn convert_uchar_rtp(double);
   4937 uchar __ovld __cnfn convert_uchar_rtz(double);
   4938 uchar __ovld __cnfn convert_uchar_sat(double);
   4939 uchar __ovld __cnfn convert_uchar_sat_rte(double);
   4940 uchar __ovld __cnfn convert_uchar_sat_rtn(double);
   4941 uchar __ovld __cnfn convert_uchar_sat_rtp(double);
   4942 uchar __ovld __cnfn convert_uchar_sat_rtz(double);
   4943 uchar2 __ovld __cnfn convert_uchar2(double2);
   4944 uchar2 __ovld __cnfn convert_uchar2_rte(double2);
   4945 uchar2 __ovld __cnfn convert_uchar2_rtn(double2);
   4946 uchar2 __ovld __cnfn convert_uchar2_rtp(double2);
   4947 uchar2 __ovld __cnfn convert_uchar2_rtz(double2);
   4948 uchar2 __ovld __cnfn convert_uchar2_sat(double2);
   4949 uchar2 __ovld __cnfn convert_uchar2_sat_rte(double2);
   4950 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(double2);
   4951 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(double2);
   4952 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(double2);
   4953 uchar3 __ovld __cnfn convert_uchar3(double3);
   4954 uchar3 __ovld __cnfn convert_uchar3_rte(double3);
   4955 uchar3 __ovld __cnfn convert_uchar3_rtn(double3);
   4956 uchar3 __ovld __cnfn convert_uchar3_rtp(double3);
   4957 uchar3 __ovld __cnfn convert_uchar3_rtz(double3);
   4958 uchar3 __ovld __cnfn convert_uchar3_sat(double3);
   4959 uchar3 __ovld __cnfn convert_uchar3_sat_rte(double3);
   4960 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(double3);
   4961 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(double3);
   4962 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(double3);
   4963 uchar4 __ovld __cnfn convert_uchar4(double4);
   4964 uchar4 __ovld __cnfn convert_uchar4_rte(double4);
   4965 uchar4 __ovld __cnfn convert_uchar4_rtn(double4);
   4966 uchar4 __ovld __cnfn convert_uchar4_rtp(double4);
   4967 uchar4 __ovld __cnfn convert_uchar4_rtz(double4);
   4968 uchar4 __ovld __cnfn convert_uchar4_sat(double4);
   4969 uchar4 __ovld __cnfn convert_uchar4_sat_rte(double4);
   4970 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(double4);
   4971 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(double4);
   4972 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(double4);
   4973 uchar8 __ovld __cnfn convert_uchar8(double8);
   4974 uchar8 __ovld __cnfn convert_uchar8_rte(double8);
   4975 uchar8 __ovld __cnfn convert_uchar8_rtn(double8);
   4976 uchar8 __ovld __cnfn convert_uchar8_rtp(double8);
   4977 uchar8 __ovld __cnfn convert_uchar8_rtz(double8);
   4978 uchar8 __ovld __cnfn convert_uchar8_sat(double8);
   4979 uchar8 __ovld __cnfn convert_uchar8_sat_rte(double8);
   4980 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(double8);
   4981 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(double8);
   4982 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(double8);
   4983 uchar16 __ovld __cnfn convert_uchar16(double16);
   4984 uchar16 __ovld __cnfn convert_uchar16_rte(double16);
   4985 uchar16 __ovld __cnfn convert_uchar16_rtn(double16);
   4986 uchar16 __ovld __cnfn convert_uchar16_rtp(double16);
   4987 uchar16 __ovld __cnfn convert_uchar16_rtz(double16);
   4988 uchar16 __ovld __cnfn convert_uchar16_sat(double16);
   4989 uchar16 __ovld __cnfn convert_uchar16_sat_rte(double16);
   4990 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(double16);
   4991 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(double16);
   4992 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(double16);
   4993 
   4994 short __ovld __cnfn convert_short(double);
   4995 short __ovld __cnfn convert_short_rte(double);
   4996 short __ovld __cnfn convert_short_rtn(double);
   4997 short __ovld __cnfn convert_short_rtp(double);
   4998 short __ovld __cnfn convert_short_rtz(double);
   4999 short __ovld __cnfn convert_short_sat(double);
   5000 short __ovld __cnfn convert_short_sat_rte(double);
   5001 short __ovld __cnfn convert_short_sat_rtn(double);
   5002 short __ovld __cnfn convert_short_sat_rtp(double);
   5003 short __ovld __cnfn convert_short_sat_rtz(double);
   5004 short2 __ovld __cnfn convert_short2(double2);
   5005 short2 __ovld __cnfn convert_short2_rte(double2);
   5006 short2 __ovld __cnfn convert_short2_rtn(double2);
   5007 short2 __ovld __cnfn convert_short2_rtp(double2);
   5008 short2 __ovld __cnfn convert_short2_rtz(double2);
   5009 short2 __ovld __cnfn convert_short2_sat(double2);
   5010 short2 __ovld __cnfn convert_short2_sat_rte(double2);
   5011 short2 __ovld __cnfn convert_short2_sat_rtn(double2);
   5012 short2 __ovld __cnfn convert_short2_sat_rtp(double2);
   5013 short2 __ovld __cnfn convert_short2_sat_rtz(double2);
   5014 short3 __ovld __cnfn convert_short3(double3);
   5015 short3 __ovld __cnfn convert_short3_rte(double3);
   5016 short3 __ovld __cnfn convert_short3_rtn(double3);
   5017 short3 __ovld __cnfn convert_short3_rtp(double3);
   5018 short3 __ovld __cnfn convert_short3_rtz(double3);
   5019 short3 __ovld __cnfn convert_short3_sat(double3);
   5020 short3 __ovld __cnfn convert_short3_sat_rte(double3);
   5021 short3 __ovld __cnfn convert_short3_sat_rtn(double3);
   5022 short3 __ovld __cnfn convert_short3_sat_rtp(double3);
   5023 short3 __ovld __cnfn convert_short3_sat_rtz(double3);
   5024 short4 __ovld __cnfn convert_short4(double4);
   5025 short4 __ovld __cnfn convert_short4_rte(double4);
   5026 short4 __ovld __cnfn convert_short4_rtn(double4);
   5027 short4 __ovld __cnfn convert_short4_rtp(double4);
   5028 short4 __ovld __cnfn convert_short4_rtz(double4);
   5029 short4 __ovld __cnfn convert_short4_sat(double4);
   5030 short4 __ovld __cnfn convert_short4_sat_rte(double4);
   5031 short4 __ovld __cnfn convert_short4_sat_rtn(double4);
   5032 short4 __ovld __cnfn convert_short4_sat_rtp(double4);
   5033 short4 __ovld __cnfn convert_short4_sat_rtz(double4);
   5034 short8 __ovld __cnfn convert_short8(double8);
   5035 short8 __ovld __cnfn convert_short8_rte(double8);
   5036 short8 __ovld __cnfn convert_short8_rtn(double8);
   5037 short8 __ovld __cnfn convert_short8_rtp(double8);
   5038 short8 __ovld __cnfn convert_short8_rtz(double8);
   5039 short8 __ovld __cnfn convert_short8_sat(double8);
   5040 short8 __ovld __cnfn convert_short8_sat_rte(double8);
   5041 short8 __ovld __cnfn convert_short8_sat_rtn(double8);
   5042 short8 __ovld __cnfn convert_short8_sat_rtp(double8);
   5043 short8 __ovld __cnfn convert_short8_sat_rtz(double8);
   5044 short16 __ovld __cnfn convert_short16(double16);
   5045 short16 __ovld __cnfn convert_short16_rte(double16);
   5046 short16 __ovld __cnfn convert_short16_rtn(double16);
   5047 short16 __ovld __cnfn convert_short16_rtp(double16);
   5048 short16 __ovld __cnfn convert_short16_rtz(double16);
   5049 short16 __ovld __cnfn convert_short16_sat(double16);
   5050 short16 __ovld __cnfn convert_short16_sat_rte(double16);
   5051 short16 __ovld __cnfn convert_short16_sat_rtn(double16);
   5052 short16 __ovld __cnfn convert_short16_sat_rtp(double16);
   5053 short16 __ovld __cnfn convert_short16_sat_rtz(double16);
   5054 
   5055 ushort __ovld __cnfn convert_ushort(double);
   5056 ushort __ovld __cnfn convert_ushort_rte(double);
   5057 ushort __ovld __cnfn convert_ushort_rtn(double);
   5058 ushort __ovld __cnfn convert_ushort_rtp(double);
   5059 ushort __ovld __cnfn convert_ushort_rtz(double);
   5060 ushort __ovld __cnfn convert_ushort_sat(double);
   5061 ushort __ovld __cnfn convert_ushort_sat_rte(double);
   5062 ushort __ovld __cnfn convert_ushort_sat_rtn(double);
   5063 ushort __ovld __cnfn convert_ushort_sat_rtp(double);
   5064 ushort __ovld __cnfn convert_ushort_sat_rtz(double);
   5065 ushort2 __ovld __cnfn convert_ushort2(double2);
   5066 ushort2 __ovld __cnfn convert_ushort2_rte(double2);
   5067 ushort2 __ovld __cnfn convert_ushort2_rtn(double2);
   5068 ushort2 __ovld __cnfn convert_ushort2_rtp(double2);
   5069 ushort2 __ovld __cnfn convert_ushort2_rtz(double2);
   5070 ushort2 __ovld __cnfn convert_ushort2_sat(double2);
   5071 ushort2 __ovld __cnfn convert_ushort2_sat_rte(double2);
   5072 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(double2);
   5073 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(double2);
   5074 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(double2);
   5075 ushort3 __ovld __cnfn convert_ushort3(double3);
   5076 ushort3 __ovld __cnfn convert_ushort3_rte(double3);
   5077 ushort3 __ovld __cnfn convert_ushort3_rtn(double3);
   5078 ushort3 __ovld __cnfn convert_ushort3_rtp(double3);
   5079 ushort3 __ovld __cnfn convert_ushort3_rtz(double3);
   5080 ushort3 __ovld __cnfn convert_ushort3_sat(double3);
   5081 ushort3 __ovld __cnfn convert_ushort3_sat_rte(double3);
   5082 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(double3);
   5083 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(double3);
   5084 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(double3);
   5085 ushort4 __ovld __cnfn convert_ushort4(double4);
   5086 ushort4 __ovld __cnfn convert_ushort4_rte(double4);
   5087 ushort4 __ovld __cnfn convert_ushort4_rtn(double4);
   5088 ushort4 __ovld __cnfn convert_ushort4_rtp(double4);
   5089 ushort4 __ovld __cnfn convert_ushort4_rtz(double4);
   5090 ushort4 __ovld __cnfn convert_ushort4_sat(double4);
   5091 ushort4 __ovld __cnfn convert_ushort4_sat_rte(double4);
   5092 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(double4);
   5093 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(double4);
   5094 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(double4);
   5095 ushort8 __ovld __cnfn convert_ushort8(double8);
   5096 ushort8 __ovld __cnfn convert_ushort8_rte(double8);
   5097 ushort8 __ovld __cnfn convert_ushort8_rtn(double8);
   5098 ushort8 __ovld __cnfn convert_ushort8_rtp(double8);
   5099 ushort8 __ovld __cnfn convert_ushort8_rtz(double8);
   5100 ushort8 __ovld __cnfn convert_ushort8_sat(double8);
   5101 ushort8 __ovld __cnfn convert_ushort8_sat_rte(double8);
   5102 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(double8);
   5103 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(double8);
   5104 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(double8);
   5105 ushort16 __ovld __cnfn convert_ushort16(double16);
   5106 ushort16 __ovld __cnfn convert_ushort16_rte(double16);
   5107 ushort16 __ovld __cnfn convert_ushort16_rtn(double16);
   5108 ushort16 __ovld __cnfn convert_ushort16_rtp(double16);
   5109 ushort16 __ovld __cnfn convert_ushort16_rtz(double16);
   5110 ushort16 __ovld __cnfn convert_ushort16_sat(double16);
   5111 ushort16 __ovld __cnfn convert_ushort16_sat_rte(double16);
   5112 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(double16);
   5113 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(double16);
   5114 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(double16);
   5115 
   5116 int __ovld __cnfn convert_int(double);
   5117 int __ovld __cnfn convert_int_rte(double);
   5118 int __ovld __cnfn convert_int_rtn(double);
   5119 int __ovld __cnfn convert_int_rtp(double);
   5120 int __ovld __cnfn convert_int_rtz(double);
   5121 int __ovld __cnfn convert_int_sat(double);
   5122 int __ovld __cnfn convert_int_sat_rte(double);
   5123 int __ovld __cnfn convert_int_sat_rtn(double);
   5124 int __ovld __cnfn convert_int_sat_rtp(double);
   5125 int __ovld __cnfn convert_int_sat_rtz(double);
   5126 int2 __ovld __cnfn convert_int2(double2);
   5127 int2 __ovld __cnfn convert_int2_rte(double2);
   5128 int2 __ovld __cnfn convert_int2_rtn(double2);
   5129 int2 __ovld __cnfn convert_int2_rtp(double2);
   5130 int2 __ovld __cnfn convert_int2_rtz(double2);
   5131 int2 __ovld __cnfn convert_int2_sat(double2);
   5132 int2 __ovld __cnfn convert_int2_sat_rte(double2);
   5133 int2 __ovld __cnfn convert_int2_sat_rtn(double2);
   5134 int2 __ovld __cnfn convert_int2_sat_rtp(double2);
   5135 int2 __ovld __cnfn convert_int2_sat_rtz(double2);
   5136 int3 __ovld __cnfn convert_int3(double3);
   5137 int3 __ovld __cnfn convert_int3_rte(double3);
   5138 int3 __ovld __cnfn convert_int3_rtn(double3);
   5139 int3 __ovld __cnfn convert_int3_rtp(double3);
   5140 int3 __ovld __cnfn convert_int3_rtz(double3);
   5141 int3 __ovld __cnfn convert_int3_sat(double3);
   5142 int3 __ovld __cnfn convert_int3_sat_rte(double3);
   5143 int3 __ovld __cnfn convert_int3_sat_rtn(double3);
   5144 int3 __ovld __cnfn convert_int3_sat_rtp(double3);
   5145 int3 __ovld __cnfn convert_int3_sat_rtz(double3);
   5146 int4 __ovld __cnfn convert_int4(double4);
   5147 int4 __ovld __cnfn convert_int4_rte(double4);
   5148 int4 __ovld __cnfn convert_int4_rtn(double4);
   5149 int4 __ovld __cnfn convert_int4_rtp(double4);
   5150 int4 __ovld __cnfn convert_int4_rtz(double4);
   5151 int4 __ovld __cnfn convert_int4_sat(double4);
   5152 int4 __ovld __cnfn convert_int4_sat_rte(double4);
   5153 int4 __ovld __cnfn convert_int4_sat_rtn(double4);
   5154 int4 __ovld __cnfn convert_int4_sat_rtp(double4);
   5155 int4 __ovld __cnfn convert_int4_sat_rtz(double4);
   5156 int8 __ovld __cnfn convert_int8(double8);
   5157 int8 __ovld __cnfn convert_int8_rte(double8);
   5158 int8 __ovld __cnfn convert_int8_rtn(double8);
   5159 int8 __ovld __cnfn convert_int8_rtp(double8);
   5160 int8 __ovld __cnfn convert_int8_rtz(double8);
   5161 int8 __ovld __cnfn convert_int8_sat(double8);
   5162 int8 __ovld __cnfn convert_int8_sat_rte(double8);
   5163 int8 __ovld __cnfn convert_int8_sat_rtn(double8);
   5164 int8 __ovld __cnfn convert_int8_sat_rtp(double8);
   5165 int8 __ovld __cnfn convert_int8_sat_rtz(double8);
   5166 int16 __ovld __cnfn convert_int16(double16);
   5167 int16 __ovld __cnfn convert_int16_rte(double16);
   5168 int16 __ovld __cnfn convert_int16_rtn(double16);
   5169 int16 __ovld __cnfn convert_int16_rtp(double16);
   5170 int16 __ovld __cnfn convert_int16_rtz(double16);
   5171 int16 __ovld __cnfn convert_int16_sat(double16);
   5172 int16 __ovld __cnfn convert_int16_sat_rte(double16);
   5173 int16 __ovld __cnfn convert_int16_sat_rtn(double16);
   5174 int16 __ovld __cnfn convert_int16_sat_rtp(double16);
   5175 int16 __ovld __cnfn convert_int16_sat_rtz(double16);
   5176 
   5177 uint __ovld __cnfn convert_uint(double);
   5178 uint __ovld __cnfn convert_uint_rte(double);
   5179 uint __ovld __cnfn convert_uint_rtn(double);
   5180 uint __ovld __cnfn convert_uint_rtp(double);
   5181 uint __ovld __cnfn convert_uint_rtz(double);
   5182 uint __ovld __cnfn convert_uint_sat(double);
   5183 uint __ovld __cnfn convert_uint_sat_rte(double);
   5184 uint __ovld __cnfn convert_uint_sat_rtn(double);
   5185 uint __ovld __cnfn convert_uint_sat_rtp(double);
   5186 uint __ovld __cnfn convert_uint_sat_rtz(double);
   5187 uint2 __ovld __cnfn convert_uint2(double2);
   5188 uint2 __ovld __cnfn convert_uint2_rte(double2);
   5189 uint2 __ovld __cnfn convert_uint2_rtn(double2);
   5190 uint2 __ovld __cnfn convert_uint2_rtp(double2);
   5191 uint2 __ovld __cnfn convert_uint2_rtz(double2);
   5192 uint2 __ovld __cnfn convert_uint2_sat(double2);
   5193 uint2 __ovld __cnfn convert_uint2_sat_rte(double2);
   5194 uint2 __ovld __cnfn convert_uint2_sat_rtn(double2);
   5195 uint2 __ovld __cnfn convert_uint2_sat_rtp(double2);
   5196 uint2 __ovld __cnfn convert_uint2_sat_rtz(double2);
   5197 uint3 __ovld __cnfn convert_uint3(double3);
   5198 uint3 __ovld __cnfn convert_uint3_rte(double3);
   5199 uint3 __ovld __cnfn convert_uint3_rtn(double3);
   5200 uint3 __ovld __cnfn convert_uint3_rtp(double3);
   5201 uint3 __ovld __cnfn convert_uint3_rtz(double3);
   5202 uint3 __ovld __cnfn convert_uint3_sat(double3);
   5203 uint3 __ovld __cnfn convert_uint3_sat_rte(double3);
   5204 uint3 __ovld __cnfn convert_uint3_sat_rtn(double3);
   5205 uint3 __ovld __cnfn convert_uint3_sat_rtp(double3);
   5206 uint3 __ovld __cnfn convert_uint3_sat_rtz(double3);
   5207 uint4 __ovld __cnfn convert_uint4(double4);
   5208 uint4 __ovld __cnfn convert_uint4_rte(double4);
   5209 uint4 __ovld __cnfn convert_uint4_rtn(double4);
   5210 uint4 __ovld __cnfn convert_uint4_rtp(double4);
   5211 uint4 __ovld __cnfn convert_uint4_rtz(double4);
   5212 uint4 __ovld __cnfn convert_uint4_sat(double4);
   5213 uint4 __ovld __cnfn convert_uint4_sat_rte(double4);
   5214 uint4 __ovld __cnfn convert_uint4_sat_rtn(double4);
   5215 uint4 __ovld __cnfn convert_uint4_sat_rtp(double4);
   5216 uint4 __ovld __cnfn convert_uint4_sat_rtz(double4);
   5217 uint8 __ovld __cnfn convert_uint8(double8);
   5218 uint8 __ovld __cnfn convert_uint8_rte(double8);
   5219 uint8 __ovld __cnfn convert_uint8_rtn(double8);
   5220 uint8 __ovld __cnfn convert_uint8_rtp(double8);
   5221 uint8 __ovld __cnfn convert_uint8_rtz(double8);
   5222 uint8 __ovld __cnfn convert_uint8_sat(double8);
   5223 uint8 __ovld __cnfn convert_uint8_sat_rte(double8);
   5224 uint8 __ovld __cnfn convert_uint8_sat_rtn(double8);
   5225 uint8 __ovld __cnfn convert_uint8_sat_rtp(double8);
   5226 uint8 __ovld __cnfn convert_uint8_sat_rtz(double8);
   5227 uint16 __ovld __cnfn convert_uint16(double16);
   5228 uint16 __ovld __cnfn convert_uint16_rte(double16);
   5229 uint16 __ovld __cnfn convert_uint16_rtn(double16);
   5230 uint16 __ovld __cnfn convert_uint16_rtp(double16);
   5231 uint16 __ovld __cnfn convert_uint16_rtz(double16);
   5232 uint16 __ovld __cnfn convert_uint16_sat(double16);
   5233 uint16 __ovld __cnfn convert_uint16_sat_rte(double16);
   5234 uint16 __ovld __cnfn convert_uint16_sat_rtn(double16);
   5235 uint16 __ovld __cnfn convert_uint16_sat_rtp(double16);
   5236 uint16 __ovld __cnfn convert_uint16_sat_rtz(double16);
   5237 
   5238 long __ovld __cnfn convert_long(double);
   5239 long __ovld __cnfn convert_long_rte(double);
   5240 long __ovld __cnfn convert_long_rtn(double);
   5241 long __ovld __cnfn convert_long_rtp(double);
   5242 long __ovld __cnfn convert_long_rtz(double);
   5243 long __ovld __cnfn convert_long_sat(double);
   5244 long __ovld __cnfn convert_long_sat_rte(double);
   5245 long __ovld __cnfn convert_long_sat_rtn(double);
   5246 long __ovld __cnfn convert_long_sat_rtp(double);
   5247 long __ovld __cnfn convert_long_sat_rtz(double);
   5248 long2 __ovld __cnfn convert_long2(double2);
   5249 long2 __ovld __cnfn convert_long2_rte(double2);
   5250 long2 __ovld __cnfn convert_long2_rtn(double2);
   5251 long2 __ovld __cnfn convert_long2_rtp(double2);
   5252 long2 __ovld __cnfn convert_long2_rtz(double2);
   5253 long2 __ovld __cnfn convert_long2_sat(double2);
   5254 long2 __ovld __cnfn convert_long2_sat_rte(double2);
   5255 long2 __ovld __cnfn convert_long2_sat_rtn(double2);
   5256 long2 __ovld __cnfn convert_long2_sat_rtp(double2);
   5257 long2 __ovld __cnfn convert_long2_sat_rtz(double2);
   5258 long3 __ovld __cnfn convert_long3(double3);
   5259 long3 __ovld __cnfn convert_long3_rte(double3);
   5260 long3 __ovld __cnfn convert_long3_rtn(double3);
   5261 long3 __ovld __cnfn convert_long3_rtp(double3);
   5262 long3 __ovld __cnfn convert_long3_rtz(double3);
   5263 long3 __ovld __cnfn convert_long3_sat(double3);
   5264 long3 __ovld __cnfn convert_long3_sat_rte(double3);
   5265 long3 __ovld __cnfn convert_long3_sat_rtn(double3);
   5266 long3 __ovld __cnfn convert_long3_sat_rtp(double3);
   5267 long3 __ovld __cnfn convert_long3_sat_rtz(double3);
   5268 long4 __ovld __cnfn convert_long4(double4);
   5269 long4 __ovld __cnfn convert_long4_rte(double4);
   5270 long4 __ovld __cnfn convert_long4_rtn(double4);
   5271 long4 __ovld __cnfn convert_long4_rtp(double4);
   5272 long4 __ovld __cnfn convert_long4_rtz(double4);
   5273 long4 __ovld __cnfn convert_long4_sat(double4);
   5274 long4 __ovld __cnfn convert_long4_sat_rte(double4);
   5275 long4 __ovld __cnfn convert_long4_sat_rtn(double4);
   5276 long4 __ovld __cnfn convert_long4_sat_rtp(double4);
   5277 long4 __ovld __cnfn convert_long4_sat_rtz(double4);
   5278 long8 __ovld __cnfn convert_long8(double8);
   5279 long8 __ovld __cnfn convert_long8_rte(double8);
   5280 long8 __ovld __cnfn convert_long8_rtn(double8);
   5281 long8 __ovld __cnfn convert_long8_rtp(double8);
   5282 long8 __ovld __cnfn convert_long8_rtz(double8);
   5283 long8 __ovld __cnfn convert_long8_sat(double8);
   5284 long8 __ovld __cnfn convert_long8_sat_rte(double8);
   5285 long8 __ovld __cnfn convert_long8_sat_rtn(double8);
   5286 long8 __ovld __cnfn convert_long8_sat_rtp(double8);
   5287 long8 __ovld __cnfn convert_long8_sat_rtz(double8);
   5288 long16 __ovld __cnfn convert_long16(double16);
   5289 long16 __ovld __cnfn convert_long16_rte(double16);
   5290 long16 __ovld __cnfn convert_long16_rtn(double16);
   5291 long16 __ovld __cnfn convert_long16_rtp(double16);
   5292 long16 __ovld __cnfn convert_long16_rtz(double16);
   5293 long16 __ovld __cnfn convert_long16_sat(double16);
   5294 long16 __ovld __cnfn convert_long16_sat_rte(double16);
   5295 long16 __ovld __cnfn convert_long16_sat_rtn(double16);
   5296 long16 __ovld __cnfn convert_long16_sat_rtp(double16);
   5297 long16 __ovld __cnfn convert_long16_sat_rtz(double16);
   5298 
   5299 ulong __ovld __cnfn convert_ulong(double);
   5300 ulong __ovld __cnfn convert_ulong_rte(double);
   5301 ulong __ovld __cnfn convert_ulong_rtn(double);
   5302 ulong __ovld __cnfn convert_ulong_rtp(double);
   5303 ulong __ovld __cnfn convert_ulong_rtz(double);
   5304 ulong __ovld __cnfn convert_ulong_sat(double);
   5305 ulong __ovld __cnfn convert_ulong_sat_rte(double);
   5306 ulong __ovld __cnfn convert_ulong_sat_rtn(double);
   5307 ulong __ovld __cnfn convert_ulong_sat_rtp(double);
   5308 ulong __ovld __cnfn convert_ulong_sat_rtz(double);
   5309 ulong2 __ovld __cnfn convert_ulong2(double2);
   5310 ulong2 __ovld __cnfn convert_ulong2_rte(double2);
   5311 ulong2 __ovld __cnfn convert_ulong2_rtn(double2);
   5312 ulong2 __ovld __cnfn convert_ulong2_rtp(double2);
   5313 ulong2 __ovld __cnfn convert_ulong2_rtz(double2);
   5314 ulong2 __ovld __cnfn convert_ulong2_sat(double2);
   5315 ulong2 __ovld __cnfn convert_ulong2_sat_rte(double2);
   5316 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(double2);
   5317 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(double2);
   5318 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(double2);
   5319 ulong3 __ovld __cnfn convert_ulong3(double3);
   5320 ulong3 __ovld __cnfn convert_ulong3_rte(double3);
   5321 ulong3 __ovld __cnfn convert_ulong3_rtn(double3);
   5322 ulong3 __ovld __cnfn convert_ulong3_rtp(double3);
   5323 ulong3 __ovld __cnfn convert_ulong3_rtz(double3);
   5324 ulong3 __ovld __cnfn convert_ulong3_sat(double3);
   5325 ulong3 __ovld __cnfn convert_ulong3_sat_rte(double3);
   5326 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(double3);
   5327 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(double3);
   5328 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(double3);
   5329 ulong4 __ovld __cnfn convert_ulong4(double4);
   5330 ulong4 __ovld __cnfn convert_ulong4_rte(double4);
   5331 ulong4 __ovld __cnfn convert_ulong4_rtn(double4);
   5332 ulong4 __ovld __cnfn convert_ulong4_rtp(double4);
   5333 ulong4 __ovld __cnfn convert_ulong4_rtz(double4);
   5334 ulong4 __ovld __cnfn convert_ulong4_sat(double4);
   5335 ulong4 __ovld __cnfn convert_ulong4_sat_rte(double4);
   5336 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(double4);
   5337 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(double4);
   5338 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(double4);
   5339 ulong8 __ovld __cnfn convert_ulong8(double8);
   5340 ulong8 __ovld __cnfn convert_ulong8_rte(double8);
   5341 ulong8 __ovld __cnfn convert_ulong8_rtn(double8);
   5342 ulong8 __ovld __cnfn convert_ulong8_rtp(double8);
   5343 ulong8 __ovld __cnfn convert_ulong8_rtz(double8);
   5344 ulong8 __ovld __cnfn convert_ulong8_sat(double8);
   5345 ulong8 __ovld __cnfn convert_ulong8_sat_rte(double8);
   5346 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(double8);
   5347 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(double8);
   5348 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(double8);
   5349 ulong16 __ovld __cnfn convert_ulong16(double16);
   5350 ulong16 __ovld __cnfn convert_ulong16_rte(double16);
   5351 ulong16 __ovld __cnfn convert_ulong16_rtn(double16);
   5352 ulong16 __ovld __cnfn convert_ulong16_rtp(double16);
   5353 ulong16 __ovld __cnfn convert_ulong16_rtz(double16);
   5354 ulong16 __ovld __cnfn convert_ulong16_sat(double16);
   5355 ulong16 __ovld __cnfn convert_ulong16_sat_rte(double16);
   5356 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(double16);
   5357 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(double16);
   5358 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(double16);
   5359 
   5360 float __ovld __cnfn convert_float(double);
   5361 float __ovld __cnfn convert_float_rte(double);
   5362 float __ovld __cnfn convert_float_rtn(double);
   5363 float __ovld __cnfn convert_float_rtp(double);
   5364 float __ovld __cnfn convert_float_rtz(double);
   5365 float2 __ovld __cnfn convert_float2(double2);
   5366 float2 __ovld __cnfn convert_float2_rte(double2);
   5367 float2 __ovld __cnfn convert_float2_rtn(double2);
   5368 float2 __ovld __cnfn convert_float2_rtp(double2);
   5369 float2 __ovld __cnfn convert_float2_rtz(double2);
   5370 float3 __ovld __cnfn convert_float3(double3);
   5371 float3 __ovld __cnfn convert_float3_rte(double3);
   5372 float3 __ovld __cnfn convert_float3_rtn(double3);
   5373 float3 __ovld __cnfn convert_float3_rtp(double3);
   5374 float3 __ovld __cnfn convert_float3_rtz(double3);
   5375 float4 __ovld __cnfn convert_float4(double4);
   5376 float4 __ovld __cnfn convert_float4_rte(double4);
   5377 float4 __ovld __cnfn convert_float4_rtn(double4);
   5378 float4 __ovld __cnfn convert_float4_rtp(double4);
   5379 float4 __ovld __cnfn convert_float4_rtz(double4);
   5380 float8 __ovld __cnfn convert_float8(double8);
   5381 float8 __ovld __cnfn convert_float8_rte(double8);
   5382 float8 __ovld __cnfn convert_float8_rtn(double8);
   5383 float8 __ovld __cnfn convert_float8_rtp(double8);
   5384 float8 __ovld __cnfn convert_float8_rtz(double8);
   5385 float16 __ovld __cnfn convert_float16(double16);
   5386 float16 __ovld __cnfn convert_float16_rte(double16);
   5387 float16 __ovld __cnfn convert_float16_rtn(double16);
   5388 float16 __ovld __cnfn convert_float16_rtp(double16);
   5389 float16 __ovld __cnfn convert_float16_rtz(double16);
   5390 
   5391 double __ovld __cnfn convert_double(char);
   5392 double __ovld __cnfn convert_double(double);
   5393 double __ovld __cnfn convert_double(float);
   5394 double __ovld __cnfn convert_double(int);
   5395 double __ovld __cnfn convert_double(long);
   5396 double __ovld __cnfn convert_double(short);
   5397 double __ovld __cnfn convert_double(uchar);
   5398 double __ovld __cnfn convert_double(uint);
   5399 double __ovld __cnfn convert_double(ulong);
   5400 double __ovld __cnfn convert_double(ushort);
   5401 double __ovld __cnfn convert_double_rte(char);
   5402 double __ovld __cnfn convert_double_rte(double);
   5403 double __ovld __cnfn convert_double_rte(float);
   5404 double __ovld __cnfn convert_double_rte(int);
   5405 double __ovld __cnfn convert_double_rte(long);
   5406 double __ovld __cnfn convert_double_rte(short);
   5407 double __ovld __cnfn convert_double_rte(uchar);
   5408 double __ovld __cnfn convert_double_rte(uint);
   5409 double __ovld __cnfn convert_double_rte(ulong);
   5410 double __ovld __cnfn convert_double_rte(ushort);
   5411 double __ovld __cnfn convert_double_rtn(char);
   5412 double __ovld __cnfn convert_double_rtn(double);
   5413 double __ovld __cnfn convert_double_rtn(float);
   5414 double __ovld __cnfn convert_double_rtn(int);
   5415 double __ovld __cnfn convert_double_rtn(long);
   5416 double __ovld __cnfn convert_double_rtn(short);
   5417 double __ovld __cnfn convert_double_rtn(uchar);
   5418 double __ovld __cnfn convert_double_rtn(uint);
   5419 double __ovld __cnfn convert_double_rtn(ulong);
   5420 double __ovld __cnfn convert_double_rtn(ushort);
   5421 double __ovld __cnfn convert_double_rtp(char);
   5422 double __ovld __cnfn convert_double_rtp(double);
   5423 double __ovld __cnfn convert_double_rtp(float);
   5424 double __ovld __cnfn convert_double_rtp(int);
   5425 double __ovld __cnfn convert_double_rtp(long);
   5426 double __ovld __cnfn convert_double_rtp(short);
   5427 double __ovld __cnfn convert_double_rtp(uchar);
   5428 double __ovld __cnfn convert_double_rtp(uint);
   5429 double __ovld __cnfn convert_double_rtp(ulong);
   5430 double __ovld __cnfn convert_double_rtp(ushort);
   5431 double __ovld __cnfn convert_double_rtz(char);
   5432 double __ovld __cnfn convert_double_rtz(double);
   5433 double __ovld __cnfn convert_double_rtz(float);
   5434 double __ovld __cnfn convert_double_rtz(int);
   5435 double __ovld __cnfn convert_double_rtz(long);
   5436 double __ovld __cnfn convert_double_rtz(short);
   5437 double __ovld __cnfn convert_double_rtz(uchar);
   5438 double __ovld __cnfn convert_double_rtz(uint);
   5439 double __ovld __cnfn convert_double_rtz(ulong);
   5440 double __ovld __cnfn convert_double_rtz(ushort);
   5441 double2 __ovld __cnfn convert_double2(char2);
   5442 double2 __ovld __cnfn convert_double2(double2);
   5443 double2 __ovld __cnfn convert_double2(float2);
   5444 double2 __ovld __cnfn convert_double2(int2);
   5445 double2 __ovld __cnfn convert_double2(long2);
   5446 double2 __ovld __cnfn convert_double2(short2);
   5447 double2 __ovld __cnfn convert_double2(uchar2);
   5448 double2 __ovld __cnfn convert_double2(uint2);
   5449 double2 __ovld __cnfn convert_double2(ulong2);
   5450 double2 __ovld __cnfn convert_double2(ushort2);
   5451 double2 __ovld __cnfn convert_double2_rte(char2);
   5452 double2 __ovld __cnfn convert_double2_rte(double2);
   5453 double2 __ovld __cnfn convert_double2_rte(float2);
   5454 double2 __ovld __cnfn convert_double2_rte(int2);
   5455 double2 __ovld __cnfn convert_double2_rte(long2);
   5456 double2 __ovld __cnfn convert_double2_rte(short2);
   5457 double2 __ovld __cnfn convert_double2_rte(uchar2);
   5458 double2 __ovld __cnfn convert_double2_rte(uint2);
   5459 double2 __ovld __cnfn convert_double2_rte(ulong2);
   5460 double2 __ovld __cnfn convert_double2_rte(ushort2);
   5461 double2 __ovld __cnfn convert_double2_rtn(char2);
   5462 double2 __ovld __cnfn convert_double2_rtn(double2);
   5463 double2 __ovld __cnfn convert_double2_rtn(float2);
   5464 double2 __ovld __cnfn convert_double2_rtn(int2);
   5465 double2 __ovld __cnfn convert_double2_rtn(long2);
   5466 double2 __ovld __cnfn convert_double2_rtn(short2);
   5467 double2 __ovld __cnfn convert_double2_rtn(uchar2);
   5468 double2 __ovld __cnfn convert_double2_rtn(uint2);
   5469 double2 __ovld __cnfn convert_double2_rtn(ulong2);
   5470 double2 __ovld __cnfn convert_double2_rtn(ushort2);
   5471 double2 __ovld __cnfn convert_double2_rtp(char2);
   5472 double2 __ovld __cnfn convert_double2_rtp(double2);
   5473 double2 __ovld __cnfn convert_double2_rtp(float2);
   5474 double2 __ovld __cnfn convert_double2_rtp(int2);
   5475 double2 __ovld __cnfn convert_double2_rtp(long2);
   5476 double2 __ovld __cnfn convert_double2_rtp(short2);
   5477 double2 __ovld __cnfn convert_double2_rtp(uchar2);
   5478 double2 __ovld __cnfn convert_double2_rtp(uint2);
   5479 double2 __ovld __cnfn convert_double2_rtp(ulong2);
   5480 double2 __ovld __cnfn convert_double2_rtp(ushort2);
   5481 double2 __ovld __cnfn convert_double2_rtz(char2);
   5482 double2 __ovld __cnfn convert_double2_rtz(double2);
   5483 double2 __ovld __cnfn convert_double2_rtz(float2);
   5484 double2 __ovld __cnfn convert_double2_rtz(int2);
   5485 double2 __ovld __cnfn convert_double2_rtz(long2);
   5486 double2 __ovld __cnfn convert_double2_rtz(short2);
   5487 double2 __ovld __cnfn convert_double2_rtz(uchar2);
   5488 double2 __ovld __cnfn convert_double2_rtz(uint2);
   5489 double2 __ovld __cnfn convert_double2_rtz(ulong2);
   5490 double2 __ovld __cnfn convert_double2_rtz(ushort2);
   5491 double3 __ovld __cnfn convert_double3(char3);
   5492 double3 __ovld __cnfn convert_double3(double3);
   5493 double3 __ovld __cnfn convert_double3(float3);
   5494 double3 __ovld __cnfn convert_double3(int3);
   5495 double3 __ovld __cnfn convert_double3(long3);
   5496 double3 __ovld __cnfn convert_double3(short3);
   5497 double3 __ovld __cnfn convert_double3(uchar3);
   5498 double3 __ovld __cnfn convert_double3(uint3);
   5499 double3 __ovld __cnfn convert_double3(ulong3);
   5500 double3 __ovld __cnfn convert_double3(ushort3);
   5501 double3 __ovld __cnfn convert_double3_rte(char3);
   5502 double3 __ovld __cnfn convert_double3_rte(double3);
   5503 double3 __ovld __cnfn convert_double3_rte(float3);
   5504 double3 __ovld __cnfn convert_double3_rte(int3);
   5505 double3 __ovld __cnfn convert_double3_rte(long3);
   5506 double3 __ovld __cnfn convert_double3_rte(short3);
   5507 double3 __ovld __cnfn convert_double3_rte(uchar3);
   5508 double3 __ovld __cnfn convert_double3_rte(uint3);
   5509 double3 __ovld __cnfn convert_double3_rte(ulong3);
   5510 double3 __ovld __cnfn convert_double3_rte(ushort3);
   5511 double3 __ovld __cnfn convert_double3_rtn(char3);
   5512 double3 __ovld __cnfn convert_double3_rtn(double3);
   5513 double3 __ovld __cnfn convert_double3_rtn(float3);
   5514 double3 __ovld __cnfn convert_double3_rtn(int3);
   5515 double3 __ovld __cnfn convert_double3_rtn(long3);
   5516 double3 __ovld __cnfn convert_double3_rtn(short3);
   5517 double3 __ovld __cnfn convert_double3_rtn(uchar3);
   5518 double3 __ovld __cnfn convert_double3_rtn(uint3);
   5519 double3 __ovld __cnfn convert_double3_rtn(ulong3);
   5520 double3 __ovld __cnfn convert_double3_rtn(ushort3);
   5521 double3 __ovld __cnfn convert_double3_rtp(char3);
   5522 double3 __ovld __cnfn convert_double3_rtp(double3);
   5523 double3 __ovld __cnfn convert_double3_rtp(float3);
   5524 double3 __ovld __cnfn convert_double3_rtp(int3);
   5525 double3 __ovld __cnfn convert_double3_rtp(long3);
   5526 double3 __ovld __cnfn convert_double3_rtp(short3);
   5527 double3 __ovld __cnfn convert_double3_rtp(uchar3);
   5528 double3 __ovld __cnfn convert_double3_rtp(uint3);
   5529 double3 __ovld __cnfn convert_double3_rtp(ulong3);
   5530 double3 __ovld __cnfn convert_double3_rtp(ushort3);
   5531 double3 __ovld __cnfn convert_double3_rtz(char3);
   5532 double3 __ovld __cnfn convert_double3_rtz(double3);
   5533 double3 __ovld __cnfn convert_double3_rtz(float3);
   5534 double3 __ovld __cnfn convert_double3_rtz(int3);
   5535 double3 __ovld __cnfn convert_double3_rtz(long3);
   5536 double3 __ovld __cnfn convert_double3_rtz(short3);
   5537 double3 __ovld __cnfn convert_double3_rtz(uchar3);
   5538 double3 __ovld __cnfn convert_double3_rtz(uint3);
   5539 double3 __ovld __cnfn convert_double3_rtz(ulong3);
   5540 double3 __ovld __cnfn convert_double3_rtz(ushort3);
   5541 double4 __ovld __cnfn convert_double4(char4);
   5542 double4 __ovld __cnfn convert_double4(double4);
   5543 double4 __ovld __cnfn convert_double4(float4);
   5544 double4 __ovld __cnfn convert_double4(int4);
   5545 double4 __ovld __cnfn convert_double4(long4);
   5546 double4 __ovld __cnfn convert_double4(short4);
   5547 double4 __ovld __cnfn convert_double4(uchar4);
   5548 double4 __ovld __cnfn convert_double4(uint4);
   5549 double4 __ovld __cnfn convert_double4(ulong4);
   5550 double4 __ovld __cnfn convert_double4(ushort4);
   5551 double4 __ovld __cnfn convert_double4_rte(char4);
   5552 double4 __ovld __cnfn convert_double4_rte(double4);
   5553 double4 __ovld __cnfn convert_double4_rte(float4);
   5554 double4 __ovld __cnfn convert_double4_rte(int4);
   5555 double4 __ovld __cnfn convert_double4_rte(long4);
   5556 double4 __ovld __cnfn convert_double4_rte(short4);
   5557 double4 __ovld __cnfn convert_double4_rte(uchar4);
   5558 double4 __ovld __cnfn convert_double4_rte(uint4);
   5559 double4 __ovld __cnfn convert_double4_rte(ulong4);
   5560 double4 __ovld __cnfn convert_double4_rte(ushort4);
   5561 double4 __ovld __cnfn convert_double4_rtn(char4);
   5562 double4 __ovld __cnfn convert_double4_rtn(double4);
   5563 double4 __ovld __cnfn convert_double4_rtn(float4);
   5564 double4 __ovld __cnfn convert_double4_rtn(int4);
   5565 double4 __ovld __cnfn convert_double4_rtn(long4);
   5566 double4 __ovld __cnfn convert_double4_rtn(short4);
   5567 double4 __ovld __cnfn convert_double4_rtn(uchar4);
   5568 double4 __ovld __cnfn convert_double4_rtn(uint4);
   5569 double4 __ovld __cnfn convert_double4_rtn(ulong4);
   5570 double4 __ovld __cnfn convert_double4_rtn(ushort4);
   5571 double4 __ovld __cnfn convert_double4_rtp(char4);
   5572 double4 __ovld __cnfn convert_double4_rtp(double4);
   5573 double4 __ovld __cnfn convert_double4_rtp(float4);
   5574 double4 __ovld __cnfn convert_double4_rtp(int4);
   5575 double4 __ovld __cnfn convert_double4_rtp(long4);
   5576 double4 __ovld __cnfn convert_double4_rtp(short4);
   5577 double4 __ovld __cnfn convert_double4_rtp(uchar4);
   5578 double4 __ovld __cnfn convert_double4_rtp(uint4);
   5579 double4 __ovld __cnfn convert_double4_rtp(ulong4);
   5580 double4 __ovld __cnfn convert_double4_rtp(ushort4);
   5581 double4 __ovld __cnfn convert_double4_rtz(char4);
   5582 double4 __ovld __cnfn convert_double4_rtz(double4);
   5583 double4 __ovld __cnfn convert_double4_rtz(float4);
   5584 double4 __ovld __cnfn convert_double4_rtz(int4);
   5585 double4 __ovld __cnfn convert_double4_rtz(long4);
   5586 double4 __ovld __cnfn convert_double4_rtz(short4);
   5587 double4 __ovld __cnfn convert_double4_rtz(uchar4);
   5588 double4 __ovld __cnfn convert_double4_rtz(uint4);
   5589 double4 __ovld __cnfn convert_double4_rtz(ulong4);
   5590 double4 __ovld __cnfn convert_double4_rtz(ushort4);
   5591 double8 __ovld __cnfn convert_double8(char8);
   5592 double8 __ovld __cnfn convert_double8(double8);
   5593 double8 __ovld __cnfn convert_double8(float8);
   5594 double8 __ovld __cnfn convert_double8(int8);
   5595 double8 __ovld __cnfn convert_double8(long8);
   5596 double8 __ovld __cnfn convert_double8(short8);
   5597 double8 __ovld __cnfn convert_double8(uchar8);
   5598 double8 __ovld __cnfn convert_double8(uint8);
   5599 double8 __ovld __cnfn convert_double8(ulong8);
   5600 double8 __ovld __cnfn convert_double8(ushort8);
   5601 double8 __ovld __cnfn convert_double8_rte(char8);
   5602 double8 __ovld __cnfn convert_double8_rte(double8);
   5603 double8 __ovld __cnfn convert_double8_rte(float8);
   5604 double8 __ovld __cnfn convert_double8_rte(int8);
   5605 double8 __ovld __cnfn convert_double8_rte(long8);
   5606 double8 __ovld __cnfn convert_double8_rte(short8);
   5607 double8 __ovld __cnfn convert_double8_rte(uchar8);
   5608 double8 __ovld __cnfn convert_double8_rte(uint8);
   5609 double8 __ovld __cnfn convert_double8_rte(ulong8);
   5610 double8 __ovld __cnfn convert_double8_rte(ushort8);
   5611 double8 __ovld __cnfn convert_double8_rtn(char8);
   5612 double8 __ovld __cnfn convert_double8_rtn(double8);
   5613 double8 __ovld __cnfn convert_double8_rtn(float8);
   5614 double8 __ovld __cnfn convert_double8_rtn(int8);
   5615 double8 __ovld __cnfn convert_double8_rtn(long8);
   5616 double8 __ovld __cnfn convert_double8_rtn(short8);
   5617 double8 __ovld __cnfn convert_double8_rtn(uchar8);
   5618 double8 __ovld __cnfn convert_double8_rtn(uint8);
   5619 double8 __ovld __cnfn convert_double8_rtn(ulong8);
   5620 double8 __ovld __cnfn convert_double8_rtn(ushort8);
   5621 double8 __ovld __cnfn convert_double8_rtp(char8);
   5622 double8 __ovld __cnfn convert_double8_rtp(double8);
   5623 double8 __ovld __cnfn convert_double8_rtp(float8);
   5624 double8 __ovld __cnfn convert_double8_rtp(int8);
   5625 double8 __ovld __cnfn convert_double8_rtp(long8);
   5626 double8 __ovld __cnfn convert_double8_rtp(short8);
   5627 double8 __ovld __cnfn convert_double8_rtp(uchar8);
   5628 double8 __ovld __cnfn convert_double8_rtp(uint8);
   5629 double8 __ovld __cnfn convert_double8_rtp(ulong8);
   5630 double8 __ovld __cnfn convert_double8_rtp(ushort8);
   5631 double8 __ovld __cnfn convert_double8_rtz(char8);
   5632 double8 __ovld __cnfn convert_double8_rtz(double8);
   5633 double8 __ovld __cnfn convert_double8_rtz(float8);
   5634 double8 __ovld __cnfn convert_double8_rtz(int8);
   5635 double8 __ovld __cnfn convert_double8_rtz(long8);
   5636 double8 __ovld __cnfn convert_double8_rtz(short8);
   5637 double8 __ovld __cnfn convert_double8_rtz(uchar8);
   5638 double8 __ovld __cnfn convert_double8_rtz(uint8);
   5639 double8 __ovld __cnfn convert_double8_rtz(ulong8);
   5640 double8 __ovld __cnfn convert_double8_rtz(ushort8);
   5641 double16 __ovld __cnfn convert_double16(char16);
   5642 double16 __ovld __cnfn convert_double16(double16);
   5643 double16 __ovld __cnfn convert_double16(float16);
   5644 double16 __ovld __cnfn convert_double16(int16);
   5645 double16 __ovld __cnfn convert_double16(long16);
   5646 double16 __ovld __cnfn convert_double16(short16);
   5647 double16 __ovld __cnfn convert_double16(uchar16);
   5648 double16 __ovld __cnfn convert_double16(uint16);
   5649 double16 __ovld __cnfn convert_double16(ulong16);
   5650 double16 __ovld __cnfn convert_double16(ushort16);
   5651 double16 __ovld __cnfn convert_double16_rte(char16);
   5652 double16 __ovld __cnfn convert_double16_rte(double16);
   5653 double16 __ovld __cnfn convert_double16_rte(float16);
   5654 double16 __ovld __cnfn convert_double16_rte(int16);
   5655 double16 __ovld __cnfn convert_double16_rte(long16);
   5656 double16 __ovld __cnfn convert_double16_rte(short16);
   5657 double16 __ovld __cnfn convert_double16_rte(uchar16);
   5658 double16 __ovld __cnfn convert_double16_rte(uint16);
   5659 double16 __ovld __cnfn convert_double16_rte(ulong16);
   5660 double16 __ovld __cnfn convert_double16_rte(ushort16);
   5661 double16 __ovld __cnfn convert_double16_rtn(char16);
   5662 double16 __ovld __cnfn convert_double16_rtn(double16);
   5663 double16 __ovld __cnfn convert_double16_rtn(float16);
   5664 double16 __ovld __cnfn convert_double16_rtn(int16);
   5665 double16 __ovld __cnfn convert_double16_rtn(long16);
   5666 double16 __ovld __cnfn convert_double16_rtn(short16);
   5667 double16 __ovld __cnfn convert_double16_rtn(uchar16);
   5668 double16 __ovld __cnfn convert_double16_rtn(uint16);
   5669 double16 __ovld __cnfn convert_double16_rtn(ulong16);
   5670 double16 __ovld __cnfn convert_double16_rtn(ushort16);
   5671 double16 __ovld __cnfn convert_double16_rtp(char16);
   5672 double16 __ovld __cnfn convert_double16_rtp(double16);
   5673 double16 __ovld __cnfn convert_double16_rtp(float16);
   5674 double16 __ovld __cnfn convert_double16_rtp(int16);
   5675 double16 __ovld __cnfn convert_double16_rtp(long16);
   5676 double16 __ovld __cnfn convert_double16_rtp(short16);
   5677 double16 __ovld __cnfn convert_double16_rtp(uchar16);
   5678 double16 __ovld __cnfn convert_double16_rtp(uint16);
   5679 double16 __ovld __cnfn convert_double16_rtp(ulong16);
   5680 double16 __ovld __cnfn convert_double16_rtp(ushort16);
   5681 double16 __ovld __cnfn convert_double16_rtz(char16);
   5682 double16 __ovld __cnfn convert_double16_rtz(double16);
   5683 double16 __ovld __cnfn convert_double16_rtz(float16);
   5684 double16 __ovld __cnfn convert_double16_rtz(int16);
   5685 double16 __ovld __cnfn convert_double16_rtz(long16);
   5686 double16 __ovld __cnfn convert_double16_rtz(short16);
   5687 double16 __ovld __cnfn convert_double16_rtz(uchar16);
   5688 double16 __ovld __cnfn convert_double16_rtz(uint16);
   5689 double16 __ovld __cnfn convert_double16_rtz(ulong16);
   5690 double16 __ovld __cnfn convert_double16_rtz(ushort16);
   5691 #endif //cl_khr_fp64
   5692 
   5693 #ifdef cl_khr_fp16
   5694 // Convert half types to non-double types.
   5695 uchar __ovld __cnfn convert_uchar(half);
   5696 uchar __ovld __cnfn convert_uchar_rte(half);
   5697 uchar __ovld __cnfn convert_uchar_rtp(half);
   5698 uchar __ovld __cnfn convert_uchar_rtn(half);
   5699 uchar __ovld __cnfn convert_uchar_rtz(half);
   5700 uchar __ovld __cnfn convert_uchar_sat(half);
   5701 uchar __ovld __cnfn convert_uchar_sat_rte(half);
   5702 uchar __ovld __cnfn convert_uchar_sat_rtp(half);
   5703 uchar __ovld __cnfn convert_uchar_sat_rtn(half);
   5704 uchar __ovld __cnfn convert_uchar_sat_rtz(half);
   5705 uchar2 __ovld __cnfn convert_uchar2(half2);
   5706 uchar2 __ovld __cnfn convert_uchar2_rte(half2);
   5707 uchar2 __ovld __cnfn convert_uchar2_rtp(half2);
   5708 uchar2 __ovld __cnfn convert_uchar2_rtn(half2);
   5709 uchar2 __ovld __cnfn convert_uchar2_rtz(half2);
   5710 uchar2 __ovld __cnfn convert_uchar2_sat(half2);
   5711 uchar2 __ovld __cnfn convert_uchar2_sat_rte(half2);
   5712 uchar2 __ovld __cnfn convert_uchar2_sat_rtp(half2);
   5713 uchar2 __ovld __cnfn convert_uchar2_sat_rtn(half2);
   5714 uchar2 __ovld __cnfn convert_uchar2_sat_rtz(half2);
   5715 uchar3 __ovld __cnfn convert_uchar3(half3);
   5716 uchar3 __ovld __cnfn convert_uchar3_rte(half3);
   5717 uchar3 __ovld __cnfn convert_uchar3_rtp(half3);
   5718 uchar3 __ovld __cnfn convert_uchar3_rtn(half3);
   5719 uchar3 __ovld __cnfn convert_uchar3_rtz(half3);
   5720 uchar3 __ovld __cnfn convert_uchar3_sat(half3);
   5721 uchar3 __ovld __cnfn convert_uchar3_sat_rte(half3);
   5722 uchar3 __ovld __cnfn convert_uchar3_sat_rtp(half3);
   5723 uchar3 __ovld __cnfn convert_uchar3_sat_rtn(half3);
   5724 uchar3 __ovld __cnfn convert_uchar3_sat_rtz(half3);
   5725 uchar4 __ovld __cnfn convert_uchar4(half4);
   5726 uchar4 __ovld __cnfn convert_uchar4_rte(half4);
   5727 uchar4 __ovld __cnfn convert_uchar4_rtp(half4);
   5728 uchar4 __ovld __cnfn convert_uchar4_rtn(half4);
   5729 uchar4 __ovld __cnfn convert_uchar4_rtz(half4);
   5730 uchar4 __ovld __cnfn convert_uchar4_sat(half4);
   5731 uchar4 __ovld __cnfn convert_uchar4_sat_rte(half4);
   5732 uchar4 __ovld __cnfn convert_uchar4_sat_rtp(half4);
   5733 uchar4 __ovld __cnfn convert_uchar4_sat_rtn(half4);
   5734 uchar4 __ovld __cnfn convert_uchar4_sat_rtz(half4);
   5735 uchar8 __ovld __cnfn convert_uchar8(half8);
   5736 uchar8 __ovld __cnfn convert_uchar8_rte(half8);
   5737 uchar8 __ovld __cnfn convert_uchar8_rtp(half8);
   5738 uchar8 __ovld __cnfn convert_uchar8_rtn(half8);
   5739 uchar8 __ovld __cnfn convert_uchar8_rtz(half8);
   5740 uchar8 __ovld __cnfn convert_uchar8_sat(half8);
   5741 uchar8 __ovld __cnfn convert_uchar8_sat_rte(half8);
   5742 uchar8 __ovld __cnfn convert_uchar8_sat_rtp(half8);
   5743 uchar8 __ovld __cnfn convert_uchar8_sat_rtn(half8);
   5744 uchar8 __ovld __cnfn convert_uchar8_sat_rtz(half8);
   5745 uchar16 __ovld __cnfn convert_uchar16(half16);
   5746 uchar16 __ovld __cnfn convert_uchar16_rte(half16);
   5747 uchar16 __ovld __cnfn convert_uchar16_rtp(half16);
   5748 uchar16 __ovld __cnfn convert_uchar16_rtn(half16);
   5749 uchar16 __ovld __cnfn convert_uchar16_rtz(half16);
   5750 uchar16 __ovld __cnfn convert_uchar16_sat(half16);
   5751 uchar16 __ovld __cnfn convert_uchar16_sat_rte(half16);
   5752 uchar16 __ovld __cnfn convert_uchar16_sat_rtp(half16);
   5753 uchar16 __ovld __cnfn convert_uchar16_sat_rtn(half16);
   5754 uchar16 __ovld __cnfn convert_uchar16_sat_rtz(half16);
   5755 ushort __ovld __cnfn convert_ushort(half);
   5756 ushort __ovld __cnfn convert_ushort_rte(half);
   5757 ushort __ovld __cnfn convert_ushort_rtp(half);
   5758 ushort __ovld __cnfn convert_ushort_rtn(half);
   5759 ushort __ovld __cnfn convert_ushort_rtz(half);
   5760 ushort __ovld __cnfn convert_ushort_sat(half);
   5761 ushort __ovld __cnfn convert_ushort_sat_rte(half);
   5762 ushort __ovld __cnfn convert_ushort_sat_rtp(half);
   5763 ushort __ovld __cnfn convert_ushort_sat_rtn(half);
   5764 ushort __ovld __cnfn convert_ushort_sat_rtz(half);
   5765 ushort2 __ovld __cnfn convert_ushort2(half2);
   5766 ushort2 __ovld __cnfn convert_ushort2_rte(half2);
   5767 ushort2 __ovld __cnfn convert_ushort2_rtp(half2);
   5768 ushort2 __ovld __cnfn convert_ushort2_rtn(half2);
   5769 ushort2 __ovld __cnfn convert_ushort2_rtz(half2);
   5770 ushort2 __ovld __cnfn convert_ushort2_sat(half2);
   5771 ushort2 __ovld __cnfn convert_ushort2_sat_rte(half2);
   5772 ushort2 __ovld __cnfn convert_ushort2_sat_rtp(half2);
   5773 ushort2 __ovld __cnfn convert_ushort2_sat_rtn(half2);
   5774 ushort2 __ovld __cnfn convert_ushort2_sat_rtz(half2);
   5775 ushort3 __ovld __cnfn convert_ushort3(half3);
   5776 ushort3 __ovld __cnfn convert_ushort3_rte(half3);
   5777 ushort3 __ovld __cnfn convert_ushort3_rtp(half3);
   5778 ushort3 __ovld __cnfn convert_ushort3_rtn(half3);
   5779 ushort3 __ovld __cnfn convert_ushort3_rtz(half3);
   5780 ushort3 __ovld __cnfn convert_ushort3_sat(half3);
   5781 ushort3 __ovld __cnfn convert_ushort3_sat_rte(half3);
   5782 ushort3 __ovld __cnfn convert_ushort3_sat_rtp(half3);
   5783 ushort3 __ovld __cnfn convert_ushort3_sat_rtn(half3);
   5784 ushort3 __ovld __cnfn convert_ushort3_sat_rtz(half3);
   5785 ushort4 __ovld __cnfn convert_ushort4(half4);
   5786 ushort4 __ovld __cnfn convert_ushort4_rte(half4);
   5787 ushort4 __ovld __cnfn convert_ushort4_rtp(half4);
   5788 ushort4 __ovld __cnfn convert_ushort4_rtn(half4);
   5789 ushort4 __ovld __cnfn convert_ushort4_rtz(half4);
   5790 ushort4 __ovld __cnfn convert_ushort4_sat(half4);
   5791 ushort4 __ovld __cnfn convert_ushort4_sat_rte(half4);
   5792 ushort4 __ovld __cnfn convert_ushort4_sat_rtp(half4);
   5793 ushort4 __ovld __cnfn convert_ushort4_sat_rtn(half4);
   5794 ushort4 __ovld __cnfn convert_ushort4_sat_rtz(half4);
   5795 ushort8 __ovld __cnfn convert_ushort8(half8);
   5796 ushort8 __ovld __cnfn convert_ushort8_rte(half8);
   5797 ushort8 __ovld __cnfn convert_ushort8_rtp(half8);
   5798 ushort8 __ovld __cnfn convert_ushort8_rtn(half8);
   5799 ushort8 __ovld __cnfn convert_ushort8_rtz(half8);
   5800 ushort8 __ovld __cnfn convert_ushort8_sat(half8);
   5801 ushort8 __ovld __cnfn convert_ushort8_sat_rte(half8);
   5802 ushort8 __ovld __cnfn convert_ushort8_sat_rtp(half8);
   5803 ushort8 __ovld __cnfn convert_ushort8_sat_rtn(half8);
   5804 ushort8 __ovld __cnfn convert_ushort8_sat_rtz(half8);
   5805 ushort16 __ovld __cnfn convert_ushort16(half16);
   5806 ushort16 __ovld __cnfn convert_ushort16_rte(half16);
   5807 ushort16 __ovld __cnfn convert_ushort16_rtp(half16);
   5808 ushort16 __ovld __cnfn convert_ushort16_rtn(half16);
   5809 ushort16 __ovld __cnfn convert_ushort16_rtz(half16);
   5810 ushort16 __ovld __cnfn convert_ushort16_sat(half16);
   5811 ushort16 __ovld __cnfn convert_ushort16_sat_rte(half16);
   5812 ushort16 __ovld __cnfn convert_ushort16_sat_rtp(half16);
   5813 ushort16 __ovld __cnfn convert_ushort16_sat_rtn(half16);
   5814 ushort16 __ovld __cnfn convert_ushort16_sat_rtz(half16);
   5815 uint __ovld __cnfn convert_uint(half);
   5816 uint __ovld __cnfn convert_uint_rte(half);
   5817 uint __ovld __cnfn convert_uint_rtp(half);
   5818 uint __ovld __cnfn convert_uint_rtn(half);
   5819 uint __ovld __cnfn convert_uint_rtz(half);
   5820 uint __ovld __cnfn convert_uint_sat(half);
   5821 uint __ovld __cnfn convert_uint_sat_rte(half);
   5822 uint __ovld __cnfn convert_uint_sat_rtp(half);
   5823 uint __ovld __cnfn convert_uint_sat_rtn(half);
   5824 uint __ovld __cnfn convert_uint_sat_rtz(half);
   5825 uint2 __ovld __cnfn convert_uint2(half2);
   5826 uint2 __ovld __cnfn convert_uint2_rte(half2);
   5827 uint2 __ovld __cnfn convert_uint2_rtp(half2);
   5828 uint2 __ovld __cnfn convert_uint2_rtn(half2);
   5829 uint2 __ovld __cnfn convert_uint2_rtz(half2);
   5830 uint2 __ovld __cnfn convert_uint2_sat(half2);
   5831 uint2 __ovld __cnfn convert_uint2_sat_rte(half2);
   5832 uint2 __ovld __cnfn convert_uint2_sat_rtp(half2);
   5833 uint2 __ovld __cnfn convert_uint2_sat_rtn(half2);
   5834 uint2 __ovld __cnfn convert_uint2_sat_rtz(half2);
   5835 uint3 __ovld __cnfn convert_uint3(half3);
   5836 uint3 __ovld __cnfn convert_uint3_rte(half3);
   5837 uint3 __ovld __cnfn convert_uint3_rtp(half3);
   5838 uint3 __ovld __cnfn convert_uint3_rtn(half3);
   5839 uint3 __ovld __cnfn convert_uint3_rtz(half3);
   5840 uint3 __ovld __cnfn convert_uint3_sat(half3);
   5841 uint3 __ovld __cnfn convert_uint3_sat_rte(half3);
   5842 uint3 __ovld __cnfn convert_uint3_sat_rtp(half3);
   5843 uint3 __ovld __cnfn convert_uint3_sat_rtn(half3);
   5844 uint3 __ovld __cnfn convert_uint3_sat_rtz(half3);
   5845 uint4 __ovld __cnfn convert_uint4(half4);
   5846 uint4 __ovld __cnfn convert_uint4_rte(half4);
   5847 uint4 __ovld __cnfn convert_uint4_rtp(half4);
   5848 uint4 __ovld __cnfn convert_uint4_rtn(half4);
   5849 uint4 __ovld __cnfn convert_uint4_rtz(half4);
   5850 uint4 __ovld __cnfn convert_uint4_sat(half4);
   5851 uint4 __ovld __cnfn convert_uint4_sat_rte(half4);
   5852 uint4 __ovld __cnfn convert_uint4_sat_rtp(half4);
   5853 uint4 __ovld __cnfn convert_uint4_sat_rtn(half4);
   5854 uint4 __ovld __cnfn convert_uint4_sat_rtz(half4);
   5855 uint8 __ovld __cnfn convert_uint8(half8);
   5856 uint8 __ovld __cnfn convert_uint8_rte(half8);
   5857 uint8 __ovld __cnfn convert_uint8_rtp(half8);
   5858 uint8 __ovld __cnfn convert_uint8_rtn(half8);
   5859 uint8 __ovld __cnfn convert_uint8_rtz(half8);
   5860 uint8 __ovld __cnfn convert_uint8_sat(half8);
   5861 uint8 __ovld __cnfn convert_uint8_sat_rte(half8);
   5862 uint8 __ovld __cnfn convert_uint8_sat_rtp(half8);
   5863 uint8 __ovld __cnfn convert_uint8_sat_rtn(half8);
   5864 uint8 __ovld __cnfn convert_uint8_sat_rtz(half8);
   5865 uint16 __ovld __cnfn convert_uint16(half16);
   5866 uint16 __ovld __cnfn convert_uint16_rte(half16);
   5867 uint16 __ovld __cnfn convert_uint16_rtp(half16);
   5868 uint16 __ovld __cnfn convert_uint16_rtn(half16);
   5869 uint16 __ovld __cnfn convert_uint16_rtz(half16);
   5870 uint16 __ovld __cnfn convert_uint16_sat(half16);
   5871 uint16 __ovld __cnfn convert_uint16_sat_rte(half16);
   5872 uint16 __ovld __cnfn convert_uint16_sat_rtp(half16);
   5873 uint16 __ovld __cnfn convert_uint16_sat_rtn(half16);
   5874 uint16 __ovld __cnfn convert_uint16_sat_rtz(half16);
   5875 ulong __ovld __cnfn convert_ulong(half);
   5876 ulong __ovld __cnfn convert_ulong_rte(half);
   5877 ulong __ovld __cnfn convert_ulong_rtp(half);
   5878 ulong __ovld __cnfn convert_ulong_rtn(half);
   5879 ulong __ovld __cnfn convert_ulong_rtz(half);
   5880 ulong __ovld __cnfn convert_ulong_sat(half);
   5881 ulong __ovld __cnfn convert_ulong_sat_rte(half);
   5882 ulong __ovld __cnfn convert_ulong_sat_rtp(half);
   5883 ulong __ovld __cnfn convert_ulong_sat_rtn(half);
   5884 ulong __ovld __cnfn convert_ulong_sat_rtz(half);
   5885 ulong2 __ovld __cnfn convert_ulong2(half2);
   5886 ulong2 __ovld __cnfn convert_ulong2_rte(half2);
   5887 ulong2 __ovld __cnfn convert_ulong2_rtp(half2);
   5888 ulong2 __ovld __cnfn convert_ulong2_rtn(half2);
   5889 ulong2 __ovld __cnfn convert_ulong2_rtz(half2);
   5890 ulong2 __ovld __cnfn convert_ulong2_sat(half2);
   5891 ulong2 __ovld __cnfn convert_ulong2_sat_rte(half2);
   5892 ulong2 __ovld __cnfn convert_ulong2_sat_rtp(half2);
   5893 ulong2 __ovld __cnfn convert_ulong2_sat_rtn(half2);
   5894 ulong2 __ovld __cnfn convert_ulong2_sat_rtz(half2);
   5895 ulong3 __ovld __cnfn convert_ulong3(half3);
   5896 ulong3 __ovld __cnfn convert_ulong3_rte(half3);
   5897 ulong3 __ovld __cnfn convert_ulong3_rtp(half3);
   5898 ulong3 __ovld __cnfn convert_ulong3_rtn(half3);
   5899 ulong3 __ovld __cnfn convert_ulong3_rtz(half3);
   5900 ulong3 __ovld __cnfn convert_ulong3_sat(half3);
   5901 ulong3 __ovld __cnfn convert_ulong3_sat_rte(half3);
   5902 ulong3 __ovld __cnfn convert_ulong3_sat_rtp(half3);
   5903 ulong3 __ovld __cnfn convert_ulong3_sat_rtn(half3);
   5904 ulong3 __ovld __cnfn convert_ulong3_sat_rtz(half3);
   5905 ulong4 __ovld __cnfn convert_ulong4(half4);
   5906 ulong4 __ovld __cnfn convert_ulong4_rte(half4);
   5907 ulong4 __ovld __cnfn convert_ulong4_rtp(half4);
   5908 ulong4 __ovld __cnfn convert_ulong4_rtn(half4);
   5909 ulong4 __ovld __cnfn convert_ulong4_rtz(half4);
   5910 ulong4 __ovld __cnfn convert_ulong4_sat(half4);
   5911 ulong4 __ovld __cnfn convert_ulong4_sat_rte(half4);
   5912 ulong4 __ovld __cnfn convert_ulong4_sat_rtp(half4);
   5913 ulong4 __ovld __cnfn convert_ulong4_sat_rtn(half4);
   5914 ulong4 __ovld __cnfn convert_ulong4_sat_rtz(half4);
   5915 ulong8 __ovld __cnfn convert_ulong8(half8);
   5916 ulong8 __ovld __cnfn convert_ulong8_rte(half8);
   5917 ulong8 __ovld __cnfn convert_ulong8_rtp(half8);
   5918 ulong8 __ovld __cnfn convert_ulong8_rtn(half8);
   5919 ulong8 __ovld __cnfn convert_ulong8_rtz(half8);
   5920 ulong8 __ovld __cnfn convert_ulong8_sat(half8);
   5921 ulong8 __ovld __cnfn convert_ulong8_sat_rte(half8);
   5922 ulong8 __ovld __cnfn convert_ulong8_sat_rtp(half8);
   5923 ulong8 __ovld __cnfn convert_ulong8_sat_rtn(half8);
   5924 ulong8 __ovld __cnfn convert_ulong8_sat_rtz(half8);
   5925 ulong16 __ovld __cnfn convert_ulong16(half16);
   5926 ulong16 __ovld __cnfn convert_ulong16_rte(half16);
   5927 ulong16 __ovld __cnfn convert_ulong16_rtp(half16);
   5928 ulong16 __ovld __cnfn convert_ulong16_rtn(half16);
   5929 ulong16 __ovld __cnfn convert_ulong16_rtz(half16);
   5930 ulong16 __ovld __cnfn convert_ulong16_sat(half16);
   5931 ulong16 __ovld __cnfn convert_ulong16_sat_rte(half16);
   5932 ulong16 __ovld __cnfn convert_ulong16_sat_rtp(half16);
   5933 ulong16 __ovld __cnfn convert_ulong16_sat_rtn(half16);
   5934 ulong16 __ovld __cnfn convert_ulong16_sat_rtz(half16);
   5935 char __ovld __cnfn convert_char(half);
   5936 char __ovld __cnfn convert_char_rte(half);
   5937 char __ovld __cnfn convert_char_rtp(half);
   5938 char __ovld __cnfn convert_char_rtn(half);
   5939 char __ovld __cnfn convert_char_rtz(half);
   5940 char __ovld __cnfn convert_char_sat(half);
   5941 char __ovld __cnfn convert_char_sat_rte(half);
   5942 char __ovld __cnfn convert_char_sat_rtp(half);
   5943 char __ovld __cnfn convert_char_sat_rtn(half);
   5944 char __ovld __cnfn convert_char_sat_rtz(half);
   5945 char2 __ovld __cnfn convert_char2(half2);
   5946 char2 __ovld __cnfn convert_char2_rte(half2);
   5947 char2 __ovld __cnfn convert_char2_rtp(half2);
   5948 char2 __ovld __cnfn convert_char2_rtn(half2);
   5949 char2 __ovld __cnfn convert_char2_rtz(half2);
   5950 char2 __ovld __cnfn convert_char2_sat(half2);
   5951 char2 __ovld __cnfn convert_char2_sat_rte(half2);
   5952 char2 __ovld __cnfn convert_char2_sat_rtp(half2);
   5953 char2 __ovld __cnfn convert_char2_sat_rtn(half2);
   5954 char2 __ovld __cnfn convert_char2_sat_rtz(half2);
   5955 char3 __ovld __cnfn convert_char3(half3);
   5956 char3 __ovld __cnfn convert_char3_rte(half3);
   5957 char3 __ovld __cnfn convert_char3_rtp(half3);
   5958 char3 __ovld __cnfn convert_char3_rtn(half3);
   5959 char3 __ovld __cnfn convert_char3_rtz(half3);
   5960 char3 __ovld __cnfn convert_char3_sat(half3);
   5961 char3 __ovld __cnfn convert_char3_sat_rte(half3);
   5962 char3 __ovld __cnfn convert_char3_sat_rtp(half3);
   5963 char3 __ovld __cnfn convert_char3_sat_rtn(half3);
   5964 char3 __ovld __cnfn convert_char3_sat_rtz(half3);
   5965 char4 __ovld __cnfn convert_char4(half4);
   5966 char4 __ovld __cnfn convert_char4_rte(half4);
   5967 char4 __ovld __cnfn convert_char4_rtp(half4);
   5968 char4 __ovld __cnfn convert_char4_rtn(half4);
   5969 char4 __ovld __cnfn convert_char4_rtz(half4);
   5970 char4 __ovld __cnfn convert_char4_sat(half4);
   5971 char4 __ovld __cnfn convert_char4_sat_rte(half4);
   5972 char4 __ovld __cnfn convert_char4_sat_rtp(half4);
   5973 char4 __ovld __cnfn convert_char4_sat_rtn(half4);
   5974 char4 __ovld __cnfn convert_char4_sat_rtz(half4);
   5975 char8 __ovld __cnfn convert_char8(half8);
   5976 char8 __ovld __cnfn convert_char8_rte(half8);
   5977 char8 __ovld __cnfn convert_char8_rtp(half8);
   5978 char8 __ovld __cnfn convert_char8_rtn(half8);
   5979 char8 __ovld __cnfn convert_char8_rtz(half8);
   5980 char8 __ovld __cnfn convert_char8_sat(half8);
   5981 char8 __ovld __cnfn convert_char8_sat_rte(half8);
   5982 char8 __ovld __cnfn convert_char8_sat_rtp(half8);
   5983 char8 __ovld __cnfn convert_char8_sat_rtn(half8);
   5984 char8 __ovld __cnfn convert_char8_sat_rtz(half8);
   5985 char16 __ovld __cnfn convert_char16(half16);
   5986 char16 __ovld __cnfn convert_char16_rte(half16);
   5987 char16 __ovld __cnfn convert_char16_rtp(half16);
   5988 char16 __ovld __cnfn convert_char16_rtn(half16);
   5989 char16 __ovld __cnfn convert_char16_rtz(half16);
   5990 char16 __ovld __cnfn convert_char16_sat(half16);
   5991 char16 __ovld __cnfn convert_char16_sat_rte(half16);
   5992 char16 __ovld __cnfn convert_char16_sat_rtp(half16);
   5993 char16 __ovld __cnfn convert_char16_sat_rtn(half16);
   5994 char16 __ovld __cnfn convert_char16_sat_rtz(half16);
   5995 short __ovld __cnfn convert_short(half);
   5996 short __ovld __cnfn convert_short_rte(half);
   5997 short __ovld __cnfn convert_short_rtp(half);
   5998 short __ovld __cnfn convert_short_rtn(half);
   5999 short __ovld __cnfn convert_short_rtz(half);
   6000 short __ovld __cnfn convert_short_sat(half);
   6001 short __ovld __cnfn convert_short_sat_rte(half);
   6002 short __ovld __cnfn convert_short_sat_rtp(half);
   6003 short __ovld __cnfn convert_short_sat_rtn(half);
   6004 short __ovld __cnfn convert_short_sat_rtz(half);
   6005 short2 __ovld __cnfn convert_short2(half2);
   6006 short2 __ovld __cnfn convert_short2_rte(half2);
   6007 short2 __ovld __cnfn convert_short2_rtp(half2);
   6008 short2 __ovld __cnfn convert_short2_rtn(half2);
   6009 short2 __ovld __cnfn convert_short2_rtz(half2);
   6010 short2 __ovld __cnfn convert_short2_sat(half2);
   6011 short2 __ovld __cnfn convert_short2_sat_rte(half2);
   6012 short2 __ovld __cnfn convert_short2_sat_rtp(half2);
   6013 short2 __ovld __cnfn convert_short2_sat_rtn(half2);
   6014 short2 __ovld __cnfn convert_short2_sat_rtz(half2);
   6015 short3 __ovld __cnfn convert_short3(half3);
   6016 short3 __ovld __cnfn convert_short3_rte(half3);
   6017 short3 __ovld __cnfn convert_short3_rtp(half3);
   6018 short3 __ovld __cnfn convert_short3_rtn(half3);
   6019 short3 __ovld __cnfn convert_short3_rtz(half3);
   6020 short3 __ovld __cnfn convert_short3_sat(half3);
   6021 short3 __ovld __cnfn convert_short3_sat_rte(half3);
   6022 short3 __ovld __cnfn convert_short3_sat_rtp(half3);
   6023 short3 __ovld __cnfn convert_short3_sat_rtn(half3);
   6024 short3 __ovld __cnfn convert_short3_sat_rtz(half3);
   6025 short4 __ovld __cnfn convert_short4(half4);
   6026 short4 __ovld __cnfn convert_short4_rte(half4);
   6027 short4 __ovld __cnfn convert_short4_rtp(half4);
   6028 short4 __ovld __cnfn convert_short4_rtn(half4);
   6029 short4 __ovld __cnfn convert_short4_rtz(half4);
   6030 short4 __ovld __cnfn convert_short4_sat(half4);
   6031 short4 __ovld __cnfn convert_short4_sat_rte(half4);
   6032 short4 __ovld __cnfn convert_short4_sat_rtp(half4);
   6033 short4 __ovld __cnfn convert_short4_sat_rtn(half4);
   6034 short4 __ovld __cnfn convert_short4_sat_rtz(half4);
   6035 short8 __ovld __cnfn convert_short8(half8);
   6036 short8 __ovld __cnfn convert_short8_rte(half8);
   6037 short8 __ovld __cnfn convert_short8_rtp(half8);
   6038 short8 __ovld __cnfn convert_short8_rtn(half8);
   6039 short8 __ovld __cnfn convert_short8_rtz(half8);
   6040 short8 __ovld __cnfn convert_short8_sat(half8);
   6041 short8 __ovld __cnfn convert_short8_sat_rte(half8);
   6042 short8 __ovld __cnfn convert_short8_sat_rtp(half8);
   6043 short8 __ovld __cnfn convert_short8_sat_rtn(half8);
   6044 short8 __ovld __cnfn convert_short8_sat_rtz(half8);
   6045 short16 __ovld __cnfn convert_short16(half16);
   6046 short16 __ovld __cnfn convert_short16_rte(half16);
   6047 short16 __ovld __cnfn convert_short16_rtp(half16);
   6048 short16 __ovld __cnfn convert_short16_rtn(half16);
   6049 short16 __ovld __cnfn convert_short16_rtz(half16);
   6050 short16 __ovld __cnfn convert_short16_sat(half16);
   6051 short16 __ovld __cnfn convert_short16_sat_rte(half16);
   6052 short16 __ovld __cnfn convert_short16_sat_rtp(half16);
   6053 short16 __ovld __cnfn convert_short16_sat_rtn(half16);
   6054 short16 __ovld __cnfn convert_short16_sat_rtz(half16);
   6055 int __ovld __cnfn convert_int(half);
   6056 int __ovld __cnfn convert_int_rte(half);
   6057 int __ovld __cnfn convert_int_rtp(half);
   6058 int __ovld __cnfn convert_int_rtn(half);
   6059 int __ovld __cnfn convert_int_rtz(half);
   6060 int __ovld __cnfn convert_int_sat(half);
   6061 int __ovld __cnfn convert_int_sat_rte(half);
   6062 int __ovld __cnfn convert_int_sat_rtp(half);
   6063 int __ovld __cnfn convert_int_sat_rtn(half);
   6064 int __ovld __cnfn convert_int_sat_rtz(half);
   6065 int2 __ovld __cnfn convert_int2(half2);
   6066 int2 __ovld __cnfn convert_int2_rte(half2);
   6067 int2 __ovld __cnfn convert_int2_rtp(half2);
   6068 int2 __ovld __cnfn convert_int2_rtn(half2);
   6069 int2 __ovld __cnfn convert_int2_rtz(half2);
   6070 int2 __ovld __cnfn convert_int2_sat(half2);
   6071 int2 __ovld __cnfn convert_int2_sat_rte(half2);
   6072 int2 __ovld __cnfn convert_int2_sat_rtp(half2);
   6073 int2 __ovld __cnfn convert_int2_sat_rtn(half2);
   6074 int2 __ovld __cnfn convert_int2_sat_rtz(half2);
   6075 int3 __ovld __cnfn convert_int3(half3);
   6076 int3 __ovld __cnfn convert_int3_rte(half3);
   6077 int3 __ovld __cnfn convert_int3_rtp(half3);
   6078 int3 __ovld __cnfn convert_int3_rtn(half3);
   6079 int3 __ovld __cnfn convert_int3_rtz(half3);
   6080 int3 __ovld __cnfn convert_int3_sat(half3);
   6081 int3 __ovld __cnfn convert_int3_sat_rte(half3);
   6082 int3 __ovld __cnfn convert_int3_sat_rtp(half3);
   6083 int3 __ovld __cnfn convert_int3_sat_rtn(half3);
   6084 int3 __ovld __cnfn convert_int3_sat_rtz(half3);
   6085 int4 __ovld __cnfn convert_int4(half4);
   6086 int4 __ovld __cnfn convert_int4_rte(half4);
   6087 int4 __ovld __cnfn convert_int4_rtp(half4);
   6088 int4 __ovld __cnfn convert_int4_rtn(half4);
   6089 int4 __ovld __cnfn convert_int4_rtz(half4);
   6090 int4 __ovld __cnfn convert_int4_sat(half4);
   6091 int4 __ovld __cnfn convert_int4_sat_rte(half4);
   6092 int4 __ovld __cnfn convert_int4_sat_rtp(half4);
   6093 int4 __ovld __cnfn convert_int4_sat_rtn(half4);
   6094 int4 __ovld __cnfn convert_int4_sat_rtz(half4);
   6095 int8 __ovld __cnfn convert_int8(half8);
   6096 int8 __ovld __cnfn convert_int8_rte(half8);
   6097 int8 __ovld __cnfn convert_int8_rtp(half8);
   6098 int8 __ovld __cnfn convert_int8_rtn(half8);
   6099 int8 __ovld __cnfn convert_int8_rtz(half8);
   6100 int8 __ovld __cnfn convert_int8_sat(half8);
   6101 int8 __ovld __cnfn convert_int8_sat_rte(half8);
   6102 int8 __ovld __cnfn convert_int8_sat_rtp(half8);
   6103 int8 __ovld __cnfn convert_int8_sat_rtn(half8);
   6104 int8 __ovld __cnfn convert_int8_sat_rtz(half8);
   6105 int16 __ovld __cnfn convert_int16(half16);
   6106 int16 __ovld __cnfn convert_int16_rte(half16);
   6107 int16 __ovld __cnfn convert_int16_rtp(half16);
   6108 int16 __ovld __cnfn convert_int16_rtn(half16);
   6109 int16 __ovld __cnfn convert_int16_rtz(half16);
   6110 int16 __ovld __cnfn convert_int16_sat(half16);
   6111 int16 __ovld __cnfn convert_int16_sat_rte(half16);
   6112 int16 __ovld __cnfn convert_int16_sat_rtp(half16);
   6113 int16 __ovld __cnfn convert_int16_sat_rtn(half16);
   6114 int16 __ovld __cnfn convert_int16_sat_rtz(half16);
   6115 long __ovld __cnfn convert_long(half);
   6116 long __ovld __cnfn convert_long_rte(half);
   6117 long __ovld __cnfn convert_long_rtp(half);
   6118 long __ovld __cnfn convert_long_rtn(half);
   6119 long __ovld __cnfn convert_long_rtz(half);
   6120 long __ovld __cnfn convert_long_sat(half);
   6121 long __ovld __cnfn convert_long_sat_rte(half);
   6122 long __ovld __cnfn convert_long_sat_rtp(half);
   6123 long __ovld __cnfn convert_long_sat_rtn(half);
   6124 long __ovld __cnfn convert_long_sat_rtz(half);
   6125 long2 __ovld __cnfn convert_long2(half2);
   6126 long2 __ovld __cnfn convert_long2_rte(half2);
   6127 long2 __ovld __cnfn convert_long2_rtp(half2);
   6128 long2 __ovld __cnfn convert_long2_rtn(half2);
   6129 long2 __ovld __cnfn convert_long2_rtz(half2);
   6130 long2 __ovld __cnfn convert_long2_sat(half2);
   6131 long2 __ovld __cnfn convert_long2_sat_rte(half2);
   6132 long2 __ovld __cnfn convert_long2_sat_rtp(half2);
   6133 long2 __ovld __cnfn convert_long2_sat_rtn(half2);
   6134 long2 __ovld __cnfn convert_long2_sat_rtz(half2);
   6135 long3 __ovld __cnfn convert_long3(half3);
   6136 long3 __ovld __cnfn convert_long3_rte(half3);
   6137 long3 __ovld __cnfn convert_long3_rtp(half3);
   6138 long3 __ovld __cnfn convert_long3_rtn(half3);
   6139 long3 __ovld __cnfn convert_long3_rtz(half3);
   6140 long3 __ovld __cnfn convert_long3_sat(half3);
   6141 long3 __ovld __cnfn convert_long3_sat_rte(half3);
   6142 long3 __ovld __cnfn convert_long3_sat_rtp(half3);
   6143 long3 __ovld __cnfn convert_long3_sat_rtn(half3);
   6144 long3 __ovld __cnfn convert_long3_sat_rtz(half3);
   6145 long4 __ovld __cnfn convert_long4(half4);
   6146 long4 __ovld __cnfn convert_long4_rte(half4);
   6147 long4 __ovld __cnfn convert_long4_rtp(half4);
   6148 long4 __ovld __cnfn convert_long4_rtn(half4);
   6149 long4 __ovld __cnfn convert_long4_rtz(half4);
   6150 long4 __ovld __cnfn convert_long4_sat(half4);
   6151 long4 __ovld __cnfn convert_long4_sat_rte(half4);
   6152 long4 __ovld __cnfn convert_long4_sat_rtp(half4);
   6153 long4 __ovld __cnfn convert_long4_sat_rtn(half4);
   6154 long4 __ovld __cnfn convert_long4_sat_rtz(half4);
   6155 long8 __ovld __cnfn convert_long8(half8);
   6156 long8 __ovld __cnfn convert_long8_rte(half8);
   6157 long8 __ovld __cnfn convert_long8_rtp(half8);
   6158 long8 __ovld __cnfn convert_long8_rtn(half8);
   6159 long8 __ovld __cnfn convert_long8_rtz(half8);
   6160 long8 __ovld __cnfn convert_long8_sat(half8);
   6161 long8 __ovld __cnfn convert_long8_sat_rte(half8);
   6162 long8 __ovld __cnfn convert_long8_sat_rtp(half8);
   6163 long8 __ovld __cnfn convert_long8_sat_rtn(half8);
   6164 long8 __ovld __cnfn convert_long8_sat_rtz(half8);
   6165 long16 __ovld __cnfn convert_long16(half16);
   6166 long16 __ovld __cnfn convert_long16_rte(half16);
   6167 long16 __ovld __cnfn convert_long16_rtp(half16);
   6168 long16 __ovld __cnfn convert_long16_rtn(half16);
   6169 long16 __ovld __cnfn convert_long16_rtz(half16);
   6170 long16 __ovld __cnfn convert_long16_sat(half16);
   6171 long16 __ovld __cnfn convert_long16_sat_rte(half16);
   6172 long16 __ovld __cnfn convert_long16_sat_rtp(half16);
   6173 long16 __ovld __cnfn convert_long16_sat_rtn(half16);
   6174 long16 __ovld __cnfn convert_long16_sat_rtz(half16);
   6175 float __ovld __cnfn convert_float(half);
   6176 float __ovld __cnfn convert_float_rte(half);
   6177 float __ovld __cnfn convert_float_rtp(half);
   6178 float __ovld __cnfn convert_float_rtn(half);
   6179 float __ovld __cnfn convert_float_rtz(half);
   6180 float2 __ovld __cnfn convert_float2(half2);
   6181 float2 __ovld __cnfn convert_float2_rte(half2);
   6182 float2 __ovld __cnfn convert_float2_rtp(half2);
   6183 float2 __ovld __cnfn convert_float2_rtn(half2);
   6184 float2 __ovld __cnfn convert_float2_rtz(half2);
   6185 float3 __ovld __cnfn convert_float3(half3);
   6186 float3 __ovld __cnfn convert_float3_rte(half3);
   6187 float3 __ovld __cnfn convert_float3_rtp(half3);
   6188 float3 __ovld __cnfn convert_float3_rtn(half3);
   6189 float3 __ovld __cnfn convert_float3_rtz(half3);
   6190 float4 __ovld __cnfn convert_float4(half4);
   6191 float4 __ovld __cnfn convert_float4_rte(half4);
   6192 float4 __ovld __cnfn convert_float4_rtp(half4);
   6193 float4 __ovld __cnfn convert_float4_rtn(half4);
   6194 float4 __ovld __cnfn convert_float4_rtz(half4);
   6195 float8 __ovld __cnfn convert_float8(half8);
   6196 float8 __ovld __cnfn convert_float8_rte(half8);
   6197 float8 __ovld __cnfn convert_float8_rtp(half8);
   6198 float8 __ovld __cnfn convert_float8_rtn(half8);
   6199 float8 __ovld __cnfn convert_float8_rtz(half8);
   6200 float16 __ovld __cnfn convert_float16(half16);
   6201 float16 __ovld __cnfn convert_float16_rte(half16);
   6202 float16 __ovld __cnfn convert_float16_rtp(half16);
   6203 float16 __ovld __cnfn convert_float16_rtn(half16);
   6204 float16 __ovld __cnfn convert_float16_rtz(half16);
   6205 
   6206 // Convert non-double types to half types.
   6207 half __ovld __cnfn convert_half(uchar);
   6208 half __ovld __cnfn convert_half(ushort);
   6209 half __ovld __cnfn convert_half(uint);
   6210 half __ovld __cnfn convert_half(ulong);
   6211 half __ovld __cnfn convert_half(char);
   6212 half __ovld __cnfn convert_half(short);
   6213 half __ovld __cnfn convert_half(int);
   6214 half __ovld __cnfn convert_half(long);
   6215 half __ovld __cnfn convert_half(float);
   6216 half __ovld __cnfn convert_half(half);
   6217 half __ovld __cnfn convert_half_rte(uchar);
   6218 half __ovld __cnfn convert_half_rte(ushort);
   6219 half __ovld __cnfn convert_half_rte(uint);
   6220 half __ovld __cnfn convert_half_rte(ulong);
   6221 half __ovld __cnfn convert_half_rte(char);
   6222 half __ovld __cnfn convert_half_rte(short);
   6223 half __ovld __cnfn convert_half_rte(int);
   6224 half __ovld __cnfn convert_half_rte(long);
   6225 half __ovld __cnfn convert_half_rte(float);
   6226 half __ovld __cnfn convert_half_rte(half);
   6227 half __ovld __cnfn convert_half_rtp(uchar);
   6228 half __ovld __cnfn convert_half_rtp(ushort);
   6229 half __ovld __cnfn convert_half_rtp(uint);
   6230 half __ovld __cnfn convert_half_rtp(ulong);
   6231 half __ovld __cnfn convert_half_rtp(char);
   6232 half __ovld __cnfn convert_half_rtp(short);
   6233 half __ovld __cnfn convert_half_rtp(int);
   6234 half __ovld __cnfn convert_half_rtp(long);
   6235 half __ovld __cnfn convert_half_rtp(float);
   6236 half __ovld __cnfn convert_half_rtp(half);
   6237 half __ovld __cnfn convert_half_rtn(uchar);
   6238 half __ovld __cnfn convert_half_rtn(ushort);
   6239 half __ovld __cnfn convert_half_rtn(uint);
   6240 half __ovld __cnfn convert_half_rtn(ulong);
   6241 half __ovld __cnfn convert_half_rtn(char);
   6242 half __ovld __cnfn convert_half_rtn(short);
   6243 half __ovld __cnfn convert_half_rtn(int);
   6244 half __ovld __cnfn convert_half_rtn(long);
   6245 half __ovld __cnfn convert_half_rtn(float);
   6246 half __ovld __cnfn convert_half_rtn(half);
   6247 half __ovld __cnfn convert_half_rtz(uchar);
   6248 half __ovld __cnfn convert_half_rtz(ushort);
   6249 half __ovld __cnfn convert_half_rtz(uint);
   6250 half __ovld __cnfn convert_half_rtz(ulong);
   6251 half __ovld __cnfn convert_half_rtz(char);
   6252 half __ovld __cnfn convert_half_rtz(short);
   6253 half __ovld __cnfn convert_half_rtz(int);
   6254 half __ovld __cnfn convert_half_rtz(long);
   6255 half __ovld __cnfn convert_half_rtz(float);
   6256 half __ovld __cnfn convert_half_rtz(half);
   6257 half2 __ovld __cnfn convert_half2(char2);
   6258 half2 __ovld __cnfn convert_half2(uchar2);
   6259 half2 __ovld __cnfn convert_half2(short2);
   6260 half2 __ovld __cnfn convert_half2(ushort2);
   6261 half2 __ovld __cnfn convert_half2(int2);
   6262 half2 __ovld __cnfn convert_half2(uint2);
   6263 half2 __ovld __cnfn convert_half2(long2);
   6264 half2 __ovld __cnfn convert_half2(ulong2);
   6265 half2 __ovld __cnfn convert_half2(float2);
   6266 half2 __ovld __cnfn convert_half2(half2);
   6267 half2 __ovld __cnfn convert_half2_rte(char2);
   6268 half2 __ovld __cnfn convert_half2_rte(uchar2);
   6269 half2 __ovld __cnfn convert_half2_rte(short2);
   6270 half2 __ovld __cnfn convert_half2_rte(ushort2);
   6271 half2 __ovld __cnfn convert_half2_rte(int2);
   6272 half2 __ovld __cnfn convert_half2_rte(uint2);
   6273 half2 __ovld __cnfn convert_half2_rte(long2);
   6274 half2 __ovld __cnfn convert_half2_rte(ulong2);
   6275 half2 __ovld __cnfn convert_half2_rte(float2);
   6276 half2 __ovld __cnfn convert_half2_rte(half2);
   6277 half2 __ovld __cnfn convert_half2_rtp(char2);
   6278 half2 __ovld __cnfn convert_half2_rtp(uchar2);
   6279 half2 __ovld __cnfn convert_half2_rtp(short2);
   6280 half2 __ovld __cnfn convert_half2_rtp(ushort2);
   6281 half2 __ovld __cnfn convert_half2_rtp(int2);
   6282 half2 __ovld __cnfn convert_half2_rtp(uint2);
   6283 half2 __ovld __cnfn convert_half2_rtp(long2);
   6284 half2 __ovld __cnfn convert_half2_rtp(ulong2);
   6285 half2 __ovld __cnfn convert_half2_rtp(float2);
   6286 half2 __ovld __cnfn convert_half2_rtp(half2);
   6287 half2 __ovld __cnfn convert_half2_rtn(char2);
   6288 half2 __ovld __cnfn convert_half2_rtn(uchar2);
   6289 half2 __ovld __cnfn convert_half2_rtn(short2);
   6290 half2 __ovld __cnfn convert_half2_rtn(ushort2);
   6291 half2 __ovld __cnfn convert_half2_rtn(int2);
   6292 half2 __ovld __cnfn convert_half2_rtn(uint2);
   6293 half2 __ovld __cnfn convert_half2_rtn(long2);
   6294 half2 __ovld __cnfn convert_half2_rtn(ulong2);
   6295 half2 __ovld __cnfn convert_half2_rtn(float2);
   6296 half2 __ovld __cnfn convert_half2_rtn(half2);
   6297 half2 __ovld __cnfn convert_half2_rtz(char2);
   6298 half2 __ovld __cnfn convert_half2_rtz(uchar2);
   6299 half2 __ovld __cnfn convert_half2_rtz(short2);
   6300 half2 __ovld __cnfn convert_half2_rtz(ushort2);
   6301 half2 __ovld __cnfn convert_half2_rtz(int2);
   6302 half2 __ovld __cnfn convert_half2_rtz(uint2);
   6303 half2 __ovld __cnfn convert_half2_rtz(long2);
   6304 half2 __ovld __cnfn convert_half2_rtz(ulong2);
   6305 half2 __ovld __cnfn convert_half2_rtz(float2);
   6306 half2 __ovld __cnfn convert_half2_rtz(half2);
   6307 half3 __ovld __cnfn convert_half3(char3);
   6308 half3 __ovld __cnfn convert_half3(uchar3);
   6309 half3 __ovld __cnfn convert_half3(short3);
   6310 half3 __ovld __cnfn convert_half3(ushort3);
   6311 half3 __ovld __cnfn convert_half3(int3);
   6312 half3 __ovld __cnfn convert_half3(uint3);
   6313 half3 __ovld __cnfn convert_half3(long3);
   6314 half3 __ovld __cnfn convert_half3(ulong3);
   6315 half3 __ovld __cnfn convert_half3(float3);
   6316 half3 __ovld __cnfn convert_half3(half3);
   6317 half3 __ovld __cnfn convert_half3_rte(char3);
   6318 half3 __ovld __cnfn convert_half3_rte(uchar3);
   6319 half3 __ovld __cnfn convert_half3_rte(short3);
   6320 half3 __ovld __cnfn convert_half3_rte(ushort3);
   6321 half3 __ovld __cnfn convert_half3_rte(int3);
   6322 half3 __ovld __cnfn convert_half3_rte(uint3);
   6323 half3 __ovld __cnfn convert_half3_rte(long3);
   6324 half3 __ovld __cnfn convert_half3_rte(ulong3);
   6325 half3 __ovld __cnfn convert_half3_rte(float3);
   6326 half3 __ovld __cnfn convert_half3_rte(half3);
   6327 half3 __ovld __cnfn convert_half3_rtp(char3);
   6328 half3 __ovld __cnfn convert_half3_rtp(uchar3);
   6329 half3 __ovld __cnfn convert_half3_rtp(short3);
   6330 half3 __ovld __cnfn convert_half3_rtp(ushort3);
   6331 half3 __ovld __cnfn convert_half3_rtp(int3);
   6332 half3 __ovld __cnfn convert_half3_rtp(uint3);
   6333 half3 __ovld __cnfn convert_half3_rtp(long3);
   6334 half3 __ovld __cnfn convert_half3_rtp(ulong3);
   6335 half3 __ovld __cnfn convert_half3_rtp(float3);
   6336 half3 __ovld __cnfn convert_half3_rtp(half3);
   6337 half3 __ovld __cnfn convert_half3_rtn(char3);
   6338 half3 __ovld __cnfn convert_half3_rtn(uchar3);
   6339 half3 __ovld __cnfn convert_half3_rtn(short3);
   6340 half3 __ovld __cnfn convert_half3_rtn(ushort3);
   6341 half3 __ovld __cnfn convert_half3_rtn(int3);
   6342 half3 __ovld __cnfn convert_half3_rtn(uint3);
   6343 half3 __ovld __cnfn convert_half3_rtn(long3);
   6344 half3 __ovld __cnfn convert_half3_rtn(ulong3);
   6345 half3 __ovld __cnfn convert_half3_rtn(float3);
   6346 half3 __ovld __cnfn convert_half3_rtn(half3);
   6347 half3 __ovld __cnfn convert_half3_rtz(char3);
   6348 half3 __ovld __cnfn convert_half3_rtz(uchar3);
   6349 half3 __ovld __cnfn convert_half3_rtz(short3);
   6350 half3 __ovld __cnfn convert_half3_rtz(ushort3);
   6351 half3 __ovld __cnfn convert_half3_rtz(int3);
   6352 half3 __ovld __cnfn convert_half3_rtz(uint3);
   6353 half3 __ovld __cnfn convert_half3_rtz(long3);
   6354 half3 __ovld __cnfn convert_half3_rtz(ulong3);
   6355 half3 __ovld __cnfn convert_half3_rtz(float3);
   6356 half3 __ovld __cnfn convert_half3_rtz(half3);
   6357 half4 __ovld __cnfn convert_half4(char4);
   6358 half4 __ovld __cnfn convert_half4(uchar4);
   6359 half4 __ovld __cnfn convert_half4(short4);
   6360 half4 __ovld __cnfn convert_half4(ushort4);
   6361 half4 __ovld __cnfn convert_half4(int4);
   6362 half4 __ovld __cnfn convert_half4(uint4);
   6363 half4 __ovld __cnfn convert_half4(long4);
   6364 half4 __ovld __cnfn convert_half4(ulong4);
   6365 half4 __ovld __cnfn convert_half4(float4);
   6366 half4 __ovld __cnfn convert_half4(half4);
   6367 half4 __ovld __cnfn convert_half4_rte(char4);
   6368 half4 __ovld __cnfn convert_half4_rte(uchar4);
   6369 half4 __ovld __cnfn convert_half4_rte(short4);
   6370 half4 __ovld __cnfn convert_half4_rte(ushort4);
   6371 half4 __ovld __cnfn convert_half4_rte(int4);
   6372 half4 __ovld __cnfn convert_half4_rte(uint4);
   6373 half4 __ovld __cnfn convert_half4_rte(long4);
   6374 half4 __ovld __cnfn convert_half4_rte(ulong4);
   6375 half4 __ovld __cnfn convert_half4_rte(float4);
   6376 half4 __ovld __cnfn convert_half4_rte(half4);
   6377 half4 __ovld __cnfn convert_half4_rtp(char4);
   6378 half4 __ovld __cnfn convert_half4_rtp(uchar4);
   6379 half4 __ovld __cnfn convert_half4_rtp(short4);
   6380 half4 __ovld __cnfn convert_half4_rtp(ushort4);
   6381 half4 __ovld __cnfn convert_half4_rtp(int4);
   6382 half4 __ovld __cnfn convert_half4_rtp(uint4);
   6383 half4 __ovld __cnfn convert_half4_rtp(long4);
   6384 half4 __ovld __cnfn convert_half4_rtp(ulong4);
   6385 half4 __ovld __cnfn convert_half4_rtp(float4);
   6386 half4 __ovld __cnfn convert_half4_rtp(half4);
   6387 half4 __ovld __cnfn convert_half4_rtn(char4);
   6388 half4 __ovld __cnfn convert_half4_rtn(uchar4);
   6389 half4 __ovld __cnfn convert_half4_rtn(short4);
   6390 half4 __ovld __cnfn convert_half4_rtn(ushort4);
   6391 half4 __ovld __cnfn convert_half4_rtn(int4);
   6392 half4 __ovld __cnfn convert_half4_rtn(uint4);
   6393 half4 __ovld __cnfn convert_half4_rtn(long4);
   6394 half4 __ovld __cnfn convert_half4_rtn(ulong4);
   6395 half4 __ovld __cnfn convert_half4_rtn(float4);
   6396 half4 __ovld __cnfn convert_half4_rtn(half4);
   6397 half4 __ovld __cnfn convert_half4_rtz(char4);
   6398 half4 __ovld __cnfn convert_half4_rtz(uchar4);
   6399 half4 __ovld __cnfn convert_half4_rtz(short4);
   6400 half4 __ovld __cnfn convert_half4_rtz(ushort4);
   6401 half4 __ovld __cnfn convert_half4_rtz(int4);
   6402 half4 __ovld __cnfn convert_half4_rtz(uint4);
   6403 half4 __ovld __cnfn convert_half4_rtz(long4);
   6404 half4 __ovld __cnfn convert_half4_rtz(ulong4);
   6405 half4 __ovld __cnfn convert_half4_rtz(float4);
   6406 half4 __ovld __cnfn convert_half4_rtz(half4);
   6407 half8 __ovld __cnfn convert_half8(char8);
   6408 half8 __ovld __cnfn convert_half8(uchar8);
   6409 half8 __ovld __cnfn convert_half8(short8);
   6410 half8 __ovld __cnfn convert_half8(ushort8);
   6411 half8 __ovld __cnfn convert_half8(int8);
   6412 half8 __ovld __cnfn convert_half8(uint8);
   6413 half8 __ovld __cnfn convert_half8(long8);
   6414 half8 __ovld __cnfn convert_half8(ulong8);
   6415 half8 __ovld __cnfn convert_half8(float8);
   6416 half8 __ovld __cnfn convert_half8(half8);
   6417 half8 __ovld __cnfn convert_half8_rte(char8);
   6418 half8 __ovld __cnfn convert_half8_rte(uchar8);
   6419 half8 __ovld __cnfn convert_half8_rte(short8);
   6420 half8 __ovld __cnfn convert_half8_rte(ushort8);
   6421 half8 __ovld __cnfn convert_half8_rte(int8);
   6422 half8 __ovld __cnfn convert_half8_rte(uint8);
   6423 half8 __ovld __cnfn convert_half8_rte(long8);
   6424 half8 __ovld __cnfn convert_half8_rte(ulong8);
   6425 half8 __ovld __cnfn convert_half8_rte(float8);
   6426 half8 __ovld __cnfn convert_half8_rte(half8);
   6427 half8 __ovld __cnfn convert_half8_rtp(char8);
   6428 half8 __ovld __cnfn convert_half8_rtp(uchar8);
   6429 half8 __ovld __cnfn convert_half8_rtp(short8);
   6430 half8 __ovld __cnfn convert_half8_rtp(ushort8);
   6431 half8 __ovld __cnfn convert_half8_rtp(int8);
   6432 half8 __ovld __cnfn convert_half8_rtp(uint8);
   6433 half8 __ovld __cnfn convert_half8_rtp(long8);
   6434 half8 __ovld __cnfn convert_half8_rtp(ulong8);
   6435 half8 __ovld __cnfn convert_half8_rtp(float8);
   6436 half8 __ovld __cnfn convert_half8_rtp(half8);
   6437 half8 __ovld __cnfn convert_half8_rtn(char8);
   6438 half8 __ovld __cnfn convert_half8_rtn(uchar8);
   6439 half8 __ovld __cnfn convert_half8_rtn(short8);
   6440 half8 __ovld __cnfn convert_half8_rtn(ushort8);
   6441 half8 __ovld __cnfn convert_half8_rtn(int8);
   6442 half8 __ovld __cnfn convert_half8_rtn(uint8);
   6443 half8 __ovld __cnfn convert_half8_rtn(long8);
   6444 half8 __ovld __cnfn convert_half8_rtn(ulong8);
   6445 half8 __ovld __cnfn convert_half8_rtn(float8);
   6446 half8 __ovld __cnfn convert_half8_rtn(half8);
   6447 half8 __ovld __cnfn convert_half8_rtz(char8);
   6448 half8 __ovld __cnfn convert_half8_rtz(uchar8);
   6449 half8 __ovld __cnfn convert_half8_rtz(short8);
   6450 half8 __ovld __cnfn convert_half8_rtz(ushort8);
   6451 half8 __ovld __cnfn convert_half8_rtz(int8);
   6452 half8 __ovld __cnfn convert_half8_rtz(uint8);
   6453 half8 __ovld __cnfn convert_half8_rtz(long8);
   6454 half8 __ovld __cnfn convert_half8_rtz(ulong8);
   6455 half8 __ovld __cnfn convert_half8_rtz(float8);
   6456 half8 __ovld __cnfn convert_half8_rtz(half8);
   6457 half16 __ovld __cnfn convert_half16(char16);
   6458 half16 __ovld __cnfn convert_half16(uchar16);
   6459 half16 __ovld __cnfn convert_half16(short16);
   6460 half16 __ovld __cnfn convert_half16(ushort16);
   6461 half16 __ovld __cnfn convert_half16(int16);
   6462 half16 __ovld __cnfn convert_half16(uint16);
   6463 half16 __ovld __cnfn convert_half16(long16);
   6464 half16 __ovld __cnfn convert_half16(ulong16);
   6465 half16 __ovld __cnfn convert_half16(float16);
   6466 half16 __ovld __cnfn convert_half16(half16);
   6467 half16 __ovld __cnfn convert_half16_rte(char16);
   6468 half16 __ovld __cnfn convert_half16_rte(uchar16);
   6469 half16 __ovld __cnfn convert_half16_rte(short16);
   6470 half16 __ovld __cnfn convert_half16_rte(ushort16);
   6471 half16 __ovld __cnfn convert_half16_rte(int16);
   6472 half16 __ovld __cnfn convert_half16_rte(uint16);
   6473 half16 __ovld __cnfn convert_half16_rte(long16);
   6474 half16 __ovld __cnfn convert_half16_rte(ulong16);
   6475 half16 __ovld __cnfn convert_half16_rte(float16);
   6476 half16 __ovld __cnfn convert_half16_rte(half16);
   6477 half16 __ovld __cnfn convert_half16_rtp(char16);
   6478 half16 __ovld __cnfn convert_half16_rtp(uchar16);
   6479 half16 __ovld __cnfn convert_half16_rtp(short16);
   6480 half16 __ovld __cnfn convert_half16_rtp(ushort16);
   6481 half16 __ovld __cnfn convert_half16_rtp(int16);
   6482 half16 __ovld __cnfn convert_half16_rtp(uint16);
   6483 half16 __ovld __cnfn convert_half16_rtp(long16);
   6484 half16 __ovld __cnfn convert_half16_rtp(ulong16);
   6485 half16 __ovld __cnfn convert_half16_rtp(float16);
   6486 half16 __ovld __cnfn convert_half16_rtp(half16);
   6487 half16 __ovld __cnfn convert_half16_rtn(char16);
   6488 half16 __ovld __cnfn convert_half16_rtn(uchar16);
   6489 half16 __ovld __cnfn convert_half16_rtn(short16);
   6490 half16 __ovld __cnfn convert_half16_rtn(ushort16);
   6491 half16 __ovld __cnfn convert_half16_rtn(int16);
   6492 half16 __ovld __cnfn convert_half16_rtn(uint16);
   6493 half16 __ovld __cnfn convert_half16_rtn(long16);
   6494 half16 __ovld __cnfn convert_half16_rtn(ulong16);
   6495 half16 __ovld __cnfn convert_half16_rtn(float16);
   6496 half16 __ovld __cnfn convert_half16_rtn(half16);
   6497 half16 __ovld __cnfn convert_half16_rtz(char16);
   6498 half16 __ovld __cnfn convert_half16_rtz(uchar16);
   6499 half16 __ovld __cnfn convert_half16_rtz(short16);
   6500 half16 __ovld __cnfn convert_half16_rtz(ushort16);
   6501 half16 __ovld __cnfn convert_half16_rtz(int16);
   6502 half16 __ovld __cnfn convert_half16_rtz(uint16);
   6503 half16 __ovld __cnfn convert_half16_rtz(long16);
   6504 half16 __ovld __cnfn convert_half16_rtz(ulong16);
   6505 half16 __ovld __cnfn convert_half16_rtz(float16);
   6506 half16 __ovld __cnfn convert_half16_rtz(half16);
   6507 
   6508 // Convert half types to double types.
   6509 #ifdef cl_khr_fp64
   6510 double __ovld __cnfn convert_double(half);
   6511 double __ovld __cnfn convert_double_rte(half);
   6512 double __ovld __cnfn convert_double_rtp(half);
   6513 double __ovld __cnfn convert_double_rtn(half);
   6514 double __ovld __cnfn convert_double_rtz(half);
   6515 double2 __ovld __cnfn convert_double2(half2);
   6516 double2 __ovld __cnfn convert_double2_rte(half2);
   6517 double2 __ovld __cnfn convert_double2_rtp(half2);
   6518 double2 __ovld __cnfn convert_double2_rtn(half2);
   6519 double2 __ovld __cnfn convert_double2_rtz(half2);
   6520 double3 __ovld __cnfn convert_double3(half3);
   6521 double3 __ovld __cnfn convert_double3_rte(half3);
   6522 double3 __ovld __cnfn convert_double3_rtp(half3);
   6523 double3 __ovld __cnfn convert_double3_rtn(half3);
   6524 double3 __ovld __cnfn convert_double3_rtz(half3);
   6525 double4 __ovld __cnfn convert_double4(half4);
   6526 double4 __ovld __cnfn convert_double4_rte(half4);
   6527 double4 __ovld __cnfn convert_double4_rtp(half4);
   6528 double4 __ovld __cnfn convert_double4_rtn(half4);
   6529 double4 __ovld __cnfn convert_double4_rtz(half4);
   6530 double8 __ovld __cnfn convert_double8(half8);
   6531 double8 __ovld __cnfn convert_double8_rte(half8);
   6532 double8 __ovld __cnfn convert_double8_rtp(half8);
   6533 double8 __ovld __cnfn convert_double8_rtn(half8);
   6534 double8 __ovld __cnfn convert_double8_rtz(half8);
   6535 double16 __ovld __cnfn convert_double16(half16);
   6536 double16 __ovld __cnfn convert_double16_rte(half16);
   6537 double16 __ovld __cnfn convert_double16_rtp(half16);
   6538 double16 __ovld __cnfn convert_double16_rtn(half16);
   6539 double16 __ovld __cnfn convert_double16_rtz(half16);
   6540 
   6541 // Convert double types to half types.
   6542 half __ovld __cnfn convert_half(double);
   6543 half __ovld __cnfn convert_half_rte(double);
   6544 half __ovld __cnfn convert_half_rtp(double);
   6545 half __ovld __cnfn convert_half_rtn(double);
   6546 half __ovld __cnfn convert_half_rtz(double);
   6547 half2 __ovld __cnfn convert_half2(double2);
   6548 half2 __ovld __cnfn convert_half2_rte(double2);
   6549 half2 __ovld __cnfn convert_half2_rtp(double2);
   6550 half2 __ovld __cnfn convert_half2_rtn(double2);
   6551 half2 __ovld __cnfn convert_half2_rtz(double2);
   6552 half3 __ovld __cnfn convert_half3(double3);
   6553 half3 __ovld __cnfn convert_half3_rte(double3);
   6554 half3 __ovld __cnfn convert_half3_rtp(double3);
   6555 half3 __ovld __cnfn convert_half3_rtn(double3);
   6556 half3 __ovld __cnfn convert_half3_rtz(double3);
   6557 half4 __ovld __cnfn convert_half4(double4);
   6558 half4 __ovld __cnfn convert_half4_rte(double4);
   6559 half4 __ovld __cnfn convert_half4_rtp(double4);
   6560 half4 __ovld __cnfn convert_half4_rtn(double4);
   6561 half4 __ovld __cnfn convert_half4_rtz(double4);
   6562 half8 __ovld __cnfn convert_half8(double8);
   6563 half8 __ovld __cnfn convert_half8_rte(double8);
   6564 half8 __ovld __cnfn convert_half8_rtp(double8);
   6565 half8 __ovld __cnfn convert_half8_rtn(double8);
   6566 half8 __ovld __cnfn convert_half8_rtz(double8);
   6567 half16 __ovld __cnfn convert_half16(double16);
   6568 half16 __ovld __cnfn convert_half16_rte(double16);
   6569 half16 __ovld __cnfn convert_half16_rtp(double16);
   6570 half16 __ovld __cnfn convert_half16_rtn(double16);
   6571 half16 __ovld __cnfn convert_half16_rtz(double16);
   6572 #endif //cl_khr_fp64
   6573 
   6574 #endif // cl_khr_fp16
   6575 
   6576 /**
   6577  * OpenCL v1.1/1.2/2.0 s6.2.4.2 - as_type operators
   6578  * Reinterprets a data type as another data type of the same size
   6579  */
   6580 char __ovld __cnfn as_char(char);
   6581 char __ovld __cnfn as_char(uchar);
   6582 
   6583 char2 __ovld __cnfn as_char2(char2);
   6584 char2 __ovld __cnfn as_char2(uchar2);
   6585 char2 __ovld __cnfn as_char2(short);
   6586 char2 __ovld __cnfn as_char2(ushort);
   6587 
   6588 char3 __ovld __cnfn as_char3(char3);
   6589 char3 __ovld __cnfn as_char3(char4);
   6590 char3 __ovld __cnfn as_char3(uchar3);
   6591 char3 __ovld __cnfn as_char3(uchar4);
   6592 char3 __ovld __cnfn as_char3(short2);
   6593 char3 __ovld __cnfn as_char3(ushort2);
   6594 char3 __ovld __cnfn as_char3(int);
   6595 char3 __ovld __cnfn as_char3(uint);
   6596 char3 __ovld __cnfn as_char3(float);
   6597 
   6598 char4 __ovld __cnfn as_char4(char3);
   6599 char4 __ovld __cnfn as_char4(char4);
   6600 char4 __ovld __cnfn as_char4(uchar3);
   6601 char4 __ovld __cnfn as_char4(uchar4);
   6602 char4 __ovld __cnfn as_char4(short2);
   6603 char4 __ovld __cnfn as_char4(ushort2);
   6604 char4 __ovld __cnfn as_char4(int);
   6605 char4 __ovld __cnfn as_char4(uint);
   6606 char4 __ovld __cnfn as_char4(float);
   6607 
   6608 char8 __ovld __cnfn as_char8(char8);
   6609 char8 __ovld __cnfn as_char8(uchar8);
   6610 char8 __ovld __cnfn as_char8(short3);
   6611 char8 __ovld __cnfn as_char8(short4);
   6612 char8 __ovld __cnfn as_char8(ushort3);
   6613 char8 __ovld __cnfn as_char8(ushort4);
   6614 char8 __ovld __cnfn as_char8(int2);
   6615 char8 __ovld __cnfn as_char8(uint2);
   6616 char8 __ovld __cnfn as_char8(long);
   6617 char8 __ovld __cnfn as_char8(ulong);
   6618 char8 __ovld __cnfn as_char8(float2);
   6619 
   6620 char16 __ovld __cnfn as_char16(char16);
   6621 char16 __ovld __cnfn as_char16(uchar16);
   6622 char16 __ovld __cnfn as_char16(short8);
   6623 char16 __ovld __cnfn as_char16(ushort8);
   6624 char16 __ovld __cnfn as_char16(int3);
   6625 char16 __ovld __cnfn as_char16(int4);
   6626 char16 __ovld __cnfn as_char16(uint3);
   6627 char16 __ovld __cnfn as_char16(uint4);
   6628 char16 __ovld __cnfn as_char16(long2);
   6629 char16 __ovld __cnfn as_char16(ulong2);
   6630 char16 __ovld __cnfn as_char16(float3);
   6631 char16 __ovld __cnfn as_char16(float4);
   6632 
   6633 uchar __ovld __cnfn as_uchar(char);
   6634 uchar __ovld __cnfn as_uchar(uchar);
   6635 
   6636 uchar2 __ovld __cnfn as_uchar2(char2);
   6637 uchar2 __ovld __cnfn as_uchar2(uchar2);
   6638 uchar2 __ovld __cnfn as_uchar2(short);
   6639 uchar2 __ovld __cnfn as_uchar2(ushort);
   6640 
   6641 uchar3 __ovld __cnfn as_uchar3(char3);
   6642 uchar3 __ovld __cnfn as_uchar3(char4);
   6643 uchar3 __ovld __cnfn as_uchar3(uchar3);
   6644 uchar3 __ovld __cnfn as_uchar3(uchar4);
   6645 uchar3 __ovld __cnfn as_uchar3(short2);
   6646 uchar3 __ovld __cnfn as_uchar3(ushort2);
   6647 uchar3 __ovld __cnfn as_uchar3(int);
   6648 uchar3 __ovld __cnfn as_uchar3(uint);
   6649 uchar3 __ovld __cnfn as_uchar3(float);
   6650 
   6651 uchar4 __ovld __cnfn as_uchar4(char3);
   6652 uchar4 __ovld __cnfn as_uchar4(char4);
   6653 uchar4 __ovld __cnfn as_uchar4(uchar3);
   6654 uchar4 __ovld __cnfn as_uchar4(uchar4);
   6655 uchar4 __ovld __cnfn as_uchar4(short2);
   6656 uchar4 __ovld __cnfn as_uchar4(ushort2);
   6657 uchar4 __ovld __cnfn as_uchar4(int);
   6658 uchar4 __ovld __cnfn as_uchar4(uint);
   6659 uchar4 __ovld __cnfn as_uchar4(float);
   6660 
   6661 uchar8 __ovld __cnfn as_uchar8(char8);
   6662 uchar8 __ovld __cnfn as_uchar8(uchar8);
   6663 uchar8 __ovld __cnfn as_uchar8(short3);
   6664 uchar8 __ovld __cnfn as_uchar8(short4);
   6665 uchar8 __ovld __cnfn as_uchar8(ushort3);
   6666 uchar8 __ovld __cnfn as_uchar8(ushort4);
   6667 uchar8 __ovld __cnfn as_uchar8(int2);
   6668 uchar8 __ovld __cnfn as_uchar8(uint2);
   6669 uchar8 __ovld __cnfn as_uchar8(long);
   6670 uchar8 __ovld __cnfn as_uchar8(ulong);
   6671 uchar8 __ovld __cnfn as_uchar8(float2);
   6672 
   6673 uchar16 __ovld __cnfn as_uchar16(char16);
   6674 uchar16 __ovld __cnfn as_uchar16(uchar16);
   6675 uchar16 __ovld __cnfn as_uchar16(short8);
   6676 uchar16 __ovld __cnfn as_uchar16(ushort8);
   6677 uchar16 __ovld __cnfn as_uchar16(int3);
   6678 uchar16 __ovld __cnfn as_uchar16(int4);
   6679 uchar16 __ovld __cnfn as_uchar16(uint3);
   6680 uchar16 __ovld __cnfn as_uchar16(uint4);
   6681 uchar16 __ovld __cnfn as_uchar16(long2);
   6682 uchar16 __ovld __cnfn as_uchar16(ulong2);
   6683 uchar16 __ovld __cnfn as_uchar16(float3);
   6684 uchar16 __ovld __cnfn as_uchar16(float4);
   6685 
   6686 short __ovld __cnfn as_short(char2);
   6687 short __ovld __cnfn as_short(uchar2);
   6688 short __ovld __cnfn as_short(short);
   6689 short __ovld __cnfn as_short(ushort);
   6690 
   6691 short2 __ovld __cnfn as_short2(char3);
   6692 short2 __ovld __cnfn as_short2(char4);
   6693 short2 __ovld __cnfn as_short2(uchar3);
   6694 short2 __ovld __cnfn as_short2(uchar4);
   6695 short2 __ovld __cnfn as_short2(short2);
   6696 short2 __ovld __cnfn as_short2(ushort2);
   6697 short2 __ovld __cnfn as_short2(int);
   6698 short2 __ovld __cnfn as_short2(uint);
   6699 short2 __ovld __cnfn as_short2(float);
   6700 
   6701 short3 __ovld __cnfn as_short3(char8);
   6702 short3 __ovld __cnfn as_short3(uchar8);
   6703 short3 __ovld __cnfn as_short3(short3);
   6704 short3 __ovld __cnfn as_short3(short4);
   6705 short3 __ovld __cnfn as_short3(ushort3);
   6706 short3 __ovld __cnfn as_short3(ushort4);
   6707 short3 __ovld __cnfn as_short3(int2);
   6708 short3 __ovld __cnfn as_short3(uint2);
   6709 short3 __ovld __cnfn as_short3(long);
   6710 short3 __ovld __cnfn as_short3(ulong);
   6711 short3 __ovld __cnfn as_short3(float2);
   6712 
   6713 short4 __ovld __cnfn as_short4(char8);
   6714 short4 __ovld __cnfn as_short4(uchar8);
   6715 short4 __ovld __cnfn as_short4(short3);
   6716 short4 __ovld __cnfn as_short4(short4);
   6717 short4 __ovld __cnfn as_short4(ushort3);
   6718 short4 __ovld __cnfn as_short4(ushort4);
   6719 short4 __ovld __cnfn as_short4(int2);
   6720 short4 __ovld __cnfn as_short4(uint2);
   6721 short4 __ovld __cnfn as_short4(long);
   6722 short4 __ovld __cnfn as_short4(ulong);
   6723 short4 __ovld __cnfn as_short4(float2);
   6724 
   6725 short8 __ovld __cnfn as_short8(char16);
   6726 short8 __ovld __cnfn as_short8(uchar16);
   6727 short8 __ovld __cnfn as_short8(short8);
   6728 short8 __ovld __cnfn as_short8(ushort8);
   6729 short8 __ovld __cnfn as_short8(int3);
   6730 short8 __ovld __cnfn as_short8(int4);
   6731 short8 __ovld __cnfn as_short8(uint3);
   6732 short8 __ovld __cnfn as_short8(uint4);
   6733 short8 __ovld __cnfn as_short8(long2);
   6734 short8 __ovld __cnfn as_short8(ulong2);
   6735 short8 __ovld __cnfn as_short8(float3);
   6736 short8 __ovld __cnfn as_short8(float4);
   6737 
   6738 short16 __ovld __cnfn as_short16(short16);
   6739 short16 __ovld __cnfn as_short16(ushort16);
   6740 short16 __ovld __cnfn as_short16(int8);
   6741 short16 __ovld __cnfn as_short16(uint8);
   6742 short16 __ovld __cnfn as_short16(long3);
   6743 short16 __ovld __cnfn as_short16(long4);
   6744 short16 __ovld __cnfn as_short16(ulong3);
   6745 short16 __ovld __cnfn as_short16(ulong4);
   6746 short16 __ovld __cnfn as_short16(float8);
   6747 
   6748 ushort __ovld __cnfn as_ushort(char2);
   6749 ushort __ovld __cnfn as_ushort(uchar2);
   6750 ushort __ovld __cnfn as_ushort(short);
   6751 ushort __ovld __cnfn as_ushort(ushort);
   6752 
   6753 ushort2 __ovld __cnfn as_ushort2(char3);
   6754 ushort2 __ovld __cnfn as_ushort2(char4);
   6755 ushort2 __ovld __cnfn as_ushort2(uchar3);
   6756 ushort2 __ovld __cnfn as_ushort2(uchar4);
   6757 ushort2 __ovld __cnfn as_ushort2(short2);
   6758 ushort2 __ovld __cnfn as_ushort2(ushort2);
   6759 ushort2 __ovld __cnfn as_ushort2(int);
   6760 ushort2 __ovld __cnfn as_ushort2(uint);
   6761 ushort2 __ovld __cnfn as_ushort2(float);
   6762 
   6763 ushort3 __ovld __cnfn as_ushort3(char8);
   6764 ushort3 __ovld __cnfn as_ushort3(uchar8);
   6765 ushort3 __ovld __cnfn as_ushort3(short3);
   6766 ushort3 __ovld __cnfn as_ushort3(short4);
   6767 ushort3 __ovld __cnfn as_ushort3(ushort3);
   6768 ushort3 __ovld __cnfn as_ushort3(ushort4);
   6769 ushort3 __ovld __cnfn as_ushort3(int2);
   6770 ushort3 __ovld __cnfn as_ushort3(uint2);
   6771 ushort3 __ovld __cnfn as_ushort3(long);
   6772 ushort3 __ovld __cnfn as_ushort3(ulong);
   6773 ushort3 __ovld __cnfn as_ushort3(float2);
   6774 
   6775 ushort4 __ovld __cnfn as_ushort4(char8);
   6776 ushort4 __ovld __cnfn as_ushort4(uchar8);
   6777 ushort4 __ovld __cnfn as_ushort4(short3);
   6778 ushort4 __ovld __cnfn as_ushort4(short4);
   6779 ushort4 __ovld __cnfn as_ushort4(ushort3);
   6780 ushort4 __ovld __cnfn as_ushort4(ushort4);
   6781 ushort4 __ovld __cnfn as_ushort4(int2);
   6782 ushort4 __ovld __cnfn as_ushort4(uint2);
   6783 ushort4 __ovld __cnfn as_ushort4(long);
   6784 ushort4 __ovld __cnfn as_ushort4(ulong);
   6785 ushort4 __ovld __cnfn as_ushort4(float2);
   6786 
   6787 ushort8 __ovld __cnfn as_ushort8(char16);
   6788 ushort8 __ovld __cnfn as_ushort8(uchar16);
   6789 ushort8 __ovld __cnfn as_ushort8(short8);
   6790 ushort8 __ovld __cnfn as_ushort8(ushort8);
   6791 ushort8 __ovld __cnfn as_ushort8(int3);
   6792 ushort8 __ovld __cnfn as_ushort8(int4);
   6793 ushort8 __ovld __cnfn as_ushort8(uint3);
   6794 ushort8 __ovld __cnfn as_ushort8(uint4);
   6795 ushort8 __ovld __cnfn as_ushort8(long2);
   6796 ushort8 __ovld __cnfn as_ushort8(ulong2);
   6797 ushort8 __ovld __cnfn as_ushort8(float3);
   6798 ushort8 __ovld __cnfn as_ushort8(float4);
   6799 
   6800 ushort16 __ovld __cnfn as_ushort16(short16);
   6801 ushort16 __ovld __cnfn as_ushort16(ushort16);
   6802 ushort16 __ovld __cnfn as_ushort16(int8);
   6803 ushort16 __ovld __cnfn as_ushort16(uint8);
   6804 ushort16 __ovld __cnfn as_ushort16(long3);
   6805 ushort16 __ovld __cnfn as_ushort16(long4);
   6806 ushort16 __ovld __cnfn as_ushort16(ulong3);
   6807 ushort16 __ovld __cnfn as_ushort16(ulong4);
   6808 ushort16 __ovld __cnfn as_ushort16(float8);
   6809 
   6810 int __ovld __cnfn as_int(char3);
   6811 int __ovld __cnfn as_int(char4);
   6812 int __ovld __cnfn as_int(uchar3);
   6813 int __ovld __cnfn as_int(uchar4);
   6814 int __ovld __cnfn as_int(short2);
   6815 int __ovld __cnfn as_int(ushort2);
   6816 int __ovld __cnfn as_int(int);
   6817 int __ovld __cnfn as_int(uint);
   6818 int __ovld __cnfn as_int(float);
   6819 
   6820 int2 __ovld __cnfn as_int2(char8);
   6821 int2 __ovld __cnfn as_int2(uchar8);
   6822 int2 __ovld __cnfn as_int2(short3);
   6823 int2 __ovld __cnfn as_int2(short4);
   6824 int2 __ovld __cnfn as_int2(ushort3);
   6825 int2 __ovld __cnfn as_int2(ushort4);
   6826 int2 __ovld __cnfn as_int2(int2);
   6827 int2 __ovld __cnfn as_int2(uint2);
   6828 int2 __ovld __cnfn as_int2(long);
   6829 int2 __ovld __cnfn as_int2(ulong);
   6830 int2 __ovld __cnfn as_int2(float2);
   6831 
   6832 int3 __ovld __cnfn as_int3(char16);
   6833 int3 __ovld __cnfn as_int3(uchar16);
   6834 int3 __ovld __cnfn as_int3(short8);
   6835 int3 __ovld __cnfn as_int3(ushort8);
   6836 int3 __ovld __cnfn as_int3(int3);
   6837 int3 __ovld __cnfn as_int3(int4);
   6838 int3 __ovld __cnfn as_int3(uint3);
   6839 int3 __ovld __cnfn as_int3(uint4);
   6840 int3 __ovld __cnfn as_int3(long2);
   6841 int3 __ovld __cnfn as_int3(ulong2);
   6842 int3 __ovld __cnfn as_int3(float3);
   6843 int3 __ovld __cnfn as_int3(float4);
   6844 
   6845 int4 __ovld __cnfn as_int4(char16);
   6846 int4 __ovld __cnfn as_int4(uchar16);
   6847 int4 __ovld __cnfn as_int4(short8);
   6848 int4 __ovld __cnfn as_int4(ushort8);
   6849 int4 __ovld __cnfn as_int4(int3);
   6850 int4 __ovld __cnfn as_int4(int4);
   6851 int4 __ovld __cnfn as_int4(uint3);
   6852 int4 __ovld __cnfn as_int4(uint4);
   6853 int4 __ovld __cnfn as_int4(long2);
   6854 int4 __ovld __cnfn as_int4(ulong2);
   6855 int4 __ovld __cnfn as_int4(float3);
   6856 int4 __ovld __cnfn as_int4(float4);
   6857 
   6858 int8 __ovld __cnfn as_int8(short16);
   6859 int8 __ovld __cnfn as_int8(ushort16);
   6860 int8 __ovld __cnfn as_int8(int8);
   6861 int8 __ovld __cnfn as_int8(uint8);
   6862 int8 __ovld __cnfn as_int8(long3);
   6863 int8 __ovld __cnfn as_int8(long4);
   6864 int8 __ovld __cnfn as_int8(ulong3);
   6865 int8 __ovld __cnfn as_int8(ulong4);
   6866 int8 __ovld __cnfn as_int8(float8);
   6867 
   6868 int16 __ovld __cnfn as_int16(int16);
   6869 int16 __ovld __cnfn as_int16(uint16);
   6870 int16 __ovld __cnfn as_int16(long8);
   6871 int16 __ovld __cnfn as_int16(ulong8);
   6872 int16 __ovld __cnfn as_int16(float16);
   6873 
   6874 uint __ovld __cnfn as_uint(char3);
   6875 uint __ovld __cnfn as_uint(char4);
   6876 uint __ovld __cnfn as_uint(uchar3);
   6877 uint __ovld __cnfn as_uint(uchar4);
   6878 uint __ovld __cnfn as_uint(short2);
   6879 uint __ovld __cnfn as_uint(ushort2);
   6880 uint __ovld __cnfn as_uint(int);
   6881 uint __ovld __cnfn as_uint(uint);
   6882 uint __ovld __cnfn as_uint(float);
   6883 
   6884 uint2 __ovld __cnfn as_uint2(char8);
   6885 uint2 __ovld __cnfn as_uint2(uchar8);
   6886 uint2 __ovld __cnfn as_uint2(short3);
   6887 uint2 __ovld __cnfn as_uint2(short4);
   6888 uint2 __ovld __cnfn as_uint2(ushort3);
   6889 uint2 __ovld __cnfn as_uint2(ushort4);
   6890 uint2 __ovld __cnfn as_uint2(int2);
   6891 uint2 __ovld __cnfn as_uint2(uint2);
   6892 uint2 __ovld __cnfn as_uint2(long);
   6893 uint2 __ovld __cnfn as_uint2(ulong);
   6894 uint2 __ovld __cnfn as_uint2(float2);
   6895 
   6896 uint3 __ovld __cnfn as_uint3(char16);
   6897 uint3 __ovld __cnfn as_uint3(uchar16);
   6898 uint3 __ovld __cnfn as_uint3(short8);
   6899 uint3 __ovld __cnfn as_uint3(ushort8);
   6900 uint3 __ovld __cnfn as_uint3(int3);
   6901 uint3 __ovld __cnfn as_uint3(int4);
   6902 uint3 __ovld __cnfn as_uint3(uint3);
   6903 uint3 __ovld __cnfn as_uint3(uint4);
   6904 uint3 __ovld __cnfn as_uint3(long2);
   6905 uint3 __ovld __cnfn as_uint3(ulong2);
   6906 uint3 __ovld __cnfn as_uint3(float3);
   6907 uint3 __ovld __cnfn as_uint3(float4);
   6908 
   6909 uint4 __ovld __cnfn as_uint4(char16);
   6910 uint4 __ovld __cnfn as_uint4(uchar16);
   6911 uint4 __ovld __cnfn as_uint4(short8);
   6912 uint4 __ovld __cnfn as_uint4(ushort8);
   6913 uint4 __ovld __cnfn as_uint4(int3);
   6914 uint4 __ovld __cnfn as_uint4(int4);
   6915 uint4 __ovld __cnfn as_uint4(uint3);
   6916 uint4 __ovld __cnfn as_uint4(uint4);
   6917 uint4 __ovld __cnfn as_uint4(long2);
   6918 uint4 __ovld __cnfn as_uint4(ulong2);
   6919 uint4 __ovld __cnfn as_uint4(float3);
   6920 uint4 __ovld __cnfn as_uint4(float4);
   6921 
   6922 uint8 __ovld __cnfn as_uint8(short16);
   6923 uint8 __ovld __cnfn as_uint8(ushort16);
   6924 uint8 __ovld __cnfn as_uint8(int8);
   6925 uint8 __ovld __cnfn as_uint8(uint8);
   6926 uint8 __ovld __cnfn as_uint8(long3);
   6927 uint8 __ovld __cnfn as_uint8(long4);
   6928 uint8 __ovld __cnfn as_uint8(ulong3);
   6929 uint8 __ovld __cnfn as_uint8(ulong4);
   6930 uint8 __ovld __cnfn as_uint8(float8);
   6931 
   6932 uint16 __ovld __cnfn as_uint16(int16);
   6933 uint16 __ovld __cnfn as_uint16(uint16);
   6934 uint16 __ovld __cnfn as_uint16(long8);
   6935 uint16 __ovld __cnfn as_uint16(ulong8);
   6936 uint16 __ovld __cnfn as_uint16(float16);
   6937 
   6938 long __ovld __cnfn as_long(char8);
   6939 long __ovld __cnfn as_long(uchar8);
   6940 long __ovld __cnfn as_long(short3);
   6941 long __ovld __cnfn as_long(short4);
   6942 long __ovld __cnfn as_long(ushort3);
   6943 long __ovld __cnfn as_long(ushort4);
   6944 long __ovld __cnfn as_long(int2);
   6945 long __ovld __cnfn as_long(uint2);
   6946 long __ovld __cnfn as_long(long);
   6947 long __ovld __cnfn as_long(ulong);
   6948 long __ovld __cnfn as_long(float2);
   6949 
   6950 long2 __ovld __cnfn as_long2(char16);
   6951 long2 __ovld __cnfn as_long2(uchar16);
   6952 long2 __ovld __cnfn as_long2(short8);
   6953 long2 __ovld __cnfn as_long2(ushort8);
   6954 long2 __ovld __cnfn as_long2(int3);
   6955 long2 __ovld __cnfn as_long2(int4);
   6956 long2 __ovld __cnfn as_long2(uint3);
   6957 long2 __ovld __cnfn as_long2(uint4);
   6958 long2 __ovld __cnfn as_long2(long2);
   6959 long2 __ovld __cnfn as_long2(ulong2);
   6960 long2 __ovld __cnfn as_long2(float3);
   6961 long2 __ovld __cnfn as_long2(float4);
   6962 
   6963 long3 __ovld __cnfn as_long3(short16);
   6964 long3 __ovld __cnfn as_long3(ushort16);
   6965 long3 __ovld __cnfn as_long3(int8);
   6966 long3 __ovld __cnfn as_long3(uint8);
   6967 long3 __ovld __cnfn as_long3(long3);
   6968 long3 __ovld __cnfn as_long3(long4);
   6969 long3 __ovld __cnfn as_long3(ulong3);
   6970 long3 __ovld __cnfn as_long3(ulong4);
   6971 long3 __ovld __cnfn as_long3(float8);
   6972 
   6973 long4 __ovld __cnfn as_long4(short16);
   6974 long4 __ovld __cnfn as_long4(ushort16);
   6975 long4 __ovld __cnfn as_long4(int8);
   6976 long4 __ovld __cnfn as_long4(uint8);
   6977 long4 __ovld __cnfn as_long4(long3);
   6978 long4 __ovld __cnfn as_long4(long4);
   6979 long4 __ovld __cnfn as_long4(ulong3);
   6980 long4 __ovld __cnfn as_long4(ulong4);
   6981 long4 __ovld __cnfn as_long4(float8);
   6982 
   6983 long8 __ovld __cnfn as_long8(int16);
   6984 long8 __ovld __cnfn as_long8(uint16);
   6985 long8 __ovld __cnfn as_long8(long8);
   6986 long8 __ovld __cnfn as_long8(ulong8);
   6987 long8 __ovld __cnfn as_long8(float16);
   6988 
   6989 long16 __ovld __cnfn as_long16(long16);
   6990 long16 __ovld __cnfn as_long16(ulong16);
   6991 
   6992 ulong __ovld __cnfn as_ulong(char8);
   6993 ulong __ovld __cnfn as_ulong(uchar8);
   6994 ulong __ovld __cnfn as_ulong(short3);
   6995 ulong __ovld __cnfn as_ulong(short4);
   6996 ulong __ovld __cnfn as_ulong(ushort3);
   6997 ulong __ovld __cnfn as_ulong(ushort4);
   6998 ulong __ovld __cnfn as_ulong(int2);
   6999 ulong __ovld __cnfn as_ulong(uint2);
   7000 ulong __ovld __cnfn as_ulong(long);
   7001 ulong __ovld __cnfn as_ulong(ulong);
   7002 ulong __ovld __cnfn as_ulong(float2);
   7003 
   7004 ulong2 __ovld __cnfn as_ulong2(char16);
   7005 ulong2 __ovld __cnfn as_ulong2(uchar16);
   7006 ulong2 __ovld __cnfn as_ulong2(short8);
   7007 ulong2 __ovld __cnfn as_ulong2(ushort8);
   7008 ulong2 __ovld __cnfn as_ulong2(int3);
   7009 ulong2 __ovld __cnfn as_ulong2(int4);
   7010 ulong2 __ovld __cnfn as_ulong2(uint3);
   7011 ulong2 __ovld __cnfn as_ulong2(uint4);
   7012 ulong2 __ovld __cnfn as_ulong2(long2);
   7013 ulong2 __ovld __cnfn as_ulong2(ulong2);
   7014 ulong2 __ovld __cnfn as_ulong2(float3);
   7015 ulong2 __ovld __cnfn as_ulong2(float4);
   7016 
   7017 ulong3 __ovld __cnfn as_ulong3(short16);
   7018 ulong3 __ovld __cnfn as_ulong3(ushort16);
   7019 ulong3 __ovld __cnfn as_ulong3(int8);
   7020 ulong3 __ovld __cnfn as_ulong3(uint8);
   7021 ulong3 __ovld __cnfn as_ulong3(long3);
   7022 ulong3 __ovld __cnfn as_ulong3(long4);
   7023 ulong3 __ovld __cnfn as_ulong3(ulong3);
   7024 ulong3 __ovld __cnfn as_ulong3(ulong4);
   7025 ulong3 __ovld __cnfn as_ulong3(float8);
   7026 
   7027 ulong4 __ovld __cnfn as_ulong4(short16);
   7028 ulong4 __ovld __cnfn as_ulong4(ushort16);
   7029 ulong4 __ovld __cnfn as_ulong4(int8);
   7030 ulong4 __ovld __cnfn as_ulong4(uint8);
   7031 ulong4 __ovld __cnfn as_ulong4(long3);
   7032 ulong4 __ovld __cnfn as_ulong4(long4);
   7033 ulong4 __ovld __cnfn as_ulong4(ulong3);
   7034 ulong4 __ovld __cnfn as_ulong4(ulong4);
   7035 ulong4 __ovld __cnfn as_ulong4(float8);
   7036 
   7037 ulong8 __ovld __cnfn as_ulong8(int16);
   7038 ulong8 __ovld __cnfn as_ulong8(uint16);
   7039 ulong8 __ovld __cnfn as_ulong8(long8);
   7040 ulong8 __ovld __cnfn as_ulong8(ulong8);
   7041 ulong8 __ovld __cnfn as_ulong8(float16);
   7042 
   7043 ulong16 __ovld __cnfn as_ulong16(long16);
   7044 ulong16 __ovld __cnfn as_ulong16(ulong16);
   7045 
   7046 float __ovld __cnfn as_float(char3);
   7047 float __ovld __cnfn as_float(char4);
   7048 float __ovld __cnfn as_float(uchar3);
   7049 float __ovld __cnfn as_float(uchar4);
   7050 float __ovld __cnfn as_float(short2);
   7051 float __ovld __cnfn as_float(ushort2);
   7052 float __ovld __cnfn as_float(int);
   7053 float __ovld __cnfn as_float(uint);
   7054 float __ovld __cnfn as_float(float);
   7055 
   7056 float2 __ovld __cnfn as_float2(char8);
   7057 float2 __ovld __cnfn as_float2(uchar8);
   7058 float2 __ovld __cnfn as_float2(short3);
   7059 float2 __ovld __cnfn as_float2(short4);
   7060 float2 __ovld __cnfn as_float2(ushort3);
   7061 float2 __ovld __cnfn as_float2(ushort4);
   7062 float2 __ovld __cnfn as_float2(int2);
   7063 float2 __ovld __cnfn as_float2(uint2);
   7064 float2 __ovld __cnfn as_float2(long);
   7065 float2 __ovld __cnfn as_float2(ulong);
   7066 float2 __ovld __cnfn as_float2(float2);
   7067 
   7068 float3 __ovld __cnfn as_float3(char16);
   7069 float3 __ovld __cnfn as_float3(uchar16);
   7070 float3 __ovld __cnfn as_float3(short8);
   7071 float3 __ovld __cnfn as_float3(ushort8);
   7072 float3 __ovld __cnfn as_float3(int3);
   7073 float3 __ovld __cnfn as_float3(int4);
   7074 float3 __ovld __cnfn as_float3(uint3);
   7075 float3 __ovld __cnfn as_float3(uint4);
   7076 float3 __ovld __cnfn as_float3(long2);
   7077 float3 __ovld __cnfn as_float3(ulong2);
   7078 float3 __ovld __cnfn as_float3(float3);
   7079 float3 __ovld __cnfn as_float3(float4);
   7080 
   7081 float4 __ovld __cnfn as_float4(char16);
   7082 float4 __ovld __cnfn as_float4(uchar16);
   7083 float4 __ovld __cnfn as_float4(short8);
   7084 float4 __ovld __cnfn as_float4(ushort8);
   7085 float4 __ovld __cnfn as_float4(int3);
   7086 float4 __ovld __cnfn as_float4(int4);
   7087 float4 __ovld __cnfn as_float4(uint3);
   7088 float4 __ovld __cnfn as_float4(uint4);
   7089 float4 __ovld __cnfn as_float4(long2);
   7090 float4 __ovld __cnfn as_float4(ulong2);
   7091 float4 __ovld __cnfn as_float4(float3);
   7092 float4 __ovld __cnfn as_float4(float4);
   7093 
   7094 float8 __ovld __cnfn as_float8(short16);
   7095 float8 __ovld __cnfn as_float8(ushort16);
   7096 float8 __ovld __cnfn as_float8(int8);
   7097 float8 __ovld __cnfn as_float8(uint8);
   7098 float8 __ovld __cnfn as_float8(long3);
   7099 float8 __ovld __cnfn as_float8(long4);
   7100 float8 __ovld __cnfn as_float8(ulong3);
   7101 float8 __ovld __cnfn as_float8(ulong4);
   7102 float8 __ovld __cnfn as_float8(float8);
   7103 
   7104 float16 __ovld __cnfn as_float16(int16);
   7105 float16 __ovld __cnfn as_float16(uint16);
   7106 float16 __ovld __cnfn as_float16(long8);
   7107 float16 __ovld __cnfn as_float16(ulong8);
   7108 float16 __ovld __cnfn as_float16(float16);
   7109 
   7110 #ifdef cl_khr_fp64
   7111 char8 __ovld __cnfn as_char8(double);
   7112 char16 __ovld __cnfn as_char16(double2);
   7113 uchar8 __ovld __cnfn as_uchar8(double);
   7114 uchar16 __ovld __cnfn as_uchar16(double2);
   7115 short3 __ovld __cnfn as_short3(double);
   7116 short4 __ovld __cnfn as_short4(double);
   7117 short8 __ovld __cnfn as_short8(double2);
   7118 short16 __ovld __cnfn as_short16(double3);
   7119 short16 __ovld __cnfn as_short16(double4);
   7120 ushort3 __ovld __cnfn as_ushort3(double);
   7121 ushort4 __ovld __cnfn as_ushort4(double);
   7122 ushort8 __ovld __cnfn as_ushort8(double2);
   7123 ushort16 __ovld __cnfn as_ushort16(double3);
   7124 ushort16 __ovld __cnfn as_ushort16(double4);
   7125 int2 __ovld __cnfn as_int2(double);
   7126 int3 __ovld __cnfn as_int3(double2);
   7127 int4 __ovld __cnfn as_int4(double2);
   7128 int8 __ovld __cnfn as_int8(double3);
   7129 int8 __ovld __cnfn as_int8(double4);
   7130 int16 __ovld __cnfn as_int16(double8);
   7131 uint2 __ovld __cnfn as_uint2(double);
   7132 uint3 __ovld __cnfn as_uint3(double2);
   7133 uint4 __ovld __cnfn as_uint4(double2);
   7134 uint8 __ovld __cnfn as_uint8(double3);
   7135 uint8 __ovld __cnfn as_uint8(double4);
   7136 uint16 __ovld __cnfn as_uint16(double8);
   7137 long __ovld __cnfn as_long(double);
   7138 long2 __ovld __cnfn as_long2(double2);
   7139 long3 __ovld __cnfn as_long3(double3);
   7140 long3 __ovld __cnfn as_long3(double4);
   7141 long4 __ovld __cnfn as_long4(double3);
   7142 long4 __ovld __cnfn as_long4(double4);
   7143 long8 __ovld __cnfn as_long8(double8);
   7144 long16 __ovld __cnfn as_long16(double16);
   7145 ulong __ovld __cnfn as_ulong(double);
   7146 ulong2 __ovld __cnfn as_ulong2(double2);
   7147 ulong3 __ovld __cnfn as_ulong3(double3);
   7148 ulong3 __ovld __cnfn as_ulong3(double4);
   7149 ulong4 __ovld __cnfn as_ulong4(double3);
   7150 ulong4 __ovld __cnfn as_ulong4(double4);
   7151 ulong8 __ovld __cnfn as_ulong8(double8);
   7152 ulong16 __ovld __cnfn as_ulong16(double16);
   7153 float2 __ovld __cnfn as_float2(double);
   7154 float3 __ovld __cnfn as_float3(double2);
   7155 float4 __ovld __cnfn as_float4(double2);
   7156 float8 __ovld __cnfn as_float8(double3);
   7157 float8 __ovld __cnfn as_float8(double4);
   7158 float16 __ovld __cnfn as_float16(double8);
   7159 double __ovld __cnfn as_double(char8);
   7160 double __ovld __cnfn as_double(uchar8);
   7161 double __ovld __cnfn as_double(short3);
   7162 double __ovld __cnfn as_double(short4);
   7163 double __ovld __cnfn as_double(ushort3);
   7164 double __ovld __cnfn as_double(ushort4);
   7165 double __ovld __cnfn as_double(int2);
   7166 double __ovld __cnfn as_double(uint2);
   7167 double __ovld __cnfn as_double(long);
   7168 double __ovld __cnfn as_double(ulong);
   7169 double __ovld __cnfn as_double(float2);
   7170 double __ovld __cnfn as_double(double);
   7171 double2 __ovld __cnfn as_double2(char16);
   7172 double2 __ovld __cnfn as_double2(uchar16);
   7173 double2 __ovld __cnfn as_double2(short8);
   7174 double2 __ovld __cnfn as_double2(ushort8);
   7175 double2 __ovld __cnfn as_double2(int3);
   7176 double2 __ovld __cnfn as_double2(int4);
   7177 double2 __ovld __cnfn as_double2(uint3);
   7178 double2 __ovld __cnfn as_double2(uint4);
   7179 double2 __ovld __cnfn as_double2(long2);
   7180 double2 __ovld __cnfn as_double2(ulong2);
   7181 double2 __ovld __cnfn as_double2(float3);
   7182 double2 __ovld __cnfn as_double2(float4);
   7183 double2 __ovld __cnfn as_double2(double2);
   7184 double3 __ovld __cnfn as_double3(short16);
   7185 double3 __ovld __cnfn as_double3(ushort16);
   7186 double3 __ovld __cnfn as_double3(int8);
   7187 double3 __ovld __cnfn as_double3(uint8);
   7188 double3 __ovld __cnfn as_double3(long3);
   7189 double3 __ovld __cnfn as_double3(long4);
   7190 double3 __ovld __cnfn as_double3(ulong3);
   7191 double3 __ovld __cnfn as_double3(ulong4);
   7192 double3 __ovld __cnfn as_double3(float8);
   7193 double3 __ovld __cnfn as_double3(double3);
   7194 double3 __ovld __cnfn as_double3(double4);
   7195 double4 __ovld __cnfn as_double4(short16);
   7196 double4 __ovld __cnfn as_double4(ushort16);
   7197 double4 __ovld __cnfn as_double4(int8);
   7198 double4 __ovld __cnfn as_double4(uint8);
   7199 double4 __ovld __cnfn as_double4(long3);
   7200 double4 __ovld __cnfn as_double4(long4);
   7201 double4 __ovld __cnfn as_double4(ulong3);
   7202 double4 __ovld __cnfn as_double4(ulong4);
   7203 double4 __ovld __cnfn as_double4(float8);
   7204 double4 __ovld __cnfn as_double4(double3);
   7205 double4 __ovld __cnfn as_double4(double4);
   7206 double8 __ovld __cnfn as_double8(int16);
   7207 double8 __ovld __cnfn as_double8(uint16);
   7208 double8 __ovld __cnfn as_double8(long8);
   7209 double8 __ovld __cnfn as_double8(ulong8);
   7210 double8 __ovld __cnfn as_double8(float16);
   7211 double8 __ovld __cnfn as_double8(double8);
   7212 double16 __ovld __cnfn as_double16(long16);
   7213 double16 __ovld __cnfn as_double16(ulong16);
   7214 double16 __ovld __cnfn as_double16(double16);
   7215 #endif //cl_khr_fp64
   7216 
   7217 #ifdef cl_khr_fp16
   7218 char2 __ovld __cnfn as_char2(half);
   7219 char3 __ovld __cnfn as_char3(half2);
   7220 char4 __ovld __cnfn as_char4(half2);
   7221 char8 __ovld __cnfn as_char8(half3);
   7222 char8 __ovld __cnfn as_char8(half4);
   7223 char16 __ovld __cnfn as_char16(half8);
   7224 uchar2 __ovld __cnfn as_uchar2(half);
   7225 uchar3 __ovld __cnfn as_uchar3(half2);
   7226 uchar4 __ovld __cnfn as_uchar4(half2);
   7227 uchar8 __ovld __cnfn as_uchar8(half3);
   7228 uchar8 __ovld __cnfn as_uchar8(half4);
   7229 uchar16 __ovld __cnfn as_uchar16(half8);
   7230 short __ovld __cnfn as_short(half);
   7231 short2 __ovld __cnfn as_short2(half2);
   7232 short3 __ovld __cnfn as_short3(half3);
   7233 short3 __ovld __cnfn as_short3(half4);
   7234 short4 __ovld __cnfn as_short4(half3);
   7235 short4 __ovld __cnfn as_short4(half4);
   7236 short8 __ovld __cnfn as_short8(half8);
   7237 short16 __ovld __cnfn as_short16(half16);
   7238 ushort __ovld __cnfn as_ushort(half);
   7239 ushort2 __ovld __cnfn as_ushort2(half2);
   7240 ushort3 __ovld __cnfn as_ushort3(half3);
   7241 ushort3 __ovld __cnfn as_ushort3(half4);
   7242 ushort4 __ovld __cnfn as_ushort4(half3);
   7243 ushort4 __ovld __cnfn as_ushort4(half4);
   7244 ushort8 __ovld __cnfn as_ushort8(half8);
   7245 ushort16 __ovld __cnfn as_ushort16(half16);
   7246 int __ovld __cnfn as_int(half2);
   7247 int2 __ovld __cnfn as_int2(half3);
   7248 int2 __ovld __cnfn as_int2(half4);
   7249 int3 __ovld __cnfn as_int3(half8);
   7250 int4 __ovld __cnfn as_int4(half8);
   7251 int8 __ovld __cnfn as_int8(half16);
   7252 uint __ovld __cnfn as_uint(half2);
   7253 uint2 __ovld __cnfn as_uint2(half3);
   7254 uint2 __ovld __cnfn as_uint2(half4);
   7255 uint3 __ovld __cnfn as_uint3(half8);
   7256 uint4 __ovld __cnfn as_uint4(half8);
   7257 uint8 __ovld __cnfn as_uint8(half16);
   7258 long __ovld __cnfn as_long(half3);
   7259 long __ovld __cnfn as_long(half4);
   7260 long2 __ovld __cnfn as_long2(half8);
   7261 long3 __ovld __cnfn as_long3(half16);
   7262 long4 __ovld __cnfn as_long4(half16);
   7263 ulong __ovld __cnfn as_ulong(half3);
   7264 ulong __ovld __cnfn as_ulong(half4);
   7265 ulong2 __ovld __cnfn as_ulong2(half8);
   7266 ulong3 __ovld __cnfn as_ulong3(half16);
   7267 ulong4 __ovld __cnfn as_ulong4(half16);
   7268 half __ovld __cnfn as_half(char2);
   7269 half __ovld __cnfn as_half(uchar2);
   7270 half __ovld __cnfn as_half(short);
   7271 half __ovld __cnfn as_half(ushort);
   7272 half __ovld __cnfn as_half(half);
   7273 half2 __ovld __cnfn as_half2(char3);
   7274 half2 __ovld __cnfn as_half2(char4);
   7275 half2 __ovld __cnfn as_half2(uchar3);
   7276 half2 __ovld __cnfn as_half2(uchar4);
   7277 half2 __ovld __cnfn as_half2(short2);
   7278 half2 __ovld __cnfn as_half2(ushort2);
   7279 half2 __ovld __cnfn as_half2(int);
   7280 half2 __ovld __cnfn as_half2(uint);
   7281 half2 __ovld __cnfn as_half2(half2);
   7282 half2 __ovld __cnfn as_half2(float);
   7283 half3 __ovld __cnfn as_half3(char8);
   7284 half3 __ovld __cnfn as_half3(uchar8);
   7285 half3 __ovld __cnfn as_half3(short3);
   7286 half3 __ovld __cnfn as_half3(short4);
   7287 half3 __ovld __cnfn as_half3(ushort3);
   7288 half3 __ovld __cnfn as_half3(ushort4);
   7289 half3 __ovld __cnfn as_half3(int2);
   7290 half3 __ovld __cnfn as_half3(uint2);
   7291 half3 __ovld __cnfn as_half3(long);
   7292 half3 __ovld __cnfn as_half3(ulong);
   7293 half3 __ovld __cnfn as_half3(half3);
   7294 half3 __ovld __cnfn as_half3(half4);
   7295 half3 __ovld __cnfn as_half3(float2);
   7296 half4 __ovld __cnfn as_half4(char8);
   7297 half4 __ovld __cnfn as_half4(uchar8);
   7298 half4 __ovld __cnfn as_half4(short3);
   7299 half4 __ovld __cnfn as_half4(short4);
   7300 half4 __ovld __cnfn as_half4(ushort3);
   7301 half4 __ovld __cnfn as_half4(ushort4);
   7302 half4 __ovld __cnfn as_half4(int2);
   7303 half4 __ovld __cnfn as_half4(uint2);
   7304 half4 __ovld __cnfn as_half4(long);
   7305 half4 __ovld __cnfn as_half4(ulong);
   7306 half4 __ovld __cnfn as_half4(half3);
   7307 half4 __ovld __cnfn as_half4(half4);
   7308 half4 __ovld __cnfn as_half4(float2);
   7309 half8 __ovld __cnfn as_half8(char16);
   7310 half8 __ovld __cnfn as_half8(uchar16);
   7311 half8 __ovld __cnfn as_half8(short8);
   7312 half8 __ovld __cnfn as_half8(ushort8);
   7313 half8 __ovld __cnfn as_half8(int3);
   7314 half8 __ovld __cnfn as_half8(int4);
   7315 half8 __ovld __cnfn as_half8(uint3);
   7316 half8 __ovld __cnfn as_half8(uint4);
   7317 half8 __ovld __cnfn as_half8(long2);
   7318 half8 __ovld __cnfn as_half8(ulong2);
   7319 half8 __ovld __cnfn as_half8(half8);
   7320 half8 __ovld __cnfn as_half8(float3);
   7321 half8 __ovld __cnfn as_half8(float4);
   7322 half16 __ovld __cnfn as_half16(short16);
   7323 half16 __ovld __cnfn as_half16(ushort16);
   7324 half16 __ovld __cnfn as_half16(int8);
   7325 half16 __ovld __cnfn as_half16(uint8);
   7326 half16 __ovld __cnfn as_half16(long3);
   7327 half16 __ovld __cnfn as_half16(long4);
   7328 half16 __ovld __cnfn as_half16(ulong3);
   7329 half16 __ovld __cnfn as_half16(ulong4);
   7330 half16 __ovld __cnfn as_half16(half16);
   7331 half16 __ovld __cnfn as_half16(float8);
   7332 float __ovld __cnfn as_float(half2);
   7333 float2 __ovld __cnfn as_float2(half3);
   7334 float2 __ovld __cnfn as_float2(half4);
   7335 float3 __ovld __cnfn as_float3(half8);
   7336 float4 __ovld __cnfn as_float4(half8);
   7337 float8 __ovld __cnfn as_float8(half16);
   7338 
   7339 #ifdef cl_khr_fp64
   7340 half3 __ovld __cnfn as_half3(double);
   7341 half4 __ovld __cnfn as_half4(double);
   7342 half8 __ovld __cnfn as_half8(double2);
   7343 half16 __ovld __cnfn as_half16(double3);
   7344 half16 __ovld __cnfn as_half16(double4);
   7345 double __ovld __cnfn as_double(half3);
   7346 double __ovld __cnfn as_double(half4);
   7347 double2 __ovld __cnfn as_double2(half8);
   7348 double3 __ovld __cnfn as_double3(half16);
   7349 double4 __ovld __cnfn as_double4(half16);
   7350 #endif //cl_khr_fp64
   7351 #endif //cl_khr_fp16
   7352 
   7353 // OpenCL v1.1 s6.9, v1.2/2.0 s6.10 - Function qualifiers
   7354 
   7355 #define __kernel_exec(X, typen) __kernel \
   7356 	__attribute__((work_group_size_hint(X, 1, 1))) \
   7357 	__attribute__((vec_type_hint(typen)))
   7358 
   7359 #define kernel_exec(X, typen) __kernel \
   7360 	__attribute__((work_group_size_hint(X, 1, 1))) \
   7361 	__attribute__((vec_type_hint(typen)))
   7362 
   7363 // OpenCL v1.1 s6.11.1, v1.2 s6.12.1, v2.0 s6.13.1 - Work-item Functions
   7364 
   7365 /**
   7366  * Returns the number of dimensions in use. This is the
   7367  * value given to the work_dim argument specified in
   7368  * clEnqueueNDRangeKernel.
   7369  * For clEnqueueTask, this returns 1.
   7370  */
   7371 uint __ovld __cnfn get_work_dim(void);
   7372 
   7373 /**
   7374  * Returns the number of global work-items specified for
   7375  * dimension identified by dimindx. This value is given by
   7376  * the global_work_size argument to
   7377  * clEnqueueNDRangeKernel. Valid values of dimindx
   7378  * are 0 to get_work_dim() - 1. For other values of
   7379  * dimindx, get_global_size() returns 1.
   7380  * For clEnqueueTask, this always returns 1.
   7381  */
   7382 size_t __ovld __cnfn get_global_size(uint dimindx);
   7383 
   7384 /**
   7385  * Returns the unique global work-item ID value for
   7386  * dimension identified by dimindx. The global work-item
   7387  * ID specifies the work-item ID based on the number of
   7388  * global work-items specified to execute the kernel. Valid
   7389  * values of dimindx are 0 to get_work_dim() - 1. For
   7390  * other values of dimindx, get_global_id() returns 0.
   7391  * For clEnqueueTask, this returns 0.
   7392  */
   7393 size_t __ovld __cnfn get_global_id(uint dimindx);
   7394 
   7395 /**
   7396  * Returns the number of local work-items specified in
   7397  * dimension identified by dimindx. This value is given by
   7398  * the local_work_size argument to
   7399  * clEnqueueNDRangeKernel if local_work_size is not
   7400  * NULL; otherwise the OpenCL implementation chooses
   7401  * an appropriate local_work_size value which is returned
   7402  * by this function. Valid values of dimindx are 0 to
   7403  * get_work_dim() - 1. For other values of dimindx,
   7404  * get_local_size() returns 1.
   7405  * For clEnqueueTask, this always returns 1.
   7406  */
   7407 size_t __ovld __cnfn get_local_size(uint dimindx);
   7408 
   7409 /**
   7410  * Returns the unique local work-item ID i.e. a work-item
   7411  * within a specific work-group for dimension identified by
   7412  * dimindx. Valid values of dimindx are 0 to
   7413  * get_work_dim() - 1. For other values of dimindx,
   7414  * get_local_id() returns 0.
   7415  * For clEnqueueTask, this returns 0.
   7416  */
   7417 size_t __ovld __cnfn get_local_id(uint dimindx);
   7418 
   7419 /**
   7420  * Returns the number of work-groups that will execute a
   7421  * kernel for dimension identified by dimindx.
   7422  * Valid values of dimindx are 0 to get_work_dim() - 1.
   7423  * For other values of dimindx, get_num_groups () returns
   7424  * 1.
   7425  * For clEnqueueTask, this always returns 1.
   7426  */
   7427 size_t __ovld __cnfn get_num_groups(uint dimindx);
   7428 
   7429 /**
   7430  * get_group_id returns the work-group ID which is a
   7431  * number from 0 .. get_num_groups(dimindx) - 1.
   7432  * Valid values of dimindx are 0 to get_work_dim() - 1.
   7433  * For other values, get_group_id() returns 0.
   7434  * For clEnqueueTask, this returns 0.
   7435  */
   7436 size_t __ovld __cnfn get_group_id(uint dimindx);
   7437 
   7438 /**
   7439  * get_global_offset returns the offset values specified in
   7440  * global_work_offset argument to
   7441  * clEnqueueNDRangeKernel.
   7442  * Valid values of dimindx are 0 to get_work_dim() - 1.
   7443  * For other values, get_global_offset() returns 0.
   7444  * For clEnqueueTask, this returns 0.
   7445  */
   7446 size_t __ovld __cnfn get_global_offset(uint dimindx);
   7447 
   7448 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   7449 size_t __ovld get_enqueued_local_size(uint dimindx);
   7450 size_t __ovld get_global_linear_id(void);
   7451 size_t __ovld get_local_linear_id(void);
   7452 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   7453 
   7454 // OpenCL v1.1 s6.11.2, v1.2 s6.12.2, v2.0 s6.13.2 - Math functions
   7455 
   7456 /**
   7457  * Arc cosine function.
   7458  */
   7459 float __ovld __cnfn acos(float);
   7460 float2 __ovld __cnfn acos(float2);
   7461 float3 __ovld __cnfn acos(float3);
   7462 float4 __ovld __cnfn acos(float4);
   7463 float8 __ovld __cnfn acos(float8);
   7464 float16 __ovld __cnfn acos(float16);
   7465 #ifdef cl_khr_fp64
   7466 double __ovld __cnfn acos(double);
   7467 double2 __ovld __cnfn acos(double2);
   7468 double3 __ovld __cnfn acos(double3);
   7469 double4 __ovld __cnfn acos(double4);
   7470 double8 __ovld __cnfn acos(double8);
   7471 double16 __ovld __cnfn acos(double16);
   7472 #endif //cl_khr_fp64
   7473 #ifdef cl_khr_fp16
   7474 half __ovld __cnfn acos(half);
   7475 half2 __ovld __cnfn acos(half2);
   7476 half3 __ovld __cnfn acos(half3);
   7477 half4 __ovld __cnfn acos(half4);
   7478 half8 __ovld __cnfn acos(half8);
   7479 half16 __ovld __cnfn acos(half16);
   7480 #endif //cl_khr_fp16
   7481 
   7482 /**
   7483  * Inverse hyperbolic cosine.
   7484  */
   7485 float __ovld __cnfn acosh(float);
   7486 float2 __ovld __cnfn acosh(float2);
   7487 float3 __ovld __cnfn acosh(float3);
   7488 float4 __ovld __cnfn acosh(float4);
   7489 float8 __ovld __cnfn acosh(float8);
   7490 float16 __ovld __cnfn acosh(float16);
   7491 #ifdef cl_khr_fp64
   7492 double __ovld __cnfn acosh(double);
   7493 double2 __ovld __cnfn acosh(double2);
   7494 double3 __ovld __cnfn acosh(double3);
   7495 double4 __ovld __cnfn acosh(double4);
   7496 double8 __ovld __cnfn acosh(double8);
   7497 double16 __ovld __cnfn acosh(double16);
   7498 #endif //cl_khr_fp64
   7499 #ifdef cl_khr_fp16
   7500 half __ovld __cnfn acosh(half);
   7501 half2 __ovld __cnfn acosh(half2);
   7502 half3 __ovld __cnfn acosh(half3);
   7503 half4 __ovld __cnfn acosh(half4);
   7504 half8 __ovld __cnfn acosh(half8);
   7505 half16 __ovld __cnfn acosh(half16);
   7506 #endif //cl_khr_fp16
   7507 
   7508 /**
   7509  * Compute acos (x) / PI.
   7510  */
   7511 float __ovld __cnfn acospi(float x);
   7512 float2 __ovld __cnfn acospi(float2 x);
   7513 float3 __ovld __cnfn acospi(float3 x);
   7514 float4 __ovld __cnfn acospi(float4 x);
   7515 float8 __ovld __cnfn acospi(float8 x);
   7516 float16 __ovld __cnfn acospi(float16 x);
   7517 #ifdef cl_khr_fp64
   7518 double __ovld __cnfn acospi(double x);
   7519 double2 __ovld __cnfn acospi(double2 x);
   7520 double3 __ovld __cnfn acospi(double3 x);
   7521 double4 __ovld __cnfn acospi(double4 x);
   7522 double8 __ovld __cnfn acospi(double8 x);
   7523 double16 __ovld __cnfn acospi(double16 x);
   7524 #endif //cl_khr_fp64
   7525 #ifdef cl_khr_fp16
   7526 half __ovld __cnfn acospi(half x);
   7527 half2 __ovld __cnfn acospi(half2 x);
   7528 half3 __ovld __cnfn acospi(half3 x);
   7529 half4 __ovld __cnfn acospi(half4 x);
   7530 half8 __ovld __cnfn acospi(half8 x);
   7531 half16 __ovld __cnfn acospi(half16 x);
   7532 #endif //cl_khr_fp16
   7533 
   7534 /**
   7535  * Arc sine function.
   7536  */
   7537 float __ovld __cnfn asin(float);
   7538 float2 __ovld __cnfn asin(float2);
   7539 float3 __ovld __cnfn asin(float3);
   7540 float4 __ovld __cnfn asin(float4);
   7541 float8 __ovld __cnfn asin(float8);
   7542 float16 __ovld __cnfn asin(float16);
   7543 #ifdef cl_khr_fp64
   7544 double __ovld __cnfn asin(double);
   7545 double2 __ovld __cnfn asin(double2);
   7546 double3 __ovld __cnfn asin(double3);
   7547 double4 __ovld __cnfn asin(double4);
   7548 double8 __ovld __cnfn asin(double8);
   7549 double16 __ovld __cnfn asin(double16);
   7550 #endif //cl_khr_fp64
   7551 #ifdef cl_khr_fp16
   7552 half __ovld __cnfn asin(half);
   7553 half2 __ovld __cnfn asin(half2);
   7554 half3 __ovld __cnfn asin(half3);
   7555 half4 __ovld __cnfn asin(half4);
   7556 half8 __ovld __cnfn asin(half8);
   7557 half16 __ovld __cnfn asin(half16);
   7558 #endif //cl_khr_fp16
   7559 
   7560 /**
   7561  * Inverse hyperbolic sine.
   7562  */
   7563 float __ovld __cnfn asinh(float);
   7564 float2 __ovld __cnfn asinh(float2);
   7565 float3 __ovld __cnfn asinh(float3);
   7566 float4 __ovld __cnfn asinh(float4);
   7567 float8 __ovld __cnfn asinh(float8);
   7568 float16 __ovld __cnfn asinh(float16);
   7569 #ifdef cl_khr_fp64
   7570 double __ovld __cnfn asinh(double);
   7571 double2 __ovld __cnfn asinh(double2);
   7572 double3 __ovld __cnfn asinh(double3);
   7573 double4 __ovld __cnfn asinh(double4);
   7574 double8 __ovld __cnfn asinh(double8);
   7575 double16 __ovld __cnfn asinh(double16);
   7576 #endif //cl_khr_fp64
   7577 #ifdef cl_khr_fp16
   7578 half __ovld __cnfn asinh(half);
   7579 half2 __ovld __cnfn asinh(half2);
   7580 half3 __ovld __cnfn asinh(half3);
   7581 half4 __ovld __cnfn asinh(half4);
   7582 half8 __ovld __cnfn asinh(half8);
   7583 half16 __ovld __cnfn asinh(half16);
   7584 #endif //cl_khr_fp16
   7585 
   7586 /**
   7587  * Compute asin (x) / PI.
   7588  */
   7589 float __ovld __cnfn asinpi(float x);
   7590 float2 __ovld __cnfn asinpi(float2 x);
   7591 float3 __ovld __cnfn asinpi(float3 x);
   7592 float4 __ovld __cnfn asinpi(float4 x);
   7593 float8 __ovld __cnfn asinpi(float8 x);
   7594 float16 __ovld __cnfn asinpi(float16 x);
   7595 #ifdef cl_khr_fp64
   7596 double __ovld __cnfn asinpi(double x);
   7597 double2 __ovld __cnfn asinpi(double2 x);
   7598 double3 __ovld __cnfn asinpi(double3 x);
   7599 double4 __ovld __cnfn asinpi(double4 x);
   7600 double8 __ovld __cnfn asinpi(double8 x);
   7601 double16 __ovld __cnfn asinpi(double16 x);
   7602 #endif //cl_khr_fp64
   7603 #ifdef cl_khr_fp16
   7604 half __ovld __cnfn asinpi(half x);
   7605 half2 __ovld __cnfn asinpi(half2 x);
   7606 half3 __ovld __cnfn asinpi(half3 x);
   7607 half4 __ovld __cnfn asinpi(half4 x);
   7608 half8 __ovld __cnfn asinpi(half8 x);
   7609 half16 __ovld __cnfn asinpi(half16 x);
   7610 #endif //cl_khr_fp16
   7611 
   7612 /**
   7613  * Arc tangent function.
   7614  */
   7615 float __ovld __cnfn atan(float y_over_x);
   7616 float2 __ovld __cnfn atan(float2 y_over_x);
   7617 float3 __ovld __cnfn atan(float3 y_over_x);
   7618 float4 __ovld __cnfn atan(float4 y_over_x);
   7619 float8 __ovld __cnfn atan(float8 y_over_x);
   7620 float16 __ovld __cnfn atan(float16 y_over_x);
   7621 #ifdef cl_khr_fp64
   7622 double __ovld __cnfn atan(double y_over_x);
   7623 double2 __ovld __cnfn atan(double2 y_over_x);
   7624 double3 __ovld __cnfn atan(double3 y_over_x);
   7625 double4 __ovld __cnfn atan(double4 y_over_x);
   7626 double8 __ovld __cnfn atan(double8 y_over_x);
   7627 double16 __ovld __cnfn atan(double16 y_over_x);
   7628 #endif //cl_khr_fp64
   7629 #ifdef cl_khr_fp16
   7630 half __ovld __cnfn atan(half y_over_x);
   7631 half2 __ovld __cnfn atan(half2 y_over_x);
   7632 half3 __ovld __cnfn atan(half3 y_over_x);
   7633 half4 __ovld __cnfn atan(half4 y_over_x);
   7634 half8 __ovld __cnfn atan(half8 y_over_x);
   7635 half16 __ovld __cnfn atan(half16 y_over_x);
   7636 #endif //cl_khr_fp16
   7637 
   7638 /**
   7639  * Arc tangent of y / x.
   7640  */
   7641 float __ovld __cnfn atan2(float y, float x);
   7642 float2 __ovld __cnfn atan2(float2 y, float2 x);
   7643 float3 __ovld __cnfn atan2(float3 y, float3 x);
   7644 float4 __ovld __cnfn atan2(float4 y, float4 x);
   7645 float8 __ovld __cnfn atan2(float8 y, float8 x);
   7646 float16 __ovld __cnfn atan2(float16 y, float16 x);
   7647 #ifdef cl_khr_fp64
   7648 double __ovld __cnfn atan2(double y, double x);
   7649 double2 __ovld __cnfn atan2(double2 y, double2 x);
   7650 double3 __ovld __cnfn atan2(double3 y, double3 x);
   7651 double4 __ovld __cnfn atan2(double4 y, double4 x);
   7652 double8 __ovld __cnfn atan2(double8 y, double8 x);
   7653 double16 __ovld __cnfn atan2(double16 y, double16 x);
   7654 #endif //cl_khr_fp64
   7655 #ifdef cl_khr_fp16
   7656 half __ovld __cnfn atan2(half y, half x);
   7657 half2 __ovld __cnfn atan2(half2 y, half2 x);
   7658 half3 __ovld __cnfn atan2(half3 y, half3 x);
   7659 half4 __ovld __cnfn atan2(half4 y, half4 x);
   7660 half8 __ovld __cnfn atan2(half8 y, half8 x);
   7661 half16 __ovld __cnfn atan2(half16 y, half16 x);
   7662 #endif //cl_khr_fp16
   7663 
   7664 /**
   7665  * Hyperbolic arc tangent.
   7666  */
   7667 float __ovld __cnfn atanh(float);
   7668 float2 __ovld __cnfn atanh(float2);
   7669 float3 __ovld __cnfn atanh(float3);
   7670 float4 __ovld __cnfn atanh(float4);
   7671 float8 __ovld __cnfn atanh(float8);
   7672 float16 __ovld __cnfn atanh(float16);
   7673 #ifdef cl_khr_fp64
   7674 double __ovld __cnfn atanh(double);
   7675 double2 __ovld __cnfn atanh(double2);
   7676 double3 __ovld __cnfn atanh(double3);
   7677 double4 __ovld __cnfn atanh(double4);
   7678 double8 __ovld __cnfn atanh(double8);
   7679 double16 __ovld __cnfn atanh(double16);
   7680 #endif //cl_khr_fp64
   7681 #ifdef cl_khr_fp16
   7682 half __ovld __cnfn atanh(half);
   7683 half2 __ovld __cnfn atanh(half2);
   7684 half3 __ovld __cnfn atanh(half3);
   7685 half4 __ovld __cnfn atanh(half4);
   7686 half8 __ovld __cnfn atanh(half8);
   7687 half16 __ovld __cnfn atanh(half16);
   7688 #endif //cl_khr_fp16
   7689 
   7690 /**
   7691  * Compute atan (x) / PI.
   7692  */
   7693 float __ovld __cnfn atanpi(float x);
   7694 float2 __ovld __cnfn atanpi(float2 x);
   7695 float3 __ovld __cnfn atanpi(float3 x);
   7696 float4 __ovld __cnfn atanpi(float4 x);
   7697 float8 __ovld __cnfn atanpi(float8 x);
   7698 float16 __ovld __cnfn atanpi(float16 x);
   7699 #ifdef cl_khr_fp64
   7700 double __ovld __cnfn atanpi(double x);
   7701 double2 __ovld __cnfn atanpi(double2 x);
   7702 double3 __ovld __cnfn atanpi(double3 x);
   7703 double4 __ovld __cnfn atanpi(double4 x);
   7704 double8 __ovld __cnfn atanpi(double8 x);
   7705 double16 __ovld __cnfn atanpi(double16 x);
   7706 #endif //cl_khr_fp64
   7707 #ifdef cl_khr_fp16
   7708 half __ovld __cnfn atanpi(half x);
   7709 half2 __ovld __cnfn atanpi(half2 x);
   7710 half3 __ovld __cnfn atanpi(half3 x);
   7711 half4 __ovld __cnfn atanpi(half4 x);
   7712 half8 __ovld __cnfn atanpi(half8 x);
   7713 half16 __ovld __cnfn atanpi(half16 x);
   7714 #endif //cl_khr_fp16
   7715 
   7716 /**
   7717  * Compute atan2 (y, x) / PI.
   7718  */
   7719 float __ovld __cnfn atan2pi(float y, float x);
   7720 float2 __ovld __cnfn atan2pi(float2 y, float2 x);
   7721 float3 __ovld __cnfn atan2pi(float3 y, float3 x);
   7722 float4 __ovld __cnfn atan2pi(float4 y, float4 x);
   7723 float8 __ovld __cnfn atan2pi(float8 y, float8 x);
   7724 float16 __ovld __cnfn atan2pi(float16 y, float16 x);
   7725 #ifdef cl_khr_fp64
   7726 double __ovld __cnfn atan2pi(double y, double x);
   7727 double2 __ovld __cnfn atan2pi(double2 y, double2 x);
   7728 double3 __ovld __cnfn atan2pi(double3 y, double3 x);
   7729 double4 __ovld __cnfn atan2pi(double4 y, double4 x);
   7730 double8 __ovld __cnfn atan2pi(double8 y, double8 x);
   7731 double16 __ovld __cnfn atan2pi(double16 y, double16 x);
   7732 #endif //cl_khr_fp64
   7733 #ifdef cl_khr_fp16
   7734 half __ovld __cnfn atan2pi(half y, half x);
   7735 half2 __ovld __cnfn atan2pi(half2 y, half2 x);
   7736 half3 __ovld __cnfn atan2pi(half3 y, half3 x);
   7737 half4 __ovld __cnfn atan2pi(half4 y, half4 x);
   7738 half8 __ovld __cnfn atan2pi(half8 y, half8 x);
   7739 half16 __ovld __cnfn atan2pi(half16 y, half16 x);
   7740 #endif //cl_khr_fp16
   7741 
   7742 /**
   7743  * Compute cube-root.
   7744  */
   7745 float __ovld __cnfn cbrt(float);
   7746 float2 __ovld __cnfn cbrt(float2);
   7747 float3 __ovld __cnfn cbrt(float3);
   7748 float4 __ovld __cnfn cbrt(float4);
   7749 float8 __ovld __cnfn cbrt(float8);
   7750 float16 __ovld __cnfn cbrt(float16);
   7751 #ifdef cl_khr_fp64
   7752 double __ovld __cnfn cbrt(double);
   7753 double2 __ovld __cnfn cbrt(double2);
   7754 double3 __ovld __cnfn cbrt(double3);
   7755 double4 __ovld __cnfn cbrt(double4);
   7756 double8 __ovld __cnfn cbrt(double8);
   7757 double16 __ovld __cnfn cbrt(double16);
   7758 #endif //cl_khr_fp64
   7759 #ifdef cl_khr_fp16
   7760 half __ovld __cnfn cbrt(half);
   7761 half2 __ovld __cnfn cbrt(half2);
   7762 half3 __ovld __cnfn cbrt(half3);
   7763 half4 __ovld __cnfn cbrt(half4);
   7764 half8 __ovld __cnfn cbrt(half8);
   7765 half16 __ovld __cnfn cbrt(half16);
   7766 #endif //cl_khr_fp16
   7767 
   7768 /**
   7769  * Round to integral value using the round to positive
   7770  * infinity rounding mode.
   7771  */
   7772 float __ovld __cnfn ceil(float);
   7773 float2 __ovld __cnfn ceil(float2);
   7774 float3 __ovld __cnfn ceil(float3);
   7775 float4 __ovld __cnfn ceil(float4);
   7776 float8 __ovld __cnfn ceil(float8);
   7777 float16 __ovld __cnfn ceil(float16);
   7778 #ifdef cl_khr_fp64
   7779 double __ovld __cnfn ceil(double);
   7780 double2 __ovld __cnfn ceil(double2);
   7781 double3 __ovld __cnfn ceil(double3);
   7782 double4 __ovld __cnfn ceil(double4);
   7783 double8 __ovld __cnfn ceil(double8);
   7784 double16 __ovld __cnfn ceil(double16);
   7785 #endif //cl_khr_fp64
   7786 #ifdef cl_khr_fp16
   7787 half __ovld __cnfn ceil(half);
   7788 half2 __ovld __cnfn ceil(half2);
   7789 half3 __ovld __cnfn ceil(half3);
   7790 half4 __ovld __cnfn ceil(half4);
   7791 half8 __ovld __cnfn ceil(half8);
   7792 half16 __ovld __cnfn ceil(half16);
   7793 #endif //cl_khr_fp16
   7794 
   7795 /**
   7796  * Returns x with its sign changed to match the sign of y.
   7797  */
   7798 float __ovld __cnfn copysign(float x, float y);
   7799 float2 __ovld __cnfn copysign(float2 x, float2 y);
   7800 float3 __ovld __cnfn copysign(float3 x, float3 y);
   7801 float4 __ovld __cnfn copysign(float4 x, float4 y);
   7802 float8 __ovld __cnfn copysign(float8 x, float8 y);
   7803 float16 __ovld __cnfn copysign(float16 x, float16 y);
   7804 #ifdef cl_khr_fp64
   7805 double __ovld __cnfn copysign(double x, double y);
   7806 double2 __ovld __cnfn copysign(double2 x, double2 y);
   7807 double3 __ovld __cnfn copysign(double3 x, double3 y);
   7808 double4 __ovld __cnfn copysign(double4 x, double4 y);
   7809 double8 __ovld __cnfn copysign(double8 x, double8 y);
   7810 double16 __ovld __cnfn copysign(double16 x, double16 y);
   7811 #endif //cl_khr_fp64
   7812 #ifdef cl_khr_fp16
   7813 half __ovld __cnfn copysign(half x, half y);
   7814 half2 __ovld __cnfn copysign(half2 x, half2 y);
   7815 half3 __ovld __cnfn copysign(half3 x, half3 y);
   7816 half4 __ovld __cnfn copysign(half4 x, half4 y);
   7817 half8 __ovld __cnfn copysign(half8 x, half8 y);
   7818 half16 __ovld __cnfn copysign(half16 x, half16 y);
   7819 #endif //cl_khr_fp16
   7820 
   7821 /**
   7822  * Compute cosine.
   7823  */
   7824 float __ovld __cnfn cos(float);
   7825 float2 __ovld __cnfn cos(float2);
   7826 float3 __ovld __cnfn cos(float3);
   7827 float4 __ovld __cnfn cos(float4);
   7828 float8 __ovld __cnfn cos(float8);
   7829 float16 __ovld __cnfn cos(float16);
   7830 #ifdef cl_khr_fp64
   7831 double __ovld __cnfn cos(double);
   7832 double2 __ovld __cnfn cos(double2);
   7833 double3 __ovld __cnfn cos(double3);
   7834 double4 __ovld __cnfn cos(double4);
   7835 double8 __ovld __cnfn cos(double8);
   7836 double16 __ovld __cnfn cos(double16);
   7837 #endif //cl_khr_fp64
   7838 #ifdef cl_khr_fp16
   7839 half __ovld __cnfn cos(half);
   7840 half2 __ovld __cnfn cos(half2);
   7841 half3 __ovld __cnfn cos(half3);
   7842 half4 __ovld __cnfn cos(half4);
   7843 half8 __ovld __cnfn cos(half8);
   7844 half16 __ovld __cnfn cos(half16);
   7845 #endif //cl_khr_fp16
   7846 
   7847 /**
   7848  * Compute hyperbolic cosine.
   7849  */
   7850 float __ovld __cnfn cosh(float);
   7851 float2 __ovld __cnfn cosh(float2);
   7852 float3 __ovld __cnfn cosh(float3);
   7853 float4 __ovld __cnfn cosh(float4);
   7854 float8 __ovld __cnfn cosh(float8);
   7855 float16 __ovld __cnfn cosh(float16);
   7856 #ifdef cl_khr_fp64
   7857 double __ovld __cnfn cosh(double);
   7858 double2 __ovld __cnfn cosh(double2);
   7859 double3 __ovld __cnfn cosh(double3);
   7860 double4 __ovld __cnfn cosh(double4);
   7861 double8 __ovld __cnfn cosh(double8);
   7862 double16 __ovld __cnfn cosh(double16);
   7863 #endif //cl_khr_fp64
   7864 #ifdef cl_khr_fp16
   7865 half __ovld __cnfn cosh(half);
   7866 half2 __ovld __cnfn cosh(half2);
   7867 half3 __ovld __cnfn cosh(half3);
   7868 half4 __ovld __cnfn cosh(half4);
   7869 half8 __ovld __cnfn cosh(half8);
   7870 half16 __ovld __cnfn cosh(half16);
   7871 #endif //cl_khr_fp16
   7872 
   7873 /**
   7874  * Compute cos (PI * x).
   7875  */
   7876 float __ovld __cnfn cospi(float x);
   7877 float2 __ovld __cnfn cospi(float2 x);
   7878 float3 __ovld __cnfn cospi(float3 x);
   7879 float4 __ovld __cnfn cospi(float4 x);
   7880 float8 __ovld __cnfn cospi(float8 x);
   7881 float16 __ovld __cnfn cospi(float16 x);
   7882 #ifdef cl_khr_fp64
   7883 double __ovld __cnfn cospi(double x);
   7884 double2 __ovld __cnfn cospi(double2 x);
   7885 double3 __ovld __cnfn cospi(double3 x);
   7886 double4 __ovld __cnfn cospi(double4 x);
   7887 double8 __ovld __cnfn cospi(double8 x);
   7888 double16 __ovld __cnfn cospi(double16 x);
   7889 #endif //cl_khr_fp64
   7890 #ifdef cl_khr_fp16
   7891 half __ovld __cnfn cospi(half x);
   7892 half2 __ovld __cnfn cospi(half2 x);
   7893 half3 __ovld __cnfn cospi(half3 x);
   7894 half4 __ovld __cnfn cospi(half4 x);
   7895 half8 __ovld __cnfn cospi(half8 x);
   7896 half16 __ovld __cnfn cospi(half16 x);
   7897 #endif //cl_khr_fp16
   7898 
   7899 /**
   7900  * Complementary error function.
   7901  */
   7902 float __ovld __cnfn erfc(float);
   7903 float2 __ovld __cnfn erfc(float2);
   7904 float3 __ovld __cnfn erfc(float3);
   7905 float4 __ovld __cnfn erfc(float4);
   7906 float8 __ovld __cnfn erfc(float8);
   7907 float16 __ovld __cnfn erfc(float16);
   7908 #ifdef cl_khr_fp64
   7909 double __ovld __cnfn erfc(double);
   7910 double2 __ovld __cnfn erfc(double2);
   7911 double3 __ovld __cnfn erfc(double3);
   7912 double4 __ovld __cnfn erfc(double4);
   7913 double8 __ovld __cnfn erfc(double8);
   7914 double16 __ovld __cnfn erfc(double16);
   7915 #endif //cl_khr_fp64
   7916 #ifdef cl_khr_fp16
   7917 half __ovld __cnfn erfc(half);
   7918 half2 __ovld __cnfn erfc(half2);
   7919 half3 __ovld __cnfn erfc(half3);
   7920 half4 __ovld __cnfn erfc(half4);
   7921 half8 __ovld __cnfn erfc(half8);
   7922 half16 __ovld __cnfn erfc(half16);
   7923 #endif //cl_khr_fp16
   7924 
   7925 /**
   7926  * Error function encountered in integrating the
   7927  * normal distribution.
   7928  */
   7929 float __ovld __cnfn erf(float);
   7930 float2 __ovld __cnfn erf(float2);
   7931 float3 __ovld __cnfn erf(float3);
   7932 float4 __ovld __cnfn erf(float4);
   7933 float8 __ovld __cnfn erf(float8);
   7934 float16 __ovld __cnfn erf(float16);
   7935 #ifdef cl_khr_fp64
   7936 double __ovld __cnfn erf(double);
   7937 double2 __ovld __cnfn erf(double2);
   7938 double3 __ovld __cnfn erf(double3);
   7939 double4 __ovld __cnfn erf(double4);
   7940 double8 __ovld __cnfn erf(double8);
   7941 double16 __ovld __cnfn erf(double16);
   7942 #endif //cl_khr_fp64
   7943 #ifdef cl_khr_fp16
   7944 half __ovld __cnfn erf(half);
   7945 half2 __ovld __cnfn erf(half2);
   7946 half3 __ovld __cnfn erf(half3);
   7947 half4 __ovld __cnfn erf(half4);
   7948 half8 __ovld __cnfn erf(half8);
   7949 half16 __ovld __cnfn erf(half16);
   7950 #endif //cl_khr_fp16
   7951 
   7952 /**
   7953  * Compute the base e exponential function of x.
   7954  */
   7955 float __ovld __cnfn exp(float x);
   7956 float2 __ovld __cnfn exp(float2 x);
   7957 float3 __ovld __cnfn exp(float3 x);
   7958 float4 __ovld __cnfn exp(float4 x);
   7959 float8 __ovld __cnfn exp(float8 x);
   7960 float16 __ovld __cnfn exp(float16 x);
   7961 #ifdef cl_khr_fp64
   7962 double __ovld __cnfn exp(double x);
   7963 double2 __ovld __cnfn exp(double2 x);
   7964 double3 __ovld __cnfn exp(double3 x);
   7965 double4 __ovld __cnfn exp(double4 x);
   7966 double8 __ovld __cnfn exp(double8 x);
   7967 double16 __ovld __cnfn exp(double16 x);
   7968 #endif //cl_khr_fp64
   7969 #ifdef cl_khr_fp16
   7970 half __ovld __cnfn exp(half x);
   7971 half2 __ovld __cnfn exp(half2 x);
   7972 half3 __ovld __cnfn exp(half3 x);
   7973 half4 __ovld __cnfn exp(half4 x);
   7974 half8 __ovld __cnfn exp(half8 x);
   7975 half16 __ovld __cnfn exp(half16 x);
   7976 #endif //cl_khr_fp16
   7977 
   7978 /**
   7979  * Exponential base 2 function.
   7980  */
   7981 float __ovld __cnfn exp2(float);
   7982 float2 __ovld __cnfn exp2(float2);
   7983 float3 __ovld __cnfn exp2(float3);
   7984 float4 __ovld __cnfn exp2(float4);
   7985 float8 __ovld __cnfn exp2(float8);
   7986 float16 __ovld __cnfn exp2(float16);
   7987 #ifdef cl_khr_fp64
   7988 double __ovld __cnfn exp2(double);
   7989 double2 __ovld __cnfn exp2(double2);
   7990 double3 __ovld __cnfn exp2(double3);
   7991 double4 __ovld __cnfn exp2(double4);
   7992 double8 __ovld __cnfn exp2(double8);
   7993 double16 __ovld __cnfn exp2(double16);
   7994 #endif //cl_khr_fp64
   7995 #ifdef cl_khr_fp16
   7996 half __ovld __cnfn exp2(half);
   7997 half2 __ovld __cnfn exp2(half2);
   7998 half3 __ovld __cnfn exp2(half3);
   7999 half4 __ovld __cnfn exp2(half4);
   8000 half8 __ovld __cnfn exp2(half8);
   8001 half16 __ovld __cnfn exp2(half16);
   8002 #endif //cl_khr_fp16
   8003 
   8004 /**
   8005  * Exponential base 10 function.
   8006  */
   8007 float __ovld __cnfn exp10(float);
   8008 float2 __ovld __cnfn exp10(float2);
   8009 float3 __ovld __cnfn exp10(float3);
   8010 float4 __ovld __cnfn exp10(float4);
   8011 float8 __ovld __cnfn exp10(float8);
   8012 float16 __ovld __cnfn exp10(float16);
   8013 #ifdef cl_khr_fp64
   8014 double __ovld __cnfn exp10(double);
   8015 double2 __ovld __cnfn exp10(double2);
   8016 double3 __ovld __cnfn exp10(double3);
   8017 double4 __ovld __cnfn exp10(double4);
   8018 double8 __ovld __cnfn exp10(double8);
   8019 double16 __ovld __cnfn exp10(double16);
   8020 #endif //cl_khr_fp64
   8021 #ifdef cl_khr_fp16
   8022 half __ovld __cnfn exp10(half);
   8023 half2 __ovld __cnfn exp10(half2);
   8024 half3 __ovld __cnfn exp10(half3);
   8025 half4 __ovld __cnfn exp10(half4);
   8026 half8 __ovld __cnfn exp10(half8);
   8027 half16 __ovld __cnfn exp10(half16);
   8028 #endif //cl_khr_fp16
   8029 
   8030 /**
   8031  * Compute e^x- 1.0.
   8032  */
   8033 float __ovld __cnfn expm1(float x);
   8034 float2 __ovld __cnfn expm1(float2 x);
   8035 float3 __ovld __cnfn expm1(float3 x);
   8036 float4 __ovld __cnfn expm1(float4 x);
   8037 float8 __ovld __cnfn expm1(float8 x);
   8038 float16 __ovld __cnfn expm1(float16 x);
   8039 #ifdef cl_khr_fp64
   8040 double __ovld __cnfn expm1(double x);
   8041 double2 __ovld __cnfn expm1(double2 x);
   8042 double3 __ovld __cnfn expm1(double3 x);
   8043 double4 __ovld __cnfn expm1(double4 x);
   8044 double8 __ovld __cnfn expm1(double8 x);
   8045 double16 __ovld __cnfn expm1(double16 x);
   8046 #endif //cl_khr_fp64
   8047 #ifdef cl_khr_fp16
   8048 half __ovld __cnfn expm1(half x);
   8049 half2 __ovld __cnfn expm1(half2 x);
   8050 half3 __ovld __cnfn expm1(half3 x);
   8051 half4 __ovld __cnfn expm1(half4 x);
   8052 half8 __ovld __cnfn expm1(half8 x);
   8053 half16 __ovld __cnfn expm1(half16 x);
   8054 #endif //cl_khr_fp16
   8055 
   8056 /**
   8057  * Compute absolute value of a floating-point number.
   8058  */
   8059 float __ovld __cnfn fabs(float);
   8060 float2 __ovld __cnfn fabs(float2);
   8061 float3 __ovld __cnfn fabs(float3);
   8062 float4 __ovld __cnfn fabs(float4);
   8063 float8 __ovld __cnfn fabs(float8);
   8064 float16 __ovld __cnfn fabs(float16);
   8065 #ifdef cl_khr_fp64
   8066 double __ovld __cnfn fabs(double);
   8067 double2 __ovld __cnfn fabs(double2);
   8068 double3 __ovld __cnfn fabs(double3);
   8069 double4 __ovld __cnfn fabs(double4);
   8070 double8 __ovld __cnfn fabs(double8);
   8071 double16 __ovld __cnfn fabs(double16);
   8072 #endif //cl_khr_fp64
   8073 #ifdef cl_khr_fp16
   8074 half __ovld __cnfn fabs(half);
   8075 half2 __ovld __cnfn fabs(half2);
   8076 half3 __ovld __cnfn fabs(half3);
   8077 half4 __ovld __cnfn fabs(half4);
   8078 half8 __ovld __cnfn fabs(half8);
   8079 half16 __ovld __cnfn fabs(half16);
   8080 #endif //cl_khr_fp16
   8081 
   8082 /**
   8083  * x - y if x > y, +0 if x is less than or equal to y.
   8084  */
   8085 float __ovld __cnfn fdim(float x, float y);
   8086 float2 __ovld __cnfn fdim(float2 x, float2 y);
   8087 float3 __ovld __cnfn fdim(float3 x, float3 y);
   8088 float4 __ovld __cnfn fdim(float4 x, float4 y);
   8089 float8 __ovld __cnfn fdim(float8 x, float8 y);
   8090 float16 __ovld __cnfn fdim(float16 x, float16 y);
   8091 #ifdef cl_khr_fp64
   8092 double __ovld __cnfn fdim(double x, double y);
   8093 double2 __ovld __cnfn fdim(double2 x, double2 y);
   8094 double3 __ovld __cnfn fdim(double3 x, double3 y);
   8095 double4 __ovld __cnfn fdim(double4 x, double4 y);
   8096 double8 __ovld __cnfn fdim(double8 x, double8 y);
   8097 double16 __ovld __cnfn fdim(double16 x, double16 y);
   8098 #endif //cl_khr_fp64
   8099 #ifdef cl_khr_fp16
   8100 half __ovld __cnfn fdim(half x, half y);
   8101 half2 __ovld __cnfn fdim(half2 x, half2 y);
   8102 half3 __ovld __cnfn fdim(half3 x, half3 y);
   8103 half4 __ovld __cnfn fdim(half4 x, half4 y);
   8104 half8 __ovld __cnfn fdim(half8 x, half8 y);
   8105 half16 __ovld __cnfn fdim(half16 x, half16 y);
   8106 #endif //cl_khr_fp16
   8107 
   8108 /**
   8109  * Round to integral value using the round to -ve
   8110  * infinity rounding mode.
   8111  */
   8112 float __ovld __cnfn floor(float);
   8113 float2 __ovld __cnfn floor(float2);
   8114 float3 __ovld __cnfn floor(float3);
   8115 float4 __ovld __cnfn floor(float4);
   8116 float8 __ovld __cnfn floor(float8);
   8117 float16 __ovld __cnfn floor(float16);
   8118 #ifdef cl_khr_fp64
   8119 double __ovld __cnfn floor(double);
   8120 double2 __ovld __cnfn floor(double2);
   8121 double3 __ovld __cnfn floor(double3);
   8122 double4 __ovld __cnfn floor(double4);
   8123 double8 __ovld __cnfn floor(double8);
   8124 double16 __ovld __cnfn floor(double16);
   8125 #endif //cl_khr_fp64
   8126 #ifdef cl_khr_fp16
   8127 half __ovld __cnfn floor(half);
   8128 half2 __ovld __cnfn floor(half2);
   8129 half3 __ovld __cnfn floor(half3);
   8130 half4 __ovld __cnfn floor(half4);
   8131 half8 __ovld __cnfn floor(half8);
   8132 half16 __ovld __cnfn floor(half16);
   8133 #endif //cl_khr_fp16
   8134 
   8135 /**
   8136  * Returns the correctly rounded floating-point
   8137  * representation of the sum of c with the infinitely
   8138  * precise product of a and b. Rounding of
   8139  * intermediate products shall not occur. Edge case
   8140  * behavior is per the IEEE 754-2008 standard.
   8141  */
   8142 float __ovld __cnfn fma(float a, float b, float c);
   8143 float2 __ovld __cnfn fma(float2 a, float2 b, float2 c);
   8144 float3 __ovld __cnfn fma(float3 a, float3 b, float3 c);
   8145 float4 __ovld __cnfn fma(float4 a, float4 b, float4 c);
   8146 float8 __ovld __cnfn fma(float8 a, float8 b, float8 c);
   8147 float16 __ovld __cnfn fma(float16 a, float16 b, float16 c);
   8148 #ifdef cl_khr_fp64
   8149 double __ovld __cnfn fma(double a, double b, double c);
   8150 double2 __ovld __cnfn fma(double2 a, double2 b, double2 c);
   8151 double3 __ovld __cnfn fma(double3 a, double3 b, double3 c);
   8152 double4 __ovld __cnfn fma(double4 a, double4 b, double4 c);
   8153 double8 __ovld __cnfn fma(double8 a, double8 b, double8 c);
   8154 double16 __ovld __cnfn fma(double16 a, double16 b, double16 c);
   8155 #endif //cl_khr_fp64
   8156 #ifdef cl_khr_fp16
   8157 half __ovld __cnfn fma(half a, half b, half c);
   8158 half2 __ovld __cnfn fma(half2 a, half2 b, half2 c);
   8159 half3 __ovld __cnfn fma(half3 a, half3 b, half3 c);
   8160 half4 __ovld __cnfn fma(half4 a, half4 b, half4 c);
   8161 half8 __ovld __cnfn fma(half8 a, half8 b, half8 c);
   8162 half16 __ovld __cnfn fma(half16 a, half16 b, half16 c);
   8163 #endif //cl_khr_fp16
   8164 
   8165 /**
   8166  * Returns y if x < y, otherwise it returns x. If one
   8167  * argument is a NaN, fmax() returns the other
   8168  * argument. If both arguments are NaNs, fmax()
   8169  * returns a NaN.
   8170  */
   8171 float __ovld __cnfn fmax(float x, float y);
   8172 float2 __ovld __cnfn fmax(float2 x, float2 y);
   8173 float3 __ovld __cnfn fmax(float3 x, float3 y);
   8174 float4 __ovld __cnfn fmax(float4 x, float4 y);
   8175 float8 __ovld __cnfn fmax(float8 x, float8 y);
   8176 float16 __ovld __cnfn fmax(float16 x, float16 y);
   8177 float2 __ovld __cnfn fmax(float2 x, float y);
   8178 float3 __ovld __cnfn fmax(float3 x, float y);
   8179 float4 __ovld __cnfn fmax(float4 x, float y);
   8180 float8 __ovld __cnfn fmax(float8 x, float y);
   8181 float16 __ovld __cnfn fmax(float16 x, float y);
   8182 #ifdef cl_khr_fp64
   8183 double __ovld __cnfn fmax(double x, double y);
   8184 double2 __ovld __cnfn fmax(double2 x, double2 y);
   8185 double3 __ovld __cnfn fmax(double3 x, double3 y);
   8186 double4 __ovld __cnfn fmax(double4 x, double4 y);
   8187 double8 __ovld __cnfn fmax(double8 x, double8 y);
   8188 double16 __ovld __cnfn fmax(double16 x, double16 y);
   8189 double2 __ovld __cnfn fmax(double2 x, double y);
   8190 double3 __ovld __cnfn fmax(double3 x, double y);
   8191 double4 __ovld __cnfn fmax(double4 x, double y);
   8192 double8 __ovld __cnfn fmax(double8 x, double y);
   8193 double16 __ovld __cnfn fmax(double16 x, double y);
   8194 #endif //cl_khr_fp64
   8195 #ifdef cl_khr_fp16
   8196 half __ovld __cnfn fmax(half x, half y);
   8197 half2 __ovld __cnfn fmax(half2 x, half2 y);
   8198 half3 __ovld __cnfn fmax(half3 x, half3 y);
   8199 half4 __ovld __cnfn fmax(half4 x, half4 y);
   8200 half8 __ovld __cnfn fmax(half8 x, half8 y);
   8201 half16 __ovld __cnfn fmax(half16 x, half16 y);
   8202 half2 __ovld __cnfn fmax(half2 x, half y);
   8203 half3 __ovld __cnfn fmax(half3 x, half y);
   8204 half4 __ovld __cnfn fmax(half4 x, half y);
   8205 half8 __ovld __cnfn fmax(half8 x, half y);
   8206 half16 __ovld __cnfn fmax(half16 x, half y);
   8207 #endif //cl_khr_fp16
   8208 
   8209 /**
   8210  * Returns y if y < x, otherwise it returns x. If one
   8211  * argument is a NaN, fmin() returns the other
   8212  * argument. If both arguments are NaNs, fmin()
   8213  * returns a NaN.
   8214  */
   8215 float __ovld __cnfn fmin(float x, float y);
   8216 float2 __ovld __cnfn fmin(float2 x, float2 y);
   8217 float3 __ovld __cnfn fmin(float3 x, float3 y);
   8218 float4 __ovld __cnfn fmin(float4 x, float4 y);
   8219 float8 __ovld __cnfn fmin(float8 x, float8 y);
   8220 float16 __ovld __cnfn fmin(float16 x, float16 y);
   8221 float2 __ovld __cnfn fmin(float2 x, float y);
   8222 float3 __ovld __cnfn fmin(float3 x, float y);
   8223 float4 __ovld __cnfn fmin(float4 x, float y);
   8224 float8 __ovld __cnfn fmin(float8 x, float y);
   8225 float16 __ovld __cnfn fmin(float16 x, float y);
   8226 #ifdef cl_khr_fp64
   8227 double __ovld __cnfn fmin(double x, double y);
   8228 double2 __ovld __cnfn fmin(double2 x, double2 y);
   8229 double3 __ovld __cnfn fmin(double3 x, double3 y);
   8230 double4 __ovld __cnfn fmin(double4 x, double4 y);
   8231 double8 __ovld __cnfn fmin(double8 x, double8 y);
   8232 double16 __ovld __cnfn fmin(double16 x, double16 y);
   8233 double2 __ovld __cnfn fmin(double2 x, double y);
   8234 double3 __ovld __cnfn fmin(double3 x, double y);
   8235 double4 __ovld __cnfn fmin(double4 x, double y);
   8236 double8 __ovld __cnfn fmin(double8 x, double y);
   8237 double16 __ovld __cnfn fmin(double16 x, double y);
   8238 #endif //cl_khr_fp64
   8239 #ifdef cl_khr_fp16
   8240 half __ovld __cnfn fmin(half x, half y);
   8241 half2 __ovld __cnfn fmin(half2 x, half2 y);
   8242 half3 __ovld __cnfn fmin(half3 x, half3 y);
   8243 half4 __ovld __cnfn fmin(half4 x, half4 y);
   8244 half8 __ovld __cnfn fmin(half8 x, half8 y);
   8245 half16 __ovld __cnfn fmin(half16 x, half16 y);
   8246 half2 __ovld __cnfn fmin(half2 x, half y);
   8247 half3 __ovld __cnfn fmin(half3 x, half y);
   8248 half4 __ovld __cnfn fmin(half4 x, half y);
   8249 half8 __ovld __cnfn fmin(half8 x, half y);
   8250 half16 __ovld __cnfn fmin(half16 x, half y);
   8251 #endif //cl_khr_fp16
   8252 
   8253 /**
   8254  * Modulus. Returns x - y * trunc (x/y).
   8255  */
   8256 float __ovld __cnfn fmod(float x, float y);
   8257 float2 __ovld __cnfn fmod(float2 x, float2 y);
   8258 float3 __ovld __cnfn fmod(float3 x, float3 y);
   8259 float4 __ovld __cnfn fmod(float4 x, float4 y);
   8260 float8 __ovld __cnfn fmod(float8 x, float8 y);
   8261 float16 __ovld __cnfn fmod(float16 x, float16 y);
   8262 #ifdef cl_khr_fp64
   8263 double __ovld __cnfn fmod(double x, double y);
   8264 double2 __ovld __cnfn fmod(double2 x, double2 y);
   8265 double3 __ovld __cnfn fmod(double3 x, double3 y);
   8266 double4 __ovld __cnfn fmod(double4 x, double4 y);
   8267 double8 __ovld __cnfn fmod(double8 x, double8 y);
   8268 double16 __ovld __cnfn fmod(double16 x, double16 y);
   8269 #endif //cl_khr_fp64
   8270 #ifdef cl_khr_fp16
   8271 half __ovld __cnfn fmod(half x, half y);
   8272 half2 __ovld __cnfn fmod(half2 x, half2 y);
   8273 half3 __ovld __cnfn fmod(half3 x, half3 y);
   8274 half4 __ovld __cnfn fmod(half4 x, half4 y);
   8275 half8 __ovld __cnfn fmod(half8 x, half8 y);
   8276 half16 __ovld __cnfn fmod(half16 x, half16 y);
   8277 #endif //cl_khr_fp16
   8278 
   8279 /**
   8280  * Returns fmin(x - floor (x), 0x1.fffffep-1f ).
   8281  * floor(x) is returned in iptr.
   8282  */
   8283 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   8284 float __ovld fract(float x, float *iptr);
   8285 float2 __ovld fract(float2 x, float2 *iptr);
   8286 float3 __ovld fract(float3 x, float3 *iptr);
   8287 float4 __ovld fract(float4 x, float4 *iptr);
   8288 float8 __ovld fract(float8 x, float8 *iptr);
   8289 float16 __ovld fract(float16 x, float16 *iptr);
   8290 #ifdef cl_khr_fp64
   8291 double __ovld fract(double x, double *iptr);
   8292 double2 __ovld fract(double2 x, double2 *iptr);
   8293 double3 __ovld fract(double3 x, double3 *iptr);
   8294 double4 __ovld fract(double4 x, double4 *iptr);
   8295 double8 __ovld fract(double8 x, double8 *iptr);
   8296 double16 __ovld fract(double16 x, double16 *iptr);
   8297 #endif //cl_khr_fp64
   8298 #ifdef cl_khr_fp16
   8299 half __ovld fract(half x, half *iptr);
   8300 half2 __ovld fract(half2 x, half2 *iptr);
   8301 half3 __ovld fract(half3 x, half3 *iptr);
   8302 half4 __ovld fract(half4 x, half4 *iptr);
   8303 half8 __ovld fract(half8 x, half8 *iptr);
   8304 half16 __ovld fract(half16 x, half16 *iptr);
   8305 #endif //cl_khr_fp16
   8306 #else
   8307 float __ovld fract(float x, __global float *iptr);
   8308 float2 __ovld fract(float2 x, __global float2 *iptr);
   8309 float3 __ovld fract(float3 x, __global float3 *iptr);
   8310 float4 __ovld fract(float4 x, __global float4 *iptr);
   8311 float8 __ovld fract(float8 x, __global float8 *iptr);
   8312 float16 __ovld fract(float16 x, __global float16 *iptr);
   8313 float __ovld fract(float x, __local float *iptr);
   8314 float2 __ovld fract(float2 x, __local float2 *iptr);
   8315 float3 __ovld fract(float3 x, __local float3 *iptr);
   8316 float4 __ovld fract(float4 x, __local float4 *iptr);
   8317 float8 __ovld fract(float8 x, __local float8 *iptr);
   8318 float16 __ovld fract(float16 x, __local float16 *iptr);
   8319 float __ovld fract(float x, __private float *iptr);
   8320 float2 __ovld fract(float2 x, __private float2 *iptr);
   8321 float3 __ovld fract(float3 x, __private float3 *iptr);
   8322 float4 __ovld fract(float4 x, __private float4 *iptr);
   8323 float8 __ovld fract(float8 x, __private float8 *iptr);
   8324 float16 __ovld fract(float16 x, __private float16 *iptr);
   8325 #ifdef cl_khr_fp64
   8326 double __ovld fract(double x, __global double *iptr);
   8327 double2 __ovld fract(double2 x, __global double2 *iptr);
   8328 double3 __ovld fract(double3 x, __global double3 *iptr);
   8329 double4 __ovld fract(double4 x, __global double4 *iptr);
   8330 double8 __ovld fract(double8 x, __global double8 *iptr);
   8331 double16 __ovld fract(double16 x, __global double16 *iptr);
   8332 double __ovld fract(double x, __local double *iptr);
   8333 double2 __ovld fract(double2 x, __local double2 *iptr);
   8334 double3 __ovld fract(double3 x, __local double3 *iptr);
   8335 double4 __ovld fract(double4 x, __local double4 *iptr);
   8336 double8 __ovld fract(double8 x, __local double8 *iptr);
   8337 double16 __ovld fract(double16 x, __local double16 *iptr);
   8338 double __ovld fract(double x, __private double *iptr);
   8339 double2 __ovld fract(double2 x, __private double2 *iptr);
   8340 double3 __ovld fract(double3 x, __private double3 *iptr);
   8341 double4 __ovld fract(double4 x, __private double4 *iptr);
   8342 double8 __ovld fract(double8 x, __private double8 *iptr);
   8343 double16 __ovld fract(double16 x, __private double16 *iptr);
   8344 #endif //cl_khr_fp64
   8345 #ifdef cl_khr_fp16
   8346 half __ovld fract(half x, __global half *iptr);
   8347 half2 __ovld fract(half2 x, __global half2 *iptr);
   8348 half3 __ovld fract(half3 x, __global half3 *iptr);
   8349 half4 __ovld fract(half4 x, __global half4 *iptr);
   8350 half8 __ovld fract(half8 x, __global half8 *iptr);
   8351 half16 __ovld fract(half16 x, __global half16 *iptr);
   8352 half __ovld fract(half x, __local half *iptr);
   8353 half2 __ovld fract(half2 x, __local half2 *iptr);
   8354 half3 __ovld fract(half3 x, __local half3 *iptr);
   8355 half4 __ovld fract(half4 x, __local half4 *iptr);
   8356 half8 __ovld fract(half8 x, __local half8 *iptr);
   8357 half16 __ovld fract(half16 x, __local half16 *iptr);
   8358 half __ovld fract(half x, __private half *iptr);
   8359 half2 __ovld fract(half2 x, __private half2 *iptr);
   8360 half3 __ovld fract(half3 x, __private half3 *iptr);
   8361 half4 __ovld fract(half4 x, __private half4 *iptr);
   8362 half8 __ovld fract(half8 x, __private half8 *iptr);
   8363 half16 __ovld fract(half16 x, __private half16 *iptr);
   8364 #endif //cl_khr_fp16
   8365 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   8366 
   8367 /**
   8368  * Extract mantissa and exponent from x. For each
   8369  * component the mantissa returned is a float with
   8370  * magnitude in the interval [1/2, 1) or 0. Each
   8371  * component of x equals mantissa returned * 2^exp.
   8372  */
   8373 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   8374 float __ovld frexp(float x, int *exp);
   8375 float2 __ovld frexp(float2 x, int2 *exp);
   8376 float3 __ovld frexp(float3 x, int3 *exp);
   8377 float4 __ovld frexp(float4 x, int4 *exp);
   8378 float8 __ovld frexp(float8 x, int8 *exp);
   8379 float16 __ovld frexp(float16 x, int16 *exp);
   8380 #ifdef cl_khr_fp64
   8381 double __ovld frexp(double x, int *exp);
   8382 double2 __ovld frexp(double2 x, int2 *exp);
   8383 double3 __ovld frexp(double3 x, int3 *exp);
   8384 double4 __ovld frexp(double4 x, int4 *exp);
   8385 double8 __ovld frexp(double8 x, int8 *exp);
   8386 double16 __ovld frexp(double16 x, int16 *exp);
   8387 #endif //cl_khr_fp64
   8388 #ifdef cl_khr_fp16
   8389 half __ovld frexp(half x, int *exp);
   8390 half2 __ovld frexp(half2 x, int2 *exp);
   8391 half3 __ovld frexp(half3 x, int3 *exp);
   8392 half4 __ovld frexp(half4 x, int4 *exp);
   8393 half8 __ovld frexp(half8 x, int8 *exp);
   8394 half16 __ovld frexp(half16 x, int16 *exp);
   8395 #endif //cl_khr_fp16
   8396 #else
   8397 float __ovld frexp(float x, __global int *exp);
   8398 float2 __ovld frexp(float2 x, __global int2 *exp);
   8399 float3 __ovld frexp(float3 x, __global int3 *exp);
   8400 float4 __ovld frexp(float4 x, __global int4 *exp);
   8401 float8 __ovld frexp(float8 x, __global int8 *exp);
   8402 float16 __ovld frexp(float16 x, __global int16 *exp);
   8403 float __ovld frexp(float x, __local int *exp);
   8404 float2 __ovld frexp(float2 x, __local int2 *exp);
   8405 float3 __ovld frexp(float3 x, __local int3 *exp);
   8406 float4 __ovld frexp(float4 x, __local int4 *exp);
   8407 float8 __ovld frexp(float8 x, __local int8 *exp);
   8408 float16 __ovld frexp(float16 x, __local int16 *exp);
   8409 float __ovld frexp(float x, __private int *exp);
   8410 float2 __ovld frexp(float2 x, __private int2 *exp);
   8411 float3 __ovld frexp(float3 x, __private int3 *exp);
   8412 float4 __ovld frexp(float4 x, __private int4 *exp);
   8413 float8 __ovld frexp(float8 x, __private int8 *exp);
   8414 float16 __ovld frexp(float16 x, __private int16 *exp);
   8415 #ifdef cl_khr_fp64
   8416 double __ovld frexp(double x, __global int *exp);
   8417 double2 __ovld frexp(double2 x, __global int2 *exp);
   8418 double3 __ovld frexp(double3 x, __global int3 *exp);
   8419 double4 __ovld frexp(double4 x, __global int4 *exp);
   8420 double8 __ovld frexp(double8 x, __global int8 *exp);
   8421 double16 __ovld frexp(double16 x, __global int16 *exp);
   8422 double __ovld frexp(double x, __local int *exp);
   8423 double2 __ovld frexp(double2 x, __local int2 *exp);
   8424 double3 __ovld frexp(double3 x, __local int3 *exp);
   8425 double4 __ovld frexp(double4 x, __local int4 *exp);
   8426 double8 __ovld frexp(double8 x, __local int8 *exp);
   8427 double16 __ovld frexp(double16 x, __local int16 *exp);
   8428 double __ovld frexp(double x, __private int *exp);
   8429 double2 __ovld frexp(double2 x, __private int2 *exp);
   8430 double3 __ovld frexp(double3 x, __private int3 *exp);
   8431 double4 __ovld frexp(double4 x, __private int4 *exp);
   8432 double8 __ovld frexp(double8 x, __private int8 *exp);
   8433 double16 __ovld frexp(double16 x, __private int16 *exp);
   8434 #endif //cl_khr_fp64
   8435 #ifdef cl_khr_fp16
   8436 half __ovld frexp(half x, __global int *exp);
   8437 half2 __ovld frexp(half2 x, __global int2 *exp);
   8438 half3 __ovld frexp(half3 x, __global int3 *exp);
   8439 half4 __ovld frexp(half4 x, __global int4 *exp);
   8440 half8 __ovld frexp(half8 x, __global int8 *exp);
   8441 half16 __ovld frexp(half16 x, __global int16 *exp);
   8442 half __ovld frexp(half x, __local int *exp);
   8443 half2 __ovld frexp(half2 x, __local int2 *exp);
   8444 half3 __ovld frexp(half3 x, __local int3 *exp);
   8445 half4 __ovld frexp(half4 x, __local int4 *exp);
   8446 half8 __ovld frexp(half8 x, __local int8 *exp);
   8447 half16 __ovld frexp(half16 x, __local int16 *exp);
   8448 half __ovld frexp(half x, __private int *exp);
   8449 half2 __ovld frexp(half2 x, __private int2 *exp);
   8450 half3 __ovld frexp(half3 x, __private int3 *exp);
   8451 half4 __ovld frexp(half4 x, __private int4 *exp);
   8452 half8 __ovld frexp(half8 x, __private int8 *exp);
   8453 half16 __ovld frexp(half16 x, __private int16 *exp);
   8454 #endif //cl_khr_fp16
   8455 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   8456 
   8457 /**
   8458  * Compute the value of the square root of x^2 + y^2
   8459  * without undue overflow or underflow.
   8460  */
   8461 float __ovld __cnfn hypot(float x, float y);
   8462 float2 __ovld __cnfn hypot(float2 x, float2 y);
   8463 float3 __ovld __cnfn hypot(float3 x, float3 y);
   8464 float4 __ovld __cnfn hypot(float4 x, float4 y);
   8465 float8 __ovld __cnfn hypot(float8 x, float8 y);
   8466 float16 __ovld __cnfn hypot(float16 x, float16 y);
   8467 #ifdef cl_khr_fp64
   8468 double __ovld __cnfn hypot(double x, double y);
   8469 double2 __ovld __cnfn hypot(double2 x, double2 y);
   8470 double3 __ovld __cnfn hypot(double3 x, double3 y);
   8471 double4 __ovld __cnfn hypot(double4 x, double4 y);
   8472 double8 __ovld __cnfn hypot(double8 x, double8 y);
   8473 double16 __ovld __cnfn hypot(double16 x, double16 y);
   8474 #endif //cl_khr_fp64
   8475 #ifdef cl_khr_fp16
   8476 half __ovld __cnfn hypot(half x, half y);
   8477 half2 __ovld __cnfn hypot(half2 x, half2 y);
   8478 half3 __ovld __cnfn hypot(half3 x, half3 y);
   8479 half4 __ovld __cnfn hypot(half4 x, half4 y);
   8480 half8 __ovld __cnfn hypot(half8 x, half8 y);
   8481 half16 __ovld __cnfn hypot(half16 x, half16 y);
   8482 #endif //cl_khr_fp16
   8483 
   8484 /**
   8485  * Return the exponent as an integer value.
   8486  */
   8487 int __ovld __cnfn ilogb(float x);
   8488 int2 __ovld __cnfn ilogb(float2 x);
   8489 int3 __ovld __cnfn ilogb(float3 x);
   8490 int4 __ovld __cnfn ilogb(float4 x);
   8491 int8 __ovld __cnfn ilogb(float8 x);
   8492 int16 __ovld __cnfn ilogb(float16 x);
   8493 #ifdef cl_khr_fp64
   8494 int __ovld __cnfn ilogb(double x);
   8495 int2 __ovld __cnfn ilogb(double2 x);
   8496 int3 __ovld __cnfn ilogb(double3 x);
   8497 int4 __ovld __cnfn ilogb(double4 x);
   8498 int8 __ovld __cnfn ilogb(double8 x);
   8499 int16 __ovld __cnfn ilogb(double16 x);
   8500 #endif //cl_khr_fp64
   8501 #ifdef cl_khr_fp16
   8502 int __ovld __cnfn ilogb(half x);
   8503 int2 __ovld __cnfn ilogb(half2 x);
   8504 int3 __ovld __cnfn ilogb(half3 x);
   8505 int4 __ovld __cnfn ilogb(half4 x);
   8506 int8 __ovld __cnfn ilogb(half8 x);
   8507 int16 __ovld __cnfn ilogb(half16 x);
   8508 #endif //cl_khr_fp16
   8509 
   8510 /**
   8511  * Multiply x by 2 to the power n.
   8512  */
   8513 float __ovld __cnfn ldexp(float x, int n);
   8514 float2 __ovld __cnfn ldexp(float2 x, int2 n);
   8515 float3 __ovld __cnfn ldexp(float3 x, int3 n);
   8516 float4 __ovld __cnfn ldexp(float4 x, int4 n);
   8517 float8 __ovld __cnfn ldexp(float8 x, int8 n);
   8518 float16 __ovld __cnfn ldexp(float16 x, int16 n);
   8519 float2 __ovld __cnfn ldexp(float2 x, int n);
   8520 float3 __ovld __cnfn ldexp(float3 x, int n);
   8521 float4 __ovld __cnfn ldexp(float4 x, int n);
   8522 float8 __ovld __cnfn ldexp(float8 x, int n);
   8523 float16 __ovld __cnfn ldexp(float16 x, int n);
   8524 #ifdef cl_khr_fp64
   8525 double __ovld __cnfn ldexp(double x, int n);
   8526 double2 __ovld __cnfn ldexp(double2 x, int2 n);
   8527 double3 __ovld __cnfn ldexp(double3 x, int3 n);
   8528 double4 __ovld __cnfn ldexp(double4 x, int4 n);
   8529 double8 __ovld __cnfn ldexp(double8 x, int8 n);
   8530 double16 __ovld __cnfn ldexp(double16 x, int16 n);
   8531 double2 __ovld __cnfn ldexp(double2 x, int n);
   8532 double3 __ovld __cnfn ldexp(double3 x, int n);
   8533 double4 __ovld __cnfn ldexp(double4 x, int n);
   8534 double8 __ovld __cnfn ldexp(double8 x, int n);
   8535 double16 __ovld __cnfn ldexp(double16 x, int n);
   8536 #endif //cl_khr_fp64
   8537 #ifdef cl_khr_fp16
   8538 half __ovld __cnfn ldexp(half x, int n);
   8539 half2 __ovld __cnfn ldexp(half2 x, int2 n);
   8540 half3 __ovld __cnfn ldexp(half3 x, int3 n);
   8541 half4 __ovld __cnfn ldexp(half4 x, int4 n);
   8542 half8 __ovld __cnfn ldexp(half8 x, int8 n);
   8543 half16 __ovld __cnfn ldexp(half16 x, int16 n);
   8544 half2 __ovld __cnfn ldexp(half2 x, int n);
   8545 half3 __ovld __cnfn ldexp(half3 x, int n);
   8546 half4 __ovld __cnfn ldexp(half4 x, int n);
   8547 half8 __ovld __cnfn ldexp(half8 x, int n);
   8548 half16 __ovld __cnfn ldexp(half16 x, int n);
   8549 #endif //cl_khr_fp16
   8550 
   8551 /**
   8552  * Log gamma function. Returns the natural
   8553  * logarithm of the absolute value of the gamma
   8554  * function. The sign of the gamma function is
   8555  * returned in the signp argument of lgamma_r.
   8556  */
   8557 float __ovld __cnfn lgamma(float x);
   8558 float2 __ovld __cnfn lgamma(float2 x);
   8559 float3 __ovld __cnfn lgamma(float3 x);
   8560 float4 __ovld __cnfn lgamma(float4 x);
   8561 float8 __ovld __cnfn lgamma(float8 x);
   8562 float16 __ovld __cnfn lgamma(float16 x);
   8563 #ifdef cl_khr_fp64
   8564 double __ovld __cnfn lgamma(double x);
   8565 double2 __ovld __cnfn lgamma(double2 x);
   8566 double3 __ovld __cnfn lgamma(double3 x);
   8567 double4 __ovld __cnfn lgamma(double4 x);
   8568 double8 __ovld __cnfn lgamma(double8 x);
   8569 double16 __ovld __cnfn lgamma(double16 x);
   8570 #endif //cl_khr_fp64
   8571 #ifdef cl_khr_fp16
   8572 half __ovld __cnfn lgamma(half x);
   8573 half2 __ovld __cnfn lgamma(half2 x);
   8574 half3 __ovld __cnfn lgamma(half3 x);
   8575 half4 __ovld __cnfn lgamma(half4 x);
   8576 half8 __ovld __cnfn lgamma(half8 x);
   8577 half16 __ovld __cnfn lgamma(half16 x);
   8578 #endif //cl_khr_fp16
   8579 
   8580 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   8581 float __ovld lgamma_r(float x, int *signp);
   8582 float2 __ovld lgamma_r(float2 x, int2 *signp);
   8583 float3 __ovld lgamma_r(float3 x, int3 *signp);
   8584 float4 __ovld lgamma_r(float4 x, int4 *signp);
   8585 float8 __ovld lgamma_r(float8 x, int8 *signp);
   8586 float16 __ovld lgamma_r(float16 x, int16 *signp);
   8587 #ifdef cl_khr_fp64
   8588 double __ovld lgamma_r(double x, int *signp);
   8589 double2 __ovld lgamma_r(double2 x, int2 *signp);
   8590 double3 __ovld lgamma_r(double3 x, int3 *signp);
   8591 double4 __ovld lgamma_r(double4 x, int4 *signp);
   8592 double8 __ovld lgamma_r(double8 x, int8 *signp);
   8593 double16 __ovld lgamma_r(double16 x, int16 *signp);
   8594 #endif //cl_khr_fp64
   8595 #ifdef cl_khr_fp16
   8596 half __ovld lgamma_r(half x, int *signp);
   8597 half2 __ovld lgamma_r(half2 x, int2 *signp);
   8598 half3 __ovld lgamma_r(half3 x, int3 *signp);
   8599 half4 __ovld lgamma_r(half4 x, int4 *signp);
   8600 half8 __ovld lgamma_r(half8 x, int8 *signp);
   8601 half16 __ovld lgamma_r(half16 x, int16 *signp);
   8602 #endif //cl_khr_fp16
   8603 #else
   8604 float __ovld lgamma_r(float x, __global int *signp);
   8605 float2 __ovld lgamma_r(float2 x, __global int2 *signp);
   8606 float3 __ovld lgamma_r(float3 x, __global int3 *signp);
   8607 float4 __ovld lgamma_r(float4 x, __global int4 *signp);
   8608 float8 __ovld lgamma_r(float8 x, __global int8 *signp);
   8609 float16 __ovld lgamma_r(float16 x, __global int16 *signp);
   8610 float __ovld lgamma_r(float x, __local int *signp);
   8611 float2 __ovld lgamma_r(float2 x, __local int2 *signp);
   8612 float3 __ovld lgamma_r(float3 x, __local int3 *signp);
   8613 float4 __ovld lgamma_r(float4 x, __local int4 *signp);
   8614 float8 __ovld lgamma_r(float8 x, __local int8 *signp);
   8615 float16 __ovld lgamma_r(float16 x, __local int16 *signp);
   8616 float __ovld lgamma_r(float x, __private int *signp);
   8617 float2 __ovld lgamma_r(float2 x, __private int2 *signp);
   8618 float3 __ovld lgamma_r(float3 x, __private int3 *signp);
   8619 float4 __ovld lgamma_r(float4 x, __private int4 *signp);
   8620 float8 __ovld lgamma_r(float8 x, __private int8 *signp);
   8621 float16 __ovld lgamma_r(float16 x, __private int16 *signp);
   8622 #ifdef cl_khr_fp64
   8623 double __ovld lgamma_r(double x, __global int *signp);
   8624 double2 __ovld lgamma_r(double2 x, __global int2 *signp);
   8625 double3 __ovld lgamma_r(double3 x, __global int3 *signp);
   8626 double4 __ovld lgamma_r(double4 x, __global int4 *signp);
   8627 double8 __ovld lgamma_r(double8 x, __global int8 *signp);
   8628 double16 __ovld lgamma_r(double16 x, __global int16 *signp);
   8629 double __ovld lgamma_r(double x, __local int *signp);
   8630 double2 __ovld lgamma_r(double2 x, __local int2 *signp);
   8631 double3 __ovld lgamma_r(double3 x, __local int3 *signp);
   8632 double4 __ovld lgamma_r(double4 x, __local int4 *signp);
   8633 double8 __ovld lgamma_r(double8 x, __local int8 *signp);
   8634 double16 __ovld lgamma_r(double16 x, __local int16 *signp);
   8635 double __ovld lgamma_r(double x, __private int *signp);
   8636 double2 __ovld lgamma_r(double2 x, __private int2 *signp);
   8637 double3 __ovld lgamma_r(double3 x, __private int3 *signp);
   8638 double4 __ovld lgamma_r(double4 x, __private int4 *signp);
   8639 double8 __ovld lgamma_r(double8 x, __private int8 *signp);
   8640 double16 __ovld lgamma_r(double16 x, __private int16 *signp);
   8641 #endif //cl_khr_fp64
   8642 #ifdef cl_khr_fp16
   8643 half __ovld lgamma_r(half x, __global int *signp);
   8644 half2 __ovld lgamma_r(half2 x, __global int2 *signp);
   8645 half3 __ovld lgamma_r(half3 x, __global int3 *signp);
   8646 half4 __ovld lgamma_r(half4 x, __global int4 *signp);
   8647 half8 __ovld lgamma_r(half8 x, __global int8 *signp);
   8648 half16 __ovld lgamma_r(half16 x, __global int16 *signp);
   8649 half __ovld lgamma_r(half x, __local int *signp);
   8650 half2 __ovld lgamma_r(half2 x, __local int2 *signp);
   8651 half3 __ovld lgamma_r(half3 x, __local int3 *signp);
   8652 half4 __ovld lgamma_r(half4 x, __local int4 *signp);
   8653 half8 __ovld lgamma_r(half8 x, __local int8 *signp);
   8654 half16 __ovld lgamma_r(half16 x, __local int16 *signp);
   8655 half __ovld lgamma_r(half x, __private int *signp);
   8656 half2 __ovld lgamma_r(half2 x, __private int2 *signp);
   8657 half3 __ovld lgamma_r(half3 x, __private int3 *signp);
   8658 half4 __ovld lgamma_r(half4 x, __private int4 *signp);
   8659 half8 __ovld lgamma_r(half8 x, __private int8 *signp);
   8660 half16 __ovld lgamma_r(half16 x, __private int16 *signp);
   8661 #endif //cl_khr_fp16
   8662 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   8663 
   8664 /**
   8665  * Compute natural logarithm.
   8666  */
   8667 float __ovld __cnfn log(float);
   8668 float2 __ovld __cnfn log(float2);
   8669 float3 __ovld __cnfn log(float3);
   8670 float4 __ovld __cnfn log(float4);
   8671 float8 __ovld __cnfn log(float8);
   8672 float16 __ovld __cnfn log(float16);
   8673 #ifdef cl_khr_fp64
   8674 double __ovld __cnfn log(double);
   8675 double2 __ovld __cnfn log(double2);
   8676 double3 __ovld __cnfn log(double3);
   8677 double4 __ovld __cnfn log(double4);
   8678 double8 __ovld __cnfn log(double8);
   8679 double16 __ovld __cnfn log(double16);
   8680 #endif //cl_khr_fp64
   8681 #ifdef cl_khr_fp16
   8682 half __ovld __cnfn log(half);
   8683 half2 __ovld __cnfn log(half2);
   8684 half3 __ovld __cnfn log(half3);
   8685 half4 __ovld __cnfn log(half4);
   8686 half8 __ovld __cnfn log(half8);
   8687 half16 __ovld __cnfn log(half16);
   8688 #endif //cl_khr_fp16
   8689 
   8690 /**
   8691  * Compute a base 2 logarithm.
   8692  */
   8693 float __ovld __cnfn log2(float);
   8694 float2 __ovld __cnfn log2(float2);
   8695 float3 __ovld __cnfn log2(float3);
   8696 float4 __ovld __cnfn log2(float4);
   8697 float8 __ovld __cnfn log2(float8);
   8698 float16 __ovld __cnfn log2(float16);
   8699 #ifdef cl_khr_fp64
   8700 double __ovld __cnfn log2(double);
   8701 double2 __ovld __cnfn log2(double2);
   8702 double3 __ovld __cnfn log2(double3);
   8703 double4 __ovld __cnfn log2(double4);
   8704 double8 __ovld __cnfn log2(double8);
   8705 double16 __ovld __cnfn log2(double16);
   8706 #endif //cl_khr_fp64
   8707 #ifdef cl_khr_fp16
   8708 half __ovld __cnfn log2(half);
   8709 half2 __ovld __cnfn log2(half2);
   8710 half3 __ovld __cnfn log2(half3);
   8711 half4 __ovld __cnfn log2(half4);
   8712 half8 __ovld __cnfn log2(half8);
   8713 half16 __ovld __cnfn log2(half16);
   8714 #endif //cl_khr_fp16
   8715 
   8716 /**
   8717  * Compute a base 10 logarithm.
   8718  */
   8719 float __ovld __cnfn log10(float);
   8720 float2 __ovld __cnfn log10(float2);
   8721 float3 __ovld __cnfn log10(float3);
   8722 float4 __ovld __cnfn log10(float4);
   8723 float8 __ovld __cnfn log10(float8);
   8724 float16 __ovld __cnfn log10(float16);
   8725 #ifdef cl_khr_fp64
   8726 double __ovld __cnfn log10(double);
   8727 double2 __ovld __cnfn log10(double2);
   8728 double3 __ovld __cnfn log10(double3);
   8729 double4 __ovld __cnfn log10(double4);
   8730 double8 __ovld __cnfn log10(double8);
   8731 double16 __ovld __cnfn log10(double16);
   8732 #endif //cl_khr_fp64
   8733 #ifdef cl_khr_fp16
   8734 half __ovld __cnfn log10(half);
   8735 half2 __ovld __cnfn log10(half2);
   8736 half3 __ovld __cnfn log10(half3);
   8737 half4 __ovld __cnfn log10(half4);
   8738 half8 __ovld __cnfn log10(half8);
   8739 half16 __ovld __cnfn log10(half16);
   8740 #endif //cl_khr_fp16
   8741 
   8742 /**
   8743  * Compute a base e logarithm of (1.0 + x).
   8744  */
   8745 float __ovld __cnfn log1p(float x);
   8746 float2 __ovld __cnfn log1p(float2 x);
   8747 float3 __ovld __cnfn log1p(float3 x);
   8748 float4 __ovld __cnfn log1p(float4 x);
   8749 float8 __ovld __cnfn log1p(float8 x);
   8750 float16 __ovld __cnfn log1p(float16 x);
   8751 #ifdef cl_khr_fp64
   8752 double __ovld __cnfn log1p(double x);
   8753 double2 __ovld __cnfn log1p(double2 x);
   8754 double3 __ovld __cnfn log1p(double3 x);
   8755 double4 __ovld __cnfn log1p(double4 x);
   8756 double8 __ovld __cnfn log1p(double8 x);
   8757 double16 __ovld __cnfn log1p(double16 x);
   8758 #endif //cl_khr_fp64
   8759 #ifdef cl_khr_fp16
   8760 half __ovld __cnfn log1p(half x);
   8761 half2 __ovld __cnfn log1p(half2 x);
   8762 half3 __ovld __cnfn log1p(half3 x);
   8763 half4 __ovld __cnfn log1p(half4 x);
   8764 half8 __ovld __cnfn log1p(half8 x);
   8765 half16 __ovld __cnfn log1p(half16 x);
   8766 #endif //cl_khr_fp16
   8767 
   8768 /**
   8769  * Compute the exponent of x, which is the integral
   8770  * part of logr | x |.
   8771  */
   8772 float __ovld __cnfn logb(float x);
   8773 float2 __ovld __cnfn logb(float2 x);
   8774 float3 __ovld __cnfn logb(float3 x);
   8775 float4 __ovld __cnfn logb(float4 x);
   8776 float8 __ovld __cnfn logb(float8 x);
   8777 float16 __ovld __cnfn logb(float16 x);
   8778 #ifdef cl_khr_fp64
   8779 double __ovld __cnfn logb(double x);
   8780 double2 __ovld __cnfn logb(double2 x);
   8781 double3 __ovld __cnfn logb(double3 x);
   8782 double4 __ovld __cnfn logb(double4 x);
   8783 double8 __ovld __cnfn logb(double8 x);
   8784 double16 __ovld __cnfn logb(double16 x);
   8785 #endif //cl_khr_fp64
   8786 #ifdef cl_khr_fp16
   8787 half __ovld __cnfn logb(half x);
   8788 half2 __ovld __cnfn logb(half2 x);
   8789 half3 __ovld __cnfn logb(half3 x);
   8790 half4 __ovld __cnfn logb(half4 x);
   8791 half8 __ovld __cnfn logb(half8 x);
   8792 half16 __ovld __cnfn logb(half16 x);
   8793 #endif //cl_khr_fp16
   8794 
   8795 /**
   8796  * mad approximates a * b + c. Whether or how the
   8797  * product of a * b is rounded and how supernormal or
   8798  * subnormal intermediate products are handled is not
   8799  * defined. mad is intended to be used where speed is
   8800  * preferred over accuracy.
   8801  */
   8802 float __ovld __cnfn mad(float a, float b, float c);
   8803 float2 __ovld __cnfn mad(float2 a, float2 b, float2 c);
   8804 float3 __ovld __cnfn mad(float3 a, float3 b, float3 c);
   8805 float4 __ovld __cnfn mad(float4 a, float4 b, float4 c);
   8806 float8 __ovld __cnfn mad(float8 a, float8 b, float8 c);
   8807 float16 __ovld __cnfn mad(float16 a, float16 b, float16 c);
   8808 #ifdef cl_khr_fp64
   8809 double __ovld __cnfn mad(double a, double b, double c);
   8810 double2 __ovld __cnfn mad(double2 a, double2 b, double2 c);
   8811 double3 __ovld __cnfn mad(double3 a, double3 b, double3 c);
   8812 double4 __ovld __cnfn mad(double4 a, double4 b, double4 c);
   8813 double8 __ovld __cnfn mad(double8 a, double8 b, double8 c);
   8814 double16 __ovld __cnfn mad(double16 a, double16 b, double16 c);
   8815 #endif //cl_khr_fp64
   8816 #ifdef cl_khr_fp16
   8817 half __ovld __cnfn mad(half a, half b, half c);
   8818 half2 __ovld __cnfn mad(half2 a, half2 b, half2 c);
   8819 half3 __ovld __cnfn mad(half3 a, half3 b, half3 c);
   8820 half4 __ovld __cnfn mad(half4 a, half4 b, half4 c);
   8821 half8 __ovld __cnfn mad(half8 a, half8 b, half8 c);
   8822 half16 __ovld __cnfn mad(half16 a, half16 b, half16 c);
   8823 #endif //cl_khr_fp16
   8824 
   8825 /**
   8826  * Returns x if | x | > | y |, y if | y | > | x |, otherwise
   8827  * fmax(x, y).
   8828  */
   8829 float __ovld __cnfn maxmag(float x, float y);
   8830 float2 __ovld __cnfn maxmag(float2 x, float2 y);
   8831 float3 __ovld __cnfn maxmag(float3 x, float3 y);
   8832 float4 __ovld __cnfn maxmag(float4 x, float4 y);
   8833 float8 __ovld __cnfn maxmag(float8 x, float8 y);
   8834 float16 __ovld __cnfn maxmag(float16 x, float16 y);
   8835 #ifdef cl_khr_fp64
   8836 double __ovld __cnfn maxmag(double x, double y);
   8837 double2 __ovld __cnfn maxmag(double2 x, double2 y);
   8838 double3 __ovld __cnfn maxmag(double3 x, double3 y);
   8839 double4 __ovld __cnfn maxmag(double4 x, double4 y);
   8840 double8 __ovld __cnfn maxmag(double8 x, double8 y);
   8841 double16 __ovld __cnfn maxmag(double16 x, double16 y);
   8842 #endif //cl_khr_fp64
   8843 #ifdef cl_khr_fp16
   8844 half __ovld __cnfn maxmag(half x, half y);
   8845 half2 __ovld __cnfn maxmag(half2 x, half2 y);
   8846 half3 __ovld __cnfn maxmag(half3 x, half3 y);
   8847 half4 __ovld __cnfn maxmag(half4 x, half4 y);
   8848 half8 __ovld __cnfn maxmag(half8 x, half8 y);
   8849 half16 __ovld __cnfn maxmag(half16 x, half16 y);
   8850 #endif //cl_khr_fp16
   8851 
   8852 /**
   8853  * Returns x if | x | < | y |, y if | y | < | x |, otherwise
   8854  * fmin(x, y).
   8855  */
   8856 float __ovld __cnfn minmag(float x, float y);
   8857 float2 __ovld __cnfn minmag(float2 x, float2 y);
   8858 float3 __ovld __cnfn minmag(float3 x, float3 y);
   8859 float4 __ovld __cnfn minmag(float4 x, float4 y);
   8860 float8 __ovld __cnfn minmag(float8 x, float8 y);
   8861 float16 __ovld __cnfn minmag(float16 x, float16 y);
   8862 #ifdef cl_khr_fp64
   8863 double __ovld __cnfn minmag(double x, double y);
   8864 double2 __ovld __cnfn minmag(double2 x, double2 y);
   8865 double3 __ovld __cnfn minmag(double3 x, double3 y);
   8866 double4 __ovld __cnfn minmag(double4 x, double4 y);
   8867 double8 __ovld __cnfn minmag(double8 x, double8 y);
   8868 double16 __ovld __cnfn minmag(double16 x, double16 y);
   8869 #endif //cl_khr_fp64
   8870 #ifdef cl_khr_fp16
   8871 half __ovld __cnfn minmag(half x, half y);
   8872 half2 __ovld __cnfn minmag(half2 x, half2 y);
   8873 half3 __ovld __cnfn minmag(half3 x, half3 y);
   8874 half4 __ovld __cnfn minmag(half4 x, half4 y);
   8875 half8 __ovld __cnfn minmag(half8 x, half8 y);
   8876 half16 __ovld __cnfn minmag(half16 x, half16 y);
   8877 #endif //cl_khr_fp16
   8878 
   8879 /**
   8880  * Decompose a floating-point number. The modf
   8881  * function breaks the argument x into integral and
   8882  * fractional parts, each of which has the same sign as
   8883  * the argument. It stores the integral part in the object
   8884  * pointed to by iptr.
   8885  */
   8886 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   8887 float __ovld modf(float x, float *iptr);
   8888 float2 __ovld modf(float2 x, float2 *iptr);
   8889 float3 __ovld modf(float3 x, float3 *iptr);
   8890 float4 __ovld modf(float4 x, float4 *iptr);
   8891 float8 __ovld modf(float8 x, float8 *iptr);
   8892 float16 __ovld modf(float16 x, float16 *iptr);
   8893 #ifdef cl_khr_fp64
   8894 double __ovld modf(double x, double *iptr);
   8895 double2 __ovld modf(double2 x, double2 *iptr);
   8896 double3 __ovld modf(double3 x, double3 *iptr);
   8897 double4 __ovld modf(double4 x, double4 *iptr);
   8898 double8 __ovld modf(double8 x, double8 *iptr);
   8899 double16 __ovld modf(double16 x, double16 *iptr);
   8900 #endif //cl_khr_fp64
   8901 #ifdef cl_khr_fp16
   8902 half __ovld modf(half x, half *iptr);
   8903 half2 __ovld modf(half2 x, half2 *iptr);
   8904 half3 __ovld modf(half3 x, half3 *iptr);
   8905 half4 __ovld modf(half4 x, half4 *iptr);
   8906 half8 __ovld modf(half8 x, half8 *iptr);
   8907 half16 __ovld modf(half16 x, half16 *iptr);
   8908 #endif //cl_khr_fp16
   8909 #else
   8910 float __ovld modf(float x, __global float *iptr);
   8911 float2 __ovld modf(float2 x, __global float2 *iptr);
   8912 float3 __ovld modf(float3 x, __global float3 *iptr);
   8913 float4 __ovld modf(float4 x, __global float4 *iptr);
   8914 float8 __ovld modf(float8 x, __global float8 *iptr);
   8915 float16 __ovld modf(float16 x, __global float16 *iptr);
   8916 float __ovld modf(float x, __local float *iptr);
   8917 float2 __ovld modf(float2 x, __local float2 *iptr);
   8918 float3 __ovld modf(float3 x, __local float3 *iptr);
   8919 float4 __ovld modf(float4 x, __local float4 *iptr);
   8920 float8 __ovld modf(float8 x, __local float8 *iptr);
   8921 float16 __ovld modf(float16 x, __local float16 *iptr);
   8922 float __ovld modf(float x, __private float *iptr);
   8923 float2 __ovld modf(float2 x, __private float2 *iptr);
   8924 float3 __ovld modf(float3 x, __private float3 *iptr);
   8925 float4 __ovld modf(float4 x, __private float4 *iptr);
   8926 float8 __ovld modf(float8 x, __private float8 *iptr);
   8927 float16 __ovld modf(float16 x, __private float16 *iptr);
   8928 #ifdef cl_khr_fp64
   8929 double __ovld modf(double x, __global double *iptr);
   8930 double2 __ovld modf(double2 x, __global double2 *iptr);
   8931 double3 __ovld modf(double3 x, __global double3 *iptr);
   8932 double4 __ovld modf(double4 x, __global double4 *iptr);
   8933 double8 __ovld modf(double8 x, __global double8 *iptr);
   8934 double16 __ovld modf(double16 x, __global double16 *iptr);
   8935 double __ovld modf(double x, __local double *iptr);
   8936 double2 __ovld modf(double2 x, __local double2 *iptr);
   8937 double3 __ovld modf(double3 x, __local double3 *iptr);
   8938 double4 __ovld modf(double4 x, __local double4 *iptr);
   8939 double8 __ovld modf(double8 x, __local double8 *iptr);
   8940 double16 __ovld modf(double16 x, __local double16 *iptr);
   8941 double __ovld modf(double x, __private double *iptr);
   8942 double2 __ovld modf(double2 x, __private double2 *iptr);
   8943 double3 __ovld modf(double3 x, __private double3 *iptr);
   8944 double4 __ovld modf(double4 x, __private double4 *iptr);
   8945 double8 __ovld modf(double8 x, __private double8 *iptr);
   8946 double16 __ovld modf(double16 x, __private double16 *iptr);
   8947 #endif //cl_khr_fp64
   8948 #ifdef cl_khr_fp16
   8949 half __ovld modf(half x, __global half *iptr);
   8950 half2 __ovld modf(half2 x, __global half2 *iptr);
   8951 half3 __ovld modf(half3 x, __global half3 *iptr);
   8952 half4 __ovld modf(half4 x, __global half4 *iptr);
   8953 half8 __ovld modf(half8 x, __global half8 *iptr);
   8954 half16 __ovld modf(half16 x, __global half16 *iptr);
   8955 half __ovld modf(half x, __local half *iptr);
   8956 half2 __ovld modf(half2 x, __local half2 *iptr);
   8957 half3 __ovld modf(half3 x, __local half3 *iptr);
   8958 half4 __ovld modf(half4 x, __local half4 *iptr);
   8959 half8 __ovld modf(half8 x, __local half8 *iptr);
   8960 half16 __ovld modf(half16 x, __local half16 *iptr);
   8961 half __ovld modf(half x, __private half *iptr);
   8962 half2 __ovld modf(half2 x, __private half2 *iptr);
   8963 half3 __ovld modf(half3 x, __private half3 *iptr);
   8964 half4 __ovld modf(half4 x, __private half4 *iptr);
   8965 half8 __ovld modf(half8 x, __private half8 *iptr);
   8966 half16 __ovld modf(half16 x, __private half16 *iptr);
   8967 #endif //cl_khr_fp16
   8968 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   8969 
   8970 /**
   8971  * Returns a quiet NaN. The nancode may be placed
   8972  * in the significand of the resulting NaN.
   8973  */
   8974 float __ovld __cnfn nan(uint nancode);
   8975 float2 __ovld __cnfn nan(uint2 nancode);
   8976 float3 __ovld __cnfn nan(uint3 nancode);
   8977 float4 __ovld __cnfn nan(uint4 nancode);
   8978 float8 __ovld __cnfn nan(uint8 nancode);
   8979 float16 __ovld __cnfn nan(uint16 nancode);
   8980 #ifdef cl_khr_fp64
   8981 double __ovld __cnfn nan(ulong nancode);
   8982 double2 __ovld __cnfn nan(ulong2 nancode);
   8983 double3 __ovld __cnfn nan(ulong3 nancode);
   8984 double4 __ovld __cnfn nan(ulong4 nancode);
   8985 double8 __ovld __cnfn nan(ulong8 nancode);
   8986 double16 __ovld __cnfn nan(ulong16 nancode);
   8987 #endif //cl_khr_fp64
   8988 #ifdef cl_khr_fp16
   8989 half __ovld __cnfn nan(ushort nancode);
   8990 half2 __ovld __cnfn nan(ushort2 nancode);
   8991 half3 __ovld __cnfn nan(ushort3 nancode);
   8992 half4 __ovld __cnfn nan(ushort4 nancode);
   8993 half8 __ovld __cnfn nan(ushort8 nancode);
   8994 half16 __ovld __cnfn nan(ushort16 nancode);
   8995 #endif //cl_khr_fp16
   8996 
   8997 /**
   8998  * Computes the next representable single-precision
   8999  * floating-point value following x in the direction of
   9000  * y. Thus, if y is less than x, nextafter() returns the
   9001  * largest representable floating-point number less
   9002  * than x.
   9003  */
   9004 float __ovld __cnfn nextafter(float x, float y);
   9005 float2 __ovld __cnfn nextafter(float2 x, float2 y);
   9006 float3 __ovld __cnfn nextafter(float3 x, float3 y);
   9007 float4 __ovld __cnfn nextafter(float4 x, float4 y);
   9008 float8 __ovld __cnfn nextafter(float8 x, float8 y);
   9009 float16 __ovld __cnfn nextafter(float16 x, float16 y);
   9010 #ifdef cl_khr_fp64
   9011 double __ovld __cnfn nextafter(double x, double y);
   9012 double2 __ovld __cnfn nextafter(double2 x, double2 y);
   9013 double3 __ovld __cnfn nextafter(double3 x, double3 y);
   9014 double4 __ovld __cnfn nextafter(double4 x, double4 y);
   9015 double8 __ovld __cnfn nextafter(double8 x, double8 y);
   9016 double16 __ovld __cnfn nextafter(double16 x, double16 y);
   9017 #endif //cl_khr_fp64
   9018 #ifdef cl_khr_fp16
   9019 half __ovld __cnfn nextafter(half x, half y);
   9020 half2 __ovld __cnfn nextafter(half2 x, half2 y);
   9021 half3 __ovld __cnfn nextafter(half3 x, half3 y);
   9022 half4 __ovld __cnfn nextafter(half4 x, half4 y);
   9023 half8 __ovld __cnfn nextafter(half8 x, half8 y);
   9024 half16 __ovld __cnfn nextafter(half16 x, half16 y);
   9025 #endif //cl_khr_fp16
   9026 
   9027 /**
   9028  * Compute x to the power y.
   9029  */
   9030 float __ovld __cnfn pow(float x, float y);
   9031 float2 __ovld __cnfn pow(float2 x, float2 y);
   9032 float3 __ovld __cnfn pow(float3 x, float3 y);
   9033 float4 __ovld __cnfn pow(float4 x, float4 y);
   9034 float8 __ovld __cnfn pow(float8 x, float8 y);
   9035 float16 __ovld __cnfn pow(float16 x, float16 y);
   9036 #ifdef cl_khr_fp64
   9037 double __ovld __cnfn pow(double x, double y);
   9038 double2 __ovld __cnfn pow(double2 x, double2 y);
   9039 double3 __ovld __cnfn pow(double3 x, double3 y);
   9040 double4 __ovld __cnfn pow(double4 x, double4 y);
   9041 double8 __ovld __cnfn pow(double8 x, double8 y);
   9042 double16 __ovld __cnfn pow(double16 x, double16 y);
   9043 #endif //cl_khr_fp64
   9044 #ifdef cl_khr_fp16
   9045 half __ovld __cnfn pow(half x, half y);
   9046 half2 __ovld __cnfn pow(half2 x, half2 y);
   9047 half3 __ovld __cnfn pow(half3 x, half3 y);
   9048 half4 __ovld __cnfn pow(half4 x, half4 y);
   9049 half8 __ovld __cnfn pow(half8 x, half8 y);
   9050 half16 __ovld __cnfn pow(half16 x, half16 y);
   9051 #endif //cl_khr_fp16
   9052 
   9053 /**
   9054  * Compute x to the power y, where y is an integer.
   9055  */
   9056 float __ovld __cnfn pown(float x, int y);
   9057 float2 __ovld __cnfn pown(float2 x, int2 y);
   9058 float3 __ovld __cnfn pown(float3 x, int3 y);
   9059 float4 __ovld __cnfn pown(float4 x, int4 y);
   9060 float8 __ovld __cnfn pown(float8 x, int8 y);
   9061 float16 __ovld __cnfn pown(float16 x, int16 y);
   9062 #ifdef cl_khr_fp64
   9063 double __ovld __cnfn pown(double x, int y);
   9064 double2 __ovld __cnfn pown(double2 x, int2 y);
   9065 double3 __ovld __cnfn pown(double3 x, int3 y);
   9066 double4 __ovld __cnfn pown(double4 x, int4 y);
   9067 double8 __ovld __cnfn pown(double8 x, int8 y);
   9068 double16 __ovld __cnfn pown(double16 x, int16 y);
   9069 #endif //cl_khr_fp64
   9070 #ifdef cl_khr_fp16
   9071 half __ovld __cnfn pown(half x, int y);
   9072 half2 __ovld __cnfn pown(half2 x, int2 y);
   9073 half3 __ovld __cnfn pown(half3 x, int3 y);
   9074 half4 __ovld __cnfn pown(half4 x, int4 y);
   9075 half8 __ovld __cnfn pown(half8 x, int8 y);
   9076 half16 __ovld __cnfn pown(half16 x, int16 y);
   9077 #endif //cl_khr_fp16
   9078 
   9079 /**
   9080  * Compute x to the power y, where x is >= 0.
   9081  */
   9082 float __ovld __cnfn powr(float x, float y);
   9083 float2 __ovld __cnfn powr(float2 x, float2 y);
   9084 float3 __ovld __cnfn powr(float3 x, float3 y);
   9085 float4 __ovld __cnfn powr(float4 x, float4 y);
   9086 float8 __ovld __cnfn powr(float8 x, float8 y);
   9087 float16 __ovld __cnfn powr(float16 x, float16 y);
   9088 #ifdef cl_khr_fp64
   9089 double __ovld __cnfn powr(double x, double y);
   9090 double2 __ovld __cnfn powr(double2 x, double2 y);
   9091 double3 __ovld __cnfn powr(double3 x, double3 y);
   9092 double4 __ovld __cnfn powr(double4 x, double4 y);
   9093 double8 __ovld __cnfn powr(double8 x, double8 y);
   9094 double16 __ovld __cnfn powr(double16 x, double16 y);
   9095 #endif //cl_khr_fp64
   9096 #ifdef cl_khr_fp16
   9097 half __ovld __cnfn powr(half x, half y);
   9098 half2 __ovld __cnfn powr(half2 x, half2 y);
   9099 half3 __ovld __cnfn powr(half3 x, half3 y);
   9100 half4 __ovld __cnfn powr(half4 x, half4 y);
   9101 half8 __ovld __cnfn powr(half8 x, half8 y);
   9102 half16 __ovld __cnfn powr(half16 x, half16 y);
   9103 #endif //cl_khr_fp16
   9104 
   9105 /**
   9106  * Compute the value r such that r = x - n*y, where n
   9107  * is the integer nearest the exact value of x/y. If there
   9108  * are two integers closest to x/y, n shall be the even
   9109  * one. If r is zero, it is given the same sign as x.
   9110  */
   9111 float __ovld __cnfn remainder(float x, float y);
   9112 float2 __ovld __cnfn remainder(float2 x, float2 y);
   9113 float3 __ovld __cnfn remainder(float3 x, float3 y);
   9114 float4 __ovld __cnfn remainder(float4 x, float4 y);
   9115 float8 __ovld __cnfn remainder(float8 x, float8 y);
   9116 float16 __ovld __cnfn remainder(float16 x, float16 y);
   9117 #ifdef cl_khr_fp64
   9118 double __ovld __cnfn remainder(double x, double y);
   9119 double2 __ovld __cnfn remainder(double2 x, double2 y);
   9120 double3 __ovld __cnfn remainder(double3 x, double3 y);
   9121 double4 __ovld __cnfn remainder(double4 x, double4 y);
   9122 double8 __ovld __cnfn remainder(double8 x, double8 y);
   9123 double16 __ovld __cnfn remainder(double16 x, double16 y);
   9124 #endif //cl_khr_fp64
   9125 #ifdef cl_khr_fp16
   9126 half __ovld __cnfn remainder(half x, half y);
   9127 half2 __ovld __cnfn remainder(half2 x, half2 y);
   9128 half3 __ovld __cnfn remainder(half3 x, half3 y);
   9129 half4 __ovld __cnfn remainder(half4 x, half4 y);
   9130 half8 __ovld __cnfn remainder(half8 x, half8 y);
   9131 half16 __ovld __cnfn remainder(half16 x, half16 y);
   9132 #endif //cl_khr_fp16
   9133 
   9134 /**
   9135  * The remquo function computes the value r such
   9136  * that r = x - n*y, where n is the integer nearest the
   9137  * exact value of x/y. If there are two integers closest
   9138  * to x/y, n shall be the even one. If r is zero, it is
   9139  * given the same sign as x. This is the same value
   9140  * that is returned by the remainder function.
   9141  * remquo also calculates the lower seven bits of the
   9142  * integral quotient x/y, and gives that value the same
   9143  * sign as x/y. It stores this signed value in the object
   9144  * pointed to by quo.
   9145  */
   9146 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   9147 float __ovld remquo(float x, float y, int *quo);
   9148 float2 __ovld remquo(float2 x, float2 y, int2 *quo);
   9149 float3 __ovld remquo(float3 x, float3 y, int3 *quo);
   9150 float4 __ovld remquo(float4 x, float4 y, int4 *quo);
   9151 float8 __ovld remquo(float8 x, float8 y, int8 *quo);
   9152 float16 __ovld remquo(float16 x, float16 y, int16 *quo);
   9153 #ifdef cl_khr_fp64
   9154 double __ovld remquo(double x, double y, int *quo);
   9155 double2 __ovld remquo(double2 x, double2 y, int2 *quo);
   9156 double3 __ovld remquo(double3 x, double3 y, int3 *quo);
   9157 double4 __ovld remquo(double4 x, double4 y, int4 *quo);
   9158 double8 __ovld remquo(double8 x, double8 y, int8 *quo);
   9159 double16 __ovld remquo(double16 x, double16 y, int16 *quo);
   9160 #endif //cl_khr_fp64
   9161 #ifdef cl_khr_fp16
   9162 half __ovld remquo(half x, half y, int *quo);
   9163 half2 __ovld remquo(half2 x, half2 y, int2 *quo);
   9164 half3 __ovld remquo(half3 x, half3 y, int3 *quo);
   9165 half4 __ovld remquo(half4 x, half4 y, int4 *quo);
   9166 half8 __ovld remquo(half8 x, half8 y, int8 *quo);
   9167 half16 __ovld remquo(half16 x, half16 y, int16 *quo);
   9168 
   9169 #endif //cl_khr_fp16
   9170 #else
   9171 float __ovld remquo(float x, float y, __global int *quo);
   9172 float2 __ovld remquo(float2 x, float2 y, __global int2 *quo);
   9173 float3 __ovld remquo(float3 x, float3 y, __global int3 *quo);
   9174 float4 __ovld remquo(float4 x, float4 y, __global int4 *quo);
   9175 float8 __ovld remquo(float8 x, float8 y, __global int8 *quo);
   9176 float16 __ovld remquo(float16 x, float16 y, __global int16 *quo);
   9177 float __ovld remquo(float x, float y, __local int *quo);
   9178 float2 __ovld remquo(float2 x, float2 y, __local int2 *quo);
   9179 float3 __ovld remquo(float3 x, float3 y, __local int3 *quo);
   9180 float4 __ovld remquo(float4 x, float4 y, __local int4 *quo);
   9181 float8 __ovld remquo(float8 x, float8 y, __local int8 *quo);
   9182 float16 __ovld remquo(float16 x, float16 y, __local int16 *quo);
   9183 float __ovld remquo(float x, float y, __private int *quo);
   9184 float2 __ovld remquo(float2 x, float2 y, __private int2 *quo);
   9185 float3 __ovld remquo(float3 x, float3 y, __private int3 *quo);
   9186 float4 __ovld remquo(float4 x, float4 y, __private int4 *quo);
   9187 float8 __ovld remquo(float8 x, float8 y, __private int8 *quo);
   9188 float16 __ovld remquo(float16 x, float16 y, __private int16 *quo);
   9189 #ifdef cl_khr_fp64
   9190 double __ovld remquo(double x, double y, __global int *quo);
   9191 double2 __ovld remquo(double2 x, double2 y, __global int2 *quo);
   9192 double3 __ovld remquo(double3 x, double3 y, __global int3 *quo);
   9193 double4 __ovld remquo(double4 x, double4 y, __global int4 *quo);
   9194 double8 __ovld remquo(double8 x, double8 y, __global int8 *quo);
   9195 double16 __ovld remquo(double16 x, double16 y, __global int16 *quo);
   9196 double __ovld remquo(double x, double y, __local int *quo);
   9197 double2 __ovld remquo(double2 x, double2 y, __local int2 *quo);
   9198 double3 __ovld remquo(double3 x, double3 y, __local int3 *quo);
   9199 double4 __ovld remquo(double4 x, double4 y, __local int4 *quo);
   9200 double8 __ovld remquo(double8 x, double8 y, __local int8 *quo);
   9201 double16 __ovld remquo(double16 x, double16 y, __local int16 *quo);
   9202 double __ovld remquo(double x, double y, __private int *quo);
   9203 double2 __ovld remquo(double2 x, double2 y, __private int2 *quo);
   9204 double3 __ovld remquo(double3 x, double3 y, __private int3 *quo);
   9205 double4 __ovld remquo(double4 x, double4 y, __private int4 *quo);
   9206 double8 __ovld remquo(double8 x, double8 y, __private int8 *quo);
   9207 double16 __ovld remquo(double16 x, double16 y, __private int16 *quo);
   9208 #endif //cl_khr_fp64
   9209 #ifdef cl_khr_fp16
   9210 half __ovld remquo(half x, half y, __global int *quo);
   9211 half2 __ovld remquo(half2 x, half2 y, __global int2 *quo);
   9212 half3 __ovld remquo(half3 x, half3 y, __global int3 *quo);
   9213 half4 __ovld remquo(half4 x, half4 y, __global int4 *quo);
   9214 half8 __ovld remquo(half8 x, half8 y, __global int8 *quo);
   9215 half16 __ovld remquo(half16 x, half16 y, __global int16 *quo);
   9216 half __ovld remquo(half x, half y, __local int *quo);
   9217 half2 __ovld remquo(half2 x, half2 y, __local int2 *quo);
   9218 half3 __ovld remquo(half3 x, half3 y, __local int3 *quo);
   9219 half4 __ovld remquo(half4 x, half4 y, __local int4 *quo);
   9220 half8 __ovld remquo(half8 x, half8 y, __local int8 *quo);
   9221 half16 __ovld remquo(half16 x, half16 y, __local int16 *quo);
   9222 half __ovld remquo(half x, half y, __private int *quo);
   9223 half2 __ovld remquo(half2 x, half2 y, __private int2 *quo);
   9224 half3 __ovld remquo(half3 x, half3 y, __private int3 *quo);
   9225 half4 __ovld remquo(half4 x, half4 y, __private int4 *quo);
   9226 half8 __ovld remquo(half8 x, half8 y, __private int8 *quo);
   9227 half16 __ovld remquo(half16 x, half16 y, __private int16 *quo);
   9228 #endif //cl_khr_fp16
   9229 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   9230 /**
   9231  * Round to integral value (using round to nearest
   9232  * even rounding mode) in floating-point format.
   9233  * Refer to section 7.1 for description of rounding
   9234  * modes.
   9235  */
   9236 float __ovld __cnfn rint(float);
   9237 float2 __ovld __cnfn rint(float2);
   9238 float3 __ovld __cnfn rint(float3);
   9239 float4 __ovld __cnfn rint(float4);
   9240 float8 __ovld __cnfn rint(float8);
   9241 float16 __ovld __cnfn rint(float16);
   9242 #ifdef cl_khr_fp64
   9243 double __ovld __cnfn rint(double);
   9244 double2 __ovld __cnfn rint(double2);
   9245 double3 __ovld __cnfn rint(double3);
   9246 double4 __ovld __cnfn rint(double4);
   9247 double8 __ovld __cnfn rint(double8);
   9248 double16 __ovld __cnfn rint(double16);
   9249 #endif //cl_khr_fp64
   9250 #ifdef cl_khr_fp16
   9251 half __ovld __cnfn rint(half);
   9252 half2 __ovld __cnfn rint(half2);
   9253 half3 __ovld __cnfn rint(half3);
   9254 half4 __ovld __cnfn rint(half4);
   9255 half8 __ovld __cnfn rint(half8);
   9256 half16 __ovld __cnfn rint(half16);
   9257 #endif //cl_khr_fp16
   9258 
   9259 /**
   9260  * Compute x to the power 1/y.
   9261  */
   9262 float __ovld __cnfn rootn(float x, int y);
   9263 float2 __ovld __cnfn rootn(float2 x, int2 y);
   9264 float3 __ovld __cnfn rootn(float3 x, int3 y);
   9265 float4 __ovld __cnfn rootn(float4 x, int4 y);
   9266 float8 __ovld __cnfn rootn(float8 x, int8 y);
   9267 float16 __ovld __cnfn rootn(float16 x, int16 y);
   9268 #ifdef cl_khr_fp64
   9269 double __ovld __cnfn rootn(double x, int y);
   9270 double2 __ovld __cnfn rootn(double2 x, int2 y);
   9271 double3 __ovld __cnfn rootn(double3 x, int3 y);
   9272 double4 __ovld __cnfn rootn(double4 x, int4 y);
   9273 double8 __ovld __cnfn rootn(double8 x, int8 y);
   9274 double16 __ovld __cnfn rootn(double16 x, int16 y);
   9275 #endif //cl_khr_fp64
   9276 #ifdef cl_khr_fp16
   9277 half __ovld __cnfn rootn(half x, int y);
   9278 half2 __ovld __cnfn rootn(half2 x, int2 y);
   9279 half3 __ovld __cnfn rootn(half3 x, int3 y);
   9280 half4 __ovld __cnfn rootn(half4 x, int4 y);
   9281 half8 __ovld __cnfn rootn(half8 x, int8 y);
   9282 half16 __ovld __cnfn rootn(half16 x, int16 y);
   9283 #endif //cl_khr_fp16
   9284 
   9285 /**
   9286  * Return the integral value nearest to x rounding
   9287  * halfway cases away from zero, regardless of the
   9288  * current rounding direction.
   9289  */
   9290 float __ovld __cnfn round(float x);
   9291 float2 __ovld __cnfn round(float2 x);
   9292 float3 __ovld __cnfn round(float3 x);
   9293 float4 __ovld __cnfn round(float4 x);
   9294 float8 __ovld __cnfn round(float8 x);
   9295 float16 __ovld __cnfn round(float16 x);
   9296 #ifdef cl_khr_fp64
   9297 double __ovld __cnfn round(double x);
   9298 double2 __ovld __cnfn round(double2 x);
   9299 double3 __ovld __cnfn round(double3 x);
   9300 double4 __ovld __cnfn round(double4 x);
   9301 double8 __ovld __cnfn round(double8 x);
   9302 double16 __ovld __cnfn round(double16 x);
   9303 #endif //cl_khr_fp64
   9304 #ifdef cl_khr_fp16
   9305 half __ovld __cnfn round(half x);
   9306 half2 __ovld __cnfn round(half2 x);
   9307 half3 __ovld __cnfn round(half3 x);
   9308 half4 __ovld __cnfn round(half4 x);
   9309 half8 __ovld __cnfn round(half8 x);
   9310 half16 __ovld __cnfn round(half16 x);
   9311 #endif //cl_khr_fp16
   9312 
   9313 /**
   9314  * Compute inverse square root.
   9315  */
   9316 float __ovld __cnfn rsqrt(float);
   9317 float2 __ovld __cnfn rsqrt(float2);
   9318 float3 __ovld __cnfn rsqrt(float3);
   9319 float4 __ovld __cnfn rsqrt(float4);
   9320 float8 __ovld __cnfn rsqrt(float8);
   9321 float16 __ovld __cnfn rsqrt(float16);
   9322 #ifdef cl_khr_fp64
   9323 double __ovld __cnfn rsqrt(double);
   9324 double2 __ovld __cnfn rsqrt(double2);
   9325 double3 __ovld __cnfn rsqrt(double3);
   9326 double4 __ovld __cnfn rsqrt(double4);
   9327 double8 __ovld __cnfn rsqrt(double8);
   9328 double16 __ovld __cnfn rsqrt(double16);
   9329 #endif //cl_khr_fp64
   9330 #ifdef cl_khr_fp16
   9331 half __ovld __cnfn rsqrt(half);
   9332 half2 __ovld __cnfn rsqrt(half2);
   9333 half3 __ovld __cnfn rsqrt(half3);
   9334 half4 __ovld __cnfn rsqrt(half4);
   9335 half8 __ovld __cnfn rsqrt(half8);
   9336 half16 __ovld __cnfn rsqrt(half16);
   9337 #endif //cl_khr_fp16
   9338 
   9339 /**
   9340  * Compute sine.
   9341  */
   9342 float __ovld __cnfn sin(float);
   9343 float2 __ovld __cnfn sin(float2);
   9344 float3 __ovld __cnfn sin(float3);
   9345 float4 __ovld __cnfn sin(float4);
   9346 float8 __ovld __cnfn sin(float8);
   9347 float16 __ovld __cnfn sin(float16);
   9348 #ifdef cl_khr_fp64
   9349 double __ovld __cnfn sin(double);
   9350 double2 __ovld __cnfn sin(double2);
   9351 double3 __ovld __cnfn sin(double3);
   9352 double4 __ovld __cnfn sin(double4);
   9353 double8 __ovld __cnfn sin(double8);
   9354 double16 __ovld __cnfn sin(double16);
   9355 #endif //cl_khr_fp64
   9356 #ifdef cl_khr_fp16
   9357 half __ovld __cnfn sin(half);
   9358 half2 __ovld __cnfn sin(half2);
   9359 half3 __ovld __cnfn sin(half3);
   9360 half4 __ovld __cnfn sin(half4);
   9361 half8 __ovld __cnfn sin(half8);
   9362 half16 __ovld __cnfn sin(half16);
   9363 #endif //cl_khr_fp16
   9364 
   9365 /**
   9366  * Compute sine and cosine of x. The computed sine
   9367  * is the return value and computed cosine is returned
   9368  * in cosval.
   9369  */
   9370 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   9371 float __ovld sincos(float x, float *cosval);
   9372 float2 __ovld sincos(float2 x, float2 *cosval);
   9373 float3 __ovld sincos(float3 x, float3 *cosval);
   9374 float4 __ovld sincos(float4 x, float4 *cosval);
   9375 float8 __ovld sincos(float8 x, float8 *cosval);
   9376 float16 __ovld sincos(float16 x, float16 *cosval);
   9377 #ifdef cl_khr_fp64
   9378 double __ovld sincos(double x, double *cosval);
   9379 double2 __ovld sincos(double2 x, double2 *cosval);
   9380 double3 __ovld sincos(double3 x, double3 *cosval);
   9381 double4 __ovld sincos(double4 x, double4 *cosval);
   9382 double8 __ovld sincos(double8 x, double8 *cosval);
   9383 double16 __ovld sincos(double16 x, double16 *cosval);
   9384 #endif //cl_khr_fp64
   9385 #ifdef cl_khr_fp16
   9386 half __ovld sincos(half x, half *cosval);
   9387 half2 __ovld sincos(half2 x, half2 *cosval);
   9388 half3 __ovld sincos(half3 x, half3 *cosval);
   9389 half4 __ovld sincos(half4 x, half4 *cosval);
   9390 half8 __ovld sincos(half8 x, half8 *cosval);
   9391 half16 __ovld sincos(half16 x, half16 *cosval);
   9392 #endif //cl_khr_fp16
   9393 #else
   9394 float __ovld sincos(float x, __global float *cosval);
   9395 float2 __ovld sincos(float2 x, __global float2 *cosval);
   9396 float3 __ovld sincos(float3 x, __global float3 *cosval);
   9397 float4 __ovld sincos(float4 x, __global float4 *cosval);
   9398 float8 __ovld sincos(float8 x, __global float8 *cosval);
   9399 float16 __ovld sincos(float16 x, __global float16 *cosval);
   9400 float __ovld sincos(float x, __local float *cosval);
   9401 float2 __ovld sincos(float2 x, __local float2 *cosval);
   9402 float3 __ovld sincos(float3 x, __local float3 *cosval);
   9403 float4 __ovld sincos(float4 x, __local float4 *cosval);
   9404 float8 __ovld sincos(float8 x, __local float8 *cosval);
   9405 float16 __ovld sincos(float16 x, __local float16 *cosval);
   9406 float __ovld sincos(float x, __private float *cosval);
   9407 float2 __ovld sincos(float2 x, __private float2 *cosval);
   9408 float3 __ovld sincos(float3 x, __private float3 *cosval);
   9409 float4 __ovld sincos(float4 x, __private float4 *cosval);
   9410 float8 __ovld sincos(float8 x, __private float8 *cosval);
   9411 float16 __ovld sincos(float16 x, __private float16 *cosval);
   9412 #ifdef cl_khr_fp64
   9413 double __ovld sincos(double x, __global double *cosval);
   9414 double2 __ovld sincos(double2 x, __global double2 *cosval);
   9415 double3 __ovld sincos(double3 x, __global double3 *cosval);
   9416 double4 __ovld sincos(double4 x, __global double4 *cosval);
   9417 double8 __ovld sincos(double8 x, __global double8 *cosval);
   9418 double16 __ovld sincos(double16 x, __global double16 *cosval);
   9419 double __ovld sincos(double x, __local double *cosval);
   9420 double2 __ovld sincos(double2 x, __local double2 *cosval);
   9421 double3 __ovld sincos(double3 x, __local double3 *cosval);
   9422 double4 __ovld sincos(double4 x, __local double4 *cosval);
   9423 double8 __ovld sincos(double8 x, __local double8 *cosval);
   9424 double16 __ovld sincos(double16 x, __local double16 *cosval);
   9425 double __ovld sincos(double x, __private double *cosval);
   9426 double2 __ovld sincos(double2 x, __private double2 *cosval);
   9427 double3 __ovld sincos(double3 x, __private double3 *cosval);
   9428 double4 __ovld sincos(double4 x, __private double4 *cosval);
   9429 double8 __ovld sincos(double8 x, __private double8 *cosval);
   9430 double16 __ovld sincos(double16 x, __private double16 *cosval);
   9431 #endif //cl_khr_fp64
   9432 #ifdef cl_khr_fp16
   9433 half __ovld sincos(half x, __global half *cosval);
   9434 half2 __ovld sincos(half2 x, __global half2 *cosval);
   9435 half3 __ovld sincos(half3 x, __global half3 *cosval);
   9436 half4 __ovld sincos(half4 x, __global half4 *cosval);
   9437 half8 __ovld sincos(half8 x, __global half8 *cosval);
   9438 half16 __ovld sincos(half16 x, __global half16 *cosval);
   9439 half __ovld sincos(half x, __local half *cosval);
   9440 half2 __ovld sincos(half2 x, __local half2 *cosval);
   9441 half3 __ovld sincos(half3 x, __local half3 *cosval);
   9442 half4 __ovld sincos(half4 x, __local half4 *cosval);
   9443 half8 __ovld sincos(half8 x, __local half8 *cosval);
   9444 half16 __ovld sincos(half16 x, __local half16 *cosval);
   9445 half __ovld sincos(half x, __private half *cosval);
   9446 half2 __ovld sincos(half2 x, __private half2 *cosval);
   9447 half3 __ovld sincos(half3 x, __private half3 *cosval);
   9448 half4 __ovld sincos(half4 x, __private half4 *cosval);
   9449 half8 __ovld sincos(half8 x, __private half8 *cosval);
   9450 half16 __ovld sincos(half16 x, __private half16 *cosval);
   9451 #endif //cl_khr_fp16
   9452 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   9453 
   9454 /**
   9455  * Compute hyperbolic sine.
   9456  */
   9457 float __ovld __cnfn sinh(float);
   9458 float2 __ovld __cnfn sinh(float2);
   9459 float3 __ovld __cnfn sinh(float3);
   9460 float4 __ovld __cnfn sinh(float4);
   9461 float8 __ovld __cnfn sinh(float8);
   9462 float16 __ovld __cnfn sinh(float16);
   9463 #ifdef cl_khr_fp64
   9464 double __ovld __cnfn sinh(double);
   9465 double2 __ovld __cnfn sinh(double2);
   9466 double3 __ovld __cnfn sinh(double3);
   9467 double4 __ovld __cnfn sinh(double4);
   9468 double8 __ovld __cnfn sinh(double8);
   9469 double16 __ovld __cnfn sinh(double16);
   9470 #endif //cl_khr_fp64
   9471 #ifdef cl_khr_fp16
   9472 half __ovld __cnfn sinh(half);
   9473 half2 __ovld __cnfn sinh(half2);
   9474 half3 __ovld __cnfn sinh(half3);
   9475 half4 __ovld __cnfn sinh(half4);
   9476 half8 __ovld __cnfn sinh(half8);
   9477 half16 __ovld __cnfn sinh(half16);
   9478 #endif //cl_khr_fp16
   9479 
   9480 /**
   9481  * Compute sin (PI * x).
   9482  */
   9483 float __ovld __cnfn sinpi(float x);
   9484 float2 __ovld __cnfn sinpi(float2 x);
   9485 float3 __ovld __cnfn sinpi(float3 x);
   9486 float4 __ovld __cnfn sinpi(float4 x);
   9487 float8 __ovld __cnfn sinpi(float8 x);
   9488 float16 __ovld __cnfn sinpi(float16 x);
   9489 #ifdef cl_khr_fp64
   9490 double __ovld __cnfn sinpi(double x);
   9491 double2 __ovld __cnfn sinpi(double2 x);
   9492 double3 __ovld __cnfn sinpi(double3 x);
   9493 double4 __ovld __cnfn sinpi(double4 x);
   9494 double8 __ovld __cnfn sinpi(double8 x);
   9495 double16 __ovld __cnfn sinpi(double16 x);
   9496 #endif //cl_khr_fp64
   9497 #ifdef cl_khr_fp16
   9498 half __ovld __cnfn sinpi(half x);
   9499 half2 __ovld __cnfn sinpi(half2 x);
   9500 half3 __ovld __cnfn sinpi(half3 x);
   9501 half4 __ovld __cnfn sinpi(half4 x);
   9502 half8 __ovld __cnfn sinpi(half8 x);
   9503 half16 __ovld __cnfn sinpi(half16 x);
   9504 #endif //cl_khr_fp16
   9505 
   9506 /**
   9507  * Compute square root.
   9508  */
   9509 float __ovld __cnfn sqrt(float);
   9510 float2 __ovld __cnfn sqrt(float2);
   9511 float3 __ovld __cnfn sqrt(float3);
   9512 float4 __ovld __cnfn sqrt(float4);
   9513 float8 __ovld __cnfn sqrt(float8);
   9514 float16 __ovld __cnfn sqrt(float16);
   9515 #ifdef cl_khr_fp64
   9516 double __ovld __cnfn sqrt(double);
   9517 double2 __ovld __cnfn sqrt(double2);
   9518 double3 __ovld __cnfn sqrt(double3);
   9519 double4 __ovld __cnfn sqrt(double4);
   9520 double8 __ovld __cnfn sqrt(double8);
   9521 double16 __ovld __cnfn sqrt(double16);
   9522 #endif //cl_khr_fp64
   9523 #ifdef cl_khr_fp16
   9524 half __ovld __cnfn sqrt(half);
   9525 half2 __ovld __cnfn sqrt(half2);
   9526 half3 __ovld __cnfn sqrt(half3);
   9527 half4 __ovld __cnfn sqrt(half4);
   9528 half8 __ovld __cnfn sqrt(half8);
   9529 half16 __ovld __cnfn sqrt(half16);
   9530 #endif //cl_khr_fp16
   9531 
   9532 /**
   9533  * Compute tangent.
   9534  */
   9535 float __ovld __cnfn tan(float);
   9536 float2 __ovld __cnfn tan(float2);
   9537 float3 __ovld __cnfn tan(float3);
   9538 float4 __ovld __cnfn tan(float4);
   9539 float8 __ovld __cnfn tan(float8);
   9540 float16 __ovld __cnfn tan(float16);
   9541 #ifdef cl_khr_fp64
   9542 double __ovld __cnfn tan(double);
   9543 double2 __ovld __cnfn tan(double2);
   9544 double3 __ovld __cnfn tan(double3);
   9545 double4 __ovld __cnfn tan(double4);
   9546 double8 __ovld __cnfn tan(double8);
   9547 double16 __ovld __cnfn tan(double16);
   9548 #endif //cl_khr_fp64
   9549 #ifdef cl_khr_fp16
   9550 half __ovld __cnfn tan(half);
   9551 half2 __ovld __cnfn tan(half2);
   9552 half3 __ovld __cnfn tan(half3);
   9553 half4 __ovld __cnfn tan(half4);
   9554 half8 __ovld __cnfn tan(half8);
   9555 half16 __ovld __cnfn tan(half16);
   9556 #endif //cl_khr_fp16
   9557 
   9558 /**
   9559  * Compute hyperbolic tangent.
   9560  */
   9561 float __ovld __cnfn tanh(float);
   9562 float2 __ovld __cnfn tanh(float2);
   9563 float3 __ovld __cnfn tanh(float3);
   9564 float4 __ovld __cnfn tanh(float4);
   9565 float8 __ovld __cnfn tanh(float8);
   9566 float16 __ovld __cnfn tanh(float16);
   9567 #ifdef cl_khr_fp64
   9568 double __ovld __cnfn tanh(double);
   9569 double2 __ovld __cnfn tanh(double2);
   9570 double3 __ovld __cnfn tanh(double3);
   9571 double4 __ovld __cnfn tanh(double4);
   9572 double8 __ovld __cnfn tanh(double8);
   9573 double16 __ovld __cnfn tanh(double16);
   9574 #endif //cl_khr_fp64
   9575 #ifdef cl_khr_fp16
   9576 half __ovld __cnfn tanh(half);
   9577 half2 __ovld __cnfn tanh(half2);
   9578 half3 __ovld __cnfn tanh(half3);
   9579 half4 __ovld __cnfn tanh(half4);
   9580 half8 __ovld __cnfn tanh(half8);
   9581 half16 __ovld __cnfn tanh(half16);
   9582 #endif //cl_khr_fp16
   9583 
   9584 /**
   9585  * Compute tan (PI * x).
   9586  */
   9587 float __ovld __cnfn tanpi(float x);
   9588 float2 __ovld __cnfn tanpi(float2 x);
   9589 float3 __ovld __cnfn tanpi(float3 x);
   9590 float4 __ovld __cnfn tanpi(float4 x);
   9591 float8 __ovld __cnfn tanpi(float8 x);
   9592 float16 __ovld __cnfn tanpi(float16 x);
   9593 #ifdef cl_khr_fp64
   9594 double __ovld __cnfn tanpi(double x);
   9595 double2 __ovld __cnfn tanpi(double2 x);
   9596 double3 __ovld __cnfn tanpi(double3 x);
   9597 double4 __ovld __cnfn tanpi(double4 x);
   9598 double8 __ovld __cnfn tanpi(double8 x);
   9599 double16 __ovld __cnfn tanpi(double16 x);
   9600 #endif //cl_khr_fp64
   9601 #ifdef cl_khr_fp16
   9602 half __ovld __cnfn tanpi(half x);
   9603 half2 __ovld __cnfn tanpi(half2 x);
   9604 half3 __ovld __cnfn tanpi(half3 x);
   9605 half4 __ovld __cnfn tanpi(half4 x);
   9606 half8 __ovld __cnfn tanpi(half8 x);
   9607 half16 __ovld __cnfn tanpi(half16 x);
   9608 #endif //cl_khr_fp16
   9609 
   9610 /**
   9611  * Compute the gamma function.
   9612  */
   9613 float __ovld __cnfn tgamma(float);
   9614 float2 __ovld __cnfn tgamma(float2);
   9615 float3 __ovld __cnfn tgamma(float3);
   9616 float4 __ovld __cnfn tgamma(float4);
   9617 float8 __ovld __cnfn tgamma(float8);
   9618 float16 __ovld __cnfn tgamma(float16);
   9619 #ifdef cl_khr_fp64
   9620 double __ovld __cnfn tgamma(double);
   9621 double2 __ovld __cnfn tgamma(double2);
   9622 double3 __ovld __cnfn tgamma(double3);
   9623 double4 __ovld __cnfn tgamma(double4);
   9624 double8 __ovld __cnfn tgamma(double8);
   9625 double16 __ovld __cnfn tgamma(double16);
   9626 #endif //cl_khr_fp64
   9627 #ifdef cl_khr_fp16
   9628 half __ovld __cnfn tgamma(half);
   9629 half2 __ovld __cnfn tgamma(half2);
   9630 half3 __ovld __cnfn tgamma(half3);
   9631 half4 __ovld __cnfn tgamma(half4);
   9632 half8 __ovld __cnfn tgamma(half8);
   9633 half16 __ovld __cnfn tgamma(half16);
   9634 #endif //cl_khr_fp16
   9635 
   9636 /**
   9637  * Round to integral value using the round to zero
   9638  * rounding mode.
   9639  */
   9640 float __ovld __cnfn trunc(float);
   9641 float2 __ovld __cnfn trunc(float2);
   9642 float3 __ovld __cnfn trunc(float3);
   9643 float4 __ovld __cnfn trunc(float4);
   9644 float8 __ovld __cnfn trunc(float8);
   9645 float16 __ovld __cnfn trunc(float16);
   9646 #ifdef cl_khr_fp64
   9647 double __ovld __cnfn trunc(double);
   9648 double2 __ovld __cnfn trunc(double2);
   9649 double3 __ovld __cnfn trunc(double3);
   9650 double4 __ovld __cnfn trunc(double4);
   9651 double8 __ovld __cnfn trunc(double8);
   9652 double16 __ovld __cnfn trunc(double16);
   9653 #endif //cl_khr_fp64
   9654 #ifdef cl_khr_fp16
   9655 half __ovld __cnfn trunc(half);
   9656 half2 __ovld __cnfn trunc(half2);
   9657 half3 __ovld __cnfn trunc(half3);
   9658 half4 __ovld __cnfn trunc(half4);
   9659 half8 __ovld __cnfn trunc(half8);
   9660 half16 __ovld __cnfn trunc(half16);
   9661 #endif //cl_khr_fp16
   9662 
   9663 /**
   9664  * Compute cosine. x must be in the range -2^16 ... +2^16.
   9665  */
   9666 float __ovld __cnfn half_cos(float x);
   9667 float2 __ovld __cnfn half_cos(float2 x);
   9668 float3 __ovld __cnfn half_cos(float3 x);
   9669 float4 __ovld __cnfn half_cos(float4 x);
   9670 float8 __ovld __cnfn half_cos(float8 x);
   9671 float16 __ovld __cnfn half_cos(float16 x);
   9672 
   9673 /**
   9674  * Compute x / y.
   9675  */
   9676 float __ovld __cnfn half_divide(float x, float y);
   9677 float2 __ovld __cnfn half_divide(float2 x, float2 y);
   9678 float3 __ovld __cnfn half_divide(float3 x, float3 y);
   9679 float4 __ovld __cnfn half_divide(float4 x, float4 y);
   9680 float8 __ovld __cnfn half_divide(float8 x, float8 y);
   9681 float16 __ovld __cnfn half_divide(float16 x, float16 y);
   9682 
   9683 /**
   9684  * Compute the base- e exponential of x.
   9685  */
   9686 float __ovld __cnfn half_exp(float x);
   9687 float2 __ovld __cnfn half_exp(float2 x);
   9688 float3 __ovld __cnfn half_exp(float3 x);
   9689 float4 __ovld __cnfn half_exp(float4 x);
   9690 float8 __ovld __cnfn half_exp(float8 x);
   9691 float16 __ovld __cnfn half_exp(float16 x);
   9692 
   9693 /**
   9694  * Compute the base- 2 exponential of x.
   9695  */
   9696 float __ovld __cnfn half_exp2(float x);
   9697 float2 __ovld __cnfn half_exp2(float2 x);
   9698 float3 __ovld __cnfn half_exp2(float3 x);
   9699 float4 __ovld __cnfn half_exp2(float4 x);
   9700 float8 __ovld __cnfn half_exp2(float8 x);
   9701 float16 __ovld __cnfn half_exp2(float16 x);
   9702 
   9703 /**
   9704  * Compute the base- 10 exponential of x.
   9705  */
   9706 float __ovld __cnfn half_exp10(float x);
   9707 float2 __ovld __cnfn half_exp10(float2 x);
   9708 float3 __ovld __cnfn half_exp10(float3 x);
   9709 float4 __ovld __cnfn half_exp10(float4 x);
   9710 float8 __ovld __cnfn half_exp10(float8 x);
   9711 float16 __ovld __cnfn half_exp10(float16 x);
   9712 
   9713 /**
   9714  * Compute natural logarithm.
   9715  */
   9716 float __ovld __cnfn half_log(float x);
   9717 float2 __ovld __cnfn half_log(float2 x);
   9718 float3 __ovld __cnfn half_log(float3 x);
   9719 float4 __ovld __cnfn half_log(float4 x);
   9720 float8 __ovld __cnfn half_log(float8 x);
   9721 float16 __ovld __cnfn half_log(float16 x);
   9722 
   9723 /**
   9724  * Compute a base 2 logarithm.
   9725  */
   9726 float __ovld __cnfn half_log2(float x);
   9727 float2 __ovld __cnfn half_log2(float2 x);
   9728 float3 __ovld __cnfn half_log2(float3 x);
   9729 float4 __ovld __cnfn half_log2(float4 x);
   9730 float8 __ovld __cnfn half_log2(float8 x);
   9731 float16 __ovld __cnfn half_log2(float16 x);
   9732 
   9733 /**
   9734  * Compute a base 10 logarithm.
   9735  */
   9736 float __ovld __cnfn half_log10(float x);
   9737 float2 __ovld __cnfn half_log10(float2 x);
   9738 float3 __ovld __cnfn half_log10(float3 x);
   9739 float4 __ovld __cnfn half_log10(float4 x);
   9740 float8 __ovld __cnfn half_log10(float8 x);
   9741 float16 __ovld __cnfn half_log10(float16 x);
   9742 
   9743 /**
   9744  * Compute x to the power y, where x is >= 0.
   9745  */
   9746 float __ovld __cnfn half_powr(float x, float y);
   9747 float2 __ovld __cnfn half_powr(float2 x, float2 y);
   9748 float3 __ovld __cnfn half_powr(float3 x, float3 y);
   9749 float4 __ovld __cnfn half_powr(float4 x, float4 y);
   9750 float8 __ovld __cnfn half_powr(float8 x, float8 y);
   9751 float16 __ovld __cnfn half_powr(float16 x, float16 y);
   9752 
   9753 /**
   9754  * Compute reciprocal.
   9755  */
   9756 float __ovld __cnfn half_recip(float x);
   9757 float2 __ovld __cnfn half_recip(float2 x);
   9758 float3 __ovld __cnfn half_recip(float3 x);
   9759 float4 __ovld __cnfn half_recip(float4 x);
   9760 float8 __ovld __cnfn half_recip(float8 x);
   9761 float16 __ovld __cnfn half_recip(float16 x);
   9762 
   9763 /**
   9764  * Compute inverse square root.
   9765  */
   9766 float __ovld __cnfn half_rsqrt(float x);
   9767 float2 __ovld __cnfn half_rsqrt(float2 x);
   9768 float3 __ovld __cnfn half_rsqrt(float3 x);
   9769 float4 __ovld __cnfn half_rsqrt(float4 x);
   9770 float8 __ovld __cnfn half_rsqrt(float8 x);
   9771 float16 __ovld __cnfn half_rsqrt(float16 x);
   9772 
   9773 /**
   9774  * Compute sine. x must be in the range -2^16 ... +2^16.
   9775  */
   9776 float __ovld __cnfn half_sin(float x);
   9777 float2 __ovld __cnfn half_sin(float2 x);
   9778 float3 __ovld __cnfn half_sin(float3 x);
   9779 float4 __ovld __cnfn half_sin(float4 x);
   9780 float8 __ovld __cnfn half_sin(float8 x);
   9781 float16 __ovld __cnfn half_sin(float16 x);
   9782 
   9783 /**
   9784  * Compute square root.
   9785  */
   9786 float __ovld __cnfn half_sqrt(float x);
   9787 float2 __ovld __cnfn half_sqrt(float2 x);
   9788 float3 __ovld __cnfn half_sqrt(float3 x);
   9789 float4 __ovld __cnfn half_sqrt(float4 x);
   9790 float8 __ovld __cnfn half_sqrt(float8 x);
   9791 float16 __ovld __cnfn half_sqrt(float16 x);
   9792 
   9793 /**
   9794  * Compute tangent. x must be in the range -216 ... +216.
   9795  */
   9796 float __ovld __cnfn half_tan(float x);
   9797 float2 __ovld __cnfn half_tan(float2 x);
   9798 float3 __ovld __cnfn half_tan(float3 x);
   9799 float4 __ovld __cnfn half_tan(float4 x);
   9800 float8 __ovld __cnfn half_tan(float8 x);
   9801 float16 __ovld __cnfn half_tan(float16 x);
   9802 
   9803 /**
   9804  * Compute cosine over an implementation-defined range.
   9805  * The maximum error is implementation-defined.
   9806  */
   9807 float __ovld __cnfn native_cos(float x);
   9808 float2 __ovld __cnfn native_cos(float2 x);
   9809 float3 __ovld __cnfn native_cos(float3 x);
   9810 float4 __ovld __cnfn native_cos(float4 x);
   9811 float8 __ovld __cnfn native_cos(float8 x);
   9812 float16 __ovld __cnfn native_cos(float16 x);
   9813 #ifdef cl_khr_fp64
   9814 double __ovld __cnfn native_cos(double x);
   9815 double2 __ovld __cnfn native_cos(double2 x);
   9816 double3 __ovld __cnfn native_cos(double3 x);
   9817 double4 __ovld __cnfn native_cos(double4 x);
   9818 double8 __ovld __cnfn native_cos(double8 x);
   9819 double16 __ovld __cnfn native_cos(double16 x);
   9820 #endif //cl_khr_fp64
   9821 
   9822 /**
   9823  * Compute x / y over an implementation-defined range.
   9824  * The maximum error is implementation-defined.
   9825  */
   9826 float __ovld __cnfn native_divide(float x, float y);
   9827 float2 __ovld __cnfn native_divide(float2 x, float2 y);
   9828 float3 __ovld __cnfn native_divide(float3 x, float3 y);
   9829 float4 __ovld __cnfn native_divide(float4 x, float4 y);
   9830 float8 __ovld __cnfn native_divide(float8 x, float8 y);
   9831 float16 __ovld __cnfn native_divide(float16 x, float16 y);
   9832 #ifdef cl_khr_fp64
   9833 double __ovld __cnfn native_divide(double x, double y);
   9834 double2 __ovld __cnfn native_divide(double2 x, double2 y);
   9835 double3 __ovld __cnfn native_divide(double3 x, double3 y);
   9836 double4 __ovld __cnfn native_divide(double4 x, double4 y);
   9837 double8 __ovld __cnfn native_divide(double8 x, double8 y);
   9838 double16 __ovld __cnfn native_divide(double16 x, double16 y);
   9839 #endif //cl_khr_fp64
   9840 
   9841 /**
   9842  * Compute the base- e exponential of x over an
   9843  * implementation-defined range. The maximum error is
   9844  * implementation-defined.
   9845  */
   9846 float __ovld __cnfn native_exp(float x);
   9847 float2 __ovld __cnfn native_exp(float2 x);
   9848 float3 __ovld __cnfn native_exp(float3 x);
   9849 float4 __ovld __cnfn native_exp(float4 x);
   9850 float8 __ovld __cnfn native_exp(float8 x);
   9851 float16 __ovld __cnfn native_exp(float16 x);
   9852 #ifdef cl_khr_fp64
   9853 double __ovld __cnfn native_exp(double x);
   9854 double2 __ovld __cnfn native_exp(double2 x);
   9855 double3 __ovld __cnfn native_exp(double3 x);
   9856 double4 __ovld __cnfn native_exp(double4 x);
   9857 double8 __ovld __cnfn native_exp(double8 x);
   9858 double16 __ovld __cnfn native_exp(double16 x);
   9859 #endif //cl_khr_fp64
   9860 
   9861 /**
   9862  * Compute the base- 2 exponential of x over an
   9863  * implementation-defined range. The maximum error is
   9864  * implementation-defined.
   9865  */
   9866 float __ovld __cnfn native_exp2(float x);
   9867 float2 __ovld __cnfn native_exp2(float2 x);
   9868 float3 __ovld __cnfn native_exp2(float3 x);
   9869 float4 __ovld __cnfn native_exp2(float4 x);
   9870 float8 __ovld __cnfn native_exp2(float8 x);
   9871 float16 __ovld __cnfn native_exp2(float16 x);
   9872 #ifdef cl_khr_fp64
   9873 double __ovld __cnfn native_exp2(double x);
   9874 double2 __ovld __cnfn native_exp2(double2 x);
   9875 double3 __ovld __cnfn native_exp2(double3 x);
   9876 double4 __ovld __cnfn native_exp2(double4 x);
   9877 double8 __ovld __cnfn native_exp2(double8 x);
   9878 double16 __ovld __cnfn native_exp2(double16 x);
   9879 #endif //cl_khr_fp64
   9880 
   9881 /**
   9882  * Compute the base- 10 exponential of x over an
   9883  * implementation-defined range. The maximum error is
   9884  * implementation-defined.
   9885  */
   9886 float __ovld __cnfn native_exp10(float x);
   9887 float2 __ovld __cnfn native_exp10(float2 x);
   9888 float3 __ovld __cnfn native_exp10(float3 x);
   9889 float4 __ovld __cnfn native_exp10(float4 x);
   9890 float8 __ovld __cnfn native_exp10(float8 x);
   9891 float16 __ovld __cnfn native_exp10(float16 x);
   9892 #ifdef cl_khr_fp64
   9893 double __ovld __cnfn native_exp10(double x);
   9894 double2 __ovld __cnfn native_exp10(double2 x);
   9895 double3 __ovld __cnfn native_exp10(double3 x);
   9896 double4 __ovld __cnfn native_exp10(double4 x);
   9897 double8 __ovld __cnfn native_exp10(double8 x);
   9898 double16 __ovld __cnfn native_exp10(double16 x);
   9899 #endif //cl_khr_fp64
   9900 
   9901 /**
   9902  * Compute natural logarithm over an implementationdefined
   9903  * range. The maximum error is implementation
   9904  * defined.
   9905  */
   9906 float __ovld __cnfn native_log(float x);
   9907 float2 __ovld __cnfn native_log(float2 x);
   9908 float3 __ovld __cnfn native_log(float3 x);
   9909 float4 __ovld __cnfn native_log(float4 x);
   9910 float8 __ovld __cnfn native_log(float8 x);
   9911 float16 __ovld __cnfn native_log(float16 x);
   9912 #ifdef cl_khr_fp64
   9913 double __ovld __cnfn native_log(double x);
   9914 double2 __ovld __cnfn native_log(double2 x);
   9915 double3 __ovld __cnfn native_log(double3 x);
   9916 double4 __ovld __cnfn native_log(double4 x);
   9917 double8 __ovld __cnfn native_log(double8 x);
   9918 double16 __ovld __cnfn native_log(double16 x);
   9919 #endif //cl_khr_fp64
   9920 
   9921 /**
   9922  * Compute a base 2 logarithm over an implementationdefined
   9923  * range. The maximum error is implementationdefined.
   9924  */
   9925 float __ovld __cnfn native_log2(float x);
   9926 float2 __ovld __cnfn native_log2(float2 x);
   9927 float3 __ovld __cnfn native_log2(float3 x);
   9928 float4 __ovld __cnfn native_log2(float4 x);
   9929 float8 __ovld __cnfn native_log2(float8 x);
   9930 float16 __ovld __cnfn native_log2(float16 x);
   9931 #ifdef cl_khr_fp64
   9932 double __ovld __cnfn native_log2(double x);
   9933 double2 __ovld __cnfn native_log2(double2 x);
   9934 double3 __ovld __cnfn native_log2(double3 x);
   9935 double4 __ovld __cnfn native_log2(double4 x);
   9936 double8 __ovld __cnfn native_log2(double8 x);
   9937 double16 __ovld __cnfn native_log2(double16 x);
   9938 #endif //cl_khr_fp64
   9939 
   9940 /**
   9941  * Compute a base 10 logarithm over an implementationdefined
   9942  * range. The maximum error is implementationdefined.
   9943  */
   9944 float __ovld __cnfn native_log10(float x);
   9945 float2 __ovld __cnfn native_log10(float2 x);
   9946 float3 __ovld __cnfn native_log10(float3 x);
   9947 float4 __ovld __cnfn native_log10(float4 x);
   9948 float8 __ovld __cnfn native_log10(float8 x);
   9949 float16 __ovld __cnfn native_log10(float16 x);
   9950 #ifdef cl_khr_fp64
   9951 double __ovld __cnfn native_log10(double x);
   9952 double2 __ovld __cnfn native_log10(double2 x);
   9953 double3 __ovld __cnfn native_log10(double3 x);
   9954 double4 __ovld __cnfn native_log10(double4 x);
   9955 double8 __ovld __cnfn native_log10(double8 x);
   9956 double16 __ovld __cnfn native_log10(double16 x);
   9957 #endif //cl_khr_fp64
   9958 
   9959 /**
   9960  * Compute x to the power y, where x is >= 0. The range of
   9961  * x and y are implementation-defined. The maximum error
   9962  * is implementation-defined.
   9963  */
   9964 float __ovld __cnfn native_powr(float x, float y);
   9965 float2 __ovld __cnfn native_powr(float2 x, float2 y);
   9966 float3 __ovld __cnfn native_powr(float3 x, float3 y);
   9967 float4 __ovld __cnfn native_powr(float4 x, float4 y);
   9968 float8 __ovld __cnfn native_powr(float8 x, float8 y);
   9969 float16 __ovld __cnfn native_powr(float16 x, float16 y);
   9970 #ifdef cl_khr_fp64
   9971 double __ovld __cnfn native_powr(double x, double y);
   9972 double2 __ovld __cnfn native_powr(double2 x, double2 y);
   9973 double3 __ovld __cnfn native_powr(double3 x, double3 y);
   9974 double4 __ovld __cnfn native_powr(double4 x, double4 y);
   9975 double8 __ovld __cnfn native_powr(double8 x, double8 y);
   9976 double16 __ovld __cnfn native_powr(double16 x, double16 y);
   9977 #endif //cl_khr_fp64
   9978 
   9979 /**
   9980  * Compute reciprocal over an implementation-defined
   9981  * range. The maximum error is implementation-defined.
   9982  */
   9983 float __ovld __cnfn native_recip(float x);
   9984 float2 __ovld __cnfn native_recip(float2 x);
   9985 float3 __ovld __cnfn native_recip(float3 x);
   9986 float4 __ovld __cnfn native_recip(float4 x);
   9987 float8 __ovld __cnfn native_recip(float8 x);
   9988 float16 __ovld __cnfn native_recip(float16 x);
   9989 #ifdef cl_khr_fp64
   9990 double __ovld __cnfn native_recip(double x);
   9991 double2 __ovld __cnfn native_recip(double2 x);
   9992 double3 __ovld __cnfn native_recip(double3 x);
   9993 double4 __ovld __cnfn native_recip(double4 x);
   9994 double8 __ovld __cnfn native_recip(double8 x);
   9995 double16 __ovld __cnfn native_recip(double16 x);
   9996 #endif //cl_khr_fp64
   9997 
   9998 /**
   9999  * Compute inverse square root over an implementationdefined
   10000  * range. The maximum error is implementationdefined.
   10001  */
   10002 float __ovld __cnfn native_rsqrt(float x);
   10003 float2 __ovld __cnfn native_rsqrt(float2 x);
   10004 float3 __ovld __cnfn native_rsqrt(float3 x);
   10005 float4 __ovld __cnfn native_rsqrt(float4 x);
   10006 float8 __ovld __cnfn native_rsqrt(float8 x);
   10007 float16 __ovld __cnfn native_rsqrt(float16 x);
   10008 #ifdef cl_khr_fp64
   10009 double __ovld __cnfn native_rsqrt(double x);
   10010 double2 __ovld __cnfn native_rsqrt(double2 x);
   10011 double3 __ovld __cnfn native_rsqrt(double3 x);
   10012 double4 __ovld __cnfn native_rsqrt(double4 x);
   10013 double8 __ovld __cnfn native_rsqrt(double8 x);
   10014 double16 __ovld __cnfn native_rsqrt(double16 x);
   10015 #endif //cl_khr_fp64
   10016 
   10017 /**
   10018  * Compute sine over an implementation-defined range.
   10019  * The maximum error is implementation-defined.
   10020  */
   10021 float __ovld __cnfn native_sin(float x);
   10022 float2 __ovld __cnfn native_sin(float2 x);
   10023 float3 __ovld __cnfn native_sin(float3 x);
   10024 float4 __ovld __cnfn native_sin(float4 x);
   10025 float8 __ovld __cnfn native_sin(float8 x);
   10026 float16 __ovld __cnfn native_sin(float16 x);
   10027 #ifdef cl_khr_fp64
   10028 double __ovld __cnfn native_sin(double x);
   10029 double2 __ovld __cnfn native_sin(double2 x);
   10030 double3 __ovld __cnfn native_sin(double3 x);
   10031 double4 __ovld __cnfn native_sin(double4 x);
   10032 double8 __ovld __cnfn native_sin(double8 x);
   10033 double16 __ovld __cnfn native_sin(double16 x);
   10034 #endif //cl_khr_fp64
   10035 
   10036 /**
   10037  * Compute square root over an implementation-defined
   10038  * range. The maximum error is implementation-defined.
   10039  */
   10040 float __ovld __cnfn native_sqrt(float x);
   10041 float2 __ovld __cnfn native_sqrt(float2 x);
   10042 float3 __ovld __cnfn native_sqrt(float3 x);
   10043 float4 __ovld __cnfn native_sqrt(float4 x);
   10044 float8 __ovld __cnfn native_sqrt(float8 x);
   10045 float16 __ovld __cnfn native_sqrt(float16 x);
   10046 #ifdef cl_khr_fp64
   10047 double __ovld __cnfn native_sqrt(double x);
   10048 double2 __ovld __cnfn native_sqrt(double2 x);
   10049 double3 __ovld __cnfn native_sqrt(double3 x);
   10050 double4 __ovld __cnfn native_sqrt(double4 x);
   10051 double8 __ovld __cnfn native_sqrt(double8 x);
   10052 double16 __ovld __cnfn native_sqrt(double16 x);
   10053 #endif //cl_khr_fp64
   10054 
   10055 /**
   10056  * Compute tangent over an implementation-defined range.
   10057  * The maximum error is implementation-defined.
   10058  */
   10059 float __ovld __cnfn native_tan(float x);
   10060 float2 __ovld __cnfn native_tan(float2 x);
   10061 float3 __ovld __cnfn native_tan(float3 x);
   10062 float4 __ovld __cnfn native_tan(float4 x);
   10063 float8 __ovld __cnfn native_tan(float8 x);
   10064 float16 __ovld __cnfn native_tan(float16 x);
   10065 #ifdef cl_khr_fp64
   10066 double __ovld __cnfn native_tan(double x);
   10067 double2 __ovld __cnfn native_tan(double2 x);
   10068 double3 __ovld __cnfn native_tan(double3 x);
   10069 double4 __ovld __cnfn native_tan(double4 x);
   10070 double8 __ovld __cnfn native_tan(double8 x);
   10071 double16 __ovld __cnfn native_tan(double16 x);
   10072 #endif //cl_khr_fp64
   10073 
   10074 // OpenCL v1.1 s6.11.3, v1.2 s6.12.3, v2.0 s6.13.3 - Integer Functions
   10075 
   10076 /**
   10077  * Returns | x |.
   10078  */
   10079 uchar __ovld __cnfn abs(char x);
   10080 uchar __ovld __cnfn abs(uchar x);
   10081 uchar2 __ovld __cnfn abs(char2 x);
   10082 uchar2 __ovld __cnfn abs(uchar2 x);
   10083 uchar3 __ovld __cnfn abs(char3 x);
   10084 uchar3 __ovld __cnfn abs(uchar3 x);
   10085 uchar4 __ovld __cnfn abs(char4 x);
   10086 uchar4 __ovld __cnfn abs(uchar4 x);
   10087 uchar8 __ovld __cnfn abs(char8 x);
   10088 uchar8 __ovld __cnfn abs(uchar8 x);
   10089 uchar16 __ovld __cnfn abs(char16 x);
   10090 uchar16 __ovld __cnfn abs(uchar16 x);
   10091 ushort __ovld __cnfn abs(short x);
   10092 ushort __ovld __cnfn abs(ushort x);
   10093 ushort2 __ovld __cnfn abs(short2 x);
   10094 ushort2 __ovld __cnfn abs(ushort2 x);
   10095 ushort3 __ovld __cnfn abs(short3 x);
   10096 ushort3 __ovld __cnfn abs(ushort3 x);
   10097 ushort4 __ovld __cnfn abs(short4 x);
   10098 ushort4 __ovld __cnfn abs(ushort4 x);
   10099 ushort8 __ovld __cnfn abs(short8 x);
   10100 ushort8 __ovld __cnfn abs(ushort8 x);
   10101 ushort16 __ovld __cnfn abs(short16 x);
   10102 ushort16 __ovld __cnfn abs(ushort16 x);
   10103 uint __ovld __cnfn abs(int x);
   10104 uint __ovld __cnfn abs(uint x);
   10105 uint2 __ovld __cnfn abs(int2 x);
   10106 uint2 __ovld __cnfn abs(uint2 x);
   10107 uint3 __ovld __cnfn abs(int3 x);
   10108 uint3 __ovld __cnfn abs(uint3 x);
   10109 uint4 __ovld __cnfn abs(int4 x);
   10110 uint4 __ovld __cnfn abs(uint4 x);
   10111 uint8 __ovld __cnfn abs(int8 x);
   10112 uint8 __ovld __cnfn abs(uint8 x);
   10113 uint16 __ovld __cnfn abs(int16 x);
   10114 uint16 __ovld __cnfn abs(uint16 x);
   10115 ulong __ovld __cnfn abs(long x);
   10116 ulong __ovld __cnfn abs(ulong x);
   10117 ulong2 __ovld __cnfn abs(long2 x);
   10118 ulong2 __ovld __cnfn abs(ulong2 x);
   10119 ulong3 __ovld __cnfn abs(long3 x);
   10120 ulong3 __ovld __cnfn abs(ulong3 x);
   10121 ulong4 __ovld __cnfn abs(long4 x);
   10122 ulong4 __ovld __cnfn abs(ulong4 x);
   10123 ulong8 __ovld __cnfn abs(long8 x);
   10124 ulong8 __ovld __cnfn abs(ulong8 x);
   10125 ulong16 __ovld __cnfn abs(long16 x);
   10126 ulong16 __ovld __cnfn abs(ulong16 x);
   10127 
   10128 /**
   10129  * Returns | x - y | without modulo overflow.
   10130  */
   10131 uchar __ovld __cnfn abs_diff(char x, char y);
   10132 uchar __ovld __cnfn abs_diff(uchar x, uchar y);
   10133 uchar2 __ovld __cnfn abs_diff(char2 x, char2 y);
   10134 uchar2 __ovld __cnfn abs_diff(uchar2 x, uchar2 y);
   10135 uchar3 __ovld __cnfn abs_diff(char3 x, char3 y);
   10136 uchar3 __ovld __cnfn abs_diff(uchar3 x, uchar3 y);
   10137 uchar4 __ovld __cnfn abs_diff(char4 x, char4 y);
   10138 uchar4 __ovld __cnfn abs_diff(uchar4 x, uchar4 y);
   10139 uchar8 __ovld __cnfn abs_diff(char8 x, char8 y);
   10140 uchar8 __ovld __cnfn abs_diff(uchar8 x, uchar8 y);
   10141 uchar16 __ovld __cnfn abs_diff(char16 x, char16 y);
   10142 uchar16 __ovld __cnfn abs_diff(uchar16 x, uchar16 y);
   10143 ushort __ovld __cnfn abs_diff(short x, short y);
   10144 ushort __ovld __cnfn abs_diff(ushort x, ushort y);
   10145 ushort2 __ovld __cnfn abs_diff(short2 x, short2 y);
   10146 ushort2 __ovld __cnfn abs_diff(ushort2 x, ushort2 y);
   10147 ushort3 __ovld __cnfn abs_diff(short3 x, short3 y);
   10148 ushort3 __ovld __cnfn abs_diff(ushort3 x, ushort3 y);
   10149 ushort4 __ovld __cnfn abs_diff(short4 x, short4 y);
   10150 ushort4 __ovld __cnfn abs_diff(ushort4 x, ushort4 y);
   10151 ushort8 __ovld __cnfn abs_diff(short8 x, short8 y);
   10152 ushort8 __ovld __cnfn abs_diff(ushort8 x, ushort8 y);
   10153 ushort16 __ovld __cnfn abs_diff(short16 x, short16 y);
   10154 ushort16 __ovld __cnfn abs_diff(ushort16 x, ushort16 y);
   10155 uint __ovld __cnfn abs_diff(int x, int y);
   10156 uint __ovld __cnfn abs_diff(uint x, uint y);
   10157 uint2 __ovld __cnfn abs_diff(int2 x, int2 y);
   10158 uint2 __ovld __cnfn abs_diff(uint2 x, uint2 y);
   10159 uint3 __ovld __cnfn abs_diff(int3 x, int3 y);
   10160 uint3 __ovld __cnfn abs_diff(uint3 x, uint3 y);
   10161 uint4 __ovld __cnfn abs_diff(int4 x, int4 y);
   10162 uint4 __ovld __cnfn abs_diff(uint4 x, uint4 y);
   10163 uint8 __ovld __cnfn abs_diff(int8 x, int8 y);
   10164 uint8 __ovld __cnfn abs_diff(uint8 x, uint8 y);
   10165 uint16 __ovld __cnfn abs_diff(int16 x, int16 y);
   10166 uint16 __ovld __cnfn abs_diff(uint16 x, uint16 y);
   10167 ulong __ovld __cnfn abs_diff(long x, long y);
   10168 ulong __ovld __cnfn abs_diff(ulong x, ulong y);
   10169 ulong2 __ovld __cnfn abs_diff(long2 x, long2 y);
   10170 ulong2 __ovld __cnfn abs_diff(ulong2 x, ulong2 y);
   10171 ulong3 __ovld __cnfn abs_diff(long3 x, long3 y);
   10172 ulong3 __ovld __cnfn abs_diff(ulong3 x, ulong3 y);
   10173 ulong4 __ovld __cnfn abs_diff(long4 x, long4 y);
   10174 ulong4 __ovld __cnfn abs_diff(ulong4 x, ulong4 y);
   10175 ulong8 __ovld __cnfn abs_diff(long8 x, long8 y);
   10176 ulong8 __ovld __cnfn abs_diff(ulong8 x, ulong8 y);
   10177 ulong16 __ovld __cnfn abs_diff(long16 x, long16 y);
   10178 ulong16 __ovld __cnfn abs_diff(ulong16 x, ulong16 y);
   10179 
   10180 /**
   10181  * Returns x + y and saturates the result.
   10182  */
   10183 char __ovld __cnfn add_sat(char x, char y);
   10184 uchar __ovld __cnfn add_sat(uchar x, uchar y);
   10185 char2 __ovld __cnfn add_sat(char2 x, char2 y);
   10186 uchar2 __ovld __cnfn add_sat(uchar2 x, uchar2 y);
   10187 char3 __ovld __cnfn add_sat(char3 x, char3 y);
   10188 uchar3 __ovld __cnfn add_sat(uchar3 x, uchar3 y);
   10189 char4 __ovld __cnfn add_sat(char4 x, char4 y);
   10190 uchar4 __ovld __cnfn add_sat(uchar4 x, uchar4 y);
   10191 char8 __ovld __cnfn add_sat(char8 x, char8 y);
   10192 uchar8 __ovld __cnfn add_sat(uchar8 x, uchar8 y);
   10193 char16 __ovld __cnfn add_sat(char16 x, char16 y);
   10194 uchar16 __ovld __cnfn add_sat(uchar16 x, uchar16 y);
   10195 short __ovld __cnfn add_sat(short x, short y);
   10196 ushort __ovld __cnfn add_sat(ushort x, ushort y);
   10197 short2 __ovld __cnfn add_sat(short2 x, short2 y);
   10198 ushort2 __ovld __cnfn add_sat(ushort2 x, ushort2 y);
   10199 short3 __ovld __cnfn add_sat(short3 x, short3 y);
   10200 ushort3 __ovld __cnfn add_sat(ushort3 x, ushort3 y);
   10201 short4 __ovld __cnfn add_sat(short4 x, short4 y);
   10202 ushort4 __ovld __cnfn add_sat(ushort4 x, ushort4 y);
   10203 short8 __ovld __cnfn add_sat(short8 x, short8 y);
   10204 ushort8 __ovld __cnfn add_sat(ushort8 x, ushort8 y);
   10205 short16 __ovld __cnfn add_sat(short16 x, short16 y);
   10206 ushort16 __ovld __cnfn add_sat(ushort16 x, ushort16 y);
   10207 int __ovld __cnfn add_sat(int x, int y);
   10208 uint __ovld __cnfn add_sat(uint x, uint y);
   10209 int2 __ovld __cnfn add_sat(int2 x, int2 y);
   10210 uint2 __ovld __cnfn add_sat(uint2 x, uint2 y);
   10211 int3 __ovld __cnfn add_sat(int3 x, int3 y);
   10212 uint3 __ovld __cnfn add_sat(uint3 x, uint3 y);
   10213 int4 __ovld __cnfn add_sat(int4 x, int4 y);
   10214 uint4 __ovld __cnfn add_sat(uint4 x, uint4 y);
   10215 int8 __ovld __cnfn add_sat(int8 x, int8 y);
   10216 uint8 __ovld __cnfn add_sat(uint8 x, uint8 y);
   10217 int16 __ovld __cnfn add_sat(int16 x, int16 y);
   10218 uint16 __ovld __cnfn add_sat(uint16 x, uint16 y);
   10219 long __ovld __cnfn add_sat(long x, long y);
   10220 ulong __ovld __cnfn add_sat(ulong x, ulong y);
   10221 long2 __ovld __cnfn add_sat(long2 x, long2 y);
   10222 ulong2 __ovld __cnfn add_sat(ulong2 x, ulong2 y);
   10223 long3 __ovld __cnfn add_sat(long3 x, long3 y);
   10224 ulong3 __ovld __cnfn add_sat(ulong3 x, ulong3 y);
   10225 long4 __ovld __cnfn add_sat(long4 x, long4 y);
   10226 ulong4 __ovld __cnfn add_sat(ulong4 x, ulong4 y);
   10227 long8 __ovld __cnfn add_sat(long8 x, long8 y);
   10228 ulong8 __ovld __cnfn add_sat(ulong8 x, ulong8 y);
   10229 long16 __ovld __cnfn add_sat(long16 x, long16 y);
   10230 ulong16 __ovld __cnfn add_sat(ulong16 x, ulong16 y);
   10231 
   10232 /**
   10233  * Returns (x + y) >> 1. The intermediate sum does
   10234  * not modulo overflow.
   10235  */
   10236 char __ovld __cnfn hadd(char x, char y);
   10237 uchar __ovld __cnfn hadd(uchar x, uchar y);
   10238 char2 __ovld __cnfn hadd(char2 x, char2 y);
   10239 uchar2 __ovld __cnfn hadd(uchar2 x, uchar2 y);
   10240 char3 __ovld __cnfn hadd(char3 x, char3 y);
   10241 uchar3 __ovld __cnfn hadd(uchar3 x, uchar3 y);
   10242 char4 __ovld __cnfn hadd(char4 x, char4 y);
   10243 uchar4 __ovld __cnfn hadd(uchar4 x, uchar4 y);
   10244 char8 __ovld __cnfn hadd(char8 x, char8 y);
   10245 uchar8 __ovld __cnfn hadd(uchar8 x, uchar8 y);
   10246 char16 __ovld __cnfn hadd(char16 x, char16 y);
   10247 uchar16 __ovld __cnfn hadd(uchar16 x, uchar16 y);
   10248 short __ovld __cnfn hadd(short x, short y);
   10249 ushort __ovld __cnfn hadd(ushort x, ushort y);
   10250 short2 __ovld __cnfn hadd(short2 x, short2 y);
   10251 ushort2 __ovld __cnfn hadd(ushort2 x, ushort2 y);
   10252 short3 __ovld __cnfn hadd(short3 x, short3 y);
   10253 ushort3 __ovld __cnfn hadd(ushort3 x, ushort3 y);
   10254 short4 __ovld __cnfn hadd(short4 x, short4 y);
   10255 ushort4 __ovld __cnfn hadd(ushort4 x, ushort4 y);
   10256 short8 __ovld __cnfn hadd(short8 x, short8 y);
   10257 ushort8 __ovld __cnfn hadd(ushort8 x, ushort8 y);
   10258 short16 __ovld __cnfn hadd(short16 x, short16 y);
   10259 ushort16 __ovld __cnfn hadd(ushort16 x, ushort16 y);
   10260 int __ovld __cnfn hadd(int x, int y);
   10261 uint __ovld __cnfn hadd(uint x, uint y);
   10262 int2 __ovld __cnfn hadd(int2 x, int2 y);
   10263 uint2 __ovld __cnfn hadd(uint2 x, uint2 y);
   10264 int3 __ovld __cnfn hadd(int3 x, int3 y);
   10265 uint3 __ovld __cnfn hadd(uint3 x, uint3 y);
   10266 int4 __ovld __cnfn hadd(int4 x, int4 y);
   10267 uint4 __ovld __cnfn hadd(uint4 x, uint4 y);
   10268 int8 __ovld __cnfn hadd(int8 x, int8 y);
   10269 uint8 __ovld __cnfn hadd(uint8 x, uint8 y);
   10270 int16 __ovld __cnfn hadd(int16 x, int16 y);
   10271 uint16 __ovld __cnfn hadd(uint16 x, uint16 y);
   10272 long __ovld __cnfn hadd(long x, long y);
   10273 ulong __ovld __cnfn hadd(ulong x, ulong y);
   10274 long2 __ovld __cnfn hadd(long2 x, long2 y);
   10275 ulong2 __ovld __cnfn hadd(ulong2 x, ulong2 y);
   10276 long3 __ovld __cnfn hadd(long3 x, long3 y);
   10277 ulong3 __ovld __cnfn hadd(ulong3 x, ulong3 y);
   10278 long4 __ovld __cnfn hadd(long4 x, long4 y);
   10279 ulong4 __ovld __cnfn hadd(ulong4 x, ulong4 y);
   10280 long8 __ovld __cnfn hadd(long8 x, long8 y);
   10281 ulong8 __ovld __cnfn hadd(ulong8 x, ulong8 y);
   10282 long16 __ovld __cnfn hadd(long16 x, long16 y);
   10283 ulong16 __ovld __cnfn hadd(ulong16 x, ulong16 y);
   10284 
   10285 /**
   10286  * Returns (x + y + 1) >> 1. The intermediate sum
   10287  * does not modulo overflow.
   10288  */
   10289 char __ovld __cnfn rhadd(char x, char y);
   10290 uchar __ovld __cnfn rhadd(uchar x, uchar y);
   10291 char2 __ovld __cnfn rhadd(char2 x, char2 y);
   10292 uchar2 __ovld __cnfn rhadd(uchar2 x, uchar2 y);
   10293 char3 __ovld __cnfn rhadd(char3 x, char3 y);
   10294 uchar3 __ovld __cnfn rhadd(uchar3 x, uchar3 y);
   10295 char4 __ovld __cnfn rhadd(char4 x, char4 y);
   10296 uchar4 __ovld __cnfn rhadd(uchar4 x, uchar4 y);
   10297 char8 __ovld __cnfn rhadd(char8 x, char8 y);
   10298 uchar8 __ovld __cnfn rhadd(uchar8 x, uchar8 y);
   10299 char16 __ovld __cnfn rhadd(char16 x, char16 y);
   10300 uchar16 __ovld __cnfn rhadd(uchar16 x, uchar16 y);
   10301 short __ovld __cnfn rhadd(short x, short y);
   10302 ushort __ovld __cnfn rhadd(ushort x, ushort y);
   10303 short2 __ovld __cnfn rhadd(short2 x, short2 y);
   10304 ushort2 __ovld __cnfn rhadd(ushort2 x, ushort2 y);
   10305 short3 __ovld __cnfn rhadd(short3 x, short3 y);
   10306 ushort3 __ovld __cnfn rhadd(ushort3 x, ushort3 y);
   10307 short4 __ovld __cnfn rhadd(short4 x, short4 y);
   10308 ushort4 __ovld __cnfn rhadd(ushort4 x, ushort4 y);
   10309 short8 __ovld __cnfn rhadd(short8 x, short8 y);
   10310 ushort8 __ovld __cnfn rhadd(ushort8 x, ushort8 y);
   10311 short16 __ovld __cnfn rhadd(short16 x, short16 y);
   10312 ushort16 __ovld __cnfn rhadd(ushort16 x, ushort16 y);
   10313 int __ovld __cnfn rhadd(int x, int y);
   10314 uint __ovld __cnfn rhadd(uint x, uint y);
   10315 int2 __ovld __cnfn rhadd(int2 x, int2 y);
   10316 uint2 __ovld __cnfn rhadd(uint2 x, uint2 y);
   10317 int3 __ovld __cnfn rhadd(int3 x, int3 y);
   10318 uint3 __ovld __cnfn rhadd(uint3 x, uint3 y);
   10319 int4 __ovld __cnfn rhadd(int4 x, int4 y);
   10320 uint4 __ovld __cnfn rhadd(uint4 x, uint4 y);
   10321 int8 __ovld __cnfn rhadd(int8 x, int8 y);
   10322 uint8 __ovld __cnfn rhadd(uint8 x, uint8 y);
   10323 int16 __ovld __cnfn rhadd(int16 x, int16 y);
   10324 uint16 __ovld __cnfn rhadd(uint16 x, uint16 y);
   10325 long __ovld __cnfn rhadd(long x, long y);
   10326 ulong __ovld __cnfn rhadd(ulong x, ulong y);
   10327 long2 __ovld __cnfn rhadd(long2 x, long2 y);
   10328 ulong2 __ovld __cnfn rhadd(ulong2 x, ulong2 y);
   10329 long3 __ovld __cnfn rhadd(long3 x, long3 y);
   10330 ulong3 __ovld __cnfn rhadd(ulong3 x, ulong3 y);
   10331 long4 __ovld __cnfn rhadd(long4 x, long4 y);
   10332 ulong4 __ovld __cnfn rhadd(ulong4 x, ulong4 y);
   10333 long8 __ovld __cnfn rhadd(long8 x, long8 y);
   10334 ulong8 __ovld __cnfn rhadd(ulong8 x, ulong8 y);
   10335 long16 __ovld __cnfn rhadd(long16 x, long16 y);
   10336 ulong16 __ovld __cnfn rhadd(ulong16 x, ulong16 y);
   10337 
   10338 /**
   10339  * Returns min(max(x, minval), maxval).
   10340  * Results are undefined if minval > maxval.
   10341  */
   10342 char __ovld __cnfn clamp(char x, char minval, char maxval);
   10343 uchar __ovld __cnfn clamp(uchar x, uchar minval, uchar maxval);
   10344 char2 __ovld __cnfn clamp(char2 x, char2 minval, char2 maxval);
   10345 uchar2 __ovld __cnfn clamp(uchar2 x, uchar2 minval, uchar2 maxval);
   10346 char3 __ovld __cnfn clamp(char3 x, char3 minval, char3 maxval);
   10347 uchar3 __ovld __cnfn clamp(uchar3 x, uchar3 minval, uchar3 maxval);
   10348 char4 __ovld __cnfn clamp(char4 x, char4 minval, char4 maxval);
   10349 uchar4 __ovld __cnfn clamp(uchar4 x, uchar4 minval, uchar4 maxval);
   10350 char8 __ovld __cnfn clamp(char8 x, char8 minval, char8 maxval);
   10351 uchar8 __ovld __cnfn clamp(uchar8 x, uchar8 minval, uchar8 maxval);
   10352 char16 __ovld __cnfn clamp(char16 x, char16 minval, char16 maxval);
   10353 uchar16 __ovld __cnfn clamp(uchar16 x, uchar16 minval, uchar16 maxval);
   10354 short __ovld __cnfn clamp(short x, short minval, short maxval);
   10355 ushort __ovld __cnfn clamp(ushort x, ushort minval, ushort maxval);
   10356 short2 __ovld __cnfn clamp(short2 x, short2 minval, short2 maxval);
   10357 ushort2 __ovld __cnfn clamp(ushort2 x, ushort2 minval, ushort2 maxval);
   10358 short3 __ovld __cnfn clamp(short3 x, short3 minval, short3 maxval);
   10359 ushort3 __ovld __cnfn clamp(ushort3 x, ushort3 minval, ushort3 maxval);
   10360 short4 __ovld __cnfn clamp(short4 x, short4 minval, short4 maxval);
   10361 ushort4 __ovld __cnfn clamp(ushort4 x, ushort4 minval, ushort4 maxval);
   10362 short8 __ovld __cnfn clamp(short8 x, short8 minval, short8 maxval);
   10363 ushort8 __ovld __cnfn clamp(ushort8 x, ushort8 minval, ushort8 maxval);
   10364 short16 __ovld __cnfn clamp(short16 x, short16 minval, short16 maxval);
   10365 ushort16 __ovld __cnfn clamp(ushort16 x, ushort16 minval, ushort16 maxval);
   10366 int __ovld __cnfn clamp(int x, int minval, int maxval);
   10367 uint __ovld __cnfn clamp(uint x, uint minval, uint maxval);
   10368 int2 __ovld __cnfn clamp(int2 x, int2 minval, int2 maxval);
   10369 uint2 __ovld __cnfn clamp(uint2 x, uint2 minval, uint2 maxval);
   10370 int3 __ovld __cnfn clamp(int3 x, int3 minval, int3 maxval);
   10371 uint3 __ovld __cnfn clamp(uint3 x, uint3 minval, uint3 maxval);
   10372 int4 __ovld __cnfn clamp(int4 x, int4 minval, int4 maxval);
   10373 uint4 __ovld __cnfn clamp(uint4 x, uint4 minval, uint4 maxval);
   10374 int8 __ovld __cnfn clamp(int8 x, int8 minval, int8 maxval);
   10375 uint8 __ovld __cnfn clamp(uint8 x, uint8 minval, uint8 maxval);
   10376 int16 __ovld __cnfn clamp(int16 x, int16 minval, int16 maxval);
   10377 uint16 __ovld __cnfn clamp(uint16 x, uint16 minval, uint16 maxval);
   10378 long __ovld __cnfn clamp(long x, long minval, long maxval);
   10379 ulong __ovld __cnfn clamp(ulong x, ulong minval, ulong maxval);
   10380 long2 __ovld __cnfn clamp(long2 x, long2 minval, long2 maxval);
   10381 ulong2 __ovld __cnfn clamp(ulong2 x, ulong2 minval, ulong2 maxval);
   10382 long3 __ovld __cnfn clamp(long3 x, long3 minval, long3 maxval);
   10383 ulong3 __ovld __cnfn clamp(ulong3 x, ulong3 minval, ulong3 maxval);
   10384 long4 __ovld __cnfn clamp(long4 x, long4 minval, long4 maxval);
   10385 ulong4 __ovld __cnfn clamp(ulong4 x, ulong4 minval, ulong4 maxval);
   10386 long8 __ovld __cnfn clamp(long8 x, long8 minval, long8 maxval);
   10387 ulong8 __ovld __cnfn clamp(ulong8 x, ulong8 minval, ulong8 maxval);
   10388 long16 __ovld __cnfn clamp(long16 x, long16 minval, long16 maxval);
   10389 ulong16 __ovld __cnfn clamp(ulong16 x, ulong16 minval, ulong16 maxval);
   10390 char __ovld __cnfn clamp(char x, char minval, char maxval);
   10391 uchar __ovld __cnfn clamp(uchar x, uchar minval, uchar maxval);
   10392 char2 __ovld __cnfn clamp(char2 x, char minval, char maxval);
   10393 uchar2 __ovld __cnfn clamp(uchar2 x, uchar minval, uchar maxval);
   10394 char3 __ovld __cnfn clamp(char3 x, char minval, char maxval);
   10395 uchar3 __ovld __cnfn clamp(uchar3 x, uchar minval, uchar maxval);
   10396 char4 __ovld __cnfn clamp(char4 x, char minval, char maxval);
   10397 uchar4 __ovld __cnfn clamp(uchar4 x, uchar minval, uchar maxval);
   10398 char8 __ovld __cnfn clamp(char8 x, char minval, char maxval);
   10399 uchar8 __ovld __cnfn clamp(uchar8 x, uchar minval, uchar maxval);
   10400 char16 __ovld __cnfn clamp(char16 x, char minval, char maxval);
   10401 uchar16 __ovld __cnfn clamp(uchar16 x, uchar minval, uchar maxval);
   10402 short __ovld __cnfn clamp(short x, short minval, short maxval);
   10403 ushort __ovld __cnfn clamp(ushort x, ushort minval, ushort maxval);
   10404 short2 __ovld __cnfn clamp(short2 x, short minval, short maxval);
   10405 ushort2 __ovld __cnfn clamp(ushort2 x, ushort minval, ushort maxval);
   10406 short3 __ovld __cnfn clamp(short3 x, short minval, short maxval);
   10407 ushort3 __ovld __cnfn clamp(ushort3 x, ushort minval, ushort maxval);
   10408 short4 __ovld __cnfn clamp(short4 x, short minval, short maxval);
   10409 ushort4 __ovld __cnfn clamp(ushort4 x, ushort minval, ushort maxval);
   10410 short8 __ovld __cnfn clamp(short8 x, short minval, short maxval);
   10411 ushort8 __ovld __cnfn clamp(ushort8 x, ushort minval, ushort maxval);
   10412 short16 __ovld __cnfn clamp(short16 x, short minval, short maxval);
   10413 ushort16 __ovld __cnfn clamp(ushort16 x, ushort minval, ushort maxval);
   10414 int __ovld __cnfn clamp(int x, int minval, int maxval);
   10415 uint __ovld __cnfn clamp(uint x, uint minval, uint maxval);
   10416 int2 __ovld __cnfn clamp(int2 x, int minval, int maxval);
   10417 uint2 __ovld __cnfn clamp(uint2 x, uint minval, uint maxval);
   10418 int3 __ovld __cnfn clamp(int3 x, int minval, int maxval);
   10419 uint3 __ovld __cnfn clamp(uint3 x, uint minval, uint maxval);
   10420 int4 __ovld __cnfn clamp(int4 x, int minval, int maxval);
   10421 uint4 __ovld __cnfn clamp(uint4 x, uint minval, uint maxval);
   10422 int8 __ovld __cnfn clamp(int8 x, int minval, int maxval);
   10423 uint8 __ovld __cnfn clamp(uint8 x, uint minval, uint maxval);
   10424 int16 __ovld __cnfn clamp(int16 x, int minval, int maxval);
   10425 uint16 __ovld __cnfn clamp(uint16 x, uint minval, uint maxval);
   10426 long __ovld __cnfn clamp(long x, long minval, long maxval);
   10427 ulong __ovld __cnfn clamp(ulong x, ulong minval, ulong maxval);
   10428 long2 __ovld __cnfn clamp(long2 x, long minval, long maxval);
   10429 ulong2 __ovld __cnfn clamp(ulong2 x, ulong minval, ulong maxval);
   10430 long3 __ovld __cnfn clamp(long3 x, long minval, long maxval);
   10431 ulong3 __ovld __cnfn clamp(ulong3 x, ulong minval, ulong maxval);
   10432 long4 __ovld __cnfn clamp(long4 x, long minval, long maxval);
   10433 ulong4 __ovld __cnfn clamp(ulong4 x, ulong minval, ulong maxval);
   10434 long8 __ovld __cnfn clamp(long8 x, long minval, long maxval);
   10435 ulong8 __ovld __cnfn clamp(ulong8 x, ulong minval, ulong maxval);
   10436 long16 __ovld __cnfn clamp(long16 x, long minval, long maxval);
   10437 ulong16 __ovld __cnfn clamp(ulong16 x, ulong minval, ulong maxval);
   10438 
   10439 /**
   10440  * Returns the number of leading 0-bits in x, starting
   10441  * at the most significant bit position.
   10442  */
   10443 char __ovld __cnfn clz(char x);
   10444 uchar __ovld __cnfn clz(uchar x);
   10445 char2 __ovld __cnfn clz(char2 x);
   10446 uchar2 __ovld __cnfn clz(uchar2 x);
   10447 char3 __ovld __cnfn clz(char3 x);
   10448 uchar3 __ovld __cnfn clz(uchar3 x);
   10449 char4 __ovld __cnfn clz(char4 x);
   10450 uchar4 __ovld __cnfn clz(uchar4 x);
   10451 char8 __ovld __cnfn clz(char8 x);
   10452 uchar8 __ovld __cnfn clz(uchar8 x);
   10453 char16 __ovld __cnfn clz(char16 x);
   10454 uchar16 __ovld __cnfn clz(uchar16 x);
   10455 short __ovld __cnfn clz(short x);
   10456 ushort __ovld __cnfn clz(ushort x);
   10457 short2 __ovld __cnfn clz(short2 x);
   10458 ushort2 __ovld __cnfn clz(ushort2 x);
   10459 short3 __ovld __cnfn clz(short3 x);
   10460 ushort3 __ovld __cnfn clz(ushort3 x);
   10461 short4 __ovld __cnfn clz(short4 x);
   10462 ushort4 __ovld __cnfn clz(ushort4 x);
   10463 short8 __ovld __cnfn clz(short8 x);
   10464 ushort8 __ovld __cnfn clz(ushort8 x);
   10465 short16 __ovld __cnfn clz(short16 x);
   10466 ushort16 __ovld __cnfn clz(ushort16 x);
   10467 int __ovld __cnfn clz(int x);
   10468 uint __ovld __cnfn clz(uint x);
   10469 int2 __ovld __cnfn clz(int2 x);
   10470 uint2 __ovld __cnfn clz(uint2 x);
   10471 int3 __ovld __cnfn clz(int3 x);
   10472 uint3 __ovld __cnfn clz(uint3 x);
   10473 int4 __ovld __cnfn clz(int4 x);
   10474 uint4 __ovld __cnfn clz(uint4 x);
   10475 int8 __ovld __cnfn clz(int8 x);
   10476 uint8 __ovld __cnfn clz(uint8 x);
   10477 int16 __ovld __cnfn clz(int16 x);
   10478 uint16 __ovld __cnfn clz(uint16 x);
   10479 long __ovld __cnfn clz(long x);
   10480 ulong __ovld __cnfn clz(ulong x);
   10481 long2 __ovld __cnfn clz(long2 x);
   10482 ulong2 __ovld __cnfn clz(ulong2 x);
   10483 long3 __ovld __cnfn clz(long3 x);
   10484 ulong3 __ovld __cnfn clz(ulong3 x);
   10485 long4 __ovld __cnfn clz(long4 x);
   10486 ulong4 __ovld __cnfn clz(ulong4 x);
   10487 long8 __ovld __cnfn clz(long8 x);
   10488 ulong8 __ovld __cnfn clz(ulong8 x);
   10489 long16 __ovld __cnfn clz(long16 x);
   10490 ulong16 __ovld __cnfn clz(ulong16 x);
   10491 
   10492 /**
   10493  * Returns the count of trailing 0-bits in x. If x is 0,
   10494  * returns the size in bits of the type of x or
   10495  * component type of x, if x is a vector.
   10496  */
   10497 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   10498 char __ovld ctz(char x);
   10499 uchar __ovld ctz(uchar x);
   10500 char2 __ovld ctz(char2 x);
   10501 uchar2 __ovld ctz(uchar2 x);
   10502 char3 __ovld ctz(char3 x);
   10503 uchar3 __ovld ctz(uchar3 x);
   10504 char4 __ovld ctz(char4 x);
   10505 uchar4 __ovld ctz(uchar4 x);
   10506 char8 __ovld ctz(char8 x);
   10507 uchar8 __ovld ctz(uchar8 x);
   10508 char16 __ovld ctz(char16 x);
   10509 uchar16 __ovld ctz(uchar16 x);
   10510 short __ovld ctz(short x);
   10511 ushort __ovld ctz(ushort x);
   10512 short2 __ovld ctz(short2 x);
   10513 ushort2 __ovld ctz(ushort2 x);
   10514 short3 __ovld ctz(short3 x);
   10515 ushort3 __ovld ctz(ushort3 x);
   10516 short4 __ovld ctz(short4 x);
   10517 ushort4 __ovld ctz(ushort4 x);
   10518 short8 __ovld ctz(short8 x);
   10519 ushort8 __ovld ctz(ushort8 x);
   10520 short16 __ovld ctz(short16 x);
   10521 ushort16 __ovld ctz(ushort16 x);
   10522 int __ovld ctz(int x);
   10523 uint __ovld ctz(uint x);
   10524 int2 __ovld ctz(int2 x);
   10525 uint2 __ovld ctz(uint2 x);
   10526 int3 __ovld ctz(int3 x);
   10527 uint3 __ovld ctz(uint3 x);
   10528 int4 __ovld ctz(int4 x);
   10529 uint4 __ovld ctz(uint4 x);
   10530 int8 __ovld ctz(int8 x);
   10531 uint8 __ovld ctz(uint8 x);
   10532 int16 __ovld ctz(int16 x);
   10533 uint16 __ovld ctz(uint16 x);
   10534 long __ovld ctz(long x);
   10535 ulong __ovld ctz(ulong x);
   10536 long2 __ovld ctz(long2 x);
   10537 ulong2 __ovld ctz(ulong2 x);
   10538 long3 __ovld ctz(long3 x);
   10539 ulong3 __ovld ctz(ulong3 x);
   10540 long4 __ovld ctz(long4 x);
   10541 ulong4 __ovld ctz(ulong4 x);
   10542 long8 __ovld ctz(long8 x);
   10543 ulong8 __ovld ctz(ulong8 x);
   10544 long16 __ovld ctz(long16 x);
   10545 ulong16 __ovld ctz(ulong16 x);
   10546 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   10547 
   10548 /**
   10549  * Returns mul_hi(a, b) + c.
   10550  */
   10551 char __ovld __cnfn mad_hi(char a, char b, char c);
   10552 uchar __ovld __cnfn mad_hi(uchar a, uchar b, uchar c);
   10553 char2 __ovld __cnfn mad_hi(char2 a, char2 b, char2 c);
   10554 uchar2 __ovld __cnfn mad_hi(uchar2 a, uchar2 b, uchar2 c);
   10555 char3 __ovld __cnfn mad_hi(char3 a, char3 b, char3 c);
   10556 uchar3 __ovld __cnfn mad_hi(uchar3 a, uchar3 b, uchar3 c);
   10557 char4 __ovld __cnfn mad_hi(char4 a, char4 b, char4 c);
   10558 uchar4 __ovld __cnfn mad_hi(uchar4 a, uchar4 b, uchar4 c);
   10559 char8 __ovld __cnfn mad_hi(char8 a, char8 b, char8 c);
   10560 uchar8 __ovld __cnfn mad_hi(uchar8 a, uchar8 b, uchar8 c);
   10561 char16 __ovld __cnfn mad_hi(char16 a, char16 b, char16 c);
   10562 uchar16 __ovld __cnfn mad_hi(uchar16 a, uchar16 b, uchar16 c);
   10563 short __ovld __cnfn mad_hi(short a, short b, short c);
   10564 ushort __ovld __cnfn mad_hi(ushort a, ushort b, ushort c);
   10565 short2 __ovld __cnfn mad_hi(short2 a, short2 b, short2 c);
   10566 ushort2 __ovld __cnfn mad_hi(ushort2 a, ushort2 b, ushort2 c);
   10567 short3 __ovld __cnfn mad_hi(short3 a, short3 b, short3 c);
   10568 ushort3 __ovld __cnfn mad_hi(ushort3 a, ushort3 b, ushort3 c);
   10569 short4 __ovld __cnfn mad_hi(short4 a, short4 b, short4 c);
   10570 ushort4 __ovld __cnfn mad_hi(ushort4 a, ushort4 b, ushort4 c);
   10571 short8 __ovld __cnfn mad_hi(short8 a, short8 b, short8 c);
   10572 ushort8 __ovld __cnfn mad_hi(ushort8 a, ushort8 b, ushort8 c);
   10573 short16 __ovld __cnfn mad_hi(short16 a, short16 b, short16 c);
   10574 ushort16 __ovld __cnfn mad_hi(ushort16 a, ushort16 b, ushort16 c);
   10575 int __ovld __cnfn mad_hi(int a, int b, int c);
   10576 uint __ovld __cnfn mad_hi(uint a, uint b, uint c);
   10577 int2 __ovld __cnfn mad_hi(int2 a, int2 b, int2 c);
   10578 uint2 __ovld __cnfn mad_hi(uint2 a, uint2 b, uint2 c);
   10579 int3 __ovld __cnfn mad_hi(int3 a, int3 b, int3 c);
   10580 uint3 __ovld __cnfn mad_hi(uint3 a, uint3 b, uint3 c);
   10581 int4 __ovld __cnfn mad_hi(int4 a, int4 b, int4 c);
   10582 uint4 __ovld __cnfn mad_hi(uint4 a, uint4 b, uint4 c);
   10583 int8 __ovld __cnfn mad_hi(int8 a, int8 b, int8 c);
   10584 uint8 __ovld __cnfn mad_hi(uint8 a, uint8 b, uint8 c);
   10585 int16 __ovld __cnfn mad_hi(int16 a, int16 b, int16 c);
   10586 uint16 __ovld __cnfn mad_hi(uint16 a, uint16 b, uint16 c);
   10587 long __ovld __cnfn mad_hi(long a, long b, long c);
   10588 ulong __ovld __cnfn mad_hi(ulong a, ulong b, ulong c);
   10589 long2 __ovld __cnfn mad_hi(long2 a, long2 b, long2 c);
   10590 ulong2 __ovld __cnfn mad_hi(ulong2 a, ulong2 b, ulong2 c);
   10591 long3 __ovld __cnfn mad_hi(long3 a, long3 b, long3 c);
   10592 ulong3 __ovld __cnfn mad_hi(ulong3 a, ulong3 b, ulong3 c);
   10593 long4 __ovld __cnfn mad_hi(long4 a, long4 b, long4 c);
   10594 ulong4 __ovld __cnfn mad_hi(ulong4 a, ulong4 b, ulong4 c);
   10595 long8 __ovld __cnfn mad_hi(long8 a, long8 b, long8 c);
   10596 ulong8 __ovld __cnfn mad_hi(ulong8 a, ulong8 b, ulong8 c);
   10597 long16 __ovld __cnfn mad_hi(long16 a, long16 b, long16 c);
   10598 ulong16 __ovld __cnfn mad_hi(ulong16 a, ulong16 b, ulong16 c);
   10599 
   10600 /**
   10601  * Returns a * b + c and saturates the result.
   10602  */
   10603 char __ovld __cnfn mad_sat(char a, char b, char c);
   10604 uchar __ovld __cnfn mad_sat(uchar a, uchar b, uchar c);
   10605 char2 __ovld __cnfn mad_sat(char2 a, char2 b, char2 c);
   10606 uchar2 __ovld __cnfn mad_sat(uchar2 a, uchar2 b, uchar2 c);
   10607 char3 __ovld __cnfn mad_sat(char3 a, char3 b, char3 c);
   10608 uchar3 __ovld __cnfn mad_sat(uchar3 a, uchar3 b, uchar3 c);
   10609 char4 __ovld __cnfn mad_sat(char4 a, char4 b, char4 c);
   10610 uchar4 __ovld __cnfn mad_sat(uchar4 a, uchar4 b, uchar4 c);
   10611 char8 __ovld __cnfn mad_sat(char8 a, char8 b, char8 c);
   10612 uchar8 __ovld __cnfn mad_sat(uchar8 a, uchar8 b, uchar8 c);
   10613 char16 __ovld __cnfn mad_sat(char16 a, char16 b, char16 c);
   10614 uchar16 __ovld __cnfn mad_sat(uchar16 a, uchar16 b, uchar16 c);
   10615 short __ovld __cnfn mad_sat(short a, short b, short c);
   10616 ushort __ovld __cnfn mad_sat(ushort a, ushort b, ushort c);
   10617 short2 __ovld __cnfn mad_sat(short2 a, short2 b, short2 c);
   10618 ushort2 __ovld __cnfn mad_sat(ushort2 a, ushort2 b, ushort2 c);
   10619 short3 __ovld __cnfn mad_sat(short3 a, short3 b, short3 c);
   10620 ushort3 __ovld __cnfn mad_sat(ushort3 a, ushort3 b, ushort3 c);
   10621 short4 __ovld __cnfn mad_sat(short4 a, short4 b, short4 c);
   10622 ushort4 __ovld __cnfn mad_sat(ushort4 a, ushort4 b, ushort4 c);
   10623 short8 __ovld __cnfn mad_sat(short8 a, short8 b, short8 c);
   10624 ushort8 __ovld __cnfn mad_sat(ushort8 a, ushort8 b, ushort8 c);
   10625 short16 __ovld __cnfn mad_sat(short16 a, short16 b, short16 c);
   10626 ushort16 __ovld __cnfn mad_sat(ushort16 a, ushort16 b, ushort16 c);
   10627 int __ovld __cnfn mad_sat(int a, int b, int c);
   10628 uint __ovld __cnfn mad_sat(uint a, uint b, uint c);
   10629 int2 __ovld __cnfn mad_sat(int2 a, int2 b, int2 c);
   10630 uint2 __ovld __cnfn mad_sat(uint2 a, uint2 b, uint2 c);
   10631 int3 __ovld __cnfn mad_sat(int3 a, int3 b, int3 c);
   10632 uint3 __ovld __cnfn mad_sat(uint3 a, uint3 b, uint3 c);
   10633 int4 __ovld __cnfn mad_sat(int4 a, int4 b, int4 c);
   10634 uint4 __ovld __cnfn mad_sat(uint4 a, uint4 b, uint4 c);
   10635 int8 __ovld __cnfn mad_sat(int8 a, int8 b, int8 c);
   10636 uint8 __ovld __cnfn mad_sat(uint8 a, uint8 b, uint8 c);
   10637 int16 __ovld __cnfn mad_sat(int16 a, int16 b, int16 c);
   10638 uint16 __ovld __cnfn mad_sat(uint16 a, uint16 b, uint16 c);
   10639 long __ovld __cnfn mad_sat(long a, long b, long c);
   10640 ulong __ovld __cnfn mad_sat(ulong a, ulong b, ulong c);
   10641 long2 __ovld __cnfn mad_sat(long2 a, long2 b, long2 c);
   10642 ulong2 __ovld __cnfn mad_sat(ulong2 a, ulong2 b, ulong2 c);
   10643 long3 __ovld __cnfn mad_sat(long3 a, long3 b, long3 c);
   10644 ulong3 __ovld __cnfn mad_sat(ulong3 a, ulong3 b, ulong3 c);
   10645 long4 __ovld __cnfn mad_sat(long4 a, long4 b, long4 c);
   10646 ulong4 __ovld __cnfn mad_sat(ulong4 a, ulong4 b, ulong4 c);
   10647 long8 __ovld __cnfn mad_sat(long8 a, long8 b, long8 c);
   10648 ulong8 __ovld __cnfn mad_sat(ulong8 a, ulong8 b, ulong8 c);
   10649 long16 __ovld __cnfn mad_sat(long16 a, long16 b, long16 c);
   10650 ulong16 __ovld __cnfn mad_sat(ulong16 a, ulong16 b, ulong16 c);
   10651 
   10652 /**
   10653  * Returns y if x < y, otherwise it returns x.
   10654  */
   10655 char __ovld __cnfn max(char x, char y);
   10656 uchar __ovld __cnfn max(uchar x, uchar y);
   10657 char2 __ovld __cnfn max(char2 x, char2 y);
   10658 uchar2 __ovld __cnfn max(uchar2 x, uchar2 y);
   10659 char3 __ovld __cnfn max(char3 x, char3 y);
   10660 uchar3 __ovld __cnfn max(uchar3 x, uchar3 y);
   10661 char4 __ovld __cnfn max(char4 x, char4 y);
   10662 uchar4 __ovld __cnfn max(uchar4 x, uchar4 y);
   10663 char8 __ovld __cnfn max(char8 x, char8 y);
   10664 uchar8 __ovld __cnfn max(uchar8 x, uchar8 y);
   10665 char16 __ovld __cnfn max(char16 x, char16 y);
   10666 uchar16 __ovld __cnfn max(uchar16 x, uchar16 y);
   10667 short __ovld __cnfn max(short x, short y);
   10668 ushort __ovld __cnfn max(ushort x, ushort y);
   10669 short2 __ovld __cnfn max(short2 x, short2 y);
   10670 ushort2 __ovld __cnfn max(ushort2 x, ushort2 y);
   10671 short3 __ovld __cnfn max(short3 x, short3 y);
   10672 ushort3 __ovld __cnfn max(ushort3 x, ushort3 y);
   10673 short4 __ovld __cnfn max(short4 x, short4 y);
   10674 ushort4 __ovld __cnfn max(ushort4 x, ushort4 y);
   10675 short8 __ovld __cnfn max(short8 x, short8 y);
   10676 ushort8 __ovld __cnfn max(ushort8 x, ushort8 y);
   10677 short16 __ovld __cnfn max(short16 x, short16 y);
   10678 ushort16 __ovld __cnfn max(ushort16 x, ushort16 y);
   10679 int __ovld __cnfn max(int x, int y);
   10680 uint __ovld __cnfn max(uint x, uint y);
   10681 int2 __ovld __cnfn max(int2 x, int2 y);
   10682 uint2 __ovld __cnfn max(uint2 x, uint2 y);
   10683 int3 __ovld __cnfn max(int3 x, int3 y);
   10684 uint3 __ovld __cnfn max(uint3 x, uint3 y);
   10685 int4 __ovld __cnfn max(int4 x, int4 y);
   10686 uint4 __ovld __cnfn max(uint4 x, uint4 y);
   10687 int8 __ovld __cnfn max(int8 x, int8 y);
   10688 uint8 __ovld __cnfn max(uint8 x, uint8 y);
   10689 int16 __ovld __cnfn max(int16 x, int16 y);
   10690 uint16 __ovld __cnfn max(uint16 x, uint16 y);
   10691 long __ovld __cnfn max(long x, long y);
   10692 ulong __ovld __cnfn max(ulong x, ulong y);
   10693 long2 __ovld __cnfn max(long2 x, long2 y);
   10694 ulong2 __ovld __cnfn max(ulong2 x, ulong2 y);
   10695 long3 __ovld __cnfn max(long3 x, long3 y);
   10696 ulong3 __ovld __cnfn max(ulong3 x, ulong3 y);
   10697 long4 __ovld __cnfn max(long4 x, long4 y);
   10698 ulong4 __ovld __cnfn max(ulong4 x, ulong4 y);
   10699 long8 __ovld __cnfn max(long8 x, long8 y);
   10700 ulong8 __ovld __cnfn max(ulong8 x, ulong8 y);
   10701 long16 __ovld __cnfn max(long16 x, long16 y);
   10702 ulong16 __ovld __cnfn max(ulong16 x, ulong16 y);
   10703 char __ovld __cnfn max(char x, char y);
   10704 uchar __ovld __cnfn max(uchar x, uchar y);
   10705 char2 __ovld __cnfn max(char2 x, char y);
   10706 uchar2 __ovld __cnfn max(uchar2 x, uchar y);
   10707 char3 __ovld __cnfn max(char3 x, char y);
   10708 uchar3 __ovld __cnfn max(uchar3 x, uchar y);
   10709 char4 __ovld __cnfn max(char4 x, char y);
   10710 uchar4 __ovld __cnfn max(uchar4 x, uchar y);
   10711 char8 __ovld __cnfn max(char8 x, char y);
   10712 uchar8 __ovld __cnfn max(uchar8 x, uchar y);
   10713 char16 __ovld __cnfn max(char16 x, char y);
   10714 uchar16 __ovld __cnfn max(uchar16 x, uchar y);
   10715 short __ovld __cnfn max(short x, short y);
   10716 ushort __ovld __cnfn max(ushort x, ushort y);
   10717 short2 __ovld __cnfn max(short2 x, short y);
   10718 ushort2 __ovld __cnfn max(ushort2 x, ushort y);
   10719 short3 __ovld __cnfn max(short3 x, short y);
   10720 ushort3 __ovld __cnfn max(ushort3 x, ushort y);
   10721 short4 __ovld __cnfn max(short4 x, short y);
   10722 ushort4 __ovld __cnfn max(ushort4 x, ushort y);
   10723 short8 __ovld __cnfn max(short8 x, short y);
   10724 ushort8 __ovld __cnfn max(ushort8 x, ushort y);
   10725 short16 __ovld __cnfn max(short16 x, short y);
   10726 ushort16 __ovld __cnfn max(ushort16 x, ushort y);
   10727 int __ovld __cnfn max(int x, int y);
   10728 uint __ovld __cnfn max(uint x, uint y);
   10729 int2 __ovld __cnfn max(int2 x, int y);
   10730 uint2 __ovld __cnfn max(uint2 x, uint y);
   10731 int3 __ovld __cnfn max(int3 x, int y);
   10732 uint3 __ovld __cnfn max(uint3 x, uint y);
   10733 int4 __ovld __cnfn max(int4 x, int y);
   10734 uint4 __ovld __cnfn max(uint4 x, uint y);
   10735 int8 __ovld __cnfn max(int8 x, int y);
   10736 uint8 __ovld __cnfn max(uint8 x, uint y);
   10737 int16 __ovld __cnfn max(int16 x, int y);
   10738 uint16 __ovld __cnfn max(uint16 x, uint y);
   10739 long __ovld __cnfn max(long x, long y);
   10740 ulong __ovld __cnfn max(ulong x, ulong y);
   10741 long2 __ovld __cnfn max(long2 x, long y);
   10742 ulong2 __ovld __cnfn max(ulong2 x, ulong y);
   10743 long3 __ovld __cnfn max(long3 x, long y);
   10744 ulong3 __ovld __cnfn max(ulong3 x, ulong y);
   10745 long4 __ovld __cnfn max(long4 x, long y);
   10746 ulong4 __ovld __cnfn max(ulong4 x, ulong y);
   10747 long8 __ovld __cnfn max(long8 x, long y);
   10748 ulong8 __ovld __cnfn max(ulong8 x, ulong y);
   10749 long16 __ovld __cnfn max(long16 x, long y);
   10750 ulong16 __ovld __cnfn max(ulong16 x, ulong y);
   10751 
   10752 /**
   10753  * Returns y if y < x, otherwise it returns x.
   10754  */
   10755 char __ovld __cnfn min(char x, char y);
   10756 uchar __ovld __cnfn min(uchar x, uchar y);
   10757 char2 __ovld __cnfn min(char2 x, char2 y);
   10758 uchar2 __ovld __cnfn min(uchar2 x, uchar2 y);
   10759 char3 __ovld __cnfn min(char3 x, char3 y);
   10760 uchar3 __ovld __cnfn min(uchar3 x, uchar3 y);
   10761 char4 __ovld __cnfn min(char4 x, char4 y);
   10762 uchar4 __ovld __cnfn min(uchar4 x, uchar4 y);
   10763 char8 __ovld __cnfn min(char8 x, char8 y);
   10764 uchar8 __ovld __cnfn min(uchar8 x, uchar8 y);
   10765 char16 __ovld __cnfn min(char16 x, char16 y);
   10766 uchar16 __ovld __cnfn min(uchar16 x, uchar16 y);
   10767 short __ovld __cnfn min(short x, short y);
   10768 ushort __ovld __cnfn min(ushort x, ushort y);
   10769 short2 __ovld __cnfn min(short2 x, short2 y);
   10770 ushort2 __ovld __cnfn min(ushort2 x, ushort2 y);
   10771 short3 __ovld __cnfn min(short3 x, short3 y);
   10772 ushort3 __ovld __cnfn min(ushort3 x, ushort3 y);
   10773 short4 __ovld __cnfn min(short4 x, short4 y);
   10774 ushort4 __ovld __cnfn min(ushort4 x, ushort4 y);
   10775 short8 __ovld __cnfn min(short8 x, short8 y);
   10776 ushort8 __ovld __cnfn min(ushort8 x, ushort8 y);
   10777 short16 __ovld __cnfn min(short16 x, short16 y);
   10778 ushort16 __ovld __cnfn min(ushort16 x, ushort16 y);
   10779 int __ovld __cnfn min(int x, int y);
   10780 uint __ovld __cnfn min(uint x, uint y);
   10781 int2 __ovld __cnfn min(int2 x, int2 y);
   10782 uint2 __ovld __cnfn min(uint2 x, uint2 y);
   10783 int3 __ovld __cnfn min(int3 x, int3 y);
   10784 uint3 __ovld __cnfn min(uint3 x, uint3 y);
   10785 int4 __ovld __cnfn min(int4 x, int4 y);
   10786 uint4 __ovld __cnfn min(uint4 x, uint4 y);
   10787 int8 __ovld __cnfn min(int8 x, int8 y);
   10788 uint8 __ovld __cnfn min(uint8 x, uint8 y);
   10789 int16 __ovld __cnfn min(int16 x, int16 y);
   10790 uint16 __ovld __cnfn min(uint16 x, uint16 y);
   10791 long __ovld __cnfn min(long x, long y);
   10792 ulong __ovld __cnfn min(ulong x, ulong y);
   10793 long2 __ovld __cnfn min(long2 x, long2 y);
   10794 ulong2 __ovld __cnfn min(ulong2 x, ulong2 y);
   10795 long3 __ovld __cnfn min(long3 x, long3 y);
   10796 ulong3 __ovld __cnfn min(ulong3 x, ulong3 y);
   10797 long4 __ovld __cnfn min(long4 x, long4 y);
   10798 ulong4 __ovld __cnfn min(ulong4 x, ulong4 y);
   10799 long8 __ovld __cnfn min(long8 x, long8 y);
   10800 ulong8 __ovld __cnfn min(ulong8 x, ulong8 y);
   10801 long16 __ovld __cnfn min(long16 x, long16 y);
   10802 ulong16 __ovld __cnfn min(ulong16 x, ulong16 y);
   10803 char __ovld __cnfn min(char x, char y);
   10804 uchar __ovld __cnfn min(uchar x, uchar y);
   10805 char2 __ovld __cnfn min(char2 x, char y);
   10806 uchar2 __ovld __cnfn min(uchar2 x, uchar y);
   10807 char3 __ovld __cnfn min(char3 x, char y);
   10808 uchar3 __ovld __cnfn min(uchar3 x, uchar y);
   10809 char4 __ovld __cnfn min(char4 x, char y);
   10810 uchar4 __ovld __cnfn min(uchar4 x, uchar y);
   10811 char8 __ovld __cnfn min(char8 x, char y);
   10812 uchar8 __ovld __cnfn min(uchar8 x, uchar y);
   10813 char16 __ovld __cnfn min(char16 x, char y);
   10814 uchar16 __ovld __cnfn min(uchar16 x, uchar y);
   10815 short __ovld __cnfn min(short x, short y);
   10816 ushort __ovld __cnfn min(ushort x, ushort y);
   10817 short2 __ovld __cnfn min(short2 x, short y);
   10818 ushort2 __ovld __cnfn min(ushort2 x, ushort y);
   10819 short3 __ovld __cnfn min(short3 x, short y);
   10820 ushort3 __ovld __cnfn min(ushort3 x, ushort y);
   10821 short4 __ovld __cnfn min(short4 x, short y);
   10822 ushort4 __ovld __cnfn min(ushort4 x, ushort y);
   10823 short8 __ovld __cnfn min(short8 x, short y);
   10824 ushort8 __ovld __cnfn min(ushort8 x, ushort y);
   10825 short16 __ovld __cnfn min(short16 x, short y);
   10826 ushort16 __ovld __cnfn min(ushort16 x, ushort y);
   10827 int __ovld __cnfn min(int x, int y);
   10828 uint __ovld __cnfn min(uint x, uint y);
   10829 int2 __ovld __cnfn min(int2 x, int y);
   10830 uint2 __ovld __cnfn min(uint2 x, uint y);
   10831 int3 __ovld __cnfn min(int3 x, int y);
   10832 uint3 __ovld __cnfn min(uint3 x, uint y);
   10833 int4 __ovld __cnfn min(int4 x, int y);
   10834 uint4 __ovld __cnfn min(uint4 x, uint y);
   10835 int8 __ovld __cnfn min(int8 x, int y);
   10836 uint8 __ovld __cnfn min(uint8 x, uint y);
   10837 int16 __ovld __cnfn min(int16 x, int y);
   10838 uint16 __ovld __cnfn min(uint16 x, uint y);
   10839 long __ovld __cnfn min(long x, long y);
   10840 ulong __ovld __cnfn min(ulong x, ulong y);
   10841 long2 __ovld __cnfn min(long2 x, long y);
   10842 ulong2 __ovld __cnfn min(ulong2 x, ulong y);
   10843 long3 __ovld __cnfn min(long3 x, long y);
   10844 ulong3 __ovld __cnfn min(ulong3 x, ulong y);
   10845 long4 __ovld __cnfn min(long4 x, long y);
   10846 ulong4 __ovld __cnfn min(ulong4 x, ulong y);
   10847 long8 __ovld __cnfn min(long8 x, long y);
   10848 ulong8 __ovld __cnfn min(ulong8 x, ulong y);
   10849 long16 __ovld __cnfn min(long16 x, long y);
   10850 ulong16 __ovld __cnfn min(ulong16 x, ulong y);
   10851 
   10852 /**
   10853  * Computes x * y and returns the high half of the
   10854  * product of x and y.
   10855  */
   10856 char __ovld __cnfn mul_hi(char x, char y);
   10857 uchar __ovld __cnfn mul_hi(uchar x, uchar y);
   10858 char2 __ovld __cnfn mul_hi(char2 x, char2 y);
   10859 uchar2 __ovld __cnfn mul_hi(uchar2 x, uchar2 y);
   10860 char3 __ovld __cnfn mul_hi(char3 x, char3 y);
   10861 uchar3 __ovld __cnfn mul_hi(uchar3 x, uchar3 y);
   10862 char4 __ovld __cnfn mul_hi(char4 x, char4 y);
   10863 uchar4 __ovld __cnfn mul_hi(uchar4 x, uchar4 y);
   10864 char8 __ovld __cnfn mul_hi(char8 x, char8 y);
   10865 uchar8 __ovld __cnfn mul_hi(uchar8 x, uchar8 y);
   10866 char16 __ovld __cnfn mul_hi(char16 x, char16 y);
   10867 uchar16 __ovld __cnfn mul_hi(uchar16 x, uchar16 y);
   10868 short __ovld __cnfn mul_hi(short x, short y);
   10869 ushort __ovld __cnfn mul_hi(ushort x, ushort y);
   10870 short2 __ovld __cnfn mul_hi(short2 x, short2 y);
   10871 ushort2 __ovld __cnfn mul_hi(ushort2 x, ushort2 y);
   10872 short3 __ovld __cnfn mul_hi(short3 x, short3 y);
   10873 ushort3 __ovld __cnfn mul_hi(ushort3 x, ushort3 y);
   10874 short4 __ovld __cnfn mul_hi(short4 x, short4 y);
   10875 ushort4 __ovld __cnfn mul_hi(ushort4 x, ushort4 y);
   10876 short8 __ovld __cnfn mul_hi(short8 x, short8 y);
   10877 ushort8 __ovld __cnfn mul_hi(ushort8 x, ushort8 y);
   10878 short16 __ovld __cnfn mul_hi(short16 x, short16 y);
   10879 ushort16 __ovld __cnfn mul_hi(ushort16 x, ushort16 y);
   10880 int __ovld __cnfn mul_hi(int x, int y);
   10881 uint __ovld __cnfn mul_hi(uint x, uint y);
   10882 int2 __ovld __cnfn mul_hi(int2 x, int2 y);
   10883 uint2 __ovld __cnfn mul_hi(uint2 x, uint2 y);
   10884 int3 __ovld __cnfn mul_hi(int3 x, int3 y);
   10885 uint3 __ovld __cnfn mul_hi(uint3 x, uint3 y);
   10886 int4 __ovld __cnfn mul_hi(int4 x, int4 y);
   10887 uint4 __ovld __cnfn mul_hi(uint4 x, uint4 y);
   10888 int8 __ovld __cnfn mul_hi(int8 x, int8 y);
   10889 uint8 __ovld __cnfn mul_hi(uint8 x, uint8 y);
   10890 int16 __ovld __cnfn mul_hi(int16 x, int16 y);
   10891 uint16 __ovld __cnfn mul_hi(uint16 x, uint16 y);
   10892 long __ovld __cnfn mul_hi(long x, long y);
   10893 ulong __ovld __cnfn mul_hi(ulong x, ulong y);
   10894 long2 __ovld __cnfn mul_hi(long2 x, long2 y);
   10895 ulong2 __ovld __cnfn mul_hi(ulong2 x, ulong2 y);
   10896 long3 __ovld __cnfn mul_hi(long3 x, long3 y);
   10897 ulong3 __ovld __cnfn mul_hi(ulong3 x, ulong3 y);
   10898 long4 __ovld __cnfn mul_hi(long4 x, long4 y);
   10899 ulong4 __ovld __cnfn mul_hi(ulong4 x, ulong4 y);
   10900 long8 __ovld __cnfn mul_hi(long8 x, long8 y);
   10901 ulong8 __ovld __cnfn mul_hi(ulong8 x, ulong8 y);
   10902 long16 __ovld __cnfn mul_hi(long16 x, long16 y);
   10903 ulong16 __ovld __cnfn mul_hi(ulong16 x, ulong16 y);
   10904 
   10905 /**
   10906  * For each element in v, the bits are shifted left by
   10907  * the number of bits given by the corresponding
   10908  * element in i (subject to usual shift modulo rules
   10909  * described in section 6.3). Bits shifted off the left
   10910  * side of the element are shifted back in from the
   10911  * right.
   10912  */
   10913 char __ovld __cnfn rotate(char v, char i);
   10914 uchar __ovld __cnfn rotate(uchar v, uchar i);
   10915 char2 __ovld __cnfn rotate(char2 v, char2 i);
   10916 uchar2 __ovld __cnfn rotate(uchar2 v, uchar2 i);
   10917 char3 __ovld __cnfn rotate(char3 v, char3 i);
   10918 uchar3 __ovld __cnfn rotate(uchar3 v, uchar3 i);
   10919 char4 __ovld __cnfn rotate(char4 v, char4 i);
   10920 uchar4 __ovld __cnfn rotate(uchar4 v, uchar4 i);
   10921 char8 __ovld __cnfn rotate(char8 v, char8 i);
   10922 uchar8 __ovld __cnfn rotate(uchar8 v, uchar8 i);
   10923 char16 __ovld __cnfn rotate(char16 v, char16 i);
   10924 uchar16 __ovld __cnfn rotate(uchar16 v, uchar16 i);
   10925 short __ovld __cnfn rotate(short v, short i);
   10926 ushort __ovld __cnfn rotate(ushort v, ushort i);
   10927 short2 __ovld __cnfn rotate(short2 v, short2 i);
   10928 ushort2 __ovld __cnfn rotate(ushort2 v, ushort2 i);
   10929 short3 __ovld __cnfn rotate(short3 v, short3 i);
   10930 ushort3 __ovld __cnfn rotate(ushort3 v, ushort3 i);
   10931 short4 __ovld __cnfn rotate(short4 v, short4 i);
   10932 ushort4 __ovld __cnfn rotate(ushort4 v, ushort4 i);
   10933 short8 __ovld __cnfn rotate(short8 v, short8 i);
   10934 ushort8 __ovld __cnfn rotate(ushort8 v, ushort8 i);
   10935 short16 __ovld __cnfn rotate(short16 v, short16 i);
   10936 ushort16 __ovld __cnfn rotate(ushort16 v, ushort16 i);
   10937 int __ovld __cnfn rotate(int v, int i);
   10938 uint __ovld __cnfn rotate(uint v, uint i);
   10939 int2 __ovld __cnfn rotate(int2 v, int2 i);
   10940 uint2 __ovld __cnfn rotate(uint2 v, uint2 i);
   10941 int3 __ovld __cnfn rotate(int3 v, int3 i);
   10942 uint3 __ovld __cnfn rotate(uint3 v, uint3 i);
   10943 int4 __ovld __cnfn rotate(int4 v, int4 i);
   10944 uint4 __ovld __cnfn rotate(uint4 v, uint4 i);
   10945 int8 __ovld __cnfn rotate(int8 v, int8 i);
   10946 uint8 __ovld __cnfn rotate(uint8 v, uint8 i);
   10947 int16 __ovld __cnfn rotate(int16 v, int16 i);
   10948 uint16 __ovld __cnfn rotate(uint16 v, uint16 i);
   10949 long __ovld __cnfn rotate(long v, long i);
   10950 ulong __ovld __cnfn rotate(ulong v, ulong i);
   10951 long2 __ovld __cnfn rotate(long2 v, long2 i);
   10952 ulong2 __ovld __cnfn rotate(ulong2 v, ulong2 i);
   10953 long3 __ovld __cnfn rotate(long3 v, long3 i);
   10954 ulong3 __ovld __cnfn rotate(ulong3 v, ulong3 i);
   10955 long4 __ovld __cnfn rotate(long4 v, long4 i);
   10956 ulong4 __ovld __cnfn rotate(ulong4 v, ulong4 i);
   10957 long8 __ovld __cnfn rotate(long8 v, long8 i);
   10958 ulong8 __ovld __cnfn rotate(ulong8 v, ulong8 i);
   10959 long16 __ovld __cnfn rotate(long16 v, long16 i);
   10960 ulong16 __ovld __cnfn rotate(ulong16 v, ulong16 i);
   10961 
   10962 /**
   10963  * Returns x - y and saturates the result.
   10964  */
   10965 char __ovld __cnfn sub_sat(char x, char y);
   10966 uchar __ovld __cnfn sub_sat(uchar x, uchar y);
   10967 char2 __ovld __cnfn sub_sat(char2 x, char2 y);
   10968 uchar2 __ovld __cnfn sub_sat(uchar2 x, uchar2 y);
   10969 char3 __ovld __cnfn sub_sat(char3 x, char3 y);
   10970 uchar3 __ovld __cnfn sub_sat(uchar3 x, uchar3 y);
   10971 char4 __ovld __cnfn sub_sat(char4 x, char4 y);
   10972 uchar4 __ovld __cnfn sub_sat(uchar4 x, uchar4 y);
   10973 char8 __ovld __cnfn sub_sat(char8 x, char8 y);
   10974 uchar8 __ovld __cnfn sub_sat(uchar8 x, uchar8 y);
   10975 char16 __ovld __cnfn sub_sat(char16 x, char16 y);
   10976 uchar16 __ovld __cnfn sub_sat(uchar16 x, uchar16 y);
   10977 short __ovld __cnfn sub_sat(short x, short y);
   10978 ushort __ovld __cnfn sub_sat(ushort x, ushort y);
   10979 short2 __ovld __cnfn sub_sat(short2 x, short2 y);
   10980 ushort2 __ovld __cnfn sub_sat(ushort2 x, ushort2 y);
   10981 short3 __ovld __cnfn sub_sat(short3 x, short3 y);
   10982 ushort3 __ovld __cnfn sub_sat(ushort3 x, ushort3 y);
   10983 short4 __ovld __cnfn sub_sat(short4 x, short4 y);
   10984 ushort4 __ovld __cnfn sub_sat(ushort4 x, ushort4 y);
   10985 short8 __ovld __cnfn sub_sat(short8 x, short8 y);
   10986 ushort8 __ovld __cnfn sub_sat(ushort8 x, ushort8 y);
   10987 short16 __ovld __cnfn sub_sat(short16 x, short16 y);
   10988 ushort16 __ovld __cnfn sub_sat(ushort16 x, ushort16 y);
   10989 int __ovld __cnfn sub_sat(int x, int y);
   10990 uint __ovld __cnfn sub_sat(uint x, uint y);
   10991 int2 __ovld __cnfn sub_sat(int2 x, int2 y);
   10992 uint2 __ovld __cnfn sub_sat(uint2 x, uint2 y);
   10993 int3 __ovld __cnfn sub_sat(int3 x, int3 y);
   10994 uint3 __ovld __cnfn sub_sat(uint3 x, uint3 y);
   10995 int4 __ovld __cnfn sub_sat(int4 x, int4 y);
   10996 uint4 __ovld __cnfn sub_sat(uint4 x, uint4 y);
   10997 int8 __ovld __cnfn sub_sat(int8 x, int8 y);
   10998 uint8 __ovld __cnfn sub_sat(uint8 x, uint8 y);
   10999 int16 __ovld __cnfn sub_sat(int16 x, int16 y);
   11000 uint16 __ovld __cnfn sub_sat(uint16 x, uint16 y);
   11001 long __ovld __cnfn sub_sat(long x, long y);
   11002 ulong __ovld __cnfn sub_sat(ulong x, ulong y);
   11003 long2 __ovld __cnfn sub_sat(long2 x, long2 y);
   11004 ulong2 __ovld __cnfn sub_sat(ulong2 x, ulong2 y);
   11005 long3 __ovld __cnfn sub_sat(long3 x, long3 y);
   11006 ulong3 __ovld __cnfn sub_sat(ulong3 x, ulong3 y);
   11007 long4 __ovld __cnfn sub_sat(long4 x, long4 y);
   11008 ulong4 __ovld __cnfn sub_sat(ulong4 x, ulong4 y);
   11009 long8 __ovld __cnfn sub_sat(long8 x, long8 y);
   11010 ulong8 __ovld __cnfn sub_sat(ulong8 x, ulong8 y);
   11011 long16 __ovld __cnfn sub_sat(long16 x, long16 y);
   11012 ulong16 __ovld __cnfn sub_sat(ulong16 x, ulong16 y);
   11013 
   11014 /**
   11015  * result[i] = ((short)hi[i] << 8) | lo[i]
   11016  * result[i] = ((ushort)hi[i] << 8) | lo[i]
   11017  */
   11018 short __ovld __cnfn upsample(char hi, uchar lo);
   11019 ushort __ovld __cnfn upsample(uchar hi, uchar lo);
   11020 short2 __ovld __cnfn upsample(char2 hi, uchar2 lo);
   11021 short3 __ovld __cnfn upsample(char3 hi, uchar3 lo);
   11022 short4 __ovld __cnfn upsample(char4 hi, uchar4 lo);
   11023 short8 __ovld __cnfn upsample(char8 hi, uchar8 lo);
   11024 short16 __ovld __cnfn upsample(char16 hi, uchar16 lo);
   11025 ushort2 __ovld __cnfn upsample(uchar2 hi, uchar2 lo);
   11026 ushort3 __ovld __cnfn upsample(uchar3 hi, uchar3 lo);
   11027 ushort4 __ovld __cnfn upsample(uchar4 hi, uchar4 lo);
   11028 ushort8 __ovld __cnfn upsample(uchar8 hi, uchar8 lo);
   11029 ushort16 __ovld __cnfn upsample(uchar16 hi, uchar16 lo);
   11030 
   11031 /**
   11032  * result[i] = ((int)hi[i] << 16) | lo[i]
   11033  * result[i] = ((uint)hi[i] << 16) | lo[i]
   11034  */
   11035 int __ovld __cnfn upsample(short hi, ushort lo);
   11036 uint __ovld __cnfn upsample(ushort hi, ushort lo);
   11037 int2 __ovld __cnfn upsample(short2 hi, ushort2 lo);
   11038 int3 __ovld __cnfn upsample(short3 hi, ushort3 lo);
   11039 int4 __ovld __cnfn upsample(short4 hi, ushort4 lo);
   11040 int8 __ovld __cnfn upsample(short8 hi, ushort8 lo);
   11041 int16 __ovld __cnfn upsample(short16 hi, ushort16 lo);
   11042 uint2 __ovld __cnfn upsample(ushort2 hi, ushort2 lo);
   11043 uint3 __ovld __cnfn upsample(ushort3 hi, ushort3 lo);
   11044 uint4 __ovld __cnfn upsample(ushort4 hi, ushort4 lo);
   11045 uint8 __ovld __cnfn upsample(ushort8 hi, ushort8 lo);
   11046 uint16 __ovld __cnfn upsample(ushort16 hi, ushort16 lo);
   11047 /**
   11048  * result[i] = ((long)hi[i] << 32) | lo[i]
   11049  * result[i] = ((ulong)hi[i] << 32) | lo[i]
   11050  */
   11051 long __ovld __cnfn upsample(int hi, uint lo);
   11052 ulong __ovld __cnfn upsample(uint hi, uint lo);
   11053 long2 __ovld __cnfn upsample(int2 hi, uint2 lo);
   11054 long3 __ovld __cnfn upsample(int3 hi, uint3 lo);
   11055 long4 __ovld __cnfn upsample(int4 hi, uint4 lo);
   11056 long8 __ovld __cnfn upsample(int8 hi, uint8 lo);
   11057 long16 __ovld __cnfn upsample(int16 hi, uint16 lo);
   11058 ulong2 __ovld __cnfn upsample(uint2 hi, uint2 lo);
   11059 ulong3 __ovld __cnfn upsample(uint3 hi, uint3 lo);
   11060 ulong4 __ovld __cnfn upsample(uint4 hi, uint4 lo);
   11061 ulong8 __ovld __cnfn upsample(uint8 hi, uint8 lo);
   11062 ulong16 __ovld __cnfn upsample(uint16 hi, uint16 lo);
   11063 
   11064 /*
   11065  * popcount(x): returns the number of set bit in x
   11066  */
   11067 char __ovld __cnfn popcount(char x);
   11068 uchar __ovld __cnfn popcount(uchar x);
   11069 char2 __ovld __cnfn popcount(char2 x);
   11070 uchar2 __ovld __cnfn popcount(uchar2 x);
   11071 char3 __ovld __cnfn popcount(char3 x);
   11072 uchar3 __ovld __cnfn popcount(uchar3 x);
   11073 char4 __ovld __cnfn popcount(char4 x);
   11074 uchar4 __ovld __cnfn popcount(uchar4 x);
   11075 char8 __ovld __cnfn popcount(char8 x);
   11076 uchar8 __ovld __cnfn popcount(uchar8 x);
   11077 char16 __ovld __cnfn popcount(char16 x);
   11078 uchar16 __ovld __cnfn popcount(uchar16 x);
   11079 short __ovld __cnfn popcount(short x);
   11080 ushort __ovld __cnfn popcount(ushort x);
   11081 short2 __ovld __cnfn popcount(short2 x);
   11082 ushort2 __ovld __cnfn popcount(ushort2 x);
   11083 short3 __ovld __cnfn popcount(short3 x);
   11084 ushort3 __ovld __cnfn popcount(ushort3 x);
   11085 short4 __ovld __cnfn popcount(short4 x);
   11086 ushort4 __ovld __cnfn popcount(ushort4 x);
   11087 short8 __ovld __cnfn popcount(short8 x);
   11088 ushort8 __ovld __cnfn popcount(ushort8 x);
   11089 short16 __ovld __cnfn popcount(short16 x);
   11090 ushort16 __ovld __cnfn popcount(ushort16 x);
   11091 int __ovld __cnfn popcount(int x);
   11092 uint __ovld __cnfn popcount(uint x);
   11093 int2 __ovld __cnfn popcount(int2 x);
   11094 uint2 __ovld __cnfn popcount(uint2 x);
   11095 int3 __ovld __cnfn popcount(int3 x);
   11096 uint3 __ovld __cnfn popcount(uint3 x);
   11097 int4 __ovld __cnfn popcount(int4 x);
   11098 uint4 __ovld __cnfn popcount(uint4 x);
   11099 int8 __ovld __cnfn popcount(int8 x);
   11100 uint8 __ovld __cnfn popcount(uint8 x);
   11101 int16 __ovld __cnfn popcount(int16 x);
   11102 uint16 __ovld __cnfn popcount(uint16 x);
   11103 long __ovld __cnfn popcount(long x);
   11104 ulong __ovld __cnfn popcount(ulong x);
   11105 long2 __ovld __cnfn popcount(long2 x);
   11106 ulong2 __ovld __cnfn popcount(ulong2 x);
   11107 long3 __ovld __cnfn popcount(long3 x);
   11108 ulong3 __ovld __cnfn popcount(ulong3 x);
   11109 long4 __ovld __cnfn popcount(long4 x);
   11110 ulong4 __ovld __cnfn popcount(ulong4 x);
   11111 long8 __ovld __cnfn popcount(long8 x);
   11112 ulong8 __ovld __cnfn popcount(ulong8 x);
   11113 long16 __ovld __cnfn popcount(long16 x);
   11114 ulong16 __ovld __cnfn popcount(ulong16 x);
   11115 
   11116 /**
   11117  * Multiply two 24-bit integer values x and y and add
   11118  * the 32-bit integer result to the 32-bit integer z.
   11119  * Refer to definition of mul24 to see how the 24-bit
   11120  * integer multiplication is performed.
   11121  */
   11122 int __ovld __cnfn mad24(int x, int y, int z);
   11123 uint __ovld __cnfn mad24(uint x, uint y, uint z);
   11124 int2 __ovld __cnfn mad24(int2 x, int2 y, int2 z);
   11125 uint2 __ovld __cnfn mad24(uint2 x, uint2 y, uint2 z);
   11126 int3 __ovld __cnfn mad24(int3 x, int3 y, int3 z);
   11127 uint3 __ovld __cnfn mad24(uint3 x, uint3 y, uint3 z);
   11128 int4 __ovld __cnfn mad24(int4 x, int4 y, int4 z);
   11129 uint4 __ovld __cnfn mad24(uint4 x, uint4 y, uint4 z);
   11130 int8 __ovld __cnfn mad24(int8 x, int8 y, int8 z);
   11131 uint8 __ovld __cnfn mad24(uint8 x, uint8 y, uint8 z);
   11132 int16 __ovld __cnfn mad24(int16 x, int16 y, int16 z);
   11133 uint16 __ovld __cnfn mad24(uint16 x, uint16 y, uint16 z);
   11134 
   11135 /**
   11136  * Multiply two 24-bit integer values x and y. x and y
   11137  * are 32-bit integers but only the low 24-bits are used
   11138  * to perform the multiplication. mul24 should only
   11139  * be used when values in x and y are in the range [-
   11140  * 2^23, 2^23-1] if x and y are signed integers and in the
   11141  * range [0, 2^24-1] if x and y are unsigned integers. If
   11142  * x and y are not in this range, the multiplication
   11143  * result is implementation-defined.
   11144  */
   11145 int __ovld __cnfn mul24(int x, int y);
   11146 uint __ovld __cnfn mul24(uint x, uint y);
   11147 int2 __ovld __cnfn mul24(int2 x, int2 y);
   11148 uint2 __ovld __cnfn mul24(uint2 x, uint2 y);
   11149 int3 __ovld __cnfn mul24(int3 x, int3 y);
   11150 uint3 __ovld __cnfn mul24(uint3 x, uint3 y);
   11151 int4 __ovld __cnfn mul24(int4 x, int4 y);
   11152 uint4 __ovld __cnfn mul24(uint4 x, uint4 y);
   11153 int8 __ovld __cnfn mul24(int8 x, int8 y);
   11154 uint8 __ovld __cnfn mul24(uint8 x, uint8 y);
   11155 int16 __ovld __cnfn mul24(int16 x, int16 y);
   11156 uint16 __ovld __cnfn mul24(uint16 x, uint16 y);
   11157 
   11158 // OpenCL v1.1 s6.11.4, v1.2 s6.12.4, v2.0 s6.13.4 - Common Functions
   11159 
   11160 /**
   11161  * Returns fmin(fmax(x, minval), maxval).
   11162  * Results are undefined if minval > maxval.
   11163  */
   11164 float __ovld __cnfn clamp(float x, float minval, float maxval);
   11165 float2 __ovld __cnfn clamp(float2 x, float2 minval, float2 maxval);
   11166 float3 __ovld __cnfn clamp(float3 x, float3 minval, float3 maxval);
   11167 float4 __ovld __cnfn clamp(float4 x, float4 minval, float4 maxval);
   11168 float8 __ovld __cnfn clamp(float8 x, float8 minval, float8 maxval);
   11169 float16 __ovld __cnfn clamp(float16 x, float16 minval, float16 maxval);
   11170 float2 __ovld __cnfn clamp(float2 x, float minval, float maxval);
   11171 float3 __ovld __cnfn clamp(float3 x, float minval, float maxval);
   11172 float4 __ovld __cnfn clamp(float4 x, float minval, float maxval);
   11173 float8 __ovld __cnfn clamp(float8 x, float minval, float maxval);
   11174 float16 __ovld __cnfn clamp(float16 x, float minval, float maxval);
   11175 #ifdef cl_khr_fp64
   11176 double __ovld __cnfn clamp(double x, double minval, double maxval);
   11177 double2 __ovld __cnfn clamp(double2 x, double2 minval, double2 maxval);
   11178 double3 __ovld __cnfn clamp(double3 x, double3 minval, double3 maxval);
   11179 double4 __ovld __cnfn clamp(double4 x, double4 minval, double4 maxval);
   11180 double8 __ovld __cnfn clamp(double8 x, double8 minval, double8 maxval);
   11181 double16 __ovld __cnfn clamp(double16 x, double16 minval, double16 maxval);
   11182 double2 __ovld __cnfn clamp(double2 x, double minval, double maxval);
   11183 double3 __ovld __cnfn clamp(double3 x, double minval, double maxval);
   11184 double4 __ovld __cnfn clamp(double4 x, double minval, double maxval);
   11185 double8 __ovld __cnfn clamp(double8 x, double minval, double maxval);
   11186 double16 __ovld __cnfn clamp(double16 x, double minval, double maxval);
   11187 #endif //cl_khr_fp64
   11188 #ifdef cl_khr_fp16
   11189 half __ovld __cnfn clamp(half x, half minval, half maxval);
   11190 half2 __ovld __cnfn clamp(half2 x, half2 minval, half2 maxval);
   11191 half3 __ovld __cnfn clamp(half3 x, half3 minval, half3 maxval);
   11192 half4 __ovld __cnfn clamp(half4 x, half4 minval, half4 maxval);
   11193 half8 __ovld __cnfn clamp(half8 x, half8 minval, half8 maxval);
   11194 half16 __ovld __cnfn clamp(half16 x, half16 minval, half16 maxval);
   11195 half2 __ovld __cnfn clamp(half2 x, half minval, half maxval);
   11196 half3 __ovld __cnfn clamp(half3 x, half minval, half maxval);
   11197 half4 __ovld __cnfn clamp(half4 x, half minval, half maxval);
   11198 half8 __ovld __cnfn clamp(half8 x, half minval, half maxval);
   11199 half16 __ovld __cnfn clamp(half16 x, half minval, half maxval);
   11200 #endif //cl_khr_fp16
   11201 
   11202 /**
   11203  * Converts radians to degrees, i.e. (180 / PI) *
   11204  * radians.
   11205  */
   11206 float __ovld __cnfn degrees(float radians);
   11207 float2 __ovld __cnfn degrees(float2 radians);
   11208 float3 __ovld __cnfn degrees(float3 radians);
   11209 float4 __ovld __cnfn degrees(float4 radians);
   11210 float8 __ovld __cnfn degrees(float8 radians);
   11211 float16 __ovld __cnfn degrees(float16 radians);
   11212 #ifdef cl_khr_fp64
   11213 double __ovld __cnfn degrees(double radians);
   11214 double2 __ovld __cnfn degrees(double2 radians);
   11215 double3 __ovld __cnfn degrees(double3 radians);
   11216 double4 __ovld __cnfn degrees(double4 radians);
   11217 double8 __ovld __cnfn degrees(double8 radians);
   11218 double16 __ovld __cnfn degrees(double16 radians);
   11219 #endif //cl_khr_fp64
   11220 #ifdef cl_khr_fp16
   11221 half __ovld __cnfn degrees(half radians);
   11222 half2 __ovld __cnfn degrees(half2 radians);
   11223 half3 __ovld __cnfn degrees(half3 radians);
   11224 half4 __ovld __cnfn degrees(half4 radians);
   11225 half8 __ovld __cnfn degrees(half8 radians);
   11226 half16 __ovld __cnfn degrees(half16 radians);
   11227 #endif //cl_khr_fp16
   11228 
   11229 /**
   11230  * Returns y if x < y, otherwise it returns x. If x and y
   11231  * are infinite or NaN, the return values are undefined.
   11232  */
   11233 float __ovld __cnfn max(float x, float y);
   11234 float2 __ovld __cnfn max(float2 x, float2 y);
   11235 float3 __ovld __cnfn max(float3 x, float3 y);
   11236 float4 __ovld __cnfn max(float4 x, float4 y);
   11237 float8 __ovld __cnfn max(float8 x, float8 y);
   11238 float16 __ovld __cnfn max(float16 x, float16 y);
   11239 float2 __ovld __cnfn max(float2 x, float y);
   11240 float3 __ovld __cnfn max(float3 x, float y);
   11241 float4 __ovld __cnfn max(float4 x, float y);
   11242 float8 __ovld __cnfn max(float8 x, float y);
   11243 float16 __ovld __cnfn max(float16 x, float y);
   11244 #ifdef cl_khr_fp64
   11245 double __ovld __cnfn max(double x, double y);
   11246 double2 __ovld __cnfn max(double2 x, double2 y);
   11247 double3 __ovld __cnfn max(double3 x, double3 y);
   11248 double4 __ovld __cnfn max(double4 x, double4 y);
   11249 double8 __ovld __cnfn max(double8 x, double8 y);
   11250 double16 __ovld __cnfn max(double16 x, double16 y);
   11251 double2 __ovld __cnfn max(double2 x, double y);
   11252 double3 __ovld __cnfn max(double3 x, double y);
   11253 double4 __ovld __cnfn max(double4 x, double y);
   11254 double8 __ovld __cnfn max(double8 x, double y);
   11255 double16 __ovld __cnfn max(double16 x, double y);
   11256 #endif //cl_khr_fp64
   11257 #ifdef cl_khr_fp16
   11258 half __ovld __cnfn max(half x, half y);
   11259 half2 __ovld __cnfn max(half2 x, half2 y);
   11260 half3 __ovld __cnfn max(half3 x, half3 y);
   11261 half4 __ovld __cnfn max(half4 x, half4 y);
   11262 half8 __ovld __cnfn max(half8 x, half8 y);
   11263 half16 __ovld __cnfn max(half16 x, half16 y);
   11264 half2 __ovld __cnfn max(half2 x, half y);
   11265 half3 __ovld __cnfn max(half3 x, half y);
   11266 half4 __ovld __cnfn max(half4 x, half y);
   11267 half8 __ovld __cnfn max(half8 x, half y);
   11268 half16 __ovld __cnfn max(half16 x, half y);
   11269 #endif //cl_khr_fp16
   11270 
   11271 /**
   11272  * Returns y if y < x, otherwise it returns x. If x and y
   11273  * are infinite or NaN, the return values are undefined.
   11274  */
   11275 float __ovld __cnfn min(float x, float y);
   11276 float2 __ovld __cnfn min(float2 x, float2 y);
   11277 float3 __ovld __cnfn min(float3 x, float3 y);
   11278 float4 __ovld __cnfn min(float4 x, float4 y);
   11279 float8 __ovld __cnfn min(float8 x, float8 y);
   11280 float16 __ovld __cnfn min(float16 x, float16 y);
   11281 float2 __ovld __cnfn min(float2 x, float y);
   11282 float3 __ovld __cnfn min(float3 x, float y);
   11283 float4 __ovld __cnfn min(float4 x, float y);
   11284 float8 __ovld __cnfn min(float8 x, float y);
   11285 float16 __ovld __cnfn min(float16 x, float y);
   11286 #ifdef cl_khr_fp64
   11287 double __ovld __cnfn min(double x, double y);
   11288 double2 __ovld __cnfn min(double2 x, double2 y);
   11289 double3 __ovld __cnfn min(double3 x, double3 y);
   11290 double4 __ovld __cnfn min(double4 x, double4 y);
   11291 double8 __ovld __cnfn min(double8 x, double8 y);
   11292 double16 __ovld __cnfn min(double16 x, double16 y);
   11293 double2 __ovld __cnfn min(double2 x, double y);
   11294 double3 __ovld __cnfn min(double3 x, double y);
   11295 double4 __ovld __cnfn min(double4 x, double y);
   11296 double8 __ovld __cnfn min(double8 x, double y);
   11297 double16 __ovld __cnfn min(double16 x, double y);
   11298 #endif //cl_khr_fp64
   11299 #ifdef cl_khr_fp16
   11300 half __ovld __cnfn min(half x, half y);
   11301 half2 __ovld __cnfn min(half2 x, half2 y);
   11302 half3 __ovld __cnfn min(half3 x, half3 y);
   11303 half4 __ovld __cnfn min(half4 x, half4 y);
   11304 half8 __ovld __cnfn min(half8 x, half8 y);
   11305 half16 __ovld __cnfn min(half16 x, half16 y);
   11306 half2 __ovld __cnfn min(half2 x, half y);
   11307 half3 __ovld __cnfn min(half3 x, half y);
   11308 half4 __ovld __cnfn min(half4 x, half y);
   11309 half8 __ovld __cnfn min(half8 x, half y);
   11310 half16 __ovld __cnfn min(half16 x, half y);
   11311 #endif //cl_khr_fp16
   11312 
   11313 /**
   11314  * Returns the linear blend of x & y implemented as:
   11315  * x + (y - x) * a
   11316  * a must be a value in the range 0.0 ... 1.0. If a is not
   11317  * in the range 0.0 ... 1.0, the return values are
   11318  * undefined.
   11319  */
   11320 float __ovld __cnfn mix(float x, float y, float a);
   11321 float2 __ovld __cnfn mix(float2 x, float2 y, float2 a);
   11322 float3 __ovld __cnfn mix(float3 x, float3 y, float3 a);
   11323 float4 __ovld __cnfn mix(float4 x, float4 y, float4 a);
   11324 float8 __ovld __cnfn mix(float8 x, float8 y, float8 a);
   11325 float16 __ovld __cnfn mix(float16 x, float16 y, float16 a);
   11326 float2 __ovld __cnfn mix(float2 x, float2 y, float a);
   11327 float3 __ovld __cnfn mix(float3 x, float3 y, float a);
   11328 float4 __ovld __cnfn mix(float4 x, float4 y, float a);
   11329 float8 __ovld __cnfn mix(float8 x, float8 y, float a);
   11330 float16 __ovld __cnfn mix(float16 x, float16 y, float a);
   11331 #ifdef cl_khr_fp64
   11332 double __ovld __cnfn mix(double x, double y, double a);
   11333 double2 __ovld __cnfn mix(double2 x, double2 y, double2 a);
   11334 double3 __ovld __cnfn mix(double3 x, double3 y, double3 a);
   11335 double4 __ovld __cnfn mix(double4 x, double4 y, double4 a);
   11336 double8 __ovld __cnfn mix(double8 x, double8 y, double8 a);
   11337 double16 __ovld __cnfn mix(double16 x, double16 y, double16 a);
   11338 double2 __ovld __cnfn mix(double2 x, double2 y, double a);
   11339 double3 __ovld __cnfn mix(double3 x, double3 y, double a);
   11340 double4 __ovld __cnfn mix(double4 x, double4 y, double a);
   11341 double8 __ovld __cnfn mix(double8 x, double8 y, double a);
   11342 double16 __ovld __cnfn mix(double16 x, double16 y, double a);
   11343 #endif //cl_khr_fp64
   11344 #ifdef cl_khr_fp16
   11345 half __ovld __cnfn mix(half x, half y, half a);
   11346 half2 __ovld __cnfn mix(half2 x, half2 y, half2 a);
   11347 half3 __ovld __cnfn mix(half3 x, half3 y, half3 a);
   11348 half4 __ovld __cnfn mix(half4 x, half4 y, half4 a);
   11349 half8 __ovld __cnfn mix(half8 x, half8 y, half8 a);
   11350 half16 __ovld __cnfn mix(half16 x, half16 y, half16 a);
   11351 half2 __ovld __cnfn mix(half2 x, half2 y, half a);
   11352 half3 __ovld __cnfn mix(half3 x, half3 y, half a);
   11353 half4 __ovld __cnfn mix(half4 x, half4 y, half a);
   11354 half8 __ovld __cnfn mix(half8 x, half8 y, half a);
   11355 half16 __ovld __cnfn mix(half16 x, half16 y, half a);
   11356 #endif //cl_khr_fp16
   11357 
   11358 /**
   11359  * Converts degrees to radians, i.e. (PI / 180) *
   11360  * degrees.
   11361  */
   11362 float __ovld __cnfn radians(float degrees);
   11363 float2 __ovld __cnfn radians(float2 degrees);
   11364 float3 __ovld __cnfn radians(float3 degrees);
   11365 float4 __ovld __cnfn radians(float4 degrees);
   11366 float8 __ovld __cnfn radians(float8 degrees);
   11367 float16 __ovld __cnfn radians(float16 degrees);
   11368 #ifdef cl_khr_fp64
   11369 double __ovld __cnfn radians(double degrees);
   11370 double2 __ovld __cnfn radians(double2 degrees);
   11371 double3 __ovld __cnfn radians(double3 degrees);
   11372 double4 __ovld __cnfn radians(double4 degrees);
   11373 double8 __ovld __cnfn radians(double8 degrees);
   11374 double16 __ovld __cnfn radians(double16 degrees);
   11375 #endif //cl_khr_fp64
   11376 #ifdef cl_khr_fp16
   11377 half __ovld __cnfn radians(half degrees);
   11378 half2 __ovld __cnfn radians(half2 degrees);
   11379 half3 __ovld __cnfn radians(half3 degrees);
   11380 half4 __ovld __cnfn radians(half4 degrees);
   11381 half8 __ovld __cnfn radians(half8 degrees);
   11382 half16 __ovld __cnfn radians(half16 degrees);
   11383 #endif //cl_khr_fp16
   11384 
   11385 /**
   11386  * Returns 0.0 if x < edge, otherwise it returns 1.0.
   11387  */
   11388 float __ovld __cnfn step(float edge, float x);
   11389 float2 __ovld __cnfn step(float2 edge, float2 x);
   11390 float3 __ovld __cnfn step(float3 edge, float3 x);
   11391 float4 __ovld __cnfn step(float4 edge, float4 x);
   11392 float8 __ovld __cnfn step(float8 edge, float8 x);
   11393 float16 __ovld __cnfn step(float16 edge, float16 x);
   11394 float2 __ovld __cnfn step(float edge, float2 x);
   11395 float3 __ovld __cnfn step(float edge, float3 x);
   11396 float4 __ovld __cnfn step(float edge, float4 x);
   11397 float8 __ovld __cnfn step(float edge, float8 x);
   11398 float16 __ovld __cnfn step(float edge, float16 x);
   11399 #ifdef cl_khr_fp64
   11400 double __ovld __cnfn step(double edge, double x);
   11401 double2 __ovld __cnfn step(double2 edge, double2 x);
   11402 double3 __ovld __cnfn step(double3 edge, double3 x);
   11403 double4 __ovld __cnfn step(double4 edge, double4 x);
   11404 double8 __ovld __cnfn step(double8 edge, double8 x);
   11405 double16 __ovld __cnfn step(double16 edge, double16 x);
   11406 double2 __ovld __cnfn step(double edge, double2 x);
   11407 double3 __ovld __cnfn step(double edge, double3 x);
   11408 double4 __ovld __cnfn step(double edge, double4 x);
   11409 double8 __ovld __cnfn step(double edge, double8 x);
   11410 double16 __ovld __cnfn step(double edge, double16 x);
   11411 #endif //cl_khr_fp64
   11412 #ifdef cl_khr_fp16
   11413 half __ovld __cnfn step(half edge, half x);
   11414 half2 __ovld __cnfn step(half2 edge, half2 x);
   11415 half3 __ovld __cnfn step(half3 edge, half3 x);
   11416 half4 __ovld __cnfn step(half4 edge, half4 x);
   11417 half8 __ovld __cnfn step(half8 edge, half8 x);
   11418 half16 __ovld __cnfn step(half16 edge, half16 x);
   11419 half __ovld __cnfn step(half edge, half x);
   11420 half2 __ovld __cnfn step(half edge, half2 x);
   11421 half3 __ovld __cnfn step(half edge, half3 x);
   11422 half4 __ovld __cnfn step(half edge, half4 x);
   11423 half8 __ovld __cnfn step(half edge, half8 x);
   11424 half16 __ovld __cnfn step(half edge, half16 x);
   11425 #endif //cl_khr_fp16
   11426 
   11427 /**
   11428  * Returns 0.0 if x <= edge0 and 1.0 if x >= edge1 and
   11429  * performs smooth Hermite interpolation between 0
   11430  * and 1when edge0 < x < edge1. This is useful in
   11431  * cases where you would want a threshold function
   11432  * with a smooth transition.
   11433  * This is equivalent to:
   11434  * gentype t;
   11435  * t = clamp ((x - edge0) / (edge1 - edge0), 0, 1);
   11436  * return t * t * (3 - 2 * t);
   11437  * Results are undefined if edge0 >= edge1 or if x,
   11438  * edge0 or edge1 is a NaN.
   11439  */
   11440 float __ovld __cnfn smoothstep(float edge0, float edge1, float x);
   11441 float2 __ovld __cnfn smoothstep(float2 edge0, float2 edge1, float2 x);
   11442 float3 __ovld __cnfn smoothstep(float3 edge0, float3 edge1, float3 x);
   11443 float4 __ovld __cnfn smoothstep(float4 edge0, float4 edge1, float4 x);
   11444 float8 __ovld __cnfn smoothstep(float8 edge0, float8 edge1, float8 x);
   11445 float16 __ovld __cnfn smoothstep(float16 edge0, float16 edge1, float16 x);
   11446 float2 __ovld __cnfn smoothstep(float edge0, float edge1, float2 x);
   11447 float3 __ovld __cnfn smoothstep(float edge0, float edge1, float3 x);
   11448 float4 __ovld __cnfn smoothstep(float edge0, float edge1, float4 x);
   11449 float8 __ovld __cnfn smoothstep(float edge0, float edge1, float8 x);
   11450 float16 __ovld __cnfn smoothstep(float edge0, float edge1, float16 x);
   11451 #ifdef cl_khr_fp64
   11452 double __ovld __cnfn smoothstep(double edge0, double edge1, double x);
   11453 double2 __ovld __cnfn smoothstep(double2 edge0, double2 edge1, double2 x);
   11454 double3 __ovld __cnfn smoothstep(double3 edge0, double3 edge1, double3 x);
   11455 double4 __ovld __cnfn smoothstep(double4 edge0, double4 edge1, double4 x);
   11456 double8 __ovld __cnfn smoothstep(double8 edge0, double8 edge1, double8 x);
   11457 double16 __ovld __cnfn smoothstep(double16 edge0, double16 edge1, double16 x);
   11458 double2 __ovld __cnfn smoothstep(double edge0, double edge1, double2 x);
   11459 double3 __ovld __cnfn smoothstep(double edge0, double edge1, double3 x);
   11460 double4 __ovld __cnfn smoothstep(double edge0, double edge1, double4 x);
   11461 double8 __ovld __cnfn smoothstep(double edge0, double edge1, double8 x);
   11462 double16 __ovld __cnfn smoothstep(double edge0, double edge1, double16 x);
   11463 #endif //cl_khr_fp64
   11464 #ifdef cl_khr_fp16
   11465 half __ovld __cnfn smoothstep(half edge0, half edge1, half x);
   11466 half2 __ovld __cnfn smoothstep(half2 edge0, half2 edge1, half2 x);
   11467 half3 __ovld __cnfn smoothstep(half3 edge0, half3 edge1, half3 x);
   11468 half4 __ovld __cnfn smoothstep(half4 edge0, half4 edge1, half4 x);
   11469 half8 __ovld __cnfn smoothstep(half8 edge0, half8 edge1, half8 x);
   11470 half16 __ovld __cnfn smoothstep(half16 edge0, half16 edge1, half16 x);
   11471 half __ovld __cnfn smoothstep(half edge0, half edge1, half x);
   11472 half2 __ovld __cnfn smoothstep(half edge0, half edge1, half2 x);
   11473 half3 __ovld __cnfn smoothstep(half edge0, half edge1, half3 x);
   11474 half4 __ovld __cnfn smoothstep(half edge0, half edge1, half4 x);
   11475 half8 __ovld __cnfn smoothstep(half edge0, half edge1, half8 x);
   11476 half16 __ovld __cnfn smoothstep(half edge0, half edge1, half16 x);
   11477 #endif //cl_khr_fp16
   11478 
   11479 /**
   11480  * Returns 1.0 if x > 0, -0.0 if x = -0.0, +0.0 if x =
   11481  * +0.0, or -1.0 if x < 0. Returns 0.0 if x is a NaN.
   11482  */
   11483 float __ovld __cnfn sign(float x);
   11484 float2 __ovld __cnfn sign(float2 x);
   11485 float3 __ovld __cnfn sign(float3 x);
   11486 float4 __ovld __cnfn sign(float4 x);
   11487 float8 __ovld __cnfn sign(float8 x);
   11488 float16 __ovld __cnfn sign(float16 x);
   11489 #ifdef cl_khr_fp64
   11490 double __ovld __cnfn sign(double x);
   11491 double2 __ovld __cnfn sign(double2 x);
   11492 double3 __ovld __cnfn sign(double3 x);
   11493 double4 __ovld __cnfn sign(double4 x);
   11494 double8 __ovld __cnfn sign(double8 x);
   11495 double16 __ovld __cnfn sign(double16 x);
   11496 #endif //cl_khr_fp64
   11497 #ifdef cl_khr_fp16
   11498 half __ovld __cnfn sign(half x);
   11499 half2 __ovld __cnfn sign(half2 x);
   11500 half3 __ovld __cnfn sign(half3 x);
   11501 half4 __ovld __cnfn sign(half4 x);
   11502 half8 __ovld __cnfn sign(half8 x);
   11503 half16 __ovld __cnfn sign(half16 x);
   11504 #endif //cl_khr_fp16
   11505 
   11506 // OpenCL v1.1 s6.11.5, v1.2 s6.12.5, v2.0 s6.13.5 - Geometric Functions
   11507 
   11508 /**
   11509  * Returns the cross product of p0.xyz and p1.xyz. The
   11510  * w component of float4 result returned will be 0.0.
   11511  */
   11512 float4 __ovld __cnfn cross(float4 p0, float4 p1);
   11513 float3 __ovld __cnfn cross(float3 p0, float3 p1);
   11514 #ifdef cl_khr_fp64
   11515 double4 __ovld __cnfn cross(double4 p0, double4 p1);
   11516 double3 __ovld __cnfn cross(double3 p0, double3 p1);
   11517 #endif //cl_khr_fp64
   11518 #ifdef cl_khr_fp16
   11519 half4 __ovld __cnfn cross(half4 p0, half4 p1);
   11520 half3 __ovld __cnfn cross(half3 p0, half3 p1);
   11521 #endif //cl_khr_fp16
   11522 
   11523 /**
   11524  * Compute dot product.
   11525  */
   11526 float __ovld __cnfn dot(float p0, float p1);
   11527 float __ovld __cnfn dot(float2 p0, float2 p1);
   11528 float __ovld __cnfn dot(float3 p0, float3 p1);
   11529 float __ovld __cnfn dot(float4 p0, float4 p1);
   11530 #ifdef cl_khr_fp64
   11531 double __ovld __cnfn dot(double p0, double p1);
   11532 double __ovld __cnfn dot(double2 p0, double2 p1);
   11533 double __ovld __cnfn dot(double3 p0, double3 p1);
   11534 double __ovld __cnfn dot(double4 p0, double4 p1);
   11535 #endif //cl_khr_fp64
   11536 #ifdef cl_khr_fp16
   11537 half __ovld __cnfn dot(half p0, half p1);
   11538 half __ovld __cnfn dot(half2 p0, half2 p1);
   11539 half __ovld __cnfn dot(half3 p0, half3 p1);
   11540 half __ovld __cnfn dot(half4 p0, half4 p1);
   11541 #endif //cl_khr_fp16
   11542 
   11543 /**
   11544  * Returns the distance between p0 and p1. This is
   11545  * calculated as length(p0 - p1).
   11546  */
   11547 float __ovld __cnfn distance(float p0, float p1);
   11548 float __ovld __cnfn distance(float2 p0, float2 p1);
   11549 float __ovld __cnfn distance(float3 p0, float3 p1);
   11550 float __ovld __cnfn distance(float4 p0, float4 p1);
   11551 #ifdef cl_khr_fp64
   11552 double __ovld __cnfn distance(double p0, double p1);
   11553 double __ovld __cnfn distance(double2 p0, double2 p1);
   11554 double __ovld __cnfn distance(double3 p0, double3 p1);
   11555 double __ovld __cnfn distance(double4 p0, double4 p1);
   11556 #endif //cl_khr_fp64
   11557 #ifdef cl_khr_fp16
   11558 half __ovld __cnfn distance(half p0, half p1);
   11559 half __ovld __cnfn distance(half2 p0, half2 p1);
   11560 half __ovld __cnfn distance(half3 p0, half3 p1);
   11561 half __ovld __cnfn distance(half4 p0, half4 p1);
   11562 #endif //cl_khr_fp16
   11563 
   11564 /**
   11565  * Return the length of vector p, i.e.,
   11566  * sqrt(p.x2 + p.y 2 + ...)
   11567  */
   11568 float __ovld __cnfn length(float p);
   11569 float __ovld __cnfn length(float2 p);
   11570 float __ovld __cnfn length(float3 p);
   11571 float __ovld __cnfn length(float4 p);
   11572 #ifdef cl_khr_fp64
   11573 double __ovld __cnfn length(double p);
   11574 double __ovld __cnfn length(double2 p);
   11575 double __ovld __cnfn length(double3 p);
   11576 double __ovld __cnfn length(double4 p);
   11577 #endif //cl_khr_fp64
   11578 #ifdef cl_khr_fp16
   11579 half __ovld __cnfn length(half p);
   11580 half __ovld __cnfn length(half2 p);
   11581 half __ovld __cnfn length(half3 p);
   11582 half __ovld __cnfn length(half4 p);
   11583 #endif //cl_khr_fp16
   11584 
   11585 /**
   11586  * Returns a vector in the same direction as p but with a
   11587  * length of 1.
   11588  */
   11589 float __ovld __cnfn normalize(float p);
   11590 float2 __ovld __cnfn normalize(float2 p);
   11591 float3 __ovld __cnfn normalize(float3 p);
   11592 float4 __ovld __cnfn normalize(float4 p);
   11593 #ifdef cl_khr_fp64
   11594 double __ovld __cnfn normalize(double p);
   11595 double2 __ovld __cnfn normalize(double2 p);
   11596 double3 __ovld __cnfn normalize(double3 p);
   11597 double4 __ovld __cnfn normalize(double4 p);
   11598 #endif //cl_khr_fp64
   11599 #ifdef cl_khr_fp16
   11600 half __ovld __cnfn normalize(half p);
   11601 half2 __ovld __cnfn normalize(half2 p);
   11602 half3 __ovld __cnfn normalize(half3 p);
   11603 half4 __ovld __cnfn normalize(half4 p);
   11604 #endif //cl_khr_fp16
   11605 
   11606 /**
   11607  * Returns fast_length(p0 - p1).
   11608  */
   11609 float __ovld __cnfn fast_distance(float p0, float p1);
   11610 float __ovld __cnfn fast_distance(float2 p0, float2 p1);
   11611 float __ovld __cnfn fast_distance(float3 p0, float3 p1);
   11612 float __ovld __cnfn fast_distance(float4 p0, float4 p1);
   11613 #ifdef cl_khr_fp16
   11614 half __ovld __cnfn fast_distance(half p0, half p1);
   11615 half __ovld __cnfn fast_distance(half2 p0, half2 p1);
   11616 half __ovld __cnfn fast_distance(half3 p0, half3 p1);
   11617 half __ovld __cnfn fast_distance(half4 p0, half4 p1);
   11618 #endif //cl_khr_fp16
   11619 
   11620 /**
   11621  * Returns the length of vector p computed as:
   11622  * half_sqrt(p.x2 + p.y2 + ...)
   11623  */
   11624 float __ovld __cnfn fast_length(float p);
   11625 float __ovld __cnfn fast_length(float2 p);
   11626 float __ovld __cnfn fast_length(float3 p);
   11627 float __ovld __cnfn fast_length(float4 p);
   11628 #ifdef cl_khr_fp16
   11629 half __ovld __cnfn fast_length(half p);
   11630 half __ovld __cnfn fast_length(half2 p);
   11631 half __ovld __cnfn fast_length(half3 p);
   11632 half __ovld __cnfn fast_length(half4 p);
   11633 #endif //cl_khr_fp16
   11634 
   11635 /**
   11636  * Returns a vector in the same direction as p but with a
   11637  * length of 1. fast_normalize is computed as:
   11638  * p * half_rsqrt (p.x^2 + p.y^2 + ... )
   11639  * The result shall be within 8192 ulps error from the
   11640  * infinitely precise result of
   11641  * if (all(p == 0.0f))
   11642  * result = p;
   11643  * else
   11644  * result = p / sqrt (p.x^2 + p.y^2 + ...);
   11645  * with the following exceptions:
   11646  * 1) If the sum of squares is greater than FLT_MAX
   11647  * then the value of the floating-point values in the
   11648  * result vector are undefined.
   11649  * 2) If the sum of squares is less than FLT_MIN then
   11650  * the implementation may return back p.
   11651  * 3) If the device is in "denorms are flushed to zero"
   11652  * mode, individual operand elements with magnitude
   11653  * less than sqrt(FLT_MIN) may be flushed to zero
   11654  * before proceeding with the calculation.
   11655  */
   11656 float __ovld __cnfn fast_normalize(float p);
   11657 float2 __ovld __cnfn fast_normalize(float2 p);
   11658 float3 __ovld __cnfn fast_normalize(float3 p);
   11659 float4 __ovld __cnfn fast_normalize(float4 p);
   11660 #ifdef cl_khr_fp16
   11661 half __ovld __cnfn fast_normalize(half p);
   11662 half2 __ovld __cnfn fast_normalize(half2 p);
   11663 half3 __ovld __cnfn fast_normalize(half3 p);
   11664 half4 __ovld __cnfn fast_normalize(half4 p);
   11665 #endif //cl_khr_fp16
   11666 
   11667 // OpenCL v1.1 s6.11.6, v1.2 s6.12.6, v2.0 s6.13.6 - Relational Functions
   11668 
   11669 /**
   11670  * intn isequal (floatn x, floatn y)
   11671  * Returns the component-wise compare of x == y.
   11672  */
   11673 int __ovld __cnfn isequal(float x, float y);
   11674 int2 __ovld __cnfn isequal(float2 x, float2 y);
   11675 int3 __ovld __cnfn isequal(float3 x, float3 y);
   11676 int4 __ovld __cnfn isequal(float4 x, float4 y);
   11677 int8 __ovld __cnfn isequal(float8 x, float8 y);
   11678 int16 __ovld __cnfn isequal(float16 x, float16 y);
   11679 #ifdef cl_khr_fp64
   11680 int __ovld __cnfn isequal(double x, double y);
   11681 long2 __ovld __cnfn isequal(double2 x, double2 y);
   11682 long3 __ovld __cnfn isequal(double3 x, double3 y);
   11683 long4 __ovld __cnfn isequal(double4 x, double4 y);
   11684 long8 __ovld __cnfn isequal(double8 x, double8 y);
   11685 long16 __ovld __cnfn isequal(double16 x, double16 y);
   11686 #endif //cl_khr_fp64
   11687 #ifdef cl_khr_fp16
   11688 int __ovld __cnfn isequal(half x, half y);
   11689 short2 __ovld __cnfn isequal(half2 x, half2 y);
   11690 short3 __ovld __cnfn isequal(half3 x, half3 y);
   11691 short4 __ovld __cnfn isequal(half4 x, half4 y);
   11692 short8 __ovld __cnfn isequal(half8 x, half8 y);
   11693 short16 __ovld __cnfn isequal(half16 x, half16 y);
   11694 #endif //cl_khr_fp16
   11695 
   11696 /**
   11697  * Returns the component-wise compare of x != y.
   11698  */
   11699 int __ovld __cnfn isnotequal(float x, float y);
   11700 int2 __ovld __cnfn isnotequal(float2 x, float2 y);
   11701 int3 __ovld __cnfn isnotequal(float3 x, float3 y);
   11702 int4 __ovld __cnfn isnotequal(float4 x, float4 y);
   11703 int8 __ovld __cnfn isnotequal(float8 x, float8 y);
   11704 int16 __ovld __cnfn isnotequal(float16 x, float16 y);
   11705 #ifdef cl_khr_fp64
   11706 int __ovld __cnfn isnotequal(double x, double y);
   11707 long2 __ovld __cnfn isnotequal(double2 x, double2 y);
   11708 long3 __ovld __cnfn isnotequal(double3 x, double3 y);
   11709 long4 __ovld __cnfn isnotequal(double4 x, double4 y);
   11710 long8 __ovld __cnfn isnotequal(double8 x, double8 y);
   11711 long16 __ovld __cnfn isnotequal(double16 x, double16 y);
   11712 #endif //cl_khr_fp64
   11713 #ifdef cl_khr_fp16
   11714 int __ovld __cnfn isnotequal(half x, half y);
   11715 short2 __ovld __cnfn isnotequal(half2 x, half2 y);
   11716 short3 __ovld __cnfn isnotequal(half3 x, half3 y);
   11717 short4 __ovld __cnfn isnotequal(half4 x, half4 y);
   11718 short8 __ovld __cnfn isnotequal(half8 x, half8 y);
   11719 short16 __ovld __cnfn isnotequal(half16 x, half16 y);
   11720 #endif //cl_khr_fp16
   11721 
   11722 /**
   11723  * Returns the component-wise compare of x > y.
   11724  */
   11725 int __ovld __cnfn isgreater(float x, float y);
   11726 int2 __ovld __cnfn isgreater(float2 x, float2 y);
   11727 int3 __ovld __cnfn isgreater(float3 x, float3 y);
   11728 int4 __ovld __cnfn isgreater(float4 x, float4 y);
   11729 int8 __ovld __cnfn isgreater(float8 x, float8 y);
   11730 int16 __ovld __cnfn isgreater(float16 x, float16 y);
   11731 #ifdef cl_khr_fp64
   11732 int __ovld __cnfn isgreater(double x, double y);
   11733 long2 __ovld __cnfn isgreater(double2 x, double2 y);
   11734 long3 __ovld __cnfn isgreater(double3 x, double3 y);
   11735 long4 __ovld __cnfn isgreater(double4 x, double4 y);
   11736 long8 __ovld __cnfn isgreater(double8 x, double8 y);
   11737 long16 __ovld __cnfn isgreater(double16 x, double16 y);
   11738 #endif //cl_khr_fp64
   11739 #ifdef cl_khr_fp16
   11740 int __ovld __cnfn isgreater(half x, half y);
   11741 short2 __ovld __cnfn isgreater(half2 x, half2 y);
   11742 short3 __ovld __cnfn isgreater(half3 x, half3 y);
   11743 short4 __ovld __cnfn isgreater(half4 x, half4 y);
   11744 short8 __ovld __cnfn isgreater(half8 x, half8 y);
   11745 short16 __ovld __cnfn isgreater(half16 x, half16 y);
   11746 #endif //cl_khr_fp16
   11747 
   11748 /**
   11749  * Returns the component-wise compare of x >= y.
   11750  */
   11751 int __ovld __cnfn isgreaterequal(float x, float y);
   11752 int2 __ovld __cnfn isgreaterequal(float2 x, float2 y);
   11753 int3 __ovld __cnfn isgreaterequal(float3 x, float3 y);
   11754 int4 __ovld __cnfn isgreaterequal(float4 x, float4 y);
   11755 int8 __ovld __cnfn isgreaterequal(float8 x, float8 y);
   11756 int16 __ovld __cnfn isgreaterequal(float16 x, float16 y);
   11757 #ifdef cl_khr_fp64
   11758 int __ovld __cnfn isgreaterequal(double x, double y);
   11759 long2 __ovld __cnfn isgreaterequal(double2 x, double2 y);
   11760 long3 __ovld __cnfn isgreaterequal(double3 x, double3 y);
   11761 long4 __ovld __cnfn isgreaterequal(double4 x, double4 y);
   11762 long8 __ovld __cnfn isgreaterequal(double8 x, double8 y);
   11763 long16 __ovld __cnfn isgreaterequal(double16 x, double16 y);
   11764 #endif //cl_khr_fp64
   11765 #ifdef cl_khr_fp16
   11766 int __ovld __cnfn isgreaterequal(half x, half y);
   11767 short2 __ovld __cnfn isgreaterequal(half2 x, half2 y);
   11768 short3 __ovld __cnfn isgreaterequal(half3 x, half3 y);
   11769 short4 __ovld __cnfn isgreaterequal(half4 x, half4 y);
   11770 short8 __ovld __cnfn isgreaterequal(half8 x, half8 y);
   11771 short16 __ovld __cnfn isgreaterequal(half16 x, half16 y);
   11772 #endif //cl_khr_fp16
   11773 
   11774 /**
   11775  * Returns the component-wise compare of x < y.
   11776  */
   11777 int __ovld __cnfn isless(float x, float y);
   11778 int2 __ovld __cnfn isless(float2 x, float2 y);
   11779 int3 __ovld __cnfn isless(float3 x, float3 y);
   11780 int4 __ovld __cnfn isless(float4 x, float4 y);
   11781 int8 __ovld __cnfn isless(float8 x, float8 y);
   11782 int16 __ovld __cnfn isless(float16 x, float16 y);
   11783 #ifdef cl_khr_fp64
   11784 int __ovld __cnfn isless(double x, double y);
   11785 long2 __ovld __cnfn isless(double2 x, double2 y);
   11786 long3 __ovld __cnfn isless(double3 x, double3 y);
   11787 long4 __ovld __cnfn isless(double4 x, double4 y);
   11788 long8 __ovld __cnfn isless(double8 x, double8 y);
   11789 long16 __ovld __cnfn isless(double16 x, double16 y);
   11790 #endif //cl_khr_fp64
   11791 #ifdef cl_khr_fp16
   11792 int __ovld __cnfn isless(half x, half y);
   11793 short2 __ovld __cnfn isless(half2 x, half2 y);
   11794 short3 __ovld __cnfn isless(half3 x, half3 y);
   11795 short4 __ovld __cnfn isless(half4 x, half4 y);
   11796 short8 __ovld __cnfn isless(half8 x, half8 y);
   11797 short16 __ovld __cnfn isless(half16 x, half16 y);
   11798 #endif //cl_khr_fp16
   11799 
   11800 /**
   11801  * Returns the component-wise compare of x <= y.
   11802  */
   11803 int __ovld __cnfn islessequal(float x, float y);
   11804 int2 __ovld __cnfn islessequal(float2 x, float2 y);
   11805 int3 __ovld __cnfn islessequal(float3 x, float3 y);
   11806 int4 __ovld __cnfn islessequal(float4 x, float4 y);
   11807 int8 __ovld __cnfn islessequal(float8 x, float8 y);
   11808 int16 __ovld __cnfn islessequal(float16 x, float16 y);
   11809 #ifdef cl_khr_fp64
   11810 int __ovld __cnfn islessequal(double x, double y);
   11811 long2 __ovld __cnfn islessequal(double2 x, double2 y);
   11812 long3 __ovld __cnfn islessequal(double3 x, double3 y);
   11813 long4 __ovld __cnfn islessequal(double4 x, double4 y);
   11814 long8 __ovld __cnfn islessequal(double8 x, double8 y);
   11815 long16 __ovld __cnfn islessequal(double16 x, double16 y);
   11816 #endif //cl_khr_fp64
   11817 #ifdef cl_khr_fp16
   11818 int __ovld __cnfn islessequal(half x, half y);
   11819 short2 __ovld __cnfn islessequal(half2 x, half2 y);
   11820 short3 __ovld __cnfn islessequal(half3 x, half3 y);
   11821 short4 __ovld __cnfn islessequal(half4 x, half4 y);
   11822 short8 __ovld __cnfn islessequal(half8 x, half8 y);
   11823 short16 __ovld __cnfn islessequal(half16 x, half16 y);
   11824 #endif //cl_khr_fp16
   11825 
   11826 /**
   11827  * Returns the component-wise compare of
   11828  * (x < y) || (x > y) .
   11829  */
   11830 int __ovld __cnfn islessgreater(float x, float y);
   11831 int2 __ovld __cnfn islessgreater(float2 x, float2 y);
   11832 int3 __ovld __cnfn islessgreater(float3 x, float3 y);
   11833 int4 __ovld __cnfn islessgreater(float4 x, float4 y);
   11834 int8 __ovld __cnfn islessgreater(float8 x, float8 y);
   11835 int16 __ovld __cnfn islessgreater(float16 x, float16 y);
   11836 #ifdef cl_khr_fp64
   11837 int __ovld __cnfn islessgreater(double x, double y);
   11838 long2 __ovld __cnfn islessgreater(double2 x, double2 y);
   11839 long3 __ovld __cnfn islessgreater(double3 x, double3 y);
   11840 long4 __ovld __cnfn islessgreater(double4 x, double4 y);
   11841 long8 __ovld __cnfn islessgreater(double8 x, double8 y);
   11842 long16 __ovld __cnfn islessgreater(double16 x, double16 y);
   11843 #endif //cl_khr_fp64
   11844 #ifdef cl_khr_fp16
   11845 int __ovld __cnfn islessgreater(half x, half y);
   11846 short2 __ovld __cnfn islessgreater(half2 x, half2 y);
   11847 short3 __ovld __cnfn islessgreater(half3 x, half3 y);
   11848 short4 __ovld __cnfn islessgreater(half4 x, half4 y);
   11849 short8 __ovld __cnfn islessgreater(half8 x, half8 y);
   11850 short16 __ovld __cnfn islessgreater(half16 x, half16 y);
   11851 #endif //cl_khr_fp16
   11852 
   11853 /**
   11854  * Test for finite value.
   11855  */
   11856 int __ovld __cnfn isfinite(float);
   11857 int2 __ovld __cnfn isfinite(float2);
   11858 int3 __ovld __cnfn isfinite(float3);
   11859 int4 __ovld __cnfn isfinite(float4);
   11860 int8 __ovld __cnfn isfinite(float8);
   11861 int16 __ovld __cnfn isfinite(float16);
   11862 #ifdef cl_khr_fp64
   11863 int __ovld __cnfn isfinite(double);
   11864 long2 __ovld __cnfn isfinite(double2);
   11865 long3 __ovld __cnfn isfinite(double3);
   11866 long4 __ovld __cnfn isfinite(double4);
   11867 long8 __ovld __cnfn isfinite(double8);
   11868 long16 __ovld __cnfn isfinite(double16);
   11869 #endif //cl_khr_fp64
   11870 #ifdef cl_khr_fp16
   11871 int __ovld __cnfn isfinite(half);
   11872 short2 __ovld __cnfn isfinite(half2);
   11873 short3 __ovld __cnfn isfinite(half3);
   11874 short4 __ovld __cnfn isfinite(half4);
   11875 short8 __ovld __cnfn isfinite(half8);
   11876 short16 __ovld __cnfn isfinite(half16);
   11877 #endif //cl_khr_fp16
   11878 
   11879 /**
   11880  * Test for infinity value (+ve or -ve) .
   11881  */
   11882 int __ovld __cnfn isinf(float);
   11883 int2 __ovld __cnfn isinf(float2);
   11884 int3 __ovld __cnfn isinf(float3);
   11885 int4 __ovld __cnfn isinf(float4);
   11886 int8 __ovld __cnfn isinf(float8);
   11887 int16 __ovld __cnfn isinf(float16);
   11888 #ifdef cl_khr_fp64
   11889 int __ovld __cnfn isinf(double);
   11890 long2 __ovld __cnfn isinf(double2);
   11891 long3 __ovld __cnfn isinf(double3);
   11892 long4 __ovld __cnfn isinf(double4);
   11893 long8 __ovld __cnfn isinf(double8);
   11894 long16 __ovld __cnfn isinf(double16);
   11895 #endif //cl_khr_fp64
   11896 #ifdef cl_khr_fp16
   11897 int __ovld __cnfn isinf(half);
   11898 short2 __ovld __cnfn isinf(half2);
   11899 short3 __ovld __cnfn isinf(half3);
   11900 short4 __ovld __cnfn isinf(half4);
   11901 short8 __ovld __cnfn isinf(half8);
   11902 short16 __ovld __cnfn isinf(half16);
   11903 #endif //cl_khr_fp16
   11904 
   11905 /**
   11906  * Test for a NaN.
   11907  */
   11908 int __ovld __cnfn isnan(float);
   11909 int2 __ovld __cnfn isnan(float2);
   11910 int3 __ovld __cnfn isnan(float3);
   11911 int4 __ovld __cnfn isnan(float4);
   11912 int8 __ovld __cnfn isnan(float8);
   11913 int16 __ovld __cnfn isnan(float16);
   11914 #ifdef cl_khr_fp64
   11915 int __ovld __cnfn isnan(double);
   11916 long2 __ovld __cnfn isnan(double2);
   11917 long3 __ovld __cnfn isnan(double3);
   11918 long4 __ovld __cnfn isnan(double4);
   11919 long8 __ovld __cnfn isnan(double8);
   11920 long16 __ovld __cnfn isnan(double16);
   11921 #endif //cl_khr_fp64
   11922 #ifdef cl_khr_fp16
   11923 int __ovld __cnfn isnan(half);
   11924 short2 __ovld __cnfn isnan(half2);
   11925 short3 __ovld __cnfn isnan(half3);
   11926 short4 __ovld __cnfn isnan(half4);
   11927 short8 __ovld __cnfn isnan(half8);
   11928 short16 __ovld __cnfn isnan(half16);
   11929 #endif //cl_khr_fp16
   11930 
   11931 /**
   11932  * Test for a normal value.
   11933  */
   11934 int __ovld __cnfn isnormal(float);
   11935 int2 __ovld __cnfn isnormal(float2);
   11936 int3 __ovld __cnfn isnormal(float3);
   11937 int4 __ovld __cnfn isnormal(float4);
   11938 int8 __ovld __cnfn isnormal(float8);
   11939 int16 __ovld __cnfn isnormal(float16);
   11940 #ifdef cl_khr_fp64
   11941 int __ovld __cnfn isnormal(double);
   11942 long2 __ovld __cnfn isnormal(double2);
   11943 long3 __ovld __cnfn isnormal(double3);
   11944 long4 __ovld __cnfn isnormal(double4);
   11945 long8 __ovld __cnfn isnormal(double8);
   11946 long16 __ovld __cnfn isnormal(double16);
   11947 #endif //cl_khr_fp64
   11948 #ifdef cl_khr_fp16
   11949 int __ovld __cnfn isnormal(half);
   11950 short2 __ovld __cnfn isnormal(half2);
   11951 short3 __ovld __cnfn isnormal(half3);
   11952 short4 __ovld __cnfn isnormal(half4);
   11953 short8 __ovld __cnfn isnormal(half8);
   11954 short16 __ovld __cnfn isnormal(half16);
   11955 #endif //cl_khr_fp16
   11956 
   11957 /**
   11958  * Test if arguments are ordered. isordered() takes
   11959  * arguments x and y, and returns the result
   11960  * isequal(x, x) && isequal(y, y).
   11961  */
   11962 int __ovld __cnfn isordered(float x, float y);
   11963 int2 __ovld __cnfn isordered(float2 x, float2 y);
   11964 int3 __ovld __cnfn isordered(float3 x, float3 y);
   11965 int4 __ovld __cnfn isordered(float4 x, float4 y);
   11966 int8 __ovld __cnfn isordered(float8 x, float8 y);
   11967 int16 __ovld __cnfn isordered(float16 x, float16 y);
   11968 #ifdef cl_khr_fp64
   11969 int __ovld __cnfn isordered(double x, double y);
   11970 long2 __ovld __cnfn isordered(double2 x, double2 y);
   11971 long3 __ovld __cnfn isordered(double3 x, double3 y);
   11972 long4 __ovld __cnfn isordered(double4 x, double4 y);
   11973 long8 __ovld __cnfn isordered(double8 x, double8 y);
   11974 long16 __ovld __cnfn isordered(double16 x, double16 y);
   11975 #endif //cl_khr_fp64
   11976 #ifdef cl_khr_fp16
   11977 int __ovld __cnfn isordered(half x, half y);
   11978 short2 __ovld __cnfn isordered(half2 x, half2 y);
   11979 short3 __ovld __cnfn isordered(half3 x, half3 y);
   11980 short4 __ovld __cnfn isordered(half4 x, half4 y);
   11981 short8 __ovld __cnfn isordered(half8 x, half8 y);
   11982 short16 __ovld __cnfn isordered(half16 x, half16 y);
   11983 #endif //cl_khr_fp16
   11984 
   11985 /**
   11986  * Test if arguments are unordered. isunordered()
   11987  * takes arguments x and y, returning non-zero if x or y
   11988  * is NaN, and zero otherwise.
   11989  */
   11990 int __ovld __cnfn isunordered(float x, float y);
   11991 int2 __ovld __cnfn isunordered(float2 x, float2 y);
   11992 int3 __ovld __cnfn isunordered(float3 x, float3 y);
   11993 int4 __ovld __cnfn isunordered(float4 x, float4 y);
   11994 int8 __ovld __cnfn isunordered(float8 x, float8 y);
   11995 int16 __ovld __cnfn isunordered(float16 x, float16 y);
   11996 #ifdef cl_khr_fp64
   11997 int __ovld __cnfn isunordered(double x, double y);
   11998 long2 __ovld __cnfn isunordered(double2 x, double2 y);
   11999 long3 __ovld __cnfn isunordered(double3 x, double3 y);
   12000 long4 __ovld __cnfn isunordered(double4 x, double4 y);
   12001 long8 __ovld __cnfn isunordered(double8 x, double8 y);
   12002 long16 __ovld __cnfn isunordered(double16 x, double16 y);
   12003 #endif //cl_khr_fp64
   12004 #ifdef cl_khr_fp16
   12005 int __ovld __cnfn isunordered(half x, half y);
   12006 short2 __ovld __cnfn isunordered(half2 x, half2 y);
   12007 short3 __ovld __cnfn isunordered(half3 x, half3 y);
   12008 short4 __ovld __cnfn isunordered(half4 x, half4 y);
   12009 short8 __ovld __cnfn isunordered(half8 x, half8 y);
   12010 short16 __ovld __cnfn isunordered(half16 x, half16 y);
   12011 #endif //cl_khr_fp16
   12012 
   12013 /**
   12014  * Test for sign bit. The scalar version of the function
   12015  * returns a 1 if the sign bit in the float is set else returns
   12016  * 0. The vector version of the function returns the
   12017  * following for each component in floatn: a -1 if the
   12018  * sign bit in the float is set else returns 0.
   12019  */
   12020 int __ovld __cnfn signbit(float);
   12021 int2 __ovld __cnfn signbit(float2);
   12022 int3 __ovld __cnfn signbit(float3);
   12023 int4 __ovld __cnfn signbit(float4);
   12024 int8 __ovld __cnfn signbit(float8);
   12025 int16 __ovld __cnfn signbit(float16);
   12026 #ifdef cl_khr_fp64
   12027 int __ovld __cnfn signbit(double);
   12028 long2 __ovld __cnfn signbit(double2);
   12029 long3 __ovld __cnfn signbit(double3);
   12030 long4 __ovld __cnfn signbit(double4);
   12031 long8 __ovld __cnfn signbit(double8);
   12032 long16 __ovld __cnfn signbit(double16);
   12033 #endif //cl_khr_fp64
   12034 #ifdef cl_khr_fp16
   12035 int __ovld __cnfn signbit(half);
   12036 short2 __ovld __cnfn signbit(half2);
   12037 short3 __ovld __cnfn signbit(half3);
   12038 short4 __ovld __cnfn signbit(half4);
   12039 short8 __ovld __cnfn signbit(half8);
   12040 short16 __ovld __cnfn signbit(half16);
   12041 #endif //cl_khr_fp16
   12042 
   12043 /**
   12044  * Returns 1 if the most significant bit in any component
   12045  * of x is set; otherwise returns 0.
   12046  */
   12047 int __ovld __cnfn any(char x);
   12048 int __ovld __cnfn any(char2 x);
   12049 int __ovld __cnfn any(char3 x);
   12050 int __ovld __cnfn any(char4 x);
   12051 int __ovld __cnfn any(char8 x);
   12052 int __ovld __cnfn any(char16 x);
   12053 int __ovld __cnfn any(short x);
   12054 int __ovld __cnfn any(short2 x);
   12055 int __ovld __cnfn any(short3 x);
   12056 int __ovld __cnfn any(short4 x);
   12057 int __ovld __cnfn any(short8 x);
   12058 int __ovld __cnfn any(short16 x);
   12059 int __ovld __cnfn any(int x);
   12060 int __ovld __cnfn any(int2 x);
   12061 int __ovld __cnfn any(int3 x);
   12062 int __ovld __cnfn any(int4 x);
   12063 int __ovld __cnfn any(int8 x);
   12064 int __ovld __cnfn any(int16 x);
   12065 int __ovld __cnfn any(long x);
   12066 int __ovld __cnfn any(long2 x);
   12067 int __ovld __cnfn any(long3 x);
   12068 int __ovld __cnfn any(long4 x);
   12069 int __ovld __cnfn any(long8 x);
   12070 int __ovld __cnfn any(long16 x);
   12071 
   12072 /**
   12073  * Returns 1 if the most significant bit in all components
   12074  * of x is set; otherwise returns 0.
   12075  */
   12076 int __ovld __cnfn all(char x);
   12077 int __ovld __cnfn all(char2 x);
   12078 int __ovld __cnfn all(char3 x);
   12079 int __ovld __cnfn all(char4 x);
   12080 int __ovld __cnfn all(char8 x);
   12081 int __ovld __cnfn all(char16 x);
   12082 int __ovld __cnfn all(short x);
   12083 int __ovld __cnfn all(short2 x);
   12084 int __ovld __cnfn all(short3 x);
   12085 int __ovld __cnfn all(short4 x);
   12086 int __ovld __cnfn all(short8 x);
   12087 int __ovld __cnfn all(short16 x);
   12088 int __ovld __cnfn all(int x);
   12089 int __ovld __cnfn all(int2 x);
   12090 int __ovld __cnfn all(int3 x);
   12091 int __ovld __cnfn all(int4 x);
   12092 int __ovld __cnfn all(int8 x);
   12093 int __ovld __cnfn all(int16 x);
   12094 int __ovld __cnfn all(long x);
   12095 int __ovld __cnfn all(long2 x);
   12096 int __ovld __cnfn all(long3 x);
   12097 int __ovld __cnfn all(long4 x);
   12098 int __ovld __cnfn all(long8 x);
   12099 int __ovld __cnfn all(long16 x);
   12100 
   12101 /**
   12102  * Each bit of the result is the corresponding bit of a if
   12103  * the corresponding bit of c is 0. Otherwise it is the
   12104  * corresponding bit of b.
   12105  */
   12106 char __ovld __cnfn bitselect(char a, char b, char c);
   12107 uchar __ovld __cnfn bitselect(uchar a, uchar b, uchar c);
   12108 char2 __ovld __cnfn bitselect(char2 a, char2 b, char2 c);
   12109 uchar2 __ovld __cnfn bitselect(uchar2 a, uchar2 b, uchar2 c);
   12110 char3 __ovld __cnfn bitselect(char3 a, char3 b, char3 c);
   12111 uchar3 __ovld __cnfn bitselect(uchar3 a, uchar3 b, uchar3 c);
   12112 char4 __ovld __cnfn bitselect(char4 a, char4 b, char4 c);
   12113 uchar4 __ovld __cnfn bitselect(uchar4 a, uchar4 b, uchar4 c);
   12114 char8 __ovld __cnfn bitselect(char8 a, char8 b, char8 c);
   12115 uchar8 __ovld __cnfn bitselect(uchar8 a, uchar8 b, uchar8 c);
   12116 char16 __ovld __cnfn bitselect(char16 a, char16 b, char16 c);
   12117 uchar16 __ovld __cnfn bitselect(uchar16 a, uchar16 b, uchar16 c);
   12118 short __ovld __cnfn bitselect(short a, short b, short c);
   12119 ushort __ovld __cnfn bitselect(ushort a, ushort b, ushort c);
   12120 short2 __ovld __cnfn bitselect(short2 a, short2 b, short2 c);
   12121 ushort2 __ovld __cnfn bitselect(ushort2 a, ushort2 b, ushort2 c);
   12122 short3 __ovld __cnfn bitselect(short3 a, short3 b, short3 c);
   12123 ushort3 __ovld __cnfn bitselect(ushort3 a, ushort3 b, ushort3 c);
   12124 short4 __ovld __cnfn bitselect(short4 a, short4 b, short4 c);
   12125 ushort4 __ovld __cnfn bitselect(ushort4 a, ushort4 b, ushort4 c);
   12126 short8 __ovld __cnfn bitselect(short8 a, short8 b, short8 c);
   12127 ushort8 __ovld __cnfn bitselect(ushort8 a, ushort8 b, ushort8 c);
   12128 short16 __ovld __cnfn bitselect(short16 a, short16 b, short16 c);
   12129 ushort16 __ovld __cnfn bitselect(ushort16 a, ushort16 b, ushort16 c);
   12130 int __ovld __cnfn bitselect(int a, int b, int c);
   12131 uint __ovld __cnfn bitselect(uint a, uint b, uint c);
   12132 int2 __ovld __cnfn bitselect(int2 a, int2 b, int2 c);
   12133 uint2 __ovld __cnfn bitselect(uint2 a, uint2 b, uint2 c);
   12134 int3 __ovld __cnfn bitselect(int3 a, int3 b, int3 c);
   12135 uint3 __ovld __cnfn bitselect(uint3 a, uint3 b, uint3 c);
   12136 int4 __ovld __cnfn bitselect(int4 a, int4 b, int4 c);
   12137 uint4 __ovld __cnfn bitselect(uint4 a, uint4 b, uint4 c);
   12138 int8 __ovld __cnfn bitselect(int8 a, int8 b, int8 c);
   12139 uint8 __ovld __cnfn bitselect(uint8 a, uint8 b, uint8 c);
   12140 int16 __ovld __cnfn bitselect(int16 a, int16 b, int16 c);
   12141 uint16 __ovld __cnfn bitselect(uint16 a, uint16 b, uint16 c);
   12142 long __ovld __cnfn bitselect(long a, long b, long c);
   12143 ulong __ovld __cnfn bitselect(ulong a, ulong b, ulong c);
   12144 long2 __ovld __cnfn bitselect(long2 a, long2 b, long2 c);
   12145 ulong2 __ovld __cnfn bitselect(ulong2 a, ulong2 b, ulong2 c);
   12146 long3 __ovld __cnfn bitselect(long3 a, long3 b, long3 c);
   12147 ulong3 __ovld __cnfn bitselect(ulong3 a, ulong3 b, ulong3 c);
   12148 long4 __ovld __cnfn bitselect(long4 a, long4 b, long4 c);
   12149 ulong4 __ovld __cnfn bitselect(ulong4 a, ulong4 b, ulong4 c);
   12150 long8 __ovld __cnfn bitselect(long8 a, long8 b, long8 c);
   12151 ulong8 __ovld __cnfn bitselect(ulong8 a, ulong8 b, ulong8 c);
   12152 long16 __ovld __cnfn bitselect(long16 a, long16 b, long16 c);
   12153 ulong16 __ovld __cnfn bitselect(ulong16 a, ulong16 b, ulong16 c);
   12154 float __ovld __cnfn bitselect(float a, float b, float c);
   12155 float2 __ovld __cnfn bitselect(float2 a, float2 b, float2 c);
   12156 float3 __ovld __cnfn bitselect(float3 a, float3 b, float3 c);
   12157 float4 __ovld __cnfn bitselect(float4 a, float4 b, float4 c);
   12158 float8 __ovld __cnfn bitselect(float8 a, float8 b, float8 c);
   12159 float16 __ovld __cnfn bitselect(float16 a, float16 b, float16 c);
   12160 #ifdef cl_khr_fp64
   12161 double __ovld __cnfn bitselect(double a, double b, double c);
   12162 double2 __ovld __cnfn bitselect(double2 a, double2 b, double2 c);
   12163 double3 __ovld __cnfn bitselect(double3 a, double3 b, double3 c);
   12164 double4 __ovld __cnfn bitselect(double4 a, double4 b, double4 c);
   12165 double8 __ovld __cnfn bitselect(double8 a, double8 b, double8 c);
   12166 double16 __ovld __cnfn bitselect(double16 a, double16 b, double16 c);
   12167 #endif //cl_khr_fp64
   12168 #ifdef cl_khr_fp16
   12169 half __ovld __cnfn bitselect(half a, half b, half c);
   12170 half2 __ovld __cnfn bitselect(half2 a, half2 b, half2 c);
   12171 half3 __ovld __cnfn bitselect(half3 a, half3 b, half3 c);
   12172 half4 __ovld __cnfn bitselect(half4 a, half4 b, half4 c);
   12173 half8 __ovld __cnfn bitselect(half8 a, half8 b, half8 c);
   12174 half16 __ovld __cnfn bitselect(half16 a, half16 b, half16 c);
   12175 #endif //cl_khr_fp16
   12176 
   12177 /**
   12178  * For each component of a vector type,
   12179  * result[i] = if MSB of c[i] is set ? b[i] : a[i].
   12180  * For a scalar type, result = c ? b : a.
   12181  */
   12182 char __ovld __cnfn select(char a, char b, char c);
   12183 uchar __ovld __cnfn select(uchar a, uchar b, char c);
   12184 char2 __ovld __cnfn select(char2 a, char2 b, char2 c);
   12185 uchar2 __ovld __cnfn select(uchar2 a, uchar2 b, char2 c);
   12186 char3 __ovld __cnfn select(char3 a, char3 b, char3 c);
   12187 uchar3 __ovld __cnfn select(uchar3 a, uchar3 b, char3 c);
   12188 char4 __ovld __cnfn select(char4 a, char4 b, char4 c);
   12189 uchar4 __ovld __cnfn select(uchar4 a, uchar4 b, char4 c);
   12190 char8 __ovld __cnfn select(char8 a, char8 b, char8 c);
   12191 uchar8 __ovld __cnfn select(uchar8 a, uchar8 b, char8 c);
   12192 char16 __ovld __cnfn select(char16 a, char16 b, char16 c);
   12193 uchar16 __ovld __cnfn select(uchar16 a, uchar16 b, char16 c);
   12194 short __ovld __cnfn select(short a, short b, char c);
   12195 ushort __ovld __cnfn select(ushort a, ushort b, char c);
   12196 short2 __ovld __cnfn select(short2 a, short2 b, char2 c);
   12197 ushort2 __ovld __cnfn select(ushort2 a, ushort2 b, char2 c);
   12198 short3 __ovld __cnfn select(short3 a, short3 b, char3 c);
   12199 ushort3 __ovld __cnfn select(ushort3 a, ushort3 b, char3 c);
   12200 short4 __ovld __cnfn select(short4 a, short4 b, char4 c);
   12201 ushort4 __ovld __cnfn select(ushort4 a, ushort4 b, char4 c);
   12202 short8 __ovld __cnfn select(short8 a, short8 b, char8 c);
   12203 ushort8 __ovld __cnfn select(ushort8 a, ushort8 b, char8 c);
   12204 short16 __ovld __cnfn select(short16 a, short16 b, char16 c);
   12205 ushort16 __ovld __cnfn select(ushort16 a, ushort16 b, char16 c);
   12206 int __ovld __cnfn select(int a, int b, char c);
   12207 uint __ovld __cnfn select(uint a, uint b, char c);
   12208 int2 __ovld __cnfn select(int2 a, int2 b, char2 c);
   12209 uint2 __ovld __cnfn select(uint2 a, uint2 b, char2 c);
   12210 int3 __ovld __cnfn select(int3 a, int3 b, char3 c);
   12211 uint3 __ovld __cnfn select(uint3 a, uint3 b, char3 c);
   12212 int4 __ovld __cnfn select(int4 a, int4 b, char4 c);
   12213 uint4 __ovld __cnfn select(uint4 a, uint4 b, char4 c);
   12214 int8 __ovld __cnfn select(int8 a, int8 b, char8 c);
   12215 uint8 __ovld __cnfn select(uint8 a, uint8 b, char8 c);
   12216 int16 __ovld __cnfn select(int16 a, int16 b, char16 c);
   12217 uint16 __ovld __cnfn select(uint16 a, uint16 b, char16 c);
   12218 long __ovld __cnfn select(long a, long b, char c);
   12219 ulong __ovld __cnfn select(ulong a, ulong b, char c);
   12220 long2 __ovld __cnfn select(long2 a, long2 b, char2 c);
   12221 ulong2 __ovld __cnfn select(ulong2 a, ulong2 b, char2 c);
   12222 long3 __ovld __cnfn select(long3 a, long3 b, char3 c);
   12223 ulong3 __ovld __cnfn select(ulong3 a, ulong3 b, char3 c);
   12224 long4 __ovld __cnfn select(long4 a, long4 b, char4 c);
   12225 ulong4 __ovld __cnfn select(ulong4 a, ulong4 b, char4 c);
   12226 long8 __ovld __cnfn select(long8 a, long8 b, char8 c);
   12227 ulong8 __ovld __cnfn select(ulong8 a, ulong8 b, char8 c);
   12228 long16 __ovld __cnfn select(long16 a, long16 b, char16 c);
   12229 ulong16 __ovld __cnfn select(ulong16 a, ulong16 b, char16 c);
   12230 float __ovld __cnfn select(float a, float b, char c);
   12231 float2 __ovld __cnfn select(float2 a, float2 b, char2 c);
   12232 float3 __ovld __cnfn select(float3 a, float3 b, char3 c);
   12233 float4 __ovld __cnfn select(float4 a, float4 b, char4 c);
   12234 float8 __ovld __cnfn select(float8 a, float8 b, char8 c);
   12235 float16 __ovld __cnfn select(float16 a, float16 b, char16 c);
   12236 char __ovld __cnfn select(char a, char b, short c);
   12237 uchar __ovld __cnfn select(uchar a, uchar b, short c);
   12238 char2 __ovld __cnfn select(char2 a, char2 b, short2 c);
   12239 uchar2 __ovld __cnfn select(uchar2 a, uchar2 b, short2 c);
   12240 char3 __ovld __cnfn select(char3 a, char3 b, short3 c);
   12241 uchar3 __ovld __cnfn select(uchar3 a, uchar3 b, short3 c);
   12242 char4 __ovld __cnfn select(char4 a, char4 b, short4 c);
   12243 uchar4 __ovld __cnfn select(uchar4 a, uchar4 b, short4 c);
   12244 char8 __ovld __cnfn select(char8 a, char8 b, short8 c);
   12245 uchar8 __ovld __cnfn select(uchar8 a, uchar8 b, short8 c);
   12246 char16 __ovld __cnfn select(char16 a, char16 b, short16 c);
   12247 uchar16 __ovld __cnfn select(uchar16 a, uchar16 b, short16 c);
   12248 short __ovld __cnfn select(short a, short b, short c);
   12249 ushort __ovld __cnfn select(ushort a, ushort b, short c);
   12250 short2 __ovld __cnfn select(short2 a, short2 b, short2 c);
   12251 ushort2 __ovld __cnfn select(ushort2 a, ushort2 b, short2 c);
   12252 short3 __ovld __cnfn select(short3 a, short3 b, short3 c);
   12253 ushort3 __ovld __cnfn select(ushort3 a, ushort3 b, short3 c);
   12254 short4 __ovld __cnfn select(short4 a, short4 b, short4 c);
   12255 ushort4 __ovld __cnfn select(ushort4 a, ushort4 b, short4 c);
   12256 short8 __ovld __cnfn select(short8 a, short8 b, short8 c);
   12257 ushort8 __ovld __cnfn select(ushort8 a, ushort8 b, short8 c);
   12258 short16 __ovld __cnfn select(short16 a, short16 b, short16 c);
   12259 ushort16 __ovld __cnfn select(ushort16 a, ushort16 b, short16 c);
   12260 int __ovld __cnfn select(int a, int b, short c);
   12261 uint __ovld __cnfn select(uint a, uint b, short c);
   12262 int2 __ovld __cnfn select(int2 a, int2 b, short2 c);
   12263 uint2 __ovld __cnfn select(uint2 a, uint2 b, short2 c);
   12264 int3 __ovld __cnfn select(int3 a, int3 b, short3 c);
   12265 uint3 __ovld __cnfn select(uint3 a, uint3 b, short3 c);
   12266 int4 __ovld __cnfn select(int4 a, int4 b, short4 c);
   12267 uint4 __ovld __cnfn select(uint4 a, uint4 b, short4 c);
   12268 int8 __ovld __cnfn select(int8 a, int8 b, short8 c);
   12269 uint8 __ovld __cnfn select(uint8 a, uint8 b, short8 c);
   12270 int16 __ovld __cnfn select(int16 a, int16 b, short16 c);
   12271 uint16 __ovld __cnfn select(uint16 a, uint16 b, short16 c);
   12272 long __ovld __cnfn select(long a, long b, short c);
   12273 ulong __ovld __cnfn select(ulong a, ulong b, short c);
   12274 long2 __ovld __cnfn select(long2 a, long2 b, short2 c);
   12275 ulong2 __ovld __cnfn select(ulong2 a, ulong2 b, short2 c);
   12276 long3 __ovld __cnfn select(long3 a, long3 b, short3 c);
   12277 ulong3 __ovld __cnfn select(ulong3 a, ulong3 b, short3 c);
   12278 long4 __ovld __cnfn select(long4 a, long4 b, short4 c);
   12279 ulong4 __ovld __cnfn select(ulong4 a, ulong4 b, short4 c);
   12280 long8 __ovld __cnfn select(long8 a, long8 b, short8 c);
   12281 ulong8 __ovld __cnfn select(ulong8 a, ulong8 b, short8 c);
   12282 long16 __ovld __cnfn select(long16 a, long16 b, short16 c);
   12283 ulong16 __ovld __cnfn select(ulong16 a, ulong16 b, short16 c);
   12284 float __ovld __cnfn select(float a, float b, short c);
   12285 float2 __ovld __cnfn select(float2 a, float2 b, short2 c);
   12286 float3 __ovld __cnfn select(float3 a, float3 b, short3 c);
   12287 float4 __ovld __cnfn select(float4 a, float4 b, short4 c);
   12288 float8 __ovld __cnfn select(float8 a, float8 b, short8 c);
   12289 float16 __ovld __cnfn select(float16 a, float16 b, short16 c);
   12290 char __ovld __cnfn select(char a, char b, int c);
   12291 uchar __ovld __cnfn select(uchar a, uchar b, int c);
   12292 char2 __ovld __cnfn select(char2 a, char2 b, int2 c);
   12293 uchar2 __ovld __cnfn select(uchar2 a, uchar2 b, int2 c);
   12294 char3 __ovld __cnfn select(char3 a, char3 b, int3 c);
   12295 uchar3 __ovld __cnfn select(uchar3 a, uchar3 b, int3 c);
   12296 char4 __ovld __cnfn select(char4 a, char4 b, int4 c);
   12297 uchar4 __ovld __cnfn select(uchar4 a, uchar4 b, int4 c);
   12298 char8 __ovld __cnfn select(char8 a, char8 b, int8 c);
   12299 uchar8 __ovld __cnfn select(uchar8 a, uchar8 b, int8 c);
   12300 char16 __ovld __cnfn select(char16 a, char16 b, int16 c);
   12301 uchar16 __ovld __cnfn select(uchar16 a, uchar16 b, int16 c);
   12302 short __ovld __cnfn select(short a, short b, int c);
   12303 ushort __ovld __cnfn select(ushort a, ushort b, int c);
   12304 short2 __ovld __cnfn select(short2 a, short2 b, int2 c);
   12305 ushort2 __ovld __cnfn select(ushort2 a, ushort2 b, int2 c);
   12306 short3 __ovld __cnfn select(short3 a, short3 b, int3 c);
   12307 ushort3 __ovld __cnfn select(ushort3 a, ushort3 b, int3 c);
   12308 short4 __ovld __cnfn select(short4 a, short4 b, int4 c);
   12309 ushort4 __ovld __cnfn select(ushort4 a, ushort4 b, int4 c);
   12310 short8 __ovld __cnfn select(short8 a, short8 b, int8 c);
   12311 ushort8 __ovld __cnfn select(ushort8 a, ushort8 b, int8 c);
   12312 short16 __ovld __cnfn select(short16 a, short16 b, int16 c);
   12313 ushort16 __ovld __cnfn select(ushort16 a, ushort16 b, int16 c);
   12314 int __ovld __cnfn select(int a, int b, int c);
   12315 uint __ovld __cnfn select(uint a, uint b, int c);
   12316 int2 __ovld __cnfn select(int2 a, int2 b, int2 c);
   12317 uint2 __ovld __cnfn select(uint2 a, uint2 b, int2 c);
   12318 int3 __ovld __cnfn select(int3 a, int3 b, int3 c);
   12319 uint3 __ovld __cnfn select(uint3 a, uint3 b, int3 c);
   12320 int4 __ovld __cnfn select(int4 a, int4 b, int4 c);
   12321 uint4 __ovld __cnfn select(uint4 a, uint4 b, int4 c);
   12322 int8 __ovld __cnfn select(int8 a, int8 b, int8 c);
   12323 uint8 __ovld __cnfn select(uint8 a, uint8 b, int8 c);
   12324 int16 __ovld __cnfn select(int16 a, int16 b, int16 c);
   12325 uint16 __ovld __cnfn select(uint16 a, uint16 b, int16 c);
   12326 long __ovld __cnfn select(long a, long b, int c);
   12327 ulong __ovld __cnfn select(ulong a, ulong b, int c);
   12328 long2 __ovld __cnfn select(long2 a, long2 b, int2 c);
   12329 ulong2 __ovld __cnfn select(ulong2 a, ulong2 b, int2 c);
   12330 long3 __ovld __cnfn select(long3 a, long3 b, int3 c);
   12331 ulong3 __ovld __cnfn select(ulong3 a, ulong3 b, int3 c);
   12332 long4 __ovld __cnfn select(long4 a, long4 b, int4 c);
   12333 ulong4 __ovld __cnfn select(ulong4 a, ulong4 b, int4 c);
   12334 long8 __ovld __cnfn select(long8 a, long8 b, int8 c);
   12335 ulong8 __ovld __cnfn select(ulong8 a, ulong8 b, int8 c);
   12336 long16 __ovld __cnfn select(long16 a, long16 b, int16 c);
   12337 ulong16 __ovld __cnfn select(ulong16 a, ulong16 b, int16 c);
   12338 float __ovld __cnfn select(float a, float b, int c);
   12339 float2 __ovld __cnfn select(float2 a, float2 b, int2 c);
   12340 float3 __ovld __cnfn select(float3 a, float3 b, int3 c);
   12341 float4 __ovld __cnfn select(float4 a, float4 b, int4 c);
   12342 float8 __ovld __cnfn select(float8 a, float8 b, int8 c);
   12343 float16 __ovld __cnfn select(float16 a, float16 b, int16 c);
   12344 char __ovld __cnfn select(char a, char b, long c);
   12345 uchar __ovld __cnfn select(uchar a, uchar b, long c);
   12346 char2 __ovld __cnfn select(char2 a, char2 b, long2 c);
   12347 uchar2 __ovld __cnfn select(uchar2 a, uchar2 b, long2 c);
   12348 char3 __ovld __cnfn select(char3 a, char3 b, long3 c);
   12349 uchar3 __ovld __cnfn select(uchar3 a, uchar3 b, long3 c);
   12350 char4 __ovld __cnfn select(char4 a, char4 b, long4 c);
   12351 uchar4 __ovld __cnfn select(uchar4 a, uchar4 b, long4 c);
   12352 char8 __ovld __cnfn select(char8 a, char8 b, long8 c);
   12353 uchar8 __ovld __cnfn select(uchar8 a, uchar8 b, long8 c);
   12354 char16 __ovld __cnfn select(char16 a, char16 b, long16 c);
   12355 uchar16 __ovld __cnfn select(uchar16 a, uchar16 b, long16 c);
   12356 short __ovld __cnfn select(short a, short b, long c);
   12357 ushort __ovld __cnfn select(ushort a, ushort b, long c);
   12358 short2 __ovld __cnfn select(short2 a, short2 b, long2 c);
   12359 ushort2 __ovld __cnfn select(ushort2 a, ushort2 b, long2 c);
   12360 short3 __ovld __cnfn select(short3 a, short3 b, long3 c);
   12361 ushort3 __ovld __cnfn select(ushort3 a, ushort3 b, long3 c);
   12362 short4 __ovld __cnfn select(short4 a, short4 b, long4 c);
   12363 ushort4 __ovld __cnfn select(ushort4 a, ushort4 b, long4 c);
   12364 short8 __ovld __cnfn select(short8 a, short8 b, long8 c);
   12365 ushort8 __ovld __cnfn select(ushort8 a, ushort8 b, long8 c);
   12366 short16 __ovld __cnfn select(short16 a, short16 b, long16 c);
   12367 ushort16 __ovld __cnfn select(ushort16 a, ushort16 b, long16 c);
   12368 int __ovld __cnfn select(int a, int b, long c);
   12369 uint __ovld __cnfn select(uint a, uint b, long c);
   12370 int2 __ovld __cnfn select(int2 a, int2 b, long2 c);
   12371 uint2 __ovld __cnfn select(uint2 a, uint2 b, long2 c);
   12372 int3 __ovld __cnfn select(int3 a, int3 b, long3 c);
   12373 uint3 __ovld __cnfn select(uint3 a, uint3 b, long3 c);
   12374 int4 __ovld __cnfn select(int4 a, int4 b, long4 c);
   12375 uint4 __ovld __cnfn select(uint4 a, uint4 b, long4 c);
   12376 int8 __ovld __cnfn select(int8 a, int8 b, long8 c);
   12377 uint8 __ovld __cnfn select(uint8 a, uint8 b, long8 c);
   12378 int16 __ovld __cnfn select(int16 a, int16 b, long16 c);
   12379 uint16 __ovld __cnfn select(uint16 a, uint16 b, long16 c);
   12380 long __ovld __cnfn select(long a, long b, long c);
   12381 ulong __ovld __cnfn select(ulong a, ulong b, long c);
   12382 long2 __ovld __cnfn select(long2 a, long2 b, long2 c);
   12383 ulong2 __ovld __cnfn select(ulong2 a, ulong2 b, long2 c);
   12384 long3 __ovld __cnfn select(long3 a, long3 b, long3 c);
   12385 ulong3 __ovld __cnfn select(ulong3 a, ulong3 b, long3 c);
   12386 long4 __ovld __cnfn select(long4 a, long4 b, long4 c);
   12387 ulong4 __ovld __cnfn select(ulong4 a, ulong4 b, long4 c);
   12388 long8 __ovld __cnfn select(long8 a, long8 b, long8 c);
   12389 ulong8 __ovld __cnfn select(ulong8 a, ulong8 b, long8 c);
   12390 long16 __ovld __cnfn select(long16 a, long16 b, long16 c);
   12391 ulong16 __ovld __cnfn select(ulong16 a, ulong16 b, long16 c);
   12392 float __ovld __cnfn select(float a, float b, long c);
   12393 float2 __ovld __cnfn select(float2 a, float2 b, long2 c);
   12394 float3 __ovld __cnfn select(float3 a, float3 b, long3 c);
   12395 float4 __ovld __cnfn select(float4 a, float4 b, long4 c);
   12396 float8 __ovld __cnfn select(float8 a, float8 b, long8 c);
   12397 float16 __ovld __cnfn select(float16 a, float16 b, long16 c);
   12398 char __ovld __cnfn select(char a, char b, uchar c);
   12399 uchar __ovld __cnfn select(uchar a, uchar b, uchar c);
   12400 char2 __ovld __cnfn select(char2 a, char2 b, uchar2 c);
   12401 uchar2 __ovld __cnfn select(uchar2 a, uchar2 b, uchar2 c);
   12402 char3 __ovld __cnfn select(char3 a, char3 b, uchar3 c);
   12403 uchar3 __ovld __cnfn select(uchar3 a, uchar3 b, uchar3 c);
   12404 char4 __ovld __cnfn select(char4 a, char4 b, uchar4 c);
   12405 uchar4 __ovld __cnfn select(uchar4 a, uchar4 b, uchar4 c);
   12406 char8 __ovld __cnfn select(char8 a, char8 b, uchar8 c);
   12407 uchar8 __ovld __cnfn select(uchar8 a, uchar8 b, uchar8 c);
   12408 char16 __ovld __cnfn select(char16 a, char16 b, uchar16 c);
   12409 uchar16 __ovld __cnfn select(uchar16 a, uchar16 b, uchar16 c);
   12410 short __ovld __cnfn select(short a, short b, uchar c);
   12411 ushort __ovld __cnfn select(ushort a, ushort b, uchar c);
   12412 short2 __ovld __cnfn select(short2 a, short2 b, uchar2 c);
   12413 ushort2 __ovld __cnfn select(ushort2 a, ushort2 b, uchar2 c);
   12414 short3 __ovld __cnfn select(short3 a, short3 b, uchar3 c);
   12415 ushort3 __ovld __cnfn select(ushort3 a, ushort3 b, uchar3 c);
   12416 short4 __ovld __cnfn select(short4 a, short4 b, uchar4 c);
   12417 ushort4 __ovld __cnfn select(ushort4 a, ushort4 b, uchar4 c);
   12418 short8 __ovld __cnfn select(short8 a, short8 b, uchar8 c);
   12419 ushort8 __ovld __cnfn select(ushort8 a, ushort8 b, uchar8 c);
   12420 short16 __ovld __cnfn select(short16 a, short16 b, uchar16 c);
   12421 ushort16 __ovld __cnfn select(ushort16 a, ushort16 b, uchar16 c);
   12422 int __ovld __cnfn select(int a, int b, uchar c);
   12423 uint __ovld __cnfn select(uint a, uint b, uchar c);
   12424 int2 __ovld __cnfn select(int2 a, int2 b, uchar2 c);
   12425 uint2 __ovld __cnfn select(uint2 a, uint2 b, uchar2 c);
   12426 int3 __ovld __cnfn select(int3 a, int3 b, uchar3 c);
   12427 uint3 __ovld __cnfn select(uint3 a, uint3 b, uchar3 c);
   12428 int4 __ovld __cnfn select(int4 a, int4 b, uchar4 c);
   12429 uint4 __ovld __cnfn select(uint4 a, uint4 b, uchar4 c);
   12430 int8 __ovld __cnfn select(int8 a, int8 b, uchar8 c);
   12431 uint8 __ovld __cnfn select(uint8 a, uint8 b, uchar8 c);
   12432 int16 __ovld __cnfn select(int16 a, int16 b, uchar16 c);
   12433 uint16 __ovld __cnfn select(uint16 a, uint16 b, uchar16 c);
   12434 long __ovld __cnfn select(long a, long b, uchar c);
   12435 ulong __ovld __cnfn select(ulong a, ulong b, uchar c);
   12436 long2 __ovld __cnfn select(long2 a, long2 b, uchar2 c);
   12437 ulong2 __ovld __cnfn select(ulong2 a, ulong2 b, uchar2 c);
   12438 long3 __ovld __cnfn select(long3 a, long3 b, uchar3 c);
   12439 ulong3 __ovld __cnfn select(ulong3 a, ulong3 b, uchar3 c);
   12440 long4 __ovld __cnfn select(long4 a, long4 b, uchar4 c);
   12441 ulong4 __ovld __cnfn select(ulong4 a, ulong4 b, uchar4 c);
   12442 long8 __ovld __cnfn select(long8 a, long8 b, uchar8 c);
   12443 ulong8 __ovld __cnfn select(ulong8 a, ulong8 b, uchar8 c);
   12444 long16 __ovld __cnfn select(long16 a, long16 b, uchar16 c);
   12445 ulong16 __ovld __cnfn select(ulong16 a, ulong16 b, uchar16 c);
   12446 float __ovld __cnfn select(float a, float b, uchar c);
   12447 float2 __ovld __cnfn select(float2 a, float2 b, uchar2 c);
   12448 float3 __ovld __cnfn select(float3 a, float3 b, uchar3 c);
   12449 float4 __ovld __cnfn select(float4 a, float4 b, uchar4 c);
   12450 float8 __ovld __cnfn select(float8 a, float8 b, uchar8 c);
   12451 float16 __ovld __cnfn select(float16 a, float16 b, uchar16 c);
   12452 char __ovld __cnfn select(char a, char b, ushort c);
   12453 uchar __ovld __cnfn select(uchar a, uchar b, ushort c);
   12454 char2 __ovld __cnfn select(char2 a, char2 b, ushort2 c);
   12455 uchar2 __ovld __cnfn select(uchar2 a, uchar2 b, ushort2 c);
   12456 char3 __ovld __cnfn select(char3 a, char3 b, ushort3 c);
   12457 uchar3 __ovld __cnfn select(uchar3 a, uchar3 b, ushort3 c);
   12458 char4 __ovld __cnfn select(char4 a, char4 b, ushort4 c);
   12459 uchar4 __ovld __cnfn select(uchar4 a, uchar4 b, ushort4 c);
   12460 char8 __ovld __cnfn select(char8 a, char8 b, ushort8 c);
   12461 uchar8 __ovld __cnfn select(uchar8 a, uchar8 b, ushort8 c);
   12462 char16 __ovld __cnfn select(char16 a, char16 b, ushort16 c);
   12463 uchar16 __ovld __cnfn select(uchar16 a, uchar16 b, ushort16 c);
   12464 short __ovld __cnfn select(short a, short b, ushort c);
   12465 ushort __ovld __cnfn select(ushort a, ushort b, ushort c);
   12466 short2 __ovld __cnfn select(short2 a, short2 b, ushort2 c);
   12467 ushort2 __ovld __cnfn select(ushort2 a, ushort2 b, ushort2 c);
   12468 short3 __ovld __cnfn select(short3 a, short3 b, ushort3 c);
   12469 ushort3 __ovld __cnfn select(ushort3 a, ushort3 b, ushort3 c);
   12470 short4 __ovld __cnfn select(short4 a, short4 b, ushort4 c);
   12471 ushort4 __ovld __cnfn select(ushort4 a, ushort4 b, ushort4 c);
   12472 short8 __ovld __cnfn select(short8 a, short8 b, ushort8 c);
   12473 ushort8 __ovld __cnfn select(ushort8 a, ushort8 b, ushort8 c);
   12474 short16 __ovld __cnfn select(short16 a, short16 b, ushort16 c);
   12475 ushort16 __ovld __cnfn select(ushort16 a, ushort16 b, ushort16 c);
   12476 int __ovld __cnfn select(int a, int b, ushort c);
   12477 uint __ovld __cnfn select(uint a, uint b, ushort c);
   12478 int2 __ovld __cnfn select(int2 a, int2 b, ushort2 c);
   12479 uint2 __ovld __cnfn select(uint2 a, uint2 b, ushort2 c);
   12480 int3 __ovld __cnfn select(int3 a, int3 b, ushort3 c);
   12481 uint3 __ovld __cnfn select(uint3 a, uint3 b, ushort3 c);
   12482 int4 __ovld __cnfn select(int4 a, int4 b, ushort4 c);
   12483 uint4 __ovld __cnfn select(uint4 a, uint4 b, ushort4 c);
   12484 int8 __ovld __cnfn select(int8 a, int8 b, ushort8 c);
   12485 uint8 __ovld __cnfn select(uint8 a, uint8 b, ushort8 c);
   12486 int16 __ovld __cnfn select(int16 a, int16 b, ushort16 c);
   12487 uint16 __ovld __cnfn select(uint16 a, uint16 b, ushort16 c);
   12488 long __ovld __cnfn select(long a, long b, ushort c);
   12489 ulong __ovld __cnfn select(ulong a, ulong b, ushort c);
   12490 long2 __ovld __cnfn select(long2 a, long2 b, ushort2 c);
   12491 ulong2 __ovld __cnfn select(ulong2 a, ulong2 b, ushort2 c);
   12492 long3 __ovld __cnfn select(long3 a, long3 b, ushort3 c);
   12493 ulong3 __ovld __cnfn select(ulong3 a, ulong3 b, ushort3 c);
   12494 long4 __ovld __cnfn select(long4 a, long4 b, ushort4 c);
   12495 ulong4 __ovld __cnfn select(ulong4 a, ulong4 b, ushort4 c);
   12496 long8 __ovld __cnfn select(long8 a, long8 b, ushort8 c);
   12497 ulong8 __ovld __cnfn select(ulong8 a, ulong8 b, ushort8 c);
   12498 long16 __ovld __cnfn select(long16 a, long16 b, ushort16 c);
   12499 ulong16 __ovld __cnfn select(ulong16 a, ulong16 b, ushort16 c);
   12500 float __ovld __cnfn select(float a, float b, ushort c);
   12501 float2 __ovld __cnfn select(float2 a, float2 b, ushort2 c);
   12502 float3 __ovld __cnfn select(float3 a, float3 b, ushort3 c);
   12503 float4 __ovld __cnfn select(float4 a, float4 b, ushort4 c);
   12504 float8 __ovld __cnfn select(float8 a, float8 b, ushort8 c);
   12505 float16 __ovld __cnfn select(float16 a, float16 b, ushort16 c);
   12506 char __ovld __cnfn select(char a, char b, uint c);
   12507 uchar __ovld __cnfn select(uchar a, uchar b, uint c);
   12508 char2 __ovld __cnfn select(char2 a, char2 b, uint2 c);
   12509 uchar2 __ovld __cnfn select(uchar2 a, uchar2 b, uint2 c);
   12510 char3 __ovld __cnfn select(char3 a, char3 b, uint3 c);
   12511 uchar3 __ovld __cnfn select(uchar3 a, uchar3 b, uint3 c);
   12512 char4 __ovld __cnfn select(char4 a, char4 b, uint4 c);
   12513 uchar4 __ovld __cnfn select(uchar4 a, uchar4 b, uint4 c);
   12514 char8 __ovld __cnfn select(char8 a, char8 b, uint8 c);
   12515 uchar8 __ovld __cnfn select(uchar8 a, uchar8 b, uint8 c);
   12516 char16 __ovld __cnfn select(char16 a, char16 b, uint16 c);
   12517 uchar16 __ovld __cnfn select(uchar16 a, uchar16 b, uint16 c);
   12518 short __ovld __cnfn select(short a, short b, uint c);
   12519 ushort __ovld __cnfn select(ushort a, ushort b, uint c);
   12520 short2 __ovld __cnfn select(short2 a, short2 b, uint2 c);
   12521 ushort2 __ovld __cnfn select(ushort2 a, ushort2 b, uint2 c);
   12522 short3 __ovld __cnfn select(short3 a, short3 b, uint3 c);
   12523 ushort3 __ovld __cnfn select(ushort3 a, ushort3 b, uint3 c);
   12524 short4 __ovld __cnfn select(short4 a, short4 b, uint4 c);
   12525 ushort4 __ovld __cnfn select(ushort4 a, ushort4 b, uint4 c);
   12526 short8 __ovld __cnfn select(short8 a, short8 b, uint8 c);
   12527 ushort8 __ovld __cnfn select(ushort8 a, ushort8 b, uint8 c);
   12528 short16 __ovld __cnfn select(short16 a, short16 b, uint16 c);
   12529 ushort16 __ovld __cnfn select(ushort16 a, ushort16 b, uint16 c);
   12530 int __ovld __cnfn select(int a, int b, uint c);
   12531 uint __ovld __cnfn select(uint a, uint b, uint c);
   12532 int2 __ovld __cnfn select(int2 a, int2 b, uint2 c);
   12533 uint2 __ovld __cnfn select(uint2 a, uint2 b, uint2 c);
   12534 int3 __ovld __cnfn select(int3 a, int3 b, uint3 c);
   12535 uint3 __ovld __cnfn select(uint3 a, uint3 b, uint3 c);
   12536 int4 __ovld __cnfn select(int4 a, int4 b, uint4 c);
   12537 uint4 __ovld __cnfn select(uint4 a, uint4 b, uint4 c);
   12538 int8 __ovld __cnfn select(int8 a, int8 b, uint8 c);
   12539 uint8 __ovld __cnfn select(uint8 a, uint8 b, uint8 c);
   12540 int16 __ovld __cnfn select(int16 a, int16 b, uint16 c);
   12541 uint16 __ovld __cnfn select(uint16 a, uint16 b, uint16 c);
   12542 long __ovld __cnfn select(long a, long b, uint c);
   12543 ulong __ovld __cnfn select(ulong a, ulong b, uint c);
   12544 long2 __ovld __cnfn select(long2 a, long2 b, uint2 c);
   12545 ulong2 __ovld __cnfn select(ulong2 a, ulong2 b, uint2 c);
   12546 long3 __ovld __cnfn select(long3 a, long3 b, uint3 c);
   12547 ulong3 __ovld __cnfn select(ulong3 a, ulong3 b, uint3 c);
   12548 long4 __ovld __cnfn select(long4 a, long4 b, uint4 c);
   12549 ulong4 __ovld __cnfn select(ulong4 a, ulong4 b, uint4 c);
   12550 long8 __ovld __cnfn select(long8 a, long8 b, uint8 c);
   12551 ulong8 __ovld __cnfn select(ulong8 a, ulong8 b, uint8 c);
   12552 long16 __ovld __cnfn select(long16 a, long16 b, uint16 c);
   12553 ulong16 __ovld __cnfn select(ulong16 a, ulong16 b, uint16 c);
   12554 float __ovld __cnfn select(float a, float b, uint c);
   12555 float2 __ovld __cnfn select(float2 a, float2 b, uint2 c);
   12556 float3 __ovld __cnfn select(float3 a, float3 b, uint3 c);
   12557 float4 __ovld __cnfn select(float4 a, float4 b, uint4 c);
   12558 float8 __ovld __cnfn select(float8 a, float8 b, uint8 c);
   12559 float16 __ovld __cnfn select(float16 a, float16 b, uint16 c);
   12560 char __ovld __cnfn select(char a, char b, ulong c);
   12561 uchar __ovld __cnfn select(uchar a, uchar b, ulong c);
   12562 char2 __ovld __cnfn select(char2 a, char2 b, ulong2 c);
   12563 uchar2 __ovld __cnfn select(uchar2 a, uchar2 b, ulong2 c);
   12564 char3 __ovld __cnfn select(char3 a, char3 b, ulong3 c);
   12565 uchar3 __ovld __cnfn select(uchar3 a, uchar3 b, ulong3 c);
   12566 char4 __ovld __cnfn select(char4 a, char4 b, ulong4 c);
   12567 uchar4 __ovld __cnfn select(uchar4 a, uchar4 b, ulong4 c);
   12568 char8 __ovld __cnfn select(char8 a, char8 b, ulong8 c);
   12569 uchar8 __ovld __cnfn select(uchar8 a, uchar8 b, ulong8 c);
   12570 char16 __ovld __cnfn select(char16 a, char16 b, ulong16 c);
   12571 uchar16 __ovld __cnfn select(uchar16 a, uchar16 b, ulong16 c);
   12572 short __ovld __cnfn select(short a, short b, ulong c);
   12573 ushort __ovld __cnfn select(ushort a, ushort b, ulong c);
   12574 short2 __ovld __cnfn select(short2 a, short2 b, ulong2 c);
   12575 ushort2 __ovld __cnfn select(ushort2 a, ushort2 b, ulong2 c);
   12576 short3 __ovld __cnfn select(short3 a, short3 b, ulong3 c);
   12577 ushort3 __ovld __cnfn select(ushort3 a, ushort3 b, ulong3 c);
   12578 short4 __ovld __cnfn select(short4 a, short4 b, ulong4 c);
   12579 ushort4 __ovld __cnfn select(ushort4 a, ushort4 b, ulong4 c);
   12580 short8 __ovld __cnfn select(short8 a, short8 b, ulong8 c);
   12581 ushort8 __ovld __cnfn select(ushort8 a, ushort8 b, ulong8 c);
   12582 short16 __ovld __cnfn select(short16 a, short16 b, ulong16 c);
   12583 ushort16 __ovld __cnfn select(ushort16 a, ushort16 b, ulong16 c);
   12584 int __ovld __cnfn select(int a, int b, ulong c);
   12585 uint __ovld __cnfn select(uint a, uint b, ulong c);
   12586 int2 __ovld __cnfn select(int2 a, int2 b, ulong2 c);
   12587 uint2 __ovld __cnfn select(uint2 a, uint2 b, ulong2 c);
   12588 int3 __ovld __cnfn select(int3 a, int3 b, ulong3 c);
   12589 uint3 __ovld __cnfn select(uint3 a, uint3 b, ulong3 c);
   12590 int4 __ovld __cnfn select(int4 a, int4 b, ulong4 c);
   12591 uint4 __ovld __cnfn select(uint4 a, uint4 b, ulong4 c);
   12592 int8 __ovld __cnfn select(int8 a, int8 b, ulong8 c);
   12593 uint8 __ovld __cnfn select(uint8 a, uint8 b, ulong8 c);
   12594 int16 __ovld __cnfn select(int16 a, int16 b, ulong16 c);
   12595 uint16 __ovld __cnfn select(uint16 a, uint16 b, ulong16 c);
   12596 long __ovld __cnfn select(long a, long b, ulong c);
   12597 ulong __ovld __cnfn select(ulong a, ulong b, ulong c);
   12598 long2 __ovld __cnfn select(long2 a, long2 b, ulong2 c);
   12599 ulong2 __ovld __cnfn select(ulong2 a, ulong2 b, ulong2 c);
   12600 long3 __ovld __cnfn select(long3 a, long3 b, ulong3 c);
   12601 ulong3 __ovld __cnfn select(ulong3 a, ulong3 b, ulong3 c);
   12602 long4 __ovld __cnfn select(long4 a, long4 b, ulong4 c);
   12603 ulong4 __ovld __cnfn select(ulong4 a, ulong4 b, ulong4 c);
   12604 long8 __ovld __cnfn select(long8 a, long8 b, ulong8 c);
   12605 ulong8 __ovld __cnfn select(ulong8 a, ulong8 b, ulong8 c);
   12606 long16 __ovld __cnfn select(long16 a, long16 b, ulong16 c);
   12607 ulong16 __ovld __cnfn select(ulong16 a, ulong16 b, ulong16 c);
   12608 float __ovld __cnfn select(float a, float b, ulong c);
   12609 float2 __ovld __cnfn select(float2 a, float2 b, ulong2 c);
   12610 float3 __ovld __cnfn select(float3 a, float3 b, ulong3 c);
   12611 float4 __ovld __cnfn select(float4 a, float4 b, ulong4 c);
   12612 float8 __ovld __cnfn select(float8 a, float8 b, ulong8 c);
   12613 float16 __ovld __cnfn select(float16 a, float16 b, ulong16 c);
   12614 #ifdef cl_khr_fp64
   12615 double __ovld __cnfn select(double a, double b, long c);
   12616 double2 __ovld __cnfn select(double2 a, double2 b, long2 c);
   12617 double3 __ovld __cnfn select(double3 a, double3 b, long3 c);
   12618 double4 __ovld __cnfn select(double4 a, double4 b, long4 c);
   12619 double8 __ovld __cnfn select(double8 a, double8 b, long8 c);
   12620 double16 __ovld __cnfn select(double16 a, double16 b, long16 c);
   12621 double __ovld __cnfn select(double a, double b, ulong c);
   12622 double2 __ovld __cnfn select(double2 a, double2 b, ulong2 c);
   12623 double3 __ovld __cnfn select(double3 a, double3 b, ulong3 c);
   12624 double4 __ovld __cnfn select(double4 a, double4 b, ulong4 c);
   12625 double8 __ovld __cnfn select(double8 a, double8 b, ulong8 c);
   12626 double16 __ovld __cnfn select(double16 a, double16 b, ulong16 c);
   12627 #endif //cl_khr_fp64
   12628 #ifdef cl_khr_fp16
   12629 half __ovld __cnfn select(half a, half b, short c);
   12630 half2 __ovld __cnfn select(half2 a, half2 b, short2 c);
   12631 half3 __ovld __cnfn select(half3 a, half3 b, short3 c);
   12632 half4 __ovld __cnfn select(half4 a, half4 b, short4 c);
   12633 half8 __ovld __cnfn select(half8 a, half8 b, short8 c);
   12634 half16 __ovld __cnfn select(half16 a, half16 b, short16 c);
   12635 half __ovld __cnfn select(half a, half b, ushort c);
   12636 half2 __ovld __cnfn select(half2 a, half2 b, ushort2 c);
   12637 half3 __ovld __cnfn select(half3 a, half3 b, ushort3 c);
   12638 half4 __ovld __cnfn select(half4 a, half4 b, ushort4 c);
   12639 half8 __ovld __cnfn select(half8 a, half8 b, ushort8 c);
   12640 half16 __ovld __cnfn select(half16 a, half16 b, ushort16 c);
   12641 #endif //cl_khr_fp16
   12642 
   12643 // OpenCL v1.1 s6.11.7, v1.2 s6.12.7, v2.0 s6.13.7 - Vector Data Load and Store Functions
   12644 // 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
   12645 /**
   12646  * Use generic type gentype to indicate the built-in data types
   12647  * char, uchar, short, ushort, int, uint, long, ulong, float,
   12648  * double or half.
   12649  *
   12650  * vloadn return sizeof (gentypen) bytes of data read from address (p + (offset * n)).
   12651  *
   12652  * vstoren write sizeof (gentypen) bytes given by data to address (p + (offset * n)).
   12653  *
   12654  * The address computed as (p + (offset * n)) must be
   12655  * 8-bit aligned if gentype is char, uchar;
   12656  * 16-bit aligned if gentype is short, ushort, half;
   12657  * 32-bit aligned if gentype is int, uint, float;
   12658  * 64-bit aligned if gentype is long, ulong, double.
   12659  */
   12660 
   12661 char2 __ovld vload2(size_t offset, const __constant char *p);
   12662 uchar2 __ovld vload2(size_t offset, const __constant uchar *p);
   12663 short2 __ovld vload2(size_t offset, const __constant short *p);
   12664 ushort2 __ovld vload2(size_t offset, const __constant ushort *p);
   12665 int2 __ovld vload2(size_t offset, const __constant int *p);
   12666 uint2 __ovld vload2(size_t offset, const __constant uint *p);
   12667 long2 __ovld vload2(size_t offset, const __constant long *p);
   12668 ulong2 __ovld vload2(size_t offset, const __constant ulong *p);
   12669 float2 __ovld vload2(size_t offset, const __constant float *p);
   12670 char3 __ovld vload3(size_t offset, const __constant char *p);
   12671 uchar3 __ovld vload3(size_t offset, const __constant uchar *p);
   12672 short3 __ovld vload3(size_t offset, const __constant short *p);
   12673 ushort3 __ovld vload3(size_t offset, const __constant ushort *p);
   12674 int3 __ovld vload3(size_t offset, const __constant int *p);
   12675 uint3 __ovld vload3(size_t offset, const __constant uint *p);
   12676 long3 __ovld vload3(size_t offset, const __constant long *p);
   12677 ulong3 __ovld vload3(size_t offset, const __constant ulong *p);
   12678 float3 __ovld vload3(size_t offset, const __constant float *p);
   12679 char4 __ovld vload4(size_t offset, const __constant char *p);
   12680 uchar4 __ovld vload4(size_t offset, const __constant uchar *p);
   12681 short4 __ovld vload4(size_t offset, const __constant short *p);
   12682 ushort4 __ovld vload4(size_t offset, const __constant ushort *p);
   12683 int4 __ovld vload4(size_t offset, const __constant int *p);
   12684 uint4 __ovld vload4(size_t offset, const __constant uint *p);
   12685 long4 __ovld vload4(size_t offset, const __constant long *p);
   12686 ulong4 __ovld vload4(size_t offset, const __constant ulong *p);
   12687 float4 __ovld vload4(size_t offset, const __constant float *p);
   12688 char8 __ovld vload8(size_t offset, const __constant char *p);
   12689 uchar8 __ovld vload8(size_t offset, const __constant uchar *p);
   12690 short8 __ovld vload8(size_t offset, const __constant short *p);
   12691 ushort8 __ovld vload8(size_t offset, const __constant ushort *p);
   12692 int8 __ovld vload8(size_t offset, const __constant int *p);
   12693 uint8 __ovld vload8(size_t offset, const __constant uint *p);
   12694 long8 __ovld vload8(size_t offset, const __constant long *p);
   12695 ulong8 __ovld vload8(size_t offset, const __constant ulong *p);
   12696 float8 __ovld vload8(size_t offset, const __constant float *p);
   12697 char16 __ovld vload16(size_t offset, const __constant char *p);
   12698 uchar16 __ovld vload16(size_t offset, const __constant uchar *p);
   12699 short16 __ovld vload16(size_t offset, const __constant short *p);
   12700 ushort16 __ovld vload16(size_t offset, const __constant ushort *p);
   12701 int16 __ovld vload16(size_t offset, const __constant int *p);
   12702 uint16 __ovld vload16(size_t offset, const __constant uint *p);
   12703 long16 __ovld vload16(size_t offset, const __constant long *p);
   12704 ulong16 __ovld vload16(size_t offset, const __constant ulong *p);
   12705 float16 __ovld vload16(size_t offset, const __constant float *p);
   12706 #ifdef cl_khr_fp64
   12707 double2 __ovld vload2(size_t offset, const __constant double *p);
   12708 double3 __ovld vload3(size_t offset, const __constant double *p);
   12709 double4 __ovld vload4(size_t offset, const __constant double *p);
   12710 double8 __ovld vload8(size_t offset, const __constant double *p);
   12711 double16 __ovld vload16(size_t offset, const __constant double *p);
   12712 #endif //cl_khr_fp64
   12713 
   12714 #ifdef cl_khr_fp16
   12715 half __ovld vload(size_t offset, const __constant half *p);
   12716 half2 __ovld vload2(size_t offset, const __constant half *p);
   12717 half3 __ovld vload3(size_t offset, const __constant half *p);
   12718 half4 __ovld vload4(size_t offset, const __constant half *p);
   12719 half8 __ovld vload8(size_t offset, const __constant half *p);
   12720 half16 __ovld vload16(size_t offset, const __constant half *p);
   12721 #endif //cl_khr_fp16
   12722 
   12723 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   12724 char2 __ovld vload2(size_t offset, const char *p);
   12725 uchar2 __ovld vload2(size_t offset, const uchar *p);
   12726 short2 __ovld vload2(size_t offset, const short *p);
   12727 ushort2 __ovld vload2(size_t offset, const ushort *p);
   12728 int2 __ovld vload2(size_t offset, const int *p);
   12729 uint2 __ovld vload2(size_t offset, const uint *p);
   12730 long2 __ovld vload2(size_t offset, const long *p);
   12731 ulong2 __ovld vload2(size_t offset, const ulong *p);
   12732 float2 __ovld vload2(size_t offset, const float *p);
   12733 char3 __ovld vload3(size_t offset, const char *p);
   12734 uchar3 __ovld vload3(size_t offset, const uchar *p);
   12735 short3 __ovld vload3(size_t offset, const short *p);
   12736 ushort3 __ovld vload3(size_t offset, const ushort *p);
   12737 int3 __ovld vload3(size_t offset, const int *p);
   12738 uint3 __ovld vload3(size_t offset, const uint *p);
   12739 long3 __ovld vload3(size_t offset, const long *p);
   12740 ulong3 __ovld vload3(size_t offset, const ulong *p);
   12741 float3 __ovld vload3(size_t offset, const float *p);
   12742 char4 __ovld vload4(size_t offset, const char *p);
   12743 uchar4 __ovld vload4(size_t offset, const uchar *p);
   12744 short4 __ovld vload4(size_t offset, const short *p);
   12745 ushort4 __ovld vload4(size_t offset, const ushort *p);
   12746 int4 __ovld vload4(size_t offset, const int *p);
   12747 uint4 __ovld vload4(size_t offset, const uint *p);
   12748 long4 __ovld vload4(size_t offset, const long *p);
   12749 ulong4 __ovld vload4(size_t offset, const ulong *p);
   12750 float4 __ovld vload4(size_t offset, const float *p);
   12751 char8 __ovld vload8(size_t offset, const char *p);
   12752 uchar8 __ovld vload8(size_t offset, const uchar *p);
   12753 short8 __ovld vload8(size_t offset, const short *p);
   12754 ushort8 __ovld vload8(size_t offset, const ushort *p);
   12755 int8 __ovld vload8(size_t offset, const int *p);
   12756 uint8 __ovld vload8(size_t offset, const uint *p);
   12757 long8 __ovld vload8(size_t offset, const long *p);
   12758 ulong8 __ovld vload8(size_t offset, const ulong *p);
   12759 float8 __ovld vload8(size_t offset, const float *p);
   12760 char16 __ovld vload16(size_t offset, const char *p);
   12761 uchar16 __ovld vload16(size_t offset, const uchar *p);
   12762 short16 __ovld vload16(size_t offset, const short *p);
   12763 ushort16 __ovld vload16(size_t offset, const ushort *p);
   12764 int16 __ovld vload16(size_t offset, const int *p);
   12765 uint16 __ovld vload16(size_t offset, const uint *p);
   12766 long16 __ovld vload16(size_t offset, const long *p);
   12767 ulong16 __ovld vload16(size_t offset, const ulong *p);
   12768 float16 __ovld vload16(size_t offset, const float *p);
   12769 
   12770 #ifdef cl_khr_fp64
   12771 double2 __ovld vload2(size_t offset, const double *p);
   12772 double3 __ovld vload3(size_t offset, const double *p);
   12773 double4 __ovld vload4(size_t offset, const double *p);
   12774 double8 __ovld vload8(size_t offset, const double *p);
   12775 double16 __ovld vload16(size_t offset, const double *p);
   12776 #endif //cl_khr_fp64
   12777 
   12778 #ifdef cl_khr_fp16
   12779 half __ovld vload(size_t offset, const half *p);
   12780 half2 __ovld vload2(size_t offset, const half *p);
   12781 half3 __ovld vload3(size_t offset, const half *p);
   12782 half4 __ovld vload4(size_t offset, const half *p);
   12783 half8 __ovld vload8(size_t offset, const half *p);
   12784 half16 __ovld vload16(size_t offset, const half *p);
   12785 #endif //cl_khr_fp16
   12786 #else
   12787 char2 __ovld vload2(size_t offset, const __global char *p);
   12788 uchar2 __ovld vload2(size_t offset, const __global uchar *p);
   12789 short2 __ovld vload2(size_t offset, const __global short *p);
   12790 ushort2 __ovld vload2(size_t offset, const __global ushort *p);
   12791 int2 __ovld vload2(size_t offset, const __global int *p);
   12792 uint2 __ovld vload2(size_t offset, const __global uint *p);
   12793 long2 __ovld vload2(size_t offset, const __global long *p);
   12794 ulong2 __ovld vload2(size_t offset, const __global ulong *p);
   12795 float2 __ovld vload2(size_t offset, const __global float *p);
   12796 char3 __ovld vload3(size_t offset, const __global char *p);
   12797 uchar3 __ovld vload3(size_t offset, const __global uchar *p);
   12798 short3 __ovld vload3(size_t offset, const __global short *p);
   12799 ushort3 __ovld vload3(size_t offset, const __global ushort *p);
   12800 int3 __ovld vload3(size_t offset, const __global int *p);
   12801 uint3 __ovld vload3(size_t offset, const __global uint *p);
   12802 long3 __ovld vload3(size_t offset, const __global long *p);
   12803 ulong3 __ovld vload3(size_t offset, const __global ulong *p);
   12804 float3 __ovld vload3(size_t offset, const __global float *p);
   12805 char4 __ovld vload4(size_t offset, const __global char *p);
   12806 uchar4 __ovld vload4(size_t offset, const __global uchar *p);
   12807 short4 __ovld vload4(size_t offset, const __global short *p);
   12808 ushort4 __ovld vload4(size_t offset, const __global ushort *p);
   12809 int4 __ovld vload4(size_t offset, const __global int *p);
   12810 uint4 __ovld vload4(size_t offset, const __global uint *p);
   12811 long4 __ovld vload4(size_t offset, const __global long *p);
   12812 ulong4 __ovld vload4(size_t offset, const __global ulong *p);
   12813 float4 __ovld vload4(size_t offset, const __global float *p);
   12814 char8 __ovld vload8(size_t offset, const __global char *p);
   12815 uchar8 __ovld vload8(size_t offset, const __global uchar *p);
   12816 short8 __ovld vload8(size_t offset, const __global short *p);
   12817 ushort8 __ovld vload8(size_t offset, const __global ushort *p);
   12818 int8 __ovld vload8(size_t offset, const __global int *p);
   12819 uint8 __ovld vload8(size_t offset, const __global uint *p);
   12820 long8 __ovld vload8(size_t offset, const __global long *p);
   12821 ulong8 __ovld vload8(size_t offset, const __global ulong *p);
   12822 float8 __ovld vload8(size_t offset, const __global float *p);
   12823 char16 __ovld vload16(size_t offset, const __global char *p);
   12824 uchar16 __ovld vload16(size_t offset, const __global uchar *p);
   12825 short16 __ovld vload16(size_t offset, const __global short *p);
   12826 ushort16 __ovld vload16(size_t offset, const __global ushort *p);
   12827 int16 __ovld vload16(size_t offset, const __global int *p);
   12828 uint16 __ovld vload16(size_t offset, const __global uint *p);
   12829 long16 __ovld vload16(size_t offset, const __global long *p);
   12830 ulong16 __ovld vload16(size_t offset, const __global ulong *p);
   12831 float16 __ovld vload16(size_t offset, const __global float *p);
   12832 char2 __ovld vload2(size_t offset, const __local char *p);
   12833 uchar2 __ovld vload2(size_t offset, const __local uchar *p);
   12834 short2 __ovld vload2(size_t offset, const __local short *p);
   12835 ushort2 __ovld vload2(size_t offset, const __local ushort *p);
   12836 int2 __ovld vload2(size_t offset, const __local int *p);
   12837 uint2 __ovld vload2(size_t offset, const __local uint *p);
   12838 long2 __ovld vload2(size_t offset, const __local long *p);
   12839 ulong2 __ovld vload2(size_t offset, const __local ulong *p);
   12840 float2 __ovld vload2(size_t offset, const __local float *p);
   12841 char3 __ovld vload3(size_t offset, const __local char *p);
   12842 uchar3 __ovld vload3(size_t offset, const __local uchar *p);
   12843 short3 __ovld vload3(size_t offset, const __local short *p);
   12844 ushort3 __ovld vload3(size_t offset, const __local ushort *p);
   12845 int3 __ovld vload3(size_t offset, const __local int *p);
   12846 uint3 __ovld vload3(size_t offset, const __local uint *p);
   12847 long3 __ovld vload3(size_t offset, const __local long *p);
   12848 ulong3 __ovld vload3(size_t offset, const __local ulong *p);
   12849 float3 __ovld vload3(size_t offset, const __local float *p);
   12850 char4 __ovld vload4(size_t offset, const __local char *p);
   12851 uchar4 __ovld vload4(size_t offset, const __local uchar *p);
   12852 short4 __ovld vload4(size_t offset, const __local short *p);
   12853 ushort4 __ovld vload4(size_t offset, const __local ushort *p);
   12854 int4 __ovld vload4(size_t offset, const __local int *p);
   12855 uint4 __ovld vload4(size_t offset, const __local uint *p);
   12856 long4 __ovld vload4(size_t offset, const __local long *p);
   12857 ulong4 __ovld vload4(size_t offset, const __local ulong *p);
   12858 float4 __ovld vload4(size_t offset, const __local float *p);
   12859 char8 __ovld vload8(size_t offset, const __local char *p);
   12860 uchar8 __ovld vload8(size_t offset, const __local uchar *p);
   12861 short8 __ovld vload8(size_t offset, const __local short *p);
   12862 ushort8 __ovld vload8(size_t offset, const __local ushort *p);
   12863 int8 __ovld vload8(size_t offset, const __local int *p);
   12864 uint8 __ovld vload8(size_t offset, const __local uint *p);
   12865 long8 __ovld vload8(size_t offset, const __local long *p);
   12866 ulong8 __ovld vload8(size_t offset, const __local ulong *p);
   12867 float8 __ovld vload8(size_t offset, const __local float *p);
   12868 char16 __ovld vload16(size_t offset, const __local char *p);
   12869 uchar16 __ovld vload16(size_t offset, const __local uchar *p);
   12870 short16 __ovld vload16(size_t offset, const __local short *p);
   12871 ushort16 __ovld vload16(size_t offset, const __local ushort *p);
   12872 int16 __ovld vload16(size_t offset, const __local int *p);
   12873 uint16 __ovld vload16(size_t offset, const __local uint *p);
   12874 long16 __ovld vload16(size_t offset, const __local long *p);
   12875 ulong16 __ovld vload16(size_t offset, const __local ulong *p);
   12876 float16 __ovld vload16(size_t offset, const __local float *p);
   12877 char2 __ovld vload2(size_t offset, const __private char *p);
   12878 uchar2 __ovld vload2(size_t offset, const __private uchar *p);
   12879 short2 __ovld vload2(size_t offset, const __private short *p);
   12880 ushort2 __ovld vload2(size_t offset, const __private ushort *p);
   12881 int2 __ovld vload2(size_t offset, const __private int *p);
   12882 uint2 __ovld vload2(size_t offset, const __private uint *p);
   12883 long2 __ovld vload2(size_t offset, const __private long *p);
   12884 ulong2 __ovld vload2(size_t offset, const __private ulong *p);
   12885 float2 __ovld vload2(size_t offset, const __private float *p);
   12886 char3 __ovld vload3(size_t offset, const __private char *p);
   12887 uchar3 __ovld vload3(size_t offset, const __private uchar *p);
   12888 short3 __ovld vload3(size_t offset, const __private short *p);
   12889 ushort3 __ovld vload3(size_t offset, const __private ushort *p);
   12890 int3 __ovld vload3(size_t offset, const __private int *p);
   12891 uint3 __ovld vload3(size_t offset, const __private uint *p);
   12892 long3 __ovld vload3(size_t offset, const __private long *p);
   12893 ulong3 __ovld vload3(size_t offset, const __private ulong *p);
   12894 float3 __ovld vload3(size_t offset, const __private float *p);
   12895 char4 __ovld vload4(size_t offset, const __private char *p);
   12896 uchar4 __ovld vload4(size_t offset, const __private uchar *p);
   12897 short4 __ovld vload4(size_t offset, const __private short *p);
   12898 ushort4 __ovld vload4(size_t offset, const __private ushort *p);
   12899 int4 __ovld vload4(size_t offset, const __private int *p);
   12900 uint4 __ovld vload4(size_t offset, const __private uint *p);
   12901 long4 __ovld vload4(size_t offset, const __private long *p);
   12902 ulong4 __ovld vload4(size_t offset, const __private ulong *p);
   12903 float4 __ovld vload4(size_t offset, const __private float *p);
   12904 char8 __ovld vload8(size_t offset, const __private char *p);
   12905 uchar8 __ovld vload8(size_t offset, const __private uchar *p);
   12906 short8 __ovld vload8(size_t offset, const __private short *p);
   12907 ushort8 __ovld vload8(size_t offset, const __private ushort *p);
   12908 int8 __ovld vload8(size_t offset, const __private int *p);
   12909 uint8 __ovld vload8(size_t offset, const __private uint *p);
   12910 long8 __ovld vload8(size_t offset, const __private long *p);
   12911 ulong8 __ovld vload8(size_t offset, const __private ulong *p);
   12912 float8 __ovld vload8(size_t offset, const __private float *p);
   12913 char16 __ovld vload16(size_t offset, const __private char *p);
   12914 uchar16 __ovld vload16(size_t offset, const __private uchar *p);
   12915 short16 __ovld vload16(size_t offset, const __private short *p);
   12916 ushort16 __ovld vload16(size_t offset, const __private ushort *p);
   12917 int16 __ovld vload16(size_t offset, const __private int *p);
   12918 uint16 __ovld vload16(size_t offset, const __private uint *p);
   12919 long16 __ovld vload16(size_t offset, const __private long *p);
   12920 ulong16 __ovld vload16(size_t offset, const __private ulong *p);
   12921 float16 __ovld vload16(size_t offset, const __private float *p);
   12922 
   12923 #ifdef cl_khr_fp64
   12924 double2 __ovld vload2(size_t offset, const __global double *p);
   12925 double3 __ovld vload3(size_t offset, const __global double *p);
   12926 double4 __ovld vload4(size_t offset, const __global double *p);
   12927 double8 __ovld vload8(size_t offset, const __global double *p);
   12928 double16 __ovld vload16(size_t offset, const __global double *p);
   12929 double2 __ovld vload2(size_t offset, const __local double *p);
   12930 double3 __ovld vload3(size_t offset, const __local double *p);
   12931 double4 __ovld vload4(size_t offset, const __local double *p);
   12932 double8 __ovld vload8(size_t offset, const __local double *p);
   12933 double16 __ovld vload16(size_t offset, const __local double *p);
   12934 double2 __ovld vload2(size_t offset, const __private double *p);
   12935 double3 __ovld vload3(size_t offset, const __private double *p);
   12936 double4 __ovld vload4(size_t offset, const __private double *p);
   12937 double8 __ovld vload8(size_t offset, const __private double *p);
   12938 double16 __ovld vload16(size_t offset, const __private double *p);
   12939 #endif //cl_khr_fp64
   12940 
   12941 #ifdef cl_khr_fp16
   12942 half __ovld vload(size_t offset, const __global half *p);
   12943 half2 __ovld vload2(size_t offset, const __global half *p);
   12944 half3 __ovld vload3(size_t offset, const __global half *p);
   12945 half4 __ovld vload4(size_t offset, const __global half *p);
   12946 half8 __ovld vload8(size_t offset, const __global half *p);
   12947 half16 __ovld vload16(size_t offset, const __global half *p);
   12948 half __ovld vload(size_t offset, const __local half *p);
   12949 half2 __ovld vload2(size_t offset, const __local half *p);
   12950 half3 __ovld vload3(size_t offset, const __local half *p);
   12951 half4 __ovld vload4(size_t offset, const __local half *p);
   12952 half8 __ovld vload8(size_t offset, const __local half *p);
   12953 half16 __ovld vload16(size_t offset, const __local half *p);
   12954 half __ovld vload(size_t offset, const __private half *p);
   12955 half2 __ovld vload2(size_t offset, const __private half *p);
   12956 half3 __ovld vload3(size_t offset, const __private half *p);
   12957 half4 __ovld vload4(size_t offset, const __private half *p);
   12958 half8 __ovld vload8(size_t offset, const __private half *p);
   12959 half16 __ovld vload16(size_t offset, const __private half *p);
   12960 #endif //cl_khr_fp16
   12961 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   12962 
   12963 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   12964 void __ovld vstore2(char2 data, size_t offset, char *p);
   12965 void __ovld vstore2(uchar2 data, size_t offset, uchar *p);
   12966 void __ovld vstore2(short2 data, size_t offset, short *p);
   12967 void __ovld vstore2(ushort2 data, size_t offset, ushort *p);
   12968 void __ovld vstore2(int2 data, size_t offset, int *p);
   12969 void __ovld vstore2(uint2 data, size_t offset, uint *p);
   12970 void __ovld vstore2(long2 data, size_t offset, long *p);
   12971 void __ovld vstore2(ulong2 data, size_t offset, ulong *p);
   12972 void __ovld vstore2(float2 data, size_t offset, float *p);
   12973 void __ovld vstore3(char3 data, size_t offset, char *p);
   12974 void __ovld vstore3(uchar3 data, size_t offset, uchar *p);
   12975 void __ovld vstore3(short3 data, size_t offset, short *p);
   12976 void __ovld vstore3(ushort3 data, size_t offset, ushort *p);
   12977 void __ovld vstore3(int3 data, size_t offset, int *p);
   12978 void __ovld vstore3(uint3 data, size_t offset, uint *p);
   12979 void __ovld vstore3(long3 data, size_t offset, long *p);
   12980 void __ovld vstore3(ulong3 data, size_t offset, ulong *p);
   12981 void __ovld vstore3(float3 data, size_t offset, float *p);
   12982 void __ovld vstore4(char4 data, size_t offset, char *p);
   12983 void __ovld vstore4(uchar4 data, size_t offset, uchar *p);
   12984 void __ovld vstore4(short4 data, size_t offset, short *p);
   12985 void __ovld vstore4(ushort4 data, size_t offset, ushort *p);
   12986 void __ovld vstore4(int4 data, size_t offset, int *p);
   12987 void __ovld vstore4(uint4 data, size_t offset, uint *p);
   12988 void __ovld vstore4(long4 data, size_t offset, long *p);
   12989 void __ovld vstore4(ulong4 data, size_t offset, ulong *p);
   12990 void __ovld vstore4(float4 data, size_t offset, float *p);
   12991 void __ovld vstore8(char8 data, size_t offset, char *p);
   12992 void __ovld vstore8(uchar8 data, size_t offset, uchar *p);
   12993 void __ovld vstore8(short8 data, size_t offset, short *p);
   12994 void __ovld vstore8(ushort8 data, size_t offset, ushort *p);
   12995 void __ovld vstore8(int8 data, size_t offset, int *p);
   12996 void __ovld vstore8(uint8 data, size_t offset, uint *p);
   12997 void __ovld vstore8(long8 data, size_t offset, long *p);
   12998 void __ovld vstore8(ulong8 data, size_t offset, ulong *p);
   12999 void __ovld vstore8(float8 data, size_t offset, float *p);
   13000 void __ovld vstore16(char16 data, size_t offset, char *p);
   13001 void __ovld vstore16(uchar16 data, size_t offset, uchar *p);
   13002 void __ovld vstore16(short16 data, size_t offset, short *p);
   13003 void __ovld vstore16(ushort16 data, size_t offset, ushort *p);
   13004 void __ovld vstore16(int16 data, size_t offset, int *p);
   13005 void __ovld vstore16(uint16 data, size_t offset, uint *p);
   13006 void __ovld vstore16(long16 data, size_t offset, long *p);
   13007 void __ovld vstore16(ulong16 data, size_t offset, ulong *p);
   13008 void __ovld vstore16(float16 data, size_t offset, float *p);
   13009 #ifdef cl_khr_fp64
   13010 void __ovld vstore2(double2 data, size_t offset, double *p);
   13011 void __ovld vstore3(double3 data, size_t offset, double *p);
   13012 void __ovld vstore4(double4 data, size_t offset, double *p);
   13013 void __ovld vstore8(double8 data, size_t offset, double *p);
   13014 void __ovld vstore16(double16 data, size_t offset, double *p);
   13015 #endif //cl_khr_fp64
   13016 #ifdef cl_khr_fp16
   13017 void __ovld vstore(half data, size_t offset, half *p);
   13018 void __ovld vstore2(half2 data, size_t offset, half *p);
   13019 void __ovld vstore3(half3 data, size_t offset, half *p);
   13020 void __ovld vstore4(half4 data, size_t offset, half *p);
   13021 void __ovld vstore8(half8 data, size_t offset, half *p);
   13022 void __ovld vstore16(half16 data, size_t offset, half *p);
   13023 #endif //cl_khr_fp16
   13024 #else
   13025 void __ovld vstore2(char2 data, size_t offset, __global char *p);
   13026 void __ovld vstore2(uchar2 data, size_t offset, __global uchar *p);
   13027 void __ovld vstore2(short2 data, size_t offset, __global short *p);
   13028 void __ovld vstore2(ushort2 data, size_t offset, __global ushort *p);
   13029 void __ovld vstore2(int2 data, size_t offset, __global int *p);
   13030 void __ovld vstore2(uint2 data, size_t offset, __global uint *p);
   13031 void __ovld vstore2(long2 data, size_t offset, __global long *p);
   13032 void __ovld vstore2(ulong2 data, size_t offset, __global ulong *p);
   13033 void __ovld vstore2(float2 data, size_t offset, __global float *p);
   13034 void __ovld vstore3(char3 data, size_t offset, __global char *p);
   13035 void __ovld vstore3(uchar3 data, size_t offset, __global uchar *p);
   13036 void __ovld vstore3(short3 data, size_t offset, __global short *p);
   13037 void __ovld vstore3(ushort3 data, size_t offset, __global ushort *p);
   13038 void __ovld vstore3(int3 data, size_t offset, __global int *p);
   13039 void __ovld vstore3(uint3 data, size_t offset, __global uint *p);
   13040 void __ovld vstore3(long3 data, size_t offset, __global long *p);
   13041 void __ovld vstore3(ulong3 data, size_t offset, __global ulong *p);
   13042 void __ovld vstore3(float3 data, size_t offset, __global float *p);
   13043 void __ovld vstore4(char4 data, size_t offset, __global char *p);
   13044 void __ovld vstore4(uchar4 data, size_t offset, __global uchar *p);
   13045 void __ovld vstore4(short4 data, size_t offset, __global short *p);
   13046 void __ovld vstore4(ushort4 data, size_t offset, __global ushort *p);
   13047 void __ovld vstore4(int4 data, size_t offset, __global int *p);
   13048 void __ovld vstore4(uint4 data, size_t offset, __global uint *p);
   13049 void __ovld vstore4(long4 data, size_t offset, __global long *p);
   13050 void __ovld vstore4(ulong4 data, size_t offset, __global ulong *p);
   13051 void __ovld vstore4(float4 data, size_t offset, __global float *p);
   13052 void __ovld vstore8(char8 data, size_t offset, __global char *p);
   13053 void __ovld vstore8(uchar8 data, size_t offset, __global uchar *p);
   13054 void __ovld vstore8(short8 data, size_t offset, __global short *p);
   13055 void __ovld vstore8(ushort8 data, size_t offset, __global ushort *p);
   13056 void __ovld vstore8(int8 data, size_t offset, __global int *p);
   13057 void __ovld vstore8(uint8 data, size_t offset, __global uint *p);
   13058 void __ovld vstore8(long8 data, size_t offset, __global long *p);
   13059 void __ovld vstore8(ulong8 data, size_t offset, __global ulong *p);
   13060 void __ovld vstore8(float8 data, size_t offset, __global float *p);
   13061 void __ovld vstore16(char16 data, size_t offset, __global char *p);
   13062 void __ovld vstore16(uchar16 data, size_t offset, __global uchar *p);
   13063 void __ovld vstore16(short16 data, size_t offset, __global short *p);
   13064 void __ovld vstore16(ushort16 data, size_t offset, __global ushort *p);
   13065 void __ovld vstore16(int16 data, size_t offset, __global int *p);
   13066 void __ovld vstore16(uint16 data, size_t offset, __global uint *p);
   13067 void __ovld vstore16(long16 data, size_t offset, __global long *p);
   13068 void __ovld vstore16(ulong16 data, size_t offset, __global ulong *p);
   13069 void __ovld vstore16(float16 data, size_t offset, __global float *p);
   13070 void __ovld vstore2(char2 data, size_t offset, __local char *p);
   13071 void __ovld vstore2(uchar2 data, size_t offset, __local uchar *p);
   13072 void __ovld vstore2(short2 data, size_t offset, __local short *p);
   13073 void __ovld vstore2(ushort2 data, size_t offset, __local ushort *p);
   13074 void __ovld vstore2(int2 data, size_t offset, __local int *p);
   13075 void __ovld vstore2(uint2 data, size_t offset, __local uint *p);
   13076 void __ovld vstore2(long2 data, size_t offset, __local long *p);
   13077 void __ovld vstore2(ulong2 data, size_t offset, __local ulong *p);
   13078 void __ovld vstore2(float2 data, size_t offset, __local float *p);
   13079 void __ovld vstore3(char3 data, size_t offset, __local char *p);
   13080 void __ovld vstore3(uchar3 data, size_t offset, __local uchar *p);
   13081 void __ovld vstore3(short3 data, size_t offset, __local short *p);
   13082 void __ovld vstore3(ushort3 data, size_t offset, __local ushort *p);
   13083 void __ovld vstore3(int3 data, size_t offset, __local int *p);
   13084 void __ovld vstore3(uint3 data, size_t offset, __local uint *p);
   13085 void __ovld vstore3(long3 data, size_t offset, __local long *p);
   13086 void __ovld vstore3(ulong3 data, size_t offset, __local ulong *p);
   13087 void __ovld vstore3(float3 data, size_t offset, __local float *p);
   13088 void __ovld vstore4(char4 data, size_t offset, __local char *p);
   13089 void __ovld vstore4(uchar4 data, size_t offset, __local uchar *p);
   13090 void __ovld vstore4(short4 data, size_t offset, __local short *p);
   13091 void __ovld vstore4(ushort4 data, size_t offset, __local ushort *p);
   13092 void __ovld vstore4(int4 data, size_t offset, __local int *p);
   13093 void __ovld vstore4(uint4 data, size_t offset, __local uint *p);
   13094 void __ovld vstore4(long4 data, size_t offset, __local long *p);
   13095 void __ovld vstore4(ulong4 data, size_t offset, __local ulong *p);
   13096 void __ovld vstore4(float4 data, size_t offset, __local float *p);
   13097 void __ovld vstore8(char8 data, size_t offset, __local char *p);
   13098 void __ovld vstore8(uchar8 data, size_t offset, __local uchar *p);
   13099 void __ovld vstore8(short8 data, size_t offset, __local short *p);
   13100 void __ovld vstore8(ushort8 data, size_t offset, __local ushort *p);
   13101 void __ovld vstore8(int8 data, size_t offset, __local int *p);
   13102 void __ovld vstore8(uint8 data, size_t offset, __local uint *p);
   13103 void __ovld vstore8(long8 data, size_t offset, __local long *p);
   13104 void __ovld vstore8(ulong8 data, size_t offset, __local ulong *p);
   13105 void __ovld vstore8(float8 data, size_t offset, __local float *p);
   13106 void __ovld vstore16(char16 data, size_t offset, __local char *p);
   13107 void __ovld vstore16(uchar16 data, size_t offset, __local uchar *p);
   13108 void __ovld vstore16(short16 data, size_t offset, __local short *p);
   13109 void __ovld vstore16(ushort16 data, size_t offset, __local ushort *p);
   13110 void __ovld vstore16(int16 data, size_t offset, __local int *p);
   13111 void __ovld vstore16(uint16 data, size_t offset, __local uint *p);
   13112 void __ovld vstore16(long16 data, size_t offset, __local long *p);
   13113 void __ovld vstore16(ulong16 data, size_t offset, __local ulong *p);
   13114 void __ovld vstore16(float16 data, size_t offset, __local float *p);
   13115 void __ovld vstore2(char2 data, size_t offset, __private char *p);
   13116 void __ovld vstore2(uchar2 data, size_t offset, __private uchar *p);
   13117 void __ovld vstore2(short2 data, size_t offset, __private short *p);
   13118 void __ovld vstore2(ushort2 data, size_t offset, __private ushort *p);
   13119 void __ovld vstore2(int2 data, size_t offset, __private int *p);
   13120 void __ovld vstore2(uint2 data, size_t offset, __private uint *p);
   13121 void __ovld vstore2(long2 data, size_t offset, __private long *p);
   13122 void __ovld vstore2(ulong2 data, size_t offset, __private ulong *p);
   13123 void __ovld vstore2(float2 data, size_t offset, __private float *p);
   13124 void __ovld vstore3(char3 data, size_t offset, __private char *p);
   13125 void __ovld vstore3(uchar3 data, size_t offset, __private uchar *p);
   13126 void __ovld vstore3(short3 data, size_t offset, __private short *p);
   13127 void __ovld vstore3(ushort3 data, size_t offset, __private ushort *p);
   13128 void __ovld vstore3(int3 data, size_t offset, __private int *p);
   13129 void __ovld vstore3(uint3 data, size_t offset, __private uint *p);
   13130 void __ovld vstore3(long3 data, size_t offset, __private long *p);
   13131 void __ovld vstore3(ulong3 data, size_t offset, __private ulong *p);
   13132 void __ovld vstore3(float3 data, size_t offset, __private float *p);
   13133 void __ovld vstore4(char4 data, size_t offset, __private char *p);
   13134 void __ovld vstore4(uchar4 data, size_t offset, __private uchar *p);
   13135 void __ovld vstore4(short4 data, size_t offset, __private short *p);
   13136 void __ovld vstore4(ushort4 data, size_t offset, __private ushort *p);
   13137 void __ovld vstore4(int4 data, size_t offset, __private int *p);
   13138 void __ovld vstore4(uint4 data, size_t offset, __private uint *p);
   13139 void __ovld vstore4(long4 data, size_t offset, __private long *p);
   13140 void __ovld vstore4(ulong4 data, size_t offset, __private ulong *p);
   13141 void __ovld vstore4(float4 data, size_t offset, __private float *p);
   13142 void __ovld vstore8(char8 data, size_t offset, __private char *p);
   13143 void __ovld vstore8(uchar8 data, size_t offset, __private uchar *p);
   13144 void __ovld vstore8(short8 data, size_t offset, __private short *p);
   13145 void __ovld vstore8(ushort8 data, size_t offset, __private ushort *p);
   13146 void __ovld vstore8(int8 data, size_t offset, __private int *p);
   13147 void __ovld vstore8(uint8 data, size_t offset, __private uint *p);
   13148 void __ovld vstore8(long8 data, size_t offset, __private long *p);
   13149 void __ovld vstore8(ulong8 data, size_t offset, __private ulong *p);
   13150 void __ovld vstore8(float8 data, size_t offset, __private float *p);
   13151 void __ovld vstore16(char16 data, size_t offset, __private char *p);
   13152 void __ovld vstore16(uchar16 data, size_t offset, __private uchar *p);
   13153 void __ovld vstore16(short16 data, size_t offset, __private short *p);
   13154 void __ovld vstore16(ushort16 data, size_t offset, __private ushort *p);
   13155 void __ovld vstore16(int16 data, size_t offset, __private int *p);
   13156 void __ovld vstore16(uint16 data, size_t offset, __private uint *p);
   13157 void __ovld vstore16(long16 data, size_t offset, __private long *p);
   13158 void __ovld vstore16(ulong16 data, size_t offset, __private ulong *p);
   13159 void __ovld vstore16(float16 data, size_t offset, __private float *p);
   13160 #ifdef cl_khr_fp64
   13161 void __ovld vstore2(double2 data, size_t offset, __global double *p);
   13162 void __ovld vstore3(double3 data, size_t offset, __global double *p);
   13163 void __ovld vstore4(double4 data, size_t offset, __global double *p);
   13164 void __ovld vstore8(double8 data, size_t offset, __global double *p);
   13165 void __ovld vstore16(double16 data, size_t offset, __global double *p);
   13166 void __ovld vstore2(double2 data, size_t offset, __local double *p);
   13167 void __ovld vstore3(double3 data, size_t offset, __local double *p);
   13168 void __ovld vstore4(double4 data, size_t offset, __local double *p);
   13169 void __ovld vstore8(double8 data, size_t offset, __local double *p);
   13170 void __ovld vstore16(double16 data, size_t offset, __local double *p);
   13171 void __ovld vstore2(double2 data, size_t offset, __private double *p);
   13172 void __ovld vstore3(double3 data, size_t offset, __private double *p);
   13173 void __ovld vstore4(double4 data, size_t offset, __private double *p);
   13174 void __ovld vstore8(double8 data, size_t offset, __private double *p);
   13175 void __ovld vstore16(double16 data, size_t offset, __private double *p);
   13176 #endif //cl_khr_fp64
   13177 #ifdef cl_khr_fp16
   13178 void __ovld vstore(half data, size_t offset, __global half *p);
   13179 void __ovld vstore2(half2 data, size_t offset, __global half *p);
   13180 void __ovld vstore3(half3 data, size_t offset, __global half *p);
   13181 void __ovld vstore4(half4 data, size_t offset, __global half *p);
   13182 void __ovld vstore8(half8 data, size_t offset, __global half *p);
   13183 void __ovld vstore16(half16 data, size_t offset, __global half *p);
   13184 void __ovld vstore(half data, size_t offset, __local half *p);
   13185 void __ovld vstore2(half2 data, size_t offset, __local half *p);
   13186 void __ovld vstore3(half3 data, size_t offset, __local half *p);
   13187 void __ovld vstore4(half4 data, size_t offset, __local half *p);
   13188 void __ovld vstore8(half8 data, size_t offset, __local half *p);
   13189 void __ovld vstore16(half16 data, size_t offset, __local half *p);
   13190 void __ovld vstore(half data, size_t offset, __private half *p);
   13191 void __ovld vstore2(half2 data, size_t offset, __private half *p);
   13192 void __ovld vstore3(half3 data, size_t offset, __private half *p);
   13193 void __ovld vstore4(half4 data, size_t offset, __private half *p);
   13194 void __ovld vstore8(half8 data, size_t offset, __private half *p);
   13195 void __ovld vstore16(half16 data, size_t offset, __private half *p);
   13196 #endif //cl_khr_fp16
   13197 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   13198 
   13199 /**
   13200  * Read sizeof (half) bytes of data from address
   13201  * (p + offset). The data read is interpreted as a
   13202  * half value. The half value is converted to a
   13203  * float value and the float value is returned.
   13204  * The read address computed as (p + offset)
   13205  * must be 16-bit aligned.
   13206  */
   13207 float __ovld vload_half(size_t offset, const __constant half *p);
   13208 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   13209 float __ovld vload_half(size_t offset, const half *p);
   13210 #else
   13211 float __ovld vload_half(size_t offset, const __global half *p);
   13212 float __ovld vload_half(size_t offset, const __local half *p);
   13213 float __ovld vload_half(size_t offset, const __private half *p);
   13214 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   13215 
   13216 /**
   13217  * Read sizeof (halfn) bytes of data from address
   13218  * (p + (offset * n)). The data read is interpreted
   13219  * as a halfn value. The halfn value read is
   13220  * converted to a floatn value and the floatn
   13221  * value is returned. The read address computed
   13222  * as (p + (offset * n)) must be 16-bit aligned.
   13223  */
   13224 float2 __ovld vload_half2(size_t offset, const __constant half *p);
   13225 float3 __ovld vload_half3(size_t offset, const __constant half *p);
   13226 float4 __ovld vload_half4(size_t offset, const __constant half *p);
   13227 float8 __ovld vload_half8(size_t offset, const __constant half *p);
   13228 float16 __ovld vload_half16(size_t offset, const __constant half *p);
   13229 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   13230 float2 __ovld vload_half2(size_t offset, const half *p);
   13231 float3 __ovld vload_half3(size_t offset, const half *p);
   13232 float4 __ovld vload_half4(size_t offset, const half *p);
   13233 float8 __ovld vload_half8(size_t offset, const half *p);
   13234 float16 __ovld vload_half16(size_t offset, const half *p);
   13235 #else
   13236 float2 __ovld vload_half2(size_t offset, const __global half *p);
   13237 float3 __ovld vload_half3(size_t offset, const __global half *p);
   13238 float4 __ovld vload_half4(size_t offset, const __global half *p);
   13239 float8 __ovld vload_half8(size_t offset, const __global half *p);
   13240 float16 __ovld vload_half16(size_t offset, const __global half *p);
   13241 float2 __ovld vload_half2(size_t offset, const __local half *p);
   13242 float3 __ovld vload_half3(size_t offset, const __local half *p);
   13243 float4 __ovld vload_half4(size_t offset, const __local half *p);
   13244 float8 __ovld vload_half8(size_t offset, const __local half *p);
   13245 float16 __ovld vload_half16(size_t offset, const __local half *p);
   13246 float2 __ovld vload_half2(size_t offset, const __private half *p);
   13247 float3 __ovld vload_half3(size_t offset, const __private half *p);
   13248 float4 __ovld vload_half4(size_t offset, const __private half *p);
   13249 float8 __ovld vload_half8(size_t offset, const __private half *p);
   13250 float16 __ovld vload_half16(size_t offset, const __private half *p);
   13251 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   13252 
   13253 /**
   13254  * The float value given by data is first
   13255  * converted to a half value using the appropriate
   13256  * rounding mode. The half value is then written
   13257  * to address computed as (p + offset). The
   13258  * address computed as (p + offset) must be 16-
   13259  * bit aligned.
   13260  * vstore_half use the current rounding mode.
   13261  * The default current rounding mode is round to
   13262  * nearest even.
   13263  */
   13264 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   13265 void __ovld vstore_half(float data, size_t offset, half *p);
   13266 void __ovld vstore_half_rte(float data, size_t offset, half *p);
   13267 void __ovld vstore_half_rtz(float data, size_t offset, half *p);
   13268 void __ovld vstore_half_rtp(float data, size_t offset, half *p);
   13269 void __ovld vstore_half_rtn(float data, size_t offset, half *p);
   13270 #ifdef cl_khr_fp64
   13271 void __ovld vstore_half(double data, size_t offset, half *p);
   13272 void __ovld vstore_half_rte(double data, size_t offset, half *p);
   13273 void __ovld vstore_half_rtz(double data, size_t offset, half *p);
   13274 void __ovld vstore_half_rtp(double data, size_t offset, half *p);
   13275 void __ovld vstore_half_rtn(double data, size_t offset, half *p);
   13276 #endif //cl_khr_fp64
   13277 #else
   13278 void __ovld vstore_half(float data, size_t offset, __global half *p);
   13279 void __ovld vstore_half_rte(float data, size_t offset, __global half *p);
   13280 void __ovld vstore_half_rtz(float data, size_t offset, __global half *p);
   13281 void __ovld vstore_half_rtp(float data, size_t offset, __global half *p);
   13282 void __ovld vstore_half_rtn(float data, size_t offset, __global half *p);
   13283 void __ovld vstore_half(float data, size_t offset, __local half *p);
   13284 void __ovld vstore_half_rte(float data, size_t offset, __local half *p);
   13285 void __ovld vstore_half_rtz(float data, size_t offset, __local half *p);
   13286 void __ovld vstore_half_rtp(float data, size_t offset, __local half *p);
   13287 void __ovld vstore_half_rtn(float data, size_t offset, __local half *p);
   13288 void __ovld vstore_half(float data, size_t offset, __private half *p);
   13289 void __ovld vstore_half_rte(float data, size_t offset, __private half *p);
   13290 void __ovld vstore_half_rtz(float data, size_t offset, __private half *p);
   13291 void __ovld vstore_half_rtp(float data, size_t offset, __private half *p);
   13292 void __ovld vstore_half_rtn(float data, size_t offset, __private half *p);
   13293 #ifdef cl_khr_fp64
   13294 void __ovld vstore_half(double data, size_t offset, __global half *p);
   13295 void __ovld vstore_half_rte(double data, size_t offset, __global half *p);
   13296 void __ovld vstore_half_rtz(double data, size_t offset, __global half *p);
   13297 void __ovld vstore_half_rtp(double data, size_t offset, __global half *p);
   13298 void __ovld vstore_half_rtn(double data, size_t offset, __global half *p);
   13299 void __ovld vstore_half(double data, size_t offset, __local half *p);
   13300 void __ovld vstore_half_rte(double data, size_t offset, __local half *p);
   13301 void __ovld vstore_half_rtz(double data, size_t offset, __local half *p);
   13302 void __ovld vstore_half_rtp(double data, size_t offset, __local half *p);
   13303 void __ovld vstore_half_rtn(double data, size_t offset, __local half *p);
   13304 void __ovld vstore_half(double data, size_t offset, __private half *p);
   13305 void __ovld vstore_half_rte(double data, size_t offset, __private half *p);
   13306 void __ovld vstore_half_rtz(double data, size_t offset, __private half *p);
   13307 void __ovld vstore_half_rtp(double data, size_t offset, __private half *p);
   13308 void __ovld vstore_half_rtn(double data, size_t offset, __private half *p);
   13309 #endif //cl_khr_fp64
   13310 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   13311 
   13312 /**
   13313  * The floatn value given by data is converted to
   13314  * a halfn value using the appropriate rounding
   13315  * mode. The halfn value is then written to
   13316  * address computed as (p + (offset * n)). The
   13317  * address computed as (p + (offset * n)) must be
   13318  * 16-bit aligned.
   13319  * vstore_halfn uses the current rounding mode.
   13320  * The default current rounding mode is round to
   13321  * nearest even.
   13322  */
   13323 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   13324 void __ovld vstore_half2(float2 data, size_t offset, half *p);
   13325 void __ovld vstore_half3(float3 data, size_t offset, half *p);
   13326 void __ovld vstore_half4(float4 data, size_t offset, half *p);
   13327 void __ovld vstore_half8(float8 data, size_t offset, half *p);
   13328 void __ovld vstore_half16(float16 data, size_t offset, half *p);
   13329 void __ovld vstore_half2_rte(float2 data, size_t offset, half *p);
   13330 void __ovld vstore_half3_rte(float3 data, size_t offset, half *p);
   13331 void __ovld vstore_half4_rte(float4 data, size_t offset, half *p);
   13332 void __ovld vstore_half8_rte(float8 data, size_t offset, half *p);
   13333 void __ovld vstore_half16_rte(float16 data, size_t offset, half *p);
   13334 void __ovld vstore_half2_rtz(float2 data, size_t offset, half *p);
   13335 void __ovld vstore_half3_rtz(float3 data, size_t offset, half *p);
   13336 void __ovld vstore_half4_rtz(float4 data, size_t offset, half *p);
   13337 void __ovld vstore_half8_rtz(float8 data, size_t offset, half *p);
   13338 void __ovld vstore_half16_rtz(float16 data, size_t offset, half *p);
   13339 void __ovld vstore_half2_rtp(float2 data, size_t offset, half *p);
   13340 void __ovld vstore_half3_rtp(float3 data, size_t offset, half *p);
   13341 void __ovld vstore_half4_rtp(float4 data, size_t offset, half *p);
   13342 void __ovld vstore_half8_rtp(float8 data, size_t offset, half *p);
   13343 void __ovld vstore_half16_rtp(float16 data, size_t offset, half *p);
   13344 void __ovld vstore_half2_rtn(float2 data, size_t offset, half *p);
   13345 void __ovld vstore_half3_rtn(float3 data, size_t offset, half *p);
   13346 void __ovld vstore_half4_rtn(float4 data, size_t offset, half *p);
   13347 void __ovld vstore_half8_rtn(float8 data, size_t offset, half *p);
   13348 void __ovld vstore_half16_rtn(float16 data, size_t offset, half *p);
   13349 #ifdef cl_khr_fp64
   13350 void __ovld vstore_half2(double2 data, size_t offset, half *p);
   13351 void __ovld vstore_half3(double3 data, size_t offset, half *p);
   13352 void __ovld vstore_half4(double4 data, size_t offset, half *p);
   13353 void __ovld vstore_half8(double8 data, size_t offset, half *p);
   13354 void __ovld vstore_half16(double16 data, size_t offset, half *p);
   13355 void __ovld vstore_half2_rte(double2 data, size_t offset, half *p);
   13356 void __ovld vstore_half3_rte(double3 data, size_t offset, half *p);
   13357 void __ovld vstore_half4_rte(double4 data, size_t offset, half *p);
   13358 void __ovld vstore_half8_rte(double8 data, size_t offset, half *p);
   13359 void __ovld vstore_half16_rte(double16 data, size_t offset, half *p);
   13360 void __ovld vstore_half2_rtz(double2 data, size_t offset, half *p);
   13361 void __ovld vstore_half3_rtz(double3 data, size_t offset, half *p);
   13362 void __ovld vstore_half4_rtz(double4 data, size_t offset, half *p);
   13363 void __ovld vstore_half8_rtz(double8 data, size_t offset, half *p);
   13364 void __ovld vstore_half16_rtz(double16 data, size_t offset, half *p);
   13365 void __ovld vstore_half2_rtp(double2 data, size_t offset, half *p);
   13366 void __ovld vstore_half3_rtp(double3 data, size_t offset, half *p);
   13367 void __ovld vstore_half4_rtp(double4 data, size_t offset, half *p);
   13368 void __ovld vstore_half8_rtp(double8 data, size_t offset, half *p);
   13369 void __ovld vstore_half16_rtp(double16 data, size_t offset, half *p);
   13370 void __ovld vstore_half2_rtn(double2 data, size_t offset, half *p);
   13371 void __ovld vstore_half3_rtn(double3 data, size_t offset, half *p);
   13372 void __ovld vstore_half4_rtn(double4 data, size_t offset, half *p);
   13373 void __ovld vstore_half8_rtn(double8 data, size_t offset, half *p);
   13374 void __ovld vstore_half16_rtn(double16 data, size_t offset, half *p);
   13375 #endif //cl_khr_fp64
   13376 #else
   13377 void __ovld vstore_half2(float2 data, size_t offset, __global half *p);
   13378 void __ovld vstore_half3(float3 data, size_t offset, __global half *p);
   13379 void __ovld vstore_half4(float4 data, size_t offset, __global half *p);
   13380 void __ovld vstore_half8(float8 data, size_t offset, __global half *p);
   13381 void __ovld vstore_half16(float16 data, size_t offset, __global half *p);
   13382 void __ovld vstore_half2_rte(float2 data, size_t offset, __global half *p);
   13383 void __ovld vstore_half3_rte(float3 data, size_t offset, __global half *p);
   13384 void __ovld vstore_half4_rte(float4 data, size_t offset, __global half *p);
   13385 void __ovld vstore_half8_rte(float8 data, size_t offset, __global half *p);
   13386 void __ovld vstore_half16_rte(float16 data, size_t offset, __global half *p);
   13387 void __ovld vstore_half2_rtz(float2 data, size_t offset, __global half *p);
   13388 void __ovld vstore_half3_rtz(float3 data, size_t offset, __global half *p);
   13389 void __ovld vstore_half4_rtz(float4 data, size_t offset, __global half *p);
   13390 void __ovld vstore_half8_rtz(float8 data, size_t offset, __global half *p);
   13391 void __ovld vstore_half16_rtz(float16 data, size_t offset, __global half *p);
   13392 void __ovld vstore_half2_rtp(float2 data, size_t offset, __global half *p);
   13393 void __ovld vstore_half3_rtp(float3 data, size_t offset, __global half *p);
   13394 void __ovld vstore_half4_rtp(float4 data, size_t offset, __global half *p);
   13395 void __ovld vstore_half8_rtp(float8 data, size_t offset, __global half *p);
   13396 void __ovld vstore_half16_rtp(float16 data, size_t offset, __global half *p);
   13397 void __ovld vstore_half2_rtn(float2 data, size_t offset, __global half *p);
   13398 void __ovld vstore_half3_rtn(float3 data, size_t offset, __global half *p);
   13399 void __ovld vstore_half4_rtn(float4 data, size_t offset, __global half *p);
   13400 void __ovld vstore_half8_rtn(float8 data, size_t offset, __global half *p);
   13401 void __ovld vstore_half16_rtn(float16 data, size_t offset, __global half *p);
   13402 void __ovld vstore_half2(float2 data, size_t offset, __local half *p);
   13403 void __ovld vstore_half3(float3 data, size_t offset, __local half *p);
   13404 void __ovld vstore_half4(float4 data, size_t offset, __local half *p);
   13405 void __ovld vstore_half8(float8 data, size_t offset, __local half *p);
   13406 void __ovld vstore_half16(float16 data, size_t offset, __local half *p);
   13407 void __ovld vstore_half2_rte(float2 data, size_t offset, __local half *p);
   13408 void __ovld vstore_half3_rte(float3 data, size_t offset, __local half *p);
   13409 void __ovld vstore_half4_rte(float4 data, size_t offset, __local half *p);
   13410 void __ovld vstore_half8_rte(float8 data, size_t offset, __local half *p);
   13411 void __ovld vstore_half16_rte(float16 data, size_t offset, __local half *p);
   13412 void __ovld vstore_half2_rtz(float2 data, size_t offset, __local half *p);
   13413 void __ovld vstore_half3_rtz(float3 data, size_t offset, __local half *p);
   13414 void __ovld vstore_half4_rtz(float4 data, size_t offset, __local half *p);
   13415 void __ovld vstore_half8_rtz(float8 data, size_t offset, __local half *p);
   13416 void __ovld vstore_half16_rtz(float16 data, size_t offset, __local half *p);
   13417 void __ovld vstore_half2_rtp(float2 data, size_t offset, __local half *p);
   13418 void __ovld vstore_half3_rtp(float3 data, size_t offset, __local half *p);
   13419 void __ovld vstore_half4_rtp(float4 data, size_t offset, __local half *p);
   13420 void __ovld vstore_half8_rtp(float8 data, size_t offset, __local half *p);
   13421 void __ovld vstore_half16_rtp(float16 data, size_t offset, __local half *p);
   13422 void __ovld vstore_half2_rtn(float2 data, size_t offset, __local half *p);
   13423 void __ovld vstore_half3_rtn(float3 data, size_t offset, __local half *p);
   13424 void __ovld vstore_half4_rtn(float4 data, size_t offset, __local half *p);
   13425 void __ovld vstore_half8_rtn(float8 data, size_t offset, __local half *p);
   13426 void __ovld vstore_half16_rtn(float16 data, size_t offset, __local half *p);
   13427 void __ovld vstore_half2(float2 data, size_t offset, __private half *p);
   13428 void __ovld vstore_half3(float3 data, size_t offset, __private half *p);
   13429 void __ovld vstore_half4(float4 data, size_t offset, __private half *p);
   13430 void __ovld vstore_half8(float8 data, size_t offset, __private half *p);
   13431 void __ovld vstore_half16(float16 data, size_t offset, __private half *p);
   13432 void __ovld vstore_half2_rte(float2 data, size_t offset, __private half *p);
   13433 void __ovld vstore_half3_rte(float3 data, size_t offset, __private half *p);
   13434 void __ovld vstore_half4_rte(float4 data, size_t offset, __private half *p);
   13435 void __ovld vstore_half8_rte(float8 data, size_t offset, __private half *p);
   13436 void __ovld vstore_half16_rte(float16 data, size_t offset, __private half *p);
   13437 void __ovld vstore_half2_rtz(float2 data, size_t offset, __private half *p);
   13438 void __ovld vstore_half3_rtz(float3 data, size_t offset, __private half *p);
   13439 void __ovld vstore_half4_rtz(float4 data, size_t offset, __private half *p);
   13440 void __ovld vstore_half8_rtz(float8 data, size_t offset, __private half *p);
   13441 void __ovld vstore_half16_rtz(float16 data, size_t offset, __private half *p);
   13442 void __ovld vstore_half2_rtp(float2 data, size_t offset, __private half *p);
   13443 void __ovld vstore_half3_rtp(float3 data, size_t offset, __private half *p);
   13444 void __ovld vstore_half4_rtp(float4 data, size_t offset, __private half *p);
   13445 void __ovld vstore_half8_rtp(float8 data, size_t offset, __private half *p);
   13446 void __ovld vstore_half16_rtp(float16 data, size_t offset, __private half *p);
   13447 void __ovld vstore_half2_rtn(float2 data, size_t offset, __private half *p);
   13448 void __ovld vstore_half3_rtn(float3 data, size_t offset, __private half *p);
   13449 void __ovld vstore_half4_rtn(float4 data, size_t offset, __private half *p);
   13450 void __ovld vstore_half8_rtn(float8 data, size_t offset, __private half *p);
   13451 void __ovld vstore_half16_rtn(float16 data, size_t offset, __private half *p);
   13452 #ifdef cl_khr_fp64
   13453 void __ovld vstore_half2(double2 data, size_t offset, __global half *p);
   13454 void __ovld vstore_half3(double3 data, size_t offset, __global half *p);
   13455 void __ovld vstore_half4(double4 data, size_t offset, __global half *p);
   13456 void __ovld vstore_half8(double8 data, size_t offset, __global half *p);
   13457 void __ovld vstore_half16(double16 data, size_t offset, __global half *p);
   13458 void __ovld vstore_half2_rte(double2 data, size_t offset, __global half *p);
   13459 void __ovld vstore_half3_rte(double3 data, size_t offset, __global half *p);
   13460 void __ovld vstore_half4_rte(double4 data, size_t offset, __global half *p);
   13461 void __ovld vstore_half8_rte(double8 data, size_t offset, __global half *p);
   13462 void __ovld vstore_half16_rte(double16 data, size_t offset, __global half *p);
   13463 void __ovld vstore_half2_rtz(double2 data, size_t offset, __global half *p);
   13464 void __ovld vstore_half3_rtz(double3 data, size_t offset, __global half *p);
   13465 void __ovld vstore_half4_rtz(double4 data, size_t offset, __global half *p);
   13466 void __ovld vstore_half8_rtz(double8 data, size_t offset, __global half *p);
   13467 void __ovld vstore_half16_rtz(double16 data, size_t offset, __global half *p);
   13468 void __ovld vstore_half2_rtp(double2 data, size_t offset, __global half *p);
   13469 void __ovld vstore_half3_rtp(double3 data, size_t offset, __global half *p);
   13470 void __ovld vstore_half4_rtp(double4 data, size_t offset, __global half *p);
   13471 void __ovld vstore_half8_rtp(double8 data, size_t offset, __global half *p);
   13472 void __ovld vstore_half16_rtp(double16 data, size_t offset, __global half *p);
   13473 void __ovld vstore_half2_rtn(double2 data, size_t offset, __global half *p);
   13474 void __ovld vstore_half3_rtn(double3 data, size_t offset, __global half *p);
   13475 void __ovld vstore_half4_rtn(double4 data, size_t offset, __global half *p);
   13476 void __ovld vstore_half8_rtn(double8 data, size_t offset, __global half *p);
   13477 void __ovld vstore_half16_rtn(double16 data, size_t offset, __global half *p);
   13478 void __ovld vstore_half2(double2 data, size_t offset, __local half *p);
   13479 void __ovld vstore_half3(double3 data, size_t offset, __local half *p);
   13480 void __ovld vstore_half4(double4 data, size_t offset, __local half *p);
   13481 void __ovld vstore_half8(double8 data, size_t offset, __local half *p);
   13482 void __ovld vstore_half16(double16 data, size_t offset, __local half *p);
   13483 void __ovld vstore_half2_rte(double2 data, size_t offset, __local half *p);
   13484 void __ovld vstore_half3_rte(double3 data, size_t offset, __local half *p);
   13485 void __ovld vstore_half4_rte(double4 data, size_t offset, __local half *p);
   13486 void __ovld vstore_half8_rte(double8 data, size_t offset, __local half *p);
   13487 void __ovld vstore_half16_rte(double16 data, size_t offset, __local half *p);
   13488 void __ovld vstore_half2_rtz(double2 data, size_t offset, __local half *p);
   13489 void __ovld vstore_half3_rtz(double3 data, size_t offset, __local half *p);
   13490 void __ovld vstore_half4_rtz(double4 data, size_t offset, __local half *p);
   13491 void __ovld vstore_half8_rtz(double8 data, size_t offset, __local half *p);
   13492 void __ovld vstore_half16_rtz(double16 data, size_t offset, __local half *p);
   13493 void __ovld vstore_half2_rtp(double2 data, size_t offset, __local half *p);
   13494 void __ovld vstore_half3_rtp(double3 data, size_t offset, __local half *p);
   13495 void __ovld vstore_half4_rtp(double4 data, size_t offset, __local half *p);
   13496 void __ovld vstore_half8_rtp(double8 data, size_t offset, __local half *p);
   13497 void __ovld vstore_half16_rtp(double16 data, size_t offset, __local half *p);
   13498 void __ovld vstore_half2_rtn(double2 data, size_t offset, __local half *p);
   13499 void __ovld vstore_half3_rtn(double3 data, size_t offset, __local half *p);
   13500 void __ovld vstore_half4_rtn(double4 data, size_t offset, __local half *p);
   13501 void __ovld vstore_half8_rtn(double8 data, size_t offset, __local half *p);
   13502 void __ovld vstore_half16_rtn(double16 data, size_t offset, __local half *p);
   13503 void __ovld vstore_half2(double2 data, size_t offset, __private half *p);
   13504 void __ovld vstore_half3(double3 data, size_t offset, __private half *p);
   13505 void __ovld vstore_half4(double4 data, size_t offset, __private half *p);
   13506 void __ovld vstore_half8(double8 data, size_t offset, __private half *p);
   13507 void __ovld vstore_half16(double16 data, size_t offset, __private half *p);
   13508 void __ovld vstore_half2_rte(double2 data, size_t offset, __private half *p);
   13509 void __ovld vstore_half3_rte(double3 data, size_t offset, __private half *p);
   13510 void __ovld vstore_half4_rte(double4 data, size_t offset, __private half *p);
   13511 void __ovld vstore_half8_rte(double8 data, size_t offset, __private half *p);
   13512 void __ovld vstore_half16_rte(double16 data, size_t offset, __private half *p);
   13513 void __ovld vstore_half2_rtz(double2 data, size_t offset, __private half *p);
   13514 void __ovld vstore_half3_rtz(double3 data, size_t offset, __private half *p);
   13515 void __ovld vstore_half4_rtz(double4 data, size_t offset, __private half *p);
   13516 void __ovld vstore_half8_rtz(double8 data, size_t offset, __private half *p);
   13517 void __ovld vstore_half16_rtz(double16 data, size_t offset, __private half *p);
   13518 void __ovld vstore_half2_rtp(double2 data, size_t offset, __private half *p);
   13519 void __ovld vstore_half3_rtp(double3 data, size_t offset, __private half *p);
   13520 void __ovld vstore_half4_rtp(double4 data, size_t offset, __private half *p);
   13521 void __ovld vstore_half8_rtp(double8 data, size_t offset, __private half *p);
   13522 void __ovld vstore_half16_rtp(double16 data, size_t offset, __private half *p);
   13523 void __ovld vstore_half2_rtn(double2 data, size_t offset, __private half *p);
   13524 void __ovld vstore_half3_rtn(double3 data, size_t offset, __private half *p);
   13525 void __ovld vstore_half4_rtn(double4 data, size_t offset, __private half *p);
   13526 void __ovld vstore_half8_rtn(double8 data, size_t offset, __private half *p);
   13527 void __ovld vstore_half16_rtn(double16 data, size_t offset, __private half *p);
   13528 #endif //cl_khr_fp64
   13529 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   13530 
   13531 /**
   13532  * For n = 1, 2, 4, 8 and 16 read sizeof (halfn)
   13533  * bytes of data from address (p + (offset * n)).
   13534  * The data read is interpreted as a halfn value.
   13535  * The halfn value read is converted to a floatn
   13536  * value and the floatn value is returned.
   13537  * The address computed as (p + (offset * n))
   13538  * must be aligned to sizeof (halfn) bytes.
   13539  * For n = 3, vloada_half3 reads a half3 from
   13540  * address (p + (offset * 4)) and returns a float3.
   13541  * The address computed as (p + (offset * 4))
   13542  * must be aligned to sizeof (half) * 4 bytes.
   13543  */
   13544 float __ovld vloada_half(size_t offset, const __constant half *p);
   13545 float2 __ovld vloada_half2(size_t offset, const __constant half *p);
   13546 float3 __ovld vloada_half3(size_t offset, const __constant half *p);
   13547 float4 __ovld vloada_half4(size_t offset, const __constant half *p);
   13548 float8 __ovld vloada_half8(size_t offset, const __constant half *p);
   13549 float16 __ovld vloada_half16(size_t offset, const __constant half *p);
   13550 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   13551 float __ovld vloada_half(size_t offset, const half *p);
   13552 float2 __ovld vloada_half2(size_t offset, const half *p);
   13553 float3 __ovld vloada_half3(size_t offset, const half *p);
   13554 float4 __ovld vloada_half4(size_t offset, const half *p);
   13555 float8 __ovld vloada_half8(size_t offset, const half *p);
   13556 float16 __ovld vloada_half16(size_t offset, const half *p);
   13557 #else
   13558 float __ovld vloada_half(size_t offset, const __global half *p);
   13559 float2 __ovld vloada_half2(size_t offset, const __global half *p);
   13560 float3 __ovld vloada_half3(size_t offset, const __global half *p);
   13561 float4 __ovld vloada_half4(size_t offset, const __global half *p);
   13562 float8 __ovld vloada_half8(size_t offset, const __global half *p);
   13563 float16 __ovld vloada_half16(size_t offset, const __global half *p);
   13564 float __ovld vloada_half(size_t offset, const __local half *p);
   13565 float2 __ovld vloada_half2(size_t offset, const __local half *p);
   13566 float3 __ovld vloada_half3(size_t offset, const __local half *p);
   13567 float4 __ovld vloada_half4(size_t offset, const __local half *p);
   13568 float8 __ovld vloada_half8(size_t offset, const __local half *p);
   13569 float16 __ovld vloada_half16(size_t offset, const __local half *p);
   13570 float __ovld vloada_half(size_t offset, const __private half *p);
   13571 float2 __ovld vloada_half2(size_t offset, const __private half *p);
   13572 float3 __ovld vloada_half3(size_t offset, const __private half *p);
   13573 float4 __ovld vloada_half4(size_t offset, const __private half *p);
   13574 float8 __ovld vloada_half8(size_t offset, const __private half *p);
   13575 float16 __ovld vloada_half16(size_t offset, const __private half *p);
   13576 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   13577 
   13578 /**
   13579  * The floatn value given by data is converted to
   13580  * a halfn value using the appropriate rounding
   13581  * mode.
   13582  * For n = 1, 2, 4, 8 and 16, the halfn value is
   13583  * written to the address computed as (p + (offset
   13584  * * n)). The address computed as (p + (offset *
   13585  * n)) must be aligned to sizeof (halfn) bytes.
   13586  * For n = 3, the half3 value is written to the
   13587  * address computed as (p + (offset * 4)). The
   13588  * address computed as (p + (offset * 4)) must be
   13589  * aligned to sizeof (half) * 4 bytes.
   13590  * vstorea_halfn uses the current rounding
   13591  * mode. The default current rounding mode is
   13592  * round to nearest even.
   13593  */
   13594 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   13595 void __ovld vstorea_half(float data, size_t offset, half *p);
   13596 void __ovld vstorea_half2(float2 data, size_t offset, half *p);
   13597 void __ovld vstorea_half3(float3 data, size_t offset, half *p);
   13598 void __ovld vstorea_half4(float4 data, size_t offset, half *p);
   13599 void __ovld vstorea_half8(float8 data, size_t offset, half *p);
   13600 void __ovld vstorea_half16(float16 data, size_t offset, half *p);
   13601 
   13602 void __ovld vstorea_half_rte(float data, size_t offset, half *p);
   13603 void __ovld vstorea_half2_rte(float2 data, size_t offset, half *p);
   13604 void __ovld vstorea_half3_rte(float3 data, size_t offset, half *p);
   13605 void __ovld vstorea_half4_rte(float4 data, size_t offset, half *p);
   13606 void __ovld vstorea_half8_rte(float8 data, size_t offset, half *p);
   13607 void __ovld vstorea_half16_rte(float16 data, size_t offset, half *p);
   13608 
   13609 void __ovld vstorea_half_rtz(float data, size_t offset, half *p);
   13610 void __ovld vstorea_half2_rtz(float2 data, size_t offset, half *p);
   13611 void __ovld vstorea_half3_rtz(float3 data, size_t offset, half *p);
   13612 void __ovld vstorea_half4_rtz(float4 data, size_t offset, half *p);
   13613 void __ovld vstorea_half8_rtz(float8 data, size_t offset, half *p);
   13614 void __ovld vstorea_half16_rtz(float16 data, size_t offset, half *p);
   13615 
   13616 void __ovld vstorea_half_rtp(float data, size_t offset, half *p);
   13617 void __ovld vstorea_half2_rtp(float2 data, size_t offset, half *p);
   13618 void __ovld vstorea_half3_rtp(float3 data, size_t offset, half *p);
   13619 void __ovld vstorea_half4_rtp(float4 data, size_t offset, half *p);
   13620 void __ovld vstorea_half8_rtp(float8 data, size_t offset, half *p);
   13621 void __ovld vstorea_half16_rtp(float16 data, size_t offset, half *p);
   13622 
   13623 void __ovld vstorea_half_rtn(float data, size_t offset, half *p);
   13624 void __ovld vstorea_half2_rtn(float2 data, size_t offset, half *p);
   13625 void __ovld vstorea_half3_rtn(float3 data, size_t offset, half *p);
   13626 void __ovld vstorea_half4_rtn(float4 data, size_t offset, half *p);
   13627 void __ovld vstorea_half8_rtn(float8 data, size_t offset, half *p);
   13628 void __ovld vstorea_half16_rtn(float16 data, size_t offset, half *p);
   13629 
   13630 #ifdef cl_khr_fp64
   13631 void __ovld vstorea_half(double data, size_t offset, half *p);
   13632 void __ovld vstorea_half2(double2 data, size_t offset, half *p);
   13633 void __ovld vstorea_half3(double3 data, size_t offset, half *p);
   13634 void __ovld vstorea_half4(double4 data, size_t offset, half *p);
   13635 void __ovld vstorea_half8(double8 data, size_t offset, half *p);
   13636 void __ovld vstorea_half16(double16 data, size_t offset, half *p);
   13637 
   13638 void __ovld vstorea_half_rte(double data, size_t offset, half *p);
   13639 void __ovld vstorea_half2_rte(double2 data, size_t offset, half *p);
   13640 void __ovld vstorea_half3_rte(double3 data, size_t offset, half *p);
   13641 void __ovld vstorea_half4_rte(double4 data, size_t offset, half *p);
   13642 void __ovld vstorea_half8_rte(double8 data, size_t offset, half *p);
   13643 void __ovld vstorea_half16_rte(double16 data, size_t offset, half *p);
   13644 
   13645 void __ovld vstorea_half_rtz(double data, size_t offset, half *p);
   13646 void __ovld vstorea_half2_rtz(double2 data, size_t offset, half *p);
   13647 void __ovld vstorea_half3_rtz(double3 data, size_t offset, half *p);
   13648 void __ovld vstorea_half4_rtz(double4 data, size_t offset, half *p);
   13649 void __ovld vstorea_half8_rtz(double8 data, size_t offset, half *p);
   13650 void __ovld vstorea_half16_rtz(double16 data, size_t offset, half *p);
   13651 
   13652 void __ovld vstorea_half_rtp(double data, size_t offset, half *p);
   13653 void __ovld vstorea_half2_rtp(double2 data, size_t offset, half *p);
   13654 void __ovld vstorea_half3_rtp(double3 data, size_t offset, half *p);
   13655 void __ovld vstorea_half4_rtp(double4 data, size_t offset, half *p);
   13656 void __ovld vstorea_half8_rtp(double8 data, size_t offset, half *p);
   13657 void __ovld vstorea_half16_rtp(double16 data, size_t offset, half *p);
   13658 
   13659 void __ovld vstorea_half_rtn(double data, size_t offset, half *p);
   13660 void __ovld vstorea_half2_rtn(double2 data, size_t offset, half *p);
   13661 void __ovld vstorea_half3_rtn(double3 data, size_t offset, half *p);
   13662 void __ovld vstorea_half4_rtn(double4 data, size_t offset, half *p);
   13663 void __ovld vstorea_half8_rtn(double8 data, size_t offset, half *p);
   13664 void __ovld vstorea_half16_rtn(double16 data, size_t offset, half *p);
   13665 #endif //cl_khr_fp64
   13666 
   13667 #else
   13668 void __ovld vstorea_half(float data, size_t offset, __global half *p);
   13669 void __ovld vstorea_half2(float2 data, size_t offset, __global half *p);
   13670 void __ovld vstorea_half3(float3 data, size_t offset, __global half *p);
   13671 void __ovld vstorea_half4(float4 data, size_t offset, __global half *p);
   13672 void __ovld vstorea_half8(float8 data, size_t offset, __global half *p);
   13673 void __ovld vstorea_half16(float16 data, size_t offset, __global half *p);
   13674 
   13675 void __ovld vstorea_half_rte(float data, size_t offset, __global half *p);
   13676 void __ovld vstorea_half2_rte(float2 data, size_t offset, __global half *p);
   13677 void __ovld vstorea_half3_rte(float3 data, size_t offset, __global half *p);
   13678 void __ovld vstorea_half4_rte(float4 data, size_t offset, __global half *p);
   13679 void __ovld vstorea_half8_rte(float8 data, size_t offset, __global half *p);
   13680 void __ovld vstorea_half16_rte(float16 data, size_t offset, __global half *p);
   13681 
   13682 void __ovld vstorea_half_rtz(float data, size_t offset, __global half *p);
   13683 void __ovld vstorea_half2_rtz(float2 data, size_t offset, __global half *p);
   13684 void __ovld vstorea_half3_rtz(float3 data, size_t offset, __global half *p);
   13685 void __ovld vstorea_half4_rtz(float4 data, size_t offset, __global half *p);
   13686 void __ovld vstorea_half8_rtz(float8 data, size_t offset, __global half *p);
   13687 void __ovld vstorea_half16_rtz(float16 data, size_t offset, __global half *p);
   13688 
   13689 void __ovld vstorea_half_rtp(float data, size_t offset, __global half *p);
   13690 void __ovld vstorea_half2_rtp(float2 data, size_t offset, __global half *p);
   13691 void __ovld vstorea_half3_rtp(float3 data, size_t offset, __global half *p);
   13692 void __ovld vstorea_half4_rtp(float4 data, size_t offset, __global half *p);
   13693 void __ovld vstorea_half8_rtp(float8 data, size_t offset, __global half *p);
   13694 void __ovld vstorea_half16_rtp(float16 data, size_t offset, __global half *p);
   13695 
   13696 void __ovld vstorea_half_rtn(float data, size_t offset, __global half *p);
   13697 void __ovld vstorea_half2_rtn(float2 data, size_t offset, __global half *p);
   13698 void __ovld vstorea_half3_rtn(float3 data, size_t offset, __global half *p);
   13699 void __ovld vstorea_half4_rtn(float4 data, size_t offset, __global half *p);
   13700 void __ovld vstorea_half8_rtn(float8 data, size_t offset, __global half *p);
   13701 void __ovld vstorea_half16_rtn(float16 data, size_t offset, __global half *p);
   13702 
   13703 void __ovld vstorea_half(float data, size_t offset, __local half *p);
   13704 void __ovld vstorea_half2(float2 data, size_t offset, __local half *p);
   13705 void __ovld vstorea_half3(float3 data, size_t offset, __local half *p);
   13706 void __ovld vstorea_half4(float4 data, size_t offset, __local half *p);
   13707 void __ovld vstorea_half8(float8 data, size_t offset, __local half *p);
   13708 void __ovld vstorea_half16(float16 data, size_t offset, __local half *p);
   13709 
   13710 void __ovld vstorea_half_rte(float data, size_t offset, __local half *p);
   13711 void __ovld vstorea_half2_rte(float2 data, size_t offset, __local half *p);
   13712 void __ovld vstorea_half3_rte(float3 data, size_t offset, __local half *p);
   13713 void __ovld vstorea_half4_rte(float4 data, size_t offset, __local half *p);
   13714 void __ovld vstorea_half8_rte(float8 data, size_t offset, __local half *p);
   13715 void __ovld vstorea_half16_rte(float16 data, size_t offset, __local half *p);
   13716 
   13717 void __ovld vstorea_half_rtz(float data, size_t offset, __local half *p);
   13718 void __ovld vstorea_half2_rtz(float2 data, size_t offset, __local half *p);
   13719 void __ovld vstorea_half3_rtz(float3 data, size_t offset, __local half *p);
   13720 void __ovld vstorea_half4_rtz(float4 data, size_t offset, __local half *p);
   13721 void __ovld vstorea_half8_rtz(float8 data, size_t offset, __local half *p);
   13722 void __ovld vstorea_half16_rtz(float16 data, size_t offset, __local half *p);
   13723 
   13724 void __ovld vstorea_half_rtp(float data, size_t offset, __local half *p);
   13725 void __ovld vstorea_half2_rtp(float2 data, size_t offset, __local half *p);
   13726 void __ovld vstorea_half3_rtp(float3 data, size_t offset, __local half *p);
   13727 void __ovld vstorea_half4_rtp(float4 data, size_t offset, __local half *p);
   13728 void __ovld vstorea_half8_rtp(float8 data, size_t offset, __local half *p);
   13729 void __ovld vstorea_half16_rtp(float16 data, size_t offset, __local half *p);
   13730 
   13731 void __ovld vstorea_half_rtn(float data, size_t offset, __local half *p);
   13732 void __ovld vstorea_half2_rtn(float2 data, size_t offset, __local half *p);
   13733 void __ovld vstorea_half3_rtn(float3 data, size_t offset, __local half *p);
   13734 void __ovld vstorea_half4_rtn(float4 data, size_t offset, __local half *p);
   13735 void __ovld vstorea_half8_rtn(float8 data, size_t offset, __local half *p);
   13736 void __ovld vstorea_half16_rtn(float16 data, size_t offset, __local half *p);
   13737 
   13738 void __ovld vstorea_half(float data, size_t offset, __private half *p);
   13739 void __ovld vstorea_half2(float2 data, size_t offset, __private half *p);
   13740 void __ovld vstorea_half3(float3 data, size_t offset, __private half *p);
   13741 void __ovld vstorea_half4(float4 data, size_t offset, __private half *p);
   13742 void __ovld vstorea_half8(float8 data, size_t offset, __private half *p);
   13743 void __ovld vstorea_half16(float16 data, size_t offset, __private half *p);
   13744 
   13745 void __ovld vstorea_half_rte(float data, size_t offset, __private half *p);
   13746 void __ovld vstorea_half2_rte(float2 data, size_t offset, __private half *p);
   13747 void __ovld vstorea_half3_rte(float3 data, size_t offset, __private half *p);
   13748 void __ovld vstorea_half4_rte(float4 data, size_t offset, __private half *p);
   13749 void __ovld vstorea_half8_rte(float8 data, size_t offset, __private half *p);
   13750 void __ovld vstorea_half16_rte(float16 data, size_t offset, __private half *p);
   13751 
   13752 void __ovld vstorea_half_rtz(float data, size_t offset, __private half *p);
   13753 void __ovld vstorea_half2_rtz(float2 data, size_t offset, __private half *p);
   13754 void __ovld vstorea_half3_rtz(float3 data, size_t offset, __private half *p);
   13755 void __ovld vstorea_half4_rtz(float4 data, size_t offset, __private half *p);
   13756 void __ovld vstorea_half8_rtz(float8 data, size_t offset, __private half *p);
   13757 void __ovld vstorea_half16_rtz(float16 data, size_t offset, __private half *p);
   13758 
   13759 void __ovld vstorea_half_rtp(float data, size_t offset, __private half *p);
   13760 void __ovld vstorea_half2_rtp(float2 data, size_t offset, __private half *p);
   13761 void __ovld vstorea_half3_rtp(float3 data, size_t offset, __private half *p);
   13762 void __ovld vstorea_half4_rtp(float4 data, size_t offset, __private half *p);
   13763 void __ovld vstorea_half8_rtp(float8 data, size_t offset, __private half *p);
   13764 void __ovld vstorea_half16_rtp(float16 data, size_t offset, __private half *p);
   13765 
   13766 void __ovld vstorea_half_rtn(float data, size_t offset, __private half *p);
   13767 void __ovld vstorea_half2_rtn(float2 data, size_t offset, __private half *p);
   13768 void __ovld vstorea_half3_rtn(float3 data, size_t offset, __private half *p);
   13769 void __ovld vstorea_half4_rtn(float4 data, size_t offset, __private half *p);
   13770 void __ovld vstorea_half8_rtn(float8 data, size_t offset, __private half *p);
   13771 void __ovld vstorea_half16_rtn(float16 data, size_t offset, __private half *p);
   13772 
   13773 #ifdef cl_khr_fp64
   13774 void __ovld vstorea_half(double data, size_t offset, __global half *p);
   13775 void __ovld vstorea_half2(double2 data, size_t offset, __global half *p);
   13776 void __ovld vstorea_half3(double3 data, size_t offset, __global half *p);
   13777 void __ovld vstorea_half4(double4 data, size_t offset, __global half *p);
   13778 void __ovld vstorea_half8(double8 data, size_t offset, __global half *p);
   13779 void __ovld vstorea_half16(double16 data, size_t offset, __global half *p);
   13780 
   13781 void __ovld vstorea_half_rte(double data, size_t offset, __global half *p);
   13782 void __ovld vstorea_half2_rte(double2 data, size_t offset, __global half *p);
   13783 void __ovld vstorea_half3_rte(double3 data, size_t offset, __global half *p);
   13784 void __ovld vstorea_half4_rte(double4 data, size_t offset, __global half *p);
   13785 void __ovld vstorea_half8_rte(double8 data, size_t offset, __global half *p);
   13786 void __ovld vstorea_half16_rte(double16 data, size_t offset, __global half *p);
   13787 
   13788 void __ovld vstorea_half_rtz(double data, size_t offset, __global half *p);
   13789 void __ovld vstorea_half2_rtz(double2 data, size_t offset, __global half *p);
   13790 void __ovld vstorea_half3_rtz(double3 data, size_t offset, __global half *p);
   13791 void __ovld vstorea_half4_rtz(double4 data, size_t offset, __global half *p);
   13792 void __ovld vstorea_half8_rtz(double8 data, size_t offset, __global half *p);
   13793 void __ovld vstorea_half16_rtz(double16 data, size_t offset, __global half *p);
   13794 
   13795 void __ovld vstorea_half_rtp(double data, size_t offset, __global half *p);
   13796 void __ovld vstorea_half2_rtp(double2 data, size_t offset, __global half *p);
   13797 void __ovld vstorea_half3_rtp(double3 data, size_t offset, __global half *p);
   13798 void __ovld vstorea_half4_rtp(double4 data, size_t offset, __global half *p);
   13799 void __ovld vstorea_half8_rtp(double8 data, size_t offset, __global half *p);
   13800 void __ovld vstorea_half16_rtp(double16 data, size_t offset, __global half *p);
   13801 
   13802 void __ovld vstorea_half_rtn(double data, size_t offset, __global half *p);
   13803 void __ovld vstorea_half2_rtn(double2 data, size_t offset, __global half *p);
   13804 void __ovld vstorea_half3_rtn(double3 data, size_t offset, __global half *p);
   13805 void __ovld vstorea_half4_rtn(double4 data, size_t offset, __global half *p);
   13806 void __ovld vstorea_half8_rtn(double8 data, size_t offset, __global half *p);
   13807 void __ovld vstorea_half16_rtn(double16 data, size_t offset, __global half *p);
   13808 
   13809 void __ovld vstorea_half(double data, size_t offset, __local half *p);
   13810 void __ovld vstorea_half2(double2 data, size_t offset, __local half *p);
   13811 void __ovld vstorea_half3(double3 data, size_t offset, __local half *p);
   13812 void __ovld vstorea_half4(double4 data, size_t offset, __local half *p);
   13813 void __ovld vstorea_half8(double8 data, size_t offset, __local half *p);
   13814 void __ovld vstorea_half16(double16 data, size_t offset, __local half *p);
   13815 
   13816 void __ovld vstorea_half_rte(double data, size_t offset, __local half *p);
   13817 void __ovld vstorea_half2_rte(double2 data, size_t offset, __local half *p);
   13818 void __ovld vstorea_half3_rte(double3 data, size_t offset, __local half *p);
   13819 void __ovld vstorea_half4_rte(double4 data, size_t offset, __local half *p);
   13820 void __ovld vstorea_half8_rte(double8 data, size_t offset, __local half *p);
   13821 void __ovld vstorea_half16_rte(double16 data, size_t offset, __local half *p);
   13822 
   13823 void __ovld vstorea_half_rtz(double data, size_t offset, __local half *p);
   13824 void __ovld vstorea_half2_rtz(double2 data, size_t offset, __local half *p);
   13825 void __ovld vstorea_half3_rtz(double3 data, size_t offset, __local half *p);
   13826 void __ovld vstorea_half4_rtz(double4 data, size_t offset, __local half *p);
   13827 void __ovld vstorea_half8_rtz(double8 data, size_t offset, __local half *p);
   13828 void __ovld vstorea_half16_rtz(double16 data, size_t offset, __local half *p);
   13829 
   13830 void __ovld vstorea_half_rtp(double data, size_t offset, __local half *p);
   13831 void __ovld vstorea_half2_rtp(double2 data, size_t offset, __local half *p);
   13832 void __ovld vstorea_half3_rtp(double3 data, size_t offset, __local half *p);
   13833 void __ovld vstorea_half4_rtp(double4 data, size_t offset, __local half *p);
   13834 void __ovld vstorea_half8_rtp(double8 data, size_t offset, __local half *p);
   13835 void __ovld vstorea_half16_rtp(double16 data, size_t offset, __local half *p);
   13836 
   13837 void __ovld vstorea_half_rtn(double data, size_t offset, __local half *p);
   13838 void __ovld vstorea_half2_rtn(double2 data, size_t offset, __local half *p);
   13839 void __ovld vstorea_half3_rtn(double3 data, size_t offset, __local half *p);
   13840 void __ovld vstorea_half4_rtn(double4 data, size_t offset, __local half *p);
   13841 void __ovld vstorea_half8_rtn(double8 data, size_t offset, __local half *p);
   13842 void __ovld vstorea_half16_rtn(double16 data, size_t offset, __local half *p);
   13843 
   13844 void __ovld vstorea_half(double data, size_t offset, __private half *p);
   13845 void __ovld vstorea_half2(double2 data, size_t offset, __private half *p);
   13846 void __ovld vstorea_half3(double3 data, size_t offset, __private half *p);
   13847 void __ovld vstorea_half4(double4 data, size_t offset, __private half *p);
   13848 void __ovld vstorea_half8(double8 data, size_t offset, __private half *p);
   13849 void __ovld vstorea_half16(double16 data, size_t offset, __private half *p);
   13850 
   13851 void __ovld vstorea_half_rte(double data, size_t offset, __private half *p);
   13852 void __ovld vstorea_half2_rte(double2 data, size_t offset, __private half *p);
   13853 void __ovld vstorea_half3_rte(double3 data, size_t offset, __private half *p);
   13854 void __ovld vstorea_half4_rte(double4 data, size_t offset, __private half *p);
   13855 void __ovld vstorea_half8_rte(double8 data, size_t offset, __private half *p);
   13856 void __ovld vstorea_half16_rte(double16 data, size_t offset, __private half *p);
   13857 
   13858 void __ovld vstorea_half_rtz(double data, size_t offset, __private half *p);
   13859 void __ovld vstorea_half2_rtz(double2 data, size_t offset, __private half *p);
   13860 void __ovld vstorea_half3_rtz(double3 data, size_t offset, __private half *p);
   13861 void __ovld vstorea_half4_rtz(double4 data, size_t offset, __private half *p);
   13862 void __ovld vstorea_half8_rtz(double8 data, size_t offset, __private half *p);
   13863 void __ovld vstorea_half16_rtz(double16 data, size_t offset, __private half *p);
   13864 
   13865 void __ovld vstorea_half_rtp(double data, size_t offset, __private half *p);
   13866 void __ovld vstorea_half2_rtp(double2 data, size_t offset, __private half *p);
   13867 void __ovld vstorea_half3_rtp(double3 data, size_t offset, __private half *p);
   13868 void __ovld vstorea_half4_rtp(double4 data, size_t offset, __private half *p);
   13869 void __ovld vstorea_half8_rtp(double8 data, size_t offset, __private half *p);
   13870 void __ovld vstorea_half16_rtp(double16 data, size_t offset, __private half *p);
   13871 
   13872 void __ovld vstorea_half_rtn(double data, size_t offset, __private half *p);
   13873 void __ovld vstorea_half2_rtn(double2 data,size_t offset, __private half *p);
   13874 void __ovld vstorea_half3_rtn(double3 data,size_t offset, __private half *p);
   13875 void __ovld vstorea_half4_rtn(double4 data,size_t offset, __private half *p);
   13876 void __ovld vstorea_half8_rtn(double8 data,size_t offset, __private half *p);
   13877 void __ovld vstorea_half16_rtn(double16 data,size_t offset, __private half *p);
   13878 #endif //cl_khr_fp64
   13879 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   13880 
   13881 // OpenCL v1.1 s6.11.8, v1.2 s6.12.8, v2.0 s6.13.8 - Synchronization Functions
   13882 
   13883 // Flag type and values for barrier, mem_fence, read_mem_fence, write_mem_fence
   13884 typedef uint cl_mem_fence_flags;
   13885 
   13886 /**
   13887  * Queue a memory fence to ensure correct
   13888  * ordering of memory operations to local memory
   13889  */
   13890 #define CLK_LOCAL_MEM_FENCE    0x01
   13891 
   13892 /**
   13893  * Queue a memory fence to ensure correct
   13894  * ordering of memory operations to global memory
   13895  */
   13896 #define CLK_GLOBAL_MEM_FENCE   0x02
   13897 
   13898 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   13899 /**
   13900  * Queue a memory fence to ensure correct ordering of memory
   13901  * operations between work-items of a work-group to
   13902  * image memory.
   13903  */
   13904 #define CLK_IMAGE_MEM_FENCE  0x04
   13905 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   13906 
   13907 /**
   13908  * All work-items in a work-group executing the kernel
   13909  * on a processor must execute this function before any
   13910  * are allowed to continue execution beyond the barrier.
   13911  * This function must be encountered by all work-items in
   13912  * a work-group executing the kernel.
   13913  * If barrier is inside a conditional statement, then all
   13914  * work-items must enter the conditional if any work-item
   13915  * enters the conditional statement and executes the
   13916  * barrier.
   13917  * If barrer is inside a loop, all work-items must execute
   13918  * the barrier for each iteration of the loop before any are
   13919  * allowed to continue execution beyond the barrier.
   13920  * The barrier function also queues a memory fence
   13921  * (reads and writes) to ensure correct ordering of
   13922  * memory operations to local or global memory.
   13923  * The flags argument specifies the memory address space
   13924  * and can be set to a combination of the following literal
   13925  * values.
   13926  * CLK_LOCAL_MEM_FENCE - The barrier function
   13927  * will either flush any variables stored in local memory
   13928  * or queue a memory fence to ensure correct ordering of
   13929  * memory operations to local memory.
   13930  * CLK_GLOBAL_MEM_FENCE - The barrier function
   13931  * will queue a memory fence to ensure correct ordering
   13932  * of memory operations to global memory. This can be
   13933  * useful when work-items, for example, write to buffer or
   13934  * image objects and then want to read the updated data.
   13935  */
   13936 
   13937 void __ovld barrier(cl_mem_fence_flags flags);
   13938 
   13939 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   13940 
   13941 typedef enum memory_scope
   13942 {
   13943   memory_scope_work_item,
   13944   memory_scope_work_group,
   13945   memory_scope_device,
   13946   memory_scope_all_svm_devices,
   13947   memory_scope_sub_group
   13948 } memory_scope;
   13949 
   13950 void __ovld work_group_barrier(cl_mem_fence_flags flags, memory_scope scope);
   13951 void __ovld work_group_barrier(cl_mem_fence_flags flags);
   13952 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   13953 
   13954 // OpenCL v1.1 s6.11.9, v1.2 s6.12.9 - Explicit Memory Fence Functions
   13955 
   13956 /**
   13957  * Orders loads and stores of a work-item
   13958  * executing a kernel. This means that loads
   13959  * and stores preceding the mem_fence will
   13960  * be committed to memory before any loads
   13961  * and stores following the mem_fence.
   13962  * The flags argument specifies the memory
   13963  * address space and can be set to a
   13964  * combination of the following literal
   13965  * values:
   13966  * CLK_LOCAL_MEM_FENCE
   13967  * CLK_GLOBAL_MEM_FENCE.
   13968  */
   13969 void __ovld mem_fence(cl_mem_fence_flags flags);
   13970 
   13971 /**
   13972  * Read memory barrier that orders only
   13973  * loads.
   13974  * The flags argument specifies the memory
   13975  * address space and can be set to to a
   13976  * combination of the following literal
   13977  * values:
   13978  * CLK_LOCAL_MEM_FENCE
   13979  * CLK_GLOBAL_MEM_FENCE.
   13980  */
   13981 void __ovld read_mem_fence(cl_mem_fence_flags flags);
   13982 
   13983 /**
   13984  * Write memory barrier that orders only
   13985  * stores.
   13986  * The flags argument specifies the memory
   13987  * address space and can be set to to a
   13988  * combination of the following literal
   13989  * values:
   13990  * CLK_LOCAL_MEM_FENCE
   13991  * CLK_GLOBAL_MEM_FENCE.
   13992  */
   13993 void __ovld write_mem_fence(cl_mem_fence_flags flags);
   13994 
   13995 // OpenCL v2.0 s6.13.9 - Address Space Qualifier Functions
   13996 
   13997 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   13998 cl_mem_fence_flags __ovld get_fence(const void *ptr);
   13999 cl_mem_fence_flags __ovld get_fence(void *ptr);
   14000 
   14001 /**
   14002  * Builtin functions to_global, to_local, and to_private need to be declared as Clang builtin functions
   14003  * and checked in Sema since they should be declared as
   14004  *   addr gentype* to_addr (gentype*);
   14005  * where gentype is builtin type or user defined type.
   14006  */
   14007 
   14008 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   14009 
   14010 // 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
   14011 
   14012 /**
   14013  * event_t async_work_group_copy (
   14014  * __global gentype *dst,
   14015  * const __local gentype *src,
   14016  * size_t num_elements,
   14017  * event_t event)
   14018  * Perform an async copy of num_elements
   14019  * gentype elements from src to dst. The async
   14020  * copy is performed by all work-items in a workgroup
   14021  * and this built-in function must therefore
   14022  * be encountered by all work-items in a workgroup
   14023  * executing the kernel with the same
   14024  * argument values; otherwise the results are
   14025  * undefined.
   14026  * Returns an event object that can be used by
   14027  * wait_group_events to wait for the async copy
   14028  * to finish. The event argument can also be used
   14029  * to associate the async_work_group_copy with
   14030  * a previous async copy allowing an event to be
   14031  * shared by multiple async copies; otherwise event
   14032  * should be zero.
   14033  * If event argument is non-zero, the event object
   14034  * supplied in event argument will be returned.
   14035  * This function does not perform any implicit
   14036  * synchronization of source data such as using a
   14037  * barrier before performing the copy.
   14038  */
   14039 event_t __ovld async_work_group_copy(__local char *dst, const __global char *src, size_t num_elements, event_t event);
   14040 event_t __ovld async_work_group_copy(__local uchar *dst, const __global uchar *src, size_t num_elements, event_t event);
   14041 event_t __ovld async_work_group_copy(__local short *dst, const __global short *src, size_t num_elements, event_t event);
   14042 event_t __ovld async_work_group_copy(__local ushort *dst, const __global ushort *src, size_t num_elements, event_t event);
   14043 event_t __ovld async_work_group_copy(__local int *dst, const __global int *src, size_t num_elements, event_t event);
   14044 event_t __ovld async_work_group_copy(__local uint *dst, const __global uint *src, size_t num_elements, event_t event);
   14045 event_t __ovld async_work_group_copy(__local long *dst, const __global long *src, size_t num_elements, event_t event);
   14046 event_t __ovld async_work_group_copy(__local ulong *dst, const __global ulong *src, size_t num_elements, event_t event);
   14047 event_t __ovld async_work_group_copy(__local float *dst, const __global float *src, size_t num_elements, event_t event);
   14048 event_t __ovld async_work_group_copy(__local char2 *dst, const __global char2 *src, size_t num_elements, event_t event);
   14049 event_t __ovld async_work_group_copy(__local uchar2 *dst, const __global uchar2 *src, size_t num_elements, event_t event);
   14050 event_t __ovld async_work_group_copy(__local short2 *dst, const __global short2 *src, size_t num_elements, event_t event);
   14051 event_t __ovld async_work_group_copy(__local ushort2 *dst, const __global ushort2 *src, size_t num_elements, event_t event);
   14052 event_t __ovld async_work_group_copy(__local int2 *dst, const __global int2 *src, size_t num_elements, event_t event);
   14053 event_t __ovld async_work_group_copy(__local uint2 *dst, const __global uint2 *src, size_t num_elements, event_t event);
   14054 event_t __ovld async_work_group_copy(__local long2 *dst, const __global long2 *src, size_t num_elements, event_t event);
   14055 event_t __ovld async_work_group_copy(__local ulong2 *dst, const __global ulong2 *src, size_t num_elements, event_t event);
   14056 event_t __ovld async_work_group_copy(__local float2 *dst, const __global float2 *src, size_t num_elements, event_t event);
   14057 event_t __ovld async_work_group_copy(__local char3 *dst, const __global char3 *src, size_t num_elements, event_t event);
   14058 event_t __ovld async_work_group_copy(__local uchar3 *dst, const __global uchar3 *src, size_t num_elements, event_t event);
   14059 event_t __ovld async_work_group_copy(__local short3 *dst, const __global short3 *src, size_t num_elements, event_t event);
   14060 event_t __ovld async_work_group_copy(__local ushort3 *dst, const __global ushort3 *src, size_t num_elements, event_t event);
   14061 event_t __ovld async_work_group_copy(__local int3 *dst, const __global int3 *src, size_t num_elements, event_t event);
   14062 event_t __ovld async_work_group_copy(__local uint3 *dst, const __global uint3 *src, size_t num_elements, event_t event);
   14063 event_t __ovld async_work_group_copy(__local long3 *dst, const __global long3 *src, size_t num_elements, event_t event);
   14064 event_t __ovld async_work_group_copy(__local ulong3 *dst, const __global ulong3 *src, size_t num_elements, event_t event);
   14065 event_t __ovld async_work_group_copy(__local float3 *dst, const __global float3 *src, size_t num_elements, event_t event);
   14066 event_t __ovld async_work_group_copy(__local char4 *dst, const __global char4 *src, size_t num_elements, event_t event);
   14067 event_t __ovld async_work_group_copy(__local uchar4 *dst, const __global uchar4 *src, size_t num_elements, event_t event);
   14068 event_t __ovld async_work_group_copy(__local short4 *dst, const __global short4 *src, size_t num_elements, event_t event);
   14069 event_t __ovld async_work_group_copy(__local ushort4 *dst, const __global ushort4 *src, size_t num_elements, event_t event);
   14070 event_t __ovld async_work_group_copy(__local int4 *dst, const __global int4 *src, size_t num_elements, event_t event);
   14071 event_t __ovld async_work_group_copy(__local uint4 *dst, const __global uint4 *src, size_t num_elements, event_t event);
   14072 event_t __ovld async_work_group_copy(__local long4 *dst, const __global long4 *src, size_t num_elements, event_t event);
   14073 event_t __ovld async_work_group_copy(__local ulong4 *dst, const __global ulong4 *src, size_t num_elements, event_t event);
   14074 event_t __ovld async_work_group_copy(__local float4 *dst, const __global float4 *src, size_t num_elements, event_t event);
   14075 event_t __ovld async_work_group_copy(__local char8 *dst, const __global char8 *src, size_t num_elements, event_t event);
   14076 event_t __ovld async_work_group_copy(__local uchar8 *dst, const __global uchar8 *src, size_t num_elements, event_t event);
   14077 event_t __ovld async_work_group_copy(__local short8 *dst, const __global short8 *src, size_t num_elements, event_t event);
   14078 event_t __ovld async_work_group_copy(__local ushort8 *dst, const __global ushort8 *src, size_t num_elements, event_t event);
   14079 event_t __ovld async_work_group_copy(__local int8 *dst, const __global int8 *src, size_t num_elements, event_t event);
   14080 event_t __ovld async_work_group_copy(__local uint8 *dst, const __global uint8 *src, size_t num_elements, event_t event);
   14081 event_t __ovld async_work_group_copy(__local long8 *dst, const __global long8 *src, size_t num_elements, event_t event);
   14082 event_t __ovld async_work_group_copy(__local ulong8 *dst, const __global ulong8 *src, size_t num_elements, event_t event);
   14083 event_t __ovld async_work_group_copy(__local float8 *dst, const __global float8 *src, size_t num_elements, event_t event);
   14084 event_t __ovld async_work_group_copy(__local char16 *dst, const __global char16 *src, size_t num_elements, event_t event);
   14085 event_t __ovld async_work_group_copy(__local uchar16 *dst, const __global uchar16 *src, size_t num_elements, event_t event);
   14086 event_t __ovld async_work_group_copy(__local short16 *dst, const __global short16 *src, size_t num_elements, event_t event);
   14087 event_t __ovld async_work_group_copy(__local ushort16 *dst, const __global ushort16 *src, size_t num_elements, event_t event);
   14088 event_t __ovld async_work_group_copy(__local int16 *dst, const __global int16 *src, size_t num_elements, event_t event);
   14089 event_t __ovld async_work_group_copy(__local uint16 *dst, const __global uint16 *src, size_t num_elements, event_t event);
   14090 event_t __ovld async_work_group_copy(__local long16 *dst, const __global long16 *src, size_t num_elements, event_t event);
   14091 event_t __ovld async_work_group_copy(__local ulong16 *dst, const __global ulong16 *src, size_t num_elements, event_t event);
   14092 event_t __ovld async_work_group_copy(__local float16 *dst, const __global float16 *src, size_t num_elements, event_t event);
   14093 event_t __ovld async_work_group_copy(__global char *dst, const __local char *src, size_t num_elements, event_t event);
   14094 event_t __ovld async_work_group_copy(__global uchar *dst, const __local uchar *src, size_t num_elements, event_t event);
   14095 event_t __ovld async_work_group_copy(__global short *dst, const __local short *src, size_t num_elements, event_t event);
   14096 event_t __ovld async_work_group_copy(__global ushort *dst, const __local ushort *src, size_t num_elements, event_t event);
   14097 event_t __ovld async_work_group_copy(__global int *dst, const __local int *src, size_t num_elements, event_t event);
   14098 event_t __ovld async_work_group_copy(__global uint *dst, const __local uint *src, size_t num_elements, event_t event);
   14099 event_t __ovld async_work_group_copy(__global long *dst, const __local long *src, size_t num_elements, event_t event);
   14100 event_t __ovld async_work_group_copy(__global ulong *dst, const __local ulong *src, size_t num_elements, event_t event);
   14101 event_t __ovld async_work_group_copy(__global float *dst, const __local float *src, size_t num_elements, event_t event);
   14102 event_t __ovld async_work_group_copy(__global char2 *dst, const __local char2 *src, size_t num_elements, event_t event);
   14103 event_t __ovld async_work_group_copy(__global uchar2 *dst, const __local uchar2 *src, size_t num_elements, event_t event);
   14104 event_t __ovld async_work_group_copy(__global short2 *dst, const __local short2 *src, size_t num_elements, event_t event);
   14105 event_t __ovld async_work_group_copy(__global ushort2 *dst, const __local ushort2 *src, size_t num_elements, event_t event);
   14106 event_t __ovld async_work_group_copy(__global int2 *dst, const __local int2 *src, size_t num_elements, event_t event);
   14107 event_t __ovld async_work_group_copy(__global uint2 *dst, const __local uint2 *src, size_t num_elements, event_t event);
   14108 event_t __ovld async_work_group_copy(__global long2 *dst, const __local long2 *src, size_t num_elements, event_t event);
   14109 event_t __ovld async_work_group_copy(__global ulong2 *dst, const __local ulong2 *src, size_t num_elements, event_t event);
   14110 event_t __ovld async_work_group_copy(__global float2 *dst, const __local float2 *src, size_t num_elements, event_t event);
   14111 event_t __ovld async_work_group_copy(__global char3 *dst, const __local char3 *src, size_t num_elements, event_t event);
   14112 event_t __ovld async_work_group_copy(__global uchar3 *dst, const __local uchar3 *src, size_t num_elements, event_t event);
   14113 event_t __ovld async_work_group_copy(__global short3 *dst, const __local short3 *src, size_t num_elements, event_t event);
   14114 event_t __ovld async_work_group_copy(__global ushort3 *dst, const __local ushort3 *src, size_t num_elements, event_t event);
   14115 event_t __ovld async_work_group_copy(__global int3 *dst, const __local int3 *src, size_t num_elements, event_t event);
   14116 event_t __ovld async_work_group_copy(__global uint3 *dst, const __local uint3 *src, size_t num_elements, event_t event);
   14117 event_t __ovld async_work_group_copy(__global long3 *dst, const __local long3 *src, size_t num_elements, event_t event);
   14118 event_t __ovld async_work_group_copy(__global ulong3 *dst, const __local ulong3 *src, size_t num_elements, event_t event);
   14119 event_t __ovld async_work_group_copy(__global float3 *dst, const __local float3 *src, size_t num_elements, event_t event);
   14120 event_t __ovld async_work_group_copy(__global char4 *dst, const __local char4 *src, size_t num_elements, event_t event);
   14121 event_t __ovld async_work_group_copy(__global uchar4 *dst, const __local uchar4 *src, size_t num_elements, event_t event);
   14122 event_t __ovld async_work_group_copy(__global short4 *dst, const __local short4 *src, size_t num_elements, event_t event);
   14123 event_t __ovld async_work_group_copy(__global ushort4 *dst, const __local ushort4 *src, size_t num_elements, event_t event);
   14124 event_t __ovld async_work_group_copy(__global int4 *dst, const __local int4 *src, size_t num_elements, event_t event);
   14125 event_t __ovld async_work_group_copy(__global uint4 *dst, const __local uint4 *src, size_t num_elements, event_t event);
   14126 event_t __ovld async_work_group_copy(__global long4 *dst, const __local long4 *src, size_t num_elements, event_t event);
   14127 event_t __ovld async_work_group_copy(__global ulong4 *dst, const __local ulong4 *src, size_t num_elements, event_t event);
   14128 event_t __ovld async_work_group_copy(__global float4 *dst, const __local float4 *src, size_t num_elements, event_t event);
   14129 event_t __ovld async_work_group_copy(__global char8 *dst, const __local char8 *src, size_t num_elements, event_t event);
   14130 event_t __ovld async_work_group_copy(__global uchar8 *dst, const __local uchar8 *src, size_t num_elements, event_t event);
   14131 event_t __ovld async_work_group_copy(__global short8 *dst, const __local short8 *src, size_t num_elements, event_t event);
   14132 event_t __ovld async_work_group_copy(__global ushort8 *dst, const __local ushort8 *src, size_t num_elements, event_t event);
   14133 event_t __ovld async_work_group_copy(__global int8 *dst, const __local int8 *src, size_t num_elements, event_t event);
   14134 event_t __ovld async_work_group_copy(__global uint8 *dst, const __local uint8 *src, size_t num_elements, event_t event);
   14135 event_t __ovld async_work_group_copy(__global long8 *dst, const __local long8 *src, size_t num_elements, event_t event);
   14136 event_t __ovld async_work_group_copy(__global ulong8 *dst, const __local ulong8 *src, size_t num_elements, event_t event);
   14137 event_t __ovld async_work_group_copy(__global float8 *dst, const __local float8 *src, size_t num_elements, event_t event);
   14138 event_t __ovld async_work_group_copy(__global char16 *dst, const __local char16 *src, size_t num_elements, event_t event);
   14139 event_t __ovld async_work_group_copy(__global uchar16 *dst, const __local uchar16 *src, size_t num_elements, event_t event);
   14140 event_t __ovld async_work_group_copy(__global short16 *dst, const __local short16 *src, size_t num_elements, event_t event);
   14141 event_t __ovld async_work_group_copy(__global ushort16 *dst, const __local ushort16 *src, size_t num_elements, event_t event);
   14142 event_t __ovld async_work_group_copy(__global int16 *dst, const __local int16 *src, size_t num_elements, event_t event);
   14143 event_t __ovld async_work_group_copy(__global uint16 *dst, const __local uint16 *src, size_t num_elements, event_t event);
   14144 event_t __ovld async_work_group_copy(__global long16 *dst, const __local long16 *src, size_t num_elements, event_t event);
   14145 event_t __ovld async_work_group_copy(__global ulong16 *dst, const __local ulong16 *src, size_t num_elements, event_t event);
   14146 event_t __ovld async_work_group_copy(__global float16 *dst, const __local float16 *src, size_t num_elements, event_t event);
   14147 #ifdef cl_khr_fp64
   14148 event_t __ovld async_work_group_copy(__local double *dst, const __global double *src, size_t num_elements, event_t event);
   14149 event_t __ovld async_work_group_copy(__local double2 *dst, const __global double2 *src, size_t num_elements, event_t event);
   14150 event_t __ovld async_work_group_copy(__local double3 *dst, const __global double3 *src, size_t num_elements, event_t event);
   14151 event_t __ovld async_work_group_copy(__local double4 *dst, const __global double4 *src, size_t num_elements, event_t event);
   14152 event_t __ovld async_work_group_copy(__local double8 *dst, const __global double8 *src, size_t num_elements, event_t event);
   14153 event_t __ovld async_work_group_copy(__local double16 *dst, const __global double16 *src, size_t num_elements, event_t event);
   14154 event_t __ovld async_work_group_copy(__global double *dst, const __local double *src, size_t num_elements, event_t event);
   14155 event_t __ovld async_work_group_copy(__global double2 *dst, const __local double2 *src, size_t num_elements, event_t event);
   14156 event_t __ovld async_work_group_copy(__global double3 *dst, const __local double3 *src, size_t num_elements, event_t event);
   14157 event_t __ovld async_work_group_copy(__global double4 *dst, const __local double4 *src, size_t num_elements, event_t event);
   14158 event_t __ovld async_work_group_copy(__global double8 *dst, const __local double8 *src, size_t num_elements, event_t event);
   14159 event_t __ovld async_work_group_copy(__global double16 *dst, const __local double16 *src, size_t num_elements, event_t event);
   14160 #endif //cl_khr_fp64
   14161 #ifdef cl_khr_fp16
   14162 event_t __ovld async_work_group_copy(__local half *dst, const __global half *src, size_t num_elements, event_t event);
   14163 event_t __ovld async_work_group_copy(__local half2 *dst, const __global half2 *src, size_t num_elements, event_t event);
   14164 event_t __ovld async_work_group_copy(__local half3 *dst, const __global half3 *src, size_t num_elements, event_t event);
   14165 event_t __ovld async_work_group_copy(__local half4 *dst, const __global half4 *src, size_t num_elements, event_t event);
   14166 event_t __ovld async_work_group_copy(__local half8 *dst, const __global half8 *src, size_t num_elements, event_t event);
   14167 event_t __ovld async_work_group_copy(__local half16 *dst, const __global half16 *src, size_t num_elements, event_t event);
   14168 event_t __ovld async_work_group_copy(__global half *dst, const __local half *src, size_t num_elements, event_t event);
   14169 event_t __ovld async_work_group_copy(__global half2 *dst, const __local half2 *src, size_t num_elements, event_t event);
   14170 event_t __ovld async_work_group_copy(__global half3 *dst, const __local half3 *src, size_t num_elements, event_t event);
   14171 event_t __ovld async_work_group_copy(__global half4 *dst, const __local half4 *src, size_t num_elements, event_t event);
   14172 event_t __ovld async_work_group_copy(__global half8 *dst, const __local half8 *src, size_t num_elements, event_t event);
   14173 event_t __ovld async_work_group_copy(__global half16 *dst, const __local half16 *src, size_t num_elements, event_t event);
   14174 #endif //cl_khr_fp16
   14175 
   14176 /**
   14177  * Perform an async gather of num_elements
   14178  * gentype elements from src to dst. The
   14179  * src_stride is the stride in elements for each
   14180  * gentype element read from src. The dst_stride
   14181  * is the stride in elements for each gentype
   14182  * element written to dst. The async gather is
   14183  * performed by all work-items in a work-group.
   14184  * This built-in function must therefore be
   14185  * encountered by all work-items in a work-group
   14186  * executing the kernel with the same argument
   14187  * values; otherwise the results are undefined.
   14188  * Returns an event object that can be used by
   14189  * wait_group_events to wait for the async copy
   14190  * to finish. The event argument can also be used
   14191  * to associate the
   14192  * async_work_group_strided_copy with a
   14193  * previous async copy allowing an event to be
   14194  * shared by multiple async copies; otherwise event
   14195  * should be zero.
   14196  * If event argument is non-zero, the event object
   14197  * supplied in event argument will be returned.
   14198  * This function does not perform any implicit
   14199  * synchronization of source data such as using a
   14200  * barrier before performing the copy.
   14201  */
   14202 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);
   14203 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);
   14204 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);
   14205 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);
   14206 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);
   14207 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);
   14208 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);
   14209 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);
   14210 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);
   14211 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);
   14212 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);
   14213 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);
   14214 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);
   14215 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);
   14216 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);
   14217 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);
   14218 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);
   14219 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);
   14220 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);
   14221 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);
   14222 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);
   14223 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);
   14224 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);
   14225 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);
   14226 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);
   14227 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);
   14228 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);
   14229 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);
   14230 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);
   14231 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);
   14232 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);
   14233 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);
   14234 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);
   14235 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);
   14236 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);
   14237 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);
   14238 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);
   14239 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);
   14240 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);
   14241 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);
   14242 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);
   14243 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);
   14244 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);
   14245 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);
   14246 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);
   14247 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);
   14248 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);
   14249 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);
   14250 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);
   14251 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);
   14252 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);
   14253 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);
   14254 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);
   14255 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);
   14256 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);
   14257 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);
   14258 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);
   14259 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);
   14260 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);
   14261 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);
   14262 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);
   14263 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);
   14264 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);
   14265 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);
   14266 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);
   14267 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);
   14268 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);
   14269 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);
   14270 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);
   14271 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);
   14272 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);
   14273 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);
   14274 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);
   14275 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);
   14276 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);
   14277 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);
   14278 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);
   14279 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);
   14280 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);
   14281 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);
   14282 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);
   14283 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);
   14284 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);
   14285 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);
   14286 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);
   14287 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);
   14288 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);
   14289 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);
   14290 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);
   14291 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);
   14292 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);
   14293 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);
   14294 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);
   14295 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);
   14296 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);
   14297 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);
   14298 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);
   14299 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);
   14300 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);
   14301 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);
   14302 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);
   14303 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);
   14304 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);
   14305 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);
   14306 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);
   14307 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);
   14308 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);
   14309 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);
   14310 #ifdef cl_khr_fp64
   14311 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);
   14312 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);
   14313 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);
   14314 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);
   14315 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);
   14316 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);
   14317 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);
   14318 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);
   14319 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);
   14320 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);
   14321 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);
   14322 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);
   14323 #endif //cl_khr_fp64
   14324 #ifdef cl_khr_fp16
   14325 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);
   14326 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);
   14327 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);
   14328 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);
   14329 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);
   14330 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);
   14331 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);
   14332 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);
   14333 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);
   14334 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);
   14335 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);
   14336 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);
   14337 #endif //cl_khr_fp16
   14338 
   14339 /**
   14340  * Wait for events that identify the
   14341  * async_work_group_copy operations to
   14342  * complete. The event objects specified in
   14343  * event_list will be released after the wait is
   14344  * performed.
   14345  * This function must be encountered by all workitems
   14346  * in a work-group executing the kernel with
   14347  * the same num_events and event objects specified
   14348  * in event_list; otherwise the results are undefined.
   14349  */
   14350 void __ovld wait_group_events(int num_events, event_t *event_list);
   14351 
   14352 /**
   14353  * Prefetch num_elements * sizeof(gentype)
   14354  * bytes into the global cache. The prefetch
   14355  * instruction is applied to a work-item in a workgroup
   14356  * and does not affect the functional
   14357  * behavior of the kernel.
   14358  */
   14359 void __ovld prefetch(const __global char *p, size_t num_elements);
   14360 void __ovld prefetch(const __global uchar *p, size_t num_elements);
   14361 void __ovld prefetch(const __global short *p, size_t num_elements);
   14362 void __ovld prefetch(const __global ushort *p, size_t num_elements);
   14363 void __ovld prefetch(const __global int *p, size_t num_elements);
   14364 void __ovld prefetch(const __global uint *p, size_t num_elements);
   14365 void __ovld prefetch(const __global long *p, size_t num_elements);
   14366 void __ovld prefetch(const __global ulong *p, size_t num_elements);
   14367 void __ovld prefetch(const __global float *p, size_t num_elements);
   14368 void __ovld prefetch(const __global char2 *p, size_t num_elements);
   14369 void __ovld prefetch(const __global uchar2 *p, size_t num_elements);
   14370 void __ovld prefetch(const __global short2 *p, size_t num_elements);
   14371 void __ovld prefetch(const __global ushort2 *p, size_t num_elements);
   14372 void __ovld prefetch(const __global int2 *p, size_t num_elements);
   14373 void __ovld prefetch(const __global uint2 *p, size_t num_elements);
   14374 void __ovld prefetch(const __global long2 *p, size_t num_elements);
   14375 void __ovld prefetch(const __global ulong2 *p, size_t num_elements);
   14376 void __ovld prefetch(const __global float2 *p, size_t num_elements);
   14377 void __ovld prefetch(const __global char3 *p, size_t num_elements);
   14378 void __ovld prefetch(const __global uchar3 *p, size_t num_elements);
   14379 void __ovld prefetch(const __global short3 *p, size_t num_elements);
   14380 void __ovld prefetch(const __global ushort3 *p, size_t num_elements);
   14381 void __ovld prefetch(const __global int3 *p, size_t num_elements);
   14382 void __ovld prefetch(const __global uint3 *p, size_t num_elements);
   14383 void __ovld prefetch(const __global long3 *p, size_t num_elements);
   14384 void __ovld prefetch(const __global ulong3 *p, size_t num_elements);
   14385 void __ovld prefetch(const __global float3 *p, size_t num_elements);
   14386 void __ovld prefetch(const __global char4 *p, size_t num_elements);
   14387 void __ovld prefetch(const __global uchar4 *p, size_t num_elements);
   14388 void __ovld prefetch(const __global short4 *p, size_t num_elements);
   14389 void __ovld prefetch(const __global ushort4 *p, size_t num_elements);
   14390 void __ovld prefetch(const __global int4 *p, size_t num_elements);
   14391 void __ovld prefetch(const __global uint4 *p, size_t num_elements);
   14392 void __ovld prefetch(const __global long4 *p, size_t num_elements);
   14393 void __ovld prefetch(const __global ulong4 *p, size_t num_elements);
   14394 void __ovld prefetch(const __global float4 *p, size_t num_elements);
   14395 void __ovld prefetch(const __global char8 *p, size_t num_elements);
   14396 void __ovld prefetch(const __global uchar8 *p, size_t num_elements);
   14397 void __ovld prefetch(const __global short8 *p, size_t num_elements);
   14398 void __ovld prefetch(const __global ushort8 *p, size_t num_elements);
   14399 void __ovld prefetch(const __global int8 *p, size_t num_elements);
   14400 void __ovld prefetch(const __global uint8 *p, size_t num_elements);
   14401 void __ovld prefetch(const __global long8 *p, size_t num_elements);
   14402 void __ovld prefetch(const __global ulong8 *p, size_t num_elements);
   14403 void __ovld prefetch(const __global float8 *p, size_t num_elements);
   14404 void __ovld prefetch(const __global char16 *p, size_t num_elements);
   14405 void __ovld prefetch(const __global uchar16 *p, size_t num_elements);
   14406 void __ovld prefetch(const __global short16 *p, size_t num_elements);
   14407 void __ovld prefetch(const __global ushort16 *p, size_t num_elements);
   14408 void __ovld prefetch(const __global int16 *p, size_t num_elements);
   14409 void __ovld prefetch(const __global uint16 *p, size_t num_elements);
   14410 void __ovld prefetch(const __global long16 *p, size_t num_elements);
   14411 void __ovld prefetch(const __global ulong16 *p, size_t num_elements);
   14412 void __ovld prefetch(const __global float16 *p, size_t num_elements);
   14413 #ifdef cl_khr_fp64
   14414 void __ovld prefetch(const __global double *p, size_t num_elements);
   14415 void __ovld prefetch(const __global double2 *p, size_t num_elements);
   14416 void __ovld prefetch(const __global double3 *p, size_t num_elements);
   14417 void __ovld prefetch(const __global double4 *p, size_t num_elements);
   14418 void __ovld prefetch(const __global double8 *p, size_t num_elements);
   14419 void __ovld prefetch(const __global double16 *p, size_t num_elements);
   14420 #endif //cl_khr_fp64
   14421 #ifdef cl_khr_fp16
   14422 void __ovld prefetch(const __global half *p, size_t num_elements);
   14423 void __ovld prefetch(const __global half2 *p, size_t num_elements);
   14424 void __ovld prefetch(const __global half3 *p, size_t num_elements);
   14425 void __ovld prefetch(const __global half4 *p, size_t num_elements);
   14426 void __ovld prefetch(const __global half8 *p, size_t num_elements);
   14427 void __ovld prefetch(const __global half16 *p, size_t num_elements);
   14428 #endif // cl_khr_fp16
   14429 
   14430 // OpenCL v1.1 s6.11.1, v1.2 s6.12.11 - Atomic Functions
   14431 
   14432 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
   14433 #pragma OPENCL EXTENSION cl_khr_int64_base_atomics : enable
   14434 #pragma OPENCL EXTENSION cl_khr_int64_extended_atomics : enable
   14435 #endif
   14436 /**
   14437  * Read the 32-bit value (referred to as old)
   14438  * stored at location pointed by p. Compute
   14439  * (old + val) and store result at location
   14440  * pointed by p. The function returns old.
   14441  */
   14442 int __ovld atomic_add(volatile __global int *p, int val);
   14443 unsigned int __ovld atomic_add(volatile __global unsigned int *p, unsigned int val);
   14444 int __ovld atomic_add(volatile __local int *p, int val);
   14445 unsigned int __ovld atomic_add(volatile __local unsigned int *p, unsigned int val);
   14446 
   14447 #if defined(cl_khr_global_int32_base_atomics)
   14448 int __ovld atom_add(volatile __global int *p, int val);
   14449 unsigned int __ovld atom_add(volatile __global unsigned int *p, unsigned int val);
   14450 #endif
   14451 #if defined(cl_khr_local_int32_base_atomics)
   14452 int __ovld atom_add(volatile __local int *p, int val);
   14453 unsigned int __ovld atom_add(volatile __local unsigned int *p, unsigned int val);
   14454 #endif
   14455 
   14456 #if defined(cl_khr_int64_base_atomics)
   14457 long __ovld atom_add(volatile __global long *p, long val);
   14458 unsigned long __ovld atom_add(volatile __global unsigned long *p, unsigned long val);
   14459 long __ovld atom_add(volatile __local long *p, long val);
   14460 unsigned long __ovld atom_add(volatile __local unsigned long *p, unsigned long val);
   14461 #endif
   14462 
   14463 /**
   14464  * Read the 32-bit value (referred to as old) stored at location pointed by p.
   14465  * Compute (old - val) and store result at location pointed by p. The function
   14466  * returns old.
   14467  */
   14468 int __ovld atomic_sub(volatile __global int *p, int val);
   14469 unsigned int __ovld atomic_sub(volatile __global unsigned int *p, unsigned int val);
   14470 int __ovld atomic_sub(volatile __local int *p, int val);
   14471 unsigned int __ovld atomic_sub(volatile __local unsigned int *p, unsigned int val);
   14472 
   14473 #if defined(cl_khr_global_int32_base_atomics)
   14474 int __ovld atom_sub(volatile __global int *p, int val);
   14475 unsigned int __ovld atom_sub(volatile __global unsigned int *p, unsigned int val);
   14476 #endif
   14477 #if defined(cl_khr_local_int32_base_atomics)
   14478 int __ovld atom_sub(volatile __local int *p, int val);
   14479 unsigned int __ovld atom_sub(volatile __local unsigned int *p, unsigned int val);
   14480 #endif
   14481 
   14482 #if defined(cl_khr_int64_base_atomics)
   14483 long __ovld atom_sub(volatile __global long *p, long val);
   14484 unsigned long __ovld atom_sub(volatile __global unsigned long *p, unsigned long val);
   14485 long __ovld atom_sub(volatile __local long *p, long val);
   14486 unsigned long __ovld atom_sub(volatile __local unsigned long *p, unsigned long val);
   14487 #endif
   14488 
   14489 /**
   14490  * Swaps the old value stored at location p
   14491  * with new value given by val. Returns old
   14492  * value.
   14493  */
   14494 int __ovld atomic_xchg(volatile __global int *p, int val);
   14495 unsigned int __ovld atomic_xchg(volatile __global unsigned int *p, unsigned int val);
   14496 int __ovld atomic_xchg(volatile __local int *p, int val);
   14497 unsigned int __ovld atomic_xchg(volatile __local unsigned int *p, unsigned int val);
   14498 float __ovld atomic_xchg(volatile __global float *p, float val);
   14499 float __ovld atomic_xchg(volatile __local float *p, float val);
   14500 
   14501 #if defined(cl_khr_global_int32_base_atomics)
   14502 int __ovld atom_xchg(volatile __global int *p, int val);
   14503 int __ovld atom_xchg(volatile __local int *p, int val);
   14504 #endif
   14505 #if defined(cl_khr_local_int32_base_atomics)
   14506 unsigned int __ovld atom_xchg(volatile __global unsigned int *p, unsigned int val);
   14507 unsigned int __ovld atom_xchg(volatile __local unsigned int *p, unsigned int val);
   14508 #endif
   14509 
   14510 #if defined(cl_khr_int64_base_atomics)
   14511 long __ovld atom_xchg(volatile __global long *p, long val);
   14512 long __ovld atom_xchg(volatile __local long *p, long val);
   14513 unsigned long __ovld atom_xchg(volatile __global unsigned long *p, unsigned long val);
   14514 unsigned long __ovld atom_xchg(volatile __local unsigned long *p, unsigned long val);
   14515 #endif
   14516 
   14517 /**
   14518  * Read the 32-bit value (referred to as old)
   14519  * stored at location pointed by p. Compute
   14520  * (old + 1) and store result at location
   14521  * pointed by p. The function returns old.
   14522  */
   14523 int __ovld atomic_inc(volatile __global int *p);
   14524 unsigned int __ovld atomic_inc(volatile __global unsigned int *p);
   14525 int __ovld atomic_inc(volatile __local int *p);
   14526 unsigned int __ovld atomic_inc(volatile __local unsigned int *p);
   14527 
   14528 #if defined(cl_khr_global_int32_base_atomics)
   14529 int __ovld atom_inc(volatile __global int *p);
   14530 unsigned int __ovld atom_inc(volatile __global unsigned int *p);
   14531 #endif
   14532 #if defined(cl_khr_local_int32_base_atomics)
   14533 int __ovld atom_inc(volatile __local int *p);
   14534 unsigned int __ovld atom_inc(volatile __local unsigned int *p);
   14535 #endif
   14536 
   14537 #if defined(cl_khr_int64_base_atomics)
   14538 long __ovld atom_inc(volatile __global long *p);
   14539 unsigned long __ovld atom_inc(volatile __global unsigned long *p);
   14540 long __ovld atom_inc(volatile __local long *p);
   14541 unsigned long __ovld atom_inc(volatile __local unsigned long *p);
   14542 #endif
   14543 
   14544 /**
   14545  * Read the 32-bit value (referred to as old)
   14546  * stored at location pointed by p. Compute
   14547  * (old - 1) and store result at location
   14548  * pointed by p. The function returns old.
   14549  */
   14550 int __ovld atomic_dec(volatile __global int *p);
   14551 unsigned int __ovld atomic_dec(volatile __global unsigned int *p);
   14552 int __ovld atomic_dec(volatile __local int *p);
   14553 unsigned int __ovld atomic_dec(volatile __local unsigned int *p);
   14554 
   14555 #if defined(cl_khr_global_int32_base_atomics)
   14556 int __ovld atom_dec(volatile __global int *p);
   14557 unsigned int __ovld atom_dec(volatile __global unsigned int *p);
   14558 #endif
   14559 #if defined(cl_khr_local_int32_base_atomics)
   14560 int __ovld atom_dec(volatile __local int *p);
   14561 unsigned int __ovld atom_dec(volatile __local unsigned int *p);
   14562 #endif
   14563 
   14564 #if defined(cl_khr_int64_base_atomics)
   14565 long __ovld atom_dec(volatile __global long *p);
   14566 unsigned long __ovld atom_dec(volatile __global unsigned long *p);
   14567 long __ovld atom_dec(volatile __local long *p);
   14568 unsigned long __ovld atom_dec(volatile __local unsigned long *p);
   14569 #endif
   14570 
   14571 /**
   14572  * Read the 32-bit value (referred to as old)
   14573  * stored at location pointed by p. Compute
   14574  * (old == cmp) ? val : old and store result at
   14575  * location pointed by p. The function
   14576  * returns old.
   14577  */
   14578 int __ovld atomic_cmpxchg(volatile __global int *p, int cmp, int val);
   14579 unsigned int __ovld atomic_cmpxchg(volatile __global unsigned int *p, unsigned int cmp, unsigned int val);
   14580 int __ovld atomic_cmpxchg(volatile __local int *p, int cmp, int val);
   14581 unsigned int __ovld atomic_cmpxchg(volatile __local unsigned int *p, unsigned int cmp, unsigned int val);
   14582 
   14583 #if defined(cl_khr_global_int32_base_atomics)
   14584 int __ovld atom_cmpxchg(volatile __global int *p, int cmp, int val);
   14585 unsigned int __ovld atom_cmpxchg(volatile __global unsigned int *p, unsigned int cmp, unsigned int val);
   14586 #endif
   14587 #if defined(cl_khr_local_int32_base_atomics)
   14588 int __ovld atom_cmpxchg(volatile __local int *p, int cmp, int val);
   14589 unsigned int __ovld atom_cmpxchg(volatile __local unsigned int *p, unsigned int cmp, unsigned int val);
   14590 #endif
   14591 
   14592 #if defined(cl_khr_int64_base_atomics)
   14593 long __ovld atom_cmpxchg(volatile __global long *p, long cmp, long val);
   14594 unsigned long __ovld atom_cmpxchg(volatile __global unsigned long *p, unsigned long cmp, unsigned long val);
   14595 long __ovld atom_cmpxchg(volatile __local long *p, long cmp, long val);
   14596 unsigned long __ovld atom_cmpxchg(volatile __local unsigned long *p, unsigned long cmp, unsigned long val);
   14597 #endif
   14598 
   14599 /**
   14600  * Read the 32-bit value (referred to as old)
   14601  * stored at location pointed by p. Compute
   14602  * min(old, val) and store minimum value at
   14603  * location pointed by p. The function
   14604  * returns old.
   14605  */
   14606 int __ovld atomic_min(volatile __global int *p, int val);
   14607 unsigned int __ovld atomic_min(volatile __global unsigned int *p, unsigned int val);
   14608 int __ovld atomic_min(volatile __local int *p, int val);
   14609 unsigned int __ovld atomic_min(volatile __local unsigned int *p, unsigned int val);
   14610 
   14611 #if defined(cl_khr_global_int32_extended_atomics)
   14612 int __ovld atom_min(volatile __global int *p, int val);
   14613 unsigned int __ovld atom_min(volatile __global unsigned int *p, unsigned int val);
   14614 #endif
   14615 #if defined(cl_khr_local_int32_extended_atomics)
   14616 int __ovld atom_min(volatile __local int *p, int val);
   14617 unsigned int __ovld atom_min(volatile __local unsigned int *p, unsigned int val);
   14618 #endif
   14619 
   14620 #if defined(cl_khr_int64_extended_atomics)
   14621 long __ovld atom_min(volatile __global long *p, long val);
   14622 unsigned long __ovld atom_min(volatile __global unsigned long *p, unsigned long val);
   14623 #endif
   14624 #if defined(cl_khr_local_int32_extended_atomics)
   14625 long __ovld atom_min(volatile __local long *p, long val);
   14626 unsigned long __ovld atom_min(volatile __local unsigned long *p, unsigned long val);
   14627 #endif
   14628 
   14629 /**
   14630  * Read the 32-bit value (referred to as old)
   14631  * stored at location pointed by p. Compute
   14632  * max(old, val) and store maximum value at
   14633  * location pointed by p. The function
   14634  * returns old.
   14635  */
   14636 int __ovld atomic_max(volatile __global int *p, int val);
   14637 unsigned int __ovld atomic_max(volatile __global unsigned int *p, unsigned int val);
   14638 int __ovld atomic_max(volatile __local int *p, int val);
   14639 unsigned int __ovld atomic_max(volatile __local unsigned int *p, unsigned int val);
   14640 
   14641 #if defined(cl_khr_global_int32_extended_atomics)
   14642 int __ovld atom_max(volatile __global int *p, int val);
   14643 unsigned int __ovld atom_max(volatile __global unsigned int *p, unsigned int val);
   14644 #endif
   14645 #if defined(cl_khr_local_int32_extended_atomics)
   14646 int __ovld atom_max(volatile __local int *p, int val);
   14647 unsigned int __ovld atom_max(volatile __local unsigned int *p, unsigned int val);
   14648 #endif
   14649 
   14650 #if defined(cl_khr_int64_extended_atomics)
   14651 long __ovld atom_max(volatile __global long *p, long val);
   14652 unsigned long __ovld atom_max(volatile __global unsigned long *p, unsigned long val);
   14653 long __ovld atom_max(volatile __local long *p, long val);
   14654 unsigned long __ovld atom_max(volatile __local unsigned long *p, unsigned long val);
   14655 #endif
   14656 
   14657 /**
   14658  * Read the 32-bit value (referred to as old)
   14659  * stored at location pointed by p. Compute
   14660  * (old & val) and store result at location
   14661  * pointed by p. The function returns old.
   14662  */
   14663 int __ovld atomic_and(volatile __global int *p, int val);
   14664 unsigned int __ovld atomic_and(volatile __global unsigned int *p, unsigned int val);
   14665 int __ovld atomic_and(volatile __local int *p, int val);
   14666 unsigned int __ovld atomic_and(volatile __local unsigned int *p, unsigned int val);
   14667 
   14668 #if defined(cl_khr_global_int32_extended_atomics)
   14669 int __ovld atom_and(volatile __global int *p, int val);
   14670 unsigned int __ovld atom_and(volatile __global unsigned int *p, unsigned int val);
   14671 #endif
   14672 #if defined(cl_khr_local_int32_extended_atomics)
   14673 int __ovld atom_and(volatile __local int *p, int val);
   14674 unsigned int __ovld atom_and(volatile __local unsigned int *p, unsigned int val);
   14675 #endif
   14676 
   14677 #if defined(cl_khr_int64_extended_atomics)
   14678 long __ovld atom_and(volatile __global long *p, long val);
   14679 unsigned long __ovld atom_and(volatile __global unsigned long *p, unsigned long val);
   14680 long __ovld atom_and(volatile __local long *p, long val);
   14681 unsigned long __ovld atom_and(volatile __local unsigned long *p, unsigned long val);
   14682 #endif
   14683 
   14684 /**
   14685  * Read the 32-bit value (referred to as old)
   14686  * stored at location pointed by p. Compute
   14687  * (old | val) and store result at location
   14688  * pointed by p. The function returns old.
   14689  */
   14690 int __ovld atomic_or(volatile __global int *p, int val);
   14691 unsigned int __ovld atomic_or(volatile __global unsigned int *p, unsigned int val);
   14692 int __ovld atomic_or(volatile __local int *p, int val);
   14693 unsigned int __ovld atomic_or(volatile __local unsigned int *p, unsigned int val);
   14694 
   14695 #if defined(cl_khr_global_int32_extended_atomics)
   14696 int __ovld atom_or(volatile __global int *p, int val);
   14697 unsigned int __ovld atom_or(volatile __global unsigned int *p, unsigned int val);
   14698 #endif
   14699 #if defined(cl_khr_local_int32_extended_atomics)
   14700 int __ovld atom_or(volatile __local int *p, int val);
   14701 unsigned int __ovld atom_or(volatile __local unsigned int *p, unsigned int val);
   14702 #endif
   14703 
   14704 #if defined(cl_khr_int64_extended_atomics)
   14705 long __ovld atom_or(volatile __global long *p, long val);
   14706 unsigned long __ovld atom_or(volatile __global unsigned long *p, unsigned long val);
   14707 long __ovld atom_or(volatile __local long *p, long val);
   14708 unsigned long __ovld atom_or(volatile __local unsigned long *p, unsigned long val);
   14709 #endif
   14710 
   14711 /**
   14712  * Read the 32-bit value (referred to as old)
   14713  * stored at location pointed by p. Compute
   14714  * (old ^ val) and store result at location
   14715  * pointed by p. The function returns old.
   14716  */
   14717 int __ovld atomic_xor(volatile __global int *p, int val);
   14718 unsigned int __ovld atomic_xor(volatile __global unsigned int *p, unsigned int val);
   14719 int __ovld atomic_xor(volatile __local int *p, int val);
   14720 unsigned int __ovld atomic_xor(volatile __local unsigned int *p, unsigned int val);
   14721 
   14722 #if defined(cl_khr_global_int32_extended_atomics)
   14723 int __ovld atom_xor(volatile __global int *p, int val);
   14724 unsigned int __ovld atom_xor(volatile __global unsigned int *p, unsigned int val);
   14725 #endif
   14726 #if defined(cl_khr_local_int32_extended_atomics)
   14727 int __ovld atom_xor(volatile __local int *p, int val);
   14728 unsigned int __ovld atom_xor(volatile __local unsigned int *p, unsigned int val);
   14729 #endif
   14730 
   14731 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
   14732 #pragma OPENCL EXTENSION cl_khr_int64_base_atomics : disable
   14733 #pragma OPENCL EXTENSION cl_khr_int64_extended_atomics : disable
   14734 #endif
   14735 
   14736 // OpenCL v2.0 s6.13.11 - Atomics Functions
   14737 
   14738 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   14739 #ifndef ATOMIC_VAR_INIT
   14740 #define ATOMIC_VAR_INIT(x) (x)
   14741 #endif //ATOMIC_VAR_INIT
   14742 #define ATOMIC_FLAG_INIT 0
   14743 
   14744 // enum values aligned with what clang uses in EmitAtomicExpr()
   14745 typedef enum memory_order
   14746 {
   14747   memory_order_relaxed,
   14748   memory_order_acquire,
   14749   memory_order_release,
   14750   memory_order_acq_rel,
   14751   memory_order_seq_cst
   14752 } memory_order;
   14753 
   14754 // double atomics support requires extensions cl_khr_int64_base_atomics and cl_khr_int64_extended_atomics
   14755 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
   14756 #pragma OPENCL EXTENSION cl_khr_int64_base_atomics : enable
   14757 #pragma OPENCL EXTENSION cl_khr_int64_extended_atomics : enable
   14758 #endif
   14759 
   14760 // atomic_init()
   14761 void __ovld atomic_init(volatile atomic_int *object, int value);
   14762 void __ovld atomic_init(volatile atomic_uint *object, uint value);
   14763 void __ovld atomic_init(volatile atomic_float *object, float value);
   14764 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
   14765 void __ovld atomic_init(volatile atomic_long *object, long value);
   14766 void __ovld atomic_init(volatile atomic_ulong *object, ulong value);
   14767 #ifdef cl_khr_fp64
   14768 void __ovld atomic_init(volatile atomic_double *object, double value);
   14769 #endif //cl_khr_fp64
   14770 #endif
   14771 
   14772 // atomic_work_item_fence()
   14773 void __ovld atomic_work_item_fence(cl_mem_fence_flags flags, memory_order order, memory_scope scope);
   14774 
   14775 // atomic_fetch()
   14776 
   14777 int __ovld atomic_fetch_add(volatile atomic_int *object, int operand);
   14778 int __ovld atomic_fetch_add_explicit(volatile atomic_int *object, int operand, memory_order order);
   14779 int __ovld atomic_fetch_add_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
   14780 uint __ovld atomic_fetch_add(volatile atomic_uint *object, uint operand);
   14781 uint __ovld atomic_fetch_add_explicit(volatile atomic_uint *object, uint operand, memory_order order);
   14782 uint __ovld atomic_fetch_add_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
   14783 int __ovld atomic_fetch_sub(volatile atomic_int *object, int operand);
   14784 int __ovld atomic_fetch_sub_explicit(volatile atomic_int *object, int operand, memory_order order);
   14785 int __ovld atomic_fetch_sub_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
   14786 uint __ovld atomic_fetch_sub(volatile atomic_uint *object, uint operand);
   14787 uint __ovld atomic_fetch_sub_explicit(volatile atomic_uint *object, uint operand, memory_order order);
   14788 uint __ovld atomic_fetch_sub_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
   14789 int __ovld atomic_fetch_or(volatile atomic_int *object, int operand);
   14790 int __ovld atomic_fetch_or_explicit(volatile atomic_int *object, int operand, memory_order order);
   14791 int __ovld atomic_fetch_or_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
   14792 uint __ovld atomic_fetch_or(volatile atomic_uint *object, uint operand);
   14793 uint __ovld atomic_fetch_or_explicit(volatile atomic_uint *object, uint operand, memory_order order);
   14794 uint __ovld atomic_fetch_or_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
   14795 int __ovld atomic_fetch_xor(volatile atomic_int *object, int operand);
   14796 int __ovld atomic_fetch_xor_explicit(volatile atomic_int *object, int operand, memory_order order);
   14797 int __ovld atomic_fetch_xor_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
   14798 uint __ovld atomic_fetch_xor(volatile atomic_uint *object, uint operand);
   14799 uint __ovld atomic_fetch_xor_explicit(volatile atomic_uint *object, uint operand, memory_order order);
   14800 uint __ovld atomic_fetch_xor_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
   14801 int __ovld atomic_fetch_and(volatile atomic_int *object, int operand);
   14802 int __ovld atomic_fetch_and_explicit(volatile atomic_int *object, int operand, memory_order order);
   14803 int __ovld atomic_fetch_and_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
   14804 uint __ovld atomic_fetch_and(volatile atomic_uint *object, uint operand);
   14805 uint __ovld atomic_fetch_and_explicit(volatile atomic_uint *object, uint operand, memory_order order);
   14806 uint __ovld atomic_fetch_and_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
   14807 int __ovld atomic_fetch_min(volatile atomic_int *object, int operand);
   14808 int __ovld atomic_fetch_min_explicit(volatile atomic_int *object, int operand, memory_order order);
   14809 int __ovld atomic_fetch_min_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
   14810 uint __ovld atomic_fetch_min(volatile atomic_uint *object, uint operand);
   14811 uint __ovld atomic_fetch_min_explicit(volatile atomic_uint *object, uint operand, memory_order order);
   14812 uint __ovld atomic_fetch_min_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
   14813 uint __ovld atomic_fetch_min(volatile atomic_uint *object, int operand);
   14814 uint __ovld atomic_fetch_min_explicit(volatile atomic_uint *object, int operand, memory_order order);
   14815 uint __ovld atomic_fetch_min_explicit(volatile atomic_uint *object, int operand, memory_order order, memory_scope scope);
   14816 int __ovld atomic_fetch_max(volatile atomic_int *object, int operand);
   14817 int __ovld atomic_fetch_max_explicit(volatile atomic_int *object, int operand, memory_order order);
   14818 int __ovld atomic_fetch_max_explicit(volatile atomic_int *object, int operand, memory_order order, memory_scope scope);
   14819 uint __ovld atomic_fetch_max(volatile atomic_uint *object, uint operand);
   14820 uint __ovld atomic_fetch_max_explicit(volatile atomic_uint *object, uint operand, memory_order order);
   14821 uint __ovld atomic_fetch_max_explicit(volatile atomic_uint *object, uint operand, memory_order order, memory_scope scope);
   14822 uint __ovld atomic_fetch_max(volatile atomic_uint *object, int operand);
   14823 uint __ovld atomic_fetch_max_explicit(volatile atomic_uint *object, int operand, memory_order order);
   14824 uint __ovld atomic_fetch_max_explicit(volatile atomic_uint *object, int operand, memory_order order, memory_scope scope);
   14825 
   14826 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
   14827 long __ovld atomic_fetch_add(volatile atomic_long *object, long operand);
   14828 long __ovld atomic_fetch_add_explicit(volatile atomic_long *object, long operand, memory_order order);
   14829 long __ovld atomic_fetch_add_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
   14830 ulong __ovld atomic_fetch_add(volatile atomic_ulong *object, ulong operand);
   14831 ulong __ovld atomic_fetch_add_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
   14832 ulong __ovld atomic_fetch_add_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
   14833 long __ovld atomic_fetch_sub(volatile atomic_long *object, long operand);
   14834 long __ovld atomic_fetch_sub_explicit(volatile atomic_long *object, long operand, memory_order order);
   14835 long __ovld atomic_fetch_sub_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
   14836 ulong __ovld atomic_fetch_sub(volatile atomic_ulong *object, ulong operand);
   14837 ulong __ovld atomic_fetch_sub_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
   14838 ulong __ovld atomic_fetch_sub_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
   14839 long __ovld atomic_fetch_or(volatile atomic_long *object, long operand);
   14840 long __ovld atomic_fetch_or_explicit(volatile atomic_long *object, long operand, memory_order order);
   14841 long __ovld atomic_fetch_or_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
   14842 ulong __ovld atomic_fetch_or(volatile atomic_ulong *object, ulong operand);
   14843 ulong __ovld atomic_fetch_or_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
   14844 ulong __ovld atomic_fetch_or_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
   14845 long __ovld atomic_fetch_xor(volatile atomic_long *object, long operand);
   14846 long __ovld atomic_fetch_xor_explicit(volatile atomic_long *object, long operand, memory_order order);
   14847 long __ovld atomic_fetch_xor_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
   14848 ulong __ovld atomic_fetch_xor(volatile atomic_ulong *object, ulong operand);
   14849 ulong __ovld atomic_fetch_xor_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
   14850 ulong __ovld atomic_fetch_xor_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
   14851 long __ovld atomic_fetch_and(volatile atomic_long *object, long operand);
   14852 long __ovld atomic_fetch_and_explicit(volatile atomic_long *object, long operand, memory_order order);
   14853 long __ovld atomic_fetch_and_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
   14854 ulong __ovld atomic_fetch_and(volatile atomic_ulong *object, ulong operand);
   14855 ulong __ovld atomic_fetch_and_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
   14856 ulong __ovld atomic_fetch_and_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
   14857 long __ovld atomic_fetch_min(volatile atomic_long *object, long operand);
   14858 long __ovld atomic_fetch_min_explicit(volatile atomic_long *object, long operand, memory_order order);
   14859 long __ovld atomic_fetch_min_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
   14860 ulong __ovld atomic_fetch_min(volatile atomic_ulong *object, ulong operand);
   14861 ulong __ovld atomic_fetch_min_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
   14862 ulong __ovld atomic_fetch_min_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
   14863 ulong __ovld atomic_fetch_min(volatile atomic_ulong *object, long operand);
   14864 ulong __ovld atomic_fetch_min_explicit(volatile atomic_ulong *object, long operand, memory_order order);
   14865 ulong __ovld atomic_fetch_min_explicit(volatile atomic_ulong *object, long operand, memory_order order, memory_scope scope);
   14866 long __ovld atomic_fetch_max(volatile atomic_long *object, long operand);
   14867 long __ovld atomic_fetch_max_explicit(volatile atomic_long *object, long operand, memory_order order);
   14868 long __ovld atomic_fetch_max_explicit(volatile atomic_long *object, long operand, memory_order order, memory_scope scope);
   14869 ulong __ovld atomic_fetch_max(volatile atomic_ulong *object, ulong operand);
   14870 ulong __ovld atomic_fetch_max_explicit(volatile atomic_ulong *object, ulong operand, memory_order order);
   14871 ulong __ovld atomic_fetch_max_explicit(volatile atomic_ulong *object, ulong operand, memory_order order, memory_scope scope);
   14872 ulong __ovld atomic_fetch_max(volatile atomic_ulong *object, long operand);
   14873 ulong __ovld atomic_fetch_max_explicit(volatile atomic_ulong *object, long operand, memory_order order);
   14874 ulong __ovld atomic_fetch_max_explicit(volatile atomic_ulong *object, long operand, memory_order order, memory_scope scope);
   14875 #endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
   14876 
   14877 // OpenCL v2.0 s6.13.11.7.5:
   14878 // add/sub: atomic type argument can be uintptr_t/intptr_t, value type argument can be ptrdiff_t.
   14879 // or/xor/and/min/max: atomic type argument can be intptr_t/uintptr_t, value type argument can be intptr_t/uintptr_t.
   14880 
   14881 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
   14882 uintptr_t __ovld atomic_fetch_add(volatile atomic_uintptr_t *object, ptrdiff_t operand);
   14883 uintptr_t __ovld atomic_fetch_add_explicit(volatile atomic_uintptr_t *object, ptrdiff_t operand, memory_order order);
   14884 uintptr_t __ovld atomic_fetch_add_explicit(volatile atomic_uintptr_t *object, ptrdiff_t operand, memory_order order, memory_scope scope);
   14885 uintptr_t __ovld atomic_fetch_sub(volatile atomic_uintptr_t *object, ptrdiff_t operand);
   14886 uintptr_t __ovld atomic_fetch_sub_explicit(volatile atomic_uintptr_t *object, ptrdiff_t operand, memory_order order);
   14887 uintptr_t __ovld atomic_fetch_sub_explicit(volatile atomic_uintptr_t *object, ptrdiff_t operand, memory_order order, memory_scope scope);
   14888 
   14889 uintptr_t __ovld atomic_fetch_or(volatile atomic_uintptr_t *object, intptr_t operand);
   14890 uintptr_t __ovld atomic_fetch_or_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order);
   14891 uintptr_t __ovld atomic_fetch_or_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order, memory_scope scope);
   14892 uintptr_t __ovld atomic_fetch_xor(volatile atomic_uintptr_t *object, intptr_t operand);
   14893 uintptr_t __ovld atomic_fetch_xor_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order);
   14894 uintptr_t __ovld atomic_fetch_xor_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order, memory_scope scope);
   14895 uintptr_t __ovld atomic_fetch_and(volatile atomic_uintptr_t *object, intptr_t operand);
   14896 uintptr_t __ovld atomic_fetch_and_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order);
   14897 uintptr_t __ovld atomic_fetch_and_explicit(volatile atomic_uintptr_t *object, intptr_t operand, memory_order order, memory_scope scope);
   14898 uintptr_t __ovld atomic_fetch_min(volatile atomic_uintptr_t *object, intptr_t opermax);
   14899 uintptr_t __ovld atomic_fetch_min_explicit(volatile atomic_uintptr_t *object, intptr_t opermax, memory_order minder);
   14900 uintptr_t __ovld atomic_fetch_min_explicit(volatile atomic_uintptr_t *object, intptr_t opermax, memory_order minder, memory_scope scope);
   14901 uintptr_t __ovld atomic_fetch_max(volatile atomic_uintptr_t *object, intptr_t opermax);
   14902 uintptr_t __ovld atomic_fetch_max_explicit(volatile atomic_uintptr_t *object, intptr_t opermax, memory_order minder);
   14903 uintptr_t __ovld atomic_fetch_max_explicit(volatile atomic_uintptr_t *object, intptr_t opermax, memory_order minder, memory_scope scope);
   14904 
   14905 intptr_t __ovld atomic_fetch_or(volatile atomic_intptr_t *object, uintptr_t operand);
   14906 intptr_t __ovld atomic_fetch_or_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order);
   14907 intptr_t __ovld atomic_fetch_or_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order, memory_scope scope);
   14908 intptr_t __ovld atomic_fetch_xor(volatile atomic_intptr_t *object, uintptr_t operand);
   14909 intptr_t __ovld atomic_fetch_xor_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order);
   14910 intptr_t __ovld atomic_fetch_xor_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order, memory_scope scope);
   14911 intptr_t __ovld atomic_fetch_and(volatile atomic_intptr_t *object, uintptr_t operand);
   14912 intptr_t __ovld atomic_fetch_and_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order);
   14913 intptr_t __ovld atomic_fetch_and_explicit(volatile atomic_intptr_t *object, uintptr_t operand, memory_order order, memory_scope scope);
   14914 intptr_t __ovld atomic_fetch_min(volatile atomic_intptr_t *object, uintptr_t opermax);
   14915 intptr_t __ovld atomic_fetch_min_explicit(volatile atomic_intptr_t *object, uintptr_t opermax, memory_order minder);
   14916 intptr_t __ovld atomic_fetch_min_explicit(volatile atomic_intptr_t *object, uintptr_t opermax, memory_order minder, memory_scope scope);
   14917 intptr_t __ovld atomic_fetch_max(volatile atomic_intptr_t *object, uintptr_t opermax);
   14918 intptr_t __ovld atomic_fetch_max_explicit(volatile atomic_intptr_t *object, uintptr_t opermax, memory_order minder);
   14919 intptr_t __ovld atomic_fetch_max_explicit(volatile atomic_intptr_t *object, uintptr_t opermax, memory_order minder, memory_scope scope);
   14920 #endif
   14921 
   14922 // atomic_store()
   14923 
   14924 void __ovld atomic_store(volatile atomic_int *object, int desired);
   14925 void __ovld atomic_store_explicit(volatile atomic_int *object, int desired, memory_order order);
   14926 void __ovld atomic_store_explicit(volatile atomic_int *object, int desired, memory_order order, memory_scope scope);
   14927 void __ovld atomic_store(volatile atomic_uint *object, uint desired);
   14928 void __ovld atomic_store_explicit(volatile atomic_uint *object, uint desired, memory_order order);
   14929 void __ovld atomic_store_explicit(volatile atomic_uint *object, uint desired, memory_order order, memory_scope scope);
   14930 void __ovld atomic_store(volatile atomic_float *object, float desired);
   14931 void __ovld atomic_store_explicit(volatile atomic_float *object, float desired, memory_order order);
   14932 void __ovld atomic_store_explicit(volatile atomic_float *object, float desired, memory_order order, memory_scope scope);
   14933 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
   14934 #ifdef cl_khr_fp64
   14935 void __ovld atomic_store(volatile atomic_double *object, double desired);
   14936 void __ovld atomic_store_explicit(volatile atomic_double *object, double desired, memory_order order);
   14937 void __ovld atomic_store_explicit(volatile atomic_double *object, double desired, memory_order order, memory_scope scope);
   14938 #endif //cl_khr_fp64
   14939 void __ovld atomic_store(volatile atomic_long *object, long desired);
   14940 void __ovld atomic_store_explicit(volatile atomic_long *object, long desired, memory_order order);
   14941 void __ovld atomic_store_explicit(volatile atomic_long *object, long desired, memory_order order, memory_scope scope);
   14942 void __ovld atomic_store(volatile atomic_ulong *object, ulong desired);
   14943 void __ovld atomic_store_explicit(volatile atomic_ulong *object, ulong desired, memory_order order);
   14944 void __ovld atomic_store_explicit(volatile atomic_ulong *object, ulong desired, memory_order order, memory_scope scope);
   14945 #endif
   14946 
   14947 // atomic_load()
   14948 
   14949 int __ovld atomic_load(volatile atomic_int *object);
   14950 int __ovld atomic_load_explicit(volatile atomic_int *object, memory_order order);
   14951 int __ovld atomic_load_explicit(volatile atomic_int *object, memory_order order, memory_scope scope);
   14952 uint __ovld atomic_load(volatile atomic_uint *object);
   14953 uint __ovld atomic_load_explicit(volatile atomic_uint *object, memory_order order);
   14954 uint __ovld atomic_load_explicit(volatile atomic_uint *object, memory_order order, memory_scope scope);
   14955 float __ovld atomic_load(volatile atomic_float *object);
   14956 float __ovld atomic_load_explicit(volatile atomic_float *object, memory_order order);
   14957 float __ovld atomic_load_explicit(volatile atomic_float *object, memory_order order, memory_scope scope);
   14958 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
   14959 #ifdef cl_khr_fp64
   14960 double __ovld atomic_load(volatile atomic_double *object);
   14961 double __ovld atomic_load_explicit(volatile atomic_double *object, memory_order order);
   14962 double __ovld atomic_load_explicit(volatile atomic_double *object, memory_order order, memory_scope scope);
   14963 #endif //cl_khr_fp64
   14964 long __ovld atomic_load(volatile atomic_long *object);
   14965 long __ovld atomic_load_explicit(volatile atomic_long *object, memory_order order);
   14966 long __ovld atomic_load_explicit(volatile atomic_long *object, memory_order order, memory_scope scope);
   14967 ulong __ovld atomic_load(volatile atomic_ulong *object);
   14968 ulong __ovld atomic_load_explicit(volatile atomic_ulong *object, memory_order order);
   14969 ulong __ovld atomic_load_explicit(volatile atomic_ulong *object, memory_order order, memory_scope scope);
   14970 #endif
   14971 
   14972 // atomic_exchange()
   14973 
   14974 int __ovld atomic_exchange(volatile atomic_int *object, int desired);
   14975 int __ovld atomic_exchange_explicit(volatile atomic_int *object, int desired, memory_order order);
   14976 int __ovld atomic_exchange_explicit(volatile atomic_int *object, int desired, memory_order order, memory_scope scope);
   14977 uint __ovld atomic_exchange(volatile atomic_uint *object, uint desired);
   14978 uint __ovld atomic_exchange_explicit(volatile atomic_uint *object, uint desired, memory_order order);
   14979 uint __ovld atomic_exchange_explicit(volatile atomic_uint *object, uint desired, memory_order order, memory_scope scope);
   14980 float __ovld atomic_exchange(volatile atomic_float *object, float desired);
   14981 float __ovld atomic_exchange_explicit(volatile atomic_float *object, float desired, memory_order order);
   14982 float __ovld atomic_exchange_explicit(volatile atomic_float *object, float desired, memory_order order, memory_scope scope);
   14983 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
   14984 #ifdef cl_khr_fp64
   14985 double __ovld atomic_exchange(volatile atomic_double *object, double desired);
   14986 double __ovld atomic_exchange_explicit(volatile atomic_double *object, double desired, memory_order order);
   14987 double __ovld atomic_exchange_explicit(volatile atomic_double *object, double desired, memory_order order, memory_scope scope);
   14988 #endif //cl_khr_fp64
   14989 long __ovld atomic_exchange(volatile atomic_long *object, long desired);
   14990 long __ovld atomic_exchange_explicit(volatile atomic_long *object, long desired, memory_order order);
   14991 long __ovld atomic_exchange_explicit(volatile atomic_long *object, long desired, memory_order order, memory_scope scope);
   14992 ulong __ovld atomic_exchange(volatile atomic_ulong *object, ulong desired);
   14993 ulong __ovld atomic_exchange_explicit(volatile atomic_ulong *object, ulong desired, memory_order order);
   14994 ulong __ovld atomic_exchange_explicit(volatile atomic_ulong *object, ulong desired, memory_order order, memory_scope scope);
   14995 #endif
   14996 
   14997 // atomic_compare_exchange_strong() and atomic_compare_exchange_weak()
   14998 
   14999 bool __ovld atomic_compare_exchange_strong(volatile atomic_int *object, int *expected, int desired);
   15000 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_int *object, int *expected,
   15001                                                                                  int desired, memory_order success, memory_order failure);
   15002 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_int *object, int *expected,
   15003                                                                                  int desired, memory_order success, memory_order failure, memory_scope scope);
   15004 bool __ovld atomic_compare_exchange_strong(volatile atomic_uint *object, uint *expected, uint desired);
   15005 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_uint *object, uint *expected,
   15006                                                                                  uint desired, memory_order success, memory_order failure);
   15007 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_uint *object, uint *expected,
   15008                                                                                  uint desired, memory_order success, memory_order failure, memory_scope scope);
   15009 bool __ovld atomic_compare_exchange_weak(volatile atomic_int *object, int *expected, int desired);
   15010 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_int *object, int *expected,
   15011                                                                                  int desired, memory_order success, memory_order failure);
   15012 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_int *object, int *expected,
   15013                                                                                  int desired, memory_order success, memory_order failure, memory_scope scope);
   15014 bool __ovld atomic_compare_exchange_weak(volatile atomic_uint *object, uint *expected, uint desired);
   15015 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_uint *object, uint *expected,
   15016                                                                                  uint desired, memory_order success, memory_order failure);
   15017 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_uint *object, uint *expected,
   15018                                                                                  uint desired, memory_order success, memory_order failure, memory_scope scope);
   15019 bool __ovld atomic_compare_exchange_strong(volatile atomic_float *object, float *expected, float desired);
   15020 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_float *object, float *expected,
   15021                                                                                  float desired, memory_order success, memory_order failure);
   15022 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_float *object, float *expected,
   15023                                                                                  float desired, memory_order success, memory_order failure, memory_scope scope);
   15024 bool __ovld atomic_compare_exchange_weak(volatile atomic_float *object, float *expected, float desired);
   15025 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_float *object, float *expected,
   15026                                                                                  float desired, memory_order success, memory_order failure);
   15027 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_float *object, float *expected,
   15028                                                                                  float desired, memory_order success, memory_order failure, memory_scope scope);
   15029 #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics)
   15030 #ifdef cl_khr_fp64
   15031 bool __ovld atomic_compare_exchange_strong(volatile atomic_double *object, double *expected, double desired);
   15032 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_double *object, double *expected,
   15033                                                                                  double desired, memory_order success, memory_order failure);
   15034 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_double *object, double *expected,
   15035                                                                                  double desired, memory_order success, memory_order failure, memory_scope scope);
   15036 bool __ovld atomic_compare_exchange_weak(volatile atomic_double *object, double *expected, double desired);
   15037 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_double *object, double *expected,
   15038                                                                                  double desired, memory_order success, memory_order failure);
   15039 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_double *object, double *expected,
   15040                                                                                  double desired, memory_order success, memory_order failure, memory_scope scope);
   15041 #endif //cl_khr_fp64
   15042 bool __ovld atomic_compare_exchange_strong(volatile atomic_long *object, long *expected, long desired);
   15043 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_long *object, long *expected,
   15044                                                                                  long desired, memory_order success, memory_order failure);
   15045 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_long *object, long *expected,
   15046                                                                                  long desired, memory_order success, memory_order failure, memory_scope scope);
   15047 bool __ovld atomic_compare_exchange_weak(volatile atomic_long *object, long *expected, long desired);
   15048 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_long *object, long *expected,
   15049                                                                                  long desired, memory_order success, memory_order failure);
   15050 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_long *object, long *expected,
   15051                                                                                  long desired, memory_order success, memory_order failure, memory_scope scope);
   15052 bool __ovld atomic_compare_exchange_strong(volatile atomic_ulong *object, ulong *expected, ulong desired);
   15053 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_ulong *object, ulong *expected,
   15054                                                                                  ulong desired, memory_order success, memory_order failure);
   15055 bool __ovld atomic_compare_exchange_strong_explicit(volatile atomic_ulong *object, ulong *expected,
   15056                                                                                  ulong desired, memory_order success, memory_order failure, memory_scope scope);
   15057 bool __ovld atomic_compare_exchange_weak(volatile atomic_ulong *object, ulong *expected, ulong desired);
   15058 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_ulong *object, ulong *expected,
   15059                                                                                  ulong desired, memory_order success, memory_order failure);
   15060 bool __ovld atomic_compare_exchange_weak_explicit(volatile atomic_ulong *object, ulong *expected,
   15061                                                                                  ulong desired, memory_order success, memory_order failure, memory_scope scope);
   15062 #endif
   15063 
   15064 // atomic_flag_test_and_set() and atomic_flag_clear()
   15065 
   15066 bool __ovld atomic_flag_test_and_set(volatile atomic_flag *object);
   15067 bool __ovld atomic_flag_test_and_set_explicit(volatile atomic_flag *object, memory_order order);
   15068 bool __ovld atomic_flag_test_and_set_explicit(volatile atomic_flag *object, memory_order order, memory_scope scope);
   15069 void __ovld atomic_flag_clear(volatile atomic_flag *object);
   15070 void __ovld atomic_flag_clear_explicit(volatile atomic_flag *object, memory_order order);
   15071 void __ovld atomic_flag_clear_explicit(volatile atomic_flag *object, memory_order order, memory_scope scope);
   15072 
   15073 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15074 
   15075 // OpenCL v1.1 s6.11.12, v1.2 s6.12.12, v2.0 s6.13.12 - Miscellaneous Vector Functions
   15076 
   15077 /**
   15078  * The shuffle and shuffle2 built-in functions construct
   15079  * a permutation of elements from one or two input
   15080  * vectors respectively that are of the same type,
   15081  * returning a vector with the same element type as the
   15082  * input and length that is the same as the shuffle mask.
   15083  * The size of each element in the mask must match the
   15084  * size of each element in the result. For shuffle, only
   15085  * the ilogb(2m-1) least significant bits of each mask
   15086  * element are considered. For shuffle2, only the
   15087  * ilogb(2m-1)+1 least significant bits of each mask
   15088  * element are considered. Other bits in the mask shall
   15089  * be ignored.
   15090  * The elements of the input vectors are numbered from
   15091  * left to right across one or both of the vectors. For this
   15092  * purpose, the number of elements in a vector is given
   15093  * by vec_step(gentypem). The shuffle mask operand
   15094  * specifies, for each element of the result vector, which
   15095  * element of the one or two input vectors the result
   15096  * element gets.
   15097  * Examples:
   15098  * uint4 mask = (uint4)(3, 2,
   15099  * 1, 0);
   15100  * float4 a;
   15101  * float4 r = shuffle(a, mask);
   15102  * // r.s0123 = a.wzyx
   15103  * uint8 mask = (uint8)(0, 1, 2, 3,
   15104  * 4, 5, 6, 7);
   15105  * float4 a, b;
   15106  * float8 r = shuffle2(a, b, mask);
   15107  * // r.s0123 = a.xyzw
   15108  * // r.s4567 = b.xyzw
   15109  * uint4 mask;
   15110  * float8 a;
   15111  * float4 b;
   15112  * b = shuffle(a, mask);
   15113  * Examples that are not valid are:
   15114  * uint8 mask;
   15115  * short16 a;
   15116  * short8 b;
   15117  * b = shuffle(a, mask); <- not valid
   15118  */
   15119 char2 __ovld __cnfn shuffle(char2 x, uchar2 mask);
   15120 char2 __ovld __cnfn shuffle(char4 x, uchar2 mask);
   15121 char2 __ovld __cnfn shuffle(char8 x, uchar2 mask);
   15122 char2 __ovld __cnfn shuffle(char16 x, uchar2 mask);
   15123 
   15124 uchar2 __ovld __cnfn shuffle(uchar2 x, uchar2 mask);
   15125 uchar2 __ovld __cnfn shuffle(uchar4 x, uchar2 mask);
   15126 uchar2 __ovld __cnfn shuffle(uchar8 x, uchar2 mask);
   15127 uchar2 __ovld __cnfn shuffle(uchar16 x, uchar2 mask);
   15128 
   15129 short2 __ovld __cnfn shuffle(short2 x, ushort2 mask);
   15130 short2 __ovld __cnfn shuffle(short4 x, ushort2 mask);
   15131 short2 __ovld __cnfn shuffle(short8 x, ushort2 mask);
   15132 short2 __ovld __cnfn shuffle(short16 x, ushort2 mask);
   15133 
   15134 ushort2 __ovld __cnfn shuffle(ushort2 x, ushort2 mask);
   15135 ushort2 __ovld __cnfn shuffle(ushort4 x, ushort2 mask);
   15136 ushort2 __ovld __cnfn shuffle(ushort8 x, ushort2 mask);
   15137 ushort2 __ovld __cnfn shuffle(ushort16 x, ushort2 mask);
   15138 
   15139 int2 __ovld __cnfn shuffle(int2 x, uint2 mask);
   15140 int2 __ovld __cnfn shuffle(int4 x, uint2 mask);
   15141 int2 __ovld __cnfn shuffle(int8 x, uint2 mask);
   15142 int2 __ovld __cnfn shuffle(int16 x, uint2 mask);
   15143 
   15144 uint2 __ovld __cnfn shuffle(uint2 x, uint2 mask);
   15145 uint2 __ovld __cnfn shuffle(uint4 x, uint2 mask);
   15146 uint2 __ovld __cnfn shuffle(uint8 x, uint2 mask);
   15147 uint2 __ovld __cnfn shuffle(uint16 x, uint2 mask);
   15148 
   15149 long2 __ovld __cnfn shuffle(long2 x, ulong2 mask);
   15150 long2 __ovld __cnfn shuffle(long4 x, ulong2 mask);
   15151 long2 __ovld __cnfn shuffle(long8 x, ulong2 mask);
   15152 long2 __ovld __cnfn shuffle(long16 x, ulong2 mask);
   15153 
   15154 ulong2 __ovld __cnfn shuffle(ulong2 x, ulong2 mask);
   15155 ulong2 __ovld __cnfn shuffle(ulong4 x, ulong2 mask);
   15156 ulong2 __ovld __cnfn shuffle(ulong8 x, ulong2 mask);
   15157 ulong2 __ovld __cnfn shuffle(ulong16 x, ulong2 mask);
   15158 
   15159 float2 __ovld __cnfn shuffle(float2 x, uint2 mask);
   15160 float2 __ovld __cnfn shuffle(float4 x, uint2 mask);
   15161 float2 __ovld __cnfn shuffle(float8 x, uint2 mask);
   15162 float2 __ovld __cnfn shuffle(float16 x, uint2 mask);
   15163 
   15164 char4 __ovld __cnfn shuffle(char2 x, uchar4 mask);
   15165 char4 __ovld __cnfn shuffle(char4 x, uchar4 mask);
   15166 char4 __ovld __cnfn shuffle(char8 x, uchar4 mask);
   15167 char4 __ovld __cnfn shuffle(char16 x, uchar4 mask);
   15168 
   15169 uchar4 __ovld __cnfn shuffle(uchar2 x, uchar4 mask);
   15170 uchar4 __ovld __cnfn shuffle(uchar4 x, uchar4 mask);
   15171 uchar4 __ovld __cnfn shuffle(uchar8 x, uchar4 mask);
   15172 uchar4 __ovld __cnfn shuffle(uchar16 x, uchar4 mask);
   15173 
   15174 short4 __ovld __cnfn shuffle(short2 x, ushort4 mask);
   15175 short4 __ovld __cnfn shuffle(short4 x, ushort4 mask);
   15176 short4 __ovld __cnfn shuffle(short8 x, ushort4 mask);
   15177 short4 __ovld __cnfn shuffle(short16 x, ushort4 mask);
   15178 
   15179 ushort4 __ovld __cnfn shuffle(ushort2 x, ushort4 mask);
   15180 ushort4 __ovld __cnfn shuffle(ushort4 x, ushort4 mask);
   15181 ushort4 __ovld __cnfn shuffle(ushort8 x, ushort4 mask);
   15182 ushort4 __ovld __cnfn shuffle(ushort16 x, ushort4 mask);
   15183 
   15184 int4 __ovld __cnfn shuffle(int2 x, uint4 mask);
   15185 int4 __ovld __cnfn shuffle(int4 x, uint4 mask);
   15186 int4 __ovld __cnfn shuffle(int8 x, uint4 mask);
   15187 int4 __ovld __cnfn shuffle(int16 x, uint4 mask);
   15188 
   15189 uint4 __ovld __cnfn shuffle(uint2 x, uint4 mask);
   15190 uint4 __ovld __cnfn shuffle(uint4 x, uint4 mask);
   15191 uint4 __ovld __cnfn shuffle(uint8 x, uint4 mask);
   15192 uint4 __ovld __cnfn shuffle(uint16 x, uint4 mask);
   15193 
   15194 long4 __ovld __cnfn shuffle(long2 x, ulong4 mask);
   15195 long4 __ovld __cnfn shuffle(long4 x, ulong4 mask);
   15196 long4 __ovld __cnfn shuffle(long8 x, ulong4 mask);
   15197 long4 __ovld __cnfn shuffle(long16 x, ulong4 mask);
   15198 
   15199 ulong4 __ovld __cnfn shuffle(ulong2 x, ulong4 mask);
   15200 ulong4 __ovld __cnfn shuffle(ulong4 x, ulong4 mask);
   15201 ulong4 __ovld __cnfn shuffle(ulong8 x, ulong4 mask);
   15202 ulong4 __ovld __cnfn shuffle(ulong16 x, ulong4 mask);
   15203 
   15204 float4 __ovld __cnfn shuffle(float2 x, uint4 mask);
   15205 float4 __ovld __cnfn shuffle(float4 x, uint4 mask);
   15206 float4 __ovld __cnfn shuffle(float8 x, uint4 mask);
   15207 float4 __ovld __cnfn shuffle(float16 x, uint4 mask);
   15208 
   15209 char8 __ovld __cnfn shuffle(char2 x, uchar8 mask);
   15210 char8 __ovld __cnfn shuffle(char4 x, uchar8 mask);
   15211 char8 __ovld __cnfn shuffle(char8 x, uchar8 mask);
   15212 char8 __ovld __cnfn shuffle(char16 x, uchar8 mask);
   15213 
   15214 uchar8 __ovld __cnfn shuffle(uchar2 x, uchar8 mask);
   15215 uchar8 __ovld __cnfn shuffle(uchar4 x, uchar8 mask);
   15216 uchar8 __ovld __cnfn shuffle(uchar8 x, uchar8 mask);
   15217 uchar8 __ovld __cnfn shuffle(uchar16 x, uchar8 mask);
   15218 
   15219 short8 __ovld __cnfn shuffle(short2 x, ushort8 mask);
   15220 short8 __ovld __cnfn shuffle(short4 x, ushort8 mask);
   15221 short8 __ovld __cnfn shuffle(short8 x, ushort8 mask);
   15222 short8 __ovld __cnfn shuffle(short16 x, ushort8 mask);
   15223 
   15224 ushort8 __ovld __cnfn shuffle(ushort2 x, ushort8 mask);
   15225 ushort8 __ovld __cnfn shuffle(ushort4 x, ushort8 mask);
   15226 ushort8 __ovld __cnfn shuffle(ushort8 x, ushort8 mask);
   15227 ushort8 __ovld __cnfn shuffle(ushort16 x, ushort8 mask);
   15228 
   15229 int8 __ovld __cnfn shuffle(int2 x, uint8 mask);
   15230 int8 __ovld __cnfn shuffle(int4 x, uint8 mask);
   15231 int8 __ovld __cnfn shuffle(int8 x, uint8 mask);
   15232 int8 __ovld __cnfn shuffle(int16 x, uint8 mask);
   15233 
   15234 uint8 __ovld __cnfn shuffle(uint2 x, uint8 mask);
   15235 uint8 __ovld __cnfn shuffle(uint4 x, uint8 mask);
   15236 uint8 __ovld __cnfn shuffle(uint8 x, uint8 mask);
   15237 uint8 __ovld __cnfn shuffle(uint16 x, uint8 mask);
   15238 
   15239 long8 __ovld __cnfn shuffle(long2 x, ulong8 mask);
   15240 long8 __ovld __cnfn shuffle(long4 x, ulong8 mask);
   15241 long8 __ovld __cnfn shuffle(long8 x, ulong8 mask);
   15242 long8 __ovld __cnfn shuffle(long16 x, ulong8 mask);
   15243 
   15244 ulong8 __ovld __cnfn shuffle(ulong2 x, ulong8 mask);
   15245 ulong8 __ovld __cnfn shuffle(ulong4 x, ulong8 mask);
   15246 ulong8 __ovld __cnfn shuffle(ulong8 x, ulong8 mask);
   15247 ulong8 __ovld __cnfn shuffle(ulong16 x, ulong8 mask);
   15248 
   15249 float8 __ovld __cnfn shuffle(float2 x, uint8 mask);
   15250 float8 __ovld __cnfn shuffle(float4 x, uint8 mask);
   15251 float8 __ovld __cnfn shuffle(float8 x, uint8 mask);
   15252 float8 __ovld __cnfn shuffle(float16 x, uint8 mask);
   15253 
   15254 char16 __ovld __cnfn shuffle(char2 x, uchar16 mask);
   15255 char16 __ovld __cnfn shuffle(char4 x, uchar16 mask);
   15256 char16 __ovld __cnfn shuffle(char8 x, uchar16 mask);
   15257 char16 __ovld __cnfn shuffle(char16 x, uchar16 mask);
   15258 
   15259 uchar16 __ovld __cnfn shuffle(uchar2 x, uchar16 mask);
   15260 uchar16 __ovld __cnfn shuffle(uchar4 x, uchar16 mask);
   15261 uchar16 __ovld __cnfn shuffle(uchar8 x, uchar16 mask);
   15262 uchar16 __ovld __cnfn shuffle(uchar16 x, uchar16 mask);
   15263 
   15264 short16 __ovld __cnfn shuffle(short2 x, ushort16 mask);
   15265 short16 __ovld __cnfn shuffle(short4 x, ushort16 mask);
   15266 short16 __ovld __cnfn shuffle(short8 x, ushort16 mask);
   15267 short16 __ovld __cnfn shuffle(short16 x, ushort16 mask);
   15268 
   15269 ushort16 __ovld __cnfn shuffle(ushort2 x, ushort16 mask);
   15270 ushort16 __ovld __cnfn shuffle(ushort4 x, ushort16 mask);
   15271 ushort16 __ovld __cnfn shuffle(ushort8 x, ushort16 mask);
   15272 ushort16 __ovld __cnfn shuffle(ushort16 x, ushort16 mask);
   15273 
   15274 int16 __ovld __cnfn shuffle(int2 x, uint16 mask);
   15275 int16 __ovld __cnfn shuffle(int4 x, uint16 mask);
   15276 int16 __ovld __cnfn shuffle(int8 x, uint16 mask);
   15277 int16 __ovld __cnfn shuffle(int16 x, uint16 mask);
   15278 
   15279 uint16 __ovld __cnfn shuffle(uint2 x, uint16 mask);
   15280 uint16 __ovld __cnfn shuffle(uint4 x, uint16 mask);
   15281 uint16 __ovld __cnfn shuffle(uint8 x, uint16 mask);
   15282 uint16 __ovld __cnfn shuffle(uint16 x, uint16 mask);
   15283 
   15284 long16 __ovld __cnfn shuffle(long2 x, ulong16 mask);
   15285 long16 __ovld __cnfn shuffle(long4 x, ulong16 mask);
   15286 long16 __ovld __cnfn shuffle(long8 x, ulong16 mask);
   15287 long16 __ovld __cnfn shuffle(long16 x, ulong16 mask);
   15288 
   15289 ulong16 __ovld __cnfn shuffle(ulong2 x, ulong16 mask);
   15290 ulong16 __ovld __cnfn shuffle(ulong4 x, ulong16 mask);
   15291 ulong16 __ovld __cnfn shuffle(ulong8 x, ulong16 mask);
   15292 ulong16 __ovld __cnfn shuffle(ulong16 x, ulong16 mask);
   15293 
   15294 float16 __ovld __cnfn shuffle(float2 x, uint16 mask);
   15295 float16 __ovld __cnfn shuffle(float4 x, uint16 mask);
   15296 float16 __ovld __cnfn shuffle(float8 x, uint16 mask);
   15297 float16 __ovld __cnfn shuffle(float16 x, uint16 mask);
   15298 
   15299 #ifdef cl_khr_fp64
   15300 double2 __ovld __cnfn shuffle(double2 x, ulong2 mask);
   15301 double2 __ovld __cnfn shuffle(double4 x, ulong2 mask);
   15302 double2 __ovld __cnfn shuffle(double8 x, ulong2 mask);
   15303 double2 __ovld __cnfn shuffle(double16 x, ulong2 mask);
   15304 
   15305 double4 __ovld __cnfn shuffle(double2 x, ulong4 mask);
   15306 double4 __ovld __cnfn shuffle(double4 x, ulong4 mask);
   15307 double4 __ovld __cnfn shuffle(double8 x, ulong4 mask);
   15308 double4 __ovld __cnfn shuffle(double16 x, ulong4 mask);
   15309 
   15310 double8 __ovld __cnfn shuffle(double2 x, ulong8 mask);
   15311 double8 __ovld __cnfn shuffle(double4 x, ulong8 mask);
   15312 double8 __ovld __cnfn shuffle(double8 x, ulong8 mask);
   15313 double8 __ovld __cnfn shuffle(double16 x, ulong8 mask);
   15314 
   15315 double16 __ovld __cnfn shuffle(double2 x, ulong16 mask);
   15316 double16 __ovld __cnfn shuffle(double4 x, ulong16 mask);
   15317 double16 __ovld __cnfn shuffle(double8 x, ulong16 mask);
   15318 double16 __ovld __cnfn shuffle(double16 x, ulong16 mask);
   15319 #endif //cl_khr_fp64
   15320 
   15321 #ifdef cl_khr_fp16
   15322 half2 __ovld __cnfn shuffle(half2 x, ushort2 mask);
   15323 half2 __ovld __cnfn shuffle(half4 x, ushort2 mask);
   15324 half2 __ovld __cnfn shuffle(half8 x, ushort2 mask);
   15325 half2 __ovld __cnfn shuffle(half16 x, ushort2 mask);
   15326 
   15327 half4 __ovld __cnfn shuffle(half2 x, ushort4 mask);
   15328 half4 __ovld __cnfn shuffle(half4 x, ushort4 mask);
   15329 half4 __ovld __cnfn shuffle(half8 x, ushort4 mask);
   15330 half4 __ovld __cnfn shuffle(half16 x, ushort4 mask);
   15331 
   15332 half8 __ovld __cnfn shuffle(half2 x, ushort8 mask);
   15333 half8 __ovld __cnfn shuffle(half4 x, ushort8 mask);
   15334 half8 __ovld __cnfn shuffle(half8 x, ushort8 mask);
   15335 half8 __ovld __cnfn shuffle(half16 x, ushort8 mask);
   15336 
   15337 half16 __ovld __cnfn shuffle(half2 x, ushort16 mask);
   15338 half16 __ovld __cnfn shuffle(half4 x, ushort16 mask);
   15339 half16 __ovld __cnfn shuffle(half8 x, ushort16 mask);
   15340 half16 __ovld __cnfn shuffle(half16 x, ushort16 mask);
   15341 #endif //cl_khr_fp16
   15342 
   15343 char2 __ovld __cnfn shuffle2(char2 x, char2 y, uchar2 mask);
   15344 char2 __ovld __cnfn shuffle2(char4 x, char4 y, uchar2 mask);
   15345 char2 __ovld __cnfn shuffle2(char8 x, char8 y, uchar2 mask);
   15346 char2 __ovld __cnfn shuffle2(char16 x, char16 y, uchar2 mask);
   15347 
   15348 uchar2 __ovld __cnfn shuffle2(uchar2 x, uchar2 y, uchar2 mask);
   15349 uchar2 __ovld __cnfn shuffle2(uchar4 x, uchar4 y, uchar2 mask);
   15350 uchar2 __ovld __cnfn shuffle2(uchar8 x, uchar8 y, uchar2 mask);
   15351 uchar2 __ovld __cnfn shuffle2(uchar16 x, uchar16 y, uchar2 mask);
   15352 
   15353 short2 __ovld __cnfn shuffle2(short2 x, short2 y, ushort2 mask);
   15354 short2 __ovld __cnfn shuffle2(short4 x, short4 y, ushort2 mask);
   15355 short2 __ovld __cnfn shuffle2(short8 x, short8 y, ushort2 mask);
   15356 short2 __ovld __cnfn shuffle2(short16 x, short16 y, ushort2 mask);
   15357 
   15358 ushort2 __ovld __cnfn shuffle2(ushort2 x, ushort2 y, ushort2 mask);
   15359 ushort2 __ovld __cnfn shuffle2(ushort4 x, ushort4 y, ushort2 mask);
   15360 ushort2 __ovld __cnfn shuffle2(ushort8 x, ushort8 y, ushort2 mask);
   15361 ushort2 __ovld __cnfn shuffle2(ushort16 x, ushort16 y, ushort2 mask);
   15362 
   15363 int2 __ovld __cnfn shuffle2(int2 x, int2 y, uint2 mask);
   15364 int2 __ovld __cnfn shuffle2(int4 x, int4 y, uint2 mask);
   15365 int2 __ovld __cnfn shuffle2(int8 x, int8 y, uint2 mask);
   15366 int2 __ovld __cnfn shuffle2(int16 x, int16 y, uint2 mask);
   15367 
   15368 uint2 __ovld __cnfn shuffle2(uint2 x, uint2 y, uint2 mask);
   15369 uint2 __ovld __cnfn shuffle2(uint4 x, uint4 y, uint2 mask);
   15370 uint2 __ovld __cnfn shuffle2(uint8 x, uint8 y, uint2 mask);
   15371 uint2 __ovld __cnfn shuffle2(uint16 x, uint16 y, uint2 mask);
   15372 
   15373 long2 __ovld __cnfn shuffle2(long2 x, long2 y, ulong2 mask);
   15374 long2 __ovld __cnfn shuffle2(long4 x, long4 y, ulong2 mask);
   15375 long2 __ovld __cnfn shuffle2(long8 x, long8 y, ulong2 mask);
   15376 long2 __ovld __cnfn shuffle2(long16 x, long16 y, ulong2 mask);
   15377 
   15378 ulong2 __ovld __cnfn shuffle2(ulong2 x, ulong2 y, ulong2 mask);
   15379 ulong2 __ovld __cnfn shuffle2(ulong4 x, ulong4 y, ulong2 mask);
   15380 ulong2 __ovld __cnfn shuffle2(ulong8 x, ulong8 y, ulong2 mask);
   15381 ulong2 __ovld __cnfn shuffle2(ulong16 x, ulong16 y, ulong2 mask);
   15382 
   15383 float2 __ovld __cnfn shuffle2(float2 x, float2 y, uint2 mask);
   15384 float2 __ovld __cnfn shuffle2(float4 x, float4 y, uint2 mask);
   15385 float2 __ovld __cnfn shuffle2(float8 x, float8 y, uint2 mask);
   15386 float2 __ovld __cnfn shuffle2(float16 x, float16 y, uint2 mask);
   15387 
   15388 char4 __ovld __cnfn shuffle2(char2 x, char2 y, uchar4 mask);
   15389 char4 __ovld __cnfn shuffle2(char4 x, char4 y, uchar4 mask);
   15390 char4 __ovld __cnfn shuffle2(char8 x, char8 y, uchar4 mask);
   15391 char4 __ovld __cnfn shuffle2(char16 x, char16 y, uchar4 mask);
   15392 
   15393 uchar4 __ovld __cnfn shuffle2(uchar2 x, uchar2 y, uchar4 mask);
   15394 uchar4 __ovld __cnfn shuffle2(uchar4 x, uchar4 y, uchar4 mask);
   15395 uchar4 __ovld __cnfn shuffle2(uchar8 x, uchar8 y, uchar4 mask);
   15396 uchar4 __ovld __cnfn shuffle2(uchar16 x, uchar16 y, uchar4 mask);
   15397 
   15398 short4 __ovld __cnfn shuffle2(short2 x, short2 y, ushort4 mask);
   15399 short4 __ovld __cnfn shuffle2(short4 x, short4 y, ushort4 mask);
   15400 short4 __ovld __cnfn shuffle2(short8 x, short8 y, ushort4 mask);
   15401 short4 __ovld __cnfn shuffle2(short16 x, short16 y, ushort4 mask);
   15402 
   15403 ushort4 __ovld __cnfn shuffle2(ushort2 x, ushort2 y, ushort4 mask);
   15404 ushort4 __ovld __cnfn shuffle2(ushort4 x, ushort4 y, ushort4 mask);
   15405 ushort4 __ovld __cnfn shuffle2(ushort8 x, ushort8 y, ushort4 mask);
   15406 ushort4 __ovld __cnfn shuffle2(ushort16 x, ushort16 y, ushort4 mask);
   15407 
   15408 int4 __ovld __cnfn shuffle2(int2 x, int2 y, uint4 mask);
   15409 int4 __ovld __cnfn shuffle2(int4 x, int4 y, uint4 mask);
   15410 int4 __ovld __cnfn shuffle2(int8 x, int8 y, uint4 mask);
   15411 int4 __ovld __cnfn shuffle2(int16 x, int16 y, uint4 mask);
   15412 
   15413 uint4 __ovld __cnfn shuffle2(uint2 x, uint2 y, uint4 mask);
   15414 uint4 __ovld __cnfn shuffle2(uint4 x, uint4 y, uint4 mask);
   15415 uint4 __ovld __cnfn shuffle2(uint8 x, uint8 y, uint4 mask);
   15416 uint4 __ovld __cnfn shuffle2(uint16 x, uint16 y, uint4 mask);
   15417 
   15418 long4 __ovld __cnfn shuffle2(long2 x, long2 y, ulong4 mask);
   15419 long4 __ovld __cnfn shuffle2(long4 x, long4 y, ulong4 mask);
   15420 long4 __ovld __cnfn shuffle2(long8 x, long8 y, ulong4 mask);
   15421 long4 __ovld __cnfn shuffle2(long16 x, long16 y, ulong4 mask);
   15422 
   15423 ulong4 __ovld __cnfn shuffle2(ulong2 x, ulong2 y, ulong4 mask);
   15424 ulong4 __ovld __cnfn shuffle2(ulong4 x, ulong4 y, ulong4 mask);
   15425 ulong4 __ovld __cnfn shuffle2(ulong8 x, ulong8 y, ulong4 mask);
   15426 ulong4 __ovld __cnfn shuffle2(ulong16 x, ulong16 y, ulong4 mask);
   15427 
   15428 float4 __ovld __cnfn shuffle2(float2 x, float2 y, uint4 mask);
   15429 float4 __ovld __cnfn shuffle2(float4 x, float4 y, uint4 mask);
   15430 float4 __ovld __cnfn shuffle2(float8 x, float8 y, uint4 mask);
   15431 float4 __ovld __cnfn shuffle2(float16 x, float16 y, uint4 mask);
   15432 
   15433 char8 __ovld __cnfn shuffle2(char2 x, char2 y, uchar8 mask);
   15434 char8 __ovld __cnfn shuffle2(char4 x, char4 y, uchar8 mask);
   15435 char8 __ovld __cnfn shuffle2(char8 x, char8 y, uchar8 mask);
   15436 char8 __ovld __cnfn shuffle2(char16 x, char16 y, uchar8 mask);
   15437 
   15438 uchar8 __ovld __cnfn shuffle2(uchar2 x, uchar2 y, uchar8 mask);
   15439 uchar8 __ovld __cnfn shuffle2(uchar4 x, uchar4 y, uchar8 mask);
   15440 uchar8 __ovld __cnfn shuffle2(uchar8 x, uchar8 y, uchar8 mask);
   15441 uchar8 __ovld __cnfn shuffle2(uchar16 x, uchar16 y, uchar8 mask);
   15442 
   15443 short8 __ovld __cnfn shuffle2(short2 x, short2 y, ushort8 mask);
   15444 short8 __ovld __cnfn shuffle2(short4 x, short4 y, ushort8 mask);
   15445 short8 __ovld __cnfn shuffle2(short8 x, short8 y, ushort8 mask);
   15446 short8 __ovld __cnfn shuffle2(short16 x, short16 y, ushort8 mask);
   15447 
   15448 ushort8 __ovld __cnfn shuffle2(ushort2 x, ushort2 y, ushort8 mask);
   15449 ushort8 __ovld __cnfn shuffle2(ushort4 x, ushort4 y, ushort8 mask);
   15450 ushort8 __ovld __cnfn shuffle2(ushort8 x, ushort8 y, ushort8 mask);
   15451 ushort8 __ovld __cnfn shuffle2(ushort16 x, ushort16 y, ushort8 mask);
   15452 
   15453 int8 __ovld __cnfn shuffle2(int2 x, int2 y, uint8 mask);
   15454 int8 __ovld __cnfn shuffle2(int4 x, int4 y, uint8 mask);
   15455 int8 __ovld __cnfn shuffle2(int8 x, int8 y, uint8 mask);
   15456 int8 __ovld __cnfn shuffle2(int16 x, int16 y, uint8 mask);
   15457 
   15458 uint8 __ovld __cnfn shuffle2(uint2 x, uint2 y, uint8 mask);
   15459 uint8 __ovld __cnfn shuffle2(uint4 x, uint4 y, uint8 mask);
   15460 uint8 __ovld __cnfn shuffle2(uint8 x, uint8 y, uint8 mask);
   15461 uint8 __ovld __cnfn shuffle2(uint16 x, uint16 y, uint8 mask);
   15462 
   15463 long8 __ovld __cnfn shuffle2(long2 x, long2 y, ulong8 mask);
   15464 long8 __ovld __cnfn shuffle2(long4 x, long4 y, ulong8 mask);
   15465 long8 __ovld __cnfn shuffle2(long8 x, long8 y, ulong8 mask);
   15466 long8 __ovld __cnfn shuffle2(long16 x, long16 y, ulong8 mask);
   15467 
   15468 ulong8 __ovld __cnfn shuffle2(ulong2 x, ulong2 y, ulong8 mask);
   15469 ulong8 __ovld __cnfn shuffle2(ulong4 x, ulong4 y, ulong8 mask);
   15470 ulong8 __ovld __cnfn shuffle2(ulong8 x, ulong8 y, ulong8 mask);
   15471 ulong8 __ovld __cnfn shuffle2(ulong16 x, ulong16 y, ulong8 mask);
   15472 
   15473 float8 __ovld __cnfn shuffle2(float2 x, float2 y, uint8 mask);
   15474 float8 __ovld __cnfn shuffle2(float4 x, float4 y, uint8 mask);
   15475 float8 __ovld __cnfn shuffle2(float8 x, float8 y, uint8 mask);
   15476 float8 __ovld __cnfn shuffle2(float16 x, float16 y, uint8 mask);
   15477 
   15478 char16 __ovld __cnfn shuffle2(char2 x, char2 y, uchar16 mask);
   15479 char16 __ovld __cnfn shuffle2(char4 x, char4 y, uchar16 mask);
   15480 char16 __ovld __cnfn shuffle2(char8 x, char8 y, uchar16 mask);
   15481 char16 __ovld __cnfn shuffle2(char16 x, char16 y, uchar16 mask);
   15482 
   15483 uchar16 __ovld __cnfn shuffle2(uchar2 x, uchar2 y, uchar16 mask);
   15484 uchar16 __ovld __cnfn shuffle2(uchar4 x, uchar4 y, uchar16 mask);
   15485 uchar16 __ovld __cnfn shuffle2(uchar8 x, uchar8 y, uchar16 mask);
   15486 uchar16 __ovld __cnfn shuffle2(uchar16 x, uchar16 y, uchar16 mask);
   15487 
   15488 short16 __ovld __cnfn shuffle2(short2 x, short2 y, ushort16 mask);
   15489 short16 __ovld __cnfn shuffle2(short4 x, short4 y, ushort16 mask);
   15490 short16 __ovld __cnfn shuffle2(short8 x, short8 y, ushort16 mask);
   15491 short16 __ovld __cnfn shuffle2(short16 x, short16 y, ushort16 mask);
   15492 
   15493 ushort16 __ovld __cnfn shuffle2(ushort2 x, ushort2 y, ushort16 mask);
   15494 ushort16 __ovld __cnfn shuffle2(ushort4 x, ushort4 y, ushort16 mask);
   15495 ushort16 __ovld __cnfn shuffle2(ushort8 x, ushort8 y, ushort16 mask);
   15496 ushort16 __ovld __cnfn shuffle2(ushort16 x, ushort16 y, ushort16 mask);
   15497 
   15498 int16 __ovld __cnfn shuffle2(int2 x, int2 y, uint16 mask);
   15499 int16 __ovld __cnfn shuffle2(int4 x, int4 y, uint16 mask);
   15500 int16 __ovld __cnfn shuffle2(int8 x, int8 y, uint16 mask);
   15501 int16 __ovld __cnfn shuffle2(int16 x, int16 y, uint16 mask);
   15502 
   15503 uint16 __ovld __cnfn shuffle2(uint2 x, uint2 y, uint16 mask);
   15504 uint16 __ovld __cnfn shuffle2(uint4 x, uint4 y, uint16 mask);
   15505 uint16 __ovld __cnfn shuffle2(uint8 x, uint8 y, uint16 mask);
   15506 uint16 __ovld __cnfn shuffle2(uint16 x, uint16 y, uint16 mask);
   15507 
   15508 long16 __ovld __cnfn shuffle2(long2 x, long2 y, ulong16 mask);
   15509 long16 __ovld __cnfn shuffle2(long4 x, long4 y, ulong16 mask);
   15510 long16 __ovld __cnfn shuffle2(long8 x, long8 y, ulong16 mask);
   15511 long16 __ovld __cnfn shuffle2(long16 x, long16 y, ulong16 mask);
   15512 
   15513 ulong16 __ovld __cnfn shuffle2(ulong2 x, ulong2 y, ulong16 mask);
   15514 ulong16 __ovld __cnfn shuffle2(ulong4 x, ulong4 y, ulong16 mask);
   15515 ulong16 __ovld __cnfn shuffle2(ulong8 x, ulong8 y, ulong16 mask);
   15516 ulong16 __ovld __cnfn shuffle2(ulong16 x, ulong16 y, ulong16 mask);
   15517 
   15518 float16 __ovld __cnfn shuffle2(float2 x, float2 y, uint16 mask);
   15519 float16 __ovld __cnfn shuffle2(float4 x, float4 y, uint16 mask);
   15520 float16 __ovld __cnfn shuffle2(float8 x, float8 y, uint16 mask);
   15521 float16 __ovld __cnfn shuffle2(float16 x, float16 y, uint16 mask);
   15522 
   15523 #ifdef cl_khr_fp64
   15524 double2 __ovld __cnfn shuffle2(double2 x, double2 y, ulong2 mask);
   15525 double2 __ovld __cnfn shuffle2(double4 x, double4 y, ulong2 mask);
   15526 double2 __ovld __cnfn shuffle2(double8 x, double8 y, ulong2 mask);
   15527 double2 __ovld __cnfn shuffle2(double16 x, double16 y, ulong2 mask);
   15528 
   15529 double4 __ovld __cnfn shuffle2(double2 x, double2 y, ulong4 mask);
   15530 double4 __ovld __cnfn shuffle2(double4 x, double4 y, ulong4 mask);
   15531 double4 __ovld __cnfn shuffle2(double8 x, double8 y, ulong4 mask);
   15532 double4 __ovld __cnfn shuffle2(double16 x, double16 y, ulong4 mask);
   15533 
   15534 double8 __ovld __cnfn shuffle2(double2 x, double2 y, ulong8 mask);
   15535 double8 __ovld __cnfn shuffle2(double4 x, double4 y, ulong8 mask);
   15536 double8 __ovld __cnfn shuffle2(double8 x, double8 y, ulong8 mask);
   15537 double8 __ovld __cnfn shuffle2(double16 x, double16 y, ulong8 mask);
   15538 
   15539 double16 __ovld __cnfn shuffle2(double2 x, double2 y, ulong16 mask);
   15540 double16 __ovld __cnfn shuffle2(double4 x, double4 y, ulong16 mask);
   15541 double16 __ovld __cnfn shuffle2(double8 x, double8 y, ulong16 mask);
   15542 double16 __ovld __cnfn shuffle2(double16 x, double16 y, ulong16 mask);
   15543 #endif //cl_khr_fp64
   15544 
   15545 #ifdef cl_khr_fp16
   15546 half2 __ovld __cnfn shuffle2(half2 x, half2 y, ushort2 mask);
   15547 half2 __ovld __cnfn shuffle2(half4 x, half4 y, ushort2 mask);
   15548 half2 __ovld __cnfn shuffle2(half8 x, half8 y, ushort2 mask);
   15549 half2 __ovld __cnfn shuffle2(half16 x, half16 y, ushort2 mask);
   15550 
   15551 half4 __ovld __cnfn shuffle2(half2 x, half2 y, ushort4 mask);
   15552 half4 __ovld __cnfn shuffle2(half4 x, half4 y, ushort4 mask);
   15553 half4 __ovld __cnfn shuffle2(half8 x, half8 y, ushort4 mask);
   15554 half4 __ovld __cnfn shuffle2(half16 x, half16 y, ushort4 mask);
   15555 
   15556 half8 __ovld __cnfn shuffle2(half2 x, half2 y, ushort8 mask);
   15557 half8 __ovld __cnfn shuffle2(half4 x, half4 y, ushort8 mask);
   15558 half8 __ovld __cnfn shuffle2(half8 x, half8 y, ushort8 mask);
   15559 half8 __ovld __cnfn shuffle2(half16 x, half16 y, ushort8 mask);
   15560 
   15561 half16 __ovld __cnfn shuffle2(half2 x, half2 y, ushort16 mask);
   15562 half16 __ovld __cnfn shuffle2(half4 x, half4 y, ushort16 mask);
   15563 half16 __ovld __cnfn shuffle2(half8 x, half8 y, ushort16 mask);
   15564 half16 __ovld __cnfn shuffle2(half16 x, half16 y, ushort16 mask);
   15565 #endif //cl_khr_fp16
   15566 
   15567 // OpenCL v1.2 s6.12.13, v2.0 s6.13.13 - printf
   15568 
   15569 int printf(__constant const char* st, ...);
   15570 
   15571 // OpenCL v1.1 s6.11.3, v1.2 s6.12.14, v2.0 s6.13.14 - Image Read and Write Functions
   15572 
   15573 // These values need to match the runtime equivalent
   15574 //
   15575 // Addressing Mode.
   15576 //
   15577 #define CLK_ADDRESS_NONE                0
   15578 #define CLK_ADDRESS_CLAMP_TO_EDGE       2
   15579 #define CLK_ADDRESS_CLAMP               4
   15580 #define CLK_ADDRESS_REPEAT              6
   15581 #define CLK_ADDRESS_MIRRORED_REPEAT     8
   15582 
   15583 //
   15584 // Coordination Normalization
   15585 //
   15586 #define CLK_NORMALIZED_COORDS_FALSE     0
   15587 #define CLK_NORMALIZED_COORDS_TRUE      1
   15588 
   15589 //
   15590 // Filtering Mode.
   15591 //
   15592 #define CLK_FILTER_NEAREST              0x10
   15593 #define CLK_FILTER_LINEAR               0x20
   15594 
   15595 /**
   15596  * Use the coordinate (coord.xy) to do an element lookup in
   15597  * the 2D image object specified by image.
   15598  *
   15599  * Use the coordinate (coord.x, coord.y, coord.z) to do
   15600  * an element lookup in the 3D image object specified
   15601  * by image. coord.w is ignored.
   15602  *
   15603  * Use the coordinate (coord.z) to index into the
   15604  * 2D image array object specified by image_array
   15605  * and (coord.x, coord.y) to do an element lookup in
   15606  * the 2D image object specified by image.
   15607  *
   15608  * Use the coordinate (x) to do an element lookup in
   15609  * the 1D image object specified by image.
   15610  *
   15611  * Use the coordinate (coord.y) to index into the
   15612  * 1D image array object specified by image_array
   15613  * and (coord.x) to do an element lookup in
   15614  * the 1D image object specified by image.
   15615  *
   15616  * Use the coordinate (cood.xy) and sample to do an
   15617  * element lookup in the 2D multi-sample image specified
   15618  * by image.
   15619  *
   15620  * Use coord.xy and sample to do an element
   15621  * lookup in the 2D multi-sample image layer
   15622  * identified by index coord.z in the 2D multi-sample
   15623  * image array specified by image.
   15624  *
   15625  * For mipmap images, use the mip-level specified by
   15626  * the Level-of-Detail (lod) or use gradients for LOD
   15627  * computation.
   15628  *
   15629  * read_imagef returns floating-point values in the
   15630  * range [0.0 ... 1.0] for image objects created with
   15631  * image_channel_data_type set to one of the predefined
   15632  * packed formats or CL_UNORM_INT8, or
   15633  * CL_UNORM_INT16.
   15634  *
   15635  * read_imagef returns floating-point values in the
   15636  * range [-1.0 ... 1.0] for image objects created with
   15637  * image_channel_data_type set to CL_SNORM_INT8,
   15638  * or CL_SNORM_INT16.
   15639  *
   15640  * read_imagef returns floating-point values for image
   15641  * objects created with image_channel_data_type set to
   15642  * CL_HALF_FLOAT or CL_FLOAT.
   15643  *
   15644  * read_imagei and read_imageui return
   15645  * unnormalized signed integer and unsigned integer
   15646  * values respectively. Each channel will be stored in a
   15647  * 32-bit integer.
   15648  *
   15649  * read_imagei can only be used with image objects
   15650  * created with image_channel_data_type set to one of
   15651  * the following values:
   15652  * CL_SIGNED_INT8,
   15653  * CL_SIGNED_INT16 and
   15654  * CL_SIGNED_INT32.
   15655  * If the image_channel_data_type is not one of the
   15656  * above values, the values returned by read_imagei
   15657  * are undefined.
   15658  *
   15659  * read_imageui can only be used with image objects
   15660  * created with image_channel_data_type set to one of
   15661  * the following values:
   15662  * CL_UNSIGNED_INT8,
   15663  * CL_UNSIGNED_INT16 and
   15664  * CL_UNSIGNED_INT32.
   15665  * If the image_channel_data_type is not one of the
   15666  * above values, the values returned by read_imageui
   15667  * are undefined.
   15668  *
   15669  * The read_image{i|ui} calls support a nearest filter
   15670  * only. The filter_mode specified in sampler
   15671  * must be set to CLK_FILTER_NEAREST; otherwise
   15672  * the values returned are undefined.
   15673 
   15674  * The read_image{f|i|ui} calls that take
   15675  * integer coordinates must use a sampler with
   15676  * normalized coordinates set to
   15677  * CLK_NORMALIZED_COORDS_FALSE and
   15678  * addressing mode set to
   15679  * CLK_ADDRESS_CLAMP_TO_EDGE,
   15680  * CLK_ADDRESS_CLAMP or CLK_ADDRESS_NONE;
   15681  * otherwise the values returned are undefined.
   15682  *
   15683  * Values returned by read_imagef for image objects
   15684  * with image_channel_data_type values not specified
   15685  * in the description above are undefined.
   15686  */
   15687 
   15688 float4 __purefn __ovld read_imagef(read_only image2d_t image, sampler_t sampler, int2 coord);
   15689 float4 __purefn __ovld read_imagef(read_only image2d_t image, sampler_t sampler, float2 coord);
   15690 
   15691 int4 __purefn __ovld read_imagei(read_only image2d_t image, sampler_t sampler, int2 coord);
   15692 int4 __purefn __ovld read_imagei(read_only image2d_t image, sampler_t sampler, float2 coord);
   15693 uint4 __purefn __ovld read_imageui(read_only image2d_t image, sampler_t sampler, int2 coord);
   15694 uint4 __purefn __ovld read_imageui(read_only image2d_t image, sampler_t sampler, float2 coord);
   15695 
   15696 float4 __purefn __ovld read_imagef(read_only image3d_t image, sampler_t sampler, int4 coord);
   15697 float4 __purefn __ovld read_imagef(read_only image3d_t image, sampler_t sampler, float4 coord);
   15698 
   15699 int4 __purefn __ovld read_imagei(read_only image3d_t image, sampler_t sampler, int4 coord);
   15700 int4 __purefn __ovld read_imagei(read_only image3d_t image, sampler_t sampler, float4 coord);
   15701 uint4 __purefn __ovld read_imageui(read_only image3d_t image, sampler_t sampler, int4 coord);
   15702 uint4 __purefn __ovld read_imageui(read_only image3d_t image, sampler_t sampler, float4 coord);
   15703 
   15704 float4 __purefn __ovld read_imagef(read_only image2d_array_t image_array, sampler_t sampler, int4 coord);
   15705 float4 __purefn __ovld read_imagef(read_only image2d_array_t image_array, sampler_t sampler, float4 coord);
   15706 
   15707 int4 __purefn __ovld read_imagei(read_only image2d_array_t image_array, sampler_t sampler, int4 coord);
   15708 int4 __purefn __ovld read_imagei(read_only image2d_array_t image_array, sampler_t sampler, float4 coord);
   15709 uint4 __purefn __ovld read_imageui(read_only image2d_array_t image_array, sampler_t sampler, int4 coord);
   15710 uint4 __purefn __ovld read_imageui(read_only image2d_array_t image_array, sampler_t sampler, float4 coord);
   15711 
   15712 float4 __purefn __ovld read_imagef(read_only image1d_t image, sampler_t sampler, int coord);
   15713 float4 __purefn __ovld read_imagef(read_only image1d_t image, sampler_t sampler, float coord);
   15714 
   15715 int4 __purefn __ovld read_imagei(read_only image1d_t image, sampler_t sampler, int coord);
   15716 int4 __purefn __ovld read_imagei(read_only image1d_t image, sampler_t sampler, float coord);
   15717 uint4 __purefn __ovld read_imageui(read_only image1d_t image, sampler_t sampler, int coord);
   15718 uint4 __purefn __ovld read_imageui(read_only image1d_t image, sampler_t sampler, float coord);
   15719 
   15720 float4 __purefn __ovld read_imagef(read_only image1d_array_t image_array, sampler_t sampler, int2 coord);
   15721 float4 __purefn __ovld read_imagef(read_only image1d_array_t image_array, sampler_t sampler, float2 coord);
   15722 
   15723 int4 __purefn __ovld read_imagei(read_only image1d_array_t image_array, sampler_t sampler, int2 coord);
   15724 int4 __purefn __ovld read_imagei(read_only image1d_array_t image_array, sampler_t sampler, float2 coord);
   15725 uint4 __purefn __ovld read_imageui(read_only image1d_array_t image_array, sampler_t sampler, int2 coord);
   15726 uint4 __purefn __ovld read_imageui(read_only image1d_array_t image_array, sampler_t sampler, float2 coord);
   15727 
   15728 #ifdef cl_khr_depth_images
   15729 float __purefn __ovld read_imagef(read_only image2d_depth_t image, sampler_t sampler, float2 coord);
   15730 float __purefn __ovld read_imagef(read_only image2d_depth_t image, sampler_t sampler, int2 coord);
   15731 
   15732 float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, sampler_t sampler, float4 coord);
   15733 float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, sampler_t sampler, int4 coord);
   15734 #endif //cl_khr_depth_images
   15735 
   15736 #if defined(cl_khr_gl_msaa_sharing)
   15737 float4 __purefn __ovld read_imagef(read_only image2d_msaa_t image, int2 coord, int sample);
   15738 int4 __purefn __ovld read_imagei(read_only image2d_msaa_t image, int2 coord, int sample);
   15739 uint4 __purefn __ovld read_imageui(read_only image2d_msaa_t image, int2 coord, int sample);
   15740 
   15741 float __purefn __ovld read_imagef(read_only image2d_msaa_depth_t image, int2 coord, int sample);
   15742 
   15743 float4 __purefn __ovld read_imagef(read_only image2d_array_msaa_t image, int4 coord, int sample);
   15744 int4 __purefn __ovld read_imagei(read_only image2d_array_msaa_t image, int4 coord, int sample);
   15745 uint4 __purefn __ovld read_imageui(read_only image2d_array_msaa_t image, int4 coord, int sample);
   15746 
   15747 float __purefn __ovld read_imagef(read_only image2d_array_msaa_depth_t image, int4 coord, int sample);
   15748 #endif //cl_khr_gl_msaa_sharing
   15749 
   15750 // OpenCL Extension v2.0 s9.18 - Mipmaps
   15751 #ifdef cl_khr_mipmap_image
   15752 
   15753 float4 __purefn __ovld read_imagef(read_only image1d_t image, sampler_t sampler, float coord, float lod);
   15754 int4 __purefn __ovld read_imagei(read_only image1d_t image, sampler_t sampler, float coord, float lod);
   15755 uint4 __purefn __ovld read_imageui(read_only image1d_t image, sampler_t sampler, float coord, float lod);
   15756 
   15757 float4 __purefn __ovld read_imagef(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
   15758 int4 __purefn __ovld read_imagei(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
   15759 uint4 __purefn __ovld read_imageui(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
   15760 
   15761 float4 __purefn __ovld read_imagef(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
   15762 int4 __purefn __ovld read_imagei(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
   15763 uint4 __purefn __ovld read_imageui(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
   15764 
   15765 float __purefn __ovld read_imagef(read_only image2d_depth_t image, sampler_t sampler, float2 coord, float lod);
   15766 
   15767 float4 __purefn __ovld read_imagef(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
   15768 int4 __purefn __ovld read_imagei(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
   15769 uint4 __purefn __ovld read_imageui(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
   15770 
   15771 float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, sampler_t sampler, float4 coord, float lod);
   15772 
   15773 float4 __purefn __ovld read_imagef(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
   15774 int4 __purefn __ovld read_imagei(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
   15775 uint4 __purefn __ovld read_imageui(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
   15776 
   15777 float4 __purefn __ovld read_imagef(read_only image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
   15778 int4 __purefn __ovld read_imagei(read_only image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
   15779 uint4 __purefn __ovld read_imageui(read_only image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
   15780 
   15781 float4 __purefn __ovld read_imagef(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
   15782 int4 __purefn __ovld read_imagei(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
   15783 uint4 __purefn __ovld read_imageui(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
   15784 
   15785 float4 __purefn __ovld read_imagef(read_only image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
   15786 int4 __purefn __ovld read_imagei(read_only image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
   15787 uint4 __purefn __ovld read_imageui(read_only image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
   15788 
   15789 float __purefn __ovld read_imagef(read_only image2d_depth_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
   15790 
   15791 float4 __purefn __ovld read_imagef(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
   15792 int4 __purefn __ovld read_imagei(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
   15793 uint4 __purefn __ovld read_imageui(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
   15794 
   15795 float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
   15796 
   15797 float4 __purefn __ovld read_imagef(read_only image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
   15798 int4 __purefn __ovld read_imagei(read_only image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
   15799 uint4 __purefn __ovld read_imageui(read_only image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
   15800 
   15801 float4 __purefn __ovld read_imagef(read_only image1d_t image, sampler_t sampler, float coord, float lod);
   15802 int4 __purefn __ovld read_imagei(read_only image1d_t image, sampler_t sampler, float coord, float lod);
   15803 uint4 __purefn __ovld read_imageui(read_only image1d_t image, sampler_t sampler, float coord, float lod);
   15804 
   15805 float4 __purefn __ovld read_imagef(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
   15806 int4 __purefn __ovld read_imagei(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
   15807 uint4 __purefn __ovld read_imageui(read_only image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
   15808 
   15809 float4 __purefn __ovld read_imagef(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
   15810 int4 __purefn __ovld read_imagei(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
   15811 uint4 __purefn __ovld read_imageui(read_only image2d_t image, sampler_t sampler, float2 coord, float lod);
   15812 
   15813 float __purefn __ovld read_imagef(read_only image2d_depth_t image, sampler_t sampler, float2 coord, float lod);
   15814 
   15815 float4 __purefn __ovld read_imagef(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
   15816 int4 __purefn __ovld read_imagei(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
   15817 uint4 __purefn __ovld read_imageui(read_only image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
   15818 
   15819 float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, sampler_t sampler, float4 coord, float lod);
   15820 
   15821 float4 __purefn __ovld read_imagef(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
   15822 int4 __purefn __ovld read_imagei(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
   15823 uint4 __purefn __ovld read_imageui(read_only image3d_t image, sampler_t sampler, float4 coord, float lod);
   15824 
   15825 #endif //cl_khr_mipmap_image
   15826 
   15827 /**
   15828 * Sampler-less Image Access
   15829 */
   15830 
   15831 float4 __purefn __ovld read_imagef(read_only image1d_t image, int coord);
   15832 int4 __purefn __ovld read_imagei(read_only image1d_t image, int coord);
   15833 uint4 __purefn __ovld read_imageui(read_only image1d_t image, int coord);
   15834 
   15835 float4 __purefn __ovld read_imagef(read_only image1d_buffer_t image, int coord);
   15836 int4 __purefn __ovld read_imagei(read_only image1d_buffer_t image, int coord);
   15837 uint4 __purefn __ovld read_imageui(read_only image1d_buffer_t image, int coord);
   15838 
   15839 float4 __purefn __ovld read_imagef(read_only image1d_array_t image, int2 coord);
   15840 int4 __purefn __ovld read_imagei(read_only image1d_array_t image, int2 coord);
   15841 uint4 __purefn __ovld read_imageui(read_only image1d_array_t image, int2 coord);
   15842 
   15843 float4 __purefn __ovld read_imagef(read_only image2d_t image, int2 coord);
   15844 int4 __purefn __ovld read_imagei(read_only image2d_t image, int2 coord);
   15845 uint4 __purefn __ovld read_imageui(read_only image2d_t image, int2 coord);
   15846 
   15847 float4 __purefn __ovld read_imagef(read_only image2d_array_t image, int4 coord);
   15848 int4 __purefn __ovld read_imagei(read_only image2d_array_t image, int4 coord);
   15849 uint4 __purefn __ovld read_imageui(read_only image2d_array_t image, int4 coord);
   15850 
   15851 #ifdef cl_khr_depth_images
   15852 float __purefn __ovld read_imagef(read_only image2d_depth_t image, int2 coord);
   15853 float __purefn __ovld read_imagef(read_only image2d_array_depth_t image, int4 coord);
   15854 #endif //cl_khr_depth_images
   15855 
   15856 float4 __purefn __ovld read_imagef(read_only image3d_t image, int4 coord);
   15857 int4 __purefn __ovld read_imagei(read_only image3d_t image, int4 coord);
   15858 uint4 __purefn __ovld read_imageui(read_only image3d_t image, int4 coord);
   15859 
   15860 // Image read functions returning half4 type
   15861 #ifdef cl_khr_fp16
   15862 half4 __purefn __ovld read_imageh(read_only image1d_t image, sampler_t sampler, int coord);
   15863 half4 __purefn __ovld read_imageh(read_only image1d_t image, sampler_t sampler, float coord);
   15864 half4 __purefn __ovld read_imageh(read_only image1d_array_t image, sampler_t sampler, int2 coord);
   15865 half4 __purefn __ovld read_imageh(read_only image1d_array_t image, sampler_t sampler, float2 coord);
   15866 half4 __purefn __ovld read_imageh(read_only image2d_t image, sampler_t sampler, int2 coord);
   15867 half4 __purefn __ovld read_imageh(read_only image2d_t image, sampler_t sampler, float2 coord);
   15868 half4 __purefn __ovld read_imageh(read_only image3d_t image, sampler_t sampler, int4 coord);
   15869 half4 __purefn __ovld read_imageh(read_only image3d_t image, sampler_t sampler, float4 coord);
   15870 half4 __purefn __ovld read_imageh(read_only image2d_array_t image, sampler_t sampler, int4 coord);
   15871 half4 __purefn __ovld read_imageh(read_only image2d_array_t image, sampler_t sampler, float4 coord);
   15872 half4 __purefn __ovld read_imageh(read_only image1d_t image, int coord);
   15873 half4 __purefn __ovld read_imageh(read_only image2d_t image, int2 coord);
   15874 half4 __purefn __ovld read_imageh(read_only image3d_t image, int4 coord);
   15875 half4 __purefn __ovld read_imageh(read_only image1d_array_t image, int2 coord);
   15876 half4 __purefn __ovld read_imageh(read_only image2d_array_t image, int4 coord);
   15877 half4 __purefn __ovld read_imageh(read_only image1d_buffer_t image, int coord);
   15878 #endif //cl_khr_fp16
   15879 
   15880 // Image read functions for read_write images
   15881 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   15882 float4 __purefn __ovld read_imagef(read_write image1d_t image, int coord);
   15883 int4 __purefn __ovld read_imagei(read_write image1d_t image, int coord);
   15884 uint4 __purefn __ovld read_imageui(read_write image1d_t image, int coord);
   15885 
   15886 float4 __purefn __ovld read_imagef(read_write image1d_buffer_t image, int coord);
   15887 int4 __purefn __ovld read_imagei(read_write image1d_buffer_t image, int coord);
   15888 uint4 __purefn __ovld read_imageui(read_write image1d_buffer_t image, int coord);
   15889 
   15890 float4 __purefn __ovld read_imagef(read_write image1d_array_t image, int2 coord);
   15891 int4 __purefn __ovld read_imagei(read_write image1d_array_t image, int2 coord);
   15892 uint4 __purefn __ovld read_imageui(read_write image1d_array_t image, int2 coord);
   15893 
   15894 float4 __purefn __ovld read_imagef(read_write image2d_t image, int2 coord);
   15895 int4 __purefn __ovld read_imagei(read_write image2d_t image, int2 coord);
   15896 uint4 __purefn __ovld read_imageui(read_write image2d_t image, int2 coord);
   15897 
   15898 float4 __purefn __ovld read_imagef(read_write image2d_array_t image, int4 coord);
   15899 int4 __purefn __ovld read_imagei(read_write image2d_array_t image, int4 coord);
   15900 uint4 __purefn __ovld read_imageui(read_write image2d_array_t image, int4 coord);
   15901 
   15902 float4 __purefn __ovld read_imagef(read_write image3d_t image, int4 coord);
   15903 int4 __purefn __ovld read_imagei(read_write image3d_t image, int4 coord);
   15904 uint4 __purefn __ovld read_imageui(read_write image3d_t image, int4 coord);
   15905 
   15906 #ifdef cl_khr_depth_images
   15907 float __purefn __ovld read_imagef(read_write image2d_depth_t image, int2 coord);
   15908 float __purefn __ovld read_imagef(read_write image2d_array_depth_t image, int4 coord);
   15909 #endif //cl_khr_depth_images
   15910 
   15911 #if cl_khr_gl_msaa_sharing
   15912 float4 __purefn __ovld read_imagef(read_write image2d_msaa_t image, int2 coord, int sample);
   15913 int4 __purefn __ovld read_imagei(read_write image2d_msaa_t image, int2 coord, int sample);
   15914 uint4 __purefn __ovld read_imageui(read_write image2d_msaa_t image, int2 coord, int sample);
   15915 
   15916 float4 __purefn __ovld read_imagef(read_write image2d_array_msaa_t image, int4 coord, int sample);
   15917 int4 __purefn __ovld read_imagei(read_write image2d_array_msaa_t image, int4 coord, int sample);
   15918 uint4 __purefn __ovld read_imageui(read_write image2d_array_msaa_t image, int4 coord, int sample);
   15919 
   15920 float __purefn __ovld read_imagef(read_write image2d_msaa_depth_t image, int2 coord, int sample);
   15921 float __purefn __ovld read_imagef(read_write image2d_array_msaa_depth_t image, int4 coord, int sample);
   15922 #endif //cl_khr_gl_msaa_sharing
   15923 
   15924 #ifdef cl_khr_mipmap_image
   15925 float4 __purefn __ovld read_imagef(read_write image1d_t image, sampler_t sampler, float coord, float lod);
   15926 int4 __purefn __ovld read_imagei(read_write image1d_t image, sampler_t sampler, float coord, float lod);
   15927 uint4 __purefn __ovld read_imageui(read_write image1d_t image, sampler_t sampler, float coord, float lod);
   15928 
   15929 float4 __purefn __ovld read_imagef(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
   15930 int4 __purefn __ovld read_imagei(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
   15931 uint4 __purefn __ovld read_imageui(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
   15932 
   15933 float4 __purefn __ovld read_imagef(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
   15934 int4 __purefn __ovld read_imagei(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
   15935 uint4 __purefn __ovld read_imageui(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
   15936 
   15937 float __purefn __ovld read_imagef(read_write image2d_depth_t image, sampler_t sampler, float2 coord, float lod);
   15938 
   15939 float4 __purefn __ovld read_imagef(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
   15940 int4 __purefn __ovld read_imagei(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
   15941 uint4 __purefn __ovld read_imageui(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
   15942 
   15943 float __purefn __ovld read_imagef(read_write image2d_array_depth_t image, sampler_t sampler, float4 coord, float lod);
   15944 
   15945 float4 __purefn __ovld read_imagef(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
   15946 int4 __purefn __ovld read_imagei(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
   15947 uint4 __purefn __ovld read_imageui(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
   15948 
   15949 float4 __purefn __ovld read_imagef(read_write image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
   15950 int4 __purefn __ovld read_imagei(read_write image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
   15951 uint4 __purefn __ovld read_imageui(read_write image1d_t image, sampler_t sampler, float coord, float gradientX, float gradientY);
   15952 
   15953 float4 __purefn __ovld read_imagef(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
   15954 int4 __purefn __ovld read_imagei(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
   15955 uint4 __purefn __ovld read_imageui(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float gradientX, float gradientY);
   15956 
   15957 float4 __purefn __ovld read_imagef(read_write image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
   15958 int4 __purefn __ovld read_imagei(read_write image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
   15959 uint4 __purefn __ovld read_imageui(read_write image2d_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
   15960 
   15961 float __purefn __ovld read_imagef(read_write image2d_depth_t image, sampler_t sampler, float2 coord, float2 gradientX, float2 gradientY);
   15962 
   15963 float4 __purefn __ovld read_imagef(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
   15964 int4 __purefn __ovld read_imagei(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
   15965 uint4 __purefn __ovld read_imageui(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
   15966 
   15967 float __purefn __ovld read_imagef(read_write image2d_array_depth_t image, sampler_t sampler, float4 coord, float2 gradientX, float2 gradientY);
   15968 
   15969 float4 __purefn __ovld read_imagef(read_write image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
   15970 int4 __purefn __ovld read_imagei(read_write image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
   15971 uint4 __purefn __ovld read_imageui(read_write image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY);
   15972 
   15973 float4 __purefn __ovld read_imagef(read_write image1d_t image, sampler_t sampler, float coord, float lod);
   15974 int4 __purefn __ovld read_imagei(read_write image1d_t image, sampler_t sampler, float coord, float lod);
   15975 uint4 __purefn __ovld read_imageui(read_write image1d_t image, sampler_t sampler, float coord, float lod);
   15976 
   15977 float4 __purefn __ovld read_imagef(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
   15978 int4 __purefn __ovld read_imagei(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
   15979 uint4 __purefn __ovld read_imageui(read_write image1d_array_t image_array, sampler_t sampler, float2 coord, float lod);
   15980 
   15981 float4 __purefn __ovld read_imagef(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
   15982 int4 __purefn __ovld read_imagei(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
   15983 uint4 __purefn __ovld read_imageui(read_write image2d_t image, sampler_t sampler, float2 coord, float lod);
   15984 
   15985 float __purefn __ovld read_imagef(read_write image2d_depth_t image, sampler_t sampler, float2 coord, float lod);
   15986 
   15987 float4 __purefn __ovld read_imagef(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
   15988 int4 __purefn __ovld read_imagei(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
   15989 uint4 __purefn __ovld read_imageui(read_write image2d_array_t image_array, sampler_t sampler, float4 coord, float lod);
   15990 
   15991 float __purefn __ovld read_imagef(read_write image2d_array_depth_t image, sampler_t sampler, float4 coord, float lod);
   15992 
   15993 float4 __purefn __ovld read_imagef(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
   15994 int4 __purefn __ovld read_imagei(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
   15995 uint4 __purefn __ovld read_imageui(read_write image3d_t image, sampler_t sampler, float4 coord, float lod);
   15996 #endif //cl_khr_mipmap_image
   15997 
   15998 // Image read functions returning half4 type
   15999 #ifdef cl_khr_fp16
   16000 half4 __purefn __ovld read_imageh(read_write image1d_t image, int coord);
   16001 half4 __purefn __ovld read_imageh(read_write image2d_t image, int2 coord);
   16002 half4 __purefn __ovld read_imageh(read_write image3d_t image, int4 coord);
   16003 half4 __purefn __ovld read_imageh(read_write image1d_array_t image, int2 coord);
   16004 half4 __purefn __ovld read_imageh(read_write image2d_array_t image, int4 coord);
   16005 half4 __purefn __ovld read_imageh(read_write image1d_buffer_t image, int coord);
   16006 #endif //cl_khr_fp16
   16007 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16008 
   16009 /**
   16010  * Write color value to location specified by coordinate
   16011  * (coord.x, coord.y) in the 2D image object specified by image.
   16012  * (coord.x, coord.y) are considered to be unnormalized coordinates
   16013  * and must be in the range 0 ... image width - 1, and 0
   16014  * ... image height - 1.
   16015 
   16016  * Write color value to location specified by coordinate
   16017  * (coord.x, coord.y) in the 2D image object specified by index
   16018  * (coord.z) of the 2D image array object image_array.
   16019  * (coord.x, coord.y) are considered to be unnormalized
   16020  * coordinates and must be in the range 0 ... image width
   16021  * - 1.
   16022  *
   16023  * Write color value to location specified by coordinate
   16024  * (coord) in the 1D image (buffer) object specified by image.
   16025  * coord is considered to be unnormalized coordinates
   16026  * and must be in the range 0 ... image width - 1.
   16027  *
   16028  * Write color value to location specified by coordinate
   16029  * (coord.x) in the 1D image object specified by index
   16030  * (coord.y) of the 1D image array object image_array.
   16031  * x is considered to be unnormalized coordinates
   16032  * and must be in the range 0 ... image width - 1.
   16033  *
   16034  * Write color value to location specified by coordinate
   16035  * (coord.x, coord.y, coord.z) in the 3D image object specified by image.
   16036  * coord.x & coord.y are considered to be unnormalized coordinates
   16037  * and must be in the range 0 ... image width - 1, and 0
   16038  * ... image height - 1.
   16039  *
   16040  * For mipmap images, use mip-level specified by lod.
   16041  *
   16042  * Appropriate data format conversion to the specified
   16043  * image format is done before writing the color value.
   16044  *
   16045  * write_imagef can only be used with image objects
   16046  * created with image_channel_data_type set to one of
   16047  * the pre-defined packed formats or set to
   16048  * CL_SNORM_INT8, CL_UNORM_INT8,
   16049  * CL_SNORM_INT16, CL_UNORM_INT16,
   16050  * CL_HALF_FLOAT or CL_FLOAT. Appropriate data
   16051  * format conversion will be done to convert channel
   16052  * data from a floating-point value to actual data format
   16053  * in which the channels are stored.
   16054  *
   16055  * write_imagei can only be used with image objects
   16056  * created with image_channel_data_type set to one of
   16057  * the following values:
   16058  * CL_SIGNED_INT8,
   16059  * CL_SIGNED_INT16 and
   16060  * CL_SIGNED_INT32.
   16061  *
   16062  * write_imageui can only be used with image objects
   16063  * created with image_channel_data_type set to one of
   16064  * the following values:
   16065  * CL_UNSIGNED_INT8,
   16066  * CL_UNSIGNED_INT16 and
   16067  * CL_UNSIGNED_INT32.
   16068  *
   16069  * The behavior of write_imagef, write_imagei and
   16070  * write_imageui for image objects created with
   16071  * image_channel_data_type values not specified in
   16072  * the description above or with (x, y) coordinate
   16073  * values that are not in the range (0 ... image width -1,
   16074  * 0 ... image height - 1), respectively, is undefined.
   16075  */
   16076 void __ovld write_imagef(write_only image2d_t image, int2 coord, float4 color);
   16077 void __ovld write_imagei(write_only image2d_t image, int2 coord, int4 color);
   16078 void __ovld write_imageui(write_only image2d_t image, int2 coord, uint4 color);
   16079 
   16080 void __ovld write_imagef(write_only image2d_array_t image_array, int4 coord, float4 color);
   16081 void __ovld write_imagei(write_only image2d_array_t image_array, int4 coord, int4 color);
   16082 void __ovld write_imageui(write_only image2d_array_t image_array, int4 coord, uint4 color);
   16083 
   16084 void __ovld write_imagef(write_only image1d_t image, int coord, float4 color);
   16085 void __ovld write_imagei(write_only image1d_t image, int coord, int4 color);
   16086 void __ovld write_imageui(write_only image1d_t image, int coord, uint4 color);
   16087 
   16088 void __ovld write_imagef(write_only image1d_buffer_t image, int coord, float4 color);
   16089 void __ovld write_imagei(write_only image1d_buffer_t image, int coord, int4 color);
   16090 void __ovld write_imageui(write_only image1d_buffer_t image, int coord, uint4 color);
   16091 
   16092 void __ovld write_imagef(write_only image1d_array_t image_array, int2 coord, float4 color);
   16093 void __ovld write_imagei(write_only image1d_array_t image_array, int2 coord, int4 color);
   16094 void __ovld write_imageui(write_only image1d_array_t image_array, int2 coord, uint4 color);
   16095 
   16096 void __ovld write_imagef(write_only image3d_t image, int4 coord, float4 color);
   16097 void __ovld write_imagei(write_only image3d_t image, int4 coord, int4 color);
   16098 void __ovld write_imageui(write_only image3d_t image, int4 coord, uint4 color);
   16099 
   16100 #ifdef cl_khr_depth_images
   16101 void __ovld write_imagef(write_only image2d_depth_t image, int2 coord, float color);
   16102 void __ovld write_imagef(write_only image2d_array_depth_t image, int4 coord, float color);
   16103 #endif //cl_khr_depth_images
   16104 
   16105 // OpenCL Extension v2.0 s9.18 - Mipmaps
   16106 #ifdef cl_khr_mipmap_image
   16107 void __ovld write_imagef(write_only image1d_t image, int coord, int lod, float4 color);
   16108 void __ovld write_imagei(write_only image1d_t image, int coord, int lod, int4 color);
   16109 void __ovld write_imageui(write_only image1d_t image, int coord, int lod, uint4 color);
   16110 
   16111 void __ovld write_imagef(write_only image1d_array_t image_array, int2 coord, int lod, float4 color);
   16112 void __ovld write_imagei(write_only image1d_array_t image_array, int2 coord, int lod, int4 color);
   16113 void __ovld write_imageui(write_only image1d_array_t image_array, int2 coord, int lod, uint4 color);
   16114 
   16115 void __ovld write_imagef(write_only image2d_t image, int2 coord, int lod, float4 color);
   16116 void __ovld write_imagei(write_only image2d_t image, int2 coord, int lod, int4 color);
   16117 void __ovld write_imageui(write_only image2d_t image, int2 coord, int lod, uint4 color);
   16118 
   16119 void __ovld write_imagef(write_only image2d_array_t image_array, int4 coord, int lod, float4 color);
   16120 void __ovld write_imagei(write_only image2d_array_t image_array, int4 coord, int lod, int4 color);
   16121 void __ovld write_imageui(write_only image2d_array_t image_array, int4 coord, int lod, uint4 color);
   16122 
   16123 void __ovld write_imagef(write_only image2d_depth_t image, int2 coord, int lod, float color);
   16124 void __ovld write_imagef(write_only image2d_array_depth_t image, int4 coord, int lod, float color);
   16125 
   16126 void __ovld write_imagef(write_only image3d_t image, int4 coord, int lod, float4 color);
   16127 void __ovld write_imagei(write_only image3d_t image, int4 coord, int lod, int4 color);
   16128 void __ovld write_imageui(write_only image3d_t image, int4 coord, int lod, uint4 color);
   16129 #endif //cl_khr_mipmap_image
   16130 
   16131 // Image write functions for half4 type
   16132 #ifdef cl_khr_fp16
   16133 void __ovld write_imageh(write_only image1d_t image, int coord, half4 color);
   16134 void __ovld write_imageh(write_only image2d_t image, int2 coord, half4 color);
   16135 void __ovld write_imageh(write_only image3d_t image, int4 coord, half4 color);
   16136 void __ovld write_imageh(write_only image1d_array_t image, int2 coord, half4 color);
   16137 void __ovld write_imageh(write_only image2d_array_t image, int4 coord, half4 color);
   16138 void __ovld write_imageh(write_only image1d_buffer_t image, int coord, half4 color);
   16139 #endif //cl_khr_fp16
   16140 
   16141 // Image write functions for read_write images
   16142 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16143 void __ovld write_imagef(read_write image2d_t image, int2 coord, float4 color);
   16144 void __ovld write_imagei(read_write image2d_t image, int2 coord, int4 color);
   16145 void __ovld write_imageui(read_write image2d_t image, int2 coord, uint4 color);
   16146 
   16147 void __ovld write_imagef(read_write image2d_array_t image_array, int4 coord, float4 color);
   16148 void __ovld write_imagei(read_write image2d_array_t image_array, int4 coord, int4 color);
   16149 void __ovld write_imageui(read_write image2d_array_t image_array, int4 coord, uint4 color);
   16150 
   16151 void __ovld write_imagef(read_write image1d_t image, int coord, float4 color);
   16152 void __ovld write_imagei(read_write image1d_t image, int coord, int4 color);
   16153 void __ovld write_imageui(read_write image1d_t image, int coord, uint4 color);
   16154 
   16155 void __ovld write_imagef(read_write image1d_buffer_t image, int coord, float4 color);
   16156 void __ovld write_imagei(read_write image1d_buffer_t image, int coord, int4 color);
   16157 void __ovld write_imageui(read_write image1d_buffer_t image, int coord, uint4 color);
   16158 
   16159 void __ovld write_imagef(read_write image1d_array_t image_array, int2 coord, float4 color);
   16160 void __ovld write_imagei(read_write image1d_array_t image_array, int2 coord, int4 color);
   16161 void __ovld write_imageui(read_write image1d_array_t image_array, int2 coord, uint4 color);
   16162 
   16163 void __ovld write_imagef(read_write image3d_t image, int4 coord, float4 color);
   16164 void __ovld write_imagei(read_write image3d_t image, int4 coord, int4 color);
   16165 void __ovld write_imageui(read_write image3d_t image, int4 coord, uint4 color);
   16166 
   16167 #ifdef cl_khr_depth_images
   16168 void __ovld write_imagef(read_write image2d_depth_t image, int2 coord, float color);
   16169 void __ovld write_imagef(read_write image2d_array_depth_t image, int4 coord, float color);
   16170 #endif //cl_khr_depth_images
   16171 
   16172 #ifdef cl_khr_mipmap_image
   16173 void __ovld write_imagef(read_write image1d_t image, int coord, int lod, float4 color);
   16174 void __ovld write_imagei(read_write image1d_t image, int coord, int lod, int4 color);
   16175 void __ovld write_imageui(read_write image1d_t image, int coord, int lod, uint4 color);
   16176 
   16177 void __ovld write_imagef(read_write image1d_array_t image_array, int2 coord, int lod, float4 color);
   16178 void __ovld write_imagei(read_write image1d_array_t image_array, int2 coord, int lod, int4 color);
   16179 void __ovld write_imageui(read_write image1d_array_t image_array, int2 coord, int lod, uint4 color);
   16180 
   16181 void __ovld write_imagef(read_write image2d_t image, int2 coord, int lod, float4 color);
   16182 void __ovld write_imagei(read_write image2d_t image, int2 coord, int lod, int4 color);
   16183 void __ovld write_imageui(read_write image2d_t image, int2 coord, int lod, uint4 color);
   16184 
   16185 void __ovld write_imagef(read_write image2d_array_t image_array, int4 coord, int lod, float4 color);
   16186 void __ovld write_imagei(read_write image2d_array_t image_array, int4 coord, int lod, int4 color);
   16187 void __ovld write_imageui(read_write image2d_array_t image_array, int4 coord, int lod, uint4 color);
   16188 
   16189 void __ovld write_imagef(read_write image2d_depth_t image, int2 coord, int lod, float color);
   16190 void __ovld write_imagef(read_write image2d_array_depth_t image, int4 coord, int lod, float color);
   16191 
   16192 void __ovld write_imagef(read_write image3d_t image, int4 coord, int lod, float4 color);
   16193 void __ovld write_imagei(read_write image3d_t image, int4 coord, int lod, int4 color);
   16194 void __ovld write_imageui(read_write image3d_t image, int4 coord, int lod, uint4 color);
   16195 #endif //cl_khr_mipmap_image
   16196 
   16197 // Image write functions for half4 type
   16198 #ifdef cl_khr_fp16
   16199 void __ovld write_imageh(read_write image1d_t image, int coord, half4 color);
   16200 void __ovld write_imageh(read_write image2d_t image, int2 coord, half4 color);
   16201 void __ovld write_imageh(read_write image3d_t image, int4 coord, half4 color);
   16202 void __ovld write_imageh(read_write image1d_array_t image, int2 coord, half4 color);
   16203 void __ovld write_imageh(read_write image2d_array_t image, int4 coord, half4 color);
   16204 void __ovld write_imageh(read_write image1d_buffer_t image, int coord, half4 color);
   16205 #endif //cl_khr_fp16
   16206 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16207 
   16208 // Note: In OpenCL v1.0/1.1/1.2, image argument of image query builtin functions does not have
   16209 // access qualifier, which by default assume read_only access qualifier. Image query builtin
   16210 // functions with write_only image argument should also be declared.
   16211 
   16212 /**
   16213  * Return the image width in pixels.
   16214  *
   16215   */
   16216 int __ovld __cnfn get_image_width(read_only image1d_t image);
   16217 int __ovld __cnfn get_image_width(read_only image1d_buffer_t image);
   16218 int __ovld __cnfn get_image_width(read_only image2d_t image);
   16219 int __ovld __cnfn get_image_width(read_only image3d_t image);
   16220 int __ovld __cnfn get_image_width(read_only image1d_array_t image);
   16221 int __ovld __cnfn get_image_width(read_only image2d_array_t image);
   16222 #ifdef cl_khr_depth_images
   16223 int __ovld __cnfn get_image_width(read_only image2d_depth_t image);
   16224 int __ovld __cnfn get_image_width(read_only image2d_array_depth_t image);
   16225 #endif //cl_khr_depth_images
   16226 #if defined(cl_khr_gl_msaa_sharing)
   16227 int __ovld __cnfn get_image_width(read_only image2d_msaa_t image);
   16228 int __ovld __cnfn get_image_width(read_only image2d_msaa_depth_t image);
   16229 int __ovld __cnfn get_image_width(read_only image2d_array_msaa_t image);
   16230 int __ovld __cnfn get_image_width(read_only image2d_array_msaa_depth_t image);
   16231 #endif //cl_khr_gl_msaa_sharing
   16232 
   16233 int __ovld __cnfn get_image_width(write_only image1d_t image);
   16234 int __ovld __cnfn get_image_width(write_only image1d_buffer_t image);
   16235 int __ovld __cnfn get_image_width(write_only image2d_t image);
   16236 int __ovld __cnfn get_image_width(write_only image3d_t image);
   16237 int __ovld __cnfn get_image_width(write_only image1d_array_t image);
   16238 int __ovld __cnfn get_image_width(write_only image2d_array_t image);
   16239 #ifdef cl_khr_depth_images
   16240 int __ovld __cnfn get_image_width(write_only image2d_depth_t image);
   16241 int __ovld __cnfn get_image_width(write_only image2d_array_depth_t image);
   16242 #endif //cl_khr_depth_images
   16243 #if defined(cl_khr_gl_msaa_sharing)
   16244 int __ovld __cnfn get_image_width(write_only image2d_msaa_t image);
   16245 int __ovld __cnfn get_image_width(write_only image2d_msaa_depth_t image);
   16246 int __ovld __cnfn get_image_width(write_only image2d_array_msaa_t image);
   16247 int __ovld __cnfn get_image_width(write_only image2d_array_msaa_depth_t image);
   16248 #endif //cl_khr_gl_msaa_sharing
   16249 
   16250 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16251 int __ovld __cnfn get_image_width(read_write image1d_t image);
   16252 int __ovld __cnfn get_image_width(read_write image1d_buffer_t image);
   16253 int __ovld __cnfn get_image_width(read_write image2d_t image);
   16254 int __ovld __cnfn get_image_width(read_write image3d_t image);
   16255 int __ovld __cnfn get_image_width(read_write image1d_array_t image);
   16256 int __ovld __cnfn get_image_width(read_write image2d_array_t image);
   16257 #ifdef cl_khr_depth_images
   16258 int __ovld __cnfn get_image_width(read_write image2d_depth_t image);
   16259 int __ovld __cnfn get_image_width(read_write image2d_array_depth_t image);
   16260 #endif //cl_khr_depth_images
   16261 #if defined(cl_khr_gl_msaa_sharing)
   16262 int __ovld __cnfn get_image_width(read_write image2d_msaa_t image);
   16263 int __ovld __cnfn get_image_width(read_write image2d_msaa_depth_t image);
   16264 int __ovld __cnfn get_image_width(read_write image2d_array_msaa_t image);
   16265 int __ovld __cnfn get_image_width(read_write image2d_array_msaa_depth_t image);
   16266 #endif //cl_khr_gl_msaa_sharing
   16267 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16268 
   16269 /**
   16270  * Return the image height in pixels.
   16271  */
   16272 int __ovld __cnfn get_image_height(read_only image2d_t image);
   16273 int __ovld __cnfn get_image_height(read_only image3d_t image);
   16274 int __ovld __cnfn get_image_height(read_only image2d_array_t image);
   16275 #ifdef cl_khr_depth_images
   16276 int __ovld __cnfn get_image_height(read_only image2d_depth_t image);
   16277 int __ovld __cnfn get_image_height(read_only image2d_array_depth_t image);
   16278 #endif //cl_khr_depth_images
   16279 #if defined(cl_khr_gl_msaa_sharing)
   16280 int __ovld __cnfn get_image_height(read_only image2d_msaa_t image);
   16281 int __ovld __cnfn get_image_height(read_only image2d_msaa_depth_t image);
   16282 int __ovld __cnfn get_image_height(read_only image2d_array_msaa_t image);
   16283 int __ovld __cnfn get_image_height(read_only image2d_array_msaa_depth_t image);
   16284 #endif //cl_khr_gl_msaa_sharing
   16285 
   16286 int __ovld __cnfn get_image_height(write_only image2d_t image);
   16287 int __ovld __cnfn get_image_height(write_only image3d_t image);
   16288 int __ovld __cnfn get_image_height(write_only image2d_array_t image);
   16289 #ifdef cl_khr_depth_images
   16290 int __ovld __cnfn get_image_height(write_only image2d_depth_t image);
   16291 int __ovld __cnfn get_image_height(write_only image2d_array_depth_t image);
   16292 #endif //cl_khr_depth_images
   16293 #if defined(cl_khr_gl_msaa_sharing)
   16294 int __ovld __cnfn get_image_height(write_only image2d_msaa_t image);
   16295 int __ovld __cnfn get_image_height(write_only image2d_msaa_depth_t image);
   16296 int __ovld __cnfn get_image_height(write_only image2d_array_msaa_t image);
   16297 int __ovld __cnfn get_image_height(write_only image2d_array_msaa_depth_t image);
   16298 #endif //cl_khr_gl_msaa_sharing
   16299 
   16300 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16301 int __ovld __cnfn get_image_height(read_write image2d_t image);
   16302 int __ovld __cnfn get_image_height(read_write image3d_t image);
   16303 int __ovld __cnfn get_image_height(read_write image2d_array_t image);
   16304 #ifdef cl_khr_depth_images
   16305 int __ovld __cnfn get_image_height(read_write image2d_depth_t image);
   16306 int __ovld __cnfn get_image_height(read_write image2d_array_depth_t image);
   16307 #endif //cl_khr_depth_images
   16308 #if defined(cl_khr_gl_msaa_sharing)
   16309 int __ovld __cnfn get_image_height(read_write image2d_msaa_t image);
   16310 int __ovld __cnfn get_image_height(read_write image2d_msaa_depth_t image);
   16311 int __ovld __cnfn get_image_height(read_write image2d_array_msaa_t image);
   16312 int __ovld __cnfn get_image_height(read_write image2d_array_msaa_depth_t image);
   16313 #endif //cl_khr_gl_msaa_sharing
   16314 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16315 
   16316 /**
   16317  * Return the image depth in pixels.
   16318  */
   16319 int __ovld __cnfn get_image_depth(read_only image3d_t image);
   16320 
   16321 int __ovld __cnfn get_image_depth(write_only image3d_t image);
   16322 
   16323 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16324 int __ovld __cnfn get_image_depth(read_write image3d_t image);
   16325 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16326 
   16327 // OpenCL Extension v2.0 s9.18 - Mipmaps
   16328 #ifdef cl_khr_mipmap_image
   16329 /**
   16330  * Return the image miplevels.
   16331  */
   16332 
   16333 int __ovld get_image_num_mip_levels(read_only image1d_t image);
   16334 int __ovld get_image_num_mip_levels(read_only image2d_t image);
   16335 int __ovld get_image_num_mip_levels(read_only image3d_t image);
   16336 
   16337 int __ovld get_image_num_mip_levels(write_only image1d_t image);
   16338 int __ovld get_image_num_mip_levels(write_only image2d_t image);
   16339 int __ovld get_image_num_mip_levels(write_only image3d_t image);
   16340 
   16341 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16342 int __ovld get_image_num_mip_levels(read_write image1d_t image);
   16343 int __ovld get_image_num_mip_levels(read_write image2d_t image);
   16344 int __ovld get_image_num_mip_levels(read_write image3d_t image);
   16345 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16346 
   16347 int __ovld get_image_num_mip_levels(read_only image1d_array_t image);
   16348 int __ovld get_image_num_mip_levels(read_only image2d_array_t image);
   16349 int __ovld get_image_num_mip_levels(read_only image2d_array_depth_t image);
   16350 int __ovld get_image_num_mip_levels(read_only image2d_depth_t image);
   16351 
   16352 int __ovld get_image_num_mip_levels(write_only image1d_array_t image);
   16353 int __ovld get_image_num_mip_levels(write_only image2d_array_t image);
   16354 int __ovld get_image_num_mip_levels(write_only image2d_array_depth_t image);
   16355 int __ovld get_image_num_mip_levels(write_only image2d_depth_t image);
   16356 
   16357 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16358 int __ovld get_image_num_mip_levels(read_write image1d_array_t image);
   16359 int __ovld get_image_num_mip_levels(read_write image2d_array_t image);
   16360 int __ovld get_image_num_mip_levels(read_write image2d_array_depth_t image);
   16361 int __ovld get_image_num_mip_levels(read_write image2d_depth_t image);
   16362 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16363 
   16364 #endif //cl_khr_mipmap_image
   16365 
   16366 /**
   16367  * Return the channel data type. Valid values are:
   16368  * CLK_SNORM_INT8
   16369  * CLK_SNORM_INT16
   16370  * CLK_UNORM_INT8
   16371  * CLK_UNORM_INT16
   16372  * CLK_UNORM_SHORT_565
   16373  * CLK_UNORM_SHORT_555
   16374  * CLK_UNORM_SHORT_101010
   16375  * CLK_SIGNED_INT8
   16376  * CLK_SIGNED_INT16
   16377  * CLK_SIGNED_INT32
   16378  * CLK_UNSIGNED_INT8
   16379  * CLK_UNSIGNED_INT16
   16380  * CLK_UNSIGNED_INT32
   16381  * CLK_HALF_FLOAT
   16382  * CLK_FLOAT
   16383  */
   16384 
   16385 //
   16386 // Channel Datatype.
   16387 //
   16388 #define CLK_SNORM_INT8        0x10D0
   16389 #define CLK_SNORM_INT16       0x10D1
   16390 #define CLK_UNORM_INT8        0x10D2
   16391 #define CLK_UNORM_INT16       0x10D3
   16392 #define CLK_UNORM_SHORT_565   0x10D4
   16393 #define CLK_UNORM_SHORT_555   0x10D5
   16394 #define CLK_UNORM_INT_101010  0x10D6
   16395 #define CLK_SIGNED_INT8       0x10D7
   16396 #define CLK_SIGNED_INT16      0x10D8
   16397 #define CLK_SIGNED_INT32      0x10D9
   16398 #define CLK_UNSIGNED_INT8     0x10DA
   16399 #define CLK_UNSIGNED_INT16    0x10DB
   16400 #define CLK_UNSIGNED_INT32    0x10DC
   16401 #define CLK_HALF_FLOAT        0x10DD
   16402 #define CLK_FLOAT             0x10DE
   16403 #define CLK_UNORM_INT24       0x10DF
   16404 
   16405 int __ovld __cnfn get_image_channel_data_type(read_only image1d_t image);
   16406 int __ovld __cnfn get_image_channel_data_type(read_only image1d_buffer_t image);
   16407 int __ovld __cnfn get_image_channel_data_type(read_only image2d_t image);
   16408 int __ovld __cnfn get_image_channel_data_type(read_only image3d_t image);
   16409 int __ovld __cnfn get_image_channel_data_type(read_only image1d_array_t image);
   16410 int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_t image);
   16411 #ifdef cl_khr_depth_images
   16412 int __ovld __cnfn get_image_channel_data_type(read_only image2d_depth_t image);
   16413 int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_depth_t image);
   16414 #endif //cl_khr_depth_images
   16415 #if defined(cl_khr_gl_msaa_sharing)
   16416 int __ovld __cnfn get_image_channel_data_type(read_only image2d_msaa_t image);
   16417 int __ovld __cnfn get_image_channel_data_type(read_only image2d_msaa_depth_t image);
   16418 int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_msaa_t image);
   16419 int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_msaa_depth_t image);
   16420 #endif //cl_khr_gl_msaa_sharing
   16421 
   16422 int __ovld __cnfn get_image_channel_data_type(write_only image1d_t image);
   16423 int __ovld __cnfn get_image_channel_data_type(write_only image1d_buffer_t image);
   16424 int __ovld __cnfn get_image_channel_data_type(write_only image2d_t image);
   16425 int __ovld __cnfn get_image_channel_data_type(write_only image3d_t image);
   16426 int __ovld __cnfn get_image_channel_data_type(write_only image1d_array_t image);
   16427 int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_t image);
   16428 #ifdef cl_khr_depth_images
   16429 int __ovld __cnfn get_image_channel_data_type(write_only image2d_depth_t image);
   16430 int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_depth_t image);
   16431 #endif //cl_khr_depth_images
   16432 #if defined(cl_khr_gl_msaa_sharing)
   16433 int __ovld __cnfn get_image_channel_data_type(write_only image2d_msaa_t image);
   16434 int __ovld __cnfn get_image_channel_data_type(write_only image2d_msaa_depth_t image);
   16435 int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_msaa_t image);
   16436 int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_msaa_depth_t image);
   16437 #endif //cl_khr_gl_msaa_sharing
   16438 
   16439 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16440 int __ovld __cnfn get_image_channel_data_type(read_write image1d_t image);
   16441 int __ovld __cnfn get_image_channel_data_type(read_write image1d_buffer_t image);
   16442 int __ovld __cnfn get_image_channel_data_type(read_write image2d_t image);
   16443 int __ovld __cnfn get_image_channel_data_type(read_write image3d_t image);
   16444 int __ovld __cnfn get_image_channel_data_type(read_write image1d_array_t image);
   16445 int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_t image);
   16446 #ifdef cl_khr_depth_images
   16447 int __ovld __cnfn get_image_channel_data_type(read_write image2d_depth_t image);
   16448 int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_depth_t image);
   16449 #endif //cl_khr_depth_images
   16450 #if defined(cl_khr_gl_msaa_sharing)
   16451 int __ovld __cnfn get_image_channel_data_type(read_write image2d_msaa_t image);
   16452 int __ovld __cnfn get_image_channel_data_type(read_write image2d_msaa_depth_t image);
   16453 int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_msaa_t image);
   16454 int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_msaa_depth_t image);
   16455 #endif //cl_khr_gl_msaa_sharing
   16456 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16457 
   16458 /**
   16459  * Return the image channel order. Valid values are:
   16460  * CLK_A
   16461  * CLK_R
   16462  * CLK_Rx
   16463  * CLK_RG
   16464  * CLK_RGx
   16465  * CLK_RA
   16466  * CLK_RGB
   16467  * CLK_RGBx
   16468  * CLK_RGBA
   16469  * CLK_ARGB
   16470  * CLK_BGRA
   16471  * CLK_INTENSITY
   16472  * CLK_LUMINANCE
   16473  */
   16474 // Channel order, numbering must be aligned with cl_channel_order in cl.h
   16475 //
   16476 #define CLK_R         0x10B0
   16477 #define CLK_A         0x10B1
   16478 #define CLK_RG        0x10B2
   16479 #define CLK_RA        0x10B3
   16480 #define CLK_RGB       0x10B4
   16481 #define CLK_RGBA      0x10B5
   16482 #define CLK_BGRA      0x10B6
   16483 #define CLK_ARGB      0x10B7
   16484 #define CLK_INTENSITY 0x10B8
   16485 #define CLK_LUMINANCE 0x10B9
   16486 #define CLK_Rx                0x10BA
   16487 #define CLK_RGx               0x10BB
   16488 #define CLK_RGBx              0x10BC
   16489 #define CLK_DEPTH             0x10BD
   16490 #define CLK_DEPTH_STENCIL     0x10BE
   16491 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16492 #define CLK_sRGB              0x10BF
   16493 #define CLK_sRGBA             0x10C1
   16494 #define CLK_sRGBx             0x10C0
   16495 #define CLK_sBGRA             0x10C2
   16496 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16497 
   16498 int __ovld __cnfn get_image_channel_order(read_only image1d_t image);
   16499 int __ovld __cnfn get_image_channel_order(read_only image1d_buffer_t image);
   16500 int __ovld __cnfn get_image_channel_order(read_only image2d_t image);
   16501 int __ovld __cnfn get_image_channel_order(read_only image3d_t image);
   16502 int __ovld __cnfn get_image_channel_order(read_only image1d_array_t image);
   16503 int __ovld __cnfn get_image_channel_order(read_only image2d_array_t image);
   16504 #ifdef cl_khr_depth_images
   16505 int __ovld __cnfn get_image_channel_order(read_only image2d_depth_t image);
   16506 int __ovld __cnfn get_image_channel_order(read_only image2d_array_depth_t image);
   16507 #endif //cl_khr_depth_images
   16508 #if defined(cl_khr_gl_msaa_sharing)
   16509 int __ovld __cnfn get_image_channel_order(read_only image2d_msaa_t image);
   16510 int __ovld __cnfn get_image_channel_order(read_only image2d_msaa_depth_t image);
   16511 int __ovld __cnfn get_image_channel_order(read_only image2d_array_msaa_t image);
   16512 int __ovld __cnfn get_image_channel_order(read_only image2d_array_msaa_depth_t image);
   16513 #endif //cl_khr_gl_msaa_sharing
   16514 
   16515 int __ovld __cnfn get_image_channel_order(write_only image1d_t image);
   16516 int __ovld __cnfn get_image_channel_order(write_only image1d_buffer_t image);
   16517 int __ovld __cnfn get_image_channel_order(write_only image2d_t image);
   16518 int __ovld __cnfn get_image_channel_order(write_only image3d_t image);
   16519 int __ovld __cnfn get_image_channel_order(write_only image1d_array_t image);
   16520 int __ovld __cnfn get_image_channel_order(write_only image2d_array_t image);
   16521 #ifdef cl_khr_depth_images
   16522 int __ovld __cnfn get_image_channel_order(write_only image2d_depth_t image);
   16523 int __ovld __cnfn get_image_channel_order(write_only image2d_array_depth_t image);
   16524 #endif //cl_khr_depth_images
   16525 #if defined(cl_khr_gl_msaa_sharing)
   16526 int __ovld __cnfn get_image_channel_order(write_only image2d_msaa_t image);
   16527 int __ovld __cnfn get_image_channel_order(write_only image2d_msaa_depth_t image);
   16528 int __ovld __cnfn get_image_channel_order(write_only image2d_array_msaa_t image);
   16529 int __ovld __cnfn get_image_channel_order(write_only image2d_array_msaa_depth_t image);
   16530 #endif //cl_khr_gl_msaa_sharing
   16531 
   16532 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16533 int __ovld __cnfn get_image_channel_order(read_write image1d_t image);
   16534 int __ovld __cnfn get_image_channel_order(read_write image1d_buffer_t image);
   16535 int __ovld __cnfn get_image_channel_order(read_write image2d_t image);
   16536 int __ovld __cnfn get_image_channel_order(read_write image3d_t image);
   16537 int __ovld __cnfn get_image_channel_order(read_write image1d_array_t image);
   16538 int __ovld __cnfn get_image_channel_order(read_write image2d_array_t image);
   16539 #ifdef cl_khr_depth_images
   16540 int __ovld __cnfn get_image_channel_order(read_write image2d_depth_t image);
   16541 int __ovld __cnfn get_image_channel_order(read_write image2d_array_depth_t image);
   16542 #endif //cl_khr_depth_images
   16543 #if defined(cl_khr_gl_msaa_sharing)
   16544 int __ovld __cnfn get_image_channel_order(read_write image2d_msaa_t image);
   16545 int __ovld __cnfn get_image_channel_order(read_write image2d_msaa_depth_t image);
   16546 int __ovld __cnfn get_image_channel_order(read_write image2d_array_msaa_t image);
   16547 int __ovld __cnfn get_image_channel_order(read_write image2d_array_msaa_depth_t image);
   16548 #endif //cl_khr_gl_msaa_sharing
   16549 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16550 
   16551 /**
   16552  * Return the 2D image width and height as an int2
   16553  * type. The width is returned in the x component, and
   16554  * the height in the y component.
   16555  */
   16556 int2 __ovld __cnfn get_image_dim(read_only image2d_t image);
   16557 int2 __ovld __cnfn get_image_dim(read_only image2d_array_t image);
   16558 #ifdef cl_khr_depth_images
   16559 int2 __ovld __cnfn get_image_dim(read_only image2d_array_depth_t image);
   16560 int2 __ovld __cnfn get_image_dim(read_only image2d_depth_t image);
   16561 #endif //cl_khr_depth_images
   16562 #if defined(cl_khr_gl_msaa_sharing)
   16563 int2 __ovld __cnfn get_image_dim(read_only image2d_msaa_t image);
   16564 int2 __ovld __cnfn get_image_dim(read_only image2d_msaa_depth_t image);
   16565 int2 __ovld __cnfn get_image_dim(read_only image2d_array_msaa_t image);
   16566 int2 __ovld __cnfn get_image_dim(read_only image2d_array_msaa_depth_t image);
   16567 #endif //cl_khr_gl_msaa_sharing
   16568 
   16569 int2 __ovld __cnfn get_image_dim(write_only image2d_t image);
   16570 int2 __ovld __cnfn get_image_dim(write_only image2d_array_t image);
   16571 #ifdef cl_khr_depth_images
   16572 int2 __ovld __cnfn get_image_dim(write_only image2d_array_depth_t image);
   16573 int2 __ovld __cnfn get_image_dim(write_only image2d_depth_t image);
   16574 #endif //cl_khr_depth_images
   16575 #if defined(cl_khr_gl_msaa_sharing)
   16576 int2 __ovld __cnfn get_image_dim(write_only image2d_msaa_t image);
   16577 int2 __ovld __cnfn get_image_dim(write_only image2d_msaa_depth_t image);
   16578 int2 __ovld __cnfn get_image_dim(write_only image2d_array_msaa_t image);
   16579 int2 __ovld __cnfn get_image_dim(write_only image2d_array_msaa_depth_t image);
   16580 #endif //cl_khr_gl_msaa_sharing
   16581 
   16582 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16583 int2 __ovld __cnfn get_image_dim(read_write image2d_t image);
   16584 int2 __ovld __cnfn get_image_dim(read_write image2d_array_t image);
   16585 #ifdef cl_khr_depth_images
   16586 int2 __ovld __cnfn get_image_dim(read_write image2d_array_depth_t image);
   16587 int2 __ovld __cnfn get_image_dim(read_write image2d_depth_t image);
   16588 #endif //cl_khr_depth_images
   16589 #if defined(cl_khr_gl_msaa_sharing)
   16590 int2 __ovld __cnfn get_image_dim(read_write image2d_msaa_t image);
   16591 int2 __ovld __cnfn get_image_dim(read_write image2d_msaa_depth_t image);
   16592 int2 __ovld __cnfn get_image_dim(read_write image2d_array_msaa_t image);
   16593 int2 __ovld __cnfn get_image_dim(read_write image2d_array_msaa_depth_t image);
   16594 #endif //cl_khr_gl_msaa_sharing
   16595 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16596 
   16597 /**
   16598  * Return the 3D image width, height, and depth as an
   16599  * int4 type. The width is returned in the x
   16600  * component, height in the y component, depth in the z
   16601  * component and the w component is 0.
   16602  */
   16603 int4 __ovld __cnfn get_image_dim(read_only image3d_t image);
   16604 int4 __ovld __cnfn get_image_dim(write_only image3d_t image);
   16605 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16606 int4 __ovld __cnfn get_image_dim(read_write image3d_t image);
   16607 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16608 
   16609 /**
   16610  * Return the image array size.
   16611  */
   16612 
   16613 size_t __ovld __cnfn get_image_array_size(read_only image1d_array_t image_array);
   16614 size_t __ovld __cnfn get_image_array_size(read_only image2d_array_t image_array);
   16615 #ifdef cl_khr_depth_images
   16616 size_t __ovld __cnfn get_image_array_size(read_only image2d_array_depth_t image_array);
   16617 #endif //cl_khr_depth_images
   16618 #if defined(cl_khr_gl_msaa_sharing)
   16619 size_t __ovld __cnfn get_image_array_size(read_only image2d_array_msaa_t image_array);
   16620 size_t __ovld __cnfn get_image_array_size(read_only image2d_array_msaa_depth_t image_array);
   16621 #endif //cl_khr_gl_msaa_sharing
   16622 
   16623 size_t __ovld __cnfn get_image_array_size(write_only image1d_array_t image_array);
   16624 size_t __ovld __cnfn get_image_array_size(write_only image2d_array_t image_array);
   16625 #ifdef cl_khr_depth_images
   16626 size_t __ovld __cnfn get_image_array_size(write_only image2d_array_depth_t image_array);
   16627 #endif //cl_khr_depth_images
   16628 #if defined(cl_khr_gl_msaa_sharing)
   16629 size_t __ovld __cnfn get_image_array_size(write_only image2d_array_msaa_t image_array);
   16630 size_t __ovld __cnfn get_image_array_size(write_only image2d_array_msaa_depth_t image_array);
   16631 #endif //cl_khr_gl_msaa_sharing
   16632 
   16633 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16634 size_t __ovld __cnfn get_image_array_size(read_write image1d_array_t image_array);
   16635 size_t __ovld __cnfn get_image_array_size(read_write image2d_array_t image_array);
   16636 #ifdef cl_khr_depth_images
   16637 size_t __ovld __cnfn get_image_array_size(read_write image2d_array_depth_t image_array);
   16638 #endif //cl_khr_depth_images
   16639 #if defined(cl_khr_gl_msaa_sharing)
   16640 size_t __ovld __cnfn get_image_array_size(read_write image2d_array_msaa_t image_array);
   16641 size_t __ovld __cnfn get_image_array_size(read_write image2d_array_msaa_depth_t image_array);
   16642 #endif //cl_khr_gl_msaa_sharing
   16643 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16644 
   16645 /**
   16646 * Return the number of samples associated with image
   16647 */
   16648 #if defined(cl_khr_gl_msaa_sharing)
   16649 int __ovld get_image_num_samples(read_only image2d_msaa_t image);
   16650 int __ovld get_image_num_samples(read_only image2d_msaa_depth_t image);
   16651 int __ovld get_image_num_samples(read_only image2d_array_msaa_depth_t image);
   16652 int __ovld get_image_num_samples(read_only image2d_array_msaa_t image);
   16653 int __ovld get_image_num_samples(read_only image2d_array_msaa_depth_t image);
   16654 
   16655 int __ovld get_image_num_samples(write_only image2d_msaa_t image);
   16656 int __ovld get_image_num_samples(write_only image2d_msaa_depth_t image);
   16657 int __ovld get_image_num_samples(write_only image2d_array_msaa_depth_t image);
   16658 int __ovld get_image_num_samples(write_only image2d_array_msaa_t image);
   16659 int __ovld get_image_num_samples(write_only image2d_array_msaa_depth_t image);
   16660 
   16661 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16662 int __ovld get_image_num_samples(read_write image2d_msaa_t image);
   16663 int __ovld get_image_num_samples(read_write image2d_msaa_depth_t image);
   16664 int __ovld get_image_num_samples(read_write image2d_array_msaa_depth_t image);
   16665 int __ovld get_image_num_samples(read_write image2d_array_msaa_t image);
   16666 int __ovld get_image_num_samples(read_write image2d_array_msaa_depth_t image);
   16667 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16668 #endif
   16669 
   16670 // OpenCL v2.0 s6.13.15 - Work-group Functions
   16671 
   16672 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16673 int __ovld work_group_all(int predicate);
   16674 int __ovld work_group_any(int predicate);
   16675 
   16676 #ifdef cl_khr_fp16
   16677 half __ovld work_group_broadcast(half a, size_t local_id);
   16678 half __ovld work_group_broadcast(half a, size_t x, size_t y);
   16679 half __ovld work_group_broadcast(half a, size_t x, size_t y, size_t z);
   16680 #endif
   16681 int __ovld work_group_broadcast(int a, size_t local_id);
   16682 int __ovld work_group_broadcast(int a, size_t x, size_t y);
   16683 int __ovld work_group_broadcast(int a, size_t x, size_t y, size_t z);
   16684 uint __ovld work_group_broadcast(uint a, size_t local_id);
   16685 uint __ovld work_group_broadcast(uint a, size_t x, size_t y);
   16686 uint __ovld work_group_broadcast(uint a, size_t x, size_t y, size_t z);
   16687 long __ovld work_group_broadcast(long a, size_t local_id);
   16688 long __ovld work_group_broadcast(long a, size_t x, size_t y);
   16689 long __ovld work_group_broadcast(long a, size_t x, size_t y, size_t z);
   16690 ulong __ovld work_group_broadcast(ulong a, size_t local_id);
   16691 ulong __ovld work_group_broadcast(ulong a, size_t x, size_t y);
   16692 ulong __ovld work_group_broadcast(ulong a, size_t x, size_t y, size_t z);
   16693 float __ovld work_group_broadcast(float a, size_t local_id);
   16694 float __ovld work_group_broadcast(float a, size_t x, size_t y);
   16695 float __ovld work_group_broadcast(float a, size_t x, size_t y, size_t z);
   16696 #ifdef cl_khr_fp64
   16697 double __ovld work_group_broadcast(double a, size_t local_id);
   16698 double __ovld work_group_broadcast(double a, size_t x, size_t y);
   16699 double __ovld work_group_broadcast(double a, size_t x, size_t y, size_t z);
   16700 #endif //cl_khr_fp64
   16701 
   16702 #ifdef cl_khr_fp16
   16703 half __ovld work_group_reduce_add(half x);
   16704 half __ovld work_group_reduce_min(half x);
   16705 half __ovld work_group_reduce_max(half x);
   16706 half __ovld work_group_scan_exclusive_add(half x);
   16707 half __ovld work_group_scan_exclusive_min(half x);
   16708 half __ovld work_group_scan_exclusive_max(half x);
   16709 half __ovld work_group_scan_inclusive_add(half x);
   16710 half __ovld work_group_scan_inclusive_min(half x);
   16711 half __ovld work_group_scan_inclusive_max(half x);
   16712 #endif
   16713 int __ovld work_group_reduce_add(int x);
   16714 int __ovld work_group_reduce_min(int x);
   16715 int __ovld work_group_reduce_max(int x);
   16716 int __ovld work_group_scan_exclusive_add(int x);
   16717 int __ovld work_group_scan_exclusive_min(int x);
   16718 int __ovld work_group_scan_exclusive_max(int x);
   16719 int __ovld work_group_scan_inclusive_add(int x);
   16720 int __ovld work_group_scan_inclusive_min(int x);
   16721 int __ovld work_group_scan_inclusive_max(int x);
   16722 uint __ovld work_group_reduce_add(uint x);
   16723 uint __ovld work_group_reduce_min(uint x);
   16724 uint __ovld work_group_reduce_max(uint x);
   16725 uint __ovld work_group_scan_exclusive_add(uint x);
   16726 uint __ovld work_group_scan_exclusive_min(uint x);
   16727 uint __ovld work_group_scan_exclusive_max(uint x);
   16728 uint __ovld work_group_scan_inclusive_add(uint x);
   16729 uint __ovld work_group_scan_inclusive_min(uint x);
   16730 uint __ovld work_group_scan_inclusive_max(uint x);
   16731 long __ovld work_group_reduce_add(long x);
   16732 long __ovld work_group_reduce_min(long x);
   16733 long __ovld work_group_reduce_max(long x);
   16734 long __ovld work_group_scan_exclusive_add(long x);
   16735 long __ovld work_group_scan_exclusive_min(long x);
   16736 long __ovld work_group_scan_exclusive_max(long x);
   16737 long __ovld work_group_scan_inclusive_add(long x);
   16738 long __ovld work_group_scan_inclusive_min(long x);
   16739 long __ovld work_group_scan_inclusive_max(long x);
   16740 ulong __ovld work_group_reduce_add(ulong x);
   16741 ulong __ovld work_group_reduce_min(ulong x);
   16742 ulong __ovld work_group_reduce_max(ulong x);
   16743 ulong __ovld work_group_scan_exclusive_add(ulong x);
   16744 ulong __ovld work_group_scan_exclusive_min(ulong x);
   16745 ulong __ovld work_group_scan_exclusive_max(ulong x);
   16746 ulong __ovld work_group_scan_inclusive_add(ulong x);
   16747 ulong __ovld work_group_scan_inclusive_min(ulong x);
   16748 ulong __ovld work_group_scan_inclusive_max(ulong x);
   16749 float __ovld work_group_reduce_add(float x);
   16750 float __ovld work_group_reduce_min(float x);
   16751 float __ovld work_group_reduce_max(float x);
   16752 float __ovld work_group_scan_exclusive_add(float x);
   16753 float __ovld work_group_scan_exclusive_min(float x);
   16754 float __ovld work_group_scan_exclusive_max(float x);
   16755 float __ovld work_group_scan_inclusive_add(float x);
   16756 float __ovld work_group_scan_inclusive_min(float x);
   16757 float __ovld work_group_scan_inclusive_max(float x);
   16758 #ifdef cl_khr_fp64
   16759 double __ovld work_group_reduce_add(double x);
   16760 double __ovld work_group_reduce_min(double x);
   16761 double __ovld work_group_reduce_max(double x);
   16762 double __ovld work_group_scan_exclusive_add(double x);
   16763 double __ovld work_group_scan_exclusive_min(double x);
   16764 double __ovld work_group_scan_exclusive_max(double x);
   16765 double __ovld work_group_scan_inclusive_add(double x);
   16766 double __ovld work_group_scan_inclusive_min(double x);
   16767 double __ovld work_group_scan_inclusive_max(double x);
   16768 #endif //cl_khr_fp64
   16769 
   16770 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16771 
   16772 // OpenCL v2.0 s6.13.16 - Pipe Functions
   16773 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16774 #define PIPE_RESERVE_ID_VALID_BIT (1U << 30)
   16775 #define CLK_NULL_RESERVE_ID (__builtin_astype(((void*)(__SIZE_MAX__)), reserve_id_t))
   16776 bool __ovld is_valid_reserve_id(reserve_id_t reserve_id);
   16777 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16778 
   16779 
   16780 // OpenCL v2.0 s6.13.17 - Enqueue Kernels
   16781 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16782 
   16783 #define CL_COMPLETE                                 0x0
   16784 #define CL_RUNNING                                  0x1
   16785 #define CL_SUBMITTED                                0x2
   16786 #define CL_QUEUED                                   0x3
   16787 
   16788 #define CLK_SUCCESS                                 0
   16789 #define CLK_ENQUEUE_FAILURE                         -101
   16790 #define CLK_INVALID_QUEUE                           -102
   16791 #define CLK_INVALID_NDRANGE                         -160
   16792 #define CLK_INVALID_EVENT_WAIT_LIST                 -57
   16793 #define CLK_DEVICE_QUEUE_FULL                       -161
   16794 #define CLK_INVALID_ARG_SIZE                        -51
   16795 #define CLK_EVENT_ALLOCATION_FAILURE                -100
   16796 #define CLK_OUT_OF_RESOURCES                        -5
   16797 
   16798 #define CLK_NULL_QUEUE                              0
   16799 #define CLK_NULL_EVENT (__builtin_astype(((void*)(__SIZE_MAX__)), clk_event_t))
   16800 
   16801 // execution model related definitions
   16802 #define CLK_ENQUEUE_FLAGS_NO_WAIT                   0x0
   16803 #define CLK_ENQUEUE_FLAGS_WAIT_KERNEL               0x1
   16804 #define CLK_ENQUEUE_FLAGS_WAIT_WORK_GROUP           0x2
   16805 
   16806 typedef int kernel_enqueue_flags_t;
   16807 typedef int clk_profiling_info;
   16808 
   16809 // Profiling info name (see capture_event_profiling_info)
   16810 #define CLK_PROFILING_COMMAND_EXEC_TIME 0x1
   16811 
   16812 #define MAX_WORK_DIM        3
   16813 
   16814 // ToDo: Remove definition of ndrange_t in Clang as an opaque type and add back
   16815 // the following ndrange_t definition.
   16816 #if 0
   16817 typedef struct {
   16818     unsigned int workDimension;
   16819     size_t globalWorkOffset[MAX_WORK_DIM];
   16820     size_t globalWorkSize[MAX_WORK_DIM];
   16821     size_t localWorkSize[MAX_WORK_DIM];
   16822 } ndrange_t;
   16823 #endif
   16824 
   16825 ndrange_t __ovld ndrange_1D(size_t);
   16826 ndrange_t __ovld ndrange_1D(size_t, size_t);
   16827 ndrange_t __ovld ndrange_1D(size_t, size_t, size_t);
   16828 
   16829 ndrange_t __ovld ndrange_2D(const size_t[2]);
   16830 ndrange_t __ovld ndrange_2D(const size_t[2], const size_t[2]);
   16831 ndrange_t __ovld ndrange_2D(const size_t[2], const size_t[2], const size_t[2]);
   16832 
   16833 ndrange_t __ovld ndrange_3D(const size_t[3]);
   16834 ndrange_t __ovld ndrange_3D(const size_t[3], const size_t[3]);
   16835 ndrange_t __ovld ndrange_3D(const size_t[3], const size_t[3], const size_t[3]);
   16836 
   16837 int __ovld enqueue_marker(queue_t, uint, const __private clk_event_t*, __private clk_event_t*);
   16838 
   16839 void __ovld retain_event(clk_event_t);
   16840 
   16841 void __ovld release_event(clk_event_t);
   16842 
   16843 clk_event_t create_user_event(void);
   16844 
   16845 void __ovld set_user_event_status(clk_event_t e, int state);
   16846 
   16847 bool is_valid_event (clk_event_t event);
   16848 
   16849 void __ovld capture_event_profiling_info(clk_event_t, clk_profiling_info, __global void* value);
   16850 
   16851 queue_t __ovld get_default_queue(void);
   16852 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16853 
   16854 // OpenCL Extension v2.0 s9.17 - Sub-groups
   16855 
   16856 #if defined(cl_intel_subgroups) || defined(cl_khr_subgroups)
   16857 // Shared Sub Group Functions
   16858 uint    __ovld get_sub_group_size(void);
   16859 uint    __ovld get_max_sub_group_size(void);
   16860 uint    __ovld get_num_sub_groups(void);
   16861 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16862 uint    __ovld get_enqueued_num_sub_groups(void);
   16863 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16864 uint    __ovld get_sub_group_id(void);
   16865 uint    __ovld get_sub_group_local_id(void);
   16866 
   16867 void    __ovld sub_group_barrier(cl_mem_fence_flags flags);
   16868 #if __OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16869 void    __ovld sub_group_barrier(cl_mem_fence_flags flags, memory_scope scope);
   16870 #endif //__OPENCL_C_VERSION__ >= CL_VERSION_2_0
   16871 
   16872 int     __ovld sub_group_all(int predicate);
   16873 int     __ovld sub_group_any(int predicate);
   16874 
   16875 int     __ovld sub_group_broadcast(int   x, uint sub_group_local_id);
   16876 uint    __ovld sub_group_broadcast(uint  x, uint sub_group_local_id);
   16877 long    __ovld sub_group_broadcast(long  x, uint sub_group_local_id);
   16878 ulong   __ovld sub_group_broadcast(ulong x, uint sub_group_local_id);
   16879 float   __ovld sub_group_broadcast(float x, uint sub_group_local_id);
   16880 
   16881 int     __ovld sub_group_reduce_add(int   x);
   16882 uint    __ovld sub_group_reduce_add(uint  x);
   16883 long    __ovld sub_group_reduce_add(long  x);
   16884 ulong   __ovld sub_group_reduce_add(ulong x);
   16885 float   __ovld sub_group_reduce_add(float x);
   16886 int     __ovld sub_group_reduce_min(int   x);
   16887 uint    __ovld sub_group_reduce_min(uint  x);
   16888 long    __ovld sub_group_reduce_min(long  x);
   16889 ulong   __ovld sub_group_reduce_min(ulong x);
   16890 float   __ovld sub_group_reduce_min(float x);
   16891 int     __ovld sub_group_reduce_max(int   x);
   16892 uint    __ovld sub_group_reduce_max(uint  x);
   16893 long    __ovld sub_group_reduce_max(long  x);
   16894 ulong   __ovld sub_group_reduce_max(ulong x);
   16895 float   __ovld sub_group_reduce_max(float x);
   16896 
   16897 int     __ovld sub_group_scan_exclusive_add(int   x);
   16898 uint    __ovld sub_group_scan_exclusive_add(uint  x);
   16899 long    __ovld sub_group_scan_exclusive_add(long  x);
   16900 ulong   __ovld sub_group_scan_exclusive_add(ulong x);
   16901 float   __ovld sub_group_scan_exclusive_add(float x);
   16902 int     __ovld sub_group_scan_exclusive_min(int   x);
   16903 uint    __ovld sub_group_scan_exclusive_min(uint  x);
   16904 long    __ovld sub_group_scan_exclusive_min(long  x);
   16905 ulong   __ovld sub_group_scan_exclusive_min(ulong x);
   16906 float   __ovld sub_group_scan_exclusive_min(float x);
   16907 int     __ovld sub_group_scan_exclusive_max(int   x);
   16908 uint    __ovld sub_group_scan_exclusive_max(uint  x);
   16909 long    __ovld sub_group_scan_exclusive_max(long  x);
   16910 ulong   __ovld sub_group_scan_exclusive_max(ulong x);
   16911 float   __ovld sub_group_scan_exclusive_max(float x);
   16912 
   16913 int     __ovld sub_group_scan_inclusive_add(int   x);
   16914 uint    __ovld sub_group_scan_inclusive_add(uint  x);
   16915 long    __ovld sub_group_scan_inclusive_add(long  x);
   16916 ulong   __ovld sub_group_scan_inclusive_add(ulong x);
   16917 float   __ovld sub_group_scan_inclusive_add(float x);
   16918 int     __ovld sub_group_scan_inclusive_min(int   x);
   16919 uint    __ovld sub_group_scan_inclusive_min(uint  x);
   16920 long    __ovld sub_group_scan_inclusive_min(long  x);
   16921 ulong   __ovld sub_group_scan_inclusive_min(ulong x);
   16922 float   __ovld sub_group_scan_inclusive_min(float x);
   16923 int     __ovld sub_group_scan_inclusive_max(int   x);
   16924 uint    __ovld sub_group_scan_inclusive_max(uint  x);
   16925 long    __ovld sub_group_scan_inclusive_max(long  x);
   16926 ulong   __ovld sub_group_scan_inclusive_max(ulong x);
   16927 float   __ovld sub_group_scan_inclusive_max(float x);
   16928 
   16929 #ifdef cl_khr_fp16
   16930 half    __ovld sub_group_broadcast(half x, uint sub_group_local_id);
   16931 half    __ovld sub_group_reduce_add(half x);
   16932 half    __ovld sub_group_reduce_min(half x);
   16933 half    __ovld sub_group_reduce_max(half x);
   16934 half    __ovld sub_group_scan_exclusive_add(half x);
   16935 half    __ovld sub_group_scan_exclusive_min(half x);
   16936 half    __ovld sub_group_scan_exclusive_max(half x);
   16937 half    __ovld sub_group_scan_inclusive_add(half x);
   16938 half    __ovld sub_group_scan_inclusive_min(half x);
   16939 half    __ovld sub_group_scan_inclusive_max(half x);
   16940 #endif //cl_khr_fp16
   16941 
   16942 #ifdef cl_khr_fp64
   16943 double  __ovld sub_group_broadcast(double x, uint sub_group_local_id);
   16944 double  __ovld sub_group_reduce_add(double x);
   16945 double  __ovld sub_group_reduce_min(double x);
   16946 double  __ovld sub_group_reduce_max(double x);
   16947 double  __ovld sub_group_scan_exclusive_add(double x);
   16948 double  __ovld sub_group_scan_exclusive_min(double x);
   16949 double  __ovld sub_group_scan_exclusive_max(double x);
   16950 double  __ovld sub_group_scan_inclusive_add(double x);
   16951 double  __ovld sub_group_scan_inclusive_min(double x);
   16952 double  __ovld sub_group_scan_inclusive_max(double x);
   16953 #endif //cl_khr_fp64
   16954 
   16955 #endif //cl_khr_subgroups cl_intel_subgroups
   16956 
   16957 // Disable any extensions we may have enabled previously.
   16958 #pragma OPENCL EXTENSION all : disable
   16959 
   16960 #undef __cnfn
   16961 #undef __ovld
   16962 #endif //_OPENCL_H_
   16963